.elementor-543144 .elementor-element.elementor-element-7b6e986:not(.elementor-motion-effects-element-type-background), .elementor-543144 .elementor-element.elementor-element-7b6e986 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF00;}.elementor-543144 .elementor-element.elementor-element-7b6e986{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:50px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-543144 .elementor-element.elementor-element-7b6e986 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-543144 .elementor-element.elementor-element-d7c942a:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-543144 .elementor-element.elementor-element-d7c942a > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-543144 .elementor-element.elementor-element-d7c942a > .elementor-element-populated, .elementor-543144 .elementor-element.elementor-element-d7c942a > .elementor-element-populated > .elementor-background-overlay, .elementor-543144 .elementor-element.elementor-element-d7c942a > .elementor-background-slideshow{border-radius:10px 10px 10px 10px;}.elementor-543144 .elementor-element.elementor-element-d7c942a > .elementor-element-populated{box-shadow:0px 10px 30px 10px rgba(0, 0, 0, 0.09);transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-543144 .elementor-element.elementor-element-d7c942a > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-543144 .elementor-element.elementor-element-3309543 > .elementor-widget-container{margin:50px 0px 0px 0px;}.elementor-543144 .elementor-element.elementor-element-3309543{text-align:center;}.elementor-543144 .elementor-element.elementor-element-3309543 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:30px;font-weight:600;color:#000000;}.elementor-543144 .elementor-element.elementor-element-b15ea4d > .elementor-widget-container{padding:40px 40px 40px 40px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-543144 .elementor-element.elementor-element-7b6e986{margin-top:0px;margin-bottom:0px;}}@media(max-width:767px){.elementor-543144 .elementor-element.elementor-element-7b6e986{margin-top:0px;margin-bottom:0px;padding:0px 0px 0px 0px;}.elementor-543144 .elementor-element.elementor-element-d7c942a > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-543144 .elementor-element.elementor-element-b15ea4d > .elementor-widget-container{margin:0px 0px 0px 0px;padding:10px 10px 10px 10px;}}/* Start custom CSS */@import url('https://fonts.googleapis.com/css?family=Open+Sans&display=swap');

@media only screen and (max-width: 1023px) {
  .elementor-526 .elementor-element.elementor-element-7320d58:not(.elementor-motion-effects-element-type-background) {
    margin-left: 0px;
    border-radius: 0px 0px 106px 0px;
  }
}


/* ============================================================
   APEX — Form polish (two pages)
   1) Request Your Certificate  (page-id: 517323, GF #177)
   2) Student ID Card           (page-id: 379624, GF #117)
   ------------------------------------------------------------
   Tweak only the variables; everything else follows.
   ============================================================ */

/* ---------- Design tokens (shared) ---------- */
body.page-id-517323,
body.page-id-379624{
  --apx-text:#1f2937;
  --apx-head:#123d86;
  --apx-brand:#00378B;
  --apx-border:#E5E7EB;
  --apx-border-2:#D7DADB;
  --apx-soft:#FDFDFE;

  /* typography knobs */
  --apx-label:18px;
  --apx-input:15px;

  /* radio option text */
  --apx-radio-desktop:14px;
  --apx-radio-line-desktop:1.5;
  --apx-radio-mobile:10.5px;   /* ← phone size you asked for */
  --apx-radio-line-mobile:1.6;

  /* layout */
  --apx-gap:12px;
  --apx-radius:10px;
  --apx-card-pad:18px;
  --apx-card-pad-m:14px 10px;

  /* buttons */
  --apx-btn-h:56px;
}

/* ============================================================
   Base wrapper (both pages)
   ============================================================ */
body.page-id-517323 .gform_wrapper,
body.page-id-379624  .gform_wrapper{
  background:#fff; color:var(--apx-text);
  border:1px solid var(--apx-border); border-radius:12px;
  padding:28px 22px; font-family:"Open Sans",system-ui,sans-serif;
  box-shadow:0 8px 24px rgba(17,24,39,.06);
  max-width:1180px; margin:0 auto;
}

/* Section headings */
body.page-id-517323 .gsection_title,
body.page-id-379624  .gsection_title{
  font:700 22px/1.25 "Open Sans",sans-serif; color:var(--apx-head);
  margin:0 0 18px; padding:0 0 12px; border-bottom:1px solid var(--apx-border);
}

/* Labels stacked + size */
body.page-id-517323 .gfield_label,
body.page-id-379624  .gfield_label{
  float:none!important; width:100%!important; text-align:left!important;
  display:flex; gap:6px; align-items:center;
  margin:0 0 8px; color:var(--apx-head);
  font:700 var(--apx-label)/1.35 "Open Sans",sans-serif;
}
body.page-id-517323 .ginput_container,
body.page-id-379624  .ginput_container{ float:none!important; width:100%!important; }

/* Inputs */
body.page-id-517323 input[type=text],
body.page-id-517323 input[type=email],
body.page-id-517323 input[type=tel],
body.page-id-517323 input[type=number],
body.page-id-517323 select,
body.page-id-517323 textarea,
body.page-id-379624  input[type=text],
body.page-id-379624  input[type=email],
body.page-id-379624  input[type=tel],
body.page-id-379624  input[type=number],
body.page-id-379624  select,
body.page-id-379624  textarea{
  width:100%; height:48px; box-sizing:border-box;
  padding:12px 14px; border:1px solid #C9D2DD; border-radius:8px; background:#fff;
  font:400 var(--apx-input)/1 "Open Sans",sans-serif;
  transition:border-color .15s ease, box-shadow .15s ease;
}
body.page-id-517323 textarea,
body.page-id-379624  textarea{ min-height:120px; height:auto; }
body.page-id-517323 input:focus, body.page-id-517323 select:focus, body.page-id-517323 textarea:focus,
body.page-id-379624  input:focus, body.page-id-379624  select:focus, body.page-id-379624  textarea:focus{
  outline:0; border-color:#0A47C6; box-shadow:0 0 0 3px rgba(10,71,198,.15);
}

/* ============================================================
   Radios → single-column “cards” (all radio fields)
   ============================================================ */
body.page-id-517323 .gfield--type-radio,
body.page-id-379624  .gfield--type-radio{
  background:transparent!important; border:0!important; padding:0!important; margin:10px 0 12px!important;
}
body.page-id-517323 .gfield--type-radio > .ginput_container,
body.page-id-379624  .gfield--type-radio > .ginput_container{
  background:var(--apx-soft); border:1px solid var(--apx-border-2);
  border-radius:var(--apx-radius); padding:var(--apx-card-pad);
  margin-top:8px;
}
body.page-id-517323 .gfield_radio,
body.page-id-379624  .gfield_radio{
  display:grid!important; grid-template-columns:1fr!important;
  row-gap:10px!important; padding:0; margin:0; list-style:none;
}
body.page-id-517323 .gfield_radio > li.gchoice,
body.page-id-379624  .gfield_radio > li.gchoice{
  display:flex!important; align-items:flex-start!important; gap:8px!important;
  margin:0; padding:6px 0; white-space:normal;
  font-size:var(--apx-radio-desktop)!important; line-height:var(--apx-radio-line-desktop)!important;
}

/* ============================================================
   Coupon row (GF coupons)
   ============================================================ */
#gf_coupons_container_177, #gf_coupons_container_117{
  display:flex!important; align-items:center!important; gap:12px!important; flex-wrap:nowrap!important;
}
#gf_coupon_code_177, #gf_coupon_code_117{ flex:1 1 320px!important; height:46px!important; border-radius:8px!important; }
#gf_coupon_button, #gf_coupon_button_177, #gf_coupon_button_117{
  flex:0 0 auto!important; height:46px!important; padding:0 22px!important; border-radius:8px!important;
  background:var(--apx-brand)!important; color:#fff!important; border:0!important; font-weight:700!important;
}

/* ============================================================
   Totals / chips (works for both pages)
   ============================================================ */
.gfield_total .ginput_total,
.gfield_price .ginput_product_price{ font-weight:700; color:#0a7a27; }

/* ============================================================
   Address grid tidy (GF Address field)
   ============================================================ */
body.page-id-517323 .ginput_container_address .gform-grid-col,
body.page-id-379624  .ginput_container_address .gform-grid-col{ min-width:0; }

/* ============================================================
   CAPTCHA fix (keeps full box visible on phones)
   ============================================================ */
body.page-id-517323 .gfield--type-captcha .ginput_container,
body.page-id-379624  .gfield--type-captcha .ginput_container{
  width:100%!important; overflow:hidden; padding:0!important; margin-bottom:12px!important;
}
@media (max-width:399px){
  body.page-id-517323 .gfield--type-captcha .ginput_recaptcha,
  body.page-id-379624  .gfield--type-captcha .ginput_recaptcha{ transform:scale(.92); transform-origin:left top; }
  body.page-id-517323 .gfield--type-captcha .ginput_container,
  body.page-id-379624  .gfield--type-captcha .ginput_container{ height:72px!important; }
}

/* ============================================================
   Submit button (full width, centered text)
   ============================================================ */
body.page-id-517323 .gform_footer,
body.page-id-379624  .gform_footer{ padding:0!important; margin-top:18px!important; }
body.page-id-517323 .gform_button,
body.page-id-379624  .gform_button{
  display:block!important; width:100%!important; height:var(--apx-btn-h)!important;
  line-height:var(--apx-btn-h)!important; border-radius:8px!important; border:0!important;
  background:var(--apx-brand)!important; color:#fff!important; font:700 16px "Open Sans",sans-serif!important;
}
body.page-id-517323 .gform_button:hover,
body.page-id-379624  .gform_button:hover{ background:#002E6F!important; }

/* ============================================================
   Student ID Card page (page-id: 379624) — little extras
   ============================================================ */

/* Stripe block: hide the redundant “Credit Card” legend but keep spacing nice */
body.page-id-379624 #gform_wrapper_117 .gfield--type-stripe_creditcard > .gfield_label{ display:none!important; }
body.page-id-379624 #gform_wrapper_117 .gfield--type-stripe_creditcard{ margin-top:8px; }

/* ============================================================
   Mobile polish ≤ 640px (both pages)
   ============================================================ */
@media (max-width:640px){
  body.page-id-517323 .gform_wrapper,
  body.page-id-379624  .gform_wrapper{ padding:16px 10px!important; border-radius:10px; }

  /* radio card padding & option font size */
  body.page-id-517323 .gfield--type-radio > .ginput_container,
  body.page-id-379624  .gfield--type-radio > .ginput_container{ padding:var(--apx-card-pad-m)!important; }
  body.page-id-517323 .gfield_radio > li.gchoice,
  body.page-id-517323 .gfield_radio > li.gchoice label,
  body.page-id-379624  .gfield_radio > li.gchoice,
  body.page-id-379624  .gfield_radio > li.gchoice label{
    font-size:var(--apx-radio-mobile)!important; line-height:var(--apx-radio-line-mobile)!important;
  }

  /* a touch more room on the right inside radio “cards” for long lines */
  body.page-id-517323 .gfield--type-radio > .ginput_container,
  body.page-id-379624  .gfield--type-radio > .ginput_container{ padding-right:12px!important; }
}

/* CAPTCHA — keep full box visible on mobile (no clipped bottom border) */
#gform_wrapper_176 .gfield--type-captcha .ginput_container,
#gform_wrapper_167 .gfield--type-captcha .ginput_container,
#gform_wrapper_177 .gfield--type-captcha .ginput_container,
#gform_wrapper_117 .gfield--type-captcha .ginput_container{
  padding: 0 !important;
  margin: 0 0 12px !important;
  overflow: visible !important;
  min-height: 84px !important;   /* 78px widget + a bit of breathing room */
  /* If you use a card style, this ensures the card’s bottom border is shown */
  border-radius: 10px;            /* optional, matches your cards */
}

/* Small phones: gently shrink the widget and keep enough container height */
@media (max-width: 399px){
  #gform_wrapper_176 .gfield--type-captcha .ginput_recaptcha,
  #gform_wrapper_167 .gfield--type-captcha .ginput_recaptcha,
  #gform_wrapper_177 .gfield--type-captcha .ginput_recaptcha,
  #gform_wrapper_117 .gfield--type-captcha .ginput_recaptcha{
    transform: scale(.94);
    transform-origin: left top;
  }
  #gform_wrapper_176 .gfield--type-captcha .ginput_container,
  #gform_wrapper_167 .gfield--type-captcha .ginput_container,
  #gform_wrapper_177 .gfield--type-captcha .ginput_container,
  #gform_wrapper_117 .gfield--type-captcha .ginput_container{
    min-height: 84px !important;  /* avoids any clipping after scaling */
    padding-bottom: 6px !important; /* belt-and-suspenders for the border */
  }
}/* End custom CSS */