/* Gamma Pi consolidated stylesheet
 * Migrated from WPCode CSS snippets on 2026-09-24.
 * Original snippet IDs are retained in section headings for rollback traceability.
 */

/* Source WPCode #5509 */
@media (max-width: 767px) {
  body.page-id-2415 .elementor-element-3c302a4,
  body.page-id-2415 .elementor-element-41072b9 {
    height: auto !important;
    min-height: 0 !important;
    padding: 56px 16px 24px !important;
    gap: 0 !important;
    box-sizing: border-box;
  }
  body.page-id-2415 .elementor-element-655e31b,
  body.page-id-2415 .elementor-element-c46c198 {
    height: auto !important;
    min-height: 0 !important;
    gap: 12px !important;
  }
  body.page-id-2415 .elementor-element-5de1c7d,
  body.page-id-2415 .elementor-element-5bcdd79,
  body.page-id-2415 .elementor-element-fd256ed {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    font-size: 16px !important;
    line-height: 1.45 !important;
    box-sizing: border-box;
  }
  body.page-id-2415 .elementor-element-b5865c2,
  body.page-id-2415 .elementor-element-40a19dd {
    margin: 0 !important;
  }
  body.page-id-2415 .elementor-element-563adc1,
  body.page-id-2415 .elementor-element-ed3d9a5 {
    margin-top: 4px !important;
  }
  body.page-id-2415 .elementor-element-b0fd10f {
    height: auto !important;
    min-height: 0 !important;
  }
  body.page-id-2415 .elementor-element-ea5c269 {
    gap: 12px !important;
    padding: 28px 16px 32px !important;
    box-sizing: border-box;
  }
  body.page-id-2415 .elementor-element-fd256ed p {
    margin: 0 !important;
  }
}

/* Source WPCode #5507 */
@media (max-width: 767px) {
  body.page-id-4540 .membership-interest-form {
    padding: 24px 16px !important;
    box-sizing: border-box;
  }
  body.page-id-4540 .membership-interest-form .elementor-field-group {
    margin-bottom: 8px !important;
  }
  body.page-id-4540 .membership-interest-form .elementor-field-label {
    margin-bottom: 6px !important;
  }
  body.page-id-4540 .membership-interest-form .elementor-field {
    min-height: 48px !important;
    padding: 10px 12px !important;
    box-sizing: border-box;
  }
  body.page-id-4540 .membership-interest-form .elementor-field-type-textarea .elementor-field {
    min-height: 96px !important;
  }
  body.page-id-4540 .membership-interest-form .elementor-button {
    min-height: 48px !important;
  }
}

/* Source WPCode #5498 */
@media (max-width: 767px) {
  .chapter-spotlight-slider--thumbs-right .chapter-spotlight__slider,
  .chapter-spotlight-slider--thumbs-bottom .chapter-spotlight__slider,
  .chapter-spotlight-slider--thumbs-top .chapter-spotlight__slider {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
    height: auto;
    max-height: none;
  }

  .chapter-spotlight-slider--thumbs-right .chapter-spotlight__video-shell,
  .chapter-spotlight-slider--thumbs-bottom .chapter-spotlight__video-shell,
  .chapter-spotlight-slider--thumbs-top .chapter-spotlight__video-shell {
    flex: 0 0 auto;
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .chapter-spotlight-slider--thumbs-right .chapter-spotlight__thumb-rail,
  .chapter-spotlight-slider--thumbs-bottom .chapter-spotlight__thumb-rail,
  .chapter-spotlight-slider--thumbs-top .chapter-spotlight__thumb-rail {
    order: 2;
    flex: 0 0 auto;
    width: 100%;
    max-width: none;
    height: var(--chapter-thumb-rail-size);
  }

  .chapter-spotlight-slider--thumbs-right .chapter-spotlight__thumb-strip,
  .chapter-spotlight-slider--thumbs-bottom .chapter-spotlight__thumb-strip,
  .chapter-spotlight-slider--thumbs-top .chapter-spotlight__thumb-strip {
    width: 100%;
    height: var(--chapter-thumb-width);
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
  }

  .chapter-spotlight__nav-button {
    width: 36px;
    height: 36px;
  }

  .chapter-spotlight__nav-button svg {
    width: 18px !important;
    height: 18px !important;
  }

  .chapter-spotlight__sound-button {
    top: 8px;
    min-height: 0;
    padding: 5px 9px;
    font-size: 11px;
    line-height: 1.2;
  }

  .chapter-spotlight-slider {
    padding: 10px 0 14px;
  }
}

@media (max-width: 430px) {
  .chapter-spotlight__nav-button {
    width: 34px;
    height: 34px;
  }

  .chapter-spotlight__nav-button svg {
    width: 17px !important;
    height: 17px !important;
  }

  .chapter-spotlight__sound-button {
    top: 7px;
    padding: 4px 8px;
    font-size: 10px;
  }
}

/* Media gallery hero: mobile readability */
@media (max-width: 767px) {
  .elementor-1919 .elementor-element.elementor-element-84713c8 > .e-con-inner { width: 100%; max-width: 100%; padding-inline: 20px; box-sizing: border-box; align-items: flex-start; }
  .elementor-1919 .elementor-element.elementor-element-69ca961,
  .elementor-1919 .elementor-element.elementor-element-da801c1,
  .elementor-1919 .elementor-element.elementor-element-64a35dd { width: 100%; max-width: 100%; align-self: stretch; box-sizing: border-box; }
  .elementor-1919 .elementor-element.elementor-element-69ca961 { margin-bottom: 10px; }
  .elementor-1919 .elementor-element.elementor-element-da801c1 { margin-bottom: 12px; }
  .elementor-1919 .elementor-element.elementor-element-da801c1 .elementor-heading-title,
  .elementor-1919 .elementor-element.elementor-element-64a35dd { text-align: left; }
  .elementor-1919 .elementor-element.elementor-element-64a35dd { --container-widget-width: 100%; width: 100%; max-width: 34rem; padding-inline: 0; font-size: clamp(15px, 4.2vw, 18px); line-height: 1.45; overflow-wrap: normal; }
  .elementor-1919 .elementor-element.elementor-element-64a35dd p { margin: 0; }
}
@media (max-width: 374px) {
  .elementor-1919 .elementor-element.elementor-element-84713c8 > .e-con-inner { padding-inline: 16px; }
  .elementor-1919 .elementor-element.elementor-element-64a35dd { font-size: 15px; line-height: 1.45; }
}

/* Source WPCode #5487 */
@media (max-width: 767px) {
	.elementor-page-2656 .program-card {
		 display: flex !important;
		 flex-direction: column !important;
		    height: auto !important;
		 min-height: 0 !important;
		   overflow: visible !important;
		  gap: 0 !important;
	}
	.elementor-page-2656 .program-card > .elementor-widget-image {
		 width: 100% !important;
		   margin: 0 !important;
	}
	.elementor-page-2656 .program-card > .elementor-widget-image img {
		 display: block !important;
		    width: 100% !important;
		 height: auto !important;
		  object-fit: cover !important;
	}
	.elementor-page-2656 .program-card .card-content {
		   position: static !important;
		  transform: none !important;
		    width: 100% !important;
		    height: auto !important;
		    min-height: 0 !important;
		 margin: 0 !important;
		 padding: 18px 20px 20px !important;
		 box-sizing: border-box !important;
	}
	.elementor-page-2656 .program-card .card-content .elementor-heading-title {
		 margin: 0 0 8px !important;
		 line-height: 1.2 !important;
	}
	.elementor-page-2656 .program-card .card-content p {
		    margin: 0 !important;
		   line-height: 1.5 !important;
	}
}
	}
	}
	}
	}
	}
	}
}

/* Source WPCode #5486 */
@media (max-width: 767px) {
  .elementor-element-08327ec,
  .elementor-element-6c7d710,
  .elementor-element-439db4e {
    padding: 12px 14px !important;
    gap: 10px !important;
    min-height: 0 !important;
  }
  .elementor-element-08327ec .elementor-heading-title,
  .elementor-element-647fbd3 .elementor-heading-title {
    font-size: clamp(20px, 5.5vw, 26px) !important;
    line-height: 1.2 !important;
  }
  .elementor-element-6c7d710,
  .elementor-element-6c7d710 p,
  .elementor-element-6c7d710 li {
    font-size: 15px !important;
    line-height: 1.45 !important;
  }
  .elementor-element-6c7d710 ul,
  .elementor-element-6c7d710 ol {
    padding-left: 18px !important;
    margin: 6px 0 !important;
  }
}

/* Source WPCode #5481 */
.gpnm-menu .sub-menu li{padding:2px 8px!important}.gpnm-menu .sub-menu li a{padding:10px 12px!important;border-radius:6px}

/* Source WPCode #4058 */
/* Stable glass hero transitions.
   Ken-burns scale only on tablet/desktop; mobile stays unscaled to avoid overflow. */
@media (min-width: 768px) {
  .ghs-slider__image,
  .ghs-slider__image.is-active,
  .ghs-slider__image.is-leaving {
    transform: scale(1.02) !important;
  }
}

.ghs-slider__image {
  transition: opacity var(--ghs-transition-speed) ease !important;
}

/* Source WPCode #4046 */
/* ==========================================================
   THE EVENTS CALENDAR — PURPLE & GOLD THEME
   Dedicated TEC styling only

   Brand:
   Purple: #702F8A
   Gold:   #C5A028

   IMPORTANT:
   This stylesheet intentionally contains NO Elementor
   page/container layout rules.
   ========================================================== */


/* ==========================================================
   1. BRAND VARIABLES
   ========================================================== */

:root {
    --site-purple: #702F8A;
    --site-purple-rgb: 112, 47, 138;
    --site-gold: #C5A028;

    --site-text: #1A1414;
    --site-muted: #6F6965;
    --site-border: #E8E4E0;
    --site-soft-bg: #FAFAFA;
}


/* ==========================================================
   2. GLOBAL TEC ACCENT COLORS
   ========================================================== */

.tribe-events,
.tribe-common {

    /* Primary accent */
    --tec-color-accent-primary: var(--site-purple);

    --tec-color-accent-primary-hover:
        rgba(var(--site-purple-rgb), 0.80);

    --tec-color-accent-primary-active:
        rgba(var(--site-purple-rgb), 0.90);

    --tec-color-accent-primary-background:
        rgba(var(--site-purple-rgb), 0.07);


    /* Links */
    --tec-color-link-primary: var(--site-purple);
    --tec-color-link-accent: var(--site-purple);

    --tec-color-link-accent-hover:
        rgba(var(--site-purple-rgb), 0.80);


    /* Buttons */
    --tec-color-button-primary: var(--site-purple);

    --tec-color-button-primary-hover:
        rgba(var(--site-purple-rgb), 0.80);

    --tec-color-button-primary-active:
        rgba(var(--site-purple-rgb), 0.90);


    /* Events bar */
    --tec-color-background-events-bar-submit-button:
        var(--site-purple);

    --tec-color-background-events-bar-submit-button-hover:
        rgba(var(--site-purple-rgb), 0.80);

    --tec-color-background-events-bar-submit-button-active:
        rgba(var(--site-purple-rgb), 0.90);


    /* Events bar icons */
    --tec-color-icon-events-bar: var(--site-purple);
    --tec-color-icon-events-bar-hover: var(--site-purple);
    --tec-color-icon-events-bar-active: var(--site-purple);


    /* Datepicker */
    --tec-color-day-marker-current-month:
        var(--site-purple);

    --tec-color-day-marker-current-month-hover:
        rgba(var(--site-purple-rgb), 0.80);

    --tec-color-day-marker-current-month-active:
        rgba(var(--site-purple-rgb), 0.90);

    --tec-color-background-secondary-datepicker:
        rgba(var(--site-purple-rgb), 0.50);

    --tec-color-accent-primary-background-datepicker:
        var(--site-purple);


    /* Month multi-day events */
    --tec-color-background-primary-multiday:
        rgba(var(--site-purple-rgb), 0.24);

    --tec-color-background-primary-multiday-hover:
        rgba(var(--site-purple-rgb), 0.34);

    --tec-color-background-primary-multiday-active:
        rgba(var(--site-purple-rgb), 0.34);

    --tec-color-background-secondary-multiday:
        rgba(var(--site-purple-rgb), 0.24);

    --tec-color-background-secondary-multiday-hover:
        rgba(var(--site-purple-rgb), 0.34);
}


/* ==========================================================
   3. EVENTS BAR / FIND EVENTS BUTTON
   ========================================================== */

.tribe-events .tribe-events-c-search__button,
.tribe-events .tribe-events-c-search__button:focus {
    background-color: var(--site-purple) !important;
    border-color: var(--site-purple) !important;
    color: #FFFFFF !important;
}

.tribe-events .tribe-events-c-search__button:hover {
    background-color:
        rgba(var(--site-purple-rgb), 0.80) !important;

    border-color:
        rgba(var(--site-purple-rgb), 0.80) !important;

    color: #FFFFFF !important;
}


/* ==========================================================
   4. SEARCH FIELD FOCUS
   ========================================================== */

.tribe-events .tribe-events-c-search__input:focus,
.tribe-events
.tribe-events-c-search__input-control input:focus {
    border-color: var(--site-purple) !important;

    box-shadow:
        0 0 0 3px
        rgba(var(--site-purple-rgb), 0.10) !important;

    outline: none !important;
}


/* ==========================================================
   5. LIST VIEW
   ========================================================== */

.tribe-events-view--list
.tribe-events-calendar-list__event-title-link {
    color: var(--site-purple) !important;
}

.tribe-events-view--list
.tribe-events-calendar-list__event-title-link:hover,
.tribe-events-view--list
.tribe-events-calendar-list__event-title-link:focus {
    color:
        rgba(var(--site-purple-rgb), 0.80) !important;
}


/* List weekday */

.tribe-events-view--list
.tribe-events-calendar-list__event-date-tag-weekday {
    color: var(--site-purple) !important;
}


/* List content links */

.tribe-events-view--list
.tribe-events-calendar-list__event-description a,
.tribe-events-view--list
.tribe-events-calendar-list__event-details a {
    color: var(--site-purple);
}

.tribe-events-view--list
.tribe-events-calendar-list__event-description a:hover,
.tribe-events-view--list
.tribe-events-calendar-list__event-details a:hover {
    color:
        rgba(var(--site-purple-rgb), 0.80);
}


/* ==========================================================
   6. VIEW SELECTOR
   LIST / MONTH / DAY
   ========================================================== */

.tribe-events
.tribe-events-c-view-selector__list-item-link:hover {
    color: var(--site-purple) !important;
}

.tribe-events
.tribe-events-c-view-selector__list-item--active
.tribe-events-c-view-selector__list-item-link {
    color: var(--site-purple) !important;
}

.tribe-events
.tribe-events-c-view-selector__list-item--active
.tribe-events-c-view-selector__list-item-text {
    color: var(--site-purple) !important;
}


/* ==========================================================
   7. TOP BAR / DATE NAVIGATION
   ========================================================== */

.tribe-events
.tribe-events-c-top-bar__datepicker-button,
.tribe-events
.tribe-events-c-top-bar__datepicker-button:focus {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--site-text) !important;
    border: 0 !important;
    box-shadow: none !important;
}

.tribe-events
.tribe-events-c-top-bar__datepicker-button:hover {
    background: transparent !important;
    color: var(--site-purple) !important;
}


/* ==========================================================
   8. PREVIOUS / NEXT / TODAY NAVIGATION
   ========================================================== */

.tribe-events
.tribe-events-c-nav__next,
.tribe-events
.tribe-events-c-nav__prev,
.tribe-events
.tribe-events-c-nav__today {
    color: var(--site-purple);
}

.tribe-events
.tribe-events-c-nav__next:hover,
.tribe-events
.tribe-events-c-nav__next:focus,
.tribe-events
.tribe-events-c-nav__prev:hover,
.tribe-events
.tribe-events-c-nav__prev:focus,
.tribe-events
.tribe-events-c-nav__today:hover,
.tribe-events
.tribe-events-c-nav__today:focus {
    color:
        rgba(var(--site-purple-rgb), 0.80) !important;
}


/* ==========================================================
   9. FULL MONTH VIEW / EMBEDDED CALENDAR VIEW
   Prevent Elementor global button styling from making
   every calendar cell solid crimson.
   ========================================================== */


/* Normal month cells */

.tribe-events-view--month
.tribe-events-calendar-month__day {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    color: var(--site-text) !important;
    border-color: var(--site-border) !important;
}


/* Reset inner cell backgrounds */

.tribe-events-view--month
.tribe-events-calendar-month__day-cell,
.tribe-events-view--month
.tribe-events-calendar-month__day-date,
.tribe-events-view--month
.tribe-events-calendar-month__day-date-daynum {
    background: transparent !important;
    background-color: transparent !important;
}


/* Reset date buttons / links */

.tribe-events-view--month
.tribe-events-calendar-month__day button,
.tribe-events-view--month
.tribe-events-calendar-month__day-date button,
.tribe-events-view--month
.tribe-events-calendar-month__day-date-link {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    color: var(--site-text) !important;

    border: 0 !important;
    box-shadow: none !important;
}


/* Date numbers */

.tribe-events-view--month
.tribe-events-calendar-month__day-date-daynum,
.tribe-events-view--month
.tribe-events-calendar-month__day-date-link {
    color: var(--site-text) !important;
}


/* ==========================================================
   MONTH VIEW — DAY HOVER
   ========================================================== */

.tribe-events-view--month
.tribe-events-calendar-month__day:hover {
    background:
        rgba(var(--site-purple-rgb), 0.05) !important;
}

.tribe-events-view--month
.tribe-events-calendar-month__day:hover
.tribe-events-calendar-month__day-date-daynum,
.tribe-events-view--month
.tribe-events-calendar-month__day:hover
.tribe-events-calendar-month__day-date-link {
    color: var(--site-purple) !important;
}


/* ==========================================================
   MONTH VIEW — CURRENT DAY
   ========================================================== */

.tribe-events-view--month
.tribe-events-calendar-month__day--current
.tribe-events-calendar-month__day-date-daynum,
.tribe-events-view--month
.tribe-events-calendar-month__day--current
.tribe-events-calendar-month__day-date-link {
    background:
        var(--site-purple) !important;

    background-color:
        var(--site-purple) !important;

    color: #FFFFFF !important;

    width: 32px !important;
    height: 32px !important;
    line-height: 32px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 50% !important;
}


/* ==========================================================
   MONTH VIEW — DAYS OUTSIDE CURRENT MONTH
   ========================================================== */

.tribe-events-view--month
.tribe-events-calendar-month__day--past-month,
.tribe-events-view--month
.tribe-events-calendar-month__day--next-month {
    background: var(--site-soft-bg) !important;
    background-color: var(--site-soft-bg) !important;
}

.tribe-events-view--month
.tribe-events-calendar-month__day--past-month
.tribe-events-calendar-month__day-date-daynum,
.tribe-events-view--month
.tribe-events-calendar-month__day--next-month
.tribe-events-calendar-month__day-date-daynum {
    color: #9C9691 !important;
}


/* ==========================================================
   MONTH VIEW — EVENT TITLES
   ========================================================== */

.tribe-events-view--month
.tribe-events-calendar-month__calendar-event-title-link {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--site-purple) !important;
}

.tribe-events-view--month
.tribe-events-calendar-month__calendar-event-title-link:hover,
.tribe-events-view--month
.tribe-events-calendar-month__calendar-event-title-link:focus {
    color:
        rgba(var(--site-purple-rgb), 0.80) !important;
}


/* ==========================================================
   MONTH VIEW — EVENT INDICATORS / DOTS
   ========================================================== */

.tribe-events-view--month
.tribe-events-calendar-month__mobile-events-icon--event {
    background-color: var(--site-purple) !important;
}


/* ==========================================================
   MONTH VIEW — GRID
   ========================================================== */

.tribe-events-view--month
.tribe-events-calendar-month__week {
    border-color: var(--site-border) !important;
}

.tribe-events-view--month
.tribe-events-calendar-month__header-column-title {
    color: var(--site-muted) !important;
}


/* ==========================================================
   MONTH VIEW — BOTTOM NAVIGATION
   ========================================================== */

.tribe-events-view--month
.tribe-events-c-nav__prev,
.tribe-events-view--month
.tribe-events-c-nav__next,
.tribe-events-view--month
.tribe-events-c-nav__today,
.tribe-events-view--month
button.tribe-events-c-nav__prev,
.tribe-events-view--month
button.tribe-events-c-nav__next {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    color: var(--site-purple) !important;

    border: 0 !important;
    box-shadow: none !important;
}

.tribe-events-view--month
.tribe-events-c-nav__prev:hover,
.tribe-events-view--month
.tribe-events-c-nav__next:hover,
.tribe-events-view--month
.tribe-events-c-nav__today:hover {
    background: transparent !important;

    color:
        rgba(var(--site-purple-rgb), 0.80) !important;
}


/* ==========================================================
   10. DAY VIEW
   ========================================================== */

.tribe-events-view--day
.tribe-events-calendar-day__event-title-link {
    color: var(--site-purple) !important;
}

.tribe-events-view--day
.tribe-events-calendar-day__event-title-link:hover,
.tribe-events-view--day
.tribe-events-calendar-day__event-title-link:focus {
    color:
        rgba(var(--site-purple-rgb), 0.80) !important;
}


/* ==========================================================
   11. DATEPICKER
   ========================================================== */

.tribe-events
.datepicker .datepicker-switch,
.tribe-events
.datepicker .prev,
.tribe-events
.datepicker .next {
    color: var(--site-purple);
}


/* Normal datepicker buttons */

.tribe-events
.datepicker button,
.tribe-events
.datepicker td > button,
.tribe-events
.datepicker th > button {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}


/* Hover */

.tribe-events
.datepicker .day:hover,
.tribe-events
.datepicker td > button:hover {
    background:
        rgba(var(--site-purple-rgb), 0.06) !important;

    color: var(--site-purple) !important;
}


/* Selected / active / today */

.tribe-events
.datepicker .day.active,
.tribe-events
.datepicker .day.selected,
.tribe-events
.datepicker .day.today,
.tribe-events
.datepicker td.active > button,
.tribe-events
.datepicker td.selected > button,
.tribe-events
.datepicker td.today > button {
    background-color:
        var(--site-purple) !important;

    background:
        var(--site-purple) !important;

    color: #FFFFFF !important;
}


/* TEC V2 datepicker */

.tribe-events
.tribe-common-c-datepicker__day--selected
.tribe-common-c-datepicker__day-btn,
.tribe-events
.tribe-events-c-top-bar__datepicker-day--selected
.tribe-events-c-top-bar__datepicker-day-button,
.tribe-events
.tribe-events-c-top-bar__datepicker-day--current
.tribe-events-c-top-bar__datepicker-day-button {
    background-color:
        var(--site-purple) !important;

    color: #FFFFFF !important;
}


/* ==========================================================
   12. MINI CALENDAR / MONTH WIDGET
   Fix Elementor button-style conflict
   ========================================================== */

.tribe-events-widget-events-month {
    --tec-color-accent-primary:
        var(--site-purple);

    --tec-color-link-primary:
        var(--site-purple);

    --tec-color-link-accent:
        var(--site-purple);

    --tec-color-button-primary:
        var(--site-purple);

    background: #FFFFFF;
}


/* ==========================================================
   MINI CALENDAR — RESET BUTTONS
   ========================================================== */

.tribe-events-widget-events-month button,
.tribe-events-widget-events-month
.tribe-events-calendar-month__day button,
.tribe-events-widget-events-month
.tribe-events-calendar-month__day-cell button,
.tribe-events-widget-events-month
.tribe-events-calendar-month__day-date button,
.tribe-events-widget-events-month
.tribe-events-calendar-month__day-date-link {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    color: var(--site-text) !important;

    border: 0 !important;
    box-shadow: none !important;
}


/* ==========================================================
   MINI CALENDAR — DAY CELLS
   ========================================================== */

.tribe-events-widget-events-month
.tribe-events-calendar-month__day {
    background: #FFFFFF !important;
    background-color: #FFFFFF !important;
    color: var(--site-text) !important;
    border-color: var(--site-border) !important;
}


/* Reset inner cell backgrounds */

.tribe-events-widget-events-month
.tribe-events-calendar-month__day-cell,
.tribe-events-widget-events-month
.tribe-events-calendar-month__day-date,
.tribe-events-widget-events-month
.tribe-events-calendar-month__day-date-daynum {
    background: transparent !important;
    background-color: transparent !important;
}


/* ==========================================================
   MINI CALENDAR — DATE NUMBERS
   ========================================================== */

.tribe-events-widget-events-month
.tribe-events-calendar-month__day-date-daynum,
.tribe-events-widget-events-month
.tribe-events-calendar-month__day-date-link {
    color: var(--site-text) !important;
    font-weight: 500;
}


/* ==========================================================
   MINI CALENDAR — DAY HOVER
   ========================================================== */

.tribe-events-widget-events-month
.tribe-events-calendar-month__day:hover {
    background:
        rgba(var(--site-purple-rgb), 0.06) !important;
}

.tribe-events-widget-events-month
.tribe-events-calendar-month__day:hover
.tribe-events-calendar-month__day-date-daynum,
.tribe-events-widget-events-month
.tribe-events-calendar-month__day:hover
.tribe-events-calendar-month__day-date-link {
    color: var(--site-purple) !important;
}


/* ==========================================================
   MINI CALENDAR — CURRENT DAY
   ========================================================== */

.tribe-events-widget-events-month
.tribe-events-calendar-month__day--current
.tribe-events-calendar-month__day-date-daynum,
.tribe-events-widget-events-month
.tribe-events-calendar-month__day--current
.tribe-events-calendar-month__day-date-link {
    background:
        var(--site-purple) !important;

    background-color:
        var(--site-purple) !important;

    color: #FFFFFF !important;

    border-radius: 50% !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 32px !important;
    height: 32px !important;
    line-height: 32px !important;
}


/* ==========================================================
   MINI CALENDAR — SELECTED DAY
   ========================================================== */

.tribe-events-widget-events-month
.tribe-events-calendar-month__day--selected
.tribe-events-calendar-month__day-date-daynum,
.tribe-events-widget-events-month
.tribe-events-calendar-month__day--selected
.tribe-events-calendar-month__day-date-link {
    background:
        var(--site-purple) !important;

    background-color:
        var(--site-purple) !important;

    color: #FFFFFF !important;

    border-radius: 50% !important;
}


/* ==========================================================
   MINI CALENDAR — DAYS OUTSIDE CURRENT MONTH
   ========================================================== */

.tribe-events-widget-events-month
.tribe-events-calendar-month__day--past-month,
.tribe-events-widget-events-month
.tribe-events-calendar-month__day--next-month {
    background:
        var(--site-soft-bg) !important;

    background-color:
        var(--site-soft-bg) !important;
}

.tribe-events-widget-events-month
.tribe-events-calendar-month__day--past-month
.tribe-events-calendar-month__day-date-daynum,
.tribe-events-widget-events-month
.tribe-events-calendar-month__day--next-month
.tribe-events-calendar-month__day-date-daynum {
    color: #9C9691 !important;
}


/* ==========================================================
   MINI CALENDAR — EVENT INDICATORS / DOTS
   ========================================================== */

.tribe-events-widget-events-month
.tribe-events-calendar-month__mobile-events-icon--event {
    background-color:
        var(--site-purple) !important;
}

.tribe-events-widget-events-month
.tribe-events-calendar-month__calendar-event-datetime-featured-icon {
    color:
        var(--site-purple) !important;
}


/* ==========================================================
   MINI CALENDAR — MONTH / YEAR HEADER
   ========================================================== */

.tribe-events-widget-events-month
.tribe-events-c-top-bar__datepicker-button,
.tribe-events-widget-events-month
.tribe-events-c-top-bar__datepicker-button:focus {
    background: transparent !important;
    background-color: transparent !important;

    color: var(--site-text) !important;

    border: 0 !important;
    box-shadow: none !important;
}

.tribe-events-widget-events-month
.tribe-events-c-top-bar__datepicker-button:hover {
    background: transparent !important;
    color: var(--site-purple) !important;
}


/* ==========================================================
   MINI CALENDAR — PREVIOUS / NEXT MONTH
   ========================================================== */

.tribe-events-widget-events-month
.tribe-events-c-nav__prev,
.tribe-events-widget-events-month
.tribe-events-c-nav__next,
.tribe-events-widget-events-month
button.tribe-events-c-nav__prev,
.tribe-events-widget-events-month
button.tribe-events-c-nav__next {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;

    color: var(--site-text) !important;

    border: 0 !important;
    box-shadow: none !important;
}

.tribe-events-widget-events-month
.tribe-events-c-nav__prev:hover,
.tribe-events-widget-events-month
.tribe-events-c-nav__next:hover {
    background: transparent !important;
    color: var(--site-purple) !important;
}


/* ==========================================================
   MINI CALENDAR — GRID LINES
   ========================================================== */

.tribe-events-widget-events-month
.tribe-events-calendar-month__week {
    border-color:
        var(--site-border) !important;
}

.tribe-events-widget-events-month
.tribe-events-calendar-month__day {
    border-color:
        var(--site-border) !important;
}


/* ==========================================================
   MINI CALENDAR — WEEKDAY HEADINGS
   ========================================================== */

.tribe-events-widget-events-month
.tribe-events-calendar-month__header-column-title {
    color: var(--site-muted) !important;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}


/* ==========================================================
   MINI CALENDAR — NO RESULTS NOTICE
   ========================================================== */

.tribe-events-widget-events-month
.tribe-events-header__messages,
.tribe-events-widget-events-month
.tribe-events-c-messages__message {
    background-color: #F4F4F4 !important;
    color: var(--site-text) !important;
}

.tribe-events-widget-events-month
.tribe-events-c-messages__message a {
    color: var(--site-purple) !important;
    font-weight: 600;
}


/* ==========================================================
   MINI CALENDAR — BOTTOM MONTH NAVIGATION
   ========================================================== */

.tribe-events-widget-events-month
.tribe-events-c-nav__list a,
.tribe-events-widget-events-month
.tribe-events-c-nav__today {
    color: var(--site-text) !important;
    background: transparent !important;
}

.tribe-events-widget-events-month
.tribe-events-c-nav__list a:hover,
.tribe-events-widget-events-month
.tribe-events-c-nav__today:hover {
    color: var(--site-purple) !important;
    background: transparent !important;
}


/* ==========================================================
   MINI CALENDAR — SUBSCRIBE TO CALENDAR
   ========================================================== */

.tribe-events-widget-events-month
.tribe-events-c-subscribe-dropdown__button,
.tribe-events-widget-events-month
.tribe-events-c-subscribe-dropdown__button-text {
    background-color: transparent !important;
    color: var(--site-purple) !important;
}

.tribe-events-widget-events-month
.tribe-events-c-subscribe-dropdown__button {
    border-color:
        var(--site-purple) !important;
}

.tribe-events-widget-events-month
.tribe-events-c-subscribe-dropdown__button:hover {
    background-color:
        rgba(var(--site-purple-rgb), 0.06) !important;

    color:
        var(--site-purple) !important;
}

/* ==========================================================
   13. EVENT VIEW ALL
   Preserve normal background; remove hover background
   ========================================================== */

.event-view-all:hover,
.event-view-all:focus,
.event-view-all:hover a,
.event-view-all:focus a,
.event-view-all a:hover,
.event-view-all a:focus {
    background: transparent !important;
    background-color: transparent !important;
    color: #FFFFFF !important;
}

/* ==========================================================
   14. GENERAL TEC LINKS
   ========================================================== */

.tribe-events a:hover,
.tribe-events a:focus {
    text-decoration-color:
        var(--site-purple);
}



/* ==========================================================
   15. EVENTS CALENDAR — CLICK / FOCUS OUTLINE RESET
   Remove click outlines across ALL TEC views and widgets.
   Keyboard navigation keeps a crimson :focus-visible ring.
   ========================================================== */

/* Mouse/touch click focus — all Events Calendar views */
.tribe-events a:focus:not(:focus-visible),
.tribe-events button:focus:not(:focus-visible),
.tribe-events input:focus:not(:focus-visible),
.tribe-events select:focus:not(:focus-visible),
.tribe-events textarea:focus:not(:focus-visible),
.tribe-events [role="button"]:focus:not(:focus-visible),
.tribe-events [tabindex]:focus:not(:focus-visible),

/* Shared TEC components */
.tribe-common a:focus:not(:focus-visible),
.tribe-common button:focus:not(:focus-visible),
.tribe-common input:focus:not(:focus-visible),
.tribe-common select:focus:not(:focus-visible),
.tribe-common textarea:focus:not(:focus-visible),
.tribe-common [role="button"]:focus:not(:focus-visible),
.tribe-common [tabindex]:focus:not(:focus-visible),

/* Mini calendar / month widget */
.tribe-events-widget-events-month a:focus:not(:focus-visible),
.tribe-events-widget-events-month button:focus:not(:focus-visible),
.tribe-events-widget-events-month input:focus:not(:focus-visible),
.tribe-events-widget-events-month select:focus:not(:focus-visible),
.tribe-events-widget-events-month [role="button"]:focus:not(:focus-visible),
.tribe-events-widget-events-month [tabindex]:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}


/* Explicit TEC controls that sometimes ship their own focus styles */
.tribe-events .tribe-events-c-view-selector__list-item-link:focus:not(:focus-visible),
.tribe-events .tribe-events-c-top-bar__datepicker-button:focus:not(:focus-visible),
.tribe-events .tribe-events-c-nav__prev:focus:not(:focus-visible),
.tribe-events .tribe-events-c-nav__next:focus:not(:focus-visible),
.tribe-events .tribe-events-c-nav__today:focus:not(:focus-visible),
.tribe-events .tribe-events-c-search__button:focus:not(:focus-visible),
.tribe-events .tribe-events-c-subscribe-dropdown__button:focus:not(:focus-visible),
.tribe-events .tribe-events-calendar-month__day-date-link:focus:not(:focus-visible),
.tribe-events .tribe-events-calendar-month__calendar-event-title-link:focus:not(:focus-visible),
.tribe-events .tribe-events-calendar-list__event-title-link:focus:not(:focus-visible),
.tribe-events .tribe-events-calendar-day__event-title-link:focus:not(:focus-visible),
.tribe-events-widget-events-month .tribe-events-c-top-bar__datepicker-button:focus:not(:focus-visible),
.tribe-events-widget-events-month .tribe-events-c-nav__prev:focus:not(:focus-visible),
.tribe-events-widget-events-month .tribe-events-c-nav__next:focus:not(:focus-visible),
.tribe-events-widget-events-month .tribe-events-c-nav__today:focus:not(:focus-visible),
.tribe-events-widget-events-month .tribe-events-c-subscribe-dropdown__button:focus:not(:focus-visible),
.event-view-all:focus:not(:focus-visible),
.event-view-all a:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}


/* Keyboard-only accessibility indicator */
.tribe-events a:focus-visible,
.tribe-events button:focus-visible,
.tribe-events [role="button"]:focus-visible,
.tribe-common a:focus-visible,
.tribe-common button:focus-visible,
.tribe-common [role="button"]:focus-visible,
.tribe-events-widget-events-month a:focus-visible,
.tribe-events-widget-events-month button:focus-visible,
.tribe-events-widget-events-month [role="button"]:focus-visible {
    outline: 2px solid var(--site-purple) !important;
    outline-offset: 3px !important;
    box-shadow: none !important;
}


/* Keep text/form inputs from receiving an extra browser ring on click.
   Their existing TEC focus styling can still show border/color changes. */
.tribe-events input:focus,
.tribe-events select:focus,
.tribe-events textarea:focus,
.tribe-common input:focus,
.tribe-common select:focus,
.tribe-common textarea:focus {
    outline: none !important;
}




/* ==========================================================
   16. MONTH NAVIGATION — REMOVE CLICK BORDER / BOX
   Covers embedded calendar + full month view + mini calendar.
   ========================================================== */

.tribe-events
.tribe-events-c-nav__prev,
.tribe-events
.tribe-events-c-nav__next,
.tribe-events
.tribe-events-c-nav__today,
.tribe-events
.tribe-events-c-nav__prev:focus,
.tribe-events
.tribe-events-c-nav__next:focus,
.tribe-events
.tribe-events-c-nav__today:focus,
.tribe-events
.tribe-events-c-nav__prev:active,
.tribe-events
.tribe-events-c-nav__next:active,
.tribe-events
.tribe-events-c-nav__today:active,
.tribe-events
.tribe-events-c-nav__prev:hover,
.tribe-events
.tribe-events-c-nav__next:hover,
.tribe-events
.tribe-events-c-nav__today:hover,

.tribe-events-view--month
.tribe-events-c-nav__prev,
.tribe-events-view--month
.tribe-events-c-nav__next,
.tribe-events-view--month
.tribe-events-c-nav__today,
.tribe-events-view--month
.tribe-events-c-nav__prev:focus,
.tribe-events-view--month
.tribe-events-c-nav__next:focus,
.tribe-events-view--month
.tribe-events-c-nav__today:focus,
.tribe-events-view--month
.tribe-events-c-nav__prev:active,
.tribe-events-view--month
.tribe-events-c-nav__next:active,
.tribe-events-view--month
.tribe-events-c-nav__today:active,

.tribe-events-widget-events-month
.tribe-events-c-nav__prev,
.tribe-events-widget-events-month
.tribe-events-c-nav__next,
.tribe-events-widget-events-month
.tribe-events-c-nav__today,
.tribe-events-widget-events-month
.tribe-events-c-nav__prev:focus,
.tribe-events-widget-events-month
.tribe-events-c-nav__next:focus,
.tribe-events-widget-events-month
.tribe-events-c-nav__today:focus,
.tribe-events-widget-events-month
.tribe-events-c-nav__prev:active,
.tribe-events-widget-events-month
.tribe-events-c-nav__next:active,
.tribe-events-widget-events-month
.tribe-events-c-nav__today:active {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-width: 0 !important;
    border-color: transparent !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
}


/* Remove border/box from nested nav labels, links, and button text */
.tribe-events .tribe-events-c-nav__prev *,
.tribe-events .tribe-events-c-nav__next *,
.tribe-events .tribe-events-c-nav__today *,
.tribe-events-view--month .tribe-events-c-nav__prev *,
.tribe-events-view--month .tribe-events-c-nav__next *,
.tribe-events-view--month .tribe-events-c-nav__today *,
.tribe-events-widget-events-month .tribe-events-c-nav__prev *,
.tribe-events-widget-events-month .tribe-events-c-nav__next *,
.tribe-events-widget-events-month .tribe-events-c-nav__today * {
    background: transparent !important;
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}


/* Preserve keyboard accessibility without recreating the boxed button.
   Use text decoration instead of a rectangular focus ring. */
.tribe-events
.tribe-events-c-nav__prev:focus-visible,
.tribe-events
.tribe-events-c-nav__next:focus-visible,
.tribe-events
.tribe-events-c-nav__today:focus-visible,
.tribe-events-view--month
.tribe-events-c-nav__prev:focus-visible,
.tribe-events-view--month
.tribe-events-c-nav__next:focus-visible,
.tribe-events-view--month
.tribe-events-c-nav__today:focus-visible,
.tribe-events-widget-events-month
.tribe-events-c-nav__prev:focus-visible,
.tribe-events-widget-events-month
.tribe-events-c-nav__next:focus-visible,
.tribe-events-widget-events-month
.tribe-events-c-nav__today:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    border: 0 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 3px !important;
}


/* ==========================================================
   17. DATEPICKER — MONTH / YEAR FOCUS & ACTIVE STATES
   Purple & Gold
   ========================================================== */

/* Focused month */
.tribe-events .datepicker .month:focus,
.tribe-events .datepicker .month:focus-visible,
.tribe-events .datepicker .month.focused {
    color: var(--site-purple) !important;
    border-color: var(--site-purple) !important;
    outline-color: var(--site-purple) !important;
    box-shadow: none !important;
}

/* Hovered month */
.tribe-events .datepicker .month:hover {
    color: var(--site-purple) !important;
}

/* Active / selected month */
.tribe-events .datepicker .month.active,
.tribe-events .datepicker .month.active:hover,
.tribe-events .datepicker .month.selected {
    background: var(--site-purple) !important;
    background-color: var(--site-purple) !important;
    border-color: var(--site-purple) !important;
    color: #FFFFFF !important;
}

/* Focused year */
.tribe-events .datepicker .year:focus,
.tribe-events .datepicker .year:focus-visible,
.tribe-events .datepicker .year.focused {
    color: var(--site-purple) !important;
    border-color: var(--site-purple) !important;
    outline-color: var(--site-purple) !important;
    box-shadow: none !important;
}

/* Hovered year */
.tribe-events .datepicker .year:hover {
    color: var(--site-purple) !important;
}

/* Active / selected year */
.tribe-events .datepicker .year.active,
.tribe-events .datepicker .year.active:hover,
.tribe-events .datepicker .year.selected {
    background: var(--site-purple) !important;
    background-color: var(--site-purple) !important;
    border-color: var(--site-purple) !important;
    color: #FFFFFF !important;
}


/* ==========================================================
   18. FINAL MONTH VIEW STATE PRIORITY
   Latest behavior:
   - Normal: dark text
   - Hovered but NOT active/current/selected: theme color
   - Current/selected: white text
   ========================================================== */

/* Non-active hover uses theme purple */
.tribe-events-view--month
.tribe-events-calendar-month__day:not(.tribe-events-calendar-month__day--current):not(.tribe-events-calendar-month__day--selected):hover
.tribe-events-calendar-month__day-date-daynum,
.tribe-events-view--month
.tribe-events-calendar-month__day:not(.tribe-events-calendar-month__day--current):not(.tribe-events-calendar-month__day--selected):hover
.tribe-events-calendar-month__day-date-link {
    color: var(--site-purple) !important;
}

/* Active/current/selected gets white text */
.tribe-events-view--month
.tribe-events-calendar-month__day--current
.tribe-events-calendar-month__day-date-daynum,
.tribe-events-view--month
.tribe-events-calendar-month__day--current
.tribe-events-calendar-month__day-date-link,
.tribe-events-view--month
.tribe-events-calendar-month__day--selected
.tribe-events-calendar-month__day-date-daynum,
.tribe-events-view--month
.tribe-events-calendar-month__day--selected
.tribe-events-calendar-month__day-date-link {
    color: #FFFFFF !important;
}

/* Mini calendar: same state priority */
.tribe-events-widget-events-month
.tribe-events-calendar-month__day:not(.tribe-events-calendar-month__day--current):not(.tribe-events-calendar-month__day--selected):hover
.tribe-events-calendar-month__day-date-daynum,
.tribe-events-widget-events-month
.tribe-events-calendar-month__day:not(.tribe-events-calendar-month__day--current):not(.tribe-events-calendar-month__day--selected):hover
.tribe-events-calendar-month__day-date-link {
    color: var(--site-purple) !important;
}

.tribe-events-widget-events-month
.tribe-events-calendar-month__day--current
.tribe-events-calendar-month__day-date-daynum,
.tribe-events-widget-events-month
.tribe-events-calendar-month__day--current
.tribe-events-calendar-month__day-date-link,
.tribe-events-widget-events-month
.tribe-events-calendar-month__day--selected
.tribe-events-calendar-month__day-date-daynum,
.tribe-events-widget-events-month
.tribe-events-calendar-month__day--selected
.tribe-events-calendar-month__day-date-link {
    color: #FFFFFF !important;
}


/* ==========================================================
   PURPLE & GOLD — SECONDARY GOLD ACCENTS
   Purple remains interactive; gold is used for subtle labels.
   ========================================================== */

.tribe-events-view--month
.tribe-events-calendar-month__header-column-title,
.tribe-events-widget-events-month
.tribe-events-calendar-month__header-column-title {
    color: var(--site-gold) !important;
}

.tribe-events-view--list
.tribe-events-calendar-list__event-date-tag-weekday {
    color: var(--site-gold) !important;
}

/* ==========================================================
   END THE EVENTS CALENDAR THEME
   ========================================================== */

/* Source WPCode #5129 */
/* Tablet/hamburger: force accordion submenu visibility (≤1200) */
@media (max-width: 1200px) {
  .elementor-element-1f6085d .tnm-nav.is-open .tnm-menu .sub-menu,
	
	/* Add breathing room to dropdown submenu items */
	.site-glass-header .gpnm-menu .sub-menu > li {
		 padding: 2px 8px !important;
	}
	.site-glass-header .gpnm-menu .sub-menu > li > a {
		  padding: 10px 12px !important;
		  border-radius: 6px;
	}
	}
	}
  .elementor-element-1f6085d .tnm-nav.is-open .tnm-menu .sub-menu .sub-menu {
    position: static !important;
    display: none !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 4px 0 8px 16px !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  .elementor-element-1f6085d .tnm-nav.is-open .tnm-menu .menu-item-has-children.is-submenu-open > .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .elementor-element-1f6085d .tnm-nav.is-open .tnm-menu .menu-item-has-children.is-submenu-open > .sub-menu > li,
  .elementor-element-1f6085d .tnm-nav.is-open .tnm-menu .menu-item-has-children.is-submenu-open > .sub-menu > li > a {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
  }
}

/* =========================================================
   Gamma Pi — Boxed content + full-bleed backgrounds
   WPCode CSS snippet #5129 (priority 999, Site Wide Header)
   Shells span viewport (no white page gutters).
   Boxed .e-con-inner keeps content at kit max-width (~1230px).
   ========================================================= */

/* --- Full-bleed shells (backgrounds edge-to-edge) --- */
body.elementor-page .elementor > .e-con.e-parent,
body.elementor-page .elementor > .e-con.e-con-boxed,
body .elementor-location-header > .e-con.e-parent,
body .elementor-location-footer > .e-con.e-parent,
body [data-elementor-type="wp-page"] > .e-con.e-parent,
body [data-elementor-type="wp-post"] > .e-con.e-parent,
body [data-elementor-type="section"] > .e-con.e-parent,
body [data-elementor-type="container"] > .e-con.e-parent,
body [data-elementor-type="header"] > .e-con.e-parent,
body [data-elementor-type="footer"] > .e-con.e-parent,
body .elementor-section.elementor-top-section {
  max-width: 100% !important;
  width: 100% !important;
  --width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  left: auto !important;
  right: auto !important;
}

/* Nested Theme Builder / template documents also span */
body .elementor .elementor {
  max-width: 100% !important;
  width: 100% !important;
}

body .elementor .elementor > .e-con.e-parent,
body .elementor .elementor > .e-con.e-con-boxed {
  max-width: 100% !important;
  width: 100% !important;
  --width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Prefer padding for horizontal inset — no L/R margins on shells */
body .elementor > .e-con.e-parent,
body .elementor-location-header > .e-con.e-parent,
body .elementor-location-footer > .e-con.e-parent {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* --- Boxed content column (restore Elementor boxed inners) --- */
body.elementor-page .elementor > .e-con.e-con-boxed > .e-con-inner,
body .elementor-location-header > .e-con.e-con-boxed > .e-con-inner,
body .elementor-location-footer > .e-con.e-con-boxed > .e-con-inner,
body [data-elementor-type="wp-page"] > .e-con.e-con-boxed > .e-con-inner,
body [data-elementor-type="wp-post"] > .e-con.e-con-boxed > .e-con-inner,
body [data-elementor-type="section"] > .e-con.e-con-boxed > .e-con-inner,
body [data-elementor-type="container"] > .e-con.e-con-boxed > .e-con-inner,
body [data-elementor-type="header"] > .e-con.e-con-boxed > .e-con-inner,
body [data-elementor-type="footer"] > .e-con.e-con-boxed > .e-con-inner,
body .elementor .elementor > .e-con.e-con-boxed > .e-con-inner {
  max-width: min(1230px, calc(100% - 42px)) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 1280px) {
  body.elementor-page .elementor > .e-con.e-con-boxed > .e-con-inner,
  body .elementor-location-header > .e-con.e-con-boxed > .e-con-inner,
  body .elementor-location-footer > .e-con.e-con-boxed > .e-con-inner,
  body [data-elementor-type="wp-page"] > .e-con.e-con-boxed > .e-con-inner,
  body [data-elementor-type="wp-post"] > .e-con.e-con-boxed > .e-con-inner,
  body [data-elementor-type="section"] > .e-con.e-con-boxed > .e-con-inner,
  body [data-elementor-type="container"] > .e-con.e-con-boxed > .e-con-inner,
  body [data-elementor-type="header"] > .e-con.e-con-boxed > .e-con-inner,
  body [data-elementor-type="footer"] > .e-con.e-con-boxed > .e-con-inner,
  body .elementor .elementor > .e-con.e-con-boxed > .e-con-inner {
    max-width: min(100%, calc(100% - 40px)) !important;
  }
}

@media (max-width: 767px) {
  body.elementor-page .elementor > .e-con.e-con-boxed > .e-con-inner,
  body .elementor-location-header > .e-con.e-con-boxed > .e-con-inner,
  body .elementor-location-footer > .e-con.e-con-boxed > .e-con-inner,
  body [data-elementor-type="wp-page"] > .e-con.e-con-boxed > .e-con-inner,
  body [data-elementor-type="wp-post"] > .e-con.e-con-boxed > .e-con-inner,
  body [data-elementor-type="section"] > .e-con.e-con-boxed > .e-con-inner,
  body [data-elementor-type="container"] > .e-con.e-con-boxed > .e-con-inner,
  body [data-elementor-type="header"] > .e-con.e-con-boxed > .e-con-inner,
  body [data-elementor-type="footer"] > .e-con.e-con-boxed > .e-con-inner,
  body .elementor .elementor > .e-con.e-con-boxed > .e-con-inner {
    /* Keep ~20px side gutters on mobile (was 100% = edge-flush content) */
    max-width: min(100%, calc(100% - 40px)) !important;
  }
}

body.elementor-page,
body.elementor-template-full-width,
html {
  overflow-x: clip;
}

/* --- Exceptions: home hero stays full-bleed (header/footer are boxed) --- */
/* Footer tablet: equal vertical padding */
@media (max-width: 1024px) and (min-width: 768px) {
  body .elementor-98 .elementor-element-9485d46,
  body [data-elementor-type="footer"] .elementor-element-9485d46 {
    --padding-top: 80px !important;
    --padding-bottom: 80px !important;
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
}
/* Header/footer boxed — exceptions removed */
body .elementor-element-3083f69,
body .elementor-element-3083f69 > .e-con-inner,
body .elementor-element-3083f69 .ghs-slider,
body .ghs-slider {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Marquee strip — full-bleed (not boxed) */
body .elementor-element-1b61d8e,
body .elementor-element-1b61d8e > .e-con-inner,
body .elementor-element-1b61d8e .gp-marquee,
body .gp-marquee {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Footer/header use sitewide boxed-inner rules (1230 / 100%-40px) */
body .elementor-element-3083f69 > .e-con-inner {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* --- Template embeds: parent inner must not box nested full-bleed sections --- */
/* Structure: page container > e-con-inner > template widget > nested .elementor > colored section */
body .e-con-boxed.e-parent:has(> .e-con-inner > .elementor-widget-template) > .e-con-inner,
body .e-con-boxed.e-parent:has(> .e-con-inner > .elementor-element.elementor-widget-template) > .e-con-inner,
body .e-con-boxed.e-parent:has(> .e-con-inner > .elementor-element > .elementor-widget-template) > .e-con-inner {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Nested template document root spans its (now full) parent */
body .elementor-widget-template .elementor,
body .elementor-template,
body .elementor-widget-template .elementor > .e-con.e-parent,
body .elementor-widget-template .elementor > .e-con.e-con-boxed {
  max-width: 100% !important;
  width: 100% !important;
  --width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Nested template sections: shell full-bleed, content stays boxed via e-con-inner rules above */
body .elementor-widget-template .elementor > .e-con.e-con-boxed > .e-con-inner {
  max-width: min(1230px, calc(100% - 42px)) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 1280px) {
  body .elementor-widget-template .elementor > .e-con.e-con-boxed > .e-con-inner {
    max-width: min(100%, calc(100% - 40px)) !important;
  }
}

@media (max-width: 767px) {
  body .elementor-widget-template .elementor > .e-con.e-con-boxed > .e-con-inner {
    max-width: min(100%, calc(100% - 40px)) !important;
  }
}

.hover1{
     text-decoration:none;
     position:relative;
     display: inline-block;
}
 .hover1::after {
     content: '';
     position: absolute;
     width: 100%;
     transform: scaleX(0);
     border-radius: 5px;
     height: 2px;
     bottom: 0;
     left: 0;
     background: #fff;
     transform-origin: bottom right;
    /* transition: transform 0.25s ease-out;
     */
     transition: transform 0.7s cubic-bezier(1, 0, 0, 1);
}
 .hover1:hover::after {
     transform: scaleX(1);
     transform-origin: bottom left;
}
/*Heading Special mark*/
 i.s-mark{
     color: #702f8a;
}
 i.s-mark2{
     color: #C5A028;
}
/* Bottom Cart Button */
 button.fct-cart-drawer-open-btn {
     border-radius: 8px;
     padding: 0px;
}
 button.fct-cart-drawer-open-btn:hover {
     background: #823f9c;
}
 button.fct-cart-drawer-close-button:hover {
     background: transparent;
     color: #333;
}
 button.fct-cart-drawer-open-btn svg{
     color: #fff;
}
 button.fct-cart-drawer-open-btn {
     width: 52px;
     height: 52px;
     background: #c5a028;
     bottom:90px;
}
 button.fct-cart-drawer-open-btn:hover {
     background: #dfbb48;
}
 .fct-cart-drawer-footer-actions a.checkout-button {
     background-color: #702f8a;
}
 .fct-cart-drawer-footer-actions a.checkout-button:hover {
     background-color: #8830AB;
}
 .fct_customer_profile_wrap {
     max-width: 1400px !important;
}
 section#tribe-events-pg-template {
     max-width: 100%;
     padding: 0;
}
/* Events Calendar spacing only — preserve plugin and site styling */
 .tribe-events .tribe-events-l-container {
     max-width: 1200px;
     padding: clamp(24px, 5vw, 64px) clamp(16px, 4vw, 48px) !important;
}
 .tribe-events .tribe-events-header {
     margin-bottom: 24px !important;
}
 .tribe-events .tribe-events-calendar-list__event-row, .tribe-events .tribe-events-calendar-day__event {
     margin-bottom: 28px !important;
}
 .tribe-events .tribe-events-calendar-month {
     margin-top: 24px !important;
}
 .tribe-events .tribe-events-c-nav {
     margin-top: 28px !important;
}
 @media (max-width: 767px) {
     .tribe-events .tribe-events-l-container {
         padding: 20px 14px 36px !important;
    }
     .tribe-events .tribe-events-header {
         margin-bottom: 18px !important;
    }
     .tribe-events .tribe-events-calendar-list__event-row, .tribe-events .tribe-events-calendar-day__event {
         margin-bottom: 22px !important;
    }
     .tribe-events .tribe-events-calendar-month {
         margin-top: 18px !important;
    }
}
/* Gamma Pi Events: retain plugin defaults;
 replace blue accents only */
 .tribe-events, .tribe-common {
     --tec-color-accent-primary: #702f8a;
     --tec-color-accent-primary-hover: #8830ab;
}
 .tribe-events .tribe-events-c-search__button, .tribe-events .tribe-events-c-search__button:hover, .tribe-events .tribe-events-c-search__button:focus, .tribe-events .tribe-events-c-subscribe-dropdown__button, .tribe-events .tribe-events-c-subscribe-dropdown__button:hover, .tribe-events .tribe-events-c-subscribe-dropdown__button:focus {
     background-color: #702f8a !important;
     border-color: #702f8a !important;
     color: #fff !important;
}
 .tribe-events a:focus-visible, .tribe-events button:focus-visible {
     outline-color: #702f8a !important;
}
/* Hide Glass Hero Slider metadata */
 .ghs-slider__meta {
     display: none !important;
}
/* ========================================================= Gamma Pi — Responsive overflow / gutter stabilization Added via Customizer Additional CSS (maintainable) ========================================================= */
/* Hero slider: contain ken-burns scale so it cannot widen the page */
 .ghs-slider, .ghs-slider__media {
     overflow: hidden;
     max-width: 100%;
}
 @media (max-width: 767px) {
     .ghs-slider__image, .ghs-slider__image.is-active, .ghs-slider__image.is-leaving {
         transform: none !important;
    }
}
/* Marquee track is intentionally wider than the viewport — clip it */
 .gp-marquee {
     overflow: hidden !important;
     max-width: 100%;
     width: 100%;
     contain: paint;
}
 .elementor-widget-html:has(.gp-marquee), .elementor-element:has(.gp-marquee) {
     overflow: hidden;
     max-width: 100%;
}
/* Stats cards: stack early so labels remain readable at 320px */
 @media (max-width: 479px) {
     .ghs-stats-grid {
         grid-template-columns: 1fr !important;
    }
}
/* Flex/grid children must be allowed to shrink */
 .e-con, .e-con-inner, .elementor-widget-container, .ghs-slider__inner, .ghs-copy, .ghs-stats {
     min-width: 0;
}
 img, svg, video, iframe {
     max-width: 100%;
     height: auto;
}
 iframe {
     height: auto;
}
/* The Events Calendar list — prevent row/details from forcing page scroll */
 @media (max-width: 767px) {
     .tribe-events .tribe-events-l-container, .tribe-events-calendar-list, .tribe-events-calendar-list__event, .tribe-events-calendar-list__event-row, .tribe-events-calendar-list__event-details, .tribe-events-header {
         max-width: 100%;
         min-width: 0 !important;
    }
     .tribe-events .tribe-common-g-row, .tribe-events .tribe-common-g-col {
         min-width: 0 !important;
    }
     .tribe-events-calendar-list__event-title, .tribe-events-calendar-list__event-description, .tribe-events-calendar-list__event-datetime {
         overflow-wrap: anywhere;
         word-break: break-word;
    }
}
/* Final defensive clip: marquee transform still contributes to scrollWidth in WebKit */
 .elementor-location-header, .elementor-page-391, .elementor-391, body.elementor-page-391 {
     overflow-x: clip;
}
 .gp-marquee, .elementor-widget-html:has(.gp-marquee), .elementor-element:has(.gp-marquee), .e-con:has(.gp-marquee), .e-con-inner:has(.gp-marquee) {
     overflow: hidden !important;
     overflow-x: clip !important;
     max-width: 100% !important;
}
 .gp-marquee-track {
     will-change: transform;
}

/* Events calendar header: keep title/actions inside viewport */
 @media (max-width: 767px) {
     .tribe-events .tribe-events-header, .tribe-events-header {
         max-width: 100% !important;
         width: 100% !important;
         margin-left: 0 !important;
         left: auto !important;
         overflow: hidden;
         box-sizing: border-box;
    }
     .tribe-events-header__content-title {
         max-width: calc(100% - 88px);
         padding-right: 8px;
         overflow-wrap: anywhere;
    }
}
/* Torch Nav Menu (mobile): keep off-canvas panel inside viewport */
 @media (max-width: 1024px) {
     .tnm-menu-wrap, .tnm-nav .tnm-menu-wrap, #tnm-menu-1f6085d {
         max-width: 100vw !important;
         width: 100% !important;
         left: 0 !important;
         right: 0 !important;
         box-sizing: border-box;
         overflow-x: hidden;
    }
     .tnm-menu-wrap .tnm-menu {
         max-width: 100%;
         box-sizing: border-box;
    }
}

/* Loop cards — no boxed-inner shrink (lineage etc.) */
body .e-loop-item .e-con-boxed > .e-con-inner,
body .elementor-2585 .e-con-boxed > .e-con-inner,
body .elementor-element-08327ec > .e-con-inner,
body .elementor-element-08327ec.e-con-full > .e-con-inner {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body .elementor-grid .e-loop-item,
body .elementor-grid .e-loop-item > .elementor {
  height: 100%;
}

/* Lineage cards — equal height boxes + styled name scrollbar (conflict-free) */
body .elementor-grid .e-loop-item,
body .elementor-grid .e-loop-item > .elementor,
body.page-id-4224 .elementor-element-08327ec,
body.page-id-4224 .e-loop-item .elementor-element-08327ec,
body .elementor-2585 .elementor-element-08327ec {
  height: 100% !important;
  max-height: none !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: visible !important;
}
body .elementor-element-439db4e,
body .elementor-2585 .elementor-element-439db4e,
body .e-loop-item .elementor-element-439db4e {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
body.page-id-4224 .elementor-2585 .elementor-element.elementor-element-e26a185,
body .elementor-2585 .elementor-element.elementor-element-e26a185,
body .e-loop-item .elementor-element.elementor-element-e26a185,
body .elementor-element.elementor-element-e26a185 {
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 60px !important;
  max-height: 240px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  padding-right: 8px !important;
  scrollbar-width: thin;
  scrollbar-color: #d8b23d #2a1840;
}
body.page-id-4224 .elementor-element-e26a185 p:empty,
body.page-id-4224 .elementor-element-e26a185 .wp-block-paragraph:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.page-id-4224 .elementor-2585 .elementor-element.elementor-element-e26a185::-webkit-scrollbar,
body .elementor-2585 .elementor-element.elementor-element-e26a185::-webkit-scrollbar,
body .e-loop-item .elementor-element.elementor-element-e26a185::-webkit-scrollbar,
body .elementor-element.elementor-element-e26a185::-webkit-scrollbar {
  width: 8px;
}
body.page-id-4224 .elementor-2585 .elementor-element.elementor-element-e26a185::-webkit-scrollbar-track,
body .elementor-2585 .elementor-element.elementor-element-e26a185::-webkit-scrollbar-track,
body .e-loop-item .elementor-element.elementor-element-e26a185::-webkit-scrollbar-track,
body .elementor-element.elementor-element-e26a185::-webkit-scrollbar-track {
  background: #2a1840;
  border-radius: 999px;
}
body.page-id-4224 .elementor-2585 .elementor-element.elementor-element-e26a185::-webkit-scrollbar-thumb,
body .elementor-2585 .elementor-element.elementor-element-e26a185::-webkit-scrollbar-thumb,
body .e-loop-item .elementor-element.elementor-element-e26a185::-webkit-scrollbar-thumb,
body .elementor-element.elementor-element-e26a185::-webkit-scrollbar-thumb {
  background: #d8b23d;
  border-radius: 999px;
  border: 2px solid #2a1840;
}
body.page-id-4224 .elementor-2585 .elementor-element.elementor-element-e26a185::-webkit-scrollbar-thumb:hover,
body .elementor-2585 .elementor-element.elementor-element-e26a185::-webkit-scrollbar-thumb:hover,
body .e-loop-item .elementor-element.elementor-element-e26a185::-webkit-scrollbar-thumb:hover,
body .elementor-element.elementor-element-e26a185::-webkit-scrollbar-thumb:hover {
  background: #c49a2a;
}

/* Lineage responsive (tablet & mobile) — prevent excessive vertical scrolling */
@media (min-width: 768px) and (max-width: 1024px) {
  body.page-id-4224 .elementor-element-1646ab0 {
    padding: 30px 16px !important;
  }
  body.page-id-4224 .elementor-element-1646ab0 .e-con-inner {
    padding: 10px 0 20px !important;
    margin: 0 auto !important;
    max-width: 100% !important;
  }
  body.page-id-4224 .elementor-loop-container {
    gap: 20px 16px !important;
  }
  body.page-id-4224 .elementor-element-08327ec,
  body.page-id-4224 .e-loop-item .elementor-element-08327ec,
  body .elementor-2585 .elementor-element-08327ec {
    padding: 20px 18px 24px !important;
    border-radius: 14px !important;
    height: auto !important;
    min-height: auto !important;
  }
  body.page-id-4224 .elementor-element-329677b img {
    height: 200px !important;
    max-height: 200px !important;
  }
  body.page-id-4224 .elementor-element-e26a185 {
    max-height: 200px !important;
  }
}

@media (max-width: 767px) {
  body.page-id-4224 .elementor-element-1646ab0 {
    padding: 16px 8px !important;
  }
  body.page-id-4224 .elementor-element-1646ab0 .e-con-inner {
    padding: 6px 0 16px !important;
    margin: 0 auto !important;
    max-width: 100% !important;
  }
  body.page-id-4224 .elementor-loop-container {
    grid-template-columns: repeat(2, minmax(0px, 1fr)) !important;
    gap: 12px 10px !important;
    grid-auto-rows: auto !important;
  }
  body.page-id-4224 .elementor-grid .e-loop-item,
  body.page-id-4224 .elementor-grid .e-loop-item > .elementor {
    height: 100% !important;
  }
  body.page-id-4224 .elementor-element-08327ec,
  body.page-id-4224 .e-loop-item .elementor-element-08327ec,
  body .elementor-2585 .elementor-element-08327ec {
    padding: 10px 10px 14px !important;
    border-radius: 12px !important;
    height: auto !important;
    min-height: auto !important;
  }
  body.page-id-4224 .elementor-element-329677b img {
    height: 110px !important;
    max-height: 110px !important;
    border-radius: 8px !important;
  }
  body.page-id-4224 .elementor-heading-title {
    font-size: 0.88rem !important;
    line-height: 1.25 !important;
    margin-bottom: 6px !important;
  }
  body.page-id-4224 .elementor-element-e26a185 {
    max-height: 140px !important;
    min-height: 40px !important;
    font-size: 0.76rem !important;
    line-height: 1.35 !important;
    padding-right: 4px !important;
  }
  body.page-id-4224 .elementor-element-e26a185 ul {
    margin: 0 !important;
    padding-left: 14px !important;
  }
  body.page-id-4224 .elementor-element-e26a185 li {
    margin-bottom: 2px !important;
  }
  body.page-id-4224 .elementor-element-e26a185 p:empty,
  body.page-id-4224 .elementor-element-e26a185 .wp-block-paragraph:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* Chapter spotlight nav icons — always visible
   Customizer "img, svg { max-width:100%; height:auto }" collapses chevron
   SVGs to ~4px (looks like a white dot). Force explicit icon size. */
body .chapter-spotlight__nav-button svg,
body .chapter-spotlight__thumb-nav .chapter-spotlight__nav-button svg,
body .chapter-spotlight__thumb-nav-button svg {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  max-width: none !important;
  max-height: none !important;
  flex: 0 0 22px !important;
  display: block !important;
  overflow: visible !important;
  stroke: currentColor !important;
}
body .chapter-spotlight__thumb-nav .chapter-spotlight__nav-button svg,
body .chapter-spotlight__thumb-nav-button svg {
  width: var(--chapter-thumb-nav-icon-size, 18px) !important;
  height: var(--chapter-thumb-nav-icon-size, 18px) !important;
  min-width: var(--chapter-thumb-nav-icon-size, 18px) !important;
  min-height: var(--chapter-thumb-nav-icon-size, 18px) !important;
  flex: 0 0 var(--chapter-thumb-nav-icon-size, 18px) !important;
}
body .chapter-spotlight__video-shell > .chapter-spotlight__nav-button svg {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  min-height: 26px !important;
  flex: 0 0 26px !important;
  stroke-width: 2.6 !important;
}

/* Header: balanced logo + nav */
/* Header: crisp vector logo */
.elementor-3721 .elementor-element-57167c8 .gpi-header-logo,
.elementor-3721 .elementor-element-57167c8 .gpi-header-logo svg {
  display: block;
  width: 172px !important;
  max-width: 100% !important;
  height: auto !important;
}
.elementor-3721 .elementor-element-57167c8 img {
  width: 172px !important;
  max-width: none !important;
  height: auto !important;
}
.elementor-3721 .elementor-element-2c01f74 {
  width: auto !important;
  max-width: 190px !important;
  flex: 0 0 auto !important;
  padding-left: 0 !important;
  padding-right: 16px !important;
}
.elementor-3721 .elementor-element-94103a5 {
  width: auto !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding-right: 0 !important;
  display: flex !important;
  align-items: center !important;
}
.elementor-3721 .elementor-element-0b5fc9b {
  width: auto !important;
  flex: 0 0 auto !important;
  padding-left: 18px !important;
  padding-right: 0 !important;
  display: flex !important;
  align-items: center !important;
}
.elementor-3721 .elementor-element-08e4831,
.elementor-3721 .elementor-element-08e4831 .elementor-widget-container {
  width: 100% !important;
}
.elementor-3721 .elementor-element-08e4831 .tnm-menu {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 14px !important;
}
.elementor-3721 .elementor-element-08e4831 .tnm-menu > li {
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-3721 .elementor-element-08e4831 .tnm-menu > li > a,
.elementor-3721 .elementor-element-08e4831 .tnm-nav .tnm-menu > li > a,
.elementor-3721 .elementor-element-08e4831 a {
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 0 !important;
  margin: 0 !important;
}
.elementor-3721 .elementor-element-08e4831 .tnm-menu > li > a .tnm-submenu-indicator,
.elementor-3721 .elementor-element-08e4831 .tnm-menu > li > a i,
.elementor-3721 .elementor-element-08e4831 .tnm-menu > li > a svg,
.elementor-3721 .elementor-element-08e4831 .tnm-menu > li > a .sub-arrow {
  margin: 0 !important;
  padding: 0 !important;
  width: 11px !important;
  min-width: 11px !important;
  font-size: 11px !important;
}
.elementor-3721 .elementor-element-d8c2409 .elementor-icon-list-items {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 18px !important;
}
.elementor-3721 .elementor-element-d8c2409 .elementor-icon-list-item {
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-3721 .elementor-element-d8c2409 .elementor-icon-list-icon {
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-3721 .elementor-element-d8c2409 .elementor-icon-list-icon i,
.elementor-3721 .elementor-element-d8c2409 .elementor-icon-list-icon svg {
  font-size: 18px !important;
  width: 18px !important;
  height: 18px !important;
}
@media (max-width: 1200px) {
  .elementor-3721 .elementor-element-57167c8 img { width: 164px !important; }
  .elementor-3721 .elementor-element-08e4831 .tnm-menu { gap: 12px !important; }
  .elementor-3721 .elementor-element-08e4831 .tnm-menu > li > a,
  .elementor-3721 .elementor-element-08e4831 a { font-size: 14px !important; }
}
@media (max-width: 1024px) {
  .elementor-3721 .elementor-element-57167c8 img { width: 150px !important; }
  .elementor-3721 .elementor-element-08e4831 .tnm-menu { gap: 10px !important; }
  .elementor-3721 .elementor-element-08e4831 .tnm-menu > li > a,
  .elementor-3721 .elementor-element-08e4831 a { font-size: 13px !important; }
}
@media (max-width: 767px) {
  .elementor-3721 .elementor-element-57167c8 img { width: 132px !important; }
}

/* Mailing section outer bg: cream instead of white */
.elementor-935 .elementor-element-bb5933b {
  background-color: #F8F6F2 !important;
}
.elementor-935 .elementor-element-bb5933b::before {
  background-color: transparent !important;
  background-image: linear-gradient(186deg, #F8F6F2 0%, #C5A028 100%) !important;
}
.elementor-935 .elementor-element-44702df {
  background-color: #F8F6F2 !important;
}

/* Mailing list layout: wider columns + cream panel */
.elementor-935 .elementor-element-bb5933b > .e-con-inner {
  max-width: min(1230px, calc(100% - 42px)) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
}
.elementor-935 .elementor-element-076b052 {
  width: 40% !important;
  max-width: 40% !important;
  flex: 0 0 40% !important;
  min-width: 0 !important;
}
.elementor-935 .elementor-element-076b052 img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.elementor-935 .elementor-element-44702df {
  width: 60% !important;
  max-width: 60% !important;
  flex: 0 0 60% !important;
  background-color: #F8F6F2 !important;
  background-image: none !important;
  border-radius: 0 16px 16px 0 !important;
  box-shadow: none !important;
  padding: 40px !important;
}
.elementor-935 .elementor-element-cade024,
.elementor-935 .elementor-element-cade024 .elementor-form,
.elementor-935 .elementor-element-cade024 .elementor-form-fields-wrapper {
  width: 100% !important;
  max-width: 100% !important;
}
.elementor-935 .elementor-element-cade024 .elementor-form-fields-wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 12px !important;
}
.elementor-935 .elementor-element-cade024 .elementor-field-type-email,
.elementor-935 .elementor-element-cade024 .elementor-field-group.elementor-column:not(.elementor-field-type-submit) {
  width: auto !important;
  flex: 1 1 auto !important;
  max-width: none !important;
  min-width: 0 !important;
}
.elementor-935 .elementor-element-cade024 .elementor-field-type-email .elementor-field,
.elementor-935 .elementor-element-cade024 input[type="email"] {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}
.elementor-935 .elementor-element-cade024 .elementor-field-type-submit {
  width: auto !important;
  flex: 0 0 auto !important;
}
.elementor-935 .elementor-element-7f9d7c7 {
  width: 100% !important;
  max-width: 100% !important;
}
.elementor-935 .elementor-element-7f7cda3,
.elementor-935 .elementor-element-12ba416,
.elementor-935 .elementor-element-a908916,
.elementor-935 .elementor-element-da0b34e {
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.elementor-935 .elementor-element-5ff3fac,
.elementor-935 .elementor-element-eca5120,
.elementor-935 .elementor-element-2a52465,
.elementor-935 .elementor-element-2a6a9ea,
.elementor-935 .elementor-element-5ff3fac .elementor-icon-wrapper,
.elementor-935 .elementor-element-eca5120 .elementor-icon-wrapper,
.elementor-935 .elementor-element-2a52465 .elementor-icon-wrapper,
.elementor-935 .elementor-element-2a6a9ea .elementor-icon-wrapper {
  text-align: center !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
}
.elementor-935 .elementor-element-7f9d7c7 .elementor-widget-heading,
.elementor-935 .elementor-element-7f9d7c7 .elementor-heading-title {
  text-align: center !important;
  width: 100% !important;
}
@media (max-width: 1024px) {
  .elementor-935 .elementor-element-bb5933b > .e-con-inner {
    flex-wrap: wrap !important;
  }
  .elementor-935 .elementor-element-076b052,
  .elementor-935 .elementor-element-44702df {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
  .elementor-935 .elementor-element-44702df {
    border-radius: 0 0 16px 16px !important;
  }
}

/* Membership page content padding */
.elementor-4540 .elementor-element-6c489c1 {
  --padding-top: 80px !important;
  --padding-bottom: 80px !important;
}
.elementor-4540 .elementor-element-6c489c1 > .e-con-inner {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
  gap: 40px !important;
}
.elementor-4540 .elementor-element-e02c620 {
  padding: 48px !important;
}
.elementor-4540 .elementor-element-64feb85 {
  padding: 24px 20px 24px 40px !important;
}
@media (max-width: 1024px) {
  .elementor-4540 .elementor-element-6c489c1 > .e-con-inner {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
    gap: 24px !important;
  }
  .elementor-4540 .elementor-element-e02c620 {
    padding: 32px 24px !important;
  }
  .elementor-4540 .elementor-element-64feb85 {
    padding: 24px 20px !important;
  }
}
@media (max-width: 767px) {
  .elementor-4540 .elementor-element-e02c620 {
    padding: 24px 20px !important;
  }
  .elementor-4540 .elementor-element-64feb85 {
    padding: 16px 0 !important;
  }
}

/* Equal page-hero top spacing (below fixed header) */
body:not(.home) .elementor[data-elementor-type="wp-page"] > .e-con.e-parent:first-child > .e-con-inner {
  padding-top: 200px !important;
}
@media (max-width: 1024px) {
  body:not(.home) .elementor[data-elementor-type="wp-page"] > .e-con.e-parent:first-child > .e-con-inner {
    padding-top: 160px !important;
  }
}
@media (max-width: 767px) {
  body:not(.home) .elementor[data-elementor-type="wp-page"] > .e-con.e-parent:first-child > .e-con-inner {
    padding-top: 120px !important;
  }
}

/* Leadership page — uniform card sizing, equal dimensions & aligned portraits */
.elementor-1144 .oce-grid {
  grid-auto-rows: 1fr !important;
}
.elementor-1144 .oce-card {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
.elementor-1144 .oce-card__portrait {
  height: 330px !important;
  overflow: hidden !important;
}
.elementor-1144 .oce-card__portrait img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
}
.elementor-1144 .oce-card__body {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}

/* Leadership responsive (tablet & mobile) — prevent excessive vertical scrolling */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-1144 .elementor-element-206ec80 .e-con-inner {
    padding: 40px 16px !important;
  }
  .elementor-1144 .oce-grid {
    grid-template-columns: repeat(2, minmax(0px, 1fr)) !important;
    gap: 20px 16px !important;
    grid-auto-rows: 1fr !important;
  }
  .elementor-1144 .oce-card__portrait {
    height: 260px !important;
  }
  .elementor-1144 .oce-card__body {
    padding: 18px 16px 20px !important;
  }
}

@media (max-width: 767px) {
  .elementor-1144 .elementor-element-206ec80 .e-con-inner {
    padding: 24px 10px !important;
  }
  .elementor-1144 .oce-grid {
    grid-template-columns: repeat(2, minmax(0px, 1fr)) !important;
    gap: 12px 10px !important;
    grid-auto-rows: 1fr !important;
  }
  .elementor-1144 .oce-card {
    border-radius: 16px !important;
  }
  .elementor-1144 .oce-card__portrait {
    height: 180px !important;
    border-radius: 16px 16px 0 0 !important;
  }
  .elementor-1144 .oce-card__body {
    padding: 12px 10px 14px !important;
  }
  .elementor-1144 .oce-card__name {
    font-size: 0.95rem !important;
    line-height: 1.2 !important;
    margin-bottom: 4px !important;
  }
  .elementor-1144 .oce-card__divider {
    margin: 8px 0 !important;
  }
  .elementor-1144 .oce-card__role {
    font-size: 0.68rem !important;
    letter-spacing: 0.06em !important;
    line-height: 1.25 !important;
  }
  .elementor-1144 .oce-card__actions {
    display: flex !important;
    flex-direction: row !important;
    gap: 6px !important;
    margin-top: auto !important;
    padding-top: 10px !important;
  }
  .elementor-1144 .oce-card__button {
    flex: 1 1 0px !important;
    min-height: 34px !important;
    padding: 5px 6px !important;
    font-size: 0.72rem !important;
    gap: 4px !important;
    border-radius: 8px !important;
  }
  .elementor-1144 .oce-card__button svg {
    width: 14px !important;
    height: 14px !important;
  }
}


/* Gamma Pi mobile card density: keep content readable without desktop spacing. */
@media (max-width: 767px) {
  body.home .elementor-element-42fb2fa {
    gap: 12px !important;
  }
  body.home .elementor-element-7702f1d,
  body.home .elementor-element-bb6080c,
  body.home .elementor-element-d9dca25,
  body.home .elementor-element-0bc5dc9 {
    padding: 14px 16px !important;
  }
  body.home .elementor-element-6467650 {
    gap: 16px !important;
  }
  body.home .elementor-element-370b5a7,
  body.home .elementor-element-5fa9094,
  body.home .elementor-element-d1bbb47 {
    padding: 20px !important;
  }
  body.page-id-2656 .elementor-element-2755341 {
    margin: 8px 0 !important;
  }
  body.page-id-2656 .elementor-element-2755341 .elementor-blockquote {
    padding: 18px !important;
  }
  body.page-id-2656 .elementor-element-2755341 .elementor-blockquote__content {
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
}

/* Center Gamma Pi fundraising posters without changing the two-column layout */
body.page-id-4464 .elementor-element-22b3bdb,
body.page-id-4464 .elementor-element-64bf725 {
  display: flex;
  justify-content: center;
}

body.page-id-4464 .elementor-element-22b3bdb img,
body.page-id-4464 .elementor-element-64bf725 img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto !important;
  margin-inline: auto;
  object-fit: contain !important;
}
/* Center Gamma Pi fundraising posters without changing the two-column layout */body.page-id-4464 .elementor-element-22b3bdb,body.page-id-4464 .elementor-element-64bf725 {  display: flex;  justify-content: center;}body.page-id-4464 .elementor-element-22b3bdb img,body.page-id-4464 .elementor-element-64bf725 img {  display: block;  width: auto;  max-width: 100%;  height: auto !important;  margin-inline: auto;  object-fit: contain !important;}



/* Compact mobile navigation toggle */
@media (max-width: 1200px) {
  .elementor-element-1f6085d .tnm-toggle.hamburger {
    width: auto;
    min-width: 0;
    padding: 8px !important;
    border-radius: 8px !important;
    --tnm-toggle-line-width: 30px;
    --tnm-toggle-line-height: 3px;
    --tnm-toggle-line-gap: 6px;
  }
}
