/*
Theme Name: ECC
Theme URI: https://azure-wren-559616.hostingersite.com/
Template: Divi
Author: Epiphany WP child theme (divi)
Author URI: https://azure-wren-559616.hostingersite.com/
Description: Child of Divi, a theme from Elegant Themes
Version: 5.0.1
*/

/* ==========================================================================
   TYPOGRAPHY / @FONT-FACE
   ========================================================================== */

/* Spectral (Serif) */
@font-face {
  font-display: swap;
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 200;
  src: url('/wp-content/uploads/2026/04/spectral-200.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 300;
  src: url('/wp-content/uploads/2026/04/spectral-300italic.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 300;
  src: url('/wp-content/uploads/2026/04/spectral-300.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 400;
  src: url('/wp-content/uploads/2026/04/spectral-400.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 400;
  src: url('/wp-content/uploads/2026/04/spectral-400italic.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 500;
  src: url('/wp-content/uploads/2026/04/spectral-500.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 600;
  src: url('/wp-content/uploads/2026/04/spectral-600italic.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 600;
  src: url('/wp-content/uploads/2026/04/spectral-600.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Spectral';
  font-style: normal;
  font-weight: 700;
  src: url('/wp-content/uploads/2026/04/spectral-700.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Spectral';
  font-style: italic;
  font-weight: 700;
  src: url('/wp-content/uploads/2026/04/spectral-700italic.woff2') format('woff2');
}

/* Montserrat (Sans-Serif) */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  src: url('/wp-content/uploads/2026/04/montserrat-300.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  mega font-weight: 400;
  src: url('/wp-content/uploads/2026/04/montserrat-400.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  src: url('/wp-content/uploads/2026/04/montserrat-400italic.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  /* Re-combined font-weight declaration per original */
  font-weight: 600 700;
  src: url('/wp-content/uploads/2026/04/montserrat-700.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600 700;
  src: url('/wp-content/uploads/2026/04/montserrat-600.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 600 700;
  src: url('/wp-content/uploads/2026/04/montserrat-700italic.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 800;
  src: url('/wp-content/uploads/2026/04/montserrat-600.woff2') format('woff2');
}

/* ==========================================================================
   DESIGN TOKENS & VARIABLES
   ========================================================================== */
:root {
  --header-topper-height: 40px;
  --header-main-height: 70px;
  --transition-speed: 300ms;
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --font-base: clamp(1rem, 0.909rem + 0.45vw, 1.125rem);
  --line-height-body: 1.65;
	
  /* 
  FLUID BASE (16px to 18px)
  Formula: clamp(min, preferred, max)
  */
  --wp-text-base: clamp(1rem, 0.909rem + 0.45vw, 1.125rem);

  /* 
   MODULAR SCALE (Ratio: 1.25 - Major Third)
   Everything scales relative to the fluid base.
   */
   --wp-text-sm: calc(var(--wp-text-base) / 1.25);
   --wp-text-md: var(--wp-text-base);
   --wp-text-lg: calc(var(--wp-text-base) * 1.25);
   --wp-text-xl: calc(var(--wp-text-lg) * 1.25);
   --wp-text-2xl: calc(var(--wp-text-xl) * 1.25);
   --wp-text-3xl: calc(var(--wp-text-2xl) * 1.25);
   --wp-text-4xl: calc(var(--wp-text-3xl) * 1.25);

  /* Design Tokens */
  --wp-bg-body: hsla(256, 52%, 99%, 0.99);
  --wp-bg-dark: hsla(0, 0%, 5%, 0.99);
  --wp-bg-light: hsla(0, 0%, 100%, 0.99);
  --wp-color-text: #111;
  --wp-color-dark: #000;
  --wp-color-light: #fff;
  --wp-color-darkgray: #475569;
  --primary: hsla(255.8, 51.3%, 37.8%, 0.99);
  --secondary: hsla(197.9, 100%, 42%, 0.99);
  --spacing-fluid: clamp(1.25rem, 2.5rem, 3rem);
  --spacing-header-top: clamp(11.825rem, 12rem, 14.125rem);
  --spacing-header-bottom: clamp(3.125rem, 3.75rem, 4.125rem);
  --card-radius: 1.5rem;
  --glass-blur: blur(12px); 
  --glass-bg: rgba(255, 255, 255, 0.05);

  --container-fluid-width: 95vw;
  --card-bg: var(--eccPurpleLite1);
  --card-text-primary: var(--wp-color-text);
  --card-text-secondary: var(--wp-color-darkgray);
  --card-border-radius: 12px;
  --accent-color: var(--eccPurple);

  /* Typography */
  --font-base: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --text-sm: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);

  /* Spacing & Layout */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --tooltip-offset: 0.5rem;
  --gap-fluid: clamp(1rem, 2vw + 0.5rem, 2rem);

  /* Colors & Theming (Removed backdrop-filter for builder stability) */
  --tooltip-bg: rgba(255, 255, 255, 0.9);
  /* Solid color prevents stacking context bleeding */
  --tooltip-text: rgba(31, 31, 34, 0.9);
  /* Solid color prevents stacking context bleeding */
  --tooltip-border: rgba(31, 31, 34, 0.9);

  /* Effects */
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;

  /* 	box-shadow */
  --shadow-elevation: 0 10px 15px -3px rgb(0 0 0 / 0.3), 0 4px 6px -4px rgb(0 0 0 / 0.3);
  --shadow-elevation2: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --shadow-elevation3: 0 1px 1px rgba(0, 0, 0, 0.15),
    0 2px 2px rgba(0, 0, 0, 0.15),
    0 4px 4px rgba(0, 0, 0, 0.15),
    0 8px 8px rgba(0, 0, 0, 0.15);

  /* Overlay Opacity Tokens */
  --opacity-idle: 0.4;
  --opacity-hover: 0.7;
  --opacity-active: 0.85;
  --transition-timing: 500ms cubic-bezier(0.4, 0, 0.2, 1);
  --fluid-h2: clamp(1.5rem, 4vw + 1rem, 2.25rem);

  --font-palatino: "Spectral", "Georgia", "Times New Roman", serif;
  --font-gotham: "Montserrat", "Helvetica", sans-serif;

        /* 
          --- MODULAR SCALE FLUID TYPOGRAPHY VARIABLES --- 
          Ratio: 1.25 (Major Third)
          Min Base: 1rem (16px) | Max Base: 1.125rem (18px)
        */

        /* DISPLAY 1 (Base * 1.25^8) - Massive edge-to-edge heroes */
        --fluid-type-min-display-1: 5.96rem;
        --fluid-type-max-display-1: 6.706rem;
        --fluid-type-target-display-1: 3.5vw;

        /* DISPLAY 2 (Base * 1.25^7) - Standard large slider text */
        --fluid-type-min-display-2: 4.768rem;
        --fluid-type-max-display-2: 5.364rem;
        --fluid-type-target-display-2: 2.5vw;
        
        /* DISPLAY 3 (Base * 1.25^6) - Bridge between H1 and massive text */
        --fluid-type-min-display-3: 3.815rem;
        --fluid-type-max-display-3: 4.292rem;
        --fluid-type-target-display-3: 1.8vw;

        /* H1 (Base * 1.25^5) */
        --fluid-type-min-h1: 3.052rem;
        --fluid-type-max-h1: 3.433rem;
        --fluid-type-target-h1: 1.2vw;

        /* H2 (Base * 1.25^4) */
        --fluid-type-min-h2: 2.441rem;
        --fluid-type-max-h2: 2.747rem;
        --fluid-type-target-h2: 0.9vw;

        /* H3 (Base * 1.25^3) */
        --fluid-type-min-h3: 1.953rem;
        --fluid-type-max-h3: 2.197rem;
        --fluid-type-target-h3: 0.7vw;

        /* H4 (Base * 1.25^2) */
        --fluid-type-min-h4: 1.563rem;
        --fluid-type-max-h4: 1.758rem;
        --fluid-type-target-h4: 0.5vw;

        /* H5 (Base * 1.25^1) */
        --fluid-type-min-h5: 1.25rem;
        --fluid-type-max-h5: 1.406rem;
        --fluid-type-target-h5: 0.35vw;

        /* H6 (Base) */
        --fluid-type-min-h6: 1rem;
        --fluid-type-max-h6: 1.125rem;
        --fluid-type-target-h6: 0.25vw;

        /* Base body size (Base) */
        --fluid-type-min-body: 1rem;
        --fluid-type-max-body: 1.125rem;
        --fluid-type-target-body: 0.25vw;

        /* Figcaption / small text (Base / 1.14 - keeping safe min size for seniors) */
        --fluid-type-min-figcaption: 0.875rem;
        --fluid-type-max-figcaption: 1rem;
        --fluid-type-target-figcaption: 0.15vw;

        --fluid-type-min-small: 0.875rem;
        --fluid-type-max-small: 1rem;
        --fluid-type-target-small: 0.15vw;

        /* Buttons (Keep identical to Base for readability) */
        --fluid-type-min-button: 1rem;
        --fluid-type-max-button: 1.125rem;
        --fluid-type-target-button: 0.25vw;

        /* Slide body text (H5 equivalent for presentation distance) */
        --fluid-type-min-slide-body: 1.25rem;
        --fluid-type-max-slide-body: 1.406rem;
        --fluid-type-target-slide-body: 0.35vw;

        /* 
          --- RESOLVED CLAMPS (Namespaced with --wp- prefix) ---
        */
        --wp-text-display-1: clamp(var(--fluid-type-min-display-1), calc(1rem + var(--fluid-type-target-display-1)), var(--fluid-type-max-display-1));
        --wp-text-display-2: clamp(var(--fluid-type-min-display-2), calc(1rem + var(--fluid-type-target-display-2)), var(--fluid-type-max-display-2));
        --wp-text-display-3: clamp(var(--fluid-type-min-display-3), calc(1rem + var(--fluid-type-target-display-3)), var(--fluid-type-max-display-3));

        --wp-text-h1: clamp(var(--fluid-type-min-h1), calc(1rem + var(--fluid-type-target-h1)), var(--fluid-type-max-h1));
        --wp-text-h2: clamp(var(--fluid-type-min-h2), calc(1rem + var(--fluid-type-target-h2)), var(--fluid-type-max-h2));
        --wp-text-h3: clamp(var(--fluid-type-min-h3), calc(1rem + var(--fluid-type-target-h3)), var(--fluid-type-max-h3));
        --wp-text-h4: clamp(var(--fluid-type-min-h4), calc(1rem + var(--fluid-type-target-h4)), var(--fluid-type-max-h4));
        --wp-text-h5: clamp(var(--fluid-type-min-h5), calc(1rem + var(--fluid-type-target-h5)), var(--fluid-type-max-h5));
        --wp-text-h6: clamp(var(--fluid-type-min-h6), calc(1rem + var(--fluid-type-target-h6)), var(--fluid-type-max-h6));
        
        --wp-text-body: clamp(var(--fluid-type-min-body, 1rem), calc(1rem + var(--fluid-type-target-body, 0.25vw)), var(--fluid-type-max-body, 1.125rem));
        
        --wp-text-figcaption: clamp(var(--fluid-type-min-figcaption), calc(1rem + var(--fluid-type-target-figcaption)), var(--fluid-type-max-figcaption));
        --wp-text-small: clamp(var(--fluid-type-min-small), calc(1rem + var(--fluid-type-target-small)), var(--fluid-type-max-small));
        --wp-text-button: clamp(var(--fluid-type-min-button), calc(1rem + var(--fluid-type-target-button)), var(--fluid-type-max-button));
        --wp-text-slide: clamp(var(--fluid-type-min-slide-body), calc(1rem + var(--fluid-type-target-slide-body)), var(--fluid-type-max-slide-body));

        /* 
          --- FLUID SPACING TOKENS --- 
          Replacing static rems with clamps so padding shrinks smoothly on mobile
          without requiring complex media queries.
        */
        --space-2xs: 0.25rem;
        --space-xs: clamp(0.5rem, 0.25rem + 1vw, 0.75rem);
        --space-sm: clamp(0.75rem, 0.5rem + 1.25vw, 1rem);
        --space-md: clamp(1rem, 0.5rem + 2.5vw, 1.5rem);
        --space-lg: clamp(1.5rem, 0.75rem + 3.75vw, 2rem);
        --space-xl: clamp(2rem, 1rem + 5vw, 3rem);
        --space-2xl: clamp(3rem, 1.5rem + 7.5vw, 5rem);
        --space-3xl: clamp(4rem, 2rem + 10vw, 8rem); /* For massive hero sections */
	        /* 
          --- LAYOUT TOKENS: STICKY HEADER MANAGEMENT --- 
          Defining the physical boundaries of the Divi header.
        */
        --header-height-initial: 120px;
        --header-height-scrolled: 80px;

        /* 
          Safe Area Math:
          120px Header + Fluid Space XL (which resolves to ~70px on desktop) = ~190px 
          This avoids hardcoding 190px and allows fluid scaling on mobile.
        */
        --safe-pt-standard: calc(var(--header-height-initial) + var(--space-xl));
        
        /* Push hero content further down so it stays centered visually under the header */
        --safe-pt-hero: calc(var(--header-height-initial) + var(--space-3xl));
	
  /* Viewport width bounds */
  --vw-min: 375px;
  /* mobile min width */
  --vw-tab: 768px;
  /* tab min width */
  --vw-max: 1080px;
  /* desktop min width */
  --pg-max: 1200px;
  /* max page width */

  /* Performance-optimized transition tokens */
  --transition-ease: cubic-bezier(0.25, 1, 0.5, 1);
  --transition-duration: 350ms;

  /* Text-shadow */
  --shadow-color: rgba(0, 0, 0, 0.4);
  --text-shadow-1: -1px 1px var(--shadow-color);
  --text-shadow-2:
    0 2px 4px rgba(0, 0, 0, 0.5),
    0 0 20px rgba(0, 0, 0, 0.3);
  --text-shadow-3:
    1px 1px 2px rgba(0, 0, 0, 0.6),
    0 0 1rem rgba(0, 0, 0, 0.2),
    0 0 0.2rem rgba(0, 0, 0, 0.5);

  --text-shadow-sm:
    0.05em 0.05em 0.1em var(--shadow-color);

  --text-shadow-md:
    0.1em 0.1em 0.2em var(--shadow-color),
    0 0 0.4em rgba(0, 0, 0, 0.2);

  --text-shadow-lg:
    0.15em 0.15em 0.3em var(--shadow-color),
    0 0 0.6em rgba(0, 0, 0, 0.3),
    0 0.1em 0.1em rgba(0, 0, 0, 0.2);

  --text-shadow-outline:
    -0.05em -0.05em 0 var(--shadow-color),
    0.05em -0.05em 0 var(--shadow-color),
    -0.05em 0.05em 0 var(--shadow-color),
    0.05em 0.05em 0 var(--shadow-color),
    0 0 0.2em var(--shadow-color);

  --glow-color: rgba(255, 255, 255, 0.6);
  --text-shadow-glow:
    0 0 0.2em var(--glow-color),
    0 0 0.4em var(--glow-color),
    0 0 0.8em var(--glow-color);
}




/* ==========================================================================
   RESET & CORE HTML
   ========================================================================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
}

html {
  font-size: var(--font-base);
  margin-top: 0 !important;
  scroll-padding-top: var(--header-height-scrolled); 
}

body {
  font-family: "Spectral", "Georgia", "Times New Roman", serif;
  background-color: var(--wp-bg-body);
  font-size: var(--wp-text-body);
  color: var(--wp-color-text);
  -webkit-font-smoothing: antialiased;
}

p {
  max-width: 65ch; 
  margin-bottom: var(--space-md);
}

#et-boc {
  display: flex;
  flex-direction: column;
}

.et-db #et-boc #main-content .et-l .et_pb_heading.whitespace-nowrap.w-auto {
  gap: 1ch;
}

.et-db #et-boc .et-l .et_pb_heading.whitespace-nowrap.w-auto .et_pb_heading_container {
  width: auto;
}

.et-db #et-boc #main-content .et-l .et_pb_heading.whitespace-nowrap.w-auto .et_pb_heading_container h1 {
  --fluid-type-min: 2.85rem;
  --fluid-type-max: 3.35rem;
  --fluid-type-target: 2.895vw;
  font-size: var(--wp-text-h1);
  letter-spacing: -0.19rem;
}

.et-db #page-container #et-boc .et-l .et_pb_post a.more-link {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-block: var(--space-sm);
}



#page-container {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 100dvh;
  overflow-y: visible !important;
  margin-top: -1px;
}

#et-main-area {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

#et-main-area #main-content {
  height: 100%;
  padding: 0;
  width: 100%;
}

#main-content {
  min-height: calc(100vh - 325px);
}

#page-container .container,
#page-container .et_pb_slider .et_pb_container,
#page-container .et_pb_fullwidth_section .et_pb_title_container,
#page-container .et_pb_fullwidth_section .et_pb_title_featured_container,
#page-container .et_pb_fullwidth_header:not(.et_pb_fullscreen) .et_pb_fullwidth_header_container {
  max-width: 100vw;
  width: min(var(--container-fluid-width), var(--container-max-width));
}


/* Grid Framework for Column Heights 
  align-items: stretch guarantees all boxes remain perfectly equal-height.
 */

.box-shade.et_pb_row_nested {
  display: grid;
  grid-template-columns: 1fr;
  /* Mobile First */
  grid-auto-rows: minmax(100px, auto);
  gap: 1.5vw;
  align-items: stretch;
  width: 100%;
  margin: 0 auto;
}

.box-shade .et_pb_column {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
}

.box-shade .et_pb_text.et_clickable {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  cursor: pointer;
  border-radius: var(--card-border-radius);
  background-color: var(--card-bg);
  box-shadow:
    0 4px 6px -1px rgb(0 0 0 / 0.08),
    0 2px 4px -2px rgb(0 0 0 / 0.08);
  transition:
    transform var(--transition-duration) var(--transition-ease),
    box-shadow var(--transition-duration) var(--transition-ease);
  overflow: clip;
  outline-offset: 4px;
}

/* Interactive States */
.box-shade .et_column:hover .et_clickable {
  transform: translateY(-4px);
  box-shadow:
    0 12px 20px -3px rgb(0 0 0 / 0.12),
    0 4px 12px -4px rgb(0 0 0 / 0.08);
}

.box-shade .et_clickable:focus-visible {
  outline: 3px solid var(--accent-color);
}

/* ==========================================================================
  THE GRADUAL SLIDE-UP REVEAL MECHANISM (Pure CSS)
  Using grid-template-rows transition to avoid layout recalculation thrashing.
 ========================================================================== */
.box-shade .et_pb_text_inner {
  justify-content: center;
  transition: all var(--transition-duration) var(--transition-ease);
}

/* Accessing the inner paragraph */
.box-shade .et_pb_text_inner p {
  overflow: clip;
  margin: 0;
  opacity: 0;
  transition:
    opacity var(--transition-duration) var(--transition-ease),
    transform var(--transition-duration) var(--transition-ease),
    margin-top var(--transition-duration) var(--transition-ease);
  color: var(--card-text-secondary);
  line-height: 1;
  font-size: 0.97rem;
}

.box-shade .et_pb_text_inner:has(p) h3 {
  transform: translateY(0);
  transition: all 0.05s ease-in-out;
}

.box-shade .et_pb_text_inner:has(p) p {
  letter-spacing: 0;
  opacity: 0;
  position: absolute;
  transform: translateY(5vw);
  transition: all 0.5s ease-in-out;
}

.box-shade .et_pb_column:hover .et_pb_text_inner:has(p) p {
  opacity: 1;
  position: relative;
  transform: translateY(0);
}

.box-shade .et_pb_column:hover .et_pb_text_inner:has(p) h3 {
  transform: translateY(-0.2rem);
}

/* Active State triggers (Hover & Focus-Within for screen readers/keyboards) */
.box-shade .et_pb_column:hover .et_clickable .et_pb_text_inner,
.box-shade .et_pb_column:focus-within .et_clickable .et_pb_text_inner {
  grid-template-rows: auto 1fr;
  /* Dynamic sizing expansion */
}

.box-shade .et_pb_column:hover .et_clickable .et_pb_text_inner p,
.box-shade .et_pb_column:focus-within .et_clickable .et_pb_text_inner p {
  opacity: 1;
  transform: translateY(0);
}

/* Visual Accents */
.box-shade .et_pb_text_inner h3 {
/*   font-size: clamp(1.1rem, 1.5vw, 1.35rem); */
  font-size: var(--wp-text-h5);
  font-weight: 700;
  color: var(--card-text-primary);
  margin: 0;
  align-self: center;
  transition: color var(--transition-duration) var(--transition-ease);
}

.box-shade .et_pb_column:hover .et_clickable h3,
.box-shade .et_pb_column:focus-within .et_clickable h3 {
  color: var(--accent-color);
}

/* *********************/
/* The Tooltip Element */
/* *********************/

.tool-tip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-sm);
  background-color: var(--wp-bg-light);
  color: var(--text-2);
  border: 1px solid var(--tooltip-border);
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: color 0.2s ease, background-color 0.2s ease;

  /* Crucial Context */
  position: relative;
  overflow: visible;
  /* Prevents Divi from clipping absolute children */
}

.tool-tip:hover,
.tool-tip:focus-visible {
  color: var(--twp-color-text);
  background-color: rgba(255, 255, 255, 0.1);
}

.tool-tip:focus-visible {
  outline: 2px solid var(--eccBlue);
  outline-offset: 2px;
}

/* Ensure the Divi span can anchor the absolute tooltip without clipping */
.el_modal_popup_close {
  overflow: visible !important;
  cursor: pointer;
}

/* Shared Tooltip Pseudo-element Base */
.tool-tip[data-tooltip]::before,
.tool-tip[data-tooltip]::after,
.el_modal_popup_close::before,
.el_modal_popup_close::after {
  position: absolute;
  left: 50%;

  /* Hardware-accelerated hidden state */
  pointer-events: none;
  opacity: 0;
  visibility: hidden;

  /* Combat Divi's aggressive z-indexing */
  z-index: 50;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

/* The Tooltip Body */
.tool-tip[data-tooltip]::before,
.el_modal_popup_close::before {
  background-color: var(--tooltip-bg);
  border-radius: var(--radius-sm);
  border: 1px solid var(--tooltip-border);
  box-shadow: var(--shadow-elevation);
  bottom: calc(100% + var(--tooltip-offset));
  color: var(--wp-color-text);
  font-size: var(--text-sm);
  font-weight: 500;
  content: attr(data-tooltip);
  font-family: var(--font-gotham);
  max-width: 15rem;
  padding: var(--space-sm) var(--space-md);
  text-align: center;
  transform: translateX(-50%) translateY(var(--space-xs));
  width: max-content;
}

/* Hardcode the content specifically for the Divi element override */
.el_modal_popup_close::before {
  content: "Click to close";

}

/* Tooltip Arrow using standard CSS borders */
.tool-tip[data-tooltip]::after,
.el_modal_popup_close::after {
  content: '';
  bottom: calc(100% + var(--tooltip-offset) - 5px);
  /* Use borders to draw a triangle - more robust in builders than rotated squares */
  border-width: 5px 5px 0 5px;
  border-style: solid;
  border-color: var(--tooltip-border) transparent transparent transparent;

  /* Drop shadow on the arrow to match the box (using filter, not box-shadow) */
  filter: drop-shadow(0 2px 1px rgba(0, 0, 0, 0.2));
  transform: translateX(-50%) translateY(var(--space-xs));
}


/* Interactive States */
.tool-tip:hover::before,
.tool-tip:focus-visible::before,
.el_modal_popup_close:hover::before,
.el_modal_popup_close:focus-visible::before {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.tool-tip:hover::after,
.tool-tip:focus-visible::after,
.el_modal_popup_close:hover::after,
.el_modal_popup_close:focus-visible::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

/* ==========================================================================
   FLUID TYPOGRAPHY MASTER BLOCKS
   ========================================================================== */

/* body,
body #page-container .wpforms-submit,
#page-container h1,
#page-container h2,
#page-container h3,
#page-container h4,
#page-container h5,
#page-container h6,
#et-boc #main-content .et_post_meta_wrapper .entry-title,
.et-db #et-boc #main-content .et_pb_column .et_pb_heading h1,
.et-db #et-boc #main-content .et_pb_column .et_pb_heading h1 a,
.et-db #et-boc #main-content .et_pb_post h2,
.et-db #et-boc #main-content .et_pb_post h2 a,
#main-content .full-bg-image h2.et_pb_module_header,
body #page-container .entry-content h3,
body #page-container .section-header h3,
body #page-container .entry-content h5,
body #page-container .entry-content h6,
body #page-container small,
#page-container .smaller,
body #page-container .sg-btn,
body #page-container .et_pb_bg_layout_light,
body #page-container .et_pb_module,
.et_pb_button,
a.more-link,
a.et_pb_link p,
#page-container .et_pb_button a,
.wp-block-file__button.wp-element-button,
#page-container .ecc-btn,
#page-container .eccBtn,
.dnxt-button-wrapper>a,
body #page-container .sg-btn,
.style-quote blockquote,
.ecc-meta-val,
.slick-prev::before,
.slick-next::before,
body #page-container select,
body .entry-content span,
body #page-container .menu-item a,
.material-icons,
body .entry-content li,
body #page-container .entry-content td,
body #page-container .entry-content th,
body .entry-content p,
header.et-l--header *,
footer.et-l--footer *,
.hero.hero-carousel .et_pb_group_carousel_arrow,
body #page-container .et_pb_text_inner p,
body #page-container>#et-boc #main-content .et_pb_text_inner,
body #page-container .et_pb_team_member_description_content a,
body #page-container .et_pb_team_member_description_content p,
body #page-container .entry-content .et_pb_tabs_controls li a,
.style-quote cite,
.et_pb_text.byline,
.et_pb_text.newpub,
.ecc-empty-image,
#page-container .italic,
body #page-container #sg-app-container .sg-title,
.sg-description p,
#page-container li,
.style-quote::before,
.style-quote::after,
.wb-homily-pdf-download-link,
.et-db #et-boc footer.et-l.et-l--footer .et_pb_module_header { */
/*   font-size: clamp(var(--fluid-type-min, 0.825vw),
      calc(var(--fluid-type-min) + var(--fluid-type-target, 1.125vw)),
      var(--fluid-type-max, 1.35vw)) !important; */
/* font-size: var(--wp-text-body);
} */

#page-container .et_pb_text_inner p+h3 {
  padding-top: 0.5vw;
}

#page-container .et_pb_text_inner ul+h2,
#page-container .et_pb_text_inner p+h2 {
  padding-top: var(--space-sm);
  transform-origin: bottom left;
  transform: scale(0.75);
}

/* Text -- min body font size */

body:not(.admin-bar),
p,
figcaption,
li,
span,
.et_pb_text.byline,
.et_pb_text.newpub,
body #page-container .entry-content .et_pb_tabs_controls li a,
#page-container li,
.entry-content select {
font-size: var(--wp-text-h5);
}

body #page-container .entry-content th,
body #page-container .entry-content td,
body #page-container .entry-content td span {
font-size: var(--wp-text-body);
}

/* table elements */
body table {
  border: 1px solid var(--eccPurpleLite2);
  border-collapse: collapse;
  min-width: 50%;
  width: 100%;
}

body th,
body td {
  padding: 0.75rem;
  text-align: left;
}

body table,
body th,
body td {
  border-bottom: 1px solid var(--eccPurpleLite1);
}

body .wp-block-table {
  overflow-x: auto;
}

body tr:nth-child(even) {
  background-color: var(--eccPurpleLite1);
}

body table th {
  background-color: var(--eccPurpleLite1);
  min-height: 8ch;
}

body tr {
  transition: all 0.5s ease-in-out;
}

body tr:nth-child(even) td {
  background-color: var(--eccPurpleLite1);
}

body tr:hover {
  background-color: var(--eccPurpleLite2);
}

body #page-container .entry-content table caption,
body #page-container .entry-content th {
  font-weight: 600;
}

/* Text -- sans-serif Gotham */
li,
input,
textarea,
select,
cite,
body p,
.entry-content th,
.entry-content td,
#page-container .sans p,
body #page-container .raised-card .et_pb_text_inner p,
body #page-container>#et-boc #main-content .et_pb_text_inner,
body #page-container .raised-card .et_pb_text_inner span,
#page-container .sans span {
  font-family: var(--font-gotham);
  text-rendering: optimizeLegibility;
}

body p {
  line-height: 1.7;
  max-width: 80ch;
}

#page-container li {
  line-height: 1.3;
  padding-top: 0.25vw;
}

/* Text -- colors */
body,
.entry-content th,
.entry-content td,
body:not(.admin-bar) p,
body:not(.admin-bar) p span {
  color: var(--wp-color-text);
}

.et-db #page-container #et-boc ul.et_pb_tabs_controls li {
  border-bottom: 1px solid transparent;
  padding: 0;
}

.et-db #page-container #et-boc ul.et_pb_tabs_controls li a {
  border-bottom: 2px solid transparent;
  padding: 0.75rem 1rem;
}

.et-db #page-container #et-boc .et_pb_tabs_controls li:not(.et_pb_tab_active) a:not(:hover),
body:not(.admin-bar) .et-l--header p,
body:not(.admin-bar) div.et_pb_slide_content p span,
body:not(.admin-bar) div.et_pb_slide_content p {
  color: var(--wp-color-light) !important;
}

.et-db #page-container #et-boc ul.et_pb_tabs_controls li.et_pb_tab_nav_item.et_pb_tab_active,
.et-db #page-container #et-boc ul.et_pb_tabs_controls li.et_pb_tab_nav_item.et_pb_tab_active a {
  border-color: var(--wp-color-light);
}

/* Slide body specific reset */
body.dsm_fixed_header .et_pb_slide_content p {
font-size: var(--wp-text-body);
  line-height: 1.4;
  padding-bottom: 2rem;
}

/* head -- font sizes, line-heights */
.ecc-empty-image,
#page-container h1 {
 font-size: var(--wp-text-h1);
  line-height: 1.05;
}

#page-container h2 {
  font-size: var(--wp-text-h2);
  line-height: 1.1;
}

#page-container #sg-app-container .sg-title,
#page-container h3 {
  font-size: var(--wp-text-h3);
  line-height: 1.2;
}

#page-container .et_pb_group_carousel_slide h3,
body #page-container h4 {
font-size: var(--wp-text-h4);
  line-height: 1.3;
}

body #page-container .accordion_row_image h3 {
font-size: var(--wp-text-h4);
  line-height: 1.1;
}

body #page-container h5 {
font-size: var(--wp-text-h5);
  line-height: 1.3;
}

body.dsm_fixed_header #page-container .menu-item a,
body h6 {
font-size: var(--wp-text-h6);
  line-height: 1.2;
}

#page-container .italic,
#page-container .italic p {
font-size: var(--wp-text-h5);
  font-family: var(--font-palatino);
  font-style: italic !important;
}

#page-container .center {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  text-align: center !important;
  width: 100%;
}

.et_pb_text.byline,
.et_pb_text.byline *,
.et_pb_text.newpub,
.et_pb_text.newpub *,
#page-container .dnxte_tab_menu .dnxte_tab_nav_content .dnxte_tab_nav_pra,
#page-container .smaller {
font-size: var(--wp-text-small);

}

#page-container .italic. #page-container .smaller {
  line-height: 1.6;
  padding: 0;
}

#page-container small,
#page-container .dnxte-blogslider-content-icon,
.ecc-meta-val,
cite,
#page-container .meta {
font-size: var(--wp-text-small);
  line-height: 0.95;
}

body #page-container h1,
body #page-container h2,
body #page-container h3,
#page-container #sg-app-container .sg-title,
body #page-container h4,
body #page-container h5,
#page-container .italic,
body #page-container .ecc-empty-image,
p.et_pb_member_position {
  font-family: var(--font-palatino) !important;
}

h1,
h2 {
  letter-spacing: -0.185rem;
  line-height: 1 !important;
}

body figcaption {
font-size: var(--wp-text-figcaption);
  line-height: 1.4;
  font-style: italic;
}

body {
font-size: var(--wp-text-body);
}

body #page-container p.wp-block-paragraph,
body #page-container>#et-boc #main-content .et_pb_text_inner,
.et_pb_text_inner p,
.et_pb_text_inner span,
.et_pb_text_inner li,
#page-container .hero p {
font-size: var(--wp-text-h5);
  alignment-baseline: alphabetic;
  font-weight: 400;
}

.slick-prev::before,
.slick-next::before,
body #page-container .et_post_meta_wrapper h1 {
font-size: var(--wp-text-h1);
  line-height: 1;
  text-transform: none;
}

body #page-container .section-header h3 {
  font-size: var(--wp-text-h1);
	letter-spacing: -0.23rem;
  line-height: 1;
}

#page-container h2#event-summary {
font-size: var(--wp-text-h1);
  padding-block: 0.7rem 0.125rem;
}

.et-db #et-boc #main-content .et_pb_post h2,
.et-db #et-boc #main-content .et_pb_post h2 a {
  letter-spacing: 0;
  font-size: var(--wp-text-h1);
  line-height: 1;
  text-transform: none;
}

body:not(.admin-bar).dsm_fixed_header select,
body:not(.admin-bar).dsm_fixed_header figcaption,
body:not(.admin-bar).dsm_fixed_header h6,
#page-container .dnxte_tab_content h4,
body #page-container .ministry-item h3,
body #page-container .et_pb_text .et_pb_text_inner h3,
body #page-container .dnxte-content-wrapper h2>a,
body:not(.admin-bar).dsm_fixed_header .menu-item a {
  font-family: var(--font-gotham) !important;
  letter-spacing: 0 !important;
}

body #page-container .et_pb_text .et_pb_text_inner h3,
body #page-container .ministry-item h3,
#page-container .dnxte_tab_content h4,
body #page-container .dnxte-content-wrapper h2>a {
  font-size: var(--wp-text-h5);
  font-weight: 600 !important;
}

body #page-container .menu-item a {
  font-size: var(--wp-text-button);
  font-weight: 600;
}

body #page-container #et-boc .et_pb_text.byline,
body #page-container #et-boc .et_pb_text.newpub {
  align-items: baseline;
  display: flex;
  gap: 0.6ch !important;
}

body #page-container #et-boc .et_pb_text.byline:empty,
body #page-container #et-boc .et_pb_text.newpub:empty {
  display: none;
}

/* ==========================================================================
   HEADER, MENUS & NAVIGATION
   ========================================================================== */

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  transition: transform var(--transition-speed) var(--ease-out-expo);
  will-change: transform;
}

.site-header-topper {
  height: var(--header-topper-height);
  display: flex;
  align-items: center;
  justify-content: center;
}

.et_pb_section .et_pb_row {
  width: var(--content-width);
}

.et-l.et-l--header,
.entry-content .et_pb_section,
.et-l.et-l--footer {
  width: 100vw;
}

.et-l--header {
  z-index: 999;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.et-l.et-l--header {
  position: fixed;
  top: 32px;
}

body:not(.admin-bar) .et-l.et-l--header {
  top: 0;
}

.et-l.et-l--header .et_builder_inner_content {
  width: 100%;
}

.et-l.et-l--header .et_pb_menu_inner_container {
  display: flex;
  gap: var(--space-sm);
  justify-content: space-between;
  width: 100%;
}


body .et-l--header .et_pb_row.site-header-topper {
  align-items: center;
  border-bottom: 1px solid rgba(251, 250, 255, 0.3);
  display: flex;
  opacity: 1;
  padding-block: 0.5rem !important;
  visibility: visible;
}

body #page-container .et_pb_row.site-header-topper {
  height: 100%;
  visibility: visible;
  transition: all 0.5s ease-in-out;
}

header.et-l--header * {
font-size: var(--wp-text-button);
  font-weight: 400;
}

#main-content .et_pb_group_carousel.epiphany-events,
#main-content .et_pb_group_carousel.obituaries {
  margin-left: -3px;
}

#main-content .et_pb_group.et-last-child .et_pb_image:empty,
#main-content .et_pb_group_carousel.news .slide-wrap .et_pb_image,
#main-content .et_pb_group_carousel.obituaries .slide-wrap .et_pb_image,
#main-content .et_pb_group_carousel.epiphany-events .et_pb_image.slide-image,
#page-container #main-content .et_builder_inner_content .list-image-thumb {
  max-height: 40%;
  min-height: 10vw;
  min-width: 15vw;
  overflow: clip;
  width: 100%;
}

.single-news #main-content .et_pb_group.et-last-child .et_pb_image:empty {
  width: 15vw;
}

.et_pb_image_wrap img {
  align-self: flex-start;
}

.single-news #main-content .et_pb_module:has(.et_pb_link) {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding-top: var(--space-lg);
}

.single-news #main-content .et_pb_module:has(.et_pb_link) a:not(:first-child)::before {
  background-color: var(--eccBlue);
  content: "";
  display: inline-block;
  width: 100%;
  height: 1px;
  margin: 15px -0.65vw 0 0;
}

#main-content .et_pb_module>a.et_pb_link p {
  border-radius: 50px;
  margin-right: -0.65rem;
  padding: var(--space-md) var(--space-sm);
  transition: all 0.4s ease-in-out;
  white-space: nowrap;
}

#main-content .et_pb_module>a.et_pb_link:hover p {
  background-color: var(--eccBlue);
}

#main-content .et_pb_module>a.et_pb_link:focus,
#main-content .et_pb_module>a.et_pb_link:hover {
  color: var(--white);
}

#page-container #main-content .et_builder_inner_content .list-image-thumb {
  max-width: 13vw;
}

#main-content .et_pb_group_carousel.obituaries .slide-wrap .et_pb_image img {
  margin-top: -8%;
  height: auto;
}

#page-container .et_pb_group_carousel.epiphany-events.et_pb_group_carousel_slides_4 .et_pb_group_carousel_slide,
#page-container .et_pb_group_carousel.obituaries.et_pb_group_carousel_slides_4 .et_pb_group_carousel_slide {
  flex: 0 0 24.46%;
}

#page-container #main-content .et_builder_inner_content .list-image-thumb img {
  height: auto;
}

#page-container .et_builder_inner_content .list-image-thumb .et_pb_image_wrap {
  width: 100%;
}

#page-container .et_pb_row.listing-row:not(:first-of-type) {
  border-top: 1px solid var(--eccPurpleLite8);
}

body.scrolled-down #page-container .et_pb_row.site-header-topper {
  height: 0;
  opacity: 0;
  padding-block: 0 !important;
  visibility: hidden;
}

body #page-container .et-menu .menu-item-has-children>a:first-child::after {
  right: 8px;
}
#menu-primary-menu.et-menu>.menu-item,
body.error404 #page-container #main-content .et_pb_section,
body.error404 #page-container #main-content .page-404-row {
  padding: 0;
}
.menu-item,
body #page-container .et-menu .menu-item>a:first-child{
padding-block: 0.85vw;
padding-inline: clamp(0.25vw, 0.8255vw, 1.125vw);
}
body #page-container .et-menu .menu-item.menu-item-has-children>a:first-child{
padding-inline: clamp(0.5vw, 1vw, 1.5vw);
}

/* #menu-primary-menu.et-menu>.menu-item a {
  padding-inline: clamp(0.125vw, 0.5vw, 1vw);
} */


body.error404 #page-container #main-content .et_pb_row>.et_flex_column:first-child {
  width: 40%;
}

body.error404 #page-container #main-content .page-404-row,
body.error404 #page-container #main-content .et_pb_image,
body.error404 #page-container #main-content .et_pb_section {
  height: 100vh;
}

body.error404 #page-container #main-content .et_builder_inner_content {
  height: 100%;
}

body.error404 #page-container #main-content .et_pb_section {
  display: flex;
  justify-content: center;
}

body.error404 #page-container #main-content .et_pb_image_wrap {
  background-color: transparent;
  margin: 0.5vw 0.65vw 0;
}

body.error404 #page-container #main-content .et_pb_image_wrap img {
  background: transparent;
  max-height: 100%;
  object-position: bottom;
  width: auto;
}

/* scrolled-down styles */
body.scrolled-down .et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li>a {
  padding: 0.6vw 0;
}

body.scrolled-down .et-menu .menu-item-has-children>a:first-child::after {
/*   display: none; */
}

.et-db.dsm_fixed_header_shrink.dsm_fixed_header_shrink_active.scrolled-down #et-boc header.et-l--header .et_pb_row.site-header-topper,
.et-db.dsm_fixed_header_shrink.dsm_fixed_header_shrink_active .et_pb_row.site-header-topper {
  border-bottom: 1px solid transparent;
  display: none;
  opacity: 0;
  transition: all .4s ease-in-out;
  visibility: hidden;
}

body #page-container .et-l--header .et_pb_row.et_block_row::after {
  content: none;
}

/* =======================================================
   ECC Mega Menu: Z-Index & Ghost Overlap Fix
   ======================================================= */

/* 1. Base stacking context for all top-level menu items */
#menu-primary-menu>li {
  z-index: 10;
}

/* 2. Elevate the actively hovered menu item (and its dropdown) to the absolute front */
#menu-primary-menu>li:hover,
#menu-primary-menu>li.et-hover {
  z-index: 99 !important;
}

/* 3. The Kill Switch: Instantly remove mouse interactions when the mega menu loses hover.
      This prevents the 100vw box from blocking sibling dropdowns during Divi's fade animation. */
#menu-primary-menu>li.ecc-menu-masonry:not(:hover)>ul.sub-menu {
  pointer-events: none !important;
}

/* Mega Menu */
/* =======================================================
   ECC Mega Menu: Full-Bleed Breakout & Flattened Hierarchy
   ======================================================= */

/* 0. The Breakout Anchor (CRITICAL FIX) */
/* Forces the LI to surrender relative positioning, anchoring the dropdown to the screen */
#page-container #et-boc #menu-primary-menu>li.ecc-menu-masonry {
  position: static !important;
}

#page-container #et-boc #menu-primary-menu.nav>li li {
  padding: 0;
}

/* 1. Outer Container: 100vw Full-Bleed Viewport */
#page-container #et-boc #menu-primary-menu>li.ecc-menu-masonry>ul.sub-menu {
  display: block !important;
  padding: 0.75vw 0.5vw !important;

  /* True Viewport Centering */
  position: absolute !important;
  width: 100vw !important;
  max-width: 100vw !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;

  /* Aesthetics & Scroll Lock */
  background-color: var(--ecc-menu-bg, #ffffff) !important;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  max-height: 80vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box;
}

/* 2. Inner Masonry Container: Centered Content Limits */
#page-container #et-boc .ecc-masonry-scroll-wrapper {
  box-sizing: border-box;
  column-gap: var(--space-sm);
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

/* 3. Parent Typographical Integrity (Tier 2) */
#page-container #et-boc .ecc-masonry-scroll-wrapper>li.menu-item {
  break-inside: avoid;
  display: flex;
  flex-direction: column;
  margin-bottom: 1.5vw !important;
  padding: 0 !important;
  page-break-inside: avoid;
  width: 100%;
}

#page-container #et-boc .ecc-masonry-scroll-wrapper>li>a {
  border-bottom: 1px solid var(--eccPurple);
  font-weight: 800;
  text-transform: uppercase;
}

#page-container #et-boc ul.sub-menu li a {
  display: block;
  hyphens: none !important;
  line-height: 1.15;
  overflow-wrap: break-word !important;
  padding: 0.5vw 1vw !important;
  white-space: normal !important;
  width: 100%;
  word-wrap: break-word !important;
}

/* 4. Grandchild Menus (Tier 3): Aggressive Flattening (CRITICAL FIX) */
/* Overpowers Divi's inline JavaScript & legacy CSS hover states */
#page-container #et-boc #menu-primary-menu li.ecc-menu-masonry .ecc-masonry-scroll-wrapper ul.sub-menu {
  animation: none !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column;
  opacity: 1 !important;
  padding: 0 !important;
  /* 1rem indent for visual hierarchy */
  position: relative !important;
  /* Overrides Divi absolute positioning */
  left: auto !important;
  transform: none !important;
  top: auto !important;
  transition: none !important;
  visibility: visible !important;
  width: 100% !important;
}

/* Grandchild Typographical Formatting */
#page-container #et-boc #menu-primary-menu li.ecc-menu-masonry .ecc-masonry-scroll-wrapper ul.sub-menu a {
  font-weight: 500;
  hyphens: none !important;
  overflow-wrap: break-word !important;
  padding: 0.45vw 0.55vw !important;
  white-space: normal !important;
  word-wrap: break-word !important;
}

/* Strip Divi's default dropdown arrow icon from flattened items */
#page-container #et-boc #menu-primary-menu li.ecc-menu-masonry .ecc-masonry-scroll-wrapper li.menu-item-has-children>a::after {
  display: none !important;
}

/* =======================================================
   ECC Smart Row: Auto-Collapsing Columns
   ======================================================= */

/* 1. Hide the entire row if NEITHER column has content */
.ecc-smart-row:not(:has(.ecc-content-tracker)) {
  display: none !important;
}

/* 2. Hide any specific column if it is missing the tracker */
.ecc-smart-row .et_pb_column:not(:has(.ecc-content-tracker)) {
  display: none !important;
}

/* 3. If RIGHT column is missing, force LEFT column to 100% width */
.ecc-smart-row:not(:has(.et_pb_column:nth-child(2) .ecc-content-tracker)) .et_pb_column:nth-child(1) {
  width: 100% !important;
  margin-right: 0 !important;
}

/* 4. If LEFT column is missing, force RIGHT column to 100% width */
.ecc-smart-row:not(:has(.et_pb_column:nth-child(1) .ecc-content-tracker)) .et_pb_column:nth-child(2) {
  width: 100% !important;
  margin-left: 0 !important;
}

/* =======================================================
   Photo Albums
   ======================================================= */
.wp-block-gallery figure.wp-block-image+figure.wp-block-image {
  margin-top: 1.5rem;
}

/* =======================================================
   Responsive Breakpoints Matrix
   ======================================================= */
@media (min-width: 1500px) {
  #page-container #et-boc .ecc-masonry-scroll-wrapper {
    max-width: 1500px;
    column-count: 5;
  }
}

@media (min-width: 1100px) and (max-width: 1499px) {
  #page-container #et-boc .ecc-masonry-scroll-wrapper {
    max-width: 1100px;
    column-count: 4;
  }
}

@media (min-width: 900px) and (max-width: 1099px) {
  #page-container #et-boc .ecc-masonry-scroll-wrapper {
    max-width: 900px;
    column-count: 3;
  }
}

@media (min-width: 650px) and (max-width: 899px) {
  #page-container #et-boc .ecc-masonry-scroll-wrapper {
    max-width: 650px;
    column-count: 2;
  }
}

@media (max-width: 649px) {
  #page-container #et-boc .ecc-masonry-scroll-wrapper {
    max-width: 100%;
    column-count: 1;
    padding: 1rem;
  }
}



/* ==========================================================================
  DIVI-SPECIFIC OVERRIDE LAYER (Highly Specific Responsive Logic)
 ========================================================================== */

/* Breakpoint: <= 480px (Fluid Stacked Layout) */
@media (max-width: 480px) {
  .et_flex_row.box-shade.et_pb_row_nested {
    gap: 1rem;
  }
}

/* Breakpoint: <= 650px (Mandatory Stacking & Dynamic Parent Constraint) 
  "any time the div.et_pb_column has siblings, they must stack in devices 
   650px or narrower, no matter if the parent has flex-direction on row or grid layout in rows."
 */
@media (max-width: 650px) {

  /* Target any element with multiple .et_pb_column children */
  .et_flex_row.box-shade *:has(> .et_pb_column + .et_pb_column) {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
  }

  .et_flex_row.box-shade .et_pb_column {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Breakpoint: > 650px (Start of columns) */
@media (min-width: 651px) {
  .et_flex_row.box-shade.et_pb_row_nested {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Breakpoint: > 768px (Clean iPad / Mid-tablet Layout) */
@media (min-width: 769px) {
  .et_flex_row.box-shade.et_pb_row_nested {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}

/* Breakpoint: > 960px (Desktop Transition Layout) */
@media (min-width: 961px) {
  .et_flex_row.box-shade.et_pb_row_nested {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Breakpoint: > 1200px (Standard Large Desktop Layout) */
@media (min-width: 1201px) {
  .et_flex_row.box-shade.et_pb_row_nested {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Breakpoint: >= 1500px (Extra Large Displays / Constrained Width Container) */
@media (min-width: 1500px) {
  .et_flex_row.box-shade.et_pb_row_nested {
    /* auto-fit dynamically adjusts columns based on item count.
            If there are 6 items, it creates 6 columns. If 3, it creates 3.
            The minmax ensures they never shrink below 220px on 4k screens.
          */
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }
}


/* Target Divi's Native Mobile Menu */
@media (max-width: 980px) {
  #page-container #et-boc #menu-primary-menu>li.ecc-menu-masonry {
    position: relative !important;
  }

  #page-container #et-boc #menu-primary-menu>li.ecc-menu-masonry>ul.sub-menu {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    max-height: none !important;
    overflow: visible !important;
    left: 0 !important;
  }
}

/* =======================================================
   Sleek Custom Scrollbar
   ======================================================= */
#page-container #et-boc #menu-primary-menu>li.ecc-menu-masonry>ul.sub-menu::-webkit-scrollbar {
  width: 8px;
}

#page-container #et-boc #menu-primary-menu>li.ecc-menu-masonry>ul.sub-menu::-webkit-scrollbar-track {
  background: transparent;
}

#page-container #et-boc #menu-primary-menu>li.ecc-menu-masonry>ul.sub-menu::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.15);
  border-radius: 10px;
}

#page-container #et-boc #menu-primary-menu>li.ecc-menu-masonry>ul.sub-menu::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.3);
}

#page-container #et-boc .et-l.et-l--header .et_builder_inner_content {
  z-index: 9999;
}

#page-container .mega-menu-row.mega-desktop-menu {
  width: clamp(800px, 100%, var(--pg-max));
}

.et-db #et-boc #page-container #menu-primary-menu .menu-item.et-hover a {
  color: var(--eccPurple) !important;
}

.et-db #et-boc #page-container .et_pb_menu #menu-primary-menu.nav li ul {
  background: transparent !important;
}

#page-container #et-boc .et_pb_menu .et-menu>li.et-hover,
#page-container #et-boc .et_pb_menu .et-menu>li.et-show-dropdown {
  background-color: rgba(251, 250, 255, 0.9) !important;
  color: var(--eccPurple) !important;
}

#page-container #et-boc .menu-item.current_page_item {
  background-color: rgba(251, 250, 255, 0.2) !important;
}

#page-container #et-boc .menu-item.current_page_item:active a,
#page-container #et-boc .menu-item.current_page_item:focus a,
#page-container #et-boc .menu-item.current_page_item:hover a {
  color: var(--eccPurple) !important;
}

.menu-item.current_page_item a,
#page-container #et-boc .menu-item.current_page_item,
#page-container #et-boc .et_pb_section_0_tb_header.et_pb_section .et-show-dropdown.et-hover *,
#page-container #et-boc .et_pb_menu .et-menu>li.et-hover,
#page-container #et-boc .et_pb_menu .et-menu>li.et-hover a,
#page-container #et-boc .et_pb_menu .et-menu>li.et-show-dropdown a,
#page-container #et-boc .et_pb_menu .et-menu>li.et-show-dropdown {
  color: var(--eccPurple) !important;
}

.et-db #page-container #et-boc .et-l .et_pb_menu--style-left_aligned .et_pb_menu__logo,
#SiteMenuLogo.et_pb_menu--with-logo .et_pb_menu__logo {
  margin: 0 5px 0 0;
  overflow: visible;
  width: 100%;
}

.et-db #page-container #et-boc .et-l .et_pb_menu--style-left_aligned .et_pb_menu__logo a {
  width: 100%;
}

#SiteMenuLogo .et_pb_menu__wrap,
.et_pb_menu .et_pb_menu__menu>nav>#menu-primary-menu {
  flex-wrap: nowrap;
}
.et_pb_image .wp-image-81,
#et-boc .et-l--footer .et_pb_image_wrap,
#SiteMenuLogo.et_pb_menu--with-logo .et_pb_menu__logo a {
  aspect-ratio: 331 / 124;
  display: flex;
  max-height: 55px;
  min-height: 48px;
  min-width: 128px;
}

#page-container .object-contain img,
#SiteMenuLogo.et_pb_menu--with-logo .et_pb_menu__logo img {
  display: block;
  height: 100%;
  /* Or whatever explicit height you need */
  object-fit: contain;
  width: 100%;
  /* Or whatever explicit width you need */
}

#SiteMenuLogo .et_pb_menu__logo-wrap {
  min-width: 130px;
}

#page-container .object-contain.et_pb_image:not(.aspect-none):not(.circle) .et_pb_image_wrap,
#page-container #main-content .et_pb_image.homily-image-thumb .et_pb_image_wrap,
.single-obituary #page-container #main-content .et_pb_image .et_pb_image_wrap {
  aspect-ratio: auto;
}

.single-obituary #page-container #main-content .et_pb_image .et_pb_image_wrap {
  max-height: 100%;
  max-width: 20vw;
  min-height: 22vw;
  object-fit: cover;
}

.single-news #page-container .font-bold,
.single-news #page-container .font-bold * {
  font-weight: 900;
}

.single-news #page-container .italic,
.single-news #page-container .italic p {
  line-height: 1.1;
}

#menu-primary-menu.et-menu .et_pb_menu ul li.current-menu-item>a,
#menu-primary-menu.et-menu .et_pb_menu ul li.current-menu-item:active>a,
#menu-primary-menu.et-menu .et_pb_menu ul li.current-menu-item:focus>a,
#menu-primary-menu.et-menu .et_pb_menu ul li.current-menu-item:hover>a,
#menu-primary-menu.et-menu .et_pb_menu_1_tb_header.et_pb_menu ul li.current-menu-item>a,
#menu-primary-menu.et-menu .et_pb_menu ul li.current-menu-ancestor>a,
#page-container #menu-primary-menu.et-menu .et_pb_menu ul:not(.sub-menu)>li.current-menu-ancestor>a,
#page-container #menu-primary-menu.et-menu .et_pb_menu ul:not(.sub-menu)>li.ecc-menu-masonry.current-menu-ancestor:active a,
#page-container #menu-primary-menu.et-menu .et_pb_menu ul:not(.sub-menu)>li.ecc-menu-masonry.current-menu-ancestor:focus a,
#page-container #menu-primary-menu.et-menu .et_pb_menu ul:not(.sub-menu)>li.ecc-menu-masonry.current-menu-ancestor:hover a {
  color: var(--eccPurple) !important;
}

.et-menu-nav #menu-primary-menu li.mega-menu>ul {
  padding: 1.1vw 0;
}

.min-sidebar-title,
#page-container #et-boc #menu-primary-menu.et-menu .mega-menu>ul.sub-menu>.menu-item>a {
  border-bottom: 1px solid var(--eccPurpleLite5);
  margin-bottom: 0.325vw;
  text-transform: uppercase;
}

#page-container #et-boc #page-container .min-sidebar-title {
  padding-bottom: 0.05vw;
}

#page-container #et-boc #menu-primary-menu.et-menu .mega-menu>ul.sub-menu>.menu-item>a {
  margin-bottom: 0.267vw;
}

#page-container #et-boc .et-menu-nav #menu-primary-menu li.mega-menu li a {
  width: 96% !important;
}

#page-container #et-boc .et-menu-nav #menu-primary-menu li.mega-menu li a:hover,
#page-container #et-boc .et-menu-nav #menu-primary-menu li.mega-menu li li:hover a {
  background-color: rgba(251, 250, 255, 0.2) !important;
}

#page-container #et-boc .et-menu-nav #menu-primary-menu li.mega-menu li li {
  width: 100% !important;
}

#page-container #et-boc #menu-primary-menu.et-menu .mega-menu>ul.sub-menu>.menu-item {
  margin-bottom: 0.533vw;
  max-width: 25%;
}

#page-container #et-boc #menu-primary-menu.nav>li li,
#page-container #et-boc #menu-primary-menu.et-menu.nav a {
  transition: all 0.3s ease-in-out;
  width: 100%;
}

/* #page-container #et-boc .entry-content ul.et_pb_tabs_controls, */
#page-container #et-boc .entry-content .et_pb_tabs .et_pb_tabs_controls li.et_pb_tab_nav_item:not(.et_pb_tab_active),
#page-container #et-boc #menu-primary-menu.et-menu li li a:active,
#page-container #et-boc #menu-primary-menu.et-menu li li a:focus,
#page-container #et-boc #menu-primary-menu.et-menu li li a:hover,
#page-container #et-boc #menu-primary-menu>li.current-page-ancestor a {
  background: var(--eccPurpleLite8) !important;
  color: var(--wp-color-light) !important;
  opacity: 1;
}

.et_pb_tabs,
.et_pb_tabs ul.et_pb_tabs_controls,
#page-container #et-boc .entry-content ul.et_pb_tabs_controls {
  background: transparent !important;
  border-color: transparent !important;
}

#page-container #et-boc .entry-content .et_pb_tabs .et_pb_tabs_controls li.et_pb_tab_nav_item:not(.et_pb_tab_active):hover a {
  background: var(--white) !important;
}

#page-container #et-boc .entry-content .et_pb_tabs .et_pb_tabs_controls li.et_pb_tab_nav_item:not(.et_pb_tab_active):active a,
#page-container #et-boc .entry-content .et_pb_tabs .et_pb_tabs_controls li.et_pb_tab_nav_item:not(.et_pb_tab_active):focus a {
  background: var(--eccPurpleLite8) !important;
}

#page-container #et-boc #ministries .et_pb_tabs .et_pb_tabs_controls li.et_pb_tab_nav_item:active a,
#page-container #et-boc #ministries .et_pb_tabs .et_pb_tabs_controls li.et_pb_tab_nav_item:focus a,
#page-container #et-boc #ministries .et_pb_tabs .et_pb_tabs_controls li.et_pb_tab_nav_item:hover a {
  background: var(--eccPurple) !important;
  color: var(--wp-color-light) !important;
}

#ministries .et_pb_tabs_controls li.et_pb_tab_nav_item {
  padding: 0;
}

#page-container .et_pb_menu_inner_container,
#page-container .et_pb_menu__wrap,
#page-container .et_pb_menu__menu .et-menu-nav {
  flex: 1;
  width: 100%;
}

.et_pb_text ol,
.et_pb_text ul {
  list-style: outside;
  padding-left: 2ch;
}

.et_mobile_menu li ul,
.et_mobile_menu li ul {
  display: block;
}

body #page-container .et_mobile_menu li ul,
body #page-container .et_mobile_menu {
  padding-left: 15px;
  list-style: none !important;
  text-align: left;
}

body #page-container .et_mobile_menu {
  overflow: auto;
  padding-block: 10px 20px;
  max-height: 74vh;
}

body #page-container .et_mobile_menu li li {
  margin-left: 15px;
  padding-left: 0;
}

#page-container #et-boc .et-l--header #menu-primary-menu.nav>li>ul {
  border-color: var(--wp-color-light) !important;
}

#page-container .et_pb_section_0_tb_header.et_pb_section a,
#page-container .et_pb_section_0_tb_footer.et_pb_section * {
  color: var(--eccPurpleLiteSolid);
}


#menu-primary-menu .et-db #et-boc .et-l .et_pb_menu_0.et_pb_menu ul li a,
#main-hero h1,
#main-hero p,
#main-hero h4 {
  color: var(--eccPurpleLiteSolid);
}

header.et-l--header select {
  background: hsla(255.8, 52.3%, 39%, 0.35);
  border: 1px solid rgba(251, 250, 255, 0.25);
  color: var(--eccPurpleLiteSolid);
  line-height: 1.1;
  padding: 0.5rem 1.25rem 0.5rem 0.75rem;
}


/* ==========================================================================
   IMAGES, WRAPPERS, & BACKGROUNDS
   ========================================================================== */

.et_pb_image:not(.aspect-none):not(.circle) .et_pb_image_wrap {
  --wrap-aspect-ratio: 4 / 3;
  aspect-ratio: var(--wrap-aspect-ratio);
}

.obituaries .et_pb_image:not(.aspect-none):not(.circle) .et_pb_image_wrap,
.et_pb_image.square .et_pb_image_wrap,
.et_pb_image.circle .et_pb_image_wrap {
  --wrap-aspect-ratio: 1;
  aspect-ratio: var(--wrap-aspect-ratio);
}

.et_pb_image:not(.hero-slide-image) .et_pb_image_wrap img {
  width: auto;
  height: 100%;
  object-fit: cover;
  object-position: center;
  will-change: transform;
  pointer-events: none;
}

#page-container .et_pb_image img {
  height: 100%;
  width: 100%;
}

.et_pb_image:not(.hero-slide-image) .et_pb_image_wrap {
  --wrap-overflow: clip;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: var(--wrap-overflow);
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  height: 100%;
  max-height: 100%;
}

#page-container .et_builder_inner_content .et_pb_group.slide-wrap {
  overflow: clip;
}

#page-container #main-content .et_pb_image.homily-image-thumb,
#page-container .et_builder_inner_content .et_pb_image.has-divi-bg {
  max-height: 18.125rem;
  min-height: 14vw;
  min-width: 15vw;
  width: 25%;
}

#page-container #main-content .et_pb_image.homily-image-thumb {
  max-height: 15.125rem;
  min-height: 13vw;
  overflow: clip;
}

#page-container #main-content .et_pb_image.homily-image-thumb a {
  transition: all 0.5s ease-in-out;
}

#page-container #main-content .et_pb_image.homily-image-thumb a:hover {
  filter: sepia(100%) hue-rotate(220deg) brightness(56%);
}

#page-container #main-content .et_pb_image.homily-image-thumb a:active,
#page-container #main-content .et_pb_image.homily-image-thumb a:focus {
  filter: sepia(100%) hue-rotate(210deg) brightness(45%);
}

/* Automatically hide any Divi Row/Section if the Blog Module inside it has no posts */
/* Hide the extra content row entirely if both text modules are empty */
.ecc-hide-empty-row:not(:has(.et_pb_text_inner > *:not(:empty))),
.ecc-hide-empty-albums:not(:has(.et_pb_post)) {
  display: none !important;
}

#main-content .et_pb_post.album .post-content {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.post-meta+img {
  display: none;
}

.full-bg-image {
  background-image: url("/wp-content/uploads/2026/03/ECCentrance.jpg");
}

#page-container .full-bg-image {
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat;
  min-height: 6.667vw;
  width: 100% !important;
}

#main-content .et_builder_inner_content>.full-bg-image:first-child {
  justify-content: flex-end;
  min-height: 23vw;
}


/* Circles */
#main-content .person-circle-row .et_pb_column>.et_pb_image>.et_pb_image_wrap,
.card-person .person-image-wrap .et_pb_image_wrap,
.et_pb_image.circle .et_pb_image_wrap img[src*=".svg"],
#page-container .circle img {
  border-radius: 50%;
  display: block;
  aspect-ratio: 1;
  object-fit: cover;
  height: auto;
  min-width: 3.2vw;
}

.circle .et_pb_image_wrap,
.et_pb_image>.et_pb_image_wrap.circle,
.et_pb_image>.et_pb_image_wrap.square {
  aspect-ratio: 1;
  height: auto;
  min-width: 3vw;
}

.circle .et_pb_image_wrap,
.et_pb_image>.et_pb_image_wrap.circle {
  border-radius: 50%;
  overflow: clip;
}

.circle.enlarged .et_pb_image_wrap {
  transform: scale(1.25);
}

.et_pb_image>.et_pb_image_wrap.circle,
#main-content .et_flex_row>.et_pb_column>.et_pb_image>.et_pb_image_wrap {
  background: transparent;
  height: 100%;
  min-width: 3vw;
  width: 100%;
}

.et_pb_image.circle.circle--sm .et_pb_image_wrap img[src*=".svg"],
.circle--sm img {
  width: 4.267vw;
}

.et_pb_image.circle.circle--md .et_pb_image_wrap img[src*=".svg"],
.circle--md img {
  width: 6.4vw;
}

.et_pb_image.circle.circle--lg .et_pb_image_wrap img[src*=".svg"],
.circle--lg img {
  width: 9.6vw;
}

.et_pb_image.circle .et_pb_image_wrap img[src*=".svg"] {
  fill: var(--eccPurple);
}

#sacraments .et_pb_image {
  max-height: 50vw;
  overflow: clip;
  width: 100%;
}

.et_pb_section.full-bg-image {
  background-image: url("/wp-content/uploads/2026/03/ECCentrance.jpg");
  background-repeat: no-repeat;
}

.et_pb_image.et_pb_module.et_flex_module:empty {
  background-image: url("/wp-content/uploads/2026/03/ECCFrontdoorCrop.jpg");
  background-color: var(--eccPurpleLiteSolid);
  min-height: 14.133vw;
  min-width: 100%;
}

.et_pb_image.et_pb_module.et_flex_module.has-divi-bg:empty {
  background-image: url("/wp-content/uploads/2026/03/Worship-Center-People-Leaving.jpg");
  width: auto;
}

body.single-event .et_pb_image:not(.hero-slide-image) img {
  align-self: center;
  width: 100%;
}

/* ==========================================================================
   LAYOUT UTILITIES & SPACING
   ========================================================================== */

body:not(.et-tb) #main-content>.container,
body:not(.et-tb-has-header) #main-content>.container {
  padding-top: 10vw;
}

.et_pb_post>.entry-content {
  padding-top: var(--space-xs);
}

body.single-documents #main-content .et-l--body .et_builder_inner_content>.et_pb_section:first-child.spacing-header-top {
  background: var(--eccPurpleLite1);
  padding-bottom: var(--space-sm) !important;
}

body.single-documents #main-content .et-l--body .et_builder_inner_content>.et_pb_section:first-child.spacing-header-top .et_pb_row {
  padding: 0;
}

body.single-documents #main-content .et-l--body .et_builder_inner_content>.et_pb_section:first-child.spacing-header-top h1 {
  padding: 0;
}

body:not(.home) #main-content .entry-content .et_builder_inner_content>.et_pb_section:not(.full-bg-image):not(.full-image-slider):first-child {
  padding-block: var(--space-xl) var(--space-2xl);
}

body #page-container #et-main-area .section-extra-block-padding,
body #page-container #et-main-area .entry-content .section-extra-block-padding.et_pb_section.et_flex_section,
body #page-container .entry-content .et_pb_section.et_pb_section_11 {
  padding-block: var(--space-2xl);
}

body #page-container #main-content .entry-content .section-extra-top-margin.et_flex_section {
  margin-top: var(--space-md);
}

/* #page-container #main-content .et_pb_module.card  */
#page-container #main-content .et_pb_module.card {
  background: #fff6;
  border-radius: 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  gap: var(--space-xs);
  padding: var(--space-md) var(--space-sm) var(--space-sm);
  transition: all 0.5s ease-in-out;
}

#page-container #main-content .et_pb_module.card:hover {
  box-shadow: 1px 8px 12px 2px rgba(0, 0, 0, 0.2);
}

#page-container #main-content .et_pb_module.card:active,
#page-container #main-content .et_pb_module.card:focus {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

#page-container #main-content .et_pb_module.card h3 {
  font-size: var(--wp-text-h5);
  line-height: 1;
}

#page-container #main-content .et_pb_module.card h3,
#page-container #main-content .et_pb_module.card p {
  font-size: 86% !important;
}

#page-container #main-content .et_pb_module.card p {
  line-height: 1.3;
}

#page-container #main-content .et_pb_module.card .et_pb_module.et_pb_button_module_wrapper {
  margin-top: var(--space-xs);
}

body #page-container .section-header .et_pb_module_header {
  padding-block: 0 var(--space-sm);
  text-align: center;
}

#page-container .et_flex_row {
  --horizontal-gap: var(--space-md);
  --vertical-gap: var(--space-xs);
  gap: var(--space-sm);
}

#page-container .et_flex_row.preset--module--divi-row--5138c454-be54-4233-bd3b-f8e6a8747976 {
  column-gap: var(--space-xs);
}

body #page-container .et_pb_row.et_block_row {
  display: flex;
  gap: var(--space-md);
  justify-content: center;
}

body #page-container .entry-content .et_block_row .et_pb_column,
body #page-container .entry-content .et_block_row.et_pb_row>.et_pb_column {
  margin: 0;
}

body #page-container .no-pad {
  padding: 0 !important;
}

.et_pb_row.et_pb_row_nested.et_flex_row {
  gap: var(--space-md);
}

.et_pb_text:empty {
  display: none;
}

.et_pb_post_content.et_pb_module * {
  line-height: 1.6;
}

#main-content .et_pb_column.et_flex_column {
  justify-content: flex-start;
}

#main-content .et_pb_column.et_flex_column.column-team-card {
  gap: 0.425vw;
  justify-content: center;
}

#page-container .column-team-card {
  display: flex;
  min-width: var(--space-3xl);
}

.entry-content .et_pb_section .et_pb_row.preset--module--divi-row--048d8e79-b07f-439b-bd57-f41c14f0a56b {
 padding-block: var(--space-2xl); /* Massive scalable top/bottom padding */
 padding-inline: var(--space-md); /* Standardized fluid edges */
}

#page-container .et_builder_inner_content>.et_flex_section>.et_pb_row.et_flex_row {
  justify-content: space-between;
  margin-inline: auto;
}

#page-container .et_pb_column:not(.raised-card):not(.preset--module--divi-column--50607da8-57bc-4d4b-aaef-f02e41c2cc4a) {
  gap: 1vw;
  padding: 0;
}

.et_pb_section .et_pb_row .et_flex_column>.et_pb_heading:first-child {
  margin-bottom: var(--space-xs);
}

#page-container #et-boc .et-l .et_pb_column_1_tb_body {
  align-items: flex-start;
}

#page-container .et_pb_column_26,
#page-container .et_pb_column_28,
#page-container .et_pb_column_30,
#page-container .et_pb_column_32 {
  background: transparent;
}


/* ==========================================================================
   BUTTONS & LINKS
   ========================================================================== */

body #page-container .wpforms-submit,
body #page-container .sg-btn,
.wp-block-file__button.wp-element-button,
body #page-container a.more-link,
.wb-homily-pdf-download-link,
.et_pb_searchsubmit,
.et_pb_button,
.et-pb-icon {
  display: inline-flex;
  text-rendering: optimizeLegibility;
  font-size: var(--wp-text-button);
  text-transform: uppercase;
}

.et_pb_button::after {
  right: 7px;
}



/* body #page-container .wpforms-submit,
.wp-block-file__button.wp-element-button,
body #page-container .sg-btn,
body #page-container .eccBtn,
.dnxt-button-wrapper>a,
body #page-container .et_pb_button a,
body #page-container a.more-link,
.wb-homily-pdf-download-link,
.et_pb_searchsubmit,
.et_pb_button:not(:has(a)) {
  min-height: 2.125vw;
} */

body #page-container .et_pb_button:has(a) {
  min-height: 0;
  padding-block: 0;
}

body #page-container .et_pb_button>a {
  gap: var(--space-2xs);
}

body #page-container .wpforms-submit,
.button,
.wp-element-button,
#page-container .ecc-btn,
#page-container .eccBtn,
.dnxt-button-wrapper>a,
body #page-container .sg-btn,
.wp-block-file__button.wp-element-button,
#fb-submit-button,
body #page-container a.more-link,
#page-container .et_pb_button:not(:has(a)),
body #page-container #main-content .et_pb_button>a span,
body #page-container .wb-homily-pdf-download-link,
#page-container .et_pb_searchsubmit,
#page-container .et_pb_button>a {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 50px;
  color: rgba(255, 250, 255, 0.95);
  font-size: var(--wp-text-button);
  display: inline-flex;
  font-weight: 600;
  justify-content: center;
  line-height: 1;
  padding-inline: var(--space-sm);
  transition: all 0.5s ease-in-out;
}

#page-container .et_pb_searchsubmit {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

#page-container .leading-none,
#page-container .leading-none p {
  line-height: 1.1;
}

.ecc-email-link span {
  display: block;
  font-weight: 600;
  justify-content: flex-start !important;
  line-height: 1;
  padding-block: var(--space-2xs);
  text-align: left !important;
  width: 100%;
}

body #page-container #main-content .et_pb_button>a span,
body #page-container #main-content .et_pb_button>a {
  font-weight: 600;
  padding-inline: 0;
}

.fb-form-default-style .fb-container button,
#fb-submit-button,
body #page-container .sg-btn,
#page-container .eccBtn,
.dnxt-button-wrapper>a,
a.more-link,
.wb-homily-pdf-download-link,
.wp-block-file__button.wp-element-button,
.et_pb_button_module_wrapper .et_pb_button:not(:has(a)) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: var(--space-2xs);
  padding-inline: var(--space-md);
  transition: all 0.5s ease-in-out;
  width: fit-content;
}

#page-container .et_pb_button_module_wrapper .et_pb_button:hover {
  padding-block: var(--space-2xs);
  padding-inline: var(--space-lg) var(--space-xl);
}

.wp-element-button *,
header.et-l--header *,
footer.et-l--footer *,
#page-container .ecc-btn *,
#page-container .eccBtn *,
.dnxt-button-wrapper>a,
.dnxt-button-wrapper>a *,
body #page-container .sg-btn *,
a.wp-block-file__button.wp-element-button,
#fb-submit-button *,
a.more-link,
.et_pb_button:not(:has(a)),
#page-container .et_pb_button * {
  font-family: var(--font-gotham) !important;
  color: rgba(255, 250, 255, 0.95) !important;
  line-height: 1;
}

/* #sg-app-container button:hover,
.button:hover,
.dnxt-button-wrapper>a:hover,
body #page-container .sg-btn:hover,
.wp-element-button:hover,
#page-container .ecc-btn:hover,
#page-container .eccBtn:hover,
.wp-block-file__button.wp-element-button:hover,
.et_pb_button:not(:has(a)):hover,
body #page-container .et_pb_button a:hover,
body #page-container .et_pb_button a:hover *,
#fb-submit-button:hover,
a.more-link:hover,
#page-container .et_pb_searchsubmit:hover,
.wb-homily-pdf-download-link:hover,
body #page-container .wpforms-submit,
body #page-container .sg-btn:hover,
body #page-container .wpforms-submit:hover,
body #page-container #et-boc .et_pb_button:hover {
  color: rgba(255, 255, 255, 1) !important;
  letter-spacing: 4px;
  padding-right 2vw;
} */

.dnxt-button-wrapper {
  display: flex;
  gap: var(--space-sm);
}

#page-container .et_pb_search {
  border: none;
}

#page-container .et_pb_search .et_pb_s {
  border: 1px solid var(--eccBlue);
  transition: all 0.5s ease-in-out;
}

#page-container .et_pb_search .et_pb_s:active,
#page-container .et_pb_search .et_pb_s:focus {
  border: 2px solid var(--eccBlue);
}

.fb-form-default-style .fb-container button,
#fb-submit-button,
#page-container .ecc-btn,
#page-container .eccBtn,
body #page-container .sg-btn,
body #page-container .dnxt-button-wrapper>a.buttonOne,
.wp-block-file__button.wp-element-button,
body #page-container .wpforms-submit,
#page-container .et_pb_button,
.et_pb_search .et_pb_searchsubmit,
a.more-link,
.wb-homily-pdf-download-link,
#page-container .et_pb_button a {
  background: var(--eccBlue) !important;
  border-color: var(--eccBlue) !important;
  color: var(--wp-color-light);
  text-wrap: nowrap;
}

body #page-container .dnxte_dual_button .dnxt-button-wrapper>a {
  border-color: var(--eccBlue) !important;
  border-radius: 50px;
}

body #page-container .dnxte_dual_button .dnxt-button-wrapper {
  margin-block: var(--space-md);
}

body #page-container .dnxte_dual_button .dnxt-button-wrapper>a.buttonTwo {
  color: var(--eccBlue) !important;
}

body #page-container .gspb_button_wrapper {
  align-items: center;
  justify-content: center;
  margin-block: var(--space-sm);
}

body #page-container .wpforms-submit,
body #page-container .wp-block-greenshift-blocks-buttonbox.gspb-buttonbox {
  background-color: var(--eccBlue);
  transition: all .5s ease-in-out;
}

body #page-container .wpforms-submit:hover,
body #page-container .wp-block-greenshift-blocks-buttonbox.gspb-buttonbox:focus,
body #page-container .wp-block-greenshift-blocks-buttonbox.gspb-buttonbox:hover {
  background-color: var(--eccBlueHover);
}

body #page-container .wp-block-greenshift-blocks-buttonbox.gspb-buttonbox .gspb-buttonbox-icon svg path,
body #page-container .wp-block-greenshift-blocks-buttonbox.gspb-buttonbox .gspb-buttonbox-icon svg {
  fill: white !important;
}

a.more-link,
body .et_pb_button {
  transition: all 0.5s ease;
}

body #page-container .entry-content .et_pb_section .et_pb_button::after,
body #page-container .entry-content .et_pb_section .et_pb_button:hover::after {
  right: 0;
}

.et_pb_button_wrapper {
  position: relative;
}


/* Links */
.entry-content a {
  color: var(--eccBlue);
  transition: all 0.75s ease-in-out;
}

.entry-content a:active,
.entry-content a:hover,
.entry-content a:focus {
  color: var(--eccPurple);
}

#page-container .entry-content a:not(.pdf-link-image):hover {
  color: var(--eccBlueHover);
}

body #page-container .full-bg-image * {
  color: var(--white);
}

.et_pb_icon_list_item.et_clickable .et_pb_icon_list_text,
body .entry-content .et_pb_text_inner a,
body .entry-content .et_pb_text_inner a * {
  border-color: var(--eccBlue);
  color: var(--eccBlue);
  transition: all .5s ease-in-out;
}

.et_pb_icon_list_item.et_clickable:hover .et_pb_icon_list_text,
body .entry-content .et_pb_text_inner a:not(.pdf-link-image):hover,
body .entry-content .et_pb_text_inner a:not(.pdf-link-image):hover * {
  color: var(--eccBlueHover);
}

body .et_pb_link {
  max-height: var(--space-2xl);
}

body .et_pb_link.pdf-link-image {
  align-items: center;
  background-position: top left;
  color: var(--wp-color-light);
  display: flex;
  gap: 0.33vw;
  justify-content: center;
  min-height: var(--space-2xl);
  max-height: var(--space-3xl);
  padding: 1rem;
  position: relative;
  text-align: center;
  z-index: 1;
}

body .et_pb_link.pdf-link-image::before {
  background-color: var(--eccPurpleLite3);
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  transition: background .8s ease-in-out;
  z-index: -1;
}

body .et_pb_link.pdf-link-image:hover::before {
  background-color: var(--eccPurpleLite8);
}


/* ==========================================================================
   CARDS & BOX-SHADE MODULES
   ========================================================================== */

.et_flex_row.box-shade {
  display: grid;
  gap: var(--gap-fluid);
  width: 100%;

  grid-template-columns: 330px repeat(auto-fill, 347px) 360px;
}

/* Micro-Layout: The Grandchild (Module) */
.et_flex_row.box-shade .et_pb_module {
  /* flex-grow: 1 forces this container to consume all vertical space left inside the column */
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

/* Micro-Layout: The Child (Column) */
.et_flex_row.box-shade .et_pb_column {
  display: flex;
  flex-direction: column;
  /* Grid aligns items to 'stretch' by default. 
  Setting height: 100% here allows it to pass the height down.
  */
  height: 100%;
}

#main-content .et_pb_column.et_flex_column.toggle-image {
  width: 55%;
}

body #page-container .et_pb_row.box-shade {
  gap: var(--space-sm);
}

#page-container .entry-content .et_pb_row.box-shade .et_pb_text_inner {
  display: flex;
  flex-direction: column;
  gap: 0.5vw;
}

#page-container .entry-content .et_pb_row.box-shade .et_clickable {
  margin: 0;
}

body #page-container .et_pb_row.box-shade .et_pb_module:not(.has-bg-image) {
  background: var(--eccPurpleLite1);
  max-height: var(--space-3xl)
  overflow: clip;
  min-height: var(--space-2xl);
  margin: 0;
  padding: var(--space-xs) var(--space-md);
  position: relative;
  transition: all 0.5s ease-in-out;
  z-index: 0;
}


body #page-container .et_pb_row.box-shade .et_pb_module.has-bg-image::before,
body #page-container .et_pb_row.box-shade .et_pb_module:not(.has-bg-image)::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: linear-gradient(180deg, var(--eccPurpleLite2) 30%, var(--eccPurpleLite1) 90% 100%);
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

body #page-container .et_pb_row.box-shade .et_pb_module:not(.has-bg-image)::after {
  height: 100%;
  width: 100%;
}

body #page-container .et_pb_row.box-shade .et_pb_module.has-bg-image {
  position: relative;
  overflow: clip;
  cursor: pointer;
  isolation: isolate;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1vw;
  text-decoration: none;
  transition: transform var(--transition-timing), box-shadow var(--transition-timing);
}

body #page-container .et_pb_row.box-shade .et_pb_module.has-bg-image::before {
  background-color: var(--eccPurpleLite5);
  background-image: none;
  opacity: var(--opacity-idle);
}

body #page-container .et_pb_row.box-shade .et_pb_module.has-bg-image:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 20px oklch(0% 0 0 / 0.3);
}

body #page-container .et_pb_row.box-shade .et_pb_module.has-bg-image:hover::before {
  opacity: var(--opacity-hover);
}

body #page-container .et_pb_row.box-shade .et_pb_module.has-bg-image:focus-visible {
  outline: 2px solid white;
  outline-offset: 4px;
}

body #page-container .et_pb_row.box-shade .et_pb_module.has-bg-image:focus-visible::before {
  opacity: var(--opacity-hover);
}

body #page-container .et_pb_row.box-shade .et_pb_module.has-bg-image:active {
  transform: translateY(-2px) scale(0.98);
  transition: transform 100ms;
}

body #page-container .et_pb_row.box-shade .et_pb_module.has-bg-image:active::before {
  opacity: var(--opacity-active);
}

#main-content .full-bg-image h2.et_pb_module_header,
.et_pb_contact_captcha_question {
  color: var(--wp-color-light) !important;
  text-shadow: var(--text-shadow-3) !important;
}

body #page-container .et_pb_row.box-shade .et_pb_module.has-bg-image .et_pb_text_inner * {
  color: var(--wp-color-light);
  line-height: 1;
  user-select: none;
  text-shadow: 2px 3px 8px var(--eccPurpleLite8), 4px 8px 12px var(--eccPurpleDark);
  -webkit-font-smoothing: antialiased;
  opacity: 0.9;
  max-width: 38ch;
}

body #page-container .et_pb_row.box-shade .et_pb_module:hover::before,
body #page-container .et_pb_row.box-shade .et_pb_module:hover::after {
  opacity: 1 !important;
}

.transparent .et_pb_column {
  background-color: var(--eccPurpleLite5);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15),
    0 2px 2px rgba(0, 0, 0, 0.15),
    0 4px 4px rgba(0, 0, 0, 0.15),
    0 8px 8px rgba(0, 0, 0, 0.15);
  margin-block: var(--space-md);
  padding-block: var(--space-md);
  transition: all .5s ease-in;
}

.transparent .et_pb_column:hover {
  background-color: var(--eccPurpleLite8);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 2px 2px rgba(0, 0, 0, 0.15), 0 4px 4px rgba(0, 0, 0, 0.15), 0 8px 8px rgba(0, 0, 0, 0.15);
}

#page-container .et_pb_section_0_tb_footer.et_pb_section {
  background: var(--eccBlueLite7) !important;
  color: var(--eccPurpleLiteSolid);
}

.et_pb_section:nth-child(odd):not(.full-bg-image) {
  background: none;
}

#page-container .et_pb_section:nth-child(even) {
  background: var(--eccPurpleLite1);
}

ul.et_pb_side_nav.et-visible{
opacity: 0.4;
margin: 0 !important;
top: 70%;
}

/* ==========================================================================
   BLOCKQUOTES & LISTS
   ========================================================================== */

.style-quote {
  align-self: center;
  font-size: var(--wp-text-h4);
  position: relative;
  justify-self: center;
  line-height: 1.05;
  max-width: 100%;
  margin-block: 2vw;
  text-align: center;
}

.style-quote::before {
  content: "\275D";
}

.style-quote::after {
  content: "\275E";
}

.style-quote cite::before {
  content: "\2014 \0020";
}

.style-quote blockquote {
  border: none;
  font-family: var(--font-palatino);
  text-shadow: -1px 1px #0005;
  font-style: italic;
  font-weight: 300;
  letter-spacing: -0.07rem;
  line-height: 1.1;
  margin: 0 auto;
  max-width: 80%;
  padding: 0.25vw 0;
  position: relative;
  z-index: 20;
}

.style-quote::before,
.style-quote::after {
  font-size: var(--wp-text-display-1);
  color: var(--eccPurpleLite2);
  line-height: 1;
}

.style-quote::before {
  position: absolute;
  left: -0.15vw;
  text-align: left;
  top: -2vw;
  z-index: 2;
}

.style-quote::after {
  bottom: -2vw;
  position: absolute;
  right: -0.35vw;
  text-align: right;
  z-index: 5;
}

.style-quote cite {
  position: relative;
  z-index: 20;
}

.entry-content .et_pb_text_inner ol,
.entry-content .et_pb_text_inner ul {
  list-style-position: outside;
  padding: 0 0 1.25rem 1.25em;
  line-height: 1;
}

#page-container .entry-content ol li p,
#page-container .entry-content ol li,
#page-container .entry-content ul li:not(.et_pb_icon_list_item) p,
#page-container .entry-content ul li:not(.et_pb_tab_nav_item):not(.et_pb_icon_list_item) {
  padding-bottom: 0.75rem;
  line-height: 1.2;
}

#page-container .entry-content ul.aggregate li.rssContent {
  padding: 0.75rem 0.25rem 0.75rem 0.75rem;
}

#page-container .entry-content ul.aggregate ul.readings-list {
  padding: 0 0.5rem;
}

#page-container .entry-content ul.aggregate li.rssContent {
  margin-bottom: 1rem;
}

#page-container .entry-content ul.aggregate li.rssContent:nth-child(odd) {
  background-color: var(--eccPurpleLite1);
}

ul.et_pb_icon_list .et_pb_icon_list_item {
  margin: 0 -0.75rem;
  padding: 0.75rem 1rem;
}

ul.et_pb_icon_list:nth-child(even) .et_pb_icon_list_item {
  background-color: var(--eccPurpleLite1);
}

/* ==========================================================================
   CAROUSELS, SLIDERS & LIGHTBOXES
   ========================================================================== */

.glightbox-container .gbtn:not(.gclose) {
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.4;
  padding: 10vw;
  height: 100%;
  top: 0;
  transition: all 0.5s ease-in-out;
  z-index: 99;
}

.glightbox-container .gbtn:not(.gclose):hover {
  opacity: 1;
}

.glightbox-container .gbtn svg {
  transform: scale(2);
}

#glightbox-body .glightbox-clean .gclose {
  padding: 2rem;
}

.ecc-slider,
.ecc-slider .slick-list,
.ecc-slider .slick-track {
  display: flex !important;
  align-items: stretch;
}

.et_pb_group_carousel_dots {
  aspect-ratio: 1;
  align-self: center;
  bottom: calc(-1 * var(--space-md));;
  position: absolute;
  margin-inline: auto;
  min-height: var(--space-md);
  height: var(--space-md);
  width: 100%;
  z-index: 5;
}

#page-container .et_pb_group_carousel_slide h3 {
  line-height: 1;
}

.et_pb_group_carousel_slide {
  height: 100%;
  display: flex !important;
  flex-direction: column;
  margin-right: var(--space-2xs);
}

.et_pb_group_carousel_slide .et_pb_module_header {
  font-weight: 600;
  line-height: 0.9;
  margin-bottom: calc(-1 * var(--space-2xs));
  padding: 0;
}

.et_pb_group_carousel_slide .et_pb_text_inner p {
  line-height: 1.5;
}

#page-container .et_pb_group_carousel_slide .hero-content-wrap {
  gap: 1vw;
  opacity: 0;
  transition: all 1500ms ease-in-out;
  transform: translateY(130%);
}

#page-container .hero-slide-image::after {
  opacity: 0;
  transition: all 1800ms ease-in-out;
}

#page-container .et_pb_group_carousel_slide.et_pb_group_carousel_slide_active .hero-slide-image::after,
#page-container .et_pb_group_carousel_slide.et_pb_group_carousel_slide_active .hero-content-wrap {
  opacity: 1;
  transform: translateY(0%);
}

.et_pb_group_carousel_slide>.et_pb_group>.et_pb_group:not(.hero-content-wrap) {
  box-shadow: rgba(0, 0, 0, 0.35) 1px 2px 5px;
  display: flex;
  flex-direction: column;
  flex: 1 0 auto;
  width: 100%;
  border-radius: 8px;
  overflow: clip;
}

.et_pb_group_carousel_slide .et_pb_button_module_wrapper {
  align-items: flex-end;
  margin-top: auto;
}

.et_pb_group_carousel_slide .et_pb_group {
  align-items: stretch;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: center;
}

.et_pb_group_carousel_slide .content-wrap {
  gap: var(--space-sm);
  padding-bottom: var(--space-md);
  padding-inline: var(--space-md);
  height: 100%;
}

.et_pb_group_carousel_slide .et_pb_button_wrapper,
.et_pb_group_carousel_slide .button-wrap {
  margin-top: auto;
}

.et_pb_group_carousel_slide .et_pb_image.et_pb_module {
  align-self: center;
  width: 100%;
}

.et_pb_group_carousel_slide .et_pb_image .et_pb_image_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: clip;
  width: 100%;
}

.et_pb_group_carousel_slide .et_pb_image .et_pb_image_wrap img {
  align-items: center;
  height: 100%;
  object-fit: cover;
  outline: none;
  padding: 0;
  margin: 0;
  min-width: 100%;
}

.et_pb_group_carousel_slide .hero-carousel .et_pb_image .et_pb_image_wrap img {
  margin-top: 6%;
}

.et_pb_group_carousel_slide .et_pb_image:not(.hero-slide-image) .et_pb_image_wrap {
  min-height: var(--space-3xl);
  height: 50%;
}

.et_pb_group_carousel_slide .et_pb_image:not(.hero-slide-image).et_pb_image_wrap img {
  width: 105%;
}

.full-bg-image .et_pb_module_header,
.full-image-slider .et_pb_module_header {
  text-shadow: var(--text-shadow-2);
}

#page-container .full-image-slider {
  background-color: var(--wp-bg-dark);
}

body .et_pb_slide_description,
body.dsm_fixed_header .et_pb_slider_fullwidth_off .et_pb_slide_description {
  padding: var(--space-3xl) var(--space-lg);
}

body:not(.admin-bar) .et_pb_slide_description,
body.dsm_fixed_header .et_pb_slider_fullwidth_off .et_pb_slide_description {
  padding-inline: 0 !important;
}

/* Lightbox */
.et_pb_lightbox_image {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  position: relative;
}

.et_pb_lightbox_image img {
  display: block;
}

.et_pb_image:not(.hero-slide-image) .et_pb_image_wrap {
  position: relative;
  height: 100%;
  overflow: clip;
}

.et_pb_image a.et_pb_lightbox_image::before,
.micon::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  transition: all 0.5s ease-in-out;
  z-index: 5;
}

.et_pb_image a.et_pb_lightbox_image::after,
.micon::after {
  content: "\e8ff";
  font-family: 'Material Icons', 'Material Symbols';
  font-weight: 900;
  color: var(--wp-color-light);
  font-size: var(--wp-text-h2);
  position: absolute;
  top: 50%;
  left: 50%;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8), 0 0 1em rgba(0, 0, 0, 0.2), 0 0 0.2em rgba(0, 0, 0, 0.5);
  transform: translate(-50%, -50%) scale(1);
  transition: all 0.5s ease-in-out;
  z-index: 15;
}

.et_pb_image a.et_pb_lightbox_image:hover::before {
  background: rgba(0, 0, 0, 0.45);
}

.et_pb_image a.et_pb_lightbox_image:hover::after {
  transform: translate(-50%, -50%) scale(1.5);
}

/* .hero.hero-carousel .et_pb_group_carousel_slide  > .et_pb_group > .et_pb_group, */
#main-content .entry-content .et_builder_inner_content>.et_pb_section:not(.full-bg-image):not(.full-image-slider):first-child,
body:not(.home) #main-content .et_builder_inner_content>.et_pb_section:first-child.full-bg-image,
body:not(.home) #main-content .et_builder_inner_content>.et_pb_section:first-child:not(.full-bg-image) .et_pb_row.spacing-header-top,
#main-content .et-l--body .et_builder_inner_content>.et_pb_section:first-child.spacing-header-top {
  padding-top:calc(var(--header-height-initial) + var(--space-3xl)) !important;
}

#page-container .spacing-header-bottom {
  padding-bottom: var(--space-3xl) !important;
}

#page-container .spacing-header-top {
  padding-top:calc(var(--header-height-initial) + var(--space-3xl)) !important;
}

/* hero and carousels */
/* Hero Carousel specifics */
#page-container .hero-slide-image .et_pb_image_wrap,
#page-container .hero.hero-carousel.et_pb_group_carousel,
body #page-container .entry-content:not(.el_modal_popup_section) .et_builder_inner_content>.et_pb_section.full-image-slider:first-child>.et_pb_row,
body #page-container .entry-content:not(.el_modal_popup_section) .et_builder_inner_content>.et_pb_section.full-image-slider:first-child {
  margin: 0;
  padding: 0;
  max-height: 960px;
}

#page-container .hero.hero-carousel.et_pb_group_carousel {
  gap: 0;
  overflow: clip;
}

#page-container .hero-slide-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

#page-container .et_pb_image.hero-slide-image img {
  height: 100%;
  width: 100%;
}

#page-container .hero .et_pb_group_carousel_slide .et_pb_image .et_pb_image_wrap {
  margin-top: -6.25vw;
  min-height: calc(100% + 6vw);
}

#page-container .hero .et_pb_group_carousel_slide .text-align-right .et_pb_image .et_pb_image_wrap {
  margin-top: -7.5vw;
  min-height: calc(100% + 7.5vw);
}

#page-container .hero.hero-carousel .hero-content-wrap,
#page-container .container,
.et_pb_slider .et_pb_container,
.et_pb_fullwidth_section .et_pb_title_container,
.et_pb_fullwidth_section .et_pb_title_featured_container,
.et_pb_fullwidth_header:not(.et_pb_fullscreen) .et_pb_fullwidth_header_container {
  max-width: 100%;
  width: min(var(--container-fluid-width), var(--container-max-width));
}

.hero-carousel>.et_flex_group,
#page-container .hero.hero-carousel .hero-content-wrap {
  position: relative;
}

#page-container .hero.hero-carousel .hero-content-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: auto;
}

/* .hero-carousel>.et_flex_group {
  min-height: 85vh;
}
 */
/* #page-container .hero h1, */

body:not(.admin-bar) #page-container .et_pb_slider .et_pb_slide_description .et_pb_slide_title {
/*   --fluid-type-min: 3vw;
  --fluid-type-max: 4.25rem;
  --fluid-type-target: 4vw; */
font-size: var(--wp-text-display-2);
  line-height: 0.95;
  max-width: 21ch;
  text-align: left;
}

.hero-content-wrap,
.et-l--footer .et_pb_column,
#page-container .text-wrap-overlay{
flex: 0 0 auto;         /* Prevent flex main-axis distortion (grow/shrink) */
align-self: flex-start; /* Override the default 'stretch' cross-axis behavior */
width: max-content;     /* Modern intrinsic sizing: strictly hug grandchild width */
height: max-content;    /* Modern intrinsic sizing: strictly hug grandchild height */
max-width: 100%;        /* Responsive safeguard to prevent horizontal overflow */
}

#page-container #et-boc .text-wrap-overlay{
margin-left: -2rem;
padding-block: 1.8rem 1.3rem;
padding-inline: 1.38rem 1rem;
}
#et-boc .text-wrap-overlay::before{
background: hsla( 255.8, 52.3%, 65%, 0.02);
/* background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.3) 45%, hsla(0, 0%, 100%, 0.7) 98% 100%); */
/* background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 20%, hsla(0, 0%, 100%, 0.7) 75% 100%); */
background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 20%, hsla(0, 0%, 100%, 0.7) 78% 100%); 
/* Glass Bevel Implementation */ 
border: 2px solid rgba(255, 255, 255, 0.22);
/* Base glass rim */ 
border-top-color: rgba(255, 255, 255, 0.1); 
/* Direct light reflection on top edge */ 
border-bottom-color: hsla( 255.8, 52.3%, 65%, 0.1);
/* Soft occlusion shadow on bottom edge */ 
border-radius: 3px;
box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.5), 
/* Inner top highlight (specular reflection) */ 
	inset 0 -1px 1px rgba(0, 0, 0, 0.08), 
/* Inner bottom shadow for thickness */ 
	0 8px 32px 0 rgba(31, 38, 135, 0.07); 
backdrop-filter: var(--glass-blur);
-webkit-backdrop-filter: var(--glass-blur);
filter: brightness(1.8) contrast(0.4) drop-shadow(0.1rem 0.1rem 0rem purple) opacity(0.85) saturate(1.2) sepia(0.3);
z-index: -1;
}

#page-container .text-align-right .text-wrap-overlay{
align-self: flex-end;
}

#page-container .hero-carousel .et_pb_button_module_wrapper {
  margin-bottom: 0.5rem;
}
#page-container .full-image-slider .hero p,
#page-container .full-image-slider .hero h1{
max-width: 39rem;
}

body .et_pb_link.pdf-link-image,
#page-container .text-over-image {
  color: var(--wp-color-light);
  font-weight: 500;
  text-shadow: var(--text-shadow-2) !important;
}

#page-container .et_pb_group_carousel .et_pb_group_carousel_arrow span {
font-size: var(--wp-text-h3);
  color: var(--eccPurpleLite8);
  transition: all 0.5s ease-in-out;
}

#page-container .hero.hero-carousel.et_pb_group_carousel .et_pb_group_carousel_arrow span {
font-size: var(--wp-text-h1);
  color: var(--eccPurpleLite8);
  transition: all 0.5s ease-in-out;
}

#page-container .et_pb_group_carousel:hover .et_pb_group_carousel_arrow span {
  color: var(--eccPurpleLite8);
  transition: color 0.5s ease-in-out;
}

#page-container .et_pb_group_carousel .et_pb_group_carousel_arrow span {
  color: var(--eccPurpleLite2);
}

#page-container .hero.hero-carousel.et_pb_group_carousel:hover .et_pb_group_carousel_arrow span {
  color: var(--eccPurpleLite);
}

#page-container .et_pb_group_carousel:not(.hero) .et_pb_group_carousel_arrow_next {
  right: -1vw;
}

#page-container .et_pb_group_carousel:not(.hero) .et_pb_group_carousel_arrow_prev {
  left: -0.5vw;
}

#page-container .et_pb_group_carousel.et_pb_group_carousel_slides_4 .et_pb_group_carousel_slide {
  flex: 0 0 24.25%;
  padding: 0.5vw;
}

#page-container .et_pb_group_carousel:not(.hero) .et_pb_group_carousel_track {
  gap: 0.4vw;
}

.et_pb_group_carousel_slide .slide-wrap {
  margin: 1px;
}

.et_pb_group_carousel_slide>.et_pb_group:not(.hero-carousel) {
  position: relative;
  overflow: visible;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
}

#page-container .hero .et_pb_group_carousel_slide {
  height: auto;
  max-height: 60.625rem;
}

#page-container .hero p {
  max-width: 56ch;
  line-height: 1.7;
}

.et_pb_section.text-white.hero {
  min-height: 28vw;
  position: relative;
  z-index: 0;
}

.et_pb_section.text-white.hero>span {
  align-items: center;
  display: flex;
}

.et_pb_section.text-white.hero>span>span {
  align-self: center;
}

.et_pb_section.text-white.hero .et_pb_column,
.et_pb_section.text-white.hero .et_pb_row {
  position: relative;
  z-index: 5;
}

.et_pb_section.text-white.hero::after,
.text-wrap-overlay::before,
#page-container .hero-slide-image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

#page-container .hero-slide-image {
  height: 100%;
  max-height: 60.625rem;
}

.et_pb_section.text-white.hero::after {
  background-image: linear-gradient(180deg, var(--gcid-pgnjj612oi, rgba(0, 0, 0, 0.1)) 45%, hsla(263.1, 60%, 5%, 0.8) 99% 100%);
}

#page-container .hero-slide-image::after {
/*   background-image: linear-gradient(180deg, var(--gcid-pgnjj612oi, rgba(0, 0, 0, 0.3)) 45%, hsla(263.1, 75%, 13.3%, 0.9) 98% 100%); */
}

body.single #et-boc #main-content .et_post_meta_wrapper .entry-title{
font-size: var(--wp-text-display-1);
letter-spacing: -0.325rem;
}

.et-db #et-boc .et_pb_heading h1,
.et-db #et-boc .et_pb_heading h1 a {
font-size: var(--wp-text-display-3);
  letter-spacing: -0.325rem;
  line-height: 0.99 !important;
}

#page-container .hero.hero-carousel .et_pb_group_carousel_arrow {
font-size: var(--wp-text-display-1);
  z-index: 5;
}

#page-container .hero.hero-carousel .hero-content-wrap {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: var(--space-sm);
  justify-content: center;
  margin-inline: auto;
  z-index: 5;
}

#page-container .hero.hero-carousel .text-align-right .hero-content-wrap {
  align-items: flex-end;
}

#page-container .hero.hero-carousel .hero-content-wrap .et_pb_module_header {
 color: var(--wp-color-light);
 font-size: var(--wp-text-display-2);
letter-spacing: -0.325rem;
}
.et-db #et-boc .full-bg-image.hero.text-white .et_pb_heading_container h2,
#main-content .full-bg-image h2.et_pb_module_header{
color: var(--wp-color-light);
font-size: var(--wp-text-display-3);
letter-spacing: -0.25rem;
font-weight: 300;
}

#page-container .hero.hero-carousel .hero-content-wrap .et_pb_text_inner p,
#page-container .hero.hero-carousel .hero-content-wrap .et_pb_text {
font-size: var(--wp-text-h5);
  line-height: 1.5;
}

#page-container .hero.hero-carousel .et_pb_group_carousel_dot {
  background-color: var(--eccPurpleLite);
}

#page-container .hero-content-wrap.et_pb_button_module_wrapper {
  margin-top: auto;
}

#page-container .hero .et_pb_group_carousel_dots {
  align-self: center;
  bottom: 1.5rem;
}


#page-container .hero.hero-carousel .et_pb_group_carousel_arrow_next {
  right: 2vw;
}

#page-container .hero.hero-carousel .et_pb_group_carousel_arrow_prev {
  left: 2vw;
}

#page-container .hero.hero-carousel .hero-content-wrap .et_pb_module_header {
  font-weight: 400;
}

#page-container .et_pb_slides .et_pb_slide_description.et_flex_module {
  padding: 2vh 2.125vw;
}

#page-container div:not(.et_pb_bg_layout_dark) .et_pb_slides .et_pb_text.et_pb_bg_layout_light.et_pb_module * {
  color: var(--wp-color-text) !important;
}

#page-container .et_pb_bg_layout_dark * {
  color: var(--wp-color-light);
}

.et_pb_group_carousel_slide>.et_pb_group>.et_pb_group:not(.hero-content-wrap),
#page-container .et_pb_slider {
  background-color: var(--eccPurpleLiteSolid);
  box-shadow: rgba(0, 0, 0, 0.35) 0.06vw 0.13vw 0.183vw;
  overflow: visible;
  transition: all 0.5s ease-in-out;
}

.et_pb_group_carousel_slide>.et_pb_group>.et_pb_group:not(.hero-content-wrap):hover {
  box-shadow: rgba(0, 0, 0, 0.35) 1px 6px 12px;
}

body .et_pb_link.pdf-link-image,
#assessment .et_pb_image_wrap,
.et_pb_group_carousel_slide>.et_pb_group>.et_pb_group:not(.hero-content-wrap):active,
#page-container .epiphany-events .et_pb_slider:focus,
#page-container .epiphany-events .et_pb_slider:active {
  box-shadow: rgba(0, 0, 0, 0.45) 1px 4px 8px;
}

/* ==========================================================================
   MISC COMPONENTS (Icons, Tabs, Accordions, Forms, Popups)
   ========================================================================== */

/* Icons */
.material-icons,
.micon {
  align-items: center;
  font-family: 'Material Icons', 'Material Symbols';
  font-weight: normal;
  font-style: normal;
  display: inline-flex;
  justify-content: center;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'liga';
}
#main-content .et_pb_blurb_content>.et_pb_main_blurb_image .et-pb-icon,
.et_pb_icon_list_item .et-pb-icon,
body .et_pb_link.pdf-link-image .et-pb-icon {
font-size: var(--wp-text-h4);
color: var(--eccPurpleLite5);
}
#main-content .et_pb_blurb_position_left .et_pb_main_blurb_image,#main-content .et_pb_blurb_position_right .et_pb_main_blurb_image{
line-height: 1.5;
}

#main-content .et_pb_icon_list .et_pb_icon_list_item .et-pb-icon {
  background: none;
  color: var(--eccBlueLite7);
  padding-left: 0;
}

/* Tabs & Accordions */
#page-container .entry-content .dnxte_tab_menu ul li {
  padding-bottom: 0;
  line-height: 1;
}

#page-container .entry-content .dnxte_tab_wrapper .dnxte_tab_menu li a.dnxt-hover-ad-sweep-to-bottom::before {
  background-color: var(--wp-color-light) !important;
}

#page-container .dnxte_tab_menu a .dnxte_tab_nav_content .dnxte_tab_nav_title,
#page-container .dnxte_tab_menu a .dnxte_tab_nav_content .dnxte_tab_nav_pra {
  color: var(--eccBlue);
}

#page-container .dnxte_tab_menu a.dnxte_active_a .dnxte_tab_nav_content .dnxte_tab_nav_pra,
#page-container .dnxte_tab_menu a.dnxte_active_a .dnxte_tab_nav_title {
  color: var(--eccPurple);
}

#page-container .dnxte_tab_menu a.dnxte_active_a .dnxte_tab_nav_title {
  font-weight: 600;
}

#page-container .dnxte_tab_content h4 {
  padding-block:  var(--space-lg) var(--space-sm);
}

#page-container .dnxte_tab_content {
  padding-block:  var(--space-lg) var(--space-sm);
  padding-inline: var(--space-md);
  transition: all .5s ease-in-out;
}

#page-container .dnxte_tab_content.dnxte_tab_content_active {
  background-color: var(--wp-color-light);
  min-height: 98%;
}

#page-container .dnxte_tab_menu .dnxte_tab_a {
  max-width: 18vw;
}

#page-container .et_pb_tab_content.et_flex_module {
  gap: 0.425vw;
}

#page-container .et_pb_tab_content.et_flex_module h4 {
  font-weight: 700;
  margin-bottom: -0.533vw;
  padding: 0;
}

body #page-container .entry-content .et_pb_toggle .et_pb_toggle_title {
  font-size: var(--wp-text-h5);
  line-height: 1.1;
  color: var(--eccBlue);
}

body #page-container .ministry-accordion,
body #page-container .entry-content .et_pb_toggle_content {
  gap: var(--space-xs);
  padding-block: var(--space-sm) var(--space-md);
}

#page-container .ministry-details-inner {
  border-top: 1px solid var(--eccPurpleLite7);
  margin-top: var(--space-xs);
  padding-top: var(--space-xs);
}

body #page-container .entry-content .et_pb_toggle_content p {
  line-height: 1.2;
}

body #page-container .entry-content .et_pb_toggle {
  margin-bottom: 5px;
}
.glink > img,
.min-link-btn::after {
  display: none;
}

#page-container .ministry-item,
body #page-container .entry-content .et_pb_toggle.et_pb_toggle_open,
body #page-container .entry-content .et_pb_toggle.et_pb_toggle_close {
  padding-block: var(--space-xs);
  padding-inline: var(--space-sm);
}

body #page-container .pt-safe-standard { padding-block-start: var(--safe-pt-standard); }
body #page-container .pt-safe-hero { padding-block-start: var(--safe-pt-hero); }

#page-container .ministry-item:not([open]),
body #page-container .et_pb_toggle.et_pb_toggle_close {
  background: hsla(256, 52%, 85%, 0.2);
  border: 1px solid hsla(255.8, 52.3%, 39%, 0.1);
  transition: all .3s ease-in-out;
}

#page-container .ministry-item summary h3 {
  padding: 0;
}

#page-container .ministry-item:not([open]):active,
#page-container .ministry-item:not([open]):focus,
body #page-container .et_pb_toggle.et_pb_toggle_close:active,
body #page-container .et_pb_toggle.et_pb_toggle_close:focus {
  background: hsla(256, 52%, 85%, 0.6);
}

#page-container .ministry-item:not([open]):hover,
body #page-container .et_pb_toggle.et_pb_toggle_close:hover {
  background: hsla(256, 52%, 85%, 0.4);
}

#page-container .ministry-sidebar {
  font-size: 80%;
  line-height: 1.05;
}

#page-container .ministry-sidebar,
#page-container .ministry-summary {
  display: flex;
  flex-direction: column;
  gap: 0.65vw;
  line-height: 1.1;
  padding-bottom: var(--space-md);
}

#page-container .ministry-item:not([open]) h3 {
  color: var(--eccBlue);
}

body #page-container .et_pb_toggle .et_pb_toggle_title::before,
body #page-container .et_pb_toggle.et_pb_toggle_open:hover .et_pb_toggle_title,
body #page-container .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title {
  color: var(--eccPurple);
}

.entry-content .et_pb_accordion_item.et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title:hover,
.entry-content .et_pb_accordion_item.et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title {
  cursor: initial;
}

/* Table, Tabs and more */

/* Reset default WordPress / Gutenberg zebra striping to avoid conflicts */
.ecc-table tr:nth-child(odd),
.ecc-table tr:nth-child(even) {
  background-color: transparent !important;
}

/* CSS Stripe Alternation by TBODY (Row Groups) instead of TR */
.ecc-table tbody:nth-of-type(odd) tr {
  background-color: #ffffff;
  /* Base row background */
}

.ecc-table tbody:nth-of-type(even) tr {
  background-color: var(--eccPurple1);
  /* Stripe row background (matches Tailwind slate-50) */
}

/* Smooth transition when hovering over a grouped section */
.ecc-table tbody:hover tr {
  background-color: var(--eccPurple1);
  transition: background-color 0.15s ease-in-out;
}

.entry-content tr td {}

#main-content .entry-content tr {
  border: 1px solid var(--eccPurpleLite2);
}

/* General structural table styling */
.ecc-table {
  width: 100%;
  overflow-x: auto;
}

.ecc-table__element {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.ecc-table__element th,
.ecc-table__element td,
.ecc-table__element caption {
  line-height: 1.2;
}

.ecc-table__element th,
.ecc-table__element td {
  padding: 0.5rem;
  border-bottom: 1px solid var(--eccPurple8);
  vertical-align: middle;
}

table caption {
  text-align: left;
  font-weight: 700;
  padding: 1rem 0;
}

.ecc-table__day {
  font-weight: 600;
}

.ecc-table__footer {
  margin-top: 1.5rem;
  font-size: 0.95rem;
  font-style: italic;
}

.ecc-table__link {
  color: var(--eccBlue);
  font-weight: 500;
}

.dnxte_advanced_tab.et_pb_module .dnxte_tab_menu .dnxte_tab_a,
table tr:nth-child(even),
table tbody:nth-child(even) {
  background: var(--eccPurpleLiteSolid1);
  transition: all, 0.5s ease-in-out;
}

#page-container .entry-content .dnxte_advanced_tab.et_pb_module .dnxte_tab_menu .dnxte_tab_a:active,
#page-container .entry-content .dnxte_advanced_tab.et_pb_module .dnxte_tab_menu .dnxte_tab_a:focus,
#page-container .entry-content .dnxte_advanced_tab.et_pb_module .dnxte_tab_menu .dnxte_tab_a:hover,
#page-container .entry-content .dnxte_advanced_tab.et_pb_module .dnxte_tab_menu .dnxte_tab_a.dnxte_active_a,
#main-content .dnxte_advanced_tab.et_pb_module .dnxte_tab_menu .dnxte_tab_a.dnxte_active_a,
#main-content .dnxte_advanced_tab.et_pb_module .dnxte_tab_menu .dnxte_tab_a:active,
#main-content .dnxte_advanced_tab.et_pb_module .dnxte_tab_menu .dnxte_tab_a:hover,
#main-content .dnxte_advanced_tab.et_pb_module .dnxte_tab_menu .dnxte_tab_a:focus,
#main-content table tr:nth-child(odd) {
  background: var(--wp-color-light);
}

#main-content .dnxte_advanced_tab.et_pb_module .dnxte_tab_menu .dnxte_tab_a.dnxte_active_a {
  cursor: initial;
}

/* Forms & Selects */
.wpforms-field.wpforms-field-readonly {
  padding: 0;
}

.wpforms-field.wpforms-field-readonly label {
  font-size: 102%;
  margin: 2rem 0 0;
}

.wpforms-field.wpforms-field-readonly input {
  visibility: hidden;
}

#page-container input::placeholder,
#page-container textarea::placeholder {
  color: #333;
  opacity: 1;
}

.et_pb_scroll_top.et-pb-icon,
ul.et_pb_side_nav,
header.et-l--header select {
  background: hsla(255.8, 52.3%, 39%, 0.35);
}

.et_pb_scroll_top.et-pb-icon {
  padding: 1.25rem;
}

/* Specific Modules */
.wp-block-file {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: #f8fafc;
  border-radius: 8px;
  border: 1px solid #e2e8f0;
}

#main-content .et_pb_link .et_pb_link_inner {
  gap: var(--space-xs);
}

#main-content .et_pb_link:not([href]),
#main-content .et_pb_link[href=""],
.glink > img,
.min-link-btn::after {
  display: none;
}

#family-faith-formation .et_pb_blurb_content {
  margin: 0;
}

#family-faith-formation .et_pb_blurb_content.et_flex_module,
#family-faith-formation .et_pb_group {
  display: flex;
  row-gap: var(--space-sm);
}

#family-faith-formation .et_pb_module_header {
  margin-top: 0;
  padding: 0;
}

.et_pb_blurb_content .et_pb_image_wrap,
.et_pb_blurb_content .et_pb_main_blurb_image a,
.et_pb_blurb_position_left .et_pb_main_blurb_image,
.et_pb_blurb_position_right .et_pb_main_blurb_image,
#family-faith-formation .et_pb_blurb_content .et_pb_main_blurb_image img {
  min-width: var(--space-lg);
}

.entry-content .et_pb_blurb_content {
  max-width: 100%;
}

.et_pb_blurb_container {
  width: calc(100% - 5.5rem);
}

#page-container .et_pb_blurb_container .et_pb_module_header,
#page-container .et_pb_blurb_container {
  padding: 0;
}

#page-container .et_pb_team_member_description .et_pb_module_header {
  font-weight: 700;
  line-height: 1;
  padding: 0;
}

#page-container .et_pb_team_member_description .et_pb_member_position {
  color: var(--eccPurple);
  font-style: italic;
  line-height: 1;
}

#page-container .et_pb_column .et_pb_team_member {
  background-color: var(--wp-bg-light);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15),
    0 2px 2px rgba(0, 0, 0, 0.12),
    0 4px 4px rgba(0, 0, 0, 0.08),
    0 8px 8px rgba(0, 0, 0, 0.08);
  align-self: center;
  display: flex;
  gap: var(--space-sm);
  justify-content: center;
  justify-self: center;
  max-width: 100%;
  min-width: var(--space-3xl);
}

.et_pb_section .et_pb_row .et_pb_column .et_pb_team_member {
  align-items: center;
  gap: var(--space-xs);
  display: flex;
  justify-content: center;
  padding: 1.25vw 1.25vw 1vw 0.875vw;
}

.et_pb_section div.et_pb_row .et_pb_team_member_description {
  gap: 0.65vw;
}

.et_pb_section div.et_pb_row .et_pb_team_member_description p {
  padding-bottom: 0.25vw;
}

#page-container .et_pb_team_member_image {
  aspect-ratio: 1;
  border-radius: 50%;
  height: 8.5vw;
  margin-block: 0.5vw;
  overflow: clip;
  width: 8.5vw;
}

.ecc-empty-image,
#page-container .et_pb_team_member_image img {
  background-color: var(--eccPurpleLite1);
}

#page-container .ecc-empty-image {
  color: var(--eccPurpleLite5);
}

#page-container .PeopleRow .et_pb_column {
  min-width: 14vw;
}

#page-container .PeopleRow .et_pb_group {
  line-height: 1;
  min-width: 100%;
  padding: 0.75vw;
}

#page-container .et_pb_team_member_description h4 {
  line-height: 1;
  padding-bottom: 0.35vw;
}

#page-container .PeopleRow .et_pb_group p {
  font-size: 90% !important;
  line-height: 1.1;
}

#page-container .PeopleRow .italic,
#page-container .PeopleRow .italic p {
  font-family: var(--palatino) !important;
  line-height: 1;
  padding-bottom: 0.25vw;
}

#page-container .et_pb_team_member_image.circle img {
  background-color: var(--eccPurpleLite2);
}

#page-container .et_pb_team_member_description {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
}

.et_pb_module_header {
  padding: 0;
  /* Syntax Fix */
  line-height: 1;
}

.et_pb_team_member_image img {
  height: auto;
  width: 100%;
}

.et_pb_main_blurb_image {
  margin-block: 0.125vw;
}

body #page-container .sg-option {
  background: var(--eccBlueLite);
  border: 1px solid var(--eccBlue) !important;
}

body #page-container .sg-option * {
  color: var(--eccPurple) !important;
}

body #page-container .sg-option:active,
body #page-container .sg-option:focus,
body #page-container .sg-option:hover,
body #page-container .sg-option.active {
  background: var(--eccPurple);
  color: var(--wp-color-light);
}

body #page-container .sg-option:active *,
body #page-container .sg-option:focus *,
body #page-container .sg-option:hover *,
body #page-container .sg-option.active * {
  color: var(--wp-color-light) !important;
}

/* Modals & Popups */
body #page-container .el_modal_popup .el_modal_popup_inner_wrap>.el_modal_popup_close {
  aspect-ratio: 1;
  align-items: center;
  border-radius: 50%;
  display: flex;
  font-size: 2vw !important;
  height: 2.2vw;
  justify-content: center;
  line-height: 1 !important;
  padding: 3px;
  transition: all 0.5s ease-in-out;
  top: 0.5vw;
  width: 2.2vw;

  right: 0.5vw;
}

body #page-container .el_modal_popup .el_modal_popup_inner_wrap>.el_modal_popup_close:hover {
  background: var(--eccBlue);
  color: var(--wp-color-light);
}

body #page-container .entry-content:not(.el_modal_popup_section) .et_pb_section:first-child {
  display: flex;
  flex-direction: column;
  gap: 0.525vw;
  justify-content: flex-end;
}

body #page-container .el_modal_popup_body .et_pb_section .et_pb_row,
body #page-container .el_modal_popup_body .el_modal_popup_content_text .et_pb_section {
  align-items: flex-start;
  gap: var(--space-sm);
  max-width: 100% !important;
  padding: 0 !important;
  text-align: left;
  width: auto !important;
}

.et_pb_button.el_modal_popup_trigger_button1 {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15),
    0 2px 2px rgba(0, 0, 0, 0.15),
    0 4px 4px rgba(0, 0, 0, 0.15),
    0 8px 8px rgba(0, 0, 0, 0.15);
}

body #page-container .mass-schedule-btn .et_pb_button_wrapper {
  background-color: var(--eccBlue);
  border-radius: 50px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15),
    0 2px 2px rgba(0, 0, 0, 0.15),
    0 4px 4px rgba(0, 0, 0, 0.15),
    0 8px 8px rgba(0, 0, 0, 0.15);
  position: fixed;
  right: var(--space-sm);
  bottom: var(--space-md);
}

body #page-container .mass-schedule-btn:active,
body #page-container .mass-schedule-btn {
  transition: all .5s ease-in;
}

.et-db #et-boc .et-l .el_modal_popup.mass-schedule-btn .el_modal_popup_trigger_button {
  background-color: var(--eccBlueLite8) !important;
}

.et-db #et-boc .et-l .el_modal_popup.mass-schedule-btn .et_pb_button_wrapper::after,
.et-db #et-boc .et-l .el_modal_popup.mass-schedule-btn .et_pb_button_wrapper::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  height: 100%;
  width: 100%;
  border: 4px solid rgba(0, 0, 0, 0.2);
  border-radius: 30px;
  animation: buttonRipple 3s cubic-bezier(.65, 0, .34, 1) 1.5s 2;
  -webkit-animation: buttonRipple 3s cubic-bezier(.65, 0, .34, 1) 1.5s 2;
  box-sizing: border-box;
  z-index: -1
}

.el_modal_popup_section.entry-content .el_modal_popup.et_pb_module .el_modal_popup_wrapper .el_modal_popup_body,
.el_modal_popup_section.entry-content .el_modal_popup.et_pb_module .el_modal_popup_wrapper .el_modal_popup_header {
  padding-block: 1.65vw;
  padding-inline: 2vw;
}

.el_modal_popup_section.entry-content .el_modal_popup.et_pb_module .el_modal_popup_wrapper .el_modal_popup_inner_wrap {
  height: 90vh;
  min-height: 90vh;
  max-width: var(--container-max-width);
  width: auto;
}

.et_pb_code_inner {
  max-width: 99%;
  width: 100%;
}

.mass-schedule-page .et_pb_button.el_modal_popup_trigger_button,
.et_pb_gutter.et_pb_gutters1.et_right_sidebar #main-content .container::before,
body.mass-schedule-page .mass-schedule-btn,
#page-container .dnxte_popup .et_post_meta_wrapper
.slick-arrow.slick-disabled {
  display: none !important;
}

/* Footer overrides */
.et-db #et-boc .et-l.et-l--footer .et_pb_section {
  background: var(--eccBlue);
}

.et-db #et-boc .et-l.et-l--footer .et_pb_image_wrap img {
  object-fit: contain;
}

.et-db #et-boc .et-l.et-l.et-l--footer .et_pb_heading {
  margin: 0 !important;
}

#et-main-area footer.et-l.et-l--footer .et_builder_inner_content .et_pb_section {
  padding-block: 3vw;
}

#et-main-area footer div.et_pb_row.et_flex_row .et_pb_column.et-last-child.et_flex_column {
 flex-direction: row;
 gap: 5rem;
 margin-block: 0;
}

#page-container #et-boc footer.et-l--footer .et_pb_row{
  justify-content: space-between;
  padding-block: 0.65vw;
}

#page-container #et-boc footer.et-l--footer .et_pb_text{
justify-self: flex-end;
align-self: baseline;
}

#page-container #et-boc .et-l .et_pb_row_1_tb_footer.et_pb_row,
#page-container #et-boc .et-l .et_pb_row_3_tb_footer.et_pb_row {
  padding-top: 0 !important;

}

#page-container .et-l.et-l--footer .et_pb_text_inner p {
  font-size: var(--wp-text-h5);
}

.et-db #et-boc footer.et-l.et-l--footer .et_pb_module_header {
  font-size: var(--wp-text-h3);
  line-height: 1;
  padding: 0;
}

.et-pb-icon {
  text-rendering: optimizeLegibility;
  font-size: var(--wp-text-button);
}

.et_pb_text.et_flex_module.w-full .et_pb_text_inner p {
  max-width: 100%;
  width: 100%;
}


body .et_pb_section h1,
body .et_pb_section h2 {
  line-height: 1.1;
}

.et_pb_column .et_pb_group {
  width: 100%;
}

.et-db #et-boc .et-l.et-l--header .et_pb_section.et_section_regular.et_flex_section {
  background: var(--eccPurpleLite8) !important;
  padding: 0;
}

/* ==========================================================================
   RESPONSIVE DESIGN (MOBILE-FIRST & DESKTOP OVERRIDES)
   ========================================================================== */

/* =======================================================
   Responsive Graceful Degradation
   ======================================================= */

/* Tablet / Smaller Laptops */

@media (max-width: 1100px) {}

/* Tablet / Smaller Laptops */
@media (max-width: 1100px) {}

/* Mobile Hamburger Menu Override */
@media (max-width: 980px) {
  #page-container #et-boc #menu-primary-menu li.ecc-menu-masonry>ul.sub-menu {
    column-count: 1;
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    transform: none !important;
    padding: 0 !important;
  }
}

@media only screen and (min-width: 1500px) {
  :root {
    --content-width: 100%;
    --container-max-width: 1500px;
  }

  #page-container .et_builder_inner_content>.et_pb_section:not(.full-bg-image):not(.full-image-slider):first-child {
    padding: var(--spacing-header-top) 0 var(--spacing-header-bottom);
  }

  #page-container #ministry_extra_content,
  #page-container .et_pb_section:not(:first-child):not(.full-bg-image) {
    padding: 3.5vw 0 4vw;
  }

  #page-container #et-boc .container,
  #page-container #et-boc .et-l .et_pb_row:not([class*="et_flex_column"]):not([class*="_footer"]):not(.et_pb_row_nested),
  #page-container #et-boc .et-l .et_pb_slider .et_pb_container,
  #page-container #et-boc .et-l .et_pb_fullwidth_section .et_pb_title_container,
  #page-container #et-boc .et-l .et_pb_fullwidth_section .et_pb_title_featured_container,
  #page-container #et-boc .et-l .et_pb_fullwidth_header:not(.et_pb_fullscreen) .et_pb_fullwidth_header_container,
  #page-container .et_builder_inner_content>.et_pb_section>.et_flex_row,
  #page-container .et_pb_slider .et_pb_container,
  #page-container .et_pb_fullwidth_section .et_pb_title_container,
  #page-container .et_pb_fullwidth_section .et_pb_title_featured_container,
  #page-container .et_pb_fullwidth_header:not(.et_pb_fullscreen) .et_pb_fullwidth_header_container {
    max-width: var(--content-width);
    width: min(var(--container-fluid-width), var(--container-max-width));
  }

  #page-container #et-boc #menu-primary-menu li.ecc-menu-masonry>ul.sub-menu .ecc-masonry-scroll-wrapper {
    margin-inline: auto;
    max-width: var(--container-max-width);
    width: min(var(--container-fluid-width), var(--container-max-width));
  }

}

/* Small Desktop overrides (max 1200px) */
/* Desktop & Upwards (1024px+) */
@media (max-width: 1159px) {
  --content-width: 95%;
  --container-max-width: 1200px;
  --container-fluid-width: 95vw;

  body.dsm_fixed_header .et_pb_section h1 {
    letter-spacing: -4.75px !important;
    line-height: 1.4;
  }

  body.dsm_fixed_header .et_pb_heading_container>h2 {
    letter-spacing: -3.75px !important;
    line-height: 1.2;
  }

  #page-container .container,
  #page-container #et-boc #menu-primary-menu li.ecc-menu-masonry>ul.sub-menu,
  #page-container .et_pb_slider .et_pb_container,
  #page-container .et_pb_fullwidth_section .et_pb_title_container,
  #page-container .et_pb_fullwidth_section .et_pb_title_featured_container,
  #page-container .et_pb_fullwidth_header:not(.et_pb_fullscreen) .et_pb_fullwidth_header_container {
    max-width: 98vw;
    width: min(var(--container-fluid-width), var(--container-max-width));
  }

  #menu-primary-menuli.ecc-menu-masonry>ul.sub-menu {
    column-count: 3;
  }


  body #page-container .et-l--header .et_pb_text.et_block_module,
  body #page-container .et-l--header .et_pb_row .et_pb_column:last-child,
  body #page-container .et_pb_row.site-header-topper,
  body #page-container .et_pb_row.site-header-topper .et_pb_text_inner p,
  body #page-container .et_pb_row.site-header-topper .et_pb_column {
    justify-content: center !important;
    margin-block: 5px !important;
    margin-inline: auto !important;
    text-align: center !important;
  }

  #page-container .et_builder_inner_content>.et_flex_section>.et_pb_row.et_flex_row {
    max-width: 95vw;
    width: min(var(--container-fluid-width), var(--container-max-width));
  }

  body #page-container .et-l--header .et_block_row .et_pb_column {
    margin-bottom: 5px !important;
  }

  #page-container #et-boc #menu-primary-menu .menu-item-home,
  body #page-container .et_pb_menu .et_pb_menu__menu {
    display: none;
  }

  body .et_pb_menu .et_mobile_nav_menu {
    float: none;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }

  body .site-header-topper {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  body .site-header-topper>*,
  .site-header-topper .et_pb_gutters3 .et_block_row .et_pb_column_1_2,
  .site-header-topper .et_pb_gutters3.et_block_row.et_pb_row>.et_pb_column_1_2 {
    justify-content: center !important;
    margin-inline: auto !important;
    text-align: center !important;
    width: 80% !important;
  }

  body .et_pb_group_carousel_slide,
  body .hero-slide-image {
    height: auto;
  }

  body .hero .et_pb_group_carousel_slide .et_pb_image .et_pb_image_wrap {
    margin-top: 0;
  }

  body #page-container .hero h1,
  body #page-container .et_pb_slider .et_pb_slide_description .et_pb_slide_title,
  body #page-container .hero p {
    max-width: 100%;
  }

  body .et_pb_group_carousel_slide .et_pb_image .et_pb_image_wrap img {
    height: 100%;
    justify-content: center;
    margin-top: 0;
    width: auto;
  }
}

/* ==========================================================================
  MEDIA QUERies - responsive to mobile, tablet, laptops or desktops
  ========================================================================== */
    
/*
/* Tablet & Upwards (768px+) */

@media (min-width: 768px) and (max-width: 1023px) {

  /* Tablet Overrides Go Here */
  /* Adjust fluid bounds for mobile viewports */
  :root {
    /* Adjust fluid bounds for mobile viewports */
    --container-max-width: 1003px;
    --container-min-width: 760px;
    --container-fluid-width: 90vw;
    /* --spacing-fluid: clamp(1rem, 5vw, 2rem); */
  }

  #page-container #et-boc #menu-primary-menuli.ecc-menu-masonry>ul.sub-menu {
    column-count: 2;
  }

  #page-container .container,
  #page-container .et_pb_row:not([class*="et_flex_column"]),
  #page-container .et_builder_inner_content>.et_pb_section>.et_flex_row,
  #page-container .et_pb_slider .et_pb_container,
  #page-container .et_pb_fullwidth_section .et_pb_title_container,
  #page-container .et_pb_fullwidth_section .et_pb_title_featured_container,
  #page-container .et_builder_inner_content>.et_flex_section>.et_pb_row.et_flex_row #page-container .et_pb_fullwidth_header:not(.et_pb_fullscreen) .et_pb_fullwidth_header_container {
    max-width: 95vw;
    width: min(var(--container-fluid-width), var(--container-max-width));
  }
}


/* Divi Builder Default Desktop Reset (981px+) */
@media (min-width: 981px) {
  --container-max-width: 1500px;
  --container-fluid-width: 90vw;

  .et_pb_gutters3 .et_block_row .et_pb_column_1_2,
  .et_pb_gutters3.et_block_row.et_pb_row>.et_pb_column_1_2 {
    margin: 0;
    width: 50%;
  }

  #page-container #et-boc #menu-primary-menuli.ecc-menu-masonry>ul.sub-menu {
    column-count: 3;
  }

  #page-container .container,
  #page-container .et_pb_slider .et_pb_container,
  #page-container .et_pb_fullwidth_section .et_pb_title_container,
  #page-container .et_pb_fullwidth_section .et_pb_title_featured_container,
  #page-container .et_pb_fullwidth_header:not(.et_pb_fullscreen) .et_pb_fullwidth_header_container {
    max-width: 98vw;
    width: min(var(--container-fluid-width), var(--container-max-width));
  }
}
/* 
   Tablets (Portrait & Small Landscape)
   Divi Default Native Breakpoint: 768px - 980px 
*/
@media all and (min-width: 768px) and (max-width: 980px) {
   .divi-auto-grid {
   /* Slightly restrict the grid on tablets to force a 2-column layout earlier */
   grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
}
/* 
  Small Laptops & Large Tablets (Landscape)
  Bridges the gap between Divi's mobile engine and standard desktop view.
  981px is where Divi applies its "Desktop" styles.
*/
@media all and (min-width: 981px) and (max-width: 1100px) {
  /* Fine-tune padding to prevent squished layouts on 1024px screens */
  .et_pb_row {
   width: 90% !important; /* Overriding Divi's strict 80% default safely */
  }
}
@media only screen and (max-width: 980px) {
  html.et-vb-app-ancestor {
    overflow-x: visible;
  }

  /* small screens Overrides Go Here */
  :root {
    /* Adjust fluid bounds for mobile viewports */
    --container-max-width: 960px;
    --container-fluid-width: 90vw;
    /* --spacing-fluid: clamp(1rem, 5vw, 2rem); */
  }

  #page-container .et_builder_inner_content>.et_flex_section>.et_pb_row.et_flex_row,
  #page-container .container,
  #page-container .et_pb_row:not([class*="et_flex_column"]),
  #page-container .et_builder_inner_content>.et_pb_section>.et_flex_row,
  #page-container .et_pb_slider .et_pb_container,
  #page-container .et_pb_fullwidth_section .et_pb_title_container,
  #page-container .et_pb_fullwidth_section .et_pb_title_featured_container,
  #page-container .et_pb_fullwidth_header:not(.et_pb_fullscreen) .et_pb_fullwidth_header_container {
    max-width: 95vw;
    width: min(var(---container-min-width), var(--container-max-width));
  }
}

@media (min-width: 768px) {
  --container-max-width: 768px;

  body.dsm_fixed_header .et_pb_section h1,
  body.dsm_fixed_header .et_pb_section h2 {
    letter-spacing: -0.75px !important;
    line-height: 1.3;
  }

  #page-container .container,
  #page-container .et_pb_slider .et_pb_container,
  #page-container .et_pb_fullwidth_section .et_pb_title_container,
  #page-container .et_pb_fullwidth_section .et_pb_title_featured_container,
  #page-container .et_pb_fullwidth_header:not(.et_pb_fullscreen) .et_pb_fullwidth_header_container {
    max-width: 98vw;
    width: min(var(--container-fluid-width), var(--container-max-width));
  }
}

@media all and (max-width: 767px) {
  /* Mobile Overrides Go Here */
  :root {
    /* Adjust fluid bounds for mobile viewports */
    --container-max-width: 750px;
    --container-fluid-width: 95vw;
    /* --spacing-fluid: clamp(1rem, 5vw, 2rem); */
  }


  #page-container .et_builder_inner_content>.et_flex_section>.et_pb_row.et_flex_row,
  #page-container .container,
  #page-container .et_pb_row:not([class*="et_flex_column"]),
  #page-container .et_builder_inner_content>.et_pb_section>.et_flex_row,
  #page-container .et_pb_slider .et_pb_container,
  #page-container .et_pb_fullwidth_section .et_pb_title_container,
  #page-container .et_pb_fullwidth_section .et_pb_title_featured_container,
  #page-container .et_pb_fullwidth_header:not(.et_pb_fullscreen) .et_pb_fullwidth_header_container {
    max-width: 93vw;
    width: min(var(--container-fluid-width), var(--container-max-width));
  }
 /* Fine-tune padding to prevent squished layouts on mobiles */
  #page-container .et_builder_inner_content>.et_pb_section,
  #page-container .et_builder_inner_content>.et_pb_section>.et_flex_row {
   gap: 0.75vw;
  }
  #page-container .et_builder_inner_content>.et_pb_section {
   padding-block: 2rem 3.25rem;
  }
  #page-container .et_builder_inner_content>.et_pb_section>.et_flex_row > .et_pb_column{
	justify-content: center;
 }

  #page-container .et_builder_inner_content>.et_pb_section>.et_flex_row > .et_pb_column > *{
	align-self: center !important;
  }
  body #page-container .et_pb_row.box-shade .et_pb_module:not(.has-bg-image){
   max-height: 3.5rem;	
  }
  #et-main-area footer div.et_pb_row.et_flex_row .et_pb_column.et-last-child.et_flex_column,
  body #page-container #et-boc .et_pb_row{
   align-items: center;
   display: flex;
   flex-direction: column;
   gap: 0.75rem;
  }
	#page-container .hero.hero-carousel.et_pb_group_carousel{
		max-height: 760px;
	}
  #page-container #et-boc .text-wrap-overlay{
	  margin: 1rem auto;
   width: 90%;
   }
  #page-container .et_pb_image img,
  #et-main-area .et_pb_section_9 .wp-image-229545{
   object-fit: contain;
	}

#page-container #main-header  .site-header-topper > .et_pb_column,
#page-container #SiteMenuLogo,
#page-container #et-main-area footer div.et_pb_row.et_flex_row .et_pb_column{
margin: 0 auto !important;
width: 95% !important;
  }
#page-container #main-header > .et_pb_row.site-header-topper,
#et-main-area footer div.et_pb_row.et_flex_row .et_pb_column.et-last-child.et_flex_column *{
text-align: center;
width: 100% !important;
}

  #page-container .et_pb_group_carousel_dots{
   bottom: -1.75rem;
  }
  body #page-container .et_pb_group_carousel_arrow{
   visibility: hidden;
  }
  body #page-container .et_pb_group_carousel:hover .et_pb_group_carousel_arrow{
   visibility: visible;
  }
  body #page-container #et-boc .et_pb_row.box-shade .et_pb_column > .et_clickable{
   padding: 1rem !important;
   width: 90%;
  }
  body #page-container .et_pb_group_carousel_slide .et_pb_image:not(.hero-slide-image) .et_pb_image_wrap{
   min-height: 100%;
  }
  body #page-container .et_pb_section > .et_pb_row > .et_pb_column .slide-wrap{
   width: 90%;
  }
}

@keyframes buttonRipple {
  0% {
    opacity: 1;
    width: 95%;
    height: 95%;
    border-width: 4px;
    border-radius: 28.5px
  }

  20% {
    opacity: 1;
    width: 95%;
    height: 95%;
    border-width: 4px;
    border-radius: 28.5px
  }

  100% {
    opacity: 0;
    width: calc(100% + 80px);
    height: calc(100% + 80px);
    border-width: 8px;
    border-radius: 80px
  }
}