
.feedback .label {
    position: relative;
    margin-bottom: 5px;
}

.feedback .label span {
    position: absolute;
    top: 6px;
    right: 0;
    font-size: 12px;
    font-style: italic;
    color: #F00;
    animation: errorSpan 0.3s
}

@keyframes errorSpan {
    0% {
        top: 20px;
        opacity: 0;
    }
    100% {
        top: 6px;
        opacity: 1;
    }
}

.feedback input[type=text],
.feedback input[type=email],
.feedback input[type=tel],
.feedback textarea {
    display: block;
    width: 100%;
}

.feedback input[type=checkbox] {
    display: inline-block;
    vertical-align: middle;
}

.feedback input[type=checkbox] + span {
    display: inline-block;
    vertical-align: middle;
}

.feedback .required.error {
    border-color: #F00;
    background: rgba(255, 0, 0, 0.05);
}

.feedback input[type=checkbox].required.error::before {
    content: "";
    display: block;
    border: 1px solid #F00;
    width: 10px;
    height: 10px;
}