:root {
    --b-font-main: system-ui, sans-serif;
    --b-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --b-txt: #2e3440;
    --b-bg-1: #fff;
    --b-bg-2: #eceff4;
    --b-line: #eceff4;
    --b-link: #003399;
    --b-link2: #337799;
    --b-btn-bg: #242933;
    --b-btn-txt: #fff;
    --b-focus: #88c0d0
}

html {
    overflow-y: scroll;
}

/* numbering for headers: begin */
body { counter-reset: h1; }
h1 { counter-increment: h1; counter-reset: h2; }
h2 { counter-increment: h2; counter-reset: h3; }
h3 { counter-increment: h3; counter-reset: h4; }
/* h4 { counter-increment: h4; } */
/* \00a0 is the no-break space character */
h2:before { content: counter(h2) "\00a0\00a0"; }
h3:before { content: counter(h2) "." counter(h3) "\00a0\00a0"; }
/* h4:before { content: counter(h2) "." counter(h3) "." counter(h4) ". "; } */
/* numbering for headers: end */

a {
    color: var(--b-link);
    text-decoration: none;
}

a:hover {
    text-decoration: underline
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.0;
    margin-top: 1rem;
    text-wrap: balance;
}

/* needed since navbar is fixed-top. grep for "{#" in the .md files here. */
#course-schedule,
#lab-assignments,
#allocator-api,
#marking-scheme {
    scroll-margin-top: 4.25rem;
}

h1 {
    font-size: 1.7rem; /* 2rem */
}

h2 {
    font-size: 1.4rem; /* 1.75 rem */
    margin-top: 1.25rem; /* 1.5 rem */
}

h3 {
    font-size: 1.25rem; /* 1.5 rem */
    margin-top: 1.1rem; /* 1.25 rem */
}

h4 {
    font-size: 1.1rem; /* 1.25 rem */
    margin-top: 1.0rem;
}

h5 {
    font-size: 1.0rem;
    margin-top: 0.9rem;
}

table {
    border-collapse: collapse;
    text-indent: 0;
}

table caption {
    margin-bottom: .5rem
}

tr {
    border-bottom: 1px solid var(--b-line)
}

tbody tr:nth-child(odd) {
    background-color: var(--b-line)
}

tbody.top tr:nth-child(odd) {
    background-color: var(--b-bg-1)
}

tbody.top tr {
    border-bottom: 0
}

td,
th {
    padding: .5rem 1rem .5rem 1rem;
    word-break: normal
}

td:first-child,
th:first-child {
    padding-left: .5rem
}

ul,
ol,
dd {
    padding-left: 2rem
}

li>ul,
li>ol {
    margin-bottom: 0.5rem
}


pre,
code,
kbd,
samp,
tt,
var {
    color: var(--b-link);
    background: var(--b-bg-2);
    border-radius: .25rem;
    padding: .125rem .25rem;
    font-family: var(--b-font-mono);
    font-size: .875em
}

pre {
    padding: 1rem;
    overflow: auto;
    white-space: pre
}

pre code {
    padding: 0
}

