input {
    box-sizing: border-box;

    font-size: inherit;
}

textarea {
    display: block;
    height: 12rem;
    width: 100%;

    padding: 4px;

    box-sizing: border-box;
    resize: none;

    font-size: inherit;
}

button {
    margin: 16px;

    font-size: inherit;
}

select {
    display: block;

    padding: 4px;

    font-size: inherit;
}

.form-error {
    color: #741621ff;
}

ul.form-error {
    background-color: #74162150;
}

input.form-error {
    background-color: #74162150;

    border-style: solid;
}

select.form-error {
    background-color: #74162150;

    border-width: 2px;
    border-color: #741621ff;
}

textarea.form-error {
    background-color: #74162150;

    border-width: 2px;
    border-color: #741621ff;
    border-style: solid;
}

.form-group {
    padding: 16px;

    border-bottom: 1px #5b6545 solid; 
}

.form-row {
    display: flex;
    width: 100%;

    margin: 8px 0;

    flex-wrap: wrap;
    white-space: nowrap;
}

.form-block {
    padding: 4px;

    flex: 0 0 0;
}

.form-block.stretch {
    flex: 1 0 0;
}

.form-block label {
    display: block-inline;

    padding: 4px;
}

.services {
    margin: 0;
    padding: 4px;
}

.service-item {
    display: block;

    margin: 8px;
}

.txt-input {
    display: block;
    width: 100%;
    min-width: 12rem;

    padding: 4px;
}

.tel-input {
    display: block;
    width: 10rem;

    padding: 4px;

    font-family: monospace;
}

.postal-input {
    display: block;
    width: 6rem;

    padding: 4px;

    font-family: monospace;
}

.select-input {
    display: block;
    min-width: 16rem;

    padding: 4px;
}
