@font-face {
	font-family: 'Ysabeau';
	src: url('/fonts/Ysabeau-Medium.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'Ysabeau';
	src: url('/fonts/Ysabeau-MediumItalic.woff2') format('woff2');
	font-weight: 500;
	font-style: italic;
}

@font-face {
	font-family: 'Ysabeau';
	src: url('/fonts/Ysabeau-Bold.woff2') format('woff2');
	font-weight: bold;
	font-style: normal;
}

@font-face {
	font-family: 'Ysabeau';
	src: url('/fonts/Ysabeau-BoldItalic.woff2') format('woff2');
	font-weight: bold;
	font-style: italic;
}

:root {
	--background-color:       #121212;
	--secondary-darker-color: #1B1B1B;
	--secondary-color:        #1F1F1F;
	--tertiary-color:         #282828;
	--secondary-hover-color:  #282828;
	--tertiary-hover-color:   #313131;

	--font-size:              1rem;
	--font-color:             #FFF;
	--font-opacity:           87%;
	--font-secondary-opacity: 60%;

	--background-image-opacity: 30%;

	--slant-delta: 40px;

	--width: 95%;
}

@media only screen and (min-width: 800px) {
	:root {
		--slant-delta: 60px;
	}
}

@media only screen and (min-width: 1000px) {
	:root {
		--slant-delta: 80px;
	}
}

@media only screen and (min-width: 1400px) {
	:root {
		--slant-delta: 100px;
	}
}

@media only screen and (min-width: 1800px) {
	:root {
		--slant-delta: 120px;
	}
}

.not-mobile {
	display: none;
}

@media only screen and (min-width: 600px) {
	.mobile {
		display: none;
	}

	.not-mobile {
		display: unset;
	}

	tr.not-mobile {
		display: table-row;
	}
}

* {
	color: var(--font-color);
	box-sizing: border-box;
}

body {
	align-items: center;
	background-color: var(--background-color);
	display: flex;
	flex-direction: column;
	font-family: 'Ysabeau', 'Helvetica', sans-serif;
	font-variant-numeric: lining-nums;
	font-feature-settings: 'ss02';
	font-weight: 500;
	margin: 0;
}

h1, h2, h3, h4, h5, h6, p {
	opacity: var(--font-opacity);
}

nav {
	width: 100%;
}


a:link, a:visited {
	color: inherit;
}

nav a:link, nav a:visited {
	text-decoration: inherit;
}

nav ul {
	display: flex;
	font-size: 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
	z-index: 69;

	-ms-overflow-style: none;  /* IE and Edge */
	scrollbar-width: none;     /* Firefox */
}

/* Hide scrollbar for Chrome, Safari, and Opera */
nav ul::-webkit-scrollbar {
	display: none;
}

nav > ul {
	white-space: nowrap;
	overflow-x: scroll;
}

@media only screen and (min-width: 1000px) {
	nav ul {
		font-size: 1.2rem;
	}
}

@media only screen and (min-width: 1400px) {
	nav ul {
		font-size: 1.4rem;
	}
}

@media only screen and (min-width: 1800px) {
	nav ul {
		font-size: 1.5rem;
	}
}

nav ul ul {
	border-left: 1px solid white;
	display: none;
	position: absolute;
	width: 100%;
}

nav li:hover ul {
	display: block;
}

nav li:hover {
	background-color: var(--secondary-hover-color);
}

nav > ul > li > ul li {
	background-color: var(--secondary-color);
}

nav ul ul:last-child, nav ul ul li:last-child {
	border-radius: 0 0 4px 4px;
}

nav li a {
	transition: ease 300ms;
}

nav li {
	background-color: var(--secondary-color);
}

nav > ul > li, nav > ul > li li:last-child {
	border-bottom: 1px solid white;
}

nav li a, nav li div {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	padding: 12px;
}

nav li:hover a {
	transform: translate(0, -4px);
}

nav ul > * {
	flex-grow: 1;
	text-align: center;
	overflow-y: visible;
	height: auto;
}

.unavailable {
	font-style: italic;
	opacity: var(--font-secondary-opacity);
}

header h1 {
	font-size: 1.5rem;
	margin-bottom: 0;
}

header h3 {
	margin-top: 0;
	display: flex;
	justify-content: space-between;
}

header p {
	color: lightgrey;
}

@media only screen and (min-width: 1000px) {
	header h1 {
		font-size: 2.5rem;
	}
}

@media only screen and (min-width: 1400px) {
	header h1 {
		font-size: 2.7rem;
	}
}

@media only screen and (min-width: 1800px) {
	header h1 {
		font-size: 3rem;
	}
}

header h6 {
	font-style: italic;
	font-size: 1rem;
	text-align: right;
	opacity: var(--font-secondary-opacity);
	margin-top: 0;
}

@media only screen and (min-width: 1400px) {
	header h6 {
		font-size: 1.1rem;
	}
}

@media only screen and (min-width: 800px) {
	:root {
		--font-size: 1.3rem;
	}
}

@media only screen and (min-width: 1000px) {
	:root {
		--font-size: 1.4rem;
		--width: 75%;
	}
}

@media only screen and (min-width: 1400px) {
	:root {
		--font-size: 1.5rem;
		--width: 65%;
	}
}

@media only screen and (min-width: 1800px) {
	:root {
		--font-size: 1.5rem;
		--width: 50%;
	}
}

p {
	text-align: justify;
	font-size: var(--font-size);
	line-height: 2rem;
	width: var(--width);
}

.cl-section ul {
	width: var(--width);
}

.cl-section li {
	font-size: var(--font-size);
}

main {
	width: 100%;
}

main section {
	width: 100%;
	display: flex;
	justify-content: center;
}

.selected {
	background-color: var(--secondary-hover-color);
}

.slant-up {
	-webkit-clip-path: polygon(
		0 var(--slant-delta),
		100% 0,
		100% calc(100% - var(--slant-delta)),
		0 100%
	);
	clip-path: polygon(
		0 var(--slant-delta),
		100% 0,
		100% calc(100% - var(--slant-delta)),
		0 100%
	);
}

.slant-down {
	-webkit-clip-path: polygon(
		0 0,
		100% var(--slant-delta),
		100% 100%,
		0 calc(100% - var(--slant-delta))
	);
	clip-path: polygon(
		0 0,
		100% var(--slant-delta),
		100% 100%,
		0 calc(100% - var(--slant-delta))
	);
}

.c-section {
	height: 600px;
}

.cl-section {
	display: flex;
	justify-content: center;
	align-items: center;
}

.c-section, .cl-section {
	background-color: var(--secondary-color);
}

.cl-section > div {
	padding: var(--slant-delta) 0;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.cl-section h2 {
	font-size: 1.5rem;
}

@media only screen and (min-width: 1000px) {
	.cl-section h2 {
		font-size: 2rem;
	}
}

.c-section > * {
	text-decoration: none;
	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.c-section:hover {
	background-color: var(--secondary-hover-color);
}

.c-section:hover img {
	height: 500px;
}

.c-section p,
.c-section h2,
.c-section img {
	transition: ease 300ms;
}

.c-section h2 {
	font-size: 1.5rem;
	width: 95%;
	text-align: left;
}

.c-section:hover h2 {
	font-size: 1.7rem;
}


@media only screen and (min-width: 1000px) {
	.c-section h2 {
		font-size: 2rem;
		width: 75%;
	}

	.c-section:hover h2 {
		font-size: 2.2rem;
	}
}

@media only screen and (min-width: 1400px) {
	.c-section h2 {
		width: 65%;
	}
}

@media only screen and (min-width: 1800px) {
	.c-section h2 {
		width: 50%;
	}
}

.c-section img {
	position: absolute;
	height: 450px;
	opacity: var(--background-image-opacity);
	z-index: -1;
}

.right-align {
	text-align: right;
}

.nifc       { background-color: pink;       }
.have       { background-color: green;      }
.have-nifc  { background-color: #5DBB63;    }
.not-minted { background-color: black;      }
.unknown    { background-color: grey;       }
.error      { background-color: red;        }
.have-proof {
	background-color: #5DBB63;
	position: relative;
}

.have-proof:before { animation: slide 2s linear 1s infinite; }
.have-proof:after  { animation: slide 2s linear 0s infinite; }

.have-proof:before,
.have-proof:after {
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 1;

	background: -moz-linear-gradient(
		left,
		rgba(255, 255, 255, 0.00)   0%,
		rgba(255, 255, 255, 0.25)  40%,
		rgba(255, 255, 255, 0.25)  60%,
		rgba(255, 255, 255, 0.00) 100%
	);
	background: -webkit-linear-gradient(
		left,
		rgba(255, 255, 255, 0.00)   0%,
		rgba(255, 255, 255, 0.25)  40%,
		rgba(255, 255, 255, 0.25)  60%,
		rgba(255, 255, 255, 0.00) 100%
	);
	background: -ms-linear-gradient(
		left,
		rgba(255, 255, 255, 0.00)   0%,
		rgba(255, 255, 255, 0.25)  40%,
		rgba(255, 255, 255, 0.25)  60%,
		rgba(255, 255, 255, 0.00) 100%
	);
	background: -o-linear-gradient(
		left,
		rgba(255, 255, 255, 0.00)   0%,
		rgba(255, 255, 255, 0.25)  40%,
		rgba(255, 255, 255, 0.25)  60%,
		rgba(255, 255, 255, 0.00) 100%
	);
	background: linear-gradient(
		to right,
		rgba(255, 255, 255, 0.00)   0%,
		rgba(255, 255, 255, 0.25)  40%,
		rgba(255, 255, 255, 0.25)  60%,
		rgba(255, 255, 255, 0.00) 100%
	);
	background: -webkit-gradient(
		linear, left top, right top,
		color-stop(  0%, rgba(255, 255, 255, 0.00)),
		color-stop( 40%, rgba(255, 255, 255, 0.25)),
		color-stop( 60%, rgba(255, 255, 255, 0.25)),
		color-stop(100%, rgba(255, 255, 255, 0.00))
	);
}

@keyframes slide {
	  0% { transform: translateX(-100%); }
	100% { transform: translateX(+100%); }
}

#table-key {
	background-color: var(--secondary-color);
	border-radius: 8px;
}

#table-key td {
	padding: 0;
	overflow: hidden;
}

#table-key tr td:first-child {
	height: 30px;
	width: 50px;
}

@media only screen and (min-width: 1000px) {
	#table-key tr td:first-child {
		height: 40px;
		width: 60px;
	}
}

#table-key tr td:last-child {
	padding: 0 25px;
	font-size: 0.8rem;
}

@media only screen and (min-width: 1000px) {
	#table-key tr td:last-child {
		font-size: 1.2rem;
	}
}

#table-key tr td:first-child div {
	height: 100%;
	width: 100%;
}

#table-key tr:first-child td:first-child div {
	border-radius: 8px 8px 0 0;
}

#table-key tr:last-child td:first-child div {
	border-radius: 0 0 8px 8px;
}

div .country-table:not(:first-child) {
	margin-top: 3rem;
}

.country-table {
	background-color: var(--tertiary-color);
	border-radius: 16px;
	border-spacing: 0;
	width: 95%;
}

@media only screen and (min-width: 1000px) {
	.country-table {
		width: 75%;
	}
}

@media only screen and (min-width: 1400px) {
	.country-table {
		width: 65%;
	}
}

@media only screen and (min-width: 1800px) {
	.country-table {
		width: 50%;
	}
}

.country-table td {
	font-size: 1rem;
	text-align: center;
	width: 25%;
}

@media only screen and (min-width: 1000px) {
	.country-table td {
		font-size: 1.25rem;
	}
}

.country-table td:hover {
	background-color: var(--tertiary-hover-color);
}

.country-table a {
	display: block;
	padding: 16px 0;
	text-decoration: none;
}

.country-table tr:first-child td:first-child {
	border-radius: 16px 0 0 0;
}

.country-table tr:first-child td:last-child {
	border-radius: 0 16px 0 0;
}

.country-table tr:last-child td:first-child {
	border-radius: 0 0 0 16px;
}

.country-table tr:last-child td:last-child {
	border-radius: 0 0 16px 0;
}

.country-table tr:first-child:last-child td:first-child {
	border-radius: 16px 0 0 16px;
}

.country-table tr:first-child:last-child td:last-child {
	border-radius: 0 16px 16px 0;
}

.country-table tr:first-child:last-child td:first-child:last-child {
	border-radius: 16px 16px 16px 16px;
}

.coin-table {
	width: calc(95% + 32px);
	white-space: nowrap;
	max-width: 100%;
	text-align: center;
	table-layout: fixed;
	font-size: 0.8rem;
	background-color: var(--secondary-darker-color);
	border-radius: 16px;
	border-left: 16px solid var(--secondary-darker-color);
	border-right: 16px solid var(--secondary-darker-color);
	border-bottom: 16px solid var(--secondary-darker-color);
}

@media only screen and (min-width: 1000px) {
	.coin-table {
		width: calc(75% + 32px);
		font-size: 1.2rem;
	}
}

@media only screen and (min-width: 1400px) {
	.coin-table {
		width: calc(65% + 32px);
		font-size: 1.4rem;
	}
}

@media only screen and (min-width: 1800px) {
	.coin-table {
		width: calc(50% + 32px);
		font-size: 1.5rem;
	}
}

.coin-table .first-design th {
	border-radius: 0;
}

.coin-table .new-design + tr td:first-child,
.coin-table tbody tr:first-child td:first-child,
.commemorative-table tbody tr:first-child td:nth-child(2) {
	border-top-left-radius: 16px;
}

.coin-table .new-design + tr td:last-child,
.coin-table tbody tr:first-child td:last-child {
	border-top-right-radius: 16px;
}

.coin-table .last-of-design td:first-child,
.commemorative-table tr:last-child td:nth-child(2) {
	border-bottom-left-radius: 16px;
}

.coin-table tbody tr:only-child td:first-child,
.commemorative-table tbody tr:only-child td:nth-child(2) {
	border-top-left-radius: 16px;
	border-bottom-left-radius: 16px;
}

.coin-table tbody tr:only-child td:last-child {
	border-top-right-radius: 16px;
	border-bottom-right-radius: 16px;
}

.coin-table .last-of-design td:last-child,
.commemorative-table tr:last-child td:last-child {
	border-bottom-right-radius: 16px;
}

.coin-table .missing {
	background-color: var(--tertiary-color);
}

.coin-table .have,
.coin-table .nifc,
.coin-table .have-nifc,
.coin-table .have-proof,
.coin-table .not-minted {
	color: black;
}

.coin-table td {
	overflow: hidden;
	border: 1px solid black;
}

.coin-table thead tr:first-child th {
	font-size: 1.2rem;
}

@media only screen and (min-width: 1000px) {
	.coin-table thead tr:first-child th {
		font-size: 1.5rem;
	}
}

@media only screen and (min-width: 1400px) {
	.coin-table thead tr:first-child th {
		font-size: 1.8rem;
	}
}

@media only screen and (min-width: 1800px) {
	.coin-table thead tr:first-child th {
		font-size: 2rem;
	}
}

.coin-table th {
	font-weight: bold;
	width: 12.5%;
}

.coin-table th, .coin-table td {
	padding: 8px 0;
}

.commemorative-table {
	border-left: none;
}

.commemorative-table td:not(:first-child) {
	border: 1px solid black;
}

.bnote-table td {
	border: 1px solid black;
}

.commemorative-table td:first-child {
	border: none;
}

.coin-table td:first-child,
.commemorative-table td:nth-child(2) {
	border-left: none;
}

.coin-table td:last-child,
.commemorative-table td:last-child {
	border-right: none;
}

.coin-table tbody tr:first-child td,
.coin-table .new-design + tr td,
.commemorative-table tr:first-child td {
	border-top: none;
}

.coin-table .last-of-design td,
.coin-table tr:last-child td,
.commemorative-table tr:last-child td {
	border-bottom: none;
}

.commemorative-table tr:last-child th {
	width: 30%;
}

.commemorative-table tr:last-child th:first-child {
	width: 10%;
}

.commemorative-table tr td:first-child {
	background-color: var(--secondary-dark-color);
}

#test-banknote-table td:first-child {
	width: 10%;
}

#test-banknote-table td:last-child {
	width: 90%;
}

.coin-table sup, .commemorative-table sup {
	color: inherit;
	font-size: 0.5rem;
}

@media only screen and (min-width: 1000px) {
	.coin-table sup, .commemorative-table sup {
		font-size: 0.6rem;
	}
}

@media only screen and (min-width: 1400px) {
	.coin-table sup, .commemorative-table sup {
		font-size: 0.7rem;
	}
}

@media only screen and (min-width: 1800px) {
	.coin-table sup, .commemorative-table sup {
		font-size: 0.8rem;
	}
}

.error-table tbody td:nth-child(2) {
	border: none;
}

.error-table tbody tr:first-child td:last-child {
	border-top: none;
	border-top-left-radius: 16px;
}

.error-table tbody tr:last-child td:last-child {
	border-bottom: none;
	border-bottom-left-radius: 16px;
}

.error-table tbody td:last-child {
	border-left: none;
	border-right: none;
}

.blurb {
	flex-direction: column;
	align-items: center;
}