.form-check-input.is-valid:checked,
.was-validated .form-check-input:valid:checked,
.form-check-input:checked {
    background-color: #93B1A6;
    border-color: #93B1A6;
}

/* region collection */
[class*='-collection-actions'] {
    width: auto;
}
div.form-collection-enabled > div {
    padding-bottom: 12px;
    margin-bottom: 12px;
}
div.form-collection-enabled > div:not(:last-of-type) {
    border-bottom: 1px dashed rgba(108, 117, 125, 0.25);
}
/* endregion collection */

.form-control[readonly], .form-control[disable] {
    background-color: #f1f5f7;
}

form legend.col-form-label { font-weight: 600; }
form .card-header li i {
    font-size: 150%;
    vertical-align: bottom;
}
form .card-header li a {
    line-height: 30px;
}
form h4 {
    margin-top: 20px;
    margin-bottom: 0;
}
form h4 + hr {
    margin-top: 0.5rem;
}
form input[size="small"] {
    min-width: 150px !important;
    max-width: 150px;
}

form input.money,
form input.percent,
form input.number,
form input.touchspin-number {
    text-align: right;
}
form input.percent {
    min-width: 80px !important;
    max-width: 80px;
}
input[data-provide='datepicker'],
input.js-datepicker,
.clockpicker input,
form input.money,
form input.number {
    min-width: 125px !important;
    max-width: 125px;
}
input[data-provide='datepicker'][data-date-format='MM yyyy'] {
    min-width: 150px !important;
    max-width: 150px;
}

form label.required:not(.form-check-label):before {
    content: '*';
    color: darkred;
    margin-right: 3px;
    font-size: 120%;
}
form label.required {
    position: relative;
}

table label.required:not(.form-check-label):not([class^="col-md-"]) {
    padding-left: 12px;
}

.input-group {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
.input-group-append .input-group-text { border-top-left-radius: 0; border-bottom-left-radius: 0; }

.form-check.form-check-float-none {
    padding-left: 0;
}
.form-check.form-check-float-none .form-check-input {
    float: none;
    margin-left: inherit;
}

.input-group input + button + .dropdown-menu {
    right: 0 !important;
    left: auto !important;
}

form .list-group-item {
    color: inherit;
}

/* region parsley */
form select.parsley-error + span.select2 span.select2-selection {
    border-color: #f1556c !important;
}
form input[type="hidden"] + ul.parsley-errors-list {
    display: none;
}
.was-validated .form-control.parsley-error:focus,
.was-validated .form-control.parsley-error {
    border-color: #f1556c;
    padding-right: calc(1.5em + .9rem);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23f1556c'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23f1556c' stroke='none'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(.375em + .225rem) center;
    background-size: calc(.75em + .45rem) calc(.75em + .45rem);
}
div.data-parsley-validation-group.parsley-error {
    outline: 2px dashed #f1556c;
    outline-offset: 8px;
}
form.was-validated div.data-parsley-validation-group.parsley-error .form-control:valid {
    border-color: #ced4da;
    padding-right: inherit;
    background-image: none;
}
form.was-validated div.data-parsley-validation-group.parsley-error .form-check-input:valid {
    border-color: rgba(0,0,0,.25);
}
form.was-validated div.data-parsley-validation-group.parsley-error .form-check-input:valid ~ .form-check-label {
    color: var(--bs-card-color);
}
form.was-validated input.parsley-error.included-validator[type="hidden"] + ul.parsley-errors-list {
    display: block;
}
.parsley-errors-list > li.parsley-atleastone {
    margin-top : 8px;
}
.toggle-tax-amount.data-parsley-validation-group + ul.parsley-errors-list li.parsley-atleastone {
    /*content: "Ce champ est requis";*/ /* Ne marche pas */
    display: none;
}
/* endregion parsley */

/* region ThreeState Toggle */
.candlestick-wrapper {
    vertical-align: middle;
}
.parsley-error-absolute + .parsley-errors-list { /* utile par exemple avec le period-month-filter si required et pas rempli l'input bouge en hauteur ce qui est assez moche */
    position: absolute;
}
/* endregion ThreeState Toggle */