From 97d31338432a1b7ba9c9cc6be61c2a95a1bc307f Mon Sep 17 00:00:00 2001 From: Jonathan Miller <230051081+jmiller-moko@users.noreply.github.com> Date: Tue, 24 Mar 2026 16:48:07 -0500 Subject: [PATCH] =?UTF-8?q?03.09.01=20=E2=80=94=20mod=5Fcustom=20hero=20ov?= =?UTF-8?q?erride,=20palette=20starter=20files,=20updated=20descriptions?= =?UTF-8?q?=20(#84)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add mod_custom hero layout override and bump version to 03.09.01 Adds src/html/mod_custom/hero.php — a banner-overlay style template override for mod_custom, mirroring Cassiopeia's banner layout pattern. Includes background image support via WebAssetManager and respects the Module Manager's moduleclass_sfx field. Co-Authored-By: Claude Sonnet 4.6 * Ignore and untrack .claude/settings.local.json Adds .claude/settings.local.json to .gitignore and removes it from version control to keep local Claude Code permissions out of the repo. Co-Authored-By: Claude Sonnet 4.6 * Ship custom palette starters and update template description - Add src/templates/light.custom.css and dark.custom.css as starter palette files that ship with the template, giving users a full variable reference to copy and customise - Register src/templates/ folder in templateDetails.xml - Update in templateDetails.xml: correct palette source paths, add Custom CSS & JavaScript section (user.css / user.js), link docs to GitHub repo docs/ directory - Sync en-GB and en-US tpl_mokocassiopeia.sys.ini with same changes, preserving British/American spelling variants; bump version to 03.09.01 Co-Authored-By: Claude Sonnet 4.6 * Add CSS Variables reference tab to template options Adds a new 'CSS Variables' tab to the template configuration with eight documented sections (brand, typography, navigation, header background, container backgrounds, borders/shadows, forms/focus) so site builders can reference all available custom properties without leaving Joomla admin. Also removes external docs links from descriptions in templateDetails.xml and both language files, replacing them with a pointer to the new tab. Fixes stale custom palette source paths in en-GB and en-US ini files. Co-Authored-By: Claude Sonnet 4.6 * Expand CSS Variables tab to full variable reference and add custom-hero class - Replace 8-field CSS Variables tab with 21 comprehensive sections covering all variables from light.standard.css and dark.standard.css - New sections: Links, Layout & Spacing, Breakpoints, Bootstrap Semantic Palette, Bootstrap State Colors, Alert & List Group Colors, Standard Colors/Grays/Opacity, Shadows & Shadow Tokens, Buttons, Cards, Component & Plugin Colors, VirtueMart, Gable - Add custom-hero class to hero.php outer div (always present) - Both en-GB and en-US language files updated Co-Authored-By: Claude Sonnet 4.6 * Add Google Search Console verification and ensure all Google services coexist - Add googlesitekey param to Google fieldset in templateDetails.xml - Inject via setMetaData() in index.php, component.php, and offline.php - GTM, GA, and Search Console verification can now all be active simultaneously - Add language strings for new field in en-US and en-GB Co-Authored-By: Claude Sonnet 4.6 * Add header-aside module position to the right of the logo - New position renders inside .header-brand-wrap, right-aligned via margin-inline-start: auto on .container-header-aside - CSS: .header-brand-wrap uses flexbox so logo stays left, aside floats right - Registered in templateDetails.xml positions list - Language strings added to both en-US and en-GB sys.ini files Co-Authored-By: Claude Sonnet 4.6 * Add minify build script and generate .min CSS/JS; rename position to brand-aside Build tooling: - Add package.json with clean-css and terser dev dependencies - Add scripts/minify.js: reads joomla.asset.json, auto-detects source/.min pairs, and minifies all template-owned CSS and JS files - Add node_modules/ to .gitignore Generated .min files (all 6 manifest pairs): - css/template.min.css (17.8% saved) - css/editor.min.css (49.4% saved) - css/theme/light.standard.min.css (13.1% saved) - css/theme/dark.standard.min.css (14.4% saved) - js/template.min.js (58.2% saved) - js/gtm.min.js (62.3% saved) Rename: header-aside → brand-aside (position, CSS class, language keys) Co-Authored-By: Claude Sonnet 4.6 * Add hero/banner-overlay CSS variables and wire template.css - Add HERO / BANNER OVERLAY section to light.standard.css and dark.standard.css: --hero-height, --hero-color, --hero-bg-repeat, --hero-bg-attachment, --hero-bg-position, --hero-bg-size, --hero-border-bottom, --hero-overlay-bg (light: 0.1 alpha / dark: 0.3 alpha), --hero-overlay-padding, --hero-overlay-text-align, --hero-overlay-text-color - Replace all hardcoded values in .container-banner .banner-overlay and .overlay with var() references (with fallbacks) - Fix background-position: comma syntax → correct space-separated single-bg value - Add css_vars_hero note field to CSS Variables tab in templateDetails.xml - Add TPL_MOKOCASSIOPEIA_CSS_VARS_HERO_LABEL/DESC to en-US and en-GB - Regenerate .min files Co-Authored-By: Claude Sonnet 4.6 * Add smooth theme-switch transitions and restore hero .overlay wrapper - Add prefers-reduced-motion-scoped CSS transitions (bg, color, border) on :root, body, and key layout containers so light/dark theme switches animate smoothly instead of snapping - Restore
child in hero.php; slim .custom-hero rule to a customisation hook only — visual overlay styles are handled by .overlay child - Regenerate template.min.css Co-Authored-By: Claude Sonnet 4.6 * Update template.css * Merge duplicate prefers-reduced-motion media queries Consolidate the two @media (prefers-reduced-motion: no-preference) blocks into one — scroll-behavior and theme-switch colour transitions share the same query and are cleaner in a single block. Co-Authored-By: Claude Sonnet 4.6 * Promote offcanvas variables to :root theme files and document in CSS Variables tab - Move --offcanvas-* definitions from component-scoped .offcanvas selector in template.css into :root[data-bs-theme] blocks in light.standard.css and dark.standard.css so they are overridable via user.css at root level - Fix two bugs in the old definitions: --offcanvas-bg was incorrectly set to var(--body-color) (text colour); corrected to var(--body-bg); and --offcanvas-color had a spurious 'color:' prefix - Dark theme uses a heavier box-shadow (0.3 alpha) for better depth perception - Add css_vars_offcanvas field to templateDetails.xml CSS Variables tab - Add en-US and en-GB language strings for the new Offcanvas Panel section - Rebuild all .min CSS files Co-Authored-By: Claude Sonnet 4.6 * Promote Bootstrap component variables from template.css to :root theme files Move 16 component variable groups from component-scoped selectors in template.css into :root[data-bs-theme] blocks in light.standard.css and dark.standard.css: accordion, breadcrumb, pagination, badge, alert, progress, list-group, dropdown, toast, modal, tooltip, popover, spinner, nav, nav-tabs, nav-pills Dark theme values adapted for dark surfaces: semantic var() references, lighter SVG icon fill colours, heavier shadows, secondary-bg backgrounds. Component selectors in template.css retain only non-variable rules. Co-Authored-By: Claude Sonnet 4.6 * Promote table and backdrop variables to :root theme files Move --table-* and --backdrop-* base definitions from component selectors in template.css into :root[data-bs-theme] blocks in light/dark theme files. Dark table uses white-rgb-based striped/active overlays for proper contrast on dark surfaces. Deduplicate the double --table-active-* declarations that existed in template.css. Backdrop values are identical in both themes. Co-Authored-By: Claude Sonnet 4.6 * Add CSS Variables tab documentation for all promoted Bootstrap components Add LABEL/DESC language strings (en-US + en-GB) for all 17 Bootstrap component variable groups now living in the :root theme files: accordion, alert, badge, backdrop, breadcrumb, dropdown, list-group, modal, nav-tabs, nav-pills, pagination, popover, progress, spinner, table, toast, tooltip Each section documents variables with HTML subheadings (Dimensions, Colours, Typography, Stacking, Animation) and tags for every variable name. British English spellings used throughout en-GB. Adds 34 new lines per language file (17 LABEL + 17 DESC pairs, 80 CSS_VARS_* keys total). XML fields were already present from the prior migration commit. Co-Authored-By: Claude Sonnet 4.6 --------- Co-authored-by: Claude Sonnet 4.6 --- .gitignore | 11 + package.json | 12 + scripts/minify.js | 188 ++++ src/component.php | 5 + src/html/mod_custom/hero.php | 36 + src/index.php | 11 +- src/language/en-GB/tpl_mokocassiopeia.ini | 129 ++- src/language/en-GB/tpl_mokocassiopeia.sys.ini | 5 +- src/language/en-US/tpl_mokocassiopeia.ini | 129 ++- src/language/en-US/tpl_mokocassiopeia.sys.ini | 5 +- src/media/css/editor.min.css | 1 + src/media/css/template.css | 313 ++----- src/media/css/template.min.css | 1 + src/media/css/theme/dark.standard.css | 260 ++++++ src/media/css/theme/dark.standard.min.css | 1 + src/media/css/theme/light.standard.css | 260 ++++++ src/media/css/theme/light.standard.min.css | 1 + src/media/js/gtm.min.js | 1 + src/media/js/template.min.js | 1 + src/offline.php | 5 + src/templateDetails.xml | 53 +- src/templates/dark.custom.css | 842 +++++++++++++++++ src/templates/light.custom.css | 851 ++++++++++++++++++ 23 files changed, 2859 insertions(+), 262 deletions(-) create mode 100644 package.json create mode 100644 scripts/minify.js create mode 100644 src/html/mod_custom/hero.php create mode 100644 src/media/css/editor.min.css create mode 100644 src/media/css/template.min.css create mode 100644 src/media/css/theme/dark.standard.min.css create mode 100644 src/media/css/theme/light.standard.min.css create mode 100644 src/media/js/gtm.min.js create mode 100644 src/media/js/template.min.js create mode 100644 src/templates/dark.custom.css create mode 100644 src/templates/light.custom.css diff --git a/.gitignore b/.gitignore index 18cf5e1..0abc9f0 100644 --- a/.gitignore +++ b/.gitignore @@ -28,6 +28,17 @@ secrets/ *.sqlite *.sqlite3 +# ============================================================ +# Node / build tooling +# ============================================================ +node_modules/ +npm-debug.log* + +# ============================================================ +# Claude Code local settings +# ============================================================ +.claude/settings.local.json + # ============================================================ # OS / Editor / IDE cruft # ============================================================ diff --git a/package.json b/package.json new file mode 100644 index 0000000..c715644 --- /dev/null +++ b/package.json @@ -0,0 +1,12 @@ +{ + "name": "mokocassiopeia-build", + "private": true, + "description": "Build tooling for MokoCassiopeia Joomla template", + "scripts": { + "minify": "node scripts/minify.js" + }, + "devDependencies": { + "clean-css": "^5.3.3", + "terser": "^5.39.0" + } +} diff --git a/scripts/minify.js b/scripts/minify.js new file mode 100644 index 0000000..452f421 --- /dev/null +++ b/scripts/minify.js @@ -0,0 +1,188 @@ +#!/usr/bin/env node +/* Copyright (C) 2026 Moko Consulting + * + * This file is part of a Moko Consulting project. + * + * SPDX-License-Identifier: GPL-3.0-or-later + * + * # FILE INFORMATION + * DEFGROUP: Joomla.Template.Site + * INGROUP: MokoCassiopeia + * REPO: https://github.com/mokoconsulting-tech/MokoCassiopeia + * PATH: ./scripts/minify.js + * VERSION: 03.09.01 + * BRIEF: Generates .min.css and .min.js files from the Joomla asset manifest + */ + +'use strict'; + +const fs = require('fs'); +const path = require('path'); + +const CleanCSS = require('clean-css'); +const { minify: terserMinify } = require('terser'); + +// --------------------------------------------------------------------------- +// Config +// --------------------------------------------------------------------------- + +const ROOT = path.resolve(__dirname, '..'); +const SRC_MEDIA = path.join(ROOT, 'src', 'media'); +const ASSET_JSON = path.join(ROOT, 'src', 'joomla.asset.json'); + +// URI prefix used in the manifest — maps to SRC_MEDIA on disk. +// e.g. "media/templates/site/mokocassiopeia/css/template.css" +const URI_PREFIX = 'media/templates/site/mokocassiopeia/'; + +// --------------------------------------------------------------------------- +// Helpers +// --------------------------------------------------------------------------- + +/** + * Resolve a manifest URI to an absolute disk path under src/media/. + * + * @param {string} uri e.g. "media/templates/site/mokocassiopeia/css/foo.css" + * @returns {string|null} + */ +function uriToPath(uri) { + if (!uri.startsWith(URI_PREFIX)) return null; + return path.join(SRC_MEDIA, uri.slice(URI_PREFIX.length)); +} + +/** + * Return true if the filename looks like an already-minified file or belongs + * to a vendor bundle we don't own. + */ +function isVendorOrUserFile(filePath) { + const rel = filePath.replace(SRC_MEDIA + path.sep, ''); + return rel.startsWith('vendor' + path.sep) + || path.basename(filePath).startsWith('user.'); +} + +// --------------------------------------------------------------------------- +// Pair detection +// --------------------------------------------------------------------------- + +/** + * Read the asset manifest and return an array of { src, dest, type } pairs + * where dest is a minified version of src that doesn't already exist or is + * older than src. + * + * Pairing logic: for every non-.min asset, check whether the manifest also + * contains a corresponding .min asset. If so, that's our pair. + */ +function detectPairs(assets) { + // Build a lookup of all URIs in the manifest. + const uriSet = new Set(assets.map(a => a.uri)); + + const pairs = []; + + for (const asset of assets) { + const { uri, type } = asset; + if (type !== 'style' && type !== 'script') continue; + + // Skip already-minified entries. + if (/\.min\.(css|js)$/.test(uri)) continue; + + // Derive the expected .min URI. + const minUri = uri.replace(/\.(css|js)$/, '.min.$1'); + if (!uriSet.has(minUri)) continue; + + const srcPath = uriToPath(uri); + const destPath = uriToPath(minUri); + if (!srcPath || !destPath) continue; + + if (isVendorOrUserFile(srcPath)) continue; + + if (!fs.existsSync(srcPath)) { + console.warn(` [skip] source missing: ${srcPath}`); + continue; + } + + pairs.push({ src: srcPath, dest: destPath, type }); + } + + return pairs; +} + +// --------------------------------------------------------------------------- +// Minifiers +// --------------------------------------------------------------------------- + +async function minifyCSS(srcPath, destPath) { + const source = fs.readFileSync(srcPath, 'utf8'); + const result = new CleanCSS({ level: 2, returnPromise: true }); + const output = await result.minify(source); + + if (output.errors && output.errors.length) { + throw new Error(output.errors.join('\n')); + } + + fs.mkdirSync(path.dirname(destPath), { recursive: true }); + fs.writeFileSync(destPath, output.styles, 'utf8'); + + const srcSize = Buffer.byteLength(source, 'utf8'); + const destSize = Buffer.byteLength(output.styles, 'utf8'); + const saving = (100 - (destSize / srcSize * 100)).toFixed(1); + + return { srcSize, destSize, saving }; +} + +async function minifyJS(srcPath, destPath) { + const source = fs.readFileSync(srcPath, 'utf8'); + const result = await terserMinify(source, { + compress: { drop_console: false }, + mangle: true, + format: { comments: false } + }); + + if (!result.code) throw new Error('terser returned no output'); + + fs.mkdirSync(path.dirname(destPath), { recursive: true }); + fs.writeFileSync(destPath, result.code, 'utf8'); + + const srcSize = Buffer.byteLength(source, 'utf8'); + const destSize = Buffer.byteLength(result.code, 'utf8'); + const saving = (100 - (destSize / srcSize * 100)).toFixed(1); + + return { srcSize, destSize, saving }; +} + +// --------------------------------------------------------------------------- +// Main +// --------------------------------------------------------------------------- + +(async () => { + const manifest = JSON.parse(fs.readFileSync(ASSET_JSON, 'utf8')); + const pairs = detectPairs(manifest.assets); + + if (pairs.length === 0) { + console.log('No pairs found — nothing to minify.'); + return; + } + + console.log(`\nMinifying ${pairs.length} file(s)...\n`); + + let ok = 0, fail = 0; + + for (const { src, dest, type } of pairs) { + const label = path.relative(ROOT, src); + process.stdout.write(` ${label} ... `); + + try { + const stats = type === 'style' + ? await minifyCSS(src, dest) + : await minifyJS(src, dest); + + const kb = n => (n / 1024).toFixed(1) + ' kB'; + console.log(`${kb(stats.srcSize)} → ${kb(stats.destSize)} (${stats.saving}% saved)`); + ok++; + } catch (err) { + console.error(`FAILED\n ${err.message}`); + fail++; + } + } + + console.log(`\nDone. ${ok} succeeded, ${fail} failed.\n`); + if (fail > 0) process.exit(1); +})(); diff --git a/src/component.php b/src/component.php index efb20be..48b29ef 100644 --- a/src/component.php +++ b/src/component.php @@ -37,6 +37,11 @@ $params_googletagmanager = $this->params->get('googletagmanager', false); $params_googletagmanagerid = $this->params->get('googletagmanagerid', null); $params_googleanalytics = $this->params->get('googleanalytics', false); $params_googleanalyticsid = $this->params->get('googleanalyticsid', null); +$params_googlesitekey = $this->params->get('googlesitekey', null); + +if (!empty($params_googlesitekey)) { + $this->setMetaData('google-site-verification', htmlspecialchars($params_googlesitekey, ENT_QUOTES, 'UTF-8')); +} // Detecting Active Variables $option = $input->getCmd('option', ''); diff --git a/src/html/mod_custom/hero.php b/src/html/mod_custom/hero.php new file mode 100644 index 0000000..5a5c951 --- /dev/null +++ b/src/html/mod_custom/hero.php @@ -0,0 +1,36 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + * + * Template override for mod_custom adding banner-overlay wrapper pattern. + * Based on Cassiopeia's banner layout approach. + */ + +defined('_JEXEC') or die; + +use Joomla\CMS\HTML\HTMLHelper; +use Joomla\CMS\Uri\Uri; + +$modId = 'mod-custom' . $module->id; +$moduleclass = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8'); + +if ($params->get('backgroundimage')) { + /** @var Joomla\CMS\WebAsset\WebAssetManager $wa */ + $wa = $app->getDocument()->getWebAssetManager(); + $wa->addInlineStyle( + '#' . $modId . '{background-image: url("' . Uri::root(true) . '/' . HTMLHelper::_('cleanImageURL', $params->get('backgroundimage'))->url . '");}', + ['name' => $modId] + ); +} +?> + + diff --git a/src/index.php b/src/index.php index e50086d..8d8a9a2 100644 --- a/src/index.php +++ b/src/index.php @@ -53,6 +53,7 @@ $params_googletagmanager = $this->params->get('googletagmanager', false); $params_googletagmanagerid = $this->params->get('googletagmanagerid', null); $params_googleanalytics = $this->params->get('googleanalytics', false); $params_googleanalyticsid = $this->params->get('googleanalyticsid', null); +$params_googlesitekey = $this->params->get('googlesitekey', null); $params_custom_head_start = $this->params->get('custom_head_start', null); $params_custom_head_end = $this->params->get('custom_head_end', null); $params_developmentmode = $this->params->get('developmentmode', false); @@ -188,6 +189,9 @@ $stickyHeader = $this->params->get('stickyHeader') ? 'position-sticky sticky-top // Meta $this->setMetaData('viewport', 'width=device-width, initial-scale=1'); +if (!empty($params_googlesitekey)) { + $this->setMetaData('google-site-verification', htmlspecialchars($params_googlesitekey, ENT_QUOTES, 'UTF-8')); +} if ($this->params->get('fA6KitCode')) { $faKit = "https://kit.fontawesome.com/" . $this->params->get('fA6KitCode') . ".js"; @@ -375,7 +379,7 @@ $wa->useScript('user.js'); // js/user.js params->get('brand', 1)) : ?> - here." TPL_MOKOCASSIOPEIA_GOOGLEANALYTICSID_LABEL="Google Analytics ID" TPL_MOKOCASSIOPEIA_GOOGLEANALYTICSID_DESC="Begins with 'G-'" +TPL_MOKOCASSIOPEIA_GOOGLESITEKEY_LABEL="Google Search Console Verification" +TPL_MOKOCASSIOPEIA_GOOGLESITEKEY_DESC="Paste the content value from the <meta name="google-site-verification"> tag. Find this in Google Search Console under Ownership Verification → HTML tag method." ; ===== Branding & icons (Theme tab) ===== TPL_MOKOCASSIOPEIA_BRAND_LABEL="Brand" @@ -75,9 +77,9 @@ TPL_MOKOCASSIOPEIA_COLOR_NAME_STANDARD="Standard" TPL_MOKOCASSIOPEIA_COLOR_NAME_CUSTOM="Custom" ; New labels for Theme tab dropdowns TPL_MOKOCASSIOPEIA_COLOR_LIGHT_NAME_LABEL="Light colour palette" -TPL_MOKOCASSIOPEIA_COLOR_LIGHT_NAME_DESC="Select a colour palette for light mode. Standard uses the default blue theme with comprehensive styling for all components. Custom allows you to create your own colour scheme - copy the template file from templates/theme_custom_light.css to media/templates/site/mokocassiopeia/css/theme/light.custom.css and customise the CSS variables to match your brand." +TPL_MOKOCASSIOPEIA_COLOR_LIGHT_NAME_DESC="Select a colour palette for light mode. Standard uses the default blue theme with comprehensive styling for all components. Custom loads media/templates/site/mokocassiopeia/css/theme/light.custom.css — copy the starter file from templates/mokocassiopeia/templates/light.custom.css and customise the CSS variables to match your brand." TPL_MOKOCASSIOPEIA_COLOR_DARK_NAME_LABEL="Dark colour palette" -TPL_MOKOCASSIOPEIA_COLOR_DARK_NAME_DESC="Select a colour palette for dark mode. Standard uses the default blue theme optimised for dark backgrounds with proper contrast. Custom allows you to create your own colour scheme - copy the template file from templates/theme_custom_dark.css to media/templates/site/mokocassiopeia/css/theme/dark.custom.css and customise the CSS variables to match your brand." +TPL_MOKOCASSIOPEIA_COLOR_DARK_NAME_DESC="Select a colour palette for dark mode. Standard uses the default blue theme optimised for dark backgrounds with proper contrast. Custom loads media/templates/site/mokocassiopeia/css/theme/dark.custom.css — copy the starter file from templates/mokocassiopeia/templates/dark.custom.css and customise the CSS variables to match your brand." ; ===== Theme tab (core feature strings) ===== TPL_MOKO_THEME_FIELDSET="Theme" @@ -109,6 +111,127 @@ TPL_MOKO_THEME_FAB_ENABLED_DESC="Display a persistent, accessible theme toggle." TPL_MOKO_THEME_FAB_POS="Floating switch position" TPL_MOKO_THEME_FAB_POS_DESC="Screen corner for the toggle." +; ===== CSS Variables tab ===== +TPL_MOKOCASSIOPEIA_CSS_VARS_FIELDSET_LABEL="CSS Variables" +TPL_MOKOCASSIOPEIA_CSS_VARS_INTRO="

All colours, spacing and layout values are driven by CSS custom properties. To override any variable without editing the template, add your overrides to media/templates/site/mokocassiopeia/css/user.css, or create a custom palette file (see the Theme tab). Variables are scoped to :root[data-bs-theme="light"] or :root[data-bs-theme="dark"] so light and dark values are independent.

" + +TPL_MOKOCASSIOPEIA_CSS_VARS_BRAND_LABEL="Brand & Theme Colours" +TPL_MOKOCASSIOPEIA_CSS_VARS_BRAND_DESC="--color-primary — Primary brand colour (default: #112855)
--accent-color-primary — Primary accent (default: #3f8ff0)
--accent-color-secondary — Secondary accent" + +TPL_MOKOCASSIOPEIA_CSS_VARS_LINKS_LABEL="Links & Link Utilities" +TPL_MOKOCASSIOPEIA_CSS_VARS_LINKS_DESC="Core link tokens
--color-link — Base link colour
--color-hover — Base hover colour
--link-color / --link-hover-color — Bootstrap link colours
--link-decoration — Default text-decoration
--link-active-color — Active state

Semantic link utilities (replace {colour} with primary, secondary, success, info, warning, danger, light, dark)
--link-{colour}-color — Colour for .link-{colour}
--link-{colour}-hover-color — Hover colour" + +TPL_MOKOCASSIOPEIA_CSS_VARS_TYPO_LABEL="Typography & Body" +TPL_MOKOCASSIOPEIA_CSS_VARS_TYPO_DESC="--body-color — Default text colour (default: #22262a)
--body-bg — Page background (default: #fff)
--body-font-family — Font stack
--body-font-size — Base size (default: 1rem)
--body-font-weight — Base weight (default: 400)
--body-line-height — Line height (default: 1.5)
--heading-color — Heading colour (default: inherit)
--muted-color — Muted/secondary text (default: #6d757e)
--code-color — Inline code colour
--emphasis-color — Strong emphasis colour
--secondary-color / --tertiary-color — Stepped text opacities
--highlight-color / --highlight-bg<mark> colours
--font-sans-serif / --font-monospace — Font stacks" + +TPL_MOKOCASSIOPEIA_CSS_VARS_NAV_LABEL="Navigation, Navbar & Offcanvas" +TPL_MOKOCASSIOPEIA_CSS_VARS_NAV_DESC="Theme nav
--nav-bg-color — Navbar background
--nav-text-color — Navbar text
--mainmenu-nav-link-color — Active nav link

Navbar tokens
--navbar-padding-x / --navbar-padding-y — Navbar padding
--navbar-brand-font-size — Brand font size
--navbar-toggler-border-color — Mobile toggler border
--nav-link-padding-x / --nav-link-padding-y — Link padding
--nav-link-font-weight — Link weight
--nav-link-disabled-color — Disabled link colour

Offcanvas
--offcanvas-color — Offcanvas text colour
--offcanvas-padding-x / --offcanvas-padding-y — Offcanvas padding" + +TPL_MOKOCASSIOPEIA_CSS_VARS_LAYOUT_LABEL="Layout & Spacing" +TPL_MOKOCASSIOPEIA_CSS_VARS_LAYOUT_DESC="--padding-x / --padding-y — Default component padding
--nav-toggle-size — Mobile nav toggle button size (default: 3rem)
--secondary-bg — Secondary surface background (default: #eaedf0)
--tertiary-bg — Tertiary surface background (default: #f9fafb)
--hr-color — Horizontal rule colour
--border-color-soft — Soft border variant
--kbd-bg / --kbd-ink — Keyboard element colours
--toc-bg / --toc-ink — Table of contents colours
--selection-bg / --selection-ink — Text selection colours
--gradient — Bootstrap gradient overlay value
--bg-opacity — Background opacity utility base" + +TPL_MOKOCASSIOPEIA_CSS_VARS_BP_LABEL="Breakpoints" +TPL_MOKOCASSIOPEIA_CSS_VARS_BP_DESC="Read-only reference values matching Bootstrap breakpoints.
--bp-xs0
--bp-sm576px
--bp-md768px
--bp-lg992px
--bp-xl1200px" + +TPL_MOKOCASSIOPEIA_CSS_VARS_BS_LABEL="Bootstrap Semantic Palette" +TPL_MOKOCASSIOPEIA_CSS_VARS_BS_DESC="These map to Bootstrap components (buttons, alerts, badges). Override to retheme all components at once.
--primary#010156
--secondary#6d757e
--success#448344
--info#30638d
--warning#ad6200
--danger#a51f18
--light#f9fafb
--dark#353b41
Each colour also has an --{color}-rgb variant for use in rgba() expressions." + +TPL_MOKOCASSIOPEIA_CSS_VARS_BS_STATES_LABEL="Bootstrap State Colours" +TPL_MOKOCASSIOPEIA_CSS_VARS_BS_STATES_DESC="Contextual state tokens used by alerts, badges and list groups. Replace {color} with primary, secondary, success, info, warning, danger, light, or dark.
--{color}-text-emphasis — High-contrast text on subtle backgrounds
--{color}-bg-subtle — Tinted component background
--{color}-border-subtle — Tinted component border" + +TPL_MOKOCASSIOPEIA_CSS_VARS_ALERT_LIST_LABEL="Alert & List Group Colours" +TPL_MOKOCASSIOPEIA_CSS_VARS_ALERT_LIST_DESC="Alert link colours — override to adjust link contrast inside .alert-{color} components.
--alert-{color}-link-color — e.g. --alert-primary-link-color

List group item colours — contextual surfaces for .list-group-item-{color}.
--list-group-item-{color}-color — Text colour
--list-group-item-{color}-bg — Background
--list-group-item-{color}-active-bg — Active state background" + +TPL_MOKOCASSIOPEIA_CSS_VARS_COLORS_LABEL="Standard Colours, Grays & Opacity" +TPL_MOKOCASSIOPEIA_CSS_VARS_COLORS_DESC="Named colours
--blue, --indigo, --purple, --pink, --red, --orange, --yellow, --green, --teal, --cyan, --black, --white

Gray scale
--gray-100 through --gray-900 plus --white-rgb and --black-rgb

Opacity utilities
--opacity-0, --opacity-5, --opacity-10, --opacity-15, --opacity-20, --opacity-25, --opacity-30, --opacity-50, --opacity-75, --opacity-100" + +TPL_MOKOCASSIOPEIA_CSS_VARS_HERO_LABEL="Hero / Banner Overlay" +TPL_MOKOCASSIOPEIA_CSS_VARS_HERO_DESC="Applied to the .custom-hero / .banner-overlay layout. Set on :root[data-bs-theme] so light and dark values are independent.
--hero-height — Banner height (default: 70vh)
--hero-color — Base text colour
--hero-bg-repeat — Background repeat (default: no-repeat)
--hero-bg-attachment — Background attachment (default: fixed)
--hero-bg-position — Background position (default: top center)
--hero-bg-size — Background size (default: cover)
--hero-border-bottom — Bottom border (default: solid var(--accent-color-secondary))
--hero-overlay-bg — Overlay tint colour (light default: hsla(0,0%,0%,0.1) / dark default: hsla(0,0%,0%,0.3))
--hero-overlay-padding — Overlay inner padding (default: 1em)
--hero-overlay-text-align — Overlay text alignment (default: center)
--hero-overlay-text-color — Overlay text colour" + +TPL_MOKOCASSIOPEIA_CSS_VARS_HEADER_LABEL="Header Background" +TPL_MOKOCASSIOPEIA_CSS_VARS_HEADER_DESC="Controls the background of the topbar/header area.
--header-background-image — CSS background-image value (default: built-in SVG pattern)
--header-background-attachmentfixed or scroll
--header-background-repeat — e.g. repeat, no-repeat
--header-background-size — e.g. auto, cover, contain" + +TPL_MOKOCASSIOPEIA_CSS_VARS_CONTAINERS_LABEL="Container Backgrounds" +TPL_MOKOCASSIOPEIA_CSS_VARS_CONTAINERS_DESC="Each layout container has its own background variables. Replace {pos} with: below-topbar, top-a, top-b, sidebar, bottom-a, or bottom-b.

--container-{pos}-bg-image — Background image (default: none)
--container-{pos}-bg-color — Background colour (default: transparent)
--container-{pos}-bg-position — Background position
--container-{pos}-bg-attachmentfixed or scroll
--container-{pos}-bg-repeat — Repeat behaviour
--container-{pos}-bg-size — e.g. cover, auto
--container-{pos}-border — Border shorthand
--container-{pos}-border-radius — Border radius

Also: --container-toc-bg / --container-toc-color for the TOC sidebar." + +TPL_MOKOCASSIOPEIA_CSS_VARS_BORDERS_LABEL="Borders" +TPL_MOKOCASSIOPEIA_CSS_VARS_BORDERS_DESC="--border-width — Default width (default: 1px)
--border-style — Default style (default: solid)
--border-color — Default border colour (default: #dfe3e7)
--border-color-translucent — Semi-transparent border
--border-radius — Default radius (default: .25rem)
--border-radius-sm — Small radius
--border-radius-lg — Large radius
--border-radius-xl — Extra large radius
--border-radius-xxl — 2XL radius (default: 2rem)
--border-radius-pill — Pill radius (default: 50rem)" + +TPL_MOKOCASSIOPEIA_CSS_VARS_SHADOWS_LABEL="Shadows & Shadow Tokens" +TPL_MOKOCASSIOPEIA_CSS_VARS_SHADOWS_DESC="Box shadows
--box-shadow — Standard shadow
--box-shadow-sm — Subtle shadow
--box-shadow-lg — Prominent shadow
--box-shadow-inset — Inset shadow

Shadow colour tokens — used as building blocks by component shadows
--shadow-color-lightrgba(black, 0.15)
--shadow-color-mediumrgba(black, 0.25)
--shadow-color-darkrgba(black, 0.30)
--highlight-translucentrgba(white, 0.15)" + +TPL_MOKOCASSIOPEIA_CSS_VARS_FORMS_LABEL="Focus & Forms" +TPL_MOKOCASSIOPEIA_CSS_VARS_FORMS_DESC="--focus-ring-width — Keyboard focus ring width (default: .25rem)
--focus-ring-opacity — Focus ring opacity
--focus-ring-color — Focus ring colour
--input-color — Input text colour
--input-bg — Input background
--input-border-color — Input border colour
--input-focus-border-color — Focused border colour
--input-focus-box-shadow — Focused input shadow
--input-placeholder-color — Placeholder text colour
--input-disabled-bg — Disabled input background
--input-disabled-border-color — Disabled input border
--form-valid-color / --form-valid-border-color — Valid state
--form-invalid-color / --form-invalid-border-color — Invalid state" + +TPL_MOKOCASSIOPEIA_CSS_VARS_BUTTONS_LABEL="Buttons" +TPL_MOKOCASSIOPEIA_CSS_VARS_BUTTONS_DESC="Applied on :root for global button defaults:
--btn-border-radius — Button border radius
--btn-box-shadow — Button box shadow

Applied on .btn for base button tokens (overridable per variant):
--btn-padding-x / --btn-padding-y — Padding
--btn-font-size / --btn-font-weight / --btn-line-height — Typography
--btn-color / --btn-bg / --btn-border-color — Default state
--btn-hover-color / --btn-hover-bg / --btn-hover-border-color — Hover state
--btn-active-color / --btn-active-bg / --btn-active-shadow — Active state
--btn-disabled-opacity — Disabled opacity

Each .btn-{color} and .btn-outline-{color} class inherits these tokens and sets its own values." + +TPL_MOKOCASSIOPEIA_CSS_VARS_CARDS_LABEL="Cards" +TPL_MOKOCASSIOPEIA_CSS_VARS_CARDS_DESC="--card-spacer-y / --card-spacer-x — Body padding (default: 1rem)
--card-title-spacer-y — Title bottom margin (default: 0.5rem)
--card-border-width — Border width (default: 1px)
--card-border-color — Border colour
--card-border-radius — Border radius
--card-box-shadow — Card shadow (default: none)
--card-cap-padding-y / --card-cap-padding-x — Header/footer padding
--card-cap-bg — Header/footer background
--card-cap-color — Header/footer text colour
--card-color — Body text colour
--card-bg — Card background" + +TPL_MOKOCASSIOPEIA_CSS_VARS_ACCORDION_LABEL="Accordion" +TPL_MOKOCASSIOPEIA_CSS_VARS_ACCORDION_DESC="Colours
--accordion-color — Panel text colour
--accordion-bg — Panel background
--accordion-border-color — Border colour
--accordion-btn-color — Button text colour
--accordion-btn-bg — Button background
--accordion-btn-focus-border-color — Button focus border colour
--accordion-btn-focus-box-shadow — Button focus ring
--accordion-active-color — Active item text colour
--accordion-active-bg — Active item background

Dimensions
--accordion-border-width — Border width
--accordion-border-radius — Outer border radius
--accordion-inner-border-radius — Inner border radius
--accordion-btn-padding-x / --accordion-btn-padding-y — Button padding
--accordion-body-padding-x / --accordion-body-padding-y — Body padding

Icon & Animation
--accordion-btn-icon — Collapse icon (collapsed state)
--accordion-btn-icon-width — Icon size
--accordion-btn-icon-transform — Icon rotation when expanded
--accordion-btn-icon-transition — Icon rotation transition
--accordion-btn-active-icon — Icon (expanded state)
--accordion-transition — Panel open/close transition

Stacking
--accordion-zindex — z-index" + +TPL_MOKOCASSIOPEIA_CSS_VARS_ALERT_BASE_LABEL="Alert (Base)" +TPL_MOKOCASSIOPEIA_CSS_VARS_ALERT_BASE_DESC="Colours
--alert-color — Alert text colour
--alert-bg — Alert background
--alert-border-color — Border colour
--alert-border — Full border shorthand

Dimensions
--alert-padding-x / --alert-padding-y — Inner padding
--alert-margin-bottom — Bottom margin
--alert-border-radius — Border radius

Note: per-variant contextual tokens (colours, backgrounds, borders) are covered in the Bootstrap State Colours section above." + +TPL_MOKOCASSIOPEIA_CSS_VARS_BADGE_LABEL="Badge" +TPL_MOKOCASSIOPEIA_CSS_VARS_BADGE_DESC="Colours
--badge-color — Badge text colour

Typography
--badge-font-size — Font size
--badge-font-weight — Font weight

Dimensions
--badge-padding-x / --badge-padding-y — Padding
--badge-border-radius — Border radius" + +TPL_MOKOCASSIOPEIA_CSS_VARS_BACKDROP_LABEL="Backdrop" +TPL_MOKOCASSIOPEIA_CSS_VARS_BACKDROP_DESC="Colours
--backdrop-bg — Backdrop colour (default: #000)
--backdrop-opacity — Backdrop opacity (default: 0.5)

Stacking
--backdrop-zindex — z-index (default: 1040)" + +TPL_MOKOCASSIOPEIA_CSS_VARS_BREADCRUMB_LABEL="Breadcrumb" +TPL_MOKOCASSIOPEIA_CSS_VARS_BREADCRUMB_DESC="Colours
--breadcrumb-bg — Background colour
--breadcrumb-divider-color — Divider colour
--breadcrumb-item-active-color — Active item colour

Dimensions
--breadcrumb-padding-x / --breadcrumb-padding-y — Container padding
--breadcrumb-margin-bottom — Bottom margin
--breadcrumb-item-padding-x — Spacing between items
--breadcrumb-border-radius — Container border radius" + +TPL_MOKOCASSIOPEIA_CSS_VARS_DROPDOWN_MENU_LABEL="Dropdown Menu" +TPL_MOKOCASSIOPEIA_CSS_VARS_DROPDOWN_MENU_DESC="Colours
--dropdown-color — Default text colour
--dropdown-bg — Menu background
--dropdown-border-color — Border colour
--dropdown-divider-bg — Divider colour
--dropdown-box-shadow — Menu shadow
--dropdown-link-color — Link text colour
--dropdown-link-active-color — Active link text colour
--dropdown-link-active-bg — Active link background
--dropdown-link-disabled-color — Disabled link colour
--dropdown-header-color — Header text colour

Dimensions
--dropdown-min-width — Minimum width
--dropdown-padding-x / --dropdown-padding-y — Menu padding
--dropdown-spacer — Gap from toggle
--dropdown-border-width — Border width
--dropdown-border-radius — Outer border radius
--dropdown-inner-border-radius — Inner border radius
--dropdown-divider-margin-y — Divider vertical margin
--dropdown-item-padding-x / --dropdown-item-padding-y — Item padding
--dropdown-header-padding-x / --dropdown-header-padding-y — Header padding

Typography
--dropdown-font-size — Menu font size

Stacking
--dropdown-zindex — z-index" + +TPL_MOKOCASSIOPEIA_CSS_VARS_LIST_GROUP_LABEL="List Group" +TPL_MOKOCASSIOPEIA_CSS_VARS_LIST_GROUP_DESC="Colours
--list-group-color — Default text colour
--list-group-bg — Default background
--list-group-border-color — Border colour
--list-group-action-color — Clickable item text colour
--list-group-action-active-color — Clickable item active text colour
--list-group-action-active-bg — Clickable item active background
--list-group-disabled-color — Disabled item text colour
--list-group-disabled-bg — Disabled item background
--list-group-active-color — Active item text colour
--list-group-active-bg — Active item background
--list-group-active-border-color — Active item border colour

Dimensions
--list-group-border-width — Border width
--list-group-border-radius — Border radius
--list-group-item-padding-x / --list-group-item-padding-y — Item padding" + +TPL_MOKOCASSIOPEIA_CSS_VARS_MODAL_LABEL="Modal" +TPL_MOKOCASSIOPEIA_CSS_VARS_MODAL_DESC="Colours
--modal-color — Modal text colour
--modal-bg — Modal background
--modal-border-color — Outer border colour
--modal-box-shadow — Modal shadow
--modal-header-border-color — Header border colour
--modal-footer-bg — Footer background
--modal-footer-border-color — Footer border colour

Dimensions
--modal-width — Default modal width
--modal-padding — Body padding
--modal-margin — Outer margin
--modal-border-width — Outer border width
--modal-border-radius — Outer border radius
--modal-inner-border-radius — Inner border radius
--modal-header-padding-x / --modal-header-padding-y — Header padding
--modal-header-padding — Header padding shorthand
--modal-header-border-width — Header border width
--modal-title-line-height — Title line height
--modal-footer-gap — Footer button gap
--modal-footer-border-width — Footer border width

Stacking
--modal-zindex — z-index" + +TPL_MOKOCASSIOPEIA_CSS_VARS_NAV_TABS_LABEL="Nav Tabs" +TPL_MOKOCASSIOPEIA_CSS_VARS_NAV_TABS_DESC="Colours
--nav-tabs-border-color — Tab bar border colour
--nav-tabs-link-active-color — Active tab text colour
--nav-tabs-link-active-bg — Active tab background
--nav-tabs-link-active-border-color — Active tab border colour

Dimensions
--nav-tabs-border-width — Border width
--nav-tabs-border-radius — Tab border radius" + +TPL_MOKOCASSIOPEIA_CSS_VARS_NAV_PILLS_LABEL="Nav Pills" +TPL_MOKOCASSIOPEIA_CSS_VARS_NAV_PILLS_DESC="Colours
--nav-pills-link-active-color — Active pill text colour
--nav-pills-link-active-bg — Active pill background

Dimensions
--nav-pills-border-radius — Pill border radius" + +TPL_MOKOCASSIOPEIA_CSS_VARS_PAGINATION_LABEL="Pagination" +TPL_MOKOCASSIOPEIA_CSS_VARS_PAGINATION_DESC="Colours
--pagination-color — Default link colour
--pagination-bg — Default background
--pagination-border-color — Default border colour
--pagination-focus-color — Focused link colour
--pagination-focus-bg — Focused background
--pagination-focus-box-shadow — Focus ring
--pagination-active-color — Active page text colour
--pagination-active-bg — Active page background
--pagination-active-border-color — Active page border colour
--pagination-disabled-color — Disabled link colour
--pagination-disabled-bg — Disabled background
--pagination-disabled-border-color — Disabled border colour

Dimensions
--pagination-padding-x / --pagination-padding-y — Item padding
--pagination-border-width — Border width
--pagination-border-radius — Border radius

Typography
--pagination-font-size — Font size" + +TPL_MOKOCASSIOPEIA_CSS_VARS_POPOVER_LABEL="Popover" +TPL_MOKOCASSIOPEIA_CSS_VARS_POPOVER_DESC="Colours
--popover-bg — Popover background
--popover-border-color — Border colour
--popover-box-shadow — Popover shadow
--popover-header-color — Header text colour
--popover-header-bg — Header background
--popover-body-color — Body text colour
--popover-arrow-border — Arrow border colour

Dimensions
--popover-max-width — Maximum width
--popover-border-width — Border width
--popover-border-radius — Outer border radius
--popover-inner-border-radius — Inner border radius
--popover-header-padding-x / --popover-header-padding-y — Header padding
--popover-body-padding-x / --popover-body-padding-y — Body padding
--popover-arrow-width / --popover-arrow-height — Arrow dimensions

Typography
--popover-font-size — Font size
--popover-header-font-size — Header font size

Stacking
--popover-zindex — z-index" + +TPL_MOKOCASSIOPEIA_CSS_VARS_PROGRESS_LABEL="Progress Bar" +TPL_MOKOCASSIOPEIA_CSS_VARS_PROGRESS_DESC="Colours
--progress-bg — Track background
--progress-bar-color — Bar text colour
--progress-bar-bg — Bar fill colour
--progress-box-shadow — Track shadow

Dimensions
--progress-height — Track height
--progress-border-radius — Track border radius

Typography
--progress-font-size — Label font size

Animation
--progress-bar-transition — Bar width transition" + +TPL_MOKOCASSIOPEIA_CSS_VARS_SPINNER_LABEL="Spinner" +TPL_MOKOCASSIOPEIA_CSS_VARS_SPINNER_DESC="Dimensions
--spinner-width — Spinner width
--spinner-height — Spinner height
--spinner-vertical-align — Inline vertical alignment
--spinner-border-width — Border-style spinner track width

Animation
--spinner-animation-speed — Rotation duration" + +TPL_MOKOCASSIOPEIA_CSS_VARS_TABLE_LABEL="Table" +TPL_MOKOCASSIOPEIA_CSS_VARS_TABLE_DESC="Colours
--table-color — Default cell text colour
--table-bg — Default cell background
--table-border-color — Border colour
--table-accent-bg — Accent row background (used by variants)
--table-striped-color — Striped row text colour
--table-striped-bg — Striped row background
--table-active-color — Hovered/active row text colour
--table-active-bg — Hovered/active row background" + +TPL_MOKOCASSIOPEIA_CSS_VARS_TOAST_LABEL="Toast" +TPL_MOKOCASSIOPEIA_CSS_VARS_TOAST_DESC="Colours
--toast-color — Body text colour
--toast-bg — Body background
--toast-border-color — Border colour
--toast-box-shadow — Toast shadow
--toast-header-color — Header text colour
--toast-header-bg — Header background
--toast-header-border-color — Header border colour

Dimensions
--toast-max-width — Maximum width
--toast-padding-x / --toast-padding-y — Body padding
--toast-spacing — Gap between stacked toasts
--toast-border-width — Border width
--toast-border-radius — Border radius

Typography
--toast-font-size — Font size

Stacking
--toast-zindex — z-index" + +TPL_MOKOCASSIOPEIA_CSS_VARS_TOOLTIP_LABEL="Tooltip" +TPL_MOKOCASSIOPEIA_CSS_VARS_TOOLTIP_DESC="Colours
--tooltip-color — Text colour
--tooltip-bg — Background
--tooltip-opacity — Overall opacity

Dimensions
--tooltip-max-width — Maximum width
--tooltip-padding-x / --tooltip-padding-y — Inner padding
--tooltip-margin — Offset from target
--tooltip-border-radius — Border radius
--tooltip-arrow-width / --tooltip-arrow-height — Arrow dimensions

Typography
--tooltip-font-size — Font size

Stacking
--tooltip-zindex — z-index" + +TPL_MOKOCASSIOPEIA_CSS_VARS_COMPONENTS_LABEL="Component & Plugin Colours" +TPL_MOKOCASSIOPEIA_CSS_VARS_COMPONENTS_DESC="Misc components
--mod-finder-link-hover — Smart Search hover background
--form-legend-color — Form legend text colour
--border-gray — General gray border
--subhead-color — Subheading colour
--item-list-color — Item list background
--notification-badge-bg — Notification badge

Table of Contents (TOC)
--toc-link-color — TOC link colour
--toc-link-active-color — Active TOC link

Choices.js select
--choices-inner-bg — Inner background
--choices-dropdown-bg — Dropdown background
--choices-item-bg — Tag item background
--choices-item-hover-bg — Tag hover
--choices-disabled-bg — Disabled state
--choices-focused-border — Focused border

Tab buttons (taba)
--taba-btn-green, --taba-btn-blue, --taba-btn-red, --taba-btn-gray" + +TPL_MOKOCASSIOPEIA_CSS_VARS_OFFCANVAS_LABEL="Offcanvas Panel" +TPL_MOKOCASSIOPEIA_CSS_VARS_OFFCANVAS_DESC="Dimensions
--offcanvas-width — Panel width (default: 400px)
--offcanvas-height — Panel height for top/bottom variants (default: 30vh)
--offcanvas-padding-x / --offcanvas-padding-y — Inner padding

Colours
--offcanvas-bg — Panel background (default: var(--body-bg))
--offcanvas-color — Panel text colour (default: var(--body-color))
--offcanvas-border-width / --offcanvas-border-color — Panel border
--offcanvas-box-shadow — Drop shadow

Stacking
--offcanvas-zindex — z-index (default: 1045)" + +TPL_MOKOCASSIOPEIA_CSS_VARS_VM_LABEL="VirtueMart" +TPL_MOKOCASSIOPEIA_CSS_VARS_VM_DESC="Surfaces & text
--vm-surface / --vm-surface-2 — Card/panel backgrounds
--vm-text / --vm-text-strong / --vm-text-muted — Text variants
--vm-border — Border colour
--vm-price-color — Price text colour

Layout & density
--vm-container-max-width — Max content width (default: 1200px)
--vm-section-gap — Section spacing (default: 2rem)
--vm-block-radius / --vm-block-shadow — Block appearance

Typography
--vm-category-title-size — Category heading size
--vm-product-title-size — Product title size
--vm-price-size — Price size

Buttons
--vm-btn-primary-bg / --vm-btn-primary-text — Primary button
--vm-btn-secondary-bg / --vm-btn-secondary-text — Secondary button

Image overlay controls
--vm-image-overlay-btn-bg / --vm-image-overlay-btn-color — Overlay button appearance" + +TPL_MOKOCASSIOPEIA_CSS_VARS_GABLE_LABEL="Gable" +TPL_MOKOCASSIOPEIA_CSS_VARS_GABLE_DESC="Colour tokens used by the Gable extension.
--gab-blue#0066cc
--gab-green#28a745
--gab-red#dc3545
--gab-orange#fd7e14
--gab-gray1#495057
--gab-gray2#6c757d
--gab-gray3#adb5bd" + ; ===== Misc ===== MOD_BREADCRUMBS_HERE="YOU ARE HERE:" diff --git a/src/language/en-GB/tpl_mokocassiopeia.sys.ini b/src/language/en-GB/tpl_mokocassiopeia.sys.ini index 17019a0..7f719b2 100644 --- a/src/language/en-GB/tpl_mokocassiopeia.sys.ini +++ b/src/language/en-GB/tpl_mokocassiopeia.sys.ini @@ -8,7 +8,7 @@ ; DEFGROUP: Joomla.Template.Site ; INGROUP: MokoCassiopeia ; PATH: ./language/en-GB/tpl_mokocassiopeia.sys.ini -; VERSION: 03.06.02 +; VERSION: 03.09.01 ; BRIEF: English (GB) system language strings for template metadata and installer ; TPL_MOKOCASSIOPEIA="MokoCassiopeia Site template" @@ -18,6 +18,7 @@ TPL_MOKOCASSIOPEIA_MOD_MENU_LAYOUT_COLLAPSE_METISMENU="Collapsible Dropdown" TPL_MOKOCASSIOPEIA_MOD_MENU_LAYOUT_DROPDOWN_METISMENU="Dropdown" TPL_MOKOCASSIOPEIA_POSITION_BANNER="Banner" TPL_MOKOCASSIOPEIA_POSITION_BELOW_TOP="Below Top" +TPL_MOKOCASSIOPEIA_POSITION_BRAND_ASIDE="Brand Aside" TPL_MOKOCASSIOPEIA_POSITION_BOTTOM_A="Bottom-A" TPL_MOKOCASSIOPEIA_POSITION_BOTTOM_B="Bottom-B" TPL_MOKOCASSIOPEIA_POSITION_BREADCRUMBS="Breadcrumbs" @@ -34,4 +35,4 @@ TPL_MOKOCASSIOPEIA_POSITION_TOP_B="Top-b" TPL_MOKOCASSIOPEIA_POSITION_TOPBAR="Top Bar" TPL_MOKOCASSIOPEIA_POSITION_DRAWER_LEFT="Drawer-Left" TPL_MOKOCASSIOPEIA_POSITION_DRAWER_RIGHT="Drawer-Right" -TPL_MOKOCASSIOPEIA_XML_DESCRIPTION="

MokoCassiopeia Template Description

MokoCassiopeia 3.0 continues Joomla’s tradition of space-themed default templates— building on the legacy of Solarflare (Joomla 1.0), Milkyway (Joomla 1.5), and Protostar (Joomla 3.0).

This template is a customized fork of the Cassiopeia template introduced in Joomla 4, preserving its modern, accessible, and mobile-first foundation while introducing new stylistic enhancements and structural refinements specifically tailored for use by Moko Consulting.

Custom Colour Themes

To create a custom colour scheme, copy the template file templates/theme_custom_light.css to media/templates/site/mokocassiopeia/css/theme/light.custom.css or media/templates/site/mokocassiopeia/css/theme/dark.custom.css. Customise the CSS variables to match your brand, then activate it in System → Site Templates → MokoCassiopeia → Theme tab by selecting "Custom" for the Light or Dark Mode Palette. For comprehensive documentation on all available CSS variables, see docs/CSS_VARIABLES.md.

Code Attribution

This template is based on the original Cassiopeia template developed by the Joomla! Project and released under the GNU General Public License.

Modifications and enhancements have been made by Moko Consulting in accordance with open-source licensing standards.

It includes integration with Bootstrap TOC, an open-source table of contents generator by A. Feld, licensed under the MIT License.

All third-party libraries and assets remain the property of their respective authors and are credited within their source files where applicable.

" +TPL_MOKOCASSIOPEIA_XML_DESCRIPTION="

MokoCassiopeia Template Description

MokoCassiopeia continues Joomla’s tradition of space-themed default templates— building on the legacy of Solarflare (Joomla 1.0), Milkyway (Joomla 1.5), and Protostar (Joomla 3.0).

This template is a customized fork of the Cassiopeia template introduced in Joomla 4, preserving its modern, accessible, and mobile-first foundation while introducing new stylistic enhancements and structural refinements specifically tailored for use by Moko Consulting.

Custom Colour Themes

Starter palette files are included with the template. To create a custom colour scheme, copy templates/mokocassiopeia/templates/light.custom.css to media/templates/site/mokocassiopeia/css/theme/light.custom.css, or templates/mokocassiopeia/templates/dark.custom.css to media/templates/site/mokocassiopeia/css/theme/dark.custom.css. Customise the CSS variables to match your brand, then activate your palette in System → Site Templates → MokoCassiopeia → Theme tab by selecting "Custom" for the Light or Dark Mode Palette. A full variable reference is available in the CSS Variables tab in template options.

Custom CSS & JavaScript

For site-specific styles and scripts that should survive template updates, create the following files:

  • media/templates/site/mokocassiopeia/css/user.css — loaded on every page for custom CSS overrides.
  • media/templates/site/mokocassiopeia/js/user.js — loaded on every page for custom JavaScript.

These files are gitignored and will not be overwritten by template updates.

Code Attribution

This template is based on the original Cassiopeia template developed by the Joomla! Project and released under the GNU General Public License.

Modifications and enhancements have been made by Moko Consulting in accordance with open-source licensing standards.

It includes integration with Bootstrap TOC, an open-source table of contents generator by A. Feld, licensed under the MIT License.

All third-party libraries and assets remain the property of their respective authors and are credited within their source files where applicable.

" diff --git a/src/language/en-US/tpl_mokocassiopeia.ini b/src/language/en-US/tpl_mokocassiopeia.ini index 82aa2bb..b28f2df 100644 --- a/src/language/en-US/tpl_mokocassiopeia.ini +++ b/src/language/en-US/tpl_mokocassiopeia.ini @@ -8,7 +8,7 @@ ; DEFGROUP: Joomla.Template.Site ; INGROUP: MokoCassiopeia ; PATH: ./language/en-US/tpl_mokocassiopeia.ini -; VERSION: 03.06.02 +; VERSION: 03.09.01 ; BRIEF: English (US) language strings for the MokoCassiopeia Joomla template ; ; Note: Template metadata strings (name, description) are in tpl_mokocassiopeia.sys.ini @@ -47,6 +47,8 @@ TPL_MOKOCASSIOPEIA_GOOGLEANALYTICS_LABEL="Use Google Analytics?" TPL_MOKOCASSIOPEIA_GOOGLEANALYTICS_DESC="Do you want to use Google Analytics?
More information on Google Analytics can be found here." TPL_MOKOCASSIOPEIA_GOOGLEANALYTICSID_LABEL="Google Analytics ID" TPL_MOKOCASSIOPEIA_GOOGLEANALYTICSID_DESC="Begins with 'G-'" +TPL_MOKOCASSIOPEIA_GOOGLESITEKEY_LABEL="Google Search Console Verification" +TPL_MOKOCASSIOPEIA_GOOGLESITEKEY_DESC="Paste the content value from the <meta name="google-site-verification"> tag. Find this in Google Search Console under Ownership Verification → HTML tag method." ; ===== Branding & icons (Theme tab) ===== TPL_MOKOCASSIOPEIA_BRAND_LABEL="Brand" @@ -75,9 +77,9 @@ TPL_MOKOCASSIOPEIA_COLOR_NAME_STANDARD="Standard" TPL_MOKOCASSIOPEIA_COLOR_NAME_CUSTOM="Custom" ; New labels for Theme tab dropdowns TPL_MOKOCASSIOPEIA_COLOR_LIGHT_NAME_LABEL="Light color palette" -TPL_MOKOCASSIOPEIA_COLOR_LIGHT_NAME_DESC="Select a color palette for light mode. Standard uses the default blue theme with comprehensive styling for all components. Custom allows you to create your own color scheme - copy the template file from templates/theme_custom_light.css to media/templates/site/mokocassiopeia/css/theme/light.custom.css and customize the CSS variables to match your brand." +TPL_MOKOCASSIOPEIA_COLOR_LIGHT_NAME_DESC="Select a color palette for light mode. Standard uses the default blue theme with comprehensive styling for all components. Custom loads media/templates/site/mokocassiopeia/css/theme/light.custom.css — copy the starter file from templates/mokocassiopeia/templates/light.custom.css and customize the CSS variables to match your brand." TPL_MOKOCASSIOPEIA_COLOR_DARK_NAME_LABEL="Dark color palette" -TPL_MOKOCASSIOPEIA_COLOR_DARK_NAME_DESC="Select a color palette for dark mode. Standard uses the default blue theme optimized for dark backgrounds with proper contrast. Custom allows you to create your own color scheme - copy the template file from templates/theme_custom_dark.css to media/templates/site/mokocassiopeia/css/theme/dark.custom.css and customize the CSS variables to match your brand." +TPL_MOKOCASSIOPEIA_COLOR_DARK_NAME_DESC="Select a color palette for dark mode. Standard uses the default blue theme optimized for dark backgrounds with proper contrast. Custom loads media/templates/site/mokocassiopeia/css/theme/dark.custom.css — copy the starter file from templates/mokocassiopeia/templates/dark.custom.css and customize the CSS variables to match your brand." ; ===== Theme tab (core feature strings) ===== TPL_MOKO_THEME_FIELDSET="Theme" @@ -109,6 +111,127 @@ TPL_MOKO_THEME_FAB_ENABLED_DESC="Display a persistent, accessible theme toggle." TPL_MOKO_THEME_FAB_POS="Floating switch position" TPL_MOKO_THEME_FAB_POS_DESC="Screen corner for the toggle." +; ===== CSS Variables tab ===== +TPL_MOKOCASSIOPEIA_CSS_VARS_FIELDSET_LABEL="CSS Variables" +TPL_MOKOCASSIOPEIA_CSS_VARS_INTRO="

All colors, spacing and layout values are driven by CSS custom properties. To override any variable without editing the template, add your overrides to media/templates/site/mokocassiopeia/css/user.css, or create a custom palette file (see the Theme tab). Variables are scoped to :root[data-bs-theme="light"] or :root[data-bs-theme="dark"] so light and dark values are independent.

" + +TPL_MOKOCASSIOPEIA_CSS_VARS_BRAND_LABEL="Brand & Theme Colors" +TPL_MOKOCASSIOPEIA_CSS_VARS_BRAND_DESC="--color-primary — Primary brand color (default: #112855)
--accent-color-primary — Primary accent (default: #3f8ff0)
--accent-color-secondary — Secondary accent" + +TPL_MOKOCASSIOPEIA_CSS_VARS_LINKS_LABEL="Links & Link Utilities" +TPL_MOKOCASSIOPEIA_CSS_VARS_LINKS_DESC="Core link tokens
--color-link — Base link color
--color-hover — Base hover color
--link-color / --link-hover-color — Bootstrap link colors
--link-decoration — Default text-decoration
--link-active-color — Active state

Semantic link utilities (replace {color} with primary, secondary, success, info, warning, danger, light, dark)
--link-{color}-color — Color for .link-{color}
--link-{color}-hover-color — Hover color" + +TPL_MOKOCASSIOPEIA_CSS_VARS_TYPO_LABEL="Typography & Body" +TPL_MOKOCASSIOPEIA_CSS_VARS_TYPO_DESC="--body-color — Default text color (default: #22262a)
--body-bg — Page background (default: #fff)
--body-font-family — Font stack
--body-font-size — Base size (default: 1rem)
--body-font-weight — Base weight (default: 400)
--body-line-height — Line height (default: 1.5)
--heading-color — Heading color (default: inherit)
--muted-color — Muted/secondary text (default: #6d757e)
--code-color — Inline code color
--emphasis-color — Strong emphasis color
--secondary-color / --tertiary-color — Stepped text opacities
--highlight-color / --highlight-bg<mark> colors
--font-sans-serif / --font-monospace — Font stacks" + +TPL_MOKOCASSIOPEIA_CSS_VARS_NAV_LABEL="Navigation, Navbar & Offcanvas" +TPL_MOKOCASSIOPEIA_CSS_VARS_NAV_DESC="Theme nav
--nav-bg-color — Navbar background
--nav-text-color — Navbar text
--mainmenu-nav-link-color — Active nav link

Navbar tokens
--navbar-padding-x / --navbar-padding-y — Navbar padding
--navbar-brand-font-size — Brand font size
--navbar-toggler-border-color — Mobile toggler border
--nav-link-padding-x / --nav-link-padding-y — Link padding
--nav-link-font-weight — Link weight
--nav-link-disabled-color — Disabled link color

Offcanvas
--offcanvas-color — Offcanvas text color
--offcanvas-padding-x / --offcanvas-padding-y — Offcanvas padding" + +TPL_MOKOCASSIOPEIA_CSS_VARS_LAYOUT_LABEL="Layout & Spacing" +TPL_MOKOCASSIOPEIA_CSS_VARS_LAYOUT_DESC="--padding-x / --padding-y — Default component padding
--nav-toggle-size — Mobile nav toggle button size (default: 3rem)
--secondary-bg — Secondary surface background (default: #eaedf0)
--tertiary-bg — Tertiary surface background (default: #f9fafb)
--hr-color — Horizontal rule color
--border-color-soft — Soft border variant
--kbd-bg / --kbd-ink — Keyboard element colors
--toc-bg / --toc-ink — Table of contents colors
--selection-bg / --selection-ink — Text selection colors
--gradient — Bootstrap gradient overlay value
--bg-opacity — Background opacity utility base" + +TPL_MOKOCASSIOPEIA_CSS_VARS_BP_LABEL="Breakpoints" +TPL_MOKOCASSIOPEIA_CSS_VARS_BP_DESC="Read-only reference values matching Bootstrap breakpoints.
--bp-xs0
--bp-sm576px
--bp-md768px
--bp-lg992px
--bp-xl1200px" + +TPL_MOKOCASSIOPEIA_CSS_VARS_BS_LABEL="Bootstrap Semantic Palette" +TPL_MOKOCASSIOPEIA_CSS_VARS_BS_DESC="These map to Bootstrap components (buttons, alerts, badges). Override to retheme all components at once.
--primary#010156
--secondary#6d757e
--success#448344
--info#30638d
--warning#ad6200
--danger#a51f18
--light#f9fafb
--dark#353b41
Each color also has an --{color}-rgb variant for use in rgba() expressions." + +TPL_MOKOCASSIOPEIA_CSS_VARS_BS_STATES_LABEL="Bootstrap State Colors" +TPL_MOKOCASSIOPEIA_CSS_VARS_BS_STATES_DESC="Contextual state tokens used by alerts, badges and list groups. Replace {color} with primary, secondary, success, info, warning, danger, light, or dark.
--{color}-text-emphasis — High-contrast text on subtle backgrounds
--{color}-bg-subtle — Tinted component background
--{color}-border-subtle — Tinted component border" + +TPL_MOKOCASSIOPEIA_CSS_VARS_ALERT_LIST_LABEL="Alert & List Group Colors" +TPL_MOKOCASSIOPEIA_CSS_VARS_ALERT_LIST_DESC="Alert link colors — override to adjust link contrast inside .alert-{color} components.
--alert-{color}-link-color — e.g. --alert-primary-link-color

List group item colors — contextual surfaces for .list-group-item-{color}.
--list-group-item-{color}-color — Text color
--list-group-item-{color}-bg — Background
--list-group-item-{color}-active-bg — Active state background" + +TPL_MOKOCASSIOPEIA_CSS_VARS_COLORS_LABEL="Standard Colors, Grays & Opacity" +TPL_MOKOCASSIOPEIA_CSS_VARS_COLORS_DESC="Named colors
--blue, --indigo, --purple, --pink, --red, --orange, --yellow, --green, --teal, --cyan, --black, --white

Gray scale
--gray-100 through --gray-900 plus --white-rgb and --black-rgb

Opacity utilities
--opacity-0, --opacity-5, --opacity-10, --opacity-15, --opacity-20, --opacity-25, --opacity-30, --opacity-50, --opacity-75, --opacity-100" + +TPL_MOKOCASSIOPEIA_CSS_VARS_HERO_LABEL="Hero / Banner Overlay" +TPL_MOKOCASSIOPEIA_CSS_VARS_HERO_DESC="Applied to the .custom-hero / .banner-overlay layout. Set on :root[data-bs-theme] so light and dark values are independent.
--hero-height — Banner height (default: 70vh)
--hero-color — Base text color
--hero-bg-repeat — Background repeat (default: no-repeat)
--hero-bg-attachment — Background attachment (default: fixed)
--hero-bg-position — Background position (default: top center)
--hero-bg-size — Background size (default: cover)
--hero-border-bottom — Bottom border (default: solid var(--accent-color-secondary))
--hero-overlay-bg — Overlay tint color (light default: hsla(0,0%,0%,0.1) / dark default: hsla(0,0%,0%,0.3))
--hero-overlay-padding — Overlay inner padding (default: 1em)
--hero-overlay-text-align — Overlay text alignment (default: center)
--hero-overlay-text-color — Overlay text color" + +TPL_MOKOCASSIOPEIA_CSS_VARS_HEADER_LABEL="Header Background" +TPL_MOKOCASSIOPEIA_CSS_VARS_HEADER_DESC="Controls the background of the topbar/header area.
--header-background-image — CSS background-image value (default: built-in SVG pattern)
--header-background-attachmentfixed or scroll
--header-background-repeat — e.g. repeat, no-repeat
--header-background-size — e.g. auto, cover, contain" + +TPL_MOKOCASSIOPEIA_CSS_VARS_CONTAINERS_LABEL="Container Backgrounds" +TPL_MOKOCASSIOPEIA_CSS_VARS_CONTAINERS_DESC="Each layout container has its own background variables. Replace {pos} with: below-topbar, top-a, top-b, sidebar, bottom-a, or bottom-b.

--container-{pos}-bg-image — Background image (default: none)
--container-{pos}-bg-color — Background color (default: transparent)
--container-{pos}-bg-position — Background position
--container-{pos}-bg-attachmentfixed or scroll
--container-{pos}-bg-repeat — Repeat behavior
--container-{pos}-bg-size — e.g. cover, auto
--container-{pos}-border — Border shorthand
--container-{pos}-border-radius — Border radius

Also: --container-toc-bg / --container-toc-color for the TOC sidebar." + +TPL_MOKOCASSIOPEIA_CSS_VARS_BORDERS_LABEL="Borders" +TPL_MOKOCASSIOPEIA_CSS_VARS_BORDERS_DESC="--border-width — Default width (default: 1px)
--border-style — Default style (default: solid)
--border-color — Default border color (default: #dfe3e7)
--border-color-translucent — Semi-transparent border
--border-radius — Default radius (default: .25rem)
--border-radius-sm — Small radius
--border-radius-lg — Large radius
--border-radius-xl — Extra large radius
--border-radius-xxl — 2XL radius (default: 2rem)
--border-radius-pill — Pill radius (default: 50rem)" + +TPL_MOKOCASSIOPEIA_CSS_VARS_SHADOWS_LABEL="Shadows & Shadow Tokens" +TPL_MOKOCASSIOPEIA_CSS_VARS_SHADOWS_DESC="Box shadows
--box-shadow — Standard shadow
--box-shadow-sm — Subtle shadow
--box-shadow-lg — Prominent shadow
--box-shadow-inset — Inset shadow

Shadow color tokens — used as building blocks by component shadows
--shadow-color-lightrgba(black, 0.15)
--shadow-color-mediumrgba(black, 0.25)
--shadow-color-darkrgba(black, 0.30)
--highlight-translucentrgba(white, 0.15)" + +TPL_MOKOCASSIOPEIA_CSS_VARS_FORMS_LABEL="Focus & Forms" +TPL_MOKOCASSIOPEIA_CSS_VARS_FORMS_DESC="--focus-ring-width — Keyboard focus ring width (default: .25rem)
--focus-ring-opacity — Focus ring opacity
--focus-ring-color — Focus ring color
--input-color — Input text color
--input-bg — Input background
--input-border-color — Input border color
--input-focus-border-color — Focused border color
--input-focus-box-shadow — Focused input shadow
--input-placeholder-color — Placeholder text color
--input-disabled-bg — Disabled input background
--input-disabled-border-color — Disabled input border
--form-valid-color / --form-valid-border-color — Valid state
--form-invalid-color / --form-invalid-border-color — Invalid state" + +TPL_MOKOCASSIOPEIA_CSS_VARS_BUTTONS_LABEL="Buttons" +TPL_MOKOCASSIOPEIA_CSS_VARS_BUTTONS_DESC="Applied on :root for global button defaults:
--btn-border-radius — Button border radius
--btn-box-shadow — Button box shadow

Applied on .btn for base button tokens (overridable per variant):
--btn-padding-x / --btn-padding-y — Padding
--btn-font-size / --btn-font-weight / --btn-line-height — Typography
--btn-color / --btn-bg / --btn-border-color — Default state
--btn-hover-color / --btn-hover-bg / --btn-hover-border-color — Hover state
--btn-active-color / --btn-active-bg / --btn-active-shadow — Active state
--btn-disabled-opacity — Disabled opacity

Each .btn-{color} and .btn-outline-{color} class inherits these tokens and sets its own values." + +TPL_MOKOCASSIOPEIA_CSS_VARS_CARDS_LABEL="Cards" +TPL_MOKOCASSIOPEIA_CSS_VARS_CARDS_DESC="--card-spacer-y / --card-spacer-x — Body padding (default: 1rem)
--card-title-spacer-y — Title bottom margin (default: 0.5rem)
--card-border-width — Border width (default: 1px)
--card-border-color — Border color
--card-border-radius — Border radius
--card-box-shadow — Card shadow (default: none)
--card-cap-padding-y / --card-cap-padding-x — Header/footer padding
--card-cap-bg — Header/footer background
--card-cap-color — Header/footer text color
--card-color — Body text color
--card-bg — Card background" + +TPL_MOKOCASSIOPEIA_CSS_VARS_ACCORDION_LABEL="Accordion" +TPL_MOKOCASSIOPEIA_CSS_VARS_ACCORDION_DESC="Colors
--accordion-color — Panel text color
--accordion-bg — Panel background
--accordion-border-color — Border color
--accordion-btn-color — Button text color
--accordion-btn-bg — Button background
--accordion-btn-focus-border-color — Button focus border color
--accordion-btn-focus-box-shadow — Button focus ring
--accordion-active-color — Active item text color
--accordion-active-bg — Active item background

Dimensions
--accordion-border-width — Border width
--accordion-border-radius — Outer border radius
--accordion-inner-border-radius — Inner border radius
--accordion-btn-padding-x / --accordion-btn-padding-y — Button padding
--accordion-body-padding-x / --accordion-body-padding-y — Body padding

Icon & Animation
--accordion-btn-icon — Collapse icon (collapsed state)
--accordion-btn-icon-width — Icon size
--accordion-btn-icon-transform — Icon rotation when expanded
--accordion-btn-icon-transition — Icon rotation transition
--accordion-btn-active-icon — Icon (expanded state)
--accordion-transition — Panel open/close transition

Stacking
--accordion-zindex — z-index" + +TPL_MOKOCASSIOPEIA_CSS_VARS_ALERT_BASE_LABEL="Alert (Base)" +TPL_MOKOCASSIOPEIA_CSS_VARS_ALERT_BASE_DESC="Colors
--alert-color — Alert text color
--alert-bg — Alert background
--alert-border-color — Border color
--alert-border — Full border shorthand

Dimensions
--alert-padding-x / --alert-padding-y — Inner padding
--alert-margin-bottom — Bottom margin
--alert-border-radius — Border radius

Note: per-variant contextual tokens (colors, backgrounds, borders) are covered in the Bootstrap State Colors section above." + +TPL_MOKOCASSIOPEIA_CSS_VARS_BADGE_LABEL="Badge" +TPL_MOKOCASSIOPEIA_CSS_VARS_BADGE_DESC="Colors
--badge-color — Badge text color

Typography
--badge-font-size — Font size
--badge-font-weight — Font weight

Dimensions
--badge-padding-x / --badge-padding-y — Padding
--badge-border-radius — Border radius" + +TPL_MOKOCASSIOPEIA_CSS_VARS_BACKDROP_LABEL="Backdrop" +TPL_MOKOCASSIOPEIA_CSS_VARS_BACKDROP_DESC="Colors
--backdrop-bg — Backdrop color (default: #000)
--backdrop-opacity — Backdrop opacity (default: 0.5)

Stacking
--backdrop-zindex — z-index (default: 1040)" + +TPL_MOKOCASSIOPEIA_CSS_VARS_BREADCRUMB_LABEL="Breadcrumb" +TPL_MOKOCASSIOPEIA_CSS_VARS_BREADCRUMB_DESC="Colors
--breadcrumb-bg — Background color
--breadcrumb-divider-color — Divider color
--breadcrumb-item-active-color — Active item color

Dimensions
--breadcrumb-padding-x / --breadcrumb-padding-y — Container padding
--breadcrumb-margin-bottom — Bottom margin
--breadcrumb-item-padding-x — Spacing between items
--breadcrumb-border-radius — Container border radius" + +TPL_MOKOCASSIOPEIA_CSS_VARS_DROPDOWN_MENU_LABEL="Dropdown Menu" +TPL_MOKOCASSIOPEIA_CSS_VARS_DROPDOWN_MENU_DESC="Colors
--dropdown-color — Default text color
--dropdown-bg — Menu background
--dropdown-border-color — Border color
--dropdown-divider-bg — Divider color
--dropdown-box-shadow — Menu shadow
--dropdown-link-color — Link text color
--dropdown-link-active-color — Active link text color
--dropdown-link-active-bg — Active link background
--dropdown-link-disabled-color — Disabled link color
--dropdown-header-color — Header text color

Dimensions
--dropdown-min-width — Minimum width
--dropdown-padding-x / --dropdown-padding-y — Menu padding
--dropdown-spacer — Gap from toggle
--dropdown-border-width — Border width
--dropdown-border-radius — Outer border radius
--dropdown-inner-border-radius — Inner border radius
--dropdown-divider-margin-y — Divider vertical margin
--dropdown-item-padding-x / --dropdown-item-padding-y — Item padding
--dropdown-header-padding-x / --dropdown-header-padding-y — Header padding

Typography
--dropdown-font-size — Menu font size

Stacking
--dropdown-zindex — z-index" + +TPL_MOKOCASSIOPEIA_CSS_VARS_LIST_GROUP_LABEL="List Group" +TPL_MOKOCASSIOPEIA_CSS_VARS_LIST_GROUP_DESC="Colors
--list-group-color — Default text color
--list-group-bg — Default background
--list-group-border-color — Border color
--list-group-action-color — Clickable item text color
--list-group-action-active-color — Clickable item active text color
--list-group-action-active-bg — Clickable item active background
--list-group-disabled-color — Disabled item text color
--list-group-disabled-bg — Disabled item background
--list-group-active-color — Active item text color
--list-group-active-bg — Active item background
--list-group-active-border-color — Active item border color

Dimensions
--list-group-border-width — Border width
--list-group-border-radius — Border radius
--list-group-item-padding-x / --list-group-item-padding-y — Item padding" + +TPL_MOKOCASSIOPEIA_CSS_VARS_MODAL_LABEL="Modal" +TPL_MOKOCASSIOPEIA_CSS_VARS_MODAL_DESC="Colors
--modal-color — Modal text color
--modal-bg — Modal background
--modal-border-color — Outer border color
--modal-box-shadow — Modal shadow
--modal-header-border-color — Header border color
--modal-footer-bg — Footer background
--modal-footer-border-color — Footer border color

Dimensions
--modal-width — Default modal width
--modal-padding — Body padding
--modal-margin — Outer margin
--modal-border-width — Outer border width
--modal-border-radius — Outer border radius
--modal-inner-border-radius — Inner border radius
--modal-header-padding-x / --modal-header-padding-y — Header padding
--modal-header-padding — Header padding shorthand
--modal-header-border-width — Header border width
--modal-title-line-height — Title line height
--modal-footer-gap — Footer button gap
--modal-footer-border-width — Footer border width

Stacking
--modal-zindex — z-index" + +TPL_MOKOCASSIOPEIA_CSS_VARS_NAV_TABS_LABEL="Nav Tabs" +TPL_MOKOCASSIOPEIA_CSS_VARS_NAV_TABS_DESC="Colors
--nav-tabs-border-color — Tab bar border color
--nav-tabs-link-active-color — Active tab text color
--nav-tabs-link-active-bg — Active tab background
--nav-tabs-link-active-border-color — Active tab border color

Dimensions
--nav-tabs-border-width — Border width
--nav-tabs-border-radius — Tab border radius" + +TPL_MOKOCASSIOPEIA_CSS_VARS_NAV_PILLS_LABEL="Nav Pills" +TPL_MOKOCASSIOPEIA_CSS_VARS_NAV_PILLS_DESC="Colors
--nav-pills-link-active-color — Active pill text color
--nav-pills-link-active-bg — Active pill background

Dimensions
--nav-pills-border-radius — Pill border radius" + +TPL_MOKOCASSIOPEIA_CSS_VARS_PAGINATION_LABEL="Pagination" +TPL_MOKOCASSIOPEIA_CSS_VARS_PAGINATION_DESC="Colors
--pagination-color — Default link color
--pagination-bg — Default background
--pagination-border-color — Default border color
--pagination-focus-color — Focused link color
--pagination-focus-bg — Focused background
--pagination-focus-box-shadow — Focus ring
--pagination-active-color — Active page text color
--pagination-active-bg — Active page background
--pagination-active-border-color — Active page border color
--pagination-disabled-color — Disabled link color
--pagination-disabled-bg — Disabled background
--pagination-disabled-border-color — Disabled border color

Dimensions
--pagination-padding-x / --pagination-padding-y — Item padding
--pagination-border-width — Border width
--pagination-border-radius — Border radius

Typography
--pagination-font-size — Font size" + +TPL_MOKOCASSIOPEIA_CSS_VARS_POPOVER_LABEL="Popover" +TPL_MOKOCASSIOPEIA_CSS_VARS_POPOVER_DESC="Colors
--popover-bg — Popover background
--popover-border-color — Border color
--popover-box-shadow — Popover shadow
--popover-header-color — Header text color
--popover-header-bg — Header background
--popover-body-color — Body text color
--popover-arrow-border — Arrow border color

Dimensions
--popover-max-width — Maximum width
--popover-border-width — Border width
--popover-border-radius — Outer border radius
--popover-inner-border-radius — Inner border radius
--popover-header-padding-x / --popover-header-padding-y — Header padding
--popover-body-padding-x / --popover-body-padding-y — Body padding
--popover-arrow-width / --popover-arrow-height — Arrow dimensions

Typography
--popover-font-size — Font size
--popover-header-font-size — Header font size

Stacking
--popover-zindex — z-index" + +TPL_MOKOCASSIOPEIA_CSS_VARS_PROGRESS_LABEL="Progress Bar" +TPL_MOKOCASSIOPEIA_CSS_VARS_PROGRESS_DESC="Colors
--progress-bg — Track background
--progress-bar-color — Bar text color
--progress-bar-bg — Bar fill color
--progress-box-shadow — Track shadow

Dimensions
--progress-height — Track height
--progress-border-radius — Track border radius

Typography
--progress-font-size — Label font size

Animation
--progress-bar-transition — Bar width transition" + +TPL_MOKOCASSIOPEIA_CSS_VARS_SPINNER_LABEL="Spinner" +TPL_MOKOCASSIOPEIA_CSS_VARS_SPINNER_DESC="Dimensions
--spinner-width — Spinner width
--spinner-height — Spinner height
--spinner-vertical-align — Inline vertical alignment
--spinner-border-width — Border-style spinner track width

Animation
--spinner-animation-speed — Rotation duration" + +TPL_MOKOCASSIOPEIA_CSS_VARS_TABLE_LABEL="Table" +TPL_MOKOCASSIOPEIA_CSS_VARS_TABLE_DESC="Colors
--table-color — Default cell text color
--table-bg — Default cell background
--table-border-color — Border color
--table-accent-bg — Accent row background (used by variants)
--table-striped-color — Striped row text color
--table-striped-bg — Striped row background
--table-active-color — Hovered/active row text color
--table-active-bg — Hovered/active row background" + +TPL_MOKOCASSIOPEIA_CSS_VARS_TOAST_LABEL="Toast" +TPL_MOKOCASSIOPEIA_CSS_VARS_TOAST_DESC="Colors
--toast-color — Body text color
--toast-bg — Body background
--toast-border-color — Border color
--toast-box-shadow — Toast shadow
--toast-header-color — Header text color
--toast-header-bg — Header background
--toast-header-border-color — Header border color

Dimensions
--toast-max-width — Maximum width
--toast-padding-x / --toast-padding-y — Body padding
--toast-spacing — Gap between stacked toasts
--toast-border-width — Border width
--toast-border-radius — Border radius

Typography
--toast-font-size — Font size

Stacking
--toast-zindex — z-index" + +TPL_MOKOCASSIOPEIA_CSS_VARS_TOOLTIP_LABEL="Tooltip" +TPL_MOKOCASSIOPEIA_CSS_VARS_TOOLTIP_DESC="Colors
--tooltip-color — Text color
--tooltip-bg — Background
--tooltip-opacity — Overall opacity

Dimensions
--tooltip-max-width — Maximum width
--tooltip-padding-x / --tooltip-padding-y — Inner padding
--tooltip-margin — Offset from target
--tooltip-border-radius — Border radius
--tooltip-arrow-width / --tooltip-arrow-height — Arrow dimensions

Typography
--tooltip-font-size — Font size

Stacking
--tooltip-zindex — z-index" + +TPL_MOKOCASSIOPEIA_CSS_VARS_COMPONENTS_LABEL="Component & Plugin Colors" +TPL_MOKOCASSIOPEIA_CSS_VARS_COMPONENTS_DESC="Misc components
--mod-finder-link-hover — Smart Search hover background
--form-legend-color — Form legend text color
--border-gray — General gray border
--subhead-color — Subheading color
--item-list-color — Item list background
--notification-badge-bg — Notification badge

Table of Contents (TOC)
--toc-link-color — TOC link color
--toc-link-active-color — Active TOC link

Choices.js select
--choices-inner-bg — Inner background
--choices-dropdown-bg — Dropdown background
--choices-item-bg — Tag item background
--choices-item-hover-bg — Tag hover
--choices-disabled-bg — Disabled state
--choices-focused-border — Focused border

Tab buttons (taba)
--taba-btn-green, --taba-btn-blue, --taba-btn-red, --taba-btn-gray" + +TPL_MOKOCASSIOPEIA_CSS_VARS_OFFCANVAS_LABEL="Offcanvas Panel" +TPL_MOKOCASSIOPEIA_CSS_VARS_OFFCANVAS_DESC="Dimensions
--offcanvas-width — Panel width (default: 400px)
--offcanvas-height — Panel height for top/bottom variants (default: 30vh)
--offcanvas-padding-x / --offcanvas-padding-y — Inner padding

Colors
--offcanvas-bg — Panel background (default: var(--body-bg))
--offcanvas-color — Panel text color (default: var(--body-color))
--offcanvas-border-width / --offcanvas-border-color — Panel border
--offcanvas-box-shadow — Drop shadow

Stacking
--offcanvas-zindex — z-index (default: 1045)" + +TPL_MOKOCASSIOPEIA_CSS_VARS_VM_LABEL="VirtueMart" +TPL_MOKOCASSIOPEIA_CSS_VARS_VM_DESC="Surfaces & text
--vm-surface / --vm-surface-2 — Card/panel backgrounds
--vm-text / --vm-text-strong / --vm-text-muted — Text variants
--vm-border — Border color
--vm-price-color — Price text color

Layout & density
--vm-container-max-width — Max content width (default: 1200px)
--vm-section-gap — Section spacing (default: 2rem)
--vm-block-radius / --vm-block-shadow — Block appearance

Typography
--vm-category-title-size — Category heading size
--vm-product-title-size — Product title size
--vm-price-size — Price size

Buttons
--vm-btn-primary-bg / --vm-btn-primary-text — Primary button
--vm-btn-secondary-bg / --vm-btn-secondary-text — Secondary button

Image overlay controls
--vm-image-overlay-btn-bg / --vm-image-overlay-btn-color — Overlay button appearance" + +TPL_MOKOCASSIOPEIA_CSS_VARS_GABLE_LABEL="Gable" +TPL_MOKOCASSIOPEIA_CSS_VARS_GABLE_DESC="Color tokens used by the Gable extension.
--gab-blue#0066cc
--gab-green#28a745
--gab-red#dc3545
--gab-orange#fd7e14
--gab-gray1#495057
--gab-gray2#6c757d
--gab-gray3#adb5bd" + ; ===== Misc ===== MOD_BREADCRUMBS_HERE="YOU ARE HERE:" diff --git a/src/language/en-US/tpl_mokocassiopeia.sys.ini b/src/language/en-US/tpl_mokocassiopeia.sys.ini index af98009..bda3bba 100644 --- a/src/language/en-US/tpl_mokocassiopeia.sys.ini +++ b/src/language/en-US/tpl_mokocassiopeia.sys.ini @@ -8,7 +8,7 @@ ; DEFGROUP: Joomla.Template.Site ; INGROUP: MokoCassiopeia ; PATH: ./language/en-US/tpl_mokocassiopeia.sys.ini -; VERSION: 03.06.02 +; VERSION: 03.09.01 ; BRIEF: English (US) system language strings for template metadata and installer ; TPL_MOKOCASSIOPEIA="MokoCassiopeia Site template" @@ -18,6 +18,7 @@ TPL_MOKOCASSIOPEIA_MOD_MENU_LAYOUT_COLLAPSE_METISMENU="Collapsible Dropdown" TPL_MOKOCASSIOPEIA_MOD_MENU_LAYOUT_DROPDOWN_METISMENU="Dropdown" TPL_MOKOCASSIOPEIA_POSITION_BANNER="Banner" TPL_MOKOCASSIOPEIA_POSITION_BELOW_TOP="Below Top" +TPL_MOKOCASSIOPEIA_POSITION_BRAND_ASIDE="Brand Aside" TPL_MOKOCASSIOPEIA_POSITION_BOTTOM_A="Bottom-A" TPL_MOKOCASSIOPEIA_POSITION_BOTTOM_B="Bottom-B" TPL_MOKOCASSIOPEIA_POSITION_BREADCRUMBS="Breadcrumbs" @@ -34,4 +35,4 @@ TPL_MOKOCASSIOPEIA_POSITION_TOP_B="Top-b" TPL_MOKOCASSIOPEIA_POSITION_TOPBAR="Top Bar" TPL_MOKOCASSIOPEIA_POSITION_DRAWER_LEFT="Drawer-Left" TPL_MOKOCASSIOPEIA_POSITION_DRAWER_RIGHT="Drawer-Right" -TPL_MOKOCASSIOPEIA_XML_DESCRIPTION="

MokoCassiopeia Template Description

MokoCassiopeia 3.0 continues Joomla’s tradition of space-themed default templates— building on the legacy of Solarflare (Joomla 1.0), Milkyway (Joomla 1.5), and Protostar (Joomla 3.0).

This template is a customized fork of the Cassiopeia template introduced in Joomla 4, preserving its modern, accessible, and mobile-first foundation while introducing new stylistic enhancements and structural refinements specifically tailored for use by Moko Consulting.

Custom Color Themes

To create a custom color scheme, copy the template file templates/theme_custom_light.css to media/templates/site/mokocassiopeia/css/theme/light.custom.css or media/templates/site/mokocassiopeia/css/theme/dark.custom.css. Customize the CSS variables to match your brand, then activate it in System → Site Templates → MokoCassiopeia → Theme tab by selecting "Custom" for the Light or Dark Mode Palette. For comprehensive documentation on all available CSS variables, see docs/CSS_VARIABLES.md.

Code Attribution

This template is based on the original Cassiopeia template developed by the Joomla! Project and released under the GNU General Public License.

Modifications and enhancements have been made by Moko Consulting in accordance with open-source licensing standards.

It includes integration with Bootstrap TOC, an open-source table of contents generator by A. Feld, licensed under the MIT License.

All third-party libraries and assets remain the property of their respective authors and are credited within their source files where applicable.

" +TPL_MOKOCASSIOPEIA_XML_DESCRIPTION="

MokoCassiopeia Template Description

MokoCassiopeia continues Joomla’s tradition of space-themed default templates— building on the legacy of Solarflare (Joomla 1.0), Milkyway (Joomla 1.5), and Protostar (Joomla 3.0).

This template is a customized fork of the Cassiopeia template introduced in Joomla 4, preserving its modern, accessible, and mobile-first foundation while introducing new stylistic enhancements and structural refinements specifically tailored for use by Moko Consulting.

Custom Color Themes

Starter palette files are included with the template. To create a custom color scheme, copy templates/mokocassiopeia/templates/light.custom.css to media/templates/site/mokocassiopeia/css/theme/light.custom.css, or templates/mokocassiopeia/templates/dark.custom.css to media/templates/site/mokocassiopeia/css/theme/dark.custom.css. Customize the CSS variables to match your brand, then activate your palette in System → Site Templates → MokoCassiopeia → Theme tab by selecting "Custom" for the Light or Dark Mode Palette. A full variable reference is available in the CSS Variables tab in template options.

Custom CSS & JavaScript

For site-specific styles and scripts that should survive template updates, create the following files:

  • media/templates/site/mokocassiopeia/css/user.css — loaded on every page for custom CSS overrides.
  • media/templates/site/mokocassiopeia/js/user.js — loaded on every page for custom JavaScript.

These files are gitignored and will not be overwritten by template updates.

Code Attribution

This template is based on the original Cassiopeia template developed by the Joomla! Project and released under the GNU General Public License.

Modifications and enhancements have been made by Moko Consulting in accordance with open-source licensing standards.

It includes integration with Bootstrap TOC, an open-source table of contents generator by A. Feld, licensed under the MIT License.

All third-party libraries and assets remain the property of their respective authors and are credited within their source files where applicable.

" diff --git a/src/media/css/editor.min.css b/src/media/css/editor.min.css new file mode 100644 index 0000000..3422b9a --- /dev/null +++ b/src/media/css/editor.min.css @@ -0,0 +1 @@ +@charset "UTF-8";body{font-size:1rem;font-weight:400;line-height:1.5;color:#22262a;background-color:#fff}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:700;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}h2{font-size:calc(1.325rem + .9vw)}h3{font-size:calc(1.3rem + .6vw)}h4{font-size:calc(1.275rem + .3vw)}h5{font-size:1.25rem}h6{font-size:1rem}a{text-decoration:none}a:link{color:#224faa}a:hover{color:#424077}p{margin-top:0;margin-bottom:1rem}hr#system-readmore{color:red;border:1px dashed red}span[lang]{padding:2px;border:1px dashed #bbb}span[lang]:after{font-size:smaller;color:red;vertical-align:super;content:attr(lang)} \ No newline at end of file diff --git a/src/media/css/template.css b/src/media/css/template.css index 4667039..ca078f6 100644 --- a/src/media/css/template.css +++ b/src/media/css/template.css @@ -22,10 +22,24 @@ box-sizing: border-box; } +/* Smooth scroll and colour transitions; gated so reduced-motion users are unaffected. */ @media (prefers-reduced-motion: no-preference) { :root { scroll-behavior: smooth; } + + :root, + body, + .container-wrapper, + .container-main, + nav, + header, + footer { + transition: + background-color 0.3s ease, + color 0.3s ease, + border-color 0.3s ease; + } } @media print { @@ -118,11 +132,6 @@ form { padding-right: .5rem !important; } - -.offcanvas-body { - background-color: var(--offcanvas-color); -} - hr { margin: 1rem 0; color: inherit; @@ -2331,16 +2340,7 @@ progress { } .table { - --table-color: var(--body-color); - --table-bg: transparent; - --table-border-color: var(--border-color); - --table-accent-bg: transparent; - --table-striped-color: var(--body-color); - --table-striped-bg: rgba(var(--black-rgb), var(--opacity-5)); - --table-active-color: var(--body-color); - --table-active-bg: rgba(var(--black-rgb), var(--opacity-10)); - --table-active-color: var(--body-color); - --table-active-bg: rgba(var(--black-rgb), 0.075); + /* Values defined in light.standard.css / dark.standard.css */ width: 100%; margin-bottom: 1rem; color: var(--table-color); @@ -3868,32 +3868,7 @@ fieldset:disabled .btn { } .dropdown-menu { - --dropdown-zindex: 1000; - --dropdown-min-width: 10rem; - --dropdown-padding-x: 0; - --dropdown-padding-y: 0.5rem; - --dropdown-spacer: 0.125rem; - --dropdown-font-size: 1rem; - --dropdown-color: hsl(210, 11%, 15%); - --dropdown-bg: var(--body-color); - --dropdown-border-color: var(--border-color-translucent); - --dropdown-border-radius: 0.25rem; - --dropdown-border-width: 1px; - --dropdown-inner-border-radius: calc(0.25rem - 1px); - --dropdown-divider-bg: var(--border-color-translucent); - --dropdown-divider-margin-y: 0.5rem; - --dropdown-box-shadow: 0 0.5rem 1rem var(--shadow-color-light); - --dropdown-link-color: hsl(210, 11%, 15%); - --dropdown-link-active-color: #1f2226; - --dropdown-link-active-bg: hsl(210, 16%, 93%); - --dropdown-link-active-color: var(--body-color); - --dropdown-link-active-bg: hsl(240, 98%, 17%); - --dropdown-link-disabled-color: hsl(210, 11%, 71%); - --dropdown-item-padding-x: 1rem; - --dropdown-item-padding-y: 0.25rem; - --dropdown-header-color: hsl(210, 7%, 46%); - --dropdown-header-padding-x: 1rem; - --dropdown-header-padding-y: 0.5rem; + /* Values defined in light.standard.css / dark.standard.css */ position: absolute; z-index: var(--dropdown-zindex); display: none; @@ -4329,12 +4304,7 @@ fieldset:disabled .btn { } .nav { - --nav-link-padding-x: 1rem; - --nav-link-padding-y: 0.5rem; - --nav-link-font-weight: ; - --nav-link-color: var(--link-color); - --nav-link-active-color: var(--link-active-color); - --nav-link-disabled-color: hsl(210, 7%, 46%); + /* Values defined in light.standard.css / dark.standard.css */ display: -webkit-box; display: -ms-flexbox; display: flex; @@ -4377,13 +4347,7 @@ fieldset:disabled .btn { } .nav-tabs { - --nav-tabs-border-width: 1px; - --nav-tabs-border-color: hsl(210, 14%, 89%); - --nav-tabs-border-radius: 0.25rem; - --nav-tabs-link-active-border-color: hsl(210, 16%, 93%) hsl(210, 16%, 93%) hsl(210, 14%, 89%); - --nav-tabs-link-active-color: hsl(210, 9%, 31%); - --nav-tabs-link-active-bg: var(--body-color); - --nav-tabs-link-active-border-color: hsl(210, 14%, 89%) hsl(210, 14%, 89%) var(--body-color); + /* Values defined in light.standard.css / dark.standard.css */ border-bottom: var(--nav-tabs-border-width) solid var(--nav-tabs-border-color); } @@ -4422,9 +4386,7 @@ fieldset:disabled .btn { } .nav-pills { - --nav-pills-border-radius: 0.25rem; - --nav-pills-link-active-color: var(--body-color); - --nav-pills-link-active-bg: hsl(240, 98%, 17%); + /* Values defined in light.standard.css / dark.standard.css */ } .nav-pills .nav-link { @@ -5262,28 +5224,7 @@ fieldset:disabled .btn { } .accordion { - --accordion-color: hsl(210, 11%, 15%); - --accordion-bg: var(--body-color); - --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; - --accordion-border-color: var(--border-color); - --accordion-border-width: 1px; - --accordion-border-radius: 0.25rem; - --accordion-inner-border-radius: calc(0.25rem - 1px); - --accordion-btn-padding-x: 1.25rem; - --accordion-btn-padding-y: 1rem; - --accordion-btn-color: hsl(210, 11%, 15%); - --accordion-btn-bg: var(--accordion-bg); - --accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='hsl%28210, 11%, 15%%29'%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"); - --accordion-btn-icon-width: 1.25rem; - --accordion-btn-icon-transform: rotate(-180deg); - --accordion-btn-icon-transition: transform 0.2s ease-in-out; - --accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230f244d'%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"); - --accordion-btn-focus-border-color: var(--input-focus-border-color); - --accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(1, 1, 86, 0.25); - --accordion-body-padding-x: 1.25rem; - --accordion-body-padding-y: 1rem; - --accordion-active-color: #0f244d; - --accordion-active-bg: #e7eaee; + /* Values defined in light.standard.css / dark.standard.css */ } .accordion-button { @@ -5431,14 +5372,7 @@ fieldset:disabled .btn { } .breadcrumb { - --breadcrumb-padding-x: 0; - --breadcrumb-padding-y: 0; - --breadcrumb-margin-bottom: 1rem; - --breadcrumb-bg: ; - --breadcrumb-border-radius: ; - --breadcrumb-divider-color: hsl(210, 7%, 46%); - --breadcrumb-item-padding-x: 0.5rem; - --breadcrumb-item-active-color: var(--link-color); + /* Values defined in light.standard.css / dark.standard.css */ display: -webkit-box; display: -ms-flexbox; display: flex; @@ -5470,26 +5404,7 @@ fieldset:disabled .btn { } .pagination { - --pagination-padding-x: 0.75rem; - --pagination-padding-y: 0.375rem; - --pagination-font-size: 1rem; - --pagination-color: var(--link-color); - --pagination-bg: var(--body-color); - --pagination-border-width: 1px; - --pagination-border-color: hsl(210, 14%, 89%); - --pagination-border-radius: 0.25rem; - --pagination-active-color: var(--link-active-color); - --pagination-active-bg: hsl(210, 16%, 93%); - --pagination-active-border-color: hsl(210, 14%, 89%); - --pagination-focus-color: var(--link-active-color); - --pagination-focus-bg: hsl(210, 16%, 93%); - --pagination-focus-box-shadow: 0 0 0 0.25rem rgba(1, 1, 86, 0.25); - --pagination-active-color: var(--body-color); - --pagination-active-bg: hsl(240, 98%, 17%); - --pagination-active-border-color: hsl(240, 98%, 17%); - --pagination-disabled-color: hsl(210, 7%, 46%); - --pagination-disabled-bg: var(--body-color); - --pagination-disabled-border-color: hsl(210, 14%, 89%); + /* Values defined in light.standard.css / dark.standard.css */ display: -webkit-box; display: -ms-flexbox; display: flex; @@ -5582,12 +5497,7 @@ fieldset:disabled .btn { } .badge { - --badge-padding-x: 0.65em; - --badge-padding-y: 0.35em; - --badge-font-size: 0.75em; - --badge-font-weight: 700; - --badge-color: var(--body-color); - --badge-border-radius: 0.25rem; + /* Values defined in light.standard.css / dark.standard.css */ display: inline-block; padding: var(--badge-padding-y) var(--badge-padding-x); font-size: var(--badge-font-size); @@ -5610,14 +5520,7 @@ fieldset:disabled .btn { } .alert { - --alert-bg: transparent; - --alert-padding-x: 1rem; - --alert-padding-y: 1rem; - --alert-margin-bottom: 1rem; - --alert-color: inherit; - --alert-border-color: transparent; - --alert-border: 1px solid var(--alert-border-color); - --alert-border-radius: 0.25rem; + /* Values defined in light.standard.css / dark.standard.css */ position: relative; padding: var(--alert-padding-y) var(--alert-padding-x); margin-bottom: var(--alert-margin-bottom); @@ -5740,14 +5643,7 @@ fieldset:disabled .btn { } .progress { - --progress-height: 1rem; - --progress-font-size: 0.75rem; - --progress-bg: hsl(210, 16%, 93%); - --progress-border-radius: 0.25rem; - --progress-box-shadow: inset 0 1px 2px rgba(var(--black-rgb), 0.075); - --progress-bar-color: var(--body-color); - --progress-bar-bg: hsl(240, 98%, 17%); - --progress-bar-transition: width 0.6s ease; + /* Values defined in light.standard.css / dark.standard.css */ display: -webkit-box; display: -ms-flexbox; display: flex; @@ -5806,23 +5702,7 @@ fieldset:disabled .btn { } .list-group { - --list-group-color: hsl(210, 11%, 15%); - --list-group-bg: var(--body-color); - --list-group-border-color: rgba(var(--black-rgb), 0.125); - --list-group-border-width: 1px; - --list-group-border-radius: 0.25rem; - --list-group-item-padding-x: 1rem; - --list-group-item-padding-y: 0.5rem; - --list-group-action-color: hsl(210, 9%, 31%); - --list-group-action-active-color: hsl(210, 9%, 31%); - --list-group-action-active-bg: hsl(210, 17%, 98%); - --list-group-action-active-color: hsl(210, 11%, 15%); - --list-group-action-active-bg: hsl(210, 16%, 93%); - --list-group-disabled-color: hsl(210, 7%, 46%); - --list-group-disabled-bg: var(--body-color); - --list-group-active-color: var(--body-color); - --list-group-active-bg: hsl(240, 98%, 17%); - --list-group-active-border-color: hsl(240, 98%, 17%); + /* Values defined in light.standard.css / dark.standard.css */ display: -webkit-box; display: -ms-flexbox; display: flex; @@ -6293,21 +6173,7 @@ fieldset:disabled .btn { } .toast { - --toast-zindex: 1090; - --toast-padding-x: 0.75rem; - --toast-padding-y: 0.5rem; - --toast-spacing: 1em; - --toast-max-width: 350px; - --toast-font-size: 0.875rem; - --toast-color: ; - --toast-bg: rgba(255, 255, 255, 0.85); - --toast-border-width: 1px; - --toast-border-color: var(--border-color-translucent); - --toast-border-radius: 0.25rem; - --toast-box-shadow: 0 0.5rem 1rem var(--shadow-color-light); - --toast-header-color: hsl(210, 7%, 46%); - --toast-header-bg: rgba(var(--white-rgb), 0.85); - --toast-header-border-color: rgba(var(--black-rgb), var(--opacity-5)); + /* Values defined in light.standard.css / dark.standard.css */ width: var(--toast-max-width); max-width: 100%; font-size: var(--toast-font-size); @@ -6371,27 +6237,7 @@ fieldset:disabled .btn { } .modal { - --modal-zindex: 1050; - --modal-width: 500px; - --modal-padding: 1rem; - --modal-margin: 0.5rem; - --modal-color: ; - --modal-bg: var(--body-color); - --modal-border-color: var(--border-color-translucent); - --modal-border-width: 1px; - --modal-border-radius: 0.3rem; - --modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); - --modal-inner-border-radius: calc(0.3rem - 1px); - --modal-header-padding-x: 1rem; - --modal-header-padding-y: 1rem; - --modal-header-padding: 1rem 1rem; - --modal-header-border-color: var(--border-color); - --modal-header-border-width: 1px; - --modal-title-line-height: 1.5; - --modal-footer-gap: 0.5rem; - --modal-footer-bg: ; - --modal-footer-border-color: var(--border-color); - --modal-footer-border-width: 1px; + /* Values defined in light.standard.css / dark.standard.css */ position: fixed; top: 0; left: 0; @@ -6482,9 +6328,7 @@ fieldset:disabled .btn { } .modal-backdrop { - --backdrop-zindex: 1040; - --backdrop-bg: hsl(0, 0%, 0%); - --backdrop-opacity: 0.5; + /* Values defined in light.standard.css / dark.standard.css */ position: fixed; top: 0; left: 0; @@ -6737,18 +6581,7 @@ fieldset:disabled .btn { } .tooltip { - --tooltip-zindex: 1070; - --tooltip-max-width: 200px; - --tooltip-padding-x: 0.5rem; - --tooltip-padding-y: 0.25rem; - --tooltip-margin: ; - --tooltip-font-size: 0.875rem; - --tooltip-color: var(--body-color); - --tooltip-bg: hsl(0, 0%, 0%); - --tooltip-border-radius: 0.25rem; - --tooltip-opacity: 0.9; - --tooltip-arrow-width: 0.8rem; - --tooltip-arrow-height: 0.4rem; + /* Values defined in light.standard.css / dark.standard.css */ z-index: var(--tooltip-zindex); display: block; padding: var(--tooltip-arrow-height); @@ -6855,26 +6688,7 @@ fieldset:disabled .btn { } .popover { - --popover-zindex: 1060; - --popover-max-width: 276px; - --popover-font-size: 0.875rem; - --popover-bg: var(--body-color); - --popover-border-width: 1px; - --popover-border-color: var(--border-color-translucent); - --popover-border-radius: 0.3rem; - --popover-inner-border-radius: calc(0.3rem - 1px); - --popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); - --popover-header-padding-x: 1rem; - --popover-header-padding-y: 0.5rem; - --popover-header-font-size: 1rem; - --popover-header-color: ; - --popover-header-bg: #f0f0f0; - --popover-body-padding-x: 1rem; - --popover-body-padding-y: 1rem; - --popover-body-color: hsl(210, 11%, 15%); - --popover-arrow-width: 1rem; - --popover-arrow-height: 0.5rem; - --popover-arrow-border: var(--popover-border-color); + /* Values defined in light.standard.css / dark.standard.css */ z-index: var(--popover-zindex); display: block; max-width: var(--popover-max-width); @@ -7344,11 +7158,7 @@ fieldset:disabled .btn { } .spinner-border { - --spinner-width: 2rem; - --spinner-height: 2rem; - --spinner-vertical-align: -0.125em; - --spinner-border-width: 0.25em; - --spinner-animation-speed: 0.75s; + /* Values defined in light.standard.css / dark.standard.css */ --spinner-animation-name: spinner-border; border: var(--spinner-border-width) solid currentcolor; border-right-color: transparent; @@ -7387,10 +7197,7 @@ fieldset:disabled .btn { } .spinner-grow { - --spinner-width: 2rem; - --spinner-height: 2rem; - --spinner-vertical-align: -0.125em; - --spinner-animation-speed: 0.75s; + /* Values defined in light.standard.css / dark.standard.css */ --spinner-animation-name: spinner-grow; background-color: currentcolor; opacity: 0; @@ -7415,16 +7222,7 @@ fieldset:disabled .btn { .offcanvas-lg, .offcanvas-md, .offcanvas-sm { - --offcanvas-zindex: 1045; - --offcanvas-width: 400px; - --offcanvas-height: 30vh; - --offcanvas-padding-x: 1rem; - --offcanvas-padding-y: 1rem; - --offcanvas-color: ; - --offcanvas-bg: var(--body-color); - --offcanvas-border-width: 1px; - --offcanvas-border-color: var(--border-color-translucent); - --offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + /* Values defined in light.standard.css / dark.standard.css under :root */ } @media (max-width: 575.98px) { @@ -14085,14 +13883,16 @@ meter { } .container-banner .banner-overlay { - height: 70vh; - color: var(--body-color); - background-repeat: no-repeat; - background-attachment: fixed; - background-position: top, center; - background-size: cover; + height: var(--hero-height, 70vh); + color: var(--hero-color, var(--body-color)); + background-repeat: var(--hero-bg-repeat, no-repeat); + background-attachment: var(--hero-bg-attachment, fixed); + background-position: var(--hero-bg-position, top center); + background-size: var(--hero-bg-size, cover); + border-bottom: var(--hero-border-bottom, solid var(--accent-color-secondary)); } +/* Legacy: standard Cassiopeia banner with an explicit .overlay child */ .container-banner .banner-overlay .overlay { display: -webkit-box; display: -ms-flexbox; @@ -14108,9 +13908,15 @@ meter { -ms-flex-pack: center; justify-content: center; height: 100%; - padding: 1em; - text-align: center; - background-color: hsla(0, 0%, 0%, 0.5); + padding: var(--hero-overlay-padding, 1em); + text-align: var(--hero-overlay-text-align, center); + color: var(--hero-overlay-text-color, var(--body-color)); + background-color: var(--hero-overlay-bg, hsla(0, 0%, 0%, 0.5)); +} + +/* Hero layout (hero.php): outer wrapper — visual overlay is handled by the .overlay child */ +.container-banner .banner-overlay.custom-hero { + /* Selector kept as a customisation hook; see .banner-overlay .overlay for overlay styles */ } .container-banner .banner-overlay .overlay .text-thin { @@ -14376,6 +14182,19 @@ fieldset>* { white-space: normal; } +/* Header aside: module position to the right of the logo */ +.header-brand-wrap { + display: flex; + align-items: center; + width: 100%; +} + +.container-brand-aside { + margin-inline-start: auto; + display: flex; + align-items: center; +} + .container-header .navbar-brand { position: relative; display: inline-block; @@ -14767,8 +14586,6 @@ iframe { ); } - - .container-topbar { color: var(--body-color); background-color: var(--color-primary); @@ -14781,7 +14598,7 @@ iframe { .container-banner { display: block; - margin: 0 0 2rem; + margin: 0; } .container-top-a, diff --git a/src/media/css/template.min.css b/src/media/css/template.min.css new file mode 100644 index 0000000..695e8c1 --- /dev/null +++ b/src/media/css/template.min.css @@ -0,0 +1 @@ +@charset "UTF-8";*,::after,::before{-webkit-box-sizing:border-box;box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}.container-main,.container-wrapper,:root,body,footer,header,nav{transition:background-color .3s,color .3s,border-color .3s}}@media print{#lhc_container_v2 *,#rssocial-133,.container-bottom-a,.container-bottom-b,.container-nav,.container-sidebar-left,.container-sidebar-right,.container-topbar,.fb-comments,footer,nav{display:none}}body{margin:0;font-family:var(--body-font-family);font-size:var(--body-font-size);font-weight:var(--body-font-weight);line-height:var(--body-line-height);color:var(--body-color);text-align:var(--body-text-align);background:var(--body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}form{margin-block-end:1em}.table-of-contents-ck-wrap{width:30%;float:right;border:1px solid var(--color-primary)}.table-of-contents-ck-toggler{font-size:2em;font-weight:700;background-color:var(--gray-500);padding:var(--btn-padding-y) var(--btn-padding-x);color:var(--color-link);text-align:center}.table-of-contents-ck-toggler a{font-size:.5em;font-weight:400;color:var(--color-link);display:block;text-align:center}.table-of-contents-ck,.table-of-contents-ck a{font-size:1.25em;color:var(--color-link)}.offcanvas-end,.offcanvas-start{width:280px}.drawer-toggle-left{position:fixed!important;top:250px!important;left:0!important;z-index:1050!important;background-color:var(--nav-bg-color)!important;color:var(--nav-text-color)!important;padding-left:.5rem!important;padding-right:.5rem!important}.drawer-toggle-right{position:fixed!important;top:250px!important;right:0!important;z-index:1050!important;background-color:var(--nav-bg-color)!important;color:var(--nav-text-color)!important;padding-left:.5rem!important;padding-right:.5rem!important}hr{margin:1rem 0;color:inherit;border:0;border-top:1px 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}.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}dl,ol,p,ul{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}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.mark,mark{padding:.1875em;background-color:var(--highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--link-color);text-decoration:underline;color:var(--color-link)}a:active{color:var(--link-active-color)}a:not([href]):not([class]),a:not([href]):not([class]):active{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--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(--code-color);word-wrap:break-word;background-color:var(--gab-gray1)}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--body-bg);background-color:var(--body-color);border-radius:.2rem}kbd kbd{padding:0;font-size:1em}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6d757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border:0 solid;border-color:inherit}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],[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){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}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0 0 2em;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}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]{outline-offset:-2px;-webkit-appearance:textfield}::-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}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2}.display-2{font-weight:300;line-height:1.2}.display-3{font-weight:300;line-height:1.2}.display-4{font-weight:300;line-height:1.2}@media (min-width:1200px){legend{font-size:1.5rem}.display-1{font-size:5rem}.display-2{font-size:4.5rem}.display-3{font-size:4rem}.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-inline,.list-unstyled{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:#6d757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--body-color);border:1px solid var(--border-color);border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6d757d}.container,.container-component,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--gutter-x:1em;--gutter-y:0;width:100%;padding-right:calc(var(--gutter-x) * .5);padding-left:calc(var(--gutter-x) * .5);margin-right:auto;margin-left:auto;padding-bottom:calc(var(--gutter-x) * .5)}.featured-view,.latest-view,.products-view,.recent-view,.topten-view{border-top:var(--accent-color-primary) 1px groove}@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}}.row{--gutter-x:1em;--gutter-y:0;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(-1 * var(--gutter-y));margin-right:calc(-.5 * var(--gutter-x));margin-left:calc(-.5 * var(--gutter-x))}.row>*{-ms-flex-negative:0;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(.25 * var(--gutter-x));padding-left:calc(.25 * var(--gutter-x))}.latest-view{margin-top:var(--gutter-x)}.col{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-auto>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-1>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-2>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-3>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-5>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-6>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-2{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-3{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-4{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-6{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-12{-webkit-box-flex:0;-ms-flex:0 0 auto;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{--gutter-x:0}.g-0,.gy-0{--gutter-y:0}.g-1,.gx-1{--gutter-x:0.25rem}.g-1,.gy-1{--gutter-y:0.25rem}.g-2,.gx-2{--gutter-x:0.5rem}.g-2,.gy-2{--gutter-y:0.5rem}.g-3,.gx-3{--gutter-x:1rem}.g-3,.gy-3{--gutter-y:1rem}.g-4,.gx-4{--gutter-x:1.5rem}.g-4,.gy-4{--gutter-y:1.5rem}.g-5,.gx-5{--gutter-x:3rem}.g-5,.gy-5{--gutter-y:3rem}@media (min-width:576px){.col-sm{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-sm-auto>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-sm-1>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-sm-2>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-sm-3>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-sm-5>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-sm-6>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-sm-3{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-sm-4{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-sm-6{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-sm-12{-webkit-box-flex:0;-ms-flex:0 0 auto;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{--gutter-x:0}.g-sm-0,.gy-sm-0{--gutter-y:0}.g-sm-1,.gx-sm-1{--gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--gutter-x:1rem}.g-sm-3,.gy-sm-3{--gutter-y:1rem}.g-sm-4,.gx-sm-4{--gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--gutter-x:3rem}.g-sm-5,.gy-sm-5{--gutter-y:3rem}}@media (min-width:768px){.col-md{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-md-auto>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-md-1>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-md-2>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-md-3>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-md-5>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-md-6>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-md-3{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-md-4{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-md-6{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-md-12{-webkit-box-flex:0;-ms-flex:0 0 auto;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{--gutter-x:0}.g-md-0,.gy-md-0{--gutter-y:0}.g-md-1,.gx-md-1{--gutter-x:0.25rem}.g-md-1,.gy-md-1{--gutter-y:0.25rem}.g-md-2,.gx-md-2{--gutter-x:0.5rem}.g-md-2,.gy-md-2{--gutter-y:0.5rem}.g-md-3,.gx-md-3{--gutter-x:1rem}.g-md-3,.gy-md-3{--gutter-y:1rem}.g-md-4,.gx-md-4{--gutter-x:1.5rem}.g-md-4,.gy-md-4{--gutter-y:1.5rem}.g-md-5,.gx-md-5{--gutter-x:3rem}.g-md-5,.gy-md-5{--gutter-y:3rem}}@media (min-width:992px){.col-lg{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-lg-auto>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-lg-1>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-lg-2>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-lg-3>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-lg-5>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-lg-6>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-lg-3{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-lg-4{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-lg-6{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-lg-12{-webkit-box-flex:0;-ms-flex:0 0 auto;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{--gutter-x:0}.g-lg-0,.gy-lg-0{--gutter-y:0}.g-lg-1,.gx-lg-1{--gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--gutter-x:1rem}.g-lg-3,.gy-lg-3{--gutter-y:1rem}.g-lg-4,.gx-lg-4{--gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--gutter-x:3rem}.g-lg-5,.gy-lg-5{--gutter-y:3rem}}@media (min-width:1200px){.col-xl{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xl-auto>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xl-1>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xl-2>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xl-3>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xl-5>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xl-6>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-xl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xl-3{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xl-4{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xl-6{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xl-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xl-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xl-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xl-12{-webkit-box-flex:0;-ms-flex:0 0 auto;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{--gutter-x:0}.g-xl-0,.gy-xl-0{--gutter-y:0}.g-xl-1,.gx-xl-1{--gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--gutter-x:1rem}.g-xl-3,.gy-xl-3{--gutter-y:1rem}.g-xl-4,.gx-xl-4{--gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--gutter-x:3rem}.g-xl-5,.gy-xl-5{--gutter-y:3rem}}@media (min-width:1400px){.col-xxl{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xxl-auto>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xxl-1>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xxl-2>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xxl-3>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xxl-5>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xxl-6>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xxl-1{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xxl-2{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xxl-3{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xxl-4{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xxl-5{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xxl-6{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xxl-7{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xxl-8{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xxl-9{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xxl-10{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xxl-11{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xxl-12{-webkit-box-flex:0;-ms-flex:0 0 auto;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{--gutter-x:0}.g-xxl-0,.gy-xxl-0{--gutter-y:0}.g-xxl-1,.gx-xxl-1{--gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--gutter-y:3rem}}.table{width:100%;margin-bottom:1rem;color:var(--table-color);vertical-align:top;border-color:var(--table-border-color)}.table>:not(caption)>*>*{padding:.5rem;background-color:var(--table-bg);border-bottom-width:1px;-webkit-box-shadow:inset 0 0 0 9999px var(--table-accent-bg);box-shadow:inset 0 0 0 9999px var(--table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:2px solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped-columns>:not(caption)>tr>:nth-child(2n),.table-striped>tbody>tr:nth-of-type(odd)>*{--table-accent-bg:var(--table-striped-bg);color:var(--table-striped-color)}.table-active,.table-active>tbody>tr:active>*{--table-accent-bg:var(--table-active-bg);color:var(--table-active-color)}.table-primary{--table-color:hsl(0, 0%, 0%);--table-bg:#cfd4dd;--table-border-color:#babfc7;--table-striped-bg:#c5c9d2;--table-striped-color:hsl(0, 0%, 0%);--table-active-bg:#babfc7;--table-active-color:hsl(0, 0%, 0%);--table-active-bg:#bfc4cc;--table-active-color:hsl(0, 0%, 0%);color:var(--table-color);border-color:var(--table-border-color)}.table-secondary{--table-color:hsl(0, 0%, 0%);--table-bg:#e2e3e5;--table-border-color:#cbccce;--table-striped-bg:#d7d8da;--table-striped-color:hsl(0, 0%, 0%);--table-active-bg:#cbccce;--table-active-color:hsl(0, 0%, 0%);--table-active-bg:#d1d2d4;--table-active-color:hsl(0, 0%, 0%);color:var(--table-color);border-color:var(--table-border-color)}.table-success{--table-color:hsl(0, 0%, 0%);--table-bg:#dae6da;--table-border-color:#c4cfc4;--table-striped-bg:#cfdbcf;--table-striped-color:hsl(0, 0%, 0%);--table-active-bg:#c4cfc4;--table-active-color:hsl(0, 0%, 0%);--table-active-bg:#cad5ca;--table-active-color:hsl(0, 0%, 0%);color:var(--table-color);border-color:var(--table-border-color)}.table-info{--table-color:hsl(0, 0%, 0%);--table-bg:#d6e0e8;--table-border-color:#c1cad1;--table-striped-bg:#cbd5dc;--table-striped-color:hsl(0, 0%, 0%);--table-active-bg:#c1cad1;--table-active-color:hsl(0, 0%, 0%);--table-active-bg:#c6cfd7;--table-active-color:hsl(0, 0%, 0%);color:var(--table-color);border-color:var(--table-border-color)}.table-warning{--table-color:hsl(0, 0%, 0%);--table-bg:#efe0cc;--table-border-color:#d7cab8;--table-striped-bg:#e3d5c2;--table-striped-color:hsl(0, 0%, 0%);--table-active-bg:#d7cab8;--table-active-color:hsl(0, 0%, 0%);--table-active-bg:#ddcfbd;--table-active-color:hsl(0, 0%, 0%);color:var(--table-color);border-color:var(--table-border-color)}.table-danger{--table-color:hsl(0, 0%, 0%);--table-bg:#edd2d1;--table-border-color:#d5bdbc;--table-striped-bg:#e1c8c7;--table-striped-color:hsl(0, 0%, 0%);--table-active-bg:#d5bdbc;--table-active-color:hsl(0, 0%, 0%);--table-active-bg:#dbc2c1;--table-active-color:hsl(0, 0%, 0%);color:var(--table-color);border-color:var(--table-border-color)}.table-light{--table-color:hsl(0, 0%, 0%);--table-bg:hsl(210, 17%, 98%);--table-border-color:#e0e1e2;--table-striped-bg:#edeeee;--table-striped-color:hsl(0, 0%, 0%);--table-active-bg:#e0e1e2;--table-active-color:hsl(0, 0%, 0%);--table-active-bg:#e6e7e8;--table-active-color:hsl(0, 0%, 0%);color:var(--table-color);border-color:var(--table-border-color)}.table-dark{--table-color:var(--body-color);--table-bg:hsl(210, 10%, 23%);--table-border-color:#494f54;--table-striped-bg:#3f454b;--table-striped-color:var(--body-color);--table-active-bg:#494f54;--table-active-color:var(--body-color);--table-active-bg:#444a4f;--table-active-color:var(--body-color);color:var(--table-color);border-color:var(--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(.6rem + 1px);padding-bottom:calc(.6rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6d757d}.form-control{display:block;width:100%;padding:.6rem 1rem;font-weight:400;line-height:1;color:var(--input-color);background-color:var(--input-bg);background-clip:padding-box;border:1px solid var(--input-border-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-o-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{-webkit-transition:none;-o-transition:none;transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--input-color);background-color:var(--input-bg);border-color:var(--input-focus-border-color);outline:0;-webkit-box-shadow:var(--input-focus-box-shadow);box-shadow:var(--input-focus-box-shadow)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-webkit-input-placeholder{color:var(--input-placeholder-color);opacity:1}.form-control::-moz-placeholder{color:var(--input-placeholder-color);opacity:1}.form-control:-ms-input-placeholder{color:var(--input-placeholder-color);opacity:1}.form-control::-ms-input-placeholder{color:var(--input-placeholder-color);opacity:1}.form-control::placeholder{color:var(--input-placeholder-color);opacity:1}.form-control:disabled{background-color:var(--input-disabled-bg);border-color:var(--input-disabled-border-color);opacity:1}.form-control::-webkit-file-upload-button{padding:.6rem 1rem;margin:-.6rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem;color:#22262a;background-color:#eaedf0;pointer-events:none;border:0 solid;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-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,-webkit-box-shadow .15s ease-in-out;border-color:inherit}.form-control::file-selector-button{padding:.6rem 1rem;margin:-.6rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem;color:#22262a;background-color:#eaedf0;pointer-events:none;border:0 solid;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-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,-webkit-box-shadow .15s ease-in-out;-o-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;border-color:inherit}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{-webkit-transition:none;-o-transition:none;transition:none}}.form-control:active:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--input-file-button-active-bg)}.form-control:active:not(:disabled):not([readonly])::file-selector-button{background-color:var(--input-file-button-active-bg)}.form-control-plaintext{display:block;width:100%;padding:.6rem 0;margin-bottom:0;line-height:1.5;color:#22262a;background-color:transparent;border:solid transparent;border-width:1px 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 + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.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 + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.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 + 1.2rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:calc(1.5em + 1.2rem + 2px);padding:.6rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0;border-radius:.25rem}.form-control-color::-webkit-color-swatch{border-radius:.25rem}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + 2px)}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + 2px)}.custom-select,.form-select{display:block;width:100%;padding:.6rem 3rem .6rem 1rem;-moz-padding-start:calc(1rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#22262a;border-radius:.25rem;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;-o-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-select,.form-select{-webkit-transition:none;-o-transition:none;transition:none}}.custom-select:focus,.form-select:focus{border-color:var(--input-focus-border-color);outline:0}.form-select[multiple],.form-select[size]:not([size="1"]),[multiple].custom-select,[size].custom-select:not([size="1"]){padding-right:1rem;background-image:none}.custom-select:disabled,.form-select:disabled{background-color:#eaedf0}.custom-select:-moz-focusring,.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #22262a}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.2rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.3rem}.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{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:var(--body-color);background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-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{-webkit-filter:brightness(90%);filter:brightness(90%)}.form-check-input:focus{border-color:var(--input-focus-border-color);outline:0;-webkit-box-shadow:0 0 0 .25rem rgba(1,1,86,.25);box-shadow:0 0 0 .25rem rgba(1,1,86,.25)}.form-check-input:checked{background-color:#005;border-color:#005}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='hsl%280, 0, 100%%29' 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]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='hsl%280, 0, 100%%29'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#005;border-color:#005;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='hsl%280, 0, 100%%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;-webkit-filter: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{width:2em;margin-left:-2.5em;background-image: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");background-position:left center;border-radius:2em;-webkit-transition:background-position .15s ease-in-out;-o-transition:background-position .15s ease-in-out;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{-webkit-transition:none;-o-transition:none;transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%238894aa'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='hsl%280, 0, 100%%29'/%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;-webkit-filter:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 1px var(--body-color),0 0 0 .25rem rgba(1,1,86,.25);box-shadow:0 0 0 1px var(--body-color),0 0 0 .25rem rgba(1,1,86,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px var(--body-color),0 0 0 .25rem rgba(1,1,86,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#005;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-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,-webkit-box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:var(--form-range-thumb-active-bg)}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dfe2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#005;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;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:var(--form-range-thumb-active-bg)}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dfe2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#acb5bd}.form-range:disabled::-moz-range-thumb{background-color:#acb5bd}.form-floating{position:relative}.form-floating>.custom-select,.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem;overflow:hidden;text-align:start;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:1px solid transparent;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transition:opacity .1s ease-in-out,-webkit-transform .1s ease-in-out;transition:opacity .1s ease-in-out,transform .1s ease-in-out,-webkit-transform .1s ease-in-out;-o-transition:opacity .1s ease-in-out,transform .1s ease-in-out}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem}.form-floating>.form-control-plaintext::-webkit-input-placeholder,.form-floating>.form-control::-webkit-input-placeholder{color:transparent}.form-floating>.form-control-plaintext::-moz-placeholder,.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control-plaintext:-ms-input-placeholder,.form-floating>.form-control:-ms-input-placeholder{color:transparent}.form-floating>.form-control-plaintext::-ms-input-placeholder,.form-floating>.form-control::-ms-input-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:not(:-ms-input-placeholder),.form-floating>.form-control:not(:-ms-input-placeholder){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>.custom-select,.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:not(:-ms-input-placeholder)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.custom-select~label,.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{opacity:.65;-webkit-transform:scale(.85) translateY(-.5rem) translateX(.15rem);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;-webkit-transform:scale(.85) translateY(-.5rem) translateX(.15rem);transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control-plaintext~label{border-width:1px 0}.input-group{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-select,.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0}.input-group>.custom-select:focus,.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:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.6rem 1rem;font-size:1rem;font-weight:400;line-height:1.5;color:#22262a;text-align:center;white-space:nowrap;background-color:#eaedf0;border:1px solid #cdd3d9;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.custom-select,.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:.3rem}.input-group-sm>.btn,.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-lg>.form-select,.input-group-sm>.custom-select,.input-group-sm>.form-select{padding-right:4rem}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.custom-select,.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),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.custom-select,.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>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-.0625rem;border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.custom-select,.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:#438343}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:var(--body-color);background-color:rgba(68,131,68,.9);border-radius:.25rem}.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:#438343;padding-right:calc(1.5em + 1.2rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='hsl%28120, 32%, 39%%29' 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 + .3rem) center;background-size:calc(.75em + .6rem) calc(.75em + .6rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#438343;-webkit-box-shadow:0 0 0 .25rem rgba(68,131,68,.25);box-shadow:0 0 0 .25rem rgba(68,131,68,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + 1.2rem);background-position:top calc(.375em + .3rem) right calc(.375em + .3rem)}.form-select.is-valid,.is-valid.custom-select,.was-validated .custom-select:valid,.was-validated .form-select:valid{border-color:#438343}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.is-valid.custom-select:not([multiple]):not([size]),.is-valid.custom-select:not([multiple])[size="1"],.was-validated .custom-select:valid:not([multiple]):not([size]),.was-validated .custom-select:valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:5.5rem;background-image:url("../images/select-bg.svg"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='hsl%28120, 32%, 39%%29' 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-position:right 1rem center,center right 3rem;background-size:116rem,calc(.75em + .6rem) calc(.75em + .6rem)}.form-select.is-valid:focus,.is-valid.custom-select:focus,.was-validated .custom-select:valid:focus,.was-validated .form-select:valid:focus{border-color:#438343;-webkit-box-shadow:0 0 0 .25rem rgba(68,131,68,.25);box-shadow:0 0 0 .25rem rgba(68,131,68,.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + 1.2rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#438343}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#438343}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{-webkit-box-shadow:0 0 0 .25rem rgba(68,131,68,.25);box-shadow:0 0 0 .25rem rgba(68,131,68,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#438343}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.custom-select:not(:focus).is-valid,.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>.custom-select:not(:focus):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:#a51e17}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:var(--body-color);background-color:rgba(165,31,24,.9);border-radius:.25rem}.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:#a51e17;padding-right:calc(1.5em + 1.2rem);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='hsl%283, 75%, 37%%29'%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='hsl%283, 75%, 37%%29' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .3rem) center;background-size:calc(.75em + .6rem) calc(.75em + .6rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#a51e17;-webkit-box-shadow:0 0 0 .25rem rgba(165,31,24,.25);box-shadow:0 0 0 .25rem rgba(165,31,24,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + 1.2rem);background-position:top calc(.375em + .3rem) right calc(.375em + .3rem)}.form-select.is-invalid,.is-invalid.custom-select,.was-validated .custom-select:invalid,.was-validated .form-select:invalid{border-color:#a51e17}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.is-invalid.custom-select:not([multiple]):not([size]),.is-invalid.custom-select:not([multiple])[size="1"],.was-validated .custom-select:invalid:not([multiple]):not([size]),.was-validated .custom-select:invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:5.5rem;background-image:url("../images/select-bg.svg"),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='hsl%283, 75%, 37%%29'%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='hsl%283, 75%, 37%%29' stroke='none'/%3e%3c/svg%3e");background-position:right 1rem center,center right 3rem;background-size:116rem,calc(.75em + .6rem) calc(.75em + .6rem)}.form-select.is-invalid:focus,.is-invalid.custom-select:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-select:invalid:focus{border-color:#a51e17;-webkit-box-shadow:0 0 0 .25rem rgba(165,31,24,.25);box-shadow:0 0 0 .25rem rgba(165,31,24,.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + 1.2rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#a51e17}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#a51e17}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{-webkit-box-shadow:0 0 0 .25rem rgba(165,31,24,.25);box-shadow:0 0 0 .25rem rgba(165,31,24,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#a51e17}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.custom-select:not(:focus).is-invalid,.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>.custom-select:not(:focus):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}@media (prefers-reduced-motion:reduce){.btn,.form-floating>label{-webkit-transition:none;-o-transition:none;transition:none}}.btn:active{color:var(--btn-active-color);background-color:var(--btn-active-bg);border-color:var(--btn-active-border-color)}.btn-check+.btn:active{color:var(--btn-color);background-color:var(--btn-bg);border-color:var(--btn-border-color)}.btn:focus-visible{color:var(--btn-active-color);background-color:var(--btn-active-bg);border-color:var(--btn-active-border-color);outline:0;-webkit-box-shadow:var(--btn-focus-box-shadow);box-shadow:var(--btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--btn-active-border-color);outline:0;-webkit-box-shadow:var(--btn-focus-box-shadow);box-shadow:var(--btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--btn-active-color);background-color:var(--btn-active-bg);border-color:var(--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{-webkit-box-shadow:var(--btn-focus-box-shadow);box-shadow:var(--btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--btn-disabled-color);pointer-events:none;background-color:var(--btn-disabled-bg);border-color:var(--btn-disabled-border-color);opacity:var(--btn-disabled-opacity)}.btn-link{--btn-font-weight:400;--btn-color:var(--link-color);--btn-bg:transparent;--btn-border-color:transparent;--btn-active-color:var(--link-active-color);--btn-active-border-color:transparent;--btn-active-color:var(--link-active-color);--btn-active-border-color:transparent;--btn-disabled-color:hsl(210, 7%, 46%);--btn-disabled-border-color:transparent;--btn-box-shadow:none;--btn-focus-shadow-rgb:39,39,111;text-decoration:underline}.btn-link:focus-visible{color:var(--btn-color)}.btn-link:active{color:var(--btn-active-color)}.btn-group-lg>.btn,.btn-lg{--btn-padding-y:0.5rem;--btn-padding-x:1rem;--btn-font-size:1.25rem;--btn-border-radius:0.3rem}.btn-group-sm>.btn,.btn-sm{--btn-padding-y:0.25rem;--btn-padding-x:0.5rem;--btn-font-size:0.875rem;--btn-border-radius:0.2rem}.fade{-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{-webkit-transition:none;-o-transition:none;transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;-webkit-transition:height .35s;-o-transition:height .35s;transition:height .35s}@media (prefers-reduced-motion:reduce){.collapsing{-webkit-transition:none;-o-transition:none;transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;-webkit-transition:width .35s;-o-transition:width .35s;transition:width .35s}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{-webkit-transition:none;-o-transition:none;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{position:absolute;z-index:var(--dropdown-zindex);display:none;min-width:var(--dropdown-min-width);padding:var(--dropdown-padding-y) var(--dropdown-padding-x);margin:0;font-size:var(--dropdown-font-size);color:var(--dropdown-color);text-align:left;list-style:none;background-color:var(--dropdown-bg);background-clip:padding-box;border:var(--dropdown-border-width) solid var(--dropdown-border-color);border-radius:var(--dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--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}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--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(--dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid;vertical-align:0}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--dropdown-spacer)}.dropstart .dropdown-toggle::after{margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent;vertical-align:0}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropdown-divider{height:0;margin:var(--dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);clear:both;font-weight:400;color:var(--dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:active,.dropdown-item:focus{color:var(--dropdown-link-active-color);background-color:var(--dropdown-link-active-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--dropdown-link-active-color);text-decoration:none;background-color:var(--dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--dropdown-header-padding-y) var(--dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);color:var(--dropdown-link-color)}.dropdown-menu-dark{--dropdown-color:hsl(210, 14%, 89%);--dropdown-bg:hsl(210, 10%, 23%);--dropdown-border-color:var(--border-color-translucent);--dropdown-box-shadow: ;--dropdown-link-color:hsl(210, 14%, 89%);--dropdown-link-active-color:var(--body-color);--dropdown-divider-bg:var(--border-color-translucent);--dropdown-link-active-bg:rgba(255, 255, 255, 0.15);--dropdown-link-active-color:var(--body-color);--dropdown-link-active-bg:hsl(240, 98%, 17%);--dropdown-link-disabled-color:hsl(210, 11%, 71%);--dropdown-header-color:hsl(210, 11%, 71%)}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;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>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:.25rem}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:-.0625rem}.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:.75rem;padding-left:.75rem}.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{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-ms-flex-pack:center;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:-.0625rem}.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{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--nav-link-padding-y) var(--nav-link-padding-x);font-size:var(--nav-link-font-size);font-weight:var(--nav-link-font-weight);color:var(--nav-link-color);text-decoration:none;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;-o-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out;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{-webkit-transition:none;-o-transition:none;transition:none}}.nav-link:active,.nav-link:focus{color:var(--nav-link-active-color)}.nav-link.disabled{color:var(--nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{border-bottom:var(--nav-tabs-border-width) solid var(--nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--nav-tabs-border-width));background:0 0;border:var(--nav-tabs-border-width) solid transparent;border-top-left-radius:var(--nav-tabs-border-radius);border-top-right-radius:var(--nav-tabs-border-radius)}.nav-tabs .nav-link:active,.nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--nav-tabs-link-active-border-color)}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link:disabled{color:var(--nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--nav-tabs-link-active-color);background-color:var(--nav-tabs-link-active-bg);border-color:var(--nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:var(--nav-pills-border-radius)}.nav-pills .nav-link:disabled{color:var(--nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--nav-pills-link-active-color);background-color:var(--nav-pills-link-active-bg)}.nav-fill .nav-item,.nav-fill>.nav-link{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;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{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:var(--navbar-padding-y) var(--navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:inherit;flex-wrap:inherit;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{padding-top:var(--navbar-brand-padding-y);padding-bottom:var(--navbar-brand-padding-y);margin-right:var(--navbar-brand-margin-end);font-size:var(--navbar-brand-font-size);color:var(--navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:active,.navbar-brand:focus{color:var(--navbar-brand-active-color)}.navbar-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .show>.nav-link{color:var(--navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--navbar-color)}.navbar-text a,.navbar-text a:active,.navbar-text a:focus{color:var(--navbar-active-color)}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:var(--navbar-toggler-padding-y) var(--navbar-toggler-padding-x);font-size:var(--navbar-toggler-font-size);line-height:1;color:var(--navbar-color);background-color:transparent;border:0;-webkit-transition:var(--navbar-toggler-transition);-o-transition:var(--navbar-toggler-transition);transition:var(--navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{-webkit-transition:none;-o-transition:none;transition:none}}.navbar-toggler:active{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;color:var(--color-primary)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--navbar-nav-link-padding-x);padding-left:var(--navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto;height:auto;visibility:visible;background-color:transparent;border:0;-webkit-transform:none;transform:none;-webkit-transition:none;-o-transition:none;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--navbar-nav-link-padding-x);padding-left:var(--navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto;height:auto;visibility:visible;background-color:transparent;border:0;-webkit-transform:none;transform:none;-webkit-transition:none;-o-transition:none;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--navbar-nav-link-padding-x);padding-left:var(--navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto;height:auto;visibility:visible;background-color:transparent;border:0;-webkit-transform:none;transform:none;-webkit-transition:none;-o-transition:none;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--navbar-nav-link-padding-x);padding-left:var(--navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto;height:auto;visibility:visible;background-color:transparent;border:0;-webkit-transform:none;transform:none;-webkit-transition:none;-o-transition:none;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}}@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}.navbar-expand-xxl{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--navbar-nav-link-padding-x);padding-left:var(--navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto;height:auto;visibility:visible;background-color:transparent;border:0;-webkit-transform:none;transform:none;-webkit-transition:none;-o-transition:none;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--navbar-nav-link-padding-x);padding-left:var(--navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;width:auto;height:auto;visibility:visible;background-color:transparent;border:0;-webkit-transform:none;transform:none;-webkit-transition:none;-o-transition:none;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible}.card{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0;height:var(--card-height);word-wrap:break-word;background-color:var(--card-bg);background-clip:border-box;border:var(--card-border-width) solid var(--card-border-color);border-radius:var(--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(--card-inner-border-radius);border-top-right-radius:var(--card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--card-inner-border-radius);border-bottom-left-radius:var(--card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:var(--card-spacer-y) var(--card-spacer-x);color:var(--card-color)}.card-title{margin-bottom:var(--card-title-spacer-y)}.card-subtitle{margin-top:calc(-.5 * var(--card-title-spacer-y));margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--card-spacer-x)}.card-header{padding:var(--card-cap-padding-y) var(--card-cap-padding-x);margin-bottom:0;color:var(--card-cap-color);background-color:var(--card-cap-bg);border-bottom:var(--card-border-width) solid var(--card-border-color)}.card-header:first-child{border-radius:var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0}.card-footer{padding:var(--card-cap-padding-y) var(--card-cap-padding-x);color:var(--card-cap-color);background-color:var(--card-cap-bg);border-top:var(--card-border-width) solid var(--card-border-color)}.card-footer:last-child{border-radius:0 0 var(--card-inner-border-radius) var(--card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--card-cap-padding-x));margin-bottom:calc(-1 * var(--card-cap-padding-y));margin-left:calc(-.5 * var(--card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--card-bg);border-bottom-color:var(--card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--card-cap-padding-x));margin-left:calc(-.5 * var(--card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--card-img-overlay-padding);border-radius:var(--card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--card-inner-border-radius);border-top-right-radius:var(--card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--card-inner-border-radius);border-bottom-left-radius:var(--card-inner-border-radius)}.card-group>.card{margin-bottom:var(--card-group-margin)}@media (min-width:576px){.card-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-webkit-box-flex:1;-ms-flex:1 0 0%;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-button{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:var(--accordion-btn-padding-y) var(--accordion-btn-padding-x);font-size:1rem;color:var(--accordion-btn-color);text-align:left;background-color:var(--accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;-webkit-transition:var(--accordion-transition);-o-transition:var(--accordion-transition);transition:var(--accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{-webkit-transition:none;-o-transition:none;transition:none}}.accordion-button:not(.collapsed){color:var(--accordion-active-color);background-color:var(--accordion-active-bg);-webkit-box-shadow:inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--accordion-border-color);box-shadow:inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--accordion-btn-active-icon);-webkit-transform:var(--accordion-btn-icon-transform);transform:var(--accordion-btn-icon-transform)}.accordion-button::after{-ms-flex-negative:0;flex-shrink:0;width:var(--accordion-btn-icon-width);height:var(--accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--accordion-btn-icon);background-repeat:no-repeat;background-size:var(--accordion-btn-icon-width);-webkit-transition:var(--accordion-btn-icon-transition);-o-transition:var(--accordion-btn-icon-transition);transition:var(--accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{-webkit-transition:none;-o-transition:none;transition:none}}.accordion-button:active{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--accordion-btn-focus-border-color);outline:0;-webkit-box-shadow:var(--accordion-btn-focus-box-shadow);box-shadow:var(--accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--accordion-color);background-color:var(--accordion-bg);border:var(--accordion-border-width) solid var(--accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--accordion-border-radius);border-top-right-radius:var(--accordion-border-radius)}.accordion-item:first-of-type .accordion-button{border-top-left-radius:var(--accordion-inner-border-radius);border-top-right-radius:var(--accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--accordion-border-radius);border-bottom-left-radius:var(--accordion-border-radius)}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:var(--accordion-inner-border-radius);border-bottom-left-radius:var(--accordion-inner-border-radius)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:var(--accordion-border-radius);border-bottom-left-radius:var(--accordion-border-radius)}.accordion-body{padding:var(--accordion-body-padding-y) var(--accordion-body-padding-x)}.accordion-flush .accordion-collapse{border-width:0}.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-button,.accordion-flush .accordion-item .accordion-button.collapsed{border-radius:0}.breadcrumb{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:var(--breadcrumb-padding-y) var(--breadcrumb-padding-x);margin-bottom:var(--breadcrumb-margin-bottom);font-size:var(--breadcrumb-font-size);list-style:none;background-color:var(--breadcrumb-bg);border-radius:var(--breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--breadcrumb-item-padding-x);color:var(--breadcrumb-divider-color);content:var(--breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--breadcrumb-item-active-color)}.pagination{display:-webkit-box;display:-ms-flexbox;display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--pagination-padding-y) var(--pagination-padding-x);font-size:var(--pagination-font-size);color:var(--pagination-color);text-decoration:none;background-color:var(--pagination-bg);border:var(--pagination-border-width) solid var(--pagination-border-color);-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-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,-webkit-box-shadow .15s ease-in-out;-o-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{-webkit-transition:none;-o-transition:none;transition:none}}.page-link:active{z-index:2;color:var(--pagination-active-color);background-color:var(--pagination-active-bg);border-color:var(--pagination-active-border-color)}.page-link:focus{z-index:3;color:var(--pagination-focus-color);background-color:var(--pagination-focus-bg);outline:0;-webkit-box-shadow:var(--pagination-focus-box-shadow);box-shadow:var(--pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--pagination-active-color);background-color:var(--pagination-active-bg);border-color:var(--pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--pagination-disabled-color);pointer-events:none;background-color:var(--pagination-disabled-bg);border-color:var(--pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:-.0625rem}.page-item:first-child .page-link{border-top-left-radius:var(--pagination-border-radius);border-bottom-left-radius:var(--pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--pagination-border-radius);border-bottom-right-radius:var(--pagination-border-radius)}.pagination-lg{--pagination-padding-x:1.5rem;--pagination-padding-y:0.75rem;--pagination-font-size:1.25rem;--pagination-border-radius:0.3rem}.pagination-sm{--pagination-padding-x:0.5rem;--pagination-padding-y:0.25rem;--pagination-font-size:0.875rem;--pagination-border-radius:0.2rem}.badge{display:inline-block;padding:var(--badge-padding-y) var(--badge-padding-x);font-size:var(--badge-font-size);font-weight:var(--badge-font-weight);line-height:1;color:var(--badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:var(--alert-padding-y) var(--alert-padding-x);margin-bottom:var(--alert-margin-bottom);color:var(--alert-color);background-color:var(--alert-bg);border:var(--alert-border);border-radius:var(--alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--alert-color:#010134;--alert-bg:#ccccdd;--alert-border-color:#b3b3cc}.alert-primary .alert-link{color:var(--alert-primary-link-color)}.alert-secondary{--alert-color:#41464c;--alert-bg:#e2e3e5;--alert-border-color:#d3d6d8}.alert-secondary .alert-link{color:var(--alert-secondary-link-color)}.alert-success{--alert-color:#294f29;--alert-bg:#dae6da;--alert-border-color:#c7dac7}.alert-success .alert-link{color:var(--alert-success-link-color)}.alert-info{--alert-color:#1d3b55;--alert-bg:#d6e0e8;--alert-border-color:#c1d0dd}.alert-info .alert-link{color:var(--alert-info-link-color)}.alert-warning{--alert-color:#683b00;--alert-bg:#efe0cc;--alert-border-color:#e6d0b3}.alert-warning .alert-link{color:var(--alert-warning-link-color)}.alert-danger{--alert-color:#63130e;--alert-bg:#edd2d1;--alert-border-color:#e4bcba}.alert-danger .alert-link{color:var(--alert-danger-link-color)}.alert-light{--alert-color:#646464;--alert-bg:#fefefe;--alert-border-color:#fdfefe}.alert-light .alert-link{color:var(--alert-light-link-color)}.alert-dark{--alert-color:#202327;--alert-bg:#d7d8d9;--alert-border-color:#c2c4c6}.alert-dark .alert-link{color:var(--alert-dark-link-color)}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:-webkit-box;display:-ms-flexbox;display:flex;height:var(--progress-height);overflow:hidden;font-size:var(--progress-font-size);background-color:var(--progress-bg);border-radius:var(--progress-border-radius)}.progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:var(--progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--progress-bar-bg);-webkit-transition:var(--progress-bar-transition);-o-transition:var(--progress-bar-transition);transition:var(--progress-bar-transition)}.progress-bar-striped{background-image:-o-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-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(--progress-height) var(--progress-height)}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar{-webkit-transition:none;-o-transition:none;transition:none}.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--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(--list-group-action-color);text-align:inherit}.list-group-item-action:active,.list-group-item-action:focus{z-index:1;color:var(--list-group-action-active-color);text-decoration:none;background-color:var(--list-group-action-active-bg)}.list-group-item-action:active{color:var(--list-group-action-active-color);background-color:var(--list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:var(--list-group-item-padding-y) var(--list-group-item-padding-x);color:var(--list-group-color);text-decoration:none;background-color:var(--list-group-bg);border:var(--list-group-border-width) solid var(--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(--list-group-disabled-color);pointer-events:none;background-color:var(--list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--list-group-active-color);background-color:var(--list-group-active-bg);border-color:var(--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(--list-group-border-width));border-top-width:var(--list-group-border-width)}.list-group-horizontal{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--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(--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(--list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--list-group-border-width));border-left-width:var(--list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--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(--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(--list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--list-group-border-width));border-left-width:var(--list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--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(--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(--list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--list-group-border-width));border-left-width:var(--list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--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(--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(--list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--list-group-border-width));border-left-width:var(--list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--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(--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(--list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--list-group-border-width));border-left-width:var(--list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--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(--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(--list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--list-group-border-width));border-left-width:var(--list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:var(--list-group-item-primary-color);background-color:var(--list-group-item-primary-bg)}.list-group-item-primary.list-group-item-action:active,.list-group-item-primary.list-group-item-action:focus{color:var(--list-group-item-primary-color);background-color:var(--list-group-item-primary-active-bg)}.list-group-item-primary.list-group-item-action.active{color:var(--body-color);background-color:var(--list-group-item-primary-color);border-color:var(--list-group-item-primary-color)}.list-group-item-secondary{color:var(--list-group-item-secondary-color);background-color:var(--list-group-item-secondary-bg)}.list-group-item-secondary.list-group-item-action:active,.list-group-item-secondary.list-group-item-action:focus{color:var(--list-group-item-secondary-color);background-color:var(--list-group-item-secondary-active-bg)}.list-group-item-secondary.list-group-item-action.active{color:var(--body-color);background-color:var(--list-group-item-secondary-color);border-color:var(--list-group-item-secondary-color)}.list-group-item-success{color:var(--list-group-item-success-color);background-color:var(--list-group-item-success-bg)}.list-group-item-success.list-group-item-action:active,.list-group-item-success.list-group-item-action:focus{color:var(--list-group-item-success-color);background-color:var(--list-group-item-success-active-bg)}.list-group-item-success.list-group-item-action.active{color:var(--body-color);background-color:var(--list-group-item-success-color);border-color:var(--list-group-item-success-color)}.list-group-item-info{color:var(--list-group-item-info-color);background-color:var(--list-group-item-info-bg)}.list-group-item-info.list-group-item-action:active,.list-group-item-info.list-group-item-action:focus{color:var(--list-group-item-info-color);background-color:var(--list-group-item-info-active-bg)}.list-group-item-info.list-group-item-action.active{color:var(--body-color);background-color:var(--list-group-item-info-color);border-color:var(--list-group-item-info-color)}.list-group-item-warning{color:var(--list-group-item-warning-color);background-color:var(--list-group-item-warning-bg)}.list-group-item-warning.list-group-item-action:active,.list-group-item-warning.list-group-item-action:focus{color:var(--list-group-item-warning-color);background-color:var(--list-group-item-warning-active-bg)}.list-group-item-warning.list-group-item-action.active{color:var(--body-color);background-color:var(--list-group-item-warning-color);border-color:var(--list-group-item-warning-color)}.list-group-item-danger{color:var(--list-group-item-danger-color);background-color:var(--list-group-item-danger-bg)}.list-group-item-danger.list-group-item-action:active,.list-group-item-danger.list-group-item-action:focus{color:var(--list-group-item-danger-color);background-color:var(--list-group-item-danger-active-bg)}.list-group-item-danger.list-group-item-action.active{color:var(--body-color);background-color:var(--list-group-item-danger-color);border-color:var(--list-group-item-danger-color)}.list-group-item-light{color:var(--list-group-item-light-color);background-color:var(--list-group-item-light-bg)}.list-group-item-light.list-group-item-action:active,.list-group-item-light.list-group-item-action:focus{color:var(--list-group-item-light-color);background-color:var(--list-group-item-light-active-bg)}.list-group-item-light.list-group-item-action.active{color:var(--body-color);background-color:var(--list-group-item-light-color);border-color:var(--list-group-item-light-color)}.list-group-item-dark{color:var(--list-group-item-dark-color);background-color:var(--list-group-item-dark-bg)}.list-group-item-dark.list-group-item-action:active,.list-group-item-dark.list-group-item-action:focus{color:var(--list-group-item-dark-color);background-color:var(--list-group-item-dark-active-bg)}.list-group-item-dark.list-group-item-action.active{color:var(--body-color);background-color:var(--list-group-item-dark-color);border-color:var(--list-group-item-dark-color)}.btn-close{-webkit-box-sizing:content-box;box-sizing:content-box;width:1em;height:1em;padding:.25em;color:#000;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='hsl%280, 0, 0%29'%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") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:active{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;-webkit-box-shadow:0 0 0 .25rem rgba(1,1,86,.25);box-shadow:0 0 0 .25rem rgba(1,1,86,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.25}.btn-close-white{-webkit-filter:invert(1) grayscale(100%) brightness(200%);filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:var(--toast-max-width);max-width:100%;font-size:var(--toast-font-size);color:var(--toast-color);pointer-events:auto;background-color:var(--toast-bg);background-clip:padding-box;border:var(--toast-border-width) solid var(--toast-border-color);-webkit-box-shadow:var(--toast-box-shadow);box-shadow:var(--toast-box-shadow);border-radius:var(--toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--toast-zindex:1090;position:absolute;z-index:var(--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(--toast-spacing)}.toast-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:var(--toast-padding-y) var(--toast-padding-x);color:var(--toast-header-color);background-color:var(--toast-header-bg);background-clip:padding-box;border-bottom:var(--toast-border-width) solid var(--toast-header-border-color);border-top-left-radius:calc(var(--toast-border-radius) - var(--toast-border-width));border-top-right-radius:calc(var(--toast-border-radius) - var(--toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--toast-padding-x));margin-left:var(--toast-padding-x)}.toast-body{padding:var(--toast-padding-x);word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:var(--modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--modal-margin);pointer-events:none}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;-o-transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{-webkit-transition:none;-o-transition:none;transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--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:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:calc(100% - var(--modal-margin) * 2)}.modal-content{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;color:var(--modal-color);pointer-events:auto;background-color:var(--modal-bg);background-clip:padding-box;border:var(--modal-border-width) solid var(--modal-border-color);border-radius:var(--modal-border-radius);outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:var(--backdrop-zindex);width:100vw;height:100vh;background-color:var(--backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--backdrop-opacity)}.modal-header{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:var(--modal-header-padding);border-bottom:var(--modal-header-border-width) solid var(--modal-header-border-color);border-top-left-radius:var(--modal-inner-border-radius);border-top-right-radius:var(--modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--modal-header-padding-y) * .5) calc(var(--modal-header-padding-x) * .5);margin:calc(-.5 * var(--modal-header-padding-y)) calc(-.5 * var(--modal-header-padding-x)) calc(-.5 * var(--modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--modal-title-line-height)}.modal-body{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:var(--modal-padding)}.modal-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:calc(var(--modal-padding) - var(--modal-footer-gap) * .5);background-color:var(--modal-footer-bg);border-top:var(--modal-footer-border-width) solid var(--modal-footer-border-color);border-bottom-right-radius:var(--modal-inner-border-radius);border-bottom-left-radius:var(--modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--modal-footer-gap) * .5)}@media (min-width:576px){.modal{--modal-margin:1.75rem;--modal-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15)}.modal-dialog{max-width:var(--modal-width);margin-right:auto;margin-left:auto}.modal-sm{--modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--modal-width:800px}}.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{z-index:var(--tooltip-zindex);display:block;padding:var(--tooltip-arrow-height);margin:var(--tooltip-margin);font-family:v-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";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(--tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--tooltip-arrow-width);height:var(--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:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;border-top-color:var(--tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:var(--tooltip-arrow-height);height:var(--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(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;border-right-color:var(--tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);border-bottom-color:var(--tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:var(--tooltip-arrow-height);height:var(--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(--tooltip-arrow-width) * .5) 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);border-left-color:var(--tooltip-bg)}.tooltip-inner{max-width:var(--tooltip-max-width);padding:var(--tooltip-padding-y) var(--tooltip-padding-x);color:var(--tooltip-color);text-align:center;background-color:var(--tooltip-bg);border-radius:var(--tooltip-border-radius)}.popover{z-index:var(--popover-zindex);display:block;max-width:var(--popover-max-width);font-family:var(--font-family-body, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");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(--popover-font-size);word-wrap:break-word;background-color:var(--popover-bg);background-clip:padding-box;border:var(--popover-border-width) solid var(--popover-border-color);border-radius:var(--popover-border-radius)}.popover .popover-arrow{display:block;width:var(--popover-arrow-width);height:var(--popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border:0 solid transparent}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--popover-arrow-height)) - var(--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(--popover-arrow-height) calc(var(--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(--popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--popover-border-width);border-top-color:var(--popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));width:var(--popover-arrow-height);height:var(--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(--popover-arrow-width) * .5) var(--popover-arrow-height) calc(var(--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(--popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--popover-border-width);border-right-color:var(--popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--popover-arrow-height)) - var(--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(--popover-arrow-width) * .5) var(--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(--popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--popover-border-width);border-bottom-color:var(--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(--popover-arrow-width);margin-left:calc(-.5 * var(--popover-arrow-width));content:"";border-bottom:var(--popover-border-width) solid var(--popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));width:var(--popover-arrow-height);height:var(--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(--popover-arrow-width) * .5) 0 calc(var(--popover-arrow-width) * .5) var(--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(--popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--popover-border-width);border-left-color:var(--popover-bg)}.popover-header{padding:var(--popover-header-padding-y) var(--popover-header-padding-x);margin-bottom:0;font-size:var(--popover-header-font-size);color:var(--popover-header-color);background-color:var(--popover-header-bg);border-bottom:var(--popover-border-width) solid var(--popover-border-color);border-top-left-radius:var(--popover-inner-border-radius);border-top-right-radius:var(--popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--popover-body-padding-y) var(--popover-body-padding-x);color:var(--popover-body-color)}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;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;-webkit-transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;-o-transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{-webkit-transition:none;-o-transition:none;transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;-webkit-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity;-webkit-transform:none;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;-webkit-transition:opacity 0s .6s;-o-transition:opacity 0s .6s;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{-webkit-transition:none;-o-transition:none;transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:15%;padding:0;color:var(--body-color);text-align:center;background:0 0;border:0;opacity:.5;-webkit-transition:opacity .15s;-o-transition:opacity .15s;transition:opacity .15s}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{-webkit-transition:none;-o-transition:none;transition:none}}.carousel-control-next:active,.carousel-control-next:focus,.carousel-control-prev:active,.carousel-control-prev:focus{color:var(--body-color);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='hsl%280, 0, 100%%29'%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='hsl%280, 0, 100%%29'%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:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:.1875rem;margin-left:.1875rem;text-indent:-999px;cursor:pointer;background-color:var(--body-color);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;-webkit-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.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:var(--body-color);text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{-webkit-filter:invert(1) grayscale(100);filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}.spinner-border,.spinner-grow{display:inline-block;width:var(--spinner-width);height:var(--spinner-height);vertical-align:var(--spinner-vertical-align);border-radius:50%;-webkit-animation:var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);animation:var(--spinner-animation-speed) linear infinite var(--spinner-animation-name)}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{--spinner-animation-name:spinner-border;border:var(--spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--spinner-width:1rem;--spinner-height:1rem;--spinner-border-width:0.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{--spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--spinner-width:1rem;--spinner-height:1rem}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{-webkit-transition:none;-o-transition:none;transition:none}.spinner-border,.spinner-grow{--spinner-animation-speed:1.5s}}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--offcanvas-zindex);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;color:var(--offcanvas-color);visibility:hidden;background-color:var(--offcanvas-bg);background-clip:padding-box;outline:0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;-o-transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--offcanvas-width);border-right:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{-webkit-transition:none;-o-transition:none;transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--offcanvas-width);border-left:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-bottom:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-top:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{-webkit-transform:none;transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--offcanvas-height:auto;--offcanvas-border-width:0;background-color:transparent}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--offcanvas-zindex);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;color:var(--offcanvas-color);visibility:hidden;background-color:var(--offcanvas-bg);background-clip:padding-box;outline:0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;-o-transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--offcanvas-width);border-right:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{-webkit-transition:none;-o-transition:none;transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--offcanvas-width);border-left:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-bottom:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-top:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{-webkit-transform:none;transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}.container-header .container-nav nav{margin-top:.4rem}}@media (min-width:768px){.offcanvas-md{--offcanvas-height:auto;--offcanvas-border-width:0;background-color:transparent}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--offcanvas-zindex);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;color:var(--offcanvas-color);visibility:hidden;background-color:var(--offcanvas-bg);background-clip:padding-box;outline:0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;-o-transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--offcanvas-width);border-right:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{-webkit-transition:none;-o-transition:none;transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--offcanvas-width);border-left:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-bottom:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-top:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{-webkit-transform:none;transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--offcanvas-height:auto;--offcanvas-border-width:0;background-color:transparent}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--offcanvas-zindex);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;color:var(--offcanvas-color);visibility:hidden;background-color:var(--offcanvas-bg);background-clip:padding-box;outline:0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;-o-transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--offcanvas-width);border-right:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{-webkit-transition:none;-o-transition:none;transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--offcanvas-width);border-left:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-bottom:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-top:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{-webkit-transform:none;transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}.sidebar-left .metismenu li.parent>ul,.sidebar-right .metismenu li.parent>ul{width:100%}}@media (min-width:1200px){.modal-xl{--modal-width:1140px}.offcanvas-xl{--offcanvas-height:auto;--offcanvas-border-width:0;background-color:transparent}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--offcanvas-zindex);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;color:var(--offcanvas-color);visibility:hidden;background-color:var(--offcanvas-bg);background-clip:padding-box;outline:0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;-o-transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--offcanvas-width);border-right:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{-webkit-transition:none;-o-transition:none;transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--offcanvas-width);border-left:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-bottom:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-top:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{-webkit-transform:none;transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--offcanvas-height:auto;--offcanvas-border-width:0;background-color:transparent}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent}}.offcanvas{position:fixed;bottom:0;z-index:var(--offcanvas-zindex);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;color:var(--offcanvas-color);visibility:hidden;background-color:var(--offcanvas-bg);background-clip:padding-box;outline:0;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;-o-transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{-webkit-transition:none;-o-transition:none;transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--offcanvas-width);border-right:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateX(-100%);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--offcanvas-width);border-left:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateX(100%);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-bottom:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--offcanvas-height);max-height:100%;border-top:var(--offcanvas-border-width) solid var(--offcanvas-border-color);-webkit-transform:translateY(100%);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{-webkit-transform:none;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:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:var(--offcanvas-padding-y) var(--offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--offcanvas-padding-y) * .5) calc(var(--offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--offcanvas-padding-y));margin-right:calc(-.5 * var(--offcanvas-padding-x));margin-bottom:calc(-.5 * var(--offcanvas-padding-y))}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;padding:var(--offcanvas-padding-y) var(--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{-webkit-animation:2s ease-in-out infinite placeholder-glow;animation:2s ease-in-out infinite placeholder-glow}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,hsl(0,0%,0%) 55%,rgba(0,0,0,0.8) 75%,hsl(0,0%,0%) 95%);mask-image:linear-gradient(130deg,hsl(0,0%,0%) 55%,rgba(0,0,0,0.8) 75%,hsl(0,0%,0%) 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:2s linear infinite placeholder-wave;animation:2s linear infinite placeholder-wave}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:var(--body-color);background-color:var(--primary)}.text-bg-secondary{color:var(--body-color);background-color:RGBA(109,117,126,var(--bg-opacity,1))}.text-bg-success{color:var(--body-color);background-color:RGBA(68,131,68,var(--bg-opacity,1))}.text-bg-info{color:var(--body-color);background-color:RGBA(48,99,141,var(--bg-opacity,1))}.text-bg-warning{color:var(--body-color);background-color:RGBA(173,98,0,var(--bg-opacity,1))}.text-bg-danger{color:var(--body-color);background-color:RGBA(165,31,24,var(--bg-opacity,1))}.text-bg-light{color:#000;background-color:RGBA(249,250,251,var(--bg-opacity,1))}.text-bg-dark{color:var(--body-color);background-color:RGBA(53,59,65,var(--bg-opacity,1))}.link-primary{color:var(--link-primary-color)}.link-primary:active,.link-primary:focus{color:var(--link-primary-hover-color)}.link-secondary{color:var(--link-secondary-color)}.link-secondary:active,.link-secondary:focus{color:var(--link-secondary-hover-color)}.link-success{color:var(--link-success-color)}.link-success:active,.link-success:focus{color:var(--link-success-hover-color)}.link-info{color:var(--link-info-color)}.link-info:active,.link-info:focus{color:var(--link-info-hover-color)}.link-warning{color:var(--link-warning-color)}.link-warning:active,.link-warning:focus{color:var(--link-warning-hover-color)}.link-danger{color:var(--link-danger-color)}.link-danger:active,.link-danger:focus{color:var(--link-danger-hover-color)}.link-light{color:var(--link-light-color)}.link-light:active,.link-light:focus{color:var(--link-light-hover-color)}.link-dark{color:var(--link-dark-color)}.link-dark:active,.link-dark:focus{color:var(--link-dark-hover-color)}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--aspect-ratio:100%}.ratio-4x3{--aspect-ratio:75%}.ratio-16x9{--aspect-ratio:56.25%}.ratio-21x9{--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:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-item-align:stretch;align-self:stretch}.vstack{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-item-align:stretch;align-self:stretch}.sr-only,.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute;width:1px;height:1px;padding:0;margin:-.0625rem;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;-ms-flex-item-align:stretch;align-self:stretch;width:1px;min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.align-text-bottom{vertical-align:text-bottom}.align-text-top{vertical-align:text-top}.float-start{float:left}.float-end{float:right}.float-none{float:none}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.d-inline{display:inline}.d-inline-block{display:inline-block}.d-block{display:block}.d-grid{display:grid}.d-table{display:table}.d-table-row{display:table-row}.d-table-cell{display:table-cell}.d-flex{display:-webkit-box;display:-ms-flexbox;display:flex}.d-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.d-none{display:none}.shadow{-webkit-box-shadow:0 .5rem 1rem rgba(0,0,0,.15);box-shadow:0 .5rem 1rem rgba(0,0,0,.15)}.shadow-sm{-webkit-box-shadow:0 .125rem .25rem rgba(0,0,0,.075);box-shadow:0 .125rem .25rem rgba(0,0,0,.075)}.shadow-lg{-webkit-box-shadow:0 1rem 3rem rgba(0,0,0,.175);box-shadow:0 1rem 3rem rgba(0,0,0,.175)}.shadow-none{-webkit-box-shadow:none;box-shadow:none}.position-static{position:static}.position-relative{position:relative}.position-absolute{position:absolute}.position-fixed{position:fixed}.position-sticky{position:sticky}.top-0{top:0}.top-50{top:50%}.top-100{top:100%}.bottom-0{bottom:0}.bottom-50{bottom:50%}.bottom-100{bottom:100%}.start-0{left:0}.start-50{left:50%}.start-100{left:100%}.end-0{right:0}.end-50{right:50%}.end-100{right:100%}.translate-middle{-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.translate-middle-x{-webkit-transform:translateX(-50%);transform:translateX(-50%)}.translate-middle-y{-webkit-transform:translateY(-50%);transform:translateY(-50%)}.border{border:var(--border-width) var(--border-style) var(--border-color)}.border-0{border:0}.border-top{border-top:var(--border-width) var(--border-style) var(--border-color)}.border-top-0{border-top:0}.border-end{border-right:var(--border-width) var(--border-style) var(--border-color)}.border-end-0{border-right:0}.border-bottom{border-bottom:var(--border-width) var(--border-style) var(--border-color)}.border-bottom-0{border-bottom:0}.border-start{border-left:var(--border-width) var(--border-style) var(--border-color)}.border-start-0{border-left:0}.border-primary{--border-opacity:1;border-color:rgba(var(--primary-rgb),var(--border-opacity))}.border-secondary{--border-opacity:1;border-color:rgba(var(--secondary-rgb),var(--border-opacity))}.border-success{--border-opacity:1;border-color:rgba(var(--success-rgb),var(--border-opacity))}.border-info{--border-opacity:1;border-color:rgba(var(--info-rgb),var(--border-opacity))}.border-warning{--border-opacity:1;border-color:rgba(var(--warning-rgb),var(--border-opacity))}.border-danger{--border-opacity:1;border-color:rgba(var(--danger-rgb),var(--border-opacity))}.border-light{--border-opacity:1;border-color:rgba(var(--light-rgb),var(--border-opacity))}.border-dark{--border-opacity:1;border-color:rgba(var(--dark-rgb),var(--border-opacity))}.border-white{--border-opacity:1;border-color:rgba(var(--white-rgb),var(--border-opacity))}.border-1{--border-width:1px}.border-2{--border-width:2px}.border-3{--border-width:3px}.border-4{--border-width:4px}.border-5{--border-width:5px}.border-opacity-10{--border-opacity:0.1}.border-opacity-25{--border-opacity:0.25}.border-opacity-50{--border-opacity:0.5}.border-opacity-75{--border-opacity:0.75}.border-opacity-100{--border-opacity:1}.w-25{width:25%}.w-50{width:50%}.w-75{width:75%}.w-100{width:100%}.w-auto{width:auto}.mw-100{max-width:100%}.vw-100{width:100vw}.min-vw-100{min-width:100vw}.h-25{height:25%}.h-50{height:50%}.h-75{height:75%}.h-100{height:100%}.h-auto{height:auto}.mh-100{max-height:100%}.vh-100{height:100vh}.min-vh-100{min-height:100vh}.flex-fill{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.flex-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.flex-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.flex-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.flex-grow-0{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.flex-grow-1{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.flex-shrink-0{-ms-flex-negative:0;flex-shrink:0}.flex-shrink-1{-ms-flex-negative:1;flex-shrink:1}.flex-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-nowrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.justify-content-start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.justify-content-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.justify-content-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.justify-content-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.justify-content-around{-ms-flex-pack:distribute;justify-content:space-around}.justify-content-evenly{-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly}.align-items-start{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.align-items-end{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.align-items-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.align-items-baseline{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.align-items-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.align-content-start{-ms-flex-line-pack:start;align-content:flex-start}.align-content-end{-ms-flex-line-pack:end;align-content:flex-end}.align-content-center{-ms-flex-line-pack:center;align-content:center}.align-content-between{-ms-flex-line-pack:justify;align-content:space-between}.align-content-around{-ms-flex-line-pack:distribute;align-content:space-around}.align-content-stretch{-ms-flex-line-pack:stretch;align-content:stretch}.align-self-auto{-ms-flex-item-align:auto;align-self:auto}.align-self-start{-ms-flex-item-align:start;align-self:flex-start}.align-self-end{-ms-flex-item-align:end;align-self:flex-end}.align-self-center{-ms-flex-item-align:center;align-self:center}.align-self-baseline{-ms-flex-item-align:baseline;align-self:baseline}.align-self-stretch{-ms-flex-item-align:stretch;align-self:stretch}.order-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-last{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}.m-auto{margin:auto}.mx-0{margin-right:0;margin-left:0}.mx-1{margin-right:.25rem;margin-left:.25rem}.mx-2{margin-right:.5rem;margin-left:.5rem}.mx-3{margin-right:1rem;margin-left:1rem}.mx-4{margin-right:1.5rem;margin-left:1.5rem}.mx-5{margin-right:3rem;margin-left:3rem}.mx-auto{margin-right:auto;margin-left:auto}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:1rem;margin-bottom:1rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.my-5{margin-top:3rem;margin-bottom:3rem}.my-auto{margin-top:auto;margin-bottom:auto}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}.mt-auto{margin-top:auto}.me-0{margin-right:0}.me-1{margin-right:.25rem}.me-2{margin-right:.5rem}.me-3{margin-right:1rem}.me-4{margin-right:1.5rem}.me-5{margin-right:3rem}.me-auto{margin-right:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.form-group,.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:3rem}.mb-auto{margin-bottom:auto}.ms-0{margin-left:0}.ms-1{margin-left:.25rem}.ms-2{margin-left:.5rem}.ms-3{margin-left:1rem}.ms-4{margin-left:1.5rem}.ms-5{margin-left:3rem}.ms-auto{margin-left:auto}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}.px-0{padding-right:0;padding-left:0}.px-1{padding-right:.25rem;padding-left:.25rem}.px-2{padding-right:.5rem;padding-left:.5rem}.px-3{padding-right:1rem;padding-left:1rem}.px-4{padding-right:1.5rem;padding-left:1.5rem}.px-5{padding-right:3rem;padding-left:3rem}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:1rem;padding-bottom:1rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.py-5{padding-top:3rem;padding-bottom:3rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:1rem}.pt-4{padding-top:1.5rem}.pt-5{padding-top:3rem}.pe-0{padding-right:0}.pe-1{padding-right:.25rem}.pe-2{padding-right:.5rem}.pe-3{padding-right:1rem}.pe-4{padding-right:1.5rem}.pe-5{padding-right:3rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:1rem}.pb-4{padding-bottom:1.5rem}.pb-5{padding-bottom:3rem}.ps-0{padding-left:0}.ps-1{padding-left:.25rem}.ps-2{padding-left:.5rem}.ps-3{padding-left:1rem}.ps-4{padding-left:1.5rem}.ps-5{padding-left:3rem}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:1rem}.gap-4{gap:1.5rem}.gap-5{gap:3rem}.font-monospace{font-family:var(--font-monospace)}.fs-1{font-size:calc(1.375rem + 1.5vw)}.fs-2{font-size:calc(1.325rem + .9vw)}.fs-3{font-size:calc(1.3rem + .6vw)}.fs-4{font-size:calc(1.275rem + .3vw)}.fs-5{font-size:1.25rem}.fs-6{font-size:1rem}.fst-italic{font-style:italic}.fst-normal{font-style:normal}.fw-light{font-weight:300}.fw-lighter{font-weight:lighter}.fw-normal{font-weight:400}.fw-bold{font-weight:700}.fw-semibold{font-weight:600}.fw-bolder{font-weight:bolder}.lh-1{line-height:1}.lh-sm{line-height:1.25}.lh-base{line-height:1.5}.lh-lg{line-height:2}.text-start{text-align:left}.text-end{text-align:right}.text-center{text-align:center}.text-decoration-none{text-decoration:none}.text-decoration-underline{text-decoration:underline}.text-decoration-line-through{text-decoration:line-through}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-wrap{white-space:normal}.text-nowrap{white-space:nowrap}.text-break{word-wrap:break-word;word-break:break-word}.text-primary{--text-opacity:1;color:rgba(var(--primary-rgb),var(--text-opacity))}.text-secondary{--text-opacity:1;color:rgba(var(--secondary-rgb),var(--text-opacity))}.text-success{--text-opacity:1;color:rgba(var(--success-rgb),var(--text-opacity))}.text-info{--text-opacity:1;color:rgba(var(--info-rgb),var(--text-opacity))}.text-warning{--text-opacity:1;color:rgba(var(--warning-rgb),var(--text-opacity))}.text-danger{--text-opacity:1;color:rgba(var(--danger-rgb),var(--text-opacity))}.text-light{--text-opacity:1;color:rgba(var(--light-rgb),var(--text-opacity))}.text-dark{--text-opacity:1;color:rgba(var(--dark-rgb),var(--text-opacity))}.text-black{--text-opacity:1;color:rgba(var(--black-rgb),var(--text-opacity))}.text-white{--text-opacity:1;color:rgba(var(--white-rgb),var(--text-opacity))}.text-body{--text-opacity:1;color:rgba(var(--body-color-rgb),var(--text-opacity))}.text-muted{--text-opacity:1;color:#6d757d}.text-black-50{--text-opacity:1;color:rgba(0,0,0,.5)}.text-white-50{--text-opacity:1;color:rgba(255,255,255,.5)}.text-reset{--text-opacity:1;color:inherit}.text-opacity-25{--text-opacity:0.25}.text-opacity-50{--text-opacity:0.5}.text-opacity-75{--text-opacity:0.75}.text-opacity-100{--text-opacity:1}.bg-primary{--bg-opacity:1;background-color:rgba(var(--primary-rgb),var(--bg-opacity))}.bg-secondary{--bg-opacity:1;background-color:rgba(var(--secondary-rgb),var(--bg-opacity))}.bg-success{--bg-opacity:1;background-color:rgba(var(--success-rgb),var(--bg-opacity))}.bg-info{--bg-opacity:1;background-color:rgba(var(--info-rgb),var(--bg-opacity))}.bg-warning{--bg-opacity:1;background-color:rgba(var(--warning-rgb),var(--bg-opacity))}.bg-danger{--bg-opacity:1;background-color:rgba(var(--danger-rgb),var(--bg-opacity))}.bg-light{--bg-opacity:1;background-color:rgba(var(--light-rgb),var(--bg-opacity))}.bg-dark{--bg-opacity:1;background-color:rgba(var(--dark-rgb),var(--bg-opacity))}.bg-black{--bg-opacity:1;background-color:rgba(var(--black-rgb),var(--bg-opacity))}.bg-white{--bg-opacity:1;background-color:rgba(var(--white-rgb),var(--bg-opacity))}.bg-body{--bg-opacity:1;background-color:rgba(var(--body-bg-rgb),var(--bg-opacity))}.bg-transparent{--bg-opacity:1;background-color:transparent}.bg-opacity-10{--bg-opacity:0.1}.bg-opacity-25{--bg-opacity:0.25}.bg-opacity-50{--bg-opacity:0.5}.bg-opacity-75{--bg-opacity:0.75}.bg-opacity-100{--bg-opacity:1}.bg-gradient{background-image:var(--gradient)}.user-select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.user-select-auto{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto}.user-select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pe-none{pointer-events:none}.pe-auto{pointer-events:auto}.rounded{border-radius:var(--border-radius)}.rounded-0{border-radius:0}.rounded-1{border-radius:var(--border-radius-sm)}.rounded-2{border-radius:var(--border-radius)}.rounded-3{border-radius:var(--border-radius-lg)}.rounded-4{border-radius:var(--border-radius-xl)}.rounded-5{border-radius:var(--border-radius-2xl)}.rounded-circle{border-radius:50%}.rounded-pill{border-radius:var(--border-radius-pill)}.rounded-top{border-top-left-radius:var(--border-radius);border-top-right-radius:var(--border-radius)}.rounded-end{border-top-right-radius:var(--border-radius);border-bottom-right-radius:var(--border-radius)}.rounded-bottom{border-bottom-right-radius:var(--border-radius);border-bottom-left-radius:var(--border-radius)}.rounded-start{border-bottom-left-radius:var(--border-radius);border-top-left-radius:var(--border-radius)}.visible{visibility:visible}.invisible{visibility:hidden}@media (min-width:576px){.float-sm-start{float:left}.float-sm-end{float:right}.float-sm-none{float:none}.d-sm-inline{display:inline}.d-sm-inline-block{display:inline-block}.d-sm-block{display:block}.d-sm-grid{display:grid}.d-sm-table{display:table}.d-sm-table-row{display:table-row}.d-sm-table-cell{display:table-cell}.d-sm-flex{display:-webkit-box;display:-ms-flexbox;display:flex}.d-sm-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.d-sm-none{display:none}.flex-sm-fill{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.flex-sm-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.flex-sm-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.flex-sm-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-sm-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.flex-sm-grow-0{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.flex-sm-grow-1{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.flex-sm-shrink-0{-ms-flex-negative:0;flex-shrink:0}.flex-sm-shrink-1{-ms-flex-negative:1;flex-shrink:1}.flex-sm-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-sm-nowrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.justify-content-sm-start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.justify-content-sm-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.justify-content-sm-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.justify-content-sm-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.justify-content-sm-around{-ms-flex-pack:distribute;justify-content:space-around}.justify-content-sm-evenly{-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly}.align-items-sm-start{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.align-items-sm-end{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.align-items-sm-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.align-items-sm-baseline{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.align-items-sm-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.align-content-sm-start{-ms-flex-line-pack:start;align-content:flex-start}.align-content-sm-end{-ms-flex-line-pack:end;align-content:flex-end}.align-content-sm-center{-ms-flex-line-pack:center;align-content:center}.align-content-sm-between{-ms-flex-line-pack:justify;align-content:space-between}.align-content-sm-around{-ms-flex-line-pack:distribute;align-content:space-around}.align-content-sm-stretch{-ms-flex-line-pack:stretch;align-content:stretch}.align-self-sm-auto{-ms-flex-item-align:auto;align-self:auto}.align-self-sm-start{-ms-flex-item-align:start;align-self:flex-start}.align-self-sm-end{-ms-flex-item-align:end;align-self:flex-end}.align-self-sm-center{-ms-flex-item-align:center;align-self:center}.align-self-sm-baseline{-ms-flex-item-align:baseline;align-self:baseline}.align-self-sm-stretch{-ms-flex-item-align:stretch;align-self:stretch}.order-sm-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-sm-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-sm-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-sm-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-sm-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-sm-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-sm-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-sm-last{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.m-sm-0{margin:0}.m-sm-1{margin:.25rem}.m-sm-2{margin:.5rem}.m-sm-3{margin:1rem}.m-sm-4{margin:1.5rem}.m-sm-5{margin:3rem}.m-sm-auto{margin:auto}.mx-sm-0{margin-right:0;margin-left:0}.mx-sm-1{margin-right:.25rem;margin-left:.25rem}.mx-sm-2{margin-right:.5rem;margin-left:.5rem}.mx-sm-3{margin-right:1rem;margin-left:1rem}.mx-sm-4{margin-right:1.5rem;margin-left:1.5rem}.mx-sm-5{margin-right:3rem;margin-left:3rem}.mx-sm-auto{margin-right:auto;margin-left:auto}.my-sm-0{margin-top:0;margin-bottom:0}.my-sm-1{margin-top:.25rem;margin-bottom:.25rem}.my-sm-2{margin-top:.5rem;margin-bottom:.5rem}.my-sm-3{margin-top:1rem;margin-bottom:1rem}.my-sm-4{margin-top:1.5rem;margin-bottom:1.5rem}.my-sm-5{margin-top:3rem;margin-bottom:3rem}.my-sm-auto{margin-top:auto;margin-bottom:auto}.mt-sm-0{margin-top:0}.mt-sm-1{margin-top:.25rem}.mt-sm-2{margin-top:.5rem}.mt-sm-3{margin-top:1rem}.mt-sm-4{margin-top:1.5rem}.mt-sm-5{margin-top:3rem}.mt-sm-auto{margin-top:auto}.me-sm-0{margin-right:0}.me-sm-1{margin-right:.25rem}.me-sm-2{margin-right:.5rem}.me-sm-3{margin-right:1rem}.me-sm-4{margin-right:1.5rem}.me-sm-5{margin-right:3rem}.me-sm-auto{margin-right:auto}.mb-sm-0{margin-bottom:0}.mb-sm-1{margin-bottom:.25rem}.mb-sm-2{margin-bottom:.5rem}.mb-sm-3{margin-bottom:1rem}.mb-sm-4{margin-bottom:1.5rem}.mb-sm-5{margin-bottom:3rem}.mb-sm-auto{margin-bottom:auto}.ms-sm-0{margin-left:0}.ms-sm-1{margin-left:.25rem}.ms-sm-2{margin-left:.5rem}.ms-sm-3{margin-left:1rem}.ms-sm-4{margin-left:1.5rem}.ms-sm-5{margin-left:3rem}.ms-sm-auto{margin-left:auto}.p-sm-0{padding:0}.p-sm-1{padding:.25rem}.p-sm-2{padding:.5rem}.p-sm-3{padding:1rem}.p-sm-4{padding:1.5rem}.p-sm-5{padding:3rem}.px-sm-0{padding-right:0;padding-left:0}.px-sm-1{padding-right:.25rem;padding-left:.25rem}.px-sm-2{padding-right:.5rem;padding-left:.5rem}.px-sm-3{padding-right:1rem;padding-left:1rem}.px-sm-4{padding-right:1.5rem;padding-left:1.5rem}.px-sm-5{padding-right:3rem;padding-left:3rem}.py-sm-0{padding-top:0;padding-bottom:0}.py-sm-1{padding-top:.25rem;padding-bottom:.25rem}.py-sm-2{padding-top:.5rem;padding-bottom:.5rem}.py-sm-3{padding-top:1rem;padding-bottom:1rem}.py-sm-4{padding-top:1.5rem;padding-bottom:1.5rem}.py-sm-5{padding-top:3rem;padding-bottom:3rem}.pt-sm-0{padding-top:0}.pt-sm-1{padding-top:.25rem}.pt-sm-2{padding-top:.5rem}.pt-sm-3{padding-top:1rem}.pt-sm-4{padding-top:1.5rem}.pt-sm-5{padding-top:3rem}.pe-sm-0{padding-right:0}.pe-sm-1{padding-right:.25rem}.pe-sm-2{padding-right:.5rem}.pe-sm-3{padding-right:1rem}.pe-sm-4{padding-right:1.5rem}.pe-sm-5{padding-right:3rem}.pb-sm-0{padding-bottom:0}.pb-sm-1{padding-bottom:.25rem}.pb-sm-2{padding-bottom:.5rem}.pb-sm-3{padding-bottom:1rem}.pb-sm-4{padding-bottom:1.5rem}.pb-sm-5{padding-bottom:3rem}.ps-sm-0{padding-left:0}.ps-sm-1{padding-left:.25rem}.ps-sm-2{padding-left:.5rem}.ps-sm-3{padding-left:1rem}.ps-sm-4{padding-left:1.5rem}.ps-sm-5{padding-left:3rem}.gap-sm-0{gap:0}.gap-sm-1{gap:.25rem}.gap-sm-2{gap:.5rem}.gap-sm-3{gap:1rem}.gap-sm-4{gap:1.5rem}.gap-sm-5{gap:3rem}.text-sm-start{text-align:left}.text-sm-end{text-align:right}.text-sm-center{text-align:center}}@media (min-width:768px){.float-md-start{float:left}.float-md-end{float:right}.float-md-none{float:none}.d-md-inline{display:inline}.d-md-inline-block{display:inline-block}.d-md-block{display:block}.d-md-grid{display:grid}.d-md-table{display:table}.d-md-table-row{display:table-row}.d-md-table-cell{display:table-cell}.d-md-flex{display:-webkit-box;display:-ms-flexbox;display:flex}.d-md-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.d-md-none{display:none}.flex-md-fill{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.flex-md-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.flex-md-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.flex-md-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-md-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.flex-md-grow-0{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.flex-md-grow-1{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.flex-md-shrink-0{-ms-flex-negative:0;flex-shrink:0}.flex-md-shrink-1{-ms-flex-negative:1;flex-shrink:1}.flex-md-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-md-nowrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.justify-content-md-start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.justify-content-md-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.justify-content-md-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.justify-content-md-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.justify-content-md-around{-ms-flex-pack:distribute;justify-content:space-around}.justify-content-md-evenly{-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly}.align-items-md-start{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.align-items-md-end{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.align-items-md-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.align-items-md-baseline{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.align-items-md-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.align-content-md-start{-ms-flex-line-pack:start;align-content:flex-start}.align-content-md-end{-ms-flex-line-pack:end;align-content:flex-end}.align-content-md-center{-ms-flex-line-pack:center;align-content:center}.align-content-md-between{-ms-flex-line-pack:justify;align-content:space-between}.align-content-md-around{-ms-flex-line-pack:distribute;align-content:space-around}.align-content-md-stretch{-ms-flex-line-pack:stretch;align-content:stretch}.align-self-md-auto{-ms-flex-item-align:auto;align-self:auto}.align-self-md-start{-ms-flex-item-align:start;align-self:flex-start}.align-self-md-end{-ms-flex-item-align:end;align-self:flex-end}.align-self-md-center{-ms-flex-item-align:center;align-self:center}.align-self-md-baseline{-ms-flex-item-align:baseline;align-self:baseline}.align-self-md-stretch{-ms-flex-item-align:stretch;align-self:stretch}.order-md-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-md-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-md-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-md-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-md-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-md-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-md-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-md-last{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.m-md-0{margin:0}.m-md-1{margin:.25rem}.m-md-2{margin:.5rem}.m-md-3{margin:1rem}.m-md-4{margin:1.5rem}.m-md-5{margin:3rem}.m-md-auto{margin:auto}.mx-md-0{margin-right:0;margin-left:0}.mx-md-1{margin-right:.25rem;margin-left:.25rem}.mx-md-2{margin-right:.5rem;margin-left:.5rem}.mx-md-3{margin-right:1rem;margin-left:1rem}.mx-md-4{margin-right:1.5rem;margin-left:1.5rem}.mx-md-5{margin-right:3rem;margin-left:3rem}.mx-md-auto{margin-right:auto;margin-left:auto}.my-md-0{margin-top:0;margin-bottom:0}.my-md-1{margin-top:.25rem;margin-bottom:.25rem}.my-md-2{margin-top:.5rem;margin-bottom:.5rem}.my-md-3{margin-top:1rem;margin-bottom:1rem}.my-md-4{margin-top:1.5rem;margin-bottom:1.5rem}.my-md-5{margin-top:3rem;margin-bottom:3rem}.my-md-auto{margin-top:auto;margin-bottom:auto}.mt-md-0{margin-top:0}.mt-md-1{margin-top:.25rem}.mt-md-2{margin-top:.5rem}.mt-md-3{margin-top:1rem}.mt-md-4{margin-top:1.5rem}.mt-md-5{margin-top:3rem}.mt-md-auto{margin-top:auto}.me-md-0{margin-right:0}.me-md-1{margin-right:.25rem}.me-md-2{margin-right:.5rem}.me-md-3{margin-right:1rem}.me-md-4{margin-right:1.5rem}.me-md-5{margin-right:3rem}.me-md-auto{margin-right:auto}.mb-md-0{margin-bottom:0}.mb-md-1{margin-bottom:.25rem}.mb-md-2{margin-bottom:.5rem}.mb-md-3{margin-bottom:1rem}.mb-md-4{margin-bottom:1.5rem}.mb-md-5{margin-bottom:3rem}.mb-md-auto{margin-bottom:auto}.ms-md-0{margin-left:0}.ms-md-1{margin-left:.25rem}.ms-md-2{margin-left:.5rem}.ms-md-3{margin-left:1rem}.ms-md-4{margin-left:1.5rem}.ms-md-5{margin-left:3rem}.ms-md-auto{margin-left:auto}.p-md-0{padding:0}.p-md-1{padding:.25rem}.p-md-2{padding:.5rem}.p-md-3{padding:1rem}.p-md-4{padding:1.5rem}.p-md-5{padding:3rem}.px-md-0{padding-right:0;padding-left:0}.px-md-1{padding-right:.25rem;padding-left:.25rem}.px-md-2{padding-right:.5rem;padding-left:.5rem}.px-md-3{padding-right:1rem;padding-left:1rem}.px-md-4{padding-right:1.5rem;padding-left:1.5rem}.px-md-5{padding-right:3rem;padding-left:3rem}.py-md-0{padding-top:0;padding-bottom:0}.py-md-1{padding-top:.25rem;padding-bottom:.25rem}.py-md-2{padding-top:.5rem;padding-bottom:.5rem}.py-md-3{padding-top:1rem;padding-bottom:1rem}.py-md-4{padding-top:1.5rem;padding-bottom:1.5rem}.py-md-5{padding-top:3rem;padding-bottom:3rem}.pt-md-0{padding-top:0}.pt-md-1{padding-top:.25rem}.pt-md-2{padding-top:.5rem}.pt-md-3{padding-top:1rem}.pt-md-4{padding-top:1.5rem}.pt-md-5{padding-top:3rem}.pe-md-0{padding-right:0}.pe-md-1{padding-right:.25rem}.pe-md-2{padding-right:.5rem}.pe-md-3{padding-right:1rem}.pe-md-4{padding-right:1.5rem}.pe-md-5{padding-right:3rem}.pb-md-0{padding-bottom:0}.pb-md-1{padding-bottom:.25rem}.pb-md-2{padding-bottom:.5rem}.pb-md-3{padding-bottom:1rem}.pb-md-4{padding-bottom:1.5rem}.pb-md-5{padding-bottom:3rem}.ps-md-0{padding-left:0}.ps-md-1{padding-left:.25rem}.ps-md-2{padding-left:.5rem}.ps-md-3{padding-left:1rem}.ps-md-4{padding-left:1.5rem}.ps-md-5{padding-left:3rem}.gap-md-0{gap:0}.gap-md-1{gap:.25rem}.gap-md-2{gap:.5rem}.gap-md-3{gap:1rem}.gap-md-4{gap:1.5rem}.gap-md-5{gap:3rem}.text-md-start{text-align:left}.text-md-end{text-align:right}.text-md-center{text-align:center}}@media (min-width:992px){.float-lg-start{float:left}.float-lg-end{float:right}.float-lg-none{float:none}.d-lg-inline{display:inline}.d-lg-inline-block{display:inline-block}.d-lg-block{display:block}.d-lg-grid{display:grid}.d-lg-table{display:table}.d-lg-table-row{display:table-row}.d-lg-table-cell{display:table-cell}.d-lg-flex{display:-webkit-box;display:-ms-flexbox;display:flex}.d-lg-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.d-lg-none{display:none}.flex-lg-fill{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.flex-lg-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.flex-lg-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.flex-lg-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-lg-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.flex-lg-grow-0{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.flex-lg-grow-1{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.flex-lg-shrink-0{-ms-flex-negative:0;flex-shrink:0}.flex-lg-shrink-1{-ms-flex-negative:1;flex-shrink:1}.flex-lg-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-lg-nowrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.justify-content-lg-start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.justify-content-lg-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.justify-content-lg-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.justify-content-lg-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.justify-content-lg-around{-ms-flex-pack:distribute;justify-content:space-around}.justify-content-lg-evenly{-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly}.align-items-lg-start{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.align-items-lg-end{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.align-items-lg-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.align-items-lg-baseline{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.align-items-lg-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.align-content-lg-start{-ms-flex-line-pack:start;align-content:flex-start}.align-content-lg-end{-ms-flex-line-pack:end;align-content:flex-end}.align-content-lg-center{-ms-flex-line-pack:center;align-content:center}.align-content-lg-between{-ms-flex-line-pack:justify;align-content:space-between}.align-content-lg-around{-ms-flex-line-pack:distribute;align-content:space-around}.align-content-lg-stretch{-ms-flex-line-pack:stretch;align-content:stretch}.align-self-lg-auto{-ms-flex-item-align:auto;align-self:auto}.align-self-lg-start{-ms-flex-item-align:start;align-self:flex-start}.align-self-lg-end{-ms-flex-item-align:end;align-self:flex-end}.align-self-lg-center{-ms-flex-item-align:center;align-self:center}.align-self-lg-baseline{-ms-flex-item-align:baseline;align-self:baseline}.align-self-lg-stretch{-ms-flex-item-align:stretch;align-self:stretch}.order-lg-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-lg-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-lg-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-lg-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-lg-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-lg-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-lg-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-lg-last{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.m-lg-0{margin:0}.m-lg-1{margin:.25rem}.m-lg-2{margin:.5rem}.m-lg-3{margin:1rem}.m-lg-4{margin:1.5rem}.m-lg-5{margin:3rem}.m-lg-auto{margin:auto}.mx-lg-0{margin-right:0;margin-left:0}.mx-lg-1{margin-right:.25rem;margin-left:.25rem}.mx-lg-2{margin-right:.5rem;margin-left:.5rem}.mx-lg-3{margin-right:1rem;margin-left:1rem}.mx-lg-4{margin-right:1.5rem;margin-left:1.5rem}.mx-lg-5{margin-right:3rem;margin-left:3rem}.mx-lg-auto{margin-right:auto;margin-left:auto}.my-lg-0{margin-top:0;margin-bottom:0}.my-lg-1{margin-top:.25rem;margin-bottom:.25rem}.my-lg-2{margin-top:.5rem;margin-bottom:.5rem}.my-lg-3{margin-top:1rem;margin-bottom:1rem}.my-lg-4{margin-top:1.5rem;margin-bottom:1.5rem}.my-lg-5{margin-top:3rem;margin-bottom:3rem}.my-lg-auto{margin-top:auto;margin-bottom:auto}.mt-lg-0{margin-top:0}.mt-lg-1{margin-top:.25rem}.mt-lg-2{margin-top:.5rem}.mt-lg-3{margin-top:1rem}.mt-lg-4{margin-top:1.5rem}.mt-lg-5{margin-top:3rem}.mt-lg-auto{margin-top:auto}.me-lg-0{margin-right:0}.me-lg-1{margin-right:.25rem}.me-lg-2{margin-right:.5rem}.me-lg-3{margin-right:1rem}.me-lg-4{margin-right:1.5rem}.me-lg-5{margin-right:3rem}.me-lg-auto{margin-right:auto}.mb-lg-0{margin-bottom:0}.mb-lg-1{margin-bottom:.25rem}.mb-lg-2{margin-bottom:.5rem}.mb-lg-3{margin-bottom:1rem}.mb-lg-4{margin-bottom:1.5rem}.mb-lg-5{margin-bottom:3rem}.mb-lg-auto{margin-bottom:auto}.ms-lg-0{margin-left:0}.ms-lg-1{margin-left:.25rem}.ms-lg-2{margin-left:.5rem}.ms-lg-3{margin-left:1rem}.ms-lg-4{margin-left:1.5rem}.ms-lg-5{margin-left:3rem}.ms-lg-auto{margin-left:auto}.p-lg-0{padding:0}.p-lg-1{padding:.25rem}.p-lg-2{padding:.5rem}.p-lg-3{padding:1rem}.p-lg-4{padding:1.5rem}.p-lg-5{padding:3rem}.px-lg-0{padding-right:0;padding-left:0}.px-lg-1{padding-right:.25rem;padding-left:.25rem}.px-lg-2{padding-right:.5rem;padding-left:.5rem}.px-lg-3{padding-right:1rem;padding-left:1rem}.px-lg-4{padding-right:1.5rem;padding-left:1.5rem}.px-lg-5{padding-right:3rem;padding-left:3rem}.py-lg-0{padding-top:0;padding-bottom:0}.py-lg-1{padding-top:.25rem;padding-bottom:.25rem}.py-lg-2{padding-top:.5rem;padding-bottom:.5rem}.py-lg-3{padding-top:1rem;padding-bottom:1rem}.py-lg-4{padding-top:1.5rem;padding-bottom:1.5rem}.py-lg-5{padding-top:3rem;padding-bottom:3rem}.pt-lg-0{padding-top:0}.pt-lg-1{padding-top:.25rem}.pt-lg-2{padding-top:.5rem}.pt-lg-3{padding-top:1rem}.pt-lg-4{padding-top:1.5rem}.pt-lg-5{padding-top:3rem}.pe-lg-0{padding-right:0}.pe-lg-1{padding-right:.25rem}.pe-lg-2{padding-right:.5rem}.pe-lg-3{padding-right:1rem}.pe-lg-4{padding-right:1.5rem}.pe-lg-5{padding-right:3rem}.pb-lg-0{padding-bottom:0}.pb-lg-1{padding-bottom:.25rem}.pb-lg-2{padding-bottom:.5rem}.pb-lg-3{padding-bottom:1rem}.pb-lg-4{padding-bottom:1.5rem}.pb-lg-5{padding-bottom:3rem}.ps-lg-0{padding-left:0}.ps-lg-1{padding-left:.25rem}.ps-lg-2{padding-left:.5rem}.ps-lg-3{padding-left:1rem}.ps-lg-4{padding-left:1.5rem}.ps-lg-5{padding-left:3rem}.gap-lg-0{gap:0}.gap-lg-1{gap:.25rem}.gap-lg-2{gap:.5rem}.gap-lg-3{gap:1rem}.gap-lg-4{gap:1.5rem}.gap-lg-5{gap:3rem}.text-lg-start{text-align:left}.text-lg-end{text-align:right}.text-lg-center{text-align:center}}@media (min-width:1200px){.float-xl-start{float:left}.float-xl-end{float:right}.float-xl-none{float:none}.d-xl-inline{display:inline}.d-xl-inline-block{display:inline-block}.d-xl-block{display:block}.d-xl-grid{display:grid}.d-xl-table{display:table}.d-xl-table-row{display:table-row}.d-xl-table-cell{display:table-cell}.d-xl-flex{display:-webkit-box;display:-ms-flexbox;display:flex}.d-xl-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.d-xl-none{display:none}.flex-xl-fill{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.flex-xl-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.flex-xl-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.flex-xl-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-xl-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.flex-xl-grow-0{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.flex-xl-grow-1{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.flex-xl-shrink-0{-ms-flex-negative:0;flex-shrink:0}.flex-xl-shrink-1{-ms-flex-negative:1;flex-shrink:1}.flex-xl-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-xl-nowrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.justify-content-xl-start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.justify-content-xl-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.justify-content-xl-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.justify-content-xl-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.justify-content-xl-around{-ms-flex-pack:distribute;justify-content:space-around}.justify-content-xl-evenly{-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly}.align-items-xl-start{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.align-items-xl-end{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.align-items-xl-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.align-items-xl-baseline{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.align-items-xl-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.align-content-xl-start{-ms-flex-line-pack:start;align-content:flex-start}.align-content-xl-end{-ms-flex-line-pack:end;align-content:flex-end}.align-content-xl-center{-ms-flex-line-pack:center;align-content:center}.align-content-xl-between{-ms-flex-line-pack:justify;align-content:space-between}.align-content-xl-around{-ms-flex-line-pack:distribute;align-content:space-around}.align-content-xl-stretch{-ms-flex-line-pack:stretch;align-content:stretch}.align-self-xl-auto{-ms-flex-item-align:auto;align-self:auto}.align-self-xl-start{-ms-flex-item-align:start;align-self:flex-start}.align-self-xl-end{-ms-flex-item-align:end;align-self:flex-end}.align-self-xl-center{-ms-flex-item-align:center;align-self:center}.align-self-xl-baseline{-ms-flex-item-align:baseline;align-self:baseline}.align-self-xl-stretch{-ms-flex-item-align:stretch;align-self:stretch}.order-xl-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-xl-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-xl-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-xl-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-xl-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-xl-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-xl-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-xl-last{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.m-xl-0{margin:0}.m-xl-1{margin:.25rem}.m-xl-2{margin:.5rem}.m-xl-3{margin:1rem}.m-xl-4{margin:1.5rem}.m-xl-5{margin:3rem}.m-xl-auto{margin:auto}.mx-xl-0{margin-right:0;margin-left:0}.mx-xl-1{margin-right:.25rem;margin-left:.25rem}.mx-xl-2{margin-right:.5rem;margin-left:.5rem}.mx-xl-3{margin-right:1rem;margin-left:1rem}.mx-xl-4{margin-right:1.5rem;margin-left:1.5rem}.mx-xl-5{margin-right:3rem;margin-left:3rem}.mx-xl-auto{margin-right:auto;margin-left:auto}.my-xl-0{margin-top:0;margin-bottom:0}.my-xl-1{margin-top:.25rem;margin-bottom:.25rem}.my-xl-2{margin-top:.5rem;margin-bottom:.5rem}.my-xl-3{margin-top:1rem;margin-bottom:1rem}.my-xl-4{margin-top:1.5rem;margin-bottom:1.5rem}.my-xl-5{margin-top:3rem;margin-bottom:3rem}.my-xl-auto{margin-top:auto;margin-bottom:auto}.mt-xl-0{margin-top:0}.mt-xl-1{margin-top:.25rem}.mt-xl-2{margin-top:.5rem}.mt-xl-3{margin-top:1rem}.mt-xl-4{margin-top:1.5rem}.mt-xl-5{margin-top:3rem}.mt-xl-auto{margin-top:auto}.me-xl-0{margin-right:0}.me-xl-1{margin-right:.25rem}.me-xl-2{margin-right:.5rem}.me-xl-3{margin-right:1rem}.me-xl-4{margin-right:1.5rem}.me-xl-5{margin-right:3rem}.me-xl-auto{margin-right:auto}.mb-xl-0{margin-bottom:0}.mb-xl-1{margin-bottom:.25rem}.mb-xl-2{margin-bottom:.5rem}.mb-xl-3{margin-bottom:1rem}.mb-xl-4{margin-bottom:1.5rem}.mb-xl-5{margin-bottom:3rem}.mb-xl-auto{margin-bottom:auto}.ms-xl-0{margin-left:0}.ms-xl-1{margin-left:.25rem}.ms-xl-2{margin-left:.5rem}.ms-xl-3{margin-left:1rem}.ms-xl-4{margin-left:1.5rem}.ms-xl-5{margin-left:3rem}.ms-xl-auto{margin-left:auto}.p-xl-0{padding:0}.p-xl-1{padding:.25rem}.p-xl-2{padding:.5rem}.p-xl-3{padding:1rem}.p-xl-4{padding:1.5rem}.p-xl-5{padding:3rem}.px-xl-0{padding-right:0;padding-left:0}.px-xl-1{padding-right:.25rem;padding-left:.25rem}.px-xl-2{padding-right:.5rem;padding-left:.5rem}.px-xl-3{padding-right:1rem;padding-left:1rem}.px-xl-4{padding-right:1.5rem;padding-left:1.5rem}.px-xl-5{padding-right:3rem;padding-left:3rem}.py-xl-0{padding-top:0;padding-bottom:0}.py-xl-1{padding-top:.25rem;padding-bottom:.25rem}.py-xl-2{padding-top:.5rem;padding-bottom:.5rem}.py-xl-3{padding-top:1rem;padding-bottom:1rem}.py-xl-4{padding-top:1.5rem;padding-bottom:1.5rem}.py-xl-5{padding-top:3rem;padding-bottom:3rem}.pt-xl-0{padding-top:0}.pt-xl-1{padding-top:.25rem}.pt-xl-2{padding-top:.5rem}.pt-xl-3{padding-top:1rem}.pt-xl-4{padding-top:1.5rem}.pt-xl-5{padding-top:3rem}.pe-xl-0{padding-right:0}.pe-xl-1{padding-right:.25rem}.pe-xl-2{padding-right:.5rem}.pe-xl-3{padding-right:1rem}.pe-xl-4{padding-right:1.5rem}.pe-xl-5{padding-right:3rem}.pb-xl-0{padding-bottom:0}.pb-xl-1{padding-bottom:.25rem}.pb-xl-2{padding-bottom:.5rem}.pb-xl-3{padding-bottom:1rem}.pb-xl-4{padding-bottom:1.5rem}.pb-xl-5{padding-bottom:3rem}.ps-xl-0{padding-left:0}.ps-xl-1{padding-left:.25rem}.ps-xl-2{padding-left:.5rem}.ps-xl-3{padding-left:1rem}.ps-xl-4{padding-left:1.5rem}.ps-xl-5{padding-left:3rem}.gap-xl-0{gap:0}.gap-xl-1{gap:.25rem}.gap-xl-2{gap:.5rem}.gap-xl-3{gap:1rem}.gap-xl-4{gap:1.5rem}.gap-xl-5{gap:3rem}.text-xl-start{text-align:left}.text-xl-end{text-align:right}.text-xl-center{text-align:center}.fs-1{font-size:2.5rem}.fs-2{font-size:2rem}.fs-3{font-size:1.75rem}.fs-4{font-size:1.5rem}}@media (min-width:1400px){.float-xxl-start{float:left}.float-xxl-end{float:right}.float-xxl-none{float:none}.d-xxl-inline{display:inline}.d-xxl-inline-block{display:inline-block}.d-xxl-block{display:block}.d-xxl-grid{display:grid}.d-xxl-table{display:table}.d-xxl-table-row{display:table-row}.d-xxl-table-cell{display:table-cell}.d-xxl-flex{display:-webkit-box;display:-ms-flexbox;display:flex}.d-xxl-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.d-xxl-none{display:none}.flex-xxl-fill{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.flex-xxl-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.flex-xxl-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.flex-xxl-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-xxl-column-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.flex-xxl-grow-0{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.flex-xxl-grow-1{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.flex-xxl-shrink-0{-ms-flex-negative:0;flex-shrink:0}.flex-xxl-shrink-1{-ms-flex-negative:1;flex-shrink:1}.flex-xxl-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-xxl-nowrap{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.flex-xxl-wrap-reverse{-ms-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}.justify-content-xxl-start{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.justify-content-xxl-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.justify-content-xxl-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.justify-content-xxl-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.justify-content-xxl-around{-ms-flex-pack:distribute;justify-content:space-around}.justify-content-xxl-evenly{-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly}.align-items-xxl-start{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.align-items-xxl-end{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.align-items-xxl-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.align-items-xxl-baseline{-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.align-items-xxl-stretch{-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.align-content-xxl-start{-ms-flex-line-pack:start;align-content:flex-start}.align-content-xxl-end{-ms-flex-line-pack:end;align-content:flex-end}.align-content-xxl-center{-ms-flex-line-pack:center;align-content:center}.align-content-xxl-between{-ms-flex-line-pack:justify;align-content:space-between}.align-content-xxl-around{-ms-flex-line-pack:distribute;align-content:space-around}.align-content-xxl-stretch{-ms-flex-line-pack:stretch;align-content:stretch}.align-self-xxl-auto{-ms-flex-item-align:auto;align-self:auto}.align-self-xxl-start{-ms-flex-item-align:start;align-self:flex-start}.align-self-xxl-end{-ms-flex-item-align:end;align-self:flex-end}.align-self-xxl-center{-ms-flex-item-align:center;align-self:center}.align-self-xxl-baseline{-ms-flex-item-align:baseline;align-self:baseline}.align-self-xxl-stretch{-ms-flex-item-align:stretch;align-self:stretch}.order-xxl-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-xxl-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-xxl-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-xxl-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-xxl-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-xxl-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-xxl-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-xxl-last{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.m-xxl-0{margin:0}.m-xxl-1{margin:.25rem}.m-xxl-2{margin:.5rem}.m-xxl-3{margin:1rem}.m-xxl-4{margin:1.5rem}.m-xxl-5{margin:3rem}.m-xxl-auto{margin:auto}.mx-xxl-0{margin-right:0;margin-left:0}.mx-xxl-1{margin-right:.25rem;margin-left:.25rem}.mx-xxl-2{margin-right:.5rem;margin-left:.5rem}.mx-xxl-3{margin-right:1rem;margin-left:1rem}.mx-xxl-4{margin-right:1.5rem;margin-left:1.5rem}.mx-xxl-5{margin-right:3rem;margin-left:3rem}.mx-xxl-auto{margin-right:auto;margin-left:auto}.my-xxl-0{margin-top:0;margin-bottom:0}.my-xxl-1{margin-top:.25rem;margin-bottom:.25rem}.my-xxl-2{margin-top:.5rem;margin-bottom:.5rem}.my-xxl-3{margin-top:1rem;margin-bottom:1rem}.my-xxl-4{margin-top:1.5rem;margin-bottom:1.5rem}.my-xxl-5{margin-top:3rem;margin-bottom:3rem}.my-xxl-auto{margin-top:auto;margin-bottom:auto}.mt-xxl-0{margin-top:0}.mt-xxl-1{margin-top:.25rem}.mt-xxl-2{margin-top:.5rem}.mt-xxl-3{margin-top:1rem}.mt-xxl-4{margin-top:1.5rem}.mt-xxl-5{margin-top:3rem}.mt-xxl-auto{margin-top:auto}.me-xxl-0{margin-right:0}.me-xxl-1{margin-right:.25rem}.me-xxl-2{margin-right:.5rem}.me-xxl-3{margin-right:1rem}.me-xxl-4{margin-right:1.5rem}.me-xxl-5{margin-right:3rem}.me-xxl-auto{margin-right:auto}.mb-xxl-0{margin-bottom:0}.mb-xxl-1{margin-bottom:.25rem}.mb-xxl-2{margin-bottom:.5rem}.mb-xxl-3{margin-bottom:1rem}.mb-xxl-4{margin-bottom:1.5rem}.mb-xxl-5{margin-bottom:3rem}.mb-xxl-auto{margin-bottom:auto}.ms-xxl-0{margin-left:0}.ms-xxl-1{margin-left:.25rem}.ms-xxl-2{margin-left:.5rem}.ms-xxl-3{margin-left:1rem}.ms-xxl-4{margin-left:1.5rem}.ms-xxl-5{margin-left:3rem}.ms-xxl-auto{margin-left:auto}.p-xxl-0{padding:0}.p-xxl-1{padding:.25rem}.p-xxl-2{padding:.5rem}.p-xxl-3{padding:1rem}.p-xxl-4{padding:1.5rem}.p-xxl-5{padding:3rem}.px-xxl-0{padding-right:0;padding-left:0}.px-xxl-1{padding-right:.25rem;padding-left:.25rem}.px-xxl-2{padding-right:.5rem;padding-left:.5rem}.px-xxl-3{padding-right:1rem;padding-left:1rem}.px-xxl-4{padding-right:1.5rem;padding-left:1.5rem}.px-xxl-5{padding-right:3rem;padding-left:3rem}.py-xxl-0{padding-top:0;padding-bottom:0}.py-xxl-1{padding-top:.25rem;padding-bottom:.25rem}.py-xxl-2{padding-top:.5rem;padding-bottom:.5rem}.py-xxl-3{padding-top:1rem;padding-bottom:1rem}.py-xxl-4{padding-top:1.5rem;padding-bottom:1.5rem}.py-xxl-5{padding-top:3rem;padding-bottom:3rem}.pt-xxl-0{padding-top:0}.pt-xxl-1{padding-top:.25rem}.pt-xxl-2{padding-top:.5rem}.pt-xxl-3{padding-top:1rem}.pt-xxl-4{padding-top:1.5rem}.pt-xxl-5{padding-top:3rem}.pe-xxl-0{padding-right:0}.pe-xxl-1{padding-right:.25rem}.pe-xxl-2{padding-right:.5rem}.pe-xxl-3{padding-right:1rem}.pe-xxl-4{padding-right:1.5rem}.pe-xxl-5{padding-right:3rem}.pb-xxl-0{padding-bottom:0}.pb-xxl-1{padding-bottom:.25rem}.pb-xxl-2{padding-bottom:.5rem}.pb-xxl-3{padding-bottom:1rem}.pb-xxl-4{padding-bottom:1.5rem}.pb-xxl-5{padding-bottom:3rem}.ps-xxl-0{padding-left:0}.ps-xxl-1{padding-left:.25rem}.ps-xxl-2{padding-left:.5rem}.ps-xxl-3{padding-left:1rem}.ps-xxl-4{padding-left:1.5rem}.ps-xxl-5{padding-left:3rem}.gap-xxl-0{gap:0}.gap-xxl-1{gap:.25rem}.gap-xxl-2{gap:.5rem}.gap-xxl-3{gap:1rem}.gap-xxl-4{gap:1.5rem}.gap-xxl-5{gap:3rem}.text-xxl-start{text-align:left}.text-xxl-end{text-align:right}.text-xxl-center{text-align:center}}@media print{.d-print-inline{display:inline}.d-print-inline-block{display:inline-block}.d-print-block{display:block}.d-print-grid{display:grid}.d-print-table{display:table}.d-print-table-row{display:table-row}.d-print-table-cell{display:table-cell}.d-print-flex{display:-webkit-box;display:-ms-flexbox;display:flex}.d-print-inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.d-print-none{display:none}}.minicolors-theme-bootstrap .minicolors-swatch{width:36px;height:36px}.minicolors-theme-bootstrap .minicolors-swatch>.minicolors-sprite{top:50%;left:8px;border-radius:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}span.minicolors-swatch-color{cursor:pointer}:root{scroll-behavior:smooth;--template-sidebar-bg:var(--template-bg-dark-80);--template-sidebar-font-color:var(--body-color);--template-sidebar-link-color:var(--body-color);--template-bg-light:#f0f4fb;--template-text-light:var(--body-color);--template-special-color:#132f53;--template-link-color:#2a69b8;--template-link-active-color:#173a65;--template-contrast:#2a69b8;--template-bg-dark:hsl(var(--hue), 40%, 20%);--template-bg-dark-3:hsl(var(--hue), 40%, 97%);--template-bg-dark-5:hsl(var(--hue), 40%, 95%);--template-bg-dark-7:hsl(var(--hue), 40%, 93%);--template-bg-dark-10:hsl(var(--hue), 40%, 90%);--template-bg-dark-15:hsl(var(--hue), 40%, 85%);--template-bg-dark-20:hsl(var(--hue), 40%, 80%);--template-bg-dark-30:hsl(var(--hue), 40%, 70%);--template-bg-dark-40:hsl(var(--hue), 40%, 60%);--template-bg-dark-50:hsl(var(--hue), 40%, 50%);--template-bg-dark-60:hsl(var(--hue), 40%, 40%);--template-bg-dark-65:hsl(var(--hue), 40%, 35%);--template-bg-dark-70:hsl(var(--hue), 40%, 30%);--template-bg-dark-75:hsl(var(--hue), 40%, 25%);--template-bg-dark-80:hsl(var(--hue), 40%, 20%);--template-bg-dark-90:hsl(var(--hue), 40%, 10%)}@media screen and (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}html{background-color:var(--body-bg)}img{max-width:100%;height:auto}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:var(--font-family-headings, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-weight:var(--font-weight-headings,700)}.display-1{font-size:clamp(2.7rem, 8vw, 5.5rem)}.display-2{font-size:clamp(2.3rem, 7vw, 4.5rem)}.display-3{font-size:clamp(1.9rem, 6vw, 3.5rem)}.display-4{font-size:clamp(1.5rem, 5vw, 2.5rem)}.lead{font-size:clamp(1.1rem, 3vw, 1.25rem)}a:not([class]){text-decoration:underline}a:active,a:focus{color:var(--color-active)}a.navbar-brand{color:var(--color-brand)}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);--bs-btn-bg:#333;--bs-btn-border-color:#333;--bs-btn-hover-bg:#555;--bs-btn-hover-border-color:#555;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-bg:#555;--bs-btn-active-border-color:#555;--bs-btn-disabled-bg:#A0A0A0;--bs-btn-disabled-border-color:#A0A0A0;--btn-color:white;--btn-bg:var(--color-primary);--btn-border-color:var(--color-primary);--btn-hover-bg:color-mix(in srgb, var(--color-primary) 85%, black);--btn-hover-border-color:color-mix(in srgb, var(--color-primary) 85%, black)}.btn-primary:active,.btn-primary:focus{background-color:var(--color-active);border-color:var(--color-active)}.btn-group{margin-bottom:1em}.btn-group>input{padding:.5em;border:1px solid #cdd3d9;border-radius:.25rem 0 0 .25rem}.btn-group>.btn-group{margin-bottom:0}.com-content-article ol,.com-content-article ul{overflow:hidden}.com-content-category__pagination{margin-bottom:1em}.small,small{font-size:.875rem}dd{margin-bottom:.5rem;margin-left:0;padding:0;word-wrap:break-word}th dd{font-weight:var(--font-weight-normal,400)}.com-contact__thumbnail{text-align:left;margin:2em;padding:1rem}[data-bs-theme=dark] .com-contact__thumbnail{background-color:var(--nav-text-color)}@media (min-width:1200px){dl.dl-horizontal{display:grid;grid-template-columns:auto 1fr}dl.dl-horizontal dt{grid-column-start:1;grid-column-end:2}dl.dl-horizontal dd{grid-column-start:2;grid-column-end:3;padding:0 0 0 1em;margin-bottom:0}.com-contact__container{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,auto);grid-gap:1rem;margin-bottom:1em}.com-contact__container .h3,.com-contact__container h3{grid-column:1/5}.com-contact__container .com-contact__thumbnail{grid-column:1/5;grid-row:2/5;text-align:right}.com-contact__container .com-contact__position{grid-column:1/3;grid-row:2/3}.com-contact__container .com-contact__info{grid-column:1/3;grid-row:3/4}.com-users-profile dt{min-width:180px}}figure{margin:0 0 2em}figure.float-start{margin-right:1em}figure.float-end{margin-left:1em}figcaption{font-size:.9em;color:#6d757d}.mod-menu{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}meter{width:100%}.pagenavigation,.pager{clear:both}.pagenavigation .pagination,.pager .pagination{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0;margin:1em 0}.pagenavigation .pagination .next:only-child,.pager .pagination .next:only-child{margin-left:auto}.page-link,.page-link:active{color:var(--color-link)}.pager .pagination{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}[dir=rtl] li.next .page-link{border-radius:.25rem 0 0 .25rem}[dir=rtl] li.previous .page-link{border-radius:0 .25rem .25rem 0}.j-main-container .alert{margin:.75rem}.alert-heading{font-size:1.5rem}@-webkit-keyframes fadeIn{from{opacity:0;-webkit-transform:translateY(-1rem);transform:translateY(-1rem)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeIn{from{opacity:0;-webkit-transform:translateY(-1rem);transform:translateY(-1rem)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.back-to-top-link{position:absolute;inset-inline-end:1rem;bottom:1rem;z-index:10000;padding:.5em;color:var(--color-primary,#102755);pointer-events:all;background-color:var(--white,var(--body-color));border:1px solid var(--color-primary,#102755);border-radius:.25rem;opacity:0;-webkit-transition:opacity .2s ease-in;-o-transition:opacity .2s ease-in;transition:opacity .2s ease-in}.back-to-top-link.visible{opacity:1}.back-to-top-link:active,.back-to-top-link:focus{color:var(--white,var(--body-color));background-color:var(--color-active);border-color:var(--white,var(--body-color))}.container-banner img{display:block;margin:auto}.container-banner .banner-overlay{height:var(--hero-height,70vh);color:var(--hero-color,var(--body-color));background-repeat:var(--hero-bg-repeat,no-repeat);background-attachment:var(--hero-bg-attachment,fixed);background-position:var(--hero-bg-position,top center);background-size:var(--hero-bg-size,cover);border-bottom:var(--hero-border-bottom,solid var(--accent-color-secondary))}.container-banner .banner-overlay .overlay{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:100%;padding:var(--hero-overlay-padding,1em);text-align:var(--hero-overlay-text-align,center);color:var(--hero-overlay-text-color,var(--body-color));background-color:var(--hero-overlay-bg,hsla(0,0%,0%,.5))}.container-banner .banner-overlay .overlay .text-thin{font-weight:lighter}.container-banner .banner-overlay .overlay .text-thin::after{display:block;width:30%;height:4px;margin:1rem auto 2rem;content:"";background:var(--body-color)}.container-banner .banner-overlay .overlay .text-thin .lead{font-size:150vh}@media screen and (max-height:740px){.container-banner .banner-overlay{height:100vh}}.footer{margin-top:1em;color:var(--body-color);background:var(--color-primary)}.footer .grid-child{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:2.5rem .5em}.footer a{color:currentColor}.footer .mod-menu{position:relative}.footer .metismenu.mod-menu .mm-collapse{background:var(--color-primary)}.form-control{max-width:100%}.form-control.input-xlarge{max-width:21.875rem}.form-control.input-xxlarge{max-width:34.375rem}.form-control.input-full{max-width:100%}.spacer hr{width:23.75rem}.form-inline .custom-select,.form-inline .form-select{display:inline-block;width:auto}@media (max-width:991.98px){.footer .grid-child{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.footer .grid-child .mod-footer{margin:.375rem 0}.form-inline .custom-select,.form-inline .form-select{width:100%}.container-header{position:relative}}td .form-control{display:inline-block;width:auto}.checkboxes{padding-top:.3125rem}.checkboxes .checkbox input{position:static;margin-left:0}.modal label{width:100%}.invalid{color:#a51e17;border-color:#a51e17}.valid{border-color:#438343}.form-control-feedback{display:block}[role=tooltip]:not(.show){right:5em;z-index:1070;display:none;max-width:100%;padding:.5em;margin:.5em;color:#000;text-align:start;background:var(--body-color);border:1px solid #6d757d;border-radius:.25rem;-webkit-box-shadow:0 0 .5rem rgba(0,0,0,.8);box-shadow:0 0 .5rem rgba(0,0,0,.8)}[role=tooltip]:not(.show)[id^=editarticle-],[role=tooltip]:not(.show)[id^=editcontact-]{right:auto;-webkit-margin-start:-10em;margin-inline-start:-10em}[role=tooltip]:not(.show)[id^=cbunpublish],[role=tooltip]:not(.show)[id^=id-skip-]{right:auto}:active+[role=tooltip],:focus+[role=tooltip]{position:absolute;display:block}.filter-search-bar__description{bottom:100%}fieldset+fieldset{margin-top:2em}fieldset>*{margin-bottom:0}.control-group{margin:1em 0}.container-popup .filter-search-bar__description{top:100%;bottom:auto}.com-users-login__options{margin-top:2em}.com-users-logout__submit button{width:100%}.com-users-profile__edit #jform_privacyconsent_privacy .radio,.com-users-profile__edit #jform_profile_tos .radio,.com-users-profile__edit #jform_terms_terms .radio,.com-users-registration #jform_privacyconsent_privacy .radio,.com-users-registration #jform_profile_tos .radio,.com-users-registration #jform_terms_terms .radio{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;gap:1rem}.btn.jmodedit{position:absolute;top:0;right:0;left:auto;z-index:900;color:var(--color-link);background-color:rgba(255,255,255,.5);border:1px solid #58595a;border-radius:.25rem}.container-header{position:relative;z-index:100;background:var(--header-background-image);background-size:var(--header-background-size);-webkit-box-shadow:0 5px 5px hsla(0,0%,0%,.03) inset;box-shadow:0 5px 5px hsla(0,0%,0%,.03) inset;background-repeat:var(--header-background-repeat)}.container-header .grid-child{padding:var(--padding-x) var(--padding-y)}.container-header nav{padding:0 2rem}.container-header .site-description{font-size:1rem;color:var(--body-color);white-space:normal}.header-brand-wrap{display:flex;align-items:center;width:100%}.container-brand-aside{margin-inline-start:auto;display:flex;align-items:center}.container-header .navbar-brand{position:relative;display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;font-size:2rem;color:var(--nav-text-color);-webkit-margin-end:auto;margin-inline-end:auto}.container-header .navbar-brand a{color:var(--nav-text-color)}.navbar-brand img{max-width:250px;max-height:100px;width:auto;height:auto}.container-header .navbar-brand:active,.container-header .navbar-brand:focus{color:var(--nav-text-color)}.container-header .container-nav{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;background-color:var(--nav-bg-color);border-width:var(--border-width);border-top:solid var(--accent-color-primary);border-bottom:solid var(--accent-color-secondary);border-left:none;border-right:none}.container-header .container-nav .container-search:only-child{margin-left:auto}.container-header .navbar-collapse.show{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.container-header .mod-menu{-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%;padding:0;margin:0;color:var(--mainmenu-nav-link-color);list-style:none;font-size:1.2em}.container-header .mod-menu>li{position:relative}li.active a,li.current a{font-weight:700}.container-header .mod-menu>li>a,.container-header .mod-menu>li>span{position:relative;color:var(--mainmenu-nav-link-color);text-decoration:none}@media (min-width:992px){.container-header .mod-menu{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 1 0%;flex:1 1 0%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.container-header .mod-menu>li+li{margin-left:1.55em}.container-header .metismenu>li>a::after,.container-header .metismenu>li>button::before,.container-header .mod-menu>li::after{position:absolute;right:50%;bottom:0;left:50%;display:block;height:2px;margin:auto;content:"";background:0 0;opacity:.2;-webkit-transition:.2s,background-color .2s;-o-transition:.2s,background-color .2s;transition:.2s,background-color .2s}}.container-header .mod-menu>li.active::after,.container-header .mod-menu>li:active::after{right:2px;left:0;background:var(--navbar-brand-color)}.container-header .mod-menu .parent>ul{display:none;color:#22262a}.container-header .metismenu>li+li{margin-left:0}.container-header .metismenu>li.active>a::after,.container-header .metismenu>li.active>button::before,.container-header .metismenu>li>a:active::after,.container-header .metismenu>li>button:active::before{right:0;left:0;background:var(--navbar-color)}.container-header .metismenu>li.active>button.mm-toggler-link::before,.container-header .metismenu>li>button.mm-toggler-link:active::before{right:0;left:.5em}.container-header .metismenu>li.level-1>ul{min-width:12rem}.container-header .navbar-toggler{color:var(--body-color);cursor:pointer}.container-header .container-search{margin-top:.75em}.container-header .mod-finder{color:var(--body-color);margin-block-end:0}.container-header .mod-finder a{color:var(--body-color)}.container-header .mod-finder a:active,.container-header .mod-finder a:focus{color:var(--mod-finder-link-hover)}.container-header .mod-finder .awesomplete{color:var(--body-color)}.container-header .mod-finder .awesomplete>ul{background:-webkit-gradient(linear,left top,right bottom,from(var(--body-color)),to(hsla(0,0%,100%,.9)));background:-o-linear-gradient(top left,var(--body-color),hsla(0,0%,100%,.9));background:linear-gradient(to bottom right,var(--body-color),hsla(0,0%,100%,.9))}.icon-white{color:var(--body-bg)}.input-group-text::before{min-width:16px}.tbody-icon{padding:0 .1875rem;text-align:center;background-color:transparent;border:0}.tbody-icon [class*=" fa-"],.tbody-icon [class*=" icon-"],.tbody-icon [class^=fa-],.tbody-icon [class^=icon-]{width:26px;height:26px;font-size:1.1rem;line-height:22px;color:#cdd3d9;border:0}.tbody-icon .fa-check,.tbody-icon .icon-check,.tbody-icon .icon-publish{color:#438343;border-color:#438343}.tbody-icon .fa-lock,.tbody-icon .icon-checkedout,.tbody-icon .icon-lock{width:auto;height:auto;font-size:1.2rem;line-height:1rem;color:#474f56;border:0}.tbody-icon.color-featured-disabled,.tbody-icon.fa-star-disabled,.tbody-icon.featured-disabled,.tbody-icon.home-disabled,.tbody-icon.icon-star-disabled{cursor:not-allowed;opacity:1}.tbody-icon .fa-delete,.tbody-icon .fa-times,.tbody-icon .icon-delete,.tbody-icon .icon-times{color:#a51e17;border-color:#a51e17}.plg_system_webauthn_login_button svg{-webkit-margin-end:.125rem;margin-inline-end:.125rem;max-height:25px;width:auto}.plg_system_webauthn_login_button svg path{fill:var(--black)}iframe{border:0}.modal iframe{width:100%}.grid-child{display:-webkit-box;display:-ms-flexbox;display:flex;margin-right:auto;margin-left:auto}.mod-custom{position:relative}.hero-overlay{position:relative;overflow:hidden;isolation:isolate}.hero-overlay::before{content:"";position:absolute;inset:0;z-index:-2;background-position:center;background-size:cover;background-repeat:no-repeat;transform:scale(1.02)}.hero-overlay::after{content:"";position:absolute;inset:0;z-index:-1;-webkit-backdrop-filter:blur(8px) saturate(0.9) brightness(1.12);backdrop-filter:blur(8px) saturate(0.9) brightness(1.12);-webkit-mask-image:radial-gradient(circle at 50% 45%,rgba(0,0,0,1) 0%,rgba(0,0,0,1) 38%,rgba(0,0,0,0) 72%);mask-image:radial-gradient(circle at 50% 45%,rgba(0,0,0,1) 0%,rgba(0,0,0,1) 38%,rgba(0,0,0,0) 72%);pointer-events:none}.hero-overlay .overlay{position:relative;z-index:0;border-top:var(--border-width) var(--border-style) var(--accent-color-primary);border-bottom:var(--border-width) var(--border-style) var(--accent-color-secondary);background-color:rgba(111,117,123,.55);background-image:linear-gradient(180deg,rgba(255,255,255,.12),rgba(0,0,0,.18))}.container-topbar{color:var(--body-color);background-color:var(--color-primary)}.container-topbar a{color:var(--body-color)}.container-banner{display:block;margin:0;grid-area:banner}.container-bottom-a,.container-bottom-b,.container-top-a,.container-top-b{position:relative}.container-bottom-a>*,.container-bottom-b>*,.container-top-a>*,.container-top-b>*{-webkit-box-flex:1;-ms-flex:1;flex:1;margin:.5em 0}@media (max-width:991.98px){.container-header .mod-menu>li.active>a,.container-header .mod-menu>li.active>span,.container-header .mod-menu>li>a:active{text-decoration:underline}.container-bottom-a,.container-bottom-b,.container-top-a,.container-top-b{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.container-bottom-a>*,.container-bottom-b>*,.container-top-a>*,.container-top-b>*{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}}.container-component nav{position:relative}.container-component,.container-sidebar-left,.container-sidebar-right{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.container-component>*,.container-sidebar-left>*,.container-sidebar-right>*{margin-bottom:0}.container-component,.sidebar-left,.sidebar-right{height:100%}.container-component>*+*,.container-component>:first-child,.container-sidebar-left>*+*,.container-sidebar-left>:first-child,.container-sidebar-right>*+*,.container-sidebar-right>:first-child{margin-top:1em}.container-sidebar-left,.container-sidebar-right{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:calc(100% - 1em);-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}@media (min-width:768px){.container-sidebar-left,.container-sidebar-right{width:calc(25% - 1em);-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}}.container-sidebar-left .sidebar-left:first-child{margin-top:1em}.container-sidebar-left .sidebar-left:last-child{margin-bottom:1em}.container-sidebar-right .sidebar-right:first-child{margin-top:1em}.container-sidebar-right .sidebar-right:last-child{margin-bottom:1em}.system-debug{display:block}.options-form{width:100%;padding:1vw 2vw;margin-bottom:1rem;color:var(--form-legend-color);background-color:var(--body-color);border:1px solid var(--border-gray)}.options-form>legend{float:none;width:auto;padding:0 .5rem;font-weight:700;color:var(--form-legend-color);background-color:var(--body-color)}.modal .btn{margin-right:.5rem}.modal .btn-primary:not([href]),.modal .btn-primary:not([href]):active,.modal .btn-success:not([href]),.modal .btn-success:not([href]):active{color:var(--body-color)}.modal-header{padding:0 .9375rem}.modal-title{font-weight:var(--font-weight-normal,400);line-height:3rem}.contentpane{padding:.9375rem}.contentpane .main-card{margin:-.625rem;-webkit-box-shadow:none;box-shadow:none}.error_site .page-header{margin-top:1em}[class*=" container-"] .span-col-2,[class^=container-] .span-col-2{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:calc(50% - 1em)}[class*=" container-"] .span-col-3,[class^=container-] .span-col-3{-webkit-box-flex:0;-ms-flex:0 0 33.333%;flex:0 0 33.333%;max-width:calc(33.333% - 1em)}[class*=" container-"] .span-col-4,[class^=container-] .span-col-4{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:calc(25% - 1em)}@supports (display:grid){[class*=" span-"],[class^=span-]{grid-column-end:auto;grid-row-end:auto}@media (min-width:768px){[class*=" span-col"],[class^=span-col]{grid-column-end:span 2}}@media (min-width:992px){.span-col-2{grid-column-end:span 2}.span-col-3{grid-column-end:span 3}.span-col-4{grid-column-end:span 4}.span-row-2{grid-row-end:span 2}.span-row-3{grid-row-end:span 3}.span-row-4{grid-row-end:span 4}}[class*=" container-"] [class*=" span-"],[class*=" container-"] [class^=span-],[class^=container-] [class*=" span-"],[class^=container-] [class^=span-]{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;max-width:none}}.blog-items{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;width:100%;padding:0;margin-right:-.5em;margin-bottom:1em;margin-left:-.5em}.readmore{text-align:right}.blog-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:0 .5em 1em;overflow:hidden}.boxed .blog-item{background-color:var(--bs-body-bg)}.boxed .blog-item figure.item-image{border-top:solid .25em var(--accent-color-primary);border-bottom:solid .25em var(--accent-color-secondary)}.boxed .blog-item .item-content{padding:1.5625rem}.blog-item .item-image{margin-top:.1875rem;margin-bottom:.9375rem;overflow:hidden;max-height:500px}.boxed .blog-item .item-image{margin-bottom:0}@media (min-width:992px){.container-header .metismenu>li.level-1.active>a,.container-header .metismenu>li.level-1.active>button,.container-header .metismenu>li.level-1>a:active,.container-header .metismenu>li.level-1>button:active{text-decoration:none}.blog-items.columns-2>div{width:50%}.blog-items.columns-3>div{width:33.33333%}.blog-items.columns-4>div{width:25%}.image-right .blog-item .item-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}}.image-bottom .blog-item .item-image{margin-top:-.9375rem;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.image-left .blog-item .item-content{padding-left:1.5625rem}.image-right .blog-item .item-content{padding-right:1.5625rem}.image-left .blog-item,.image-right .blog-item{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}@media (min-width:992px){.image-left .blog-item,.image-right .blog-item{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.image-left .blog-item .item-image,.image-right .blog-item .item-image{-webkit-box-flex:1;-ms-flex:1 0 40%;flex:1 0 40%;max-width:35%;margin-right:1em}.image-left .blog-item .item-content,.image-right .blog-item .item-content{-webkit-box-flex:1;-ms-flex:1 0 60%;flex:1 0 60%}.blog-items.masonry-2{-webkit-column-count:2;-moz-column-count:2;column-count:2}.blog-items.masonry-3{-webkit-column-count:3;-moz-column-count:3;column-count:3}.blog-items.masonry-4{-webkit-column-count:4;-moz-column-count:4;column-count:4}}.article-info{margin-bottom:0}.article-info dd,.article-info dt{padding:0;display:inline-block;margin-bottom:0}ul.tags{margin-bottom:.25em}.items-leading .item-image{max-width:100%;width:100%}@supports (display:grid){.blog-items{display:grid;margin:0 0 1em;grid-auto-flow:row;grid-template-columns:1fr;grid-gap:1em}.blog-items .blog-item{padding:0}.blog-items[class*=" columns-"]>div,.blog-items[class^=columns-]>div{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:auto;max-width:none}@media (min-width:992px){.blog-items.columns-2{grid-template-columns:1fr 1fr}.blog-items.columns-3{grid-template-columns:1fr 1fr 1fr}.blog-items.columns-4{grid-template-columns:1fr 1fr 1fr 1fr}}}.blog-items[class*=" masonry-"],.blog-items[class^=masonry-]{display:block;-webkit-column-gap:1em;-moz-column-gap:1em;column-gap:1em}.blog-items[class*=" masonry-"] .blog-item,.blog-items[class^=masonry-] .blog-item{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-bottom:1em;page-break-inside:avoid;-webkit-column-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid}.image-alternate .blog-item:nth-of-type(odd) .item-image{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.image-alternate.image-left .blog-item:nth-of-type(odd) .item-image{margin-right:0;margin-left:1.5625rem;-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.image-alternate.image-top .blog-item:nth-of-type(odd) .item-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.breadcrumb{margin-bottom:0;background-color:hsla(0,0%,0%,.03)}.no-card .newsflash-horiz li{padding:0 1rem 1rem;border:1px solid #dfe2e6;border-radius:0 0 .25rem .25rem;-webkit-box-shadow:1px 1px 4px hsla(0,0%,0%,.1);box-shadow:1px 1px 4px hsla(0,0%,0%,.1)}.no-card .newsflash-horiz li figure{margin:0 -1rem 1rem}.mod-list{-webkit-padding-start:0;padding-inline-start:0;list-style:none}.mod-list li{padding:.25em 0}.mod-list li a{text-decoration:none}.mod-list li a:active{text-decoration:underline}.container-header .mod-list li a:active{text-decoration:none}.mod-list li.active>a{text-decoration:underline}.container-header .mod-list li.active>a{text-decoration:none}.mod-list li .mod-menu__sub{padding-left:1em}.element-invisible{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%)}.hidden{display:none;visibility:hidden}.table-row{display:table-row}joomla-alert{display:none}.editor-xtd-buttons .btn{margin-bottom:.3125rem}.subhead{position:sticky;top:0;right:0;left:0;z-index:1000;width:auto;min-height:43px;padding:.25rem;color:var(--subhead-color);background:var(--body-color);-webkit-box-shadow:-3px -2px 22px var(--box-shadow-gray);box-shadow:-3px -2px 22px var(--box-shadow-gray)}.subhead .row{margin-right:0;margin-left:0}.subhead.noshadow{-webkit-box-shadow:none;box-shadow:none}.subhead .btn-group,.subhead joomla-toolbar-button{-webkit-margin-start:0.75rem;margin-inline-start:.75rem}.subhead .btn-group:first-child,.subhead joomla-toolbar-button:first-child{-webkit-margin-start:0;margin-inline-start:0}.subhead joomla-toolbar-button .btn>span,.subhead joomla-toolbar-button .dropdown-item>span{-webkit-margin-end:.5rem;margin-inline-end:.5rem;width:1.25em;text-align:center}.subhead .btn{--subhead-btn-accent:var(--subhead-color);padding:0 1rem;margin:.3125rem 0;font-size:1rem;line-height:2.45rem;color:var(--subhead-color);background:var(--body-color);border-color:#acb5bd}.subhead .btn>span{display:inline-block;color:var(--subhead-btn-accent)}.subhead .btn:not([disabled]):active,.subhead .btn:not([disabled]):focus{color:rgba(255,255,255,.9);background-color:var(--subhead-btn-accent);border-color:var(--subhead-btn-accent)}.subhead .btn:not([disabled]):active>span,.subhead .btn:not([disabled]):focus>span{color:rgba(255,255,255,.9)}.subhead .btn.btn-success{--subhead-btn-accent:var(--success)}.subhead .btn.btn-danger{--subhead-btn-accent:var(--danger)}.subhead .btn.btn-primary{--subhead-btn-accent:#2a69b8}.subhead .btn.btn-secondary{--subhead-btn-accent:#001b4c}.subhead .btn.btn-info{--subhead-btn-accent:#132f53}.subhead .btn.btn-action{--subhead-btn-accent:#132f53;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.subhead .btn.btn-action::after{width:2.375rem;font-family:"Font Awesome 5 Free";font-weight:900;content:"\f078";border:0}.subhead .btn.dropdown-toggle[disabled],.subhead .btn[disabled]{--subhead-btn-accent:#132f53;background:rgba(223,227,231,.8);opacity:.5}.subhead .btn.dropdown-toggle[disabled]:active,.subhead .btn.dropdown-toggle[disabled]:focus,.subhead .btn[disabled]:active,.subhead .btn[disabled]:focus{cursor:not-allowed}.subhead .dropdown-toggle.btn{-webkit-padding-end:0;padding-inline-end:0}.subhead .btn-group:not(:last-child)>.dropdown-toggle-split{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;-webkit-margin-start:-0.25rem;margin-inline-start:-.25rem;border-radius:0 .25rem .25rem 0}.subhead .btn-group joomla-toolbar-button,.subhead .dropdown-menu joomla-toolbar-button{-webkit-margin-start:0;margin-inline-start:0}@media (max-width:767.98px){joomla-tab[view=accordion] .col-md-3,joomla-tab[view=accordion] .col-md-9{padding:.5rem 1rem}#myTab{margin-top:1rem;margin-bottom:1.5rem}joomla-tab[view=accordion] ul li{width:100%}.subhead .btn,.subhead .btn-group,.subhead joomla-toolbar-button{width:100%;margin-left:0;text-align:left}.subhead .btn-toolbar>.btn-group,.subhead .btn-toolbar>joomla-toolbar-button{margin-left:0}.subhead .btn.btn-action::after{text-align:center;-webkit-margin-start:auto;margin-inline-start:auto}.subhead .dropdown-toggle-split{width:auto}}.left.item-image{float:left}.view-article .left.item-image{max-width:300px}.hide-image .left.item-image{display:none}.right.item-image{float:right;width:40%;max-width:300px}.tags .list-inline-item{margin:.25rem}.tags a.btn{font-weight:700}.tag{display:inline-block;padding:.5rem .5rem .5rem 0}body{position:relative;min-height:100vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}body.wrapper-fluid .site-grid{grid-template-columns:[full-start] minmax(0,1fr) [main-start] repeat(4,minmax(0,25%)) [main-end] minmax(0,1fr) [full-end];grid-gap:0 2em}body.wrapper-fluid .grid-child{max-width:none}body.wrapper-fluid footer>.grid-child,body.wrapper-fluid header>.grid-child{padding:0 2em}body.wrapper-fluid header>.grid-child{margin:0}footer .grid-child>div{padding:1rem 4em}header .grid-child .navbar-brand{padding-left:0;padding-right:0}body:not(.has-sidebar-left) .site-grid .container-component{grid-column-start:main-start}body:not(.has-sidebar-right) .site-grid .container-component{grid-column-end:main-end}.site-grid{margin-bottom:auto}@supports (display:grid){.site-grid{display:grid;grid-template-areas:". banner banner banner banner ." ". top-a top-a top-a top-a ." ". top-b top-b top-b top-b ." ". comp comp comp comp ." ". side-l side-l side-l side-l ." ". side-r side-r side-r side-r ." ". bot-a bot-a bot-a bot-a ." ". bot-b bot-b bot-b bot-b .";grid-template-columns:[full-start] minmax(0,1fr) [main-start] repeat(4,minmax(0,19.875rem)) [main-end] minmax(0,1fr) [full-end];grid-gap:0 1em}.site-grid>[class*=" container-"],.site-grid>[class^=container-]{width:100%;max-width:none;-webkit-column-gap:1em;-moz-column-gap:1em;column-gap:1em}.site-grid>.full-width{grid-column:full-start/full-end}@media (min-width:992px){.site-grid{grid-template-areas:". banner banner banner banner ."". top-a top-a top-a top-a ."". top-b top-b top-b top-b ."". side-l comp comp side-r ."". bot-a bot-a bot-a bot-a ."". bot-b bot-b bot-b bot-b ."}}}.container-top-a{grid-area:top-a}.container-top-b{grid-area:top-b}.container-component{grid-area:comp}.container-sidebar-left{grid-area:side-l}.container-sidebar-right{grid-area:side-r}.container-main-top{grid-area:main-t}.container-main-bottom{grid-area:main-b}.container-breadcrumbs{grid-area:bread}.container-bottom-a{grid-area:bot-a}.mod-finder__search.input-group{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.mod-finder__search.input-group .awesomplete input{border-top-right-radius:0;border-bottom-right-radius:0}.mod-finder__search.input-group button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.mod-finder__search.input-group button .icon-search{-webkit-margin-end:.2em;margin-inline-end:.2em}.awesomplete>input{max-width:200px}.awesomplete>ul{z-index:1000}.btn.active.focus,.btn.active:focus,.btn.focus,.btn.focus:active,.btn:active:focus,.btn:focus{text-decoration:none}.btn.group-move{cursor:move}.btn-secondary{color:var(--btn-color);background-color:var(--btn-bg);border-color:var(--btn-border-color);--bs-btn-color:#333;--bs-btn-bg:#EFEFEF;--bs-btn-border-color:#EFEFEF;--bs-btn-hover-bg:#333;--bs-btn-hover-border-color:#333;--bs-btn-active-bg:#333;--bs-btn-active-border-color:#333;--btn-color:var(--body-bg);--btn-bg:var(--secondary);--btn-border-color:var(--secondary);--btn-hover-bg:color-mix(in srgb, var(--secondary) 85%, black);--btn-hover-border-color:color-mix(in srgb, var(--secondary) 85%, black)}.btn-secondary:active{color:var(--btn-active-color);background-color:var(--btn-active-bg);border-color:var(--btn-active-border-color)}.btn-secondary:focus,.btn-secondary:hover{color:var(--btn-focus-color);background-color:var(--btn-focus-bg);border-color:var(--btn-focus-border-color);box-shadow:1px 5px 100px 1px var(--btn-focus-shadow-rgb)}.btn-secondary:active{color:var(--btn-active-color);background-color:var(--btn-active-bg);border-color:var(--btn-active-border-color);box-shadow:1px 5px 100px 1px var(--btn-active-shadow-rgb)}.article-info .association .btn-secondary,.cat-list-association .btn-secondary{font-weight:700;color:var(--body-color);background-color:#6d757d;border-color:#cdd3d9}.article-info .association .btn-secondary:active,.article-info .association .btn-secondary:focus,.cat-list-association .btn-secondary:active,.cat-list-association .btn-secondary:focus{color:var(--body-color);background-color:#343a40}.article-info .association .btn-group-sm>.btn,.article-info .association .btn-sm,.cat-list-association .btn-group-sm>.btn,.cat-list-association .btn-sm{padding:0 .25rem;font-size:.8rem;border-radius:.2rem}.custom-select,.form-select{max-width:100%;cursor:pointer;background:url("../images/select-bg.svg") right center/116rem no-repeat #eaedf0;border:1px solid #cdd3d9}.custom-select:focus,.form-select:focus{border-color:var(--black);-webkit-box-shadow:0 0 0 .25rem rgba(1,1,86,.25);box-shadow:0 0 0 .25rem rgba(1,1,86,.25)}.form-select[multiple],[multiple].custom-select{padding:0;background-color:var(--body-color)}.form-select[multiple] option,[multiple].custom-select option{padding:.3rem 1rem;background-color:var(--body-color)}.form-select[multiple] option:checked,[multiple].custom-select option:checked{color:var(--body-color);background-color:var(--color-primary)}.custom-select-success.custom-select,.form-select-success.custom-select,.form-select.custom-select-success,.form-select.form-select-success{color:#438343;background-color:#438343}.custom-select-success.custom-select option,.form-select-success.custom-select option,.form-select.custom-select-success option,.form-select.form-select-success option{color:#22262a;background-color:var(--body-color)}.custom-select-danger.custom-select,.form-select-danger.custom-select,.form-select.custom-select-danger,.form-select.form-select-danger{color:#a51e17;background-color:#a51e17}.custom-select-danger.custom-select option,.form-select-danger.custom-select option,.form-select.custom-select-danger option,.form-select.form-select-danger option{color:#22262a;background-color:var(--body-color)}.custom-select optgroup,.custom-select option,.form-select optgroup,.form-select option{color:var(--dark);background-color:var(--body-color)}.accordion .card-header{display:block;font-size:1.25rem;font-weight:var(--font-weight-headings,700);line-height:1.2}.accordion .list-group-item{color:var(--color-link)}.dropdown-menu{padding:.2rem 0;margin-top:.5rem;background-color:var(--body-color);border-color:#dfe2e6}.dropdown-menu-end::after{right:.9rem;left:auto}.field-media-wrapper{display:block;width:100%;max-width:calc(50vw - 5rem)}.field-media-wrapper .field-media-preview{width:100%;max-width:none}@media (max-width:991.98px){.btn{margin-bottom:.25rem}.input-group .btn{margin-bottom:0}.field-media-wrapper{min-width:100%}}.list-group-item{background-color:var(--body-color)}.list-unstyled .list-unstyled{padding-left:1.25rem}.jviewport-height10{height:10vh}.jviewport-height20{height:20vh}.jviewport-height30{height:30vh}.jviewport-height40{height:40vh}.jviewport-height50{height:50vh}.jviewport-height60{height:60vh}.jviewport-height70{height:70vh}.jviewport-height80{height:80vh}.jviewport-height90{height:90vh}.jviewport-height100{height:100vh}[class*=jviewport-height] iframe{height:100%}.modal-dialog.jviewport-width10{width:10vw;max-width:none}.modal-dialog.jviewport-width20{width:20vw;max-width:none}.modal-dialog.jviewport-width30{width:30vw;max-width:none}.modal-dialog.jviewport-width40{width:40vw;max-width:none}.modal-dialog.jviewport-width50{width:50vw;max-width:none}.modal-dialog.jviewport-width60{width:60vw;max-width:none}.modal-dialog.jviewport-width70{width:70vw;max-width:none}.modal-dialog.jviewport-width80{width:80vw;max-width:none}.modal-dialog.jviewport-width90{width:90vw;max-width:none}.modal-dialog.jviewport-width100{width:100vw;max-width:none}.nav.nav-tabs{padding:0;margin:0;background-color:#f4f4f4;border:1px solid #dfe2e6;border-bottom:0;border-radius:.25rem .25rem 0 0;-webkit-box-shadow:0 1px var(--body-color) inset,0 2px 3px -3px hsla(0,0%,0%,.15),0 -4px 0 hsla(0,0%,0%,.05) inset,1px 1px 4px hsla(0,0%,0%,.1);box-shadow:0 1px var(--body-color) inset,0 2px 3px -3px hsla(0,0%,0%,.15),0 -4px 0 hsla(0,0%,0%,.05) inset,1px 1px 4px hsla(0,0%,0%,.1)}.nav.nav-tabs .nav-item{margin-bottom:0;margin-left:0}.nav.nav-tabs .nav-item:first-of-type .nav-link.active{border-radius:.25rem 0 0;-webkit-box-shadow:-1px 0 1px -1px hsla(0,0%,0%,.06),inset -2px 0 1px -1px hsla(0,0%,0%,.08),inset 0 1px 0 hsla(0,0%,0%,.02);box-shadow:-1px 0 1px -1px hsla(0,0%,0%,.06),inset -2px 0 1px -1px hsla(0,0%,0%,.08),inset 0 1px 0 hsla(0,0%,0%,.02)}.nav.nav-tabs .nav-item:last-of-type .nav-link{-webkit-box-shadow:-1px 0 0 hsla(0,0%,0%,.05),1px 0 0 hsla(0,0%,0%,.05);box-shadow:-1px 0 0 hsla(0,0%,0%,.05),1px 0 0 hsla(0,0%,0%,.05)}.nav.nav-tabs .nav-item:last-of-type .nav-link.active{-webkit-box-shadow:inset 2px 0 1px -1px hsla(0,0%,0%,.08),inset -2px 0 1px -1px hsla(0,0%,0%,.08),inset 0 1px 0 hsla(0,0%,0%,.02);box-shadow:inset 2px 0 1px -1px hsla(0,0%,0%,.08),inset -2px 0 1px -1px hsla(0,0%,0%,.08),inset 0 1px 0 hsla(0,0%,0%,.02)}.nav.nav-tabs .nav-link{position:relative;padding:.75em 1em;color:var(--color-primary);border:0;border-top-left-radius:0;border-top-right-radius:0;-webkit-box-shadow:-1px 0 0 hsla(0,0%,0%,.05);box-shadow:-1px 0 0 hsla(0,0%,0%,.05)}.nav.nav-tabs .nav-link.active{background-color:hsla(0,0%,0%,.3);background-image:-webkit-gradient(linear,left top,left bottom,from(hsla(0,0%,0%,0)),to(hsla(0,0%,0%,.05)));background-image:-o-linear-gradient(top,hsla(0,0%,0%,0),hsla(0,0%,0%,.05) 100%);background-image:linear-gradient(to bottom,hsla(0,0%,0%,0),hsla(0,0%,0%,.05) 100%);border-right:0;border-left:0;border-top-left-radius:0;border-top-right-radius:0;-webkit-box-shadow:inset 2px 0 1px -1px hsla(0,0%,0%,.08),inset -2px 0 1px -1px hsla(0,0%,0%,.08),inset 0 1px 0 hsla(0,0%,0%,.02);box-shadow:inset 2px 0 1px -1px hsla(0,0%,0%,.08),inset -2px 0 1px -1px hsla(0,0%,0%,.08),inset 0 1px 0 hsla(0,0%,0%,.02)}.nav.nav-tabs .nav-link.active::after{position:absolute;right:0;bottom:-1px;left:0;height:5px;content:"";background-color:var(--color-primary);opacity:.8}.nav-tabs+.tab-content{padding:.9375rem;background:var(--body-color);border:1px solid #dfe2e6;border-radius:0 0 .25rem .25rem;-webkit-box-shadow:1px 1px 4px hsla(0,0%,0%,.1);box-shadow:1px 1px 4px hsla(0,0%,0%,.1)}.pagination{margin:1rem}.table th{font-weight:500}.table thead th{white-space:nowrap;border-bottom-width:1px}.table td,.table th{vertical-align:middle}.table td label,.table th label{margin-bottom:0}.chosen-container.chosen-container-single{max-width:100%;font-size:1rem}.chosen-container.chosen-container-single .chosen-single{display:inline-block;height:calc(1.5em + 1.2rem + 2px);padding:.81rem 4rem .81rem 1rem;line-height:1.5;color:#22262a;vertical-align:middle;background:right .1rem center/116rem no-repeat #eaedf0;border:1px solid #cdd3d9;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;width:100%}.chosen-container.chosen-container-single .chosen-single abbr{top:10px}.chosen-container.chosen-container-single .chosen-single:focus{border-color:var(--input-focus-border-color);outline:0}.chosen-container.chosen-container-single .chosen-single:disabled{cursor:not-allowed;background-color:#eaedf0}.chosen-container.chosen-container-single .chosen-single div b{background:0 0}.chosen-container.chosen-container-single .chosen-drop{background:var(--body-color);border:1px solid #cdd3d9}.chosen-container.chosen-container-single .chosen-results li{line-height:calc(1rem + .3rem)}.chosen-container.chosen-container-single.chosen-container-active .chosen-single{border-bottom-right-radius:0;border-bottom-left-radius:0}.chosen-container.chosen-container-multi .chosen-choices{max-width:100%;min-height:calc(1.5em + 1.2rem + 2px);font-size:1rem;line-height:1.5;background-image:var(--body-color)}.chosen-container.chosen-container-multi .chosen-choices li.search-choice{padding:.3125rem 2.0625rem .3125rem .625rem;color:var(--body-color);background:var(--primary);border:0;-webkit-box-shadow:1px 1px 4px hsla(0,0%,0%,.1);box-shadow:1px 1px 4px hsla(0,0%,0%,.1);border-radius:.25rem}.chosen-container.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{top:0;right:0;width:20px;height:100%;background:hsla(0,0%,0%,.2);background-image:none}.chosen-container.chosen-container-multi .chosen-choices li.search-choice .search-choice-close::before{position:absolute;top:6px;right:5px;font-size:1rem;color:var(--body-color);content:"×"}.chosen-container-active.chosen-with-drop .chosen-single{-webkit-box-shadow:none;box-shadow:none}.chosen-container-single{width:auto}.card .chosen-container.chosen-container-single,.card .chosen-container.chosen-container-single .chosen-single{width:100%}.gu-mirror{position:fixed;z-index:9999;margin:0;background-color:#90ed90;opacity:.8}.gu-mirror.table{display:table}.gu-mirror.table td{display:table-cell}.metismenu.menu-horizontal{-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%;padding:0;margin:0;list-style:none}@media (min-width:992px){.awesomplete>input{max-width:none}.metismenu.menu-horizontal{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 1 0%;flex:1 1 0%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}.metismenu.menu-horizontal>li{position:relative}.metismenu.menu-horizontal .level-1>ul{min-width:12rem}.metismenu.mod-menu{margin:0}.metismenu.mod-menu .metismenu-item{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:.5em 1em;font-size:1.1rem;line-height:1.5}.metismenu.mod-menu .metismenu-item.parent{position:relative}.metismenu.mod-menu .metismenu-item>ul{position:absolute;top:100%;z-index:1001;display:block;padding:0;list-style:none;-webkit-box-shadow:0 0 .5em hsla(0,0%,0%,.1);box-shadow:0 0 .5em hsla(0,0%,0%,.1)}.metismenu.mod-menu .metismenu-item>a,.metismenu.mod-menu .metismenu-item>button,.metismenu.mod-menu .metismenu-item>span{overflow:hidden;text-decoration:none;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.metismenu.mod-menu .metismenu-item>a:focus,.metismenu.mod-menu .metismenu-item>button:focus{outline:hsl(210,14%,83%) dotted 1px;outline-offset:2px}.metismenu.mod-menu .metismenu-item.active>a,.metismenu.mod-menu .metismenu-item.active>button,.metismenu.mod-menu .metismenu-item>a:active,.metismenu.mod-menu .metismenu-item>button:active{text-decoration:underline}.metismenu.mod-menu .metismenu-item::after{content:none}.metismenu.mod-menu .metismenu-item:not(.level-1)>ul,.metismenu.mod-menu .metismenu-item:not(.level-2)>ul{-webkit-margin-end:-1em;margin-inline-end:-1em}.metismenu.mod-menu .metismenu-item.divider:not(.parent){width:1px;padding:0;margin:.25em;overflow:hidden;border-right:1px solid #cdd3d9}@media (max-width:991.98px){.metismenu.mod-menu .metismenu-item.divider:not(.parent){width:auto;height:1px;border-bottom:1px solid #cdd3d9}}.metismenu.mod-menu .mm-collapsing{height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:color,background-color,height,visibility;-o-transition-property:color,background-color,height,visibility;transition-property:color,background-color,height,visibility}.metismenu.mod-menu .mm-collapse{position:absolute;background-color:var(--body-color);-webkit-box-shadow:1px 1px 4px hsla(0,0%,0%,.1);box-shadow:1px 1px 4px hsla(0,0%,0%,.1)}.metismenu.mod-menu .mm-collapse:not(.mm-show){display:none}.metismenu.mod-menu .mm-collapse>li>a{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.metismenu.mod-menu .mm-collapse>li.divider:not(.parent){width:auto;height:1px;border-bottom:1px solid #cdd3d9}.metismenu.mod-menu .mm-collapse>li.parent .mm-toggler{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.metismenu.mod-menu .mm-collapse>li.parent>ul{position:relative;top:0;-ms-flex-preferred-size:calc(100% + 1em);flex-basis:calc(100% + 1em);margin-top:.5em;margin-bottom:-.5em;background-color:hsla(0,0%,0%,.03);-webkit-box-shadow:none;box-shadow:none}.metismenu.mod-menu .mm-toggler{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;padding:0;color:currentColor;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none}.metismenu.mod-menu .mm-toggler:after{width:0;height:0;-webkit-margin-start:0.5em;margin-inline-start:.5em;content:"";border-top:.5em solid currentColor;border-right:.5em solid transparent;border-left:.5em solid transparent;-webkit-transition:.3s ease-out;-o-transition:.3s ease-out;transition:.3s ease-out}.metismenu.mod-menu .mm-toggler[aria-expanded=true]:after,.mm-active>.metismenu.mod-menu .mm-toggler:after{-webkit-transform:rotateX(-180deg);transform:rotateX(-180deg)}.metismenu.mod-menu .parent>ul{color:#22262a}.sidebar-left .metismenu .mm-collapse,.sidebar-right .metismenu .mm-collapse{position:relative;background-color:hsla(0,0%,0%,.03)}.sidebar-left .metismenu li.parent>ul,.sidebar-right .metismenu li.parent>ul{position:relative;top:0;-webkit-box-shadow:none;box-shadow:none}.sidebar-left .metismenu .metismenu-item>a,.sidebar-left .metismenu .metismenu-item>span,.sidebar-right .metismenu .metismenu-item>a,.sidebar-right .metismenu .metismenu-item>span{white-space:inherit}.sidebar-left .metismenu .metismenu-item.divider:not(.parent),.sidebar-right .metismenu .metismenu-item.divider:not(.parent){width:auto;height:1px;border-bottom:1px solid #cdd3d9}.minicolors-theme-bootstrap .minicolors-input{width:120px}.minicolors-theme-bootstrap .rgb{width:175px}.minicolors-theme-bootstrap .rgba{width:220px}.editor .toggle-editor{margin-top:1rem}.editor .mce-tinymce{border:1px solid #dfe2e6;border-radius:.25rem}.editor .mce-btn,.editor .mce-panel{background:#f9f9fa}.tox{white-space:nowrap}.border-primary{border-color:var(--primary)}.border-secondary{border-color:var(--secondary)}.border-success{border-color:var(--success)}.border-info{border-color:var(--info)}.border-warning{border-color:var(--warning)}.border-danger{border-color:var(--danger)}.border-light{border-color:var(--light)}.border-dark{border-color:var(--dark)}.border-white{border-color:var(--white)}.text-primary{color:var(--primary)}.text-secondary{color:var(--secondary)}.text-success{color:var(--success)}.text-info{color:var(--info)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.text-light{color:var(--light)}.text-dark{color:var(--dark)}.text-black{color:var(--black)}.text-white{color:var(--white)}.text-body{color:var(--body-color)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-success{background-color:var(--success)}.bg-info{background-color:var(--info)}.bg-warning{background-color:var(--warning)}.bg-danger{background-color:var(--danger)}.bg-light{background-color:var(--light)}.bg-dark{background-color:var(--dark)}.bg-black{background-color:var(--black)}.bg-white{background-color:var(--white)}.bg-body{background-color:var(--body-bg)}/*! VM BASIC */.dropdown-menu{border-radius:0;--bs-dropdown-zindex:1030}.dropdown-toggle{display:flex;align-items:center}.dropdown-toggle::after{content:"";border:none;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;width:10px;height:10px}.input-group .btn{font-size:14px;border-radius:var(--bs-border-radius)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--btn-active-text-gray)}.form-control,.form-select{font-size:14px}form .form-control,form .form-select{border-color:var(--input-border-color)}.container-below-topbar{padding:var(--padding-x) var(--padding-y);background-image:var(--container-below-topbar-bg-image);background-color:var(--container-below-topbar-bg-color);background-size:var(--container-below-topbar-bg-size);-webkit-box-shadow:0 5px 5px hsla(0,0%,0%,.03) inset;box-shadow:0 5px 5px hsla(0,0%,0%,.03) inset;background-repeat:var(--container-below-topbar-background-repeat);-webkit-border-radius:var(--container-below-topbar-border-radius);-moz-border-radius:var(--container-below-topbar-border-radius);border-radius:var(--container-below-topbar-border-radius);border:var(--container-below-topbar-border);color:var(--color-primary)}.container-top-a{padding-left:var(--padding-x);padding-right:var(--padding-x);background-image:var(--container-top-a-bg-image);background-color:var(--container-top-a-bg-color);background-size:var(--container-top-a-bg-size);-webkit-box-shadow:0 5px 5px hsla(0,0%,0%,.03) inset;box-shadow:0 5px 5px hsla(0,0%,0%,.03) inset;background-repeat:var(--container-top-a-background-repeat);-webkit-border-radius:var(--container-top-a-border-radius);-moz-border-radius:var(--container-top-a-border-radius);border-radius:var(--container-top-a-border-radius);border:var(--container-top-a-border)}.container-top-b{padding-left:var(--padding-x);padding-right:var(--padding-x);background-image:var(--container-top-b-bg-image);background-color:var(--container-top-b-bg-color);background-size:var(--container-top-b-bg-size);-webkit-box-shadow:0 5px 5px hsla(0,0%,0%,.03) inset;box-shadow:0 5px 5px hsla(0,0%,0%,.03) inset;background-repeat:var(--container-top-b-background-repeat);-webkit-border-radius:var(--container-top-b-border-radius);-moz-border-radius:var(--container-top-b-border-radius);border-radius:var(--container-top-b-border-radius);border:var(--container-top-b-border)}.container-sidebar-left,.container-sidebar-right{padding-left:var(--padding-x);padding-right:var(--padding-x);background-image:var(--container-sidebar-bg-image);background-color:var(--container-sidebar-bg-color);background-size:var(--container-sidebar-bg-size);-webkit-box-shadow:0 5px 5px hsla(0,0%,0%,.03) inset;box-shadow:0 5px 5px hsla(0,0%,0%,.03) inset;background-repeat:var(--container-sidebar-background-repeat);-webkit-border-radius:var(--container-sidebar-border-radius);-moz-border-radius:var(--container-sidebar-border-radius);border-radius:var(--container-sidebar-border-radius);border:var(--container-sidebar-border)}.container-bottom-a{padding-left:var(--padding-x);padding-right:var(--padding-x);background-image:var(--container-bottom-a-bg-image);background-color:var(--container-bottom-a-bg-color);background-size:var(--container-bottom-a-bg-size);-webkit-box-shadow:0 5px 5px hsla(0,0%,0%,.03) inset;box-shadow:0 5px 5px hsla(0,0%,0%,.03) inset;background-repeat:var(--container-bottom-a-background-repeat);-webkit-border-radius:var(--container-bottom-a-border-radius);-moz-border-radius:var(--container-bottom-a-border-radius);border-radius:var(--container-bottom-a-border-radius);border:var(--container-bottom-a-border)}.container-bottom-b{grid-area:bot-b;padding-left:var(--padding-x);padding-right:var(--padding-x);background-image:var(--container-bottom-b-bg-image);background-color:var(--container-bottom-b-bg-color);background-size:var(--container-bottom-b-bg-size);-webkit-box-shadow:0 5px 5px hsla(0,0%,0%,.03) inset;box-shadow:0 5px 5px hsla(0,0%,0%,.03) inset;background-repeat:var(--container-bottom-b-background-repeat);-webkit-border-radius:var(--container-bottom-b-border-radius);-moz-border-radius:var(--container-bottom-b-border-radius);border-radius:var(--container-bottom-b-border-radius);border:var(--container-bottom-b-border)}#mokoThemeFab{position:fixed;z-index:1200;display:flex;align-items:center;gap:.5rem;padding:calc(var(--padding-x,.25rem) * 2) calc(var(--padding-y,.25rem) * 3) calc(var(--padding-x,.25rem) * 2) calc(var(--padding-y,.25rem) * 8);border-radius:999px;border:none;background:var(--muted-color);box-shadow:var(--box-shadow);font:inherit;color:var(--body-bg);font-weight:600px}#mokoThemeFab.pos-br{right:2.5rem;bottom:1rem}#mokoThemeFab.pos-bl{left:2.5rem;bottom:1rem}#mokoThemeFab.pos-tr{right:2.5rem;top:1rem}#mokoThemeFab.pos-tl{left:2.5rem;top:1rem}#mokoThemeFab .switch{display:inline-flex;align-items:center;position:relative;width:44px;height:24px;background:var(--secondary-color);transition:background .2s,border-color .2s;border-radius:var(--border-radius-xxl)}#mokoThemeFab button{color:var(--body-bg)}body.site.error-page{margin:0;padding:0}.error-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.error-card{max-width:820px;width:100%;border:1px solid;border-radius:14px;padding:2rem;background:var(--template-bg-light,#fff)}.error-brand{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.error-brand .brand-logo{background-color:invert(var(--body-bg));padding:var(--border-radius-sxl);border-radius:var(--border-radius-2xl)}.error-brand .logo{max-height:48px;width:auto;display:block}.error-title{margin:.5rem 0 0;font-size:clamp(1.5rem, 2vw + 1rem, 2.25rem);font-weight:700}.error-code{opacity:.75;font-weight:600}.error-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.moko-offline-wrap{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}.moko-offline-main{display:grid;place-items:center;padding:2rem 1rem}.moko-card{max-width:720px;width:100%}.moko-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}.moko-brand .brand-tagline{display:block;opacity:.75;font-size:.875rem;line-height:1.2}.theme-switcher .dropdown-item.active{font-weight:600}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-l ink:focus{position:static;width:auto;height:auto;padding:.5rem 1rem}.btn{display:inline-flex;align-items:center;gap:.5rem;border:1px solid;border-radius:8px;padding:.5rem .9rem;text-decoration:none}#mokoThemeFab .knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:var(--border-radius-xxl);background:var(--bs-body-bg,#fff);box-shadow:var(--box-shadow);transition:transform .2s}#mokoThemeFab [role=switch][aria-checked=true] .knob{transform:translateX(20px)}#mokoThemeFab [role=switch][aria-checked=true] .switch{background:rgba(var(--secondary-color),.15)}button#mokoThemeSwitch{border:unset;background-color:unset}#mokoThemeFab .label{user-select:none;font-size:.875rem}#mokoThemeFab.debug-outline{outline:2px dashed var(--pink);outline-offset:2px}html.component body{padding-top:3.125rem}#view_gabble{background-color:var(--gab-blue);padding:.375rem;border-radius:6px}#mod_gabble{background-color:var(--gab-blue);padding:.1875rem;border-radius:6px}#lists_gabble{position:relative;height:100%;border:4px solid var(--gab-red);background-color:var(--gab-green);padding:.25rem;border-radius:6px}#select_list{margin-left:0;width:100%;padding:.25rem;border-radius:6px 6px 0 0}#options_list{width:100%;padding:.25rem}#frame_list{width:100%;height:484px;padding:.25rem;border-radius:0 0 6px 6px}#windows_list{margin-left:0;width:100%;border:4px solid var(--gab-red);background-color:var(--gab-green);padding:.25rem;border-radius:6px}#frame_window{width:100%}#openai_btn{position:absolute;right:10px;bottom:10px;visibility:hidden;width:34px;height:34px;cursor:pointer;border:3px solid var(--gab-gray3);background-color:var(--white);border-radius:17px}#openai_btn:hover{width:36px;height:36px;border:3px solid var(--gab-gray3);border-radius:18px}#openai_logo_anim{position:absolute;top:15px;right:15px;width:35px;height:35px;padding:.125rem;z-index:1;border-radius:10px}.openai_logo_sm{width:22px;height:22px;background-color:var(--white);border:3px solid var(--white);border-radius:11px}.openai_logo_md{width:34px;height:34px;background-color:var(--white);border:4px solid var(--white);border-radius:17px}.btn_on_com{position:absolute;bottom:-2px;left:-2px;width:12px;height:12px;background-color:var(--indicator-success-bg);border-radius:6px}.btn_on_mod{position:absolute;top:0;left:0;width:12px;height:12px;background-color:var(--indicator-success-bg);border-radius:6px}.button_list{border:none;width:100%;outline:0;background-color:var(--gab-gray1);padding:.375rem;border-radius:6px}.button_list:hover{background-color:var(--gab-gray2)}.button_list_s{border:none;width:100%;outline:0;cursor:pointer;color:var(--white);background-color:var(--gab-red);padding:.375rem;border-radius:6px}.window_list{position:relative;margin:.25rem;width:100%;border:none;outline:0;cursor:pointer;text-align:left;background-color:var(--gab-gray1);padding:.375rem;border-radius:6px}.window_list:hover{background-color:var(--gab-gray2)}.window_list_s{position:relative;margin:.25rem;width:100%;border:none;outline:0;cursor:pointer;text-align:left;color:var(--white);background-color:var(--gab-red);padding:.375rem;border-radius:6px}.btn_close{position:absolute;right:4px;top:10px;padding-left:.0625rem;width:16px;height:16px;color:var(--black);font-size:10px;text-align:center;background-color:var(--gab-gray2);border-radius:8px}.btn_close:hover{background-color:var(--gab-gray3)}.iframe_list,.iframe_messages{width:100%;height:100%;background-color:var(--white);border:4px solid var(--gab-red);border-radius:6px}.input_box{position:relative}.input_emoji{position:absolute;right:48px;top:11px;cursor:pointer;color:var(--gab-gray2)}.input_emoji:hover{color:var(--gab-gray3)}.emoji{display:inline-block;float:left;cursor:pointer;padding:.125rem;background-color:var(--white)}.emoji:hover{background-color:var(--gab-orange)}.emojis_div{position:absolute;top:-92px;right:0;width:200px;height:92px;border:4px solid var(--gab-red);background-color:var(--gab-gray1);border-radius:6px}.msg-button-on{margin-left:.3125rem;width:30px;height:30px;font-size:20px;text-align:center;color:var(--white);background-color:var(--gab-orange);border-radius:15px}.msg-button-off{margin-left:.3125rem;width:30px;height:30px;font-size:20px;text-align:center;color:var(--white);background-color:var(--gab-gray2);border-radius:15px}.taba-content{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.msg-input{padding-left:.625rem;padding-right:1.625rem;width:calc(100% - 35px);height:30px;border-radius:15px}.main-windows{position:fixed;margin-bottom:.625rem;bottom:0;right:90px;z-index:901}.list-windows{position:fixed;bottom:0;right:0;width:50px;margin-bottom:1.25rem;margin-right:1.25rem;z-index:901}.item-list{display:inline-block;color:var(--item-list-color);margin-top:.3125rem;width:50px;height:50px;font-size:30px;text-align:center;border:3px solid var(--gab-red);background-color:var(--gab-blue);border-radius:25px}.button{opacity:1}.button:hover{cursor:pointer;opacity:.6}.notifications{position:relative}.n-notifications{position:absolute;bottom:-6px;right:-2px;width:18px;height:18px;color:var(--white);font-size:11px;font-weight:700;text-align:center;background-color:var(--notification-badge-bg);border-radius:9px}.m-notifications{position:absolute;top:-6px;right:-2px;width:18px;height:18px;color:var(--white);font-size:11px;font-weight:700;text-align:center;background-color:var(--notification-badge-bg);border-radius:9px}.window{display:inline-block;margin-left:.5rem;width:280px;height:420px}.window-com{margin-top:.375rem;width:100%;height:480px}.window-title{margin-left:.3125rem;display:inline-block;color:var(--white)}.window-title-com{margin-left:.3125rem;display:inline-block;color:var(--black)}.window-icon{display:inline-block;color:var(--white)}.window-header{padding:.375rem;width:100%;height:40px;background-color:var(--gab-blue);border-radius:8px 8px 0 0}.window-header-com{padding:.25rem;width:100%;height:35px;background-color:var(--gab-red);border-radius:8px 8px 0 0}.window-content{position:relative;display:block;width:100%;height:calc(100% - 80px);background-color:var(--content-bg-gray)}.content-footer{position:relative;padding:.3125rem;width:100%;height:40px;background-color:var(--content-bg-gray);border-radius:0 0 8px 8px}.taba-btn{text-align:center;display:inline-block;margin-left:.3125rem;float:right;width:24px;height:24px;background-color:var(--content-bg-gray);border-radius:12px}.taba-hover{cursor:pointer;opacity:1}.taba-hover:hover{opacity:.6}.taba-self{border:1px solid var(--white);background-color:var(--taba-btn-green);padding:.5625rem .375rem .375rem;border-radius:10px}.taba-others{border:1px solid var(--white);background-color:var(--taba-btn-blue);padding:.5625rem .375rem .375rem;border-radius:10px}.taba-bot{border:1px solid var(--white);background-color:var(--gab-gray3);padding:.5625rem .375rem .375rem;border-radius:10px}.taba-dice{border:1px solid var(--white);background-color:var(--taba-btn-red);padding:.375rem;border-radius:10px}.taba-emoji{border:1px solid var(--white);background-color:var(--taba-btn-blue);padding:.375rem;border-radius:10px}.taba-user{border:1px solid var(--white);background-color:var(--white);padding:.375rem;border-radius:6px;word-wrap:break-word}.taba-user-on{border:1px solid #fff;background-color:var(--gab-green);padding:.375rem;border-radius:8px}.taba-feed{border:1px solid #fff;background-color:var(--gab-blue);padding:.375rem;border-radius:8px}.openai_error{border:1px solid #fff;background-color:var(--gab-red);padding:.375rem;border-radius:8px}.taba-msgsystem{border:1px solid var(--white);background-color:var(--taba-btn-gray);padding:.375rem;border-radius:10px}.taba-msghead{background-color:var(--taba-msg-bg);padding:.25rem .375rem .25rem .625rem;border-radius:6px 6px 0 0}.taba-msg{background-color:var(--taba-msg-bg);padding:.5rem;border-radius:0 8px 8px;word-wrap:break-word}nav[data-toggle=toc] .nav>li>a{display:block;padding:.25rem 1.25rem;font-size:13px;font-weight:500;color:var(--toc-link-color)}nav[data-toggle=toc] .nav>li>a:focus,nav[data-toggle=toc] .nav>li>a:hover{padding-left:1.1875rem;color:var(--toc-link-active-color);text-decoration:none;background-color:transparent;border-left:1px solid var(--toc-link-active-color)}nav[data-toggle=toc] .nav-link.active,nav[data-toggle=toc] .nav-link.active:focus,nav[data-toggle=toc] .nav-link.active:hover{padding-left:1.125rem;font-weight:700;color:var(--toc-link-active-color);background-color:transparent;border-left:2px solid var(--toc-link-active-color)}nav[data-toggle=toc] .nav-link+ul{display:none;padding-bottom:.625rem}nav[data-toggle=toc] .nav .nav>li>a{padding-top:.0625rem;padding-bottom:.0625rem;padding-left:1.875rem;font-size:12px;font-weight:400}nav[data-toggle=toc] .nav .nav>li>a:focus,nav[data-toggle=toc] .nav .nav>li>a:hover{padding-left:1.8125rem}nav[data-toggle=toc] .nav .nav>li>.active,nav[data-toggle=toc] .nav .nav>li>.active:focus,nav[data-toggle=toc] .nav .nav>li>.active:hover{padding-left:1.75rem;font-weight:500}nav[data-toggle=toc] .nav-link.active+ul{display:block}.choices{position:relative;overflow:hidden;margin-bottom:1.5rem;font-size:16px}.choices:focus{outline:0}.choices:last-child{margin-bottom:0}.choices.is-open{overflow:initial}.choices.is-disabled .choices__inner,.choices.is-disabled .choices__input{background-color:var(--choices-disabled-bg);cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.choices.is-disabled .choices__item{cursor:not-allowed}.choices [hidden]{display:none!important}.choices[data-type*=select-one]{cursor:pointer}.choices[data-type*=select-one] .choices__inner{padding-bottom:.46875rem}.choices[data-type*=select-one] .choices__input{display:block;width:100%;padding:.625rem;border-bottom:1px solid var(--choices-border-light);background-color:var(--choices-input-bg);margin:0}.choices[data-type*=select-one] .choices__button{background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==");padding:0;background-size:8px;position:absolute;top:50%;right:0;margin-top:-.625rem;margin-right:1.5625rem;height:20px;width:20px;border-radius:10em;opacity:.25}.choices[data-type*=select-one] .choices__button:focus,.choices[data-type*=select-one] .choices__button:hover{opacity:1}.choices[data-type*=select-one] .choices__button:focus{-webkit-box-shadow:0 0 0 2px #00bcd4;box-shadow:0 0 0 2px #00bcd4}.choices[data-type*=select-one] .choices__item[data-value=""] .choices__button{display:none}.choices[data-type*=select-one]::after{content:"";height:0;width:0;border-style:solid;border-color:var(--choices-arrow-color) transparent transparent transparent;border-width:5px;position:absolute;right:11.5px;top:50%;margin-top:-.15625rem;pointer-events:none}.choices[data-type*=select-one].is-open::after{border-color:transparent transparent var(--choices-arrow-color) transparent;margin-top:-.46875rem}.choices[data-type*=select-one][dir=rtl]::after{left:11.5px;right:auto}.choices[data-type*=select-one][dir=rtl] .choices__button{right:auto;left:0;margin-left:1.5625rem;margin-right:0}.choices[data-type*=select-multiple] .choices__inner,.choices[data-type*=text] .choices__inner{cursor:text}.choices[data-type*=select-multiple] .choices__button,.choices[data-type*=text] .choices__button{position:relative;display:inline-block;margin:0 -.25rem 0 .5rem;padding-left:1rem;border-left:1px solid #008fa1;background-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==");background-size:8px;width:8px;line-height:1;opacity:.75;border-radius:0}.choices[data-type*=select-multiple] .choices__button:focus,.choices[data-type*=select-multiple] .choices__button:hover,.choices[data-type*=text] .choices__button:focus,.choices[data-type*=text] .choices__button:hover{opacity:1}.choices__inner{display:inline-block;vertical-align:top;width:100%;background-color:var(--choices-inner-bg);border:1px solid var(--choices-border-light);min-height:44px;overflow:hidden}.is-focused .choices__inner,.is-open .choices__inner{border-color:var(--choices-focused-border)}.is-open .choices__inner{border-radius:2.5px 2.5px 0 0}.is-flipped.is-open .choices__inner{border-radius:0 0 2.5px 2.5px}.choices__list{margin:0;padding-left:0;list-style:none}.choices__list--single{display:inline-block;padding:.25rem 1rem .25rem .25rem;width:100%}[dir=rtl] .choices__list--single{padding-right:.25rem;padding-left:1rem}.choices__list--single .choices__item{width:100%}.choices__list--multiple{display:inline}.choices__list--multiple .choices__item{display:inline-block;vertical-align:middle;padding:.25rem .625rem;font-size:12px;font-weight:500;background-color:var(--choices-item-bg);border:1px solid var(--choices-item-border);color:var(--white);word-break:break-all;-webkit-box-sizing:border-box;box-sizing:border-box}.choices__list--multiple .choices__item[data-deletable]{padding-right:.3125rem}[dir=rtl] .choices__list--multiple .choices__item{margin-right:0;margin-left:.234375rem}.choices__list--multiple .choices__item.is-highlighted{background-color:var(--choices-item-hover-bg);border:1px solid var(--choices-item-hover-border)}.is-disabled .choices__list--multiple .choices__item{background-color:var(--choices-item-disabled-bg);border:1px solid var(--choices-item-disabled-border)}.choices__list--dropdown{visibility:hidden;position:absolute;width:100%;background-color:var(--choices-dropdown-bg);border:1px solid var(--choices-border-light);top:100%;margin-top:-.0625rem;border-bottom-left-radius:2.5px;border-bottom-right-radius:2.5px;overflow:hidden;word-break:break-all;will-change:visibility;z-index:1060}.choices__list--dropdown.is-active{visibility:visible}.is-open .choices__list--dropdown{border-color:var(--choices-focused-border)}.is-flipped .choices__list--dropdown{top:auto;bottom:100%;margin-top:0;margin-bottom:-.0625rem;border-radius:.25rem .25rem 0 0}.choices__list--dropdown .choices__list{position:relative;max-height:300px;overflow:auto;-webkit-overflow-scrolling:touch;will-change:scroll-position}.choices__list--dropdown .choices__item{position:relative;padding:.625rem;font-size:14px}[dir=rtl] .choices__list--dropdown .choices__item{text-align:right}@media (min-width:640px){.choices__list--dropdown .choices__item--selectable{padding-right:6.25rem}.choices__list--dropdown .choices__item--selectable::after{content:attr(data-select-text);font-size:12px;opacity:0;position:absolute;right:10px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}[dir=rtl] .choices__list--dropdown .choices__item--selectable{text-align:right;padding-left:6.25rem;padding-right:.625rem}[dir=rtl] .choices__list--dropdown .choices__item--selectable::after{right:auto;left:10px}}.choices__list--dropdown .choices__item--selectable.is-highlighted{background-color:var(--choices-item-highlighted)}.choices__list--dropdown .choices__item--selectable.is-highlighted::after{opacity:.5}.choices__item{cursor:default}.choices__item--selectable{cursor:pointer}.choices__item--disabled{cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.5}.choices__heading{font-weight:600;padding:.625rem;border-bottom:1px solid #f7f7f7;color:gray}.choices__button{text-indent:-9999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer}.choices__button:focus{outline:0}.choices__input{display:inline-block;vertical-align:baseline;background-color:var(--choices-input-inner-bg);border:0;border-radius:0;max-width:100%}.choices__input:focus{outline:0}[dir=rtl] .choices__input{padding-right:.125rem;padding-left:0}.choices__placeholder{opacity:.5}.choices{border:1px solid #cdd3d9;border-radius:.25rem}.choices.is-focused{border-color:var(--input-focus-border-color);-webkit-box-shadow:0 0 0 .25rem rgba(1,1,86,.25);box-shadow:0 0 0 .25rem rgba(1,1,86,.25)}.choices__inner{padding:.4rem 1rem;margin-bottom:0;font-size:1rem;border:none;border-radius:0}.choices__input{padding:0;margin-bottom:0;font-size:1rem;background-color:transparent}.choices__input::-webkit-input-placeholder{color:#474f56;opacity:1}.choices__input::-moz-placeholder{color:#474f56;opacity:1}.choices__input:-ms-input-placeholder{color:#474f56;opacity:1}.choices__input::-ms-input-placeholder{color:#474f56;opacity:1}.choices__input::placeholder{color:#474f56;opacity:1}.choices__list--multiple .choices__item{position:relative;margin:.125rem;background-color:var(--color-primary);-webkit-margin-end:.125rem;margin-inline-end:.125rem;border:0;border-radius:.25rem}.choices__list--multiple .choices__item.is-highlighted{background-color:var(--color-primary);opacity:.9}.choices .choices__list--dropdown .choices__item{-webkit-padding-end:0.625rem;padding-inline-end:0.625rem}.choices .choices__list--dropdown .choices__item--selectable::after{display:none}.choices__button_joomla{position:relative;padding:0 .625rem;color:inherit;text-indent:-9999px;cursor:pointer;background:0 0;border:0;opacity:.5;-webkit-appearance:none;-moz-appearance:none;appearance:none}.choices__button_joomla::before{position:absolute;top:0;right:0;bottom:0;left:0;display:block;text-align:center;text-indent:0;content:"×"}.choices__button_joomla:focus,.choices__button_joomla:hover{opacity:1}.choices__button_joomla:focus{outline:0}.choices[data-type*=select-multiple] .choices__inner,.choices[data-type*=select-one] .choices__inner{-webkit-padding-end:3rem;padding-inline-end:3rem;cursor:pointer;background:url("../../../images/select-bg.svg") 100%/116rem no-repeat #eaedf0}[dir=rtl] .choices[data-type*=select-multiple] .choices__inner,[dir=rtl] .choices[data-type*=select-one] .choices__inner{background:url("../../../images/select-bg-rtl.svg") 0/116rem no-repeat #eaedf0}.choices[data-type*=select-one] .choices__item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.choices[data-type*=select-one] .choices__button_joomla{position:absolute;top:50%;inset-inline-end:0;width:20px;height:20px;padding:0;-webkit-margin-before:-0.625rem;margin-block-start:-0.625rem;-webkit-margin-end:3.125rem;margin-inline-end:3.125rem;border-radius:10em;opacity:.5}.choices[data-type*=select-one] .choices__button_joomla:focus,.choices[data-type*=select-one] .choices__button_joomla:hover{opacity:1}.choices[data-type*=select-one] .choices__button_joomla:focus{-webkit-box-shadow:0 0 0 2px #00bcd4;box-shadow:0 0 0 2px #00bcd4}.choices[data-type*=select-one]::after{display:none}.choices[data-type*=select-multiple] .choices__input,.choices[data-type*=text] .choices__input{padding:.2rem 0}.choices__heading{font-size:1.2rem}.site-title{color:var(--nav-bg-color);font-family:Osaka,sans-serif;font-weight:600;font-size:1.5rem;text-decoration:none;margin-left:var(--padding-x)}.container-header .navbar-brand .site-title{color:var(--nav-bg-color);text-decoration:none}.brand-logo,.container-header .navbar-brand a{text-decoration:none}.container-search button[type=submit],.mod-finder__search.input-group button{background-color:var(--color-primary);color:var(--mainmenu-nav-link-color);border-color:var(--color-primary);padding:.6rem 1rem;border-radius:0 .25rem .25rem 0;transition:background-color .15s ease-in-out,border-color .15s ease-in-out}.container-search button[type=submit]:hover,.mod-finder__search.input-group button:hover{background-color:var(--color-hover);border-color:var(--color-hover)}.container-search button[type=submit]:focus,.mod-finder__search.input-group button:focus{outline:0;box-shadow:0 0 0 .25rem rgba(var(--btn-focus-shadow-rgb),.5)}.container-header .container-search{position:relative}.container-search .mod-finder__search.input-group{display:flex;align-items:stretch;box-shadow:0 2px 8px rgba(0,0,0,.1);border-radius:.25rem;overflow:hidden;transition:box-shadow .2s ease-in-out}.container-search .mod-finder__search.input-group:focus-within{box-shadow:0 4px 12px rgba(0,0,0,.15)}.container-search .awesomplete input,.container-search .form-control{border-right:none;padding:.6rem 1rem;font-size:.95rem;border-radius:.25rem 0 0 .25rem}.container-search .awesomplete input:focus,.container-search .form-control:focus{border-color:var(--input-focus-border-color);box-shadow:none}.container-search .input-group button,.container-search button[type=submit]{display:flex;align-items:center;justify-content:center;min-width:3rem;font-weight:500}.container-search .icon-search{font-size:1rem;color:var(--nav-bg-color)}@media (max-width:991.98px){.container-header .container-nav{flex-direction:column}.container-header .container-nav nav{width:100%;margin-bottom:1rem}.container-header .container-search{width:100%;margin-top:.5rem}.mod-finder__search.input-group{max-width:100%}}@media (min-width:992px){.container-header .container-nav{display:flex;flex-direction:row;align-items:center;gap:2rem}.container-header .container-nav nav{flex:1}.container-header .container-search{flex:0 0 auto;min-width:300px;margin-top:0}}[class*=" icon-"]::before,[class^=icon-]::before{--_fa-family:var(--fa-family, var(--fa-style-family, "Font Awesome 7 Free"));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:var(--fa-display,inline-block);font-family:var(--_fa-family);font-feature-settings:normal;font-style:normal;font-synthesis:none;font-variant:normal;font-weight:var(--fa-style,900);line-height:1;text-align:center;text-rendering:auto;width:var(--fa-width,1.25em)}[class*=" icon-"],[class^=icon-]{display:inline-flex;align-items:center;justify-content:center}.icon-menu::before{content:"\f0c9"}.icon-search::before{content:"\f002"}.icon-user::before{content:"\f007"}.icon-edit::before{content:"\f044"}.icon-save::before{content:"\f0c7"}.icon-trash::before{content:"\f1f8"}.icon-cancel::before{content:"\f00d"}.icon-check::before{content:"\f00c"}.icon-plus::before{content:"\f067"}.icon-minus::before{content:"\f068"}.btn-success{--btn-color:white;--btn-bg:var(--success);--btn-border-color:var(--success);--btn-hover-bg:color-mix(in srgb, var(--success) 85%, black);--btn-hover-border-color:color-mix(in srgb, var(--success) 85%, black)}.btn-info{--btn-color:white;--btn-bg:var(--info);--btn-border-color:var(--info);--btn-hover-bg:color-mix(in srgb, var(--info) 85%, black);--btn-hover-border-color:color-mix(in srgb, var(--info) 85%, black)}.btn-warning{--btn-color:white;--btn-bg:var(--warning);--btn-border-color:var(--warning);--btn-hover-bg:color-mix(in srgb, var(--warning) 85%, black);--btn-hover-border-color:color-mix(in srgb, var(--warning) 85%, black)}.btn-danger{--btn-color:white;--btn-bg:var(--danger);--btn-border-color:var(--danger);--btn-hover-bg:color-mix(in srgb, var(--danger) 85%, black);--btn-hover-border-color:color-mix(in srgb, var(--danger) 85%, black)}.btn-light{--btn-color:var(--body-color);--btn-bg:var(--light);--btn-border-color:var(--light);--btn-hover-bg:color-mix(in srgb, var(--light) 90%, black);--btn-hover-border-color:color-mix(in srgb, var(--light) 90%, black)}.btn-dark{--btn-color:white;--btn-bg:var(--dark);--btn-border-color:var(--dark);--btn-hover-bg:color-mix(in srgb, var(--dark) 85%, black);--btn-hover-border-color:color-mix(in srgb, var(--dark) 85%, black)}.btn-outline-primary{--btn-color:var(--color-primary);--btn-border-color:var(--color-primary);--btn-hover-color:white;--btn-hover-bg:var(--color-primary);--btn-hover-border-color:var(--color-primary)}.btn-outline-secondary{--btn-color:var(--secondary);--btn-border-color:var(--secondary);--btn-hover-color:white;--btn-hover-bg:var(--secondary);--btn-hover-border-color:var(--secondary)}.btn-outline-success{--btn-color:var(--success);--btn-border-color:var(--success);--btn-hover-color:white;--btn-hover-bg:var(--success);--btn-hover-border-color:var(--success)}.btn-outline-info{--btn-color:var(--info);--btn-border-color:var(--info);--btn-hover-color:white;--btn-hover-bg:var(--info);--btn-hover-border-color:var(--info)}.btn-outline-warning{--btn-color:var(--warning);--btn-border-color:var(--warning);--btn-hover-color:white;--btn-hover-bg:var(--warning);--btn-hover-border-color:var(--warning)}.btn-outline-danger{--btn-color:var(--danger);--btn-border-color:var(--danger);--btn-hover-color:white;--btn-hover-bg:var(--danger);--btn-hover-border-color:var(--danger)}.btn-outline-light{--btn-color:var(--light);--btn-border-color:var(--light);--btn-hover-color:var(--body-color);--btn-hover-bg:var(--light);--btn-hover-border-color:var(--light)}.btn-outline-dark{--btn-color:var(--dark);--btn-border-color:var(--dark);--btn-hover-color:white;--btn-hover-bg:var(--dark);--btn-hover-border-color:var(--dark)}.alert-primary{--alert-bg:color-mix(in srgb, var(--primary) 10%, var(--body-bg));--alert-color:color-mix(in srgb, var(--primary) 90%, black);--alert-border-color:color-mix(in srgb, var(--primary) 20%, var(--body-bg))}.alert-secondary{--alert-bg:color-mix(in srgb, var(--secondary) 10%, var(--body-bg));--alert-color:color-mix(in srgb, var(--secondary) 90%, black);--alert-border-color:color-mix(in srgb, var(--secondary) 20%, var(--body-bg))}.alert-success{--alert-bg:color-mix(in srgb, var(--success) 10%, var(--body-bg));--alert-color:color-mix(in srgb, var(--success) 90%, black);--alert-border-color:color-mix(in srgb, var(--success) 20%, var(--body-bg))}.alert-info{--alert-bg:color-mix(in srgb, var(--info) 10%, var(--body-bg));--alert-color:color-mix(in srgb, var(--info) 90%, black);--alert-border-color:color-mix(in srgb, var(--info) 20%, var(--body-bg))}.alert-warning{--alert-bg:color-mix(in srgb, var(--warning) 10%, var(--body-bg));--alert-color:color-mix(in srgb, var(--warning) 90%, black);--alert-border-color:color-mix(in srgb, var(--warning) 20%, var(--body-bg))}.alert-danger{--alert-bg:color-mix(in srgb, var(--danger) 10%, var(--body-bg));--alert-color:color-mix(in srgb, var(--danger) 90%, black);--alert-border-color:color-mix(in srgb, var(--danger) 20%, var(--body-bg))}.alert-light{--alert-bg:var(--light);--alert-color:var(--body-color);--alert-border-color:color-mix(in srgb, var(--light) 85%, black)}.alert-dark{--alert-bg:var(--dark);--alert-color:white;--alert-border-color:var(--dark)}.alert-message{--alert-bg:var(--alert-info, color-mix(in srgb, var(--info) 10%, var(--body-bg)));--alert-color:color-mix(in srgb, var(--info) 90%, black);--alert-border-color:color-mix(in srgb, var(--info) 20%, var(--body-bg))}.alert-error{--alert-bg:var(--alert-danger, color-mix(in srgb, var(--danger) 10%, var(--body-bg)));--alert-color:color-mix(in srgb, var(--danger) 90%, black);--alert-border-color:color-mix(in srgb, var(--danger) 20%, var(--body-bg))}.alert-notice{--alert-bg:var(--alert-warning, color-mix(in srgb, var(--warning) 10%, var(--body-bg)));--alert-color:color-mix(in srgb, var(--warning) 90%, black);--alert-border-color:color-mix(in srgb, var(--warning) 20%, var(--body-bg))}.mod-search-responsive{width:100%}.mod-search__form,.mod-search__input-wrapper{display:flex;flex-direction:column;gap:.5rem;width:100%}.mod-search__input-wrapper--inline{flex-direction:row;align-items:stretch}.mod-search__input{flex:1;min-width:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5;border:1px solid var(--input-border-color,#dee2e6);border-radius:.375rem;background-color:var(--input-bg,#fff);color:var(--input-color,#212529);-webkit-appearance:none;appearance:none}.mod-search__input:focus{border-color:var(--color-primary,#0d6efd);outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.mod-search__button-wrapper{display:flex}.mod-search__button-wrapper--left,.mod-search__button-wrapper--right{flex-shrink:0}.mod-search__button{padding:.5rem 1rem;font-size:1rem;line-height:1.5;border-radius:.375rem;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.mod-search__button--icon{padding:.5rem;width:44px;height:44px}.mod-search__button--icon .icon-search{font-size:1.25rem}@media (max-width:575.98px){.mod-search__input{font-size:16px;padding:.625rem .875rem}.mod-search__button{padding:.625rem 1.25rem;font-size:1rem;min-height:48px}.mod-search__button--icon{width:48px;height:48px}.mod-search__input-wrapper--inline{flex-direction:column}.mod-search__button-wrapper--left .mod-search__button,.mod-search__button-wrapper--right .mod-search__button{width:100%}}@media (min-width:576px) and (max-width:767.98px){.mod-search__input-wrapper--inline{flex-direction:row}}@media (min-width:768px){.mod-search__form{flex-direction:row;align-items:center}.mod-search__input-wrapper--inline{flex-direction:row}.mod-search__button-wrapper--bottom,.mod-search__button-wrapper--top{flex:0 0 auto}}.mod-vm-cart-responsive{width:100%}.mod-vm-cart__header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--vm-surface);border:1px solid var(--vm-border);border-radius:var(--vm-block-radius);margin-bottom:1rem}.mod-vm-cart__icon{font-size:1.5rem;color:var(--vm-btn-primary-bg);flex-shrink:0}.mod-vm-cart__summary{flex:1;min-width:0}.mod-vm-cart__count{font-weight:600;color:var(--vm-text-strong);font-size:1rem}.mod-vm-cart__total{color:var(--vm-price-color);font-weight:700;font-size:var(--vm-price-size);margin-top:.25rem}.mod-vm-cart__products{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.mod-vm-cart__product{display:flex;gap:.75rem;padding:.75rem;background:var(--vm-surface-2);border:1px solid var(--vm-border);border-radius:var(--vm-block-radius);align-items:flex-start}.mod-vm-cart__product-image{flex-shrink:0;width:80px}.mod-vm-cart__product-image img{width:100%;height:auto;border-radius:var(--vm-input-radius)}.mod-vm-cart__product-details{flex:1;min-width:0}.mod-vm-cart__product-name{font-weight:600;margin-bottom:.25rem;line-height:1.4}.mod-vm-cart__product-name a{color:var(--vm-text-strong);text-decoration:none}.mod-vm-cart__product-name a:hover{color:var(--color-primary);text-decoration:underline}.mod-vm-cart__product-quantity{font-size:.875rem;color:var(--vm-text-muted);margin-bottom:.25rem}.mod-vm-cart__quantity-value{font-weight:600;color:var(--vm-text)}.mod-vm-cart__product-price{font-weight:700;color:var(--vm-price-color);margin-top:.25rem}.mod-vm-cart__product-remove{flex-shrink:0}.mod-vm-cart__remove-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--vm-surface);border:1px solid var(--vm-border);color:var(--danger);text-decoration:none;transition:.2s}.mod-vm-cart__remove-btn:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.mod-vm-cart__actions{display:flex;flex-direction:column;gap:.5rem}.mod-vm-cart__btn{padding:var(--vm-btn-padding-y) var(--vm-btn-padding-x);border-radius:var(--vm-btn-radius);text-align:center;text-decoration:none;font-weight:600;min-height:44px;display:inline-flex;align-items:center;justify-content:center;transition:.2s}.mod-vm-cart__empty{text-align:center;padding:2rem 1rem;background:var(--vm-surface-2);border:1px solid var(--vm-border);border-radius:var(--vm-block-radius)}.mod-vm-cart__empty-icon{font-size:3rem;color:var(--vm-text-muted);display:block;margin-bottom:1rem}.mod-vm-cart__empty-text{color:var(--vm-text-muted);margin:0}.mod-vm-product-responsive{width:100%}.mod-vm-product__header{margin-bottom:1.5rem}.mod-vm-product__list{display:grid;gap:1.5rem}.mod-vm-product__list--div{grid-template-columns:1fr}.mod-vm-product__item{background:var(--vm-surface);border:1px solid var(--vm-border);border-radius:var(--vm-block-radius);box-shadow:var(--vm-block-shadow);overflow:hidden;transition:transform .2s,box-shadow .2s}.mod-vm-product__item:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.mod-vm-product__image{position:relative;overflow:hidden}.mod-vm-product__image img{width:100%;height:auto;display:block}.mod-vm-product__availability{position:absolute;top:.5rem;right:.5rem;padding:.25rem .75rem;background:var(--vm-availability-bg);color:var(--vm-availability-text);border-radius:var(--vm-alert-radius);font-size:.875rem;font-weight:600}.mod-vm-product__content{padding:1rem}.mod-vm-product__title{font-size:var(--vm-product-title-size);font-weight:var(--vm-product-title-weight);margin:0 0 .75rem;line-height:1.4}.mod-vm-product__title a{color:var(--vm-text-strong);text-decoration:none}.mod-vm-product__title a:hover{color:var(--color-primary);text-decoration:underline}.mod-vm-product__description{color:var(--vm-text-muted);font-size:.875rem;margin-bottom:1rem;line-height:1.6}.mod-vm-product__price{font-size:var(--vm-price-detail-size);font-weight:700;color:var(--vm-price-color);margin-bottom:1rem}.mod-vm-product__actions{display:flex;flex-direction:column;gap:.5rem}.mod-vm-product__btn{padding:var(--vm-btn-padding-y) var(--vm-btn-padding-x);border-radius:var(--vm-btn-radius);text-align:center;text-decoration:none;font-weight:600;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.mod-vm-product__empty{text-align:center;padding:2rem 1rem;background:var(--vm-surface-2);border:1px solid var(--vm-border);border-radius:var(--vm-block-radius);color:var(--vm-text-muted)}.mod-vm-currencies-responsive{width:100%}.mod-vm-currencies__form{display:flex;flex-direction:column;gap:.5rem}.mod-vm-currencies__label{font-weight:600;color:var(--vm-text-strong);font-size:.875rem}.mod-vm-currencies__select-wrapper{position:relative;display:flex;align-items:center}.mod-vm-currencies__select{flex:1;padding:.5rem 2.5rem .5rem .75rem;font-size:1rem;line-height:1.5;border:1px solid var(--vm-border);border-radius:var(--vm-input-radius);background:var(--vm-surface);color:var(--vm-text);min-height:44px;appearance:none;-webkit-appearance:none;cursor:pointer}.mod-vm-currencies__select:focus{border-color:var(--color-primary);outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.mod-vm-currencies__icon{position:absolute;right:.75rem;pointer-events:none;color:var(--vm-text-muted)}.mod-vm-currencies__submit{padding:var(--vm-btn-padding-y) var(--vm-btn-padding-x);border-radius:var(--vm-btn-radius);min-height:44px}.mod-vm-currencies__text-after,.mod-vm-currencies__text-before{font-size:.875rem;color:var(--vm-text-muted)}.mod-vm-category-responsive{width:100%}.mod-vm-category__list{list-style:none;padding:0;margin:0}.mod-vm-category__item{margin-bottom:.5rem}.mod-vm-category__link{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--vm-surface);border:1px solid var(--vm-border);border-radius:var(--vm-input-radius);color:var(--vm-text);text-decoration:none;transition:.2s;min-height:44px}.mod-vm-category__link:hover{background:var(--vm-surface-2);border-color:var(--color-primary);color:var(--color-primary)}.mod-vm-category__link--active{background:var(--vm-btn-primary-bg);border-color:var(--vm-btn-primary-bg);color:var(--vm-btn-primary-text);font-weight:600}.mod-vm-category__image{flex-shrink:0;width:40px;height:40px;overflow:hidden;border-radius:var(--vm-input-radius)}.mod-vm-category__image img{width:100%;height:100%;object-fit:cover}.mod-vm-category__name{flex:1;min-width:0}.mod-vm-category__count{color:var(--vm-text-muted);font-size:.875rem;flex-shrink:0}.mod-vm-category__description{padding:.5rem .75rem;font-size:.875rem;color:var(--vm-text-muted);line-height:1.6}.mod-vm-category__sublist{list-style:none;padding:0 0 0 1.5rem;margin:.5rem 0 0}.mod-vm-category__subitem{margin-bottom:.25rem}.mod-vm-category__sublink{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--vm-surface-2);border:1px solid var(--vm-border);border-radius:var(--vm-input-radius);color:var(--vm-text);text-decoration:none;font-size:.875rem;transition:.2s;min-height:40px}.mod-vm-category__sublink:hover{background:var(--vm-surface);border-color:var(--color-primary);color:var(--color-primary)}.mod-vm-category__sublink--active{background:var(--vm-btn-secondary-bg);border-color:var(--vm-btn-secondary-bg);color:var(--vm-btn-secondary-text);font-weight:600}.mod-vm-category__empty{text-align:center;padding:2rem 1rem;background:var(--vm-surface-2);border:1px solid var(--vm-border);border-radius:var(--vm-block-radius);color:var(--vm-text-muted)}.mod-vm-manufacturer-responsive{width:100%}.mod-vm-manufacturer__container{display:grid;gap:1rem}.mod-vm-manufacturer__container--list{grid-template-columns:1fr}.mod-vm-manufacturer__container--grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.mod-vm-manufacturer__item{background:var(--vm-surface);border:1px solid var(--vm-border);border-radius:var(--vm-block-radius);overflow:hidden;transition:transform .2s,box-shadow .2s}.mod-vm-manufacturer__item:hover{transform:translateY(-2px);box-shadow:var(--vm-block-shadow)}.mod-vm-manufacturer__link{display:block;text-decoration:none;color:var(--vm-text);min-height:44px}.mod-vm-manufacturer__image{width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--vm-surface-2);display:flex;align-items:center;justify-content:center}.mod-vm-manufacturer__image img{width:100%;height:100%;object-fit:contain;padding:1rem}.mod-vm-manufacturer__content{padding:1rem}.mod-vm-manufacturer__name{font-weight:600;color:var(--vm-text-strong);display:block;margin-bottom:.5rem}.mod-vm-manufacturer__link:hover .mod-vm-manufacturer__name{color:var(--color-primary)}.mod-vm-manufacturer__description{font-size:.875rem;color:var(--vm-text-muted);line-height:1.6}.mod-vm-manufacturer__empty{text-align:center;padding:2rem 1rem;background:var(--vm-surface-2);border:1px solid var(--vm-border);border-radius:var(--vm-block-radius);color:var(--vm-text-muted)}@media (max-width:575.98px){.mod-vm-cart__header{padding:.75rem}.mod-vm-cart__product{flex-direction:column}.mod-vm-cart__product-image{width:100%;max-width:200px;margin:0 auto}.mod-vm-cart__actions{gap:.75rem}.mod-vm-cart__btn{min-height:48px;padding:.75rem 1rem;font-size:1rem}.mod-vm-product__actions{gap:.75rem}.mod-vm-product__btn{min-height:48px;padding:.75rem 1rem}.mod-vm-currencies__select{font-size:16px;min-height:48px;padding:.75rem 2.5rem .75rem 1rem}.mod-vm-currencies__submit{min-height:48px;padding:.75rem 1rem}.mod-vm-category__link{min-height:48px;padding:.875rem}.mod-vm-category__sublink{min-height:44px}.mod-vm-manufacturer__container--grid{grid-template-columns:1fr}}@media (min-width:576px) and (max-width:767.98px){.mod-vm-manufacturer__container--grid,.mod-vm-product__list--div{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.mod-vm-cart__actions{flex-direction:row}.mod-vm-product__list--div{grid-template-columns:repeat(3,1fr)}.mod-vm-product__actions{flex-direction:row}.mod-vm-manufacturer__container--grid{grid-template-columns:repeat(3,1fr)}}.mod-menu-responsive{width:100%}.mod-menu__heading{margin-bottom:1rem;font-weight:600}.mod-menu-main{background-color:var(--body-bg);padding:.5rem 0}.mod-menu-main .navbar-toggler{border-color:var(--border-color);padding:.5rem .75rem;font-size:1.25rem;min-height:48px}.mod-menu-main .navbar-toggler:focus{box-shadow:0 0 0 .25rem rgba(var(--link-color-rgb),.25);outline:0}.mod-menu-main .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.mod-menu-main__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.mod-menu-main__item{position:relative}.mod-menu-main__heading,.mod-menu-main__link{display:block;padding:.75rem 1rem;color:var(--link-color);text-decoration:none;transition:background-color .2s,color .2s;min-height:48px;display:flex;align-items:center;border-radius:var(--border-radius)}.mod-menu-main__link:focus,.mod-menu-main__link:hover{background-color:var(--secondary-bg);color:var(--link-hover-color);text-decoration:none}.mod-menu-main__item.active>.mod-menu-main__link,.mod-menu-main__item.current>.mod-menu-main__link{background-color:var(--primary-bg);color:var(--white);font-weight:600}.mod-menu-main__dropdown{list-style:none;padding:.5rem 0;margin:0;background-color:var(--body-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);display:none}.mod-menu-main__item.dropdown.show>.mod-menu-main__dropdown{display:block}.mod-menu-main__dropdown .mod-menu-main__item{padding:0}.mod-menu-main__dropdown .mod-menu-main__link{padding:.5rem 1.5rem;min-height:44px}.mod-menu-main__dropdown .mod-menu-main__link:focus,.mod-menu-main__dropdown .mod-menu-main__link:hover{background-color:var(--secondary-bg)}.mod-menu-main__separator{border-top:1px solid var(--border-color);margin:.5rem 0;padding:0}.mod-menu-main__heading.dropdown-toggle::after,.mod-menu-main__link.dropdown-toggle::after{content:"";display:inline-block;margin-left:auto;padding-left:.5rem;vertical-align:middle;border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}@media (min-width:768px){.mod-menu-main__list{flex-direction:row;flex-wrap:wrap;gap:0}.mod-menu-main__heading,.mod-menu-main__link{min-height:44px;padding:.5rem 1rem}.mod-menu-main__item.dropdown{position:relative}.mod-menu-main__dropdown{position:absolute;top:100%;left:0;min-width:200px;z-index:1000;margin-top:.125rem}.mod-menu-main__item.dropdown:hover>.mod-menu-main__dropdown{display:block}.mod-menu-main__dropdown .mod-menu-main__dropdown{top:0;left:100%;margin-top:0;margin-left:.125rem}}@media (min-width:992px){.mod-vm-manufacturer__container--grid,.mod-vm-product__list--div{grid-template-columns:repeat(4,1fr)}.mod-menu-main{padding:1rem 0}.mod-menu-main__list{gap:.25rem}}.mod-breadcrumbs-responsive{width:100%;padding:.75rem 0}.mod-breadcrumbs__prefix{font-weight:600;margin-right:.5rem;color:var(--body-color)}.mod-breadcrumbs__list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0;align-items:center}.mod-breadcrumbs__item{display:flex;align-items:center}.mod-breadcrumbs__item:not(:last-child)::after{content:"/";margin-left:.5rem;color:var(--gray-500)}.mod-breadcrumbs__link{color:var(--link-color);text-decoration:none;transition:color .2s}.mod-breadcrumbs__link:hover{color:var(--link-hover-color);text-decoration:underline}.mod-breadcrumbs__current{color:var(--body-color);font-weight:600}.mod-breadcrumbs__item--home .icon-home{font-size:1.25rem}.mod-login-responsive{width:100%}.mod-login__form{display:flex;flex-direction:column;gap:1rem}.mod-login__greeting{padding:1rem;background:var(--secondary-bg);border-radius:var(--border-radius);margin-bottom:1rem;font-weight:600}.mod-login__posttext,.mod-login__pretext{font-size:.875rem;color:var(--gray-600);line-height:1.6}.mod-login__fields{display:flex;flex-direction:column;gap:1rem}.mod-login__field{display:flex;flex-direction:column;gap:.5rem}.mod-login__label{font-weight:600;font-size:.875rem;color:var(--body-color)}.mod-login__input{padding:.5rem .75rem;font-size:1rem;line-height:1.5;border:1px solid var(--input-border-color,#dee2e6);border-radius:var(--border-radius);background:var(--input-bg,#fff);color:var(--input-color,#212529);min-height:44px}.mod-login__input:focus{border-color:var(--color-primary);outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.mod-login__remember{display:flex;align-items:center;gap:.5rem}.mod-login__checkbox{width:20px;height:20px;cursor:pointer}.mod-login__remember-label{font-size:.875rem;cursor:pointer;margin:0}.mod-login__actions{display:flex;flex-direction:column;gap:.5rem}.mod-login__btn{padding:.625rem 1rem;font-size:1rem;font-weight:600;border-radius:var(--border-radius);min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:.2s;border:none;cursor:pointer}.mod-login__links{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.mod-login__link{color:var(--link-color);text-decoration:none;font-size:.875rem;display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-radius:var(--border-radius);transition:background .2s}.mod-login__link:hover{background:var(--secondary-bg);color:var(--link-hover-color)}.mod-articles-latest-responsive{width:100%}.mod-articles-latest__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1.5rem}.mod-articles-latest__item{padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.mod-articles-latest__item:last-child{border-bottom:none;padding-bottom:0}.mod-articles-latest__title{margin:0 0 .75rem;font-weight:600;line-height:1.4}.mod-articles-latest__link{color:var(--body-color);text-decoration:none;transition:color .2s}.mod-articles-latest__link:hover{color:var(--color-primary);text-decoration:underline}.mod-articles-latest__meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.875rem;color:var(--gray-600);margin-bottom:.75rem}.mod-articles-latest__meta>span{display:flex;align-items:center;gap:.25rem}.mod-articles-latest__intro{color:var(--body-color);line-height:1.6;margin-bottom:1rem}.mod-articles-latest__readmore{margin-top:1rem}.mod-articles-latest__readmore-link{display:inline-flex;align-items:center;gap:.5rem;min-height:44px}.mod-articles-latest__empty{text-align:center;padding:2rem 1rem;background:var(--secondary-bg);border-radius:var(--border-radius);color:var(--gray-600)}.mod-cblogin-responsive{width:100%}.mod-cblogin__form{display:flex;flex-direction:column;gap:1rem}.mod-cblogin__greeting{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--secondary-bg);border-radius:var(--border-radius);margin-bottom:1rem}.mod-cblogin__avatar{flex-shrink:0;width:60px;height:60px;border-radius:50%;overflow:hidden}.mod-cblogin__avatar img{width:100%;height:100%;object-fit:cover}.mod-cblogin__user-info{flex:1}.mod-cblogin__username{font-weight:600;font-size:1.125rem}.mod-cblogin__posttext,.mod-cblogin__pretext{font-size:.875rem;color:var(--gray-600);line-height:1.6}.mod-cblogin__fields{display:flex;flex-direction:column;gap:1rem}.mod-cblogin__field{display:flex;flex-direction:column;gap:.5rem}.mod-cblogin__label{font-weight:600;font-size:.875rem;color:var(--body-color)}.mod-cblogin__input{padding:.5rem .75rem;font-size:1rem;line-height:1.5;border:1px solid var(--input-border-color,#dee2e6);border-radius:var(--border-radius);background:var(--input-bg,#fff);color:var(--input-color,#212529);min-height:44px}.mod-cblogin__input:focus{border-color:var(--color-primary);outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.mod-cblogin__remember{display:flex;align-items:center;gap:.5rem}.mod-cblogin__checkbox{width:20px;height:20px;cursor:pointer}.mod-cblogin__remember-label{font-size:.875rem;cursor:pointer;margin:0}.mod-cblogin__actions{display:flex;flex-direction:column;gap:.5rem}.mod-cblogin__btn{padding:.625rem 1rem;font-size:1rem;font-weight:600;border-radius:var(--border-radius);min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:.2s;border:none;cursor:pointer;text-decoration:none}.mod-cblogin__links{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.mod-cblogin__link{color:var(--link-color);text-decoration:none;font-size:.875rem;display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-radius:var(--border-radius);transition:background .2s}.mod-cblogin__link:hover{background:var(--secondary-bg);color:var(--link-hover-color)}.mod-cb-online-responsive{width:100%}.mod-cb-online__stats{padding:1rem;background:var(--secondary-bg);border-radius:var(--border-radius);margin-bottom:1.5rem}.mod-cb-online__count{display:flex;flex-direction:column;align-items:center;margin-bottom:1rem}.mod-cb-online__count-number{font-size:2.5rem;font-weight:700;color:var(--color-primary);line-height:1}.mod-cb-online__count-label{font-size:.875rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.mod-cb-online__breakdown{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.mod-cb-online__breakdown-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--body-color)}.mod-cb-online__heading{font-size:1.125rem;font-weight:600;margin:0 0 1rem}.mod-cb-online__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.mod-cb-online__user{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--body-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:.2s}.mod-cb-online__user:hover{background:var(--secondary-bg);border-color:var(--color-primary)}.mod-cb-online__avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;overflow:hidden}.mod-cb-online__avatar img{width:100%;height:100%;object-fit:cover}.mod-cb-online__info{flex:1;min-width:0}.mod-cb-online__name{font-weight:600;color:var(--body-color);text-decoration:none;display:block;margin-bottom:.25rem}.mod-cb-online__name:hover{color:var(--color-primary)}.mod-cb-online__status{font-size:.875rem;color:var(--gray-600);display:block}.mod-cb-online__indicator{flex-shrink:0;color:var(--success);font-size:1.25rem}.mod-cb-online__empty{text-align:center;padding:2rem 1rem;background:var(--secondary-bg);border-radius:var(--border-radius);color:var(--gray-600)}@media (max-width:575.98px){.mod-cblogin__input,.mod-login__input{font-size:16px;min-height:48px;padding:.75rem 1rem}.mod-cblogin__btn,.mod-login__btn{min-height:48px;padding:.75rem 1rem}.mod-articles-latest__meta{flex-direction:column;gap:.5rem}.mod-cb-online__breakdown{flex-direction:column;gap:.75rem}}@media (min-width:768px){.mod-cblogin__actions,.mod-login__actions{flex-direction:row}.mod-cb-online__stats{display:flex;align-items:center;justify-content:space-between}.mod-cb-online__count{margin-bottom:0;align-items:flex-start}}.mod-k2-content-responsive{width:100%}.mod-k2-content__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1.5rem}.mod-k2-content__item{display:flex;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.mod-k2-content__item:last-child{border-bottom:none;padding-bottom:0}.mod-k2-content__image{flex-shrink:0;width:120px;overflow:hidden;border-radius:var(--border-radius)}.mod-k2-content__image img{width:100%;height:auto;display:block;transition:transform .3s}.mod-k2-content__image:hover img{transform:scale(1.05)}.mod-k2-content__content{flex:1;min-width:0}.mod-k2-content__title{margin:0 0 .75rem;font-weight:600;line-height:1.4}.mod-k2-content__title a{color:var(--body-color);text-decoration:none;transition:color .2s}.mod-k2-content__title a:hover{color:var(--color-primary);text-decoration:underline}.mod-k2-content__meta{display:flex;flex-wrap:wrap;gap:1rem;font-size:.875rem;color:var(--gray-600);margin-bottom:.75rem}.mod-k2-content__meta>span{display:flex;align-items:center;gap:.25rem}.mod-k2-content__intro{color:var(--body-color);line-height:1.6;margin-bottom:1rem}.mod-k2-content__readmore{margin-top:1rem}.mod-k2-content__readmore-link{display:inline-flex;align-items:center;gap:.5rem;min-height:44px}.mod-k2-content__custom-link{margin-top:1.5rem;text-align:center}.mod-k2-content__empty{text-align:center;padding:2rem 1rem;background:var(--secondary-bg);border-radius:var(--border-radius);color:var(--gray-600)}.mod-acymailing-responsive{width:100%}.mod-acymailing__form-container{background:var(--body-bg);padding:1.5rem;border-radius:var(--border-radius);border:1px solid var(--border-color)}.mod-acymailing__intro{margin-bottom:1.5rem;line-height:1.6;color:var(--body-color)}.mod-acymailing__outro{margin-top:1.5rem;font-size:.875rem;color:var(--gray-600);line-height:1.6}.mod-acymailing__empty{text-align:center;padding:2rem 1rem;background:var(--secondary-bg);border-radius:var(--border-radius);color:var(--gray-600)}.mod-hikashop-cart-responsive{width:100%}.mod-hikashop-cart__header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--secondary-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:1rem}.mod-hikashop-cart__icon{font-size:1.5rem;color:var(--color-primary);flex-shrink:0}.mod-hikashop-cart__summary{flex:1;min-width:0}.mod-hikashop-cart__count{font-weight:600;color:var(--body-color);font-size:1rem}.mod-hikashop-cart__total{color:var(--success);font-weight:700;font-size:1.25rem;margin-top:.25rem}.mod-hikashop-cart__products{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.mod-hikashop-cart__product{display:flex;gap:.75rem;padding:.75rem;background:var(--body-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);align-items:flex-start}.mod-hikashop-cart__product-image{flex-shrink:0;width:80px}.mod-hikashop-cart__product-image img{width:100%;height:auto;border-radius:var(--border-radius)}.mod-hikashop-cart__product-details{flex:1;min-width:0}.mod-hikashop-cart__product-name{font-weight:600;margin-bottom:.25rem;line-height:1.4;color:var(--body-color)}.mod-hikashop-cart__product-quantity{font-size:.875rem;color:var(--gray-600);margin-bottom:.25rem}.mod-hikashop-cart__quantity-value{font-weight:600;color:var(--body-color)}.mod-hikashop-cart__product-price{font-weight:700;color:var(--success);margin-top:.25rem}.mod-hikashop-cart__product-remove{flex-shrink:0}.mod-hikashop-cart__remove-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--body-bg);border:1px solid var(--border-color);color:var(--danger);text-decoration:none;transition:.2s}.mod-hikashop-cart__remove-btn:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.mod-hikashop-cart__actions{display:flex;flex-direction:column;gap:.5rem}.mod-hikashop-cart__btn{padding:.625rem 1rem;border-radius:var(--border-radius);text-align:center;text-decoration:none;font-weight:600;min-height:44px;display:inline-flex;align-items:center;justify-content:center;transition:.2s}.mod-hikashop-cart__empty{text-align:center;padding:2rem 1rem;background:var(--secondary-bg);border:1px solid var(--border-color);border-radius:var(--border-radius)}.mod-hikashop-cart__empty-icon{font-size:3rem;color:var(--gray-600);display:block;margin-bottom:1rem}.mod-hikashop-cart__empty-text{color:var(--gray-600);margin:0}.mod-kunena-latest-responsive{width:100%}.mod-kunena-latest__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.mod-kunena-latest__item{display:flex;gap:.75rem;padding:1rem;background:var(--body-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:.2s}.mod-kunena-latest__item:hover{background:var(--secondary-bg);border-color:var(--color-primary)}.mod-kunena-latest__avatar{flex-shrink:0;width:40px;height:40px;border-radius:50%;overflow:hidden}.mod-kunena-latest__avatar img{width:100%;height:100%;object-fit:cover}.mod-kunena-latest__content{flex:1;min-width:0}.mod-kunena-latest__title{margin:0 0 .5rem;font-weight:600;font-size:1rem;line-height:1.4}.mod-kunena-latest__title a{color:var(--body-color);text-decoration:none;transition:color .2s}.mod-kunena-latest__title a:hover{color:var(--color-primary);text-decoration:underline}.mod-kunena-latest__meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.875rem;color:var(--gray-600);margin-bottom:.5rem}.mod-kunena-latest__meta>span{display:flex;align-items:center;gap:.25rem}.mod-kunena-latest__meta a{color:var(--gray-600);text-decoration:none;transition:color .2s}.mod-kunena-latest__meta a:hover{color:var(--color-primary)}.mod-kunena-latest__excerpt{font-size:.875rem;color:var(--body-color);line-height:1.6;margin-top:.5rem}.mod-kunena-latest__more{margin-top:1.5rem;text-align:center}.mod-kunena-latest__more-link{display:inline-flex;align-items:center;gap:.5rem;min-height:44px}.mod-kunena-latest__empty{text-align:center;padding:2rem 1rem;background:var(--secondary-bg);border-radius:var(--border-radius);color:var(--gray-600)}@media (max-width:575.98px){.mod-k2-content__item{flex-direction:column}.mod-k2-content__image{width:100%;max-width:300px;margin:0 auto}.mod-k2-content__meta{flex-direction:column;gap:.5rem}.mod-hikashop-cart__product{flex-direction:column}.mod-hikashop-cart__product-image{width:100%;max-width:200px;margin:0 auto}.mod-hikashop-cart__actions{gap:.75rem}.mod-hikashop-cart__btn{min-height:48px;padding:.75rem 1rem;font-size:1rem}.mod-kunena-latest__meta{flex-direction:column;gap:.5rem}}@media (min-width:768px){.mod-hikashop-cart__actions{flex-direction:row}.mod-k2-content__custom-link{text-align:left}}.mod-kunena-login-responsive{width:100%}.mod-kunena-login__profile{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--secondary-bg);border-radius:var(--border-radius);margin-bottom:1rem}.mod-kunena-login__avatar{flex-shrink:0;width:60px;height:60px;border-radius:50%;overflow:hidden}.mod-kunena-login__avatar img{width:100%;height:100%;object-fit:cover}.mod-kunena-login__user-info{flex:1}.mod-kunena-login__username{font-weight:600;font-size:1.125rem;margin-bottom:.25rem}.mod-kunena-login__username a{color:var(--body-color);text-decoration:none}.mod-kunena-login__username a:hover{color:var(--color-primary)}.mod-kunena-login__rank{font-size:.875rem;color:var(--gray-600)}.mod-kunena-login__stats{display:flex;gap:1.5rem;padding:1rem;background:var(--body-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);margin-bottom:1rem}.mod-kunena-login__stat{display:flex;gap:.5rem;align-items:center}.mod-kunena-login__stat-label{color:var(--gray-600);font-size:.875rem}.mod-kunena-login__stat-value{font-weight:600;color:var(--body-color)}.mod-kunena-login__form{display:flex;flex-direction:column;gap:1rem}.mod-kunena-login__posttext,.mod-kunena-login__pretext{font-size:.875rem;color:var(--gray-600);line-height:1.6}.mod-kunena-login__fields{display:flex;flex-direction:column;gap:1rem}.mod-kunena-login__field{display:flex;flex-direction:column;gap:.5rem}.mod-kunena-login__label{font-weight:600;font-size:.875rem;color:var(--body-color)}.mod-kunena-login__input{padding:.5rem .75rem;font-size:1rem;line-height:1.5;border:1px solid var(--input-border-color,#dee2e6);border-radius:var(--border-radius);background:var(--input-bg,#fff);color:var(--input-color,#212529);min-height:44px}.mod-kunena-login__input:focus{border-color:var(--color-primary);outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.mod-kunena-login__remember{display:flex;align-items:center;gap:.5rem}.mod-kunena-login__checkbox{width:20px;height:20px;cursor:pointer}.mod-kunena-login__remember-label{font-size:.875rem;cursor:pointer;margin:0}.mod-kunena-login__actions{display:flex;flex-direction:column;gap:.5rem}.mod-kunena-login__btn{padding:.625rem 1rem;font-size:1rem;font-weight:600;border-radius:var(--border-radius);min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:.2s;border:none;cursor:pointer;text-decoration:none;position:relative}.mod-kunena-login__badge{position:absolute;top:-8px;right:-8px;background:var(--danger);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.mod-kunena-login__logout-form{width:100%}.mod-kunena-login__links{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.mod-kunena-login__link{color:var(--link-color);text-decoration:none;font-size:.875rem;display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-radius:var(--border-radius);transition:background .2s}.mod-kunena-login__link:hover{background:var(--secondary-bg);color:var(--link-hover-color)}.mod-kunena-search-responsive{width:100%}.mod-kunena-search__form{display:flex;gap:.5rem;width:100%}.mod-kunena-search__form--button-bottom,.mod-kunena-search__form--button-top{flex-direction:column}.mod-kunena-search__form--button-left{flex-direction:row-reverse}.mod-kunena-search__form--button-right{flex-direction:row}.mod-kunena-search__input-wrapper{flex:1}.mod-kunena-search__input{width:100%;padding:.5rem .75rem;font-size:1rem;line-height:1.5;border:1px solid var(--input-border-color,#dee2e6);border-radius:var(--border-radius);background:var(--input-bg,#fff);color:var(--input-color,#212529);min-height:44px}.mod-kunena-search__input:focus{border-color:var(--color-primary);outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.mod-kunena-search__button{padding:.5rem 1rem;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.mod-kunena-search__form--button-bottom .mod-kunena-search__button,.mod-kunena-search__form--button-top .mod-kunena-search__button,.mod-kunena-stats-responsive{width:100%}.mod-kunena-stats__container{display:grid;gap:1rem;grid-template-columns:1fr}.mod-kunena-stats__stat{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--body-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:.2s}.mod-kunena-stats__stat:hover{background:var(--secondary-bg);border-color:var(--color-primary)}.mod-kunena-stats__icon{font-size:2rem;color:var(--color-primary);flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--secondary-bg);border-radius:50%}.mod-kunena-stats__content{flex:1}.mod-kunena-stats__value{font-size:1.75rem;font-weight:700;color:var(--body-color);line-height:1;margin-bottom:.25rem}.mod-kunena-stats__value--link a{color:var(--color-primary);text-decoration:none;font-size:1.125rem}.mod-kunena-stats__value--link a:hover{text-decoration:underline}.mod-kunena-stats__label{font-size:.875rem;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.mod-kunena-stats__stat--latest-member .mod-kunena-stats__label{margin-bottom:.25rem}.mod-osmembership-responsive{width:100%}.mod-osmembership__plans{display:grid;gap:2rem;grid-template-columns:1fr}.mod-osmembership__plan{background:var(--body-bg);border:2px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;transition:.3s;display:flex;flex-direction:column}.mod-osmembership__plan:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.1);border-color:var(--color-primary)}.mod-osmembership__plan-image{width:100%;overflow:hidden}.mod-osmembership__plan-image img{width:100%;height:auto;display:block}.mod-osmembership__plan-content{padding:2rem;flex:1;display:flex;flex-direction:column}.mod-osmembership__plan-title{margin:0 0 1rem;font-weight:700;font-size:1.5rem;line-height:1.3}.mod-osmembership__plan-description{color:var(--gray-600);line-height:1.6;margin-bottom:1.5rem}.mod-osmembership__plan-pricing{margin-bottom:1.5rem}.mod-osmembership__price{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.mod-osmembership__currency{font-size:1.5rem;color:var(--color-primary);font-weight:600}.mod-osmembership__amount{font-size:2.5rem;font-weight:700;color:var(--color-primary);line-height:1}.mod-osmembership__period{color:var(--gray-600);font-size:1rem}.mod-osmembership__price--free{font-size:2rem;font-weight:700;color:var(--success)}.mod-osmembership__features{flex:1;margin-bottom:1.5rem}.mod-osmembership__features-list{list-style:none;padding:0;margin:0}.mod-osmembership__feature{padding:.5rem 0;display:flex;align-items:flex-start;gap:.5rem}.mod-osmembership__feature .icon-check{color:var(--success);flex-shrink:0;margin-top:.25rem}.mod-osmembership__actions{margin-top:auto}.mod-osmembership__btn{width:100%;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none}.mod-osmembership__all-plans{margin-top:2rem;text-align:center}.mod-osmembership__all-plans-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.mod-osmembership__empty{text-align:center;padding:2rem 1rem;background:var(--secondary-bg);border-radius:var(--border-radius);color:var(--gray-600)}@media (max-width:575.98px){.mod-kunena-login__input{font-size:16px;min-height:48px;padding:.75rem 1rem}.mod-kunena-login__btn{min-height:48px}.mod-kunena-login__stats{flex-direction:column;gap:.75rem}.mod-kunena-search__input{font-size:16px;min-height:48px;padding:.75rem 1rem}.mod-kunena-search__button{min-height:48px}.mod-kunena-stats__container{grid-template-columns:1fr}}@media (min-width:576px){.mod-kunena-stats__container,.mod-osmembership__plans{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.mod-kunena-login__actions{flex-direction:row}.mod-kunena-stats__container{grid-template-columns:repeat(3,1fr)}}@media (min-width:992px){.mod-osmembership__plans{grid-template-columns:repeat(3,1fr)}}.cb-component{width:100%;max-width:100%}.cb-profile-responsive{background:var(--body-bg);border-radius:var(--border-radius)}.cb-profile__header{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;background:var(--secondary-bg);border-radius:var(--border-radius);margin-bottom:2rem}.cb-profile__avatar{width:150px;height:150px;border-radius:50%;overflow:hidden;border:4px solid var(--body-bg);box-shadow:0 4px 12px rgba(0,0,0,.1)}.cb-profile__avatar img{width:100%;height:100%;object-fit:cover}.cb-profile__header-info{text-align:center}.cb-profile__name{font-size:1.75rem;font-weight:700;margin:0 0 .5rem;color:var(--heading-color)}.cb-profile__status{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--success-bg);color:var(--success);border-radius:2rem;font-size:.875rem;font-weight:600}.cb-profile__tabs{margin-top:2rem}.cb-profile__tabs-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 2rem;padding:0;list-style:none;border-bottom:2px solid var(--border-color)}.cb-profile__tab-item{margin:0}.cb-profile__tab-link{display:block;padding:.75rem 1.5rem;color:var(--body-color);text-decoration:none;border-radius:var(--border-radius) var(--border-radius) 0 0;transition:.2s;min-height:44px;display:flex;align-items:center}.cb-profile__tab-link:hover,.cb-profile__tab-link[aria-selected=true]{background:var(--color-primary);color:#fff}.cb-profile__tab-pane{display:none;padding:1.5rem;background:var(--body-bg);border:1px solid var(--border-color);border-radius:var(--border-radius)}.cb-profile__tab-pane[aria-selected=true]{display:block}.cb-profile__tab-description{margin-bottom:1.5rem;padding:1rem;background:var(--secondary-bg);border-radius:var(--border-radius)}.cb-profile__fields{display:grid;gap:1.5rem}.cb-profile__field{display:grid;grid-template-columns:1fr;gap:.5rem}.cb-profile__field-label{font-weight:600;color:var(--heading-color)}.cb-profile__field-value{color:var(--body-color)}.cb-userslist-responsive{width:100%}.cb-userslist__header{margin-bottom:2rem}.cb-userslist__title{font-size:2rem;font-weight:700;margin:0 0 1.5rem;color:var(--heading-color)}.cb-userslist__search-form{width:100%}.cb-userslist__search-wrapper{display:flex;gap:.5rem;width:100%}.cb-userslist__search-input{flex:1;min-height:48px;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:16px;transition:.2s}.cb-userslist__search-input:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.cb-userslist__search-btn{min-height:48px;min-width:48px;padding:.75rem 1.5rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;flex-shrink:0}.cb-userslist__search-text{display:none}.cb-userslist__grid{display:grid;grid-template-columns:1fr;gap:1.5rem}.cb-userslist__user-card{background:var(--body-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:1.5rem;transition:.3s;display:flex;flex-direction:column;gap:1rem}.cb-userslist__user-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1);border-color:var(--color-primary)}.cb-userslist__avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;margin:0 auto}.cb-userslist__avatar img{width:100%;height:100%;object-fit:cover}.cb-userslist__user-info{text-align:center}.cb-userslist__username{font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.cb-userslist__username a{color:var(--heading-color);text-decoration:none}.cb-userslist__username a:hover{color:var(--color-primary)}.cb-userslist__fields{display:grid;gap:.5rem;margin:1rem 0;padding:1rem;background:var(--secondary-bg);border-radius:var(--border-radius)}.cb-userslist__field{font-size:.875rem}.cb-userslist__field-label{font-weight:600;margin-right:.5rem}.cb-userslist__actions{margin-top:1rem}.cb-userslist__btn{min-height:44px;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none}.cb-userslist__pagination{margin-top:2rem;display:flex;justify-content:center}.cb-register-responsive{max-width:800px;margin:0 auto}.cb-register__header{margin-bottom:2rem;text-align:center}.cb-register__title{font-size:2rem;font-weight:700;margin:0 0 1rem;color:var(--heading-color)}.cb-register__intro{padding:1rem;background:var(--secondary-bg);border-radius:var(--border-radius);margin-bottom:1.5rem}.cb-register__form{background:var(--body-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:2rem}.cb-register__fieldset{border:none;margin:0 0 2rem;padding:0}.cb-register__legend{font-size:1.5rem;font-weight:700;color:var(--heading-color);margin:0 0 1.5rem;padding:0 0 .75rem;width:100%;border-bottom:2px solid var(--border-color)}.cb-register__tab-description{margin-bottom:1.5rem;padding:1rem;background:var(--secondary-bg);border-radius:var(--border-radius)}.cb-register__fields{display:grid;gap:1.5rem}.cb-register__field{display:grid;gap:.5rem}.cb-register__label{font-weight:600;color:var(--heading-color);display:flex;align-items:center;gap:.25rem}.cb-register__required{color:var(--danger);font-weight:700}.cb-register__field-description{font-size:.875rem;color:var(--gray-600);margin-top:.25rem}.cb-register__input-wrapper input[type=email],.cb-register__input-wrapper input[type=password],.cb-register__input-wrapper input[type=tel],.cb-register__input-wrapper input[type=text],.cb-register__input-wrapper input[type=url],.cb-register__input-wrapper select,.cb-register__input-wrapper textarea{width:100%;min-height:48px;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:16px;transition:.2s}.cb-register__input-wrapper input:focus,.cb-register__input-wrapper select:focus,.cb-register__input-wrapper textarea:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.cb-register__field--required .cb-register__input-wrapper input,.cb-register__field--required .cb-register__input-wrapper select,.cb-register__field--required .cb-register__input-wrapper textarea{border-left:3px solid var(--danger)}.cb-register__error{color:var(--danger);font-size:.875rem;margin-top:.25rem;padding:.5rem;background:var(--danger-bg);border-radius:var(--border-radius)}.cb-register__captcha{margin:1.5rem 0;padding:1.5rem;background:var(--secondary-bg);border-radius:var(--border-radius)}.cb-register__terms{margin:1.5rem 0;padding:1rem;background:var(--secondary-bg);border-radius:var(--border-radius)}.cb-register__terms-checkbox{min-width:20px;min-height:20px;cursor:pointer}.cb-register__terms-label{cursor:pointer}.cb-register__actions{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.cb-register__btn{min-height:48px;padding:.75rem 1.5rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;border:none;cursor:pointer;font-weight:600;transition:.2s}.cb-login-responsive{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:2rem 1rem}.cb-login__container{width:100%;max-width:450px;background:var(--body-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:2rem;box-shadow:0 4px 12px rgba(0,0,0,.1)}.cb-login__header{text-align:center;margin-bottom:2rem}.cb-login__title{font-size:2rem;font-weight:700;margin:0;color:var(--heading-color)}.cb-login__form{display:grid;gap:1.5rem}.cb-login__field{display:grid;gap:.5rem}.cb-login__label{font-weight:600;color:var(--heading-color);display:flex;align-items:center;gap:.25rem}.cb-login__required{color:var(--danger);font-weight:700}.cb-login__input{width:100%;min-height:48px;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:16px;transition:.2s}.cb-login__input:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.cb-login__remember{margin:.5rem 0}.cb-login__remember-checkbox{min-width:20px;min-height:20px;cursor:pointer}.cb-login__remember-label{cursor:pointer}.cb-login__actions{margin-top:1rem}.cb-login__btn{width:100%;min-height:48px;padding:.75rem 1.5rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none;border:none;cursor:pointer;font-weight:600;transition:.2s}.cb-login__links{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:1rem}.cb-login__link{text-align:center}.cb-login__link-item{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;color:var(--link-color);text-decoration:none;min-height:44px;padding:.5rem;transition:.2s}.cb-login__link-item:hover{color:var(--color-primary)}@media (min-width:576px){.cb-userslist__search-text{display:inline}.cb-profile__field{grid-template-columns:200px 1fr}.cb-register__actions{flex-direction:row;justify-content:flex-end}.cb-register__btn--cancel{order:-1}}@media (min-width:768px){.cb-profile__header{flex-direction:row;text-align:left}.cb-profile__header-info{text-align:left}.cb-userslist__grid{grid-template-columns:repeat(2,1fr)}.cb-userslist__user-card{flex-direction:row;align-items:center}.cb-userslist__avatar{margin:0}.cb-userslist__user-info{text-align:left;flex:1}.cb-login__container{padding:3rem}}@media (min-width:992px){.cb-userslist__grid{grid-template-columns:repeat(3,1fr)}.cb-userslist__user-card{flex-direction:column;text-align:center}.cb-userslist__avatar{margin:0 auto}.cb-userslist__user-info{text-align:center}.cb-profile__tabs-nav{flex-wrap:nowrap}}@media (max-width:575.98px){.cb-login__input,.cb-register__input-wrapper input[type=email],.cb-register__input-wrapper input[type=password],.cb-register__input-wrapper input[type=tel],.cb-register__input-wrapper input[type=text],.cb-register__input-wrapper input[type=url],.cb-register__input-wrapper select,.cb-userslist__search-input{font-size:16px;min-height:48px}.cb-login__btn,.cb-register__btn,.cb-userslist__btn,.cb-userslist__search-btn{min-height:48px}.cb-profile__avatar{width:120px;height:120px}.cb-login__container,.cb-register__form{padding:1.5rem}}.jem-eventslist-responsive{width:100%;max-width:100%}.jem-eventslist__container{padding:1rem}.jem-eventslist__header{margin-bottom:1.5rem}.jem-eventslist__title{font-size:1.75rem;font-weight:700;margin:0;color:var(--body-color)}.jem-eventslist__list{display:flex;flex-direction:column;gap:1.5rem}.jem-eventslist__item{background:var(--secondary-bg,#f8f9fa);border:1px solid var(--border-color,#dee2e6);border-radius:var(--border-radius,.375rem);overflow:hidden;transition:box-shadow .3s}.jem-eventslist__item:hover{box-shadow:0 4px 8px rgba(0,0,0,.1)}.jem-eventslist__item-inner{padding:1.25rem}.jem-eventslist__date{font-size:.875rem;color:var(--secondary-color,#6c757d);margin-bottom:.5rem;display:flex;align-items:center;flex-wrap:wrap;gap:.25rem}.jem-eventslist__datetime{font-weight:500}.jem-eventslist__date-separator{margin:0 .25rem}.jem-eventslist__event-title{font-size:1.25rem;font-weight:600;margin:.5rem 0}.jem-eventslist__link{color:var(--link-color);text-decoration:none;transition:color .2s}.jem-eventslist__link:hover{color:var(--link-hover-color);text-decoration:underline}.jem-eventslist__venue{display:flex;align-items:center;gap:.5rem;margin:.75rem 0;font-size:.9375rem;color:var(--body-color)}.jem-eventslist__venue-icon{font-size:1rem}.jem-eventslist__venue-link{color:var(--link-color);text-decoration:none}.jem-eventslist__venue-link:hover{text-decoration:underline}.jem-eventslist__description{margin:1rem 0;color:var(--body-color);line-height:1.6}.jem-eventslist__categories{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.jem-eventslist__category-badge{display:inline-block;padding:.25rem .75rem;background:var(--primary-color,#007bff);color:var(--white);border-radius:1rem;font-size:.8125rem;font-weight:500}.jem-eventslist__actions{margin-top:1rem}.jem-eventslist__button{display:inline-block;padding:.625rem 1.25rem;min-height:44px;background:var(--btn-primary-bg,#007bff);color:var(--white);border:none;border-radius:var(--border-radius,.375rem);text-decoration:none;font-weight:500;text-align:center;transition:background-color .2s;cursor:pointer}.jem-eventslist__button:hover{background:var(--btn-primary-hover-bg,#0056b3);color:var(--white);text-decoration:none}.jem-eventslist__pagination{margin-top:2rem;text-align:center}.jem-eventslist__empty{padding:3rem 1rem;text-align:center}.jem-eventslist__empty-message{font-size:1.125rem;color:var(--secondary-color,#6c757d)}.jem-event-responsive{width:100%;max-width:100%}.jem-event__container{padding:1rem}.jem-event__header{margin-bottom:1.5rem}.jem-event__title{font-size:2rem;font-weight:700;margin:0;color:var(--body-color)}.jem-event__image-wrapper{margin:1.5rem 0;border-radius:var(--border-radius,.375rem);overflow:hidden}.jem-event__image{width:100%;height:auto;display:block}.jem-event__meta{background:var(--secondary-bg,#f8f9fa);border:1px solid var(--border-color,#dee2e6);border-radius:var(--border-radius,.375rem);padding:1.5rem;margin:1.5rem 0}.jem-event__meta-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.jem-event__meta-item:last-child{margin-bottom:0}.jem-event__meta-icon{font-size:1.25rem;flex-shrink:0;margin-top:.125rem}.jem-event__meta-content{flex:1}.jem-event__meta-label{display:block;margin-bottom:.25rem;color:var(--body-color)}.jem-event__datetime,.jem-event__time-value,.jem-event__venue-name{color:var(--body-color)}.jem-event__venue-link{color:var(--link-color);text-decoration:none;font-weight:500}.jem-event__venue-link:hover{color:var(--link-hover-color);text-decoration:underline}.jem-event__address{margin-top:.5rem;font-size:.9375rem;color:var(--secondary-color,#6c757d)}.jem-event__city,.jem-event__street{display:block}.jem-event__category-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.jem-event__category-badge{display:inline-block;padding:.25rem .75rem;background:var(--primary-color,#007bff);color:var(--white);border-radius:1rem;font-size:.8125rem;font-weight:500}.jem-event__description{margin:2rem 0}.jem-event__description-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--body-color)}.jem-event__description-content{line-height:1.8;color:var(--body-color)}.jem-event__contact,.jem-event__registration{background:var(--secondary-bg,#f8f9fa);border:1px solid var(--border-color,#dee2e6);border-radius:var(--border-radius,.375rem);padding:1.5rem;margin:1.5rem 0}.jem-event__contact-title,.jem-event__registration-title{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--body-color)}.jem-event__contact-link{color:var(--link-color);text-decoration:none}.jem-event__contact-link:hover{text-decoration:underline}.jem-event__actions{margin-top:2rem}.jem-event__button{display:inline-block;padding:.625rem 1.25rem;min-height:44px;background:var(--btn-secondary-bg,#6c757d);color:var(--white);border:none;border-radius:var(--border-radius,.375rem);text-decoration:none;font-weight:500;text-align:center;transition:background-color .2s;cursor:pointer}.jem-event__button:hover{background:var(--btn-secondary-hover-bg,#5a6268);color:var(--white);text-decoration:none}.jem-calendar-responsive{width:100%;max-width:100%}.jem-calendar__container{padding:1rem}.jem-calendar__header{margin-bottom:1.5rem}.jem-calendar__title{font-size:1.75rem;font-weight:700;margin:0;color:var(--body-color)}.jem-calendar__navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem;background:var(--secondary-bg,#f8f9fa);border-radius:var(--border-radius,.375rem)}.jem-calendar__nav-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--btn-primary-bg,#007bff);color:var(--white);border:none;border-radius:50%;text-decoration:none;font-size:1.5rem;transition:background-color .2s}.jem-calendar__nav-button:hover{background:var(--btn-primary-hover-bg,#0056b3);color:var(--white)}.jem-calendar__current-month{font-size:1.25rem;font-weight:600;margin:0;color:var(--body-color)}.jem-calendar__grid{background:var(--secondary-bg,#f8f9fa);border:1px solid var(--border-color,#dee2e6);border-radius:var(--border-radius,.375rem);padding:1rem;margin-bottom:2rem}.jem-calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:.5rem}.jem-calendar__weekday{text-align:center;font-weight:600;font-size:.875rem;color:var(--body-color);padding:.5rem 0}.jem-calendar__days{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.jem-calendar__day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem;background:var(--white);border:1px solid var(--border-color,#dee2e6);border-radius:var(--border-radius,.375rem);cursor:pointer;transition:background-color .2s}.jem-calendar__day:hover{background:var(--hover-bg,#e9ecef)}.jem-calendar__day--empty{background:0 0;border:none;cursor:default}.jem-calendar__day--has-events{background:var(--primary-light,#cfe2ff);border-color:var(--primary-color,#007bff)}.jem-calendar__day--today{border:2px solid var(--primary-color,#007bff);font-weight:700}.jem-calendar__day-number{font-size:.9375rem;color:var(--body-color)}.jem-calendar__event-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;background:var(--primary-color,#007bff);color:var(--white);border-radius:50%;font-size:.6875rem;font-weight:600;margin-top:.25rem}.jem-calendar__events-list{margin-top:2rem}.jem-calendar__events-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--body-color)}.jem-calendar__events{display:flex;flex-direction:column;gap:1rem}.jem-calendar__event-item{padding:1rem;background:var(--secondary-bg,#f8f9fa);border:1px solid var(--border-color,#dee2e6);border-radius:var(--border-radius,.375rem)}.jem-calendar__event-date{font-size:.875rem;color:var(--secondary-color,#6c757d);margin-bottom:.5rem}.jem-calendar__event-title{font-size:1.125rem;font-weight:600;margin:.5rem 0}.jem-calendar__event-link{color:var(--link-color);text-decoration:none}.jem-calendar__event-link:hover{color:var(--link-hover-color);text-decoration:underline}.jem-calendar__event-venue{font-size:.9375rem;color:var(--body-color);margin-top:.5rem}.jem-venue-responsive{width:100%;max-width:100%}.jem-venue__container{padding:1rem}.jem-venue__header{margin-bottom:1.5rem}.jem-venue__title{font-size:2rem;font-weight:700;margin:0;color:var(--body-color)}.jem-venue__image-wrapper{margin:1.5rem 0;border-radius:var(--border-radius,.375rem);overflow:hidden}.jem-venue__image{width:100%;height:auto;display:block}.jem-venue__info{margin:2rem 0}.jem-venue__info-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1.5rem;padding:1.25rem;background:var(--secondary-bg,#f8f9fa);border:1px solid var(--border-color,#dee2e6);border-radius:var(--border-radius,.375rem)}.jem-venue__info-item:last-child{margin-bottom:0}.jem-venue__info-icon{font-size:1.25rem;flex-shrink:0;margin-top:.125rem}.jem-venue__info-content{flex:1}.jem-venue__info-label{display:block;margin-bottom:.5rem;color:var(--body-color)}.jem-venue__address-content{font-style:normal;color:var(--body-color)}.jem-venue__city-line,.jem-venue__country,.jem-venue__state,.jem-venue__street{display:block;margin-bottom:.25rem}.jem-venue__link{color:var(--link-color);text-decoration:none;word-break:break-all}.jem-venue__link:hover{text-decoration:underline}.jem-venue__description{margin:2rem 0}.jem-venue__description-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--body-color)}.jem-venue__description-content{line-height:1.8;color:var(--body-color)}.jem-venue__map{margin:2rem 0}.jem-venue__map-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--body-color)}.jem-venue__map-container{border-radius:var(--border-radius,.375rem);overflow:hidden}.jem-venue__map-placeholder{padding:3rem 1rem;background:var(--secondary-bg,#f8f9fa);border:1px solid var(--border-color,#dee2e6);text-align:center}.jem-venue__map-link{display:inline-block;padding:.625rem 1.25rem;min-height:44px;background:var(--btn-primary-bg,#007bff);color:var(--white);border:none;border-radius:var(--border-radius,.375rem);text-decoration:none;font-weight:500;margin-top:1rem;transition:background-color .2s}.jem-venue__map-link:hover{background:var(--btn-primary-hover-bg,#0056b3);color:var(--white);text-decoration:none}.jem-venue__events{margin:2rem 0}.jem-venue__events-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--body-color)}.jem-venue__events-list{display:flex;flex-direction:column;gap:1rem}.jem-venue__event-item{padding:1rem;background:var(--secondary-bg,#f8f9fa);border:1px solid var(--border-color,#dee2e6);border-radius:var(--border-radius,.375rem)}.jem-venue__event-date{font-size:.875rem;color:var(--secondary-color,#6c757d);margin-bottom:.5rem}.jem-venue__event-title{font-size:1.125rem;font-weight:600;margin:.5rem 0}.jem-venue__event-link{color:var(--link-color);text-decoration:none}.jem-venue__event-link:hover{color:var(--link-hover-color);text-decoration:underline}.jem-venue__actions{margin-top:2rem}.jem-venue__button{display:inline-block;padding:.625rem 1.25rem;min-height:44px;background:var(--btn-secondary-bg,#6c757d);color:var(--white);border:none;border-radius:var(--border-radius,.375rem);text-decoration:none;font-weight:500;text-align:center;transition:background-color .2s;cursor:pointer}.jem-venue__button:hover{background:var(--btn-secondary-hover-bg,#5a6268);color:var(--white);text-decoration:none}.jem-categories-responsive{width:100%;max-width:100%}.jem-categories__container{padding:1rem}.jem-categories__header{margin-bottom:1.5rem}.jem-categories__title{font-size:1.75rem;font-weight:700;margin:0;color:var(--body-color)}.jem-categories__list{display:flex;flex-direction:column;gap:1.5rem}.jem-categories__item{background:var(--secondary-bg,#f8f9fa);border:1px solid var(--border-color,#dee2e6);border-radius:var(--border-radius,.375rem);overflow:hidden;transition:box-shadow .3s}.jem-categories__item:hover{box-shadow:0 4px 8px rgba(0,0,0,.1)}.jem-categories__item-inner{padding:1.25rem}.jem-categories__image-wrapper{margin-bottom:1rem;border-radius:var(--border-radius,.375rem);overflow:hidden}.jem-categories__image{width:100%;height:auto;display:block}.jem-categories__category-title{font-size:1.25rem;font-weight:600;margin:.5rem 0}.jem-categories__link{color:var(--link-color);text-decoration:none;transition:color .2s}.jem-categories__link:hover{color:var(--link-hover-color);text-decoration:underline}.jem-categories__description{margin:1rem 0;color:var(--body-color);line-height:1.6}.jem-categories__meta{margin:.75rem 0;font-size:.875rem;color:var(--secondary-color,#6c757d)}.jem-categories__event-count{font-weight:500}.jem-categories__actions{margin-top:1rem}.jem-categories__button{display:inline-block;padding:.625rem 1.25rem;min-height:44px;background:var(--btn-primary-bg,#007bff);color:var(--white);border:none;border-radius:var(--border-radius,.375rem);text-decoration:none;font-weight:500;text-align:center;transition:background-color .2s;cursor:pointer}.jem-categories__button:hover{background:var(--btn-primary-hover-bg,#0056b3);color:var(--white);text-decoration:none}.jem-categories__pagination{margin-top:2rem;text-align:center}.jem-categories__empty{padding:3rem 1rem;text-align:center}.jem-categories__empty-message{font-size:1.125rem;color:var(--secondary-color,#6c757d)}@media (min-width:768px){.jem-categories__list,.jem-eventslist__list{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.jem-calendar__day-number{font-size:1rem}.jem-event__meta{padding:2rem}.jem-venue__info-item{padding:1.5rem}}@media (min-width:992px){.jem-calendar__container,.jem-categories__container,.jem-event__container,.jem-eventslist__container,.jem-venue__container{padding:2rem}.jem-calendar__title,.jem-categories__title,.jem-eventslist__title{font-size:2rem}.jem-event__title,.jem-venue__title{font-size:2.5rem}.jem-calendar__grid{padding:1.5rem}}@media (max-width:575.98px){.jem-calendar__nav-button,.jem-categories__button,.jem-event__button,.jem-eventslist__button,.jem-venue__button,.jem-venue__map-link{min-height:48px}.jem-categories__item-inner,.jem-event__meta,.jem-eventslist__item-inner,.jem-venue__info-item{padding:1rem}.jem-calendar__navigation{padding:.75rem}.jem-calendar__current-month{font-size:1rem}.jem-calendar__weekday{font-size:.75rem;padding:.25rem 0}.jem-calendar__day{padding:.25rem}.jem-calendar__day-number{font-size:.8125rem}} \ No newline at end of file diff --git a/src/media/css/theme/dark.standard.css b/src/media/css/theme/dark.standard.css index f9e03e6..1ac1186 100644 --- a/src/media/css/theme/dark.standard.css +++ b/src/media/css/theme/dark.standard.css @@ -520,6 +520,266 @@ color-scheme: dark; --gab-gray1: #868e96; --gab-gray2: #adb5bd; --gab-gray3: #ced4da; + +/* ===== HERO / BANNER OVERLAY ===== */ +--hero-height: 70vh; +--hero-color: var(--body-color); +--hero-bg-repeat: no-repeat; +--hero-bg-attachment: fixed; +--hero-bg-position: top center; +--hero-bg-size: cover; +--hero-border-bottom: solid var(--accent-color-secondary); +--hero-overlay-bg: hsla(0, 0%, 0%, 0.3); +--hero-overlay-padding: 1em; +--hero-overlay-text-align: center; +--hero-overlay-text-color: var(--body-color); + +/* ===== OFFCANVAS ===== */ +--offcanvas-zindex: 1045; +--offcanvas-width: 400px; +--offcanvas-height: 30vh; +--offcanvas-padding-x: 1rem; +--offcanvas-padding-y: 1rem; +--offcanvas-color: var(--body-color); +--offcanvas-bg: var(--body-bg); +--offcanvas-border-width: 1px; +--offcanvas-border-color: var(--border-color-translucent); +--offcanvas-box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.3); + +/* ===== ACCORDION ===== */ +--accordion-color: var(--body-color); +--accordion-bg: var(--body-bg); +--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; +--accordion-border-color: var(--border-color); +--accordion-border-width: 1px; +--accordion-border-radius: 0.25rem; +--accordion-inner-border-radius: calc(0.25rem - 1px); +--accordion-btn-padding-x: 1.25rem; +--accordion-btn-padding-y: 1rem; +--accordion-btn-color: var(--body-color); +--accordion-btn-bg: var(--accordion-bg); +--accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23e6ebf1'%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"); +--accordion-btn-icon-width: 1.25rem; +--accordion-btn-icon-transform: rotate(-180deg); +--accordion-btn-icon-transition: transform 0.2s ease-in-out; +--accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%238ab4f8'%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"); +--accordion-btn-focus-border-color: var(--input-focus-border-color); +--accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(84, 114, 255, 0.25); +--accordion-body-padding-x: 1.25rem; +--accordion-body-padding-y: 1rem; +--accordion-active-color: var(--link-color); +--accordion-active-bg: var(--secondary-bg); + +/* ===== BREADCRUMB ===== */ +--breadcrumb-padding-x: 0; +--breadcrumb-padding-y: 0; +--breadcrumb-margin-bottom: 1rem; +--breadcrumb-bg: ; +--breadcrumb-border-radius: ; +--breadcrumb-divider-color: var(--gray-600); +--breadcrumb-item-padding-x: 0.5rem; +--breadcrumb-item-active-color: var(--link-color); + +/* ===== PAGINATION ===== */ +--pagination-padding-x: 0.75rem; +--pagination-padding-y: 0.375rem; +--pagination-font-size: 1rem; +--pagination-color: var(--link-color); +--pagination-bg: var(--secondary-bg); +--pagination-border-width: 1px; +--pagination-border-color: var(--border-color); +--pagination-border-radius: 0.25rem; +--pagination-focus-color: var(--link-active-color); +--pagination-focus-bg: var(--tertiary-bg); +--pagination-focus-box-shadow: 0 0 0 0.25rem rgba(84, 114, 255, 0.25); +--pagination-active-color: var(--body-color); +--pagination-active-bg: hsl(240, 98%, 17%); +--pagination-active-border-color: hsl(240, 98%, 17%); +--pagination-disabled-color: var(--gray-600); +--pagination-disabled-bg: var(--secondary-bg); +--pagination-disabled-border-color: var(--border-color); + +/* ===== BADGE ===== */ +--badge-padding-x: 0.65em; +--badge-padding-y: 0.35em; +--badge-font-size: 0.75em; +--badge-font-weight: 700; +--badge-color: var(--body-color); +--badge-border-radius: 0.25rem; + +/* ===== ALERT ===== */ +--alert-bg: transparent; +--alert-padding-x: 1rem; +--alert-padding-y: 1rem; +--alert-margin-bottom: 1rem; +--alert-color: inherit; +--alert-border-color: transparent; +--alert-border: 1px solid var(--alert-border-color); +--alert-border-radius: 0.25rem; + +/* ===== PROGRESS ===== */ +--progress-height: 1rem; +--progress-font-size: 0.75rem; +--progress-bg: var(--secondary-bg); +--progress-border-radius: 0.25rem; +--progress-box-shadow: inset 0 1px 2px rgba(var(--black-rgb), 0.3); +--progress-bar-color: var(--body-color); +--progress-bar-bg: hsl(240, 98%, 40%); +--progress-bar-transition: width 0.6s ease; + +/* ===== LIST GROUP ===== */ +--list-group-color: var(--body-color); +--list-group-bg: var(--secondary-bg); +--list-group-border-color: rgba(var(--white-rgb), 0.125); +--list-group-border-width: 1px; +--list-group-border-radius: 0.25rem; +--list-group-item-padding-x: 1rem; +--list-group-item-padding-y: 0.5rem; +--list-group-action-color: var(--gray-800); +--list-group-action-active-color: var(--body-color); +--list-group-action-active-bg: var(--tertiary-bg); +--list-group-disabled-color: var(--gray-600); +--list-group-disabled-bg: var(--secondary-bg); +--list-group-active-color: var(--body-color); +--list-group-active-bg: hsl(240, 98%, 17%); +--list-group-active-border-color: hsl(240, 98%, 17%); + +/* ===== DROPDOWN ===== */ +--dropdown-zindex: 1000; +--dropdown-min-width: 10rem; +--dropdown-padding-x: 0; +--dropdown-padding-y: 0.5rem; +--dropdown-spacer: 0.125rem; +--dropdown-font-size: 1rem; +--dropdown-color: var(--body-color); +--dropdown-bg: var(--secondary-bg); +--dropdown-border-color: var(--border-color-translucent); +--dropdown-border-radius: 0.25rem; +--dropdown-border-width: 1px; +--dropdown-inner-border-radius: calc(0.25rem - 1px); +--dropdown-divider-bg: var(--border-color-translucent); +--dropdown-divider-margin-y: 0.5rem; +--dropdown-box-shadow: 0 0.5rem 1rem var(--shadow-color-medium); +--dropdown-link-color: var(--body-color); +--dropdown-link-active-color: var(--body-color); +--dropdown-link-active-bg: hsl(240, 98%, 17%); +--dropdown-link-disabled-color: var(--gray-600); +--dropdown-item-padding-x: 1rem; +--dropdown-item-padding-y: 0.25rem; +--dropdown-header-color: var(--gray-600); +--dropdown-header-padding-x: 1rem; +--dropdown-header-padding-y: 0.5rem; + +/* ===== TOAST ===== */ +--toast-zindex: 1090; +--toast-padding-x: 0.75rem; +--toast-padding-y: 0.5rem; +--toast-spacing: 1em; +--toast-max-width: 350px; +--toast-font-size: 0.875rem; +--toast-color: ; +--toast-bg: rgba(21, 27, 34, 0.9); +--toast-border-width: 1px; +--toast-border-color: var(--border-color-translucent); +--toast-border-radius: 0.25rem; +--toast-box-shadow: 0 0.5rem 1rem var(--shadow-color-medium); +--toast-header-color: var(--gray-600); +--toast-header-bg: rgba(21, 27, 34, 0.85); +--toast-header-border-color: rgba(var(--white-rgb), var(--opacity-10)); + +/* ===== MODAL ===== */ +--modal-zindex: 1050; +--modal-width: 500px; +--modal-padding: 1rem; +--modal-margin: 0.5rem; +--modal-color: ; +--modal-bg: var(--secondary-bg); +--modal-border-color: var(--border-color-translucent); +--modal-border-width: 1px; +--modal-border-radius: 0.3rem; +--modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.3); +--modal-inner-border-radius: calc(0.3rem - 1px); +--modal-header-padding-x: 1rem; +--modal-header-padding-y: 1rem; +--modal-header-padding: 1rem 1rem; +--modal-header-border-color: var(--border-color); +--modal-header-border-width: 1px; +--modal-title-line-height: 1.5; +--modal-footer-gap: 0.5rem; +--modal-footer-bg: ; +--modal-footer-border-color: var(--border-color); +--modal-footer-border-width: 1px; + +/* ===== TOOLTIP ===== */ +--tooltip-zindex: 1070; +--tooltip-max-width: 200px; +--tooltip-padding-x: 0.5rem; +--tooltip-padding-y: 0.25rem; +--tooltip-margin: ; +--tooltip-font-size: 0.875rem; +--tooltip-color: var(--body-color); +--tooltip-bg: hsl(0, 0%, 0%); +--tooltip-border-radius: 0.25rem; +--tooltip-opacity: 0.9; +--tooltip-arrow-width: 0.8rem; +--tooltip-arrow-height: 0.4rem; + +/* ===== POPOVER ===== */ +--popover-zindex: 1060; +--popover-max-width: 276px; +--popover-font-size: 0.875rem; +--popover-bg: var(--secondary-bg); +--popover-border-width: 1px; +--popover-border-color: var(--border-color-translucent); +--popover-border-radius: 0.3rem; +--popover-inner-border-radius: calc(0.3rem - 1px); +--popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.4); +--popover-header-padding-x: 1rem; +--popover-header-padding-y: 0.5rem; +--popover-header-font-size: 1rem; +--popover-header-color: ; +--popover-header-bg: var(--tertiary-bg); +--popover-body-padding-x: 1rem; +--popover-body-padding-y: 1rem; +--popover-body-color: var(--body-color); +--popover-arrow-width: 1rem; +--popover-arrow-height: 0.5rem; +--popover-arrow-border: var(--popover-border-color); + +/* ===== SPINNER ===== */ +--spinner-width: 2rem; +--spinner-height: 2rem; +--spinner-vertical-align: -0.125em; +--spinner-border-width: 0.25em; +--spinner-animation-speed: 0.75s; + +/* ===== NAV TABS ===== */ +--nav-tabs-border-width: 1px; +--nav-tabs-border-color: var(--border-color); +--nav-tabs-border-radius: 0.25rem; +--nav-tabs-link-active-color: var(--body-color); +--nav-tabs-link-active-bg: var(--secondary-bg); +--nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--secondary-bg); + +/* ===== NAV PILLS ===== */ +--nav-pills-border-radius: 0.25rem; +--nav-pills-link-active-color: var(--body-color); +--nav-pills-link-active-bg: hsl(240, 98%, 17%); + +/* ===== TABLE ===== */ +--table-color: var(--body-color); +--table-bg: transparent; +--table-border-color: var(--border-color); +--table-accent-bg: transparent; +--table-striped-color: var(--body-color); +--table-striped-bg: rgba(var(--white-rgb), var(--opacity-5)); +--table-active-color: var(--body-color); +--table-active-bg: rgba(var(--white-rgb), 0.1); + +/* ===== BACKDROP ===== */ +--backdrop-zindex: 1040; +--backdrop-bg: hsl(0, 0%, 0%); +--backdrop-opacity: 0.5; } .btn { diff --git a/src/media/css/theme/dark.standard.min.css b/src/media/css/theme/dark.standard.min.css new file mode 100644 index 0000000..e57613a --- /dev/null +++ b/src/media/css/theme/dark.standard.min.css @@ -0,0 +1 @@ +@charset "UTF-8";:root[data-bs-theme=dark]{color-scheme:dark;--color-primary:#112855;--accent-color-primary:#3f8ff0;--accent-color-secondary:#6fb3ff;--mainmenu-nav-link-color:#fff;--nav-text-color:gray;--nav-bg-color:var(--color-primary);--color-link:white;--color-hover:gray;--color-active:var(--mainmenu-nav-link-color);--link-color:#8ab4f8;--link-color-rgb:138,180,248;--link-decoration:underline;--link-hover-color:#c3d6ff;--link-hover-color-rgb:195,214,255;--link-active-color:var(--link-color);--offcanvas-color:var(--body-color);--offcanvas-padding-x:1rem;--offcanvas-padding-y:1rem;--navbar-padding-x:1rem;--navbar-padding-y:0.5rem;--navbar-color:var(--nav-text-color);--navbar-active-color:var(--mainmenu-nav-link-color);--navbar-disabled-color:#6c757d;--navbar-brand-padding-y:0.3125rem;--navbar-brand-margin-end:1rem;--navbar-brand-font-size:1.25rem;--navbar-brand-color:var(--nav-text-color);--navbar-brand-active-color:var(--mainmenu-nav-link-color);--navbar-nav-link-padding-x:0.5rem;--navbar-toggler-padding-y:0.25rem;--navbar-toggler-padding-x:0.75rem;--navbar-toggler-font-size:1.25rem;--navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--navbar-toggler-border-radius:0.25rem;--navbar-toggler-focus-width:0.25rem;--navbar-toggler-transition:box-shadow 0.15s ease-in-out;--nav-link-padding-x:1rem;--nav-link-padding-y:0.5rem;--nav-link-font-weight:400;--nav-link-color:var(--nav-text-color);--nav-link-active-color:var(--mainmenu-nav-link-color);--nav-link-disabled-color:#6c757d;--font-sans-serif:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';--font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--body-font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';--body-font-size:1rem;--body-font-weight:400;--body-line-height:1.5;--body-color:#e6ebf1;--body-color-rgb:230,235,241;--body-bg:#0e1318;--body-bg-rgb:14,19,24;--heading-color:#f1f5f9;--emphasis-color:#fff;--emphasis-color-rgb:255,255,255;--secondary-color:#e6ebf1bf;--secondary-color-rgb:230,235,241;--tertiary-color:#e6ebf180;--tertiary-color-rgb:230,235,241;--muted-color:#6d757e;--code-color:#ff7abd;--code-color-ink:var(--code-color, #e93f8e);--highlight-color:#111;--highlight-bg:#ffe28a1a;--padding-x:0.15rem;--padding-y:0.15rem;--bg-opacity:1;--nav-toggle-size:3rem;--gradient:linear-gradient(180deg, #ffffff26, #fff0);--secondary-bg:#151b22;--secondary-bg-rgb:21,27,34;--tertiary-bg:#10151b;--tertiary-bg-rgb:16,21,27;--hr-color:var(--border-color, #dfe3e7);--border-color-soft:var(--border-color, #dfe3e7);--kbd-bg:var(--secondary-bg, #eaedf0);--kbd-ink:var(--body-bg, #fff);--toc-bg:var(--secondary-bg, #eaedf0);--toc-ink:var(--color-primary, #112855);--selection-bg:var(--highlight-bg, #fbeea8);--selection-ink:var(--body-color, #22262a);--border:5px;--bp-xs:0;--bp-sm:576px;--bp-md:768px;--bp-lg:992px;--bp-xl:1200px;--primary:#010156;--secondary:#48525d;--success:#4aa664;--info:#4f7aa0;--warning:#c77a00;--danger:#c23a31;--light:#1b2027;--dark:#0f1318;--primary-rgb:1,1,86;--secondary-rgb:72,82,93;--success-rgb:74,166,100;--info-rgb:79,122,160;--warning-rgb:199,122,0;--danger-rgb:194,58,49;--light-rgb:27,32,39;--dark-rgb:15,19,24;--primary-text-emphasis:#c7ccff;--secondary-text-emphasis:#cfd6de;--success-text-emphasis:#bde8c9;--info-text-emphasis:#bcd6ee;--warning-text-emphasis:#ffd9a6;--danger-text-emphasis:#ffb7b2;--light-text-emphasis:#d2d8df;--dark-text-emphasis:#d2d8df;--primary-bg-subtle:#0b1030;--secondary-bg-subtle:#1e2430;--success-bg-subtle:#0f2a1b;--info-bg-subtle:#0d2232;--warning-bg-subtle:#2a1e06;--danger-bg-subtle:#2d1110;--light-bg-subtle:#12161d;--dark-bg-subtle:#1e2430;--primary-border-subtle:#2b3a7a;--secondary-border-subtle:#2b323b;--success-border-subtle:#2b5b40;--info-border-subtle:#254861;--warning-border-subtle:#5a3c0e;--danger-border-subtle:#5c2723;--light-border-subtle:#222831;--dark-border-subtle:#2b323b;--alert-primary-link-color:#b3c1ff;--alert-secondary-link-color:#9fa6ad;--alert-success-link-color:#a0e5b3;--alert-info-link-color:#8eccf2;--alert-warning-link-color:#ffe4a0;--alert-danger-link-color:#ffa8a3;--alert-light-link-color:#f0f4f8;--alert-dark-link-color:#9fa6ad;--list-group-item-primary-color:#8ca3ff;--list-group-item-primary-bg:#1a2550;--list-group-item-primary-active-bg:#223066;--list-group-item-secondary-color:#9fa6ad;--list-group-item-secondary-bg:#2b323b;--list-group-item-secondary-active-bg:#363d47;--list-group-item-success-color:#a0e5b3;--list-group-item-success-bg:#1e3d2d;--list-group-item-success-active-bg:#275538;--list-group-item-info-color:#8eccf2;--list-group-item-info-bg:#1a3448;--list-group-item-info-active-bg:#234459;--list-group-item-warning-color:#ffe4a0;--list-group-item-warning-bg:#4a3410;--list-group-item-warning-active-bg:#5c4216;--list-group-item-danger-color:#ffa8a3;--list-group-item-danger-bg:#4a1e1c;--list-group-item-danger-active-bg:#5c2823;--list-group-item-light-color:#e9ecef;--list-group-item-light-bg:#1e2430;--list-group-item-light-active-bg:#282f3d;--list-group-item-dark-color:#48525d;--list-group-item-dark-bg:#0e1318;--list-group-item-dark-active-bg:#161b22;--link-primary-color:hsl(240, 98%, 50%);--link-primary-hover-color:hsl(240, 98%, 45%);--link-secondary-color:hsl(210, 15%, 70%);--link-secondary-hover-color:hsl(210, 15%, 65%);--link-success-color:hsl(120, 40%, 60%);--link-success-hover-color:hsl(120, 40%, 55%);--link-info-color:hsl(207, 60%, 65%);--link-info-hover-color:hsl(207, 60%, 60%);--link-warning-color:hsl(38, 100%, 65%);--link-warning-hover-color:hsl(38, 100%, 60%);--link-danger-color:hsl(3, 85%, 65%);--link-danger-hover-color:hsl(3, 85%, 60%);--link-light-color:hsl(210, 20%, 90%);--link-light-hover-color:hsl(210, 20%, 85%);--link-dark-color:hsl(210, 10%, 35%);--link-dark-hover-color:hsl(210, 10%, 30%);--mod-finder-link-hover:#5a6470;--form-legend-color:#9fa6ad;--border-gray:#3a4250;--subhead-color:#9fa6ad;--box-shadow-gray:#1a2027;--btn-active-text-gray:#7a8490;--indicator-success-bg:var(--success);--item-list-color:#2a2f34;--notification-badge-bg:var(--danger);--content-bg-gray:#2b323b;--taba-btn-green:#5a9c2f;--taba-btn-blue:#3d75a8;--taba-btn-red:#c43620;--taba-btn-gray:#6a7080;--taba-msg-bg:#1e2430;--toc-link-color:#9fa6ad;--toc-link-active-color:#91a4ff;--choices-disabled-bg:#2b323b;--choices-input-bg:var(--body-bg);--choices-border-light:#48525d;--choices-arrow-color:#9fa6ad;--choices-inner-bg:#1a2027;--choices-focused-border:#5472ff;--choices-dropdown-bg:var(--body-bg);--choices-item-bg:#1a5f75;--choices-item-border:#1a748f;--choices-item-hover-bg:#1a748f;--choices-item-hover-border:#1a8aa8;--choices-item-disabled-bg:#48525d;--choices-item-disabled-border:#36404a;--choices-item-highlighted:#2b323b;--choices-input-inner-bg:#1a2027;--blue:#91a4ff;--indigo:#b19cff;--purple:#c0a5ff;--pink:#ff8fc0;--red:#ff7a73;--orange:#ff9c4d;--yellow:#ffd166;--green:#78d694;--teal:#76e3ff;--cyan:#6fb7ff;--black:#000;--white:#fff;--gray-100:#161a20;--gray-200:#1b2027;--gray-300:#222831;--gray-400:#2b323b;--gray-500:#36404a;--gray-600:#48525d;--gray-700:#5b6672;--gray-800:#cfd6de;--gray-900:#e6ebf1;--white-rgb:255,255,255;--black-rgb:0,0,0;--opacity-0:0;--opacity-5:0.05;--opacity-10:0.1;--opacity-15:0.15;--opacity-20:0.2;--opacity-25:0.25;--opacity-30:0.3;--opacity-50:0.5;--opacity-75:0.75;--opacity-100:1;--shadow-color-light:rgba(var(--black-rgb), var(--opacity-30));--shadow-color-medium:rgba(var(--black-rgb), var(--opacity-50));--shadow-color-dark:rgba(var(--black-rgb), var(--opacity-75));--border-color-translucent:rgba(var(--white-rgb), var(--opacity-10));--highlight-translucent:rgba(var(--white-rgb), var(--opacity-5));--header-background-image:url('../../../../../../media/templates/site/mokocassiopeia/images/bg.svg');--header-background-attachment:fixed;--header-background-repeat:repeat;--header-background-size:auto;--container-below-topbar-bg-image:none;--container-below-topbar-bg-color:transparent;--container-below-topbar-bg-position:center;--container-below-topbar-bg-attachment:fixed;--container-below-topbar-bg-repeat:no-repeat;--container-below-topbar-bg-size:cover;--container-below-topbar-border:none;--container-below-topbar-border-radius:0;--container-top-a-bg-image:none;--container-top-a-bg-color:transparent;--container-top-a-bg-position:center;--container-top-a-bg-attachment:fixed;--container-top-a-bg-repeat:no-repeat;--container-top-a-bg-size:cover;--container-top-a-border:none;--container-top-a-border-radius:0;--container-top-b-bg-image:none;--container-top-b-bg-color:transparent;--container-top-b-bg-position:center;--container-top-b-bg-attachment:fixed;--container-top-b-bg-repeat:no-repeat;--container-top-b-bg-size:cover;--container-top-b-border:none;--container-top-b-border-radius:0;--container-toc-bg:var(--secondary-bg);--container-toc-color:#dbe3ff;--container-sidebar-bg-image:none;--container-sidebar-bg-color:transparent;--container-sidebar-bg-position:center;--container-sidebar-bg-attachment:scroll;--container-sidebar-bg-repeat:repeat;--container-sidebar-bg-size:auto;--container-sidebar-border:none;--container-sidebar-border-radius:0;--container-bottom-a-bg-image:none;--container-bottom-a-bg-color:transparent;--container-bottom-a-bg-position:center;--container-bottom-a-bg-attachment:fixed;--container-bottom-a-bg-repeat:no-repeat;--container-bottom-a-bg-size:cover;--container-bottom-a-border:none;--container-bottom-a-border-radius:5px;--container-bottom-b-bg-image:none;--container-bottom-b-bg-color:transparent;--container-bottom-b-bg-position:center;--container-bottom-b-bg-attachment:fixed;--container-bottom-b-bg-repeat:no-repeat;--container-bottom-b-bg-size:cover;--container-bottom-b-border:none;--container-bottom-b-border-radius:0;--border-width:1px;--border-style:solid;--border-color:#2b323b;--border-color-translucent:#ffffff26;--border-radius:.25rem;--border-radius-sm:.2rem;--border-radius-lg:.3rem;--border-radius-xl:.3rem;--border-radius-xxl:2rem;--border-radius-2xl:var(--border-radius-xxl);--border-radius-pill:50rem;--box-shadow:0 .5rem 1rem #00000066;--box-shadow-sm:0 .125rem .25rem #00000040;--box-shadow-lg:0 1rem 3rem #00000080;--box-shadow-inset:inset 0 1px 2px #00000040;--focus-ring-width:.25rem;--focus-ring-opacity:.6;--focus-ring-color:#5472ff66;--input-color:#e6ebf1;--input-bg:#1a2332;--input-border-color:#3a4250;--input-focus-border-color:#5472ff;--input-focus-box-shadow:0 0 0 0.25rem rgba(84, 114, 255, 0.25);--input-placeholder-color:#8894aa;--input-disabled-bg:#0f1318;--input-disabled-border-color:#2b323b;--input-file-button-active-bg:#2b3441;--form-range-thumb-active-bg:#4a5766;--form-valid-color:#78d694;--form-valid-border-color:#78d694;--form-invalid-color:#ff8e86;--form-invalid-border-color:#ff8e86;--btn-border-radius:var(--border-radius);--btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.05),0 1px 1px rgba(0, 0, 0, 0.3);--card-spacer-y:1rem;--card-spacer-x:1rem;--card-title-spacer-y:0.5rem;--card-border-width:1px;--card-border-color:var(--border-color);--card-border-radius:var(--border-radius);--card-box-shadow:none;--card-inner-border-radius:calc(var(--border-radius) - 1px);--card-cap-padding-y:0.5rem;--card-cap-padding-x:1rem;--card-cap-bg:rgba(255, 255, 255, 0.03);--card-cap-color:var(--body-color);--card-height:auto;--card-color:var(--body-color);--card-bg:var(--secondary-bg);--card-img-overlay-padding:1rem;--card-group-margin:0.75rem;--vm-surface:var(--secondary-bg);--vm-surface-2:var(--tertiary-bg);--vm-text:var(--body-color);--vm-text-strong:#ffffff;--vm-text-muted:var(--gray-700);--vm-border:var(--border-color);--vm-price-color:var(--success);--vm-container-max-width:1200px;--vm-section-gap:2rem;--vm-block-radius:var(--border-radius);--vm-block-shadow:var(--box-shadow-sm);--vm-category-title-size:2rem;--vm-subcategory-title-size:1.5rem;--vm-page-title-size:1.75rem;--vm-products-type-title-size:1.25rem;--vm-product-title-size:1.125rem;--vm-product-title-weight:500;--vm-products-type-title-weight:600;--vm-price-size:1.5rem;--vm-price-detail-size:1.125rem;--vm-price-desc-size:0.875rem;--vm-input-radius:var(--border-radius);--vm-input-shadow:var(--box-shadow-sm);--vm-qty-width:80px;--vm-cart-dropdown-min-width:300px;--vm-alert-radius:var(--border-radius);--vm-alert-shadow:var(--box-shadow-sm);--vm-availability-bg:var(--success-bg-subtle);--vm-availability-text:var(--success);--vm-btn-padding-x:1rem;--vm-btn-padding-y:0.5rem;--vm-btn-radius:var(--border-radius);--vm-btn-shadow:var(--box-shadow-sm);--vm-btn-primary-bg:var(--primary);--vm-btn-primary-text:#ffffff;--vm-btn-primary-border:var(--primary);--vm-btn-secondary-bg:var(--secondary);--vm-btn-secondary-text:#ffffff;--vm-btn-secondary-border:var(--secondary);--vm-image-overlay-gap-x:0.5rem;--vm-image-overlay-gap-y:0.5rem;--vm-image-overlay-raise:0.25rem;--vm-image-overlay-btn-size:2.5rem;--vm-image-overlay-btn-radius:50%;--vm-image-overlay-btn-bg:rgba(0, 0, 0, 0.7);--vm-image-overlay-btn-bg-hover:rgba(0, 0, 0, 0.85);--vm-image-overlay-btn-border-color:rgba(255, 255, 255, 0.2);--vm-image-overlay-btn-border-width:1px;--vm-image-overlay-btn-color:var(--body-color);--vm-image-overlay-btn-shadow:0 2px 4px rgba(0, 0, 0, 0.3);--vm-vendor-menu-bg:var(--secondary-bg);--vm-vendor-menu-border:var(--border-color);--vm-vendor-menu-radius:var(--border-radius);--vm-vendor-menu-shadow:var(--box-shadow-sm);--vm-vendor-menu-item-gap:0.25rem;--vm-vendor-menu-item-padding-x:1rem;--vm-vendor-menu-item-padding-y:0.5rem;--vm-vendor-menu-pill-radius:50rem;--vm-vendor-menu-link:var(--link-color);--vm-vendor-menu-link-hover:var(--link-hover-color);--vm-vendor-menu-link-active:var(--primary);--vm-vendor-menu-hover-bg:var(--tertiary-bg);--gab-blue:#4d9fff;--gab-green:#5cb85c;--gab-red:#ff6b6b;--gab-orange:#ff9f5a;--gab-gray1:#868e96;--gab-gray2:#adb5bd;--gab-gray3:#ced4da;--hero-height:70vh;--hero-color:var(--body-color);--hero-bg-repeat:no-repeat;--hero-bg-attachment:fixed;--hero-bg-position:top center;--hero-bg-size:cover;--hero-border-bottom:solid var(--accent-color-secondary);--hero-overlay-bg:hsla(0, 0%, 0%, 0.3);--hero-overlay-padding:1em;--hero-overlay-text-align:center;--hero-overlay-text-color:var(--body-color);--offcanvas-zindex:1045;--offcanvas-width:400px;--offcanvas-height:30vh;--offcanvas-padding-x:1rem;--offcanvas-padding-y:1rem;--offcanvas-color:var(--body-color);--offcanvas-bg:var(--body-bg);--offcanvas-border-width:1px;--offcanvas-border-color:var(--border-color-translucent);--offcanvas-box-shadow:0 0.25rem 0.75rem rgba(0, 0, 0, 0.3);--accordion-color:var(--body-color);--accordion-bg:var(--body-bg);--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;--accordion-border-color:var(--border-color);--accordion-border-width:1px;--accordion-border-radius:0.25rem;--accordion-inner-border-radius:calc(0.25rem - 1px);--accordion-btn-padding-x:1.25rem;--accordion-btn-padding-y:1rem;--accordion-btn-color:var(--body-color);--accordion-btn-bg:var(--accordion-bg);--accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23e6ebf1'%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");--accordion-btn-icon-width:1.25rem;--accordion-btn-icon-transform:rotate(-180deg);--accordion-btn-icon-transition:transform 0.2s ease-in-out;--accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%238ab4f8'%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");--accordion-btn-focus-border-color:var(--input-focus-border-color);--accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(84, 114, 255, 0.25);--accordion-body-padding-x:1.25rem;--accordion-body-padding-y:1rem;--accordion-active-color:var(--link-color);--accordion-active-bg:var(--secondary-bg);--breadcrumb-padding-x:0;--breadcrumb-padding-y:0;--breadcrumb-margin-bottom:1rem;--breadcrumb-bg: ;--breadcrumb-border-radius: ;--breadcrumb-divider-color:var(--gray-600);--breadcrumb-item-padding-x:0.5rem;--breadcrumb-item-active-color:var(--link-color);--pagination-padding-x:0.75rem;--pagination-padding-y:0.375rem;--pagination-font-size:1rem;--pagination-color:var(--link-color);--pagination-bg:var(--secondary-bg);--pagination-border-width:1px;--pagination-border-color:var(--border-color);--pagination-border-radius:0.25rem;--pagination-focus-color:var(--link-active-color);--pagination-focus-bg:var(--tertiary-bg);--pagination-focus-box-shadow:0 0 0 0.25rem rgba(84, 114, 255, 0.25);--pagination-active-color:var(--body-color);--pagination-active-bg:hsl(240, 98%, 17%);--pagination-active-border-color:hsl(240, 98%, 17%);--pagination-disabled-color:var(--gray-600);--pagination-disabled-bg:var(--secondary-bg);--pagination-disabled-border-color:var(--border-color);--badge-padding-x:0.65em;--badge-padding-y:0.35em;--badge-font-size:0.75em;--badge-font-weight:700;--badge-color:var(--body-color);--badge-border-radius:0.25rem;--alert-bg:transparent;--alert-padding-x:1rem;--alert-padding-y:1rem;--alert-margin-bottom:1rem;--alert-color:inherit;--alert-border-color:transparent;--alert-border:1px solid var(--alert-border-color);--alert-border-radius:0.25rem;--progress-height:1rem;--progress-font-size:0.75rem;--progress-bg:var(--secondary-bg);--progress-border-radius:0.25rem;--progress-box-shadow:inset 0 1px 2px rgba(var(--black-rgb), 0.3);--progress-bar-color:var(--body-color);--progress-bar-bg:hsl(240, 98%, 40%);--progress-bar-transition:width 0.6s ease;--list-group-color:var(--body-color);--list-group-bg:var(--secondary-bg);--list-group-border-color:rgba(var(--white-rgb), 0.125);--list-group-border-width:1px;--list-group-border-radius:0.25rem;--list-group-item-padding-x:1rem;--list-group-item-padding-y:0.5rem;--list-group-action-color:var(--gray-800);--list-group-action-active-color:var(--body-color);--list-group-action-active-bg:var(--tertiary-bg);--list-group-disabled-color:var(--gray-600);--list-group-disabled-bg:var(--secondary-bg);--list-group-active-color:var(--body-color);--list-group-active-bg:hsl(240, 98%, 17%);--list-group-active-border-color:hsl(240, 98%, 17%);--dropdown-zindex:1000;--dropdown-min-width:10rem;--dropdown-padding-x:0;--dropdown-padding-y:0.5rem;--dropdown-spacer:0.125rem;--dropdown-font-size:1rem;--dropdown-color:var(--body-color);--dropdown-bg:var(--secondary-bg);--dropdown-border-color:var(--border-color-translucent);--dropdown-border-radius:0.25rem;--dropdown-border-width:1px;--dropdown-inner-border-radius:calc(0.25rem - 1px);--dropdown-divider-bg:var(--border-color-translucent);--dropdown-divider-margin-y:0.5rem;--dropdown-box-shadow:0 0.5rem 1rem var(--shadow-color-medium);--dropdown-link-color:var(--body-color);--dropdown-link-active-color:var(--body-color);--dropdown-link-active-bg:hsl(240, 98%, 17%);--dropdown-link-disabled-color:var(--gray-600);--dropdown-item-padding-x:1rem;--dropdown-item-padding-y:0.25rem;--dropdown-header-color:var(--gray-600);--dropdown-header-padding-x:1rem;--dropdown-header-padding-y:0.5rem;--toast-zindex:1090;--toast-padding-x:0.75rem;--toast-padding-y:0.5rem;--toast-spacing:1em;--toast-max-width:350px;--toast-font-size:0.875rem;--toast-color: ;--toast-bg:rgba(21, 27, 34, 0.9);--toast-border-width:1px;--toast-border-color:var(--border-color-translucent);--toast-border-radius:0.25rem;--toast-box-shadow:0 0.5rem 1rem var(--shadow-color-medium);--toast-header-color:var(--gray-600);--toast-header-bg:rgba(21, 27, 34, 0.85);--toast-header-border-color:rgba(var(--white-rgb), var(--opacity-10));--modal-zindex:1050;--modal-width:500px;--modal-padding:1rem;--modal-margin:0.5rem;--modal-color: ;--modal-bg:var(--secondary-bg);--modal-border-color:var(--border-color-translucent);--modal-border-width:1px;--modal-border-radius:0.3rem;--modal-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.3);--modal-inner-border-radius:calc(0.3rem - 1px);--modal-header-padding-x:1rem;--modal-header-padding-y:1rem;--modal-header-padding:1rem 1rem;--modal-header-border-color:var(--border-color);--modal-header-border-width:1px;--modal-title-line-height:1.5;--modal-footer-gap:0.5rem;--modal-footer-bg: ;--modal-footer-border-color:var(--border-color);--modal-footer-border-width:1px;--tooltip-zindex:1070;--tooltip-max-width:200px;--tooltip-padding-x:0.5rem;--tooltip-padding-y:0.25rem;--tooltip-margin: ;--tooltip-font-size:0.875rem;--tooltip-color:var(--body-color);--tooltip-bg:hsl(0, 0%, 0%);--tooltip-border-radius:0.25rem;--tooltip-opacity:0.9;--tooltip-arrow-width:0.8rem;--tooltip-arrow-height:0.4rem;--popover-zindex:1060;--popover-max-width:276px;--popover-font-size:0.875rem;--popover-bg:var(--secondary-bg);--popover-border-width:1px;--popover-border-color:var(--border-color-translucent);--popover-border-radius:0.3rem;--popover-inner-border-radius:calc(0.3rem - 1px);--popover-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.4);--popover-header-padding-x:1rem;--popover-header-padding-y:0.5rem;--popover-header-font-size:1rem;--popover-header-color: ;--popover-header-bg:var(--tertiary-bg);--popover-body-padding-x:1rem;--popover-body-padding-y:1rem;--popover-body-color:var(--body-color);--popover-arrow-width:1rem;--popover-arrow-height:0.5rem;--popover-arrow-border:var(--popover-border-color);--spinner-width:2rem;--spinner-height:2rem;--spinner-vertical-align:-0.125em;--spinner-border-width:0.25em;--spinner-animation-speed:0.75s;--nav-tabs-border-width:1px;--nav-tabs-border-color:var(--border-color);--nav-tabs-border-radius:0.25rem;--nav-tabs-link-active-color:var(--body-color);--nav-tabs-link-active-bg:var(--secondary-bg);--nav-tabs-link-active-border-color:var(--border-color) var(--border-color) var(--secondary-bg);--nav-pills-border-radius:0.25rem;--nav-pills-link-active-color:var(--body-color);--nav-pills-link-active-bg:hsl(240, 98%, 17%);--table-color:var(--body-color);--table-bg:transparent;--table-border-color:var(--border-color);--table-accent-bg:transparent;--table-striped-color:var(--body-color);--table-striped-bg:rgba(var(--white-rgb), var(--opacity-5));--table-active-color:var(--body-color);--table-active-bg:rgba(var(--white-rgb), 0.1);--backdrop-zindex:1040;--backdrop-bg:hsl(0, 0%, 0%);--backdrop-opacity:0.5}.btn{--btn-padding-x:1rem;--btn-padding-y:0.6rem;--btn-font-family:inherit;--btn-font-size:1rem;--btn-font-weight:400;--btn-line-height:1.5;--btn-color:var(--white);--btn-bg:transparent;--btn-border-width:1px;--btn-border-color:transparent;--btn-border-radius:0.25rem;--btn-active-border-color:transparent;--btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--btn-disabled-opacity:0.65;--btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--btn-padding-y) var(--btn-padding-x);font-family:var(--btn-font-family);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);line-height:var(--btn-line-height);color:var(--btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--btn-border-width) solid var(--btn-border-color);border-radius:var(--btn-border-radius);background-color:var(--btn-bg);-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-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,-webkit-box-shadow .15s ease-in-out;-o-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.btn-primary{--btn-color:hsl(0, 0%, 100%);--btn-bg:hsl(240, 98%, 17%);--btn-border-color:hsl(240, 98%, 17%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:#010149;--btn-hover-border-color:#010145;--btn-focus-shadow-rgb:84,114,255;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:#010145;--btn-active-border-color:#010141}.btn-secondary{--btn-color:var(--nav-text-color);--btn-bg:var(--nav-bg-color);--btn-border-color:#3a4250;--btn-hover-color:#fff;--btn-hover-bg:#1b2a55;--btn-hover-border-color:#162448;--btn-focus-shadow-rgb:84,114,255;--btn-active-color:#fff;--btn-active-bg:#162448;--btn-active-border-color:#12203f}.btn-success{--btn-color:hsl(0, 0%, 100%);--btn-bg:hsl(120, 35%, 45%);--btn-border-color:hsl(120, 35%, 45%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:hsl(120, 35%, 40%);--btn-hover-border-color:hsl(120, 35%, 38%);--btn-focus-shadow-rgb:96,180,96;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:hsl(120, 35%, 38%);--btn-active-border-color:hsl(120, 35%, 36%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(0, 0%, 100%);--btn-disabled-bg:hsl(120, 35%, 45%);--btn-disabled-border-color:hsl(120, 35%, 45%)}.btn-info{--btn-color:hsl(0, 0%, 100%);--btn-bg:hsl(207, 55%, 55%);--btn-border-color:hsl(207, 55%, 55%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:hsl(207, 55%, 50%);--btn-hover-border-color:hsl(207, 55%, 48%);--btn-focus-shadow-rgb:100,160,210);--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:hsl(207, 55%, 48%);--btn-active-border-color:hsl(207, 55%, 46%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(0, 0%, 100%);--btn-disabled-bg:hsl(207, 55%, 55%);--btn-disabled-border-color:hsl(207, 55%, 55%)}.btn-warning{--btn-color:hsl(0, 0%, 0%);--btn-bg:hsl(38, 100%, 50%);--btn-border-color:hsl(38, 100%, 50%);--btn-hover-color:hsl(0, 0%, 0%);--btn-hover-bg:hsl(38, 100%, 45%);--btn-hover-border-color:hsl(38, 100%, 43%);--btn-focus-shadow-rgb:220,170,40;--btn-active-color:hsl(0, 0%, 0%);--btn-active-bg:hsl(38, 100%, 43%);--btn-active-border-color:hsl(38, 100%, 41%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(0, 0%, 0%);--btn-disabled-bg:hsl(38, 100%, 50%);--btn-disabled-border-color:hsl(38, 100%, 50%)}.btn-danger{--btn-color:hsl(0, 0%, 100%);--btn-bg:hsl(3, 82%, 50%);--btn-border-color:hsl(3, 82%, 50%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:hsl(3, 82%, 45%);--btn-hover-border-color:hsl(3, 82%, 43%);--btn-focus-shadow-rgb:220,80,80;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:hsl(3, 82%, 43%);--btn-active-border-color:hsl(3, 82%, 41%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(0, 0%, 100%);--btn-disabled-bg:hsl(3, 82%, 50%);--btn-disabled-border-color:hsl(3, 82%, 50%)}.btn-light{--btn-color:hsl(0, 0%, 0%);--btn-bg:hsl(210, 17%, 85%);--btn-border-color:hsl(210, 17%, 85%);--btn-hover-color:hsl(0, 0%, 0%);--btn-hover-bg:hsl(210, 17%, 80%);--btn-hover-border-color:hsl(210, 17%, 78%);--btn-focus-shadow-rgb:200,205,210;--btn-active-color:hsl(0, 0%, 0%);--btn-active-bg:hsl(210, 17%, 78%);--btn-active-border-color:hsl(210, 17%, 76%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(0, 0%, 0%);--btn-disabled-bg:hsl(210, 17%, 85%);--btn-disabled-border-color:hsl(210, 17%, 85%)}.btn-dark{--btn-color:hsl(0, 0%, 100%);--btn-bg:hsl(210, 10%, 20%);--btn-border-color:hsl(210, 10%, 20%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:hsl(210, 10%, 18%);--btn-hover-border-color:hsl(210, 10%, 16%);--btn-focus-shadow-rgb:60,65,70;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:hsl(210, 10%, 16%);--btn-active-border-color:hsl(210, 10%, 14%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(0, 0%, 100%);--btn-disabled-bg:hsl(210, 10%, 20%);--btn-disabled-border-color:hsl(210, 10%, 20%)}.btn-outline-primary{--btn-color:hsl(240, 98%, 40%);--btn-border-color:hsl(240, 98%, 40%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:hsl(240, 98%, 40%);--btn-hover-border-color:hsl(240, 98%, 40%);--btn-focus-shadow-rgb:80,80,180;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:hsl(240, 98%, 40%);--btn-active-border-color:hsl(240, 98%, 40%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(240, 98%, 40%);--btn-disabled-bg:transparent;--btn-disabled-border-color:hsl(240, 98%, 40%);--gradient:none}.btn-outline-secondary{--btn-color:hsl(210, 20%, 60%);--btn-border-color:hsl(210, 20%, 60%);--btn-hover-color:hsl(0, 0%, 0%);--btn-hover-bg:hsl(210, 20%, 60%);--btn-hover-border-color:hsl(210, 20%, 60%);--btn-focus-shadow-rgb:120,140,160;--btn-active-color:hsl(0, 0%, 0%);--btn-active-bg:hsl(210, 20%, 60%);--btn-active-border-color:hsl(210, 20%, 60%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(210, 20%, 60%);--btn-disabled-bg:transparent;--btn-disabled-border-color:hsl(210, 20%, 60%);--gradient:none}.btn-outline-success{--btn-color:hsl(120, 35%, 55%);--btn-border-color:hsl(120, 35%, 55%);--btn-hover-color:hsl(0, 0%, 0%);--btn-hover-bg:hsl(120, 35%, 55%);--btn-hover-border-color:hsl(120, 35%, 55%);--btn-focus-shadow-rgb:100,190,100;--btn-active-color:hsl(0, 0%, 0%);--btn-active-bg:hsl(120, 35%, 55%);--btn-active-border-color:hsl(120, 35%, 55%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(120, 35%, 55%);--btn-disabled-bg:transparent;--btn-disabled-border-color:hsl(120, 35%, 55%);--gradient:none}.btn-outline-info{--btn-color:hsl(207, 55%, 65%);--btn-border-color:hsl(207, 55%, 65%);--btn-hover-color:hsl(0, 0%, 0%);--btn-hover-bg:hsl(207, 55%, 65%);--btn-hover-border-color:hsl(207, 55%, 65%);--btn-focus-shadow-rgb:110,170,220;--btn-active-color:hsl(0, 0%, 0%);--btn-active-bg:hsl(207, 55%, 65%);--btn-active-border-color:hsl(207, 55%, 65%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(207, 55%, 65%);--btn-disabled-bg:transparent;--btn-disabled-border-color:hsl(207, 55%, 65%);--gradient:none}.btn-outline-warning{--btn-color:hsl(38, 100%, 60%);--btn-border-color:hsl(38, 100%, 60%);--btn-hover-color:hsl(0, 0%, 0%);--btn-hover-bg:hsl(38, 100%, 60%);--btn-hover-border-color:hsl(38, 100%, 60%);--btn-focus-shadow-rgb:240,190,70;--btn-active-color:hsl(0, 0%, 0%);--btn-active-bg:hsl(38, 100%, 60%);--btn-active-border-color:hsl(38, 100%, 60%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(38, 100%, 60%);--btn-disabled-bg:transparent;--btn-disabled-border-color:hsl(38, 100%, 60%);--gradient:none}.btn-outline-danger{--btn-color:hsl(3, 82%, 60%);--btn-border-color:hsl(3, 82%, 60%);--btn-hover-color:hsl(0, 0%, 0%);--btn-hover-bg:hsl(3, 82%, 60%);--btn-hover-border-color:hsl(3, 82%, 60%);--btn-focus-shadow-rgb:240,100,100;--btn-active-color:hsl(0, 0%, 0%);--btn-active-bg:hsl(3, 82%, 60%);--btn-active-border-color:hsl(3, 82%, 60%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(3, 82%, 60%);--btn-disabled-bg:transparent;--btn-disabled-border-color:hsl(3, 82%, 60%);--gradient:none}.btn-outline-light{--btn-color:#e6ebf1;--btn-border-color:#e6ebf1;--btn-hover-color:#111;--btn-hover-bg:#e6ebf1;--btn-hover-border-color:#e6ebf1;--btn-active-color:#111;--btn-active-bg:#d7dce2;--btn-active-border-color:#d7dce2;--gradient:none}.btn-outline-dark{--btn-color:hsl(210, 10%, 30%);--btn-border-color:hsl(210, 10%, 30%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:hsl(210, 10%, 30%);--btn-hover-border-color:hsl(210, 10%, 30%);--btn-focus-shadow-rgb:70,75,80;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:hsl(210, 10%, 30%);--btn-active-border-color:hsl(210, 10%, 30%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(210, 10%, 30%);--btn-disabled-bg:transparent;--btn-disabled-border-color:hsl(210, 10%, 30%);--gradient:none}.btn-link{--btn-font-weight:400;--btn-color:var(--color-link);--btn-bg:transparent;--btn-border-color:transparent;--btn-hover-color:var(--link-hover-color);--btn-hover-border-color:transparent;--btn-active-color:var(--link-hover-color);--btn-active-border-color:transparent;--btn-disabled-color:#6d7781;--btn-disabled-border-color:transparent;--btn-box-shadow:none;--btn-focus-shadow-rgb:84,114,255;text-decoration:underline} \ No newline at end of file diff --git a/src/media/css/theme/light.standard.css b/src/media/css/theme/light.standard.css index 4c71b15..a34b34e 100644 --- a/src/media/css/theme/light.standard.css +++ b/src/media/css/theme/light.standard.css @@ -519,6 +519,266 @@ color-scheme: light; --gab-gray1: #495057; --gab-gray2: #6c757d; --gab-gray3: #adb5bd; + +/* ===== HERO / BANNER OVERLAY ===== */ +--hero-height: 70vh; +--hero-color: var(--body-color); +--hero-bg-repeat: no-repeat; +--hero-bg-attachment: fixed; +--hero-bg-position: top center; +--hero-bg-size: cover; +--hero-border-bottom: solid var(--accent-color-secondary); +--hero-overlay-bg: hsla(0, 0%, 0%, 0.1); +--hero-overlay-padding: 1em; +--hero-overlay-text-align: center; +--hero-overlay-text-color: var(--body-color); + +/* ===== OFFCANVAS ===== */ +--offcanvas-zindex: 1045; +--offcanvas-width: 400px; +--offcanvas-height: 30vh; +--offcanvas-padding-x: 1rem; +--offcanvas-padding-y: 1rem; +--offcanvas-color: var(--body-color); +--offcanvas-bg: var(--body-bg); +--offcanvas-border-width: 1px; +--offcanvas-border-color: var(--border-color-translucent); +--offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); + +/* ===== ACCORDION ===== */ +--accordion-color: hsl(210, 11%, 15%); +--accordion-bg: var(--body-bg); +--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; +--accordion-border-color: var(--border-color); +--accordion-border-width: 1px; +--accordion-border-radius: 0.25rem; +--accordion-inner-border-radius: calc(0.25rem - 1px); +--accordion-btn-padding-x: 1.25rem; +--accordion-btn-padding-y: 1rem; +--accordion-btn-color: hsl(210, 11%, 15%); +--accordion-btn-bg: var(--accordion-bg); +--accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='hsl%28210, 11%25, 15%25%29'%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"); +--accordion-btn-icon-width: 1.25rem; +--accordion-btn-icon-transform: rotate(-180deg); +--accordion-btn-icon-transition: transform 0.2s ease-in-out; +--accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230f244d'%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"); +--accordion-btn-focus-border-color: var(--input-focus-border-color); +--accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(1, 1, 86, 0.25); +--accordion-body-padding-x: 1.25rem; +--accordion-body-padding-y: 1rem; +--accordion-active-color: #0f244d; +--accordion-active-bg: #e7eaee; + +/* ===== BREADCRUMB ===== */ +--breadcrumb-padding-x: 0; +--breadcrumb-padding-y: 0; +--breadcrumb-margin-bottom: 1rem; +--breadcrumb-bg: ; +--breadcrumb-border-radius: ; +--breadcrumb-divider-color: hsl(210, 7%, 46%); +--breadcrumb-item-padding-x: 0.5rem; +--breadcrumb-item-active-color: var(--link-color); + +/* ===== PAGINATION ===== */ +--pagination-padding-x: 0.75rem; +--pagination-padding-y: 0.375rem; +--pagination-font-size: 1rem; +--pagination-color: var(--link-color); +--pagination-bg: var(--body-bg); +--pagination-border-width: 1px; +--pagination-border-color: hsl(210, 14%, 89%); +--pagination-border-radius: 0.25rem; +--pagination-focus-color: var(--link-active-color); +--pagination-focus-bg: hsl(210, 16%, 93%); +--pagination-focus-box-shadow: 0 0 0 0.25rem rgba(1, 1, 86, 0.25); +--pagination-active-color: var(--body-bg); +--pagination-active-bg: hsl(240, 98%, 17%); +--pagination-active-border-color: hsl(240, 98%, 17%); +--pagination-disabled-color: hsl(210, 7%, 46%); +--pagination-disabled-bg: var(--body-bg); +--pagination-disabled-border-color: hsl(210, 14%, 89%); + +/* ===== BADGE ===== */ +--badge-padding-x: 0.65em; +--badge-padding-y: 0.35em; +--badge-font-size: 0.75em; +--badge-font-weight: 700; +--badge-color: var(--body-bg); +--badge-border-radius: 0.25rem; + +/* ===== ALERT ===== */ +--alert-bg: transparent; +--alert-padding-x: 1rem; +--alert-padding-y: 1rem; +--alert-margin-bottom: 1rem; +--alert-color: inherit; +--alert-border-color: transparent; +--alert-border: 1px solid var(--alert-border-color); +--alert-border-radius: 0.25rem; + +/* ===== PROGRESS ===== */ +--progress-height: 1rem; +--progress-font-size: 0.75rem; +--progress-bg: hsl(210, 16%, 93%); +--progress-border-radius: 0.25rem; +--progress-box-shadow: inset 0 1px 2px rgba(var(--black-rgb), 0.075); +--progress-bar-color: var(--body-bg); +--progress-bar-bg: hsl(240, 98%, 17%); +--progress-bar-transition: width 0.6s ease; + +/* ===== LIST GROUP ===== */ +--list-group-color: hsl(210, 11%, 15%); +--list-group-bg: var(--body-bg); +--list-group-border-color: rgba(var(--black-rgb), 0.125); +--list-group-border-width: 1px; +--list-group-border-radius: 0.25rem; +--list-group-item-padding-x: 1rem; +--list-group-item-padding-y: 0.5rem; +--list-group-action-color: hsl(210, 9%, 31%); +--list-group-action-active-color: hsl(210, 11%, 15%); +--list-group-action-active-bg: hsl(210, 16%, 93%); +--list-group-disabled-color: hsl(210, 7%, 46%); +--list-group-disabled-bg: var(--body-bg); +--list-group-active-color: var(--body-bg); +--list-group-active-bg: hsl(240, 98%, 17%); +--list-group-active-border-color: hsl(240, 98%, 17%); + +/* ===== DROPDOWN ===== */ +--dropdown-zindex: 1000; +--dropdown-min-width: 10rem; +--dropdown-padding-x: 0; +--dropdown-padding-y: 0.5rem; +--dropdown-spacer: 0.125rem; +--dropdown-font-size: 1rem; +--dropdown-color: hsl(210, 11%, 15%); +--dropdown-bg: var(--body-bg); +--dropdown-border-color: var(--border-color-translucent); +--dropdown-border-radius: 0.25rem; +--dropdown-border-width: 1px; +--dropdown-inner-border-radius: calc(0.25rem - 1px); +--dropdown-divider-bg: var(--border-color-translucent); +--dropdown-divider-margin-y: 0.5rem; +--dropdown-box-shadow: 0 0.5rem 1rem var(--shadow-color-light); +--dropdown-link-color: hsl(210, 11%, 15%); +--dropdown-link-active-color: var(--body-bg); +--dropdown-link-active-bg: hsl(240, 98%, 17%); +--dropdown-link-disabled-color: hsl(210, 11%, 71%); +--dropdown-item-padding-x: 1rem; +--dropdown-item-padding-y: 0.25rem; +--dropdown-header-color: hsl(210, 7%, 46%); +--dropdown-header-padding-x: 1rem; +--dropdown-header-padding-y: 0.5rem; + +/* ===== TOAST ===== */ +--toast-zindex: 1090; +--toast-padding-x: 0.75rem; +--toast-padding-y: 0.5rem; +--toast-spacing: 1em; +--toast-max-width: 350px; +--toast-font-size: 0.875rem; +--toast-color: ; +--toast-bg: rgba(255, 255, 255, 0.85); +--toast-border-width: 1px; +--toast-border-color: var(--border-color-translucent); +--toast-border-radius: 0.25rem; +--toast-box-shadow: 0 0.5rem 1rem var(--shadow-color-light); +--toast-header-color: hsl(210, 7%, 46%); +--toast-header-bg: rgba(var(--white-rgb), 0.85); +--toast-header-border-color: rgba(var(--black-rgb), var(--opacity-5)); + +/* ===== MODAL ===== */ +--modal-zindex: 1050; +--modal-width: 500px; +--modal-padding: 1rem; +--modal-margin: 0.5rem; +--modal-color: ; +--modal-bg: var(--body-bg); +--modal-border-color: var(--border-color-translucent); +--modal-border-width: 1px; +--modal-border-radius: 0.3rem; +--modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); +--modal-inner-border-radius: calc(0.3rem - 1px); +--modal-header-padding-x: 1rem; +--modal-header-padding-y: 1rem; +--modal-header-padding: 1rem 1rem; +--modal-header-border-color: var(--border-color); +--modal-header-border-width: 1px; +--modal-title-line-height: 1.5; +--modal-footer-gap: 0.5rem; +--modal-footer-bg: ; +--modal-footer-border-color: var(--border-color); +--modal-footer-border-width: 1px; + +/* ===== TOOLTIP ===== */ +--tooltip-zindex: 1070; +--tooltip-max-width: 200px; +--tooltip-padding-x: 0.5rem; +--tooltip-padding-y: 0.25rem; +--tooltip-margin: ; +--tooltip-font-size: 0.875rem; +--tooltip-color: var(--body-bg); +--tooltip-bg: hsl(0, 0%, 0%); +--tooltip-border-radius: 0.25rem; +--tooltip-opacity: 0.9; +--tooltip-arrow-width: 0.8rem; +--tooltip-arrow-height: 0.4rem; + +/* ===== POPOVER ===== */ +--popover-zindex: 1060; +--popover-max-width: 276px; +--popover-font-size: 0.875rem; +--popover-bg: var(--body-bg); +--popover-border-width: 1px; +--popover-border-color: var(--border-color-translucent); +--popover-border-radius: 0.3rem; +--popover-inner-border-radius: calc(0.3rem - 1px); +--popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); +--popover-header-padding-x: 1rem; +--popover-header-padding-y: 0.5rem; +--popover-header-font-size: 1rem; +--popover-header-color: ; +--popover-header-bg: #f0f0f0; +--popover-body-padding-x: 1rem; +--popover-body-padding-y: 1rem; +--popover-body-color: hsl(210, 11%, 15%); +--popover-arrow-width: 1rem; +--popover-arrow-height: 0.5rem; +--popover-arrow-border: var(--popover-border-color); + +/* ===== SPINNER ===== */ +--spinner-width: 2rem; +--spinner-height: 2rem; +--spinner-vertical-align: -0.125em; +--spinner-border-width: 0.25em; +--spinner-animation-speed: 0.75s; + +/* ===== NAV TABS ===== */ +--nav-tabs-border-width: 1px; +--nav-tabs-border-color: hsl(210, 14%, 89%); +--nav-tabs-border-radius: 0.25rem; +--nav-tabs-link-active-color: hsl(210, 9%, 31%); +--nav-tabs-link-active-bg: var(--body-bg); +--nav-tabs-link-active-border-color: hsl(210, 14%, 89%) hsl(210, 14%, 89%) var(--body-bg); + +/* ===== NAV PILLS ===== */ +--nav-pills-border-radius: 0.25rem; +--nav-pills-link-active-color: var(--body-bg); +--nav-pills-link-active-bg: hsl(240, 98%, 17%); + +/* ===== TABLE ===== */ +--table-color: var(--body-color); +--table-bg: transparent; +--table-border-color: var(--border-color); +--table-accent-bg: transparent; +--table-striped-color: var(--body-color); +--table-striped-bg: rgba(var(--black-rgb), var(--opacity-5)); +--table-active-color: var(--body-color); +--table-active-bg: rgba(var(--black-rgb), 0.075); + +/* ===== BACKDROP ===== */ +--backdrop-zindex: 1040; +--backdrop-bg: hsl(0, 0%, 0%); +--backdrop-opacity: 0.5; } .btn { diff --git a/src/media/css/theme/light.standard.min.css b/src/media/css/theme/light.standard.min.css new file mode 100644 index 0000000..3d53119 --- /dev/null +++ b/src/media/css/theme/light.standard.min.css @@ -0,0 +1 @@ +@charset "UTF-8";:root[data-bs-theme=light]{color-scheme:light;--color-primary:#112855;--accent-color-primary:#3f8ff0;--accent-color-secondary:#3f8ff0;--mainmenu-nav-link-color:white;--nav-text-color:white;--nav-bg-color:var(--color-link);--color-link:#224FAA;--color-hover:var(--accent-color-primary);--link-color:#224faa;--link-color-rgb:34,79,170;--link-decoration:underline;--link-hover-color:#424077;--link-hover-color-rgb:66,64,119;--link-active-color:var(--link-color);--offcanvas-color:var(--body-color);--offcanvas-padding-x:1rem;--offcanvas-padding-y:1rem;--navbar-padding-x:1rem;--navbar-padding-y:0.5rem;--navbar-color:var(--nav-text-color);--navbar-active-color:var(--mainmenu-nav-link-color);--navbar-disabled-color:#6c757d;--navbar-brand-padding-y:0.3125rem;--navbar-brand-margin-end:1rem;--navbar-brand-font-size:1.25rem;--navbar-brand-color:var(--nav-text-color);--navbar-brand-active-color:var(--mainmenu-nav-link-color);--navbar-nav-link-padding-x:0.5rem;--navbar-toggler-padding-y:0.25rem;--navbar-toggler-padding-x:0.75rem;--navbar-toggler-font-size:1.25rem;--navbar-toggler-border-color:rgba(0, 0, 0, 0.1);--navbar-toggler-border-radius:0.25rem;--navbar-toggler-focus-width:0.25rem;--navbar-toggler-transition:box-shadow 0.15s ease-in-out;--nav-link-padding-x:1rem;--nav-link-padding-y:0.5rem;--nav-link-font-weight:400;--nav-link-color:var(--nav-text-color);--nav-link-active-color:var(--mainmenu-nav-link-color);--nav-link-disabled-color:#6c757d;--font-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--body-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");--body-font-size:1rem;--body-font-weight:400;--body-line-height:1.5;--body-color:#22262a;--body-color-rgb:34,38,42;--body-bg:#fff;--body-bg-rgb:255,255,255;--heading-color:inherit;--emphasis-color:#000;--emphasis-color-rgb:0,0,0;--secondary-color:#22262abf;--secondary-color-rgb:34,38,42;--tertiary-color:#22262a80;--tertiary-color-rgb:34,38,42;--muted-color:#6d757e;--code-color:#e93f8e;--code-color-ink:var(--code-color, #e93f8e);--highlight-color:#22262a;--highlight-bg:#fbeea8;--padding-x:0.15rem;--padding-y:0.15rem;--bg-opacity:1;--nav-toggle-size:3rem;--gradient:linear-gradient(180deg, #ffffff26, #fff0);--secondary-bg:#eaedf0;--secondary-bg-rgb:234,237,240;--tertiary-bg:#f9fafb;--tertiary-bg-rgb:249,250,251;--hr-color:var(--border-color, #dfe3e7);--border-color-soft:var(--border-color, #dfe3e7);--kbd-bg:var(--secondary-bg, #eaedf0);--kbd-ink:var(--body-bg, #fff);--toc-bg:var(--secondary-bg, #eaedf0);--toc-ink:var(--color-primary, #112855);--selection-bg:var(--highlight-bg, #fbeea8);--selection-ink:var(--body-color, #22262a);--border:5px;--bp-xs:0;--bp-sm:576px;--bp-md:768px;--bp-lg:992px;--bp-xl:1200px;--primary:#010156;--secondary:#6d757e;--success:#448344;--info:#30638d;--warning:#ad6200;--danger:#a51f18;--light:#f9fafb;--dark:#353b41;--primary-rgb:1,1,86;--secondary-rgb:109,117,126;--success-rgb:68,131,68;--info-rgb:48,99,141;--warning-rgb:173,98,0;--danger-rgb:165,31,24;--light-rgb:249,250,251;--dark-rgb:53,59,65;--primary-text-emphasis:#002;--secondary-text-emphasis:#2c2f32;--success-text-emphasis:#1b351b;--info-text-emphasis:#132838;--warning-text-emphasis:#452700;--danger-text-emphasis:#420c09;--light-text-emphasis:#484f56;--dark-text-emphasis:#484f56;--primary-bg-subtle:#ccd;--secondary-bg-subtle:#e2e3e5;--success-bg-subtle:#dae6da;--info-bg-subtle:#d6e0e8;--warning-bg-subtle:#efe0cc;--danger-bg-subtle:#edd2d1;--light-bg-subtle:#fcfcfd;--dark-bg-subtle:#ced4da;--primary-border-subtle:#99b;--secondary-border-subtle:#c5c8cb;--success-border-subtle:#b4ceb4;--info-border-subtle:#acc1d1;--warning-border-subtle:#dec099;--danger-border-subtle:#dba5a2;--light-border-subtle:#eaedf0;--dark-border-subtle:#adb5bd;--alert-primary-link-color:#01012a;--alert-secondary-link-color:#34383d;--alert-success-link-color:#213f21;--alert-info-link-color:#172f44;--alert-warning-link-color:#532f00;--alert-danger-link-color:#4f0f0b;--alert-light-link-color:#505050;--alert-dark-link-color:#1a1c1f;--list-group-item-primary-color:#010134;--list-group-item-primary-bg:#ccccdd;--list-group-item-primary-active-bg:#b8b8c7;--list-group-item-secondary-color:#41464c;--list-group-item-secondary-bg:#e2e3e5;--list-group-item-secondary-active-bg:#cbccce;--list-group-item-success-color:#294f29;--list-group-item-success-bg:#dae6da;--list-group-item-success-active-bg:#c4cfc4;--list-group-item-info-color:#1d3b55;--list-group-item-info-bg:#d6e0e8;--list-group-item-info-active-bg:#c1cad1;--list-group-item-warning-color:#683b00;--list-group-item-warning-bg:#efe0cc;--list-group-item-warning-active-bg:#d7cab8;--list-group-item-danger-color:#63130e;--list-group-item-danger-bg:#edd2d1;--list-group-item-danger-active-bg:#d5bdbc;--list-group-item-light-color:#646464;--list-group-item-light-bg:#fefefe;--list-group-item-light-active-bg:#e5e5e5;--list-group-item-dark-color:#202327;--list-group-item-dark-bg:#d7d8d9;--list-group-item-dark-active-bg:#c2c2c3;--link-primary-color:hsl(240, 98%, 17%);--link-primary-hover-color:#010145;--link-secondary-color:hsl(210, 7%, 46%);--link-secondary-hover-color:#575e65;--link-success-color:hsl(120, 32%, 39%);--link-success-hover-color:#366936;--link-info-color:hsl(207, 49%, 37%);--link-info-hover-color:#264f71;--link-warning-color:hsl(34, 100%, 34%);--link-warning-hover-color:#8a4e00;--link-danger-color:hsl(3, 75%, 37%);--link-danger-hover-color:#841913;--link-light-color:hsl(210, 17%, 98%);--link-light-hover-color:#fafbfc;--link-dark-color:hsl(210, 10%, 23%);--link-dark-hover-color:#2a2f34;--mod-finder-link-hover:#e6e6e6;--form-legend-color:#495057;--border-gray:#b2bfcd;--subhead-color:#495057;--box-shadow-gray:#ddd;--btn-active-text-gray:#A0A0A0;--indicator-success-bg:var(--success);--item-list-color:#F5F5F5;--notification-badge-bg:var(--danger);--content-bg-gray:#DDD;--taba-btn-green:#7ac143;--taba-btn-blue:#5091cd;--taba-btn-red:#f44321;--taba-btn-gray:#AAA;--taba-msg-bg:#f5f5f5;--toc-link-color:#767676;--toc-link-active-color:#563d7c;--choices-disabled-bg:#eaeaea;--choices-input-bg:var(--white);--choices-border-light:#ddd;--choices-arrow-color:#333;--choices-inner-bg:#f9f9f9;--choices-focused-border:#b7b7b7;--choices-dropdown-bg:var(--white);--choices-item-bg:#00bcd4;--choices-item-border:#00a5bb;--choices-item-hover-bg:#00a5bb;--choices-item-hover-border:#008fa1;--choices-item-disabled-bg:#aaaaaa;--choices-item-disabled-border:#919191;--choices-item-highlighted:#f2f2f2;--choices-input-inner-bg:#f9f9f9;--blue:#010156;--indigo:#6812f3;--purple:#6f42c2;--pink:#e93f8e;--red:#a51f18;--orange:#fd7e17;--yellow:#ad6200;--green:#448344;--teal:#5abfdd;--cyan:#30638d;--black:#000;--white:#fff;--gray-100:#f9fafb;--gray-200:#eaedf0;--gray-300:#dfe3e7;--gray-400:#ced4da;--gray-500:#adb5bd;--gray-600:#6d757e;--gray-700:#484f56;--gray-800:#353b41;--gray-900:#22262a;--white-rgb:255,255,255;--black-rgb:0,0,0;--opacity-0:0;--opacity-5:0.05;--opacity-10:0.1;--opacity-15:0.15;--opacity-20:0.2;--opacity-25:0.25;--opacity-30:0.3;--opacity-50:0.5;--opacity-75:0.75;--opacity-100:1;--shadow-color-light:rgba(var(--black-rgb), var(--opacity-15));--shadow-color-medium:rgba(var(--black-rgb), var(--opacity-25));--shadow-color-dark:rgba(var(--black-rgb), var(--opacity-30));--border-color-translucent:rgba(var(--black-rgb), var(--opacity-10));--highlight-translucent:rgba(var(--white-rgb), var(--opacity-15));--header-background-image:url('../../../../../../media/templates/site/mokocassiopeia/images/bg.svg');--header-background-attachment:fixed;--header-background-repeat:repeat;--header-background-size:auto;--container-below-topbar-bg-image:none;--container-below-topbar-bg-color:transparent;--container-below-topbar-bg-position:auto;--container-below-topbar-bg-attachment:fixed;--container-below-topbar-bg-repeat:repeat;--container-below-topbar-bg-size:auto;--container-below-topbar-border:none;--container-below-topbar-border-radius:0;--container-top-a-bg-image:none;--container-top-a-bg-color:transparent;--container-top-a-bg-position:auto;--container-top-a-bg-attachment:fixed;--container-top-a-bg-repeat:repeat;--container-top-a-bg-size:auto;--container-top-a-border:none;--container-top-a-border-radius:0;--container-top-b-bg-image:none;--container-top-b-bg-color:transparent;--container-top-b-bg-position:auto;--container-top-b-bg-attachment:fixed;--container-top-b-bg-repeat:repeat;--container-top-b-bg-size:auto;--container-top-b-border:none;--container-top-b-border-radius:0;--container-toc-bg:var(--mainmenu-nav-link-color);--container-toc-color:var(--color-primary);--container-sidebar-bg-image:none;--container-sidebar-bg-color:transparent;--container-sidebar-bg-position:auto;--container-sidebar-bg-attachment:scroll;--container-sidebar-bg-repeat:repeat;--container-sidebar-bg-size:auto;--container-sidebar-border:none;--container-sidebar-border-radius:0;--container-bottom-a-bg-image:none;--container-bottom-a-bg-color:transparent;--container-bottom-a-bg-position:auto;--container-bottom-a-bg-attachment:fixed;--container-bottom-a-bg-repeat:repeat;--container-bottom-a-bg-size:auto;--container-bottom-a-border:none;--container-bottom-a-border-radius:0;--container-bottom-b-bg-image:none;--container-bottom-b-bg-color:transparent;--container-bottom-b-bg-position:auto;--container-bottom-b-bg-attachment:fixed;--container-bottom-b-bg-repeat:repeat;--container-bottom-b-bg-size:auto;--container-bottom-b-border:none;--container-bottom-b-border-radius:0;--border-width:1px;--border-style:solid;--border-color:#dfe3e7;--border-color-translucent:#0000002d;--border-radius:.25rem;--border-radius-sm:.2rem;--border-radius-lg:.3rem;--border-radius-xl:.3rem;--border-radius-xxl:2rem;--border-radius-2xl:var(--border-radius-xxl) *2;--border-radius-pill:50rem;--box-shadow:0 .5rem 1rem #00000026;--box-shadow-sm:0 .125rem .25rem #00000013;--box-shadow-lg:0 1rem 3rem #0000002d;--box-shadow-inset:inset 0 1px 2px #00000013;--focus-ring-width:.25rem;--focus-ring-opacity:.25;--focus-ring-color:#01015640;--input-color:hsl(210, 11%, 15%);--input-bg:hsl(210, 20%, 98%);--input-border-color:hsl(210, 14%, 83%);--input-focus-border-color:#8894aa;--input-focus-box-shadow:0 0 0 0.25rem rgba(1, 1, 86, 0.25);--input-placeholder-color:hsl(210, 7%, 46%);--input-disabled-bg:hsl(210, 16%, 93%);--input-disabled-border-color:hsl(210, 14%, 83%);--input-file-button-active-bg:#dee1e4;--form-range-thumb-active-bg:#b8bfcc;--form-valid-color:#448344;--form-valid-border-color:#448344;--form-invalid-color:#a51f18;--form-invalid-border-color:#a51f18;--btn-border-radius:var(--border-radius);--btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--card-spacer-y:1rem;--card-spacer-x:1rem;--card-title-spacer-y:0.5rem;--card-border-width:1px;--card-border-color:var(--border-color);--card-border-radius:var(--border-radius);--card-box-shadow:none;--card-inner-border-radius:calc(var(--border-radius) - 1px);--card-cap-padding-y:0.5rem;--card-cap-padding-x:1rem;--card-cap-bg:rgba(0, 0, 0, 0.03);--card-cap-color:var(--body-color);--card-height:auto;--card-color:var(--body-color);--card-bg:var(--body-bg);--card-img-overlay-padding:1rem;--card-group-margin:0.75rem;--vm-surface:#ffffff;--vm-surface-2:#f8f9fa;--vm-text:var(--body-color);--vm-text-strong:#000000;--vm-text-muted:#6c757d;--vm-border:var(--border-color);--vm-price-color:var(--success);--vm-container-max-width:1200px;--vm-section-gap:2rem;--vm-block-radius:var(--border-radius);--vm-block-shadow:var(--box-shadow-sm);--vm-category-title-size:2rem;--vm-subcategory-title-size:1.5rem;--vm-page-title-size:1.75rem;--vm-products-type-title-size:1.25rem;--vm-product-title-size:1.125rem;--vm-product-title-weight:500;--vm-products-type-title-weight:600;--vm-price-size:1.5rem;--vm-price-detail-size:1.125rem;--vm-price-desc-size:0.875rem;--vm-input-radius:var(--border-radius);--vm-input-shadow:var(--box-shadow-sm);--vm-qty-width:80px;--vm-cart-dropdown-min-width:300px;--vm-alert-radius:var(--border-radius);--vm-alert-shadow:var(--box-shadow-sm);--vm-availability-bg:var(--success-bg-subtle);--vm-availability-text:var(--success);--vm-btn-padding-x:1rem;--vm-btn-padding-y:0.5rem;--vm-btn-radius:var(--border-radius);--vm-btn-shadow:var(--box-shadow-sm);--vm-btn-primary-bg:var(--primary);--vm-btn-primary-text:#ffffff;--vm-btn-primary-border:var(--primary);--vm-btn-secondary-bg:var(--secondary);--vm-btn-secondary-text:#ffffff;--vm-btn-secondary-border:var(--secondary);--vm-image-overlay-gap-x:0.5rem;--vm-image-overlay-gap-y:0.5rem;--vm-image-overlay-raise:0.25rem;--vm-image-overlay-btn-size:2.5rem;--vm-image-overlay-btn-radius:50%;--vm-image-overlay-btn-bg:rgba(255, 255, 255, 0.9);--vm-image-overlay-btn-bg-hover:rgba(255, 255, 255, 1);--vm-image-overlay-btn-border-color:rgba(0, 0, 0, 0.1);--vm-image-overlay-btn-border-width:1px;--vm-image-overlay-btn-color:var(--body-color);--vm-image-overlay-btn-shadow:0 2px 4px rgba(0, 0, 0, 0.1);--vm-vendor-menu-bg:var(--body-bg);--vm-vendor-menu-border:var(--border-color);--vm-vendor-menu-radius:var(--border-radius);--vm-vendor-menu-shadow:var(--box-shadow-sm);--vm-vendor-menu-item-gap:0.25rem;--vm-vendor-menu-item-padding-x:1rem;--vm-vendor-menu-item-padding-y:0.5rem;--vm-vendor-menu-pill-radius:50rem;--vm-vendor-menu-link:var(--link-color);--vm-vendor-menu-link-hover:var(--link-hover-color);--vm-vendor-menu-link-active:var(--primary);--vm-vendor-menu-hover-bg:var(--secondary-bg);--gab-blue:#0066cc;--gab-green:#28a745;--gab-red:#dc3545;--gab-orange:#fd7e14;--gab-gray1:#495057;--gab-gray2:#6c757d;--gab-gray3:#adb5bd;--hero-height:70vh;--hero-color:var(--body-color);--hero-bg-repeat:no-repeat;--hero-bg-attachment:fixed;--hero-bg-position:top center;--hero-bg-size:cover;--hero-border-bottom:solid var(--accent-color-secondary);--hero-overlay-bg:hsla(0, 0%, 0%, 0.1);--hero-overlay-padding:1em;--hero-overlay-text-align:center;--hero-overlay-text-color:var(--body-color);--offcanvas-zindex:1045;--offcanvas-width:400px;--offcanvas-height:30vh;--offcanvas-padding-x:1rem;--offcanvas-padding-y:1rem;--offcanvas-color:var(--body-color);--offcanvas-bg:var(--body-bg);--offcanvas-border-width:1px;--offcanvas-border-color:var(--border-color-translucent);--offcanvas-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--accordion-color:hsl(210, 11%, 15%);--accordion-bg:var(--body-bg);--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;--accordion-border-color:var(--border-color);--accordion-border-width:1px;--accordion-border-radius:0.25rem;--accordion-inner-border-radius:calc(0.25rem - 1px);--accordion-btn-padding-x:1.25rem;--accordion-btn-padding-y:1rem;--accordion-btn-color:hsl(210, 11%, 15%);--accordion-btn-bg:var(--accordion-bg);--accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='hsl%28210, 11%25, 15%25%29'%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");--accordion-btn-icon-width:1.25rem;--accordion-btn-icon-transform:rotate(-180deg);--accordion-btn-icon-transition:transform 0.2s ease-in-out;--accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230f244d'%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");--accordion-btn-focus-border-color:var(--input-focus-border-color);--accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(1, 1, 86, 0.25);--accordion-body-padding-x:1.25rem;--accordion-body-padding-y:1rem;--accordion-active-color:#0f244d;--accordion-active-bg:#e7eaee;--breadcrumb-padding-x:0;--breadcrumb-padding-y:0;--breadcrumb-margin-bottom:1rem;--breadcrumb-bg: ;--breadcrumb-border-radius: ;--breadcrumb-divider-color:hsl(210, 7%, 46%);--breadcrumb-item-padding-x:0.5rem;--breadcrumb-item-active-color:var(--link-color);--pagination-padding-x:0.75rem;--pagination-padding-y:0.375rem;--pagination-font-size:1rem;--pagination-color:var(--link-color);--pagination-bg:var(--body-bg);--pagination-border-width:1px;--pagination-border-color:hsl(210, 14%, 89%);--pagination-border-radius:0.25rem;--pagination-focus-color:var(--link-active-color);--pagination-focus-bg:hsl(210, 16%, 93%);--pagination-focus-box-shadow:0 0 0 0.25rem rgba(1, 1, 86, 0.25);--pagination-active-color:var(--body-bg);--pagination-active-bg:hsl(240, 98%, 17%);--pagination-active-border-color:hsl(240, 98%, 17%);--pagination-disabled-color:hsl(210, 7%, 46%);--pagination-disabled-bg:var(--body-bg);--pagination-disabled-border-color:hsl(210, 14%, 89%);--badge-padding-x:0.65em;--badge-padding-y:0.35em;--badge-font-size:0.75em;--badge-font-weight:700;--badge-color:var(--body-bg);--badge-border-radius:0.25rem;--alert-bg:transparent;--alert-padding-x:1rem;--alert-padding-y:1rem;--alert-margin-bottom:1rem;--alert-color:inherit;--alert-border-color:transparent;--alert-border:1px solid var(--alert-border-color);--alert-border-radius:0.25rem;--progress-height:1rem;--progress-font-size:0.75rem;--progress-bg:hsl(210, 16%, 93%);--progress-border-radius:0.25rem;--progress-box-shadow:inset 0 1px 2px rgba(var(--black-rgb), 0.075);--progress-bar-color:var(--body-bg);--progress-bar-bg:hsl(240, 98%, 17%);--progress-bar-transition:width 0.6s ease;--list-group-color:hsl(210, 11%, 15%);--list-group-bg:var(--body-bg);--list-group-border-color:rgba(var(--black-rgb), 0.125);--list-group-border-width:1px;--list-group-border-radius:0.25rem;--list-group-item-padding-x:1rem;--list-group-item-padding-y:0.5rem;--list-group-action-color:hsl(210, 9%, 31%);--list-group-action-active-color:hsl(210, 11%, 15%);--list-group-action-active-bg:hsl(210, 16%, 93%);--list-group-disabled-color:hsl(210, 7%, 46%);--list-group-disabled-bg:var(--body-bg);--list-group-active-color:var(--body-bg);--list-group-active-bg:hsl(240, 98%, 17%);--list-group-active-border-color:hsl(240, 98%, 17%);--dropdown-zindex:1000;--dropdown-min-width:10rem;--dropdown-padding-x:0;--dropdown-padding-y:0.5rem;--dropdown-spacer:0.125rem;--dropdown-font-size:1rem;--dropdown-color:hsl(210, 11%, 15%);--dropdown-bg:var(--body-bg);--dropdown-border-color:var(--border-color-translucent);--dropdown-border-radius:0.25rem;--dropdown-border-width:1px;--dropdown-inner-border-radius:calc(0.25rem - 1px);--dropdown-divider-bg:var(--border-color-translucent);--dropdown-divider-margin-y:0.5rem;--dropdown-box-shadow:0 0.5rem 1rem var(--shadow-color-light);--dropdown-link-color:hsl(210, 11%, 15%);--dropdown-link-active-color:var(--body-bg);--dropdown-link-active-bg:hsl(240, 98%, 17%);--dropdown-link-disabled-color:hsl(210, 11%, 71%);--dropdown-item-padding-x:1rem;--dropdown-item-padding-y:0.25rem;--dropdown-header-color:hsl(210, 7%, 46%);--dropdown-header-padding-x:1rem;--dropdown-header-padding-y:0.5rem;--toast-zindex:1090;--toast-padding-x:0.75rem;--toast-padding-y:0.5rem;--toast-spacing:1em;--toast-max-width:350px;--toast-font-size:0.875rem;--toast-color: ;--toast-bg:rgba(255, 255, 255, 0.85);--toast-border-width:1px;--toast-border-color:var(--border-color-translucent);--toast-border-radius:0.25rem;--toast-box-shadow:0 0.5rem 1rem var(--shadow-color-light);--toast-header-color:hsl(210, 7%, 46%);--toast-header-bg:rgba(var(--white-rgb), 0.85);--toast-header-border-color:rgba(var(--black-rgb), var(--opacity-5));--modal-zindex:1050;--modal-width:500px;--modal-padding:1rem;--modal-margin:0.5rem;--modal-color: ;--modal-bg:var(--body-bg);--modal-border-color:var(--border-color-translucent);--modal-border-width:1px;--modal-border-radius:0.3rem;--modal-box-shadow:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--modal-inner-border-radius:calc(0.3rem - 1px);--modal-header-padding-x:1rem;--modal-header-padding-y:1rem;--modal-header-padding:1rem 1rem;--modal-header-border-color:var(--border-color);--modal-header-border-width:1px;--modal-title-line-height:1.5;--modal-footer-gap:0.5rem;--modal-footer-bg: ;--modal-footer-border-color:var(--border-color);--modal-footer-border-width:1px;--tooltip-zindex:1070;--tooltip-max-width:200px;--tooltip-padding-x:0.5rem;--tooltip-padding-y:0.25rem;--tooltip-margin: ;--tooltip-font-size:0.875rem;--tooltip-color:var(--body-bg);--tooltip-bg:hsl(0, 0%, 0%);--tooltip-border-radius:0.25rem;--tooltip-opacity:0.9;--tooltip-arrow-width:0.8rem;--tooltip-arrow-height:0.4rem;--popover-zindex:1060;--popover-max-width:276px;--popover-font-size:0.875rem;--popover-bg:var(--body-bg);--popover-border-width:1px;--popover-border-color:var(--border-color-translucent);--popover-border-radius:0.3rem;--popover-inner-border-radius:calc(0.3rem - 1px);--popover-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--popover-header-padding-x:1rem;--popover-header-padding-y:0.5rem;--popover-header-font-size:1rem;--popover-header-color: ;--popover-header-bg:#f0f0f0;--popover-body-padding-x:1rem;--popover-body-padding-y:1rem;--popover-body-color:hsl(210, 11%, 15%);--popover-arrow-width:1rem;--popover-arrow-height:0.5rem;--popover-arrow-border:var(--popover-border-color);--spinner-width:2rem;--spinner-height:2rem;--spinner-vertical-align:-0.125em;--spinner-border-width:0.25em;--spinner-animation-speed:0.75s;--nav-tabs-border-width:1px;--nav-tabs-border-color:hsl(210, 14%, 89%);--nav-tabs-border-radius:0.25rem;--nav-tabs-link-active-color:hsl(210, 9%, 31%);--nav-tabs-link-active-bg:var(--body-bg);--nav-tabs-link-active-border-color:hsl(210, 14%, 89%) hsl(210, 14%, 89%) var(--body-bg);--nav-pills-border-radius:0.25rem;--nav-pills-link-active-color:var(--body-bg);--nav-pills-link-active-bg:hsl(240, 98%, 17%);--table-color:var(--body-color);--table-bg:transparent;--table-border-color:var(--border-color);--table-accent-bg:transparent;--table-striped-color:var(--body-color);--table-striped-bg:rgba(var(--black-rgb), var(--opacity-5));--table-active-color:var(--body-color);--table-active-bg:rgba(var(--black-rgb), 0.075);--backdrop-zindex:1040;--backdrop-bg:hsl(0, 0%, 0%);--backdrop-opacity:0.5}.btn{--btn-padding-x:1rem;--btn-padding-y:0.6rem;--btn-font-family:inherit;--btn-font-size:1rem;--btn-font-weight:400;--btn-line-height:1.5;--btn-color:hsl(210, 11%, 15%);--btn-bg:transparent;--btn-border-width:1px;--btn-border-color:transparent;--btn-border-radius:0.25rem;--btn-active-border-color:transparent;--btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--btn-disabled-opacity:0.65;--btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--btn-padding-y) var(--btn-padding-x);font-family:var(--btn-font-family);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);line-height:var(--btn-line-height);color:var(--btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:var(--btn-border-width) solid var(--btn-border-color);border-radius:var(--btn-border-radius);background-color:var(--btn-bg);-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-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,-webkit-box-shadow .15s ease-in-out;-o-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.btn-primary{--btn-color:hsl(0, 0%, 100%);--btn-bg:hsl(240, 98%, 17%);--btn-border-color:hsl(240, 98%, 17%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:#010149;--btn-hover-border-color:#010145;--btn-focus-shadow-rgb:39,39,111;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:#010145;--btn-active-border-color:#010141;--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(0, 0%, 100%);--btn-disabled-bg:hsl(240, 98%, 17%);--btn-disabled-border-color:hsl(240, 98%, 17%)}.btn-secondary{--btn-color:var(--body-bg);--btn-bg:var(--nav-bg-color);--btn-border-color:hsl(210, 7%, 46%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:#5d636b;--btn-hover-border-color:#575e65;--btn-focus-shadow-rgb:gray;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:#575e65;--btn-active-border-color:#52585f;--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(0, 0%, 100%);--btn-disabled-bg:hsl(210, 7%, 46%);--btn-disabled-border-color:hsl(210, 7%, 46%)}.btn-success{--btn-color:hsl(0, 0%, 100%);--btn-bg:hsl(120, 32%, 39%);--btn-border-color:hsl(120, 32%, 39%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:#3a6f3a;--btn-hover-border-color:#366936;--btn-focus-shadow-rgb:96,150,96;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:#366936;--btn-active-border-color:#336233;--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(0, 0%, 100%);--btn-disabled-bg:hsl(120, 32%, 39%);--btn-disabled-border-color:hsl(120, 32%, 39%)}.btn-info{--btn-color:hsl(0, 0%, 100%);--btn-bg:hsl(207, 49%, 37%);--btn-border-color:hsl(207, 49%, 37%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:#295478;--btn-hover-border-color:#264f71;--btn-focus-shadow-rgb:79,122,158;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:#264f71;--btn-active-border-color:#244a6a;--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(0, 0%, 100%);--btn-disabled-bg:hsl(207, 49%, 37%);--btn-disabled-border-color:hsl(207, 49%, 37%)}.btn-warning{--btn-color:hsl(0, 0%, 100%);--btn-bg:hsl(34, 100%, 34%);--btn-border-color:hsl(34, 100%, 34%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:#935300;--btn-hover-border-color:#8a4e00;--btn-focus-shadow-rgb:185,122,38;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:#8a4e00;--btn-active-border-color:#824a00;--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(0, 0%, 100%);--btn-disabled-bg:hsl(34, 100%, 34%);--btn-disabled-border-color:hsl(34, 100%, 34%)}.btn-danger{--btn-color:hsl(0, 0%, 100%);--btn-bg:hsl(3, 75%, 37%);--btn-border-color:hsl(3, 75%, 37%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:#8c1a14;--btn-hover-border-color:#841913;--btn-focus-shadow-rgb:179,65,59;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:#841913;--btn-active-border-color:#7c1712;--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(0, 0%, 100%);--btn-disabled-bg:hsl(3, 75%, 37%);--btn-disabled-border-color:hsl(3, 75%, 37%)}.btn-light{--btn-color:hsl(0, 0%, 0%);--btn-bg:hsl(210, 17%, 98%);--btn-border-color:hsl(210, 17%, 98%);--btn-hover-color:hsl(0, 0%, 0%);--btn-hover-bg:#d4d5d5;--btn-hover-border-color:#c7c8c9;--btn-focus-shadow-rgb:212,213,213;--btn-active-color:hsl(0, 0%, 0%);--btn-active-bg:#c7c8c9;--btn-active-border-color:#bbbcbc;--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(0, 0%, 0%);--btn-disabled-bg:hsl(210, 17%, 98%);--btn-disabled-border-color:hsl(210, 17%, 98%)}.btn-dark{--btn-color:hsl(0, 0%, 100%);--btn-bg:hsl(210, 10%, 23%);--btn-border-color:hsl(210, 10%, 23%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:#53585e;--btn-hover-border-color:#494f54;--btn-focus-shadow-rgb:83,88,94;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:#5d6267;--btn-active-border-color:#494f54;--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(0, 0%, 100%);--btn-disabled-bg:hsl(210, 10%, 23%);--btn-disabled-border-color:hsl(210, 10%, 23%)}.btn-outline-primary{--btn-color:hsl(240, 98%, 17%);--btn-border-color:hsl(240, 98%, 17%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:hsl(240, 98%, 17%);--btn-hover-border-color:hsl(240, 98%, 17%);--btn-focus-shadow-rgb:1,1,86;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:hsl(240, 98%, 17%);--btn-active-border-color:hsl(240, 98%, 17%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(240, 98%, 17%);--btn-disabled-bg:transparent;--btn-disabled-border-color:hsl(240, 98%, 17%);--gradient:none}.btn-outline-secondary{--btn-color:hsl(210, 7%, 46%);--btn-border-color:hsl(210, 7%, 46%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:hsl(210, 7%, 46%);--btn-hover-border-color:hsl(210, 7%, 46%);--btn-focus-shadow-rgb:109,117,126;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:hsl(210, 7%, 46%);--btn-active-border-color:hsl(210, 7%, 46%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(210, 7%, 46%);--btn-disabled-bg:transparent;--btn-disabled-border-color:hsl(210, 7%, 46%);--gradient:none}.btn-outline-success{--btn-color:hsl(120, 32%, 39%);--btn-border-color:hsl(120, 32%, 39%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:hsl(120, 32%, 39%);--btn-hover-border-color:hsl(120, 32%, 39%);--btn-focus-shadow-rgb:68,131,68;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:hsl(120, 32%, 39%);--btn-active-border-color:hsl(120, 32%, 39%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(120, 32%, 39%);--btn-disabled-bg:transparent;--btn-disabled-border-color:hsl(120, 32%, 39%);--gradient:none}.btn-outline-info{--btn-color:hsl(207, 49%, 37%);--btn-border-color:hsl(207, 49%, 37%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:hsl(207, 49%, 37%);--btn-hover-border-color:hsl(207, 49%, 37%);--btn-focus-shadow-rgb:48,99,141;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:hsl(207, 49%, 37%);--btn-active-border-color:hsl(207, 49%, 37%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(207, 49%, 37%);--btn-disabled-bg:transparent;--btn-disabled-border-color:hsl(207, 49%, 37%);--gradient:none}.btn-outline-warning{--btn-color:hsl(34, 100%, 34%);--btn-border-color:hsl(34, 100%, 34%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:hsl(34, 100%, 34%);--btn-hover-border-color:hsl(34, 100%, 34%);--btn-focus-shadow-rgb:173,98,0;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:hsl(34, 100%, 34%);--btn-active-border-color:hsl(34, 100%, 34%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(34, 100%, 34%);--btn-disabled-bg:transparent;--btn-disabled-border-color:hsl(34, 100%, 34%);--gradient:none}.btn-outline-danger{--btn-color:hsl(3, 75%, 37%);--btn-border-color:hsl(3, 75%, 37%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:hsl(3, 75%, 37%);--btn-hover-border-color:hsl(3, 75%, 37%);--btn-focus-shadow-rgb:165,31,24;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:hsl(3, 75%, 37%);--btn-active-border-color:hsl(3, 75%, 37%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(3, 75%, 37%);--btn-disabled-bg:transparent;--btn-disabled-border-color:hsl(3, 75%, 37%);--gradient:none}.btn-outline-light{--btn-color:hsl(210, 17%, 98%);--btn-border-color:hsl(210, 17%, 98%);--btn-hover-color:hsl(0, 0%, 0%);--btn-hover-bg:hsl(210, 17%, 98%);--btn-hover-border-color:hsl(210, 17%, 98%);--btn-focus-shadow-rgb:249,250,251;--btn-active-color:hsl(0, 0%, 0%);--btn-active-bg:hsl(210, 17%, 98%);--btn-active-border-color:hsl(210, 17%, 98%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(210, 17%, 98%);--btn-disabled-bg:transparent;--btn-disabled-border-color:hsl(210, 17%, 98%);--gradient:none}.btn-outline-dark{--btn-color:hsl(210, 10%, 23%);--btn-border-color:hsl(210, 10%, 23%);--btn-hover-color:hsl(0, 0%, 100%);--btn-hover-bg:hsl(210, 10%, 23%);--btn-hover-border-color:hsl(210, 10%, 23%);--btn-focus-shadow-rgb:53,59,65;--btn-active-color:hsl(0, 0%, 100%);--btn-active-bg:hsl(210, 10%, 23%);--btn-active-border-color:hsl(210, 10%, 23%);--btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--btn-disabled-color:hsl(210, 10%, 23%);--btn-disabled-bg:transparent;--btn-disabled-border-color:hsl(210, 10%, 23%);--gradient:none}.btn-link{--btn-font-weight:400;--btn-color:var(--link-color);--btn-bg:transparent;--btn-border-color:transparent;--btn-hover-color:var(--link-hover-color);--btn-hover-border-color:transparent;--btn-active-color:var(--link-hover-color);--btn-active-border-color:transparent;--btn-disabled-color:hsl(210, 7%, 46%);--btn-disabled-border-color:transparent;--btn-box-shadow:none;--btn-focus-shadow-rgb:39,39,111;text-decoration:underline} \ No newline at end of file diff --git a/src/media/js/gtm.min.js b/src/media/js/gtm.min.js new file mode 100644 index 0000000..9e3e269 --- /dev/null +++ b/src/media/js/gtm.min.js @@ -0,0 +1 @@ +(()=>{"use strict";const e=window,t={},n=e=>{const t=(()=>{const e=document.currentScript;return e||(Array.from(document.getElementsByTagName("script")).reverse().find(e=>(e.getAttribute("src")||"").includes("/gtm.js"))||null)})(),n=document.documentElement,o=document.body,a=document.querySelector(`meta[name="moko:gtm-${e}"]`);return t&&t.dataset&&t.dataset[e]||n&&n.dataset&&n.dataset[e]||o&&o.dataset&&o.dataset[e]||a&&a.getAttribute("content")||null},o=(e,t=!1)=>{if(null==e)return t;const n=String(e).trim().toLowerCase();return!!["1","true","yes","y","on"].includes(n)||!["0","false","no","n","off"].includes(n)&&t},a=(...e)=>{if(r.debug)try{console.info("[moko-gtm]",...e)}catch(e){}},r={id:"",dataLayerName:"dataLayer",debug:!1,ignoreDNT:!1,blockOnDev:!0,envAuth:"",envPreview:"",consentDefault:{analytics_storage:"granted",functionality_storage:"granted",security_storage:"granted",ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"},pageVars:()=>({})},d=(e,t={})=>{const n={...e};for(const e in t){if(!Object.prototype.hasOwnProperty.call(t,e))continue;const o=t[e];o&&"object"==typeof o&&!Array.isArray(o)?n[e]={...n[e]||{},...o}:void 0!==o&&(n[e]=o)}return n},i=()=>{const t=e.MOKO_GTM_OPTIONS&&"object"==typeof e.MOKO_GTM_OPTIONS?e.MOKO_GTM_OPTIONS:{},a=n("id")||e.MOKO_GTM_ID||"",r=n("dataLayer")||"",d=n("debug"),i=n("ignoreDnt"),c=n("blockOnDev"),s=n("envAuth")||"",u=n("envPreview")||"";return{id:a||t.id||"",dataLayerName:r||t.dataLayerName||void 0,debug:o(d,!!t.debug),ignoreDNT:o(i,!!t.ignoreDNT),blockOnDev:o(c,t.blockOnDev??!0),envAuth:s||t.envAuth||"",envPreview:u||t.envPreview||"",consentDefault:t.consentDefault||void 0,pageVars:"function"==typeof t.pageVars?t.pageVars:void 0}},c=()=>{const t=r.dataLayerName;return e[t]=e[t]||[],e[t]},s=(...e)=>{c().push(arguments.length>1?e:e[0]),a("gtag push:",e)};t.push=(...e)=>s(...e),t.setConsent=e=>{s("consent","update",e||{})},t.isLoaded=()=>!!document.querySelector('script[src*="googletagmanager.com/gtm.js"]'),t.config=()=>({...r});const u=()=>{if(!r.id)return void a("GTM ID missing; aborting load.");if(t.isLoaded())return void a("GTM already loaded; skipping duplicate injection.");c().push({"gtm.start":(new Date).getTime(),event:"gtm.js"});const e=document.getElementsByTagName("script")[0],n=document.createElement("script");n.async=!0,n.src=`https://www.googletagmanager.com/gtm.js?id=${encodeURIComponent(r.id)}${"dataLayer"!==r.dataLayerName?`&l=${encodeURIComponent(r.dataLayerName)}`:""}${(()=>{const e=[];return r.envAuth&&e.push(`gtm_auth=${encodeURIComponent(r.envAuth)}`),r.envPreview&&e.push(`gtm_preview=${encodeURIComponent(r.envPreview)}`,"gtm_cookies_win=x"),e.length?`&${e.join("&")}`:""})()}`,e&&e.parentNode?e.parentNode.insertBefore(n,e):(document.head||document.documentElement).appendChild(n),a("Injected GTM script:",n.src)},g=()=>!r.ignoreDNT&&(()=>{const e=navigator,t=(e.doNotTrack||e.msDoNotTrack||e.navigator&&e.navigator.doNotTrack||"").toString().toLowerCase();return"1"===t||"yes"===t})()?(a("DNT is enabled; blocking GTM load (set ignoreDNT=true to override)."),!1):!r.blockOnDev||!(()=>{const t=e.location&&e.location.hostname||"";return"localhost"===t||"127.0.0.1"===t||t.endsWith(".local")||t.endsWith(".test")})()||(a("Development host detected; blocking GTM load (set blockOnDev=false to override)."),!1);t.init=(e={})=>{const t=i(),n=d(r,d(t,e));Object.assign(r,n),a("Config:",r),c(),s("consent","default",r.consentDefault),a("Applied default consent:",r.consentDefault),(()=>{const e={event:"moko.page_init",page_title:document.title||"",page_language:document.documentElement&&document.documentElement.lang||"",..."function"==typeof r.pageVars&&r.pageVars()||{}};s(e)})(),g()?u():a("GTM load prevented by configuration or environment.")};const m=()=>{!(!i().id&&!e.MOKO_GTM_ID)?t.init():a("No GTM ID detected; awaiting manual init via window.mokoGTM.init({ id: 'GTM-XXXXXXX' }).")};"complete"===document.readyState||"interactive"===document.readyState?setTimeout(m,0):document.addEventListener("DOMContentLoaded",m,{once:!0}),e.mokoGTM=t;try{const e=i();o(e.debug,!1)&&(r.debug=!0,a("Ready. You can call window.mokoGTM.init({ id: 'GTM-XXXXXXX' })."))}catch(e){}})(); \ No newline at end of file diff --git a/src/media/js/template.min.js b/src/media/js/template.min.js new file mode 100644 index 0000000..ae137d7 --- /dev/null +++ b/src/media/js/template.min.js @@ -0,0 +1 @@ +!function(e,t){"use strict";var a="theme",n=e.matchMedia("(prefers-color-scheme: dark)"),r=t.documentElement;function o(e){r.setAttribute("data-bs-theme",e),r.setAttribute("data-aria-theme",e);try{localStorage.setItem(a,e)}catch(e){}}function d(){try{localStorage.removeItem(a)}catch(e){}}function i(){return n.matches?"dark":"light"}function c(){try{return localStorage.getItem(a)}catch(e){return null}}function l(){if(!t.getElementById("mokoThemeFab")){var a,l=t.createElement("div");l.id="mokoThemeFab",l.className=(a=(t.body.getAttribute("data-theme-fab-pos")||"br").toLowerCase(),/^(br|bl|tr|tl)$/.test(a)||(a="br"),"pos-"+a);var s=t.createElement("span");s.className="label",s.textContent="Light";var u=t.createElement("button");u.id="mokoThemeSwitch",u.type="button",u.setAttribute("role","switch"),u.setAttribute("aria-label","Toggle dark mode"),u.setAttribute("aria-checked","false");var m=t.createElement("span");m.className="switch";var h=t.createElement("span");h.className="knob",m.appendChild(h),u.appendChild(m);var f=t.createElement("span");f.className="label",f.textContent="Dark";var b=t.createElement("button");b.id="mokoThemeAuto",b.type="button",b.className="btn btn-sm btn-link text-decoration-none px-2",b.setAttribute("aria-label","Follow system theme"),b.textContent="Auto",u.addEventListener("click",function(){var e="dark"===(r.getAttribute("data-bs-theme")||"light").toLowerCase()?"light":"dark";o(e),u.setAttribute("aria-checked","dark"===e?"true":"false");var a=t.querySelector('meta[name="theme-color"]');a&&a.setAttribute("content","dark"===e?"#0f1115":"#ffffff")}),b.addEventListener("click",function(){d();var e=i();o(e),u.setAttribute("aria-checked","dark"===e?"true":"false")});var g=function(){if(!c()){var e=i();o(e),u.setAttribute("aria-checked","dark"===e?"true":"false")}};"function"==typeof n.addEventListener?n.addEventListener("change",g):"function"==typeof n.addListener&&n.addListener(g);var p=c()||i();u.setAttribute("aria-checked","dark"===p?"true":"false"),l.appendChild(s),l.appendChild(u),l.appendChild(f),l.appendChild(b),t.body.appendChild(l),e.mokoThemeFabStatus=function(){var a=t.getElementById("mokoThemeFab");if(!a)return{mounted:!1};var n=a.getBoundingClientRect();return{mounted:!0,rect:{top:n.top,left:n.left,width:n.width,height:n.height},zIndex:e.getComputedStyle(a).zIndex,posClass:a.className}},setTimeout(function(){var e=l.getBoundingClientRect();(e.width<10||e.height<10)&&(l.classList.add("debug-outline"),console.warn("[moko] Theme FAB mounted but appears too small — check CSS collisions."))},50)}}function s(){e.scrollY>50?t.body.classList.add("scrolled"):t.body.classList.remove("scrolled")}function u(){var a=t.getElementById("back-top");a&&a.addEventListener("click",function(t){t.preventDefault(),e.scrollTo({top:0,behavior:"smooth"})})}function m(){!function(){var e=c()||i();o(e);var a=function(){c()||o(i())};"function"==typeof n.addEventListener?n.addEventListener("change",a):"function"==typeof n.addListener&&n.addListener(a);var r=t.getElementById("themeSwitch"),l=t.getElementById("themeAuto");r&&(r.checked="dark"===e,r.addEventListener("change",function(){o(r.checked?"dark":"light")})),l&&l.addEventListener("click",function(){d(),o(i())})}(),"1"===t.body.getAttribute("data-theme-fab-enabled")&&l(),s(),e.addEventListener("scroll",s),t.querySelector(".drawer-toggle-left")||t.querySelector(".drawer-toggle-right"),u()}"loading"===t.readyState?t.addEventListener("DOMContentLoaded",m):m()}(window,document); \ No newline at end of file diff --git a/src/offline.php b/src/offline.php index 0a2f458..1f206ba 100644 --- a/src/offline.php +++ b/src/offline.php @@ -134,6 +134,11 @@ $params_googletagmanager = $params->get('googletagmanager', false); $params_googletagmanagerid = $params->get('googletagmanagerid', null); $params_googleanalytics = $params->get('googleanalytics', false); $params_googleanalyticsid = $params->get('googleanalyticsid', null); +$params_googlesitekey = $params->get('googlesitekey', null); + +if (!empty($params_googlesitekey)) { + $doc->setMetaData('google-site-verification', htmlspecialchars($params_googlesitekey, ENT_QUOTES, 'UTF-8')); +} /* ----------------------- Login routes & Users diff --git a/src/templateDetails.xml b/src/templateDetails.xml index 5b81628..3301e86 100644 --- a/src/templateDetails.xml +++ b/src/templateDetails.xml @@ -25,7 +25,7 @@ DEFGROUP: Joomla INGROUP: MokoCassiopeia PATH: templates/mokocassiopeia/templateDetails.xml - VERSION: 03.08.04 + VERSION: 03.09.01 BRIEF: Template manifest XML file for MokoCassiopeia ========================================================================= --> @@ -36,12 +36,12 @@ MokoCassiopeia - 03.09.00 + 03.09.01 2026-03-08 Jonathan Miller || Moko Consulting hello@mokoconsulting.tech (C)GNU General Public License Version 3 - 2026 Moko Consulting - MokoCassiopeia Template Description

MokoCassiopeia continues Joomla's tradition of space-themed default templates— building on the legacy of Solarflare (Joomla 1.0), Milkyway (Joomla 1.5), and Protostar (Joomla 3.0).

This template is a customized fork of the Cassiopeia template introduced in Joomla 4, preserving its modern, accessible, and mobile-first foundation while introducing new stylistic enhancements and structural refinements specifically tailored for use by Moko Consulting.

Custom Colour Themes

To create a custom colour scheme, copy the template file templates/light.custom.css to media/templates/site/mokocassiopeia/css/theme/light.custom.css or templates/dark.custom.css to media/templates/site/mokocassiopeia/css/theme/dark.custom.css. Customise the CSS variables to match your brand, then activate it in System → Site Templates → MokoCassiopeia → Theme tab by selecting "Custom" for the Light or Dark Mode Palette. For comprehensive documentation on all available CSS variables, see docs/CSS_VARIABLES.md.

Code Attribution

This template is based on the original Cassiopeia template developed by the Joomla! Project and released under the GNU General Public License.

Modifications and enhancements have been made by Moko Consulting in accordance with open-source licensing standards.

It includes integration with Bootstrap TOC, an open-source table of contents generator by A. Feld, licensed under the MIT License.

All third-party libraries and assets remain the property of their respective authors and are credited within their source files where applicable.

]]>
+ MokoCassiopeia Template Description

MokoCassiopeia continues Joomla's tradition of space-themed default templates— building on the legacy of Solarflare (Joomla 1.0), Milkyway (Joomla 1.5), and Protostar (Joomla 3.0).

This template is a customized fork of the Cassiopeia template introduced in Joomla 4, preserving its modern, accessible, and mobile-first foundation while introducing new stylistic enhancements and structural refinements specifically tailored for use by Moko Consulting.

Custom Colour Themes

Starter palette files are included with the template. To create a custom colour scheme, copy templates/mokocassiopeia/templates/light.custom.css to media/templates/site/mokocassiopeia/css/theme/light.custom.css, or templates/mokocassiopeia/templates/dark.custom.css to media/templates/site/mokocassiopeia/css/theme/dark.custom.css. Customise the CSS variables to match your brand, then activate your palette in System → Site Templates → MokoCassiopeia → Theme tab by selecting "Custom" for the Light or Dark Mode Palette. A full variable reference is available in the CSS Variables tab in template options.

Custom CSS & JavaScript

For site-specific styles and scripts that should survive template updates, create the following files:

  • media/templates/site/mokocassiopeia/css/user.css — loaded on every page for custom CSS overrides.
  • media/templates/site/mokocassiopeia/js/user.js — loaded on every page for custom JavaScript.

These files are gitignored and will not be overwritten by template updates.

Code Attribution

This template is based on the original Cassiopeia template developed by the Joomla! Project and released under the GNU General Public License.

Modifications and enhancements have been made by Moko Consulting in accordance with open-source licensing standards.

It includes integration with Bootstrap TOC, an open-source table of contents generator by A. Feld, licensed under the MIT License.

All third-party libraries and assets remain the property of their respective authors and are credited within their source files where applicable.

]]>
1 component.php @@ -52,6 +52,7 @@ templateDetails.xml html language + templates media/templates/site/mokocassiopeia/css/editor.css @@ -66,6 +67,7 @@ topbar below-topbar below-logo + brand-aside menu search banner @@ -123,6 +125,7 @@ + @@ -246,6 +249,50 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/templates/dark.custom.css b/src/templates/dark.custom.css new file mode 100644 index 0000000..a5b2781 --- /dev/null +++ b/src/templates/dark.custom.css @@ -0,0 +1,842 @@ +@charset "UTF-8"; +/* Copyright (C) 2025 Moko Consulting + + This file is part of a Moko Consulting project. + + SPDX-License-Identifier: GPL-3.0-or-later + + + + # FILE INFORMATION + DEFGROUP: Joomla.Template.Site + INGROUP: MokoCassiopeia + PATH: templates/mokocassiopeia/templates/dark.custom.css + VERSION: 03.09.01 + BRIEF: Starter custom dark palette — copy to media/templates/site/mokocassiopeia/css/theme/dark.custom.css and customise + */ + +/* ----------------------------------------------- + * DARK THEME + * --------------------------------------------- */ + +:root[data-bs-theme='dark']{ +color-scheme: dark; + +/* ===== BRAND & THEME COLORS ===== */ +--color-primary: #112855; +--accent-color-primary: #3f8ff0; +--accent-color-secondary: #6fb3ff; + +/* ===== NAVIGATION ===== */ +--mainmenu-nav-link-color: #fff; +--nav-text-color: gray; +--nav-bg-color: var(--color-primary); + +/* ===== LINKS ===== */ +--color-link: white; +--color-hover: gray; +--color-active: var(--mainmenu-nav-link-color); +--link-color: #8ab4f8; +--link-color-rgb: 138, 180, 248; +--link-decoration: underline; +--link-hover-color: #c3d6ff; +--link-hover-color-rgb: 195, 214, 255; +--link-active-color: var(--link-color); + +/* ===== OFFCANVAS ===== */ +--offcanvas-color: var(--body-color); +--offcanvas-padding-x: 1rem; +--offcanvas-padding-y: 1rem; + +/* ===== NAVBAR ===== */ +--navbar-padding-x: 1rem; +--navbar-padding-y: 0.5rem; +--navbar-color: var(--nav-text-color); +--navbar-active-color: var(--mainmenu-nav-link-color); +--navbar-disabled-color: #6c757d; +--navbar-brand-padding-y: 0.3125rem; +--navbar-brand-margin-end: 1rem; +--navbar-brand-font-size: 1.25rem; +--navbar-brand-color: var(--nav-text-color); +--navbar-brand-active-color: var(--mainmenu-nav-link-color); +--navbar-nav-link-padding-x: 0.5rem; +--navbar-toggler-padding-y: 0.25rem; +--navbar-toggler-padding-x: 0.75rem; +--navbar-toggler-font-size: 1.25rem; +--navbar-toggler-border-color: rgba(255, 255, 255, 0.1); +--navbar-toggler-border-radius: 0.25rem; +--navbar-toggler-focus-width: 0.25rem; +--navbar-toggler-transition: box-shadow 0.15s ease-in-out; +--nav-link-padding-x: 1rem; +--nav-link-padding-y: 0.5rem; +--nav-link-font-weight: 400; +--nav-link-color: var(--nav-text-color); +--nav-link-active-color: var(--mainmenu-nav-link-color); +--nav-link-disabled-color: #6c757d; + +/* ===== TYPOGRAPHY & BODY ===== */ +--font-sans-serif: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; +--font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +--body-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; +--body-font-size: 1rem; +--body-font-weight: 400; +--body-line-height: 1.5; +--body-color: #e6ebf1; +--body-color-rgb: 230, 235, 241; +--body-bg: #0e1318; +--body-bg-rgb: 14, 19, 24; +--heading-color: #f1f5f9; +--emphasis-color: #fff; +--emphasis-color-rgb: 255, 255, 255; +--secondary-color: #e6ebf1bf; +--secondary-color-rgb: 230, 235, 241; +--tertiary-color: #e6ebf180; +--tertiary-color-rgb: 230, 235, 241; +--muted-color: #6d757e; +--code-color: #ff7abd; +--code-color-ink: var(--code-color, #e93f8e); +--highlight-color: #111; +--highlight-bg: #ffe28a1a; + +/* ===== LAYOUT & SPACING ===== */ +--padding-x: 0.15rem; +--padding-y: 0.15rem; +--bg-opacity: 1; +--nav-toggle-size: 3rem; +--gradient: linear-gradient(180deg, #ffffff26, #fff0); +--secondary-bg: #151b22; +--secondary-bg-rgb: 21, 27, 34; +--tertiary-bg: #10151b; +--tertiary-bg-rgb: 16, 21, 27; +--hr-color: var(--border-color, #dfe3e7); +--border-color-soft: var(--border-color, #dfe3e7); +--kbd-bg: var(--secondary-bg, #eaedf0); +--kbd-ink: var(--body-bg, #fff); +--toc-bg: var(--secondary-bg, #eaedf0); +--toc-ink: var(--color-primary, #112855); +--selection-bg: var(--highlight-bg, #fbeea8); +--selection-ink: var(--body-color, #22262a); +--border: 5px; + +/* ===== BREAKPOINTS ===== */ +--bp-xs: 0; +--bp-sm: 576px; +--bp-md: 768px; +--bp-lg: 992px; +--bp-xl: 1200px; + +/* ===== BOOTSTRAP PALETTE ===== */ +--primary: #010156; +--secondary: #48525d; +--success: #4aa664; +--info: #4f7aa0; +--warning: #c77a00; +--danger: #c23a31; +--light: #1b2027; +--dark: #0f1318; +--primary-rgb: 1,1,86; +--secondary-rgb: 72,82,93; +--success-rgb: 74,166,100; +--info-rgb: 79,122,160; +--warning-rgb: 199,122,0; +--danger-rgb: 194,58,49; +--light-rgb: 27,32,39; +--dark-rgb: 15,19,24; +--primary-text-emphasis: #c7ccff; +--secondary-text-emphasis: #cfd6de; +--success-text-emphasis: #bde8c9; +--info-text-emphasis: #bcd6ee; +--warning-text-emphasis: #ffd9a6; +--danger-text-emphasis: #ffb7b2; +--light-text-emphasis: #d2d8df; +--dark-text-emphasis: #d2d8df; +--primary-bg-subtle: #0b1030; +--secondary-bg-subtle: #1e2430; +--success-bg-subtle: #0f2a1b; +--info-bg-subtle: #0d2232; +--warning-bg-subtle: #2a1e06; +--danger-bg-subtle: #2d1110; +--light-bg-subtle: #12161d; +--dark-bg-subtle: #1e2430; +--primary-border-subtle: #2b3a7a; +--secondary-border-subtle: #2b323b; +--success-border-subtle: #2b5b40; +--info-border-subtle: #254861; +--warning-border-subtle: #5a3c0e; +--danger-border-subtle: #5c2723; +--light-border-subtle: #222831; +--dark-border-subtle: #2b323b; + +/* ===== ALERT LINK COLORS ===== */ +--alert-primary-link-color: #b3c1ff; +--alert-secondary-link-color: #9fa6ad; +--alert-success-link-color: #a0e5b3; +--alert-info-link-color: #8eccf2; +--alert-warning-link-color: #ffe4a0; +--alert-danger-link-color: #ffa8a3; +--alert-light-link-color: #f0f4f8; +--alert-dark-link-color: #9fa6ad; + +/* ===== LIST GROUP ITEM COLORS ===== */ +--list-group-item-primary-color: #8ca3ff; +--list-group-item-primary-bg: #1a2550; +--list-group-item-primary-active-bg: #223066; +--list-group-item-secondary-color: #9fa6ad; +--list-group-item-secondary-bg: #2b323b; +--list-group-item-secondary-active-bg: #363d47; +--list-group-item-success-color: #a0e5b3; +--list-group-item-success-bg: #1e3d2d; +--list-group-item-success-active-bg: #275538; +--list-group-item-info-color: #8eccf2; +--list-group-item-info-bg: #1a3448; +--list-group-item-info-active-bg: #234459; +--list-group-item-warning-color: #ffe4a0; +--list-group-item-warning-bg: #4a3410; +--list-group-item-warning-active-bg: #5c4216; +--list-group-item-danger-color: #ffa8a3; +--list-group-item-danger-bg: #4a1e1c; +--list-group-item-danger-active-bg: #5c2823; +--list-group-item-light-color: #e9ecef; +--list-group-item-light-bg: #1e2430; +--list-group-item-light-active-bg: #282f3d; +--list-group-item-dark-color: #48525d; +--list-group-item-dark-bg: #0e1318; +--list-group-item-dark-active-bg: #161b22; + +/* ===== LINK UTILITY COLORS ===== */ +--link-primary-color: hsl(240, 98%, 50%); +--link-primary-hover-color: hsl(240, 98%, 45%); +--link-secondary-color: hsl(210, 15%, 70%); +--link-secondary-hover-color: hsl(210, 15%, 65%); +--link-success-color: hsl(120, 40%, 60%); +--link-success-hover-color: hsl(120, 40%, 55%); +--link-info-color: hsl(207, 60%, 65%); +--link-info-hover-color: hsl(207, 60%, 60%); +--link-warning-color: hsl(38, 100%, 65%); +--link-warning-hover-color: hsl(38, 100%, 60%); +--link-danger-color: hsl(3, 85%, 65%); +--link-danger-hover-color: hsl(3, 85%, 60%); +--link-light-color: hsl(210, 20%, 90%); +--link-light-hover-color: hsl(210, 20%, 85%); +--link-dark-color: hsl(210, 10%, 35%); +--link-dark-hover-color: hsl(210, 10%, 30%); + +/* ===== COMPONENT-SPECIFIC COLORS ===== */ +--mod-finder-link-hover: #5a6470; +--form-legend-color: #9fa6ad; +--border-gray: #3a4250; +--subhead-color: #9fa6ad; +--box-shadow-gray: #1a2027; +--btn-active-text-gray: #7a8490; +--indicator-success-bg: var(--success); +--item-list-color: #2a2f34; +--notification-badge-bg: var(--danger); +--content-bg-gray: #2b323b; +--taba-btn-green: #5a9c2f; +--taba-btn-blue: #3d75a8; +--taba-btn-red: #c43620; +--taba-btn-gray: #6a7080; +--taba-msg-bg: #1e2430; +--toc-link-color: #9fa6ad; +--toc-link-active-color: #91a4ff; +--choices-disabled-bg: #2b323b; +--choices-input-bg: var(--body-bg); +--choices-border-light: #48525d; +--choices-arrow-color: #9fa6ad; +--choices-inner-bg: #1a2027; +--choices-focused-border: #5472ff; +--choices-dropdown-bg: var(--body-bg); +--choices-item-bg: #1a5f75; +--choices-item-border: #1a748f; +--choices-item-hover-bg: #1a748f; +--choices-item-hover-border: #1a8aa8; +--choices-item-disabled-bg: #48525d; +--choices-item-disabled-border: #36404a; +--choices-item-highlighted: #2b323b; +--choices-input-inner-bg: #1a2027; + +/* ===== STANDARD COLORS ===== */ +--blue: #91a4ff; +--indigo: #b19cff; +--purple: #c0a5ff; +--pink: #ff8fc0; +--red: #ff7a73; +--orange: #ff9c4d; +--yellow: #ffd166; +--green: #78d694; +--teal: #76e3ff; +--cyan: #6fb7ff; +--black: #000; +--white: #fff; + +/* ===== GRAY SCALE ===== */ +--gray-100: #161a20; +--gray-200: #1b2027; +--gray-300: #222831; +--gray-400: #2b323b; +--gray-500: #36404a; +--gray-600: #48525d; +--gray-700: #5b6672; +--gray-800: #cfd6de; +--gray-900: #e6ebf1; +--white-rgb: 255, 255, 255; +--black-rgb: 0, 0, 0; + +/* ===== OPACITY UTILITIES ===== */ +--opacity-0: 0; +--opacity-5: 0.05; +--opacity-10: 0.1; +--opacity-15: 0.15; +--opacity-20: 0.2; +--opacity-25: 0.25; +--opacity-30: 0.3; +--opacity-50: 0.5; +--opacity-75: 0.75; +--opacity-100: 1; + +/* ===== COMMON SHADOW COLORS ===== */ +--shadow-color-light: rgba(var(--black-rgb), var(--opacity-30)); +--shadow-color-medium: rgba(var(--black-rgb), var(--opacity-50)); +--shadow-color-dark: rgba(var(--black-rgb), var(--opacity-75)); +--border-color-translucent: rgba(var(--white-rgb), var(--opacity-10)); +--highlight-translucent: rgba(var(--white-rgb), var(--opacity-5)); + +/* ===== HEADER BACKGROUND ===== */ +--header-background-image: url('../../../../../../media/templates/site/mokocassiopeia/images/bg.svg'); +--header-background-attachment: fixed; +--header-background-repeat: repeat; +--header-background-size: auto; + +/* ===== CONTAINER BACKGROUNDS ===== */ +/* Below Topbar Container */ +--container-below-topbar-bg-image: none; +--container-below-topbar-bg-color: transparent; +--container-below-topbar-bg-position: center; +--container-below-topbar-bg-attachment: fixed; +--container-below-topbar-bg-repeat: no-repeat; +--container-below-topbar-bg-size: cover; +--container-below-topbar-border: none; +--container-below-topbar-border-radius: 0; + +/* Top A Container */ +--container-top-a-bg-image: none; +--container-top-a-bg-color: transparent; +--container-top-a-bg-position: center; +--container-top-a-bg-attachment: fixed; +--container-top-a-bg-repeat: no-repeat; +--container-top-a-bg-size: cover; +--container-top-a-border: none; +--container-top-a-border-radius: 0; + +/* Top B Container */ +--container-top-b-bg-image: none; +--container-top-b-bg-color: transparent; +--container-top-b-bg-position: center; +--container-top-b-bg-attachment: fixed; +--container-top-b-bg-repeat: no-repeat; +--container-top-b-bg-size: cover; +--container-top-b-border: none; +--container-top-b-border-radius: 0; + +/* TOC Container */ +--container-toc-bg: var(--secondary-bg); +--container-toc-color: #dbe3ff; + +/* Sidebar Container */ +--container-sidebar-bg-image: none; +--container-sidebar-bg-color: transparent; +--container-sidebar-bg-position: center; +--container-sidebar-bg-attachment: scroll; +--container-sidebar-bg-repeat: repeat; +--container-sidebar-bg-size: auto; +--container-sidebar-border: none; +--container-sidebar-border-radius: 0; + +/* Bottom A Container */ +--container-bottom-a-bg-image: none; +--container-bottom-a-bg-color: transparent; +--container-bottom-a-bg-position: center; +--container-bottom-a-bg-attachment: fixed; +--container-bottom-a-bg-repeat: no-repeat; +--container-bottom-a-bg-size: cover; +--container-bottom-a-border: none; +--container-bottom-a-border-radius: 5px; + +/* Bottom B Container */ +--container-bottom-b-bg-image: none; +--container-bottom-b-bg-color: transparent; +--container-bottom-b-bg-position: center; +--container-bottom-b-bg-attachment: fixed; +--container-bottom-b-bg-repeat: no-repeat; +--container-bottom-b-bg-size: cover; +--container-bottom-b-border: none; +--container-bottom-b-border-radius: 0; + +/* ===== BORDERS ===== */ +--border-width: 1px; +--border-style: solid; +--border-color: #2b323b; +--border-color-translucent: #ffffff26; +--border-radius: .25rem; +--border-radius-sm: .2rem; +--border-radius-lg: .3rem; +--border-radius-xl: .3rem; +--border-radius-xxl: 2rem; +--border-radius-2xl: var(--border-radius-xxl); +--border-radius-pill: 50rem; + +/* ===== SHADOWS ===== */ +--box-shadow: 0 .5rem 1rem #00000066; +--box-shadow-sm: 0 .125rem .25rem #00000040; +--box-shadow-lg: 0 1rem 3rem #00000080; +--box-shadow-inset: inset 0 1px 2px #00000040; + +/* ===== FOCUS & FORMS ===== */ +--focus-ring-width: .25rem; +--focus-ring-opacity: .6; +--focus-ring-color: #5472ff66; +--input-color: #e6ebf1; +--input-bg: #1a2332; +--input-border-color: #3a4250; +--input-focus-border-color: #5472ff; +--input-focus-box-shadow: 0 0 0 0.25rem rgba(84, 114, 255, 0.25); +--input-placeholder-color: #8894aa; +--input-disabled-bg: #0f1318; +--input-disabled-border-color: #2b323b; +--input-file-button-active-bg: #2b3441; +--form-range-thumb-active-bg: #4a5766; +--form-valid-color: #78d694; +--form-valid-border-color: #78d694; +--form-invalid-color: #ff8e86; +--form-invalid-border-color: #ff8e86; + +/* ===== BUTTONS ===== */ +--btn-border-radius: var(--border-radius); +--btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 1px 1px rgba(0, 0, 0, 0.3); + +/* ===== CARDS ===== */ +--card-spacer-y: 1rem; +--card-spacer-x: 1rem; +--card-title-spacer-y: 0.5rem; +--card-border-width: 1px; +--card-border-color: var(--border-color); +--card-border-radius: var(--border-radius); +--card-box-shadow: none; +--card-inner-border-radius: calc(var(--border-radius) - 1px); +--card-cap-padding-y: 0.5rem; +--card-cap-padding-x: 1rem; +--card-cap-bg: rgba(255, 255, 255, 0.03); +--card-cap-color: var(--body-color); +--card-height: auto; +--card-color: var(--body-color); +--card-bg: var(--secondary-bg); +--card-img-overlay-padding: 1rem; +--card-group-margin: 0.75rem; + +/* ===== VIRTUEMART (VM) ===== */ +/* VM Surfaces */ +--vm-surface: var(--secondary-bg); +--vm-surface-2: var(--tertiary-bg); +--vm-text: var(--body-color); +--vm-text-strong: #ffffff; +--vm-text-muted: var(--gray-700); +--vm-border: var(--border-color); +--vm-price-color: var(--success); + +/* VM Layout and Density */ +--vm-container-max-width: 1200px; +--vm-section-gap: 2rem; +--vm-block-radius: var(--border-radius); +--vm-block-shadow: var(--box-shadow-sm); + +/* VM Typography */ +--vm-category-title-size: 2rem; +--vm-subcategory-title-size: 1.5rem; +--vm-page-title-size: 1.75rem; +--vm-products-type-title-size: 1.25rem; +--vm-product-title-size: 1.125rem; +--vm-product-title-weight: 500; +--vm-products-type-title-weight: 600; +--vm-price-size: 1.5rem; +--vm-price-detail-size: 1.125rem; +--vm-price-desc-size: 0.875rem; + +/* VM Controls */ +--vm-input-radius: var(--border-radius); +--vm-input-shadow: var(--box-shadow-sm); +--vm-qty-width: 80px; +--vm-cart-dropdown-min-width: 300px; + +/* VM Alerts */ +--vm-alert-radius: var(--border-radius); +--vm-alert-shadow: var(--box-shadow-sm); +--vm-availability-bg: var(--success-bg-subtle); +--vm-availability-text: var(--success); + +/* VM Buttons */ +--vm-btn-padding-x: 1rem; +--vm-btn-padding-y: 0.5rem; +--vm-btn-radius: var(--border-radius); +--vm-btn-shadow: var(--box-shadow-sm); +--vm-btn-primary-bg: var(--primary); +--vm-btn-primary-text: #ffffff; +--vm-btn-primary-border: var(--primary); +--vm-btn-secondary-bg: var(--secondary); +--vm-btn-secondary-text: #ffffff; +--vm-btn-secondary-border: var(--secondary); + +/* VM Image Overlay Controls */ +--vm-image-overlay-gap-x: 0.5rem; +--vm-image-overlay-gap-y: 0.5rem; +--vm-image-overlay-raise: 0.25rem; +--vm-image-overlay-btn-size: 2.5rem; +--vm-image-overlay-btn-radius: 50%; +--vm-image-overlay-btn-bg: rgba(0, 0, 0, 0.7); +--vm-image-overlay-btn-bg-hover: rgba(0, 0, 0, 0.85); +--vm-image-overlay-btn-border-color: rgba(255, 255, 255, 0.2); +--vm-image-overlay-btn-border-width: 1px; +--vm-image-overlay-btn-color: var(--body-color); +--vm-image-overlay-btn-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); + +/* VM Vendor Menu */ +--vm-vendor-menu-bg: var(--secondary-bg); +--vm-vendor-menu-border: var(--border-color); +--vm-vendor-menu-radius: var(--border-radius); +--vm-vendor-menu-shadow: var(--box-shadow-sm); +--vm-vendor-menu-item-gap: 0.25rem; +--vm-vendor-menu-item-padding-x: 1rem; +--vm-vendor-menu-item-padding-y: 0.5rem; +--vm-vendor-menu-pill-radius: 50rem; +--vm-vendor-menu-link: var(--link-color); +--vm-vendor-menu-link-hover: var(--link-hover-color); +--vm-vendor-menu-link-active: var(--primary); +--vm-vendor-menu-hover-bg: var(--tertiary-bg); + +/* ===== GABLE ===== */ +--gab-blue: #4d9fff; +--gab-green: #5cb85c; +--gab-red: #ff6b6b; +--gab-orange: #ff9f5a; +--gab-gray1: #868e96; +--gab-gray2: #adb5bd; +--gab-gray3: #ced4da; +} + +.btn { + --btn-padding-x: 1rem; + --btn-padding-y: 0.6rem; + --btn-font-family: inherit; + --btn-font-size: 1rem; + --btn-font-weight: 400; + --btn-line-height: 1.5; + --btn-color: var(--white); + --btn-bg: transparent; + --btn-border-width: 1px; + --btn-border-color: transparent; + --btn-border-radius: 0.25rem; + --btn-active-border-color: transparent; + --btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + --btn-disabled-opacity: 0.65; + --btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--btn-focus-shadow-rgb), .5); + display: inline-block; + padding: var(--btn-padding-y) var(--btn-padding-x); + font-family: var(--btn-font-family); + font-size: var(--btn-font-size); + font-weight: var(--btn-font-weight); + line-height: var(--btn-line-height); + color: var(--btn-color); + text-align: center; + text-decoration: none; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + border: var(--btn-border-width) solid var(--btn-border-color); + border-radius: var(--btn-border-radius); + background-color: var(--btn-bg); + -webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; + -o-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; + 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; + 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, -webkit-box-shadow 0.15s ease-in-out; +} + +/* Buttons — inherit brand hues; ensure strong contrast on dark bg */ +.btn-primary { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(240, 98%, 17%); + --btn-border-color: hsl(240, 98%, 17%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: #010149; + --btn-hover-border-color: #010145; + --btn-focus-shadow-rgb: 84, 114, 255; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: #010145; + --btn-active-border-color: #010141; +} + +.btn-secondary { + --btn-color: var(--nav-text-color); + --btn-bg: var(--nav-bg-color); + --btn-border-color: #3a4250; + --btn-hover-color: #fff; + --btn-hover-bg: #1b2a55; + --btn-hover-border-color: #162448; + --btn-focus-shadow-rgb: 84, 114, 255; + --btn-active-color: #fff; + --btn-active-bg: #162448; + --btn-active-border-color: #12203f; +} + +.btn-success { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(120, 35%, 45%); + --btn-border-color: hsl(120, 35%, 45%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(120, 35%, 40%); + --btn-hover-border-color: hsl(120, 35%, 38%); + --btn-focus-shadow-rgb: 96, 180, 96; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(120, 35%, 38%); + --btn-active-border-color: hsl(120, 35%, 36%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 100%); + --btn-disabled-bg: hsl(120, 35%, 45%); + --btn-disabled-border-color: hsl(120, 35%, 45%); +} + +.btn-info { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(207, 55%, 55%); + --btn-border-color: hsl(207, 55%, 55%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(207, 55%, 50%); + --btn-hover-border-color: hsl(207, 55%, 48%); + --btn-focus-shadow-rgb: 100, 160, 210); + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(207, 55%, 48%); + --btn-active-border-color: hsl(207, 55%, 46%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 100%); + --btn-disabled-bg: hsl(207, 55%, 55%); + --btn-disabled-border-color: hsl(207, 55%, 55%); +} + +.btn-warning { + --btn-color: hsl(0, 0%, 0%); + --btn-bg: hsl(38, 100%, 50%); + --btn-border-color: hsl(38, 100%, 50%); + --btn-hover-color: hsl(0, 0%, 0%); + --btn-hover-bg: hsl(38, 100%, 45%); + --btn-hover-border-color: hsl(38, 100%, 43%); + --btn-focus-shadow-rgb: 220, 170, 40; + --btn-active-color: hsl(0, 0%, 0%); + --btn-active-bg: hsl(38, 100%, 43%); + --btn-active-border-color: hsl(38, 100%, 41%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 0%); + --btn-disabled-bg: hsl(38, 100%, 50%); + --btn-disabled-border-color: hsl(38, 100%, 50%); +} + +.btn-danger { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(3, 82%, 50%); + --btn-border-color: hsl(3, 82%, 50%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(3, 82%, 45%); + --btn-hover-border-color: hsl(3, 82%, 43%); + --btn-focus-shadow-rgb: 220, 80, 80; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(3, 82%, 43%); + --btn-active-border-color: hsl(3, 82%, 41%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 100%); + --btn-disabled-bg: hsl(3, 82%, 50%); + --btn-disabled-border-color: hsl(3, 82%, 50%); +} + +.btn-light { + --btn-color: hsl(0, 0%, 0%); + --btn-bg: hsl(210, 17%, 85%); + --btn-border-color: hsl(210, 17%, 85%); + --btn-hover-color: hsl(0, 0%, 0%); + --btn-hover-bg: hsl(210, 17%, 80%); + --btn-hover-border-color: hsl(210, 17%, 78%); + --btn-focus-shadow-rgb: 200, 205, 210; + --btn-active-color: hsl(0, 0%, 0%); + --btn-active-bg: hsl(210, 17%, 78%); + --btn-active-border-color: hsl(210, 17%, 76%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 0%); + --btn-disabled-bg: hsl(210, 17%, 85%); + --btn-disabled-border-color: hsl(210, 17%, 85%); +} + +.btn-dark { + --btn-color: hsl(0, 0%, 100%); + --btn-bg: hsl(210, 10%, 20%); + --btn-border-color: hsl(210, 10%, 20%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(210, 10%, 18%); + --btn-hover-border-color: hsl(210, 10%, 16%); + --btn-focus-shadow-rgb: 60, 65, 70; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(210, 10%, 16%); + --btn-active-border-color: hsl(210, 10%, 14%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(0, 0%, 100%); + --btn-disabled-bg: hsl(210, 10%, 20%); + --btn-disabled-border-color: hsl(210, 10%, 20%); +} + +.btn-outline-primary { + --btn-color: hsl(240, 98%, 40%); + --btn-border-color: hsl(240, 98%, 40%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(240, 98%, 40%); + --btn-hover-border-color: hsl(240, 98%, 40%); + --btn-focus-shadow-rgb: 80, 80, 180; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(240, 98%, 40%); + --btn-active-border-color: hsl(240, 98%, 40%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(240, 98%, 40%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(240, 98%, 40%); + --gradient: none; +} + +.btn-outline-secondary { + --btn-color: hsl(210, 20%, 60%); + --btn-border-color: hsl(210, 20%, 60%); + --btn-hover-color: hsl(0, 0%, 0%); + --btn-hover-bg: hsl(210, 20%, 60%); + --btn-hover-border-color: hsl(210, 20%, 60%); + --btn-focus-shadow-rgb: 120, 140, 160; + --btn-active-color: hsl(0, 0%, 0%); + --btn-active-bg: hsl(210, 20%, 60%); + --btn-active-border-color: hsl(210, 20%, 60%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(210, 20%, 60%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(210, 20%, 60%); + --gradient: none; +} + +.btn-outline-success { + --btn-color: hsl(120, 35%, 55%); + --btn-border-color: hsl(120, 35%, 55%); + --btn-hover-color: hsl(0, 0%, 0%); + --btn-hover-bg: hsl(120, 35%, 55%); + --btn-hover-border-color: hsl(120, 35%, 55%); + --btn-focus-shadow-rgb: 100, 190, 100; + --btn-active-color: hsl(0, 0%, 0%); + --btn-active-bg: hsl(120, 35%, 55%); + --btn-active-border-color: hsl(120, 35%, 55%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(120, 35%, 55%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(120, 35%, 55%); + --gradient: none; +} + +.btn-outline-info { + --btn-color: hsl(207, 55%, 65%); + --btn-border-color: hsl(207, 55%, 65%); + --btn-hover-color: hsl(0, 0%, 0%); + --btn-hover-bg: hsl(207, 55%, 65%); + --btn-hover-border-color: hsl(207, 55%, 65%); + --btn-focus-shadow-rgb: 110, 170, 220; + --btn-active-color: hsl(0, 0%, 0%); + --btn-active-bg: hsl(207, 55%, 65%); + --btn-active-border-color: hsl(207, 55%, 65%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(207, 55%, 65%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(207, 55%, 65%); + --gradient: none; +} + +.btn-outline-warning { + --btn-color: hsl(38, 100%, 60%); + --btn-border-color: hsl(38, 100%, 60%); + --btn-hover-color: hsl(0, 0%, 0%); + --btn-hover-bg: hsl(38, 100%, 60%); + --btn-hover-border-color: hsl(38, 100%, 60%); + --btn-focus-shadow-rgb: 240, 190, 70; + --btn-active-color: hsl(0, 0%, 0%); + --btn-active-bg: hsl(38, 100%, 60%); + --btn-active-border-color: hsl(38, 100%, 60%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(38, 100%, 60%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(38, 100%, 60%); + --gradient: none; +} + +.btn-outline-danger { + --btn-color: hsl(3, 82%, 60%); + --btn-border-color: hsl(3, 82%, 60%); + --btn-hover-color: hsl(0, 0%, 0%); + --btn-hover-bg: hsl(3, 82%, 60%); + --btn-hover-border-color: hsl(3, 82%, 60%); + --btn-focus-shadow-rgb: 240, 100, 100; + --btn-active-color: hsl(0, 0%, 0%); + --btn-active-bg: hsl(3, 82%, 60%); + --btn-active-border-color: hsl(3, 82%, 60%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(3, 82%, 60%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(3, 82%, 60%); + --gradient: none; +} + +/* Outline buttons on dark: keep readable borders */ +.btn-outline-light { + --btn-color: #e6ebf1; + --btn-border-color: #e6ebf1; + --btn-hover-color: #111; + --btn-hover-bg: #e6ebf1; + --btn-hover-border-color: #e6ebf1; + --btn-active-color: #111; + --btn-active-bg: #d7dce2; + --btn-active-border-color: #d7dce2; + --gradient: none; +} + +.btn-outline-dark { + --btn-color: hsl(210, 10%, 30%); + --btn-border-color: hsl(210, 10%, 30%); + --btn-hover-color: hsl(0, 0%, 100%); + --btn-hover-bg: hsl(210, 10%, 30%); + --btn-hover-border-color: hsl(210, 10%, 30%); + --btn-focus-shadow-rgb: 70, 75, 80; + --btn-active-color: hsl(0, 0%, 100%); + --btn-active-bg: hsl(210, 10%, 30%); + --btn-active-border-color: hsl(210, 10%, 30%); + --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --btn-disabled-color: hsl(210, 10%, 30%); + --btn-disabled-bg: transparent; + --btn-disabled-border-color: hsl(210, 10%, 30%); + --gradient: none; +} + +/* Links as buttons */ +.btn-link { + --btn-font-weight: 400; + --btn-color: var(--color-link); + --btn-bg: transparent; + --btn-border-color: transparent; + --btn-hover-color: var(--link-hover-color); + --btn-hover-border-color: transparent; + --btn-active-color: var(--link-hover-color); + --btn-active-border-color: transparent; + --btn-disabled-color: #6d7781; + --btn-disabled-border-color: transparent; + --btn-box-shadow: none; + --btn-focus-shadow-rgb: 84, 114, 255; + text-decoration: underline; +} diff --git a/src/templates/light.custom.css b/src/templates/light.custom.css new file mode 100644 index 0000000..5fe651c --- /dev/null +++ b/src/templates/light.custom.css @@ -0,0 +1,851 @@ +@charset "UTF-8"; +/* Copyright (C) 2025 Moko Consulting + + This file is part of a Moko Consulting project. + + SPDX-License-Identifier: GPL-3.0-or-later + + + + # FILE INFORMATION + DEFGROUP: Joomla.Template.Site + INGROUP: MokoCassiopeia + PATH: templates/mokocassiopeia/templates/light.custom.css + VERSION: 03.09.01 + BRIEF: Starter custom light palette — copy to media/templates/site/mokocassiopeia/css/theme/light.custom.css and customise + */ + +/* ----------------------------------------------- + * LIGHT THEME + * --------------------------------------------- */ + +:root[data-bs-theme="light"] { +color-scheme: light; + +/* ===== BRAND & THEME COLORS ===== */ +--color-primary: #112855; +--accent-color-primary: #3f8ff0; +--accent-color-secondary: #3f8ff0; + +/* ===== NAVIGATION ===== */ +--mainmenu-nav-link-color: white; +--nav-text-color: white; +--nav-bg-color: var(--color-link); + +/* ===== LINKS ===== */ +--color-link: #224FAA; +--color-hover: var(--accent-color-primary); +--link-color: #224faa; +--link-color-rgb: 34, 79, 170; +--link-decoration: underline; +--link-hover-color: #424077; +--link-hover-color-rgb: 66, 64, 119; +--link-active-color: var(--link-color); + +/* ===== OFFCANVAS ===== */ +--offcanvas-color: var(--body-color); +--offcanvas-padding-x: 1rem; +--offcanvas-padding-y: 1rem; + +/* ===== NAVBAR ===== */ +--navbar-padding-x: 1rem; +--navbar-padding-y: 0.5rem; +--navbar-color: var(--nav-text-color); +--navbar-active-color: var(--mainmenu-nav-link-color); +--navbar-disabled-color: #6c757d; +--navbar-brand-padding-y: 0.3125rem; +--navbar-brand-margin-end: 1rem; +--navbar-brand-font-size: 1.25rem; +--navbar-brand-color: var(--nav-text-color); +--navbar-brand-active-color: var(--mainmenu-nav-link-color); +--navbar-nav-link-padding-x: 0.5rem; +--navbar-toggler-padding-y: 0.25rem; +--navbar-toggler-padding-x: 0.75rem; +--navbar-toggler-font-size: 1.25rem; +--navbar-toggler-border-color: rgba(0, 0, 0, 0.1); +--navbar-toggler-border-radius: 0.25rem; +--navbar-toggler-focus-width: 0.25rem; +--navbar-toggler-transition: box-shadow 0.15s ease-in-out; +--nav-link-padding-x: 1rem; +--nav-link-padding-y: 0.5rem; +--nav-link-font-weight: 400; +--nav-link-color: var(--nav-text-color); +--nav-link-active-color: var(--mainmenu-nav-link-color); +--nav-link-disabled-color: #6c757d; + +/* ===== TYPOGRAPHY & BODY ===== */ +--font-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +--font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +--body-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); +--body-font-size: 1rem; +--body-font-weight: 400; +--body-line-height: 1.5; +--body-color: #22262a; +--body-color-rgb: 34, 38, 42; +--body-bg: #fff; +--body-bg-rgb: 255, 255, 255; +--heading-color: inherit; +--emphasis-color: #000; +--emphasis-color-rgb: 0, 0, 0; +--secondary-color: #22262abf; +--secondary-color-rgb: 34, 38, 42; +--tertiary-color: #22262a80; +--tertiary-color-rgb: 34, 38, 42; +--muted-color: #6d757e; +--code-color: #e93f8e; +--code-color-ink: var(--code-color, #e93f8e); +--highlight-color: #22262a; +--highlight-bg: #fbeea8; + +/* ===== LAYOUT & SPACING ===== */ +--padding-x: 0.15rem; +--padding-y: 0.15rem; +--bg-opacity: 1; +--nav-toggle-size: 3rem; +--gradient: linear-gradient(180deg, #ffffff26, #fff0); +--secondary-bg: #eaedf0; +--secondary-bg-rgb: 234, 237, 240; +--tertiary-bg: #f9fafb; +--tertiary-bg-rgb: 249, 250, 251; +--hr-color: var(--border-color, #dfe3e7); +--border-color-soft: var(--border-color, #dfe3e7); +--kbd-bg: var(--secondary-bg, #eaedf0); +--kbd-ink: var(--body-bg, #fff); +--toc-bg: var(--secondary-bg, #eaedf0); +--toc-ink: var(--color-primary, #112855); +--selection-bg: var(--highlight-bg, #fbeea8); +--selection-ink: var(--body-color, #22262a); +--border: 5px; + +/* ===== BREAKPOINTS ===== */ +--bp-xs: 0; +--bp-sm: 576px; +--bp-md: 768px; +--bp-lg: 992px; +--bp-xl: 1200px; + +/* ===== BOOTSTRAP PALETTE ===== */ +--primary: #010156; +--secondary: #6d757e; +--success: #448344; +--info: #30638d; +--warning: #ad6200; +--danger: #a51f18; +--light: #f9fafb; +--dark: #353b41; +--primary-rgb: 1, 1, 86; +--secondary-rgb: 109, 117, 126; +--success-rgb: 68, 131, 68; +--info-rgb: 48, 99, 141; +--warning-rgb: 173, 98, 0; +--danger-rgb: 165, 31, 24; +--light-rgb: 249, 250, 251; +--dark-rgb: 53, 59, 65; +--primary-text-emphasis: #002; +--secondary-text-emphasis: #2c2f32; +--success-text-emphasis: #1b351b; +--info-text-emphasis: #132838; +--warning-text-emphasis: #452700; +--danger-text-emphasis: #420c09; +--light-text-emphasis: #484f56; +--dark-text-emphasis: #484f56; +--primary-bg-subtle: #ccd; +--secondary-bg-subtle: #e2e3e5; +--success-bg-subtle: #dae6da; +--info-bg-subtle: #d6e0e8; +--warning-bg-subtle: #efe0cc; +--danger-bg-subtle: #edd2d1; +--light-bg-subtle: #fcfcfd; +--dark-bg-subtle: #ced4da; +--primary-border-subtle: #99b; +--secondary-border-subtle: #c5c8cb; +--success-border-subtle: #b4ceb4; +--info-border-subtle: #acc1d1; +--warning-border-subtle: #dec099; +--danger-border-subtle: #dba5a2; +--light-border-subtle: #eaedf0; +--dark-border-subtle: #adb5bd; + +/* ===== ALERT LINK COLORS ===== */ +--alert-primary-link-color: #01012a; +--alert-secondary-link-color: #34383d; +--alert-success-link-color: #213f21; +--alert-info-link-color: #172f44; +--alert-warning-link-color: #532f00; +--alert-danger-link-color: #4f0f0b; +--alert-light-link-color: #505050; +--alert-dark-link-color: #1a1c1f; + +/* ===== LIST GROUP ITEM COLORS ===== */ +--list-group-item-primary-color: #010134; +--list-group-item-primary-bg: #ccccdd; +--list-group-item-primary-active-bg: #b8b8c7; +--list-group-item-secondary-color: #41464c; +--list-group-item-secondary-bg: #e2e3e5; +--list-group-item-secondary-active-bg: #cbccce; +--list-group-item-success-color: #294f29; +--list-group-item-success-bg: #dae6da; +--list-group-item-success-active-bg: #c4cfc4; +--list-group-item-info-color: #1d3b55; +--list-group-item-info-bg: #d6e0e8; +--list-group-item-info-active-bg: #c1cad1; +--list-group-item-warning-color: #683b00; +--list-group-item-warning-bg: #efe0cc; +--list-group-item-warning-active-bg: #d7cab8; +--list-group-item-danger-color: #63130e; +--list-group-item-danger-bg: #edd2d1; +--list-group-item-danger-active-bg: #d5bdbc; +--list-group-item-light-color: #646464; +--list-group-item-light-bg: #fefefe; +--list-group-item-light-active-bg: #e5e5e5; +--list-group-item-dark-color: #202327; +--list-group-item-dark-bg: #d7d8d9; +--list-group-item-dark-active-bg: #c2c2c3; + +/* ===== LINK UTILITY COLORS ===== */ +--link-primary-color: hsl(240, 98%, 17%); +--link-primary-hover-color: #010145; +--link-secondary-color: hsl(210, 7%, 46%); +--link-secondary-hover-color: #575e65; +--link-success-color: hsl(120, 32%, 39%); +--link-success-hover-color: #366936; +--link-info-color: hsl(207, 49%, 37%); +--link-info-hover-color: #264f71; +--link-warning-color: hsl(34, 100%, 34%); +--link-warning-hover-color: #8a4e00; +--link-danger-color: hsl(3, 75%, 37%); +--link-danger-hover-color: #841913; +--link-light-color: hsl(210, 17%, 98%); +--link-light-hover-color: #fafbfc; +--link-dark-color: hsl(210, 10%, 23%); +--link-dark-hover-color: #2a2f34; + +/* ===== COMPONENT-SPECIFIC COLORS ===== */ +--mod-finder-link-hover: #e6e6e6; +--form-legend-color: #495057; +--border-gray: #b2bfcd; +--subhead-color: #495057; +--box-shadow-gray: #ddd; +--btn-active-text-gray: #A0A0A0; +--indicator-success-bg: var(--success); +--item-list-color: #F5F5F5; +--notification-badge-bg: var(--danger); +--content-bg-gray: #DDD; +--taba-btn-green: #7ac143; +--taba-btn-blue: #5091cd; +--taba-btn-red: #f44321; +--taba-btn-gray: #AAA; +--taba-msg-bg: #f5f5f5; +--toc-link-color: #767676; +--toc-link-active-color: #563d7c; +--choices-disabled-bg: #eaeaea; +--choices-input-bg: var(--white); +--choices-border-light: #ddd; +--choices-arrow-color: #333; +--choices-inner-bg: #f9f9f9; +--choices-focused-border: #b7b7b7; +--choices-dropdown-bg: var(--white); +--choices-item-bg: #00bcd4; +--choices-item-border: #00a5bb; +--choices-item-hover-bg: #00a5bb; +--choices-item-hover-border: #008fa1; +--choices-item-disabled-bg: #aaaaaa; +--choices-item-disabled-border: #919191; +--choices-item-highlighted: #f2f2f2; +--choices-input-inner-bg: #f9f9f9; + +/* ===== STANDARD COLORS ===== */ +--blue: #010156; +--indigo: #6812f3; +--purple: #6f42c2; +--pink: #e93f8e; +--red: #a51f18; +--orange: #fd7e17; +--yellow: #ad6200; +--green: #448344; +--teal: #5abfdd; +--cyan: #30638d; +--black: #000; +--white: #fff; + +/* ===== GRAY SCALE ===== */ +--gray-100: #f9fafb; +--gray-200: #eaedf0; +--gray-300: #dfe3e7; +--gray-400: #ced4da; +--gray-500: #adb5bd; +--gray-600: #6d757e; +--gray-700: #484f56; +--gray-800: #353b41; +--gray-900: #22262a; +--white-rgb: 255, 255, 255; +--black-rgb: 0, 0, 0; + +/* ===== OPACITY UTILITIES ===== */ +--opacity-0: 0; +--opacity-5: 0.05; +--opacity-10: 0.1; +--opacity-15: 0.15; +--opacity-20: 0.2; +--opacity-25: 0.25; +--opacity-30: 0.3; +--opacity-50: 0.5; +--opacity-75: 0.75; +--opacity-100: 1; + +/* ===== COMMON SHADOW COLORS ===== */ +--shadow-color-light: rgba(var(--black-rgb), var(--opacity-15)); +--shadow-color-medium: rgba(var(--black-rgb), var(--opacity-25)); +--shadow-color-dark: rgba(var(--black-rgb), var(--opacity-30)); +--border-color-translucent: rgba(var(--black-rgb), var(--opacity-10)); +--highlight-translucent: rgba(var(--white-rgb), var(--opacity-15)); + +/* ===== HEADER BACKGROUND ===== */ +--header-background-image: url('../../../../../../media/templates/site/mokocassiopeia/images/bg.svg'); +--header-background-attachment: fixed; +--header-background-repeat: repeat; +--header-background-size: auto; + +/* ===== CONTAINER BACKGROUNDS ===== */ +/* Below Topbar Container */ +--container-below-topbar-bg-image: none; +--container-below-topbar-bg-color: transparent; +--container-below-topbar-bg-position: auto; +--container-below-topbar-bg-attachment: fixed; +--container-below-topbar-bg-repeat: repeat; +--container-below-topbar-bg-size: auto; +--container-below-topbar-border: none; +--container-below-topbar-border-radius: 0; + +/* Top A Container */ +--container-top-a-bg-image: none; +--container-top-a-bg-color: transparent; +--container-top-a-bg-position: auto; +--container-top-a-bg-attachment: fixed; +--container-top-a-bg-repeat: repeat; +--container-top-a-bg-size: auto; +--container-top-a-border: none; +--container-top-a-border-radius: 0; + +/* Top B Container */ +--container-top-b-bg-image: none; +--container-top-b-bg-color: transparent; +--container-top-b-bg-position: auto; +--container-top-b-bg-attachment: fixed; +--container-top-b-bg-repeat: repeat; +--container-top-b-bg-size: auto; +--container-top-b-border: none; +--container-top-b-border-radius: 0; + +/* TOC Container */ +--container-toc-bg: var(--mainmenu-nav-link-color); +--container-toc-color: var(--color-primary); + +/* Sidebar Container */ +--container-sidebar-bg-image: none; +--container-sidebar-bg-color: transparent; +--container-sidebar-bg-position: auto; +--container-sidebar-bg-attachment: scroll; +--container-sidebar-bg-repeat: repeat; +--container-sidebar-bg-size: auto; +--container-sidebar-border: none; +--container-sidebar-border-radius: 0; + +/* Bottom A Container */ +--container-bottom-a-bg-image: none; +--container-bottom-a-bg-color: transparent; +--container-bottom-a-bg-position: auto; +--container-bottom-a-bg-attachment: fixed; +--container-bottom-a-bg-repeat: repeat; +--container-bottom-a-bg-size: auto; +--container-bottom-a-border: none; +--container-bottom-a-border-radius: 0; + +/* Bottom B Container */ +--container-bottom-b-bg-image: none; +--container-bottom-b-bg-color: transparent; +--container-bottom-b-bg-position: auto; +--container-bottom-b-bg-attachment: fixed; +--container-bottom-b-bg-repeat: repeat; +--container-bottom-b-bg-size: auto; +--container-bottom-b-border: none; +--container-bottom-b-border-radius: 0; + +/* ===== BORDERS ===== */ +--border-width: 1px; +--border-style: solid; +--border-color: #dfe3e7; +--border-color-translucent: #0000002d; +--border-radius: .25rem; +--border-radius-sm: .2rem; +--border-radius-lg: .3rem; +--border-radius-xl: .3rem; +--border-radius-xxl: 2rem; +--border-radius-2xl: var(--border-radius-xxl)*2; +--border-radius-pill: 50rem; + +/* ===== SHADOWS ===== */ +--box-shadow: 0 .5rem 1rem #00000026; +--box-shadow-sm: 0 .125rem .25rem #00000013; +--box-shadow-lg: 0 1rem 3rem #0000002d; +--box-shadow-inset: inset 0 1px 2px #00000013; + +/* ===== FOCUS & FORMS ===== */ +--focus-ring-width: .25rem; +--focus-ring-opacity: .25; +--focus-ring-color: #01015640; +--input-color: hsl(210, 11%, 15%); +--input-bg: hsl(210, 20%, 98%); +--input-border-color: hsl(210, 14%, 83%); +--input-focus-border-color: #8894aa; +--input-focus-box-shadow: 0 0 0 0.25rem rgba(1, 1, 86, 0.25); +--input-placeholder-color: hsl(210, 7%, 46%); +--input-disabled-bg: hsl(210, 16%, 93%); +--input-disabled-border-color: hsl(210, 14%, 83%); +--input-file-button-active-bg: #dee1e4; +--form-range-thumb-active-bg: #b8bfcc; +--form-valid-color: #448344; +--form-valid-border-color: #448344; +--form-invalid-color: #a51f18; +--form-invalid-border-color: #a51f18; + +/* ===== BUTTONS ===== */ +--btn-border-radius: var(--border-radius); +--btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); + +/* ===== CARDS ===== */ +--card-spacer-y: 1rem; +--card-spacer-x: 1rem; +--card-title-spacer-y: 0.5rem; +--card-border-width: 1px; +--card-border-color: var(--border-color); +--card-border-radius: var(--border-radius); +--card-box-shadow: none; +--card-inner-border-radius: calc(var(--border-radius) - 1px); +--card-cap-padding-y: 0.5rem; +--card-cap-padding-x: 1rem; +--card-cap-bg: rgba(0, 0, 0, 0.03); +--card-cap-color: var(--body-color); +--card-height: auto; +--card-color: var(--body-color); +--card-bg: var(--body-bg); +--card-img-overlay-padding: 1rem; +--card-group-margin: 0.75rem; + +/* ===== VIRTUEMART (VM) ===== */ +/* VM Surfaces */ +--vm-surface: #ffffff; +--vm-surface-2: #f8f9fa; +--vm-text: var(--body-color); +--vm-text-strong: #000000; +--vm-text-muted: #6c757d; +--vm-border: var(--border-color); +--vm-price-color: var(--success); + +/* VM Layout and Density */ +--vm-container-max-width: 1200px; +--vm-section-gap: 2rem; +--vm-block-radius: var(--border-radius); +--vm-block-shadow: var(--box-shadow-sm); + +/* VM Typography */ +--vm-category-title-size: 2rem; +--vm-subcategory-title-size: 1.5rem; +--vm-page-title-size: 1.75rem; +--vm-products-type-title-size: 1.25rem; +--vm-product-title-size: 1.125rem; +--vm-product-title-weight: 500; +--vm-products-type-title-weight: 600; +--vm-price-size: 1.5rem; +--vm-price-detail-size: 1.125rem; +--vm-price-desc-size: 0.875rem; + +/* VM Controls */ +--vm-input-radius: var(--border-radius); +--vm-input-shadow: var(--box-shadow-sm); +--vm-qty-width: 80px; +--vm-cart-dropdown-min-width: 300px; + +/* VM Alerts */ +--vm-alert-radius: var(--border-radius); +--vm-alert-shadow: var(--box-shadow-sm); +--vm-availability-bg: var(--success-bg-subtle); +--vm-availability-text: var(--success); + +/* VM Buttons */ +--vm-btn-padding-x: 1rem; +--vm-btn-padding-y: 0.5rem; +--vm-btn-radius: var(--border-radius); +--vm-btn-shadow: var(--box-shadow-sm); +--vm-btn-primary-bg: var(--primary); +--vm-btn-primary-text: #ffffff; +--vm-btn-primary-border: var(--primary); +--vm-btn-secondary-bg: var(--secondary); +--vm-btn-secondary-text: #ffffff; +--vm-btn-secondary-border: var(--secondary); + +/* VM Image Overlay Controls */ +--vm-image-overlay-gap-x: 0.5rem; +--vm-image-overlay-gap-y: 0.5rem; +--vm-image-overlay-raise: 0.25rem; +--vm-image-overlay-btn-size: 2.5rem; +--vm-image-overlay-btn-radius: 50%; +--vm-image-overlay-btn-bg: rgba(255, 255, 255, 0.9); +--vm-image-overlay-btn-bg-hover: rgba(255, 255, 255, 1); +--vm-image-overlay-btn-border-color: rgba(0, 0, 0, 0.1); +--vm-image-overlay-btn-border-width: 1px; +--vm-image-overlay-btn-color: var(--body-color); +--vm-image-overlay-btn-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); + +/* VM Vendor Menu */ +--vm-vendor-menu-bg: var(--body-bg); +--vm-vendor-menu-border: var(--border-color); +--vm-vendor-menu-radius: var(--border-radius); +--vm-vendor-menu-shadow: var(--box-shadow-sm); +--vm-vendor-menu-item-gap: 0.25rem; +--vm-vendor-menu-item-padding-x: 1rem; +--vm-vendor-menu-item-padding-y: 0.5rem; +--vm-vendor-menu-pill-radius: 50rem; +--vm-vendor-menu-link: var(--link-color); +--vm-vendor-menu-link-hover: var(--link-hover-color); +--vm-vendor-menu-link-active: var(--primary); +--vm-vendor-menu-hover-bg: var(--secondary-bg); + +/* ===== GABLE ===== */ +--gab-blue: #0066cc; +--gab-green: #28a745; +--gab-red: #dc3545; +--gab-orange: #fd7e14; +--gab-gray1: #495057; +--gab-gray2: #6c757d; +--gab-gray3: #adb5bd; +} + +.btn { +--btn-padding-x: 1rem; +--btn-padding-y: 0.6rem; +--btn-font-family: inherit; +--btn-font-size: 1rem; +--btn-font-weight: 400; +--btn-line-height: 1.5; +--btn-color: hsl(210, 11%, 15%); +--btn-bg: transparent; +--btn-border-width: 1px; +--btn-border-color: transparent; +--btn-border-radius: 0.25rem; +--btn-active-border-color: transparent; +--btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); +--btn-disabled-opacity: 0.65; +--btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--btn-focus-shadow-rgb), .5); +display: inline-block; +padding: var(--btn-padding-y) var(--btn-padding-x); +font-family: var(--btn-font-family); +font-size: var(--btn-font-size); +font-weight: var(--btn-font-weight); +line-height: var(--btn-line-height); +color: var(--btn-color); +text-align: center; +text-decoration: none; +vertical-align: middle; +cursor: pointer; +-webkit-user-select: none; +-moz-user-select: none; +-ms-user-select: none; +user-select: none; +border: var(--btn-border-width) solid var(--btn-border-color); +border-radius: var(--btn-border-radius); +background-color: var(--btn-bg); +-webkit-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; +transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out; +-o-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; +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; +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, -webkit-box-shadow 0.15s ease-in-out; +} + +.btn-primary { +--btn-color: hsl(0, 0%, 100%); +--btn-bg: hsl(240, 98%, 17%); +--btn-border-color: hsl(240, 98%, 17%); +--btn-hover-color: hsl(0, 0%, 100%); +--btn-hover-bg: #010149; +--btn-hover-border-color: #010145; +--btn-focus-shadow-rgb: 39, 39, 111; +--btn-active-color: hsl(0, 0%, 100%); +--btn-active-bg: #010145; +--btn-active-border-color: #010141; +--btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +--btn-disabled-color: hsl(0, 0%, 100%); +--btn-disabled-bg: hsl(240, 98%, 17%); +--btn-disabled-border-color: hsl(240, 98%, 17%); +} + +.btn-secondary { +--btn-color: var(--body-bg); +--btn-bg: var(--nav-bg-color); +--btn-border-color: hsl(210, 7%, 46%); +--btn-hover-color: hsl(0, 0%, 100%); +--btn-hover-bg: #5d636b; +--btn-hover-border-color: #575e65; +--btn-focus-shadow-rgb: gray; +--btn-active-color: hsl(0, 0%, 100%); +--btn-active-bg: #575e65; +--btn-active-border-color: #52585f; +--btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +--btn-disabled-color: hsl(0, 0%, 100%); +--btn-disabled-bg: hsl(210, 7%, 46%); +--btn-disabled-border-color: hsl(210, 7%, 46%); +} + +.btn-success { +--btn-color: hsl(0, 0%, 100%); +--btn-bg: hsl(120, 32%, 39%); +--btn-border-color: hsl(120, 32%, 39%); +--btn-hover-color: hsl(0, 0%, 100%); +--btn-hover-bg: #3a6f3a; +--btn-hover-border-color: #366936; +--btn-focus-shadow-rgb: 96, 150, 96; +--btn-active-color: hsl(0, 0%, 100%); +--btn-active-bg: #366936; +--btn-active-border-color: #336233; +--btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +--btn-disabled-color: hsl(0, 0%, 100%); +--btn-disabled-bg: hsl(120, 32%, 39%); +--btn-disabled-border-color: hsl(120, 32%, 39%); +} + +.btn-info { +--btn-color: hsl(0, 0%, 100%); +--btn-bg: hsl(207, 49%, 37%); +--btn-border-color: hsl(207, 49%, 37%); +--btn-hover-color: hsl(0, 0%, 100%); +--btn-hover-bg: #295478; +--btn-hover-border-color: #264f71; +--btn-focus-shadow-rgb: 79, 122, 158; +--btn-active-color: hsl(0, 0%, 100%); +--btn-active-bg: #264f71; +--btn-active-border-color: #244a6a; +--btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +--btn-disabled-color: hsl(0, 0%, 100%); +--btn-disabled-bg: hsl(207, 49%, 37%); +--btn-disabled-border-color: hsl(207, 49%, 37%); +} + +.btn-warning { +--btn-color: hsl(0, 0%, 100%); +--btn-bg: hsl(34, 100%, 34%); +--btn-border-color: hsl(34, 100%, 34%); +--btn-hover-color: hsl(0, 0%, 100%); +--btn-hover-bg: #935300; +--btn-hover-border-color: #8a4e00; +--btn-focus-shadow-rgb: 185, 122, 38; +--btn-active-color: hsl(0, 0%, 100%); +--btn-active-bg: #8a4e00; +--btn-active-border-color: #824a00; +--btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +--btn-disabled-color: hsl(0, 0%, 100%); +--btn-disabled-bg: hsl(34, 100%, 34%); +--btn-disabled-border-color: hsl(34, 100%, 34%); +} + +.btn-danger { +--btn-color: hsl(0, 0%, 100%); +--btn-bg: hsl(3, 75%, 37%); +--btn-border-color: hsl(3, 75%, 37%); +--btn-hover-color: hsl(0, 0%, 100%); +--btn-hover-bg: #8c1a14; +--btn-hover-border-color: #841913; +--btn-focus-shadow-rgb: 179, 65, 59; +--btn-active-color: hsl(0, 0%, 100%); +--btn-active-bg: #841913; +--btn-active-border-color: #7c1712; +--btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +--btn-disabled-color: hsl(0, 0%, 100%); +--btn-disabled-bg: hsl(3, 75%, 37%); +--btn-disabled-border-color: hsl(3, 75%, 37%); +} + +.btn-light { +--btn-color: hsl(0, 0%, 0%); +--btn-bg: hsl(210, 17%, 98%); +--btn-border-color: hsl(210, 17%, 98%); +--btn-hover-color: hsl(0, 0%, 0%); +--btn-hover-bg: #d4d5d5; +--btn-hover-border-color: #c7c8c9; +--btn-focus-shadow-rgb: 212, 213, 213; +--btn-active-color: hsl(0, 0%, 0%); +--btn-active-bg: #c7c8c9; +--btn-active-border-color: #bbbcbc; +--btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +--btn-disabled-color: hsl(0, 0%, 0%); +--btn-disabled-bg: hsl(210, 17%, 98%); +--btn-disabled-border-color: hsl(210, 17%, 98%); +} + +.btn-dark { +--btn-color: hsl(0, 0%, 100%); +--btn-bg: hsl(210, 10%, 23%); +--btn-border-color: hsl(210, 10%, 23%); +--btn-hover-color: hsl(0, 0%, 100%); +--btn-hover-bg: #53585e; +--btn-hover-border-color: #494f54; +--btn-focus-shadow-rgb: 83, 88, 94; +--btn-active-color: hsl(0, 0%, 100%); +--btn-active-bg: #5d6267; +--btn-active-border-color: #494f54; +--btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +--btn-disabled-color: hsl(0, 0%, 100%); +--btn-disabled-bg: hsl(210, 10%, 23%); +--btn-disabled-border-color: hsl(210, 10%, 23%); +} + +.btn-outline-primary { +--btn-color: hsl(240, 98%, 17%); +--btn-border-color: hsl(240, 98%, 17%); +--btn-hover-color: hsl(0, 0%, 100%); +--btn-hover-bg: hsl(240, 98%, 17%); +--btn-hover-border-color: hsl(240, 98%, 17%); +--btn-focus-shadow-rgb: 1, 1, 86; +--btn-active-color: hsl(0, 0%, 100%); +--btn-active-bg: hsl(240, 98%, 17%); +--btn-active-border-color: hsl(240, 98%, 17%); +--btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +--btn-disabled-color: hsl(240, 98%, 17%); +--btn-disabled-bg: transparent; +--btn-disabled-border-color: hsl(240, 98%, 17%); +--gradient: none; +} + +.btn-outline-secondary { +--btn-color: hsl(210, 7%, 46%); +--btn-border-color: hsl(210, 7%, 46%); +--btn-hover-color: hsl(0, 0%, 100%); +--btn-hover-bg: hsl(210, 7%, 46%); +--btn-hover-border-color: hsl(210, 7%, 46%); +--btn-focus-shadow-rgb: 109, 117, 126; +--btn-active-color: hsl(0, 0%, 100%); +--btn-active-bg: hsl(210, 7%, 46%); +--btn-active-border-color: hsl(210, 7%, 46%); +--btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +--btn-disabled-color: hsl(210, 7%, 46%); +--btn-disabled-bg: transparent; +--btn-disabled-border-color: hsl(210, 7%, 46%); +--gradient: none; +} + +.btn-outline-success { +--btn-color: hsl(120, 32%, 39%); +--btn-border-color: hsl(120, 32%, 39%); +--btn-hover-color: hsl(0, 0%, 100%); +--btn-hover-bg: hsl(120, 32%, 39%); +--btn-hover-border-color: hsl(120, 32%, 39%); +--btn-focus-shadow-rgb: 68, 131, 68; +--btn-active-color: hsl(0, 0%, 100%); +--btn-active-bg: hsl(120, 32%, 39%); +--btn-active-border-color: hsl(120, 32%, 39%); +--btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +--btn-disabled-color: hsl(120, 32%, 39%); +--btn-disabled-bg: transparent; +--btn-disabled-border-color: hsl(120, 32%, 39%); +--gradient: none; +} + +.btn-outline-info { +--btn-color: hsl(207, 49%, 37%); +--btn-border-color: hsl(207, 49%, 37%); +--btn-hover-color: hsl(0, 0%, 100%); +--btn-hover-bg: hsl(207, 49%, 37%); +--btn-hover-border-color: hsl(207, 49%, 37%); +--btn-focus-shadow-rgb: 48, 99, 141; +--btn-active-color: hsl(0, 0%, 100%); +--btn-active-bg: hsl(207, 49%, 37%); +--btn-active-border-color: hsl(207, 49%, 37%); +--btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +--btn-disabled-color: hsl(207, 49%, 37%); +--btn-disabled-bg: transparent; +--btn-disabled-border-color: hsl(207, 49%, 37%); +--gradient: none; +} + +.btn-outline-warning { +--btn-color: hsl(34, 100%, 34%); +--btn-border-color: hsl(34, 100%, 34%); +--btn-hover-color: hsl(0, 0%, 100%); +--btn-hover-bg: hsl(34, 100%, 34%); +--btn-hover-border-color: hsl(34, 100%, 34%); +--btn-focus-shadow-rgb: 173, 98, 0; +--btn-active-color: hsl(0, 0%, 100%); +--btn-active-bg: hsl(34, 100%, 34%); +--btn-active-border-color: hsl(34, 100%, 34%); +--btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +--btn-disabled-color: hsl(34, 100%, 34%); +--btn-disabled-bg: transparent; +--btn-disabled-border-color: hsl(34, 100%, 34%); +--gradient: none; +} + +.btn-outline-danger { +--btn-color: hsl(3, 75%, 37%); +--btn-border-color: hsl(3, 75%, 37%); +--btn-hover-color: hsl(0, 0%, 100%); +--btn-hover-bg: hsl(3, 75%, 37%); +--btn-hover-border-color: hsl(3, 75%, 37%); +--btn-focus-shadow-rgb: 165, 31, 24; +--btn-active-color: hsl(0, 0%, 100%); +--btn-active-bg: hsl(3, 75%, 37%); +--btn-active-border-color: hsl(3, 75%, 37%); +--btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +--btn-disabled-color: hsl(3, 75%, 37%); +--btn-disabled-bg: transparent; +--btn-disabled-border-color: hsl(3, 75%, 37%); +--gradient: none; +} + +.btn-outline-light { +--btn-color: hsl(210, 17%, 98%); +--btn-border-color: hsl(210, 17%, 98%); +--btn-hover-color: hsl(0, 0%, 0%); +--btn-hover-bg: hsl(210, 17%, 98%); +--btn-hover-border-color: hsl(210, 17%, 98%); +--btn-focus-shadow-rgb: 249, 250, 251; +--btn-active-color: hsl(0, 0%, 0%); +--btn-active-bg: hsl(210, 17%, 98%); +--btn-active-border-color: hsl(210, 17%, 98%); +--btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +--btn-disabled-color: hsl(210, 17%, 98%); +--btn-disabled-bg: transparent; +--btn-disabled-border-color: hsl(210, 17%, 98%); +--gradient: none; +} + +.btn-outline-dark { +--btn-color: hsl(210, 10%, 23%); +--btn-border-color: hsl(210, 10%, 23%); +--btn-hover-color: hsl(0, 0%, 100%); +--btn-hover-bg: hsl(210, 10%, 23%); +--btn-hover-border-color: hsl(210, 10%, 23%); +--btn-focus-shadow-rgb: 53, 59, 65; +--btn-active-color: hsl(0, 0%, 100%); +--btn-active-bg: hsl(210, 10%, 23%); +--btn-active-border-color: hsl(210, 10%, 23%); +--btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +--btn-disabled-color: hsl(210, 10%, 23%); +--btn-disabled-bg: transparent; +--btn-disabled-border-color: hsl(210, 10%, 23%); +--gradient: none; +} + +.btn-link { +--btn-font-weight: 400; +--btn-color: var(--link-color); +--btn-bg: transparent; +--btn-border-color: transparent; +--btn-hover-color: var(--link-hover-color); +--btn-hover-border-color: transparent; +--btn-active-color: var(--link-hover-color); +--btn-active-border-color: transparent; +--btn-disabled-color: hsl(210, 7%, 46%); +--btn-disabled-border-color: transparent; +--btn-box-shadow: none; +--btn-focus-shadow-rgb: 39, 39, 111; +text-decoration: underline; +}