Fix gitignore, add missing files

master
Jonatan Nilsson 2022-08-05 15:35:29 +00:00
parent 95e3737e91
commit 71f157d393
9 changed files with 2903 additions and 6 deletions

8
.gitignore vendored
View File

@ -60,9 +60,5 @@ typings/
# Local development config file
config.json
package-lock.json
**/app.js
**/app.css
**/app.css.map
**/admin.js
**/admin.css
**/admin.css.map
**/public/**/app.js
**/public/**/admin.js

View File

@ -0,0 +1,12 @@
const EditPage = require('./editpage')
const AllPages = require('./site_pages')
const AllArticles = require('./site_articles')
const EditArticle = require('./editarticle')
const AllStaff = require('./stafflist')
const EditStaff = require('./editstaff')
window.adminRoutes = {
pages: [AllPages, EditPage],
articles: [AllArticles, EditArticle],
staff: [AllStaff, EditStaff],
}

View File

@ -0,0 +1,66 @@
/*
===================== Variables =====================
*/
:root {
--admin-table-border: #01579b;
--admin-table-header-bg: #3D77C7;
--admin-table-header-fg: #fff;
}
/*
===================== main =====================
*/
.admin .inside {
padding-bottom: 1rem;
}
.admin table {
margin: 1rem;
}
.admin table {
border: solid 1px var(--admin-table-border);
border-collapse: collapse;
border-spacing: 0;
font-size: 0.75em;
}
.admin table thead th,
.admin table tbody td {
text-align: left;
padding: 0.5rem;
}
.admin table thead th {
background-color: var(--admin-table-header-bg);
border: solid 1px var(--admin-table-border);
color: var(--admin-table-header-fg);
}
.admin table tbody td {
border: solid 1px var(--admin-table-border);
color: var(--alt-color);
}
.admin table button {
color: var(--link);
background: transparent;
border-color: transparent;
padding: 0;
}
.admin table td.right,
.admin table th.right {
text-align: right;
}
.admin .actions {
margin: 0.5rem 1rem 0;
display: flex;
justify-content: flex-end;
font-size: 0.875rem;
}
.admin .actions a {
margin-left: 0.5rem;
}

View File

@ -0,0 +1,596 @@
/*
===================== Variables =====================
*/
:root {
--content-max-width: 1280px;
--primary-darker-bg: #002f6c;
--primary-darker-fg: #fff;
--primary-darker-fg-light: #999;
--primary-darker-link: #ffad42;
--primary-bg: #3d77c7;
--primary-fg: #fff;
--primary-fg-light: #999;
--primary-link: #f57c00;
--bg: #fff;
--color: #000;
--light: #757575;
--link: #bb4d00;
--title-bg: #f57c00;
--title-fg: #000;
--title-sublink: #27159C;
--seperator: #ccc;
--content-bg: #fff;
--content-border: 0px solid transparent;
--alt-bg: #ccc;
--alt-inside-bg: #fff;
--alt-inside-border: 1px solid #555;
--alt-color: #555;
--footer-bg: #ccc;
--footer-color: #000;
--footer-seperator: #fff;
--footer-link: #8F3C00;
--button-border: 1px solid #f57c00;
--button-bg: #ffad42;
--button-fg: #000;
--error-bg: red;
--error-fg: white;
}
/*
===================== Reset =====================
*/
/* Box sizing rules */
*, *::before, *::after { box-sizing: border-box;
}
/* Remove default margin */
body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
margin: 0;
}
@font-face {
font-family: 'Inter var';
font-weight: 100 900;
font-display: swap;
font-style: oblique 0deg 10deg;
src: url("Inter.var.woff2?v=3.19") format("woff2");
}
body {
min-height: 100vh;
text-rendering: optimizeSpeed;
line-height: 1.5;
font-size: 16px;
font-family: 'Inter var', sans-serif;
font-feature-settings: "slnt" 0deg, "case", "frac", "tnum", "ss02", "calt", "ccmp", "kern";
}
.italic { font-variation-settings: "slnt" 10deg; }
a {
text-decoration-skip-ink: auto;
}
img {
max-width: 100%;
display: block;
}
input, button, textarea, select {
font: inherit;
}
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after {
animation-play-state: paused !important;
transition: none !important;
scroll-behavior: auto !important;
}
}
h1 {
font-size: 2.488rem;
}
h2 {
font-size: 2.074rem;
}
h3 {
font-size: 1.728rem;
}
h4 {
font-size: 1.44rem;
}
h5 {
font-size: 1.0rem;
}
a, a:visited, button {
text-decoration: none;
border: none;
padding: 0;
margin: 0;
font-weight: bold;
cursor: pointer;
}
input[type=text],
input[type=password] {
border: 1px solid var(--color);
background: var(--bg);
color: var(--color);
border-radius: 0;
padding: 0.25rem;
}
label {
font-size: 0.75rem;
font-weight: 500;
margin-top: 1rem;
margin-bottom: 0.25rem;
}
input[type=text]:hover,
input[type=text]:active,
input[type=password]:hover,
input[type=password]:active {
border-color: var(--link);
}
button {
background: transparent;
}
/*
===================== Common =====================
*/
.inside {
width: 100%;
max-width: var(--content-max-width);
display: flex;
margin: 0 auto;
}
.inside.vertical {
flex-direction: column;
}
.container {
margin: 1rem;
}
.error {
background: var(--error-bg);
color: var(--error-fg);
cursor: pointer;
text-align: center;
padding: 0.5rem;
}
.wrapper {
background: var(--footer-bg);
color: var(--footer-color);
display: flex;
justify-content: center;
align-items: center;
min-height: calc(100vh - 200px);
padding: 1rem;
}
.wrapper .inside {
flex-direction: column;
color: var(--alt-color);
background: var(--alt-inside-bg);
border: var(--alt-inside-border);
}
.wrapper .error {
border: 1px solid var(--error-bg);
color: var(--error-bg);
background: transparent;
}
@keyframes spinner-loader {
to {transform: rotate(360deg);}
}
.loading-spinner:after {
content: '';
box-sizing: border-box;
position: absolute;
top: 50%;
left: 50%;
width: 20px;
height: 20px;
margin-top: -10px;
margin-left: -10px;
border-radius: 50%;
border: 2px solid #ccc;
border-top-color: #333;
animation: spinner-loader .6s linear infinite;
z-index: 1000;
}
/*
===================== Header =====================
*/
header {
background: var(--primary-darker-bg);
color: var(--primary-darker-fg);
}
header a,
header a:visited,
header button {
color: var(--primary-darker-link);
}
header p {
color: var(--primary-darker-fg-light);
}
header .logo,
header .logo:visited {
height: 100px;
padding-left: 120px;
display: flex;
align-items: center;
background: 25px center no-repeat;
background-size: auto 91px;
flex: 0 0 auto;
}
header .logo h1 {
font-weight: 500;
color: var(--primary-darker-fg);
}
header aside {
flex: 2 1 auto;
display: flex;
flex-direction: column;
align-items: flex-end;
font-size: 0.8rem;
padding: 0.5rem 0.5rem;
}
header aside .actions a {
margin-left: 1rem;
display: inline-block;
}
.avifsupport header .logo {
background-image:url("/assets/img/logo.avif")
}
.jpegonly header .logo {
background-image:url("/assets/img/logo_small.jpg")
}
/*
===================== Nav =====================
*/
nav {
background: var(--primary-bg);
}
nav a, nav a:visited, nav .loading-spinner {
flex: 2 0 auto;
text-align: center;
font-weight: 300;
padding: 10px 10px 7px 10px;
border-bottom: 3px solid var(--primary-bg);
color: var(--primary-fg);
}
nav a.active {
border-bottom-color: var(--primary-link);
}
nav .loading-spinner {
position: relative;
}
/*
===================== main =====================
*/
.page-banner {
background-size: cover;
background-repeat: no-repeat;
background-position: center;
height: 150px;
width: 100%;
display: block;
}
.page-banner-title {
color: white;
text-align: right;
padding: 0.5rem 1rem;
font-size: 1.6rem;
flex: 2 1 auto;
text-shadow: 0 0 .3em #000;
}
.page-goback {
padding: 0.5rem 1rem;
}
main a,
main a:visited {
color: var(--link);
}
main h5 {
padding: 0 0.5rem 0.5rem;
margin: 0 0 0.75rem;
border-bottom: 1px solid var(--seperator);
font-size: 1rem;
}
main .loading-spinner {
position: fixed;
left: 50%;
top: 50%;
}
main h2 {
font-size: 1.4rem;
background: var(--title-bg);
color: var(--title-fg);
text-align: center;
font-weight: 400;
padding: 0.375rem;
line-height: 1.4rem;
}
main .container {
flex: 2 1 auto;
}
main .cover picture img {
margin-bottom: 1rem;
width: 100%;
}
main button,
input[type=submit] {
border: var(--button-border);
background: #ffad42;
color: #000;
align-self: center;
padding: 0.25rem 1rem;
}
/* ************** aside ************** */
main aside {
padding: 0 0.5rem;
margin: 1rem;
font-size: 0.875rem;
flex: 0 1 250px;
}
main aside a {
display: block;
}
main aside h5 {
margin: 0 -0.5rem 0.75rem;
}
main aside ul {
margin: 0 0 0.5rem;
padding-left: 1.5rem;
}
/* ************** paginator ************** */
paginator {
display: flex;
justify-content: center;
width: 100%;
}
paginator a {
color: var(--link);
cursor: pointer;
}
paginator a,
paginator div {
display: block;
font-size: 0.8rem;
max-width: 80px;
flex-grow: 2;
text-align: center;
padding: 0.5rem;
margin-top: 1rem;
}
/* ************** articleslim ************** */
articleslim {
display: flex;
margin-bottom: 0.75rem;
padding-right: 0.5rem;
}
articleslim p.description {
font-size: 0.75rem;
}
articleslim .cover {
flex: 0 0 124px;
margin-right: 0.75rem;
}
articleslim .cover picture img {
margin-bottom: 0;
}
articleslim a.nobg {
height: 70px;
background: var(--seperator);
display: block;
}
articleslim a.title {
display: block;
margin-bottom: 0.375rem;
}
/* ************** article ************** */
article .row {
margin: 1rem 0;
display: flex;
}
article .cover {
flex: 0 0 auto;
margin-right: 1rem;
align-self: flex-start;
}
article a.title {
flex: 0 0 100%;
margin-bottom: 0.5rem;
}
article .description {
font-size: 0.875rem;
margin-bottom: 1rem;
}
article .meta {
font-size: 0.625rem;
line-height: 0.75rem;
color: var(--light);
font-weight: 500;
margin-top: 1.25rem;
}
article.fullsize .row {
margin: 1rem;
flex-direction: column;
}
article.fullsize .cover {
margin-right: 0;
}
/* ************** fileinfo ************** */
fileinfo {
padding-left: 0.25rem;
margin-bottom: 0.5rem;
color: var(--light);
line-height: 1rem;
font-size: 0.75rem;
display: block;
}
fileinfo.slim {
padding: 0;
margin: 0;
}
fileinfo p span,
fileinfo p a {
margin-right: 0.25rem;
}
fileinfo p a {
font-weight: 550;
padding-right: 0.25rem;
border-right: 1px solid var(--seperator);
display: inline-block;
}
fileinfo p span {
font-weight: 700;
}
fileinfo ul {
margin: 0.5rem 0;
padding-left: 1.5rem;
}
/*
===================== login =====================
*/
.login {
align-items: center;
font-size: 1rem;
padding: 1rem 1rem 2rem;
margin: 1rem;
max-width: 400px;
}
.login .title {
font-size: 1.4rem;
font-weight: 200;
margin-bottom: 2rem;
text-align: center;
}
.login input,
.login label {
width: 100%;
max-width: 300px;
}
.login input[type=submit] {
min-width: 150px;
margin-top: 1rem;
}
/*
===================== footer =====================
*/
footer {
background: var(--footer-bg);
color: var(--footer-color);
text-align: center;
padding: 1rem;
display: flex;
flex-direction: column;
align-items: center;
font-weight: 500;
font-size: 0.625rem;
}
footer ul {
margin: 0 0 0.25rem;
padding: 0 0 0.25rem;
border-bottom: 1px solid var(--footer-seperator);
display: flex;
justify-content: center;
flex-wrap: wrap;
min-width: 300px;
}
footer ul li {
padding: 0 0.25rem;
list-style-position: inside;
}
footer a {
color: var(--footer-link);
margin: 0 0 0.25rem;
}

12
nfp_moe_old/app/admin.js Normal file
View File

@ -0,0 +1,12 @@
const EditPage = require('./admin/editpage')
const AdminPages = require('./admin/pages')
const AdminArticles = require('./admin/articles')
const EditArticle = require('./admin/editarticle')
const AdminStaffList = require('./admin/stafflist')
const EditStaff = require('./admin/editstaff')
window.adminRoutes = {
pages: [AdminPages, EditPage],
articles: [AdminArticles, EditArticle],
staff: [AdminStaffList, EditStaff],
}

View File

@ -0,0 +1,588 @@
/* Dark theme */
.error {
font-size: 0.8em;
color: #bb4d00;
font-weight: bold;
padding-bottom: 20px;
}
.admin-wrapper table {
width: calc(100% - 20px);
margin: 10px;
border: solid 1px #01579b;
border-collapse: collapse;
border-spacing: 0;
font-size: 0.8em;
position: relative;
}
.admin-wrapper table thead th {
background-color: #3D77C7;
border: solid 1px #01579b;
color: white;
padding: 10px;
text-align: left;
}
.admin-wrapper table tbody td {
text-align: left;
border: solid 1px #01579b;
color: #333;
padding: 10px;
}
.admin-wrapper table a,
.admin-wrapper table a:visited,
.admin-wrapper table a:hover {
text-decoration: none;
color: #bb4d00;
font-weight: bold;
}
.admin-wrapper table button {
color: #bb4d00;
background: transparent;
border: 1px solid #bb4d00;
}
.admin-wrapper table td.right,
.admin-wrapper table th.right {
text-align: right;
}
.floating-container {
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: rgba(0, 0, 0, 0.6);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.input-row {
display: flex;
}
.input-row > * {
margin-right: 1rem;
flex: 2 1 auto;
}
.input-row > .small {
flex: 0 0 auto;
}
.input-row > *:last-child {
margin-right: 0;
}
.admin-wrapper .loading-spinner {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.4);
z-index: 1000;
}
.admin-wrapper {
flex-grow: 2;
display: flex;
flex-direction: column;
background: #01579b;
padding: 0 20px 50px;
}
.admin-actions {
background: #01579b;
display: flex;
justify-content: center;
min-height: 37px;
}
.admin-actions span {
color: white;
padding: 10px;
font-size: 14px;
font-weight: bold;
}
.admin-actions a {
padding: 10px;
text-decoration: none;
color: #ffad42;
font-size: 14px;
font-weight: bold;
}
.fr-box,
.fr-toolbar,
.fr-box .second-toolbar {
border-radius: 0 !important;
}
article.editpage {
text-align: center;
background: white;
padding: 0 0 20px;
}
article.editpage header {
padding: 10px;
background: #f57c00;
}
article.editpage header h1 {
color: black;
}
article.editpage header a {
font-size: 14px;
text-decoration: none;
margin-left: 10px;
color: black;
}
article.editpage fileupload {
margin: 0 0 20px;
}
article.editpage fileupload .inside {
height: 150px;
}
article.editpage fileupload.cover {
align-self: center;
min-width: 178px;
}
article.editpage fileupload.cover .display {
background-size: auto 100%;
}
article.editpage form {
padding: 0 40px 20px;
}
article.editpage form textarea {
height: 300px;
}
article.editpage form .loading-spinner {
height: 300px;
position: relative;
}
article.editpage h5 {
margin-bottom: 20px;
}
article.editpage > .loading-spinner {
width: 240px;
height: 50px;
position: relative;
}
table span.subpage {
padding: 0 5px;
}
article.editarticle {
background: white;
padding: 0 0 20px;
}
article.editarticle header {
text-align: center;
padding: 10px;
background: #f57c00;
}
article.editarticle header h1 {
color: black;
}
article.editarticle header a {
font-size: 14px;
text-decoration: none;
margin-left: 10px;
color: black;
}
article.editarticle fileupload {
margin: 0 0 20px;
}
article.editarticle fileupload .inside {
height: 150px;
}
article.editarticle fileupload.cover {
align-self: center;
min-width: 178px;
}
article.editarticle form {
padding: 0 2rem 1rem;
}
article.editarticle form textarea {
height: 300px;
}
article.editarticle form label.slim {
font-size: 0.7em;
}
article.editarticle form input.slim {
font-size: 0.8em;
padding: 2px 5px;
}
article.editarticle form .loading-spinner {
height: 300px;
position: relative;
}
article.editarticle form button.submit {
margin-left: 20px;
}
article.editarticle table tr.rowhidden td {
background: #e6e6e6;
}
article.editarticle table tr.rowfeatured td {
background: hsl(120deg, 60%, 85%);
}
article.editarticle h5 {
margin-bottom: 20px;
}
article.editarticle > .loading-spinner {
width: 240px;
height: 50px;
position: relative;
}
article.editarticle > .loading-spinner.full {
width: 100%;
}
article.editarticle .fileupload {
align-self: flex-start;
padding: 0.5rem;
margin: 0.5rem 0 0.5rem 2rem;
min-width: 150px;
border: none;
border: 1px solid #f57c00;
background: #ffad42;
color: black;
position: relative;
text-align: center;
}
article.editarticle .fileupload input {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
opacity: 0.01;
width: 100%;
cursor: pointer;
text-indent: -9999px;
z-index: 2;
}
article.editarticle files {
align-items: stretch;
width: 100%;
display: flex;
flex-direction: column;
padding: 1rem 2rem 0;
text-align: left;
}
article.editarticle files h4 {
font-size: 1.1em;
font-weight: bold;
padding: 0 5px 5px;
margin-bottom: 10px;
border-bottom: 1px solid #ccc;
}
table span.subarticle {
padding: 0 5px;
}
article.editstaff {
text-align: center;
background: white;
padding: 0 0 20px;
}
article.editstaff header {
padding: 10px;
background: #f57c00;
}
article.editstaff header h1 {
color: black;
}
article.editstaff header a {
font-size: 14px;
text-decoration: none;
margin-left: 10px;
color: black;
}
article.editstaff form {
padding: 0 40px 20px;
}
article.editstaff form textarea {
height: 300px;
}
article.editstaff form .loading-spinner {
height: 300px;
position: relative;
}
article.editstaff h5 {
margin-bottom: 20px;
}
article.editstaff > .loading-spinner {
width: 240px;
height: 50px;
position: relative;
}
article.editstaff > .loading-spinner.full {
width: 100%;
}
.date-selector-wrapper {
width: 200px;
padding: 3px;
background-color: #fff;
box-shadow: 1px 1px 10px 1px #5c5c5c;
position: absolute;
font-size: 12px;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-o-user-select: none;
z-index: 10;
/* user-select: none; */
}
.cal-header, .cal-row {
display: flex;
width: 100%;
height: 30px;
line-height: 30px;
text-align: center;
}
.cal-cell, .cal-nav {
cursor: pointer;
}
.cal-day-names {
height: 25px;
line-height: 25px;
}
.cal-day-names .cal-cell {
cursor: default;
font-weight: bold;
}
.cal-cell-prev, .cal-cell-next {
color: #777;
}
.cal-months .cal-row, .cal-years .cal-row {
height: 60px;
line-height: 60px;
}
.cal-nav-prev, .cal-nav-next {
flex: 0.15;
}
.cal-nav-current {
flex: 0.75;
font-weight: bold;
}
.cal-months .cal-cell, .cal-years .cal-cell {
flex: 0.25;
}
.cal-days .cal-cell {
flex: 0.143;
}
.cal-value {
color: #fff;
background-color: #286090;
}
.cal-cell:hover, .cal-nav:hover {
background-color: #eee;
}
.cal-value:hover {
background-color: #204d74;
}
/* time footer */
.cal-time {
display: flex;
justify-content: flex-start;
height: 27px;
line-height: 27px;
}
.cal-time-label, .cal-time-value {
flex: 0.12;
text-align: center;
}
.cal-time-slider {
flex: 0.77;
background-image: linear-gradient(to right, #d1d8dd, #d1d8dd);
background-repeat: no-repeat;
background-size: 100% 1px;
background-position: left 50%;
height: 100%;
}
.cal-time-slider input {
width: 100%;
-webkit-appearance: none;
background: 0 0;
cursor: pointer;
height: 100%;
outline: 0;
user-select: auto;
}
.ce-block__content,
.ce-toolbar__content {
max-width: calc(100% - 120px) !important;
}
.cdx-block {
max-width: 100% !important;
}
.codex-editor {
border: 1px solid var(--input-border);
background: var(--input-bg);
color: var(--input-fg);
}
.codex-editor:hover,
.codex-editor:active {
border-color: var(--secondary-bg);
}
fileupload {
position: relative;
display: flex;
align-items: stretch;
flex-direction: column;
justify-content: stretch;
}
fileupload .showicon,
fileupload .showbordericon,
fileupload .display {
flex-grow: 2;
}
fileupload .showbordericon {
border: 3px solid #555;
border-style: dashed;
background-image: url("./img/upload.svg");
background-position: center;
background-repeat: no-repeat;
background-size: 50px;
}
fileupload .showicon {
position: absolute;
top: 5px;
right: 5px;
width: 50px;
height: 50px;
background-image: url("./img/upload.svg");
background-position: center;
background-repeat: no-repeat;
background-size: contain;
}
fileupload img {
max-width: 600px;
width: 100%;
align-self: center;
min-height: 100px;
}
fileupload .display {
background-size: cover;
background-repeat: no-repeat;
background-position: center;
}
fileupload .loading-spinner {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(51, 51, 51, 0.5333333333);
width: 100%;
}
fileupload input {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
opacity: 0.01;
width: 100%;
cursor: pointer;
text-indent: -9999px;
z-index: 2;
}
fileupload .remove {
border: none;
position: absolute;
top: 5px;
right: 60px;
width: 50px;
height: 50px;
background-image: url("./img/delete.svg");
background-position: center;
background-repeat: no-repeat;
background-color: transparent;
background-size: contain;
z-index: 3;
outline: none;
cursor: pointer;
}
dialogue {
background: white;
display: flex;
flex-direction: column;
text-align: center;
width: calc(100% - 40px);
max-width: 500px;
color: black;
}
dialogue h2 {
background: #bb4d00;
color: white;
font-size: 1.5em;
padding: 10px;
}
dialogue p {
padding: 10px;
}
dialogue .buttons {
display: flex;
justify-content: space-around;
padding: 10px;
}
dialogue button {
border: 1px solid #bb4d00;
background: transparent;
color: #bb4d00;
padding: 5px 15px;
min-width: 150px;
}
dialogue button.alert {
border-color: red;
color: red;
}
dialogue button.cancel {
border-color: #999;
color: #999;
}
.codex-editor {
margin-bottom: 0.5rem;
}
input[type=checkbox] {
display: block;
height: 20px;
margin: 0.5rem 0;
width: 20px;
}
.darkmodeon .maincontainer .admin-wrapper {
color: black;
}
.darkmodeon .error {
color: #e05e00;
}
/*# sourceMappingURL=admin.css.map */

View File

@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["../../app/_common.scss","../../app/admin.scss","../../app/admin/admin.scss","../../app/admin/pages.scss","../../app/admin/articles.scss","../../app/admin/staff.scss","../../app/widgets/admin.scss"],"names":[],"mappings":"AAiCA;AC/BA;EACE;EACA,ODSkB;ECRlB;EACA;;;AAOF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE,kBDnBe;ECoBf;EACA,ODpBe;ECqBf;EACA;;AAEF;EACE;EACA;EACA,ODhBO;ECiBP;;AAEF;AAAA;AAAA;EAGE;EACA,OD1BgB;EC2BhB;;AAGF;EACE,OD/BgB;ECgChB;EACA;;AAGF;AAAA;EAEE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKF;EACE;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AC7FF;EACE;EACA;EACA;EACA,YFJW;EEKX;;;AAGF;EACE,YFTW;EEUX;EACA;EACA;;AAEA;EACE,OFdS;EEeT;EACA;EACA;;AAGF;EACE;EACA;EACA,OFdiB;EEejB;EACA;;;AAIJ;AAAA;AAAA;EAGE;;;ACjCF;EACE;EACA;EACA;;AAEA;EACE;EACA,YHCW;;AGCX;EACE,OHDS;;AGIX;EACE;EACA;EACA;EACA,OHNe;;AGUnB;EACE;;AAEA;EACE;;AAIJ;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;;AAEA;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;;;AAIJ;EACE;;;AC/DF;EACE;EACA;;AAEA;EACE;EACA;EACA,YJCW;;AICX;EACE,OJDS;;AIIX;EACE;EACA;EACA;EACA,OJNe;;AIUnB;EACE;;AAEA;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;;AAEA;EACE;;AAGF;EACE;;AAEF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;AAKF;EACE;;AAGF;EACE;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA,YJhFiB;EIiFjB,OJhFiB;EIiFjB;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;;AAKN;EACE;;;AChIF;EACE;EACA;EACA;;AAEA;EACE;EACA,YLCW;;AKCX;EACE,OLDS;;AKIX;EACE;EACA;EACA;EACA,OLNe;;AKUnB;EACE;;AAEA;EACE;;AAGF;EACE;EACA;;AAIJ;EACE;;AAGF;EACE;EACA;EACA;;AAEA;EACE;;;AHHN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;;;AAGF;AACA;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EACuB;;;AACvB;EAAa;;;AAEb;EACE;EACA;EACA;;;AAGF;AAAA;EAEE;;;AIlJF;EACE;EACA;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EAGE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA,ONvEQ;;AMyER;EACE,YNtFgB;EMuFhB,ONtFgB;EMuFhB;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA,ONzGgB;EM0GhB;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;;AL9BJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;;;AAIA;EACE,ODxFM;;AC2FR;EACE,ODtEqB","file":"admin.css"}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long