.elementor-24067 .elementor-element.elementor-element-fd243c2{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-24067 .elementor-element.elementor-element-fd243c2:not(.elementor-motion-effects-element-type-background), .elementor-24067 .elementor-element.elementor-element-fd243c2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-53d432d );}.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-24067 .elementor-element.elementor-element-4ccc274 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-24067 .elementor-element.elementor-element-4ccc274{text-align:center;}.elementor-24067 .elementor-element.elementor-element-4ccc274 .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-07de8be );}.elementor-24067 .elementor-element.elementor-element-7d71502{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-24067 .elementor-element.elementor-element-728c545{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-24067 .elementor-element.elementor-element-256787e{text-align:left;}.elementor-24067 .elementor-element.elementor-element-79e7fff{--display:flex;--justify-content:center;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-24067 .elementor-element.elementor-element-593db3d > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-24067 .elementor-element.elementor-element-593db3d{font-family:"Roboto", Sans-serif;font-size:36px;font-weight:600;line-height:1.25em;color:var( --e-global-color-primary );}.elementor-24067 .elementor-element.elementor-element-08c487d{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-24067 .elementor-element.elementor-element-4136fde .jet-listing-dynamic-repeater__items{flex-direction:column;justify-content:flex-start;}.elementor-24067 .elementor-element.elementor-element-4136fde .jet-listing-dynamic-repeater__item > *{justify-content:flex-start;color:var( --e-global-color-astglobalcolor8 );}@media(min-width:768px){.elementor-24067 .elementor-element.elementor-element-fd243c2{--content-width:1100px;}.elementor-24067 .elementor-element.elementor-element-7d71502{--content-width:1100px;}.elementor-24067 .elementor-element.elementor-element-728c545{--width:40%;}.elementor-24067 .elementor-element.elementor-element-08c487d{--content-width:1100px;}}@media(max-width:1024px) and (min-width:768px){.elementor-24067 .elementor-element.elementor-element-728c545{--width:100px;}}@media(max-width:1024px){.elementor-24067 .elementor-element.elementor-element-4ccc274{text-align:center;}.elementor-24067 .elementor-element.elementor-element-256787e{text-align:center;}.elementor-24067 .elementor-element.elementor-element-593db3d > .elementor-widget-container{margin:0px 30px 0px 30px;}.elementor-24067 .elementor-element.elementor-element-593db3d{text-align:center;font-size:36px;}}@media(max-width:767px){.elementor-24067 .elementor-element.elementor-element-4ccc274 > .elementor-widget-container{margin:20px 0px 5px 0px;padding:0px 12px 0px 12px;}.elementor-24067 .elementor-element.elementor-element-79e7fff{--padding-top:20px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-24067 .elementor-element.elementor-element-593db3d > .elementor-widget-container{margin:0px 0px -10px 0px;}.elementor-24067 .elementor-element.elementor-element-593db3d{font-size:24px;line-height:1.2em;}}/* Start custom CSS for jet-listing-dynamic-repeater, class: .elementor-element-4136fde *//* Make the popup content roomy */
.elementor-popup-modal .dialog-widget-content {
  padding: 0 !important;
}

/* Let the iframe breathe
#flipbookFrame {
  height: 120vh !important;
  width: 100%;
  display: block;
} */

#pdfjsFrame { height:100vh !important; width:100%; display:block; border:0; }
.elementor-popup-modal .dialog-widget-content { padding:0 !important; }/* End custom CSS */
/* Start custom CSS for jet-listing-dynamic-repeater, class: .elementor-element-4136fde *//* Make the popup content roomy */
.elementor-popup-modal .dialog-widget-content {
  padding: 0 !important;
}

/* Let the iframe breathe
#flipbookFrame {
  height: 120vh !important;
  width: 100%;
  display: block;
} */

#pdfjsFrame { height:100vh !important; width:100%; display:block; border:0; }
.elementor-popup-modal .dialog-widget-content { padding:0 !important; }/* End custom CSS */
/* Start custom CSS */.module-title {
  margin-bottom: 12px;
  color: var(--e-global-color-primary) !important;
  font-family: var(--e-global-typography-primary-font-family), sans-serif  !important;
  font-size: 28px; /* heading size */
  line-height: 1.3;
}

.module-content {
  color: var(--e-global-color-text)  !important;
  font-family: var(--e-global-typography-text-font-family), sans-serif  !important;
  font-size: 18px;
  line-height: 1.6;
}

.module-link {
  display: inline-block;
  padding: 20px 40px;
  text-decoration: none;
  border-radius: 4px;
  font-family: var(--e-global-typography-accent-font-family)  !important, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  transition: all 0.3s ease;
}

.course-button--primary .module-link {
  background-color: var(--e-global-color-accent) !important;
  color: var(--e-global-color-07de8be) !important;
}
.course-button--primary .module-link:hover {
  background-color: var(--e-global-color-07de8be) !important;
  color: var(--e-global-color-accent) !important;
  border: 3px solid var(--e-global-color-accent) !important;
}

.course-button--secondary .module-link {
  background-color: var(--e-global-color-53d432d) !important;
  color: var(--e-global-color-07de8be) !important; /* adjust if needed for contrast */
}
.course-button--secondary .module-link:hover {
  background-color: var(--e-global-color-07de8be) !important;
  color: var(--e-global-color-53d432d) !important;
  border: 3px solid var(--e-global-color-53d432d) !important;
} 

.module-wrap {width:100% !important; margin-bottom: 40px; padding-bottom: 4px; border-bottom: solid 3px; border-color: var(--e-global-color-ee5bb9f);}

/* Remove border for the last item only */
.jet-listing-dynamic-repeater__item:last-child .module-wrap {
  border-bottom: none;
  margin-bottom: 0; /* optional: tighten spacing after last item */
  padding-bottom: 0; /* optional: tighten spacing after last item */
}

/* Stretch the repeater widget inside Flexbox Containers */
.elementor-element-4136fde { 
  width: 100% !important;
  flex: 1 1 100% !important;
  align-self: stretch !important;
}

/* Hide by default */
.module-link { 
  display: none; 
}

/* Show only when the URL looks valid (PDF or any http/https or media path) */
.module-link[href$=".pdf"],
.module-link[href*=".pdf?"],
.module-link[href^="http"],
.module-link[href^="//"],
.module-link[href^="/wp-content/"] {
  display: inline-block;
}

/* Two-column layout */
.module-grid {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.module-inner {
  flex: 1 1 60%; /* grows to full width when image hides */
  min-width: 0;
}
.module-image {
  flex: 0 0 40%;
  text-align: right;
}

/* Image sizing */
.module-image img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* --- Hide image column by default, then SHOW it only for valid URLs --- */
.module-image { 
  display: none !important; 
}

/* Show when the src looks like a real image path */
.module-image:has(img[src^="http"]) { display: block !important; }
.module-image:has(img[src^="//"]) { display: block !important; }
.module-image:has(img[src^="/wp-content/"]) { display: block !important; }

/* Handle common extensions (with or without query strings) */
.module-image:has(img[src$=".jpg"]),
.module-image:has(img[src$=".jpeg"]),
.module-image:has(img[src$=".png"]),
.module-image:has(img[src$=".webp"]),
.module-image:has(img[src$=".gif"]),
.module-image:has(img[src*=".jpg?"]),
.module-image:has(img[src*=".jpeg?"]),
.module-image:has(img[src*=".png?"]),
.module-image:has(img[src*=".webp?"]),
.module-image:has(img[src*=".gif?"]) {
  display: block !important;
}

/* Two-column layout */
.module-grid {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.module-inner {
  flex: 1 1 60%; /* grows to full width when image hides */
  min-width: 0;
}
.module-image {
  flex: 0 0 40%;
  text-align: right;
}

/* Image sizing */
.module-image img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* --- Hide image column by default, then SHOW it only for valid URLs --- */
.module-image { 
  display: none !important; 
}

/* Show when the src looks like a real image path */
.module-image:has(img[src^="http"]) { display: block !important; }
.module-image:has(img[src^="//"]) { display: block !important; }
.module-image:has(img[src^="/wp-content/"]) { display: block !important; }

/* Handle common extensions (with or without query strings) */
.module-image:has(img[src$=".jpg"]),
.module-image:has(img[src$=".jpeg"]),
.module-image:has(img[src$=".png"]),
.module-image:has(img[src$=".webp"]),
.module-image:has(img[src$=".gif"]),
.module-image:has(img[src*=".jpg?"]),
.module-image:has(img[src*=".jpeg?"]),
.module-image:has(img[src*=".png?"]),
.module-image:has(img[src*=".webp?"]),
.module-image:has(img[src*=".gif?"]) {
  display: block !important;
}

    /* Add space below the last element before the border */
  .module-wrap {
    padding-bottom: 20px; /* same as desktop, adjust as needed */
  }

  /* Optional: if you want a bit more gap specifically after the button */
  .module-link {
    margin-bottom: 16px;
  }

/* ===== Mobile layout: image under the heading ===== */
@media (max-width: 767px) {
  /* Stack the repeater item vertically */
  .module-grid {
    display: flex;
    flex-direction: column;
    gap: 8px; /* tighten as needed */
  }

  /* Let children of .module-inner participate in the parent flex ordering */
  .module-inner {
    display: contents; /* allows reordering of title/content/button */
  }

  /* Order on mobile: Title (1) → Image (2) → Content (3) → Button (4) */
  .module-title   { order: 0; }
  .module-image   { order: 1; }  /* visibility still controlled by your existing show/hide rules */
  .module-content { order: 2; }
  .module-link    { order: 3; }

  /* Mobile image sizing */
  .module-image img {
    width: 100%;
    height: auto;
    display: block;
  }
  
    /* Add space below the last element before the border */
  .module-wrap {
    padding-bottom: 20px; /* same as desktop, adjust as needed */
  }

  /* Optional: if you want a bit more gap specifically after the button */
  .module-link {
    margin-bottom: 16px;
  }

  /* If it's the last repeater item, still remove the border & spacing */
  .jet-listing-dynamic-repeater__item:last-child .module-wrap {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  
    .module-link {
    display: block;
    margin: 0 auto;       /* centers it */
  }
}

/* --- clamp everything to the viewport --- */
.module-wrap, .module-grid, .module-inner, .module-image,
.module-title, .module-content, .module-link { 
  box-sizing: border-box; 
  max-width: 100%;
}
.module-wrap * { max-width: 100%; }

/* prevent long words/links from blowing out the width */
.module-content, .module-title, .module-content a {
  overflow-wrap: anywhere;
  word-break: break-word;
}



/* mobile button spans width (optional) */
@media (max-width: 767px) {
  .module-inner, .module-grid { display: block; width: 100%;}    /* avoid display:contents quirks */
  .module-link  { display: block; width: 100%; text-align: center; }
}

/* Also show when linking to the viewer page */
.module-link[href^="/pdfjs-viewer/"] { display: inline-block; }/* End custom CSS */