@media print {
    @page {
        margin: 10mm 0mm;
    }

    body {
        padding: 0 10mm;
    }
}

@media screen {
    /* emulate page margin in screen. */
    body {
        padding: 10mm;
    }

    /* scratch outline on for debugging. */
    *,
    *:before,
    *:after {
        outline: 1px solid gray;
    }
}

html {
    font-size: 10pt;
    font-family: "Bookerly", serif;
    margin: 0;
    padding: 0;
}

body {
    margin: 0;
}

a {
    text-decoration: none;
    color: black;
    /* font-family: 'Ubuntu Mono', monospace; */
    font-family: inherit;
}

h1 {
    margin-top: 0;
}

h2 {
    font-size: 1rem;
}

/* if not specified, li markers should be disc. */
ul {
    list-style-type: disc;
    padding-left: 2ch;
}

sup {
    vertical-align: baseline;
}

code {
    font-family: "Fira Code", monospace;
}

.list--bare {
    list-style: none;
    padding: 0;
}

.list--columned {
    column-count: 2;
}

.event {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin: 0.5em 0;
}

.event__interval {
    order: 2;
    font-weight: 900;
    white-space: nowrap;
    text-align: right;
}

.event__detail {
    order: 1;
    max-width: 170mm;
}

.event--highlighted {
    border-left: 1mm solid gray;
    margin-left: -10mm;
    padding-left: 9mm;
}

.event--compact {
    margin: 0;
    display: list-item;
    list-style-type: disc;
}

.event--compact .event__interval {
    order: 1;
    font-weight: 900;
}

.event--compact .event__detail {
    order: 2;
}

.courses {
    column-count: 4;
    column-rule: 0.1mm solid black;
    padding-left: 0;
    /* margin-top: 0; */
}

.course {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.general {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}

.general__name {
    font-size: 2rem;
}

.general__other {
    list-style: none;
    margin: 0;
    text-align: right;
    position: absolute;
    right: 0;
    top: 0;
}

.mail__link,
.site__link {
    font-family: "Fira Code", "Courier New", Courier, monospace;
}

.skill {
    display: block;
}

.skill__category {
    margin: 0;
}

.skill__list {
    margin: 0.5em 0;
    list-style-type: disc;
}

.bibliography {
    list-style-type: none;
    padding: 0;
}

.bibliography__item {
    display: flex;
}

.bibliography__item::before {
    counter-increment: bibitem;
    content: "[" counter(bibitem) "]";
}

.bibliography__item__detail {
    margin-left: 1rem;
}

@media print {
    .page-break {
        break-after: page;
    }
}
