body.heraldryPage {
	--link: #e70b0b;
	--text: #4b2909;
	--panel: #bfbdaf;
	--panel-text: #f7f9f1;
	
	--heraldry-font-size: max(28px, 2.2vw);
	--root-margin: 10vw;

	font-family: "Fust & Schoeffer";
	background-color: var(--panel-text);
	background-image: url("/images/projects/heraldry/background.jpg");
	background-size: 400px 400px;
}

#filters {
	position: absolute;
	height: 0;
	width: 0;
}

.heraldryPage main {
	text-align: left;
	border-width: 5.6vw 4vw 5.6vw 9.7vw;
	border-image-repeat: repeat;
	border-style: solid;
	border-color: transparent;
	border-image-source: url("/images/projects/heraldry/border.png");
	border-image-slice: 126 156 126 216;
	border-image-width: 5.6vw 7vw 5.6vw 9.7vw; // * 0.45
	border-image-repeat: repeat;
	padding: 0 0 0 10px;
}

.heraldryPage strong.intro { color: var(--link); }
.heraldryPage strong { color: #c71a00; }

.heraldryPage main p {
	line-height: 0.78em;
	letter-spacing: -0.02em;
	font-size: var(--heraldry-font-size);
	text-align: justify;
	word-spacing: -0.1em;
	filter: url(#worn);
	margin: 0 0 10px;
}

.heraldryPage strong, .heraldryPage main a, .heraldryPage footer a {
	font-family: var(--sans);
	font-weight: 700;
	font-size: 0.9em;
}

.heraldryPage h2 {
	font-size: 2.4em;
	margin: 0;
	clear: none;
}

.heraldryPage .bigletter {
	content: "";
	display: block;
	float: left;
	height: 15vw;
	width: 15vw;
	margin: -0.5vw -1vw -1vw;	
	background: url("/images/projects/heraldry/initial.png");
	background-size: contain;
	background-repeat: no-repeat;
	color: transparent;
}

.bigletter + p::first-letter {
	float: left;
	color: transparent;
	font-size: 0.1em;
}

.heraldryPage img.right {
	margin: 0 0 0.5vw 1vw;
	width: 40%;
	height: auto;
	float: right;
}

.others { margin: 30px 0 0; }

.heraldryPage .gallery { 
	grid-template-columns: repeat(auto-fill, min(22vw, 250px));
	align-items: end;
	width: 100%;
	justify-content: left;
	gap: min(4vw, 60px) 60px;
	padding: 40px 0 60px;
}

.heraldryPage .gallery figure {
	margin: 0;
	display: inline-block;
	width: 100%;
}

.heraldryPage .gallery img {
	height: auto;
	width: 100%;
}

.heraldryPage .gallery figcaption {
	padding: 0;
	margin: 2px 0 0;
	font-size: var(--heraldry-font-size);
	filter: url(#worn);
}

.heraldryPage .icon.text { margin: 0; }

.heraldryPage footer {
	font-family: inherit;
	filter: url(#worn);
	max-width: none;
	padding-top: 40px;
}

@media screen and (min-width: 1320px) {
	body.heraldryPage {
		--root-margin: 0;
		--heraldry-font-size: 32px;
	}
	
	.heraldryPage main {
		max-width: 1200px;
		box-sizing: border-box;
		margin-left: auto;
		margin-right: auto;
		border-width: 81px 57.5px 81px 145px;
		border-image-width: 81px 101.5px 81px 145px;
	}
	
	.heraldryPage .bigletter {
		margin: -7.2px -14.4px -14.4px;
		width: 218px;
		height: 218px;
	}
	
	.heraldryPage img.right {
		width: 380px;
		margin: 0 0 14.4px 7.2px;
	}
}

@media screen and (max-width: 750px) {
	body.heraldryPage {
		--footer-margin: 20px;
	}
	
	.heraldryPage main {
		margin: -20px 0 0;
		border-top-width: 65px;
		border-bottom-width: 60px;
		border-left-width: 0;
		border-right-width: 0;
		border-image-width: 65px 0 60px;
		padding: 10px 20px 0;
	}
	
	.heraldryPage .bigletter {
		height: 25vw;
		width: 25vw;
	}
	
	.heraldryPage img.right {
		float: none;
		margin: 0 16% 10px;
		width: 70%;
	}
}

@media screen and (max-width: 500px) {
	.heraldryPage .gallery {
		grid-template-columns: repeat(auto-fill, 48%);
		gap: 10px;
		justify-content: space-between;
	}
}

@font-face {
	font-family: "Fust & Schoeffer";
	font-style: normal;
	font-weight: 400;
	src: url("/fonts/fustschoeffer.woff2") format("woff2");
	unicode-range: U+000-5FF;
}
