html {
font-size: 16px;
}

body {
background-color: whitesmoke;
margin: 0 0 3rem 0;
padding: 0;
font-family: Verdana, "Open Sans", sans-serif, Helvetica, Arial;
}

header {
background-color: #000;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
box-shadow: inset 0 0 0 1000px rgba(0,0,0,.7),0 6px 20px 0 rgba(0,0,0,.19);
box-sizing: border-box;
color: #fff;
margin: 0;
padding: 70px 5vw;
text-transform: uppercase;
width: 100%;
}

.logo {
text-transform: uppercase;
line-height: 1.15;
font-weight: 400;
margin: 0 0 2.5rem 0;
font-family: Jost;
user-select: none;
}

main {
margin: 4rem 5vw 10px 5vw;
}

.aviso {font-size: 0.825rem; text-align: center; margin: 2rem 10%; line-height: 150%;}
blockquote {margin: 4rem 0 4rem 50%; line-height: 1.25rem;} 
blockquote > p {text-align: justify; font-size: 0.75rem;}
blockquote p.autor {text-align: right; font-size: 0.625rem; font-weight: bold; letter-spacing: 5px; text-transform: uppercase;}

div.logo a {
color: white;
text-decoration: none;
}

a {
text-decoration: none;
color: #009;
}

a:hover {
text-decoration: underline;
}

b {
font-weight: 600;
}

h1 {
font-size: 1.75rem;
font-weight: 600;
margin: 2.5rem 0 0 0;
text-align: left;
}

p.data {
font-size: 1rem;
font-weight: 400;
margin: 0.5rem 0 0 0;
text-align: left;
}

h3 {
text-align: center;
margin: 4rem 1rem 1rem 1rem;
}

h4 {
text-align: center;
margin-block: 4rem 2rem;
}

div.grade {
color: #444;
display: grid;
font-size: 0.8rem;
gap: 4rem 1rem;
grid-template-columns: repeat(auto-fill,minmax(190px,1fr));
margin: 4rem 0 0 0;
padding: 0;
}




/* artigo grid */

.grade article {
text-align: center;
padding: 0;
display: inline-grid;
margin: 0;
}

article > a {
margin: 0;
padding: 0;
}

article p {
margin-top: 1rem;
margin-bottom: 0.25rem;
}

article p.subtitulo, article p.autor {font-size: 0.5rem; margin-top: 0.25rem;}

article p.colecao {font-size: 0.5rem; margin-top: 1.125rem;}
article p.parte {font-size: inherit; margin-top: 0.25rem; margin-bottom: 0.25rem;}

article img {
height: 170px;
margin: 0;
object-fit: cover;
width: 120px;
border: 1px solid black;
}

img.horizontal {
object-fit: contain;
}

.indicacao {text-align: left; margin: 0.75rem 0 0.75rem 0; font-weight: bold; font-size: 0.875rem;}
h3.indicacao {font-weight: normal; text-transform: uppercase; margin-top: 3rem; margin-bottom: 1rem;}

.subtitulo {font-size: 0.875rem; text-align: center;}

.espacado {margin-top: 2rem; margin-bottom: 2rem;}

/*  */

img.retrato {float: right; width: 10%; height: auto; max-width: fit-content; margin-left: 2rem; margin-bottom: 1rem;}
p.biografia {text-align: justify; line-height: 125%; text-indent: 0; margin-bottom: 2rem;}
p.sugestao {margin-top: .25rem; margin-bottom: 0; font-size: .75rem;}
img.tipo {display: inline; margin-right: .5rem; height: 16px; width: auto;}

table, .tabela-obras {clear: both; margin: 1.5rem auto 4rem auto; line-height: 2.5rem; border-collapse: collapse;}

th {text-align: left; padding-top: 3rem; border-bottom: 2px solid black;}

tr {border-bottom: 1px solid #d9d9d9;}
tr:first-child th {padding-top: 0;}

td:first-child {white-space: nowrap;}
td:nth-child(2n) {padding-left: 2rem; line-height: 1.5rem;}

td.ampliado {padding-top: 0.5rem; padding-bottom: 0.5rem;}
img.versoes {height: 16px; width: auto; vertical-align: text-bottom; image-rendering: pixelated;}

small {font-size: 0.675rem; vertical-align: middle;}
.ampliado small {margin-left: 10px;}

@media (max-width: 640px) {
body {margin: 0 0 4rem 0;}
header {padding: 40px;}
main {margin: 40px;}
div.logo {font-size: 0.75rem;}
h1 {font-size: 1.5rem;}
img.retrato {width: 20%;}
}

@media (max-width: 480px) {
img.retrato {width: 30%;}
}
