/* Set box-sizing, but should include a reset. */
*, *:before, *:after {
    box-sizing: border-box;
}

:root {
    /* Set default for old browsers*/
    background-color: #FFF;
    color: #333;
    header:  #2a465e;
    header-hover: #555;
    button-border: #000000;
    background-hover: #FAFAFA;
    font-family: "Open Sans","Segoe UI",Tahoma,Arial,Helvetica,sans-serif;
 /* Define custom properties */    
    --primary-background: var(--primary-background);
    --primary-color: #333;
    --header-color: #2a465e;
    --header-hover: #555;
    --button-border: #000000;
    --background-hover: #FAFAFA; 
}

body {
    background-color: var(--primary-background);
    color: var(--primary-color);
    font-size: 1.5rem;
    padding: .5em 0 100vh 2rem;
}

header a {
    color: var(--primary-background);
    float: right;
    font-size: 1rem;
    text-decoration: none;
}

header a strong {
    color: var(--header-color);
}

header a:hover {
    color: var(--header-hover);
    text-decoration: underline;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--header-color);
    font-family: Rokkitt,Arial,Helvetica,sans-serif;
}

h1 {
    margin: .2em 0;
    writing-mode: vertical-rl;
    font-size: 9em;
    float: right;
    white-space: nowrap;
}

h2 {
    margin: 1em 0 .2em 0;
}

td img:nth-child(1) {
    height: auto;
    width: 10em;
}

table {
    max-width: 45em;
}

td:nth-child(2) {
    max-width: 50%;
}

td:nth-child(n+3), th:nth-child(n+3) {
     text-align: right;
}

td > p {
    font-size: .6em;
    line-height: 1.3em;
    margin: .1em;
}

td > p:first-child {
    font-size: 1em;
    font-weight: bold;
}
td > p:nth-of-type(2) {
    font-size: .7em;
    font-style: italic;
}

input {
    font-size: inherit;
}

input[type='number'] {
    text-align: right;
    width: 3em;
}

td, th {
    font-size: .8em;
    max-width: 40em;
    min-width: 5em;
    padding: .5em 1em;
    text-align: left;
    vertical-align: top;
}

tr:hover {
    background-color: var(--background-hover);
}


button:hover, .button:hover {
    cursor: pointer;
}

button, .button {
    border:0.1em solid var(--button-border);
    border-radius:0.12em;
    color: black;
    display:inline-block;
    font-family:'Roboto',sans-serif;
    font-size: 1em;
    font-weight:300;
    margin:0 0.3em 0.3em 0;
    padding:0.35em 1.2em;
    text-decoration:none;
    text-align:center;
    transition: all 0.3s ease-out;
}

button, .button {
    background-color:var(--primary-color);
    color: var(--primary-background);
}

button:focus, button:hover, .button:focus, .button:hover {
    background-color: var(--primary-background);
    color: var(--primary-color);
}

@media (max-width:64em){
    h1 {
        margin: unset;
        writing-mode: inherit;
        font-size: 3em;
        float: none;
        white-space: nowrap;
    }

    td img:nth-child(1) {
        width: 4em;
    }

    td, th {
        font-size: .5em;
        min-width: 3em;
        padding: .5em .2em;
    }

}