form
{
    display: grid;
    position: relative;
    grid-template-columns: 0.5fr 1fr;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    width: 60%;
    margin-top: 20px;
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    padding: 20px;
    font-size: 1.5rem;
}
    form > *:nth-child(odd)
    {
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: hhr_dauphinregular;
        background-color:var(--blue);
        color: white;
        max-height: 50px;
        border-radius: 5px;
    }
    form > *:nth-child(even)
    {
        border-radius: 5px;
        padding: 5px;
        border:1px solid silver;
        font-size: 1.5rem;
    }
form input:focus,
form textarea:focus
{
    outline: 2px dashed var(--blue);
    outline-offset: 5px;
}
input[type=button]
{
    display: block;
    margin-left: auto;
    margin-right: auto;
    background-color: var(--red);
    color: white;
    font-size: 2rem;
    font-family: hhr_clarendon_lt_btlight;
    border: none;
    border-radius: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 20px;
}
    input[type=button]:hover
    {
        background-color: darkred;
        cursor: pointer;
    }
form[data-error]:before
{
    content: attr(data-error);
    display: block;
    position: absolute;
    bottom: calc(100% + 10px);
    padding: 20px;
    border: 2px solid red;
    background-color: rgba(255,0,0,0.5);
    color: white;
    white-space: pre-line;
    border-radius: 5px;
}