:root {
  --theme-bg-outlined: var(--bs-gray-dark);
  
  --theme-border-outer: #424a51;
  --theme-border-inner: #32383e;

  --theme-darken-opacity: 0.08;

  --bs-gray-dark-rgb: var(--theme-bg-primary-rgb);
  --bs-gray-dark: rgb(var(--bs-gray-dark-rgb));
}

.modal-header, .modal-footer {
  background-color: rgba(0,0,0,.03);
}
.modal-header {
  border-bottom: 1px solid rgba(0,0,0,.125);
}
.modal-footer {
  border-top: 1px solid rgba(0,0,0,.125);
}

body {
  color: var(--bs-white);
}

.list-group-item {
  background-color: rgba(0,0,0,.15);
}

a.nohover:hover {
  color: inherit !important;
}

.title {
  color: var(--bs-white);
}

.profilecircle, .avatar::after, .avatar-bordered img {
  border-color: var(--bs-gray);
}

.alternatebg:nth-child(even) {
  background-color: #1D1D1D;
}

::-webkit-scrollbar
{
  background-color: var(--theme-bg-secondary);
}

::-webkit-scrollbar-thumb
{
  background-color: var(--theme-bg-primary);
}

/* link overrides */
a, a.nav-link {
  color: var(--bs-white);
}

a:hover,
a:focus {
  color: var(--bs-gray);
}

label a, p:not(.text-muted) a {
  color: var(--bs-gray);
}

.table-custom td a {
  color: var(--bs-white);
}

/* form overrides */
.form-control, .form-select,
.input-group-text,
.page-link {
  background-color: rgba(var(--theme-bg-secondary-rgb), calc(var(--theme-darken-opacity) * 7));
}

.input-group .btn-outline-custom,
.btn-outline-custom.active {
   border-color: var(--theme-border-outer);
 }

.form-control, .form-select,
.input-group-text {
  color: var(--bs-white);
}
.form-control:focus, .form-select:focus {
  background-color: #e9ecef;
  color: var(--bs-dark);
}
.form-control:disabled, .form-control[readonly], .form-select:disabled, .form-select[readonly],
.page-item.disabled .page-link {
  background-color: rgba(var(--theme-bg-secondary-rgb), calc(var(--theme-darken-opacity) * 4));
}

.form-control:disabled, .form-control[readonly], .form-select:disabled, .form-select[readonly] {
  color: var(--bs-gray);
}

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

/* pagination overrides */
.page-link {
  color: var(--bs-gray);
  border: 1px solid var(--theme-border-outer);
}

.page-item.active .page-link,
.page-link:focus,
.page-link:hover {
  color: var(--bs-light);
  background: var(--theme-gradient);
  border-color: var(--theme-border-outer);
}

.page-item.disabled .page-link {
  color: var(--bs-gray-dark);
  border: 1px solid var(--theme-border-outer);
}

.btn-outline-custom {
  color: var(--bs-gray);
  border-color: var(--theme-border-outer);
  background-color: transparent;
  background-image: none;
}

.btn.btn-tertiary {
  color: var(--bs-gray);
}

.progress {
  background-color: var(--bs-dark);
}
.progress-bar.bg-custom {
  background-color: var(--bs-gray);
}

.table-custom,
.table-striped > tbody > tr:nth-of-type(odd) {
  color: var(--bs-white);
}

.table-custom {
  background-color: rgba(var(--theme-bg-secondary-rgb), calc(var(--theme-opacity)));
}

.table-custom th,
.table-custom td {
  border-color: var(--theme-border-inner);
}

.table-custom.table-bordered > :not(caption) > * > * {
  border-width: 1px;
}

.table-custom.table-bordered > :not(:last-child) > :last-child > * {
  border-bottom: none;
}

.table-custom.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.05);
}

#nprogress .bar {
  background: #676767;
  height: 5px;
}
#nprogress .peg {
  box-shadow: 0 0 10px #676767, 0 0 5px #676767;
}

.swal2-popup .swal2-html-container, .swal2-popup .swal2-title, .swal2-cancel {
  color: #fff !important;
}

.swal2-loading .swal2-loader {
  border-top-color: #fff !important;
  border-bottom-color: #fff !important;
}

.swal2-popup .swal2-input,
.swal2-popup .swal2-input:focus,
.swal2-popup .swal2-select,
  .swal2-popup .swal2-select:focus {
  background-color: rgba(var(--theme-bg-secondary-rgb), calc(var(--theme-darken-opacity) * 7));
  color: var(--bs-white);
}

:not(.form-control) > hr {
  background-color: #000;
}

/* card overrides */
.card {
  background-color: rgba(0, 0, 0, 0.35) !important;
  color: #fff !important;
  border-color: var(--theme-border-outer) !important;
}

.card-header {
  background-color: rgba(0, 0, 0, 0.2) !important;
  border-bottom-color: var(--theme-border-inner) !important;
  color: #fff !important;
}

.card-footer {
  background-color: rgba(0, 0, 0, 0.15) !important;
  border-top-color: var(--theme-border-inner) !important;
}

.card-body {
  color: #fff !important;
}

.card-body p,
.card-body span,
.card-body div,
.card-body small,
.card-text {
  color: #fff !important;
}

.card-title, .card-subtitle {
  color: #fff !important;
}

/* list-group inside cards */
.list-group-item {
  color: #fff !important;
  border-color: var(--theme-border-inner);
}

/* table overrides for shop and general pages */
.table {
  color: #fff !important;
}

.table th, .table td {
  color: #fff !important;
  border-color: var(--theme-border-inner);
}

/* heading overrides */
h1, h2, h3, h4, h5, h6 {
  color: #fff !important;
}

/* content section text */
.content-section,
.content-section p,
.content-section span,
.content-section div,
.content-section small,
.content-section label {
  color: #fff;
}

.text-muted {
  color: rgba(255, 255, 255, 0.55) !important;
}

/* modal overrides */
.modal-content {
  background-color: rgba(30, 30, 35, 0.95) !important;
  color: #fff !important;
  border-color: var(--theme-border-outer) !important;
}

.modal-body,
.modal-body p,
.modal-body span,
.modal-body div {
  color: #fff !important;
}

/* accordion overrides (FAQ) */
.accordion-item {
  background-color: rgba(0, 0, 0, 0.35) !important;
  border-color: var(--theme-border-outer) !important;
  color: #fff !important;
}

.accordion-button {
  background-color: rgba(0, 0, 0, 0.2) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.accordion-button:not(.collapsed) {
  background-color: rgba(var(--theme-primary-rgb), 0.25) !important;
  color: #fff !important;
}

.accordion-button::after {
  filter: invert(1);
}

.accordion-body {
  background-color: rgba(0, 0, 0, 0.15) !important;
  color: #fff !important;
}

.accordion-body p,
.accordion-body span,
.accordion-body div,
.accordion-body a {
  color: #fff !important;
}

/* alert overrides */
.alert {
  border-color: var(--theme-border-outer);
  color: #fff !important;
}

.alert-info {
  background-color: rgba(13, 202, 240, 0.15) !important;
  border-color: rgba(13, 202, 240, 0.3) !important;
}

.alert-success {
  background-color: rgba(25, 135, 84, 0.15) !important;
  border-color: rgba(25, 135, 84, 0.3) !important;
}

.alert-warning {
  background-color: rgba(255, 193, 7, 0.15) !important;
  border-color: rgba(255, 193, 7, 0.3) !important;
  color: #ffc107 !important;
}

.alert-danger {
  background-color: rgba(220, 53, 69, 0.15) !important;
  border-color: rgba(220, 53, 69, 0.3) !important;
}
