.form-group label {
    position: relative;
    display: inline-block;
    font-weight: 600;
    color: #545454;
    max-width: 100%;
    margin-bottom: 5px;
    font-size: 13px;
}

.form-group {
    margin-bottom: 15px;
}

.form-group.required label:after {
    content: "*";
    position: absolute;
    right: -12px;
    color: #545454;
    font-size: 0.8em;
    color: rgba(0, 0, 0, 0.6);
}

.form-inline-elements {
    display: flex;
    flex-flow: row nowrap;
    gap: 20px;
}
.form-inline-elements .form-group {
    flex: 1 1 0;
}

.form-element {
    display: block;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 5px;
    color: #363636;
    width: 100%;
    max-width: 100%;
    padding: 10px 15px;
    line-height: normal;
}

.errors {
    background: #ea4335;
    padding: 10px 15px;
    margin-top: 5px;
    color: #fff;
}
ul.errors-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.form-button {
    background: #198754;
    border: 1px solid #146c43;
    border-radius: 5px;
    color: #fff;
    font-weight: 600;
    display: block;
    text-align: center;
    cursor: pointer;
    padding: 10px 15px;
}
.form-button[disabled] {
    opacity: 0.65;
}

.alert {
    padding: 10px;
    margin-bottom: 10px;
    border-radius: 5px;
    font-size: 0.9em;
    text-align: center;
}
.alert-info {
    background: #cfe2ff;
    border: 1px solid #b6d4fe;
    color: #084298;
}
.alert-danger {
    background: #f8d7da;
    border: 1px solid #f5c2c7;
    color: #842029;
}
.alert-warning {
    background: #fff3cd;
    border: 1px solid #ffecb5;
    color: #664d03;
}