body.vc-site{ --midnight: #101A3A; --cobalt: #2846A7; --green: #168A5B; --gold: #D8B66A; --sand: #F3EADC; --ivory: #FCFAF5; --graphite: #26272A; --white: #FFFFFF; --muted: #667085; --line: #E7E2D7; --shadow: 0 18px 45px rgba(16,26,58,.12); --radius: 26px; }
.vc-site .elementor *{ box-sizing: border-box; }
html:has(body.vc-site){ scroll-behavior: smooth; }
body.vc-site{ margin: 0px; background: var(--ivory); color: var(--graphite); font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; }
.vc-site .elementor a{ color: inherit; text-decoration: none; }
.vc-site .elementor img{ max-width: 100%; display: block; }
.vc-site .elementor .container{ width: min(1180px, 92vw); margin: auto; }
.vc-site .elementor .eyebrow{ font-size: 0.78rem; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 800; color: var(--cobalt); }
.vc-site .elementor h1,.vc-site .elementor h2,.vc-site .elementor h3{ font-family: Georgia, "Times New Roman", serif; color: var(--midnight); line-height: 1.06; margin: 0px 0px 1rem; }
.vc-site .elementor .lead{ font-size: 1.16rem; color: rgb(79, 86, 102); }
.vc-site .elementor .topbar{ position: sticky; top: 0px; z-index: 50; background: rgba(252, 250, 245, 0.96); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(16, 26, 58, 0.08); }
.vc-site .elementor .nav{ height: 84px; display: flex; align-items: center; gap: 26px; }
.vc-site .elementor .brand{ display: flex; align-items: center; gap: 12px; margin-right: auto; }
.vc-site .elementor .brand img{ width: 52px; height: 52px; object-fit: cover; border-radius: 50%; }
.vc-site .elementor .brand strong{ display: block; color: var(--midnight); font-size: 0.93rem; line-height: 1.05; }
.vc-site .elementor .brand small{ font-size: 0.65rem; color: var(--muted); letter-spacing: 0.06em; }
.vc-site .elementor .navlinks{ display: flex; gap: 23px; align-items: center; font-weight: 700; font-size: 0.91rem; }
.vc-site .elementor .navlinks a{ padding: 31px 0px 26px; border-bottom: 3px solid transparent; }
.vc-site .elementor .navlinks a:hover,.vc-site .elementor .navlinks a.active{ color: var(--cobalt); border-color: var(--gold); }
.vc-site .elementor .btn{ display: inline-flex; align-items: center; justify-content: center; gap: 10px; border-radius: 999px; padding: 13px 20px; font-weight: 800; border: 1px solid transparent; cursor: pointer; }
.vc-site .elementor .btn.gold{ background: var(--gold); color: var(--midnight); }
.vc-site .elementor .btn.navy{ background: var(--midnight); color: rgb(255, 255, 255); }
.vc-site .elementor .btn.outline{ border-color: rgba(255, 255, 255, 0.55); color: rgb(255, 255, 255); }
.vc-site .elementor .btn.light{ background: rgb(255, 255, 255); border-color: var(--line); color: var(--midnight); }
.vc-site .elementor .menu{ display: none; background: none; border: 0px; font-size: 1.55rem; color: var(--midnight); }
.vc-site .elementor .hero{ background: radial-gradient(circle at 85% 25%, rgba(216, 182, 106, 0.35), transparent 24%), linear-gradient(120deg, rgb(14, 24, 54) 0%, rgb(20, 40, 92) 55%, rgb(40, 70, 167) 100%); color: rgb(255, 255, 255); overflow: hidden; }
.vc-site .elementor .hero-grid{ display: grid; grid-template-columns: 1.1fr 0.9fr; min-height: 590px; align-items: center; gap: 36px; padding: 70px 0px; }
.vc-site .elementor .hero .eyebrow{ color: rgb(239, 215, 152); }
.vc-site .elementor .hero h1{ font-size: clamp(3.3rem, 6vw, 6.3rem); color: rgb(255, 255, 255); max-width: 780px; }
.vc-site .elementor .hero h1 span{ color: rgb(239, 207, 131); }
.vc-site .elementor .hero p{ max-width: 650px; font-size: 1.18rem; color: rgb(235, 239, 255); }
.vc-site .elementor .hero-actions{ display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.vc-site .elementor .hero-art{ position: relative; min-height: 430px; }
.vc-site .elementor .portrait-shell{ position: absolute; inset: 0px 0px 0px 70px; border-radius: 200px 0px 0px 200px; background: linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.02)); border: 1px solid rgba(255, 255, 255, 0.2); overflow: hidden; }
.vc-site .elementor .portrait-shell img{ width: 100%; height: 100%; object-fit: cover; object-position: center 20%; filter: saturate(0.93); }
.vc-site .elementor .quote-badge{ position: absolute; left: 5px; bottom: 30px; background: rgb(255, 255, 255); color: var(--midnight); padding: 21px 24px; border-radius: 20px; box-shadow: var(--shadow); max-width: 250px; font-family: Georgia, serif; font-size: 1.18rem; }
.vc-site .elementor .quote-badge b{ color: var(--green); }
.vc-site .elementor .info-strip{ background: rgb(255, 255, 255); border-bottom: 1px solid var(--line); }
.vc-site .elementor .info-grid{ display: grid; grid-template-columns: repeat(5, 1fr); }
.vc-site .elementor .info-item{ padding: 22px 20px; border-right: 1px solid var(--line); font-size: 0.84rem; }
.vc-site .elementor .info-item:last-child{ border: 0px; }
.vc-site .elementor .info-item strong{ display: block; color: var(--midnight); font-size: 0.92rem; }
.vc-site .elementor .info-item span{ color: var(--muted); }
.vc-site .elementor section{ padding: 82px 0px; }
.vc-site .elementor .split{ display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.vc-site .elementor .section-title{ font-size: clamp(2.6rem, 4vw, 4.6rem); }
.vc-site .elementor .signature{ font-family: "Segoe Script", cursive; font-size: 1.35rem; color: var(--midnight); margin-top: 18px; }
.vc-site .elementor .photo-card{ border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); background: rgb(255, 255, 255); }
.vc-site .elementor .photo-card img{ width: 100%; height: 480px; object-fit: cover; }
.vc-site .elementor .cards{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.vc-site .elementor .card{ background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: 20px; padding: 25px; box-shadow: rgba(16, 26, 58, 0.05) 0px 8px 24px; }
.vc-site .elementor .card .icon{ width: 46px; height: 46px; border-radius: 50%; background: var(--sand); display: grid; place-items: center; margin-bottom: 16px; font-size: 1.3rem; }
.vc-site .elementor .card h3{ font-family: Inter, sans-serif; font-size: 1.05rem; }
.vc-site .elementor .card p{ color: var(--muted); font-size: 0.93rem; }
.vc-site .elementor .card strong{ color: var(--midnight); }
.vc-site .elementor .band{ background: var(--midnight); color: rgb(255, 255, 255); }
.vc-site .elementor .band h2,.vc-site .elementor .band h3{ color: rgb(255, 255, 255); }
.vc-site .elementor .sermon{ display: grid; grid-template-columns: 0.75fr 1.25fr; gap: 40px; align-items: center; }
.vc-site .elementor .media{ background: linear-gradient(145deg, rgb(32, 54, 110), rgb(17, 28, 65)); border-radius: 26px; padding: 30px; min-height: 290px; display: flex; align-items: flex-end; justify-content: space-between; border: 1px solid rgba(255, 255, 255, 0.12); }
.vc-site .elementor .play{ width: 72px; height: 72px; border-radius: 50%; border: 2px solid white; display: grid; place-items: center; font-size: 1.5rem; }
.vc-site .elementor .sermon-meta{ max-width: 420px; }
.vc-site .elementor .sermon-meta p{ color: rgb(207, 215, 239); }
.vc-site .elementor .gallery{ display: grid; grid-template-columns: 1.2fr 1fr 1fr; grid-template-rows: 210px 170px; gap: 14px; }
.vc-site .elementor .gallery div{ border-radius: 22px; overflow: hidden; background-size: cover; background-position: center center; }
.vc-site .elementor .gallery .g1{ grid-row: 1 / 3; background: linear-gradient(135deg, rgba(40, 70, 167, 0.9), rgba(22, 138, 91, 0.55)), url("images/instagram-grid.png") center center / cover; }
.vc-site .elementor .gallery .g2{ background: linear-gradient(135deg, rgba(216, 182, 106, 0.35), rgba(16, 26, 58, 0.75)), url("images/facebook-page.png") center center / cover; }
.vc-site .elementor .gallery .g3{ background: linear-gradient(135deg, rgb(22, 138, 91), rgb(40, 70, 167)); }
.vc-site .elementor .gallery .g4{ background: linear-gradient(135deg, rgb(216, 182, 106), rgb(243, 234, 220)); }
.vc-site .elementor .gallery .g5{ background: linear-gradient(135deg, rgb(16, 26, 58), rgb(22, 138, 91)); }
.vc-site .elementor .gallery .label{ height: 100%; display: flex; align-items: flex-end; padding: 20px; color: rgb(255, 255, 255); font-weight: 800; font-size: 1.15rem; }
.vc-site .elementor .pastors{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.vc-site .elementor .pastor-card{ background: rgb(255, 255, 255); border-radius: 26px; overflow: hidden; border: 1px solid var(--line); box-shadow: var(--shadow); }
.vc-site .elementor .pastor-card img{ width: 100%; height: 520px; object-fit: cover; object-position: center 20%; }
.vc-site .elementor .pastor-card .body{ padding: 22px; }
.vc-site .elementor .pastor-card h3{ font-size: 1.65rem; margin-bottom: 0.3rem; }
.vc-site .elementor .pastor-card p{ margin: 0px; color: var(--muted); }
.vc-site .elementor .cta-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.vc-site .elementor .cta{ border-radius: 28px; padding: 38px; min-height: 290px; }
.vc-site .elementor .cta.dark{ background: linear-gradient(135deg,var(--midnight),#24489b); color: rgb(255, 255, 255); }
.vc-site .elementor .cta.dark h2{ color: rgb(255, 255, 255); }
.vc-site .elementor .cta.light{ background: linear-gradient(135deg, rgb(255, 248, 231), rgb(255, 255, 255)); border: 1px solid var(--line); }
.vc-site .elementor .page-hero{ padding: 90px 0px 72px; background: linear-gradient(130deg,var(--midnight),var(--cobalt)); color: rgb(255, 255, 255); }
.vc-site .elementor .page-hero h1{ color: rgb(255, 255, 255); font-size: clamp(3rem, 5vw, 5.2rem); }
.vc-site .elementor .page-hero p{ max-width: 760px; color: rgb(231, 236, 251); font-size: 1.15rem; }
.vc-site .elementor .breadcrumbs{ font-size: 0.82rem; color: rgb(215, 222, 242); margin-bottom: 20px; }
.vc-site .elementor .content-grid{ display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 50px; align-items: start; }
.vc-site .elementor .panel{ background: rgb(255, 255, 255); padding: 34px; border-radius: 24px; border: 1px solid var(--line); box-shadow: rgba(16, 26, 58, 0.05) 0px 8px 26px; }
.vc-site .elementor .panel h2{ font-size: 2rem; }
.vc-site .elementor .steps{ counter-reset: step 0; display: grid; gap: 14px; }
.vc-site .elementor .step{ display: flex; gap: 16px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: rgb(255, 255, 255); }
.vc-site .elementor .step::before{ counter-increment: step 1; content: counter(step); width: 34px; height: 34px; flex: 0 0 34px; border-radius: 50%; display: grid; place-items: center; background: var(--gold); font-weight: 900; color: var(--midnight); }
.vc-site .elementor form{ display: grid; gap: 14px; }
.vc-site .elementor .field{ display: grid; gap: 7px; }
.vc-site .elementor .field label{ font-weight: 800; color: var(--midnight); }
.vc-site .elementor input,.vc-site .elementor textarea,.vc-site .elementor select{ width: 100%; padding: 13px 14px; border: 1px solid rgb(217, 220, 228); border-radius: 12px; background: rgb(255, 255, 255); font: inherit; }
.vc-site .elementor textarea{ min-height: 120px; }
.vc-site .elementor .success{ display: none; padding: 14px 16px; border-radius: 12px; background: rgb(231, 246, 239); color: rgb(14, 104, 67); font-weight: 700; }
.vc-site .elementor .event-card{ display: grid; grid-template-columns: 180px 1fr; gap: 24px; background: rgb(255, 255, 255); border: 1px solid var(--line); border-radius: 24px; padding: 24px; margin-bottom: 20px; }
.vc-site .elementor .event-date{ background: var(--sand); border-radius: 18px; padding: 18px; text-align: center; color: var(--midnight); }
.vc-site .elementor .event-date b{ font-family: Georgia, serif; font-size: 2.3rem; display: block; }
.vc-site .elementor .badge{ display: inline-block; padding: 6px 10px; border-radius: 999px; background: rgb(230, 238, 252); color: var(--cobalt); font-weight: 800; font-size: 0.75rem; }
.vc-site .elementor .badge.past{ background: rgb(236, 236, 236); color: rgb(92, 92, 92); }
.vc-site .elementor .footer{ background: rgb(12, 21, 49); color: rgb(217, 224, 241); padding: 48px 0px 26px; }
.vc-site .elementor .footer-grid{ display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 38px; }
.vc-site .elementor .footer .brand strong,.vc-site .elementor .footer h3{ color: rgb(255, 255, 255); }
.vc-site .elementor .footer a{ color: rgb(217, 224, 241); }
.vc-site .elementor .footer-bottom{ border-top: 1px solid rgba(255, 255, 255, 0.12); margin-top: 28px; padding-top: 20px; font-size: 0.82rem; color: rgb(174, 184, 210); }
.vc-site .elementor .palette{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.vc-site .elementor .swatch{ border-radius: 20px; overflow: hidden; border: 1px solid var(--line); background: rgb(255, 255, 255); }
.vc-site .elementor .swatch-color{ height: 120px; }
.vc-site .elementor .swatch div:last-child{ padding: 14px; }
.vc-site .elementor .swatch strong{ display: block; color: var(--midnight); }
@media (max-width: 920px) {.vc-site .elementor .menu{ display: block; }.vc-site .elementor .navlinks{ display: none; position: absolute; left: 0px; right: 0px; top: 84px; background: var(--ivory); padding: 20px 4vw; flex-direction: column; align-items: stretch; border-bottom: 1px solid var(--line); }.vc-site .elementor .navlinks.open{ display: flex; }.vc-site .elementor .navlinks a{ padding: 10px 0px; }.vc-site .elementor .nav .btn.gold{ display: none; }.vc-site .elementor .hero-grid,.vc-site .elementor .split,.vc-site .elementor .sermon,.vc-site .elementor .content-grid,.vc-site .elementor .cta-grid{ grid-template-columns: 1fr; }.vc-site .elementor .hero-art{ min-height: 360px; }.vc-site .elementor .portrait-shell{ left: 25px; }.vc-site .elementor .info-grid{ grid-template-columns: 1fr 1fr; }.vc-site .elementor .cards{ grid-template-columns: 1fr 1fr; }.vc-site .elementor .pastors{ grid-template-columns: 1fr; }.vc-site .elementor .gallery{ grid-template-columns: 1fr 1fr; grid-template-rows: 200px 160px 160px; }.vc-site .elementor .gallery .g1{ grid-area: auto / 1 / auto / 3; }.vc-site .elementor .footer-grid{ grid-template-columns: 1fr; }.vc-site .elementor .palette{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {.vc-site .elementor .brand small{ display: none; }.vc-site .elementor .hero-grid{ padding: 48px 0px; }.vc-site .elementor .hero h1{ font-size: 3.2rem; }.vc-site .elementor .hero-art{ min-height: 320px; }.vc-site .elementor .info-grid,.vc-site .elementor .cards,.vc-site .elementor .palette{ grid-template-columns: 1fr; }.vc-site .elementor .info-item{ border-right: 0px; border-bottom: 1px solid var(--line); }.vc-site .elementor section{ padding: 58px 0px; }.vc-site .elementor .photo-card img{ height: 360px; }.vc-site .elementor .pastor-card img{ height: 430px; }.vc-site .elementor .event-card{ grid-template-columns: 1fr; }.vc-site .elementor .gallery{ display: grid; grid-template-columns: 1fr; grid-template-rows: repeat(5, 180px); }.vc-site .elementor .gallery .g1{ grid-column: auto; }.vc-site .elementor .page-hero{ padding: 65px 0px 55px; }
}
.vc-site .elementor .spa-page{ display: none; }
.vc-site .elementor .spa-page.active{ display: block; }
.vc-site .elementor .prototype-note{ background: rgb(243, 234, 220); padding: 10px 16px; text-align: center; font: 600 13px / 1.4 Arial, sans-serif; color: rgb(16, 26, 58); }
.vc-site .elementor .utility-bar{ background: var(--green); color: rgb(255, 255, 255); padding: 8px 0px; font: 700 12px / 1.35 Inter, system-ui, sans-serif; }
.vc-site .elementor .utility-inner{ display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.vc-site .elementor .utility-bar a{ color: rgb(255, 255, 255); }
.vc-site .elementor .utility-contact{ white-space: nowrap; }
.vc-site .elementor .hero-art.no-pastor{ min-height: 430px; display: grid; place-items: center; position: relative; }
.vc-site .elementor .hero-community{ width: 100%; min-height: 390px; border-radius: 200px 24px 24px 200px; position: relative; overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.2); background: radial-gradient(circle at 72% 30%, rgba(216, 182, 106, 0.35), transparent 20%), linear-gradient(135deg, rgb(40, 70, 167) 0%, rgb(22, 138, 91) 100%); }
.vc-site .elementor .hero-community::before,.vc-site .elementor .hero-community::after{ content: ""; position: absolute; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 50%; }
.vc-site .elementor .hero-community::before{ width: 290px; height: 290px; right: -55px; top: -60px; }
.vc-site .elementor .hero-community::after{ width: 190px; height: 190px; left: 55px; bottom: -70px; }
.vc-site .elementor .hero-community-copy{ position: absolute; inset: 0px; display: flex; flex-direction: column; justify-content: center; padding: 54px 62px; color: rgb(255, 255, 255); }
.vc-site .elementor .hero-community-copy small{ letter-spacing: 0.2em; text-transform: uppercase; font-weight: 800; color: rgb(241, 215, 146); }
.vc-site .elementor .hero-community-copy h3{ font-size: clamp(2rem, 3.4vw, 3.5rem); color: rgb(255, 255, 255); margin: 0.65rem 0px; }
.vc-site .elementor .hero-community-copy p{ font-family: Georgia, serif; font-size: 1.2rem; color: rgb(238, 243, 255); max-width: 430px; }
.vc-site .elementor .hero-community-copy .pillrow{ display: flex; gap: 9px; flex-wrap: wrap; margin-top: 18px; }
.vc-site .elementor .hero-community-copy .pill{ font-size: 0.78rem; font-weight: 800; padding: 8px 12px; border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 999px; background: rgba(255, 255, 255, 0.08); }
.vc-site .elementor .welcome-card{ background: linear-gradient(145deg, rgb(255, 255, 255), rgb(246, 239, 223)); border: 1px solid var(--line); border-radius: var(--radius); padding: 48px; box-shadow: var(--shadow); min-height: 410px; display: flex; flex-direction: column; justify-content: center; }
.vc-site .elementor .welcome-card .verse{ font-family: Georgia, serif; font-size: 2rem; color: var(--midnight); line-height: 1.25; }
.vc-site .elementor .welcome-card .mission{ margin-top: 22px; color: rgb(82, 90, 109); }
.vc-site .elementor .welcome-card .mini-rule{ width: 74px; height: 3px; background: var(--gold); border-radius: 3px; margin: 22px 0px; }
.vc-site .elementor .section-warm{ background: var(--sand); }
.vc-site .elementor .question-box h2{ margin-bottom: 0.6rem; }
.vc-site .elementor .question-box .question-item{ padding: 18px 0px; border-bottom: 1px solid var(--line); }
.vc-site .elementor .question-box .question-item:last-child{ border-bottom: 0px; }
.vc-site .elementor .friday-callout{ margin-top: 12px; padding: 12px 14px; border-radius: 12px; background: rgb(234, 246, 240); color: rgb(13, 98, 64); font-weight: 700; font-size: 0.9rem; }
.vc-site .elementor .pastor-card .body p.role{ display: none; }
@media (max-width: 920px) {.vc-site .elementor .utility-inner{ flex-direction: column; align-items: flex-start; gap: 3px; }.vc-site .elementor .utility-contact{ white-space: normal; }.vc-site .elementor .hero-community{ border-radius: 80px 18px 18px 80px; }.vc-site .elementor .hero-community-copy{ padding: 38px; }
}
html:has(body.vc-site){ scroll-padding-top: 104px; }
body.vc-site{ min-width: 320px; overflow-x: hidden; -webkit-font-smoothing: antialiased; text-rendering: optimizelegibility; }
.vc-site .elementor button,.vc-site .elementor input,.vc-site .elementor textarea,.vc-site .elementor select{ font: inherit; }
.vc-site .elementor a,.vc-site .elementor button,.vc-site .elementor .card,.vc-site .elementor .panel,.vc-site .elementor .event-card,.vc-site .elementor .pastor-card,.vc-site .elementor .cta{ transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s, background-color 0.2s, color 0.2s; }
.vc-site .elementor a:focus-visible,.vc-site .elementor button:focus-visible,.vc-site .elementor input:focus-visible,.vc-site .elementor textarea:focus-visible,.vc-site .elementor select:focus-visible{ outline: rgba(40, 70, 167, 0.28) solid 3px; outline-offset: 3px; }
.vc-site .elementor .container{ width: min(1180px, 100% - 40px); }
.vc-site .elementor .topbar{ box-shadow: rgba(16, 26, 58, 0.055) 0px 8px 26px; }
.vc-site .elementor .nav{ position: relative; }
.vc-site .elementor .nav .btn.gold[data-route].active{ box-shadow: rgba(216, 182, 106, 0.28) 0px 0px 0px 3px; }
.vc-site .elementor .navlinks a{ position: relative; }
.vc-site .elementor .navlinks a::after{ content: ""; position: absolute; left: 0px; right: 0px; bottom: 23px; height: 3px; border-radius: 6px; background: var(--gold); transform: scaleX(0); transform-origin: center center; transition: transform 0.2s; }
.vc-site .elementor .navlinks a:hover,.vc-site .elementor .navlinks a.active{ border-bottom-color: transparent; }
.vc-site .elementor .navlinks a:hover::after,.vc-site .elementor .navlinks a.active::after{ transform: scaleX(1); }
.vc-site .elementor .mobile-give{ display: none !important; }
.vc-site .elementor .btn{ min-height: 48px; box-shadow: rgba(16, 26, 58, 0.08) 0px 7px 18px; }
.vc-site .elementor .btn:hover{ transform: translateY(-2px); box-shadow: rgba(16, 26, 58, 0.13) 0px 12px 25px; }
.vc-site .elementor .btn.gold:hover{ background: rgb(226, 196, 126); }
.vc-site .elementor .btn.navy:hover{ background: rgb(24, 38, 83); }
.vc-site .elementor .btn.light:hover{ border-color: rgb(207, 197, 180); background: rgb(255, 253, 249); }
.vc-site .elementor .hero{ position: relative; }
.vc-site .elementor .hero::after{ content: ""; position: absolute; inset: auto -10% -180px 45%; height: 340px; border-radius: 50%; background: rgba(255, 255, 255, 0.035); filter: blur(1px); pointer-events: none; }
.vc-site .elementor .hero-grid{ position: relative; z-index: 1; }
.vc-site .elementor .hero h1{ letter-spacing: -0.035em; }
.vc-site .elementor .hero p{ line-height: 1.72; }
.vc-site .elementor .hero-community{ box-shadow: rgba(3, 10, 35, 0.26) 0px 30px 65px; }
.vc-site .elementor .hero-community-copy h3{ letter-spacing: -0.02em; }
.vc-site .elementor .info-item{ display: flex; flex-direction: column; justify-content: center; min-height: 88px; }
.vc-site .elementor .info-item strong{ margin-bottom: 3px; }
.vc-site .elementor section{ position: relative; }
.vc-site .elementor .section-title{ letter-spacing: -0.025em; max-width: 900px; }
.vc-site .elementor .lead{ line-height: 1.72; }
.vc-site .elementor .card:hover,.vc-site .elementor .pastor-card:hover,.vc-site .elementor .event-card:hover{ transform: translateY(-4px); box-shadow: rgba(16, 26, 58, 0.1) 0px 18px 38px; border-color: rgb(217, 210, 195); }
.vc-site .elementor .card a{ display: inline-flex; margin-top: 6px; color: var(--cobalt); font-weight: 800; }
.vc-site .elementor .card .icon{ box-shadow: rgba(216, 182, 106, 0.28) 0px 0px 0px 1px inset; }
.vc-site .elementor .spa-page:not([data-page="index"]) main > section:first-child{ padding-top: 92px; background: radial-gradient(circle at 92% 8%,rgba(216,182,106,.19),transparent 26%),linear-gradient(180deg,#fffdf8 0%,var(--ivory) 100%); border-bottom: 1px solid rgba(16, 26, 58, 0.055); }
.vc-site .elementor .spa-page:not([data-page="index"]) main > section:first-child::before{ content: ""; position: absolute; top: 0px; left: 0px; right: 0px; height: 5px; background: linear-gradient(90deg,var(--green),var(--cobalt),var(--gold)); }
.vc-site .elementor .spa-page:not([data-page="index"]) .section-title{ margin-top: 0.25rem; }
.vc-site .elementor .spa-page:not([data-page="index"]) main{ min-height: 56vh; }
.vc-site .elementor .panel{ border-color: rgb(228, 222, 210); box-shadow: rgba(16, 26, 58, 0.07) 0px 14px 35px; }
.vc-site .elementor .panel h2{ letter-spacing: -0.02em; }
.vc-site .elementor .field input,.vc-site .elementor .field textarea,.vc-site .elementor .field select{ min-height: 50px; border-color: rgb(214, 217, 226); box-shadow: rgba(16, 26, 58, 0.02) 0px 1px 0px; transition: border-color 0.2s, box-shadow 0.2s; }
.vc-site .elementor .field input:focus,.vc-site .elementor .field textarea:focus,.vc-site .elementor .field select:focus{ border-color: var(--cobalt); box-shadow: rgba(40, 70, 167, 0.09) 0px 0px 0px 4px; outline: 0px; }
.vc-site .elementor .field textarea{ min-height: 138px; resize: vertical; }
.vc-site .elementor form .btn{ justify-self: start; }
.vc-site .elementor .success{ border: 1px solid rgb(185, 228, 207); }
.vc-site .elementor .step{ align-items: flex-start; box-shadow: rgba(16, 26, 58, 0.035) 0px 5px 16px; }
.vc-site .elementor .step::before{ box-shadow: rgba(216, 182, 106, 0.3) 0px 4px 12px; }
.vc-site .elementor .event-card{ box-shadow: rgba(16, 26, 58, 0.043) 0px 8px 22px; }
.vc-site .elementor .event-date{ display: flex; min-height: 150px; flex-direction: column; justify-content: center; align-items: center; }
.vc-site .elementor .media{ box-shadow: rgba(255, 255, 255, 0.02) 0px 0px 0px 1px inset, rgba(8, 18, 49, 0.18) 0px 20px 42px; }
.vc-site .elementor .play{ flex: 0 0 auto; }
.vc-site .elementor .cta{ box-shadow: rgba(16, 26, 58, 0.08) 0px 14px 34px; }
.vc-site .elementor .footer{ margin-top: 0px; background: radial-gradient(circle at 82% 12%, rgba(40, 70, 167, 0.26), transparent 28%), linear-gradient(145deg, rgb(9, 17, 39) 0%, rgb(16, 26, 58) 70%, rgb(18, 35, 79) 100%); padding: 64px 0px 24px; color: rgb(219, 226, 242); }
.vc-site .elementor .footer-grid{ grid-template-columns: 1.35fr 0.75fr 0.9fr 1fr; gap: 44px; }
.vc-site .elementor .footer-brandline{ display: flex; align-items: center; gap: 14px; margin-bottom: 17px; }
.vc-site .elementor .footer-mark{ width: 52px; height: 52px; flex: 0 0 52px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(145deg,var(--gold),#f0d99d); color: var(--midnight); font: 800 15px / 1 Inter, sans-serif; box-shadow: rgba(0, 0, 0, 0.22) 0px 7px 24px; }
.vc-site .elementor .footer-brandline strong{ display: block; color: rgb(255, 255, 255); font-size: 0.96rem; line-height: 1.18; letter-spacing: 0.03em; }
.vc-site .elementor .footer-brandline small{ display: block; margin-top: 3px; color: rgb(174, 184, 210); font-size: 0.71rem; letter-spacing: 0.08em; }
.vc-site .elementor .footer-about{ max-width: 390px; color: rgb(191, 201, 223); font-size: 0.93rem; }
.vc-site .elementor .footer h3{ font-family: Inter, sans-serif; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.14em; margin: 3px 0px 16px; color: rgb(233, 207, 147); }
.vc-site .elementor .footer-links{ display: grid; gap: 10px; }
.vc-site .elementor .footer-links a{ width: max-content; max-width: 100%; color: rgb(219, 226, 242); font-size: 0.93rem; }
.vc-site .elementor .footer-links a:hover{ color: rgb(255, 255, 255); transform: translateX(3px); }
.vc-site .elementor .footer-meta{ display: grid; gap: 11px; font-size: 0.91rem; color: rgb(193, 203, 224); }
.vc-site .elementor .footer-meta strong{ color: rgb(255, 255, 255); display: block; font-size: 0.87rem; }
.vc-site .elementor .footer-social{ display: flex; gap: 9px; flex-wrap: wrap; margin-top: 17px; }
.vc-site .elementor .footer-social a{ display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 8px 12px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, 0.16); background: rgba(255, 255, 255, 0.043); font-size: 0.82rem; font-weight: 800; }
.vc-site .elementor .footer-social a:hover{ background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.28); }
.vc-site .elementor .footer-visit{ padding: 17px; border: 1px solid rgba(255, 255, 255, 0.11); background: rgba(255, 255, 255, 0.043); border-radius: 16px; color: rgb(198, 208, 227); font-size: 0.88rem; }
.vc-site .elementor .footer-visit b{ display: block; color: rgb(255, 255, 255); margin-bottom: 4px; }
.vc-site .elementor .footer-bottom{ display: flex; justify-content: space-between; align-items: center; gap: 18px; flex-wrap: wrap; }
.vc-site .elementor .footer-bottom a{ color: rgb(217, 224, 241); font-weight: 700; }
.vc-site .elementor .footer-bottom a:hover{ color: rgb(255, 255, 255); }
.vc-site .elementor .back-top{ display: inline-flex; align-items: center; gap: 6px; }
@media (max-width: 1080px) {.vc-site .elementor .nav{ gap: 18px; }.vc-site .elementor .navlinks{ gap: 15px; font-size: 0.84rem; }.vc-site .elementor .nav .btn.gold{ padding-inline: 16px; }.vc-site .elementor .footer-grid{ grid-template-columns: 1.3fr 1fr 1fr; gap: 34px; }.vc-site .elementor .footer-col:last-child{ grid-column: 2 / 4; }
}
@media (max-width: 920px) {html:has(body.vc-site){ scroll-padding-top: 88px; }.vc-site .elementor .container{ width: min(100% - 32px, 760px); }.vc-site .elementor .utility-bar{ padding: 7px 0px; }.vc-site .elementor .utility-inner{ gap: 4px; font-size: 11px; }.vc-site .elementor .nav{ height: 74px; }.vc-site .elementor .brand img{ width: 46px; height: 46px; }.vc-site .elementor .brand strong{ font-size: 0.86rem; }.vc-site .elementor .menu{ display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: rgb(255, 255, 255); border: 1px solid var(--line); box-shadow: rgba(16, 26, 58, 0.07) 0px 5px 14px; font-size: 0px; }.vc-site .elementor .menu::before{ content: "☰"; font-size: 1.45rem; line-height: 1; }.vc-site .elementor .menu[aria-expanded="true"]::before{ content: "×"; font-size: 1.8rem; }.vc-site .elementor .navlinks{ display: none; position: absolute; z-index: 100; left: -16px; right: -16px; top: 74px; background: rgba(252, 250, 245, 0.99); padding: 16px 16px 20px; flex-direction: column; align-items: stretch; gap: 3px; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-top: 0px; border-radius: 0px 0px 22px 22px; box-shadow: rgba(16, 26, 58, 0.16) 0px 24px 40px; max-height: calc(-96px + 100vh); overflow: auto; }.vc-site .elementor .navlinks.open{ display: flex; }.vc-site .elementor .navlinks a{ padding: 12px 13px; border: 0px; border-radius: 11px; }.vc-site .elementor .navlinks a::after{ display: none; }.vc-site .elementor .navlinks a:hover,.vc-site .elementor .navlinks a.active{ background: rgb(243, 234, 220); color: var(--midnight); }.vc-site .elementor .mobile-give{ margin-top: 7px; justify-content: center; font-weight: 900; display: flex !important; background: var(--gold) !important; color: var(--midnight) !important; }.vc-site .elementor .nav > .btn.gold{ display: none; }.vc-site .elementor .hero-grid{ padding: 58px 0px 62px; gap: 40px; }.vc-site .elementor .hero h1{ font-size: clamp(3rem, 9vw, 4.5rem); }.vc-site .elementor .hero-art{ min-height: auto; }.vc-site .elementor .hero-art.no-pastor{ min-height: 350px; }.vc-site .elementor .hero-community{ min-height: 350px; border-radius: 72px 22px 22px 72px; }.vc-site .elementor .hero-community-copy{ padding: 38px 42px; }.vc-site .elementor .info-grid{ grid-template-columns: repeat(2, 1fr); }.vc-site .elementor .info-item:nth-child(2n){ border-right: 0px; }.vc-site .elementor .info-item:last-child{ grid-column: 1 / -1; border-top: 1px solid var(--line); }.vc-site .elementor section{ padding: 70px 0px; }.vc-site .elementor .split,.vc-site .elementor .sermon,.vc-site .elementor .content-grid,.vc-site .elementor .cta-grid{ gap: 34px; }.vc-site .elementor .cards{ grid-template-columns: repeat(2, 1fr); }.vc-site .elementor .photo-card img{ height: min(520px, 64vw); }.vc-site .elementor .pastor-card img{ height: min(540px, 78vw); }.vc-site .elementor .spa-page:not([data-page="index"]) main > section:first-child{ padding-top: 72px; }.vc-site .elementor .footer{ padding-top: 52px; }.vc-site .elementor .footer-grid{ grid-template-columns: 1fr 1fr; }.vc-site .elementor .footer-col:last-child{ grid-column: auto; }.vc-site .elementor .footer-col:first-child{ grid-column: 1 / -1; }.vc-site .elementor .footer-about{ max-width: 620px; }
}
@media (max-width: 640px) {.vc-site .elementor .container{ width: calc(100% - 28px); }.vc-site .elementor .utility-inner{ align-items: flex-start; }.vc-site .elementor .utility-bar span:first-child{ line-height: 1.45; }.vc-site .elementor .utility-contact{ display: flex; gap: 5px; flex-wrap: wrap; }.vc-site .elementor .brand{ gap: 9px; }.vc-site .elementor .brand img{ width: 43px; height: 43px; }.vc-site .elementor .brand strong{ font-size: 0.78rem; }.vc-site .elementor .brand small{ display: block; font-size: 0.57rem; }.vc-site .elementor .hero-grid{ padding: 46px 0px 50px; }.vc-site .elementor .hero h1{ font-size: clamp(2.75rem, 13vw, 3.5rem); line-height: 1.02; }.vc-site .elementor .hero p{ font-size: 1.04rem; }.vc-site .elementor .hero-actions{ display: grid; grid-template-columns: 1fr; gap: 10px; }.vc-site .elementor .hero-actions .btn{ width: 100%; }.vc-site .elementor .hero-art.no-pastor{ min-height: 300px; }.vc-site .elementor .hero-community{ min-height: 300px; border-radius: 44px 18px 18px 44px; }.vc-site .elementor .hero-community-copy{ padding: 30px 27px; }.vc-site .elementor .hero-community-copy h3{ font-size: 2.2rem; }.vc-site .elementor .hero-community-copy p{ font-size: 1.05rem; }.vc-site .elementor .hero-community-copy .pill{ font-size: 0.7rem; padding: 7px 9px; }.vc-site .elementor .info-grid{ grid-template-columns: 1fr; }.vc-site .elementor .info-item,.vc-site .elementor .info-item:nth-child(2n){ border-right: 0px; border-bottom: 1px solid var(--line); min-height: auto; padding: 16px 14px; }.vc-site .elementor .info-item:last-child{ grid-column: auto; border-top: 0px; border-bottom: 0px; }.vc-site .elementor section{ padding: 54px 0px; }.vc-site .elementor .section-title{ font-size: clamp(2.25rem, 11vw, 3.2rem); line-height: 1.04; }.vc-site .elementor .lead{ font-size: 1.05rem; }.vc-site .elementor .eyebrow{ font-size: 0.7rem; letter-spacing: 0.15em; }.vc-site .elementor .split,.vc-site .elementor .sermon,.vc-site .elementor .content-grid,.vc-site .elementor .cta-grid{ gap: 26px; }.vc-site .elementor .welcome-card{ padding: 30px; min-height: auto; }.vc-site .elementor .welcome-card .verse{ font-size: 1.55rem; }.vc-site .elementor .cards{ grid-template-columns: 1fr; gap: 14px; }.vc-site .elementor .card{ padding: 21px; }.vc-site .elementor .card:hover,.vc-site .elementor .pastor-card:hover,.vc-site .elementor .event-card:hover{ transform: none; }.vc-site .elementor .band .sermon{ gap: 28px; }.vc-site .elementor .media{ padding: 22px; min-height: 230px; }.vc-site .elementor .play{ width: 58px; height: 58px; font-size: 1.2rem; }.vc-site .elementor .sermon-meta{ max-width: 60%; text-align: right; }.vc-site .elementor .sermon-meta h3{ font-size: 1.12rem; }.vc-site .elementor .gallery{ grid-template-columns: 1fr; grid-template-rows: 210px repeat(4, 145px); }.vc-site .elementor .gallery .g1{ grid-column: auto; }.vc-site .elementor .gallery .label{ padding: 16px; }.vc-site .elementor .pastors{ gap: 18px; }.vc-site .elementor .pastor-card img{ height: 112vw; max-height: 480px; }.vc-site .elementor .pastor-card .body{ padding: 18px; }.vc-site .elementor .pastor-card h3{ font-size: 1.4rem; }.vc-site .elementor .cta{ padding: 28px 24px; min-height: auto; border-radius: 22px; }.vc-site .elementor .cta .btn{ width: 100%; margin-top: 5px; }.vc-site .elementor .spa-page:not([data-page="index"]) main > section:first-child{ padding-top: 58px; }.vc-site .elementor .spa-page:not([data-page="index"]) main > section:first-child::before{ height: 4px; }.vc-site .elementor .panel{ padding: 24px 20px; border-radius: 20px; }.vc-site .elementor .panel h2{ font-size: 1.7rem; }.vc-site .elementor .field{ gap: 6px; }.vc-site .elementor form .btn{ width: 100%; justify-self: stretch; }.vc-site .elementor .step{ padding: 15px; gap: 13px; }.vc-site .elementor .step::before{ width: 31px; height: 31px; flex-basis: 31px; }.vc-site .elementor .event-card{ grid-template-columns: 1fr; padding: 17px; gap: 17px; border-radius: 20px; }.vc-site .elementor .event-date{ min-height: 118px; }.vc-site .elementor .event-date b{ font-size: 2rem; }.vc-site .elementor .event-card h2{ font-size: 1.7rem; }.vc-site .elementor .palette{ grid-template-columns: 1fr 1fr; }.vc-site .elementor .swatch-color{ height: 90px; }.vc-site .elementor .footer{ padding: 46px 0px 21px; }.vc-site .elementor .footer-grid{ grid-template-columns: 1fr; gap: 29px; }.vc-site .elementor .footer-col:first-child{ grid-column: auto; }.vc-site .elementor .footer h3{ margin-bottom: 12px; }.vc-site .elementor .footer-links{ grid-template-columns: 1fr 1fr; gap: 9px 14px; }.vc-site .elementor .footer-links a{ width: auto; }.vc-site .elementor .footer-bottom{ display: grid; grid-template-columns: 1fr; gap: 10px; }.vc-site .elementor .back-top{ justify-self: start; }
}
@media (max-width: 390px) {.vc-site .elementor .container{ width: calc(100% - 24px); }.vc-site .elementor .brand strong{ font-size: 0.72rem; }.vc-site .elementor .brand small{ font-size: 0.53rem; }.vc-site .elementor .nav{ height: 70px; }.vc-site .elementor .navlinks{ top: 70px; left: -12px; right: -12px; }.vc-site .elementor .hero h1{ font-size: 2.65rem; }.vc-site .elementor .hero-community-copy h3{ font-size: 2rem; }.vc-site .elementor .palette{ grid-template-columns: 1fr; }.vc-site .elementor .footer-links{ grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {.vc-site .elementor *{ scroll-behavior: auto !important; transition: none !important; animation: auto ease 0s 1 normal none running none !important; }
}
.vc-site .elementor .life-photo-collage{ display: grid; grid-template-columns: 1.25fr 0.75fr; grid-template-rows: 190px 190px; gap: 14px; min-height: 394px; }
.vc-site .elementor .life-photo-collage .vc-figure{ position: relative; margin: 0px; overflow: hidden; border-radius: 22px; background: rgb(233, 237, 245); box-shadow: rgba(16, 26, 58, 0.09) 0px 14px 34px; }
.vc-site .elementor .life-photo-collage .vc-figure:first-child{ grid-row: 1 / 3; }
.vc-site .elementor .life-photo-collage img{ width: 100%; height: 100%; object-fit: cover; transition: transform 0.45s; }
.vc-site .elementor .life-photo-collage .vc-figure:hover img{ transform: scale(1.035); }
.vc-site .elementor .life-photo-collage figcaption{ position: absolute; left: 12px; bottom: 12px; padding: 7px 11px; border-radius: 999px; background: rgba(8, 17, 39, 0.78); backdrop-filter: blur(8px); color: rgb(255, 255, 255); font-size: 0.73rem; font-weight: 800; letter-spacing: 0.03em; }
.vc-site .elementor .gallery-section{ position: relative; overflow: hidden; background: linear-gradient(rgb(255, 255, 255) 0%, rgb(249, 246, 239) 100%); border-top: 1px solid rgba(16, 26, 58, 0.05); border-bottom: 1px solid rgba(16, 26, 58, 0.05); }
.vc-site .elementor .gallery-section::before{ content: ""; position: absolute; width: 430px; height: 430px; border-radius: 50%; right: -180px; top: -210px; background: radial-gradient(circle, rgba(216, 182, 106, 0.19), rgba(216, 182, 106, 0) 68%); pointer-events: none; }
.vc-site .elementor .gallery-heading{ display: flex; justify-content: space-between; align-items: end; gap: 34px; margin-bottom: 34px; position: relative; z-index: 1; }
.vc-site .elementor .gallery-heading-copy{ max-width: 760px; }
.vc-site .elementor .gallery-heading .lead{ margin-bottom: 0px; }
.vc-site .elementor .gallery-kicker{ display: inline-flex; align-items: center; gap: 9px; padding: 8px 12px; border-radius: 999px; background: rgb(237, 247, 242); color: rgb(13, 110, 73); font-size: 0.77rem; font-weight: 850; margin-bottom: 14px; }
.vc-site .elementor .gallery-kicker::before{ content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.vc-site .elementor .home-gallery{ display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); grid-auto-rows: 205px; gap: 14px; position: relative; z-index: 1; }
.vc-site .elementor .gallery-card{ position: relative; display: block; width: 100%; min-width: 0px; padding: 0px; border: 0px; border-radius: 22px; overflow: hidden; background: rgb(223, 229, 239); cursor: zoom-in; box-shadow: rgba(16, 26, 58, 0.08) 0px 10px 28px; isolation: isolate; }
.vc-site .elementor .gallery-card:nth-child(1){ grid-area: span 2 / span 2; }
.vc-site .elementor .gallery-card:nth-child(2){ grid-column: span 2; }
.vc-site .elementor .gallery-card:nth-child(7){ grid-column: span 2; }
.vc-site .elementor .gallery-card img{ width: 100%; height: 100%; object-fit: cover; transition: transform 0.45s, filter 0.45s; }
.vc-site .elementor .gallery-card::after{ content: ""; position: absolute; inset: 0px; background: linear-gradient(transparent 52%, rgba(6, 13, 33, 0.66) 100%); opacity: 0.9; transition: opacity 0.3s; pointer-events: none; }
.vc-site .elementor .gallery-card:hover img{ transform: scale(1.035); filter: saturate(1.04); }
.vc-site .elementor .gallery-card:hover::after{ opacity: 1; }
.vc-site .elementor .gallery-caption{ position: absolute; z-index: 2; left: 17px; right: 17px; bottom: 15px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: rgb(255, 255, 255); text-align: left; font: 800 0.82rem / 1.2 Inter, system-ui, sans-serif; text-shadow: rgba(0, 0, 0, 0.25) 0px 1px 12px; }
.vc-site .elementor .gallery-caption span:last-child{ display: grid; place-items: center; width: 31px; height: 31px; flex: 0 0 31px; border-radius: 50%; background: rgba(255, 255, 255, 0.18); border: 1px solid rgba(255, 255, 255, 0.28); backdrop-filter: blur(7px); font-size: 1rem; }
.vc-site .elementor .gallery-note{ display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 0.9rem; }
.vc-site .elementor .gallery-note strong{ color: var(--midnight); }
.vc-site .elementor .gallery-lightbox{ position: fixed; z-index: 1000; inset: 0px; display: none; align-items: center; justify-content: center; padding: 28px; background: rgba(5, 10, 25, 0.91); backdrop-filter: blur(10px); }
.vc-site .elementor .gallery-lightbox.open{ display: flex; }
.vc-site .elementor .gallery-lightbox-dialog{ position: relative; width: min(1120px, 100%); max-height: 92vh; display: grid; place-items: center; }
.vc-site .elementor .gallery-lightbox img{ display: block; max-width: 100%; max-height: 82vh; width: auto; height: auto; border-radius: 18px; box-shadow: rgba(0, 0, 0, 0.42) 0px 26px 90px; }
.vc-site .elementor .gallery-lightbox-caption{ margin-top: 14px; color: rgb(245, 247, 251); text-align: center; font-weight: 800; font-size: 0.92rem; }
.vc-site .elementor .gallery-lightbox-close{ position: absolute; z-index: 2; right: -12px; top: -12px; width: 46px; height: 46px; border: 1px solid rgba(255, 255, 255, 0.22); border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, 0.12); color: rgb(255, 255, 255); font-size: 1.8rem; line-height: 1; cursor: pointer; backdrop-filter: blur(8px); }
.vc-site .elementor .gallery-lightbox-close:hover{ background: rgba(255, 255, 255, 0.22); }
body.vc-site.gallery-open{ overflow: hidden; }
@media (max-width: 920px) {.vc-site .elementor .life-photo-collage{ grid-template-rows: 170px 170px; min-height: 354px; }.vc-site .elementor .gallery-heading{ align-items: flex-start; }.vc-site .elementor .home-gallery{ grid-auto-rows: 185px; }
}
@media (max-width: 640px) {.vc-site .elementor .life-photo-collage{ grid-template-columns: 1.15fr 0.85fr; grid-template-rows: 145px 145px; min-height: 304px; gap: 10px; }.vc-site .elementor .life-photo-collage .vc-figure{ border-radius: 17px; }.vc-site .elementor .life-photo-collage figcaption{ left: 9px; bottom: 9px; font-size: 0.67rem; }.vc-site .elementor .gallery-heading{ display: grid; gap: 14px; margin-bottom: 25px; }.vc-site .elementor .gallery-heading .section-title{ margin-bottom: 0.75rem; }.vc-site .elementor .gallery-kicker{ margin-bottom: 11px; }.vc-site .elementor .home-gallery{ grid-template-columns: repeat(2, minmax(0px, 1fr)); grid-auto-rows: 165px; gap: 10px; }.vc-site .elementor .gallery-card{ border-radius: 17px; }.vc-site .elementor .gallery-card:nth-child(1){ grid-area: span 2 / 1 / auto / -1; }.vc-site .elementor .gallery-card:nth-child(2),.vc-site .elementor .gallery-card:nth-child(7){ grid-column: 1 / -1; }.vc-site .elementor .gallery-caption{ left: 12px; right: 12px; bottom: 11px; font-size: 0.72rem; }.vc-site .elementor .gallery-caption span:last-child{ width: 27px; height: 27px; flex-basis: 27px; }.vc-site .elementor .gallery-note{ display: grid; gap: 7px; margin-top: 17px; padding-top: 17px; }.vc-site .elementor .gallery-lightbox{ padding: 16px; }.vc-site .elementor .gallery-lightbox-close{ right: 0px; top: -54px; }.vc-site .elementor .gallery-lightbox img{ max-height: 76vh; border-radius: 13px; }
}
@media (max-width: 390px) {.vc-site .elementor .life-photo-collage{ grid-template-columns: 1fr; grid-template-rows: 220px 170px 170px; min-height: auto; }.vc-site .elementor .life-photo-collage .vc-figure:first-child{ grid-row: auto; }.vc-site .elementor .home-gallery{ grid-template-columns: 1fr; grid-auto-rows: 220px; }.vc-site .elementor .gallery-card:nth-child(1),.vc-site .elementor .gallery-card:nth-child(2),.vc-site .elementor .gallery-card:nth-child(7){ grid-area: auto; }
}
.vc-site .elementor .hero-art.no-pastor{ display: block; min-height: 455px; }
.vc-site .elementor .hero-photo-slider{ position: relative; width: 100%; height: 455px; overflow: hidden; border-radius: 34px 34px 34px 120px; border: 1px solid rgba(255, 255, 255, 0.2); box-shadow: rgba(3, 10, 35, 0.3) 0px 30px 70px; background: rgb(21, 35, 78); isolation: isolate; }
.vc-site .elementor .hero-photo-slides,.vc-site .elementor .hero-photo-slide{ position: absolute; inset: 0px; margin: 0px; }
.vc-site .elementor .hero-photo-slide{ opacity: 0; transform: scale(1.025); transition: opacity 0.85s, transform 5.5s; pointer-events: none; }
.vc-site .elementor .hero-photo-slide.active{ opacity: 1; transform: scale(1); z-index: 1; }
.vc-site .elementor .hero-photo-slide img{ width: 100%; height: 100%; object-fit: cover; object-position: center 42%; filter: saturate(0.96) contrast(1.02); }
.vc-site .elementor .hero-photo-shade{ position: absolute; z-index: 2; inset: 0px; background: linear-gradient(rgba(7, 14, 35, 0.05) 12%, rgba(7, 14, 35, 0.18) 48%, rgba(7, 14, 35, 0.88) 100%), linear-gradient(90deg, rgba(8, 16, 39, 0.2), transparent 62%); pointer-events: none; }
.vc-site .elementor .hero-photo-copy{ position: absolute; z-index: 3; left: 22px; right: 22px; bottom: 22px; padding: 20px 21px 19px; border: 1px solid rgba(255, 255, 255, 0.19); border-radius: 20px; background: rgba(9, 18, 42, 0.7); backdrop-filter: blur(13px); box-shadow: rgba(0, 0, 0, 0.18) 0px 15px 35px; color: rgb(255, 255, 255); }
.vc-site .elementor .hero-photo-copy small{ display: block; font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 900; color: rgb(240, 212, 143); margin-bottom: 6px; }
.vc-site .elementor .hero-photo-copy h3{ font-size: clamp(1.85rem, 2.7vw, 2.55rem); color: rgb(255, 255, 255); margin: 0px 0px 7px; letter-spacing: -0.025em; }
.vc-site .elementor .hero-photo-copy p{ max-width: 540px; margin: 0px; color: rgb(238, 242, 255); font: 500 0.98rem / 1.55 Inter, system-ui, sans-serif; }
.vc-site .elementor .hero-photo-copy .pillrow{ display: flex; gap: 7px; flex-wrap: wrap; margin-top: 13px; }
.vc-site .elementor .hero-photo-copy .pill{ padding: 6px 10px; border: 1px solid rgba(255, 255, 255, 0.24); border-radius: 999px; background: rgba(255, 255, 255, 0.1); font-size: 0.69rem; font-weight: 850; letter-spacing: 0.02em; }
.vc-site .elementor .hero-slider-dots{ position: absolute; z-index: 4; top: 18px; right: 18px; display: flex; align-items: center; gap: 7px; padding: 8px 10px; border-radius: 999px; background: rgba(7, 14, 35, 0.44); backdrop-filter: blur(9px); border: 1px solid rgba(255, 255, 255, 0.15); }
.vc-site .elementor .hero-slider-dots button{ width: 8px; height: 8px; padding: 0px; border: 0px; border-radius: 50%; background: rgba(255, 255, 255, 0.48); cursor: pointer; transition: width 0.25s, background 0.25s; }
.vc-site .elementor .hero-slider-dots button.active{ width: 25px; border-radius: 99px; background: rgb(240, 212, 143); }
.vc-site .elementor .hero-slider-dots button:focus-visible{ outline: rgb(255, 255, 255) solid 2px; outline-offset: 3px; }
.vc-site .elementor .inner-page-photo{ position: relative; height: 300px; margin-bottom: 46px; overflow: hidden; border-radius: 28px; border: 1px solid rgba(16, 26, 58, 0.08); box-shadow: rgba(16, 26, 58, 0.12) 0px 18px 45px; background: rgb(223, 229, 239); }
.vc-site .elementor .inner-page-photo img{ width: 100%; height: 100%; object-fit: cover; object-position: center 42%; transition: transform 0.55s; }
.vc-site .elementor .inner-page-photo::after{ content: ""; position: absolute; inset: 0px; background: linear-gradient(transparent 48%, rgba(7, 14, 35, 0.72) 100%); pointer-events: none; }
.vc-site .elementor .inner-page-photo:hover img{ transform: scale(1.018); }
.vc-site .elementor .inner-photo-overlay{ position: absolute; z-index: 2; left: 20px; bottom: 18px; }
.vc-site .elementor .inner-photo-overlay span{ display: inline-flex; align-items: center; min-height: 38px; padding: 8px 13px; border-radius: 999px; background: rgba(9, 18, 42, 0.78); border: 1px solid rgba(255, 255, 255, 0.18); backdrop-filter: blur(9px); color: rgb(255, 255, 255); font-size: 0.78rem; font-weight: 850; letter-spacing: 0.025em; }
.vc-site .elementor [data-page-photo="messages"] img{ object-position: center 28%; }
.vc-site .elementor [data-page-photo="prayer"] img{ object-position: center 45%; }
.vc-site .elementor [data-page-photo="events"] img{ object-position: center 38%; }
.vc-site .elementor [data-page-photo="about"] img,.vc-site .elementor [data-page-photo="connect"] img{ object-position: center 38%; }
@media (max-width: 920px) {.vc-site .elementor .hero-art.no-pastor{ min-height: 395px; }.vc-site .elementor .hero-photo-slider{ height: 395px; border-radius: 70px 22px 22px 70px; }.vc-site .elementor .hero-photo-copy{ left: 18px; right: 18px; bottom: 18px; padding: 18px; }.vc-site .elementor .hero-photo-copy p{ font-size: 0.92rem; }.vc-site .elementor .hero-slider-dots{ top: 15px; right: 15px; }.vc-site .elementor .inner-page-photo{ height: 255px; margin-bottom: 34px; border-radius: 23px; }
}
@media (max-width: 640px) {.vc-site .elementor .hero-art.no-pastor{ min-height: 420px; }.vc-site .elementor .hero-photo-slider{ height: 420px; border-radius: 30px; }.vc-site .elementor .hero-photo-slide img{ object-position: center 40%; }.vc-site .elementor .hero-photo-copy{ left: 13px; right: 13px; bottom: 13px; padding: 17px 16px; border-radius: 17px; }.vc-site .elementor .hero-photo-copy h3{ font-size: 1.9rem; }.vc-site .elementor .hero-photo-copy p{ font-size: 0.88rem; line-height: 1.48; }.vc-site .elementor .hero-photo-copy .pillrow{ gap: 5px; }.vc-site .elementor .hero-photo-copy .pill{ font-size: 0.64rem; padding: 6px 8px; }.vc-site .elementor .hero-slider-dots{ top: 12px; right: 12px; padding: 7px 9px; }.vc-site .elementor .inner-page-photo{ width: calc(100% - 28px); height: 215px; margin-bottom: 28px; border-radius: 20px; }.vc-site .elementor .inner-photo-overlay{ left: 13px; bottom: 12px; }.vc-site .elementor .inner-photo-overlay span{ font-size: 0.7rem; min-height: 34px; padding: 7px 11px; }
}
@media (max-width: 390px) {.vc-site .elementor .hero-art.no-pastor{ min-height: 400px; }.vc-site .elementor .hero-photo-slider{ height: 400px; }.vc-site .elementor .hero-photo-copy h3{ font-size: 1.75rem; }.vc-site .elementor .hero-photo-copy p{ font-size: 0.84rem; }.vc-site .elementor .hero-photo-copy .pill{ font-size: 0.61rem; }.vc-site .elementor .inner-page-photo{ height: 195px; }
}
@media (prefers-reduced-motion: reduce) {.vc-site .elementor .hero-photo-slide{ transition: none !important; }.vc-site .elementor .inner-page-photo img{ transition: none !important; }
}