/*!
 * Citesc Bootstrap — v1.0
 * A Bootstrap-compatible CSS foundation (reboot, grid, typography, components, utilities).
 * Drop-in replacement for bootstrap.css class surface: uses the same class names
 * (.container, .row, .col-*, .btn, .card, .alert, .navbar, .form-control, .table, etc.)
 * so existing Bootstrap markup renders correctly.
 *
 * Copyright (c) Citesc.Eu
 * Licensed under MIT
 */

/* ==========================================================================
   1. CSS variables / root tokens
   ========================================================================== */
:root {
  /* Brand colors — terminal palette */
  --bs-blue:    #4ade80;
  --bs-indigo:  #8b5cf6;
  --bs-purple:  #a78bfa;
  --bs-pink:    #ff5a4a;
  --bs-red:     #ff5a4a;
  --bs-orange:  #ff9a4a;
  --bs-yellow:  #f5c451;
  --bs-green:   #4ade80;
  --bs-teal:    #4ade80;
  --bs-cyan:    #6ef09a;

  --bs-white:   #f2efe6;
  --bs-gray:    #6f7681;
  --bs-gray-dark: #1a1e24;
  --bs-gray-100: #14171d;
  --bs-gray-200: #1a1e24;
  --bs-gray-300: #242831;
  --bs-gray-400: #2f3440;
  --bs-gray-500: #4a5160;
  --bs-gray-600: #6f7681;
  --bs-gray-700: #9aa0ab;
  --bs-gray-800: #c9ccd1;
  --bs-gray-900: #e8e6e1;
  --bs-black:   #000;

  /* Semantic — terminal */
  --bs-primary:   #4ade80;
  --bs-secondary: #6f7681;
  --bs-success:   #4ade80;
  --bs-info:      #6ef09a;
  --bs-warning:   #f5c451;
  --bs-danger:    #ff5a4a;
  --bs-light:     #f2efe6;
  --bs-dark:      #000;

  --bs-primary-rgb:   74,222,128;
  --bs-secondary-rgb: 111,118,129;
  --bs-success-rgb:   74,222,128;
  --bs-info-rgb:      110,240,154;
  --bs-warning-rgb:   245,196,81;
  --bs-danger-rgb:    255,90,74;
  --bs-light-rgb:     242,239,230;
  --bs-dark-rgb:      0,0,0;
  --bs-white-rgb:     242,239,230;
  --bs-black-rgb:     0,0,0;
  --bs-body-color-rgb: 232,230,225;
  --bs-body-bg-rgb:    0,0,0;
  --bs-emphasis-color-rgb: 232,230,225;

  /* Typography */
  --bs-font-sans-serif: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --bs-font-monospace:  "JetBrains Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Courier New", monospace;

  --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: #e8e6e1;
  --bs-body-bg:    #000000;

  --bs-border-width:  1px;
  --bs-border-style:  solid;
  --bs-border-color:  #242831;
  --bs-border-color-translucent: rgba(232,230,225,.12);
  --bs-border-radius:       0;
  --bs-border-radius-sm:    0;
  --bs-border-radius-lg:    0;
  --bs-border-radius-xl:    0;
  --bs-border-radius-2xl:   0;
  --bs-border-radius-pill:  50rem;

  --bs-link-color:       #4ade80;
  --bs-link-hover-color: #6ef09a;

  --bs-code-color: #4ade80;
  --bs-highlight-bg: rgba(74,222,128,.18);

  --bs-box-shadow:     0 .5rem 1rem rgba(0,0,0,.5);
  --bs-box-shadow-sm:  0 .125rem .25rem rgba(0,0,0,.4);
  --bs-box-shadow-lg:  0 1rem 3rem rgba(0,0,0,.6);
  --bs-box-shadow-inset: inset 0 1px 2px rgba(0,0,0,.4);

  --bs-emphasis-color: #f2efe6;
  --bs-secondary-color: rgba(232,230,225,.7);
  --bs-tertiary-color:  rgba(232,230,225,.5);
  --bs-secondary-bg:    #14171d;
  --bs-tertiary-bg:     #0a0c10;
}

/* ==========================================================================
   2. Reboot / normalize
   ========================================================================== */
*,
*::before,
*::after { box-sizing: border-box; }

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

html { -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; }

body {
  margin: 0;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
  text-align: var(--bs-body-text-align, left);
  background-color: var(--bs-body-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

h1, h2, h3, h4, h5, h6 {
  margin-top: 0; margin-bottom: .5rem;
  font-weight: 500; line-height: 1.2;
  color: var(--bs-heading-color, inherit);
}
h1 { font-size: calc(1.375rem + 1.5vw); }
h2 { font-size: calc(1.325rem + .9vw);  }
h3 { font-size: calc(1.3rem + .6vw);    }
h4 { font-size: calc(1.275rem + .3vw);  }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }
@media (min-width: 1200px) {
  h1 { font-size: 2.5rem; }
  h2 { font-size: 2rem;   }
  h3 { font-size: 1.75rem;}
  h4 { font-size: 1.5rem; }
}

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

abbr[title] { text-decoration: underline dotted; cursor: help; text-decoration-skip-ink: none; }
address { margin-bottom: 1rem; font-style: normal; line-height: inherit; }

ol, ul { padding-left: 2rem; }
ol, ul, dl { margin-top: 0; margin-bottom: 1rem; }
ol ol, ul ul, ol ul, ul ol { margin-bottom: 0; }
dt { font-weight: 700; }
dd { margin-bottom: .5rem; margin-left: 0; }

blockquote { margin: 0 0 1rem; }

b, strong { font-weight: bolder; }

small, .small { font-size: .875em; }
mark, .mark { padding: .1875em; background-color: var(--bs-highlight-bg); }

sub, sup { position: relative; font-size: .75em; line-height: 0; vertical-align: baseline; }
sub { bottom: -.25em; }
sup { top: -.5em; }

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

pre, code, kbd, samp {
  font-family: var(--bs-font-monospace);
  font-size: 1em;
}
pre {
  display: block; margin-top: 0; margin-bottom: 1rem;
  overflow: auto; font-size: .875em;
  color: var(--bs-body-color);
}
pre code { font-size: inherit; color: inherit; word-break: normal; }
code { font-size: .875em; color: var(--bs-code-color); word-wrap: break-word; }
a > code { color: inherit; }
kbd { padding: .1875rem .375rem; font-size: .875em; color: var(--bs-body-bg); background-color: var(--bs-body-color); border-radius: .25rem; }
kbd kbd { padding: 0; font-size: 1em; }

figure { margin: 0 0 1rem; }
img, svg { vertical-align: middle; }

table {
  caption-side: bottom;
  border-collapse: collapse;
}
caption { padding-top: .5rem; padding-bottom: .5rem; color: var(--bs-secondary-color); text-align: left; }
th { text-align: inherit; text-align: -webkit-match-parent; }
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; }
[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator { display: none !important; }
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: .5rem; font-size: calc(1.275rem + .3vw); line-height: inherit; }
@media (min-width: 1200px) { legend { font-size: 1.5rem; } }
legend + * { clear: left; }
::-webkit-datetime-edit-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"] { outline-offset: -2px; -webkit-appearance: textfield; }
::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-color-swatch-wrapper { padding: 0; }
::-webkit-file-upload-button { font: inherit; -webkit-appearance: button; }
::file-selector-button { font: inherit; -webkit-appearance: button; }
output { display: inline-block; }
iframe { border: 0; }
summary { display: list-item; cursor: pointer; }
progress { vertical-align: baseline; }
[hidden] { display: none !important; }

/* ==========================================================================
   3. Type utilities & display headings
   ========================================================================== */
.lead { font-size: 1.25rem; font-weight: 300; }

.display-1 { font-size: calc(1.625rem + 4.5vw); font-weight: 300; line-height: 1.2; }
.display-2 { font-size: calc(1.575rem + 3.9vw); font-weight: 300; line-height: 1.2; }
.display-3 { font-size: calc(1.525rem + 3.3vw); font-weight: 300; line-height: 1.2; }
.display-4 { font-size: calc(1.475rem + 2.7vw); font-weight: 300; line-height: 1.2; }
.display-5 { font-size: calc(1.425rem + 2.1vw); font-weight: 300; line-height: 1.2; }
.display-6 { font-size: calc(1.375rem + 1.5vw); font-weight: 300; line-height: 1.2; }
@media (min-width: 1200px) {
  .display-1 { font-size: 5rem; }
  .display-2 { font-size: 4.5rem; }
  .display-3 { font-size: 4rem; }
  .display-4 { font-size: 3.5rem; }
  .display-5 { font-size: 3rem; }
  .display-6 { font-size: 2.5rem; }
}

.list-unstyled, .list-inline { padding-left: 0; list-style: none; }
.list-inline-item { display: inline-block; }
.list-inline-item:not(:last-child) { margin-right: .5rem; }

.initialism { font-size: .875em; text-transform: uppercase; }

.blockquote { margin-bottom: 1rem; font-size: 1.25rem; }
.blockquote > :last-child { margin-bottom: 0; }
.blockquote-footer { margin-top: -1rem; margin-bottom: 1rem; font-size: .875em; color: #6f7681; }
.blockquote-footer::before { content: "\2014\00A0"; }

/* ==========================================================================
   4. Images
   ========================================================================== */
.img-fluid { max-width: 100%; height: auto; }
.img-thumbnail {
  padding: .25rem;
  background-color: var(--bs-body-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  max-width: 100%; height: auto;
}
.figure { display: inline-block; }
.figure-img { margin-bottom: .5rem; line-height: 1; }
.figure-caption { font-size: .875em; color: #6f7681; }

/* ==========================================================================
   5. Containers & grid
   ========================================================================== */
.container,
.container-fluid,
.container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left:  calc(var(--bs-gutter-x) * .5);
  margin-right: auto; margin-left: auto;
}
@media (min-width: 576px)  { .container-sm, .container { max-width: 540px;  } }
@media (min-width: 768px)  { .container-md, .container-sm, .container { max-width: 720px;  } }
@media (min-width: 992px)  { .container-lg, .container-md, .container-sm, .container { max-width: 960px;  } }
@media (min-width: 1200px) { .container-xl, .container-lg, .container-md, .container-sm, .container { max-width: 1140px; } }
@media (min-width: 1400px) { .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { max-width: 1320px; } }

.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-.5 * var(--bs-gutter-x));
  margin-left:  calc(-.5 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0; width: 100%; max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * .5);
  padding-left:  calc(var(--bs-gutter-x) * .5);
  margin-top: var(--bs-gutter-y);
}

/* base cols */
.col { flex: 1 0 0%; }
.row-cols-auto > * { flex: 0 0 auto; width: auto; }
.row-cols-1 > * { flex: 0 0 auto; width: 100%; }
.row-cols-2 > * { flex: 0 0 auto; width: 50%; }
.row-cols-3 > * { flex: 0 0 auto; width: 33.3333333333%; }
.row-cols-4 > * { flex: 0 0 auto; width: 25%; }
.row-cols-5 > * { flex: 0 0 auto; width: 20%; }
.row-cols-6 > * { flex: 0 0 auto; width: 16.6666666667%; }

.col-auto { flex: 0 0 auto; width: auto; }
.col-1  { flex: 0 0 auto; width: 8.33333333%; }
.col-2  { flex: 0 0 auto; width: 16.66666667%; }
.col-3  { flex: 0 0 auto; width: 25%; }
.col-4  { flex: 0 0 auto; width: 33.33333333%; }
.col-5  { flex: 0 0 auto; width: 41.66666667%; }
.col-6  { flex: 0 0 auto; width: 50%; }
.col-7  { flex: 0 0 auto; width: 58.33333333%; }
.col-8  { flex: 0 0 auto; width: 66.66666667%; }
.col-9  { flex: 0 0 auto; width: 75%; }
.col-10 { flex: 0 0 auto; width: 83.33333333%; }
.col-11 { flex: 0 0 auto; width: 91.66666667%; }
.col-12 { flex: 0 0 auto; width: 100%; }

.offset-1  { margin-left: 8.33333333%; }
.offset-2  { margin-left: 16.66666667%; }
.offset-3  { margin-left: 25%; }
.offset-4  { margin-left: 33.33333333%; }
.offset-5  { margin-left: 41.66666667%; }
.offset-6  { margin-left: 50%; }
.offset-7  { margin-left: 58.33333333%; }
.offset-8  { margin-left: 66.66666667%; }
.offset-9  { margin-left: 75%; }
.offset-10 { margin-left: 83.33333333%; }
.offset-11 { margin-left: 91.66666667%; }

.g-0  { --bs-gutter-x: 0;     --bs-gutter-y: 0; }
.g-1  { --bs-gutter-x: .25rem;--bs-gutter-y: .25rem; }
.g-2  { --bs-gutter-x: .5rem; --bs-gutter-y: .5rem; }
.g-3  { --bs-gutter-x: 1rem;  --bs-gutter-y: 1rem; }
.g-4  { --bs-gutter-x: 1.5rem;--bs-gutter-y: 1.5rem; }
.g-5  { --bs-gutter-x: 3rem;  --bs-gutter-y: 3rem; }
.gx-0 { --bs-gutter-x: 0; } .gx-1 { --bs-gutter-x: .25rem; } .gx-2 { --bs-gutter-x: .5rem; } .gx-3 { --bs-gutter-x: 1rem; } .gx-4 { --bs-gutter-x: 1.5rem; } .gx-5 { --bs-gutter-x: 3rem; }
.gy-0 { --bs-gutter-y: 0; } .gy-1 { --bs-gutter-y: .25rem; } .gy-2 { --bs-gutter-y: .5rem; } .gy-3 { --bs-gutter-y: 1rem; } .gy-4 { --bs-gutter-y: 1.5rem; } .gy-5 { --bs-gutter-y: 3rem; }

/* Responsive col breakpoints */
@media (min-width: 576px) {
  .col-sm { flex: 1 0 0%; }
  .row-cols-sm-auto > * { flex: 0 0 auto; width: auto; }
  .row-cols-sm-1 > * { width: 100%; } .row-cols-sm-2 > * { width: 50%; } .row-cols-sm-3 > * { width: 33.333%; } .row-cols-sm-4 > * { width: 25%; } .row-cols-sm-5 > * { width: 20%; } .row-cols-sm-6 > * { width: 16.666%; }
  .col-sm-auto { flex: 0 0 auto; width: auto; }
  .col-sm-1  { width: 8.33333333%; } .col-sm-2  { width: 16.66666667%; } .col-sm-3  { width: 25%; } .col-sm-4  { width: 33.33333333%; } .col-sm-5  { width: 41.66666667%; } .col-sm-6  { width: 50%; } .col-sm-7  { width: 58.33333333%; } .col-sm-8  { width: 66.66666667%; } .col-sm-9  { width: 75%; } .col-sm-10 { width: 83.33333333%; } .col-sm-11 { width: 91.66666667%; } .col-sm-12 { width: 100%; }
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { flex: 0 0 auto; }
}
@media (min-width: 768px) {
  .col-md { flex: 1 0 0%; }
  .row-cols-md-auto > * { flex: 0 0 auto; width: auto; }
  .row-cols-md-1 > * { width: 100%; } .row-cols-md-2 > * { width: 50%; } .row-cols-md-3 > * { width: 33.333%; } .row-cols-md-4 > * { width: 25%; } .row-cols-md-5 > * { width: 20%; } .row-cols-md-6 > * { width: 16.666%; }
  .col-md-auto { flex: 0 0 auto; width: auto; }
  .col-md-1  { width: 8.33333333%; } .col-md-2  { width: 16.66666667%; } .col-md-3  { width: 25%; } .col-md-4  { width: 33.33333333%; } .col-md-5  { width: 41.66666667%; } .col-md-6  { width: 50%; } .col-md-7  { width: 58.33333333%; } .col-md-8  { width: 66.66666667%; } .col-md-9  { width: 75%; } .col-md-10 { width: 83.33333333%; } .col-md-11 { width: 91.66666667%; } .col-md-12 { width: 100%; }
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { flex: 0 0 auto; }
}
@media (min-width: 992px) {
  .col-lg { flex: 1 0 0%; }
  .row-cols-lg-auto > * { flex: 0 0 auto; width: auto; }
  .row-cols-lg-1 > * { width: 100%; } .row-cols-lg-2 > * { width: 50%; } .row-cols-lg-3 > * { width: 33.333%; } .row-cols-lg-4 > * { width: 25%; } .row-cols-lg-5 > * { width: 20%; } .row-cols-lg-6 > * { width: 16.666%; }
  .col-lg-auto { flex: 0 0 auto; width: auto; }
  .col-lg-1  { width: 8.33333333%; } .col-lg-2  { width: 16.66666667%; } .col-lg-3  { width: 25%; } .col-lg-4  { width: 33.33333333%; } .col-lg-5  { width: 41.66666667%; } .col-lg-6  { width: 50%; } .col-lg-7  { width: 58.33333333%; } .col-lg-8  { width: 66.66666667%; } .col-lg-9  { width: 75%; } .col-lg-10 { width: 83.33333333%; } .col-lg-11 { width: 91.66666667%; } .col-lg-12 { width: 100%; }
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { flex: 0 0 auto; }
}
@media (min-width: 1200px) {
  .col-xl { flex: 1 0 0%; }
  .col-xl-auto { flex: 0 0 auto; width: auto; }
  .col-xl-1  { width: 8.33333333%; } .col-xl-2  { width: 16.66666667%; } .col-xl-3  { width: 25%; } .col-xl-4  { width: 33.33333333%; } .col-xl-5  { width: 41.66666667%; } .col-xl-6  { width: 50%; } .col-xl-7  { width: 58.33333333%; } .col-xl-8  { width: 66.66666667%; } .col-xl-9  { width: 75%; } .col-xl-10 { width: 83.33333333%; } .col-xl-11 { width: 91.66666667%; } .col-xl-12 { width: 100%; }
  .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12 { flex: 0 0 auto; }
}

/* ==========================================================================
   6. Tables
   ========================================================================== */
.table {
  --bs-table-bg: transparent;
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-body-color);
  --bs-table-striped-bg: rgba(0,0,0,.05);
  --bs-table-hover-color: var(--bs-body-color);
  --bs-table-hover-bg: rgba(0,0,0,.075);
  --bs-table-border-color: var(--bs-border-color);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > * {
  padding: .5rem .5rem;
  background-color: var(--bs-table-bg);
  border-bottom-width: var(--bs-border-width);
  box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
}
.table > tbody { vertical-align: inherit; }
.table > thead { vertical-align: bottom; }
.table-sm > :not(caption) > * > * { padding: .25rem .25rem; }
.table-bordered > :not(caption) > * { border-width: var(--bs-border-width) 0; }
.table-bordered > :not(caption) > * > * { border-width: 0 var(--bs-border-width); }
.table-borderless > :not(caption) > * > * { border-bottom-width: 0; }
.table-borderless > :not(:first-child) { border-top-width: 0; }
.table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-accent-bg: var(--bs-table-striped-bg); color: var(--bs-table-striped-color); }
.table-hover > tbody > tr:hover > * { --bs-table-accent-bg: var(--bs-table-hover-bg); color: var(--bs-table-hover-color); }
.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* ==========================================================================
   7. Forms
   ========================================================================== */
.form-label { margin-bottom: .5rem; }
.col-form-label { padding-top: calc(.375rem + var(--bs-border-width)); padding-bottom: calc(.375rem + var(--bs-border-width)); margin-bottom: 0; font-size: inherit; line-height: 1.5; }
.col-form-label-lg { padding-top: calc(.5rem + var(--bs-border-width)); padding-bottom: calc(.5rem + var(--bs-border-width)); font-size: 1.25rem; }
.col-form-label-sm { padding-top: calc(.25rem + var(--bs-border-width)); padding-bottom: calc(.25rem + var(--bs-border-width)); font-size: .875rem; }
.form-text { margin-top: .25rem; font-size: .875em; color: var(--bs-secondary-color); }

.form-control {
  display: block; width: 100%;
  padding: .375rem .75rem;
  font-size: 1rem; font-weight: 400; line-height: 1.5;
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: var(--bs-border-width) solid var(--bs-border-color);
  appearance: none;
  border-radius: var(--bs-border-radius);
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.form-control:focus {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  border-color: #4ade80;
  outline: 0;
  box-shadow: 0 0 0 .25rem rgba(74,222,128,.25);
}
.form-control::placeholder { color: var(--bs-secondary-color); opacity: 1; }
.form-control:disabled { background-color: var(--bs-secondary-bg); opacity: 1; }
.form-control[type="file"] { overflow: hidden; }
.form-control[type="file"]:not(:disabled):not([readonly]) { cursor: pointer; }
.form-control::-webkit-file-upload-button {
  padding: .375rem .75rem;
  margin: -.375rem -.75rem;
  margin-inline-end: .75rem;
  color: var(--bs-body-color);
  background-color: var(--bs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0; border-inline-end-width: var(--bs-border-width);
  border-radius: 0;
  transition: color .15s, background-color .15s;
}

.form-control-sm { min-height: calc(1.5em + .5rem + calc(var(--bs-border-width) * 2)); padding: .25rem .5rem; font-size: .875rem; border-radius: var(--bs-border-radius-sm); }
.form-control-lg { min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2)); padding: .5rem 1rem; font-size: 1.25rem; border-radius: var(--bs-border-radius-lg); }
.form-control-plaintext { display: block; width: 100%; padding: .375rem 0; margin-bottom: 0; line-height: 1.5; color: var(--bs-body-color); background-color: transparent; border: solid transparent; border-width: var(--bs-border-width) 0; }

textarea.form-control { min-height: calc(1.5em + .75rem + calc(var(--bs-border-width) * 2)); }

.form-select {
  display: block; width: 100%;
  padding: .375rem 2.25rem .375rem .75rem;
  font-size: 1rem; font-weight: 400; line-height: 1.5;
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%234ade80' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right .75rem center; background-size: 16px 12px;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition: border-color .15s, box-shadow .15s;
  appearance: none;
}
.form-select:focus { border-color: #4ade80; outline: 0; box-shadow: 0 0 0 .25rem rgba(74,222,128,.25); }
.form-select-sm { padding-top: .25rem; padding-bottom: .25rem; padding-left: .5rem; font-size: .875rem; border-radius: var(--bs-border-radius-sm); }
.form-select-lg { padding-top: .5rem; padding-bottom: .5rem; padding-left: 1rem; font-size: 1.25rem; border-radius: var(--bs-border-radius-lg); }

.form-check { display: block; min-height: 1.5rem; padding-left: 1.5em; margin-bottom: .125rem; }
.form-check .form-check-input { float: left; margin-left: -1.5em; }
.form-check-input {
  width: 1em; height: 1em; margin-top: .25em;
  vertical-align: top;
  background-color: var(--bs-body-bg);
  background-repeat: no-repeat; background-position: center; background-size: contain;
  border: var(--bs-border-width) solid #2f3440;
  appearance: none;
  color-adjust: exact; print-color-adjust: exact;
}
.form-check-input[type="checkbox"] { border-radius: .25em; }
.form-check-input[type="radio"]    { border-radius: 50%; }
.form-check-input:active { filter: brightness(90%); }
.form-check-input:focus { border-color: #4ade80; outline: 0; box-shadow: 0 0 0 .25rem rgba(74,222,128,.25); }
.form-check-input:checked { background-color: var(--bs-primary); border-color: var(--bs-primary); }
.form-check-input:checked[type="checkbox"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3E%3C/svg%3E"); }
.form-check-input:checked[type="radio"]    { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='2' fill='%23000'/%3E%3C/svg%3E"); }
.form-check-input:disabled { pointer-events: none; filter: none; opacity: .5; }
.form-check-label { cursor: pointer; }
.form-switch { padding-left: 2.5em; }
.form-switch .form-check-input { width: 2em; margin-left: -2.5em; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='rgba%28232,230,225,.35%29'/%3E%3C/svg%3E"); background-position: left center; border-radius: 2em; transition: background-position .15s ease-in-out; }
.form-switch .form-check-input:focus { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%234ade80'/%3E%3C/svg%3E"); }
.form-switch .form-check-input:checked { background-position: right center; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23000'/%3E%3C/svg%3E"); }
.form-check-inline { display: inline-block; margin-right: 1rem; }

.form-range {
  width: 100%; height: 1.5rem; padding: 0;
  background-color: transparent; appearance: none;
}
.form-range:focus { outline: 0; }
.form-range::-webkit-slider-thumb { width: 1rem; height: 1rem; margin-top: -.25rem; background-color: var(--bs-primary); border: 0; border-radius: 1rem; appearance: none; }
.form-range::-webkit-slider-runnable-track { width: 100%; height: .5rem; color: transparent; cursor: pointer; background-color: var(--bs-tertiary-bg); border-color: transparent; border-radius: 1rem; }
.form-range::-moz-range-thumb { width: 1rem; height: 1rem; background-color: var(--bs-primary); border: 0; border-radius: 1rem; }
.form-range::-moz-range-track { width: 100%; height: .5rem; color: transparent; cursor: pointer; background-color: var(--bs-tertiary-bg); border-color: transparent; border-radius: 1rem; }

.input-group {
  position: relative; display: flex; flex-wrap: wrap; align-items: stretch; width: 100%;
}
.input-group > .form-control, .input-group > .form-select, .input-group > .form-floating { position: relative; flex: 1 1 auto; width: 1%; min-width: 0; }
.input-group-text {
  display: flex; align-items: center;
  padding: .375rem .75rem; font-size: 1rem; font-weight: 400; line-height: 1.5;
  color: var(--bs-body-color); text-align: center; white-space: nowrap;
  background-color: var(--bs-tertiary-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
}
.input-group-lg > .form-control, .input-group-lg > .form-select, .input-group-lg > .input-group-text, .input-group-lg > .btn { padding: .5rem 1rem; font-size: 1.25rem; border-radius: var(--bs-border-radius-lg); }
.input-group-sm > .form-control, .input-group-sm > .form-select, .input-group-sm > .input-group-text, .input-group-sm > .btn { padding: .25rem .5rem; font-size: .875rem; border-radius: var(--bs-border-radius-sm); }
.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3), .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control, .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { margin-left: calc(var(--bs-border-width) * -1); border-top-left-radius: 0; border-bottom-left-radius: 0; }

.valid-feedback, .invalid-feedback { display: none; width: 100%; margin-top: .25rem; font-size: .875em; }
.valid-feedback { color: var(--bs-success); }
.invalid-feedback { color: var(--bs-danger); }
.was-validated :valid ~ .valid-feedback, .is-valid ~ .valid-feedback { display: block; }
.was-validated :invalid ~ .invalid-feedback, .is-invalid ~ .invalid-feedback { display: block; }
.was-validated .form-control:valid, .form-control.is-valid { border-color: var(--bs-success); }
.was-validated .form-control:invalid, .form-control.is-invalid { border-color: var(--bs-danger); }
.was-validated .form-control:valid:focus, .form-control.is-valid:focus { box-shadow: 0 0 0 .25rem rgba(var(--bs-success-rgb),.25); }
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { box-shadow: 0 0 0 .25rem rgba(var(--bs-danger-rgb),.25); }

/* ==========================================================================
   8. Buttons
   ========================================================================== */
.btn {
  --bs-btn-padding-x: .75rem;
  --bs-btn-padding-y: .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,.15), 0 1px 1px rgba(0,0,0,.075);
  --bs-btn-disabled-opacity: .65;
  --bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);

  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-family: var(--bs-btn-font-family);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
  transition: color .15s, background-color .15s, border-color .15s, box-shadow .15s;
}
.btn:hover {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
}
.btn:focus-visible {
  color: var(--bs-btn-hover-color);
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
  outline: 0;
  box-shadow: var(--bs-btn-focus-box-shadow);
}
.btn:active, .btn.active, .btn.show {
  color: var(--bs-btn-active-color);
  background-color: var(--bs-btn-active-bg);
  border-color: var(--bs-btn-active-border-color);
}
.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  color: var(--bs-btn-disabled-color);
  pointer-events: none;
  background-color: var(--bs-btn-disabled-bg);
  border-color: var(--bs-btn-disabled-border-color);
  opacity: var(--bs-btn-disabled-opacity);
}

/* Solid variants */
.btn-primary   { --bs-btn-color:#000;--bs-btn-bg:#4ade80;--bs-btn-border-color:#4ade80;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#6ef09a;--bs-btn-hover-border-color:#6ef09a;--bs-btn-focus-shadow-rgb:74,222,128;--bs-btn-active-color:#000;--bs-btn-active-bg:#6ef09a;--bs-btn-active-border-color:#6ef09a;--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#4ade80;--bs-btn-disabled-border-color:#4ade80; }
.btn-secondary { --bs-btn-color:#e8e6e1;--bs-btn-bg:#242831;--bs-btn-border-color:#2f3440;--bs-btn-hover-color:#f2efe6;--bs-btn-hover-bg:#2f3440;--bs-btn-hover-border-color:#4a5160;--bs-btn-focus-shadow-rgb:111,118,129;--bs-btn-active-color:#f2efe6;--bs-btn-active-bg:#2f3440;--bs-btn-active-border-color:#4a5160;--bs-btn-disabled-color:#9aa0ab;--bs-btn-disabled-bg:#242831;--bs-btn-disabled-border-color:#2f3440; }
.btn-success   { --bs-btn-color:#000;--bs-btn-bg:#4ade80;--bs-btn-border-color:#4ade80;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#6ef09a;--bs-btn-hover-border-color:#6ef09a;--bs-btn-focus-shadow-rgb:74,222,128;--bs-btn-active-color:#000;--bs-btn-active-bg:#6ef09a;--bs-btn-active-border-color:#6ef09a;--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#4ade80;--bs-btn-disabled-border-color:#4ade80; }
.btn-danger    { --bs-btn-color:#000;--bs-btn-bg:#ff5a4a;--bs-btn-border-color:#ff5a4a;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ff7a6e;--bs-btn-hover-border-color:#ff7a6e;--bs-btn-focus-shadow-rgb:255,90,74;--bs-btn-active-color:#000;--bs-btn-active-bg:#ff7a6e;--bs-btn-active-border-color:#ff7a6e;--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ff5a4a;--bs-btn-disabled-border-color:#ff5a4a; }
.btn-warning   { --bs-btn-color:#000;--bs-btn-bg:#f5c451;--bs-btn-border-color:#f5c451;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffd76b;--bs-btn-hover-border-color:#ffd76b;--bs-btn-focus-shadow-rgb:245,196,81;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffd76b;--bs-btn-active-border-color:#ffd76b;--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f5c451;--bs-btn-disabled-border-color:#f5c451; }
.btn-info      { --bs-btn-color:#000;--bs-btn-bg:#6ef09a;--bs-btn-border-color:#6ef09a;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#8ff5b2;--bs-btn-hover-border-color:#8ff5b2;--bs-btn-focus-shadow-rgb:110,240,154;--bs-btn-active-color:#000;--bs-btn-active-bg:#8ff5b2;--bs-btn-active-border-color:#8ff5b2;--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#6ef09a;--bs-btn-disabled-border-color:#6ef09a; }
.btn-light     { --bs-btn-color:#000;--bs-btn-bg:#f2efe6;--bs-btn-border-color:#f2efe6;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#fffaf0;--bs-btn-hover-border-color:#fffaf0;--bs-btn-focus-shadow-rgb:242,239,230;--bs-btn-active-color:#000;--bs-btn-active-bg:#fffaf0;--bs-btn-active-border-color:#fffaf0;--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f2efe6;--bs-btn-disabled-border-color:#f2efe6; }
.btn-dark      { --bs-btn-color:#e8e6e1;--bs-btn-bg:#000;--bs-btn-border-color:#242831;--bs-btn-hover-color:#f2efe6;--bs-btn-hover-bg:#14171d;--bs-btn-hover-border-color:#2f3440;--bs-btn-focus-shadow-rgb:232,230,225;--bs-btn-active-color:#f2efe6;--bs-btn-active-bg:#14171d;--bs-btn-active-border-color:#2f3440;--bs-btn-disabled-color:#9aa0ab;--bs-btn-disabled-bg:#000;--bs-btn-disabled-border-color:#242831; }

/* Outline variants */
.btn-outline-primary   { --bs-btn-color:#4ade80;--bs-btn-border-color:#4ade80;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#4ade80;--bs-btn-hover-border-color:#4ade80;--bs-btn-focus-shadow-rgb:74,222,128;--bs-btn-active-color:#000;--bs-btn-active-bg:#4ade80;--bs-btn-active-border-color:#4ade80;--bs-btn-disabled-color:#4ade80;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#4ade80; }
.btn-outline-secondary { --bs-btn-color:#9aa0ab;--bs-btn-border-color:#2f3440;--bs-btn-hover-color:#f2efe6;--bs-btn-hover-bg:#14171d;--bs-btn-hover-border-color:#4a5160;--bs-btn-focus-shadow-rgb:111,118,129;--bs-btn-active-color:#f2efe6;--bs-btn-active-bg:#14171d;--bs-btn-active-border-color:#4a5160;--bs-btn-disabled-color:#6f7681;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#2f3440; }
.btn-outline-success   { --bs-btn-color:#4ade80;--bs-btn-border-color:#4ade80;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#4ade80;--bs-btn-hover-border-color:#4ade80;--bs-btn-focus-shadow-rgb:74,222,128;--bs-btn-active-color:#000;--bs-btn-active-bg:#4ade80;--bs-btn-active-border-color:#4ade80;--bs-btn-disabled-color:#4ade80;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#4ade80; }
.btn-outline-danger    { --bs-btn-color:#ff5a4a;--bs-btn-border-color:#ff5a4a;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ff5a4a;--bs-btn-hover-border-color:#ff5a4a;--bs-btn-focus-shadow-rgb:255,90,74;--bs-btn-active-color:#000;--bs-btn-active-bg:#ff5a4a;--bs-btn-active-border-color:#ff5a4a;--bs-btn-disabled-color:#ff5a4a;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ff5a4a; }
.btn-outline-warning   { --bs-btn-color:#f5c451;--bs-btn-border-color:#f5c451;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f5c451;--bs-btn-hover-border-color:#f5c451;--bs-btn-focus-shadow-rgb:245,196,81;--bs-btn-active-color:#000;--bs-btn-active-bg:#f5c451;--bs-btn-active-border-color:#f5c451;--bs-btn-disabled-color:#f5c451;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f5c451; }
.btn-outline-info      { --bs-btn-color:#6ef09a;--bs-btn-border-color:#6ef09a;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#6ef09a;--bs-btn-hover-border-color:#6ef09a;--bs-btn-focus-shadow-rgb:110,240,154;--bs-btn-active-color:#000;--bs-btn-active-bg:#6ef09a;--bs-btn-active-border-color:#6ef09a;--bs-btn-disabled-color:#6ef09a;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6ef09a; }
.btn-outline-light     { --bs-btn-color:#f2efe6;--bs-btn-border-color:#f2efe6;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f2efe6;--bs-btn-hover-border-color:#f2efe6;--bs-btn-focus-shadow-rgb:242,239,230;--bs-btn-active-color:#000;--bs-btn-active-bg:#f2efe6;--bs-btn-active-border-color:#f2efe6;--bs-btn-disabled-color:#f2efe6;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f2efe6; }
.btn-outline-dark      { --bs-btn-color:#e8e6e1;--bs-btn-border-color:#242831;--bs-btn-hover-color:#f2efe6;--bs-btn-hover-bg:#14171d;--bs-btn-hover-border-color:#4a5160;--bs-btn-focus-shadow-rgb:232,230,225;--bs-btn-active-color:#f2efe6;--bs-btn-active-bg:#14171d;--bs-btn-active-border-color:#4a5160;--bs-btn-disabled-color:#9aa0ab;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#242831; }

.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: #6f7681;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 49,132,253;
  text-decoration: underline;
}
.btn-link:hover { color: var(--bs-btn-hover-color); }

.btn-lg, .btn-group-lg > .btn {
  --bs-btn-padding-y: .5rem; --bs-btn-padding-x: 1rem;
  --bs-btn-font-size: 1.25rem; --bs-btn-border-radius: var(--bs-border-radius-lg);
}
.btn-sm, .btn-group-sm > .btn {
  --bs-btn-padding-y: .25rem; --bs-btn-padding-x: .5rem;
  --bs-btn-font-size: .875rem; --bs-btn-border-radius: var(--bs-border-radius-sm);
}

/* ==========================================================================
   9. Badges & Alerts
   ========================================================================== */
.badge {
  display: inline-block;
  padding: .35em .65em;
  font-size: .75em; font-weight: 700; line-height: 1;
  color: #000; text-align: center; white-space: nowrap; vertical-align: baseline;
  border-radius: var(--bs-border-radius);
}
.badge:empty { display: none; }
.btn .badge { position: relative; top: -1px; }

.alert {
  --bs-alert-bg: transparent;
  --bs-alert-padding-x: 1rem;
  --bs-alert-padding-y: 1rem;
  --bs-alert-margin-bottom: 1rem;
  --bs-alert-color: inherit;
  --bs-alert-border-color: transparent;
  --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
  --bs-alert-border-radius: var(--bs-border-radius);
  --bs-alert-link-color: inherit;
  position: relative;
  padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
  margin-bottom: var(--bs-alert-margin-bottom);
  color: var(--bs-alert-color);
  background-color: var(--bs-alert-bg);
  border: var(--bs-alert-border);
  border-radius: var(--bs-alert-border-radius);
}
.alert-heading { color: inherit; }
.alert-link { font-weight: 700; color: var(--bs-alert-link-color); }
.alert-dismissible { padding-right: 3rem; }
.alert-dismissible .btn-close { position: absolute; top: 0; right: 0; z-index: 2; padding: 1.25rem 1rem; }

.alert-primary   { --bs-alert-color:#4ade80;--bs-alert-bg:rgba(74,222,128,.10);--bs-alert-border-color:rgba(74,222,128,.45);--bs-alert-link-color:#6ef09a; }
.alert-secondary { --bs-alert-color:#9aa0ab;--bs-alert-bg:#14171d;--bs-alert-border-color:#2f3440;--bs-alert-link-color:#c9ccd1; }
.alert-success   { --bs-alert-color:#4ade80;--bs-alert-bg:rgba(74,222,128,.10);--bs-alert-border-color:rgba(74,222,128,.45);--bs-alert-link-color:#6ef09a; }
.alert-danger    { --bs-alert-color:#ff5a4a;--bs-alert-bg:rgba(255,90,74,.10);--bs-alert-border-color:rgba(255,90,74,.45);--bs-alert-link-color:#ff7a6e; }
.alert-warning   { --bs-alert-color:#f5c451;--bs-alert-bg:rgba(245,196,81,.10);--bs-alert-border-color:rgba(245,196,81,.45);--bs-alert-link-color:#ffd76b; }
.alert-info      { --bs-alert-color:#6ef09a;--bs-alert-bg:rgba(110,240,154,.10);--bs-alert-border-color:rgba(110,240,154,.45);--bs-alert-link-color:#8ff5b2; }
.alert-light     { --bs-alert-color:#f2efe6;--bs-alert-bg:rgba(242,239,230,.06);--bs-alert-border-color:rgba(242,239,230,.25);--bs-alert-link-color:#fffaf0; }
.alert-dark      { --bs-alert-color:#e8e6e1;--bs-alert-bg:#0a0c10;--bs-alert-border-color:#242831;--bs-alert-link-color:#f2efe6; }

/* color variant bg/text for .bg-* and .text-* using badges */
.badge.bg-primary  { background-color: #4ade80 !important; color:#000 !important; }
.badge.bg-secondary{ background-color: #242831 !important; color:#e8e6e1 !important; }
.badge.bg-success  { background-color: #4ade80 !important; color:#000 !important; }
.badge.bg-danger   { background-color: #ff5a4a !important; color:#000 !important; }
.badge.bg-warning  { background-color: #f5c451 !important; color:#000 !important; }
.badge.bg-info     { background-color: #6ef09a !important; color:#000 !important; }
.badge.bg-light    { background-color: #f2efe6 !important; color:#000 !important; }
.badge.bg-dark     { background-color: #000 !important; color:#e8e6e1 !important; }

.btn-close {
  box-sizing: content-box; width: 1em; height: 1em; padding: .25em .25em;
  color: #e8e6e1;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23e8e6e1'%3E%3Cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3E%3C/svg%3E") center/1em auto no-repeat;
  border: 0; border-radius: 0; opacity: .6;
}
.btn-close:hover { color: #f2efe6; text-decoration: none; opacity: .9; }
.btn-close:focus { outline: 0; box-shadow: 0 0 0 .25rem rgba(74,222,128,.25); opacity: 1; }
.btn-close:disabled, .btn-close.disabled { pointer-events: none; user-select: none; opacity: .25; }
.btn-close-white { filter: invert(1) grayscale(100%) brightness(200%); }

/* ==========================================================================
   10. Card
   ========================================================================== */
.card {
  --bs-card-spacer-y: 1rem;
  --bs-card-spacer-x: 1rem;
  --bs-card-title-spacer-y: .5rem;
  --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: .5rem;
  --bs-card-cap-padding-x: 1rem;
  --bs-card-cap-bg: rgba(0,0,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: .75rem;

  position: relative;
  display: flex; flex-direction: column;
  min-width: 0; height: var(--bs-card-height);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--bs-card-border-radius);
}
.card > hr { margin-right: 0; margin-left: 0; }
.card > .list-group { border-top: inherit; border-bottom: inherit; }
.card > .list-group:first-child { border-top-width: 0; border-top-left-radius: var(--bs-card-inner-border-radius); border-top-right-radius: var(--bs-card-inner-border-radius); }
.card > .list-group:last-child  { border-bottom-width: 0; border-bottom-left-radius: var(--bs-card-inner-border-radius); border-bottom-right-radius: var(--bs-card-inner-border-radius); }
.card > .card-header + .list-group, .card > .list-group + .card-footer { border-top: 0; }
.card-body {
  flex: 1 1 auto;
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
  color: var(--bs-card-color);
}
.card-title { margin-bottom: var(--bs-card-title-spacer-y); color: var(--bs-card-title-color); }
.card-subtitle { margin-top: calc(-.5 * var(--bs-card-title-spacer-y)); margin-bottom: 0; color: var(--bs-card-subtitle-color); }
.card-text:last-child { margin-bottom: 0; }
.card-link + .card-link { margin-left: var(--bs-card-spacer-x); }
.card-header {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  margin-bottom: 0; color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-header:first-child { border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0; }
.card-footer {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
}
.card-footer:last-child { border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); }
.card-header-tabs {
  margin-right: calc(-.5 * var(--bs-card-cap-padding-x));
  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
  margin-left: calc(-.5 * var(--bs-card-cap-padding-x));
  border-bottom: 0;
}
.card-img, .card-img-top, .card-img-bottom { width: 100%; }
.card-img, .card-img-top    { border-top-left-radius: var(--bs-card-inner-border-radius); border-top-right-radius: var(--bs-card-inner-border-radius); }
.card-img, .card-img-bottom { border-bottom-right-radius: var(--bs-card-inner-border-radius); border-bottom-left-radius: var(--bs-card-inner-border-radius); }
.card-img-overlay {
  position: absolute; top: 0; right: 0; bottom: 0; left: 0;
  padding: var(--bs-card-img-overlay-padding);
  border-radius: var(--bs-card-inner-border-radius);
}
.card-group > .card { margin-bottom: var(--bs-card-group-margin); }
@media (min-width: 576px) {
  .card-group { display: flex; flex-flow: row wrap; }
  .card-group > .card { flex: 1 0 0%; margin-bottom: 0; }
  .card-group > .card + .card { margin-left: 0; border-left: 0; }
}

/* ==========================================================================
   11. Navbar / Nav
   ========================================================================== */
.nav {
  --bs-nav-link-padding-x: 1rem;
  --bs-nav-link-padding-y: .5rem;
  --bs-nav-link-font-size: 1rem;
  --bs-nav-link-font-weight: 400;
  --bs-nav-link-color: var(--bs-link-color);
  --bs-nav-link-hover-color: var(--bs-link-hover-color);
  --bs-nav-link-disabled-color: #6f7681;
  display: flex; flex-wrap: wrap; padding-left: 0; margin-bottom: 0; list-style: none;
}
.nav-link {
  display: block;
  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  font-size: var(--bs-nav-link-font-size);
  font-weight: var(--bs-nav-link-font-weight);
  color: var(--bs-nav-link-color);
  text-decoration: none;
  background: none; border: 0;
  transition: color .15s;
}
.nav-link:hover, .nav-link:focus { color: var(--bs-nav-link-hover-color); }
.nav-link.disabled { color: var(--bs-nav-link-disabled-color); pointer-events: none; cursor: default; }

.nav-tabs {
  --bs-nav-tabs-border-width: var(--bs-border-width);
  --bs-nav-tabs-border-color: var(--bs-border-color);
  --bs-nav-tabs-border-radius: var(--bs-border-radius);
  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
  --bs-nav-tabs-link-active-color: #f2efe6;
  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
  --bs-nav-tabs-link-active-border-color: #2f3440 #2f3440 var(--bs-body-bg);
  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
}
.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
  border: var(--bs-nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--bs-nav-tabs-border-radius);
  border-top-right-radius: var(--bs-nav-tabs-border-radius);
}
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--bs-nav-tabs-link-hover-border-color);
}
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
  color: var(--bs-nav-tabs-link-active-color);
  background-color: var(--bs-nav-tabs-link-active-bg);
  border-color: var(--bs-nav-tabs-link-active-border-color);
}

.nav-pills {
  --bs-nav-pills-border-radius: var(--bs-border-radius);
  --bs-nav-pills-link-active-color: #000;
  --bs-nav-pills-link-active-bg: var(--bs-primary);
}
.nav-pills .nav-link { border-radius: var(--bs-nav-pills-border-radius); }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  color: var(--bs-nav-pills-link-active-color);
  background-color: var(--bs-nav-pills-link-active-bg);
}
.nav-fill > .nav-link, .nav-fill .nav-item { flex: 1 1 auto; text-align: center; }
.nav-justified > .nav-link, .nav-justified .nav-item { flex-basis: 0; flex-grow: 1; text-align: center; }

.navbar {
  --bs-navbar-padding-x: 0;
  --bs-navbar-padding-y: .5rem;
  --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb, 0,0,0), .65);
  --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb, 0,0,0), .8);
  --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb, 0,0,0), 1);
  --bs-navbar-brand-padding-y: .3125rem;
  --bs-navbar-brand-margin-end: 1rem;
  --bs-navbar-brand-font-size: 1.25rem;
  --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb, 0,0,0), 1);
  --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb, 0,0,0), 1);
  --bs-navbar-nav-link-padding-x: .5rem;

  position: relative;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
}
.navbar > .container, .navbar > .container-fluid { display: flex; flex-wrap: inherit; align-items: center; justify-content: space-between; }
.navbar-brand {
  padding-top: var(--bs-navbar-brand-padding-y);
  padding-bottom: var(--bs-navbar-brand-padding-y);
  margin-right: var(--bs-navbar-brand-margin-end);
  font-size: var(--bs-navbar-brand-font-size);
  color: var(--bs-navbar-brand-color);
  text-decoration: none;
  white-space: nowrap;
}
.navbar-brand:hover, .navbar-brand:focus { color: var(--bs-navbar-brand-hover-color); }

.navbar-nav {
  --bs-nav-link-padding-x: 0;
  --bs-nav-link-padding-y: .5rem;
  --bs-nav-link-color: var(--bs-navbar-color);
  --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
  --bs-nav-link-disabled-color: rgba(0,0,0,.3);
  display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; list-style: none;
}
.navbar-nav .nav-link.active, .navbar-nav .nav-link.show { color: var(--bs-navbar-active-color); }
.navbar-nav .show > .nav-link, .navbar-nav .nav-link.active { color: var(--bs-navbar-active-color); }

.navbar-text { padding-top: .5rem; padding-bottom: .5rem; color: var(--bs-navbar-color); }
.navbar-collapse { flex-basis: 100%; flex-grow: 1; align-items: center; }
.navbar-toggler {
  padding: .25rem .75rem; font-size: 1.25rem; line-height: 1;
  color: var(--bs-navbar-color);
  background-color: transparent;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition: box-shadow .15s;
}
.navbar-toggler:hover { text-decoration: none; }
.navbar-toggler:focus { text-decoration: none; outline: 0; box-shadow: 0 0 0 .25rem; }
.navbar-toggler-icon {
  display: inline-block; width: 1.5em; height: 1.5em; vertical-align: middle;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center; background-size: 100%;
}
@media (min-width: 576px) {
  .navbar-expand-sm { flex-wrap: nowrap; justify-content: flex-start; }
  .navbar-expand-sm .navbar-nav { flex-direction: row; }
  .navbar-expand-sm .navbar-nav .nav-link { padding-right: var(--bs-navbar-nav-link-padding-x); padding-left: var(--bs-navbar-nav-link-padding-x); }
  .navbar-expand-sm .navbar-collapse { display: flex !important; flex-basis: auto; }
  .navbar-expand-sm .navbar-toggler { display: none; }
}
@media (min-width: 768px) {
  .navbar-expand-md { flex-wrap: nowrap; justify-content: flex-start; }
  .navbar-expand-md .navbar-nav { flex-direction: row; }
  .navbar-expand-md .navbar-nav .nav-link { padding-right: var(--bs-navbar-nav-link-padding-x); padding-left: var(--bs-navbar-nav-link-padding-x); }
  .navbar-expand-md .navbar-collapse { display: flex !important; flex-basis: auto; }
  .navbar-expand-md .navbar-toggler { display: none; }
}
@media (min-width: 992px) {
  .navbar-expand-lg { flex-wrap: nowrap; justify-content: flex-start; }
  .navbar-expand-lg .navbar-nav { flex-direction: row; }
  .navbar-expand-lg .navbar-nav .nav-link { padding-right: var(--bs-navbar-nav-link-padding-x); padding-left: var(--bs-navbar-nav-link-padding-x); }
  .navbar-expand-lg .navbar-collapse { display: flex !important; flex-basis: auto; }
  .navbar-expand-lg .navbar-toggler { display: none; }
}
.navbar-expand { flex-wrap: nowrap; justify-content: flex-start; }
.navbar-expand .navbar-nav { flex-direction: row; }
.navbar-expand .navbar-collapse { display: flex !important; flex-basis: auto; }
.navbar-expand .navbar-toggler { display: none; }

.navbar-light, .navbar[data-bs-theme="light"] {
  --bs-navbar-color: rgba(0,0,0,.55);
  --bs-navbar-hover-color: rgba(0,0,0,.7);
  --bs-navbar-disabled-color: rgba(0,0,0,.3);
  --bs-navbar-active-color: rgba(0,0,0,.9);
  --bs-navbar-brand-color: rgba(0,0,0,.9);
  --bs-navbar-brand-hover-color: rgba(0,0,0,.9);
  --bs-navbar-toggler-border-color: rgba(0,0,0,.1);
}
.navbar-dark, .navbar[data-bs-theme="dark"] {
  --bs-navbar-color: rgba(255,255,255,.55);
  --bs-navbar-hover-color: rgba(255,255,255,.75);
  --bs-navbar-disabled-color: rgba(255,255,255,.25);
  --bs-navbar-active-color: #fff;
  --bs-navbar-brand-color: #fff;
  --bs-navbar-brand-hover-color: #fff;
  --bs-navbar-toggler-border-color: rgba(255,255,255,.1);
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
.navbar-dark .navbar-toggler-icon { background-image: var(--bs-navbar-toggler-icon-bg); }

/* ==========================================================================
   12. Dropdowns / Button group
   ========================================================================== */
.dropdown, .dropend, .dropstart, .dropup { position: relative; }
.dropdown-toggle { white-space: nowrap; }
.dropdown-toggle::after {
  display: inline-block; margin-left: .255em;
  vertical-align: .255em; content: "";
  border-top: .3em solid;
  border-right: .3em solid transparent;
  border-bottom: 0;
  border-left: .3em solid transparent;
}
.dropdown-toggle:empty::after { margin-left: 0; }
.dropdown-menu {
  --bs-dropdown-min-width: 10rem;
  --bs-dropdown-padding-x: 0;
  --bs-dropdown-padding-y: .5rem;
  --bs-dropdown-spacer: .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: .5rem;
  --bs-dropdown-box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
  --bs-dropdown-link-color: #e8e6e1;
  --bs-dropdown-link-hover-color: #f2efe6;
  --bs-dropdown-link-hover-bg: #14171d;
  --bs-dropdown-link-active-color: #000;
  --bs-dropdown-link-active-bg: var(--bs-primary);
  --bs-dropdown-link-disabled-color: #6f7681;
  --bs-dropdown-item-padding-x: 1rem;
  --bs-dropdown-item-padding-y: .25rem;
  --bs-dropdown-header-color: #9aa0ab;
  --bs-dropdown-header-padding-x: 1rem;
  --bs-dropdown-header-padding-y: .5rem;

  position: absolute;
  z-index: 1000;
  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);
  box-shadow: var(--bs-dropdown-box-shadow);
}
.dropdown-menu.show { display: block; }
.dropdown-menu[data-bs-popper] { top: 100%; left: 0; margin-top: var(--bs-dropdown-spacer); }
.dropdown-divider { height: 0; margin: var(--bs-dropdown-divider-margin-y) 0; overflow: hidden; border-top: 1px solid var(--bs-dropdown-divider-bg); opacity: 1; }
.dropdown-item {
  display: block; width: 100%;
  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
  clear: both; font-weight: 400;
  color: var(--bs-dropdown-link-color);
  text-align: inherit; text-decoration: none; white-space: nowrap;
  background-color: transparent; border: 0;
}
.dropdown-item:hover, .dropdown-item:focus {
  color: var(--bs-dropdown-link-hover-color);
  background-color: var(--bs-dropdown-link-hover-bg);
}
.dropdown-item.active, .dropdown-item:active {
  color: var(--bs-dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--bs-dropdown-link-active-bg);
}
.dropdown-item.disabled, .dropdown-item:disabled {
  color: var(--bs-dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}
.dropdown-header {
  display: block;
  padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
  margin-bottom: 0; font-size: .875rem; color: var(--bs-dropdown-header-color); white-space: nowrap;
}
.dropdown-item-text { display: block; padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x); color: var(--bs-dropdown-link-color); }

.btn-group, .btn-group-vertical { position: relative; display: inline-flex; vertical-align: middle; }
.btn-group > .btn, .btn-group-vertical > .btn { position: relative; flex: 1 1 auto; }
.btn-group > .btn:not(:first-child), .btn-group > .btn-group:not(:first-child) { margin-left: calc(var(--bs-border-width) * -1); }
.btn-group > .btn:not(:last-child):not(.dropdown-toggle), .btn-group > .btn-group:not(:last-child) > .btn { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.btn-group > .btn:nth-child(n+3), .btn-group > :not(.btn-check) + .btn, .btn-group > .btn-group:not(:first-child) > .btn { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.btn-group-vertical { flex-direction: column; align-items: flex-start; justify-content: center; }
.btn-group-vertical > .btn, .btn-group-vertical > .btn-group { width: 100%; }
.btn-group-vertical > .btn:not(:first-child), .btn-group-vertical > .btn-group:not(:first-child) { margin-top: calc(var(--bs-border-width) * -1); }

/* ==========================================================================
   13. List group / breadcrumb / pagination
   ========================================================================== */
.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: .5rem;
  --bs-list-group-action-color: #e8e6e1;
  --bs-list-group-action-hover-color: #f2efe6;
  --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: #6f7681;
  --bs-list-group-disabled-bg: var(--bs-body-bg);
  --bs-list-group-active-color: #000;
  --bs-list-group-active-bg: var(--bs-primary);
  --bs-list-group-active-border-color: var(--bs-primary);

  display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0;
  border-radius: var(--bs-list-group-border-radius);
}
.list-group-numbered { list-style-type: none; counter-reset: section; }
.list-group-numbered > .list-group-item::before { content: counters(section, ".") ". "; counter-increment: section; }
.list-group-item-action { width: 100%; color: var(--bs-list-group-action-color); text-align: inherit; }
.list-group-item-action:hover, .list-group-item-action:focus {
  z-index: 1; color: var(--bs-list-group-action-hover-color); text-decoration: none;
  background-color: var(--bs-list-group-action-hover-bg);
}
.list-group-item-action:active { color: var(--bs-list-group-action-active-color); background-color: var(--bs-list-group-action-active-bg); }
.list-group-item {
  position: relative; display: block;
  padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
  color: var(--bs-list-group-color);
  text-decoration: none;
  background-color: var(--bs-list-group-bg);
  border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
}
.list-group-item:first-child { border-top-left-radius: inherit; border-top-right-radius: inherit; }
.list-group-item:last-child  { border-bottom-right-radius: inherit; border-bottom-left-radius: inherit; }
.list-group-item + .list-group-item { border-top-width: 0; }
.list-group-item.active {
  z-index: 2; color: var(--bs-list-group-active-color);
  background-color: var(--bs-list-group-active-bg);
  border-color: var(--bs-list-group-active-border-color);
}
.list-group-item.disabled, .list-group-item:disabled {
  color: var(--bs-list-group-disabled-color);
  pointer-events: none; background-color: var(--bs-list-group-disabled-bg);
}
.list-group-flush { border-radius: 0; }
.list-group-flush > .list-group-item { border-width: 0 0 var(--bs-list-group-border-width); }
.list-group-flush > .list-group-item:last-child { border-bottom-width: 0; }

.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0;
  --bs-breadcrumb-margin-bottom: 1rem;
  --bs-breadcrumb-font-size: 1rem;
  --bs-breadcrumb-divider-color: #6f7681;
  --bs-breadcrumb-item-padding-x: .5rem;
  --bs-breadcrumb-item-active-color: #9aa0ab;
  display: flex; flex-wrap: wrap;
  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom: var(--bs-breadcrumb-margin-bottom);
  font-size: var(--bs-breadcrumb-font-size);
  list-style: none;
}
.breadcrumb-item + .breadcrumb-item { padding-left: var(--bs-breadcrumb-item-padding-x); }
.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: var(--bs-breadcrumb-item-padding-x);
  color: var(--bs-breadcrumb-divider-color);
  content: var(--bs-breadcrumb-divider, "/");
}
.breadcrumb-item.active { color: var(--bs-breadcrumb-item-active-color); }

.pagination {
  --bs-pagination-padding-x: .75rem;
  --bs-pagination-padding-y: .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 .25rem rgba(74,222,128,.25);
  --bs-pagination-active-color: #000;
  --bs-pagination-active-bg: var(--bs-primary);
  --bs-pagination-active-border-color: var(--bs-primary);
  --bs-pagination-disabled-color: #6f7681;
  --bs-pagination-disabled-bg: var(--bs-secondary-bg);
  --bs-pagination-disabled-border-color: var(--bs-border-color);
  display: flex; padding-left: 0; list-style: none;
}
.page-link {
  position: relative; display: block;
  padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
  font-size: var(--bs-pagination-font-size);
  color: var(--bs-pagination-color);
  text-decoration: none;
  background-color: var(--bs-pagination-bg);
  border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
  transition: color .15s, background-color .15s, border-color .15s, box-shadow .15s;
}
.page-link:hover { z-index: 2; color: var(--bs-pagination-hover-color); background-color: var(--bs-pagination-hover-bg); border-color: var(--bs-pagination-hover-border-color); }
.page-link:focus { z-index: 3; color: var(--bs-pagination-focus-color); background-color: var(--bs-pagination-focus-bg); outline: 0; box-shadow: var(--bs-pagination-focus-box-shadow); }
.page-item:not(:first-child) .page-link { margin-left: calc(var(--bs-border-width) * -1); }
.page-item.active .page-link { z-index: 3; color: var(--bs-pagination-active-color); background-color: var(--bs-pagination-active-bg); border-color: var(--bs-pagination-active-border-color); }
.page-item.disabled .page-link { color: var(--bs-pagination-disabled-color); pointer-events: none; background-color: var(--bs-pagination-disabled-bg); border-color: var(--bs-pagination-disabled-border-color); }
.page-item:first-child .page-link { border-top-left-radius: var(--bs-pagination-border-radius); border-bottom-left-radius: var(--bs-pagination-border-radius); }
.page-item:last-child  .page-link { border-top-right-radius: var(--bs-pagination-border-radius); border-bottom-right-radius: var(--bs-pagination-border-radius); }
.pagination-lg .page-link { --bs-pagination-padding-x: 1.5rem; --bs-pagination-padding-y: .75rem; --bs-pagination-font-size: 1.25rem; --bs-pagination-border-radius: var(--bs-border-radius-lg); }
.pagination-sm .page-link { --bs-pagination-padding-x: .5rem;  --bs-pagination-padding-y: .25rem; --bs-pagination-font-size: .875rem; --bs-pagination-border-radius: var(--bs-border-radius-sm); }

/* ==========================================================================
   14. Progress / Spinners / Close
   ========================================================================== */
.progress {
  --bs-progress-height: 1rem;
  --bs-progress-font-size: .75rem;
  --bs-progress-bg: var(--bs-secondary-bg);
  --bs-progress-border-radius: var(--bs-border-radius);
  --bs-progress-box-shadow: inset 0 1px 2px rgba(0,0,0,.075);
  --bs-progress-bar-color: #000;
  --bs-progress-bar-bg: var(--bs-primary);
  --bs-progress-bar-transition: width .6s ease;
  display: flex; height: var(--bs-progress-height); overflow: hidden; font-size: var(--bs-progress-font-size);
  background-color: var(--bs-progress-bg);
  border-radius: var(--bs-progress-border-radius);
}
.progress-bar {
  display: flex; flex-direction: column; justify-content: center;
  overflow: hidden; color: var(--bs-progress-bar-color); text-align: center; white-space: nowrap;
  background-color: var(--bs-progress-bar-bg);
  transition: var(--bs-progress-bar-transition);
}
.progress-bar-striped { background-image: linear-gradient(45deg, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); background-size: 1rem 1rem; }
.progress-bar-animated { animation: 1s linear infinite progress-bar-stripes; }
@media (prefers-reduced-motion: reduce) { .progress-bar-animated { animation: none; } }
@keyframes progress-bar-stripes { 0% { background-position-x: 1rem; } }

.spinner-border {
  display: inline-block; width: 2rem; height: 2rem; vertical-align: -.125em;
  border: .25em solid currentColor; border-right-color: transparent; border-radius: 50%;
  animation: .75s linear infinite spinner-border;
}
.spinner-border-sm { width: 1rem; height: 1rem; border-width: .2em; }
@keyframes spinner-border { to { transform: rotate(360deg) /* rtl:ignore */; } }

.spinner-grow {
  display: inline-block; width: 2rem; height: 2rem; vertical-align: -.125em;
  background-color: currentColor; border-radius: 50%;
  opacity: 0;
  animation: .75s linear infinite spinner-grow;
}
.spinner-grow-sm { width: 1rem; height: 1rem; }
@keyframes spinner-grow { 0% { transform: scale(0); } 50% { opacity: 1; transform: none; } }

/* ==========================================================================
   15. Modal / Tooltip / Popover (static styles)
   ========================================================================== */
.modal { position: fixed; top: 0; left: 0; z-index: 1055; display: none; width: 100%; height: 100%; overflow-x: hidden; overflow-y: auto; outline: 0; }
.modal-dialog { position: relative; width: auto; margin: .5rem; pointer-events: none; }
.modal.show .modal-dialog { transform: none; }
.modal.fade .modal-dialog { transition: transform .3s ease-out; transform: translate(0,-50px); }
.modal-content {
  position: relative; display: flex; flex-direction: column;
  width: 100%; color: var(--bs-body-color);
  pointer-events: auto;
  background-color: var(--bs-body-bg); background-clip: padding-box;
  border: var(--bs-border-width) solid var(--bs-border-color-translucent);
  border-radius: var(--bs-border-radius-lg);
  outline: 0;
}
.modal-backdrop { position: fixed; top: 0; left: 0; z-index: 1050; width: 100vw; height: 100vh; background-color: #000; }
.modal-backdrop.fade { opacity: 0; }
.modal-backdrop.show { opacity: .5; }
.modal-header { display: flex; flex-shrink: 0; align-items: center; justify-content: space-between; padding: 1rem 1rem; border-bottom: var(--bs-border-width) solid var(--bs-border-color); border-top-left-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width)); border-top-right-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width)); }
.modal-title { margin-bottom: 0; line-height: 1.5; }
.modal-body { position: relative; flex: 1 1 auto; padding: 1rem; }
.modal-footer { display: flex; flex-shrink: 0; flex-wrap: wrap; align-items: center; justify-content: flex-end; padding: .75rem; border-top: var(--bs-border-width) solid var(--bs-border-color); border-bottom-right-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width)); border-bottom-left-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width)); }
.modal-footer > * { margin: .25rem; }
@media (min-width: 576px) {
  .modal-dialog { max-width: 500px; margin: 1.75rem auto; }
  .modal-dialog-centered { display: flex; align-items: center; min-height: calc(100% - 3.5rem); }
}

/* ==========================================================================
   16. Utilities
   ========================================================================== */
/* Display */
.d-none  { display: none !important; }
.d-inline{ display: inline !important; }
.d-inline-block { display: inline-block !important; }
.d-block { display: block !important; }
.d-grid  { display: grid !important; }
.d-flex  { display: flex !important; }
.d-inline-flex { display: inline-flex !important; }
.d-table { display: table !important; }
.d-table-row { display: table-row !important; }
.d-table-cell{ display: table-cell !important; }

@media (min-width: 576px) {
  .d-sm-none { display: none !important; } .d-sm-inline { display: inline !important; } .d-sm-inline-block { display: inline-block !important; } .d-sm-block { display: block !important; } .d-sm-grid { display: grid !important; } .d-sm-flex { display: flex !important; } .d-sm-inline-flex { display: inline-flex !important; }
}
@media (min-width: 768px) {
  .d-md-none { display: none !important; } .d-md-inline { display: inline !important; } .d-md-inline-block { display: inline-block !important; } .d-md-block { display: block !important; } .d-md-grid { display: grid !important; } .d-md-flex { display: flex !important; } .d-md-inline-flex { display: inline-flex !important; }
}
@media (min-width: 992px) {
  .d-lg-none { display: none !important; } .d-lg-inline { display: inline !important; } .d-lg-inline-block { display: inline-block !important; } .d-lg-block { display: block !important; } .d-lg-grid { display: grid !important; } .d-lg-flex { display: flex !important; } .d-lg-inline-flex { display: inline-flex !important; }
}
@media (min-width: 1200px) {
  .d-xl-none { display: none !important; } .d-xl-inline { display: inline !important; } .d-xl-inline-block { display: inline-block !important; } .d-xl-block { display: block !important; } .d-xl-grid { display: grid !important; } .d-xl-flex { display: flex !important; } .d-xl-inline-flex { display: inline-flex !important; }
}

/* Flex */
.flex-fill { flex: 1 1 auto !important; }
.flex-row { flex-direction: row !important; }
.flex-column { flex-direction: column !important; }
.flex-row-reverse { flex-direction: row-reverse !important; }
.flex-column-reverse { flex-direction: column-reverse !important; }
.flex-grow-0 { flex-grow: 0 !important; } .flex-grow-1 { flex-grow: 1 !important; }
.flex-shrink-0 { flex-shrink: 0 !important; } .flex-shrink-1 { flex-shrink: 1 !important; }
.flex-wrap { flex-wrap: wrap !important; } .flex-nowrap { flex-wrap: nowrap !important; } .flex-wrap-reverse { flex-wrap: wrap-reverse !important; }

.justify-content-start   { justify-content: flex-start !important; }
.justify-content-end     { justify-content: flex-end !important; }
.justify-content-center  { justify-content: center !important; }
.justify-content-between { justify-content: space-between !important; }
.justify-content-around  { justify-content: space-around !important; }
.justify-content-evenly  { justify-content: space-evenly !important; }

.align-items-start    { align-items: flex-start !important; }
.align-items-end      { align-items: flex-end !important; }
.align-items-center   { align-items: center !important; }
.align-items-baseline { align-items: baseline !important; }
.align-items-stretch  { align-items: stretch !important; }
.align-self-start     { align-self: flex-start !important; }
.align-self-end       { align-self: flex-end !important; }
.align-self-center    { align-self: center !important; }
.align-self-stretch   { align-self: stretch !important; }

/* Sizing */
.w-25 { width: 25% !important; } .w-50 { width: 50% !important; } .w-75 { width: 75% !important; } .w-100 { width: 100% !important; } .w-auto { width: auto !important; }
.mw-100 { max-width: 100% !important; } .vw-100 { width: 100vw !important; } .min-vw-100 { min-width: 100vw !important; }
.h-25 { height: 25% !important; } .h-50 { height: 50% !important; } .h-75 { height: 75% !important; } .h-100 { height: 100% !important; } .h-auto { height: auto !important; }
.mh-100 { max-height: 100% !important; } .vh-100 { height: 100vh !important; } .min-vh-100 { min-height: 100vh !important; }

/* Spacing — m/p with t/b/s/e/x/y and 0..5/auto */
.m-0  { margin: 0 !important; }    .m-1 { margin: .25rem !important; } .m-2 { margin: .5rem !important; } .m-3 { margin: 1rem !important; } .m-4 { margin: 1.5rem !important; } .m-5 { margin: 3rem !important; } .m-auto { margin: auto !important; }
.mt-0 { margin-top: 0 !important; } .mt-1 { margin-top: .25rem !important; } .mt-2 { margin-top: .5rem !important; } .mt-3 { margin-top: 1rem !important; } .mt-4 { margin-top: 1.5rem !important; } .mt-5 { margin-top: 3rem !important; } .mt-auto { margin-top: auto !important; }
.mb-0 { margin-bottom: 0 !important; } .mb-1 { margin-bottom: .25rem !important; } .mb-2 { margin-bottom: .5rem !important; } .mb-3 { margin-bottom: 1rem !important; } .mb-4 { margin-bottom: 1.5rem !important; } .mb-5 { margin-bottom: 3rem !important; } .mb-auto { margin-bottom: auto !important; }
.ms-0 { margin-left: 0 !important; } .ms-1 { margin-left: .25rem !important; } .ms-2 { margin-left: .5rem !important; } .ms-3 { margin-left: 1rem !important; } .ms-4 { margin-left: 1.5rem !important; } .ms-5 { margin-left: 3rem !important; } .ms-auto { margin-left: auto !important; }
.me-0 { margin-right: 0 !important; } .me-1 { margin-right: .25rem !important; } .me-2 { margin-right: .5rem !important; } .me-3 { margin-right: 1rem !important; } .me-4 { margin-right: 1.5rem !important; } .me-5 { margin-right: 3rem !important; } .me-auto { margin-right: auto !important; }
.mx-0 { margin-right: 0 !important; margin-left: 0 !important; } .mx-1 { margin-right: .25rem !important; margin-left: .25rem !important; } .mx-2 { margin-right: .5rem !important; margin-left: .5rem !important; } .mx-3 { margin-right: 1rem !important; margin-left: 1rem !important; } .mx-4 { margin-right: 1.5rem !important; margin-left: 1.5rem !important; } .mx-5 { margin-right: 3rem !important; margin-left: 3rem !important; } .mx-auto { margin-right: auto !important; margin-left: auto !important; }
.my-0 { margin-top: 0 !important; margin-bottom: 0 !important; } .my-1 { margin-top: .25rem !important; margin-bottom: .25rem !important; } .my-2 { margin-top: .5rem !important; margin-bottom: .5rem !important; } .my-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; } .my-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; } .my-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; } .my-auto { margin-top: auto !important; margin-bottom: auto !important; }

.p-0 { padding: 0 !important; } .p-1 { padding: .25rem !important; } .p-2 { padding: .5rem !important; } .p-3 { padding: 1rem !important; } .p-4 { padding: 1.5rem !important; } .p-5 { padding: 3rem !important; }
.pt-0 { padding-top: 0 !important; } .pt-1 { padding-top: .25rem !important; } .pt-2 { padding-top: .5rem !important; } .pt-3 { padding-top: 1rem !important; } .pt-4 { padding-top: 1.5rem !important; } .pt-5 { padding-top: 3rem !important; }
.pb-0 { padding-bottom: 0 !important; } .pb-1 { padding-bottom: .25rem !important; } .pb-2 { padding-bottom: .5rem !important; } .pb-3 { padding-bottom: 1rem !important; } .pb-4 { padding-bottom: 1.5rem !important; } .pb-5 { padding-bottom: 3rem !important; }
.ps-0 { padding-left: 0 !important; } .ps-1 { padding-left: .25rem !important; } .ps-2 { padding-left: .5rem !important; } .ps-3 { padding-left: 1rem !important; } .ps-4 { padding-left: 1.5rem !important; } .ps-5 { padding-left: 3rem !important; }
.pe-0 { padding-right: 0 !important; } .pe-1 { padding-right: .25rem !important; } .pe-2 { padding-right: .5rem !important; } .pe-3 { padding-right: 1rem !important; } .pe-4 { padding-right: 1.5rem !important; } .pe-5 { padding-right: 3rem !important; }
.px-0 { padding-right: 0 !important; padding-left: 0 !important; } .px-1 { padding-right: .25rem !important; padding-left: .25rem !important; } .px-2 { padding-right: .5rem !important; padding-left: .5rem !important; } .px-3 { padding-right: 1rem !important; padding-left: 1rem !important; } .px-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; } .px-5 { padding-right: 3rem !important; padding-left: 3rem !important; }
.py-0 { padding-top: 0 !important; padding-bottom: 0 !important; } .py-1 { padding-top: .25rem !important; padding-bottom: .25rem !important; } .py-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; } .py-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; } .py-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; } .py-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }

/* Gap */
.gap-0 { gap: 0 !important; } .gap-1 { gap: .25rem !important; } .gap-2 { gap: .5rem !important; } .gap-3 { gap: 1rem !important; } .gap-4 { gap: 1.5rem !important; } .gap-5 { gap: 3rem !important; }

/* Text */
.text-start  { text-align: left !important; }
.text-end    { text-align: right !important; }
.text-center { text-align: center !important; }
.text-decoration-none { text-decoration: none !important; }
.text-decoration-underline { text-decoration: underline !important; }
.text-decoration-line-through { text-decoration: line-through !important; }
.text-lowercase { text-transform: lowercase !important; }
.text-uppercase { text-transform: uppercase !important; }
.text-capitalize{ text-transform: capitalize !important; }
.text-wrap   { white-space: normal !important; }
.text-nowrap { white-space: nowrap !important; }
.text-break  { word-wrap: break-word !important; word-break: break-word !important; }
.fst-italic { font-style: italic !important; }
.fst-normal { font-style: normal !important; }
.fw-light     { font-weight: 300 !important; }
.fw-lighter   { font-weight: lighter !important; }
.fw-normal    { font-weight: 400 !important; }
.fw-medium    { font-weight: 500 !important; }
.fw-semibold  { font-weight: 600 !important; }
.fw-bold      { font-weight: 700 !important; }
.fw-bolder    { font-weight: bolder !important; }
.lh-1  { line-height: 1 !important; }
.lh-sm { line-height: 1.25 !important; }
.lh-base { line-height: 1.5 !important; }
.lh-lg { line-height: 2 !important; }
.font-monospace { font-family: var(--bs-font-monospace) !important; }
.fs-1 { font-size: calc(1.375rem + 1.5vw) !important; }
.fs-2 { font-size: calc(1.325rem + .9vw) !important; }
.fs-3 { font-size: calc(1.3rem + .6vw) !important; }
.fs-4 { font-size: calc(1.275rem + .3vw) !important; }
.fs-5 { font-size: 1.25rem !important; }
.fs-6 { font-size: 1rem !important; }
@media (min-width: 1200px) {
  .fs-1 { font-size: 2.5rem !important; }
  .fs-2 { font-size: 2rem !important; }
  .fs-3 { font-size: 1.75rem !important; }
  .fs-4 { font-size: 1.5rem !important; }
}

/* Text color */
.text-primary   { color: #4ade80 !important; }
.text-secondary { color: #9aa0ab !important; }
.text-success   { color: #4ade80 !important; }
.text-danger    { color: #ff5a4a !important; }
.text-warning   { color: #f5c451 !important; }
.text-info      { color: #6ef09a !important; }
.text-light     { color: #f2efe6 !important; }
.text-dark      { color: #000 !important; }
.text-body      { color: var(--bs-body-color) !important; }
.text-muted     { color: #6f7681 !important; }
.text-white     { color: #f2efe6 !important; }
.text-black     { color: #000 !important; }
.text-black-50  { color: rgba(0,0,0,.5) !important; }
.text-white-50  { color: rgba(255,255,255,.5) !important; }
.text-reset     { color: inherit !important; }

/* Background color */
.bg-primary   { background-color: #4ade80 !important; }
.bg-secondary { background-color: #242831 !important; }
.bg-success   { background-color: #4ade80 !important; }
.bg-danger    { background-color: #ff5a4a !important; }
.bg-warning   { background-color: #f5c451 !important; }
.bg-info      { background-color: #6ef09a !important; }
.bg-light     { background-color: #f2efe6 !important; }
.bg-dark      { background-color: #000 !important; }
.bg-body      { background-color: var(--bs-body-bg) !important; }
.bg-white     { background-color: #f2efe6 !important; }
.bg-transparent { background-color: transparent !important; }
.bg-gradient  { background-image: linear-gradient(180deg, rgba(255,255,255,.15), rgba(255,255,255,0)) !important; }
.bg-opacity-10 { --bs-bg-opacity: .1; }
.bg-opacity-25 { --bs-bg-opacity: .25; }
.bg-opacity-50 { --bs-bg-opacity: .5; }
.bg-opacity-75 { --bs-bg-opacity: .75; }
.bg-opacity-100{ --bs-bg-opacity: 1; }

/* Borders */
.border     { border: var(--bs-border-width) solid var(--bs-border-color) !important; }
.border-0   { border: 0 !important; }
.border-top { border-top: var(--bs-border-width) solid var(--bs-border-color) !important; }
.border-top-0 { border-top: 0 !important; }
.border-end { border-right: var(--bs-border-width) solid var(--bs-border-color) !important; }
.border-end-0 { border-right: 0 !important; }
.border-bottom { border-bottom: var(--bs-border-width) solid var(--bs-border-color) !important; }
.border-bottom-0 { border-bottom: 0 !important; }
.border-start { border-left: var(--bs-border-width) solid var(--bs-border-color) !important; }
.border-start-0 { border-left: 0 !important; }
.border-primary { border-color: #4ade80 !important; }
.border-secondary { border-color: #2f3440 !important; }
.border-success { border-color: #4ade80 !important; }
.border-danger { border-color: #ff5a4a !important; }
.border-warning { border-color: #f5c451 !important; }
.border-info { border-color: #6ef09a !important; }
.border-light { border-color: #f2efe6 !important; }
.border-dark { border-color: #000 !important; }
.border-white { border-color: #f2efe6 !important; }
.border-1 { border-width: 1px !important; } .border-2 { border-width: 2px !important; } .border-3 { border-width: 3px !important; } .border-4 { border-width: 4px !important; } .border-5 { border-width: 5px !important; }

.rounded { border-radius: var(--bs-border-radius) !important; }
.rounded-0 { border-radius: 0 !important; }
.rounded-1 { border-radius: var(--bs-border-radius-sm) !important; }
.rounded-2 { border-radius: var(--bs-border-radius) !important; }
.rounded-3 { border-radius: var(--bs-border-radius-lg) !important; }
.rounded-4 { border-radius: var(--bs-border-radius-xl) !important; }
.rounded-5 { border-radius: var(--bs-border-radius-2xl) !important; }
.rounded-circle { border-radius: 50% !important; }
.rounded-pill { border-radius: var(--bs-border-radius-pill) !important; }
.rounded-top { border-top-left-radius: var(--bs-border-radius) !important; border-top-right-radius: var(--bs-border-radius) !important; }
.rounded-end { border-top-right-radius: var(--bs-border-radius) !important; border-bottom-right-radius: var(--bs-border-radius) !important; }
.rounded-bottom { border-bottom-right-radius: var(--bs-border-radius) !important; border-bottom-left-radius: var(--bs-border-radius) !important; }
.rounded-start { border-bottom-left-radius: var(--bs-border-radius) !important; border-top-left-radius: var(--bs-border-radius) !important; }

/* Shadows / position / overflow */
.shadow     { box-shadow: var(--bs-box-shadow) !important; }
.shadow-sm  { box-shadow: var(--bs-box-shadow-sm) !important; }
.shadow-lg  { box-shadow: var(--bs-box-shadow-lg) !important; }
.shadow-none{ box-shadow: none !important; }
.position-static { position: static !important; }
.position-relative { position: relative !important; }
.position-absolute { position: absolute !important; }
.position-fixed { position: fixed !important; }
.position-sticky { position: sticky !important; }
.top-0 { top: 0 !important; } .top-50 { top: 50% !important; } .top-100 { top: 100% !important; }
.bottom-0 { bottom: 0 !important; } .bottom-50 { bottom: 50% !important; } .bottom-100 { bottom: 100% !important; }
.start-0 { left: 0 !important; } .start-50 { left: 50% !important; } .start-100 { left: 100% !important; }
.end-0 { right: 0 !important; } .end-50 { right: 50% !important; } .end-100 { right: 100% !important; }
.translate-middle   { transform: translate(-50%, -50%) !important; }
.translate-middle-x { transform: translateX(-50%) !important; }
.translate-middle-y { transform: translateY(-50%) !important; }

.overflow-auto   { overflow: auto !important; }
.overflow-hidden { overflow: hidden !important; }
.overflow-visible{ overflow: visible !important; }
.overflow-scroll { overflow: scroll !important; }

/* Visibility */
.visible  { visibility: visible !important; }
.invisible{ visibility: hidden !important; }

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

/* User select / pointer events */
.user-select-all  { user-select: all !important; }
.user-select-auto { user-select: auto !important; }
.user-select-none { user-select: none !important; }
.pe-none { pointer-events: none !important; }
.pe-auto { pointer-events: auto !important; }

/* Responsive text-align */
@media (min-width: 576px) { .text-sm-start { text-align:left!important;} .text-sm-end{text-align:right!important;} .text-sm-center{text-align:center!important;} }
@media (min-width: 768px) { .text-md-start { text-align:left!important;} .text-md-end{text-align:right!important;} .text-md-center{text-align:center!important;} }
@media (min-width: 992px) { .text-lg-start { text-align:left!important;} .text-lg-end{text-align:right!important;} .text-lg-center{text-align:center!important;} }
@media (min-width: 1200px){ .text-xl-start { text-align:left!important;} .text-xl-end{text-align:right!important;} .text-xl-center{text-align:center!important;} }

/* ==========================================================================
   17. Responsive offsets, xxl grid, order utilities
   ========================================================================== */
/* xxl grid */
@media (min-width: 1400px) {
  .col-xxl { flex: 1 0 0%; }
  .col-xxl-auto { flex: 0 0 auto; width: auto; }
  .row-cols-xxl-auto > * { flex: 0 0 auto; width: auto; }
  .row-cols-xxl-1 > * { width: 100%; } .row-cols-xxl-2 > * { width: 50%; } .row-cols-xxl-3 > * { width: 33.333%; } .row-cols-xxl-4 > * { width: 25%; } .row-cols-xxl-5 > * { width: 20%; } .row-cols-xxl-6 > * { width: 16.666%; }
  .col-xxl-1  { width: 8.33333333%; } .col-xxl-2  { width: 16.66666667%; } .col-xxl-3  { width: 25%; } .col-xxl-4  { width: 33.33333333%; } .col-xxl-5  { width: 41.66666667%; } .col-xxl-6  { width: 50%; } .col-xxl-7  { width: 58.33333333%; } .col-xxl-8  { width: 66.66666667%; } .col-xxl-9  { width: 75%; } .col-xxl-10 { width: 83.33333333%; } .col-xxl-11 { width: 91.66666667%; } .col-xxl-12 { width: 100%; }
  .col-xxl-1, .col-xxl-2, .col-xxl-3, .col-xxl-4, .col-xxl-5, .col-xxl-6, .col-xxl-7, .col-xxl-8, .col-xxl-9, .col-xxl-10, .col-xxl-11, .col-xxl-12 { flex: 0 0 auto; }
}

/* Responsive offsets */
@media (min-width: 576px) {
  .offset-sm-0  { margin-left: 0; } .offset-sm-1  { margin-left: 8.33333333%; } .offset-sm-2  { margin-left: 16.66666667%; } .offset-sm-3  { margin-left: 25%; } .offset-sm-4  { margin-left: 33.33333333%; } .offset-sm-5  { margin-left: 41.66666667%; } .offset-sm-6  { margin-left: 50%; } .offset-sm-7  { margin-left: 58.33333333%; } .offset-sm-8  { margin-left: 66.66666667%; } .offset-sm-9  { margin-left: 75%; } .offset-sm-10 { margin-left: 83.33333333%; } .offset-sm-11 { margin-left: 91.66666667%; }
}
@media (min-width: 768px) {
  .offset-md-0  { margin-left: 0; } .offset-md-1  { margin-left: 8.33333333%; } .offset-md-2  { margin-left: 16.66666667%; } .offset-md-3  { margin-left: 25%; } .offset-md-4  { margin-left: 33.33333333%; } .offset-md-5  { margin-left: 41.66666667%; } .offset-md-6  { margin-left: 50%; } .offset-md-7  { margin-left: 58.33333333%; } .offset-md-8  { margin-left: 66.66666667%; } .offset-md-9  { margin-left: 75%; } .offset-md-10 { margin-left: 83.33333333%; } .offset-md-11 { margin-left: 91.66666667%; }
}
@media (min-width: 992px) {
  .offset-lg-0  { margin-left: 0; } .offset-lg-1  { margin-left: 8.33333333%; } .offset-lg-2  { margin-left: 16.66666667%; } .offset-lg-3  { margin-left: 25%; } .offset-lg-4  { margin-left: 33.33333333%; } .offset-lg-5  { margin-left: 41.66666667%; } .offset-lg-6  { margin-left: 50%; } .offset-lg-7  { margin-left: 58.33333333%; } .offset-lg-8  { margin-left: 66.66666667%; } .offset-lg-9  { margin-left: 75%; } .offset-lg-10 { margin-left: 83.33333333%; } .offset-lg-11 { margin-left: 91.66666667%; }
}
@media (min-width: 1200px) {
  .offset-xl-0  { margin-left: 0; } .offset-xl-1  { margin-left: 8.33333333%; } .offset-xl-2  { margin-left: 16.66666667%; } .offset-xl-3  { margin-left: 25%; } .offset-xl-4  { margin-left: 33.33333333%; } .offset-xl-5  { margin-left: 41.66666667%; } .offset-xl-6  { margin-left: 50%; } .offset-xl-7  { margin-left: 58.33333333%; } .offset-xl-8  { margin-left: 66.66666667%; } .offset-xl-9  { margin-left: 75%; } .offset-xl-10 { margin-left: 83.33333333%; } .offset-xl-11 { margin-left: 91.66666667%; }
}
@media (min-width: 1400px) {
  .offset-xxl-0  { margin-left: 0; } .offset-xxl-1  { margin-left: 8.33333333%; } .offset-xxl-2  { margin-left: 16.66666667%; } .offset-xxl-3  { margin-left: 25%; } .offset-xxl-4  { margin-left: 33.33333333%; } .offset-xxl-5  { margin-left: 41.66666667%; } .offset-xxl-6  { margin-left: 50%; } .offset-xxl-7  { margin-left: 58.33333333%; } .offset-xxl-8  { margin-left: 66.66666667%; } .offset-xxl-9  { margin-left: 75%; } .offset-xxl-10 { margin-left: 83.33333333%; } .offset-xxl-11 { margin-left: 91.66666667%; }
}

/* Order */
.order-first { order: -1 !important; }
.order-0 { order: 0 !important; } .order-1 { order: 1 !important; } .order-2 { order: 2 !important; } .order-3 { order: 3 !important; } .order-4 { order: 4 !important; } .order-5 { order: 5 !important; }
.order-last { order: 6 !important; }
@media (min-width: 576px) { .order-sm-first { order: -1 !important; } .order-sm-0 { order: 0 !important; } .order-sm-1 { order: 1 !important; } .order-sm-2 { order: 2 !important; } .order-sm-3 { order: 3 !important; } .order-sm-4 { order: 4 !important; } .order-sm-5 { order: 5 !important; } .order-sm-last { order: 6 !important; } }
@media (min-width: 768px) { .order-md-first { order: -1 !important; } .order-md-0 { order: 0 !important; } .order-md-1 { order: 1 !important; } .order-md-2 { order: 2 !important; } .order-md-3 { order: 3 !important; } .order-md-4 { order: 4 !important; } .order-md-5 { order: 5 !important; } .order-md-last { order: 6 !important; } }
@media (min-width: 992px) { .order-lg-first { order: -1 !important; } .order-lg-0 { order: 0 !important; } .order-lg-1 { order: 1 !important; } .order-lg-2 { order: 2 !important; } .order-lg-3 { order: 3 !important; } .order-lg-4 { order: 4 !important; } .order-lg-5 { order: 5 !important; } .order-lg-last { order: 6 !important; } }
@media (min-width: 1200px) { .order-xl-first { order: -1 !important; } .order-xl-0 { order: 0 !important; } .order-xl-1 { order: 1 !important; } .order-xl-2 { order: 2 !important; } .order-xl-3 { order: 3 !important; } .order-xl-4 { order: 4 !important; } .order-xl-5 { order: 5 !important; } .order-xl-last { order: 6 !important; } }
@media (min-width: 1400px) { .order-xxl-first { order: -1 !important; } .order-xxl-0 { order: 0 !important; } .order-xxl-1 { order: 1 !important; } .order-xxl-2 { order: 2 !important; } .order-xxl-3 { order: 3 !important; } .order-xxl-4 { order: 4 !important; } .order-xxl-5 { order: 5 !important; } .order-xxl-last { order: 6 !important; } }

/* End of file */
