From e011c4d3b8676ef9b715be024708ded329899222 Mon Sep 17 00:00:00 2001 From: kdevo Date: Thu, 11 Jun 2020 16:42:46 +0200 Subject: [PATCH 01/13] :pencil: Extract to MOTIVATION --- MOTIVATION.md | 63 +++++++++++++++++++++++++++++++++++++++++++++ README.md | 71 +++------------------------------------------------ 2 files changed, 66 insertions(+), 68 deletions(-) create mode 100644 MOTIVATION.md diff --git a/MOTIVATION.md b/MOTIVATION.md new file mode 100644 index 0000000..7e7bee9 --- /dev/null +++ b/MOTIVATION.md @@ -0,0 +1,63 @@ +# Why fork it? + +Well, first I personally did not need the blog features of the theme, so I removed them. +Though the original theme is already performance-tuned, I decided to improve it further which enabled me to get a PageSpeed score [of 100 *on desktop* and 99~100 *on mobile*](https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fkdevo.github.io). After optimizing, I added some other functionality in a modular way [as outlined below](#the-taste-features). + +Finally, I decided to publish it so that others with a similar use-case might profit from it, too. + +## The "Taste" (Features) + +> :warning: Please note: In contrary to [Osprey](https://github.com/tomanistor/osprey) it does **not** have the built-in minimalistic blog! This is not the aim of the project. + +### :low_brightness: Light: **Removed** features + +The following features of the original theme have been **removed** in order to make it more lightweight: + +- **All** Blog features; use the [original Osprey](https://github.com/tomanistor/osprey) for this feature +- [Disqus](https://disqus.com) comments (not needed anymore) +- highlight.js (not needed anymore) +- [Formspree](https://formspree.io) AJAX contact form (with Formspree Gold) +- Hamburger and close images (in favor of Fontawesome icons, see below) + +### :sparkles: Delight: **Added** or **changed** features + +The following theme aspects have been changed delightfully: + +#### Gallery +* Introducing gallery item types! + * `github`: Fetch GitHub repo data with just a few lines config + * `normal`: The usual type that you're already familiar with if coming from [Osprey](https://github.com/tomanistor/osprey) +* Want to reference an item elsewhere? Anchor links to gallery items will open the respective modal automatically +* Use custom hugofied version of [Termynal](https://github.com/ines/termynal/) for terminal animations within gallery modals + +#### General +* Added a *small* set of (mostly social media) Fontawesome icons [using Fontello](http://fontello.com/) +* Vanilla JS scrollspy to highlight the active header links/sections +* Add "disabled JS message" since the page does not properly work without it +* Blazing fast loading speeds + * Removed menu *open* and *close* images (and instead use icons) + * Changed font to *Roboto Slab* (headers) and *Roboto* (body) resulting in a smaller font size and wider availability + * Minified and bundled JavaScript to reduce network requests + * Updated lazysizes to [v5.1.2](https://github.com/aFarkas/lazysizes/releases/tag/5.1.2) (current latest stable), about 15% smaller +* GPDR: No external requests to 3rd parties per default (Roboto fonts included) +* SEO: Added [structured data](https://developers.google.com/search/docs/guides/intro-structured-data) support + +#### Contact form +* [Basin](https://usebasin.com/) AJAX contact form (free) + * Added spambot protection [using the Basin honeypot feature](https://usebasin.com/docs/features/spam-filtering) +* Added optional *request type* select element +* Added status messaged when sending + +#### Styling +* Navbar shadow is only shown when navbar docks to prevent issues on mobile devices +* Rounded-up edges for modals (and use alternative close icon/position) +* Smooth scrolling via CSS-only +* Use buttons instead of links in modals + +#### Development/Setup +* [SASS](http://sass-lang.com/) styling Compiled natively to CSS, then minified and fingerprinted using Hugo Pipes +* No Cachebusting hash setup needed anymore +* Refactored theme + * Use more partials + * Change existing configuration variables, introduce new ones + * Make it easier to maintain \ No newline at end of file diff --git a/README.md b/README.md index 47a1b57..54ce308 100644 --- a/README.md +++ b/README.md @@ -5,78 +5,13 @@ Osprey **De**light is a sugar-free version of the [awesome Osprey theme](https://github.com/tomanistor/osprey) which has been created by [Toma Nistor](https://tomanistor.com/) for [Hugo](https://gohugo.io/), a fast static site generator. It's a blazingly fast minimalistic single page portfolio perfectly suited to show off your awesome work! :zap: -> It tastes a bit different than the original (hence the *light* in the name) but also adds great new functionality - hopefully to your ***delight***. - -## Why? -Well, first I personally did not need the blog features of the theme, so I removed them. -Though the original theme is already performance-tuned, I decided to improve it further which enabled me to get a PageSpeed score [of 100 *on desktop* and 99~100 *on mobile*](https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fkdevo.github.io). After optimizing, I added some other functionality in a modular way [as outlined below](#the-taste-features). - -Finally, I decided to publish it so that others with a similar use-case might profit from it, too. - -## The "Taste" (Features) - -> :warning: Please note: In contrary to [Osprey](https://github.com/tomanistor/osprey) it does **not** have the built-in minimalistic blog! This is not the aim of the project. - -### :low_brightness: Light: **Removed** features - -The following features of the original theme have been **removed** in order to make it more lightweight: - -- **All** Blog features; use the [original Osprey](https://github.com/tomanistor/osprey) for this feature -- [Disqus](https://disqus.com) comments (not needed anymore) -- highlight.js (not needed anymore) -- [Formspree](https://formspree.io) AJAX contact form (with Formspree Gold) -- Hamburger and close images (in favor of Fontawesome icons, see below) - -### :sparkles: Delight: **Added** or **changed** features - -The following theme aspects have been changed delightfully: - -#### Gallery -* Introducing gallery item types! - * `github`: Fetch GitHub repo data with just a few lines config - * `normal`: The usual type that you're already familiar with if coming from [Osprey](https://github.com/tomanistor/osprey) -* Want to reference an item elsewhere? Anchor links to gallery items will open the respective modal automatically -* Use custom hugofied version of [Termynal](https://github.com/ines/termynal/) for terminal animations within gallery modals - -#### General -* Added a *small* set of (mostly social media) Fontawesome icons [using Fontello](http://fontello.com/) -* Vanilla JS scrollspy to highlight the active header links/sections -* Add "disabled JS message" since the page does not properly work without it -* Blazing fast loading speeds - * Removed menu *open* and *close* images (and instead use icons) - * Changed font to *Roboto Slab* (headers) and *Roboto* (body) resulting in a smaller font size and wider availability - * Minified and bundled JavaScript to reduce network requests - * Updated lazysizes to [v5.1.2](https://github.com/aFarkas/lazysizes/releases/tag/5.1.2) (current latest stable), about 15% smaller -* GPDR: No external requests to 3rd parties per default (Roboto fonts included) -* SEO: Added [structured data](https://developers.google.com/search/docs/guides/intro-structured-data) support - -#### Contact form -* [Basin](https://usebasin.com/) AJAX contact form (free) - * Added spambot protection [using the Basin honeypot feature](https://usebasin.com/docs/features/spam-filtering) -* Added optional *request type* select element -* Added status messaged when sending - -#### Styling -* Navbar shadow is only shown when navbar docks to prevent issues on mobile devices -* Rounded-up edges for modals (and use alternative close icon/position) -* Smooth scrolling via CSS-only -* Use buttons instead of links in modals - -#### Development/Setup -* [SASS](http://sass-lang.com/) styling Compiled natively to CSS, then minified and fingerprinted using Hugo Pipes -* No Cachebusting hash setup needed anymore -* Refactored theme - * Use more partials - * Change existing configuration variables, introduce new ones - * Make it easier to maintain +> It tastes a bit different than the original (hence the *light* as part of the name) but also adds great new functionality - hopefully to your ***delight***. Read more about the motivation and differences of the fork [here](./MOTIVATION.md) ## :computer: Screenshot -Yes, the screenshot looks pretty familiar, doesn't it? - ![Screenshot](https://raw.githubusercontent.com/kdevo/osprey-delight/master/images/tn.png) -To taste the differences, it's best to simply try Osprey Delight out! +> Yes, the screenshot looks pretty familiar, doesn't it? To taste the differences, it's best to simply try Osprey Delight out! ## :zap: Quickstart @@ -122,7 +57,7 @@ This is very helpful for the first time since you will get a fully documented fi Optionally, Osprey Delight makes use of the [Hugo's data folder](https://gohugo.io/templates/data-templates/#the-data-folder). Currently, the following files can be used to configure the theme in more detail: -- **terminal.json**: Configure several parameters for Termynal (see **config.toml** above for an explanation) +- **terminal.json**: Configure several parameters for optional Termynal (see **config.toml** for an explanation) ### Contact Form: Basin From 87be0ac89ded9333f32e31341704e20cf6a249a6 Mon Sep 17 00:00:00 2001 From: kdevo Date: Thu, 11 Jun 2020 16:43:37 +0200 Subject: [PATCH 02/13] :lipstick: Imrpove footer icons --- layouts/partials/footer.html | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 3995e44..8262a66 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -2,10 +2,9 @@ {{ range $name, $url := .Site.Params.Social -}}
-
 {{ i18n $name }}
+
{{- end }} - {{ if (.Site.Params.copyright) -}}
@@ -14,7 +13,7 @@ {{ end }} {{ if or (.Site.Params.credit) (eq (isset .Site.Params "credit") false) -}}
- Theme: osprey-delight (forked from osprey by Toma Nistor). + Theme: osprey-delight (forked from osprey).
{{- end }}
From 12fab2e543e92eb2d1c3209ef3c278a5b401b10e Mon Sep 17 00:00:00 2001 From: kdevo Date: Thu, 11 Jun 2020 16:52:09 +0200 Subject: [PATCH 03/13] :bug: Fix invalid GitHub stargazer URL --- layouts/partials/modals.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/partials/modals.html b/layouts/partials/modals.html index 8969a7b..3154200 100644 --- a/layouts/partials/modals.html +++ b/layouts/partials/modals.html @@ -90,7 +90,7 @@

{{ .Params.title }}

{{ .language }}{{ with ($scratch.Get "repo-lang-main") }}{{ if lt . 100.0 }} ({{ . }}%) {{ end }}{{ end }} {{ with .license }}{{ with (getJSON .url) }} • {{ .spdx_id }} {{ end }} {{ end }} - {{ if gt .stargazers_count 0 }} • {{ .stargazers_count }} stars {{ end }} + {{ if gt .stargazers_count 0 }} • {{ .stargazers_count }} stars {{ end }} {{ if gt .forks_count 0 }} • {{ .forks_count }} forks {{ end }} • {{ .open_issues_count }} open issues
{{ end }}{{ end }} From cf20d19326420ab5b10cff5d288f86096fd75f5b Mon Sep 17 00:00:00 2001 From: kdevo Date: Thu, 11 Jun 2020 21:33:31 +0200 Subject: [PATCH 04/13] :lipstick: Enlarge icons in all viewports --- assets/sass/main.scss | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/assets/sass/main.scss b/assets/sass/main.scss index bc98abd..21357ae 100644 --- a/assets/sass/main.scss +++ b/assets/sass/main.scss @@ -69,8 +69,8 @@ html { footer { .icon { - padding-top: 0.5em; - font-size: 1.25em; + padding: 0.5em; + font-size: 2em; } } @@ -90,13 +90,6 @@ footer { } } - footer { - .icon { - padding: 0.5em; - font-size: 2em; - } - } - .mobile-hidden { visibility: hidden; } From 7e0228cfa48d9d2b0762a67bc46ebe003bb231cb Mon Sep 17 00:00:00 2001 From: kdevo Date: Thu, 11 Jun 2020 21:34:52 +0200 Subject: [PATCH 05/13] :recycle: Refactor to gallery-box partial --- layouts/partials/gallery-box.html | 10 ++++++++++ layouts/partials/gallery.html | 24 ++++-------------------- 2 files changed, 14 insertions(+), 20 deletions(-) create mode 100644 layouts/partials/gallery-box.html diff --git a/layouts/partials/gallery-box.html b/layouts/partials/gallery-box.html new file mode 100644 index 0000000..b6326b8 --- /dev/null +++ b/layouts/partials/gallery-box.html @@ -0,0 +1,10 @@ + +
+ {{ partial "gallery-link.html" . }} +

{{ .Title }} + {{ with .Params.subtitle }} +
+ {{ . }} + {{- end }} +

+
\ No newline at end of file diff --git a/layouts/partials/gallery.html b/layouts/partials/gallery.html index d431e40..c775f72 100644 --- a/layouts/partials/gallery.html +++ b/layouts/partials/gallery.html @@ -19,11 +19,7 @@ {{ if eq $galleryTotal 1 }} {{ range first 3 $galleryReverse }} {{ end }} {{ end }} @@ -32,11 +28,7 @@

{{ .Title }}

{{ if gt $galleryTotal 2 }} {{ range first 3 $galleryReverse }} {{ end }} {{ end }} @@ -53,11 +45,7 @@

{{ .Title }}

{{- else }} col-lg-3 {{- end }} {{- end }}" onclick {{ if .Params.color }}style="background-color:{{ .Params.color }}"{{ end }}> - -
- {{ partial "gallery-link.html" . }} -

{{ .Title }}

-
+ {{ partial "gallery-box.html" . }} {{ end }} @@ -78,11 +66,7 @@

{{ .Title }}

{{- end }} {{- end }} {{- end }}" onclick {{ if .Params.color }}style="background-color:{{ .Params.color }}"{{ end }}> - -
- {{ partial "gallery-link.html" . }} -

{{ .Title }}

-
+ {{ partial "gallery-box.html" . }} {{ end }} From 84f4bc15e9009fa53285b5f204a8ba6686176e1c Mon Sep 17 00:00:00 2001 From: kdevo Date: Thu, 11 Jun 2020 21:35:03 +0200 Subject: [PATCH 06/13] :fire: Cleanup --- static/images/osprey-delight-logo copy.png | Bin 19840 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 static/images/osprey-delight-logo copy.png diff --git a/static/images/osprey-delight-logo copy.png b/static/images/osprey-delight-logo copy.png deleted file mode 100644 index 07606f0abf7c315fb865304770a174bb567fed6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19840 zcmXt=byQSc7se^+7`j^;>5`BXaOeT)?(R-$kP<2BE@|m*P`Zas=^W|)?)%3#YZ1eO zfpzaWdq4a6J%?yjWjQQ#GITgNIIK_dG7va8cpBhy3shv_{i(@^W8edlo75)_RN&!{ zY90kVM{}0faf5?H&;IWXo-sx22KXYW`$uhebtg-AFB4Y_I4>_R4jV^1H!~Aw3l1k& ztIRV|GB`LIxKA>Y8s1qaoj%DHS{{4%B3}NNAeiA8sk$uK8jg>|jFDbKASn)otkz)2 zn7Fex|HSarP@wZ?#psejP)qwyqS24-47DqW0vu*xb%Vy-x;EyqZ;0@s2)^_1mc$+o zKJ9sxx;-TL88Pz`ro+}_erwQOR;93M?X}fd2txU|#i;Q&^aL{PakOR?wAY9Q4H6TqO zQs4hVuB%BgRxm&49u4lX0?^EiR zi_x&;TY8zgo$Ml+Ptk@Iv=#hMmWaR~l&`ZsSPo6>!ueuJq76fOn4*D6;W|B${8E+B zP9?|?!10%5zGhH~athps20C=Ev?7i@J=Cn&Og@SP_}n+H4>2ltMnLTm^2m`bdBP3Z zjdw3e3eAM@ck*mdm5wc1K;ZBoePRbIlqDyxaC`?1cXRw$kKmT=_RMexTmDQ*mUj#Ssl&5&^F$`3L@=wlv zRe(>*>?uYN`x?n>25mG9Rmn2BNzbN1t?VNcjn$agNqbH{v2ejQ8p zFQReHpMn?lH2}8OrQT+8pz2WteQvD)N&RSgk>ll<)BCzYZH0$ zglCV_89CEi@6%PrXa>=7{{vzMT+ny6alD4JRoY!KWl6h_Z41B!*L{5fX>haq19KY_Vz? zsyizA2TloEhlh4zj`v<5b$=}V8HY&*uPrMcQd7UMV2J!AT~q49A}cGq-SZ0P{`j=q zbx!_BmRDY0PK@}9=Kb!Q=qdq@3m57$(*`duZ;B-$Sz;#rAksN~+_-A(Irio>USyKaW^Qa?{QHNuWC!Gw3pZ{HULNr~F8+|1NtPF-DHVWdE)5go<8qIsgi7X=HVNM6(d7kJ}G zW~N^jRqWK?zvh*|I{FIQ4h5Hw`g&`@lW`$GX|Y&v2?*SjDkvz7+X=k{gQjOB1(i(8 z`3h7esF@3JaCWe8R^Ax|)icU$;8@h3KNH_MLJ=F{lnaCFTBD)Xc$Mt^Gk8_DDH;30 z5bKg?(wIbMqG?&#I>@IivtiWlpTer?!wznS>`=K2ik>D}XrIyoE<%GYt~Z{>L%2LM7%h;tpj(JIukO|ot>TS!Qm_E)Up+!wsHHavYA@=LqEa$%?0() z&`_Xz0|%YC(?``~xrXoOvJB>QMO8UtrYVSAs&xRamuCJKFMG^F z?J#>H(gb{KGTj3U)J+RW)T=i%6z8R{9NJM*Ut9!{hkoQtnbOj9X>PWzuHF(LzpKUo z=Vvl{@_b~^?Crh||Ix}$m(3_&>`d=esm0792@cUzP!NL+IQiJw)%RE({$1{Vm`56C zJmNBp2bIxCB(wd9iD@Ax7qYAHz7{sD56AQmo8mI#uGGhNGlp~WCF9LxI5?LhLxx1% zh#i<(dx%SQC`eF4@Px26%aPdF8azFn(^6qsng=$YqS3LIkuF>}xv@#zva_;cS&G+} zPXnc*m_#QZk@YXWPmGN%=IlTJ1Z^|542=dW0I$!lbeY)`bZ9wTS67FtH2Wg9RwI`{ zhA$QM>il#Elbg&IfvP(p1W>lLEnOcV<)JefRc#}A}6WFXALkSNbB z6NL?My8Zi0P1!);mgA4-=781MAk(QyAJz3Qqq;DYF}hbWRtmmCbs#+>%$=;COLgi| zfs=t1b&8Gf$(J&~=S^Klm{xhMAx8o$%j+}H-U_WIa}16SyfZvMI_=OkG+zcZ$RaM; z0*k6(Z{H@>tDHacE+>)(vtVTjQ#MFklOvLZYKW3tT8Aj2x^S7hifT)DVP|1vggA6< z&1)d%1AR!g18d62x|r%?uDT*BtbRCw`gOo0SBZ8Y0iN@~wONAYdh6!McoOcuOPoE- zd!OI1Ngtc+f(;)ZpIT2_Tl>_Vsh=y5;4ZO3u&Vk3=m-^Gy1SMU4Gwk}|CrxdQ0Deb z>|aDipqg@n+=EU8ovd8DY4Uzeyd6Mg6Ckm%`uVltbLAX$kPO3 zhJLJ=pMnZrG&Q4YYC3y)USudCaAKApM0}#l>?a|O*fJUG`Vb-oztM!-w%(ZL#*h^_ z>E~(qG?Nzi$A)iR!z*iyFm{5Ww9xQpavSc!5?owd++Z*@qAMI~Fe6`BexW}#3+LmS zuP*pr^^w|dNOrbCkfk`sZgNYCVwUezsfXI5r4zX$Y2WeCgT=jgP9(T{i**WPIVavx zN4u4xP7#@#FIMnDW4~0__h3w%wL zr+F76fkR5IW%DUNLqx>r!apdOt9q6NuSeudP|+|*lAS0Mz355J0O~=X(<9FiZSm^> z;U^m#U&Z`$2N>jbf-`qxc*XpsV&C)Vy6=m7k zA>FO_{a))n`@}WL+<&@{_*=p$dVAn_(DSGma|)8BDl~ER^zK$x4r2CUUQI5x{N^B< zun3d%#Y4>HMH0^->VJ#eA^O-*zG-?+h29uL9xkqXr5|F>`Yh6+h|C*u4Y~&_D?+t_ zv%hX@h}xskdlx&;KR3d&K7{OQhF?QCr2d7=E_K|55Tk{c_s5^NlKB$GI*E_3m9U+h zlFo0~Ig~66Be&7-IJTYaw@=SDt1BZU-G`Sj3WjG$P46jQuK0#};8>F+8SuQ@sJ`R- zwIggfPd>&)d!@ssi4AE+~v{_aY8n+dS0QU{&9kxFZ;9FGm2FDil9Z9YOtyG}Rz;n91zyY9 zI)&+BRU>Rn<(HW}+IfgWY3gvIgqR1|A>2?d;qI z1R%kLe3SWwjpu$~Ght^<%87p^P1u<`O0FR6kVRx*kb-iv$H)*21Dk-)sg;y829Q;( z{~CO6T>Yuls_+_ge~ga)9=sIVHORPrSQmp69+5(pRPeQf zJp#wqi%27iLBU*)7n3sOv*v2Ia8Qu%!_{F-`KjwLIzY@3I%XPwJ@T9B`=WzEGk74JpVErL`@@h;>VVY|g;zoNNHX zaup0eut=h5M7`bv7bxm(-+uKAvv@9em-h1V(nM1g%-7!&%M?`%xf?F6<4wPyGOrg( z^|0ntxep{!5e}kq@*_`8y%@0|8z&0hKV!iA{`?HSx~{U7^1pReJiw@HXqd~$$avtp zz;6ic%ifCg-{=mnWiQ~(5-mq#3Bsk#IrYW}mNXK)b{=o%-o{0WOmdw?yG;4T6-+3<~)dPRNjd(!u&InBu z%VZ|sBA>+(#J=DQFT$w^!ZqeFZSe2}YV=?qc-5N(LV# z|K9wY_z*xAWEV4ZBk*hK3B^Q*`hu0P;|7l{Q6gdZlf}cHr(HWctFxv7-`n2 zLq-a^x1l$dBK|C2ojMC%I_ArOjKNyqqx#d@h6hgwLKnP0xwl8@EMA6ydB$Es=c$8} z-$B>o8HVuEJ_90RQZOiuS{gO1+Tfv1Ln^W8|L|$9AI%%^{oEGp+v#T%b^a=WbXT;)ax$T#? zL9er5sQ5TMv`a~TZp0#FTq)nv6T9Ok={!)7A1RO{hS=x*cSNeUv>n(r&;0$XtE+u; zb8}W-(p)^L6f&X@Ut)Eb8E ztPH(=yj>~YXNUo9pW8Mr3kt6Vy12M_+S(rN^spU@YSJe|wBGSDh26#O`%sF>U;92! zoAcazB{I$Z>FwVLk)&hYf(;}&dKgo-X(F|d8vHbA%6FX!4! zLx=Mxf8{)3)-~4Z4B7ggC5gg&RDAq0%S-wD_mhN0$+@r|YY5VE%9TKQ8%a?Y{r2RBrTwENFPOMN2ar5`3LbobK7j;s~`-qwqXiGRp9*kv9jyK ziF?KnmSEnDjr(jY4@36OTwjRa{?t^VpScVR?zOP16^flrx^bsWg?@=<)fx8}kA4Y3 z5#3I&;V{O34b{@@?CfJIN=j=rhYx;0m8x|Z)5mUCm5HOKC!vba#$4k<H7vX?EX*nJ9u^|!nN(MpM>&(UgjTJR- zzHfE8Z{rkP_g7bn;op7tTx8@%J{DH-sRnwt_Q2%s@(9Xfmp{5;R#Tu($ zn*g^8&c!9k)CE;LhE?4--TLV7y}R0r8-SjzNE6w+PUUY~I2a*8r`5O;l!DUt{(K9_ z*xOV+F4y-B8f59|^v?u6SO_x3A^hShZf2oFLyU&Sikpv}{^9L+19C75 zXgK0;XHO&CSpn{dNLWcJ7lb9mK2>5Cdpxcc^e@IpBd{vIxlVbr?Ke%7d@xb8RIqjz zj*~53RX25_av>fXwuM6qLOIO^ZiO8%8a8-(S=&48%>R^g*OW^b&|Ci(ruept13#Mj zR@kBsgS(*Dz$;tyeq5bN^_Z7!wSF%scncA5R6RL3XF?0@H3$8A-TkeHlrBd_RM&qMn z^cD@C-iYMq!z`rtMnpu4meH#`Ayrr@hG{{h29R!>yr$A7@Ux8i$~7-^tGJ@74-e|F z(>y2PyY5B0)!Uxwsqe|*Yb44iqN2e%;PU3Vn85`2{o9qIz?UZ#Yp{|B#Lg3b!Y-q! zJ5Mc)nk0_{Y;M0?+u7-r| zfazOT9}>!5G7^ca+nwv%ok7$5-p9aC^SPod_rK*{2v{~y25v^2MhF+RhpXm|9kIRa zFq)@PcWg`~&(?q$KM4Z^!;P3i2{Dl1$Dt`Qc(x(Z04k>H0W&IwU!Ij-NGNze^r1!K zOZHJO{OA?=hP-hG$)C4$Ngo-u^R?&0ah`BRpRQ~C-!xBS+PsFrk^%pfpGS&|8`uU3 z;J0cp63HTi!VapU&=uL?+v%nzuDv}QN5@S^dk|k{Hq6cUDDOl_r8N8{Va8#NQlwj^wuy+N4seV0^1-GnJL{nkQrZE%FRu$P zHRL=t}p|vL7&^h2LDBb*RHbXtHuN z-|MUs*4%ch*D(a5j{wtcjPRXX*D+_Jv47uo>EQ1(%oRKf9k=3>w|=223dth~wwRz(76yY~)XLuPY+4%4;+gGfvrq@TnUTJpSbtg`6{dP`W zr3&t@>y=(A%JJjNgkI{kR<`|J2fu{FdMIg3cyE6&{M>I;P2o6kp(wi*Zv*6S9>r8? z7qub8)?YNx=dF#aYIYo)cGAFQ*Vo_PoU}2sK*OqoPLHxoZlgN42^Z7ZCG)A%!L*n= zQ$}}rhQq9BYRAWSnVG7(IH3nsM8VXaom>v&A}LbjR1t}|fL+sd{d-G=ndj-}(g14; zs;8%mg5B?w&#SW8551feN%;60g%$^wn6_RfTWZB~UI$VP8Z6gR8@EP^%rd2Dw1N4@ z!6^@a)m6miakaL5EWU)5gqI&_W7c=)%6v$0>&LQgrC1bL6bMY_z+qTy_q&G_&j1tl zwqCf!ApDhPjAs2Odk;b)BJ0y8=PaHoO$@kMKCu<9cx8NH^iA~P-Wuw%=^OTg<~5>! zZt+}EXB$D{juqjUA{=33x(37YrJu~Di)8^UgNa3J%AITx4vy=jvpry{_`J9}ps$_R zs8`a~9=c)svA}|^(hF?#Mnz#nwH)>cS6^T625=4|#*=O<&lWvN@cmGFdV05)!EFm@ zJH>!(|2yO;DckX>gIgj!7+ymlMu1O-Jt?1`7k}Zs7|`LZWZqVtG5?MnFbv*xByAFa zL7~%=oLgSZnjW;(vSXtY>K7XIiP4RfZUjil|)8#rA6)khWF899+c zfpno+JQpwD&yjIqqD}>l8TIQXf&WXn+CO-Vf zmAFjw{wZ@8BtPiT4pgK-*4$+{5RG!OvriYLjBb&CAAED8ML}sd)MYMa7fPOhCQ816 z*R7JR)swZi&*S8nT3s*Ebdm`uMrt!LwW|Mth&b@@@c#B{R*uj6E*yI7p-~aeo-&o| zi(UgMrlROs@_Af=!HYp`!Yca1Jokwt=^-o>z05?l5fRQq!)oOOGRWt2#RJM|*bu{H zdDRs3-et0(6NG=6E5yOfla=GHCw+PeT=k}Sd7AX4=H(FvHe37%*3&NG)9I;I!?#0;@F}k9 zPfVdt10;q<;>$g71=4obnaEj-4q@sdo?H`s{+NL{g6E4#ocMWQ&5eZz}6jz4iOKRP80NJT4 zEq$?e){Z2O0S`us+HC&#tpGNqqt04-ZY{X?MHFb)Z*d}FE zqqzyDJIRPz{d9TB_m0ipz<@cAQiO<+yQEaDj-<;XzxU(EAq3Or4Zrgmci}MmM%1R} zPl30j?psm+$U?k`0aMn5xYV!GX zbDgiEOeZJDt8d%6YfKe# zj1A}r&J?C9;!42m*VrUm+umOK-FrTt;1{BbovZ72+kAPh5AliPpsVYxL*L(gonwt! z--xtqe~_|}%TLn7=G28!(ARGSQsUyiu}+;C|0Ix#ib(z!+PvyI8q`*6w4g?xDDPim zSo2yB+O{Rhqui`7Rn9(o7&25xOs1k5q9Ey+Fn4BTqRo|C6lk!Zz=r)g6cItHj?vbY z66p@pVo@)L!t~w|m{g^tgKn?q+rqxzqE@3ujZ&W#Xe8D>CB}j?@egb%Ww#ZrM zts3n>Dem@pwx!#BNn+yoyzPI74NS5yOBS3Nk=yY{Tgghb1W+oRY4fzK6ARYOA1-@4u! zr<<)`bCf}+`KoR;<-!beoGHpQK%=A97#Q9uteLw82v97s#plp%wBk9+%*;$i=XuPj z!`afc!^14Mn!3UjFf%s4rSl7d?nAbRN)HdOdA)et2x4`4xZ3&e z3g`ToWn2EdYp@wd{qU_5b~T%kI7+wKnqbJk-P-cb(zw^dii;yDBmDS`0v=NIAFzKm&!+>YCB6SOD z#B`^#e*0D7u5l&%&e_>^O--RD)cLq^YBu(l9f~AsJ~8?mHCD>S;8WEf+1UZ+fVrdB zgG0S#qSuqQx3}j@w+gI-zc<&@c4=v$s)h#P0*C@>^!!}%T-@-|p`e69plkM<+jAUz z=CEy)+&O8@bze}Zsj051ae&(HCs2#O9BQ-QEUm(J_QyretPPcQs`u+wf<&-?L1>$5 z7w2i4_#Eh34jC1wTt0j4_M#+8f^7F?6xetZX%Z(R0~&{h(PU)-%p?Ey!lTpfIY;Dm z69M*KX$Nwdi_eN4IfT;sBT8(76cRL2kC`xR1&H9$HLvc07Y# z*{#-_&45?eF=@H1+t%g^bLFg5nZSNncype+^E^Yied{usp8% zrN*SK6Wr?4;p>fcvpRyg2tl;C01QQmljTv0{1=QdsmR@A=D)iaKTzP=p!1YC2#e1TWJcUCuGNcGFNS4?GKTu!tof29v zC!iMZ1>+RVb;{_@P$rx|mdS=Lo=_+^hP1atsdJpaaehN1Ok+Lae<1BS@@pt1`5aH` z37ryeT4RoFP2W(n4zW6DFI7*qm1235=I`b2GA(ZrKQEGwf6%~pHAF;#WiNmSdM-Nb z6Wk5dLP!~all8G3tWo(rF?o|1502^O-+s$~2!@~>{yB@p;PDzdVy&!>_!N8Xk@b5N z(p&##u_kC1Uy7v>PV{Y9OPsW?q*RnH2#FFJa2mP44)-bgpMQfcVYe=W=MBZ#1a=iT z9WX!ZP?AS>Kd4PNKoOiIqX@EZ@a>4b1v2G_dw*mzXzP}IX4#SZe0nOtTlW$e>rd4# zuJM~b7YDJWEwCJ1fK8zVes*dO_)Bj^70PMgg55|aHH&%#j3HuzDisjRQhnNsPSrtG zD7OQ7z3RZ(=+2sR|DuDm^l^rb;o(POc^ev;?`#D0KWQW`MXmWzM=UCrbh55JY*WCU z%eDqO!KeH+k|eT=N0AsES#0FFf@?q;$Yg9&>NHO_G*44HOFTh9eDX&8wSKQzx9KW0 ztiEqrVrueh_x}Bvcs2h z$xt(Z+FJ<4BrvdxUrg*73NH78>yLb&3OT|6mrJYl<&q=Lot-w+hXUPlWf`DSn4yv5 zL_8P$@%S*Ij0IAsqq)ZoBfl-N+ov|{(gxMu)A=5fM~kb%$~aA@ysET|<|Y##G%vqQ z-Awq3!-J-ersf3kak!(qdEL}CHJt3VC$afrG)4XlD5QCjR8j(&ExSC1^`s*qvWgep zjG^h1^uxn--#`5Y@S|{CiH)!n#p2`BuLucn(YaYw<@Wg*p1osUs+RK+zpVqjr@_X> zHjK>=x6?*yh50k)xg@278NQWSwy{OHu^)N!(yE=cH3Qz_5_|6ek|wJXmjL)1IK0tP zOTaaFssZs$-CbnR7jL@1%Qkjq%Z?pC+A zw+Z=karzqhC927fhAS&Um6bF4MsjCobco_l=r&}sb9+N)$AupKSSAtMdfEKO0Z#$v zE0X2nZKt<^=SkWNMN$$sG!DrXUPc1 zeP-TPQOPHa`EBl6n;r-A4Zw$vGh*QrVJC%`8iW6u(Z4pbp;|*!3E#{s16lC zEtDP^{)s;MW)I+R^p_{w$UcY#@1OEt)z8?RC?a>(ICZ_}`+K=))*0u+Qb6OlDWttW zNw1~p+}sRn_PWT3t0iJ1do9qEgCVh|oHWfRR3r;?LBxZO2mpuS>e=eNyO@4(6-{-`LQb5Aanuld3W0$TInuO+BmQc{h8tSm}wR|o1Z9nlrpgNH5ix62Bdz>I5= zlD8m9vYk>h0Dg<=`o4qNZjN{P^O~L>2^*WxJnQ=XB`taLd;u<+XL=opCQr2I3CZ>% z_mw`jcv?SytSYZwR0QJyed)$c)7dX?hm<}VnkH{5Cp-LZjXutli-O&%DZWaX5E&OZ z{yac<<^x0&^Q|IuZbliLUqij$vm7=og-X&lulO%}817>gv<~KW%ApkFnR+qyc zbzd*ky6piCu?`ggZ*!#&y6zO(IyyFR8wgYZgKUN_Mjn=oqjz`5MJ62|nXgTg$q?|| zA9~|jBny^gnsk5rQrbCU2L)u?7Ka$sM6P}d1###5-82-*$T(!8IbdU?VsJ|k>k z)PIc#PM0^nxyBu}gjrgu-izw;phdv!8HN1iW*g*$|7@1iNHpjI+5spsW*lSdDZo!= z#5wyL4F5Kd+W)sm-|wxiZhgo%!bRhY%t6*YyPqHMGEVesUdF-EH0ymu(d@%tX!pOA z2}s$RG`yBQDO(tv!N%y3ZAJuXLSgC5z(1cKIdmlC(%Pw3KlTch>%5gxNR)FwoUY#l zBF)x>*o(K5Dcw|D?pr-U)Dcf|wua>}S8Z0_mo2TyMm?Kpc=jOS&`> zFXOAzKTK-zhzbfw$H#o+O8!uIqzH$^ljBezBnA+9zyrz$aX8`lyr!Jfvl3oaz3TwK zae#@w+z=`MXw^sce^ou)LR2M|db;WAZisG5{P)E%;|E|HrwmdZ47VOKhHRPe&0=21 z6s_`a_5v~BM}DpMv!$if>R_=r2ouN4M}1i9yvOs0_$VJ|2P{>;D!Z+>R`8? zlenNOxu8VPHMH_M2XK_2?FByiclmObN&Fd)y6#7V407@YP3T1-@k<8MyW)WwXx+jB z2-q;0nL;ZoCQeKnC`fG1Q6tNP#Cm^JDu>gA=B#V;*M!p%cz-Lc94 z(&;w5vou`bDr#`f@A!N_Bq%Z_CW5!~&-^va?UTW@v<(`4OG{{PF2rz1Q$GlS%f*4T zo_yETqolR2+s$gLpWpJm)9X!?)vO4W&$%DD*Q#5B+twq=$i8fl5wax6UDX^)>MJOr zRbFI@gL}K3p`k2}c&)+Q30pgu95(cx6!V$3?%;S{^a}jhDD?Vu;p|M~o$a2dhZUX& zw?mV$6_dH-|d*w9Ul$2cxO+7w;hP^*Mr{sy#6e)s5O5sn>~#iC4f+TdR1VgN^{C!qUJhx=-?8pHWr{$d{djy1T5WeHjrz?A8 z!Z$d64vmG$5UFy5WZy-ckd332C7)jvQp@S2eS;fs4uSwp^rH zzBzB}_f#Y{boCNp^$``uBnk5O24b>}m%X=gD=Rh$OIihpg}a^k!T>q=*DOjFz6YpJ&K_J(guyY$(26@b@s?kmdIwtaAN=EgfBSfrHBfuliRv8UBZ&9dM-W3 zWX=B6SDxGKLp3YiR5(PRdJwg`r#}y1p=T)JSxvAv`oC7JkDvoVw=-VucUay@A!9ki zZapR`5HR$bNo4WrE673VpEjmQ_7E9WZ+2FXe5qPKWN+Pbl8LYT;tfF0x_4EIK+IJd&`q6_t8+b2e(=KzM|W-VhNM*A6=*!lRAl7jjI!ndCynRuaKyC zpY{Ku+T9ow`(EK7mp33J>v+U@vfd%#hZBmbYY)~&+p;X?fn^}h-fm@Om3w)Ee2CAa z+7y?qywkDy=G(Zb?C8(YUtdy|eH%1`$aBf^a zy=WR_Ssn)5-tJc15oV1FlZC$s$JNPXxKfx@)8&-dPX6@FgiYy({x%gtKEEErAO0j6 zoX>DC%a$4r>lew)~Ve$~K2KUv4g!&_cI#jwecdEg=_DCfE5BS~oeqeR{H)>Sc3wvfVmixG(`O z;rc~t3V{7gr!M;nhJLOt*5a!a2&I*EIH=~$2YJr$M11_;mi7BIFF4LZ?vscR^dpZk zUpWXHac}3N;}~BQ#%-rtwsdr0CPNg$`1PATc>-nL zx7hgl`r3PXHi={}3$&Gs`Q?;u)$j}RN+brx0}*r{RVXwug=!~N>(5%drrKiwZj)AT z)L;~Y`r>oI9X>t~K-U!w88<$YHD#&43^K7H+;}*0KLFHX8lOc289rsgW zqUw_&R4qexYShCv=~SP%%1};|^@oaBTzw;{070zzry7*S{(fsu%y!O%Kzj-=d%hE) zf@44URmTtSfumK9iYh9v^^l|eR@Fflr|7q;Wu3=PivqrNKe+4fskd%c#J$Yd>{lED zM=YLf2?1E%+9q4CTRhWYN_m7c^(Kc~0!(W_>}H18+6bT?)nYuyPUU_VDWbE_?&2$W z*n30B_UD_LBfszO_ZRA0kxFc&G#-pCc}zf^+L+g&bSYiZP~ldNhcgaSGej@oRoWud z*Nc~lj1x5QcJJ<{8x=nwowT1vcxTb1`!})MI(_Szm5RcXiiMw)w`hn96pc>-)2oab zTh)6P7DoI!&2)_Hk~?p&saXH(7u7+r`#5E7%)vRkyvFb&yT2mYrsa(Hc^sP!_Y(1h zb}R%?y5iS-6MM+xrw$!}y&JmsnO8V57NI((Qlpl5a>v1OYIU)vMiWL!OnL_;JTGv* z9OsLO#0?F#_GH&Mj2YO%;UCq-+7Bwu0koy$`TZg zU|xSwu0r|8hY}r;_VkGP9Ke;8Qw<-DD+69Mg+tSo&4|#21c5qPg8CgT#Of;3k#0`t zYy$2bJB>O^h-S>d2|Hk>S7lR@>FFVjAsCpG%zyu8J?cPo!#1THH0GUw6?YulRI@@e-hca<>3}( z2Xa*Jg+p>j!yO9wu}BBkIC>h;88o_P=lzwlr7#dWd_zwy5jQ-fRTOZ<-iaiAjEfI@ z-d4$y7}_zo<$r|dz(LIWd>kF@gpc0kMG+e%cJpKHC)7oO0SFeZdgh+&bL1oz_Pcqn zFn!3+U0D`Z-DqXfsPI136d#0tO5f2=$E3?;iW=rTn(vA{FHMsenW{}4Jy00+PC-OG zko?zJ6QIpW5cFr%B2EDR6|R>@o%x!+$H>g2gv=2PD;D?d;5D$eJQNJ{%JlN!6x=9PIHq&69Fmrr~%k@M=h_V>=-i zJ^W8~6qBGJZv=?*{Hjq)@{6GpO=oE5$kvL}@FC}>vN8=G+8FbffH{qDyNI&i+D-y6 zJN~g&A8o@D9hRN>qkQlV{5QdkCmL|8uHa-@NheitV0*;}`=q4B_|WuGTyl~kem4pr zA74=NwHN13Qj0JW_pP5BPx_P4lv@1#Vx8G+*Ul3H=-3pKq0Rot>wNXyG#I7vsofEghC65z&Pgj&d5* z@R~Ku#6O7Fd4>JJ5 zwCcWp{=7a#KjrfA2{?uxr_O+SYJnzFtnw0jXTIi#*bx6@Hmhz|y+pwi8){wB$?cS&v zVjB52l=~r+n1L&U{P?bFfogmMsN~nXK%)GPvjw+G^@|);>pvHjoaE)s+rZDgyI87o z8W5lu4IvNB{8AI?zGL0Qr<@EjMK~0q6zqu|Qd)JH6zhH?nj~){z`eIOH8DQR?6fm? zY@%2nc_DQ*#@V1-g+fPpx&Lk%xeUR*8vYVf8SYi2)(I;KR8UIp3{NH%rA+u|L@G+c zIs-VgWhorTEffVn#)wE4j5i_Lm^({6M9)3s!GdRYNCo%JgJl{6i8D>jFwaqKt4Yww z8KiptrmZZajwJdeaA4}26Jt_}o7Kcs;2RE^_I%SS11)Z2LO#>3L1Mp8IJ-z=Io;nJCg8#cTB~lU!p392dx0GZP+(Q=`I8^!RDBUXE+$m42cim28f$@k{CqNuLh=SX@_O&9v}Jy1nab0o`hwj#fu4AIQB-+fnyR@ zcKD6ILRPFHm;D;8qzOrX_Ke+;hK9J3SUO%lFma8000`cXyj?7uMq>V0yTZ=l8yK29IUjR;I z_`LD*i!lyBY}RdEoc-lcDf6!+O<9SM`ej55EazJQp#$>yX7~$G7a-FFRRCCB&N0RE z!3j$7+_f5e0HFySNrVdrYRFkkd-aD@tp0;2D6ZdZW=>H}O)&!=%(H^}fIEsDY11dl zGRD{q(ar_e%Pz*YeLPmfIwC$@9&}7ipEJJIaiJ+Qw~ahIfD@XAl_%1)nM33b_~&Z| z4NSRxOX~%ntF{|;{Tv*tQOvC@x$Mb(wvh;8sIjx`8|r%)$d2F zHS+&#H%W96vHN+5EXx|6K8ZiMiw1btm{@TSsUEzM{6Jr(K$*9Hc|FbcbJm{^7#81O zZ|Ce}*J)}%)tf;l=f(ZRD3njjf@Kpd{E2kLoQ9-Xl@Uiz;9FQ1>buzQsRBx52kvDI z38gHmPf=(N=?z%iNReKcw8|$@2#Jk$COQjx%kyT`x9di)Eo`(3sSOp8Uc0N4WAP2Q zE)(a#S?8SL^V{cqU*BnZ-0kP**a6cbS-BDxeh%DGcf*|b$P#vT$K|Tb?i6LCbz(`l zn|B8X*0LC1J(;f*`qROw<23?SzJ<3}rq?&7UfB`q*>58vNk1{*I?q%jrxtwHEcmRk z`A$dD|C9`3c)nDcM;FRcJVA9M*62GLQpX)z%>kKao>`Ayf(qt;kAhf71b4R}ebxz9 zOK19(mnonWW=Qj^?BP93%kZ#%J#b&E5LRbrKRY+XUnCkH?hV$=TQCSy>-wr;G5ELW zdkWpZ4`k%IliJk-O_ZDm4Uj_II7t=3n{st+O3Js9k)Igw@N=d(VutU?zP+Op*8m$N zsoPDME3#bADiUwS3-Dd(FU+}I5Yf_bye$^fz4#^$7xBh!Wo3^(T~mc162uE>{F6pXuRXfg0yshWeEZ0dnr*WCT=bXo~mrK;;gWcHmIDW z&-TP)zs7Q*7p6*$LTnWnnhtUzZ{<* zi28R(Z)%v|!3YWSe^%5jR7>I@)oND$I6)JO$5DFhK{+}?kfSYB>r9c)8#KM^GrT5J{7QZhnJ&c=>P?28rN)1out)B%F)GG-Dwebsv^^X$ zA9x*_Z7EieXJyDK-U5tte=TXTROHh@1Su)GM}r;aFouqiPQ2B%ZS0XP-e+QCGGy6h zK@=Vm@|aj=gN>AE74Uuxr?O1)F;(gFI=|gTO4^Qr+K4u@%+Fe2cCGkO_;884;`uTJ z^B!tO;_STg2LO?8r_e491SQN7_^96Ld z^2+1MK%i3>smmf=^LpK~g22hSE{#MYXofM7htB2PGSLCGwzeihq0ql7r9Lbon^>YR zS*2+xrJ;L0cuPv~l$PRMwTk$L4NzE!$LlpksUO(zc(!F9YiJn!(5_t%ifymgVzCce z@i3oBI19Rqq!O7E(q7P-X=0C#!l_R5NSOG*0AoW#m|3bSyn6TD zW0y5Gy^K;H&%y@3GR-T2pJjBt+xg^-Gd!Wg;qZy->gqq&b-e=ExM;OZmQg4zMXIXs zm6V`Xts+@bK{6d+n3i04&J?--=M4=RW#*hxj~szl>l+*I3H;)c$a@ErH z>!qcrswzCeAZBHy!;?mc?neTUh;J+mUyxx!@u3H@@) zxOUF)FnV7fiQ!@F&eKTeDdMr%#E#K;jyZ2ZK~}{p+y1d=+SzllPqx9f9Z&48E)sox zR|5|%pj9sCfN7x^?d|O?wY9Z7G)?e7zBPLuv^o#Cx5YZ>nPi{Ewo+I`u5vTU4HAW zFO6M%@eZq~=tkY=t3{+}-rL0KZ+U%W1Z!{z^=>=b$&(~vvEh-iv50A!-_w<9KK9N# zz1bG6`FtX_Z81k@FP7yckiuC1*-2>cdsg;MHLrBtnm z1c3rTIp1&rd__fQm6fOqtI*5JFw4rER6CP%g)1e9M1gJv5rHEp^>d%dORqLGbSze* z#(C|r$NFwOaNvQ~{{HVPr9L9IeT9Mz0&9WQDCI|F=5!R30xXS=4w6GdDf3ikJlWIT zor=fbwN3LaZ2PcM>hMuPe*i0) znj@I%+z=lf?be}9_juM7l$AksHTvq+cmf5af|aDwQ`|{wTBa?M+1gB+4Ss*TwXg4g zjnk(;VRm&Do83LwJ>4YJ;UDAKPo|L6G;K~V`r6uB^Tdf0&*H?KWj8lmI&7dr)3laz zP}hF}*8;0ExYhy=rBbQLVpX2aa6ke2#*G_QJRVnxMB>bQ*RO|l>ztpn;0p%DKQJJ5 zWo7mgH{NJxC7rNP8XL8%K#N^)fr^)vDS*W3({uj~e*J4`ZN=B#E&zVNU*34*jq%)8 zi!u_q>d+zM%)P3?l%{EaIK%0bi1Yw&r&6hBIyyS$+_|c)t$k3< z zF+@9#l0$g(NBP1{{j-+QwD&Ji>LOJ14z_O1eDS<_-=6{NNv^nyyFQ&rANwZrjh%FO zhHaa_zkvG}q=@L^k};a5eF*r{Oy|cJsl8sW6$*u(R7%~~*48#->ItRPZNSQG?NCa+ z%y=Go+p0kL63!R#{5l}v^B`?N1-1`M=^(~+b#YvRk-Y=7>*d2h#b)bF+efUpt1PDR+3~=ELcN73VkQk`5ulXptakQ7_ zjoSgaQ_pA zGgo#kh~|Bt#L3wDAMDsNR|o3g4LlCSLEW&FrsWH62jr4h96x@%75J+uhkw7Wu5RY_ zihM<>YXK11m+?KHzdi=sf~W^*JapdAP|o`Xx-36NM@RP-6cqdulR_iX5;4beXVrX= z%Rzw{Kh5g4hRy%ELw??`9cohs&*xgJoyASwtX*l|<#(lWmxxFaB!e5D=u z=%n|-Ij;XkC=~j}Ea&^f;c)rF&B}@rV9vDP^J28Hl%0FB*wIsY`B~3Pqg-5={=q%h zoyTHe;6#uwKAP2eK1^WT4#*{6nU>}|SB5MZyB>c(mT|?5=i}PHbN5X%WCm7$O?G-g zTTz6vGjQo~J0O>Qi1~gdrhv*$w%BZAeUTG914Ywr++ta91W*sC=ro+Baz698IQog?dVjynQ!$rTz1S!q5mQ``>7<(#0D3X90IGn^j8@$-3GDfM()Ticw8zm!tX zi%4;{c8JKyN$-Y$v`rbN-_ndJ`OMUF2%U4@*RbVB?E1ka*dw=reLbkFKq`PJLN`j< z5cLS~2o0Mfvy}8RkWmT?v&=`Q-T+CG$S^cScn9QJbYn2Pda~pH0g8hrA}150Q~&?~ M07*qoM6N<$g1b)+%m4rY From a106983eacecfc4556b82c24b1fbfc09e6539f42 Mon Sep 17 00:00:00 2001 From: kdevo Date: Sat, 11 Jul 2020 22:52:48 +0200 Subject: [PATCH 07/13] :recycle: :sparkles: Refactor and introduce gallery item image processing --- .gitignore | 1 + README.md | 60 +++++-- archetypes/gallery.md | 10 +- archetypes/post.md | 5 + assets/sass/_base.scss | 100 ----------- assets/sass/_blog.scss | 163 ++++++++++++++++++ assets/sass/_gallery.scss | 16 +- assets/sass/_modal.scss | 3 - assets/sass/_typography.scss | 6 +- assets/sass/main.scss | 68 +------- .../{static/images => assets}/hugo.png | Bin .../{static/images => assets}/toma-nistor.png | Bin exampleSite/config.toml | 4 +- exampleSite/content/gallery/kdevo.md | 3 +- exampleSite/content/gallery/osprey-delight.md | 2 +- exampleSite/content/gallery/osprey.md | 2 +- exampleSite/data/terminal.json | 4 +- ...s_97bc3a74098849226ebef999cbcdad23.content | 2 +- ...scss_97bc3a74098849226ebef999cbcdad23.json | 2 +- .../static/images/rugged-fellows-guide.png | Bin 51236 -> 0 bytes layouts/index.html | 8 +- layouts/partials/footer.html | 2 +- layouts/partials/gallery-img.html | 25 ++- 23 files changed, 277 insertions(+), 209 deletions(-) create mode 100644 archetypes/post.md create mode 100644 assets/sass/_blog.scss rename exampleSite/{static/images => assets}/hugo.png (100%) rename exampleSite/{static/images => assets}/toma-nistor.png (100%) delete mode 100644 exampleSite/static/images/rugged-fellows-guide.png diff --git a/.gitignore b/.gitignore index 82e2aef..11d20b7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ /public/ /exampleSite/public/ +/exampleSite/resources/_gen/ workspace diff --git a/README.md b/README.md index 54ce308..1078ad1 100644 --- a/README.md +++ b/README.md @@ -1,32 +1,66 @@ -![Osprey Delight Logo](https://raw.githubusercontent.com/kdevo/osprey-delight/master/images/osprey-delight-logo.png) + + Osprey Delight Logo + + + Nelify Continous Deployment Status + + +![GitHub release (latest by date)](https://img.shields.io/github/v/release/kdevo/osprey-delight?style=flat-square) +![GitHub All Releases Downloads](https://img.shields.io/github/downloads/kdevo/osprey-delight/total?style=flat-square) +![Website status](https://img.shields.io/website?label=kdevo&style=flat-square&url=https%3A%2F%2Fkdevo.github.io&logo=github) --- -Osprey **De**light is a sugar-free version of the [awesome Osprey theme](https://github.com/tomanistor/osprey) which has been created by [Toma Nistor](https://tomanistor.com/) for [Hugo](https://gohugo.io/), a fast static site generator. -It's a blazingly fast minimalistic single page portfolio perfectly suited to show off your awesome work! :zap: +Osprey **De**light is a sugar-free version of the [awesome Osprey theme](https://github.com/tomanistor/osprey) by [Toma Nistor](https://tomanistor.com/) for [Hugo](https://gohugo.io/), a fast static site generator. + +It's a blazingly fast minimalistic single page portfolio perfectly suited to show off your awesome work! šŸ° + +> šŸ’” The theme tastes a bit different than the original (hence the *light* in the name) but also adds great new functionality - hopefully to your ***delight***. Read more about the motivation and differences of the fork [here](./MOTIVATION.md), but also check out the feature summary below! -> It tastes a bit different than the original (hence the *light* as part of the name) but also adds great new functionality - hopefully to your ***delight***. Read more about the motivation and differences of the fork [here](./MOTIVATION.md) +## Features -## :computer: Screenshot +- Gallery items with different types + - `normal`: Just as you are used to with the original Osprey theme + - `github`: Magic GitHub API usage +- Gallery images can optionally be normalized with Hugo's [amazing image processing](https://gohugo.io/content-management/image-processing/) +- Blazingly fast loading speeds + - Minified JS/CSS/icon bundles using Hugo Pipes + - Lazy-loading of images using lazysizes +- Contact form using Basin with Honeypot protection +- Fancy UX + - Smooth scrolling plus scroll-spy + - Nice CSS animations + - Awesome icons in the footer +- Modular theme, enable features as you want +- Intelli-404: Automatically searches for suitable matches - never loose the link to your content +- SEO-optimized + - High PageSpeed Insights score + - Automagically generated structured data ensures that everyone finds you + +In general, many [open issues](https://github.com/tomanistor/osprey/issues) of the original theme have been resolved. + +## Screenshot ![Screenshot](https://raw.githubusercontent.com/kdevo/osprey-delight/master/images/tn.png) > Yes, the screenshot looks pretty familiar, doesn't it? To taste the differences, it's best to simply try Osprey Delight out! -## :zap: Quickstart +## Quickstart + +From your Hugo site directory, invoke: ```console $ mkdir themes/ # if dir does not exist yet $ git clone https://github.com/kdevo/osprey-delight.git themes/ --depth 1 ``` -:bulb: The easiest way is to simply copy the [exampleSite](/exampleSite) directory's *content* to your project's root. +The easiest way is to simply copy the [exampleSite](/exampleSite) directory's *content* to your project's root. This way, you have a good starting point that you can use for further modifications. -## :wrench: Configuration and Usage +## Configuration and Usage -Documentation is not complete yet, but hopefully it's enough if you want to *migrate* from **Osprey** to **Osprey Delight**. -Since many configuration attributes have been changed/refactored, this is a necessary step. +Documentation is not complete yet and more "learning by doing". +If you're coming from the original Osprey theme, migration is a necessary step, since many attributes have been refactored. It's best if you simply check out the commented **[exampleSite/config.toml](/exampleSite/config.toml)**! @@ -50,7 +84,7 @@ $ hugo new gallery/item-name.md This is very helpful for the first time since you will get a fully documented file. -> :warning: Please make sure that `item-name` is unique on the whole page because it will be used as an anchor/identifier! +> āš ļø Please make sure that `item-name` is unique on the whole page because it will be used as an anchor/identifier! ### Data directory (optional) @@ -59,7 +93,7 @@ Currently, the following files can be used to configure the theme in more detail - **terminal.json**: Configure several parameters for optional Termynal (see **config.toml** for an explanation) -### Contact Form: Basin +### Contact form: Basin Basin is a free AJAX contact form service. To use Basin, [sign up for a free account](https://usebasin.com/users/sign_up) and create a form. Copy and paste your form's URL endpoint to the `ajaxBasin` config.toml parameter. Select the `Submit this form via AJAX` option on your Basin dashboard. @@ -89,4 +123,4 @@ The necessary requirements for merge requests are: ## License -This theme is released under the Apache 2.0 license. For more information read the [license](https://github.com/kdevo/osprey-delight/blob/master/LICENSE.md). +This theme is released under the Apache 2.0 license, just like its predecessor. For more information read the [license](https://github.com/kdevo/osprey-delight/blob/master/LICENSE.md). diff --git a/archetypes/gallery.md b/archetypes/gallery.md index 5280e1c..eae1a53 100644 --- a/archetypes/gallery.md +++ b/archetypes/gallery.md @@ -1,10 +1,12 @@ --- # [str] Display title of the project. title: "{{ replace .TranslationBaseName "-" " " | title }}" -# [date] Specify project publication date - changes order; the latest item will be displayed first. +# [date] Specify project publication date. +# Changes order: The oldest item will be displayed first in the gallery. date: "{{ .Date }}" -# [str] Gallery image file name. Image needs to be under 'images/'. -# If ommited with type 'github', will attempt to fetch from '{repo_url}/.github/logo.png'. +# [str] Gallery image file name. +# If the specified image is found in the 'assets' directory the image will be normalized to a specified height. +# If ommited AND type is 'github' (see below), will attempt to fetch from '{repo_url}/.github/logo.png'. image: "" # [str] Alternatively, you can specify an absolute image URL (comment out the following line). # absImage: "" @@ -14,7 +16,7 @@ alt: "" # [css] Set gallery item's background color. color: "#fff" # [str] Possible types: -# - normal: Just as originally in Osprey +# - normal: Just as in the original Osprey theme # - github: Fetch repo data using GitHub API type: "normal" # [str] Link to view the project. diff --git a/archetypes/post.md b/archetypes/post.md new file mode 100644 index 0000000..c6c65a0 --- /dev/null +++ b/archetypes/post.md @@ -0,0 +1,5 @@ ++++ +title = "{{ replace .TranslationBaseName "-" " " | title }}" +date = {{ .Date }} +draft = true ++++ \ No newline at end of file diff --git a/assets/sass/_base.scss b/assets/sass/_base.scss index 631bda7..80d6d03 100644 --- a/assets/sass/_base.scss +++ b/assets/sass/_base.scss @@ -26,105 +26,6 @@ a { } } -// TODO(kdevo): Provide optional parameter to enable blog (the only situation where this is needed): -// Code -// pre { -// margin-top: 0; -// margin-bottom: $vertical-rhythm; -// padding: 16px; -// overflow: auto; -// background-color: $smoke; -// font: 12px "Consolas", "Liberation Mono", "Menlo", "Courier", monospace; -// font-family: $font-code; -// font-size: 85%; -// line-height: 1.45; -// word-wrap: normal; - -// & > code { -// margin: 0; -// padding: 0; -// border: 0; -// background: transparent; -// font-size: 100%; -// word-break: normal; -// white-space: pre; -// } - -// code { -// display: inline; -// margin: 0; -// padding: 0; -// overflow: visible; -// border: 0; -// background-color: transparent; -// line-height: inherit; -// word-wrap: normal; - -// &::before, -// &::after { -// content: normal; -// } -// } -// } - -// code { -// padding: 4px; -// background-color: $smoke; -// font-family: $font-code; -// font-size: 90%; -// } - -// .sans { -// font-family: "Open Sans", "Myriad Pro", "Myriad", sans-serif; -// } - -// .mono, -// tt { -// font-family: $font-code; -// } - - -// // Quotes -// q { -// @extend em; - -// &::before { -// content: "\201C"; -// } - -// &::after { -// content: "\201D"; -// } -// } - -// %blockquote { -// content: "\201C"; -// color: $accent; -// font-family: $font-header; -// font-size: 35px; -// } - -// blockquote { -// padding: 25px; -// font-family: $font-header; -// text-align: center; - -// p { -// display: inline-block; -// font-style: italic; -// } - -// &::before { -// @extend %blockquote; -// } - -// &::after { -// @extend %blockquote; -// content: "\201D"; -// } -// } - - // Images img { display: inline-block; @@ -132,7 +33,6 @@ img { vertical-align: middle; } - // Lists ul, ol { diff --git a/assets/sass/_blog.scss b/assets/sass/_blog.scss new file mode 100644 index 0000000..5b9ec43 --- /dev/null +++ b/assets/sass/_blog.scss @@ -0,0 +1,163 @@ + +// Code +pre { + margin-top: 0; + margin-bottom: $vertical-rhythm; + padding: 16px; + overflow: auto; + background-color: $smoke; + font: 12px $font-code; + font-family: $font-code; + font-size: 85%; + line-height: 1.45; + word-wrap: normal; + + & > code { + margin: 0; + padding: 0; + border: 0; + background: transparent; + font-size: 100%; + word-break: normal; + white-space: pre; + } + + code { + display: inline; + margin: 0; + padding: 0; + overflow: visible; + border: 0; + background-color: transparent; + line-height: inherit; + word-wrap: normal; + + &::before, + &::after { + content: normal; + } + } +} + +code { + padding: 4px; + background-color: $smoke; + font-family: $font-code; + font-size: 90%; +} + +.sans { + font-family: "Open Sans", "Myriad Pro", "Myriad", sans-serif; +} + +.mono, +tt { + font-family: $font-code; +} + + +// Quotes +q { + @extend em; + + &::before { + content: "\201C"; + } + + &::after { + content: "\201D"; + } +} + +%blockquote { + content: "\201C"; + color: $accent; + font-family: $font-header; + font-size: 35px; +} + +blockquote { + padding: 25px; + font-family: $font-header; + text-align: center; + + p { + display: inline-block; + font-style: italic; + } + + &::before { + @extend %blockquote; + } + + &::after { + @extend %blockquote; + content: "\201D"; + } +} + + +.posts-list { + margin: 0 0 $vertical-rhythm; +} + +.sub-header, +time { + @include size(p); + margin-bottom: $vertical-rhythm; + color: $storm; +} + +.content { + width: 100%; + text-align: left; + + time { + margin-left: 3px; + } + + a { + background-image: linear-gradient($accent, $accent); + background-repeat: repeat-x; + background-position: 0 95%; + background-size: 1px 2px; + text-decoration: none; + text-shadow: .03em 0 $white, -.03em 0 $white, 0 .03em $white, 0 -.03em $white, + .06em 0 $white, -.06em 0 $white, .09em 0 $white, -.09em 0 $white, + .12em 0 $white, -.12em 0 $white, .15em 0 $white, -.15em 0 $white, + .03em .075em $white, -.03em .075em $white, .06em .075em $white, + -.06em .075em $white, .09em .075em $white, -.09em .075em $white, + .12em .075em $white, -.12em .075em $white, .15em .075em $white, + -.15em .075em $white; + + &:hover { + color: $accent; + } + } +} + +.highlight { + margin: 10px 0; +} + +.pagination { + margin: 50px 0 0; + + &:nth-child(2) { + float: right; + } +} + +.blog { + display: flex; + min-height: 100vh; + + h2 { + margin-bottom: 0; + } + + h3 { + margin: 0 0 $vertical-rhythm * 2; + font-family: $font-body; + } +} \ No newline at end of file diff --git a/assets/sass/_gallery.scss b/assets/sass/_gallery.scss index 41de546..71cf0a0 100644 --- a/assets/sass/_gallery.scss +++ b/assets/sass/_gallery.scss @@ -18,6 +18,7 @@ } } + .overlay { visibility: hidden; position: absolute; @@ -29,8 +30,7 @@ height: 100%; transition: .25s ease-out; opacity: 0; - background-color: $black; - cursor: pointer; + background-color: $black; cursor: pointer; a { color: $white; @@ -59,6 +59,7 @@ padding: $vertical-rhythm * 3; } + .gallery-modal-link { display: flex; position: absolute; @@ -68,3 +69,14 @@ height: 100%; } } + +// Prevent "broken image" icon from showing up +img.lazyload:not([src]) { + visibility: hidden; +} + +.lazyload, .lazyloading { + object-fit: contain; + width: 100%; + height: 400px; +} \ No newline at end of file diff --git a/assets/sass/_modal.scss b/assets/sass/_modal.scss index 882e7dd..8e03c13 100644 --- a/assets/sass/_modal.scss +++ b/assets/sass/_modal.scss @@ -84,9 +84,6 @@ position: absolute; top: 10px; right: -4px; - - // top: -21px; - // right: -30px; color: $smoke; font-size: 30px; font-weight: bold; diff --git a/assets/sass/_typography.scss b/assets/sass/_typography.scss index 07f4d5f..0622b2a 100644 --- a/assets/sass/_typography.scss +++ b/assets/sass/_typography.scss @@ -1,6 +1,6 @@ -$font-header: "Roboto Slab", "Ubuntu", "Cambria", Georgia, serif; -$font-body: "Roboto", "Poppins", "HelĀ­vetica", Arial, sans-serif; -$font-code: "Menlo", "Monaco", "Andale Mono", "lucida console", "Courier New", monospace; +$font-header: "Roboto Slab", "Bitter", "Ubuntu", Georgia, serif; +$font-body: "Roboto", "Rubic", "Poppins", "HelĀ­vetica", Arial, sans-serif; +$font-code: "Roboto Mono", "Menlo", "Monaco", "Andale Mono", "lucida console", "Courier New", monospace; // Modular font scale // Large: http://www.modularscale.com/?1.25&em&1.333&web&text diff --git a/assets/sass/main.scss b/assets/sass/main.scss index 21357ae..5586a97 100644 --- a/assets/sass/main.scss +++ b/assets/sass/main.scss @@ -40,6 +40,9 @@ $accent_color: #0097a7; @import "gallery"; @import "custom"; +{{ if .Site.Params.Feat.useBlog -}} +@import "blog"; +{{- end }} {{ if .Site.Params.Feat.useTermynal -}} $term_title: "{{ .Site.Data.terminal.title }}"; @@ -228,45 +231,6 @@ h3 { margin-bottom: $vertical-rhythm; } -// .posts-list { -// margin: 0 0 $vertical-rhythm; -// } - -// .sub-header, -// time { -// @include size(p); -// margin-bottom: $vertical-rhythm; -// color: $storm; -// } - -// .content { -// width: 100%; -// text-align: left; - -// time { -// margin-left: 3px; -// } - -// a { -// background-image: linear-gradient($accent, $accent); -// background-repeat: repeat-x; -// background-position: 0 95%; -// background-size: 1px 2px; -// text-decoration: none; -// text-shadow: .03em 0 $white, -.03em 0 $white, 0 .03em $white, 0 -.03em $white, -// .06em 0 $white, -.06em 0 $white, .09em 0 $white, -.09em 0 $white, -// .12em 0 $white, -.12em 0 $white, .15em 0 $white, -.15em 0 $white, -// .03em .075em $white, -.03em .075em $white, .06em .075em $white, -// -.06em .075em $white, .09em .075em $white, -.09em .075em $white, -// .12em .075em $white, -.12em .075em $white, .15em .075em $white, -// -.15em .075em $white; - -// &:hover { -// color: $accent; -// } -// } -// } - a > .icon { transition: color .2s ease-out; @@ -275,38 +239,12 @@ a > .icon { } } -// .highlight { -// margin: 10px 0; -// } - -// .pagination { -// margin: 50px 0 0; - -// &:nth-child(2) { -// float: right; -// } -// } - .full { top: 0; bottom: 0; height: 100vh; } -// .blog { -// display: flex; -// min-height: 100vh; - -// h2 { -// margin-bottom: 0; -// } - -// h3 { -// margin: 0 0 $vertical-rhythm * 2; -// font-family: $font-body; -// } -// } - .contact { width: 100%; padding-bottom: $vertical-rhythm * 2; diff --git a/exampleSite/static/images/hugo.png b/exampleSite/assets/hugo.png similarity index 100% rename from exampleSite/static/images/hugo.png rename to exampleSite/assets/hugo.png diff --git a/exampleSite/static/images/toma-nistor.png b/exampleSite/assets/toma-nistor.png similarity index 100% rename from exampleSite/static/images/toma-nistor.png rename to exampleSite/assets/toma-nistor.png diff --git a/exampleSite/config.toml b/exampleSite/config.toml index e0976c6..84c9aea 100644 --- a/exampleSite/config.toml +++ b/exampleSite/config.toml @@ -24,7 +24,7 @@ enableEmoji = true googleTagManager = "" # [bool] The following will enforce redirection to the baseURL for all sub-directories/-pages. # Example: If you create about.md, Hugo will also create a '/about/index.html'. - # This file will only contain a redirect directive if this switch is enabled (recommended, since this is a one-page theme). + # This file will only contain a redirect directive if this switch is enabled. enforceSinglePage = true # [bool] Will generate copyright notice in footer for your site. copyright = true @@ -67,6 +67,8 @@ enableEmoji = true # [str] Tell your GitHub username so that the GitHub API is used to fetch more information for structured data. # This will use information that is publically available about your GitHub user profile at https://api.github.com/users/{USERNAME}. # structuredDataFromGithub = "USERNAME" + # [bool] Enable the optional blog module + useBlog = true ## Configure contact form: [Params.Contact] diff --git a/exampleSite/content/gallery/kdevo.md b/exampleSite/content/gallery/kdevo.md index 1112a3c..01fc225 100644 --- a/exampleSite/content/gallery/kdevo.md +++ b/exampleSite/content/gallery/kdevo.md @@ -1,7 +1,8 @@ +++ date = "2017-05-20T22:25:16-07:00" title = "kdevo" -image = "kd.png" +# Note that this image will be loaded from the static directory because it is not available under 'assets/': +image = "images/kd.png" alt = "kdevo" color = "#263238" linkView = "https://kdevo.github.io" diff --git a/exampleSite/content/gallery/osprey-delight.md b/exampleSite/content/gallery/osprey-delight.md index ba97d28..4d75338 100644 --- a/exampleSite/content/gallery/osprey-delight.md +++ b/exampleSite/content/gallery/osprey-delight.md @@ -1,7 +1,7 @@ --- date: "2017-05-18T21:57:17-07:00" title: "Osprey Delight" -image: "osprey-delight.png" +image: "images/osprey-delight.png" color: "#b2ebf2" type: "github" github: diff --git a/exampleSite/content/gallery/osprey.md b/exampleSite/content/gallery/osprey.md index 73c736d..da1265b 100644 --- a/exampleSite/content/gallery/osprey.md +++ b/exampleSite/content/gallery/osprey.md @@ -1,7 +1,7 @@ +++ date = "2017-05-15T21:57:17-07:00" title = "Osprey" -image = "osprey.png" +imageUrl = "images/osprey.png" color = "#F7F7F7" linkView = "https://themes.gohugo.io/theme/osprey/" type = "github" diff --git a/exampleSite/data/terminal.json b/exampleSite/data/terminal.json index a906bad..68a511b 100644 --- a/exampleSite/data/terminal.json +++ b/exampleSite/data/terminal.json @@ -1,7 +1,7 @@ { "startDelay": 600, - "lineDelay": 1000, - "typeDelay": 90, + "lineDelay": 900, + "typeDelay": 40, "progressChar": "ā–ˆ", "showPercent": true, "progressLength": 32, diff --git a/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.content b/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.content index 78fecf1..2859f2c 100644 --- a/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.content +++ b/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.content @@ -1 +1 @@ -ļ»æ@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local("Roboto"),local("Roboto-Regular"),url("./fonts/roboto/roboto-v20-latin-regular.woff2") format("woff2"),url("./fonts/roboto/roboto-v20-latin-regular.woff") format("woff")}@font-face{font-family:'Roboto Slab';font-style:normal;font-weight:400;src:local("Roboto Slab Regular"),local("RobotoSlab-Regular"),url("./fonts/roboto/roboto-slab-v9-latin-regular.woff2") format("woff2"),url("./fonts/roboto/roboto-slab-v9-latin-regular.woff") format("woff")}@font-face{font-family:'icons';font-display:swap;font-weight:normal;font-style:normal;src:url("./fonts/icons/icons.woff2?30") format("woff2"),url("./fonts/icons/icons.woff?30") format("woff")}.col-xs,.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-offset-0,.col-xs-offset-1,.col-xs-offset-2,.col-xs-offset-3,.col-xs-offset-4,.col-xs-offset-5,.col-xs-offset-6,.col-xs-offset-7,.col-xs-offset-8,.col-xs-offset-9,.col-xs-offset-10,.col-xs-offset-11,.col-xs-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.container-fluid{margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}.container{margin-right:auto;margin-left:auto}.row{box-sizing:border-box;display:flex;flex:0 1 auto;flex-direction:row;flex-wrap:wrap}.row.reverse{flex-direction:row-reverse}.col-xs{flex-grow:1;flex-basis:0;max-width:100%}.col-xs-1{flex-basis:8.33333333%;max-width:8.33333333%}.col-xs-2{flex-basis:16.66666667%;max-width:16.66666667%}.col-xs-3{flex-basis:25%;max-width:25%}.col-xs-4{flex-basis:33.33333333%;max-width:33.33333333%}.col-xs-5{flex-basis:41.66666667%;max-width:41.66666667%}.col-xs-6{flex-basis:50%;max-width:50%}.col-xs-7{flex-basis:58.33333333%;max-width:58.33333333%}.col-xs-8{flex-basis:66.66666667%;max-width:66.66666667%}.col-xs-9{flex-basis:75%;max-width:75%}.col-xs-10{flex-basis:83.33333333%;max-width:83.33333333%}.col-xs-11{flex-basis:91.66666667%;max-width:91.66666667%}.col-xs-12{flex-basis:100%;max-width:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-11{margin-left:91.66666667%}.start-xs{justify-content:flex-start;text-align:start}.center-xs{justify-content:center;text-align:center}.end-xs{justify-content:flex-end;text-align:end}.top-xs{align-items:flex-start}.middle-xs{align-items:center}.bottom-xs{align-items:flex-end}.around-xs{justify-content:space-around}.between-xs{justify-content:space-between}.first-xs{order:-1}.last-xs{order:1}@media only screen and (min-width: 48em){.container{width:49rem}.col-sm{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-grow:1;flex-basis:0;max-width:100%}.col-sm-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:8.33333333%;max-width:8.33333333%}.col-sm-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:16.66666667%;max-width:16.66666667%}.col-sm-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:25%;max-width:25%}.col-sm-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:33.33333333%;max-width:33.33333333%}.col-sm-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:41.66666667%;max-width:41.66666667%}.col-sm-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:50%;max-width:50%}.col-sm-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:58.33333333%;max-width:58.33333333%}.col-sm-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:66.66666667%;max-width:66.66666667%}.col-sm-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:75%;max-width:75%}.col-sm-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:83.33333333%;max-width:83.33333333%}.col-sm-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:91.66666667%;max-width:91.66666667%}.col-sm-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:100%;max-width:100%}.col-sm-offset-0{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:0}.col-sm-offset-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:8.33333333%}.col-sm-offset-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:16.66666667%}.col-sm-offset-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:25%}.col-sm-offset-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:33.33333333%}.col-sm-offset-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:41.66666667%}.col-sm-offset-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:50%}.col-sm-offset-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:58.33333333%}.col-sm-offset-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:66.66666667%}.col-sm-offset-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:75%}.col-sm-offset-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:83.33333333%}.col-sm-offset-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:91.66666667%}.col-sm-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.start-sm{justify-content:flex-start;text-align:start}.center-sm{justify-content:center;text-align:center}.end-sm{justify-content:flex-end;text-align:end}.top-sm{align-items:flex-start}.middle-sm{align-items:center}.bottom-sm{align-items:flex-end}.around-sm{justify-content:space-around}.between-sm{justify-content:space-between}.first-sm{order:-1}.last-sm{order:1}}@media only screen and (min-width: 64em){.container{width:65rem}.col-md{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-grow:1;flex-basis:0;max-width:100%}.col-md-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:8.33333333%;max-width:8.33333333%}.col-md-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:16.66666667%;max-width:16.66666667%}.col-md-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:25%;max-width:25%}.col-md-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:33.33333333%;max-width:33.33333333%}.col-md-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:41.66666667%;max-width:41.66666667%}.col-md-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:50%;max-width:50%}.col-md-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:58.33333333%;max-width:58.33333333%}.col-md-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:66.66666667%;max-width:66.66666667%}.col-md-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:75%;max-width:75%}.col-md-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:83.33333333%;max-width:83.33333333%}.col-md-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:91.66666667%;max-width:91.66666667%}.col-md-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:100%;max-width:100%}.col-md-offset-0{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:0}.col-md-offset-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:8.33333333%}.col-md-offset-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:16.66666667%}.col-md-offset-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:25%}.col-md-offset-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:33.33333333%}.col-md-offset-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:41.66666667%}.col-md-offset-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:50%}.col-md-offset-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:58.33333333%}.col-md-offset-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:66.66666667%}.col-md-offset-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:75%}.col-md-offset-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:83.33333333%}.col-md-offset-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:91.66666667%}.col-md-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.start-md{justify-content:flex-start;text-align:start}.center-md{justify-content:center;text-align:center}.end-md{justify-content:flex-end;text-align:end}.top-md{align-items:flex-start}.middle-md{align-items:center}.bottom-md{align-items:flex-end}.around-md{justify-content:space-around}.between-md{justify-content:space-between}.first-md{order:-1}.last-md{order:1}}@media only screen and (min-width: 75em){.container{width:76rem}.col-lg{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-grow:1;flex-basis:0;max-width:100%}.col-lg-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:8.33333333%;max-width:8.33333333%}.col-lg-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:16.66666667%;max-width:16.66666667%}.col-lg-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:25%;max-width:25%}.col-lg-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:33.33333333%;max-width:33.33333333%}.col-lg-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:41.66666667%;max-width:41.66666667%}.col-lg-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:50%;max-width:50%}.col-lg-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:58.33333333%;max-width:58.33333333%}.col-lg-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:66.66666667%;max-width:66.66666667%}.col-lg-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:75%;max-width:75%}.col-lg-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:83.33333333%;max-width:83.33333333%}.col-lg-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:91.66666667%;max-width:91.66666667%}.col-lg-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:100%;max-width:100%}.col-lg-offset-0{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:0}.col-lg-offset-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:8.33333333%}.col-lg-offset-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:16.66666667%}.col-lg-offset-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:25%}.col-lg-offset-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:33.33333333%}.col-lg-offset-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:41.66666667%}.col-lg-offset-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:50%}.col-lg-offset-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:58.33333333%}.col-lg-offset-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:66.66666667%}.col-lg-offset-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:75%}.col-lg-offset-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:83.33333333%}.col-lg-offset-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:91.66666667%}.col-lg-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.start-lg{justify-content:flex-start;text-align:start}.center-lg{justify-content:center;text-align:center}.end-lg{justify-content:flex-end;text-align:end}.top-lg{align-items:flex-start}.middle-lg{align-items:center}.bottom-lg{align-items:flex-end}.around-lg{justify-content:space-around}.between-lg{justify-content:space-between}.first-lg{order:-1}.last-lg{order:1}}.col.reverse{flex-direction:column-reverse}h1{font-size:2.961rem}@media (max-width: 49.99em){h1{font-size:2.441rem}}@media (max-width: 25em){h1{font-size:2.148rem}}h2{font-size:2.221rem}@media (max-width: 49.99em){h2{font-size:1.953em}}@media (max-width: 25em){h2{font-size:1.719rem}}h3{font-size:1.666rem}@media (max-width: 49.99em){h3{font-size:1.563rem}}@media (max-width: 25em){h3{font-size:1.375rem}}small{font-size:0.8em;color:grey}.icon{font:normal normal normal 14px/1 icons;display:inline-block;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-active{color:#0097a7}span.icon{margin-right:.3em}.icon-2x{font-size:2em}.icon-heart:before{content:'\e800'}.icon-attention-circled:before{content:'\e801'}.icon-link:before{content:'\e802'}.icon-ok-circled:before{content:'\e803'}.icon-info-circled:before{content:'\e804'}.icon-cancel-circled:before{content:'\e805'}.icon-download:before{content:'\e806'}.icon-tags:before{content:'\e807'}.icon-link-ext:before{content:'\f08e'}.icon-left-circled:before{content:'\f0a8'}.icon-right-circled:before{content:'\f0a9'}.icon-menu:before{content:'\f0c9'}.icon-money:before{content:'\f0d6'}.icon-mail-alt:before{content:'\f0e0'}.icon-terminal:before{content:'\f120'}.icon-rocket:before{content:'\f135'}.icon-space-shuttle:before{content:'\f197'}.icon-address-card:before{content:'\f2bb'}.icon-share:before{content:'\f1e0'}.icon-github:before{content:'\f09b'}.icon-github-cat:before{content:'\f113'}.icon-twitter:before{content:'\f304'}.icon-facebook:before{content:'\f308'}.icon-linkedin:before{content:'\f30c'}.icon-reddit:before{content:'\f1a2'}.icon-rss:before{content:'\f143'}.icon-youtube:before{content:'\f166'}.icon-stackoverflow:before{content:'\f16c'}.icon-instagram:before{content:'\f16d'}.icon-paypal:before{content:'\f1ed'}.icon-pulse-slow{animation:color 8s infinite;animation-direction:alternate}.icon-pulse-fast{animation:color 2s infinite;animation-direction:alternate}@keyframes color{from{color:#0097a7}to{color:#212121}}@keyframes blink{from,to{color:transparent}50%{color:#212121}}@keyframes scale-in-center{0%{transform:scale(0);opacity:1}100%{transform:scale(1);opacity:1}}@keyframes scale-out-center{0%{transform:scale(1);opacity:1}100%{transform:scale(0);opacity:1}}.cursor{animation:1.2s blink infinite}.scale-in-center{animation:scale-in-center 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both}.scale-out-center{animation:scale-out-center 0.4s cubic-bezier(0.895, 0.03, 0.685, 0.22) both}body{font-size:1.25rem;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;color:#212121;font-family:"Roboto","Poppins","HelĀ­vetica",Arial,sans-serif;line-height:1.6}@media (max-width: 49.99em){body{font-size:1.25rem}}@media (max-width: 25em){body{font-size:1.1rem}}header{height:100vh;background-color:#fff}header div{z-index:101}header img{max-height:12rem}header h1{font-family:"Roboto","Poppins","HelĀ­vetica",Arial,sans-serif}footer{height:12rem;background-color:#212121}footer div,footer a,footer .icon{color:#fff}strong{font-weight:600}del,s{text-decoration:line-through}em,dfn{font-style:italic}a{transition:color .2s ease-out;text-decoration:none}a img{border:0}a:hover{color:#0097a7}img{display:inline-block;max-width:100%;vertical-align:middle}ul,ol{margin-bottom:2rem}ul li,ol li{margin-left:1.25em}ul li code,ol li code{font-family:"Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace}ul li{list-style-type:disc}.show{transition:opacity 600ms}.hide{opacity:0}.modal{display:flex;visibility:hidden;position:fixed;z-index:-1000;top:0;left:0;width:100%;height:100%;overflow:hidden;overflow-x:hidden;transition:opacity .1s ease-out;background-color:rgba(33,33,33,0.75)}.modal.active{visibility:visible;z-index:1000}.modal a:hover{color:#0097a7}.modal article a{color:#0097a7}.modal-box{position:relative;width:80%;max-width:1000px;max-height:85vh;margin:auto;border-radius:9px;background-color:#F7F7F7;box-shadow:0 0 50px 0 #212121}.modal-container{overflow:hidden;border-radius:7px}.modal-header{height:20vh;border-radius:7px}.modal-header-img-container{display:flex;align-items:center;justify-content:center;height:100%;padding:40px}.modal-header-img-container img{max-height:100%}.modal-content{max-height:calc(80vh - 20vh);padding:30px;overflow-y:auto}.term-content{max-height:calc(80vh - 20vh);overflow-y:auto}.close{position:absolute;top:10px;right:-4px;color:#F7F7F7;font-size:30px;font-weight:bold;line-height:.5}.close:hover,.close:focus{color:#0097a7;text-decoration:none;cursor:pointer}.repo-info{color:grey;font-size:0.65em}.repo-info a{color:grey}.repo-info .icon{color:grey}.about{width:100%;background-color:#F7F7F7}.about p{font-size:1.666rem;margin-top:2rem}@media (max-width: 49.99em){.about p{font-size:1.563rem}}@media (max-width: 25em){.about p{font-size:1.375rem}}.about a{background-image:linear-gradient(#0097a7, #0097a7);background-repeat:repeat-x;background-position:0 95%;background-size:2px 3px;text-decoration:none;text-shadow:0.03em 0 #fff,-0.03em 0 #fff,0 0.03em #fff,0 -0.03em #fff,0.06em 0 #fff,-0.06em 0 #fff,0.09em 0 #fff,-0.09em 0 #fff,0.12em 0 #fff,-0.12em 0 #fff,0.15em 0 #fff,-0.15em 0 #fff,0.03em 0.075em #fff,-0.03em 0.075em #fff,0.06em 0.075em #fff,-0.06em 0.075em #fff,0.09em 0.075em #fff,-0.09em 0.075em #fff,0.12em 0.075em #fff,-0.12em 0.075em #fff,0.15em 0.075em #fff,-0.15em 0.075em #fff}.about a:hover{color:#0097a7}.gallery .gallery-item{position:relative;width:50%;padding:0}.gallery .gallery-item::after{content:"";display:block;padding-bottom:100%}.gallery .gallery-item:hover .overlay{visibility:visible;opacity:1}.gallery .overlay{visibility:hidden;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:.25s ease-out;opacity:0;background-color:#212121;cursor:pointer}.gallery .overlay a{color:#fff}.gallery .overlay a:hover{color:#0097a7}.gallery .overlay h2{margin:2rem;color:#fff}.gallery .gallery-img-container{display:flex;position:absolute;align-items:center;justify-content:center;width:100%;height:100%}.gallery img{padding:6rem}.gallery .gallery-modal-link{display:flex;position:absolute;align-items:center;justify-content:center;width:100%;height:100%}[data-termynal]{max-width:100%;background:#212121;color:#F7F7F7;font-size:0.8em;font-family:"Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace;padding:75px 45px 35px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}[data-termynal]:before{content:'';position:absolute;top:15px;left:15px;display:inline-block;width:15px;height:15px;border-radius:50%;background:#d9515d;-webkit-box-shadow:25px 0 0 #f4c025,50px 0 0 #0097a7;box-shadow:25px 0 0 #f4c025,50px 0 0 #0097a7}[data-termynal]:after{content:"term";position:absolute;color:#4E6B6C;top:5px;left:0;width:100%;text-align:center}[data-ty]{display:block;line-height:2;color:#F7F7F7}[data-ty]:before{content:'';display:inline-block;vertical-align:middle}[data-ty="input"]:before,[data-ty-prompt]:before{margin-right:0.75em;color:#4E6B6C}[data-ty="input"]:before{content:'$'}[data-ty][data-ty-prompt]:before{content:attr(data-ty-prompt)}[data-ty-cursor]:after{content:attr(data-ty-cursor);font-family:monospace;margin-left:0.5em;-webkit-animation:blink 1s infinite;animation:blink 1s infinite}@-webkit-keyframes blink{50%{opacity:0}}@keyframes blink{50%{opacity:0}}*{box-sizing:border-box;margin:0;padding:0;border:0;font:inherit;color:#212121;vertical-align:baseline}*::before,*::after{box-sizing:border-box}html{box-sizing:inherit;overflow-x:hidden;scroll-behavior:smooth}footer .icon{padding-top:0.5em;font-size:1.25em}@media (max-width: 47.99em){body .container{padding:8rem 2rem}nav div:not(:first-child):not(:last-child){display:none}nav div.nav-toggle a{display:inline-block}footer .icon{padding:0.5em;font-size:2em}.mobile-hidden{visibility:hidden}}@media (max-width: 25em){body .container{padding:8rem 2rem}nav div.logo,nav div.nav-toggle{max-width:50% !important}}nav{position:absolute;z-index:100;bottom:0;width:100%;height:4rem;background-color:#fff;text-align:center}nav h3{margin:0;font-family:"Roboto","Poppins","HelĀ­vetica",Arial,sans-serif;font-weight:600;letter-spacing:2px;text-transform:uppercase}nav img{display:inline-block;max-width:10em;max-height:2.5em;vertical-align:middle}nav .logo,nav .nav-toggle{visibility:hidden}nav .nav-toggle a{display:none}nav .nav-item-active a{color:#0097a7}.nav-shadow{box-shadow:0 3px 4px rgba(0,0,0,0.2)}.nav-fixed{position:fixed;top:0;bottom:auto}.nav-full{position:fixed;top:0;right:-100vw;bottom:0;width:100vw;height:100%;transform:translate(0, 0);transition:.3s ease-out;background-color:#212121}.nav-full a,.nav-full .icon{color:#fff}.nav-full a:hover,.nav-full .icon:hover{color:#0097a7}.nav-full.active{transform:translate(-100vw, 0)}main{transition:.3s ease-in;background-color:#F7F7F7}main.active{transform:translate(-100vw, 0)}.container{max-width:43.75rem;margin:auto;padding:8rem 0 8rem}p{margin-bottom:2rem}p code{font-family:"Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace}h1,h2,h3{margin-bottom:2rem;font-family:"Roboto Slab","Ubuntu","Cambria",Georgia,serif;letter-spacing:2px;line-height:1.45}h1 a,h2 a,h3 a{text-decoration:none}.home-logo{margin-bottom:2rem}a>.icon{transition:color .2s ease-out}a>.icon:not(.icon-menu):hover,a>.icon:not(.icon-menu):focus{color:#0097a7}.full{top:0;bottom:0;height:100vh}.contact{width:100%;padding-bottom:4rem;background-color:#F7F7F7}.contact form{margin-top:2rem}.contact .contact-submit{position:relative}.contact #form-submit{display:block;width:50%;margin:0 auto}.contact #form-thankyou,.contact #form-sending,.contact #form-error{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}input,textarea,button,select{width:100%;margin:8px 0;padding:10px;border-width:1px;border-style:solid;border-radius:3px;border-color:#F7F7F7;background-color:#fff;color:#212121}input[type="submit"],textarea[type="submit"],button[type="submit"],select[type="submit"]{transition:.4s ease-out;background-color:#4E6B6C;color:#fff}input[type="submit"]:hover,textarea[type="submit"]:hover,button[type="submit"]:hover,select[type="submit"]:hover{background-color:#0097a7;color:#fff;cursor:pointer}input .icon,textarea .icon,button .icon,select .icon{color:#fff}button{white-space:nowrap}textarea{min-height:8rem;overflow:auto} +ļ»æ@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local("Roboto"),local("Roboto-Regular"),url("./fonts/roboto/roboto-v20-latin-regular.woff2") format("woff2"),url("./fonts/roboto/roboto-v20-latin-regular.woff") format("woff")}@font-face{font-family:'Roboto Slab';font-style:normal;font-weight:400;src:local("Roboto Slab Regular"),local("RobotoSlab-Regular"),url("./fonts/roboto/roboto-slab-v9-latin-regular.woff2") format("woff2"),url("./fonts/roboto/roboto-slab-v9-latin-regular.woff") format("woff")}@font-face{font-family:'icons';font-display:swap;font-weight:normal;font-style:normal;src:url("./fonts/icons/icons.woff2?30") format("woff2"),url("./fonts/icons/icons.woff?30") format("woff")}.col-xs-offset-12,.col-xs-offset-11,.col-xs-offset-10,.col-xs-offset-9,.col-xs-offset-8,.col-xs-offset-7,.col-xs-offset-6,.col-xs-offset-5,.col-xs-offset-4,.col-xs-offset-3,.col-xs-offset-2,.col-xs-offset-1,.col-xs-offset-0,.col-xs-12,.col-xs-11,.col-xs-10,.col-xs-9,.col-xs-8,.col-xs-7,.col-xs-6,.col-xs-5,.col-xs-4,.col-xs-3,.col-xs-2,.col-xs-1,.col-xs{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.container-fluid{margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}.container{margin-right:auto;margin-left:auto}.row{box-sizing:border-box;display:flex;flex:0 1 auto;flex-direction:row;flex-wrap:wrap}.row.reverse{flex-direction:row-reverse}.col-xs{flex-grow:1;flex-basis:0;max-width:100%}.col-xs-1{flex-basis:8.33333333%;max-width:8.33333333%}.col-xs-2{flex-basis:16.66666667%;max-width:16.66666667%}.col-xs-3{flex-basis:25%;max-width:25%}.col-xs-4{flex-basis:33.33333333%;max-width:33.33333333%}.col-xs-5{flex-basis:41.66666667%;max-width:41.66666667%}.col-xs-6{flex-basis:50%;max-width:50%}.col-xs-7{flex-basis:58.33333333%;max-width:58.33333333%}.col-xs-8{flex-basis:66.66666667%;max-width:66.66666667%}.col-xs-9{flex-basis:75%;max-width:75%}.col-xs-10{flex-basis:83.33333333%;max-width:83.33333333%}.col-xs-11{flex-basis:91.66666667%;max-width:91.66666667%}.col-xs-12{flex-basis:100%;max-width:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-11{margin-left:91.66666667%}.start-xs{justify-content:flex-start;text-align:start}.center-xs{justify-content:center;text-align:center}.end-xs{justify-content:flex-end;text-align:end}.top-xs{align-items:flex-start}.middle-xs{align-items:center}.bottom-xs{align-items:flex-end}.around-xs{justify-content:space-around}.between-xs{justify-content:space-between}.first-xs{order:-1}.last-xs{order:1}@media only screen and (min-width: 48em){.container{width:49rem}.col-sm{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-grow:1;flex-basis:0;max-width:100%}.col-sm-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:8.33333333%;max-width:8.33333333%}.col-sm-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:16.66666667%;max-width:16.66666667%}.col-sm-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:25%;max-width:25%}.col-sm-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:33.33333333%;max-width:33.33333333%}.col-sm-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:41.66666667%;max-width:41.66666667%}.col-sm-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:50%;max-width:50%}.col-sm-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:58.33333333%;max-width:58.33333333%}.col-sm-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:66.66666667%;max-width:66.66666667%}.col-sm-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:75%;max-width:75%}.col-sm-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:83.33333333%;max-width:83.33333333%}.col-sm-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:91.66666667%;max-width:91.66666667%}.col-sm-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:100%;max-width:100%}.col-sm-offset-0{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:0}.col-sm-offset-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:8.33333333%}.col-sm-offset-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:16.66666667%}.col-sm-offset-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:25%}.col-sm-offset-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:33.33333333%}.col-sm-offset-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:41.66666667%}.col-sm-offset-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:50%}.col-sm-offset-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:58.33333333%}.col-sm-offset-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:66.66666667%}.col-sm-offset-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:75%}.col-sm-offset-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:83.33333333%}.col-sm-offset-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:91.66666667%}.col-sm-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.start-sm{justify-content:flex-start;text-align:start}.center-sm{justify-content:center;text-align:center}.end-sm{justify-content:flex-end;text-align:end}.top-sm{align-items:flex-start}.middle-sm{align-items:center}.bottom-sm{align-items:flex-end}.around-sm{justify-content:space-around}.between-sm{justify-content:space-between}.first-sm{order:-1}.last-sm{order:1}}@media only screen and (min-width: 64em){.container{width:65rem}.col-md{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-grow:1;flex-basis:0;max-width:100%}.col-md-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:8.33333333%;max-width:8.33333333%}.col-md-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:16.66666667%;max-width:16.66666667%}.col-md-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:25%;max-width:25%}.col-md-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:33.33333333%;max-width:33.33333333%}.col-md-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:41.66666667%;max-width:41.66666667%}.col-md-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:50%;max-width:50%}.col-md-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:58.33333333%;max-width:58.33333333%}.col-md-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:66.66666667%;max-width:66.66666667%}.col-md-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:75%;max-width:75%}.col-md-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:83.33333333%;max-width:83.33333333%}.col-md-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:91.66666667%;max-width:91.66666667%}.col-md-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:100%;max-width:100%}.col-md-offset-0{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:0}.col-md-offset-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:8.33333333%}.col-md-offset-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:16.66666667%}.col-md-offset-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:25%}.col-md-offset-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:33.33333333%}.col-md-offset-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:41.66666667%}.col-md-offset-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:50%}.col-md-offset-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:58.33333333%}.col-md-offset-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:66.66666667%}.col-md-offset-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:75%}.col-md-offset-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:83.33333333%}.col-md-offset-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:91.66666667%}.col-md-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.start-md{justify-content:flex-start;text-align:start}.center-md{justify-content:center;text-align:center}.end-md{justify-content:flex-end;text-align:end}.top-md{align-items:flex-start}.middle-md{align-items:center}.bottom-md{align-items:flex-end}.around-md{justify-content:space-around}.between-md{justify-content:space-between}.first-md{order:-1}.last-md{order:1}}@media only screen and (min-width: 75em){.container{width:76rem}.col-lg{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-grow:1;flex-basis:0;max-width:100%}.col-lg-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:8.33333333%;max-width:8.33333333%}.col-lg-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:16.66666667%;max-width:16.66666667%}.col-lg-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:25%;max-width:25%}.col-lg-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:33.33333333%;max-width:33.33333333%}.col-lg-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:41.66666667%;max-width:41.66666667%}.col-lg-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:50%;max-width:50%}.col-lg-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:58.33333333%;max-width:58.33333333%}.col-lg-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:66.66666667%;max-width:66.66666667%}.col-lg-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:75%;max-width:75%}.col-lg-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:83.33333333%;max-width:83.33333333%}.col-lg-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:91.66666667%;max-width:91.66666667%}.col-lg-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:100%;max-width:100%}.col-lg-offset-0{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:0}.col-lg-offset-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:8.33333333%}.col-lg-offset-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:16.66666667%}.col-lg-offset-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:25%}.col-lg-offset-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:33.33333333%}.col-lg-offset-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:41.66666667%}.col-lg-offset-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:50%}.col-lg-offset-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:58.33333333%}.col-lg-offset-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:66.66666667%}.col-lg-offset-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:75%}.col-lg-offset-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:83.33333333%}.col-lg-offset-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:91.66666667%}.col-lg-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.start-lg{justify-content:flex-start;text-align:start}.center-lg{justify-content:center;text-align:center}.end-lg{justify-content:flex-end;text-align:end}.top-lg{align-items:flex-start}.middle-lg{align-items:center}.bottom-lg{align-items:flex-end}.around-lg{justify-content:space-around}.between-lg{justify-content:space-between}.first-lg{order:-1}.last-lg{order:1}}.col.reverse{flex-direction:column-reverse}h1{font-size:2.961rem}@media (max-width: 49.99em){h1{font-size:2.441rem}}@media (max-width: 25em){h1{font-size:2.148rem}}h2{font-size:2.221rem}@media (max-width: 49.99em){h2{font-size:1.953em}}@media (max-width: 25em){h2{font-size:1.719rem}}h3{font-size:1.666rem}@media (max-width: 49.99em){h3{font-size:1.563rem}}@media (max-width: 25em){h3{font-size:1.375rem}}small{font-size:0.8em;color:grey}.icon{font:normal normal normal 14px/1 icons;display:inline-block;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-active{color:#0097a7}span.icon{margin-right:.3em}.icon-2x{font-size:2em}.icon-heart:before{content:'\e800'}.icon-attention-circled:before{content:'\e801'}.icon-link:before{content:'\e802'}.icon-ok-circled:before{content:'\e803'}.icon-info-circled:before{content:'\e804'}.icon-cancel-circled:before{content:'\e805'}.icon-download:before{content:'\e806'}.icon-tags:before{content:'\e807'}.icon-link-ext:before{content:'\f08e'}.icon-left-circled:before{content:'\f0a8'}.icon-right-circled:before{content:'\f0a9'}.icon-menu:before{content:'\f0c9'}.icon-money:before{content:'\f0d6'}.icon-mail-alt:before{content:'\f0e0'}.icon-terminal:before{content:'\f120'}.icon-rocket:before{content:'\f135'}.icon-space-shuttle:before{content:'\f197'}.icon-address-card:before{content:'\f2bb'}.icon-share:before{content:'\f1e0'}.icon-github:before{content:'\f09b'}.icon-github-cat:before{content:'\f113'}.icon-twitter:before{content:'\f304'}.icon-facebook:before{content:'\f308'}.icon-linkedin:before{content:'\f30c'}.icon-reddit:before{content:'\f1a2'}.icon-rss:before{content:'\f143'}.icon-youtube:before{content:'\f166'}.icon-stackoverflow:before{content:'\f16c'}.icon-instagram:before{content:'\f16d'}.icon-paypal:before{content:'\f1ed'}.icon-pulse-slow{animation:color 8s infinite;animation-direction:alternate}.icon-pulse-fast{animation:color 2s infinite;animation-direction:alternate}@keyframes color{from{color:#0097a7}to{color:#212121}}@keyframes blink{from,to{color:transparent}50%{color:#212121}}@keyframes scale-in-center{0%{transform:scale(0);opacity:1}100%{transform:scale(1);opacity:1}}@keyframes scale-out-center{0%{transform:scale(1);opacity:1}100%{transform:scale(0);opacity:1}}.cursor{animation:1.2s blink infinite}.scale-in-center{animation:scale-in-center 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both}.scale-out-center{animation:scale-out-center 0.4s cubic-bezier(0.895, 0.03, 0.685, 0.22) both}body{font-size:1.25rem;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;color:#212121;font-family:"Roboto","Poppins","HelĀ­vetica",Arial,sans-serif;line-height:1.6}@media (max-width: 49.99em){body{font-size:1.25rem}}@media (max-width: 25em){body{font-size:1.1rem}}header{height:100vh;background-color:#fff}header div{z-index:101}header img{max-height:12rem}header h1{font-family:"Roboto","Poppins","HelĀ­vetica",Arial,sans-serif}footer{height:12rem;background-color:#212121}footer div,footer a,footer .icon{color:#fff}strong{font-weight:600}del,s{text-decoration:line-through}em,q,dfn{font-style:italic}a{transition:color .2s ease-out;text-decoration:none}a img{border:0}a:hover{color:#0097a7}img{display:inline-block;max-width:100%;vertical-align:middle}ul,ol{margin-bottom:2rem}ul li,ol li{margin-left:1.25em}ul li code,ol li code{font-family:"Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace}ul li{list-style-type:disc}.show{transition:opacity 600ms}.hide{opacity:0}.modal{display:flex;visibility:hidden;position:fixed;z-index:-1000;top:0;left:0;width:100%;height:100%;overflow:hidden;overflow-x:hidden;transition:opacity .1s ease-out;background-color:rgba(33,33,33,0.75)}.modal.active{visibility:visible;z-index:1000}.modal a:hover{color:#0097a7}.modal article a{color:#0097a7}.modal-box{position:relative;width:80%;max-width:1000px;max-height:85vh;margin:auto;border-radius:9px;background-color:#F7F7F7;box-shadow:0 0 50px 0 #212121}.modal-container{overflow:hidden;border-radius:7px}.modal-header{height:20vh;border-radius:7px}.modal-header-img-container{display:flex;align-items:center;justify-content:center;height:100%;padding:40px}.modal-header-img-container img{max-height:100%}.modal-content{max-height:calc(80vh - 20vh);padding:30px;overflow-y:auto}.term-content{max-height:calc(80vh - 20vh);overflow-y:auto}.close{position:absolute;top:10px;right:-4px;color:#F7F7F7;font-size:30px;font-weight:bold;line-height:.5}.close:hover,.close:focus{color:#0097a7;text-decoration:none;cursor:pointer}.repo-info{color:grey;font-size:0.65em}.repo-info a{color:grey}.repo-info .icon{color:grey}.about{width:100%;background-color:#F7F7F7}.about p{font-size:1.666rem;margin-top:2rem}@media (max-width: 49.99em){.about p{font-size:1.563rem}}@media (max-width: 25em){.about p{font-size:1.375rem}}.about a{background-image:linear-gradient(#0097a7, #0097a7);background-repeat:repeat-x;background-position:0 95%;background-size:2px 3px;text-decoration:none;text-shadow:0.03em 0 #fff,-0.03em 0 #fff,0 0.03em #fff,0 -0.03em #fff,0.06em 0 #fff,-0.06em 0 #fff,0.09em 0 #fff,-0.09em 0 #fff,0.12em 0 #fff,-0.12em 0 #fff,0.15em 0 #fff,-0.15em 0 #fff,0.03em 0.075em #fff,-0.03em 0.075em #fff,0.06em 0.075em #fff,-0.06em 0.075em #fff,0.09em 0.075em #fff,-0.09em 0.075em #fff,0.12em 0.075em #fff,-0.12em 0.075em #fff,0.15em 0.075em #fff,-0.15em 0.075em #fff}.about a:hover{color:#0097a7}.gallery .gallery-item{position:relative;width:50%;padding:0}.gallery .gallery-item::after{content:"";display:block;padding-bottom:100%}.gallery .gallery-item:hover .overlay{visibility:visible;opacity:1}.gallery .overlay{visibility:hidden;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:.25s ease-out;opacity:0;background-color:#212121;cursor:pointer}.gallery .overlay a{color:#fff}.gallery .overlay a:hover{color:#0097a7}.gallery .overlay h2{margin:2rem;color:#fff}.gallery .gallery-img-container{display:flex;position:absolute;align-items:center;justify-content:center;width:100%;height:100%}.gallery img{padding:6rem}.gallery .gallery-modal-link{display:flex;position:absolute;align-items:center;justify-content:center;width:100%;height:100%}img.lazyload:not([src]){visibility:hidden}.lazyload,.lazyloading{object-fit:contain;width:100%;height:400px}pre{margin-top:0;margin-bottom:2rem;padding:16px;overflow:auto;background-color:#F7F7F7;font:12px "Roboto Mono", "Consolas", "Liberation Mono", "Menlo", "Courier", monospace;font-family:"Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace;font-size:85%;line-height:1.45;word-wrap:normal}pre>code{margin:0;padding:0;border:0;background:transparent;font-size:100%;word-break:normal;white-space:pre}pre code{display:inline;margin:0;padding:0;overflow:visible;border:0;background-color:transparent;line-height:inherit;word-wrap:normal}pre code::before,pre code::after{content:normal}code{padding:4px;background-color:#F7F7F7;font-family:"Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace;font-size:90%}.sans{font-family:"Open Sans", "Myriad Pro", "Myriad", sans-serif}.mono,tt{font-family:"Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace}q::before{content:"\201C"}q::after{content:"\201D"}blockquote::after,blockquote::before{content:"\201C";color:#0097a7;font-family:"Roboto Slab","Ubuntu","Cambria",Georgia,serif;font-size:35px}blockquote{padding:25px;font-family:"Roboto Slab","Ubuntu","Cambria",Georgia,serif;text-align:center}blockquote p{display:inline-block;font-style:italic}blockquote::after{content:"\201D"}.posts-list{margin:0 0 2rem}.sub-header,time{font-size:1.25rem;margin-bottom:2rem;color:#4E6B6C}@media (max-width: 49.99em){.sub-header,time{font-size:1.25rem}}@media (max-width: 25em){.sub-header,time{font-size:1.1rem}}.content{width:100%;text-align:left}.content time{margin-left:3px}.content a{background-image:linear-gradient(#0097a7, #0097a7);background-repeat:repeat-x;background-position:0 95%;background-size:1px 2px;text-decoration:none;text-shadow:0.03em 0 #fff,-0.03em 0 #fff,0 0.03em #fff,0 -0.03em #fff,0.06em 0 #fff,-0.06em 0 #fff,0.09em 0 #fff,-0.09em 0 #fff,0.12em 0 #fff,-0.12em 0 #fff,0.15em 0 #fff,-0.15em 0 #fff,0.03em 0.075em #fff,-0.03em 0.075em #fff,0.06em 0.075em #fff,-0.06em 0.075em #fff,0.09em 0.075em #fff,-0.09em 0.075em #fff,0.12em 0.075em #fff,-0.12em 0.075em #fff,0.15em 0.075em #fff,-0.15em 0.075em #fff}.content a:hover{color:#0097a7}.highlight{margin:10px 0}.pagination{margin:50px 0 0}.pagination:nth-child(2){float:right}.blog{display:flex;min-height:100vh}.blog h2{margin-bottom:0}.blog h3{margin:0 0 4rem;font-family:"Roboto","Poppins","HelĀ­vetica",Arial,sans-serif}[data-termynal]{max-width:100%;background:#212121;color:#F7F7F7;font-size:0.8em;font-family:"Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace;padding:75px 45px 35px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}[data-termynal]:before{content:'';position:absolute;top:15px;left:15px;display:inline-block;width:15px;height:15px;border-radius:50%;background:#d9515d;-webkit-box-shadow:25px 0 0 #f4c025,50px 0 0 #0097a7;box-shadow:25px 0 0 #f4c025,50px 0 0 #0097a7}[data-termynal]:after{content:"term";position:absolute;color:#4E6B6C;top:5px;left:0;width:100%;text-align:center}[data-ty]{display:block;line-height:2;color:#F7F7F7}[data-ty]:before{content:'';display:inline-block;vertical-align:middle}[data-ty="input"]:before,[data-ty-prompt]:before{margin-right:0.75em;color:#4E6B6C}[data-ty="input"]:before{content:'$'}[data-ty][data-ty-prompt]:before{content:attr(data-ty-prompt)}[data-ty-cursor]:after{content:attr(data-ty-cursor);font-family:monospace;margin-left:0.5em;-webkit-animation:blink 1s infinite;animation:blink 1s infinite}@-webkit-keyframes blink{50%{opacity:0}}@keyframes blink{50%{opacity:0}}*{box-sizing:border-box;margin:0;padding:0;border:0;font:inherit;color:#212121;vertical-align:baseline}*::before,*::after{box-sizing:border-box}html{box-sizing:inherit;overflow-x:hidden;scroll-behavior:smooth}footer .icon{padding:0.5em;font-size:2em}@media (max-width: 47.99em){body .container{padding:8rem 2rem}nav div:not(:first-child):not(:last-child){display:none}nav div.nav-toggle a{display:inline-block}.mobile-hidden{visibility:hidden}}@media (max-width: 25em){body .container{padding:8rem 2rem}nav div.logo,nav div.nav-toggle{max-width:50% !important}}nav{position:absolute;z-index:100;bottom:0;width:100%;height:4rem;background-color:#fff;text-align:center}nav h3{margin:0;font-family:"Roboto","Poppins","HelĀ­vetica",Arial,sans-serif;font-weight:600;letter-spacing:2px;text-transform:uppercase}nav img{display:inline-block;max-width:10em;max-height:2.5em;vertical-align:middle}nav .logo,nav .nav-toggle{visibility:hidden}nav .nav-toggle a{display:none}nav .nav-item-active a{color:#0097a7}.nav-shadow{box-shadow:0 3px 4px rgba(0,0,0,0.2)}.nav-fixed{position:fixed;top:0;bottom:auto}.nav-full{position:fixed;top:0;right:-100vw;bottom:0;width:100vw;height:100%;transform:translate(0, 0);transition:.3s ease-out;background-color:#212121}.nav-full a,.nav-full .icon{color:#fff}.nav-full a:hover,.nav-full .icon:hover{color:#0097a7}.nav-full.active{transform:translate(-100vw, 0)}main{transition:.3s ease-in;background-color:#F7F7F7}main.active{transform:translate(-100vw, 0)}.container{max-width:43.75rem;margin:auto;padding:8rem 0 8rem}p{margin-bottom:2rem}p code{font-family:"Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace}h1,h2,h3{margin-bottom:2rem;font-family:"Roboto Slab","Ubuntu","Cambria",Georgia,serif;letter-spacing:2px;line-height:1.45}h1 a,h2 a,h3 a{text-decoration:none}.home-logo{margin-bottom:2rem}a>.icon{transition:color .2s ease-out}a>.icon:not(.icon-menu):hover,a>.icon:not(.icon-menu):focus{color:#0097a7}.full{top:0;bottom:0;height:100vh}.contact{width:100%;padding-bottom:4rem;background-color:#F7F7F7}.contact form{margin-top:2rem}.contact .contact-submit{position:relative}.contact #form-submit{display:block;width:50%;margin:0 auto}.contact #form-thankyou,.contact #form-sending,.contact #form-error{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}input,textarea,button,select{width:100%;margin:8px 0;padding:10px;border-width:1px;border-style:solid;border-radius:3px;border-color:#F7F7F7;background-color:#fff;color:#212121}input[type="submit"],textarea[type="submit"],button[type="submit"],select[type="submit"]{transition:.4s ease-out;background-color:#4E6B6C;color:#fff}input[type="submit"]:hover,textarea[type="submit"]:hover,button[type="submit"]:hover,select[type="submit"]:hover{background-color:#0097a7;color:#fff;cursor:pointer}input .icon,textarea .icon,button .icon,select .icon{color:#fff}button{white-space:nowrap}textarea{min-height:8rem;overflow:auto} diff --git a/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.json b/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.json index 2e2477e..8d0a582 100644 --- a/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.json +++ b/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.json @@ -1 +1 @@ -{"Target":"style.99c706c4b39456921057527eaa07573c108e67651332a274dbe919b51fefad88.css","MediaType":"text/css","Data":{"Integrity":"sha256-mccGxLOUVpIQV1J+qgdXPBCOZ2UTMqJ02+kZtR/vrYg="}} \ No newline at end of file +{"Target":"style.c6a070c7afeb5d39e7178d641b49e01a94acbf0d6355528c4923a7f16617ea93.css","MediaType":"text/css","Data":{"Integrity":"sha256-xqBwx6/rXTnnF41kG0ngGpSsvw1jVVKMSSOn8WYX6pM="}} \ No newline at end of file diff --git a/exampleSite/static/images/rugged-fellows-guide.png b/exampleSite/static/images/rugged-fellows-guide.png deleted file mode 100644 index f6d9dba3ab4edfd7dfbe3ffea588ded394e26240..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51236 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 diff --git a/layouts/index.html b/layouts/index.html index 5c25c12..e1afe8c 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -14,9 +14,11 @@ {{ end }} - + {{ if .Site.Params.Feat.useBlog -}} + {{ if not (eq (len (where .Site.RegularPages "Section" "blog")) 0) }} + {{ partial "blog.html" . }} + {{ end }} + {{ end }} {{ partial "contact.html" . }} diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 8262a66..6cfec5a 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -13,7 +13,7 @@ {{ end }} {{ if or (.Site.Params.credit) (eq (isset .Site.Params "credit") false) -}}
- Theme: osprey-delight (forked from osprey). + Theme: osprey-delight (fork of osprey).
{{- end }} diff --git a/layouts/partials/gallery-img.html b/layouts/partials/gallery-img.html index 6e4c944..775c9a8 100644 --- a/layouts/partials/gallery-img.html +++ b/layouts/partials/gallery-img.html @@ -1,16 +1,27 @@ {{ $scratch := newScratch }} -{{ with .Params.absImage -}} - {{ $scratch.Set "img" (. | absURL) }} +{{ with .Params.image -}} + {{ with (resources.Get .) -}} + {{/* TODO(kdevo): Make normalizing configurable */}} + {{ $image := .Resize "x300" }} + {{ $scratch.Set "img" $image.Permalink }} + {{/* $preview := .Fit "50x50 q25" */}} + {{/* $scratch.Set "imgPreview" $preview.Permalink */}} + {{- else -}} + {{ $scratch.Set "img" (. | absURL) }} + {{- end }} {{- else -}} - {{ with .Params.image -}} - {{ $scratch.Set "img" (printf "%s/%s" ("images" | relURL) .) }} + {{ with .Params.imageUrl }} + {{ $scratch.Set "img" (. | absURL) }} {{- else -}} {{ with .Params.github.repo -}} {{ $scratch.Set "img" ((printf "https://raw.githubusercontent.com/%s/master/.github/logo.png" .) | absURL) }} {{- end }} {{- end }} {{- end }} - \ No newline at end of file From 700612db2edfc770ff73bffb74be5ad2ba7e2624 Mon Sep 17 00:00:00 2001 From: kdevo Date: Sun, 12 Jul 2020 12:43:13 +0200 Subject: [PATCH 08/13] :sparkles: Re-add blog as optional module --- .gitignore | 1 - MOTIVATION.md | 5 +- README.md | 24 ++++-- archetypes/default.md | 1 + archetypes/gallery.md | 38 ++++++---- archetypes/post.md | 5 -- assets/js/src/misc.js | 38 +--------- assets/js/src/nav.js | 65 ++++++++++------ .../{static/images => assets}/osprey.png | Bin exampleSite/config.toml | 10 ++- exampleSite/content/blog/test.md | 7 ++ exampleSite/content/gallery/hugo.md | 1 + exampleSite/content/gallery/kdevo.md | 3 +- exampleSite/content/gallery/osprey-delight.md | 3 +- exampleSite/content/gallery/osprey.md | 1 + exampleSite/content/gallery/toma-nistor.md | 3 +- ...s_97bc3a74098849226ebef999cbcdad23.content | 2 +- ...scss_97bc3a74098849226ebef999cbcdad23.json | 2 +- exampleSite/static/images/osprey-logo.png | Bin 26739 -> 0 bytes layouts/index.html | 1 + layouts/partials/body-bottom.html | 13 +++- layouts/partials/gallery.html | 71 ++++++++---------- 22 files changed, 156 insertions(+), 138 deletions(-) delete mode 100644 archetypes/post.md rename exampleSite/{static/images => assets}/osprey.png (100%) create mode 100644 exampleSite/content/blog/test.md delete mode 100644 exampleSite/static/images/osprey-logo.png diff --git a/.gitignore b/.gitignore index 11d20b7..73d51d7 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,5 @@ workspace # /resources/* -# static/*/*-*.min.* .env diff --git a/MOTIVATION.md b/MOTIVATION.md index 7e7bee9..eb92256 100644 --- a/MOTIVATION.md +++ b/MOTIVATION.md @@ -5,15 +5,14 @@ Though the original theme is already performance-tuned, I decided to improve it Finally, I decided to publish it so that others with a similar use-case might profit from it, too. -## The "Taste" (Features) +> In the latest version, the blog features of the theme have been re-implemented in a modular way! -> :warning: Please note: In contrary to [Osprey](https://github.com/tomanistor/osprey) it does **not** have the built-in minimalistic blog! This is not the aim of the project. +## The "Taste" (Features) ### :low_brightness: Light: **Removed** features The following features of the original theme have been **removed** in order to make it more lightweight: -- **All** Blog features; use the [original Osprey](https://github.com/tomanistor/osprey) for this feature - [Disqus](https://disqus.com) comments (not needed anymore) - highlight.js (not needed anymore) - [Formspree](https://formspree.io) AJAX contact form (with Formspree Gold) diff --git a/README.md b/README.md index 1078ad1..0bbe03a 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,21 @@ - Osprey Delight Logo + Osprey Delight Logo Nelify Continous Deployment Status -![GitHub release (latest by date)](https://img.shields.io/github/v/release/kdevo/osprey-delight?style=flat-square) -![GitHub All Releases Downloads](https://img.shields.io/github/downloads/kdevo/osprey-delight/total?style=flat-square) -![Website status](https://img.shields.io/website?label=kdevo&style=flat-square&url=https%3A%2F%2Fkdevo.github.io&logo=github) +![GitHub release (latest by date)](https://img.shields.io/github/v/release/kdevo/osprey-delight?style=flat-square&up_color=%230097a7) +![Website status](https://img.shields.io/website?label=kdevo&style=flat-square&up_color=%230097a7&url=https%3A%2F%2Fkdevo.github.io) + --- + + Osprey **De**light is a sugar-free version of the [awesome Osprey theme](https://github.com/tomanistor/osprey) by [Toma Nistor](https://tomanistor.com/) for [Hugo](https://gohugo.io/), a fast static site generator. -It's a blazingly fast minimalistic single page portfolio perfectly suited to show off your awesome work! šŸ° +It's a blazingly fast minimalistic single page portfolio perfectly suited to show off your awesome work! > šŸ’” The theme tastes a bit different than the original (hence the *light* in the name) but also adds great new functionality - hopefully to your ***delight***. Read more about the motivation and differences of the fork [here](./MOTIVATION.md), but also check out the feature summary below! @@ -21,7 +23,7 @@ It's a blazingly fast minimalistic single page portfolio perfectly suited to sho - Gallery items with different types - `normal`: Just as you are used to with the original Osprey theme - - `github`: Magic GitHub API usage + - `github`: Magic GitHub API integration - Gallery images can optionally be normalized with Hugo's [amazing image processing](https://gohugo.io/content-management/image-processing/) - Blazingly fast loading speeds - Minified JS/CSS/icon bundles using Hugo Pipes @@ -39,6 +41,14 @@ It's a blazingly fast minimalistic single page portfolio perfectly suited to sho In general, many [open issues](https://github.com/tomanistor/osprey/issues) of the original theme have been resolved. + +## Support this project + +There are multiple ways to show your support if you like this project: +- Start [contributing](#Contributing) if you are familiar with Hugo themes/templating +- [Donate anything to my non-profit organization](https://pyotek.dev/donate) via various options +- Push the ![GitHub stars](https://img.shields.io/github/stars/kdevo/osprey-delight?style=social) button - a small gesture with huge effect + ## Screenshot ![Screenshot](https://raw.githubusercontent.com/kdevo/osprey-delight/master/images/tn.png) @@ -112,7 +122,7 @@ Feel free to open an issue if the protection did not work for you. Place a file named `_custom.scss` in your local **assets/sass/** folder (create the directories). This will override the theme's (empty) `_custom.scss` which is loaded in the internal main SCSS. -## Help wanted +## Contributing Contributions are welcome! Fork this repo and create a merge request if you implemented a feature or a bug fix that everyone can profit from. diff --git a/archetypes/default.md b/archetypes/default.md index 2971d56..2661a12 100644 --- a/archetypes/default.md +++ b/archetypes/default.md @@ -2,4 +2,5 @@ title = "{{ replace .TranslationBaseName "-" " " | title }}" date = {{ .Date }} draft = true +description = "" +++ diff --git a/archetypes/gallery.md b/archetypes/gallery.md index eae1a53..48a4196 100644 --- a/archetypes/gallery.md +++ b/archetypes/gallery.md @@ -1,36 +1,42 @@ --- -# [str] Display title of the project. +# [str] Title of the project. This is also visible when hovering over a gallery item. title: "{{ replace .TranslationBaseName "-" " " | title }}" -# [date] Specify project publication date. -# Changes order: The oldest item will be displayed first in the gallery. +# [str] Optional subtitle of the project. +# Functions as an additional explanation when hovering over a gallery item (comment out the following line). +# subtitle: "" +# [date] Project publication date. +# Changes order: The newest item will be displayed first in the gallery. +# Just like Hugo's natural ordering, this is anti-chronological. +# You can use 'weight' to order (primarily) for more control (sometimes it makes sense to put old items before new ones). +# The specifics are documented here: https://gohugo.io/templates/lists/#order-content date: "{{ .Date }}" -# [str] Gallery image file name. -# If the specified image is found in the 'assets' directory the image will be normalized to a specified height. -# If ommited AND type is 'github' (see below), will attempt to fetch from '{repo_url}/.github/logo.png'. +# [str] Gallery image file. +# If the specified image is found in the 'assets' directory the image will be normalized to a specified height. +# If ommited AND type is 'github' (see below), will attempt to fetch from '{repo_url}/.github/logo.png'. image: "" # [str] Alternatively, you can specify an absolute image URL (comment out the following line). -# absImage: "" -# [str] Provide alternative description. -# If ommited with type 'github', will use 'description' field from GitHub API. +# imageUrl: "" +# [str] Alternative (image) description. +# If ommited with type 'github', will use 'description' field from GitHub API. alt: "" -# [css] Set gallery item's background color. +# [css] Background color of the gallery item. color: "#fff" -# [str] Possible types: -# - normal: Just as in the original Osprey theme -# - github: Fetch repo data using GitHub API +# [enum] Possible types: +# - normal: Just as in the original Osprey theme +# - github: Fetch repo data using GitHub API type: "normal" # [str] Link to view the project. linkView: "" # [str] Link to show the project's code. -# If ommited with type 'github', will use 'html_url' field from GitHub API. +# If ommited with type 'github', will use 'html_url' field from GitHub API. linkCode: "" -# Configure 'github'-type specific options here: +# [map] Configure 'github'-type specific options here: github: # [str] Repo is a combination of "{user_or_org}/{repository_name}", e.g. "kdevo/osprey-delight. repo: "YOUR-GITHUB-NAME/{{ .TranslationBaseName }}" # [bool] Show repository information such project language below the buttons. showInfo: true -# Configure optional terminal to be displayed when opening up the gallery item: +# [map] Configure optional terminal to be displayed when opening up the gallery item: terminal: # lines: # - type: input diff --git a/archetypes/post.md b/archetypes/post.md deleted file mode 100644 index c6c65a0..0000000 --- a/archetypes/post.md +++ /dev/null @@ -1,5 +0,0 @@ -+++ -title = "{{ replace .TranslationBaseName "-" " " | title }}" -date = {{ .Date }} -draft = true -+++ \ No newline at end of file diff --git a/assets/js/src/misc.js b/assets/js/src/misc.js index 57666a0..fdb5ce8 100644 --- a/assets/js/src/misc.js +++ b/assets/js/src/misc.js @@ -2,45 +2,15 @@ var $ = document.querySelector.bind(document), $$ = document.querySelectorAll.bind(document) function setVisibility(e, visible) { - e.classList.add(visible ? 'show' : 'hide') - e.classList.remove(visible ? 'hide' : 'show') if (visible) { e.style.visibility = "visible" - e.removeAttribute("hidden") + // e.removeAttribute("hidden") } else { e.style.visibility = "hidden" - e.setAttribute("hidden", true) + // e.setAttribute("hidden", true) } + e.classList.add(visible ? 'show' : 'hide') + e.classList.remove(visible ? 'hide' : 'show') } function onLogoClick() {} - -// Partly adapted from https://medium.com/p/-3131c114abdc -document.addEventListener('DOMContentLoaded', function(){ - const ITEMS = [...$$(".nav-item")] - const SECTIONS = [...$$("main > section")].reverse() - const THRESHOLD = 340 - var oldIdx = -1 - - window.addEventListener("scroll", () => { - const idx = SECTIONS.length - SECTIONS.findIndex( - (sec) => window.scrollY > sec.offsetTop - THRESHOLD - ) - 1 - if (idx != oldIdx) { - ITEMS.forEach((itm) => itm.classList.remove("nav-item-active")) - ITEMS[idx].classList.add("nav-item-active") - oldIdx = idx - } - }); -}, false); - -// github = (function () { - // req = new XMLHttpRequest() - // req.open("GET", "https://api.github.com/repos/${repo}", true); - // req.send(); - // req.onreadystatechange = function() { - // if (this.readyState == 4 && this.status == 200) { - // console.log(this.responseText); - // } - // }; -// }) \ No newline at end of file diff --git a/assets/js/src/nav.js b/assets/js/src/nav.js index b45aeae..ea3bac3 100644 --- a/assets/js/src/nav.js +++ b/assets/js/src/nav.js @@ -1,47 +1,67 @@ -(function () { +function handleNavBar(isMainPage) { menuActive = false var nav = $('nav') - // Nav starts at bottom then is fixed to top - // Logo and hamburger menus fade in and out - window.onscroll = function () { - var scrollPosition = window.pageYOffset || document.documentElement.scrollTop, - windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight, - navHeight = nav.clientHeight - - if (scrollPosition > windowHeight - navHeight) { - // Nav is fixed to top + function setFixedNav(isFixed) { + if (isFixed) { + // Fixed to top nav.classList.add('nav-fixed') nav.classList.add('nav-shadow') $$('nav > .logo, nav > .nav-toggle').forEach(function (el) { - el.style.visibility = 'visible' - el.classList.add('show') - el.classList.remove('hide') + setVisibility(el, true) }) } else { - // Nav is not fixed + // Not fixed, at bottom nav.classList.remove('nav-fixed') nav.classList.remove('nav-shadow') - - $$('nav > .logo, nav > .nav-toggle').forEach(function (el) { - el.style.visibility = 'hidden' - el.classList.add('hide') - el.classList.remove('show') + setVisibility(el, false) }) } } + if (isMainPage) { + // Nav starts at bottom then is fixed to top + // Logo and hamburger menus fade in and out + // Scrollspy partly adapted from https://medium.com/p/-3131c114abdc + document.addEventListener('DOMContentLoaded', function () { + const ITEMS = [...$$(".nav-item")] + const SECTIONS = [...$$("main > section")].reverse() + const THRESHOLD = 340 + var oldIdx = -1 + + window.addEventListener("scroll", () => { + var scrollPosition = window.scrollY || window.pageYOffset || document.documentElement.scrollTop, + windowHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight, + navHeight = nav.clientHeight + + if (scrollPosition > windowHeight - navHeight) { + setFixedNav(true) + } else { + setFixedNav(false) + } + const idx = SECTIONS.length - 1 - SECTIONS.findIndex( + (sec) => scrollPosition > sec.offsetTop - THRESHOLD + ) + if (idx != oldIdx) { + ITEMS.forEach((itm) => itm.classList.remove("nav-item-active")) + ITEMS[idx].classList.add("nav-item-active") + oldIdx = idx + } + }); + }, false); + } else { + setFixedNav(true) + } + function toggle() { if (menuActive) { $('#open').classList.remove('icon-active') - menuActive = false } else { $('#open').classList.add('icon-active') - menuActive = true } } @@ -84,6 +104,7 @@ }) // Mobile browsers viewport height bug fix + // TODO(kdevo): Verify relevance function fullMobileViewport() { var element = this, viewportHeight = window.innerHeight, @@ -106,4 +127,4 @@ $$('header').forEach(function () { fullMobileViewport }) -})() +} diff --git a/exampleSite/static/images/osprey.png b/exampleSite/assets/osprey.png similarity index 100% rename from exampleSite/static/images/osprey.png rename to exampleSite/assets/osprey.png diff --git a/exampleSite/config.toml b/exampleSite/config.toml index 84c9aea..49e3b79 100644 --- a/exampleSite/config.toml +++ b/exampleSite/config.toml @@ -25,7 +25,7 @@ enableEmoji = true # [bool] The following will enforce redirection to the baseURL for all sub-directories/-pages. # Example: If you create about.md, Hugo will also create a '/about/index.html'. # This file will only contain a redirect directive if this switch is enabled. - enforceSinglePage = true + enforceSinglePage = false # [bool] Will generate copyright notice in footer for your site. copyright = true # [bool] Your credit is much appreciated. It will be displayed in a small way in your footer. @@ -85,13 +85,17 @@ enableEmoji = true name = "Work" url = "/#work" weight = 2 +[[menu.main]] + name = "Blog" + url = "/#blog" + weight = 3 [[menu.main]] name = "Contact" url = "/#contact" - weight = 3 + weight = 4 [[menu.main]] # Use icon here to neatly back reference an external site/blog/whatever: pre = " " name = "" url = "https://pyotek.dev" - weight = 4 + weight = 5 diff --git a/exampleSite/content/blog/test.md b/exampleSite/content/blog/test.md new file mode 100644 index 0000000..bd7cc21 --- /dev/null +++ b/exampleSite/content/blog/test.md @@ -0,0 +1,7 @@ ++++ +title = "Test" +date = "2017-06-27T17:39:21-07:00" +draft = false ++++ + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ac ut consequat semper viverra nam. Scelerisque in dictum non consectetur a erat nam at lectus. Enim praesent elementum facilisis leo vel fringilla est. Eu non diam phasellus vestibulum lorem sed risus. A diam maecenas sed enim ut sem. Ut tellus elementum sagittis vitae et leo duis. Sit amet nulla facilisi morbi tempus iaculis urna. Egestas fringilla phasellus faucibus scelerisque eleifend. Maecenas accumsan lacus vel facilisis. Diam sit amet nisl suscipit adipiscing bibendum est ultricies. Venenatis urna cursus eget nunc scelerisque. diff --git a/exampleSite/content/gallery/hugo.md b/exampleSite/content/gallery/hugo.md index 844ce79..afd3891 100644 --- a/exampleSite/content/gallery/hugo.md +++ b/exampleSite/content/gallery/hugo.md @@ -1,4 +1,5 @@ +++ +weight = 1 date = "2017-05-12T22:25:02-07:00" title = "Hugo" image = "hugo.png" diff --git a/exampleSite/content/gallery/kdevo.md b/exampleSite/content/gallery/kdevo.md index 01fc225..76abfaa 100644 --- a/exampleSite/content/gallery/kdevo.md +++ b/exampleSite/content/gallery/kdevo.md @@ -1,5 +1,6 @@ +++ -date = "2017-05-20T22:25:16-07:00" +weight = 20 +date = "2019-05-17T22:25:16-07:00" title = "kdevo" # Note that this image will be loaded from the static directory because it is not available under 'assets/': image = "images/kd.png" diff --git a/exampleSite/content/gallery/osprey-delight.md b/exampleSite/content/gallery/osprey-delight.md index 4d75338..bb519ca 100644 --- a/exampleSite/content/gallery/osprey-delight.md +++ b/exampleSite/content/gallery/osprey-delight.md @@ -1,5 +1,6 @@ --- -date: "2017-05-18T21:57:17-07:00" +weight: 20 +date: "2019-09-18T21:57:17-07:00" title: "Osprey Delight" image: "images/osprey-delight.png" color: "#b2ebf2" diff --git a/exampleSite/content/gallery/osprey.md b/exampleSite/content/gallery/osprey.md index da1265b..3a1ab2f 100644 --- a/exampleSite/content/gallery/osprey.md +++ b/exampleSite/content/gallery/osprey.md @@ -1,4 +1,5 @@ +++ +weight = 10 date = "2017-05-15T21:57:17-07:00" title = "Osprey" imageUrl = "images/osprey.png" diff --git a/exampleSite/content/gallery/toma-nistor.md b/exampleSite/content/gallery/toma-nistor.md index c96cc07..7acf5ca 100644 --- a/exampleSite/content/gallery/toma-nistor.md +++ b/exampleSite/content/gallery/toma-nistor.md @@ -1,5 +1,6 @@ +++ -date = "2017-05-15T22:25:16-07:00" +weight = 10 +date = "2017-05-15T20:00:16-07:00" title = "Toma Nistor" image = "toma-nistor.png" alt = "Toma Nistor" diff --git a/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.content b/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.content index 2859f2c..7f63ad1 100644 --- a/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.content +++ b/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.content @@ -1 +1 @@ -ļ»æ@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local("Roboto"),local("Roboto-Regular"),url("./fonts/roboto/roboto-v20-latin-regular.woff2") format("woff2"),url("./fonts/roboto/roboto-v20-latin-regular.woff") format("woff")}@font-face{font-family:'Roboto Slab';font-style:normal;font-weight:400;src:local("Roboto Slab Regular"),local("RobotoSlab-Regular"),url("./fonts/roboto/roboto-slab-v9-latin-regular.woff2") format("woff2"),url("./fonts/roboto/roboto-slab-v9-latin-regular.woff") format("woff")}@font-face{font-family:'icons';font-display:swap;font-weight:normal;font-style:normal;src:url("./fonts/icons/icons.woff2?30") format("woff2"),url("./fonts/icons/icons.woff?30") format("woff")}.col-xs-offset-12,.col-xs-offset-11,.col-xs-offset-10,.col-xs-offset-9,.col-xs-offset-8,.col-xs-offset-7,.col-xs-offset-6,.col-xs-offset-5,.col-xs-offset-4,.col-xs-offset-3,.col-xs-offset-2,.col-xs-offset-1,.col-xs-offset-0,.col-xs-12,.col-xs-11,.col-xs-10,.col-xs-9,.col-xs-8,.col-xs-7,.col-xs-6,.col-xs-5,.col-xs-4,.col-xs-3,.col-xs-2,.col-xs-1,.col-xs{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.container-fluid{margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}.container{margin-right:auto;margin-left:auto}.row{box-sizing:border-box;display:flex;flex:0 1 auto;flex-direction:row;flex-wrap:wrap}.row.reverse{flex-direction:row-reverse}.col-xs{flex-grow:1;flex-basis:0;max-width:100%}.col-xs-1{flex-basis:8.33333333%;max-width:8.33333333%}.col-xs-2{flex-basis:16.66666667%;max-width:16.66666667%}.col-xs-3{flex-basis:25%;max-width:25%}.col-xs-4{flex-basis:33.33333333%;max-width:33.33333333%}.col-xs-5{flex-basis:41.66666667%;max-width:41.66666667%}.col-xs-6{flex-basis:50%;max-width:50%}.col-xs-7{flex-basis:58.33333333%;max-width:58.33333333%}.col-xs-8{flex-basis:66.66666667%;max-width:66.66666667%}.col-xs-9{flex-basis:75%;max-width:75%}.col-xs-10{flex-basis:83.33333333%;max-width:83.33333333%}.col-xs-11{flex-basis:91.66666667%;max-width:91.66666667%}.col-xs-12{flex-basis:100%;max-width:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-11{margin-left:91.66666667%}.start-xs{justify-content:flex-start;text-align:start}.center-xs{justify-content:center;text-align:center}.end-xs{justify-content:flex-end;text-align:end}.top-xs{align-items:flex-start}.middle-xs{align-items:center}.bottom-xs{align-items:flex-end}.around-xs{justify-content:space-around}.between-xs{justify-content:space-between}.first-xs{order:-1}.last-xs{order:1}@media only screen and (min-width: 48em){.container{width:49rem}.col-sm{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-grow:1;flex-basis:0;max-width:100%}.col-sm-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:8.33333333%;max-width:8.33333333%}.col-sm-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:16.66666667%;max-width:16.66666667%}.col-sm-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:25%;max-width:25%}.col-sm-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:33.33333333%;max-width:33.33333333%}.col-sm-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:41.66666667%;max-width:41.66666667%}.col-sm-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:50%;max-width:50%}.col-sm-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:58.33333333%;max-width:58.33333333%}.col-sm-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:66.66666667%;max-width:66.66666667%}.col-sm-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:75%;max-width:75%}.col-sm-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:83.33333333%;max-width:83.33333333%}.col-sm-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:91.66666667%;max-width:91.66666667%}.col-sm-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:100%;max-width:100%}.col-sm-offset-0{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:0}.col-sm-offset-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:8.33333333%}.col-sm-offset-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:16.66666667%}.col-sm-offset-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:25%}.col-sm-offset-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:33.33333333%}.col-sm-offset-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:41.66666667%}.col-sm-offset-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:50%}.col-sm-offset-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:58.33333333%}.col-sm-offset-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:66.66666667%}.col-sm-offset-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:75%}.col-sm-offset-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:83.33333333%}.col-sm-offset-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:91.66666667%}.col-sm-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.start-sm{justify-content:flex-start;text-align:start}.center-sm{justify-content:center;text-align:center}.end-sm{justify-content:flex-end;text-align:end}.top-sm{align-items:flex-start}.middle-sm{align-items:center}.bottom-sm{align-items:flex-end}.around-sm{justify-content:space-around}.between-sm{justify-content:space-between}.first-sm{order:-1}.last-sm{order:1}}@media only screen and (min-width: 64em){.container{width:65rem}.col-md{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-grow:1;flex-basis:0;max-width:100%}.col-md-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:8.33333333%;max-width:8.33333333%}.col-md-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:16.66666667%;max-width:16.66666667%}.col-md-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:25%;max-width:25%}.col-md-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:33.33333333%;max-width:33.33333333%}.col-md-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:41.66666667%;max-width:41.66666667%}.col-md-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:50%;max-width:50%}.col-md-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:58.33333333%;max-width:58.33333333%}.col-md-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:66.66666667%;max-width:66.66666667%}.col-md-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:75%;max-width:75%}.col-md-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:83.33333333%;max-width:83.33333333%}.col-md-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:91.66666667%;max-width:91.66666667%}.col-md-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:100%;max-width:100%}.col-md-offset-0{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:0}.col-md-offset-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:8.33333333%}.col-md-offset-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:16.66666667%}.col-md-offset-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:25%}.col-md-offset-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:33.33333333%}.col-md-offset-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:41.66666667%}.col-md-offset-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:50%}.col-md-offset-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:58.33333333%}.col-md-offset-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:66.66666667%}.col-md-offset-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:75%}.col-md-offset-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:83.33333333%}.col-md-offset-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:91.66666667%}.col-md-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.start-md{justify-content:flex-start;text-align:start}.center-md{justify-content:center;text-align:center}.end-md{justify-content:flex-end;text-align:end}.top-md{align-items:flex-start}.middle-md{align-items:center}.bottom-md{align-items:flex-end}.around-md{justify-content:space-around}.between-md{justify-content:space-between}.first-md{order:-1}.last-md{order:1}}@media only screen and (min-width: 75em){.container{width:76rem}.col-lg{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-grow:1;flex-basis:0;max-width:100%}.col-lg-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:8.33333333%;max-width:8.33333333%}.col-lg-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:16.66666667%;max-width:16.66666667%}.col-lg-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:25%;max-width:25%}.col-lg-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:33.33333333%;max-width:33.33333333%}.col-lg-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:41.66666667%;max-width:41.66666667%}.col-lg-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:50%;max-width:50%}.col-lg-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:58.33333333%;max-width:58.33333333%}.col-lg-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:66.66666667%;max-width:66.66666667%}.col-lg-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:75%;max-width:75%}.col-lg-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:83.33333333%;max-width:83.33333333%}.col-lg-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:91.66666667%;max-width:91.66666667%}.col-lg-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:100%;max-width:100%}.col-lg-offset-0{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:0}.col-lg-offset-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:8.33333333%}.col-lg-offset-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:16.66666667%}.col-lg-offset-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:25%}.col-lg-offset-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:33.33333333%}.col-lg-offset-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:41.66666667%}.col-lg-offset-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:50%}.col-lg-offset-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:58.33333333%}.col-lg-offset-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:66.66666667%}.col-lg-offset-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:75%}.col-lg-offset-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:83.33333333%}.col-lg-offset-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:91.66666667%}.col-lg-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.start-lg{justify-content:flex-start;text-align:start}.center-lg{justify-content:center;text-align:center}.end-lg{justify-content:flex-end;text-align:end}.top-lg{align-items:flex-start}.middle-lg{align-items:center}.bottom-lg{align-items:flex-end}.around-lg{justify-content:space-around}.between-lg{justify-content:space-between}.first-lg{order:-1}.last-lg{order:1}}.col.reverse{flex-direction:column-reverse}h1{font-size:2.961rem}@media (max-width: 49.99em){h1{font-size:2.441rem}}@media (max-width: 25em){h1{font-size:2.148rem}}h2{font-size:2.221rem}@media (max-width: 49.99em){h2{font-size:1.953em}}@media (max-width: 25em){h2{font-size:1.719rem}}h3{font-size:1.666rem}@media (max-width: 49.99em){h3{font-size:1.563rem}}@media (max-width: 25em){h3{font-size:1.375rem}}small{font-size:0.8em;color:grey}.icon{font:normal normal normal 14px/1 icons;display:inline-block;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-active{color:#0097a7}span.icon{margin-right:.3em}.icon-2x{font-size:2em}.icon-heart:before{content:'\e800'}.icon-attention-circled:before{content:'\e801'}.icon-link:before{content:'\e802'}.icon-ok-circled:before{content:'\e803'}.icon-info-circled:before{content:'\e804'}.icon-cancel-circled:before{content:'\e805'}.icon-download:before{content:'\e806'}.icon-tags:before{content:'\e807'}.icon-link-ext:before{content:'\f08e'}.icon-left-circled:before{content:'\f0a8'}.icon-right-circled:before{content:'\f0a9'}.icon-menu:before{content:'\f0c9'}.icon-money:before{content:'\f0d6'}.icon-mail-alt:before{content:'\f0e0'}.icon-terminal:before{content:'\f120'}.icon-rocket:before{content:'\f135'}.icon-space-shuttle:before{content:'\f197'}.icon-address-card:before{content:'\f2bb'}.icon-share:before{content:'\f1e0'}.icon-github:before{content:'\f09b'}.icon-github-cat:before{content:'\f113'}.icon-twitter:before{content:'\f304'}.icon-facebook:before{content:'\f308'}.icon-linkedin:before{content:'\f30c'}.icon-reddit:before{content:'\f1a2'}.icon-rss:before{content:'\f143'}.icon-youtube:before{content:'\f166'}.icon-stackoverflow:before{content:'\f16c'}.icon-instagram:before{content:'\f16d'}.icon-paypal:before{content:'\f1ed'}.icon-pulse-slow{animation:color 8s infinite;animation-direction:alternate}.icon-pulse-fast{animation:color 2s infinite;animation-direction:alternate}@keyframes color{from{color:#0097a7}to{color:#212121}}@keyframes blink{from,to{color:transparent}50%{color:#212121}}@keyframes scale-in-center{0%{transform:scale(0);opacity:1}100%{transform:scale(1);opacity:1}}@keyframes scale-out-center{0%{transform:scale(1);opacity:1}100%{transform:scale(0);opacity:1}}.cursor{animation:1.2s blink infinite}.scale-in-center{animation:scale-in-center 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both}.scale-out-center{animation:scale-out-center 0.4s cubic-bezier(0.895, 0.03, 0.685, 0.22) both}body{font-size:1.25rem;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;color:#212121;font-family:"Roboto","Poppins","HelĀ­vetica",Arial,sans-serif;line-height:1.6}@media (max-width: 49.99em){body{font-size:1.25rem}}@media (max-width: 25em){body{font-size:1.1rem}}header{height:100vh;background-color:#fff}header div{z-index:101}header img{max-height:12rem}header h1{font-family:"Roboto","Poppins","HelĀ­vetica",Arial,sans-serif}footer{height:12rem;background-color:#212121}footer div,footer a,footer .icon{color:#fff}strong{font-weight:600}del,s{text-decoration:line-through}em,q,dfn{font-style:italic}a{transition:color .2s ease-out;text-decoration:none}a img{border:0}a:hover{color:#0097a7}img{display:inline-block;max-width:100%;vertical-align:middle}ul,ol{margin-bottom:2rem}ul li,ol li{margin-left:1.25em}ul li code,ol li code{font-family:"Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace}ul li{list-style-type:disc}.show{transition:opacity 600ms}.hide{opacity:0}.modal{display:flex;visibility:hidden;position:fixed;z-index:-1000;top:0;left:0;width:100%;height:100%;overflow:hidden;overflow-x:hidden;transition:opacity .1s ease-out;background-color:rgba(33,33,33,0.75)}.modal.active{visibility:visible;z-index:1000}.modal a:hover{color:#0097a7}.modal article a{color:#0097a7}.modal-box{position:relative;width:80%;max-width:1000px;max-height:85vh;margin:auto;border-radius:9px;background-color:#F7F7F7;box-shadow:0 0 50px 0 #212121}.modal-container{overflow:hidden;border-radius:7px}.modal-header{height:20vh;border-radius:7px}.modal-header-img-container{display:flex;align-items:center;justify-content:center;height:100%;padding:40px}.modal-header-img-container img{max-height:100%}.modal-content{max-height:calc(80vh - 20vh);padding:30px;overflow-y:auto}.term-content{max-height:calc(80vh - 20vh);overflow-y:auto}.close{position:absolute;top:10px;right:-4px;color:#F7F7F7;font-size:30px;font-weight:bold;line-height:.5}.close:hover,.close:focus{color:#0097a7;text-decoration:none;cursor:pointer}.repo-info{color:grey;font-size:0.65em}.repo-info a{color:grey}.repo-info .icon{color:grey}.about{width:100%;background-color:#F7F7F7}.about p{font-size:1.666rem;margin-top:2rem}@media (max-width: 49.99em){.about p{font-size:1.563rem}}@media (max-width: 25em){.about p{font-size:1.375rem}}.about a{background-image:linear-gradient(#0097a7, #0097a7);background-repeat:repeat-x;background-position:0 95%;background-size:2px 3px;text-decoration:none;text-shadow:0.03em 0 #fff,-0.03em 0 #fff,0 0.03em #fff,0 -0.03em #fff,0.06em 0 #fff,-0.06em 0 #fff,0.09em 0 #fff,-0.09em 0 #fff,0.12em 0 #fff,-0.12em 0 #fff,0.15em 0 #fff,-0.15em 0 #fff,0.03em 0.075em #fff,-0.03em 0.075em #fff,0.06em 0.075em #fff,-0.06em 0.075em #fff,0.09em 0.075em #fff,-0.09em 0.075em #fff,0.12em 0.075em #fff,-0.12em 0.075em #fff,0.15em 0.075em #fff,-0.15em 0.075em #fff}.about a:hover{color:#0097a7}.gallery .gallery-item{position:relative;width:50%;padding:0}.gallery .gallery-item::after{content:"";display:block;padding-bottom:100%}.gallery .gallery-item:hover .overlay{visibility:visible;opacity:1}.gallery .overlay{visibility:hidden;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:.25s ease-out;opacity:0;background-color:#212121;cursor:pointer}.gallery .overlay a{color:#fff}.gallery .overlay a:hover{color:#0097a7}.gallery .overlay h2{margin:2rem;color:#fff}.gallery .gallery-img-container{display:flex;position:absolute;align-items:center;justify-content:center;width:100%;height:100%}.gallery img{padding:6rem}.gallery .gallery-modal-link{display:flex;position:absolute;align-items:center;justify-content:center;width:100%;height:100%}img.lazyload:not([src]){visibility:hidden}.lazyload,.lazyloading{object-fit:contain;width:100%;height:400px}pre{margin-top:0;margin-bottom:2rem;padding:16px;overflow:auto;background-color:#F7F7F7;font:12px "Roboto Mono", "Consolas", "Liberation Mono", "Menlo", "Courier", monospace;font-family:"Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace;font-size:85%;line-height:1.45;word-wrap:normal}pre>code{margin:0;padding:0;border:0;background:transparent;font-size:100%;word-break:normal;white-space:pre}pre code{display:inline;margin:0;padding:0;overflow:visible;border:0;background-color:transparent;line-height:inherit;word-wrap:normal}pre code::before,pre code::after{content:normal}code{padding:4px;background-color:#F7F7F7;font-family:"Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace;font-size:90%}.sans{font-family:"Open Sans", "Myriad Pro", "Myriad", sans-serif}.mono,tt{font-family:"Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace}q::before{content:"\201C"}q::after{content:"\201D"}blockquote::after,blockquote::before{content:"\201C";color:#0097a7;font-family:"Roboto Slab","Ubuntu","Cambria",Georgia,serif;font-size:35px}blockquote{padding:25px;font-family:"Roboto Slab","Ubuntu","Cambria",Georgia,serif;text-align:center}blockquote p{display:inline-block;font-style:italic}blockquote::after{content:"\201D"}.posts-list{margin:0 0 2rem}.sub-header,time{font-size:1.25rem;margin-bottom:2rem;color:#4E6B6C}@media (max-width: 49.99em){.sub-header,time{font-size:1.25rem}}@media (max-width: 25em){.sub-header,time{font-size:1.1rem}}.content{width:100%;text-align:left}.content time{margin-left:3px}.content a{background-image:linear-gradient(#0097a7, #0097a7);background-repeat:repeat-x;background-position:0 95%;background-size:1px 2px;text-decoration:none;text-shadow:0.03em 0 #fff,-0.03em 0 #fff,0 0.03em #fff,0 -0.03em #fff,0.06em 0 #fff,-0.06em 0 #fff,0.09em 0 #fff,-0.09em 0 #fff,0.12em 0 #fff,-0.12em 0 #fff,0.15em 0 #fff,-0.15em 0 #fff,0.03em 0.075em #fff,-0.03em 0.075em #fff,0.06em 0.075em #fff,-0.06em 0.075em #fff,0.09em 0.075em #fff,-0.09em 0.075em #fff,0.12em 0.075em #fff,-0.12em 0.075em #fff,0.15em 0.075em #fff,-0.15em 0.075em #fff}.content a:hover{color:#0097a7}.highlight{margin:10px 0}.pagination{margin:50px 0 0}.pagination:nth-child(2){float:right}.blog{display:flex;min-height:100vh}.blog h2{margin-bottom:0}.blog h3{margin:0 0 4rem;font-family:"Roboto","Poppins","HelĀ­vetica",Arial,sans-serif}[data-termynal]{max-width:100%;background:#212121;color:#F7F7F7;font-size:0.8em;font-family:"Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace;padding:75px 45px 35px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}[data-termynal]:before{content:'';position:absolute;top:15px;left:15px;display:inline-block;width:15px;height:15px;border-radius:50%;background:#d9515d;-webkit-box-shadow:25px 0 0 #f4c025,50px 0 0 #0097a7;box-shadow:25px 0 0 #f4c025,50px 0 0 #0097a7}[data-termynal]:after{content:"term";position:absolute;color:#4E6B6C;top:5px;left:0;width:100%;text-align:center}[data-ty]{display:block;line-height:2;color:#F7F7F7}[data-ty]:before{content:'';display:inline-block;vertical-align:middle}[data-ty="input"]:before,[data-ty-prompt]:before{margin-right:0.75em;color:#4E6B6C}[data-ty="input"]:before{content:'$'}[data-ty][data-ty-prompt]:before{content:attr(data-ty-prompt)}[data-ty-cursor]:after{content:attr(data-ty-cursor);font-family:monospace;margin-left:0.5em;-webkit-animation:blink 1s infinite;animation:blink 1s infinite}@-webkit-keyframes blink{50%{opacity:0}}@keyframes blink{50%{opacity:0}}*{box-sizing:border-box;margin:0;padding:0;border:0;font:inherit;color:#212121;vertical-align:baseline}*::before,*::after{box-sizing:border-box}html{box-sizing:inherit;overflow-x:hidden;scroll-behavior:smooth}footer .icon{padding:0.5em;font-size:2em}@media (max-width: 47.99em){body .container{padding:8rem 2rem}nav div:not(:first-child):not(:last-child){display:none}nav div.nav-toggle a{display:inline-block}.mobile-hidden{visibility:hidden}}@media (max-width: 25em){body .container{padding:8rem 2rem}nav div.logo,nav div.nav-toggle{max-width:50% !important}}nav{position:absolute;z-index:100;bottom:0;width:100%;height:4rem;background-color:#fff;text-align:center}nav h3{margin:0;font-family:"Roboto","Poppins","HelĀ­vetica",Arial,sans-serif;font-weight:600;letter-spacing:2px;text-transform:uppercase}nav img{display:inline-block;max-width:10em;max-height:2.5em;vertical-align:middle}nav .logo,nav .nav-toggle{visibility:hidden}nav .nav-toggle a{display:none}nav .nav-item-active a{color:#0097a7}.nav-shadow{box-shadow:0 3px 4px rgba(0,0,0,0.2)}.nav-fixed{position:fixed;top:0;bottom:auto}.nav-full{position:fixed;top:0;right:-100vw;bottom:0;width:100vw;height:100%;transform:translate(0, 0);transition:.3s ease-out;background-color:#212121}.nav-full a,.nav-full .icon{color:#fff}.nav-full a:hover,.nav-full .icon:hover{color:#0097a7}.nav-full.active{transform:translate(-100vw, 0)}main{transition:.3s ease-in;background-color:#F7F7F7}main.active{transform:translate(-100vw, 0)}.container{max-width:43.75rem;margin:auto;padding:8rem 0 8rem}p{margin-bottom:2rem}p code{font-family:"Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace}h1,h2,h3{margin-bottom:2rem;font-family:"Roboto Slab","Ubuntu","Cambria",Georgia,serif;letter-spacing:2px;line-height:1.45}h1 a,h2 a,h3 a{text-decoration:none}.home-logo{margin-bottom:2rem}a>.icon{transition:color .2s ease-out}a>.icon:not(.icon-menu):hover,a>.icon:not(.icon-menu):focus{color:#0097a7}.full{top:0;bottom:0;height:100vh}.contact{width:100%;padding-bottom:4rem;background-color:#F7F7F7}.contact form{margin-top:2rem}.contact .contact-submit{position:relative}.contact #form-submit{display:block;width:50%;margin:0 auto}.contact #form-thankyou,.contact #form-sending,.contact #form-error{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}input,textarea,button,select{width:100%;margin:8px 0;padding:10px;border-width:1px;border-style:solid;border-radius:3px;border-color:#F7F7F7;background-color:#fff;color:#212121}input[type="submit"],textarea[type="submit"],button[type="submit"],select[type="submit"]{transition:.4s ease-out;background-color:#4E6B6C;color:#fff}input[type="submit"]:hover,textarea[type="submit"]:hover,button[type="submit"]:hover,select[type="submit"]:hover{background-color:#0097a7;color:#fff;cursor:pointer}input .icon,textarea .icon,button .icon,select .icon{color:#fff}button{white-space:nowrap}textarea{min-height:8rem;overflow:auto} +ļ»æ@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local("Roboto"),local("Roboto-Regular"),url("./fonts/roboto/roboto-v20-latin-regular.woff2") format("woff2"),url("./fonts/roboto/roboto-v20-latin-regular.woff") format("woff")}@font-face{font-family:'Roboto Slab';font-style:normal;font-weight:400;src:local("Roboto Slab Regular"),local("RobotoSlab-Regular"),url("./fonts/roboto/roboto-slab-v9-latin-regular.woff2") format("woff2"),url("./fonts/roboto/roboto-slab-v9-latin-regular.woff") format("woff")}@font-face{font-family:'icons';font-display:swap;font-weight:normal;font-style:normal;src:url("./fonts/icons/icons.woff2?30") format("woff2"),url("./fonts/icons/icons.woff?30") format("woff")}.col-xs-offset-12,.col-xs-offset-11,.col-xs-offset-10,.col-xs-offset-9,.col-xs-offset-8,.col-xs-offset-7,.col-xs-offset-6,.col-xs-offset-5,.col-xs-offset-4,.col-xs-offset-3,.col-xs-offset-2,.col-xs-offset-1,.col-xs-offset-0,.col-xs-12,.col-xs-11,.col-xs-10,.col-xs-9,.col-xs-8,.col-xs-7,.col-xs-6,.col-xs-5,.col-xs-4,.col-xs-3,.col-xs-2,.col-xs-1,.col-xs{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.container-fluid{margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}.container{margin-right:auto;margin-left:auto}.row{box-sizing:border-box;display:flex;flex:0 1 auto;flex-direction:row;flex-wrap:wrap}.row.reverse{flex-direction:row-reverse}.col-xs{flex-grow:1;flex-basis:0;max-width:100%}.col-xs-1{flex-basis:8.33333333%;max-width:8.33333333%}.col-xs-2{flex-basis:16.66666667%;max-width:16.66666667%}.col-xs-3{flex-basis:25%;max-width:25%}.col-xs-4{flex-basis:33.33333333%;max-width:33.33333333%}.col-xs-5{flex-basis:41.66666667%;max-width:41.66666667%}.col-xs-6{flex-basis:50%;max-width:50%}.col-xs-7{flex-basis:58.33333333%;max-width:58.33333333%}.col-xs-8{flex-basis:66.66666667%;max-width:66.66666667%}.col-xs-9{flex-basis:75%;max-width:75%}.col-xs-10{flex-basis:83.33333333%;max-width:83.33333333%}.col-xs-11{flex-basis:91.66666667%;max-width:91.66666667%}.col-xs-12{flex-basis:100%;max-width:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-11{margin-left:91.66666667%}.start-xs{justify-content:flex-start;text-align:start}.center-xs{justify-content:center;text-align:center}.end-xs{justify-content:flex-end;text-align:end}.top-xs{align-items:flex-start}.middle-xs{align-items:center}.bottom-xs{align-items:flex-end}.around-xs{justify-content:space-around}.between-xs{justify-content:space-between}.first-xs{order:-1}.last-xs{order:1}@media only screen and (min-width: 48em){.container{width:49rem}.col-sm{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-grow:1;flex-basis:0;max-width:100%}.col-sm-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:8.33333333%;max-width:8.33333333%}.col-sm-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:16.66666667%;max-width:16.66666667%}.col-sm-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:25%;max-width:25%}.col-sm-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:33.33333333%;max-width:33.33333333%}.col-sm-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:41.66666667%;max-width:41.66666667%}.col-sm-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:50%;max-width:50%}.col-sm-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:58.33333333%;max-width:58.33333333%}.col-sm-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:66.66666667%;max-width:66.66666667%}.col-sm-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:75%;max-width:75%}.col-sm-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:83.33333333%;max-width:83.33333333%}.col-sm-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:91.66666667%;max-width:91.66666667%}.col-sm-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:100%;max-width:100%}.col-sm-offset-0{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:0}.col-sm-offset-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:8.33333333%}.col-sm-offset-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:16.66666667%}.col-sm-offset-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:25%}.col-sm-offset-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:33.33333333%}.col-sm-offset-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:41.66666667%}.col-sm-offset-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:50%}.col-sm-offset-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:58.33333333%}.col-sm-offset-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:66.66666667%}.col-sm-offset-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:75%}.col-sm-offset-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:83.33333333%}.col-sm-offset-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:91.66666667%}.col-sm-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.start-sm{justify-content:flex-start;text-align:start}.center-sm{justify-content:center;text-align:center}.end-sm{justify-content:flex-end;text-align:end}.top-sm{align-items:flex-start}.middle-sm{align-items:center}.bottom-sm{align-items:flex-end}.around-sm{justify-content:space-around}.between-sm{justify-content:space-between}.first-sm{order:-1}.last-sm{order:1}}@media only screen and (min-width: 64em){.container{width:65rem}.col-md{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-grow:1;flex-basis:0;max-width:100%}.col-md-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:8.33333333%;max-width:8.33333333%}.col-md-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:16.66666667%;max-width:16.66666667%}.col-md-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:25%;max-width:25%}.col-md-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:33.33333333%;max-width:33.33333333%}.col-md-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:41.66666667%;max-width:41.66666667%}.col-md-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:50%;max-width:50%}.col-md-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:58.33333333%;max-width:58.33333333%}.col-md-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:66.66666667%;max-width:66.66666667%}.col-md-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:75%;max-width:75%}.col-md-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:83.33333333%;max-width:83.33333333%}.col-md-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:91.66666667%;max-width:91.66666667%}.col-md-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:100%;max-width:100%}.col-md-offset-0{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:0}.col-md-offset-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:8.33333333%}.col-md-offset-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:16.66666667%}.col-md-offset-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:25%}.col-md-offset-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:33.33333333%}.col-md-offset-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:41.66666667%}.col-md-offset-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:50%}.col-md-offset-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:58.33333333%}.col-md-offset-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:66.66666667%}.col-md-offset-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:75%}.col-md-offset-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:83.33333333%}.col-md-offset-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:91.66666667%}.col-md-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.start-md{justify-content:flex-start;text-align:start}.center-md{justify-content:center;text-align:center}.end-md{justify-content:flex-end;text-align:end}.top-md{align-items:flex-start}.middle-md{align-items:center}.bottom-md{align-items:flex-end}.around-md{justify-content:space-around}.between-md{justify-content:space-between}.first-md{order:-1}.last-md{order:1}}@media only screen and (min-width: 75em){.container{width:76rem}.col-lg{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-grow:1;flex-basis:0;max-width:100%}.col-lg-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:8.33333333%;max-width:8.33333333%}.col-lg-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:16.66666667%;max-width:16.66666667%}.col-lg-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:25%;max-width:25%}.col-lg-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:33.33333333%;max-width:33.33333333%}.col-lg-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:41.66666667%;max-width:41.66666667%}.col-lg-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:50%;max-width:50%}.col-lg-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:58.33333333%;max-width:58.33333333%}.col-lg-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:66.66666667%;max-width:66.66666667%}.col-lg-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:75%;max-width:75%}.col-lg-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:83.33333333%;max-width:83.33333333%}.col-lg-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:91.66666667%;max-width:91.66666667%}.col-lg-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:100%;max-width:100%}.col-lg-offset-0{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:0}.col-lg-offset-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:8.33333333%}.col-lg-offset-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:16.66666667%}.col-lg-offset-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:25%}.col-lg-offset-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:33.33333333%}.col-lg-offset-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:41.66666667%}.col-lg-offset-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:50%}.col-lg-offset-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:58.33333333%}.col-lg-offset-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:66.66666667%}.col-lg-offset-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:75%}.col-lg-offset-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:83.33333333%}.col-lg-offset-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:91.66666667%}.col-lg-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.start-lg{justify-content:flex-start;text-align:start}.center-lg{justify-content:center;text-align:center}.end-lg{justify-content:flex-end;text-align:end}.top-lg{align-items:flex-start}.middle-lg{align-items:center}.bottom-lg{align-items:flex-end}.around-lg{justify-content:space-around}.between-lg{justify-content:space-between}.first-lg{order:-1}.last-lg{order:1}}.col.reverse{flex-direction:column-reverse}h1{font-size:2.961rem}@media (max-width: 49.99em){h1{font-size:2.441rem}}@media (max-width: 25em){h1{font-size:2.148rem}}h2{font-size:2.221rem}@media (max-width: 49.99em){h2{font-size:1.953em}}@media (max-width: 25em){h2{font-size:1.719rem}}h3{font-size:1.666rem}@media (max-width: 49.99em){h3{font-size:1.563rem}}@media (max-width: 25em){h3{font-size:1.375rem}}small{font-size:0.8em;color:grey}.icon{font:normal normal normal 14px/1 icons;display:inline-block;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-active{color:#0097a7}span.icon{margin-right:.3em}.icon-2x{font-size:2em}.icon-heart:before{content:'\e800'}.icon-attention-circled:before{content:'\e801'}.icon-link:before{content:'\e802'}.icon-ok-circled:before{content:'\e803'}.icon-info-circled:before{content:'\e804'}.icon-cancel-circled:before{content:'\e805'}.icon-download:before{content:'\e806'}.icon-tags:before{content:'\e807'}.icon-link-ext:before{content:'\f08e'}.icon-left-circled:before{content:'\f0a8'}.icon-right-circled:before{content:'\f0a9'}.icon-menu:before{content:'\f0c9'}.icon-money:before{content:'\f0d6'}.icon-mail-alt:before{content:'\f0e0'}.icon-terminal:before{content:'\f120'}.icon-rocket:before{content:'\f135'}.icon-space-shuttle:before{content:'\f197'}.icon-address-card:before{content:'\f2bb'}.icon-share:before{content:'\f1e0'}.icon-github:before{content:'\f09b'}.icon-github-cat:before{content:'\f113'}.icon-twitter:before{content:'\f304'}.icon-facebook:before{content:'\f308'}.icon-linkedin:before{content:'\f30c'}.icon-reddit:before{content:'\f1a2'}.icon-rss:before{content:'\f143'}.icon-youtube:before{content:'\f166'}.icon-stackoverflow:before{content:'\f16c'}.icon-instagram:before{content:'\f16d'}.icon-paypal:before{content:'\f1ed'}.icon-pulse-slow{animation:color 8s infinite;animation-direction:alternate}.icon-pulse-fast{animation:color 2s infinite;animation-direction:alternate}@keyframes color{from{color:#0097a7}to{color:#212121}}@keyframes blink{from,to{color:transparent}50%{color:#212121}}@keyframes scale-in-center{0%{transform:scale(0);opacity:1}100%{transform:scale(1);opacity:1}}@keyframes scale-out-center{0%{transform:scale(1);opacity:1}100%{transform:scale(0);opacity:1}}.cursor{animation:1.2s blink infinite}.scale-in-center{animation:scale-in-center 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both}.scale-out-center{animation:scale-out-center 0.4s cubic-bezier(0.895, 0.03, 0.685, 0.22) both}body{font-size:1.25rem;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;color:#212121;font-family:"Roboto","Rubic","Poppins","HelĀ­vetica",Arial,sans-serif;line-height:1.6}@media (max-width: 49.99em){body{font-size:1.25rem}}@media (max-width: 25em){body{font-size:1.1rem}}header{height:100vh;background-color:#fff}header div{z-index:101}header img{max-height:12rem}header h1{font-family:"Roboto","Rubic","Poppins","HelĀ­vetica",Arial,sans-serif}footer{height:12rem;background-color:#212121}footer div,footer a,footer .icon{color:#fff}strong{font-weight:600}del,s{text-decoration:line-through}em,q,dfn{font-style:italic}a{transition:color .2s ease-out;text-decoration:none}a img{border:0}a:hover{color:#0097a7}img{display:inline-block;max-width:100%;vertical-align:middle}ul,ol{margin-bottom:2rem}ul li,ol li{margin-left:1.25em}ul li code,ol li code{font-family:"Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace}ul li{list-style-type:disc}.show{transition:opacity 600ms}.hide{opacity:0}.modal{display:flex;visibility:hidden;position:fixed;z-index:-1000;top:0;left:0;width:100%;height:100%;overflow:hidden;overflow-x:hidden;transition:opacity .1s ease-out;background-color:rgba(33,33,33,0.75)}.modal.active{visibility:visible;z-index:1000}.modal a:hover{color:#0097a7}.modal article a{color:#0097a7}.modal-box{position:relative;width:80%;max-width:1000px;max-height:85vh;margin:auto;border-radius:9px;background-color:#F7F7F7;box-shadow:0 0 50px 0 #212121}.modal-container{overflow:hidden;border-radius:7px}.modal-header{height:20vh;border-radius:7px}.modal-header-img-container{display:flex;align-items:center;justify-content:center;height:100%;padding:40px}.modal-header-img-container img{max-height:100%}.modal-content{max-height:calc(80vh - 20vh);padding:30px;overflow-y:auto}.term-content{max-height:calc(80vh - 20vh);overflow-y:auto}.close{position:absolute;top:10px;right:-4px;color:#F7F7F7;font-size:30px;font-weight:bold;line-height:.5}.close:hover,.close:focus{color:#0097a7;text-decoration:none;cursor:pointer}.repo-info{color:grey;font-size:0.65em}.repo-info a{color:grey}.repo-info .icon{color:grey}.about{width:100%;background-color:#F7F7F7}.about p{font-size:1.666rem;margin-top:2rem}@media (max-width: 49.99em){.about p{font-size:1.563rem}}@media (max-width: 25em){.about p{font-size:1.375rem}}.about a{background-image:linear-gradient(#0097a7, #0097a7);background-repeat:repeat-x;background-position:0 95%;background-size:2px 3px;text-decoration:none;text-shadow:0.03em 0 #fff,-0.03em 0 #fff,0 0.03em #fff,0 -0.03em #fff,0.06em 0 #fff,-0.06em 0 #fff,0.09em 0 #fff,-0.09em 0 #fff,0.12em 0 #fff,-0.12em 0 #fff,0.15em 0 #fff,-0.15em 0 #fff,0.03em 0.075em #fff,-0.03em 0.075em #fff,0.06em 0.075em #fff,-0.06em 0.075em #fff,0.09em 0.075em #fff,-0.09em 0.075em #fff,0.12em 0.075em #fff,-0.12em 0.075em #fff,0.15em 0.075em #fff,-0.15em 0.075em #fff}.about a:hover{color:#0097a7}.gallery .gallery-item{position:relative;width:50%;padding:0}.gallery .gallery-item::after{content:"";display:block;padding-bottom:100%}.gallery .gallery-item:hover .overlay{visibility:visible;opacity:1}.gallery .overlay{visibility:hidden;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:.25s ease-out;opacity:0;background-color:#212121;cursor:pointer}.gallery .overlay a{color:#fff}.gallery .overlay a:hover{color:#0097a7}.gallery .overlay h2{margin:2rem;color:#fff}.gallery .gallery-img-container{display:flex;position:absolute;align-items:center;justify-content:center;width:100%;height:100%}.gallery img{padding:6rem}.gallery .gallery-modal-link{display:flex;position:absolute;align-items:center;justify-content:center;width:100%;height:100%}img.lazyload:not([src]){visibility:hidden}.lazyload,.lazyloading{object-fit:contain;width:100%;height:400px}pre{margin-top:0;margin-bottom:2rem;padding:16px;overflow:auto;background-color:#F7F7F7;font:12px "Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace;font-family:"Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace;font-size:85%;line-height:1.45;word-wrap:normal}pre>code{margin:0;padding:0;border:0;background:transparent;font-size:100%;word-break:normal;white-space:pre}pre code{display:inline;margin:0;padding:0;overflow:visible;border:0;background-color:transparent;line-height:inherit;word-wrap:normal}pre code::before,pre code::after{content:normal}code{padding:4px;background-color:#F7F7F7;font-family:"Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace;font-size:90%}.sans{font-family:"Open Sans", "Myriad Pro", "Myriad", sans-serif}.mono,tt{font-family:"Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace}q::before{content:"\201C"}q::after{content:"\201D"}blockquote::after,blockquote::before{content:"\201C";color:#0097a7;font-family:"Roboto Slab","Bitter","Ubuntu",Georgia,serif;font-size:35px}blockquote{padding:25px;font-family:"Roboto Slab","Bitter","Ubuntu",Georgia,serif;text-align:center}blockquote p{display:inline-block;font-style:italic}blockquote::after{content:"\201D"}.posts-list{margin:0 0 2rem}.sub-header,time{font-size:1.25rem;margin-bottom:2rem;color:#4E6B6C}@media (max-width: 49.99em){.sub-header,time{font-size:1.25rem}}@media (max-width: 25em){.sub-header,time{font-size:1.1rem}}.content{width:100%;text-align:left}.content time{margin-left:3px}.content a{background-image:linear-gradient(#0097a7, #0097a7);background-repeat:repeat-x;background-position:0 95%;background-size:1px 2px;text-decoration:none;text-shadow:0.03em 0 #fff,-0.03em 0 #fff,0 0.03em #fff,0 -0.03em #fff,0.06em 0 #fff,-0.06em 0 #fff,0.09em 0 #fff,-0.09em 0 #fff,0.12em 0 #fff,-0.12em 0 #fff,0.15em 0 #fff,-0.15em 0 #fff,0.03em 0.075em #fff,-0.03em 0.075em #fff,0.06em 0.075em #fff,-0.06em 0.075em #fff,0.09em 0.075em #fff,-0.09em 0.075em #fff,0.12em 0.075em #fff,-0.12em 0.075em #fff,0.15em 0.075em #fff,-0.15em 0.075em #fff}.content a:hover{color:#0097a7}.highlight{margin:10px 0}.pagination{margin:50px 0 0}.pagination:nth-child(2){float:right}.blog{display:flex;min-height:100vh}.blog h2{margin-bottom:0}.blog h3{margin:0 0 4rem;font-family:"Roboto","Rubic","Poppins","HelĀ­vetica",Arial,sans-serif}[data-termynal]{max-width:100%;background:#212121;color:#F7F7F7;font-size:0.8em;font-family:"Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace;padding:75px 45px 35px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}[data-termynal]:before{content:'';position:absolute;top:15px;left:15px;display:inline-block;width:15px;height:15px;border-radius:50%;background:#d9515d;-webkit-box-shadow:25px 0 0 #f4c025,50px 0 0 #0097a7;box-shadow:25px 0 0 #f4c025,50px 0 0 #0097a7}[data-termynal]:after{content:"term";position:absolute;color:#4E6B6C;top:5px;left:0;width:100%;text-align:center}[data-ty]{display:block;line-height:2;color:#F7F7F7}[data-ty]:before{content:'';display:inline-block;vertical-align:middle}[data-ty="input"]:before,[data-ty-prompt]:before{margin-right:0.75em;color:#4E6B6C}[data-ty="input"]:before{content:'$'}[data-ty][data-ty-prompt]:before{content:attr(data-ty-prompt)}[data-ty-cursor]:after{content:attr(data-ty-cursor);font-family:monospace;margin-left:0.5em;-webkit-animation:blink 1s infinite;animation:blink 1s infinite}@-webkit-keyframes blink{50%{opacity:0}}@keyframes blink{50%{opacity:0}}*{box-sizing:border-box;margin:0;padding:0;border:0;font:inherit;color:#212121;vertical-align:baseline}*::before,*::after{box-sizing:border-box}html{box-sizing:inherit;overflow-x:hidden;scroll-behavior:smooth}footer .icon{padding:0.5em;font-size:2em}@media (max-width: 47.99em){body .container{padding:8rem 2rem}nav div:not(:first-child):not(:last-child){display:none}nav div.nav-toggle a{display:inline-block}.mobile-hidden{visibility:hidden}}@media (max-width: 25em){body .container{padding:8rem 2rem}nav div.logo,nav div.nav-toggle{max-width:50% !important}}nav{position:absolute;z-index:100;bottom:0;width:100%;height:4rem;background-color:#fff;text-align:center}nav h3{margin:0;font-family:"Roboto","Rubic","Poppins","HelĀ­vetica",Arial,sans-serif;font-weight:600;letter-spacing:2px;text-transform:uppercase}nav img{display:inline-block;max-width:10em;max-height:2.5em;vertical-align:middle}nav .logo,nav .nav-toggle{visibility:hidden}nav .nav-toggle a{display:none}nav .nav-item-active a{color:#0097a7}.nav-shadow{box-shadow:0 3px 4px rgba(0,0,0,0.2)}.nav-fixed{position:fixed;top:0;bottom:auto}.nav-full{position:fixed;top:0;right:-100vw;bottom:0;width:100vw;height:100%;transform:translate(0, 0);transition:.3s ease-out;background-color:#212121}.nav-full a,.nav-full .icon{color:#fff}.nav-full a:hover,.nav-full .icon:hover{color:#0097a7}.nav-full.active{transform:translate(-100vw, 0)}main{transition:.3s ease-in;background-color:#F7F7F7}main.active{transform:translate(-100vw, 0)}.container{max-width:43.75rem;margin:auto;padding:8rem 0 8rem}p{margin-bottom:2rem}p code{font-family:"Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace}h1,h2,h3{margin-bottom:2rem;font-family:"Roboto Slab","Bitter","Ubuntu",Georgia,serif;letter-spacing:2px;line-height:1.45}h1 a,h2 a,h3 a{text-decoration:none}.home-logo{margin-bottom:2rem}a>.icon{transition:color .2s ease-out}a>.icon:not(.icon-menu):hover,a>.icon:not(.icon-menu):focus{color:#0097a7}.full{top:0;bottom:0;height:100vh}.contact{width:100%;padding-bottom:4rem;background-color:#F7F7F7}.contact form{margin-top:2rem}.contact .contact-submit{position:relative}.contact #form-submit{display:block;width:50%;margin:0 auto}.contact #form-thankyou,.contact #form-sending,.contact #form-error{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}input,textarea,button,select{width:100%;margin:8px 0;padding:10px;border-width:1px;border-style:solid;border-radius:3px;border-color:#F7F7F7;background-color:#fff;color:#212121}input[type="submit"],textarea[type="submit"],button[type="submit"],select[type="submit"]{transition:.4s ease-out;background-color:#4E6B6C;color:#fff}input[type="submit"]:hover,textarea[type="submit"]:hover,button[type="submit"]:hover,select[type="submit"]:hover{background-color:#0097a7;color:#fff;cursor:pointer}input .icon,textarea .icon,button .icon,select .icon{color:#fff}button{white-space:nowrap}textarea{min-height:8rem;overflow:auto} diff --git a/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.json b/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.json index 8d0a582..af0ee84 100644 --- a/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.json +++ b/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.json @@ -1 +1 @@ -{"Target":"style.c6a070c7afeb5d39e7178d641b49e01a94acbf0d6355528c4923a7f16617ea93.css","MediaType":"text/css","Data":{"Integrity":"sha256-xqBwx6/rXTnnF41kG0ngGpSsvw1jVVKMSSOn8WYX6pM="}} \ No newline at end of file +{"Target":"style.e457e6b872c62f68c12c441192f9ecd31686313cad2c4a27bbd48d010843cbf3.css","MediaType":"text/css","Data":{"Integrity":"sha256-5FfmuHLGL2jBLEQRkvns0xaGMTytLEonu9SNAQhDy/M="}} \ No newline at end of file diff --git a/exampleSite/static/images/osprey-logo.png b/exampleSite/static/images/osprey-logo.png deleted file mode 100644 index 64fdca72c99c93d0ea8a52dad787aeb6833a8c20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26739 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 n+|S9z {{ if not (eq (len (where .Site.RegularPages "Section" "gallery")) 0) }} {{ partial "gallery.html" . }} + {{ partial "modals.html" . }} {{ end }} diff --git a/layouts/partials/body-bottom.html b/layouts/partials/body-bottom.html index 79864fb..71610b4 100644 --- a/layouts/partials/body-bottom.html +++ b/layouts/partials/body-bottom.html @@ -4,11 +4,20 @@ {{ $scripts = $scripts | append (resources.Get "js/src/termynal.js" | resources.ExecuteAsTemplate "js/src/termynal.js" .) }} {{- end }} {{ if not (eq (len (where .Site.RegularPages "Section" "gallery")) 0) -}} - {{ partial "modals.html" . }} {{ $scripts = $scripts | append (resources.Get "js/src/modal.js" | resources.ExecuteAsTemplate "js/src/modal.js" .) }} {{- end }} {{ $scripts = $scripts | append (resources.Get "js/src/nav.js" | resources.ExecuteAsTemplate "js/src/nav.js" .) }} {{ if (.Site.Params.Feat.ajaxBasin) -}} {{ $scripts = $scripts | append (resources.Get "js/src/contact.js" | resources.ExecuteAsTemplate "js/src/contact.js" .) }} {{- end }} - +{{ if .Site.Params.Feat.useBlog -}} + + + +{{- else -}} + + +{{- end }} diff --git a/layouts/partials/gallery.html b/layouts/partials/gallery.html index c775f72..9431ae2 100644 --- a/layouts/partials/gallery.html +++ b/layouts/partials/gallery.html @@ -1,42 +1,55 @@ From e2a99e314e4885b12d7d94d76e8b8b5715c48547 Mon Sep 17 00:00:00 2001 From: kdevo Date: Sun, 12 Jul 2020 13:20:54 +0200 Subject: [PATCH 09/13] :construction_worker: Add rich example content for demo --- exampleSite/content/blog/_index.md | 6 + exampleSite/content/blog/emoji-support.md | 46 ++++++ exampleSite/content/blog/markdown-syntax.md | 149 +++++++++++++++++++ exampleSite/content/blog/math-typesetting.md | 49 ++++++ exampleSite/content/blog/placeholder-text.md | 45 ++++++ exampleSite/content/blog/rich-content.md | 42 ++++++ exampleSite/content/blog/test.md | 7 - 7 files changed, 337 insertions(+), 7 deletions(-) create mode 100644 exampleSite/content/blog/_index.md create mode 100644 exampleSite/content/blog/emoji-support.md create mode 100644 exampleSite/content/blog/markdown-syntax.md create mode 100644 exampleSite/content/blog/math-typesetting.md create mode 100644 exampleSite/content/blog/placeholder-text.md create mode 100644 exampleSite/content/blog/rich-content.md delete mode 100644 exampleSite/content/blog/test.md diff --git a/exampleSite/content/blog/_index.md b/exampleSite/content/blog/_index.md new file mode 100644 index 0000000..8a084d9 --- /dev/null +++ b/exampleSite/content/blog/_index.md @@ -0,0 +1,6 @@ ++++ +aliases = ["posts", "articles", "blog", "showcase", "docs"] +title = "Posts" +author = "Hugo Authors" +tags = ["index"] ++++ diff --git a/exampleSite/content/blog/emoji-support.md b/exampleSite/content/blog/emoji-support.md new file mode 100644 index 0000000..dc3589a --- /dev/null +++ b/exampleSite/content/blog/emoji-support.md @@ -0,0 +1,46 @@ ++++ +author = "Hugo Authors" +title = "Emoji Support" +date = "2019-03-05" +description = "Guide to emoji usage in Hugo" +tags = [ + "emoji", +] ++++ + +Emoji can be enabled in a Hugo project in a number of ways. + +The [`emojify`](https://gohugo.io/functions/emojify/) function can be called directly in templates or [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes). + +To enable emoji globally, set `enableEmoji` to `true` in your site's [configuration](https://gohugo.io/getting-started/configuration/) and then you can type emoji shorthand codes directly in content files; e.g. + +

šŸ™ˆ :see_no_evil: šŸ™‰ :hear_no_evil: šŸ™Š :speak_no_evil:

+
+ +The [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) is a useful reference for emoji shorthand codes. + +*** + +**N.B.** The above steps enable Unicode Standard emoji characters and sequences in Hugo, however the rendering of these glyphs depends on the browser and the platform. To style the emoji you can either use a third party emoji font or a font stack; e.g. + +{{< highlight html >}} +.emoji { + font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols; +} +{{< /highlight >}} + +{{< css.inline >}} + +{{< /css.inline >}} diff --git a/exampleSite/content/blog/markdown-syntax.md b/exampleSite/content/blog/markdown-syntax.md new file mode 100644 index 0000000..2aa35e1 --- /dev/null +++ b/exampleSite/content/blog/markdown-syntax.md @@ -0,0 +1,149 @@ ++++ +author = "Hugo Authors" +title = "Markdown Syntax Guide" +date = "2019-03-11" +description = "Sample article showcasing basic Markdown syntax and formatting for HTML elements." +tags = [ + "markdown", + "css", + "html", + "themes", +] +categories = [ + "themes", + "syntax", +] +series = ["Themes Guide"] +aliases = ["migrate-from-jekyl"] ++++ + +This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme. + + +## Headings + +The following HTML `

`ā€”`

` elements represent six levels of section headings. `

` is the highest section level while `

` is the lowest. + +# H1 +## H2 +### H3 +#### H4 +##### H5 +###### H6 + +## Paragraph + +Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat. + +Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat. + +## Blockquotes + +The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations. + +#### Blockquote without attribution + +> Tiam, ad mint andaepu dandae nostion secatur sequo quae. +> **Note** that you can use *Markdown syntax* within a blockquote. + +#### Blockquote with attribution + +> Don't communicate by sharing memory, share memory by communicating.
+> ā€” Rob Pike[^1] + +[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015. + +## Tables + +Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box. + + Name | Age +--------|------ + Bob | 27 + Alice | 23 + +#### Inline Markdown within tables + +| Italics | Bold | Code | +| -------- | -------- | ------ | +| *italics* | **bold** | `code` | + +## Code Blocks + +#### Code block with backticks + +```html + + + + + Example HTML5 Document + + +

Test

+ + +``` + +#### Code block indented with four spaces + + + + + + Example HTML5 Document + + +

Test

+ + + +#### Code block with Hugo's internal highlight shortcode +{{< highlight html >}} + + + + + Example HTML5 Document + + +

Test

+ + +{{< /highlight >}} + +## List Types + +#### Ordered List + +1. First item +2. Second item +3. Third item + +#### Unordered List + +* List item +* Another item +* And another item + +#### Nested list + +* Fruit + * Apple + * Orange + * Banana +* Dairy + * Milk + * Cheese + +## Other Elements ā€” abbr, sub, sup, kbd, mark + +GIF is a bitmap image format. + +H2O + +Xn + Yn = Zn + +Press CTRL+ALT+Delete to end the session. + +Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures. diff --git a/exampleSite/content/blog/math-typesetting.md b/exampleSite/content/blog/math-typesetting.md new file mode 100644 index 0000000..48fdc79 --- /dev/null +++ b/exampleSite/content/blog/math-typesetting.md @@ -0,0 +1,49 @@ +--- +author: Hugo Authors +title: Math Typesetting +date: 2019-03-08 +description: A brief guide to setup KaTeX +math: true +--- + +Mathematical notation in a Hugo project can be enabled by using third party JavaScript libraries. + + +In this example we will be using [KaTeX](https://katex.org/) + +- Create a partial under `/layouts/partials/math.html` +- Within this partial reference the [Auto-render Extension](https://katex.org/docs/autorender.html) or host these scripts locally. +- Include the partial in your templates like so: + +```bash +{{ if or .Params.math .Site.Params.math }} +{{ partial "math.html" . }} +{{ end }} +``` + +- To enable KaTex globally set the parameter `math` to `true` in a project's configuration +- To enable KaTex on a per page basis include the parameter `math: true` in content files + +**Note:** Use the online reference of [Supported TeX Functions](https://katex.org/docs/supported.html) + +{{< math.inline >}} +{{ if or .Page.Params.math .Site.Params.math }} + + + + +{{ end }} +{{}} + +### Examples + +{{< math.inline >}} +

+Inline math: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887ā€¦\) +

+{{}} + +Block math: +$$ + \varphi = 1+\frac{1} {1+\frac{1} {1+\frac{1} {1+\cdots} } } +$$ diff --git a/exampleSite/content/blog/placeholder-text.md b/exampleSite/content/blog/placeholder-text.md new file mode 100644 index 0000000..9ed5f69 --- /dev/null +++ b/exampleSite/content/blog/placeholder-text.md @@ -0,0 +1,45 @@ ++++ +author = "Hugo Authors" +title = "Placeholder Text" +date = "2019-03-09" +description = "Lorem Ipsum Dolor Si Amet" +tags = [ + "markdown", + "text", +] ++++ + +Lorem est tota propiore conpellat pectoribus de pectora summo. Redit teque digerit hominumque toris verebor lumina non cervice subde tollit usus habet Arctonque, furores quas nec ferunt. Quoque montibus nunc caluere tempus inhospita parcite confusaque translucet patri vestro qui optatis lumine cognoscere flos nubis! Fronde ipsamque patulos Dryopen deorum. + +1. Exierant elisi ambit vivere dedere +2. Duce pollice +3. Eris modo +4. Spargitque ferrea quos palude + +Rursus nulli murmur; hastile inridet ut ab gravi sententia! Nomine potitus silentia flumen, sustinet placuit petis in dilapsa erat sunt. Atria tractus malis. + +1. Comas hunc haec pietate fetum procerum dixit +2. Post torum vates letum Tiresia +3. Flumen querellas +4. Arcanaque montibus omnes +5. Quidem et + +# Vagus elidunt + + + +[The Van de Graaf Canon](https://en.wikipedia.org/wiki/Canons_of_page_construction#Van_de_Graaf_canon) + +## Mane refeci capiebant unda mulcebat + +Victa caducifer, malo vulnere contra dicere aurato, ludit regale, voca! Retorsit colit est profanae esse virescere furit nec; iaculi matertera et visa est, viribus. Divesque creatis, tecta novat collumque vulnus est, parvas. **Faces illo pepulere** tempus adest. Tendit flamma, ab opes virum sustinet, sidus sequendo urbis. + +Iubar proles corpore raptos vero auctor imperium; sed et huic: manus caeli Lelegas tu lux. Verbis obstitit intus oblectamina fixis linguisque ausus sperare Echionides cornuaque tenent clausit possit. Omnia putatur. Praeteritae refert ausus; ferebant e primus lora nutat, vici quae mea ipse. Et iter nil spectatae vulnus haerentia iuste et exercebat, sui et. + +Eurytus Hector, materna ipsumque ut Politen, nec, nate, ignari, vernum cohaesit sequitur. Vel **mitis temploque** vocatus, inque alis, *oculos nomen* non silvis corpore coniunx ne displicet illa. Crescunt non unus, vidit visa quantum inmiti flumina mortis facto sic: undique a alios vincula sunt iactata abdita! Suspenderat ego fuit tendit: luna, ante urbem Propoetides **parte**. + +{{< css.inline >}} + +{{< /css.inline >}} diff --git a/exampleSite/content/blog/rich-content.md b/exampleSite/content/blog/rich-content.md new file mode 100644 index 0000000..5ff41d7 --- /dev/null +++ b/exampleSite/content/blog/rich-content.md @@ -0,0 +1,42 @@ ++++ +author = "Hugo Authors" +title = "Rich Content" +date = "2019-03-10" +description = "A brief description of Hugo Shortcodes" +tags = [ + "shortcodes", + "privacy", +] ++++ + +Hugo ships with several [Built-in Shortcodes](https://gohugo.io/content-management/shortcodes/#use-hugo-s-built-in-shortcodes) for rich content, along with a [Privacy Config](https://gohugo.io/about/hugo-and-gdpr/) and a set of Simple Shortcodes that enable static and no-JS versions of various social media embeds. + +--- + +## Instagram Simple Shortcode + +{{< instagram_simple BGvuInzyFAe hidecaption >}} + +
+ +--- + +## YouTube Privacy Enhanced Shortcode + +{{< youtube ZJthWmvUzzc >}} + +
+ +--- + +## Twitter Simple Shortcode + +{{< twitter_simple 1085870671291310081 >}} + +
+ +--- + +## Vimeo Simple Shortcode + +{{< vimeo_simple 48912912 >}} diff --git a/exampleSite/content/blog/test.md b/exampleSite/content/blog/test.md deleted file mode 100644 index bd7cc21..0000000 --- a/exampleSite/content/blog/test.md +++ /dev/null @@ -1,7 +0,0 @@ -+++ -title = "Test" -date = "2017-06-27T17:39:21-07:00" -draft = false -+++ - -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ac ut consequat semper viverra nam. Scelerisque in dictum non consectetur a erat nam at lectus. Enim praesent elementum facilisis leo vel fringilla est. Eu non diam phasellus vestibulum lorem sed risus. A diam maecenas sed enim ut sem. Ut tellus elementum sagittis vitae et leo duis. Sit amet nulla facilisi morbi tempus iaculis urna. Egestas fringilla phasellus faucibus scelerisque eleifend. Maecenas accumsan lacus vel facilisis. Diam sit amet nisl suscipit adipiscing bibendum est ultricies. Venenatis urna cursus eget nunc scelerisque. From 18463a48ce64f06957ea5a04e0a980cca89eed3c Mon Sep 17 00:00:00 2001 From: kdevo Date: Sun, 12 Jul 2020 18:26:19 +0200 Subject: [PATCH 10/13] :lipstick: Improve UX and consistency --- README.md | 18 +++- assets/js/src/contact.js | 7 +- assets/js/src/misc.js | 18 +++- assets/js/src/nav.js | 4 +- assets/sass/_blog.scss | 101 +++++++----------- assets/sass/_gallery.scss | 11 +- assets/sass/_layout.scss | 2 +- assets/sass/_modal.scss | 1 + assets/sass/main.scss | 13 ++- exampleSite/assets/sass/_custom.scss | 82 ++++++++++++++ exampleSite/config.toml | 3 +- exampleSite/content/gallery/osprey-delight.md | 4 +- ...s_97bc3a74098849226ebef999cbcdad23.content | 2 +- ...scss_97bc3a74098849226ebef999cbcdad23.json | 2 +- layouts/_default/list.html | 2 +- layouts/partials/blog.html | 2 +- layouts/partials/contact.html | 4 +- layouts/partials/footer.html | 3 +- layouts/partials/head.html | 4 +- 19 files changed, 185 insertions(+), 98 deletions(-) create mode 100644 exampleSite/assets/sass/_custom.scss diff --git a/README.md b/README.md index 0bbe03a..cc56068 100644 --- a/README.md +++ b/README.md @@ -96,6 +96,21 @@ This is very helpful for the first time since you will get a fully documented fi > āš ļø Please make sure that `item-name` is unique on the whole page because it will be used as an anchor/identifier! + +### Custom (S)CSS + +Place a file named `_custom.scss` in your local `assets/sass/` folder (create the directories). This will override the theme's (empty) `_custom.scss` which is loaded in the internal main SCSS. + +#### Syntax Highlighting + +Limiting external dependencies is important when it comes to privacy as well as performance, therefore only Hugo's internal [Chroma Syntax Highlighting](https://gohugo.io/content-management/syntax-highlighting/) is supported. Here's how to use it: + +1. Generate a Chromastyle of your choice as `_custom.scss` in project root: `hugo gen chromastyles --style=solarized-dark > _custom.scss` +2. Move the file to `assets/sass/` folder +3. Add `pygmentsUseClasses = true` to your config.toml + +> Refer to [the official Hugo documentation](https://gohugo.io/content-management/syntax-highlighting/) for more info. + ### Data directory (optional) Optionally, Osprey Delight makes use of the [Hugo's data folder](https://gohugo.io/templates/data-templates/#the-data-folder). @@ -118,9 +133,6 @@ Basin will [ignore all messages that contain this specific field](https://usebas Feel free to open an issue if the protection did not work for you. -### Custom (S)CSS - -Place a file named `_custom.scss` in your local **assets/sass/** folder (create the directories). This will override the theme's (empty) `_custom.scss` which is loaded in the internal main SCSS. ## Contributing diff --git a/assets/js/src/contact.js b/assets/js/src/contact.js index b845d52..89de1bb 100644 --- a/assets/js/src/contact.js +++ b/assets/js/src/contact.js @@ -1,10 +1,13 @@ (function () { var realmsg = $('textarea[name=message2]') var honeypotmsg = $('textarea[name=message]') + + if (realmsg === null) { + return; + } setVisibility(realmsg, true) setVisibility(honeypotmsg, false) - // For spam protection, we use "message" as a honeypot field: honeypotmsg.removeAttribute("required") @@ -15,7 +18,7 @@ var name = $('input[name=name]').value, email = $('input[name=email]').value, subject = $('input[name=_subject]').value, - matter = $('select[name=matter]').value + matter = $('select[name=matter]').value, message = realmsg.value, honeypot = honeypotmsg.value diff --git a/assets/js/src/misc.js b/assets/js/src/misc.js index fdb5ce8..aac31db 100644 --- a/assets/js/src/misc.js +++ b/assets/js/src/misc.js @@ -1,16 +1,26 @@ var $ = document.querySelector.bind(document), $$ = document.querySelectorAll.bind(document) -function setVisibility(e, visible) { +/** + * + * @param {Element} e Element for DOM modification + * @param {boolean} visible Self-explanatory. true = visible, false = hidden + * @param {boolean} useAttr Using visibility attribute will prevent smooth navbar transition + */ +function setVisibility(e, visible, useAttr = true) { if (visible) { e.style.visibility = "visible" - // e.removeAttribute("hidden") + if (useAttr) { + e.removeAttribute("hidden") + } } else { e.style.visibility = "hidden" - // e.setAttribute("hidden", true) + if (useAttr) { + e.setAttribute("hidden", true) + } } e.classList.add(visible ? 'show' : 'hide') e.classList.remove(visible ? 'hide' : 'show') } -function onLogoClick() {} +function onLogoClick() { } diff --git a/assets/js/src/nav.js b/assets/js/src/nav.js index ea3bac3..dcc1e79 100644 --- a/assets/js/src/nav.js +++ b/assets/js/src/nav.js @@ -9,7 +9,7 @@ function handleNavBar(isMainPage) { nav.classList.add('nav-shadow') $$('nav > .logo, nav > .nav-toggle').forEach(function (el) { - setVisibility(el, true) + setVisibility(el, true, false) }) } else { // Not fixed, at bottom @@ -17,7 +17,7 @@ function handleNavBar(isMainPage) { nav.classList.remove('nav-shadow') $$('nav > .logo, nav > .nav-toggle').forEach(function (el) { - setVisibility(el, false) + setVisibility(el, false, false) }) } } diff --git a/assets/sass/_blog.scss b/assets/sass/_blog.scss index 5b9ec43..b38d9d5 100644 --- a/assets/sass/_blog.scss +++ b/assets/sass/_blog.scss @@ -1,53 +1,23 @@ // Code +pre code { + // font-size: 100%; + color: inherit; + font-family: $font-code; + // background-color: transparent; +} + pre { - margin-top: 0; - margin-bottom: $vertical-rhythm; + margin-top: 8px; + // font: 12px $font-code; padding: 16px; + border-radius: 4px; + margin-bottom: $vertical-rhythm; overflow: auto; - background-color: $smoke; - font: 12px $font-code; - font-family: $font-code; - font-size: 85%; - line-height: 1.45; word-wrap: normal; - - & > code { - margin: 0; - padding: 0; - border: 0; - background: transparent; - font-size: 100%; - word-break: normal; - white-space: pre; - } - - code { - display: inline; - margin: 0; - padding: 0; - overflow: visible; - border: 0; - background-color: transparent; - line-height: inherit; - word-wrap: normal; - - &::before, - &::after { - content: normal; - } - } -} - -code { - padding: 4px; - background-color: $smoke; - font-family: $font-code; - font-size: 90%; -} - -.sans { - font-family: "Open Sans", "Myriad Pro", "Myriad", sans-serif; + // color: white; + // line-height: 1.45; or inherit + // background-color: $smoke; } .mono, @@ -116,29 +86,29 @@ time { margin-left: 3px; } - a { - background-image: linear-gradient($accent, $accent); - background-repeat: repeat-x; - background-position: 0 95%; - background-size: 1px 2px; - text-decoration: none; - text-shadow: .03em 0 $white, -.03em 0 $white, 0 .03em $white, 0 -.03em $white, - .06em 0 $white, -.06em 0 $white, .09em 0 $white, -.09em 0 $white, - .12em 0 $white, -.12em 0 $white, .15em 0 $white, -.15em 0 $white, - .03em .075em $white, -.03em .075em $white, .06em .075em $white, - -.06em .075em $white, .09em .075em $white, -.09em .075em $white, - .12em .075em $white, -.12em .075em $white, .15em .075em $white, - -.15em .075em $white; - - &:hover { - color: $accent; - } - } + // a { + // background-image: linear-gradient($accent, $accent); + // background-repeat: repeat-x; + // background-position: 0 95%; + // background-size: 1px 2px; + // text-decoration: none; + // text-shadow: .03em 0 $white, -.03em 0 $white, 0 .03em $white, 0 -.03em $white, + // .06em 0 $white, -.06em 0 $white, .09em 0 $white, -.09em 0 $white, + // .12em 0 $white, -.12em 0 $white, .15em 0 $white, -.15em 0 $white, + // .03em .075em $white, -.03em .075em $white, .06em .075em $white, + // -.06em .075em $white, .09em .075em $white, -.09em .075em $white, + // .12em .075em $white, -.12em .075em $white, .15em .075em $white, + // -.15em .075em $white; + + // &:hover { + // color: $accent; + // } + // } } -.highlight { - margin: 10px 0; -} +// .highlight { +// margin: 10px 0; +// } .pagination { margin: 50px 0 0; @@ -151,6 +121,7 @@ time { .blog { display: flex; min-height: 100vh; + background-color: $white; h2 { margin-bottom: 0; diff --git a/assets/sass/_gallery.scss b/assets/sass/_gallery.scss index 71cf0a0..682b86e 100644 --- a/assets/sass/_gallery.scss +++ b/assets/sass/_gallery.scss @@ -18,7 +18,6 @@ } } - .overlay { visibility: hidden; position: absolute; @@ -75,8 +74,8 @@ img.lazyload:not([src]) { visibility: hidden; } -.lazyload, .lazyloading { - object-fit: contain; - width: 100%; - height: 400px; -} \ No newline at end of file +// .lazyload, .lazyloading { +// object-fit: contain; +// width: 100%; +// height: 400px; +// } \ No newline at end of file diff --git a/assets/sass/_layout.scss b/assets/sass/_layout.scss index 1980fd6..a310054 100644 --- a/assets/sass/_layout.scss +++ b/assets/sass/_layout.scss @@ -27,7 +27,7 @@ header { } footer { - height: $vertical-rhythm * 6; + height: $vertical-rhythm * 7; background-color: $black; div, diff --git a/assets/sass/_modal.scss b/assets/sass/_modal.scss index 8e03c13..f875620 100644 --- a/assets/sass/_modal.scss +++ b/assets/sass/_modal.scss @@ -88,6 +88,7 @@ font-size: 30px; font-weight: bold; line-height: .5; + transition: color .2s ease-out; &:hover, &:focus { diff --git a/assets/sass/main.scss b/assets/sass/main.scss index 5586a97..4c2096e 100644 --- a/assets/sass/main.scss +++ b/assets/sass/main.scss @@ -40,6 +40,7 @@ $accent_color: #0097a7; @import "gallery"; @import "custom"; + {{ if .Site.Params.Feat.useBlog -}} @import "blog"; {{- end }} @@ -55,7 +56,8 @@ $term_title: "{{ .Site.Data.terminal.title }}"; padding: 0; border: 0; font: inherit; - color: $black; + color: inherit; + // color: black; vertical-align: baseline; &::before, @@ -71,10 +73,15 @@ html { } footer { + padding-bottom: 1em; .icon { - padding: 0.5em; + margin-top: 1em; + margin-bottom: 1em; font-size: 2em; } + a > .icon { + color: $white; + } } @media (max-width: 47.99em) { @@ -232,6 +239,7 @@ h3 { } a > .icon { + color: $black; transition: color .2s ease-out; &:not(.icon-menu):hover, &:not(.icon-menu):focus { @@ -248,6 +256,7 @@ a > .icon { .contact { width: 100%; padding-bottom: $vertical-rhythm * 2; + // TODO(kdevo): Maybe consider to change this to white if blog is not enabled: background-color: $smoke; form { diff --git a/exampleSite/assets/sass/_custom.scss b/exampleSite/assets/sass/_custom.scss new file mode 100644 index 0000000..8e37fe9 --- /dev/null +++ b/exampleSite/assets/sass/_custom.scss @@ -0,0 +1,82 @@ +/* Background */ .chroma { color: #93a1a1; background-color: #002b36 } +/* Other */ .chroma .x { color: #cb4b16 } +/* Error */ .chroma .err { } +/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; } +/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: auto; overflow: auto; display: block; } +/* LineHighlight */ .chroma .hl { display: block; width: 100%;background-color: #ffffcc } +/* LineNumbersTable */ .chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #495050 } +/* LineNumbers */ .chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #495050 } +/* Keyword */ .chroma .k { color: #719e07 } +/* KeywordConstant */ .chroma .kc { color: #cb4b16 } +/* KeywordDeclaration */ .chroma .kd { color: #268bd2 } +/* KeywordNamespace */ .chroma .kn { color: #719e07 } +/* KeywordPseudo */ .chroma .kp { color: #719e07 } +/* KeywordReserved */ .chroma .kr { color: #268bd2 } +/* KeywordType */ .chroma .kt { color: #dc322f } +/* Name */ .chroma .n { } +/* NameAttribute */ .chroma .na { } +/* NameBuiltin */ .chroma .nb { color: #b58900 } +/* NameBuiltinPseudo */ .chroma .bp { color: #268bd2 } +/* NameClass */ .chroma .nc { color: #268bd2 } +/* NameConstant */ .chroma .no { color: #cb4b16 } +/* NameDecorator */ .chroma .nd { color: #268bd2 } +/* NameEntity */ .chroma .ni { color: #cb4b16 } +/* NameException */ .chroma .ne { color: #cb4b16 } +/* NameFunction */ .chroma .nf { color: #268bd2 } +/* NameFunctionMagic */ .chroma .fm { } +/* NameLabel */ .chroma .nl { } +/* NameNamespace */ .chroma .nn { } +/* NameOther */ .chroma .nx { } +/* NameProperty */ .chroma .py { } +/* NameTag */ .chroma .nt { color: #268bd2 } +/* NameVariable */ .chroma .nv { color: #268bd2 } +/* NameVariableClass */ .chroma .vc { } +/* NameVariableGlobal */ .chroma .vg { } +/* NameVariableInstance */ .chroma .vi { } +/* NameVariableMagic */ .chroma .vm { } +/* Literal */ .chroma .l { } +/* LiteralDate */ .chroma .ld { } +/* LiteralString */ .chroma .s { color: #2aa198 } +/* LiteralStringAffix */ .chroma .sa { color: #2aa198 } +/* LiteralStringBacktick */ .chroma .sb { color: #586e75 } +/* LiteralStringChar */ .chroma .sc { color: #2aa198 } +/* LiteralStringDelimiter */ .chroma .dl { color: #2aa198 } +/* LiteralStringDoc */ .chroma .sd { } +/* LiteralStringDouble */ .chroma .s2 { color: #2aa198 } +/* LiteralStringEscape */ .chroma .se { color: #cb4b16 } +/* LiteralStringHeredoc */ .chroma .sh { } +/* LiteralStringInterpol */ .chroma .si { color: #2aa198 } +/* LiteralStringOther */ .chroma .sx { color: #2aa198 } +/* LiteralStringRegex */ .chroma .sr { color: #dc322f } +/* LiteralStringSingle */ .chroma .s1 { color: #2aa198 } +/* LiteralStringSymbol */ .chroma .ss { color: #2aa198 } +/* LiteralNumber */ .chroma .m { color: #2aa198 } +/* LiteralNumberBin */ .chroma .mb { color: #2aa198 } +/* LiteralNumberFloat */ .chroma .mf { color: #2aa198 } +/* LiteralNumberHex */ .chroma .mh { color: #2aa198 } +/* LiteralNumberInteger */ .chroma .mi { color: #2aa198 } +/* LiteralNumberIntegerLong */ .chroma .il { color: #2aa198 } +/* LiteralNumberOct */ .chroma .mo { color: #2aa198 } +/* Operator */ .chroma .o { color: #719e07 } +/* OperatorWord */ .chroma .ow { color: #719e07 } +/* Punctuation */ .chroma .p { } +/* Comment */ .chroma .c { color: #586e75 } +/* CommentHashbang */ .chroma .ch { color: #586e75 } +/* CommentMultiline */ .chroma .cm { color: #586e75 } +/* CommentSingle */ .chroma .c1 { color: #586e75 } +/* CommentSpecial */ .chroma .cs { color: #719e07 } +/* CommentPreproc */ .chroma .cp { color: #719e07 } +/* CommentPreprocFile */ .chroma .cpf { color: #719e07 } +/* Generic */ .chroma .g { } +/* GenericDeleted */ .chroma .gd { color: #dc322f } +/* GenericEmph */ .chroma .ge { font-style: italic } +/* GenericError */ .chroma .gr { color: #dc322f; font-weight: bold } +/* GenericHeading */ .chroma .gh { color: #cb4b16 } +/* GenericInserted */ .chroma .gi { color: #719e07 } +/* GenericOutput */ .chroma .go { } +/* GenericPrompt */ .chroma .gp { } +/* GenericStrong */ .chroma .gs { font-weight: bold } +/* GenericSubheading */ .chroma .gu { color: #268bd2 } +/* GenericTraceback */ .chroma .gt { } +/* GenericUnderline */ .chroma .gl { } +/* TextWhitespace */ .chroma .w { } diff --git a/exampleSite/config.toml b/exampleSite/config.toml index 49e3b79..3a1afb8 100644 --- a/exampleSite/config.toml +++ b/exampleSite/config.toml @@ -7,6 +7,7 @@ tags = ["personal", "homepage", "portfolio"] # googleAnalytics = "" disableKinds = ["taxonomy", "taxonomyTerm"] # This theme does not currently use "tag" and "category" taxonomies enableEmoji = true +pygmentsUseClasses = true ## Generic theme parameters: [Params] @@ -41,7 +42,7 @@ enableEmoji = true # [str] Link to your GitHub. github = "https://github.com/kdevo/osprey-delight" # [str] Link to your Facebook. - # facebook = "" + facebook = "" # [str] Link to your Instagram. # instagram = "" # [str] Link to your StackOverflow. diff --git a/exampleSite/content/gallery/osprey-delight.md b/exampleSite/content/gallery/osprey-delight.md index bb519ca..b4f7bf5 100644 --- a/exampleSite/content/gallery/osprey-delight.md +++ b/exampleSite/content/gallery/osprey-delight.md @@ -3,7 +3,7 @@ weight: 20 date: "2019-09-18T21:57:17-07:00" title: "Osprey Delight" image: "images/osprey-delight.png" -color: "#b2ebf2" +color: "#C0C0C0 " type: "github" github: repo: "kdevo/osprey" @@ -31,4 +31,4 @@ terminal: {{! github-description !}} -> It tastes a bit different than the original (hence the *light* in the name) but also adds some new functionality to your ***delight***. \ No newline at end of file +Check it out. \ No newline at end of file diff --git a/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.content b/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.content index 7f63ad1..22ec9f4 100644 --- a/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.content +++ b/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.content @@ -1 +1 @@ -ļ»æ@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local("Roboto"),local("Roboto-Regular"),url("./fonts/roboto/roboto-v20-latin-regular.woff2") format("woff2"),url("./fonts/roboto/roboto-v20-latin-regular.woff") format("woff")}@font-face{font-family:'Roboto Slab';font-style:normal;font-weight:400;src:local("Roboto Slab Regular"),local("RobotoSlab-Regular"),url("./fonts/roboto/roboto-slab-v9-latin-regular.woff2") format("woff2"),url("./fonts/roboto/roboto-slab-v9-latin-regular.woff") format("woff")}@font-face{font-family:'icons';font-display:swap;font-weight:normal;font-style:normal;src:url("./fonts/icons/icons.woff2?30") format("woff2"),url("./fonts/icons/icons.woff?30") format("woff")}.col-xs-offset-12,.col-xs-offset-11,.col-xs-offset-10,.col-xs-offset-9,.col-xs-offset-8,.col-xs-offset-7,.col-xs-offset-6,.col-xs-offset-5,.col-xs-offset-4,.col-xs-offset-3,.col-xs-offset-2,.col-xs-offset-1,.col-xs-offset-0,.col-xs-12,.col-xs-11,.col-xs-10,.col-xs-9,.col-xs-8,.col-xs-7,.col-xs-6,.col-xs-5,.col-xs-4,.col-xs-3,.col-xs-2,.col-xs-1,.col-xs{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.container-fluid{margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}.container{margin-right:auto;margin-left:auto}.row{box-sizing:border-box;display:flex;flex:0 1 auto;flex-direction:row;flex-wrap:wrap}.row.reverse{flex-direction:row-reverse}.col-xs{flex-grow:1;flex-basis:0;max-width:100%}.col-xs-1{flex-basis:8.33333333%;max-width:8.33333333%}.col-xs-2{flex-basis:16.66666667%;max-width:16.66666667%}.col-xs-3{flex-basis:25%;max-width:25%}.col-xs-4{flex-basis:33.33333333%;max-width:33.33333333%}.col-xs-5{flex-basis:41.66666667%;max-width:41.66666667%}.col-xs-6{flex-basis:50%;max-width:50%}.col-xs-7{flex-basis:58.33333333%;max-width:58.33333333%}.col-xs-8{flex-basis:66.66666667%;max-width:66.66666667%}.col-xs-9{flex-basis:75%;max-width:75%}.col-xs-10{flex-basis:83.33333333%;max-width:83.33333333%}.col-xs-11{flex-basis:91.66666667%;max-width:91.66666667%}.col-xs-12{flex-basis:100%;max-width:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-11{margin-left:91.66666667%}.start-xs{justify-content:flex-start;text-align:start}.center-xs{justify-content:center;text-align:center}.end-xs{justify-content:flex-end;text-align:end}.top-xs{align-items:flex-start}.middle-xs{align-items:center}.bottom-xs{align-items:flex-end}.around-xs{justify-content:space-around}.between-xs{justify-content:space-between}.first-xs{order:-1}.last-xs{order:1}@media only screen and (min-width: 48em){.container{width:49rem}.col-sm{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-grow:1;flex-basis:0;max-width:100%}.col-sm-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:8.33333333%;max-width:8.33333333%}.col-sm-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:16.66666667%;max-width:16.66666667%}.col-sm-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:25%;max-width:25%}.col-sm-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:33.33333333%;max-width:33.33333333%}.col-sm-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:41.66666667%;max-width:41.66666667%}.col-sm-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:50%;max-width:50%}.col-sm-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:58.33333333%;max-width:58.33333333%}.col-sm-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:66.66666667%;max-width:66.66666667%}.col-sm-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:75%;max-width:75%}.col-sm-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:83.33333333%;max-width:83.33333333%}.col-sm-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:91.66666667%;max-width:91.66666667%}.col-sm-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:100%;max-width:100%}.col-sm-offset-0{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:0}.col-sm-offset-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:8.33333333%}.col-sm-offset-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:16.66666667%}.col-sm-offset-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:25%}.col-sm-offset-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:33.33333333%}.col-sm-offset-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:41.66666667%}.col-sm-offset-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:50%}.col-sm-offset-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:58.33333333%}.col-sm-offset-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:66.66666667%}.col-sm-offset-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:75%}.col-sm-offset-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:83.33333333%}.col-sm-offset-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:91.66666667%}.col-sm-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.start-sm{justify-content:flex-start;text-align:start}.center-sm{justify-content:center;text-align:center}.end-sm{justify-content:flex-end;text-align:end}.top-sm{align-items:flex-start}.middle-sm{align-items:center}.bottom-sm{align-items:flex-end}.around-sm{justify-content:space-around}.between-sm{justify-content:space-between}.first-sm{order:-1}.last-sm{order:1}}@media only screen and (min-width: 64em){.container{width:65rem}.col-md{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-grow:1;flex-basis:0;max-width:100%}.col-md-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:8.33333333%;max-width:8.33333333%}.col-md-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:16.66666667%;max-width:16.66666667%}.col-md-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:25%;max-width:25%}.col-md-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:33.33333333%;max-width:33.33333333%}.col-md-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:41.66666667%;max-width:41.66666667%}.col-md-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:50%;max-width:50%}.col-md-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:58.33333333%;max-width:58.33333333%}.col-md-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:66.66666667%;max-width:66.66666667%}.col-md-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:75%;max-width:75%}.col-md-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:83.33333333%;max-width:83.33333333%}.col-md-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:91.66666667%;max-width:91.66666667%}.col-md-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:100%;max-width:100%}.col-md-offset-0{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:0}.col-md-offset-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:8.33333333%}.col-md-offset-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:16.66666667%}.col-md-offset-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:25%}.col-md-offset-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:33.33333333%}.col-md-offset-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:41.66666667%}.col-md-offset-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:50%}.col-md-offset-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:58.33333333%}.col-md-offset-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:66.66666667%}.col-md-offset-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:75%}.col-md-offset-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:83.33333333%}.col-md-offset-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:91.66666667%}.col-md-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.start-md{justify-content:flex-start;text-align:start}.center-md{justify-content:center;text-align:center}.end-md{justify-content:flex-end;text-align:end}.top-md{align-items:flex-start}.middle-md{align-items:center}.bottom-md{align-items:flex-end}.around-md{justify-content:space-around}.between-md{justify-content:space-between}.first-md{order:-1}.last-md{order:1}}@media only screen and (min-width: 75em){.container{width:76rem}.col-lg{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-grow:1;flex-basis:0;max-width:100%}.col-lg-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:8.33333333%;max-width:8.33333333%}.col-lg-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:16.66666667%;max-width:16.66666667%}.col-lg-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:25%;max-width:25%}.col-lg-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:33.33333333%;max-width:33.33333333%}.col-lg-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:41.66666667%;max-width:41.66666667%}.col-lg-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:50%;max-width:50%}.col-lg-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:58.33333333%;max-width:58.33333333%}.col-lg-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:66.66666667%;max-width:66.66666667%}.col-lg-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:75%;max-width:75%}.col-lg-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:83.33333333%;max-width:83.33333333%}.col-lg-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:91.66666667%;max-width:91.66666667%}.col-lg-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:100%;max-width:100%}.col-lg-offset-0{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:0}.col-lg-offset-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:8.33333333%}.col-lg-offset-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:16.66666667%}.col-lg-offset-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:25%}.col-lg-offset-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:33.33333333%}.col-lg-offset-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:41.66666667%}.col-lg-offset-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:50%}.col-lg-offset-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:58.33333333%}.col-lg-offset-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:66.66666667%}.col-lg-offset-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:75%}.col-lg-offset-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:83.33333333%}.col-lg-offset-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:91.66666667%}.col-lg-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.start-lg{justify-content:flex-start;text-align:start}.center-lg{justify-content:center;text-align:center}.end-lg{justify-content:flex-end;text-align:end}.top-lg{align-items:flex-start}.middle-lg{align-items:center}.bottom-lg{align-items:flex-end}.around-lg{justify-content:space-around}.between-lg{justify-content:space-between}.first-lg{order:-1}.last-lg{order:1}}.col.reverse{flex-direction:column-reverse}h1{font-size:2.961rem}@media (max-width: 49.99em){h1{font-size:2.441rem}}@media (max-width: 25em){h1{font-size:2.148rem}}h2{font-size:2.221rem}@media (max-width: 49.99em){h2{font-size:1.953em}}@media (max-width: 25em){h2{font-size:1.719rem}}h3{font-size:1.666rem}@media (max-width: 49.99em){h3{font-size:1.563rem}}@media (max-width: 25em){h3{font-size:1.375rem}}small{font-size:0.8em;color:grey}.icon{font:normal normal normal 14px/1 icons;display:inline-block;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-active{color:#0097a7}span.icon{margin-right:.3em}.icon-2x{font-size:2em}.icon-heart:before{content:'\e800'}.icon-attention-circled:before{content:'\e801'}.icon-link:before{content:'\e802'}.icon-ok-circled:before{content:'\e803'}.icon-info-circled:before{content:'\e804'}.icon-cancel-circled:before{content:'\e805'}.icon-download:before{content:'\e806'}.icon-tags:before{content:'\e807'}.icon-link-ext:before{content:'\f08e'}.icon-left-circled:before{content:'\f0a8'}.icon-right-circled:before{content:'\f0a9'}.icon-menu:before{content:'\f0c9'}.icon-money:before{content:'\f0d6'}.icon-mail-alt:before{content:'\f0e0'}.icon-terminal:before{content:'\f120'}.icon-rocket:before{content:'\f135'}.icon-space-shuttle:before{content:'\f197'}.icon-address-card:before{content:'\f2bb'}.icon-share:before{content:'\f1e0'}.icon-github:before{content:'\f09b'}.icon-github-cat:before{content:'\f113'}.icon-twitter:before{content:'\f304'}.icon-facebook:before{content:'\f308'}.icon-linkedin:before{content:'\f30c'}.icon-reddit:before{content:'\f1a2'}.icon-rss:before{content:'\f143'}.icon-youtube:before{content:'\f166'}.icon-stackoverflow:before{content:'\f16c'}.icon-instagram:before{content:'\f16d'}.icon-paypal:before{content:'\f1ed'}.icon-pulse-slow{animation:color 8s infinite;animation-direction:alternate}.icon-pulse-fast{animation:color 2s infinite;animation-direction:alternate}@keyframes color{from{color:#0097a7}to{color:#212121}}@keyframes blink{from,to{color:transparent}50%{color:#212121}}@keyframes scale-in-center{0%{transform:scale(0);opacity:1}100%{transform:scale(1);opacity:1}}@keyframes scale-out-center{0%{transform:scale(1);opacity:1}100%{transform:scale(0);opacity:1}}.cursor{animation:1.2s blink infinite}.scale-in-center{animation:scale-in-center 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both}.scale-out-center{animation:scale-out-center 0.4s cubic-bezier(0.895, 0.03, 0.685, 0.22) both}body{font-size:1.25rem;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;color:#212121;font-family:"Roboto","Rubic","Poppins","HelĀ­vetica",Arial,sans-serif;line-height:1.6}@media (max-width: 49.99em){body{font-size:1.25rem}}@media (max-width: 25em){body{font-size:1.1rem}}header{height:100vh;background-color:#fff}header div{z-index:101}header img{max-height:12rem}header h1{font-family:"Roboto","Rubic","Poppins","HelĀ­vetica",Arial,sans-serif}footer{height:12rem;background-color:#212121}footer div,footer a,footer .icon{color:#fff}strong{font-weight:600}del,s{text-decoration:line-through}em,q,dfn{font-style:italic}a{transition:color .2s ease-out;text-decoration:none}a img{border:0}a:hover{color:#0097a7}img{display:inline-block;max-width:100%;vertical-align:middle}ul,ol{margin-bottom:2rem}ul li,ol li{margin-left:1.25em}ul li code,ol li code{font-family:"Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace}ul li{list-style-type:disc}.show{transition:opacity 600ms}.hide{opacity:0}.modal{display:flex;visibility:hidden;position:fixed;z-index:-1000;top:0;left:0;width:100%;height:100%;overflow:hidden;overflow-x:hidden;transition:opacity .1s ease-out;background-color:rgba(33,33,33,0.75)}.modal.active{visibility:visible;z-index:1000}.modal a:hover{color:#0097a7}.modal article a{color:#0097a7}.modal-box{position:relative;width:80%;max-width:1000px;max-height:85vh;margin:auto;border-radius:9px;background-color:#F7F7F7;box-shadow:0 0 50px 0 #212121}.modal-container{overflow:hidden;border-radius:7px}.modal-header{height:20vh;border-radius:7px}.modal-header-img-container{display:flex;align-items:center;justify-content:center;height:100%;padding:40px}.modal-header-img-container img{max-height:100%}.modal-content{max-height:calc(80vh - 20vh);padding:30px;overflow-y:auto}.term-content{max-height:calc(80vh - 20vh);overflow-y:auto}.close{position:absolute;top:10px;right:-4px;color:#F7F7F7;font-size:30px;font-weight:bold;line-height:.5}.close:hover,.close:focus{color:#0097a7;text-decoration:none;cursor:pointer}.repo-info{color:grey;font-size:0.65em}.repo-info a{color:grey}.repo-info .icon{color:grey}.about{width:100%;background-color:#F7F7F7}.about p{font-size:1.666rem;margin-top:2rem}@media (max-width: 49.99em){.about p{font-size:1.563rem}}@media (max-width: 25em){.about p{font-size:1.375rem}}.about a{background-image:linear-gradient(#0097a7, #0097a7);background-repeat:repeat-x;background-position:0 95%;background-size:2px 3px;text-decoration:none;text-shadow:0.03em 0 #fff,-0.03em 0 #fff,0 0.03em #fff,0 -0.03em #fff,0.06em 0 #fff,-0.06em 0 #fff,0.09em 0 #fff,-0.09em 0 #fff,0.12em 0 #fff,-0.12em 0 #fff,0.15em 0 #fff,-0.15em 0 #fff,0.03em 0.075em #fff,-0.03em 0.075em #fff,0.06em 0.075em #fff,-0.06em 0.075em #fff,0.09em 0.075em #fff,-0.09em 0.075em #fff,0.12em 0.075em #fff,-0.12em 0.075em #fff,0.15em 0.075em #fff,-0.15em 0.075em #fff}.about a:hover{color:#0097a7}.gallery .gallery-item{position:relative;width:50%;padding:0}.gallery .gallery-item::after{content:"";display:block;padding-bottom:100%}.gallery .gallery-item:hover .overlay{visibility:visible;opacity:1}.gallery .overlay{visibility:hidden;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:.25s ease-out;opacity:0;background-color:#212121;cursor:pointer}.gallery .overlay a{color:#fff}.gallery .overlay a:hover{color:#0097a7}.gallery .overlay h2{margin:2rem;color:#fff}.gallery .gallery-img-container{display:flex;position:absolute;align-items:center;justify-content:center;width:100%;height:100%}.gallery img{padding:6rem}.gallery .gallery-modal-link{display:flex;position:absolute;align-items:center;justify-content:center;width:100%;height:100%}img.lazyload:not([src]){visibility:hidden}.lazyload,.lazyloading{object-fit:contain;width:100%;height:400px}pre{margin-top:0;margin-bottom:2rem;padding:16px;overflow:auto;background-color:#F7F7F7;font:12px "Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace;font-family:"Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace;font-size:85%;line-height:1.45;word-wrap:normal}pre>code{margin:0;padding:0;border:0;background:transparent;font-size:100%;word-break:normal;white-space:pre}pre code{display:inline;margin:0;padding:0;overflow:visible;border:0;background-color:transparent;line-height:inherit;word-wrap:normal}pre code::before,pre code::after{content:normal}code{padding:4px;background-color:#F7F7F7;font-family:"Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace;font-size:90%}.sans{font-family:"Open Sans", "Myriad Pro", "Myriad", sans-serif}.mono,tt{font-family:"Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace}q::before{content:"\201C"}q::after{content:"\201D"}blockquote::after,blockquote::before{content:"\201C";color:#0097a7;font-family:"Roboto Slab","Bitter","Ubuntu",Georgia,serif;font-size:35px}blockquote{padding:25px;font-family:"Roboto Slab","Bitter","Ubuntu",Georgia,serif;text-align:center}blockquote p{display:inline-block;font-style:italic}blockquote::after{content:"\201D"}.posts-list{margin:0 0 2rem}.sub-header,time{font-size:1.25rem;margin-bottom:2rem;color:#4E6B6C}@media (max-width: 49.99em){.sub-header,time{font-size:1.25rem}}@media (max-width: 25em){.sub-header,time{font-size:1.1rem}}.content{width:100%;text-align:left}.content time{margin-left:3px}.content a{background-image:linear-gradient(#0097a7, #0097a7);background-repeat:repeat-x;background-position:0 95%;background-size:1px 2px;text-decoration:none;text-shadow:0.03em 0 #fff,-0.03em 0 #fff,0 0.03em #fff,0 -0.03em #fff,0.06em 0 #fff,-0.06em 0 #fff,0.09em 0 #fff,-0.09em 0 #fff,0.12em 0 #fff,-0.12em 0 #fff,0.15em 0 #fff,-0.15em 0 #fff,0.03em 0.075em #fff,-0.03em 0.075em #fff,0.06em 0.075em #fff,-0.06em 0.075em #fff,0.09em 0.075em #fff,-0.09em 0.075em #fff,0.12em 0.075em #fff,-0.12em 0.075em #fff,0.15em 0.075em #fff,-0.15em 0.075em #fff}.content a:hover{color:#0097a7}.highlight{margin:10px 0}.pagination{margin:50px 0 0}.pagination:nth-child(2){float:right}.blog{display:flex;min-height:100vh}.blog h2{margin-bottom:0}.blog h3{margin:0 0 4rem;font-family:"Roboto","Rubic","Poppins","HelĀ­vetica",Arial,sans-serif}[data-termynal]{max-width:100%;background:#212121;color:#F7F7F7;font-size:0.8em;font-family:"Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace;padding:75px 45px 35px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}[data-termynal]:before{content:'';position:absolute;top:15px;left:15px;display:inline-block;width:15px;height:15px;border-radius:50%;background:#d9515d;-webkit-box-shadow:25px 0 0 #f4c025,50px 0 0 #0097a7;box-shadow:25px 0 0 #f4c025,50px 0 0 #0097a7}[data-termynal]:after{content:"term";position:absolute;color:#4E6B6C;top:5px;left:0;width:100%;text-align:center}[data-ty]{display:block;line-height:2;color:#F7F7F7}[data-ty]:before{content:'';display:inline-block;vertical-align:middle}[data-ty="input"]:before,[data-ty-prompt]:before{margin-right:0.75em;color:#4E6B6C}[data-ty="input"]:before{content:'$'}[data-ty][data-ty-prompt]:before{content:attr(data-ty-prompt)}[data-ty-cursor]:after{content:attr(data-ty-cursor);font-family:monospace;margin-left:0.5em;-webkit-animation:blink 1s infinite;animation:blink 1s infinite}@-webkit-keyframes blink{50%{opacity:0}}@keyframes blink{50%{opacity:0}}*{box-sizing:border-box;margin:0;padding:0;border:0;font:inherit;color:#212121;vertical-align:baseline}*::before,*::after{box-sizing:border-box}html{box-sizing:inherit;overflow-x:hidden;scroll-behavior:smooth}footer .icon{padding:0.5em;font-size:2em}@media (max-width: 47.99em){body .container{padding:8rem 2rem}nav div:not(:first-child):not(:last-child){display:none}nav div.nav-toggle a{display:inline-block}.mobile-hidden{visibility:hidden}}@media (max-width: 25em){body .container{padding:8rem 2rem}nav div.logo,nav div.nav-toggle{max-width:50% !important}}nav{position:absolute;z-index:100;bottom:0;width:100%;height:4rem;background-color:#fff;text-align:center}nav h3{margin:0;font-family:"Roboto","Rubic","Poppins","HelĀ­vetica",Arial,sans-serif;font-weight:600;letter-spacing:2px;text-transform:uppercase}nav img{display:inline-block;max-width:10em;max-height:2.5em;vertical-align:middle}nav .logo,nav .nav-toggle{visibility:hidden}nav .nav-toggle a{display:none}nav .nav-item-active a{color:#0097a7}.nav-shadow{box-shadow:0 3px 4px rgba(0,0,0,0.2)}.nav-fixed{position:fixed;top:0;bottom:auto}.nav-full{position:fixed;top:0;right:-100vw;bottom:0;width:100vw;height:100%;transform:translate(0, 0);transition:.3s ease-out;background-color:#212121}.nav-full a,.nav-full .icon{color:#fff}.nav-full a:hover,.nav-full .icon:hover{color:#0097a7}.nav-full.active{transform:translate(-100vw, 0)}main{transition:.3s ease-in;background-color:#F7F7F7}main.active{transform:translate(-100vw, 0)}.container{max-width:43.75rem;margin:auto;padding:8rem 0 8rem}p{margin-bottom:2rem}p code{font-family:"Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace}h1,h2,h3{margin-bottom:2rem;font-family:"Roboto Slab","Bitter","Ubuntu",Georgia,serif;letter-spacing:2px;line-height:1.45}h1 a,h2 a,h3 a{text-decoration:none}.home-logo{margin-bottom:2rem}a>.icon{transition:color .2s ease-out}a>.icon:not(.icon-menu):hover,a>.icon:not(.icon-menu):focus{color:#0097a7}.full{top:0;bottom:0;height:100vh}.contact{width:100%;padding-bottom:4rem;background-color:#F7F7F7}.contact form{margin-top:2rem}.contact .contact-submit{position:relative}.contact #form-submit{display:block;width:50%;margin:0 auto}.contact #form-thankyou,.contact #form-sending,.contact #form-error{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}input,textarea,button,select{width:100%;margin:8px 0;padding:10px;border-width:1px;border-style:solid;border-radius:3px;border-color:#F7F7F7;background-color:#fff;color:#212121}input[type="submit"],textarea[type="submit"],button[type="submit"],select[type="submit"]{transition:.4s ease-out;background-color:#4E6B6C;color:#fff}input[type="submit"]:hover,textarea[type="submit"]:hover,button[type="submit"]:hover,select[type="submit"]:hover{background-color:#0097a7;color:#fff;cursor:pointer}input .icon,textarea .icon,button .icon,select .icon{color:#fff}button{white-space:nowrap}textarea{min-height:8rem;overflow:auto} +ļ»æ@font-face{font-family:'Roboto';font-style:normal;font-weight:400;src:local("Roboto"),local("Roboto-Regular"),url("./fonts/roboto/roboto-v20-latin-regular.woff2") format("woff2"),url("./fonts/roboto/roboto-v20-latin-regular.woff") format("woff")}@font-face{font-family:'Roboto Slab';font-style:normal;font-weight:400;src:local("Roboto Slab Regular"),local("RobotoSlab-Regular"),url("./fonts/roboto/roboto-slab-v9-latin-regular.woff2") format("woff2"),url("./fonts/roboto/roboto-slab-v9-latin-regular.woff") format("woff")}@font-face{font-family:'icons';font-display:swap;font-weight:normal;font-style:normal;src:url("./fonts/icons/icons.woff2?30") format("woff2"),url("./fonts/icons/icons.woff?30") format("woff")}.col-xs-offset-12,.col-xs-offset-11,.col-xs-offset-10,.col-xs-offset-9,.col-xs-offset-8,.col-xs-offset-7,.col-xs-offset-6,.col-xs-offset-5,.col-xs-offset-4,.col-xs-offset-3,.col-xs-offset-2,.col-xs-offset-1,.col-xs-offset-0,.col-xs-12,.col-xs-11,.col-xs-10,.col-xs-9,.col-xs-8,.col-xs-7,.col-xs-6,.col-xs-5,.col-xs-4,.col-xs-3,.col-xs-2,.col-xs-1,.col-xs{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.container-fluid{margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}.container{margin-right:auto;margin-left:auto}.row{box-sizing:border-box;display:flex;flex:0 1 auto;flex-direction:row;flex-wrap:wrap}.row.reverse{flex-direction:row-reverse}.col-xs{flex-grow:1;flex-basis:0;max-width:100%}.col-xs-1{flex-basis:8.33333333%;max-width:8.33333333%}.col-xs-2{flex-basis:16.66666667%;max-width:16.66666667%}.col-xs-3{flex-basis:25%;max-width:25%}.col-xs-4{flex-basis:33.33333333%;max-width:33.33333333%}.col-xs-5{flex-basis:41.66666667%;max-width:41.66666667%}.col-xs-6{flex-basis:50%;max-width:50%}.col-xs-7{flex-basis:58.33333333%;max-width:58.33333333%}.col-xs-8{flex-basis:66.66666667%;max-width:66.66666667%}.col-xs-9{flex-basis:75%;max-width:75%}.col-xs-10{flex-basis:83.33333333%;max-width:83.33333333%}.col-xs-11{flex-basis:91.66666667%;max-width:91.66666667%}.col-xs-12{flex-basis:100%;max-width:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-11{margin-left:91.66666667%}.start-xs{justify-content:flex-start;text-align:start}.center-xs{justify-content:center;text-align:center}.end-xs{justify-content:flex-end;text-align:end}.top-xs{align-items:flex-start}.middle-xs{align-items:center}.bottom-xs{align-items:flex-end}.around-xs{justify-content:space-around}.between-xs{justify-content:space-between}.first-xs{order:-1}.last-xs{order:1}@media only screen and (min-width: 48em){.container{width:49rem}.col-sm{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-grow:1;flex-basis:0;max-width:100%}.col-sm-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:8.33333333%;max-width:8.33333333%}.col-sm-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:16.66666667%;max-width:16.66666667%}.col-sm-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:25%;max-width:25%}.col-sm-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:33.33333333%;max-width:33.33333333%}.col-sm-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:41.66666667%;max-width:41.66666667%}.col-sm-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:50%;max-width:50%}.col-sm-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:58.33333333%;max-width:58.33333333%}.col-sm-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:66.66666667%;max-width:66.66666667%}.col-sm-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:75%;max-width:75%}.col-sm-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:83.33333333%;max-width:83.33333333%}.col-sm-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:91.66666667%;max-width:91.66666667%}.col-sm-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:100%;max-width:100%}.col-sm-offset-0{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:0}.col-sm-offset-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:8.33333333%}.col-sm-offset-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:16.66666667%}.col-sm-offset-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:25%}.col-sm-offset-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:33.33333333%}.col-sm-offset-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:41.66666667%}.col-sm-offset-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:50%}.col-sm-offset-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:58.33333333%}.col-sm-offset-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:66.66666667%}.col-sm-offset-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:75%}.col-sm-offset-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:83.33333333%}.col-sm-offset-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:91.66666667%}.col-sm-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.start-sm{justify-content:flex-start;text-align:start}.center-sm{justify-content:center;text-align:center}.end-sm{justify-content:flex-end;text-align:end}.top-sm{align-items:flex-start}.middle-sm{align-items:center}.bottom-sm{align-items:flex-end}.around-sm{justify-content:space-around}.between-sm{justify-content:space-between}.first-sm{order:-1}.last-sm{order:1}}@media only screen and (min-width: 64em){.container{width:65rem}.col-md{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-grow:1;flex-basis:0;max-width:100%}.col-md-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:8.33333333%;max-width:8.33333333%}.col-md-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:16.66666667%;max-width:16.66666667%}.col-md-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:25%;max-width:25%}.col-md-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:33.33333333%;max-width:33.33333333%}.col-md-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:41.66666667%;max-width:41.66666667%}.col-md-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:50%;max-width:50%}.col-md-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:58.33333333%;max-width:58.33333333%}.col-md-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:66.66666667%;max-width:66.66666667%}.col-md-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:75%;max-width:75%}.col-md-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:83.33333333%;max-width:83.33333333%}.col-md-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:91.66666667%;max-width:91.66666667%}.col-md-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:100%;max-width:100%}.col-md-offset-0{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:0}.col-md-offset-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:8.33333333%}.col-md-offset-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:16.66666667%}.col-md-offset-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:25%}.col-md-offset-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:33.33333333%}.col-md-offset-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:41.66666667%}.col-md-offset-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:50%}.col-md-offset-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:58.33333333%}.col-md-offset-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:66.66666667%}.col-md-offset-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:75%}.col-md-offset-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:83.33333333%}.col-md-offset-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:91.66666667%}.col-md-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.start-md{justify-content:flex-start;text-align:start}.center-md{justify-content:center;text-align:center}.end-md{justify-content:flex-end;text-align:end}.top-md{align-items:flex-start}.middle-md{align-items:center}.bottom-md{align-items:flex-end}.around-md{justify-content:space-around}.between-md{justify-content:space-between}.first-md{order:-1}.last-md{order:1}}@media only screen and (min-width: 75em){.container{width:76rem}.col-lg{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-grow:1;flex-basis:0;max-width:100%}.col-lg-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:8.33333333%;max-width:8.33333333%}.col-lg-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:16.66666667%;max-width:16.66666667%}.col-lg-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:25%;max-width:25%}.col-lg-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:33.33333333%;max-width:33.33333333%}.col-lg-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:41.66666667%;max-width:41.66666667%}.col-lg-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:50%;max-width:50%}.col-lg-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:58.33333333%;max-width:58.33333333%}.col-lg-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:66.66666667%;max-width:66.66666667%}.col-lg-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:75%;max-width:75%}.col-lg-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:83.33333333%;max-width:83.33333333%}.col-lg-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:91.66666667%;max-width:91.66666667%}.col-lg-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;flex-basis:100%;max-width:100%}.col-lg-offset-0{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:0}.col-lg-offset-1{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:8.33333333%}.col-lg-offset-2{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:16.66666667%}.col-lg-offset-3{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:25%}.col-lg-offset-4{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:33.33333333%}.col-lg-offset-5{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:41.66666667%}.col-lg-offset-6{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:50%}.col-lg-offset-7{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:58.33333333%}.col-lg-offset-8{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:66.66666667%}.col-lg-offset-9{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:75%}.col-lg-offset-10{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:83.33333333%}.col-lg-offset-11{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem;margin-left:91.66666667%}.col-lg-offset-12{box-sizing:border-box;flex:0 0 auto;padding-right:0.5rem;padding-left:0.5rem}.start-lg{justify-content:flex-start;text-align:start}.center-lg{justify-content:center;text-align:center}.end-lg{justify-content:flex-end;text-align:end}.top-lg{align-items:flex-start}.middle-lg{align-items:center}.bottom-lg{align-items:flex-end}.around-lg{justify-content:space-around}.between-lg{justify-content:space-between}.first-lg{order:-1}.last-lg{order:1}}.col.reverse{flex-direction:column-reverse}h1{font-size:2.961rem}@media (max-width: 49.99em){h1{font-size:2.441rem}}@media (max-width: 25em){h1{font-size:2.148rem}}h2{font-size:2.221rem}@media (max-width: 49.99em){h2{font-size:1.953em}}@media (max-width: 25em){h2{font-size:1.719rem}}h3{font-size:1.666rem}@media (max-width: 49.99em){h3{font-size:1.563rem}}@media (max-width: 25em){h3{font-size:1.375rem}}small{font-size:0.8em;color:grey}.icon{font:normal normal normal 14px/1 icons;display:inline-block;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-active{color:#0097a7}span.icon{margin-right:.3em}.icon-2x{font-size:2em}.icon-heart:before{content:'\e800'}.icon-attention-circled:before{content:'\e801'}.icon-link:before{content:'\e802'}.icon-ok-circled:before{content:'\e803'}.icon-info-circled:before{content:'\e804'}.icon-cancel-circled:before{content:'\e805'}.icon-download:before{content:'\e806'}.icon-tags:before{content:'\e807'}.icon-link-ext:before{content:'\f08e'}.icon-left-circled:before{content:'\f0a8'}.icon-right-circled:before{content:'\f0a9'}.icon-menu:before{content:'\f0c9'}.icon-money:before{content:'\f0d6'}.icon-mail-alt:before{content:'\f0e0'}.icon-terminal:before{content:'\f120'}.icon-rocket:before{content:'\f135'}.icon-space-shuttle:before{content:'\f197'}.icon-address-card:before{content:'\f2bb'}.icon-share:before{content:'\f1e0'}.icon-github:before{content:'\f09b'}.icon-github-cat:before{content:'\f113'}.icon-twitter:before{content:'\f304'}.icon-facebook:before{content:'\f308'}.icon-linkedin:before{content:'\f30c'}.icon-reddit:before{content:'\f1a2'}.icon-rss:before{content:'\f143'}.icon-youtube:before{content:'\f166'}.icon-stackoverflow:before{content:'\f16c'}.icon-instagram:before{content:'\f16d'}.icon-paypal:before{content:'\f1ed'}.icon-pulse-slow{animation:color 8s infinite;animation-direction:alternate}.icon-pulse-fast{animation:color 2s infinite;animation-direction:alternate}@keyframes color{from{color:#0097a7}to{color:#212121}}@keyframes blink{from,to{color:transparent}50%{color:#212121}}@keyframes scale-in-center{0%{transform:scale(0);opacity:1}100%{transform:scale(1);opacity:1}}@keyframes scale-out-center{0%{transform:scale(1);opacity:1}100%{transform:scale(0);opacity:1}}.cursor{animation:1.2s blink infinite}.scale-in-center{animation:scale-in-center 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both}.scale-out-center{animation:scale-out-center 0.4s cubic-bezier(0.895, 0.03, 0.685, 0.22) both}body{font-size:1.25rem;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;color:#212121;font-family:"Roboto","Rubic","Poppins","HelĀ­vetica",Arial,sans-serif;line-height:1.6}@media (max-width: 49.99em){body{font-size:1.25rem}}@media (max-width: 25em){body{font-size:1.1rem}}header{height:100vh;background-color:#fff}header div{z-index:101}header img{max-height:12rem}header h1{font-family:"Roboto","Rubic","Poppins","HelĀ­vetica",Arial,sans-serif}footer{height:14rem;background-color:#212121}footer div,footer a,footer .icon{color:#fff}strong{font-weight:600}del,s{text-decoration:line-through}em,q,dfn{font-style:italic}a{transition:color .2s ease-out;text-decoration:none}a img{border:0}a:hover{color:#0097a7}img{display:inline-block;max-width:100%;vertical-align:middle}ul,ol{margin-bottom:2rem}ul li,ol li{margin-left:1.25em}ul li code,ol li code{font-family:"Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace}ul li{list-style-type:disc}.show{transition:opacity 600ms}.hide{opacity:0}.modal{display:flex;visibility:hidden;position:fixed;z-index:-1000;top:0;left:0;width:100%;height:100%;overflow:hidden;overflow-x:hidden;transition:opacity .1s ease-out;background-color:rgba(33,33,33,0.75)}.modal.active{visibility:visible;z-index:1000}.modal a:hover{color:#0097a7}.modal article a{color:#0097a7}.modal-box{position:relative;width:80%;max-width:1000px;max-height:85vh;margin:auto;border-radius:9px;background-color:#F7F7F7;box-shadow:0 0 50px 0 #212121}.modal-container{overflow:hidden;border-radius:7px}.modal-header{height:20vh;border-radius:7px}.modal-header-img-container{display:flex;align-items:center;justify-content:center;height:100%;padding:40px}.modal-header-img-container img{max-height:100%}.modal-content{max-height:calc(80vh - 20vh);padding:30px;overflow-y:auto}.term-content{max-height:calc(80vh - 20vh);overflow-y:auto}.close{position:absolute;top:10px;right:-4px;color:#F7F7F7;font-size:30px;font-weight:bold;line-height:.5;transition:color .2s ease-out}.close:hover,.close:focus{color:#0097a7;text-decoration:none;cursor:pointer}.repo-info{color:grey;font-size:0.65em}.repo-info a{color:grey}.repo-info .icon{color:grey}.about{width:100%;background-color:#F7F7F7}.about p{font-size:1.666rem;margin-top:2rem}@media (max-width: 49.99em){.about p{font-size:1.563rem}}@media (max-width: 25em){.about p{font-size:1.375rem}}.about a{background-image:linear-gradient(#0097a7, #0097a7);background-repeat:repeat-x;background-position:0 95%;background-size:2px 3px;text-decoration:none;text-shadow:0.03em 0 #fff,-0.03em 0 #fff,0 0.03em #fff,0 -0.03em #fff,0.06em 0 #fff,-0.06em 0 #fff,0.09em 0 #fff,-0.09em 0 #fff,0.12em 0 #fff,-0.12em 0 #fff,0.15em 0 #fff,-0.15em 0 #fff,0.03em 0.075em #fff,-0.03em 0.075em #fff,0.06em 0.075em #fff,-0.06em 0.075em #fff,0.09em 0.075em #fff,-0.09em 0.075em #fff,0.12em 0.075em #fff,-0.12em 0.075em #fff,0.15em 0.075em #fff,-0.15em 0.075em #fff}.about a:hover{color:#0097a7}.gallery .gallery-item{position:relative;width:50%;padding:0}.gallery .gallery-item::after{content:"";display:block;padding-bottom:100%}.gallery .gallery-item:hover .overlay{visibility:visible;opacity:1}.gallery .overlay{visibility:hidden;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:.25s ease-out;opacity:0;background-color:#212121;cursor:pointer}.gallery .overlay a{color:#fff}.gallery .overlay a:hover{color:#0097a7}.gallery .overlay h2{margin:2rem;color:#fff}.gallery .gallery-img-container{display:flex;position:absolute;align-items:center;justify-content:center;width:100%;height:100%}.gallery img{padding:6rem}.gallery .gallery-modal-link{display:flex;position:absolute;align-items:center;justify-content:center;width:100%;height:100%}img.lazyload:not([src]){visibility:hidden}.chroma{color:#93a1a1;background-color:#002b36}.chroma .x{color:#cb4b16}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0;width:auto;overflow:auto;display:block}.chroma .hl{display:block;width:100%;background-color:#ffffcc}.chroma .lnt{margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050}.chroma .ln{margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#495050}.chroma .k{color:#719e07}.chroma .kc{color:#cb4b16}.chroma .kd{color:#268bd2}.chroma .kn{color:#719e07}.chroma .kp{color:#719e07}.chroma .kr{color:#268bd2}.chroma .kt{color:#dc322f}.chroma .nb{color:#b58900}.chroma .bp{color:#268bd2}.chroma .nc{color:#268bd2}.chroma .no{color:#cb4b16}.chroma .nd{color:#268bd2}.chroma .ni{color:#cb4b16}.chroma .ne{color:#cb4b16}.chroma .nf{color:#268bd2}.chroma .nt{color:#268bd2}.chroma .nv{color:#268bd2}.chroma .s{color:#2aa198}.chroma .sa{color:#2aa198}.chroma .sb{color:#586e75}.chroma .sc{color:#2aa198}.chroma .dl{color:#2aa198}.chroma .s2{color:#2aa198}.chroma .se{color:#cb4b16}.chroma .si{color:#2aa198}.chroma .sx{color:#2aa198}.chroma .sr{color:#dc322f}.chroma .s1{color:#2aa198}.chroma .ss{color:#2aa198}.chroma .m{color:#2aa198}.chroma .mb{color:#2aa198}.chroma .mf{color:#2aa198}.chroma .mh{color:#2aa198}.chroma .mi{color:#2aa198}.chroma .il{color:#2aa198}.chroma .mo{color:#2aa198}.chroma .o{color:#719e07}.chroma .ow{color:#719e07}.chroma .c{color:#586e75}.chroma .ch{color:#586e75}.chroma .cm{color:#586e75}.chroma .c1{color:#586e75}.chroma .cs{color:#719e07}.chroma .cp{color:#719e07}.chroma .cpf{color:#719e07}.chroma .gd{color:#dc322f}.chroma .ge{font-style:italic}.chroma .gr{color:#dc322f;font-weight:bold}.chroma .gh{color:#cb4b16}.chroma .gi{color:#719e07}.chroma .gs{font-weight:bold}.chroma .gu{color:#268bd2}pre code{color:inherit;font-family:"Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace}pre{margin-top:8px;padding:16px;border-radius:4px;margin-bottom:2rem;overflow:auto;word-wrap:normal}.mono,tt{font-family:"Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace}q::before{content:"\201C"}q::after{content:"\201D"}blockquote::after,blockquote::before{content:"\201C";color:#0097a7;font-family:"Roboto Slab","Bitter","Ubuntu",Georgia,serif;font-size:35px}blockquote{padding:25px;font-family:"Roboto Slab","Bitter","Ubuntu",Georgia,serif;text-align:center}blockquote p{display:inline-block;font-style:italic}blockquote::after{content:"\201D"}.posts-list{margin:0 0 2rem}.sub-header,time{font-size:1.25rem;margin-bottom:2rem;color:#4E6B6C}@media (max-width: 49.99em){.sub-header,time{font-size:1.25rem}}@media (max-width: 25em){.sub-header,time{font-size:1.1rem}}.content{width:100%;text-align:left}.content time{margin-left:3px}.pagination{margin:50px 0 0}.pagination:nth-child(2){float:right}.blog{display:flex;min-height:100vh;background-color:#fff}.blog h2{margin-bottom:0}.blog h3{margin:0 0 4rem;font-family:"Roboto","Rubic","Poppins","HelĀ­vetica",Arial,sans-serif}[data-termynal]{max-width:100%;background:#212121;color:#F7F7F7;font-size:0.8em;font-family:"Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace;padding:75px 45px 35px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}[data-termynal]:before{content:'';position:absolute;top:15px;left:15px;display:inline-block;width:15px;height:15px;border-radius:50%;background:#d9515d;-webkit-box-shadow:25px 0 0 #f4c025,50px 0 0 #0097a7;box-shadow:25px 0 0 #f4c025,50px 0 0 #0097a7}[data-termynal]:after{content:"term";position:absolute;color:#4E6B6C;top:5px;left:0;width:100%;text-align:center}[data-ty]{display:block;line-height:2;color:#F7F7F7}[data-ty]:before{content:'';display:inline-block;vertical-align:middle}[data-ty="input"]:before,[data-ty-prompt]:before{margin-right:0.75em;color:#4E6B6C}[data-ty="input"]:before{content:'$'}[data-ty][data-ty-prompt]:before{content:attr(data-ty-prompt)}[data-ty-cursor]:after{content:attr(data-ty-cursor);font-family:monospace;margin-left:0.5em;-webkit-animation:blink 1s infinite;animation:blink 1s infinite}@-webkit-keyframes blink{50%{opacity:0}}@keyframes blink{50%{opacity:0}}*{box-sizing:border-box;margin:0;padding:0;border:0;font:inherit;color:inherit;vertical-align:baseline}*::before,*::after{box-sizing:border-box}html{box-sizing:inherit;overflow-x:hidden;scroll-behavior:smooth}footer{padding-bottom:1em}footer .icon{margin-top:1em;margin-bottom:1em;font-size:2em}footer a>.icon{color:#fff}@media (max-width: 47.99em){body .container{padding:8rem 2rem}nav div:not(:first-child):not(:last-child){display:none}nav div.nav-toggle a{display:inline-block}.mobile-hidden{visibility:hidden}}@media (max-width: 25em){body .container{padding:8rem 2rem}nav div.logo,nav div.nav-toggle{max-width:50% !important}}nav{position:absolute;z-index:100;bottom:0;width:100%;height:4rem;background-color:#fff;text-align:center}nav h3{margin:0;font-family:"Roboto","Rubic","Poppins","HelĀ­vetica",Arial,sans-serif;font-weight:600;letter-spacing:2px;text-transform:uppercase}nav img{display:inline-block;max-width:10em;max-height:2.5em;vertical-align:middle}nav .logo,nav .nav-toggle{visibility:hidden}nav .nav-toggle a{display:none}nav .nav-item-active a{color:#0097a7}.nav-shadow{box-shadow:0 3px 4px rgba(0,0,0,0.2)}.nav-fixed{position:fixed;top:0;bottom:auto}.nav-full{position:fixed;top:0;right:-100vw;bottom:0;width:100vw;height:100%;transform:translate(0, 0);transition:.3s ease-out;background-color:#212121}.nav-full a,.nav-full .icon{color:#fff}.nav-full a:hover,.nav-full .icon:hover{color:#0097a7}.nav-full.active{transform:translate(-100vw, 0)}main{transition:.3s ease-in;background-color:#F7F7F7}main.active{transform:translate(-100vw, 0)}.container{max-width:43.75rem;margin:auto;padding:8rem 0 8rem}p{margin-bottom:2rem}p code{font-family:"Roboto Mono","Menlo","Monaco","Andale Mono","lucida console","Courier New",monospace}h1,h2,h3{margin-bottom:2rem;font-family:"Roboto Slab","Bitter","Ubuntu",Georgia,serif;letter-spacing:2px;line-height:1.45}h1 a,h2 a,h3 a{text-decoration:none}.home-logo{margin-bottom:2rem}a>.icon{color:#212121;transition:color .2s ease-out}a>.icon:not(.icon-menu):hover,a>.icon:not(.icon-menu):focus{color:#0097a7}.full{top:0;bottom:0;height:100vh}.contact{width:100%;padding-bottom:4rem;background-color:#F7F7F7}.contact form{margin-top:2rem}.contact .contact-submit{position:relative}.contact #form-submit{display:block;width:50%;margin:0 auto}.contact #form-thankyou,.contact #form-sending,.contact #form-error{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}input,textarea,button,select{width:100%;margin:8px 0;padding:10px;border-width:1px;border-style:solid;border-radius:3px;border-color:#F7F7F7;background-color:#fff;color:#212121}input[type="submit"],textarea[type="submit"],button[type="submit"],select[type="submit"]{transition:.4s ease-out;background-color:#4E6B6C;color:#fff}input[type="submit"]:hover,textarea[type="submit"]:hover,button[type="submit"]:hover,select[type="submit"]:hover{background-color:#0097a7;color:#fff;cursor:pointer}input .icon,textarea .icon,button .icon,select .icon{color:#fff}button{white-space:nowrap}textarea{min-height:8rem;overflow:auto} diff --git a/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.json b/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.json index af0ee84..9971233 100644 --- a/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.json +++ b/exampleSite/resources/_gen/assets/scss/sass/main.scss_97bc3a74098849226ebef999cbcdad23.json @@ -1 +1 @@ -{"Target":"style.e457e6b872c62f68c12c441192f9ecd31686313cad2c4a27bbd48d010843cbf3.css","MediaType":"text/css","Data":{"Integrity":"sha256-5FfmuHLGL2jBLEQRkvns0xaGMTytLEonu9SNAQhDy/M="}} \ No newline at end of file +{"Target":"style.8bf9e65afd7249b538482c017b52bc4aab6c35fb771c80a22694935428991e48.css","MediaType":"text/css","Data":{"Integrity":"sha256-i/nmWv1ySbU4SCwBe1K8SqtsNft3HICiJpSTVCiZHkg="}} \ No newline at end of file diff --git a/layouts/_default/list.html b/layouts/_default/list.html index 1a239d7..d462c2b 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.html @@ -9,7 +9,7 @@
-
+

{{ humanize .Type }}

diff --git a/layouts/partials/blog.html b/layouts/partials/blog.html index 57cd613..374ef0d 100644 --- a/layouts/partials/blog.html +++ b/layouts/partials/blog.html @@ -3,7 +3,7 @@

{{ i18n "latestPosts" }}

-
+
{{ range first 5 (where .Site.RegularPages "Section" "blog") }}
diff --git a/layouts/partials/contact.html b/layouts/partials/contact.html index 3086bbe..3c89d0a 100644 --- a/layouts/partials/contact.html +++ b/layouts/partials/contact.html @@ -2,7 +2,7 @@
-
+

{{ i18n "letsChat" }}

@@ -24,7 +24,7 @@

{{ i18n "letsChat" }}

{{- end }}
- +
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 6cfec5a..58d9ff0 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -1,8 +1,7 @@