/**
 * Variable
 */
:root {
    --app-color-accent: #6c91c2;
    --app-color-dark: #000;
    --app-color-bright: #fff;
}

/**
 * Font
 */
@font-face {
    font-family: chunk;
    font-style: normal;
    font-weight: normal;
    src: url('chunk.ttf') format('truetype');
}

@font-face {
    font-family: roboto;
    font-style: normal;
    font-weight: normal;
    src: url('roboto.ttf') format('truetype');
}

/**
 * Global
 */
body {
    line-height: 1.5rem;
    font-family: roboto;
    font-size: 0.875rem;
    color: var(--app-color-dark);
    background: var(--app-color-bright);
}

/**
 * Layout
 */
body > :not(:first-child) {
    margin-top: 3rem;
}

body > * > :not(:first-child) {
    margin-top: 0.75rem;
}

/**
 * Tags
 */
h1 {
    line-height: 3rem;
    font-family: chunk;
    font-size: 2.5rem;
    text-transform: lowercase;
}

h2 {
    font-size: 1.25rem;
}

h3 {
    font-size: 1rem;
}

hgroup {
    color: var(--app-color-accent);
}

a {
    text-decoration: underline;
}

ol li {
    list-style: none;
}

ul {
    padding-left: 2rem;
}

dl ul {
    padding-left: 0.75rem;
}

dl {
    display: grid;
    grid-template-columns: max-content 3fr;
    column-gap: 0.75rem;
    max-width: max-content;
}

dt {
    justify-self: start;
    font-weight: normal;
}

dd {
    justify-self: start;
    text-align: left;
}

/**
 * Screen
 */
@media screen {
    body {
        max-width: 45.25rem;
        margin: 0 auto;
        padding: 0.75rem;
    }
}

/**
 * Print
 */
@media print {
    h2,
    h3 {
        break-after: avoid;
    }

    #skills,
    #dev {
        break-before: page;
    }

    article {
        break-inside: avoid;
    }

    footer {
        display: none;
    }
}
