.Formulaire .form-element {
    display: flex;
    flex-direction: column;
}

.Formulaire {
    /* font-size: 1.1vw; */
    background-color: #ffffff;
    padding: 0;
}

.Formulaire .form-control, .btn, .Formulaire .form-select {
    font-size: 1rem;
}

.Formulaire .form-control {
    color: #223654;
}

.Formulaire .form-control:focus {
    color: #223654;
}

.Formulaire fieldset {
    padding: 0;
    margin: 0;
    border: none;
}

.Formulaire fieldset legend {
    display: none;
}

.Formulaire h2 {
    display: none;
    font-size: 1.6875rem;
    /* margin-bottom: 3rem; */
}

#main .Formulaire .fieldset-row-inline .form-element-gridrow.row {
    flex-direction: row;
    flex-wrap: wrap;
    margin: 0rem !important;
}

#main .Formulaire .form-element {
    margin-top: 1rem;
    margin-bottom: 2rem !important;
    padding-left: 0;
    padding-right: 0;
}

#main .Formulaire .form-element.form-element-fieldset {
    margin-top: 0rem;
    margin-bottom: 0rem !important;
}

/* Message champs obligatoires */
.forms-champs-obligatoires-info p {
    font-size: 0.875rem !important;
    line-height: 1.25rem;
}

.mandatory {
    color: #cb381f;
    font-weight: bold;
}

/******** label ********/

.Formulaire .form-label,
.Formulaire .form-element-radio legend
 {
    margin-bottom: 0.25em;
    font-weight: bold;
    display: inline-block;
    color: #223654;
    line-height: 1.375rem;
}

.Formulaire .required {
    color: #cb381f;
    margin-left: 0.25rem;
}

/******** Champs ********/

.Formulaire .form-element .form-control:focus {
    box-shadow: none;
}

#main .Formulaire .form-element.form-element-fieldset .form-element-text,
#main .Formulaire .form-element.form-element-fieldset .form-element-email,
#main .Formulaire .form-element.form-element-fieldset .form-element-phone,
#main .Formulaire .form-element.form-element-fieldset .form-element-date,
#main .Formulaire .form-element.form-element-fieldset .form-element-number,
#main .Formulaire .form-element.form-element-fieldset .form-element-datepicker,
#main .Formulaire .form-element.form-element-fieldset .form-element-textarea,
#main .Formulaire .form-element.form-element-fieldset .form-element-select,
#main .Formulaire .form-element.form-element-fieldset .form-element-multiselect {
    margin-top: 0rem;
    margin-bottom: 1rem !important;
}

#main .Formulaire .form-element.form-element-fieldset .form-element.form-element-gridrow .form-element-text,
#main .Formulaire .form-element.form-element-fieldset .form-element.form-element-gridrow .form-element-email,
#main .Formulaire .form-element.form-element-fieldset .form-element.form-element-gridrow .form-element-phone,
#main .Formulaire .form-element.form-element-fieldset .form-element.form-element-gridrow .form-element-date,
#main .Formulaire .form-element.form-element-fieldset .form-element.form-element-gridrow .form-element-number,
#main .Formulaire .form-element.form-element-fieldset .form-element.form-element-gridrow .form-element-datepicker,
#main .Formulaire .form-element.form-element-fieldset .form-element.form-element-gridrow .form-element-textarea,
#main .Formulaire .form-element.form-element-fieldset .form-element.form-element-gridrow .form-element-select,
#main .Formulaire .form-element.form-element-fieldset .form-element.form-element-gridrow .form-element-multiselect {
    margin-top: 1rem;
    margin-bottom: 2rem !important;
}

#main .Formulaire .form-element.form-element-fieldset.fieldset-bloc>.form-element:not(#main .Formulaire .form-element.form-element-fieldset.fieldset-bloc>.form-element.form-element-gridrow) {
    margin-bottom: 2rem !important;
}

#main .Formulaire .form-element.form-element-fieldset.fieldset-bloc>.form-element:last-child:not(#main .Formulaire .form-element.form-element-fieldset.fieldset-bloc>.form-element.form-element-gridrow) {
    margin-bottom: 0rem !important;
}

.Formulaire input:not(input[type="file"], input[type="radio"], input[type="checkbox"]), 
.Formulaire textarea {
    font-size: 1rem;
    font-family: inherit;
    border-radius: 0px;
    border: 0.1em solid #6B778A;
    box-sizing: border-box;
    padding: 0.5rem;
}

.Formulaire input:not(input[type="file"], input[type="radio"], input[type="checkbox"]) {
    /* pour safari */
    -webkit-appearance: none;
    border-radius: 0px;
    background-color: white;
}

/* Définition de l'ordre pour afficher la description sous le label du champ */
.Formulaire .form-element.form-element-text label,
.Formulaire .form-element.form-element-email label,
.Formulaire .form-element.form-element-phone label,
.Formulaire .form-element.form-element-date label,
.Formulaire .form-element.form-element-number label,
.Formulaire div > div.form-element.form-element-datepicker label,
.Formulaire .form-element-textarea label {
    order: 1;
}

/* précision sous le label du champ texte */
.Formulaire .form-element.form-element-text span.form-text,
.Formulaire .form-element.form-element-email span.form-text,
.Formulaire .form-element.form-element-phone span.form-text,
.Formulaire .form-element.form-element-date span.form-text,
.Formulaire .form-element.form-element-number span.form-text,
.Formulaire div > div.form-element.form-element-datepicker span.form-text,
.Formulaire .form-element-textarea span.form-text {
    order: 2;
    color: #223654;
    font-weight: 400;
    display: flex;
    font-size: 0.875rem;
    margin-bottom: 0.25rem;
    margin-top: -0.2em;
}

.Formulaire .form-element.form-element-text input,
.Formulaire .form-element.form-element-email input,
.Formulaire .form-element.form-element-phone input,
.Formulaire .form-element.form-element-date input,
.Formulaire .form-element.form-element-number input,
.Formulaire div > div.form-element.form-element-datepicker input,
.Formulaire .form-element-textarea textarea {
    order: 3;
}

.Formulaire .form-element.form-element-text,
.Formulaire .form-element.form-element-email,
.Formulaire .form-element.form-element-phone,
.Formulaire .form-element.form-element-date,
.Formulaire .form-element.form-element-number,
.Formulaire div > div.form-element.form-element-datepicker,
.Formulaire .form-element-textarea {
    margin-bottom: 2rem;
    margin-right: 2rem;
    display: flex;
    flex-direction: column;
}

.Formulaire .form-element.form-element-text input,
.Formulaire .form-element.form-element-email input,
.Formulaire .form-element.form-element-phone input,
.Formulaire .form-element.form-element-date input,
.Formulaire .form-element.form-element-number input,
.Formulaire div > div.form-element.form-element-datepicker input {
    height: 2.5rem !important;
}

.Formulaire .form-element.form-element-text input:focus,
.Formulaire .form-element.form-element-email input:focus,
.Formulaire .form-element.form-element-phone input:focus,
.Formulaire .form-element.form-element-date input:focus,
.Formulaire .form-element.form-element-number input:focus,
.Formulaire div > div.form-element.form-element-datepicker input:focus,
.Formulaire .form-element-textarea textarea:focus {
    outline: 0.15em solid #4a98d9 !important;
    border: 0.15em solid #223654 !important;
}

/* Champ extra large */
.Formulaire .champ-extra-large {
    width: 33rem;
}

/* Champ large */
.Formulaire .champ-large {
    width: 15.563rem;
}

/* Champ moyen */
.Formulaire .champ-moyen {
    width: 9.75rem;
}

/* Champ petit */
.Formulaire .champ-petit {
    width: 3.938rem;
}

/* Textarea */
.Formulaire .form-element-textarea {
    width: 33rem !important;
}

.Formulaire .form-element-textarea textarea {
    height: 8em;
}

.Formulaire .form-element-textarea .textarea-limit-chars {
    order: 4;
    margin-top: 0.25rem;
    font-size: 0.875rem;
    display: flex;
    justify-content: flex-end;
}

.Formulaire .form-element-textarea span.invalid-feedback {
    order: 5;
}

/******** Liste déroulante ********/

.Formulaire .form-element.form-element-select label {
    order: 1;
}

.Formulaire .form-element.form-element-select span.form-text,
.Formulaire .form-element.form-element-multiselect span.form-text {
    order: 2;
    color: #223654;
    font-weight: 400;
    display: flex;
    font-size: 0.875rem;
    margin-bottom: 0.25rem;
    margin-top: -0.2em;
}

.Formulaire .form-element.form-element-select select,
.Formulaire .form-element.form-element-multiselect select {
    display: none;
    visibility: hidden;
}

.Formulaire .form-element.form-element-select,
.Formulaire .form-element.form-element-multiselect {
    margin-bottom: 2rem;
    margin-right: 2rem;
    display: flex;
    flex-direction: column;
}

.Formulaire select.is-invalid {
    padding: 0.32em;
}


.Formulaire .form-element-select .dropdown {
    order: 4;
}

#main .Formulaire .form-element-select button.dropdown-toggle {
    height: 2.5rem !important;
    border: 0.1rem solid #6B778A;
    font-family: 'Open Sans';
    font-weight: normal;
    color: #6B778A;
    display: flex;
    flex-direction: row;
    align-items: center;
    cursor: pointer;
    text-decoration: none !important;
    padding: 0.5rem;
    font-size: 1rem;
}

.Formulaire .form-element-select .dropdown .dropdown-toggle:focus {
    outline: 0.15em solid #4a98d9 !important;
    border: 0.15em solid #223654 !important;
}

#main .Formulaire .form-element-select button.dropdown-toggle.button-option-selected {
    color: #223654;
}

.Formulaire .form-element-select button.dropdown-toggle::after {
    background-image: url("data:image/svg+xml;base64,PHN2ZyBpZD0iR3JvdXBlXzk5MyIgZGF0YS1uYW1lPSJHcm91cGUgOTkzIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSI4IiB2aWV3Qm94PSIwIDAgMTYgOCI+CiAgPHBhdGggaWQ9IlRyYWPDqV83MTQiIGRhdGEtbmFtZT0iVHJhY8OpIDcxNCIgZD0iTTIwLDI0NzAuOWEuMzk0LjM5NCwwLDAsMSwuMTIzLS4yODQuNDM3LjQzNywwLDAsMSwuNiwwTDI4LDI0NzcuNTM1bDcuMjgxLTYuOTE3YS40MzcuNDM3LDAsMCwxLC42LDAsLjM4Ny4zODcsMCwwLDEsMCwuNTY2bC03LjU3OSw3LjJhLjQzOC40MzgsMCwwLDEtLjYsMGwtNy41NzktNy4yQS4zODcuMzg3LDAsMCwxLDIwLDI0NzAuOVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMC4wMDEgLTI0NzAuNSkiIGZpbGw9IiMwOTU3OTciLz4KPC9zdmc+Cg==");
    background-repeat: no-repeat;
    background-position: right;
    width: 100%;
    height: 1rem;
    margin: 0rem;
    border: none;
    vertical-align: unset;
}

.Formulaire .form-element-select button.dropdown-toggle[aria-expanded=false]::after {
    background-image: url("data:image/svg+xml;base64,PHN2ZyBpZD0iR3JvdXBlXzk5MyIgZGF0YS1uYW1lPSJHcm91cGUgOTkzIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSI4IiB2aWV3Qm94PSIwIDAgMTYgOCI+CiAgPHBhdGggaWQ9IlRyYWPDqV83MTQiIGRhdGEtbmFtZT0iVHJhY8OpIDcxNCIgZD0iTTIwLDI0NzAuOWEuMzk0LjM5NCwwLDAsMSwuMTIzLS4yODQuNDM3LjQzNywwLDAsMSwuNiwwTDI4LDI0NzcuNTM1bDcuMjgxLTYuOTE3YS40MzcuNDM3LDAsMCwxLC42LDAsLjM4Ny4zODcsMCwwLDEsMCwuNTY2bC03LjU3OSw3LjJhLjQzOC40MzgsMCwwLDEtLjYsMGwtNy41NzktNy4yQS4zODcuMzg3LDAsMCwxLDIwLDI0NzAuOVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMC4wMDEgLTI0NzAuNSkiIGZpbGw9IiMwOTU3OTciLz4KPC9zdmc+Cg==");
}

.Formulaire .form-element-select button.dropdown-toggle[aria-expanded=true]::after {
    background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij4KICA8ZyBpZD0iSWPDtG5lIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIC0wLjAwMSkiPgogICAgPHJlY3QgaWQ9IlN1cHBvcnRfw6BfaWPDtG5lIiBkYXRhLW5hbWU9IlN1cHBvcnQgw6AgaWPDtG5lIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDEpIiBmaWxsPSJub25lIi8+CiAgICA8cGF0aCBpZD0iaWNvbmVfY2hldnJvbl9iYXMiIGRhdGEtbmFtZT0iaWNvbmUgY2hldnJvbiBiYXMiIGQ9Ik0yMCwyNDc4LjFhLjM5Mi4zOTIsMCwwLDAsLjEyMy4yODMuNDM3LjQzNywwLDAsMCwuNiwwTDI4LDI0NzEuNDY2bDcuMjgxLDYuOTE3YS40MzcuNDM3LDAsMCwwLC42LDAsLjM4Ny4zODcsMCwwLDAsMC0uNTY2bC03LjU3OS03LjJhLjQzNy40MzcsMCwwLDAtLjYsMGwtNy41NzksNy4yYS4zODkuMzg5LDAsMCwwLS4xMjMuMjgzWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIwLjAwMSAtMjQ2Ni40OTkpIiBmaWxsPSIjMDk1Nzk3Ii8+CiAgPC9nPgo8L3N2Zz4K");
}

.Formulaire .form-element-select .dropdown ul.dropdown-menu {
    border-radius: 0rem;
    padding: 0rem;
    border: 0.1rem solid #8690A2;
    font-family: 'Open Sans';
    font-size: 1rem;
    font-weight: normal;
    color: #223654;
    margin-top: 0rem;
    max-height: 370px;
    overflow: auto;
}

.Formulaire .form-element-select .dropdown ul.dropdown-menu li {
    margin: 0rem;
}

.Formulaire .form-element-select .dropdown ul.dropdown-menu li a.dropdown-item {
    height: 2.5rem;
    padding: 0.5rem 0 0.5rem 0.5rem;
    display: flex;
    align-items: center;
    text-decoration: none;
    border: 0;
    border-radius: 0rem;
}

.Formulaire .form-element-select .dropdown ul.dropdown-menu li a.dropdown-item:hover {
    background-color: #DAE6F0;
}

.Formulaire .form-element-select .dropdown ul.dropdown-menu li a.dropdown-item:focus {
    background-color: #1479CC !important;
    font-family: 'Open Sans';
    font-weight: 600;
    font-size: 1rem;
    color: #FFFFFF !important;
    outline: none;
}

.Formulaire .form-element-select .dropdown ul.dropdown-menu li a.dropdown-item.disabled {
    color: #6B778A !important;
}

.Formulaire .form-element-select .dropdown ul.dropdown-menu li a.dropdown-item:visited {
    color: #212529;
}

/* Liste déroulante grande */
.Formulaire .form-element-select.select-grand,
.Formulaire .form-element-select.select-grand .dropdown-toggle,
.Formulaire .form-element-select.select-grand .dropdown ul.dropdown-menu {
    width: 33rem;
}

/* Liste déroulante petite */
.Formulaire .form-element-select.select-petit,
.Formulaire .form-element-select.select-petit .dropdown-toggle,
.Formulaire .form-element-select.select-petit .dropdown ul.dropdown-menu {
    width: 9.75rem;
}

/* Liste déroulante moyenne */
.Formulaire .form-element-select.select-moyen,
.Formulaire .form-element-select.select-moyen .dropdown-toggle,
.Formulaire .form-element-select.select-moyen .dropdown ul.dropdown-menu {
    width: 21.4rem;
}

.Formulaire .form-element-select span.invalid-feedback {
    order: 5;
}

#main .Formulaire .form-element-select select.is-invalid ~ .dropdown button.dropdown-toggle {
    border: 0.2em solid #cb381f;
}

/******** Bouton radio ********/

.Formulaire .form-element-radio {
    margin-bottom: 1.7em;
}

.Formulaire .form-element-radio legend {
    display: block;
    margin-bottom: 0.5rem;
    order: 1;
}

.Formulaire .show-infos {
    display: block;
}

.Formulaire .hide-infos {
    display: none;
}

.Formulaire .form-element-radio .form-check {
    padding-right: 1rem;
    display: flex;
    margin: 0;
    flex-direction: row;
    margin-bottom: 0rem !important;
    padding-left: 0rem;
}

.Formulaire .form-element-radio .form-check [type=radio]:not(:checked),
.Formulaire .form-element-radio .form-check [type=radio]:checked {
    position: absolute;
    left: -9999px;
}

.Formulaire .form-element-radio .form-check input {
    height: 1.8rem !important;
    margin: 0.2rem 0.7rem 0 0.1rem;
    z-index: 5;
}

.Formulaire .form-element-radio .form-check [type=radio]:not(:checked) + label,
.Formulaire .form-element-radio .form-check [type=radio]:checked + label {
    position: relative;
    padding-left: 1.5rem;
    cursor: pointer;
    max-width: max-content;
}

.Formulaire .form-element-radio .form-check label {
    margin: 0.5rem 0;
    font-size: 1rem;
    font-weight: 500;
    flex: 20;
    line-height: 1.375rem;
}

.Formulaire .form-element-radio .form-check [type=radio]:not(:checked) + label:before,
.Formulaire .form-element-radio .form-check [type=radio]:checked + label:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.2rem;
    width: 1em;
    height: 1em;
    border-radius: 0.8rem;
    border: 2px solid #223654;
    background: #fff;
}

.Formulaire .form-element-radio .form-check [type=radio]:not(:checked) + label:after {
    opacity: 0;
    transform: scale(0);
}

.Formulaire .form-element-radio .form-check [type=radio]:not(:checked) + label:after,
.Formulaire .form-element-radio .form-check [type=radio]:checked + label:after {
    content: "";
    position: absolute;
    top: 0.45rem;
    left: 0.25rem;
    font-size: 1em;
    height: 0.5rem;
    width: 0.5rem;
    border-radius: 0.8rem;
    line-height: 0.8;
    background-color: #1472BF;
}

.Formulaire .form-element.form-element-radio .form-check-input:focus ~ .form-check-wrapping-label:before {
    border: 2px solid #223654;
    outline: 2px solid #4a98d9;
}

.Formulaire .form-element.form-element-radio .form-check-input:checked ~ .form-check-wrapping-label:before {
    border: 2px solid #1472bf;
}

.Formulaire .form-element.form-element-radio .form-check-input.is-invalid ~ .form-check-wrapping-label:before {
    border-color: #cb381f;
}

.Formulaire .form-element.form-element-radio .form-check-input:focus:checked ~ .form-check-wrapping-label:before {
    border-color: #223654 !important;
}

/******** Case à cocher ********/
.Formulaire .form-element.form-element-check,
.Formulaire .form-element.form-element-radio .form-check.form-element-multicheckbox {
    display: block;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: fit-content;
}

.Formulaire .form-element.form-element-check .form-check-input,
.Formulaire .form-element.form-element-radio .form-check.form-element-multicheckbox .form-check-input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}
.Formulaire .form-element.form-element-check .form-check-label,
.Formulaire .form-element.form-element-radio .form-check.form-element-multicheckbox .form-check-label {
    display: block;
    cursor: pointer;
    padding-left: 24px;
    font-size: 1rem;
    font-weight: normal;
    line-height: 1.8rem;
}
.Formulaire .form-element.form-element-check .form-check-label:before,
.Formulaire .form-element.form-element-radio .form-check.form-element-multicheckbox .form-check-label:before {
    position: absolute;
    top: 0em;
    left: 0;
    height: 1rem;
    width: 1rem;
    background-color: #fff;
    border: 0.15em solid #223654;
    box-sizing: border-box;
    cursor: pointer;
    content: '';
    margin-top: 0rem;
}
.Formulaire .form-element.form-element-check .form-check-input:checked ~ .form-check-label:before,
.Formulaire .form-element.form-element-radio .form-check.form-element-multicheckbox .form-check-input:checked ~ .form-check-label:before {
    background-color: #1472bf;
    border: 0;
}
.Formulaire .form-element.form-element-check .form-check-input:disabled ~ .form-check-label,
.Formulaire .form-element.form-element-radio .form-check.form-element-multicheckbox .form-check-input:disabled ~ .form-check-label {
    color: #c5cad2;
}
.Formulaire .form-element.form-element-check .form-check-input:disabled ~ .form-check-label:before,
.Formulaire .form-element.form-element-radio .form-check.form-element-multicheckbox .form-check-input:disabled ~ .form-check-label:before {
    border: 0.15em solid #c5cad2;
}
.Formulaire .form-element.form-element-check .form-check-input:focus ~ .form-check-label:before,
.Formulaire .form-element.form-element-radio .form-check.form-element-multicheckbox .form-check-input:focus ~ .form-check-label:before {
    outline: 0.15em solid #4a98d9;
}
.Formulaire .form-element.form-element-check .form-check-input:active ~ .form-check-label:before,
.Formulaire .form-element.form-element-radio .form-check.form-element-multicheckbox .form-check-input:active ~ .form-check-label:before {
    outline: 0 solid #4a98d9;
    border: 0.15em solid #223654;
}
.Formulaire .form-element.form-element-check .form-check-label:after,
.Formulaire .form-element.form-element-radio .form-check.form-element-multicheckbox .form-check-label:after {
    content: "";
    position: absolute;
    display: none;
}
.Formulaire .form-element.form-element-check .form-check-input:checked ~ .form-check-label:after,
.Formulaire .form-element.form-element-radio .form-check.form-element-multicheckbox .form-check-input:checked ~ .form-check-label:after {
    display: block;
}
.Formulaire .form-element.form-element-check .form-check-label:after,
.Formulaire .form-element.form-element-radio .form-check.form-element-multicheckbox .form-check-label:after {
    left: 0.35em;
    top: 0.55em;
    width: 0.3em;
    height: 0.72em;
    border: solid white;
    border-width: 0 0.15em 0.15em 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.Formulaire .form-element.form-element-check > span.invalid-feedback {
    width: 100%;
    position: relative;
    display: inline-block;
    margin-top: 0.5em;
}

.Formulaire .form-element.form-element-check .form-check-label span.required {
    font-weight: bold;
}

.Formulaire .form-element.form-element-check .form-check-input.is-invalid ~ .form-check-label {
    color: #223654;
}

.Formulaire .form-element.form-element-check .form-check-input.is-invalid ~ .form-check-label:before {
    border-color: #cb381f;
}

.Formulaire .form-element.form-element-check .form-check-wrapping-label {
    display: flex;
}

/* Case à cocher (format par défaut) */
.Formulaire .form-element.form-element-check.checkbox-default .form-check-wrapping-label,
.Formulaire .form-element.form-element-radio .form-check.form-element-multicheckbox.checkbox-default .form-check-wrapping-label {
    font-size: 1.2em;
}

/* Case à cocher (format compact) */
/* .form-element.form-element-check.checkbox-compact .form-check-wrapping-label,
.form-element.form-element-radio .form-check.form-element-multicheckbox.checkbox-compact .form-check-wrapping-label {
    font-size: 0.9em;
} */

.Formulaire .form-element.form-element-check.checkbox-compact .form-check-label:before,
.Formulaire .form-element.form-element-radio .form-check.form-element-multicheckbox.checkbox-compact .form-check-label:before {
    top: 0.5rem;
}

/* .form-element.form-element-check.checkbox-compact .form-check-label:after,
.form-element.form-element-radio .form-check.form-element-multicheckbox.checkbox-compact .form-check-label:after {
    top: 0.8em;
} */

/******** champs en erreur ********/

.Formulaire input.is-invalid:not(input[type="file"]),
.Formulaire textarea.is-invalid,
.Formulaire select.is-invalid {
    border: 0.2em solid #cb381f;
}

/* message d'erreur */

.Formulaire span.invalid-feedback {
    margin-top: 0.5rem;
    font-weight: bold;
    color: #cb381f;
    font-size: 1rem;
    order: 3;
}

.Formulaire span.invalid-feedback:before {
    content: "";
    display: inline-block;
    width: 1.5rem;
    height: 1.25rem;
    background-image: url("/_assets/8b5470729627060287ec80151aeaf598/Icons/error-triangle.svg?v=1");
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-bottom: 0.3rem;
}

/******** Input upload fichiers ********/

/* .Formulaire .form-element-fileupload {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 2em;
    flex-wrap: wrap;
}

.Formulaire .form-element-fileupload input[type="file"] {
    margin-left: -4em;
}

.Formulaire .form-element-fileupload input[type="file"]::file-selector-button,
.Formulaire .form-element-fileupload input[type="file"]::-webkit-file-upload-button { */
    /* au lieu de display: none, j'ai ajouté ces propriétés car pour cas téléphones IOS, display: none */
    /* ne fonctionne pas comme voulu */
    /* width: 0px;
    height: 0px;
    overflow: hidden;
    border: none;
    background-color: #ffffff;
}

.Formulaire .form-element-fileupload label {
    display: none;
    order: 1;
}

.Formulaire .form-element-fileupload .button-upload-file {
    margin-bottom: 0px;
    font-size: 1em;
}

.Formulaire .form-element-fileupload div.bloc-button-upload-file {
    order: 2;
    flex-basis: 38%;
}

.Formulaire .form-element-fileupload input[type="file"] {
    order: 3;
    flex-basis: 35%;
}

.Formulaire .form-element-fileupload span.invalid-feedback {
    order: 4;
    flex-basis: 100%;
} */

/******** Boutons ********/
/* Bouton standard */
.Formulaire .btn {
    font-family: "Open Sans";
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.5rem;
    display: inline-block;
    box-sizing: border-box;
    min-width: 7rem;
    padding: 0.875rem 1.375rem;
    transition: all 0.24s ease-in-out;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    border: 0.125rem solid transparent;
    border-radius: 0;
}

/* Bouton standard */
.Formulaire .btn-principal button:disabled,
.Formulaire .btn-secondaire button:disabled,
.Formulaire .btn-tertiaire button:disabled,
.Formulaire .btn-danger button:disabled,
.Formulaire .btn-primary:disabled,
.Formulaire .btn-cancel:disabled {
    opacity: 0.65;
}

/* bouton principal */
.Formulaire .btn-principal button,
.Formulaire .btn-primary,
.Formulaire .btn-cancel {
    color: #fff;
    border-color: #095797;
    background-color: #095797;
    box-shadow: 0 0.0625rem 0.25rem rgba(34, 54, 84, 0.24);
}

.Formulaire .btn.btn-cancel:hover {
    color: #fff;
}

.Formulaire .btn-principal button:hover:enabled,
.Formulaire .btn-primary:hover:enabled,
.Formulaire .btn-cancel:hover:enabled {
    border: 0.125rem solid transparent;
    border-color: #1472bf;
    background-color: #1472bf;
}

.Formulaire .btn-principal button:focus,
.Formulaire .btn-primary:focus,
.Formulaire .btn-cancel:focus {
    border: 0.125rem solid transparent;
    border-color: #223654;
    background-color: #1472bf;
    box-shadow: 
        0 0.125rem 0.5rem rgba(34, 54, 84, 0.24),
        0 0 0 0.125rem #4a98d9;
}

.Formulaire .btn-primary:not(:disabled):not(.disabled):active:focus,
.Formulaire .btn-cancel:not(:disabled):not(.disabled):active:focus {
    box-shadow: 
        0 0.125rem 0.5rem rgba(34, 54, 84, 0.24),
        0 0 0 0.125rem #4a98d9;
}

.Formulaire .btn-principal button:active:enabled,
.Formulaire .btn-primary:active:enabled,
.Formulaire .btn-primary:not(:disabled):not(.disabled):active,
.Formulaire .btn-cancel:active:enabled,
.Formulaire .btn-cancel:not(:disabled):not(.disabled):active {
    border: 0.125rem solid transparent;
    border-color: #3783c9;
    background-color: #3783c9;
    padding: 0.875rem 1.375rem;
}

/* Pour le bouton qui soumet le formulaire, ça ajoute un disabled quand le bouton est 
cliqué, il faut donc ajouter la bordure sinon ça applique pas la bonne bordure
et donne une apparence que le bouton diminue en hauteur quand il est cliqué 
et ça applique une autre couleur de background */
.Formulaire .btn-primary:disabled,
.Formulaire .btn-primary.disabled,
.Formulaire .btn-cancel:disabled,
.Formulaire .btn-cancel.disabled {
    border: 0.125rem solid transparent;
    border-color: #3783c9;
    background-color: #3783c9;
}

/* bouton secondaire */
.Formulaire .btn-secondaire button {
    color: #095797 !important;
    background-color: transparent;
    border-color: #095797 !important;
}
.Formulaire .btn-secondaire button:hover:enabled {
    background-color: rgba(9, 87, 151, 0.16);
}
.Formulaire .btn-secondaire button:focus {
    border-color: #223654 !important;
    background-color: rgba(9, 87, 151, 0.16);
    box-shadow: 0 0 0 0.125rem #4a98d9;
}
.Formulaire .btn-secondaire button:active:enabled {
    background-color: rgba(9, 87, 151, 0.08);
}

/* bouton tertiaire */
.Formulaire .btn-tertiaire button {
    cursor: pointer;
    font-weight: bold;
    line-height: 1.3em;
    display: inline-block;
    box-sizing: border-box;
    min-width: 6em;
    padding: 0.75em 1.2em;
    transition: all 0.24s ease-in-out;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    border: 0.15em solid transparent;
    border-radius: 0;
    color: #095797;
    background-color: transparent;
}
.Formulaire .btn-tertiaire button:hover:enabled {
    text-decoration: underline;
    background-color: rgba(197, 202, 210, 0.24);
}
.Formulaire .btn-tertiaire button:focus {
    border-color: #223654;
    background-color: rgba(197, 202, 210, 0.24);
    box-shadow: 0 0 0 0.15em #4a98d9;
}
.Formulaire .btn-tertiaire button:active:enabled {
    background-color: rgba(197, 202, 210, 0.16);
}

/* bouton d'avertissement */
.Formulaire .btn-danger button {
    cursor: pointer;
    font-weight: bold;
    line-height: 1.3em;
    display: inline-block;
    box-sizing: border-box;
    min-width: 6em;
    padding: 0.75em 1.2em;
    transition: all 0.24s ease-in-out;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    border: 0.15em solid transparent;
    border-radius: 0;
    color: #fff;
    border-color: #cb381f;
    background-color: #cb381f;
}
.Formulaire .btn-danger button:hover:enabled {
    border-color: #b52e16;
    background-color: #b52e16;
}
.Formulaire .btn-danger button:focus {
    border-color: #223654;
    background-color: #b52e16;
    box-shadow: 0 0 0 0.15em #4a98d9;
}
.Formulaire .btn-danger button:active:enabled {
    border-color: #eb705a;
    background-color: #eb705a;
}

/************** bouton soumission***********************/

#main .Formulaire button {
    height: auto !important;
}

.Formulaire .actions .form-navigation .btn-toolbar {
    display: block;
    justify-content: unset;
    flex-wrap: unset;
    margin-top: 2rem;
    margin-bottom: 1rem;
    padding-left: 0;
    padding-right: 0;
}

.Formulaire .actions .form-navigation .btn-group .btn-group button {
    margin-top: 3rem;
}

.Formulaire .btn-group > .btn:not(:first-child),
.Formulaire .btn-group > .btn-group:not(:first-child) {
    margin-left: 0rem;
}

.Formulaire .btn-group .sd-icon {
    position: relative;
    top: 2px;
    margin-right: 8px;
    width: 16px;
    height: 16px;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: center;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
}

.Formulaire .btn-group .sd-icon-previous {
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='12' viewBox='0 0 16 12'%3E%3Cpath id='Tracé_724' data-name='Tracé 724' d='M.331,7.267c.01-.011.014-.026.025-.037L5.293,2.293A1,1,0,0,1,6.707,3.707L3.414,7H15a1,1,0,1,1,0,2H3.414l3.293,3.293a1,1,0,0,1-1.414,1.414L.356,8.77C.345,8.759.341,8.744.331,8.733a.977.977,0,0,1,0-1.466Z' transform='translate(0 -2)' fill='%23fff'/%3E%3C/svg%3E%0A");
}

.Formulaire .btn-group .sd-icon-next {
    margin-left: 8px;
    margin-right: 0px;
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='12' viewBox='0 0 16 12'%3E%3Cpath id='Tracé_725' data-name='Tracé 725' d='M15.669,7.267c-.01-.011-.014-.026-.025-.037L10.707,2.293A1,1,0,1,0,9.293,3.707L12.586,7H1A1,1,0,1,0,1,9H12.586L9.293,12.293a1,1,0,1,0,1.414,1.414L15.644,8.77c.011-.011.015-.026.025-.037a.977.977,0,0,0,0-1.466Z' transform='translate(0 -2)' fill='%23fff'/%3E%3C/svg%3E%0A");
}

/******** Page recapitulative ********/
.Formulaire.gFormulaire-resume {
    width: auto;
}

.Formulaire.gFormulaire-resume .summary-table-last-col {
    float: right;
    text-align: justify;
    font-size: 1em;
    padding-bottom: 0.5em;
    padding-right: 0rem;
    padding-left: 0rem;
}

.Formulaire.gFormulaire-resume .summary-table-first-col {
    padding-right: 1em;
    font-weight: bold;
    font-size: 1em;
    padding-bottom: 0.5em;
    padding-left: 0rem;
}

.Formulaire.gFormulaire-resume .gFormulaire-resume-contenu .gFormulaire-resume-section-title {
    font-size: 1.2em;
    padding-top: 1em;
    padding-bottom: 1em;
    font-weight: bold;
}

/* .Formulaire.gFormulaire-resume .gFormulaire-resume-contenu .table-responsive .table {
    margin: auto;
} */

.Formulaire.gFormulaire-resume table tr,
.Formulaire.gFormulaire-resume table td {
    border: none;
}

.Formulaire.gFormulaire-resume .gFormulaire-resume-contenu table tr {
    display: flex;
    flex-direction: column;
}

@media (min-width: 1200px) {
    .Formulaire h2 {
        padding-right: 0;
    }
}

@media (max-width: 768px) {
    .Formulaire .champ-large,
    .Formulaire .form-element-gridrow {
        width: 35em;
    }

    .Formulaire fieldset legend:not(.form-element-radio legend) {
        margin-bottom: 2rem !important;
    }

    #main .Formulaire .form-element.form-element-fieldset .form-element.form-element-gridrow .form-element {
        margin-top: 0rem;
    }

    .Formulaire [id^="quebecenalertesignalerprobleme-"][id$="-fieldset-code-postal-ville"] .form-element-gridrow.row {
        flex-direction: column;
    }

    .Formulaire [id^="quebecenalertesignalerprobleme-"][id$="-fieldset-code-postal-ville"] .form-element-gridrow.row #gFormulaire-code-postal-ou-ville {
        margin-left: 0rem;
        margin-top: 0rem;
    }

    .Formulaire [id^="quebecenalertesignalerprobleme-"][id$="-fieldset-code-postal-ville"] .form-element-gridrow.row .form-element-text.champ-large,
    .Formulaire [id^="quebecenalertesignalerprobleme-"][id$="-fieldset-code-postal-ville"] .form-element-gridrow.row .clearfix {
        width: 33em;
    }
}

@media (min-width: 768px) {
    /* .Formulaire h2 {
        line-height: 2.75rem;
    } */
}

.Formulaire label[for^="quebecenalertesignalerprobleme-"][for$="-code-postal"] span.required {
    display: none;
    visibility: hidden;
}

.Formulaire #gFormulaire-code-postal-ou-ville {
    margin-top: 1rem;
    margin-left: -1.125rem;
    margin-right: 1rem;
}

/*********************************************************************************************************************/
/****************************************************************************************************** media 1024 ***/
/*********************************************************************************************************************/

@media (max-width: 1024px) {
    /* .Formulaire {
        font-size: 1.5vw;
    } */

    .form-element-fileupload input[type="file"] {
        margin-left: 0em;
    }    
}

/*********************************************************************************************************************/
/******************************************************************************************************* media 640 ***/
/*********************************************************************************************************************/

@media (max-width: 640px) {
    /* .Formulaire {
        font-size: 3.5vw;
    } */

    .Formulaire .champ-extra-large,
    .Formulaire .champ-large,
    .Formulaire .champ-moyen,
    .Formulaire .champ-petit,
    .Formulaire .form-element-textarea,
    .Formulaire .form-element-select,
    .Formulaire .form-element-multiselect {
        max-width: 85vw;
    }
    /* Champ extra large */
    .Formulaire .champ-extra-large,
    .Formulaire .champ-large,
    .Formulaire .form-element-select.select-grand,
    .Formulaire .form-element-select.select-grand .dropdown-toggle,
    .Formulaire .form-element-select.select-grand .dropdown ul.dropdown-menu {
        width: 27em;
    }

    .Formulaire .form-element-gridrow {
        width: 29em;
    }

    .Formulaire [id^="quebecenalertesignalerprobleme-"][id$="-fieldset-code-postal-ville"] .form-element-gridrow.row .form-element-text.champ-large,
    .Formulaire [id^="quebecenalertesignalerprobleme-"][id$="-fieldset-code-postal-ville"] .form-element-gridrow.row .clearfix {
        width: 27em;
    }

    /* Textarea */
    .Formulaire .form-element-textarea {
        width: 27em !important;
    }

    /* Liste déroulante grande */
    /* .select-grand > div.form-element-select,
    .select-grand > div.form-element-multiselect {
        width: 27em;
    } */

    .Formulaire .form-element-select.select-grand .dropdown-toggle,
    .Formulaire .form-element-select.select-grand .dropdown ul.dropdown-menu {
        width: 100%;
    }

    /* Bouton radio */
    .Formulaire .form-element-radio .form-check .form-check-wrapping-label input {
        min-width: 2em;
        margin-right: 0em;
    }

    /* Bouton de soumission du formulaire */
    .Formulaire .btn-primary {
        width: 100%;
    }
    
    /* Input upload de fichiers */
    .Formulaire .form-element-fileupload {
        display: flex;
        flex-direction: column;
        align-items: normal;
    }

    .Formulaire .form-element-fileupload .button-upload-file {
        margin-right: 0em;
        margin-bottom: 0.5em;
    }

    .Formulaire .form-element-fileupload span.invalid-feedback {
        margin-left: 0.6em;
    }

    .Formulaire .actions .form-navigation .btn-group .btn-group button {
        margin-top: 1.5rem;
    }

    /******** Page recapitulative ********/
    .Formulaire.gFormulaire-resume {
        padding-left: 0em;
        padding-right: 0em;
    }
}