/*
 Theme Name:     Divi Child
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Elegant Themes
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.0.0
*/


/* =Theme customization starts here
------------------------------------------------------- */

/********** Gravity Forms Style **********/
/* All Gravity Forms */
.gform_wrapper {
  --deveaus-orange: #f97316;
  --deveaus-blue: #062a64;
  --deveaus-border: #e2e6eb;
  --deveaus-muted: #9aa4b2;

  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 34px 32px 18px;
  box-sizing: border-box;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e9edf1;
  border-radius: 22px;
  box-shadow: 0 18px 28px rgba(6, 42, 100, 0.14);
}
.gform_wrapper.gravity-theme input[type=number] {
    border: 1px solid #dadfe4 !important;
	border-radius: 5px !important;
}

h2.gform_title {
    margin-bottom: 20px;
}

.gfield_description.instruction {
    display: none !important;
}

/* Custom “Send Us a Message” heading — Form ID 1 only */
#gform_wrapper_1 .gform_heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 34px !important;
  padding: 0;
}

#gform_wrapper_1 .gform_heading::before {
  content: "";
  flex: 0 0 6px;
  width: 6px;
  height: 24px;
  background: var(--deveaus-orange);
  border-radius: 999px;
}

#gform_wrapper_1 .gform_heading::after {
  content: "SEND US A MESSAGE";
  color: var(--deveaus-blue);
  font-family: "Anton", "Arial Narrow", sans-serif;
  font-size: 25px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
}

#gform_wrapper_1 .gform_heading > * {
  display: none;
}

/* Field layout — all Gravity Forms */
.gform_wrapper .gform_fields {
  column-gap: 12px !important;
  row-gap: 24px !important;
}

.gform_wrapper .gfield,
.gform_wrapper fieldset.gfield {
  margin: 0;
  padding: 0;
  border: 0;
}

/* Field labels — all Gravity Forms */
.gform_wrapper .gfield_label,
.gform_wrapper legend.gfield_label {
  display: block;
  margin: 0 0 9px !important;
  padding: 0;
  color: var(--deveaus-blue);
  font-family: "Inter", Arial, sans-serif;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0;
  text-transform: uppercase;
}

/* Replace “(Required)” with an orange star — all Gravity Forms */
.gform_wrapper .gfield_required_text {
  display: inline-block;
  width: 0;
  overflow: visible;
  color: transparent !important;
  font-size: 0 !important;
  white-space: nowrap;
}

.gform_wrapper .gfield_required_text::after {
  content: "*";
  margin-left: 5px;
  color: var(--deveaus-orange);
  font-size: 12px;
  font-weight: 700;
}

/* Complex fields such as first and last name — all Gravity Forms */
.gform_wrapper .ginput_complex {
  gap: 12px !important;
}

:root {
  --deveaus-orange: #f97316;
  --deveaus-blue: #062a64;
}

/* All Gravity Forms submit buttons */
body .gform_wrapper input.gform_button[type="submit"],
body .gform_wrapper button.gform_button[type="submit"] {
  width: auto !important;
  min-width: 208px;
  min-height: 56px;
  margin: 0 !important;
  padding: 0 30px 0 60px !important;

  color: #fff !important;
  background-color: var(--deveaus-orange) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 2 11 13'/%3E%3Cpath d='m22 2-7 20-4-9-9-4Z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: 31px center !important;

  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 16px rgba(6, 42, 100, 0.2) !important;

  font-family: "Inter", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 56px !important;
  text-align: center;

  appearance: none;
  cursor: pointer;
  transition:
    transform 160ms ease,
    background-color 160ms ease,
    box-shadow 160ms ease;
}
/**** multi-step form buttons ***/
#gform_next_button_4_13, #gform_next_button_4_12 {
  width: auto !important;

  margin: 0 !important;
padding: 10px 30px !important;
  color: #fff !important;
  background-color: var(--deveaus-orange) !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 10px 16px rgba(6, 42, 100, 0.2) !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-align: center;
  appearance: none;
  cursor: pointer;
  transition:
    transform 160ms ease,
    background-color 160ms ease,
    box-shadow 160ms ease;
}
#gform_previous_button_4, #gform_previous_button_4_13 {
    padding:10px 30px 10px 0px !important;
    color: #f97315 !important;
    text-decoration: underline !important;
    background-color: #ffffff !important;
	border: none !important;
	 font-family: "Inter", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

#gform_previous_button_4:hover, #gform_previous_button_4_13:hover{
	    color: #072a63 !important;
}

body .gform_wrapper input.gform_button[type="submit"]:hover,
body .gform_wrapper button.gform_button[type="submit"]:hover, #gform_next_button_4_12:hover, #gform_next_button_4_13:hover {
  background-color: #e9650c !important;
  box-shadow: 0 12px 20px rgba(6, 42, 100, 0.25) !important;
  transform: translateY(-2px);
}

body .gform_wrapper input.gform_button[type="submit"]:focus-visible,
body .gform_wrapper button.gform_button[type="submit"]:focus-visible {
  outline: 3px solid rgba(249, 115, 22, 0.32);
  outline-offset: 3px;
}

@media (max-width: 640px) {
  body .gform_wrapper input.gform_button[type="submit"],
  body .gform_wrapper button.gform_button[type="submit"] {
    width: 100% !important;
    min-width: 0;
  }
}

.gform_wrapper.gravity-theme .gf_progressbar_percentage.percentbar_blue {
    background-color: #072a63 !important;
}

/* DeVeau's careers form — Gravity Form ID 2 */
#gform_wrapper_2 {
  --deveaus-orange: #f97316;
  --deveaus-blue: #062a64;
  --deveaus-border: #e2e6eb;
  --deveaus-muted: #7f8998;

  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 34px 32px 58px;
  box-sizing: border-box;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e9edf1;
  border-radius: 22px;
  box-shadow: 0 18px 28px rgba(6, 42, 100, 0.14);
}

/* The live form has no displayed Gravity Forms title. */
#gform_wrapper_2 .gform_heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 34px !important;
  padding: 0;
}

#gform_wrapper_2 .gform_heading::before {
  content: "";
  flex: 0 0 6px;
  width: 6px;
  height: 24px;
  background: var(--deveaus-orange);
  border-radius: 999px;
}

#gform_wrapper_2 .gform_heading::after {
  content: "APPLY TODAY";
  color: var(--deveaus-blue);
  font-family: "Anton", "Arial Narrow", sans-serif;
  font-size: 25px;
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}

#gform_wrapper_2 .gform_heading > * {
  display: none;
}

#gform_wrapper_2 .gform_fields {
  column-gap: 12px !important;
  row-gap: 24px !important;
}

#gform_wrapper_2 .gfield,
#gform_wrapper_2 fieldset.gfield {
  margin: 0;
  padding: 0;
  border: 0;
}

#gform_wrapper_2 .gfield_label,
#gform_wrapper_2 legend.gfield_label {
  display: block;
  margin: 0 0 9px !important;
  padding: 0;
  color: var(--deveaus-blue);
  font-family: "Inter", Arial, sans-serif;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-transform: uppercase;
}

/* Replace Gravity Forms' “(Required)” text with the orange star. */
#gform_wrapper_2 .gfield_required_text {
  display: inline-block;
  width: 0;
  overflow: visible;
  color: transparent !important;
  font-size: 0 !important;
  white-space: nowrap;
}

#gform_wrapper_2 .gfield_required_text::after {
  content: "*";
  margin-left: 5px;
  color: var(--deveaus-orange);
  font-size: 12px;
  font-weight: 700;
}

#gform_wrapper_2 .ginput_complex {
  gap: 12px !important;
}

#gform_wrapper_2 input[type="text"],
#gform_wrapper_2 input[type="email"],
#gform_wrapper_2 input[type="tel"],
#gform_wrapper_2 textarea,
#gform_wrapper_2 select {
  width: 100% !important;
  box-sizing: border-box;
  margin: 0 !important;
  color: var(--deveaus-blue) !important;
  background: #fff !important;
  border: 2px solid var(--deveaus-border) !important;
  border-radius: 14px !important;
  outline: 0;
  box-shadow: none !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 14px !important;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

#gform_wrapper_2 input[type="text"],
#gform_wrapper_2 input[type="email"],
#gform_wrapper_2 input[type="tel"],
#gform_wrapper_2 select {
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 16px !important;
}

#gform_wrapper_2 textarea {
  height: 148px !important;
  min-height: 148px !important;
  padding: 14px 16px !important;
  resize: vertical;
}

#gform_wrapper_2 input::placeholder,
#gform_wrapper_2 textarea::placeholder {
  color: #c0c7d2;
  opacity: 1;
}

#gform_wrapper_2 input[type="text"]:focus,
#gform_wrapper_2 input[type="email"]:focus,
#gform_wrapper_2 input[type="tel"]:focus,
#gform_wrapper_2 textarea:focus,
#gform_wrapper_2 select:focus {
  border-color: var(--deveaus-orange) !important;
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.14) !important;
}

#gform_wrapper_2 .gform-field-label--type-sub {
  display: block;
  margin: 6px 4px 0 !important;
  padding: 0;
  color: var(--deveaus-muted);
  font-family: "Inter", Arial, sans-serif;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.2;
}

/* Position checkboxes */
#gform_wrapper_2 #input_2_4 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  margin: 0;
}

#gform_wrapper_2 #input_2_4 .gchoice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 42px;
  margin: 0;
  padding: 10px 12px;
  box-sizing: border-box;
  background: #fff;
  border: 2px solid var(--deveaus-border);
  border-radius: 12px;
  transition: border-color 160ms ease, background-color 160ms ease;
}

#gform_wrapper_2 #input_2_4 .gchoice:has(input:checked) {
  background: rgba(249, 115, 22, 0.06);
  border-color: var(--deveaus-orange);
}

#gform_wrapper_2 #input_2_4 input[type="checkbox"] {
  flex: 0 0 18px;
  width: 18px !important;
  height: 18px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  appearance: none;
  background: #fff;
  border: 2px solid #b7c0cc;
  border-radius: 5px;
  cursor: pointer;
}

#gform_wrapper_2 #input_2_4 input[type="checkbox"]:checked {
  background-color: var(--deveaus-orange);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px;
  border-color: var(--deveaus-orange);
}

#gform_wrapper_2 #input_2_4 input[type="checkbox"]:focus-visible {
  outline: 3px solid rgba(249, 115, 22, 0.2);
  outline-offset: 2px;
}

#gform_wrapper_2 #input_2_4 .gform-field-label--type-inline {
  flex: 1;
  margin: 0 !important;
  color: var(--deveaus-blue);
  font-family: "Inter", Arial, sans-serif;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.35;
  cursor: pointer;
}

/* Résumé upload */
#gform_wrapper_2 input[type="file"] {
  width: 100% !important;
  min-height: 54px;
  box-sizing: border-box;
  padding: 7px !important;
  color: var(--deveaus-muted);
  background: #fff;
  border: 2px dashed var(--deveaus-border) !important;
  border-radius: 14px !important;
  font-family: "Inter", Arial, sans-serif;
  font-size: 12px !important;
  cursor: pointer;
}

#gform_wrapper_2 input[type="file"]::file-selector-button {
  height: 36px;
  margin: 0 10px 0 0;
  padding: 0 16px;
  color: #fff;
  background: var(--deveaus-blue);
  border: 0;
  border-radius: 9px;
  font-family: "Inter", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

#gform_wrapper_2 input[type="file"]:focus-visible {
  border-color: var(--deveaus-orange) !important;
  outline: 3px solid rgba(249, 115, 22, 0.14);
  outline-offset: 2px;
}

#gform_wrapper_2 .gform_fileupload_rules {
  display: block;
  margin: 7px 4px 0;
  color: var(--deveaus-muted);
  font-family: "Inter", Arial, sans-serif;
  font-size: 11px;
  line-height: 1.3;
}

/* Keep an invisible reCAPTCHA label from adding a stray heading. */
#gform_wrapper_2 #field_2_7 > .gfield_label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

#gform_wrapper_2 .gform_footer {
  margin: 34px 0 0 !important;
  padding: 0 !important;
}


#gform_wrapper_2 .gfield_validation_message,
#gform_wrapper_2 .validation_message,
#gform_wrapper_2 .gform_validation_errors {
  color: #b42318;
  font-family: "Inter", Arial, sans-serif;
  font-size: 13px;
}

@media (max-width: 640px) {
  #gform_wrapper_2 {
    padding: 28px 20px 36px;
    border-radius: 18px;
  }

  #gform_wrapper_2 .gform_heading {
    margin-bottom: 28px !important;
  }

  #gform_wrapper_2 .gform_heading::after {
    font-size: 22px;
  }

  #gform_wrapper_2 .gform_fields {
    row-gap: 22px !important;
  }

  #gform_wrapper_2 .ginput_complex {
    flex-direction: column;
    gap: 14px !important;
  }

  #gform_wrapper_2 .ginput_complex > span {
    width: 100% !important;
    padding: 0 !important;
  }

  body #gform_wrapper_2 input#gform_submit_button_2[type="submit"] {
    width: 100% !important;
    min-width: 0;
  }
}

input.text, input.title, input[type=email], input[type=password], input[type=tel], input[type=text], select, textarea {
    background-color: #fff;
    border: 1px solid #dadfe4 !important;
    color: #4e4e4e;
    border-radius: 5px !important;
}

.gfield_label {
    display: block;
    margin: 0 0 9px !important;
    padding: 0;
    color: var(--deveaus-blue);
    font-family: "Inter", Arial, sans-serif;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0;
    text-transform: uppercase;
}

p.gform_required_legend {
    display: none;
}

label.gform-field-label.gform-field-label--type-sub {
    font-size: 14px !important;
}

div#field_3_8 {
    font-size: 12px !important;
    line-height: 17px;
}

.gform_wrapper.gravity-theme #field_submit input, .gform_wrapper.gravity-theme .gform_footer input {
    align-self: flex-end;
    background-color: var(--gcid-secondary-color);
    font-weight: 600;
    color: #ffffff !important;
    font-size: 14px !important;
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
    border-bottom-left-radius: 50px;
    border-bottom-right-radius: 50px;
    border-color: var(--gcid-secondary-color);
    padding: 10px 20px;
    border-style: none;
}

/* =========================================================
   DEVEAU'S HORIZONTAL GRAVITY FORM
   Form CSS class: deveaus-horizontal-form
   ========================================================= */

/* Gravity Forms normally puts the custom class on the wrapper */
body .gform_wrapper.deveaus-horizontal-form {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Center the complete form within the white container */
body .gform_wrapper.deveaus-horizontal-form > form,
body form.deveaus-horizontal-form {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 0px !important;

  width: 100% !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* Allow the fields to fill all remaining space */
body .gform_wrapper.deveaus-horizontal-form .gform-body,
body form.deveaus-horizontal-form .gform-body {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Two equal columns: Name and Email */
body .gform_wrapper.deveaus-horizontal-form .gform_fields,
body form.deveaus-horizontal-form .gform_fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: 24px !important;

  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Override Gravity Forms' 12-column field positioning */
body .gform_wrapper.deveaus-horizontal-form .gform_fields > .gfield,
body form.deveaus-horizontal-form .gform_fields > .gfield {
  grid-column: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Keep First and Last Name evenly divided */
body .gform_wrapper.deveaus-horizontal-form .ginput_container_name,
body form.deveaus-horizontal-form .ginput_container_name {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;

  width: 100% !important;
  margin: 0 !important;
}

body .gform_wrapper.deveaus-horizontal-form .ginput_container_name > span,
body form.deveaus-horizontal-form .ginput_container_name > span {
  display: block !important;
  grid-column: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Make every text/email input fill its column */
body .gform_wrapper.deveaus-horizontal-form input:not([type="submit"]),
body form.deveaus-horizontal-form input:not([type="submit"]) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* Button column */
body .gform_wrapper.deveaus-horizontal-form .gform_footer,
body form.deveaus-horizontal-form .gform_footer {
  display: block !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;

  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Align the button with the input boxes */
body .gform_wrapper.deveaus-horizontal-form .gform_footer .gform_button,
body form.deveaus-horizontal-form .gform_footer .gform_button,
body .gform_wrapper.deveaus-horizontal-form input[type="submit"],
body form.deveaus-horizontal-form input[type="submit"] {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-height: 58px !important;

  margin: 38px 0 0 !important;
  padding: 0 32px !important;

  white-space: nowrap !important;
  box-sizing: border-box !important;
}

/* =========================================================
   TABLET AND MOBILE
   ========================================================= */

@media (max-width: 900px) {
  body .gform_wrapper.deveaus-horizontal-form > form,
  body form.deveaus-horizontal-form {
    flex-direction: column !important;
    gap: 0px !important;
    max-width: none !important;
  }

  body .gform_wrapper.deveaus-horizontal-form .gform_fields,
  body form.deveaus-horizontal-form .gform_fields {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  body .gform_wrapper.deveaus-horizontal-form .gform_footer,
  body form.deveaus-horizontal-form .gform_footer {
    width: 100% !important;
  }

  body .gform_wrapper.deveaus-horizontal-form .gform_footer .gform_button,
  body form.deveaus-horizontal-form .gform_footer .gform_button,
  body .gform_wrapper.deveaus-horizontal-form input[type="submit"],
  body form.deveaus-horizontal-form input[type="submit"] {
    width: 100% !important;
    margin-top: 0 !important;
  }
}

/* Stack First and Last Name on very small phones */
@media (max-width: 520px) {
  body .gform_wrapper.deveaus-horizontal-form .ginput_container_name,
  body form.deveaus-horizontal-form .ginput_container_name {
    grid-template-columns: 1fr !important;
  }
}

/* FIX: restore field width and center button on its own row */
body .gform_wrapper.deveaus-horizontal-form > form,
body form.deveaus-horizontal-form {
  display: flex !important;
  flex-flow: row wrap !important;
  width: 100% !important;
}

/* Fields occupy the entire first row */
body .gform_wrapper.deveaus-horizontal-form .gform-body,
body form.deveaus-horizontal-form .gform-body {
  flex: 0 0 100% !important;
  width: 100% !important;
  min-width: 100% !important;
}

/* Button occupies a separate centered row */
body .gform_wrapper.deveaus-horizontal-form .gform_footer,
body form.deveaus-horizontal-form .gform_footer {
  display: flex !important;
  flex: 0 0 100% !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Remove all previous button offsets */
body .gform_wrapper.deveaus-horizontal-form .gform_footer .gform_button,
body form.deveaus-horizontal-form .gform_footer .gform_button,
body .gform_wrapper.deveaus-horizontal-form input[type="submit"],
body form.deveaus-horizontal-form input[type="submit"] {
  width: auto !important;
  margin: 0 !important;
}

/********** End Gravity Forms Styles **********/

/********** process sections **********/

.step-timeline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.step-timeline .et_pb_column {
  position: relative;
}

.timeline-step {
  text-align: center;
  position: relative;
  padding: 0 14px;
}

.timeline-step .step-number {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #5f8cff;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  line-height: 44px;
  margin: 0 auto 34px;
  position: relative;
  z-index: 2;
}

/* Dotted line between steps */
.step-timeline .timeline-step::after{
  content: "";
  position: absolute;
  top: 22px;
  left: calc(50% + 46px);
  width: calc(100% - 80px);
  border-top: 2px dotted rgba(255, 255, 255, 0.65);
  z-index: 1;
}

.last-step .timeline-step::after {
  display: none !important;
  content: none !important;
}

@media (max-width: 980px) {
  .step-timeline {
    display: block;
  }

  .step-timeline .et_pb_column {
    width: 100% !important;
    margin-bottom: 36px;
  }

  .step-timeline .et_pb_column:not(:last-child) .timeline-step::after {
    display: none;
  }

  .timeline-step .step-number {
    margin-bottom: 18px;
  }
}
/* Center the form button */
body .gform_wrapper.deveaus-horizontal-form .gform_footer,
body form.deveaus-horizontal-form .gform_footer {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}

body .gform_wrapper.deveaus-horizontal-form .gform_footer .gform_button,
body form.deveaus-horizontal-form .gform_footer .gform_button,
body .gform_wrapper.deveaus-horizontal-form input[type="submit"],
body form.deveaus-horizontal-form input[type="submit"] {
  margin-left: auto !important;
  margin-right: auto !important;
  background-image: none !important;
}


/********** Program Card Hover **********/

.program-card .program-card-link,
.program-card .program-card-link a,
.program-card .program-card-link span,
.program-card .program-card-link:after,
.program-card .program-card-link a:after {
  transition: color 0.2s ease;
}

.program-card:hover .program-card-link,
.program-card:hover .program-card-link a,
.program-card:hover .program-card-link span,
.program-card:focus-within .program-card-link,
.program-card:focus-within .program-card-link a,
.program-card:focus-within .program-card-link span {
  color: #0d4eae !important;
}

.program-card:hover .program-card-link:after,
.program-card:hover .program-card-link a:after,
.program-card:focus-within .program-card-link:after,
.program-card:focus-within .program-card-link a:after {
  color: #0d4eae !important;
}

/********** Blockquote **********/

blockquote {
  margin: 0;
}

@media only screen and (max-width: 767px) {
  .deveaus-mobile-center,
  .deveaus-mobile-center .et_pb_text_inner,
  .deveaus-mobile-center p {
    text-align: center !important;
  }
}

.ecs-event-list.event-display_style.grid-container .image-align {
    box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.14);
    border-radius: 15px;
}

/* Equal-height program cards */
@media (min-width: 981px) {
  .age-tabs .et_pb_group_carousel_track {
    align-items: stretch;
  }

  .age-tabs .et_pb_group_carousel_slide {
    display: flex;
  }

  .age-tabs .et_pb_group_carousel_slide > .et_pb_group,
  .age-tabs .et_pb_group_carousel_slide > .et_pb_group > .et_pb_group {
    flex: 1 1 auto !important;
  }
}

body.et-fb .mce-content-body > .et_pb_section--fixed {
    display: none !important;
}

/* Keep Form 4 datepicker visible outside the rounded form card */
#tour:has(.gform-datepicker-calendar) {
  padding-bottom: 360px !important;
}

#gform_wrapper_4 {
  overflow: visible;
}

#gform_wrapper_4 .gform-datepicker-calendar {
  left: auto !important;
  right: 0 !important;
}

@media (max-width: 640px) {
  #gform_wrapper_4 .gform-datepicker-calendar {
    left: 50% !important;
    right: auto !important;
    width: calc(100vw - 32px) !important;
    max-width: 400px !important;
    transform: translateX(-50%);
  }
}

/* Free Class form — match the Careers form */
#gform_wrapper_3 {
  background: #fff;
  border-radius: 22px;
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 720px;
  padding: 34px 32px 58px;
}

/* Gravity Forms layout */
#gform_wrapper_3 .gform_fields {
  gap: 24px 12px;
}

/* Labels */
#gform_wrapper_3 .gfield_label {
  color: #062a64;
  font-family: Inter, Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 9px;
  text-transform: uppercase;
}

/* Required asterisk */
#gform_wrapper_3 .gfield_required {
  color: #e5532d;
}

/* Inputs */
#gform_wrapper_3 input[type="text"],
#gform_wrapper_3 input[type="email"],
#gform_wrapper_3 input[type="tel"],
#gform_wrapper_3 select,
#gform_wrapper_3 textarea {
  appearance: none;
  background: #fff;
  border: 2px solid #e2e6eb;
  border-radius: 14px;
  box-shadow: none;
  box-sizing: border-box;
  color: #062a64;
  font-family: Inter, Arial, sans-serif;
  font-size: 14px;
  min-height: 48px;
  padding: 0 16px;
}

/* First / Last name fields */
#gform_wrapper_3 .ginput_complex {
  column-gap: 12px;
  row-gap: 0;
}

#gform_wrapper_3 .ginput_complex input {
  width: 100%;
}

#gform_wrapper_3 .ginput_complex label {
  color: #7f8998;
  font-family: Inter, Arial, sans-serif;
  font-size: 12px;
  margin-top: 6px;
}

/* Focus state */
#gform_wrapper_3 input[type="text"]:focus,
#gform_wrapper_3 input[type="email"]:focus,
#gform_wrapper_3 input[type="tel"]:focus,
#gform_wrapper_3 select:focus,
#gform_wrapper_3 textarea:focus {
  border-color: #062a64;
  outline: none;
}
/* Fully clickable Careers-style checkbox cards */
#gform_wrapper_3 .gfield_checkbox {
  display: grid;
  gap: 10px;
}

#gform_wrapper_3 .gfield_checkbox .gchoice {
  background: #fff;
  border: 2px solid #e2e6eb;
  border-radius: 12px;
  box-sizing: border-box;
  margin: 0;
  min-height: 42px;
  padding: 0;
  position: relative;
}

#gform_wrapper_3 .gfield_checkbox .gchoice:has(.gfield-choice-input:checked) {
  border-color: #062a64;
}

/* The label fills the entire card */
#gform_wrapper_3 .gfield_checkbox .gchoice label {
  align-items: center;
  box-sizing: border-box;
  color: #062a64;
  cursor: pointer;
  display: flex;
  font-family: Inter, Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
  min-height: 42px;
  padding: 10px 12px 10px 42px;
  width: 100%;
}

/* Keep the checkbox positioned inside the clickable label/card */
#gform_wrapper_3 .gfield-choice-input {
  appearance: none;
  background: #fff;
  border: 2px solid #b7c0cc;
  border-radius: 5px;
  cursor: pointer;
  height: 18px;
  left: 12px;
  margin: 0;
  min-height: 18px;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  z-index: 1;
}

#gform_wrapper_3 .gfield-choice-input:checked {
  background: #062a64;
  border-color: #062a64;
  box-shadow: inset 0 0 0 3px #fff;
}

/* Consent / informational text */
#gform_wrapper_3 .gfield_html {
  color: #3e4651;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.5;
}

/* Button */
#gform_wrapper_3 .gform_footer {
  margin-top: 0px;
  padding: 0;
}

#gform_wrapper_3 .gform_button {
  background: #f97316;
  border: 0;
  border-radius: 999px;
  box-shadow: 0 10px 16px rgba(6, 42, 100, 0.2);
  color: #fff;
  cursor: pointer;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  min-height: 56px;
  padding: 0 30px 0 60px;
  transition: background-color .2s ease, transform .2s ease;
}

#gform_wrapper_3 .gform_button:hover,
#gform_wrapper_3 .gform_button:focus {
  background: #ea580c;
  transform: translateY(-2px);
}

/* Mobile */
@media (max-width: 767px) {
  #gform_wrapper_3 {
    border-radius: 18px;
    padding: 28px 20px 38px;
  }

  #gform_wrapper_3 .gform_button {
    padding: 0 24px;
    width: 100%;
  }
}

a.act-add_to_calendar.et_pb_button {
	padding-left: 0px;
}