form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

input, textarea, select, button {
    margin: 0;
    border: 1px solid rgb(75,75,75);
    border-radius: 0;
    padding: 10px;
    background-color: #f3f3f3;
}
input[type=checkbox],
input[type=radio] { text-align: center; }
input[type=checkbox]:checked::after,
input[type=radio]:checked::after {
    content: '❌';
}
input[type=checkbox]:hover,input[type=radio]:hover, select:hover { cursor: pointer; }

    input.Error, textarea.Error, select.Error {
        border: 1px solid rgb(223,75,75);
        color: rgb(223,75,75);
        background-color: #ffe3e3;
    }

textarea {
    min-height: 100px;
    resize: none;
    field-sizing: content;
    line-height: 24px;
}

input:focus, textarea:focus, select:focus, button:active {
    outline: 10px solid rgba(0,0,0,0.1);
    background-color: #fff;
}

button, .button {
    display: inline-flex;
    align-items: center; /* Vertical alignment */
    justify-content: center;
    gap: 10px;
    border: none;
    padding: 10px 30px;
    background-color: #000;
    color: #fff;
    text-decoration: none;
}
button:hover {
    background-color: #444;
    cursor: pointer;
}

button > i {
    margin: 0 0 0 0;
    font-size: 16px !important;
    line-height: 1;
    color: #fff;
}

form > hr {
    margin: 0;
}