:root {
    --color-primary: #c64600;
    /* --color-primary-light: hsl(from var(--color-primary) h s l / 10%); */
    --color-primary-light: #f9ece5;
    --color-primary-versus: #ffffff;

    --color-secondary: #c01c28;
}

@font-face {
    font-family: adw-sans;
    src: url(fonts/AdwaitaSans-Regular.ttf);
    font-style: normal;
}

@font-face {
    font-family: adw-sans;
    src: url(fonts/AdwaitaSans-Italic.ttf);
    font-style: italic;
}

@font-face {
    font-family: adw-mono;
    src: url(fonts/AdwaitaMono-Regular.ttf);
}

@media screen and (max-width: 640px) {
    html {
        font-size: min(4vw, 1em);
    }
}

html {
    font-family: adw-sans, sans-serif;
}

.small { font-size: 0.8rem; }
.large { font-size: 1.3rem; }
.center { text-align: center; }
.nobr { text-wrap: nowrap; }
.nopd { padding: 0; }

body {
    max-width: 640px;
    margin: auto;
}

header, hr, quote {
    margin: 0 1rem;
}

.small a {
    text-decoration: none;
}

header h1 {
    margin: 0;
    padding: 1rem 0;
    
    font-size: 1.3rem;
    font-weight: normal;
    
    text-align: center;
    text-wrap-mode: nowrap;
    
    color: var(--color-primary-versus);
    background-color: var(--color-primary);
}

header h2 {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    
    font-size: 1.3rem;
    font-weight: normal;
}

hr {
    height: .25rem;

    border: 0;
    border-radius: .125rem;
    
    background-color: var(--color-primary);
    background: linear-gradient(90deg, var(--color-primary), var(--color-secondary), var(--color-primary));
}

header + hr {
    border-radius: 0 0 .25rem .25rem;
}

a.internal {
    color: var(--color-secondary);
    text-decoration-style: dotted;
}

section {
    margin: 1rem 1.5rem;
}

section.phone-info {
    margin: .5rem 1.5rem;
    padding: .5rem 1rem;
    
    text-align: center;

    border-radius: .5rem;
    background-color: var(--color-primary-light);
}

.accent {
    border-left: 2px solid black;
    padding-left: .5rem;
}

table {
    width: 100%;
    border-collapse: collapse;
    font-family: adw-mono, monospace;
    white-space-collapse: preserve;
}

tr {
    text-align: center;
    border-bottom: 1px dotted silver;
}

td {
    padding: .4rem .2rem;
    vertical-align: bottom;
}

tr:first-of-type {
    font-weight: bold;
    border-bottom: 1px solid gray;
}

td:last-of-type {
    padding-right: 0;
    text-align: right;
    text-wrap-mode: nowrap;
}

td:first-of-type {
    padding-left: 0;
    text-align: left;
}


img.icon {
    width: 1em;
    height: 1em;
    vertical-align: text-bottom;
}

img.red {
    filter: invert(21%) sepia(86%) saturate(4298%) hue-rotate(345deg) brightness(77%) contrast(95%);
}