From 919df2220e7c2c44cce6ca56de57147329e92a24 Mon Sep 17 00:00:00 2001 From: Martin Belan Date: Fri, 11 Sep 2026 07:23:40 +0000 Subject: [PATCH] Initial commit: Queensway Europe Telco Portal (Flask + SQLite, Docker deploy) --- .gitignore | 17 + README-Docker.md | 65 +++ TelcoPortal-README.md | 80 ++++ TelcoPortal-source/.dockerignore | 7 + TelcoPortal-source/Dockerfile | 20 + TelcoPortal-source/app.py | 443 ++++++++++++++++++ TelcoPortal-source/apply_owner_mapping.py | 55 +++ TelcoPortal-source/import_excel.py | 157 +++++++ TelcoPortal-source/models.py | 74 +++ TelcoPortal-source/requirements.txt | 4 + TelcoPortal-source/static/css/site.css | 341 ++++++++++++++ .../static/img/queensway-europe-logo.png | Bin 0 -> 105078 bytes TelcoPortal-source/static/js/site.js | 2 + .../vendor/bootstrap/bootstrap.bundle.min.js | 7 + .../static/vendor/bootstrap/bootstrap.min.css | 6 + TelcoPortal-source/templates/403.html | 12 + TelcoPortal-source/templates/base.html | 60 +++ .../templates/icons/box-arrow-right.svg | 4 + .../templates/icons/building.svg | 4 + .../templates/icons/calendar-check.svg | 4 + .../templates/icons/calendar-x.svg | 4 + .../templates/icons/collection.svg | 3 + .../templates/icons/exclamation-triangle.svg | 4 + .../templates/icons/patch-check.svg | 4 + .../templates/icons/patch-exclamation.svg | 4 + .../templates/icons/pencil-square.svg | 4 + TelcoPortal-source/templates/icons/people.svg | 3 + .../templates/icons/phone-fill.svg | 3 + TelcoPortal-source/templates/icons/phone.svg | 4 + .../templates/icons/plus-circle.svg | 4 + TelcoPortal-source/templates/icons/router.svg | 6 + TelcoPortal-source/templates/icons/search.svg | 3 + .../templates/icons/shield-lock-fill.svg | 3 + TelcoPortal-source/templates/icons/shop.svg | 3 + TelcoPortal-source/templates/icons/trash.svg | 4 + TelcoPortal-source/templates/icons/wifi.svg | 4 + TelcoPortal-source/templates/index.html | 40 ++ TelcoPortal-source/templates/internet.html | 148 ++++++ TelcoPortal-source/templates/login.html | 38 ++ TelcoPortal-source/templates/phones.html | 360 ++++++++++++++ TelcoPortal-source/templates/users.html | 183 ++++++++ docker-compose.yml | 15 + 42 files changed, 2206 insertions(+) create mode 100755 .gitignore create mode 100755 README-Docker.md create mode 100755 TelcoPortal-README.md create mode 100755 TelcoPortal-source/.dockerignore create mode 100755 TelcoPortal-source/Dockerfile create mode 100755 TelcoPortal-source/app.py create mode 100755 TelcoPortal-source/apply_owner_mapping.py create mode 100755 TelcoPortal-source/import_excel.py create mode 100755 TelcoPortal-source/models.py create mode 100755 TelcoPortal-source/requirements.txt create mode 100755 TelcoPortal-source/static/css/site.css create mode 100755 TelcoPortal-source/static/img/queensway-europe-logo.png create mode 100755 TelcoPortal-source/static/js/site.js create mode 100755 TelcoPortal-source/static/vendor/bootstrap/bootstrap.bundle.min.js create mode 100755 TelcoPortal-source/static/vendor/bootstrap/bootstrap.min.css create mode 100755 TelcoPortal-source/templates/403.html create mode 100755 TelcoPortal-source/templates/base.html create mode 100755 TelcoPortal-source/templates/icons/box-arrow-right.svg create mode 100755 TelcoPortal-source/templates/icons/building.svg create mode 100755 TelcoPortal-source/templates/icons/calendar-check.svg create mode 100755 TelcoPortal-source/templates/icons/calendar-x.svg create mode 100755 TelcoPortal-source/templates/icons/collection.svg create mode 100755 TelcoPortal-source/templates/icons/exclamation-triangle.svg create mode 100755 TelcoPortal-source/templates/icons/patch-check.svg create mode 100755 TelcoPortal-source/templates/icons/patch-exclamation.svg create mode 100755 TelcoPortal-source/templates/icons/pencil-square.svg create mode 100755 TelcoPortal-source/templates/icons/people.svg create mode 100755 TelcoPortal-source/templates/icons/phone-fill.svg create mode 100755 TelcoPortal-source/templates/icons/phone.svg create mode 100755 TelcoPortal-source/templates/icons/plus-circle.svg create mode 100755 TelcoPortal-source/templates/icons/router.svg create mode 100755 TelcoPortal-source/templates/icons/search.svg create mode 100755 TelcoPortal-source/templates/icons/shield-lock-fill.svg create mode 100755 TelcoPortal-source/templates/icons/shop.svg create mode 100755 TelcoPortal-source/templates/icons/trash.svg create mode 100755 TelcoPortal-source/templates/icons/wifi.svg create mode 100755 TelcoPortal-source/templates/index.html create mode 100755 TelcoPortal-source/templates/internet.html create mode 100755 TelcoPortal-source/templates/login.html create mode 100755 TelcoPortal-source/templates/phones.html create mode 100755 TelcoPortal-source/templates/users.html create mode 100755 docker-compose.yml diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..32263a7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,17 @@ +# Live application data - real phone numbers, employee names, login credentials, session key. +# Never commit these. The Docker volume recreates this folder at deploy time. +/TelcoPortal-data/ + +# Leftovers not meant to be tracked (see chat history for context). +/_to_delete/ + +# One-off bulk-import source data containing real employee names and phone numbers. +TelcoPortal-source/owner_mapping.csv + +# Python +__pycache__/ +*.pyc + +# OS +.DS_Store +Thumbs.db diff --git a/README-Docker.md b/README-Docker.md new file mode 100755 index 0000000..cd3157d --- /dev/null +++ b/README-Docker.md @@ -0,0 +1,65 @@ +# Queensway Europe Telco Portal - Docker (runs locally on this PC) + +A Docker container you run directly on your own PC, same setup as TostaSklad. Requires +**Docker Desktop for Windows** (with WSL2 backend, the default) - download from +https://www.docker.com/products/docker-desktop/ if you don't have it yet. + +## First run + +Open a terminal (PowerShell) in this `QWE Telco` folder and run: + +``` +docker compose up -d --build +``` + +This builds the image from `TelcoPortal-source/` (Python/Flask app) and starts the container in +the background. + +Open **http://localhost:8092/** in your browser. + +The Mobile Phones table is pre-loaded from the one-time Excel import (see +`TelcoPortal-source/import_excel.py` and the main README). There is no login - anyone who can +reach the URL can view and edit. + +## Data persistence + +The `TelcoPortal-data/` folder next to this file is bind-mounted into the container so the +database survives container restarts, rebuilds, and updates: + +- `TelcoPortal-data/telco.db` - the SQLite database (both Mobile Phones and Internet + Connectivity tables live in this one file) + +**Back up by simply copying `TelcoPortal-data/telco.db`.** Nothing important lives inside the +container itself. + +## Common commands + +``` +docker compose logs -f # follow app logs +docker compose ps # check container status +docker compose down # stop and remove the container (data folder is untouched) +docker compose up -d # start it again +``` + +## Updating after you change the source code + +``` +docker compose up -d --build +``` + +This rebuilds the image with your latest changes from `TelcoPortal-source/` and replaces the +running container. Your data in `TelcoPortal-data/` is not affected. + +## Changing the port + +Edit the `ports:` line in `docker-compose.yml`, e.g. `"80:8000"` to use the standard HTTP port +instead of 8092, then run `docker compose up -d` again. + +## Note on this setup + +This was written and validated by running the Flask app directly (not inside Docker - Docker +itself was not available where these files were generated), so the app logic, database, and +import script are confirmed working end-to-end. The Docker build/run itself could not be +executed from where these files were generated. Please run the "First run" command above and +let me know if anything doesn't come up cleanly (e.g. build errors, port conflicts) so it can be +fixed. diff --git a/TelcoPortal-README.md b/TelcoPortal-README.md new file mode 100755 index 0000000..5cefa10 --- /dev/null +++ b/TelcoPortal-README.md @@ -0,0 +1,80 @@ +# Queensway Europe Telco Portal + +Management web portal for: + +- The mobile phone repository (phone numbers, plan, contract expiration, replacement + eligibility, current owner, venue) +- Internet connectivity at each restaurant venue + +Same deployment approach as TostaSklad/TostaPortal: a Docker container you run locally on this +PC with Docker Desktop, with all data kept in a bind-mounted folder outside the container. See +`README-Docker.md` for how to start/stop it. + +## Folder layout + +``` +QWE Telco/ + docker-compose.yml + README-Docker.md <- Docker instructions (start here) + TelcoPortal-README.md <- this file + TelcoPortal-source/ <- Flask app source (rebuilt into the Docker image) + TelcoPortal-data/ + telco.db <- the SQLite database (both tables live in this one file) +``` + +## Data model + +**Mobile Phones** (`phones` table): Phone Number, Plan, Contract Expiration, Eligibility for +Replacement, Current Owner, Venue. + +**Internet Connectivity** (`internet_connections` table): Venue, ISP Provider, Plan, Contract +Expiration, Notes. This table starts empty - the source Excel file only had mobile phone data - +add rows with the "+ Add Connection" button on the Internet Connectivity page as you go. + +There is no login. Anyone who can reach the URL (`http://localhost:8092/` by default) can view +and edit both tables. + +## How the mobile phone data was loaded + +The one-off migration script `TelcoPortal-source/import_excel.py` reads the source Excel file +(`Mobilne telefony 20260901.xlsx`) and loads it into `TelcoPortal-data/telco.db`. This has +**already been run once** to populate the database - the Excel file is not needed by the running +app and can be archived/deleted. + +Column mapping from the Excel file: + +| Excel column (Slovak) | Portal field | +|-----------------------------|------------------------------| +| T.Č. | Phone Number (re-prefixed with the leading 0 Excel drops from numeric cells) | +| Užívateľský balík | Plan | +| Viazanosť do: | Contract Expiration | +| Možnost výmeny od: | Eligibility for Replacement (blank/`---` in the source means "eligible now", not "unknown") | +| Meno užívatela | **not auto-split** - see note below | + +### Current Owner / Venue + +The source `Meno užívatela` column mixes two things: a handful of rows have a +`" - "` pattern, but most rows just repeat the company name +("Queensway Restaurants Slovakia, s.r.o.") with nothing usable as a venue. There was no reliable +way to auto-split this into separate Owner and Venue fields, so on import: + +- **Current Owner** was set to the raw `Meno užívatela` text for each row (nothing was thrown + away) +- **Venue** was left blank + +To fix this up in bulk instead of editing 70+ rows by hand one at a time, re-run the import with +a mapping file: + +``` +python import_excel.py "Mobilne telefony 20260901.xlsx" --mapping owner_venue_mapping.csv +``` + +where `owner_venue_mapping.csv` has three columns: `phone_number,current_owner,venue` (phone +number in the same format shown in the portal, e.g. `0905988240`). Rows are matched by phone +number, and only the rows present in the mapping file are updated - existing Plan/Contract +Expiration/Eligibility data is left as-is either way. You can also just fix individual rows with +the Edit button in the portal itself. + +## Backups + +Copy or zip `TelcoPortal-data/telco.db` any time - that single file is the entire database. diff --git a/TelcoPortal-source/.dockerignore b/TelcoPortal-source/.dockerignore new file mode 100755 index 0000000..a683271 --- /dev/null +++ b/TelcoPortal-source/.dockerignore @@ -0,0 +1,7 @@ +__pycache__/ +*.pyc +.venv/ +venv/ +data/ +*.db +.git/ diff --git a/TelcoPortal-source/Dockerfile b/TelcoPortal-source/Dockerfile new file mode 100755 index 0000000..c2fe9af --- /dev/null +++ b/TelcoPortal-source/Dockerfile @@ -0,0 +1,20 @@ +# syntax=docker/dockerfile:1 + +FROM python:3.12-slim AS runtime +WORKDIR /app + +RUN pip install --no-cache-dir --upgrade pip + +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +COPY . . + +# The SQLite database lives outside the container - see docker-compose.yml volumes. +VOLUME ["/app/data"] + +ENV TELCO_DATA_DIR=/app/data +ENV PORT=8000 +EXPOSE 8000 + +CMD ["gunicorn", "--bind", "0.0.0.0:8000", "--workers", "2", "app:app"] diff --git a/TelcoPortal-source/app.py b/TelcoPortal-source/app.py new file mode 100755 index 0000000..efc4e96 --- /dev/null +++ b/TelcoPortal-source/app.py @@ -0,0 +1,443 @@ +import os +import secrets +from datetime import date, datetime, timedelta +from functools import wraps + +from flask import Flask, jsonify, redirect, render_template, request, session, url_for +from sqlalchemy import text +from werkzeug.security import check_password_hash, generate_password_hash + +from models import InternetConnection, Phone, User, db + +DATA_DIR = os.environ.get("TELCO_DATA_DIR", os.path.join(os.path.dirname(__file__), "..", "data")) +os.makedirs(DATA_DIR, exist_ok=True) +DB_PATH = os.path.join(DATA_DIR, "telco.db") +SECRET_KEY_PATH = os.path.join(DATA_DIR, "secret_key.txt") + +# Seeded once, only if the users table is empty (first run against a fresh database). +# Passwords are hashed before they ever touch the database - see seed_users(). +SEED_USERS = [ + ("MBelan", "KFC@99", "admin"), + ("AMaar", "KFC@99", "admin"), + ("CGasser", "KFC@99", "admin"), + ("RSimko", "KFC@99", "admin"), + ("TPanakova", "KFC@99", "admin"), + ("JLapinova", "KFC@11", "viewer"), + ("JTrnovska", "KFC@11", "viewer"), +] + + +def get_or_create_secret_key(): + """Persist a random session-signing key in the data dir so it survives container restarts + and is shared by every gunicorn worker (each worker imports this module independently, so + a key generated only in memory would differ per worker and invalidate sessions randomly).""" + try: + with open(SECRET_KEY_PATH, "r") as f: + existing = f.read().strip() + if existing: + return existing + except FileNotFoundError: + pass + key = secrets.token_hex(32) + tmp_path = f"{SECRET_KEY_PATH}.tmp.{os.getpid()}" + try: + with open(tmp_path, "w") as f: + f.write(key) + os.replace(tmp_path, SECRET_KEY_PATH) + except OSError: + pass + # Re-read in case another worker won the race and wrote its own key first. + try: + with open(SECRET_KEY_PATH, "r") as f: + existing = f.read().strip() + if existing: + return existing + except FileNotFoundError: + pass + return key + + +def create_app(): + app = Flask(__name__) + app.config["SQLALCHEMY_DATABASE_URI"] = f"sqlite:///{DB_PATH}" + app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False + app.config["JSON_SORT_KEYS"] = False + app.config["PERMANENT_SESSION_LIFETIME"] = timedelta(days=30) + app.secret_key = os.environ.get("TELCO_SECRET_KEY") or get_or_create_secret_key() + + db.init_app(app) + + with app.app_context(): + db.create_all() + run_migrations() + seed_users() + + register_routes(app) + return app + + +def run_migrations(): + """Lightweight in-place migrations for columns added after the DB was first created. + db.create_all() only creates missing tables, not missing columns on existing tables.""" + existing_columns = {row[1] for row in db.session.execute(text("PRAGMA table_info(phones)")).fetchall()} + if "comment" not in existing_columns: + db.session.execute(text("ALTER TABLE phones ADD COLUMN comment TEXT")) + db.session.commit() + if "verified" not in existing_columns: + db.session.execute(text("ALTER TABLE phones ADD COLUMN verified VARCHAR(8)")) + db.session.commit() + + +def seed_users(): + """First-run only: create the initial login accounts if no users exist yet at all.""" + if User.query.count() > 0: + return + for username, password, role in SEED_USERS: + db.session.add(User(username=username, password_hash=generate_password_hash(password), role=role)) + db.session.commit() + + +def parse_date(value): + """Parse an ISO date string ('YYYY-MM-DD') from a form/JSON payload. Empty -> None.""" + if not value: + return None + if isinstance(value, date): + return value + value = value.strip() + if not value: + return None + return datetime.strptime(value, "%Y-%m-%d").date() + + +VENUE_OPTIONS = ["QWE Headoffice", "KFC Restaurant"] +VERIFIED_OPTIONS = ["Yes", "No"] +ROLE_OPTIONS = ["admin", "viewer"] + + +def login_required(view): + @wraps(view) + def wrapped(*args, **kwargs): + if "user_id" not in session: + if request.path.startswith("/api/"): + return jsonify({"error": "Login required."}), 401 + return redirect(url_for("login", next=request.path)) + return view(*args, **kwargs) + return wrapped + + +def admin_required(view): + @wraps(view) + def wrapped(*args, **kwargs): + if "user_id" not in session: + if request.path.startswith("/api/"): + return jsonify({"error": "Login required."}), 401 + return redirect(url_for("login", next=request.path)) + if session.get("role") != "admin": + if request.path.startswith("/api/"): + return jsonify({"error": "Admin access required."}), 403 + return render_template("403.html"), 403 + return view(*args, **kwargs) + return wrapped + + +def register_routes(app): + # --------------------------------------------------------------- + # Auth + # --------------------------------------------------------------- + + @app.get("/login") + def login(): + if "user_id" in session: + return redirect(url_for("index")) + return render_template("login.html", error=None, next=request.args.get("next", "")) + + @app.post("/login") + def login_submit(): + username = (request.form.get("username") or "").strip() + password = request.form.get("password") or "" + next_url = request.form.get("next") or "" + user = User.query.filter(db.func.lower(User.username) == username.lower()).first() + if not user or not check_password_hash(user.password_hash, password): + return render_template("login.html", error="Invalid username or password.", next=next_url), 401 + session.clear() + session.permanent = True + session["user_id"] = user.id + session["username"] = user.username + session["role"] = user.role + if next_url.startswith("/") and not next_url.startswith("//"): + return redirect(next_url) + return redirect(url_for("index")) + + @app.get("/logout") + def logout(): + session.clear() + return redirect(url_for("login")) + + @app.get("/") + @login_required + def index(): + return render_template("index.html") + + # --------------------------------------------------------------- + # Mobile phones + # --------------------------------------------------------------- + + SORTABLE_PHONE_COLUMNS = { + "phone_number": Phone.phone_number, + "plan": Phone.plan, + "contract_expiration": Phone.contract_expiration, + "eligible_for_replacement": Phone.eligible_for_replacement, + "current_owner": Phone.current_owner, + "venue": Phone.venue, + "verified": Phone.verified, + "comment": Phone.comment, + } + + @app.get("/phones") + @login_required + def phones_page(): + sort = request.args.get("sort", "phone_number") + direction = request.args.get("dir", "asc") + if sort not in SORTABLE_PHONE_COLUMNS: + sort = "phone_number" + if direction not in ("asc", "desc"): + direction = "asc" + column = SORTABLE_PHONE_COLUMNS[sort] + order = column.desc() if direction == "desc" else column.asc() + # Secondary sort by phone number keeps ties in a stable, predictable order. + phones = Phone.query.order_by(order, Phone.phone_number.asc()).all() + today = date.today() + plan_options = [ + row[0] for row in + db.session.query(Phone.plan).filter(Phone.plan.isnot(None)).distinct().order_by(Phone.plan).all() + ] + headoffice_count = sum(1 for p in phones if p.venue == "QWE Headoffice") + restaurant_count = sum(1 for p in phones if p.venue == "KFC Restaurant") + unassigned_count = len(phones) - headoffice_count - restaurant_count + verified_count = sum(1 for p in phones if p.verified == "Yes") + not_verified_count = len(phones) - verified_count + stats = { + "total": len(phones), + "expired": sum(1 for p in phones if p.contract_expiration and p.contract_expiration < today), + "expiring_soon": sum( + 1 for p in phones + if p.contract_expiration and p.contract_expiration >= today + and (p.contract_expiration - today).days <= 60 + ), + "eligible_now": sum( + 1 for p in phones + if not p.eligible_for_replacement or p.eligible_for_replacement <= today + ), + "headoffice": headoffice_count, + "restaurant": restaurant_count, + "unassigned": unassigned_count, + "headoffice_pct": round(100 * headoffice_count / len(phones)) if phones else 0, + "restaurant_pct": round(100 * restaurant_count / len(phones)) if phones else 0, + "verified": verified_count, + "not_verified": not_verified_count, + } + return render_template( + "phones.html", + phones=phones, + today=today, + sort=sort, + direction=direction, + plan_options=plan_options, + venue_options=VENUE_OPTIONS, + verified_options=VERIFIED_OPTIONS, + stats=stats, + active="phones", + ) + + @app.get("/api/phones/") + @login_required + def get_phone(phone_id): + phone = Phone.query.get_or_404(phone_id) + return jsonify(phone.to_dict()) + + @app.post("/api/phones") + @admin_required + def create_phone(): + payload = request.get_json(force=True) + phone = Phone( + phone_number=(payload.get("phone_number") or "").strip(), + plan=(payload.get("plan") or "").strip() or None, + contract_expiration=parse_date(payload.get("contract_expiration")), + eligible_for_replacement=parse_date(payload.get("eligible_for_replacement")), + current_owner=(payload.get("current_owner") or "").strip() or None, + venue=(payload.get("venue") or "").strip() or None, + verified=(payload.get("verified") or "").strip() or None, + comment=(payload.get("comment") or "").strip() or None, + ) + if not phone.phone_number: + return jsonify({"error": "Phone number is required."}), 400 + db.session.add(phone) + db.session.commit() + return jsonify(phone.to_dict()), 201 + + @app.put("/api/phones/") + @admin_required + def update_phone(phone_id): + phone = Phone.query.get_or_404(phone_id) + payload = request.get_json(force=True) + # Phone Number and Plan are set once at creation and are not editable afterward - + # ignore any values sent for them here (enforced server-side, not just hidden in the UI). + phone.contract_expiration = parse_date(payload.get("contract_expiration")) + phone.eligible_for_replacement = parse_date(payload.get("eligible_for_replacement")) + phone.current_owner = (payload.get("current_owner") or "").strip() or None + phone.venue = (payload.get("venue") or "").strip() or None + phone.verified = (payload.get("verified") or "").strip() or None + phone.comment = (payload.get("comment") or "").strip() or None + db.session.commit() + return jsonify(phone.to_dict()) + + @app.delete("/api/phones/") + @admin_required + def delete_phone(phone_id): + phone = Phone.query.get_or_404(phone_id) + db.session.delete(phone) + db.session.commit() + return jsonify({"ok": True}) + + # --------------------------------------------------------------- + # Internet connectivity + # --------------------------------------------------------------- + + @app.get("/internet") + @login_required + def internet_page(): + connections = InternetConnection.query.order_by(InternetConnection.venue.asc()).all() + return render_template("internet.html", connections=connections, active="internet") + + @app.get("/api/internet/") + @login_required + def get_connection(conn_id): + conn = InternetConnection.query.get_or_404(conn_id) + return jsonify(conn.to_dict()) + + @app.post("/api/internet") + @admin_required + def create_connection(): + payload = request.get_json(force=True) + conn = InternetConnection( + venue=(payload.get("venue") or "").strip(), + isp_provider=(payload.get("isp_provider") or "").strip() or None, + plan=(payload.get("plan") or "").strip() or None, + contract_expiration=parse_date(payload.get("contract_expiration")), + notes=(payload.get("notes") or "").strip() or None, + ) + if not conn.venue: + return jsonify({"error": "Venue is required."}), 400 + db.session.add(conn) + db.session.commit() + return jsonify(conn.to_dict()), 201 + + @app.put("/api/internet/") + @admin_required + def update_connection(conn_id): + conn = InternetConnection.query.get_or_404(conn_id) + payload = request.get_json(force=True) + conn.venue = (payload.get("venue") or conn.venue).strip() + conn.isp_provider = (payload.get("isp_provider") or "").strip() or None + conn.plan = (payload.get("plan") or "").strip() or None + conn.contract_expiration = parse_date(payload.get("contract_expiration")) + conn.notes = (payload.get("notes") or "").strip() or None + db.session.commit() + return jsonify(conn.to_dict()) + + @app.delete("/api/internet/") + @admin_required + def delete_connection(conn_id): + conn = InternetConnection.query.get_or_404(conn_id) + db.session.delete(conn) + db.session.commit() + return jsonify({"ok": True}) + + # --------------------------------------------------------------- + # User accounts (admin only) - login/password management + # --------------------------------------------------------------- + + @app.get("/users") + @admin_required + def users_page(): + users = User.query.order_by(User.username.asc()).all() + admin_count = sum(1 for u in users if u.role == "admin") + viewer_count = len(users) - admin_count + return render_template( + "users.html", + users=users, + role_options=ROLE_OPTIONS, + admin_count=admin_count, + viewer_count=viewer_count, + active="users", + ) + + @app.post("/api/users") + @admin_required + def create_user(): + payload = request.get_json(force=True) + username = (payload.get("username") or "").strip() + password = payload.get("password") or "" + role = (payload.get("role") or "").strip() + if not username or not password: + return jsonify({"error": "Username and password are required."}), 400 + if role not in ROLE_OPTIONS: + return jsonify({"error": "Role must be admin or viewer."}), 400 + if User.query.filter(db.func.lower(User.username) == username.lower()).first(): + return jsonify({"error": "That username already exists."}), 400 + user = User(username=username, password_hash=generate_password_hash(password), role=role) + db.session.add(user) + db.session.commit() + return jsonify(user.to_dict()), 201 + + @app.put("/api/users/") + @admin_required + def update_user(user_id): + user = User.query.get_or_404(user_id) + payload = request.get_json(force=True) + username = (payload.get("username") or "").strip() + password = payload.get("password") or "" + role = (payload.get("role") or "").strip() + if not username: + return jsonify({"error": "Username is required."}), 400 + if role not in ROLE_OPTIONS: + return jsonify({"error": "Role must be admin or viewer."}), 400 + clash = User.query.filter( + db.func.lower(User.username) == username.lower(), User.id != user_id + ).first() + if clash: + return jsonify({"error": "That username already exists."}), 400 + if user.role == "admin" and role != "admin": + remaining_admins = User.query.filter(User.role == "admin", User.id != user_id).count() + if remaining_admins == 0: + return jsonify({"error": "At least one admin account must remain."}), 400 + user.username = username + user.role = role + if password: + user.password_hash = generate_password_hash(password) + db.session.commit() + # Keep the active session in sync if an admin edits their own account. + if user.id == session.get("user_id"): + session["username"] = user.username + session["role"] = user.role + return jsonify(user.to_dict()) + + @app.delete("/api/users/") + @admin_required + def delete_user(user_id): + user = User.query.get_or_404(user_id) + if user.id == session.get("user_id"): + return jsonify({"error": "You can't delete your own account while logged in."}), 400 + if user.role == "admin": + remaining_admins = User.query.filter(User.role == "admin", User.id != user_id).count() + if remaining_admins == 0: + return jsonify({"error": "At least one admin account must remain."}), 400 + db.session.delete(user) + db.session.commit() + return jsonify({"ok": True}) + + +app = create_app() + +if __name__ == "__main__": + app.run(host="0.0.0.0", port=int(os.environ.get("PORT", 8000)), debug=True) diff --git a/TelcoPortal-source/apply_owner_mapping.py b/TelcoPortal-source/apply_owner_mapping.py new file mode 100755 index 0000000..c92ed15 --- /dev/null +++ b/TelcoPortal-source/apply_owner_mapping.py @@ -0,0 +1,55 @@ +""" +One-off bulk update: set Current Owner for a list of phone numbers, without touching any other +field (Plan, Venue, Contract Expiration, Eligibility, Comment are left exactly as they are). + +Usage: + python apply_owner_mapping.py /path/to/telco.db mapping.csv + +mapping.csv has two columns: phone_number,current_owner (phone_number in the same raw format as +the source Excel - digits only, with or without the leading 0; it is normalized the same way the +original import did). +""" + +import argparse +import csv +import sqlite3 + + +def normalize_phone(value): + s = str(value).strip() + if s.isdigit() and not s.startswith("0"): + s = "0" + s + return s or None + + +def main(): + parser = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + parser.add_argument("db_path") + parser.add_argument("mapping_csv") + args = parser.parse_args() + + con = sqlite3.connect(args.db_path) + cur = con.cursor() + + updated, missing = [], [] + with open(args.mapping_csv, newline="", encoding="utf-8-sig") as f: + reader = csv.DictReader(f) + for row in reader: + phone_number = normalize_phone(row["phone_number"]) + owner = row["current_owner"] + cur.execute("UPDATE phones SET current_owner = ? WHERE phone_number = ?", (owner, phone_number)) + if cur.rowcount == 0: + missing.append(phone_number) + else: + updated.append(phone_number) + + con.commit() + con.close() + + print(f"Updated {len(updated)} rows.") + if missing: + print(f"No matching phone found for {len(missing)} entries: {missing}") + + +if __name__ == "__main__": + main() diff --git a/TelcoPortal-source/import_excel.py b/TelcoPortal-source/import_excel.py new file mode 100755 index 0000000..0d262be --- /dev/null +++ b/TelcoPortal-source/import_excel.py @@ -0,0 +1,157 @@ +""" +One-time migration: load the mobile phone repository from the source Excel file into the +SQLite database. Run this once; after that the app reads/writes only the SQLite database and +the Excel file can be forgotten. + +Usage: + python import_excel.py "/path/to/Mobilne telefony 20260901.xlsx" [--mapping mapping.csv] [--reset] + +Expected Excel columns (Slovak headers, in this exact order in the source file): + T.C. -> Phone Number + Meno uzivatela -> raw text, NOT auto-split into Owner/Venue (see README) + Uzivatelsky balik -> Plan + Viazanost do: -> Contract Expiration + Moznost vymeny od: -> Eligibility for Replacement (blank / '---' = eligible now) + +Optional --mapping CSV (phone_number,current_owner,venue) backfills Current Owner / Venue for +matching phone numbers - this is the recommended way to fix up ownership since the Excel column +doesn't cleanly separate the two for most rows. +""" + +import argparse +import csv +import sys +from datetime import date, datetime + +import openpyxl + +from app import create_app +from models import Phone, db + +EXPECTED_HEADERS = [ + "T.Č.", + "Meno užívatela", + "Užívateľský balík", + "Viazanosť do:", + "Možnost výmeny od:", +] + + +def normalize_phone(value): + """Excel stores the subscriber number without the leading 0 (numeric cell). Re-add it.""" + if value is None: + return None + s = str(value).strip() + if s.isdigit() and not s.startswith("0"): + s = "0" + s + return s or None + + +def normalize_date(value): + if value is None: + return None + if isinstance(value, datetime): + return value.date() + if isinstance(value, date): + return value + s = str(value).strip() + if not s or s == "---": + return None + for fmt in ("%Y-%m-%d", "%d.%m.%Y", "%d/%m/%Y"): + try: + return datetime.strptime(s, fmt).date() + except ValueError: + continue + print(f" warning: could not parse date '{value}', leaving blank", file=sys.stderr) + return None + + +def load_mapping(path): + mapping = {} + if not path: + return mapping + with open(path, newline="", encoding="utf-8-sig") as f: + reader = csv.DictReader(f) + for row in reader: + phone = normalize_phone(row.get("phone_number")) + if not phone: + continue + mapping[phone] = { + "current_owner": (row.get("current_owner") or "").strip() or None, + "venue": (row.get("venue") or "").strip() or None, + } + return mapping + + +def main(): + parser = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + parser.add_argument("excel_path", help="Path to the source .xlsx file") + parser.add_argument("--mapping", help="Optional CSV with phone_number,current_owner,venue to backfill Owner/Venue") + parser.add_argument("--reset", action="store_true", help="Delete all existing phone rows before importing") + args = parser.parse_args() + + mapping = load_mapping(args.mapping) + + wb = openpyxl.load_workbook(args.excel_path, data_only=True) + ws = wb.active + + rows = list(ws.iter_rows(values_only=True)) + header = [str(h).strip() if h is not None else "" for h in rows[0]] + print(f"Sheet '{ws.title}' header: {header}") + + app = create_app() + with app.app_context(): + if args.reset: + deleted = Phone.query.delete() + db.session.commit() + print(f"Deleted {deleted} existing phone rows (--reset).") + + created, updated, skipped = 0, 0, 0 + for row in rows[1:]: + if row is None or all(v is None for v in row): + continue + raw_phone, raw_name, raw_plan, raw_expiration, raw_eligible = (list(row) + [None] * 5)[:5] + + phone_number = normalize_phone(raw_phone) + if not phone_number: + skipped += 1 + continue + + plan = str(raw_plan).strip() if raw_plan else None + contract_expiration = normalize_date(raw_expiration) + eligible_for_replacement = normalize_date(raw_eligible) + + backfill = mapping.get(phone_number, {}) + current_owner = backfill.get("current_owner") + venue = backfill.get("venue") + # No mapping supplied for this number yet: keep the raw Excel text around in + # Current Owner so nothing is lost, and leave Venue for manual/edit-later cleanup. + if not mapping and raw_name: + current_owner = str(raw_name).strip() + + existing = Phone.query.filter_by(phone_number=phone_number).one_or_none() + if existing: + existing.plan = plan + existing.contract_expiration = contract_expiration + existing.eligible_for_replacement = eligible_for_replacement + if backfill: + existing.current_owner = current_owner + existing.venue = venue + updated += 1 + else: + db.session.add(Phone( + phone_number=phone_number, + plan=plan, + contract_expiration=contract_expiration, + eligible_for_replacement=eligible_for_replacement, + current_owner=current_owner, + venue=venue, + )) + created += 1 + + db.session.commit() + print(f"Import complete: {created} created, {updated} updated, {skipped} skipped (no phone number).") + + +if __name__ == "__main__": + main() diff --git a/TelcoPortal-source/models.py b/TelcoPortal-source/models.py new file mode 100755 index 0000000..9502728 --- /dev/null +++ b/TelcoPortal-source/models.py @@ -0,0 +1,74 @@ +from datetime import datetime + +from flask_sqlalchemy import SQLAlchemy + +db = SQLAlchemy() + + +class Phone(db.Model): + __tablename__ = "phones" + + id = db.Column(db.Integer, primary_key=True) + phone_number = db.Column(db.String(32), unique=True, nullable=False, index=True) + plan = db.Column(db.String(120), nullable=True) + contract_expiration = db.Column(db.Date, nullable=True) + eligible_for_replacement = db.Column(db.Date, nullable=True) + current_owner = db.Column(db.String(200), nullable=True) + venue = db.Column(db.String(200), nullable=True) + verified = db.Column(db.String(8), nullable=True) + comment = db.Column(db.Text, nullable=True) + created_at = db.Column(db.DateTime, default=datetime.utcnow) + updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow) + + def to_dict(self): + return { + "id": self.id, + "phone_number": self.phone_number, + "plan": self.plan, + "contract_expiration": self.contract_expiration.isoformat() if self.contract_expiration else None, + "eligible_for_replacement": self.eligible_for_replacement.isoformat() if self.eligible_for_replacement else None, + "current_owner": self.current_owner, + "venue": self.venue, + "verified": self.verified, + "comment": self.comment, + } + + +class User(db.Model): + __tablename__ = "users" + + id = db.Column(db.Integer, primary_key=True) + username = db.Column(db.String(80), unique=True, nullable=False, index=True) + password_hash = db.Column(db.String(255), nullable=False) + role = db.Column(db.String(20), nullable=False, default="viewer") # "admin" or "viewer" + created_at = db.Column(db.DateTime, default=datetime.utcnow) + + def to_dict(self): + return { + "id": self.id, + "username": self.username, + "role": self.role, + } + + +class InternetConnection(db.Model): + __tablename__ = "internet_connections" + + id = db.Column(db.Integer, primary_key=True) + venue = db.Column(db.String(200), nullable=False) + isp_provider = db.Column(db.String(200), nullable=True) + plan = db.Column(db.String(200), nullable=True) + contract_expiration = db.Column(db.Date, nullable=True) + notes = db.Column(db.Text, nullable=True) + created_at = db.Column(db.DateTime, default=datetime.utcnow) + updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow) + + def to_dict(self): + return { + "id": self.id, + "venue": self.venue, + "isp_provider": self.isp_provider, + "plan": self.plan, + "contract_expiration": self.contract_expiration.isoformat() if self.contract_expiration else None, + "notes": self.notes, + } diff --git a/TelcoPortal-source/requirements.txt b/TelcoPortal-source/requirements.txt new file mode 100755 index 0000000..907ff99 --- /dev/null +++ b/TelcoPortal-source/requirements.txt @@ -0,0 +1,4 @@ +Flask==3.0.3 +Flask-SQLAlchemy==3.1.1 +openpyxl==3.1.5 +gunicorn==22.0.0 diff --git a/TelcoPortal-source/static/css/site.css b/TelcoPortal-source/static/css/site.css new file mode 100755 index 0000000..3eb617b --- /dev/null +++ b/TelcoPortal-source/static/css/site.css @@ -0,0 +1,341 @@ +body { + background-color: #f4f6f8; +} + +.navbar-brand { + font-weight: 600; +} + +.table td, .table th { + vertical-align: middle; +} + +.card-title { + font-weight: 600; +} + +.icon { + vertical-align: -0.125em; + margin-right: 0.35rem; +} + +h2 .icon { + width: 1.3em; + height: 1.3em; +} + +.carrier-badge { + display: inline-block; + padding: 0.35em 0.75em; + font-size: 0.8rem; + font-weight: 600; + color: #fff; + background-color: #ff7900; + border-radius: 0.375rem; + vertical-align: middle; +} + +.user-pill { + font-size: 0.85rem; + color: #fff !important; + opacity: 0.9; +} + +/* ------------------------------------------------------------------ */ +/* Login page */ +/* ------------------------------------------------------------------ */ + +.login-body { + background-color: #f4f6f8; + min-height: 100vh; + display: flex; + align-items: center; + justify-content: center; +} + +.login-wrap { + width: 100%; + max-width: 400px; + padding: 1.5rem; +} + +.login-card { + background: #fff; + border-radius: 1rem; + box-shadow: 0 0.75rem 2rem rgba(20, 40, 60, 0.12); + padding: 2.25rem 2rem; +} + +.login-logo { + max-height: 56px; + width: auto; +} + +/* ------------------------------------------------------------------ */ +/* Home page: logo + animated tiles */ +/* ------------------------------------------------------------------ */ + +.hero-logo { + max-height: 70px; + width: auto; +} + +@keyframes fadeInDown { + from { opacity: 0; transform: translateY(-14px); } + to { opacity: 1; transform: translateY(0); } +} + +.hero-fade-in { + animation: fadeInDown 0.6s ease both; +} + +@keyframes fadeInUp { + from { opacity: 0; transform: translateY(24px); } + to { opacity: 1; transform: translateY(0); } +} + +.tile-card { + border: none; + border-radius: 1rem; + color: inherit; + animation: fadeInUp 0.55s ease both; + transition: transform 0.25s ease, box-shadow 0.25s ease; +} + +/* Stagger the entrance animation for each tile in the grid. */ +.row > div:nth-child(1) .tile-card { animation-delay: 0.05s; } +.row > div:nth-child(2) .tile-card { animation-delay: 0.18s; } +.row > div:nth-child(3) .tile-card { animation-delay: 0.31s; } + +.tile-card:hover, +.tile-card:focus-visible { + transform: translateY(-8px) scale(1.015); + box-shadow: 0 1.25rem 2.5rem rgba(20, 40, 60, 0.15) !important; +} + +.tile-icon-wrap { + width: 84px; + height: 84px; + margin: 0 auto 1.25rem; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + transition: transform 0.3s ease; +} + +.tile-icon-wrap svg { + width: 40px; + height: 40px; +} + +.tile-card:hover .tile-icon-wrap { + transform: scale(1.12) rotate(-6deg); +} + +.tile-phones .tile-icon-wrap { + color: #fff; + background: linear-gradient(135deg, #0d6efd, #6ea8fe); +} + +.tile-internet .tile-icon-wrap { + color: #fff; + background: linear-gradient(135deg, #198754, #63e6be); +} + +@media (prefers-reduced-motion: reduce) { + .hero-fade-in, .tile-card, .tile-icon-wrap { + animation: none !important; + transition: none !important; + } +} + +/* ------------------------------------------------------------------ */ +/* Mobile Phones page */ +/* ------------------------------------------------------------------ */ + +.stat-card { + display: flex; + align-items: center; + gap: 0.9rem; + background: #fff; + border-radius: 0.9rem; + padding: 1rem 1.15rem; + box-shadow: 0 0.25rem 0.75rem rgba(20, 40, 60, 0.06); + animation: fadeInUp 0.5s ease both; + transition: transform 0.2s ease, box-shadow 0.2s ease; +} + +.stat-card:hover { + transform: translateY(-3px); + box-shadow: 0 0.5rem 1.25rem rgba(20, 40, 60, 0.1); +} + +.row.g-3 > div:nth-child(1) .stat-card { animation-delay: 0.02s; } +.row.g-3 > div:nth-child(2) .stat-card { animation-delay: 0.09s; } +.row.g-3 > div:nth-child(3) .stat-card { animation-delay: 0.16s; } +.row.g-3 > div:nth-child(4) .stat-card { animation-delay: 0.23s; } +.row.g-3 > div:nth-child(5) .stat-card { animation-delay: 0.30s; } +.row.g-3 > div:nth-child(6) .stat-card { animation-delay: 0.37s; } +.row.g-3 > div:nth-child(7) .stat-card { animation-delay: 0.44s; } +.row.g-3 > div:nth-child(8) .stat-card { animation-delay: 0.51s; } + +.stat-icon { + flex: none; + width: 46px; + height: 46px; + border-radius: 0.7rem; + display: flex; + align-items: center; + justify-content: center; + color: #fff; +} + +.stat-icon svg { width: 22px; height: 22px; } + +.stat-icon-total { background: linear-gradient(135deg, #0d6efd, #6ea8fe); } +.stat-icon-warning { background: linear-gradient(135deg, #fd7e14, #ffc078); } +.stat-icon-danger { background: linear-gradient(135deg, #dc3545, #ff8a94); } +.stat-icon-success { background: linear-gradient(135deg, #198754, #63e6be); } + +.stat-value { + font-size: 1.5rem; + font-weight: 700; + line-height: 1.1; +} + +.stat-label { + font-size: 0.8rem; + color: #6c757d; +} + +.modern-card { + background: #fff; + border-radius: 1rem; + box-shadow: 0 0.25rem 0.75rem rgba(20, 40, 60, 0.06); + overflow: hidden; + animation: fadeInUp 0.5s ease both; + animation-delay: 0.28s; +} + +.stat-icon-headoffice { background: linear-gradient(135deg, #6f42c1, #b197fc); } +.stat-icon-restaurant { background: linear-gradient(135deg, #d63384, #ff8fb1); } +.stat-icon-verified { background: linear-gradient(135deg, #0ca678, #63e6be); } +.stat-icon-unverified { background: linear-gradient(135deg, #868e96, #ced4da); } + +.table-toolbar { + padding: 1rem 1.25rem; + border-bottom: 1px solid #eef0f2; +} + +.search-box { + position: relative; + max-width: 360px; + flex: 1 1 260px; +} + +.search-box svg { + position: absolute; + left: 0.75rem; + top: 50%; + transform: translateY(-50%); + width: 16px; + height: 16px; + color: #adb5bd; +} + +.search-box .form-control { + padding-left: 2.25rem; + border-radius: 2rem; + background-color: #f4f6f8; + border-color: transparent; +} + +.search-box .form-control:focus { + background-color: #fff; +} + +.modern-table thead th { + background-color: #f8f9fb; + color: #6c757d; + font-size: 0.72rem; + text-transform: uppercase; + letter-spacing: 0.04em; + font-weight: 700; + border-bottom: 2px solid #eef0f2; + padding: 0.85rem 0.9rem; + white-space: nowrap; +} + +.modern-table tbody td { + padding: 0.75rem 0.9rem; + border-bottom: 1px solid #f1f3f5; + white-space: nowrap; +} + +.modern-table tbody td.text-truncate { + white-space: nowrap; /* already implied by .text-truncate, kept explicit for clarity */ +} + +.modern-table tbody tr { + transition: background-color 0.15s ease; +} + +.sort-link { + color: inherit; + text-decoration: none; +} + +.sort-link:hover { + color: #0d6efd; +} + +.sort-inactive { + opacity: 0.35; +} + +.sort-active { + color: #0d6efd; +} + +.btn-icon { + display: inline-flex; + align-items: center; + justify-content: center; + width: 34px; + height: 34px; + padding: 0; + border-radius: 0.6rem; + border: 1px solid transparent; + background: transparent; + transition: background-color 0.15s ease, transform 0.15s ease; +} + +.btn-icon svg { width: 16px; height: 16px; } + +.btn-icon:hover { + transform: translateY(-1px); +} + +.btn-icon-primary { + color: #0d6efd; +} + +.btn-icon-primary:hover { + background-color: #e7f1ff; +} + +.btn-icon-danger { + color: #dc3545; +} + +.btn-icon-danger:hover { + background-color: #fdeced; +} + +@media (prefers-reduced-motion: reduce) { + .stat-card, .modern-card { + animation: none !important; + transition: none !important; + } +} diff --git a/TelcoPortal-source/static/img/queensway-europe-logo.png b/TelcoPortal-source/static/img/queensway-europe-logo.png new file mode 100755 index 0000000000000000000000000000000000000000..dfd2542f4c3811c3cdc237938c5894838ad17a78 GIT binary patch literal 105078 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

2R9Bf-nl5fb#LQ6C#0ntj6Dd7aVKw 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 literal 0 HcmV?d00001 diff --git a/TelcoPortal-source/static/js/site.js b/TelcoPortal-source/static/js/site.js new file mode 100755 index 0000000..b127783 --- /dev/null +++ b/TelcoPortal-source/static/js/site.js @@ -0,0 +1,2 @@ +// Shared site-wide JS (currently empty - page-specific behavior lives in each template's +// {% block scripts %}). diff --git a/TelcoPortal-source/static/vendor/bootstrap/bootstrap.bundle.min.js b/TelcoPortal-source/static/vendor/bootstrap/bootstrap.bundle.min.js new file mode 100755 index 0000000..04e9185 --- /dev/null +++ b/TelcoPortal-source/static/vendor/bootstrap/bootstrap.bundle.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=I(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return P(s,{delegateTarget:r}),n.oneOff&&N.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return P(n,{delegateTarget:t}),i.oneOff&&N.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function $(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function I(t){return t=t.replace(y,""),T[t]||t}const N={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))$(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==I(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=P(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function P(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function j(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function M(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${M(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${M(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=j(t.dataset[n])}return e},getDataAttribute:(t,e)=>j(t.getAttribute(`data-bs-${M(e)}`))};class H{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends H{constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map((t=>n(t))).join(","):null},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},q=".bs.alert",V=`close${q}`,K=`closed${q}`;class Q extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,V).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),N.trigger(this._element,K),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(Q,"close"),m(Q);const X='[data-bs-toggle="button"]';class Y extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=Y.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),m(Y);const U=".bs.swipe",G=`touchstart${U}`,J=`touchmove${U}`,Z=`touchend${U}`,tt=`pointerdown${U}`,et=`pointerup${U}`,it={endCallback:null,leftCallback:null,rightCallback:null},nt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class st extends H{constructor(t,e){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return nt}static get NAME(){return"swipe"}dispose(){N.off(this._element,U)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),g(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,G,(t=>this._start(t))),N.on(this._element,J,(t=>this._move(t))),N.on(this._element,Z,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ot=".bs.carousel",rt=".data-api",at="next",lt="prev",ct="left",ht="right",dt=`slide${ot}`,ut=`slid${ot}`,ft=`keydown${ot}`,pt=`mouseenter${ot}`,mt=`mouseleave${ot}`,gt=`dragstart${ot}`,_t=`load${ot}${rt}`,bt=`click${ot}${rt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Et=wt+At,Tt={ArrowLeft:ht,ArrowRight:ct},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Ot}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?at:lt;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&N.on(this._element,ft,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,pt,(()=>this.pause())),N.on(this._element,mt,(()=>this._maybeEnableCycle()))),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,gt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new st(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Tt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===at,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>N.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(dt).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Et,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return p()?t===lt?ct:ht:t===lt?ht:ct}static jQueryInterface(t){return this.each((function(){const e=xt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}N.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=xt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===F.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,_t,(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)})),m(xt);const kt=".bs.collapse",Lt=`show${kt}`,St=`shown${kt}`,Dt=`hide${kt}`,$t=`hidden${kt}`,It=`click${kt}.data-api`,Nt="show",Pt="collapse",jt="collapsing",Mt=`:scope .${Pt} .${Pt}`,Ft='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Bt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ft);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Ht}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Bt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Lt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Pt),this._element.classList.add(jt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(jt),this._element.classList.add(Pt,Nt),this._element.style[e]="",N.trigger(this._element,St)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(jt),this._element.classList.remove(Pt,Nt);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(jt),this._element.classList.add(Pt),N.trigger(this._element,$t)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(Nt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Ft);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(Mt,this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Bt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,It,Ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Bt.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(Bt);var zt="top",Rt="bottom",qt="right",Vt="left",Kt="auto",Qt=[zt,Rt,qt,Vt],Xt="start",Yt="end",Ut="clippingParents",Gt="viewport",Jt="popper",Zt="reference",te=Qt.reduce((function(t,e){return t.concat([e+"-"+Xt,e+"-"+Yt])}),[]),ee=[].concat(Qt,[Kt]).reduce((function(t,e){return t.concat([e,e+"-"+Xt,e+"-"+Yt])}),[]),ie="beforeRead",ne="read",se="afterRead",oe="beforeMain",re="main",ae="afterMain",le="beforeWrite",ce="write",he="afterWrite",de=[ie,ne,se,oe,re,ae,le,ce,he];function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}const _e={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];me(s)&&ue(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});me(n)&&ue(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var ve=Math.max,ye=Math.min,we=Math.round;function Ae(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&me(t)&&(s=t.offsetWidth>0&&we(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&we(n.height)/t.offsetHeight||1);var r=(pe(t)?fe(t):window).visualViewport,a=!Ee()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Ce(t){var e=Te(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Oe(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ge(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function ke(t){return["table","td","th"].indexOf(ue(t))>=0}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var e=fe(t),i=De(t);i&&ke(i)&&"static"===xe(i).position;)i=De(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===xe(i).position)?e:i||function(t){var e=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var i=Se(t);for(ge(i)&&(i=i.host);me(i)&&["html","body"].indexOf(ue(i))<0;){var n=xe(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,ye(e,i))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function je(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const Me={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=be(i.placement),l=Ie(a),c=[Vt,qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Pe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:je(t,Qt))}(s.padding,i),d=Ce(o),u="y"===l?zt:Vt,f="y"===l?Rt:qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=$e(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Ne(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Oe(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var He={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Vt,y=zt,w=window;if(c){var A=$e(i),E="clientHeight",T="clientWidth";A===fe(i)&&"static"!==xe(A=Le(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===zt||(s===Vt||s===qt)&&o===Yt)&&(y=Rt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Vt&&(s!==zt&&s!==Rt||o!==Yt)||(v=qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&He),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:we(i*s)/s||0,y:we(n*s)/s||0}}({x:f,y:m},fe(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const Be={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:be(e.placement),variation:Fe(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,We(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,We(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ze={passive:!0};const Re={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=fe(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ze)})),a&&l.addEventListener("resize",i.update,ze),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ze)})),a&&l.removeEventListener("resize",i.update,ze)}},data:{}};var qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return qe[t]}))}var Ke={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,(function(t){return Ke[t]}))}function Xe(t){var e=fe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var e=xe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}function Je(t,e){var i;void 0===e&&(e=[]);var n=Ge(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=fe(n),r=s?[o].concat(o.visualViewport||[],Ue(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Je(Se(r)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Gt?Ze(function(t,e){var i=fe(t),n=Le(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ee();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ye(t),y:l}}(t,i)):pe(e)?function(t,e){var i=Te(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ze(function(t){var e,i=Le(t),n=Xe(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ve(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ve(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ye(t),l=-n.scrollTop;return"rtl"===xe(s||i).direction&&(a+=ve(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Le(t)))}function ei(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?be(s):null,r=s?Fe(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case zt:e={x:a,y:i.y-n.height};break;case Rt:e={x:a,y:i.y+i.height};break;case qt:e={x:i.x+i.width,y:l};break;case Vt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ie(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Xt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Yt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ii(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Ut:a,c=i.rootBoundary,h=void 0===c?Gt:c,d=i.elementContext,u=void 0===d?Jt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Pe("number"!=typeof g?g:je(g,Qt)),b=u===Jt?Zt:Jt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Je(Se(t)),i=["absolute","fixed"].indexOf(xe(t).position)>=0&&me(t)?$e(t):t;return pe(i)?e.filter((function(t){return pe(t)&&Oe(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=ti(t,i,n);return e.top=ve(s.top,e.top),e.right=ye(s.right,e.right),e.bottom=ye(s.bottom,e.bottom),e.left=ve(s.left,e.left),e}),ti(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(pe(y)?y:y.contextElement||Le(t.elements.popper),l,h,r),A=Te(t.elements.reference),E=ei({reference:A,element:v,strategy:"absolute",placement:s}),T=Ze(Object.assign({},v,E)),C=u===Jt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Jt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[qt,Rt].indexOf(t)>=0?1:-1,i=[zt,Rt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function ni(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?ee:l,h=Fe(n),d=h?a?te:te.filter((function(t){return Fe(t)===h})):Qt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ii(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[be(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const si={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=be(g),b=l||(_!==g&&p?function(t){if(be(t)===Kt)return[];var e=Ve(t);return[Qe(t),e,Qe(e)]}(g):[Ve(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(be(i)===Kt?ni(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C=0,S=L?"width":"height",D=ii(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?qt:Vt:k?Rt:zt;y[S]>w[S]&&($=Ve($));var I=Ve($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every((function(t){return t}))){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},j=p?3:1;j>0&&"break"!==P(j);j--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ri(t){return[zt,qt,Rt,Vt].some((function(e){return t[e]>=0}))}const ai={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=oi(r,n),c=oi(a,s,o),h=ri(l),d=ri(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},li={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=ee.reduce((function(t,i){return t[i]=function(t,e,i){var n=be(t),s=[Vt,zt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Vt,qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ci={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},hi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ii(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=be(e.placement),b=Fe(e.placement),v=!b,y=Ie(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?zt:Vt,D="y"===y?Rt:qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],j=f?-T[$]/2:0,M=b===Xt?E[$]:T[$],F=b===Xt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?Ce(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Ne(0,E[$],W[$]),V=v?E[$]/2-j-q-z-O.mainAxis:M-q-z-O.mainAxis,K=v?-E[$]/2+j+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&$e(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Ne(f?ye(N,I+V-Y-X):N,I,f?ve(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?zt:Vt,tt="x"===y?Rt:qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[zt,Vt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Ne(t,e,i);return n>i?i:n}(at,et,lt):Ne(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var n,s,o=me(e),r=me(e)&&function(t){var e=t.getBoundingClientRect(),i=we(e.width)/t.offsetWidth||1,n=we(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Le(e),l=Te(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==ue(e)||Ue(a))&&(c=(n=e)!==fe(n)&&me(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Xe(n)),me(e)?((h=Te(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ye(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function ui(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var fi={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,e=new Array(t),i=0;iNumber.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(F.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ni);for(const i of e){const e=qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ei,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:z.prev(this,Ii)[0]||z.next(this,Ii)[0]||z.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,Si,Ii,qi.dataApiKeydownHandler),N.on(document,Si,Pi,qi.dataApiKeydownHandler),N.on(document,Li,qi.clearMenus),N.on(document,Di,qi.clearMenus),N.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),m(qi);const Vi="backdrop",Ki="show",Qi=`mousedown.bs.${Vi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Yi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Ki),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(N.off(this._element,Qi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,Qi,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Gi),N.on(document,Ji,(t=>this._handleFocusin(t))),N.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=F.getDataAttribute(t,e);null!==i?(F.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",An="show",En="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hn),N.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,bn,(t=>{N.one(this._element,_n,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(wn),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(En)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(En),this._queueCallback((()=>{this._element.classList.remove(En),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}N.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,pn,(t=>{t.defaultPrevented||N.one(e,fn,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),R(On),m(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,jn=`hide${xn}`,Mn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Wn=`click${xn}${kn}`,Bn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),N.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,jn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),N.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,Mn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){N.on(this._element,Bn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,Mn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}N.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Fn,(()=>{a(this)&&this.focus()}));const i=z.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),N.on(window,Ln,(()=>{for(const t of z.find(In))qn.getOrCreateInstance(t).show()})),N.on(window,Hn,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),R(qn),m(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Yn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"

"},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Yn}static get DefaultType(){return Un}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Gn)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},as={allowList:Vn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},ls={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends W{constructor(t,e){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return as}static get DefaultType(){return ls}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(is),ns,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=N.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ts,es),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return bi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return g(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(is),ns,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=F.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Es extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ws}static get DefaultType(){return As}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,ms),N.on(this._config.target,ms,bs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(bs,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(_s),this._activateParents(t),N.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=z.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=Es.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(window,gs,(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)})),m(Es);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",js="Home",Ms="End",Fs="active",Hs="fade",Ws="show",Bs=".dropdown-toggle",zs=`:not(${Bs})`,Rs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',qs=`.nav-link${zs}, .list-group-item${zs}, [role="tab"]${zs}, ${Rs}`,Vs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Ks extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?N.trigger(e,Cs,{relatedTarget:t}):null;N.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,ks,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,js,Ms].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([js,Ms].includes(t.key))i=e[t.key===js?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=b(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Ks.getOrCreateInstance(i).show())}_getChildren(){return z.find(qs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(Bs,Fs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(qs)?t:z.findOne(qs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Ks.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,Ls,Rs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Ks.getOrCreateInstance(this).show()})),N.on(window,Ds,(()=>{for(const t of z.find(Vs))Ks.getOrCreateInstance(t)})),m(Ks);const Qs=".bs.toast",Xs=`mouseover${Qs}`,Ys=`mouseout${Qs}`,Us=`focusin${Qs}`,Gs=`focusout${Qs}`,Js=`hide${Qs}`,Zs=`hidden${Qs}`,to=`show${Qs}`,eo=`shown${Qs}`,io="hide",no="show",so="showing",oo={animation:"boolean",autohide:"boolean",delay:"number"},ro={animation:!0,autohide:!0,delay:5e3};class ao extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return ro}static get DefaultType(){return oo}static get NAME(){return"toast"}show(){N.trigger(this._element,to).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(io),d(this._element),this._element.classList.add(no,so),this._queueCallback((()=>{this._element.classList.remove(so),N.trigger(this._element,eo),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Js).defaultPrevented||(this._element.classList.add(so),this._queueCallback((()=>{this._element.classList.add(io),this._element.classList.remove(so,no),N.trigger(this._element,Zs)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(no),super.dispose()}isShown(){return this._element.classList.contains(no)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,Xs,(t=>this._onInteraction(t,!0))),N.on(this._element,Ys,(t=>this._onInteraction(t,!1))),N.on(this._element,Us,(t=>this._onInteraction(t,!0))),N.on(this._element,Gs,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ao.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(ao),m(ao),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Ks,Toast:ao,Tooltip:cs}})); +//# sourceMappingURL=bootstrap.bundle.min.js.map \ No newline at end of file diff --git a/TelcoPortal-source/static/vendor/bootstrap/bootstrap.min.css b/TelcoPortal-source/static/vendor/bootstrap/bootstrap.min.css new file mode 100755 index 0000000..3993414 --- /dev/null +++ b/TelcoPortal-source/static/vendor/bootstrap/bootstrap.min.css @@ -0,0 +1,6 @@ +@charset "UTF-8";/*! + * Bootstrap v5.3.3 (https://getbootstrap.com/) + * Copyright 2011-2024 The Bootstrap Authors + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-moz-placeholder{color:var(--bs-secondary-color);opacity:1}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown),.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control-plaintext~label::after,.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.form-floating>.form-control:disabled~label::after,.form-floating>:disabled~label::after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(var(--bs-border-width) * -1)}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(var(--bs-border-width) * -1)}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}.accordion-flush>.accordion-item>.accordion-collapse{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(var(--bs-border-width) * -1)}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;--bs-btn-close-white-filter:invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{filter:var(--bs-btn-close-white-filter)}[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color: ;--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}[data-bs-theme=dark] .carousel .carousel-control-next-icon,[data-bs-theme=dark] .carousel .carousel-control-prev-icon,[data-bs-theme=dark].carousel .carousel-control-next-icon,[data-bs-theme=dark].carousel .carousel-control-prev-icon{filter:invert(1) grayscale(100)}[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target],[data-bs-theme=dark].carousel .carousel-indicators [data-bs-target]{background-color:#000}[data-bs-theme=dark] .carousel .carousel-caption,[data-bs-theme=dark].carousel .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin:calc(-.5 * var(--bs-offcanvas-padding-y)) calc(-.5 * var(--bs-offcanvas-padding-x)) calc(-.5 * var(--bs-offcanvas-padding-y)) auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/TelcoPortal-source/templates/403.html b/TelcoPortal-source/templates/403.html new file mode 100755 index 0000000..51fc634 --- /dev/null +++ b/TelcoPortal-source/templates/403.html @@ -0,0 +1,12 @@ +{% extends "base.html" %} +{% block title %}Access Denied - Queensway Europe Telco Portal{% endblock %} +{% block content %} +
+
+ {% include "icons/shield-lock-fill.svg" %} +
+

Access Denied

+

Your account has view-only access. Only admins can manage this page.

+ Back to Home +
+{% endblock %} diff --git a/TelcoPortal-source/templates/base.html b/TelcoPortal-source/templates/base.html new file mode 100755 index 0000000..840b67a --- /dev/null +++ b/TelcoPortal-source/templates/base.html @@ -0,0 +1,60 @@ + + + + + + {% block title %}Queensway Europe Telco Portal{% endblock %} + + + + + +
+ {% block content %}{% endblock %} +
+ + +{% block scripts %}{% endblock %} + + diff --git a/TelcoPortal-source/templates/icons/box-arrow-right.svg b/TelcoPortal-source/templates/icons/box-arrow-right.svg new file mode 100755 index 0000000..133e4aa --- /dev/null +++ b/TelcoPortal-source/templates/icons/box-arrow-right.svg @@ -0,0 +1,4 @@ + + + + diff --git a/TelcoPortal-source/templates/icons/building.svg b/TelcoPortal-source/templates/icons/building.svg new file mode 100755 index 0000000..553ccd3 --- /dev/null +++ b/TelcoPortal-source/templates/icons/building.svg @@ -0,0 +1,4 @@ + + + + diff --git a/TelcoPortal-source/templates/icons/calendar-check.svg b/TelcoPortal-source/templates/icons/calendar-check.svg new file mode 100755 index 0000000..8e130de --- /dev/null +++ b/TelcoPortal-source/templates/icons/calendar-check.svg @@ -0,0 +1,4 @@ + + + + diff --git a/TelcoPortal-source/templates/icons/calendar-x.svg b/TelcoPortal-source/templates/icons/calendar-x.svg new file mode 100755 index 0000000..1b583e6 --- /dev/null +++ b/TelcoPortal-source/templates/icons/calendar-x.svg @@ -0,0 +1,4 @@ + + + + diff --git a/TelcoPortal-source/templates/icons/collection.svg b/TelcoPortal-source/templates/icons/collection.svg new file mode 100755 index 0000000..1d5532f --- /dev/null +++ b/TelcoPortal-source/templates/icons/collection.svg @@ -0,0 +1,3 @@ + + + diff --git a/TelcoPortal-source/templates/icons/exclamation-triangle.svg b/TelcoPortal-source/templates/icons/exclamation-triangle.svg new file mode 100755 index 0000000..bb85e9d --- /dev/null +++ b/TelcoPortal-source/templates/icons/exclamation-triangle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/TelcoPortal-source/templates/icons/patch-check.svg b/TelcoPortal-source/templates/icons/patch-check.svg new file mode 100755 index 0000000..01cf3b0 --- /dev/null +++ b/TelcoPortal-source/templates/icons/patch-check.svg @@ -0,0 +1,4 @@ + + + + diff --git a/TelcoPortal-source/templates/icons/patch-exclamation.svg b/TelcoPortal-source/templates/icons/patch-exclamation.svg new file mode 100755 index 0000000..30f8976 --- /dev/null +++ b/TelcoPortal-source/templates/icons/patch-exclamation.svg @@ -0,0 +1,4 @@ + + + + diff --git a/TelcoPortal-source/templates/icons/pencil-square.svg b/TelcoPortal-source/templates/icons/pencil-square.svg new file mode 100755 index 0000000..0e31db8 --- /dev/null +++ b/TelcoPortal-source/templates/icons/pencil-square.svg @@ -0,0 +1,4 @@ + + + + diff --git a/TelcoPortal-source/templates/icons/people.svg b/TelcoPortal-source/templates/icons/people.svg new file mode 100755 index 0000000..eaac272 --- /dev/null +++ b/TelcoPortal-source/templates/icons/people.svg @@ -0,0 +1,3 @@ + + + diff --git a/TelcoPortal-source/templates/icons/phone-fill.svg b/TelcoPortal-source/templates/icons/phone-fill.svg new file mode 100755 index 0000000..cf68f58 --- /dev/null +++ b/TelcoPortal-source/templates/icons/phone-fill.svg @@ -0,0 +1,3 @@ + + + diff --git a/TelcoPortal-source/templates/icons/phone.svg b/TelcoPortal-source/templates/icons/phone.svg new file mode 100755 index 0000000..3847a12 --- /dev/null +++ b/TelcoPortal-source/templates/icons/phone.svg @@ -0,0 +1,4 @@ + + + + diff --git a/TelcoPortal-source/templates/icons/plus-circle.svg b/TelcoPortal-source/templates/icons/plus-circle.svg new file mode 100755 index 0000000..7726b67 --- /dev/null +++ b/TelcoPortal-source/templates/icons/plus-circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/TelcoPortal-source/templates/icons/router.svg b/TelcoPortal-source/templates/icons/router.svg new file mode 100755 index 0000000..89c207e --- /dev/null +++ b/TelcoPortal-source/templates/icons/router.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/TelcoPortal-source/templates/icons/search.svg b/TelcoPortal-source/templates/icons/search.svg new file mode 100755 index 0000000..58efe88 --- /dev/null +++ b/TelcoPortal-source/templates/icons/search.svg @@ -0,0 +1,3 @@ + + + diff --git a/TelcoPortal-source/templates/icons/shield-lock-fill.svg b/TelcoPortal-source/templates/icons/shield-lock-fill.svg new file mode 100755 index 0000000..690e713 --- /dev/null +++ b/TelcoPortal-source/templates/icons/shield-lock-fill.svg @@ -0,0 +1,3 @@ + + + diff --git a/TelcoPortal-source/templates/icons/shop.svg b/TelcoPortal-source/templates/icons/shop.svg new file mode 100755 index 0000000..ea45f0c --- /dev/null +++ b/TelcoPortal-source/templates/icons/shop.svg @@ -0,0 +1,3 @@ + + + diff --git a/TelcoPortal-source/templates/icons/trash.svg b/TelcoPortal-source/templates/icons/trash.svg new file mode 100755 index 0000000..009c49e --- /dev/null +++ b/TelcoPortal-source/templates/icons/trash.svg @@ -0,0 +1,4 @@ + + + + diff --git a/TelcoPortal-source/templates/icons/wifi.svg b/TelcoPortal-source/templates/icons/wifi.svg new file mode 100755 index 0000000..b134c88 --- /dev/null +++ b/TelcoPortal-source/templates/icons/wifi.svg @@ -0,0 +1,4 @@ + + + + diff --git a/TelcoPortal-source/templates/index.html b/TelcoPortal-source/templates/index.html new file mode 100755 index 0000000..9de1079 --- /dev/null +++ b/TelcoPortal-source/templates/index.html @@ -0,0 +1,40 @@ +{% extends "base.html" %} +{% block title %}Queensway Europe Telco Portal{% endblock %} +{% block content %} +
+ +

Telco Portal

+

Mobile phones and restaurant internet connectivity, in one place.

+
+ + +{% endblock %} diff --git a/TelcoPortal-source/templates/internet.html b/TelcoPortal-source/templates/internet.html new file mode 100755 index 0000000..f9abf78 --- /dev/null +++ b/TelcoPortal-source/templates/internet.html @@ -0,0 +1,148 @@ +{% extends "base.html" %} +{% block title %}Internet Connectivity - Queensway Europe Telco Portal{% endblock %} +{% block content %} +
+

{% include "icons/wifi.svg" %} Internet Connectivity

+ {% if session.role == 'admin' %} + + {% endif %} +
+ +
+ + + + + + + + + {% if session.role == 'admin' %}{% endif %} + + + + {% for c in connections %} + + + + + + + {% if session.role == 'admin' %} + + {% endif %} + + {% else %} + + {% endfor %} + +
VenueISP ProviderPlanContract ExpirationNotesActions
{{ c.venue }}{{ c.isp_provider or "" }}{{ c.plan or "" }}{{ c.contract_expiration.strftime("%d-%m-%Y") if c.contract_expiration else "" }}{{ c.notes or "" }} + + +
No internet connections recorded yet.
+
+ + + +{% endblock %} + +{% block scripts %} + +{% endblock %} diff --git a/TelcoPortal-source/templates/login.html b/TelcoPortal-source/templates/login.html new file mode 100755 index 0000000..c0c979c --- /dev/null +++ b/TelcoPortal-source/templates/login.html @@ -0,0 +1,38 @@ + + + + + + Sign in - Queensway Europe Telco Portal + + + + + + + diff --git a/TelcoPortal-source/templates/phones.html b/TelcoPortal-source/templates/phones.html new file mode 100755 index 0000000..7c3579c --- /dev/null +++ b/TelcoPortal-source/templates/phones.html @@ -0,0 +1,360 @@ +{% extends "base.html" %} +{% block title %}Mobile Phones - Queensway Europe Telco Portal{% endblock %} +{% block content %} +
+

+ {% include "icons/phone.svg" %} Mobile Phones + Orange +

+ {% if session.role == 'admin' %} + + {% endif %} +
+ +
+
+
+
{% include "icons/collection.svg" %}
+
+
{{ stats.total }}
+
Total Phones
+
+
+
+
+
+
{% include "icons/exclamation-triangle.svg" %}
+
+
{{ stats.expiring_soon }}
+
Expiring Soon
+
+
+
+
+
+
{% include "icons/calendar-x.svg" %}
+
+
{{ stats.expired }}
+
Expired
+
+
+
+
+
+
{% include "icons/calendar-check.svg" %}
+
+
{{ stats.eligible_now }}
+
Eligible Now
+
+
+
+
+
+
{% include "icons/building.svg" %}
+
+
{{ stats.headoffice }}
+
QWE Headoffice · {{ stats.headoffice_pct }}%
+
+
+
+
+
+
{% include "icons/shop.svg" %}
+
+
{{ stats.restaurant }}
+
KFC Restaurant · {{ stats.restaurant_pct }}%
+
+
+
+
+
+
{% include "icons/patch-check.svg" %}
+
+
{{ stats.verified }}
+
Verified
+
+
+
+
+
+
{% include "icons/patch-exclamation.svg" %}
+
+
{{ stats.not_verified }}
+
Not Verified
+
+
+
+
+ +
+
+ +
+
+ +
+ + + + {% macro sort_link(field, label) -%} + {% set next_dir = 'desc' if sort == field and direction == 'asc' else 'asc' %} + + {%- endmacro %} + {{ sort_link('phone_number', 'Phone Number') }} + {{ sort_link('current_owner', 'Current Owner') }} + {{ sort_link('plan', 'Plan') }} + {{ sort_link('contract_expiration', 'Contract Expiration') }} + {{ sort_link('eligible_for_replacement', 'Eligibility for Replacement') }} + {{ sort_link('venue', 'Venue') }} + {{ sort_link('verified', 'Verified') }} + {{ sort_link('comment', 'Comment') }} + {% if session.role == 'admin' %}{% endif %} + + + + {% for p in phones %} + + + + + + + + + + {% if session.role == 'admin' %} + + {% endif %} + + {% else %} + + {% endfor %} + +
+ + {{ label }} + {% if sort == field %} + {{ '▲' if direction == 'asc' else '▼' }} + {% else %} + ↕ + {% endif %} + + Actions
{{ p.phone_number }}{{ p.current_owner or "" }}{{ p.plan or "" }} + {% if p.contract_expiration %} + {% if p.contract_expiration < today %} + Expired + {% elif (p.contract_expiration - today).days <= 60 %} + Expiring soon + {% endif %} + {{ p.contract_expiration.strftime("%d-%m-%Y") }} + {% endif %} + + {% if not p.eligible_for_replacement or p.eligible_for_replacement <= today %} + Eligible now + {% else %} + From {{ p.eligible_for_replacement.strftime("%d-%m-%Y") }} + {% endif %} + {% if p.venue %}{{ p.venue }}{% endif %} + {% if p.verified == "Yes" %} + Yes + {% elif p.verified == "No" %} + No + {% endif %} + {{ p.comment or "" }} +
+ + +
+
No phones yet.
+
+ +
+ + + +{% endblock %} + +{% block scripts %} + +{% endblock %} diff --git a/TelcoPortal-source/templates/users.html b/TelcoPortal-source/templates/users.html new file mode 100755 index 0000000..f81dc52 --- /dev/null +++ b/TelcoPortal-source/templates/users.html @@ -0,0 +1,183 @@ +{% extends "base.html" %} +{% block title %}Users - Queensway Europe Telco Portal{% endblock %} +{% block content %} +
+

+ {% include "icons/people.svg" %} Users +

+ +
+ +
+
+
+
{% include "icons/collection.svg" %}
+
+
{{ users|length }}
+
Total Users
+
+
+
+
+
+
{% include "icons/shield-lock-fill.svg" %}
+
+
{{ admin_count }}
+
Admins
+
+
+
+
+
+
{% include "icons/people.svg" %}
+
+
{{ viewer_count }}
+
Viewers
+
+
+
+
+ +
+
+
Admins can add, edit and remove phones, internet connections and other user accounts. Viewers can only view.
+
+
+ + + + + + + + + + {% for u in users %} + + + + + + {% else %} + + {% endfor %} + +
UsernameRoleActions
{{ u.username }}{% if u.id == session.user_id %} (you){% endif %} + {% if u.role == "admin" %} + Admin + {% else %} + Viewer + {% endif %} + +
+ + +
+
No users yet.
+
+
+ + + +{% endblock %} + +{% block scripts %} + +{% endblock %} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100755 index 0000000..911fb92 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +services: + telcoportal: + build: + context: ./TelcoPortal-source + dockerfile: Dockerfile + container_name: telcoportal + restart: unless-stopped + ports: + - "8092:8000" + volumes: + # Host-side folder - keeps the SQLite database across rebuilds/updates, and makes it + # easy to back up (just copy/zip this folder). + - ./TelcoPortal-data:/app/data + environment: + - TELCO_DATA_DIR=/app/data