.elementor-kit-633{--e-global-color-primary:#252E30;--e-global-color-secondary:#9CBAB9;--e-global-color-text:#000000;--e-global-color-accent:#716518;--e-global-color-cream:#EDEBE6;--e-global-color-creammuted:rgba(237,235,230,0.8);--e-global-color-sagesoft:rgba(156,186,185,0.4);--e-global-color-slate:#727F9F;--e-global-color-charhover:#4C5759;--e-global-color-mist:#F2F4F7;--e-global-color-white:#FFFFFF;--e-global-typography-primary-font-family:"Playfair Display";--e-global-typography-primary-font-size:48px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1em;--e-global-typography-secondary-font-family:"brother-1816";--e-global-typography-secondary-font-size:14px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-secondary-letter-spacing:2px;--e-global-typography-text-font-family:"brother-1816";--e-global-typography-text-font-size:20px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:25px;--e-global-typography-accent-font-family:"brother-1816";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:1.5px;color:#000000;font-family:"brother-1816", Sans-serif;font-size:20px;font-weight:400;line-height:25px;}.elementor-kit-633 button,.elementor-kit-633 input[type="button"],.elementor-kit-633 input[type="submit"],.elementor-kit-633 .elementor-button{background-color:#9CBAB9;font-family:"brother-1816", Sans-serif;font-size:15px;font-weight:400;text-transform:uppercase;line-height:1em;letter-spacing:1.5px;color:#252E30;border-radius:0.3rem 0.3rem 0.3rem 0.3rem;padding:0.7em 2em 0.7em 2em;}.elementor-kit-633 button:hover,.elementor-kit-633 button:focus,.elementor-kit-633 input[type="button"]:hover,.elementor-kit-633 input[type="button"]:focus,.elementor-kit-633 input[type="submit"]:hover,.elementor-kit-633 input[type="submit"]:focus,.elementor-kit-633 .elementor-button:hover,.elementor-kit-633 .elementor-button:focus{background-color:rgba(156,186,185,0.8);color:#252E30;}.elementor-kit-633 e-page-transition{background-color:#FFBC7D;}.elementor-kit-633 a{color:#716518;}.elementor-kit-633 a:hover{color:#9CBAB9;}.elementor-kit-633 h1{color:#252E30;font-family:"Playfair Display", Sans-serif;font-size:65px;font-weight:400;line-height:1em;}.elementor-kit-633 h2{color:#252E30;font-family:"Playfair Display", Sans-serif;font-size:48px;font-weight:400;line-height:1em;}.elementor-kit-633 h3{color:#252E30;font-family:"Playfair Display", Sans-serif;font-size:39px;font-weight:400;line-height:1em;}.elementor-kit-633 h4{color:#252E30;font-family:"Playfair Display", Sans-serif;font-size:30px;font-weight:400;line-height:1.2em;}.elementor-kit-633 h5{color:#252E30;font-family:"Playfair Display", Sans-serif;font-size:26px;font-weight:400;line-height:1.2em;}.elementor-kit-633 h6{color:#252E30;font-family:"Playfair Display", Sans-serif;font-size:22px;font-weight:400;line-height:1.2em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-633 h1{font-size:45px;}.elementor-kit-633 h2{font-size:35px;}.elementor-kit-633 h3{font-size:32px;}.elementor-kit-633 h4{font-size:26px;}.elementor-kit-633 h5{font-size:22px;}.elementor-kit-633 h6{font-size:20px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-633{--e-global-typography-secondary-font-size:12px;}.elementor-kit-633 h1{font-size:45px;}.elementor-kit-633 h2{font-size:35px;}.elementor-kit-633 h3{font-size:30px;}.elementor-kit-633 h4{font-size:24px;}.elementor-kit-633 h5{font-size:21px;}.elementor-kit-633 h6{font-size:19px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --charcoal:#252E30; --charcoal-hover:#4C5759; --sage:#9CBAB9; --sage-soft:rgba(156,186,185,0.4); --cream:#EDEBE6; --cream-muted:rgba(237,235,230,0.8); --olive:#716518; --slate:#727F9F; --ink:#000000; --white:#FFFFFF; --mist:#F2F4F7; --font-heading:Playfair Display; --font-body:brother-1816; --radius:0.3rem; --content-width:1280px; }
/* Start custom CSS *//* === FBCPS Header: Dropdowns (colors/typography for top-level links live in the Nav Menu widget) === */
[data-elementor-type="header"] .elementor-widget-nav-menu .elementor-nav-menu--dropdown { background-color: #252E30; box-shadow: 0 8px 30px rgba(0,0,0,.25); }
[data-elementor-type="header"] .elementor-widget-nav-menu .elementor-nav-menu--dropdown a { font-family: "brother-1816", sans-serif; font-size: 16px; letter-spacing: 1px; background-color: transparent; text-transform: none; }
[data-elementor-type="header"] .elementor-widget-nav-menu .elementor-nav-menu--main .sub-menu { min-width: 14em; border-radius: 0 0 .3rem .3rem; }
[data-elementor-type="header"] .elementor-widget-nav-menu nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a.elementor-item { text-transform: uppercase; letter-spacing: 2px; padding-top: 14px; padding-bottom: 14px; }
[data-elementor-type="header"] .elementor-menu-toggle { background-color: transparent; font-size: 28px; }

/* === FBCPS Header: Logo (keeps the logo from being squeezed in the flex row) === */
[data-elementor-type="header"] .e-image-link-base { flex-shrink: 0; display: block; line-height: 0; }
[data-elementor-type="header"] .e-image-link-base img { height: 48px; width: auto; max-width: none; object-fit: contain; }
@media (max-width: 767px) { [data-elementor-type="header"] .e-image-link-base img { height: 40px; } }
[data-elementor-type="header"] .elementor-widget-nav-menu { flex-shrink: 1; min-width: 0; }

/* === FBCPS Sermon Library: dropdown filters (Loop Grid Extender uses Select2) === */
.elementor-widget-taxonomy-filter .lgefep-filter-bar-wrapper,
.elementor-widget-taxonomy-filter .select2-container { width: 100% !important; }
/* closed box */
.select2-container[class*=lgefep-taxonomy-filter-] .select2-selection--single {
  height: 48px; background-color: #F2F4F7; border: 1px solid #252E30; border-radius: .3rem;
  box-shadow: inset 0 1px 0 rgba(0,0,0,.08); transition: background-color .2s, box-shadow .2s;
}
.select2-container[class*=lgefep-taxonomy-filter-] .select2-selection--single:hover { background-color: #FFFFFF; }
.select2-container[class*=lgefep-taxonomy-filter-].select2-container--focus .select2-selection--single,
.select2-container[class*=lgefep-taxonomy-filter-].select2-container--open .select2-selection--single { background-color: #EDEBE6; box-shadow: 0 0 0 2px #252E30; }
.select2-container[class*=lgefep-taxonomy-filter-] .select2-selection__rendered {
  line-height: 46px !important; padding-left: 1em !important; padding-right: 2.75em !important;
  font-family: "brother-1816", sans-serif; font-size: 16px; color: #252E30 !important;
}
.select2-container[class*=lgefep-taxonomy-filter-] .select2-selection__arrow { height: 46px !important; width: 2.5em !important; right: 4px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23252E30' stroke-width='1.6' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat center / 12px 8px; }
.select2-container[class*=lgefep-taxonomy-filter-] .select2-selection__arrow b { display: none; }
/* open list */
.select2-container[class*=lgefep-taxonomy-filter-] .select2-dropdown { border: 1px solid #252E30; border-radius: .3rem; overflow: hidden; font-family: "brother-1816", sans-serif; }
.select2-container[class*=lgefep-taxonomy-filter-] .select2-search__field { border: 1px solid #727F9F !important; border-radius: .3rem; font-family: "brother-1816", sans-serif; }
.select2-container[class*=lgefep-taxonomy-filter-] .select2-results__option { font-size: 16px; color: #252E30; padding: 8px 14px; }
.select2-container[class*=lgefep-taxonomy-filter-] .select2-results__option .lgefep-term-name { font-weight: 400 !important; }
.select2-container[class*=lgefep-taxonomy-filter-] .select2-results__option--highlighted,
.select2-container[class*=lgefep-taxonomy-filter-] .select2-results__option--highlighted[aria-selected] { background-color: #9CBAB9 !important; color: #252E30 !important; }
.select2-container[class*=lgefep-taxonomy-filter-] .select2-results__option[aria-selected=true],
.select2-container[class*=lgefep-taxonomy-filter-] .select2-results__option--selected { background-color: #EDEBE6; color: #252E30; }
/* no-JS fallback: plain select */
.elementor-widget-taxonomy-filter select.lgefep-filter-bar-list {
  -webkit-appearance: none; appearance: none; width: 100%; min-height: 48px; padding: 0 2.75em 0 1em;
  font-family: "brother-1816", sans-serif; font-size: 16px; color: #252E30; background: #F2F4F7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23252E30' stroke-width='1.6' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 1em center / 12px 8px;
  border: 1px solid #252E30; border-radius: .3rem;
}
@media (max-width: 767px) { .elementor-widget-taxonomy-filter { width: 100% !important; max-width: 100% !important; } }

/* === FBCPS: hide empty dynamic images (e.g. a series with no artwork yet) === */
img.e-image-base:not([src]), img.e-image-base[src=""] { display: none; }

/* === FBCPS Staff Card: hover photo (Image 2 fades in over Image 1; hidden when empty) === */
.staff-card:hover .staff-photo-hover[src], .staff-card:focus-within .staff-photo-hover[src] { opacity: 1; }

/* === FBCPS: hide empty dynamic buttons (e.g. Register Today when an event has no registration link) === */
a.e-button-base:not([href]), a.e-button-base[href=""],
.elementor-749 button.e-button-base { display: none; } /* 749 = Event Single template: Register button with no link renders as <button> */

/* === FBCPS Event Card: Read More / Show Less (toggle added by Custom Code "FBCPS Read More toggle") === */
.event-desc { max-height: 150px; overflow: hidden; }
.event-desc.is-open { max-height: none; }
.event-desc.has-more:not(.is-open)::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3.5em; background: linear-gradient(rgba(235,241,241,0), #EBF1F1); pointer-events: none; }
.event-desc .elementor-widget-theme-post-content,
.event-desc .elementor-widget-theme-post-content p,
.event-desc .elementor-widget-theme-post-content div,
.event-desc .elementor-widget-theme-post-content li,
.event-desc .elementor-widget-theme-post-content span { font-family: "brother-1816", sans-serif; font-size: 14px; line-height: 1.6; color: #404040; }
.event-desc .elementor-widget-theme-post-content p { margin: 0 0 .8em; }
a.event-desc-toggle, a.event-desc-toggle:visited { display: inline-block; align-self: flex-start; margin-top: 8px; font-family: "brother-1816", sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #716518; text-decoration: none; background: none; border: 0; padding: 0; }
a.event-desc-toggle:hover, a.event-desc-toggle:focus { color: #252E30; text-decoration: underline; }

/* === FBCPS Group Card: description text + fade matched to the darker sage card === */
.group-card .event-desc .elementor-widget-theme-post-content,
.group-card .event-desc .elementor-widget-theme-post-content p,
.group-card .event-desc .elementor-widget-theme-post-content div,
.group-card .event-desc .elementor-widget-theme-post-content span { color: #2b2b2b; }
.group-card .event-desc.has-more:not(.is-open)::after { background: linear-gradient(rgba(215,227,227,0), #D7E3E3); }

/* === FBCPS Home: full-bleed photo and map, fixed verse background, events carousel === */
/* Come and See: text lines up with the 1280px content edge, photo runs to the right edge of the screen */
.elementor-28 [data-id="7e3f8104"] { padding-left: max(1.5rem, calc((100vw - 1280px) / 2)) !important; }
.elementor-28 [data-id="6b5c0ed0"] { border-radius: 15px 0 0 15px; aspect-ratio: 3 / 2; object-fit: cover; }
/* About: map runs to the left edge of the screen, text lines up with the content edge */
.elementor-28 [data-id="3fc0444c"] { padding-right: max(1.5rem, calc((100vw - 1280px) / 2)) !important; }
.elementor-28 [data-id="305dc861"] { border-radius: 0 15px 15px 0; }
.elementor-28 [data-id="305dc861"] iframe { border-radius: 0 15px 15px 0 !important; min-height: 450px; }
@media (max-width: 1024px) {
  .elementor-28 [data-id="7e3f8104"], .elementor-28 [data-id="3fc0444c"] { padding-left: 0 !important; padding-right: 0 !important; }
  .elementor-28 [data-id="6b5c0ed0"], .elementor-28 [data-id="305dc861"], .elementor-28 [data-id="305dc861"] iframe { border-radius: 15px !important; }
}
/* Bible verse: background photo stays put while the page scrolls (desktop) */
.elementor-28 [data-id="10ba7561"] { background-attachment: fixed !important; }
@media (hover: none) { .elementor-28 [data-id="10ba7561"] { background-attachment: scroll !important; } }
/* Events carousel: room for the card shadows, no scrollbar */
.elementor-28 [data-id="f8c5a62"] .swiper { padding: 6px 4px 12px; }
.elementor-28 [data-id="f8c5a62"] .swiper-slide .e-loop-item { height: 100%; }
.elementor-28 [data-id="f8c5a62"] .swiper-scrollbar { display: none; }
/* events carousel on phones: swipe instead of arrows so cards use the full width */
@media (max-width: 767px) { .elementor-28 [data-id="f8c5a62"] .elementor-swiper-button { display: none !important; } .elementor-28 [data-id="f8c5a62"] .swiper { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; } }

/* === FBCPS Event Slide card (Loop Item "Event Slide", home page carousel) === */
/* The card is a link; keep it a box so its teal background and shadow paint behind the image and text */
.elementor-779 a.e-con, [data-id="f8c5a62"] .swiper-slide > a.e-con { display: flex !important; flex-direction: column; height: 100%; background-color: rgba(156,186,185,0.2); border-radius: 6px; box-shadow: 0 0.6px 1.2px rgba(0,0,0,0.1), 0 2px 6px rgba(0,0,0,0.1); overflow: hidden; }
[data-id="f8c5a62"] .swiper-slide > a.e-con:hover { box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 8px 20px rgba(0,0,0,0.12); }
[data-id="f8c5a62"] .swiper-slide { height: auto; }

/* === FBCPS Visit page: full-width 2:1 photo slider === */
.elementor-40 [data-id="f8c5a72"] .swiper-slide-image { width: 100%; aspect-ratio: 2 / 1; object-fit: cover; display: block; }
@media (max-width: 767px) { .elementor-40 [data-id="f8c5a72"] .swiper-slide-image { aspect-ratio: 4 / 3; } }
.elementor-40 [data-id="f8c5a72"] .elementor-swiper-button { filter: drop-shadow(0 1px 3px rgba(0,0,0,.45)); }

/* === FBCPS Forms: hide Gravity Forms' "* indicates required fields" note (matches the old site) === */
.gform_wrapper .gform_required_legend { display: none; }

/* === FBCPS Services page: fixed background behind the Worship playlist card === */
.elementor-59 [data-id="145bfbce"] { background-attachment: scroll, fixed !important; }
@media (hover: none) { .elementor-59 [data-id="145bfbce"] { background-attachment: scroll !important; } }
/* === FBCPS Accordion chevron === */
.e-accordion-item-icon-base{width:14px;height:14px;flex:0 0 14px;align-items:center;justify-content:center;margin-left:20px;}
.e-accordion-item-icon-base::after{content:'';display:block;width:8px;height:8px;border-right:2px solid var(--e-global-color-e68a19a, #252E30);border-bottom:2px solid var(--e-global-color-e68a19a, #252E30);transform:translateY(-2px) rotate(45deg);transition:transform .25s ease;}
details[open] > summary .e-accordion-item-icon-base::after{transform:translateY(2px) rotate(-135deg);}
summary.e-accordion-item-header-base::-webkit-details-marker{display:none;}
summary.e-accordion-item-header-base{list-style:none;}

/* === FBCPS Serve page: ministry position cards (Text Editor widgets with class serve-list) === */
.serve-list h4{font-family:'Playfair Display',serif;font-weight:700;font-size:29px;line-height:1.2;color:var(--e-global-color-e68a19a,#252E30);margin:0 0 30px;}
.serve-list ul{margin:0 0 0 1.25em;padding:0;}
.serve-list li{font-size:20px;line-height:25px;margin:0 0 10px;}
.serve-list li:last-child{margin-bottom:0;}
.serve-list .elementor-widget-container>*:last-child{margin-bottom:0;}
@media (max-width:767px){.serve-list h4{font-size:24px;margin-bottom:20px;}.serve-list li{font-size:18px;}}

/* === FBCPS Ministry Card (Loop Item 793): the linked photo's wrapper takes the 45% column === */
.elementor-element-5338ceeb > .e-image-link-base{flex:0 0 45% !important;width:45% !important;min-width:0 !important;display:block !important;}
@media (max-width:767px){.elementor-element-5338ceeb > .e-image-link-base{flex:0 0 auto !important;width:100% !important;}}

/* === FBCPS Give page: giver tier text (Text Editor widgets with class giver-text) === */
.giver-text p{font-size:18px;line-height:25px;margin:0 0 1rem;}
.giver-text ul{margin:0 0 0 1.25em;padding:0;text-transform:uppercase;font-size:15px;line-height:1.3em;}
.giver-text li{margin:0 0 .6em;}
.giver-text .elementor-widget-container>*:last-child{margin-bottom:0;}

/* === FBCPS Rich text (Text Editor widgets with class rich-text: lists, sub-headings) === */
.rich-text{font-size:20px;line-height:25px;}
.rich-text p{margin:0 0 1em;}
.rich-text ul,.rich-text ol{margin:0 0 1em 1.25em;padding:0;}
.rich-text li{margin:0 0 .4em;}
.rich-text h4{font-family:'Playfair Display',serif;font-weight:700;font-size:25px;line-height:1.3;margin:1.2em 0 .3em;}
.rich-text h5{font-family:'Playfair Display',serif;font-weight:400;font-size:22px;line-height:1.3;margin:1em 0 .2em;}
.rich-sm li{margin-bottom:.25em;}
.rich-text .elementor-widget-container>*:first-child{margin-top:0;}
.rich-text .elementor-widget-container>*:last-child{margin-bottom:0;}

/* === FBCPS Legal pages (Privacy Policy text) === */
.legal-text h1{font-size:48px;margin:0 0 .5em;}
.legal-text h2{font-size:32px;margin:1.5em 0 .5em;}
.legal-text h3{font-size:24px;margin:1.2em 0 .4em;}
@media (max-width:767px){.legal-text h1{font-size:36px;}.legal-text h2{font-size:26px;}}/* End custom CSS */