.elementor-1584 .elementor-element.elementor-element-9a86381{--display:flex;--min-height:280px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--overlay-opacity:0.8;--margin-top:80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-1584 .elementor-element.elementor-element-9a86381:not(.elementor-motion-effects-element-type-background), .elementor-1584 .elementor-element.elementor-element-9a86381 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://aslm2026.aslm.org/wp-content/uploads/2026/04/Contact-us.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-1584 .elementor-element.elementor-element-9a86381::before, .elementor-1584 .elementor-element.elementor-element-9a86381 > .elementor-background-video-container::before, .elementor-1584 .elementor-element.elementor-element-9a86381 > .e-con-inner > .elementor-background-video-container::before, .elementor-1584 .elementor-element.elementor-element-9a86381 > .elementor-background-slideshow::before, .elementor-1584 .elementor-element.elementor-element-9a86381 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1584 .elementor-element.elementor-element-9a86381 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#2E3192;--background-overlay:'';}.elementor-1584 .elementor-element.elementor-element-faa8681{text-align:center;}.elementor-1584 .elementor-element.elementor-element-faa8681 .elementor-heading-title{font-family:"Poppins", inter;font-size:30px;font-weight:bold;color:#FFFFFF;}.elementor-1584 .elementor-element.elementor-element-59dcec1{width:var( --container-widget-width, 67% );max-width:67%;--container-widget-width:67%;--container-widget-flex-grow:0;columns:1;text-align:center;font-family:"Inter", inter;font-size:14px;color:#FFFFFF;}.elementor-1584 .elementor-element.elementor-element-59dcec1.elementor-element{--align-self:center;}.elementor-1584 .elementor-element.elementor-element-792ad44{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1584 .elementor-element.elementor-element-f18bca3{padding:64px 64px 64px 64px;}.elementor-1584 .elementor-element.elementor-element-a8e9e36{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:32px 32px;--row-gap:32px;--column-gap:32px;--border-radius:12px 12px 12px 12px;--padding-top:64px;--padding-bottom:64px;--padding-left:64px;--padding-right:64px;}.elementor-1584 .elementor-element.elementor-element-a8e9e36:not(.elementor-motion-effects-element-type-background), .elementor-1584 .elementor-element.elementor-element-a8e9e36 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F9FAFB;}.elementor-1584 .elementor-element.elementor-element-6f86f55{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1584 .elementor-element.elementor-element-6d49aea{--display:flex;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-1584 .elementor-element.elementor-element-ca8a63a{padding:0px 0px 0px 0px;}.elementor-1584 .elementor-element.elementor-element-ca8a63a .elementor-heading-title{font-family:"Poppins", inter;font-size:18px;font-weight:700;font-style:normal;color:#2E3192;}.elementor-1584 .elementor-element.elementor-element-313ae16{font-family:"Inter", inter;font-size:14px;color:#6B7280;}.elementor-1584 .elementor-element.elementor-element-06b80f3{padding:0px 0px 0px 0px;}.elementor-1584 .elementor-element.elementor-element-06b80f3 .elementor-heading-title{font-family:"Poppins", inter;font-size:18px;font-weight:700;font-style:normal;color:#2E3192;}.elementor-1584 .elementor-element.elementor-element-8c021d2{font-family:"Inter", inter;font-size:14px;color:#6B7280;}@media(min-width:768px){.elementor-1584 .elementor-element.elementor-element-792ad44{--content-width:1140px;}}@media(max-width:1024px){.elementor-1584 .elementor-element.elementor-element-9a86381{--min-height:40vh;}}@media(max-width:767px){.elementor-1584 .elementor-element.elementor-element-9a86381{--content-width:100%;--min-height:10em;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:80px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-1584 .elementor-element.elementor-element-9a86381.e-con{--align-self:flex-start;}}@media(min-width:1025px){.elementor-1584 .elementor-element.elementor-element-9a86381:not(.elementor-motion-effects-element-type-background), .elementor-1584 .elementor-element.elementor-element-9a86381 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}/* Start custom CSS for heading, class: .elementor-element-faa8681 */.elementor-1584 .elementor-element.elementor-element-faa8681 {
  transition: transform 0.25s ease;
}
.elementor-1584 .elementor-element.elementor-element-faa8681:hover {
  transform: translateY(-3px);
}/* End custom CSS */
/* Start custom CSS *//* =========================================================
   ASLM2026 — Gravity Forms (Form ID = 2)
   1) STEP WIZARD (stable height, vertical labels, single ✓, animated connector)
   2) RADIO TILES (Field 24) — card style with one top‑right check badge
   ========================================================= */

/* ---------- Scope + Variables + Height Guard ---------- */
#gform_wrapper_2{
  /* Local (scoped) variables */
  --aslm-circle: 40px;               /* step circle diameter */
  --aslm-gap: 24px;                  /* horizontal spacing between steps */
  --aslm-line-neutral: #E2E8F0;      /* baseline color */
  --aslm-border: #CBD5E1;            /* inactive circle/tile border */
  --aslm-label-inactive: #94A3B8;
  --aslm-label-active: #1E40AF;
  --aslm-text: #334155;
  --aslm-active: #1D4ED8;            /* active step circle */
  --aslm-complete: #0EA5E9;          /* completed step circle + connector */

  /* Height guard to avoid jump/shrink on AJAX step change */
  min-height: 620px;
  position: relative;
}

/* Normalize internal heights if GF injects inline styles during AJAX */
#gform_wrapper_2 form[style]{ height:auto !important; min-height:inherit !important; }
#gform_wrapper_2 .gform_body{ min-height:450px !important; }

/* =========================================================
   1) STEP WIZARD
   ========================================================= */

/* Steps row */
#gform_wrapper_2 .gf_page_steps{
  display:flex !important;
  flex-wrap:nowrap !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:var(--aslm-gap);
  margin:20px 0 40px 0 !important;
  padding:0;
  position:relative;
}

/* Neutral baseline behind all steps */
#gform_wrapper_2 .gf_page_steps::before{
  content:"";
  position:absolute;
  top: calc(var(--aslm-circle)/2);
  left:0; right:0;
  height:4px;
  background:var(--aslm-line-neutral);
  transform:translateY(-50%);
  z-index:0;
}

/* Each step: force vertical layout (number above label) */
#gform_wrapper_2 .gf_step{
  flex:1 1 0%;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  background:none !important;
  position:relative;
  z-index:2;
}

/* Circle (number container) */
#gform_wrapper_2 .gf_step_number{
  width:var(--aslm-circle);
  height:var(--aslm-circle);
  border-radius:50%;
  background:#fff !important;
  border:3px solid var(--aslm-border) !important;
  color:var(--aslm-text) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 0 12px 0 !important;
  position:relative !important;
  overflow:hidden;
}

/* Label under circle */
#gform_wrapper_2 .gf_step_label{
  display:block !important;
  width:100% !important;
  margin-top:2px;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.4px;
  color:var(--aslm-label-inactive);
  white-space:normal !important;
}

/* Active step */
#gform_wrapper_2 .gf_step_active .gf_step_number{
  background:var(--aslm-active) !important;
  border-color:var(--aslm-active) !important;
  color:#fff !important;
}
/* Active label tint */
#gform_wrapper_2 .gf_step_active .gf_step_label{
  color:var(--aslm-label-active) !important;
}
/* Ensure no halos from older CSS */
#gform_wrapper_2 .gf_step_active .gf_step_number::after{ content:none !important; }

/* Completed step: replace number with a single, centered ✓ */
#gform_wrapper_2 .gf_step_completed .gf_step_number{
  background:var(--aslm-complete) !important;
  border-color:var(--aslm-complete) !important;
  color:transparent !important;
  position:relative !important;
}
#gform_wrapper_2 .gf_step_completed .gf_step_number::before{
  content:"✓" !important;
  position:absolute !important;
  top:50% !important; left:50% !important;
  transform:translate(-50%, -50%) !important;
  color:#fff !important;
  font-size:18px !important;
  font-weight:900 !important;
  z-index:1 !important;
}
/* Kill any leftover halos/doubles */
#gform_wrapper_2 .gf_step_completed .gf_step_number::after{ content:none !important; }

/* Completed label tint */
#gform_wrapper_2 .gf_step_completed .gf_step_label{
  color:var(--aslm-complete) !important;
}

/* Animated connector: from right edge of completed circle → left edge of next circle */
#gform_wrapper_2 .gf_step_completed:not(:last-child)::after{
  content:"";
  position:absolute;
  top: calc(var(--aslm-circle)/2);
  left: calc(50% + var(--aslm-circle)/2);   /* start at right edge of circle */
  transform: translateY(-50%);
  height:4px;
  width:0;                                  /* animate to full distance */
  background:var(--aslm-complete);
  border-radius:2px;
  z-index:1;
  animation: aslmFill 0.45s ease forwards;
}
/* width = step column width + gap − circle diameter (lands at next circle’s left edge) */
@keyframes aslmFill{ to{ width: calc(100% + var(--aslm-gap) - var(--aslm-circle)); } }
/* No connector after last step */
#gform_wrapper_2 .gf_step:last-child::after{ content:none !important; }

/* =========================================================
   2) RADIO TILES — “I’m registering as a…” (Field ID = 24)
   ========================================================= */

/* Grid layout (4 → 2 → 1) */
#field_2_24 .gfield_radio{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:16px !important;
  margin:16px 0 8px !important;
  padding:0;
  list-style:none;
}
@media (max-width:1024px){ #field_2_24 .gfield_radio{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){  #field_2_24 .gfield_radio{ grid-template-columns:1fr; } }

/* Hide the native dot but keep radio accessible */
#field_2_24 input[type="radio"]{
  position:absolute !important;
  opacity:0 !important;
  width:1px; height:1px; overflow:hidden;
}

/* The clickable “card” is the label */
#field_2_24 .gfield_radio .gchoice label{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  min-height:220px !important;
  padding:40px 20px !important;
  background:#fff !important;
  border:1px solid var(--aslm-border) !important;
  border-radius:12px !important;
  box-shadow:0 4px 10px rgba(2,6,23,.04);
  cursor:pointer !important;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
  position:relative !important;
  box-sizing:border-box !important;
}

/* Inner elements (when you add HTML to the choice label) */
#field_2_24 .choice-inner{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}
#field_2_24 .choice-icon{
  width:54px; height:54px;
  background:#F1F5F9;            /* light grey */
  border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:16px;
  font-size:28px; color:#64748B; /* slate-500 */
}
#field_2_24 .choice-title{
  font-weight:700; font-size:17px; color:#1E293B; margin-bottom:4px;
}
#field_2_24 .choice-sub{
  font-size:13px; color:#64748B; line-height:1.4;
}

/* Hover/focus */
#field_2_24 .gfield_radio .gchoice input[type="radio"]:focus + label,
#field_2_24 .gfield_radio .gchoice label:hover{
  border-color:#93C5FD !important;
  box-shadow:0 8px 22px rgba(2,6,23,.08);
  background:#F8FAFC !important;
  outline:2px solid #93C5FD; outline-offset:2px;
}

/* Selected (checked) state */
#field_2_24 .gfield_radio .gchoice input[type="radio"]:checked + label{
  border-color:#0EA5E9 !important;
  background:#F0F9FF !important; /* very soft blue wash */
  box-shadow:0 0 0 1px #0EA5E9, 0 10px 26px rgba(14,165,233,.18) !important;
}
/* Icon tint on selection */
#field_2_24 .gfield_radio .gchoice input[type="radio"]:checked + label .choice-icon{
  background:#BAE6FD !important;  /* soft blue tile */
  color:#0369A1 !important;       /* deeper blue pictogram */
}

/* Single top‑right check badge (NO duplication) */
#field_2_24 .gfield_radio .gchoice input[type="radio"]:checked + label::after{
  content:"✓" !important;
  position:absolute !important;
  top:12px !important;
  right:12px !important;
  width:24px !important;
  height:24px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:#0EA5E9 !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  box-shadow:0 4px 10px rgba(14,165,233,.35);
  z-index:2;
}
/* Ensure NO second badge from older rules */
#field_2_24 .gfield_radio .gchoice input[type="radio"]:checked + label::before{
  content:none !important;
}/* End custom CSS */