html,
body {
  margin: 0;
  height: 100%;
  width: 100%;
}

body {
  overflow-y: scroll;
}

#wrapper {
  overflow-x: hidden;
}

#page-content-wrapper {
  width: 100%;
  height: 100%;
}

#content {
  height: calc(100% - 57px);
  min-height: calc(100vh - 57px);
  color: #606769;
}

#sidebar-wrapper {
  transition: margin 0.25s ease-out;
  margin-left: -22rem;
  width: 22rem;
}

#sidebar-wrapper .sidebar-heading {
  padding: 0.875rem 1.25rem;
  font-size: 1.2rem;
  width: inherit;
}

body.sb-sidenav-toggled #wrapper #sidebar-wrapper {
  margin-left: 0;
}

#user-menu-dropdown {
  z-index: 1056;
}

@media (min-width: 768px) {
  #sidebar-wrapper {
    margin-left: 0;
  }

  #page-content-wrapper {
    min-width: 0;
    width: 100%;
  }

  body.sb-sidenav-toggled #wrapper #sidebar-wrapper {
    margin-left: -22rem;
  }
}

#content .accordion-item {
  color: #606769;
}

/* BS override */
.accordion-button {
  padding: 0.5rem;
}

.accordion-body {
  padding: 0.75em;
}

.accordion-button:not(.collapsed)::after {
  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");
}

.accordion-button:not(.collapsed) {
  color: #212529;
  background-color: #e9ecef;
}

.nav-link,
.nav-tabs .nav-link.active {
  color: #6c757d;
}

.nav-link:focus,
.nav-link:hover {
  color: #606769;
}

.form-check-input:checked {
  background-color: #6c757d;
  border-color: #6c757d;
  box-shadow: 0 0 0 0.15rem rgba(108, 117, 125, 0.25);
}

.form-check-input:focus {
  border-color: #e9ecef;
  box-shadow: 0 0 0 0.15rem rgba(108, 117, 125, 0.25);
}

.form-switch .form-check-input:focus {
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgb(233,236,239)'/></svg>");
}

.form-control:focus,
.form-select:focus,
.btn:focus,
.accordion-button:focus,
.btn-close:focus {
  border-color: #6c757d;
  box-shadow: 0 0 0 0.15rem rgba(108, 117, 125, 0.25);
}

.dropdown-item.active,
.dropdown-item:active {
  background-color: #6c757d;
  color: #fff;
}

.form-range::-moz-range-track {
  background: #e9ecef;
}

.form-range::-webkit-slider-runnable-track {
  background: #e9ecef;
}

.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.15rem rgba(108, 117, 125, 0.25);
}
.form-range::-webkit-slider-thumb {
  background-color: #6c757d;
}
.form-range::-webkit-slider-thumb:active {
  background-color: #e9ecef;
}

.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #fff, 0 0 0 0.15rem rgba(108, 117, 125, 0.25);
}
.form-range::-moz-range-thumb {
  background-color: #6c757d;
}
.form-range::-moz-range-thumb:active {
  background-color: #e9ecef;
}

.tab-content {
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 10px;
}

.table > :not(caption) > * {
  --bs-table-color: #606769;
}

.nav-tabs {
  margin-bottom: 0;
}

.messages-container {
  max-width: fit-content;
}


.is-invalid,
.was-validated .form-control:invalid {
  border-color: var(--bs-danger) !important;
}

.is-invalid:focus,
.was-validated .form-control:invalid:focus {
  border-color: var(--bs-danger) !important;
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25) !important;
}

.invalid-feedback {
  color: var(--bs-danger) !important;
}

.valid-feedback {
  color: var(--bs-success) !important;
}

.is-valid,
.was-validated .form-control:valid {
  border-color: var(--bs-success) !important;
}

.is-valid:focus,
.was-validated .form-control:valid:focus {
  border-color: var(--bs-success) !important;
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25) !important;
}

.btn-primary {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  color: white;
}

.btn-primary:hover {
  background-color: rgba(var(--bs-primary-rgb), 0.9);
  border-color: rgba(var(--bs-primary-rgb), 0.9);
  color: white;
}

.btn-primary:focus {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
  color: white;
}

.btn-primary:active,
.btn-primary.active {
  background-color: rgba(var(--bs-primary-rgb), 0.8) !important;
  border-color: rgba(var(--bs-primary-rgb), 0.8) !important;
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) !important;
  color: white;
}

.btn-primary:disabled,
.btn-primary.disabled {
  background-color: rgba(var(--bs-primary-rgb), 0.65);
  border-color: rgba(var(--bs-primary-rgb), 0.65);
  color: white;
}

:root {
  --bs-danger: #b01c35;
  --bs-danger-rgb: 176, 28, 53;
  --bs-danger-text-emphasis: #580d1a;
  --bs-danger-bg-subtle: #f8d7dd;
  --bs-danger-border-subtle: #e9adb9;
  
  --bs-warning: #d9620d;
  --bs-warning-rgb: 217, 98, 13;
  --bs-warning-text-emphasis: #6c3106;
  --bs-warning-bg-subtle: #fde8d7;
  --bs-warning-border-subtle: #f7c297;
  
  --bs-success: #7fb01c;
  --bs-success-rgb: 127, 176, 28;
  --bs-success-text-emphasis: #40580e;
  --bs-success-bg-subtle: #ebf5d9;
  --bs-success-border-subtle: #cde5a8;
  
  --bs-info: #606769;
  --bs-info-rgb: 96, 103, 105;
  --bs-info-text-emphasis: #303334;
  --bs-info-bg-subtle: #e2e3e4;
  --bs-info-border-subtle: #c5c7c8;

  --bs-primary: #232b55;
  --bs-primary-rgb: 35, 43, 85;
  --bs-primary-text-emphasis: #121a3c;
  --bs-primary-bg-subtle: #dfe2f1;
  --bs-primary-border-subtle: #bfc3d6;
}