body {
  padding-top: 4rem;
}

/* Darker primary color used in the navbar */
.bg-primary-dark {
  background: #144389;
}

/* Brand */
.nelua-brand svg {
  width: 2.8rem;
  height: 2.8rem;
}

.nelua-brand .nelua-name {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
  font-weight: bold;
}

.nelua-brand-big svg {
  width: 12rem;
  height: 12rem;
}

/* Anchor offset fix when clicking links */
.nd-content h1[id]:before,
.nd-content h2[id]:before,
.nd-content h3[id]:before,
.nd-content h4[id]:before,
.nd-content h5[id]:before,
.nd-content h6[id]:before {
  display: block;
  content: " ";
  margin-top: -4rem;
  height: 5rem;
  visibility: hidden;
}

/* Top Nav */
.nd-tnav {
  font-weight: 500;
}

/* Left Nav */
.nd-lnav {
  font-weight: 500;
}

.nd-lnav a {
  color:  var(--bs-secondary);
}

.nd-lnav a:hover {
  background-color: #eee;
}

/* Footer links */
footer a {
  text-decoration: none;
  color: var(--bs-secondary);
}

footer a:hover {
 text-decoration: underline;
}

/* Fix side navbars */
@media (min-width: 992px) {
.nd-sidenav-sticky {
  position: sticky;
  top: 5rem;
  max-height: calc(100vh - 7em);
  overflow-y: auto;
}
}

/* Table of contents */
#nd-toc .nav {
  margin-left: 0.5rem;
}

#nd-toc a {
  color: var(--bs-secondary);
  font-size: 0.75em;
  padding: 0.1rem 0.2rem;
}

#nd-toc.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
  color: var(--bs-primary);
  background-color: var(--bs-light);
}

#nd-toc a:hover {
  background-color: #eee;
}

/* Remove underline from title hyperlinks */
.nd-content h1 a,
.nd-content h2 a,
.nd-content h3 a,
.nd-content h4 a,
.nd-content h5 a,
.nd-content h6 a {
  text-decoration: none;
}

/* Margin for headings */
.nd-content>h2:not(:first-child) {
  margin-top: 2rem
}
.nd-content>h3 {
  margin-top: 1.5rem
}

/* Callout */
.callout {
  padding: 1.25rem;
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  border: 1px solid #E9ECEF;
  border-left-width: .25rem;
  border-radius: .25rem;
}

.callout-info { border-left-color: var(--bs-info); }
.callout-warning { border-left-color: var(--bs-warning); }
.callout-danger { border-left-color: var(--bs-danger); }

/* Theme for Prism.JS */
pre[class*="language-"] {
  color: #F8F8F2;
  background: #282A36;
  border-radius: 0.2em;
  padding: 0.2em 0.4em;
}

:not(pre) > code {
  background-color: rgb(235, 237, 240);
  padding: 0.1em 0.2em;
  border-radius: 0.2em;
}

:not(pre) > code[class*="language-"] {
  color: #F8F8F2;
  background: #282A36;
  padding: 0.1em 0.2em;
  border-radius: 0.2em;
}

.token.comment {
  color: #778090;
}

.token.punctuation {
  color: rgb(248, 248, 242);
}

.token.number {
  color: hsl(261, 100%, 75%);
}

.token.function {
  color: hsl(190, 81%, 67%);
}

.token.type {
  color: hsl(190, 81%, 67%);
  font-style: italic;
}

.token.builtin {
  color: rgb(189, 147, 249);
}

.token.special {
  color: #F19025;
}

.token.string {
  color: hsl(54, 70%, 68%);
}

.token.operator {
  color:  hsl(338, 95%, 56%);
  font-weight: bold;
}

.token.preprocessor {
  background-color: hsl(140, 81%, 67%, 0.10);
  padding: 0.2em 0em;
}

.token.annotation,
.token.macro {
  color: hsl(140, 81%, 67%);
}

.token.keyword {
  color: #ef3b7d;
  font-weight: bold;
}

.token.important,
.token.bold {
  font-weight: bold;
}
.token.italic {
  font-style: italic;
}

.token.entity {
  cursor: help;
}
