From 7598e2c8fc11163d83ade49f17c31610182e940a Mon Sep 17 00:00:00 2001 From: Darryl Nixon Date: Thu, 25 May 2023 18:33:08 -0700 Subject: [PATCH] Layout work. Learning how to Alembic. --- .DS_Store | Bin 0 -> 6148 bytes .dockerignore | 15 +++ .env => .env.sample | 18 ++-- .gitignore | 2 +- Dockerfile | 37 +++++-- README.md | 3 +- alembic.ini | 108 +++++++++++++++++++ doc/ghostforge.png | Bin 35033 -> 44113 bytes docker-compose.yml | 19 +++- ghostforge/api.py | 35 ------ ghostforge/auth/__init__.py | 11 -- ghostforge/auth/bearer.py | 35 ------ ghostforge/auth/handler.py | 28 ----- ghostforge/cli.py | 9 -- ghostforge/db.py | 20 ++++ ghostforge/models.py | 31 ++---- ghostforge/serve.py | 11 ++ ghostforge/static/css/ghostforge.css | 53 +++++++++ ghostforge/static/css/spectre-exp.min.css | 1 + ghostforge/static/css/spectre-icons.min.css | 1 + ghostforge/static/css/spectre.min.css | 1 + ghostforge/static/img/default-avatar.png | Bin 0 -> 14046 bytes ghostforge/static/img/favicon.ico | Bin 0 -> 244582 bytes ghostforge/static/img/ghostforge-sidebar.png | Bin 0 -> 9813 bytes ghostforge/static/img/github-inverted.png | Bin 0 -> 885 bytes ghostforge/static/js/ghostforge.js | 104 ++++++++++++++++++ ghostforge/templates.py | 45 ++++++++ ghostforge/templates/base.html | 29 +++++ ghostforge/templates/modals/search.html | 40 +++++++ ghostforge/templates/navigation/side.html | 40 +++++++ ghostforge/templates/navigation/top.html | 55 ++++++++++ ghostforge/templates/user.html | 62 +++++++++++ ghostforge/users.py | 15 +++ migrations/README | 1 + migrations/env.py | 101 +++++++++++++++++ migrations/script.py.mako | 25 +++++ pyproject.toml | 24 +++-- 37 files changed, 806 insertions(+), 173 deletions(-) create mode 100644 .DS_Store create mode 100644 .dockerignore rename .env => .env.sample (66%) create mode 100644 alembic.ini delete mode 100644 ghostforge/api.py delete mode 100644 ghostforge/auth/__init__.py delete mode 100644 ghostforge/auth/bearer.py delete mode 100644 ghostforge/auth/handler.py create mode 100644 ghostforge/db.py create mode 100644 ghostforge/serve.py create mode 100644 ghostforge/static/css/ghostforge.css create mode 100644 ghostforge/static/css/spectre-exp.min.css create mode 100644 ghostforge/static/css/spectre-icons.min.css create mode 100644 ghostforge/static/css/spectre.min.css create mode 100644 ghostforge/static/img/default-avatar.png create mode 100644 ghostforge/static/img/favicon.ico create mode 100644 ghostforge/static/img/ghostforge-sidebar.png create mode 100644 ghostforge/static/img/github-inverted.png create mode 100644 ghostforge/static/js/ghostforge.js create mode 100644 ghostforge/templates.py create mode 100644 ghostforge/templates/base.html create mode 100644 ghostforge/templates/modals/search.html create mode 100644 ghostforge/templates/navigation/side.html create mode 100644 ghostforge/templates/navigation/top.html create mode 100644 ghostforge/templates/user.html create mode 100644 ghostforge/users.py create mode 100644 migrations/README create mode 100644 migrations/env.py create mode 100644 migrations/script.py.mako diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..f440df47a6f21acfa4c078d87edeb8c095bf5fb8 GIT binary patch literal 6148 zcmeHKO-jQ+6rQowrW7Fy1#vatwqh);UAPIcUciVhRBB?124ki)sacdl4xktEAfCtf zW+q@UYZ3b%%zW>6Ci6k&hcU*zd34N}%^0(wA#zk|1l_fv4U>$>ag1ylCNc!;Bb=Jp zUkCj528)BM%m3&ek8x!?RXEyN8B?c_k_!ps!p4z`%WEPX%>cpbmMi!BQiR Tf__yFNEZP`2zA83FEH>01RzPt literal 0 HcmV?d00001 diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..3aaeec7 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,15 @@ +.gitignore +.git/ +.env +.env.sample +.flake8 +.pre-commit-config.yaml +.dockerignore +Dockerfile +build/ +**/__pycache__/ +**/*.md +**/*.pyc +**/*.pyo +**/*.mo +*.egg-info/ diff --git a/.env b/.env.sample similarity index 66% rename from .env rename to .env.sample index 71869a6..668b251 100644 --- a/.env +++ b/.env.sample @@ -1,11 +1,13 @@ -# DATABASE_* variables are used both to initially configure the +# POSTGRES_* variables are used both to initially configure the # ghostforge postgresql database and to later access the data from # ghostforge execution. -DATABASE_CONTAINER_NAME=ghostforge-db -DATABASE_USER=ghost -DATABASE_NAME=ghostforge -DATABASE_PORT=5432 -DATABASE_PASSWORD= +# +# POSTGRES_PASSWORD is used for database authentication and should +# be secure or randomized (optionally using the method in README.md). +POSTGRES_CONTAINER=ghostforge-db +POSTGRES_USER=ghost +POSTGRES_DB=ghostforge +POSTGRES_PASSWORD= # GHOSTFORGE_*_WEB_PORT variables are used to determine what # port the web interface is served on within the container (INTERNAL) @@ -25,6 +27,6 @@ GHOSTFORGE_ENV=prod # GHOSTFORGE_DATA_DIR is created within the ghostforge container. GHOSTFORGE_DATA_DIR=/data -# JWT_SECRET is used for authentication purposes and should be -# randomized using the method in README.md. +# JWT_SECRET is used for authentication purposes and can easily be +# securely randomized using the method in README.md. GHOSTFORGE_JWT_SECRET= diff --git a/.gitignore b/.gitignore index 8f54560..68bc17f 100644 --- a/.gitignore +++ b/.gitignore @@ -120,7 +120,7 @@ celerybeat.pid *.sage.py # Environments -# .env +.env .venv env/ venv/ diff --git a/Dockerfile b/Dockerfile index c58ca7f..612231e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,18 +1,37 @@ FROM python:3.11-alpine -ENV DATABASE_PASSWORD "" -RUN if [ -z "${DATABASE_PASSWORD}" ]; then echo "ghostforge build error: Set DATABASE_PASSWORD in .env."; exit 1; fi -RUN if [ -z "${GHOSTFORGE_JWT_SECRET}" ]; then echo "ghostforge build error: Set GHOSTFORGE_JWT_SECRET in .env."; exit 1; fi +# Enforcement to ensure passwords environment variables are not left blank. +# This won't stop bad passwords from being used, but at least won't cause +# errors or, worse, weaker crypt. +ARG POSTGRES_PASSWORD +ENV ENV_POSTGRES_PASSWORD=${POSTGRES_PASSWORD} +ARG GHOSTFORGE_JWT_SECRET +ENV ENV_GHOSTFORGE_JWT_SECRET=${GHOSTFORGE_JWT_SECRET} +RUN [ ! -z "${ENV_POSTGRES_PASSWORD}" ] || { echo "ghostforge build error: Set POSTGRES_PASSWORD in .env."; exit 1; } +RUN [ ! -z "${ENV_GHOSTFORGE_JWT_SECRET}" ] || { echo "ghostforge build error: Set GHOSTFORGE_JWT_SECRET in .env."; exit 1; } +# Create the data directory specified using the environment variables. +# This is redundant for mapped volumes, but necessary if the data +# directory is specified but not mapped. +ARG GHOSTFORGE_DATA_DIR +ENV ENV_GHOSTFORGE_DATA_DIR=${GHOSTFORGE_DATA_DIR} +RUN mkdir -p "${ENV_GHOSTFORGE_DATA_DIR}" + +# Copy project into Docker image, skipping entries in .dockerignore. WORKDIR /ghostforge COPY . . -RUN rm .env -RUN mkdir -p "${GHOSTFORGE_DATA_DIR}" +# Install ghostforge from the work directory. RUN pip install . -ENV GHOSTFORGE_INTERNAL_WEB_PORT=8080 -ENV PYTHONPATH=/ghostforge/ghostforge +# Expose the web "serve" port specific in the environment variables. +ARG GHOSTFORGE_INTERNAL_WEB_PORT +ENV ENV_GHOSTFORGE_INTERNAL_WEB_PORT=${GHOSTFORGE_INTERNAL_WEB_PORT} +EXPOSE ${ENV_GHOSTFORGE_INTERNAL_WEB_PORT} -EXPOSE ${GHOSTFORGE_INTERNAL_WEB_PORT} -CMD [ "ghostforge_serve" ] +# TODO: Is this line necessary? +# ENV PYTHONPATH=/ghostforge/ghostforge + +# TODO: Replace with ghostforge_serve when it works. +# This currently just keeps the container running for development. +CMD [ "python3", "-m", "http.server" ] diff --git a/README.md b/README.md index 96b44b6..bf20b4a 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,8 @@ You'll need `docker-compose` installed or you can convert the contents of `docke ```bash git clone https://github.com/darrylnixon/ghostforge.git && \ cd ghostforge && \ -PW=$(/usr/bin/env python3 -c "import secrets; print(secrets.token_urlsafe(32))") /bin/bash -c 'sed -i "" "s/^DATABASE_PASSWORD=.*/DATABASE_PASSWORD=$PW/" .env' && \ +cp .env.sample .env && \ +PW=$(/usr/bin/env python3 -c "import secrets; print(secrets.token_urlsafe(32))") /bin/bash -c 'sed -i "" "s/^POSTGRES_PASSWORD=.*/POSTGRES_PASSWORD=$PW/" .env' && \ JWT=$(/usr/bin/env python3 -c "import secrets; print(secrets.token_urlsafe(32))") /bin/bash -c 'sed -i "" "s/^GHOSTFORGE_JWT_SECRET=.*/GHOSTFORGE_JWT_SECRET=$JWT/" .env'; docker-compose up --detach --build; docker exec --interactive --tty ghostforge ghostforge_adduser; diff --git a/alembic.ini b/alembic.ini new file mode 100644 index 0000000..9c73623 --- /dev/null +++ b/alembic.ini @@ -0,0 +1,108 @@ +# A generic, single database configuration. + +[alembic] +# path to migration scripts +script_location = migrations + +# template used to generate migration file names; The default value is %%(rev)s_%%(slug)s +# Uncomment the line below if you want the files to be prepended with date and time +# file_template = %%(year)d_%%(month).2d_%%(day).2d_%%(hour).2d%%(minute).2d-%%(rev)s_%%(slug)s + +# sys.path path, will be prepended to sys.path if present. +# defaults to the current working directory. +prepend_sys_path = . + +# timezone to use when rendering the date within the migration file +# as well as the filename. +# If specified, requires the python-dateutil library that can be +# installed by adding `alembic[tz]` to the pip requirements +# string value is passed to dateutil.tz.gettz() +# leave blank for localtime +# timezone = + +# max length of characters to apply to the +# "slug" field +# truncate_slug_length = 40 + +# set to 'true' to run the environment during +# the 'revision' command, regardless of autogenerate +# revision_environment = false + +# set to 'true' to allow .pyc and .pyo files without +# a source .py file to be detected as revisions in the +# versions/ directory +# sourceless = false + +# version location specification; This defaults +# to migrations/versions. When using multiple version +# directories, initial revisions must be specified with --version-path. +# The path separator used here should be the separator specified by "version_path_separator" below. +# version_locations = %(here)s/bar:%(here)s/bat:migrations/versions + +# version path separator; As mentioned above, this is the character used to split +# version_locations. The default within new alembic.ini files is "os", which uses os.pathsep. +# If this key is omitted entirely, it falls back to the legacy behavior of splitting on spaces and/or commas. +# Valid values for version_path_separator are: +# +# version_path_separator = : +# version_path_separator = ; +# version_path_separator = space +version_path_separator = os # Use os.pathsep. Default configuration used for new projects. + +# set to 'true' to search source files recursively +# in each "version_locations" directory +# new in Alembic version 1.10 +# recursive_version_locations = false + +# the output encoding used when revision files +# are written from script.py.mako +# output_encoding = utf-8 + +# sqlalchemy.url = driver://user:pass@localhost/dbname +sqlalchemy.url = postgresql+asyncpg://%(POSTGRES_USER)s:%(POSTGRES_PASSWORD)s@%(POSTGRES_CONTAINER)s:5432/%(POSTGRES_DB)s + +[post_write_hooks] +# post_write_hooks defines scripts or Python functions that are run +# on newly generated revision scripts. See the documentation for further +# detail and examples + +# format using "black" - use the console_scripts runner, against the "black" entrypoint +# hooks = black +# black.type = console_scripts +# black.entrypoint = black +# black.options = -l 79 REVISION_SCRIPT_FILENAME + +# Logging configuration +[loggers] +keys = root,sqlalchemy,alembic + +[handlers] +keys = console + +[formatters] +keys = generic + +[logger_root] +level = WARN +handlers = console +qualname = + +[logger_sqlalchemy] +level = WARN +handlers = +qualname = sqlalchemy.engine + +[logger_alembic] +level = INFO +handlers = +qualname = alembic + +[handler_console] +class = StreamHandler +args = (sys.stderr,) +level = NOTSET +formatter = generic + +[formatter_generic] +format = %(levelname)-5.5s [%(name)s] %(message)s +datefmt = %H:%M:%S diff --git a/doc/ghostforge.png b/doc/ghostforge.png index 7b43ee9a90e39ee386df8757cc723c9da3581004..0c7b367dc615209cf3cde1cd1bf1a47439999c7a 100644 GIT binary patch literal 44113 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 l%^Unbu>NnZ`~Uh=|0jS;^K^U0wC*`$^TP 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%0DYLM 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 diff --git a/docker-compose.yml b/docker-compose.yml index 3ab6d64..5836bbc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,16 +6,29 @@ services: restart: unless-stopped volumes: - ghostforge-db-data:/var/lib/postgresql/data + ports: [ "5432:5432" ] + env_file: [ .env ] ghostforge: build: context: . dockerfile: Dockerfile - args: [GHOSTFORGE_ENV=prod] - ports: ["${GHOSTFORGE_HOST_WEB_PORT}:${GHOSTFORGE_WEB_PORT}"] + args: + - GHOSTFORGE_ENV=${GHOSTFORGE_ENV} + - GHOSTFORGE_DATA_DIR=${GHOSTFORGE_DATA_DIR} + - GHOSTFORGE_JWT_SECRET=${GHOSTFORGE_JWT_SECRET} + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + - GHOSTFORGE_INTERNAL_WEB_PORT=${GHOSTFORGE_INTERNAL_WEB_PORT} + ports: + [ + "${GHOSTFORGE_HOST_WEB_PORT}:${GHOSTFORGE_INTERNAL_WEB_PORT}" + ] image: ghostforge:latest container_name: ghostforge restart: unless-stopped - depends_on: [ghostforge-db] + depends_on: [ ghostforge-db ] + env_file: [ .env ] + volumes: + - ./migrations/versions:/ghostforge/migrations/versions volumes: ghostforge-db-data: name: ghostforge-db-data diff --git a/ghostforge/api.py b/ghostforge/api.py deleted file mode 100644 index 44a7e9f..0000000 --- a/ghostforge/api.py +++ /dev/null @@ -1,35 +0,0 @@ -from fastapi import Body -from fastapi import Depends -from fastapi import FastAPI - -from ghostforge.auth import check_user -from ghostforge.auth.bearer import JWTBearer -from ghostforge.auth.handler import signJWT -from ghostforge.models import UserLoginSchema - -# define("port", default=os.environ.get("GHOSTFORGE_INTERNAL_WEB_PORT", 1337), help="Webserver port", type=int) -# define("db_host", default=os.environ.get("DATABASE_CONTAINER_NAME", "localhost"), help="Host/IP of db") -# define("db_port", default=os.environ.get("DATABASE_PORT", 5432), help="Port of db", type=int) -# define("db_database", default=os.environ.get("DATABASE_NAME", "ghostforge"), help="Name of db") -# define("db_user", default=os.environ.get("DATABASE_USER", "ghostforge"), help="User with access to db") -# define("db_password", default=os.environ.get("DATABASE_PASSWORD", "secure"), help="Password for db user") -# define("secret_key", default=os.environ.get("DATABASE_PASSWORD", "secure"), help="Password for db user") - -app = FastAPI() - - -@app.get("/", tags=["root"]) -async def read_root() -> dict: - return {"message": "Welcome!"} - - -@app.post("/login", tags=["user"]) -async def user_login(user: UserLoginSchema = Body(...)): - if check_user(user): - return signJWT(user.name) - return {"error": "Wrong login details!"} - - -@app.post("/auth_check", dependencies=[Depends(JWTBearer())], tags=["auth_check"]) -async def auth_check(post) -> dict: - return {"data": "post added."} diff --git a/ghostforge/auth/__init__.py b/ghostforge/auth/__init__.py deleted file mode 100644 index 744d500..0000000 --- a/ghostforge/auth/__init__.py +++ /dev/null @@ -1,11 +0,0 @@ -from ghostforge.models import UserLoginSchema - -users = [{"name": "test", "password": "pw"}] - - -def check_user(data: UserLoginSchema): - print(data) - for user in users: - if user["name"] == data.name and user["password"] == data.password: - return True - return False diff --git a/ghostforge/auth/bearer.py b/ghostforge/auth/bearer.py deleted file mode 100644 index 8861ee8..0000000 --- a/ghostforge/auth/bearer.py +++ /dev/null @@ -1,35 +0,0 @@ -from fastapi import HTTPException -from fastapi import Request -from fastapi.security import HTTPAuthorizationCredentials -from fastapi.security import HTTPBearer - -from ghostforge.auth.handler import decodeJWT - -# from https://github.com/testdrivenio/fastapi-jwt/ - - -class JWTBearer(HTTPBearer): - def __init__(self, auto_error: bool = True): - super(JWTBearer, self).__init__(auto_error=auto_error) - - async def __call__(self, request: Request): - credentials: HTTPAuthorizationCredentials = await super(JWTBearer, self).__call__(request) - if credentials: - if not credentials.scheme == "Bearer": - raise HTTPException(status_code=403, detail="Invalid authentication scheme.") - if not self.verify_jwt(credentials.credentials): - raise HTTPException(status_code=403, detail="Invalid token or expired token.") - return credentials.credentials - else: - raise HTTPException(status_code=403, detail="Invalid authorization code.") - - def verify_jwt(self, jwtoken: str) -> bool: - isTokenValid: bool = False - - try: - payload = decodeJWT(jwtoken) - except Exception: - payload = None - if payload: - isTokenValid = True - return isTokenValid diff --git a/ghostforge/auth/handler.py b/ghostforge/auth/handler.py deleted file mode 100644 index 131cdd7..0000000 --- a/ghostforge/auth/handler.py +++ /dev/null @@ -1,28 +0,0 @@ -import os -import time -from typing import Dict - -import jwt - -# Based on handler from https://github.com/testdrivenio/fastapi-jwt/ - -JWT_SECRET = os.environ.get("GHOSTFORGE_JWT_SECRET") - - -def token_response(token: str): - return {"access_token": token} - - -def signJWT(user: str) -> Dict[str, str]: - payload = {"user_id": user, "expires": time.time() + 600} - token = jwt.encode(payload, JWT_SECRET, algorithm="HS256") - - return token_response(token) - - -def decodeJWT(token: str) -> dict: - try: - decoded_token = jwt.decode(token, JWT_SECRET, algorithms=["HS256"]) - return decoded_token if decoded_token["expires"] >= time.time() else None - except Exception: - return {} diff --git a/ghostforge/cli.py b/ghostforge/cli.py index 749b6ca..e69de29 100644 --- a/ghostforge/cli.py +++ b/ghostforge/cli.py @@ -1,9 +0,0 @@ -import os - -import uvicorn - - -def start_api() -> None: - uvicorn.run( - "ghostforge.api:app", host="0.0.0.0", port=os.environ.get("GHOSTFORGE_INTERNAL_WEB_PORT", 1337), reload=True - ) diff --git a/ghostforge/db.py b/ghostforge/db.py new file mode 100644 index 0000000..8956d98 --- /dev/null +++ b/ghostforge/db.py @@ -0,0 +1,20 @@ +import os + +from sqlalchemy.ext.asyncio import AsyncSession +from sqlalchemy.ext.asyncio import create_async_engine +from sqlalchemy.orm import sessionmaker + +database_url = ( + f'postgresql+asyncpg://{os.environ.get("POSTGRES_USER")}:' + + f'{os.environ.get("POSTGRES_PASSWORD")}@' + + os.environ.get("POSTGRES_CONTAINER") + + f':5432/{os.environ.get("POSTGRES_DB")}' +) + +engine = create_async_engine(database_url, echo=True, future=True) + + +async def get_session() -> AsyncSession: + async_session = sessionmaker(engine, class_=AsyncSession, expire_on_commit=False) + async with async_session() as session: + yield session diff --git a/ghostforge/models.py b/ghostforge/models.py index 9508d4b..7d53115 100644 --- a/ghostforge/models.py +++ b/ghostforge/models.py @@ -1,27 +1,8 @@ -import datetime - -from pydantic import BaseModel -from pydantic import Field +from sqlmodel import Field +from sqlmodel import SQLModel -class UserSchema(BaseModel): - name: str = Field(...) - password: str = Field(...) - created: datetime.datetime = datetime.datetime - - class Config: - schema_extra = { - "example": { - "name": "Jeremy Tootsieroll", - "password": "notarealpassword", - "created": "2021-03-05T08:21:00.000Z", - } - } - - -class UserLoginSchema(BaseModel): - name: str = Field(...) - password: str = Field(...) - - class Config: - schema_extra = {"example": {"name": "Jeremy Tootsieroll", "password": "notarealpassword"}} +class User(SQLModel, table=True): + id: int = Field(default=None, primary_key=True) + name: str = Field(unique=True) + password: str diff --git a/ghostforge/serve.py b/ghostforge/serve.py new file mode 100644 index 0000000..069db2c --- /dev/null +++ b/ghostforge/serve.py @@ -0,0 +1,11 @@ +from fastapi import FastAPI +from fastapi.staticfiles import StaticFiles + +from users import gf as gf_users + +# from ghostforge.models import User + +gf = FastAPI() +gf.mount("/static", StaticFiles(directory="static"), name="static") + +gf.include_router(gf_users) diff --git a/ghostforge/static/css/ghostforge.css b/ghostforge/static/css/ghostforge.css new file mode 100644 index 0000000..96d2925 --- /dev/null +++ b/ghostforge/static/css/ghostforge.css @@ -0,0 +1,53 @@ +.nav-menus { + margin-top: 6px; + padding: 0 .75rem; +} + +.nav-menus .nav-item { + font-size: 0.7rem; +} + +.nav-menus .nav-item.header { + text-transform: uppercase; + font-weight: 600; +} + +.menu-nav { + padding-left: 1.3rem; +} + +.version-string { + background: #303742; + border-radius: .1rem; + color: #fff; + font-size: .7rem; + line-height: 1.25; + padding: .1rem .2rem; + text-align: center; +} + +img.brand { + margin: 6px; + max-width: 100%; + height: auto; +} + +img.version-size { + height: .7rem; + vertical-align: middle; +} + +summary.left-nav { + display: block; +} + +summary.left-nav::before { + margin-left: 1ch; + display: inline-block; + transition: 0.2s; + content: '\203A'; +} + +details[open] summary.left-nav::before { + transform: rotate(90deg); +} diff --git a/ghostforge/static/css/spectre-exp.min.css b/ghostforge/static/css/spectre-exp.min.css new file mode 100644 index 0000000..7e331dd --- /dev/null +++ b/ghostforge/static/css/spectre-exp.min.css @@ -0,0 +1 @@ +/*! Spectre.css Experimentals v0.5.9 | MIT License | github.com/picturepan2/spectre */.form-autocomplete{position:relative}.form-autocomplete .form-autocomplete-input{align-content:flex-start;display:-ms-flexbox;display:flex;-ms-flex-line-pack:start;-ms-flex-wrap:wrap;flex-wrap:wrap;height:auto;min-height:1.6rem;padding:.1rem}.form-autocomplete .form-autocomplete-input.is-focused{border-color:#5755d9;box-shadow:0 0 0 .1rem rgba(87,85,217,.2)}.form-autocomplete .form-autocomplete-input .form-input{border-color:transparent;box-shadow:none;display:inline-block;-ms-flex:1 0 auto;flex:1 0 auto;height:1.2rem;line-height:.8rem;margin:.1rem;width:auto}.form-autocomplete .menu{left:0;position:absolute;top:100%;width:100%}.form-autocomplete.autocomplete-oneline .form-autocomplete-input{-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow-x:auto}.form-autocomplete.autocomplete-oneline .chip{-ms-flex:1 0 auto;flex:1 0 auto}.calendar{border:.05rem solid #dadee4;border-radius:.1rem;display:block;min-width:280px}.calendar .calendar-nav{align-items:center;background:#f7f8f9;border-top-left-radius:.1rem;border-top-right-radius:.1rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;font-size:.9rem;padding:.4rem}.calendar .calendar-body,.calendar .calendar-header{display:-ms-flexbox;display:flex;-ms-flex-pack:center;-ms-flex-wrap:wrap;flex-wrap:wrap;justify-content:center;padding:.4rem 0}.calendar .calendar-body .calendar-date,.calendar .calendar-header .calendar-date{-ms-flex:0 0 14.28%;flex:0 0 14.28%;max-width:14.28%}.calendar .calendar-header{background:#f7f8f9;border-bottom:.05rem solid #dadee4;color:#bcc3ce;font-size:.7rem;text-align:center}.calendar .calendar-body{color:#66758c}.calendar .calendar-date{border:0;padding:.2rem}.calendar .calendar-date .date-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:.05rem solid transparent;border-radius:50%;color:#66758c;cursor:pointer;font-size:.7rem;height:1.4rem;line-height:1rem;outline:0;padding:.1rem;position:relative;text-align:center;text-decoration:none;transition:background .2s,border .2s,box-shadow .2s,color .2s;vertical-align:middle;white-space:nowrap;width:1.4rem}.calendar .calendar-date .date-item.date-today{border-color:#e5e5f9;color:#5755d9}.calendar .calendar-date .date-item:focus{box-shadow:0 0 0 .1rem rgba(87,85,217,.2)}.calendar .calendar-date .date-item:focus,.calendar .calendar-date .date-item:hover{background:#fefeff;border-color:#e5e5f9;color:#5755d9;text-decoration:none}.calendar .calendar-date .date-item.active,.calendar .calendar-date .date-item:active{background:#4b48d6;border-color:#3634d2;color:#fff}.calendar .calendar-date .date-item.badge::after{position:absolute;right:3px;top:3px;transform:translate(50%,-50%)}.calendar .calendar-date .calendar-event.disabled,.calendar .calendar-date .calendar-event:disabled,.calendar .calendar-date .date-item.disabled,.calendar .calendar-date .date-item:disabled{cursor:default;opacity:.25;pointer-events:none}.calendar .calendar-date.next-month .calendar-event,.calendar .calendar-date.next-month .date-item,.calendar .calendar-date.prev-month .calendar-event,.calendar .calendar-date.prev-month .date-item{opacity:.25}.calendar .calendar-range{position:relative}.calendar .calendar-range::before{background:#f1f1fc;content:"";height:1.4rem;left:0;position:absolute;right:0;top:50%;transform:translateY(-50%)}.calendar .calendar-range.range-start::before{left:50%}.calendar .calendar-range.range-end::before{right:50%}.calendar .calendar-range.range-end .date-item,.calendar .calendar-range.range-start .date-item{background:#4b48d6;border-color:#3634d2;color:#fff}.calendar .calendar-range .date-item{color:#5755d9}.calendar.calendar-lg .calendar-body{padding:0}.calendar.calendar-lg .calendar-body .calendar-date{border-bottom:.05rem solid #dadee4;border-right:.05rem solid #dadee4;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:5.5rem;padding:0}.calendar.calendar-lg .calendar-body .calendar-date:nth-child(7n){border-right:0}.calendar.calendar-lg .calendar-body .calendar-date:nth-last-child(-n+7){border-bottom:0}.calendar.calendar-lg .date-item{align-self:flex-end;-ms-flex-item-align:end;height:1.4rem;margin-right:.2rem;margin-top:.2rem}.calendar.calendar-lg .calendar-range::before{top:19px}.calendar.calendar-lg .calendar-range.range-start::before{left:auto;width:19px}.calendar.calendar-lg .calendar-range.range-end::before{right:19px}.calendar.calendar-lg .calendar-events{flex-grow:1;-ms-flex-positive:1;line-height:1;overflow-y:auto;padding:.2rem}.calendar.calendar-lg .calendar-event{border-radius:.1rem;display:block;font-size:.7rem;margin:.1rem auto;overflow:hidden;padding:3px 4px;text-overflow:ellipsis;white-space:nowrap}.carousel .carousel-locator:nth-of-type(1):checked~.carousel-container .carousel-item:nth-of-type(1),.carousel .carousel-locator:nth-of-type(2):checked~.carousel-container .carousel-item:nth-of-type(2),.carousel .carousel-locator:nth-of-type(3):checked~.carousel-container .carousel-item:nth-of-type(3),.carousel .carousel-locator:nth-of-type(4):checked~.carousel-container .carousel-item:nth-of-type(4),.carousel .carousel-locator:nth-of-type(5):checked~.carousel-container .carousel-item:nth-of-type(5),.carousel .carousel-locator:nth-of-type(6):checked~.carousel-container .carousel-item:nth-of-type(6),.carousel .carousel-locator:nth-of-type(7):checked~.carousel-container .carousel-item:nth-of-type(7),.carousel .carousel-locator:nth-of-type(8):checked~.carousel-container .carousel-item:nth-of-type(8){animation:carousel-slidein .75s ease-in-out 1;opacity:1;z-index:100}.carousel .carousel-locator:nth-of-type(1):checked~.carousel-nav .nav-item:nth-of-type(1),.carousel .carousel-locator:nth-of-type(2):checked~.carousel-nav .nav-item:nth-of-type(2),.carousel .carousel-locator:nth-of-type(3):checked~.carousel-nav .nav-item:nth-of-type(3),.carousel .carousel-locator:nth-of-type(4):checked~.carousel-nav .nav-item:nth-of-type(4),.carousel .carousel-locator:nth-of-type(5):checked~.carousel-nav .nav-item:nth-of-type(5),.carousel .carousel-locator:nth-of-type(6):checked~.carousel-nav .nav-item:nth-of-type(6),.carousel .carousel-locator:nth-of-type(7):checked~.carousel-nav .nav-item:nth-of-type(7),.carousel .carousel-locator:nth-of-type(8):checked~.carousel-nav .nav-item:nth-of-type(8){color:#f7f8f9}.carousel{background:#f7f8f9;display:block;overflow:hidden;-webkit-overflow-scrolling:touch;position:relative;width:100%;z-index:1}.carousel .carousel-container{height:100%;left:0;position:relative}.carousel .carousel-container::before{content:"";display:block;padding-bottom:56.25%}.carousel .carousel-container .carousel-item{animation:carousel-slideout 1s ease-in-out 1;height:100%;left:0;margin:0;opacity:0;position:absolute;top:0;width:100%}.carousel .carousel-container .carousel-item:hover .item-next,.carousel .carousel-container .carousel-item:hover .item-prev{opacity:1}.carousel .carousel-container .item-next,.carousel .carousel-container .item-prev{background:rgba(247,248,249,.25);border-color:rgba(247,248,249,.5);color:#f7f8f9;opacity:0;position:absolute;top:50%;transform:translateY(-50%);transition:all .4s;z-index:100}.carousel .carousel-container .item-prev{left:1rem}.carousel .carousel-container .item-next{right:1rem}.carousel .carousel-nav{bottom:.4rem;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;left:50%;position:absolute;transform:translateX(-50%);width:10rem;z-index:100}.carousel .carousel-nav .nav-item{color:rgba(247,248,249,.5);display:block;-ms-flex:1 0 auto;flex:1 0 auto;height:1.6rem;margin:.2rem;max-width:2.5rem;position:relative}.carousel .carousel-nav .nav-item::before{background:currentColor;content:"";display:block;height:.1rem;position:absolute;top:.5rem;width:100%}@keyframes carousel-slidein{0%{transform:translateX(100%)}100%{transform:translateX(0)}}@keyframes carousel-slideout{0%{opacity:1;transform:translateX(0)}100%{opacity:1;transform:translateX(-50%)}}.comparison-slider{height:50vh;overflow:hidden;-webkit-overflow-scrolling:touch;position:relative;width:100%}.comparison-slider .comparison-after,.comparison-slider .comparison-before{height:100%;left:0;margin:0;overflow:hidden;position:absolute;top:0}.comparison-slider .comparison-after img,.comparison-slider .comparison-before img{height:100%;object-fit:cover;object-position:left center;position:absolute;width:100%}.comparison-slider .comparison-before{width:100%;z-index:1}.comparison-slider .comparison-before .comparison-label{right:.8rem}.comparison-slider .comparison-after{max-width:100%;min-width:0;z-index:2}.comparison-slider .comparison-after::before{background:0 0;content:"";cursor:default;height:100%;left:0;position:absolute;right:.8rem;top:0;z-index:1}.comparison-slider .comparison-after::after{background:currentColor;border-radius:50%;box-shadow:0 -5px,0 5px;color:#fff;content:"";height:3px;pointer-events:none;position:absolute;right:.4rem;top:50%;transform:translate(50%,-50%);width:3px}.comparison-slider .comparison-after .comparison-label{left:.8rem}.comparison-slider .comparison-resizer{animation:first-run 1.5s 1 ease-in-out;cursor:ew-resize;height:.8rem;left:0;max-width:100%;min-width:.8rem;opacity:0;outline:0;position:relative;resize:horizontal;top:50%;transform:translateY(-50%) scaleY(30);width:0}.comparison-slider .comparison-label{background:rgba(48,55,66,.5);bottom:.8rem;color:#fff;padding:.2rem .4rem;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@keyframes first-run{0%{width:0}25%{width:2.4rem}50%{width:.8rem}75%{width:1.2rem}100%{width:0}}.filter .filter-tag#tag-0:checked~.filter-nav .chip[for=tag-0],.filter .filter-tag#tag-1:checked~.filter-nav .chip[for=tag-1],.filter .filter-tag#tag-2:checked~.filter-nav .chip[for=tag-2],.filter .filter-tag#tag-3:checked~.filter-nav .chip[for=tag-3],.filter .filter-tag#tag-4:checked~.filter-nav .chip[for=tag-4],.filter .filter-tag#tag-5:checked~.filter-nav .chip[for=tag-5],.filter .filter-tag#tag-6:checked~.filter-nav .chip[for=tag-6],.filter .filter-tag#tag-7:checked~.filter-nav .chip[for=tag-7],.filter .filter-tag#tag-8:checked~.filter-nav .chip[for=tag-8]{background:#5755d9;color:#fff}.filter .filter-tag#tag-1:checked~.filter-body .filter-item:not([data-tag~=tag-1]),.filter .filter-tag#tag-2:checked~.filter-body .filter-item:not([data-tag~=tag-2]),.filter .filter-tag#tag-3:checked~.filter-body .filter-item:not([data-tag~=tag-3]),.filter .filter-tag#tag-4:checked~.filter-body .filter-item:not([data-tag~=tag-4]),.filter .filter-tag#tag-5:checked~.filter-body .filter-item:not([data-tag~=tag-5]),.filter .filter-tag#tag-6:checked~.filter-body .filter-item:not([data-tag~=tag-6]),.filter .filter-tag#tag-7:checked~.filter-body .filter-item:not([data-tag~=tag-7]),.filter .filter-tag#tag-8:checked~.filter-body .filter-item:not([data-tag~=tag-8]){display:none}.filter .filter-nav{margin:.4rem 0}.filter .filter-body{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.meter{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#f7f8f9;border:0;border-radius:.1rem;display:block;height:.8rem;width:100%}.meter::-webkit-meter-inner-element{display:block}.meter::-webkit-meter-bar,.meter::-webkit-meter-even-less-good-value,.meter::-webkit-meter-optimum-value,.meter::-webkit-meter-suboptimum-value{border-radius:.1rem}.meter::-webkit-meter-bar{background:#f7f8f9}.meter::-webkit-meter-optimum-value{background:#32b643}.meter::-webkit-meter-suboptimum-value{background:#ffb700}.meter::-webkit-meter-even-less-good-value{background:#e85600}.meter:-moz-meter-optimum,.meter:-moz-meter-sub-optimum,.meter:-moz-meter-sub-sub-optimum,.meter::-moz-meter-bar{border-radius:.1rem}.meter:-moz-meter-optimum::-moz-meter-bar{background:#32b643}.meter:-moz-meter-sub-optimum::-moz-meter-bar{background:#ffb700}.meter:-moz-meter-sub-sub-optimum::-moz-meter-bar{background:#e85600}.off-canvas{display:-ms-flexbox;display:flex;-ms-flex-flow:nowrap;flex-flow:nowrap;height:100%;position:relative;width:100%}.off-canvas .off-canvas-toggle{display:block;left:.4rem;position:absolute;top:.4rem;transition:none;z-index:1}.off-canvas .off-canvas-sidebar{background:#f7f8f9;bottom:0;left:0;min-width:10rem;overflow-y:auto;position:fixed;top:0;transform:translateX(-100%);transition:transform .25s;z-index:200}.off-canvas .off-canvas-content{-ms-flex:1 1 auto;flex:1 1 auto;height:100%;padding:.4rem .4rem .4rem 4rem}.off-canvas .off-canvas-overlay{background:rgba(48,55,66,.1);border-color:transparent;border-radius:0;bottom:0;display:none;height:100%;left:0;position:fixed;right:0;top:0;width:100%}.off-canvas .off-canvas-sidebar.active,.off-canvas .off-canvas-sidebar:target{transform:translateX(0)}.off-canvas .off-canvas-sidebar.active~.off-canvas-overlay,.off-canvas .off-canvas-sidebar:target~.off-canvas-overlay{display:block;z-index:100}@media (min-width:960px){.off-canvas.off-canvas-sidebar-show .off-canvas-toggle{display:none}.off-canvas.off-canvas-sidebar-show .off-canvas-sidebar{-ms-flex:0 0 auto;flex:0 0 auto;position:relative;transform:none}.off-canvas.off-canvas-sidebar-show .off-canvas-overlay{display:none!important}}.parallax{display:block;height:auto;position:relative;width:auto}.parallax .parallax-content{box-shadow:0 1rem 2.1rem rgba(48,55,66,.3);height:auto;transform:perspective(1000px);transform-style:preserve-3d;transition:all .4s ease;width:100%}.parallax .parallax-content::before{content:"";display:block;height:100%;left:0;position:absolute;top:0;width:100%}.parallax .parallax-front{align-items:center;color:#fff;display:-ms-flexbox;display:flex;-ms-flex-align:center;-ms-flex-pack:center;height:100%;justify-content:center;left:0;position:absolute;text-align:center;text-shadow:0 0 20px rgba(48,55,66,.75);top:0;transform:translateZ(50px) scale(.95);transition:transform .4s;width:100%;z-index:1}.parallax .parallax-top-left{height:50%;left:0;outline:0;position:absolute;top:0;width:50%;z-index:100}.parallax .parallax-top-left:focus~.parallax-content,.parallax .parallax-top-left:hover~.parallax-content{transform:perspective(1000px) rotateX(3deg) rotateY(-3deg)}.parallax .parallax-top-left:focus~.parallax-content::before,.parallax .parallax-top-left:hover~.parallax-content::before{background:linear-gradient(135deg,rgba(255,255,255,.35) 0,transparent 50%)}.parallax .parallax-top-left:focus~.parallax-content .parallax-front,.parallax .parallax-top-left:hover~.parallax-content .parallax-front{transform:translate3d(4.5px,4.5px,50px) scale(.95)}.parallax .parallax-top-right{height:50%;outline:0;position:absolute;right:0;top:0;width:50%;z-index:100}.parallax .parallax-top-right:focus~.parallax-content,.parallax .parallax-top-right:hover~.parallax-content{transform:perspective(1000px) rotateX(3deg) rotateY(3deg)}.parallax .parallax-top-right:focus~.parallax-content::before,.parallax .parallax-top-right:hover~.parallax-content::before{background:linear-gradient(-135deg,rgba(255,255,255,.35) 0,transparent 50%)}.parallax .parallax-top-right:focus~.parallax-content .parallax-front,.parallax .parallax-top-right:hover~.parallax-content .parallax-front{transform:translate3d(-4.5px,4.5px,50px) scale(.95)}.parallax .parallax-bottom-left{bottom:0;height:50%;left:0;outline:0;position:absolute;width:50%;z-index:100}.parallax .parallax-bottom-left:focus~.parallax-content,.parallax .parallax-bottom-left:hover~.parallax-content{transform:perspective(1000px) rotateX(-3deg) rotateY(-3deg)}.parallax .parallax-bottom-left:focus~.parallax-content::before,.parallax .parallax-bottom-left:hover~.parallax-content::before{background:linear-gradient(45deg,rgba(255,255,255,.35) 0,transparent 50%)}.parallax .parallax-bottom-left:focus~.parallax-content .parallax-front,.parallax .parallax-bottom-left:hover~.parallax-content .parallax-front{transform:translate3d(4.5px,-4.5px,50px) scale(.95)}.parallax .parallax-bottom-right{bottom:0;height:50%;outline:0;position:absolute;right:0;width:50%;z-index:100}.parallax .parallax-bottom-right:focus~.parallax-content,.parallax .parallax-bottom-right:hover~.parallax-content{transform:perspective(1000px) rotateX(-3deg) rotateY(3deg)}.parallax .parallax-bottom-right:focus~.parallax-content::before,.parallax .parallax-bottom-right:hover~.parallax-content::before{background:linear-gradient(-45deg,rgba(255,255,255,.35) 0,transparent 50%)}.parallax .parallax-bottom-right:focus~.parallax-content .parallax-front,.parallax .parallax-bottom-right:hover~.parallax-content .parallax-front{transform:translate3d(-4.5px,-4.5px,50px) scale(.95)}.progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#eef0f3;border:0;border-radius:.1rem;color:#5755d9;height:.2rem;position:relative;width:100%}.progress::-webkit-progress-bar{background:0 0;border-radius:.1rem}.progress::-webkit-progress-value{background:#5755d9;border-radius:.1rem}.progress::-moz-progress-bar{background:#5755d9;border-radius:.1rem}.progress:indeterminate{animation:progress-indeterminate 1.5s linear infinite;background:#eef0f3 linear-gradient(to right,#5755d9 30%,#eef0f3 30%) top left/150% 150% no-repeat}.progress:indeterminate::-moz-progress-bar{background:0 0}@keyframes progress-indeterminate{0%{background-position:200% 0}100%{background-position:-200% 0}}.slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;display:block;height:1.2rem;width:100%}.slider:focus{box-shadow:0 0 0 .1rem rgba(87,85,217,.2);outline:0}.slider.tooltip:not([data-tooltip])::after{content:attr(value)}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:#5755d9;border:0;border-radius:50%;height:.6rem;margin-top:-.25rem;-webkit-transition:transform .2s;transition:transform .2s;width:.6rem}.slider::-moz-range-thumb{background:#5755d9;border:0;border-radius:50%;height:.6rem;-moz-transition:transform .2s;transition:transform .2s;width:.6rem}.slider::-ms-thumb{background:#5755d9;border:0;border-radius:50%;height:.6rem;-ms-transition:transform .2s;transition:transform .2s;width:.6rem}.slider:active::-webkit-slider-thumb{transform:scale(1.25)}.slider:active::-moz-range-thumb{transform:scale(1.25)}.slider:active::-ms-thumb{transform:scale(1.25)}.slider.disabled::-webkit-slider-thumb,.slider:disabled::-webkit-slider-thumb{background:#f7f8f9;transform:scale(1)}.slider.disabled::-moz-range-thumb,.slider:disabled::-moz-range-thumb{background:#f7f8f9;transform:scale(1)}.slider.disabled::-ms-thumb,.slider:disabled::-ms-thumb{background:#f7f8f9;transform:scale(1)}.slider::-webkit-slider-runnable-track{background:#eef0f3;border-radius:.1rem;height:.1rem;width:100%}.slider::-moz-range-track{background:#eef0f3;border-radius:.1rem;height:.1rem;width:100%}.slider::-ms-track{background:#eef0f3;border-radius:.1rem;height:.1rem;width:100%}.slider::-ms-fill-lower{background:#5755d9}.timeline .timeline-item{display:-ms-flexbox;display:flex;margin-bottom:1.2rem;position:relative}.timeline .timeline-item::before{background:#dadee4;content:"";height:100%;left:11px;position:absolute;top:1.2rem;width:2px}.timeline .timeline-item .timeline-left{-ms-flex:0 0 auto;flex:0 0 auto}.timeline .timeline-item .timeline-content{-ms-flex:1 1 auto;flex:1 1 auto;padding:2px 0 2px .8rem}.timeline .timeline-item .timeline-icon{align-items:center;border-radius:50%;color:#fff;display:-ms-flexbox;display:flex;-ms-flex-align:center;-ms-flex-pack:center;height:1.2rem;justify-content:center;text-align:center;width:1.2rem}.timeline .timeline-item .timeline-icon::before{border:.1rem solid #5755d9;border-radius:50%;content:"";display:block;height:.4rem;left:.4rem;position:absolute;top:.4rem;width:.4rem}.timeline .timeline-item .timeline-icon.icon-lg{background:#5755d9;line-height:1.2rem}.timeline .timeline-item .timeline-icon.icon-lg::before{content:none}.viewer-360{align-items:center;display:-ms-flexbox;display:flex;-ms-flex-align:center;-ms-flex-direction:column;flex-direction:column}.viewer-360 .viewer-slider[max="36"][value="1"]+.viewer-image{background-position-y:0}.viewer-360 .viewer-slider[max="36"][value="2"]+.viewer-image{background-position-y:2.8571428571%}.viewer-360 .viewer-slider[max="36"][value="3"]+.viewer-image{background-position-y:5.7142857143%}.viewer-360 .viewer-slider[max="36"][value="4"]+.viewer-image{background-position-y:8.5714285714%}.viewer-360 .viewer-slider[max="36"][value="5"]+.viewer-image{background-position-y:11.4285714286%}.viewer-360 .viewer-slider[max="36"][value="6"]+.viewer-image{background-position-y:14.2857142857%}.viewer-360 .viewer-slider[max="36"][value="7"]+.viewer-image{background-position-y:17.1428571429%}.viewer-360 .viewer-slider[max="36"][value="8"]+.viewer-image{background-position-y:20%}.viewer-360 .viewer-slider[max="36"][value="9"]+.viewer-image{background-position-y:22.8571428571%}.viewer-360 .viewer-slider[max="36"][value="10"]+.viewer-image{background-position-y:25.7142857143%}.viewer-360 .viewer-slider[max="36"][value="11"]+.viewer-image{background-position-y:28.5714285714%}.viewer-360 .viewer-slider[max="36"][value="12"]+.viewer-image{background-position-y:31.4285714286%}.viewer-360 .viewer-slider[max="36"][value="13"]+.viewer-image{background-position-y:34.2857142857%}.viewer-360 .viewer-slider[max="36"][value="14"]+.viewer-image{background-position-y:37.1428571429%}.viewer-360 .viewer-slider[max="36"][value="15"]+.viewer-image{background-position-y:40%}.viewer-360 .viewer-slider[max="36"][value="16"]+.viewer-image{background-position-y:42.8571428571%}.viewer-360 .viewer-slider[max="36"][value="17"]+.viewer-image{background-position-y:45.7142857143%}.viewer-360 .viewer-slider[max="36"][value="18"]+.viewer-image{background-position-y:48.5714285714%}.viewer-360 .viewer-slider[max="36"][value="19"]+.viewer-image{background-position-y:51.4285714286%}.viewer-360 .viewer-slider[max="36"][value="20"]+.viewer-image{background-position-y:54.2857142857%}.viewer-360 .viewer-slider[max="36"][value="21"]+.viewer-image{background-position-y:57.1428571429%}.viewer-360 .viewer-slider[max="36"][value="22"]+.viewer-image{background-position-y:60%}.viewer-360 .viewer-slider[max="36"][value="23"]+.viewer-image{background-position-y:62.8571428571%}.viewer-360 .viewer-slider[max="36"][value="24"]+.viewer-image{background-position-y:65.7142857143%}.viewer-360 .viewer-slider[max="36"][value="25"]+.viewer-image{background-position-y:68.5714285714%}.viewer-360 .viewer-slider[max="36"][value="26"]+.viewer-image{background-position-y:71.4285714286%}.viewer-360 .viewer-slider[max="36"][value="27"]+.viewer-image{background-position-y:74.2857142857%}.viewer-360 .viewer-slider[max="36"][value="28"]+.viewer-image{background-position-y:77.1428571429%}.viewer-360 .viewer-slider[max="36"][value="29"]+.viewer-image{background-position-y:80%}.viewer-360 .viewer-slider[max="36"][value="30"]+.viewer-image{background-position-y:82.8571428571%}.viewer-360 .viewer-slider[max="36"][value="31"]+.viewer-image{background-position-y:85.7142857143%}.viewer-360 .viewer-slider[max="36"][value="32"]+.viewer-image{background-position-y:88.5714285714%}.viewer-360 .viewer-slider[max="36"][value="33"]+.viewer-image{background-position-y:91.4285714286%}.viewer-360 .viewer-slider[max="36"][value="34"]+.viewer-image{background-position-y:94.2857142857%}.viewer-360 .viewer-slider[max="36"][value="35"]+.viewer-image{background-position-y:97.1428571429%}.viewer-360 .viewer-slider[max="36"][value="36"]+.viewer-image{background-position-y:100%}.viewer-360 .viewer-slider{cursor:ew-resize;-ms-flex-order:2;margin:1rem;order:2;width:60%}.viewer-360 .viewer-image{background-position-y:0;background-repeat:no-repeat;background-size:100%;-ms-flex-order:1;max-width:100%;order:1} diff --git a/ghostforge/static/css/spectre-icons.min.css b/ghostforge/static/css/spectre-icons.min.css new file mode 100644 index 0000000..3253eaa --- /dev/null +++ b/ghostforge/static/css/spectre-icons.min.css @@ -0,0 +1 @@ +/*! Spectre.css Icons v0.5.9 | MIT License | github.com/picturepan2/spectre */.icon{box-sizing:border-box;display:inline-block;font-size:inherit;font-style:normal;height:1em;position:relative;text-indent:-9999px;vertical-align:middle;width:1em}.icon::after,.icon::before{content:"";display:block;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.icon.icon-2x{font-size:1.6rem}.icon.icon-3x{font-size:2.4rem}.icon.icon-4x{font-size:3.2rem}.accordion .icon,.btn .icon,.menu .icon,.toast .icon{vertical-align:-10%}.btn-lg .icon{vertical-align:-15%}.icon-arrow-down::before,.icon-arrow-left::before,.icon-arrow-right::before,.icon-arrow-up::before,.icon-back::before,.icon-downward::before,.icon-forward::before,.icon-upward::before{border:.1rem solid currentColor;border-bottom:0;border-right:0;height:.65em;width:.65em}.icon-arrow-down::before{transform:translate(-50%,-75%) rotate(225deg)}.icon-arrow-left::before{transform:translate(-25%,-50%) rotate(-45deg)}.icon-arrow-right::before{transform:translate(-75%,-50%) rotate(135deg)}.icon-arrow-up::before{transform:translate(-50%,-25%) rotate(45deg)}.icon-back::after,.icon-forward::after{background:currentColor;height:.1rem;width:.8em}.icon-downward::after,.icon-upward::after{background:currentColor;height:.8em;width:.1rem}.icon-back::after{left:55%}.icon-back::before{transform:translate(-50%,-50%) rotate(-45deg)}.icon-downward::after{top:45%}.icon-downward::before{transform:translate(-50%,-50%) rotate(-135deg)}.icon-forward::after{left:45%}.icon-forward::before{transform:translate(-50%,-50%) rotate(135deg)}.icon-upward::after{top:55%}.icon-upward::before{transform:translate(-50%,-50%) rotate(45deg)}.icon-caret::before{border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.3em solid currentColor;height:0;transform:translate(-50%,-25%);width:0}.icon-menu::before{background:currentColor;box-shadow:0 -.35em,0 .35em;height:.1rem;width:100%}.icon-apps::before{background:currentColor;box-shadow:-.35em -.35em,-.35em 0,-.35em .35em,0 -.35em,0 .35em,.35em -.35em,.35em 0,.35em .35em;height:3px;width:3px}.icon-resize-horiz::after,.icon-resize-horiz::before,.icon-resize-vert::after,.icon-resize-vert::before{border:.1rem solid currentColor;border-bottom:0;border-right:0;height:.45em;width:.45em}.icon-resize-horiz::before,.icon-resize-vert::before{transform:translate(-50%,-90%) rotate(45deg)}.icon-resize-horiz::after,.icon-resize-vert::after{transform:translate(-50%,-10%) rotate(225deg)}.icon-resize-horiz::before{transform:translate(-90%,-50%) rotate(-45deg)}.icon-resize-horiz::after{transform:translate(-10%,-50%) rotate(135deg)}.icon-more-horiz::before,.icon-more-vert::before{background:currentColor;border-radius:50%;box-shadow:-.4em 0,.4em 0;height:3px;width:3px}.icon-more-vert::before{box-shadow:0 -.4em,0 .4em}.icon-cross::before,.icon-minus::before,.icon-plus::before{background:currentColor;height:.1rem;width:100%}.icon-cross::after,.icon-plus::after{background:currentColor;height:100%;width:.1rem}.icon-cross::before{width:100%}.icon-cross::after{height:100%}.icon-cross::after,.icon-cross::before{transform:translate(-50%,-50%) rotate(45deg)}.icon-check::before{border:.1rem solid currentColor;border-right:0;border-top:0;height:.5em;transform:translate(-50%,-75%) rotate(-45deg);width:.9em}.icon-stop{border:.1rem solid currentColor;border-radius:50%}.icon-stop::before{background:currentColor;height:.1rem;transform:translate(-50%,-50%) rotate(45deg);width:1em}.icon-shutdown{border:.1rem solid currentColor;border-radius:50%;border-top-color:transparent}.icon-shutdown::before{background:currentColor;content:"";height:.5em;top:.1em;width:.1rem}.icon-refresh::before{border:.1rem solid currentColor;border-radius:50%;border-right-color:transparent;height:1em;width:1em}.icon-refresh::after{border:.2em solid currentColor;border-left-color:transparent;border-top-color:transparent;height:0;left:80%;top:20%;width:0}.icon-search::before{border:.1rem solid currentColor;border-radius:50%;height:.75em;left:5%;top:5%;transform:translate(0,0) rotate(45deg);width:.75em}.icon-search::after{background:currentColor;height:.1rem;left:80%;top:80%;transform:translate(-50%,-50%) rotate(45deg);width:.4em}.icon-edit::before{border:.1rem solid currentColor;height:.4em;transform:translate(-40%,-60%) rotate(-45deg);width:.85em}.icon-edit::after{border:.15em solid currentColor;border-right-color:transparent;border-top-color:transparent;height:0;left:5%;top:95%;transform:translate(0,-100%);width:0}.icon-delete::before{border:.1rem solid currentColor;border-bottom-left-radius:.1rem;border-bottom-right-radius:.1rem;border-top:0;height:.75em;top:60%;width:.75em}.icon-delete::after{background:currentColor;box-shadow:-.25em .2em,.25em .2em;height:.1rem;top:.05rem;width:.5em}.icon-share{border:.1rem solid currentColor;border-radius:.1rem;border-right:0;border-top:0}.icon-share::before{border:.1rem solid currentColor;border-left:0;border-top:0;height:.4em;left:100%;top:.25em;transform:translate(-125%,-50%) rotate(-45deg);width:.4em}.icon-share::after{border:.1rem solid currentColor;border-bottom:0;border-radius:75% 0;border-right:0;height:.5em;width:.6em}.icon-flag::before{background:currentColor;height:1em;left:15%;width:.1rem}.icon-flag::after{border:.1rem solid currentColor;border-bottom-right-radius:.1rem;border-left:0;border-top-right-radius:.1rem;height:.65em;left:60%;top:35%;width:.8em}.icon-bookmark::before{border:.1rem solid currentColor;border-bottom:0;border-top-left-radius:.1rem;border-top-right-radius:.1rem;height:.9em;width:.8em}.icon-bookmark::after{border:.1rem solid currentColor;border-bottom:0;border-left:0;border-radius:.1rem;height:.5em;transform:translate(-50%,35%) rotate(-45deg) skew(15deg,15deg);width:.5em}.icon-download,.icon-upload{border-bottom:.1rem solid currentColor}.icon-download::before,.icon-upload::before{border:.1rem solid currentColor;border-bottom:0;border-right:0;height:.5em;transform:translate(-50%,-60%) rotate(-135deg);width:.5em}.icon-download::after,.icon-upload::after{background:currentColor;height:.6em;top:40%;width:.1rem}.icon-upload::before{transform:translate(-50%,-60%) rotate(45deg)}.icon-upload::after{top:50%}.icon-copy::before{border:.1rem solid currentColor;border-bottom:0;border-radius:.1rem;border-right:0;height:.8em;left:40%;top:35%;width:.8em}.icon-copy::after{border:.1rem solid currentColor;border-radius:.1rem;height:.8em;left:60%;top:60%;width:.8em}.icon-time{border:.1rem solid currentColor;border-radius:50%}.icon-time::before{background:currentColor;height:.4em;transform:translate(-50%,-75%);width:.1rem}.icon-time::after{background:currentColor;height:.3em;transform:translate(-50%,-75%) rotate(90deg);transform-origin:50% 90%;width:.1rem}.icon-mail::before{border:.1rem solid currentColor;border-radius:.1rem;height:.8em;width:1em}.icon-mail::after{border:.1rem solid currentColor;border-right:0;border-top:0;height:.5em;transform:translate(-50%,-90%) rotate(-45deg) skew(10deg,10deg);width:.5em}.icon-people::before{border:.1rem solid currentColor;border-radius:50%;height:.45em;top:25%;width:.45em}.icon-people::after{border:.1rem solid currentColor;border-radius:50% 50% 0 0;height:.4em;top:75%;width:.9em}.icon-message{border:.1rem solid currentColor;border-bottom:0;border-radius:.1rem;border-right:0}.icon-message::before{border:.1rem solid currentColor;border-bottom-right-radius:.1rem;border-left:0;border-top:0;height:.8em;left:65%;top:40%;width:.7em}.icon-message::after{background:currentColor;border-radius:.1rem;height:.3em;left:10%;top:100%;transform:translate(0,-90%) rotate(45deg);width:.1rem}.icon-photo{border:.1rem solid currentColor;border-radius:.1rem}.icon-photo::before{border:.1rem solid currentColor;border-radius:50%;height:.25em;left:35%;top:35%;width:.25em}.icon-photo::after{border:.1rem solid currentColor;border-bottom:0;border-left:0;height:.5em;left:60%;transform:translate(-50%,25%) rotate(-45deg);width:.5em}.icon-link::after,.icon-link::before{border:.1rem solid currentColor;border-radius:5em 0 0 5em;border-right:0;height:.5em;width:.75em}.icon-link::before{transform:translate(-70%,-45%) rotate(-45deg)}.icon-link::after{transform:translate(-30%,-55%) rotate(135deg)}.icon-location::before{border:.1rem solid currentColor;border-radius:50% 50% 50% 0;height:.8em;transform:translate(-50%,-60%) rotate(-45deg);width:.8em}.icon-location::after{border:.1rem solid currentColor;border-radius:50%;height:.2em;transform:translate(-50%,-80%);width:.2em}.icon-emoji{border:.1rem solid currentColor;border-radius:50%}.icon-emoji::before{border-radius:50%;box-shadow:-.17em -.1em,.17em -.1em;height:.15em;width:.15em}.icon-emoji::after{border:.1rem solid currentColor;border-bottom-color:transparent;border-radius:50%;border-right-color:transparent;height:.5em;transform:translate(-50%,-40%) rotate(-135deg);width:.5em} diff --git a/ghostforge/static/css/spectre.min.css b/ghostforge/static/css/spectre.min.css new file mode 100644 index 0000000..9d12883 --- /dev/null +++ b/ghostforge/static/css/spectre.min.css @@ -0,0 +1 @@ +/*! Spectre.css v0.5.9 | MIT License | github.com/picturepan2/spectre */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}hr{box-sizing:content-box;height:0;overflow:visible}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}address{font-style:normal}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:"SF Mono","Segoe UI Mono","Roboto Mono",Menlo,Courier,monospace;font-size:1em}dfn{font-style:italic}small{font-size:80%;font-weight:400}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}fieldset{border:0;margin:0;padding:0}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item;outline:0}canvas{display:inline-block}template{display:none}[hidden]{display:none}*,::after,::before{box-sizing:inherit}html{box-sizing:border-box;font-size:20px;line-height:1.5;-webkit-tap-highlight-color:transparent}body{background:#fff;color:#3b4351;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;font-size:.8rem;overflow-x:hidden;text-rendering:optimizeLegibility}a{color:#5755d9;outline:0;text-decoration:none}a:focus{box-shadow:0 0 0 .1rem rgba(87,85,217,.2)}a.active,a:active,a:focus,a:hover{color:#302ecd;text-decoration:underline}a:visited{color:#807fe2}h1,h2,h3,h4,h5,h6{color:inherit;font-weight:500;line-height:1.2;margin-bottom:.5em;margin-top:0}.h1,.h2,.h3,.h4,.h5,.h6{font-weight:500}.h1,h1{font-size:2rem}.h2,h2{font-size:1.6rem}.h3,h3{font-size:1.4rem}.h4,h4{font-size:1.2rem}.h5,h5{font-size:1rem}.h6,h6{font-size:.8rem}p{margin:0 0 1.2rem}a,ins,u{-webkit-text-decoration-skip:ink edges;text-decoration-skip:ink edges}abbr[title]{border-bottom:.05rem dotted;cursor:help;text-decoration:none}kbd{background:#303742;border-radius:.1rem;color:#fff;font-size:.7rem;line-height:1.25;padding:.1rem .2rem}mark{background:#ffe9b3;border-bottom:.05rem solid #ffd367;border-radius:.1rem;color:#3b4351;padding:.05rem .1rem 0}blockquote{border-left:.1rem solid #dadee4;margin-left:0;padding:.4rem .8rem}blockquote p:last-child{margin-bottom:0}ol,ul{margin:.8rem 0 .8rem .8rem;padding:0}ol ol,ol ul,ul ol,ul ul{margin:.8rem 0 .8rem .8rem}ol li,ul li{margin-top:.4rem}ul{list-style:disc inside}ul ul{list-style-type:circle}ol{list-style:decimal inside}ol ol{list-style-type:lower-alpha}dl dt{font-weight:700}dl dd{margin:.4rem 0 .8rem 0}.lang-zh,.lang-zh-hans,html:lang(zh),html:lang(zh-Hans){font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",sans-serif}.lang-zh-hant,html:lang(zh-Hant){font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang TC","Hiragino Sans CNS","Microsoft JhengHei","Helvetica Neue",sans-serif}.lang-ja,html:lang(ja){font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Hiragino Sans","Hiragino Kaku Gothic Pro","Yu Gothic",YuGothic,Meiryo,"Helvetica Neue",sans-serif}.lang-ko,html:lang(ko){font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Malgun Gothic","Helvetica Neue",sans-serif}.lang-cjk ins,.lang-cjk u,:lang(ja) ins,:lang(ja) u,:lang(zh) ins,:lang(zh) u{border-bottom:.05rem solid;text-decoration:none}.lang-cjk del+del,.lang-cjk del+s,.lang-cjk ins+ins,.lang-cjk ins+u,.lang-cjk s+del,.lang-cjk s+s,.lang-cjk u+ins,.lang-cjk u+u,:lang(ja) del+del,:lang(ja) del+s,:lang(ja) ins+ins,:lang(ja) ins+u,:lang(ja) s+del,:lang(ja) s+s,:lang(ja) u+ins,:lang(ja) u+u,:lang(zh) del+del,:lang(zh) del+s,:lang(zh) ins+ins,:lang(zh) ins+u,:lang(zh) s+del,:lang(zh) s+s,:lang(zh) u+ins,:lang(zh) u+u{margin-left:.125em}.table{border-collapse:collapse;border-spacing:0;text-align:left;width:100%}.table.table-striped tbody tr:nth-of-type(odd){background:#f7f8f9}.table tbody tr.active,.table.table-striped tbody tr.active{background:#eef0f3}.table.table-hover tbody tr:hover{background:#eef0f3}.table.table-scroll{display:block;overflow-x:auto;padding-bottom:.75rem;white-space:nowrap}.table td,.table th{border-bottom:.05rem solid #dadee4;padding:.6rem .4rem}.table th{border-bottom-width:.1rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:.05rem solid #5755d9;border-radius:.1rem;color:#5755d9;cursor:pointer;display:inline-block;font-size:.8rem;height:1.8rem;line-height:1.2rem;outline:0;padding:.25rem .4rem;text-align:center;text-decoration:none;transition:background .2s,border .2s,box-shadow .2s,color .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.btn:focus{box-shadow:0 0 0 .1rem rgba(87,85,217,.2)}.btn:focus,.btn:hover{background:#f1f1fc;border-color:#4b48d6;text-decoration:none}.btn.active,.btn:active{background:#4b48d6;border-color:#3634d2;color:#fff;text-decoration:none}.btn.active.loading::after,.btn:active.loading::after{border-bottom-color:#fff;border-left-color:#fff}.btn.disabled,.btn:disabled,.btn[disabled]{cursor:default;opacity:.5;pointer-events:none}.btn.btn-primary{background:#5755d9;border-color:#4b48d6;color:#fff}.btn.btn-primary:focus,.btn.btn-primary:hover{background:#4240d4;border-color:#3634d2;color:#fff}.btn.btn-primary.active,.btn.btn-primary:active{background:#3a38d2;border-color:#302ecd;color:#fff}.btn.btn-primary.loading::after{border-bottom-color:#fff;border-left-color:#fff}.btn.btn-success{background:#32b643;border-color:#2faa3f;color:#fff}.btn.btn-success:focus{box-shadow:0 0 0 .1rem rgba(50,182,67,.2)}.btn.btn-success:focus,.btn.btn-success:hover{background:#30ae40;border-color:#2da23c;color:#fff}.btn.btn-success.active,.btn.btn-success:active{background:#2a9a39;border-color:#278e34;color:#fff}.btn.btn-success.loading::after{border-bottom-color:#fff;border-left-color:#fff}.btn.btn-error{background:#e85600;border-color:#d95000;color:#fff}.btn.btn-error:focus{box-shadow:0 0 0 .1rem rgba(232,86,0,.2)}.btn.btn-error:focus,.btn.btn-error:hover{background:#de5200;border-color:#cf4d00;color:#fff}.btn.btn-error.active,.btn.btn-error:active{background:#c44900;border-color:#b54300;color:#fff}.btn.btn-error.loading::after{border-bottom-color:#fff;border-left-color:#fff}.btn.btn-link{background:0 0;border-color:transparent;color:#5755d9}.btn.btn-link.active,.btn.btn-link:active,.btn.btn-link:focus,.btn.btn-link:hover{color:#302ecd}.btn.btn-sm{font-size:.7rem;height:1.4rem;padding:.05rem .3rem}.btn.btn-lg{font-size:.9rem;height:2rem;padding:.35rem .6rem}.btn.btn-block{display:block;width:100%}.btn.btn-action{padding-left:0;padding-right:0;width:1.8rem}.btn.btn-action.btn-sm{width:1.4rem}.btn.btn-action.btn-lg{width:2rem}.btn.btn-clear{background:0 0;border:0;color:currentColor;height:1rem;line-height:.8rem;margin-left:.2rem;margin-right:-2px;opacity:1;padding:.1rem;text-decoration:none;width:1rem}.btn.btn-clear:focus,.btn.btn-clear:hover{background:rgba(247,248,249,.5);opacity:.95}.btn.btn-clear::before{content:"\2715"}.btn-group{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.btn-group .btn{-ms-flex:1 0 auto;flex:1 0 auto}.btn-group .btn:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group .btn:not(:first-child):not(:last-child){border-radius:0;margin-left:-.05rem}.btn-group .btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-.05rem}.btn-group .btn.active,.btn-group .btn:active,.btn-group .btn:focus,.btn-group .btn:hover{z-index:1}.btn-group.btn-group-block{display:-ms-flexbox;display:flex}.btn-group.btn-group-block .btn{-ms-flex:1 0 0;flex:1 0 0}.form-group:not(:last-child){margin-bottom:.4rem}fieldset{margin-bottom:.8rem}legend{font-size:.9rem;font-weight:500;margin-bottom:.8rem}.form-label{display:block;line-height:1.2rem;padding:.3rem 0}.form-label.label-sm{font-size:.7rem;padding:.1rem 0}.form-label.label-lg{font-size:.9rem;padding:.4rem 0}.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;background-image:none;border:.05rem solid #bcc3ce;border-radius:.1rem;color:#3b4351;display:block;font-size:.8rem;height:1.8rem;line-height:1.2rem;max-width:100%;outline:0;padding:.25rem .4rem;position:relative;transition:background .2s,border .2s,box-shadow .2s,color .2s;width:100%}.form-input:focus{border-color:#5755d9;box-shadow:0 0 0 .1rem rgba(87,85,217,.2)}.form-input:-ms-input-placeholder{color:#bcc3ce}.form-input::-ms-input-placeholder{color:#bcc3ce}.form-input::placeholder{color:#bcc3ce}.form-input.input-sm{font-size:.7rem;height:1.4rem;padding:.05rem .3rem}.form-input.input-lg{font-size:.9rem;height:2rem;padding:.35rem .6rem}.form-input.input-inline{display:inline-block;vertical-align:middle;width:auto}.form-input[type=file]{height:auto}textarea.form-input,textarea.form-input.input-lg,textarea.form-input.input-sm{height:auto}.form-input-hint{color:#bcc3ce;font-size:.7rem;margin-top:.2rem}.has-success .form-input-hint,.is-success+.form-input-hint{color:#32b643}.has-error .form-input-hint,.is-error+.form-input-hint{color:#e85600}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:.05rem solid #bcc3ce;border-radius:.1rem;color:inherit;font-size:.8rem;height:1.8rem;line-height:1.2rem;outline:0;padding:.25rem .4rem;vertical-align:middle;width:100%}.form-select:focus{border-color:#5755d9;box-shadow:0 0 0 .1rem rgba(87,85,217,.2)}.form-select::-ms-expand{display:none}.form-select.select-sm{font-size:.7rem;height:1.4rem;padding:.05rem 1.1rem .05rem .3rem}.form-select.select-lg{font-size:.9rem;height:2rem;padding:.35rem 1.4rem .35rem .6rem}.form-select[multiple],.form-select[size]{height:auto;padding:.25rem .4rem}.form-select[multiple] option,.form-select[size] option{padding:.1rem .2rem}.form-select:not([multiple]):not([size]){background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%204%205'%3E%3Cpath%20fill='%23667189'%20d='M2%200L0%202h4zm0%205L0%203h4z'/%3E%3C/svg%3E") no-repeat right .35rem center/.4rem .5rem;padding-right:1.2rem}.has-icon-left,.has-icon-right{position:relative}.has-icon-left .form-icon,.has-icon-right .form-icon{height:.8rem;margin:0 .25rem;position:absolute;top:50%;transform:translateY(-50%);width:.8rem;z-index:2}.has-icon-left .form-icon{left:.05rem}.has-icon-left .form-input{padding-left:1.3rem}.has-icon-right .form-icon{right:.05rem}.has-icon-right .form-input{padding-right:1.3rem}.form-checkbox,.form-radio,.form-switch{display:block;line-height:1.2rem;margin:.2rem 0;min-height:1.4rem;padding:.1rem .4rem .1rem 1.2rem;position:relative}.form-checkbox input,.form-radio input,.form-switch input{clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;position:absolute;width:1px}.form-checkbox input:focus+.form-icon,.form-radio input:focus+.form-icon,.form-switch input:focus+.form-icon{border-color:#5755d9;box-shadow:0 0 0 .1rem rgba(87,85,217,.2)}.form-checkbox input:checked+.form-icon,.form-radio input:checked+.form-icon,.form-switch input:checked+.form-icon{background:#5755d9;border-color:#5755d9}.form-checkbox .form-icon,.form-radio .form-icon,.form-switch .form-icon{border:.05rem solid #bcc3ce;cursor:pointer;display:inline-block;position:absolute;transition:background .2s,border .2s,box-shadow .2s,color .2s}.form-checkbox.input-sm,.form-radio.input-sm,.form-switch.input-sm{font-size:.7rem;margin:0}.form-checkbox.input-lg,.form-radio.input-lg,.form-switch.input-lg{font-size:.9rem;margin:.3rem 0}.form-checkbox .form-icon,.form-radio .form-icon{background:#fff;height:.8rem;left:0;top:.3rem;width:.8rem}.form-checkbox input:active+.form-icon,.form-radio input:active+.form-icon{background:#eef0f3}.form-checkbox .form-icon{border-radius:.1rem}.form-checkbox input:checked+.form-icon::before{background-clip:padding-box;border:.1rem solid #fff;border-left-width:0;border-top-width:0;content:"";height:9px;left:50%;margin-left:-3px;margin-top:-6px;position:absolute;top:50%;transform:rotate(45deg);width:6px}.form-checkbox input:indeterminate+.form-icon{background:#5755d9;border-color:#5755d9}.form-checkbox input:indeterminate+.form-icon::before{background:#fff;content:"";height:2px;left:50%;margin-left:-5px;margin-top:-1px;position:absolute;top:50%;width:10px}.form-radio .form-icon{border-radius:50%}.form-radio input:checked+.form-icon::before{background:#fff;border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}.form-switch{padding-left:2rem}.form-switch .form-icon{background:#bcc3ce;background-clip:padding-box;border-radius:.45rem;height:.9rem;left:0;top:.25rem;width:1.6rem}.form-switch .form-icon::before{background:#fff;border-radius:50%;content:"";display:block;height:.8rem;left:0;position:absolute;top:0;transition:background .2s,border .2s,box-shadow .2s,color .2s,left .2s;width:.8rem}.form-switch input:checked+.form-icon::before{left:14px}.form-switch input:active+.form-icon::before{background:#f7f8f9}.input-group{display:-ms-flexbox;display:flex}.input-group .input-group-addon{background:#f7f8f9;border:.05rem solid #bcc3ce;border-radius:.1rem;line-height:1.2rem;padding:.25rem .4rem;white-space:nowrap}.input-group .input-group-addon.addon-sm{font-size:.7rem;padding:.05rem .3rem}.input-group .input-group-addon.addon-lg{font-size:.9rem;padding:.35rem .6rem}.input-group .form-input,.input-group .form-select{-ms-flex:1 1 auto;flex:1 1 auto;width:1%}.input-group .input-group-btn{z-index:1}.input-group .form-input:first-child:not(:last-child),.input-group .form-select:first-child:not(:last-child),.input-group .input-group-addon:first-child:not(:last-child),.input-group .input-group-btn:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.input-group .form-input:not(:first-child):not(:last-child),.input-group .form-select:not(:first-child):not(:last-child),.input-group .input-group-addon:not(:first-child):not(:last-child),.input-group .input-group-btn:not(:first-child):not(:last-child){border-radius:0;margin-left:-.05rem}.input-group .form-input:last-child:not(:first-child),.input-group .form-select:last-child:not(:first-child),.input-group .input-group-addon:last-child:not(:first-child),.input-group .input-group-btn:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-.05rem}.input-group .form-input:focus,.input-group .form-select:focus,.input-group .input-group-addon:focus,.input-group .input-group-btn:focus{z-index:2}.input-group .form-select{width:auto}.input-group.input-inline{display:-ms-inline-flexbox;display:inline-flex}.form-input.is-success,.form-select.is-success,.has-success .form-input,.has-success .form-select{background:#f9fdfa;border-color:#32b643}.form-input.is-success:focus,.form-select.is-success:focus,.has-success .form-input:focus,.has-success .form-select:focus{box-shadow:0 0 0 .1rem rgba(50,182,67,.2)}.form-input.is-error,.form-select.is-error,.has-error .form-input,.has-error .form-select{background:#fffaf7;border-color:#e85600}.form-input.is-error:focus,.form-select.is-error:focus,.has-error .form-input:focus,.has-error .form-select:focus{box-shadow:0 0 0 .1rem rgba(232,86,0,.2)}.form-checkbox.is-error .form-icon,.form-radio.is-error .form-icon,.form-switch.is-error .form-icon,.has-error .form-checkbox .form-icon,.has-error .form-radio .form-icon,.has-error .form-switch .form-icon{border-color:#e85600}.form-checkbox.is-error input:checked+.form-icon,.form-radio.is-error input:checked+.form-icon,.form-switch.is-error input:checked+.form-icon,.has-error .form-checkbox input:checked+.form-icon,.has-error .form-radio input:checked+.form-icon,.has-error .form-switch input:checked+.form-icon{background:#e85600;border-color:#e85600}.form-checkbox.is-error input:focus+.form-icon,.form-radio.is-error input:focus+.form-icon,.form-switch.is-error input:focus+.form-icon,.has-error .form-checkbox input:focus+.form-icon,.has-error .form-radio input:focus+.form-icon,.has-error .form-switch input:focus+.form-icon{border-color:#e85600;box-shadow:0 0 0 .1rem rgba(232,86,0,.2)}.form-checkbox.is-error input:indeterminate+.form-icon,.has-error .form-checkbox input:indeterminate+.form-icon{background:#e85600;border-color:#e85600}.form-input:not(:-ms-input-placeholder):invalid{border-color:#e85600}.form-input:not(:placeholder-shown):invalid{border-color:#e85600}.form-input:not(:-ms-input-placeholder):invalid:focus{background:#fffaf7;box-shadow:0 0 0 .1rem rgba(232,86,0,.2)}.form-input:not(:placeholder-shown):invalid:focus{background:#fffaf7;box-shadow:0 0 0 .1rem rgba(232,86,0,.2)}.form-input:not(:-ms-input-placeholder):invalid+.form-input-hint{color:#e85600}.form-input:not(:placeholder-shown):invalid+.form-input-hint{color:#e85600}.form-input.disabled,.form-input:disabled,.form-select.disabled,.form-select:disabled{background-color:#eef0f3;cursor:not-allowed;opacity:.5}.form-input[readonly]{background-color:#f7f8f9}input.disabled+.form-icon,input:disabled+.form-icon{background:#eef0f3;cursor:not-allowed;opacity:.5}.form-switch input.disabled+.form-icon::before,.form-switch input:disabled+.form-icon::before{background:#fff}.form-horizontal{padding:.4rem 0}.form-horizontal .form-group{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.form-inline{display:inline-block}.label{background:#eef0f3;border-radius:.1rem;color:#455060;display:inline-block;line-height:1.25;padding:.1rem .2rem}.label.label-rounded{border-radius:5rem;padding-left:.4rem;padding-right:.4rem}.label.label-primary{background:#5755d9;color:#fff}.label.label-secondary{background:#f1f1fc;color:#5755d9}.label.label-success{background:#32b643;color:#fff}.label.label-warning{background:#ffb700;color:#fff}.label.label-error{background:#e85600;color:#fff}code{background:#fcf2f2;border-radius:.1rem;color:#d73e48;font-size:85%;line-height:1.25;padding:.1rem .2rem}.code{border-radius:.1rem;color:#3b4351;position:relative}.code::before{color:#bcc3ce;content:attr(data-lang);font-size:.7rem;position:absolute;right:.4rem;top:.1rem}.code code{background:#f7f8f9;color:inherit;display:block;line-height:1.5;overflow-x:auto;padding:1rem;width:100%}.img-responsive{display:block;height:auto;max-width:100%}.img-fit-cover{object-fit:cover}.img-fit-contain{object-fit:contain}.video-responsive{display:block;overflow:hidden;padding:0;position:relative;width:100%}.video-responsive::before{content:"";display:block;padding-bottom:56.25%}.video-responsive embed,.video-responsive iframe,.video-responsive object{border:0;bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}video.video-responsive{height:auto;max-width:100%}video.video-responsive::before{content:none}.video-responsive-4-3::before{padding-bottom:75%}.video-responsive-1-1::before{padding-bottom:100%}.figure{margin:0 0 .4rem 0}.figure .figure-caption{color:#66758c;margin-top:.4rem}.container{margin-left:auto;margin-right:auto;padding-left:.4rem;padding-right:.4rem;width:100%}.container.grid-xl{max-width:1296px}.container.grid-lg{max-width:976px}.container.grid-md{max-width:856px}.container.grid-sm{max-width:616px}.container.grid-xs{max-width:496px}.show-lg,.show-md,.show-sm,.show-xl,.show-xs{display:none!important}.cols,.columns{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-.4rem;margin-right:-.4rem}.cols.col-gapless,.columns.col-gapless{margin-left:0;margin-right:0}.cols.col-gapless>.column,.columns.col-gapless>.column{padding-left:0;padding-right:0}.cols.col-oneline,.columns.col-oneline{-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow-x:auto}.column,[class~=col-]{-ms-flex:1;flex:1;max-width:100%;padding-left:.4rem;padding-right:.4rem}.column.col-1,.column.col-10,.column.col-11,.column.col-12,.column.col-2,.column.col-3,.column.col-4,.column.col-5,.column.col-6,.column.col-7,.column.col-8,.column.col-9,.column.col-auto,[class~=col-].col-1,[class~=col-].col-10,[class~=col-].col-11,[class~=col-].col-12,[class~=col-].col-2,[class~=col-].col-3,[class~=col-].col-4,[class~=col-].col-5,[class~=col-].col-6,[class~=col-].col-7,[class~=col-].col-8,[class~=col-].col-9,[class~=col-].col-auto{-ms-flex:none;flex:none}.col-12{width:100%}.col-11{width:91.66666667%}.col-10{width:83.33333333%}.col-9{width:75%}.col-8{width:66.66666667%}.col-7{width:58.33333333%}.col-6{width:50%}.col-5{width:41.66666667%}.col-4{width:33.33333333%}.col-3{width:25%}.col-2{width:16.66666667%}.col-1{width:8.33333333%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;max-width:none;width:auto}.col-mx-auto{margin-left:auto;margin-right:auto}.col-ml-auto{margin-left:auto}.col-mr-auto{margin-right:auto}@media (max-width:1280px){.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{-ms-flex:none;flex:none}.col-xl-12{width:100%}.col-xl-11{width:91.66666667%}.col-xl-10{width:83.33333333%}.col-xl-9{width:75%}.col-xl-8{width:66.66666667%}.col-xl-7{width:58.33333333%}.col-xl-6{width:50%}.col-xl-5{width:41.66666667%}.col-xl-4{width:33.33333333%}.col-xl-3{width:25%}.col-xl-2{width:16.66666667%}.col-xl-1{width:8.33333333%}.col-xl-auto{width:auto}.hide-xl{display:none!important}.show-xl{display:block!important}}@media (max-width:960px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto{-ms-flex:none;flex:none}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-auto{width:auto}.hide-lg{display:none!important}.show-lg{display:block!important}}@media (max-width:840px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto{-ms-flex:none;flex:none}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-auto{width:auto}.hide-md{display:none!important}.show-md{display:block!important}}@media (max-width:600px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto{-ms-flex:none;flex:none}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-auto{width:auto}.hide-sm{display:none!important}.show-sm{display:block!important}}@media (max-width:480px){.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-auto{-ms-flex:none;flex:none}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-auto{width:auto}.hide-xs{display:none!important}.show-xs{display:block!important}}.hero{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;padding-bottom:4rem;padding-top:4rem}.hero.hero-sm{padding-bottom:2rem;padding-top:2rem}.hero.hero-lg{padding-bottom:8rem;padding-top:8rem}.hero .hero-body{padding:.4rem}.navbar{align-items:stretch;display:-ms-flexbox;display:flex;-ms-flex-align:stretch;-ms-flex-pack:justify;-ms-flex-wrap:wrap;flex-wrap:wrap;justify-content:space-between}.navbar .navbar-section{align-items:center;display:-ms-flexbox;display:flex;-ms-flex:1 0 0;flex:1 0 0;-ms-flex-align:center}.navbar .navbar-section:not(:first-child):last-child{-ms-flex-pack:end;justify-content:flex-end}.navbar .navbar-center{align-items:center;display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-align:center}.navbar .navbar-brand{font-size:.9rem;text-decoration:none}.accordion input:checked~.accordion-header>.icon:first-child,.accordion[open] .accordion-header>.icon:first-child{transform:rotate(90deg)}.accordion input:checked~.accordion-body,.accordion[open] .accordion-body{max-height:50rem}.accordion .accordion-header{display:block;padding:.2rem .4rem}.accordion .accordion-header .icon{transition:transform .25s}.accordion .accordion-body{margin-bottom:.4rem;max-height:0;overflow:hidden;transition:max-height .25s}summary.accordion-header::-webkit-details-marker{display:none}.avatar{background:#5755d9;border-radius:50%;color:rgba(255,255,255,.85);display:inline-block;font-size:.8rem;font-weight:300;height:1.6rem;line-height:1.25;margin:0;position:relative;vertical-align:middle;width:1.6rem}.avatar.avatar-xs{font-size:.4rem;height:.8rem;width:.8rem}.avatar.avatar-sm{font-size:.6rem;height:1.2rem;width:1.2rem}.avatar.avatar-lg{font-size:1.2rem;height:2.4rem;width:2.4rem}.avatar.avatar-xl{font-size:1.6rem;height:3.2rem;width:3.2rem}.avatar img{border-radius:50%;height:100%;position:relative;width:100%;z-index:1}.avatar .avatar-icon,.avatar .avatar-presence{background:#fff;bottom:14.64%;height:50%;padding:.1rem;position:absolute;right:14.64%;transform:translate(50%,50%);width:50%;z-index:2}.avatar .avatar-presence{background:#bcc3ce;border-radius:50%;box-shadow:0 0 0 .1rem #fff;height:.5em;width:.5em}.avatar .avatar-presence.online{background:#32b643}.avatar .avatar-presence.busy{background:#e85600}.avatar .avatar-presence.away{background:#ffb700}.avatar[data-initial]::before{color:currentColor;content:attr(data-initial);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1}.badge{position:relative;white-space:nowrap}.badge:not([data-badge])::after,.badge[data-badge]::after{background:#5755d9;background-clip:padding-box;border-radius:.5rem;box-shadow:0 0 0 .1rem #fff;color:#fff;content:attr(data-badge);display:inline-block;transform:translate(-.05rem,-.5rem)}.badge[data-badge]::after{font-size:.7rem;height:.9rem;line-height:1;min-width:.9rem;padding:.1rem .2rem;text-align:center;white-space:nowrap}.badge:not([data-badge])::after,.badge[data-badge=""]::after{height:6px;min-width:6px;padding:0;width:6px}.badge.btn::after{position:absolute;right:0;top:0;transform:translate(50%,-50%)}.badge.avatar::after{position:absolute;right:14.64%;top:14.64%;transform:translate(50%,-50%);z-index:100}.breadcrumb{list-style:none;margin:.2rem 0;padding:.2rem 0}.breadcrumb .breadcrumb-item{color:#66758c;display:inline-block;margin:0;padding:.2rem 0}.breadcrumb .breadcrumb-item:not(:last-child){margin-right:.2rem}.breadcrumb .breadcrumb-item:not(:last-child) a{color:#66758c}.breadcrumb .breadcrumb-item:not(:first-child)::before{color:#66758c;content:"/";padding-right:.4rem}.bar{background:#eef0f3;border-radius:.1rem;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;height:.8rem;width:100%}.bar.bar-sm{height:.2rem}.bar .bar-item{background:#5755d9;color:#fff;display:block;-ms-flex-negative:0;flex-shrink:0;font-size:.7rem;height:100%;line-height:.8rem;position:relative;text-align:center;width:0}.bar .bar-item:first-child{border-bottom-left-radius:.1rem;border-top-left-radius:.1rem}.bar .bar-item:last-child{border-bottom-right-radius:.1rem;border-top-right-radius:.1rem;-ms-flex-negative:1;flex-shrink:1}.bar-slider{height:.1rem;margin:.4rem 0;position:relative}.bar-slider .bar-item{left:0;padding:0;position:absolute}.bar-slider .bar-item:not(:last-child):first-child{background:#eef0f3;z-index:1}.bar-slider .bar-slider-btn{background:#5755d9;border:0;border-radius:50%;height:.6rem;padding:0;position:absolute;right:0;top:50%;transform:translate(50%,-50%);width:.6rem}.bar-slider .bar-slider-btn:active{box-shadow:0 0 0 .1rem #5755d9}.card{background:#fff;border:.05rem solid #dadee4;border-radius:.1rem;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card .card-body,.card .card-footer,.card .card-header{padding:.8rem;padding-bottom:0}.card .card-body:last-child,.card .card-footer:last-child,.card .card-header:last-child{padding-bottom:.8rem}.card .card-body{-ms-flex:1 1 auto;flex:1 1 auto}.card .card-image{padding-top:.8rem}.card .card-image:first-child{padding-top:0}.card .card-image:first-child img{border-top-left-radius:.1rem;border-top-right-radius:.1rem}.card .card-image:last-child img{border-bottom-left-radius:.1rem;border-bottom-right-radius:.1rem}.chip{align-items:center;background:#eef0f3;border-radius:5rem;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;font-size:90%;height:1.2rem;line-height:.8rem;margin:.1rem;max-width:320px;overflow:hidden;padding:.2rem .4rem;text-decoration:none;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.chip.active{background:#5755d9;color:#fff}.chip .avatar{margin-left:-.4rem;margin-right:.2rem}.chip .btn-clear{border-radius:50%;transform:scale(.75)}.dropdown{display:inline-block;position:relative}.dropdown .menu{animation:slide-down .15s ease 1;display:none;left:0;max-height:50vh;overflow-y:auto;position:absolute;top:100%}.dropdown.dropdown-right .menu{left:auto;right:0}.dropdown .dropdown-toggle:focus+.menu,.dropdown .menu:hover,.dropdown.active .menu{display:block}.dropdown .btn-group .dropdown-toggle:nth-last-child(2){border-bottom-right-radius:.1rem;border-top-right-radius:.1rem}.empty{background:#f7f8f9;border-radius:.1rem;color:#66758c;padding:3.2rem 1.6rem;text-align:center}.empty .empty-icon{margin-bottom:.8rem}.empty .empty-subtitle,.empty .empty-title{margin:.4rem auto}.empty .empty-action{margin-top:.8rem}.menu{background:#fff;border-radius:.1rem;box-shadow:0 .05rem .2rem rgba(48,55,66,.3);list-style:none;margin:0;min-width:180px;padding:.4rem;transform:translateY(.2rem);z-index:300}.menu.menu-nav{background:0 0;box-shadow:none}.menu .menu-item{margin-top:0;padding:0 .4rem;position:relative;text-decoration:none}.menu .menu-item>a{border-radius:.1rem;color:inherit;display:block;margin:0 -.4rem;padding:.2rem .4rem;text-decoration:none}.menu .menu-item>a:focus,.menu .menu-item>a:hover{background:#f1f1fc;color:#5755d9}.menu .menu-item>a.active,.menu .menu-item>a:active{background:#f1f1fc;color:#5755d9}.menu .menu-item .form-checkbox,.menu .menu-item .form-radio,.menu .menu-item .form-switch{margin:.1rem 0}.menu .menu-item+.menu-item{margin-top:.2rem}.menu .menu-badge{align-items:center;display:-ms-flexbox;display:flex;-ms-flex-align:center;height:100%;position:absolute;right:0;top:0}.menu .menu-badge .label{margin-right:.4rem}.modal{align-items:center;bottom:0;display:none;-ms-flex-align:center;-ms-flex-pack:center;justify-content:center;left:0;opacity:0;overflow:hidden;padding:.4rem;position:fixed;right:0;top:0}.modal.active,.modal:target{display:-ms-flexbox;display:flex;opacity:1;z-index:400}.modal.active .modal-overlay,.modal:target .modal-overlay{background:rgba(247,248,249,.75);bottom:0;cursor:default;display:block;left:0;position:absolute;right:0;top:0}.modal.active .modal-container,.modal:target .modal-container{animation:slide-down .2s ease 1;z-index:1}.modal.modal-sm .modal-container{max-width:320px;padding:0 .4rem}.modal.modal-lg .modal-overlay{background:#fff}.modal.modal-lg .modal-container{box-shadow:none;max-width:960px}.modal-container{background:#fff;border-radius:.1rem;box-shadow:0 .2rem .5rem rgba(48,55,66,.3);display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;max-height:75vh;max-width:640px;padding:0 .8rem;width:100%}.modal-container.modal-fullheight{max-height:100vh}.modal-container .modal-header{color:#303742;padding:.8rem}.modal-container .modal-body{overflow-y:auto;padding:.8rem;position:relative}.modal-container .modal-footer{padding:.8rem;text-align:right}.nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;list-style:none;margin:.2rem 0}.nav .nav-item a{color:#66758c;padding:.2rem .4rem;text-decoration:none}.nav .nav-item a:focus,.nav .nav-item a:hover{color:#5755d9}.nav .nav-item.active>a{color:#505c6e;font-weight:700}.nav .nav-item.active>a:focus,.nav .nav-item.active>a:hover{color:#5755d9}.nav .nav{margin-bottom:.4rem;margin-left:.8rem}.pagination{display:-ms-flexbox;display:flex;list-style:none;margin:.2rem 0;padding:.2rem 0}.pagination .page-item{margin:.2rem .05rem}.pagination .page-item span{display:inline-block;padding:.2rem .2rem}.pagination .page-item a{border-radius:.1rem;display:inline-block;padding:.2rem .4rem;text-decoration:none}.pagination .page-item a:focus,.pagination .page-item a:hover{color:#5755d9}.pagination .page-item.disabled a{cursor:default;opacity:.5;pointer-events:none}.pagination .page-item.active a{background:#5755d9;color:#fff}.pagination .page-item.page-next,.pagination .page-item.page-prev{-ms-flex:1 0 50%;flex:1 0 50%}.pagination .page-item.page-next{text-align:right}.pagination .page-item .page-item-title{margin:0}.pagination .page-item .page-item-subtitle{margin:0;opacity:.5}.panel{border:.05rem solid #dadee4;border-radius:.1rem;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.panel .panel-footer,.panel .panel-header{-ms-flex:0 0 auto;flex:0 0 auto;padding:.8rem}.panel .panel-nav{-ms-flex:0 0 auto;flex:0 0 auto}.panel .panel-body{-ms-flex:1 1 auto;flex:1 1 auto;overflow-y:auto;padding:0 .8rem}.popover{display:inline-block;position:relative}.popover .popover-container{left:50%;opacity:0;padding:.4rem;position:absolute;top:0;transform:translate(-50%,-50%) scale(0);transition:transform .2s;width:320px;z-index:300}.popover :focus+.popover-container,.popover:hover .popover-container{display:block;opacity:1;transform:translate(-50%,-100%) scale(1)}.popover.popover-right .popover-container{left:100%;top:50%}.popover.popover-right :focus+.popover-container,.popover.popover-right:hover .popover-container{transform:translate(0,-50%) scale(1)}.popover.popover-bottom .popover-container{left:50%;top:100%}.popover.popover-bottom :focus+.popover-container,.popover.popover-bottom:hover .popover-container{transform:translate(-50%,0) scale(1)}.popover.popover-left .popover-container{left:0;top:50%}.popover.popover-left :focus+.popover-container,.popover.popover-left:hover .popover-container{transform:translate(-100%,-50%) scale(1)}.popover .card{border:0;box-shadow:0 .2rem .5rem rgba(48,55,66,.3)}.step{display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;list-style:none;margin:.2rem 0;width:100%}.step .step-item{-ms-flex:1 1 0;flex:1 1 0;margin-top:0;min-height:1rem;position:relative;text-align:center}.step .step-item:not(:first-child)::before{background:#5755d9;content:"";height:2px;left:-50%;position:absolute;top:9px;width:100%}.step .step-item a{color:#5755d9;display:inline-block;padding:20px 10px 0;text-decoration:none}.step .step-item a::before{background:#5755d9;border:.1rem solid #fff;border-radius:50%;content:"";display:block;height:.6rem;left:50%;position:absolute;top:.2rem;transform:translateX(-50%);width:.6rem;z-index:1}.step .step-item.active a::before{background:#fff;border:.1rem solid #5755d9}.step .step-item.active~.step-item::before{background:#dadee4}.step .step-item.active~.step-item a{color:#bcc3ce}.step .step-item.active~.step-item a::before{background:#dadee4}.tab{align-items:center;border-bottom:.05rem solid #dadee4;display:-ms-flexbox;display:flex;-ms-flex-align:center;-ms-flex-wrap:wrap;flex-wrap:wrap;list-style:none;margin:.2rem 0 .15rem 0}.tab .tab-item{margin-top:0}.tab .tab-item a{border-bottom:.1rem solid transparent;color:inherit;display:block;margin:0 .4rem 0 0;padding:.4rem .2rem .3rem .2rem;text-decoration:none}.tab .tab-item a:focus,.tab .tab-item a:hover{color:#5755d9}.tab .tab-item a.active,.tab .tab-item.active a{border-bottom-color:#5755d9;color:#5755d9}.tab .tab-item.tab-action{-ms-flex:1 0 auto;flex:1 0 auto;text-align:right}.tab .tab-item .btn-clear{margin-top:-.2rem}.tab.tab-block .tab-item{-ms-flex:1 0 0;flex:1 0 0;text-align:center}.tab.tab-block .tab-item a{margin:0}.tab.tab-block .tab-item .badge[data-badge]::after{position:absolute;right:.1rem;top:.1rem;transform:translate(0,0)}.tab:not(.tab-block) .badge{padding-right:0}.tile{align-content:space-between;align-items:flex-start;display:-ms-flexbox;display:flex;-ms-flex-align:start;-ms-flex-line-pack:justify}.tile .tile-action,.tile .tile-icon{-ms-flex:0 0 auto;flex:0 0 auto}.tile .tile-content{-ms-flex:1 1 auto;flex:1 1 auto}.tile .tile-content:not(:first-child){padding-left:.4rem}.tile .tile-content:not(:last-child){padding-right:.4rem}.tile .tile-subtitle,.tile .tile-title{line-height:1.2rem}.tile.tile-centered{align-items:center;-ms-flex-align:center}.tile.tile-centered .tile-content{overflow:hidden}.tile.tile-centered .tile-subtitle,.tile.tile-centered .tile-title{margin-bottom:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast{background:rgba(48,55,66,.95);border:.05rem solid #303742;border-color:#303742;border-radius:.1rem;color:#fff;display:block;padding:.4rem;width:100%}.toast.toast-primary{background:rgba(87,85,217,.95);border-color:#5755d9}.toast.toast-success{background:rgba(50,182,67,.95);border-color:#32b643}.toast.toast-warning{background:rgba(255,183,0,.95);border-color:#ffb700}.toast.toast-error{background:rgba(232,86,0,.95);border-color:#e85600}.toast a{color:#fff;text-decoration:underline}.toast a.active,.toast a:active,.toast a:focus,.toast a:hover{opacity:.75}.toast .btn-clear{margin:.1rem}.toast p:last-child{margin-bottom:0}.tooltip{position:relative}.tooltip::after{background:rgba(48,55,66,.95);border-radius:.1rem;bottom:100%;color:#fff;content:attr(data-tooltip);display:block;font-size:.7rem;left:50%;max-width:320px;opacity:0;overflow:hidden;padding:.2rem .4rem;pointer-events:none;position:absolute;text-overflow:ellipsis;transform:translate(-50%,.4rem);transition:opacity .2s,transform .2s;white-space:pre;z-index:300}.tooltip:focus::after,.tooltip:hover::after{opacity:1;transform:translate(-50%,-.2rem)}.tooltip.disabled,.tooltip[disabled]{pointer-events:auto}.tooltip.tooltip-right::after{bottom:50%;left:100%;transform:translate(-.2rem,50%)}.tooltip.tooltip-right:focus::after,.tooltip.tooltip-right:hover::after{transform:translate(.2rem,50%)}.tooltip.tooltip-bottom::after{bottom:auto;top:100%;transform:translate(-50%,-.4rem)}.tooltip.tooltip-bottom:focus::after,.tooltip.tooltip-bottom:hover::after{transform:translate(-50%,.2rem)}.tooltip.tooltip-left::after{bottom:50%;left:auto;right:100%;transform:translate(.4rem,50%)}.tooltip.tooltip-left:focus::after,.tooltip.tooltip-left:hover::after{transform:translate(-.2rem,50%)}@keyframes loading{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-1.6rem)}100%{opacity:1;transform:translateY(0)}}.text-primary{color:#5755d9!important}a.text-primary:focus,a.text-primary:hover{color:#4240d4}a.text-primary:visited{color:#6c6ade}.text-secondary{color:#e5e5f9!important}a.text-secondary:focus,a.text-secondary:hover{color:#d1d0f4}a.text-secondary:visited{color:#fafafe}.text-gray{color:#bcc3ce!important}a.text-gray:focus,a.text-gray:hover{color:#adb6c4}a.text-gray:visited{color:#cbd0d9}.text-light{color:#fff!important}a.text-light:focus,a.text-light:hover{color:#f2f2f2}a.text-light:visited{color:#fff}.text-dark{color:#3b4351!important}a.text-dark:focus,a.text-dark:hover{color:#303742}a.text-dark:visited{color:#455060}.text-success{color:#32b643!important}a.text-success:focus,a.text-success:hover{color:#2da23c}a.text-success:visited{color:#39c94b}.text-warning{color:#ffb700!important}a.text-warning:focus,a.text-warning:hover{color:#e6a500}a.text-warning:visited{color:#ffbe1a}.text-error{color:#e85600!important}a.text-error:focus,a.text-error:hover{color:#cf4d00}a.text-error:visited{color:#ff6003}.bg-primary{background:#5755d9!important;color:#fff}.bg-secondary{background:#f1f1fc!important}.bg-dark{background:#303742!important;color:#fff}.bg-gray{background:#f7f8f9!important}.bg-success{background:#32b643!important;color:#fff}.bg-warning{background:#ffb700!important;color:#fff}.bg-error{background:#e85600!important;color:#fff}.c-hand{cursor:pointer}.c-move{cursor:move}.c-zoom-in{cursor:zoom-in}.c-zoom-out{cursor:zoom-out}.c-not-allowed{cursor:not-allowed}.c-auto{cursor:auto}.d-block{display:block}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-flex{display:-ms-flexbox;display:flex}.d-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.d-hide,.d-none{display:none!important}.d-visible{visibility:visible}.d-invisible{visibility:hidden}.text-hide{background:0 0;border:0;color:transparent;font-size:0;line-height:0;text-shadow:none}.text-assistive{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.divider,.divider-vert{display:block;position:relative}.divider-vert[data-content]::after,.divider[data-content]::after{background:#fff;color:#bcc3ce;content:attr(data-content);display:inline-block;font-size:.7rem;padding:0 .4rem;transform:translateY(-.65rem)}.divider{border-top:.05rem solid #f1f3f5;height:.05rem;margin:.4rem 0}.divider[data-content]{margin:.8rem 0}.divider-vert{display:block;padding:.8rem}.divider-vert::before{border-left:.05rem solid #dadee4;bottom:.4rem;content:"";display:block;left:50%;position:absolute;top:.4rem;transform:translateX(-50%)}.divider-vert[data-content]::after{left:50%;padding:.2rem 0;position:absolute;top:50%;transform:translate(-50%,-50%)}.loading{color:transparent!important;min-height:.8rem;pointer-events:none;position:relative}.loading::after{animation:loading .5s infinite linear;background:0 0;border:.1rem solid #5755d9;border-radius:50%;border-right-color:transparent;border-top-color:transparent;content:"";display:block;height:.8rem;left:50%;margin-left:-.4rem;margin-top:-.4rem;opacity:1;padding:0;position:absolute;top:50%;width:.8rem;z-index:1}.loading.loading-lg{min-height:2rem}.loading.loading-lg::after{height:1.6rem;margin-left:-.8rem;margin-top:-.8rem;width:1.6rem}.clearfix::after{clear:both;content:"";display:table}.float-left{float:left!important}.float-right{float:right!important}.p-relative{position:relative!important}.p-absolute{position:absolute!important}.p-fixed{position:fixed!important}.p-sticky{position:-webkit-sticky!important;position:sticky!important}.p-centered{display:block;float:none;margin-left:auto;margin-right:auto}.flex-centered{align-items:center;display:-ms-flexbox;display:flex;-ms-flex-align:center;-ms-flex-pack:center;justify-content:center}.m-0{margin:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mr-0{margin-right:0!important}.mt-0{margin-top:0!important}.mx-0{margin-left:0!important;margin-right:0!important}.my-0{margin-bottom:0!important;margin-top:0!important}.m-1{margin:.2rem!important}.mb-1{margin-bottom:.2rem!important}.ml-1{margin-left:.2rem!important}.mr-1{margin-right:.2rem!important}.mt-1{margin-top:.2rem!important}.mx-1{margin-left:.2rem!important;margin-right:.2rem!important}.my-1{margin-bottom:.2rem!important;margin-top:.2rem!important}.m-2{margin:.4rem!important}.mb-2{margin-bottom:.4rem!important}.ml-2{margin-left:.4rem!important}.mr-2{margin-right:.4rem!important}.mt-2{margin-top:.4rem!important}.mx-2{margin-left:.4rem!important;margin-right:.4rem!important}.my-2{margin-bottom:.4rem!important;margin-top:.4rem!important}.p-0{padding:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.pr-0{padding-right:0!important}.pt-0{padding-top:0!important}.px-0{padding-left:0!important;padding-right:0!important}.py-0{padding-bottom:0!important;padding-top:0!important}.p-1{padding:.2rem!important}.pb-1{padding-bottom:.2rem!important}.pl-1{padding-left:.2rem!important}.pr-1{padding-right:.2rem!important}.pt-1{padding-top:.2rem!important}.px-1{padding-left:.2rem!important;padding-right:.2rem!important}.py-1{padding-bottom:.2rem!important;padding-top:.2rem!important}.p-2{padding:.4rem!important}.pb-2{padding-bottom:.4rem!important}.pl-2{padding-left:.4rem!important}.pr-2{padding-right:.4rem!important}.pt-2{padding-top:.4rem!important}.px-2{padding-left:.4rem!important;padding-right:.4rem!important}.py-2{padding-bottom:.4rem!important;padding-top:.4rem!important}.s-rounded{border-radius:.1rem}.s-circle{border-radius:50%}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-normal{font-weight:400}.text-bold{font-weight:700}.text-italic{font-style:italic}.text-large{font-size:1.2em}.text-small{font-size:.9em}.text-tiny{font-size:.8em}.text-muted{opacity:.8}.text-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-clip{overflow:hidden;text-overflow:clip;white-space:nowrap}.text-break{-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;word-break:break-word;word-wrap:break-word} diff --git a/ghostforge/static/img/default-avatar.png b/ghostforge/static/img/default-avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..70c3858a87cc53ad240afbb5b5efa9deca6e3f72 GIT binary patch literal 14046 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 literal 0 HcmV?d00001 diff --git a/ghostforge/static/img/favicon.ico b/ghostforge/static/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..69daff20a9bb62964450577db3a80da8a0e458cc GIT binary patch literal 244582 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�(jc2GZiXt#sRUxzHSHTTu_c?)MvP1-rxe>krVhGRM37l`W`% z&Xa@+>@$KayISyTa1QyuBYiR2qV?*Tq2T*}T|+UEETB7Qg6FrO0x~cY$h)YZWAsjR zjTw$vprGwmRPbx-vCXhWWebsrG11b(b5Ou{Vk_)3Lt$Ah01sw>%~mL@=b8VUV}Wxl z@C-95=-fuIr@$5!^iK2)dLI+W-;7ZAf7J`>it2;c31H5$0r{<)v&DweP9jj=D9s2S&}LMc;MzmPLqi?#`{9{JIFEAa;m`hgKdN6<)q|Dx z!WPvNwfzC`JBW9w06d~Krx6Y-p^XT)==W=RB{vhY|E}U6zwqyW|DT5dF7pG@SH}M; z^I;YtAYVWv58{4;FfX8eyuf*M4%rI-&nYYQT&dUpX?6Rb!wK0q|GV;E!FlzW z)$8aO;qC8ZbZ+$+ZU5%?SK|Kw*N6uEp#!Kl{C5TKGyju&{=4V@cdso$$Nb-Y_W!Bp z{@;SlYWvXG#mDb|fuFyxt?r}kuO;XSu!HvhKEHbWAGfRDL)*Wv{eAww+yDC+wEy?L zaEKoxP82V21H%13WkqNC_cI9Y|6Kp)eSg0jy%+ude(t~8N6-CT{=V<;ccSwv-(HzZ z|KokD@A&)t-_NX`U%l_2?aG||&+-3QpTDpDJ*H6`|Gu`mkIthXI$pUS!Et5mgAM)P zzkfsE-w^mW1pWg>5c_f2B{OZ-|9!Va>oWZMd3LT86PK_OU?e^LJ!b{p0$A9Er@`-yh zCgT(*C3Qe*?9?gUQ)`)&sA+Ew?otXJ2V|A3F#AG-IuRh z*SYFmBq@XtLg2H+eS0U?6MsLC^7*K|aK`6dca5Jl?~r{IfjpQgJLfQINAi2KIV3(# z*5ggnZ16AnY2`1O`=&Q#E**$kx>P}A^PCH&^>eZ2<}UiG7yHY{N&8XeQgd6q%ko4B zX+o6PlX;*kP9_nec1uk{-{p{q1i9GspYQdS52pP%^J&h1!#wt6$lv-&_Qtu=BGym5 zOKl&YW{M_YOnq3J%#X|u@|iVpwKCZo=Z{Ose<|fi=*?_zGr^t)NgQ-r*v`7V*}U*z z^VWb_?n65i#g?>5Js8Vgqm1QAQ3yakl88OIKlO7y?rp7I>f*B@3W2~Fv@Nr)^&+-@ z?x*Z&%x78UG`C?IHvHL;kF-ynti9CKdt3r@`~9YnsA#_Bj!Y{KE_mt%Vh5v|GA{``d|SJ5N5C6QHu~Z5XU#NMUVoD9 zoLlCnDZ@6^gx8*I7CvUfeza$y*Q0Zsib#ge@iV)Bdq{Y&eD3J^3aJEM`k}tXQajR5 zhpRW{)W5DJ-dIjpc6IWlbe1UQ);lh5A3V*i*cM?i8%rD8wZTXIs3h0)(gq5j^f;#= zRnzIv!~?lRazFsx!DivmO@q_V5)vu0F&{HM*Govs9F0gbGWYGi#?C49)Imyy&RxI1 zu2oi%H$!41(|F6e9jAtd&t|O zf&^a&9m~4I%wl2T+gZz+8r#4l;{2xdT+FX4?ibgw8ERRFNOQW_FNJHgy!QC%kXh*J zN?b>MZ4FP?&Q#9#eucjj;X1$t^~_RhiY-(QIPFZ_Q0o{7hjC}!t>&N2AL6zL&lYwE^BZ+zC+ zuMLo3-e~OqTJ^TMNc7phuC@?a5z9?3JvX-#_tz90s4~+oReXO%^RQk2jXlal^6*XZ zEr$;9zdCVn`?Cg8qve8w4I2-GsB&S&^{+x*Nt7^L4HoxXHO_+9w4vGHQQBK;*d8~Es#%BuLam37~K_qH;{!Z@ipm;GH}CX(*)OM(4)!u@?z);lxJP0#-YQ$K0tABt|(hMQO;@@w&#b&Tqeh zHN7u*_y$pt14uj}BqgE(&1ShrbH1vfbcB74A}z$4v`L##v1o20g_=N3M+{iEm$4)H z&X1%kvPK6)pKcE!kO`Y<9t}Qa5RZ*^+FE*#k5g-71B0hxXi$oTQ1GDo=vpdOs($tD z1V)8Bjw&JKAR@(P*os7wBL*e6TMLPaT>bu&af?)SbDvL6g8S@U`P<1_JGQshHPzg= zedOq_u#eKP;ge*JwPDWvz;iMIq@Xzm_IE?uF3W!VusMK8AV%!$C*BcT%kH0My_Ycj zTH9g^Nn~xzt^9Me<_ruRdI_#(6SC>=S*K~zsJZ2)n;Hz)(~!wIv^4QK)4_g5x;yNY zFWDx_n>!0N(#XZ+utjEVR=6*6XKbBCk!%-XUCCAJB4I)ZNr6d&qO{pOVMnVZnN?GO zX@f>|T-*+Gs`|7WJBbt}Cf<0G4K1gI!oo9V$t4#f&npS7Vhf?))*X)U6bK9rd3!HN z@ENtDZe-Eh^~3v3H;1%xkJ=nqSWi}5C#OoGIlm=hSWl3KuSJ2H5I~f(`Sd_zBs79} zSkDPYYd<9@`G-AQ^7oL?(D|NUJ3`syIHxV5_}BLu9X;QZR!cSwp}OW{cTQ%%d!s4K z#Mb_i;0CdlqVlqX4TD?^)dMwaDXhbsl9p7_w1cJgOCp!;a$a4~rU{IfBM9@YG04-& zuO2muIUGFU8EUpUC^er{s4enTSWlFGT4}u`ACm&pMFE=4OIH@eS;r?XNbm~r1(1oX z>qeB2%qz{szJ@N1FU;9lYDsb|V?(K-b z_4RsZ(0xqWiDkN&Te5~h;?aJSBHfCcn^^mHl(}`)O_2iSV>O4xLkTCCTE22B9tbrq zYkM{OZRS$6#~W_8Li)WDceifiTMFM}D;zMdVN_+R(J!LWlss)O<4v=Ja{noL`wvn2 zY)#1kMGM#WpR->n#lM}p>f}X}SLPZqpGsjrM{an?$E(YlyTwKW3SeqGf)jE9S$*7bXPQu5HZrQuzPU-glp9ml9otk z_46s64~=6|BkGX~kCbva`EDnk-nPc&V}P>z{UM^@q1XDJ{MSD48olP_RUn33*DHZE z-P^b`lRK<*H5*TSmV6UsdrjixGac3Bx1t}cqt(~T(QFQ4$|AFCc95toSvyEPmJx7YqT%{rZ0JmqmaO+~E#+ihAZnl+i-;>oHv`|=hqPU(0R8W!B48$bBw zJJDp*Zu;h9xkYyQR7P?gAqQ;R5AL*iux(tCf4I^9{y|$xG?Ox|^z{6LB^mL(vsJ~E zEH$2Q9yAq3vmVBg`ET~_6%()6aFM!mACY3QVNh|8(Heu~7%K{ca+=wt>#we#595%a zdVa%>7}FV?d?|0bIXP&%U;f;Bj#<8SB*iEybr;ug56P`n%4l0hs*M0_LA$BT5Q zX|L#2-FkFmxqj*~h2!Z%n(3 zau67wuRLUuGP=V-x^16`MybeJrBW4&62(wl{J8jRp53?4SNIlqHz?8ZiPRHzM!HoW zy81+4g6V`Pz2-eKF+!ha`mvmrKqPg@H}7S`B4N^7IdYAY#X&~eE$W8_XouMw7QCCA z$xZHI+g-?;6)lGu-{1e{@{F@5r|8uWdIRZiw0p`bhBsf$zH``ay%<4>sL5omA3Aw3 zBtB=NQBF&=c4)eG#A9gYp0}?fnV!i&mr41Ou7<8Ij4<7P*HcYZp~8HUgRWT?(R-|p z(xfbpv9>#pX7r_=G)jO`);;W?YzoC5=7NwdzJ{6~Vd z@_3IVRQ`O|XS9%I_HKCB3$2`Rh5MXJihEscer$^IG(A{8tnidh=&9@2WshOK1-{(( zV(Y|3)B+FW+d5E}avcdTwvEjC{&U$Yd&J(oYRoTp^z*z@sVu3b(RAMlCgma5Q~XM8 zA@9XJ!KK@6g9>$Ei~{x116$VH*j*Uxx$8bG_>P6lt9N-DWrHT&_Su@ziSLUwfpTP4 zxRzJ5#gbTiSAth}_iKxVhZ*fKt!9gB#>GXo^@F->cl2eBz>>4VQtG z&6KOkxR*d2kwQpwxqw9rx2DF5YMd0+Hn2_2nXby8s>)%Lb>@_kk$LrF(IexP2eTXT zPTfm;*Vs+R1tR$ZJl2ZG$QdPX)fgzXukLOx4c*>1_Ol_Et%2uQM^JMJDWz>o)M1Ha z*UGgiM`yjCQ)OnpTU6(RI%hp1Qj)FoV{ZwB3+w6XUfP<->AG#Y%9?Q_`TqJ3<66Yd zlfC;0re1nt-)%ScY?exke)g2cRDrI^NuVjrVGV^4nf27(J+&x#__NdrH3FHp*?gnI zzSh+Iqh-&hVFdAZ5>3V#gXAn5 z%SUdHOQZ+8R0vgAta4b^{5Hf*hx>5@wFL~ zp7JF9+Heasy8ktQ zY@#74uAwnVp8DYxne#(Qw}0!lG@iEEUx%MJ_D*Y$TsNiB7graiSq^N_m+W+=>n@dU z`zf8F>Jq@}CAitu`}u=xs_o{48}|A&l8w#k4Ak+YfYMl9po7t!;fxABA%W_gtc=9a ztHKP-!j6_I_an}K*LU1=)Q`=_j;_(#qe-PD)V%fj*e4TXrdWpK`AL!6X{=0#@QAaB*ZG~jok=ll<;bhmS%{kE^vrg?hKG&o0N$~16}x#iiXE2UodRm=*d72>l<%JPvp zf{J}QAG;ied*obqdD$Ek6X|s1RHUTl%seP4O<|oD(V!K|uomdZSVNL4X*(nn! z(Qi4({C%|Nc9`967V)V!C!Wee@SiVhwZCyjT8 zAJ+&N&U#V%`3o=+F9tQrHGKZDF8KF}p2_*DQ$me1%*H|~WFluXmFz(V~c$5kX^Y{kzVfD2RF&F!v(q*#L_zT z3P#R~8&zdpsa|(!ZI+=Houq;r>4W}|u$jI*Njf!$?dVOThH5tKZlZBf2ub@I!*+T; z%P;|((IO_1^QwgKMuGb;%1>~;CWO(+(kX=OQ`*Hxupm77YzEWEVG$S4Qzq}J2wF^Q zDet3}ee!1Qy{Esuc{1Syq-ZuNXLGWdu@H+w45gIrF7NpdVTyEJkJq`jaujDzw<`Bu z?wEOeGqJyaOZu^+$y-yiY*VRe+$CdFCB_*SOmYhz?WfR8du6{U989hDUSC$IC8EK0 z{^Yo-hnv8-Mm-DtjKi5@U-7-!}MbnB^C<( zbaz-yZB7~JiD^Jj)lYV;^hjygDAYB>Tw`*4-}t7BL9ZMHI2kS~+>mQvAudo;m5lC~ zmF6c(ckCljtKZ3)0t%CwV=G3YAvRXof8Hb+eGFF+_w8E zm*DMN+CNi1I%Z!nH2saENUx~(oS0FJSGLIow`VhO^7AGoO{SK*EP<*Vj^m=f?3Tq; zL6>=UUwoLvV^>u?+AC_ly)Jap?f{`o>FGYQc=MU_#vE5SpS02BZVf$S$Ckl*Ix0%C zFLOqYmB43x-NGP=HCapNP@g>W<0%$FRIG-E+>21g_XJ7|O2b`WC>Yx`#m zV_6*qzHB~ZYHG&axvo57eQF&GSw!Pv(C=UFLv;&Fjuriyx)-euhMLh*#_UIDH|GzW zEf`>?k=MHy_4VQRuHSbjOS}$U$_mQ}t#x5oHov-X?05CMa;b+&T~Y+oTYUNycd3td zFPO|nck;{`mNRGI|C#c$wJ*6{ybm2opbKsYZ`e#EDRmy6{`EPtS48p7n#M|@ z-RIw)6X>SwTh}?@6si`mT)F9alASn4er?U6F{na+SkrZ2!g1&R!vy6ezosU)>ahd; zz>lf2t8#X14zeErwFKVxm{mTZh|)}Wy}s{QK3 zzV|=UGr8QW$2@o%%c66pQ&JYqOK(5=ve@!=K-bgDE5YoxpMQ_N`|hN}C8Nqr8ixhE zh{C5&Z&w+guDY;aU7E8cJ*HiP$D`?+;+c;FjYJfHHniV&8`pn zef=dj-8yQj`j?aR7pWsWL^v7NQNI9c5i|`-L%qe zU!~j1M4Eb}yQ__Z+Gf5ySX(jrcFwEDq-1Dv-s{kf_?I(|7q{QIdbQoK$Yf{A^!(w1 z0eg|un8Uz|i5hjfRqtR}S5|mCRp>~~UtG0$mCHHSXOcjaeh`B$^L8w37KW|u6T3MO>L0?xlvpc2JQXp0Lr}+(!9kV`S zi7_FHf*o?(hlaasYGtA~v%1ja|8lq~=F9fDaO~5$b2TLcXPup$=So9(cgy}>@bSM8 zM-tqXyzUF1wP5VZkybLo>|!$?`Pe$8BC-$%d-pT~7Wzi8llD z1yYO6gDAp+Hs{`Lk)xqx**5QE>L`vRLuFuldZh3im`8m0{IXW5$olNa?%kAf&v(yk>HrOo@6|hI_++(iS z%Y6I4?KBTP#wJoWlzmU;=Dj$^QDV9cYp=-p@rT#Q4xD@2KMa0@&s3ooKn@hGv|Ad4v)*xi-U$ zO-Y+1m$jvEDr>l8prFNk>Pwk^)h_p{ZN%vK#6TUYEDKdllelquuZiC9(U}|pwE-rB zOGcgcdHQ-fYbgyIuXRsGwOO?5?6Q5bBPm)*;rDg_bArOMvfdM|YPG$$FYlgYNy*Kf zT=bcHo#o(`d_lx8HH(ozQl_YeI(kSX$Ph}77E>a&6jW2!2(_fw$6ns=L$*^P8;(8^ zHC5lB~skKTg78lN}& z4cJF$&GfuBQs|nRC*}g($LGALl&%Dvka%*Zkjnn9V3VW5>C35|dL=K#?@r3@D3s+L ziu3zoacslVdydR=c4s6_!W9HNHgJA+qBV)*C(WvuztY(yd@w@;zG+eFA^qWpm+L8Q z%f$~L@<(SxQ;XDY=?R*gGJaQ5{CL2y+_)}(;6ttbX}B{lWYj<(nK6=?)=WR{uzz}b1P+80yz)~_k`(X}nFI{Efl`;;dyZWDwn{)lS_?hzsL~ofYRhaVG#$K>cl4OxH4-6!w|#PwCF$(I%zS&~;JN!7FDg`w z-m-lbKQE#Y72NpN^VL$}_1o-n@3qIQ+FdW1)6DE6%&w7HxSYzvU3cJYg`v<^0#QD2 z^7Y)KW)C+rdpCPOFDG+pP6n?UuE5F73i&x=Mn&1#*&Q7ZTUy?}wW%-ink*8?|92@2Pzs(6po`d!$^%6hs-r*t<* z@8)d;Rc(4>uI%lt}yM9ex|J1vJE+>lq^rrZaK_m^=KPIlKJ_)3RT4{N8iqie_mHx*EW%CrQ0SsD5|VIF*n@z zFpE5!C2?Dvy-|+LNXs!;wQcVA!4He9Yv^Rp-Du3YUC#J5JjZVASczet_~^1*#c2VP zZQR?$Ip|Y!ilWyP-Zre?9qD_dzx=qDJYm?Ouu1h^FGp@oVCK?P|A7NMb_7yt7ERy} z&)Q3>0!fj_qt95M$zh(HbgFcbU{qjY4-bYpuRwIyz_Uf=-`_qiExq3FZy=adY}k2U za5r6NpGYvhDTl>&=?%cu1ejeh7Mh=JoH^~c{Ow)mTT=mYqDMIyN0gP9N+qR`nsYF=(^}iU!p_g0kDd1ZXwl)?7w7I7%`gNpX=wV@yW84+>dmhH z@u_$RY?FZXTG*%gb9_92vQq_f(&UIqFU8U2TyumX^iJtCb^p5$zveym-~#?pb8`*+r_> zep_i0&7M)NlJQ8IfTHoIjtW;%{s3n4d4<_#HDI+K-GwO{z) ztN8_Kd-sZ=BHd{<1x;8Y%k-ieJzbBc^ZcZ6z>$+ZYDQc+W`@cOp`7fhPPtz*NfwDhn}6!ZM1^M|H2%y;U&ep=IIzky-={L|60pFa&{*lq|k@4q)R z8Pk?EQTe3r_4C)SpL+;xi&OD6DJh;l`Bts=#eEuDoN64a2J z5D~WN)AM@w(HUmR^zW~F+dunZGe6Vll{I%pzFyn)`G?BGOCHk9F^54wB)>l%-9ic} zyLr#3$my1spWocO&enH>$8KpACE2yDZ{xTizW?gC1rK{SH!oX9N)qSSU($dzX|DA2 z^r{DsxH&nwxwt_0Zenaacy`|8xQ^}^^RLW@9U9G#LYP&eeU5svvWf-DDn`eiy6;@R zkI(#g!cV92=d7)C!h_+Fr0SaC0nysAv-jE0m$c>DRVknBYK}V2`hO}`o=>n@ySi?Qjg}h%s*>ieDC@`H#apk z1*~zAaURRj0mIs{>F-rz#XKE!iptqHBHBSTMa~=vV_;^Ns{lsP9Q1B-RU~<^!JNb zPnGO>QX&pF9XOypVr>0+{N_-KVq*hTtCOSS?p55wjRj9k+%3>j z)-Jtt`TWUBiPDZuPM-q%`S0KUkZR5?di7c-)e~y^s9XDb_vyv#tJx~rq@=5(!LQWs zqN_=44DAiw=E?=+n9q(mwr7!@Ct2{x6f_HI@d7SYfav0^eY z>`7nC>fgM0N24ju=0w|_@Y;s#jdp7pZrqC9119TVzz;}&W*j!{0hZ?VvUkOx{n#T* zEujp4njbClr6(jMq<_w}O@4m)`C7)i>G{~g_u;Q?QY~y`m>6j?B9y56`ztx@j>4QV zQK`Fc?w+?>`k*13ICyvoAq_7^VvFtv03{B1!iL3e{@ zwoSwhy%}~lxqWQmT6sEkyH2i4U}6Z%zNE^R9)0*>g3HzoYpu`l@wXm$WlA8N*m<%- ztRjx#_|aSJ!hs!TI?S5kW;Q9KTj>@RUyUyaf^1pcAiU_ao&BYF~jn~ z&ym5uuNxM^n5p;u`huHyv#*`QuAsvHrLlnt=h5aMDt{g>BNKzO?p1C4XZD^hsrQ?A zbGNG>_`twx!2T#TXOmgAUG<0S=i0n2m43%O=tx#3s5D4%Sb`Pz&veinFH;JS`CLHErA%rNz=h$vvJIKb44fl}< zAG0oR+VDAajgu;IOB~luh6>OAM*4U{kT5ymM0iNkZzJ)O$tf@g@#p07_f1)n-=|nD zE-jtI#%V)-u^r#K`z?0%iu6F z;W#IlJI$_e$HjHt&n|a#TGVJ;x@pB|ddFK3Q%k?;w|$Y*<24v^4G3FQ$`QERLzBIi zDuhNZ%c52`{%02N?p;*CA(%emCVE8fc>lGsHNmlDh@Q}+Q$Aud`SsSZTsx+n2J)vA z`54n#E1Q4HUCvKByqNFim5jaq%8w14UOwyPB%Pw+|9f%bSnjV*@t2#LsVr?2$eKrv zZ@CrNXJ5W?acMfGq_6VZw<;kqx#3_ zz}ao4gwDrn9kvN?qm|q|8W-BEX3Q4xHF!GXV&a+WN#XnMnH_$^uiQ`Ftr^Z*%y)78 zj`?FAeyQ}~WBcpfe5-i-)OYW*eWqR}oG>h4d9#g&hAs3k(>(11S4;EcV?UX+7LOD@ zuIjjB?e~aug+L@-d~R}5f)hH*yUCnSFO7^0uN=L_DBT^k#_`OVA8+1#93Qtl^J9E` zd||1uXX?9c=)9Nj$T>0AFL67v`n4;Kh0@hxtjh9Am7aY5p+E#WQDk!H&@?q+N#>=# zw9KJH!lI%kyOPp6nH#T|vDSBgW;Aw_-uf&#b40&+*z5JU*+g)T<#vJ%yWW#5eQFBH zBX-gtoY;L=CNs>6O+mGOFEEOS@9t>dpb$JHO|b` zCsuc-l%$!Xlyh_W-o4A==XbVfUjQ@==$30<`2LfpRj;m@v~T%Ao-h6H${f--|7GGL zNvvF!K*=I?+|^Ig)fFvEYMlQlzI%Al_T{h14d$UO?@82mb1wzbvhoS$kY4L2D?DwZ zKFLkHC-HcMUmN?#)lP1~^}K@-#~8-q1X8~|IMuH`;cj0fo~rKM>i z@yF+iy2W?Z>FL3Tv-d_u=9}xP*k2If{Bm65t=>sy`xnNk>FLoe54kEj1X_DtinNL@ z7Ysy2Eq(9$)ZV@`#KF~S(SKnGn;F(O_jB{||1th;fzFgp-M{G?lS24g{m>gla_LQR z;v}Og9z^l3hLy~ZpYQF*JjMPO1;&p9I-i@kRW@ofVnus_eb{L@yyiB zTJO(YlgGJ_9e=mP_2cp5KA15Rb2n8~xcM*4<<1X%j*aV9*6ec~3-pLpA899v-M8uV z<29evEZcW)ZE5O2^vy+($mN)_Yz_6Slyz-GNM&AB`mOa>*P4ah{as2&C^XU4<4KAb zW$h}Bb&brDh|Lz*u=LTYx@P>iu^uzugSy)9^|4Q79yuC|uyGp#bO7&J-YbzsgBtmIdt~@z*%(8z>J)+rz;1ofWA-d-@j^yu3+=vG$xhX?Km?kqRV z9-T2$7of3;{O)x~D5azKVuKh}acSid79u6q!ZX&wCN+q-rEmJjFJH~J;ebWgXxD8~ zS;L<C#HpjhnGRW+P_38Qf`Q6+ZVq=eO zTr@9w!Ku2x)$+<1ePCB`oANJ6JspBPgnFl~jGX5S3$-F*z~! z{=3Z)9R|k)T?v&J``#Jdm1bNf8HtmWFC1W+E z(z3GY9k+aB#3^!2E&X@DMs+-VYemW2YhwIv<3+7F8GITGSlC3GE;@wF(cCPGz(|2Rt(qsLXNB2DG?0jD9{By^{jq_gMU zvDx?UKSCbO+1Z;ux>MhO)!Ns;dA za!LFD2Gy{*zrp+YpE*@DB!as3qqkcEY_Gjq~2*10ldF5>y?KA*Z1yO?&D6_UfF*YRK06g9p4KJ{WeQ`YT>i098blk`QN zPq}n;b)ByBa`ti?nT{g$#aK^6Z+O4ZJULGkqNH^Q3U!upzO=b#X`rR6Tkds&wb77+ zzwydGL8;_${zTgP?ha?;>VC;Xhh(LyPl(cycRvULsE=Gdl3{VQr7unVf++p3rQaTc zV#%D@wvv}P)2>`oKl8n-OUSTDuVA1!Y4^#CTCcKBl!$&wxwyD^bz~&Zm~Sh?+6%=+ zG{L`Z1R3L0jvwnj+EM@xJ@LHfTBNR@kKZJJj6X-5N1C$mpl*S<%os#^Ex{mvGoPI% zAnSJA6*a}DbHM?HW*R;Tzo}S-t!AS6v-J~6271>w%~2okzibdh`|&}T>n88BZ;p3w zlzdZX@_#DDrE$u5eep znenxT&}>R=-3ZEnLtGW3J0h3oD?a-zOx)$ptd*9O+)hJ9 z$RBu?7V{(UI=990i*%#oTrXh~TECwE%$bxVwQ@tdr*@r&wY_KEnRG>YzJ+$&-tzG4 z!#4{HPn$jVy;mX9uj{M+VU%Vhm5}8mL}8>ItEs$KC0%0o;aAKL?4AFw3jQ-GBu$V< z?d`42%35Afo_a2dT%#5=4_@c}Za?C?A zj+vE=6SDW7$KJ>IefnKje|70X=Xsvb`+eW9`+gGc?~_58+#14Ov1X}t>FH4gUc?lG zAweovorXwFU2XoYbBpP`e$dhGRsNsdu=3?Q0 zRx?>KN&^JWQ5SFj=0M=4VV2DQY{#^J33B92?<=|!l0tC-B)@m>e0&Yw2+b}Z#Kv_| zQrQY@S{DpW%+AhF%}9zh{NWXq<{^(+H7p0*5ZK*%ND*Cy7v^obuR66#5Gg4~axL2B zW0`U6AxybE|0(MMpI@_L&e-Jl>hPvBCuIWORiMepi@b#kn>@qvvo0)1o7nLRO_4c}DHfkuU02R%Lgr5D8aiy85 zmGtN0AAOd!gT|wDs!>OiG@T5~yG-S}-u_O~K?XAuKGFh`zT0D4OFwt?SxAWRx*xma z|9Za69u-Oe3|fi~>7)i2UuTuZa|1K#10-cb_}m9a2|JyD`Q)Ph{+; zee@5hOog`b3VtAfVE01vLpwJ01?W^gXtH|==BXptAaVplRtFnE&DonVH89D^%*a{r z-K~BzF)uwcHzg?{ffVI2PIWBTeVIhj&KAqItfF#H#Fe|UqCc!d)<8pTaB#k5x~Zw2 z?igSHaWaQl>hHa|w}r`3ulY%c&IKk{e*Ww~=$$mLD*g2qgf-;HkKG$IOGSKS3Bo?Q z$U-3UKNlY-FoeqGiF>;Yae*$~8E(DGd1*;W|1+2E^OdIQ-E4ZZCOT9-uIz}QK@yum zGMj;hw$2c_j+Ty&h7MRBb@YS=&J{HN1B_U58Ao)5gRaM;8fC+A1P3uUH(~YHo!uRL z>>G35g(H7}4KVG0Xv18GnDg5Ae<*rlkc^ylsTp-chS5G%k;*L|*_7}h+1p3lk2 z+JwI*_$#C^Vy&RVB-j3qBT22hd+Eeh&-n+IOa{CUfN3X=qgy~Izw~otNzVr6lr?|u z`_uF8fzi>??D5KZm!|jWtz5^ACI*^p8u0P02>ghK1907UUd`+r4qx$*AvQmkWY2yS z+1|^M49Z4PMHNtmGS6of9tb~y7I*RCDoCvfW>iq{PpM;d;L5!?!V*oGJWsF)CeiO% z9FhaE2;6UQJP2PxXVnp}^j*#A*SIf*f|qG^>-fTpOk9|$31*rQSK~q8kQlwNXN53} zwboyC)CC0`SiW~%uQGglACI#=*kS_MY=g1SxCf+s-Ggj=nW>NKrpp1O14xFOrB%NM zZTd)HQ(Dcq)YkogX_g@Ty~lpGn~MTNE=ybzDItk06EP%^3FT1L;2Gow10v5Lsu7nt zQ;qOL8}Dne?0jl=nuHgT`e}C{y9qtDwGAn)95CdyDRSDS z7EEmb5KrkvfQuDDhvbz;R`I4Q7i*UALE5J4GEe-F^LwRm$Fr4>jN*CYjKJrNR=N!@Z`eFQEhBU7cW${pzc%qm@O`? zTufi~2yNV&EWWFONhi~Xn_%xi*kvD2u7uw^J6l`L@&B5euLlOQLRZhZx+2>=Uo`+a#na^;uN(s$YWgd;NRAZ*TtvB zsnRdxS$-pC`j7t(y90$huv1?|t&RWCwNChqeDzj?J3Z*Aw6fd7Ky{Q@eNatpko%|$ zc&D1>LYd{T(rFj(>GDAt?MPzn{5nHP0<0gGrpXrfo|r%WE|y~PtA{X%0D{Y8znUlu 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%0DZsFh!w*c%S3;L>E$SVr`9fW!Dgiefw&{6Pk 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 LNkvXXu0mjf3gnOq literal 0 HcmV?d00001 diff --git a/ghostforge/static/js/ghostforge.js b/ghostforge/static/js/ghostforge.js new file mode 100644 index 0000000..bad4834 --- /dev/null +++ b/ghostforge/static/js/ghostforge.js @@ -0,0 +1,104 @@ +// Save and restore navigation menu state from local storage. + +function saveMenuState() { + var leftNavigation = document.getElementById("left-navigation"); + if (!leftNavigation) { + return; + } + var rootMenuItems = leftNavigation.getElementsByTagName("details"); + console.log(rootMenuItems); + var rootMenuStates = {}; + for (var i = 0; i < rootMenuItems.length; i++) { + var item = rootMenuItems[i]; + var id = item.getAttribute("id"); + var isOpen = item.hasAttribute("open"); + rootMenuStates[id] = isOpen; + } + var jsonMenuStates = JSON.stringify(rootMenuStates); + localStorage.setItem("menuState", jsonMenuStates); +} + +function restoreMenuState() { + var leftNavigation = document.getElementById("left-navigation"); + if (!leftNavigation) { + return; + } + var jsonMenuStates = localStorage.getItem("menuState"); + var rootMenuStates = JSON.parse(jsonMenuStates) || {}; + var rootMenuItems = leftNavigation.getElementsByTagName("details"); + for (var i = 0; i < rootMenuItems.length; i++) { + var item = rootMenuItems[i]; + var id = item.getAttribute("id"); + var isOpen = rootMenuStates[id]; + if (isOpen === undefined) { + isOpen = false; + } + if (isOpen) { + item.setAttribute("open", ""); + } else { + item.removeAttribute("open"); + } + } +} + +// Trap tab-targeting for ADA-compliant use +// https://scribe.bus-hit.me/how-to-trap-focus-inside-modal-to-make-it-ada-compliant-6a50f9a70700 +function modal_focus(modal_name) { + const focusableElements = + 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'; + const modal = document.querySelector(modal_name); + + const firstFocusableElement = modal.querySelectorAll(focusableElements)[0]; + const focusableContent = modal.querySelectorAll(focusableElements); + const lastFocusableElement = focusableContent[focusableContent.length - 1]; + + document.addEventListener('keydown', function (e) { + let isTabPressed = e.key === 'Tab' || e.keyCode === 9; + + if (!isTabPressed) { + return; + } + + if (e.shiftKey) { + if (document.activeElement === firstFocusableElement) { + lastFocusableElement.focus(); + e.preventDefault(); + } + } else { + if (document.activeElement === lastFocusableElement) { + firstFocusableElement.focus(); + e.preventDefault(); + } + } + }); + + firstFocusableElement.focus(); +} + +// Hotkeys +document.addEventListener("keydown", function (event) { + // Ctrl/Cmd+G for search modal + if (event.key == "g") { + const nav_search_button = document.getElementById("nav_search_button"); + const search_box = document.getElementById("search_string"); + console.log(search_box); + if (event.ctrlKey) { + event.preventDefault(); // prevent default Ctrl+G behavior (find in page) + nav_search_button.click(); + search_box.focus(); + } + // Add support for Apple+G on Macs + if (event.metaKey) { + event.preventDefault(); // prevent default Apple+G behavior (bookmark) + nav_search_button.click(); + search_box.focus(); + } + } +}); + +// Run various onload/unload functions since script is loaded before elements are +window.onload = function () { + restoreMenuState(); + modal_focus("#search-modal"); +}; +window.onbeforeunload = saveMenuState; diff --git a/ghostforge/templates.py b/ghostforge/templates.py new file mode 100644 index 0000000..a027653 --- /dev/null +++ b/ghostforge/templates.py @@ -0,0 +1,45 @@ +import importlib.metadata + +from fastapi.templating import Jinja2Templates + +templates = Jinja2Templates(directory="templates") + +# Inject version string and Github URL into every template for navbar display. +try: + gf_version = importlib.metadata.version(__package__) +except ValueError: + gf_version = "Local" +templates.env.globals["gf_version"] = f"v{gf_version}" +templates.env.globals["gf_repository_url"] = "https://github.com/DarrylNixon/ghostforge" + +# Same, but build the navbar from an ordered dictionary for centralization. +# Since 3.7 (we require >= 3.9), dicts are guaranteed ordered as inserted. +templates.env.globals["gf_navbar"] = { + "Management": { + "Dashboard": "/user/0", + "New Ghost": "/user/0", + "Active Ghosts": "/user/0", + "Archived Ghosts": "/user/0", + }, + "Research": { + "Guidebook": "/user/0", + "Cheat Sheet": "/user/0", + }, + "Settings": { + "Your Profile": "/user/0", + "Configuration": "/user/0", + "Integrations": "/user/0", + "Manage Users": "/user/0", + }, + "Meta": { + "About GhostForge": "/user/0", + "System Logs": "/user/0", + "Logout": "/user/0", + }, +} + +templates.env.globals["avatar_menu"] = { + "Dashboard": "/user/0", + "Your Profile": "/user/0", + "Logout": "/user/0", +} diff --git a/ghostforge/templates/base.html b/ghostforge/templates/base.html new file mode 100644 index 0000000..36d862e --- /dev/null +++ b/ghostforge/templates/base.html @@ -0,0 +1,29 @@ + + + + + + + + {% block title %}{{ title }}{% endblock title %} + + + + + + + + +

+ + + diff --git a/ghostforge/templates/modals/search.html b/ghostforge/templates/modals/search.html new file mode 100644 index 0000000..9fdb7ac --- /dev/null +++ b/ghostforge/templates/modals/search.html @@ -0,0 +1,40 @@ + + diff --git a/ghostforge/templates/navigation/side.html b/ghostforge/templates/navigation/side.html new file mode 100644 index 0000000..b2c4bc4 --- /dev/null +++ b/ghostforge/templates/navigation/side.html @@ -0,0 +1,40 @@ + +
+ +
+ + {{ gf_version }} + + + + +
+
+ + diff --git a/ghostforge/templates/navigation/top.html b/ghostforge/templates/navigation/top.html new file mode 100644 index 0000000..c116945 --- /dev/null +++ b/ghostforge/templates/navigation/top.html @@ -0,0 +1,55 @@ + diff --git a/ghostforge/templates/user.html b/ghostforge/templates/user.html new file mode 100644 index 0000000..32dfebc --- /dev/null +++ b/ghostforge/templates/user.html @@ -0,0 +1,62 @@ +{% extends "base.html" %} + +{% block content %} +
+
+

Words!

+
+
+
+
+
+
+
+
Avatar
+
Bruce Banner
+
THE HULK
+
+ +
+
+
+
E-mail
+
bruce.banner@hulk.com
+
+
+ +
+
+
+
+
Skype
+
bruce.banner
+
+
+ +
+
+
+
+
Location
+
Dayton, Ohio
+
+
+ +
+
+
+ +
+
+
+
+{% endblock content %} diff --git a/ghostforge/users.py b/ghostforge/users.py new file mode 100644 index 0000000..1ccb8f2 --- /dev/null +++ b/ghostforge/users.py @@ -0,0 +1,15 @@ +from fastapi import APIRouter +from fastapi import Request +from fastapi.responses import HTMLResponse + +from templates import templates + +gf = APIRouter() + + +@gf.get("/user/{id}", response_class=HTMLResponse) +async def get_user(request: Request, id: str): + crumbs = [("settings", False), ("users", "/users"), (id, False)] + return templates.TemplateResponse( + "user.html", {"request": request, "crumbs": crumbs, "user": "test", "id": id, "title": f"User {id}"} + ) diff --git a/migrations/README b/migrations/README new file mode 100644 index 0000000..a23d4fb --- /dev/null +++ b/migrations/README @@ -0,0 +1 @@ +Generic single-database configuration with an async dbapi. diff --git a/migrations/env.py b/migrations/env.py new file mode 100644 index 0000000..1c848ea --- /dev/null +++ b/migrations/env.py @@ -0,0 +1,101 @@ +import asyncio +import os +from logging.config import fileConfig + +from alembic import context +from sqlalchemy import pool +from sqlalchemy.engine import Connection +from sqlalchemy.ext.asyncio import async_engine_from_config +from sqlmodel import SQLModel + +# from ghostforge.models import User + +# this is the Alembic Config object, which provides +# access to the values within the .ini file in use. +config = context.config + +section = config.config_ini_section + +# this is ghostforge-specific, and loads the POSTGRES_* +# environment variables from .env into the alembic context +# for use in dynamically building the postgres URL string. +for var in os.environ: + if var.startswith("POSTGRES_"): + config.set_section_option(section, var, os.environ.get(var)) + +# Interpret the config file for Python logging. +# This line sets up loggers basically. +if config.config_file_name is not None: + fileConfig(config.config_file_name) + +# add your model's MetaData object here +# for 'autogenerate' support +# from myapp import mymodel +# target_metadata = mymodel.Base.metadata +target_metadata = SQLModel.metadata + +# other values from the config, defined by the needs of env.py, +# can be acquired: +# my_important_option = config.get_main_option("my_important_option") +# ... etc. + + +def run_migrations_offline() -> None: + """Run migrations in 'offline' mode. + + This configures the context with just a URL + and not an Engine, though an Engine is acceptable + here as well. By skipping the Engine creation + we don't even need a DBAPI to be available. + + Calls to context.execute() here emit the given string to the + script output. + + """ + url = config.get_main_option("sqlalchemy.url") + context.configure( + url=url, + target_metadata=target_metadata, + literal_binds=True, + dialect_opts={"paramstyle": "named"}, + ) + + with context.begin_transaction(): + context.run_migrations() + + +def do_run_migrations(connection: Connection) -> None: + context.configure(connection=connection, target_metadata=target_metadata) + + with context.begin_transaction(): + context.run_migrations() + + +async def run_async_migrations() -> None: + """In this scenario we need to create an Engine + and associate a connection with the context. + + """ + + connectable = async_engine_from_config( + config.get_section(config.config_ini_section, {}), + prefix="sqlalchemy.", + poolclass=pool.NullPool, + ) + + async with connectable.connect() as connection: + await connection.run_sync(do_run_migrations) + + await connectable.dispose() + + +def run_migrations_online() -> None: + """Run migrations in 'online' mode.""" + + asyncio.run(run_async_migrations()) + + +if context.is_offline_mode(): + run_migrations_offline() +else: + run_migrations_online() diff --git a/migrations/script.py.mako b/migrations/script.py.mako new file mode 100644 index 0000000..3124b62 --- /dev/null +++ b/migrations/script.py.mako @@ -0,0 +1,25 @@ +"""${message} + +Revision ID: ${up_revision} +Revises: ${down_revision | comma,n} +Create Date: ${create_date} + +""" +from alembic import op +import sqlalchemy as sa +import sqlmodel +${imports if imports else ""} + +# revision identifiers, used by Alembic. +revision = ${repr(up_revision)} +down_revision = ${repr(down_revision)} +branch_labels = ${repr(branch_labels)} +depends_on = ${repr(depends_on)} + + +def upgrade() -> None: + ${upgrades if upgrades else "pass"} + + +def downgrade() -> None: + ${downgrades if downgrades else "pass"} diff --git a/pyproject.toml b/pyproject.toml index 210f166..0b90b8d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,19 +11,27 @@ readme = "README.md" requires-python = ">=3.9" license = { text = "MIT" } dependencies = [ - "fastapi>=0.95.2", - "uvicorn>=0.22.0", - "loguru>=0.7.0", - "passlib>=1.7.4", - "pydantic>=1.10.8", + "fastapi==0.95.2", + "uvicorn==0.22.0", + "loguru==0.7.0", + "passlib==1.7.4", + "pydantic==1.10.8", + "alembic==1.11.1", + "asyncpg==0.27.0", + "sqlmodel==0.0.8", + "greenlet==2.0.2", + "jinja2==3.1.2", ] [project.scripts] -ghostforge_serve = "ghostforge.cli:start_api" +ghostforge_serve = "ghostforge.serve:start" [project.urls] -"Homepage" = "https://github.com/DarrylNixon/ghostforge" -"Bug Tracker" = "https://github.com/DarrylNixon/ghostforge/issues" +homepage = "https://github.com/DarrylNixon/ghostforge" +repository = "https://github.com/DarrylNixon/ghostforge" + +[tool.setuptools] +py-modules = ["ghostforge"] [tool.bandit] exclude_dirs = ["/doc", "/build"]

UOtHerVgbsUEgskW+Ug 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
)I)>* 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
_v=VSIl%|qql1yxJ^75n~6jlZ${ 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