:root {
    --form-valid-color: #0acf97;
    --form-error-color: #fa5c7c;
}

.form-container *,
.form-container *:focus,
.form-container *:active,
.form-container *:active:focus {
    outline: none;
    box-shadow:none;
}
  
.form-container input[type="text"],
.form-container input[type="tel"],
.form-container input[type="date"],
.form-container input[type="number"],
.form-container input[type="email"],
.form-container input[type="password"],
.form-container select {
    border: #1e7fcb 1px solid;
    border-radius: 0;
    color: #0e2e5d;
    padding: 0 15px;
    height: 44px;
}
.form-container input[type="text"]:focus,
.form-container input[type="tel"]:focus,
.form-container input[type="date"]:focus,
.form-container input[type="number"]:focus,
.form-container input[type="email"]:focus,
.form-container input[type="password"]:focus,
.form-container select:focus {
    border-color: #0e2e5d;
    box-shadow: #1e7fcb 0 0 6px;
    color: #1e7fcb;
}
.form-container textarea {
    border: #1e7fcb 1px solid;
    padding: 15px;
    border-radius: 0;
    color: #0e2e5d;
}
.form-container textarea:focus {
    border-color: #0e2e5d;
    box-shadow: #1e7fcb 0 0 6px;
    color: #1e7fcb;
}

.form-container input[type="text"].errorfield,
.form-container input[type="tel"].errorfield,
.form-container input[type="date"].errorfield,
.form-container input[type="number"].errorfield,
.form-container input[type="email"].errorfield,
.form-container input[type="password"].errorfield,
.form-container select.errorfield,
.form-container textarea.errorfield {
    border-color: var(--form-error-color);
}

.form-container select {
    /*-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;*/
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%231e7fcb' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

/* --- elements textes --- */
.form-legend { 
    margin: 1.25rem 0;
}
.form-legend h2 {
    font-size: 1.5rem;
    margin: 0;
}
.form-divide {
    margin: 1rem 0 1.25rem ;
}
.form-divide hr {
    border-color: #0e2e5d;
}
.form-content { 
    margin: 1.25rem 0;
}

.help-block {
    margin-top: .25rem;
    font-size: .875em;
    opacity: .75;
}

/* --- inputs classiques --- */
.form-input { position: relative; }
.form-input {
    margin: 0 0 1.25rem;
    opacity: .75;
}
.form-label { 
    font-size: 1rem;
    font-family: 'Barlow', sans-serif;
    color: #0e2e5d;
    margin-bottom: .25rem;
}
textarea.form-control {
    height: auto;
}
.form-container ::-webkit-input-placeholder {
    color: #949494;
    opacity: 1;
}
.form-container ::-moz-placeholder {
    color: #949494;
    opacity: 1;
}

/* --- checkboxes / radioboxes --- */
.form-group {
    margin: 1rem 0;
}
.form-group h4 {
    font-size: 1rem;
    font-family: 'Barlow', sans-serif;
    color: #0e2e5d;
    font-weight: 700;
    margin-bottom: 0.25rem;
}
.form-check-inline { }
.form-check .form-label { margin-bottom: 0; }
.form-check .form-check-input {
    margin-top: .55rem;
    margin-bottom: 0;
}
input + .form-text {
    display: block;
    margin-top: .5rem;
}

/* --- bootstrap maxlenght --- */
.bootstrap-maxlength {
    font-size: .75rem;
    padding: .25rem .5rem;
    border-radius: 5px;
    color: #fff;
}
.label-info {
    background-color: var(--form-valid-color);
}
.label-warning {
    background-color: var(--form-error-color);
}

/* --- inputs numbers --- */
.input-number {
    position: relative;
}
.input-number input[type=number]::-webkit-inner-spin-button,
.input-number input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
}
.input-number input[type=number] {
    -moz-appearance: textfield;
}
.input-number input[type=number] {
    height: 44px;
    padding: 0 60px;
    min-width: 200px;
    border-top: #1e7fcb 1px solid;
}
.input-number input:focus {
    outline: 0;
}
.input-number-increase,
.input-number-decrease {
    position: absolute;
    height: 44px;
    width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: #1e7fcb 1px solid;
    cursor: pointer;
    top: 0;
    transition: all .3s;
}
.input-number-increase::before,
.input-number-decrease::before {
    display: block;
    width: 24px;
    height: 24px;
    text-align: center;
    line-height: 24px;
    border-radius: 50%;
    color: #1e7fcb;
    font-weight: 700;
    font-size: 1.25rem;
    transition: all .3s;
}
.input-number-increase { right: 0; }
.input-number-decrease { left: 0; }
.input-number-increase::before { content: "+"; }
.input-number-decrease::before { content: "-"; }

.input-number-increase:hover,
.input-number-decrease:hover {
    background-color: #1e7fcb;
}
.input-number-increase:hover::before,
.input-number-decrease:hover::before {
    color: #fff;
}
/* === reset shop styles === */
.form-input .input-number .input-number-decrease,
.form-input .input-number .input-number-increase {
    top: 0;
    padding: 0;
    width: 44px;
    height: 44px;
    background-image: none;
}

/* --- inputs date --- */
.input-date {
    position: relative;
}
.input-date input[type="text"] {
    padding-right: 40px;
    background-position: right 5px center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%231e7fcb' viewBox='0 0 24 24'%3E%3Cpath d='M20 20h-4v-4h4v4zm-6-10h-4v4h4v-4zm6 0h-4v4h4v-4zm-12 6h-4v4h4v-4zm6 0h-4v4h4v-4zm-6-6h-4v4h4v-4zm16-8v22h-24v-22h3v1c0 1.103.897 2 2 2s2-.897 2-2v-1h10v1c0 1.103.897 2 2 2s2-.897 2-2v-1h3zm-2 6h-20v14h20v-14zm-2-7c0-.552-.447-1-1-1s-1 .448-1 1v2c0 .552.447 1 1 1s1-.448 1-1v-2zm-14 2c0 .552-.447 1-1 1s-1-.448-1-1v-2c0-.552.447-1 1-1s1 .448 1 1v2z'/%3E%3C/svg%3E");
    background-size: 20px 20px;
    background-repeat: no-repeat;
}
.input-date input::-webkit-calendar-picker-indicator {
    -webkit-appearance: none;
            appearance: none;
    display: none;
    opacity: 0;
}
/*.form-date::-webkit-calendar-picker-indicator:hover {
    background-color: #e3e3e3;
    border-radius: 5px;
    opacity: 1;
}*/
.input-date input[type="date"] {
    -moz-appearance: textfield;
}

/* --- inputs files --- */
input[type="file"].form-control {
    height: 44px;
    border: none;
    border: #1e7fcb 1px solid;
    border-radius: 0;
    padding-left: 5px;
    color: #0e2e5d;
}
.form-control::file-selector-button {
    padding: 0 20px 0 45px;
    -webkit-margin-end: 0.75rem;
            margin-inline-end: 0.75rem;
    color: #fff;
    height: 43px;
    line-height: 43px;
    font-weight: 700;
    font-size: .875rem;
    pointer-events: none;
    border-color: inherit;
    border-style: solid;
    border-width: 0;
    border-inline-end-width: var(--bs-border-width);
    border-right: #1e7fcb 1px solid;
    border-radius: 0;
    color: #1e7fcb;
    background: 20px center no-repeat;
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%231e7fcb' viewBox='0 0 24 24'%3E%3Cpath d='M8 10h-5l9-10 9 10h-5v10h-8v-10zm11 9v3h-14v-3h-2v5h18v-5h-2z'/%3E%3C/svg%3E");
    background-size: 14px 14px;
    transition: all .3s;
}
.form-control:hover::file-selector-button,
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
    background-color: #1e7fcb;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23ffffff' viewBox='0 0 24 24'%3E%3Cpath d='M8 10h-5l9-10 9 10h-5v10h-8v-10zm11 9v3h-14v-3h-2v5h18v-5h-2z'/%3E%3C/svg%3E");
    opacity: 1 !important;
    color: #fff;
}
.form-submit {
    border: #e21313 1px solid;
    background-color: #e21313;
    color: #fff;
    padding: .5rem 1.75rem;
    text-align: center;
    min-width: 180px;
    text-transform: uppercase;
    font-weight: 700;
    transition: all .3s;
}
.form-submit:hover {
    border: #0e2e5d 1px solid;
    background-color: #0e2e5d;
}
.form-submit-container {
    text-align: center;
    margin-top: 2rem;
    margin-bottom: 2rem;
}
.form-submit-container .form-submit {
    margin: 0 auto;
}

/* ---- Validations ---- */
.errorfield {
    border-color: var(--form-error-color);
    color: var(--form-error-color);
}
.invalid-feedback { 
    text-align: right;
    font-size: .75rem;
    line-height: .75rem;
    margin-top: .25rem;
    margin-bottom: -1rem;
}
.errorfield + .invalid-feedback { 
    display: block;
}
/*
.errorfield,
.form-control:invalid {
    border-color: var(--form-error-color);
    color: var(--form-error-color);
}
/*
.validfield,
.form-control:valid {
    border-color: var(--form-valid-color);
}
*/
.formulaire-valid {
    max-width: 640px;
    background: #f2f2f2;
    text-align: center;
    padding: 2rem 1rem;
    margin: 2rem auto;
}
.formulaire-valid p {
    font-size: 1.25rem;
    color: #1e7fcb;
}

/* --- vendor DatePicker styles --- */
.datepicker {
    padding: 7px;
    border-radius: 4px;
    direction: ltr;
}
.datepicker-inline { width: 220px; }
.datepicker-rtl { direction: rtl; }
.datepicker-rtl.dropdown-menu { left: auto; }
.datepicker-rtl table tr td span { float: right; }
.datepicker-dropdown {
    top: 0;
    left: 0;
}
.datepicker-dropdown:before {
    content: "";
    display: inline-block;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #999;
    border-top: 0;
    border-bottom-color: rgba(0, 0, 0, 0.2);
    position: absolute;
}
.datepicker-dropdown:after {
    content: "";
    display: inline-block;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #fff;
    border-top: 0;
    position: absolute;
}
.datepicker-dropdown.datepicker-orient-left:before { left: 6px; }
.datepicker-dropdown.datepicker-orient-left:after { left: 7px; }
.datepicker-dropdown.datepicker-orient-right:before { right: 6px; }
.datepicker-dropdown.datepicker-orient-right:after { right: 7px; }
.datepicker-dropdown.datepicker-orient-bottom:before { top: -7px; }
.datepicker-dropdown.datepicker-orient-bottom:after { top: -6px; }
.datepicker-dropdown.datepicker-orient-top:before {
    bottom: -7px;
    border-bottom: 0;
    border-top: 7px solid #999;
}
.datepicker-dropdown.datepicker-orient-top:after {
    bottom: -6px;
    border-bottom: 0;
    border-top: 6px solid #fff;
}
.datepicker table {
    margin: 0;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.datepicker td,
.datepicker th {
    text-align: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    font-size: .75rem;
    border: none;
}
.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
    background-color: transparent;
}
.datepicker table tr td.day.focused,
.datepicker table tr td.day:hover {
    background: #eee;
    cursor: pointer;
}
.datepicker table tr td.new,
.datepicker table tr td.old {
    color: #999;
}
.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
    background: 0 0;
    color: #999;
    cursor: default;
}
.datepicker table tr td.highlighted {
    background: #d9edf7;
    border-radius: 0;
}
.datepicker table tr td.today,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today:hover {
    background-color: #fde19a;
    background-image: linear-gradient(to bottom, #fdd49a, #fdf59a);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
    border-color: #fdf59a #fdf59a #fbed50;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    color: #000;
}
.datepicker table tr td.today.active,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled.disabled,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today.disabled:hover.active,
.datepicker table tr td.today.disabled:hover.disabled,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.disabled:hover:hover,
.datepicker table tr td.today.disabled:hover[disabled],
.datepicker table tr td.today.disabled[disabled],
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today:hover.disabled,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today:hover:hover,
.datepicker table tr td.today:hover[disabled],
.datepicker table tr td.today[disabled] {
    background-color: #fdf59a;
}
.datepicker table tr td.today.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover.active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today:hover:active { background-color: #fbf069; }
.datepicker table tr td.today:hover:hover { color: #000; }
.datepicker table tr td.today.active:hover { color: #fff; }
.datepicker table tr td.range,
.datepicker table tr td.range.disabled,
.datepicker table tr td.range.disabled:hover,
.datepicker table tr td.range:hover { 
    background: #eee;
    border-radius: 0;
}
.datepicker table tr td.range.today,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today:hover {
    background-color: #f3d17a;
    background-image: linear-gradient(to bottom, #f3c17a, #f3e97a);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);
    border-color: #f3e97a #f3e97a #edde34;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    border-radius: 0;
}
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled.disabled,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today.disabled:hover.active,
.datepicker table tr td.range.today.disabled:hover.disabled,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.disabled:hover:hover,
.datepicker table tr td.range.today.disabled:hover[disabled],
.datepicker table tr td.range.today.disabled[disabled],
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today:hover.disabled,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today:hover:hover,
.datepicker table tr td.range.today:hover[disabled],
.datepicker table tr td.range.today[disabled] { background-color: #f3e97a; }
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover.active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today:hover:active { background-color: #efe24b; }
.datepicker table tr td.selected,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected:hover {
    background-color: #9e9e9e;
    background-image: linear-gradient(to bottom, #b3b3b3, grey);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);
    border-color: grey grey #595959;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    color: #fff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.selected.active,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled.disabled,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected.disabled:hover.active,
.datepicker table tr td.selected.disabled:hover.disabled,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.disabled:hover:hover,
.datepicker table tr td.selected.disabled:hover[disabled],
.datepicker table tr td.selected.disabled[disabled],
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected:hover.disabled,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected:hover:hover,
.datepicker table tr td.selected:hover[disabled],
.datepicker table tr td.selected[disabled] {
    background-color: grey;
}
.datepicker table tr td.selected.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover.active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected:hover:active { background-color: #666; }
.datepicker table tr td.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active:hover {
    background-color: #006dcc;
    background-image: linear-gradient(to bottom, #08c, #04c);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);
    border-color: #04c #04c #002a80;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    color: #fff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.active.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled.disabled,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled:hover.disabled,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active.disabled:hover[disabled],
.datepicker table tr td.active.disabled[disabled],
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active:hover.disabled,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active:hover:hover,
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active[disabled] {
    background-color: #04c;
}
.datepicker table tr td.active.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active:hover:active { background-color: #039; }
.datepicker table tr td span {
    display: block;
    width: 23%;
    height: 54px;
    line-height: 54px;
    float: left;
    margin: 1%;
    cursor: pointer;
    border-radius: 4px;
}
.datepicker table tr td span.focused,
.datepicker table tr td span:hover { background: #eee; }
.datepicker table tr td span.disabled,
.datepicker table tr td span.disabled:hover {
    background: 0 0;
    color: #999;
    cursor: default;
}
.datepicker table tr td span.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active:hover {
    background-color: #006dcc;
    background-image: linear-gradient(to bottom, #08c, #04c);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);
    border-color: #04c #04c #002a80;
    border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
    filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
    color: #fff;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td span.active.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled.disabled,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover.active,
.datepicker table tr td span.active.disabled:hover.disabled,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active.disabled:hover[disabled],
.datepicker table tr td span.active.disabled[disabled],
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active:hover.disabled,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active:hover:hover,
.datepicker table tr td span.active:hover[disabled],
.datepicker table tr td span.active[disabled] { background-color: #04c; }
.datepicker table tr td span.active.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover.active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active:hover:active { background-color: #039; }
.datepicker table tr td span.new,
.datepicker table tr td span.old {
    color: #999;
}
.datepicker .datepicker-switch {
    width: 145px;
}
.datepicker .datepicker-switch,
.datepicker .next,
.datepicker .prev,
.datepicker tfoot tr th {
    cursor: pointer;
}
.datepicker .datepicker-switch:hover,
.datepicker .next:hover,
.datepicker .prev:hover,
.datepicker tfoot tr th:hover {
    background: #eee;
}
.datepicker .next.disabled,
.datepicker .prev.disabled {
    visibility: hidden;
}
.datepicker .cw {
    font-size: 10px;
    width: 12px;
    padding: 0 2px 0 5px;
    vertical-align: middle;
}
.input-append.date .add-on,
.input-prepend.date .add-on {
    cursor: pointer;
}
.input-append.date .add-on i,
.input-prepend.date .add-on i {
    margin-top: 3px;
}
.input-daterange input {
    text-align: center;
}
.input-daterange input:first-child {
    border-radius: 3px 0 0 3px;
}
.input-daterange input:last-child {
    border-radius: 0 3px 3px 0;
}
.input-daterange .add-on {
    display: inline-block;
    width: auto;
    min-width: 16px;
    height: 18px;
    padding: 4px 5px;
    font-weight: 400;
    line-height: 18px;
    text-align: center;
    text-shadow: 0 1px 0 #fff;
    vertical-align: middle;
    background-color: #eee;
    border: 1px solid #ccc;
    margin-left: -5px;
    margin-right: -5px;
}

/* === RGPD === */
.form-input-privacy {
    margin-top: 1rem;
    display: flex;
    align-items: flex-start;
    position: relative;
}
.form-input-privacy .invalid-feedback {
    position: absolute;
    text-align: left;
    bottom: 0.25rem;
    padding-left: 2rem;
    left: 0;
}
.form-input-privacy input {
    margin-right: .5rem;
    margin-top: .5rem;
    flex: 0 0 auto;
}
.form-input-privacy a { text-decoration: underline; }

.text-disclaimer {
    font-size: .875rem;
}