@font-face {
	font-family: Open Sans;
	src: url(../fonts/opensans-regular.ttf) format("truetype"),
	url(../fonts/opensans-regular.svg) format("svg"),
	url(../fonts/opensans-regular.woff) format("woff"),
	url(../fonts/opensans-regular.woff2) format("woff2");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: Open Sans;
	src: url(../fonts/opensans-italic.ttf) format("truetype"),
	url(../fonts/opensans-italic.svg) format("svg"),
	url(../fonts/opensans-italic.woff) format("woff"),
	url(../fonts/opensans-italic.woff2) format("woff2");
	font-weight: normal;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: Open Sans;
	src: url(../fonts/opensans-semibold.ttf) format("truetype"),
	url(../fonts/opensans-semibold.svg) format("svg"),
	url(../fonts/opensans-semibold.woff) format("woff"),
	url(../fonts/opensans-semibold.woff2) format("woff2");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

:root {
    --background-light: #dedede;
    --background-dark: #121212;
    --background: var(--background-light);

    --text-light: #5a5a5a;
    --text-dark: #dedede;
    --text: var(--text-light);
    
    --navbar-background-light: #cecece;
    --navbar-background-dark: #000000;
    --navbar-background: var(--navbar-background-light);

    --navbar-perimeter-light: #bebebe;
    --navbar-perimeter-dark: #222222;
    --navbar-perimeter: var(--navbar-perimeter-light);

    --footer-background-light: #5a5a5a;
    --footer-background-dark: #000000;
    --footer-background: var(--footer-background-light);
    
    --company-blue: #0d74b0;
    
    --navbar-height: 60px;
}

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

body {
    background: var(--background);
    color: var(--text);
    font-family: Open Sans, sans-serif;
    margin: 0;
    padding: 0;
}

h1 {
	color: var(--company-blue);
	font-weight: normal;
	font-style: italic;
}

h2 {
	font-weight: normal;
	font-style: italic;
}

h3 {
	color: var(--company-blue);
	font-weight: normal;
	font-style: italic;
}

p {
	font-weight: normal;
}

a {
	color: var(--company-blue);
	text-decoration: none;
}

b {
	font-weight: 600;
	font-style: normal;
}

a:visited {
	text-decoration: underline;
}

/* styling for header with image */
.imageheader {
	width: 100%;
	height: 400px;
	position: relative;
	overflow: hidden;
}

.imageheader picture, .imageheader img {
    width: 100%;
	height: 100%;
	object-fit: cover;
}

.imageheader > div {
    height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.3) 80%);
}

.imageheader span {
    position: absolute;
	bottom: 0;
	margin-bottom: 20px;
    font-size: 2.5em;
    font-style: italic;
	text-shadow: 0 0 15px rgba(29, 29, 29, 1);
	color: #dedede;
}

.content {
    width: min(1000px, 90%);
    margin-left: auto;
    margin-right: auto;
}

.text-container {
    margin-bottom: 48px;
}

/* footer styling */
footer {
    background: var(--footer-background);
    color: #dedede;
    padding-top: 2em;
    padding-bottom: 1em;
    margin-top: 6em;
}

footer a {
    color: #dedede;
}

footer > .content {
    font-size: 0.8em;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr 1fr 1fr;
}

.footer-name {
    grid-row: 1 / span 1;
    grid-column: 1 / span 1;
}

.footer-address {
    grid-row: 2 / span 1;
    grid-column: 1 / span 1;
}

.footer-contact {
    grid-row: 3 / span 1;
    grid-column: 1 / span 1;
}

.footer-copyright {
    grid-row: 4 / span 1;
    grid-column: 1 / span 1;
    margin-top: 3em;
}

.footer-imprint {
    grid-row: 5 / span 1;
    grid-column: 1 / span 1;
    margin-top: 2em;
}

/* layout footer differently on bigger screens */
@media screen and (min-width: 680px) {
    footer > .content {
        font-size: 0.8em;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-rows: auto auto;
    }

    .footer-name {
        grid-row: 1 / span 1;
        grid-column: 1 / span 1;
    }
    
    .footer-address {
        grid-row: 1 / span 1;
        grid-column: 2 / span 1;
    }
    
    .footer-contact {
        grid-row: 1 / span 1;
        grid-column: 3 / span 1;
    }

    .footer-copyright {
        grid-row: 2 / span 1;
        grid-column: 1 / span 3;
        margin-top: 3em;
    }
    
    .footer-imprint {
        grid-row: 3 / span 1;
        grid-column: 1 / span 3;
        margin-top: 2em;
    }
}



@media screen and (prefers-color-scheme: dark) {
    :root {
        --background: var(--background-dark);
        --text: var(--text-dark);
        --navbar-background: var(--navbar-background-dark);
        --navbar-perimeter: var(--navbar-perimeter-dark);
        --footer-background: var(--footer-background-dark);
    }
}