
@font-face {
	font-family: 'iso-r';
	src: url('../fonts/ISOv0.6-Regular.woff') format("woff");
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'm-s';
	src: url('../fonts/UntitledSansWeb-Regular.woff') format("woff");
	font-weight: normal;
	font-style: normal;
}

:root {
	--type-1: 'm-s';
	--type-2: 'm-s';
	font-family: 'm-s';
}

.mask {
	position: absolute;
	top: 10%;
	bottom: 10%;
	left: 10%;
	right: 10%;
	z-index: 101;
	mix-blend-mode: exclusion;
	object-fit: cover;
	transition: opacity 1s ease-in-out;
}

@media (max-width: 510px) {
	.mask {
		top: 15%;
		bottom: 15%;	
		left: 15%;
		right: 15%;
	}	
}

body, html {
	margin: 0;
	padding: 0;
	overflow: hidden;
	font-family: 'm-s';
}

.image-container {
	height: 100vh;
	width: 100vw;
	position: relative;
}

.background-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 1s ease-in-out;
}

.text {
	color: white;
}
.textbox {
	padding: 1em;
	grid-column: span 2; 
}

.title {
	position: fixed;
	top: 0;
	padding: 1rem;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	z-index: 100;
	gap: 0.5rem;
}

.grid-container {
	height: 100vh;
	width: 100vw;
	display: grid;
	grid-template-rows: auto;
	gap: 0px;
	box-sizing: border-box;
	overflow: auto;
}

ul.text-grid {
	position: fixed;
	display: flex;
	flex-direction: column;
	list-style: none;
	padding: 0;
	margin: 0;
	top: 2.3rem;
	  left: 0.8rem;
	color: white;
}

ul#textList {
	z-index: 102;
}
ul#textList li {
	flex: 1;
	font-size: clamp(1rem, 5cqmin, 5rem);
}

.grid-cell:hover .grid-cell::pre {
	position: inherit;
	display: block;
		width: 100%;
		height: 2px;
		background-color: black;
		transform: rotate(45deg);
}
.grid-cell.empty {
	display: flex;
	align-items: center;
	justify-content: center;
	background: color: #b3f;
	font-size: 1rem;
}

.grid-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 0.5s ease-in-out;
	animation-name: enlarge;
	animation-duration: 3s; 
	animation-direction: alternate-reverse;
	animation-iteration-count: infinite;
}

.loading {
	background: color(display-p3 0.163 0.553 1);
	background-size: 200% 200%;
	animation: loading 3s ease-in-out infinite;
}

.fade-out {
	opacity: 0;
	transition: all 8s ease-in-out ;
}

.fade-in {
	opacity: 1;
	transition: all 2s ease-in-out ;
}

@keyframes loading {
	0% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}


@media (max-width: 450px) {
	.textbox {
		grid-column: 1 / -1;
	}
}

/*WRAPPER */
.wrapper {
	width: 100%;
}

.wrapper-left {
	grid-column: 1 / span 3;
	/*padding: 1em;*/
}
.wrapper-right {
	grid-column: 4 / span 3;
	/*padding: 1em;*/
}
	
.img-wrapper-1 {
	height: inherit;
	grid-area: image-1;
	overflow: hidden;
}
.img-wrapper-2 {
	height: 400px;
	grid-area: image-2;
	object-fit: cover;
	overflow: hidden;
	background-color: #e5821a;
}
.img-wrapper-3 {
	height: 400px;
	grid-area: image-3;
	object-fit: cover;
	overflow: hidden;
}

.img-wrapper-1 > img,
.img-wrapper-2 > img,
.img-wrapper-3 > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* FOOTER */

footer {
	position: fixed;
	bottom: 0;
}
footer img {
	position: relative;
	bottom: 1rem;
	left: 1rem;
	height: 80px;
	position: relative;
}
footer div {
	position: relative;
	bottom: 1rem;
	right: 1rem;
	padding: 1rem;
	font-size: 1.5rem;
}

/* TYPE */

h1 {
	font-size: 1em;
	font-family: var(--type-1);
	font-weight: normal;
	/*color: black;*/
	margin: 0;
	z-index: 100;
}

@media (max-width: 450px) {
	h1 {
		line-height: 1;
	}
}

@media (min-width: 451px) and (max-width: 640px) {
	h1 {
		line-height: 1;
	}
}

h1, h2 {
	margin: 0;
	padding: 0;
	font-weight: normal;
}

h2 {
	font-size: 1em;
	font-weight: normal;
	font-family: var(--type-2);
}

ol {
	font-family: var(--type-1);
}

ol a {
	color: grey;
	text-decoration: underline;
}
ol a:hover {
	color: orange;
}
ol a {
	color: grey;
	text-decoration: line-through;
}

.meta {
	font-family: var(--type-1);
	grid-column: 1 / span 2;
	font-size: 0.875em;
	margin: 1em 0;
}

.bilderrahmen-3-z {
	grid-column: 2 / span 3;
	grid-row: auto;
	height: 60vh;
	background-image: url("../imgs/2016-05-23 17.52.13.jpg");
	background-size: contain;
	background-blend-mode: multiply;
	background-repeat: no-repeat;
	/*border: 1vw solid blue;*/
}
.bilderrahmen-2 {
	grid-column: -1 / -;
	height: 60vh;
	background-color: blueviolet;
	background-image: url("../imgs/IMG_3165-1.JPG");
	background-size: cover;
	filter: lighten(1);
	background-repeat: no-repeat;
	/*border: 1vw solid blue;*/
}
.bilderrahmen {
	grid-column: 1 / span 2;
	height: 50vh;
	background-color: rgb(144, 173, 38);
	background-image: url("../imgs/2016-05-23 17.52.13.jpg");
	background-size: cover;
	background-blend-mode: lighten;
	background-repeat: no-repeat;
	/*border: 1vw solid blue;*/
}

.img-wrapper {
	grid-column: 1 / -1;
	object-fit: contain;
	/*width: 50%;*/
	height: 100vh;
}
.img-wrapper img {
	max-width: 100%;
	height: auto;
}
.img-wrapper .half {
	width: 50%;
}
.rotate-cw-45 {
	transform: rotate(45deg);
}
.entrance > a {
 width: 100%;
 height: 20vh;
 text-align: right;
 font-size: 1em;
 text-decoration: none;
 color: cadetblue;
}



.image-r-big {
	grid-column: 2 / span 2;
	grid-row: auto;
}

.gs {
	filter: grayscale(1)
}
.bmm {
	mix-blend-mode: multiply;
}
.small {
	font-size: 0.75rem;
}

.d-flex-between {
	display: flex;
	justify-conten: space-between;
	flex-wrap: wrap;
}
.gitter {
	border: 1px solid whitesmoke;
	display: flex;
}
.gitter div:not(:last-of-type) {
	padding: 0.25rem 1rem;
	border-right: 1px solid whitesmoke;
}

.rotate-90-cw {
	transform: rotate(90deg);
}

.box {
	width: 8px;
	height: 8px;
	border: 4px solid white;
	z-index: 100;
}
.circle {
	border-radius: 100%;
	z-index: 100;
}

.label {
	position: absolute;
	top: 50%;
	right: -1rem;
	width: auto;
	display: inline-block;
	z-index: 100;
}

@keyframes trip {
	0% {
		background-color: #3c0c0c;
	}
	25% {
		background-color: #e19dd4;
	}
	50% {
		background-color: #FFA500;
	}
	75% {
		background-color: #a2c80d;
	}
	100% {
		background-color: #041f33;
	}
}

.trippin {
	animation-name: trip;
	animation-duration: 12s; 
	animation-direction: alternate-reverse;
	animation-iteration-count: infinite;
}


@keyframes enlarge  {
		0% {
			opacity: 0%;
		}
		80% {
			opacity: 70%;
		}
		100% {
			opacity: 100%;
		}
	}
}

