*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; font-family: system-ui, -apple-system, sans-serif; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #212529; background-color: #fff; -webkit-tap-highlight-color: transparent; }
p  { margin-top: 0; margin-bottom: 1rem; }
ul, ol { margin-top: 0; margin-bottom: 1rem; padding-left: 2rem; }
ul ul, ol ul { margin-bottom: 0; }
h1,h2,h3,h4,h5,h6 { margin-top: 0; margin-bottom: 0.5rem; font-weight: 500; line-height: 1.2; }
hr { margin: 1rem 0; color: inherit; border: 0; border-top: 1px solid; opacity: 0.25; }
a  { color: #0d6efd; text-decoration: underline; }
a:hover { color: #0a58ca; }
img, svg { vertical-align: middle; }
img { max-width: 100%; height: auto; }
table { caption-side: bottom; border-collapse: collapse; }
th { text-align: inherit; }
button, input, optgroup, select, textarea { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button:not(:disabled) { cursor: pointer; }
fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
label { display: inline-block; }
input[type="date"], input[type="time"], input[type="datetime-local"], input[type="month"] { appearance: none; }
select { word-wrap: normal; }
textarea { resize: vertical; }
[hidden] { display: none !important; }
.container-xxl { width: 100%; padding-right: 0.75rem; padding-left: 0.75rem; margin-right: auto; margin-left: auto; }
@media (min-width: 1400px) { .container-xxl { max-width: 1320px; } }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  border-radius: 0.375rem;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
  white-space: nowrap;
}
.btn:focus-visible { outline: 0; box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25); }
.btn:disabled, .btn.disabled { opacity: 0.65; pointer-events: none; cursor: not-allowed; }

.btn-sm { padding: 0.25rem 0.5rem; font-size: 0.875rem; border-radius: 0.25rem; }
.btn-lg { padding: 0.5rem 1rem; font-size: 1.25rem; border-radius: 0.5rem; min-height: 44px; }

.btn-primary   { color: #fff; background-color: #0d6efd; border-color: #0d6efd; }
.btn-primary:hover, .btn-primary:focus { color: #fff; background-color: #0b5ed7; border-color: #0a58ca; }
.btn-secondary { color: #fff; background-color: #6c757d; border-color: #6c757d; }
.btn-secondary:hover { color: #fff; background-color: #5c636a; border-color: #565e64; }
.btn-success   { color: #fff; background-color: #198754; border-color: #198754; }
.btn-success:hover { color: #fff; background-color: #157347; border-color: #146c43; }
.btn-danger    { color: #fff; background-color: #dc3545; border-color: #dc3545; }
.btn-danger:hover { color: #fff; background-color: #bb2d3b; border-color: #b02a37; }
.btn-warning   { color: #212529; background-color: #ffc107; border-color: #ffc107; }
.btn-warning:hover { color: #212529; background-color: #ffca2c; border-color: #ffc720; }
.btn-info      { color: #212529; background-color: #0dcaf0; border-color: #0dcaf0; }
.btn-info:hover { color: #212529; background-color: #31d2f2; border-color: #25cff2; }
.btn-light     { color: #212529; background-color: #f8f9fa; border-color: #f8f9fa; }
.btn-light:hover { color: #212529; background-color: #f9fafb; border-color: #f9fafb; }
.btn-dark      { color: #fff; background-color: #212529; border-color: #212529; }
.btn-dark:hover { color: #fff; background-color: #1c1f23; border-color: #1a1e21; }
.btn-link      { color: #0d6efd; text-decoration: underline; background: none; border: none; }
.btn-link:hover { color: #0a58ca; }

.btn-outline-primary   { color: #0d6efd; border-color: #0d6efd; }
.btn-outline-primary:hover { color: #fff; background-color: #0d6efd; border-color: #0d6efd; }
.btn-outline-secondary { color: #6c757d; border-color: #6c757d; }
.btn-outline-secondary:hover { color: #fff; background-color: #6c757d; }
.btn-outline-success   { color: #198754; border-color: #198754; }
.btn-outline-success:hover { color: #fff; background-color: #198754; }
.btn-outline-danger    { color: #dc3545; border-color: #dc3545; }
.btn-outline-danger:hover { color: #fff; background-color: #dc3545; }
.btn-outline-warning   { color: #ffc107; border-color: #ffc107; }
.btn-outline-warning:hover { color: #212529; background-color: #ffc107; }
.btn-outline-info      { color: #0dcaf0; border-color: #0dcaf0; }
.btn-outline-info:hover { color: #212529; background-color: #0dcaf0; }
.btn-outline-light     { color: #f8f9fa; border-color: #f8f9fa; }
.btn-outline-light:hover { color: #212529; background-color: #f8f9fa; }
.btn-outline-dark      { color: #212529; border-color: #212529; }
.btn-outline-dark:hover { color: #fff; background-color: #212529; }

.btn-close {
  box-sizing: content-box;
  width: 1em; height: 1em;
  padding: 0.25em;
  color: #000;
  background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%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 no-repeat;
  border: 0; border-radius: 0.375rem;
  opacity: 0.5; cursor: pointer;
}
.btn-close:hover { opacity: 0.75; }

.form-label  { margin-bottom: 0.5rem; font-weight: 500; display: inline-block; }
.form-text   { margin-top: 0.25rem; font-size: 0.875em; color: #6c757d; display: block; }

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  border: 1px solid #ced4da;
  border-radius: 0.375rem;
  appearance: none;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.form-control:focus {
  color: #212529;
  background-color: #fff;
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25);
}
.form-control::placeholder { color: #6c757d; opacity: 1; }
.form-control:disabled, .form-control[readonly] { background-color: #e9ecef; opacity: 1; }
.form-control-lg { padding: 0.5rem 1rem; font-size: 1.25rem; border-radius: 0.5rem; min-height: 3rem; }
.form-control-sm { padding: 0.25rem 0.5rem; font-size: 0.875rem; border-radius: 0.25rem; }

.form-select {
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  background-color: #fff;
  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='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: 1px solid #ced4da;
  border-radius: 0.375rem;
  appearance: none;
  transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.form-select:focus { border-color: #86b7fe; outline: 0; box-shadow: 0 0 0 0.25rem rgba(13,110,253,.25); }
.form-select-lg   { padding-top: 0.5rem; padding-bottom: 0.5rem; padding-left: 1rem; font-size: 1.25rem; border-radius: 0.5rem; min-height: 3rem; }
.form-select:disabled { background-color: #e9ecef; }

.form-check         { display: block; min-height: 1.5rem; padding-left: 1.5em; margin-bottom: 0.125rem; }
.form-check-input   { width: 1em; height: 1em; margin-top: 0.25em; vertical-align: top; background-color: #fff; border: 1px solid rgba(0,0,0,.25); appearance: none; float: left; margin-left: -1.5em; border-radius: 0.25em; }
.form-check-input[type="radio"] { border-radius: 50%; }
.form-check-input:checked { background-color: #0d6efd; border-color: #0d6efd; }
.form-check-label   { cursor: pointer; }

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-select { position: relative; flex: 1 1 auto; width: 1%; min-width: 0; }
.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: center;
  white-space: nowrap;
  background-color: #e9ecef;
  border: 1px solid #ced4da;
  border-radius: 0.375rem;
}
.input-group > :not(:first-child) { margin-left: -1px; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group > :not(:last-child)  { border-top-right-radius: 0; border-bottom-right-radius: 0; }

.form-control.is-valid, .was-validated .form-control:valid     { border-color: #198754; }
.form-control.is-invalid, .was-validated .form-control:invalid { border-color: #dc3545; }
.valid-feedback   { display: none; width: 100%; margin-top: 0.25rem; font-size: 0.875em; color: #198754; }
.invalid-feedback { display: none; width: 100%; margin-top: 0.25rem; font-size: 0.875em; color: #dc3545; }
.form-control.is-invalid ~ .invalid-feedback,
.was-validated .form-control:invalid ~ .invalid-feedback { display: block; }
.form-control.is-valid ~ .valid-feedback,
.was-validated .form-control:valid ~ .valid-feedback { display: block; }

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  word-wrap: break-word;
  background-color: #fff;
  border: 1px solid rgba(0,0,0,.125);
  border-radius: 0.375rem;
}
.card-body   { flex: 1 1 auto; padding: 1rem; }
.card-header {
  padding: 0.5rem 1rem;
  margin-bottom: 0;
  background-color: rgba(0,0,0,.03);
  border-bottom: 1px solid rgba(0,0,0,.125);
  border-radius: calc(0.375rem - 1px) calc(0.375rem - 1px) 0 0;
}
.card-footer {
  padding: 0.5rem 1rem;
  background-color: rgba(0,0,0,.03);
  border-top: 1px solid rgba(0,0,0,.125);
  border-radius: 0 0 calc(0.375rem - 1px) calc(0.375rem - 1px);
}
.card-title  { margin-bottom: 0.5rem; }
.card-text   { margin-bottom: 1rem; }
.card-text:last-child { margin-bottom: 0; }
.card-img-top { width: 100%; border-top-left-radius: calc(0.375rem - 1px); border-top-right-radius: calc(0.375rem - 1px); }
.card-img-bottom { width: 100%; border-bottom-left-radius: calc(0.375rem - 1px); border-bottom-right-radius: calc(0.375rem - 1px); }

.badge {
  display: inline-block;
  padding: 0.35em 0.65em;
  font-size: 0.75em;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.375rem;
}
.badge.bg-warning, .badge.bg-info, .badge.bg-light { color: #212529; }

.alert {
  position: relative;
  padding: 1rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 0.375rem;
}
.alert-primary   { color: #084298; background-color: #cfe2ff; border-color: #b6d4fe; }
.alert-secondary { color: #41464b; background-color: #e2e3e5; border-color: #d3d6d8; }
.alert-success   { color: #0f5132; background-color: #d1e7dd; border-color: #badbcc; }
.alert-danger    { color: #842029; background-color: #f8d7da; border-color: #f5c2c7; }
.alert-warning   { color: #664d03; background-color: #fff3cd; border-color: #ffecb5; }
.alert-info      { color: #055160; background-color: #cff4fc; border-color: #b6effb; }
.alert-light     { color: #636464; background-color: #fefefe; border-color: #fdfdfe; }
.alert-dark      { color: #141619; background-color: #d3d3d4; border-color: #bcbebf; }
.alert-dismissible { padding-right: 3rem; }
.alert-dismissible .btn-close { position: absolute; top: 0; right: 0; z-index: 2; padding: 1.25rem 1rem; }

.table { width: 100%; margin-bottom: 1rem; color: #212529; vertical-align: top; border-color: #dee2e6; }
.table thead { vertical-align: bottom; }
.table tbody { vertical-align: inherit; }
.table th, .table td { padding: 0.5rem; border-bottom: 1px solid #dee2e6; }
.table thead th { border-bottom: 2px solid #dee2e6; font-weight: 600; }
.table-sm th, .table-sm td { padding: 0.25rem; }
.table-bordered th, .table-bordered td { border: 1px solid #dee2e6; }
.table-striped > tbody > tr:nth-of-type(odd) > * { background-color: rgba(0,0,0,.05); }
.table-hover > tbody > tr:hover > * { background-color: rgba(0,0,0,.075); }
.table-primary th, .table-primary td, .table-primary { background-color: #cfe2ff; color: #000; }
.table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; display: block; width: 100%; }
.table-dark { color: #fff; border-color: #373b3e; background-color: #212529; }
.table-dark th, .table-dark td { border-color: #373b3e; }

.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.navbar > .container,
.navbar > .container-fluid {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}
.navbar-brand {
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  margin-right: 1rem;
  font-size: 1.25rem;
  text-decoration: none;
  white-space: nowrap;
  color: inherit;
}
.navbar-brand:hover, .navbar-brand:focus { color: inherit; }
.navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link { padding-right: 0; padding-left: 0; }
.navbar-nav .dropdown-menu { position: static; }
.navbar-text { padding-top: 0.5rem; padding-bottom: 0.5rem; }

.nav-item  { list-style: none; }
.nav-link  {
  display: block;
  padding: 0.5rem 1rem;
  text-decoration: none;
  transition: color .15s ease-in-out;
  color: #0d6efd;
}
.nav-link:hover, .nav-link:focus { color: #0a58ca; text-decoration: none; }
.nav-link.disabled { color: #6c757d; pointer-events: none; cursor: default; }
.nav-link.active   { color: inherit; }

.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.375rem;
  transition: box-shadow .15s ease-in-out;
  cursor: pointer;
  min-width: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.navbar-toggler:focus { outline: 0; box-shadow: 0 0 0 0.25rem rgba(255,255,255,.25); }
.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.navbar-dark .navbar-brand { color: #fff; }
.navbar-dark .navbar-brand:hover { color: rgba(255,255,255,.9); }
.navbar-dark .nav-link { color: rgba(255,255,255,.75); }
.navbar-dark .nav-link:hover, .navbar-dark .nav-link:focus { color: #fff; }
.navbar-dark .nav-link.active { color: #fff; }
.navbar-dark .navbar-toggler { color: rgba(255,255,255,.55); border-color: rgba(255,255,255,.1); }
.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255%2C255%2C255%2C0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-dark .navbar-text { color: rgba(255,255,255,.75); }

.navbar-light .navbar-brand { color: rgba(0,0,0,.9); }
.navbar-light .nav-link { color: rgba(0,0,0,.55); }
.navbar-light .nav-link:hover { color: rgba(0,0,0,.7); }
.navbar-light .navbar-toggler { color: rgba(0,0,0,.55); border-color: rgba(0,0,0,.1); }
.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280%2C0%2C0%2C0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.collapse:not(.show) { display: none; }
.collapsing { height: 0; overflow: hidden; transition: height .35s ease; }

@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: 0.5rem; padding-left: 0.5rem; }
  .navbar-expand-lg .navbar-nav .dropdown-menu { position: absolute; }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
    flex-grow: 1;
    align-items: center;
  }
  .navbar-expand-lg .navbar-toggler { display: none; }
}

.dropdown,
.dropup,
.dropend,
.dropstart { position: relative; }

.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown-menu {
  position: absolute;
  z-index: 1000;
  display: none;
  min-width: 10rem;
  padding: 0.5rem 0;
  margin: 0;
  font-size: 1rem;
  color: #212529;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 0.375rem;
  box-shadow: 0 0.5rem 1rem rgba(0,0,0,.15);
  top: 100%;
  left: 0;
}
.dropdown-menu.show { display: block; }
.dropdown-item {
  display: block;
  width: 100%;
  padding: 0.375rem 1rem;
  clear: both;
  font-weight: 400;
  color: #212529;
  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  cursor: pointer;
}
.dropdown-item:hover, .dropdown-item:focus { color: #1e2125; background-color: #e9ecef; text-decoration: none; }
.dropdown-item.active, .dropdown-item:active { color: #fff; background-color: #0d6efd; }
.dropdown-item.disabled { color: #adb5bd; pointer-events: none; background-color: transparent; }
.dropdown-header { display: block; padding: 0.5rem 1rem; margin-bottom: 0; font-size: 0.875rem; color: #6c757d; white-space: nowrap; font-weight: 600; }
.dropdown-divider { height: 0; margin: 0.5rem 0; overflow: hidden; border-top: 1px solid rgba(0,0,0,.15); }
.dropdown-menu-end { right: 0; left: auto; }

.accordion-item {
  background-color: #fff;
  border: 1px solid rgba(0,0,0,.125);
}
.accordion-item:first-of-type { border-radius: 0.375rem 0.375rem 0 0; }
.accordion-item:last-of-type  { border-radius: 0 0 0.375rem 0.375rem; }
.accordion-item + .accordion-item { border-top: 0; }
.accordion-header { margin-bottom: 0; }
.accordion-button {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 1rem 1.25rem;
  font-size: 1rem;
  color: #212529;
  text-align: left;
  background-color: #fff;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.accordion-button:not(.collapsed) {
  color: #0c63e4;
  background-color: #e7f1ff;
  box-shadow: inset 0 -1px 0 rgba(0,0,0,.125);
}
.accordion-button::after {
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin-left: auto;
  content: "";
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: 1.25rem;
  transition: transform .2s ease-in-out;
}
.accordion-button:not(.collapsed)::after {
  transform: rotate(-180deg);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.accordion-body { padding: 1rem 1.25rem; }
.accordion-flush .accordion-item { border-right: 0; border-left: 0; border-radius: 0; }
.accordion-flush .accordion-item:first-child { border-top: 0; }
.accordion-flush .accordion-item:last-child  { border-bottom: 0; }

.list-group {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: 0.375rem;
}
.list-group-item {
  position: relative;
  display: block;
  padding: 0.5rem 1rem;
  color: #212529;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid rgba(0,0,0,.125);
}
.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-action { width: 100%; color: #495057; text-align: inherit; cursor: pointer; }
.list-group-item-action:hover, .list-group-item-action:focus { color: #495057; background-color: #f8f9fa; text-decoration: none; }
.list-group-item.active   { z-index: 2; color: #fff; background-color: #0d6efd; border-color: #0d6efd; }
.list-group-item.disabled { color: #6c757d; pointer-events: none; }
.list-group-flush .list-group-item { border-right: 0; border-left: 0; border-radius: 0; }

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  margin-bottom: 1rem;
  list-style: none;
  font-size: 0.875rem;
}
.breadcrumb-item + .breadcrumb-item { padding-left: 0.5rem; }
.breadcrumb-item + .breadcrumb-item::before { float: left; padding-right: 0.5rem; color: #6c757d; content: "/"; }
.breadcrumb-item.active { color: #6c757d; }

.pagination { display: flex; padding-left: 0; list-style: none; }
.page-link {
  position: relative;
  display: block;
  color: #0d6efd;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #dee2e6;
  transition: color .15s, background-color .15s, border-color .15s;
  padding: 0.375rem 0.75rem;
}
.page-link:hover { color: #0a58ca; background-color: #e9ecef; border-color: #dee2e6; }
.page-item.active .page-link { color: #fff; background-color: #0d6efd; border-color: #0d6efd; }
.page-item.disabled .page-link { color: #6c757d; pointer-events: none; }
.page-item:not(:first-child) .page-link { margin-left: -1px; }
.page-item:first-child .page-link { border-radius: 0.375rem 0 0 0.375rem; }
.page-item:last-child  .page-link { border-radius: 0 0.375rem 0.375rem 0; }

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

.ratio { position: relative; width: 100%; }
.ratio::before { display: block; content: ""; padding-top: var(--bs-aspect-ratio, 100%); }
.ratio > * { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.ratio-16x9 { --bs-aspect-ratio: 56.25%; }
.ratio-4x3  { --bs-aspect-ratio: 75%; }
.ratio-1x1  { --bs-aspect-ratio: 100%; }

.progress {
  height: 1rem;
  overflow: hidden;
  font-size: 0.75rem;
  background-color: #e9ecef;
  border-radius: 0.375rem;
  box-shadow: inset 0 1px 2px rgba(0,0,0,.075);
}
.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  background-color: #0d6efd;
  transition: width .6s ease;
}

.display-1 { font-size: 5rem; font-weight: 300; line-height: 1.2; }
.display-2 { font-size: 4.5rem; font-weight: 300; line-height: 1.2; }
.display-3 { font-size: 4rem; font-weight: 300; line-height: 1.2; }
.display-4 { font-size: 3.5rem; font-weight: 300; line-height: 1.2; }
.display-5 { font-size: 3rem; font-weight: 300; line-height: 1.2; }
.display-6 { font-size: 2.5rem; font-weight: 300; line-height: 1.2; }
