P11 Component CSS Variables Reference
This page serves as a centralized reference for all relevant **Bootstrap CSS variables** used across our P11 UI components. By overriding these variables, developers can globally adjust the look and feel of the components at runtime, enabling consistent and dynamic theming. While direct inspection of classes is always possible, this resource provides a quick and comprehensive overview of key variables.
Note: Due to the extensive nature of Bootstrap, we have curated this list to include the variables we consider most critical for global styling adjustments. Some less commonly used variables may have been intentionally omitted.
For a detailed guide on how to change these CSS variables and the various methods available for theming, please visit our P11 Theming & Styling page.
We highly recommend focusing on the **Common Variables** page, as it contains a more compressed list of variables. These variables are resolved to their final values, making them ideal for creating custom theme templates and simplifying your styling efforts.
/* Bootstrap v5.3.7 (the information is current as of August 2025) */
/* P11Accordion */
/* https://github.com/twbs/bootstrap/blob/main/scss/_accordion.scss */
.accordion {
--bs-accordion-color: var(--bs-body-color);
--bs-accordion-bg: var(--bs-body-bg);
--bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out,
border-radius 0.15s ease;
--bs-accordion-border-color: var(--bs-border-color);
--bs-accordion-border-width: var(--bs-border-width);
--bs-accordion-border-radius: var(--bs-border-radius);
--bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
--bs-accordion-btn-padding-x: 1.25rem;
--bs-accordion-btn-padding-y: 1rem;
--bs-accordion-btn-color: var(--bs-body-color);
--bs-accordion-btn-bg: var(--bs-accordion-bg);
--bs-accordion-btn-icon: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'
fill='none' stroke='%23212529' stroke-linecap='round'
stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e);
--bs-accordion-btn-icon-width: 1.25rem;
--bs-accordion-btn-icon-transform: rotate(-180deg);
--bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
--bs-accordion-btn-active-icon: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'
viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round'
stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e);
--bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
--bs-accordion-body-padding-x: 1.25rem;
--bs-accordion-body-padding-y: 1rem;
--bs-accordion-active-color: var(--bs-primary-text-emphasis);
--bs-accordion-active-bg: var(--bs-primary-bg-subtle) #cfe2ff;
}
/* P11AccordionNative */
/* Note: A purely HTML-based component without Bootstrap/BootstrapJS. */
/* So we use our own classes here (tpc -> true-perfect-code) */
.tpc-accordion-nativ {
--tpc-accordion-border-color: var(--bs-border-color);
--tpc-accordion-border-radius: 0.25rem;
--tpc-accordion-shadow: none;
}
.tpc-accordion-nativ > summary {
--tpc-accordion-header-bg: var(--bs-light);
--tpc-accordion-header-color: var(--bs-body-color);
--tpc-accordion-header-padding: 1rem;
}
.tpc-accordion-nativ > summary .fw-bold {
--tpc-accordion-title-font-weight: bold;
--tpc-accordion-title-font-size: 1rem;
}
.tpc-accordion-nativ > div {
--tpc-accordion-content-bg: white;
--tpc-accordion-content-color: var(--bs-body-color);
--tpc-accordion-content-padding: 1rem;
}
.native-accordion-icon {
--tpc-accordion-icon-color: var(--bs-body-color);
}
/* P11Button */
/* https://github.com/twbs/bootstrap/blob/v5.3.7/site/src/scss/_buttons.scss */
/* https://github.com/twbs/bootstrap/blob/main/scss/_buttons.scss */
.btn {
--bs-btn-padding-x: 0.75rem;
--bs-btn-padding-y: 0.375rem;
--bs-btn-font-family: ;
--bs-btn-font-size: 1rem;
--bs-btn-font-weight: 400;
--bs-btn-line-height: 1.5;
--bs-btn-color: var(--bs-body-color);
--bs-btn-bg: transparent;
--bs-btn-border-width: var(--bs-border-width);
--bs-btn-border-color: transparent;
--bs-btn-border-radius: var(--bs-border-radius);
--bs-btn-hover-border-color: transparent;
--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
--bs-btn-disabled-opacity: 0.65;
--bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);}
.btn-primary {
--bs-btn-color: #fff;
--bs-btn-bg: #0d6efd;
--bs-btn-border-color: #0d6efd;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #0b5ed7;
--bs-btn-hover-border-color: #0a58ca;
--bs-btn-focus-shadow-rgb: 49, 132, 253;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #0a58ca;
--bs-btn-active-border-color: #0a53be;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #0d6efd;
--bs-btn-disabled-border-color: #0d6efd;
}
.btn-secondary {
--bs-btn-color: #fff;
--bs-btn-bg: #6c757d;
--bs-btn-border-color: #6c757d;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #5c636a;
--bs-btn-hover-border-color: #565e64;
--bs-btn-focus-shadow-rgb: 130, 138, 145;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #565e64;
--bs-btn-active-border-color: #51585e;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #6c757d;
--bs-btn-disabled-border-color: #6c757d;
}
.btn-success {
--bs-btn-color: #fff;
--bs-btn-bg: #198754;
--bs-btn-border-color: #198754;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #157347;
--bs-btn-hover-border-color: #146c43;
--bs-btn-focus-shadow-rgb: 60, 153, 110;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #146c43;
--bs-btn-active-border-color: #13653f;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #198754;
--bs-btn-disabled-border-color: #198754;
}
.btn-danger {
--bs-btn-color: #fff;
--bs-btn-bg: #dc3545;
--bs-btn-border-color: #dc3545;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #bb2d3b;
--bs-btn-hover-border-color: #b02a37;
--bs-btn-focus-shadow-rgb: 225, 83, 97;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #b02a37;
--bs-btn-active-border-color: #a52834;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #dc3545;
--bs-btn-disabled-border-color: #dc3545;
}
.btn-warning {
--bs-btn-color: #000;
--bs-btn-bg: #ffc107;
--bs-btn-border-color: #ffc107;
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: #ffca2c;
--bs-btn-hover-border-color: #ffc720;
--bs-btn-focus-shadow-rgb: 217, 164, 6;
--bs-btn-active-color: #000;
--bs-btn-active-bg: #ffcd39;
--bs-btn-active-border-color: #ffc720;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #000;
--bs-btn-disabled-bg: #ffc107;
--bs-btn-disabled-border-color: #ffc107;
}
.btn-info {
--bs-btn-color: #000;
--bs-btn-bg: #0dcaf0;
--bs-btn-border-color: #0dcaf0;
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: #31d2f2;
--bs-btn-hover-border-color: #25cff2;
--bs-btn-focus-shadow-rgb: 11, 172, 204;
--bs-btn-active-color: #000;
--bs-btn-active-bg: #3dd5f3;
--bs-btn-active-border-color: #25cff2;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #000;
--bs-btn-disabled-bg: #0dcaf0;
--bs-btn-disabled-border-color: #0dcaf0;
}
.btn-light {
--bs-btn-color: #000;
--bs-btn-bg: #f8f9fa;
--bs-btn-border-color: #f8f9fa;
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: #d3d4d5;
--bs-btn-hover-border-color: #c6c7c8;
--bs-btn-focus-shadow-rgb: 211, 212, 213;
--bs-btn-active-color: #000;
--bs-btn-active-bg: #c6c7c8;
--bs-btn-active-border-color: #babbbc;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #000;
--bs-btn-disabled-bg: #f8f9fa;
--bs-btn-disabled-border-color: #f8f9fa;
}
.btn-dark {
--bs-btn-color: #fff;
--bs-btn-bg: #212529;
--bs-btn-border-color: #212529;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #424649;
--bs-btn-hover-border-color: #373b3e;
--bs-btn-focus-shadow-rgb: 66, 70, 73;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #4d5154;
--bs-btn-active-border-color: #373b3e;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #212529;
--bs-btn-disabled-border-color: #212529;
}
.btn-link {
--bs-btn-font-weight: 400;
--bs-btn-color: var(--bs-link-color);
--bs-btn-bg: transparent;
--bs-btn-border-color: transparent;
--bs-btn-hover-color: var(--bs-link-hover-color);
--bs-btn-hover-border-color: transparent;
--bs-btn-active-color: var(--bs-link-hover-color);
--bs-btn-active-border-color: transparent;
--bs-btn-disabled-color: #6c757d;
--bs-btn-disabled-border-color: transparent;
--bs-btn-box-shadow: 0 0 0 #000;
--bs-btn-focus-shadow-rgb: 49, 132, 253;
}
.btn-outline-primary {
--bs-btn-color: #0d6efd;
--bs-btn-border-color: #0d6efd;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #fd0d40;
--bs-btn-hover-border-color: #0d6efd;
--bs-btn-focus-shadow-rgb: 13, 110, 253;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #0d6efd;
--bs-btn-active-border-color: #0d6efd;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #0d6efd;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #0d6efd;
--bs-gradient: none;
}
.btn-outline-secondary {
--bs-btn-color: #6c757d;
--bs-btn-border-color: #6c757d;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #6c757d;
--bs-btn-hover-border-color: #6c757d;
--bs-btn-focus-shadow-rgb 108,117,125 : 108, 117, 125;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #6c757d;
--bs-btn-active-border-color: #6c757d;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #6c757d;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #6c757d;
--bs-gradient: none;
}
.btn-outline-success {
--bs-btn-color: #198754;
--bs-btn-border-color: #198754;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #198754;
--bs-btn-hover-border-color: #198754;
--bs-btn-focus-shadow-rgb: 25, 135, 84;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #198754;
--bs-btn-active-border-color: #198754;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #198754;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #198754;
--bs-gradient: none;
}
.btn-outline-danger {
--bs-btn-color: #dc3545;
--bs-btn-border-color: #dc3545;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #dc3545;
--bs-btn-hover-border-color: #dc3545;
--bs-btn-focus-shadow-rgb: 220, 53, 69;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #dc3545;
--bs-btn-active-border-color: #dc3545;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #dc3545;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #dc3545;
--bs-gradient: none;
}
.btn-outline-warning {
--bs-btn-color: #ffc107;
--bs-btn-border-color: #ffc107;
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: #ffc107;
--bs-btn-hover-border-color: #ffc107;
--bs-btn-focus-shadow-rgb: 255, 193, 7;
--bs-btn-active-color: #000;
--bs-btn-active-bg: #ffc107;
--bs-btn-active-border-color: #ffc107;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #ffc107;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #ffc107;
--bs-gradient: none;
}
.btn-outline-info {
--bs-btn-color: #0dcaf0;
--bs-btn-border-color: #0dcaf0;
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: #0dcaf0;
--bs-btn-hover-border-color: #0dcaf0;
--bs-btn-focus-shadow-rgb: 13, 202, 240;
--bs-btn-active-color: #000;
--bs-btn-active-bg: #0dcaf0;
--bs-btn-active-border-color: #0dcaf0;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #0dcaf0;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #0dcaf0;
--bs-gradient: none;
}
.btn-outline-light {
--bs-btn-color: #f8f9fa;
--bs-btn-border-color: #f8f9fa;
--bs-btn-hover-color: #000;
--bs-btn-hover-bg: #f8f9fa;
--bs-btn-hover-border-color: #f8f9fa;
--bs-btn-focus-shadow-rgb: 248, 249, 250;
--bs-btn-active-color: #000;
--bs-btn-active-bg: #f8f9fa;
--bs-btn-active-border-color: #f8f9fa;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #f8f9fa;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #f8f9fa;
--bs-gradient: none;
}
.btn-outline-dark {
--bs-btn-color: #212529;
--bs-btn-border-color: #212529;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #212529;
--bs-btn-hover-border-color: #212529;
--bs-btn-focus-shadow-rgb 33,37,41 : 33, 37, 41;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #212529;
--bs-btn-active-border-color: #212529;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #212529;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #212529;
--bs-gradient: none;
}
/* P11Checkbox, P11Radio */
/* https://github.com/twbs/bootstrap/blob/main/scss/forms/_form-check.scss */
/* see: https://github.com/twbs/bootstrap/issues/41652 */
.form-check-input {
--bs-form-check-bg: var(--bs-body-bg);
background-color: var(--bs-form-check-bg);
background-image: var(--bs-form-check-bg-image);
border: var(--bs-border-width) solid var(--bs-border-color);
}
/* P11ColorPicker, P11DatePicker, P11MonthPicker, P11WeekPicker, P11TimePicker, P11DateTimePicker, P11Input, P11Textarea */
/* https://github.com/twbs/bootstrap/blob/main/scss/forms/_form-control.scss */
.form-control {
color: var(--bs-body-color);
border: var(--bs-border-width) solid var(--bs-border-color);
border-radius: var(--bs-border-radius);
}
/* Note: To apply custom styles to P11ColorPicker, P11DatePicker, P11MonthPicker, P11WeekPicker, P11TimePicker, */
/* P11DateTimePicker, P11Input and P11Textarea, developers should target the 'form-control' Bootstrap class */
/* that these components utilize. */
/* P11Drawer */
/* Note: A purely HTML-based component without Bootstrap/BootstrapJS. */
/* So we use our own classes here (tpc -> true-perfect-code) */
.tpc-drawer {
--tpc-drawer-bg: var(--bs-body-bg, #fff);
--tpc-drawer-shadow: var(--bs-offcanvas-box-shadow, 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075));
--tpc-drawer-transition-duration: 0.3s;
--tpc-drawer-z-index: 1050;
}
.tpc-drawer--left,
.tpc-drawer--right {
--tpc-drawer-width: 300px;
}
.tpc-drawer--top,
.tpc-drawer--bottom {
--tpc-drawer-height: 250px;
}
.tpc-drawer-content {
--tpc-drawer-padding: 1rem;
}
.tpc-drawer-title {
--tpc-drawer-title-font-size: 1.25rem;
--tpc-drawer-title-font-weight: 500;
}
.tpc-drawer-close-btn {
--tpc-drawer-close-color: var(--bs-secondary-color, #6c757d);
--tpc-drawer-close-hover-opacity: 0.75;
--tpc-drawer-close-top-offset: 1rem;
--tpc-drawer-close-right-offset: 1rem;
}
.tpc-drawer-overlay {
--tpc-drawer-overlay-bg: var(--bs-offcanvas-backdrop-bg, rgba(0, 0, 0, 0.5));
--tpc-drawer-overlay-z-index: 1040;
}
/* P11Offcanvas */
/* https://github.com/twbs/bootstrap/blob/v5.3.7/scss/_offcanvas.scss */
.offcanvas {
--bs-offcanvas-zindex: 1045;
--bs-offcanvas-width: 400px;
--bs-offcanvas-height: 30vh;
--bs-offcanvas-padding-x: 1rem;
--bs-offcanvas-padding-y: 1rem;
--bs-offcanvas-color: var(--bs-body-color);
--bs-offcanvas-bg: var(--bs-body-bg);
--bs-offcanvas-border-width: var(--bs-border-width);
--bs-offcanvas-border-color: var(--bs-border-color-translucent);
--bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
--bs-offcanvas-transition: transform 0.3s ease-in-out;
--bs-offcanvas-title-line-height: 1.5;
}
/* P11FloatingPanel */
/* Note: A purely HTML-based component without Bootstrap/BootstrapJS. */
/* So we use our own classes here (tpc -> true-perfect-code) */
.tpc-floating-panel {
background-color: var(--tpc-panel-bg);
border: var(--tpc-panel-border);
box-shadow: var(--tpc-panel-shadow);
min-width: var(--tpc-panel-min-width);
border-radius: var(--tpc-panel-border-radius);
}
.tpc-floating-panel-header {
background-color: var(--tpc-panel-header-bg);
color: var(--tpc-panel-header-color);
border-top-left-radius: var(--tpc-panel-header-radius);
border-top-right-radius: var(--tpc-panel-header-radius);
padding: var(--tpc-panel-header-padding);
}
.tpc-floating-panel-title {
font-weight: var(--tpc-panel-title-weight);
font-size: var(--tpc-panel-title-size);
}
.tpc-floating-panel-close {
color: var(--tpc-panel-close-color);
margin-left: var(--tpc-panel-close-margin-left);
}
.tpc-floating-panel-close:hover {
color: var(--tpc-panel-close-hover-color);
}
.tpc-floating-panel-content {
background-color: var(--tpc-panel-content-bg);
color: var(--tpc-panel-content-color);
font-size: var(--tpc-panel-content-size);
padding: var(--tpc-panel-content-padding);
}
/* P11Label */
/* Note: Check global (root) variables: --bs-font-sans-serif, --bs-font-monospace, --bs-body-font-family, */
/* --bs-body-font-size, --bs-body-font-weight */
/* P11MediaPlayerNative */
/* Note: There are no common CSS classes or variables for this component. */
/* P11Modal */
/* https://github.com/twbs/bootstrap/blob/main/scss/_modal.scss */
.modal {
--bs-modal-zindex: 1055;
--bs-modal-width: 500px;
--bs-modal-padding: 1rem;
--bs-modal-margin: 0.5rem;
--bs-modal-color: var(--bs-body-color);
--bs-modal-bg: var(--bs-body-bg);
--bs-modal-border-color: var(--bs-border-color-translucent);
--bs-modal-border-width: var(--bs-border-width);
--bs-modal-border-radius: var(--bs-border-radius-lg);
--bs-modal-box-shadow: var(--bs-box-shadow-sm);
--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
--bs-modal-header-padding-x: 1rem;
--bs-modal-header-padding-y: 1rem;
--bs-modal-header-padding: 1rem 1rem;
--bs-modal-header-border-color: var(--bs-border-color);
--bs-modal-header-border-width: var(--bs-border-width);
--bs-modal-title-line-height: 1.5;
--bs-modal-footer-gap: 0.5rem;
--bs-modal-footer-bg: ;
--bs-modal-footer-border-color: var(--bs-border-color);
--bs-modal-footer-border-width: var(--bs-border-width);
}
/* P11ProgressBar */
/* https://github.com/twbs/bootstrap/blob/main/scss/_progress.scss */
.progress {
--bs-progress-height: 1rem;
--bs-progress-font-size: 0.75rem;
--bs-progress-bg: var(--bs-secondary-bg);
--bs-progress-border-radius: var(--bs-border-radius);
--bs-progress-box-shadow: var(--bs-box-shadow-inset);
--bs-progress-bar-color: #fff;
--bs-progress-bar-bg: #0d6efd;
--bs-progress-bar-transition: width 0.6s ease;
}
/* P11ProgressBarNative */
/* Note: There are no common CSS classes or variables for this component. */
/* If global settings are needed, use P11Progressbar (is Bootstrap based)! */
/* P11Range */
/* https://github.com/twbs/bootstrap/blob/main/scss/forms/_form-range.scss */
/* Note: Bootstrap does not provide any CSS variables for this purpose. */
/* To make your own style modifications, use the component parameter */
/* �CssClass� (see our example �5. Range Slider with Additional */
/* Attributes / CSS�). */
/* P11Select, P11SelectMultiple */
/* https://github.com/twbs/bootstrap/blob/main/scss/forms/_form-select.scss */
.form-select {
color: var(--bs-body-color);
background-color: var(--bs-body-bg);
background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
border: var(--bs-border-width) solid var(--bs-border-color);
border-radius: var(--bs-border-radius);
}
/* P11Table */
/* https://github.com/twbs/bootstrap/blob/v5.3.7/scss/_tables.scss */
.table {
--bs-table-color-type: initial;
--bs-table-bg-type: initial;
--bs-table-color-state: initial;
--bs-table-bg-state: initial;
--bs-table-color: var(--bs-emphasis-color);
--bs-table-bg: var(--bs-body-bg);
--bs-table-border-color: var(--bs-border-color);
--bs-table-accent-bg: transparent;
--bs-table-striped-color: var(--bs-emphasis-color);
--bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
--bs-table-active-color: var(--bs-emphasis-color);
--bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
--bs-table-hover-color: var(--bs-emphasis-color);
--bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
border-color: var(--bs-table-border-color);
}
.table-primary {
--bs-table-color: #000;
--bs-table-bg: #cfe2ff;
--bs-table-border-color: #a6b5cc;
--bs-table-striped-bg: #c5d7f2;
--bs-table-striped-color: #000;
--bs-table-active-bg: #bacbe6;
--bs-table-active-color: #000;
--bs-table-hover-bg: #bfd1ec;
--bs-table-hover-color: #000;
color: var(--bs-table-color);
border-color: var(--bs-table-border-color);
}
.table-secondary {
--bs-table-color: #000;
--bs-table-bg: #e2e3e5;
--bs-table-border-color: #b5b6b7;
--bs-table-striped-bg: #d7d8da;
--bs-table-striped-color: #000;
--bs-table-active-bg: #cbccce;
--bs-table-active-color: #000;
--bs-table-hover-bg: #d1d2d4;
--bs-table-hover-color: #000;
color: var(--bs-table-color);
border-color: var(--bs-table-border-color);
}
.table-success {
--bs-table-color: #000;
--bs-table-bg: #d1e7dd;
--bs-table-border-color: #a7b9b1;
--bs-table-striped-bg: #c7dbd2;
--bs-table-striped-color: #000;
--bs-table-active-bg: #bcd0c7;
--bs-table-active-color: #000;
--bs-table-hover-bg: #c1d6cc;
--bs-table-hover-color: #000;
color: var(--bs-table-color);
border-color: var(--bs-table-border-color);
}
.table-info {
--bs-table-color: #000;
--bs-table-bg: #cff4fc;
--bs-table-border-color: #a6c3ca;
--bs-table-striped-bg: #c5e8ef;
--bs-table-striped-color: #000;
--bs-table-active-bg: #badce3;
--bs-table-active-color: #000;
--bs-table-hover-bg: #bfe2e9;
--bs-table-hover-color: #000;
color: var(--bs-table-color);
border-color: var(--bs-table-border-color);
}
.table-warning {
--bs-table-color: #000;
--bs-table-bg: #fff3cd;
--bs-table-border-color: #ccc2a4;
--bs-table-striped-bg: #f2e7c3;
--bs-table-striped-color: #000;
--bs-table-active-bg: #e6dbb9;
--bs-table-active-color: #000;
--bs-table-hover-bg: #ece1be;
--bs-table-hover-color: #000;
color: var(--bs-table-color);
border-color: var(--bs-table-border-color);
}
.table-danger {
--bs-table-color: #000;
--bs-table-bg: #f8d7da;
--bs-table-border-color: #c6acae;
--bs-table-striped-bg: #eccccf;
--bs-table-striped-color: #000;
--bs-table-active-bg: #dfc2c4;
--bs-table-active-color: #000;
--bs-table-hover-bg: #e5c7ca;
--bs-table-hover-color: #000;
color: var(--bs-table-color);
border-color: var(--bs-table-border-color);
}
.table-light {
--bs-table-color: #000;
--bs-table-bg: #f8f9fa;
--bs-table-border-color: #c6c7c8;
--bs-table-striped-bg: #ecedee;
--bs-table-striped-color: #000;
--bs-table-active-bg: #dfe0e1;
--bs-table-active-color: #000;
--bs-table-hover-bg: #e5e6e7;
--bs-table-hover-color: #000;
color: var(--bs-table-color);
border-color: var(--bs-table-border-color);
}
.table-dark {
--bs-table-color: #fff;
--bs-table-bg: #212529;
--bs-table-border-color: #4d5154;
--bs-table-striped-bg: #2c3034;
--bs-table-striped-color: #fff;
--bs-table-active-bg: #373b3e;
--bs-table-active-color: #fff;
--bs-table-hover-bg: #323539;
--bs-table-hover-color: #fff;
color: var(--bs-table-color);
border-color: var(--bs-table-border-color);
}
/* P11Toast */
/* https://github.com/twbs/bootstrap/blob/main/scss/_toasts.scss */
.toast {
--bs-toast-zindex: 1090;
--bs-toast-padding-x: 0.75rem;
--bs-toast-padding-y: 0.5rem;
--bs-toast-spacing: 1.5rem;
--bs-toast-max-width: 350px;
--bs-toast-font-size: 0.875rem;
--bs-toast-color: ;
--bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
--bs-toast-border-width: var(--bs-border-width);
--bs-toast-border-color: var(--bs-border-color-translucent);
--bs-toast-border-radius: var(--bs-border-radius);
--bs-toast-box-shadow: var(--bs-box-shadow);
--bs-toast-header-color: var(--bs-secondary-color);
--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
--bs-toast-header-border-color: var(--bs-border-color-translucent);
}
/* P11MessageBox */
/* Note: This component is based on P11Modal. You can find the corresponding CSS variables there. */
/* ROOT (true-perfect-code) */
:root {
--tpc-accordion-border-color: var(--bs-border-color);
--tpc-accordion-border-radius: 0.25rem;
--tpc-accordion-shadow: none;
--tpc-accordion-header-bg: var(--bs-light);
--tpc-accordion-header-color: var(--bs-body-color);
--tpc-accordion-header-padding: 1rem;
--tpc-accordion-title-font-weight: bold;
--tpc-accordion-title-font-size: 1rem;
--tpc-accordion-content-bg: white;
--tpc-accordion-content-color: var(--bs-body-color);
--tpc-accordion-content-padding: 1rem;
--tpc-accordion-icon-color: var(--bs-body-color);
--tpc-drawer-bg: var(--bs-body-bg, #fff);
--tpc-drawer-shadow: var(--bs-offcanvas-box-shadow, 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075));
--tpc-drawer-transition-duration: 0.3s;
--tpc-drawer-z-index: 1060;
--tpc-drawer-width: 300px;
--tpc-drawer-height: 250px;
--tpc-drawer-padding: 1rem;
--tpc-drawer-title-font-size: 1.25rem;
--tpc-drawer-title-font-weight: 500;
--tpc-drawer-close-color: var(--bs-secondary-color, #6c757d);
--tpc-drawer-close-hover-opacity: 0.75;
--tpc-drawer-close-top-offset: 1rem;
--tpc-drawer-close-right-offset: 1rem;
--tpc-drawer-overlay-bg: var(--bs-offcanvas-backdrop-bg, rgba(0, 0, 0, 0.5));
--tpc-drawer-overlay-z-index: 1059;
--tpc-panel-bg: #ffffde;
--tpc-panel-border: 3px solid #bdbdbd;
--tpc-panel-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
--tpc-panel-min-width: 250px;
--tpc-panel-border-radius: 5px;
--tpc-panel-header-bg: #00007b;
--tpc-panel-header-color: #fff;
--tpc-panel-header-radius: 4px;
--tpc-panel-header-padding: 3px 10px;
--tpc-panel-title-weight: bold;
--tpc-panel-title-size: 1.1em;
--tpc-panel-close-color: #fff;
--tpc-panel-close-hover-color: #bdbdbd;
--tpc-panel-close-margin-left: 10px;
--tpc-panel-content-bg: white;
--tpc-panel-content-color: #333;
--tpc-panel-content-size: 0.9em;
--tpc-panel-content-padding: 10px 7px 5px 7px;
}
/* ROOT (Bootstrap) */
/* https://github.com/twbs/bootstrap/blob/main/dist/css/bootstrap.css */
:root {
--bs-breakpoint-xs: 0;
--bs-breakpoint-sm: 576px;
--bs-breakpoint-md: 768px;
--bs-breakpoint-lg: 992px;
--bs-breakpoint-xl: 1200px;
--bs-breakpoint-xxl: 1400px;
}
:root,
[data-bs-theme=light] {
--bs-blue: #0d6efd;
--bs-indigo: #6610f2;
--bs-purple: #6f42c1;
--bs-pink: #d63384;
--bs-red: #dc3545;
--bs-orange: #fd7e14;
--bs-yellow: #ffc107;
--bs-green: #198754;
--bs-teal: #20c997;
--bs-cyan: #0dcaf0;
--bs-black: #000;
--bs-white: #fff;
--bs-gray: #6c757d;
--bs-gray-dark: #343a40;
--bs-gray-100: #f8f9fa;
--bs-gray-200: #e9ecef;
--bs-gray-300: #dee2e6;
--bs-gray-400: #ced4da;
--bs-gray-500: #adb5bd;
--bs-gray-600: #6c757d;
--bs-gray-700: #495057;
--bs-gray-800: #343a40;
--bs-gray-900: #212529;
--bs-primary: #0d6efd;
--bs-secondary: #6c757d;
--bs-success: #198754;
--bs-info: #0dcaf0;
--bs-warning: #ffc107;
--bs-danger: #dc3545;
--bs-light: #f8f9fa;
--bs-dark: #212529;
--bs-primary-rgb: 13, 110, 253;
--bs-secondary-rgb: 108, 117, 125;
--bs-success-rgb: 25, 135, 84;
--bs-info-rgb: 13, 202, 240;
--bs-warning-rgb: 255, 193, 7;
--bs-danger-rgb: 220, 53, 69;
--bs-light-rgb: 248, 249, 250;
--bs-dark-rgb: 33, 37, 41;
--bs-primary-text-emphasis: #052c65;
--bs-secondary-text-emphasis: #2b2f32;
--bs-success-text-emphasis: #0a3622;
--bs-info-text-emphasis: #055160;
--bs-warning-text-emphasis: #664d03;
--bs-danger-text-emphasis: #58151c;
--bs-light-text-emphasis: #495057;
--bs-dark-text-emphasis: #495057;
--bs-primary-bg-subtle: #cfe2ff;
--bs-secondary-bg-subtle: #e2e3e5;
--bs-success-bg-subtle: #d1e7dd;
--bs-info-bg-subtle: #cff4fc;
--bs-warning-bg-subtle: #fff3cd;
--bs-danger-bg-subtle: #f8d7da;
--bs-light-bg-subtle: #fcfcfd;
--bs-dark-bg-subtle: #ced4da;
--bs-primary-border-subtle: #9ec5fe;
--bs-secondary-border-subtle: #c4c8cb;
--bs-success-border-subtle: #a3cfbb;
--bs-info-border-subtle: #9eeaf9;
--bs-warning-border-subtle: #ffe69c;
--bs-danger-border-subtle: #f1aeb5;
--bs-light-border-subtle: #e9ecef;
--bs-dark-border-subtle: #adb5bd;
--bs-white-rgb: 255, 255, 255;
--bs-black-rgb: 0, 0, 0;
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans",
"Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
"Segoe UI Symbol", "Noto Color Emoji";
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
--bs-body-font-family: var(--bs-font-sans-serif);
--bs-body-font-size: 1rem;
--bs-body-font-weight: 400;
--bs-body-line-height: 1.5;
--bs-body-color: #212529;
--bs-body-color-rgb: 33, 37, 41;
--bs-body-bg: #fff;
--bs-body-bg-rgb: 255, 255, 255;
--bs-emphasis-color: #000;
--bs-emphasis-color-rgb: 0, 0, 0;
--bs-secondary-color: rgba(33, 37, 41, 0.75);
--bs-secondary-color-rgb: 33, 37, 41;
--bs-secondary-bg: #e9ecef;
--bs-secondary-bg-rgb: 233, 236, 239;
--bs-tertiary-color: rgba(33, 37, 41, 0.5);
--bs-tertiary-color-rgb: 33, 37, 41;
--bs-tertiary-bg: #f8f9fa;
--bs-tertiary-bg-rgb: 248, 249, 250;
--bs-heading-color: inherit;
--bs-link-color: #0d6efd;
--bs-link-color-rgb: 13, 110, 253;
--bs-link-decoration: underline;
--bs-link-hover-color: #0a58ca;
--bs-link-hover-color-rgb: 10, 88, 202;
--bs-code-color: #d63384;
--bs-highlight-color: #212529;
--bs-highlight-bg: #fff3cd;
--bs-border-width: 1px;
--bs-border-style: solid;
--bs-border-color: #dee2e6;
--bs-border-color-translucent: rgba(0, 0, 0, 0.175);
--bs-border-radius: 0.375rem;
--bs-border-radius-sm: 0.25rem;
--bs-border-radius-lg: 0.5rem;
--bs-border-radius-xl: 1rem;
--bs-border-radius-xxl: 2rem;
--bs-border-radius-2xl: var(--bs-border-radius-xxl);
--bs-border-radius-pill: 50rem;
--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
--bs-focus-ring-width: 0.25rem;
--bs-focus-ring-opacity: 0.25;
--bs-focus-ring-color: rgba(13, 110, 253, 0.25);
--bs-form-valid-color: #198754;
--bs-form-valid-border-color: #198754;
--bs-form-invalid-color: #dc3545;
--bs-form-invalid-border-color: #dc3545;
}
/* Other CSS variables */
/* https://github.com/twbs/bootstrap/blob/main/dist/css/bootstrap.css */
body {
font-family: var(--bs-body-font-family);
font-size: var(--bs-body-font-size);
font-weight: var(--bs-body-font-weight);
line-height: var(--bs-body-line-height);
color: var(--bs-body-color);
text-align: var(--bs-body-text-align);
background-color: var(--bs-body-bg);
}
hr {
border-top: var(--bs-border-width) solid;
}
h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
color: var(--bs-heading-color);
}
mark, .mark {
color: var(--bs-highlight-color);
background-color: var(--bs-highlight-bg);
}
a {
color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
}
a:hover {
--bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}
pre,
code,
kbd,
samp {
font-family: var(--bs-font-monospace);
}
code {
color: var(--bs-code-color);
}
kbd {
color: var(--bs-body-bg);
background-color: var(--bs-body-color);
}
caption {
color: var(--bs-secondary-color);
}
.img-thumbnail {
background-color: var(--bs-body-bg);
border: var(--bs-border-width) solid var(--bs-border-color);
border-radius: var(--bs-border-radius);
}
.figure-caption {
color: var(--bs-secondary-color);
}
.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
--bs-gutter-x: 1.5rem;
--bs-gutter-y: 0;
padding-right: calc(var(--bs-gutter-x) * 0.5);
padding-left: calc(var(--bs-gutter-x) * 0.5);
}
.row {
margin-top: calc(-1 * var(--bs-gutter-y));
margin-right: calc(-0.5 * var(--bs-gutter-x));
margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
padding-right: calc(var(--bs-gutter-x) * 0.5);
padding-left: calc(var(--bs-gutter-x) * 0.5);
margin-top: var(--bs-gutter-y);
}
.dropdown-menu {
--bs-dropdown-zindex: 1000;
--bs-dropdown-min-width: 10rem;
--bs-dropdown-padding-x: 0;
--bs-dropdown-padding-y: 0.5rem;
--bs-dropdown-spacer: 0.125rem;
--bs-dropdown-font-size: 1rem;
--bs-dropdown-color: var(--bs-body-color);
--bs-dropdown-bg: var(--bs-body-bg);
--bs-dropdown-border-color: var(--bs-border-color-translucent);
--bs-dropdown-border-radius: var(--bs-border-radius);
--bs-dropdown-border-width: var(--bs-border-width);
--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
--bs-dropdown-divider-bg: var(--bs-border-color-translucent);
--bs-dropdown-divider-margin-y: 0.5rem;
--bs-dropdown-box-shadow: var(--bs-box-shadow);
--bs-dropdown-link-color: var(--bs-body-color);
--bs-dropdown-link-hover-color: var(--bs-body-color);
--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
--bs-dropdown-link-active-color: #fff;
--bs-dropdown-link-active-bg: #0d6efd;
--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
--bs-dropdown-item-padding-x: 1rem;
--bs-dropdown-item-padding-y: 0.25rem;
--bs-dropdown-header-color: #6c757d;
--bs-dropdown-header-padding-x: 1rem;
--bs-dropdown-header-padding-y: 0.5rem;
position: absolute;
z-index: var(--bs-dropdown-zindex);
display: none;
min-width: var(--bs-dropdown-min-width);
padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
margin: 0;
font-size: var(--bs-dropdown-font-size);
color: var(--bs-dropdown-color);
text-align: left;
list-style: none;
background-color: var(--bs-dropdown-bg);
background-clip: padding-box;
border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
border-radius: var(--bs-dropdown-border-radius);
}
.dropdown-menu[data-bs-popper] {
top: 100%;
left: 0;
margin-top: var(--bs-dropdown-spacer);
}
.dropdown-menu-start {
--bs-position: start;
}
.dropdown-menu-dark {
--bs-dropdown-color: #dee2e6;
--bs-dropdown-bg: #343a40;
--bs-dropdown-border-color: var(--bs-border-color-translucent);
--bs-dropdown-box-shadow: ;
--bs-dropdown-link-color: #dee2e6;
--bs-dropdown-link-hover-color: #fff;
--bs-dropdown-divider-bg: var(--bs-border-color-translucent);
--bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
--bs-dropdown-link-active-color: #fff;
--bs-dropdown-link-active-bg: #0d6efd;
--bs-dropdown-link-disabled-color: #adb5bd;
--bs-dropdown-header-color: #adb5bd;
}
.nav-tabs {
--bs-nav-tabs-border-width: var(--bs-border-width);
--bs-nav-tabs-border-color: var(--bs-border-color);
--bs-nav-tabs-border-radius: var(--bs-border-radius);
--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
--bs-nav-tabs-link-active-bg: var(--bs-body-bg);
--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.card {
--bs-card-spacer-y: 1rem;
--bs-card-spacer-x: 1rem;
--bs-card-title-spacer-y: 0.5rem;
--bs-card-title-color: ;
--bs-card-subtitle-color: ;
--bs-card-border-width: var(--bs-border-width);
--bs-card-border-color: var(--bs-border-color-translucent);
--bs-card-border-radius: var(--bs-border-radius);
--bs-card-box-shadow: ;
--bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
--bs-card-cap-padding-y: 0.5rem;
--bs-card-cap-padding-x: 1rem;
--bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
--bs-card-cap-color: ;
--bs-card-height: ;
--bs-card-color: ;
--bs-card-bg: var(--bs-body-bg);
--bs-card-img-overlay-padding: 1rem;
--bs-card-group-margin: 0.75rem;
position: relative;
display: flex;
flex-direction: column;
min-width: 0;
height: var(--bs-card-height);
color: var(--bs-body-color);
word-wrap: break-word;
background-color: var(--bs-card-bg);
background-clip: border-box;
border: var(--bs-card-border-width) solid var(--bs-card-border-color);
border-radius: var(--bs-card-border-radius);
}
.pagination {
--bs-pagination-padding-x: 0.75rem;
--bs-pagination-padding-y: 0.375rem;
--bs-pagination-font-size: 1rem;
--bs-pagination-color: var(--bs-link-color);
--bs-pagination-bg: var(--bs-body-bg);
--bs-pagination-border-width: var(--bs-border-width);
--bs-pagination-border-color: var(--bs-border-color);
--bs-pagination-border-radius: var(--bs-border-radius);
--bs-pagination-hover-color: var(--bs-link-hover-color);
--bs-pagination-hover-bg: var(--bs-tertiary-bg);
--bs-pagination-hover-border-color: var(--bs-border-color);
--bs-pagination-focus-color: var(--bs-link-hover-color);
--bs-pagination-focus-bg: var(--bs-secondary-bg);
--bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
--bs-pagination-active-color: #fff;
--bs-pagination-active-bg: #0d6efd;
--bs-pagination-active-border-color: #0d6efd;
--bs-pagination-disabled-color: var(--bs-secondary-color);
--bs-pagination-disabled-bg: var(--bs-secondary-bg);
--bs-pagination-disabled-border-color: var(--bs-border-color);
display: flex;
padding-left: 0;
list-style: none;
}
.alert {
--bs-alert-bg: transparent;
--bs-alert-padding-x: 1rem;
--bs-alert-padding-y: 1rem;
--bs-alert-margin-bottom: 1rem;
--bs-alert-color: inherit;
--bs-alert-border-color: transparent;
--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
--bs-alert-border-radius: var(--bs-border-radius);
--bs-alert-link-color: inherit;
position: relative;
padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
margin-bottom: var(--bs-alert-margin-bottom);
color: var(--bs-alert-color);
background-color: var(--bs-alert-bg);
border: var(--bs-alert-border);
border-radius: var(--bs-alert-border-radius);
}
.alert-primary {
--bs-alert-color: var(--bs-primary-text-emphasis);
--bs-alert-bg: var(--bs-primary-bg-subtle);
--bs-alert-border-color: var(--bs-primary-border-subtle);
--bs-alert-link-color: var(--bs-primary-text-emphasis);
}
.alert-secondary {
--bs-alert-color: var(--bs-secondary-text-emphasis);
--bs-alert-bg: var(--bs-secondary-bg-subtle);
--bs-alert-border-color: var(--bs-secondary-border-subtle);
--bs-alert-link-color: var(--bs-secondary-text-emphasis);
}
.alert-success {
--bs-alert-color: var(--bs-success-text-emphasis);
--bs-alert-bg: var(--bs-success-bg-subtle);
--bs-alert-border-color: var(--bs-success-border-subtle);
--bs-alert-link-color: var(--bs-success-text-emphasis);
}
.alert-info {
--bs-alert-color: var(--bs-info-text-emphasis);
--bs-alert-bg: var(--bs-info-bg-subtle);
--bs-alert-border-color: var(--bs-info-border-subtle);
--bs-alert-link-color: var(--bs-info-text-emphasis);
}
.alert-warning {
--bs-alert-color: var(--bs-warning-text-emphasis);
--bs-alert-bg: var(--bs-warning-bg-subtle);
--bs-alert-border-color: var(--bs-warning-border-subtle);
--bs-alert-link-color: var(--bs-warning-text-emphasis);
}
.alert-danger {
--bs-alert-color: var(--bs-danger-text-emphasis);
--bs-alert-bg: var(--bs-danger-bg-subtle);
--bs-alert-border-color: var(--bs-danger-border-subtle);
--bs-alert-link-color: var(--bs-danger-text-emphasis);
}
.alert-light {
--bs-alert-color: var(--bs-light-text-emphasis);
--bs-alert-bg: var(--bs-light-bg-subtle);
--bs-alert-border-color: var(--bs-light-border-subtle);
--bs-alert-link-color: var(--bs-light-text-emphasis);
}
.alert-dark {
--bs-alert-color: var(--bs-dark-text-emphasis);
--bs-alert-bg: var(--bs-dark-bg-subtle);
--bs-alert-border-color: var(--bs-dark-border-subtle);
--bs-alert-link-color: var(--bs-dark-text-emphasis);
}
.list-group {
--bs-list-group-color: var(--bs-body-color);
--bs-list-group-bg: var(--bs-body-bg);
--bs-list-group-border-color: var(--bs-border-color);
--bs-list-group-border-width: var(--bs-border-width);
--bs-list-group-border-radius: var(--bs-border-radius);
--bs-list-group-item-padding-x: 1rem;
--bs-list-group-item-padding-y: 0.5rem;
--bs-list-group-action-color: var(--bs-secondary-color);
--bs-list-group-action-hover-color: var(--bs-emphasis-color);
--bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
--bs-list-group-action-active-color: var(--bs-body-color);
--bs-list-group-action-active-bg: var(--bs-secondary-bg);
--bs-list-group-disabled-color: var(--bs-secondary-color);
--bs-list-group-disabled-bg: var(--bs-body-bg);
--bs-list-group-active-color: #fff;
--bs-list-group-active-bg: #0d6efd;
--bs-list-group-active-border-color: #0d6efd;
display: flex;
flex-direction: column;
padding-left: 0;
margin-bottom: 0;
border-radius: var(--bs-list-group-border-radius);
}
.tooltip {
--bs-tooltip-zindex: 1080;
--bs-tooltip-max-width: 200px;
--bs-tooltip-padding-x: 0.5rem;
--bs-tooltip-padding-y: 0.25rem;
--bs-tooltip-margin: ;
--bs-tooltip-font-size: 0.875rem;
--bs-tooltip-color: var(--bs-body-bg);
--bs-tooltip-bg: var(--bs-emphasis-color);
--bs-tooltip-border-radius: var(--bs-border-radius);
--bs-tooltip-opacity: 0.9;
--bs-tooltip-arrow-width: 0.8rem;
--bs-tooltip-arrow-height: 0.4rem;
z-index: var(--bs-tooltip-zindex);
display: block;
margin: var(--bs-tooltip-margin);
font-family: var(--bs-font-sans-serif);
font-style: normal;
font-weight: 400;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
letter-spacing: normal;
word-break: normal;
white-space: normal;
word-spacing: normal;
line-break: auto;
font-size: var(--bs-tooltip-font-size);
word-wrap: break-word;
opacity: 0;
}
.tooltip.show {
opacity: var(--bs-tooltip-opacity);
}
.tooltip .tooltip-arrow {
display: block;
width: var(--bs-tooltip-arrow-width);
height: var(--bs-tooltip-arrow-height);
}
.tooltip .tooltip-arrow::before {
position: absolute;
content: "";
border-color: transparent;
border-style: solid;
}
.popover {
--bs-popover-zindex: 1070;
--bs-popover-max-width: 276px;
--bs-popover-font-size: 0.875rem;
--bs-popover-bg: var(--bs-body-bg);
--bs-popover-border-width: var(--bs-border-width);
--bs-popover-border-color: var(--bs-border-color-translucent);
--bs-popover-border-radius: var(--bs-border-radius-lg);
--bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
--bs-popover-box-shadow: var(--bs-box-shadow);
--bs-popover-header-padding-x: 1rem;
--bs-popover-header-padding-y: 0.5rem;
--bs-popover-header-font-size: 1rem;
--bs-popover-header-color: inherit;
--bs-popover-header-bg: var(--bs-secondary-bg);
--bs-popover-body-padding-x: 1rem;
--bs-popover-body-padding-y: 1rem;
--bs-popover-body-color: var(--bs-body-color);
--bs-popover-arrow-width: 1rem;
--bs-popover-arrow-height: 0.5rem;
--bs-popover-arrow-border: var(--bs-popover-border-color);
z-index: var(--bs-popover-zindex);
display: block;
max-width: var(--bs-popover-max-width);
font-family: var(--bs-font-sans-serif);
font-style: normal;
font-weight: 400;
line-height: 1.5;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
letter-spacing: normal;
word-break: normal;
white-space: normal;
word-spacing: normal;
line-break: auto;
font-size: var(--bs-popover-font-size);
word-wrap: break-word;
background-color: var(--bs-popover-bg);
background-clip: padding-box;
border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
border-radius: var(--bs-popover-border-radius);
}
.popover .popover-arrow {
display: block;
width: var(--bs-popover-arrow-width);
height: var(--bs-popover-arrow-height);
}
.popover .popover-arrow::before, .popover .popover-arrow::after {
position: absolute;
display: block;
content: "";
border-color: transparent;
border-style: solid;
border-width: 0;
}
.spinner-grow,
.spinner-border {
display: inline-block;
width: var(--bs-spinner-width);
height: var(--bs-spinner-height);
vertical-align: var(--bs-spinner-vertical-align);
border-radius: 50%;
animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
}
@keyframes spinner-border {
to {
transform: rotate(360deg) /* rtl:ignore */;
}
}
.spinner-border {
--bs-spinner-width: 2rem;
--bs-spinner-height: 2rem;
--bs-spinner-vertical-align: -0.125em;
--bs-spinner-border-width: 0.25em;
--bs-spinner-animation-speed: 0.75s;
--bs-spinner-animation-name: spinner-border;
border: var(--bs-spinner-border-width) solid currentcolor;
border-right-color: transparent;
}
.spinner-border-sm {
--bs-spinner-width: 1rem;
--bs-spinner-height: 1rem;
--bs-spinner-border-width: 0.2em;
}