/* Bootstrap 5.3 Theme Override */
/* Add this CSS file AFTER bootstrap.css in your HTML */
@import url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");

:root {
  /* Override Bootstrap CSS Variables */
  --bs-primary: #008540;
  --bs-primary-rgb: 0, 133, 64;
  --bs-secondary: #696969;
  --bs-secondary-rgb: 105, 105, 105;

  /* Font */
  --bs-body-font-family: "Roboto", sans-serif;
  --bs-font-sans-serif: "Roboto", sans-serif;
}

/* Override Bootstrap Classes for Complete Coverage */
.btn-primary {
  background-color: #008540 !important;
  border-color: #008540 !important;
  color: #ffffff !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: #00520d !important;
  border-color: #00520d !important;
  color: #ffffff !important;
}

.btn-primary:active {
  background-color: #001f00 !important;
  border-color: #001f00 !important;
}

.btn-outline-primary {
  color: #008540 !important;
  border-color: #008540 !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background-color: #008540 !important;
  border-color: #008540 !important;
  color: #ffffff !important;
}

.btn-secondary {
  background-color: #696969 !important;
  border-color: #696969 !important;
  color: #ffffff !important;
}

.btn-secondary:hover,
.btn-secondary:focus {
  background-color: #363636 !important;
  border-color: #363636 !important;
  color: #ffffff !important;
}

.btn-outline-secondary {
  color: #696969 !important;
  border-color: #696969 !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
  background-color: #696969 !important;
  border-color: #696969 !important;
  color: #ffffff !important;
}

.btn-group > .btn-primary {
  background-color: #008540 !important;
  border-color: #008540 !important;
  color: #ffffff !important;
}

.bg-primary {
  background-color: #008540 !important;
  color: #ffffff !important;
}

.bg-secondary {
  background-color: #696969 !important;
  color: #ffffff !important;
}

.text-primary {
  color: #008540 !important;
}

.text-secondary {
  color: #696969 !important;
}

.alert-primary {
  background-color: #e5ffff !important;
  border-color: #008540 !important;
  color: #001f00 !important;
}

.alert-primary .alert-link {
  color: #001f00 !important;
}

.alert-secondary {
  background-color: #ffffff !important;
  border-color: #696969 !important;
  color: #363636 !important;
}

.alert-secondary .alert-link {
  color: #363636 !important;
}

.badge.bg-primary {
  background-color: #008540 !important;
  color: #ffffff !important;
}

.badge.bg-secondary {
  background-color: #696969 !important;
  color: #ffffff !important;
}

.table-primary {
  background-color: #ccffff !important;
  color: #001f00 !important;
}

.table-secondary {
  background-color: #ffffff !important;
  color: #363636 !important;
}

.progress-bar {
  background-color: #008540 !important;
}

.navbar-dark.bg-primary {
  background-color: #008540 !important;
}

.navbar-dark.bg-primary .navbar-brand,
.navbar-dark.bg-primary .navbar-nav .nav-link {
  color: #ffffff !important;
}

.navbar-dark.bg-primary .navbar-nav .nav-link.active {
  color: #ffffff !important;
  opacity: 1;
}

.navbar-dark.bg-primary .navbar-nav .nav-link:hover {
  color: #ffffff !important;
  opacity: 0.8;
}

.navbar-light .navbar-brand {
  color: #008540 !important;
}

.nav-tabs .nav-link {
  color: #008540 !important;
}

.nav-tabs .nav-link.active {
  color: #008540 !important;
  border-color: #dee2e6 #dee2e6 #fff !important;
}

.nav-tabs .nav-link:hover {
  border-color: #e9ecef #e9ecef #dee2e6 !important;
  color: #00520d !important;
}

.nav-pills .nav-link {
  color: #008540 !important;
}

.nav-pills .nav-link.active {
  background-color: #008540 !important;
  color: #ffffff !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background-color: #ccffff !important;
  color: #001f00 !important;
}

.form-control:focus {
  border-color: #008540 !important;
  box-shadow: 0 0 0 0.25rem #00854033 !important;
}

.form-select:focus {
  border-color: #008540 !important;
  box-shadow: 0 0 0 0.25rem #00854033 !important;
}

.form-check-input:checked {
  background-color: #008540 !important;
  border-color: #008540 !important;
}

.form-check-input:focus {
  border-color: #008540 !important;
  box-shadow: 0 0 0 0.25rem #00854033 !important;
}

.form-switch .form-check-input:checked {
  background-color: #008540 !important;
  border-color: #008540 !important;
}

.form-range::-webkit-slider-thumb {
  background: #008540 !important;
}

.form-range::-moz-range-thumb {
  background: #008540 !important;
}

.form-floating > label {
  color: #6c757d !important;
}

.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
  color: #008540 !important;
}

a {
  color: #008540 !important;
}

a:hover {
  color: #00520d !important;
}

.link-primary {
  color: #008540 !important;
}

.link-secondary {
  color: #696969 !important;
}

.card-header.bg-primary {
  background-color: #008540 !important;
  color: #ffffff !important;
}

.card-header.bg-secondary {
  background-color: #696969 !important;
  color: #ffffff !important;
}

.card.border-primary {
  border-color: #008540 !important;
}

.card.bg-primary {
  background-color: #008540 !important;
  color: #ffffff !important;
}

.card.bg-primary .card-header {
  border-bottom-color: #00520d !important;
}

.list-group-item.active {
  background-color: #008540 !important;
  border-color: #008540 !important;
  color: #ffffff !important;
}

.list-group-item-action:hover {
  background-color: #e5ffff !important;
}

.list-group-item-action.active {
  background-color: #008540 !important;
  border-color: #008540 !important;
  color: #ffffff !important;
}

.page-link {
  color: #008540 !important;
}

.page-link:hover {
  color: #00520d !important;
  background-color: #e5ffff !important;
}

.page-item.active .page-link {
  background-color: #008540 !important;
  border-color: #008540 !important;
  color: #ffffff !important;
}

.accordion-button:not(.collapsed) {
  background-color: #ccffff !important;
  color: #001f00 !important;
}

.accordion-button:focus {
  box-shadow: 0 0 0 0.25rem #00854033 !important;
}

.breadcrumb-item a {
  color: #008540 !important;
}

.breadcrumb-item.active {
  color: #6c757d !important;
}

.spinner-border.text-primary {
  color: #008540 !important;
}

.spinner-grow.text-primary {
  color: #008540 !important;
}

.spinner-border.text-secondary {
  color: #696969 !important;
}

.spinner-grow.text-secondary {
  color: #696969 !important;
}

.btn-close:focus {
  box-shadow: 0 0 0 0.25rem #00854033 !important;
}

.input-group-text {
  background-color: #e9ecef !important;
  border-color: #ced4da !important;
}

.input-group > .form-control:focus ~ .input-group-text {
  border-color: #008540 !important;
}

/* Font Override */
body {
  font-family: "Roboto", sans-serif !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: "Roboto", sans-serif !important;
}

.navbar-brand {
  font-family: "Roboto", sans-serif !important;
}
