From ebc5cf9ac20b959c6d4a6a34643eb8657cf9db84 Mon Sep 17 00:00:00 2001
From: Thomas Lange <code@nerdmind.de>
Date: Thu, 21 Nov 2024 20:59:05 +0100
Subject: Rename "rsrc" directories to "static"

Stop using "rsrc" as name for the directories which contain static files
and rename them to "static". This affects the global static directory
and the subdirectories in the theme directories.

If you've stored your own files in the old global "rsrc" directory, you
must move them to the new "static" directory.
---
 theme/admin/html/main.php                      |   6 +-
 theme/admin/html/migration.php                 |   4 +-
 theme/admin/rsrc/css/bright.css                | 972 -------------------------
 theme/admin/rsrc/css/bright.scss               |  69 --
 theme/admin/rsrc/css/dark.css                  | 972 -------------------------
 theme/admin/rsrc/css/dark.scss                 |  69 --
 theme/admin/rsrc/css/import/_fontello.scss     | 116 ---
 theme/admin/rsrc/css/import/_fonts.scss        |  33 -
 theme/admin/rsrc/css/import/_responsive.scss   |  92 ---
 theme/admin/rsrc/css/import/_styles.scss       | 795 --------------------
 theme/admin/rsrc/css/import/_variables.scss    |  31 -
 theme/admin/rsrc/font/fontello.json            | 508 -------------
 theme/admin/rsrc/font/fontello.woff2           | Bin 16460 -> 0 bytes
 theme/admin/rsrc/font/kadwa-n-400.woff2        | Bin 18108 -> 0 bytes
 theme/admin/rsrc/font/ruda-n-400.woff2         | Bin 9120 -> 0 bytes
 theme/admin/rsrc/font/ruda-n-700.woff2         | Bin 9116 -> 0 bytes
 theme/admin/rsrc/icon-public-domain.svg        |   1 -
 theme/admin/rsrc/img/noise-bright.png          | Bin 9237 -> 0 bytes
 theme/admin/rsrc/img/noise-dark.png            | Bin 6557 -> 0 bytes
 theme/admin/rsrc/main.js                       | 191 -----
 theme/admin/static/css/bright.css              | 972 +++++++++++++++++++++++++
 theme/admin/static/css/bright.scss             |  69 ++
 theme/admin/static/css/dark.css                | 972 +++++++++++++++++++++++++
 theme/admin/static/css/dark.scss               |  69 ++
 theme/admin/static/css/import/_fontello.scss   | 116 +++
 theme/admin/static/css/import/_fonts.scss      |  33 +
 theme/admin/static/css/import/_responsive.scss |  92 +++
 theme/admin/static/css/import/_styles.scss     | 795 ++++++++++++++++++++
 theme/admin/static/css/import/_variables.scss  |  31 +
 theme/admin/static/font/fontello.json          | 508 +++++++++++++
 theme/admin/static/font/fontello.woff2         | Bin 0 -> 16460 bytes
 theme/admin/static/font/kadwa-n-400.woff2      | Bin 0 -> 18108 bytes
 theme/admin/static/font/ruda-n-400.woff2       | Bin 0 -> 9120 bytes
 theme/admin/static/font/ruda-n-700.woff2       | Bin 0 -> 9116 bytes
 theme/admin/static/icon-public-domain.svg      |   1 +
 theme/admin/static/img/noise-bright.png        | Bin 0 -> 9237 bytes
 theme/admin/static/img/noise-dark.png          | Bin 0 -> 6557 bytes
 theme/admin/static/main.js                     | 191 +++++
 38 files changed, 3854 insertions(+), 3854 deletions(-)
 delete mode 100644 theme/admin/rsrc/css/bright.css
 delete mode 100644 theme/admin/rsrc/css/bright.scss
 delete mode 100644 theme/admin/rsrc/css/dark.css
 delete mode 100644 theme/admin/rsrc/css/dark.scss
 delete mode 100644 theme/admin/rsrc/css/import/_fontello.scss
 delete mode 100644 theme/admin/rsrc/css/import/_fonts.scss
 delete mode 100644 theme/admin/rsrc/css/import/_responsive.scss
 delete mode 100644 theme/admin/rsrc/css/import/_styles.scss
 delete mode 100644 theme/admin/rsrc/css/import/_variables.scss
 delete mode 100644 theme/admin/rsrc/font/fontello.json
 delete mode 100644 theme/admin/rsrc/font/fontello.woff2
 delete mode 100644 theme/admin/rsrc/font/kadwa-n-400.woff2
 delete mode 100644 theme/admin/rsrc/font/ruda-n-400.woff2
 delete mode 100644 theme/admin/rsrc/font/ruda-n-700.woff2
 delete mode 100644 theme/admin/rsrc/icon-public-domain.svg
 delete mode 100644 theme/admin/rsrc/img/noise-bright.png
 delete mode 100644 theme/admin/rsrc/img/noise-dark.png
 delete mode 100644 theme/admin/rsrc/main.js
 create mode 100644 theme/admin/static/css/bright.css
 create mode 100644 theme/admin/static/css/bright.scss
 create mode 100644 theme/admin/static/css/dark.css
 create mode 100644 theme/admin/static/css/dark.scss
 create mode 100644 theme/admin/static/css/import/_fontello.scss
 create mode 100644 theme/admin/static/css/import/_fonts.scss
 create mode 100644 theme/admin/static/css/import/_responsive.scss
 create mode 100644 theme/admin/static/css/import/_styles.scss
 create mode 100644 theme/admin/static/css/import/_variables.scss
 create mode 100644 theme/admin/static/font/fontello.json
 create mode 100644 theme/admin/static/font/fontello.woff2
 create mode 100644 theme/admin/static/font/kadwa-n-400.woff2
 create mode 100644 theme/admin/static/font/ruda-n-400.woff2
 create mode 100644 theme/admin/static/font/ruda-n-700.woff2
 create mode 100644 theme/admin/static/icon-public-domain.svg
 create mode 100644 theme/admin/static/img/noise-bright.png
 create mode 100644 theme/admin/static/img/noise-dark.png
 create mode 100644 theme/admin/static/main.js

(limited to 'theme/admin')

diff --git a/theme/admin/html/main.php b/theme/admin/html/main.php
index 2035b47..c6fe12c 100644
--- a/theme/admin/html/main.php
+++ b/theme/admin/html/main.php
@@ -19,8 +19,8 @@ $theme = isset($_COOKIE['dark_mode']) ? 'dark' : 'bright';
 	<meta charset="UTF-8">
 	<meta name="referrer" content="origin-when-crossorigin">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<link rel="stylesheet" href="<?=Application::getTemplateURL("rsrc/css/$theme.css")?>">
-	<script defer src="<?=Application::getTemplateURL('rsrc/main.js')?>"></script>
+	<link rel="stylesheet" href="<?=Application::getTemplateURL("static/css/$theme.css")?>">
+	<script defer src="<?=Application::getTemplateURL('static/main.js')?>"></script>
 	<title><?=escapeHTML($NAME)?> | Administration</title>
 </head>
 <body>
@@ -28,7 +28,7 @@ $theme = isset($_COOKIE['dark_mode']) ? 'dark' : 'bright';
 		<div class="header-line background">
 			<div class="header-content">
 				<a href="<?=Application::getURL()?>">
-					<img id="header-logo" src="<?=Application::getTemplateURL('rsrc/icon-public-domain.svg')?>" alt="Administration">
+					<img id="header-logo" src="<?=Application::getTemplateURL('static/icon-public-domain.svg')?>" alt="Administration">
 				</a>
 				<div id="header-text"><?=escapeHTML($BLOGMETA['NAME'])?></div>
 				<div id="header-desc"><?=escapeHTML($BLOGMETA['DESC'])?></div>
diff --git a/theme/admin/html/migration.php b/theme/admin/html/migration.php
index 921b006..05f33c1 100644
--- a/theme/admin/html/migration.php
+++ b/theme/admin/html/migration.php
@@ -5,14 +5,14 @@
 	<meta charset="UTF-8">
 	<meta name="referrer" content="origin-when-crossorigin">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<link rel="stylesheet" href="<?=Application::getTemplateURL("rsrc/css/$theme.css")?>">
+	<link rel="stylesheet" href="<?=Application::getTemplateURL("static/css/$theme.css")?>">
 	<title><?=$Language->text('maintenance_mode')?></title>
 </head>
 <body>
 <header id="main-header">
 	<div class="header-line background">
 		<div class="header-content">
-			<img id="header-logo" src="<?=Application::getTemplateURL('rsrc/icon-public-domain.svg')?>" alt="Administration">
+			<img id="header-logo" src="<?=Application::getTemplateURL('static/icon-public-domain.svg')?>" alt="Administration">
 			<div id="header-text"><?=escapeHTML($BLOGMETA['NAME'])?></div>
 			<div id="header-desc"><?=$Language->text('maintenance_mode')?></div>
 		</div>
diff --git a/theme/admin/rsrc/css/bright.css b/theme/admin/rsrc/css/bright.css
deleted file mode 100644
index 6ca9bae..0000000
--- a/theme/admin/rsrc/css/bright.css
+++ /dev/null
@@ -1,972 +0,0 @@
-@charset "UTF-8";
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Content background and border color
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Header and navigation
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Text colors
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Misc
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Forms
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Form buttons
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Information message box
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Scrollbars
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Import stylesheet
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Import variables
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Line height
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Font families
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Text font sizes
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Heading font sizes
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Content widths
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Selection
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-::selection {
-  background: #BBB;
-  color: #000; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Placeholders
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-::placeholder {
-  color: #444;
-  opacity: 0.5; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Scrollbars
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-* {
-  scrollbar-color: #A1A1A1 #E1E1E1; }
-  *::-webkit-scrollbar {
-    width: 0.75rem; }
-    *::-webkit-scrollbar-track {
-      background: #E1E1E1; }
-    *::-webkit-scrollbar-thumb {
-      background: #A1A1A1;
-      background-clip: padding-box;
-      border: 0.15rem solid transparent; }
-      *::-webkit-scrollbar-thumb:hover {
-        background: #888888;
-        background-clip: padding-box;
-        border: 0.15rem solid transparent; }
-    *::-webkit-scrollbar-corner {
-      background: transparent; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Hyperlinks
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-a {
-  color: #0060A0;
-  text-decoration: none; }
-  a:hover {
-    text-decoration: underline; }
-  a:focus {
-    background: #CCC; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Headings
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-h1, h2, h3 {
-  margin-bottom: 0; }
-  h1 + p, h2 + p, h3 + p {
-    margin-top: 0; }
-  h1 .fa, h2 .fa, h3 .fa {
-    margin-right: 0.25rem; }
-
-h1 {
-  margin-top: 0;
-  font-size: 0.8rem; }
-
-h2 {
-  font-size: 0.7rem; }
-
-h3 {
-  font-size: 0.65rem; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Document
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-html, body {
-  margin: 0;
-  padding: 0; }
-
-html {
-  font-size: 1.25rem;
-  color: #333;
-  background: url("../img/noise-bright.png") #DDD;
-  -webkit-hyphens: auto;
-  word-break: break-word;
-  hyphens: auto; }
-
-body {
-  font-family: "Ruda", "sans-serif";
-  font-size: 0.7rem;
-  line-height: 1.2rem;
-  display: flex;
-  min-height: 100vh;
-  flex-direction: column; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Main content
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#main-content {
-  flex: 1;
-  width: 100%;
-  background: #FFF;
-  box-sizing: border-box;
-  padding: 0.75rem; }
-  #main-content.wide {
-    max-width: 90rem; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Width
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#main-content, .header-content {
-  max-width: 50rem;
-  margin: 0 auto; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Header
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#main-header {
-  font-size: 0.6rem; }
-
-#header-text {
-  font-size: 0.8rem;
-  text-transform: uppercase; }
-#header-desc {
-  line-height: 1rem; }
-#header-text, #header-desc {
-  color: #333;
-  font-weight: bold; }
-#header-logo {
-  display: block;
-  max-height: 5rem;
-  float: left;
-  margin-right: 0.5rem; }
-
-.header-line {
-  padding: 0.25rem 0.75rem;
-  overflow: hidden;
-  background: #EEE; }
-  .header-line + .header-line {
-    border: 0.05rem solid #AAA;
-    border-left: none;
-    border-right: none; }
-  .header-line.background {
-    background: #5E819F;
-    position: sticky;
-    top: 0; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Footer
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#main-footer {
-  font-size: 0.6rem;
-  background: #EEE;
-  border-top: 0.05rem solid #AAA;
-  padding: 0.5rem 0.75rem;
-  text-align: center; }
-  #main-footer ul {
-    margin: 0;
-    padding: 0;
-    list-style: none; }
-    #main-footer ul li {
-      display: inline; }
-      #main-footer ul li .fa {
-        margin-right: 0.125rem; }
-    #main-footer ul li:after {
-      content: " – ";
-      font-weight: bold; }
-    #main-footer ul li:last-child:after {
-      content: none; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Main Navigation
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#main-navi ul {
-  list-style: none;
-  margin: 0;
-  padding: 0; }
-  #main-navi ul li {
-    display: inline; }
-    #main-navi ul li .fa {
-      margin-right: 0.25rem; }
-  #main-navi ul li:last-child {
-    float: right; }
-  #main-navi ul li:first-child {
-    float: none; }
-#main-navi a {
-  padding: 0.1rem 0.3rem;
-  background: #DDD;
-  border: 0.05rem solid #AAA;
-  color: inherit;
-  text-decoration: none;
-  text-align: center;
-  display: inline-block; }
-  #main-navi a:hover, #main-navi a:focus {
-    text-decoration: none;
-    background: #CCC; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Site Navigation
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#site-navi {
-  clear: both;
-  display: flex;
-  box-sizing: border-box;
-  justify-content: space-between;
-  margin-top: 0.75rem; }
-  #site-navi > div {
-    display: flex;
-    align-items: center;
-    border: 0.05rem solid #AAA;
-    background: #EEE; }
-    #site-navi > div > a {
-      display: block; }
-  #site-navi .disabled {
-    pointer-events: none;
-    color: #AAA; }
-  #site-navi ol {
-    list-style: none;
-    margin: 0;
-    padding: 0; }
-    #site-navi ol li {
-      float: left;
-      display: inline-block; }
-      #site-navi ol li + li {
-        border-left: 0.05rem solid #AAA; }
-      #site-navi ol li.active a {
-        background: #CCC;
-        font-weight: 600;
-        pointer-events: none; }
-  #site-navi a {
-    padding: 0 0.5rem;
-    text-decoration: none;
-    color: inherit;
-    display: inline-block; }
-    #site-navi a:hover, #site-navi a:focus {
-      background: #CCC; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Actions
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-.actions {
-  margin: 0 0 0.5rem 0;
-  padding: 0;
-  list-style: none;
-  font-size: 0.6rem;
-  float: right;
-  text-align: center; }
-  .actions .fa {
-    margin-right: 0.1rem; }
-  .actions li {
-    display: inline-block;
-    font-weight: bold;
-    background: #EEE;
-    border: 0.05rem solid #AAA; }
-  .actions a {
-    color: inherit;
-    display: block;
-    padding: 0 0.25rem;
-    text-decoration: none; }
-
-.actions-before {
-  float: left; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Elements
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-pre {
-  margin-bottom: 1rem;
-  overflow: auto;
-  -moz-tab-size: 4;
-  tab-size: 4;
-  background: #EEE;
-  padding: 0.5rem;
-  border: 0.05rem solid #AAA; }
-
-code, pre {
-  font-family: "monospace"; }
-
-code {
-  color: #008B45; }
-
-p {
-  margin-top: 0; }
-
-img {
-  border: none;
-  max-width: 100%; }
-
-.warning {
-  color: #B03060; }
-
-.hidden {
-  display: none; }
-
-.no-visual-list {
-  margin: 0;
-  padding: 0;
-  list-style: none; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Item Element
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-.item {
-  display: flex;
-  flex-direction: column;
-  border: 0.05rem solid #AAA;
-  margin-bottom: 0.75rem;
-  clear: both; }
-  .item header {
-    padding: 0.5rem 0.75rem;
-    border-bottom: 0.05rem solid #AAA;
-    position: sticky;
-    top: 0; }
-    .item header h2 {
-      margin-top: 0; }
-  .item footer {
-    border-top: 0.05rem solid #AAA; }
-    .item footer ul {
-      margin: 0;
-      padding: 0;
-      list-style: none; }
-      .item footer ul li {
-        display: inline-block;
-        float: left; }
-        .item footer ul li:last-child {
-          float: right; }
-    .item footer a {
-      color: inherit;
-      display: inline-block;
-      padding: 0.25rem 2rem; }
-      .item footer a:hover, .item footer a:active {
-        background: #DDD; }
-  .item header, .item footer {
-    background: #EEE;
-    overflow: hidden; }
-  .item blockquote {
-    margin: 0;
-    padding: 0.75rem;
-    overflow: hidden;
-    font-family: inherit;
-    flex-grow: 1; }
-    .item blockquote p {
-      margin-bottom: 0; }
-  .item-id {
-    float: right;
-    color: #444;
-    font-size: 0.7rem;
-    font-weight: normal; }
-  .item-meta {
-    margin: 0;
-    padding: 0;
-    list-style: none; }
-    .item-meta li {
-      display: inline-block; }
-      .item-meta li + li:before {
-        content: " – "; }
-      .item-meta li.item-meta-right {
-        float: right;
-        font-size: 0.6rem; }
-      .item-meta li.item-meta-right:before {
-        content: none; }
-  .item-image {
-    float: left;
-    display: block;
-    margin-right: 0.75rem;
-    width: 10rem;
-    height: 7rem;
-    object-fit: cover;
-    background: #EEE;
-    border: 0.05rem solid #AAA; }
-  .item-container.grid {
-    width: 100%;
-    display: grid;
-    grid-template-columns: 1fr 1fr 1fr;
-    grid-column-gap: 1rem;
-    grid-row-gap: 1rem;
-    column-gap: 1rem;
-    row-gap: 1rem; }
-    .item-container.grid .item {
-      margin-bottom: 0; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Argument list
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-.arguments {
-  list-style: none;
-  margin: 0;
-  padding: 0.25rem 0.75rem;
-  background: #EEE;
-  font-size: 0.6rem;
-  text-align: center;
-  border-top: 0.05rem solid #AAA; }
-  .arguments li {
-    display: inline; }
-    .arguments li > code {
-      font-family: inherit;
-      color: #444; }
-    .arguments li:after {
-      content: " · ";
-      font-weight: bold; }
-    .arguments li:last-child:after {
-      content: none; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Grids
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-.form-grid {
-  clear: both;
-  display: grid;
-  grid-template-columns: repeat(2, 7.5rem minmax(0, 1fr));
-  border-left: 0.05rem solid #AAA;
-  border-bottom: 0.05rem solid #AAA; }
-  .form-grid.two-columns {
-    grid-template-columns: 1fr 2fr; }
-  .form-grid.no-bottom-border {
-    border-bottom: none; }
-  .form-grid > label {
-    display: flex;
-    align-items: center;
-    background: #DDD; }
-    .form-grid > label .fa {
-      margin: 0 0.5rem; }
-  .form-grid-item,
-  .form-grid > label {
-    padding: 0.5rem;
-    border-top: 0.05rem solid #AAA;
-    border-right: 0.05rem solid #AAA; }
-  .form-grid-item.first {
-    grid-column: span 3; }
-
-.form-border-box {
-  border: 0.05rem solid #AAA; }
-  .form-border-box.padding {
-    padding: 0.5rem; }
-  .form-border-box.background {
-    background: #DDD; }
-  .form-border-box.nobordertop {
-    border-top: none; }
-  .form-border-box + .form-border-box {
-    border-top: none; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Form buttons
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#emoticon-list-wrapper {
-  display: flex;
-  width: 100%;
-  justify-content: center;
-  box-sizing: border-box; }
-
-#button-list-wrapper {
-  border-bottom: 0.05rem solid #AAA;
-  background: #EEE;
-  overflow: hidden; }
-
-.button-list {
-  margin: 0;
-  padding: 0;
-  list-style: none; }
-
-.button-list.emoticons > li {
-  font-size: 1.25rem;
-  display: inline-block;
-  padding: 0.2rem;
-  border-bottom: 0.2rem solid transparent;
-  border-radius: 0.1rem;
-  cursor: pointer; }
-  .button-list.emoticons > li:hover, .button-list.emoticons > li:active {
-    border-bottom: 0.2rem solid #AAA; }
-
-.button-list.markdown > li {
-  float: left;
-  padding: 0.25rem;
-  cursor: pointer;
-  width: 1.75rem;
-  box-sizing: border-box;
-  text-align: center; }
-  .button-list.markdown > li:hover, .button-list.markdown > li:active {
-    color: #000; }
-
-#content-editor {
-  border: none;
-  margin: 0; }
-  #content-editor-wrapper {
-    border-top: none; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Form elements
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-input, select, textarea {
-  width: 100%;
-  background: #EEE;
-  color: #444;
-  font-family: inherit;
-  font-size: 0.7rem;
-  padding: 0.25rem;
-  border: 0.05rem solid #AAA;
-  box-sizing: border-box; }
-  input:focus, select:focus, textarea:focus {
-    outline: none; }
-
-textarea {
-  font-family: "Kadwa", "sans-serif";
-  box-sizing: border-box;
-  display: block;
-  resize: vertical;
-  min-height: 15rem;
-  line-height: 1.2rem;
-  padding: 0.5rem;
-  -webkit-hyphens: none;
-  hyphens: none;
-  cursor: auto; }
-
-input[type="submit"] {
-  text-transform: uppercase;
-  border-radius: 0.1rem; }
-
-label {
-  text-transform: uppercase;
-  font-weight: normal; }
-  label:after {
-    content: ":"; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Form buttons
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#insert-button, #update-button, #delete-button {
-  color: #EEE;
-  border: 0.05rem solid #404040; }
-
-#insert-button {
-  background: #4D8D5D; }
-  #insert-button:active, #insert-button:focus {
-    background: #3b6c47; }
-
-#update-button {
-  background: #6A8AA5; }
-  #update-button:active, #update-button:focus {
-    background: #537089; }
-
-#delete-button {
-  background: #C45C66; }
-  #delete-button:active, #delete-button:focus {
-    background: #ae3f4a; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Form message list
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#message-list {
-  margin: 0;
-  padding: 0.5rem;
-  list-style: none;
-  background: #C45C66;
-  color: #EEE;
-  font-size: 0.6rem; }
-  #message-list-wrapper {
-    clear: both;
-    margin-bottom: 0.5rem;
-    border: 0.1rem solid #ae3f4a; }
-  #message-list code {
-    color: inherit;
-    font-weight: bold; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Search form
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#search-form {
-  margin-bottom: 1rem; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Import other files
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-@media only screen and (max-width: 90em) {
-  .item-container.grid {
-    grid-template-columns: 1fr 1fr; } }
-@media only screen and (min-width: 62.5em) {
-  #main-content {
-    border: 0.05rem solid #AAA;
-    border-top: none;
-    border-bottom: none; } }
-@media only screen and (max-width: 62.5em) {
-  .item-container.grid {
-    grid-template-columns: 1fr; } }
-@media only screen and (max-width: 50em) {
-  html {
-    font-size: 1.125rem;
-    /*18px*/ } }
-@media only screen and (max-width: 37.5em) {
-  #main-content {
-    padding: 0.5rem; }
-
-  #main-navi {
-    font-size: 1rem; }
-    #main-navi ul li span {
-      display: none; }
-    #main-navi ul li .fa {
-      margin-right: 0; }
-    #main-navi a {
-      padding: 0.5rem; }
-
-  #emoticon-list-wrapper {
-    display: none; }
-
-  .item-container.grid {
-    grid-column-gap: 0.75rem;
-    grid-row-gap: 0.75rem;
-    column-gap: 0.75rem;
-    row-gap: 0.75rem; }
-
-  .form-grid {
-    grid-template-columns: 7rem 1fr; }
-    .form-grid-item, .form-grid-item.first, .form-grid label {
-      grid-column: unset; }
-
-  .actions {
-    float: none;
-    display: flex;
-    width: 100%;
-    flex-grow: 1;
-    justify-content: center;
-    overflow: hidden;
-    box-sizing: border-box; }
-    .actions-before {
-      float: none; }
-    .actions li {
-      flex-grow: 1; }
-      .actions li + li {
-        border-left: none; } }
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Fontello
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-.fa:before {
-  font-family: "Fontello";
-  font-style: normal;
-  font-weight: normal;
-  speak: never;
-  display: inline-block;
-  text-decoration: inherit;
-  text-align: center;
-  /* For safety - reset parent styles, that can break glyph codes*/
-  font-variant: normal;
-  text-transform: none;
-  /* Font smoothing. That was taken from TWBS */
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  /* Uncomment for 3D effect */
-  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Font Awesome icons
-# ------------------
-# Copyright (C) 2016 by Dave Gandy
-# Author: Dave Gandy
-# License: SIL
-# Homepage: http://fortawesome.github.com/Font-Awesome/
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-.fa-pencil:before {
-  content: '\e800'; }
-
-.fa-comment:before {
-  content: '\e801'; }
-
-.fa-chat:before {
-  content: '\e802'; }
-
-.fa-users:before {
-  content: '\e803'; }
-
-.fa-cancel:before {
-  content: '\e804'; }
-
-.fa-plus:before {
-  content: '\e805'; }
-
-.fa-list:before {
-  content: '\e80b'; }
-
-.fa-arrow-down:before {
-  content: '\e80e'; }
-
-.fa-arrow-up:before {
-  content: '\e811'; }
-
-.fa-arrows-cw:before {
-  content: '\e813'; }
-
-.fa-tag:before {
-  content: '\e815'; }
-
-.fa-tags:before {
-  content: '\e816'; }
-
-.fa-star:before {
-  content: '\e817'; }
-
-.fa-star-empty:before {
-  content: '\e818'; }
-
-.fa-eye:before {
-  content: '\e81a'; }
-
-.fa-ok:before {
-  content: '\e81b'; }
-
-.fa-info-circled:before {
-  content: '\e81c'; }
-
-.fa-home:before {
-  content: '\e81d'; }
-
-.fa-attach:before {
-  content: '\e81e'; }
-
-.fa-cog:before {
-  content: '\e81f'; }
-
-.fa-check:before {
-  content: '\e821'; }
-
-.fa-floppy:before {
-  content: '\e822'; }
-
-.fa-eye-off:before {
-  content: '\e823'; }
-
-.fa-folder-open:before {
-  content: '\e824'; }
-
-.fa-wrench:before {
-  content: '\e825'; }
-
-.fa-search:before {
-  content: '\f002'; }
-
-.fa-envelope-o:before {
-  content: '\f003'; }
-
-.fa-user:before {
-  content: '\f007'; }
-
-.fa-trash-o:before {
-  content: '\f014'; }
-
-.fa-clock-o:before {
-  content: '\f017'; }
-
-.fa-book:before {
-  content: '\f02d'; }
-
-.fa-bold:before {
-  content: '\f032'; }
-
-.fa-italic:before {
-  content: '\f033'; }
-
-.fa-picture-o:before {
-  content: '\f03e'; }
-
-.fa-pencil-square-o:before {
-  content: '\f044'; }
-
-.fa-arrow-left:before {
-  content: '\f060'; }
-
-.fa-arrow-right:before {
-  content: '\f061'; }
-
-.fa-exclamation-triangle:before {
-  content: '\f071'; }
-
-.fa-key:before {
-  content: '\f084'; }
-
-.fa-sign-out:before {
-  content: '\f08b'; }
-
-.fa-external-link:before {
-  content: '\f08e'; }
-
-.fa-sign-in:before {
-  content: '\f090'; }
-
-.fa-github-square:before {
-  content: '\f092'; }
-
-.fa-uncheck:before {
-  content: '\f096'; }
-
-.fa-link:before {
-  content: '\f0c1'; }
-
-.fa-menu:before {
-  content: '\f0c9'; }
-
-.fa-list-ul:before {
-  content: '\f0ca'; }
-
-.fa-list-ol:before {
-  content: '\f0cb'; }
-
-.fa-dashboard:before {
-  content: '\f0e4'; }
-
-.fa-comment-empty:before {
-  content: '\f0e5'; }
-
-.fa-chat-empty:before {
-  content: '\f0e6'; }
-
-.fa-file-text-o:before {
-  content: '\f0f6'; }
-
-.fa-quote-left:before {
-  content: '\f10d'; }
-
-.fa-quote-right:before {
-  content: '\f10e'; }
-
-.fa-smile:before {
-  content: '\f118'; }
-
-.fa-frown:before {
-  content: '\f119'; }
-
-.fa-meh:before {
-  content: '\f11a'; }
-
-.fa-keyboard:before {
-  content: '\f11c'; }
-
-.fa-code:before {
-  content: '\f121'; }
-
-.fa-attention-alt:before {
-  content: '\f12a'; }
-
-.fa-sort-name-up:before {
-  content: '\f15d'; }
-
-.fa-sort-name-down:before {
-  content: '\f15e'; }
-
-.fa-sort-up:before {
-  content: '\f160'; }
-
-.fa-sort-down:before {
-  content: '\f161'; }
-
-.fa-sort-number-up:before {
-  content: '\f162'; }
-
-.fa-sort-number-down:before {
-  content: '\f163'; }
-
-.fa-sun:before {
-  content: '\f185'; }
-
-.fa-moon:before {
-  content: '\f186'; }
-
-.fa-box:before {
-  content: '\f187'; }
-
-.fa-bug:before {
-  content: '\f188'; }
-
-.fa-language:before {
-  content: '\f1ab'; }
-
-.fa-database:before {
-  content: '\f1c0'; }
-
-.fa-file-archive:before {
-  content: '\f1c6'; }
-
-.fa-header:before {
-  content: '\f1dc'; }
-
-.fa-newspaper-o:before {
-  content: '\f1ea'; }
-
-.fa-at:before {
-  content: '\f1fa'; }
-
-.fa-toggle-off:before {
-  content: '\f204'; }
-
-.fa-toggle-on:before {
-  content: '\f205'; }
-
-.fa-user-secret:before {
-  content: '\f21b'; }
-
-.fa-server:before {
-  content: '\f233'; }
-
-.fa-commenting:before {
-  content: '\f27a'; }
-
-.fa-commenting-o:before {
-  content: '\f27b'; }
-
-.fa-user-circle-o:before {
-  content: '\f2be'; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Font "Font Awesome" [4.7.0] (by Fontello): SIL Open Font License (OFL)
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-@font-face {
-  font-family: "Fontello";
-  font-weight: 400;
-  font-style: normal;
-  src: url("../font/fontello.woff2") format("woff2"); }
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Font "Kadwa": SIL Open Font License (OFL)
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-@font-face {
-  font-family: "Kadwa";
-  font-weight: 400;
-  src: url("../font/kadwa-n-400.woff2") format("woff2"); }
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Font "Ruda": SIL Open Font License (OFL)
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-@font-face {
-  font-family: "Ruda";
-  font-weight: 400;
-  src: url("../font/ruda-n-400.woff2") format("woff2"); }
-@font-face {
-  font-family: "Ruda";
-  font-weight: 700;
-  src: url("../font/ruda-n-700.woff2") format("woff2"); }
-#theme-toogle-bright {
-  display: none; }
diff --git a/theme/admin/rsrc/css/bright.scss b/theme/admin/rsrc/css/bright.scss
deleted file mode 100644
index 3d65448..0000000
--- a/theme/admin/rsrc/css/bright.scss
+++ /dev/null
@@ -1,69 +0,0 @@
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Content background and border color
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$htmlBackground: url("../img/noise-bright.png") #DDD;
-$backgroundColor: #FFF;
-$backgroundColorEmphasize: #EEE;
-$borderColor: #AAA;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Header and navigation
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$headerBarTextColor: #333;
-$headerBarBackgroundColor: #5E819F;
-$navigationLinkBackgroundColor: #DDD;
-$navigationLinkFocusedBackgroundColor: #CCC;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Text colors
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$textColor: #333;
-$textColorLight: #444;
-$textColorStrong: #000;
-$formElementTextColor: #404040;
-$codeTextColor: #008B45;
-$linkColor: #0060A0;
-$linkColorFocused: #CCC;
-$warningTextColor: #B03060;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Misc
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$itemLinkHoverBackgroundColor: #DDD;
-$paginationActiveBackgroundColor: #CCC;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Forms
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$formBackgroundColorEmphasize: #DDD;
-$formButtonBorderColor: #404040;
-$formButtonTextColor: #EEE;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Form buttons
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$insertButtonBackgroundColor: #4D8D5D;
-$updateButtonBackgroundColor: #6A8AA5;
-$deleteButtonBackgroundColor: #C45C66;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Information message box
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$messageListTextColor: #EEE;
-$messageListBackgroundColor: #C45C66;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Scrollbars
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$scrollbarColor: #A1A1A1;
-$scrollbarHoverColor: #888888;
-$scrollbarBackground: #E1E1E1;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Import stylesheet
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-@import "import/styles";
-
-#theme-toogle-bright {
-	display: none;
-}
diff --git a/theme/admin/rsrc/css/dark.css b/theme/admin/rsrc/css/dark.css
deleted file mode 100644
index 1a46895..0000000
--- a/theme/admin/rsrc/css/dark.css
+++ /dev/null
@@ -1,972 +0,0 @@
-@charset "UTF-8";
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Content background and border color
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Header and navigation
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Text colors
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Misc
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Forms
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Form buttons
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Information message box
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Scrollbars
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Import stylesheet
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Import variables
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Line height
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Font families
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Text font sizes
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Heading font sizes
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Content widths
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Selection
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-::selection {
-  background: #BBB;
-  color: #000; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Placeholders
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-::placeholder {
-  color: #8D9AA7;
-  opacity: 0.5; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Scrollbars
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-* {
-  scrollbar-color: #838994 #2E3440; }
-  *::-webkit-scrollbar {
-    width: 0.75rem; }
-    *::-webkit-scrollbar-track {
-      background: #2E3440; }
-    *::-webkit-scrollbar-thumb {
-      background: #838994;
-      background-clip: padding-box;
-      border: 0.15rem solid transparent; }
-      *::-webkit-scrollbar-thumb:hover {
-        background: #4C566A;
-        background-clip: padding-box;
-        border: 0.15rem solid transparent; }
-    *::-webkit-scrollbar-corner {
-      background: transparent; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Hyperlinks
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-a {
-  color: #5EA4D3;
-  text-decoration: none; }
-  a:hover {
-    text-decoration: underline; }
-  a:focus {
-    background: #42474E; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Headings
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-h1, h2, h3 {
-  margin-bottom: 0; }
-  h1 + p, h2 + p, h3 + p {
-    margin-top: 0; }
-  h1 .fa, h2 .fa, h3 .fa {
-    margin-right: 0.25rem; }
-
-h1 {
-  margin-top: 0;
-  font-size: 0.8rem; }
-
-h2 {
-  font-size: 0.7rem; }
-
-h3 {
-  font-size: 0.65rem; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Document
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-html, body {
-  margin: 0;
-  padding: 0; }
-
-html {
-  font-size: 1.25rem;
-  color: #9DAAB7;
-  background: url("../img/noise-dark.png") #3D434B;
-  -webkit-hyphens: auto;
-  word-break: break-word;
-  hyphens: auto; }
-
-body {
-  font-family: "Ruda", "sans-serif";
-  font-size: 0.7rem;
-  line-height: 1.2rem;
-  display: flex;
-  min-height: 100vh;
-  flex-direction: column; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Main content
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#main-content {
-  flex: 1;
-  width: 100%;
-  background: #3D434B;
-  box-sizing: border-box;
-  padding: 0.75rem; }
-  #main-content.wide {
-    max-width: 90rem; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Width
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#main-content, .header-content {
-  max-width: 50rem;
-  margin: 0 auto; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Header
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#main-header {
-  font-size: 0.6rem; }
-
-#header-text {
-  font-size: 0.8rem;
-  text-transform: uppercase; }
-#header-desc {
-  line-height: 1rem; }
-#header-text, #header-desc {
-  color: #000;
-  font-weight: bold; }
-#header-logo {
-  display: block;
-  max-height: 5rem;
-  float: left;
-  margin-right: 0.5rem; }
-
-.header-line {
-  padding: 0.25rem 0.75rem;
-  overflow: hidden;
-  background: #32373E; }
-  .header-line + .header-line {
-    border: 0.05rem solid #1D232B;
-    border-left: none;
-    border-right: none; }
-  .header-line.background {
-    background: #3B546A;
-    position: sticky;
-    top: 0; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Footer
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#main-footer {
-  font-size: 0.6rem;
-  background: #32373E;
-  border-top: 0.05rem solid #1D232B;
-  padding: 0.5rem 0.75rem;
-  text-align: center; }
-  #main-footer ul {
-    margin: 0;
-    padding: 0;
-    list-style: none; }
-    #main-footer ul li {
-      display: inline; }
-      #main-footer ul li .fa {
-        margin-right: 0.125rem; }
-    #main-footer ul li:after {
-      content: " – ";
-      font-weight: bold; }
-    #main-footer ul li:last-child:after {
-      content: none; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Main Navigation
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#main-navi ul {
-  list-style: none;
-  margin: 0;
-  padding: 0; }
-  #main-navi ul li {
-    display: inline; }
-    #main-navi ul li .fa {
-      margin-right: 0.25rem; }
-  #main-navi ul li:last-child {
-    float: right; }
-  #main-navi ul li:first-child {
-    float: none; }
-#main-navi a {
-  padding: 0.1rem 0.3rem;
-  background: #2D333B;
-  border: 0.05rem solid #1D232B;
-  color: inherit;
-  text-decoration: none;
-  text-align: center;
-  display: inline-block; }
-  #main-navi a:hover, #main-navi a:focus {
-    text-decoration: none;
-    background: #1D232B; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Site Navigation
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#site-navi {
-  clear: both;
-  display: flex;
-  box-sizing: border-box;
-  justify-content: space-between;
-  margin-top: 0.75rem; }
-  #site-navi > div {
-    display: flex;
-    align-items: center;
-    border: 0.05rem solid #1D232B;
-    background: #32373E; }
-    #site-navi > div > a {
-      display: block; }
-  #site-navi .disabled {
-    pointer-events: none;
-    color: #1D232B; }
-  #site-navi ol {
-    list-style: none;
-    margin: 0;
-    padding: 0; }
-    #site-navi ol li {
-      float: left;
-      display: inline-block; }
-      #site-navi ol li + li {
-        border-left: 0.05rem solid #1D232B; }
-      #site-navi ol li.active a {
-        background: #42474E;
-        font-weight: 600;
-        pointer-events: none; }
-  #site-navi a {
-    padding: 0 0.5rem;
-    text-decoration: none;
-    color: inherit;
-    display: inline-block; }
-    #site-navi a:hover, #site-navi a:focus {
-      background: #1D232B; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Actions
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-.actions {
-  margin: 0 0 0.5rem 0;
-  padding: 0;
-  list-style: none;
-  font-size: 0.6rem;
-  float: right;
-  text-align: center; }
-  .actions .fa {
-    margin-right: 0.1rem; }
-  .actions li {
-    display: inline-block;
-    font-weight: bold;
-    background: #32373E;
-    border: 0.05rem solid #1D232B; }
-  .actions a {
-    color: inherit;
-    display: block;
-    padding: 0 0.25rem;
-    text-decoration: none; }
-
-.actions-before {
-  float: left; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Elements
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-pre {
-  margin-bottom: 1rem;
-  overflow: auto;
-  -moz-tab-size: 4;
-  tab-size: 4;
-  background: #32373E;
-  padding: 0.5rem;
-  border: 0.05rem solid #1D232B; }
-
-code, pre {
-  font-family: "monospace"; }
-
-code {
-  color: #FFB830; }
-
-p {
-  margin-top: 0; }
-
-img {
-  border: none;
-  max-width: 100%; }
-
-.warning {
-  color: #FFB830; }
-
-.hidden {
-  display: none; }
-
-.no-visual-list {
-  margin: 0;
-  padding: 0;
-  list-style: none; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Item Element
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-.item {
-  display: flex;
-  flex-direction: column;
-  border: 0.05rem solid #1D232B;
-  margin-bottom: 0.75rem;
-  clear: both; }
-  .item header {
-    padding: 0.5rem 0.75rem;
-    border-bottom: 0.05rem solid #1D232B;
-    position: sticky;
-    top: 0; }
-    .item header h2 {
-      margin-top: 0; }
-  .item footer {
-    border-top: 0.05rem solid #1D232B; }
-    .item footer ul {
-      margin: 0;
-      padding: 0;
-      list-style: none; }
-      .item footer ul li {
-        display: inline-block;
-        float: left; }
-        .item footer ul li:last-child {
-          float: right; }
-    .item footer a {
-      color: inherit;
-      display: inline-block;
-      padding: 0.25rem 2rem; }
-      .item footer a:hover, .item footer a:active {
-        background: #42474E; }
-  .item header, .item footer {
-    background: #32373E;
-    overflow: hidden; }
-  .item blockquote {
-    margin: 0;
-    padding: 0.75rem;
-    overflow: hidden;
-    font-family: inherit;
-    flex-grow: 1; }
-    .item blockquote p {
-      margin-bottom: 0; }
-  .item-id {
-    float: right;
-    color: #8D9AA7;
-    font-size: 0.7rem;
-    font-weight: normal; }
-  .item-meta {
-    margin: 0;
-    padding: 0;
-    list-style: none; }
-    .item-meta li {
-      display: inline-block; }
-      .item-meta li + li:before {
-        content: " – "; }
-      .item-meta li.item-meta-right {
-        float: right;
-        font-size: 0.6rem; }
-      .item-meta li.item-meta-right:before {
-        content: none; }
-  .item-image {
-    float: left;
-    display: block;
-    margin-right: 0.75rem;
-    width: 10rem;
-    height: 7rem;
-    object-fit: cover;
-    background: #32373E;
-    border: 0.05rem solid #1D232B; }
-  .item-container.grid {
-    width: 100%;
-    display: grid;
-    grid-template-columns: 1fr 1fr 1fr;
-    grid-column-gap: 1rem;
-    grid-row-gap: 1rem;
-    column-gap: 1rem;
-    row-gap: 1rem; }
-    .item-container.grid .item {
-      margin-bottom: 0; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Argument list
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-.arguments {
-  list-style: none;
-  margin: 0;
-  padding: 0.25rem 0.75rem;
-  background: #32373E;
-  font-size: 0.6rem;
-  text-align: center;
-  border-top: 0.05rem solid #1D232B; }
-  .arguments li {
-    display: inline; }
-    .arguments li > code {
-      font-family: inherit;
-      color: #8D9AA7; }
-    .arguments li:after {
-      content: " · ";
-      font-weight: bold; }
-    .arguments li:last-child:after {
-      content: none; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Grids
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-.form-grid {
-  clear: both;
-  display: grid;
-  grid-template-columns: repeat(2, 7.5rem minmax(0, 1fr));
-  border-left: 0.05rem solid #1D232B;
-  border-bottom: 0.05rem solid #1D232B; }
-  .form-grid.two-columns {
-    grid-template-columns: 1fr 2fr; }
-  .form-grid.no-bottom-border {
-    border-bottom: none; }
-  .form-grid > label {
-    display: flex;
-    align-items: center;
-    background: #4D535B; }
-    .form-grid > label .fa {
-      margin: 0 0.5rem; }
-  .form-grid-item,
-  .form-grid > label {
-    padding: 0.5rem;
-    border-top: 0.05rem solid #1D232B;
-    border-right: 0.05rem solid #1D232B; }
-  .form-grid-item.first {
-    grid-column: span 3; }
-
-.form-border-box {
-  border: 0.05rem solid #1D232B; }
-  .form-border-box.padding {
-    padding: 0.5rem; }
-  .form-border-box.background {
-    background: #4D535B; }
-  .form-border-box.nobordertop {
-    border-top: none; }
-  .form-border-box + .form-border-box {
-    border-top: none; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Form buttons
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#emoticon-list-wrapper {
-  display: flex;
-  width: 100%;
-  justify-content: center;
-  box-sizing: border-box; }
-
-#button-list-wrapper {
-  border-bottom: 0.05rem solid #1D232B;
-  background: #32373E;
-  overflow: hidden; }
-
-.button-list {
-  margin: 0;
-  padding: 0;
-  list-style: none; }
-
-.button-list.emoticons > li {
-  font-size: 1.25rem;
-  display: inline-block;
-  padding: 0.2rem;
-  border-bottom: 0.2rem solid transparent;
-  border-radius: 0.1rem;
-  cursor: pointer; }
-  .button-list.emoticons > li:hover, .button-list.emoticons > li:active {
-    border-bottom: 0.2rem solid #1D232B; }
-
-.button-list.markdown > li {
-  float: left;
-  padding: 0.25rem;
-  cursor: pointer;
-  width: 1.75rem;
-  box-sizing: border-box;
-  text-align: center; }
-  .button-list.markdown > li:hover, .button-list.markdown > li:active {
-    color: #CDDAE7; }
-
-#content-editor {
-  border: none;
-  margin: 0; }
-  #content-editor-wrapper {
-    border-top: none; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Form elements
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-input, select, textarea {
-  width: 100%;
-  background: #32373E;
-  color: #8D9AA7;
-  font-family: inherit;
-  font-size: 0.7rem;
-  padding: 0.25rem;
-  border: 0.05rem solid #1D232B;
-  box-sizing: border-box; }
-  input:focus, select:focus, textarea:focus {
-    outline: none; }
-
-textarea {
-  font-family: "Kadwa", "sans-serif";
-  box-sizing: border-box;
-  display: block;
-  resize: vertical;
-  min-height: 15rem;
-  line-height: 1.2rem;
-  padding: 0.5rem;
-  -webkit-hyphens: none;
-  hyphens: none;
-  cursor: auto; }
-
-input[type="submit"] {
-  text-transform: uppercase;
-  border-radius: 0.1rem; }
-
-label {
-  text-transform: uppercase;
-  font-weight: normal; }
-  label:after {
-    content: ":"; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Form buttons
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#insert-button, #update-button, #delete-button {
-  color: #CCC;
-  border: 0.05rem solid #404040; }
-
-#insert-button {
-  background: #396644; }
-  #insert-button:active, #insert-button:focus {
-    background: #27452e; }
-
-#update-button {
-  background: #597186; }
-  #update-button:active, #update-button:focus {
-    background: #455767; }
-
-#delete-button {
-  background: #8F4F55; }
-  #delete-button:active, #delete-button:focus {
-    background: #6e3d41; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Form message list
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#message-list {
-  margin: 0;
-  padding: 0.5rem;
-  list-style: none;
-  background: #8C434A;
-  color: #BBB;
-  font-size: 0.6rem; }
-  #message-list-wrapper {
-    clear: both;
-    margin-bottom: 0.5rem;
-    border: 0.1rem solid #6a3238; }
-  #message-list code {
-    color: inherit;
-    font-weight: bold; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Search form
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#search-form {
-  margin-bottom: 1rem; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Import other files
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-@media only screen and (max-width: 90em) {
-  .item-container.grid {
-    grid-template-columns: 1fr 1fr; } }
-@media only screen and (min-width: 62.5em) {
-  #main-content {
-    border: 0.05rem solid #1D232B;
-    border-top: none;
-    border-bottom: none; } }
-@media only screen and (max-width: 62.5em) {
-  .item-container.grid {
-    grid-template-columns: 1fr; } }
-@media only screen and (max-width: 50em) {
-  html {
-    font-size: 1.125rem;
-    /*18px*/ } }
-@media only screen and (max-width: 37.5em) {
-  #main-content {
-    padding: 0.5rem; }
-
-  #main-navi {
-    font-size: 1rem; }
-    #main-navi ul li span {
-      display: none; }
-    #main-navi ul li .fa {
-      margin-right: 0; }
-    #main-navi a {
-      padding: 0.5rem; }
-
-  #emoticon-list-wrapper {
-    display: none; }
-
-  .item-container.grid {
-    grid-column-gap: 0.75rem;
-    grid-row-gap: 0.75rem;
-    column-gap: 0.75rem;
-    row-gap: 0.75rem; }
-
-  .form-grid {
-    grid-template-columns: 7rem 1fr; }
-    .form-grid-item, .form-grid-item.first, .form-grid label {
-      grid-column: unset; }
-
-  .actions {
-    float: none;
-    display: flex;
-    width: 100%;
-    flex-grow: 1;
-    justify-content: center;
-    overflow: hidden;
-    box-sizing: border-box; }
-    .actions-before {
-      float: none; }
-    .actions li {
-      flex-grow: 1; }
-      .actions li + li {
-        border-left: none; } }
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Fontello
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-.fa:before {
-  font-family: "Fontello";
-  font-style: normal;
-  font-weight: normal;
-  speak: never;
-  display: inline-block;
-  text-decoration: inherit;
-  text-align: center;
-  /* For safety - reset parent styles, that can break glyph codes*/
-  font-variant: normal;
-  text-transform: none;
-  /* Font smoothing. That was taken from TWBS */
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  /* Uncomment for 3D effect */
-  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Font Awesome icons
-# ------------------
-# Copyright (C) 2016 by Dave Gandy
-# Author: Dave Gandy
-# License: SIL
-# Homepage: http://fortawesome.github.com/Font-Awesome/
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-.fa-pencil:before {
-  content: '\e800'; }
-
-.fa-comment:before {
-  content: '\e801'; }
-
-.fa-chat:before {
-  content: '\e802'; }
-
-.fa-users:before {
-  content: '\e803'; }
-
-.fa-cancel:before {
-  content: '\e804'; }
-
-.fa-plus:before {
-  content: '\e805'; }
-
-.fa-list:before {
-  content: '\e80b'; }
-
-.fa-arrow-down:before {
-  content: '\e80e'; }
-
-.fa-arrow-up:before {
-  content: '\e811'; }
-
-.fa-arrows-cw:before {
-  content: '\e813'; }
-
-.fa-tag:before {
-  content: '\e815'; }
-
-.fa-tags:before {
-  content: '\e816'; }
-
-.fa-star:before {
-  content: '\e817'; }
-
-.fa-star-empty:before {
-  content: '\e818'; }
-
-.fa-eye:before {
-  content: '\e81a'; }
-
-.fa-ok:before {
-  content: '\e81b'; }
-
-.fa-info-circled:before {
-  content: '\e81c'; }
-
-.fa-home:before {
-  content: '\e81d'; }
-
-.fa-attach:before {
-  content: '\e81e'; }
-
-.fa-cog:before {
-  content: '\e81f'; }
-
-.fa-check:before {
-  content: '\e821'; }
-
-.fa-floppy:before {
-  content: '\e822'; }
-
-.fa-eye-off:before {
-  content: '\e823'; }
-
-.fa-folder-open:before {
-  content: '\e824'; }
-
-.fa-wrench:before {
-  content: '\e825'; }
-
-.fa-search:before {
-  content: '\f002'; }
-
-.fa-envelope-o:before {
-  content: '\f003'; }
-
-.fa-user:before {
-  content: '\f007'; }
-
-.fa-trash-o:before {
-  content: '\f014'; }
-
-.fa-clock-o:before {
-  content: '\f017'; }
-
-.fa-book:before {
-  content: '\f02d'; }
-
-.fa-bold:before {
-  content: '\f032'; }
-
-.fa-italic:before {
-  content: '\f033'; }
-
-.fa-picture-o:before {
-  content: '\f03e'; }
-
-.fa-pencil-square-o:before {
-  content: '\f044'; }
-
-.fa-arrow-left:before {
-  content: '\f060'; }
-
-.fa-arrow-right:before {
-  content: '\f061'; }
-
-.fa-exclamation-triangle:before {
-  content: '\f071'; }
-
-.fa-key:before {
-  content: '\f084'; }
-
-.fa-sign-out:before {
-  content: '\f08b'; }
-
-.fa-external-link:before {
-  content: '\f08e'; }
-
-.fa-sign-in:before {
-  content: '\f090'; }
-
-.fa-github-square:before {
-  content: '\f092'; }
-
-.fa-uncheck:before {
-  content: '\f096'; }
-
-.fa-link:before {
-  content: '\f0c1'; }
-
-.fa-menu:before {
-  content: '\f0c9'; }
-
-.fa-list-ul:before {
-  content: '\f0ca'; }
-
-.fa-list-ol:before {
-  content: '\f0cb'; }
-
-.fa-dashboard:before {
-  content: '\f0e4'; }
-
-.fa-comment-empty:before {
-  content: '\f0e5'; }
-
-.fa-chat-empty:before {
-  content: '\f0e6'; }
-
-.fa-file-text-o:before {
-  content: '\f0f6'; }
-
-.fa-quote-left:before {
-  content: '\f10d'; }
-
-.fa-quote-right:before {
-  content: '\f10e'; }
-
-.fa-smile:before {
-  content: '\f118'; }
-
-.fa-frown:before {
-  content: '\f119'; }
-
-.fa-meh:before {
-  content: '\f11a'; }
-
-.fa-keyboard:before {
-  content: '\f11c'; }
-
-.fa-code:before {
-  content: '\f121'; }
-
-.fa-attention-alt:before {
-  content: '\f12a'; }
-
-.fa-sort-name-up:before {
-  content: '\f15d'; }
-
-.fa-sort-name-down:before {
-  content: '\f15e'; }
-
-.fa-sort-up:before {
-  content: '\f160'; }
-
-.fa-sort-down:before {
-  content: '\f161'; }
-
-.fa-sort-number-up:before {
-  content: '\f162'; }
-
-.fa-sort-number-down:before {
-  content: '\f163'; }
-
-.fa-sun:before {
-  content: '\f185'; }
-
-.fa-moon:before {
-  content: '\f186'; }
-
-.fa-box:before {
-  content: '\f187'; }
-
-.fa-bug:before {
-  content: '\f188'; }
-
-.fa-language:before {
-  content: '\f1ab'; }
-
-.fa-database:before {
-  content: '\f1c0'; }
-
-.fa-file-archive:before {
-  content: '\f1c6'; }
-
-.fa-header:before {
-  content: '\f1dc'; }
-
-.fa-newspaper-o:before {
-  content: '\f1ea'; }
-
-.fa-at:before {
-  content: '\f1fa'; }
-
-.fa-toggle-off:before {
-  content: '\f204'; }
-
-.fa-toggle-on:before {
-  content: '\f205'; }
-
-.fa-user-secret:before {
-  content: '\f21b'; }
-
-.fa-server:before {
-  content: '\f233'; }
-
-.fa-commenting:before {
-  content: '\f27a'; }
-
-.fa-commenting-o:before {
-  content: '\f27b'; }
-
-.fa-user-circle-o:before {
-  content: '\f2be'; }
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Font "Font Awesome" [4.7.0] (by Fontello): SIL Open Font License (OFL)
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-@font-face {
-  font-family: "Fontello";
-  font-weight: 400;
-  font-style: normal;
-  src: url("../font/fontello.woff2") format("woff2"); }
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Font "Kadwa": SIL Open Font License (OFL)
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-@font-face {
-  font-family: "Kadwa";
-  font-weight: 400;
-  src: url("../font/kadwa-n-400.woff2") format("woff2"); }
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Font "Ruda": SIL Open Font License (OFL)
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-@font-face {
-  font-family: "Ruda";
-  font-weight: 400;
-  src: url("../font/ruda-n-400.woff2") format("woff2"); }
-@font-face {
-  font-family: "Ruda";
-  font-weight: 700;
-  src: url("../font/ruda-n-700.woff2") format("woff2"); }
-#theme-toogle-dark {
-  display: none; }
diff --git a/theme/admin/rsrc/css/dark.scss b/theme/admin/rsrc/css/dark.scss
deleted file mode 100644
index 472095a..0000000
--- a/theme/admin/rsrc/css/dark.scss
+++ /dev/null
@@ -1,69 +0,0 @@
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Content background and border color
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$htmlBackground: url("../img/noise-dark.png") #3D434B;
-$backgroundColorEmphasize: #32373E;
-$backgroundColor: #3D434B;
-$borderColor: #1D232B;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Header and navigation
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$headerBarTextColor: #000;
-$headerBarBackgroundColor: #3B546A;
-$navigationLinkBackgroundColor: #2D333B;
-$navigationLinkFocusedBackgroundColor: #1D232B;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Text colors
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$textColor: #9DAAB7;
-$textColorLight: #8D9AA7;
-$textColorStrong: #CDDAE7;
-$formElementTextColor: #8D9AA7;
-$codeTextColor: #FFB830;
-$linkColor: #5EA4D3;
-$linkColorFocused: #42474E;
-$warningTextColor: #FFB830;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Misc
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$itemLinkHoverBackgroundColor: #42474E;
-$paginationActiveBackgroundColor: #42474E;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Forms
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$formBackgroundColorEmphasize: #4D535B;
-$formButtonBorderColor: #404040;
-$formButtonTextColor: #CCC;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Form buttons
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$insertButtonBackgroundColor: #396644;
-$updateButtonBackgroundColor: #597186;
-$deleteButtonBackgroundColor: #8F4F55;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Information message box
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$messageListTextColor: #BBB;
-$messageListBackgroundColor: #8C434A;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Scrollbars
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$scrollbarColor: #838994;
-$scrollbarHoverColor: #4C566A;
-$scrollbarBackground: #2E3440;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Import stylesheet
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-@import "import/styles";
-
-#theme-toogle-dark {
-	display: none;
-}
diff --git a/theme/admin/rsrc/css/import/_fontello.scss b/theme/admin/rsrc/css/import/_fontello.scss
deleted file mode 100644
index 7c2e964..0000000
--- a/theme/admin/rsrc/css/import/_fontello.scss
+++ /dev/null
@@ -1,116 +0,0 @@
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Fontello
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-.fa:before {
-	font-family: "Fontello";
-	font-style: normal;
-	font-weight: normal;
-	speak: never;
-
-	display: inline-block;
-	text-decoration: inherit;
-	text-align: center;
-
-	/* For safety - reset parent styles, that can break glyph codes*/
-	font-variant: normal;
-	text-transform: none;
-
-	/* Font smoothing. That was taken from TWBS */
-	-webkit-font-smoothing: antialiased;
-	-moz-osx-font-smoothing: grayscale;
-
-	/* Uncomment for 3D effect */
-	/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Font Awesome icons
-# ------------------
-# Copyright (C) 2016 by Dave Gandy
-# Author: Dave Gandy
-# License: SIL
-# Homepage: http://fortawesome.github.com/Font-Awesome/
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-.fa-pencil:before { content: '\e800'; }
-.fa-comment:before { content: '\e801'; }
-.fa-chat:before { content: '\e802'; }
-.fa-users:before { content: '\e803'; }
-.fa-cancel:before { content: '\e804'; }
-.fa-plus:before { content: '\e805'; }
-.fa-list:before { content: '\e80b'; }
-.fa-arrow-down:before { content: '\e80e'; }
-.fa-arrow-up:before { content: '\e811'; }
-.fa-arrows-cw:before { content: '\e813'; }
-.fa-tag:before { content: '\e815'; }
-.fa-tags:before { content: '\e816'; }
-.fa-star:before { content: '\e817'; }
-.fa-star-empty:before { content: '\e818'; }
-.fa-eye:before { content: '\e81a'; }
-.fa-ok:before { content: '\e81b'; }
-.fa-info-circled:before { content: '\e81c'; }
-.fa-home:before { content: '\e81d'; }
-.fa-attach:before { content: '\e81e'; }
-.fa-cog:before { content: '\e81f'; }
-.fa-check:before { content: '\e821'; }
-.fa-floppy:before { content: '\e822'; }
-.fa-eye-off:before { content: '\e823'; }
-.fa-folder-open:before { content: '\e824'; }
-.fa-wrench:before { content: '\e825'; }
-.fa-search:before { content: '\f002'; }
-.fa-envelope-o:before { content: '\f003'; }
-.fa-user:before { content: '\f007'; }
-.fa-trash-o:before { content: '\f014'; }
-.fa-clock-o:before { content: '\f017'; }
-.fa-book:before { content: '\f02d'; }
-.fa-bold:before { content: '\f032'; }
-.fa-italic:before { content: '\f033'; }
-.fa-picture-o:before { content: '\f03e'; }
-.fa-pencil-square-o:before { content: '\f044'; }
-.fa-arrow-left:before { content: '\f060'; }
-.fa-arrow-right:before { content: '\f061'; }
-.fa-exclamation-triangle:before { content: '\f071'; }
-.fa-key:before { content: '\f084'; }
-.fa-sign-out:before { content: '\f08b'; }
-.fa-external-link:before { content: '\f08e'; }
-.fa-sign-in:before { content: '\f090'; }
-.fa-github-square:before { content: '\f092'; }
-.fa-uncheck:before { content: '\f096'; }
-.fa-link:before { content: '\f0c1'; }
-.fa-menu:before { content: '\f0c9'; }
-.fa-list-ul:before { content: '\f0ca'; }
-.fa-list-ol:before { content: '\f0cb'; }
-.fa-dashboard:before { content: '\f0e4'; }
-.fa-comment-empty:before { content: '\f0e5'; }
-.fa-chat-empty:before { content: '\f0e6'; }
-.fa-file-text-o:before { content: '\f0f6'; }
-.fa-quote-left:before { content: '\f10d'; }
-.fa-quote-right:before { content: '\f10e'; }
-.fa-smile:before { content: '\f118'; }
-.fa-frown:before { content: '\f119'; }
-.fa-meh:before { content: '\f11a'; }
-.fa-keyboard:before { content: '\f11c'; }
-.fa-code:before { content: '\f121'; }
-.fa-attention-alt:before { content: '\f12a'; }
-.fa-sort-name-up:before { content: '\f15d'; }
-.fa-sort-name-down:before { content: '\f15e'; }
-.fa-sort-up:before { content: '\f160'; }
-.fa-sort-down:before { content: '\f161'; }
-.fa-sort-number-up:before { content: '\f162'; }
-.fa-sort-number-down:before { content: '\f163'; }
-.fa-sun:before { content: '\f185'; }
-.fa-moon:before { content: '\f186'; }
-.fa-box:before { content: '\f187'; }
-.fa-bug:before { content: '\f188'; }
-.fa-language:before { content: '\f1ab'; }
-.fa-database:before { content: '\f1c0'; }
-.fa-file-archive:before { content: '\f1c6'; }
-.fa-header:before { content: '\f1dc'; }
-.fa-newspaper-o:before { content: '\f1ea'; }
-.fa-at:before { content: '\f1fa'; }
-.fa-toggle-off:before { content: '\f204'; }
-.fa-toggle-on:before { content: '\f205'; }
-.fa-user-secret:before { content: '\f21b'; }
-.fa-server:before { content: '\f233'; }
-.fa-commenting:before { content: '\f27a'; }
-.fa-commenting-o:before { content: '\f27b'; }
-.fa-user-circle-o:before { content: '\f2be'; }
diff --git a/theme/admin/rsrc/css/import/_fonts.scss b/theme/admin/rsrc/css/import/_fonts.scss
deleted file mode 100644
index 4431bec..0000000
--- a/theme/admin/rsrc/css/import/_fonts.scss
+++ /dev/null
@@ -1,33 +0,0 @@
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Font "Font Awesome" [4.7.0] (by Fontello): SIL Open Font License (OFL)
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-@font-face {
-	font-family: "Fontello";
-	font-weight: 400;
-	font-style: normal;
-	src: url("../font/fontello.woff2") format("woff2");
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Font "Kadwa": SIL Open Font License (OFL)
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-@font-face {
-	font-family: "Kadwa";
-	font-weight: 400;
-	src: url("../font/kadwa-n-400.woff2") format("woff2");
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Font "Ruda": SIL Open Font License (OFL)
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-@font-face {
-	font-family: "Ruda";
-	font-weight: 400;
-	src: url("../font/ruda-n-400.woff2") format("woff2");
-}
-
-@font-face {
-	font-family: "Ruda";
-	font-weight: 700;
-	src: url("../font/ruda-n-700.woff2") format("woff2");
-}
diff --git a/theme/admin/rsrc/css/import/_responsive.scss b/theme/admin/rsrc/css/import/_responsive.scss
deleted file mode 100644
index 9675071..0000000
--- a/theme/admin/rsrc/css/import/_responsive.scss
+++ /dev/null
@@ -1,92 +0,0 @@
-@media only screen and (max-width: 90em /*1440px*/) {
-	.item-container.grid {
-		grid-template-columns: 1fr 1fr;
-	}
-}
-
-@media only screen and (min-width: 62.5em /*1000px*/) {
-	#main-content {
-		border: 0.05rem solid $borderColor;
-		border-top: none;
-		border-bottom: none;
-	}
-}
-
-@media only screen and (max-width: 62.5em /*1000px*/) {
-	.item-container.grid {
-		grid-template-columns: 1fr;
-	}
-}
-
-@media only screen and (max-width: 50em /*800px*/) {
-	html {
-		font-size: 1.125rem; /*18px*/
-	}
-}
-
-@media only screen and (max-width: 37.5em /*600px*/) {
-	#main-content {
-		padding: 0.5rem;
-	}
-
-	#main-navi {
-		font-size: 1rem;
-
-		ul {
-			li {
-				span {
-					display: none;
-				}
-
-				.fa {
-					margin-right: 0;
-				}
-			}
-		}
-
-		a {
-			padding: 0.5rem;
-		}
-	}
-
-	#emoticon-list-wrapper {
-		display: none;
-	}
-
-	.item-container.grid {
-		grid-column-gap: 0.75rem;
-		grid-row-gap: 0.75rem;
-		column-gap: 0.75rem;
-		row-gap: 0.75rem;
-	}
-
-	.form-grid {
-		grid-template-columns: 7rem 1fr;
-
-		&-item, &-item.first, label {
-			grid-column: unset;
-		}
-	}
-
-	.actions {
-		float: none;
-		display: flex;
-		width: 100%;
-		flex-grow: 1;
-		justify-content: center;
-		overflow: hidden;
-		box-sizing: border-box;
-
-		&-before {
-			float: none;
-		}
-
-		li {
-			flex-grow: 1;
-
-			+ li {
-				border-left: none;
-			}
-		}
-	}
-}
diff --git a/theme/admin/rsrc/css/import/_styles.scss b/theme/admin/rsrc/css/import/_styles.scss
deleted file mode 100644
index 93c0d8f..0000000
--- a/theme/admin/rsrc/css/import/_styles.scss
+++ /dev/null
@@ -1,795 +0,0 @@
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Import variables
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-@import "variables";
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Selection
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-::selection {
-	background: #BBB;
-	color: #000;
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Placeholders
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-::placeholder {
-	color: $textColorLight;
-	opacity: 0.5;
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Scrollbars
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-* {
-	// Firefox (TODO: Possibility to add padding?!)
-	scrollbar-color: $scrollbarColor $scrollbarBackground;
-
-	// Chrome, Edge & Safari
-	&::-webkit-scrollbar {
-		width: 0.75rem;
-
-		&-track {
-			background: $scrollbarBackground;
-		}
-
-		&-thumb {
-			background: $scrollbarColor;
-			background-clip: padding-box;
-			border: 0.15rem solid transparent;
-
-			&:hover {
-				background: $scrollbarHoverColor;
-				background-clip: padding-box;
-				border: 0.15rem solid transparent;
-			}
-		}
-
-		&-corner {
-			background: transparent;
-		}
-	}
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Hyperlinks
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-a {
-	color: $linkColor;
-	text-decoration: none;
-
-	&:hover {
-		text-decoration: underline;
-	}
-
-	&:focus {
-		background: $linkColorFocused;
-	}
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Headings
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-h1, h2, h3 {
-	margin-bottom: 0;
-
-	+p {
-		margin-top: 0;
-	}
-
-	.fa {
-		margin-right: 0.25rem;
-	}
-}
-
-h1 {
-	margin-top: 0;
-	font-size: $fontSizeH1;
-}
-
-h2 {
-	font-size: $fontSizeH2;
-}
-
-h3 {
-	font-size: $fontSizeH3;
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Document
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-html, body {
-	margin: 0;
-	padding: 0;
-}
-
-html {
-	font-size: 1.25rem;
-	color: $textColor;
-	background: $htmlBackground;
-	-webkit-hyphens: auto;
-	word-break: break-word;
-	hyphens: auto;
-}
-
-body {
-	font-family: $fontFamily;
-	font-size: $fontSize;
-	line-height: $lineHeight;
-	display: flex;
-	min-height: 100vh;
-	flex-direction: column;
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Main content
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#main-content {
-	flex: 1;
-	width: 100%;
-	background: $backgroundColor;
-	box-sizing: border-box;
-	padding: 0.75rem;
-	// border definition in _responsive.scss
-
-	&.wide {
-		max-width: $contentWidthWide;
-	}
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Width
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#main-content, .header-content {
-	max-width: $contentWidth;
-	margin: 0 auto;
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Header
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#main-header {
-	font-size: $fontSizeSmall;
-}
-
-#header {
-	&-text {
-		font-size: $fontSizeLarge;
-		text-transform: uppercase;
-	}
-
-	&-desc {
-		line-height: 1rem;
-	}
-	&-text, &-desc {
-		color: $headerBarTextColor;
-		font-weight: bold;
-	}
-
-	&-logo {
-		display: block;
-		max-height: 5rem;
-		float: left;
-		margin-right: 0.5rem;
-	}
-}
-
-.header-line {
-	padding: 0.25rem 0.75rem;
-	overflow: hidden;
-	background: $backgroundColorEmphasize;
-
-	+.header-line {
-		border: 0.05rem solid $borderColor;
-		border-left: none;
-		border-right: none;
-	}
-
-	&.background {
-		background: $headerBarBackgroundColor;
-		position: sticky;
-		top: 0;
-	}
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Footer
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#main-footer {
-	font-size: $fontSizeSmall;
-	background: $backgroundColorEmphasize;
-	border-top: 0.05rem solid $borderColor;
-	padding: 0.5rem 0.75rem;
-	text-align: center;
-
-	ul {
-		margin: 0;
-		padding: 0;
-		list-style: none;
-
-		li {
-			display: inline;
-
-			.fa {
-				margin-right: 0.125rem;
-			}
-		}
-
-		li:after {
-			content: " – ";
-			font-weight: bold;
-		}
-
-		li:last-child:after {
-			content: none;
-		}
-	}
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Main Navigation
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#main-navi {
-	ul {
-		list-style: none;
-		margin: 0;
-		padding: 0;
-
-		li {
-			display: inline;
-
-			.fa {
-				margin-right: 0.25rem;
-			}
-		}
-
-		li:last-child {
-			float: right;
-		}
-
-		li:first-child {
-			float: none;
-		}
-	}
-
-	a {
-		padding: 0.1rem 0.3rem;
-		background: $navigationLinkBackgroundColor;
-		border: 0.05rem solid $borderColor;
-		color: inherit;
-		text-decoration: none;
-		text-align: center;
-		display: inline-block;
-
-		&:hover, &:focus {
-			text-decoration: none;
-			background: $navigationLinkFocusedBackgroundColor;
-		}
-	}
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Site Navigation
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#site-navi {
-	clear: both;
-	display: flex;
-	box-sizing: border-box;
-	justify-content: space-between;
-	margin-top: 0.75rem;
-
-	> div {
-		display: flex;
-		align-items: center;
-		border: 0.05rem solid $borderColor;
-		background: $backgroundColorEmphasize;
-
-		> a {
-			display: block;
-		}
-	}
-
-	.disabled {
-		pointer-events: none;
-		color: $borderColor;
-	}
-
-	ol {
-		list-style: none;
-		margin: 0;
-		padding: 0;
-
-		li {
-			float: left;
-			display: inline-block;
-
-			+ li {
-				border-left: 0.05rem solid $borderColor;
-			}
-
-			&.active a {
-				background: $paginationActiveBackgroundColor;
-				font-weight: 600;
-				pointer-events: none;
-			}
-		}
-	}
-
-	a {
-		padding: 0 0.5rem;
-		text-decoration: none;
-		color: inherit;
-		display: inline-block;
-
-		&:hover, &:focus {
-			background: $navigationLinkFocusedBackgroundColor;
-		}
-	}
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Actions
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-.actions {
-	margin: 0 0 0.5rem 0;
-	padding: 0;
-	list-style: none;
-	font-size: $fontSizeSmall;
-	float: right;
-	text-align: center;
-
-	.fa {
-		margin-right: 0.1rem;
-	}
-
-	li {
-		display: inline-block;
-		font-weight: bold;
-		background: $backgroundColorEmphasize;
-		border: 0.05rem solid $borderColor;
-	}
-
-	a {
-		color: inherit;
-		display: block;
-		padding: 0 0.25rem;
-		text-decoration: none;
-   }
-}
-
-.actions-before {
-	float: left;
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Elements
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-pre {
-	margin-bottom: 1rem;
-	overflow: auto;
-	-moz-tab-size: 4;
-	tab-size: 4;
-	background: $backgroundColorEmphasize;
-	padding: 0.5rem;
-	border: 0.05rem solid $borderColor;
-}
-
-code, pre {
-	font-family: $fontFamilyMonospaced;
-}
-
-code {
-	color: $codeTextColor;
-}
-
-p {
-	margin-top: 0;
-}
-
-img {
-	border: none;
-	max-width: 100%;
-}
-
-.warning {
-	color: $warningTextColor;
-}
-
-.hidden {
-	display: none;
-}
-
-.no-visual-list {
-	margin: 0;
-	padding: 0;
-	list-style: none;
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Item Element
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-.item {
-	display: flex;
-	flex-direction: column;
-	border: 0.05rem solid $borderColor;
-	margin-bottom: 0.75rem;
-	clear: both;
-
-	header {
-		padding: 0.5rem 0.75rem;
-		border-bottom: 0.05rem solid $borderColor;
-		position: sticky;
-		top: 0;
-
-		h2 {
-			margin-top: 0;
-		}
-	}
-
-	footer {
-		border-top: 0.05rem solid $borderColor;
-
-		ul {
-			margin: 0;
-			padding: 0;
-			list-style: none;
-
-			li {
-				display: inline-block;
-				float: left;
-
-				&:last-child {
-					float: right;
-				}
-			}
-		}
-
-		a {
-			color: inherit;
-			display: inline-block;
-			padding: 0.25rem 2rem;
-
-			&:hover, &:active {
-				background: $itemLinkHoverBackgroundColor;
-			}
-		}
-	}
-
-	header, footer {
-		background: $backgroundColorEmphasize;
-		overflow: hidden;
-	}
-
-	blockquote {
-		margin: 0;
-		padding: 0.75rem;
-		overflow: hidden;
-		font-family: inherit;
-		flex-grow: 1;
-
-		p {
-			margin-bottom: 0;
-		}
-	}
-
-	&-id {
-		float: right;
-		color: $textColorLight;
-		font-size: $fontSize;
-		font-weight: normal;
-	}
-
-	&-meta {
-		margin: 0;
-		padding: 0;
-		list-style: none;
-
-		li {
-			display: inline-block;
-
-			+li:before {
-				content: " – ";
-			}
-
-			&.item-meta-right {
-				float: right;
-				font-size: $fontSizeSmall;
-			}
-
-			&.item-meta-right:before {
-				content: none;
-			}
-		}
-	}
-
-	&-image {
-		float: left;
-		display: block;
-		margin-right: 0.75rem;
-		width: 10rem;
-		height: 7rem;
-		object-fit: cover;
-		background: $backgroundColorEmphasize;
-		border: 0.05rem solid $borderColor;
-	}
-
-	&-container.grid {
-		width: 100%;
-		display: grid;
-		grid-template-columns: 1fr 1fr 1fr;
-		grid-column-gap: 1rem;
-		grid-row-gap: 1rem;
-		column-gap: 1rem;
-		row-gap: 1rem;
-
-		.item {
-			margin-bottom: 0;
-		}
-	}
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Argument list
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-.arguments {
-	list-style: none;
-	margin: 0;
-	padding: 0.25rem 0.75rem;
-	background: $backgroundColorEmphasize;
-	font-size: $fontSizeSmall;
-	text-align: center;
-	border-top: 0.05rem solid $borderColor;
-
-	li {
-		display: inline;
-
-		> code {
-			font-family: inherit;
-			color: $textColorLight;
-		}
-
-		&:after {
-			content: " · ";
-			font-weight: bold;
-		}
-
-		&:last-child:after {
-			content: none;
-		}
-	}
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Grids
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-.form-grid {
-	clear: both;
-	display: grid;
-	grid-template-columns: repeat(2, 7.5rem minmax(0, 1fr));
-
-	border-left: 0.05rem solid $borderColor;
-	border-bottom: 0.05rem solid $borderColor;
-
-	&.two-columns {
-		grid-template-columns: 1fr 2fr;
-	}
-
-	&.no-bottom-border {
-		border-bottom: none;
-	}
-
-	> label {
-		display: flex;
-		align-items: center;
-		background: $formBackgroundColorEmphasize;
-
-		.fa {
-			margin: 0 0.5rem;
-		}
-	}
-
-	&-item,
-	> label {
-		padding: 0.5rem;
-		border-top: 0.05rem solid $borderColor;
-		border-right: 0.05rem solid $borderColor;
-	}
-
-	&-item.first {
-		grid-column: span 3;
-	}
-}
-
-.form-border-box {
-	border: 0.05rem solid $borderColor;
-
-	&.padding {
-		padding: 0.5rem;
-	}
-
-	&.background {
-		background: $formBackgroundColorEmphasize;
-	}
-
-	&.nobordertop {
-		border-top: none;
-	}
-
-	+.form-border-box {
-		border-top: none;
-	}
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Form buttons
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#emoticon-list-wrapper {
-	display: flex;
-	width: 100%;
-	justify-content: center;
-	box-sizing: border-box;
-}
-
-#button-list-wrapper {
-	border-bottom: 0.05rem solid $borderColor;
-	background: $backgroundColorEmphasize;
-	overflow: hidden;
-}
-
-.button-list {
-	margin: 0;
-	padding: 0;
-	list-style: none;
-}
-
-.button-list.emoticons > li {
-	font-size: 1.25rem;
-	display: inline-block;
-	padding: 0.2rem;
-	border-bottom: 0.2rem solid transparent;
-	border-radius: 0.1rem;
-	cursor: pointer;
-
-	&:hover, &:active {
-		border-bottom: 0.2rem solid $borderColor;
-	}
-}
-
-.button-list.markdown > li {
-	float: left;
-	padding: 0.25rem;
-	cursor: pointer;
-	width: 1.75rem;
-	box-sizing: border-box;
-	text-align: center;
-
-	&:hover, &:active {
-		color: $textColorStrong;
-	}
-}
-
-#content-editor {
-	border: none;
-	margin: 0;
-
-	&-wrapper {
-		border-top: none;
-	}
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Form elements
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-input, select, textarea {
-	width: 100%;
-	background: $backgroundColorEmphasize;
-	color: $textColorLight;
-	font-family: inherit;
-	font-size: $fontSize;
-	padding: 0.25rem;
-	border: 0.05rem solid $borderColor;
-	box-sizing: border-box;
-
-	&:focus {
-		outline: none;
-	}
-}
-
-textarea {
-	font-family: $fontFamilyTextarea;
-	box-sizing: border-box;
-	display: block;
-	resize: vertical;
-	min-height: 15rem;
-	line-height: 1.2rem;
-	padding: 0.5rem;
-	-webkit-hyphens: none;
-	hyphens: none;
-	cursor: auto;
-}
-
-input {
-	&[type="submit"] {
-		text-transform: uppercase;
-		border-radius: 0.1rem;
-	}
-}
-
-label {
-	text-transform: uppercase;
-	font-weight: normal;
-
-	&:after {
-		content: ":";
-	}
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Form buttons
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#insert-button, #update-button, #delete-button {
-	color: $formButtonTextColor;
-	border: 0.05rem solid $formButtonBorderColor;
-}
-
-#insert-button {
-	background: $insertButtonBackgroundColor;
-
-	&:active, &:focus {
-		background: darken($insertButtonBackgroundColor, 10%)
-	}
-}
-
-#update-button {
-	background: $updateButtonBackgroundColor;
-
-	&:active, &:focus {
-		background: darken($updateButtonBackgroundColor, 10%)
-	}
-}
-
-#delete-button {
-	background: $deleteButtonBackgroundColor;
-
-	&:active, &:focus {
-		background: darken($deleteButtonBackgroundColor, 10%)
-	}
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Form message list
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#message-list {
-	margin: 0;
-	padding: 0.5rem;
-	list-style: none;
-	background: $messageListBackgroundColor;
-	color: $messageListTextColor;
-	font-size: $fontSizeSmall;
-
-	&-wrapper {
-		clear: both;
-		margin-bottom: 0.5rem;
-		border: 0.1rem solid darken($messageListBackgroundColor, 10%);
-	}
-
-	code {
-		color: inherit;
-		font-weight: bold;
-	}
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Search form
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-#search-form {
-	margin-bottom: 1rem;
-}
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Import other files
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-@import "responsive";
-@import "fontello";
-@import "fonts";
diff --git a/theme/admin/rsrc/css/import/_variables.scss b/theme/admin/rsrc/css/import/_variables.scss
deleted file mode 100644
index 70a8424..0000000
--- a/theme/admin/rsrc/css/import/_variables.scss
+++ /dev/null
@@ -1,31 +0,0 @@
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Line height
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$lineHeight: 1.2rem;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Font families
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$fontFamily: "Ruda", "sans-serif";
-$fontFamilyTextarea: "Kadwa", "sans-serif";
-$fontFamilyMonospaced: "monospace";
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Text font sizes
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$fontSize: 0.7rem;
-$fontSizeSmall: $fontSize - 0.1rem;
-$fontSizeLarge: $fontSize + 0.1rem;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Heading font sizes
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$fontSizeH1: 0.80rem;
-$fontSizeH2: 0.70rem;
-$fontSizeH3: 0.65rem;
-
-/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-# Content widths
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
-$contentWidth: 50rem;
-$contentWidthWide: 90rem;
diff --git a/theme/admin/rsrc/font/fontello.json b/theme/admin/rsrc/font/fontello.json
deleted file mode 100644
index 1af78d5..0000000
--- a/theme/admin/rsrc/font/fontello.json
+++ /dev/null
@@ -1,508 +0,0 @@
-{
-  "name": "",
-  "css_prefix_text": "fa-",
-  "css_use_suffix": false,
-  "hinting": true,
-  "units_per_em": 1000,
-  "ascent": 850,
-  "glyphs": [
-    {
-      "uid": "7432077e6a2d6aa19984ca821bb6bbda",
-      "css": "bug",
-      "code": 61832,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "f2aa28a2548ed3d2be718d087b65ee21",
-      "css": "key",
-      "code": 61572,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "0ddd3e8201ccc7d41f7b7c9d27eca6c1",
-      "css": "link",
-      "code": 61633,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "02cca871bb69da75e8ee286b7055832c",
-      "css": "bold",
-      "code": 61490,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "7034e4d22866af82bef811f52fb1ba46",
-      "css": "code",
-      "code": 61729,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "8b80d36d4ef43889db10bc1f0dc9a862",
-      "css": "user",
-      "code": 61447,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "9755f76110ae4d12ac5f9466c9152031",
-      "css": "book",
-      "code": 61485,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "a8cb1c217f02b073db3670c061cc54d2",
-      "css": "italic",
-      "code": 61491,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "0c708edd8fae2376b3370aa56d40cf9e",
-      "css": "header",
-      "code": 61916,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "f48ae54adfb27d8ada53d0fd9e34ee10",
-      "css": "trash-o",
-      "code": 61460,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "3a00327e61b997b58518bd43ed83c3df",
-      "css": "sign-in",
-      "code": 61584,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "598a5f2bcf3521d1615de8e1881ccd17",
-      "css": "clock-o",
-      "code": 61463,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "a2a74f5e7b7d9ba054897d8c795a326a",
-      "css": "list-ul",
-      "code": 61642,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "f6766a8b042c2453a4e153af03294383",
-      "css": "list-ol",
-      "code": 61643,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "347c38a8b96a509270fdcabc951e7571",
-      "css": "database",
-      "code": 61888,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "4fc9b8c122d1b5ca3df42a104a655e8b",
-      "css": "language",
-      "code": 61867,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "0d20938846444af8deb1920dc85a29fb",
-      "css": "sign-out",
-      "code": 61579,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "0bda4bc779d4c32623dec2e43bd67ee8",
-      "css": "dashboard",
-      "code": 61668,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "381da2c2f7fd51f8de877c044d7f439d",
-      "css": "picture-o",
-      "code": 61502,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "bf882b30900da12fca090d9796bc3030",
-      "css": "envelope-o",
-      "code": 61443,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "555ef8c86832e686fef85f7af2eb7cde",
-      "css": "arrow-left",
-      "code": 61536,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "d745d7c05b94e609decabade2cae12cb",
-      "css": "quote-right",
-      "code": 61710,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "f9c8ea86275ca16128235c6452b67b8e",
-      "css": "user-secret",
-      "code": 61979,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "5408be43f7c42bccee419c6be53fdef5",
-      "css": "file-text-o",
-      "code": 61686,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "032bd8bbd70adf90ead98b6813bfe446",
-      "css": "newspaper-o",
-      "code": 61930,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "ad6b3fbb5324abe71a9c0b6609cbb9f1",
-      "css": "arrow-right",
-      "code": 61537,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "e15f0d620a7897e2035c18c80142f6d9",
-      "css": "external-link",
-      "code": 61582,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "0ece9a12de796b8411f868d582bee678",
-      "css": "github-square",
-      "code": 61586,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "41087bc74d4b20b55059c60a33bf4008",
-      "css": "pencil-square-o",
-      "code": 61508,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "c76b7947c957c9b78b11741173c8349b",
-      "css": "exclamation-triangle",
-      "code": 61553,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "9dd9e835aebe1060ba7190ad2b2ed951",
-      "css": "search",
-      "code": 61442,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "474656633f79ea2f1dad59ff63f6bf07",
-      "css": "star",
-      "code": 59415,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "d17030afaecc1e1c22349b99f3c4992a",
-      "css": "star-empty",
-      "code": 59416,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "31972e4e9d080eaa796290349ae6c1fd",
-      "css": "users",
-      "code": 59395,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "12f4ece88e46abd864e40b35e05b11cd",
-      "css": "ok",
-      "code": 59419,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "0d6ab6194c0eddda2b8c9cedf2ab248e",
-      "css": "attach",
-      "code": 59422,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "c5fd349cbd3d23e4ade333789c29c729",
-      "css": "eye",
-      "code": 59418,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "7fd683b2c518ceb9e5fa6757f2276faa",
-      "css": "eye-off",
-      "code": 59427,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "3db5347bd219f3bce6025780f5d9ef45",
-      "css": "tag",
-      "code": 59413,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "a3f89e106175a5c5c4e9738870b12e55",
-      "css": "tags",
-      "code": 59414,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "ab95e1351ebaec5850101097cbf7097f",
-      "css": "quote-left",
-      "code": 61709,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "d35a1d35efeb784d1dc9ac18b9b6c2b6",
-      "css": "pencil",
-      "code": 59392,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "ecb97add13804c190456025e43ec003b",
-      "css": "keyboard",
-      "code": 61724,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "85528017f1e6053b2253785c31047f44",
-      "css": "comment",
-      "code": 59393,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "dcedf50ab1ede3283d7a6c70e2fe32f3",
-      "css": "chat",
-      "code": 59394,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "31951fbb9820ed0690f675b3d495c8da",
-      "css": "chat-empty",
-      "code": 61670,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "9c1376672bb4f1ed616fdd78a23667e9",
-      "css": "comment-empty",
-      "code": 61669,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "00391fac5d419345ffcccd95b6f76263",
-      "css": "attention-alt",
-      "code": 61738,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "c95735c17a10af81448c7fed98a04546",
-      "css": "folder-open",
-      "code": 59428,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "559647a6f430b3aeadbecd67194451dd",
-      "css": "menu",
-      "code": 61641,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "e99461abfef3923546da8d745372c995",
-      "css": "cog",
-      "code": 59423,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "5bb103cd29de77e0e06a52638527b575",
-      "css": "wrench",
-      "code": 59429,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "1c4068ed75209e21af36017df8871802",
-      "css": "arrow-down",
-      "code": 59406,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "95376bf082bfec6ce06ea1cda7bd7ead",
-      "css": "arrow-up",
-      "code": 59409,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "a73c5deb486c8d66249811642e5d719a",
-      "css": "arrows-cw",
-      "code": 59411,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "aa035df0908c4665c269b7b09a5596f3",
-      "css": "sun",
-      "code": 61829,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "567e3e257f2cc8fba2c12bf691c9f2d8",
-      "css": "moon",
-      "code": 61830,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "2a4e6c99b732a57da40e32fa2a7800a4",
-      "css": "toggle-off",
-      "code": 61956,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "3256ef03b16e7ab51235bc7378b53bb5",
-      "css": "toggle-on",
-      "code": 61957,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "dd6c6b221a1088ff8a9b9cd32d0b3dd5",
-      "css": "check",
-      "code": 59425,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "4b900d04e8ab8c82f080c1cfbac5772c",
-      "css": "uncheck",
-      "code": 61590,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "f4445feb55521283572ee88bc304f928",
-      "css": "floppy",
-      "code": 59426,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "0cd2582b8c93719d066ee0affd02ac78",
-      "css": "sort-up",
-      "code": 61792,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "27b13eff5eb0ca15e01a6e65ffe6eeec",
-      "css": "sort-down",
-      "code": 61793,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "3ed68ae14e9cde775121954242a412b2",
-      "css": "sort-name-up",
-      "code": 61789,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "6586267200a42008a9fc0a1bf7ac06c7",
-      "css": "sort-name-down",
-      "code": 61790,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "3a7b6876c1817ce3b801b86c04a9d0af",
-      "css": "sort-number-up",
-      "code": 61794,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "b04fc30546f597a7e0a14715e6fc81ff",
-      "css": "sort-number-down",
-      "code": 61795,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "d59ff824282fc6edaeca991deab522aa",
-      "css": "server",
-      "code": 62003,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "33194d4a025fbf12baca54579afe4c8e",
-      "css": "at",
-      "code": 61946,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "53c28626072159c49f33b71d67138ad9",
-      "css": "commenting",
-      "code": 62074,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "9cc990bbcac7aa8504078b3f49df79b1",
-      "css": "commenting-o",
-      "code": 62075,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "3fce1eca43f917c8f23e532749abae5d",
-      "css": "user-circle-o",
-      "code": 62142,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "5211af474d3a9848f67f945e2ccaf143",
-      "css": "cancel",
-      "code": 59396,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "44e04715aecbca7f266a17d5a7863c68",
-      "css": "plus",
-      "code": 59397,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "e82cedfa1d5f15b00c5a81c9bd731ea2",
-      "css": "info-circled",
-      "code": 59420,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "d7271d490b71df4311e32cdacae8b331",
-      "css": "home",
-      "code": 59421,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "04ff8d6592fe548b332b27ed87ce397a",
-      "css": "box",
-      "code": 61831,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "e80ae555c1413a4ec18b33fb348b4049",
-      "css": "file-archive",
-      "code": 61894,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "d862a10e1448589215be19702f98f2c1",
-      "css": "smile",
-      "code": 61720,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "06ddc67d609c477cd5524a7238d7850d",
-      "css": "frown",
-      "code": 61721,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "2c5055a9c9723725f49f0593a08535af",
-      "css": "meh",
-      "code": 61722,
-      "src": "fontawesome"
-    },
-    {
-      "uid": "48b87105bd38c20315f1b705b8c7b38c",
-      "css": "list",
-      "code": 59403,
-      "src": "fontawesome"
-    }
-  ]
-}
diff --git a/theme/admin/rsrc/font/fontello.woff2 b/theme/admin/rsrc/font/fontello.woff2
deleted file mode 100644
index c62227f..0000000
Binary files a/theme/admin/rsrc/font/fontello.woff2 and /dev/null differ
diff --git a/theme/admin/rsrc/font/kadwa-n-400.woff2 b/theme/admin/rsrc/font/kadwa-n-400.woff2
deleted file mode 100644
index 1566426..0000000
Binary files a/theme/admin/rsrc/font/kadwa-n-400.woff2 and /dev/null differ
diff --git a/theme/admin/rsrc/font/ruda-n-400.woff2 b/theme/admin/rsrc/font/ruda-n-400.woff2
deleted file mode 100644
index 6435a0d..0000000
Binary files a/theme/admin/rsrc/font/ruda-n-400.woff2 and /dev/null differ
diff --git a/theme/admin/rsrc/font/ruda-n-700.woff2 b/theme/admin/rsrc/font/ruda-n-700.woff2
deleted file mode 100644
index 0066431..0000000
Binary files a/theme/admin/rsrc/font/ruda-n-700.woff2 and /dev/null differ
diff --git a/theme/admin/rsrc/icon-public-domain.svg b/theme/admin/rsrc/icon-public-domain.svg
deleted file mode 100644
index 88f7227..0000000
--- a/theme/admin/rsrc/icon-public-domain.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 53.869999 53.509998" version="1" width="53.87" height="53.51"><rect rx="2" width="50.745" y="1.563" x="1.563" height="50.385" fill="#b3b3b3" fill-rule="evenodd" stroke="#333" stroke-width="3.125" stroke-linejoin="round"/><g transform="translate(-3.116 -3.554)" fill-rule="evenodd" stroke="#333" stroke-linecap="round" stroke-linejoin="round"><path d="M25.96 22.992c-2.403 1.28-3.964 3.706-4.993 6.316h18.198c-.944-2.547-2.39-4.947-4.593-6.316-2.478-.108-5.595 0-8.612 0z" fill="#7f7f7f" stroke-width="1.87471319"/><circle transform="matrix(.6206 0 0 .6206 17.702 3.554)" cx="19.524" cy="22.301" r="12.326" fill="#bfbfbf" stroke-width="3.021"/></g><path d="M12.76 27.584c-.84 0-1.513.674-1.513 1.512v18.116h31.72V29.096c0-.838-.674-1.512-1.51-1.512H12.758z" fill="#999" fill-rule="evenodd" stroke="#333" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M18.55 29.705l-9.617-13.27 5.385-2.694" fill="none" stroke="#333" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/><circle cx="13.934" cy="13.741" r="2.308" fill="#7f7f7f" fill-rule="evenodd" stroke="#333" stroke-width="1.25"/><rect rx="2.267" height="4.616" width="36.929" y="24.705" x="8.548" fill="#4c4c4c" fill-rule="evenodd" stroke="#333" stroke-width="2.5" stroke-linejoin="round"/><path d="M18.29 45.03c2.917-1.836 6.143-2.33 7.4-2.043.14-1.242 2.07-3.303 5.54-5.486-4.107 1.048-4.96 1.32-6.74 3.745-3.04.3-3.913 1.192-6.2 3.785zM25.543 36.904c2.02-1.27 4.253-1.612 5.122-1.415.098-.86 1.434-2.287 3.835-3.797-2.842.724-3.433.912-4.664 2.59-2.105.208-2.71.826-4.293 2.62z" fill="#4c4c4c" fill-rule="evenodd" stroke="#333" stroke-width=".625" stroke-linecap="round" stroke-linejoin="round"/></svg>
diff --git a/theme/admin/rsrc/img/noise-bright.png b/theme/admin/rsrc/img/noise-bright.png
deleted file mode 100644
index a9356b3..0000000
Binary files a/theme/admin/rsrc/img/noise-bright.png and /dev/null differ
diff --git a/theme/admin/rsrc/img/noise-dark.png b/theme/admin/rsrc/img/noise-dark.png
deleted file mode 100644
index f0ddc0d..0000000
Binary files a/theme/admin/rsrc/img/noise-dark.png and /dev/null differ
diff --git a/theme/admin/rsrc/main.js b/theme/admin/rsrc/main.js
deleted file mode 100644
index 94fc591..0000000
--- a/theme/admin/rsrc/main.js
+++ /dev/null
@@ -1,191 +0,0 @@
-//==============================================================================
-// Elements which contains the location of the previous and next site
-//==============================================================================
-const prev = document.getElementById("prev-site");
-const next = document.getElementById("next-site");
-
-//==============================================================================
-// Handle arrow keys and change the location to the desired direction
-//==============================================================================
-document.addEventListener("keyup", function(e) {
-	if(!e.ctrlKey && !e.shiftKey && !e.altKey) {
-		(e.keyCode === 37 && prev) && (window.location.href = prev.getAttribute("href"));
-		(e.keyCode === 39 && next) && (window.location.href = next.getAttribute("href"));
-	}
-}, false);
-
-//==============================================================================
-// Markdown tags to replace
-//==============================================================================
-const markdownTags = {
-	"bold":    ["**", "**"],
-	"italic":  ["*", "*"],
-	"heading": ["## ", "\n"],
-	"link":    ["[", "](href)"],
-	"image":   ["![", "](href)"],
-	"code":    ["\n~~~\n", "\n~~~\n"],
-	"quote":   ["\n> ", ""],
-	"list_ul": ["* ", ""],
-	"list_ol": ["1. ", ""]
-};
-
-//==============================================================================
-// Timeout function for delayed execution of code
-//==============================================================================
-function delayed(callback) {
-	window.setTimeout(callback, 20);
-}
-
-//==============================================================================
-// Set caret position in editor
-//==============================================================================
-function setCaretPosition(position) {
-	document.getElementById("content-editor").setSelectionRange(position, position);
-	document.getElementById("content-editor").focus();
-}
-
-//==============================================================================
-// Insert emoticon after cursor in editor
-//==============================================================================
-function insertEmoticon(target, emoticon) {
-	const selectionStart = target.selectionStart;
-	const selectionEnd = target.selectionEnd;
-
-	const content = target.value;
-	target.value = content.slice(0, selectionStart) + emoticon + content.slice(selectionEnd);
-
-	delayed(function() {
-		setCaretPosition(selectionStart + emoticon.length);
-	});
-}
-
-//==============================================================================
-// Insert markdown around text in editor
-//==============================================================================
-function insertMarkdown(target, markdown) {
-	const selectionStart = target.selectionStart;
-	const selectionEnd = target.selectionEnd;
-
-	const selectedText = target.value.substring(selectionStart, selectionEnd);
-
-	const content = target.value;
-	target.value = content.slice(0, selectionStart) + markdownTags[markdown][0] + selectedText + markdownTags[markdown][1] + content.slice(selectionEnd);
-
-	delayed(function() {
-		setCaretPosition(selectionStart + markdownTags[markdown][0].length + selectedText.length + markdownTags[markdown][1].length);
-	});
-}
-
-//==============================================================================
-// Keep server-side session active if the user is writing a long text
-//==============================================================================
-setInterval(function() {
-	const Request = new XMLHttpRequest();
-	Request.open("HEAD", "", true);
-	Request.send();
-}, 300000);
-
-//==============================================================================
-// Confirmation message for delete button
-//==============================================================================
-if(document.getElementById("delete-button")) {
-	document.getElementById("delete-button").onclick = function(e) {
-		return confirm(e.target.getAttribute("data-text"));
-	};
-}
-
-//==============================================================================
-// Insert or remove tab indent in editor if [<shift>+]<tab> is pressed
-//==============================================================================
-(function() {
-	if(document.getElementById("content-editor")) {
-		const element = document.getElementById("content-editor");
-		element.addEventListener("keydown", function(e) {
-			if(e.keyCode === 9 && !e.ctrlKey) {
-				const selectionStart = element.selectionStart;
-				const selectionEnd = element.selectionEnd;
-
-				const content = element.value;
-
-				if(e.shiftKey) {
-					if(content.substring(selectionStart, selectionStart -1) === "\t") {
-						element.value = content.substring(0, selectionStart - 1) + content.substring(selectionEnd);
-						setCaretPosition(selectionStart - 1);
-					}
-				}
-
-				else {
-					element.value = content.substring(0, selectionStart) + "\t" + content.substring(selectionEnd);
-					setCaretPosition(selectionStart + 1);
-				}
-
-				e.preventDefault();
-			}
-		}, false);
-	}
-})();
-
-//==============================================================================
-// Emoticon button list
-//==============================================================================
-(function() {
-	if(document.getElementById("emoticon-list")) {
-		const list = document.getElementById("emoticon-list");
-		const node = document.getElementById("content-editor");
-		const items = list.getElementsByTagName("li");
-
-		for(let i = 0; i < items.length; ++i) {
-			items[i].onmousedown = function(e) {
-				insertEmoticon(node, e.target.getAttribute("data-emoticon"));
-			};
-		}
-	}
-})();
-
-//==============================================================================
-// Markdown button list
-//==============================================================================
-(function() {
-	if(document.getElementById("markdown-list")) {
-		const list = document.getElementById("markdown-list");
-		const node = document.getElementById("content-editor");
-		const items = list.getElementsByTagName("li");
-
-		for(let i = 0; i < items.length; ++i) {
-			items[i].onmousedown = function(e) {
-				insertMarkdown(node, e.target.getAttribute("data-markdown"));
-			};
-		}
-	}
-})();
-
-//==============================================================================
-// Detect unsaved changes in content editor
-//==============================================================================
-(function() {
-	if(document.getElementById("content-editor")) {
-		const editor = document.getElementById("content-editor");
-		const initialValue = editor.value;
-
-		function showConfirmationPrompt(e) {
-			if(editor.value !== initialValue) {
-				e.returnValue = '';
-				e.preventDefault();
-			}
-		}
-
-		window.addEventListener('beforeunload', showConfirmationPrompt);
-
-		const buttons = [];
-		buttons.push(document.getElementById('insert-button'));
-		buttons.push(document.getElementById('update-button'));
-
-		for(let i = 0; i < buttons.length; ++i) {
-			if(buttons[i] !== null) {
-				buttons[i].addEventListener('click', function() {
-					window.removeEventListener('beforeunload', showConfirmationPrompt);
-				});
-			}
-		}
-	}
-})();
diff --git a/theme/admin/static/css/bright.css b/theme/admin/static/css/bright.css
new file mode 100644
index 0000000..6ca9bae
--- /dev/null
+++ b/theme/admin/static/css/bright.css
@@ -0,0 +1,972 @@
+@charset "UTF-8";
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Content background and border color
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Header and navigation
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Text colors
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Misc
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Forms
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Form buttons
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Information message box
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Scrollbars
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Import stylesheet
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Import variables
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Line height
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Font families
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Text font sizes
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Heading font sizes
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Content widths
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Selection
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+::selection {
+  background: #BBB;
+  color: #000; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Placeholders
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+::placeholder {
+  color: #444;
+  opacity: 0.5; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Scrollbars
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+* {
+  scrollbar-color: #A1A1A1 #E1E1E1; }
+  *::-webkit-scrollbar {
+    width: 0.75rem; }
+    *::-webkit-scrollbar-track {
+      background: #E1E1E1; }
+    *::-webkit-scrollbar-thumb {
+      background: #A1A1A1;
+      background-clip: padding-box;
+      border: 0.15rem solid transparent; }
+      *::-webkit-scrollbar-thumb:hover {
+        background: #888888;
+        background-clip: padding-box;
+        border: 0.15rem solid transparent; }
+    *::-webkit-scrollbar-corner {
+      background: transparent; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Hyperlinks
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+a {
+  color: #0060A0;
+  text-decoration: none; }
+  a:hover {
+    text-decoration: underline; }
+  a:focus {
+    background: #CCC; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Headings
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+h1, h2, h3 {
+  margin-bottom: 0; }
+  h1 + p, h2 + p, h3 + p {
+    margin-top: 0; }
+  h1 .fa, h2 .fa, h3 .fa {
+    margin-right: 0.25rem; }
+
+h1 {
+  margin-top: 0;
+  font-size: 0.8rem; }
+
+h2 {
+  font-size: 0.7rem; }
+
+h3 {
+  font-size: 0.65rem; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Document
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+html, body {
+  margin: 0;
+  padding: 0; }
+
+html {
+  font-size: 1.25rem;
+  color: #333;
+  background: url("../img/noise-bright.png") #DDD;
+  -webkit-hyphens: auto;
+  word-break: break-word;
+  hyphens: auto; }
+
+body {
+  font-family: "Ruda", "sans-serif";
+  font-size: 0.7rem;
+  line-height: 1.2rem;
+  display: flex;
+  min-height: 100vh;
+  flex-direction: column; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Main content
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-content {
+  flex: 1;
+  width: 100%;
+  background: #FFF;
+  box-sizing: border-box;
+  padding: 0.75rem; }
+  #main-content.wide {
+    max-width: 90rem; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Width
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-content, .header-content {
+  max-width: 50rem;
+  margin: 0 auto; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Header
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-header {
+  font-size: 0.6rem; }
+
+#header-text {
+  font-size: 0.8rem;
+  text-transform: uppercase; }
+#header-desc {
+  line-height: 1rem; }
+#header-text, #header-desc {
+  color: #333;
+  font-weight: bold; }
+#header-logo {
+  display: block;
+  max-height: 5rem;
+  float: left;
+  margin-right: 0.5rem; }
+
+.header-line {
+  padding: 0.25rem 0.75rem;
+  overflow: hidden;
+  background: #EEE; }
+  .header-line + .header-line {
+    border: 0.05rem solid #AAA;
+    border-left: none;
+    border-right: none; }
+  .header-line.background {
+    background: #5E819F;
+    position: sticky;
+    top: 0; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Footer
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-footer {
+  font-size: 0.6rem;
+  background: #EEE;
+  border-top: 0.05rem solid #AAA;
+  padding: 0.5rem 0.75rem;
+  text-align: center; }
+  #main-footer ul {
+    margin: 0;
+    padding: 0;
+    list-style: none; }
+    #main-footer ul li {
+      display: inline; }
+      #main-footer ul li .fa {
+        margin-right: 0.125rem; }
+    #main-footer ul li:after {
+      content: " – ";
+      font-weight: bold; }
+    #main-footer ul li:last-child:after {
+      content: none; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Main Navigation
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-navi ul {
+  list-style: none;
+  margin: 0;
+  padding: 0; }
+  #main-navi ul li {
+    display: inline; }
+    #main-navi ul li .fa {
+      margin-right: 0.25rem; }
+  #main-navi ul li:last-child {
+    float: right; }
+  #main-navi ul li:first-child {
+    float: none; }
+#main-navi a {
+  padding: 0.1rem 0.3rem;
+  background: #DDD;
+  border: 0.05rem solid #AAA;
+  color: inherit;
+  text-decoration: none;
+  text-align: center;
+  display: inline-block; }
+  #main-navi a:hover, #main-navi a:focus {
+    text-decoration: none;
+    background: #CCC; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Site Navigation
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#site-navi {
+  clear: both;
+  display: flex;
+  box-sizing: border-box;
+  justify-content: space-between;
+  margin-top: 0.75rem; }
+  #site-navi > div {
+    display: flex;
+    align-items: center;
+    border: 0.05rem solid #AAA;
+    background: #EEE; }
+    #site-navi > div > a {
+      display: block; }
+  #site-navi .disabled {
+    pointer-events: none;
+    color: #AAA; }
+  #site-navi ol {
+    list-style: none;
+    margin: 0;
+    padding: 0; }
+    #site-navi ol li {
+      float: left;
+      display: inline-block; }
+      #site-navi ol li + li {
+        border-left: 0.05rem solid #AAA; }
+      #site-navi ol li.active a {
+        background: #CCC;
+        font-weight: 600;
+        pointer-events: none; }
+  #site-navi a {
+    padding: 0 0.5rem;
+    text-decoration: none;
+    color: inherit;
+    display: inline-block; }
+    #site-navi a:hover, #site-navi a:focus {
+      background: #CCC; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Actions
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.actions {
+  margin: 0 0 0.5rem 0;
+  padding: 0;
+  list-style: none;
+  font-size: 0.6rem;
+  float: right;
+  text-align: center; }
+  .actions .fa {
+    margin-right: 0.1rem; }
+  .actions li {
+    display: inline-block;
+    font-weight: bold;
+    background: #EEE;
+    border: 0.05rem solid #AAA; }
+  .actions a {
+    color: inherit;
+    display: block;
+    padding: 0 0.25rem;
+    text-decoration: none; }
+
+.actions-before {
+  float: left; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Elements
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+pre {
+  margin-bottom: 1rem;
+  overflow: auto;
+  -moz-tab-size: 4;
+  tab-size: 4;
+  background: #EEE;
+  padding: 0.5rem;
+  border: 0.05rem solid #AAA; }
+
+code, pre {
+  font-family: "monospace"; }
+
+code {
+  color: #008B45; }
+
+p {
+  margin-top: 0; }
+
+img {
+  border: none;
+  max-width: 100%; }
+
+.warning {
+  color: #B03060; }
+
+.hidden {
+  display: none; }
+
+.no-visual-list {
+  margin: 0;
+  padding: 0;
+  list-style: none; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Item Element
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.item {
+  display: flex;
+  flex-direction: column;
+  border: 0.05rem solid #AAA;
+  margin-bottom: 0.75rem;
+  clear: both; }
+  .item header {
+    padding: 0.5rem 0.75rem;
+    border-bottom: 0.05rem solid #AAA;
+    position: sticky;
+    top: 0; }
+    .item header h2 {
+      margin-top: 0; }
+  .item footer {
+    border-top: 0.05rem solid #AAA; }
+    .item footer ul {
+      margin: 0;
+      padding: 0;
+      list-style: none; }
+      .item footer ul li {
+        display: inline-block;
+        float: left; }
+        .item footer ul li:last-child {
+          float: right; }
+    .item footer a {
+      color: inherit;
+      display: inline-block;
+      padding: 0.25rem 2rem; }
+      .item footer a:hover, .item footer a:active {
+        background: #DDD; }
+  .item header, .item footer {
+    background: #EEE;
+    overflow: hidden; }
+  .item blockquote {
+    margin: 0;
+    padding: 0.75rem;
+    overflow: hidden;
+    font-family: inherit;
+    flex-grow: 1; }
+    .item blockquote p {
+      margin-bottom: 0; }
+  .item-id {
+    float: right;
+    color: #444;
+    font-size: 0.7rem;
+    font-weight: normal; }
+  .item-meta {
+    margin: 0;
+    padding: 0;
+    list-style: none; }
+    .item-meta li {
+      display: inline-block; }
+      .item-meta li + li:before {
+        content: " – "; }
+      .item-meta li.item-meta-right {
+        float: right;
+        font-size: 0.6rem; }
+      .item-meta li.item-meta-right:before {
+        content: none; }
+  .item-image {
+    float: left;
+    display: block;
+    margin-right: 0.75rem;
+    width: 10rem;
+    height: 7rem;
+    object-fit: cover;
+    background: #EEE;
+    border: 0.05rem solid #AAA; }
+  .item-container.grid {
+    width: 100%;
+    display: grid;
+    grid-template-columns: 1fr 1fr 1fr;
+    grid-column-gap: 1rem;
+    grid-row-gap: 1rem;
+    column-gap: 1rem;
+    row-gap: 1rem; }
+    .item-container.grid .item {
+      margin-bottom: 0; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Argument list
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.arguments {
+  list-style: none;
+  margin: 0;
+  padding: 0.25rem 0.75rem;
+  background: #EEE;
+  font-size: 0.6rem;
+  text-align: center;
+  border-top: 0.05rem solid #AAA; }
+  .arguments li {
+    display: inline; }
+    .arguments li > code {
+      font-family: inherit;
+      color: #444; }
+    .arguments li:after {
+      content: " · ";
+      font-weight: bold; }
+    .arguments li:last-child:after {
+      content: none; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Grids
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.form-grid {
+  clear: both;
+  display: grid;
+  grid-template-columns: repeat(2, 7.5rem minmax(0, 1fr));
+  border-left: 0.05rem solid #AAA;
+  border-bottom: 0.05rem solid #AAA; }
+  .form-grid.two-columns {
+    grid-template-columns: 1fr 2fr; }
+  .form-grid.no-bottom-border {
+    border-bottom: none; }
+  .form-grid > label {
+    display: flex;
+    align-items: center;
+    background: #DDD; }
+    .form-grid > label .fa {
+      margin: 0 0.5rem; }
+  .form-grid-item,
+  .form-grid > label {
+    padding: 0.5rem;
+    border-top: 0.05rem solid #AAA;
+    border-right: 0.05rem solid #AAA; }
+  .form-grid-item.first {
+    grid-column: span 3; }
+
+.form-border-box {
+  border: 0.05rem solid #AAA; }
+  .form-border-box.padding {
+    padding: 0.5rem; }
+  .form-border-box.background {
+    background: #DDD; }
+  .form-border-box.nobordertop {
+    border-top: none; }
+  .form-border-box + .form-border-box {
+    border-top: none; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Form buttons
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#emoticon-list-wrapper {
+  display: flex;
+  width: 100%;
+  justify-content: center;
+  box-sizing: border-box; }
+
+#button-list-wrapper {
+  border-bottom: 0.05rem solid #AAA;
+  background: #EEE;
+  overflow: hidden; }
+
+.button-list {
+  margin: 0;
+  padding: 0;
+  list-style: none; }
+
+.button-list.emoticons > li {
+  font-size: 1.25rem;
+  display: inline-block;
+  padding: 0.2rem;
+  border-bottom: 0.2rem solid transparent;
+  border-radius: 0.1rem;
+  cursor: pointer; }
+  .button-list.emoticons > li:hover, .button-list.emoticons > li:active {
+    border-bottom: 0.2rem solid #AAA; }
+
+.button-list.markdown > li {
+  float: left;
+  padding: 0.25rem;
+  cursor: pointer;
+  width: 1.75rem;
+  box-sizing: border-box;
+  text-align: center; }
+  .button-list.markdown > li:hover, .button-list.markdown > li:active {
+    color: #000; }
+
+#content-editor {
+  border: none;
+  margin: 0; }
+  #content-editor-wrapper {
+    border-top: none; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Form elements
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+input, select, textarea {
+  width: 100%;
+  background: #EEE;
+  color: #444;
+  font-family: inherit;
+  font-size: 0.7rem;
+  padding: 0.25rem;
+  border: 0.05rem solid #AAA;
+  box-sizing: border-box; }
+  input:focus, select:focus, textarea:focus {
+    outline: none; }
+
+textarea {
+  font-family: "Kadwa", "sans-serif";
+  box-sizing: border-box;
+  display: block;
+  resize: vertical;
+  min-height: 15rem;
+  line-height: 1.2rem;
+  padding: 0.5rem;
+  -webkit-hyphens: none;
+  hyphens: none;
+  cursor: auto; }
+
+input[type="submit"] {
+  text-transform: uppercase;
+  border-radius: 0.1rem; }
+
+label {
+  text-transform: uppercase;
+  font-weight: normal; }
+  label:after {
+    content: ":"; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Form buttons
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#insert-button, #update-button, #delete-button {
+  color: #EEE;
+  border: 0.05rem solid #404040; }
+
+#insert-button {
+  background: #4D8D5D; }
+  #insert-button:active, #insert-button:focus {
+    background: #3b6c47; }
+
+#update-button {
+  background: #6A8AA5; }
+  #update-button:active, #update-button:focus {
+    background: #537089; }
+
+#delete-button {
+  background: #C45C66; }
+  #delete-button:active, #delete-button:focus {
+    background: #ae3f4a; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Form message list
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#message-list {
+  margin: 0;
+  padding: 0.5rem;
+  list-style: none;
+  background: #C45C66;
+  color: #EEE;
+  font-size: 0.6rem; }
+  #message-list-wrapper {
+    clear: both;
+    margin-bottom: 0.5rem;
+    border: 0.1rem solid #ae3f4a; }
+  #message-list code {
+    color: inherit;
+    font-weight: bold; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Search form
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#search-form {
+  margin-bottom: 1rem; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Import other files
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@media only screen and (max-width: 90em) {
+  .item-container.grid {
+    grid-template-columns: 1fr 1fr; } }
+@media only screen and (min-width: 62.5em) {
+  #main-content {
+    border: 0.05rem solid #AAA;
+    border-top: none;
+    border-bottom: none; } }
+@media only screen and (max-width: 62.5em) {
+  .item-container.grid {
+    grid-template-columns: 1fr; } }
+@media only screen and (max-width: 50em) {
+  html {
+    font-size: 1.125rem;
+    /*18px*/ } }
+@media only screen and (max-width: 37.5em) {
+  #main-content {
+    padding: 0.5rem; }
+
+  #main-navi {
+    font-size: 1rem; }
+    #main-navi ul li span {
+      display: none; }
+    #main-navi ul li .fa {
+      margin-right: 0; }
+    #main-navi a {
+      padding: 0.5rem; }
+
+  #emoticon-list-wrapper {
+    display: none; }
+
+  .item-container.grid {
+    grid-column-gap: 0.75rem;
+    grid-row-gap: 0.75rem;
+    column-gap: 0.75rem;
+    row-gap: 0.75rem; }
+
+  .form-grid {
+    grid-template-columns: 7rem 1fr; }
+    .form-grid-item, .form-grid-item.first, .form-grid label {
+      grid-column: unset; }
+
+  .actions {
+    float: none;
+    display: flex;
+    width: 100%;
+    flex-grow: 1;
+    justify-content: center;
+    overflow: hidden;
+    box-sizing: border-box; }
+    .actions-before {
+      float: none; }
+    .actions li {
+      flex-grow: 1; }
+      .actions li + li {
+        border-left: none; } }
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Fontello
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.fa:before {
+  font-family: "Fontello";
+  font-style: normal;
+  font-weight: normal;
+  speak: never;
+  display: inline-block;
+  text-decoration: inherit;
+  text-align: center;
+  /* For safety - reset parent styles, that can break glyph codes*/
+  font-variant: normal;
+  text-transform: none;
+  /* Font smoothing. That was taken from TWBS */
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  /* Uncomment for 3D effect */
+  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Font Awesome icons
+# ------------------
+# Copyright (C) 2016 by Dave Gandy
+# Author: Dave Gandy
+# License: SIL
+# Homepage: http://fortawesome.github.com/Font-Awesome/
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.fa-pencil:before {
+  content: '\e800'; }
+
+.fa-comment:before {
+  content: '\e801'; }
+
+.fa-chat:before {
+  content: '\e802'; }
+
+.fa-users:before {
+  content: '\e803'; }
+
+.fa-cancel:before {
+  content: '\e804'; }
+
+.fa-plus:before {
+  content: '\e805'; }
+
+.fa-list:before {
+  content: '\e80b'; }
+
+.fa-arrow-down:before {
+  content: '\e80e'; }
+
+.fa-arrow-up:before {
+  content: '\e811'; }
+
+.fa-arrows-cw:before {
+  content: '\e813'; }
+
+.fa-tag:before {
+  content: '\e815'; }
+
+.fa-tags:before {
+  content: '\e816'; }
+
+.fa-star:before {
+  content: '\e817'; }
+
+.fa-star-empty:before {
+  content: '\e818'; }
+
+.fa-eye:before {
+  content: '\e81a'; }
+
+.fa-ok:before {
+  content: '\e81b'; }
+
+.fa-info-circled:before {
+  content: '\e81c'; }
+
+.fa-home:before {
+  content: '\e81d'; }
+
+.fa-attach:before {
+  content: '\e81e'; }
+
+.fa-cog:before {
+  content: '\e81f'; }
+
+.fa-check:before {
+  content: '\e821'; }
+
+.fa-floppy:before {
+  content: '\e822'; }
+
+.fa-eye-off:before {
+  content: '\e823'; }
+
+.fa-folder-open:before {
+  content: '\e824'; }
+
+.fa-wrench:before {
+  content: '\e825'; }
+
+.fa-search:before {
+  content: '\f002'; }
+
+.fa-envelope-o:before {
+  content: '\f003'; }
+
+.fa-user:before {
+  content: '\f007'; }
+
+.fa-trash-o:before {
+  content: '\f014'; }
+
+.fa-clock-o:before {
+  content: '\f017'; }
+
+.fa-book:before {
+  content: '\f02d'; }
+
+.fa-bold:before {
+  content: '\f032'; }
+
+.fa-italic:before {
+  content: '\f033'; }
+
+.fa-picture-o:before {
+  content: '\f03e'; }
+
+.fa-pencil-square-o:before {
+  content: '\f044'; }
+
+.fa-arrow-left:before {
+  content: '\f060'; }
+
+.fa-arrow-right:before {
+  content: '\f061'; }
+
+.fa-exclamation-triangle:before {
+  content: '\f071'; }
+
+.fa-key:before {
+  content: '\f084'; }
+
+.fa-sign-out:before {
+  content: '\f08b'; }
+
+.fa-external-link:before {
+  content: '\f08e'; }
+
+.fa-sign-in:before {
+  content: '\f090'; }
+
+.fa-github-square:before {
+  content: '\f092'; }
+
+.fa-uncheck:before {
+  content: '\f096'; }
+
+.fa-link:before {
+  content: '\f0c1'; }
+
+.fa-menu:before {
+  content: '\f0c9'; }
+
+.fa-list-ul:before {
+  content: '\f0ca'; }
+
+.fa-list-ol:before {
+  content: '\f0cb'; }
+
+.fa-dashboard:before {
+  content: '\f0e4'; }
+
+.fa-comment-empty:before {
+  content: '\f0e5'; }
+
+.fa-chat-empty:before {
+  content: '\f0e6'; }
+
+.fa-file-text-o:before {
+  content: '\f0f6'; }
+
+.fa-quote-left:before {
+  content: '\f10d'; }
+
+.fa-quote-right:before {
+  content: '\f10e'; }
+
+.fa-smile:before {
+  content: '\f118'; }
+
+.fa-frown:before {
+  content: '\f119'; }
+
+.fa-meh:before {
+  content: '\f11a'; }
+
+.fa-keyboard:before {
+  content: '\f11c'; }
+
+.fa-code:before {
+  content: '\f121'; }
+
+.fa-attention-alt:before {
+  content: '\f12a'; }
+
+.fa-sort-name-up:before {
+  content: '\f15d'; }
+
+.fa-sort-name-down:before {
+  content: '\f15e'; }
+
+.fa-sort-up:before {
+  content: '\f160'; }
+
+.fa-sort-down:before {
+  content: '\f161'; }
+
+.fa-sort-number-up:before {
+  content: '\f162'; }
+
+.fa-sort-number-down:before {
+  content: '\f163'; }
+
+.fa-sun:before {
+  content: '\f185'; }
+
+.fa-moon:before {
+  content: '\f186'; }
+
+.fa-box:before {
+  content: '\f187'; }
+
+.fa-bug:before {
+  content: '\f188'; }
+
+.fa-language:before {
+  content: '\f1ab'; }
+
+.fa-database:before {
+  content: '\f1c0'; }
+
+.fa-file-archive:before {
+  content: '\f1c6'; }
+
+.fa-header:before {
+  content: '\f1dc'; }
+
+.fa-newspaper-o:before {
+  content: '\f1ea'; }
+
+.fa-at:before {
+  content: '\f1fa'; }
+
+.fa-toggle-off:before {
+  content: '\f204'; }
+
+.fa-toggle-on:before {
+  content: '\f205'; }
+
+.fa-user-secret:before {
+  content: '\f21b'; }
+
+.fa-server:before {
+  content: '\f233'; }
+
+.fa-commenting:before {
+  content: '\f27a'; }
+
+.fa-commenting-o:before {
+  content: '\f27b'; }
+
+.fa-user-circle-o:before {
+  content: '\f2be'; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Font "Font Awesome" [4.7.0] (by Fontello): SIL Open Font License (OFL)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@font-face {
+  font-family: "Fontello";
+  font-weight: 400;
+  font-style: normal;
+  src: url("../font/fontello.woff2") format("woff2"); }
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Font "Kadwa": SIL Open Font License (OFL)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@font-face {
+  font-family: "Kadwa";
+  font-weight: 400;
+  src: url("../font/kadwa-n-400.woff2") format("woff2"); }
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Font "Ruda": SIL Open Font License (OFL)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@font-face {
+  font-family: "Ruda";
+  font-weight: 400;
+  src: url("../font/ruda-n-400.woff2") format("woff2"); }
+@font-face {
+  font-family: "Ruda";
+  font-weight: 700;
+  src: url("../font/ruda-n-700.woff2") format("woff2"); }
+#theme-toogle-bright {
+  display: none; }
diff --git a/theme/admin/static/css/bright.scss b/theme/admin/static/css/bright.scss
new file mode 100644
index 0000000..3d65448
--- /dev/null
+++ b/theme/admin/static/css/bright.scss
@@ -0,0 +1,69 @@
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Content background and border color
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$htmlBackground: url("../img/noise-bright.png") #DDD;
+$backgroundColor: #FFF;
+$backgroundColorEmphasize: #EEE;
+$borderColor: #AAA;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Header and navigation
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$headerBarTextColor: #333;
+$headerBarBackgroundColor: #5E819F;
+$navigationLinkBackgroundColor: #DDD;
+$navigationLinkFocusedBackgroundColor: #CCC;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Text colors
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$textColor: #333;
+$textColorLight: #444;
+$textColorStrong: #000;
+$formElementTextColor: #404040;
+$codeTextColor: #008B45;
+$linkColor: #0060A0;
+$linkColorFocused: #CCC;
+$warningTextColor: #B03060;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Misc
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$itemLinkHoverBackgroundColor: #DDD;
+$paginationActiveBackgroundColor: #CCC;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Forms
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$formBackgroundColorEmphasize: #DDD;
+$formButtonBorderColor: #404040;
+$formButtonTextColor: #EEE;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Form buttons
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$insertButtonBackgroundColor: #4D8D5D;
+$updateButtonBackgroundColor: #6A8AA5;
+$deleteButtonBackgroundColor: #C45C66;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Information message box
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$messageListTextColor: #EEE;
+$messageListBackgroundColor: #C45C66;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Scrollbars
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$scrollbarColor: #A1A1A1;
+$scrollbarHoverColor: #888888;
+$scrollbarBackground: #E1E1E1;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Import stylesheet
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@import "import/styles";
+
+#theme-toogle-bright {
+	display: none;
+}
diff --git a/theme/admin/static/css/dark.css b/theme/admin/static/css/dark.css
new file mode 100644
index 0000000..1a46895
--- /dev/null
+++ b/theme/admin/static/css/dark.css
@@ -0,0 +1,972 @@
+@charset "UTF-8";
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Content background and border color
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Header and navigation
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Text colors
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Misc
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Forms
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Form buttons
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Information message box
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Scrollbars
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Import stylesheet
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Import variables
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Line height
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Font families
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Text font sizes
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Heading font sizes
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Content widths
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Selection
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+::selection {
+  background: #BBB;
+  color: #000; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Placeholders
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+::placeholder {
+  color: #8D9AA7;
+  opacity: 0.5; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Scrollbars
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+* {
+  scrollbar-color: #838994 #2E3440; }
+  *::-webkit-scrollbar {
+    width: 0.75rem; }
+    *::-webkit-scrollbar-track {
+      background: #2E3440; }
+    *::-webkit-scrollbar-thumb {
+      background: #838994;
+      background-clip: padding-box;
+      border: 0.15rem solid transparent; }
+      *::-webkit-scrollbar-thumb:hover {
+        background: #4C566A;
+        background-clip: padding-box;
+        border: 0.15rem solid transparent; }
+    *::-webkit-scrollbar-corner {
+      background: transparent; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Hyperlinks
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+a {
+  color: #5EA4D3;
+  text-decoration: none; }
+  a:hover {
+    text-decoration: underline; }
+  a:focus {
+    background: #42474E; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Headings
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+h1, h2, h3 {
+  margin-bottom: 0; }
+  h1 + p, h2 + p, h3 + p {
+    margin-top: 0; }
+  h1 .fa, h2 .fa, h3 .fa {
+    margin-right: 0.25rem; }
+
+h1 {
+  margin-top: 0;
+  font-size: 0.8rem; }
+
+h2 {
+  font-size: 0.7rem; }
+
+h3 {
+  font-size: 0.65rem; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Document
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+html, body {
+  margin: 0;
+  padding: 0; }
+
+html {
+  font-size: 1.25rem;
+  color: #9DAAB7;
+  background: url("../img/noise-dark.png") #3D434B;
+  -webkit-hyphens: auto;
+  word-break: break-word;
+  hyphens: auto; }
+
+body {
+  font-family: "Ruda", "sans-serif";
+  font-size: 0.7rem;
+  line-height: 1.2rem;
+  display: flex;
+  min-height: 100vh;
+  flex-direction: column; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Main content
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-content {
+  flex: 1;
+  width: 100%;
+  background: #3D434B;
+  box-sizing: border-box;
+  padding: 0.75rem; }
+  #main-content.wide {
+    max-width: 90rem; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Width
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-content, .header-content {
+  max-width: 50rem;
+  margin: 0 auto; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Header
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-header {
+  font-size: 0.6rem; }
+
+#header-text {
+  font-size: 0.8rem;
+  text-transform: uppercase; }
+#header-desc {
+  line-height: 1rem; }
+#header-text, #header-desc {
+  color: #000;
+  font-weight: bold; }
+#header-logo {
+  display: block;
+  max-height: 5rem;
+  float: left;
+  margin-right: 0.5rem; }
+
+.header-line {
+  padding: 0.25rem 0.75rem;
+  overflow: hidden;
+  background: #32373E; }
+  .header-line + .header-line {
+    border: 0.05rem solid #1D232B;
+    border-left: none;
+    border-right: none; }
+  .header-line.background {
+    background: #3B546A;
+    position: sticky;
+    top: 0; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Footer
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-footer {
+  font-size: 0.6rem;
+  background: #32373E;
+  border-top: 0.05rem solid #1D232B;
+  padding: 0.5rem 0.75rem;
+  text-align: center; }
+  #main-footer ul {
+    margin: 0;
+    padding: 0;
+    list-style: none; }
+    #main-footer ul li {
+      display: inline; }
+      #main-footer ul li .fa {
+        margin-right: 0.125rem; }
+    #main-footer ul li:after {
+      content: " – ";
+      font-weight: bold; }
+    #main-footer ul li:last-child:after {
+      content: none; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Main Navigation
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-navi ul {
+  list-style: none;
+  margin: 0;
+  padding: 0; }
+  #main-navi ul li {
+    display: inline; }
+    #main-navi ul li .fa {
+      margin-right: 0.25rem; }
+  #main-navi ul li:last-child {
+    float: right; }
+  #main-navi ul li:first-child {
+    float: none; }
+#main-navi a {
+  padding: 0.1rem 0.3rem;
+  background: #2D333B;
+  border: 0.05rem solid #1D232B;
+  color: inherit;
+  text-decoration: none;
+  text-align: center;
+  display: inline-block; }
+  #main-navi a:hover, #main-navi a:focus {
+    text-decoration: none;
+    background: #1D232B; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Site Navigation
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#site-navi {
+  clear: both;
+  display: flex;
+  box-sizing: border-box;
+  justify-content: space-between;
+  margin-top: 0.75rem; }
+  #site-navi > div {
+    display: flex;
+    align-items: center;
+    border: 0.05rem solid #1D232B;
+    background: #32373E; }
+    #site-navi > div > a {
+      display: block; }
+  #site-navi .disabled {
+    pointer-events: none;
+    color: #1D232B; }
+  #site-navi ol {
+    list-style: none;
+    margin: 0;
+    padding: 0; }
+    #site-navi ol li {
+      float: left;
+      display: inline-block; }
+      #site-navi ol li + li {
+        border-left: 0.05rem solid #1D232B; }
+      #site-navi ol li.active a {
+        background: #42474E;
+        font-weight: 600;
+        pointer-events: none; }
+  #site-navi a {
+    padding: 0 0.5rem;
+    text-decoration: none;
+    color: inherit;
+    display: inline-block; }
+    #site-navi a:hover, #site-navi a:focus {
+      background: #1D232B; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Actions
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.actions {
+  margin: 0 0 0.5rem 0;
+  padding: 0;
+  list-style: none;
+  font-size: 0.6rem;
+  float: right;
+  text-align: center; }
+  .actions .fa {
+    margin-right: 0.1rem; }
+  .actions li {
+    display: inline-block;
+    font-weight: bold;
+    background: #32373E;
+    border: 0.05rem solid #1D232B; }
+  .actions a {
+    color: inherit;
+    display: block;
+    padding: 0 0.25rem;
+    text-decoration: none; }
+
+.actions-before {
+  float: left; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Elements
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+pre {
+  margin-bottom: 1rem;
+  overflow: auto;
+  -moz-tab-size: 4;
+  tab-size: 4;
+  background: #32373E;
+  padding: 0.5rem;
+  border: 0.05rem solid #1D232B; }
+
+code, pre {
+  font-family: "monospace"; }
+
+code {
+  color: #FFB830; }
+
+p {
+  margin-top: 0; }
+
+img {
+  border: none;
+  max-width: 100%; }
+
+.warning {
+  color: #FFB830; }
+
+.hidden {
+  display: none; }
+
+.no-visual-list {
+  margin: 0;
+  padding: 0;
+  list-style: none; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Item Element
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.item {
+  display: flex;
+  flex-direction: column;
+  border: 0.05rem solid #1D232B;
+  margin-bottom: 0.75rem;
+  clear: both; }
+  .item header {
+    padding: 0.5rem 0.75rem;
+    border-bottom: 0.05rem solid #1D232B;
+    position: sticky;
+    top: 0; }
+    .item header h2 {
+      margin-top: 0; }
+  .item footer {
+    border-top: 0.05rem solid #1D232B; }
+    .item footer ul {
+      margin: 0;
+      padding: 0;
+      list-style: none; }
+      .item footer ul li {
+        display: inline-block;
+        float: left; }
+        .item footer ul li:last-child {
+          float: right; }
+    .item footer a {
+      color: inherit;
+      display: inline-block;
+      padding: 0.25rem 2rem; }
+      .item footer a:hover, .item footer a:active {
+        background: #42474E; }
+  .item header, .item footer {
+    background: #32373E;
+    overflow: hidden; }
+  .item blockquote {
+    margin: 0;
+    padding: 0.75rem;
+    overflow: hidden;
+    font-family: inherit;
+    flex-grow: 1; }
+    .item blockquote p {
+      margin-bottom: 0; }
+  .item-id {
+    float: right;
+    color: #8D9AA7;
+    font-size: 0.7rem;
+    font-weight: normal; }
+  .item-meta {
+    margin: 0;
+    padding: 0;
+    list-style: none; }
+    .item-meta li {
+      display: inline-block; }
+      .item-meta li + li:before {
+        content: " – "; }
+      .item-meta li.item-meta-right {
+        float: right;
+        font-size: 0.6rem; }
+      .item-meta li.item-meta-right:before {
+        content: none; }
+  .item-image {
+    float: left;
+    display: block;
+    margin-right: 0.75rem;
+    width: 10rem;
+    height: 7rem;
+    object-fit: cover;
+    background: #32373E;
+    border: 0.05rem solid #1D232B; }
+  .item-container.grid {
+    width: 100%;
+    display: grid;
+    grid-template-columns: 1fr 1fr 1fr;
+    grid-column-gap: 1rem;
+    grid-row-gap: 1rem;
+    column-gap: 1rem;
+    row-gap: 1rem; }
+    .item-container.grid .item {
+      margin-bottom: 0; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Argument list
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.arguments {
+  list-style: none;
+  margin: 0;
+  padding: 0.25rem 0.75rem;
+  background: #32373E;
+  font-size: 0.6rem;
+  text-align: center;
+  border-top: 0.05rem solid #1D232B; }
+  .arguments li {
+    display: inline; }
+    .arguments li > code {
+      font-family: inherit;
+      color: #8D9AA7; }
+    .arguments li:after {
+      content: " · ";
+      font-weight: bold; }
+    .arguments li:last-child:after {
+      content: none; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Grids
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.form-grid {
+  clear: both;
+  display: grid;
+  grid-template-columns: repeat(2, 7.5rem minmax(0, 1fr));
+  border-left: 0.05rem solid #1D232B;
+  border-bottom: 0.05rem solid #1D232B; }
+  .form-grid.two-columns {
+    grid-template-columns: 1fr 2fr; }
+  .form-grid.no-bottom-border {
+    border-bottom: none; }
+  .form-grid > label {
+    display: flex;
+    align-items: center;
+    background: #4D535B; }
+    .form-grid > label .fa {
+      margin: 0 0.5rem; }
+  .form-grid-item,
+  .form-grid > label {
+    padding: 0.5rem;
+    border-top: 0.05rem solid #1D232B;
+    border-right: 0.05rem solid #1D232B; }
+  .form-grid-item.first {
+    grid-column: span 3; }
+
+.form-border-box {
+  border: 0.05rem solid #1D232B; }
+  .form-border-box.padding {
+    padding: 0.5rem; }
+  .form-border-box.background {
+    background: #4D535B; }
+  .form-border-box.nobordertop {
+    border-top: none; }
+  .form-border-box + .form-border-box {
+    border-top: none; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Form buttons
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#emoticon-list-wrapper {
+  display: flex;
+  width: 100%;
+  justify-content: center;
+  box-sizing: border-box; }
+
+#button-list-wrapper {
+  border-bottom: 0.05rem solid #1D232B;
+  background: #32373E;
+  overflow: hidden; }
+
+.button-list {
+  margin: 0;
+  padding: 0;
+  list-style: none; }
+
+.button-list.emoticons > li {
+  font-size: 1.25rem;
+  display: inline-block;
+  padding: 0.2rem;
+  border-bottom: 0.2rem solid transparent;
+  border-radius: 0.1rem;
+  cursor: pointer; }
+  .button-list.emoticons > li:hover, .button-list.emoticons > li:active {
+    border-bottom: 0.2rem solid #1D232B; }
+
+.button-list.markdown > li {
+  float: left;
+  padding: 0.25rem;
+  cursor: pointer;
+  width: 1.75rem;
+  box-sizing: border-box;
+  text-align: center; }
+  .button-list.markdown > li:hover, .button-list.markdown > li:active {
+    color: #CDDAE7; }
+
+#content-editor {
+  border: none;
+  margin: 0; }
+  #content-editor-wrapper {
+    border-top: none; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Form elements
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+input, select, textarea {
+  width: 100%;
+  background: #32373E;
+  color: #8D9AA7;
+  font-family: inherit;
+  font-size: 0.7rem;
+  padding: 0.25rem;
+  border: 0.05rem solid #1D232B;
+  box-sizing: border-box; }
+  input:focus, select:focus, textarea:focus {
+    outline: none; }
+
+textarea {
+  font-family: "Kadwa", "sans-serif";
+  box-sizing: border-box;
+  display: block;
+  resize: vertical;
+  min-height: 15rem;
+  line-height: 1.2rem;
+  padding: 0.5rem;
+  -webkit-hyphens: none;
+  hyphens: none;
+  cursor: auto; }
+
+input[type="submit"] {
+  text-transform: uppercase;
+  border-radius: 0.1rem; }
+
+label {
+  text-transform: uppercase;
+  font-weight: normal; }
+  label:after {
+    content: ":"; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Form buttons
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#insert-button, #update-button, #delete-button {
+  color: #CCC;
+  border: 0.05rem solid #404040; }
+
+#insert-button {
+  background: #396644; }
+  #insert-button:active, #insert-button:focus {
+    background: #27452e; }
+
+#update-button {
+  background: #597186; }
+  #update-button:active, #update-button:focus {
+    background: #455767; }
+
+#delete-button {
+  background: #8F4F55; }
+  #delete-button:active, #delete-button:focus {
+    background: #6e3d41; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Form message list
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#message-list {
+  margin: 0;
+  padding: 0.5rem;
+  list-style: none;
+  background: #8C434A;
+  color: #BBB;
+  font-size: 0.6rem; }
+  #message-list-wrapper {
+    clear: both;
+    margin-bottom: 0.5rem;
+    border: 0.1rem solid #6a3238; }
+  #message-list code {
+    color: inherit;
+    font-weight: bold; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Search form
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#search-form {
+  margin-bottom: 1rem; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Import other files
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@media only screen and (max-width: 90em) {
+  .item-container.grid {
+    grid-template-columns: 1fr 1fr; } }
+@media only screen and (min-width: 62.5em) {
+  #main-content {
+    border: 0.05rem solid #1D232B;
+    border-top: none;
+    border-bottom: none; } }
+@media only screen and (max-width: 62.5em) {
+  .item-container.grid {
+    grid-template-columns: 1fr; } }
+@media only screen and (max-width: 50em) {
+  html {
+    font-size: 1.125rem;
+    /*18px*/ } }
+@media only screen and (max-width: 37.5em) {
+  #main-content {
+    padding: 0.5rem; }
+
+  #main-navi {
+    font-size: 1rem; }
+    #main-navi ul li span {
+      display: none; }
+    #main-navi ul li .fa {
+      margin-right: 0; }
+    #main-navi a {
+      padding: 0.5rem; }
+
+  #emoticon-list-wrapper {
+    display: none; }
+
+  .item-container.grid {
+    grid-column-gap: 0.75rem;
+    grid-row-gap: 0.75rem;
+    column-gap: 0.75rem;
+    row-gap: 0.75rem; }
+
+  .form-grid {
+    grid-template-columns: 7rem 1fr; }
+    .form-grid-item, .form-grid-item.first, .form-grid label {
+      grid-column: unset; }
+
+  .actions {
+    float: none;
+    display: flex;
+    width: 100%;
+    flex-grow: 1;
+    justify-content: center;
+    overflow: hidden;
+    box-sizing: border-box; }
+    .actions-before {
+      float: none; }
+    .actions li {
+      flex-grow: 1; }
+      .actions li + li {
+        border-left: none; } }
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Fontello
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.fa:before {
+  font-family: "Fontello";
+  font-style: normal;
+  font-weight: normal;
+  speak: never;
+  display: inline-block;
+  text-decoration: inherit;
+  text-align: center;
+  /* For safety - reset parent styles, that can break glyph codes*/
+  font-variant: normal;
+  text-transform: none;
+  /* Font smoothing. That was taken from TWBS */
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  /* Uncomment for 3D effect */
+  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Font Awesome icons
+# ------------------
+# Copyright (C) 2016 by Dave Gandy
+# Author: Dave Gandy
+# License: SIL
+# Homepage: http://fortawesome.github.com/Font-Awesome/
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.fa-pencil:before {
+  content: '\e800'; }
+
+.fa-comment:before {
+  content: '\e801'; }
+
+.fa-chat:before {
+  content: '\e802'; }
+
+.fa-users:before {
+  content: '\e803'; }
+
+.fa-cancel:before {
+  content: '\e804'; }
+
+.fa-plus:before {
+  content: '\e805'; }
+
+.fa-list:before {
+  content: '\e80b'; }
+
+.fa-arrow-down:before {
+  content: '\e80e'; }
+
+.fa-arrow-up:before {
+  content: '\e811'; }
+
+.fa-arrows-cw:before {
+  content: '\e813'; }
+
+.fa-tag:before {
+  content: '\e815'; }
+
+.fa-tags:before {
+  content: '\e816'; }
+
+.fa-star:before {
+  content: '\e817'; }
+
+.fa-star-empty:before {
+  content: '\e818'; }
+
+.fa-eye:before {
+  content: '\e81a'; }
+
+.fa-ok:before {
+  content: '\e81b'; }
+
+.fa-info-circled:before {
+  content: '\e81c'; }
+
+.fa-home:before {
+  content: '\e81d'; }
+
+.fa-attach:before {
+  content: '\e81e'; }
+
+.fa-cog:before {
+  content: '\e81f'; }
+
+.fa-check:before {
+  content: '\e821'; }
+
+.fa-floppy:before {
+  content: '\e822'; }
+
+.fa-eye-off:before {
+  content: '\e823'; }
+
+.fa-folder-open:before {
+  content: '\e824'; }
+
+.fa-wrench:before {
+  content: '\e825'; }
+
+.fa-search:before {
+  content: '\f002'; }
+
+.fa-envelope-o:before {
+  content: '\f003'; }
+
+.fa-user:before {
+  content: '\f007'; }
+
+.fa-trash-o:before {
+  content: '\f014'; }
+
+.fa-clock-o:before {
+  content: '\f017'; }
+
+.fa-book:before {
+  content: '\f02d'; }
+
+.fa-bold:before {
+  content: '\f032'; }
+
+.fa-italic:before {
+  content: '\f033'; }
+
+.fa-picture-o:before {
+  content: '\f03e'; }
+
+.fa-pencil-square-o:before {
+  content: '\f044'; }
+
+.fa-arrow-left:before {
+  content: '\f060'; }
+
+.fa-arrow-right:before {
+  content: '\f061'; }
+
+.fa-exclamation-triangle:before {
+  content: '\f071'; }
+
+.fa-key:before {
+  content: '\f084'; }
+
+.fa-sign-out:before {
+  content: '\f08b'; }
+
+.fa-external-link:before {
+  content: '\f08e'; }
+
+.fa-sign-in:before {
+  content: '\f090'; }
+
+.fa-github-square:before {
+  content: '\f092'; }
+
+.fa-uncheck:before {
+  content: '\f096'; }
+
+.fa-link:before {
+  content: '\f0c1'; }
+
+.fa-menu:before {
+  content: '\f0c9'; }
+
+.fa-list-ul:before {
+  content: '\f0ca'; }
+
+.fa-list-ol:before {
+  content: '\f0cb'; }
+
+.fa-dashboard:before {
+  content: '\f0e4'; }
+
+.fa-comment-empty:before {
+  content: '\f0e5'; }
+
+.fa-chat-empty:before {
+  content: '\f0e6'; }
+
+.fa-file-text-o:before {
+  content: '\f0f6'; }
+
+.fa-quote-left:before {
+  content: '\f10d'; }
+
+.fa-quote-right:before {
+  content: '\f10e'; }
+
+.fa-smile:before {
+  content: '\f118'; }
+
+.fa-frown:before {
+  content: '\f119'; }
+
+.fa-meh:before {
+  content: '\f11a'; }
+
+.fa-keyboard:before {
+  content: '\f11c'; }
+
+.fa-code:before {
+  content: '\f121'; }
+
+.fa-attention-alt:before {
+  content: '\f12a'; }
+
+.fa-sort-name-up:before {
+  content: '\f15d'; }
+
+.fa-sort-name-down:before {
+  content: '\f15e'; }
+
+.fa-sort-up:before {
+  content: '\f160'; }
+
+.fa-sort-down:before {
+  content: '\f161'; }
+
+.fa-sort-number-up:before {
+  content: '\f162'; }
+
+.fa-sort-number-down:before {
+  content: '\f163'; }
+
+.fa-sun:before {
+  content: '\f185'; }
+
+.fa-moon:before {
+  content: '\f186'; }
+
+.fa-box:before {
+  content: '\f187'; }
+
+.fa-bug:before {
+  content: '\f188'; }
+
+.fa-language:before {
+  content: '\f1ab'; }
+
+.fa-database:before {
+  content: '\f1c0'; }
+
+.fa-file-archive:before {
+  content: '\f1c6'; }
+
+.fa-header:before {
+  content: '\f1dc'; }
+
+.fa-newspaper-o:before {
+  content: '\f1ea'; }
+
+.fa-at:before {
+  content: '\f1fa'; }
+
+.fa-toggle-off:before {
+  content: '\f204'; }
+
+.fa-toggle-on:before {
+  content: '\f205'; }
+
+.fa-user-secret:before {
+  content: '\f21b'; }
+
+.fa-server:before {
+  content: '\f233'; }
+
+.fa-commenting:before {
+  content: '\f27a'; }
+
+.fa-commenting-o:before {
+  content: '\f27b'; }
+
+.fa-user-circle-o:before {
+  content: '\f2be'; }
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Font "Font Awesome" [4.7.0] (by Fontello): SIL Open Font License (OFL)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@font-face {
+  font-family: "Fontello";
+  font-weight: 400;
+  font-style: normal;
+  src: url("../font/fontello.woff2") format("woff2"); }
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Font "Kadwa": SIL Open Font License (OFL)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@font-face {
+  font-family: "Kadwa";
+  font-weight: 400;
+  src: url("../font/kadwa-n-400.woff2") format("woff2"); }
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Font "Ruda": SIL Open Font License (OFL)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@font-face {
+  font-family: "Ruda";
+  font-weight: 400;
+  src: url("../font/ruda-n-400.woff2") format("woff2"); }
+@font-face {
+  font-family: "Ruda";
+  font-weight: 700;
+  src: url("../font/ruda-n-700.woff2") format("woff2"); }
+#theme-toogle-dark {
+  display: none; }
diff --git a/theme/admin/static/css/dark.scss b/theme/admin/static/css/dark.scss
new file mode 100644
index 0000000..472095a
--- /dev/null
+++ b/theme/admin/static/css/dark.scss
@@ -0,0 +1,69 @@
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Content background and border color
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$htmlBackground: url("../img/noise-dark.png") #3D434B;
+$backgroundColorEmphasize: #32373E;
+$backgroundColor: #3D434B;
+$borderColor: #1D232B;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Header and navigation
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$headerBarTextColor: #000;
+$headerBarBackgroundColor: #3B546A;
+$navigationLinkBackgroundColor: #2D333B;
+$navigationLinkFocusedBackgroundColor: #1D232B;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Text colors
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$textColor: #9DAAB7;
+$textColorLight: #8D9AA7;
+$textColorStrong: #CDDAE7;
+$formElementTextColor: #8D9AA7;
+$codeTextColor: #FFB830;
+$linkColor: #5EA4D3;
+$linkColorFocused: #42474E;
+$warningTextColor: #FFB830;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Misc
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$itemLinkHoverBackgroundColor: #42474E;
+$paginationActiveBackgroundColor: #42474E;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Forms
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$formBackgroundColorEmphasize: #4D535B;
+$formButtonBorderColor: #404040;
+$formButtonTextColor: #CCC;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Form buttons
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$insertButtonBackgroundColor: #396644;
+$updateButtonBackgroundColor: #597186;
+$deleteButtonBackgroundColor: #8F4F55;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Information message box
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$messageListTextColor: #BBB;
+$messageListBackgroundColor: #8C434A;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Scrollbars
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$scrollbarColor: #838994;
+$scrollbarHoverColor: #4C566A;
+$scrollbarBackground: #2E3440;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Import stylesheet
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@import "import/styles";
+
+#theme-toogle-dark {
+	display: none;
+}
diff --git a/theme/admin/static/css/import/_fontello.scss b/theme/admin/static/css/import/_fontello.scss
new file mode 100644
index 0000000..7c2e964
--- /dev/null
+++ b/theme/admin/static/css/import/_fontello.scss
@@ -0,0 +1,116 @@
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Fontello
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.fa:before {
+	font-family: "Fontello";
+	font-style: normal;
+	font-weight: normal;
+	speak: never;
+
+	display: inline-block;
+	text-decoration: inherit;
+	text-align: center;
+
+	/* For safety - reset parent styles, that can break glyph codes*/
+	font-variant: normal;
+	text-transform: none;
+
+	/* Font smoothing. That was taken from TWBS */
+	-webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
+
+	/* Uncomment for 3D effect */
+	/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Font Awesome icons
+# ------------------
+# Copyright (C) 2016 by Dave Gandy
+# Author: Dave Gandy
+# License: SIL
+# Homepage: http://fortawesome.github.com/Font-Awesome/
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.fa-pencil:before { content: '\e800'; }
+.fa-comment:before { content: '\e801'; }
+.fa-chat:before { content: '\e802'; }
+.fa-users:before { content: '\e803'; }
+.fa-cancel:before { content: '\e804'; }
+.fa-plus:before { content: '\e805'; }
+.fa-list:before { content: '\e80b'; }
+.fa-arrow-down:before { content: '\e80e'; }
+.fa-arrow-up:before { content: '\e811'; }
+.fa-arrows-cw:before { content: '\e813'; }
+.fa-tag:before { content: '\e815'; }
+.fa-tags:before { content: '\e816'; }
+.fa-star:before { content: '\e817'; }
+.fa-star-empty:before { content: '\e818'; }
+.fa-eye:before { content: '\e81a'; }
+.fa-ok:before { content: '\e81b'; }
+.fa-info-circled:before { content: '\e81c'; }
+.fa-home:before { content: '\e81d'; }
+.fa-attach:before { content: '\e81e'; }
+.fa-cog:before { content: '\e81f'; }
+.fa-check:before { content: '\e821'; }
+.fa-floppy:before { content: '\e822'; }
+.fa-eye-off:before { content: '\e823'; }
+.fa-folder-open:before { content: '\e824'; }
+.fa-wrench:before { content: '\e825'; }
+.fa-search:before { content: '\f002'; }
+.fa-envelope-o:before { content: '\f003'; }
+.fa-user:before { content: '\f007'; }
+.fa-trash-o:before { content: '\f014'; }
+.fa-clock-o:before { content: '\f017'; }
+.fa-book:before { content: '\f02d'; }
+.fa-bold:before { content: '\f032'; }
+.fa-italic:before { content: '\f033'; }
+.fa-picture-o:before { content: '\f03e'; }
+.fa-pencil-square-o:before { content: '\f044'; }
+.fa-arrow-left:before { content: '\f060'; }
+.fa-arrow-right:before { content: '\f061'; }
+.fa-exclamation-triangle:before { content: '\f071'; }
+.fa-key:before { content: '\f084'; }
+.fa-sign-out:before { content: '\f08b'; }
+.fa-external-link:before { content: '\f08e'; }
+.fa-sign-in:before { content: '\f090'; }
+.fa-github-square:before { content: '\f092'; }
+.fa-uncheck:before { content: '\f096'; }
+.fa-link:before { content: '\f0c1'; }
+.fa-menu:before { content: '\f0c9'; }
+.fa-list-ul:before { content: '\f0ca'; }
+.fa-list-ol:before { content: '\f0cb'; }
+.fa-dashboard:before { content: '\f0e4'; }
+.fa-comment-empty:before { content: '\f0e5'; }
+.fa-chat-empty:before { content: '\f0e6'; }
+.fa-file-text-o:before { content: '\f0f6'; }
+.fa-quote-left:before { content: '\f10d'; }
+.fa-quote-right:before { content: '\f10e'; }
+.fa-smile:before { content: '\f118'; }
+.fa-frown:before { content: '\f119'; }
+.fa-meh:before { content: '\f11a'; }
+.fa-keyboard:before { content: '\f11c'; }
+.fa-code:before { content: '\f121'; }
+.fa-attention-alt:before { content: '\f12a'; }
+.fa-sort-name-up:before { content: '\f15d'; }
+.fa-sort-name-down:before { content: '\f15e'; }
+.fa-sort-up:before { content: '\f160'; }
+.fa-sort-down:before { content: '\f161'; }
+.fa-sort-number-up:before { content: '\f162'; }
+.fa-sort-number-down:before { content: '\f163'; }
+.fa-sun:before { content: '\f185'; }
+.fa-moon:before { content: '\f186'; }
+.fa-box:before { content: '\f187'; }
+.fa-bug:before { content: '\f188'; }
+.fa-language:before { content: '\f1ab'; }
+.fa-database:before { content: '\f1c0'; }
+.fa-file-archive:before { content: '\f1c6'; }
+.fa-header:before { content: '\f1dc'; }
+.fa-newspaper-o:before { content: '\f1ea'; }
+.fa-at:before { content: '\f1fa'; }
+.fa-toggle-off:before { content: '\f204'; }
+.fa-toggle-on:before { content: '\f205'; }
+.fa-user-secret:before { content: '\f21b'; }
+.fa-server:before { content: '\f233'; }
+.fa-commenting:before { content: '\f27a'; }
+.fa-commenting-o:before { content: '\f27b'; }
+.fa-user-circle-o:before { content: '\f2be'; }
diff --git a/theme/admin/static/css/import/_fonts.scss b/theme/admin/static/css/import/_fonts.scss
new file mode 100644
index 0000000..4431bec
--- /dev/null
+++ b/theme/admin/static/css/import/_fonts.scss
@@ -0,0 +1,33 @@
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Font "Font Awesome" [4.7.0] (by Fontello): SIL Open Font License (OFL)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@font-face {
+	font-family: "Fontello";
+	font-weight: 400;
+	font-style: normal;
+	src: url("../font/fontello.woff2") format("woff2");
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Font "Kadwa": SIL Open Font License (OFL)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@font-face {
+	font-family: "Kadwa";
+	font-weight: 400;
+	src: url("../font/kadwa-n-400.woff2") format("woff2");
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Font "Ruda": SIL Open Font License (OFL)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@font-face {
+	font-family: "Ruda";
+	font-weight: 400;
+	src: url("../font/ruda-n-400.woff2") format("woff2");
+}
+
+@font-face {
+	font-family: "Ruda";
+	font-weight: 700;
+	src: url("../font/ruda-n-700.woff2") format("woff2");
+}
diff --git a/theme/admin/static/css/import/_responsive.scss b/theme/admin/static/css/import/_responsive.scss
new file mode 100644
index 0000000..9675071
--- /dev/null
+++ b/theme/admin/static/css/import/_responsive.scss
@@ -0,0 +1,92 @@
+@media only screen and (max-width: 90em /*1440px*/) {
+	.item-container.grid {
+		grid-template-columns: 1fr 1fr;
+	}
+}
+
+@media only screen and (min-width: 62.5em /*1000px*/) {
+	#main-content {
+		border: 0.05rem solid $borderColor;
+		border-top: none;
+		border-bottom: none;
+	}
+}
+
+@media only screen and (max-width: 62.5em /*1000px*/) {
+	.item-container.grid {
+		grid-template-columns: 1fr;
+	}
+}
+
+@media only screen and (max-width: 50em /*800px*/) {
+	html {
+		font-size: 1.125rem; /*18px*/
+	}
+}
+
+@media only screen and (max-width: 37.5em /*600px*/) {
+	#main-content {
+		padding: 0.5rem;
+	}
+
+	#main-navi {
+		font-size: 1rem;
+
+		ul {
+			li {
+				span {
+					display: none;
+				}
+
+				.fa {
+					margin-right: 0;
+				}
+			}
+		}
+
+		a {
+			padding: 0.5rem;
+		}
+	}
+
+	#emoticon-list-wrapper {
+		display: none;
+	}
+
+	.item-container.grid {
+		grid-column-gap: 0.75rem;
+		grid-row-gap: 0.75rem;
+		column-gap: 0.75rem;
+		row-gap: 0.75rem;
+	}
+
+	.form-grid {
+		grid-template-columns: 7rem 1fr;
+
+		&-item, &-item.first, label {
+			grid-column: unset;
+		}
+	}
+
+	.actions {
+		float: none;
+		display: flex;
+		width: 100%;
+		flex-grow: 1;
+		justify-content: center;
+		overflow: hidden;
+		box-sizing: border-box;
+
+		&-before {
+			float: none;
+		}
+
+		li {
+			flex-grow: 1;
+
+			+ li {
+				border-left: none;
+			}
+		}
+	}
+}
diff --git a/theme/admin/static/css/import/_styles.scss b/theme/admin/static/css/import/_styles.scss
new file mode 100644
index 0000000..93c0d8f
--- /dev/null
+++ b/theme/admin/static/css/import/_styles.scss
@@ -0,0 +1,795 @@
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Import variables
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@import "variables";
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Selection
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+::selection {
+	background: #BBB;
+	color: #000;
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Placeholders
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+::placeholder {
+	color: $textColorLight;
+	opacity: 0.5;
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Scrollbars
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+* {
+	// Firefox (TODO: Possibility to add padding?!)
+	scrollbar-color: $scrollbarColor $scrollbarBackground;
+
+	// Chrome, Edge & Safari
+	&::-webkit-scrollbar {
+		width: 0.75rem;
+
+		&-track {
+			background: $scrollbarBackground;
+		}
+
+		&-thumb {
+			background: $scrollbarColor;
+			background-clip: padding-box;
+			border: 0.15rem solid transparent;
+
+			&:hover {
+				background: $scrollbarHoverColor;
+				background-clip: padding-box;
+				border: 0.15rem solid transparent;
+			}
+		}
+
+		&-corner {
+			background: transparent;
+		}
+	}
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Hyperlinks
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+a {
+	color: $linkColor;
+	text-decoration: none;
+
+	&:hover {
+		text-decoration: underline;
+	}
+
+	&:focus {
+		background: $linkColorFocused;
+	}
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Headings
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+h1, h2, h3 {
+	margin-bottom: 0;
+
+	+p {
+		margin-top: 0;
+	}
+
+	.fa {
+		margin-right: 0.25rem;
+	}
+}
+
+h1 {
+	margin-top: 0;
+	font-size: $fontSizeH1;
+}
+
+h2 {
+	font-size: $fontSizeH2;
+}
+
+h3 {
+	font-size: $fontSizeH3;
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Document
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+html, body {
+	margin: 0;
+	padding: 0;
+}
+
+html {
+	font-size: 1.25rem;
+	color: $textColor;
+	background: $htmlBackground;
+	-webkit-hyphens: auto;
+	word-break: break-word;
+	hyphens: auto;
+}
+
+body {
+	font-family: $fontFamily;
+	font-size: $fontSize;
+	line-height: $lineHeight;
+	display: flex;
+	min-height: 100vh;
+	flex-direction: column;
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Main content
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-content {
+	flex: 1;
+	width: 100%;
+	background: $backgroundColor;
+	box-sizing: border-box;
+	padding: 0.75rem;
+	// border definition in _responsive.scss
+
+	&.wide {
+		max-width: $contentWidthWide;
+	}
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Width
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-content, .header-content {
+	max-width: $contentWidth;
+	margin: 0 auto;
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Header
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-header {
+	font-size: $fontSizeSmall;
+}
+
+#header {
+	&-text {
+		font-size: $fontSizeLarge;
+		text-transform: uppercase;
+	}
+
+	&-desc {
+		line-height: 1rem;
+	}
+	&-text, &-desc {
+		color: $headerBarTextColor;
+		font-weight: bold;
+	}
+
+	&-logo {
+		display: block;
+		max-height: 5rem;
+		float: left;
+		margin-right: 0.5rem;
+	}
+}
+
+.header-line {
+	padding: 0.25rem 0.75rem;
+	overflow: hidden;
+	background: $backgroundColorEmphasize;
+
+	+.header-line {
+		border: 0.05rem solid $borderColor;
+		border-left: none;
+		border-right: none;
+	}
+
+	&.background {
+		background: $headerBarBackgroundColor;
+		position: sticky;
+		top: 0;
+	}
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Footer
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-footer {
+	font-size: $fontSizeSmall;
+	background: $backgroundColorEmphasize;
+	border-top: 0.05rem solid $borderColor;
+	padding: 0.5rem 0.75rem;
+	text-align: center;
+
+	ul {
+		margin: 0;
+		padding: 0;
+		list-style: none;
+
+		li {
+			display: inline;
+
+			.fa {
+				margin-right: 0.125rem;
+			}
+		}
+
+		li:after {
+			content: " – ";
+			font-weight: bold;
+		}
+
+		li:last-child:after {
+			content: none;
+		}
+	}
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Main Navigation
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#main-navi {
+	ul {
+		list-style: none;
+		margin: 0;
+		padding: 0;
+
+		li {
+			display: inline;
+
+			.fa {
+				margin-right: 0.25rem;
+			}
+		}
+
+		li:last-child {
+			float: right;
+		}
+
+		li:first-child {
+			float: none;
+		}
+	}
+
+	a {
+		padding: 0.1rem 0.3rem;
+		background: $navigationLinkBackgroundColor;
+		border: 0.05rem solid $borderColor;
+		color: inherit;
+		text-decoration: none;
+		text-align: center;
+		display: inline-block;
+
+		&:hover, &:focus {
+			text-decoration: none;
+			background: $navigationLinkFocusedBackgroundColor;
+		}
+	}
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Site Navigation
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#site-navi {
+	clear: both;
+	display: flex;
+	box-sizing: border-box;
+	justify-content: space-between;
+	margin-top: 0.75rem;
+
+	> div {
+		display: flex;
+		align-items: center;
+		border: 0.05rem solid $borderColor;
+		background: $backgroundColorEmphasize;
+
+		> a {
+			display: block;
+		}
+	}
+
+	.disabled {
+		pointer-events: none;
+		color: $borderColor;
+	}
+
+	ol {
+		list-style: none;
+		margin: 0;
+		padding: 0;
+
+		li {
+			float: left;
+			display: inline-block;
+
+			+ li {
+				border-left: 0.05rem solid $borderColor;
+			}
+
+			&.active a {
+				background: $paginationActiveBackgroundColor;
+				font-weight: 600;
+				pointer-events: none;
+			}
+		}
+	}
+
+	a {
+		padding: 0 0.5rem;
+		text-decoration: none;
+		color: inherit;
+		display: inline-block;
+
+		&:hover, &:focus {
+			background: $navigationLinkFocusedBackgroundColor;
+		}
+	}
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Actions
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.actions {
+	margin: 0 0 0.5rem 0;
+	padding: 0;
+	list-style: none;
+	font-size: $fontSizeSmall;
+	float: right;
+	text-align: center;
+
+	.fa {
+		margin-right: 0.1rem;
+	}
+
+	li {
+		display: inline-block;
+		font-weight: bold;
+		background: $backgroundColorEmphasize;
+		border: 0.05rem solid $borderColor;
+	}
+
+	a {
+		color: inherit;
+		display: block;
+		padding: 0 0.25rem;
+		text-decoration: none;
+   }
+}
+
+.actions-before {
+	float: left;
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Elements
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+pre {
+	margin-bottom: 1rem;
+	overflow: auto;
+	-moz-tab-size: 4;
+	tab-size: 4;
+	background: $backgroundColorEmphasize;
+	padding: 0.5rem;
+	border: 0.05rem solid $borderColor;
+}
+
+code, pre {
+	font-family: $fontFamilyMonospaced;
+}
+
+code {
+	color: $codeTextColor;
+}
+
+p {
+	margin-top: 0;
+}
+
+img {
+	border: none;
+	max-width: 100%;
+}
+
+.warning {
+	color: $warningTextColor;
+}
+
+.hidden {
+	display: none;
+}
+
+.no-visual-list {
+	margin: 0;
+	padding: 0;
+	list-style: none;
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Item Element
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.item {
+	display: flex;
+	flex-direction: column;
+	border: 0.05rem solid $borderColor;
+	margin-bottom: 0.75rem;
+	clear: both;
+
+	header {
+		padding: 0.5rem 0.75rem;
+		border-bottom: 0.05rem solid $borderColor;
+		position: sticky;
+		top: 0;
+
+		h2 {
+			margin-top: 0;
+		}
+	}
+
+	footer {
+		border-top: 0.05rem solid $borderColor;
+
+		ul {
+			margin: 0;
+			padding: 0;
+			list-style: none;
+
+			li {
+				display: inline-block;
+				float: left;
+
+				&:last-child {
+					float: right;
+				}
+			}
+		}
+
+		a {
+			color: inherit;
+			display: inline-block;
+			padding: 0.25rem 2rem;
+
+			&:hover, &:active {
+				background: $itemLinkHoverBackgroundColor;
+			}
+		}
+	}
+
+	header, footer {
+		background: $backgroundColorEmphasize;
+		overflow: hidden;
+	}
+
+	blockquote {
+		margin: 0;
+		padding: 0.75rem;
+		overflow: hidden;
+		font-family: inherit;
+		flex-grow: 1;
+
+		p {
+			margin-bottom: 0;
+		}
+	}
+
+	&-id {
+		float: right;
+		color: $textColorLight;
+		font-size: $fontSize;
+		font-weight: normal;
+	}
+
+	&-meta {
+		margin: 0;
+		padding: 0;
+		list-style: none;
+
+		li {
+			display: inline-block;
+
+			+li:before {
+				content: " – ";
+			}
+
+			&.item-meta-right {
+				float: right;
+				font-size: $fontSizeSmall;
+			}
+
+			&.item-meta-right:before {
+				content: none;
+			}
+		}
+	}
+
+	&-image {
+		float: left;
+		display: block;
+		margin-right: 0.75rem;
+		width: 10rem;
+		height: 7rem;
+		object-fit: cover;
+		background: $backgroundColorEmphasize;
+		border: 0.05rem solid $borderColor;
+	}
+
+	&-container.grid {
+		width: 100%;
+		display: grid;
+		grid-template-columns: 1fr 1fr 1fr;
+		grid-column-gap: 1rem;
+		grid-row-gap: 1rem;
+		column-gap: 1rem;
+		row-gap: 1rem;
+
+		.item {
+			margin-bottom: 0;
+		}
+	}
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Argument list
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.arguments {
+	list-style: none;
+	margin: 0;
+	padding: 0.25rem 0.75rem;
+	background: $backgroundColorEmphasize;
+	font-size: $fontSizeSmall;
+	text-align: center;
+	border-top: 0.05rem solid $borderColor;
+
+	li {
+		display: inline;
+
+		> code {
+			font-family: inherit;
+			color: $textColorLight;
+		}
+
+		&:after {
+			content: " · ";
+			font-weight: bold;
+		}
+
+		&:last-child:after {
+			content: none;
+		}
+	}
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Grids
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+.form-grid {
+	clear: both;
+	display: grid;
+	grid-template-columns: repeat(2, 7.5rem minmax(0, 1fr));
+
+	border-left: 0.05rem solid $borderColor;
+	border-bottom: 0.05rem solid $borderColor;
+
+	&.two-columns {
+		grid-template-columns: 1fr 2fr;
+	}
+
+	&.no-bottom-border {
+		border-bottom: none;
+	}
+
+	> label {
+		display: flex;
+		align-items: center;
+		background: $formBackgroundColorEmphasize;
+
+		.fa {
+			margin: 0 0.5rem;
+		}
+	}
+
+	&-item,
+	> label {
+		padding: 0.5rem;
+		border-top: 0.05rem solid $borderColor;
+		border-right: 0.05rem solid $borderColor;
+	}
+
+	&-item.first {
+		grid-column: span 3;
+	}
+}
+
+.form-border-box {
+	border: 0.05rem solid $borderColor;
+
+	&.padding {
+		padding: 0.5rem;
+	}
+
+	&.background {
+		background: $formBackgroundColorEmphasize;
+	}
+
+	&.nobordertop {
+		border-top: none;
+	}
+
+	+.form-border-box {
+		border-top: none;
+	}
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Form buttons
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#emoticon-list-wrapper {
+	display: flex;
+	width: 100%;
+	justify-content: center;
+	box-sizing: border-box;
+}
+
+#button-list-wrapper {
+	border-bottom: 0.05rem solid $borderColor;
+	background: $backgroundColorEmphasize;
+	overflow: hidden;
+}
+
+.button-list {
+	margin: 0;
+	padding: 0;
+	list-style: none;
+}
+
+.button-list.emoticons > li {
+	font-size: 1.25rem;
+	display: inline-block;
+	padding: 0.2rem;
+	border-bottom: 0.2rem solid transparent;
+	border-radius: 0.1rem;
+	cursor: pointer;
+
+	&:hover, &:active {
+		border-bottom: 0.2rem solid $borderColor;
+	}
+}
+
+.button-list.markdown > li {
+	float: left;
+	padding: 0.25rem;
+	cursor: pointer;
+	width: 1.75rem;
+	box-sizing: border-box;
+	text-align: center;
+
+	&:hover, &:active {
+		color: $textColorStrong;
+	}
+}
+
+#content-editor {
+	border: none;
+	margin: 0;
+
+	&-wrapper {
+		border-top: none;
+	}
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Form elements
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+input, select, textarea {
+	width: 100%;
+	background: $backgroundColorEmphasize;
+	color: $textColorLight;
+	font-family: inherit;
+	font-size: $fontSize;
+	padding: 0.25rem;
+	border: 0.05rem solid $borderColor;
+	box-sizing: border-box;
+
+	&:focus {
+		outline: none;
+	}
+}
+
+textarea {
+	font-family: $fontFamilyTextarea;
+	box-sizing: border-box;
+	display: block;
+	resize: vertical;
+	min-height: 15rem;
+	line-height: 1.2rem;
+	padding: 0.5rem;
+	-webkit-hyphens: none;
+	hyphens: none;
+	cursor: auto;
+}
+
+input {
+	&[type="submit"] {
+		text-transform: uppercase;
+		border-radius: 0.1rem;
+	}
+}
+
+label {
+	text-transform: uppercase;
+	font-weight: normal;
+
+	&:after {
+		content: ":";
+	}
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Form buttons
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#insert-button, #update-button, #delete-button {
+	color: $formButtonTextColor;
+	border: 0.05rem solid $formButtonBorderColor;
+}
+
+#insert-button {
+	background: $insertButtonBackgroundColor;
+
+	&:active, &:focus {
+		background: darken($insertButtonBackgroundColor, 10%)
+	}
+}
+
+#update-button {
+	background: $updateButtonBackgroundColor;
+
+	&:active, &:focus {
+		background: darken($updateButtonBackgroundColor, 10%)
+	}
+}
+
+#delete-button {
+	background: $deleteButtonBackgroundColor;
+
+	&:active, &:focus {
+		background: darken($deleteButtonBackgroundColor, 10%)
+	}
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Form message list
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#message-list {
+	margin: 0;
+	padding: 0.5rem;
+	list-style: none;
+	background: $messageListBackgroundColor;
+	color: $messageListTextColor;
+	font-size: $fontSizeSmall;
+
+	&-wrapper {
+		clear: both;
+		margin-bottom: 0.5rem;
+		border: 0.1rem solid darken($messageListBackgroundColor, 10%);
+	}
+
+	code {
+		color: inherit;
+		font-weight: bold;
+	}
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Search form
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+#search-form {
+	margin-bottom: 1rem;
+}
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Import other files
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+@import "responsive";
+@import "fontello";
+@import "fonts";
diff --git a/theme/admin/static/css/import/_variables.scss b/theme/admin/static/css/import/_variables.scss
new file mode 100644
index 0000000..70a8424
--- /dev/null
+++ b/theme/admin/static/css/import/_variables.scss
@@ -0,0 +1,31 @@
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Line height
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$lineHeight: 1.2rem;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Font families
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$fontFamily: "Ruda", "sans-serif";
+$fontFamilyTextarea: "Kadwa", "sans-serif";
+$fontFamilyMonospaced: "monospace";
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Text font sizes
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$fontSize: 0.7rem;
+$fontSizeSmall: $fontSize - 0.1rem;
+$fontSizeLarge: $fontSize + 0.1rem;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Heading font sizes
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$fontSizeH1: 0.80rem;
+$fontSizeH2: 0.70rem;
+$fontSizeH3: 0.65rem;
+
+/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+# Content widths
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
+$contentWidth: 50rem;
+$contentWidthWide: 90rem;
diff --git a/theme/admin/static/font/fontello.json b/theme/admin/static/font/fontello.json
new file mode 100644
index 0000000..1af78d5
--- /dev/null
+++ b/theme/admin/static/font/fontello.json
@@ -0,0 +1,508 @@
+{
+  "name": "",
+  "css_prefix_text": "fa-",
+  "css_use_suffix": false,
+  "hinting": true,
+  "units_per_em": 1000,
+  "ascent": 850,
+  "glyphs": [
+    {
+      "uid": "7432077e6a2d6aa19984ca821bb6bbda",
+      "css": "bug",
+      "code": 61832,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "f2aa28a2548ed3d2be718d087b65ee21",
+      "css": "key",
+      "code": 61572,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "0ddd3e8201ccc7d41f7b7c9d27eca6c1",
+      "css": "link",
+      "code": 61633,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "02cca871bb69da75e8ee286b7055832c",
+      "css": "bold",
+      "code": 61490,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "7034e4d22866af82bef811f52fb1ba46",
+      "css": "code",
+      "code": 61729,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "8b80d36d4ef43889db10bc1f0dc9a862",
+      "css": "user",
+      "code": 61447,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "9755f76110ae4d12ac5f9466c9152031",
+      "css": "book",
+      "code": 61485,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "a8cb1c217f02b073db3670c061cc54d2",
+      "css": "italic",
+      "code": 61491,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "0c708edd8fae2376b3370aa56d40cf9e",
+      "css": "header",
+      "code": 61916,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "f48ae54adfb27d8ada53d0fd9e34ee10",
+      "css": "trash-o",
+      "code": 61460,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "3a00327e61b997b58518bd43ed83c3df",
+      "css": "sign-in",
+      "code": 61584,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "598a5f2bcf3521d1615de8e1881ccd17",
+      "css": "clock-o",
+      "code": 61463,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "a2a74f5e7b7d9ba054897d8c795a326a",
+      "css": "list-ul",
+      "code": 61642,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "f6766a8b042c2453a4e153af03294383",
+      "css": "list-ol",
+      "code": 61643,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "347c38a8b96a509270fdcabc951e7571",
+      "css": "database",
+      "code": 61888,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "4fc9b8c122d1b5ca3df42a104a655e8b",
+      "css": "language",
+      "code": 61867,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "0d20938846444af8deb1920dc85a29fb",
+      "css": "sign-out",
+      "code": 61579,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "0bda4bc779d4c32623dec2e43bd67ee8",
+      "css": "dashboard",
+      "code": 61668,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "381da2c2f7fd51f8de877c044d7f439d",
+      "css": "picture-o",
+      "code": 61502,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "bf882b30900da12fca090d9796bc3030",
+      "css": "envelope-o",
+      "code": 61443,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "555ef8c86832e686fef85f7af2eb7cde",
+      "css": "arrow-left",
+      "code": 61536,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "d745d7c05b94e609decabade2cae12cb",
+      "css": "quote-right",
+      "code": 61710,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "f9c8ea86275ca16128235c6452b67b8e",
+      "css": "user-secret",
+      "code": 61979,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "5408be43f7c42bccee419c6be53fdef5",
+      "css": "file-text-o",
+      "code": 61686,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "032bd8bbd70adf90ead98b6813bfe446",
+      "css": "newspaper-o",
+      "code": 61930,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "ad6b3fbb5324abe71a9c0b6609cbb9f1",
+      "css": "arrow-right",
+      "code": 61537,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "e15f0d620a7897e2035c18c80142f6d9",
+      "css": "external-link",
+      "code": 61582,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "0ece9a12de796b8411f868d582bee678",
+      "css": "github-square",
+      "code": 61586,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "41087bc74d4b20b55059c60a33bf4008",
+      "css": "pencil-square-o",
+      "code": 61508,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "c76b7947c957c9b78b11741173c8349b",
+      "css": "exclamation-triangle",
+      "code": 61553,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "9dd9e835aebe1060ba7190ad2b2ed951",
+      "css": "search",
+      "code": 61442,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "474656633f79ea2f1dad59ff63f6bf07",
+      "css": "star",
+      "code": 59415,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "d17030afaecc1e1c22349b99f3c4992a",
+      "css": "star-empty",
+      "code": 59416,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "31972e4e9d080eaa796290349ae6c1fd",
+      "css": "users",
+      "code": 59395,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "12f4ece88e46abd864e40b35e05b11cd",
+      "css": "ok",
+      "code": 59419,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "0d6ab6194c0eddda2b8c9cedf2ab248e",
+      "css": "attach",
+      "code": 59422,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "c5fd349cbd3d23e4ade333789c29c729",
+      "css": "eye",
+      "code": 59418,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "7fd683b2c518ceb9e5fa6757f2276faa",
+      "css": "eye-off",
+      "code": 59427,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "3db5347bd219f3bce6025780f5d9ef45",
+      "css": "tag",
+      "code": 59413,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "a3f89e106175a5c5c4e9738870b12e55",
+      "css": "tags",
+      "code": 59414,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "ab95e1351ebaec5850101097cbf7097f",
+      "css": "quote-left",
+      "code": 61709,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "d35a1d35efeb784d1dc9ac18b9b6c2b6",
+      "css": "pencil",
+      "code": 59392,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "ecb97add13804c190456025e43ec003b",
+      "css": "keyboard",
+      "code": 61724,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "85528017f1e6053b2253785c31047f44",
+      "css": "comment",
+      "code": 59393,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "dcedf50ab1ede3283d7a6c70e2fe32f3",
+      "css": "chat",
+      "code": 59394,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "31951fbb9820ed0690f675b3d495c8da",
+      "css": "chat-empty",
+      "code": 61670,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "9c1376672bb4f1ed616fdd78a23667e9",
+      "css": "comment-empty",
+      "code": 61669,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "00391fac5d419345ffcccd95b6f76263",
+      "css": "attention-alt",
+      "code": 61738,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "c95735c17a10af81448c7fed98a04546",
+      "css": "folder-open",
+      "code": 59428,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "559647a6f430b3aeadbecd67194451dd",
+      "css": "menu",
+      "code": 61641,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "e99461abfef3923546da8d745372c995",
+      "css": "cog",
+      "code": 59423,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "5bb103cd29de77e0e06a52638527b575",
+      "css": "wrench",
+      "code": 59429,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "1c4068ed75209e21af36017df8871802",
+      "css": "arrow-down",
+      "code": 59406,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "95376bf082bfec6ce06ea1cda7bd7ead",
+      "css": "arrow-up",
+      "code": 59409,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "a73c5deb486c8d66249811642e5d719a",
+      "css": "arrows-cw",
+      "code": 59411,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "aa035df0908c4665c269b7b09a5596f3",
+      "css": "sun",
+      "code": 61829,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "567e3e257f2cc8fba2c12bf691c9f2d8",
+      "css": "moon",
+      "code": 61830,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "2a4e6c99b732a57da40e32fa2a7800a4",
+      "css": "toggle-off",
+      "code": 61956,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "3256ef03b16e7ab51235bc7378b53bb5",
+      "css": "toggle-on",
+      "code": 61957,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "dd6c6b221a1088ff8a9b9cd32d0b3dd5",
+      "css": "check",
+      "code": 59425,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "4b900d04e8ab8c82f080c1cfbac5772c",
+      "css": "uncheck",
+      "code": 61590,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "f4445feb55521283572ee88bc304f928",
+      "css": "floppy",
+      "code": 59426,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "0cd2582b8c93719d066ee0affd02ac78",
+      "css": "sort-up",
+      "code": 61792,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "27b13eff5eb0ca15e01a6e65ffe6eeec",
+      "css": "sort-down",
+      "code": 61793,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "3ed68ae14e9cde775121954242a412b2",
+      "css": "sort-name-up",
+      "code": 61789,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "6586267200a42008a9fc0a1bf7ac06c7",
+      "css": "sort-name-down",
+      "code": 61790,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "3a7b6876c1817ce3b801b86c04a9d0af",
+      "css": "sort-number-up",
+      "code": 61794,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "b04fc30546f597a7e0a14715e6fc81ff",
+      "css": "sort-number-down",
+      "code": 61795,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "d59ff824282fc6edaeca991deab522aa",
+      "css": "server",
+      "code": 62003,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "33194d4a025fbf12baca54579afe4c8e",
+      "css": "at",
+      "code": 61946,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "53c28626072159c49f33b71d67138ad9",
+      "css": "commenting",
+      "code": 62074,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "9cc990bbcac7aa8504078b3f49df79b1",
+      "css": "commenting-o",
+      "code": 62075,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "3fce1eca43f917c8f23e532749abae5d",
+      "css": "user-circle-o",
+      "code": 62142,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "5211af474d3a9848f67f945e2ccaf143",
+      "css": "cancel",
+      "code": 59396,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "44e04715aecbca7f266a17d5a7863c68",
+      "css": "plus",
+      "code": 59397,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "e82cedfa1d5f15b00c5a81c9bd731ea2",
+      "css": "info-circled",
+      "code": 59420,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "d7271d490b71df4311e32cdacae8b331",
+      "css": "home",
+      "code": 59421,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "04ff8d6592fe548b332b27ed87ce397a",
+      "css": "box",
+      "code": 61831,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "e80ae555c1413a4ec18b33fb348b4049",
+      "css": "file-archive",
+      "code": 61894,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "d862a10e1448589215be19702f98f2c1",
+      "css": "smile",
+      "code": 61720,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "06ddc67d609c477cd5524a7238d7850d",
+      "css": "frown",
+      "code": 61721,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "2c5055a9c9723725f49f0593a08535af",
+      "css": "meh",
+      "code": 61722,
+      "src": "fontawesome"
+    },
+    {
+      "uid": "48b87105bd38c20315f1b705b8c7b38c",
+      "css": "list",
+      "code": 59403,
+      "src": "fontawesome"
+    }
+  ]
+}
diff --git a/theme/admin/static/font/fontello.woff2 b/theme/admin/static/font/fontello.woff2
new file mode 100644
index 0000000..c62227f
Binary files /dev/null and b/theme/admin/static/font/fontello.woff2 differ
diff --git a/theme/admin/static/font/kadwa-n-400.woff2 b/theme/admin/static/font/kadwa-n-400.woff2
new file mode 100644
index 0000000..1566426
Binary files /dev/null and b/theme/admin/static/font/kadwa-n-400.woff2 differ
diff --git a/theme/admin/static/font/ruda-n-400.woff2 b/theme/admin/static/font/ruda-n-400.woff2
new file mode 100644
index 0000000..6435a0d
Binary files /dev/null and b/theme/admin/static/font/ruda-n-400.woff2 differ
diff --git a/theme/admin/static/font/ruda-n-700.woff2 b/theme/admin/static/font/ruda-n-700.woff2
new file mode 100644
index 0000000..0066431
Binary files /dev/null and b/theme/admin/static/font/ruda-n-700.woff2 differ
diff --git a/theme/admin/static/icon-public-domain.svg b/theme/admin/static/icon-public-domain.svg
new file mode 100644
index 0000000..88f7227
--- /dev/null
+++ b/theme/admin/static/icon-public-domain.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 53.869999 53.509998" version="1" width="53.87" height="53.51"><rect rx="2" width="50.745" y="1.563" x="1.563" height="50.385" fill="#b3b3b3" fill-rule="evenodd" stroke="#333" stroke-width="3.125" stroke-linejoin="round"/><g transform="translate(-3.116 -3.554)" fill-rule="evenodd" stroke="#333" stroke-linecap="round" stroke-linejoin="round"><path d="M25.96 22.992c-2.403 1.28-3.964 3.706-4.993 6.316h18.198c-.944-2.547-2.39-4.947-4.593-6.316-2.478-.108-5.595 0-8.612 0z" fill="#7f7f7f" stroke-width="1.87471319"/><circle transform="matrix(.6206 0 0 .6206 17.702 3.554)" cx="19.524" cy="22.301" r="12.326" fill="#bfbfbf" stroke-width="3.021"/></g><path d="M12.76 27.584c-.84 0-1.513.674-1.513 1.512v18.116h31.72V29.096c0-.838-.674-1.512-1.51-1.512H12.758z" fill="#999" fill-rule="evenodd" stroke="#333" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M18.55 29.705l-9.617-13.27 5.385-2.694" fill="none" stroke="#333" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/><circle cx="13.934" cy="13.741" r="2.308" fill="#7f7f7f" fill-rule="evenodd" stroke="#333" stroke-width="1.25"/><rect rx="2.267" height="4.616" width="36.929" y="24.705" x="8.548" fill="#4c4c4c" fill-rule="evenodd" stroke="#333" stroke-width="2.5" stroke-linejoin="round"/><path d="M18.29 45.03c2.917-1.836 6.143-2.33 7.4-2.043.14-1.242 2.07-3.303 5.54-5.486-4.107 1.048-4.96 1.32-6.74 3.745-3.04.3-3.913 1.192-6.2 3.785zM25.543 36.904c2.02-1.27 4.253-1.612 5.122-1.415.098-.86 1.434-2.287 3.835-3.797-2.842.724-3.433.912-4.664 2.59-2.105.208-2.71.826-4.293 2.62z" fill="#4c4c4c" fill-rule="evenodd" stroke="#333" stroke-width=".625" stroke-linecap="round" stroke-linejoin="round"/></svg>
diff --git a/theme/admin/static/img/noise-bright.png b/theme/admin/static/img/noise-bright.png
new file mode 100644
index 0000000..a9356b3
Binary files /dev/null and b/theme/admin/static/img/noise-bright.png differ
diff --git a/theme/admin/static/img/noise-dark.png b/theme/admin/static/img/noise-dark.png
new file mode 100644
index 0000000..f0ddc0d
Binary files /dev/null and b/theme/admin/static/img/noise-dark.png differ
diff --git a/theme/admin/static/main.js b/theme/admin/static/main.js
new file mode 100644
index 0000000..94fc591
--- /dev/null
+++ b/theme/admin/static/main.js
@@ -0,0 +1,191 @@
+//==============================================================================
+// Elements which contains the location of the previous and next site
+//==============================================================================
+const prev = document.getElementById("prev-site");
+const next = document.getElementById("next-site");
+
+//==============================================================================
+// Handle arrow keys and change the location to the desired direction
+//==============================================================================
+document.addEventListener("keyup", function(e) {
+	if(!e.ctrlKey && !e.shiftKey && !e.altKey) {
+		(e.keyCode === 37 && prev) && (window.location.href = prev.getAttribute("href"));
+		(e.keyCode === 39 && next) && (window.location.href = next.getAttribute("href"));
+	}
+}, false);
+
+//==============================================================================
+// Markdown tags to replace
+//==============================================================================
+const markdownTags = {
+	"bold":    ["**", "**"],
+	"italic":  ["*", "*"],
+	"heading": ["## ", "\n"],
+	"link":    ["[", "](href)"],
+	"image":   ["![", "](href)"],
+	"code":    ["\n~~~\n", "\n~~~\n"],
+	"quote":   ["\n> ", ""],
+	"list_ul": ["* ", ""],
+	"list_ol": ["1. ", ""]
+};
+
+//==============================================================================
+// Timeout function for delayed execution of code
+//==============================================================================
+function delayed(callback) {
+	window.setTimeout(callback, 20);
+}
+
+//==============================================================================
+// Set caret position in editor
+//==============================================================================
+function setCaretPosition(position) {
+	document.getElementById("content-editor").setSelectionRange(position, position);
+	document.getElementById("content-editor").focus();
+}
+
+//==============================================================================
+// Insert emoticon after cursor in editor
+//==============================================================================
+function insertEmoticon(target, emoticon) {
+	const selectionStart = target.selectionStart;
+	const selectionEnd = target.selectionEnd;
+
+	const content = target.value;
+	target.value = content.slice(0, selectionStart) + emoticon + content.slice(selectionEnd);
+
+	delayed(function() {
+		setCaretPosition(selectionStart + emoticon.length);
+	});
+}
+
+//==============================================================================
+// Insert markdown around text in editor
+//==============================================================================
+function insertMarkdown(target, markdown) {
+	const selectionStart = target.selectionStart;
+	const selectionEnd = target.selectionEnd;
+
+	const selectedText = target.value.substring(selectionStart, selectionEnd);
+
+	const content = target.value;
+	target.value = content.slice(0, selectionStart) + markdownTags[markdown][0] + selectedText + markdownTags[markdown][1] + content.slice(selectionEnd);
+
+	delayed(function() {
+		setCaretPosition(selectionStart + markdownTags[markdown][0].length + selectedText.length + markdownTags[markdown][1].length);
+	});
+}
+
+//==============================================================================
+// Keep server-side session active if the user is writing a long text
+//==============================================================================
+setInterval(function() {
+	const Request = new XMLHttpRequest();
+	Request.open("HEAD", "", true);
+	Request.send();
+}, 300000);
+
+//==============================================================================
+// Confirmation message for delete button
+//==============================================================================
+if(document.getElementById("delete-button")) {
+	document.getElementById("delete-button").onclick = function(e) {
+		return confirm(e.target.getAttribute("data-text"));
+	};
+}
+
+//==============================================================================
+// Insert or remove tab indent in editor if [<shift>+]<tab> is pressed
+//==============================================================================
+(function() {
+	if(document.getElementById("content-editor")) {
+		const element = document.getElementById("content-editor");
+		element.addEventListener("keydown", function(e) {
+			if(e.keyCode === 9 && !e.ctrlKey) {
+				const selectionStart = element.selectionStart;
+				const selectionEnd = element.selectionEnd;
+
+				const content = element.value;
+
+				if(e.shiftKey) {
+					if(content.substring(selectionStart, selectionStart -1) === "\t") {
+						element.value = content.substring(0, selectionStart - 1) + content.substring(selectionEnd);
+						setCaretPosition(selectionStart - 1);
+					}
+				}
+
+				else {
+					element.value = content.substring(0, selectionStart) + "\t" + content.substring(selectionEnd);
+					setCaretPosition(selectionStart + 1);
+				}
+
+				e.preventDefault();
+			}
+		}, false);
+	}
+})();
+
+//==============================================================================
+// Emoticon button list
+//==============================================================================
+(function() {
+	if(document.getElementById("emoticon-list")) {
+		const list = document.getElementById("emoticon-list");
+		const node = document.getElementById("content-editor");
+		const items = list.getElementsByTagName("li");
+
+		for(let i = 0; i < items.length; ++i) {
+			items[i].onmousedown = function(e) {
+				insertEmoticon(node, e.target.getAttribute("data-emoticon"));
+			};
+		}
+	}
+})();
+
+//==============================================================================
+// Markdown button list
+//==============================================================================
+(function() {
+	if(document.getElementById("markdown-list")) {
+		const list = document.getElementById("markdown-list");
+		const node = document.getElementById("content-editor");
+		const items = list.getElementsByTagName("li");
+
+		for(let i = 0; i < items.length; ++i) {
+			items[i].onmousedown = function(e) {
+				insertMarkdown(node, e.target.getAttribute("data-markdown"));
+			};
+		}
+	}
+})();
+
+//==============================================================================
+// Detect unsaved changes in content editor
+//==============================================================================
+(function() {
+	if(document.getElementById("content-editor")) {
+		const editor = document.getElementById("content-editor");
+		const initialValue = editor.value;
+
+		function showConfirmationPrompt(e) {
+			if(editor.value !== initialValue) {
+				e.returnValue = '';
+				e.preventDefault();
+			}
+		}
+
+		window.addEventListener('beforeunload', showConfirmationPrompt);
+
+		const buttons = [];
+		buttons.push(document.getElementById('insert-button'));
+		buttons.push(document.getElementById('update-button'));
+
+		for(let i = 0; i < buttons.length; ++i) {
+			if(buttons[i] !== null) {
+				buttons[i].addEventListener('click', function() {
+					window.removeEventListener('beforeunload', showConfirmationPrompt);
+				});
+			}
+		}
+	}
+})();
-- 
cgit v1.2.3