diff --git a/.github/workflows/tf_update_dev.yml b/.github/workflows/tf_update_dev.yml
deleted file mode 100644
index fa17097..0000000
--- a/.github/workflows/tf_update_dev.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-name: www2.freezone.ourworld.tf
-on:
- push:
- branches: [ development ]
-
-jobs:
- job_one:
- name: Deploy
- runs-on: ubuntu-latest
- steps:
- - name: pushing latest change on www2.freezone.ourworld.tf
- uses: appleboy/ssh-action@master
- with:
- host: www2.freezone.ourworld.tf
- username: ${{ secrets.TF_USER }}
- key: ${{ secrets.TF_SECRET }}
- port: ${{ secrets.TF_PORT }}
- script: |
- cd websites/www2/www_ourworld_freezone/
- git log -1
- git fetch
- git reset --hard origin/development
- sed -i "s/https:\/\/freezone.ourworld.tf/https:\/\/www2.freezone.ourworld.tf/g" config.toml
- ./build.sh
diff --git a/.github/workflows/tf_update_prod.yml b/.github/workflows/tf_update_prod.yml
deleted file mode 100644
index 7cebb4b..0000000
--- a/.github/workflows/tf_update_prod.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-name: freezone.ourworld.tf
-on:
- push:
- branches: [ master ]
-
-jobs:
- job_one:
- name: Deploy
- runs-on: ubuntu-latest
- steps:
- - name: pushing latest change on freezone.ourworld.tf
- uses: appleboy/ssh-action@master
- with:
- host: freezone.ourworld.tf
- username: ${{ secrets.TF_USER }}
- key: ${{ secrets.TF_SECRET }}
- port: ${{ secrets.TF_PORT }}
- script: |
- cd websites/www_ourworld_freezone/
- git log -1
- git fetch
- git reset --hard origin/master
- sed -i "s/https:\/\/www2.freezone.ourworld.tf/https:\/\/freezone.ourworld.tf/g" config.toml
- ./build.sh
diff --git a/build.sh b/build.sh
new file mode 100755
index 0000000..8b00a2c
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,38 @@
+echo "Starting build..."
+
+# TODO: Check if current version is latest to avoid redundant installation
+
+# checks os and architecture for correct release
+# https://stackoverflow.com/a/8597411
+echo "Installing & building tailwind..."
+ASSET="tailwindcss"
+
+if [[ "$OSTYPE" == "linux-gnu"* ]]; then
+ ASSET="$ASSET-linux"
+elif [[ "$OSTYPE" == "darwin"* ]]; then
+ ASSET="$ASSET-macos"
+fi
+if [[ "$(uname -m)" == "x86_64"* ]]; then
+ ASSET="$ASSET-x64"
+elif [[ "$(uname -m)" == "arm64"* ]]; then
+ ASSET="$ASSET-arm64"
+fi
+
+curl -sLO "https://github.com/tailwindlabs/tailwindcss/releases/latest/download/${ASSET}"
+chmod +x $ASSET
+mv $ASSET tailwindcss
+
+
+# initialized and configures tailwind if not configured
+echo "Initializing tailwind..."
+if [[ ! -f "tailwind.config.js" ]]
+then
+ ./tailwindcss init
+ sed -i '' "s| content: \\[\\],| content: \\['./templates/**/*.html'\\],|g" tailwind.config.js
+fi
+
+# compiles tailwind css for prod & builds project
+echo "Compiling tailwindcss and building zola project..."
+rm -rf public static/css
+./tailwindcss -i css/index.css -o ./static/css/index.css --minify
+zola build
diff --git a/config.toml b/config.toml
new file mode 100644
index 0000000..7935df8
--- /dev/null
+++ b/config.toml
@@ -0,0 +1,131 @@
+# The URL the site will be built for
+base_url = "http://localhost:8089/"
+# Change this to your own URL! Please note this variable **must** be uncommented.
+
+title = "A Template Website"
+description="Accessible and affordable for all"
+
+# When set to "true", a feed is automatically generated.
+# generate_feed = true
+
+# The filename to use for the feed. Used as the template filename, too.
+# Defaults to "atom.xml", which has a built-in template that renders an Atom 1.0 feed.
+# There is also a built-in template "rss.xml" that renders an RSS 2.0 feed.
+# feed_filename = "index.xml"
+
+# The number of articles to include in the feed. All items are included if
+# this limit is not set (the default).
+# feed_limit = 10
+
+# Whether to automatically compile all Sass files in the sass directory
+compile_sass = false
+
+# When set to "true", the generated HTML files are minified.
+# minify_html = true
+# I'm keeping off for now -- buggy -- 2021-02-05 (@keats says it'll be fixed 0.14.0)
+
+# Whether to build a search index to be used later on by a JavaScript library
+build_search_index = false
+
+[markdown]
+# Whether to do syntax highlighting
+# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola
+highlight_code = true
+highlight_theme = "visual-studio-dark"
+
+# When set to "true", emoji aliases translated to their corresponding
+# Unicode emoji equivalent in the rendered Markdown files. (e.g.: :smile: => 😄)
+render_emoji = false
+
+[slugify]
+paths = "on"
+
+# Whether external links are to be opened in a new tab
+# If this is true, a `rel="noopener"` will always automatically be added for security reasons
+external_links_target_blank = true
+
+# Whether to set rel="nofollow" for all external links
+external_links_no_follow = true
+
+# Whether to set rel="noreferrer" for all external links
+external_links_no_referrer = true
+
+# Whether smart punctuation is enabled (changing quotes, dashes, dots in their typographic form)
+# For example, `...` into `…`, `"quote"` into `“curly”` etc
+smart_punctuation = true
+
+[[taxonomies]]
+name = "categories"
+feed = true
+paginate_by = 2
+paginate_path = "blog-posts"
+
+[[taxonomies]]
+name = "items"
+feed = true
+paginate_by = 2
+paginate_path = "product-posts"
+
+[[taxonomies]]
+name = "roles"
+feed = true
+paginate_by = 2
+paginate_path = "blog-posts"
+
+[[taxonomies]]
+name = "tags"
+feed = true
+paginate_by = 2
+paginate_path = "blog-posts"
+
+[[taxonomies]]
+name = "news-category"
+feed = true
+paginate_by = 6
+paginate_path = "news-card"
+
+[[taxonomies]]
+name = "people"
+feed = true
+paginate_by = 9
+paginate_path = "people"
+
+[[taxonomies]]
+name = "memberships"
+feed = true
+paginate_by = 8
+paginate_path = "people/memberships"
+
+[extra]
+header_class = "customize"
+footer_class = "customize"
+
+[extra.taxonomies."roles"]
+ [extra.taxonomies."roles".Create]
+ icon_path = "images/icons/paint-brush-art-svgrepo-com.svg"
+ banner_path = "images/marius-masalar-unsplash.jpg"
+ title = "Create OurWorld"
+ description = "Become a part of a team of creators looking to shape our digital world"
+
+ [extra.taxonomies."roles".Develop]
+ icon_path = "images/icons/code-svgrepo-com.svg"
+ banner_path = "images/marius-masalar-unsplash.jpg"
+ title = "Develop OurWorld"
+ description = "Become a part of a team of developers building our digital world"
+
+ [extra.taxonomies."roles".Inspire]
+ icon_path = "images/icons/bar-svgrepo-com.svg"
+ banner_path = "images/marius-masalar-unsplash.jpg"
+ title = "Share OurWorld"
+ description = "Create communities and involve people in ourworld"
+
+ [extra.taxonomies."roles".Organize]
+ icon_path = "images/icons/form-svgrepo-com.svg"
+ banner_path = "images/marius-masalar-unsplash.jpg"
+ title = "Run OurWorld"
+ description = "Become a part of the organizational team at ourworld"
+
+
+
+
+
diff --git a/content/buildondunia/index.md b/content/buildondunia/index.md
index 8fd7163..f755e2b 100644
--- a/content/buildondunia/index.md
+++ b/content/buildondunia/index.md
@@ -6,8 +6,6 @@ updated: 2021-02-20
draft: false
sort_by: weight
weight: 1
-extra:
- logo_path: images/logo.svg
---
{% row(style="center" padding="none" bgPath="img/2.jpg" bgStyle="full") %}
diff --git a/content/css/admonition.css b/content/css/admonition.css
new file mode 100644
index 0000000..de7d76e
--- /dev/null
+++ b/content/css/admonition.css
@@ -0,0 +1,361 @@
+:root {
+ --md-admonition-icon--note: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--abstract: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--info: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--tip: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--success: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--question: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--warning: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--failure: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--danger: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--bug: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--example: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--quote: url("data:image/svg+xml;charset=utf-8, ");
+ --md-details-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23000000'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z'/%3E%3C/svg%3E");
+}
+
+:is(.admonition) {
+ display: flow-root;
+ margin: 1.5625em 0;
+ padding: 0 1.2rem;
+ color: var(--fg);
+ page-break-inside: avoid;
+ background-color: var(--bg);
+ border: 0 solid black;
+ border-inline-start-width: 0.4rem;
+ border-radius: 0.2rem;
+ box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.05), 0 0 0.1rem rgba(0, 0, 0, 0.1);
+}
+
+.admonition p {
+ display: block;
+ margin-block-start: 1em;
+ margin-block-end: 1em;
+ margin-inline-start: 0px;
+ margin-inline-end: 0px;
+ font-size: 0.8rem;
+}
+
+@media print {
+ :is(.admonition) {
+ box-shadow: none;
+ }
+}
+:is(.admonition) > * {
+ box-sizing: border-box;
+}
+:is(.admonition) :is(.admonition) {
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+:is(.admonition) > .tabbed-set:only-child {
+ margin-top: 0;
+}
+html :is(.admonition) > :last-child {
+ margin-bottom: 1.2rem;
+}
+
+:is(.admonition-title, summary) {
+ position: relative;
+ margin-block: 0;
+ margin-inline: -1.6rem -1.2rem;
+ padding-block: 0.8rem;
+ padding-inline: 4rem 1.2rem;
+ font-weight: 700;
+ background-color: rgba(68, 138, 255, 0.1);
+ border: 0 solid #448aff;
+ border-inline-start-width: 0.4rem;
+ border-start-start-radius: 0.2rem;
+ display: flex;
+}
+:is(.admonition-title, summary) > p {
+ margin: 0;
+}
+html :is(.admonition-title, summary):last-child {
+ margin-bottom: 0;
+}
+:is(.admonition-title, summary)::before {
+ position: absolute;
+ top: 0.625em;
+ inset-inline-start: 1.2rem;
+ width: 1.4rem;
+ height: 1.4rem;
+ background-color: #448aff;
+ mask-image: url('data:image/svg+xml;charset=utf-8, ');
+ -webkit-mask-image: url('data:image/svg+xml;charset=utf-8, ');
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-size: contain;
+ content: "";
+}
+
+:is(.admonition):is(.note) {
+ border-color: #448aff;
+}
+
+:is(.note) > :is(.admonition-title, summary) {
+ background-color: rgba(68, 138, 255, 0.1);
+ border-color: #448aff;
+}
+:is(.note) > :is(.admonition-title, summary)::before {
+ background-color: #448aff;
+ mask-image: var(--md-admonition-icon--note);
+ -webkit-mask-image: var(--md-admonition-icon--note);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.abstract, .summary, .tldr) {
+ border-color: #00b0ff;
+}
+
+:is(.abstract, .summary, .tldr) > :is(.admonition-title, summary) {
+ background-color: rgba(0, 176, 255, 0.1);
+ border-color: #00b0ff;
+}
+:is(.abstract, .summary, .tldr) > :is(.admonition-title, summary)::before {
+ background-color: #00b0ff;
+ mask-image: var(--md-admonition-icon--abstract);
+ -webkit-mask-image: var(--md-admonition-icon--abstract);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.info, .todo) {
+ border-color: #00b8d4;
+}
+
+:is(.info, .todo) > :is(.admonition-title, summary) {
+ background-color: rgba(0, 184, 212, 0.1);
+ border-color: #00b8d4;
+}
+:is(.info, .todo) > :is(.admonition-title, summary)::before {
+ background-color: #00b8d4;
+ mask-image: var(--md-admonition-icon--info);
+ -webkit-mask-image: var(--md-admonition-icon--info);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.tip, .hint, .important) {
+ border-color: #00bfa5;
+}
+
+:is(.tip, .hint, .important) > :is(.admonition-title, summary) {
+ background-color: rgba(0, 191, 165, 0.1);
+ border-color: #00bfa5;
+}
+:is(.tip, .hint, .important) > :is(.admonition-title, summary)::before {
+ background-color: #00bfa5;
+ mask-image: var(--md-admonition-icon--tip);
+ -webkit-mask-image: var(--md-admonition-icon--tip);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.success, .check, .done) {
+ border-color: #00c853;
+}
+
+:is(.success, .check, .done) > :is(.admonition-title, summary) {
+ background-color: rgba(0, 200, 83, 0.1);
+ border-color: #00c853;
+}
+:is(.success, .check, .done) > :is(.admonition-title, summary)::before {
+ background-color: #00c853;
+ mask-image: var(--md-admonition-icon--success);
+ -webkit-mask-image: var(--md-admonition-icon--success);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.question, .help, .faq) {
+ border-color: #64dd17;
+}
+
+:is(.question, .help, .faq) > :is(.admonition-title, summary) {
+ background-color: rgba(100, 221, 23, 0.1);
+ border-color: #64dd17;
+}
+:is(.question, .help, .faq) > :is(.admonition-title, summary)::before {
+ background-color: #64dd17;
+ mask-image: var(--md-admonition-icon--question);
+ -webkit-mask-image: var(--md-admonition-icon--question);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.warning, .caution, .attention) {
+ border-color: #ff9100;
+}
+
+:is(.warning, .caution, .attention) > :is(.admonition-title, summary) {
+ background-color: rgba(255, 145, 0, 0.1);
+ border-color: #ff9100;
+}
+:is(.warning, .caution, .attention) > :is(.admonition-title, summary)::before {
+ background-color: #ff9100;
+ mask-image: var(--md-admonition-icon--warning);
+ -webkit-mask-image: var(--md-admonition-icon--warning);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.failure, .fail, .missing) {
+ border-color: #ff5252;
+}
+
+:is(.failure, .fail, .missing) > :is(.admonition-title, summary) {
+ background-color: rgba(255, 82, 82, 0.1);
+ border-color: #ff5252;
+}
+:is(.failure, .fail, .missing) > :is(.admonition-title, summary)::before {
+ background-color: #ff5252;
+ mask-image: var(--md-admonition-icon--failure);
+ -webkit-mask-image: var(--md-admonition-icon--failure);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.danger, .error) {
+ border-color: #ff1744;
+}
+
+:is(.danger, .error) > :is(.admonition-title, summary) {
+ background-color: rgba(255, 23, 68, 0.1);
+ border-color: #ff1744;
+}
+:is(.danger, .error) > :is(.admonition-title, summary)::before {
+ background-color: #ff1744;
+ mask-image: var(--md-admonition-icon--danger);
+ -webkit-mask-image: var(--md-admonition-icon--danger);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.bug) {
+ border-color: #f50057;
+}
+
+:is(.bug) > :is(.admonition-title, summary) {
+ background-color: rgba(245, 0, 87, 0.1);
+ border-color: #f50057;
+}
+:is(.bug) > :is(.admonition-title, summary)::before {
+ background-color: #f50057;
+ mask-image: var(--md-admonition-icon--bug);
+ -webkit-mask-image: var(--md-admonition-icon--bug);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.example) {
+ border-color: #7c4dff;
+}
+
+:is(.example) > :is(.admonition-title, summary) {
+ background-color: rgba(124, 77, 255, 0.1);
+ border-color: #7c4dff;
+}
+:is(.example) > :is(.admonition-title, summary)::before {
+ background-color: #7c4dff;
+ mask-image: var(--md-admonition-icon--example);
+ -webkit-mask-image: var(--md-admonition-icon--example);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.quote, .cite) {
+ border-color: #9e9e9e;
+}
+
+:is(.quote, .cite) > :is(.admonition-title, summary) {
+ background-color: rgba(158, 158, 158, 0.1);
+ border-color: #9e9e9e;
+}
+:is(.quote, .cite) > :is(.admonition-title, summary)::before {
+ background-color: #9e9e9e;
+ mask-image: var(--md-admonition-icon--quote);
+ -webkit-mask-image: var(--md-admonition-icon--quote);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+.navy :is(.admonition) {
+ background-color: var(--sidebar-bg);
+}
+
+.ayu :is(.admonition),
+.coal :is(.admonition) {
+ background-color: var(--theme-hover);
+}
+
+.rust :is(.admonition) {
+ background-color: var(--sidebar-bg);
+ color: var(--sidebar-fg);
+}
+
+:is(.admonition-title) {
+ font-feature-settings: "kern", "liga";
+ font-weight: 600;
+ font-size: 0.84rem;
+ border: none;
+ padding: 10px 50px;
+}
+
+:is(summary)::after {
+ position: absolute;
+ top: 0.625em;
+ width: 1.4rem;
+ height: 1.4rem;
+ mask-image: url('data:image/svg+xml;charset=utf-8, ');
+ -webkit-mask-image: url('data:image/svg+xml;charset=utf-8, ');
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-size: contain;
+ content: "";
+}
+
+:is(summary)::after {
+ background-color: black;
+ mask-image: var(--md-details-icon);
+ -webkit-mask-image: var(--md-details-icon);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+ position: absolute;
+ transform: rotate(-90deg);
+ transition: transform 0.25s;
+ right: 0.4rem;
+}
+
+details[open] > summary::after {
+ transform: rotate(0deg);
+}
diff --git a/content/css/code.css b/content/css/code.css
new file mode 100644
index 0000000..7d95a8e
--- /dev/null
+++ b/content/css/code.css
@@ -0,0 +1,90 @@
+code.language-html,
+code.language-css,
+code.language-md,
+code.language-cmd,
+code.language-bash,
+code.language-text,
+code.language-js,
+span.o,
+span.nx {
+ color: rgb(255, 255, 255);
+ line-height: 1.4;
+}
+span.c {
+ color: hsl(120, 100%, 20%);
+}
+
+span.p,
+span.s1,
+span.s2,
+span.nt {
+ color: hsl(40, 100%, 30%);
+}
+
+span.gs,
+span.gh,
+span.ge {
+ color: hsl(208, 100%, 50%);
+}
+
+span.gs {
+ font-weight: bold;
+}
+
+span.ge {
+ font-style: italic;
+}
+
+pre,
+code {
+ @apply font-mono;
+}
+
+code {
+ background-color: hsl(0, 0%, 98%);
+ border-radius: 3px;
+ color: hsl(120, 100%, 20%);
+ font-size: 85%;
+}
+
+pre {
+ margin: 0;
+ margin: 0;
+ padding: 1rem;
+ overflow: scroll;
+}
+
+pre code {
+ background-color: transparent;
+ color: inherit;
+ font-size: 100%;
+ padding: 0;
+}
+
+.highlight {
+ background-color: transparent;
+ border-radius: 3px;
+ margin: 0 0 0.5rem;
+ padding: 0;
+
+ & pre {
+ margin-bottom: 0;
+ overflow-x: auto;
+ }
+
+ & .lineno {
+ color: hsla(0, 0%, 67%, 0.72);
+ display: inline-block; /* Ensures the null space also isn't selectable */
+ padding: 0 0.75rem 0 0.25rem;
+ /* Make sure numbers aren't selectable */
+ }
+}
+
+/* TODO: dark theme for future
+@media (prefers-color-scheme: dark) {
+ code {
+ color: #fff;
+ background: hsl(200, 63%, 15%);
+ }
+}
+*/
diff --git a/content/css/index.css b/content/css/index.css
new file mode 100644
index 0000000..1819793
--- /dev/null
+++ b/content/css/index.css
@@ -0,0 +1,406 @@
+/*! purgecss start ignore */
+@import "code.css";
+/*! purgecss end ignore */
+
+@import "tailwindcss/base";
+@import "layout.css";
+@import "tailwindcss/components";
+@import "admonition.css";
+@import "tailwindcss/utilities";
+
+@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&family=Montserrat:wght@400;700&display=swap');
+/* Custom CSS for header partial */
+.backdrop-blur {
+ -webkit-backdrop-filter: blur(40px);
+}
+
+* {
+ font-family: 'Lato', sans-serif;
+}
+
+.bg-semi-white {
+ background-color: rgba(255, 255, 255, 0.75);
+}
+
+/* Custom css allowing image styling in markdown */
+
+
+img[src*="#mx-auto"] {
+ margin: auto;
+}
+
+img[src*="#small"] {
+ width: 68px;
+}
+
+img[src*="#sm"] {
+ width: 200px;
+}
+
+img[src*="#md"] {
+ width: 300px;
+}
+
+img[src*="#medium"] {
+ width: 500px;
+}
+
+img[src*="#logo"] {
+ max-width: min(250px, 100%);
+ margin: auto;
+}
+
+img[src*="#large"] {
+ width: min(60vw, 100vh);
+ margin: auto;
+}
+
+img[src*="#fill"] {
+ width: 100%;
+ height: 100%;
+}
+
+img[src*="#tft_img"] {
+ width: 150px;
+ margin: 8px;
+}
+
+img[src*="#icon"] {
+ width: 65px;
+ margin: 4px;
+}
+
+img[src*="#fig"] {
+ width: 150px;
+}
+
+.logo_size {
+ width: 200px;
+}
+
+.advance{
+
+ font-family: "lato";
+}
+
+@layer components {
+ h1 {
+ @apply text-3xl lg:text-5xl xl:text-7xl font-bold leading-4 my-4;
+ font-family: "lato", sans-serif;
+ line-height: 0.9;
+
+ }
+ h1 strong {
+ @apply font-medium;
+ }
+ h2 {
+ @apply text-3xl md:text-4xl lg:text-6xl font-bold leading-4 my-4;
+ font-family: "lato", sans-serif;
+ line-height: 0.9;
+
+
+ }
+ h2 strong {
+ @apply font-medium;
+ }
+ h3 {
+ @apply text-xl lg:text-3xl font-normal my-4;
+ color:#oab7a9;
+ }
+ h3 strong {
+ @apply font-medium;
+ }
+ h4 {
+ @apply text-xl lg:text-2xl font-normal my-4;
+ color:#oab7a9;
+ }
+ h5 {
+ @apply text-xl lg:text-xl font-normal;
+ }
+ h6 {
+ @apply text-lg not-italic font-normal my-1;
+ }
+ p {
+ @apply text-base lg:text-lg leading-tight tracking-normal font-normal my-0;
+ font-family: "CercoDEMO", sans-serif;
+ }
+ blockquote {
+ @apply border-l-4 border-gray-400 mx-2 my-2 p-2;
+ }
+ li {
+ @apply text-lg lg:text-xl font-normal my-2;
+ }
+ li li {
+ @apply text-sm lg:text-sm font-light;
+ }
+ button {
+ @apply inline-block
+ text-base
+ lg:text-lg
+ px-8
+ py-1
+ my-4
+ border-2
+ shadow
+ }
+
+ article h2{
+ @apply text-xl lg:text-3xl font-medium
+ }
+
+article p ,li{
+ @apply text-base lg:text-lg
+}
+}
+
+a:hover{
+ color: #737373;
+}
+
+button:hover {
+ color: #737373;
+}
+
+button {
+font-weight: 500;
+}
+
+.experience-btn {
+ border: none;
+ margin: 0;
+ padding: 0;
+ color: black;
+ padding: 20px;
+ width: fit-content;
+}
+
+.experience-btn p {
+ @apply text-lg;
+}
+
+.experience-btn:hover {
+ background: white;
+}
+
+
+.experience-btn h4 {
+ white-space: normal;
+}
+
+header .customize {
+ background-color: transparent;
+ position: absolute;
+}
+
+footer .customize {
+ /* width: 100vw; */
+ color: #fff;
+ background-color: #17b9c8;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ padding-top: 24px;
+ padding-bottom: 24px;
+}
+
+footer .customize img {
+ width: 60px;
+}
+
+
+header .customize div {
+ box-shadow: none;
+ text-transform: uppercase;
+ font-weight: 700 !important;
+}
+
+button {
+ background: transparent;
+ color: black;
+ border-radius: 4px;
+ border: 2px solid black;
+ box-shadow: none;
+ /* font-size: 18px; */
+}
+
+a {
+ border: none;
+}
+
+header {
+ font-family: "Work Sans";
+}
+
+.nav_btn {
+ margin: 0 !important;
+ padding: 0 !important;
+ border: none !important;
+ box-shadow: none !important;
+}
+
+.quicklinks {
+ box-sizing: border-box;
+ -webkit-align-items: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ width: auto;
+ display: inline-block;
+ margin: 0 auto;
+ border-radius: 10px;
+ margin-top: 30px;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ margin-bottom: 20px;
+}
+.quicklinks img {
+ height: auto;
+ max-width: 200px;
+ display: inline-block;
+ padding: 10px;
+ -webkit-filter: grayscale(100%);
+ filter: grayscale(100%);
+ position: relative;
+ margin-right: 30px;
+ -webkit-transition: all 0.2s ease;
+ transition: all 0.2s ease;
+ opacity: 0.5;
+}
+
+.quicklinks img:hover {
+ opacity: 1;
+ -webkit-transition: all 0.2s ease;
+ transition: all 0.2s ease;
+ -webkit-filter: grayscale(0%);
+ filter: grayscale(0%);
+}
+
+.banner {
+ width: 100%;
+ margin: 0;
+ padding: 120px 0;
+ text-align: center;
+ position: relative;
+ display: block;
+ color: #fff !important;
+ letter-spacing: 0.5px;
+ overflow: hidden;
+ background: #00838d;
+ transition: 1.5s;
+}
+
+.header {
+ height: auto;
+ background: none;
+ padding: 200px 0;
+}
+
+.banner h2,
+.header h1 {
+ margin: auto;
+ color: #fff;
+ position: relative;
+ transition: 0.3s;
+ z-index: 1;
+ white-space: nowrap;
+}
+
+.header h1 {
+ color: #000;
+ transition: none;
+}
+
+.banner h2 svg {
+ font-size: 40px;
+ margin-left: 15px;
+ position: absolute;
+ top: 55%;
+ transform: translateY(-50%) scale(0.5);
+ opacity: 0;
+ transition: 0.3s;
+}
+
+.banner .back {
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ background-position: center;
+ background-size: cover;
+ filter: grayscale(1) contrast(1.4);
+ opacity: 0.25;
+ transition: 1.5s;
+}
+
+.header .back {
+ filter: none;
+ opacity: 1;
+ background-position: center;
+
+ background-size: cover;
+ background-repeat: no-repeat;
+}
+
+.banner:hover {
+ background: #4b3a92;
+}
+
+.header:hover {
+ background: none;
+}
+
+.banner:hover h2 svg {
+ transform: translateY(-50%) scale(1);
+ opacity: 1;
+}
+
+.banner:hover h2 {
+ padding-right: 40px;
+}
+
+.header:hover h1 {
+ padding-right: 0;
+}
+
+.banner:hover .back {
+ transform: scale(1.03);
+}
+
+.header:hover .back {
+ transform: none;
+}
+
+@media (max-width: 768px) {
+ /* h2 {
+ font-size: 4rem;
+ } */
+}
+@media (max-width: 640px) {
+ .banner h2 {
+ font: 600 7vw/10vw;
+ }
+
+ .header h1 {
+ font-size: 35px;
+ }
+
+ .banner h2 svg {
+ font-size: 30px;
+ }
+}
+
+@media (max-width: 480px) {
+ .banner,
+ .header {
+ padding: 80px 0;
+ }
+
+ footer {
+ text-align: center;
+ }
+ /* h2 {
+ font-size: 3rem;
+ } */
+}
diff --git a/content/css/layout.css b/content/css/layout.css
new file mode 100644
index 0000000..e1ef0cb
--- /dev/null
+++ b/content/css/layout.css
@@ -0,0 +1,472 @@
+main {
+ @apply pt-0;
+}
+
+#text-1xl { @apply text-xl }
+#text-2xl { @apply text-2xl }
+#text-3xl { @apply text-3xl }
+#text-4xl { @apply text-4xl }
+#text-5xl { @apply text-5xl }
+#text-6xl { @apply xl:text-6xl lg:text-5xl md:text-4xl sm:text-3xl}
+#text-7xl { @apply text-7xl }
+#text-8xl { @apply text-8xl }
+#text-9xl {
+ font-size: 8rem;
+}
+
+#xp-heading { @apply m-0 }
+/*
+html, body {
+ @apply dark:bg-black;
+
+body {
+ @apply font-serif dark:text-gray-200;
+}
+*/
+
+p {
+ /* for handling Markdown-created
and
*/
+ @apply text-lg;
+}
+
+pre,
+code {
+ font-feature-settings: normal;
+}
+
+.navWhite,
+.navWhite:visited {
+ @apply text-white;
+}
+
+.navWhite:focus,
+.navWhite:active {
+ @apply text-gray-400;
+}
+
+.text-blue-light {
+ @apply text-blue-500;
+}
+
+.text-blue-dark {
+ /* for dark mode
+ @apply text-blue-200;
+ */
+}
+
+.text-shadow-titles {
+ text-shadow: 4px 4px 2px #000;
+}
+
+.gradient-titles {
+ @apply bg-gradient-to-b from-blue-700 to-black;
+}
+
+.ctr {
+ @apply text-center;
+}
+
+.legal {
+ @apply text-xs;
+}
+
+nav h4 a:hover {
+ @apply border-0 text-blue-300 font-light;
+}
+nav h4 a,
+nav h4 a:focus,
+nav h4 a:active {
+ @apply border-0 text-black font-light;
+}
+
+a h2 {
+ @apply text-black;
+}
+
+a:focus,
+a:hover {
+ @apply border-none text-blue-300;
+}
+a:active {
+ @apply text-blue-800 border-blue-500;
+}
+
+h5 a {
+ @apply text-gray-900 font-normal;
+}
+
+/*
+a:hover {
+ @apply dark:text-blue-300;
+}
+*/
+
+sup a,
+a.previous,
+a.next,
+.footnote-return {
+ @apply border-b-0;
+}
+
+#nav-toggle:checked + #navMenu {
+ @apply block;
+}
+
+a.navborderless {
+ @apply border-b-0;
+}
+/*
+.dateInfo {
+ @apply text-gray-700 dark:text-gray-400;
+}
+*/
+
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3,
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+}
+
+h1,
+.h1 {
+ @apply text-4xl font-extrabold;
+}
+
+h2,
+.h2,
+h3,
+.h3,
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+ @apply font-bold;
+}
+
+h2,
+.h2 {
+ @apply text-4xl;
+}
+
+h4,
+.h4 {
+ @apply text-2xl;
+}
+
+h5 {
+ @apply not-italic;
+}
+
+h5,
+.h5,
+h6,
+.h6 {
+ @apply text-lg;
+}
+
+.height-hero {
+ height: 45vh;
+ max-height: 45vh;
+ overflow: hidden;
+}
+
+.height-post {
+ height: 35vh;
+ max-height: 35vh;
+}
+
+.imgCover {
+ @apply object-cover object-center h-full w-full;
+}
+
+.background-hero-image-div {
+ @apply relative overflow-hidden w-full bg-black;
+ /* Have to allow for mobile browsers' own "chrome"; can't go by Inspector simulations of smaller breakpoints */
+ height: 80vh;
+ max-height: 80vh;
+}
+
+.background-hero-title-block-fit {
+ @apply block w-full absolute bottom-0 px-4 pt-3 pb-6 bg-gradient-to-t from-black;
+}
+
+.background-hero-title-text {
+ text-shadow: 4px 4px 2px #000;
+}
+
+@media screen and (min-width: 768px) {
+ .background-hero-title-block-fit {
+ @apply px-12;
+ }
+
+ .background-hero-image-div {
+ height: 85vh;
+ max-height: 85vh;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .background-hero-title-block-fit {
+ @apply px-16;
+ }
+
+ .background-hero-image-div {
+ height: 95vh;
+ max-height: 95vh;
+ }
+}
+
+.text-nowrap,
+.text-nobrk {
+ @apply whitespace-nowrap;
+}
+
+article h1,
+article h2,
+article h3,
+article h4 {
+ @apply tracking-tight mt-8 mb-6;
+}
+
+article p {
+ @apply text-lg leading-relaxed;
+}
+
+article img.containedImage {
+ min-width: 100%;
+ max-width: 100%;
+ @apply w-full h-auto;
+}
+
+@media screen and (min-width: 768px) {
+ .height-hero {
+ height: 70vh;
+ max-height: 70vh;
+ }
+
+ .height-post {
+ height: 40vh;
+ max-height: 40vh;
+ }
+}
+
+@media screen and (min-width: 768px) {
+ article p {
+ @apply text-xl leading-relaxed;
+ }
+}
+
+@media screen and (min-width: 1920px) {
+ article p {
+ @apply text-2xl leading-relaxed;
+ }
+}
+/*
+.yellowBox {
+ @apply font-sans bg-yellow-200 border border-gray-900 border-solid mx-auto my-2 w-full px-6 py-2 dark:bg-gray-800 dark:border-gray-500;
+}
+*/
+
+.yellowbox p {
+ @apply w-full p-2 m-0;
+}
+
+ul,
+ol {
+ @apply pl-8;
+}
+
+ul {
+ @apply list-disc;
+}
+
+ol {
+ @apply list-decimal;
+}
+
+.twitter-tweet {
+ @apply mt-4 mx-auto mb-0;
+}
+
+table.leagues {
+ @apply w-11/12 mt-4 mx-auto mb-0 border-0 border-collapse;
+}
+
+table.leagues td.col {
+ @apply w-1/2;
+}
+
+@media (min-width: 900px) {
+ table.leagues {
+ @apply w-3/5;
+ }
+ table.noborders {
+ @apply w-11/12;
+ }
+}
+
+table.noborders {
+ @apply w-full border-0 border-collapse mt-6 mx-auto mb-4;
+}
+
+table.noborders td {
+ @apply text-gray-800 text-left align-middle py-1 pr-0 pl-2;
+ /* text-align: left !important; */
+}
+
+table.noborders td img {
+ @apply inline-block align-middle m-0;
+}
+
+table.noborders tr {
+ @apply bg-blue-100;
+}
+
+table.noborders tr:nth-child(even) {
+ @apply bg-gray-200;
+}
+
+table.noborders thead tr {
+ @apply bg-blue-700;
+}
+
+table.noborders thead td {
+ @apply text-white font-bold;
+}
+
+table.noborders td.td70 {
+ width: 70%;
+}
+table.noborders td.td70 img {
+ @apply block w-1/2 h-auto;
+ max-width: 50%;
+}
+
+table.noborders td.td30 {
+ width: 30%;
+}
+/*
+blockquote {
+ @apply px-6 text-gray-700 dark:text-gray-400;
+}
+*/
+
+/* start, footnotes */
+
+.footnote-definition,
+.footnote-reference {
+ @apply font-sans;
+}
+
+.footnote-reference {
+ font-size: 0.65em;
+ top: -0.5em;
+}
+
+.footnote-sim {
+ font-size: 0.65em;
+ color: #0000ff;
+ @media (prefers-color-scheme: dark) {
+ color: #00aaff;
+ }
+}
+
+.footnotes {
+ & ol {
+ padding-inline-start: 1.5rem;
+ }
+ & ol li {
+ margin-bottom: 0.5rem;
+ font-size: $pokey;
+ }
+ & li p {
+ font-size: 100%;
+ line-height: 1.4;
+ }
+ & .footnote-backref {
+ font-size: 75%;
+ }
+}
+
+a.footnote-return {
+ font-size: 50%;
+}
+
+article > .footnote-definition {
+ border-top: 1px solid black;
+ padding-top: 1em;
+ margin-top: 1em;
+}
+
+article > .footnote-definition ~ .footnote-definition {
+ border-top: 0;
+ padding-top: 0;
+ margin-top: 0;
+}
+
+.footnote-definition-label {
+ top: -0.4em;
+ font-size: 0.65em;
+}
+
+.footnote-definition-label + p {
+ font-size: 75%;
+ margin-top: -1.75em;
+ margin-left: 1em;
+ line-height: 1.35;
+}
+
+.footnote-definition-label::after {
+ content: ".";
+}
+
+/* == end, footnotes */
+
+.aspect-16x9 {
+ padding-bottom: 56.25%;
+}
+/*
+hr {
+ @apply border-solid border-gray-900 dark:border-gray-100;
+}
+*/
+
+footer {
+ @apply font-sans;
+}
+
+.lazypicturecaption {
+ @apply text-sm p-0 mt-2 leading-snug text-center;
+}
+
+.home-colOne p {
+ @apply leading-8 mb-4;
+}
+
+.home-colOne img {
+ @apply my-4;
+}
+
+.container-comments {
+ margin: 0 auto;
+ font-size: 85%;
+ width: 85%;
+ max-width: 720px !important;
+ margin-bottom: 0;
+}
+
+@media screen and (min-width: 900px) {
+ .container-comments {
+ width: 40%;
+ }
+}
diff --git a/content/footer/_index.md b/content/footer/_index.md
index de2c25b..c23a500 100644
--- a/content/footer/_index.md
+++ b/content/footer/_index.md
@@ -4,7 +4,7 @@ description: ""
insert_anchor_links: "left"
template: "partials/footer.html"
extra:
- logoPath: "footer/img/logo_dunia_2.jpeg"
+ logoPath: "images/logo.jpeg"
socialLinks: { Youtube: "https://www.youtube.com/channel/UC_iykLteqV-jwOBzueLtUwg", Twitter: "https://twitter.com/DenisMukwege", Facebook: "https://www.facebook.com/DrDenisMukwege" }
---
diff --git a/content/header/_index.md b/content/header/_index.md
index 256cd8a..4aa43dd 100644
--- a/content/header/_index.md
+++ b/content/header/_index.md
@@ -4,7 +4,7 @@ description: "this is a header."
insert_anchor_links: "left"
template: "partials/header.html"
extra:
- logoPath: "/header/img/logo_dunia.jpeg"
+ logoPath: "/images/logoheader.jpeg"
imgPath: ""
---
- [Home]("/home")
diff --git a/content/nodehost/index.md b/content/nodehost/index.md
index 0da6b90..4058fd5 100644
--- a/content/nodehost/index.md
+++ b/content/nodehost/index.md
@@ -7,7 +7,7 @@ draft: false
sort_by: weight
weight: 1
extra:
- logo_path: images/logo.svg
+ logo_path: images/logo.jpeg
---
{% row(style="center" padding="top") %}
diff --git a/content/participate/index.md b/content/participate/index.md
index 75007b0..7d33648 100644
--- a/content/participate/index.md
+++ b/content/participate/index.md
@@ -7,7 +7,7 @@ draft: false
sort_by: weight
weight: 1
extra:
- logo_path: images/logo.svg
+ logo_path: images/logo.jpeg
---
{% row(style="center" margin="through." bgPath="img/participate_2.png" bgStyle="full") %}
diff --git a/css/admonition.css b/css/admonition.css
new file mode 100644
index 0000000..de7d76e
--- /dev/null
+++ b/css/admonition.css
@@ -0,0 +1,361 @@
+:root {
+ --md-admonition-icon--note: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--abstract: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--info: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--tip: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--success: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--question: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--warning: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--failure: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--danger: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--bug: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--example: url("data:image/svg+xml;charset=utf-8, ");
+ --md-admonition-icon--quote: url("data:image/svg+xml;charset=utf-8, ");
+ --md-details-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 0 24 24' width='24px' fill='%23000000'%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3Cpath d='M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z'/%3E%3C/svg%3E");
+}
+
+:is(.admonition) {
+ display: flow-root;
+ margin: 1.5625em 0;
+ padding: 0 1.2rem;
+ color: var(--fg);
+ page-break-inside: avoid;
+ background-color: var(--bg);
+ border: 0 solid black;
+ border-inline-start-width: 0.4rem;
+ border-radius: 0.2rem;
+ box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.05), 0 0 0.1rem rgba(0, 0, 0, 0.1);
+}
+
+.admonition p {
+ display: block;
+ margin-block-start: 1em;
+ margin-block-end: 1em;
+ margin-inline-start: 0px;
+ margin-inline-end: 0px;
+ font-size: 0.8rem;
+}
+
+@media print {
+ :is(.admonition) {
+ box-shadow: none;
+ }
+}
+:is(.admonition) > * {
+ box-sizing: border-box;
+}
+:is(.admonition) :is(.admonition) {
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+:is(.admonition) > .tabbed-set:only-child {
+ margin-top: 0;
+}
+html :is(.admonition) > :last-child {
+ margin-bottom: 1.2rem;
+}
+
+:is(.admonition-title, summary) {
+ position: relative;
+ margin-block: 0;
+ margin-inline: -1.6rem -1.2rem;
+ padding-block: 0.8rem;
+ padding-inline: 4rem 1.2rem;
+ font-weight: 700;
+ background-color: rgba(68, 138, 255, 0.1);
+ border: 0 solid #448aff;
+ border-inline-start-width: 0.4rem;
+ border-start-start-radius: 0.2rem;
+ display: flex;
+}
+:is(.admonition-title, summary) > p {
+ margin: 0;
+}
+html :is(.admonition-title, summary):last-child {
+ margin-bottom: 0;
+}
+:is(.admonition-title, summary)::before {
+ position: absolute;
+ top: 0.625em;
+ inset-inline-start: 1.2rem;
+ width: 1.4rem;
+ height: 1.4rem;
+ background-color: #448aff;
+ mask-image: url('data:image/svg+xml;charset=utf-8, ');
+ -webkit-mask-image: url('data:image/svg+xml;charset=utf-8, ');
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-size: contain;
+ content: "";
+}
+
+:is(.admonition):is(.note) {
+ border-color: #448aff;
+}
+
+:is(.note) > :is(.admonition-title, summary) {
+ background-color: rgba(68, 138, 255, 0.1);
+ border-color: #448aff;
+}
+:is(.note) > :is(.admonition-title, summary)::before {
+ background-color: #448aff;
+ mask-image: var(--md-admonition-icon--note);
+ -webkit-mask-image: var(--md-admonition-icon--note);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.abstract, .summary, .tldr) {
+ border-color: #00b0ff;
+}
+
+:is(.abstract, .summary, .tldr) > :is(.admonition-title, summary) {
+ background-color: rgba(0, 176, 255, 0.1);
+ border-color: #00b0ff;
+}
+:is(.abstract, .summary, .tldr) > :is(.admonition-title, summary)::before {
+ background-color: #00b0ff;
+ mask-image: var(--md-admonition-icon--abstract);
+ -webkit-mask-image: var(--md-admonition-icon--abstract);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.info, .todo) {
+ border-color: #00b8d4;
+}
+
+:is(.info, .todo) > :is(.admonition-title, summary) {
+ background-color: rgba(0, 184, 212, 0.1);
+ border-color: #00b8d4;
+}
+:is(.info, .todo) > :is(.admonition-title, summary)::before {
+ background-color: #00b8d4;
+ mask-image: var(--md-admonition-icon--info);
+ -webkit-mask-image: var(--md-admonition-icon--info);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.tip, .hint, .important) {
+ border-color: #00bfa5;
+}
+
+:is(.tip, .hint, .important) > :is(.admonition-title, summary) {
+ background-color: rgba(0, 191, 165, 0.1);
+ border-color: #00bfa5;
+}
+:is(.tip, .hint, .important) > :is(.admonition-title, summary)::before {
+ background-color: #00bfa5;
+ mask-image: var(--md-admonition-icon--tip);
+ -webkit-mask-image: var(--md-admonition-icon--tip);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.success, .check, .done) {
+ border-color: #00c853;
+}
+
+:is(.success, .check, .done) > :is(.admonition-title, summary) {
+ background-color: rgba(0, 200, 83, 0.1);
+ border-color: #00c853;
+}
+:is(.success, .check, .done) > :is(.admonition-title, summary)::before {
+ background-color: #00c853;
+ mask-image: var(--md-admonition-icon--success);
+ -webkit-mask-image: var(--md-admonition-icon--success);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.question, .help, .faq) {
+ border-color: #64dd17;
+}
+
+:is(.question, .help, .faq) > :is(.admonition-title, summary) {
+ background-color: rgba(100, 221, 23, 0.1);
+ border-color: #64dd17;
+}
+:is(.question, .help, .faq) > :is(.admonition-title, summary)::before {
+ background-color: #64dd17;
+ mask-image: var(--md-admonition-icon--question);
+ -webkit-mask-image: var(--md-admonition-icon--question);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.warning, .caution, .attention) {
+ border-color: #ff9100;
+}
+
+:is(.warning, .caution, .attention) > :is(.admonition-title, summary) {
+ background-color: rgba(255, 145, 0, 0.1);
+ border-color: #ff9100;
+}
+:is(.warning, .caution, .attention) > :is(.admonition-title, summary)::before {
+ background-color: #ff9100;
+ mask-image: var(--md-admonition-icon--warning);
+ -webkit-mask-image: var(--md-admonition-icon--warning);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.failure, .fail, .missing) {
+ border-color: #ff5252;
+}
+
+:is(.failure, .fail, .missing) > :is(.admonition-title, summary) {
+ background-color: rgba(255, 82, 82, 0.1);
+ border-color: #ff5252;
+}
+:is(.failure, .fail, .missing) > :is(.admonition-title, summary)::before {
+ background-color: #ff5252;
+ mask-image: var(--md-admonition-icon--failure);
+ -webkit-mask-image: var(--md-admonition-icon--failure);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.danger, .error) {
+ border-color: #ff1744;
+}
+
+:is(.danger, .error) > :is(.admonition-title, summary) {
+ background-color: rgba(255, 23, 68, 0.1);
+ border-color: #ff1744;
+}
+:is(.danger, .error) > :is(.admonition-title, summary)::before {
+ background-color: #ff1744;
+ mask-image: var(--md-admonition-icon--danger);
+ -webkit-mask-image: var(--md-admonition-icon--danger);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.bug) {
+ border-color: #f50057;
+}
+
+:is(.bug) > :is(.admonition-title, summary) {
+ background-color: rgba(245, 0, 87, 0.1);
+ border-color: #f50057;
+}
+:is(.bug) > :is(.admonition-title, summary)::before {
+ background-color: #f50057;
+ mask-image: var(--md-admonition-icon--bug);
+ -webkit-mask-image: var(--md-admonition-icon--bug);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.example) {
+ border-color: #7c4dff;
+}
+
+:is(.example) > :is(.admonition-title, summary) {
+ background-color: rgba(124, 77, 255, 0.1);
+ border-color: #7c4dff;
+}
+:is(.example) > :is(.admonition-title, summary)::before {
+ background-color: #7c4dff;
+ mask-image: var(--md-admonition-icon--example);
+ -webkit-mask-image: var(--md-admonition-icon--example);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+:is(.admonition):is(.quote, .cite) {
+ border-color: #9e9e9e;
+}
+
+:is(.quote, .cite) > :is(.admonition-title, summary) {
+ background-color: rgba(158, 158, 158, 0.1);
+ border-color: #9e9e9e;
+}
+:is(.quote, .cite) > :is(.admonition-title, summary)::before {
+ background-color: #9e9e9e;
+ mask-image: var(--md-admonition-icon--quote);
+ -webkit-mask-image: var(--md-admonition-icon--quote);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+}
+
+.navy :is(.admonition) {
+ background-color: var(--sidebar-bg);
+}
+
+.ayu :is(.admonition),
+.coal :is(.admonition) {
+ background-color: var(--theme-hover);
+}
+
+.rust :is(.admonition) {
+ background-color: var(--sidebar-bg);
+ color: var(--sidebar-fg);
+}
+
+:is(.admonition-title) {
+ font-feature-settings: "kern", "liga";
+ font-weight: 600;
+ font-size: 0.84rem;
+ border: none;
+ padding: 10px 50px;
+}
+
+:is(summary)::after {
+ position: absolute;
+ top: 0.625em;
+ width: 1.4rem;
+ height: 1.4rem;
+ mask-image: url('data:image/svg+xml;charset=utf-8, ');
+ -webkit-mask-image: url('data:image/svg+xml;charset=utf-8, ');
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-size: contain;
+ content: "";
+}
+
+:is(summary)::after {
+ background-color: black;
+ mask-image: var(--md-details-icon);
+ -webkit-mask-image: var(--md-details-icon);
+ mask-repeat: no-repeat;
+ -webkit-mask-repeat: no-repeat;
+ mask-size: contain;
+ -webkit-mask-repeat: no-repeat;
+ position: absolute;
+ transform: rotate(-90deg);
+ transition: transform 0.25s;
+ right: 0.4rem;
+}
+
+details[open] > summary::after {
+ transform: rotate(0deg);
+}
diff --git a/css/code.css b/css/code.css
new file mode 100644
index 0000000..7d95a8e
--- /dev/null
+++ b/css/code.css
@@ -0,0 +1,90 @@
+code.language-html,
+code.language-css,
+code.language-md,
+code.language-cmd,
+code.language-bash,
+code.language-text,
+code.language-js,
+span.o,
+span.nx {
+ color: rgb(255, 255, 255);
+ line-height: 1.4;
+}
+span.c {
+ color: hsl(120, 100%, 20%);
+}
+
+span.p,
+span.s1,
+span.s2,
+span.nt {
+ color: hsl(40, 100%, 30%);
+}
+
+span.gs,
+span.gh,
+span.ge {
+ color: hsl(208, 100%, 50%);
+}
+
+span.gs {
+ font-weight: bold;
+}
+
+span.ge {
+ font-style: italic;
+}
+
+pre,
+code {
+ @apply font-mono;
+}
+
+code {
+ background-color: hsl(0, 0%, 98%);
+ border-radius: 3px;
+ color: hsl(120, 100%, 20%);
+ font-size: 85%;
+}
+
+pre {
+ margin: 0;
+ margin: 0;
+ padding: 1rem;
+ overflow: scroll;
+}
+
+pre code {
+ background-color: transparent;
+ color: inherit;
+ font-size: 100%;
+ padding: 0;
+}
+
+.highlight {
+ background-color: transparent;
+ border-radius: 3px;
+ margin: 0 0 0.5rem;
+ padding: 0;
+
+ & pre {
+ margin-bottom: 0;
+ overflow-x: auto;
+ }
+
+ & .lineno {
+ color: hsla(0, 0%, 67%, 0.72);
+ display: inline-block; /* Ensures the null space also isn't selectable */
+ padding: 0 0.75rem 0 0.25rem;
+ /* Make sure numbers aren't selectable */
+ }
+}
+
+/* TODO: dark theme for future
+@media (prefers-color-scheme: dark) {
+ code {
+ color: #fff;
+ background: hsl(200, 63%, 15%);
+ }
+}
+*/
diff --git a/css/index.css b/css/index.css
new file mode 100644
index 0000000..1819793
--- /dev/null
+++ b/css/index.css
@@ -0,0 +1,406 @@
+/*! purgecss start ignore */
+@import "code.css";
+/*! purgecss end ignore */
+
+@import "tailwindcss/base";
+@import "layout.css";
+@import "tailwindcss/components";
+@import "admonition.css";
+@import "tailwindcss/utilities";
+
+@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&family=Montserrat:wght@400;700&display=swap');
+/* Custom CSS for header partial */
+.backdrop-blur {
+ -webkit-backdrop-filter: blur(40px);
+}
+
+* {
+ font-family: 'Lato', sans-serif;
+}
+
+.bg-semi-white {
+ background-color: rgba(255, 255, 255, 0.75);
+}
+
+/* Custom css allowing image styling in markdown */
+
+
+img[src*="#mx-auto"] {
+ margin: auto;
+}
+
+img[src*="#small"] {
+ width: 68px;
+}
+
+img[src*="#sm"] {
+ width: 200px;
+}
+
+img[src*="#md"] {
+ width: 300px;
+}
+
+img[src*="#medium"] {
+ width: 500px;
+}
+
+img[src*="#logo"] {
+ max-width: min(250px, 100%);
+ margin: auto;
+}
+
+img[src*="#large"] {
+ width: min(60vw, 100vh);
+ margin: auto;
+}
+
+img[src*="#fill"] {
+ width: 100%;
+ height: 100%;
+}
+
+img[src*="#tft_img"] {
+ width: 150px;
+ margin: 8px;
+}
+
+img[src*="#icon"] {
+ width: 65px;
+ margin: 4px;
+}
+
+img[src*="#fig"] {
+ width: 150px;
+}
+
+.logo_size {
+ width: 200px;
+}
+
+.advance{
+
+ font-family: "lato";
+}
+
+@layer components {
+ h1 {
+ @apply text-3xl lg:text-5xl xl:text-7xl font-bold leading-4 my-4;
+ font-family: "lato", sans-serif;
+ line-height: 0.9;
+
+ }
+ h1 strong {
+ @apply font-medium;
+ }
+ h2 {
+ @apply text-3xl md:text-4xl lg:text-6xl font-bold leading-4 my-4;
+ font-family: "lato", sans-serif;
+ line-height: 0.9;
+
+
+ }
+ h2 strong {
+ @apply font-medium;
+ }
+ h3 {
+ @apply text-xl lg:text-3xl font-normal my-4;
+ color:#oab7a9;
+ }
+ h3 strong {
+ @apply font-medium;
+ }
+ h4 {
+ @apply text-xl lg:text-2xl font-normal my-4;
+ color:#oab7a9;
+ }
+ h5 {
+ @apply text-xl lg:text-xl font-normal;
+ }
+ h6 {
+ @apply text-lg not-italic font-normal my-1;
+ }
+ p {
+ @apply text-base lg:text-lg leading-tight tracking-normal font-normal my-0;
+ font-family: "CercoDEMO", sans-serif;
+ }
+ blockquote {
+ @apply border-l-4 border-gray-400 mx-2 my-2 p-2;
+ }
+ li {
+ @apply text-lg lg:text-xl font-normal my-2;
+ }
+ li li {
+ @apply text-sm lg:text-sm font-light;
+ }
+ button {
+ @apply inline-block
+ text-base
+ lg:text-lg
+ px-8
+ py-1
+ my-4
+ border-2
+ shadow
+ }
+
+ article h2{
+ @apply text-xl lg:text-3xl font-medium
+ }
+
+article p ,li{
+ @apply text-base lg:text-lg
+}
+}
+
+a:hover{
+ color: #737373;
+}
+
+button:hover {
+ color: #737373;
+}
+
+button {
+font-weight: 500;
+}
+
+.experience-btn {
+ border: none;
+ margin: 0;
+ padding: 0;
+ color: black;
+ padding: 20px;
+ width: fit-content;
+}
+
+.experience-btn p {
+ @apply text-lg;
+}
+
+.experience-btn:hover {
+ background: white;
+}
+
+
+.experience-btn h4 {
+ white-space: normal;
+}
+
+header .customize {
+ background-color: transparent;
+ position: absolute;
+}
+
+footer .customize {
+ /* width: 100vw; */
+ color: #fff;
+ background-color: #17b9c8;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ padding-top: 24px;
+ padding-bottom: 24px;
+}
+
+footer .customize img {
+ width: 60px;
+}
+
+
+header .customize div {
+ box-shadow: none;
+ text-transform: uppercase;
+ font-weight: 700 !important;
+}
+
+button {
+ background: transparent;
+ color: black;
+ border-radius: 4px;
+ border: 2px solid black;
+ box-shadow: none;
+ /* font-size: 18px; */
+}
+
+a {
+ border: none;
+}
+
+header {
+ font-family: "Work Sans";
+}
+
+.nav_btn {
+ margin: 0 !important;
+ padding: 0 !important;
+ border: none !important;
+ box-shadow: none !important;
+}
+
+.quicklinks {
+ box-sizing: border-box;
+ -webkit-align-items: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ width: auto;
+ display: inline-block;
+ margin: 0 auto;
+ border-radius: 10px;
+ margin-top: 30px;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ margin-bottom: 20px;
+}
+.quicklinks img {
+ height: auto;
+ max-width: 200px;
+ display: inline-block;
+ padding: 10px;
+ -webkit-filter: grayscale(100%);
+ filter: grayscale(100%);
+ position: relative;
+ margin-right: 30px;
+ -webkit-transition: all 0.2s ease;
+ transition: all 0.2s ease;
+ opacity: 0.5;
+}
+
+.quicklinks img:hover {
+ opacity: 1;
+ -webkit-transition: all 0.2s ease;
+ transition: all 0.2s ease;
+ -webkit-filter: grayscale(0%);
+ filter: grayscale(0%);
+}
+
+.banner {
+ width: 100%;
+ margin: 0;
+ padding: 120px 0;
+ text-align: center;
+ position: relative;
+ display: block;
+ color: #fff !important;
+ letter-spacing: 0.5px;
+ overflow: hidden;
+ background: #00838d;
+ transition: 1.5s;
+}
+
+.header {
+ height: auto;
+ background: none;
+ padding: 200px 0;
+}
+
+.banner h2,
+.header h1 {
+ margin: auto;
+ color: #fff;
+ position: relative;
+ transition: 0.3s;
+ z-index: 1;
+ white-space: nowrap;
+}
+
+.header h1 {
+ color: #000;
+ transition: none;
+}
+
+.banner h2 svg {
+ font-size: 40px;
+ margin-left: 15px;
+ position: absolute;
+ top: 55%;
+ transform: translateY(-50%) scale(0.5);
+ opacity: 0;
+ transition: 0.3s;
+}
+
+.banner .back {
+ width: 100%;
+ height: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ background-position: center;
+ background-size: cover;
+ filter: grayscale(1) contrast(1.4);
+ opacity: 0.25;
+ transition: 1.5s;
+}
+
+.header .back {
+ filter: none;
+ opacity: 1;
+ background-position: center;
+
+ background-size: cover;
+ background-repeat: no-repeat;
+}
+
+.banner:hover {
+ background: #4b3a92;
+}
+
+.header:hover {
+ background: none;
+}
+
+.banner:hover h2 svg {
+ transform: translateY(-50%) scale(1);
+ opacity: 1;
+}
+
+.banner:hover h2 {
+ padding-right: 40px;
+}
+
+.header:hover h1 {
+ padding-right: 0;
+}
+
+.banner:hover .back {
+ transform: scale(1.03);
+}
+
+.header:hover .back {
+ transform: none;
+}
+
+@media (max-width: 768px) {
+ /* h2 {
+ font-size: 4rem;
+ } */
+}
+@media (max-width: 640px) {
+ .banner h2 {
+ font: 600 7vw/10vw;
+ }
+
+ .header h1 {
+ font-size: 35px;
+ }
+
+ .banner h2 svg {
+ font-size: 30px;
+ }
+}
+
+@media (max-width: 480px) {
+ .banner,
+ .header {
+ padding: 80px 0;
+ }
+
+ footer {
+ text-align: center;
+ }
+ /* h2 {
+ font-size: 3rem;
+ } */
+}
diff --git a/css/layout.css b/css/layout.css
new file mode 100644
index 0000000..e1ef0cb
--- /dev/null
+++ b/css/layout.css
@@ -0,0 +1,472 @@
+main {
+ @apply pt-0;
+}
+
+#text-1xl { @apply text-xl }
+#text-2xl { @apply text-2xl }
+#text-3xl { @apply text-3xl }
+#text-4xl { @apply text-4xl }
+#text-5xl { @apply text-5xl }
+#text-6xl { @apply xl:text-6xl lg:text-5xl md:text-4xl sm:text-3xl}
+#text-7xl { @apply text-7xl }
+#text-8xl { @apply text-8xl }
+#text-9xl {
+ font-size: 8rem;
+}
+
+#xp-heading { @apply m-0 }
+/*
+html, body {
+ @apply dark:bg-black;
+
+body {
+ @apply font-serif dark:text-gray-200;
+}
+*/
+
+p {
+ /* for handling Markdown-created and
*/
+ @apply text-lg;
+}
+
+pre,
+code {
+ font-feature-settings: normal;
+}
+
+.navWhite,
+.navWhite:visited {
+ @apply text-white;
+}
+
+.navWhite:focus,
+.navWhite:active {
+ @apply text-gray-400;
+}
+
+.text-blue-light {
+ @apply text-blue-500;
+}
+
+.text-blue-dark {
+ /* for dark mode
+ @apply text-blue-200;
+ */
+}
+
+.text-shadow-titles {
+ text-shadow: 4px 4px 2px #000;
+}
+
+.gradient-titles {
+ @apply bg-gradient-to-b from-blue-700 to-black;
+}
+
+.ctr {
+ @apply text-center;
+}
+
+.legal {
+ @apply text-xs;
+}
+
+nav h4 a:hover {
+ @apply border-0 text-blue-300 font-light;
+}
+nav h4 a,
+nav h4 a:focus,
+nav h4 a:active {
+ @apply border-0 text-black font-light;
+}
+
+a h2 {
+ @apply text-black;
+}
+
+a:focus,
+a:hover {
+ @apply border-none text-blue-300;
+}
+a:active {
+ @apply text-blue-800 border-blue-500;
+}
+
+h5 a {
+ @apply text-gray-900 font-normal;
+}
+
+/*
+a:hover {
+ @apply dark:text-blue-300;
+}
+*/
+
+sup a,
+a.previous,
+a.next,
+.footnote-return {
+ @apply border-b-0;
+}
+
+#nav-toggle:checked + #navMenu {
+ @apply block;
+}
+
+a.navborderless {
+ @apply border-b-0;
+}
+/*
+.dateInfo {
+ @apply text-gray-700 dark:text-gray-400;
+}
+*/
+
+h1,
+.h1,
+h2,
+.h2,
+h3,
+.h3,
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+}
+
+h1,
+.h1 {
+ @apply text-4xl font-extrabold;
+}
+
+h2,
+.h2,
+h3,
+.h3,
+h4,
+.h4,
+h5,
+.h5,
+h6,
+.h6 {
+ @apply font-bold;
+}
+
+h2,
+.h2 {
+ @apply text-4xl;
+}
+
+h4,
+.h4 {
+ @apply text-2xl;
+}
+
+h5 {
+ @apply not-italic;
+}
+
+h5,
+.h5,
+h6,
+.h6 {
+ @apply text-lg;
+}
+
+.height-hero {
+ height: 45vh;
+ max-height: 45vh;
+ overflow: hidden;
+}
+
+.height-post {
+ height: 35vh;
+ max-height: 35vh;
+}
+
+.imgCover {
+ @apply object-cover object-center h-full w-full;
+}
+
+.background-hero-image-div {
+ @apply relative overflow-hidden w-full bg-black;
+ /* Have to allow for mobile browsers' own "chrome"; can't go by Inspector simulations of smaller breakpoints */
+ height: 80vh;
+ max-height: 80vh;
+}
+
+.background-hero-title-block-fit {
+ @apply block w-full absolute bottom-0 px-4 pt-3 pb-6 bg-gradient-to-t from-black;
+}
+
+.background-hero-title-text {
+ text-shadow: 4px 4px 2px #000;
+}
+
+@media screen and (min-width: 768px) {
+ .background-hero-title-block-fit {
+ @apply px-12;
+ }
+
+ .background-hero-image-div {
+ height: 85vh;
+ max-height: 85vh;
+ }
+}
+
+@media screen and (min-width: 1024px) {
+ .background-hero-title-block-fit {
+ @apply px-16;
+ }
+
+ .background-hero-image-div {
+ height: 95vh;
+ max-height: 95vh;
+ }
+}
+
+.text-nowrap,
+.text-nobrk {
+ @apply whitespace-nowrap;
+}
+
+article h1,
+article h2,
+article h3,
+article h4 {
+ @apply tracking-tight mt-8 mb-6;
+}
+
+article p {
+ @apply text-lg leading-relaxed;
+}
+
+article img.containedImage {
+ min-width: 100%;
+ max-width: 100%;
+ @apply w-full h-auto;
+}
+
+@media screen and (min-width: 768px) {
+ .height-hero {
+ height: 70vh;
+ max-height: 70vh;
+ }
+
+ .height-post {
+ height: 40vh;
+ max-height: 40vh;
+ }
+}
+
+@media screen and (min-width: 768px) {
+ article p {
+ @apply text-xl leading-relaxed;
+ }
+}
+
+@media screen and (min-width: 1920px) {
+ article p {
+ @apply text-2xl leading-relaxed;
+ }
+}
+/*
+.yellowBox {
+ @apply font-sans bg-yellow-200 border border-gray-900 border-solid mx-auto my-2 w-full px-6 py-2 dark:bg-gray-800 dark:border-gray-500;
+}
+*/
+
+.yellowbox p {
+ @apply w-full p-2 m-0;
+}
+
+ul,
+ol {
+ @apply pl-8;
+}
+
+ul {
+ @apply list-disc;
+}
+
+ol {
+ @apply list-decimal;
+}
+
+.twitter-tweet {
+ @apply mt-4 mx-auto mb-0;
+}
+
+table.leagues {
+ @apply w-11/12 mt-4 mx-auto mb-0 border-0 border-collapse;
+}
+
+table.leagues td.col {
+ @apply w-1/2;
+}
+
+@media (min-width: 900px) {
+ table.leagues {
+ @apply w-3/5;
+ }
+ table.noborders {
+ @apply w-11/12;
+ }
+}
+
+table.noborders {
+ @apply w-full border-0 border-collapse mt-6 mx-auto mb-4;
+}
+
+table.noborders td {
+ @apply text-gray-800 text-left align-middle py-1 pr-0 pl-2;
+ /* text-align: left !important; */
+}
+
+table.noborders td img {
+ @apply inline-block align-middle m-0;
+}
+
+table.noborders tr {
+ @apply bg-blue-100;
+}
+
+table.noborders tr:nth-child(even) {
+ @apply bg-gray-200;
+}
+
+table.noborders thead tr {
+ @apply bg-blue-700;
+}
+
+table.noborders thead td {
+ @apply text-white font-bold;
+}
+
+table.noborders td.td70 {
+ width: 70%;
+}
+table.noborders td.td70 img {
+ @apply block w-1/2 h-auto;
+ max-width: 50%;
+}
+
+table.noborders td.td30 {
+ width: 30%;
+}
+/*
+blockquote {
+ @apply px-6 text-gray-700 dark:text-gray-400;
+}
+*/
+
+/* start, footnotes */
+
+.footnote-definition,
+.footnote-reference {
+ @apply font-sans;
+}
+
+.footnote-reference {
+ font-size: 0.65em;
+ top: -0.5em;
+}
+
+.footnote-sim {
+ font-size: 0.65em;
+ color: #0000ff;
+ @media (prefers-color-scheme: dark) {
+ color: #00aaff;
+ }
+}
+
+.footnotes {
+ & ol {
+ padding-inline-start: 1.5rem;
+ }
+ & ol li {
+ margin-bottom: 0.5rem;
+ font-size: $pokey;
+ }
+ & li p {
+ font-size: 100%;
+ line-height: 1.4;
+ }
+ & .footnote-backref {
+ font-size: 75%;
+ }
+}
+
+a.footnote-return {
+ font-size: 50%;
+}
+
+article > .footnote-definition {
+ border-top: 1px solid black;
+ padding-top: 1em;
+ margin-top: 1em;
+}
+
+article > .footnote-definition ~ .footnote-definition {
+ border-top: 0;
+ padding-top: 0;
+ margin-top: 0;
+}
+
+.footnote-definition-label {
+ top: -0.4em;
+ font-size: 0.65em;
+}
+
+.footnote-definition-label + p {
+ font-size: 75%;
+ margin-top: -1.75em;
+ margin-left: 1em;
+ line-height: 1.35;
+}
+
+.footnote-definition-label::after {
+ content: ".";
+}
+
+/* == end, footnotes */
+
+.aspect-16x9 {
+ padding-bottom: 56.25%;
+}
+/*
+hr {
+ @apply border-solid border-gray-900 dark:border-gray-100;
+}
+*/
+
+footer {
+ @apply font-sans;
+}
+
+.lazypicturecaption {
+ @apply text-sm p-0 mt-2 leading-snug text-center;
+}
+
+.home-colOne p {
+ @apply leading-8 mb-4;
+}
+
+.home-colOne img {
+ @apply my-4;
+}
+
+.container-comments {
+ margin: 0 auto;
+ font-size: 85%;
+ width: 85%;
+ max-width: 720px !important;
+ margin-bottom: 0;
+}
+
+@media screen and (min-width: 900px) {
+ .container-comments {
+ width: 40%;
+ }
+}
diff --git a/install.sh b/install.sh
old mode 100644
new mode 100755
index 2cfcdf0..0a94bea
--- a/install.sh
+++ b/install.sh
@@ -1,16 +1,29 @@
#!/usr/bin/env bash
set -e
-mkdir -p ~/.vmodules/freeflowuniverse
-mkdir -p ~/code/github/freeflowuniverse
-pushd ~/code/github/freeflowuniverse
-git clone https://github.com/freeflowuniverse/crystallib.git
+GITEA_INSTANCE_URL="https://git.ourworld.tf"
+GITEA_USERNAME="threefold_coop"
+
+mkdir -p ~/.vmodules/freeflowuniverse
+mkdir -p ~/code/gitea/$GITEA_USERNAME
+
+pushd ~/code/gitea/$GITEA_USERNAME
+
+# Clone crystallib repository from Gitea
+git clone $GITEA_INSTANCE_URL/$GITEA_USERNAME/crystallib.git
pushd crystallib
git checkout development_db
popd
-ln -s ~/code/github/freeflowuniverse/crystallib/crystallib ~/.vmodules/freeflowuniverse/crystallib
-git clone https://github.com/freeflowuniverse/webcomponents.git
-ln -s ~/code/github/freeflowuniverse/webcomponents/webcomponents ~/.vmodules/freeflowuniverse/webcomponents
+# Create symbolic link to crystallib in ~/.vmodules/freeflowuniverse
+ln -s ~/code/gitea/$GITEA_USERNAME/crystallib/crystallib ~/.vmodules/freeflowuniverse/crystallib
+
+# Clone webcomponents repository from Gitea
+git clone $GITEA_INSTANCE_URL/$GITEA_USERNAME/webcomponents.git
+
+# Create symbolic link to webcomponents in ~/.vmodules/freeflowuniverse
+ln -s ~/code/gitea/$GITEA_USERNAME/webcomponents/webcomponents ~/.vmodules/freeflowuniverse/webcomponents
+
popd
-echo "INSTALL OK"
\ No newline at end of file
+
+echo "INSTALL OK"
diff --git a/run.sh b/run.sh
new file mode 100644
index 0000000..f724bed
--- /dev/null
+++ b/run.sh
@@ -0,0 +1,3 @@
+set -ex
+cd ~/code/git.ourworld.tf/drc/www_flowers4peace
+v -enable-globals -cg -w run.vsh
\ No newline at end of file
diff --git a/run.vsh b/run.vsh
old mode 100644
new mode 100755
diff --git a/start.sh b/start.sh
new file mode 100755
index 0000000..ac927fd
--- /dev/null
+++ b/start.sh
@@ -0,0 +1,25 @@
+# builds if executable isn't foound
+if [[ ! -f "tailwindcss" ]]
+then
+ sh build.sh
+fi
+
+# initialized and configures tailwind if not configured
+if [[ ! -f "tailwind.config.js" ]]
+then
+ ./tailwindcss init
+ sed -i '' "s| content: \\[\\],| content: \\['./templates/**/*.html'\\],|g" tailwind.config.js
+fi
+
+# compiles tailwind css & launches locally
+rm -rf public static/css
+./tailwindcss -i css/index.css -o ./static/css/index.css --watch & zola serve &
+
+# compiles tailwind css for prod & builds project
+./tailwindcss -i css/index.css -o ./static/css/index.css --minify
+zola build
+
+# kills zola and tw bg processes on interrupt
+trap 'kill $(jobs -p); exit 1' INT
+wait
+
diff --git a/static/css/index.css b/static/css/index.css
new file mode 100644
index 0000000..13275b9
--- /dev/null
+++ b/static/css/index.css
@@ -0,0 +1,4 @@
+@import url("https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&family=Montserrat:wght@400;700&display=swap");
+/*! purgecss start ignore */code.language-bash,code.language-cmd,code.language-css,code.language-html,code.language-js,code.language-md,code.language-text,span.nx,span.o{color:#fff;line-height:1.4}span.c{color:#060}span.nt,span.p,span.s1,span.s2{color:#960}span.ge,span.gh,span.gs{color:#08f}span.gs{font-weight:700}span.ge{font-style:italic}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}code{background-color:#fafafa;border-radius:3px;color:#060;font-size:85%}pre{margin:0;overflow:scroll;padding:1rem}pre code{color:inherit;font-size:100%}.highlight,pre code{background-color:initial;padding:0}.highlight{border-radius:3px;margin:0 0 .5rem;& pre{margin-bottom:0;overflow-x:auto}& .lineno{color:#abababb8;display:inline-block;padding:0 .75rem 0 .25rem}}
+/*! purgecss end ignore */
+/*! tailwindcss v3.3.6 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }main{padding-top:0}#text-1xl{font-size:1.25rem;line-height:1.75rem}#text-2xl{font-size:1.5rem;line-height:2rem}#text-3xl{font-size:1.875rem;line-height:2.25rem}#text-4xl{font-size:2.25rem;line-height:2.5rem}#text-5xl{font-size:3rem;line-height:1}@media (min-width:640px){#text-6xl{font-size:1.875rem;line-height:2.25rem}}@media (min-width:768px){#text-6xl{font-size:2.25rem;line-height:2.5rem}}@media (min-width:1024px){#text-6xl{font-size:3rem;line-height:1}}@media (min-width:1280px){#text-6xl{font-size:3.75rem;line-height:1}}#text-7xl{font-size:4.5rem;line-height:1}#text-8xl{font-size:6rem;line-height:1}#text-9xl{font-size:8rem}#xp-heading{margin:0}p{font-size:1.125rem;line-height:1.75rem}code,pre{font-feature-settings:normal}.navWhite,.navWhite:visited{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.navWhite:active,.navWhite:focus{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-blue-light{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.text-shadow-titles{text-shadow:4px 4px 2px #000}.gradient-titles{--tw-gradient-from:#1d4ed8 var(--tw-gradient-from-position);--tw-gradient-to:#1d4ed800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);--tw-gradient-to:#000 var(--tw-gradient-to-position);background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.ctr{text-align:center}.legal{font-size:.75rem;line-height:1rem}nav h4 a:hover{color:rgb(147 197 253/var(--tw-text-opacity))}nav h4 a,nav h4 a:active,nav h4 a:focus,nav h4 a:hover{--tw-text-opacity:1;border-width:0;font-weight:300}a h2,nav h4 a,nav h4 a:active,nav h4 a:focus{color:rgb(0 0 0/var(--tw-text-opacity))}a h2,a:focus,a:hover{--tw-text-opacity:1}a:focus,a:hover{border-style:none;color:rgb(147 197 253/var(--tw-text-opacity))}a:active{--tw-border-opacity:1;--tw-text-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity));color:rgb(30 64 175/var(--tw-text-opacity))}h5 a{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity));font-weight:400}.footnote-return,a.next,a.previous,sup a{border-bottom-width:0}#nav-toggle:checked+#navMenu{display:block}a.navborderless{border-bottom-width:0}.h1,h1{font-size:2.25rem;font-weight:800;line-height:2.5rem}.h2,.h3,.h4,.h5,.h6,h2,h3,h4,h5,h6{font-weight:700}.h2,h2{font-size:2.25rem;line-height:2.5rem}.h4,h4{font-size:1.5rem;line-height:2rem}h5{font-style:normal}.h5,.h6,h5,h6{font-size:1.125rem;line-height:1.75rem}.height-hero{height:45vh;max-height:45vh;overflow:hidden}.height-post{height:35vh;max-height:35vh}.imgCover{height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%}.background-hero-image-div{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity));height:80vh;max-height:80vh;overflow:hidden;position:relative;width:100%}.background-hero-title-block-fit{--tw-gradient-from:#000 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to);background-image:linear-gradient(to top,var(--tw-gradient-stops));bottom:0;display:block;padding:.75rem 1rem 1.5rem;position:absolute;width:100%}.background-hero-title-text{text-shadow:4px 4px 2px #000}@media screen and (min-width:768px){.background-hero-title-block-fit{padding-left:3rem;padding-right:3rem}.background-hero-image-div{height:85vh;max-height:85vh}}@media screen and (min-width:1024px){.background-hero-title-block-fit{padding-left:4rem;padding-right:4rem}.background-hero-image-div{height:95vh;max-height:95vh}}.text-nobrk,.text-nowrap{white-space:nowrap}article h1,article h2,article h3,article h4{letter-spacing:-.025em;margin-bottom:1.5rem;margin-top:2rem}article p{font-size:1.125rem;line-height:1.75rem;line-height:1.625}article img.containedImage{height:auto;max-width:100%;min-width:100%;width:100%}@media screen and (min-width:768px){.height-hero{height:70vh;max-height:70vh}.height-post{height:40vh;max-height:40vh}article p{font-size:1.25rem;line-height:1.75rem;line-height:1.625}}@media screen and (min-width:1920px){article p{font-size:1.5rem;line-height:2rem;line-height:1.625}}.yellowbox p{margin:0;padding:.5rem;width:100%}ol,ul{padding-left:2rem}ul{list-style-type:disc}ol{list-style-type:decimal}.twitter-tweet,table.leagues{margin:1rem auto 0}table.leagues{border-collapse:collapse;border-width:0;width:91.666667%}table.leagues td.col{width:50%}@media (min-width:900px){table.leagues{width:60%}table.noborders{width:91.666667%}}table.noborders{border-collapse:collapse;border-width:0;margin:1.5rem auto 1rem;width:100%}table.noborders td{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity));padding:.25rem 0 .25rem .5rem;text-align:left;vertical-align:middle}table.noborders td img{display:inline-block;margin:0;vertical-align:middle}table.noborders tr{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}table.noborders tr:nth-child(2n){--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}table.noborders thead tr{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}table.noborders thead td{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));font-weight:700}table.noborders td.td70{width:70%}table.noborders td.td70 img{display:block;height:auto;max-width:50%;width:50%}table.noborders td.td30{width:30%}.footnote-definition,.footnote-reference{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.footnote-reference{font-size:.65em;top:-.5em}.footnote-sim{color:#00f;font-size:.65em;@media (prefers-color-scheme:dark){color:#0af}}.footnotes{& ol{padding-inline-start:1.5rem}& ol li{font-size:$pokey;margin-bottom:.5rem}& li p{font-size:100%;line-height:1.4}& .footnote-backref{font-size:75%}}a.footnote-return{font-size:50%}article>.footnote-definition{border-top:1px solid #000;margin-top:1em;padding-top:1em}article>.footnote-definition~.footnote-definition{border-top:0;margin-top:0;padding-top:0}.footnote-definition-label{font-size:.65em;top:-.4em}.footnote-definition-label+p{font-size:75%;line-height:1.35;margin-left:1em;margin-top:-1.75em}.footnote-definition-label:after{content:"."}.aspect-16x9{padding-bottom:56.25%}footer{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.lazypicturecaption{font-size:.875rem;line-height:1.25rem;line-height:1.375;margin-top:.5rem;padding:0;text-align:center}.home-colOne p{line-height:2rem;margin-bottom:1rem}.home-colOne img{margin-bottom:1rem;margin-top:1rem}.container-comments{font-size:85%;margin:0 auto;max-width:720px!important;width:85%}@media screen and (min-width:900px){.container-comments{width:40%}}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}h1{font-size:1.875rem;font-weight:700;line-height:1rem;margin-bottom:1rem;margin-top:1rem}@media (min-width:1024px){h1{font-size:3rem;line-height:1}}@media (min-width:1280px){h1{font-size:4.5rem;line-height:1}}h1{font-family:lato,sans-serif;line-height:.9}h1 strong{font-weight:500}h2{font-size:1.875rem;font-weight:700;line-height:1rem;margin-bottom:1rem;margin-top:1rem}@media (min-width:768px){h2{font-size:2.25rem;line-height:2.5rem}}@media (min-width:1024px){h2{font-size:3.75rem;line-height:1}}h2{font-family:lato,sans-serif;line-height:.9}h2 strong{font-weight:500}h3{font-size:1.25rem;font-weight:400;line-height:1.75rem;margin-bottom:1rem;margin-top:1rem}@media (min-width:1024px){h3{font-size:1.875rem;line-height:2.25rem}}h3{color:#oab7a9}h3 strong{font-weight:500}h4{font-size:1.25rem;font-weight:400;line-height:1.75rem;margin-bottom:1rem;margin-top:1rem}@media (min-width:1024px){h4{font-size:1.5rem;line-height:2rem}}h4{color:#oab7a9}h5{font-size:1.25rem;font-weight:400;line-height:1.75rem}@media (min-width:1024px){h5{font-size:1.25rem;line-height:1.75rem}}h6{font-size:1.125rem;font-style:normal;font-weight:400;line-height:1.75rem;margin-bottom:.25rem;margin-top:.25rem}p{font-size:1rem;font-weight:400;letter-spacing:0;line-height:1.5rem;line-height:1.25;margin-bottom:0;margin-top:0}@media (min-width:1024px){p{font-size:1.125rem;line-height:1.75rem}}p{font-family:CercoDEMO,sans-serif}blockquote{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity));border-left-width:4px;margin:.5rem;padding:.5rem}li{font-size:1.125rem;font-weight:400;line-height:1.75rem;margin-bottom:.5rem;margin-top:.5rem}@media (min-width:1024px){li{font-size:1.25rem;line-height:1.75rem}}li li{font-size:.875rem;font-weight:300;line-height:1.25rem}@media (min-width:1024px){li li{font-size:.875rem;line-height:1.25rem}}button{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);border-width:2px;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:inline-block;font-size:1rem;line-height:1.5rem;margin-bottom:1rem;margin-top:1rem;padding:.25rem 2rem}@media (min-width:1024px){button{font-size:1.125rem;line-height:1.75rem}}article h2{font-size:1.25rem;font-weight:500;line-height:1.75rem}@media (min-width:1024px){article h2{font-size:1.875rem;line-height:2.25rem}}article p,li{font-size:1rem;line-height:1.5rem}@media (min-width:1024px){article p,li{font-size:1.125rem;line-height:1.75rem}}:root{--md-admonition-icon--note:url('data:image/svg+xml;charset=utf-8, ');--md-admonition-icon--abstract:url('data:image/svg+xml;charset=utf-8, ');--md-admonition-icon--info:url('data:image/svg+xml;charset=utf-8, ');--md-admonition-icon--tip:url('data:image/svg+xml;charset=utf-8, ');--md-admonition-icon--success:url('data:image/svg+xml;charset=utf-8, ');--md-admonition-icon--question:url('data:image/svg+xml;charset=utf-8, ');--md-admonition-icon--warning:url('data:image/svg+xml;charset=utf-8, ');--md-admonition-icon--failure:url('data:image/svg+xml;charset=utf-8, ');--md-admonition-icon--danger:url('data:image/svg+xml;charset=utf-8, ');--md-admonition-icon--bug:url('data:image/svg+xml;charset=utf-8, ');--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8, ');--md-admonition-icon--quote:url('data:image/svg+xml;charset=utf-8, ');--md-details-icon:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath fill='none' d='M0 0h24v24H0z'/%3E%3Cpath d='M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z'/%3E%3C/svg%3E")}:is(.admonition){background-color:var(--bg);border:0 solid #000;border-inline-start-width:.4rem;border-radius:.2rem;box-shadow:0 .2rem 1rem #0000000d,0 0 .1rem #0000001a;color:var(--fg);display:flow-root;margin:1.5625em 0;padding:0 1.2rem;page-break-inside:avoid}.admonition p{display:block;font-size:.8rem;margin-block-end:1em;margin-block-start:1em;margin-inline-end:0;margin-inline-start:0}@media print{:is(.admonition){box-shadow:none}}:is(.admonition)>*{box-sizing:border-box}:is(.admonition) :is(.admonition){margin-bottom:1em;margin-top:1em}:is(.admonition)>.tabbed-set:only-child{margin-top:0}html :is(.admonition)>:last-child{margin-bottom:1.2rem}:is(.admonition-title,summary){background-color:#448aff1a;border:0 solid #448aff;border-inline-start-width:.4rem;border-start-start-radius:.2rem;display:flex;font-weight:700;margin-block:0;margin-inline:-1.6rem -1.2rem;padding-block:.8rem;padding-inline:4rem 1.2rem;position:relative}:is(.admonition-title,summary)>p{margin:0}html :is(.admonition-title,summary):last-child{margin-bottom:0}:is(.admonition-title,summary):before{background-color:#448aff;content:"";height:1.4rem;inset-inline-start:1.2rem;mask-image:url('data:image/svg+xml;charset=utf-8, ');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8, ');mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-size:contain;-webkit-mask-size:contain;position:absolute;top:.625em;width:1.4rem}:is(.admonition):is(.note){border-color:#448aff}:is(.note)>:is(.admonition-title,summary){background-color:#448aff1a;border-color:#448aff}:is(.note)>:is(.admonition-title,summary):before{background-color:#448aff;mask-image:var(--md-admonition-icon--note);-webkit-mask-image:var(--md-admonition-icon--note);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.abstract,.summary,.tldr){border-color:#00b0ff}:is(.abstract,.summary,.tldr)>:is(.admonition-title,summary){background-color:#00b0ff1a;border-color:#00b0ff}:is(.abstract,.summary,.tldr)>:is(.admonition-title,summary):before{background-color:#00b0ff;mask-image:var(--md-admonition-icon--abstract);-webkit-mask-image:var(--md-admonition-icon--abstract);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.info,.todo){border-color:#00b8d4}:is(.info,.todo)>:is(.admonition-title,summary){background-color:#00b8d41a;border-color:#00b8d4}:is(.info,.todo)>:is(.admonition-title,summary):before{background-color:#00b8d4;mask-image:var(--md-admonition-icon--info);-webkit-mask-image:var(--md-admonition-icon--info);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.tip,.hint,.important){border-color:#00bfa5}:is(.tip,.hint,.important)>:is(.admonition-title,summary){background-color:#00bfa51a;border-color:#00bfa5}:is(.tip,.hint,.important)>:is(.admonition-title,summary):before{background-color:#00bfa5;mask-image:var(--md-admonition-icon--tip);-webkit-mask-image:var(--md-admonition-icon--tip);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.success,.check,.done){border-color:#00c853}:is(.success,.check,.done)>:is(.admonition-title,summary){background-color:#00c8531a;border-color:#00c853}:is(.success,.check,.done)>:is(.admonition-title,summary):before{background-color:#00c853;mask-image:var(--md-admonition-icon--success);-webkit-mask-image:var(--md-admonition-icon--success);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.question,.help,.faq){border-color:#64dd17}:is(.question,.help,.faq)>:is(.admonition-title,summary){background-color:#64dd171a;border-color:#64dd17}:is(.question,.help,.faq)>:is(.admonition-title,summary):before{background-color:#64dd17;mask-image:var(--md-admonition-icon--question);-webkit-mask-image:var(--md-admonition-icon--question);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.warning,.caution,.attention){border-color:#ff9100}:is(.warning,.caution,.attention)>:is(.admonition-title,summary){background-color:#ff91001a;border-color:#ff9100}:is(.warning,.caution,.attention)>:is(.admonition-title,summary):before{background-color:#ff9100;mask-image:var(--md-admonition-icon--warning);-webkit-mask-image:var(--md-admonition-icon--warning);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.failure,.fail,.missing){border-color:#ff5252}:is(.failure,.fail,.missing)>:is(.admonition-title,summary){background-color:#ff52521a;border-color:#ff5252}:is(.failure,.fail,.missing)>:is(.admonition-title,summary):before{background-color:#ff5252;mask-image:var(--md-admonition-icon--failure);-webkit-mask-image:var(--md-admonition-icon--failure);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.danger,.error){border-color:#ff1744}:is(.danger,.error)>:is(.admonition-title,summary){background-color:#ff17441a;border-color:#ff1744}:is(.danger,.error)>:is(.admonition-title,summary):before{background-color:#ff1744;mask-image:var(--md-admonition-icon--danger);-webkit-mask-image:var(--md-admonition-icon--danger);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.bug){border-color:#f50057}:is(.bug)>:is(.admonition-title,summary){background-color:#f500571a;border-color:#f50057}:is(.bug)>:is(.admonition-title,summary):before{background-color:#f50057;mask-image:var(--md-admonition-icon--bug);-webkit-mask-image:var(--md-admonition-icon--bug);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.example){border-color:#7c4dff}:is(.example)>:is(.admonition-title,summary){background-color:#7c4dff1a;border-color:#7c4dff}:is(.example)>:is(.admonition-title,summary):before{background-color:#7c4dff;mask-image:var(--md-admonition-icon--example);-webkit-mask-image:var(--md-admonition-icon--example);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}:is(.admonition):is(.quote,.cite){border-color:#9e9e9e}:is(.quote,.cite)>:is(.admonition-title,summary){background-color:#9e9e9e1a;border-color:#9e9e9e}:is(.quote,.cite)>:is(.admonition-title,summary):before{background-color:#9e9e9e;mask-image:var(--md-admonition-icon--quote);-webkit-mask-image:var(--md-admonition-icon--quote);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.navy :is(.admonition){background-color:var(--sidebar-bg)}.ayu :is(.admonition),.coal :is(.admonition){background-color:var(--theme-hover)}.rust :is(.admonition){background-color:var(--sidebar-bg);color:var(--sidebar-fg)}:is(.admonition-title){font-feature-settings:"kern","liga";border:none;font-size:.84rem;font-weight:600;padding:10px 50px}:is(summary):after{background-color:#000;content:"";height:1.4rem;mask-image:url('data:image/svg+xml;charset=utf-8, ');-webkit-mask-image:url('data:image/svg+xml;charset=utf-8, ');mask-image:var(--md-details-icon);-webkit-mask-image:var(--md-details-icon);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;right:.4rem;top:.625em;transform:rotate(-90deg);transition:transform .25s;width:1.4rem}details[open]>summary:after{transform:rotate(0deg)}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.left-0{left:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.order-first{order:-9999}.order-last{order:9999}.col-span-3{grid-column:span 3/span 3}.m-0{margin:0}.m-2{margin:.5rem}.-mx-8{margin-left:-2rem;margin-right:-2rem}.-my-2{margin-bottom:-.5rem;margin-top:-.5rem}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-20{margin-left:5rem;margin-right:5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-8{margin-left:2rem;margin-right:2rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.my-1{margin-bottom:.25rem;margin-top:.25rem}.my-10{margin-bottom:2.5rem;margin-top:2.5rem}.my-2{margin-bottom:.5rem;margin-top:.5rem}.my-4{margin-bottom:1rem;margin-top:1rem}.my-5{margin-bottom:1.25rem;margin-top:1.25rem}.my-8{margin-bottom:2rem;margin-top:2rem}.-ml-1{margin-left:-.25rem}.-mr-2{margin-right:-.5rem}.-mt-16{margin-top:-4rem}.-mt-24{margin-top:-6rem}.-mt-6{margin-top:-1.5rem}.mb-0{margin-bottom:0}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-10{margin-left:2.5rem}.ml-5{margin-left:1.25rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mr-5{margin-right:1.25rem}.mr-8{margin-right:2rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-3{-webkit-box-orient:vertical;-webkit-line-clamp:3;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1\/3{height:33.333333%}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-20{height:5rem}.h-32{height:8rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-80{max-height:20rem}.max-h-screen{max-height:100vh}.min-h-screen{min-height:100vh}.w-0{width:0}.w-1\/12{width:8.333333%}.w-10{width:2.5rem}.w-11\/12{width:91.666667%}.w-12{width:3rem}.w-2\/6{width:33.333333%}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-4\/6{width:66.666667%}.w-40{width:10rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-72{width:18rem}.w-8{width:2rem}.w-auto{width:auto}.w-full{width:100%}.w-screen{width:100vw}.max-w-7xl{max-width:80rem}.max-w-fit{max-width:-moz-fit-content;max-width:fit-content}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-screen-2xl{max-width:1536px}.max-w-screen-md{max-width:768px}.max-w-screen-sm{max-width:640px}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.origin-top-right{transform-origin:top right}.-translate-y-1{--tw-translate-y:-0.25rem}.-rotate-90,.-translate-y-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate:-90deg}.rotate-180{--tw-rotate:180deg}.rotate-180,.scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2.5rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.5rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-y-2>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(2px*var(--tw-divide-y-reverse));border-top-width:calc(2px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(249 250 251/var(--tw-divide-opacity))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-l-md{border-bottom-left-radius:.375rem;border-top-left-radius:.375rem}.rounded-r-md{border-bottom-right-radius:.375rem;border-top-right-radius:.375rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-r-0{border-right-width:0}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.border-transparent{border-color:#0000}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-transparent{background-color:initial}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.\!bg-\[length\:0px_0px\]{background-size:0 0!important}.bg-contain{background-size:contain}.bg-center{background-position:50%}.\!bg-no-repeat{background-repeat:no-repeat!important}.bg-no-repeat{background-repeat:no-repeat}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-bottom:0;padding-top:0}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-28{padding-bottom:7rem;padding-top:7rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-0{padding-bottom:0}.pb-10{padding-bottom:2.5rem}.pb-12{padding-bottom:3rem}.pb-2{padding-bottom:.5rem}.pb-24{padding-bottom:6rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-12{padding-left:3rem}.pl-20{padding-left:5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pr-2{padding-right:.5rem}.pr-20{padding-right:5rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-12{padding-top:3rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-24{padding-top:6rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-serif{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.not-italic{font-style:normal}.leading-3{line-height:.75rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity))}.opacity-0{opacity:0}.opacity-100{opacity:1}.\!shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid #0000;outline-offset:2px}.ring-indigo-300{--tw-ring-opacity:1;--tw-ring-color:rgb(165 180 252/var(--tw-ring-opacity))}.grayscale{--tw-grayscale:grayscale(100%)}.filter,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.backdrop-blur{-webkit-backdrop-filter:blur(40px)}*{font-family:Lato,sans-serif}.bg-semi-white{background-color:#ffffffbf}img[src*="#mx-auto"]{margin:auto}img[src*="#small"]{width:68px}img[src*="#sm"]{width:200px}img[src*="#md"]{width:300px}img[src*="#medium"]{width:500px}img[src*="#logo"]{margin:auto;max-width:min(250px,100%)}img[src*="#large"]{margin:auto;width:min(60vw,100vh)}img[src*="#fill"]{height:100%;width:100%}img[src*="#tft_img"]{margin:8px;width:150px}img[src*="#icon"]{margin:4px;width:65px}img[src*="#fig"]{width:150px}.logo_size{width:200px}.advance{font-family:lato}a:hover,button:hover{color:#737373}button{font-weight:500}.experience-btn{border:none;color:#000;margin:0;padding:20px;width:-moz-fit-content;width:fit-content}.experience-btn p{font-size:1.125rem;line-height:1.75rem}.experience-btn:hover{background:#fff}.experience-btn h4{white-space:normal}header .customize{background-color:initial;position:absolute}footer .customize{align-items:center;background-color:#17b9c8;color:#fff;display:flex;flex-direction:column;padding-bottom:24px;padding-top:24px}footer .customize img{width:60px}header .customize div{box-shadow:none;font-weight:700!important;text-transform:uppercase}button{background:#0000;border:2px solid #000;border-radius:4px;box-shadow:none;color:#000}a{border:none}header{font-family:Work Sans}.nav_btn{border:none!important;box-shadow:none!important;margin:0!important;padding:0!important}.quicklinks{align-items:center;border-radius:10px;box-sizing:border-box;display:inline-block;flex-wrap:wrap;margin:30px auto 20px;width:auto}.quicklinks img{display:inline-block;filter:grayscale(100%);height:auto;margin-right:30px;max-width:200px;opacity:.5;padding:10px;position:relative;transition:all .2s ease}.quicklinks img:hover{filter:grayscale(0);opacity:1;transition:all .2s ease}.banner{background:#00838d;color:#fff!important;display:block;letter-spacing:.5px;margin:0;overflow:hidden;padding:120px 0;position:relative;text-align:center;transition:1.5s;width:100%}.header{background:none;height:auto;padding:200px 0}.banner h2,.header h1{color:#fff;margin:auto;position:relative;transition:.3s;white-space:nowrap;z-index:1}.header h1{color:#000;transition:none}.banner h2 svg{font-size:40px;margin-left:15px;opacity:0;position:absolute;top:55%;transform:translateY(-50%) scale(.5);transition:.3s}.banner .back{filter:grayscale(1) contrast(1.4);height:100%;left:0;opacity:.25;position:absolute;top:0;transition:1.5s;width:100%}.banner .back,.header .back{background-position:50%;background-size:cover}.header .back{background-repeat:no-repeat;filter:none;opacity:1}.banner:hover{background:#4b3a92}.header:hover{background:none}.banner:hover h2 svg{opacity:1;transform:translateY(-50%) scale(1)}.banner:hover h2{padding-right:40px}.header:hover h1{padding-right:0}.banner:hover .back{transform:scale(1.03)}.header:hover .back{transform:none}@media (max-width:640px){.banner h2{font:600 7vw/10vw}.header h1{font-size:35px}.banner h2 svg{font-size:30px}}@media (max-width:480px){.banner,.header{padding:80px 0}footer{text-align:center}}.focus-within\:outline-none:focus-within{outline:2px solid #0000;outline-offset:2px}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-within\:ring-indigo-500:focus-within{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus-within\:ring-offset-2:focus-within{--tw-ring-offset-width:2px}.hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.hover\:border-stone-200:hover{--tw-border-opacity:1;border-color:rgb(231 229 228/var(--tw-border-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity))}.hover\:bg-stone-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 244/var(--tw-bg-opacity))}.hover\:\!text-gray-700:hover{--tw-text-opacity:1!important;color:rgb(55 65 81/var(--tw-text-opacity))!important}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.hover\:text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-indigo-100:hover{--tw-text-opacity:1;color:rgb(224 231 255/var(--tw-text-opacity))}.hover\:text-indigo-500:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.hover\:text-indigo-600:hover{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:first\:text-gray-500:first-child:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity))}.focus\:bg-gray-100:focus{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.focus\:bg-gray-200:focus{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.focus\:text-gray-500:focus{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.focus\:text-gray-900:focus{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:ring:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.active\:bg-gray-200:active{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.active\:bg-indigo-700:active{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity))}.active\:bg-indigo-800:active{--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity))}.active\:text-gray-700:active{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.active\:text-indigo-200:active{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity))}.active\:text-indigo-700:active{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity))}@media (prefers-color-scheme:dark){.dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.dark\:bg-transparent{background-color:initial}.dark\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.dark\:hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.dark\:focus\:text-white:focus,.dark\:hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}}@media (min-width:640px){.sm\:absolute{position:absolute}.sm\:right-0{right:0}.sm\:order-none{order:0}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:-mx-12{margin-left:-3rem;margin-right:-3rem}.sm\:-mx-4{margin-left:-1rem;margin-right:-1rem}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:mx-16{margin-left:4rem;margin-right:4rem}.sm\:mx-20{margin-left:5rem;margin-right:5rem}.sm\:mx-32{margin-left:8rem;margin-right:8rem}.sm\:mx-8{margin-left:2rem;margin-right:2rem}.sm\:mb-0{margin-bottom:0}.sm\:mr-1{margin-right:.25rem}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:h-10{height:2.5rem}.sm\:h-2\/3{height:66.666667%}.sm\:h-40{height:10rem}.sm\:h-auto{height:auto}.sm\:w-1\/2{width:50%}.sm\:w-10{width:2.5rem}.sm\:w-auto{width:auto}.sm\:flex-1{flex:1 1 0%}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:content-evenly{align-content:space-evenly}.sm\:items-center{align-items:center}.sm\:justify-center{justify-content:center}.sm\:gap-0{gap:0}.sm\:gap-10{gap:2.5rem}.sm\:gap-3{gap:.75rem}.sm\:space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.sm\:overflow-hidden{overflow:hidden}.sm\:rounded-md{border-radius:.375rem}.sm\:p-0{padding:0}.sm\:p-12{padding:3rem}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-12{padding-left:3rem;padding-right:3rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-8{padding-top:2rem}.sm\:pb-8,.sm\:py-8{padding-bottom:2rem}.sm\:pr-8{padding-right:2rem}.sm\:text-center{text-align:center}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-3xl{font-size:1.875rem;line-height:2.25rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:768px){.md\:order-2{order:2}.md\:col-span-2{grid-column:span 2/span 2}.md\:-mx-12{margin-left:-3rem;margin-right:-3rem}.md\:-mx-16{margin-left:-4rem;margin-right:-4rem}.md\:mx-0{margin-left:0;margin-right:0}.md\:mx-12{margin-left:3rem;margin-right:3rem}.md\:mx-16{margin-left:4rem;margin-right:4rem}.md\:mx-20{margin-left:5rem;margin-right:5rem}.md\:mx-28{margin-left:7rem;margin-right:7rem}.md\:mx-4{margin-left:1rem;margin-right:1rem}.md\:mx-40{margin-left:10rem;margin-right:10rem}.md\:mx-8{margin-left:2rem;margin-right:2rem}.md\:-mt-1{margin-top:-.25rem}.md\:mb-0{margin-bottom:0}.md\:mb-10{margin-bottom:2.5rem}.md\:mb-12{margin-bottom:3rem}.md\:mb-16{margin-bottom:4rem}.md\:mb-4{margin-bottom:1rem}.md\:mb-6{margin-bottom:1.5rem}.md\:mb-8{margin-bottom:2rem}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:grid{display:grid}.md\:h-14{height:3.5rem}.md\:h-24{height:6rem}.md\:h-6{height:1.5rem}.md\:h-80{height:20rem}.md\:w-1\/6{width:16.666667%}.md\:w-14{width:3.5rem}.md\:w-2\/3{width:66.666667%}.md\:w-2\/6{width:33.333333%}.md\:w-4\/6{width:66.666667%}.md\:w-48{width:12rem}.md\:w-5\/6{width:83.333333%}.md\:w-6{width:1.5rem}.md\:w-auto{width:auto}.md\:w-full{width:100%}.md\:max-w-full{max-width:100%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:gap-12{gap:3rem}.md\:gap-16{gap:4rem}.md\:gap-6{gap:1.5rem}.md\:gap-8{gap:2rem}.md\:rounded-xl{border-radius:.75rem}.md\:p-8{padding:2rem}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:px-16{padding-left:4rem;padding-right:4rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-3{padding-bottom:.75rem;padding-top:.75rem}.md\:py-4{padding-bottom:1rem;padding-top:1rem}.md\:py-8{padding-bottom:2rem;padding-top:2rem}.md\:pl-0{padding-left:0}.md\:pl-2{padding-left:.5rem}.md\:pl-6{padding-left:1.5rem}.md\:pl-8{padding-left:2rem}.md\:pr-0{padding-right:0}.md\:text-left{text-align:left}.md\:text-right{text-align:right}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:first\:px-8:first-child,.md\:last\:px-8:last-child{padding-left:2rem;padding-right:2rem}}@media (min-width:1024px){.lg\:m-4{margin:1rem}.lg\:-mx-12{margin-left:-3rem;margin-right:-3rem}.lg\:-mx-16{margin-left:-4rem;margin-right:-4rem}.lg\:-mx-20{margin-left:-5rem;margin-right:-5rem}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:mx-16{margin-left:4rem;margin-right:4rem}.lg\:mx-20{margin-left:5rem;margin-right:5rem}.lg\:mx-24{margin-left:6rem;margin-right:6rem}.lg\:mx-28{margin-left:7rem;margin-right:7rem}.lg\:mx-4{margin-left:1rem;margin-right:1rem}.lg\:mx-40{margin-left:10rem;margin-right:10rem}.lg\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.lg\:mx-80{margin-left:20rem;margin-right:20rem}.lg\:my-32{margin-bottom:8rem;margin-top:8rem}.lg\:-mt-6{margin-top:-1.5rem}.lg\:mb-0{margin-bottom:0}.lg\:mb-8{margin-bottom:2rem}.lg\:ml-8{margin-left:2rem}.lg\:mr-24{margin-right:6rem}.lg\:mr-8{margin-right:2rem}.lg\:mt-0{margin-top:0}.lg\:mt-10{margin-top:2.5rem}.lg\:mt-12{margin-top:3rem}.lg\:mt-16{margin-top:4rem}.lg\:mt-20{margin-top:5rem}.lg\:mt-6{margin-top:1.5rem}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-auto{height:auto}.lg\:w-1\/2{width:50%}.lg\:w-2\/3{width:66.666667%}.lg\:w-2\/5{width:40%}.lg\:w-3\/5{width:60%}.lg\:w-4\/5{width:80%}.lg\:w-4\/6{width:66.666667%}.lg\:w-5\/6{width:83.333333%}.lg\:max-w-3xl{max-width:48rem}.lg\:max-w-4xl{max-width:56rem}.lg\:max-w-6xl{max-width:72rem}.lg\:max-w-\[50\%\]{max-width:50%}.lg\:max-w-none{max-width:none}.lg\:max-w-sm{max-width:24rem}.lg\:flex-1{flex:1 1 0%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:items-end{align-items:flex-end}.lg\:items-center{align-items:center}.lg\:justify-start{justify-content:flex-start}.lg\:justify-end{justify-content:flex-end}.lg\:space-x-12>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(3rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(3rem*var(--tw-space-x-reverse))}.lg\:space-x-20>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(5rem*var(--tw-space-x-reverse))}.lg\:\!bg-cover{background-size:cover!important}.lg\:p-12{padding:3rem}.lg\:px-20{padding-left:5rem;padding-right:5rem}.lg\:px-28{padding-left:7rem;padding-right:7rem}.lg\:px-40{padding-left:10rem;padding-right:10rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-1{padding-bottom:.25rem;padding-top:.25rem}.lg\:py-12{padding-bottom:3rem;padding-top:3rem}.lg\:py-16{padding-bottom:4rem;padding-top:4rem}.lg\:py-24{padding-bottom:6rem;padding-top:6rem}.lg\:py-5{padding-bottom:1.25rem;padding-top:1.25rem}.lg\:pb-12{padding-bottom:3rem}.lg\:pb-24{padding-bottom:6rem}.lg\:pb-28{padding-bottom:7rem}.lg\:pl-0{padding-left:0}.lg\:pt-16{padding-top:4rem}.lg\:pt-24{padding-top:6rem}.lg\:pt-6{padding-top:1.5rem}.lg\:pt-8{padding-top:2rem}.lg\:text-left{text-align:left}.lg\:text-right{text-align:right}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\:text-4xl{font-size:2.25rem;line-height:2.5rem}.lg\:text-5xl{font-size:3rem;line-height:1}.lg\:text-6xl{font-size:3.75rem;line-height:1}.lg\:text-xl{font-size:1.25rem;line-height:1.75rem}.lg\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.lg\:backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.lg\:first\:px-20:first-child,.lg\:last\:px-20:last-child{padding-left:5rem;padding-right:5rem}}@media (min-width:1280px){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:-mx-20{margin-left:-5rem;margin-right:-5rem}.xl\:-mx-8{margin-left:-2rem;margin-right:-2rem}.xl\:mx-20{margin-left:5rem;margin-right:5rem}.xl\:mx-96{margin-left:24rem;margin-right:24rem}.xl\:mb-12{margin-bottom:3rem}.xl\:mr-3{margin-right:.75rem}.xl\:mt-0{margin-top:0}.xl\:flex{display:flex}.xl\:w-5\/12{width:41.666667%}.xl\:max-w-sm{max-width:24rem}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:gap-16{gap:4rem}.xl\:gap-4{gap:1rem}.xl\:p-12{padding:3rem}.xl\:py-24{padding-bottom:6rem;padding-top:6rem}.xl\:text-lg{font-size:1.125rem;line-height:1.75rem}.xl\:text-xl{font-size:1.25rem;line-height:1.75rem}.xl\:backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}}@media (min-width:1536px){.\32xl\:mt-0{margin-top:0}.\32xl\:pt-24{padding-top:6rem}}
\ No newline at end of file
diff --git a/static/fonts/BebasNeue-Bold.ttf b/static/fonts/BebasNeue-Bold.ttf
new file mode 100644
index 0000000..6fff605
Binary files /dev/null and b/static/fonts/BebasNeue-Bold.ttf differ
diff --git a/static/fonts/CercoDEMO-Bold.otf b/static/fonts/CercoDEMO-Bold.otf
new file mode 100644
index 0000000..37f437d
Binary files /dev/null and b/static/fonts/CercoDEMO-Bold.otf differ
diff --git a/static/fonts/CercoDEMO-Light.otf b/static/fonts/CercoDEMO-Light.otf
new file mode 100644
index 0000000..0e74f02
Binary files /dev/null and b/static/fonts/CercoDEMO-Light.otf differ
diff --git a/static/fonts/CercoDEMO-Medium.otf b/static/fonts/CercoDEMO-Medium.otf
new file mode 100644
index 0000000..801f6fa
Binary files /dev/null and b/static/fonts/CercoDEMO-Medium.otf differ
diff --git a/static/images/favicon.ico b/static/images/favicon.ico
new file mode 100644
index 0000000..ff4a519
Binary files /dev/null and b/static/images/favicon.ico differ
diff --git a/content/footer/img/logo_dunia_2.jpeg b/static/images/logo.jpeg
similarity index 100%
rename from content/footer/img/logo_dunia_2.jpeg
rename to static/images/logo.jpeg
diff --git a/content/header/img/logo_dunia.jpeg b/static/images/logoheader.jpeg
similarity index 100%
rename from content/header/img/logo_dunia.jpeg
rename to static/images/logoheader.jpeg
diff --git a/static/js/custom.js b/static/js/custom.js
new file mode 100644
index 0000000..539be5b
--- /dev/null
+++ b/static/js/custom.js
@@ -0,0 +1,110 @@
+var displayedMenu = "";
+var hamburgerShown = false;
+let width = screen.width;
+var isMobile = width < 1024;
+
+function toggleMenu(button) {
+ if (displayedMenu === button.id.split("-")[0]) {
+ button.className = button.className.replace(
+ " text-blue-500 bg-stone-200 sm:bg-transparent",
+ " text-gray-900"
+ );
+ hideMenu(button.id.split("-")[0]);
+ button.lastElementChild.className = button.lastElementChild.className.replace(
+ "rotate-0",
+ "-rotate-90"
+ );
+ displayedMenu = "";
+ } else {
+ showMenu(button.id.split("-")[0]);
+ button.lastElementChild.className = button.lastElementChild.className.replace(
+ "-rotate-90",
+ "rotate-0"
+ );
+ button.className = button.className.replace(
+ " text-gray-900",
+ " text-blue-500 bg-stone-200 sm:bg-transparent"
+ );
+ displayedMenu = button.id.split("-")[0];
+ }
+}
+
+function handleClick(button) {
+ if (button.id === "hamburger-btn" || button.id === "close-hamburger-btn") {
+ toggleHamburger();
+ }
+ if (button.id.indexOf("menu") !== -1) {
+ toggleMenu(button);
+ }
+}
+
+function toggleHamburger() {
+ if (hamburgerShown) {
+ hideHamburger();
+ hamburgerShown = false;
+ } else {
+ showHamburger();
+ hamburgerShown = true;
+ }
+}
+
+function showMenu(menuName) {
+ var menuId = menuName + (isMobile ? "-mobile-menu" : "-menu");
+ var menuBtnId = menuName + (isMobile ? "-mobile-menu" : "-menu");
+ var menuElement = document.getElementById(menuId);
+ menuElement.className = menuElement.className.replace(" hidden", "");
+ setTimeout(function () {
+ menuElement.className = menuElement.className.replace(
+ "duration-200 ease-in opacity-0 -translate-y-1",
+ "duration-150 ease-out opacity-1 -translate-y-0"
+ );
+ }, 10);
+}
+
+function hideMenu(menuName) {
+ var menuId = menuName + (isMobile ? "-mobile-menu" : "-menu");
+ var menuElement = document.getElementById(menuId);
+ menuElement.className = menuElement.className.replace(
+ "duration-150 ease-out opacity-1 -translate-y-0",
+ "duration-200 ease-in opacity-0 -translate-y-1"
+ );
+ setTimeout(function () {
+ menuElement.className = menuElement.className + " hidden";
+ }, 300);
+}
+
+function showHamburger() {
+ document.getElementById("header-container").className = "overflow-hidden";
+ document.getElementById("hamburger").className =
+ "fixed mt-2 z-20 top-0 inset-x-0 transition transform origin-top-right";
+ document.getElementById("hamburger-btn").className =
+ "hidden lg:hidden inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out my-2";
+ document.getElementById("close-hamburger-btn").className =
+ "inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out my-2";
+}
+
+function hideHamburger() {
+ document.getElementById("header-container").className = "";
+ document.getElementById("hamburger").className =
+ "hidden absolute z-20 top-0 inset-x-0 transition transform origin-top-right lg:hidden";
+ document.getElementById("hamburger-btn").className =
+ "inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out my-2";
+ document.getElementById("close-hamburger-btn").className =
+ "hidden lg:hidden inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out my-2";
+ if (displayedMenu !== "") {
+ hideMenu(displayedMenu);
+ }
+}
+
+window.onload = function () {
+ let elements = document.getElementsByTagName("button");
+ let buttons = [...elements];
+ buttons.forEach((button) => {
+ button.addEventListener("click", function () {
+ handleClick(button);
+ });
+ });
+ document
+ .getElementById("mobile-learn-btn")
+ ?.addEventListener("click", toggleMenu);
+};
diff --git a/tailwind.config copy.js b/tailwind.config copy.js
new file mode 100644
index 0000000..a08b26c
--- /dev/null
+++ b/tailwind.config copy.js
@@ -0,0 +1,20 @@
+/** @type {import('tailwindcss').Config} */
+module.exports = {
+ content: ['./templates/**/*.html', './content/**/*.md'],
+ safelist: [
+ {
+ pattern: /(-|)(ml|mr)-(4|8|12|16|20|24|28)/,
+ variants: ['sm', 'md', 'lg', 'first', 'first:sm', 'first:md', 'first:lg', 'last', 'last:sm', 'last:md', 'last:lg'],
+ },
+ {
+ pattern: /(pt|pb)-(0)/,
+ variants: ['!', 'lg', 'first', 'first:sm', 'first:md', 'first:lg', 'last', 'last:sm', 'last:md', 'last:lg'],
+ }
+ ],
+ theme: {
+ extend: {},
+ },
+ plugins: [
+ require('@tailwindcss/typography'),
+ ],
+}
diff --git a/tailwind.config.js b/tailwind.config.js
new file mode 100644
index 0000000..ba15afc
--- /dev/null
+++ b/tailwind.config.js
@@ -0,0 +1,9 @@
+/** @type {import('tailwindcss').Config} */
+module.exports = {
+ content: ['./templates/**/*.html'],
+ theme: {
+ extend: {},
+ },
+ plugins: [],
+}
+
diff --git a/tailwindcss b/tailwindcss
new file mode 100755
index 0000000..d4d4092
Binary files /dev/null and b/tailwindcss differ
diff --git a/templates/_default/base.html b/templates/_default/base.html
new file mode 100644
index 0000000..4e391c4
--- /dev/null
+++ b/templates/_default/base.html
@@ -0,0 +1,14 @@
+
+
+
+ {% include "partials/head.html" %}
+
+
+ {% include "partials/header.html" %}
+
+ {% block content %}{% endblock %}
+
+ {% include "partials/footer.html" %}
+
+
+
\ No newline at end of file
diff --git a/templates/blogPage.html b/templates/blogPage.html
new file mode 100644
index 0000000..85f09a1
--- /dev/null
+++ b/templates/blogPage.html
@@ -0,0 +1,82 @@
+{% extends "_default/base.html" %}
+{% block content %}
+
+{% if page.taxonomies.people %}
+{% set people = get_section(path="people/_index.md") %}
+{% set pages_str = people.pages | json_encode() | as_str %}
+{% if pages_str is containing(page.taxonomies.people[0]) %}
+{% set author_path = 'people/' ~ page.taxonomies.people[0] ~ '/index.md' %}
+{% set author = get_page(path=author_path) %}
+{% endif %}
+{% endif %}
+
+
+
+{% set split = page.content | split(pat="threefold.io") %}
+{% if split | length < 2 %} {% set content=page.content %} {% else %} {% set content="" %} {% for part in split %} {% if
+ part is starting_with("/blog") %} {% set split_part=part | split(pat='/">' ) %} {% set link=split_part[0] %} {% set
+ link=link | replace(from="/blog/post" , to="/blog" ) %} {% set link=link | replace(from="_" , to="-" ) %} {% set
+ rest_part=split_part | slice(start=1) | join(sep='/"' ) %} {% set part=link ~ '/">' ~ rest_part %} {% endif %} {% if
+ loop.first %} {% set_global content=part%} {% else %} {% set_global content=content ~ "threefold.io" ~ part%} {% endif
+ %} {% endfor %} {% endif %}
+
+
+
+
+
+
+ {{ page.title }}
+
+
+
+ {{ page.description }}
+
+
+
+
+
+
+ {% if author %}
+ {% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') |
+ replace(from='index.md', to=author.extra.imgPath)) %}
+
+
+ {% endif %}
+
+
+
+
+ {% if author %}
+
{{ author.title }}
+ {% endif %}
+
+ {{ page.date | date(format="%B %e, %Y", timezone="America/Chicago")
+ }}
+
+
+
+
+
+
+
+ {% set img_url = get_url(path='/' ~ page.relative_path | replace(from='_', to='-') | replace(from='index.md',
+ to=page.extra.imgPath)) %}
+
+ {{ content | safe }}
+
+
+
+
+
+
+
+ {% endblock content %}
\ No newline at end of file
diff --git a/templates/categories/list.html b/templates/categories/list.html
new file mode 100644
index 0000000..f628a84
--- /dev/null
+++ b/templates/categories/list.html
@@ -0,0 +1,4 @@
+{% extends "index.html" %}
+
+{% block content %}
+{% endblock content %}
\ No newline at end of file
diff --git a/templates/categories/single.html b/templates/categories/single.html
new file mode 100644
index 0000000..48b5d0c
--- /dev/null
+++ b/templates/categories/single.html
@@ -0,0 +1,14 @@
+{% extends "index.html" %}
+
+{% block content %}
+
+
+
+
+ {# {% include "partials/blogPosts.html" %} #}
+ {# {% include "partials/blogSidebar.html" %} #}
+
+
+
+ {% endblock content %}
+
diff --git a/templates/index.html b/templates/index.html
new file mode 100644
index 0000000..48461be
--- /dev/null
+++ b/templates/index.html
@@ -0,0 +1,9 @@
+{% extends "_default/base.html" %}
+{% block content %}
+
+
+
+ {% set page = get_page(path="home/index.md") %}
+ {{page.content | safe}}
+
+{% endblock content %}
\ No newline at end of file
diff --git a/templates/items/list.html b/templates/items/list.html
new file mode 100644
index 0000000..f628a84
--- /dev/null
+++ b/templates/items/list.html
@@ -0,0 +1,4 @@
+{% extends "index.html" %}
+
+{% block content %}
+{% endblock content %}
\ No newline at end of file
diff --git a/templates/items/single.html b/templates/items/single.html
new file mode 100644
index 0000000..19f29a1
--- /dev/null
+++ b/templates/items/single.html
@@ -0,0 +1,14 @@
+{% extends "index.html" %}
+
+{% block content %}
+
+
+
+
+ {% include "partials/productPosts.html" %}
+ {% include "partials/productSidebar.html" %}
+
+
+
+ {% endblock content %}
+
diff --git a/templates/layouts/blog.html b/templates/layouts/blog.html
new file mode 100644
index 0000000..62c113a
--- /dev/null
+++ b/templates/layouts/blog.html
@@ -0,0 +1,30 @@
+{% extends "_default/base.html" %}
+
+
+{% block content %}
+
+
+
+
+ {%- set section = get_section(path="blog/_index.md") %}
+ {% for page in section.pages %}
+ {% if page.extra.isFeatured %}
+ {%- set_global featured = page %}
+ {% break %}
+ {% endif %}
+ {% endfor %}
+
+ {% include "partials/featuredBlog.html" %}
+
+
+ {% include "partials/blogPosts.html" %}
+ {% include "partials/blogSidebar.html" %}
+
+
+
+ {% endblock content %}
diff --git a/templates/layouts/horizontal_section.html b/templates/layouts/horizontal_section.html
new file mode 100644
index 0000000..ca84bf8
--- /dev/null
+++ b/templates/layouts/horizontal_section.html
@@ -0,0 +1,18 @@
+{% extends "_default/base.html" %}
+{% import "macros.html" as macros %}
+
+{% block content %}
+
+
+
+
+ {{ section.content | safe}}
+
+
+ {{ macros::page_list(item_type="page-box", group=false) }}
+
+
+
+
+
+{% endblock content %}
diff --git a/templates/layouts/newsroom.html b/templates/layouts/newsroom.html
new file mode 100644
index 0000000..b243a29
--- /dev/null
+++ b/templates/layouts/newsroom.html
@@ -0,0 +1,33 @@
+{% extends "_default/base.html" %}
+
+
+{% block content %}
+
+
+
+
+ {%- set section = get_section(path="newsroom/_index.md") %}
+ {% for page in section.pages %}
+ {% if page.extra.isFeatured %}
+ {%- set_global featured = page %}
+ {% break %}
+ {% endif %}
+ {% if not featured %}
+ {%- set_global featured = section.pages[0] %}
+ {% endif %}
+ {% endfor %}
+
+ {% include "partials/featuredNews.html" %}
+
+
+ {% include "partials/newsPosts.html" %}
+ {% include "partials/newsSidebar.html" %}
+
+
+
+ {% endblock content %}
diff --git a/templates/layouts/people.html b/templates/layouts/people.html
new file mode 100644
index 0000000..abd7d50
--- /dev/null
+++ b/templates/layouts/people.html
@@ -0,0 +1,83 @@
+{% extends "_default/base.html" %}
+
+
+{% block content %}
+
+
+
+
+ {%- set section = get_section(path="people/_index.md") %}
+
+ {% include "partials/filter_bar.html" %}
+
+
+ {% set path_array = current_path | split(pat="/") %}
+ {% set taxonomy = path_array[1] %}
+ {% set category = path_array[2] %}
+ {{category | replace(from='-', to=' ' ) | title}}
+
+
+
+
+
+
+ {% endblock content %}
\ No newline at end of file
diff --git a/templates/layouts/products.html b/templates/layouts/products.html
new file mode 100644
index 0000000..5d881c0
--- /dev/null
+++ b/templates/layouts/products.html
@@ -0,0 +1,30 @@
+{% extends "_default/base.html" %}
+
+
+{% block content %}
+
+
+
+
+ {%- set section = get_section(path="products/_index.md") %}
+ {% for page in section.pages %}
+ {% if page.extra.isFeatured %}
+ {%- set_global featured = page %}
+ {% break %}
+ {% endif %}
+ {% endfor %}
+
+ {% include "partials/featuredProduct.html" %}
+
+
+ {% include "partials/productPosts.html" %}
+ {% include "partials/productSidebar.html" %}
+
+
+
+ {% endblock content %}
diff --git a/templates/list.html b/templates/list.html
new file mode 100644
index 0000000..56e8399
--- /dev/null
+++ b/templates/list.html
@@ -0,0 +1,14 @@
+{% extends "_default/base.html" %}
+{% block content %}
+
+
+
+ {{ section.title }}
+
+
+ {% for page in section.pages %}
+ {{ page.date | date(format="%B %e, %Y", timezone="America/Chicago") }} • {{ page.title }}
+ {% endfor %}
+
+This comes from /templates/_default/list.html.
+{% endblock content %}
\ No newline at end of file
diff --git a/templates/macros.html b/templates/macros.html
new file mode 100644
index 0000000..c349733
--- /dev/null
+++ b/templates/macros.html
@@ -0,0 +1,28 @@
+{% macro page_list(type="text") %}
+
+ {% if section.extra.group_pages_by %}
+
+ {% set taxonomy = get_taxonomy(kind=section.extra.group_pages_by) %}
+ {% set roles = taxonomy.items %}
+ {% for role in roles %}
+
+ {% set icon_path = config.extra.taxonomies["roles"][role.name].icon_path | as_str %}
+
+ {% set path = role.name | slugify %}
+ {% set fullpath = "/roles/" ~ path %}
+
{{role.name}}
+ {% for page in role.pages %}
+ {% include "partials/pageBox.html"%}
+ {% endfor %}
+
+ {% endfor %}
+
+ {% else %}
+ {% for page in section.pages %}
+ {{page}}
+ {% include "partials/pageBox.html"%}
+ {% endfor %}
+ {% endif %}
+{% endmacro page_list %}
+
+
diff --git a/templates/newsPage.html b/templates/newsPage.html
new file mode 100644
index 0000000..50aab42
--- /dev/null
+++ b/templates/newsPage.html
@@ -0,0 +1,143 @@
+{% extends "_default/base.html" %}
+{% block content %}
+
+{% set split = page.content | split(pat="threefold.io") %}
+{% if split | length < 2 %}
+ {% set content = page.content %}
+{% else %}
+ {% set content = "" %}
+ {% for part in split %}
+ {% if part is starting_with("/blog") %}
+ {% set split_part = part | split(pat='/">') %}
+ {% set link = split_part[0] %}
+ {% set link = link | replace(from="/blog/post", to="/blog") %}
+ {% set link = link | replace(from="_", to="-") %}
+ {% set rest_part = split_part | slice(start=1) | join(sep='/">') %}
+ {% set part = link ~ '/">' ~ rest_part %}
+ {% endif %}
+ {% if part is starting_with("/people") %}
+ {% set split_part = part | split(pat='/">') %}
+ {% set link = split_part[0] %}
+ {% set link = link | replace(from="_", to="-") %}
+ {% set rest_part = split_part | slice(start=1) | join(sep='/">') %}
+ {% set part = link ~ '/">' ~ rest_part %}
+ {% endif %}
+ {% if loop.first %}
+ {% set_global content = part %}
+ {% else %}
+ {% set_global content = content ~ "threefold.io" ~ part %}
+ {% endif %}
+ {% endfor %}
+{% endif %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% if page.taxonomies.people %}
+ {% for person in page.taxonomies.people %}
+ {% set author_path = 'people/' ~ person ~ '/index.md' %}
+ {% set people = get_section(path="people/_index.md") %}
+ {% set pages_str = people.pages | json_encode() | as_str %}
+ {% if pages_str is containing(person) %}
+ {% set author = get_page(path=author_path) %}
+ {% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') | replace(from='index.md', to=author.extra.imgPath)) %}
+
+
+
+
+
+ {% endif %}
+ {% endfor %}
+ {% endif %}
+
+
+
+
+
+ {% if page.taxonomies.people %}
+ {% for person in page.taxonomies.people %}
+ {% set author_path = 'people/' ~ person ~ '/index.md' %}
+ {% set people = get_section(path="people/_index.md") %}
+ {% set pages_str = people.pages | json_encode() | as_str %}
+ {% if pages_str is containing(person) %}
+ {% set author = get_page(path=author_path) %}
+ {% set author_img = get_url(path='/' ~ author.relative_path | replace(from='_', to='-') | replace(from='index.md', to=author.extra.imgPath)) %}
+
+ {{ author.title }}
+
+ {% endif %}
+ {% endfor %}
+ {% endif %}
+
+
+
+ {{ page.date | date(format="%B %e, %Y", timezone="America/Chicago") }}
+
+ {# · {{ page.news.timeToRead }} min read #}
+
+
+
+
+
+
+
+ {% if page.extra.imgPath %}
+ {% set img_url = get_url(path='/' ~ page.relative_path | replace(from='_', to='-') | replace(from='index.md', to=page.extra.imgPath)) %}
+
+ {%endif%}
+
+
+
+
+
+
+ {% for tag in page.taxonomies.tags %}
+ {% set fullpath = "/tags/" ~ tag | replace(from='_', to='-' ) %}
+ {{ tag }}
+ {% endfor %}
+
+
+
+
+{% endblock content %}
\ No newline at end of file
diff --git a/templates/page.html b/templates/page.html
new file mode 100644
index 0000000..2ad741b
--- /dev/null
+++ b/templates/page.html
@@ -0,0 +1,16 @@
+{% extends "_default/base.html" %}
+
+{% block content %}
+
+
+
+
+
+ {% if page %}
+ {{page.content | safe}}
+ {% else %}
+ {{section.content | safe}}
+ {% endif %}
+
+
+ {% endblock content %}
diff --git a/templates/partials/applicationForm.html b/templates/partials/applicationForm.html
new file mode 100644
index 0000000..c2b84c9
--- /dev/null
+++ b/templates/partials/applicationForm.html
@@ -0,0 +1,60 @@
+
\ No newline at end of file
diff --git a/templates/partials/blogPosts.html b/templates/partials/blogPosts.html
new file mode 100644
index 0000000..8e04924
--- /dev/null
+++ b/templates/partials/blogPosts.html
@@ -0,0 +1,70 @@
+{% block content %}
+
+
+
+ {% set path_array = current_path | split(pat="/") %}
+ {% set taxonomy = path_array[1] %}
+ {% set category = path_array[2] %}
+ The Latest from Ourworld Free Zone
+ {% if taxonomy == "categories" %} -
+ {{category | replace(from='-', to=' ' ) | title}}
+ {% endif %}
+
+
+
+
+{% endblock content %}
\ No newline at end of file
diff --git a/templates/partials/blogSidebar.html b/templates/partials/blogSidebar.html
new file mode 100644
index 0000000..7c910c7
--- /dev/null
+++ b/templates/partials/blogSidebar.html
@@ -0,0 +1,38 @@
+
+
+
+
FILTER POSTS BY
+
All
+ {% set taxonomy = get_taxonomy(kind="categories") %}
+ {% set categories = taxonomy.items %}
+ {% for category in categories %}
+ {% set path = category.name | slugify %}
+ {% set fullpath = "/categories/" ~ path %}
+
{{category.name}}
+ {% endfor %}
+
+
+{% set section = get_section(path="blog/_index.md")%}
+
+
+
FEATURED POSTS
+
+ {% for page in section.pages %}
+ {% if page.extra.isFeatured %}
+
{{ page.title }}
+ {% endif %}
+ {% endfor %}
+
+
+
+
+
\ No newline at end of file
diff --git a/templates/partials/featuredBlog.html b/templates/partials/featuredBlog.html
new file mode 100644
index 0000000..b6edc7e
--- /dev/null
+++ b/templates/partials/featuredBlog.html
@@ -0,0 +1,36 @@
+{% if featured.taxonomies.people %}
+ {% set people = get_section(path="people/_index.md") %}
+ {% set pages_str = people.pages | json_encode() | as_str %}
+ {% if pages_str is containing(featured.taxonomies.people[0]) %}
+ {% set author_path = 'people/' ~ featured.taxonomies.people[0] ~ '/index.md' %}
+ {% set author = get_page(path=author_path) %}
+ {% endif %}
+{% endif %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/templates/partials/featuredNews.html b/templates/partials/featuredNews.html
new file mode 100644
index 0000000..8c67ed4
--- /dev/null
+++ b/templates/partials/featuredNews.html
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+ {% if featured.extra.imgPath %}
+
+ {% endif %}
+
+
+
+
+
+
\ No newline at end of file
diff --git a/templates/partials/featuredProduct.html b/templates/partials/featuredProduct.html
new file mode 100644
index 0000000..63b09ca
--- /dev/null
+++ b/templates/partials/featuredProduct.html
@@ -0,0 +1,36 @@
+{% if featured.taxonomies.people %}
+ {% set people = get_section(path="people/_index.md") %}
+ {% set pages_str = people.pages | json_encode() | as_str %}
+ {% if pages_str is containing(featured.taxonomies.people[0]) %}
+ {% set author_path = 'people/' ~ featured.taxonomies.people[0] ~ '/index.md' %}
+ {% set author = get_page(path=author_path) %}
+ {% endif %}
+{% endif %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/templates/partials/filter_bar.html b/templates/partials/filter_bar.html
new file mode 100644
index 0000000..4770683
--- /dev/null
+++ b/templates/partials/filter_bar.html
@@ -0,0 +1,48 @@
+{% set path_array = current_path | split(pat="/") %}
+{% set taxonomy = path_array[1] %}
+{% set category = path_array[2] %}
+{% if path_array | length < 4%}
+{% set category = "All" %}
+{% endif %}
+
+
+
+
+
+
+
+
+
+
+
+ {{category | replace(from='-', to=' ' ) | title}}
+
+
+
+
+
+ All
+
+ {% set taxonomy = get_taxonomy(kind="memberships") %}
+ {% set categories = taxonomy.items %}
+ {% for category in categories %}
+ {% set path = category.name | slugify %}
+ {% set fullpath = "/memberships/" ~ path %}
+
+ {{category.name}}
+
+ {% endfor %}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/templates/partials/footer.html b/templates/partials/footer.html
new file mode 100644
index 0000000..3003b63
--- /dev/null
+++ b/templates/partials/footer.html
@@ -0,0 +1,42 @@
+
+
+{%- set section = get_section(path="footer/_index.md") %}
+{%- set logoPath = section.extra.logoPath %}
+
+
+
+
+
+
+
+
+
+
+ {{section.description}}
+
+ {% include "partials/socialLinks.html" %}
+
+
+
+
+
+
+
+ © 2023 Flowers 4 Peace, All rights reserved.
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/templates/partials/head.html b/templates/partials/head.html
new file mode 100644
index 0000000..38ed853
--- /dev/null
+++ b/templates/partials/head.html
@@ -0,0 +1,53 @@
+{% set cloudiBase = 'https://res.cloudinary.com/brycewray-com/image/upload/' %}
+{% set xFmPart1 = 'f_auto,q_auto:eco,w_' %}
+{% set xFmPart2 = ',x_0,z_1/' %}
+{% set fallbackImg = 'typewriter-monochrome_2242164_6260x4374.jpg' %}
+{% set zolaVer = '0.13.0' %}
+
+
+
+
+ {% block title %}
+ {% if current_path == '/' %}
+ {{ config.title }}
+
+ {% else %}
+ {% if section.title %}{{ section.title }} • {% endif %}{% if page.title %}{{ page.title }} • {% endif %}{{ config.title }}
+
+ {% endif %}
+ {% endblock title %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/templates/partials/header.html b/templates/partials/header.html
new file mode 100644
index 0000000..b090022
--- /dev/null
+++ b/templates/partials/header.html
@@ -0,0 +1,134 @@
+
+
+
+
+{% set section = get_section(path="_index.md") %}
+{% set subsections_str = section.subsections | join(sep=" ") %}
+{% set logo_path = get_url(path=section.extra.logo_path | default(value='')) %}
+
+{% if "header/_index.md" in subsections_str %}
+ {% set section = get_section(path="header/_index.md") %}
+ {% set header_items = section.content | safe | split(pat="") %}
+ {% include "partials/header_custom.html" %}
+{% else %}
+