body {
  font-family: "DM Sans", sans-serif;
  font-optical-sizing: auto;
}
#top_contact {
  color: #333 !important;
}
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .show > .nav-link {
  color: #ffffff;
  text-decoration: underline;
}

/* Custom success color */
:root {
  --bs-success: #1d4f29;
}

.bg-success {
  background-color: var(--bs-success) !important;
}

.btn-success {
  background-color: var(--bs-success) !important;
  border-color: var(--bs-success) !important;
}

.btn-success:hover {
  background-color: var(--bs-green) !important;
  border-color: var(--bs-green) !important;
}

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

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

footer {
  text-align: center;
  padding: 7px;
  background-color: var(--bs-success);
  color: #bbb;
  margin-top: 70px;
}
footer p {
  margin-bottom: 0px;
}
a {
  color: #333;
  text-decoration: underline;
}
a:hover {
  color: #666;
  text-decoration: none;
}
a.red_link {
  color: var(--bs-danger);
}
a.red_link:hover {
  color: var(--bs-danger);
}

input,
select {
  height: 42px;
  border-color: #dadada;
}

.form-check-input:checked {
  background-color: var(--bs-success);
  border-color: var(--bs-success);
}

/* START show password */
.password-container {
  position: relative;
  margin: 0 auto;
}

.password-input {
  padding-right: 40px;
  font-size: 16px;
}

.toggle-password {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  width: 24px;
  height: 24px;
}

.toggle-password img {
  display: none;
}

.toggle-password img.show {
  display: block;
}
/* END show password */

.form-control:focus,
.form-check-input:focus {
  border-color: var(--bs-success) !important;
  box-shadow: 0 0 0 0.25rem rgba(195, 255, 198, 0.25) !important;
}

table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 10px;
  overflow: hidden;
}
table th:first-child {
  border-top-left-radius: 10px;
}

table th:last-child {
  border-top-right-radius: 10px;
}

.table > :not(caption) > * > * {
  border-bottom-width: 0px;
}

.table thead th {
  border-bottom-width: 1px;
}

.table > :not(:last-child) > :last-child > * {
  border-bottom-color: #d3d3d3;
}

table th,
table td {
  height: 50px;
  vertical-align: middle;
}

.bg-soft-success {
  background-color: #b7ffdd;
  color: var(--bs-dark);
}

.bg-soft-danger {
  background-color: #cdb1b1;
  color: var(--bs-danger);
}

.bg-soft-warning {
  background-color: #edcaca;
  color: var(--bs-dark);
}

.pagination .page-link {
  color: #198754;
}

.pagination .page-item.active .page-link {
  background-color: #198754;
  border-color: #198754;
}

.pagination .page-item.disabled .page-link {
  color: #6c757d;
  pointer-events: none;
  cursor: default;
}

.pagination .page-link {
  border: 1px solid #198754;
}

.pagination .page-item .page-link:hover {
  background-color: #e9ecef;
  border-color: #198754;
}

.pagination .page-item:first-child .page-link {
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.pagination .page-item:last-child .page-link {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}
