* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    height: 100%;
    font-family: "Libre Baskerville", serif;
    font-size: 8px;
}

/* Long vh-based background gradient applied to body so it's not clipped */
body {
    background-color: fff;

a {
    display: block;
    text-decoration: none;
    color: black;
    font-size: 5rem;
}

nav a {
    font-size: 2rem;
}

a:hover {
    text-decoration: line-through;
    text-decoration-thickness: 3.5px;
}

.list {
    width: 100%;
    display: grid;
    justify-items: end;    align-self: baseline;
}

.list a {
    display: inline-block;
    vertical-align: baseline;
    font-style: italic;
    font-size: 3rem;
    line-height: 1.5;
    text-decoration: none;
}

.list a.non-italic {
    font-style: normal;
}

.list a:hover {
    text-decoration: line-through;
    text-decoration-thickness: 3.5px;
}

.list a::after {
    content: "";
    display: block;
    height: 1.5em; /* one line of text (1.5 × 3rem = 4.5rem) */
}

main {
    display: grid;
    grid-template-columns: 50% 50%;
    column-gap: 5vh;
    row-gap: 15vh;
    align-items: baseline;
    padding-top: 5vh;
    padding-left: 8vw;
    padding-right: 17vw;
}

main ~ * a {
    color: red;
}
    
nav {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    font-size: 2.5rem;
    grid-column: 2 / 3;
}

nav a {
    font-variant: small-caps;
    font-variant-caps: small-caps;
}

.list {
    grid-column: 1 / 2;
}

.intro {
    grid-column: 2 / 3;
}

nav a.active {
    font-weight: 700;
}

p {
    font-size: 3rem;
    line-height: 1.5;
}

.spacer {
    height: 20vh;
}

.book {
    display: grid;
    width: 100%;
    box-sizing: border-box;
    grid-template-columns: 50% 50%;
    grid-auto-rows: auto;
    row-gap: 5vh;
    column-gap: 5vh;
    /* align to baselines like main grid */
    align-items: baseline;
    padding-top: 20vh;
    padding-left: 5%;
    padding-right: 10vw;
}

.first {
    height: 100vh;
    margin-top: 20vh;
    background-color: tomato;
    background-image: url('images/P1010406.JPG');
    background-size: cover;
    background-position: center;
}

.book-title {
    grid-column: 1 / 2;
    grid-row: 1 / -1;  /* span all rows */
    width: 100%;
    box-sizing: border-box;
    align-self: start;
}

/* nested list inside book-title */
.book-title .list {
    align-self: baseline;
}

.book-panel {
    grid-column: 2 / 3;
    width: 100%;
    box-sizing: border-box;
    /* shrink to whatever its children take up */
    height: fit-content;
    align-self: start;
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 15px;
    background: white;
    padding: 5px;
    align-items: center; /* vertical centering of children */
}

.book-cover {
    /* wrapper should shrink to its image+padding, not add extra space */
    display: inline-block;
    /* remove any default stretching or centering behavior */
    align-self: start;
    /* keep normal line-height to avoid collapsing child when width:auto */
}

.book-cover img {
    display: block;
    /* use intrinsic width, let the grid cell be as narrow as the image plus padding */
    width: 24rem;            /* fixed image width, adjust as desired */
    height: auto;
    object-fit: contain;
    max-width: 100%;

}

.panel-year {
    font-size: 2rem;
}

.book-info p {
    font-size: 2rem;
}

.book-info {
    /* allow centering to work properly */
}

.panel-links {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

.panel-links a {
    display: inline-block;
    font-size: 2rem;
    font-variant: small-caps;
}

.uno {
    width: 100%;
    display: grid;
    justify-items: end;    align-self: baseline;
}

.uno a {
    display: inline-block;
    vertical-align: baseline;
    font-style: italic;
    font-size: 3rem;
    line-height: 1.5;
    text-decoration: none;
    color: white;
}

.uno a:hover {
    text-decoration: line-through;
    text-decoration-thickness: 3.5px;
}

.uno a::after {
    content: "";
    display: block;
    height: 1.5em; /* one line of text (1.5 × 3rem = 4.5rem) */
}

.dos a {
    color: red;
}

.two {
    background-image: url('images/1.jpg');
    background-size: cover;
    background-position: center;
}

.black-sedan {
    margin-top: -20vh;
}

.swoboda {
    margin-top: -39vh;
}

.two {
    height: 100vh;
    background-color: black;
}

.black {
    background-color: black;
}

.three {
    height: 100vh;
    background-color: black;
    background-image: url('images/File0004.jpg');
    background-size: cover;
    background-position: center;
}

.bravados {
    margin-top: -8vh;
}

.joy-of-art {
    margin-top: -16vh;
}

.four {
    height: 100vh;
    background-color: #a8a8a8;
    background-image: url(images/panchito_background.jpg);
    background-size: cover;
    background-position: center;
}

.cuatro a {
    color: black;
}

.panchito {
    margin-top: 5;
}

.three-in-a-cage {
    margin-top: -20vh;
}

.esp {
    background-color: black;
}