/* BERGER.PHOTOS – EST. 2024 */

html {
	margin: 0;
	padding: 0;
	scroll-behavior: smooth;
}

body {
	background: #FFF;
	color: var(--color-text);
	font-family: var(--sans);
	font-weight: 400;
	margin: 0;
	padding: 0;
	scroll-behavior: smooth;
}

/* GLOBAL */

a {
	color: var(--color-1);
	text-decoration: underline;
	transition: all .4s;
}

a:hover {
	color: var(--color-text);
	text-decoration: none;
}

figure {
	margin: 0;
	padding: 0;
}

figcaption {
	color: var(--color-gray);
	font-size: .9rem;
	line-height: 1.5em;
	margin: 10px 0 0 0;
}

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

hr {
	border: none;
	border-top: 1px solid #000;
	margin: 60px 0;
}

sup {
	font-size: 80%;
	letter-spacing: .1em;
}

h1, h2, h3, h4 {
	color: #000;
}

h1 {
	font-size: 1.8rem;
	font-weight: normal;
	line-height: 1.2em;
	margin: 0 0 45px 0;
}

h2 {
	font-size: 1.4rem;
	font-weight: normal;
	margin: 0 0 15px 0;
}

h2 a {
	color: #000;
	text-decoration: none;
	border-bottom: 1px solid var(--color-lightgray);
}

h2 a:hover {
	border-color: var(--color-text);
}

p {
	font-size: 1rem;
	line-height: 1.6em;
}

::selection {
	color: #FFF;
	background: var(--color-1);
}

/* VARIABLES */

:root {
	--sans: 'DM Sans', Avenir, Avenir Next, sans-serif;
	--serif: 'IBM Plex Serif', serif;
	--mono: 'Source Code Pro', monospace;

	--color-1: #f54b19;
	--color-text: #222;
	--color-gray: #888;
	--color-lightgray: #EEE;

	--width-full: 100%;
	--width: 1400px;
	--width-m: 1000px;
	--width-s: 600px;
	
	--padding: 4%;
	--link-margin: 25px;
}

/* FONTS */

@font-face {
	font-family: "IBM Plex Serif";
	font-style: normal;
	font-weight: 400;
	src: local("IBM Plex Serif"),
		local("IBMPlexSerif"),
		url('../fonts/IBMPlexSerif-Regular.woff2') format('woff2');
}

@font-face {
	font-family: "IBM Plex Serif";
	font-style: italic;
	font-weight: 400;
	src: local("IBM Plex Serif Italic"), 
		local("IBMPlexSerif-Italic"),
		url("../fonts/IBMPlexSerif-Italic.woff2") format("woff2");
}

@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 400;
	src: local('DM Sans Regular'),
		url('../fonts/dm-sans-v11-latin-regular.woff2') format('woff2'),
		url('../fonts/dm-sans-v11-latin-regular.woff') format('woff');
}

@font-face {
	font-family: 'DM Sans';
	font-style: italic;
	font-weight: 400;
	src: local('DM Sans Italic'),
		url('../fonts/dm-sans-v11-latin-italic.woff2') format('woff2'),
		url('../fonts/dm-sans-v11-latin-italic.woff') format('woff');
}

@font-face {
	font-family: 'DM Sans';
	font-style: normal;
	font-weight: 700;
	src: local('DM Sans Bold'),
		url('../fonts/dm-sans-v11-latin-700.woff2') format('woff2'),
		url('../fonts/dm-sans-v11-latin-700.woff') format('woff');
}

@font-face {
	font-family: 'DM Mono';
	font-style: normal;
	font-weight: 400;
	src: local('DM Mono Regular'),
		url('../fonts/dm-mono-v10-latin-regular.woff2') format('woff2'),
		url('../fonts/dm-mono-v10-latin-regular.woff') format('woff');
}

/* EDIT */

#edit {
	background: var(--color-1);
	position: fixed;
	top: 0;
	right: 0;
}

#edit a {
	display: inline-block;
	color: #FFF;
	font-family: var(--mono);
	font-size: .8rem;
	line-height: 1em;
	text-decoration: none;
	padding: 10px 15px;
}

#edit a:hover {
	color: var(--color-text);
}

/* HEADER + NAV */

#site-header {
	box-sizing: border-box;
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: fixed;
	top: 40px;
	padding: 0 var(--padding);
}

#mobile-header {
	box-sizing: border-box;
	width: 100%;
	display: none;
	position: fixed;
	top: 40px;
	padding: 0 var(--padding);
}

@media (max-width: 720px) {
	#site-header {
		display: none;
	}
	#mobile-header {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
}

/* HEADER > NAV */

.nav-links,
.nav-social {
 	width: 30%;
 	font-size: .9rem;
 	line-height: 1;
}

.nav-links a {
	color: #000;
	text-decoration: none;
	margin: 0 var(--link-margin) 0 0;
}

.nav-links a:last-child {
	margin: 0 0 0 0;
}

.nav-links a:hover {
	color: var(--color-1);
}

.nav-logo {
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	text-transform: uppercase;
}

.nav-logo a {
	color: var(--color-1);
	text-decoration: none;
}

.nav-logo a:hover {
	color: #000;
}

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

.nav-social a {
	color: #000;
	text-decoration: none;
	margin: 0 0 0 var(--link-margin);
}

.nav-social a:hover {
	color: var(--color-1);
}

.nav-social a::before {
	display: block-inline;
	content: "○";
	margin:  0 7px 0 0;
}

.nav-social a:hover::before {
	content: "●";
}

/* HEADER > MOBILE NAV */

.nav-backlink, 
.nav-hamburger {
	width: 20%;
}

.nav-backlink a, 
.nav-hamburger a {
	display: inline-block;
}

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

/* MOBILE NAV */

#mobile-nav {
	width: 100%;
	min-height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	background: var(--color-1);
	color: #FFF;
	font-family: var(--sans);
	font-size: 1.8rem;
	line-height: 2em;
	z-index: 999;
	overflow: hidden;
}

#mobile-nav a {
	color: #FFF;
	text-decoration: none;
}

.mobile-header {
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 30px 3% 60px 3%;
}

.mobile-logo {
	font-weight: bold;
	text-transform: uppercase;
}

.mobile-exit {
	font-size: 3.4rem;
	text-align: right;
	line-height: 1;
}

.mobile-links {
	padding: 4%;
}

.mobile-links a {
	display: block;
	text-align: center;
	padding: 4px 0;
}

/* ERROR */

#error {
	background: var(--color-1);
	width: 100%;
	height: 100vh;
	display: flex;
	align-items: center;
	text-align: center;
}

#error div {
	width: 100%;
}

#error a {
	color: #FFF;
	text-decoration: none;
	padding: 0 0 2px 0;
	border-bottom: 1px solid #FFF;
}

#error a:hover {
	border-bottom: none;
}

#error p {
	color: #FFF;
	font-size: 1.8rem;
}

/* CONTENT */

#content {
	max-width: var(--width);
	margin: 120px auto;
	padding: 0 var(--padding);
}

#content p {
	font-size: 1.1rem;
	line-height: 1.7em;
}

.link-back a {
	color: #000;
	font-size: 1.4rem;
	text-decoration: none;
}

.link-back a:hover {
	color: var(--color-1)
}

/* HOME */

.home-sets a {
	color: #000;
	font-size: 2rem;
	font-style: italic;
	line-height: 1.5em;
	text-decoration: none;
}

.home-sets a:hover {
	color: var(--color-1);
}

/* GRIDS */

#set-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 60px;
}

@media (max-width: 880px) {
	#set-grid {
		grid-gap: 15px;
	}
}

@media (max-width: 440px) {
	#set-grid {
		grid-template-columns: 1fr;
		grid-gap: 12px;
	}
}

/* SET */

#set-header {
	display: flex;
	justify-content: flex-start;
	gap: 30px;
}

#set-body {
	max-width: 60%;
	margin: 60px 0 0 0;
}

#set-body p {
	font-family: var(--mono);
	font-size: .9rem;
	line-height: 1.7em;
}

#set-body p a {
	color: var(--color-text);
	text-decoration: none;
	border-bottom: 1px solid var(--color-lightgray);
}

#set-body p a:hover {
	border-color: var(--color-text);
}

@media (max-width: 440px) {
	#set-body {
		max-width: 100%;
	}
}

/* INFO */

#info {
	max-width: var(--width-s);
	margin: 0 auto;
}

#info figure {
	margin: 0 0 60px 0;
}

#info p {
	font-size: 1.1em;
	line-height: 1.75em;
}

#info p.intro {
	font-size: 140%;
}

#info h2 {
	margin: 30px 0 15px 0;
}

/* BLOG */

#blog {
	max-width: var(--width-s);
	margin: 140px auto;
}

#blog-header, 
.blog-tag {
	font-family: var(--mono);
	font-size: .9rem;
	text-transform: uppercase;
	line-height: 1;
	letter-spacing: .1em;
	border-bottom: 1px solid #EEE;
	margin: 0 0 90px 0;
	padding: 0 0 20px 0;
}

#blog-header {
	display: grid;
	grid-template-columns: 50% auto;
}

.blog-tag {
	color: var(--color-1);
	margin-top: -70px;
}


.blog-nav a,
.blog-logo a {
	color: var(--color-text);
	text-decoration: none;
}

.blog-nav a:hover,
.blog-logo a:hover {
	color: var(--color-1);
}

.blog-nav a {
	margin: 0 0 0 20px;
}

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

/* BLOG > FOOTER */

#blog-footer {
	max-width: var(--width-s);
	margin: 0 auto;
}

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

/* BLOG > PAGINATION */

#blog-pagination {
	font-family: var(--mono);
	text-align: center;
}

ul.blog-pager {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.blog-pager li {
	display: inline;
}

.blog-pager li a {
	display: inline-block;
	padding: 10px 15px;
	text-decoration: none;
}

.blog-pager li a:hover {
	background: var(--color-1);
	color: #FFF;
}

.blog-pager li.MarkupPagerNavOn a {
	text-decoration: underline;
}

/* BLOG > ITEM */

.blog-item {
	margin: 0 0 60px 0;
}

.blog-list::after {
	display: block;
	width: 100%;
	content: '○';
	font-size: 2.2rem;
	line-height: 1;
	text-align: center;
	margin: 60px 0;
}

.blog-list:last-child::after {
	display: none;
}

.blog-item h2 a {
	color: var(--color-text);
	text-decoration: none;
}

.blog-item p {
	margin: 0 0 15px 0;
}

.blog-item figure {
	margin: 0 0 30px 0;
}

.blog-item p+figure {
	margin: 60px 0 30px 0;
}

/* BLOG > ITEM > META */

.blog-date {
	color: var(--color-gray);
	font-family: var(--mono);
	font-size: .8rem;
	margin: 0 0 30px 0;
}

.blog-date a {
	color: var(--color-gray);
	text-decoration: none;
}

.blog-date a:hover {
	text-decoration: underline;
}

.blog-tags {
	color: var(--color-gray);
	font-family: var(--mono);
	font-size: .9rem;
	line-height: 1;
	margin: 60px 0 0 0;
}

.blog-tags a {
	display: inline-block;
	color: var(--color-1);
	text-decoration: none;
	border: 2px solid var(--color-1);
	border-radius: 20px;
	margin: 0 10px 0 0;
	padding: 10px 16px;
}

.blog-tags a:hover {
	background: var(--color-1);
	color: #FFF;
}

/* BLOG > TAGS */

.tags-index  {
	line-height: 3.4em;
}

.tags-index a {
	display: inline-block;
	border: 2px solid var(--color-1);
	border-radius: 20px;
	font-family: var(--mono);
	font-size: 1rem;
	line-height: 1;
	text-decoration: none;
	margin: 0 10px 0 0;
	padding: 10px 16px;
}

.tags-index a:hover {
	background: var(--color-1);
	color: #FFF;
}

/* ARCHIVE + SETS */

.archive-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 60px;
}

@media (max-width: 820px) {
	.archive-grid {
		grid-template-columns: 1fr 1fr;
		grid-gap: 30px;
	}
}

@media (max-width: 440px) {
	.archive-grid {
		grid-template-columns: 1fr;
		grid-gap: 20px;
	}
}

.archive-item {
	border: 1px solid #DDD;
}

.archive-item a {
	display: block;
	text-decoration: none;
	padding: 10px 10px 30px 10px;
}

.archive-item a:hover {
	background: #F6F6F6;
}

.archive-item img {
	width: 100%;
	height: auto;
}

.archive-item h2 {
	font-size: 1.2rem;
	margin: 10px 0 10px 0;
}

.archive-item h3 {
	color: var(--color-1);
	font-family: var(--mono);
	font-size: .8rem;
	font-weight: normal;
}

/* FOOTER */

a#toplink {
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: fixed;
	right: 5%;
	bottom: 5%;
	text-decoration: none;
	border: 1px solid var(--color-1);
	border-radius: 50%;
}

a#toplink img {
	width: 10px;
	height: auto;
}

#site-footer {
	max-width: var(--width);
	margin: 0 auto;
	padding: var(--padding);
}

#site-footer a {
	color: #BBB;
	font-size: .8rem;
	text-decoration: none;
	margin: 0 var(--link-margin) 0 0;
}

#site-footer a:hover {
	color: #000;
}

/* THIS IS THE END MY FRIEND */