@charset "UTF-8";

@font-face {
	font-family: "LacrimaSenzaWEB-Regular";
	src: url("LacrimaSenzaWEB-Regular.woff2") format("woff2"),
		url("LacrimaSenzaWEB-Regular.woff") format("woff");
	font-weight: normal;
}

@font-face {
	font-family: "LacrimaSenzaWEB-Light";
	src: url("LacrimaSenzaWEB-Light.woff2") format("woff2"),
		url("LacrimaSenzaWEB-Light.woff") format("woff");
}

@font-face {
	font-family: "LacrimaItalicWEB-Light";
	src: url("LacrimaItalicWEB-Light.woff2") format("woff2"),
		url("LacrimaItalicWEB-Light.woff") format("woff");
}

*,
*::before,
*::after {
	padding: 0;
	margin: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-moz-text-size-adjust: none;
	-ms-text-size-adjust: none;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	min-height: 0vw;
	/* ohne berechnet safari die schriftgrösse nur nach reload, anstatt dynamisch */
	font-weight: normal;
	/* theoretisch nicht nötig dies zu deklarieren und gehört eigentlich zu @font-face. light wird aber zu fett dargestellt, wenn dies nicht hier deklariert ist  */
}

/* 
----------------------------------------
	scrollverhalten
----------------------------------------
*/

.scrolling {
	-webkit-overflow-scrolling: touch;
	/* enables momentum scrolling on ios */
	-ms-overflow-style: none;
	/* hides scrollbar on internet explorer 10+ */
	scrollbar-width: none;
	/* hides scrollbar on firefox */
}

.scrolling::-webkit-scrollbar {
	display: none;
	/* hides scrollbar on safari and chrome */
}

.scrolling::-webkit-scrollbar-thumb {
	display: none;
	/* hides scrollbar on safari on ios */
}

/* 
---------------------------------------- 
	farben
	grau nicht auf der startseite verwenden
----------------------------------------
*/

.random-bc {
	background-color: #93ece9;
}

.turquoise {
	background-color: #93ece9;
}

.violet {
	background-color: #bed2ff;
}

.salmon {
	background-color: #ffc8b4;
}

.yellow {
	background-color: #ffed84;
}

.grey {
	background-color: #e1e1e1;
}

/* 
---------------------------------------- 
	links
----------------------------------------
*/

a:link,
a:visited {
	color: black;
	text-decoration: none;
}

a:hover,
a:active {
	color: black;
	text-decoration: none;
}

.content a:link,
.content a:visited {
	font-family: "LacrimaSenzaWEB-Regular", "Courier New", Courier, monospace;
	text-decoration: underline;
	-webkit-text-decoration-color: white;
	text-decoration-color: white;
}

.content a:hover,
.content a:active {
	text-decoration: underline;
	-webkit-text-decoration-color: black;
	text-decoration-color: black;
}

/* 
---------------------------------------- 
	links ab 1:1
----------------------------------------
*/

@media screen and (min-aspect-ratio: 1/1) {

	a:link,
	a:visited {
		color: black;
		text-decoration: none;
	}

	a:hover,
	a:active {
		color: black;
		text-decoration: none;
		font-family: "LacrimaItalicWEB-Light", "Courier New", Courier, monospace;
	}
}

/* 
---------------------------------------- 
	schrift
----------------------------------------
*/

h1 {
	font-family: "LacrimaItalicWEB-Light", "Courier New", Courier, monospace;
	font-size: 2rem;
	line-height: 1;
	/* nur nötig, damit firefox richtig rechnet */
}

html,
h2,
h3 {
	font-family: "LacrimaSenzaWEB-Regular", "Courier New", Courier, monospace;
	font-size: calc(100vw / 25);
	line-height: 1.25;
}

.label,
.label-narrow,
.nav,
.nav-narrow,
.quote {
	font-family: "LacrimaSenzaWEB-Light", "Courier New", Courier, monospace;
	font-size: 2rem;
	line-height: 1;
}

/* 
---------------------------------------- 
	schrift ab 1:1
----------------------------------------
*/

@media screen and (min-aspect-ratio: 1/1) {

	h1 {
		font-family: "LacrimaSenzaWEB-Light", "Courier New", Courier, monospace;
	}

	html,
	h2,
	h3 {
		font-size: calc(100vh / 67.5);
	}

	h1,
	.label,
	.label-narrow,
	.nav,
	.nav-narrow,
	.quote {
		font-size: 3rem;
	}
}

/* 
---------------------------------------- 
	schrift ab 3:2
----------------------------------------
*/

@media screen and (min-aspect-ratio: 3/2) {

	html,
	h2,
	h3 {
		font-size: calc(100vh / 45);
	}
}

/* 
---------------------------------------- 
	rotation

	bringt orientierung durcheinander:
	top/botton left/right sind je nach dem vertauscht
----------------------------------------
*/

.rotated {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
	white-space: nowrap;
	overflow: visible;
}

/* 
---------------------------------------- 
	zitate
----------------------------------------
*/

#quote-b {
	display: none;
}

#quote-c {
	display: none;
}

#quote-d {
	display: none;
}


/* 
---------------------------------------- 
	rest
----------------------------------------
*/

.label,
.nav {
	display: none;
}

.label-narrow {
	position: fixed;
	right: 0;
	top: 0;
	margin: 1.25rem;
}

.sandwich {
	position: fixed;
	right: 0;
	bottom: 0;
	padding: 5rem 0;
	margin: 0 1rem 0 0;
}

.sandwich:hover {
	cursor: pointer;
}

.sandwich-line {
	width: 0.6rem;
	height: 5rem;
	border-right: 0.1rem solid;
}

#nav-container {
	display: none;
}

.nav-container {
	position: fixed;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	right: 0;
	bottom: 0;
	height: 100%;
	width: 21rem;
	padding-bottom: 5rem;
	padding-right: 1.5rem;
	padding-left: 1.5rem;
	background-color: white;
}

.nav-narrow-line {
	padding-left: 0.5rem;
	border-left: 0.1rem solid;
}

.cross-container {
	position: relative;
}

.cross-container:hover {
	cursor: pointer;
}

.cross {
	width: 2rem;
	height: 2rem;
	margin: 0 2rem 0 0;
}

.cross:before,
.cross:after {
	content: '';
	position: absolute;
	/* greift nur, wenn elternelement-position nicht static */
	top: -0.414rem;
	/* hälfte von: linienlänge minus kreuzbreite */
	left: 0.95rem;
	/* halbe kreuzbreite minus halbe linienstärke
	rückt das kreuz in die vertikale mitte */
	height: 2.828rem;
	/* satz des pythagoras */
	width: 0.1rem;
	/* liniendicke */
	background-color: black;
	/* linienfarbe */
}

.cross:before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.cross:after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.content {
	min-height: 100vh;
	margin-right: 4.25rem;
	padding: 1.25rem 1.5rem 0 1.5rem;
}

.content-last {
	padding-bottom: 15rem;
}

h2:not(:first-child) {
	padding-top: 1.25rem;
}

h2,
p,
.list {
	padding-bottom: 1.25rem;
}

h3 {
	text-indent: 2rem;
}

.titel-line {
	padding-bottom: 0.075rem;
	border-bottom: 0.075rem solid;
}

.list-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.list-item div:first-child {
	padding-right: 0.5rem;
}

/* 
---------------------------------------- 
	rest ab 1:1
----------------------------------------
*/

@media screen and (min-aspect-ratio: 1/1) {

	.label-narrow,
	.sandwich,
	.nav-box {
		display: none;
	}

	.container {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		height: 100vh;
		/* damit nur text-spalte scrollt */
		margin-left: 1.5rem
	}

	.label,
	.nav {
		display: block;
		width: 3.625rem;
		/* wenn nicht definiert, rechnet safari breite des .content nicht richtig */
		padding-left: 0.65rem;
		/* 0.5rem plus linienstärke 0.15rem */
		padding-top: 5rem;
		margin-right: 1.5rem;
		margin-left: -1px;
		/* verhindert lücke (wegen rundungen) zwischen text und seitentitel */
	}

	.nav-line {
		padding-left: 0.5rem;
		border-left: 0.15rem solid;
	}

	.right {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}

	.content {
		overflow: scroll;
		width: 32rem;
		margin-right: 0;
		padding: 1.25rem 5rem 0 1.5rem;
		/* wegen firefox margin-bottom dem letzten element innerhalb .content mitgeben (problem wegen 100vh) */
	}

	.content-last {
		padding-bottom: 5rem;
	}
}

/* 
---------------------------------------- 
	nav-linie ab 3:2
----------------------------------------
*/

@media screen and (min-aspect-ratio: 3/2) {

	.label,
	.nav {
		padding-left: 0.625rem;
	}

	.nav-line {
		padding-left: 0.5rem;
		border-left: 0.125rem solid;
	}
}
