/* Freeform Flexbox CSS - Dalva customized */
/* Fichier commun a tous les formulaires Freeform */

/* Loading button animation */
button[type=submit].ff-loading,
button[type=submit].freeform-processing {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
}

button[type=submit].ff-loading:before,
button[type=submit].freeform-processing:before {
  content: '';
  display: block;
  flex: 1 0 11px;
  width: 11px;
  height: 11px;
  margin-right: 10px;
  border-style: solid;
  border-width: 2px;
  border-color: transparent transparent white white;
  border-radius: 50%;
  animation: ff-loading .5s linear infinite;
}

button[type=submit] {
  margin-top:15px;
}
.freeform-column:has([data-hidden]) {
  display: none;
}

#form-input-accept {
  padding-top:10px;
}

@keyframes ff-loading {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(1turn);
  }
}

/* Multi-page forms */
.freeform-pages {
  display: flex;
  padding: 0;
  margin: 0 0 10px;
  list-style: none;
}

.freeform-pages li {
  margin: 0 10px 0 0;
}

/* Row layout */
.freeform-row {
  display: flex;
  justify-content: space-between;
  margin: 0 -15px;
}

/* Column layout */
.freeform-row .freeform-column {
  flex: 1 0;
  padding: 2px 0;
  margin: 0 9px;
  box-sizing: border-box;
}

.freeform-row .freeform-column > .freeform-row:first-child {
  margin-top: -10px;
}

.freeform-row .freeform-column label {
  display: block;
}

/* Input group one line (radios/checkboxes inline) */
.freeform-row .freeform-column .input-group-one-line {
  display: flex;
  flex-wrap: wrap;
}

.freeform-row .freeform-column .input-group-one-line label {
  padding-right: 20px;
}

/* Labels */
.freeform-row .freeform-column .freeform-label {
  font-weight: bold;
}

.freeform-row .freeform-column .freeform-label.freeform-required:after {
  content: "*";
  margin-left: 5px;
  color: red;
}

/* Inputs */
.freeform-row .freeform-column .freeform-input {
  width: 100%;
  display: block;
  box-sizing: border-box;
  margin-bottom: 0px !important;
}

.freeform-row .freeform-column .freeform-input[type=checkbox],
.freeform-row .freeform-column .freeform-input[type=radio] {
  margin-right: 5px;
  height: 16px !important;
  width: 16px !important;
  display: inline-block;
}

.freeform-row .freeform-column .freeform-input[type=checkbox] {
  margin-right: 10px !important;
}

/* Stripe element */
.freeform-row .freeform-column .freeform-input.StripeElement {
  padding: 4px 2px;
  border: 1px solid #CCCCCC;
  height: 30px;
}

/* Input only label (checkbox/radio inline) */
.freeform-row .freeform-column .freeform-input-only-label {
  font-weight: normal;
}

.freeform-row .freeform-column .freeform-input-only-label > .freeform-input {
  display: inline-block;
  width: auto;
  margin-right: 5px;
}

/* Errors */
.freeform-row .freeform-column .freeform-errors,
.freeform-row .freeform-column .ff-errors {
  list-style: none;
  padding: 0;
  margin: 5px 0 0;
}

.freeform-row .freeform-column .freeform-errors > li,
.freeform-row .freeform-column .ff-errors > li {
  color: red;
}

/* Instructions */
.freeform-row .freeform-column .freeform-instructions {
  margin: 0 0 5px;
  font-size: 13px;
  color: #ABA7A7;
}

/* Column content alignment */
.freeform-row .freeform-column.freeform-column-content-align-left {
  display: flex;
  justify-content: flex-start;
}

.freeform-row .freeform-column.freeform-column-content-align-left > button:not(:first-of-type) {
  margin-left: 5px;
}

.freeform-row .freeform-column.freeform-column-content-align-center {
  display: flex;
  justify-content: center;
}

.freeform-row .freeform-column.freeform-column-content-align-center > button:not(:first-of-type) {
  margin-left: 5px;
}

.freeform-row .freeform-column.freeform-column-content-align-right {
  display: flex;
  justify-content: flex-end;
}

.freeform-row .freeform-column.freeform-column-content-align-right > button:not(:first-of-type) {
  margin-left: 5px;
}

.freeform-row .freeform-column.freeform-column-content-align-spread {
  display: flex;
  justify-content: space-between;
}

.freeform-row .freeform-column.freeform-column-content-align-spread > button:not(:first-of-type) {
  margin-left: 5px;
}

/* Form messages - errors */
.ff-form-errors,
.freeform-form-errors {
  padding: 15px;
  border: 1px solid #f5c6cb;
  background: #f8d7da;
  border-radius: 5px;
  color: #721c24;
}

.ff-form-errors > p,
.freeform-form-errors > p {
  margin: 0;
}

.freeform-form-has-errors {
  color: #721c24;
}

/* Form messages - success */
.ff-form-success,
.freeform-form-success {
  padding: 15px;
  background: #edfbf6;
  color: #32d296;
  border: 0px;
  border-radius: 5px;
}

.ff-form-success > p,
.freeform-form-success > p {
  margin: 0;
}

/* Instruction block */
.freeform-row .instruction-form {
  margin: 0 16px;
}

.instruction-form p {
  margin: 0px;
}

.form-legal {
  margin-top:-6px;
}

