.elementor-251192 .elementor-element.elementor-element-7ac3d67{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-251192 .elementor-element.elementor-element-6e90b9b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-251192 .elementor-element.elementor-element-45cd175{--display:flex;}.elementor-251192 .elementor-element.elementor-element-5251694{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-251192 .elementor-element.elementor-element-5bcc323.elementor-element{--align-self:flex-start;}.elementor-251192 .elementor-element.elementor-element-14d65b0.elementor-element{--align-self:flex-start;}.elementor-251192 .elementor-element.elementor-element-d20c9c0{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-251192 .elementor-element.elementor-element-d20c9c0.e-con{--align-self:flex-end;}.elementor-251192 .elementor-element.elementor-element-8b54499 .elementor-button{background-color:var( --e-global-color-accent );font-size:18px;fill:#FFFFFF;color:#FFFFFF;}.elementor-251192 .elementor-element.elementor-element-8b54499.elementor-element{--align-self:flex-start;}.elementor-251192 .elementor-element.elementor-element-24e3874 > .elementor-widget-container{padding:45px 0px 0px 0px;}.elementor-251192 .elementor-element.elementor-element-24e3874.elementor-element{--align-self:flex-start;}.elementor-251192 .elementor-element.elementor-element-76c3dd5.elementor-element{--align-self:flex-start;}.elementor-251192 .elementor-element.elementor-element-a82e90f.elementor-element{--align-self:flex-start;}.elementor-251192 .elementor-element.elementor-element-a82e90f .elementor-button{font-size:18px;}.elementor-251192 .elementor-element.elementor-element-a1240b5{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-251192 .elementor-element.elementor-element-a1240b5 > .elementor-widget-container{padding:0px 0px 0px 0px;border-style:none;}.elementor-251192 .elementor-element.elementor-element-a8fb3e7{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:30px 40px;--row-gap:30px;--column-gap:40px;--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-251192 .elementor-element.elementor-element-43668ba{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-251192 .elementor-element.elementor-element-2ba142d{width:100%;max-width:100%;}.elementor-251192 .elementor-element.elementor-element-00129d9{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-251192 .elementor-element.elementor-element-840050b.elementor-element{--align-self:flex-start;}.elementor-251192 .elementor-element.elementor-element-976c8c0.elementor-element{--align-self:flex-start;}.elementor-251192 .elementor-element.elementor-element-540346b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-251192 .elementor-element.elementor-element-540346b.e-con{--align-self:flex-end;}.elementor-251192 .elementor-element.elementor-element-74fbb46 .elementor-button{background-color:var( --e-global-color-accent );font-size:18px;fill:#FFFFFF;color:#FFFFFF;}.elementor-251192 .elementor-element.elementor-element-74fbb46.elementor-element{--align-self:flex-start;}.elementor-251192 .elementor-element.elementor-element-359cb5d{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-251192 .elementor-element.elementor-element-359cb5d .elementor-divider-separator{width:50%;margin:0 auto;margin-center:0;}.elementor-251192 .elementor-element.elementor-element-359cb5d .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}.elementor-251192 .elementor-element.elementor-element-359cb5d .elementor-divider__text{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-251192 .elementor-element.elementor-element-e1e5fb9{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-251192 .elementor-element.elementor-element-e1e5fb9 .elementor-divider-separator{width:50%;margin:0 auto;margin-center:0;}.elementor-251192 .elementor-element.elementor-element-e1e5fb9 .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}.elementor-251192 .elementor-element.elementor-element-6cdb499.elementor-element{--align-self:flex-start;}.elementor-251192 .elementor-element.elementor-element-5cf16ae.elementor-element{--align-self:flex-start;}.elementor-251192 .elementor-element.elementor-element-5d5736d{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-251192 .elementor-element.elementor-element-5d5736d > .elementor-widget-container{padding:0px 0px 0px 0px;border-style:none;}.elementor-251192 .elementor-element.elementor-element-953d4ac.elementor-element{--align-self:flex-start;}.elementor-251192 .elementor-element.elementor-element-953d4ac .elementor-button{font-size:18px;}@media(min-width:1025px){.elementor-251192 .elementor-element.elementor-element-45cd175{--width:35%;}.elementor-251192 .elementor-element.elementor-element-5251694{--width:65%;}.elementor-251192 .elementor-element.elementor-element-43668ba{--width:50%;}.elementor-251192 .elementor-element.elementor-element-00129d9{--width:50%;}}@media(max-width:1025px){.elementor-251192 .elementor-element.elementor-element-6e90b9b{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-251192 .elementor-element.elementor-element-45cd175{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-251192 .elementor-element.elementor-element-5251694{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(max-width:1024px){.elementor-251192 .elementor-element.elementor-element-6e90b9b{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-251192 .elementor-element.elementor-element-45cd175{--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}}/* Start custom CSS for shortcode, class: .elementor-element-3b85a8d *//* Hide the month display header */
.em-events-list-grouped h2 {
  display: none !important;
}

.custom-event-listing {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.event-item {
  display: flex;
  gap: 12px;
  padding: 15px;
  margin: 5px 0;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 6px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.event-item:hover {
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

/* Updated Image Container to take 1/3 of the space */
.event-image {
  position: relative;
  flex: 0 0 33%; 
  max-width: 33%;
}

/* Updated Image to fill the 1/3 space nicely */
.event-image a img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1; /* Keeps images a uniform square. Change to 4/3 for landscape */
  object-fit: cover;
  border-radius: 4px;
  display: block;
}

.fallback-category-image {
  position: absolute;
  top: 0;
  left: 0;
}

.event-image a:first-child img[src*="http"] + .fallback-category-image {
  display: none;
}

.event-content {
  flex: 1;
  font-family: Arial, sans-serif;
  line-height: 1.3;
  display: flex;
  flex-direction: column;
  justify-content: center; /* Vertically centers the text next to the larger image */
}

.event-title-text {
  display: block;
  margin-bottom: 4px;
}

.custom-event-listing a,
.custom-event-listing a:link,
.custom-event-listing a:visited,
.custom-event-listing a:active,
.custom-event-listing .event-title-text a,
.custom-event-listing .event-read-more,
.custom-event-listing .event-content a,
.custom-event-listing .event-image a {
  color: #000 !important;
  text-decoration: none !important;
}

.event-title-text a:hover,
.event-read-more:hover {
  text-decoration: none !important;
  color: #C80000 !important;
}

.event-title-text a {
  font-family: 'Georgia', serif !important;
  font-weight: 1000 !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
}

.event-date-text {
  font-family: 'Georgia', serif !important;
  font-size: 16px !important;
  margin: 0;
  color: #191919 !important;
}

/* New Time Styling */
.event-time-text {
  font-family: 'Georgia', serif !important;
  font-size: 14px !important;
  margin: 2px 0 8px 0;
  color: #555 !important; 
}

.event-read-more {
  font-size: 14px !important;
  font-weight: bold !important;
  display: inline-block;
  margin-top: auto; /* Pushes the read more button to the bottom if text is short */
}

/* Mobile Responsive Styling */
@media (max-width: 768px) {
  .event-item {
    flex-direction: column;
    padding: 12px; /* Slightly tighter padding for mobile */
  }

  .event-image {
    flex: 100%;
    max-width: 100%;
    width: 100%;
  }

  .event-image a img {
    aspect-ratio: 16 / 9; /* Switches to a landscape cut to save vertical space */
    height: auto;
  }

  .event-content {
    justify-content: flex-start;
    padding-top: 5px; 
  }
  
  .event-read-more {
    margin-top: 10px; /* Ensures breathing room below the text */
  }
}

/* Force black color on all pagination links, including visited ones */
.em-pagination a.page-numbers,
.em-pagination a.page-numbers:link,
.em-pagination a.page-numbers:visited,
.em-pagination span.page-numbers {
    font-size: 20px !important; 
    color: #000000 !important; /* Forces black text */
    padding: 10px 15px !important; 
    margin: 0 5px !important; 
    text-decoration: none !important;
    display: inline-block !important;
}

/* Add a subtle background color when hovering over a link */
.em-pagination a.page-numbers:hover,
.em-pagination a.page-numbers:focus {
    background-color: #f0f0f0 !important; 
    color: #000000 !important; /* Keeps it black on hover */
    border-radius: 5px !important;
}

/* Style the 'current' page number so it stands out */
.em-pagination span.page-numbers.current {
    font-weight: bold !important;
    color: #000000 !important; /* Forces black for the active page */
    border-bottom: 3px solid #000000 !important; 
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-a1240b5 *//* ==========================================================
   MAIN CALENDAR EVENT PILLS (COLORS ONLY - GRID SAFE)
   ========================================================== */

.em-calendar .has-event a {
    font-weight: bold;
    color: #FF0000; /* Change to your desired color */
}

.em-calendar .has-event .event-title {
    display: block;
    font-size: 12px;
    color: #000000; /* Change to your desired color */
}

/* Override inline styles for event calendar elements */
.em-cal-event {
    --event-background-color: #C80000 !important; /* New background color */
    --event-border-color: #C80000 !important; /* New border color */
    --event-color: #FFFFFF !important; /* New text color */
}

/* Optional: Further customization for event link styles */
.em-cal-event a {
    color: #FFFFFF !important; /* Ensure event link text is white */
    font-family: 'Fjalla One', sans-serif !important; /* Match font family to buttons */
    font-weight: 900 !important; /* Set font weight to 900 */
}

/* Force default green events to turn red */
.em-event.em-item[style*="#a8d144"] {
    --default-border: #c80000 !important;
}

/* ==========================================================
   CALENDAR NAVIGATION & DATES
   ========================================================== */

/* 1. Style the 'Today' button in the top navigation */
.em-calendar .em-cal-nav .em-calnav-today {
    background-color: #C80000 !important;
    color: #FFFFFF !important;
    border: 1px solid #C80000 !important;
    font-weight: bold !important;
    border-radius: 4px;
    padding: 5px 15px;
    transition: all 0.2s ease;
}

/* Add a slightly darker red hover effect for the button */
.em-calendar .em-cal-nav .em-calnav-today:hover {
    background-color: #990000 !important; 
    border-color: #990000 !important;
    color: #FFFFFF !important;
}

/* Highlight the current day's date number in the calendar grid */
.em-calendar .em-cal-day[class*="-today"] .em-cal-day-date span {
    background-color: #C80000 !important;
    color: #FFFFFF !important;
    border-radius: 50%; 
    display: inline-block;
    width: 28px;
    height: 28px;
    line-height: 28px;
    text-align: center;
    font-weight: bold;
}

/* Fix invisible standard date numbers in the calendar grid */
.em-calendar .em-cal-day .em-cal-day-date span {
    color: #333333; /* Dark grey so it shows up on the white background */
    font-weight: bold;
}


/* ==========================================================
   MOBILE RESPONSIVE STYLING FOR LARGE CALENDAR
   ========================================================== */
@media (max-width: 768px) {
    .em-calendar.size-large {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 15px; 
    }
    
    .em-calendar.size-large .em-cal-head, 
    .em-calendar.size-large .em-cal-body {
        min-width: 700px; 
    }
    
    .em-calendar.size-large .em-cal-day-date {
        font-size: 14px;
    }
}

/* ==========================================================
   EVENT CALENDAR MODAL (POP-UP) STYLING
   ========================================================== */

/* The dark background overlay */
.em-modal {
    background: rgba(0, 0, 0, 0.6) !important; 
}

/* The actual pop-up box */
.em-modal-popup {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    max-width: 600px;
    width: 90%;
    margin: auto;
    overflow: hidden;
    font-family: Arial, sans-serif;
}

/* --- Revised Modal Header (Light Background) --- */
.em-modal-popup header {
    background: #f8f8f8 !important; /* Very light grey background */
    border-bottom: 1px solid #e0e0e0; /* Subtle line separating header from content */
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Let the title stay dark, but ensure it uses the right font */
html body .em-view-container .em-modal-popup header .em-modal-title,
html body .em-view-container .em-modal-popup header .em-modal-title a,
html body .em-view-container .em-modal-popup header .em-modal-title a:link,
html body .em-view-container .em-modal-popup header .em-modal-title a:visited {
    font-family: 'Georgia', serif !important;
    font-size: 20px !important;
    font-weight: bold !important;
    color: #191919 !important; /* Dark color so it contrasts with the light grey */
    text-decoration: none !important;
    margin: 0;
}

/* Change the "X" Close Button to Red so it stands out */
html body .em-view-container .em-modal-popup header .em-close-modal {
    color: #C80000 !important; 
    cursor: pointer;
    font-size: 28px;
    line-height: 1;
}

html body .em-view-container .em-modal-popup header .em-close-modal:hover {
    color: #990000 !important; /* Darker red on hover */
}

/* Inside the Modal */
.em-modal-content {
    padding: 20px;
}

/* Event Item Layout inside Modal */
.em-modal-content .em-item {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eeeeee;
}

/* Remove border from the last event if there are multiple on one day */
.em-modal-content .em-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Modal Image */
.em-modal-content .em-item-image img {
    border-radius: 6px;
    object-fit: cover;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* Modal Event Title */
.em-modal-content .em-item-name a {
    font-family: 'Georgia', serif !important;
    font-size: 22px !important;
    font-weight: bold;
    color: #C80000 !important;
    text-decoration: none !important;
    display: block;
    margin-bottom: 10px;
    line-height: 1.2;
}

/* Date/Time/Location text */
.em-item-meta-line {
    font-size: 14px;
    color: #555555;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* "More Info" Button styling (if enabled) */
.em-item-read-more {
    display: inline-block;
    margin-top: 15px;
    background: #C80000 !important;
    color: #ffffff !important;
    padding: 8px 18px !important;
    border-radius: 4px;
    text-decoration: none !important;
    font-weight: bold !important;
    font-size: 14px !important;
    transition: background 0.2s ease;
}

.em-item-read-more:hover {
    background: #990000 !important;
}

/* Mobile adjustments for the Modal */
@media (max-width: 600px) {
    .em-modal-content .em-item {
        flex-direction: column;
        gap: 12px;
    }
    
    .em-modal-content .em-item-image {
        max-width: 100% !important;
    }
    
    .em-modal-content .em-item-image img {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
    }
}/* End custom CSS */
/* Start custom CSS for theme-post-content, class: .elementor-element-2ba142d */.em-item-image img {
    max-width: 250px;
    height: auto; /* Maintain aspect ratio */
}

/* Style the headings for "When", "Where", and "Event Type" */
.em-view-container .em-event-when h3,
.em-view-container .em-event-where h3,
.em-view-container .em-item-taxonomies h3 {
    font-family: 'Castoro', serif !important; /* Set font family */
    color: #000000 !important; /* Set font color */
    font-size: 20pt !important; /* Set font size */
}



/* Force the link color to black and inherit font */
.custom-content h3 a,
.custom-content h3 a:visited,
.custom-content h3 a:link {
    color: black !important;
    font-family: inherit !important; /* Ensure the site's default heading font is applied */
    text-decoration: none !important; /* Remove underline */
}

/* Make sure the bold text inside the link is also styled correctly */
.custom-content h3 a strong {
    color: black !important;
    font-family: inherit !important;
}

/* Hover state */
.custom-content h3 a:hover,
.custom-content h3 a:active {
    color: black !important; /* Keep link color black on hover */
    text-decoration: underline !important; /* Optionally add underline on hover */
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-5d5736d */.em-calendar .has-event a {
    font-weight: bold;
    color: #FF0000; /* Change to your desired color */
}

.em-calendar .has-event .event-title {
    display: block;
    font-size: 12px;
    color: #000000; /* Change to your desired color */
}


/* Override inline styles for event calendar elements */
.em-cal-event {
    --event-background-color: #C80000 !important; /* New background color */
    --event-border-color: #C80000 !important; /* New border color */
    --event-color: #FFFFFF !important; /* New text color */
}

/* Optional: Further customization for event link styles */
.em-cal-event a {
    color: #FFFFFF !important; /* Ensure event link text is white */
    font-family: 'Fjalla One', sans-serif !important; /* Match font family to buttons */
    font-weight: 900 !important; /* Set font weight to 900 */
}/* End custom CSS */