:root {
  /* Core colors */
  --bs-body-bg: #515861;
  --bs-body-color: #e0e3ea;

  --bs-primary:   #6c7a91;  /* desaturated blue-grey */
  --bs-secondary: #8a8f9d;
  --bs-success:   #67a58d;
  --bs-info:      #5996a2;
  --bs-warning:   #c7a557;
  --bs-danger:    #c75d63;
  --bs-light:     #6d7584;
  --bs-dark:      #2c2f36;

  --bs-link-color: var(--bs-primary);
  --bs-link-hover-color: #8491a9;

  /* Fonts */
  --bs-body-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bs-font-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --bs-headings-font-family: 'Roboto Condensed', sans-serif;
}

/* Base styling */
body {
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
  font-family: var(--bs-body-font-family);
}

/* Headings use Roboto Condensed */
h1, h2, h3, h4, h5, h6, .header-font {
  font-family: var(--bs-headings-font-family);
}

/* Background utility overrides */
.bg-light {
  background-color: #6d7584 !important;
}
.bg-dark {
  background-color: #2c2f36 !important;
}
.bg-primary {
  background-color: #6c7a91 !important;
}

/* Button styling */
.btn-primary {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
.btn-primary:hover {
  background-color: #5d6a7d;
  border-color: #5d6a7d;
}

/* Form fields: remain white */
.form-control {
  background-color: #ffffff;
  color: #212529;
  border: 1px solid #6c7a91;
}
.form-control:focus {
  background-color: #ffffff;
  border-color: #8491a9;
  box-shadow: none;
  color: #212529;
}

.form-select {
  background-color: #ffffff;
  color: #212529;
}

.offcanvas {
  z-index: 1050 !important;
}

/* Remove focus ring around navbar menu icon */
.navbar-toggler:focus { 
  box-shadow: none;
  outline: none;
}

*:focus {
  outline: none !important;
  box-shadow: none !important;
}