@font-face {
	font-family: PlusJakartaSans;
	src: local("PlusJakartaSans"), url("../fonts/plusjakartasans/PlusJakartaSans-BoldItalic.woff2");
	font-weight: bold;
	font-style: italic;
}

@font-face {
	font-family: PlusJakartaSans;
	src: local("PlusJakartaSans"), url("../fonts/plusjakartasans/PlusJakartaSans-Bold.woff2");
	font-weight: bold;
}

@font-face {
	font-family: PlusJakartaSans;
	src: local("PlusJakartaSans"), url("../fonts/plusjakartasans/PlusJakartaSans-ExtraBoldItalic.woff2");
	font-weight: 800;
	font-style: italic;
}

@font-face {
	font-family: PlusJakartaSans;
	src: local("PlusJakartaSans"), url("../fonts/plusjakartasans/PlusJakartaSans-ExtraBold.woff2");
	font-weight: 800;
}

@font-face {
	font-family: PlusJakartaSans;
	src: local("PlusJakartaSans"), url("../fonts/plusjakartasans/PlusJakartaSans-ExtraLightItalic.woff2");
	font-weight: 200;
	font-style: italic;
}

@font-face {
	font-family: PlusJakartaSans;
	src: local("PlusJakartaSans"), url("../fonts/plusjakartasans/PlusJakartaSans-ExtraLight.woff2");
	font-weight: 200;
}

@font-face {
	font-family: PlusJakartaSans;
	src: local("PlusJakartaSans"), url("../fonts/plusjakartasans/PlusJakartaSans-Italic.woff2");
	font-style: italic;
}

@font-face {
	font-family: PlusJakartaSans;
	src: local("PlusJakartaSans"), url("../fonts/plusjakartasans/PlusJakartaSans-LightItalic.woff2");
	font-weight: 300;
	font-style: italic;
}

@font-face {
	font-family: PlusJakartaSans;
	src: local("PlusJakartaSans"), url("../fonts/plusjakartasans/PlusJakartaSans-Light.woff2");
	font-weight: 300;
}

@font-face {
	font-family: PlusJakartaSans;
	src: local("PlusJakartaSans"), url("../fonts/plusjakartasans/PlusJakartaSans-MediumItalic.woff2");
	font-weight: 500;
	font-style: italic;
}

@font-face {
	font-family: PlusJakartaSans;
	src: local("PlusJakartaSans"), url("../fonts/plusjakartasans/PlusJakartaSans-Medium.woff2");
	font-weight: 500;
}

@font-face {
	font-family: PlusJakartaSans;
	src: local("PlusJakartaSans"), url("../fonts/plusjakartasans/PlusJakartaSans-Regular.woff2");
	font-weight: normal;
}

@font-face {
	font-family: PlusJakartaSans;
	src: local("PlusJakartaSans"), url("../fonts/plusjakartasans/PlusJakartaSans-SemiBoldItalic.woff2");
	font-weight: 600;
	font-style: italic;
}

@font-face {
	font-family: PlusJakartaSans;
	src: local("PlusJakartaSans"), url("../fonts/plusjakartasans/PlusJakartaSans-SemiBold.woff2");
	font-weight: 600;
}

@font-face {
	font-family: FiraMono;
	src: local("FiraMono"), url("../fonts/fira/FiraMono-Bold.woff2");
	font-weight: bold;
}

@font-face {
	font-family: FiraMono;
	src: local("FiraMono"), url("../fonts/fira/FiraMono-Medium.woff2");
	font-weight: 500;
}

@font-face {
	font-family: FiraMono;
	src: local("FiraMono"), url("../fonts/fira/FiraMono-Regular.woff2");
	font-weight: normal;
}

:root {
	--color-1: #2d2d2d;
	--color-2: #423f3f;
	--color-3: #522121;
	--color-4: #c1a4a4;
	--color-5: #c6c0c0;
	--color-6: #d2d2d2;
}

@media (prefers-color-scheme: light) {
	:root {
		--color-darkest: var(--color-1);
		--color-dark: var(--color-3);
		--color-light: var(--color-4);
		--color-lighter: var(--color-5);
		--color-lightest: var(--color-6);
	}

	html {
		color-scheme: light;
	}
}

@media (prefers-color-scheme: dark) {
	:root {
		--color-darkest: var(--color-6);
		--color-dark: var(--color-4);
		--color-light: var(--color-3);
		--color-lighter: var(--color-2);
		--color-lightest: var(--color-1);
	}

	html {
		color-scheme: dark;
	}
}

:root {
	--size-base: 12pt;
	--font-sans: PlusJakartaSans, Verdana, Helvetica, Arial, sans-serif;

	--color-background: var(--color-lightest);

	font-size: var(--size-base);
	font-family: var(--font-sans);
	background-color: var(--color-background);

	--w: 100vw;
	--w-max: 512px;
	--h: 100dvh;
}

html {
	min-height: var(--h);
	overflow-y: hidden;
}

body {
	max-width: var(--w-max);
	padding: 0;
	display: block;
	margin: 0 auto;
}

div.frame-wrapper {
	display: flex;
	width: var(--w);
	max-width: var(--w-max);
	height: var(--h);
	align-items: center;
}

label.frame {
	display: block;
	margin: 0 auto;
}

img.picture {
	display: block;
	width: auto;
	height: auto;
	max-width: var(--w-max);
	max-height: var(--h);
}

input#overlay_toggle {
	display: none;
}

input#overlay_toggle:checked+div.control-overlay {
	display: none;
}

div.control-overlay {
	display: block;
	background-color: #00000099;
	position: absolute;
	left: 0;
	top: 0;
	width: var(--w);
	max-width: var(--w-max);
	height: var(--h);
	color: #ffffff;
}

table.control-wrapper {
	table-layout: fixed;
	width: var(--w);
	max-width: var(--w-max);
	height: var(--h);
}

table.control-wrapper>tbody>tr>td {
	padding: 0;
}

table.control-wrapper>tbody>tr>td:nth-child(1) {
	text-align: left;
	padding-left: 0.1em;
}

table.control-wrapper>tbody>tr>td:nth-child(1),
table.control-wrapper>tbody>tr>td:nth-child(3) {
	width: 2em;
}

table.control-wrapper>tbody>tr>td:nth-child(2) {
	height: var(--h);
}

table.control-wrapper>tbody>tr>td:nth-child(3) {
	text-align: right;
}

table.dl-or-close {
	table-layout: fixed;
	width: 100%;
}

table.dl-or-close>tbody>tr>td {
	vertical-align: text-top;
}

table.dl-or-close>tbody>tr>td:nth-child(2) {
	width: 2em;
	text-align: right;
}


.control {
	cursor: pointer;
}

h1.header {
	margin-bottom: 0.125em;
}

h1.header+p {
	margin-top: 0.125em;
}

hr {
	border: none;
	border-bottom: 1px solid #ffffff;
}

div.picture-info {
	height: 100%;
	overflow-y: auto;
	padding-bottom: 2em;
}

table.control-wrapper a {
	color: #ffffff;
	text-decoration: none;
	cursor: pointer;
}

table.control-wrapper .control {
	font-size: 2em;
}

p.picture-date {
	text-wrap: pretty;
}

@media (min-width: 513px) {
	div.control-overlay {
		left: calc(calc(var(--w) - var(--w-max)) / 2);
	}
}
