/* lato-light - latin */
@font-face {
    font-family: "Rock Salt";
    font-style: normal;
    font-weight: 400;
    src: local("Rock Salt Regular"), local("Rock Salt Regular"), url("/css/fonts/Rock_Salt/RockSalt-Regular.ttf") format("truetype");
}


@font-face {
    font-family: "Lato";
    font-style: normal;
    font-weight: 400;
    src: local("Lato Regular"), local("Lato-Regular"), url("/css/fonts/Lato/Lato-Regular.ttf") format("truetype");
}

/* variables __________________________________ */
:root {
    --primary-color: #297037;
    --primary-color--text: white;
    --primary-color--contrast-text: #909090;
    --primary-color--dark: #909090;
    --primary-color--light: white;


    --secondary-color: #6bb42c;
    --secondary-color--text: white;
    --secondary-color--light: #dadada;
    --secondary-color--contrast-text: var(--primary-color);

    --gray: #272727;
    --gray--text: inherit;

    --body--color: var(--primary-color--contrast-text);
    --body--background: white;

    /* body-header */
    --body__header--background: var(--body--background);

    /* main-nav */
    --main-nav--color: var(--secondary-color--contrast-text);
    --main-nav--background: var(--secondary-color);

    /* breakpoints */
    --breakpoint--small: 533px;
    --breakpoint--medium: 900px;


    /* tables */

    --table--color: inherit;
    --table--background: transparent;

    --table--accent-color: inherit;
    --table--accent-background: var(--secondary-color--light);

    --table__header--color: var(--secondary-color--contrast-text);
    --table__header--background: var(--secondary-color);


    /* body--login */

    --body--login-color: var(--secondary-color--contrast-text);
    --body--login-background: var(--secondary-color);

    --body--login__button-color: var(--secondary-color);
    --body--login__button-background: var(--secondary-color--contrast-text);

    --button-primary--bg-color: #43882D;
    --button-primary--color: white;

    /* breakpoints */
    --small: 533px;
    --medium: 900px;
    --large: 992px;
}

/* imports __________________________________ */




/* General __________________________________ */
/* Template und Componenten übergreifendes css */


html {
    font-family: 'Lato', sans-serif;
}

/* Viewport width font sizing */

body {
    position: relative;
    margin: 0;
    background-color: var(--body--background);
    color: #3d3d3d;
    /* background-image: url(/assets/background.jpg);
    background-repeat: no-repeat;
    background-size: 600px auto;
    background-position: calc(100dvw - 600px) 0; */
}

body:before {
    content: ' ';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    background-image: url(/assets/background.jpg);
    background-repeat: no-repeat;
    background-position: 0 30dvh;
    background-size: 100% auto;
    z-index: -1;
}

@media screen and (min-width: 534px) {
    body:before {
        background-position: clamp(100%, calc(100dvw - 984px), 50%) 0;
        background-size: clamp(calc(100dvw - 984px), 50%, 100%) auto;
    }
}

@media screen {
    body {
        color: var(--body--color);
    }
}

main {
    padding: 1em;
}

@media screen and (min-width: 534px) {
    main {
        padding: 2em calc((100 / 20) * 1em);
    }
}

* {
    box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin-top: 0;
}

p,
li {
    line-height: 1.4em;
}

a {
    text-decoration: none;
    color: inherit;
}

figure {
    margin: 0;
}

.figure__image {
    width: 100%;
}



/* typo __________________________________ */
em {
    font-size: 2em;
    font-style: normal;
    font-weight: 700;
}

strong {
    font-weight: 700;
}

strong strong {
    font-weight: 900;
}


@media screen and (min-width: 534px) {
    .headline {
        font-size: calc((60 / 20) * 1em);
        font-weight: 900;
        margin-bottom: 0.5em;
    }

    .text-box {
        font-size: calc((24 / 20) * 1em);
    }
}

.text-box {
    max-width: calc((594 / 20) * 1em);
    /* padding: 0 1rem; */
    /* margin: 0 auto; */
    margin-bottom: 2.5rem;
}

.headline {
    color: var(--primary-color);
    display: block;
}



/* form __________________________________ */


@media (min-width: 534px) {
    .form {
        /* max-width: calc((896 / 20) * 1em); */
        margin: 0 auto;
    }
}


.logo {
    margin-bottom: 2em;
}

.logo figcaption {
    transform: rotate(-3deg);
    font-family: 'Rock Salt', cursive;
    color: var(--primary-color);
}

@media screen {
    .logo figcaption {
        font-size: 1.2em;
    }
}

@media (max-width: 534px) {
    .logo {
        width: 80%;
        margin: 0 auto 2em;
    }

    .logo img {
        margin-bottom: 0.5em;
    }
}

@media (min-width: 534px) {
    .logo {
        display: flex;
        align-items: center;
    }

    .logo img {
        width: calc((270 / 20) * 1em);
        display: inline-block;
        margin-right: 1em;
    }

    .logo figcaption {
        display: inline-block;
    }
}

.form__input-wrapper {
    max-width: calc((612 / 20) * 1em);
    margin-bottom: 1rem;
}

.form__input-wrapper.centered {
    margin: 0 auto 1rem;
}

/* .input-wrapper{
    padding: 0 1rem;
} */



.introduction__email--signup {
    font-size: calc((27 / 20) * 1em);
    max-width: calc((612 / 20) * 1em);
    margin: 0 auto 2em auto;
}


.input-group {
    margin: 0 auto;
}




.input-group label {
    font-size: 1em;
    width: calc((145 / 20) * 1em);
}

.input-group button {
    margin-top: 2em;
}

@media (min-width: 534px) {
    .input-group {
        width: calc((612 / 20) * 1em);
    }
}

.body__footer {
    width: 100%;
    background-color: var(--gray);

    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 1em;
    margin-top: 2em;

    font-size: calc((16 / 20) * 1em);
}

.body__footer p {
    margin-bottom: 0;
}

.footer__copyright {
    font-size: 0.8em;
    text-align: right;
}

.input-wrapper__error-message {
    color: red;
    font-size: 0.7em;
}

#recapcha-error {
    font-size: 0.8em;
    color: red;
}

.input-wrapper--print-styling {
    display: flex;
    flex-direction: column;
    margin-bottom: 0.75em;
}

.input-wrapper--print-styling input {
    order: 1;
    border: 0;
    color: inherit;
    margin-bottom: 0.25em;
    font-size: calc((22 / 20) * 1em);
}

.input-wrapper--print-styling label {
    order: 2;
    border-top: 1px solid;
}

@media screen {

    .input-wrapper--print-styling input,
    .input-wrapper--print-styling label {
        font-size: calc((24 / 20) * 1em);
    }
}

.button {
    border: 0;
    background-color: var(--button-primary--bg-color);
    color: var(--button-primary--color);
    padding: 0.25em 0.5em;
    font-size: inherit;
    border-radius: 3px;
    display: block;
    margin: 0 auto;
}

@media print {
    .web-only {
        display: none;
    }
}

.action-box {
    padding: 0.1em 1.5em;
    background-color: var(--secondary-color);
    color: var(--secondary-color--text);
    margin: 0 auto 1em;
    display: inline-block;
    font-size: calc((40 / 20) * 1em);
    transform: rotate(-3deg);
    outline: 2px dashed;
    outline-offset: -0.2em;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4);
}


.input-wrapper--big {
    display: grid;
    grid-template-columns: 8ch 1fr;
    column-gap: 0.5em;
    align-items: center;
}

.input-wrapper--big input {
    font-size: inherit;
    padding: 0.25em;
}

.input-wrapper--big label {
    font-size: inherit;
}

.input-wrapper--select {
    display: grid;
    grid-template-columns: 8ch 1fr;
    column-gap: 0.5em;
    align-items: start;
}

.input-wrapper--select .form__input-select {
    display: flex;
    flex-direction: column;
}

.signup .button--style1 {
    background-color: var(--button-primary--bg-color);
    color: var(--button-primary--color);
    padding: 0.5em 1em;
}

.button {
    cursor: pointer;
}

em {
    font-size: 1.2em;
    color: var(--primary-color);
}

*.hidden {
    visibility: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    height: 0 !important;
    width: 0 !important;
    pointer-events: none !important;
    opacity: 0 !important;
}

.forground-primary {
    color: var(--primary-color);
}

.text-shadow>* {
    text-shadow: 1px 1px 6px white;
}

.bold {
    font-weight: bold;
}