:root {
  --text-color: rgb(230, 230, 230);
  --link-color: rgb(138, 180, 248);
  --deep-background: rgb(20, 22, 25);
  --nav-background: rgb(41, 43, 47);
  --regular-background: rgb(52, 58, 64);
  --light-background: rgb(75, 78, 80);
  --muted-color: rgb(182, 185, 188);
  --border-color: rgb(140, 154, 168);
}

/* Page Body Edits */
body {
  background-color: var(--deep-background);
}

/* NavBar in Guest Pages */
#guestBody nav:not(.pagination-container) {
  background-color: var(--nav-background);
}

#guestBody .navbar a {
  color: var(--text-color);
}

#navbarNav .navbar-nav .nav-link:hover,
#navbarNav .navbar-nav .nav-link:focus,
#navbarNav .navbar-nav .dropdown-item:hover,
#navbarNav .navbar-nav .dropdown-item:focus,
.dropdown-item:hover,
.dropdown-item:focus {
  animation: 0.2s ease-out;
  background-color: var(--light-background);
  border-radius: 10px;
}

#navbarNav .navbar-nav .dropdown-menu,
.dropdown-menu {
  background-color: var(--nav-background);
  color: var(--text-color);
}

/* Navbar Buttons */
#navbarNav form .btn.btn-outline-primary,
#guestBody .navbar-toggler i {
  color: var(--text-color);
  border-color: var(--text-color);
}

#navbarNav form .btn.btn-outline-primary:hover,
#navbarNav form .btn.btn-outline-primary:focus {
  animation: 0.2s ease-out;
  background-color: var(--text-color);
  color: black;
}

/* Dark Mode Intext Settings */
h2, h3, h4, p, span:not(.text-muted), td, .card-header, li {
  color: var(--text-color);
}

#guestBody .text-muted,
label {
  color: var(--muted-color) !important;
}

a, a:hover, a:active, .leaflet-container a.data-link {
  color: var(--link-color);
}

.text-pointer.my-1 {
  color: var(--link-color);
  border-color: var(--link-color);
}

#guestBody .border-bottom.border-dark {
  border-color: var(--border-color);
}

#displayMainContent {
  color: var(--text-color);
}

#displayMainContent hr {
  border-color: var(--border-color);
}

/* Button Settings */
.keywordBtn:hover,
.keywordBtn:active {
  background-color: transparent !important;
}

.postMetaData a.btn.btn-outline-dark {
  border-color: var(--text-color);
  color: var(--text-color);
}

/* Input Fields & Label Settings */
input.form-control, select.form-control,
input.form-control:focus, select.form-control:focus,
select.custom-select, select.custom-select:focus {
  border: none;
  background-color: var(--light-background);
  color: var(--text-color);
}

.custom-select {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='white' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E");
}

/* Main Content Area */
.relatives, .additions {
  color: var(--text-color);
  background-color: var(--regular-background) !important;
  border-color: var(--border-color);
}

/* Post Card Adjustments */
.card {
  background-color: var(--regular-background);
}

.card-header {
  background-color: var(--light-background);
}

#guestBody .card-text,
#guestBody .card h5 {
  color: var(--text-color);
}

/* Advanced Search */
#fieldSearch {
  background-color: var(--deep-background);
  border: 1px solid var(--border-color);
}

#fieldSearch h4,
#fieldSearch span {
  color: var(--text-color);
}

#fieldSearch .btn {
  color: var(--text-color);
}

#guestBody .dropdown-item {
  color: var(--text-color);
}

/* Pagination */
ul.pagination li.page-item:not(.active) a,
ul.pagination li.page-item:not(.active) span {
  background-color: var(--regular-background);
  color: var(--text-color);
}

ul.pagination li.page-item:not(.active) a:hover,
ul.pagination li.page-item:not(.active) a:active {
  background-color: #999;
  color: black;
}

/* Table Settings */
.table {
  background-color: var(--regular-background);
}

.table td {
  border-color: var(--light-background);
}

.relative-row {
  background-color: var(--deep-background) !important;
}

/* Map Settings */
#mapid .leaflet-popup-content-wrapper {
  background-color: var(--deep-background);
}

/* Media Queries For Desktops */
@media (min-width: 768px) {
  .border-md-right {
    border-color: #b8bcc0;
  }
}
