.elementor-26862 .elementor-element.elementor-element-1181a457 > .elementor-background-overlay{background-image:url("https://www.sthpen.com.au/wp-content/uploads/2025/09/programs_banner_1.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-26862 .elementor-element.elementor-element-1181a457 > .elementor-container{max-width:500px;}.elementor-26862 .elementor-element.elementor-element-1181a457{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:0px 0px 0px 0px;}.elementor-26862 .elementor-element.elementor-element-df908ec > .elementor-widget-container{padding:50px 50px 50px 50px;}.elementor-26862 .elementor-element.elementor-element-4ecf2b8{--display:flex;--margin-top:25px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-26862 .elementor-element.elementor-element-4099414{--display:grid;--e-con-grid-template-columns:repeat(3, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--overlay-opacity:1;--padding-top:36px;--padding-bottom:32px;--padding-left:0px;--padding-right:0px;}.elementor-26862 .elementor-element.elementor-element-4099414::before, .elementor-26862 .elementor-element.elementor-element-4099414 > .elementor-background-video-container::before, .elementor-26862 .elementor-element.elementor-element-4099414 > .e-con-inner > .elementor-background-video-container::before, .elementor-26862 .elementor-element.elementor-element-4099414 > .elementor-background-slideshow::before, .elementor-26862 .elementor-element.elementor-element-4099414 > .e-con-inner > .elementor-background-slideshow::before, .elementor-26862 .elementor-element.elementor-element-4099414 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#FFFFFF;--background-overlay:'';}.elementor-26862 .elementor-element.elementor-element-96acbe8 > .elementor-background-overlay{background-image:url("https://www.sthpen.com.au/wp-content/uploads/2025/09/programs_banner_2.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-26862 .elementor-element.elementor-element-96acbe8 > .elementor-container{max-width:500px;}.elementor-26862 .elementor-element.elementor-element-96acbe8{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:76px 0px 70px 0px;}.elementor-26862 .elementor-element.elementor-element-2e8ad23{--display:flex;--padding-top:15px;--padding-bottom:8px;--padding-left:0px;--padding-right:0px;}.elementor-26862 .elementor-element.elementor-element-2e8ad23:not(.elementor-motion-effects-element-type-background), .elementor-26862 .elementor-element.elementor-element-2e8ad23 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-26862 .elementor-element.elementor-element-4a6c393{text-align:center;}.elementor-26862 .elementor-element.elementor-element-8c7119f > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-26862 .elementor-element.elementor-element-8c7119f .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:5px;}.elementor-26862 .elementor-element.elementor-element-8c7119f .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-5px;}.elementor-26862 .elementor-element.elementor-element-8c7119f .elementor-field-group.recaptcha_v3-bottomleft, .elementor-26862 .elementor-element.elementor-element-8c7119f .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-26862 .elementor-element.elementor-element-8c7119f .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-26862 .elementor-element.elementor-element-8c7119f .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-26862 .elementor-element.elementor-element-8c7119f .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-26862 .elementor-element.elementor-element-8c7119f .elementor-field-group > label, .elementor-26862 .elementor-element.elementor-element-8c7119f .elementor-field-subgroup label{color:var( --e-global-color-07964bf );}.elementor-26862 .elementor-element.elementor-element-8c7119f .elementor-field-type-html{padding-bottom:0px;}.elementor-26862 .elementor-element.elementor-element-8c7119f .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-26862 .elementor-element.elementor-element-8c7119f .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-26862 .elementor-element.elementor-element-8c7119f .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-26862 .elementor-element.elementor-element-8c7119f .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-26862 .elementor-element.elementor-element-8c7119f .elementor-button[type="submit"]{color:#ffffff;}.elementor-26862 .elementor-element.elementor-element-8c7119f .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-26862 .elementor-element.elementor-element-8c7119f .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-26862 .elementor-element.elementor-element-8c7119f .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-26862 .elementor-element.elementor-element-8c7119f .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-26862 .elementor-element.elementor-element-8c7119f .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-26862 .elementor-element.elementor-element-8c7119f .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-26862 .elementor-element.elementor-element-8c7119f .elementor-button{border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-26862 .elementor-element.elementor-element-8c7119f{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-26862 .elementor-element.elementor-element-40b73e4d:not(.elementor-motion-effects-element-type-background), .elementor-26862 .elementor-element.elementor-element-40b73e4d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-07964bf );}.elementor-26862 .elementor-element.elementor-element-40b73e4d{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:2px;margin-bottom:2px;padding:070px 79px 50px 79px;}.elementor-26862 .elementor-element.elementor-element-40b73e4d > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-26862 .elementor-element.elementor-element-66173cc{--display:flex;}.elementor-26862 .elementor-element.elementor-element-dba60f2{--display:flex;}.elementor-26862 .elementor-element.elementor-element-0863230{text-align:center;}.elementor-26862 .elementor-element.elementor-element-3183a1c{--display:grid;--e-con-grid-template-columns:repeat(4, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-26862 .elementor-element.elementor-element-b1d3b98{--display:flex;}.elementor-26862 .elementor-element.elementor-element-d293970{text-align:center;}.elementor-26862 .elementor-element.elementor-element-db7a9d7{--display:flex;}.elementor-26862 .elementor-element.elementor-element-8ec8930{--display:grid;--e-con-grid-template-columns:repeat(7, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-26862 .elementor-element.elementor-element-d7e78d3{--display:flex;}.elementor-26862 .elementor-element.elementor-element-d16db2c{text-align:center;}.elementor-26862 .elementor-element.elementor-element-aa1e375{--display:grid;--e-con-grid-template-columns:repeat(7, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-26862 .elementor-element.elementor-element-8513c56.elementor-element{--align-self:center;}.elementor-26862 .elementor-element.elementor-element-8513c56{text-align:center;}@media(max-width:1024px){.elementor-26862 .elementor-element.elementor-element-4099414{--grid-auto-flow:row;}.elementor-26862 .elementor-element.elementor-element-3183a1c{--grid-auto-flow:row;}.elementor-26862 .elementor-element.elementor-element-8ec8930{--grid-auto-flow:row;}.elementor-26862 .elementor-element.elementor-element-aa1e375{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-26862 .elementor-element.elementor-element-1181a457 > .elementor-container{max-width:500px;}.elementor-26862 .elementor-element.elementor-element-1181a457 > .elementor-background-overlay{background-position:center right;}.elementor-26862 .elementor-element.elementor-element-1181a457{padding:40px 0px 40px 0px;}.elementor-26862 .elementor-element.elementor-element-4ecf2b8{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:24px;--padding-bottom:0px;--padding-left:15px;--padding-right:15px;}.elementor-26862 .elementor-element.elementor-element-4099414{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:15px;--padding-right:15px;}.elementor-26862 .elementor-element.elementor-element-96acbe8 > .elementor-container{max-width:500px;}.elementor-26862 .elementor-element.elementor-element-96acbe8{padding:40px 0px 40px 0px;}.elementor-26862 .elementor-element.elementor-element-4a6c393 > .elementor-widget-container{padding:0px 40px 0px 40px;}.elementor-26862 .elementor-element.elementor-element-3183a1c{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-26862 .elementor-element.elementor-element-8ec8930{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-26862 .elementor-element.elementor-element-aa1e375{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}@media(min-width:768px){.elementor-26862 .elementor-element.elementor-element-4099414{--content-width:888px;}}/* Start custom CSS for html, class: .elementor-element-09edadd */.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a7a08c8 */.sessions .day-block {
  padding: 12px 0;
  border-bottom: 1px solid #ddd; /* thin divider */
}

.sessions .day-block:last-child {
  border-bottom: none; /* remove divider after last */
}

.sessions .session {
  margin-bottom: 8px;
}

.sessions .session:last-child {
  margin-bottom: 0; /* tighten spacing inside day group */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4099414 */.spba-schedule {
  font-size: 0.95rem;
  text-align: left;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid #eee;
  border-radius: 8px;
  background: #fafafa;
}

.spba-schedule h4 {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  text-align: center;
}

.spba-schedule .session {
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #e0e0e0;
}

.spba-schedule .session:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.spba-schedule .cost {
  margin-top: 1rem;
  font-weight: 600;
  text-align: center;
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-8c7119f *//* ================================
   SPBA Form widget stacked layout
   ================================ */

.spba-form .elementor-form {
  max-width: 820px;
  margin: 0 auto;
  padding: 20px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 14px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.05);
}

/* Always stack fields */
.spba-form .elementor-form-fields-wrapper {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Labels */
.spba-form .elementor-field-label {
  font-weight: 600;
  margin-bottom: 6px;
  color: #2f3a45;
}

/* Inputs, selects, textareas */
.spba-form .elementor-field-group .elementor-field,
.spba-form .elementor-field-group .elementor-select-wrapper select,
.spba-form .elementor-field-group textarea {
  width: 100%;
  border: 1px solid #e6e6e6;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 16px;
  line-height: 1.4;
  background: #fff;
  color: #000;
  transition: border-color .15s ease, box-shadow .15s ease;
}

/* Focus state */
.spba-form .elementor-field:focus,
.spba-form .elementor-select-wrapper select:focus,
.spba-form textarea:focus {
  border-color: #0a4b92;
  box-shadow: 0 0 0 3px rgba(10,75,146,0.15);
  outline: none;
}

/* Textarea sizing */
.spba-form textarea.elementor-field {
  min-height: 140px;
  resize: vertical;
}

/* Submit button */
.spba-form .elementor-button {
  width: 100%;
  padding: 14px 20px;
  border-radius: 999px; /* pill shape */
  border: none;
  background: #0a4b92;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 4px 10px rgba(10,75,146,0.2);
  transition: transform .02s ease, background .2s ease;
}
.spba-form .elementor-button:hover { background: #093f7a; }
.spba-form .elementor-button:active { transform: translateY(1px); }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b548a76 *//* Container matches your card width and feel */
.spba-faq .faq-card {
  border: 1px solid #e8e8e8;
  border-radius: 14px;
  background: #fff;
  max-width: 760px;
  margin: 0 auto 32px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.05);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  overflow: hidden;
}

/* Title */
.spba-faq .faq-title {
  font-size: 1.5rem;
  margin: 0;
  padding: 20px 22px 8px;
  color: #0a4b92;
}

/* Each item */
.spba-faq .faq-item {
  border-top: 1px solid #eee;
  padding: 12px 22px;
}

/* Summary styled like your details buttons */
.spba-faq .faq-item > summary {
  list-style: none;
  cursor: pointer;
  font-weight: 600;
  color: #0a4b92;
  background: #f5f9ff;
  padding: 10px 14px;
  border-radius: 8px;
  transition: background 0.2s;
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Remove default triangle */
.spba-faq .faq-item > summary::-webkit-details-marker { display: none; }
.spba-faq .faq-item > summary::marker { content: ""; }

/* Hover */
.spba-faq .faq-item > summary:hover { background: #e9f2ff; }

/* Caret icon on the right */
.spba-faq .faq-caret {
  margin-left: auto;
  width: 18px;
  height: 18px;
  color: #0a4b92;
  transform: rotate(0deg);
  transition: transform 0.2s ease;
}

/* Rotate caret when open */
.spba-faq .faq-item[open] .faq-caret {
  transform: rotate(180deg);
}

/* Content area */
.spba-faq .faq-content {
  margin-top: 10px;
  padding: 0 4px 4px;
  color: #222;
  line-height: 1.6;
}

/* Paragraph spacing inside content */
.spba-faq .faq-content p {
  margin: 0;
}

/* Mobile tweaks */
@media (max-width: 640px) {
  .spba-faq .faq-title { font-size: 1.35rem; }
  .spba-faq .faq-item { padding: 10px 16px; }
}/* End custom CSS */
/* Start custom CSS *//* =========================================
   iPhone overflow hardening (page-scoped)
   ========================================= */

/* Viewport + page guard (merged duplicate rules) */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  background-color: #fff; /* match site bg so no odd gutter color */
  overscroll-behavior-x: none; /* iOS/modern browsers */
}

/* Constrain this page containers */
body.page-id-1234 .elementor-section .elementor-container,
body.page-id-1234 .e-con.e-flex,
body.page-id-1234 .e-con {
  max-width: 820px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}

/* Stretched sections can slip on iOS when Elementor offsets with left: */
body.page-id-1234 .elementor-section.elementor-section-stretched {
  width: 100% !important;
  left: 0 !important;
  right: 0 !important; /* keep centered without horizontal offset */
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* If Elementor (or inline styles) uses calc(-50vw + 50%) to offset, neutralize it */
body.page-id-1234 [style*="calc(-50vw"] {
  left: 0 !important;
  right: 0 !important;
}

/* Any full width wrappers should never exceed 100% width */
body.page-id-1234 .elementor,
body.page-id-1234 .elementor-section,
body.page-id-1234 .elementor-container,
body.page-id-1234 .elementor-column,
body.page-id-1234 .elementor-widget-wrap {
  overflow-x: hidden;
  max-width: 100%;
}

/* Media should never overflow */
body.page-id-1234 img,
body.page-id-1234 video,
body.page-id-1234 iframe {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Long words or URLs */
body.page-id-1234 .elementor-widget,
body.page-id-1234 .elementor-widget * {
  overflow-wrap: anywhere;
  word-wrap: break-word;
}

/* Inline 100vw is a common culprit; use percentages instead */
body.page-id-1234 [style*="100vw"] {
  width: 100% !important;
  max-width: 100% !important;
}

/* Negative margins pushing content off-screen */
body.page-id-1234 [style*="margin-left:-"],
body.page-id-1234 [style*="margin-right:-"] {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Elementor sliders and maps can overflow by a pixel or two */
body.page-id-1234 .elementor-widget-image-carousel,
body.page-id-1234 .elementor-widget-slides,
body.page-id-1234 .elementor-widget-google_maps {
  overflow: hidden;
}

/* =========================================
   Back to Top button
   ========================================= */

/* Smooth scroll, but respect reduced motion */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

.back-to-top { display: none; } /* hidden on desktop */

@media (max-width: 768px) {
  .back-to-top {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    background: #fdd312; /* SPBA yellow */
    border-radius: 50%;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    z-index: 999;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }

  /* Ensure SVG icon is styled and visible */
  .back-to-top svg {
    width: 20px;
    height: 20px;
    stroke: #000;          /* black arrow for contrast */
    stroke-width: 2;
    fill: none;            /* avoid unexpected fills overriding stroke */
    display: block;
  }

  .back-to-top:hover { background: #fdd312; } /* no hover change on mobile */

  /* Respect iPhone safe areas: support both legacy and modern syntax */
  @supports (padding: max(0px)) {
    .back-to-top {
      bottom: max(20px, constant(safe-area-inset-bottom)); /* legacy iOS */
      bottom: max(20px, env(safe-area-inset-bottom));      /* modern */
      right:  max(20px, constant(safe-area-inset-right));
      right:  max(20px, env(safe-area-inset-right));
    }
  }
}

/* Optional: focus ring for accessibility when tabbing */
.back-to-top:focus-visible {
  outline: 2px solid #000;
  outline-offset: 2px;
}/* End custom CSS */