@font-face { font-family:'Cadiz'; src: url('../fonts/CadizWeb-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; }

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

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-height: 100vh; -webkit-font-smoothing: antialiased; }

::selection {
  background-color: black;
  color: #f0cdcd;
}

/* - - - - - - - - - - - - - */


body {
	background-color: #f0cdcd;
	font-family: 'Cadiz', sans-serif;
	font-weight: 400;
	font-size: 28px;
	line-height: 1.15;
	font-feature-settings: 'tnum', 'ss01', 'ss05';
	padding: 2.5vw;
}
h2, h3 {
	font-size: 16px;
	margin: 0;
	font-weight: 400;
	text-indent: 2.5vw;
}
a {
	color: inherit;
	position: relative;
	text-decoration: none;
	transition: background-color 0.3s ease, color 0.3s ease;
	z-index: 1;
}
a::before {
	content: "";
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: black;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.3s ease-out;
}
a::before { bottom: 0; }
a:hover { color: #000; }
a:hover::before { transform: scaleX(1); }

.visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}


/* - - - - - - - - - - - - - */

header { margin-bottom: 5vw; }
header article:nth-child(2) { padding-top: 5vw; }

section { margin-bottom: 2.5vw; }
section:last-child { margin-bottom: 0; padding-top: 2.5vw; }

.logo img { max-width: 407px; }

article {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2.5vw;
}
article p { padding-bottom: 1.15em; }
article p:last-child { padding-bottom: 0; }

.header { font-size: 22px; }
.small {
	font-size: 16px;
	text-indent: 2.5vw;
	padding-bottom: 0px;
}

p:has(+ .small) {  padding-bottom: 0; }

.picture { grid-column: span 2; }

.impressum p {
	font-size: 16px;
	padding-bottom: 0px;
}

article.first div img {
	width: 100%;
	object-fit: cover;
	mix-blend-mode: multiply;
	height: 70vh;
	min-height: 100%;
}

figcaption {
	font-size: 10px;
	text-indent: 2.5vw;
}

footer { padding-top: 2.5vw; }


/* - - - - - - - - - - - - - */


@media (max-width: 1280px) {
	article { grid-template-columns: repeat(2, 1fr); }
	article.linksoderrechts { grid-template-areas: "links rechts1" "links rechts2"; }
	.links { grid-area: links; }
	.rechts1 { grid-area: rechts1; }
	.rechts2 { grid-area: rechts2; }
	article.order { grid-template-areas: "left1 right" "left2 right"; }
	.one { grid-area: left1; }
	.two { grid-area: right; }
	.three { grid-area: left2; }
	article.header div:last-child { display: none; }
	.picture { grid-column: span 1; }
}
@media (max-width: 720px) {
	body { padding: 5vw; }
	header { margin-bottom: 7.5vw; }
	header article:nth-child(2) { padding-top: 7.5vw; }
	section { margin-bottom: 5vw; }
	section:last-child { padding-top: 5vw; }
	article { grid-template-columns: repeat(1, 1fr); gap: 5vw; }
	article.linksoderrechts { grid-template-areas: none; }
	.links, .rechts1, .rechts2 { grid-area: auto; }
	article.order { grid-template-areas: none; }
	.one, .two, .three { grid-area: auto; }
	h2, h3, .small, figcaption { text-indent: 5vw; }
	article.first div img { height: 50vh; }
	article.header div:nth-child(2) { display: none; }
	footer { padding-top: 5vw; }
}
@media (max-width: 575px), (720px <= width <= 1080px), (1280px <= width <= 1560px) {
	body { font-size: 22px; }
	h2, h3 {  font-size: 14px; }
	.impressum p { font-size: 14px; }
	.small { font-size: 14px; }
	.header { font-size: 20px; }
}

