html, body {
    height: 100%;
}

body {
    font-family: "Open Sans", "Calibri", "Helvetica", sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

h1 {
    font-weight: 200;
    color: #dc0d0d;
    margin: 0
}

h2 {
    font-weight: 200;
    color: #777;
    margin: 0 0 1.25rem 0;
}

main {
    display: flex;
    align-items: center;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 0 25px 0 rgba(0, 0, 0, .1);
}

body.privacy {
    height: auto;
    align-items: normal;
    padding: 2em 0;
    line-height: 1.5;
    text-align: justify;
}

body.privacy h1,
body.privacy h2 {
    line-height: 1.25;
}

body.privacy > main {
    max-width: 800px;
}

main.padded > div {
    box-sizing: border-box;
    padding: .5em 1.5em;
}

main > figure {
    margin: 0 1.25em 0 0;
    line-height: 0;
}

main > figure > img {
    height: 12.5em;
}

main > div {
    padding-right: 1.5em;
}

main > div > p {
    margin-bottom: 0;
}

.email {
    height: 1.125em;
}

.imprint-heading {
    margin: 1rem 0 0 0;
}

body.privacy .imprint-heading {
    margin-bottom: .25rem;
}

.imprint-heading + p {
    margin-top: 0;
}

footer {
    position: fixed;
    bottom: .5em;
    right: .5em;
    font-size: .85em;
}

footer > a {
    color: #777;
    text-decoration: none;
}

b {
    font-weight: 500;
}

ul {
    margin-top: 0;
    padding-left: 1em;
}

ul > li {
    margin-bottom: .5em;
}

.c-line {
    display: inline-flex;
    align-items: center;
    gap: .125em;
}

@font-face {
    font-family: "Open Sans";
    font-weight: normal;
    src: url("/resources/assets/fonts/open-sans/OpenSans-Regular.ttf") format("truetype");
}

@font-face {
    font-family: "Open Sans";
    font-weight: 200;
    src: url("/resources/assets/fonts/open-sans/OpenSans-Light.ttf") format("truetype");
}

@font-face {
    font-family: "Open Sans";
    font-weight: 500;
    src: url("/resources/assets/fonts/open-sans/OpenSans-Medium.ttf") format("truetype");
}

@media only screen and (orientation: portrait) {
    main {
        align-items: normal;
        flex-direction: column;
        box-shadow: 0 0 25px 0 rgba(0, 0, 0, .125);

        width: 95%;
    }

    main > figure {
        margin-right: 0;
    }

    main > figure > img {
        height: unset;
        width: 100%;
    }

    main > div {
        box-sizing: border-box;
        padding: .5em 1.5em;
    }
}