From c2bbb45785e70631ad3c9b907e7e21bd254eebd6 Mon Sep 17 00:00:00 2001 From: yequari Date: Tue, 30 Apr 2024 20:08:57 -0700 Subject: [PATCH] implemented theme switcher, copied over themes --- README.md | 1 + data/themes.json | 9 + data/themes.yaml | 21 + layouts/partials/footer.html | 12 + layouts/partials/theme.html | 2 +- static/css/themes/DEV_.css | 5 + static/css/themes/DEV_default.css | 395 ++++++++++ static/css/themes/DEV_macchiato.css | 186 +++++ static/css/themes/DEV_plantcell-old.css | 242 ++++++ static/css/themes/bitbits.css | 395 ++++++++++ static/css/themes/default.css | 254 +++++++ static/css/themes/frillsify.css | 700 ++++++++++++++++++ static/css/themes/plain.css | 6 + static/css/themes/sea.css | 352 +++++++++ static/css/themes/tweek.css | 219 ++++++ static/css/themes/twilight.css | 307 ++++++++ static/js/main.js | 128 ++++ static/~xandra/silkscreen.ttf | Bin 0 -> 31880 bytes .../layouts/_default/baseof.html | 2 +- 19 files changed, 3234 insertions(+), 2 deletions(-) create mode 100644 data/themes.json create mode 100644 data/themes.yaml create mode 100644 layouts/partials/footer.html create mode 100644 static/css/themes/DEV_.css create mode 100644 static/css/themes/DEV_default.css create mode 100644 static/css/themes/DEV_macchiato.css create mode 100644 static/css/themes/DEV_plantcell-old.css create mode 100644 static/css/themes/bitbits.css create mode 100644 static/css/themes/default.css create mode 100644 static/css/themes/frillsify.css create mode 100644 static/css/themes/plain.css create mode 100644 static/css/themes/sea.css create mode 100644 static/css/themes/tweek.css create mode 100644 static/css/themes/twilight.css create mode 100644 static/js/main.js create mode 100644 static/~xandra/silkscreen.ttf diff --git a/README.md b/README.md index 49d2718..394d6cc 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ Functionality to Reimplement - [ ] Event Uploader? Themes to Convert +- [ ] Plant Cell - [ ] Bit Bits - [ ] Frillsify - [ ] Plain? diff --git a/data/themes.json b/data/themes.json new file mode 100644 index 0000000..2eb87ff --- /dev/null +++ b/data/themes.json @@ -0,0 +1,9 @@ +[ + { + "name": "Plant Cell", + "file": "plantcell.css", + "author": "loren" + }, + { + } +] diff --git a/data/themes.yaml b/data/themes.yaml new file mode 100644 index 0000000..c3de66c --- /dev/null +++ b/data/themes.yaml @@ -0,0 +1,21 @@ +- name: Plant Cell + file: plantcell.css + author: loren +- name: Bit Bits + file: bitbits.css + author: xandra +- name: Frillsify + file: frillsify.css + author: frills +- name: Seafoam Deep + file: sea.css + author: leviathren +- name: tweek + file: tweek.css + author: jess +- name: twilight + file: twilight.css + author: solaria +- name: plain + file: plain.css + author: for reference diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..8d6dba7 --- /dev/null +++ b/layouts/partials/footer.html @@ -0,0 +1,12 @@ +
+ Theme Picker: + + + + +
+

Copyright {{ now.Year }} 32-Bit Cafe. All rights reserved.

diff --git a/layouts/partials/theme.html b/layouts/partials/theme.html index abacc81..b354e12 100644 --- a/layouts/partials/theme.html +++ b/layouts/partials/theme.html @@ -1 +1 @@ - + diff --git a/static/css/themes/DEV_.css b/static/css/themes/DEV_.css new file mode 100644 index 0000000..5432dd6 --- /dev/null +++ b/static/css/themes/DEV_.css @@ -0,0 +1,5 @@ +/* + * Name: + * Author: + * Website: + */ diff --git a/static/css/themes/DEV_default.css b/static/css/themes/DEV_default.css new file mode 100644 index 0000000..03a2060 --- /dev/null +++ b/static/css/themes/DEV_default.css @@ -0,0 +1,395 @@ +/* + * Name: Bit Bits + * Author: xandra + * Website: https://xandra.cc +*/ + +@font-face { +font-family: 'silkscreen'; +src: url('//32bit.cafe/~xandra/silkscreen.ttf') format('truetype'); +} + +body { +background-color: #E1CCDD; +} + +.header { +padding: 0px !important; +text-align: center; +width: 100%; +} + +.header a { +/* entire header width */ +font-family: 'silkscreen'; +text-decoration: none; +color: #FFF; +background-color: none; +padding: 0px !important; +text-shadow: -4px 4px #ef3550, + -6px 6px #f48fb1, + -8px 8px #7e57c2, + -10px 10px #2196f3, + -12px 12px #26c6da, + -14px 14px #43a047; +} + +.topnav { +/* main nav width */ +font-family: 'silkscreen', cursive; +} + +.topnav a { +/* individual navigation item */ +background-color: #FFF !important; +border: 2px solid #000 !important; +border-radius: 0 !important; +font-size: 10pt !important; +padding: 10px !important; +color: #1A659E; +box-shadow: 5px 8px #000; +height: 5vh; +} + +.topnav a:hover { +/* individual navigation item on hover */ +background-color: #FFFAEB !important; +} + +.sidebar { +/* secondary navigation */ +font-family: 'silkscreen', cursive; +background-color: #FFF; +color: #E69CAF; +text-align: center; +} + +.sidebar h3 { +font-size: 1rem; +text-align: center; +color: #000; +text-shadow: -4px 4px #ef3550, + -6px 6px #f48fb1, + -8px 8px #7e57c2, + -10px 10px #2196f3, + -12px 12px #26c6da, + -14px 14px #43a047; +margin-top: 10px !important; +margin-left: 0px; +margin-right: 0px; +margin-bottom: 20px !important; +} +.sidebar a { +color: #43AA8B; +text-decoration: none; +border-top: 0px; +border-left: 0px; +border-right: 0px; +border-bottom: 2px dotted; +padding: 2px !important; +} +.sidebar a:hover { +color: #000; +border: 0px; +} + +.sidebar active { +color: #000; +border: 0px; +} + +.sidebar ul { + list-style-type: none; + margin: 0; + padding: 0; +} + +.sidebar li { + display: block; + padding: 5px; +} + +.main { + font-family: Verdana, sans serif; + font-size: 11pt; + letter-spacing: 0.8px; + background-color: #FFF; + line-height: 18pt; +} + +.main a { +font-family: 'silkscreen', cursive; +font-weight: normal; +font-smooth: never; +-webkit-font-smoothing: subpixel-antialiased; +-moz-osx-font-smoothing: greyscale; +text-decoration: none; +color: #FFF; +font-size: 10pt; +background-color: #1A659E; +padding: 1px 5px 3px 5px; +} + +.main a:hover { +color: #000; +background-color: #FFFAEB; +} + +table { +overflow-x: auto !important; +} + +.main h2 { + font-family: 'silkscreen', cursive; + color: #43AA8B; + font-weight: normal; + font-smooth: never; + -webkit-font-smoothing: subpixel-antialiased; + -moz-osx-font-smoothing: greyscale; +} + +.main h3 { + font-family: 'silkscreen', cursive; + color: #1A659E; + font-weight: normal; + font-smooth: never; + -webkit-font-smoothing: subpixel-antialiased; + -moz-osx-font-smoothing: greyscale; +} + +section { +background-color: #FFF; +margin: 20px; +padding: 20px; +border: 2px solid #713E5A; +box-shadow: 5px 5px #713E5A; +} + +.row { + display: flex; + flex-wrap: wrap; +} + +.row:after { + content: ""; + display: table; + clear: both; +} + + .column.gallery a { + background-color: transparent !important; +} + +.footer { + font-family: 'silkscreen', cursive; + background-color: #FFF; + text-align: center; + padding: 10px; + font-weight: normal; + color: #764A62; + font-weight: normal; + font-smooth: never; + -webkit-font-smoothing: subpixel-antialiased; + -moz-osx-font-smoothing: greyscale; +} + +.footer a { +color: #1A659E; +text-decoration: none; +border-right: 0px; +border-left: 0px; +border-top: 0px; +border-bottom: 2px dotted; +} + +input, select { + color: #000; + font-family: 'silkscreen', cursive; + font-size: 0.8rem; + font-weight: normal; + font-smooth: never; + -webkit-font-smoothing: subpixel-antialiased; + -moz-osx-font-smoothing: greyscale; + border: 0; + padding: 5px; + border: 1px solid #000; +} + +.footer a:hover { +color: #764A62; +border-bottom: 0px; +} + +.footer-text { + font-size: 8.5pt; +} + +@media screen and (max-width: 699px) { +/* mobile */ + .container { + width: 100%; + } + .column.sidebar, .column.main { + width: 100%; + } + .header { + width: 100vw !important; + padding-bottom: 20px !important; + } + .header h1 { + float: left; + margin: 5px 10px 5px 10px; + } + .header button { + background-color: #FFF; + border: 2px solid black; + color: #000; + font-size: 16pt; + float: right; + } + .topnav { + width: 100vw; + flex-direction: column; + margin: 10px; + padding: 5px; + padding-bottom: 20px; + text-align: center; + line-height: 9pt; + } + .topnav a { + display: block; + padding: 5px; + text-decoration: none; + margin: 6px; + font-size: 12pt !important; + } + .main { + width: 100vw; +} + .footer { + width: 100vw; + } + .gallery { + width: 100vw !important; + margin: 2px !important; +} +} +@media screen and (min-width: 700px) and (max-width: 950px) { +/* tablets */ + .container { + padding: 5px; + } + .column.sidebar, .column.main { + width: 100vw; + } + .header, .topnav { + width: 100vw; + text-align: center; + } + .header { + width: 100vw; + vertical-align: middle; + } + .header h1 { + float: left; + margin: 5px 10px 5px 10px; + padding-bottom: 10px; + } + .header button { + background-color: #FFF; + border: 2px solid black; + color: #000; + font-size: 16pt; + float: right; + } + .column.main { + width: 100%; + } + .topnav { + flex-direction: column; + padding: 5px; + } + .topnav a { + display: block; + padding: 5px; + text-decoration: none; + margin-bottom: 15px; + font-size: 16pt !important; + } + .header button { + float: right; + } + .column.gallery { + width: 100vw !important; + margin: 2px !important; +} + .sidebar h3 { + font-size: 16pt !important; +} + .sidebar li { + font-size: 14pt !important; +} +} +@media screen and (min-width: 950px) { +/* desktops */ + .container { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 70vw; + } +.column.sidebar { + width: 20vw !important; + overflow-y: auto; + overflow-x: hidden; + margin-top: 10px !important; + margin-bottom: 0px !important; + margin-left: 0px !important; + margin-right: 0px !important; + max-height: 65vh; +} +.column.main { + margin-top: 10px !important; + margin-bottom: 0px !important; + margin-left: 0p !important; + margin-right: 0px !important; + width: 50vw !important; + overflow-y: auto; + overflow-x: hidden; + max-height: 65vh; +} + .header { + width: 13vw !important; + height: 10vh; + } + .header h1 { + font-size: 1.5vw; + } + .column.gallery { + width: 30% !important; +} + .topnav { + overflow-x: auto; + overflow-y: hidden; + } + .topnav a { + position: relative; + top: 3vh; + border: 2px solid #000; + border-radius: 20px; + text-align: center; + padding: 14px 16px; + text-decoration: none; + margin: 5px; + background-color: #F1F1F1; + font-size: 0.8vw !important; + } + .mobile-only { + display: none; + } + .footer { + width: 79vw; + border: 0px; !important; + } +} \ No newline at end of file diff --git a/static/css/themes/DEV_macchiato.css b/static/css/themes/DEV_macchiato.css new file mode 100644 index 0000000..8cb82c4 --- /dev/null +++ b/static/css/themes/DEV_macchiato.css @@ -0,0 +1,186 @@ +/* + * Name: Macchiato + * Author: kaylee + * Website: https://kaylee.wtf + */ + +@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@400;500&display=swap'); +.container { + /* + background-image: url('/css/themes/macchiato_assets/background.gif'); + * */ + background-image: url('https://rivendell.neocities.org/backgrounds/stars3.gif'); + background-color: light-brown !important; +} + +.container { + width: 100% !important; + height: 100% !important; + transform: none; + top: 0px; + left: 0px; +} +.sidebar::before { + content: ""; + position: absolute; + top: 0; left: 0; + width: 100%; height: 100%; + background-image: url('macchiato_assets/circuit_sidebar.png'); + background-size: 200%; + z-index: -1; + filter: invert(); + opacity: 0.1; + +} +.sidebar { + color: white; + background-color: black; + border-top: 0px; + border-right: 2px; + border-left: 0px; + border-bottom: 0px; + border-style: inset; + position: fixed; + height: 100% !important; + left: 0px; + top: 0px; + width: 220px !important; + padding-top:290px; +} +.sidebar h3 { + font-family: 'Rajdhani', sans-serif; + font-weight:500; + text-shadow: 2px 2px 1px #000000; +box-shadow: inset 2px 2px 2px 0 rgba(255,255,255,0.5), inset -2px -2px 2px rgba(0,0,0,0.5); + background-image: url('macchiato_assets/bgblueop.gif'); + background-color: #31525a; + padding: 5px; + padding-top: 13px; + margin-bottom: 0px; + text-align: right; + text-transform: lowercase; +} +.sidebar ul a { + text-decoration: none; + color: white; +} +/*.sidebar ul li:nth-child(even) { background-color: rgba(0,0,0,0.1); }*/ +.sidebar ul li { +box-shadow: inset 2px 2px 2px 0 rgba(255,255,255,0.5), inset -2px -2px 2px rgba(0,0,0,0.5); + font-family: 'Rajdhani', sans-serif; + /*background-image: url('macchiato_assets/bgpinksmoke.gif');*/ + background-image: url('macchiato_assets/bg_sunset.jpg'); + background-color: #c56d38; + margin-top: 5px; + text-shadow: 2px 2px 1px #000000; +} + +.sidebar ul { + /*background-image: url('macchiato_assets/bgpinksmoke.gif');*/ + text-transform: lowercase; + padding-top: 5px; + box-shadow: inset 2px 2px 2px #000000; + +} +.main { + background-color: white; + top: 100px; + left: 245px !important; + width: calc(100vw - 280px) !important; + max-width: 1024px; + position: absolute; + max-height: calc(100vh - 150px) !important; +} + +.header { + background-image: url("macchiato_assets/32bit_small.gif"); + will-change: transform; + background-size: cover; + position: fixed; + height: 280px; + margin-left: 10px; + margin-top: 5px; + width: 226px; + z-index: 10; + +} +.topnav { + left: 245px; + + top: 30px; + overflow: visible; + position: absolute; + width: calc(100vw - 280px) !important; + max-width: 1024px; +} +h1 { + font-family: Trajan; +} + +.topnav span::before { + background-color: yellow; + width: 90px; + top: 18px; + margin-left: -5px; + height: 15px; + transform: rotate(25deg); + position: absolute; + content: ""; + background-size: cover; + background-clip: content-box; +box-shadow: inset 2px 2px 2px 0 rgba(255,255,255,0.5), inset -2px -2px 2px rgba(0,0,0,0.5); +outline: 1px solid transparent; + +/*transform: rotate(10deg);*/ +} +.topnav a:hover { + transform: rotate(-8deg); +} +.topnav span:hover:before { + transform: rotate(23deg); +} +.topnav a { + display: flex; + align-items: center; + font-size: 18px; + will-change: transform; + transform: rotate(-10deg); + background-color: red; + border-radius: 0px; + border: 0px; + top: 0px; +margin-bottom: 8px; +box-shadow: inset 2px 2px 2px 0 rgba(255,255,255,0.5), inset -2px -2px 2px rgba(0,0,0,0.5); +outline: 1px solid transparent; + padding: 7px; + margin-right: 20px; + font-family: 'Rajdhani', sans-serif; + font-weight: 500; + text-transform: lowercase; + +} + + + + +.tp_title { + font-size: 15px; + font-variant: small-capslatinosmall-caps; +} +.footer { + background-color: rgba(0,0,0,0.7); + color: white; + font-size: 10px; + font-family: monospace; + position: absolute; + bottom: 0px !important; + width: 218px; + padding: 0px; + +} +.header h1 { + display: none; +} +.container { + background-color:white; +} diff --git a/static/css/themes/DEV_plantcell-old.css b/static/css/themes/DEV_plantcell-old.css new file mode 100644 index 0000000..f2ead0f --- /dev/null +++ b/static/css/themes/DEV_plantcell-old.css @@ -0,0 +1,242 @@ +/* + * Name: Plant Cell + * Author: loren + * Website: https://ribo.zone +*/ + + * { + font-family: 'courier'; + box-sizing: border-box; + margin: 0; + scrollbar-width: thin; +} + body { + background: url(https://ribo.zone/32bitcafe/plantcellbg.jpg), honeydew; + /* background image downloaded from https://textures.neocities.org */ + color: midnightblue; +} + section { + margin: 10px; + padding: 10px; + background-color: rgb(255,255,255,.9); + border: 1px solid; + border-radius: 5px; +} + h1 a { + font-family: 'arial black'; + letter-spacing: -3px; + text-underline-offset: 3px; + text-transform: uppercase; + font-size: 60px; + text-decoration-style: wavy; + color: white; + text-shadow: -1px 0 midnightblue, 0 1px midnightblue, 1px 0 midnightblue, 0 -1px midnightblue; + margin-bottom: 20px; +} + h2, h3 { + font-family: 'arial black'; + letter-spacing: -1px; + line-height: 0.8; + color: white; + text-shadow: -1px 0 midnightblue, 0 1px midnightblue, 1px 0 midnightblue, 0 -1px midnightblue; + text-transform: uppercase; + margin: 5px 0; +} + h4 { + margin: 5px 0; +} + p { + margin: 2px 0; +} + a { + font-family: 'arial black'; + color: darkseagreen; + font-size: 14px; + text-decoration: underline; + text-decoration-thickness: 1px; + text-underline-offset: 3px; +} + a:hover { + text-decoration-style: wavy; +} + .header { + padding: 0px; + text-align: left; + width: 100%; +} + .topnav { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + border: 1px solid; + padding: 0; + background-color: rgb(255,255,255,.9); + border: 1px solid; + border-radius: 5px; + margin-top: 10px; +} + .topnav a { + float: left; + display: block; + text-transform: uppercase; + color: darkseagreen; + font-family: 'arial black'; + letter-spacing: -1px; + line-height: 0.8; + font-size: 20px; + text-decoration: none; +} + .topnav a:hover { + color: white; +} + .flip { + text-shadow: -1px 0 midnightblue, 0 1px midnightblue, 1px 0 midnightblue, 0 -1px midnightblue; +} + .main { + padding: 10px; +} + .main::-webkit-scrollbar { + width: 10px; +} + .main::-webkit-scrollbar-track { + background: rgb(255,255,255,.9); + border-radius: 5px; + border: 1px solid; +} + .main::-webkit-scrollbar-thumb { + background-color: darkseagreen; + border-radius: 5px; + border: 1px solid; +} + .panel h3 { + margin: 10px 0; +} + .column { + float: left; +} + .sidebar ul { + list-style-type: none; + margin: 10px; + padding: 5px; + background-color: rgb(255,255,255,.9); + border: 1px solid; + border-radius: 5px; +} + .sidebar li { + display: block; + padding: 2px; +} + .row { + display: flex; + flex-wrap: wrap; +} + .row:after { + content: ""; + display: table; + clear: both; +} + .footer { + text-align: center; + padding: 10px; + width: 100%; + background-color: rgb(255,255,255,.9); + border: 1px solid; + border-radius: 5px; +} + + @media screen and (max-width: 700px) { + .container { + padding: 5px; + } + .column.sidebar, .column.main { + width: 100%; + } + .topnav { + flex-direction: column; + padding: 10px; + width: 65vw; + margin: 10px auto; + } + .topnav a { + display: block; + margin: 5px; + font-size: 16px; + } + .header h1 { + float: left; + } + .header button { + float: right; + } + h1 a { + font-size: 50px; + } + .mobile-only { + margin-bottom: 10px; + } + .mobile-only h2 { + margin-bottom: 0; + } +} + + @media screen and (min-width: 700px) and (max-width: 1100px) { + .container { + padding: 10px; + } + .column.sidebar, .column.main { + width: 100%; + } + .topnav { + padding: 5px; + } + .topnav a { + display: block; + padding: 10px; + font-size: 16px; + } + .header button { + float: right; + } + .panel { + width: 45vw; + margin: 0 auto; + } + .mobile-only { + display: none; + } +} + + @media screen and (min-width: 1100px) { + .container { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 75vw; + } + .column.sidebar { + width: 15vw; + } + .column.main { + width: 60vw; + overflow-y: auto; + overflow-x: hidden; + max-height: 65vh; + } + .topnav { + overflow-x: auto; + overflow-y: hidden; + } + .topnav a { + position: relative; + text-align: center; + margin: 10px; + } + .mobile-only { + display: none; + } +} + +.rev { unicode-bidi: bidi-override; direction: rtl; } +.obem { position: absolute; display:inline-block; z-index: -1; width: 0px; height: 0px; overflow: hidden; } diff --git a/static/css/themes/bitbits.css b/static/css/themes/bitbits.css new file mode 100644 index 0000000..c4b4f27 --- /dev/null +++ b/static/css/themes/bitbits.css @@ -0,0 +1,395 @@ +/* + * Name: Bit Bits + * Author: xandra + * Website: https://xandra.cc +*/ + +@font-face { +font-family: 'silkscreen'; +src: url('/~xandra/silkscreen.ttf') format('truetype'); +} + +body { +background-color: #E1CCDD; +} + +.header { +padding: 0px !important; +text-align: center; +width: 100%; +} + +.header a { +/* entire header width */ +font-family: 'silkscreen'; +text-decoration: none; +color: #FFF; +background-color: none; +padding: 0px !important; +text-shadow: -4px 4px #ef3550, + -6px 6px #f48fb1, + -8px 8px #7e57c2, + -10px 10px #2196f3, + -12px 12px #26c6da, + -14px 14px #43a047; +} + +.topnav { +/* main nav width */ +font-family: 'silkscreen', cursive; +} + +.topnav a { +/* individual navigation item */ +background-color: #FFF !important; +border: 2px solid #000 !important; +border-radius: 0 !important; +font-size: 10pt !important; +padding: 10px !important; +color: #1A659E; +box-shadow: 5px 8px #000; +height: 5vh; +} + +.topnav a:hover { +/* individual navigation item on hover */ +background-color: #FFFAEB !important; +} + +.sidebar { +/* secondary navigation */ +font-family: 'silkscreen', cursive; +background-color: #FFF; +color: #E69CAF; +text-align: center; +} + +.sidebar h3 { +font-size: 1rem; +text-align: center; +color: #000; +text-shadow: -4px 4px #ef3550, + -6px 6px #f48fb1, + -8px 8px #7e57c2, + -10px 10px #2196f3, + -12px 12px #26c6da, + -14px 14px #43a047; +margin-top: 10px !important; +margin-left: 0px; +margin-right: 0px; +margin-bottom: 20px !important; +} +.sidebar a { +color: #43AA8B; +text-decoration: none; +border-top: 0px; +border-left: 0px; +border-right: 0px; +border-bottom: 2px dotted; +padding: 2px !important; +} +.sidebar a:hover { +color: #000; +border: 0px; +} + +.sidebar active { +color: #000; +border: 0px; +} + +.sidebar ul { + list-style-type: none; + margin: 0; + padding: 0; +} + +.sidebar li { + display: block; + padding: 5px; +} + +.main { + font-family: Verdana, sans serif; + font-size: 11pt; + letter-spacing: 0.8px; + background-color: #FFF; + line-height: 18pt; +} + +.main a { +font-family: 'silkscreen', cursive; +font-weight: normal; +font-smooth: never; +-webkit-font-smoothing: subpixel-antialiased; +-moz-osx-font-smoothing: greyscale; +text-decoration: none; +color: #FFF; +font-size: 10pt; +background-color: #1A659E; +padding: 1px 5px 3px 5px; +} + +.main a:hover { +color: #000; +background-color: #FFFAEB; +} + +table { +overflow-x: auto !important; +} + +.main h2 { + font-family: 'silkscreen', cursive; + color: #43AA8B; + font-weight: normal; + font-smooth: never; + -webkit-font-smoothing: subpixel-antialiased; + -moz-osx-font-smoothing: greyscale; +} + +.main h3 { + font-family: 'silkscreen', cursive; + color: #1A659E; + font-weight: normal; + font-smooth: never; + -webkit-font-smoothing: subpixel-antialiased; + -moz-osx-font-smoothing: greyscale; +} + +section { +background-color: #FFF; +margin: 20px; +padding: 20px; +border: 2px solid #713E5A; +box-shadow: 5px 5px #713E5A; +} + +.row { + display: flex; + flex-wrap: wrap; +} + +.row:after { + content: ""; + display: table; + clear: both; +} + + .column.gallery a { + background-color: transparent !important; +} + +.footer { + font-family: 'silkscreen', cursive; + background-color: #FFF; + text-align: center; + padding: 10px; + font-weight: normal; + color: #764A62; + font-weight: normal; + font-smooth: never; + -webkit-font-smoothing: subpixel-antialiased; + -moz-osx-font-smoothing: greyscale; +} + +.footer a { +color: #1A659E; +text-decoration: none; +border-right: 0px; +border-left: 0px; +border-top: 0px; +border-bottom: 2px dotted; +} + +input, select { + color: #000; + font-family: 'silkscreen', cursive; + font-size: 0.8rem; + font-weight: normal; + font-smooth: never; + -webkit-font-smoothing: subpixel-antialiased; + -moz-osx-font-smoothing: greyscale; + border: 0; + padding: 5px; + border: 1px solid #000; +} + +.footer a:hover { +color: #764A62; +border-bottom: 0px; +} + +.footer-text { + font-size: 8.5pt; +} + +@media screen and (max-width: 699px) { +/* mobile */ + .container { + width: 100%; + } + .column.sidebar, .column.main { + width: 100%; + } + .header { + width: 100vw !important; + padding-bottom: 20px !important; + } + .header h1 { + float: left; + margin: 5px 10px 5px 10px; + } + .header button { + background-color: #FFF; + border: 2px solid black; + color: #000; + font-size: 16pt; + float: right; + } + .topnav { + width: 100vw; + flex-direction: column; + margin: 10px; + padding: 5px; + padding-bottom: 20px; + text-align: center; + line-height: 9pt; + } + .topnav a { + display: block; + padding: 5px; + text-decoration: none; + margin: 6px; + font-size: 12pt !important; + } + .main { + width: 100vw; +} + .footer { + width: 100vw; + } + .gallery { + width: 100vw !important; + margin: 2px !important; +} +} +@media screen and (min-width: 700px) and (max-width: 950px) { +/* tablets */ + .container { + padding: 5px; + } + .column.sidebar, .column.main { + width: 100vw; + } + .header, .topnav { + width: 100vw; + text-align: center; + } + .header { + width: 100vw; + vertical-align: middle; + } + .header h1 { + float: left; + margin: 5px 10px 5px 10px; + padding-bottom: 10px; + } + .header button { + background-color: #FFF; + border: 2px solid black; + color: #000; + font-size: 16pt; + float: right; + } + .column.main { + width: 100%; + } + .topnav { + flex-direction: column; + padding: 5px; + } + .topnav a { + display: block; + padding: 5px; + text-decoration: none; + margin-bottom: 15px; + font-size: 16pt !important; + } + .header button { + float: right; + } + .column.gallery { + width: 100vw !important; + margin: 2px !important; +} + .sidebar h3 { + font-size: 16pt !important; +} + .sidebar li { + font-size: 14pt !important; +} +} +@media screen and (min-width: 950px) { +/* desktops */ + .container { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 70vw; + } +.column.sidebar { + width: 20vw !important; + overflow-y: auto; + overflow-x: hidden; + margin-top: 10px !important; + margin-bottom: 0px !important; + margin-left: 0px !important; + margin-right: 0px !important; + max-height: 65vh; +} +.column.main { + margin-top: 10px !important; + margin-bottom: 0px !important; + margin-left: 0p !important; + margin-right: 0px !important; + width: 50vw !important; + overflow-y: auto; + overflow-x: hidden; + max-height: 65vh; +} + .header { + width: 13vw !important; + height: 10vh; + } + .header h1 { + font-size: 1.5vw; + } + .column.gallery { + width: 30% !important; +} + .topnav { + overflow-x: auto; + overflow-y: hidden; + } + .topnav a { + position: relative; + top: 3vh; + border: 2px solid #000; + border-radius: 20px; + text-align: center; + padding: 14px 16px; + text-decoration: none; + margin: 5px; + background-color: #F1F1F1; + font-size: 0.8vw !important; + } + .mobile-only { + display: none; + } + .footer { + width: 79vw; + border: 0px; !important; + } +} diff --git a/static/css/themes/default.css b/static/css/themes/default.css new file mode 100644 index 0000000..d6eb994 --- /dev/null +++ b/static/css/themes/default.css @@ -0,0 +1,254 @@ +/* + * Name: Plant Cell + * Author: loren + * Website: https://ribo.zone +*/ + + @font-face { + font-family: "heal"; + src: url("https://ribo.zone/32bitcafe/HealTheWebA-Regular.otf") format("opentype"); +} + * { + font-family: 'courier'; + box-sizing: border-box; + scrollbar-width: thin; +} + body { + background: url(https://ribo.zone/32bitcafe/plantcellbg.jpg), rgb(193, 196, 128); + color: rgb(87,93,49); + overflow-y: scroll; +} + h1 { + margin: 0; + padding: 0; +} + h1 a { + font-family: 'heal', 'arial'; + font-size: 80px; + color: rgb(87,93,49); + padding: 0 !important; + text-decoration: none; + text-shadow: 5px 5px white; +} + h1 a:hover { + color: #757a42; +} + h2, h3 { + font-family: 'heal', 'arial'; +} + a { + font-family: 'heal', 'arial'; + color: #757a42; + text-decoration: underline; +} + a:hover { + text-decoration-style: wavy; + color: rgb(87,93,49); +} + h2, h3, h4, h5, p { + margin: 10px; +} + pre { + background: rgb(87,93,49); + color: white; + padding: 15px; + overflow: auto; + margin: 10px; +} + code { + background: rgb(87,93,49); + color: white; + padding: 0 4px; + line-height: 1.2; +} + section { + margin: 10px; + padding: 10px; + border: 2px dotted rgb(193, 196, 128); +} + .header { + padding: 0px; + text-align: left; + width: 100%; + height: auto; + margin: 10px 10px 0 10px; +} + .topnav { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + border: 5px double; + padding: 10px; + background-color: white; + border-radius: 5px; + margin: 10px; +} + .topnav a { + position: static !important; + float: left; + display: block; + color: #757a42; + line-height: 0.8; + font-size: 25px; + padding: 0 5px; + margin: 0; + border:none; + text-decoration:none; + background: none; +} + .topnav a:hover { + text-shadow: 2px 2px rgb(193, 196, 128); + color: rgb(87,93,49); + background: none; +} + .column { + float: left; +} + .main { + margin: 10px; + background-color: white; + border: 5px double; + border-radius: 5px; + width: 50rem !important; +} + .sidebar { + width: 17.5rem !important; + height: fit-content; +} + .panel { + height: 0px; + overflow: hidden; +} + .panel.visible { + background-color: white; + border: 5px double; + border-radius: 5px; + height: auto; +} + .sidebar ul { + list-style-type: none; + margin: 10px; + padding: 5px; +} + .sidebar li { + display: block; + padding: 2px; +} + .row { + display: flex; + flex-wrap: wrap; +} + .row:after { + content: ""; + display: table; + clear: both; +} + .footer { + text-align: center; + padding: 10px 15px; + width: fit-content; + margin: 10px auto; + background-color: white; + border: 5px double; + border-radius: 5px; +} + @media screen and (max-width: 700px) { + .container { + padding: 0 !important; + } + .column.sidebar, .column.main { + width: 100% !important; + } + .topnav { + flex-direction: column !important; + padding: 10px !important; + width: 65vw !important; + margin: 5px auto !important; + } + .topnav a { + display: block !important; + margin: 5px !important; + font-size: 16px !important; + } + section { + margin: 5px !important; + padding: 5px !important; + } + .sidebar { + margin: 10px 0 !important; + padding: 0; + } + .panel { + margin: 0; + width: 100%; + } + .header h1 { + float: left; + } + .header button { + float: right; + } + h1, .main { + margin: 5px; + } + h1 a { + font-size: 60px; + } +} + @media screen and (min-width: 700px) and (max-width: 950px) { + .container { + padding: 10px !important; + transform: translate(0) !important; + } + .column.sidebar, .column.main { + width: 100% !important; + } + .topnav { + padding: 5px !important; + } + .topnav a { + display: block !important; + padding: 10px !important; + } + .header button { + float: right; + } + .mobile-only { + display: none; + } +} + @media screen and (min-width: 950px) and (max-width: 1200px) { + .sidebar { + width: 25.5% !important; + } + .main { + width: 72% !important; + } +} + @media screen and (min-width: 950px) { + .container { + position: static !important; + transform: translate(0) !important; + width: 70rem !important; + max-width: 100%; + padding: 10px; + margin: 0 auto; + } + .column.main { + max-height: fit-content !important; + } + .header { + height: auto !important; + } + .header h1 { + top: 0; + max-height: none; + padding: 0; + } + .topnav a { + position: static !important; + text-align: center; + margin: 10px; + } +} \ No newline at end of file diff --git a/static/css/themes/frillsify.css b/static/css/themes/frillsify.css new file mode 100644 index 0000000..46d6c72 --- /dev/null +++ b/static/css/themes/frillsify.css @@ -0,0 +1,700 @@ +/* + * Name: Frillsify + * Author: Frills + * Website: https://frills.dev + */ + +@import url('https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:ital,wght@0,400;1,400;1,700&family=Cherry+Bomb+One&display=swap'); + +@keyframes colour { + 0% { + color: deeppink; + } + + 10% { + color: orangered; + } + + 50% { + color: gold; + } + + 60% { + color: limegreen; + } + + 80% { + color: deepskyblue; + } + + 100% { + color: fuchsia; + } +} + +@keyframes colour-stroke { + 0% { + -webkit-text-stroke: 2px deeppink; + } + + 10% { + -webkit-text-stroke: 2px orangered; + } + + 50% { + -webkit-text-stroke: 2px gold; + } + + 60% { + -webkit-text-stroke: 2px limegreen; + } + + 80% { + -webkit-text-stroke: 2px deepskyblue; + } + + 100% { + -webkit-text-stroke: 3px fuchsia; + } +} + +@keyframes fadeIn { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +* { + box-sizing: border-box; +} + +html { + font-size: 20px; + line-height: 1.5; + background-color: black; + color: gainsboro; + font-family: 'Atkisonson Hyperlegible', Arial, Helvetica, sans-serif; +} + +body { + margin: 0; +} + +*:focus-visible { + outline: 2px solid plum; + outline-offset: 3px; +} + +a { + color: deeppink; +} + +a:hover, +a:focus, +a:active { + color: springgreen; + text-decoration-thickness: 2px; + text-decoration-style: wavy; +} + +.tp_title { + transform: translateY(4px); + display: inline-block; + margin-right: 10px; +} + +#themeButton { + transform: translateY(2px); + display: inline-block; +} + +.header { + height: auto; + padding: 10px; + width: 12%; + white-space: nowrap; + vertical-align: middle; +} + +.topnav { + display: flex; + flex-wrap: wrap; + width: 100%; + gap: 15px; +} + +.topnav a { + float: left; + display: block; + will-change: transform; + padding: 6px 12px; + border-radius: 0; + background-color: gold; + color: black; + border: 0; + box-shadow: 4px 4px 0 0 DarkGoldenRod; + cursor: pointer; + transition: 0.3s ease transform, 0.3s ease background-color, 0.3s ease box-shadow; + text-decoration: none; +} + +.topnav a:hover { + background-color: #ffe34a; + text-decoration: underline; +} + +.topnav a.selected, +.topnav a:focus, +.topnav a:active { + transform: translate(4px, 4px); + box-shadow: 0 0 0 0 DarkGoldenRod; +} + +.topnav a.selected { + background-color: orangered; +} + +.panel { + height: 0px; + overflow: hidden; +} + +.panel.visible { + background-color: black; + height: auto; + opacity: 0; + animation: fadeIn 0.3s forwards; + padding: 0 15px 15px 15px; +} + +.column { + float: left; +} + +.sidebar { + padding: 10px; +} + +.sidebar h3 { + font-size: 1rem; +} + +.sidebar ul { + padding-left: 1.5rem; + margin: 0; +} + +.sidebar li { + display: block; +} + +.sidebar li::before { + top: 10px; +} + +.main { + padding: 10px; +} + +.row { + display: flex; + flex-wrap: wrap; + width: 100%; +} + +.row:after { + content: ""; + display: table; + clear: both; +} + +p { + margin: 0; +} + +.footer { + text-align: left; + border-top: 3px solid #282828; + background-color: #000; + padding: 15px; + margin-bottom: 15px; + margin-top: 30px; + font-size: 90%; +} + +.footer p:first-of-type { + margin: 0; +} + +.footer a { + color: springgreen +} + + +.footer a:hover, +.footer a:focus, +.footer a:active { + color: deeppink; +} + +.footer-text { + width: 100%; +} + + +.container { + position: relative; + top: auto; + left: auto; + transform: none; + width: auto; + max-width: 1200px; + margin: 0 auto; + padding: 0 22px; +} + +.column.sidebar { + margin-top: 35px; + width: 321px; + background: repeating-linear-gradient(45deg, #282828 0, #282828 10%, transparent 0, transparent 50%); + background-size: 3em 3em; + background-color: #000000; + opacity: 1 +} + +.column.sidebar a { + color: orangered; +} + +.column.sidebar a:hover, +.column.sidebar a:focus, +.column.sidebar a:active { + color: springgreen; +} + +.column.main { + width: calc(100% - 321px); + padding: 0; +} + +.column.main>h2:first-of-type { + color: white; +} + +.column.main>h2:first-of-type::before, +.column.main>h2:first-of-type::after { + content: '✨'; + margin: 0 3px; +} + +.header { + width: 100%; + padding-bottom: 2rem; +} + +.header h1 { + font-family: 'Cherry Bomb One', Arial, Helvetica, sans-serif; + font-size: 5rem; + position: relative; + margin-bottom: 0; + margin-top: 0; + padding-top: 0; +} + +.header h1 a { + text-decoration: none; + animation: colour 10s infinite forwards; +} + +.header h1 a:hover, +.header h1 a:active, +.header h1 a:focus { + color: transparent; + -webkit-text-fill: transparent; + animation: colour-stroke 10s linear infinite forwards alternate; +} + +.mobile-only { + display: none; +} + +.rev { + unicode-bidi: bidi-override; + direction: rtl; +} + +.obem { + position: absolute; + display: inline-block; + z-index: -1; + width: 0px; + height: 0px; + overflow: hidden; +} + +; + +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0 0 0.5rem 0; + line-height: 1.2 +} + +*+h1, +*+h2, +*+h3, +*+h4, +*+h5, +*+h6 { + padding: 1rem 0 0 0; +} + +h1 { + font-size: 2rem +} + +h2 { + font-size: 1.5rem +} + +h3 { + font-size: 1.2rem +} + +h4, +h5, +h6 { + font-size: 1rem +} + +p { + margin: 0 0 1rem +} + +em { + font-style: normal; + color: gold; +} + +ol, +ul { + padding-left: 1.5rem; +} + +ul { + list-style-type: none; +} + +ul li, +ol li { + position: relative; + margin: 0 0 0.5rem 0; +} + +ul li:last-of-type, +ol li:last-of-type { + margin: 0; +} + +ul li::before { + content: '⭐'; + font-size: 60%; + top: 5px; + position: absolute; + left: -1.5rem; +} + +ol ul li::before, +ul ul li::before { + content: '🌟'; +} + +ol { + list-style-type: none; + position: relative; + counter-reset: item; +} + +ol>li { + counter-increment: item; +} + +ol>li::before { + content: counters(item, ".") ". "; + top: 0; + position: absolute; + right: calc(100% + 0.5rem); +} + +ol ol, +ul ol { + padding-left: 3rem; +} + +ol>li:nth-child(5n+1)::before { + color: deeppink +} + +ol>li:nth-child(5n+2)::before { + color: orangered +} + +ol>li:nth-child(5n+3)::before { + color: gold +} + +ol>li:nth-child(5n+4)::before { + color: limegreen +} + +ol>li:nth-child(5n+5)::before { + color: deepskyblue +} + +ol ol li::before, +ul ol li::before { + color: white !important; + left: -3rem; +} + +dt { + font-weight: 700; +} + +dd { + margin: 0 0 0.5rem 0; +} + +blockquote { + border-left: 3px solid gold; + margin-left: 0; + padding-left: 1.5rem; + margin-bottom: 1rem; +} + +blockquote p:last-child { + margin-bottom: 0; +} + + +pre { + background: #282828; + color: peachpuff; + padding: .2em .8em; + overflow: auto; + margin: 0 0 1rem 0; +} + +code { + background: #282828; + color: peachpuff; + padding: 0.2rem 0.4rem; + margin: 0 0 1rem 0; +} + +details {} + +summary { + text-decoration: underline; + color: deeppink; + cursor: pointer; +} + +summary:hover, +summary:focus, +summary:active { + color: springgreen; + text-decoration: underline wavy 2px; +} + + +table caption { + text-align: left; + font-size: 1.25rem; + font-weight: 700; +} + +table { + border-spacing: unset; +} + +table, +table th, +table td { + border: 1px solid gainsboro +} + +table th, +table td { + padding: 0.5rem; +} + +figure { + margin: 0 0 1rem 0; +} + +label { + display: block; +} + +fieldset { + margin: 0 0 1rem 0; +} + +.form { + margin: 0 0 1rem 0; +} + +input, +textarea, +select { + padding: 5px 10px; + border: 2px solid deeppink; + color: black; + border-radius: 0; + accent-color: deeppink; + font-family: 'Courier New', Courier, monospace; + font-weight: 700; +} + +input[type="file"] { + color: white; +} + +button, +input[type="button"], +input[type="submit"] { + padding: 5px 10px; + border: 2px solid springgreen; + background: springgreen; + color: black; + border-radius: 0; + accent-color: springgreen; + font-family: 'Courier New', Courier, monospace; + font-weight: 700; + cursor: pointer; + font-family: inherit; +} + +@media screen and (max-width: 699px) { + body { + font-size: 16px; + } + + .column.sidebar, + .column.main { + width: 100%; + } + + .header, + .topnav { + width: 100%; + } + + .header { + padding-bottom: 1rem; + } + + .header h1 { + float: left; + font-size: 2.5rem; + } + + .header button { + float: right; + } + + .topnav { + flex-direction: row; + } + + .topnav a { + padding: 3px 12px; + } + + .column.main>h2:first-of-type::before { + content: none; + } +} + +@media screen and (min-width: 700px) and (max-width: 950px) { + + html { + font-size: 20px; + } + + .column.sidebar, + .column.main { + width: 100%; + } + + .column.main { + padding: 35px 0 35px 35px; + } + + .header, + .topnav { + width: 100%; + } + + .topnav { + flex-direction: row; + } + + .header { + padding-bottom: 1rem; + } + + .header h1 { + float: left; + font-size: 4rem; + } + + .header button { + float: right; + } + +} + +@media (min-width: 950px) { + .column.main { + width: calc(90% - 321px); + max-width: 700px; + padding: 35px 0 35px 35px; + } + + .header h1 { + top: auto; + max-height: none; + } + + .topnav { + overflow-x: visible; + overflow-y: visible; + } + + .topnav a { + top: auto; + border-radius: 0; + margin: auto; + font-size: 1rem; + } + + .column.main { + overflow-y: visible; + overflow-x: visible; + max-height: none; + } + + .footer { + padding-left: 335px; + } +} \ No newline at end of file diff --git a/static/css/themes/plain.css b/static/css/themes/plain.css new file mode 100644 index 0000000..de61782 --- /dev/null +++ b/static/css/themes/plain.css @@ -0,0 +1,6 @@ +/* + * Name: Plain + * Author: for reference + * Website: 32bit.cafe + */ + diff --git a/static/css/themes/sea.css b/static/css/themes/sea.css new file mode 100644 index 0000000..296301c --- /dev/null +++ b/static/css/themes/sea.css @@ -0,0 +1,352 @@ +/* + * Name: Seafoam Deep + * Author: LEVIATHREN + * Website: https://leviathren.neocities.org/ + */ + +* { + box-sizing: border-box; +} + +::selection{ + background: #00a777; + color: black; +} + +::-webkit-scrollbar { + width: 5px; + height: 5px; +} + +::-webkit-scrollbar-thumb { + background: #00a777; + border: 1px solid black; +} + +::-webkit-scrollbar-track { + background: #141414; + border: 1px solid black; +} + +html { + background: black; + scrollbar-width: thin; + scrollbar-color: #00a777 #141414; +} + +body { + background: repeating-linear-gradient( + to bottom, + #202020 0px, + black 1px, + black 2px, + black 3px + ); + color: #dedede; + font-family: monospace, "lucida console", serif; + margin: 0; +} + +.header { + padding: 10px; + width: 12%; + white-space: nowrap; + vertical-align: middle; +} + +.topnav { + overflow: hidden; + display: flex; + width: 100%; +} + +.topnav a { + float: left; + display: block; +} + +.topnav a:hover { + background-color: #fff; + color: black; +} + +.panel { + height: 0px; + overflow: hidden; +} + +.panel.visible { + height: auto; +} + +.column { + float: left; +} + +.sidebar { + padding: 10px; +} + +.sidebar ul { + list-style-type: none; + margin: 0; + padding: 0; +} + +.sidebar li { + display: block; + padding: 5px; +} + +.main { + padding: 10px; +} + +.row { + display: flex; + flex-wrap: wrap; +} + +.row:after { + content: ""; + display: table; + clear: both; +} + +.footer { + background-color: #0a0a0a; + text-align: center; + padding: 10px; + width: 100%; +} + +.footer-text { + font-size: 0.8rem; +} + +a { + color: #00c990; + transition: 0.2s ease; +} + +a:hover { + background: #181818; + color: #00efaa; +} + +button, select, input { + background: #222222; + color: white; + border: 1px solid white; +} + +button:hover, select:hover, input:hover { + background: #4d4d4d; +} + +@media screen and (max-width: 699px) { + +.column.sidebar, .column.main { + width: 100%; +} + +.header, .topnav { + width: 100%; +} + +.topnav { + flex-direction: column; + padding: 5px; +} + +.topnav a { + display: block; + padding: 5px; +} + +.header h1 { + float: left; +} + +.header button { + float: right; +} + +.footer { + width: 100%; +} + +} + +@media screen and (min-width: 700px) and (max-width: 985px) { + +.container { + padding: 5px; +} + +.column.sidebar, .column.main { + width: 100%; +} + +.header, .topnav { + width: 100%; +} + +.column.main { + width: 75%; +} + +.topnav { + flex-direction: column; + padding: 5px; +} + +.topnav a { + display: block; + padding: 5px; +} + +.header h1 { + float: left; +} + +.header button { + float: right; +} + +} + +@media screen and (min-width: 985px) { + +.container { + background: black; + padding: 20px; + margin: 20px auto; + width: 75vw; + height: auto; + border: 1px solid grey; + box-shadow: 10px 10px #00c990; +} + +.column.sidebar { + background: #080808; + border: 1px solid #333333; + width: 15vw; + margin: 0 5px 10px 0; +} + +.column.main { + width: 56.5vw; + overflow-y: auto; + overflow-x: hidden; + max-height: 65vh; +} + +.header { + width: 100%; + height: 80px; +} + +.header h1 { + font-size: 2.5vw; + position: relative; +} + +.header h1 a { + text-decoration: none; + display: inline-block; + position: relative; +} + +.header h1 a::after { + content: ''; + width: 0px; + height: 2px; + position: absolute; + top: 100%; + left: 0; + background: white; + transition: 300ms; +} + +.header h1 a:hover:after { + width: 100%; +} + +.header h1 a:not(:hover):after { + right: 0; + left: auto; +} + +.header h1 a:hover { + background: none; +} + +h2 { + font-size: 1.5em; +} + +h2::before { + content: '\2727 '; +} + +h2::after { + content: ' \2727'; +} + +h3 { + font-size: 1.2em; +} + +h3::before { + content: '\201C '; +} + +h3::after { + content: ' \201D'; +} + +h4 { + font-size: 1em; +} + +#navigation { + height: 100px; +} + +.topnav { + overflow-x: auto; + overflow-y: hidden; +} + +.topnav a { + position: relative; + top: 3vh; + color: #000; + border: 2px solid #000; + text-align: center; + padding: 12px 16px; + text-decoration: none; + margin: 5px; + background-color: #00c990; + font-size: 1.1vw; + transition: 0.4s ease; +} + +.topnav a:hover { + background-color: #00efaa; + box-shadow: 4px 4px #404040; +} + +.mobile-only { + display: none; +} + +.footer { + width: /*71.5vw;*/100%; +} + +} + +.rev { unicode-bidi: bidi-override; direction: rtl; } +.obem { position: absolute; display:inline-block; z-index: -1; width: 0px; height: 0px; overflow: hidden; }; diff --git a/static/css/themes/tweek.css b/static/css/themes/tweek.css new file mode 100644 index 0000000..e79dc20 --- /dev/null +++ b/static/css/themes/tweek.css @@ -0,0 +1,219 @@ +/* + * Name: tweek + * Author: jess + * Website: https://tangotrail.neocities.org + */ + + { + box-sizing: border-box; +} + + /* imgur img link is temporary placement. feel free to use the background image as a file on your site + ----------- + this goes the same way for any other img urls from imgur within this whole code of the css file + */ +body { + margin: 0; + background-image: url('https://i.imgur.com/29yku5l.gif'); + color: #d1e3d1; +} + +.header { + padding: 10px; + width: 12%; + white-space: nowrap; + vertical-align: middle; +} + + .rev:hover { + color: #419bff; + transition: 15s; + } +.topnav { + overflow: hidden; + display: flex; + width: 80%; +} + p a { + color: #216cc5; + } +.topnav a { + float: left; + display: block; +} + +.topnav a:hover { + background-image: url('https://i.imgur.com/DW1k6bL.gif'); + color: #f4e4e4; + border-radius: 22%; +} + + +.column { + float: left; +} + +.sidebar { +padding: 10px; +} + +.sidebar ul { + list-style-type: none; + margin: 0; + padding: 0; +} + .sidebar ul a { + color: #9b6e6a; + background: #6d5c5c2e; + border: #f200002b 1px solid; +} + .sidebar ul a:hover { + color: #8c6f5f; + background: transparent; +} + +.sidebar li { + display: block; + padding: 5px; +} + +.main { + padding: 10px; + +} + +.row { + display: flex; + flex-wrap: wrap; +} + +.row:after { + content: ""; + display: table; + clear: both; +} + +.footer { + background-image: url('https://i.imgur.com/YjkqaoD.png'); + text-align: center; + padding: 10px; + width: 100%; +} +.footer-text { + font-size: 8.5pt; +} + +@media screen and (max-width: 699px) { + .column.sidebar, .column.main { + width: 100%; + } + .header, .topnav { + width: 100%; + } + .topnav { + flex-direction: column; + padding: 5px; + } + .topnav a { + display: block; + padding: 5px; + } + .header h1 { + float: left; + } + .header button { + float: right; + } + .footer { + width: 100%; + } +} +@media screen and (min-width: 700px) and (max-width: 950px) { + .container { + padding: 5px; + } + .column.sidebar, .column.main { + width: 100%; + } + .header, .topnav { + width: 100%; + } + .column.main { + width: 75%; + } + .topnav { + flex-direction: column; + padding: 5px; + } + .topnav a { + display: block; + padding: 5px; + } + .header h1 { + float: left; + } + .header button { + float: right; + } +} +@media screen and (min-width: 950px) { + .container { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 75vw; + } +.column.sidebar { + width: 15vw; +} +.column.main { + width: 56.5vw; + overflow-y: auto; + overflow-x: hidden; + max-height: 65vh; +} + .header { + width: 15vw; + height: 10vh; + } + .header h1 { + font-size: 1.5vw; + position: relative; + top: 1.5vh; + max-height: 10vh; + } + .header h1 a { + color: #616d5c75; + } + .header h1 a:hover { + color: #818570f5; + } + .topnav { + overflow-x: auto; + overflow-y: hidden; + } + .topnav a { + position: relative; + top: 3vh; + color: #c8f345; + border: 2px solid #000; + border-radius: 20px; + text-align: center; + padding: 14px 16px; + text-decoration: none; + margin: 5px; + background-image: url('https://i.imgur.com/B6MPUWI.png'); + font-size: 1.1vw; + } + .mobile-only { + display: none; + } + .footer { + width: /*71.5vw;*/100%; + } +} +.rev { unicode-bidi: bidi-override; direction: rtl; } +.obem { position: absolute; display:inline-block; z-index: -1; width: 0px; height: 0px; overflow: hidden; +} +} diff --git a/static/css/themes/twilight.css b/static/css/themes/twilight.css new file mode 100644 index 0000000..3a37189 --- /dev/null +++ b/static/css/themes/twilight.css @@ -0,0 +1,307 @@ +/* + * Name: twilight + * Author: Solaria + * Website: https://solaria.neocities.org/ + * / + +/* overall document stuff */ + + /* fonts */ +@import url('https://fonts.googleapis.com/css?family=Arima&display=swap'); +@import url('https://fonts.googleapis.com/css?family=Livvic&display=swap'); + + /* color variables + bg1 = dark background blue + bg2 = lighter background blue + acc = accent */ +:root { + --bg1: midnightblue; + --bg2: #214BCA; + --text: lightyellow; + --link: rgb(255,215,40); + --acc: orange;} +* { + box-sizing: border-box;} + + +/* html elements (and those inside of classes)*/ + +body { + background: var(--bg2); + background-image: linear-gradient(var(--bg1), var(--bg2)); + background-attachment: fixed; + color: var(--text); + font-family: 'Livvic', arial, sans-serif; + font-size: 1.1rem; + line-height: 1.4em; + margin: 0% 2%; + padding: 0% 1%;} + +i, b, em, strong { + color: var(--acc);} + + /* lists */ +ul { + display: inline-block; + list-style: none; + margin: 0px 15px; + padding: 0px;} +li { + padding: 0.25rem 0.75rem 0.25rem 0.25rem;} +li:before { + content: "🟄"; + padding: 0rem 0.25rem 0rem 0.5rem;} +li:nth-child(odd) { + background: var(--bg1); + border-radius: 1em;} +.sidebar ul { + margin: 0px;} +.sidebar li { + padding: 0rem 0.75rem 0rem 0.25rem;} + + /* headings */ +h2, h3, h4, h5, h6 { + margin: 0px; + margin-top: 1em; + font-family: arima;} + +.main h3, .main h4, .main h5, .main h6 { + margin-top: 2em;} + +h1 { + font-family: arima; + margin: 0.6rem 0rem; + text-align: center; + font-size: 2.5rem; + display: block; + position: static; + height: inherit;} + +.main h2 { + border-bottom: 1.5px solid var(--link);} + +.main h2, .main h3 { + color: var(--link);} + +.main h4, .main h5, .main h6 { + color: var(--acc);} + + /* table stuff */ +table { + border: 1.5px dotted var(--link); + border-collapse: collapse; + border-radius: 15px; + display: inline-block; + max-width: 100%; + overflow: auto;} + +th, tr:nth-child(even) { + background: var(--bg1);} +td, th { + padding: 0.1rem 1rem;} +th { + text-align: center; + padding: 0.5rem;} + + /* links */ +a { + font-family: arima; + display: inline-block; + color: var(--link); + text-decoration: underline dotted; + text-shadow: 1px 1px 0px var(--bg1); + border: 1.5px solid var(--link); + outline-offset: -2px; + padding: 0.1em 0.5em; + border-radius: 1em;} + +a:hover, a:focus, #navigation a:hover, #navigation a:focus { + color: var(--text); + text-decoration: underline solid; + outline: 3px double var(--link); + outline-offset: 0px; + box-shadow: 0px 0px 0.5em var(--acc) inset; + text-shadow: 0px 0px 0.5em var(--link);} + +.sidebar a, .main a, .footer a { + padding: 0em 0.5em; + border: 1.5px solid transparent;} + +#navigation a { + background-color: var(--bg1); + font-size: 1.1rem; + color: var(--link); + text-decoration: underline dotted; + text-shadow: 1px 1px 0px var(--bg1); + border: 1.5px solid var(--link); + outline: 1px solid var(--bg1); + outline-offset: -2px; + padding: 0.1em 0.5em; + border-radius: 1em; + display: inline-block; + float: none; + clear: both; + margin: 0px 5px;} + +h1 a { + display: block; + max-width: 25rem; + margin: 0 auto; + text-align: center; + text-decoration: none; + padding: 0.5em; + border-style: none; + box-shadow: none; + color: var(--text); + text-shadow: 0px 0px 0.3rem var(--link); + letter-spacing: 0.1rem; + font-size: 2.5rem; + position: static;} +h1 a:before { + content: "🟄 ";} +h1 a:after { + content: " 🟄";} + + /* button styles */ +button, select, input { + display: inline; + color: var(--acc); + background: #1c309a; + font-family: 'Arima', garamond, serif; + font-size: 1em; + text-shadow: 1px 1px 0px var(--bg1); + border: 1.5px solid var(--acc); + outline: 1px solid var(--bg1); + outline-offset: -2px; + padding: 0em 0.5em; + border-radius: 1em;} + +button:hover, button:focus, select:hover, select:focus, input:hover, input:focus { + color: var(--link); + outline: 3px double var(--link); + outline-offset: 0px; + box-shadow: 0px 0px 0.5em var(--acc) inset; + text-shadow: 0px 0px 0.5em var(--acc);} + +/* classes and ids */ +.container { + position: static; + top: 0%; + left: 0%; + transform: none; + width: 100%;} + +.header { + padding: 5px; + float: none; + display: block; + text-align: center; + width: 100%; + height: initial; + white-space: normal;} +#navigation { + width: 100%; + margin: 0px; + padding: 0px; + overflow: visible;} + +.main, .sidebar { + text-align: left; + background: rgba(25,25,112,0.5); + box-shadow: 0px 0px 2rem var(--bg1) inset; + border: 3px double var(--link); + border-radius: 15px;} +.footer { + float: none; + display: block; + text-align: left; + margin: 0% auto; + padding: 0px; + width: 100%; + max-width: 25rem; + clear: both; + background: transparent;} +.footer-text { + font-size: 1.1rem;} + +.row { + display: block; + width: 100%;} + + +/* title for extra narrow screens */ +@media screen and (max-width: 420px) { + .header h1 a { + letter-spacing: 0rem; + font-size: 2.1rem;} +} + +/* phones and tablets, one column */ +@media screen and (max-width: 950px) { +body { + margin: 1% 2%;} +.header h1 { + text-align: center; + float: none;} +#navigation { + text-align: center; + width: 100%; + display: block; + padding: 0px; + margin: 0px;} +#navigation h2 { + margin: 0px; + padding: 0px;} +#navigation a { + display: inline-block; + margin: 1px 2px;} +.row { + display: block; + width: 100%;} +.sidebar, .main { + display: block; + width: 100%; + padding: 5px 20px; + margin: 5px 0px;} +} +.column.main { + width: 100%;} + +/* computer screens and wider, two columns */ +@media screen and (min-width: 950px) { +.main, .sidebar { + float: left; + margin: 1%; + margin-bottom: 10px; + overflow: auto; + min-height: 75vh; + max-height: 75vh;} +.column.main { + width: 74%; + max-width: 900px; + padding: 0.5rem 2rem;} +.column.sidebar { + width: 22%; + padding: 0.5rem 1rem;} + +.header h1 { + position: static; + margin: 0px; + max-height: none;} +#navigation { + position: static; + display: block; + text-align: center;} +#navigation a { + position: static; + text-align: center; + display: inline-block;} +.footer { + display: block; + clear: both; + float: none;} +.mobile-only { + display: none;} +} + +/* space */ \ No newline at end of file diff --git a/static/js/main.js b/static/js/main.js new file mode 100644 index 0000000..0744134 --- /dev/null +++ b/static/js/main.js @@ -0,0 +1,128 @@ +var addrOK = false; +// functions to deal with cookies +function getCookie(cname) { + let name = cname + "="; + let decodedCookie = decodeURIComponent(document.cookie); + let ca = decodedCookie.split(';'); + for(let i = 0; i ?|Xz1pjK@0O}1y;iBUb#+VDV#&5_m%7!GZCQ(D8+Ci@ZY^#JN!Ds4 zg4+m;jgfI6EZHDTCdn`p0-4t`U=y5#I1G>wm?RKFfDnd+gvn&|@lEUu(HC3u|L49} z^}5xPWpI)&8CR?7-S^&I&OP^R_uO-@#1fH4{J7GvX~W<~_i5)zk&~l%x@Xh&ZMU!e zz58#&{bxm-6Ps?ov;X=1iJc;ES}S60-FEx375DtS>x+z3kbiXdp|KaHjDZ^e7m>Adsc;oW0D zGxY1rM22y1ec{m9sUvn@VG{TEAiw{>*rC1m^uOhT$k7($|L&2)$4~rq^~U`oCw>Tc z?>lmA?~xPh|9l1D%_09;v1J1FJZ~QrN0PF%3P{AU#Tggdvh1B=+t!GSl(kJH=_Oob za~cy~d(Xj)+R@A+^+=^s*VgfCkKY!kOeq!RK9Ihu% zUASP{alUUa6ppVae~N~k=qc)Jml6lRdhutV7DJ`yK&6e+Dvxds`nC^M`_h(^wA_T_j%O^=y;3V_Yb2Yp zJ+EyGh9OFOTT9hd7$e8d9IKa8cDa19;cBZ0i3&|C#q%eZoU2sd)mlbp`R%IFzV$pv zpZ%PeAO-QGEKs9%^dgC|D9ZKKYcW1a+f9yx>TS=m#{sd7pbM>A#Ph&(R*dIBEGd*s zD%Z^-LzCxP9dMj-opll|y?_spjplKS->Iz@rCGLAZ%J5o#&S|NSSyuF+pd=azeB8q z81%g4NY+xSZD>eAt~E3_fMQd{6j>i&giz#@vp}!mfD?$um948W{KSA6Z32OhLZcX& z&=J1iQQ|-nWH?&#&3}kSm~x1?xvJVnjJQ)V;=0a=7hxoZjU?cRun~$l#e~5F#ax|! zvcSOl>J2H&N{1Zai0grbAXn@W(1T(=F_N(oiM9l!UBs$@%1FE{B_4ad+Tfopk_bS} z;Rv8{{IS1$0K8ImsLamFvT6m;I4*H-S!RnrR4oYZK+t)}FHQ3X#q`L58 z*b|U)Z7vWcX-SheyyR>h4Z|4*W(E0tO&Vd8slD=GsoSbsB>|0-zzEn`FXK2#peAkA zag$7@Msijv)t1^?C>SYPXe>a)r}8PK#+U@nLxMJATp)hP5}?HdzED7rofwms-eGjo zJMe(Qh*&f|3^m}Q>H^%mj?q8hLa(Ovri}`O+-jrov>pt~`SUNn>pc3X7!y1|A7@qD zfEcP!%WAWTB&uTvPy)V2qlP2QpVV<=e&|LWF(j?{)2~0myyhv#5qUX|k4zs&W;q|L z?Q4(3`HOmB4P+sdfV0!~09u?1lZFbZt0>$daw6@N0@U4rx+dbGkrav6^QxJM%TS-A z@02vEBPCO?vQ{Qb5r@V+46`I0J29TO(rH*tFb2SKj^mExAPGrIEiDbOzgpT`pe&8# zL2X5n7Cyz~9O4cP$3LiZ$XzJ+)+D~l7Wg6eVLbF!2fRMc%7qD;SA{jlcA*GI9Vm}B zn}d^(L}R0y?9kC+eHcabEy5o459P-V)$5X$1@&%&PRJ1;l5x|KY&zp88`CDqHRq<= zA~|L08t|~mC`d>O{HU}v?EMmG6w2{k5q+}lX1T7q7HCY_7VHdLl8z0{;fR-Tym4rA zbSRUyBPr4>%?4%o%_is7v4$~Jyg_1{X8EhFS|?!@Qe1~LX`fRnng`T)@@F+X#H>XS z5gJa=l9(z#Q;{^g*jiL|1r$JRQg&jT_zx@PuxJBu&2tlDdlJz#kE4a{PgA^1FPa{No6zH)G_hW$)tA-Dk|+|(&Mp?X0wr^ zNG21bIn&V+Mn(%}PP1g%OP;>cqQg~8Phy5^-MG#hRRd9GR82Rq26`vSMCu0kBB9ri zcmC816BDQEIH5E*_?v1+kw0&&u7mvn=?n7@)Z<|kVH!DM?`UHup$F9tFnTb?hgtHW zj$~awb(_%)4WPzTrwl;@yoYN#n6#6Ix=2(VQW5T!O|0v?d&C3j0Y?TkROLCnC2qE*)>kTMhr(-29K zN*m5F#mZJ95?EBm07rl|jBKF1y#VeADVMlp>u)xc+b0Rn@e;>~*A(%Zf@DZR;8MmGq5d&8 z3E031!0o~KOnFII^+0F{c`B8L6`<3-h6ZXUqZ!xts2+{alo~8h4p;>g3B8Dk9*pNK1aYp($`^9^ z@kX$UHv%fgfENnIk!Gt{Y%6Z<>}+VruZGx^ZScOyF*b{Jc|Ao0-HHl5IX70<%rR` z4KW3`oO(sLT?5=ELp&>=sYbx$lV(}?OM5r;1sF?$^j((MSHWb7=DZy;o6a-oT%D82K+{U5m{HN`r9Bw=5P-0Kv#@*D}`!dL}fF%T=rO8ibnpXbOR;@ zX*l(0WvEk6a=H9yqm|FM<>9Ou2=5wON*po5qnAXNWvoH1fNN$E4K@C>( z^Fgn_=1cu?eW?b+|JHq}rWaG^0I&H{|2_Fqv8Dxi^O`U9$M>b)63NslzEtycx-S(^ zsogK*OEu+Q^QHca_)?7yrq>jVw!ukY+PF^C6R7h%0A!{R8CV;Q+KNt@TN`1) z8!NZI`lxMTcA#yURmUv7CYZw|9SE~>BOHQ)1VzGqGW@ppy3XGB)~ ztNNbr)%M|gz5@F?1ab!z*?+A+;<+%^N%_+#wvJ_8<2h}%T065Et`#8R+&tCq+mR3uP|0&I*^zi>xvNJ zjDUQxDF)&c&yT_I|4;sS)8nbOIDHte`QyX2tBco+Uh~J#;K6^*AOCOCAFq~ByWCve zNPoPOroEV!l$*v{0+!=68Y`2DynS3#$YmMM!f3$)k!2Pxb>%HR!bk&z3AVJ* z6gP1Nb+>xWC@;b&H>Q7Rl!q>LE?v}gZfMvtY%OxF!_7WT<5HGyt!~EXW}S?Q4$LFU z3abmW)d3XY%bD2$1FY)HS@jUBm~ z__kND&h=xghdcmhjl+Iq;v@wfj@*F&Iq!iW#79b*Lt>qc}fBpA5s z?tvuKXp?U0wkg3Lso6biRE=>7Y7w-Vsnmc@VT- zVs{ji)SX22Q;o`0DONuNk-`=xP8~lUYR$JEH{PT$Hc+GEV{N>u@lG*)oED8j#Im$T zqdGvDJ2G>WrA8ofc^zsUKx2JQqt)s$7W9EN$`fW)ZW+QsG^EK!l#d3Wx>)>G6ACOD z#{MGOax`nAEwQ-B5($PfU15>o>fCVII$U6zvS^*dqP4ZU3#*GJE|bf?h}C>vW8Dzu zg2gmMX4IC^(WBa|8#I*Eb>7>n+l9f)47tOarHd^N^?(sboTwjD;zj7@yKD@zfhk)2 zW3)&J6&Ln2UPPe^31h;HmeNI@QL!5PgXl)t2l_x*L=vG>#$3xw-k55sWG9!vIgbf# zHQk57fzzno35dz5>xb3q_3$}pn1Z;ZXU3k?!`x{@T;9Xjy}An_;zYIyfYB}i*``M( zqDbw*c+0e1HdNPR2ZmTXVb`Q#mjcm<4NE4#x3%anI5w^%IE;Q&wqN5gI0V!ypxyws z4lYw$G{ojUL#y3_;7Z$NEE6_YXvd>iDp-RfA%aWQg(jbM`tlivt3}Ypl)=C-;Ew~( zATI!Ami0NrSn7_vJ)k>UnkCs*y)|Ju2o$j#_>waaR+&8fC>Fv#5lBuyiaVn2SU7uX zeiXAUg|R-Ur5+AZq|I(@bONF1A&R0%ekC*W!vGQ;BmJ=+I{wmo<5DRaEkd;u@m>}L z-#Fle!Hkel1b#(8K^4DDC?5ghv;p9Rn+nWOnbFeb$)67$2aiGWV*G%c$eXEL*S&?2 zvGCE1SL@EF;0G<6-eYd*4@}a1Gq<1u#^`j z5fZS78KFK-zf8{IY6C{Q9y6Ry&4IAza08YQ+Z^T?W+7_okY#1BfowsHx@_x69WYdH z0`?as09Qz?N`x@_AD%hiaJ7J9(GoyX6;OzDpgeTyg?I+rGae1muV%-~ESVz*C%ruz zs$-Pho4d>K|MY%hl3<^I*wRZF zTaUmejj7W`S;aiQ*AA zQPh^Z7bD;R@_BMxA>RknMX=v6X=M<&n7(GJ3 zlnD>z2x!D8_%hsl#KB}qAZnNSlV;}!|y}YaXDENJJafs;Je}Qq!8a{{=hG5aopBE9@wQ*dn`Y-P>lUuNe?U zvHfBE5$XYejN#N8vl)Ip zd{CM-*29lhACVBP-I=&gR%-C9dYN`)Q8raKFtRwb9n%-tj*;61yB$L-P?tTY*nrt- zHX!j{w*U?H6+;+;xb;UWEYfGDrfA&y!&a^u+F}rdqf*0+ zCYaD*B$NaU-<-!h<0P;#w_3sjOR(D*Jiv`J++~XwW=ju+jh6dSOBwr*@tL$ZZmr&& zv)p3d*5GI?*<=_mFW6`TW8BJWpgC5VvAc%rN*x^{9iV;DT*j6xtRU`qMVx5f zR**y}=ujpM32mucK#kKaAfV2eirn2`V(twb2BwRD5rS{%Q|FhYj;!vdv_tlXIH*xY z@>(S}`WPZx6_BYF zbJ#1RuC7)JckBSTaA6RV{8^Mr%7A~6Ddilv;!^gxuoQPbDB&+u zop@QUpek;Ml@0X-R2nIzwj*N!7(Ib#R~K|NeZVfi5ltml=%D2gQTsvB<$xh5^H?jS zi>s?E>#+=EU9;ntWO2DT5H($4n$=YUYS*ab5O-!zXHiZWYq7$OgAV2_3AiRkOotM1IV$PGdYSQ{W<_)@;CmX+Xv?vn*gjkr6517}dt0gg|i+ zU<^}>MmHL#>8M*n%mgN~xkD&5djimT+##gUUb?`{Py)sp3zXHsFmPhn0BQ&&=Mzck zuFj9`i=`Tzd8Yz8O}_`at2Ph~0%H}#YKb@#l49msU_pT|8Hu2Zhr8_{gI`6v2NVKM zrF2?Q?Sjn<+QW8rI0GS*~jQSZX5 zR}ZiZc~RTlN)yu9EK_#3l0B(QX-B{E5^6Ep=YTs#GT&0&q$&@SONTRV8r{$}8B7%u z?oM35#`$axS~9UsW36UB1)_lEooPx zFy>-tAG_Bey|{Cq69P;O6&kq$Xvh^t@nO7bX%&U83Z-d$94y$5lS z0rRUx!>^o@Py)J&mP=9hJj0L0vtr;;5bV#Z31(W}8U|yWb}`QZglsz`1UF!YtE&`W zRKvucs$-;pBX*PRq;;MPZxI%DZA{bC*gKO*lR&WT8B<-*Ev10bK(VdunGDz&r%YrT zGvTB*+V_~pzDE)+9eLa;1Gxvc9(_e%@JJ!y3fFij{8b0yiH@o6QalGM>_bLNt%FZD z;T0Yc1QjXTPDnA>7zFWwC{#*O-BzUD7cejNR}}H-nBtK|~4s z;`{9J7k};)wT9V`&gn8Y;2Q+L9IT+=6e&1GSW~Y$tV)#XD2~CZ(;mq?NX4olJ{#9wwyN)kqFB1kUgZp=*x2r zRPtaDjqo8u@MH8;eLbwIBe|L*>2V}!VeT};rwec#I9((|^HTOz>W>-mJ2r{xJ;K^*ay16VUDAvsk#Y#Zo)&AkCZye^2Cj4BqkXhl}qn6XD2Pj z#3yHE>_ld~h~vYckvuH8VCkxWX}z5uX~<{IF3(c+#(Gw+Mb>gku~<(R3bir-c1jIc z6LejQGPk5BNX48J*a=Th0Jl8DXr(RQO7n~>ni0jX!DEKE#9U|EGZ;yDWV#7knIE1T zL0co#cuDm4BSz<4PxHt+Qnd1}3!R5kl;CQm&cn$LnEGTSn}BeGL)r=LYMva014+y= z1f}YAC~rN=;!t|8u=H?sf$lOWrD|>vb3R$@Af*O4#X#9gj&%3N9R}g*6ek4A@gyT- zA;wV>8|NhCcu7X8_dtZBOFZ=eM>)V-m-Dc;l7n}~&E)h1gvboZWNP8b9UTPLIFeHB zsZg5pIJFqKjq1bG(NgbpoX&av6VJjSy!we;deOZ;4C!8di$z(9h34Af2|VNpmKph$ zi&mGW{JP?!4neh~dtygzvrx*YP38b2jIB)~=-ElSp(4&g5knM`pke;CZpj%(n(Mml z?o=9OjGduT_EeRwnkD3H(q`B-B}PM++DZNx*`!chxolGZz7hjXA9M@yoxRgp9Ohro ztLIx!gMsA=rc{ZZz_~Dq6b(&8CSWFF+gS3$;d6Epes#Cm4fP9%j}j{6Im#(u&+r?` zsy0mMO)U*e()iq?dFYSpYoi$F;ReRF0t*UMVs_YK0LjC(UMBU#tXH;T(52@+fL$0^ zz)@kPu^!OYY1Zh$$ctACgouuwfPEf$52i#CT=rA|TImr!W1d9P0cn!7S^LD{;mp2S zcoK%4H4IC2jdPc9s1BCHK(UuN2_y7zU+O$To`gYX0Ab;V<_I>RB!tBXlG;F%T5Izq zU6F{`63nQRrafd$9s)T{5gBXLNHAqbL$YYbP%fuO^c*P1^W=|f)IOoUL)Em57(F&ZZ3fQ+yy*hVzJ!kIg|6Lw7b4#pCE6$#mBv_Ly% z$^hdi-Z8epI4&&NR;sq~js4j47sJ&oI$Apv3h@*mSrbKpaWr-wcu}qA)!Lt>s3O{N z4P~;EP8uAL0e87L(iFnsm*U(ofaAd(;)Pt+&cW#52 zq}I}>4wj;3ID><>7ey6UjQ}>qqLJf1?M z^k2aV84mhLI^^&uIY6)&vZ$GGz#3WffZA~6&UV>e#j#)pj(q%>j!a5JX^YuHI+svT zcwksPwATdsOgprL=TpYDY6KGeE+JSzKfqGfAdnGcp=Av(xjE?|DJyiO7hz~YK{~>r zQxB^_GpyAq$)Xi)No6X|4#0;L3a^scskmJ0>?Q%4Swd}L6y8r;NvD2Hiy<7t%p`Xc z{d+b?+5TObW6tJf$tUfDV}2Q510#Bw7sg|!^Pq)2ItyNESX zHlzwquxFU>Yxm|b@T z=LJ{XMz_=5=Kg~FY4;x!s}eURP9)x(IFtB5;=^8xH_yA*dzbgwq>~&?eiRnv+SL82 zqp62dPo{o0^^Nr0^xM*(Pk$x-SDC@gm$P;@pWT&xD*Ib-e{|*Emiz5|GT)S6pFf@d zX#VN^bNR32zg;eP#n#qVzjasZhud;(+uH7KJJ|N6_SdyP z+WvI=-*q%~oa*@9j&rkmX1#va$7kEK`)7~N{@Cp2ORp<^qBHue>KyKTYv5)bDo*=l{x3;UOV@(xzEo1n|b!U?7W5Z*3TQA_uhG*_1pc|`%n6T|0n(ryE?n7 zUBg|+x;`~u=J(FOYyQLYe`fv{%kAYS%3oTrXu-sSKkm+VZ|vUHeWv?t_xBfeEPVH( z+@d{;-oNPUi!Ll)xA@rNUs(LTCCirFyX1XKKDXqBrAw9`T>2YJzt@xRS>3az=L0>T z?)iSt4|;xBkxHu4Q0b`nI+B+3|NY-SclStf-3#zQeIH{hpXxYY;04d! ztIs`*y?($Ups!1RodXxY(`PI<(>JUOdKj`*zlhub8RA=O2jy5t^sPOQ!4b6^U1x;z z60k@0PQTXRjkPnq?OJ=WJo;>=zQ)@B7wIoyinSSseR^M``&yqP_%BmOygtl0YUAtf zl?nZRmsUE)GWv3Skx%=ME8C3l5Y-jk&jb&o)gbeMB9#WUu2{R#J+JY8Os_M_$2@#j zYm0S<^c(L(l#hAi^+tK)S4~H_i(R8U+D|?Y+hSk9SeN>~UE3zkqCRmv@WuVx$-}O9 z0n4=RcP|XS_%6Uq`5gcJB?1&bW4#-aT*{oG+7W5cGJ#y4@PH zPFW9I@3B8;e+$c;DQA)2;?MTy`t$vT{&N3X|D#>=q0tzL>&tSvR({diVU429L|8_& zOtatNcly4Txh5?0W|X=WU;VuF9B8Hd(yW)<7r*x6mtOq%cc{Ve`Ocy5{K|JueP`BR z{JcWSQ{ZluuUhZ1-iMCi8~<33Tkizs;-4qwee#riKt3y9k*DS3^2_oo^7HZqdAEE> z-X$NDpOW{;m*k7`2lCVMNwffuGmfS&z*=pA2e%DgmrlfK&V~2COO{9vbZakgvs_lo z)v^ZXfL$m5S$;wOi~N!NlKi<`FN3mCZjxJMn{1ccWQXjOAsL1~zFY2_setgIr&}ry!^I&O1>q(AwMDiRsK-^gM3>4hy12| z8T9kGd|Uolo{^uG@5*EHCJE$>yhEOlpHaNrQB8S>J6NVzvn5ZrB(U|g608#bhLlcZW-vG>~;nMd*F^! zevm68F)+3#aJQd23m+(|3A*-ncJb-iLaWu^=_6V0Kih0I<6SwB?L&Kq&$e02*&Dc( z!08EE2Zq>Q&^9m-W+?f4{NOX&19#zFXBS)ffx+E_fj2nR6*%3)JMJDr=F*uVKiIw< zkE+8ZKUmAu+Tme;(&Pq2i}5JD^MmDlznnQgvwg@1HqMOsJh*lgPkg@1Fm*LkSC5uP zhlhttz*dkO*d54@p+Iyl+=ctn=3p*!&D}iqOoQxZj%O0GYj}9i*l=L=3=fAr820y| zKjr@6-XKx&2mQe99z&m!1KWp!WVt^`mHROQC^Fg`c#3Xd!rwEQ+|}>%CA(WP;PW@I zM+bKYiKSh5IpCl1&!DZz<%w=!=(eHJ?WM6D!$alau3oByY3IH-2fy=F6|A{6`#-+&@ESXAq(KGjt(=+=mv#0Q#qS1 z$iQI#(ykieWGhn%DQ9Z2dH})zx<2X;o+*!UP!-uy;(!Ex2|z|rVra`_8%z`VOB4?l zpcD$%x)v`~ApMv7pTd8$;S6GkO69KMr6A&B1xFeW27AUf^ac$Tbiwz7;=nEJ84?(w zpn-QgaMz&Y)rg836e&J%up58}jRT|pnNdGz1loForpo3!h9=!T8-^DI`Mu>+y+Lzj z^KC<$Z#NH1U3lKC&s!>!(ll`A&}387Kwypa2aP>sIgnQWWRX7&_zA2wjD^#^eQ1(= z2z2$I!3d+-hNWF)6pPZJ2fk+!a5CQxqbHjH|0X=0I#`z&Li`sh&1E2YAdnl*!hx&w z&{~m6u?O!M3YyCO{$Nl5`Q^dbqy7Hq(;XcaL|n7<_xBS6EqG^*O}39*txTqPomZJm^V(AZ zHVpm)Zxom=`+b3RFS(^RsKj2j)m|PoFMDGz7uH@LGcWy$1jU|9_7k1@gy|~#8Sh^g z`sV|#`RE_7W%Q5N1?V5I-RK{$3(-Gb7omT=E=K=&U4s7cx)lB6wXfo@Q$|`=@kfJ> zQ6ECj8YNAP;TrUjW|vojWj(<%@Z(irg-xK?85y!Xwzf>ce%Tx#$KGH?G{lnyZ;%uh zT(xvEVYLnpK`3$*SH{qDsXVJH{%VDMHEJ{U3|=fIAbnnHruQ|`jV?BRY&+6;s?+6M&XjiZ5w(Voh#;4G`hXeD=GbWb@* zK&e95xdUS*q(_G#AEuWX189){<&9%&OJ%gM5>PTS0v@Gy*^h>P+%py~SBs~`hm;`_?$u;+t}8U3qP(D@HF}!y%lTAb_v!iLi1L?yl?U;+PRHVQ*?E zxEUyDHEa*-1RUPn7hDZ4zvU9oH={bMr8!uGJhxVYYjD{@EDi$Q{zfR_2wPh#BnsBkfLNa14Y0fmdH!@%*n+5jHW zyP%2}M@@1)lE;X2W()dpcO1GFN#;3WlFaj<=HUzGc>@YxU#s<`-f4+bCdm?SG)ZRv z3Dk4Fsq#%G$qWyfBr{AP?+vy39@aap@69I3?59nV+24YaH<|^5fXj7cxDOP;3F{hv;Y zdm0mkEZ$`MKP^?vE_wGUdNnpoF0dZI4HJULhj_nd!{lP#Ka&#kKsF4QCKvJ1Z=_CR zGj#Rw-FIkCyx`{(-FB;I7nVL_U3fHbpM;X$@Kj_MSLzyJMgZ2HB7s*z$%34 zgxq1R2-6;(KNhA_(qVlhOs8Y%tSq#i3!mp=>AW@H;@S=2Dah4M2HpV9@81Y-#eVf& zoPZBu1-u{2;W_Z(71#%#h7bP$eHsVg(b$cgd-3-Go^D6_F#G{~@s#D(!`pEJB@V0a z!-v0MAMQ_}{^RJ^GW?CB9_DxuzJ)%NIt)JvpB~2FI9k{XKf__veF7zx;d^nbOJ;;+ z2TG2k)`Re090TNiVGpi@SA$-Tt?=T^)Q4X9Z{j6q%HvPV^E#BEZ)d+k>Q8CS*Z$rQ zD2R!}=;?m#4RP@X&AAq^t-^N=yiBX%PgxC2%-pBxu-$@MkB4n;#+8^o09dBu_(1Gk zAJWHwnPobX`%&JPjamoC>vp8>M=d86YaC~j;~=iPQS$@HzZWq2=*j_DJi zGyfut7^>Y5I7wH1__DS-ZnmL@TYtn-5CO{Pa^ZvEo0&d;iHG#YeIC$%40!!@cqY5y zo7)2~-Twq#?1iuL_u-#h0v{c{kADDf<(J_t>;;7MLtce3S|NW3|Km73oIeGBVE~Wb z{{|J&L-|+gqx>pXA@^bB@f!61I{4@Q7yOCW%U{FGw;wce5Ip(-IPDkJcX=3|zrTeC z^N3RMQF#4sQ9s}b;Q1s*dJDM4_%=_0^4|y##xDD z`OENL{u2D7Z-+0_gMafzgjy#dDW8JJG7GQmeeg@(0G;qz`ET&_eggj7r{RVC2>h$R z4ew|MUe+@FyN|M>A9l$E<*RewT4f%HR!3Xv)U*3OBcwG@*SK0$ROmhA5 z@VdbreDK)e@cnANu3Wx0J$`KL4SRPVKC~-6w)?>onhM{oNT1k$a8LZnD)VN=8qf~R zEO_6GxKdM?&rL|D@dT%Az#q)>8492m3-rRE$Lqllu-q_u7Di}4ehdhtpZkU(B5-McjC`N?H%}Ch(8NsyBv`ZcOXT$P=}3k zV{j$prZxkoXK%IF;cu&bliiPY#omZ7RvPrX1J_mfUJKlaUBMTesb4^8&&JnBD+Sby zGXS^>qc}_`4zXJtIP6gzu2mdfuQ=SII2@5f))(x>)|c_+HA>^&?z1=QbH4jB4!hy? zukBlLz18}veXHGo>vJYu%lCJ7C!Td${|Db6;`;<88UxMy<_S z+i0g&p80uyiE=EX-&NtYiZ%#ulpj|+Y=?E$+Ti;ynEvUrOZTyj<$!I|C*okH{+Rj{ zr*t`efpJ@7%n*Wpfgz+Di^-0bD zNqu{b!b6^$TjM$WhhWeIDk(@3K{c++sQt+L@Rl`9`duKQr$*=Waw^na6n zZD@>S?d~yMtD-z1ztVyxG}xJhYd^l%)}C0Sb#8=)(TF=p;On6+2ot3i ouU)w3-9wPntTBnN$z@7EfqFg&opUC<^1Oo&qF$DrK<)DX03m%_d;kCd literal 0 HcmV?d00001 diff --git a/themes/32bitcafe-base/layouts/_default/baseof.html b/themes/32bitcafe-base/layouts/_default/baseof.html index dac05b7..c023c2b 100644 --- a/themes/32bitcafe-base/layouts/_default/baseof.html +++ b/themes/32bitcafe-base/layouts/_default/baseof.html @@ -20,7 +20,7 @@ -