diff --git a/.github/workflows/hugo.yaml b/.github/workflows/hugo.yaml
new file mode 100644
index 0000000..160b474
--- /dev/null
+++ b/.github/workflows/hugo.yaml
@@ -0,0 +1,78 @@
+# Sample workflow for building and deploying a Hugo site to GitHub Pages
+name: Deploy Hugo site to Pages
+
+on:
+ # Runs on pushes targeting the default branch
+ push:
+ branches:
+ - main
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
+concurrency:
+ group: "pages"
+ cancel-in-progress: false
+
+# Default to bash
+defaults:
+ run:
+ shell: bash
+
+jobs:
+ # Build job
+ build:
+ runs-on: ubuntu-latest
+ env:
+ HUGO_VERSION: 0.121.0
+ steps:
+ - name: Install Hugo CLI
+ run: |
+ wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.deb \
+ && sudo dpkg -i ${{ runner.temp }}/hugo.deb
+ - name: Install Dart Sass
+ run: sudo snap install dart-sass
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ submodules: recursive
+ fetch-depth: 0
+ - name: Setup Pages
+ id: pages
+ uses: actions/configure-pages@v4
+ - name: Install Node.js dependencies
+ run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
+ - name: Build with Hugo
+ env:
+ # For maximum backward compatibility with Hugo modules
+ HUGO_ENVIRONMENT: production
+ HUGO_ENV: production
+ run: |
+ hugo \
+ --gc \
+ --minify \
+ --baseURL "${{ steps.pages.outputs.base_url }}/"
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v2
+ with:
+ path: ./public
+
+ # Deployment job
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ needs: build
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v3
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b413aef
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,13 @@
+#others
+node_modules
+.hugo_build.lock
+
+# OS generated files
+.DS_Store
+.DS_Store?
+._*
+.Spotlight-V100
+.Trashes
+
+# Hugo
+public
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..12a90bd
--- /dev/null
+++ b/README.md
@@ -0,0 +1,9 @@
+# blowfish-tutorial
+echo "# blowfish-tutorial" >> README.md
+git init
+git add README.md
+git add .
+git commit -m "first commit"
+git branch -M main
+git remote add origin https://github.com/demodeveloperlab/blowfish-tutorial.git
+git push -u origin main
\ No newline at end of file
diff --git a/archetypes/default.md b/archetypes/default.md
new file mode 100644
index 0000000..c6f3fce
--- /dev/null
+++ b/archetypes/default.md
@@ -0,0 +1,5 @@
++++
+title = '{{ replace .File.ContentBaseName "-" " " | title }}'
+date = {{ .Date }}
+draft = true
++++
diff --git a/assets/css/compiled/main.css b/assets/css/compiled/main.css
new file mode 100644
index 0000000..ce5ece1
--- /dev/null
+++ b/assets/css/compiled/main.css
@@ -0,0 +1,5386 @@
+/*! Blowfish | MIT License | https://github.com/nunocoracao/blowfish */
+
+#zen-mode-button {
+ cursor:pointer
+}
+
+.zen-mode {
+ position: relative;
+}
+
+body.zen-mode-enable {
+ #bmc-wbtn, .author {
+ display:none !important;
+ }
+}
+
+.btn {
+ @apply inline-block rounded border border-transparent px-5 py-2 font-semibold capitalize transition;
+}
+
+.btn-sm {
+ @apply rounded-sm px-4 py-1.5 text-sm;
+}
+
+.btn-primary {
+ @apply border-primary bg-primary dark:border-darkmode-primary dark:text-dark text-white dark:bg-white;
+}
+
+.btn-outline-primary {
+ @apply border-dark text-dark hover:bg-dark dark:hover:text-dark bg-transparent hover:text-white dark:border-white dark:text-white dark:hover:bg-white;
+}
+
+/*! tailwindcss v3.4.0 | MIT License | https://tailwindcss.com */
+
+/*
+1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
+2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
+*/
+
+*,
+::before,
+::after {
+ box-sizing: border-box;
+ /* 1 */
+ border-width: 0;
+ /* 2 */
+ border-style: solid;
+ /* 2 */
+ border-color: currentColor;
+ /* 2 */
+}
+
+::before,
+::after {
+ --tw-content: '';
+}
+
+/*
+1. Use a consistent sensible line-height in all browsers.
+2. Prevent adjustments of font size after orientation changes in iOS.
+3. Use a more readable tab size.
+4. Use the user's configured `sans` font-family by default.
+5. Use the user's configured `sans` font-feature-settings by default.
+6. Use the user's configured `sans` font-variation-settings by default.
+7. Disable tap highlights on iOS
+*/
+
+html,
+:host {
+ line-height: 1.5;
+ /* 1 */
+ -webkit-text-size-adjust: 100%;
+ /* 2 */
+ -moz-tab-size: 4;
+ /* 3 */
+ -o-tab-size: 4;
+ tab-size: 4;
+ /* 3 */
+ font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+ /* 4 */
+ font-feature-settings: normal;
+ /* 5 */
+ font-variation-settings: normal;
+ /* 6 */
+ -webkit-tap-highlight-color: transparent;
+ /* 7 */
+}
+
+/*
+1. Remove the margin in all browsers.
+2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
+*/
+
+body {
+ margin: 0;
+ /* 1 */
+ line-height: inherit;
+ /* 2 */
+}
+
+/*
+1. Add the correct height in Firefox.
+2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
+3. Ensure horizontal rules are visible by default.
+*/
+
+hr {
+ height: 0;
+ /* 1 */
+ color: inherit;
+ /* 2 */
+ border-top-width: 1px;
+ /* 3 */
+}
+
+/*
+Add the correct text decoration in Chrome, Edge, and Safari.
+*/
+
+abbr:where([title]) {
+ -webkit-text-decoration: underline dotted;
+ text-decoration: underline dotted;
+}
+
+/*
+Remove the default font size and weight for headings.
+*/
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ font-size: inherit;
+ font-weight: inherit;
+}
+
+/*
+Reset links to optimize for opt-in styling instead of opt-out.
+*/
+
+a {
+ color: inherit;
+ text-decoration: inherit;
+}
+
+/*
+Add the correct font weight in Edge and Safari.
+*/
+
+b,
+strong {
+ font-weight: bolder;
+}
+
+/*
+1. Use the user's configured `mono` font-family by default.
+2. Use the user's configured `mono` font-feature-settings by default.
+3. Use the user's configured `mono` font-variation-settings by default.
+4. Correct the odd `em` font sizing in all browsers.
+*/
+
+code,
+kbd,
+samp,
+pre {
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ /* 1 */
+ font-feature-settings: normal;
+ /* 2 */
+ font-variation-settings: normal;
+ /* 3 */
+ font-size: 1em;
+ /* 4 */
+}
+
+/*
+Add the correct font size in all browsers.
+*/
+
+small {
+ font-size: 80%;
+}
+
+/*
+Prevent `sub` and `sup` elements from affecting the line height in all browsers.
+*/
+
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+}
+
+sub {
+ bottom: -0.25em;
+}
+
+sup {
+ top: -0.5em;
+}
+
+/*
+1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
+2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
+3. Remove gaps between table borders by default.
+*/
+
+table {
+ text-indent: 0;
+ /* 1 */
+ border-color: inherit;
+ /* 2 */
+ border-collapse: collapse;
+ /* 3 */
+}
+
+/*
+1. Change the font styles in all browsers.
+2. Remove the margin in Firefox and Safari.
+3. Remove default padding in all browsers.
+*/
+
+button,
+input,
+optgroup,
+select,
+textarea {
+ font-family: inherit;
+ /* 1 */
+ font-feature-settings: inherit;
+ /* 1 */
+ font-variation-settings: inherit;
+ /* 1 */
+ font-size: 100%;
+ /* 1 */
+ font-weight: inherit;
+ /* 1 */
+ line-height: inherit;
+ /* 1 */
+ color: inherit;
+ /* 1 */
+ margin: 0;
+ /* 2 */
+ padding: 0;
+ /* 3 */
+}
+
+/*
+Remove the inheritance of text transform in Edge and Firefox.
+*/
+
+button,
+select {
+ text-transform: none;
+}
+
+/*
+1. Correct the inability to style clickable types in iOS and Safari.
+2. Remove default button styles.
+*/
+
+button,
+[type='button'],
+[type='reset'],
+[type='submit'] {
+ -webkit-appearance: button;
+ /* 1 */
+ background-color: transparent;
+ /* 2 */
+ background-image: none;
+ /* 2 */
+}
+
+/*
+Use the modern Firefox focus style for all focusable elements.
+*/
+
+:-moz-focusring {
+ outline: auto;
+}
+
+/*
+Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
+*/
+
+:-moz-ui-invalid {
+ box-shadow: none;
+}
+
+/*
+Add the correct vertical alignment in Chrome and Firefox.
+*/
+
+progress {
+ vertical-align: baseline;
+}
+
+/*
+Correct the cursor style of increment and decrement buttons in Safari.
+*/
+
+::-webkit-inner-spin-button,
+::-webkit-outer-spin-button {
+ height: auto;
+}
+
+/*
+1. Correct the odd appearance in Chrome and Safari.
+2. Correct the outline style in Safari.
+*/
+
+[type='search'] {
+ -webkit-appearance: textfield;
+ /* 1 */
+ outline-offset: -2px;
+ /* 2 */
+}
+
+/*
+Remove the inner padding in Chrome and Safari on macOS.
+*/
+
+::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+/*
+1. Correct the inability to style clickable types in iOS and Safari.
+2. Change font properties to `inherit` in Safari.
+*/
+
+::-webkit-file-upload-button {
+ -webkit-appearance: button;
+ /* 1 */
+ font: inherit;
+ /* 2 */
+}
+
+/*
+Add the correct display in Chrome and Safari.
+*/
+
+summary {
+ display: list-item;
+}
+
+/*
+Removes the default spacing and border for appropriate elements.
+*/
+
+blockquote,
+dl,
+dd,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+hr,
+figure,
+p,
+pre {
+ margin: 0;
+}
+
+fieldset {
+ margin: 0;
+ padding: 0;
+}
+
+legend {
+ padding: 0;
+}
+
+ol,
+ul,
+menu {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+
+/*
+Reset default styling for dialogs.
+*/
+
+dialog {
+ padding: 0;
+}
+
+/*
+Prevent resizing textareas horizontally by default.
+*/
+
+textarea {
+ resize: vertical;
+}
+
+/*
+1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
+2. Set the default placeholder color to the user's configured gray 400 color.
+*/
+
+input::-moz-placeholder, textarea::-moz-placeholder {
+ opacity: 1;
+ /* 1 */
+ color: #9ca3af;
+ /* 2 */
+}
+
+input::placeholder,
+textarea::placeholder {
+ opacity: 1;
+ /* 1 */
+ color: #9ca3af;
+ /* 2 */
+}
+
+/*
+Set the default cursor for buttons.
+*/
+
+button,
+[role="button"] {
+ cursor: pointer;
+}
+
+/*
+Make sure disabled buttons don't get the pointer cursor.
+*/
+
+:disabled {
+ cursor: default;
+}
+
+/*
+1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
+2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
+ This can trigger a poorly considered lint error in some tools but is included by design.
+*/
+
+img,
+svg,
+video,
+canvas,
+audio,
+iframe,
+embed,
+object {
+ display: block;
+ /* 1 */
+ vertical-align: middle;
+ /* 2 */
+}
+
+/*
+Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
+*/
+
+img,
+video {
+ max-width: 100%;
+ height: auto;
+}
+
+/* Make elements with the HTML hidden attribute stay hidden by default */
+
+[hidden] {
+ display: none;
+}
+
+[type='text'],input:where(:not([type])),[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select {
+ -webkit-appearance:none;
+ -moz-appearance:none;
+ appearance:none;
+ background-color:#fff;
+ border-color:#6b7280;
+ border-width:1px;
+ border-radius:0px;
+ padding-top:0.5rem;
+ padding-right:0.75rem;
+ padding-bottom:0.5rem;
+ padding-left:0.75rem;
+ font-size:1rem;
+ line-height:1.5rem;
+ --tw-shadow:0 0 #0000;
+}
+
+[type='text']:focus, input:where(:not([type])):focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus {
+ outline:2px solid transparent;
+ outline-offset:2px;
+ --tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);
+ --tw-ring-offset-width:0px;
+ --tw-ring-offset-color:#fff;
+ --tw-ring-color:#2563eb;
+ --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(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
+ box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
+ border-color:#2563eb
+}
+
+input::-moz-placeholder, textarea::-moz-placeholder {
+ color:#6b7280;
+ opacity:1
+}
+
+input::placeholder,textarea::placeholder {
+ color:#6b7280;
+ opacity:1
+}
+
+::-webkit-datetime-edit-fields-wrapper {
+ padding:0
+}
+
+::-webkit-date-and-time-value {
+ min-height:1.5em;
+ text-align:inherit
+}
+
+::-webkit-datetime-edit {
+ display:inline-flex
+}
+
+::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field {
+ padding-top:0;
+ padding-bottom:0
+}
+
+select {
+ background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
+ background-position:right 0.5rem center;
+ background-repeat:no-repeat;
+ background-size:1.5em 1.5em;
+ padding-right:2.5rem;
+ -webkit-print-color-adjust:exact;
+ print-color-adjust:exact
+}
+
+[multiple],[size]:where(select:not([size="1"])) {
+ background-image:initial;
+ background-position:initial;
+ background-repeat:unset;
+ background-size:initial;
+ padding-right:0.75rem;
+ -webkit-print-color-adjust:unset;
+ print-color-adjust:unset
+}
+
+[type='checkbox'],[type='radio'] {
+ -webkit-appearance:none;
+ -moz-appearance:none;
+ appearance:none;
+ padding:0;
+ -webkit-print-color-adjust:exact;
+ print-color-adjust:exact;
+ display:inline-block;
+ vertical-align:middle;
+ background-origin:border-box;
+ -webkit-user-select:none;
+ -moz-user-select:none;
+ user-select:none;
+ flex-shrink:0;
+ height:1rem;
+ width:1rem;
+ color:#2563eb;
+ background-color:#fff;
+ border-color:#6b7280;
+ border-width:1px;
+ --tw-shadow:0 0 #0000
+}
+
+[type='checkbox'] {
+ border-radius:0px
+}
+
+[type='radio'] {
+ border-radius:100%
+}
+
+[type='checkbox']:focus,[type='radio']:focus {
+ outline:2px solid transparent;
+ outline-offset:2px;
+ --tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);
+ --tw-ring-offset-width:2px;
+ --tw-ring-offset-color:#fff;
+ --tw-ring-color:#2563eb;
+ --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)
+}
+
+[type='checkbox']:checked,[type='radio']:checked {
+ border-color:transparent;
+ background-color:currentColor;
+ background-size:100% 100%;
+ background-position:center;
+ background-repeat:no-repeat
+}
+
+[type='checkbox']:checked {
+ background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e");
+}
+
+@media (forced-colors: active) {
+ [type='checkbox']:checked {
+ -webkit-appearance:auto;
+ -moz-appearance:auto;
+ appearance:auto
+ }
+}
+
+[type='radio']:checked {
+ background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
+}
+
+@media (forced-colors: active) {
+ [type='radio']:checked {
+ -webkit-appearance:auto;
+ -moz-appearance:auto;
+ appearance:auto
+ }
+}
+
+[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus {
+ border-color:transparent;
+ background-color:currentColor
+}
+
+[type='checkbox']:indeterminate {
+ background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");
+ border-color:transparent;
+ background-color:currentColor;
+ background-size:100% 100%;
+ background-position:center;
+ background-repeat:no-repeat;
+}
+
+@media (forced-colors: active) {
+ [type='checkbox']:indeterminate {
+ -webkit-appearance:auto;
+ -moz-appearance:auto;
+ appearance:auto
+ }
+}
+
+[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus {
+ border-color:transparent;
+ background-color:currentColor
+}
+
+[type='file'] {
+ background:unset;
+ border-color:inherit;
+ border-width:0;
+ border-radius:0;
+ padding:0;
+ font-size:unset;
+ line-height:inherit
+}
+
+[type='file']:focus {
+ outline:1px solid ButtonText;
+ outline:1px auto -webkit-focus-ring-color
+}
+
+*, ::before, ::after {
+ --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:rgb(59 130 246 / 0.5);
+ --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:
+}
+
+::backdrop {
+ --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:rgb(59 130 246 / 0.5);
+ --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:
+}
+
+.container {
+ width:100%
+}
+
+@media (min-width: 640px) {
+ .container {
+ max-width:640px
+ }
+}
+
+@media (min-width: 853px) {
+ .container {
+ max-width:853px
+ }
+}
+
+@media (min-width: 1024px) {
+ .container {
+ max-width:1024px
+ }
+}
+
+@media (min-width: 1280px) {
+ .container {
+ max-width:1280px
+ }
+}
+
+@media (min-width: 1536px) {
+ .container {
+ max-width:1536px
+ }
+}
+
+.prose {
+ color:var(--tw-prose-body);
+ max-width:65ch;
+}
+
+.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top:1.25em;
+ margin-bottom:1.25em
+}
+
+.prose :where([class~="lead"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:var(--tw-prose-lead);
+ font-size:1.25em;
+ line-height:1.6;
+ margin-top:1.2em;
+ margin-bottom:1.2em
+}
+
+.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:var(--tw-prose-links);
+ text-decoration:none;
+ font-weight:500;
+ text-decoration-color:rgba(var(--color-primary-300), 1);
+}
+
+.prose :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)):hover {
+ color:rgba(var(--color-primary-600), 1);
+ text-decoration:none;
+ border-radius:0.09rem
+}
+
+.prose :where(strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:var(--tw-prose-bold);
+ font-weight:600
+}
+
+.prose :where(a strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:inherit
+}
+
+.prose :where(blockquote strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:inherit
+}
+
+.prose :where(thead th strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:inherit
+}
+
+.prose :where(ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type:decimal;
+ margin-top:1.25em;
+ margin-bottom:1.25em;
+ padding-left:1.625em
+}
+
+.prose :where(ol[type="A"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type:upper-alpha
+}
+
+.prose :where(ol[type="a"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type:lower-alpha
+}
+
+.prose :where(ol[type="A" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type:upper-alpha
+}
+
+.prose :where(ol[type="a" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type:lower-alpha
+}
+
+.prose :where(ol[type="I"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type:upper-roman
+}
+
+.prose :where(ol[type="i"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type:lower-roman
+}
+
+.prose :where(ol[type="I" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type:upper-roman
+}
+
+.prose :where(ol[type="i" s]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type:lower-roman
+}
+
+.prose :where(ol[type="1"]):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type:decimal
+}
+
+.prose :where(ul):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ list-style-type:disc;
+ margin-top:1.25em;
+ margin-bottom:1.25em;
+ padding-left:1.625em
+}
+
+.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
+ font-weight:400;
+ color:var(--tw-prose-counters)
+}
+
+.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *))::marker {
+ color:var(--tw-prose-bullets)
+}
+
+.prose :where(dt):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:var(--tw-prose-headings);
+ font-weight:600;
+ margin-top:1.25em
+}
+
+.prose :where(hr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ border-color:var(--tw-prose-hr);
+ border-top-width:1px;
+ margin-top:3em;
+ margin-bottom:3em
+}
+
+.prose :where(blockquote):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ font-weight:500;
+ font-style:italic;
+ color:var(--tw-prose-quotes);
+ border-left-width:0.25rem;
+ border-left-color:var(--tw-prose-quote-borders);
+ quotes:"\201C""\201D""\2018""\2019";
+ margin-top:1.6em;
+ margin-bottom:1.6em;
+ padding-left:1em
+}
+
+.prose :where(blockquote p:first-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
+ content:open-quote
+}
+
+.prose :where(blockquote p:last-of-type):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
+ content:close-quote
+}
+
+.prose :where(h1):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:var(--tw-prose-headings);
+ font-weight:800;
+ font-size:2.25em;
+ margin-top:0;
+ margin-bottom:0.8888889em;
+ line-height:1.1111111
+}
+
+.prose :where(h1 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ font-weight:900;
+ color:inherit
+}
+
+.prose :where(h2):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:var(--tw-prose-headings);
+ font-weight:700;
+ font-size:1.5em;
+ margin-top:2em;
+ margin-bottom:1em;
+ line-height:1.3333333
+}
+
+.prose :where(h2 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ font-weight:800;
+ color:inherit
+}
+
+.prose :where(h3):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:var(--tw-prose-headings);
+ font-weight:600;
+ font-size:1.25em;
+ margin-top:1.6em;
+ margin-bottom:0.6em;
+ line-height:1.6
+}
+
+.prose :where(h3 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ font-weight:700;
+ color:inherit
+}
+
+.prose :where(h4):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:var(--tw-prose-headings);
+ font-weight:600;
+ margin-top:1.5em;
+ margin-bottom:0.5em;
+ line-height:1.5
+}
+
+.prose :where(h4 strong):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ font-weight:700;
+ color:inherit
+}
+
+.prose :where(img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top:2em;
+ margin-bottom:2em
+}
+
+.prose :where(picture):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ display:block;
+ margin-top:2em;
+ margin-bottom:2em
+}
+
+.prose :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ font-weight:600;
+ font-family:inherit;
+ color:var(--tw-prose-kbd);
+ box-shadow:0 0 0 1px rgb(var(--tw-prose-kbd-shadows) / 10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows) / 10%);
+ font-size:0.9rem;
+ border-radius:0.25rem;
+ padding-top:0.1875em;
+ padding-right:0.375em;
+ padding-bottom:0.1875em;
+ padding-left:0.375em;
+ background-color:rgba(var(--color-neutral-200), 1);
+ padding:0.1rem 0.4rem
+}
+
+.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:var(--tw-prose-code);
+ font-weight:600;
+ font-size:0.875em;
+ background-color:rgba(var(--color-neutral-50), 1);
+ padding-top:3px;
+ padding-bottom:3px;
+ padding-left:5px;
+ padding-right:5px;
+ border-radius:0.25rem
+}
+
+.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
+ content:"`";
+ display:none
+}
+
+.prose :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
+ content:"`";
+ display:none
+}
+
+.prose :where(a code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:var(--tw-prose-code)
+}
+
+.prose :where(h1 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:inherit
+}
+
+.prose :where(h2 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:inherit;
+ font-size:0.875em
+}
+
+.prose :where(h3 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:inherit;
+ font-size:0.9em
+}
+
+.prose :where(h4 code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:inherit
+}
+
+.prose :where(blockquote code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:inherit
+}
+
+.prose :where(thead th code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:inherit
+}
+
+.prose :where(pre):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:var(--tw-prose-pre-code);
+ background-color:var(--tw-prose-pre-bg);
+ overflow-x:auto;
+ font-weight:400;
+ font-size:0.875em;
+ line-height:1.7142857;
+ margin-top:1.7142857em;
+ margin-bottom:1.7142857em;
+ border-radius:0.375rem;
+ padding-top:0.8571429em;
+ padding-right:1.1428571em;
+ padding-bottom:0.8571429em;
+ padding-left:1.1428571em
+}
+
+.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ background-color:transparent;
+ border-width:0;
+ border-radius:0;
+ padding:0;
+ font-weight:inherit;
+ color:inherit;
+ font-size:inherit;
+ font-family:inherit;
+ line-height:inherit
+}
+
+.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
+ content:none
+}
+
+.prose :where(pre code):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
+ content:none
+}
+
+.prose :where(table):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ width:100%;
+ table-layout:auto;
+ text-align:left;
+ margin-top:2em;
+ margin-bottom:2em;
+ font-size:0.875em;
+ line-height:1.7142857
+}
+
+.prose :where(thead):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ border-bottom-width:1px;
+ border-bottom-color:var(--tw-prose-th-borders)
+}
+
+.prose :where(thead th):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:var(--tw-prose-headings);
+ font-weight:600;
+ vertical-align:bottom;
+ padding-right:0.5714286em;
+ padding-bottom:0.5714286em;
+ padding-left:0.5714286em
+}
+
+.prose :where(tbody tr):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ border-bottom-width:1px;
+ border-bottom-color:var(--tw-prose-td-borders)
+}
+
+.prose :where(tbody tr:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ border-bottom-width:0
+}
+
+.prose :where(tbody td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ vertical-align:baseline
+}
+
+.prose :where(tfoot):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ border-top-width:1px;
+ border-top-color:var(--tw-prose-th-borders)
+}
+
+.prose :where(tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ vertical-align:top
+}
+
+.prose :where(figure > *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top:0;
+ margin-bottom:0
+}
+
+.prose :where(figcaption):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:var(--tw-prose-captions);
+ font-size:0.875em;
+ line-height:1.4285714;
+ margin-top:0.8571429em
+}
+
+.prose {
+ --tw-prose-body:rgba(var(--color-neutral-700), 1);
+ --tw-prose-headings:rgba(var(--color-neutral-800), 1);
+ --tw-prose-lead:rgba(var(--color-neutral-500), 1);
+ --tw-prose-links:rgba(var(--color-primary-600), 1);
+ --tw-prose-bold:rgba(var(--color-neutral-900), 1);
+ --tw-prose-counters:rgba(var(--color-neutral-800), 1);
+ --tw-prose-bullets:rgba(var(--color-neutral-500), 1);
+ --tw-prose-hr:rgba(var(--color-neutral-200), 1);
+ --tw-prose-quotes:rgba(var(--color-neutral-700), 1);
+ --tw-prose-quote-borders:rgba(var(--color-primary-200), 1);
+ --tw-prose-captions:rgba(var(--color-neutral-500), 1);
+ --tw-prose-kbd:#111827;
+ --tw-prose-kbd-shadows:17 24 39;
+ --tw-prose-code:rgba(var(--color-secondary-700), 1);
+ --tw-prose-pre-code:rgba(var(--color-neutral-700), 1);
+ --tw-prose-pre-bg:rgba(var(--color-neutral-50), 1);
+ --tw-prose-th-borders:rgba(var(--color-neutral-500), 1);
+ --tw-prose-td-borders:rgba(var(--color-neutral-300), 1);
+ --tw-prose-invert-body:rgba(var(--color-neutral-300), 1);
+ --tw-prose-invert-headings:rgba(var(--color-neutral-50), 1);
+ --tw-prose-invert-lead:rgba(var(--color-neutral-500), 1);
+ --tw-prose-invert-links:rgba(var(--color-primary-400), 1);
+ --tw-prose-invert-bold:rgba(var(--color-neutral), 1);
+ --tw-prose-invert-counters:rgba(var(--color-neutral-400), 1);
+ --tw-prose-invert-bullets:rgba(var(--color-neutral-600), 1);
+ --tw-prose-invert-hr:rgba(var(--color-neutral-500), 1);
+ --tw-prose-invert-quotes:rgba(var(--color-neutral-200), 1);
+ --tw-prose-invert-quote-borders:rgba(var(--color-primary-900), 1);
+ --tw-prose-invert-captions:rgba(var(--color-neutral-400), 1);
+ --tw-prose-invert-kbd:#fff;
+ --tw-prose-invert-kbd-shadows:255 255 255;
+ --tw-prose-invert-code:rgba(var(--color-secondary-400), 1);
+ --tw-prose-invert-pre-code:rgba(var(--color-neutral-200), 1);
+ --tw-prose-invert-pre-bg:rgba(var(--color-neutral-700), 1);
+ --tw-prose-invert-th-borders:rgba(var(--color-neutral-500), 1);
+ --tw-prose-invert-td-borders:rgba(var(--color-neutral-700), 1);
+ font-size:1rem;
+ line-height:1.75
+}
+
+.prose :where(picture > img):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top:0;
+ margin-bottom:0
+}
+
+.prose :where(video):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top:2em;
+ margin-bottom:2em
+}
+
+.prose :where(li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top:0.5em;
+ margin-bottom:0.5em
+}
+
+.prose :where(ol > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ padding-left:0.375em
+}
+
+.prose :where(ul > li):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ padding-left:0.375em
+}
+
+.prose :where(.prose > ul > li p):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top:0.75em;
+ margin-bottom:0.75em
+}
+
+.prose :where(.prose > ul > li > *:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top:1.25em
+}
+
+.prose :where(.prose > ul > li > *:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-bottom:1.25em
+}
+
+.prose :where(.prose > ol > li > *:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top:1.25em
+}
+
+.prose :where(.prose > ol > li > *:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-bottom:1.25em
+}
+
+.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top:0.75em;
+ margin-bottom:0.75em
+}
+
+.prose :where(dl):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top:1.25em;
+ margin-bottom:1.25em
+}
+
+.prose :where(dd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top:0.5em;
+ padding-left:1.625em
+}
+
+.prose :where(hr + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top:0
+}
+
+.prose :where(h2 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top:0
+}
+
+.prose :where(h3 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top:0
+}
+
+.prose :where(h4 + *):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top:0
+}
+
+.prose :where(thead th:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ padding-left:0
+}
+
+.prose :where(thead th:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ padding-right:0
+}
+
+.prose :where(tbody td, tfoot td):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ padding-top:0.5714286em;
+ padding-right:0.5714286em;
+ padding-bottom:0.5714286em;
+ padding-left:0.5714286em
+}
+
+.prose :where(tbody td:first-child, tfoot td:first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ padding-left:0
+}
+
+.prose :where(tbody td:last-child, tfoot td:last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ padding-right:0
+}
+
+.prose :where(figure):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top:2em;
+ margin-bottom:2em
+}
+
+.prose :where(.prose > :first-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-top:0
+}
+
+.prose :where(.prose > :last-child):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ margin-bottom:0
+}
+
+.prose :where(mark):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:rgba(var(--color-neutral-800), 1);
+ background-color:rgba(var(--color-primary-600), 1);
+ padding:0.1rem 0.2rem;
+ border-radius:0.25rem
+}
+
+.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))::before {
+ display:none
+}
+
+.prose :where(p):not(:where([class~="not-prose"],[class~="not-prose"] *))::after {
+ display:none
+}
+
+.prose :where(a.active):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ text-decoration-color:rgba(var(--color-primary-600), 1)
+}
+
+.prose :where(p.active):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ text-decoration-color:rgba(var(--color-primary-600), 1)
+}
+
+.prose-invert :where(a.active):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ text-decoration-color:rgba(var(--color-primary-400), 1)
+}
+
+.prose-invert :where(p.active):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ text-decoration-color:rgba(var(--color-primary-400), 1)
+}
+
+.sr-only {
+ position:absolute;
+ width:1px;
+ height:1px;
+ padding:0;
+ margin:-1px;
+ overflow:hidden;
+ clip:rect(0, 0, 0, 0);
+ white-space:nowrap;
+ border-width:0
+}
+
+.pointer-events-none {
+ pointer-events:none
+}
+
+.pointer-events-auto {
+ pointer-events:auto
+}
+
+.invisible {
+ visibility:hidden
+}
+
+.fixed {
+ position:fixed
+}
+
+.\!absolute {
+ position:absolute !important
+}
+
+.absolute {
+ position:absolute
+}
+
+.relative {
+ position:relative
+}
+
+.sticky {
+ position:sticky
+}
+
+.inset-0 {
+ inset:0px
+}
+
+.inset-x-0 {
+ left:0px;
+ right:0px
+}
+
+.bottom-0 {
+ bottom:0px
+}
+
+.left-0 {
+ left:0px
+}
+
+.right-0 {
+ right:0px
+}
+
+.top-0 {
+ top:0px
+}
+
+.top-20 {
+ top:5rem
+}
+
+.top-\[110vh\] {
+ top:110vh
+}
+
+.top-\[calc\(100vh-5\.5rem\)\] {
+ top:calc(100vh - 5.5rem)
+}
+
+.z-10 {
+ z-index:10
+}
+
+.z-30 {
+ z-index:30
+}
+
+.z-\[1\] {
+ z-index:1
+}
+
+.z-\[2\] {
+ z-index:2
+}
+
+.order-first {
+ order:-9999
+}
+
+.float-left {
+ float:left
+}
+
+.\!-m-px {
+ margin:-1px !important
+}
+
+.m-0 {
+ margin:0px
+}
+
+.m-1 {
+ margin:0.25rem
+}
+
+.m-2 {
+ margin:0.5rem
+}
+
+.m-auto {
+ margin:auto
+}
+
+.-mx-2 {
+ margin-left:-0.5rem;
+ margin-right:-0.5rem
+}
+
+.-my-2 {
+ margin-top:-0.5rem;
+ margin-bottom:-0.5rem
+}
+
+.mx-1 {
+ margin-left:0.25rem;
+ margin-right:0.25rem
+}
+
+.mx-6 {
+ margin-left:1.5rem;
+ margin-right:1.5rem
+}
+
+.mx-\[15\%\] {
+ margin-left:15%;
+ margin-right:15%
+}
+
+.mx-\[3px\] {
+ margin-left:3px;
+ margin-right:3px
+}
+
+.mx-auto {
+ margin-left:auto;
+ margin-right:auto
+}
+
+.my-0 {
+ margin-top:0px;
+ margin-bottom:0px
+}
+
+.my-3 {
+ margin-top:0.75rem;
+ margin-bottom:0.75rem
+}
+
+.\!mb-0 {
+ margin-bottom:0px !important
+}
+
+.\!mb-9 {
+ margin-bottom:2.25rem !important
+}
+
+.\!mt-0 {
+ margin-top:0px !important
+}
+
+.-mb-1 {
+ margin-bottom:-0.25rem
+}
+
+.-ml-12 {
+ margin-left:-3rem
+}
+
+.-mr-2 {
+ margin-right:-0.5rem
+}
+
+.-mr-48 {
+ margin-right:-12rem
+}
+
+.-mr-\[100\%\] {
+ margin-right:-100%
+}
+
+.mb-0 {
+ margin-bottom:0px
+}
+
+.mb-1 {
+ margin-bottom:0.25rem
+}
+
+.mb-10 {
+ margin-bottom:2.5rem
+}
+
+.mb-12 {
+ margin-bottom:3rem
+}
+
+.mb-16 {
+ margin-bottom:4rem
+}
+
+.mb-2 {
+ margin-bottom:0.5rem
+}
+
+.mb-20 {
+ margin-bottom:5rem
+}
+
+.mb-3 {
+ margin-bottom:0.75rem
+}
+
+.mb-4 {
+ margin-bottom:1rem
+}
+
+.mb-5 {
+ margin-bottom:1.25rem
+}
+
+.mb-6 {
+ margin-bottom:1.5rem
+}
+
+.mb-8 {
+ margin-bottom:2rem
+}
+
+.mb-\[2px\] {
+ margin-bottom:2px
+}
+
+.ml-2 {
+ margin-left:0.5rem
+}
+
+.ml-3 {
+ margin-left:0.75rem
+}
+
+.ml-4 {
+ margin-left:1rem
+}
+
+.ml-6 {
+ margin-left:1.5rem
+}
+
+.ml-auto {
+ margin-left:auto
+}
+
+.mr-1 {
+ margin-right:0.25rem
+}
+
+.mr-2 {
+ margin-right:0.5rem
+}
+
+.mr-3 {
+ margin-right:0.75rem
+}
+
+.mr-4 {
+ margin-right:1rem
+}
+
+.mr-5 {
+ margin-right:1.25rem
+}
+
+.mr-auto {
+ margin-right:auto
+}
+
+.ms-2 {
+ margin-inline-start:0.5rem
+}
+
+.mt-0 {
+ margin-top:0px
+}
+
+.mt-1 {
+ margin-top:0.25rem
+}
+
+.mt-10 {
+ margin-top:2.5rem
+}
+
+.mt-12 {
+ margin-top:3rem
+}
+
+.mt-2 {
+ margin-top:0.5rem
+}
+
+.mt-20 {
+ margin-top:5rem
+}
+
+.mt-3 {
+ margin-top:0.75rem
+}
+
+.mt-4 {
+ margin-top:1rem
+}
+
+.mt-5 {
+ margin-top:1.25rem
+}
+
+.mt-6 {
+ margin-top:1.5rem
+}
+
+.mt-8 {
+ margin-top:2rem
+}
+
+.mt-\[-2px\] {
+ margin-top:-2px
+}
+
+.mt-\[0\.1rem\] {
+ margin-top:0.1rem
+}
+
+.box-content {
+ box-sizing:content-box
+}
+
+.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-px {
+ height:1px !important
+}
+
+.h-1\/2 {
+ height:50%
+}
+
+.h-10 {
+ height:2.5rem
+}
+
+.h-12 {
+ height:3rem
+}
+
+.h-24 {
+ height:6rem
+}
+
+.h-3 {
+ height:0.75rem
+}
+
+.h-3\.5 {
+ height:0.875rem
+}
+
+.h-36 {
+ height:9rem
+}
+
+.h-48 {
+ height:12rem
+}
+
+.h-6 {
+ height:1.5rem
+}
+
+.h-7 {
+ height:1.75rem
+}
+
+.h-8 {
+ height:2rem
+}
+
+.h-96 {
+ height:24rem
+}
+
+.h-\[1000px\] {
+ height:1000px
+}
+
+.h-\[150px\] {
+ height:150px
+}
+
+.h-\[3px\] {
+ height:3px
+}
+
+.h-\[800px\] {
+ height:800px
+}
+
+.h-full {
+ height:100%
+}
+
+.h-screen {
+ height:100vh
+}
+
+.max-h-3 {
+ max-height:0.75rem
+}
+
+.max-h-\[5rem\] {
+ max-height:5rem
+}
+
+.min-h-0 {
+ min-height:0px
+}
+
+.min-h-\[148px\] {
+ min-height:148px
+}
+
+.min-h-full {
+ min-height:100%
+}
+
+.\!w-px {
+ width:1px !important
+}
+
+.w-10 {
+ width:2.5rem
+}
+
+.w-12 {
+ width:3rem
+}
+
+.w-24 {
+ width:6rem
+}
+
+.w-3 {
+ width:0.75rem
+}
+
+.w-3\.5 {
+ width:0.875rem
+}
+
+.w-36 {
+ width:9rem
+}
+
+.w-4 {
+ width:1rem
+}
+
+.w-6 {
+ width:1.5rem
+}
+
+.w-7 {
+ width:1.75rem
+}
+
+.w-8 {
+ width:2rem
+}
+
+.w-\[15\%\] {
+ width:15%
+}
+
+.w-\[30px\] {
+ width:30px
+}
+
+.w-auto {
+ width:auto
+}
+
+.w-full {
+ width:100%
+}
+
+.w-px {
+ width:1px
+}
+
+.w-screen {
+ width:100vw
+}
+
+.min-w-0 {
+ min-width:0px
+}
+
+.min-w-\[1\.8rem\] {
+ min-width:1.8rem
+}
+
+.min-w-\[220px\] {
+ min-width:220px
+}
+
+.min-w-\[30px\] {
+ min-width:30px
+}
+
+.min-w-full {
+ min-width:100%
+}
+
+.max-w-2xl {
+ max-width:42rem
+}
+
+.max-w-3xl {
+ max-width:48rem
+}
+
+.max-w-5xl {
+ max-width:64rem
+}
+
+.max-w-6xl {
+ max-width:72rem
+}
+
+.max-w-7xl {
+ max-width:80rem
+}
+
+.max-w-\[1600px\] {
+ max-width:1600px
+}
+
+.max-w-\[5rem\] {
+ max-width:5rem
+}
+
+.max-w-\[64rem\] {
+ max-width:64rem
+}
+
+.max-w-\[85rem\] {
+ max-width:85rem
+}
+
+.max-w-fit {
+ max-width:-moz-fit-content;
+ max-width:fit-content
+}
+
+.max-w-full {
+ max-width:100%
+}
+
+.max-w-prose {
+ max-width:65ch
+}
+
+.max-w-xl {
+ max-width:36rem
+}
+
+.flex-1 {
+ flex:1 1 0%
+}
+
+.flex-auto {
+ flex:1 1 auto
+}
+
+.flex-initial {
+ flex:0 1 auto
+}
+
+.flex-none {
+ flex:none
+}
+
+.flex-shrink-0 {
+ flex-shrink:0
+}
+
+.grow {
+ flex-grow:1
+}
+
+.-translate-y-8 {
+ --tw-translate-y:-2rem;
+ 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))
+}
+
+@keyframes pulse {
+ 50% {
+ opacity:.5
+ }
+}
+
+.animate-pulse {
+ animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite
+}
+
+.cursor-default {
+ cursor:default
+}
+
+.cursor-pointer {
+ cursor:pointer
+}
+
+.list-none {
+ list-style-type:none
+}
+
+.appearance-none {
+ -webkit-appearance:none;
+ -moz-appearance:none;
+ appearance:none
+}
+
+.flex-row {
+ flex-direction:row
+}
+
+.flex-col {
+ flex-direction:column
+}
+
+.flex-wrap {
+ flex-wrap:wrap
+}
+
+.items-end {
+ align-items:flex-end
+}
+
+.items-center {
+ align-items:center
+}
+
+.justify-center {
+ justify-content:center
+}
+
+.justify-between {
+ justify-content:space-between
+}
+
+.gap-4 {
+ gap:1rem
+}
+
+.gap-6 {
+ gap:1.5rem
+}
+
+.gap-8 {
+ gap:2rem
+}
+
+.space-x-2 > :not([hidden]) ~ :not([hidden]) {
+ --tw-space-x-reverse:0;
+ margin-right:calc(0.5rem * var(--tw-space-x-reverse));
+ margin-left:calc(0.5rem * calc(1 - var(--tw-space-x-reverse)))
+}
+
+.space-x-3 > :not([hidden]) ~ :not([hidden]) {
+ --tw-space-x-reverse:0;
+ margin-right:calc(0.75rem * var(--tw-space-x-reverse));
+ margin-left:calc(0.75rem * calc(1 - var(--tw-space-x-reverse)))
+}
+
+.space-x-5 > :not([hidden]) ~ :not([hidden]) {
+ --tw-space-x-reverse:0;
+ margin-right:calc(1.25rem * var(--tw-space-x-reverse));
+ margin-left:calc(1.25rem * calc(1 - var(--tw-space-x-reverse)))
+}
+
+.space-y-10 > :not([hidden]) ~ :not([hidden]) {
+ --tw-space-y-reverse:0;
+ margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
+ margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))
+}
+
+.space-y-12 > :not([hidden]) ~ :not([hidden]) {
+ --tw-space-y-reverse:0;
+ margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));
+ margin-bottom:calc(3rem * var(--tw-space-y-reverse))
+}
+
+.space-y-2 > :not([hidden]) ~ :not([hidden]) {
+ --tw-space-y-reverse:0;
+ margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
+ margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))
+}
+
+.space-y-24 > :not([hidden]) ~ :not([hidden]) {
+ --tw-space-y-reverse:0;
+ margin-top:calc(6rem * calc(1 - var(--tw-space-y-reverse)));
+ margin-bottom:calc(6rem * var(--tw-space-y-reverse))
+}
+
+.space-y-3 > :not([hidden]) ~ :not([hidden]) {
+ --tw-space-y-reverse:0;
+ margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
+ margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))
+}
+
+.place-self-center {
+ place-self:center
+}
+
+.self-center {
+ align-self:center
+}
+
+.overflow-auto {
+ overflow:auto
+}
+
+.\!overflow-hidden {
+ overflow:hidden !important
+}
+
+.overflow-hidden {
+ overflow:hidden
+}
+
+.overflow-visible {
+ overflow:visible
+}
+
+.scroll-smooth {
+ scroll-behavior:smooth
+}
+
+.\!whitespace-nowrap {
+ white-space:nowrap !important
+}
+
+.break-words {
+ overflow-wrap:break-word
+}
+
+.\!rounded-md {
+ border-radius:0.375rem !important
+}
+
+.rounded {
+ border-radius:0.25rem
+}
+
+.rounded-2xl {
+ border-radius:1rem
+}
+
+.rounded-full {
+ border-radius:9999px
+}
+
+.rounded-lg {
+ border-radius:0.5rem
+}
+
+.rounded-md {
+ border-radius:0.375rem
+}
+
+.rounded-xl {
+ border-radius:0.75rem
+}
+
+.rounded-b-lg {
+ border-bottom-right-radius:0.5rem;
+ border-bottom-left-radius:0.5rem
+}
+
+.\!border-0 {
+ border-width:0px !important
+}
+
+.border {
+ border-width:1px
+}
+
+.border-0 {
+ border-width:0px
+}
+
+.border-2 {
+ border-width:2px
+}
+
+.border-y-\[10px\] {
+ border-top-width:10px;
+ border-bottom-width:10px
+}
+
+.border-l-2 {
+ border-left-width:2px
+}
+
+.border-t {
+ border-top-width:1px
+}
+
+.border-solid {
+ border-style:solid
+}
+
+.border-dotted {
+ border-style:dotted
+}
+
+.border-neutral-200 {
+ --tw-border-opacity:1;
+ border-color:rgba(var(--color-neutral-200), var(--tw-border-opacity))
+}
+
+.border-neutral-300 {
+ --tw-border-opacity:1;
+ border-color:rgba(var(--color-neutral-300), var(--tw-border-opacity))
+}
+
+.border-primary-400 {
+ --tw-border-opacity:1;
+ border-color:rgba(var(--color-primary-400), var(--tw-border-opacity))
+}
+
+.border-primary-500 {
+ --tw-border-opacity:1;
+ border-color:rgba(var(--color-primary-500), var(--tw-border-opacity))
+}
+
+.border-transparent {
+ border-color:transparent
+}
+
+.bg-neutral {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-neutral), var(--tw-bg-opacity))
+}
+
+.bg-neutral-100 {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-neutral-100), var(--tw-bg-opacity))
+}
+
+.bg-neutral-100\/50 {
+ background-color:rgba(var(--color-neutral-100), 0.5)
+}
+
+.bg-neutral-300 {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-neutral-300), var(--tw-bg-opacity))
+}
+
+.bg-neutral-500\/50 {
+ background-color:rgba(var(--color-neutral-500), 0.5)
+}
+
+.bg-neutral\/50 {
+ background-color:rgba(var(--color-neutral), 0.5)
+}
+
+.bg-primary-100 {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-100), var(--tw-bg-opacity))
+}
+
+.bg-primary-200 {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-200), var(--tw-bg-opacity))
+}
+
+.bg-primary-500 {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-500), var(--tw-bg-opacity))
+}
+
+.bg-primary-600 {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-600), var(--tw-bg-opacity))
+}
+
+.bg-transparent {
+ background-color:transparent
+}
+
+.bg-gradient-to-b {
+ background-image:linear-gradient(to bottom, var(--tw-gradient-stops))
+}
+
+.bg-gradient-to-br {
+ background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))
+}
+
+.bg-gradient-to-r {
+ background-image:linear-gradient(to right, var(--tw-gradient-stops))
+}
+
+.bg-gradient-to-t {
+ background-image:linear-gradient(to top, var(--tw-gradient-stops))
+}
+
+.bg-none {
+ background-image:none
+}
+
+.from-neutral {
+ --tw-gradient-from:rgba(var(--color-neutral), 1) var(--tw-gradient-from-position);
+ --tw-gradient-to:rgba(var(--color-neutral), 0) var(--tw-gradient-to-position);
+ --tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)
+}
+
+.from-primary-500 {
+ --tw-gradient-from:rgba(var(--color-primary-500), 1) var(--tw-gradient-from-position);
+ --tw-gradient-to:rgba(var(--color-primary-500), 0) var(--tw-gradient-to-position);
+ --tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)
+}
+
+.to-neutral {
+ --tw-gradient-to:rgba(var(--color-neutral), 1) var(--tw-gradient-to-position)
+}
+
+.to-neutral-100 {
+ --tw-gradient-to:rgba(var(--color-neutral-100), 1) var(--tw-gradient-to-position)
+}
+
+.to-secondary-700 {
+ --tw-gradient-to:rgba(var(--color-secondary-700), 1) var(--tw-gradient-to-position)
+}
+
+.to-transparent {
+ --tw-gradient-to:transparent var(--tw-gradient-to-position)
+}
+
+.bg-clip-padding {
+ background-clip:padding-box
+}
+
+.object-cover {
+ -o-object-fit:cover;
+ object-fit:cover
+}
+
+.object-scale-down {
+ -o-object-fit:scale-down;
+ object-fit:scale-down
+}
+
+.object-bottom {
+ -o-object-position:bottom;
+ object-position:bottom
+}
+
+.object-left {
+ -o-object-position:left;
+ object-position:left
+}
+
+.\!p-0 {
+ padding:0px !important
+}
+
+.p-0 {
+ padding:0px
+}
+
+.p-1 {
+ padding:0.25rem
+}
+
+.p-1\.5 {
+ padding:0.375rem
+}
+
+.p-4 {
+ padding:1rem
+}
+
+.p-5 {
+ padding:1.25rem
+}
+
+.p-6 {
+ padding:1.5rem
+}
+
+.px-0 {
+ padding-left:0px;
+ padding-right:0px
+}
+
+.px-1 {
+ padding-left:0.25rem;
+ padding-right:0.25rem
+}
+
+.px-1\.5 {
+ padding-left:0.375rem;
+ padding-right:0.375rem
+}
+
+.px-2 {
+ padding-left:0.5rem;
+ padding-right:0.5rem
+}
+
+.px-3 {
+ padding-left:0.75rem;
+ padding-right:0.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
+}
+
+.px-\[30px\] {
+ padding-left:30px;
+ padding-right:30px
+}
+
+.py-1 {
+ padding-top:0.25rem;
+ padding-bottom:0.25rem
+}
+
+.py-10 {
+ padding-top:2.5rem;
+ padding-bottom:2.5rem
+}
+
+.py-12 {
+ padding-top:3rem;
+ padding-bottom:3rem
+}
+
+.py-16 {
+ padding-top:4rem;
+ padding-bottom:4rem
+}
+
+.py-2 {
+ padding-top:0.5rem;
+ padding-bottom:0.5rem
+}
+
+.py-3 {
+ padding-top:0.75rem;
+ padding-bottom:0.75rem
+}
+
+.py-4 {
+ padding-top:1rem;
+ padding-bottom:1rem
+}
+
+.py-6 {
+ padding-top:1.5rem;
+ padding-bottom:1.5rem
+}
+
+.py-7 {
+ padding-top:1.75rem;
+ padding-bottom:1.75rem
+}
+
+.py-8 {
+ padding-top:2rem;
+ padding-bottom:2rem
+}
+
+.py-\[1px\] {
+ padding-top:1px;
+ padding-bottom:1px
+}
+
+.pb-2 {
+ padding-bottom:0.5rem
+}
+
+.pb-3 {
+ padding-bottom:0.75rem
+}
+
+.pb-32 {
+ padding-bottom:8rem
+}
+
+.pb-4 {
+ padding-bottom:1rem
+}
+
+.pb-8 {
+ padding-bottom:2rem
+}
+
+.pl-2 {
+ padding-left:0.5rem
+}
+
+.pl-\[24px\] {
+ padding-left:24px
+}
+
+.pr-\[24px\] {
+ padding-right:24px
+}
+
+.pt-1 {
+ padding-top:0.25rem
+}
+
+.pt-14 {
+ padding-top:3.5rem
+}
+
+.pt-16 {
+ padding-top:4rem
+}
+
+.pt-2 {
+ padding-top:0.5rem
+}
+
+.pt-3 {
+ padding-top:0.75rem
+}
+
+.pt-4 {
+ padding-top:1rem
+}
+
+.pt-8 {
+ padding-top:2rem
+}
+
+.text-left {
+ text-align:left
+}
+
+.text-center {
+ text-align:center
+}
+
+.text-right {
+ text-align:right
+}
+
+.-indent-\[999px\] {
+ text-indent:-999px
+}
+
+.align-top {
+ vertical-align:top
+}
+
+.align-middle {
+ vertical-align:middle
+}
+
+.align-text-bottom {
+ vertical-align:text-bottom
+}
+
+.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
+}
+
+.text-9xl {
+ font-size:8rem;
+ line-height:1
+}
+
+.text-\[0\.6rem\] {
+ font-size:0.6rem
+}
+
+.text-base {
+ font-size:1rem;
+ line-height:1.5rem
+}
+
+.text-lg {
+ font-size:1.125rem;
+ line-height:1.75rem
+}
+
+.text-sm {
+ font-size:0.875rem;
+ line-height:1.25rem
+}
+
+.text-xl {
+ font-size:1.25rem;
+ line-height:1.75rem
+}
+
+.text-xs {
+ font-size:0.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
+}
+
+.italic {
+ font-style:italic
+}
+
+.leading-3 {
+ line-height:.75rem
+}
+
+.leading-6 {
+ line-height:1.5rem
+}
+
+.leading-7 {
+ line-height:1.75rem
+}
+
+.tracking-wide {
+ letter-spacing:0.025em
+}
+
+.\!text-neutral {
+ --tw-text-opacity:1 !important;
+ color:rgba(var(--color-neutral), var(--tw-text-opacity)) !important
+}
+
+.text-neutral-200 {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-200), var(--tw-text-opacity))
+}
+
+.text-neutral-300 {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-300), var(--tw-text-opacity))
+}
+
+.text-neutral-400 {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-400), var(--tw-text-opacity))
+}
+
+.text-neutral-50 {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-50), var(--tw-text-opacity))
+}
+
+.text-neutral-500 {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-500), var(--tw-text-opacity))
+}
+
+.text-neutral-700 {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-700), var(--tw-text-opacity))
+}
+
+.text-neutral-800 {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-800), var(--tw-text-opacity))
+}
+
+.text-neutral-900 {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-900), var(--tw-text-opacity))
+}
+
+.text-primary-300 {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-300), var(--tw-text-opacity))
+}
+
+.text-primary-400 {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-400), var(--tw-text-opacity))
+}
+
+.text-primary-500 {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-500), var(--tw-text-opacity))
+}
+
+.text-primary-600 {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-600), var(--tw-text-opacity))
+}
+
+.text-primary-700 {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-700), var(--tw-text-opacity))
+}
+
+.text-primary-800 {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-800), var(--tw-text-opacity))
+}
+
+.text-transparent {
+ color:transparent
+}
+
+.\!no-underline {
+ text-decoration-line:none !important
+}
+
+.decoration-neutral-300 {
+ text-decoration-color:rgba(var(--color-neutral-300), 1)
+}
+
+.decoration-primary-500 {
+ text-decoration-color:rgba(var(--color-primary-500), 1)
+}
+
+.opacity-0 {
+ opacity:0
+}
+
+.opacity-30 {
+ opacity:0.3
+}
+
+.opacity-50 {
+ opacity:0.5
+}
+
+.opacity-60 {
+ opacity:0.6
+}
+
+.mix-blend-normal {
+ mix-blend-mode:normal
+}
+
+.mix-blend-multiply {
+ mix-blend-mode:multiply
+}
+
+.shadow-2xl {
+ --tw-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25);
+ --tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);
+ 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 rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
+ --tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
+ box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
+}
+
+.shadow-xl {
+ --tw-shadow:0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
+ --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)
+}
+
+.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)
+}
+
+.backdrop-blur-2xl {
+ --tw-backdrop-blur:blur(40px);
+ -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)
+}
+
+.backdrop-blur-sm {
+ --tw-backdrop-blur:blur(4px);
+ -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)
+}
+
+.transition-opacity {
+ transition-property:opacity;
+ transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration:150ms
+}
+
+.transition-transform {
+ transition-property:transform;
+ transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration:150ms
+}
+
+.duration-150 {
+ transition-duration:150ms
+}
+
+.duration-\[600ms\] {
+ transition-duration:600ms
+}
+
+.ease-\[cubic-bezier\(0\.25\2c 0\.1\2c 0\.25\2c 1\.0\)\] {
+ transition-timing-function:cubic-bezier(0.25,0.1,0.25,1.0)
+}
+
+.ease-in-out {
+ transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1)
+}
+
+.\!\[clip\:rect\(0\2c 0\2c 0\2c 0\)\] {
+ clip:rect(0,0,0,0) !important
+}
+
+body a,
+body button {
+ transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;
+ transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
+ transition-duration:150ms
+}
+
+/* Scale SVG icons to text size */
+
+.icon svg {
+ height:1em;
+ width:1em
+}
+
+/* Search */
+
+#search-query::-webkit-search-cancel-button,
+#search-query::-webkit-search-decoration,
+#search-query::-webkit-search-results-button,
+#search-query::-webkit-search-results-decoration {
+ display:none
+}
+
+/* Hamburger menu */
+
+body:has(#menu-controller:checked) {
+ overflow-y:hidden
+}
+
+#menu-button:has(#menu-controller:checked) {
+ visibility:hidden
+}
+
+#menu-controller:checked~#menu-wrapper {
+ visibility:visible;
+ opacity:1
+}
+
+/* RTL support */
+
+:is(:where([dir="rtl"]) .prose blockquote) {
+ border-left-width:0px;
+ border-right-width:4px;
+ padding-right:1rem
+}
+
+:is(:where([dir="rtl"]) .prose ul>li),:is(:where([dir="rtl"])
+.prose ol>li) {
+ margin-right:1.75rem;
+ padding-left:0px;
+ padding-right:0.5rem
+}
+
+:is(:where([dir="rtl"]) .prose ol>li):before,:is(:where([dir="rtl"])
+.prose ul>li):before {
+ left:auto;
+ right:0.25rem
+}
+
+:is(:where([dir="rtl"]) .prose thead td:first-child),:is(:where([dir="rtl"])
+.prose thead th:first-child) {
+ padding-right:0px
+}
+
+:is(:where([dir="rtl"]) .prose thead td:last-child),:is(:where([dir="rtl"])
+.prose thead th:last-child) {
+ padding-left:0px
+}
+
+/* Adjust first child within prose */
+
+.prose div.min-w-0.max-w-prose>*:first-child {
+ margin-top:0.75rem
+}
+
+/* Table of Contents */
+
+.toc ul,
+.toc li {
+ list-style-type:none;
+ padding-left:0px;
+ padding-right:0px;
+ line-height:1.375
+}
+
+:is(:where([dir="ltr"]) .toc ul ul) {
+ padding-left:1rem
+}
+
+:is(:where([dir="rtl"]) .toc ul ul) {
+ padding-right:1rem
+}
+
+.toc a {
+ font-weight:400;
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-700), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .toc a) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-400), var(--tw-text-opacity))
+}
+
+:is(:where([dir="rtl"]) .toc ul>li) {
+ margin-right:0px
+}
+
+/* Code Copy */
+
+.highlight-wrapper {
+ display:block
+}
+
+.highlight {
+ position:relative;
+ z-index:0
+}
+
+.highlight:hover>.copy-button {
+ visibility:visible
+}
+
+.copy-button {
+ visibility:hidden;
+ position:absolute;
+ top:0px;
+ right:0px;
+ z-index:10;
+ width:5rem;
+ cursor:pointer;
+ white-space:nowrap;
+ border-bottom-left-radius:0.375rem;
+ border-top-right-radius:0.375rem;
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-neutral-200), var(--tw-bg-opacity));
+ padding-top:0.25rem;
+ padding-bottom:0.25rem;
+ font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+ font-size:0.875rem;
+ line-height:1.25rem;
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-700), var(--tw-text-opacity));
+ opacity:0.9
+}
+
+:is(:where(.dark) .copy-button) {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-neutral-600), var(--tw-bg-opacity));
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-200), var(--tw-text-opacity))
+}
+
+.copy-button:hover,
+.copy-button:focus,
+.copy-button:active,
+.copy-button:active:hover {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-100), var(--tw-bg-opacity))
+}
+
+:is(:where(.dark) .copy-button:hover),:is(:where(.dark)
+.copy-button:focus),:is(:where(.dark)
+.copy-button:active),:is(:where(.dark)
+.copy-button:active:hover) {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-600), var(--tw-bg-opacity))
+}
+
+.copy-textarea {
+ position:absolute;
+ z-index:-10;
+ opacity:0.05
+}
+
+/* Fix long KaTeX equations on mobile (see https://katex.org/docs/issues.html#css-customization) */
+
+.katex-display {
+ overflow: auto hidden
+}
+
+/* Fix long tables breaking out of article on mobile */
+
+table {
+ display: block;
+ overflow: auto;
+}
+
+/* Fix long inline code sections breaking out of article on mobile */
+
+code {
+ word-wrap: break-word;
+ /* All browsers since IE 5.5+ */
+ overflow-wrap: break-word;
+ /* Renamed property in CSS3 draft spec */
+}
+
+/* -- Chroma Highlight -- */
+
+/* Background */
+
+.prose .chroma {
+ position:static;
+ border-radius:0.375rem;
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-neutral-50), var(--tw-bg-opacity));
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-700), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .prose .chroma) {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-neutral-700), var(--tw-bg-opacity));
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-200), var(--tw-text-opacity))
+}
+
+/* LineTableTD */
+
+.chroma .lntd,
+.chroma .lntd pre {
+ margin:0px;
+ border-style:none;
+ padding:0px;
+ vertical-align:top
+}
+
+/* LineTable */
+
+.chroma .lntable {
+ display:block;
+ width:auto;
+ overflow:hidden;
+ padding-left:1rem;
+ padding-right:1rem;
+ padding-top:0.75rem;
+ padding-bottom:0.75rem;
+ font-size:1rem;
+ line-height:1.5rem;
+ border-spacing: 0
+}
+
+/* LineHighlight */
+
+.chroma .hl {
+ margin-left:-1rem;
+ margin-right:-1rem;
+ display:block;
+ width:auto;
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-100), var(--tw-bg-opacity));
+ padding-left:1rem;
+ padding-right:1rem
+}
+
+:is(:where(.dark) .chroma .hl) {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-900), var(--tw-bg-opacity))
+}
+
+.chroma .lntd .hl {
+ margin:0px;
+ padding:0px
+}
+
+/* LineNumbersTable */
+
+/* LineNumbers */
+
+.chroma .lnt,
+.chroma .ln {
+ margin-right:0.4em;
+ padding-left:0.4em;
+ padding-right:0.4em;
+ padding-top:0px;
+ padding-bottom:0px;
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-600), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .chroma .lnt),:is(:where(.dark)
+.chroma .ln) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-300), var(--tw-text-opacity))
+}
+
+/* Keyword */
+
+/* KeywordDeclaration */
+
+/* KeywordNamespace */
+
+/* KeywordPseudo */
+
+/* KeywordReserved */
+
+/* NameClass */
+
+/* NameFunctionMagic */
+
+/* NameNamespace */
+
+/* NameVariableClass */
+
+/* Operator */
+
+.chroma .k,
+.chroma .kd,
+.chroma .kn,
+.chroma .kp,
+.chroma .kr,
+.chroma .nc,
+.chroma .fm,
+.chroma .nn,
+.chroma .vc,
+.chroma .o {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-600), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .chroma .k),:is(:where(.dark)
+.chroma .kd),:is(:where(.dark)
+.chroma .kn),:is(:where(.dark)
+.chroma .kp),:is(:where(.dark)
+.chroma .kr),:is(:where(.dark)
+.chroma .nc),:is(:where(.dark)
+.chroma .fm),:is(:where(.dark)
+.chroma .nn),:is(:where(.dark)
+.chroma .vc),:is(:where(.dark)
+.chroma .o) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-300), var(--tw-text-opacity))
+}
+
+/* KeywordConstant */
+
+.chroma .kc {
+ font-weight:600;
+ --tw-text-opacity:1;
+ color:rgba(var(--color-secondary-400), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .chroma .kc) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-secondary-500), var(--tw-text-opacity))
+}
+
+/* KeywordType */
+
+/* NameVariable */
+
+/* NameVariableInstance */
+
+/* NameVariableMagic */
+
+/* LiteralNumber */
+
+/* LiteralNumberBin */
+
+/* LiteralNumberFloat */
+
+/* LiteralNumberHex */
+
+/* LiteralNumberInteger */
+
+/* LiteralNumberIntegerLong */
+
+/* LiteralNumberOct */
+
+.chroma .kt,
+.chroma .nv,
+.chroma .vi,
+.chroma .vm,
+.chroma .m,
+.chroma .mb,
+.chroma .mf,
+.chroma .mh,
+.chroma .mi,
+.chroma .il,
+.chroma .mo {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-secondary-400), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .chroma .kt),:is(:where(.dark)
+.chroma .nv),:is(:where(.dark)
+.chroma .vi),:is(:where(.dark)
+.chroma .vm),:is(:where(.dark)
+.chroma .m),:is(:where(.dark)
+.chroma .mb),:is(:where(.dark)
+.chroma .mf),:is(:where(.dark)
+.chroma .mh),:is(:where(.dark)
+.chroma .mi),:is(:where(.dark)
+.chroma .il),:is(:where(.dark)
+.chroma .mo) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-secondary-600), var(--tw-text-opacity))
+}
+
+/* Name */
+
+/* NameDecorator */
+
+/* NameEntity */
+
+/* NameLabel */
+
+.chroma .n,
+.chroma .nd,
+.chroma .ni,
+.chroma .nl {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-secondary-900), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .chroma .n),:is(:where(.dark)
+.chroma .nd),:is(:where(.dark)
+.chroma .ni),:is(:where(.dark)
+.chroma .nl) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-secondary-200), var(--tw-text-opacity))
+}
+
+/* NameAttribute */
+
+/* NameBuiltin */
+
+/* NameBuiltinPseudo */
+
+/* NameOther */
+
+/* NameProperty */
+
+/* NameTag */
+
+.chroma .na,
+.chroma .nb,
+.chroma .bp,
+.chroma .nx,
+.chroma .py,
+.chroma .nt {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-secondary-800), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .chroma .na),:is(:where(.dark)
+.chroma .nb),:is(:where(.dark)
+.chroma .bp),:is(:where(.dark)
+.chroma .nx),:is(:where(.dark)
+.chroma .py),:is(:where(.dark)
+.chroma .nt) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-secondary-300), var(--tw-text-opacity))
+}
+
+/* NameConstant */
+
+/* NameException */
+
+/* NameVariableGlobal */
+
+.chroma .no,
+.chroma .ne,
+.chroma .vg {
+ font-weight:600;
+ --tw-text-opacity:1;
+ color:rgba(var(--color-secondary-400), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .chroma .no),:is(:where(.dark)
+.chroma .ne),:is(:where(.dark)
+.chroma .vg) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-secondary-500), var(--tw-text-opacity))
+}
+
+/* NameFunction */
+
+.chroma .nf {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-secondary-600), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .chroma .nf) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-secondary-500), var(--tw-text-opacity))
+}
+
+/* Literal */
+
+/* LiteralDate */
+
+/* LiteralString */
+
+/* LiteralStringAffix */
+
+/* LiteralStringBacktick */
+
+/* LiteralStringChar */
+
+/* LiteralStringDelimiter */
+
+/* LiteralStringDoc */
+
+/* LiteralStringDouble */
+
+/* LiteralStringHeredoc */
+
+/* LiteralStringInterpol */
+
+/* LiteralStringOther */
+
+/* LiteralStringSingle */
+
+/* GenericInserted */
+
+/* GenericOutput */
+
+/* GenericPrompt */
+
+.chroma .l,
+.chroma .ld,
+.chroma .s,
+.chroma .sa,
+.chroma .sb,
+.chroma .sc,
+.chroma .dl,
+.chroma .sd,
+.chroma .s2,
+.chroma .sh,
+.chroma .si,
+.chroma .sx,
+.chroma .s1,
+.chroma .gi,
+.chroma .go,
+.chroma .gp {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-800), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .chroma .l),:is(:where(.dark)
+.chroma .ld),:is(:where(.dark)
+.chroma .s),:is(:where(.dark)
+.chroma .sa),:is(:where(.dark)
+.chroma .sb),:is(:where(.dark)
+.chroma .sc),:is(:where(.dark)
+.chroma .dl),:is(:where(.dark)
+.chroma .sd),:is(:where(.dark)
+.chroma .s2),:is(:where(.dark)
+.chroma .sh),:is(:where(.dark)
+.chroma .si),:is(:where(.dark)
+.chroma .sx),:is(:where(.dark)
+.chroma .s1),:is(:where(.dark)
+.chroma .gi),:is(:where(.dark)
+.chroma .go),:is(:where(.dark)
+.chroma .gp) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-400), var(--tw-text-opacity))
+}
+
+/* LiteralStringEscape */
+
+.chroma .se {
+ font-weight:600;
+ --tw-text-opacity:1;
+ color:rgba(var(--color-secondary-400), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .chroma .se) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-secondary-500), var(--tw-text-opacity))
+}
+
+/* LiteralStringRegex */
+
+/* LiteralStringSymbol */
+
+.chroma .sr,
+.chroma .ss {
+ font-weight:600;
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-800), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .chroma .sr),:is(:where(.dark)
+.chroma .ss) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-400), var(--tw-text-opacity))
+}
+
+/* OperatorWord */
+
+.chroma .ow {
+ font-weight:600;
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-400), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .chroma .ow) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-600), var(--tw-text-opacity))
+}
+
+/* Comment */
+
+/* CommentMultiline */
+
+/* CommentSingle */
+
+/* CommentSpecial */
+
+/* CommentPreproc */
+
+/* CommentPreprocFile */
+
+.chroma .c,
+.chroma .cm,
+.chroma .c1,
+.chroma .cs,
+.chroma .cp,
+.chroma .cpf {
+ font-style:italic;
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-500), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .chroma .c),:is(:where(.dark)
+.chroma .cm),:is(:where(.dark)
+.chroma .c1),:is(:where(.dark)
+.chroma .cs),:is(:where(.dark)
+.chroma .cp),:is(:where(.dark)
+.chroma .cpf) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-400), var(--tw-text-opacity))
+}
+
+/* CommentHashbang */
+
+.chroma .ch {
+ font-weight:600;
+ font-style:italic;
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-500), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .chroma .ch) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-400), var(--tw-text-opacity))
+}
+
+/* GenericEmph */
+
+.chroma .ge {
+ font-style:italic
+}
+
+/* GenericHeading */
+
+.chroma .gh {
+ font-weight:600;
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-500), var(--tw-text-opacity))
+}
+
+/* GenericStrong */
+
+.chroma .gs {
+ font-weight:600
+}
+
+/* GenericSubheading */
+
+/* GenericTraceback */
+
+.chroma .gu,
+.chroma .gt {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-500), var(--tw-text-opacity))
+}
+
+/* GenericUnderline */
+
+.chroma .gl {
+ text-decoration-line:underline
+}
+
+/* Custom */
+
+pre {
+ text-align: left;
+}
+
+.thumbnail {
+ min-width: 300px;
+ height: 180px;
+ background-repeat:no-repeat;
+ background-size:cover;
+ background-position:center;
+}
+
+.thumbnail_card {
+ height: 200px;
+ background-repeat:no-repeat;
+ background-size:cover;
+ background-position:center;
+}
+
+.thumbnail_card_related {
+ height: 150px;
+ background-repeat:no-repeat;
+ background-size:cover;
+ background-position:center;
+}
+
+.thumbnail_card_term {
+ height: 150px;
+ background-repeat:no-repeat;
+ background-size:cover;
+ background-position:center;
+}
+
+.single_hero_basic {
+ background-repeat:no-repeat;
+ background-size:cover;
+ background-position:center;
+}
+
+.single_hero_round {
+ max-height: 50vh;
+ -o-object-fit: cover;
+ object-fit: cover;
+}
+
+.single_hero_background {
+ background-repeat:no-repeat;
+ background-size:cover;
+ background-position:center;
+ width: calc(100% + 40px);
+ z-index: -10;
+ margin-left: -20px;
+}
+
+.hero_gradient {
+ width: 100%;
+ height: 100%;
+}
+
+.thumbnailshadow {
+ box-shadow: 5px 5px 20px 1px rgba(0, 0, 0, 0.3);
+}
+
+.anchor {
+ display: block;
+ position: relative;
+ top: -150px;
+ height: 0px;
+ visibility: hidden;
+}
+
+@media (min-width: 640px) {
+ .thumbnail {
+ min-width: 100%;
+ height: 180px;
+ }
+
+ .article {
+ flex-wrap: wrap;
+ }
+}
+
+@media (min-width: 853px) {
+ .thumbnail {
+ min-width: 300px;
+ min-height: 180px;
+ height: auto;
+ }
+
+ .article {
+ flex-wrap: nowrap;
+ }
+}
+
+.medium-zoom-image--opened {
+ z-index: 100;
+}
+
+.nested-menu:hover + .menuhide {
+ visibility: visible;
+ opacity: 1;
+ transition: visibility 0.3s, opacity 0.3s ease-in-out ;
+}
+
+.menuhide:hover {
+ visibility: visible;
+ opacity: 1;
+ transition: visibility 0.3s, opacity 0.3s ease-in-out ;
+}
+
+.menuhide {
+ visibility: hidden;
+ opacity: 0;
+ transition: visibility 0.3s, opacity 0.3s ease-in-out ;
+ z-index: 1000;
+}
+
+.active {
+ text-decoration-line: underline;
+ text-decoration-thickness: 3px;
+ text-underline-offset: 4px;
+}
+
+/* Gallery Specific Styles */
+
+.grid-w10 {
+ width: calc(10% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w15 {
+ width: calc(15% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w20 {
+ width: calc(20% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w25 {
+ width: calc(25% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w30 {
+ width: calc(30% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w33 {
+ width: calc(33% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w35 {
+ width: calc(35% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w40 {
+ width: calc(40% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w45 {
+ width: calc(45% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w50 {
+ width: calc(50% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w55 {
+ width: calc(55% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w60 {
+ width: calc(60% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w65 {
+ width: calc(65% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w66 {
+ width: calc(66% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w70 {
+ width: calc(70% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w75 {
+ width: calc(75% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w80 {
+ width: calc(80% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w85 {
+ width: calc(85% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w90 {
+ width: calc(90% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w95 {
+ width: calc(95% - 5px);
+ margin: 0px !important;
+}
+
+.grid-w100 {
+ width: calc(100% - 5px);
+ margin: 0px !important;
+}
+
+@media (min-width: 640px) {
+ .sm\:grid-w10 {
+ width: calc(10% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w15 {
+ width: calc(15% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w20 {
+ width: calc(20% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w25 {
+ width: calc(25% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w30 {
+ width: calc(30% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w33 {
+ width: calc(33% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w35 {
+ width: calc(35% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w40 {
+ width: calc(40% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w45 {
+ width: calc(45% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w50 {
+ width: calc(50% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w55 {
+ width: calc(55% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w60 {
+ width: calc(60% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w65 {
+ width: calc(65% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w66 {
+ width: calc(66% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w70 {
+ width: calc(70% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w75 {
+ width: calc(75% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w80 {
+ width: calc(80% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w85 {
+ width: calc(85% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w90 {
+ width: calc(90% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w95 {
+ width: calc(95% - 5px);
+ margin: 0px !important;
+ }
+
+ .sm\:grid-w100 {
+ width: calc(100% - 5px);
+ margin: 0px !important;
+ }
+}
+
+@media (min-width: 853px) {
+ .md\:grid-w10 {
+ width: calc(10% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w15 {
+ width: calc(15% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w20 {
+ width: calc(20% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w25 {
+ width: calc(25% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w30 {
+ width: calc(30% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w33 {
+ width: calc(33% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w35 {
+ width: calc(35% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w40 {
+ width: calc(40% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w45 {
+ width: calc(45% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w50 {
+ width: calc(50% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w55 {
+ width: calc(55% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w60 {
+ width: calc(60% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w65 {
+ width: calc(65% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w66 {
+ width: calc(66% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w70 {
+ width: calc(70% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w75 {
+ width: calc(75% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w80 {
+ width: calc(80% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w85 {
+ width: calc(85% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w90 {
+ width: calc(90% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w95 {
+ width: calc(95% - 5px);
+ margin: 0px !important;
+ }
+
+ .md\:grid-w100 {
+ width: calc(100% - 5px);
+ margin: 0px !important;
+ }
+}
+
+@media (min-width: 1024px) {
+ .lg\:grid-w10 {
+ width: calc(10% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w15 {
+ width: calc(15% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w20 {
+ width: calc(20% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w25 {
+ width: calc(25% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w30 {
+ width: calc(30% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w33 {
+ width: calc(33% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w35 {
+ width: calc(35% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w40 {
+ width: calc(40% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w45 {
+ width: calc(45% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w50 {
+ width: calc(50% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w55 {
+ width: calc(55% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w60 {
+ width: calc(60% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w65 {
+ width: calc(65% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w66 {
+ width: calc(66% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w70 {
+ width: calc(70% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w75 {
+ width: calc(75% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w80 {
+ width: calc(80% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w85 {
+ width: calc(85% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w90 {
+ width: calc(90% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w95 {
+ width: calc(95% - 5px);
+ margin: 0px !important;
+ }
+
+ .lg\:grid-w100 {
+ width: calc(100% - 5px);
+ margin: 0px !important;
+ }
+}
+
+@media (min-width: 1280px) {
+ .xl\:grid-w10 {
+ width: calc(10% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w15 {
+ width: calc(15% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w20 {
+ width: calc(20% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w25 {
+ width: calc(25% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w30 {
+ width: calc(30% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w33 {
+ width: calc(33% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w35 {
+ width: calc(35% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w40 {
+ width: calc(40% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w45 {
+ width: calc(45% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w50 {
+ width: calc(50% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w55 {
+ width: calc(55% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w60 {
+ width: calc(60% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w65 {
+ width: calc(65% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w66 {
+ width: calc(66% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w70 {
+ width: calc(70% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w75 {
+ width: calc(75% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w80 {
+ width: calc(80% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w85 {
+ width: calc(85% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w90 {
+ width: calc(90% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w95 {
+ width: calc(95% - 5px);
+ margin: 0px !important;
+ }
+
+ .xl\:grid-w100 {
+ width: calc(100% - 5px);
+ margin: 0px !important;
+ }
+}
+
+@media (min-width: 1536px) {
+ .2xl\:grid-w10 {
+ width: calc(10% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w15 {
+ width: calc(15% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w20 {
+ width: calc(20% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w25 {
+ width: calc(25% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w30 {
+ width: calc(30% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w33 {
+ width: calc(33% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w35 {
+ width: calc(35% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w40 {
+ width: calc(40% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w45 {
+ width: calc(45% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w50 {
+ width: calc(50% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w55 {
+ width: calc(55% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w60 {
+ width: calc(60% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w65 {
+ width: calc(65% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w66 {
+ width: calc(66% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w70 {
+ width: calc(70% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w75 {
+ width: calc(75% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w80 {
+ width: calc(80% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w85 {
+ width: calc(85% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w90 {
+ width: calc(90% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w95 {
+ width: calc(95% - 5px);
+ margin: 0px !important;
+ }
+
+ .2xl\:grid-w100 {
+ width: calc(100% - 5px);
+ margin: 0px !important;
+ }
+}
+
+/* Carousel Specific Styles */
+
+.ratio-16-9 {
+ padding-top: 56.25%;
+}
+
+/* 16:9 Aspect Ratio */
+
+.ratio-21-9 {
+ padding-top: 42.85%;
+}
+
+/* 21:9 Aspect Ratio */
+
+.ratio-32-9 {
+ padding-top: 28.125%;
+}
+
+/* 32:9 Aspect Ratio */
+
+@media (min-width: 640px) {
+ .sm\:ratio-16-9 {
+ padding-top: 56.25%;
+ }
+
+ /* 16:9 Aspect Ratio */
+
+ .sm\:ratio-21-9 {
+ padding-top: 42.85%;
+ }
+
+ /* 21:9 Aspect Ratio */
+
+ .sm\:ratio-32-9 {
+ padding-top: 28.125%;
+ }
+
+ /* 32:9 Aspect Ratio */
+}
+
+@media (min-width: 853px) {
+ .md\:ratio-16-9 {
+ padding-top: 56.25%;
+ }
+
+ /* 16:9 Aspect Ratio */
+
+ .md\:ratio-21-9 {
+ padding-top: 42.85%;
+ }
+
+ /* 21:9 Aspect Ratio */
+
+ .md\:ratio-32-9 {
+ padding-top: 28.125%;
+ }
+
+ /* 32:9 Aspect Ratio */
+}
+
+@media (min-width: 1024px) {
+ .lg\:ratio-16-9 {
+ padding-top: 56.25%;
+ }
+
+ /* 16:9 Aspect Ratio */
+
+ .lg\:ratio-21-9 {
+ padding-top: 42.85%;
+ }
+
+ /* 21:9 Aspect Ratio */
+
+ .lg\:ratio-32-9 {
+ padding-top: 28.125%;
+ }
+
+ /* 32:9 Aspect Ratio */
+}
+
+@media (min-width: 1280px) {
+ .xl\:ratio-16-9 {
+ padding-top: 56.25%;
+ }
+
+ /* 16:9 Aspect Ratio */
+
+ .xl\:ratio-21-9 {
+ padding-top: 42.85%;
+ }
+
+ /* 21:9 Aspect Ratio */
+
+ .xl\:ratio-32-9 {
+ padding-top: 28.125%;
+ }
+
+ /* 32:9 Aspect Ratio */
+}
+
+@media (min-width: 1536px) {
+ .2xl\:ratio-16-9 {
+ padding-top: 56.25%;
+ }
+
+ /* 16:9 Aspect Ratio */
+
+ .2xl\:ratio-21-9 {
+ padding-top: 42.85%;
+ }
+
+ /* 21:9 Aspect Ratio */
+
+ .2xl\:ratio-32-9 {
+ padding-top: 28.125%;
+ }
+
+ /* 32:9 Aspect Ratio */
+}
+
+:is(:where(.dark) .dark\:prose-invert) {
+ --tw-prose-body:var(--tw-prose-invert-body);
+ --tw-prose-headings:var(--tw-prose-invert-headings);
+ --tw-prose-lead:var(--tw-prose-invert-lead);
+ --tw-prose-links:var(--tw-prose-invert-links);
+ --tw-prose-bold:var(--tw-prose-invert-bold);
+ --tw-prose-counters:var(--tw-prose-invert-counters);
+ --tw-prose-bullets:var(--tw-prose-invert-bullets);
+ --tw-prose-hr:var(--tw-prose-invert-hr);
+ --tw-prose-quotes:var(--tw-prose-invert-quotes);
+ --tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);
+ --tw-prose-captions:var(--tw-prose-invert-captions);
+ --tw-prose-kbd:var(--tw-prose-invert-kbd);
+ --tw-prose-kbd-shadows:var(--tw-prose-invert-kbd-shadows);
+ --tw-prose-code:var(--tw-prose-invert-code);
+ --tw-prose-pre-code:var(--tw-prose-invert-pre-code);
+ --tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);
+ --tw-prose-th-borders:var(--tw-prose-invert-th-borders);
+ --tw-prose-td-borders:var(--tw-prose-invert-td-borders);
+}
+
+:is(:where(.dark) .dark\:prose-invert) :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ text-decoration-color:rgba(var(--color-neutral-600), 1);
+}
+
+:is(:where(.dark) .dark\:prose-invert) :where(a):not(:where([class~="not-prose"],[class~="not-prose"] *)):hover {
+ color:rgba(var(--color-primary-400), 1)
+}
+
+:is(:where(.dark) .dark\:prose-invert) :where(kbd):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ color:rgba(var(--color-neutral-200), 1);
+ background-color:rgba(var(--color-neutral-700), 1)
+}
+
+:is(:where(.dark) .dark\:prose-invert) :where(mark):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ background-color:rgba(var(--color-primary-400), 1)
+}
+
+:is(:where(.dark) .dark\:prose-invert) :where(code):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ background-color:rgba(var(--color-neutral-700), 1)
+}
+
+:is(:where(.dark) .dark\:prose-invert) :where(a.active):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ text-decoration-color:rgba(var(--color-primary-400), 1)
+}
+
+:is(:where(.dark) .dark\:prose-invert) :where(p.active):not(:where([class~="not-prose"],[class~="not-prose"] *)) {
+ text-decoration-color:rgba(var(--color-primary-400), 1)
+}
+
+.after\:clear-both::after {
+ content:var(--tw-content);
+ clear:both
+}
+
+.after\:block::after {
+ content:var(--tw-content);
+ display:block
+}
+
+.after\:content-\[\'\'\]::after {
+ --tw-content:'';
+ content:var(--tw-content)
+}
+
+.first\:mt-8:first-child {
+ margin-top:2rem
+}
+
+.hover\:border-transparent:hover {
+ border-color:transparent
+}
+
+.hover\:\!bg-primary-500:hover {
+ --tw-bg-opacity:1 !important;
+ background-color:rgba(var(--color-primary-500), var(--tw-bg-opacity)) !important
+}
+
+.hover\:bg-primary-100:hover {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-100), var(--tw-bg-opacity))
+}
+
+.hover\:bg-primary-500:hover {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-500), var(--tw-bg-opacity))
+}
+
+.hover\:bg-primary-600:hover {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-600), var(--tw-bg-opacity))
+}
+
+.hover\:text-neutral:hover {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral), var(--tw-text-opacity))
+}
+
+.hover\:text-primary-400:hover {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-400), var(--tw-text-opacity))
+}
+
+.hover\:text-primary-500:hover {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-500), var(--tw-text-opacity))
+}
+
+.hover\:text-primary-600:hover {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-600), var(--tw-text-opacity))
+}
+
+.hover\:text-primary-700:hover {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-700), var(--tw-text-opacity))
+}
+
+.hover\:underline:hover {
+ text-decoration-line:underline
+}
+
+.hover\:no-underline:hover {
+ text-decoration-line:none
+}
+
+.hover\:decoration-primary-400:hover {
+ text-decoration-color:rgba(var(--color-primary-400), 1)
+}
+
+.hover\:decoration-2:hover {
+ text-decoration-thickness:2px
+}
+
+.hover\:underline-offset-2:hover {
+ text-underline-offset:2px
+}
+
+.hover\:opacity-90:hover {
+ opacity:0.9
+}
+
+.hover\:outline-none:hover {
+ outline:2px solid transparent;
+ outline-offset:2px
+}
+
+.focus\:translate-y-0:focus {
+ --tw-translate-y:0px;
+ 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))
+}
+
+.focus\:bg-primary-100:focus {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-100), var(--tw-bg-opacity))
+}
+
+.focus\:no-underline:focus {
+ text-decoration-line:none
+}
+
+.focus\:opacity-90:focus {
+ opacity:0.9
+}
+
+.focus\:outline-none:focus {
+ outline:2px solid transparent;
+ outline-offset:2px
+}
+
+.focus\:outline-dotted:focus {
+ outline-style:dotted
+}
+
+.focus\:outline-2:focus {
+ outline-width:2px
+}
+
+.focus\:outline-transparent:focus {
+ outline-color:transparent
+}
+
+.group:hover .group-hover\:text-primary-300 {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-300), var(--tw-text-opacity))
+}
+
+.group:hover .group-hover\:text-primary-600 {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-600), var(--tw-text-opacity))
+}
+
+.group:hover .group-hover\:underline {
+ text-decoration-line:underline
+}
+
+.group:hover .group-hover\:decoration-primary-500 {
+ text-decoration-color:rgba(var(--color-primary-500), 1)
+}
+
+.group:hover .group-hover\:opacity-100 {
+ opacity:1
+}
+
+@media (prefers-reduced-motion: reduce) {
+ .motion-reduce\:transition-none {
+ transition-property:none
+ }
+}
+
+@media print {
+ .print\:hidden {
+ display:none
+ }
+}
+
+@media (min-width: 640px) {
+ .sm\:mb-0 {
+ margin-bottom:0px
+ }
+
+ .sm\:ms-4 {
+ margin-inline-start:1rem
+ }
+
+ .sm\:mt-16 {
+ margin-top:4rem
+ }
+
+ .sm\:block {
+ display:block
+ }
+
+ .sm\:w-1\/2 {
+ width:50%
+ }
+
+ .sm\:max-w-xl {
+ max-width:36rem
+ }
+
+ .sm\:grid-cols-2 {
+ grid-template-columns:repeat(2, minmax(0, 1fr))
+ }
+
+ .sm\:flex-row {
+ flex-direction:row
+ }
+
+ .sm\:overflow-hidden {
+ overflow:hidden
+ }
+
+ .sm\:p-6 {
+ padding:1.5rem
+ }
+
+ .sm\:px-14 {
+ padding-left:3.5rem;
+ padding-right:3.5rem
+ }
+
+ .sm\:px-6 {
+ padding-left:1.5rem;
+ padding-right:1.5rem
+ }
+
+ .sm\:py-24 {
+ padding-top:6rem;
+ padding-bottom:6rem
+ }
+
+ .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-xl\/relaxed {
+ font-size:1.25rem;
+ line-height:1.625
+ }
+}
+
+@media (min-width: 853px) {
+ .md\:-mr-16 {
+ margin-right:-4rem
+ }
+
+ .md\:ml-12 {
+ margin-left:3rem
+ }
+
+ .md\:mr-7 {
+ margin-right:1.75rem
+ }
+
+ .md\:mt-0 {
+ margin-top:0px
+ }
+
+ .md\:flex {
+ display:flex
+ }
+
+ .md\:hidden {
+ display:none
+ }
+
+ .md\:h-56 {
+ height:14rem
+ }
+
+ .md\:h-\[200px\] {
+ height:200px
+ }
+
+ .md\:w-1\/3 {
+ width:33.333333%
+ }
+
+ .md\:w-auto {
+ width:auto
+ }
+
+ .md\:max-w-full {
+ max-width:100%
+ }
+
+ .md\:grid-cols-3 {
+ grid-template-columns:repeat(3, minmax(0, 1fr))
+ }
+
+ .md\:justify-start {
+ justify-content:flex-start
+ }
+
+ .md\:gap-12 {
+ gap:3rem
+ }
+
+ .md\:p-\[10vh\] {
+ padding:10vh
+ }
+
+ .md\:px-24 {
+ padding-left:6rem;
+ padding-right:6rem
+ }
+
+ .md\:text-\[1\.3rem\] {
+ font-size:1.3rem
+ }
+}
+
+@media (min-width: 1024px) {
+ .lg\:absolute {
+ position:absolute
+ }
+
+ .lg\:relative {
+ position:relative
+ }
+
+ .lg\:sticky {
+ position:sticky
+ }
+
+ .lg\:left-0 {
+ left:0px
+ }
+
+ .lg\:top-10 {
+ top:2.5rem
+ }
+
+ .lg\:top-\[140px\] {
+ top:140px
+ }
+
+ .lg\:order-last {
+ order:9999
+ }
+
+ .lg\:col-start-1 {
+ grid-column-start:1
+ }
+
+ .lg\:col-start-2 {
+ grid-column-start:2
+ }
+
+ .lg\:col-end-2 {
+ grid-column-end:2
+ }
+
+ .lg\:row-start-1 {
+ grid-row-start:1
+ }
+
+ .lg\:m-0 {
+ margin:0px
+ }
+
+ .lg\:mx-0 {
+ margin-left:0px;
+ margin-right:0px
+ }
+
+ .lg\:mx-auto {
+ margin-left:auto;
+ margin-right:auto
+ }
+
+ .lg\:mb-14 {
+ margin-bottom:3.5rem
+ }
+
+ .lg\:ml-auto {
+ margin-left:auto
+ }
+
+ .lg\:mt-0 {
+ margin-top:0px
+ }
+
+ .lg\:block {
+ display:block
+ }
+
+ .lg\:flex {
+ display:flex
+ }
+
+ .lg\:grid {
+ display:grid
+ }
+
+ .lg\:hidden {
+ display:none
+ }
+
+ .lg\:h-72 {
+ height:18rem
+ }
+
+ .lg\:h-full {
+ height:100%
+ }
+
+ .lg\:w-1\/4 {
+ width:25%
+ }
+
+ .lg\:w-2\/5 {
+ width:40%
+ }
+
+ .lg\:w-auto {
+ width:auto
+ }
+
+ .lg\:max-w-7xl {
+ max-width:80rem
+ }
+
+ .lg\:max-w-none {
+ max-width:none
+ }
+
+ .lg\:max-w-screen-xl {
+ max-width:1280px
+ }
+
+ .lg\:max-w-xs {
+ max-width:20rem
+ }
+
+ .lg\:flex-1 {
+ flex:1 1 0%
+ }
+
+ .lg\:grid-flow-col-dense {
+ grid-auto-flow:column dense
+ }
+
+ .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\:grid-cols-4 {
+ grid-template-columns:repeat(4, minmax(0, 1fr))
+ }
+
+ .lg\:flex-row {
+ flex-direction:row
+ }
+
+ .lg\:items-center {
+ align-items:center
+ }
+
+ .lg\:gap-24 {
+ gap:6rem
+ }
+
+ .lg\:gap-8 {
+ gap:2rem
+ }
+
+ .lg\:p-\[12vh\] {
+ padding:12vh
+ }
+
+ .lg\:px-0 {
+ padding-left:0px;
+ padding-right:0px
+ }
+
+ .lg\:px-32 {
+ padding-left:8rem;
+ padding-right:8rem
+ }
+
+ .lg\:px-8 {
+ padding-left:2rem;
+ padding-right:2rem
+ }
+
+ .lg\:py-14 {
+ padding-top:3.5rem;
+ padding-bottom:3.5rem
+ }
+
+ .lg\:py-16 {
+ padding-top:4rem;
+ padding-bottom:4rem
+ }
+
+ .lg\:py-20 {
+ padding-top:5rem;
+ padding-bottom:5rem
+ }
+
+ .lg\:py-32 {
+ padding-top:8rem;
+ padding-bottom:8rem
+ }
+
+ .lg\:py-6 {
+ padding-top:1.5rem;
+ padding-bottom:1.5rem
+ }
+
+ .lg\:pr-16 {
+ padding-right:4rem
+ }
+}
+
+@media (min-width: 1280px) {
+ .xl\:w-1\/4 {
+ width:25%
+ }
+
+ .xl\:grid-cols-4 {
+ grid-template-columns:repeat(4, minmax(0, 1fr))
+ }
+}
+
+@media (min-width: 1536px) {
+ .\32xl\:grid-cols-5 {
+ grid-template-columns:repeat(5, minmax(0, 1fr))
+ }
+}
+
+:is(:where([dir="ltr"]) .ltr\:-left-6) {
+ left:-1.5rem
+}
+
+:is(:where([dir="ltr"]) .ltr\:right-0) {
+ right:0px
+}
+
+:is(:where([dir="ltr"]) .ltr\:-ml-5) {
+ margin-left:-1.25rem
+}
+
+:is(:where([dir="ltr"]) .ltr\:ml-2) {
+ margin-left:0.5rem
+}
+
+:is(:where([dir="ltr"]) .ltr\:mr-14) {
+ margin-right:3.5rem
+}
+
+:is(:where([dir="ltr"]) .ltr\:mr-4) {
+ margin-right:1rem
+}
+
+:is(:where([dir="ltr"]) .ltr\:block) {
+ display:block
+}
+
+:is(:where([dir="ltr"]) .ltr\:inline) {
+ display:inline
+}
+
+:is(:where([dir="ltr"]) .ltr\:hidden) {
+ display:none
+}
+
+:is(:where([dir="ltr"]) .ltr\:border-l) {
+ border-left-width:1px
+}
+
+:is(:where([dir="ltr"]) .ltr\:pl-5) {
+ padding-left:1.25rem
+}
+
+:is(:where([dir="ltr"]) .ltr\:pr-2) {
+ padding-right:0.5rem
+}
+
+:is(:where([dir="ltr"]) .ltr\:pr-3) {
+ padding-right:0.75rem
+}
+
+:is(:where([dir="ltr"]) .ltr\:text-right) {
+ text-align:right
+}
+
+@media (min-width: 640px) {
+ :is(:where([dir="ltr"]) .ltr\:sm\:mr-7) {
+ margin-right:1.75rem
+ }
+
+ :is(:where([dir="ltr"]) .ltr\:sm\:last\:mr-0:last-child) {
+ margin-right:0px
+ }
+}
+
+@media (min-width: 1024px) {
+ :is(:where([dir="ltr"]) .ltr\:lg\:pl-8) {
+ padding-left:2rem
+ }
+}
+
+:is(:where([dir="rtl"]) .rtl\:-right-6) {
+ right:-1.5rem
+}
+
+:is(:where([dir="rtl"]) .rtl\:left-0) {
+ left:0px
+}
+
+:is(:where([dir="rtl"]) .rtl\:-mr-5) {
+ margin-right:-1.25rem
+}
+
+:is(:where([dir="rtl"]) .rtl\:ml-14) {
+ margin-left:3.5rem
+}
+
+:is(:where([dir="rtl"]) .rtl\:ml-4) {
+ margin-left:1rem
+}
+
+:is(:where([dir="rtl"]) .rtl\:mr-2) {
+ margin-right:0.5rem
+}
+
+:is(:where([dir="rtl"]) .rtl\:block) {
+ display:block
+}
+
+:is(:where([dir="rtl"]) .rtl\:inline) {
+ display:inline
+}
+
+:is(:where([dir="rtl"]) .rtl\:hidden) {
+ display:none
+}
+
+:is(:where([dir="rtl"]) .rtl\:rotate-180) {
+ --tw-rotate:180deg;
+ 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))
+}
+
+:is(:where([dir="rtl"]) .rtl\:border-r) {
+ border-right-width:1px
+}
+
+:is(:where([dir="rtl"]) .rtl\:pl-2) {
+ padding-left:0.5rem
+}
+
+:is(:where([dir="rtl"]) .rtl\:pl-3) {
+ padding-left:0.75rem
+}
+
+:is(:where([dir="rtl"]) .rtl\:pr-5) {
+ padding-right:1.25rem
+}
+
+:is(:where([dir="rtl"]) .rtl\:text-left) {
+ text-align:left
+}
+
+@media (min-width: 640px) {
+ :is(:where([dir="rtl"]) .rtl\:sm\:ml-7) {
+ margin-left:1.75rem
+ }
+
+ :is(:where([dir="rtl"]) .rtl\:sm\:last\:ml-0:last-child) {
+ margin-left:0px
+ }
+}
+
+@media (min-width: 1024px) {
+ :is(:where([dir="rtl"]) .rtl\:lg\:pr-8) {
+ padding-right:2rem
+ }
+}
+
+:is(:where(.dark) .dark\:flex) {
+ display:flex
+}
+
+:is(:where(.dark) .dark\:hidden) {
+ display:none
+}
+
+:is(:where(.dark) .dark\:border-neutral-600) {
+ --tw-border-opacity:1;
+ border-color:rgba(var(--color-neutral-600), var(--tw-border-opacity))
+}
+
+:is(:where(.dark) .dark\:border-neutral-700) {
+ --tw-border-opacity:1;
+ border-color:rgba(var(--color-neutral-700), var(--tw-border-opacity))
+}
+
+:is(:where(.dark) .dark\:border-primary-300) {
+ --tw-border-opacity:1;
+ border-color:rgba(var(--color-primary-300), var(--tw-border-opacity))
+}
+
+:is(:where(.dark) .dark\:border-primary-600) {
+ --tw-border-opacity:1;
+ border-color:rgba(var(--color-primary-600), var(--tw-border-opacity))
+}
+
+:is(:where(.dark) .dark\:bg-neutral-400) {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-neutral-400), var(--tw-bg-opacity))
+}
+
+:is(:where(.dark) .dark\:bg-neutral-600) {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-neutral-600), var(--tw-bg-opacity))
+}
+
+:is(:where(.dark) .dark\:bg-neutral-700) {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-neutral-700), var(--tw-bg-opacity))
+}
+
+:is(:where(.dark) .dark\:bg-neutral-800) {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-neutral-800), var(--tw-bg-opacity))
+}
+
+:is(:where(.dark) .dark\:bg-neutral-800\/50) {
+ background-color:rgba(var(--color-neutral-800), 0.5)
+}
+
+:is(:where(.dark) .dark\:bg-neutral-900\/50) {
+ background-color:rgba(var(--color-neutral-900), 0.5)
+}
+
+:is(:where(.dark) .dark\:bg-primary-200) {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-200), var(--tw-bg-opacity))
+}
+
+:is(:where(.dark) .dark\:bg-primary-300) {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-300), var(--tw-bg-opacity))
+}
+
+:is(:where(.dark) .dark\:bg-primary-400) {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-400), var(--tw-bg-opacity))
+}
+
+:is(:where(.dark) .dark\:bg-primary-800) {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-800), var(--tw-bg-opacity))
+}
+
+:is(:where(.dark) .dark\:bg-primary-900) {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-900), var(--tw-bg-opacity))
+}
+
+:is(:where(.dark) .dark\:from-neutral-800) {
+ --tw-gradient-from:rgba(var(--color-neutral-800), 1) var(--tw-gradient-from-position);
+ --tw-gradient-to:rgba(var(--color-neutral-800), 0) var(--tw-gradient-to-position);
+ --tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)
+}
+
+:is(:where(.dark) .dark\:from-primary-600) {
+ --tw-gradient-from:rgba(var(--color-primary-600), 1) var(--tw-gradient-from-position);
+ --tw-gradient-to:rgba(var(--color-primary-600), 0) var(--tw-gradient-to-position);
+ --tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)
+}
+
+:is(:where(.dark) .dark\:to-neutral-800) {
+ --tw-gradient-to:rgba(var(--color-neutral-800), 1) var(--tw-gradient-to-position)
+}
+
+:is(:where(.dark) .dark\:to-secondary-800) {
+ --tw-gradient-to:rgba(var(--color-secondary-800), 1) var(--tw-gradient-to-position)
+}
+
+:is(:where(.dark) .dark\:text-neutral) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .dark\:text-neutral-100) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-100), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .dark\:text-neutral-200) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-200), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .dark\:text-neutral-300) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-300), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .dark\:text-neutral-400) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-400), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .dark\:text-neutral-500) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-500), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .dark\:text-neutral-700) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-700), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .dark\:text-neutral-800) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-800), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .dark\:text-primary-200) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-200), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .dark\:text-primary-400) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-400), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .dark\:opacity-60) {
+ opacity:0.6
+}
+
+:is(:where(.dark) .dark\:hover\:\!bg-primary-700:hover) {
+ --tw-bg-opacity:1 !important;
+ background-color:rgba(var(--color-primary-700), var(--tw-bg-opacity)) !important
+}
+
+:is(:where(.dark) .dark\:hover\:bg-primary-400:hover) {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-400), var(--tw-bg-opacity))
+}
+
+:is(:where(.dark) .dark\:hover\:bg-primary-900:hover) {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-900), var(--tw-bg-opacity))
+}
+
+:is(:where(.dark) .dark\:hover\:text-neutral-800:hover) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-800), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .dark\:hover\:text-primary-400:hover) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-400), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .dark\:focus\:bg-primary-900:focus) {
+ --tw-bg-opacity:1;
+ background-color:rgba(var(--color-primary-900), var(--tw-bg-opacity))
+}
+
+:is(:where(.dark) .group:hover .dark\:group-hover\:text-neutral-700) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-neutral-700), var(--tw-text-opacity))
+}
+
+:is(:where(.dark) .group:hover .dark\:group-hover\:text-primary-400) {
+ --tw-text-opacity:1;
+ color:rgba(var(--color-primary-400), var(--tw-text-opacity))
+}
\ No newline at end of file
diff --git a/assets/css/components/zen-mode.css b/assets/css/components/zen-mode.css
new file mode 100644
index 0000000..bf0c31c
--- /dev/null
+++ b/assets/css/components/zen-mode.css
@@ -0,0 +1,16 @@
+#zen-mode-button {
+ cursor:pointer
+}
+
+.zen-mode {
+ position: relative;
+}
+
+body.zen-mode-enable {
+ #bmc-wbtn, .author {
+ display:none !important;
+ }
+}
+
+
+
diff --git a/assets/css/main.css b/assets/css/main.css
new file mode 100644
index 0000000..ef96540
--- /dev/null
+++ b/assets/css/main.css
@@ -0,0 +1,659 @@
+/*! Blowfish | MIT License | https://github.com/nunocoracao/blowfish */
+
+@import 'components/zen-mode.css';
+
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+body a,
+body button {
+ @apply transition-colors;
+}
+
+/* Scale SVG icons to text size */
+.icon svg {
+ @apply h-[1em] w-[1em];
+}
+
+/* Search */
+#search-query::-webkit-search-cancel-button,
+#search-query::-webkit-search-decoration,
+#search-query::-webkit-search-results-button,
+#search-query::-webkit-search-results-decoration {
+ @apply hidden;
+}
+
+/* Hamburger menu */
+body:has(#menu-controller:checked) {
+ @apply overflow-y-hidden;
+}
+
+#menu-button:has(#menu-controller:checked) {
+ @apply invisible;
+}
+
+#menu-controller:checked~#menu-wrapper {
+ @apply visible opacity-100;
+}
+
+/* RTL support */
+.prose blockquote {
+ @apply rtl:pr-4 rtl:border-l-0 rtl:border-r-4;
+}
+
+.prose ul>li,
+.prose ol>li {
+ @apply rtl:pl-0 rtl:pr-2 rtl:mr-7;
+}
+
+.prose ol>li:before,
+.prose ul>li:before {
+ @apply rtl:left-auto rtl:right-1;
+}
+
+.prose thead td:first-child,
+.prose thead th:first-child {
+ @apply rtl:pr-0;
+}
+
+.prose thead td:last-child,
+.prose thead th:last-child {
+ @apply rtl:pl-0;
+}
+
+/* Adjust first child within prose */
+.prose div.min-w-0.max-w-prose>*:first-child {
+ @apply mt-3;
+}
+
+/* Table of Contents */
+.toc ul,
+.toc li {
+ @apply px-0 leading-snug list-none;
+}
+
+.toc ul ul {
+ @apply ltr:pl-4 rtl:pr-4;
+}
+
+.toc a {
+ @apply font-normal text-neutral-700 dark:text-neutral-400;
+}
+
+.toc ul>li {
+ @apply rtl:mr-0;
+}
+
+/* Code Copy */
+.highlight-wrapper {
+ @apply block;
+}
+
+.highlight {
+ @apply relative z-0;
+}
+
+.highlight:hover>.copy-button {
+ @apply visible;
+}
+
+.copy-button {
+ @apply absolute top-0 right-0 z-10 invisible w-20 py-1 font-mono text-sm cursor-pointer opacity-90 bg-neutral-200 whitespace-nowrap rounded-bl-md rounded-tr-md text-neutral-700 dark:bg-neutral-600 dark:text-neutral-200;
+}
+
+.copy-button:hover,
+.copy-button:focus,
+.copy-button:active,
+.copy-button:active:hover {
+ @apply bg-primary-100 dark:bg-primary-600;
+}
+
+.copy-textarea {
+ @apply absolute opacity-5 -z-10;
+}
+
+/* Fix long KaTeX equations on mobile (see https://katex.org/docs/issues.html#css-customization) */
+.katex-display { overflow: auto hidden }
+
+/* Fix long tables breaking out of article on mobile */
+table {
+ display: block;
+ overflow: auto;
+}
+
+/* Fix long inline code sections breaking out of article on mobile */
+code {
+ word-wrap: break-word; /* All browsers since IE 5.5+ */
+ overflow-wrap: break-word; /* Renamed property in CSS3 draft spec */
+}
+
+/* -- Chroma Highlight -- */
+/* Background */
+.prose .chroma {
+ @apply static rounded-md text-neutral-700 bg-neutral-50 dark:bg-neutral-700 dark:text-neutral-200;
+}
+
+/* LineTableTD */
+.chroma .lntd,
+.chroma .lntd pre {
+ @apply p-0 m-0 align-top border-none;
+}
+
+/* LineTable */
+.chroma .lntable {
+ @apply block w-auto px-4 py-3 overflow-hidden text-base;
+ border-spacing: 0;
+}
+
+/* LineHighlight */
+.chroma .hl {
+ @apply block w-auto px-4 -mx-4 bg-primary-100 dark:bg-primary-900;
+}
+
+.chroma .lntd .hl {
+ @apply p-0 m-0;
+}
+
+/* LineNumbersTable */
+/* LineNumbers */
+.chroma .lnt,
+.chroma .ln {
+ @apply text-neutral-600 dark:text-neutral-300 mr-[0.4em] px-[0.4em] py-0;
+}
+
+/* Keyword */
+/* KeywordDeclaration */
+/* KeywordNamespace */
+/* KeywordPseudo */
+/* KeywordReserved */
+/* NameClass */
+/* NameFunctionMagic */
+/* NameNamespace */
+/* NameVariableClass */
+/* Operator */
+.chroma .k,
+.chroma .kd,
+.chroma .kn,
+.chroma .kp,
+.chroma .kr,
+.chroma .nc,
+.chroma .fm,
+.chroma .nn,
+.chroma .vc,
+.chroma .o {
+ @apply text-primary-600 dark:text-primary-300;
+}
+
+/* KeywordConstant */
+.chroma .kc {
+ @apply font-semibold text-secondary-400 dark:text-secondary-500;
+}
+
+/* KeywordType */
+/* NameVariable */
+/* NameVariableInstance */
+/* NameVariableMagic */
+/* LiteralNumber */
+/* LiteralNumberBin */
+/* LiteralNumberFloat */
+/* LiteralNumberHex */
+/* LiteralNumberInteger */
+/* LiteralNumberIntegerLong */
+/* LiteralNumberOct */
+.chroma .kt,
+.chroma .nv,
+.chroma .vi,
+.chroma .vm,
+.chroma .m,
+.chroma .mb,
+.chroma .mf,
+.chroma .mh,
+.chroma .mi,
+.chroma .il,
+.chroma .mo {
+ @apply text-secondary-400 dark:text-secondary-600;
+}
+
+/* Name */
+/* NameDecorator */
+/* NameEntity */
+/* NameLabel */
+.chroma .n,
+.chroma .nd,
+.chroma .ni,
+.chroma .nl {
+ @apply text-secondary-900 dark:text-secondary-200;
+}
+
+/* NameAttribute */
+/* NameBuiltin */
+/* NameBuiltinPseudo */
+/* NameOther */
+/* NameProperty */
+/* NameTag */
+.chroma .na,
+.chroma .nb,
+.chroma .bp,
+.chroma .nx,
+.chroma .py,
+.chroma .nt {
+ @apply text-secondary-800 dark:text-secondary-300;
+}
+
+/* NameConstant */
+/* NameException */
+/* NameVariableGlobal */
+.chroma .no,
+.chroma .ne,
+.chroma .vg {
+ @apply font-semibold text-secondary-400 dark:text-secondary-500;
+}
+
+/* NameFunction */
+.chroma .nf {
+ @apply text-secondary-600 dark:text-secondary-500;
+}
+
+/* Literal */
+/* LiteralDate */
+/* LiteralString */
+/* LiteralStringAffix */
+/* LiteralStringBacktick */
+/* LiteralStringChar */
+/* LiteralStringDelimiter */
+/* LiteralStringDoc */
+/* LiteralStringDouble */
+/* LiteralStringHeredoc */
+/* LiteralStringInterpol */
+/* LiteralStringOther */
+/* LiteralStringSingle */
+/* GenericInserted */
+/* GenericOutput */
+/* GenericPrompt */
+.chroma .l,
+.chroma .ld,
+.chroma .s,
+.chroma .sa,
+.chroma .sb,
+.chroma .sc,
+.chroma .dl,
+.chroma .sd,
+.chroma .s2,
+.chroma .sh,
+.chroma .si,
+.chroma .sx,
+.chroma .s1,
+.chroma .gi,
+.chroma .go,
+.chroma .gp {
+ @apply text-primary-800 dark:text-primary-400;
+}
+
+/* LiteralStringEscape */
+.chroma .se {
+ @apply font-semibold text-secondary-400 dark:text-secondary-500;
+}
+
+/* LiteralStringRegex */
+/* LiteralStringSymbol */
+.chroma .sr,
+.chroma .ss {
+ @apply font-semibold text-primary-800 dark:text-primary-400;
+}
+
+/* OperatorWord */
+.chroma .ow {
+ @apply font-semibold text-primary-400 dark:text-primary-600;
+}
+
+/* Comment */
+/* CommentMultiline */
+/* CommentSingle */
+/* CommentSpecial */
+/* CommentPreproc */
+/* CommentPreprocFile */
+.chroma .c,
+.chroma .cm,
+.chroma .c1,
+.chroma .cs,
+.chroma .cp,
+.chroma .cpf {
+ @apply italic text-neutral-500 dark:text-neutral-400;
+}
+
+/* CommentHashbang */
+.chroma .ch {
+ @apply italic font-semibold text-neutral-500 dark:text-neutral-400;
+}
+
+/* GenericEmph */
+.chroma .ge {
+ @apply italic;
+}
+
+/* GenericHeading */
+.chroma .gh {
+ @apply font-semibold text-neutral-500;
+}
+
+/* GenericStrong */
+.chroma .gs {
+ @apply font-semibold;
+}
+
+/* GenericSubheading */
+/* GenericTraceback */
+.chroma .gu,
+.chroma .gt {
+ @apply text-neutral-500;
+}
+
+/* GenericUnderline */
+.chroma .gl {
+ @apply underline;
+}
+
+/* Custom */
+
+pre {
+ text-align: left;
+}
+
+.thumbnail {
+ min-width: 300px;
+ height: 180px;
+ background-repeat:no-repeat;
+ background-size:cover;
+ background-position:center;
+}
+
+.thumbnail_card {
+ height: 200px;
+ background-repeat:no-repeat;
+ background-size:cover;
+ background-position:center;
+}
+
+.thumbnail_card_related {
+ height: 150px;
+ background-repeat:no-repeat;
+ background-size:cover;
+ background-position:center;
+}
+
+.thumbnail_card_term {
+ height: 150px;
+ background-repeat:no-repeat;
+ background-size:cover;
+ background-position:center;
+}
+
+.single_hero_basic {
+ background-repeat:no-repeat;
+ background-size:cover;
+ background-position:center;
+}
+
+.single_hero_round {
+ max-height: 50vh;
+ object-fit: cover;
+}
+
+.single_hero_background {
+ background-repeat:no-repeat;
+ background-size:cover;
+ background-position:center;
+ width: calc(100% + 40px);
+ z-index: -10;
+ margin-left: -20px;
+}
+
+.hero_gradient {
+ width: 100%;
+ height: 100%;
+}
+
+.thumbnailshadow {
+ box-shadow: 5px 5px 20px 1px rgba(0, 0, 0, 0.3);
+}
+
+.anchor {
+ display: block;
+ position: relative;
+ top: -150px;
+ height: 0px;
+ visibility: hidden;
+}
+
+@screen sm {
+ .thumbnail {
+ min-width: 100%;
+ height: 180px;
+ }
+ .article {
+ flex-wrap: wrap;
+ }
+}
+
+@screen md {
+ .thumbnail {
+ min-width: 300px;
+ min-height: 180px;
+ height: auto;
+ }
+ .article {
+ flex-wrap: nowrap;
+ }
+}
+
+.medium-zoom-image--opened {
+ z-index: 100;
+}
+
+.nested-menu:hover + .menuhide {
+ visibility: visible;
+ opacity: 1;
+ transition: visibility 0.3s, opacity 0.3s ease-in-out ;
+}
+
+.menuhide:hover {
+ visibility: visible;
+ opacity: 1;
+ transition: visibility 0.3s, opacity 0.3s ease-in-out ;
+}
+
+.menuhide {
+ visibility: hidden;
+ opacity: 0;
+ transition: visibility 0.3s, opacity 0.3s ease-in-out ;
+ z-index: 1000;
+}
+
+.active {
+ text-decoration-line: underline;
+ text-decoration-thickness: 3px;
+ text-underline-offset: 4px;
+}
+
+.text-9xl {
+ font-size: 9rem;
+}
+
+/* Gallery Specific Styles */
+.grid-w10 { width: calc(10% - 5px); margin: 0px !important; }
+.grid-w15 { width: calc(15% - 5px); margin: 0px !important; }
+.grid-w20 { width: calc(20% - 5px); margin: 0px !important; }
+.grid-w25 { width: calc(25% - 5px); margin: 0px !important; }
+.grid-w30 { width: calc(30% - 5px); margin: 0px !important; }
+.grid-w33 { width: calc(33% - 5px); margin: 0px !important; }
+.grid-w35 { width: calc(35% - 5px); margin: 0px !important; }
+.grid-w40 { width: calc(40% - 5px); margin: 0px !important; }
+.grid-w45 { width: calc(45% - 5px); margin: 0px !important; }
+.grid-w50 { width: calc(50% - 5px); margin: 0px !important; }
+.grid-w55 { width: calc(55% - 5px); margin: 0px !important; }
+.grid-w60 { width: calc(60% - 5px); margin: 0px !important; }
+.grid-w65 { width: calc(65% - 5px); margin: 0px !important; }
+.grid-w66 { width: calc(66% - 5px); margin: 0px !important; }
+.grid-w70 { width: calc(70% - 5px); margin: 0px !important; }
+.grid-w75 { width: calc(75% - 5px); margin: 0px !important; }
+.grid-w80 { width: calc(80% - 5px); margin: 0px !important; }
+.grid-w85 { width: calc(85% - 5px); margin: 0px !important; }
+.grid-w90 { width: calc(90% - 5px); margin: 0px !important; }
+.grid-w95 { width: calc(95% - 5px); margin: 0px !important; }
+.grid-w100 { width: calc(100% - 5px); margin: 0px !important; }
+
+@screen sm {
+ .sm\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; }
+ .sm\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; }
+ .sm\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; }
+ .sm\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; }
+ .sm\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; }
+ .sm\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; }
+ .sm\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; }
+ .sm\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; }
+ .sm\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; }
+ .sm\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; }
+ .sm\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; }
+ .sm\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; }
+ .sm\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; }
+ .sm\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; }
+ .sm\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; }
+ .sm\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; }
+ .sm\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; }
+ .sm\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; }
+ .sm\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; }
+ .sm\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; }
+ .sm\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; }
+}
+
+@screen md {
+ .md\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; }
+ .md\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; }
+ .md\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; }
+ .md\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; }
+ .md\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; }
+ .md\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; }
+ .md\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; }
+ .md\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; }
+ .md\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; }
+ .md\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; }
+ .md\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; }
+ .md\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; }
+ .md\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; }
+ .md\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; }
+ .md\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; }
+ .md\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; }
+ .md\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; }
+ .md\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; }
+ .md\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; }
+ .md\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; }
+ .md\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; }
+}
+
+@screen lg {
+ .lg\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; }
+ .lg\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; }
+ .lg\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; }
+ .lg\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; }
+ .lg\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; }
+ .lg\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; }
+ .lg\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; }
+ .lg\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; }
+ .lg\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; }
+ .lg\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; }
+ .lg\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; }
+ .lg\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; }
+ .lg\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; }
+ .lg\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; }
+ .lg\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; }
+ .lg\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; }
+ .lg\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; }
+ .lg\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; }
+ .lg\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; }
+ .lg\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; }
+ .lg\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; }
+}
+
+@screen xl {
+ .xl\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; }
+ .xl\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; }
+ .xl\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; }
+ .xl\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; }
+ .xl\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; }
+ .xl\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; }
+ .xl\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; }
+ .xl\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; }
+ .xl\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; }
+ .xl\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; }
+ .xl\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; }
+ .xl\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; }
+ .xl\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; }
+ .xl\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; }
+ .xl\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; }
+ .xl\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; }
+ .xl\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; }
+ .xl\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; }
+ .xl\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; }
+ .xl\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; }
+ .xl\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; }
+}
+
+@screen 2xl {
+ .2xl\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; }
+ .2xl\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; }
+ .2xl\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; }
+ .2xl\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; }
+ .2xl\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; }
+ .2xl\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; }
+ .2xl\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; }
+ .2xl\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; }
+ .2xl\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; }
+ .2xl\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; }
+ .2xl\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; }
+ .2xl\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; }
+ .2xl\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; }
+ .2xl\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; }
+ .2xl\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; }
+ .2xl\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; }
+ .2xl\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; }
+ .2xl\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; }
+ .2xl\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; }
+ .2xl\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; }
+ .2xl\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; }
+}
+
+/* Carousel Specific Styles */
+.ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */
+.ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */
+.ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */
+
+@screen sm {
+ .sm\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */
+ .sm\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */
+ .sm\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */
+}
+
+@screen md {
+ .md\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */
+ .md\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */
+ .md\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */
+}
+
+@screen lg {
+ .lg\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */
+ .lg\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */
+ .lg\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */
+}
+
+@screen xl {
+ .xl\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */
+ .xl\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */
+ .xl\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */
+}
+
+@screen 2xl {
+ .2xl\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */
+ .2xl\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */
+ .2xl\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */
+}
\ No newline at end of file
diff --git a/assets/css/schemes/autumn.css b/assets/css/schemes/autumn.css
new file mode 100644
index 0000000..7f88604
--- /dev/null
+++ b/assets/css/schemes/autumn.css
@@ -0,0 +1,32 @@
+:root { --color-neutral: 255, 255, 255;
+--color-neutral-50: 255,255,255;
+--color-neutral-100: 214,251,252;
+--color-neutral-200: 142,245,247;
+--color-neutral-300: 70,239,243;
+--color-neutral-400: 15,217,222;
+--color-neutral-500: 10,147,150;
+--color-neutral-600: 7,110,112;
+--color-neutral-700: 5,72,74;
+--color-neutral-800: 2,35,35;
+--color-neutral-900: 0,0,0;
+--color-primary-50: 255,255,255;
+--color-primary-100: 255,255,255;
+--color-primary-200: 255,240,212;
+--color-primary-300: 255,213,136;
+--color-primary-400: 255,187,59;
+--color-primary-500: 238,155,0;
+--color-primary-600: 197,128,0;
+--color-primary-700: 156,102,0;
+--color-primary-800: 116,75,0;
+--color-primary-900: 75,49,0;
+--color-secondary-50: 255,255,255;
+--color-secondary-100: 255,246,241;
+--color-secondary-200: 254,194,166;
+--color-secondary-300: 252,142,91;
+--color-secondary-400: 251,91,15;
+--color-secondary-500: 187,62,3;
+--color-secondary-600: 147,49,2;
+--color-secondary-700: 107,35,2;
+--color-secondary-800: 67,22,1;
+--color-secondary-900: 26,9,0;
+}
\ No newline at end of file
diff --git a/assets/css/schemes/avocado.css b/assets/css/schemes/avocado.css
new file mode 100644
index 0000000..911e895
--- /dev/null
+++ b/assets/css/schemes/avocado.css
@@ -0,0 +1,37 @@
+/* Avocado scheme */
+:root {
+ --color-neutral: 255, 255, 255;
+ /* Stone */
+ --color-neutral-50: 250, 250, 249;
+ --color-neutral-100: 245, 245, 244;
+ --color-neutral-200: 231, 229, 228;
+ --color-neutral-300: 214, 211, 209;
+ --color-neutral-400: 168, 162, 158;
+ --color-neutral-500: 120, 113, 108;
+ --color-neutral-600: 87, 83, 78;
+ --color-neutral-700: 68, 64, 60;
+ --color-neutral-800: 41, 37, 36;
+ --color-neutral-900: 28, 25, 23;
+ /* Lime */
+ --color-primary-50: 247, 254, 231;
+ --color-primary-100: 236, 252, 203;
+ --color-primary-200: 217, 249, 157;
+ --color-primary-300: 190, 242, 100;
+ --color-primary-400: 163, 230, 53;
+ --color-primary-500: 132, 204, 22;
+ --color-primary-600: 101, 163, 13;
+ --color-primary-700: 77, 124, 15;
+ --color-primary-800: 63, 98, 18;
+ --color-primary-900: 54, 83, 20;
+ /* Emerald */
+ --color-secondary-50: 236, 253, 245;
+ --color-secondary-100: 209, 250, 229;
+ --color-secondary-200: 167, 243, 208;
+ --color-secondary-300: 110, 231, 183;
+ --color-secondary-400: 52, 211, 153;
+ --color-secondary-500: 16, 185, 129;
+ --color-secondary-600: 5, 150, 105;
+ --color-secondary-700: 4, 120, 87;
+ --color-secondary-800: 6, 95, 70;
+ --color-secondary-900: 6, 78, 59;
+}
diff --git a/assets/css/schemes/bloody.css b/assets/css/schemes/bloody.css
new file mode 100644
index 0000000..5d0de8a
--- /dev/null
+++ b/assets/css/schemes/bloody.css
@@ -0,0 +1,32 @@
+:root { --color-neutral: 255, 255, 255;
+--color-neutral-50: 255,255,255;
+--color-neutral-100: 254,197,207;
+--color-neutral-200: 253,121,144;
+--color-neutral-300: 251,46,82;
+--color-neutral-400: 217,4,41;
+--color-neutral-500: 177,3,33;
+--color-neutral-600: 137,3,26;
+--color-neutral-700: 97,2,18;
+--color-neutral-800: 57,1,11;
+--color-neutral-900: 17,0,3;
+--color-primary-50: 255,255,255;
+--color-primary-100: 255,255,255;
+--color-primary-200: 230,233,238;
+--color-primary-300: 186,193,206;
+--color-primary-400: 141,153,174;
+--color-primary-500: 117,132,157;
+--color-primary-600: 97,111,136;
+--color-primary-700: 80,92,113;
+--color-primary-800: 63,72,89;
+--color-primary-900: 46,53,65;
+--color-secondary-50: 255,255,255;
+--color-secondary-100: 217,230,238;
+--color-secondary-200: 164,195,215;
+--color-secondary-300: 111,160,192;
+--color-secondary-400: 69,123,157;
+--color-secondary-500: 57,101,129;
+--color-secondary-600: 44,79,100;
+--color-secondary-700: 32,56,72;
+--color-secondary-800: 19,34,44;
+--color-secondary-900: 7,12,15;
+}
\ No newline at end of file
diff --git a/assets/css/schemes/blowfish.css b/assets/css/schemes/blowfish.css
new file mode 100644
index 0000000..e5dc5aa
--- /dev/null
+++ b/assets/css/schemes/blowfish.css
@@ -0,0 +1,37 @@
+/* Blowfish scheme */
+:root {
+ --color-neutral: 255, 255, 255;
+ /* Gray */
+ --color-neutral-50: 248, 250, 252;
+ --color-neutral-100: 241, 245, 249;
+ --color-neutral-200: 226, 232, 240;
+ --color-neutral-300: 203, 213, 225;
+ --color-neutral-400: 148, 163, 184;
+ --color-neutral-500: 100, 116, 139;
+ --color-neutral-600: 71, 85, 105;
+ --color-neutral-700: 51, 65, 85;
+ --color-neutral-800: 30, 41, 59;
+ --color-neutral-900: 15, 23, 42;
+ /* Blue */
+ --color-primary-50: 239, 246, 255;
+ --color-primary-100: 219, 234, 254;
+ --color-primary-200: 191, 219, 254;
+ --color-primary-300: 147, 197, 253;
+ --color-primary-400: 96, 165, 250;
+ --color-primary-500: 59, 130, 246;
+ --color-primary-600: 37, 99, 235;
+ --color-primary-700: 29, 78, 216;
+ --color-primary-800: 30, 64, 175;
+ --color-primary-900: 30, 58, 138;
+ /* Cyan */
+ --color-secondary-50: 236, 254, 255;
+ --color-secondary-100: 207, 250, 254;
+ --color-secondary-200: 165, 243, 252;
+ --color-secondary-300: 103, 232, 249;
+ --color-secondary-400: 34, 211, 238;
+ --color-secondary-500: 6, 182, 212;
+ --color-secondary-600: 8, 145, 178;
+ --color-secondary-700: 14, 116, 144;
+ --color-secondary-800: 21, 94, 117;
+ --color-secondary-900: 22, 78, 99;
+}
diff --git a/assets/css/schemes/congo.css b/assets/css/schemes/congo.css
new file mode 100644
index 0000000..c98055e
--- /dev/null
+++ b/assets/css/schemes/congo.css
@@ -0,0 +1,37 @@
+/* Blowfish scheme */
+:root {
+ --color-neutral: 255, 255, 255;
+ /* Gray */
+ --color-neutral-50: 250, 250, 250;
+ --color-neutral-100: 244, 244, 245;
+ --color-neutral-200: 228, 228, 231;
+ --color-neutral-300: 212, 212, 216;
+ --color-neutral-400: 161, 161, 170;
+ --color-neutral-500: 113, 113, 122;
+ --color-neutral-600: 82, 82, 91;
+ --color-neutral-700: 63, 63, 70;
+ --color-neutral-800: 39, 39, 42;
+ --color-neutral-900: 24, 24, 27;
+ /* Violet */
+ --color-primary-50: 245, 243, 255;
+ --color-primary-100: 237, 233, 254;
+ --color-primary-200: 221, 214, 254;
+ --color-primary-300: 196, 181, 253;
+ --color-primary-400: 167, 139, 250;
+ --color-primary-500: 139, 92, 246;
+ --color-primary-600: 124, 58, 237;
+ --color-primary-700: 109, 40, 217;
+ --color-primary-800: 91, 33, 182;
+ --color-primary-900: 76, 29, 149;
+ /* Fuchsia */
+ --color-secondary-50: 253, 244, 255;
+ --color-secondary-100: 250, 232, 255;
+ --color-secondary-200: 245, 208, 254;
+ --color-secondary-300: 240, 171, 252;
+ --color-secondary-400: 232, 121, 249;
+ --color-secondary-500: 217, 70, 239;
+ --color-secondary-600: 192, 38, 211;
+ --color-secondary-700: 162, 28, 175;
+ --color-secondary-800: 134, 25, 143;
+ --color-secondary-900: 112, 26, 117;
+}
diff --git a/assets/css/schemes/fire.css b/assets/css/schemes/fire.css
new file mode 100644
index 0000000..ed69d5c
--- /dev/null
+++ b/assets/css/schemes/fire.css
@@ -0,0 +1,37 @@
+/* Fire scheme */
+:root {
+ --color-neutral: 255, 255, 255;
+ /* Stone */
+ --color-neutral-50: 250, 250, 249;
+ --color-neutral-100: 245, 245, 244;
+ --color-neutral-200: 231, 229, 228;
+ --color-neutral-300: 214, 211, 209;
+ --color-neutral-400: 168, 162, 158;
+ --color-neutral-500: 120, 113, 108;
+ --color-neutral-600: 87, 83, 78;
+ --color-neutral-700: 68, 64, 60;
+ --color-neutral-800: 41, 37, 36;
+ --color-neutral-900: 28, 25, 23;
+ /* Orange */
+ --color-primary-50: 255, 247, 237;
+ --color-primary-100: 255, 237, 213;
+ --color-primary-200: 254, 215, 170;
+ --color-primary-300: 253, 186, 116;
+ --color-primary-400: 251, 146, 60;
+ --color-primary-500: 249, 115, 22;
+ --color-primary-600: 234, 88, 12;
+ --color-primary-700: 194, 65, 12;
+ --color-primary-800: 154, 52, 18;
+ --color-primary-900: 124, 45, 18;
+ /* Rose */
+ --color-secondary-50: 255, 241, 242;
+ --color-secondary-100: 255, 228, 230;
+ --color-secondary-200: 254, 205, 211;
+ --color-secondary-300: 253, 164, 175;
+ --color-secondary-400: 251, 113, 133;
+ --color-secondary-500: 244, 63, 94;
+ --color-secondary-600: 225, 29, 72;
+ --color-secondary-700: 190, 18, 60;
+ --color-secondary-800: 159, 18, 57;
+ --color-secondary-900: 136, 19, 55;
+}
diff --git a/assets/css/schemes/forest.css b/assets/css/schemes/forest.css
new file mode 100644
index 0000000..784895f
--- /dev/null
+++ b/assets/css/schemes/forest.css
@@ -0,0 +1,32 @@
+:root { --color-neutral: 255, 255, 255;
+--color-neutral-50: 255,255,255;
+--color-neutral-100: 232,238,237;
+--color-neutral-200: 188,206,203;
+--color-neutral-300: 143,174,170;
+--color-neutral-400: 101,140,134;
+--color-neutral-500: 84,116,111;
+--color-neutral-600: 67,93,89;
+--color-neutral-700: 50,69,66;
+--color-neutral-800: 33,45,43;
+--color-neutral-900: 16,21,21;
+--color-primary-50: 255,255,255;
+--color-primary-100: 255,255,255;
+--color-primary-200: 205,252,247;
+--color-primary-300: 132,249,235;
+--color-primary-400: 59,245,223;
+--color-primary-500: 20,243,217;
+--color-primary-600: 11,212,188;
+--color-primary-700: 9,173,153;
+--color-primary-800: 7,134,119;
+--color-primary-900: 5,95,84;
+--color-secondary-50: 255,255,255;
+--color-secondary-100: 194,253,219;
+--color-secondary-200: 120,251,175;
+--color-secondary-300: 45,249,130;
+--color-secondary-400: 6,212,92;
+--color-secondary-500: 5,172,75;
+--color-secondary-600: 4,133,58;
+--color-secondary-700: 3,93,40;
+--color-secondary-800: 2,53,23;
+--color-secondary-900: 0,14,6;
+}
\ No newline at end of file
diff --git a/assets/css/schemes/marvel.css b/assets/css/schemes/marvel.css
new file mode 100644
index 0000000..b6ec5a8
--- /dev/null
+++ b/assets/css/schemes/marvel.css
@@ -0,0 +1,32 @@
+:root { --color-neutral: 255, 255, 255;
+--color-neutral-50: 255,255,255;
+--color-neutral-100: 255,255,255;
+--color-neutral-200: 201,209,244;
+--color-neutral-300: 137,156,231;
+--color-neutral-400: 74,103,217;
+--color-neutral-500: 37,65,178;
+--color-neutral-600: 30,53,144;
+--color-neutral-700: 23,40,110;
+--color-neutral-800: 16,28,77;
+--color-neutral-900: 9,16,43;
+--color-primary-50: 255,255,255;
+--color-primary-100: 255,255,255;
+--color-primary-200: 252,211,226;
+--color-primary-300: 246,140,178;
+--color-primary-400: 240,69,131;
+--color-primary-500: 216,17,89;
+--color-primary-600: 178,14,73;
+--color-primary-700: 140,11,58;
+--color-primary-800: 103,8,42;
+--color-primary-900: 65,5,27;
+--color-secondary-50: 255,255,255;
+--color-secondary-100: 255,255,255;
+--color-secondary-200: 255,255,255;
+--color-secondary-300: 255,242,219;
+--color-secondary-400: 255,215,143;
+--color-secondary-500: 255,188,66;
+--color-secondary-600: 255,174,25;
+--color-secondary-700: 239,155,0;
+--color-secondary-800: 199,128,0;
+--color-secondary-900: 158,102,0;
+}
\ No newline at end of file
diff --git a/assets/css/schemes/neon.css b/assets/css/schemes/neon.css
new file mode 100644
index 0000000..c04284d
--- /dev/null
+++ b/assets/css/schemes/neon.css
@@ -0,0 +1,32 @@
+:root { --color-neutral: 255, 255, 255;
+--color-neutral-50: 255,255,255;
+--color-neutral-100: 255,255,255;
+--color-neutral-200: 218,196,249;
+--color-neutral-300: 175,126,243;
+--color-neutral-400: 131,56,236;
+--color-neutral-500: 108,22,229;
+--color-neutral-600: 91,18,192;
+--color-neutral-700: 73,15,155;
+--color-neutral-800: 56,11,118;
+--color-neutral-900: 38,8,80;
+--color-primary-50: 255,255,255;
+--color-primary-100: 255,230,241;
+--color-primary-200: 255,153,197;
+--color-primary-300: 255,77,154;
+--color-primary-400: 255,0,110;
+--color-primary-500: 214,0,92;
+--color-primary-600: 173,0,75;
+--color-primary-700: 133,0,57;
+--color-primary-800: 92,0,40;
+--color-primary-900: 51,0,22;
+--color-secondary-50: 255,255,255;
+--color-secondary-100: 255,255,255;
+--color-secondary-200: 211,228,255;
+--color-secondary-300: 135,181,255;
+--color-secondary-400: 58,134,255;
+--color-secondary-500: 17,109,255;
+--color-secondary-600: 0,89,231;
+--color-secondary-700: 0,74,191;
+--color-secondary-800: 0,58,150;
+--color-secondary-900: 0,42,109;
+}
\ No newline at end of file
diff --git a/assets/css/schemes/noir.css b/assets/css/schemes/noir.css
new file mode 100644
index 0000000..3ce7ac0
--- /dev/null
+++ b/assets/css/schemes/noir.css
@@ -0,0 +1,32 @@
+:root { --color-neutral: 255, 255, 255;
+--color-neutral-50: 255,255,255;
+--color-neutral-100: 255,255,255;
+--color-neutral-200: 214,219,222;
+--color-neutral-300: 172,183,188;
+--color-neutral-400: 129,146,154;
+--color-neutral-500: 92,107,115;
+--color-neutral-600: 74,86,92;
+--color-neutral-700: 56,65,70;
+--color-neutral-800: 38,44,47;
+--color-neutral-900: 19,23,24;
+--color-primary-50: 255,255,255;
+--color-primary-100: 255,255,255;
+--color-primary-200: 255,255,255;
+--color-primary-300: 250,251,252;
+--color-primary-400: 204,216,222;
+--color-primary-500: 157,180,192;
+--color-primary-600: 132,161,176;
+--color-primary-700: 107,142,160;
+--color-primary-800: 89,121,138;
+--color-primary-900: 73,99,113;
+--color-secondary-50: 255,255,255;
+--color-secondary-100: 255,255,255;
+--color-secondary-200: 182,240,255;
+--color-secondary-300: 105,225,255;
+--color-secondary-400: 28,209,255;
+--color-secondary-500: 0,165,207;
+--color-secondary-600: 0,132,166;
+--color-secondary-700: 0,100,125;
+--color-secondary-800: 0,67,85;
+--color-secondary-900: 0,35,44;
+}
\ No newline at end of file
diff --git a/assets/css/schemes/ocean.css b/assets/css/schemes/ocean.css
new file mode 100644
index 0000000..cc6d2d6
--- /dev/null
+++ b/assets/css/schemes/ocean.css
@@ -0,0 +1,37 @@
+/* Ocean scheme */
+:root {
+ --color-neutral: 255, 255, 255;
+ /* Gray */
+ --color-neutral-50: 248, 250, 252;
+ --color-neutral-100: 241, 245, 249;
+ --color-neutral-200: 226, 232, 240;
+ --color-neutral-300: 203, 213, 225;
+ --color-neutral-400: 148, 163, 184;
+ --color-neutral-500: 100, 116, 139;
+ --color-neutral-600: 71, 85, 105;
+ --color-neutral-700: 51, 65, 85;
+ --color-neutral-800: 30, 41, 59;
+ --color-neutral-900: 15, 23, 42;
+ /* Blue */
+ --color-primary-50: 239, 246, 255;
+ --color-primary-100: 219, 234, 254;
+ --color-primary-200: 191, 219, 254;
+ --color-primary-300: 147, 197, 253;
+ --color-primary-400: 96, 165, 250;
+ --color-primary-500: 59, 130, 246;
+ --color-primary-600: 37, 99, 235;
+ --color-primary-700: 29, 78, 216;
+ --color-primary-800: 30, 64, 175;
+ --color-primary-900: 30, 58, 138;
+ /* Cyan */
+ --color-secondary-50: 236, 254, 255;
+ --color-secondary-100: 207, 250, 254;
+ --color-secondary-200: 165, 243, 252;
+ --color-secondary-300: 103, 232, 249;
+ --color-secondary-400: 34, 211, 238;
+ --color-secondary-500: 6, 182, 212;
+ --color-secondary-600: 8, 145, 178;
+ --color-secondary-700: 14, 116, 144;
+ --color-secondary-800: 21, 94, 117;
+ --color-secondary-900: 22, 78, 99;
+}
diff --git a/assets/css/schemes/princess.css b/assets/css/schemes/princess.css
new file mode 100644
index 0000000..ebe38b4
--- /dev/null
+++ b/assets/css/schemes/princess.css
@@ -0,0 +1,32 @@
+:root { --color-neutral: 255, 255, 255;
+--color-neutral-50: 255,255,255;
+--color-neutral-100: 238,232,238;
+--color-neutral-200: 206,188,206;
+--color-neutral-300: 174,143,174;
+--color-neutral-400: 140,101,140;
+--color-neutral-500: 116,84,116;
+--color-neutral-600: 93,67,93;
+--color-neutral-700: 69,50,69;
+--color-neutral-800: 45,33,45;
+--color-neutral-900: 21,16,21;
+--color-primary-50: 255,255,255;
+--color-primary-100: 255,255,255;
+--color-primary-200: 252,205,252;
+--color-primary-300: 249,132,247;
+--color-primary-400: 245,59,242;
+--color-primary-500: 243,20,239;
+--color-primary-600: 212,11,208;
+--color-primary-700: 173,9,170;
+--color-primary-800: 134,7,132;
+--color-primary-900: 95,5,94;
+--color-secondary-50: 255,255,255;
+--color-secondary-100: 227,194,253;
+--color-secondary-200: 192,120,251;
+--color-secondary-300: 157,45,249;
+--color-secondary-400: 119,6,212;
+--color-secondary-500: 97,5,172;
+--color-secondary-600: 74,4,133;
+--color-secondary-700: 52,3,93;
+--color-secondary-800: 30,2,53;
+--color-secondary-900: 8,0,14;
+}
\ No newline at end of file
diff --git a/assets/css/schemes/slate.css b/assets/css/schemes/slate.css
new file mode 100644
index 0000000..54831e8
--- /dev/null
+++ b/assets/css/schemes/slate.css
@@ -0,0 +1,37 @@
+/* Slate scheme */
+:root {
+ --color-neutral: 255, 255, 255;
+ /* Gray */
+ --color-neutral-50: 249, 250, 251;
+ --color-neutral-100: 243, 244, 246;
+ --color-neutral-200: 229, 231, 235;
+ --color-neutral-300: 209, 213, 219;
+ --color-neutral-400: 156, 163, 175;
+ --color-neutral-500: 107, 114, 128;
+ --color-neutral-600: 75, 85, 99;
+ --color-neutral-700: 55, 65, 81;
+ --color-neutral-800: 31, 41, 55;
+ --color-neutral-900: 17, 24, 39;
+ /* Slate */
+ --color-primary-50: 248, 250, 252;
+ --color-primary-100: 241, 245, 249;
+ --color-primary-200: 226, 232, 240;
+ --color-primary-300: 203, 213, 225;
+ --color-primary-400: 148, 163, 184;
+ --color-primary-500: 100, 116, 139;
+ --color-primary-600: 71, 85, 105;
+ --color-primary-700: 51, 65, 85;
+ --color-primary-800: 30, 41, 59;
+ --color-primary-900: 15, 23, 42;
+ /* Gray */
+ --color-secondary-50: 249, 250, 251;
+ --color-secondary-100: 243, 244, 246;
+ --color-secondary-200: 229, 231, 235;
+ --color-secondary-300: 209, 213, 219;
+ --color-secondary-400: 156, 163, 175;
+ --color-secondary-500: 107, 114, 128;
+ --color-secondary-600: 75, 85, 99;
+ --color-secondary-700: 55, 65, 81;
+ --color-secondary-800: 31, 41, 55;
+ --color-secondary-900: 17, 24, 39;
+}
diff --git a/assets/css/schemes/terminal.css b/assets/css/schemes/terminal.css
new file mode 100644
index 0000000..b96872d
--- /dev/null
+++ b/assets/css/schemes/terminal.css
@@ -0,0 +1,32 @@
+:root { --color-neutral: 255, 255, 255;
+--color-neutral-50: 203,255,227;
+--color-neutral-100: 126,255,186;
+--color-neutral-200: 49,255,145;
+--color-neutral-300: 0,228,106;
+--color-neutral-400: 0,152,71;
+--color-neutral-500: 0,75,35;
+--color-neutral-600: 0,50,23;
+--color-neutral-700: 0,24,11;
+--color-neutral-800: 0,24,11;
+--color-neutral-900: 0,0,0;
+--color-primary-50: 255,255,255;
+--color-primary-100: 236,255,227;
+--color-primary-200: 184,255,150;
+--color-primary-300: 132,255,74;
+--color-primary-400: 80,252,0;
+--color-primary-500: 56,176,0;
+--color-primary-600: 48,151,0;
+--color-primary-700: 40,125,0;
+--color-primary-800: 40,125,0;
+--color-primary-900: 7,23,0;
+--color-secondary-50: 255,255,255;
+--color-secondary-100: 239,248,252;
+--color-secondary-200: 173,220,242;
+--color-secondary-300: 107,192,231;
+--color-secondary-400: 41,164,220;
+--color-secondary-500: 26,117,159;
+--color-secondary-600: 22,101,137;
+--color-secondary-700: 19,85,115;
+--color-secondary-800: 19,85,115;
+--color-secondary-900: 4,20,28;
+}
\ No newline at end of file
diff --git a/assets/img/author2.png b/assets/img/author2.png
new file mode 100644
index 0000000..c1a3c06
Binary files /dev/null and b/assets/img/author2.png differ
diff --git a/assets/img/banner.webp b/assets/img/banner.webp
new file mode 100644
index 0000000..92c5929
Binary files /dev/null and b/assets/img/banner.webp differ
diff --git a/assets/img/bg-triangles.svg b/assets/img/bg-triangles.svg
new file mode 100644
index 0000000..c2d584a
--- /dev/null
+++ b/assets/img/bg-triangles.svg
@@ -0,0 +1 @@
+
diff --git a/assets/img/bg.jpg b/assets/img/bg.jpg
new file mode 100644
index 0000000..3a7617d
Binary files /dev/null and b/assets/img/bg.jpg differ
diff --git a/assets/img/blowfish.jpg b/assets/img/blowfish.jpg
new file mode 100644
index 0000000..ad842ea
Binary files /dev/null and b/assets/img/blowfish.jpg differ
diff --git a/assets/img/direction.webp b/assets/img/direction.webp
new file mode 100644
index 0000000..195a32a
Binary files /dev/null and b/assets/img/direction.webp differ
diff --git a/assets/img/dog.webp b/assets/img/dog.webp
new file mode 100644
index 0000000..7c80773
Binary files /dev/null and b/assets/img/dog.webp differ
diff --git a/assets/img/iceland.jpg b/assets/img/iceland.jpg
new file mode 100644
index 0000000..6352a78
Binary files /dev/null and b/assets/img/iceland.jpg differ
diff --git a/assets/img/icons/.gitkeep b/assets/img/icons/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/assets/img/icons/people-teamwork-svgrepo-com.svg b/assets/img/icons/people-teamwork-svgrepo-com.svg
new file mode 100644
index 0000000..5816738
--- /dev/null
+++ b/assets/img/icons/people-teamwork-svgrepo-com.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/assets/img/icons/ying-yang.svg b/assets/img/icons/ying-yang.svg
new file mode 100644
index 0000000..e82570a
--- /dev/null
+++ b/assets/img/icons/ying-yang.svg
@@ -0,0 +1,15 @@
+
+
+
\ No newline at end of file
diff --git a/assets/img/map.webp b/assets/img/map.webp
new file mode 100644
index 0000000..f7b3d3d
Binary files /dev/null and b/assets/img/map.webp differ
diff --git a/assets/img/nuno_avatar.jpg b/assets/img/nuno_avatar.jpg
new file mode 100644
index 0000000..c350016
Binary files /dev/null and b/assets/img/nuno_avatar.jpg differ
diff --git a/assets/img/ocean.jpg b/assets/img/ocean.jpg
new file mode 100644
index 0000000..9f1220a
Binary files /dev/null and b/assets/img/ocean.jpg differ
diff --git a/assets/img/paint.png b/assets/img/paint.png
new file mode 100644
index 0000000..6f6659a
Binary files /dev/null and b/assets/img/paint.png differ
diff --git a/assets/img/people-teamwork-svgrepo-com.svg b/assets/img/people-teamwork-svgrepo-com.svg
new file mode 100644
index 0000000..5816738
--- /dev/null
+++ b/assets/img/people-teamwork-svgrepo-com.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/assets/img/roots.webp b/assets/img/roots.webp
new file mode 100644
index 0000000..5f673fb
Binary files /dev/null and b/assets/img/roots.webp differ
diff --git a/assets/img/ying-yang.svg b/assets/img/ying-yang.svg
new file mode 100644
index 0000000..e82570a
--- /dev/null
+++ b/assets/img/ying-yang.svg
@@ -0,0 +1,15 @@
+
+
+
\ No newline at end of file
diff --git a/assets/media/author2.png b/assets/media/author2.png
new file mode 100644
index 0000000..c1a3c06
Binary files /dev/null and b/assets/media/author2.png differ
diff --git a/assets/media/banner.webp b/assets/media/banner.webp
new file mode 100644
index 0000000..92c5929
Binary files /dev/null and b/assets/media/banner.webp differ
diff --git a/assets/media/bg-triangles.svg b/assets/media/bg-triangles.svg
new file mode 100644
index 0000000..c2d584a
--- /dev/null
+++ b/assets/media/bg-triangles.svg
@@ -0,0 +1 @@
+
diff --git a/assets/media/bg.jpg b/assets/media/bg.jpg
new file mode 100644
index 0000000..3a7617d
Binary files /dev/null and b/assets/media/bg.jpg differ
diff --git a/assets/media/blowfish.jpg b/assets/media/blowfish.jpg
new file mode 100644
index 0000000..ad842ea
Binary files /dev/null and b/assets/media/blowfish.jpg differ
diff --git a/assets/media/direction.webp b/assets/media/direction.webp
new file mode 100644
index 0000000..195a32a
Binary files /dev/null and b/assets/media/direction.webp differ
diff --git a/assets/media/dog.webp b/assets/media/dog.webp
new file mode 100644
index 0000000..7c80773
Binary files /dev/null and b/assets/media/dog.webp differ
diff --git a/assets/media/iceland.jpg b/assets/media/iceland.jpg
new file mode 100644
index 0000000..6352a78
Binary files /dev/null and b/assets/media/iceland.jpg differ
diff --git a/assets/media/icons/.gitkeep b/assets/media/icons/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/assets/media/icons/people-teamwork-svgrepo-com.svg b/assets/media/icons/people-teamwork-svgrepo-com.svg
new file mode 100644
index 0000000..5816738
--- /dev/null
+++ b/assets/media/icons/people-teamwork-svgrepo-com.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/assets/media/icons/ying-yang.svg b/assets/media/icons/ying-yang.svg
new file mode 100644
index 0000000..e82570a
--- /dev/null
+++ b/assets/media/icons/ying-yang.svg
@@ -0,0 +1,15 @@
+
+
+
\ No newline at end of file
diff --git a/assets/media/img/author2.png b/assets/media/img/author2.png
new file mode 100644
index 0000000..c1a3c06
Binary files /dev/null and b/assets/media/img/author2.png differ
diff --git a/assets/media/img/banner.webp b/assets/media/img/banner.webp
new file mode 100644
index 0000000..92c5929
Binary files /dev/null and b/assets/media/img/banner.webp differ
diff --git a/assets/media/img/bg-triangles.svg b/assets/media/img/bg-triangles.svg
new file mode 100644
index 0000000..c2d584a
--- /dev/null
+++ b/assets/media/img/bg-triangles.svg
@@ -0,0 +1 @@
+
diff --git a/assets/media/img/bg.jpg b/assets/media/img/bg.jpg
new file mode 100644
index 0000000..3a7617d
Binary files /dev/null and b/assets/media/img/bg.jpg differ
diff --git a/assets/media/img/blowfish.jpg b/assets/media/img/blowfish.jpg
new file mode 100644
index 0000000..ad842ea
Binary files /dev/null and b/assets/media/img/blowfish.jpg differ
diff --git a/assets/media/img/direction.webp b/assets/media/img/direction.webp
new file mode 100644
index 0000000..195a32a
Binary files /dev/null and b/assets/media/img/direction.webp differ
diff --git a/assets/media/img/dog.webp b/assets/media/img/dog.webp
new file mode 100644
index 0000000..7c80773
Binary files /dev/null and b/assets/media/img/dog.webp differ
diff --git a/assets/media/img/iceland.jpg b/assets/media/img/iceland.jpg
new file mode 100644
index 0000000..6352a78
Binary files /dev/null and b/assets/media/img/iceland.jpg differ
diff --git a/assets/media/img/icons/.gitkeep b/assets/media/img/icons/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/assets/media/img/icons/people-teamwork-svgrepo-com.svg b/assets/media/img/icons/people-teamwork-svgrepo-com.svg
new file mode 100644
index 0000000..5816738
--- /dev/null
+++ b/assets/media/img/icons/people-teamwork-svgrepo-com.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/assets/media/img/icons/ying-yang.svg b/assets/media/img/icons/ying-yang.svg
new file mode 100644
index 0000000..e82570a
--- /dev/null
+++ b/assets/media/img/icons/ying-yang.svg
@@ -0,0 +1,15 @@
+
+
+
\ No newline at end of file
diff --git a/assets/media/img/map.webp b/assets/media/img/map.webp
new file mode 100644
index 0000000..f7b3d3d
Binary files /dev/null and b/assets/media/img/map.webp differ
diff --git a/assets/media/img/nuno_avatar.jpg b/assets/media/img/nuno_avatar.jpg
new file mode 100644
index 0000000..c350016
Binary files /dev/null and b/assets/media/img/nuno_avatar.jpg differ
diff --git a/assets/media/img/ocean.jpg b/assets/media/img/ocean.jpg
new file mode 100644
index 0000000..9f1220a
Binary files /dev/null and b/assets/media/img/ocean.jpg differ
diff --git a/assets/media/img/paint.png b/assets/media/img/paint.png
new file mode 100644
index 0000000..6f6659a
Binary files /dev/null and b/assets/media/img/paint.png differ
diff --git a/assets/media/img/people-teamwork-svgrepo-com.svg b/assets/media/img/people-teamwork-svgrepo-com.svg
new file mode 100644
index 0000000..5816738
--- /dev/null
+++ b/assets/media/img/people-teamwork-svgrepo-com.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/assets/media/img/roots.webp b/assets/media/img/roots.webp
new file mode 100644
index 0000000..5f673fb
Binary files /dev/null and b/assets/media/img/roots.webp differ
diff --git a/assets/media/img/ying-yang.svg b/assets/media/img/ying-yang.svg
new file mode 100644
index 0000000..e82570a
--- /dev/null
+++ b/assets/media/img/ying-yang.svg
@@ -0,0 +1,15 @@
+
+
+
\ No newline at end of file
diff --git a/assets/media/map.webp b/assets/media/map.webp
new file mode 100644
index 0000000..f7b3d3d
Binary files /dev/null and b/assets/media/map.webp differ
diff --git a/assets/media/nuno_avatar.jpg b/assets/media/nuno_avatar.jpg
new file mode 100644
index 0000000..c350016
Binary files /dev/null and b/assets/media/nuno_avatar.jpg differ
diff --git a/assets/media/ocean.jpg b/assets/media/ocean.jpg
new file mode 100644
index 0000000..9f1220a
Binary files /dev/null and b/assets/media/ocean.jpg differ
diff --git a/assets/media/paint.png b/assets/media/paint.png
new file mode 100644
index 0000000..6f6659a
Binary files /dev/null and b/assets/media/paint.png differ
diff --git a/assets/media/people-teamwork-svgrepo-com.svg b/assets/media/people-teamwork-svgrepo-com.svg
new file mode 100644
index 0000000..5816738
--- /dev/null
+++ b/assets/media/people-teamwork-svgrepo-com.svg
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/assets/media/roots.webp b/assets/media/roots.webp
new file mode 100644
index 0000000..5f673fb
Binary files /dev/null and b/assets/media/roots.webp differ
diff --git a/assets/media/ying-yang.svg b/assets/media/ying-yang.svg
new file mode 100644
index 0000000..e82570a
--- /dev/null
+++ b/assets/media/ying-yang.svg
@@ -0,0 +1,15 @@
+
+
+
\ No newline at end of file
diff --git a/config/_default/config.toml b/config/_default/config.toml
new file mode 100644
index 0000000..968d4de
--- /dev/null
+++ b/config/_default/config.toml
@@ -0,0 +1,65 @@
+# -- Site Configuration --
+# Refer to the theme docs for more details about each of these parameters.
+# https://blowfish.page/docs/getting-started/
+
+theme = "blowfish"
+# baseURL = "https://your_domain.com/"
+defaultContentLanguage = "en"
+
+# pluralizeListTitles = "true" # hugo function useful for non-english languages, find out more in https://gohugo.io/getting-started/configuration/#pluralizelisttitles
+
+enableRobotsTXT = true
+paginate = 10
+summaryLength = 0
+
+buildDrafts = false
+buildFuture = false
+
+# googleAnalytics = "G-XXXXXXXXX"
+
+[imaging]
+ anchor = 'Center'
+
+[taxonomies]
+ tag = "tags"
+ category = "categories"
+ author = "authors"
+ series = "series"
+
+[sitemap]
+ changefreq = 'daily'
+ filename = 'sitemap.xml'
+ priority = 0.5
+
+[outputs]
+ home = ["HTML", "RSS", "JSON"]
+
+[related]
+ threshold = 0
+ toLower = false
+
+ [[related.indices]]
+ name = "tags"
+ weight = 100
+
+ [[related.indices]]
+ name = "categories"
+ weight = 100
+
+ [[related.indices]]
+ name = "series"
+ weight = 50
+
+ [[related.indices]]
+ name = "authors"
+ weight = 20
+
+ [[related.indices]]
+ name = "date"
+ weight = 10
+
+ [[related.indices]]
+ applyFilter = false
+ name = 'fragmentrefs'
+ type = 'fragments'
+ weight = 10
diff --git a/config/_default/languages.cs.toml b/config/_default/languages.cs.toml
new file mode 100644
index 0000000..bbd69c7
--- /dev/null
+++ b/config/_default/languages.cs.toml
@@ -0,0 +1,65 @@
+languageCode = "cs"
+languageName = "Czech"
+weight = 1
+title = "Blowfish"
+
+[params]
+ displayName = "CZ"
+ isoCode = "cs"
+ rtl = false
+ dateFormat = "2 January 2006"
+ # logo = "img/logo.png"
+ # secondaryLogo = "img/secondary-logo.png"
+ # description = "My awesome website"
+ # copyright = "Copy, _right?_ :thinking_face:"
+
+[author]
+ name = "Your name here"
+ image = "img/blowfish_logo.png"
+ headline = "I'm only human"
+ bio = "A little bit about you"
+ links = [
+ { email = "mailto:hello@your_domain.com" },
+# { link = "https://link-to-some-website.com/" },
+# { amazon = "https://www.amazon.com/hz/wishlist/ls/wishlist-id" },
+# { apple = "https://www.apple.com" },
+# { blogger = "https://username.blogspot.com/" },
+# { codepen = "https://codepen.io/username" },
+# { dev = "https://dev.to/username" },
+# { discord = "https://discord.gg/invitecode" },
+# { dribbble = "https://dribbble.com/username" },
+# { facebook = "https://facebook.com/username" },
+# { flickr = "https://www.flickr.com/photos/username/" },
+# { foursquare = "https://foursquare.com/username" },
+# { github = "https://github.com/username" },
+# { gitlab = "https://gitlab.com/username" },
+# { google = "https://www.google.com/" },
+# { hashnode = "https://username.hashnode.dev" },
+# { instagram = "https://instagram.com/username" },
+# { keybase = "https://keybase.io/username" },
+# { kickstarter = "https://www.kickstarter.com/profile/username" },
+# { lastfm = "https://lastfm.com/user/username" },
+# { linkedin = "https://linkedin.com/in/username" },
+# { mastodon = "https://mastodon.instance/@username" },
+# { medium = "https://medium.com/username" },
+# { microsoft = "https://www.microsoft.com/" },
+# { orcid = "https://orcid.org/userid" },
+# { patreon = "https://www.patreon.com/username" },
+# { pinterest = "https://pinterest.com/username" },
+# { reddit = "https://reddit.com/user/username" },
+# { researchgate = "https://www.researchgate.net/profile/username" },
+# { slack = "https://workspace.url/team/userid" },
+# { snapchat = "https://snapchat.com/add/username" },
+# { soundcloud = "https://soundcloud.com/username" },
+# { stack-overflow = "https://stackoverflow.com/users/userid/username" },
+# { steam = "https://steamcommunity.com/profiles/userid" },
+# { telegram = "https://t.me/username" },
+# { tiktok = "https://tiktok.com/@username" },
+# { tumblr = "https://username.tumblr.com" },
+# { twitch = "https://twitch.tv/username" },
+# { twitter = "https://twitter.com/username" },
+# { x-twitter = "https://twitter.com/username" },
+# { whatsapp = "https://wa.me/phone-number" },
+# { youtube = "https://youtube.com/username" },
+# { ko-fi = "https://ko-fi.com/username" },
+]
diff --git a/config/_default/languages.en.toml b/config/_default/languages.en.toml
new file mode 100644
index 0000000..fd41f12
--- /dev/null
+++ b/config/_default/languages.en.toml
@@ -0,0 +1,65 @@
+languageCode = "en"
+languageName = "English"
+weight = 1
+title = "Blowfish"
+
+[params]
+ displayName = "EN"
+ isoCode = "en"
+ rtl = false
+ dateFormat = "2 January 2006"
+ logo = "img/logo.png"
+ secondaryLogo = "img/secondary-logo.png"
+ description = "My awesome website"
+ copyright = "Copy, _right?_ :thinking_face:"
+
+[author]
+ name = "Your name here"
+ image = "img/blowfish_logo.png"
+ headline = "I'm only human"
+ bio = "A little bit about you"
+ links = [
+ { email = "mailto:hello@your_domain.com" },
+# { link = "https://link-to-some-website.com/" },
+# { amazon = "https://www.amazon.com/hz/wishlist/ls/wishlist-id" },
+# { apple = "https://www.apple.com" },
+# { blogger = "https://username.blogspot.com/" },
+# { codepen = "https://codepen.io/username" },
+# { dev = "https://dev.to/username" },
+# { discord = "https://discord.gg/invitecode" },
+# { dribbble = "https://dribbble.com/username" },
+# { facebook = "https://facebook.com/username" },
+# { flickr = "https://www.flickr.com/photos/username/" },
+# { foursquare = "https://foursquare.com/username" },
+# { github = "https://github.com/username" },
+# { gitlab = "https://gitlab.com/username" },
+# { google = "https://www.google.com/" },
+# { hashnode = "https://username.hashnode.dev" },
+# { instagram = "https://instagram.com/username" },
+# { keybase = "https://keybase.io/username" },
+# { kickstarter = "https://www.kickstarter.com/profile/username" },
+# { lastfm = "https://lastfm.com/user/username" },
+# { linkedin = "https://linkedin.com/in/username" },
+# { mastodon = "https://mastodon.instance/@username" },
+# { medium = "https://medium.com/username" },
+# { microsoft = "https://www.microsoft.com/" },
+# { orcid = "https://orcid.org/userid" },
+# { patreon = "https://www.patreon.com/username" },
+# { pinterest = "https://pinterest.com/username" },
+# { reddit = "https://reddit.com/user/username" },
+# { researchgate = "https://www.researchgate.net/profile/username" },
+# { slack = "https://workspace.url/team/userid" },
+# { snapchat = "https://snapchat.com/add/username" },
+# { soundcloud = "https://soundcloud.com/username" },
+# { stack-overflow = "https://stackoverflow.com/users/userid/username" },
+# { steam = "https://steamcommunity.com/profiles/userid" },
+# { telegram = "https://t.me/username" },
+# { tiktok = "https://tiktok.com/@username" },
+# { tumblr = "https://username.tumblr.com" },
+# { twitch = "https://twitch.tv/username" },
+# { twitter = "https://twitter.com/username" },
+# { x-twitter = "https://twitter.com/username" },
+# { whatsapp = "https://wa.me/phone-number" },
+# { youtube = "https://youtube.com/username" },
+# { ko-fi = "https://ko-fi.com/username" },
+]
diff --git a/config/_default/languages.es.toml b/config/_default/languages.es.toml
new file mode 100644
index 0000000..d4fba88
--- /dev/null
+++ b/config/_default/languages.es.toml
@@ -0,0 +1,65 @@
+languageCode = "es"
+languageName = "Spanish"
+weight = 1
+title = "Blowfish"
+
+[params]
+ displayName = "ES"
+ isoCode = "es"
+ rtl = false
+ dateFormat = "2 January 2006"
+ logo = "img/logo.png"
+ secondaryLogo = "img/secondary-logo.png"
+ description = "My awesome website"
+ copyright = "Copy, _right?_ :thinking_face:"
+
+[author]
+ name = "Your name here"
+ image = "img/blowfish_logo.png"
+ headline = "I'm only human"
+ bio = "A little bit about you"
+ links = [
+ { email = "mailto:hello@your_domain.com" },
+# { link = "https://link-to-some-website.com/" },
+# { amazon = "https://www.amazon.com/hz/wishlist/ls/wishlist-id" },
+# { apple = "https://www.apple.com" },
+# { blogger = "https://username.blogspot.com/" },
+# { codepen = "https://codepen.io/username" },
+# { dev = "https://dev.to/username" },
+# { discord = "https://discord.gg/invitecode" },
+# { dribbble = "https://dribbble.com/username" },
+# { facebook = "https://facebook.com/username" },
+# { flickr = "https://www.flickr.com/photos/username/" },
+# { foursquare = "https://foursquare.com/username" },
+# { github = "https://github.com/username" },
+# { gitlab = "https://gitlab.com/username" },
+# { google = "https://www.google.com/" },
+# { hashnode = "https://username.hashnode.dev" },
+# { instagram = "https://instagram.com/username" },
+# { keybase = "https://keybase.io/username" },
+# { kickstarter = "https://www.kickstarter.com/profile/username" },
+# { lastfm = "https://lastfm.com/user/username" },
+# { linkedin = "https://linkedin.com/in/username" },
+# { mastodon = "https://mastodon.instance/@username" },
+# { medium = "https://medium.com/username" },
+# { microsoft = "https://www.microsoft.com/" },
+# { orcid = "https://orcid.org/userid" },
+# { patreon = "https://www.patreon.com/username" },
+# { pinterest = "https://pinterest.com/username" },
+# { reddit = "https://reddit.com/user/username" },
+# { researchgate = "https://www.researchgate.net/profile/username" },
+# { slack = "https://workspace.url/team/userid" },
+# { snapchat = "https://snapchat.com/add/username" },
+# { soundcloud = "https://soundcloud.com/username" },
+# { stack-overflow = "https://stackoverflow.com/users/userid/username" },
+# { steam = "https://steamcommunity.com/profiles/userid" },
+# { telegram = "https://t.me/username" },
+# { tiktok = "https://tiktok.com/@username" },
+# { tumblr = "https://username.tumblr.com" },
+# { twitch = "https://twitch.tv/username" },
+# { twitter = "https://twitter.com/username" },
+# { x-twitter = "https://twitter.com/username" },
+# { whatsapp = "https://wa.me/phone-number" },
+# { youtube = "https://youtube.com/username" },
+# { ko-fi = "https://ko-fi.com/username" },
+]
diff --git a/config/_default/markup.toml b/config/_default/markup.toml
new file mode 100644
index 0000000..c5449fc
--- /dev/null
+++ b/config/_default/markup.toml
@@ -0,0 +1,13 @@
+# -- Markup --
+# These settings are required for the theme to function.
+
+[goldmark]
+[goldmark.renderer]
+ unsafe = true
+
+[highlight]
+ noClasses = false
+
+[tableOfContents]
+ startLevel = 2
+ endLevel = 4
diff --git a/config/_default/menus.cs.toml b/config/_default/menus.cs.toml
new file mode 100644
index 0000000..684e13a
--- /dev/null
+++ b/config/_default/menus.cs.toml
@@ -0,0 +1,140 @@
+# -- Main Menu --
+# The main menu is displayed in the header at the top of the page.
+# Acceptable parameters are name, pageRef, page, url, title, weight.
+#
+# The simplest menu configuration is to provide:
+# name = The name to be displayed for this menu link
+# pageRef = The identifier of the page or section to link to
+#
+# By default the menu is ordered alphabetically. This can be
+# overridden by providing a weight value. The menu will then be
+# ordered by weight from lowest to highest.
+
+[[main]]
+ name = "Poslání"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "About"
+ parent = "Poslání"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "Příběhy Úspěchu"
+ parent = "Poslání"
+ pageRef = "posts"
+ weight = 20
+
+[[main]]
+ name = "Neúspěch a Učební Zkušenosti"
+ parent = "Poslání"
+ pageRef = "posts"
+ weight = 30
+
+[[main]]
+ name = "Události"
+ weight = 20
+
+[[main]]
+ name = "Nadcházející Akce"
+ parent = "Události"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "Veřejné Skupiny"
+ parent = "Události"
+ pageRef = "posts"
+ weight = 20
+
+[[main]]
+ name = "Publikace"
+ weight = 30
+
+[[main]]
+ name = "Články"
+ parent = "Publikace"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "Knihy"
+ parent = "Publikace"
+ pageRef = "posts"
+ weight = 20
+
+[[main]]
+ name = "Kurzy"
+ weight = 40
+
+[[main]]
+ name = "Kurz Spojení"
+ parent = "Courses"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "Praxe Spojení"
+ parent = "Courses"
+ pageRef = "posts"
+ weight = 20
+
+[[main]]
+ name = "Zdroje"
+ weight = 50
+
+[[main]]
+ name = "Čtu"
+ parent = "Zdroje"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "Stránky"
+ parent = "Zdroje"
+ pageRef = "posts"
+ weight = 20
+
+[[main]]
+ name = "Sitemap"
+ parent = "Zdroje"
+ pageRef = "posts"
+ weight = 30
+
+[[main]]
+ name = "Kontakt"
+ weight = 60
+
+[[main]]
+ name = "Kontakní Forma"
+ parent = "Contact"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "Vnitřní Skupina"
+ parent = "Contact"
+ pageRef = "posts"
+ weight = 20
+
+[[main]]
+ name = "Eventbrite"
+ parent = "Contact"
+ pageRef = "posts"
+ weight = 30
+
+# -- Footer Menu --
+# The footer menu is displayed at the bottom of the page, just before
+# the copyright notice. Configure as per the main menu above.
+
+[[footer]]
+ name = "Tags"
+ pageRef = "tags"
+ weight = 10
+
+[[footer]]
+ name = "Categories"
+ pageRef = "categories"
+ weight = 20
diff --git a/config/_default/menus.en.toml b/config/_default/menus.en.toml
new file mode 100644
index 0000000..52150d9
--- /dev/null
+++ b/config/_default/menus.en.toml
@@ -0,0 +1,140 @@
+# -- Main Menu --
+# The main menu is displayed in the header at the top of the page.
+# Acceptable parameters are name, pageRef, page, url, title, weight.
+#
+# The simplest menu configuration is to provide:
+# name = The name to be displayed for this menu link
+# pageRef = The identifier of the page or section to link to
+#
+# By default the menu is ordered alphabetically. This can be
+# overridden by providing a weight value. The menu will then be
+# ordered by weight from lowest to highest.
+
+[[main]]
+ name = "Mission"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "About"
+ parent = "Mission"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "Success Stories"
+ parent = "Mission"
+ pageRef = "posts"
+ weight = 20
+
+[[main]]
+ name = "Failures and Learnings"
+ parent = "Mission"
+ pageRef = "posts"
+ weight = 30
+
+[[main]]
+ name = "Events"
+ weight = 20
+
+[[main]]
+ name = "Upcoming Events"
+ parent = "Events"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "Public Group"
+ parent = "Events"
+ pageRef = "posts"
+ weight = 20
+
+[[main]]
+ name = "Publications"
+ weight = 30
+
+[[main]]
+ name = "Posts"
+ parent = "Publications"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "Books"
+ parent = "Publications"
+ pageRef = "posts"
+ weight = 20
+
+[[main]]
+ name = "Courses"
+ weight = 40
+
+[[main]]
+ name = "Course Connection"
+ parent = "Courses"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "Course Practice"
+ parent = "Courses"
+ pageRef = "posts"
+ weight = 20
+
+[[main]]
+ name = "Sources"
+ weight = 50
+
+[[main]]
+ name = "Reading"
+ parent = "Sources"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "Links"
+ parent = "Sources"
+ pageRef = "posts"
+ weight = 20
+
+[[main]]
+ name = "Sitemap"
+ parent = "Sources"
+ pageRef = "posts"
+ weight = 30
+
+[[main]]
+ name = "Contact"
+ weight = 60
+
+[[main]]
+ name = "Contact Form"
+ parent = "Contact"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "Inner Group"
+ parent = "Contact"
+ pageRef = "posts"
+ weight = 20
+
+[[main]]
+ name = "Eventbrite"
+ parent = "Contact"
+ pageRef = "posts"
+ weight = 30
+
+# -- Footer Menu --
+# The footer menu is displayed at the bottom of the page, just before
+# the copyright notice. Configure as per the main menu above.
+
+[[footer]]
+ name = "Tags"
+ pageRef = "tags"
+ weight = 10
+
+[[footer]]
+ name = "Categories"
+ pageRef = "categories"
+ weight = 20
diff --git a/config/_default/menus.es.toml b/config/_default/menus.es.toml
new file mode 100644
index 0000000..e7c6fa1
--- /dev/null
+++ b/config/_default/menus.es.toml
@@ -0,0 +1,140 @@
+# -- Main Menu --
+# The main menu is displayed in the header at the top of the page.
+# Acceptable parameters are name, pageRef, page, url, title, weight.
+#
+# The simplest menu configuration is to provide:
+# name = The name to be displayed for this menu link
+# pageRef = The identifier of the page or section to link to
+#
+# By default the menu is ordered alphabetically. This can be
+# overridden by providing a weight value. The menu will then be
+# ordered by weight from lowest to highest.
+
+[[main]]
+ name = "Misión"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "About"
+ parent = "Misión"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "Historias de Éxito"
+ parent = "Misión"
+ pageRef = "posts"
+ weight = 20
+
+[[main]]
+ name = "Fracaso Y Aprendizaje"
+ parent = "Misión"
+ pageRef = "posts"
+ weight = 30
+
+[[main]]
+ name = "Eventos"
+ weight = 20
+
+[[main]]
+ name = "Próximos Eventos"
+ parent = "Eventos"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "Grupo Público"
+ parent = "Eventos"
+ pageRef = "posts"
+ weight = 20
+
+[[main]]
+ name = "Publicaciones"
+ weight = 30
+
+[[main]]
+ name = "Artículos"
+ parent = "Publicaciones"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "Libros"
+ parent = "Publicaciones"
+ pageRef = "posts"
+ weight = 20
+
+[[main]]
+ name = "Cursos"
+ weight = 40
+
+[[main]]
+ name = "Curso de Conexión"
+ parent = "Cursos"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "Práctica de Conexión"
+ parent = "Cursos"
+ pageRef = "posts"
+ weight = 20
+
+[[main]]
+ name = "Recursos"
+ weight = 50
+
+[[main]]
+ name = "Leyendo"
+ parent = "Recursos"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "Enlaces"
+ parent = "Recursos"
+ pageRef = "posts"
+ weight = 20
+
+[[main]]
+ name = "Sitemap"
+ parent = "Recursos"
+ pageRef = "posts"
+ weight = 30
+
+[[main]]
+ name = "Contacto"
+ weight = 60
+
+[[main]]
+ name = "Formulario de Contacto"
+ parent = "Contacto"
+ pageRef = "posts"
+ weight = 10
+
+[[main]]
+ name = "Grupo interior"
+ parent = "Contacto"
+ pageRef = "posts"
+ weight = 20
+
+[[main]]
+ name = "Eventbrite"
+ parent = "Contacto"
+ pageRef = "posts"
+ weight = 30
+
+# -- Footer Menu --
+# The footer menu is displayed at the bottom of the page, just before
+# the copyright notice. Configure as per the main menu above.
+
+[[footer]]
+ name = "Tags"
+ pageRef = "tags"
+ weight = 10
+
+[[footer]]
+ name = "Categories"
+ pageRef = "categories"
+ weight = 20
diff --git a/config/_default/module.toml b/config/_default/module.toml
new file mode 100644
index 0000000..74f7727
--- /dev/null
+++ b/config/_default/module.toml
@@ -0,0 +1,3 @@
+[hugoVersion]
+ extended = false
+ min = "0.87.0"
diff --git a/config/_default/params.toml b/config/_default/params.toml
new file mode 100644
index 0000000..3592869
--- /dev/null
+++ b/config/_default/params.toml
@@ -0,0 +1,142 @@
+# -- Theme Options --
+# These options control how the theme functions and allow you to
+# customise the display of your website.
+#
+# Refer to the theme docs for more details about each of these parameters.
+# https://blowfish.page/docs/configuration/#theme-parameters
+
+colorScheme = "blowfish"
+defaultAppearance = "light" # valid options: light or dark
+autoSwitchAppearance = true
+
+enableSearch = true
+enableCodeCopy = false
+
+# mainSections = ["section1", "section2"]
+# robots = ""
+
+disableImageOptimization = false
+disableTextInHeader = false
+
+# defaultBackgroundImage = "IMAGE.jpg" # used as default for background images
+# defaultFeaturedImage = "IMAGE.jpg" # used as default for featured images in all articles
+
+# highlightCurrentMenuArea = true
+# smartTOC = true
+# smartTOCHideUnfocusedChildren = true
+
+[header]
+ layout = "basic" # valid options: basic, fixed, fixed-fill, fixed-fill-blur
+
+[footer]
+ showMenu = true
+ showCopyright = true
+ showThemeAttribution = true
+ showAppearanceSwitcher = true
+ showScrollToTop = true
+
+[homepage]
+ layout = "page" # valid options: page, profile, hero, card, background, custom
+ # homepageImage = "banner.webp" # used in: hero, and card
+ showRecent = false
+ showRecentItems = 3
+ showMoreLink = false
+ showMoreLinkDest = "/posts"
+ cardView = false
+ cardViewScreenWidth = false
+ layoutBackgroundBlur = false # only used when layout equals background
+
+[article]
+ showDate = true
+ showViews = false
+ showLikes = false
+ showDateUpdated = true
+ showAuthor = true
+ showHero = false
+ # heroStyle = "basic" # valid options: basic, big, background, thumbAndBackground
+ layoutBackgroundBlur = false # only used when heroStyle equals background or thumbAndBackground
+ layoutBackgroundHeaderSpace = true # only used when heroStyle equals background
+ showBreadcrumbs = true
+ showDraftLabel = true
+ showEdit = false
+ # editURL = "https://github.com/username/repo/"
+ editAppendPath = true
+ seriesOpened = false
+ showHeadingAnchors = true
+ showPagination = true
+ invertPagination = true
+ showReadingTime = true
+ showTableOfContents = true
+ showRelatedContent = true
+ relatedContentLimit = 3
+ showTaxonomies = true
+ showAuthorsBadges = true
+ showWordCount = true
+ sharingLinks = [ "linkedin", "twitter", "reddit", "pinterest", "facebook", "email", "whatsapp", "telegram"]
+ showZenMode = false
+
+[list]
+ showHero = false
+ # heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
+ layoutBackgroundBlur = false # only used when heroStyle equals background or thumbAndBackground
+ layoutBackgroundHeaderSpace = true # only used when heroStyle equals background
+ showBreadcrumbs = true
+ showSummary = true
+ showViews = false
+ showLikes = false
+ showTableOfContents = false
+ showCards = false
+ groupByYear = true
+ cardView = true
+ cardViewScreenWidth = false
+ constrainItemsWidth = false
+
+[sitemap]
+ excludedKinds = ["taxonomy", "term"]
+
+[taxonomy]
+ showTermCount = true
+ showHero = false
+ # heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
+ showBreadcrumbs = false
+ showViews = false
+ showLikes = false
+ showTableOfContents = false
+ cardView = false
+
+[term]
+ showHero = false
+ # heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
+ showBreadcrumbs = false
+ showViews = false
+ showLikes = false
+ showTableOfContents = true
+ groupByYear = false
+ cardView = false
+ cardViewScreenWidth = false
+
+[firebase]
+ # apiKey = "XXXXXX"
+ # authDomain = "XXXXXX"
+ # projectId = "XXXXXX"
+ # storageBucket = "XXXXXX"
+ # messagingSenderId = "XXXXXX"
+ # appId = "XXXXXX"
+ # measurementId = "XXXXXX"
+
+[fathomAnalytics]
+ # site = "ABC12345"
+ # domain = "llama.yoursite.com"
+
+[buymeacoffee]
+ # identifier = ""
+ # globalWidget = true
+ # globalWidgetMessage = "Hello"
+ # globalWidgetColor = "#FFDD00"
+ # globalWidgetPosition = "Right"
+
+[verification]
+ # google = ""
+ # bing = ""
+ # pinterest = ""
+ # yandex = ""
diff --git a/content/_index.cs.md b/content/_index.cs.md
new file mode 100755
index 0000000..ce7df8d
--- /dev/null
+++ b/content/_index.cs.md
@@ -0,0 +1,613 @@
+---
+title: ""
+description: ""
+---
+
+{{< rawhtml >}}
+
+
+ AstroWind is a free, customizable and production-ready template for Astro 4.0 + Tailwind CSS. Suitable for Startups, Small Business, SaaS websites, Professional Portfolios, Marketing websites, Landing Pages & Blogs.
+ Ahoj
+
+ template for Astro 4.0 + Tailwind CSS
+
+
Features
++ One of the most professional and comprehensive templates currently on the market. Most starred & forked Astro theme in 2022. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+Plan
++ Do or don't +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ The first mate and his Skipper too will do their very best to make the others comfortable in their tropic island nest. Michael Knight a young loner. +
++ Tell them I hate them. Is the Space Pope reptilian!? Tell her she looks thin. Hello, little man. I will destroy you! +
++ If one examines precultural libertarianism, one is faced with a choice: either accept rationalism or conclude that context is a product. +
+Events
++ Yummi yam +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+Bio
++ He knows what he knows +
++ All recipes are written using certain conventions, which define the characteristics of common ingredients. The rules vary from place to place. +
Toolbox
++ Pool of resources +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+Recent
++ Learning +
+FAQ
++ About life +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+Contact
++ I'll answer in working days in 48 hours +
++ Languages spoken and written: English 🇬🇧, Spanish 🇪🇸, Czech 🇨🇿 +
+ + 📨 Contact form + +Stats
++ Learning from ees +
+Shows
+Y. Views
+Winnings
+Experience
++ AstroWind is a free, customizable and production-ready template for Astro 4.0 + Tailwind CSS. Suitable for Startups, Small Business, SaaS websites, Professional Portfolios, Marketing websites, Landing Pages & Blogs.
+ + Learn more + {{< typeit + tag=h3 + speed=50 + breakLines=false + loop=true +>}} +Lorem ipsum dolor sit amet +{{< /typeit >}} + + + Ask a Question + + +Features
++ One of the most professional and comprehensive templates currently on the market. Most starred & forked Astro theme in 2022. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+Plan
++ Do or don't +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ The first mate and his Skipper too will do their very best to make the others comfortable in their tropic island nest. Michael Knight a young loner. +
++ Tell them I hate them. Is the Space Pope reptilian!? Tell her she looks thin. Hello, little man. I will destroy you! +
++ If one examines precultural libertarianism, one is faced with a choice: either accept rationalism or conclude that context is a product. +
+Events
++ Yummi yam +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+Bio
++ He knows what he knows +
++ All recipes are written using certain conventions, which define the characteristics of common ingredients. The rules vary from place to place. +
Toolbox
++ Pool of resources +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+Recent
++ Learning +
+FAQ
++ About life +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+Contact
++ I'll answer in working days in 48 hours +
++ Languages spoken and written: English 🇬🇧, Spanish 🇪🇸, Czech 🇨🇿 +
+ + 📨 Contact form + +Stats
++ Learning from ees +
+Shows
+Y. Views
+Winnings
+Experience
++ AstroWind is a free, customizable and production-ready template for Astro 4.0 + Tailwind CSS. Suitable for Startups, Small Business, SaaS websites, Professional Portfolios, Marketing websites, Landing Pages & Blogs.
+ + Learn more + {{< typeit + tag=h3 + speed=50 + breakLines=false + loop=true +>}} +Lorem ipsum dolor sit amet +{{< /typeit >}} + + + Ask a Question + + +Features
++ One of the most professional and comprehensive templates currently on the market. Most starred & forked Astro theme in 2022. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+Plan
++ Do or don't +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ The first mate and his Skipper too will do their very best to make the others comfortable in their tropic island nest. Michael Knight a young loner. +
++ Tell them I hate them. Is the Space Pope reptilian!? Tell her she looks thin. Hello, little man. I will destroy you! +
++ If one examines precultural libertarianism, one is faced with a choice: either accept rationalism or conclude that context is a product. +
+Events
++ Yummi yam +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+Bio
++ He knows what he knows +
++ All recipes are written using certain conventions, which define the characteristics of common ingredients. The rules vary from place to place. +
Toolbox
++ Pool of resources +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+Recent
++ Learning +
+FAQ
++ About life +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+Contact
++ I'll answer in working days in 48 hours +
++ Languages spoken and written: English 🇬🇧, Spanish 🇪🇸, Czech 🇨🇿 +
+ + 📨 Contact form + +Stats
++ Learning from ees +
+Shows
+Y. Views
+Winnings
+Experience
++ AstroWind is a free, customizable and production-ready template for Astro 4.0 + Tailwind CSS. Suitable for Startups, Small Business, SaaS websites, Professional Portfolios, Marketing websites, Landing Pages & Blogs.
+ + Learn more + + + Ask a Question + + +Features
++ One of the most professional and comprehensive templates currently on the market. Most starred & forked Astro theme in 2022. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+Plan
++ Do or don't +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ The first mate and his Skipper too will do their very best to make the others comfortable in their tropic island nest. Michael Knight a young loner. +
++ Tell them I hate them. Is the Space Pope reptilian!? Tell her she looks thin. Hello, little man. I will destroy you! +
++ If one examines precultural libertarianism, one is faced with a choice: either accept rationalism or conclude that context is a product. +
+Events
++ Yummi yam +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+Bio
++ He knows what he knows +
++ All recipes are written using certain conventions, which define the characteristics of common ingredients. The rules vary from place to place. +
Toolbox
++ Pool of resources +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+FAQ
++ About life +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
++ A slice of heaven. O for awesome, this chocka full cuzzie is as rip-off as a cracker. Meanwhile, in behind the bicycle shed, Hercules Morse, as big as a horse and Mrs Falani were up to no good with a bunch of crook pikelets. +
+Recent
++ Learning +
+Contact
++ I'll answer in working days in 48 hours +
++ Languages spoken and written: English 🇬🇧, Spanish 🇪🇸, Czech 🇨🇿 +
+ + 📨 Contact form + +Stats
++ Learning from ees +
+Shows
+Y. Views
+Winnings
+Experience
+0&&(t="."===(t=e)?null:t),t};ot({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler:function(e,t){var r,n=e.parser,a=t[4],i=t[5],o=lt(t[0]),s="atom"===o.type&&"open"===o.family?sn(o.text):null,l=lt(t[1]),h="atom"===l.type&&"close"===l.family?sn(l.text):null,c=Ut(t[2],"size"),m=null;r=!!c.isBlank||(m=c.value).number>0;var u="auto",p=t[3];if("ordgroup"===p.type){if(p.body.length>0){var d=Ut(p.body[0],"textord");u=on[Number(d.text)]}}else p=Ut(p,"textord"),u=on[Number(p.text)];return{type:"genfrac",mode:n.mode,numer:a,denom:i,continued:!1,hasBarLine:r,barSize:m,leftDelim:s,rightDelim:h,size:u}},htmlBuilder:nn,mathmlBuilder:an}),ot({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler:function(e,t){var r=e.parser,n=(e.funcName,e.token);return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:Ut(t[0],"size").value,token:n}}}),ot({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:function(e,t){var r=e.parser,n=(e.funcName,t[0]),a=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e}(Ut(t[1],"infix").size),i=t[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:nn,mathmlBuilder:an});var ln=function(e,t){var r,n,a=t.style;"supsub"===e.type?(r=e.sup?wt(e.sup,t.havingStyle(a.sup()),t):wt(e.sub,t.havingStyle(a.sub()),t),n=Ut(e.base,"horizBrace")):n=Ut(e,"horizBrace");var i,o=wt(n.base,t.havingBaseStyle(x.DISPLAY)),s=Gt(n,t);if(n.isOver?(i=Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:o},{type:"kern",size:.1},{type:"elem",elem:s}]},t)).children[0].children[0].children[1].classes.push("svg-align"):(i=Ke.makeVList({positionType:"bottom",positionData:o.depth+.1+s.height,children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:o}]},t)).children[0].children[0].children[0].classes.push("svg-align"),r){var l=Ke.makeSpan(["mord",n.isOver?"mover":"munder"],[i],t);i=n.isOver?Ke.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:r}]},t):Ke.makeVList({positionType:"bottom",positionData:l.depth+.2+r.height+r.depth,children:[{type:"elem",elem:r},{type:"kern",size:.2},{type:"elem",elem:l}]},t)}return Ke.makeSpan(["mord",n.isOver?"mover":"munder"],[i],t)};ot({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:t[0]}},htmlBuilder:ln,mathmlBuilder:function(e,t){var r=Ft(e.label);return new Tt.MathNode(e.isOver?"mover":"munder",[Rt(e.base,t),r])}}),ot({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:function(e,t){var r=e.parser,n=t[1],a=Ut(t[0],"url").url;return r.settings.isTrusted({command:"\\href",url:a})?{type:"href",mode:r.mode,href:a,body:ht(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:function(e,t){var r=ft(e.body,t,!1);return Ke.makeAnchor(e.href,[],r,t)},mathmlBuilder:function(e,t){var r=It(e.body,t);return r instanceof zt||(r=new zt("mrow",[r])),r.setAttribute("href",e.href),r}}),ot({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:function(e,t){var r=e.parser,n=Ut(t[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var a=[],i=0;i0&&(u+=M,p-=M)}var z=[{type:"elem",elem:a,shift:p,marginRight:y,marginLeft:w},{type:"elem",elem:n,shift:-u,marginRight:y}];v=Ke.makeVList({positionType:"individualShift",children:z},t)}else if(a){p=Math.max(p,m.sub1,a.height-.8*m.xHeight);var A=[{type:"elem",elem:a,marginLeft:w,marginRight:y}];v=Ke.makeVList({positionType:"shift",positionData:p,children:A},t)}else{if(!n)throw new Error("supsub must have either sup or sub.");u=Math.max(u,i,n.depth+.25*m.xHeight),v=Ke.makeVList({positionType:"shift",positionData:-u,children:[{type:"elem",elem:n,marginRight:y}]},t)}var T=yt(c,"right")||"mord";return Ke.makeSpan([T],[c,Ke.makeSpan(["msupsub"],[v])],t)},mathmlBuilder:function(e,t){var r,n=!1;e.base&&"horizBrace"===e.base.type&&!!e.sup===e.base.isOver&&(n=!0,r=e.base.isOver),!e.base||"op"!==e.base.type&&"operatorname"!==e.base.type||(e.base.parentIsSupSub=!0);var a,i=[Rt(e.base,t)];if(e.sub&&i.push(Rt(e.sub,t)),e.sup&&i.push(Rt(e.sup,t)),n)a=r?"mover":"munder";else if(e.sub)if(e.sup){var o=e.base;a=o&&"op"===o.type&&o.limits&&t.style===x.DISPLAY||o&&"operatorname"===o.type&&o.alwaysHandleSupSub&&(t.style===x.DISPLAY||o.limits)?"munderover":"msubsup"}else{var s=e.base;a=s&&"op"===s.type&&s.limits&&(t.style===x.DISPLAY||s.alwaysHandleSupSub)||s&&"operatorname"===s.type&&s.alwaysHandleSupSub&&(s.limits||t.style===x.DISPLAY)?"munder":"msub"}else{var l=e.base;a=l&&"op"===l.type&&l.limits&&(t.style===x.DISPLAY||l.alwaysHandleSupSub)||l&&"operatorname"===l.type&&l.alwaysHandleSupSub&&(l.limits||t.style===x.DISPLAY)?"mover":"msup"}return new Tt.MathNode(a,i)}}),st({type:"atom",htmlBuilder:function(e,t){return Ke.mathsym(e.text,e.mode,t,["m"+e.family])},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mo",[Bt(e.text,e.mode)]);if("bin"===e.family){var n=Nt(e,t);"bold-italic"===n&&r.setAttribute("mathvariant",n)}else"punct"===e.family?r.setAttribute("separator","true"):"open"!==e.family&&"close"!==e.family||r.setAttribute("stretchy","false");return r}});var kn={mi:"italic",mn:"normal",mtext:"normal"};st({type:"mathord",htmlBuilder:function(e,t){return Ke.makeOrd(e,t,"mathord")},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mi",[Bt(e.text,e.mode,t)]),n=Nt(e,t)||"italic";return n!==kn[r.type]&&r.setAttribute("mathvariant",n),r}}),st({type:"textord",htmlBuilder:function(e,t){return Ke.makeOrd(e,t,"textord")},mathmlBuilder:function(e,t){var r,n=Bt(e.text,e.mode,t),a=Nt(e,t)||"normal";return r="text"===e.mode?new Tt.MathNode("mtext",[n]):/[0-9]/.test(e.text)?new Tt.MathNode("mn",[n]):"\\prime"===e.text?new Tt.MathNode("mo",[n]):new Tt.MathNode("mi",[n]),a!==kn[r.type]&&r.setAttribute("mathvariant",a),r}});var Sn={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},Mn={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};st({type:"spacing",htmlBuilder:function(e,t){if(Mn.hasOwnProperty(e.text)){var r=Mn[e.text].className||"";if("text"===e.mode){var a=Ke.makeOrd(e,t,"textord");return a.classes.push(r),a}return Ke.makeSpan(["mspace",r],[Ke.mathsym(e.text,e.mode,t)],t)}if(Sn.hasOwnProperty(e.text))return Ke.makeSpan(["mspace",Sn[e.text]],[],t);throw new n('Unknown type of space "'+e.text+'"')},mathmlBuilder:function(e,t){if(!Mn.hasOwnProperty(e.text)){if(Sn.hasOwnProperty(e.text))return new Tt.MathNode("mspace");throw new n('Unknown type of space "'+e.text+'"')}return new Tt.MathNode("mtext",[new Tt.TextNode("\xa0")])}});var zn=function(){var e=new Tt.MathNode("mtd",[]);return e.setAttribute("width","50%"),e};st({type:"tag",mathmlBuilder:function(e,t){var r=new Tt.MathNode("mtable",[new Tt.MathNode("mtr",[zn(),new Tt.MathNode("mtd",[It(e.body,t)]),zn(),new Tt.MathNode("mtd",[It(e.tag,t)])])]);return r.setAttribute("width","100%"),r}});var An={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},Tn={"\\textbf":"textbf","\\textmd":"textmd"},Bn={"\\textit":"textit","\\textup":"textup"},Cn=function(e,t){var r=e.font;return r?An[r]?t.withTextFontFamily(An[r]):Tn[r]?t.withTextFontWeight(Tn[r]):t.withTextFontShape(Bn[r]):t};ot({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:"text",mode:r.mode,body:ht(a),font:n}},htmlBuilder:function(e,t){var r=Cn(e,t),n=ft(e.body,r,!0);return Ke.makeSpan(["mord","text"],n,r)},mathmlBuilder:function(e,t){var r=Cn(e,t);return It(e.body,r)}}),ot({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){return{type:"underline",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var r=wt(e.body,t),n=Ke.makeLineSpan("underline-line",t),a=t.fontMetrics().defaultRuleThickness,i=Ke.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:a},{type:"elem",elem:n},{type:"kern",size:3*a},{type:"elem",elem:r}]},t);return Ke.makeSpan(["mord","underline"],[i],t)},mathmlBuilder:function(e,t){var r=new Tt.MathNode("mo",[new Tt.TextNode("\u203e")]);r.setAttribute("stretchy","true");var n=new Tt.MathNode("munder",[Rt(e.body,t),r]);return n.setAttribute("accentunder","true"),n}}),ot({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler:function(e,t){return{type:"vcenter",mode:e.parser.mode,body:t[0]}},htmlBuilder:function(e,t){var r=wt(e.body,t),n=t.fontMetrics().axisHeight,a=.5*(r.height-n-(r.depth+n));return Ke.makeVList({positionType:"shift",positionData:a,children:[{type:"elem",elem:r}]},t)},mathmlBuilder:function(e,t){return new Tt.MathNode("mpadded",[Rt(e.body,t)],["vcenter"])}}),ot({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler:function(e,t,r){throw new n("\\verb ended by end of line instead of matching delimiter")},htmlBuilder:function(e,t){for(var r=Nn(e),n=[],a=t.havingStyle(t.style.text()),i=0;i
+ ${e.weekdaysNarrow.map((l,c)=>`
+ `,a=n.map(l=>`
+ ${l} `).join("")}
+
+ ${l.map(c=>`
+
+ `).join("");return`
+
+
+ `).join("")}
+
+
+ ${r}
+
+
+ ${a}
+
+
+ `}function Hy(s,t,e){const i=[],n=ot(s),o=ot(St(s,-1)),r=ot(St(s,1)),a=K(s),l=by(a,n,e),c=bl(s),h=bl(St(s,-1)),d=7;let u=1,p=!1;for(let f=1;f
+ ${h.map(d=>{const u=i.monthsShort.indexOf(d);return`
+
+ `).join("")}
+ `;return`
+
+
+ `}).join("")}
+
+
+ ${c}
+
+
+ `}function Vy(s,t){const e=[];let i=[];for(let n=0;n
+ ${c.map(h=>`
+
+ `).join("")}
+ `;return`
+
+
+ `).join("")}
+
+
+ ${l}
+
+
+ `}function Fy(s,t,e){const i=[],n=K(s),o=$o(s,t),r=n-o;let a=[];for(let l=0;l
${n}
+${a}
+`:""} +${l.enable?wC(l,r,c):""} + `,rows:y,column:T}},PC=({rows:s,field:t,order:e})=>s.sort((n,o)=>{let r=n[t],a=o[t];return typeof r=="string"&&(r=r.toLowerCase()),typeof a=="string"&&(a=a.toLowerCase()),ra?e==="desc"?-1:1:0}),NC=(s,t,e)=>{if(!t)return s;const i=n=>{const o=document.createElement("div");return o.innerHTML=n,n=o.textContent||o.innerText||"",n.toString().toLowerCase().match(t.toLowerCase())};return s.filter(n=>{if(e&&typeof e=="string")return i(n[e]);let o=Object.values(n);return e&&Array.isArray(e)&&(o=Object.keys(n).filter(r=>e.includes(r)).map(r=>n[r])),o.filter(r=>i(r)).length>0})},Ip=({rows:s,entries:t,activePage:e})=>{const i=e*t;return s.slice(i,i+Number(t))},un="datatable",Ht=`data-te-${un}`,pn=`te.${un}`,ur=`.${pn}`,BC=`[${Ht}-inner-ref]`,Xl=`[${Ht}-cell-ref]`,HC=`[${Ht}-header-ref]`,VC=`[${Ht}-header-checkbox-ref]`,FC=`[${Ht}-pagination-right-ref]`,WC=`[${Ht}-pagination-left-ref]`,zC=`[${Ht}-pagination-start-ref]`,jC=`[${Ht}-pagination-end-ref]`,YC=`[${Ht}-pagination-nav-ref]`,KC=`[${Ht}-select-ref]`,Gl=`[${Ht}-sort-icon-ref]`,fn=`[${Ht}-row-ref]`,ql=`[${Ht}-row-checkbox-ref]`,UC=`selectRows${ur}`,Dp=`render${ur}`,XC=`rowClick${ur}`,GC=`update${ur}`,qC=``,ZC=``,QC=``,JC=``,tA=``,eA="border-neutral-200 dark:border-neutral-500",iA="border-none",sA="relative float-left -ml-[1.5rem] mr-[6px] mt-[0.15rem] h-[1.125rem] w-[1.125rem] appearance-none rounded-[0.25rem] border-[0.125rem] border-solid border-neutral-300 outline-none before:pointer-events-none before:absolute before:h-[0.875rem] before:w-[0.875rem] before:scale-0 before:rounded-full before:bg-transparent before:opacity-0 before:shadow-[0px_0px_0px_13px_transparent] before:content-[''] checked:border-primary checked:bg-primary checked:before:opacity-[0.16] checked:after:absolute checked:after:-mt-px checked:after:ml-[0.25rem] checked:after:block checked:after:h-[0.8125rem] checked:after:w-[0.375rem] checked:after:rotate-45 checked:after:border-[0.125rem] checked:after:border-l-0 checked:after:border-t-0 checked:after:border-solid checked:after:border-white checked:after:bg-transparent checked:after:content-[''] hover:cursor-pointer hover:before:opacity-[0.04] hover:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] focus:shadow-none focus:transition-[border-color_0.2s] focus:before:scale-100 focus:before:opacity-[0.12] focus:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] focus:before:transition-[box-shadow_0.2s,transform_0.2s] focus:after:absolute focus:after:z-[1] focus:after:block focus:after:h-[0.875rem] focus:after:w-[0.875rem] focus:after:rounded-[0.125rem] focus:after:content-[''] checked:focus:before:scale-100 checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] checked:focus:before:transition-[box-shadow_0.2s,transform_0.2s] checked:focus:after:-mt-px checked:focus:after:ml-[0.25rem] checked:focus:after:h-[0.8125rem] checked:focus:after:w-[0.375rem] checked:focus:after:rotate-45 checked:focus:after:rounded-none checked:focus:after:border-[0.125rem] checked:focus:after:border-l-0 checked:focus:after:border-t-0 checked:focus:after:border-solid checked:focus:after:border-white checked:focus:after:bg-transparent dark:border-neutral-600 dark:checked:border-primary dark:checked:bg-primary dark:focus:before:shadow-[0px_0px_0px_13px_rgba(255,255,255,0.4)] dark:checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] dark:border-neutral-400",nA="mb-[0.125rem] min-h-[1.5rem] pl-[1.5rem] ml-3 flex items-center",oA="relative float-left -ml-[1.5rem] mr-[6px] mt-[0.15rem] h-[1.125rem] w-[1.125rem] appearance-none rounded-[0.25rem] border-[0.125rem] border-solid border-neutral-300 outline-none before:pointer-events-none before:absolute before:h-[0.875rem] before:w-[0.875rem] before:scale-0 before:rounded-full before:bg-transparent before:opacity-0 before:shadow-[0px_0px_0px_13px_transparent] before:content-[''] checked:border-primary checked:bg-primary checked:before:opacity-[0.16] checked:after:absolute checked:after:-mt-px checked:after:ml-[0.25rem] checked:after:block checked:after:h-[0.8125rem] checked:after:w-[0.375rem] checked:after:rotate-45 checked:after:border-[0.125rem] checked:after:border-l-0 checked:after:border-t-0 checked:after:border-solid checked:after:border-white checked:after:bg-transparent checked:after:content-[''] hover:cursor-pointer hover:before:opacity-[0.04] hover:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] focus:shadow-none focus:transition-[border-color_0.2s] focus:before:scale-100 focus:before:opacity-[0.12] focus:before:shadow-[0px_0px_0px_13px_rgba(0,0,0,0.6)] focus:before:transition-[box-shadow_0.2s,transform_0.2s] focus:after:absolute focus:after:z-[1] focus:after:block focus:after:h-[0.875rem] focus:after:w-[0.875rem] focus:after:rounded-[0.125rem] focus:after:content-[''] checked:focus:before:scale-100 checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] checked:focus:before:transition-[box-shadow_0.2s,transform_0.2s] checked:focus:after:-mt-px checked:focus:after:ml-[0.25rem] checked:focus:after:h-[0.8125rem] checked:focus:after:w-[0.375rem] checked:focus:after:rotate-45 checked:focus:after:rounded-none checked:focus:after:border-[0.125rem] checked:focus:after:border-l-0 checked:focus:after:border-t-0 checked:focus:after:border-solid checked:focus:after:border-white checked:focus:after:bg-transparent dark:border-neutral-600 dark:checked:border-primary dark:checked:bg-primary dark:focus:before:shadow-[0px_0px_0px_13px_rgba(255,255,255,0.4)] dark:checked:focus:before:shadow-[0px_0px_0px_13px_#3b71ca] dark:border-neutral-400",rA="mb-[0.125rem] min-h-[1.5rem] pl-[1.5rem] ml-3 flex items-center",aA="bg-white dark:bg-neutral-800",lA="py-4 pl-1 text-clip overflow-hidden text-[#212529] dark:text-white",cA="focus:outline-none",hA="sticky top-0 z-30",dA="sticky z-10 bg-inherit",uA="hover:bg-neutral-100 dark:hover:bg-neutral-700",pA="pointer-events-none cursor-none text-neutral-400 dark:text-neutral-300",fA="h-[2px] relative w-full overflow-hidden",_A="text-center text-neutral-500 font-ligh text-sm my-4 dark:text-neutral-400",gA="text-neutral-500 dark:text-neutral-300",mA="text-neutral-500 dark:text-neutral-300",bA="pointer-events-none cursor-none",vA="h-full w-[45%] bg-primary-400 dark:bg-primary-600",yA="h-full animate-[progress_3s_ease-in-out_infinite]",TA="pl-2 py-3 font-light text-sm dark:text-neutral-300",EA="border-b",xA="flex md:flex-row justify-end items-center py-2 space-x-4 text-sm flex-col leading-[1.6]",CA="border border-t-0",AA="order-1 my-3 md:order-none md:my-0 md:pr-1",wA="inline-block rounded p-2.5 text-xs font-medium uppercase leading-normal transition duration-150 ease-in-out hover:bg-neutral-100 hover:text-primary-600 focus:text-primary-600 focus:outline-none focus:ring-0 active:text-primary-700 disabled:text-slate-300 disabled:hover:bg-transparent dark:hover:bg-neutral-500 dark:disabled:hover:bg-transparent dark:disabled:text-neutral-600",kA="inline-block rounded p-2.5 font-medium uppercase leading-normal transition duration-150 ease-in-out hover:bg-neutral-100 hover:text-primary-600 focus:text-primary-600 focus:outline-none focus:ring-0 active:text-primary-700 disabled:text-slate-300 disabled:hover:bg-transparent dark:hover:bg-neutral-500 dark:disabled:hover:bg-transparent dark:disabled:text-neutral-600",SA="font-normal order-2 mb-3 md:order-none md:mb-0",OA="inline-block rounded p-2.5 font-medium uppercase leading-normal transition duration-150 ease-in-out hover:bg-neutral-100 hover:text-primary-600 focus:text-primary-600 focus:outline-none focus:ring-0 active:text-primary-700 disabled:text-slate-300 disabled:hover:bg-transparent dark:hover:bg-neutral-500 dark:disabled:hover:bg-transparent dark:disabled:text-neutral-600",IA="font-light",DA="inline-block rounded p-2.5 font-medium uppercase leading-normal transition duration-150 ease-in-out hover:bg-neutral-100 hover:text-primary-600 focus:text-primary-600 focus:outline-none focus:ring-0 active:text-primary-700 disabled:text-slate-300 disabled:hover:bg-transparent dark:hover:bg-neutral-500 dark:disabled:hover:bg-transparent dark:disabled:text-neutral-600",MA="border-b",LA="transition ease-in-out duration-300 motion-reduce:transition-none",$A="whitespace-nowrap text-clip overflow-auto px-[1.4rem] py-4",RA="relative",PA="!bg-neutral-100 dark:!bg-neutral-600",NA="flex items-center space-x-4 order-3 md:order-none",BA="w-[70px]",HA="!py-2",VA="w-[15px] h-[10px] origin-bottom font-black mr-1 opacity-0 text-neutral-500 group-hover:opacity-100 transition hover:ease-in-out transform ease-linear duration-300 motion-reduce:transition-none dark:text-neutral-400",FA="flex flex-row group",WA="[&:nth-child(odd)]:bg-neutral-50 [&:nth-child(odd)]:dark:bg-neutral-700",zA="border",jA="border-b font-normal px-[1.4rem]",YA="text-left text-sm font-light w-full leading-[1.6]",KA={bordered:"boolean",borderless:"boolean",clickableRows:"boolean",defaultValue:"string",edit:"boolean",entries:"(number|string)",entriesOptions:"array",fullPagination:"boolean",hover:"boolean",loading:"boolean",loadingMessage:"string",maxWidth:"(null|number|string)",maxHeight:"(null|number|string)",multi:"boolean",noFoundMessage:"string",pagination:"boolean",selectable:"boolean",sm:"boolean",sortField:"(null|string)",sortOrder:"string",fixedHeader:"boolean",striped:"boolean",rowsText:"string",ofText:"string",allText:"string",forceSort:"boolean",sortIconTemplate:"string",paginationStartIconTemplate:"string",paginationEndIconTemplate:"string",paginationLeftIconTemplate:"string",paginationRightIconTemplate:"string"},UA={bordered:!1,borderless:!1,clickableRows:!1,defaultValue:"-",edit:!1,entries:10,entriesOptions:[10,25,50,200],fixedHeader:!1,fullPagination:!1,hover:!1,loading:!1,loadingMessage:"Loading results...",maxWidth:null,maxHeight:null,multi:!1,noFoundMessage:"No matching results found",pagination:!0,selectable:!1,sm:!1,sortField:null,sortOrder:"asc",striped:!1,rowsText:"Rows per page:",ofText:"of",allText:"All",forceSort:!1,sortIconTemplate:qC,paginationStartIconTemplate:ZC,paginationEndIconTemplate:tA,paginationLeftIconTemplate:QC,paginationRightIconTemplate:JC},XA={label:"string",field:"string",fixed:"(boolean|string)",format:"(function|null)",width:"(number|null)",sort:"boolean",columnIndex:"number"},GA={label:"",field:"",fixed:!1,format:null,width:null,sort:!0,columnIndex:0},qA={table:YA,tableHeader:jA,column:lA,pagination:xA,selectWrapper:BA,scroll:RA,tableBordered:zA,paginationBordered:CA,borderless:iA,checkboxRowWrapper:rA,checkboxRow:oA,checkboxHeaderWrapper:nA,checkboxHeader:sA,row:MA,rowItem:$A,striped:WA,sortIconWrapper:FA,sortIcon:VA,paginationRowsText:IA,paginationNav:SA,paginationButtonsWrapper:AA,hoverRow:uA,borderColor:eA,color:aA,fixedHeader:hA,fixedHeaderBody:dA,selectableRow:PA,rowAnimation:LA,sm:HA,edit:cA,selectItemsWrapper:NA,paginationStartButton:DA,paginationLeftButton:kA,paginationRightButton:OA,paginationEndButton:wA,loadingItemsWrapper:fA,loadingProgressBarWrapper:yA,loadingProgressBar:vA,loadingMessage:_A,loadingPaginationRowsText:mA,loadingPaginationSelectWrapper:bA,loadingPaginationNav:gA,loadingColumn:pA,noFoundMessageWrapper:EA,noFoundMessage:TA},ZA={table:"string",tableHeader:"string",column:"string",pagination:"string",selectWrapper:"string",scroll:"string",tableBordered:"string",paginationBordered:"string",borderless:"string",checkboxRowWrapper:"string",checkboxRow:"string",checkboxHeaderWrapper:"string",checkboxHeader:"string",row:"string",rowItem:"string",striped:"string",sortIconWrapper:"string",sortIcon:"string",paginationRowsText:"string",paginationNav:"string",paginationButtonsWrapper:"string",hoverRow:"string",borderColor:"string",color:"string",fixedHeader:"string",fixedHeaderBody:"string",selectableRow:"string",rowAnimation:"string",sm:"string",edit:"string",selectItemsWrapper:"string",paginationStartButton:"string",paginationLeftButton:"string",paginationRightButton:"string",paginationEndButton:"string",loadingItemsWrapper:"string",loadingProgressBarWrapper:"string",loadingProgressBar:"string",loadingMessage:"string",loadingPaginationRowsText:"string",loadingPaginationSelectWrapper:"string",loadingPaginationNav:"string",loadingColumn:"string",noFoundMessageWrapper:"string",noFoundMessage:"string"};class pr{constructor(t,e={},i={},n={}){this._element=t,this._options=this._getOptions(i),this._classes=this._getClasses(n),this._sortReverse=!1,this._activePage=0,this._search="",this._searchColumn=null,this._paginationLeft=null,this._paginationRight=null,this._paginationStart=null,this._paginationEnd=null,this._select=null,this._selectInstance=null,this._selected=[],this._checkboxes=null,this._headerCheckbox=null,this._rows=this._getRows(e.rows),this._columns=this._getColumns(e.columns),this._element&&(O.setData(t,pn,this),this._perfectScrollbar=null,this._setup())}static get NAME(){return un}get columns(){return this._columns.map((t,e)=>{let i={...GA,field:`field_${e}`,columnIndex:e};return typeof t=="string"?i.label=t:typeof t=="object"&&(i={...i,...t}),L("column",i,XA),i})}get rows(){return this._rows.map((t,e)=>{const i={rowIndex:e};return Array.isArray(t)?this.columns.forEach((n,o)=>{t[o]===0?i[n.field]=t[o]:i[n.field]=t[o]||this._options.defaultValue}):typeof t=="object"&&this.columns.forEach(n=>{t[n.field]===0?i[n.field]=t[n.field]:i[n.field]=t[n.field]||this._options.defaultValue}),i})}get searchResult(){return NC(this.rows,this._search,this._searchColumn)}get computedRows(){let t=[...this.searchResult];return this._options.sortOrder&&(t=PC({rows:t,field:this._options.sortField,order:this._options.sortOrder})),this._options.pagination&&(this._options.entries==="All"?t=Ip({rows:t,entries:t.length,activePage:this._activePage}):t=Ip({rows:t,entries:this._options.entries,activePage:this._activePage})),t}get pages(){return this._options.entries==="All"?1:Math.ceil(this.searchResult.length/this._options.entries)}get navigationText(){const t=this._activePage*this._options.entries;return this.searchResult.length===0?`0 ${this._options.ofText} 0`:this._options.entries==="All"?`1 - ${this.searchResult.length} ${this._options.ofText} ${this.searchResult.length}`:`${t+1} - ${this.computedRows.length+t} ${this._options.ofText} ${this.searchResult.length}`}get tableOptions(){return{classes:this._classes,columns:this.columns,rows:this.computedRows,noFoundMessage:this._options.noFoundMessage,edit:this._options.edit,loading:this._options.loading,loaderClass:this._options.loaderClass,loadingMessage:this._options.loadingMessage,selectable:this._options.selectable,multi:this._options.multi,bordered:this._options.bordered,borderless:this._options.borderless,striped:this._options.striped,hover:this._options.hover,fixedHeader:this._options.fixedHeader,sm:this._options.sm,sortIconTemplate:this._options.sortIconTemplate,pagination:{enable:this._options.pagination,text:this.navigationText,entries:this._options.entries,entriesOptions:this._options.entriesOptions,fullPagination:this._options.fullPagination,rowsText:this._options.rowsText,ofText:this._options.ofText,allText:this._options.allText,paginationStartIconTemplate:this._options.paginationStartIconTemplate,paginationLeftIconTemplate:this._options.paginationLeftIconTemplate,paginationRightIconTemplate:this._options.paginationRightIconTemplate,paginationEndIconTemplate:this._options.paginationEndIconTemplate,classes:this._classes},forceSort:this._options.forceSort}}update(t,e={}){t&&t.rows&&(this._rows=t.rows),t&&t.columns&&(this._columns=t.columns),this._clearClassList(e),this._options=this._getOptions({...this._options,...e}),this._setup(),this._performSort()}dispose(){this._selectInstance&&this._selectInstance.dispose(),O.removeData(this._element,pn),this._removeEventListeners(),this._perfectScrollbar.destroy(),this._element=null}search(t,e){this._search=t,this._searchColumn=e,this._activePage=0,this._options.pagination&&this._toggleDisableState(),this._renderRows(),this._options.maxHeight&&(this._perfectScrollbar.element.scrollTop=0,this._perfectScrollbar.update())}sort(t,e="asc"){this._options.sortOrder=e,typeof t=="string"?this._options.sortField=this.columns.find(n=>n.label===t).field:this._options.sortField=t.field;const i=m.findOne(`[data-te-sort="${this._options.sortField}"]`,this._element);this._activePage=0,this._toggleDisableState(),this._renderRows(),this._setActiveSortIcon(i)}setActivePage(t){t0&&s.stroke()}}function Pn(s,t,e){return e=e||.5,!t||s&&s.x>t.left-e&&s.x l(n,x,y)&&a(n,x)!==0,C=()=>a(o,y)===0||l(o,x,y),A=()=>b||E(),w=()=>!b||C();for(let S=h,k=h;S<=d;++S)T=t[S%r],!T.skip&&(y=c(T[i]),y!==x&&(b=l(y,n,o),v===null&&A()&&(v=a(y,n)===0?S:k),v!==null&&w()&&(f.push(l_({start:v,end:S,loop:u,count:r,style:p})),v=null),k=S,x=y));return v!==null&&f.push(l_({start:v,end:d,loop:u,count:r,style:p})),f}function h_(s,t){const e=[],i=s.segments;for(let n=0;n
+ {{ .Description }}
+
/)).concat(e)):e;var s}#t(){if(this.#I)return null;let e=a("span");return e.className=i,this.#C?(e.innerHTML=f(this.opts.cursorChar).innerHTML,e):(e.style.visibility="hidden",e)}#T(e){let t=this.opts.nextStringDelay;this.queue.add([{delay:t[0]},...e,{delay:t[1]}])}#u(e){((e,t)=>{if(S(e))return void(e.value=`${e.value}${t.textContent}`);t.innerHTML="";let s=(r=t.originalParent,/body/i.test(r?.tagName)?e:t.originalParent||e);var r;s.insertBefore(t,A("."+i,s)||null)})(this.element,e)}#m(){this.#y.length&&(this.#I?this.element.value=this.element.value.slice(0,-1):this.#n(this.#y[this.cursorPosition]))}#n(e){((e,t)=>{if(!e)return;let s=e.parentNode;(s.childNodes.length>1||s.isSameNode(t)?e:s).remove()})(e,this.element)}#l(e=0){return function(e){let{speed:t,deleteSpeed:s,lifeLike:i}=e;return s=null!==s?s:t/3,i?[d(t,p(t)),d(s,p(s))]:[t,s]}(this.opts)[e]}get#d(){return this.predictedCursorPosition??this.cursorPosition}get#I(){return S(this.element)}get#C(){return!!this.opts.cursor&&!this.#I}get#y(){return e=this.element,S(e)?c(e.value):y(e,!0).filter((e=>!(e.childNodes.length>0)));var e}}}));
diff --git a/themes/blowfish/blowfish_logo.png b/themes/blowfish/blowfish_logo.png
new file mode 100644
index 0000000..667a56c
Binary files /dev/null and b/themes/blowfish/blowfish_logo.png differ
diff --git a/themes/blowfish/config.toml b/themes/blowfish/config.toml
new file mode 100644
index 0000000..3f8c96b
--- /dev/null
+++ b/themes/blowfish/config.toml
@@ -0,0 +1,5 @@
+[module]
+ [module.hugoVersion]
+ extended = true
+ min = "0.87.0"
+ max = "0.121.1"
\ No newline at end of file
diff --git a/themes/blowfish/config/_default/config.toml b/themes/blowfish/config/_default/config.toml
new file mode 100644
index 0000000..632d765
--- /dev/null
+++ b/themes/blowfish/config/_default/config.toml
@@ -0,0 +1,65 @@
+# -- Site Configuration --
+# Refer to the theme docs for more details about each of these parameters.
+# https://blowfish.page/docs/getting-started/
+
+# theme = "blowfish"
+# baseURL = "https://your_domain.com/"
+defaultContentLanguage = "en"
+
+# pluralizeListTitles = "true" # hugo function useful for non-english languages, find out more in https://gohugo.io/getting-started/configuration/#pluralizelisttitles
+
+enableRobotsTXT = true
+paginate = 10
+summaryLength = 0
+
+buildDrafts = false
+buildFuture = false
+
+# googleAnalytics = "G-XXXXXXXXX"
+
+[imaging]
+ anchor = 'Center'
+
+[taxonomies]
+ tag = "tags"
+ category = "categories"
+ author = "authors"
+ series = "series"
+
+[sitemap]
+ changefreq = 'daily'
+ filename = 'sitemap.xml'
+ priority = 0.5
+
+[outputs]
+ home = ["HTML", "RSS", "JSON"]
+
+[related]
+ threshold = 0
+ toLower = false
+
+ [[related.indices]]
+ name = "tags"
+ weight = 100
+
+ [[related.indices]]
+ name = "categories"
+ weight = 100
+
+ [[related.indices]]
+ name = "series"
+ weight = 50
+
+ [[related.indices]]
+ name = "authors"
+ weight = 20
+
+ [[related.indices]]
+ name = "date"
+ weight = 10
+
+ [[related.indices]]
+ applyFilter = false
+ name = 'fragmentrefs'
+ type = 'fragments'
+ weight = 10
diff --git a/themes/blowfish/config/_default/languages.en.toml b/themes/blowfish/config/_default/languages.en.toml
new file mode 100644
index 0000000..c50fd6e
--- /dev/null
+++ b/themes/blowfish/config/_default/languages.en.toml
@@ -0,0 +1,65 @@
+languageCode = "en"
+languageName = "English"
+weight = 1
+title = "Blowfish"
+
+[params]
+ displayName = "EN"
+ isoCode = "en"
+ rtl = false
+ dateFormat = "2 January 2006"
+ # logo = "img/logo.png"
+ # secondaryLogo = "img/secondary-logo.png"
+ # description = "My awesome website"
+ # copyright = "Copy, _right?_ :thinking_face:"
+
+# [author]
+# name = "Your name here"
+# image = "img/blowfish_logo.png"
+# headline = "I'm only human"
+# bio = "A little bit about you"
+# links = [
+# { email = "mailto:hello@your_domain.com" },
+# { link = "https://link-to-some-website.com/" },
+# { amazon = "https://www.amazon.com/hz/wishlist/ls/wishlist-id" },
+# { apple = "https://www.apple.com" },
+# { blogger = "https://username.blogspot.com/" },
+# { codepen = "https://codepen.io/username" },
+# { dev = "https://dev.to/username" },
+# { discord = "https://discord.gg/invitecode" },
+# { dribbble = "https://dribbble.com/username" },
+# { facebook = "https://facebook.com/username" },
+# { flickr = "https://www.flickr.com/photos/username/" },
+# { foursquare = "https://foursquare.com/username" },
+# { github = "https://github.com/username" },
+# { gitlab = "https://gitlab.com/username" },
+# { google = "https://www.google.com/" },
+# { hashnode = "https://username.hashnode.dev" },
+# { instagram = "https://instagram.com/username" },
+# { keybase = "https://keybase.io/username" },
+# { kickstarter = "https://www.kickstarter.com/profile/username" },
+# { lastfm = "https://lastfm.com/user/username" },
+# { linkedin = "https://linkedin.com/in/username" },
+# { mastodon = "https://mastodon.instance/@username" },
+# { medium = "https://medium.com/username" },
+# { microsoft = "https://www.microsoft.com/" },
+# { orcid = "https://orcid.org/userid" },
+# { patreon = "https://www.patreon.com/username" },
+# { pinterest = "https://pinterest.com/username" },
+# { reddit = "https://reddit.com/user/username" },
+# { researchgate = "https://www.researchgate.net/profile/username" },
+# { slack = "https://workspace.url/team/userid" },
+# { snapchat = "https://snapchat.com/add/username" },
+# { soundcloud = "https://soundcloud.com/username" },
+# { stack-overflow = "https://stackoverflow.com/users/userid/username" },
+# { steam = "https://steamcommunity.com/profiles/userid" },
+# { telegram = "https://t.me/username" },
+# { tiktok = "https://tiktok.com/@username" },
+# { tumblr = "https://username.tumblr.com" },
+# { twitch = "https://twitch.tv/username" },
+# { twitter = "https://twitter.com/username" },
+# { x-twitter = "https://twitter.com/username" },
+# { whatsapp = "https://wa.me/phone-number" },
+# { youtube = "https://youtube.com/username" },
+# { ko-fi = "https://ko-fi.com/username" },
+# ]
diff --git a/themes/blowfish/config/_default/markup.toml b/themes/blowfish/config/_default/markup.toml
new file mode 100644
index 0000000..c5449fc
--- /dev/null
+++ b/themes/blowfish/config/_default/markup.toml
@@ -0,0 +1,13 @@
+# -- Markup --
+# These settings are required for the theme to function.
+
+[goldmark]
+[goldmark.renderer]
+ unsafe = true
+
+[highlight]
+ noClasses = false
+
+[tableOfContents]
+ startLevel = 2
+ endLevel = 4
diff --git a/themes/blowfish/config/_default/menus.en.toml b/themes/blowfish/config/_default/menus.en.toml
new file mode 100644
index 0000000..579cedd
--- /dev/null
+++ b/themes/blowfish/config/_default/menus.en.toml
@@ -0,0 +1,69 @@
+# -- Main Menu --
+# The main menu is displayed in the header at the top of the page.
+# Acceptable parameters are name, pageRef, page, url, title, weight.
+#
+# The simplest menu configuration is to provide:
+# name = The name to be displayed for this menu link
+# pageRef = The identifier of the page or section to link to
+#
+# By default the menu is ordered alphabetically. This can be
+# overridden by providing a weight value. The menu will then be
+# ordered by weight from lowest to highest.
+
+#[[main]]
+# name = "Blog"
+# pageRef = "posts"
+# weight = 10
+
+#[[main]]
+# name = "Parent"
+# weight = 20
+
+#[[main]]
+# name = "example sub-menu 1"
+# parent = "Parent"
+# pageRef = "posts"
+# weight = 20
+
+#[[main]]
+# name = "example sub-menu 2"
+# parent = "Parent"
+# pageRef = "posts"
+# weight = 20
+
+#[[subnavigation]]
+# name = "An interesting topic"
+# pageRef = "tags/interesting-topic"
+# weight = 10
+
+#[[subnavigation]]
+# name = "My Awesome Category"
+# pre = "github"
+# pageRef = "categories/awesome"
+# weight = 20
+
+#[[main]]
+# name = "Categories"
+# pageRef = "categories"
+# weight = 20
+
+#[[main]]
+# name = "Tags"
+# pageRef = "tags"
+# weight = 30
+
+
+# -- Footer Menu --
+# The footer menu is displayed at the bottom of the page, just before
+# the copyright notice. Configure as per the main menu above.
+
+
+# [[footer]]
+# name = "Tags"
+# pageRef = "tags"
+# weight = 10
+
+# [[footer]]
+# name = "Categories"
+# pageRef = "categories"
+# weight = 20
diff --git a/themes/blowfish/config/_default/module.toml b/themes/blowfish/config/_default/module.toml
new file mode 100644
index 0000000..74f7727
--- /dev/null
+++ b/themes/blowfish/config/_default/module.toml
@@ -0,0 +1,3 @@
+[hugoVersion]
+ extended = false
+ min = "0.87.0"
diff --git a/themes/blowfish/config/_default/params.toml b/themes/blowfish/config/_default/params.toml
new file mode 100644
index 0000000..4ec4494
--- /dev/null
+++ b/themes/blowfish/config/_default/params.toml
@@ -0,0 +1,142 @@
+# -- Theme Options --
+# These options control how the theme functions and allow you to
+# customise the display of your website.
+#
+# Refer to the theme docs for more details about each of these parameters.
+# https://blowfish.page/docs/configuration/#theme-parameters
+
+colorScheme = "blowfish"
+defaultAppearance = "light" # valid options: light or dark
+autoSwitchAppearance = true
+
+enableSearch = true
+enableCodeCopy = false
+
+# mainSections = ["section1", "section2"]
+# robots = ""
+
+disableImageOptimization = false
+disableTextInHeader = false
+
+# defaultBackgroundImage = "IMAGE.jpg" # used as default for background images
+# defaultFeaturedImage = "IMAGE.jpg" # used as default for featured images in all articles
+
+# highlightCurrentMenuArea = true
+# smartTOC = true
+# smartTOCHideUnfocusedChildren = true
+
+[header]
+ layout = "basic" # valid options: basic, fixed, fixed-fill, fixed-fill-blur
+
+[footer]
+ showMenu = true
+ showCopyright = true
+ showThemeAttribution = true
+ showAppearanceSwitcher = true
+ showScrollToTop = true
+
+[homepage]
+ layout = "profile" # valid options: page, profile, hero, card, background, custom
+ #homepageImage = "IMAGE.jpg" # used in: hero, and card
+ showRecent = false
+ showRecentItems = 5
+ showMoreLink = false
+ showMoreLinkDest = "/posts"
+ cardView = false
+ cardViewScreenWidth = false
+ layoutBackgroundBlur = false # only used when layout equals background
+
+[article]
+ showDate = true
+ showViews = false
+ showLikes = false
+ showDateUpdated = false
+ showAuthor = true
+ showHero = false
+ # heroStyle = "basic" # valid options: basic, big, background, thumbAndBackground
+ layoutBackgroundBlur = true # only used when heroStyle equals background or thumbAndBackground
+ layoutBackgroundHeaderSpace = true # only used when heroStyle equals background
+ showBreadcrumbs = false
+ showDraftLabel = true
+ showEdit = false
+ # editURL = "https://github.com/username/repo/"
+ editAppendPath = true
+ seriesOpened = false
+ showHeadingAnchors = true
+ showPagination = true
+ invertPagination = false
+ showReadingTime = true
+ showTableOfContents = false
+ # showRelatedContent = false
+ # relatedContentLimit = 3
+ showTaxonomies = false
+ showAuthorsBadges = false
+ showWordCount = true
+ # sharingLinks = [ "linkedin", "twitter", "reddit", "pinterest", "facebook", "email", "whatsapp", "telegram"]
+ showZenMode = false
+
+[list]
+ showHero = false
+ # heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
+ layoutBackgroundBlur = true # only used when heroStyle equals background or thumbAndBackground
+ layoutBackgroundHeaderSpace = true # only used when heroStyle equals background
+ showBreadcrumbs = false
+ showSummary = false
+ showViews = false
+ showLikes = false
+ showTableOfContents = false
+ showCards = false
+ groupByYear = true
+ cardView = false
+ cardViewScreenWidth = false
+ constrainItemsWidth = false
+
+[sitemap]
+ excludedKinds = ["taxonomy", "term"]
+
+[taxonomy]
+ showTermCount = true
+ showHero = false
+ # heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
+ showBreadcrumbs = false
+ showViews = false
+ showLikes = false
+ showTableOfContents = false
+ cardView = false
+
+[term]
+ showHero = false
+ # heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
+ showBreadcrumbs = false
+ showViews = false
+ showLikes = false
+ showTableOfContents = true
+ groupByYear = false
+ cardView = false
+ cardViewScreenWidth = false
+
+[firebase]
+ # apiKey = "XXXXXX"
+ # authDomain = "XXXXXX"
+ # projectId = "XXXXXX"
+ # storageBucket = "XXXXXX"
+ # messagingSenderId = "XXXXXX"
+ # appId = "XXXXXX"
+ # measurementId = "XXXXXX"
+
+[fathomAnalytics]
+ # site = "ABC12345"
+ # domain = "llama.yoursite.com"
+
+[buymeacoffee]
+ # identifier = ""
+ # globalWidget = true
+ # globalWidgetMessage = "Hello"
+ # globalWidgetColor = "#FFDD00"
+ # globalWidgetPosition = "Right"
+
+[verification]
+ # google = ""
+ # bing = ""
+ # pinterest = ""
+ # yandex = ""
diff --git a/themes/blowfish/data/githubColors.json b/themes/blowfish/data/githubColors.json
new file mode 100644
index 0000000..7f272e7
--- /dev/null
+++ b/themes/blowfish/data/githubColors.json
@@ -0,0 +1,533 @@
+{
+ "1C Enterprise": "#814CCC",
+ "4D": "#004289",
+ "ABAP": "#E8274B",
+ "ABAP CDS": "#555e25",
+ "ActionScript": "#882B0F",
+ "Ada": "#02f88c",
+ "Adobe Font Metrics": "#fa0f00",
+ "Agda": "#315665",
+ "AGS Script": "#B9D9FF",
+ "AIDL": "#34EB6B",
+ "AL": "#3AA2B5",
+ "Alloy": "#64C800",
+ "Alpine Abuild": "#0D597F",
+ "Altium Designer": "#A89663",
+ "AMPL": "#E6EFBB",
+ "AngelScript": "#C7D7DC",
+ "Ant Build System": "#A9157E",
+ "ANTLR": "#9DC3FF",
+ "ApacheConf": "#d12127",
+ "Apex": "#1797c0",
+ "API Blueprint": "#2ACCA8",
+ "APL": "#5A8164",
+ "Apollo Guidance Computer": "#0B3D91",
+ "AppleScript": "#101F1F",
+ "Arc": "#aa2afe",
+ "AsciiDoc": "#73a0c5",
+ "ASL": null,
+ "ASP.NET": "#9400ff",
+ "AspectJ": "#a957b0",
+ "Assembly": "#6E4C13",
+ "Astro": "#ff5a03",
+ "Asymptote": "#ff0000",
+ "ATS": "#1ac620",
+ "Augeas": "#9CC134",
+ "AutoHotkey": "#6594b9",
+ "AutoIt": "#1C3552",
+ "Avro IDL": "#0040FF",
+ "Awk": "#c30e9b",
+ "Ballerina": "#FF5000",
+ "BASIC": "#ff0000",
+ "Batchfile": "#C1F12E",
+ "Beef": "#a52f4e",
+ "Befunge": null,
+ "BibTeX": "#778899",
+ "Bicep": "#519aba",
+ "Bison": "#6A463F",
+ "BitBake": "#00bce4",
+ "Blade": "#f7523f",
+ "BlitzBasic": "#00FFAE",
+ "BlitzMax": "#cd6400",
+ "Bluespec": "#12223c",
+ "Boo": "#d4bec1",
+ "Boogie": "#c80fa0",
+ "Brainfuck": "#2F2530",
+ "Brightscript": "#662D91",
+ "Browserslist": "#ffd539",
+ "C": "#555555",
+ "C#": "#178600",
+ "C++": "#f34b7d",
+ "C2hs Haskell": null,
+ "Cabal Config": "#483465",
+ "Cap'n Proto": "#c42727",
+ "CartoCSS": null,
+ "Ceylon": "#dfa535",
+ "Chapel": "#8dc63f",
+ "Charity": null,
+ "ChucK": "#3f8000",
+ "Cirru": "#ccccff",
+ "Clarion": "#db901e",
+ "Classic ASP": "#6a40fd",
+ "Clean": "#3F85AF",
+ "Click": "#E4E6F3",
+ "CLIPS": "#00A300",
+ "Clojure": "#db5855",
+ "Closure Templates": "#0d948f",
+ "Cloud Firestore Security Rules": "#FFA000",
+ "CMake": "#DA3434",
+ "COBOL": null,
+ "CodeQL": "#140f46",
+ "CoffeeScript": "#244776",
+ "ColdFusion": "#ed2cd6",
+ "ColdFusion CFC": "#ed2cd6",
+ "COLLADA": "#F1A42B",
+ "Common Lisp": "#3fb68b",
+ "Common Workflow Language": "#B5314C",
+ "Component Pascal": "#B0CE4E",
+ "Cool": null,
+ "Coq": "#d0b68c",
+ "Crystal": "#000100",
+ "CSON": "#244776",
+ "Csound": "#1a1a1a",
+ "Csound Document": "#1a1a1a",
+ "Csound Score": "#1a1a1a",
+ "CSS": "#563d7c",
+ "CSV": "#237346",
+ "Cuda": "#3A4E3A",
+ "CUE": "#5886E1",
+ "CWeb": "#00007a",
+ "Cycript": null,
+ "Cython": "#fedf5b",
+ "D": "#ba595e",
+ "Dafny": "#FFEC25",
+ "Darcs Patch": "#8eff23",
+ "Dart": "#00B4AB",
+ "DataWeave": "#003a52",
+ "Dhall": "#dfafff",
+ "DIGITAL Command Language": null,
+ "DirectX 3D File": "#aace60",
+ "DM": "#447265",
+ "Dockerfile": "#384d54",
+ "Dogescript": "#cca760",
+ "DTrace": null,
+ "Dylan": "#6c616e",
+ "E": "#ccce35",
+ "Easybuild": "#069406",
+ "eC": "#913960",
+ "Ecere Projects": "#913960",
+ "ECL": "#8a1267",
+ "ECLiPSe": "#001d9d",
+ "EditorConfig": "#fff1f2",
+ "Eiffel": "#4d6977",
+ "EJS": "#a91e50",
+ "Elixir": "#6e4a7e",
+ "Elm": "#60B5CC",
+ "Emacs Lisp": "#c065db",
+ "EmberScript": "#FFF4F3",
+ "EQ": "#a78649",
+ "Erlang": "#B83998",
+ "F#": "#b845fc",
+ "F*": "#572e30",
+ "Factor": "#636746",
+ "Fancy": "#7b9db4",
+ "Fantom": "#14253c",
+ "Faust": "#c37240",
+ "Fennel": "#fff3d7",
+ "FIGlet Font": "#FFDDBB",
+ "Filebench WML": "#F6B900",
+ "Filterscript": null,
+ "fish": "#4aae47",
+ "Fluent": "#ffcc33",
+ "FLUX": "#88ccff",
+ "Forth": "#341708",
+ "Fortran": "#4d41b1",
+ "Fortran Free Form": "#4d41b1",
+ "FreeBasic": "#867db1",
+ "FreeMarker": "#0050b2",
+ "Frege": "#00cafe",
+ "Futhark": "#5f021f",
+ "G-code": "#D08CF2",
+ "Game Maker Language": "#71b417",
+ "GAML": "#FFC766",
+ "GAMS": "#f49a22",
+ "GAP": "#0000cc",
+ "GCC Machine Description": "#FFCFAB",
+ "GDB": null,
+ "GDScript": "#355570",
+ "GEDCOM": "#003058",
+ "Gemfile.lock": "#701516",
+ "Genie": "#fb855d",
+ "Genshi": "#951531",
+ "Gentoo Ebuild": "#9400ff",
+ "Gentoo Eclass": "#9400ff",
+ "Gerber Image": "#d20b00",
+ "Gherkin": "#5B2063",
+ "Git Attributes": "#F44D27",
+ "Git Config": "#F44D27",
+ "GLSL": "#5686a5",
+ "Glyph": "#c1ac7f",
+ "Gnuplot": "#f0a9f0",
+ "Go": "#00ADD8",
+ "Go Checksums": "#00ADD8",
+ "Go Module": "#00ADD8",
+ "Golo": "#88562A",
+ "Gosu": "#82937f",
+ "Grace": "#615f8b",
+ "Gradle": "#02303a",
+ "Grammatical Framework": "#ff0000",
+ "GraphQL": "#e10098",
+ "Graphviz (DOT)": "#2596be",
+ "Groovy": "#4298b8",
+ "Groovy Server Pages": "#4298b8",
+ "Hack": "#878787",
+ "Haml": "#ece2a9",
+ "Handlebars": "#f7931e",
+ "HAProxy": "#106da9",
+ "Harbour": "#0e60e3",
+ "Haskell": "#5e5086",
+ "Haxe": "#df7900",
+ "HCL": null,
+ "HiveQL": "#dce200",
+ "HLSL": "#aace60",
+ "HolyC": "#ffefaf",
+ "HTML": "#e34c26",
+ "HTML+ECR": "#2e1052",
+ "HTML+EEX": "#6e4a7e",
+ "HTML+ERB": "#701516",
+ "HTML+PHP": "#4f5d95",
+ "HTML+Razor": "#512be4",
+ "HTTP": "#005C9C",
+ "HXML": "#f68712",
+ "Hy": "#7790B2",
+ "HyPhy": null,
+ "IDL": "#a3522f",
+ "Idris": "#b30000",
+ "Ignore List": "#000000",
+ "IGOR Pro": "#0000cc",
+ "ImageJ Macro": "#99AAFF",
+ "Inform 7": null,
+ "INI": "#d1dbe0",
+ "Inno Setup": "#264b99",
+ "Io": "#a9188d",
+ "Ioke": "#078193",
+ "Isabelle": "#FEFE00",
+ "Isabelle ROOT": "#FEFE00",
+ "J": "#9EEDFF",
+ "JAR Manifest": "#b07219",
+ "Jasmin": "#d03600",
+ "Java": "#b07219",
+ "Java Properties": "#2A6277",
+ "Java Server Pages": "#2A6277",
+ "JavaScript": "#f1e05a",
+ "JavaScript+ERB": "#f1e05a",
+ "Jest Snapshot": "#15c213",
+ "JFlex": "#DBCA00",
+ "Jinja": "#a52a22",
+ "Jison": "#56b3cb",
+ "Jison Lex": "#56b3cb",
+ "Jolie": "#843179",
+ "jq": "#c7254e",
+ "JSON": "#292929",
+ "JSON with Comments": "#292929",
+ "JSON5": "#267CB9",
+ "JSONiq": "#40d47e",
+ "JSONLD": "#0c479c",
+ "Jsonnet": "#0064bd",
+ "Julia": "#a270ba",
+ "Jupyter Notebook": "#DA5B0B",
+ "Kaitai Struct": "#773b37",
+ "KakouneScript": "#6f8042",
+ "KiCad Layout": "#2f4aab",
+ "KiCad Legacy Layout": "#2f4aab",
+ "KiCad Schematic": "#2f4aab",
+ "Kotlin": "#A97BFF",
+ "KRL": "#28430A",
+ "LabVIEW": "#fede06",
+ "Lark": "#2980B9",
+ "Lasso": "#999999",
+ "Latte": "#f2a542",
+ "Lean": null,
+ "Less": "#1d365d",
+ "Lex": "#DBCA00",
+ "LFE": "#4C3023",
+ "LilyPond": "#9ccc7c",
+ "Limbo": null,
+ "Liquid": "#67b8de",
+ "Literate Agda": "#315665",
+ "Literate CoffeeScript": "#244776",
+ "Literate Haskell": "#5e5086",
+ "LiveScript": "#499886",
+ "LLVM": "#185619",
+ "Logos": null,
+ "Logtalk": "#295b9a",
+ "LOLCODE": "#cc9900",
+ "LookML": "#652B81",
+ "LoomScript": null,
+ "LSL": "#3d9970",
+ "Lua": "#000080",
+ "M": null,
+ "M4": null,
+ "M4Sugar": null,
+ "Macaulay2": "#d8ffff",
+ "Makefile": "#427819",
+ "Mako": "#7e858d",
+ "Markdown": "#083fa1",
+ "Marko": "#42bff2",
+ "Mask": "#f97732",
+ "Mathematica": "#dd1100",
+ "MATLAB": "#e16737",
+ "Max": "#c4a79c",
+ "MAXScript": "#00a6a6",
+ "mcfunction": "#E22837",
+ "Mercury": "#ff2b2b",
+ "Meson": "#007800",
+ "Metal": "#8f14e9",
+ "MiniD": null,
+ "Mirah": "#c7a938",
+ "mIRC Script": "#3d57c3",
+ "MLIR": "#5EC8DB",
+ "Modelica": "#de1d31",
+ "Modula-2": "#10253f",
+ "Modula-3": "#223388",
+ "Module Management System": null,
+ "Monkey": null,
+ "Moocode": null,
+ "MoonScript": "#ff4585",
+ "Motorola 68K Assembly": "#005daa",
+ "MQL4": "#62A8D6",
+ "MQL5": "#4A76B8",
+ "MTML": "#b7e1f4",
+ "MUF": null,
+ "mupad": "#244963",
+ "Mustache": "#724b3b",
+ "Myghty": null,
+ "nanorc": "#2d004d",
+ "NASL": null,
+ "NCL": "#28431f",
+ "Nearley": "#990000",
+ "Nemerle": "#3d3c6e",
+ "nesC": "#94B0C7",
+ "NetLinx": "#0aa0ff",
+ "NetLinx+ERB": "#747faa",
+ "NetLogo": "#ff6375",
+ "NewLisp": "#87AED7",
+ "Nextflow": "#3ac486",
+ "Nginx": "#009639",
+ "Nim": "#ffc200",
+ "Nit": "#009917",
+ "Nix": "#7e7eff",
+ "NPM Config": "#cb3837",
+ "NSIS": null,
+ "Nu": "#c9df40",
+ "NumPy": "#9C8AF9",
+ "Nunjucks": "#3d8137",
+ "NWScript": "#111522",
+ "Objective-C": "#438eff",
+ "Objective-C++": "#6866fb",
+ "Objective-J": "#ff0c5a",
+ "ObjectScript": "#424893",
+ "OCaml": "#3be133",
+ "Odin": "#60AFFE",
+ "Omgrofl": "#cabbff",
+ "ooc": "#b0b77e",
+ "Opa": null,
+ "Opal": "#f7ede0",
+ "Open Policy Agent": "#7d9199",
+ "OpenCL": "#ed2e2d",
+ "OpenEdge ABL": "#5ce600",
+ "OpenQASM": "#AA70FF",
+ "OpenRC runscript": null,
+ "OpenSCAD": "#e5cd45",
+ "Org": "#77aa99",
+ "Ox": null,
+ "Oxygene": "#cdd0e3",
+ "Oz": "#fab738",
+ "P4": "#7055b5",
+ "Pan": "#cc0000",
+ "Papyrus": "#6600cc",
+ "Parrot": "#f3ca0a",
+ "Parrot Assembly": null,
+ "Parrot Internal Representation": null,
+ "Pascal": "#E3F171",
+ "Pawn": "#dbb284",
+ "PEG.js": "#234d6b",
+ "Pep8": "#C76F5B",
+ "Perl": "#0298c3",
+ "PHP": "#4F5D95",
+ "PicoLisp": "#6067af",
+ "PigLatin": "#fcd7de",
+ "Pike": "#005390",
+ "PLpgSQL": "#336790",
+ "PLSQL": "#dad8d8",
+ "PogoScript": "#d80074",
+ "Pony": null,
+ "PostCSS": "#dc3a0c",
+ "PostScript": "#da291c",
+ "POV-Ray SDL": "#6bac65",
+ "PowerBuilder": "#8f0f8d",
+ "PowerShell": "#012456",
+ "Prisma": "#0c344b",
+ "Processing": "#0096D8",
+ "Prolog": "#74283c",
+ "Propeller Spin": "#7fa2a7",
+ "Pug": "#a86454",
+ "Puppet": "#302B6D",
+ "PureBasic": "#5a6986",
+ "PureScript": "#1D222D",
+ "Python": "#3572A5",
+ "Python console": "#3572A5",
+ "Python traceback": "#3572A5",
+ "q": "#0040cd",
+ "Q#": "#fed659",
+ "QMake": null,
+ "QML": "#44a51c",
+ "Qt Script": "#00b841",
+ "Quake": "#882233",
+ "R": "#198CE7",
+ "Racket": "#3c5caa",
+ "Ragel": "#9d5200",
+ "Raku": "#0000fb",
+ "RAML": "#77d9fb",
+ "Rascal": "#fffaa0",
+ "RDoc": "#701516",
+ "REALbasic": null,
+ "Reason": "#ff5847",
+ "Rebol": "#358a5b",
+ "Record Jar": "#0673ba",
+ "Red": "#f50000",
+ "Redcode": null,
+ "Regular Expression": "#009a00",
+ "Ren'Py": "#ff7f7f",
+ "RenderScript": null,
+ "ReScript": "#ed5051",
+ "reStructuredText": "#141414",
+ "REXX": "#d90e09",
+ "Ring": "#2D54CB",
+ "Riot": "#A71E49",
+ "RMarkdown": "#198ce7",
+ "RobotFramework": "#00c0b5",
+ "Roff": "#ecdebe",
+ "Roff Manpage": "#ecdebe",
+ "Rouge": "#cc0088",
+ "RPC": null,
+ "Ruby": "#701516",
+ "RUNOFF": "#665a4e",
+ "Rust": "#dea584",
+ "Sage": null,
+ "SaltStack": "#646464",
+ "SAS": "#B34936",
+ "Sass": "#a53b70",
+ "Scala": "#c22d40",
+ "Scaml": "#bd181a",
+ "Scheme": "#1e4aec",
+ "Scilab": "#ca0f21",
+ "SCSS": "#c6538c",
+ "sed": "#64b970",
+ "Self": "#0579aa",
+ "ShaderLab": "#222c37",
+ "Shell": "#89e051",
+ "ShellSession": null,
+ "Shen": "#120F14",
+ "Sieve": null,
+ "Singularity": "#64E6AD",
+ "Slash": "#007eff",
+ "Slice": "#003fa2",
+ "Slim": "#2b2b2b",
+ "Smali": null,
+ "Smalltalk": "#596706",
+ "Smarty": "#f0c040",
+ "SmPL": "#c94949",
+ "SMT": null,
+ "Solidity": "#AA6746",
+ "SourcePawn": "#f69e1d",
+ "SPARQL": "#0C4597",
+ "SQF": "#3F3F3F",
+ "SQL": "#e38c00",
+ "SQLPL": "#e38c00",
+ "Squirrel": "#800000",
+ "SRecode Template": "#348a34",
+ "Stan": "#b2011d",
+ "Standard ML": "#dc566d",
+ "Starlark": "#76d275",
+ "Stata": "#1a5f91",
+ "StringTemplate": "#3fb34f",
+ "Stylus": "#ff6347",
+ "SubRip Text": "#9e0101",
+ "SugarSS": "#2fcc9f",
+ "SuperCollider": "#46390b",
+ "Svelte": "#ff3e00",
+ "SVG": "#ff9900",
+ "Swift": "#F05138",
+ "SWIG": null,
+ "SystemVerilog": "#DAE1C2",
+ "Tcl": "#e4cc98",
+ "Tcsh": null,
+ "Terra": "#00004c",
+ "TeX": "#3D6117",
+ "Textile": "#ffe7ac",
+ "TextMate Properties": "#df66e4",
+ "Thrift": "#D12127",
+ "TI Program": "#A0AA87",
+ "TLA": "#4b0079",
+ "TOML": "#9c4221",
+ "TSQL": "#e38c00",
+ "TSV": "#237346",
+ "TSX": "#2b7489",
+ "Turing": "#cf142b",
+ "Twig": "#c1d026",
+ "TXL": "#0178b8",
+ "TypeScript": "#2b7489",
+ "Unified Parallel C": "#4e3617",
+ "Unity3D Asset": "#222c37",
+ "Unix Assembly": null,
+ "Uno": "#9933cc",
+ "UnrealScript": "#a54c4d",
+ "UrWeb": "#ccccee",
+ "V": "#4f87c4",
+ "Vala": "#fbe5cd",
+ "Valve Data Format": "#f26025",
+ "VBA": "#867db1",
+ "VBScript": "#15dcdc",
+ "VCL": "#148AA8",
+ "Verilog": "#b2b7f8",
+ "VHDL": "#adb2cb",
+ "Vim Help File": "#199f4b",
+ "Vim Script": "#199f4b",
+ "Vim Snippet": "#199f4b",
+ "Visual Basic .NET": "#945db7",
+ "Volt": "#1F1F1F",
+ "Vue": "#41b883",
+ "wdl": "#42f1f4",
+ "Web Ontology Language": "#5b70bd",
+ "WebAssembly": "#04133b",
+ "WebIDL": null,
+ "Wikitext": "#fc5757",
+ "Windows Registry Entries": "#52d5ff",
+ "wisp": "#7582D1",
+ "Wollok": "#a23738",
+ "World of Warcraft Addon Data": "#f7e43f",
+ "X10": "#4B6BEF",
+ "xBase": "#403a40",
+ "XC": "#99DA07",
+ "XML": "#0060ac",
+ "XML Property List": "#0060ac",
+ "Xojo": "#81bd41",
+ "Xonsh": "#285EEF",
+ "XProc": null,
+ "XQuery": "#5232e7",
+ "XS": null,
+ "XSLT": "#EB8CEB",
+ "Xtend": "#24255d",
+ "Yacc": "#4B6C4B",
+ "YAML": "#cb171e",
+ "YARA": "#220000",
+ "YASnippet": "#32AB90",
+ "ZAP": "#0d665e",
+ "Zeek": null,
+ "ZenScript": "#00BCD1",
+ "Zephir": "#118f9e",
+ "Zig": "#ec915c",
+ "ZIL": "#dc75e5",
+ "Zimpl": "#d67711"
+}
\ No newline at end of file
diff --git a/themes/blowfish/data/sharing.json b/themes/blowfish/data/sharing.json
new file mode 100644
index 0000000..a0669ff
--- /dev/null
+++ b/themes/blowfish/data/sharing.json
@@ -0,0 +1,42 @@
+{
+ "email": {
+ "icon": "email",
+ "title": "sharing.email",
+ "url": "mailto:?body=%s&subject=%s"
+ },
+ "facebook": {
+ "icon": "facebook",
+ "title": "sharing.facebook",
+ "url": "https://www.facebook.com/sharer/sharer.php?u=%s"e=%s"
+ },
+ "linkedin": {
+ "icon": "linkedin",
+ "title": "sharing.linkedin",
+ "url": "https://www.linkedin.com/shareArticle?mini=true&url=%s&title=%s"
+ },
+ "pinterest": {
+ "icon": "pinterest",
+ "title": "sharing.pinterest",
+ "url": "https://pinterest.com/pin/create/bookmarklet/?url=%s&description=%s"
+ },
+ "reddit": {
+ "icon": "reddit",
+ "title": "sharing.reddit",
+ "url": "https://reddit.com/submit/?url=%s&resubmit=true&title=%s"
+ },
+ "twitter": {
+ "icon": "x-twitter",
+ "title": "sharing.twitter",
+ "url": "https://twitter.com/intent/tweet/?url=%s&text=%s"
+ },
+ "whatsapp": {
+ "icon": "whatsapp",
+ "title": "sharing.whatsapp",
+ "url": "https://api.whatsapp.com/send?text=%s&resubmit=true&title=%s"
+ },
+ "telegram": {
+ "icon": "telegram",
+ "title": "sharing.telegram",
+ "url": "https://t.me/share/url?url=%s&resubmit=true&title=%s"
+ }
+}
\ No newline at end of file
diff --git a/themes/blowfish/exampleSite/archetypes/default.md b/themes/blowfish/exampleSite/archetypes/default.md
new file mode 100644
index 0000000..00e77bd
--- /dev/null
+++ b/themes/blowfish/exampleSite/archetypes/default.md
@@ -0,0 +1,6 @@
+---
+title: "{{ replace .Name "-" " " | title }}"
+date: {{ .Date }}
+draft: true
+---
+
diff --git a/themes/blowfish/exampleSite/assets/img/author2.png b/themes/blowfish/exampleSite/assets/img/author2.png
new file mode 100644
index 0000000..c1a3c06
Binary files /dev/null and b/themes/blowfish/exampleSite/assets/img/author2.png differ
diff --git a/themes/blowfish/exampleSite/assets/img/bg.jpg b/themes/blowfish/exampleSite/assets/img/bg.jpg
new file mode 100644
index 0000000..3a7617d
Binary files /dev/null and b/themes/blowfish/exampleSite/assets/img/bg.jpg differ
diff --git a/themes/blowfish/exampleSite/assets/img/blowfish.jpg b/themes/blowfish/exampleSite/assets/img/blowfish.jpg
new file mode 100644
index 0000000..ad842ea
Binary files /dev/null and b/themes/blowfish/exampleSite/assets/img/blowfish.jpg differ
diff --git a/themes/blowfish/exampleSite/assets/img/iceland.jpg b/themes/blowfish/exampleSite/assets/img/iceland.jpg
new file mode 100644
index 0000000..6352a78
Binary files /dev/null and b/themes/blowfish/exampleSite/assets/img/iceland.jpg differ
diff --git a/themes/blowfish/exampleSite/assets/img/nuno_avatar.jpg b/themes/blowfish/exampleSite/assets/img/nuno_avatar.jpg
new file mode 100644
index 0000000..c350016
Binary files /dev/null and b/themes/blowfish/exampleSite/assets/img/nuno_avatar.jpg differ
diff --git a/themes/blowfish/exampleSite/assets/img/ocean.jpg b/themes/blowfish/exampleSite/assets/img/ocean.jpg
new file mode 100644
index 0000000..9f1220a
Binary files /dev/null and b/themes/blowfish/exampleSite/assets/img/ocean.jpg differ
diff --git a/themes/blowfish/exampleSite/assets/img/paint.png b/themes/blowfish/exampleSite/assets/img/paint.png
new file mode 100644
index 0000000..6f6659a
Binary files /dev/null and b/themes/blowfish/exampleSite/assets/img/paint.png differ
diff --git a/themes/blowfish/exampleSite/assets/js/home.js b/themes/blowfish/exampleSite/assets/js/home.js
new file mode 100644
index 0000000..fc8e558
--- /dev/null
+++ b/themes/blowfish/exampleSite/assets/js/home.js
@@ -0,0 +1,76 @@
+var layouts = [
+ "background",
+ "hero",
+ "profile",
+ "page",
+ "card"
+]
+
+var currentLayout = 0
+
+function switchHomeLayout() {
+
+ var old = currentLayout
+ currentLayout = currentLayout == layouts.length - 1 ? 0 : currentLayout + 1
+
+ var oldDiv = document.getElementById(layouts[old])
+ var currentDiv = document.getElementById(layouts[currentLayout])
+ const layoutCode = document.querySelectorAll("code[id=layout]");
+
+ currentDiv.style.display = "block";
+ oldDiv.style.display = "none";
+ layoutCode.forEach(function (el) {
+ el.innerText = layouts[currentLayout];
+ });
+
+}
+
+window.addEventListener("DOMContentLoaded", (event) => {
+ document.querySelectorAll("#switch-layout-button").forEach((button) =>
+ button.addEventListener("click", function (e) {
+ e.preventDefault();
+ switchHomeLayout();
+ })
+ );
+});
+
+var list_config = [
+ "CardViewProse",
+ "CardViewScreenWidth",
+ "NormalView"
+]
+
+var titles = {
+ "CardViewProse" : "card view with constrained width",
+ "CardViewScreenWidth" : "card view with full width",
+ "NormalView" : "standard list view"
+}
+
+var currentConfig = 0
+
+function switchList() {
+
+ var old = currentConfig
+ currentConfig = currentConfig == list_config.length - 1 ? 0 : currentConfig + 1
+
+ var oldDiv = document.getElementById(list_config[old])
+ var currentDiv = document.getElementById(list_config[currentConfig])
+ const configCode = document.querySelectorAll("code[id=config]");
+
+ currentDiv.style.display = "block";
+ oldDiv.style.display = "none";
+
+ configCode.forEach(function (el) {
+ el.innerText = titles[list_config[currentConfig]];
+ });
+
+}
+
+window.addEventListener("DOMContentLoaded", (event) => {
+ document.querySelectorAll("#switch-config-button").forEach((button) =>
+ button.addEventListener("click", function (e) {
+ e.preventDefault();
+ switchList();
+ })
+ );
+});
diff --git a/themes/blowfish/exampleSite/config/_default/config.toml b/themes/blowfish/exampleSite/config/_default/config.toml
new file mode 100644
index 0000000..a02c2f9
--- /dev/null
+++ b/themes/blowfish/exampleSite/config/_default/config.toml
@@ -0,0 +1,65 @@
+# -- Site Configuration --
+# Refer to the theme docs for more details about each of these parameters.
+# https://blowfish.page/docs/getting-started/
+
+theme = "blowfish"
+baseURL = "https://nunocoracao.github.io/blowfish"
+defaultContentLanguage = "en"
+
+# pluralizeListTitles = "true" # hugo function useful for non-english languages, find out more in https://gohugo.io/getting-started/configuration/#pluralizelisttitles
+
+enableRobotsTXT = true
+paginate = 100
+summaryLength = 30
+
+buildDrafts = false
+buildFuture = false
+
+googleAnalytics = "G-PEDMYR1V0K"
+
+[imaging]
+ anchor = 'Center'
+
+[taxonomies]
+ tag = "tags"
+ category = "categories"
+ author = "authors"
+ series = "series"
+
+[sitemap]
+ changefreq = 'always'
+ filename = 'sitemap.xml'
+ priority = 0.5
+
+[outputs]
+ home = ["HTML", "RSS", "JSON"]
+
+[related]
+ threshold = 0
+ toLower = false
+
+ [[related.indices]]
+ name = "tags"
+ weight = 100
+
+ [[related.indices]]
+ name = "categories"
+ weight = 100
+
+ [[related.indices]]
+ name = "series"
+ weight = 50
+
+ [[related.indices]]
+ name = "authors"
+ weight = 20
+
+ [[related.indices]]
+ name = "date"
+ weight = 10
+
+ [[related.indices]]
+ applyFilter = false
+ name = 'fragmentrefs'
+ type = 'fragments'
+ weight = 10
diff --git a/themes/blowfish/exampleSite/config/_default/languages.en.toml b/themes/blowfish/exampleSite/config/_default/languages.en.toml
new file mode 100644
index 0000000..1baad36
--- /dev/null
+++ b/themes/blowfish/exampleSite/config/_default/languages.en.toml
@@ -0,0 +1,27 @@
+languageCode = "en"
+languageName = "English"
+weight = 1
+title = "Blowfish"
+
+[params]
+ displayName = "EN"
+ isoCode = "en"
+ rtl = false
+ dateFormat = "2 January 2006"
+ logo = "img/blowfish_logo_transparent.png"
+ # secondaryLogo = "PATH"
+ description = "A powerful, lightweight theme for Hugo built with Tailwind CSS."
+ # copyright = "Copy, _right?_ :thinking_face:"
+
+[author]
+ name = "Blowfish"
+ image = "img/blowfish_logo.png"
+ headline = "A powerful, lightweight theme for Hugo built with Tailwind CSS."
+ bio = "A powerful, lightweight theme for Hugo built with Tailwind CSS."
+ links = [
+ { x-twitter = "https://twitter.com/burufugu" },
+ { mastodon = "https://masto.ai/@blowfish" },
+ { github = "https://github.com/nunocoracao/blowfish" },
+ ]
+
+
\ No newline at end of file
diff --git a/themes/blowfish/exampleSite/config/_default/markup.toml b/themes/blowfish/exampleSite/config/_default/markup.toml
new file mode 100644
index 0000000..c5449fc
--- /dev/null
+++ b/themes/blowfish/exampleSite/config/_default/markup.toml
@@ -0,0 +1,13 @@
+# -- Markup --
+# These settings are required for the theme to function.
+
+[goldmark]
+[goldmark.renderer]
+ unsafe = true
+
+[highlight]
+ noClasses = false
+
+[tableOfContents]
+ startLevel = 2
+ endLevel = 4
diff --git a/themes/blowfish/exampleSite/config/_default/menus.en.toml b/themes/blowfish/exampleSite/config/_default/menus.en.toml
new file mode 100644
index 0000000..b38af0e
--- /dev/null
+++ b/themes/blowfish/exampleSite/config/_default/menus.en.toml
@@ -0,0 +1,90 @@
+# -- Main Menu --
+# The main menu is displayed in the header at the top of the page.
+# Acceptable parameters are name, pageRef, page, url, title, weight.
+#
+# The simplest menu configuration is to provide:
+# name = The name to be displayed for this menu link
+# pageRef = The identifier of the page or section to link to
+#
+# By default the menu is ordered alphabetically. This can be
+# overridden by providing a weight value. The menu will then be
+# ordered by weight from lowest to highest.
+
+[[main]]
+ name = "Docs"
+ pageRef = "docs"
+ weight = 10
+
+[[main]]
+ name = "Shortcodes"
+ pageRef = "docs/shortcodes"
+ weight = 15
+
+[[main]]
+ name = "Samples"
+ pageRef = "samples"
+ weight = 16
+
+[[main]]
+ name = "Examples"
+ weight = 20
+
+[[main]]
+ name = "Showcase"
+ parent = "Examples"
+ pageRef = "examples"
+ weight = 30
+
+[[main]]
+ name = "Recipes"
+ parent = "Examples"
+ pageRef = "guides"
+ weight = 40
+
+[[main]]
+ name = "Users"
+ pageRef = "users"
+ weight = 90
+
+#[[main]]
+# name = "Merch"
+# url = "http://tee.pub/lic/qwSlWVBL5zc"
+# weight = 100
+
+#[[main]]
+# name = "Test"
+# pageRef = "pagTest"
+# weight = 1000
+
+[[main]]
+ identifier = "twitter"
+ pre = "x-twitter"
+ url = "https://twitter.com/burufugu"
+ weight = 200
+
+[[main]]
+ identifier = "mastodon"
+ pre = "mastodon"
+ url = "https://masto.ai/@blowfish"
+ weight = 300
+
+[[main]]
+ identifier = "github"
+ pre = "github"
+ url = "https://github.com/nunocoracao/blowfish"
+ weight = 400
+
+
+# -- Footer Menu --
+# The footer menu is displayed at the bottom of the page, just before
+# the copyright notice. Configure as per the main menu above.
+
+ [[footer]]
+ name = "Tags"
+ pageRef = "tags"
+ weight = 10
+
+ [[footer]]
+ name = "Authors"
+ pageRef = "authors"
+ weight = 20
diff --git a/themes/blowfish/exampleSite/config/_default/params.toml b/themes/blowfish/exampleSite/config/_default/params.toml
new file mode 100644
index 0000000..11319d6
--- /dev/null
+++ b/themes/blowfish/exampleSite/config/_default/params.toml
@@ -0,0 +1,141 @@
+# -- Theme Options --
+# These options control how the theme functions and allow you to
+# customise the display of your website.
+#
+# Refer to the theme docs for more details about each of these parameters.
+# https://blowfish.page/docs/configuration/#theme-parameters
+
+colorScheme = "blowfish"
+defaultAppearance = "dark" # valid options: light or dark
+autoSwitchAppearance = true
+
+enableSearch = true
+enableCodeCopy = true
+
+mainSections = ["docs"]
+# robots = ""
+
+disableImageOptimization = false
+disableTextInHeader = false
+
+defaultBackgroundImage = "/img/ocean.jpg"
+defaultFeaturedImage = "/img/ocean.jpg"
+
+highlightCurrentMenuArea = true
+smartTOC = true
+smartTOCHideUnfocusedChildren = false
+
+[header]
+ layout = "fixed" # valid options: basic, fixed, fixed-fill, fixed-fill-blur
+
+[footer]
+ showMenu = true
+ showCopyright = true
+ showThemeAttribution = true
+ showAppearanceSwitcher = true
+ showScrollToTop = true
+
+[homepage]
+ layout = "custom" # valid options: page, profile, hero, card, background, custom
+ # homepageImage = "/img/iceland.jpg" # used in: hero, and card
+ showRecent = false
+ showRecentItems = 12
+ showMoreLink = true
+ showMoreLinkDest = "docs"
+ cardView = false
+ cardViewScreenWidth = false
+ layoutBackgroundBlur = true # only used when layout equals background
+
+[article]
+ showDate = false
+ showViews = true
+ showLikes = true
+ showDateUpdated = false
+ showAuthor = true
+ showHero = true
+ heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
+ layoutBackgroundBlur = true # only used when heroStyle equals background
+ showBreadcrumbs = true
+ showDraftLabel = true
+ showEdit = true
+ editURL = "https://github.com/nunocoracao/blowfish/tree/main/exampleSite/content"
+ editAppendPath = true
+ seriesOpened = false
+ showHeadingAnchors = true
+ showPagination = true
+ invertPagination = false
+ showReadingTime = true
+ showTableOfContents = true
+ showRelatedContent = true
+ relatedContentLimit = 6
+ showTaxonomies = true
+ showAuthorsBadges = true
+ showWordCount = false
+ sharingLinks = [ "linkedin", "twitter", "reddit", "whatsapp", "telegram", "pinterest", "facebook", "email"]
+ showZenMode = true
+
+[list]
+ showHero = true
+ heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
+ layoutBackgroundBlur = true # only used when heroStyle equals background
+ layoutBackgroundHeaderSpace = false
+ showBreadcrumbs = false
+ showSummary = false
+ showViews = true
+ showLikes = true
+ showTableOfContents = true
+ showCards = true
+ groupByYear = false
+ cardView = true
+ cardViewScreenWidth = false
+ constrainItemsWidth = false
+
+[sitemap]
+ excludedKinds = []
+
+[taxonomy]
+ showTermCount = true
+ showHero = true
+ heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
+ showBreadcrumbs = false
+ showViews = true
+ showLikes = true
+ showTableOfContents = true
+ cardView = false
+
+[term]
+ showHero = true
+ heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
+ showBreadcrumbs = false
+ showViews = true
+ showLikes = true
+ showTableOfContents = true
+ groupByYear = false
+ cardView = true
+ cardViewScreenWidth = false
+
+[firebase]
+ apiKey = "AIzaSyB5tqlqDky77Vb4Tc4apiHV4hRZI18KGiY"
+ authDomain = "blowfish-21fff.firebaseapp.com"
+ projectId = "blowfish-21fff"
+ storageBucket = "blowfish-21fff.appspot.com"
+ messagingSenderId = "60108104191"
+ appId = "1:60108104191:web:039842ebe1370698b487ca"
+ measurementId = "G-PEDMYR1V0K"
+
+[fathomAnalytics]
+ # site = "ABC12345"
+ # domain = "llama.yoursite.com"
+
+[buymeacoffee]
+ identifier = "nunocoracao"
+ globalWidget = true
+ globalWidgetMessage = ""
+ globalWidgetColor = "#FFDD00"
+ globalWidgetPosition = "Right"
+
+[verification]
+ # google = ""
+ # bing = ""
+ # pinterest = ""
+ # yandex = ""
diff --git a/themes/blowfish/exampleSite/content/_index.md b/themes/blowfish/exampleSite/content/_index.md
new file mode 100755
index 0000000..312cf24
--- /dev/null
+++ b/themes/blowfish/exampleSite/content/_index.md
@@ -0,0 +1,23 @@
+---
+title: "Welcome to Blowfish! :tada:"
+description: "This is a demo of the Blowfish theme for Hugo."
+---
+
+This is a demo site built entirely using Blowfish. It also contains a complete set of [theme documentation]({{< ref "docs" >}}). Blowfish is flexible and is great for both static page-based content (like this demo) or a traditional blog with a feed of recent posts.
+
+background
layout.
+
+
+` blocks. The `highlight.noClasses` parameter must be set to `false` for code copy to function correctly. Read more about [other configuration files](#other-configuration-files) below. |
+| `mainSections` | _Not set_ | The sections that should be displayed in the recent articles list. If not provided the section with the greatest number of articles is used. |
+| `showViews` | _Not set_ | Whether or not articles and list views are displayed. This requires firebase integrations to be enabled, look below. |
+| `showLikes` | _Not set_ | Whether or not articles and list likes are displayed. This requires firebase integrations to be enabled, look below. |
+| `robots` | _Not set_ | String that indicates how robots should handle your site. If set, it will be output in the page head. Refer to [Google's docs](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives) for valid values. |
+| `disableImageZoom` | `false` | Disables image zoom feature across all the images in the site. |
+| `disableImageOptimization` | `false` | Disables image resize and optimization features across all the images in the site. |
+| `disableTextInHeader` | `false` | Disables text in header, useful for logo based headers. |
+| `defaultBackgroundImage` | _Not set_ | Default background image for both `background` homepage layout and `background` hero style |
+| `defaultFeaturedImage` | _Not set_ | Default background image for all `featured` images across articles, will be overriden by a local `featured` image. |
+| `highlightCurrentMenuArea` | _Not set_ | Marks menu entries in the main manu when selected |
+| `smartTOC` | _Not set_ | Activate smart Table of Contents, items in view will be highlighted. |
+| `smartTOCHideUnfocusedChildren` | _Not set_ | When smart Table of Contents is turned on, this will hide deeper levels of the table when they are not in focus. |
+
+### Header
+
+| Name | Default | Description |
+| --------------- | --------- | ------------------------------------------------------------------------------------------------------------------- |
+| `header.layout` | `"basic"` | Defines the header for the entire site, supported values are `basic`, `fixed`, `fixed-fill`, and `fixed-fill-blur`. |
+### Footer
+
+| Name | Default | Description |
+| ------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `footer.showMenu` | `true` | Show/hide the footer menu, which can be configured in the `[[footer]]` section of the `config/_default/menus.en.toml` file. |
+| `footer.showCopyright` | `true` | Whether or not to show the copyright string in the site footer. Note that the string itself can be customised using the `copyright` parameter in the [languages configuration](#language-and-i18n). |
+| `footer.showThemeAttribution` | `true` | Whether or not to show the "powered by" theme attribution in the site footer. If you choose to disable this message, please consider attributing the theme somewhere else on your site (for example, on your about page). |
+| `footer.showAppearanceSwitcher` | `false` | Whether or not to show the appearance switcher in the site footer. The browser's local storage is used to persist the visitor's preference. |
+| `footer.showScrollToTop` | `true` | When set to `true` the scroll to top arrow is displayed. |
+### Homepage
+
+| Name | Default | Description |
+| ------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `homepage.layout` | `"profile"` | The layout of the homepage. Valid values are `page`, `profile`, `hero`, `card`, `background`, or `custom`. When set to `custom`, you must provide your own layout by creating a `/layouts/partials/home/custom.html` file. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details. |
+| `homepage.homepageImage` | _Not set_ | Image to be used in `hero` and `card` layouts. Refer to the [Homepage Layout]({{< ref "homepage-layout" >}}) section for more details. |
+| `homepage.showRecent` | `false` | Whether or not to display the recent articles list on the homepage. |
+| `homepage.showRecentItems` | 5 | How many articles to display if showRecent is true. If variable is set to 0 or if it isn't defined the system will default to 5 articles. |
+| `homepage.showMoreLink` | `false` | Wether or not to display a show more link at the end of your posts that takes the user to a predefined place. |
+| `homepage.showMoreLinkDest` | `/posts` | The destination of the show more button. |
+| `homepage.cardView` | `false` | Display recent articles as a gallery of cards. |
+| `homepage.cardViewScreenWidth` | `false` | Enhance the width of the recent articles card gallery to take the full width available. |
+| `homepage.layoutBackgroundBlur` | `false` | Makes the background image in the homepage layout blur with the scroll |
+### Article
+
+| Name | Default | Description |
+| ------------------------------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `article.showDate` | `true` | Whether or not article dates are displayed. |
+| `article.showViews` | `false` | Whether or not article views are displayed. This requires firebase integrations to be enabled, look below. |
+| `article.showLikes` | `false` | Whether or not article likes are displayed. This requires firebase integrations to be enabled, look below. |
+| `article.showDateUpdated` | `false` | Whether or not the dates articles were updated are displayed. |
+| `article.showAuthor` | `true` | Whether or not the author box is displayed in the article footer. |
+| `article.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each article page. |
+| `article.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. |
+| `article.layoutBackgroundBlur` | `true` | Makes the background image in the background article heroStyle blur with the scroll |
+| `article.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. |
+| `article.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the article header. |
+| `article.showDraftLabel` | `true` | Whether or not the draft indicator is shown next to articles when site is built with `--buildDrafts`. |
+| `article.showEdit` | `false` | Whether or not the link to edit the article content should be displayed. |
+| `article.editURL` | _Not set_ | When `article.showEdit` is active, the URL for the edit link. |
+| `article.editAppendPath` | `true` | When `article.showEdit` is active, whether or not the path to the current article should be appended to the URL set at `article.editURL`. |
+| `article.seriesOpened` | `false` | Whether or not the series module will be displayed open by default or not. |
+| `article.showHeadingAnchors` | `true` | Whether or not heading anchor links are displayed alongside headings within articles. |
+| `article.showPagination` | `true` | Whether or not the next/previous article links are displayed in the article footer. |
+| `article.invertPagination` | `false` | Whether or not to flip the direction of the next/previous article links. |
+| `article.showReadingTime` | `true` | Whether or not article reading times are displayed. |
+| `article.showTableOfContents` | `false` | Whether or not the table of contents is displayed on articles. |
+| `article.showRelatedContent` | `false` | Display related content for each post. Might required additional configuration to your `config.toml`. Please check the theme `config.toml` if you want to enable this feature and copy all the relevant *related* entries. Also check [Hugo's docs](https://gohugo.io/content-management/related/) on related content. |
+| `article.relatedContentLimit` | `3` | Limit of related articles to display if ` showRelatedContent` is turned on. |
+| `article.showTaxonomies` | `false` | Whether or not the taxonomies related to this article are displayed. |
+| `article.showAuthorsBadges` | `false` | Whether the `authors` taxonomies are are displayed in the article or list header. This requires the setup of `multiple authors` and the `authors` taxonomy. Check [this page]({{< ref "multi-author" >}}) for more details on how to configure that feature. |
+| `article.showWordCount` | `false` | Whether or not article word counts are displayed. |
+| `article.showComments` | `false` | Whether or not the [comments partial]({{< ref "partials#comments" >}}) is included after the article footer. |
+| `article.sharingLinks` | _Not set_ | Which sharing links to display at the end of each article. When not provided, or set to `false` no links will be displayed. Available values are: "linkedin", "twitter", "reddit", "pinterest", "facebook", "email", "whatsapp", and "telegram" |
+| `article.showZenMode` | `false` | Flag to activate Zen Mode reading feature for articles. |
+
+### List
+
+| Name | Default | Description |
+| ---------------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `list.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each list page. |
+| `list.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. |
+| `list.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the header on list pages. |
+| `list.layoutBackgroundBlur` | `true` | Makes the background image in the background list heroStyle blur with the scroll |
+| `list.layoutBackgroundHeaderSpace` | `true` | Add space between the header and the body. |
+| `list.showTableOfContents` | `false` | Whether or not the table of contents is displayed on list pages. |
+| `list.showSummary` | `false` | Whether or not article summaries are displayed on list pages. If a summary is not provided in the [front matter]({{< ref "front-matter" >}}), one will be auto generated using the `summaryLength` parameter in the [site configuration](#site-configuration). |
+| `list.showViews` | `false` | Whether or not list views are displayed. This requires firebase integrations to be enabled, look below. |
+| `list.showLikes` | `false` | Whether or not list likes are displayed. This requires firebase integrations to be enabled, look below. |
+| `list.showCards` | `false` | Whether or not each article is displayed as a card or as simple inline text. |
+| `list.groupByYear` | `true` | Whether or not articles are grouped by year on list pages. |
+| `list.cardView` | `false` | Display lists as a gallery of cards. |
+| `list.cardViewScreenWidth` | `false` | Enhance the width of card galleries in lists to take the full width available. |
+| `list.constrainItemsWidth` | `false` | Limit item width to `prose` to increase readability. Useful when no feature images are available. |
+| `list.showTableOfContents` | `false` | Whether or not the table of contents is displayed on articles. |
+
+### Sitemap
+
+| Name | Default | Description |
+| ----------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `sitemap.excludedKinds` | `["taxonomy", "term"]` | Kinds of content that should be excluded from the generated `/sitemap.xml` file. Refer to the [Hugo docs](https://gohugo.io/templates/section-templates/#page-kinds) for acceptable values. |
+
+### Taxonomy
+
+| Name | Default | Description |
+| ------------------------------ | --------- | ---------------------------------------------------------------------------------------------------------- |
+| `taxonomy.showTermCount` | `true` | Whether or not the number of articles within a taxonomy term is displayed on the taxonomy listing. |
+| `taxonomy.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each taxonomy page. |
+| `taxonomy.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. |
+| `taxonomy.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the taxonomy header. |
+| `taxonomy.showViews` | `false` | Whether or not article views are displayed. This requires firebase integrations to be enabled, look below. |
+| `taxonomy.showLikes` | `false` | Whether or not article likes are displayed. This requires firebase integrations to be enabled, look below. |
+| `taxonomy.showTableOfContents` | `false` | Whether or not the table of contents is displayed on taxonomies. |
+| `taxonomy.cardView` | `false` | Display lists as a gallery of cards. |
+### Term
+
+| Name | Default | Description |
+| -------------------------- | --------- | ---------------------------------------------------------------------------------------------------------- |
+| `term.showHero` | `false` | Whether the thumbnail image will be shown as a hero image within each term page. |
+| `term.heroStyle` | _Not set_ | Style to display the hero image, valid options are: `basic`, `big`, `background`, `thumbAndBackground`. |
+| `term.showBreadcrumbs` | `false` | Whether or not breadcrumbs are displayed in the term header. |
+| `term.showViews` | `false` | Whether or not article views are displayed. This requires firebase integrations to be enabled, look below. |
+| `term.showLikes` | `false` | Whether or not article likes are displayed. This requires firebase integrations to be enabled, look below. |
+| `term.showTableOfContents` | `false` | Whether or not the table of contents is displayed on terms. |
+| `term.groupByYear` | `false` | Whether or not articles are grouped by year on term pages. |
+| `term.cardView` | `false` | Display lists as a gallery of cards. |
+| `term.cardViewScreenWidth` | `false` | Enhance the width of card galleries in lists to take the full width available. |
+### Firebase
+
+| Name | Default | Description |
+| ---------------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `firebase.apiKey` | _Not set_ | Firebase apiKey, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
+| `firebase.authDomain` | _Not set_ | Firebase authDomain, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
+| `firebase.projectId` | _Not set_ | Firebase projectId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
+| `firebase.storageBucket` | _Not set_ | Firebase storageBucket, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
+| `firebase.messagingSenderId` | _Not set_ | Firebase messagingSenderId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
+| `firebase.appId` | _Not set_ | Firebase appId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
+| `firebase.measurementId` | _Not set_ | Firebase measurementId, required to integrate against Firebase. Check [this page]({{< ref "firebase-views" >}}) for a guide on how to integrate Firebase into Blowfish. |
+
+### Fathom Analytics
+
+| Name | Default | Description |
+| ------------------------ | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
+| `fathomAnalytics.site` | _Not set_ | The site code generated by Fathom Analytics for the website. Refer to the [Analytics docs]({{< ref "partials#analytics" >}}) for more details. |
+| `fathomAnalytics.domain` | _Not set_ | If using a custom domain with Fathom Analytics, provide it here to serve `script.js` from the custom domain. |
+
+### BuyMeACoffee
+
+| Name | Default | Description |
+| ----------------------------------- | --------- | --------------------------------------------------------------------------- |
+| `buymeacoffee.identifier` | _Not set_ | The identifier to the target buymeacoffee account. |
+| `buymeacoffee.globalWidget` | _Not set_ | Activate the global buymeacoffee widget. |
+| `buymeacoffee.globalWidgetMessage` | _Not set_ | Message what will be displayed the first time a new user lands on the site. |
+| `buymeacoffee.globalWidgetColor` | _Not set_ | Widget color in hex format. |
+| `buymeacoffee.globalWidgetPosition` | _Not set_ | Position of the widget, i.e. "Left" or "Right" |
+### Verifications
+
+| Name | Default | Description |
+| ------------------------ | --------- | --------------------------------------------------------------------------------------- |
+| `verification.google` | _Not set_ | The site verification string provided by Google to be included in the site metadata. |
+| `verification.bing` | _Not set_ | The site verification string provided by Bing to be included in the site metadata. |
+| `verification.pinterest` | _Not set_ | The site verification string provided by Pinterest to be included in the site metadata. |
+| `verification.yandex` | _Not set_ | The site verification string provided by Yandex to be included in the site metadata. |
+
+
+## Other configuration files
+
+The theme also includes a `markup.toml` configuration file. This file contains some important parameters that ensure that Hugo is correctly configured to generate sites built with Blowfish.
+
+Always ensure this file is present in the config directory and that the required values are set. Failure to do so may cause certain features to function incorrectly and could result in unintended behaviour.
diff --git a/themes/blowfish/exampleSite/content/docs/content-examples/featured.png b/themes/blowfish/exampleSite/content/docs/content-examples/featured.png
new file mode 100644
index 0000000..864e7be
Binary files /dev/null and b/themes/blowfish/exampleSite/content/docs/content-examples/featured.png differ
diff --git a/themes/blowfish/exampleSite/content/docs/content-examples/index.md b/themes/blowfish/exampleSite/content/docs/content-examples/index.md
new file mode 100644
index 0000000..98902af
--- /dev/null
+++ b/themes/blowfish/exampleSite/content/docs/content-examples/index.md
@@ -0,0 +1,318 @@
+---
+title: "Content Examples"
+date: 2020-08-09
+draft: false
+description: "All the partials available in Blowfish."
+slug: "content-examples"
+tags: ["content", "example"]
+series: ["Documentation"]
+series_order: 12
+---
+
+If you've been reading the documentation in order, you should now know about all the features and configurations available in Blowfish. This page is designed to pull everything together and offer some worked examples that you might like to use in your Hugo project.
+
+{{< alert >}}
+**Tip:** If you're new to Hugo, be sure to check out the [official docs](https://gohugo.io/content-management/page-bundles/) to learn more about the concept of page bundles and resources.
+{{< /alert >}}
+
+The examples on this page can all be adapted to different scenarios but hopefully give you some ideas about how to approach formatting a particular content item for your individual project.
+
+## Branch pages
+
+Branch page bundles in Hugo cover items like the homepage, section listings, and taxonomy pages. The important thing to remember about branch bundles is that the filename for this content type is **`_index.md`**.
+
+Blowfish will honour the front matter parameters specified in branch pages and these will override the default settings for that particular page. For example, setting the `title` parameter in a branch page will allow overriding the page title.
+
+### Homepage
+
+| | |
+| ------------ | -------------------- |
+| **Layout:** | `layouts/index.html` |
+| **Content:** | `content/_index.md` |
+
+The homepage in Blowfish is special in that it's overarching design is controlled by the homepage layout config parameter. You can learn more about this in the [Homepage Layout]({{< ref "homepage-layout" >}}) section.
+
+If you want to add custom content to this page, you simply need to create a `content/_index.md` file. Anything in this file will then be included in your homepage.
+
+**Example:**
+
+```yaml
+---
+title: "Welcome to Blowfish!"
+description: "This is a demo of adding content to the homepage."
+---
+Welcome to my website! I'm really happy you stopped by.
+```
+
+_This example sets a custom title and adds some additional text to the body of the page. Any Markdown formatted text is acceptable, including shortcodes, images and links._
+
+### List pages
+
+| | |
+| ------------ | ---------------------------- |
+| **Layout:** | `layouts/_default/list.html` |
+| **Content:** | `content/../_index.md` |
+
+List pages group all the pages within into a section and provide a way for visitors to reach each page. A blog or portfolio are examples of a list page as they group together posts or projects.
+
+Creating a list page is as simple as making a sub-directory in the content folder. For example, to create a "Projects" section, you would create `content/projects/`. Then create a Markdown file for each of your projects.
+
+A list page will be generated by default, however to customise the content, you should also create an `_index.md` page in this new directory.
+
+```shell
+.
+└── content
+ └── projects
+ ├── _index.md # /projects
+ ├── first-project.md # /projects/first-project
+ └── another-project
+ ├── index.md # /projects/another-project
+ └── project.jpg
+```
+
+Hugo will generate URLs for the pages in your projects folder accordingly.
+
+Just like the homepage, content in the `_index.md` file will be output into the generated list index. Blowfish will then list any pages in this section below the content.
+
+**Example:**
+
+```yaml
+---
+title: "Projects"
+description: "Learn about some of my projects."
+cascade:
+ showReadingTime: false
+---
+This section contains all my current projects.
+```
+
+_In this example, the special `cascade` parameter is being used to hide the reading time on any sub-pages within this section. By doing this, any project pages will not have their reading time showing. This is a great way to override default theme parameters for an entire section without having to include them in every individual page._
+
+The [samples section]({{< ref "samples" >}}) of this site is an example of a list page.
+
+### Taxonomy pages
+
+| | |
+| ---------------- | -------------------------------- |
+| **List layout:** | `layouts/_default/taxonomy.html` |
+| **Term layout:** | `layouts/_default/term.html` |
+| **Content:** | `content/../_index.md` |
+
+Taxonomy pages come in two forms - taxonomy lists and taxonomy terms. Lists display a listing of each of the terms within a given taxonomy, while terms display a list of pages that are related to a given term.
+
+The terminology can get a little confusing so let's explore an example using a taxonomy named `animals`.
+
+Firstly, to use taxonomies in Hugo, they have to be configured. This is done by creating a config file at `config/_default/taxonomies.toml` and defining the taxonomy name.
+
+```toml
+# config/_default/taxonomies.toml
+
+animal = "animals"
+```
+
+Hugo expects taxonomies to be listed using their singular and plural forms, so we add the singular `animal` equals the plural `animals` to create our example taxonomy.
+
+Now that our `animals` taxonomy exists, it needs to be added to individual content items. It's as simple as inserting it into the front matter:
+
+```yaml
+---
+title: "Into the Lion's Den"
+description: "This week we're learning about lions."
+animals: ["lion", "cat"]
+---
+```
+
+This has now created two _terms_ within our `animals` taxonomy - `lion` and `cat`.
+
+Although it's not obvious at this point, Hugo will now be generating list and term pages for this new taxonomy. By default the listing can be accessed at `/animals/` and the term pages can be found at `/animals/lion/` and `/animals/cat/`.
+
+The list page will list all the terms contained within the taxonomy. In this example, navigating to `/animals/` will show a page that has links for "lion" and "cat" which take visitors to the individual term pages.
+
+The term pages will list all the pages contained within that term. These term lists are essentially the same as normal [list pages](#list-pages) and behave in much the same way.
+
+In order to add custom content to taxonomy pages, simply create `_index.md` files in the content folder using the taxonomy name as the sub-directory name.
+
+```shell
+.
+└── content
+ └── animals
+ ├── _index.md # /animals
+ └── lion
+ └── _index.md # /animals/lion
+```
+
+Anything in these content files will now be placed onto the generated taxonomy pages. As with other content, the front matter variables can be used to override defaults. In this way you could have a tag named `lion` but override the `title` to be "Lion".
+
+To see how this looks in reality, check out the [tags taxonomy listing]({{< ref "tags" >}}) on this site.
+
+## Leaf pages
+
+| | |
+| ------------------------- | ------------------------------- |
+| **Layout:** | `layouts/_default/single.html` |
+| **Content (standalone):** | `content/../page-name.md` |
+| **Content (bundled):** | `content/../page-name/index.md` |
+
+Leaf pages in Hugo are basically standard content pages. They are defined as pages that don't contain any sub-pages. These could be things like an about page, or an individual blog post that lives in the blog section of the website.
+
+The most important thing to remember about leaf pages is that unlike branch pages, leaf pages should be named `index.md` _without_ an underscore. Leaf pages are also special in that they can be grouped together at the top level of the section and named with a unique name.
+
+```shell
+.
+└── content
+ └── blog
+ ├── first-post.md # /blog/first-post
+ ├── second-post.md # /blog/second-post
+ └── third-post
+ ├── index.md # /blog/third-post
+ └── image.jpg
+```
+
+When including assets in a page, like an image, a page bundle should be used. Page bundles are created using a sub-directory with an `index.md` file. Grouping the assets with the content in its own directory is important as many of the shortcodes and other theme logic assumes that resources are bundled alongside pages.
+
+**Example:**
+
+```yaml
+---
+title: "My First Blog Post"
+date: 2022-01-25
+description: "Welcome to my blog!"
+summary: "Learn more about me and why I am starting this blog."
+tags: ["welcome", "new", "about", "first"]
+---
+_This_ is the content of my blog post.
+```
+
+Leaf pages have a wide variety of [front matter]({{< ref "front-matter" >}}) parameters that can be used to customise how they are displayed.
+
+### External links
+
+Blowfish has a special feature that allows links to external pages to appear alongside articles in the article listings. This is useful if you have content on third party websites like Medium, or research papers that you'd like to link to, without replicating the content in your Hugo site.
+
+In order to create an external link article, some special front matter needs to be set:
+
+```yaml
+---
+title: "My Medium post"
+date: 2022-01-25
+externalUrl: "https://medium.com/"
+summary: "I wrote a post on Medium."
+showReadingTime: false
+_build:
+ render: "false"
+ list: "local"
+---
+```
+
+Along with the normal front matter parameters like `title` and `summary`, the `externalUrl` parameter is used to tell Blowfish that this is not an ordinary article. The URL provided here will be where visitors are directed when they select this article.
+
+Additionally, we use a special Hugo front matter parameter `_build` to prevent a normal page for this content being generated - there's no point generating a page since we're linking to an external URL!
+
+The theme includes an archetype to make generating these external link articles simple. Just specify `-k external` when making new content.
+
+```shell
+hugo new -k external posts/my-post.md
+```
+
+### Simple pages
+
+| | |
+| ----------------- | ------------------------------ |
+| **Layout:** | `layouts/_default/simple.html` |
+| **Front Matter:** | `layout: "simple"` |
+
+Blowfish also includes a special layout for simple pages. The simple layout is a full-width template that just places Markdown content into the page without any special theme features.
+
+The only features available in the simple layout are breadcrumbs and sharing links. However, the behaviour of these can still be controlled using the normal page [front matter]({{< ref "front-matter" >}}) variables.
+
+To enable the simple layout on a particular page, add the `layout` front matter variable with a value of `"simple"`:
+
+```yaml
+---
+title: "My landing page"
+date: 2022-03-08
+layout: "simple"
+---
+This page content is now full-width.
+```
+
+## Custom layouts
+
+One of the benefits of Hugo is that it makes it easy to create custom layouts for the whole site, individual sections or pages.
+
+Layouts follow all the normal Hugo templating rules and more information is available in the [official Hugo docs](https://gohugo.io/templates/introduction/).
+
+### Overriding default layouts
+
+Each of the content types discussed above lists the layout file that is used to generate each type of page. If this file is created in your local project it will override the theme template and thus can be used to customise the default style of the website.
+
+For example, creating a `layouts/_default/single.html` file will allow the layout of leaf pages to be completely customised.
+
+### Custom section layouts
+
+It is also simple to create custom layouts for individual content sections. This is useful when you want to make a section that lists a certain type of content using a particular style.
+
+Let's step through an example that creates a custom "Projects" page that lists projects using a special layout.
+
+In order to do this, structure your content using the normal Hugo content rules and create a section for your projects. Additionally, create a new layout for the projects section by using the same directory name as the content and adding a `list.html` file.
+
+```shell
+.
+└── content
+│ └── projects
+│ ├── _index.md
+│ ├── first-project.md
+│ └── second-project.md
+└── layouts
+ └── projects
+ └── list.html
+```
+
+This `list.html` file will now override the default list template, but only for the `projects` section. Before we look at this file, lets first look at the individual project files.
+
+```yaml
+---
+title: "Blowfish"
+date: 2021-08-11
+icon: "github"
+description: "A theme for Hugo built with Tailwind CSS."
+topics: ["Hugo", "Web", "Tailwind"]
+externalUrl: "https://github.com/nunocoracao/blowfish/"
+---
+```
+
+_In this example we are assigning some metadata for each project that we can then use in our list template. There's no page content, but there's nothing stopping you from including it. It's your own custom template after all!_
+
+With the projects defined, now we can create a list template that outputs the details of each project.
+
+```go
+{{ define "main" }}
+
+ {{ .Title }}
+
+