:root {
    --px-font-size: 16px;
    --fr-line-height: 1.625;
    --rem-line-height: 1.625rem;
    --color-divider-main: #aaa;
    --color-divider-secondary: #e6e6e6;
}

*, *:after, *:before {
    box-sizing: border-box;
}

html {
    font-family: Helvetica, sans-serif;
    font-size: var(--px-font-size);
    line-height: var(--fr-line-height);
}

body {
    margin: 0;
    padding: 0;
    /*background: repeating-linear-gradient(transparent, transparent 25px, #ccc 25px, #ccc 26px);*/
}

a {
    color: #1d01ed;
}

a.current {
    color: inherit;
}

.container {
    max-width: 40rem;
    margin: 0 auto;
}

.bottom-nav {
    display: flex;
}

.bottom-nav .right {
    margin-left: auto;
}

.top-nav {
    display: flex;
    justify-content: center;
    border-bottom: 1px solid var(--color-divider-secondary);
    margin-top: var(--rem-line-height);
    margin-bottom: -1px;
    padding-bottom: var(--rem-line-height);
}

.top-nav a:nth-child(n+2) {
    margin-left: 1rem;
}

.top-nav a:nth-child(n+2):before {
    position: relative;
    left: -.5rem;
    content: '';
    border-left: 1px solid var(--color-divider-main);
}

.page {
    max-width: 40rem;
    margin: 0 auto;
    padding: 0 1rem calc(5 * var(--rem-line-height));
}

main em {
    color: #555;
}

h1, h2, h3 {
    font-weight: 400;
}


h1 {
    margin-top: var(--rem-line-height);
    margin-bottom: var(--rem-line-height);
    font-size: 1.953rem;
    line-height: 1.6641;
}

h2, .h2 {
    margin-top: var(--rem-line-height);
    margin-bottom: var(--rem-line-height);
    font-size: 1.563rem;
    line-height: 2.0793;
}

h1 span, h2 span {
    display: block;
    font-size: 1rem;
    line-height: var(--fr-line-height);
}

h3 {
    font-size: 1.25rem;
    line-height: 1.3;
}

p {
    margin-top: var(--rem-line-height);
    margin-bottom: var(--rem-line-height);;
}

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

.first-li {
    padding-left: 2rem;
    margin-bottom: 0;
}

.first-li + ol, .first-li + ul {
    margin-top: 0;
}

.tc {
    text-align: center;
}

.space-top-1 {
    margin-top: var(--rem-line-height);
}

.space-top-2 {
    margin-top: calc(2 * var(--rem-line-height));
}

.space-top-3 {
    margin-top: calc(3 * var(--rem-line-height));
}

.space-bottom-1 {
    margin-bottom: var(--rem-line-height);
}

.list-roman {
    list-style: upper-roman;
}

.list-none {
    list-style: none;
}

@media (max-width: 760px) {
    h1 {
        font-size: 1.602rem;
        line-height: 2.03;
    }

    h2, .h2 {
        font-size: 1.125rem;
        line-height: 1.4445;
    }

    h3 {
        font-size: 1rem;
        line-height: var(--fr-line-height);
    }
}
