form {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-template-areas:
    "errorIntro"
    "preName"
    "surName"
    "eMail"
    "customerMessage"
    "dataPrivacy"
    "captcha"
    "submit";
}

.errorIntro {
    grid-area: errorIntro;
}

.preName {
    grid-area: preName;
}

.surName {
    grid-area: surName;
}

.eMail {
    grid-area: eMail;
}

.customerMessage {
    grid-area: customerMessage;
}

.dataPrivacy {
    grid-area: dataPrivacy;
}

.captcha {
    grid-area: captcha;
}

.submit {
    grid-area: submit;
}

.formElementGroup {
    padding: 1rem;
}

.formElementGroup > * {
    display: block;
}

.formElementGroup > *:not(:last-child) {
    margin-bottom: 0.5rem;
}

.contactIntro,
.socialMediaContact {
    padding-top: 2rem;
}

.socialMediaContact {
    padding-bottom: 2rem;
}

.contactIntro p,
.formElementGroup p,
.socialMediaContact p {
    margin-bottom: 1rem;
}

.errorList {
    margin-left: 1rem;
}

textarea,
input {
    margin: 0;
    border: none;
    font-size: 1rem;
}

textarea,
input[type="text"],
input[type="email"] {
    box-sizing: border-box;
    width: 100%;
}

textarea {
    min-height: 10rem;
}

.captcha .g-recaptcha {
    margin: 0 auto;
    width: max-content;
}

.errorIntro,
.errorList li {
    color: #BB0000;
}

.socialMediaContact * {
    height: 2rem;
    display: inline-block;
    vertical-align: middle;
}

@media only screen and (min-device-width: 800px) {
    form {
        grid-template-columns: 1fr 1fr;
        grid-row-gap: 1rem;
        grid-column-gap: 1rem;
        grid-template-areas:
        "errorIntro errorIntro"
        "preName customerMessage"
        "surName customerMessage"
        "eMail customerMessage"
        "dataPrivacy captcha"
        "dataPrivacy captcha"
        "submit submit";
    }

    .formElementGroup {
        margin-bottom: 0;
    }

    .customerMessage{
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: min-content auto min-content;
        grid-template-areas:
        "customerMessageLabel"
        "customerMessageTextarea"
        "customerMessageErrorList";
    }

    .customerMessage label{
        grid-area: customerMessageLabel;
    }
    .customerMessage textarea{
        grid-area: customerMessageTextarea;
        height: 100%;
    }
    .customerMessage .errorList{
        grid-area: customerMessageErrorList;
    }
}
