*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
  font: inherit; /* Get rid of all font sizes and heights */
}

html {
  color-scheme: dark light; /* Default dark */
  hanging-punctuation: first last; /* Not supported in Chrome */
}

body {
  min-height: 100vh;
}

/* Media responsive */
img, picture, svg, video {
  display: block;
  max-width: 100%;
}

h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
}

p {
  max-width: 75ch;
  text-wrap: pretty; /* Prevents orphans on lines */
}

@media (prefers-reduced-motion: no-preference) {
  :has(:target) {
    scroll-behavior: smooth;
    scroll-padding-top: 2rem;
  }
}

@font-face {
	font-family: "Quicksand-Regular";
	src: url("../fonts/quicksand-regular-webfont.woff2") format("woff2");
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: "Quicksand-Light";
	src: url("../fonts/quicksand-light-webfont.woff2") format("woff2");
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: "Quicksand-Bold";
	src: url("../fonts/quicksand-bold-webfont.woff2") format("woff2");
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: "Bebas-Neue-Regular";
	src: url("../fonts/bebasneue-regular-webfont.woff2") format("woff2");
	font-weight: normal;
	font-style: normal;
}

:root {
--fontface-hero: "Bebas-Neue-Regular";
  --fontface-regular: "Quicksand-Light";
  --fontface-light: "Quicksand-Light";
  --fontface-bold: "Quicksand-Regular";
  --fontface-bolder: "Quicksand-Bold";

  --font-hero: clamp(3.125rem, 2.5795rem + 2.7273vw, 6.875rem); /* 50 - 110px */
  --font-headline: clamp(1.625rem, 1.2rem + 2.125vw, 3.75rem); /* 26 - 60px */
  --font-headline-small: clamp(1.5rem, 1.3rem + 1vw, 2.5rem); /* 24 - 40px */
  --font-text :clamp(1.375rem, 1.25rem + 0.625vw, 2rem); /* 22 - 32px */
  --font-text-small: clamp(1.125rem, 1.075rem + 0.25vw, 1.375rem); /* 18 - 22px */ 

  --padder: clamp(1.5rem, 1.2rem + 1.5vw, 3rem);

  --clr-schwarz: #222222;
  --clr-weiss: #FFFFFF;  
  --clr-blue: #404177;
  --clr-lila: #59394e;
  --clr-bronze: #977a40;  
}

@media (max-width: 700px) {
	:root {
  	--fontface-regular: "Quicksand-Regular";
  	--fontface-bold: "Quicksand-Bold";
	}
}

body {
    font-family: var(--fontface-regular);
    font-size: var(--font-text);
    background-color: #F0E9D6;
    color: var(--clr-schwarz);
}

a {
	color: inherit;
	text-underline-offset: .4em;
	line-height: 1.5;
}

/* Hero */

.hero {
	min-height: 100svh;
	background-size: cover;
	padding: var(--padder);
	position: relative;
}

.logo {
	max-width: 200px;
	display: block;
	text-align: center;
	text-decoration: none;
}

.logoclaim {
	font-size: 16px;
	margin-top: 5px;
	display: block;
	color: var(--clr-weiss);
	font-family: var(--fontface-bold);
}

.hero.imprint {
	min-height: calc(8*var(--padder));
	background-color: var(--clr-bronze);
}



@media (max-width: 700px) {

	.hero.imprint {
	min-height: calc(10*var(--padder));
	}

	.logoclaim {
		font-family: var(--fontface-regular);
	}
}

.langswitch {
	position: absolute;
	right: var(--padder);
	top: var(--padder);
	background-color: var(--clr-weiss);
	padding: calc(.25*var(--padder));
	border-radius: 100%;
	font-size: 14px;
	font-weight: bold;
	text-decoration: none;
	transition: .3s;
	aspect-ratio: 1/1;
	display: grid;
	align-content: center;
}

.langswitch:hover {
	scale: 1.1;
	background-color: var(--clr-blue);
	color: var(--clr-weiss);
}

.claim {
	position: absolute;
	bottom: calc(30px + var(--padder));
	width: calc(100% - 2*var(--padder));
	text-align: left;
}


@media (orientation: landscape) and (max-width: 810px) {
	.claim {
		position: relative;
		bottom: 0;
		margin-top: var(--padder);
	}
}


.dropdown {
	position: absolute;
	inset: calc(100% - 1.5 * var(--padder)) 0;
	margin: auto;
	display: block;
	width: 100%;
	text-align: center;
	font-size: var(--font-headline);
	text-decoration: none;
}

.dropdown img {
	width: 70px;
	margin: auto;
}

h1 {
    font-family: var(--fontface-bold);
	font-size: var(--font-headline);
	color: var(--clr-weiss);
	margin-bottom: 1em;
	text-transform: uppercase;
}

.hero h1 {
	font-family: var(--fontface-hero);
	font-size: var(--font-hero);
	text-shadow: 0.02em 0.02em 0em #000;
	max-width: 1480px;
	margin: auto;
}

h2 {
	font-family: var(--fontface-bold);
	font-size: var(--font-headline-small);
	margin-bottom: 1em;
}

h3 {
	font-family: var(--fontface-bolder);
	text-wrap: auto;
	margin-bottom: .2em;
}

li h3 {
	margin-top: calc(.75*var(--padder));
}

p {
	max-width: 50ch;
	text-wrap: pretty;
	padding-bottom: calc(.5*var(--padder));
}

p + h2 {
	margin-top: calc(2*var(--padder));
}

p + h3 {
	margin-top: var(--padder);
}

/* Main */

main {
	scroll-margin-top: calc(-1.5*var(--padder));
}

.container {
    max-width: 1920px;
    padding: var(--padder);
}

.container.full {
	width: 100%;
	max-width: 100%;
	padding: var(--padder) 0;
}

.container.full.blue {
	background-color: var(--clr-blue);
	color: var(--clr-weiss);
}

.container.full.bronze {
	background-color: var(--clr-bronze);
	color: var(--clr-weiss);
}

.container.small {
	max-width: 1080px;
	margin: auto;
}

.container.medium {
	max-width: 1480px;
	margin: auto;
}

.grid.g-2 {
	display: grid;
	grid-template-columns: 2fr 1.25fr;
	gap: var(--padder);
}

@media (max-width: 700px) {
    .grid.g-2 {
        grid-template-columns: 1fr;
    }
}

main ul {
	padding-left: 1rem;
	max-width: 35ch;
}

main li {
	padding-left: .5rem;
	padding-bottom: .5rem;
}

main li::marker {
	content: '–';
}



/* Footer */

footer {
	padding: var(--padder);
	background-color: var(--clr-lila);
	color: var(--clr-weiss);
	font-size: var(--font-text-small);
}

footer h2 {
	margin-bottom: .5em;
}

.linkedin {
	display: block;
	width: 200px;
	height: 44px;
}

.linkedin img {
	height: 34px;
	display: block;
	width: auto;
    transition: .3s;
}

.linkedin:hover img {
	height: 36px;
}

footer nav {
	padding-inline: var(--padder);
}

footer nav ul {
	display: flex;
	gap: var(--padder);
	list-style: none;
	font-size: 16px;
}

.container.copyright p {
	font-size: 16px;
}