/* Styles configuration */
:root {
    --cf7-font: inherit;
    --cf7-font-size: 18px;
    --cf7-font-weight: 300;
    --cf7-labels: #5a6e81;
    --cf7-input-text: #333333;
    --cf7-accent: #066aab;
    --cf7-accent-hover: #005a87;
    --cf7-accent-outline: #b9d9ff;
    --cf7-accent-text: #ffffff;
    --cf7-warning: #fb584e;
    --cf7-warning-bg: #FFEDEC;
    --cf7-success: #00B474;
    --cf7-success-bg: #E6FFF0;
}

.cfa-thank-you {
  text-align: center;
  padding: 40px;
  background-color: #f0f8ff;
  border-radius: 8px;
  margin-top: 20px;
  margin-bottom: 20px;
}

.cfa-thank-you p {
margin-block-end: 1em !important;
}

.cfa-thank-you h2 {
margin-block-start: 0.15rem !important;
font-size: 30px !important;
}

.sent .wpcf7-response-output {
display: none;
}

.wpcf7-spinner {
display: block !important;
background-color: #65a1dd !important;
position: relative !important;
margin-left: auto !important;
margin-right: auto !important;
text-align: center !important;
}

.cfa-contact-form .form-part-01,
.cfa-contact-form .form-part-02,
.cfa-contact-form .form-part-03,
.cfa-contact-form .form-part-04 {
  pointer-events: none;
}
.cfa-contact-form .form-part-active {
  pointer-events: auto;
}

/* Hide all form parts except active */
/* Base state: hidden and removed from layout */
.cfa-contact-form .cfa-form-start,
.cfa-contact-form .form-part-01,
.cfa-contact-form .form-part-02,
.cfa-contact-form .form-part-03,
.cfa-contact-form .form-part-04 {
  opacity: 0;
  visibility: hidden;
  height: 0;
  overflow: hidden;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

/* Active state: visible and faded in */
.cfa-contact-form .form-part-active {
  opacity: 1;
  visibility: visible;
  height: auto;
  overflow: visible;
}

.cfa-thank-you {
  opacity: 0;
  animation: fadeIn 0.6s ease forwards;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Hide conditional fields by default */
.form-txt-area-family,
.form-txt-children,
.satisfied-with-job,
.form-txt-area-interest,
.cfa-not-satisfied {
  display: none;

}

.cfa-not-satisfied {
  margin-top: 20px;
}


/* Center pagination buttons */
.cfa-form-pagination {
  text-align: center;
  margin-top: 20px;
  margin-bottom: 20px
}
.cfa-form-progress {
color: #7c848c;
font-weight: 500;
padding-top: 20px;

}

.cfa-form-pagination button {

  margin: 0 10px;

  background-color: var(--cf7-accent-hover);
transition: .2s linear;
  cursor: pointer;
  color: var(--cf7-accent-text);
border: 0;
padding: 24px;
border-radius: 26px;
font-size: 18px;
font-weight: 600;
font-family: var(--cf7-font);

line-height: 0px;
margin-top: 20px;
margin-bottom: 30px;
}

.next-btn:after {
content: '\f061';
font-size: 16px;
font-family: FontAwesome;
display: inline-block;
vertical-align: top;
margin-left: 4px;
height: auto;
width: 20px;
-webkit-font-smoothing: antialiased;
text-align: right;
color: #fcfcfc;
font-weight: normal;

}
.prev-btn:before {
content: '\f060';
font-size: 16px;
font-family: FontAwesome;
display: inline-block;
vertical-align: top;
margin-right: 4px;
height: auto;
width: 20px;
-webkit-font-smoothing: antialiased;
text-align: left;
color: #fcfcfc;
font-weight: normal;
}


.cf7-container {
width: 100%;
}

::placeholder {
color: grey;
}

.form-section-title {
font-weight: 600;
padding-bottom: 10px;
display: inline-block;
font-size: 22px !important;
}

.form-checkbox-family {

}

.form-txt-area {
margin-top: 16px !important;

}

.cfa-form-txt-field {

}

.form-hr {
border-left: 0px;
border-right: 0px;
border-top: 0px;
border-bottom: 1px solid #ace1ff;
height: 1px;
margin-top: 20px;
margin-bottom: 24px;
}

.form-txt-descriptions {
display: inline-block;
margin-bottom: 10px;
font-size: 18px;
}

/* Radio Buttons */

.language-levels {

}

.cfa-radio-btn {
  display: flex;
  flex-direction: column;
  gap: 10px; /* Adds spacing between each radio item */
  padding-top: 10px;
  font-size: 18px;
}

.cfa-radio-btn .wpcf7-list-item {
  display: block;
}

.cfa-arrival {

}

.cfa-drop-menu {
margin-bottom: 26px;
}

.cfa-checkboxes {
display: flex !important;
  flex-direction: column;
  gap: 10px; /* Adds spacing between each radio item */
  padding-top: 10px;
  font-size: 18px;

}

.cfa-checkboxes .wpcf7-list-item {
display: block;
}

.checkboxes-interest {

}

/* Columns */

.two-column-form {
  display: flex;
  flex-wrap: wrap;
}

.form-column {
  flex: 1;
  min-width: 250px;
}

.cf7-container p {
font-size: 18px;
margin-block-start: 0.25em;
margin-block-end: 0.25em;

}

.form-column input,
.form-column textarea {
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
}

.form-txt-area-interest {

}

.checkboxes-needs {

}

/*--Start Interative --*/

.cfa-radio-btn-job {

}

/*-- Initialy Hidden  --*/

.form-txt-area-family {

}

.form-txt-children {

}

.cfa-radio-btn-job-yes {

}
.satisfied-with-job {

}
.form-txt-area-interest {

}


/* General Settings */
.wpcf7 {
    font-family: var(--cf7-font);
    font-weight: var(--cf7-font-weight);
    width: 100% !important;
}
.wpcf7 label {
    color: var(--cf7-labels);
}
.wpcf7-list-item {
    margin-left: 0 !important;
    margin-right: 15px !important;
}
.wpcf7 a {
    color: var(--cf7-accent) !important;
    text-decoration: none;
}
.wpcf7 a:hover {
    color: var(--cf7-accent-hover) !important;
}
/* General Inputs */
.wpcf7 input[type=color],
.wpcf7 input[type=date],
.wpcf7 input[type=datetime-local],
.wpcf7 input[type=datetime],
.wpcf7 input[type=email],
.wpcf7 input[type=month],
.wpcf7 input[type=number],
.wpcf7 input[type=search],
.wpcf7 input[type=tel],
.wpcf7 input[type=text],
.wpcf7 input[type=time],
.wpcf7 input[type=url],
.wpcf7 input[type=week],
.wpcf7 textarea
{
    border: 1px solid #92ACC7;
	background-color: #ffffff;
	border-radius: 6px;
    line-height: 1.3;
    padding: .375rem .75rem;
    color: var(--cf7-input-text);
    min-height: 35px;
    font-size: var(--cf7-font-size);
    font-weight: var(--cf7-font-weight);
    font-family: var(--cf7-font);
    width: 96%;
	margin-top: 8px;
	margin-bottom: 8px;

}
/* Other Inputs */
.wpcf7 input[type=submit] {
    background-color: var(--cf7-accent);
color: var(--cf7-accent-text);
border: 0;
padding: 24px;
border-radius: 26px;
font-size: 20px;
font-weight: 600;
font-family: var(--cf7-font);
transition: .2s linear;
line-height: 0px;
margin-top: 20px;
margin-bottom: 30px;
display: block;
margin-left: auto;
margin-right: auto;
align-content: right;

}

.wpcf7 input:hover[type=submit] {
    background-color: var(--cf7-accent-hover);
    transition: .2s linear;
    cursor: pointer;
}
.wpcf7 input:focus[type=submit] {
    background-color: var(--cf7-accent-hover);
    outline: none;
    border: 0;
    box-shadow: 0 0 0 3px var(--cf7-accent-outline);
}
.wpcf7 input[type=file] {
    color: var(--cf7-input-text);
    font-size: var(--cf7-font-size);
    font-weight: var(--cf7-font-weight);
    font-family: var(--cf7-font);
}
.wpcf7 input:focus[type=file] {
    outline: none;
    border: 0;
}
.wpcf7 input[type=file]::file-selector-button,
.wpcf7 select
{
    border: 1px solid #6DA9E6;
    background-color: #ffffff;
    border-radius: 6px;
    line-height: 1.3;
    padding: 0.7rem 1rem;
    color: var(--cf7-input-text);
    min-height: 35px;
    font-size: var(--cf7-font-size);
    font-weight: var(--cf7-font-weight);
    font-family: var(--cf7-font);
}
.wpcf7 input[type=file]::file-selector-button {
    cursor: pointer;
    margin-right: 20px;
}
/* Custom Checkbox */
.wpcf7 input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid var(--cf7-accent);
    border-radius: 6px;
    margin: 0;
    display: grid;
    place-content: center;
    cursor: pointer;
	align-self: start;
margin-top: 4px;
}
.wpcf7 input[type="checkbox"]:before {
    content: "\f147";
    font-family: 'dashicons';
    font-weight: 300;
    font-size: 15px;
    line-height: 17px;
    width: 18px;
    height: 18px;
    color: var(--cf7-accent);
    text-align: center;
    border-radius: 6px;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 20px 20px var(--cf7-accent);
}
.wpcf7 input[type="checkbox"]:checked::before {
    transform: scale(1);
}
.wpcf7-checkbox label,
.wpcf7-acceptance label,
.wpcf7-radio label {
    display: flex;
    align-items: center;
    gap: 10px;
}
/* Custom Radio */
.wpcf7 input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    background-color: transparent;
    margin: 0;
    font: inherit;
    color: var(--cf7-accent);
    width: 16px;
    height: 16px;
    border: 2px solid var(--cf7-accent);
    border-radius: 100%;
    display: grid;
    place-content: center;
    cursor: pointer;
	align-self: start;
	margin-top: 4px;
}
.wpcf7 input[type="radio"]::before {
    content: "";
    width: 13px;
    height: 13px;
    border-radius: 100%;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em var(--cf7-accent);
}
.wpcf7 input[type="radio"]:checked::before {
    transform: scale(1);
}
/* Other States */
.wpcf7 input:hover[type=color],
.wpcf7 input:hover[type=date],
.wpcf7 input:hover[type=datetime-local],
.wpcf7 input:hover[type=datetime],
.wpcf7 input:hover[type=email],
.wpcf7 input:hover[type=month],
.wpcf7 input:hover[type=number],
.wpcf7 input:hover[type=search],
.wpcf7 input:hover[type=tel],
.wpcf7 input:hover[type=text],
.wpcf7 input:hover[type=time],
.wpcf7 input:hover[type=url],
.wpcf7 input:hover[type=week],
.wpcf7 input:hover[type=file]::file-selector-button,
.wpcf7 textarea:hover,
.wpcf7 select:hover
{
    border: 1px solid #92ACC7;
    outline: none;
    background-color: #ffffff;
    font-size: var(--cf7-font-size);
}
.wpcf7 input:focus[type=color],
.wpcf7 input:focus[type=date],
.wpcf7 input:focus[type=datetime-local],
.wpcf7 input:focus[type=datetime],
.wpcf7 input:focus[type=email],
.wpcf7 input:focus[type=month],
.wpcf7 input:focus[type=number],
.wpcf7 input:focus[type=search],
.wpcf7 input:focus[type=tel],
.wpcf7 input:focus[type=text],
.wpcf7 input:focus[type=time],
.wpcf7 input:focus[type=url],
.wpcf7 input:focus[type=week],
.wpcf7 input:focus[type="checkbox"],
.wpcf7 textarea:focus,
.wpcf7 select:focus,
.wpcf7 a:focus
{
    border: 1px solid #92ACC7;
    outline:none;
    box-shadow: 0 0 0 3px var(--cf7-accent-outline);
    background-color: #ffffff;
}
/* Invalid Fields */
.wpcf7-not-valid-tip {
    color: var(--cf7-warning) !important;

	font-size: 12px !important;
text-transform: uppercase;
font-weight: 500 !important;
letter-spacing: 1px;
margin-top: 10px;
}
.wpcf7-not-valid:not(input[type=file]):not(span){
    border-color: #FFBAB6 !important;
    background-color: #FFFAFA !important;
}
.wpcf7 input:disabled[type=submit],
.wpcf7 input:disabled[type=submit]:hover
{
    color: #ffffff;
    background-color: var(--cf7-warning);
    border:0;
    cursor: not-allowed;
}
/* Response Messages */
.wpcf7 form.init .wpcf7-response-output {
    display: none;
}
.wpcf7 form .wpcf7-response-output { /* Default */
    margin: 15px 0 !important;
    padding: 10px 20px !important;
    border: 0 !important;
    border-radius: 6px !important;
}
.wpcf7 form.sent .wpcf7-response-output { /* Success */
    background-color: var(--cf7-success-bg) !important;
    color: var(--cf7-success) !important;
    border: 0 !important;
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output{ /* Failed */
    background-color: var(--cf7-warning-bg) !important;
    color: var(--cf7-warning) !important;
    border: 0 !important;
	text-align: center;
}