@font-face {
	src: url('/fonts/Role/RoleDSerifTextPro-Regular.otf') format('opentype');
	font-family: 'Role Serif';
	font-weight: 1 500;
	font-style: normal;
}
@font-face {
	src: url('/fonts/Role/RoleSerifTextPro-Md.otf') format('opentype');
	font-family: 'Role Serif';
	font-weight: 500 650;
	font-style: normal;
}
@font-face {
	src: url('/fonts/Role/RoleSerifTextPro-Bd.otf') format('opentype');
	font-family: 'Role Serif';
	font-weight: 650 1000;
	font-style: normal;
}

@font-face {
	src: url('/fonts/Role/RoleDSerifTextPro-Italic.otf') format('opentype');
	font-family: 'Role Serif';
	font-weight: 1 1000;
	font-style: italic;
}

@font-face {
	src: url('/fonts/Role/RoleDSansTextPro-Regular.otf') format('opentype');
	font-family: 'Role Sans';
	font-weight: 1 500;
	font-style: normal;
}
@font-face {
	src: url('/fonts/Role/RoleSansTextPro-Md.otf') format('opentype');
	font-family: 'Role Sans';
	font-weight: 500 650;
	font-style: normal;
}
@font-face {
	src: url('/fonts/Role/RoleSansTextPro-Bd.otf') format('opentype');
	font-family: 'Role Sans';
	font-weight: 650 1000;
	font-style: normal;
}

* {
	font-family: inherit;
	font-weight: inherit;
	font-variation-settings: inherit;
	font-style: inherit;
	font-size: inherit;
	line-height: inherit;
	text-align: inherit;
	text-wrap: inherit;
	color: inherit;
	text-decoration: none;
	list-style: none;
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	border-collapse: collapse;
	/* outline: 1px dashed rgba(255,0,0, 0.5); */
}

* + * {margin-top: 1em;}

html {
	/* font-family: 'HEX Franklin', system-ui, -apple-system, sans-serif;
	font-family: 'Lupino Serif', 'Times Roman', 'Times New Roman', 'Times', sans-serif;
	font-family: 'Lupino Sans', system-ui, -apple-system, sans-serif; */
	font-family: var(--serif);
	/* font-feature-settings: 'ss02' 1; */
	font-weight: normal;
	font-stretch: 85%;
	/* font-size: 18px; */
	line-height: 1.375;
	text-align: left;
	-webkit-text-size-adjust: 100%;
	
	--serif: 'Lupino Serif', 'Times Roman', 'Times New Roman', 'Times', sans-serif;
	--sans: 'Lupino Sans', system-ui, -apple-system, sans-serif;
	
	--sans: 'HEX Franklin', system-ui, -apple-system, sans-serif;
	
	--mono: 'Manifold Serif', 'Courier', 'Courier New', monospace;
	
	--serif: 'Role Serif', 'Georgia', 'Times Roman', 'Times New Roman', 'Times', sans-serif;
	--sans: 'Role Sans', system-ui, -apple-system, sans-serif;
	
	font-variant-numeric: oldstyle-nums proportional-nums;
	
	color: #000;
	background-color: #FFF;
	
	color: var(--text-color);
	background-color: var(--tone);
	background-color: var(--bg-color);
	--text-color: #686b6d;
	--text-color: #505254;
	--strong-color: #000;
	--bg-color: #e8f0f2;
	--bg-color: #FFF;
	--accent-color: #aa0000;
	--link-color: blue;
	--link-color: #aa0000;
	--link-hover-color: #F00;
	--link-visited-color: #666;
	
	--tone: #e5dedc; /* warm dark */
	--tone: #eae7e7; /* warm light */
	--tone-mid: #e0dede; /* warm mid */
	
	--tone: #edf0f2; /* cool light */
	--tone-mid: #e0e3e5; /* cool mid */
	--rules-color: #d8d8d6;
}
.reverse {
	--text-color: #FFF;
	--bg-color: #000;
}

body {
	margin-top: 0;
	position: relative;
	min-height: 100vh;
}
a:link,
a:visited {
	/* color: var(--accent-color); */
}
a:hover,
a:active {
	color: var(--link-hover-color);
	color: var(--strong-color);
	color: var(--accent-color);
}

.page-header,
main,
footer {
	padding: 2vw 2vw;
}
.page-header {
	padding: min(2%, 0.75rem) 2%;
	background-color: var(--bg-color);
	position: sticky;
	z-index: 1;
	top: 0px;
	/* opacity: 0.93; */
	border-bottom: 1px solid var(--rules-color);
}
nav {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.5rem 2rem;
	margin: 0.5rem 0;
}
nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0 1rem;
}
nav li {
	margin-top: 0;
}
nav :link {
	/* color: var(--text-color); */
}
main {
	margin-top: 2rem;
	max-width: none;
}
section {
	-webkit-column-break-inside: avoid; 
	column-break-inside:avoid;
	-webkit-break-inside: avoid;
	break-inside: avoid;
}
section:not(:last-child) {
	/* padding-bottom: 3rem; */
}
section + section {
	margin-top: 0;
}
article {
	margin-top: 0;
	/* font-size: 0.9375rem;
	font-size: 0.875rem; */
	text-wrap: balance;
	
	/* display: flex;
	flex-wrap: wrap;
	width: 100%;
	justify-content: flex-end;
	align-items: center;
	gap: 0.5rem 0.75rem; */
}


h1 {
	/* text-transform: uppercase; */
	/* word-spacing: 0.12rem; */
}
h1, h2, strong, b {
	font-weight: 600;
	color: var(--strong-color);
}
h1 + *,
h3 + * {
	margin-top: 0;
}
h2 {
}
h2 + * {
	margin-top: 0.25rem;
}
h3 {
	text-wrap: balance;
}
h1 a,
label:hover {
	color: var(--accent-color);
}
label:hover {
	cursor: pointer;
}
h1 a:hover {
	color: var(--strong-color);
}
p a,
li a,
label {
	color: var(--strong-color);
}
p a,
main li a {
	text-decoration: underline;
	text-decoration-color: var(--rules-color);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	text-decoration-skip-ink: none;
}
p {
	/* -webkit-hyphens: auto;
	-webkit-hyphenate-limit-lines: 2; */
}
main p, main ul {
	font-family: var(--sans);
	font-family: var(--serif);
	max-width: 36rem;
}
p + ul {
	margin-top: 0.5rem;
}
ul,
ul li + li {
	margin-top: 0;
}
main ul li {
	line-height: 1.125;
	/* text-indent: -1em;
	padding-left: 1em; */
	text-wrap: balance;
}
main ul li + li {
	margin-top: 0.5em;
}
form {
	margin-top: 0.5em;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75em 0.25em;
}
input {
	/* display: inline-block; */
	padding: 0.5em 0.75em;
	outline: 1px solid var(--rules-color);
}
input[type='email'] {
	width: 100%;
	min-width: 10em;
	/* max-width: 24rem; */
	flex: 1;
}
input[type='search'] {
	width: 100%;
	/* max-width: 24rem; */
	flex: 1;
}
input[type='submit'] {
	margin-top: 0;
	background-color: var(--tone);
	color: var(--strong-color);
	border-radius: 0.5em;
}
.search-form input[type='submit'] {
	margin-right: 1rem;
}
.journal-listings,
.search-listings {
	max-width: 72rem;
}
.journal-listings article,
.search-listings article {
	border-top: 1px solid var(--rules-color);
	display: grid;
	align-items: start;
	/* grid-template-columns: 1fr 1fr; */
	/* grid-template-columns: repeat(auto-fill, minmax(min(calc(6rem + 14%), 100%), 1fr)); */
	gap: 1rem min(1rem, 4%);
}
.journal-listings article {
	padding-top: max(1rem, 3%);
	margin-bottom: max(1rem, 3%);
}
.journal-listings figure {
	margin-top: 0;
	/* grid-column-start: 2;
	grid-column-end: -1; */
	grid-row-start: -1;
}
.journal-listings figure img {
	width: 100%;
}
.search-listings {
	margin-top: 5rem;
}
.search-listings article {
	padding-top: max(1rem, 1%);
	margin-bottom: max(1rem, 1%);
	grid-template-columns: 4fr 3fr 1fr;
}
.search-listings .category,
.search-listings .read {
	margin-top: 0;
}
.search-listings .read {
	color: var(--accent-color);
	text-align: right;
}
.search-listings .read::after {
	content: ' »';
}
.gallery,
footer {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(calc(6rem + 14%), 100%), 1fr));
	gap: 2rem min(1rem, 4%);
	align-items: start;
}
.stamps-gallery {
	grid-template-columns: repeat(auto-fill, minmax(min(calc(5rem + 4%), 100%), 1fr));
	align-items: end;
	hyphens: auto;
}
.stamps-gallery figcaption {
	font-family: var(--serif);
	line-height: 1.125;
}
.stamps-gallery cite {
	font-weight: 700;
}
.gallery,
.journal-listings {
	margin: 4rem 0 0;
}

.book-images {
	margin-top: 2rem;
}
h2 + .gallery {
	margin-top: 1rem;
}
.gallery figure {
	display: flex;
	flex-direction: column;
	/* align-items: end; */
	justify-content: center;
}
.books-gallery figure {
	align-items: center;
	background-color: var(--tone);
	padding: 1rem;
	aspect-ratio: 1/1.6;
	aspect-ratio: 1/1;
}
.gallery img {
	/* max-height: 85%;
	max-width: 85%; */
	
	max-height: 100%;
	max-width: 100%;
}
.gallery .spread {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	overflow: hidden;
}
.gallery .spread img {
	height: 100%;
	max-width: none;
	width: auto;
}
.book-images {
	margin-left: -2vw;
	margin-right: -2vw;
	padding: 1px 0;
	background-color: var(--tone);
}
.book figure {
	padding: 0;
	margin: min(6%, 3rem) 2vw;
	width: intrinsic;
}
.book figure:first-child {
	margin-top: min(5%, 3rem);
}
.book figure img {
	max-height: 85vh;
	width: auto;
	/* outline: 1px solid var(--rules-color); */
}
.book-page figure.half-spread {
	margin-right: 50%;
}
.book-page .spread {
	position: relative;
	display: inline-block;
}
.book-page .spread::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background-image: linear-gradient(
		to right, 
		transparent 0%,
		transparent calc(50% - 0.5px),
		var(--rules-color) calc(50% - 0.5px), 
		var(--rules-color) calc(50% + 0.5px), 
		transparent calc(50% + 0.5px),
		transparent 100%
	);
}
.books-gallery a:hover figure {
	/* outline: 1px solid var(--link-hover-color); */
	background-color: var(--tone-mid);
}

.item-page main > article {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	position: relative;
	align-items: start;
	gap: 2rem min(1rem, 4%);
}
.item-page main > article header {
	width: calc(6rem + 14%);
	max-width: 12rem;
	/* position: sticky; */
	top: 5rem;
	flex-grow: 1;
}
.item-page .item-body {
	margin-top: 0;
	flex-grow: 1;
}
.item-page figure:not(:first-child) {
	margin: 2rem 0;
}

figure + h3 {
	margin-top: 0.5em;
}
figure img {
	/* outline: 1px solid var(--rules-color); */
	/* box-shadow: 0 0.5em 0.5em -0.5em rgba(0,0,0,0.5);
	
	box-shadow:
	0 0 30px rgba(0, 0, 0, 0.05),
	0 0.5em 0.5em -0.5em rgba(0,0,0,0.5),
	0.8px 0.8px 1px rgba(0, 0, 0, 0.031),
	2.3px 2.3px 2.6px rgba(0, 0, 0, 0.044),
	5px 5px 5.3px rgba(0, 0, 0, 0.056),
	10.4px 10.4px 11px rgba(0, 0, 0, 0.069),
	20px 20px 30px rgba(0, 0, 0, 0.1) */
}
figcaption, figcaption p {
	font-family: 'Role Sans', sans-serif;
	font-size: 0.875rem;
	line-height: 1.25;
}
img + figcaption {
	margin-top: 0.5rem;
}
.item-page figcaption p {
}

img {
	max-width: 100%;
	display: block;
}
i, em {
	font-style: italic;
}
/* em::before,
em::after {
	content: '*';
} */
br {
	margin-top: 0;
}
footer {
	margin-top: 4rem;
	border-top: 1px solid var(--rules-color);
	padding-top: 2rem;
	padding-bottom: 2rem;
	font-size: 0.875rem;
}
footer div {
	margin-top: 0;
	grid-column: span 1;
}
.copyright {
	margin-top: 1lh;
	/* align-self: end; */
}
.email-signup {
	/* grid-column: 1/-1; */
	/* align-self: end; */
	grid-row-end: -1;
	grid-column-end: -1;
}


.books-page a.books,
.collections-page a.collections,
.stamps-page a.stamps,
.currency-page a.currency,
.journal-page a.journal,
.about-page a.about,
.search-page a.search {
	/* font-weight: 600; */
	color: var(--accent-color);
}
/* section.intro {
	padding-bottom: 0;
} */

.intro {
	grid-column: 1/-1;
	column-span: all;
}
.intro p {
	/* max-width: none; */
}
.intro p,
p.meta {
	text-wrap: balance;
}
.intro + * {
}
.thumb-link {
	flex: 1;
	/* min-width: calc(5rem + 6vw); */
}
.meta {
	/* font-size: 0.875rem; */
}
.columns {
	column-width: 12rem;
	column-gap: 1rem;
}
main.columns {
	/* display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(calc(12rem + 14vw), 100%), 1fr));
	row-gap: 2rem; */
	
	column-width: calc(2 * (6rem + 14vw));
	column-width: calc(12rem + 14vw);
	column-gap: min(1.5rem, 4%);
}
main.columns > section {
}
main.columns > section + section {
	padding-top: 2rem;
}
.more-stuff {
	margin-top: 4rem;
}
.next-prev {
	color: var(--accent-color);
	display: flex;
	justify-content: space-between;
	font-variant-caps: all-small-caps;
}
.next-prev a {
	margin-top: 0;
	/* color: var(--strong-color); */
}
.next-prev a:hover {
	color: var(--accent-color);
}
.next-book::after {content: ' »';}
.prev-book::before {content: '« ';}


nav,
article,
form,
.info,
.running-text,
footer > div {
	container-type: inline-size;
}
@container (min-width: 20em) {
	p {line-height: 1.4375;
	}
}
@container (min-width: 30em) {
	p {line-height: 1.5;
	}
}


@media (min-width: 20em) {
}
@media (min-width: 30em) {
	p {
		/* -webkit-hyphens: none; */
	}
}
@media (min-width: 48em) {
	.journal-listings article {
		grid-template-columns: repeat(auto-fill, minmax(min(calc(6rem + 14%), 100%), 1fr));
	}
	.journal-listings figure {
		margin-top: 0;
		grid-column-start: 2;
		grid-column-end: -1;
		grid-row-start: unset;
	}
}
@media (min-width: 64em) {
	.search-body {
		display: grid;
		/* grid-template-columns: 1fr 3fr; */
		gap: 2rem min(1rem, 4%);
		
		grid-template-columns: repeat(auto-fill, minmax(min(calc(6rem + 14%), 100%), 1fr));
	}
	.search-body > header {
		grid-column-start: 1;
		grid-column-end: 2;
	}
	.search-listings {
		margin-top: 0.5rem;
		grid-column-start: 2;
		grid-column-end: 6;
	}
}
@media (min-width: 80em) {
}
@media (min-width: 96em) {
}

/* @media (prefers-color-scheme: dark) {
	html {
		--text-color: #b6babf;
		--strong-color: #FFF;
		--bg-color: #000;
		--accent-color: #ff3232;
		--link-color: #ff3232;
		--link-hover-color: #F00;
		--link-visited-color: #999;
		
		--tone: #262626;
		--tone-mid: #3d3f3f;
		--rules-color: #7f7f7c;
		
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
} */
