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

html, body {
    font-family: 'Times New Roman', Times, serif;
    height: 100%;
    padding: 0;
    margin: 0;
}

.text-2xl {
    font-size: 1.5rem; /* 24px */
}

.text-xl {
    font-size: 1.25rem; /* 20px */
}

h2, h3 {
    margin-block-start: 1rem;
    margin-block-end: 1rem;
}

h3 {
    font-size: 1.125rem; /* 18px */
}

.header {
    display: none;
}

.container {
    margin: 0 auto;
    padding: 1rem;
    width: 100%;
}

.container main {
    overflow-wrap: break-word;
}

/* Start from medium device */
@media screen and (min-width: 768px) {
    .container {
        width: 960px;
        margin: 0 auto;
    }
}

@media print {
    .text-2xl {
        font-size: 1.25rem; /* 20px */
    }
    
    .text-xl {
        font-size: 1.125rem; /* 18px */
    }
    
    h2, h3 {
        font-size: 1rem; /* 16px */
    }

    p, ul {
        font-size: 0.75rem; /* 12px */
    }

    .header {
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        padding: .5rem;
        color: rgb(100 116 139); /* text-slate-500 */
        font-size: .5rem;
        font-style: italic;
    }

    .container {
        width: auto;
    }

    .page-break {
        page-break-before: always;
    }

    a, a:hover, :active {
        color: rgb(59 130 246);
    }

    h2, h3 {
        margin-block-start: 1rem;
        margin-block-end: 1rem;
    }

    button {
        display: none;
    }
}