/**
 * Společné prvky
 */

*,
*::before,
*::after {
	box-sizing: border-box;
}

:root {
	--main: #2d2d2d;
	--inverted: #d2d2d2;
}

@font-face {
	font-family: 'Proxima Nova';
	src: url('fonts/Proxima-Nova.ttf') format('woff2');
} 

html,
body {
	height: 100%;
	background: white;
	margin: 0;
	padding: 0;
	font-family: 'Proxima Nova', Arial;
	scroll-snap-type: y mandatory;
}

h1 {
	font-size: 24pt;
	margin: 0 auto 2em;
	text-align: center;
}

a {
	color: var(--main);
	text-decoration: underline;
}

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

.snap-first {
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

.snap-start-only {
	scroll-snap-align: start;
	scroll-snap-stop: always;
	scroll-margin-bottom: 200px;
}


/**
 * Menu
 */

header {
	width: 100%;
	position: fixed;
	top: -100px;
	z-index: 100;
	background: rgba(255, 255, 255, 0);
	transition: all 0.2s linear;
}

header:hover {
	background: rgba(255, 255, 255, 1);
}

header.static {
	top: 0px;
	position: static;
}

#main-menu {
	width: 100%;
	height: 100px;
	padding: 0 60px;
	margin: 0;
	list-style-type: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 2em;
	font-size: 14pt;
	transition: all 0.4s linear;
}

#main-menu a {
	text-transform: capitalize;
	color: var(--main);
	font-weight: bold;
	text-decoration: none;
	transition: all 0.2s linear;
}

#main-menu.inverted a {
	color: var(--inverted);
}

#main-menu.inverted:hover a {
	color: var(--main);	
}

#main-menu.inverted img {
	filter: invert(100%);
}

#main-menu.inverted:hover img {
	filter: none;
}

.home {
	margin-right: auto;
}

.home img {
	height: 60px;
	transition: all 0.4s linear;
}

#logo {
	width: 250px;
	margin-right: auto;
}


/**
 * Homepage
 */

#uvod {
	height: 100svh;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}


#mask {
	background-size: cover;
	background-position: center;
	mask-size: 100%;
	mask-mode: luminance;
	mask-image: url('../img/mask-logo.svg');
}

#mask a {
	display: block;
	width: 100%;
	height: 100%;
}

.bg-1 { background-image: url('../img/suchomasty/foto/suchomasty-13.webp'); }
.bg-2 { background-image: url('../img/zivot/foto/zivot-12.webp'); }
.bg-3 { background-image: url('../img/chodov/foto/chodov-18.webp'); }
.bg-4 { background-image: url('../img/desatkova/foto/desatkova-17.webp'); }


/**
 * Homepage / projekty
 */

#projekty {
	padding: 80px 0;
	min-height: 100vh;
}

.gallery {
	width: calc(100% - 20px);
	margin: 60px 0 60px 20px;
}

.tile {
	position: relative;
	margin-bottom: 20px;
	width: calc(25% - 20px);
	overflow: hidden;
	outline: 2px solid transparent;
	transition: all 0.2s linear;
}

.tile img {
	width: 100%;
	transition: all 0.2s linear;
}

.tile .text {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: var(--main);
	text-transform: uppercase;
	font-weight: bold;
	font-size: 16pt;
	opacity: 0;
	transition: all 0.2s linear;
}

.tile a {
	display: block;
	color: black;
	height: 100%;
	vertical-align: bottom;
	line-height: 0;
}

.tile a:hover {
}

.tile a:hover .text {
	opacity: 1;
}


/**
 * Homepage / info, kontakty
 */

#atelier {
	padding: 60px 0;
	width: 910px;
	margin: 0 auto;
	min-height: calc(100vh - 100px);
}

#atelier h1 {
	margin-bottom: 1ex;
	text-align: left;
}

#atelier p {
	margin: 0;
	line-height: 1.5;
	font-size: 12pt;
	text-align: left;
}

.contacts {
	margin-top: 100px;
	display: flex;
	justify-content: flex-start;
	gap: 80px;
	flex-wrap: wrap;
}

.contact h2 {
	text-align: left;
	font-size: 14pt;
	margin-bottom: 6px;
}


/**
 * Stránka projektu
 */

#project {
	width: 100%;
	margin: 0;
}

#project .main {
	width: 100%;
	height: 100svh;
	background-size: cover;
	background-position: center;
}

#project .text {
	width: 50%;
	margin: 0 auto;
	padding-top: 60px;
}

#project .text h1 {
	margin: 0 auto 20px;
	text-align: left;
}

#project .text h2 {
	margin: 0 auto 40px;
	text-align: left;
}

#project .text p {
	margin: 40px auto;
	font-size: 14pt;
}

#project .text ul {
	margin: 0 auto 40px;
	padding: 0 0 0 1em;
	font-size: 14pt;
}

#project .photos {
	margin-top: 80px;
}

#project .horizontal {
	width: 70%;
}

#project .vertical {
	width: 50%;
}

#project figure {
	margin: 0 auto 40px;
}

#project figure img {
	width: 100%;
}


/**
 * Spotlight - fullscreen galerie
 */

#spotlight {
	background-color: white;
}

#spotlight.white .spl-header,
.spl-prev,
.spl-next {
	background-color: transparent;
}

.spl-prev {
	left: 0px;
}

.spl-next {
	right: 0px;
}

.spl-header .spl-fullscreen {
	display: none;
}


/**
 * Responzivní
 */

@media (orientation: landscape) {
	#mask {
		width: 40vw;
		height: 20.7vw;
	}
}

@media (orientation: portrait) {
	#mask {
		width: 80vw;
		height: 41.4vw;
	}
}

@media only screen and (max-width: 960px) {
	.tile {
		width: calc(33.33% - 20px);
	}

	#atelier {
		width: 100%;
		padding: 60px 40px;
	}

	#project .text {
		width: 80%;
	}

	#project .horizontal {
		width: 90%;
	}

	#project .vertical {
		width: 70%;
	}
}

@media only screen and (max-width: 640px) {
	header {
		background: rgba(255, 255, 255, 1);
	}

	#main-menu {
		height: 60px;
		padding: 0 20px;
		font-size: 12pt;
		gap: 1.5em;
	}
	
	.home img {
		height: 40px;
	}

	.tile {
		width: calc(50% - 20px);
	}
	
	#projekty {
		padding-top: 60px;
	}
	
	.gallery {
		margin-top: 20px;
	}

	#project .text p,
	#project .text ul {
		font-size: 12pt;
	}
}

@media only screen and (max-width: 480px) {
	.tile {
		width: calc(100% - 20px);
	}
}

@media (hover: none) {
	.visible .text {
		opacity: 1;
	}
}
