:root {
  --bs-body-bg: #ffffff;
  --bs-body-color: #000000;
  --bs-link-color: #000000;
  --bs-link-hover-color: #FF00FF;
  --bs-navbar-color: #000000;
  --bs-navbar-hover-color: #FF00FF;
  --bs-border-color: #ccc;
  --bs-heading-color: #000000;
  --bs-primary: #000000;
  --bs-primary-rgb: 14, 143, 160;
}

/* Font family */
body {
  font-family: 'Space Mono', monospace;
  
}
a i, a .logo-caption, a.logo {
  color: var(--bs-link-color);
  text-decoration:none !important;
}
a:hover i, a:hover .logo-caption {
  color: var(--bs-link-hover-color);
  text-decoration:none;
}

/* Logo sizing */
img.logo-desktop {
  max-width: 100%;
  height: auto;
}

img.logo-mobile {
  max-width: 140px;
  height: auto;
}

/* Sidebar width and padding */
@media (min-width: 768px) {
  aside {
    width: 320px;
    padding: 3rem 2rem;
  }
}

/* Mobile navbar image centering */
.navbar-brand .logo-caption {
  font-size: 1rem;
  letter-spacing: 0.08rem;
  color: var(--bs-link-color);
  margin-top: 0.25rem;
}

/* Mobile collapsed overlay menu */
#mobileMenu {
  z-index: 1050;
}

/* Align nav items and social icons in mobile collapse */
#mobileMenu .nav-link {
  font-size: 1.4rem;
  margin: 0.4rem 0;
}

#mobileMenu .d-flex.flex-column {
  text-align: center;
}

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