diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..aa75133
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "layouts/shortcodes"]
+ path = layouts/shortcodes
+ url = https://code.gabe.rocks/gabriel/shortcodes.git
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..147d594
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2022 YOUR_NAME_HERE
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/archetypes/default.md b/archetypes/default.md
new file mode 100644
index 0000000..ac36e06
--- /dev/null
+++ b/archetypes/default.md
@@ -0,0 +1,2 @@
++++
++++
diff --git a/layouts/404.html b/layouts/404.html
new file mode 100644
index 0000000..91ec58f
--- /dev/null
+++ b/layouts/404.html
@@ -0,0 +1,23 @@
+
+
+
+ {{partial "head" .}}
+ 404: Not Found
+
+
+ {{partial "header" .}}
+ {{partial "banner-item" .}}
+
+
+ Error 404
+ Unfortunately this isn't a real page (yet?).
+ If you believe this is a mistake please get in touch .
+ A search function is in the works...
+ Please consider Supporting this work
+
+
+
+ {{partial "footer" .}}
+ {{partial "spritesheet" .}}
+
+
\ No newline at end of file
diff --git a/layouts/_default/list.html b/layouts/_default/list.html
new file mode 100644
index 0000000..4f9457c
--- /dev/null
+++ b/layouts/_default/list.html
@@ -0,0 +1,34 @@
+
+
+
+
+ {{partial "head" .}}
+
+
+
+ {{partial "header" .}}
+ {{partial "banner" .}}
+ {{partial "spritesheet" .}}
+
+
+ {{if .Content}}
+ {{.Content}}
+ {{end}}
+ {{ template "_internal/pagination.html" .}}
+
+ {{ if .Pages }}
+ {{range (.Paginate .Pages).Pages}}
+ {{partial "item" .}}
+ {{end}}
+ {{end}}
+
+
+ {{ template "_internal/pagination.html" .}}
+
+
+
+
+ {{partial "footer" .}}
+
+
+
\ No newline at end of file
diff --git a/layouts/_default/rss.xml b/layouts/_default/rss.xml
new file mode 100644
index 0000000..80234a2
--- /dev/null
+++ b/layouts/_default/rss.xml
@@ -0,0 +1,28 @@
+
+
+ {{.Title}}
+ {{ .Permalink }}
+ {{.Params.description}}
+ Hugo -- gohugo.io {{ with .Site.LanguageCode }}
+ {{.}} {{end}}
+
+ {{.Site.BaseURL}}{{.Site.Params.default_img}}
+
+ {{ range .Site.RegularPages }}
+ -
+
{{ .Title }}
+ {{ .Permalink }}
+ {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}
+ {{ with .Site.Author.email }}{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}} {{end}}
+ {{ .Permalink }} {{ if .Params.gif}}
+
+ {{end}}{{ if .Params.video}}
+
+ {{end}}{{ if .Params.audio}}
+
+ {{end}}{{ if .Params.image}}
+ {{.Site.BaseURL}}{{.Params.image}} {{end}}
+ {{- .Content | html -}}
+ {{ end }}
+
+
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
new file mode 100644
index 0000000..0554cda
--- /dev/null
+++ b/layouts/_default/single.html
@@ -0,0 +1,21 @@
+
+
+
+ {{partial "head" .}}
+
+
+ {{partial "header" .}}
+ {{partial "banner-item" .}}
+
+
+ {{.Content}}
+
+
+ {{partial "metadata" .}}
+ {{ partial "related" .}}
+
+
+ {{partial "footer" .}}
+ {{partial "spritesheet" .}}
+
+
\ No newline at end of file
diff --git a/layouts/about/rss.xml b/layouts/about/rss.xml
new file mode 100644
index 0000000..ea295f0
--- /dev/null
+++ b/layouts/about/rss.xml
@@ -0,0 +1,28 @@
+
+
+ {{.Site.Title}}
+ {{ .Site.BaseURL }}
+ {{.Site.Params.description}}
+ Hugo -- gohugo.io {{ with .Site.LanguageCode }}
+ {{.}} {{end}}
+
+ {{.Site.BaseURL}}{{.Site.Params.default_img}}
+
+ {{ range .Site.RegularPages | first 5}}
+ -
+
{{ .Title }}
+ {{ .Permalink }}
+ {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}
+ {{ with .Site.Author.email }}{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}} {{end}}
+ {{ .Permalink }} {{ if .Params.gif}}
+
+ {{end}}{{ if .Params.video}}
+
+ {{end}}{{ if .Params.audio}}
+
+ {{end}}{{ if .Params.image}}
+ {{.Site.BaseURL}}{{.Params.image}} {{end}}
+ {{- .Content | html -}}
+ {{ end }}
+
+
diff --git a/layouts/index.html b/layouts/index.html
new file mode 100644
index 0000000..c6826eb
--- /dev/null
+++ b/layouts/index.html
@@ -0,0 +1,21 @@
+
+
+
+
+ {{partial "head" .}}
+
+
+
+ {{partial "header" .}}
+ {{partial "banner" .}}
+
+
+ {{.Content}}
+
+
+
+ {{ partial "footer" .}}
+ {{partial "spritesheet" .}}
+
+
+
\ No newline at end of file
diff --git a/layouts/partials/banner-item.html b/layouts/partials/banner-item.html
new file mode 100644
index 0000000..285bd24
--- /dev/null
+++ b/layouts/partials/banner-item.html
@@ -0,0 +1,8 @@
+{{if .Params.image }}
+
+
+
{{.Title}}
+ {{.Params.description}}
+
+
+{{end}}
\ No newline at end of file
diff --git a/layouts/partials/banner.html b/layouts/partials/banner.html
new file mode 100644
index 0000000..60b1845
--- /dev/null
+++ b/layouts/partials/banner.html
@@ -0,0 +1,14 @@
+{{if .Params.banner}}
+
+ {{if .Params.bannerTitle}}
+
+ {{if .Params.bannerTitle}}
+
{{.Params.bannerTitle}}
+ {{end}}
+ {{if .Params.bannerText}}
+ {{.Params.bannerText}}
+ {{end}}
+
+ {{end}}
+
+{{end}}
\ No newline at end of file
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html
new file mode 100644
index 0000000..aca4863
--- /dev/null
+++ b/layouts/partials/footer.html
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/layouts/partials/head.html b/layouts/partials/head.html
new file mode 100644
index 0000000..b4c4d19
--- /dev/null
+++ b/layouts/partials/head.html
@@ -0,0 +1,31 @@
+{{ .Title}}
+
+
+
+
+
+
+
+
+
+
+{{if .Params.video}}
+
+
+
+
+
+
+{{else}}
+{{if .Params.peertubeURL}}
+
+{{else}}
+{{if .Params.audioURL}}
+
+
+{{else}}
+{{end}}{{end}}{{end}}{{ if .Params.image }}
+
+{{else}}
+{{end}}
+
diff --git a/layouts/partials/header.html b/layouts/partials/header.html
new file mode 100644
index 0000000..09ce10f
--- /dev/null
+++ b/layouts/partials/header.html
@@ -0,0 +1,22 @@
+
diff --git a/layouts/partials/item.html b/layouts/partials/item.html
new file mode 100644
index 0000000..eea7b70
--- /dev/null
+++ b/layouts/partials/item.html
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/layouts/partials/metadata.html b/layouts/partials/metadata.html
new file mode 100644
index 0000000..e0d01d8
--- /dev/null
+++ b/layouts/partials/metadata.html
@@ -0,0 +1,36 @@
+
diff --git a/layouts/partials/related.html b/layouts/partials/related.html
new file mode 100644
index 0000000..3bb8db7
--- /dev/null
+++ b/layouts/partials/related.html
@@ -0,0 +1,5 @@
+
+ {{range .Site.RegularPages.Related . | first 3 }}
+ {{partial "item" .}}
+ {{end}}
+
\ No newline at end of file
diff --git a/layouts/partials/sidebar.html b/layouts/partials/sidebar.html
new file mode 100644
index 0000000..98f0aad
--- /dev/null
+++ b/layouts/partials/sidebar.html
@@ -0,0 +1,5 @@
+Recent Content
+{{range first 3 .Site.RegularPages}}
+{{ partial "item" .}}
+{{end}}
+
diff --git a/layouts/partials/spritesheet.html b/layouts/partials/spritesheet.html
new file mode 100644
index 0000000..166832c
--- /dev/null
+++ b/layouts/partials/spritesheet.html
@@ -0,0 +1,386 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Prev
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @
+
+
+
+
+
+
+
+ Next
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/layouts/podcast/rss.xml b/layouts/podcast/rss.xml
new file mode 100644
index 0000000..b7173d9
--- /dev/null
+++ b/layouts/podcast/rss.xml
@@ -0,0 +1,25 @@
+
+
+ {{.Title}}
+ en
+ {{.Site.Params.subtitle}}
+
+
+ {{.Site.BaseURL}}{{.Site.Params.default_img}}
+
+ {{ range .Pages }}
+ -
+
{{ .Title }}
+ {{ .Permalink }}
+ {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}
+ {{ with .Site.Author.email }}{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}} {{end}}
+ {{ .Permalink }} {{ if .Params.video}}
+
+ {{end}}{{ if .Params.audio}}
+
+ {{end}}{{ if .Params.image}}
+ {{.Params.image}} {{end}}
+ {{- .Summary | html -}}
+ {{ end }}
+
+
\ No newline at end of file
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000..387f0d9
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,17 @@
+# Freedom
+
+## A hugo Theme
+
+![](https://gabe.rocks/themes/valor//media/freedom.webp)
+
+### Why use these themes?
+
+There are many wonderful themes on [themes.gohugo.io](https://themes.gohugo.io) that may suit your preferences. Our goal is to create themes that make it easy for users to make rich experiences, all without introducing unnecessary external dependencies.
+The themes are designed with these goals in mind:
+
+* Ease of use
+* Ease of customization
+* Supporting multimedia content
+* Performance
+* Sensible and minimal use of javascript
+* Responsive
diff --git a/static/css/theme.css b/static/css/theme.css
new file mode 100644
index 0000000..37c6a40
--- /dev/null
+++ b/static/css/theme.css
@@ -0,0 +1,818 @@
+body {
+ --theme-color-primary: black;
+ --theme-color-secondary: white;
+ --theme-accent: gold;
+ font-size: 20px;
+ line-height: 26px;
+ width: 100vw;
+ margin: 0px;
+ padding: 0px;
+ overflow-x: hidden;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: space-evenly;
+ align-items: center;
+ color: var(--theme-color-secondary);
+ background-color: var(--theme-color-primary);
+ font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
+}
+
+.background-photo {
+ position: fixed;
+ top: 40vh;
+ max-width: 80vw;
+ max-height: 70vh;
+ z-index: -1;
+}
+
+header {
+ margin-top: 5px;
+}
+
+header img {
+ max-height: 6rem;
+}
+
+header a {
+ text-decoration: none;
+}
+
+header a:hover {
+ text-decoration: underline;
+}
+
+header,
+footer {
+ text-align: center;
+ width: 100vw;
+ font-size: 20px;
+ line-height: 16px;
+}
+
+header h1 {
+ line-height: 80%;
+ margin-top: 5px;
+}
+
+
+footer {
+ flex-direction: row;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+footer>div {
+ flex-direction: row;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: center;
+}
+
+footer>div>div {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin: 15px;
+}
+
+footer img {
+ width: 8rem;
+}
+
+footer a {
+ margin: 2px;
+}
+
+nav {
+ border-radius: 30%;
+ font-size: 12px;
+}
+
+a {
+ color: var(--theme-accent);
+}
+
+a:visited {
+ color: var(--theme-accent);
+}
+
+hr {
+ width: 100%;
+ margin-top: 15px;
+ margin-bottom: 15px;
+ color: var(--theme-accent);
+}
+
+main,
+aside {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+article {
+ max-width: 90vw;
+}
+
+article>* {
+ max-width: 90vw;
+}
+
+
+
+#main-content {
+ min-width: 30vw;
+}
+
+.listing {
+ margin: 15px;
+ width: 540px;
+ height: 280px;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: center;
+ background-size: cover;
+ background-repeat: no-repeat;
+ background-position-x: center;
+ background-position-y: bottom;
+ border-radius: 15px;
+ text-align: center;
+ margin-bottom: 25px;
+}
+
+.listing-text {
+ width: 100%;
+ height: 100%;
+ border-radius: 15px;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ font-size: 14px;
+ font-weight: bolder;
+ text-decoration: none !important;
+ background-color: rgba(0, 0, 0, 0.25);
+}
+
+.listing-text h2 {
+ margin: 0;
+}
+
+.listing-text i {
+ display: block;
+ max-width: 80%;
+}
+
+.listing-text>a {
+ width: fit-content;
+ border-bottom-style: none;
+ background-color: rgba(0, 0, 0, 0.25);
+ backdrop-filter: blur(55px);
+ padding: 25px;
+ border-radius: 25px;
+ max-width: 80%;
+ text-align: center;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+
+}
+
+.listing-text:hover>a {
+ animation: blur-out 0.2s;
+ background-color: transparent;
+ backdrop-filter: none;
+}
+
+.listing-text:hover {
+ animation: blur-in 0.2s;
+ backdrop-filter: blur(15px);
+ background-color: rgba(0, 0, 0, 0.55);
+}
+
+.listing .tags a {
+ font-size: 12px;
+}
+
+.listing .tags {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: space-evenly;
+}
+
+
+
+img,
+video {
+ max-width: 95%;
+}
+
+audio {
+ width: 100%;
+}
+
+.metadata {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ justify-content: flex-start;
+ width: 90%;
+ flex-wrap: wrap;
+ margin-top: 1rem;
+}
+
+.metadata>* {
+ margin: 5px;
+}
+.metadata h2{
+ margin: 5px;
+}
+
+.metadata>div>* {
+ margin: 5px;
+}
+
+#tags {
+ max-width: 30rem;
+}
+
+header {
+ text-align: center;
+ background-color: transparent;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: space-evenly;
+}
+
+nav {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: space-evenly;
+}
+
+nav>a {
+ margin: 10px;
+}
+
+section {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+}
+
+section div {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+
+}
+
+article {
+ margin-top: 1rem;
+ margin-bottom: 1rem;
+ padding: 0.5rem;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ font-family: Verdana, Geneva, Tahoma, sans-serif;
+ width: 70rem;
+ font-size: 26px;
+ line-height: 36px;
+ max-width: 90vw;
+}
+
+@media screen and (orientation:portrait) {
+ article {
+ font-size: 22px;
+ line-height: 28px;
+ }
+}
+
+article table {
+ width: 80%;
+}
+
+article .media-container {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ width: 100%;
+}
+
+article section {
+ width: 100%;
+}
+
+.media-container a {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+}
+
+article td,
+article th {
+ width: fit-content;
+}
+
+article .footnotes {
+ width: 100%;
+}
+
+article .footnotes a {
+ text-decoration: none;
+}
+
+article sup a {
+ text-decoration: none;
+}
+
+blockquote {
+ margin-left: 10%;
+ padding-left: 2.5rem;
+ width: 80%;
+ border-left: 0.5rem solid var(--theme-accent);
+ font-style: italic;
+}
+
+section ul,
+section ol,
+article ol,
+article ul {
+ width: 90%;
+}
+
+article>a {
+ text-align: center;
+}
+
+article h2,
+article h1 {
+ width: 100%;
+ text-align: center;
+}
+
+article h3,
+section h3,
+article h4,
+section h4,
+article h5,
+article p {
+ width: 100%;
+ text-align: left;
+ margin: 15px;
+}
+
+article h3 {
+ text-decoration: underline;
+ margin: 20px;
+}
+
+article img {
+ align-self: center;
+ max-width: 95%;
+ max-height: 60vh
+}
+
+article video {
+ height: 40rem;
+ width: 95%;
+ max-height: 60vh;
+ background-color: transparent;
+
+}
+
+article iframe {
+ height: auto;
+ width: 80%;
+ aspect-ratio: 4/2.5;
+}
+
+article>section>a {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+
+}
+
+
+table {
+ width: fit-content;
+}
+
+td,
+th {
+ margin: 0;
+ padding: 0.25rem;
+ width: min-content;
+ text-align: left !important;
+}
+
+video {
+ background-color: black;
+}
+
+.link-preview {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ padding: 1.5%;
+ justify-content: left;
+ text-decoration: none;
+ text-align: left;
+ width: 80%;
+ box-shadow: 0px 0px 0.5rem var(--theme-accent);
+ border-radius: 2rem;
+ overflow: hidden;
+ margin-bottom: 1rem;
+ margin-top: 1rem;
+}
+
+.link-preview>div {
+ margin: 1rem;
+}
+
+.link-preview>img {
+ max-width: 20rem;
+}
+
+.link-preview>div>p {
+ text-decoration: none !important;
+ color: var(--theme-color-secondary);
+}
+
+
+#sidebar {
+ padding-top: 0;
+ align-items: flex-start;
+ min-width: 540px;
+}
+
+.recent *,
+.featured * {
+ margin: 0.25rem;
+ padding: 0;
+ text-align: left;
+}
+
+.recent p,
+.featured p {
+ min-width: 20vw;
+
+}
+
+.recent img,
+.featured img,
+.recent video,
+.featured video {
+ max-width: 15vw;
+ margin: 0.25rem;
+}
+
+#social-links {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ align-items: baseline;
+ justify-content: space-evenly;
+}
+
+.social-link {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin: 1rem;
+}
+
+.social-link img {
+ width: 2.5rem;
+}
+
+
+@media print {
+ body {
+
+ background-color: white;
+ }
+
+ header,
+ footer {
+ display: none;
+ }
+
+ body>img {
+ display: none;
+ }
+
+ img {
+ max-height: 60vh;
+ }
+
+ *,
+ main,
+ section {
+ color: black;
+ background-color: white;
+ border: none;
+ box-shadow: none;
+ padding: 0;
+ max-width: 90vw;
+ }
+}
+
+.recent,
+.featured {
+ width: 100%;
+ display: flex;
+ flex-direction: row;
+ align-items: flex-start;
+ justify-content: flex-start;
+ padding: 1rem;
+}
+
+.featured a,
+.recent a {
+ width: initial;
+}
+
+.section-heading {
+ color: var(--theme-accent);
+ width: 100%;
+}
+
+
+.gallery {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: center;
+ width: 90vw;
+
+}
+
+#banner {
+ position: relative;
+ width: 100vw;
+ padding-top: 3rem;
+ padding-bottom: 3rem;
+ max-height: 20vh;
+ overflow: hidden;
+ background-repeat: no-repeat;
+ background-size: cover;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ background-position: center;
+ background-position-y: center;
+}
+
+#banner-text {
+ max-height: 20vh;
+ width: fit-content;
+ color: white;
+ background-color: rgba(0, 0, 0, 0.5);
+ backdrop-filter: blur(0.25rem);
+ min-width: 10vw;
+ border-radius: 25px;
+ text-shadow: 1px 1px 2px black;
+ padding: 1.5rem;
+ font-size: 22px;
+}
+
+#banner-text>* {
+ margin: 5px;
+}
+
+.media-container {
+ margin-bottom: 1rem;
+}
+
+.media-container,
+.media-container a {
+ width: fit-content;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+}
+
+.caption {
+ width: 100%;
+ text-align: center;
+}
+
+.gallery>* {
+ margin-bottom: 1.5rem;
+}
+
+#content-list {
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-content: space-evenly;
+}
+
+@media screen and (orientation:portrait) {
+ main {
+ align-items: center;
+ width: 100vw;
+
+ }
+
+ .link-preview {
+ flex-direction: column;
+ }
+
+ .recent,
+ .featured {
+ flex-direction: column;
+ align-items: center;
+ width: 100%;
+ }
+
+ .listing img,
+ .listing video {
+ width: unset;
+ max-width: 100%;
+ height: 25vh;
+ padding-left: 2vw;
+ padding-right: 2vw;
+ }
+
+ .recent img,
+ .featured img,
+ .recent video,
+ .featured video {
+ max-width: unset;
+ width: 100%;
+ margin: 0;
+ }
+
+ .listing {
+ max-width: 90vw;
+ max-height: 40vh;
+ }
+
+ .listing-text {
+ font-size: 14px;
+ }
+
+ nav {
+ font-size: 10px;
+ line-height: 14px;
+ }
+
+ #banner-text {
+ font-size: 12px;
+ }
+}
+
+svg {
+ stroke: var(--theme-accent);
+ fill: var(--theme-accent);
+}
+
+.icon {
+ width: 2rem;
+ height: 2rem;
+}
+
+.icon-small {
+ height: 1rem;
+ width: 1rem;
+}
+
+.bare-link {
+ text-decoration: none;
+}
+
+@keyframes blur-in {
+ from {
+ backdrop-filter: blur(0px);
+ background-color: rgba(0, 0, 0, 0.25);
+ }
+
+ to {
+ backdrop-filter: blur(15px);
+ background-color: rgba(0, 0, 0, 0.55);
+ }
+}
+
+.listing-text,
+.listing-text>a {
+
+ background-color: rgba(0, 0, 0, 0.25);
+}
+
+.listing-text:hover {
+ animation: blur-in 0.25s;
+ backdrop-filter: blur(15px);
+ background-color: rgba(0, 0, 0, 0.55);
+}
+
+.listing-text .bare-link,
+.listing-text h2 {
+
+ text-shadow: rgb(0, 0, 0) 0px 0px 20px;
+}
+
+.listing-text:hover>a {
+ animation: blur-out 0.2s;
+ background-color: transparent;
+}
+
+@keyframes blur-out {
+ from {
+ background-color: rgba(0, 0, 0, 0.25);
+ }
+
+ to {
+ background-color: transparent;
+ backdrop-filter: blur(0px);
+ }
+}
+
+article a[href^="https"]:where(:not([href*="{{.Site.BaseURL}}"])) {
+ content: none !important;
+}
+
+article a[href^="https"]:where(:not([href*="{{.Site.BaseURL}}"]))::after {
+ content: "↗️";
+ font-size: 18px;
+ margin: 5px;
+ content: none !important;
+}
+
+.media-container a::after,
+.liberapay-container a::after,
+.tags a::after,
+.listing a::after,
+#tags a::after,
+.image-container a[href^="https"]:where(:not([href*="{{.Site.BaseURL}}"]))::after {
+ content: "" !important;
+ margin: 0 !important;
+ font-size: 0;
+}
+
+.media-container a {
+ flex-direction: row;
+}
+
+
+.pagination {
+ list-style: none;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ width: 100%;
+ max-width: 90vw;
+ justify-content: center;
+ align-items: center;
+}
+
+.pagination>* {
+
+ margin: 5px;
+}
+
+.pagination a {
+ font-family: Arial, Helvetica, sans-serif;
+ border: 1px solid var(--theme-accent);
+ padding: 10px;
+ font-size: 22px;
+ font-weight: bolder;
+ border-radius: 10px;
+ text-decoration: none;
+ margin: 0;
+}
+
+.pagination .disabled {
+ display: none;
+}
+
+.pagination .active a {
+ color: var(--theme-color-primary);
+ background-color: var(--theme-accent);
+}
+
+#tags a {
+ margin: 5px;
+ border-radius: 3px;
+ font-size: 16px;
+ font-weight: bolder;
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ border-radius: 25px;
+ padding: 0px;
+}
\ No newline at end of file
diff --git a/static/js/icons.js b/static/js/icons.js
new file mode 100644
index 0000000..9888540
--- /dev/null
+++ b/static/js/icons.js
@@ -0,0 +1,12 @@
+var icons = {
+ "play":" ",
+
+ "pause":" ",
+
+ "loop":" ",
+
+ "expand":" ",
+
+
+ "shrink":" "
+};
\ No newline at end of file
diff --git a/static/res/default.png b/static/res/default.png
new file mode 100644
index 0000000..1e9e966
Binary files /dev/null and b/static/res/default.png differ
diff --git a/static/res/default.svg b/static/res/default.svg
new file mode 100644
index 0000000..94a9455
--- /dev/null
+++ b/static/res/default.svg
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+ Your Logo
+
+
diff --git a/static/res/expand.svg b/static/res/expand.svg
new file mode 100644
index 0000000..38c0e76
--- /dev/null
+++ b/static/res/expand.svg
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/static/res/loop.svg b/static/res/loop.svg
new file mode 100644
index 0000000..868f910
--- /dev/null
+++ b/static/res/loop.svg
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/static/res/pause.svg b/static/res/pause.svg
new file mode 100644
index 0000000..ee03ece
--- /dev/null
+++ b/static/res/pause.svg
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/static/res/play.svg b/static/res/play.svg
new file mode 100644
index 0000000..fea6a17
--- /dev/null
+++ b/static/res/play.svg
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/static/res/shrink.svg b/static/res/shrink.svg
new file mode 100644
index 0000000..3d60618
--- /dev/null
+++ b/static/res/shrink.svg
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/static/res/spritesheet.svg b/static/res/spritesheet.svg
new file mode 100644
index 0000000..166832c
--- /dev/null
+++ b/static/res/spritesheet.svg
@@ -0,0 +1,386 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Prev
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ B
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @
+
+
+
+
+
+
+
+ Next
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/theme.toml b/theme.toml
new file mode 100644
index 0000000..a9247c1
--- /dev/null
+++ b/theme.toml
@@ -0,0 +1,21 @@
+# theme.toml template for a Hugo theme
+# See https://github.com/gohugoio/hugoThemes#themetoml for an example
+
+name = "Freedom"
+license = "MIT"
+licenselink = "https://codeberg.org/gabe/Freedom/blob/master/LICENSE"
+description = ""
+homepage = "https://codeberg.org/gabe/Freedom"
+tags = []
+features = []
+min_version = "0.41.0"
+
+[author]
+ name = "Gabriel"
+ homepage = "https://gabe.rocks"
+
+# If porting an existing theme
+[original]
+ name = ""
+ homepage = ""
+ repo = ""