/**
 * ViewSource CMS4
 *
 * This part of the source code is protected by copyright and belongs to the project ViewSource CMS4. Use, modification and distribution
 * are permitted only in accordance with the terms approved by the owner. Any unauthorized copying, sale or distribution of the code is
 * strictly prohibited.
 *
 * @package   ViewSourceCMS4\vscms\css * @copyright Copyright (c) 2002-2026 ViewSource - All Rights Reserved
 * @author    ViewSource - Marko Jevtić <office@viewsource.biz>
 * @license   Proprietary - copying prohibited without written permission from the author
 * @link      https://www.viewsource.biz/
 */

/* Variables ****************************************************************************************************************************************/
:root {
    --cms-header-size: 65px;
    --cms-sidebar-size: 250px;
    --cms-sidebar-collapsed-size: 42px;
    --cms-sidebar-font-size: 0.92rem;
    --cms-sidebar-icon-size: 1rem;
    --cms-sidebar-font-weight: 600;
}
:root {
    --bs-body-bg-rgb: 243, 245, 248;
    --bs-secondary-bg-rgb: 223, 226, 231;
    --bs-tertiary-bg-rgb: 255, 255, 255;
    --bs-body-color: #22252a;
    --bs-body-color-rgb: 34, 37, 42;
    --bs-emphasis-color: #22252a;
    --bs-emphasis-color-rgb: 34, 37, 42;
    --bs-secondary-color: #626976;
    --bs-secondary-color-rgb: 98, 105, 118;
    --bs-tertiary-color: #747c89;
    --bs-tertiary-color-rgb: 116, 124, 137;
    --bs-border-color: #e0e6ee;

    --cms-brand-rgb: 240, 120, 32;
    --bs-primary: #f07820;
    --bs-primary-rgb: 240, 120, 32;
    --bs-primary-bg-subtle: #fff0e4;
    --bs-primary-text-emphasis: #a94c08;
    --bs-link-color: #a94c08;
    --bs-link-color-rgb: 169, 76, 8;
    --bs-link-hover-color: #8d3e07;
    --bs-link-hover-color-rgb: 141, 62, 7;

    --bs-success: #16794b;
    --bs-success-rgb: 22, 121, 75;
    --bs-success-bg-subtle: #e3f5eb;
    --bs-success-text-emphasis: #16794b;
    --bs-warning: #936000;
    --bs-warning-rgb: 147, 96, 0;
    --bs-warning-bg-subtle: #fff4d9;
    --bs-warning-text-emphasis: #936000;
    --bs-danger: #b72d3c;
    --bs-danger-rgb: 183, 45, 60;
    --bs-danger-bg-subtle: #fde8eb;
    --bs-danger-text-emphasis: #b72d3c;
    --bs-info: #2467b3;
    --bs-info-rgb: 36, 103, 179;
    --bs-info-bg-subtle: #e8f2ff;
    --bs-info-text-emphasis: #2467b3;

    --cms-elevated: #ffffff;
    --cms-border-strong: #b6bec9;
    --cms-input: #ffffff;
    --cms-accent-hover: #f68b3d;
    --cms-accent-active: #d9661a;
    --cms-accent-subtle: #fff0e4;
    --cms-accent-on: #171717;
    --cms-row-hover: #f1f3f6;
    --cms-row-selected: #fff1e5;
    --cms-disabled-bg: #eceef1;
    --cms-disabled-text: #767e89;
    --cms-focus: #c65b0a;
    --cms-fill-success: #16794b;
    --cms-fill-danger: #b72d3c;
    --cms-fill-warning: #936000;
    --cms-fill-info: #2467b3;
    --cms-fill-on: #ffffff;

    --cms-sidebar-bg-rgb: 35, 42, 54;
    --cms-sidebar-active-bg-rgb: 31, 68, 103;
    --cms-sidebar-hover-bg-rgb: 42, 53, 70;
    --cms-sidebar-nav-link-color: #c4ccd8;
    --cms-sidebar-icon-color: #8e9bb0;
    --cms-sidebar-border-color: transparent;
    --cms-sidebar-nav-link-hover-color: #ffffff;
    --cms-sidebar-nav-link-active-color: #ffffff;
    --cms-sidebar-submenu-bg: #2b3341;
    --cms-sidebar-submenu-hover-bg: rgba(255, 255, 255, .09);
    --cms-sidebar-submenu-active-bg: rgba(255, 255, 255, .16);
    --dt-row-selected: 240, 120, 32;
}
[data-bs-theme=dark] {
    color-scheme: dark;
    --bs-body-bg-rgb: 16, 17, 20;
    --bs-secondary-bg-rgb: 41, 44, 51;
    --bs-tertiary-bg-rgb: 32, 34, 40;
    --bs-body-color: #edeef0;
    --bs-body-color-rgb: 237, 238, 240;
    --bs-emphasis-color: #edeef0;
    --bs-emphasis-color-rgb: 237, 238, 240;
    --bs-secondary-color: #a9adb7;
    --bs-secondary-color-rgb: 169, 173, 183;
    --bs-tertiary-color: #858b97;
    --bs-tertiary-color-rgb: 133, 139, 151;
    --bs-border-color: #30343c;

    --cms-brand-rgb: 245, 130, 32;
    --bs-primary: #f58220;
    --bs-primary-rgb: 245, 130, 32;
    --bs-primary-bg-subtle: #34261c;
    --bs-primary-text-emphasis: #ff963f;
    --bs-link-color: #f58220;
    --bs-link-color-rgb: 245, 130, 32;
    --bs-link-hover-color: #ff963f;
    --bs-link-hover-color-rgb: 255, 150, 63;

    --bs-success: #53c78c;
    --bs-success-rgb: 83, 199, 140;
    --bs-success-bg-subtle: #163628;
    --bs-success-text-emphasis: #53c78c;
    --bs-warning: #e8b45b;
    --bs-warning-rgb: 232, 180, 91;
    --bs-warning-bg-subtle: #382b17;
    --bs-warning-text-emphasis: #e8b45b;
    --bs-danger: #f07878;
    --bs-danger-rgb: 240, 120, 120;
    --bs-danger-bg-subtle: #3a2023;
    --bs-danger-text-emphasis: #f07878;
    --bs-info: #78a8ed;
    --bs-info-rgb: 120, 168, 237;
    --bs-info-bg-subtle: #1d2d45;
    --bs-info-text-emphasis: #78a8ed;

    --cms-elevated: #292c33;
    --cms-border-strong: #4b515c;
    --cms-input: #14161b;
    --cms-accent-hover: #ff963f;
    --cms-accent-active: #db6e12;
    --cms-accent-subtle: #34261c;
    --cms-accent-on: #171717;
    --cms-row-hover: #25282f;
    --cms-row-selected: #352a21;
    --cms-disabled-bg: #24262b;
    --cms-disabled-text: #777d87;
    --cms-focus: #ffad66;
    --cms-fill-success: #238636;
    --cms-fill-danger: #da3633;
    --cms-fill-warning: #9e6a03;
    --cms-fill-info: #1f6feb;
    --cms-fill-on: #ffffff;

    --cms-sidebar-bg-rgb: 23, 25, 30;
    --cms-sidebar-active-bg-rgb: 44, 47, 55;
    --cms-sidebar-hover-bg-rgb: 37, 40, 47;
    --cms-sidebar-nav-link-color: #a9adb7;
    --cms-sidebar-icon-color: #858b97;
    --cms-sidebar-border-color: #30343c;
    --cms-sidebar-nav-link-hover-color: #edeef0;
    --cms-sidebar-nav-link-active-color: #edeef0;
    --cms-sidebar-submenu-bg: var(--cms-elevated);
    --cms-sidebar-submenu-hover-bg: var(--cms-sidebar-nav-link-hover-color-bg);
    --cms-sidebar-submenu-active-bg: color-mix(in srgb, var(--cms-sidebar-nav-link-active-color) 10%, transparent);
    --dt-row-selected: 245, 130, 32;
}
:root,
[data-bs-theme] {
    --cms-brand: rgb(var(--cms-brand-rgb));
    --cms-sidebar-bg: rgb(var(--cms-sidebar-bg-rgb));
    --cms-sidebar-nav-link-active-color-bg: rgb(var(--cms-sidebar-active-bg-rgb));
    --cms-sidebar-nav-link-hover-color-bg: rgb(var(--cms-sidebar-hover-bg-rgb));
    --bs-body-bg: rgb(var(--bs-body-bg-rgb));
    --bs-secondary-bg: rgb(var(--bs-secondary-bg-rgb));
    --bs-tertiary-bg: rgb(var(--bs-tertiary-bg-rgb));
    --bs-primary-border-subtle: color-mix(in srgb, var(--bs-primary) 35%, var(--bs-primary-bg-subtle));
    --bs-success-border-subtle: color-mix(in srgb, var(--bs-success) 35%, var(--bs-success-bg-subtle));
    --bs-warning-border-subtle: color-mix(in srgb, var(--bs-warning) 35%, var(--bs-warning-bg-subtle));
    --bs-danger-border-subtle: color-mix(in srgb, var(--bs-danger) 35%, var(--bs-danger-bg-subtle));
    --bs-info-border-subtle: color-mix(in srgb, var(--bs-info) 35%, var(--bs-info-bg-subtle));
    --bs-form-valid-color: var(--bs-success);
    --bs-form-valid-border-color: var(--bs-success);
    --bs-form-invalid-color: var(--bs-danger);
    --bs-form-invalid-border-color: var(--bs-danger);
}

/* Bootstrap ****************************************************************************************************************************************/
.nav {
    --bs-nav-link-color: var(--bs-secondary-color);
    --bs-nav-link-hover-color: var(--bs-body-color);
    --bs-nav-link-active-color: var(--bs-body-color);
}
.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
    font-weight: inherit;
    border-bottom-color: var(--cms-brand);
}
.nav-pills {
    --bs-nav-pills-link-active-color: var(--bs-body-color);
    --bs-nav-pills-link-active-bg: rgba(var(--bs-body-color-rgb), .07);
}
.pagination {
    --bs-pagination-bg: transparent;
    --bs-pagination-hover-bg: rgba(var(--bs-body-color-rgb), .08);
    --bs-pagination-focus-bg: rgba(var(--bs-body-color-rgb), .08);
    --bs-pagination-active-color: var(--bs-link-color);
    --bs-pagination-active-bg: var(--cms-accent-subtle);
    --bs-pagination-active-border-color: var(--bs-primary);
    --bs-pagination-disabled-color: var(--cms-disabled-text);
    --bs-pagination-disabled-bg: transparent;
    --bs-pagination-focus-box-shadow: unset !important;
}
.btn {
    --bs-btn-padding-y: 0.275rem;
    --bs-btn-line-height: 1.4;
    --bs-btn-focus-box-shadow: none;
    --bs-btn-disabled-opacity: 1;
}
.btn-group-sm > .btn,
.btn-sm {
    --bs-btn-padding-y: 0.24rem;
    --bs-btn-line-height: 1.0;
}
.btn-primary {
    --bs-btn-color: var(--cms-accent-on);
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: var(--cms-accent-on);
    --bs-btn-hover-bg: var(--cms-accent-hover);
    --bs-btn-hover-border-color: var(--cms-accent-hover);
    --bs-btn-active-color: var(--cms-accent-on);
    --bs-btn-active-bg: var(--cms-accent-active);
    --bs-btn-active-border-color: var(--cms-accent-active);
    --bs-btn-disabled-color: var(--cms-disabled-text);
    --bs-btn-disabled-bg: var(--cms-disabled-bg);
    --bs-btn-disabled-border-color: var(--bs-border-color);
}
.btn-outline-primary {
    --bs-btn-color: var(--bs-link-color);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-color: var(--cms-accent-on);
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-active-color: var(--cms-accent-on);
    --bs-btn-active-bg: var(--cms-accent-active);
    --bs-btn-active-border-color: var(--cms-accent-active);
    --bs-btn-disabled-color: var(--cms-disabled-text);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--bs-border-color);
}
.btn-secondary {
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-bg: var(--cms-elevated);
    --bs-btn-border-color: var(--cms-border-strong);
    --bs-btn-hover-color: var(--bs-body-color);
    --bs-btn-hover-bg: color-mix(in srgb, var(--cms-elevated) 90%, var(--bs-body-color));
    --bs-btn-hover-border-color: var(--cms-border-strong);
    --bs-btn-active-color: var(--bs-body-color);
    --bs-btn-active-bg: color-mix(in srgb, var(--cms-elevated) 84%, var(--bs-body-color));
    --bs-btn-active-border-color: var(--cms-border-strong);
    --bs-btn-disabled-color: var(--cms-disabled-text);
    --bs-btn-disabled-bg: var(--cms-disabled-bg);
    --bs-btn-disabled-border-color: var(--bs-border-color);
}
.btn-outline-secondary {
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-border-color: var(--cms-border-strong);
    --bs-btn-hover-color: var(--bs-body-color);
    --bs-btn-hover-bg: rgba(var(--bs-body-color-rgb), .08);
    --bs-btn-hover-border-color: var(--cms-border-strong);
    --bs-btn-active-color: var(--bs-body-color);
    --bs-btn-active-bg: rgba(var(--bs-body-color-rgb), .14);
    --bs-btn-active-border-color: var(--cms-border-strong);
    --bs-btn-disabled-color: var(--cms-disabled-text);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--bs-border-color);
}
.btn-success {
    --cms-btn-fill: var(--cms-fill-success);
}
.btn-danger {
    --cms-btn-fill: var(--cms-fill-danger);
}
.btn-warning {
    --cms-btn-fill: var(--cms-fill-warning);
}
.btn-info {
    --cms-btn-fill: var(--cms-fill-info);
}
.btn-success,
.btn-danger,
.btn-warning,
.btn-info {
    --bs-btn-color: var(--cms-fill-on);
    --bs-btn-bg: var(--cms-btn-fill);
    --bs-btn-border-color: var(--cms-btn-fill);
    --bs-btn-hover-color: var(--cms-fill-on);
    --bs-btn-hover-bg: color-mix(in srgb, var(--cms-btn-fill) 85%, var(--bs-body-color));
    --bs-btn-hover-border-color: color-mix(in srgb, var(--cms-btn-fill) 85%, var(--bs-body-color));
    --bs-btn-active-color: var(--cms-fill-on);
    --bs-btn-active-bg: color-mix(in srgb, var(--cms-btn-fill) 75%, var(--bs-body-color));
    --bs-btn-active-border-color: color-mix(in srgb, var(--cms-btn-fill) 75%, var(--bs-body-color));
    --bs-btn-disabled-color: var(--cms-disabled-text);
    --bs-btn-disabled-bg: var(--cms-disabled-bg);
    --bs-btn-disabled-border-color: var(--bs-border-color);
}
.btn-outline-success {
    --cms-btn-text: var(--bs-success);
    --cms-btn-fill: var(--cms-fill-success);
}
.btn-outline-danger {
    --cms-btn-text: var(--bs-danger);
    --cms-btn-fill: var(--cms-fill-danger);
}
.btn-outline-warning {
    --cms-btn-text: var(--bs-warning);
    --cms-btn-fill: var(--cms-fill-warning);
}
.btn-outline-info {
    --cms-btn-text: var(--bs-info);
    --cms-btn-fill: var(--cms-fill-info);
}
.btn-outline-success,
.btn-outline-danger,
.btn-outline-warning,
.btn-outline-info {
    --bs-btn-color: var(--cms-btn-text);
    --bs-btn-border-color: var(--cms-btn-text);
    --bs-btn-hover-color: var(--cms-fill-on);
    --bs-btn-hover-bg: var(--cms-btn-fill);
    --bs-btn-hover-border-color: var(--cms-btn-fill);
    --bs-btn-active-color: var(--cms-fill-on);
    --bs-btn-active-bg: color-mix(in srgb, var(--cms-btn-fill) 85%, var(--bs-body-color));
    --bs-btn-active-border-color: color-mix(in srgb, var(--cms-btn-fill) 85%, var(--bs-body-color));
    --bs-btn-disabled-color: var(--cms-disabled-text);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--bs-border-color);
}
.text-bg-primary {
    color: var(--cms-accent-on) !important;
}
.text-bg-success {
    background-color: var(--cms-fill-success) !important;
}
.text-bg-danger {
    background-color: var(--cms-fill-danger) !important;
}
.text-bg-warning {
    background-color: var(--cms-fill-warning) !important;
}
.text-bg-info {
    background-color: var(--cms-fill-info) !important;
}
.text-bg-success,
.text-bg-danger,
.text-bg-warning,
.text-bg-info {
    color: var(--cms-fill-on) !important;
}
.btn-close {
    --bs-btn-close-focus-shadow: none;
}
.dropdown-menu {
    --bs-dropdown-zindex: 1020;
    --bs-dropdown-bg: var(--cms-elevated);
    --bs-dropdown-border-color: var(--bs-border-color);
    --bs-dropdown-link-color: var(--bs-body-color);
    --bs-dropdown-link-hover-color: var(--bs-body-color);
    --bs-dropdown-link-hover-bg: rgba(var(--bs-body-color-rgb), .08);
    --bs-dropdown-link-active-color: var(--bs-body-color);
    --bs-dropdown-link-active-bg: var(--cms-accent-subtle);
}
.list-group {
    --bs-list-group-bg: transparent;
    --bs-list-group-disabled-bg: transparent;
    --bs-list-group-action-hover-bg: rgba(var(--bs-body-color-rgb), .06);
    --bs-list-group-action-active-bg: rgba(var(--bs-body-color-rgb), .1);
    --bs-list-group-active-color: var(--bs-body-color);
    --bs-list-group-active-bg: var(--cms-accent-subtle);
    --bs-list-group-active-border-color: var(--bs-primary);
}
.progress,
.progress-stacked {
    --bs-progress-bg: var(--bs-secondary-bg);
    --bs-progress-bar-bg: var(--bs-primary);
}
.navbar {
    --bs-navbar-toggler-focus-width: 0;
}
.navbar-brand {
    --bs-navbar-brand-color: var(--bs-body-color);
    --bs-navbar-brand-hover-color: var(--bs-body-color);
}
.spinner-border-sm {
    --bs-spinner-border-width: 0.1em;
}
.alert {
    --bs-alert-padding-x: 0.5rem;
    --bs-alert-padding-y: 0.5rem;
}
.alert-dismissible .btn-close {
    top: -0.4em;
}
.modal {
    --bs-modal-header-padding-x: 0.5rem;
    --bs-modal-header-padding-y: 0.5rem;
    --bs-modal-bg: var(--bs-tertiary-bg);
    --bs-modal-border-color: var(--bs-border-color);
}
.modal > .modal-dialog > .modal-content > .modal-header > .modal-title {
    user-select: none;
}
.modal-backdrop {
    --bs-backdrop-opacity: 0.8;
}
.offcanvas {
    --bs-offcanvas-bg: var(--bs-tertiary-bg);
}
.popover {
    --bs-popover-bg: var(--cms-elevated);
    --bs-popover-border-color: var(--bs-border-color);
    --bs-popover-header-bg: var(--bs-tertiary-bg);
}
.toast {
    --bs-toast-bg: var(--cms-elevated);
    --bs-toast-border-color: var(--bs-border-color);
    --bs-toast-header-bg: var(--bs-tertiary-bg);
}
.accordion {
    --bs-accordion-bg: transparent;
    --bs-accordion-btn-focus-box-shadow: none;
    --bs-accordion-btn-focus-border-color: var(--cms-focus);
    --bs-accordion-active-color: var(--bs-body-color);
    --bs-accordion-active-bg: rgba(var(--bs-body-color-rgb), .07);
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2322252a' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
[data-bs-theme=dark] .accordion-button::after {
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23a9adb7' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23edeef0' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}
.tooltip {
    --bs-tooltip-zindex: 3080;
}
.breadcrumb {
    --bs-breadcrumb-margin-bottom: 0;
}
.table {
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--bs-border-color);
}
.table > thead {
    --bs-table-color: var(--bs-secondary-color);
}
.form-control,
.form-select {
    background-color: var(--cms-input);
    border-color: var(--cms-border-strong);
}
.form-control::placeholder {
    color: var(--bs-tertiary-color);
}
.form-control:focus,
.form-select:focus {
    background-color: var(--cms-input);
    border-color: var(--cms-focus);
    box-shadow: unset !important;
}
.form-control:disabled,
.form-select:disabled {
    background-color: var(--cms-disabled-bg);
    color: var(--cms-disabled-text);
}
.input-group-text {
    background-color: var(--cms-elevated);
    border-color: var(--cms-border-strong);
}
.form-check-input {
    --bs-form-check-bg: var(--cms-input);
    border-color: var(--cms-border-strong);
}
.form-check-input:checked,
.form-check-input[type=checkbox]:indeterminate {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}
.form-check-input:focus {
    border-color: var(--cms-focus);
    box-shadow: none;
}
.form-switch .form-check-input:focus {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23c65b0a'/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23171717'/%3e%3c/svg%3e");
}
[data-bs-theme=dark] .form-switch .form-check-input:focus {
    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffad66'/%3e%3c/svg%3e");
}
.form-check-input:checked[type=checkbox] {
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23171717' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23171717'/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate {
    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23171717' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}
.form-range::-webkit-slider-thumb {
    background-color: var(--bs-primary);
}
.form-range::-webkit-slider-thumb:active {
    background-color: var(--cms-accent-active);
}
.form-range::-moz-range-thumb {
    background-color: var(--bs-primary);
}
.form-range::-moz-range-thumb:active {
    background-color: var(--cms-accent-active);
}
.form-range:focus::-webkit-slider-thumb {
    box-shadow: 0 0 0 2px var(--cms-focus);
}
.form-range:focus::-moz-range-thumb {
    box-shadow: 0 0 0 2px var(--cms-focus);
}
.btn:focus-visible,
.btn-close:focus-visible,
.nav-link:focus-visible,
.page-link:focus-visible,
.accordion-button:focus-visible,
.navbar-toggler:focus-visible,
.button-bar > .button-bar-btn:focus-visible {
    outline: 2px solid var(--cms-focus);
    outline-offset: 2px;
    box-shadow: none;
}
.card {
    --bs-card-bg: var(--bs-tertiary-bg);
    --bs-card-border-color: var(--bs-border-color);
}
.card .card-header {
    background-color: transparent;
    border-bottom: none;
    font-weight: 800;
    font-size: 1.05rem;
}
.card .card-header .card-header-buttonbar {
    display: flex;
    position: absolute;
    right: var(--bs-card-cap-padding-x);
    top: 6px;
}
.card .card-header .card-header-buttonbar button {
    padding-top: 2px;
    padding-bottom: 2px;
}
.card .card-footer {
    background-color: transparent;
    border-top: none;
    font-weight: 800;
    font-size: 1.05rem;
}

/* Tags *********************************************************************************************************************************************/
main {
    transition-duration: 200ms;
}
a {
    color: var(--bs-link-color);
}
a:hover {
    color: var(--bs-link-hover-color);
}
hr {
    opacity: .10;
}
::-ms-reveal {
    display: none;
}

/* Utilities ****************************************************************************************************************************************/
.max-vw-25 {
    max-width: 25vw;
}
.max-vh-25 {
    max-height: 25vh;
}
.my-6 {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important;
}
.my-7 {
    margin-top: 12rem !important;
    margin-bottom: 12rem !important;
}
.px-6 {
    padding-left: 6rem !important;
    padding-right: 6rem !important;
}
.vh-70 {
    height: 70vh !important;
}
.fs-7 {
    font-size: 0.85rem !important;
}
.fs-8 {
    font-size: 0.7rem !important;
}
.fs-9 {
    font-size: 0.55rem !important;
}
.fs-10 {
    font-size: 0.45rem !important;
}
.fs-11 {
    font-size: 0.35rem !important;
}
.text-brand {
    color: var(--cms-brand);
}
.eyebrow {
    margin-bottom: .25rem;
    font-size: .875rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--bs-secondary-color);
}
.cursor-default, table.table .cursor-default tr {
    cursor: default !important;
}
.cursor-pointer, table.table .cursor-pointer tr {
    cursor: pointer !important;
}
.cursor-grabbing, table.table .cursor-grabbing tr {
    cursor: grabbing !important;
}
.cursor-help, table.table .cursor-help tr {
    cursor: help !important;
}
.vertical-text {
    writing-mode: vertical-lr;
    transform: rotate(180deg);
    white-space: nowrap;
}
.opacity-10 {
    opacity: .1 !important;
}
.opacity-0-hover:hover {
    opacity: 0 !important;
}
.opacity-25-hover:hover {
    opacity: .25 !important;
}
.opacity-50-hover:hover {
    opacity: .50 !important;
}
.opacity-75-hover:hover {
    opacity: .75 !important;
}
.opacity-100-hover:hover {
    opacity: 1 !important;
}
.row-cols-7 > * { flex: 0 0 auto; width: 14.2857143%; }
@media (min-width: 576px)  { .row-cols-sm-7 > * { flex: 0 0 auto; width: 14.2857143%; } }
@media (min-width: 768px)  { .row-cols-md-7 > * { flex: 0 0 auto; width: 14.2857143%; } }
@media (min-width: 992px)  { .row-cols-lg-7 > * { flex: 0 0 auto; width: 14.2857143%; } }
@media (min-width: 1200px) { .row-cols-xl-7 > * { flex: 0 0 auto; width: 14.2857143%; } }
@media (min-width: 1400px) { .row-cols-xxl-7 > * { flex: 0 0 auto; width: 14.2857143%; } }
.row-cols-8 > * { flex: 0 0 auto; width: 12.5%; }
@media (min-width: 576px)  { .row-cols-sm-8 > * { flex: 0 0 auto; width: 12.5%; } }
@media (min-width: 768px)  { .row-cols-md-8 > * { flex: 0 0 auto; width: 12.5%; } }
@media (min-width: 992px)  { .row-cols-lg-8 > * { flex: 0 0 auto; width: 12.5%; } }
@media (min-width: 1200px) { .row-cols-xl-8 > * { flex: 0 0 auto; width: 12.5%; } }
@media (min-width: 1400px) { .row-cols-xxl-8 > * { flex: 0 0 auto; width: 12.5%; } }
.row-cols-9 > * { flex: 0 0 auto; width: 11.111111%; }
@media (min-width: 576px)  { .row-cols-sm-9 > * { flex: 0 0 auto; width: 11.111111%; } }
@media (min-width: 768px)  { .row-cols-md-9 > * { flex: 0 0 auto; width: 11.111111%; } }
@media (min-width: 992px)  { .row-cols-lg-9 > * { flex: 0 0 auto; width: 11.111111%; } }
@media (min-width: 1200px) { .row-cols-xl-9 > * { flex: 0 0 auto; width: 11.111111%; } }
@media (min-width: 1400px) { .row-cols-xxl-9 > * { flex: 0 0 auto; width: 11.111111%; } }
.row-cols-10 > * { flex: 0 0 auto; width: 10%; }
@media (min-width: 576px)  { .row-cols-sm-10 > * { flex: 0 0 auto; width: 10%; } }
@media (min-width: 768px)  { .row-cols-md-10 > * { flex: 0 0 auto; width: 10%; } }
@media (min-width: 992px)  { .row-cols-lg-10 > * { flex: 0 0 auto; width: 10%; } }
@media (min-width: 1200px) { .row-cols-xl-10 > * { flex: 0 0 auto; width: 10%; } }
@media (min-width: 1400px) { .row-cols-xxl-10 > * { flex: 0 0 auto; width: 10%; } }
.row-cols-11 > * { flex: 0 0 auto; width: 9.090909%; }
@media (min-width: 576px)  { .row-cols-sm-11 > * { flex: 0 0 auto; width: 9.090909%; } }
@media (min-width: 768px)  { .row-cols-md-11 > * { flex: 0 0 auto; width: 9.090909%; } }
@media (min-width: 992px)  { .row-cols-lg-11 > * { flex: 0 0 auto; width: 9.090909%; } }
@media (min-width: 1200px) { .row-cols-xl-11 > * { flex: 0 0 auto; width: 9.090909%; } }
@media (min-width: 1400px) { .row-cols-xxl-11 > * { flex: 0 0 auto; width: 9.090909%; } }
.row-cols-12 > * { flex: 0 0 auto; width: 8.333333%; }
@media (min-width: 576px)  { .row-cols-sm-12 > * { flex: 0 0 auto; width: 8.333333%; } }
@media (min-width: 768px)  { .row-cols-md-12 > * { flex: 0 0 auto; width: 8.333333%; } }
@media (min-width: 992px)  { .row-cols-lg-12 > * { flex: 0 0 auto; width: 8.333333%; } }
@media (min-width: 1200px) { .row-cols-xl-12 > * { flex: 0 0 auto; width: 8.333333%; } }
@media (min-width: 1400px) { .row-cols-xxl-12 > * { flex: 0 0 auto; width: 8.333333%; } }
.img-fluid.img-fit {
    max-width: 100%;
    object-fit: contain;
    height: 100%;
}
.img-fluid.img-fit.no-image {
    max-width: 50%;
}
.img-fluid-table {
    max-height: 20px;
    width: auto;
}
.border-style-dotted {
    border-style: dotted !important;
}
.border-style-dashed {
    border-style: dashed !important;
}
.border-style-double {
    border-style: double !important;
}
.border-style-groove {
    border-style: groove !important;
}
.hover-underline:hover {
    text-decoration: underline !important;
}
.no-underline {
    text-decoration: none !important;
}
.switch-newline .form-switch {
    display: flex;
    flex-direction: column-reverse;
    padding-left: 0;
}
.switch-newline .form-switch > input {
    margin-left: 0;
}
.switch-newline .form-switch > label {
    margin-bottom: .5rem;
}
.spinner-border-xs {
    --bs-spinner-width: 0.8rem;
    --bs-spinner-height: 0.8rem;
    --bs-spinner-border-width: 0.2em;
}
.modal-xxl {
    --bs-modal-width: 1320px;
}
.modal-xxxl {
    --bs-modal-width: 1600px;
}
.callout {
    padding: 1.25rem;
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
    color: var(--callout-color, inherit);
    background-color: var(--callout-bg, var(--bs-tertiary-bg));
    border-left: .25rem solid var(--callout-border, var(--cms-border-strong));
}
.callout-info {
    --callout-color: var(--bs-info-text-emphasis);
    --callout-bg: var(--bs-info-bg-subtle);
    --callout-border: var(--bs-info-border-subtle);
}
.callout-warning {
    --callout-color: var(--bs-warning-text-emphasis);
    --callout-bg: var(--bs-warning-bg-subtle);
    --callout-border: var(--bs-warning-border-subtle);
}
.callout-danger {
    --callout-color: var(--bs-danger-text-emphasis);
    --callout-bg: var(--bs-danger-bg-subtle);
    --callout-border: var(--bs-danger-border-subtle);
}

/* Tables *******************************************************************************************************************************************/
table.table.table-fixed-head thead {
    position: sticky;
    top: 0;
    z-index: 1018;
}
.table.fixed-head {
    overflow: auto;
}
.table.fixed-head thead th {
    position: sticky;
    top: 0;
    z-index: 1018;
}
.table.fixed-head th {
    box-shadow: inset 0px -1px var(--bs-border-color);
}
.table.fixed-cols tr > td:first-child {
    position: sticky;
    left: 0;
    z-index: 1017;
}
.table.fixed-cols tr > th:first-child {
    position: sticky;
    left: 0;
    z-index: 1019;
}
.table.border-bottom-none tr:last-child td,
.table.border-bottom-none tr:last-child th {
    border: none;
}
table.table-fixed-bordered {
    border-collapse: separate;
    border-spacing: 0;
}
table.table-fixed-bordered th,
table.table-fixed-bordered td {
    background-clip: padding-box;
    position: relative;
    border: 0;
}
table.table-fixed-bordered th::after,
table.table-fixed-bordered td::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background: var(--bs-border-color);
    pointer-events: none;
}
table.table-fixed-bordered thead th::before,
table.table-fixed-bordered tr:not(:last-child) th::before,
table.table-fixed-bordered tr:not(:last-child) td::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--bs-border-color);
    pointer-events: none;
}
.table-transparent {
    --bs-table-bg: transparent !important;
}
.card .table-transparent.fixed-head > thead > tr > th {
    background-color: var(--bs-card-bg);
}
.card .table-transparent.fixed-cols > tbody > tr > td:first-child {
    background-color: var(--bs-card-bg);
}
.modal-body .table-transparent.fixed-head > thead > tr > th {
    background-color: var(--bs-modal-bg);
}
.modal-body .table-transparent.fixed-cols > tbody > tr > td:first-child {
    background-color: var(--bs-modal-bg);
}

/* Sidebar ******************************************************************************************************************************************/
@media all and (max-width: 991px) {
    aside.sidebar {
        width: 0 !important;
    }
}
@media all and (min-width: 992px) {
    body:has(aside.sidebar) main {
        margin-left: var(--cms-sidebar-size);
    }
    body:has(aside.sidebar.aside-collapsed) main,
    body:has(aside.sidebar.aside-closing) main,
    body:has(aside.sidebar.aside-peek) main {
        margin-left: var(--cms-sidebar-collapsed-size);
    }
}
aside.sidebar {
    width: var(--cms-sidebar-size);
    height: calc(100% - var(--cms-header-size));
    background-color: var(--cms-sidebar-bg);
    overflow-x: hidden;
    overflow-y: auto;
    position: fixed;
    z-index: 1021;
    transition-property: width, box-shadow;
    transition-duration: 200ms;
    font-size: var(--cms-sidebar-font-size);
    font-weight: var(--cms-sidebar-font-weight);
}
aside.sidebar.aside-collapsed {
    width: var(--cms-sidebar-collapsed-size);
    font-size: 0 !important;
}
aside.sidebar.aside-peek {
    box-shadow: 1px 0 0 var(--cms-sidebar-border-color), var(--bs-box-shadow);
}
aside.sidebar.aside-peek-out,
aside.sidebar.aside-closing {
    width: var(--cms-sidebar-collapsed-size);
    box-shadow: none;
}
.vscms-aside-pin main,
.vscms-aside-pin aside.sidebar {
    transition: none !important;
}
aside.sidebar.aside-collapsed ul.submenu {
    display: none;
}
aside.sidebar.aside-collapsed a.nav-link > i.bi.bi-chevron-right,
aside.sidebar.aside-collapsed a.nav-link > i.bi.bi-chevron-down,
aside.sidebar.aside-collapsed a.nav-link > i.bi.bi-chevron-up {
    display: none;
}
aside.sidebar a.nav-link > i.bi {
    font-size: var(--cms-sidebar-icon-size);
}
aside.sidebar .navbar-toggler-icon {
    width: 22px;
    height: 22px;
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2848, 73, 103, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
aside.sidebar[data-bs-theme=dark] .navbar-toggler-icon,
[data-bs-theme=dark] aside.sidebar .navbar-toggler-icon {
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28169, 173, 183, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
aside.sidebar .offcanvas {
    background-color: var(--cms-sidebar-bg);
}
aside.sidebar .offcanvas .offcanvas-title {
    color: var(--cms-sidebar-nav-link-active-color);
}
aside.sidebar .offcanvas .btn-close {
    --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
}
aside.sidebar .text-body-secondary {
    color: var(--cms-sidebar-nav-link-color) !important;
}
aside.sidebar .offcanvas .offcanvas-body {
    padding: 0 !important;
}
aside.sidebar nav.navbar {
    padding-top: 0;
    padding-bottom: 0;
}
aside.sidebar nav.navbar,
aside.sidebar nav.navbar .offcanvas,
aside.sidebar nav.navbar .offcanvas .offcanvas-body {
    height: 100% !important;
}
aside.sidebar li {
    margin: 2px 0;
}
aside.sidebar li .submenu {
    list-style: none;
    margin: 0;
    padding: 0;
}
aside.sidebar a.nav-link {
    display: flex;
    align-items: center;
    white-space: nowrap;
    padding: 3px 10px;
    border-radius: var(--bs-border-radius);
    min-height: calc(1rem + 15px);
}
aside.sidebar a.nav-link:hover {
    text-decoration: none;
}
aside.sidebar a.nav-link > span {
    text-box: trim-both cap alphabetic;
}
aside.sidebar nav.navbar .offcanvas .offcanvas-body ul.nav > li.nav-item.has-submenu.panel > ul.submenu,
aside.sidebar.aside-collapsed nav.navbar .offcanvas .offcanvas-body ul.nav > li.nav-item.has-submenu.panel > ul.submenu {
    padding-left: 0;
}
aside.sidebar nav.navbar .offcanvas .offcanvas-body ul.nav > li.nav-item.has-submenu.panel > ul.submenu > li > a {
    padding-left: calc(var(--cms-sidebar-icon-size) + 5px) !important;
}
aside.sidebar nav.navbar .offcanvas .offcanvas-body ul.nav > li.nav-item.has-submenu.panel > ul.submenu > li > ul.submenu > li > a {
    padding-left: 59px;
}
aside.sidebar .nav-link,
aside.sidebar .nav-link:focus {
    color: var(--cms-sidebar-nav-link-color);
}
aside.sidebar a.nav-link.hover,
aside.sidebar .nav-link:hover,
aside.sidebar .nav-link.target-link:hover,
aside.sidebar .nav-link.target-link.active:hover {
    color: var(--cms-sidebar-nav-link-hover-color);
    background-color: var(--cms-sidebar-nav-link-hover-color-bg);
}
aside.sidebar .nav-link.target-link.active {
    color: var(--cms-sidebar-nav-link-active-color);
    background-color: var(--cms-sidebar-nav-link-active-color-bg);
}
aside.sidebar .nav-link.target-link.active > i.bi {
    color: inherit;
}
aside.sidebar .nav-underline {
    gap: 4px;
}
aside.sidebar .nav-underline .nav-link {
    padding-left: .5rem;
    padding-right: .5rem;
    border-bottom-color: transparent;
    border-radius: var(--bs-border-radius);
}
aside.sidebar .nav-underline .nav-link:hover {
    color: var(--cms-sidebar-nav-link-hover-color);
    background-color: var(--cms-sidebar-nav-link-hover-color-bg);
}
aside.sidebar .nav-underline .nav-link.active {
    color: var(--cms-brand);
    background-color: var(--cms-sidebar-nav-link-hover-color-bg);
    border-bottom-color: transparent;
}
aside.sidebar .nav-item.has-submenu:has(.target-link.active) > a.nav-link {
    color: var(--cms-sidebar-nav-link-active-color);
}
aside.sidebar ul.nav > li > a.nav-link > i.bi:where(:not(.bi-chevron-right):not(.bi-chevron-up):not(.bi-chevron-down)) {
    color: var(--cms-sidebar-icon-color);
}
aside.sidebar ul.nav > li > a.nav-link:not(.active):hover > i.bi:where(:not(.bi-chevron-right):not(.bi-chevron-up):not(.bi-chevron-down)) {
    color: inherit;
}
aside.sidebar .nav-item.has-submenu:has(.target-link.active) > a.nav-link > i.bi:where(:not(.bi-chevron-right):not(.bi-chevron-up):not(.bi-chevron-down)) {
    color: inherit;
}
aside.sidebar .nav > li {
    position: relative;
    margin: 1px 0;
}
aside.sidebar .nav .bi {
    display: inline-block;
    width: var(--cms-sidebar-icon-size);
}
aside.sidebar ul.nav > li > a.nav-link > i.bi:not(.bi-chevron-right):not(.bi-chevron-up):not(.bi-chevron-down) {
    margin-right: 10px;
}
aside.sidebar.aside-collapsed ul.nav > li > a.nav-link > i.bi:not(.bi-chevron-right):not(.bi-chevron-up):not(.bi-chevron-down) {
    margin-right: 0;
}
aside.sidebar a.nav-link.active {
    background-image: linear-gradient(to right, var(--cms-brand) 3px, transparent 3px);
}
aside.sidebar.aside-collapsed a.nav-link.active {
    background-image: none;
}
aside.sidebar.aside-collapsed a.nav-link.active:not(:hover) {
    background-color: transparent;
}
aside.sidebar.aside-collapsed .nav > li:has(a.nav-link.active) > a.nav-link > i.bi {
    color: var(--cms-brand);
}
aside.sidebar .vscms-menu-count,
#asideSubmenuTooltip .vscms-menu-count {
    font-size: 0.625rem;
    font-weight: 500;
    padding: 0.25em 0.5em;
    margin-left: 0.5rem;
}
aside.sidebar.aside-collapsed .panel > .nav-link > .vscms-menu-count {
    position: absolute;
    top: 0;
    left: calc(10px + var(--cms-sidebar-icon-size));
    transform: translateX(-40%);
    margin-left: 0;
    font-size: 0.5625rem;
}
aside.sidebar a.nav-link > i.bi.bi-chevron-right,
aside.sidebar a.nav-link > i.bi.bi-chevron-down {
    display: inline-block;
    transition: transform 0.1s ease-out;
    transform-origin: 50% 50%;
    transform-box: fill-box;
}
aside.sidebar a.nav-link[aria-expanded=true] > i.bi.bi-chevron-right {
    transform: rotate(90deg);
}
aside.sidebar a.nav-link[aria-expanded=true] > i.bi.bi-chevron-down {
    transform: rotate(180deg);
}
aside.sidebar a.nav-link i.bi.bi-chevron-right,
aside.sidebar a.nav-link i.bi.bi-chevron-up,
aside.sidebar a.nav-link i.bi.bi-chevron-down {
    color: var(--cms-sidebar-icon-color);
    margin-left: auto;
    font-size: 0.8rem;
    width: 1em;
    height: 1em;
    line-height: 1;
    text-align: center;
}
aside.sidebar a.nav-link i.bi.bi-chevron-right::before,
aside.sidebar a.nav-link i.bi.bi-chevron-up::before,
aside.sidebar a.nav-link i.bi.bi-chevron-down::before {
    display: block;
}
aside.sidebar.menu-init-required .offcanvas-body {
    visibility: hidden;
}
aside.sidebar .signature {
    width: var(--cms-sidebar-size);
}
aside.sidebar .signature,
aside.sidebar.aside-collapsed .signature-collapsed {
    display: block;
}
aside.sidebar.aside-collapsed .signature,
aside.sidebar .signature-collapsed {
    display: none;
}
#asideSubmenuTooltip {
    font-size: var(--cms-sidebar-font-size);
    font-weight: var(--cms-sidebar-font-weight);
    position: fixed;
    z-index: 1081;
    background: var(--cms-sidebar-submenu-bg);
    color: var(--cms-sidebar-nav-link-color);
    pointer-events: auto;
    display: none;
    overflow-y: auto;
}
#asideSubmenuTooltip ul {
    list-style: none;
    margin: 0;
    padding: 0;
    transition-duration: 200ms;
}
#asideSubmenuTooltip > ul {
    padding: 0;
}
#asideSubmenuTooltip ul > li {
    margin: 2px 0;
}
#asideSubmenuTooltip > ul > li > ul > li > a {
    padding-left: 40px;
}
#asideSubmenuTooltip a {
    text-decoration: none;
    display: flex;
    align-items: center;
    min-height: calc(1lh + 6px);
    padding: 3px 20px;
    border-radius: var(--bs-border-radius);
}
#asideSubmenuTooltip a > span {
    text-box: trim-both cap alphabetic;
}
#asideSubmenuTooltip a:hover {
    color: var(--cms-sidebar-nav-link-hover-color);
    background-color: var(--cms-sidebar-submenu-hover-bg);
}
#asideSubmenuTooltip a.active {
    color: var(--cms-sidebar-nav-link-active-color);
    background-color: var(--cms-sidebar-submenu-active-bg);
}

/* Header button bar ********************************************************************************************************************************/
.button-bar > .button-bar-btn {
    padding: 0.2em;
    border-radius: 50%;
    width: 2em;
}
.button-bar > .button-bar-btn > i.bi {
    font-family: none;
}
.button-bar > .button-bar-btn:hover {
    color: var(--bs-btn-color);
    background-color: rgba(var(--bs-body-color-rgb), .08);
}
.button-bar > .button-bar-btn:focus-visible {
    box-shadow: none;
}
.button-bar .dropdown-toggle::after {
    display: none;
}
.button-bar-btn > .vscms-button-count {
    top: .45em;
    left: 72%;
    padding-top: calc(.35em - 1px);
    padding-bottom: calc(.35em + 1px);
}
.button-bar .vscms-button-menu {
    width: 22rem;
    max-width: calc(100vw - 2rem);
}
.button-bar .dropstart .dropdown-toggle::before {
    display: none;
}

/* The CMS's scripts ********************************************************************************************************************************/
#vscms-toasts {
    z-index: 9999;
}
.vscms-theme-change,
.vscms-theme-change *,
.vscms-theme-change *::before,
.vscms-theme-change *::after {
    transition: none !important;
}
::view-transition-old(root),
::view-transition-new(root) {
    animation-duration: 120ms;
    animation-timing-function: ease-in-out;
}
.vscms-currency {
    margin-left: 2px;
    margin-right: 2px;
}
.vscms-horizontal-drag {
    user-select: none;
}
.vscms-form-container-success,
.vscms-form-container-error {
    display: none;
}
.vscms-spinner {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    opacity: 95%;
    margin: auto;
}
.vscms-spinner > div {
    height: 100%;
    width: unset;
    aspect-ratio: 1 / 1;
    max-height: 80px;
}
.vscms-files-icon {
    height: 1.5rem;
    width: auto;
}
.vscms-files-icon.vscms-files-icon-lg {
    height: 3rem;
}
#vscms-qrcodescanner {
    aspect-ratio: 1 / 1;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    overflow: hidden;
    max-height: 60vh;
    margin: auto;
}

/* Datatables ***************************************************************************************************************************************/
.vscms-datatables {
    display: none;
}
.vscms-datatables .vertical-text {
    transform: none;
}
.vscms-batch-failed {
    max-height: 40vh;
}
.vscms-datatables-filtered {
    color: var(--bs-primary);
}
.dataTables_filter input.vscms-datatables-searched {
    background-color: var(--cms-accent-subtle);
    border-color: var(--bs-primary);
}
.vscms-ordinance-grip {
    color: var(--bs-secondary-color);
    cursor: grab;
}
.vscms-ordinance-on thead th {
    pointer-events: none;
}
table.dataTable > tbody > tr.vscms-ordinance-dragging > * {
    opacity: .4;
}
table.dataTable > tbody > tr.vscms-ordinance-before > * {
    box-shadow: inset 0 2px 0 var(--bs-primary);
}
table.dataTable > tbody > tr.vscms-ordinance-after > * {
    box-shadow: inset 0 -2px 0 var(--bs-primary);
}
table.dataTable > tbody > tr.selected.vscms-ordinance-before > * {
    box-shadow: inset 0 2px 0 var(--bs-primary), inset 0 0 0 9999px var(--cms-row-selected);
}
table.dataTable > tbody > tr.selected.vscms-ordinance-after > * {
    box-shadow: inset 0 -2px 0 var(--bs-primary), inset 0 0 0 9999px var(--cms-row-selected);
}
.vscms-tree-toggle,
.vscms-tree-leaf,
.vscms-tree-guide {
    display: inline-flex;
    justify-content: center;
    flex-shrink: 0;
    width: 1rem;
    color: var(--bs-tertiary-color);
}
.vscms-tree-toggle {
    padding: 0;
    border: 0;
    background: none;
    font-size: .75rem;
    line-height: 1;
}
.vscms-tree-toggle:hover,
.vscms-tree-toggle:focus-visible {
    color: var(--bs-body-color);
}
.vscms-tree-parents {
    display: none;
    padding-left: calc((var(--vscms-tree-depth, 0) + 1) * 1.25rem);
}
.vscms-tree-searched .vscms-tree-parents {
    display: block;
}
.vscms-datatables-title {
    display: block;
    max-width: 6rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
table.dataTable thead > tr > th.dt-right .vscms-datatables-title {
    margin-left: auto;
}
table.dataTable thead > tr > th.dt-right:is(.sorting, .sorting_asc, .sorting_desc) {
    padding-right: .5rem;
    padding-left: 26px;
}
table.dataTable thead > tr > th.dt-right:is(.sorting, .sorting_asc, .sorting_desc)::before,
table.dataTable thead > tr > th.dt-right:is(.sorting, .sorting_asc, .sorting_desc)::after {
    right: auto;
    left: 10px;
}
table.dataTable > tbody > tr.selected > * {
    box-shadow: inset 0 0 0 9999px var(--cms-row-selected);
    color: var(--bs-body-color);
}
table.dataTable.table-hover > tbody > tr.selected:hover > *,
table.dataTable.display > tbody > tr.selected:hover > * {
    box-shadow: inset 0 0 0 9999px color-mix(in srgb, var(--cms-row-selected) 85%, var(--bs-primary));
}
table.dataTable thead > tr > th.sorting:before, table.dataTable thead > tr > th.sorting:after,
table.dataTable thead > tr > th.sorting_asc:before, table.dataTable thead > tr > th.sorting_asc:after,
table.dataTable thead > tr > th.sorting_desc:before, table.dataTable thead > tr > th.sorting_desc:after,
table.dataTable thead > tr > th.sorting_asc_disabled:before, table.dataTable thead > tr > th.sorting_asc_disabled:after,
table.dataTable thead > tr > th.sorting_desc_disabled:before, table.dataTable thead > tr > th.sorting_desc_disabled:after,
table.dataTable thead > tr > td.sorting:before, table.dataTable thead > tr > td.sorting:after,
table.dataTable thead > tr > td.sorting_asc:before, table.dataTable thead > tr > td.sorting_asc:after,
table.dataTable thead > tr > td.sorting_desc:before, table.dataTable thead > tr > td.sorting_desc:after,
table.dataTable thead > tr > td.sorting_asc_disabled:before, table.dataTable thead > tr > td.sorting_asc_disabled:after,
table.dataTable thead > tr > td.sorting_desc_disabled:before, table.dataTable thead > tr > td.sorting_desc_disabled:after {
    font-size: 12px !important;
}
table.dataTable thead > tr > th.vertical-text.sorting:before,
table.dataTable thead > tr > th.vertical-text.sorting_asc:before,
table.dataTable thead > tr > th.vertical-text.sorting_desc:before,
table.dataTable thead > tr > th.vertical-text.sorting_asc_disabled:before,
table.dataTable thead > tr > th.vertical-text.sorting_desc_disabled:before {
    bottom: calc(50% - 7px);
}
@media screen and (max-width: 767px) {
    div.dt-buttons {
        width: fit-content !important;
    }
    .vscms-datatables-buttonbar {
        flex-wrap: wrap;
    }
    .vscms-datatables-buttonbar .dataTables_filter {
        margin-bottom: 8px;
    }
}
#datatables_buttons_info {
    background-color: var(--bs-secondary-bg) !important;
    border: var(--bs-border-width) solid var(--bs-border-color-translucent);
}
div.dataTables_wrapper div.dataTables_info {
    padding-top: .5em !important;
    margin-right: 30px;
    font-size: 0.875rem;
}
div.dataTables_wrapper div.dataTables_length {
    font-size: 0.875rem;
    padding-top: .15em !important;
}
div.dataTables_wrapper .dataTables_paginate .paginate_button > .page-link {
    padding: 0.275rem 0.5rem;
    font-size: 0.875rem;
}
div.dt-buttons div.dropdown-menu {
    margin-top: 1px;
    font-size: 0.875rem;
}
div.dtsp-panesContainer button.dtsp-clearAll,
div.dtsp-panesContainer button.dtsp-collapseAll,
div.dtsp-panesContainer button.dtsp-showAll {
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x) !important;
}
div.dtsp-panesContainer div.dtsp-searchPane div.dtsp-topRow button {
    line-height: var(--bs-btn-line-height) !important;
}
div.dtsp-panesContainer div.dtsp-searchPane div.dtsp-topRow {
    border: 0;
    margin: 0;
    margin-bottom: 3px;
}
div.dtsp-panesContainer div.dtsp-searchPane div.dataTables_wrapper div.dataTables_scroll div.dataTables_scrollBody {
    background-color: var(--bs-tertiary-bg) !important;
}
div.dataTables_wrapper div.dataTables_filter input {
    margin-left: 0 !important;
}
.dataTables_wrapper table {
    --bs-table-bg: unset;
}
.dataTables_wrapper td {
    border-style: dashed;
}

/* BS Select ****************************************************************************************************************************************/
.js-bs-select-dropdown button.btn {
    padding: .375rem .75rem;
    background-color: var(--bs-body-bg) !important;
    background-clip: padding-box;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
}
.js-bs-select-dropdown .dropdown-item {
    max-width: 450px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.modal-dialog.modal-sm .js-bs-select-dropdown .dropdown-item {
    max-width: 250px;
}
.modal-dialog .modal-body .js-bs-select-dropdown .dropdown-menu {
    position: fixed !important;
    inset: auto !important;
    transform: none !important;
    margin-top: 2px !important;
}
[data-bs-theme=dark] .js-bs-select-dropdown {
    --bs-body-bg: rgb(var(--bs-body-bg-rgb));
}

.vscms-tooltip-text .tooltip-inner {
    max-width: 20rem;
    text-align: left;
}
.vscms-tooltip-success {
    --bs-tooltip-bg: var(--bs-success);
    --bs-tooltip-color: #fff;
}

/* cms.search, a search field and the list of what it finds ****************************************************************************************/
.vscms-search {
    position: relative;
}
.vscms-search-clear {
    display: none;
    position: absolute;
    top: 50%;
    right: .9rem;
    padding: 0 .2rem;
    line-height: 1;
    color: var(--bs-secondary-color);
    background: transparent;
    border: 0;
    transform: translateY(-50%);
}
.vscms-search-filled .vscms-search-clear {
    display: block;
}
.vscms-search-filled [data-vscms-search-icon],
.vscms-search-loading [data-vscms-search-icon],
.vscms-search-loading .vscms-search-clear {
    display: none !important;
}
.vscms-search-loading::after {
    content: "";
    position: absolute;
    top: 50%;
    right: .9rem;
    width: 1rem;
    height: 1rem;
    margin-top: -.5rem;
    border: 2px solid var(--bs-secondary-color);
    border-right-color: transparent;
    border-radius: 50%;
    animation: vscms-search-spin .6s linear infinite;
}
@keyframes vscms-search-spin {
    to {
        transform: rotate(360deg);
    }
}
.vscms-search-results {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1050;
    width: 100%;
    max-height: 60vh;
    overflow-y: auto;
    margin-top: .25rem;
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
}
.vscms-search-results.show {
    display: block;
}
.vscms-search-list {
    margin: 0;
    padding: .25rem 0;
    list-style: none;
}
.vscms-search-option {
    padding: .25rem 1rem;
    cursor: pointer;
}
.vscms-search-option.active {
    background-color: var(--bs-tertiary-bg);
}
.vscms-search-group {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .35rem 1rem .15rem;
    font-size: .75rem;
    color: var(--bs-secondary-color);
}
.vscms-search-none {
    padding: .25rem 1rem;
    color: var(--bs-secondary-color);
}
.vscms-search-kbd {
    position: absolute;
    top: 50%;
    right: 3rem;
    padding: .375rem .35rem .075rem;
    font-size: .7rem;
    line-height: 1;
    color: var(--bs-secondary-color);
    background: transparent;
    border: var(--bs-border-width) solid var(--bs-border-color);
    opacity: .3;
    transform: translateY(-50%);
    pointer-events: none;
}

/* TinyMCE, overrides of its skin *****************************************************************************************************************/
.tox-tinymce {
    border: var(--bs-border-width) solid var(--bs-border-color) !important;
}
.tox-tinymce:not(.vscms-tinymce-ready) {
    visibility: hidden !important;
}
.tox-tinymce-aux {
    z-index: 3000 !important;
}
.tox .tox-toolbar-overlord,
.tox .tox-tbtn--disabled, .tox .tox-tbtn--disabled:hover, .tox .tox-tbtn:disabled, .tox .tox-tbtn:disabled:hover,
.tox .tox-tbtn:hover,
.tox .tox-tbtn,
.tox .tox-statusbar,
.tox .tox-toolbar, .tox .tox-toolbar__overflow, .tox .tox-toolbar__primary,
.tox:not(.tox-tinymce-inline) .tox-editor-header {
    background-color: transparent !important;
}
.tox .tox-edit-area::before {
    border: 1px solid var(--cms-focus) !important;
    border-radius: 0px !important;
}
.tox .tox-edit-area__iframe {
    background-color: var(--cms-input) !important;
}
.tox .tox-menu,
.tox .tox-dialog,
.tox .tox-dialog__header,
.tox .tox-dialog__footer,
.tox .tox-collection--list,
.tox .tox-swatches-menu {
    background-color: var(--cms-elevated) !important;
    border-color: var(--bs-border-color) !important;
}
.tox .tox-collection__item--active:not(.tox-collection__item--state-disabled) {
    background-color: rgba(var(--bs-body-color-rgb), .08) !important;
}
.tox .tox-textfield,
.tox .tox-textarea,
.tox .tox-listboxfield .tox-listbox--select,
.tox .tox-selectfield select {
    background-color: var(--cms-input) !important;
    border-color: var(--cms-border-strong) !important;
    color: var(--bs-body-color) !important;
}
.tox .tox-textfield:focus,
.tox .tox-textarea:focus,
.tox .tox-listboxfield .tox-listbox--select:focus,
.tox .tox-selectfield select:focus {
    border-color: var(--cms-focus) !important;
    box-shadow: none !important;
}
.tox .tox-statusbar,
.tox .tox-statusbar a,
.tox .tox-statusbar__path-item,
.tox .tox-statusbar__wordcount {
    color: var(--bs-secondary-color) !important;
}
.tox .tox-button:not(.tox-button--secondary):not(.tox-button--naked) {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: var(--cms-accent-on) !important;
}

/* cms.media, a record's pictures ******************************************************************************************************************/
.vscms-media-pan {
    cursor: grab;
}
.vscms-media-pan.vscms-media-panning {
    cursor: grabbing;
    user-select: none;
}
.vscms-media-left {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 50vh;
    overflow: hidden;
}
.vscms-media-stage {
    position: absolute;
    inset: 0;
    display: flex;
    overflow: auto;
}
.vscms-media-stage > img {
    flex-shrink: 0;
    margin: auto;
    max-width: none;
}
.vscms-media-side {
    max-height: 50vh;
}
@media (min-width: 992px) {
    .vscms-media-side {
        flex: 0 0 24rem;
        max-height: none;
    }
}
.vscms-media-crop img {
    display: block;
    max-width: 100%;
}
.vscms-media-drag {
    cursor: move;
}
.vscms-media-chosen {
    --bs-card-bg: var(--bs-primary-bg-subtle);
    --bs-card-border-color: var(--bs-primary-border-subtle);
}
.vscms-media-tool:hover,
.vscms-media-tool:focus-visible,
.vscms-media-tool.show {
    background-color: var(--bs-body-bg);
}
.vscms-media-count {
    min-width: 4.5em;
}
.vscms-media-dot {
    --vscms-media-dot: var(--bs-secondary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2em;
    height: 2.2em;
    font-size: .55em;
    font-weight: 700;
    line-height: 1;
    vertical-align: middle;
    color: var(--vscms-media-dot-text, #fff);
    background-color: var(--vscms-media-dot);
    border: 1px solid var(--vscms-media-dot);
    border-radius: 50rem;
}
.vscms-media-dot-square {
    border-radius: .25em;
}
.vscms-media-dot-green {
    --vscms-media-dot: var(--bs-green);
}
.vscms-media-dot-blue {
    --vscms-media-dot: var(--bs-blue);
}
.vscms-media-dot-orange {
    --vscms-media-dot: var(--bs-orange);
}
.vscms-media-dot-red {
    --vscms-media-dot: var(--bs-red);
}
.vscms-media-dot-purple {
    --vscms-media-dot: var(--bs-purple);
}
.vscms-media-dot-teal {
    --vscms-media-dot: var(--bs-teal);
}
.vscms-media-dot-pink {
    --vscms-media-dot: var(--bs-pink);
}
.vscms-media-dot-yellow {
    --vscms-media-dot: var(--bs-yellow);
    --vscms-media-dot-text: #000;
}
.vscms-media-dot-indigo {
    --vscms-media-dot: var(--bs-indigo);
}
.vscms-media-dot-cyan {
    --vscms-media-dot: var(--bs-cyan);
    --vscms-media-dot-text: #000;
}
.vscms-media-dot.vscms-media-dot-off {
    color: var(--vscms-media-dot);
    background-color: transparent;
}
.vscms-media-place {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.3em;
    height: 1.3em;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, .4);
    color: #fff;
    line-height: 1;
    text-shadow: 0 0 .5rem rgba(0, 0, 0, .7);
}
.vscms-gallery.swiper {
    --swiper-theme-color: var(--bs-primary);
    margin-bottom: 1rem;
}
.vscms-gallery.swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
    margin-right: 16px;
}
@media (min-width: 768px) {
    .vscms-gallery.swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide {
        width: calc((100% - (var(--vscms-gallery-per, 1) - 1) * 16px) / var(--vscms-gallery-per, 1));
    }
}
.vscms-gallery-masonry {
    --vscms-masonry-height: 220px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: .5rem;
    margin-bottom: 1rem;
}
.vscms-gallery-masonry::after {
    content: "";
    flex-grow: 999;
}
.vscms-gallery-masonry-item {
    position: relative;
    display: block;
    flex: var(--vscms-ratio, 1.5) 1 calc(var(--vscms-masonry-height) * var(--vscms-ratio, 1.5));
    max-width: calc(var(--vscms-masonry-height) * 1.5 * var(--vscms-ratio, 1.5));
    aspect-ratio: var(--vscms-ratio, 1.5);
    overflow: hidden;
    border-radius: var(--bs-border-radius);
    background-color: var(--bs-secondary-bg);
}
.vscms-gallery-masonry-item > img {
    display: block;
    width: 100%;
    height: 100%;
}
@media (max-width: 767.98px) {
    .vscms-gallery-masonry-item {
        flex-basis: calc(var(--vscms-masonry-height) * 2 / 3 * var(--vscms-ratio, 1.5));
        max-width: calc(var(--vscms-masonry-height) * var(--vscms-ratio, 1.5));
    }
}
@media (min-width: 768px) {
    .vscms-gallery-left,
    .vscms-gallery-right {
        width: 50%;
    }
    .vscms-gallery-left {
        float: left;
        margin-right: 1.5rem;
    }
    .vscms-gallery-right {
        float: right;
        margin-left: 1.5rem;
    }
}

/* cms.customFields, a record's keys and values ****************************************************************************************************/
.vscms-custom-value {
    field-sizing: content;
    min-height: calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));
    resize: vertical;
}

/* cms.tracking, the cookie banner *****************************************************************************************************************/
.vscms-consent {
    max-width: 40rem;
    z-index: 1080;
}
.vscms-submenu {
    position: relative;
}
.vscms-submenu > .dropdown-menu {
    top: calc(-1 * var(--bs-dropdown-padding-y) - var(--bs-dropdown-border-width));
    left: 100%;
}
.vscms-submenu > .dropdown-toggle::after {
    transform: rotate(-90deg);
}
.vscms-submenu-start > .dropdown-menu {
    left: auto;
    right: 100%;
}
.vscms-submenu-start > .dropdown-toggle::after {
    transform: rotate(90deg);
}
@media (min-width: 992px) and (hover: hover) {
    .vscms-submenu:hover > .dropdown-menu {
        display: block;
    }
}
@media (max-width: 991.98px) {
    .vscms-submenu > .dropdown-menu {
        position: static;
        margin-left: .75rem;
        border: 0;
        box-shadow: none;
    }
    .vscms-submenu > .dropdown-toggle::after {
        transform: none;
    }
}
.vscms-map {
    height: 240px;
    border-radius: var(--bs-border-radius);
    z-index: 0;
}
.vscms-hp {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.vscms-contact-floating {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1030;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.vscms-contact-floating .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.25rem;
    height: 3.25rem;
    font-size: 1.35rem;
}
.vscms-clamp-2,
.vscms-clamp-3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.vscms-clamp-2 {
    -webkit-line-clamp: 2;
    line-clamp: 2;
}
.vscms-clamp-3 {
    -webkit-line-clamp: 3;
    line-clamp: 3;
}
.vscms-placeholder {
    display: inline-block;
    padding: .25rem .75rem;
    border: 1px dashed var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    color: var(--bs-secondary-color);
    font-size: .875rem;
}

/* banner.zone and banner.popup, the site's banners ************************************************************************************************/
.vscms-banner-caption-over {
    position: absolute;
    inset: auto 0 0 0;
    padding: 3rem 1.25rem 1.25rem;
    color: #fff;
    background: linear-gradient(transparent, rgba(0, 0, 0, .6));
    pointer-events: none;
}
.vscms-banner-caption-over a {
    pointer-events: auto;
}
.vscms-banner-caption-below {
    padding-top: .75rem;
}
.vscms-banner-caption-alone {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding: 1.5rem;
    background-color: var(--bs-tertiary-bg);
}
.vscms-banner-title {
    font-size: 1.25rem;
}
.vscms-banner-video {
    display: block;
    height: auto;
    object-fit: cover;
}
.vscms-banner-pause {
    position: absolute;
    right: .75rem;
    bottom: .75rem;
    z-index: 10;
    opacity: .75;
}
.vscms-banner-pause:hover,
.vscms-banner-pause:focus-visible {
    opacity: 1;
}
.vscms-banner-cell,
.vscms-banner-box {
    overflow: hidden;
    aspect-ratio: var(--vscms-banner-ratio, 3 / 1);
}
.vscms-banner-cell > a:not(:has(.vscms-banner-caption-alone)),
.vscms-banner-box > a:not(:has(.vscms-banner-caption-alone)) {
    position: absolute !important;
    inset: 0;
}
.vscms-banner-cover {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 0 50%;
}
.vscms-banner-pan .vscms-banner-cover {
    transition: object-position 3s linear;
}
.vscms-banner-pan:hover .vscms-banner-cover {
    object-position: 100% 50%;
}
.vscms-banner-panning .vscms-banner-cover {
    animation: vscms-banner-pan 6s linear infinite alternate;
}
@keyframes vscms-banner-pan {
    from { object-position: 0 50%; }
    to   { object-position: 100% 50%; }
}
.vscms-banner-masonry {
    display: grid;
    gap: 1rem;
}
.vscms-banner-masonry > :has(.vscms-banner-caption-alone) {
    aspect-ratio: auto;
}
@media (min-width: 768px) {
    .vscms-banner-masonry {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: repeat(var(--vscms-banner-rows, 1), auto);
        grid-auto-flow: column;
    }
    .vscms-banner-masonry > * {
        grid-column: 1;
    }
    .vscms-banner-masonry > :has(.vscms-banner-caption-alone) {
        aspect-ratio: var(--vscms-banner-ratio, 3 / 1);
    }
    .vscms-banner-masonry > :last-child:not(:first-child) {
        grid-column: 2;
        grid-row: 1 / -1;
        aspect-ratio: auto;
    }
    .vscms-banner-masonry-tr > * {
        grid-column: 2;
    }
    .vscms-banner-masonry-tr > :last-child:not(:first-child) {
        grid-column: 1;
    }
    .vscms-banner-masonry > :only-child {
        grid-column: 1 / -1;
    }
}
.vscms-banner-logo img {
    width: auto !important;
    max-width: 100%;
    max-height: 4rem;
    object-fit: contain;
}
.vscms-banner-logo .vscms-banner-caption-alone {
    padding: .5rem;
}
.vscms-banner-popup-close {
    position: absolute;
    top: .5rem;
    right: .5rem;
    z-index: 2;
    padding: .5rem;
    border-radius: 50%;
    background-color: var(--bs-body-bg);
    opacity: .9;
}
.vscms-banner-popup .vscms-banner-caption-below {
    padding: 1rem;
}
@media (prefers-reduced-motion: reduce) {
    .vscms-banner-pan .vscms-banner-cover {
        transition: none;
        animation: none;
    }
}

[data-bs-theme=dark] .vscms-captcha { filter: invert(1); }
