:root {
	--yellow: rgba(247, 244, 230, 1);
	--grey: rgba(128, 124, 121, 1);
	--brown: rgba(117, 93, 70, 1);
	--dgrey: rgba(86, 82, 82, 1);
}

html {
	font-size: 20px;
}

body {
	font-family: 'Overpass',sans-serif;
	font-weight: 400;
	line-height: 1.2;
	padding: 0;
	color: var(--grey);
	background-color: var(--yellow);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

main {
	min-height: 100vh;
}

a {
	-webkit-tap-highlight-color: transparent;
	text-underline-offset: 0.2em;
	color: inherit;
}

a:hover,
a.active {
	color: inherit;
}

.page-header,
.text-section {
	padding: 1.8em 1.8em 1.8em 2.2em;
}

.text-section p:last-child,
.text-section ul:last-child {
	margin-bottom: 0;
}

.page-header h1 {
	margin: 0 0 -0.2em 0;
	padding: 0;
}

.columns .text-section {
	border-top: 1px solid var(--dgrey);
}

.main-columns section:nth-child(2) {
	border-top: none;
}

.about-columns section:nth-child(1) {
	border-top: none;
	padding-top: 0;
}


.text-section h2 {
	font-weight: 700;
}

.text-section ul {
	list-style: none;
	margin-left: 1.4em;
}

.text-section li {
	position: relative;
}

.text-section ul li::before {
  content: '';
  display: block;
  position: absolute;
  top: 0.33em;
  left: -0.9em;
  background-color: var(--grey);
  width: 0.25em;
  height: 0.25em;
  border-radius: 0.25em;
}

.underline {
	text-decoration: underline;
	text-underline-offset: 0.2em;
	text-decoration-thickness: 0.06em;
}

.portrait-foto {
	mix-blend-mode: multiply;
}

.signup-cols {
	display:flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
	margin-top: 2em;
}

.signup-button {
	display:inline-block;
	padding: 0.9em 1.4em 0.7em 1.4em;
	font-size: 0.75em;
	line-height: 1;
	text-transform: uppercase;
	font-weight: 700;
	border: 1px solid;
	white-space: nowrap;
}

.signup-button:hover {
	color: var(--yellow);
	background-color: var(--grey);
	border-color: var(--grey);
}

.zitat-block,
.kontakt-block{
	text-align: center;
	background-color: var(--brown);
	color: var(--yellow);
	padding: 4.2em 1.5em 3.8em 1.5em;
}

.zitat-block cite {
	opacity: 0.5;
}

.columns-title {
	padding: 3em 1.8em 0.8em 2.2em;
	max-width: 1200px;
	margin: 0 auto;
}

.kontakt-block {
	padding: 1.8em;
}


.kontakt-button {
	display:inline-block;
	padding: 0.9em 1.8em 0.7em 1.8em;
	font-size: 0.8em;
	line-height: 1;
	text-transform: uppercase;
	border: 1px solid var(--yellow);
	white-space: nowrap;
}

.kontakt-button:hover {
	background-color: var(--yellow);
	color: var(--brown);
	border-color: var(--yellow);
}

.page-footer {
	text-align: center;
	padding: 1.5em;
}

.page-footer p:last-child {
	margin-bottom: 0;
}



/* tablet + desktop */
@media only screen and (min-width: 800px) {
	
	:root {
		--colgap: 1em;
	}
	
	
	.page-header,
	.text-section {
		padding: 1.7em 0 0 0;
	}
	

	.main-columns section:nth-child(2) {
		padding-top: 0;
	}

	.about-columns section:nth-child(1),
	.about-columns section:nth-child(2) {
		border-top: none;
		padding-top: 0;
	}

	
	.page-header {
		padding: 3em 0 0 2em;
		max-width: 1200px;
		margin: 0 auto -1em auto;
	}

	.columns {
		display:flex;
		flex-direction: row;
		align-items: flex-start;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: var(--colgap);
		max-width: 1200px;
		margin: 0 auto;
		padding: 2em;
	}
	
	.columns section {
		flex-basis: calc(50% - var(--colgap));
		margin-bottom: 0.5em;
	}
	
	.columns-title {
		padding: 3em 0 0 2em;
	}
	
	.zitat-block,
	.kontakt-block {
		margin-top: 1.2em;
	}
	
	
}

/* desktop + */
@media only screen and (min-width: 1200px) {
	:root {
		--colgap: 2.4em;
	}
	
	.page-header {
		padding-top: 4em;
	}
	
	.signup-button {
		padding: 1.2em 4em 1em 4em;
		font-size: 0.8em;
	}
	
	.columns section {
		margin-bottom: 0;
	}
	
	
	.zitat-block,
	.kontakt-block {
		margin-top: 2em;
	}
	
	.kontakt-block {
		padding: 2em;
	}
	
}