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

:root {
	--grid-gap: 1rem;
	--content-max-width: 48rem;
	--column-max-width: calc((var(--content-max-width) - (12 - 1) * var(--grid-gap)) / 12);
    --overflow-width: 0;
}

.grid {
	display: grid;
	grid-gap: var(--grid-gap);
	grid-template-columns:
        [full-start] minmax(0, 1fr) /* Page margin */
		/*[overflow-start] minmax(0, var(--overflow-width))*/ 
        [content-start] repeat(6, [col-start] minmax(min-content, var(--column-max-width)) [col-end])
        [content-middle]
        repeat(6, [col-start] minmax(min-content, var(--column-max-width)) [col-end])
        [content-end] /*minmax(0, var(--overflow-width))*/  
        /*[overflow-end]*/ minmax(0, 1fr) /* Page margin */
        [full-end];
    grid-auto-rows: min-content;
}

.grid > * {
	grid-column: content-start / content-end;
}

.grid .grid {
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
}

html {
    /* min 400px, max 960 px */
    font-size: clamp(1rem, 0.643rem + 1.429vw, 1.5rem)
}

body {
	overflow-x: hidden;
	background-color: #fff;
	color: #000;
	font-family: "Times New Roman", Times, serif;
}

main {
    margin: 2rem 0;
}

h1 {
	margin-top: 2rem;
	text-align: center;
	font-size: 2rem;
	line-height: 1;
}

h2 {
    margin-top: 2rem;
    font-size: 1.5rem;
}

.sub-heading {
    display: block;
    font-size: 1.5rem;
    border-top: 3px double;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
}

.blurb {
    hyphens: auto;
    text-align: justify;
}

p:not(:first-child) {
    margin-top: 1rem;
}

img {
    display: block;
	max-width: 100%;
	height: auto;
}

.photo {
    width: 100%;
}

.book-cover {
    position: relative;
}

.book-cover__isbn {
    position: absolute;
    bottom: 0.5rem;
    left: 0.5rem;
    max-width: 6rem;
    border: 0.25rem solid #fff;
}

.book-cover img {
    width: 100%;
}

.button {
    background: #155F82;
    color: #fff;
    display: inline-block;
    padding: 1rem;
    text-decoration: none;
    border-radius: 3px;
}

.button-container {
    text-align: center;
}

.license {
    padding: 1rem;
    background: #eee;
    font-size: 0.75rem;
    font-style: italic;
    text-align: center;
}

.cc-license {
    max-width: 8rem;
    margin: 0 auto;
}

.cc-logos {
    display: flex;
    margin-top: 1rem;
    gap: 0.5rem;
    justify-content: center;
}

.cc-logos img {
    display: inline-block;
    max-width: 1.5rem;
}

@media (min-width: 768px) {
    h1 {
        font-size: 3rem;
    }

    .sub-heading {
        font-size: 2rem;
    }

    .license {
        font-size: 1rem;
    }
}

@media (min-width: 980px) {
    .blurb {
        grid-column: content-start / content-middle;
        grid-row: 1;
    }

    .book-cover {
        grid-column: content-middle / content-end;
        grid-row: 1;
        align-self: start;
    }
}

@media (max-width: 979px) {
    .book-cover {
        margin-top: 1rem;
    }
}