    /* BEGIN: Clearfix - http://css-tricks.com/snippets/css/clear-fix/ */
    .group:before,
    .group:after {
        content: "";
        display: table;
    }

    .group:after {
        clear: both;
    }

    .group {
        zoom: 1;
    }

    /* END: Clearfix */

    td#body {
        text-align: center;
    }

    .error:not(label) {
        border-color: #f00;
        border-width: 3px;
        border-radius: 3px;
        border-style: solid;
    }

    #form_contact {
        width: 50%;
        margin: 0px auto;
    }

    fieldset {
        width: 100%;
        box-sizing: border-box;
        margin: 0;
        border-radius: 30px;
        padding: 1em 2em;
    }

    fieldset ul {
        display: table;
        width: 100%;
        padding: 0;
    }

    fieldset textarea,
    fieldset input {
        border-radius: 3px;
    }

    fieldset ul li {
        display: table-row;
        list-style: none;
    }

    fieldset ul li label,
    fieldset ul li>div {
        display: table-cell;
        padding: 0.2em 0.5em
    }

    fieldset ul li label {
        width: 25%;
    }

    fieldset ul li>div {
        width: 75%;
    }

    fieldset ul li>div input {
        display: block;
        width: 100%;
    }

    fieldset ul li label {
        text-align: right;
    }

    fieldset>div textarea {
        width: 100%;
    }

    #form_contact label span {
        color: #f00;
    }

    #form_contact .turnstile,
    #form_contact .controls {
        margin: 1em 0;
    }

    #form_contact .recaptcha .g-recaptcha {
        margin: 0px auto;
        display: inline-block;
    }

    #form_contact .controls {
        width: 100%;
        text-align: center;
    }

    #form_contact .controls>div {
        display: inline-block;
    }