/*!
    This is a modified Bootstrap file. It contains Reboot, and Utilities.
    Whats missing:
        - '--bs-' prefix
        - unused variables
        - media queries
        - light, dark, white, and black shade
        - focus-ring, link, ratio, some radius
 */

/*!
 * Bootstrap Reboot v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */
:root,
[data-theme='light'] {
    --blue: #0d6efd;
    --indigo: #6610f2;
    --purple: #6f42c1;
    --pink: #d63384;
    --red: #dc3545;
    --orange: #fd7e14;
    --yellow: #ffc107;
    --green: #198754;
    --teal: #20c997;
    --cyan: #0dcaf0;
    --gray: #6c757d;
    --gray-dark: #343a40;
    --gray-100: #f8f9fa;
    --gray-200: #e9ecef;
    --gray-300: #dee2e6;
    --gray-400: #ced4da;
    --gray-500: #adb5bd;
    --gray-600: #6c757d;
    --gray-700: #495057;
    --gray-800: #343a40;
    --gray-900: #212529;
    --primary: #0d6efd;
    --secondary: #6c757d;
    --success: #198754;
    --info: #0dcaf0;
    --warning: #ffc107;
    --danger: #dc3545;
    --primary-bg-subtle: #cfe2ff;
    --secondary-bg-subtle: #f2f3f5;
    --success-bg-subtle: #d1e7dd;
    --info-bg-subtle: #cff4fc;
    --warning-bg-subtle: #fff3cd;
    --danger-bg-subtle: #f8d7da;
    --primary-border-subtle: #9ec5fe;
    --secondary-border-subtle: #c4c8cb;
    --success-border-subtle: #a3cfbb;
    --info-border-subtle: #9eeaf9;
    --warning-border-subtle: #ffe69c;
    --danger-border-subtle: #f1aeb5;
    --font-sans-serif: system-ui, 'Segoe UI', Roboto, 'Helvetica Neue', 'Liberation Sans', Arial, sans-serif;
    --font-monospace: Menlo, Monaco, Consolas, monospace;
    --body-font-family: var(--font-sans-serif);
    --body-font-size: 1rem;
    --body-font-weight: 400;
    --body-line-height: 1.5;
    --body-color: #212529;
    --body-bg: #fff;
    --secondary-bg: #e9ecef;
    --tertiary-color: #21252980;
    --tertiary-bg: #f8f9fa;
    --heading-color: inherit;
    --code-color: #d63384;
    --highlight-color: #212529;
    --highlight-bg: #fff3cd;
    --border-width: 1px;
    --border-style: solid;
    --border-color: #dee2e6;
    --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
    --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
    --form-valid-color: #198754;
    --form-valid-border-color: #198754;
    --form-invalid-color: #dc3545;
    --form-invalid-border-color: #dc3545;
}

[data-theme='dark'] {
    color-scheme: dark;
    --body-color: #dee2e6;
    --body-bg: #212529;
    --secondary-color: #dee2e6bf;
    --secondary-bg: #343a40;
    --tertiary-color: #dee2e680;
    --tertiary-bg: #2b3035;
    --primary-bg-subtle: #031633;
    --secondary-bg-subtle: #161719;
    --success-bg-subtle: #051b11;
    --info-bg-subtle: #032830;
    --warning-bg-subtle: #332701;
    --danger-bg-subtle: #2c0b0e;
    --primary-border-subtle: #084298;
    --secondary-border-subtle: #41464b;
    --success-border-subtle: #0f5132;
    --info-border-subtle: #087990;
    --warning-border-subtle: #997404;
    --danger-border-subtle: #842029;
    --heading-color: inherit;
    --link-color: #6ea8fe;
    --code-color: #e685b5;
    --highlight-color: #dee2e6;
    --highlight-bg: #664d03;
    --border-color: #495057;
    --form-valid-color: #75b798;
    --form-valid-border-color: #75b798;
    --form-invalid-color: #ea868f;
    --form-invalid-border-color: #ea868f;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

@media (prefers-reduced-motion: no-preference) {
    :root {
        scroll-behavior: smooth;
    }
}

body {
    margin: 0;
    font-family: var(--body-font-family);
    font-size: var(--body-font-size);
    font-weight: var(--body-font-weight);
    line-height: var(--body-line-height);
    color: var(--body-color);
    text-align: var(--body-text-align);
    background-color: var(--body-bg);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

hr {
    margin: 1rem 0;
    color: inherit;
    border: 0;
    border-top: var(--border-width) solid;
    opacity: 0.25;
}

h6,
h5,
h4,
h3,
h2,
h1 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-weight: 600;
    line-height: 1.2;
    color: var(--heading-color);
}

h1 {
    font-size: calc(1.375rem + 1.5vw);
}

@media (min-width: 1200px) {
    h1 {
        font-size: 2.5rem;
    }
}

h2 {
    font-size: calc(1.325rem + 0.9vw);
}

@media (min-width: 1200px) {
    h2 {
        font-size: 2rem;
    }
}

h3 {
    font-size: calc(1.3rem + 0.6vw);
}

@media (min-width: 1200px) {
    h3 {
        font-size: 1.75rem;
    }
}

h4 {
    font-size: calc(1.275rem + 0.3vw);
}

@media (min-width: 1200px) {
    h4 {
        font-size: 1.5rem;
    }
}

h5 {
    font-size: 1.25rem;
}

h6 {
    font-size: 1rem;
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
}

ol,
ul {
    padding-left: 2rem;
}

ol,
ul,
dl {
    margin-top: 0;
    margin-bottom: 1rem;
}

dt {
    font-weight: 700;
}

dd {
    margin-bottom: 0.5rem;
    margin-left: 0;
}

blockquote {
    margin: 0 0 1rem;
}

b,
strong {
    font-weight: bolder;
}

small {
    font-size: 0.875em;
}

a {
    color: var(--link-color);
    text-decoration: underline;
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none;
}

pre,
code,
kbd,
samp {
    font-family: var(--font-monospace);
    font-size: 1em;
}

pre {
    display: block;
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
    font-size: 0.875em;
}

pre code {
    font-size: inherit;
    color: inherit;
    word-break: normal;
}

code {
    font-size: 0.875em;
    color: var(--code-color);
    word-wrap: break-word;
}

a > code {
    color: inherit;
}

figure {
    margin: 0 0 1rem;
}

img,
svg {
    vertical-align: middle;
}

table {
    caption-side: bottom;
    border-collapse: collapse;
}

caption {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    color: var(--secondary-color);
    text-align: left;
}

th {
    text-align: inherit;
    text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
    border-color: inherit;
    border-style: solid;
    border-width: 0;
}

label {
    display: inline-block;
}

button {
    border-radius: 0;
}

button:focus:not(:focus-visible) {
    outline: 0;
}

input,
button,
select,
optgroup,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

button,
select {
    text-transform: none;
}

[role='button'] {
    cursor: pointer;
}

select {
    word-wrap: normal;
}

select:disabled {
    opacity: 1;
}

button,
[type='button'],
[type='reset'],
[type='submit'] {
    -webkit-appearance: button;
}

button:not(:disabled),
[type='button']:not(:disabled),
[type='reset']:not(:disabled),
[type='submit']:not(:disabled) {
    cursor: pointer;
}

::-moz-focus-inner {
    padding: 0;
    border-style: none;
}

textarea {
    resize: vertical;
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

legend {
    float: left;
    width: 100%;
    padding: 0;
    margin-bottom: 0.5rem;
    line-height: inherit;
    font-size: calc(1.275rem + 0.3vw);
}

legend + * {
    clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
    padding: 0;
}

::-webkit-inner-spin-button {
    height: auto;
}

[type='search'] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

[type='search']::-webkit-search-cancel-button {
    cursor: pointer;
    filter: grayscale(1);
}

::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-color-swatch-wrapper {
    padding: 0;
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button;
}

::file-selector-button {
    font: inherit;
    -webkit-appearance: button;
}

output {
    display: inline-block;
}

iframe {
    border: 0;
}

summary {
    display: list-item;
    cursor: pointer;
}

progress {
    vertical-align: baseline;
}

[hidden] {
    display: none;
}

/*!
 * Bootstrap Utilities v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */

.clearfix::after {
    display: block;
    clear: both;
    content: '';
}

.text-bg-primary {
    color: #fff;
    background-color: var(--primary);
}

.text-bg-secondary {
    color: #fff;
    background-color: var(--secondary);
}

.text-bg-success {
    color: #fff;
    background-color: var(--success);
}

.text-bg-info {
    color: #000;
    background-color: var(--info);
}

.text-bg-warning {
    color: #000;
    background-color: var(--warning);
}

.text-bg-danger {
    color: #fff;
    background-color: var(--danger);
}

.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}

.fixed-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030;
}

.sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
}

.sticky-bottom {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    z-index: 1020;
}

.hstack {
    display: flex;
    flex-direction: row;
    align-items: center;
    align-self: stretch;
}

.vstack {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-self: stretch;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
    position: absolute;
}

.visually-hidden *,
.visually-hidden-focusable:not(:focus):not(:focus-within) * {
    overflow: hidden;
}

.stretched-link::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: '';
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.vr {
    display: inline-block;
    align-self: stretch;
    width: var(--border-width);
    min-height: 1em;
    background-color: currentcolor;
    opacity: 0.25;
}

.align-baseline {
    vertical-align: baseline;
}

.align-top {
    vertical-align: top;
}

.align-middle {
    vertical-align: middle;
}

.align-bottom {
    vertical-align: bottom;
}

.align-text-bottom {
    vertical-align: text-bottom;
}

.align-text-top {
    vertical-align: text-top;
}

.object-fit-contain {
    -o-object-fit: contain;
    object-fit: contain;
}

.object-fit-cover {
    -o-object-fit: cover;
    object-fit: cover;
}

.object-fit-fill {
    -o-object-fit: fill;
    object-fit: fill;
}

.object-fit-scale {
    -o-object-fit: scale-down;
    object-fit: scale-down;
}

.object-fit-none {
    -o-object-fit: none;
    object-fit: none;
}

.opacity-0 {
    opacity: 0;
}

.opacity-25 {
    opacity: 0.25;
}

.opacity-50 {
    opacity: 0.5;
}

.opacity-75 {
    opacity: 0.75;
}

.opacity-100 {
    opacity: 1;
}

.overflow-auto {
    overflow: auto;
}

.overflow-hidden {
    overflow: hidden;
}

.overflow-visible {
    overflow: visible;
}

.overflow-scroll {
    overflow: scroll;
}

.overflow-x-auto {
    overflow-x: auto;
}

.overflow-x-hidden {
    overflow-x: hidden;
}

.overflow-x-visible {
    overflow-x: visible;
}

.overflow-x-scroll {
    overflow-x: scroll;
}

.overflow-y-auto {
    overflow-y: auto;
}

.overflow-y-hidden {
    overflow-y: hidden;
}

.overflow-y-visible {
    overflow-y: visible;
}

.overflow-y-scroll {
    overflow-y: scroll;
}

.d-inline {
    display: inline;
}

.d-inline-block {
    display: inline-block;
}

.d-block {
    display: block;
}

.d-grid {
    display: grid;
}

.d-inline-grid {
    display: inline-grid;
}

.d-table {
    display: table;
}

.d-table-row {
    display: table-row;
}

.d-table-cell {
    display: table-cell;
}

.d-flex {
    display: flex;
}

.d-inline-flex {
    display: inline-flex;
}

.d-none {
    display: none;
}

.shadow {
    box-shadow: var(--box-shadow);
}

.shadow-sm {
    box-shadow: var(--box-shadow-sm);
}

.shadow-lg {
    box-shadow: var(--box-shadow-lg);
}

.shadow-none {
    box-shadow: none;
}

.position-static {
    position: static;
}

.position-relative {
    position: relative;
}

.position-absolute {
    position: absolute;
}

.position-fixed {
    position: fixed;
}

.position-sticky {
    position: -webkit-sticky;
    position: sticky;
}

.top-0 {
    top: 0;
}

.top-50 {
    top: 50%;
}

.top-100 {
    top: 100%;
}

.bottom-0 {
    bottom: 0;
}

.bottom-50 {
    bottom: 50%;
}

.bottom-100 {
    bottom: 100%;
}

.start-0 {
    left: 0;
}

.start-50 {
    left: 50%;
}

.start-100 {
    left: 100%;
}

.end-0 {
    right: 0;
}

.end-50 {
    right: 50%;
}

.end-100 {
    right: 100%;
}

.translate-middle {
    transform: translate(-50%, -50%);
}

.translate-middle-x {
    transform: translateX(-50%);
}

.translate-middle-y {
    transform: translateY(-50%);
}

.border {
    border: var(--border-width) var(--border-style) var(--border-color);
}

.border-0 {
    border: 0;
}

.border-top {
    border-top: var(--border-width) var(--border-style) var(--border-color);
}

.border-top-0 {
    border-top: 0;
}

.border-end {
    border-right: var(--border-width) var(--border-style) var(--border-color);
}

.border-end-0 {
    border-right: 0;
}

.border-bottom {
    border-bottom: var(--border-width) var(--border-style) var(--border-color);
}

.border-bottom-0 {
    border-bottom: 0;
}

.border-start {
    border-left: var(--border-width) var(--border-style) var(--border-color);
}

.border-start-0 {
    border-left: 0;
}

.border-primary {
    border-color: var(--primary);
}

.border-secondary {
    border-color: var(--secondary);
}

.border-success {
    border-color: var(--success);
}

.border-info {
    border-color: var(--info);
}

.border-warning {
    border-color: var(--warning);
}

.border-danger {
    border-color: var(--danger);
}

.border-primary-subtle {
    border-color: var(--primary-border-subtle);
}

.border-secondary-subtle {
    border-color: var(--secondary-border-subtle);
}

.border-success-subtle {
    border-color: var(--success-border-subtle);
}

.border-info-subtle {
    border-color: var(--info-border-subtle);
}

.border-warning-subtle {
    border-color: var(--warning-border-subtle);
}

.border-danger-subtle {
    border-color: var(--danger-border-subtle);
}

.border-1 {
    border-width: 1px;
}

.border-2 {
    border-width: 2px;
}

.border-3 {
    border-width: 3px;
}

.border-4 {
    border-width: 4px;
}

.border-5 {
    border-width: 5px;
}

.w-25 {
    width: 25%;
}

.w-50 {
    width: 50%;
}

.w-75 {
    width: 75%;
}

.w-100 {
    width: 100%;
}

.w-auto {
    width: auto;
}

.mw-100 {
    max-width: 100%;
}

.vw-100 {
    width: 100vw;
}

.min-vw-100 {
    min-width: 100vw;
}

.h-25 {
    height: 25%;
}

.h-50 {
    height: 50%;
}

.h-75 {
    height: 75%;
}

.h-100 {
    height: 100%;
}

.h-auto {
    height: auto;
}

.mh-100 {
    max-height: 100%;
}

.vh-100 {
    height: 100vh;
}

.min-vh-100 {
    min-height: 100vh;
}

.flex-fill {
    flex: 1 1 auto;
}

.flex-row {
    flex-direction: row;
}

.flex-column {
    flex-direction: column;
}

.flex-row-reverse {
    flex-direction: row-reverse;
}

.flex-column-reverse {
    flex-direction: column-reverse;
}

.flex-grow-0 {
    flex-grow: 0;
}

.flex-grow-1 {
    flex-grow: 1;
}

.flex-shrink-0 {
    flex-shrink: 0;
}

.flex-shrink-1 {
    flex-shrink: 1;
}

.flex-wrap {
    flex-wrap: wrap;
}

.flex-nowrap {
    flex-wrap: nowrap;
}

.flex-wrap-reverse {
    flex-wrap: wrap-reverse;
}

.justify-content-start {
    justify-content: flex-start;
}

.justify-content-end {
    justify-content: flex-end;
}

.justify-content-center {
    justify-content: center;
}

.justify-content-between {
    justify-content: space-between;
}

.justify-content-around {
    justify-content: space-around;
}

.justify-content-evenly {
    justify-content: space-evenly;
}

.align-items-start {
    align-items: flex-start;
}

.align-items-end {
    align-items: flex-end;
}

.align-items-center {
    align-items: center;
}

.align-items-baseline {
    align-items: baseline;
}

.align-items-stretch {
    align-items: stretch;
}

.align-content-start {
    align-content: flex-start;
}

.align-content-end {
    align-content: flex-end;
}

.align-content-center {
    align-content: center;
}

.align-content-between {
    align-content: space-between;
}

.align-content-around {
    align-content: space-around;
}

.align-content-stretch {
    align-content: stretch;
}

.align-self-auto {
    align-self: auto;
}

.align-self-start {
    align-self: flex-start;
}

.align-self-end {
    align-self: flex-end;
}

.align-self-center {
    align-self: center;
}

.align-self-baseline {
    align-self: baseline;
}

.align-self-stretch {
    align-self: stretch;
}

.m-0 {
    margin: 0;
}

.m-1 {
    margin: 0.25rem;
}

.m-2 {
    margin: 0.5rem;
}

.m-3 {
    margin: 1rem;
}

.m-4 {
    margin: 1.5rem;
}

.m-5 {
    margin: 3rem;
}

.m-auto {
    margin: auto;
}

.mx-0 {
    margin-right: 0;
    margin-left: 0;
}

.mx-1 {
    margin-right: 0.25rem;
    margin-left: 0.25rem;
}

.mx-2 {
    margin-right: 0.5rem;
    margin-left: 0.5rem;
}

.mx-3 {
    margin-right: 1rem;
    margin-left: 1rem;
}

.mx-4 {
    margin-right: 1.5rem;
    margin-left: 1.5rem;
}

.mx-5 {
    margin-right: 3rem;
    margin-left: 3rem;
}

.mx-auto {
    margin-right: auto;
    margin-left: auto;
}

.my-0 {
    margin-top: 0;
    margin-bottom: 0;
}

.my-1 {
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
}

.my-2 {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

.my-3 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.my-4 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.my-5 {
    margin-top: 3rem;
    margin-bottom: 3rem;
}

.my-auto {
    margin-top: auto;
    margin-bottom: auto;
}

.mt-0 {
    margin-top: 0;
}

.mt-1 {
    margin-top: 0.25rem;
}

.mt-2 {
    margin-top: 0.5rem;
}

.mt-3 {
    margin-top: 1rem;
}

.mt-4 {
    margin-top: 1.5rem;
}

.mt-5 {
    margin-top: 3rem;
}

.mt-auto {
    margin-top: auto;
}

.me-0 {
    margin-right: 0;
}

.me-1 {
    margin-right: 0.25rem;
}

.me-2 {
    margin-right: 0.5rem;
}

.me-3 {
    margin-right: 1rem;
}

.me-4 {
    margin-right: 1.5rem;
}

.me-5 {
    margin-right: 3rem;
}

.me-auto {
    margin-right: auto;
}

.mb-0 {
    margin-bottom: 0;
}

.mb-1 {
    margin-bottom: 0.25rem;
}

.mb-2 {
    margin-bottom: 0.5rem;
}

.mb-3 {
    margin-bottom: 1rem;
}

.mb-4 {
    margin-bottom: 1.5rem;
}

.mb-5 {
    margin-bottom: 3rem;
}

.mb-auto {
    margin-bottom: auto;
}

.ms-0 {
    margin-left: 0;
}

.ms-1 {
    margin-left: 0.25rem;
}

.ms-2 {
    margin-left: 0.5rem;
}

.ms-3 {
    margin-left: 1rem;
}

.ms-4 {
    margin-left: 1.5rem;
}

.ms-5 {
    margin-left: 3rem;
}

.ms-auto {
    margin-left: auto;
}

.p-0 {
    padding: 0;
}

.p-1 {
    padding: 0.25rem;
}

.p-2 {
    padding: 0.5rem;
}

.p-3 {
    padding: 1rem;
}

.p-4 {
    padding: 1.5rem;
}

.p-5 {
    padding: 3rem;
}

.px-0 {
    padding-right: 0;
    padding-left: 0;
}

.px-1 {
    padding-right: 0.25rem;
    padding-left: 0.25rem;
}

.px-2 {
    padding-right: 0.5rem;
    padding-left: 0.5rem;
}

.px-3 {
    padding-right: 1rem;
    padding-left: 1rem;
}

.px-4 {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
}

.px-5 {
    padding-right: 3rem;
    padding-left: 3rem;
}

.py-0 {
    padding-top: 0;
    padding-bottom: 0;
}

.py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.py-3 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.py-4 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.py-5 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.pt-0 {
    padding-top: 0;
}

.pt-1 {
    padding-top: 0.25rem;
}

.pt-2 {
    padding-top: 0.5rem;
}

.pt-3 {
    padding-top: 1rem;
}

.pt-4 {
    padding-top: 1.5rem;
}

.pt-5 {
    padding-top: 3rem;
}

.pe-0 {
    padding-right: 0;
}

.pe-1 {
    padding-right: 0.25rem;
}

.pe-2 {
    padding-right: 0.5rem;
}

.pe-3 {
    padding-right: 1rem;
}

.pe-4 {
    padding-right: 1.5rem;
}

.pe-5 {
    padding-right: 3rem;
}

.pb-0 {
    padding-bottom: 0;
}

.pb-1 {
    padding-bottom: 0.25rem;
}

.pb-2 {
    padding-bottom: 0.5rem;
}

.pb-3 {
    padding-bottom: 1rem;
}

.pb-4 {
    padding-bottom: 1.5rem;
}

.pb-5 {
    padding-bottom: 3rem;
}

.ps-0 {
    padding-left: 0;
}

.ps-1 {
    padding-left: 0.25rem;
}

.ps-2 {
    padding-left: 0.5rem;
}

.ps-3 {
    padding-left: 1rem;
}

.ps-4 {
    padding-left: 1.5rem;
}

.ps-5 {
    padding-left: 3rem;
}

.gap-0 {
    gap: 0;
}

.gap-1 {
    gap: 0.25rem;
}

.gap-2 {
    gap: 0.5rem;
}

.gap-3 {
    gap: 1rem;
}

.gap-4 {
    gap: 1.5rem;
}

.gap-5 {
    gap: 3rem;
}

.row-gap-0 {
    row-gap: 0;
}

.row-gap-1 {
    row-gap: 0.25rem;
}

.row-gap-2 {
    row-gap: 0.5rem;
}

.row-gap-3 {
    row-gap: 1rem;
}

.row-gap-4 {
    row-gap: 1.5rem;
}

.row-gap-5 {
    row-gap: 3rem;
}

.column-gap-0 {
    column-gap: 0;
}

.column-gap-1 {
    column-gap: 0.25rem;
}

.column-gap-2 {
    column-gap: 0.5rem;
}

.column-gap-3 {
    column-gap: 1rem;
}

.column-gap-4 {
    column-gap: 1.5rem;
}

.column-gap-5 {
    column-gap: 3rem;
}

.font-monospace {
    font-family: var(--font-monospace);
}

.fs-1 {
    font-size: calc(1.375rem + 1.5vw);
}

.fs-2 {
    font-size: calc(1.325rem + 0.9vw);
}

.fs-3 {
    font-size: calc(1.3rem + 0.6vw);
}

.fs-4 {
    font-size: calc(1.275rem + 0.3vw);
}

.fs-5 {
    font-size: 1.25rem;
}

.fs-6 {
    font-size: 1rem;
}

.fst-italic {
    font-style: italic;
}

.fst-normal {
    font-style: normal;
}

.fw-lighter {
    font-weight: lighter;
}

.fw-light {
    font-weight: 300;
}

.fw-normal {
    font-weight: 400;
}

.fw-medium {
    font-weight: 500;
}

.fw-semibold {
    font-weight: 600;
}

.fw-bold {
    font-weight: 700;
}

.fw-bolder {
    font-weight: bolder;
}

.lh-1 {
    line-height: 1;
}

.lh-sm {
    line-height: 1.25;
}

.lh-base {
    line-height: 1.5;
}

.lh-lg {
    line-height: 2;
}

.text-start {
    text-align: left;
}

.text-end {
    text-align: right;
}

.text-center {
    text-align: center;
}

.text-decoration-none {
    text-decoration: none;
}

.text-decoration-underline {
    text-decoration: underline;
}

.text-decoration-line-through {
    text-decoration: line-through;
}

.text-lowercase {
    text-transform: lowercase;
}

.text-uppercase {
    text-transform: uppercase;
}

.text-capitalize {
    text-transform: capitalize;
}

.text-wrap {
    white-space: normal;
}

.text-nowrap {
    white-space: nowrap;
}

.text-secondary {
    color: var(--secondary);
}

.text-success {
    color: var(--success);
}

.text-info {
    color: var(--info);
}

.text-warning {
    color: var(--warning);
}

.text-danger {
    color: var(--danger);
}

.text-body {
    color: var(--body-color);
}

.text-muted {
    color: var(--secondary-color);
}

.text-body-secondary {
    color: var(--secondary-color);
}

.text-body-tertiary {
    color: var(--tertiary-color);
}

.text-body-emphasis {
    color: var(--emphasis-color);
}

.text-reset {
    color: inherit;
}

.link-offset-1 {
    text-underline-offset: 0.125em;
}

.link-offset-1-hover:hover {
    text-underline-offset: 0.125em;
}

.link-offset-2 {
    text-underline-offset: 0.25em;
}

.link-offset-2-hover:hover {
    text-underline-offset: 0.25em;
}

.link-offset-3 {
    text-underline-offset: 0.375em;
}

.bg-primary {
    background-color: var(--primary);
}

.bg-secondary {
    background-color: var(--secondary);
}

.bg-success {
    background-color: var(--success);
}

.bg-info {
    background-color: var(--info);
}

.bg-warning {
    background-color: var(--warning);
}

.bg-danger {
    background-color: var(--danger);
}

.bg-body {
    background-color: var(--body-bg);
}

.bg-transparent {
    background-color: transparent;
}

.bg-body-secondary {
    background-color: var(--secondary-bg);
}

.bg-body-tertiary {
    background-color: var(--tertiary-bg);
}

.bg-opacity-10 {
    --bg-opacity: 0.1;
}

.bg-opacity-25 {
    --bg-opacity: 0.25;
}

.bg-opacity-50 {
    --bg-opacity: 0.5;
}

.bg-opacity-75 {
    --bg-opacity: 0.75;
}

.bg-primary-subtle {
    background-color: var(--primary-bg-subtle);
}

.bg-secondary-subtle {
    background-color: var(--secondary-bg-subtle);
}

.bg-success-subtle {
    background-color: var(--success-bg-subtle);
}

.bg-info-subtle {
    background-color: var(--info-bg-subtle);
}

.bg-warning-subtle {
    background-color: var(--warning-bg-subtle);
}

.bg-danger-subtle {
    background-color: var(--danger-bg-subtle);
}

.user-select-all {
    -webkit-user-select: all;
    -moz-user-select: all;
    user-select: all;
}

.user-select-auto {
    -webkit-user-select: auto;
    -moz-user-select: auto;
    user-select: auto;
}

.user-select-none {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

.pe-none {
    pointer-events: none;
}

.pe-auto {
    pointer-events: auto;
}

.rounded {
    border-radius: 0.375rem;
}

.rounded-0 {
    border-radius: 0;
}

.rounded-1 {
    border-radius: 0.25rem;
}

.rounded-2 {
    border-radius: 0.375rem;
}

.rounded-3 {
    border-radius: 0.5rem;
}

.rounded-4 {
    border-radius: 1rem;
}

.rounded-5 {
    border-radius: 2rem;
}

.rounded-circle {
    border-radius: 50%;
}

.rounded-pill {
    border-radius: 50rem;
}

.rounded-top {
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
}

.rounded-top-0 {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.rounded-top-1 {
    border-top-left-radius: 0.25rem;
    border-top-right-radius: 0.25rem;
}

.rounded-top-2 {
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
}

.rounded-top-3 {
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
}

.rounded-top-4 {
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
}

.rounded-top-5 {
    border-top-left-radius: 2rem;
    border-top-right-radius: 2rem;
}

.rounded-end {
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
}

.rounded-end-0 {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.rounded-end-1 {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
}

.rounded-end-2 {
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
}

.rounded-end-3 {
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

.rounded-end-4 {
    border-top-right-radius: 1rem;
    border-bottom-right-radius: 1rem;
}

.rounded-end-5 {
    border-top-right-radius: 2rem;
    border-bottom-right-radius: 2rem;
}

.rounded-bottom {
    border-bottom-right-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
}

.rounded-bottom-0 {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.rounded-bottom-1 {
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}

.rounded-bottom-2 {
    border-bottom-right-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
}

.rounded-bottom-3 {
    border-bottom-right-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
}

.rounded-bottom-4 {
    border-bottom-right-radius: 1rem;
    border-bottom-left-radius: 1rem;
}

.rounded-bottom-5 {
    border-bottom-right-radius: 2rem;
    border-bottom-left-radius: 2rem;
}

.rounded-start {
    border-bottom-left-radius: 0.375rem;
    border-top-left-radius: 0.375rem;
}

.rounded-start-0 {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

.rounded-start-1 {
    border-bottom-left-radius: 0.25rem;
    border-top-left-radius: 0.25rem;
}

.rounded-start-2 {
    border-bottom-left-radius: 0.375rem;
    border-top-left-radius: 0.375rem;
}

.rounded-start-3 {
    border-bottom-left-radius: 0.5rem;
    border-top-left-radius: 0.5rem;
}

.rounded-start-4 {
    border-bottom-left-radius: 1rem;
    border-top-left-radius: 1rem;
}

.rounded-start-5 {
    border-bottom-left-radius: 2rem;
    border-top-left-radius: 2rem;
}

.visible {
    visibility: visible;
}

.invisible {
    visibility: hidden;
}

.z-n1 {
    z-index: -1;
}

.z-0 {
    z-index: 0;
}

.z-1 {
    z-index: 1;
}

.z-2 {
    z-index: 2;
}

.z-3 {
    z-index: 3;
}
