:root {
  /* -- colors -- */
  --q-color: #d39c81;
  --q-color-bg: #fff;
  --q-color-tx: #000;
  --q-color-hl: #ddd;
  --q-color-light: #00758c;
  /* -- fonts -- */
  --q-font-tx: 'Open Sans', sans-serif;
  --q-font-tt: 'Staatliches', sans-serif;
  /* -- sizes -- */
  --q-header-height: 76px;
}

/* -- html tags -- */
body {
  font-family: var(--q-font-tx);
  background-color: var(--q-color-bg);
}
a {
  text-decoration: none;
  font-weight: bold;
  color: var(--q-color-hl);
}
a:hover { color: var(--q-color-tx); }

/* -- q utilis -- */
.q-header { padding-top: var(--q-header-height); }
.q-bg { background-color: var(--q-color); }
.q-tt {
  font-family: var(--q-font-tt);
  font-size: 125%;
}
.q-fs-sm { font-size: 80%; }
.q-color-q { color: var(--q-color); }
.q-color-hl { color: var(--q-color-hl); }
.q-color-light { color: var(--q-color-light); }
.q-image-container {
  position: relative;
  max-width: 100%;
}
.q-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.q-image-credits {
  position: absolute;
  bottom: 8px;
  right: 16px;
  color: var(--q-color-light);
  background-color: rgba(0, 0, 0, 0.5);
  padding: 2px 4px;
  border-radius: 4px;
  font-size: 60%;
}
.q-image-title {
  position: absolute;
  top: 8px;
  left: 20px;
  color: var(--q-color-light);
  background-color: rgba(0, 0, 0, 0.5);
  padding: 4px;
  border-radius: 4px;
  font-family: var(--q-font-tt);
  font-size: 110%;
  text-transform: uppercase;
}

/* -- bootstrap customization -- */
.form-control:focus,
.form-select:focus,
.form-check-input:focus,
.btn:focus {
  box-shadow: 0 0 2px 0 var(--q-color);
  border-color: var(--q-color);
}
@media only screen and (min-width: 992px) { /* --- bootstrap lg --- */
  header > .navbar { padding-left: 54px; }
}
.nav-link {
  font-family: var(--q-font-tt);
  font-size: 150%;
  color: var(--q-color-light);
}
.nav-link:hover { color: var(--q-color-hl); }