.form-group {
    position: relative;
}
input.is-invalid,
select.is-invalid,
textarea.is-invalid {
	border: solid 1px #dc3545 !important;
}

.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: .25rem;
    color: #e55353;
	text-align: center;
    font-size: 110%;
    margin-bottom: 2rem;
}

.is-invalid~.invalid-feedback {
    display: block;
}

.is-invalid~.invalid-tooltip:not(:empty) {
    display: block;
}
.invalid-tooltip {
    position: absolute;
    top: 75%;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: .25rem .5rem;
    margin-top: .1rem;
    line-height: 1.5;
    color: #fff;
    background-color: rgba(220, 53, 69, .9);
    border-radius: .25rem;
}

.hidden {
	display: none;
}