:root {
  --ink: #111518;
  --body: #3f4245;
  --gold: #a8977b;
  --footer: #050709;
  --footer-text: #6c737d;
  --container: min(1290px, 90vw);
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; }
body {
  margin: 0;
  color: var(--body);
  background: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
  overflow-x: clip;
}
a { color: inherit; text-decoration: none; }
picture, img, video, iframe { display: block; max-width: 100%; }
button { color: inherit; font: inherit; }
h1, h2, h3, h4 { margin: 0; color: var(--ink); font-family: "Merriweather", sans-serif; font-weight: 700; }
p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
.container { width: var(--container); margin-inline: auto; }
.sr-only, .skip-link, .site-logo + span { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Shared header */
.site-header { position: sticky; top: 0; z-index: 30; height: 111px; background: #fff; }
.header-inner {
  width: var(--container);
  height: 111px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #eceef0;
}
.site-logo { width: 58px; height: 58px; flex: 0 0 58px; line-height: 0; }
.site-logo picture { width: 58px; height: 58px; }
.site-logo img { width: 58px; height: 58px; object-fit: contain; }
.site-title { margin-left: 16px; color: #3f4245; font-size: 24px; font-weight: 700; line-height: 39.6px; white-space: nowrap; }
.desktop-navigation { margin-left: auto; margin-right: 80px; height: 110px; }
.desktop-navigation > ul { height: 100%; display: flex; align-items: center; gap: 0; }
.desktop-navigation li { position: relative; }
.desktop-navigation a, .more-button {
  border: 0;
  padding: 0;
  background: transparent;
  color: #2f3134;
  font-size: 15px;
  font-weight: 500;
  line-height: 19.5px;
  white-space: nowrap;
  cursor: pointer;
}
.desktop-navigation > ul > .nav-item > a { height: 110px; display: flex; align-items: center; padding: 0 12.5px; }
.more-button { height: 110px; padding-left: 12.5px; }
.desktop-navigation a:hover, .desktop-navigation a.active, .more-item.active .more-button, .more-button:hover { color: var(--gold); }
.more-button { display: flex; align-items: center; gap: 11px; }
.more-button svg { fill: currentColor; transition: transform .15s ease; }
.more-button[aria-expanded="true"] svg { transform: rotate(180deg); }
.more-dropdown {
  position: absolute;
  top: 110px;
  left: 0;
  width: 200px;
  visibility: hidden;
  opacity: 0;
  transform: translateY(5px);
  background: #111518;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .14);
  transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
}
.more-dropdown.is-open { visibility: visible; opacity: 1; transform: translateY(0); }
.more-dropdown li { height: 46px; }
.more-dropdown li + li { border-top: 1px dashed rgba(255,255,255,.12); }
.more-dropdown a { display: flex; align-items: center; height: 100%; padding: 13px 19.5px; color: #fff; font-size: 12px; font-weight: 500; line-height: 19.8px; }
.more-dropdown a:hover, .more-dropdown a.active { color: var(--gold); }
.more-dropdown .overflow-link { display: none; }
.mobile-trigger { display: none; margin-left: auto; border: 0; padding: 0; background: transparent; line-height: 0; }
.mobile-trigger svg { fill: currentColor; }

.site-header-home { position: absolute; inset: 0 0 auto; background: transparent; }
.site-header-home .header-inner { border-color: rgba(255,255,255,.13); }
.site-header-home .site-title, .site-header-home .desktop-navigation a, .site-header-home .more-button, .site-header-home .mobile-trigger { color: #fff; }
.site-header-home .desktop-navigation a:hover, .site-header-home .desktop-navigation a.active, .site-header-home .more-button:hover { color: #fff; }
.site-header-home.is-scrolled { position: fixed; inset: 0 0 auto; background: #fff; }
.site-header-home.is-scrolled .header-inner { border-color: #eceef0; }
.site-header-home.is-scrolled .site-title, .site-header-home.is-scrolled .desktop-navigation a, .site-header-home.is-scrolled .more-button, .site-header-home.is-scrolled .mobile-trigger { color: #3f4245; }
.site-header-home.is-scrolled .site-logo img { filter: invert(1); }
.site-header-home.is-scrolled .desktop-navigation a:hover, .site-header-home.is-scrolled .desktop-navigation a.active, .site-header-home.is-scrolled .more-item.active .more-button, .site-header-home.is-scrolled .more-button:hover { color: var(--gold); }

/* Mobile drawer */
.drawer-backdrop { position: fixed; inset: 0; z-index: 99; background: rgba(17,21,24,.8); }
.mobile-drawer {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  width: min(400px, 90vw);
  height: 100dvh;
  padding: 57px 25px 35px;
  color: #fff;
  background: #a8977b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' fill-opacity='0.03' viewBox='0 0 56 100' width='56' height='100'%3E%3Cpath d='M28-1.2L-1,15.4v34v1.2v34l29,16.6l29-16.6v-34v-1.2v-34L28-1.2z M2,50l26-14.8L54,50L28,64.8L2,50z M1,16.6L27,1.7v31.7 L1,48.3V16.6z M1,51.7l26,14.9v31.7L1,83.4V51.7z M55,83.4L29,98.3V66.6l26-14.9V83.4z M29,33.4V1.7l26,14.9v31.7L29,33.4z'/%3E%3C/svg%3E") repeat;
  transform: translateX(105%);
  transition: transform .2s ease;
  overflow-y: auto;
}
.mobile-drawer.is-open { transform: translateX(0); }
.drawer-open { overflow: hidden; }
.drawer-close { position: absolute; top: 10px; right: 15px; width: 32px; height: 32px; display: grid; place-items: center; border: 0; padding: 0; background: transparent; color: #fff; cursor: pointer; }
.drawer-close svg { fill: currentColor; }
.mobile-navigation a { display: flex; align-items: center; height: 43px; color: #fff; font-size: 20px; font-weight: 700; line-height: 33px; }
.mobile-navigation a.active { color: #3f4245; }
.drawer-address { margin-top: 18px; font-size: 16px; line-height: 1.65; }
.drawer-address strong { display: block; margin-bottom: 18px; color: #fff; }
.drawer-address p { color: rgba(255,255,255,.82); }
.social-icons { display: flex; align-items: center; gap: 15px; }
.social-icons a { display: grid; place-items: center; }
.social-icons svg { fill: currentColor; }
.drawer-socials { margin-top: 18px; }
.drawer-socials a { width: 37.5px; height: 37.5px; border: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.85); }
.drawer-socials svg { width: 15px; height: 15px; }

/* Shared inner pages */
.inner-main { padding: 60px 0; }
.page-title { height: 115.6875px; text-align: center; }
.breadcrumbs { display: flex; justify-content: center; align-items: center; gap: 10px; height: 20.6875px; font-size: 12px; font-weight: 600; line-height: 19.8px; }
.breadcrumbs a { color: var(--gold); }
.breadcrumbs strong { color: #3f4245; font-weight: 600; }
.page-title h1 { margin-top: 20px; font-size: 50px; line-height: 75px; text-align: center; }

/* Footer */
.site-footer { height: 408.59375px; color: var(--footer-text); background: var(--footer); }
.footer-main { position: relative; height: 363px; padding-top: 71px; display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); column-gap: 50px; }
.footer-main::after { content: ""; position: absolute; left: calc(75% - 12.5px); top: 0; bottom: 0; width: 1px; background: rgba(255,255,255,.07); }
.footer-main h3 { margin: 0 0 14.8px; color: #eaeaec; font-size: 16px; line-height: 24px; }
.footer-main p { color: var(--footer-text); font-size: 16px; line-height: 26.4px; }
.footer-sites { padding-left: 0; }
.footer-sites p { display: flex; flex-direction: column; }
.footer-bottom { position: relative; height: 45.59375px; border-top: 1px solid rgba(255,255,255,.07); }
.footer-socials { position: absolute; top: 14px; left: 0; gap: 15px; color: rgba(108,115,125,.5); }
.footer-socials a { width: 20px; height: 20px; }
.footer-socials svg { width: 12px; height: 12px; }
.copyright { position: absolute; top: .1px; right: 0; width: 620px; color: rgba(109,116,126,.5); font-size: 15px; line-height: 19.5px; text-align: right; }

/* Home */
.home-hero { position: relative; height: 947px; display: flex; align-items: center; background: url("/assets/home-hero.jpg") 50% 50% / cover no-repeat; background-image: var(--asset-home-hero-desktop, url("/assets/home-hero.jpg")); }
.home-hero::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.48); }
.home-hero .container { position: relative; z-index: 1; }
.home-hero h2 { width: 100%; color: #fff; font-size: 70px; line-height: 105px; text-align: left; }
.home-intro { height: 1245px; padding-top: 110px; text-align: center; }
.home-intro-logo { width: 150px; height: 150px; margin: 0 auto; object-fit: contain; }
.home-intro-copy { width: min(1270px, calc(90vw - 20px)); margin: 20px auto 0; }
.home-intro-copy h2 { font-size: 35px; line-height: 35px; text-align: center; }
.home-intro-copy h2 + h2 { margin-top: 90px; }
.home-family { height: 534px; padding: 62px 30px; display: grid; grid-template-columns: 615px 1fr; gap: 10px; align-items: center; background: url("/assets/home-family-pattern.jpeg") 0 0 / auto repeat; background-image: var(--asset-home-family-pattern, url("/assets/home-family-pattern.jpeg")); }
.home-family picture { width: 615px; }
.home-family img { width: 615px; height: 410px; object-fit: cover; }
.home-family h2 { color: #000; font-size: 60px; line-height: 90px; text-align: center; }
.home-purple { height: 440px; margin-top: 100px; display: grid; place-items: center; background: url("/assets/home-purple.jpg") 50% 50% / cover no-repeat; background-image: var(--asset-home-purple, url("/assets/home-purple.jpg")); }
.home-purple h2 { width: 1110px; color: #fff; font-size: 40px; line-height: 60px; text-align: center; }
.home-main article { padding-bottom: 90px; }

/* About */
.about-content { width: min(1270px, calc(90vw - 20px)); margin: 60px auto 0; }
.about-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.about-row h2 { font-size: 35px; line-height: 35px; }
.about-row h2 + h2 { margin-top: 20px; line-height: 52.5px; }
.about-row h4 { margin-top: 20px; font-size: 25px; line-height: 37.5px; }
.about-row > picture { width: 100%; }
.about-row > picture img { width: 100%; height: 100%; object-fit: cover; }
.about-vision > picture { aspect-ratio: 3 / 4; }
.about-mission { margin-top: 110px; }
.about-mission > picture { aspect-ratio: 2 / 3; }
.pastors { margin-top: 230px; text-align: center; }
.pastors h2 { font-size: 35px; line-height: 35px; }
.pastors p { height: 52.8px; margin-bottom: 24px; font-size: 16px; line-height: 26.4px; }
.pastors p:first-of-type { height: 26.4px; margin-top: 20px; }
.pastors p:last-child { margin-bottom: 10px; }

/* Events */
.events-banner { position: relative; height: 480px; margin-top: 40px; display: grid; place-items: center; background: url("/assets/events-hero.png") 0 0 / auto repeat; background-image: var(--asset-events-hero, url("/assets/events-hero.png")); }
.events-banner::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.25); }
.events-banner h1 { position: relative; width: calc(100% - 20px); color: #fff; font-size: 40px; line-height: 40px; text-align: center; }
.events-divider { width: calc(100% - 20px); height: 80px; margin-inline: auto; padding-top: 35px; display: flex; align-items: flex-start; }
.events-divider span { flex: 1; border-top: 1px solid #4e5256; }
.events-divider svg { width: 20px; height: 20px; margin: -10px 10px 0; fill: #69727d; }
.event-posters { margin-top: 0; }
.event-posters picture, .event-posters img { margin-inline: auto; }
.event-posters picture:first-child, .event-posters picture:first-child img { width: 1024px; height: auto; }
.event-posters picture:first-child img { object-fit: contain; }
.event-posters picture + picture, .event-posters picture + picture img { width: 791px; height: auto; }
.event-posters picture + picture { margin-top: 20px; }
.event-posters picture + picture img { object-fit: contain; }
.event-embeds { margin-top: 20px; }
.event-embeds iframe { width: 100%; height: 726px; border: 0; }
.event-embeds iframe + iframe { margin-top: 27.390625px; }
.event-empty-line { display: block; height: 77.78125px; }
.event-embeds { padding-bottom: 17.390625px; }

/* Ministries */
.ministries-panel { position: relative; width: 90vw; height: 603.125px; margin: 40px auto 24px; overflow: hidden; color: #fff; }
.ministries-panel > picture { position: absolute; inset: 0; width: 100%; height: 100%; }
.ministries-panel > picture img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.ministries-overlay { position: absolute; inset: 0; background: #535158; opacity: .5; }
.ministries-list { position: relative; z-index: 1; padding: 16px; }
.ministries-list details { margin-bottom: 24px; }
.ministries-list summary { height: 26.390625px; margin-bottom: 24px; color: #fff; font-size: 16px; line-height: 26.4px; cursor: pointer; }
.ministries-list details[open] summary { margin-bottom: 0; }

/* Sermons */
.sermon-content { margin-top: 64px; padding-bottom: 24px; }
.sermon-content h1 { font-size: 40px; line-height: 60px; text-align: center; }
.sermon-content p { margin-top: 22px; font-size: 16px; line-height: 26.4px; }
.sermon-content video { width: 100%; height: auto; margin-top: 24px; background: #000; }

/* Donations */
.donations-content { margin-top: 160px; text-align: center; }
.donations-content h3 { font-size: 30px; line-height: 45px; text-align: center; }
.donations-content img { width: 858px; height: auto; margin: 19px auto 0; }

/* Contact */
.contact-content { margin-top: 40px; text-align: center; }
.contact-content p { font-size: 16px; line-height: 26.4px; text-align: center; }
.contact-content p + p { margin-top: 24px; }
.contact-content iframe { width: 600px; height: 450px; margin: 24px auto 0; border: 0; }

/* Campus */
.campus-content { margin-top: 101px; }
.campus-group { width: 100%; text-align: center; }
.campus-group h2 { font-size: 35px; line-height: 35px; text-align: center; }
.campus-group h4 { overflow-wrap: anywhere; font-size: 25px; line-height: 25px; text-align: center; }
.campus-group h2 + h4 { margin-top: 20px; }
.campus-group h4 + h2 { margin-top: 71px; }
.campus-group h4 + h4 { margin-top: 20px; }
.campus-light { padding: 0 10px 142px; }
.campus-dark { padding: 120px 10px 61px; color: #fff; background: #000; }
.campus-dark h2, .campus-dark h4 { color: #fff; }
.not-found { min-height: 600px; text-align: center; }

@media (max-width: 1100px) and (min-width: 1000px) {
  .site-title { font-size: 24px; }
  .nav-priority-3, .nav-priority-4, .nav-priority-5 { display: none; }
  .more-dropdown .overflow-link { display: block; }
  .more-dropdown { right: 0; left: auto; }
}

@media (min-width: 1101px) and (max-width: 1330px) {
  .nav-priority-5 { display: none; }
  .more-dropdown .overflow-donations { display: block; }
  .home-intro { height: 1385px; }
  .home-purple { height: 500px; }
  .home-family { grid-template-columns: 50% minmax(0, 1fr); }
  .home-family picture, .home-family img { width: 100%; height: auto; aspect-ratio: 3 / 2; }
  .home-family h2 { width: calc(100% - 10px); }
  .home-purple h2 { width: calc(100% - 180px); }
}

@media (min-width: 769px) and (max-width: 1100px) {
  .home-intro { height: 1420px; }
  .home-purple { height: 560px; }
  .home-family { grid-template-columns: 50% minmax(0, 1fr); }
  .home-family picture, .home-family img { width: 100%; height: auto; aspect-ratio: 3 / 2; }
  .home-family h2 { width: calc(100% - 10px); }
  .home-purple h2 { width: calc(100% - 180px); }
  .about-content { margin-top: 60px; }
  .about-mission { margin-top: 60px; }
  .pastors { width: calc(100% + 20px); margin-top: 248px; margin-left: -10px; }
}

@media (max-width: 999px) {
  .site-header { height: auto; min-height: 71px; }
  .header-inner { width: 88vw; height: auto; min-height: 71px; padding: 5px 0; }
  .site-logo, .site-logo img { width: 58px; height: 58px; flex-basis: 58px; }
  .site-title { margin-left: 16px; font-size: 24px; line-height: 39.6px; white-space: normal; }
  .desktop-navigation { display: none; }
  .mobile-trigger { display: flex; flex: 0 0 18px; width: 18px; height: 18px; align-items: center; justify-content: center; }
}

@media (max-width: 767px) {
  :root { --container: 88vw; }
  .inner-main { padding: 50px 0; }
  .page-title { height: 78.1875px; }
  .page-title h1 { margin-top: 20px; font-size: 25px; line-height: 37.5px; }

  .site-footer { height: 508.78125px; }
  .footer-main { height: 354px; padding-top: 41px; display: block; }
  .footer-main::after { display: none; }
  .footer-main h3 { margin-bottom: 14.8px; }
  .footer-sites { margin-top: 50.390625px; padding-left: 0; }
  .footer-bottom { height: 154.78125px; }
  .footer-socials { top: 14px; left: 50%; transform: translateX(-50%); }
  .copyright { top: 119.28125px; left: 50%; right: auto; width: calc(100% - 44px); transform: translateX(-50%); text-align: center; }

  .home-hero { height: 715px; background-position: 0 0; }
  .home-hero { background-image: var(--asset-home-hero-mobile, url("/assets/home-hero.jpg")); }
  .home-hero .container { transform: translateY(10px); }
  .home-hero h2 { font-size: 40px; line-height: 60px; text-align: center; }
  .home-intro { height: auto; padding-top: 110px; }
  .home-intro-copy { width: calc(88vw - 20px); }
  .home-intro-copy h2 { font-size: 35px; line-height: 35px; }
  .home-intro-copy .home-intro-title { font-size: 25px; line-height: 25px; }
  .home-intro-copy h2 + h2 { margin-top: 90px; }
  .home-intro { padding-bottom: 110px; }
  .home-family { height: 634px; margin-top: 0; padding: 58.3125px 23px 0; display: block; }
  .home-family picture, .home-family img { width: 100%; height: auto; aspect-ratio: 3 / 2; }
  .home-family h2 { width: calc(100% - 20px); margin: 146.8125px auto 0; font-size: 25px; line-height: 37.5px; }
  .home-purple { height: 522.5px; margin-top: 100px; padding: 70px 23px 0; display: block; }
  .home-purple h2 { width: 100%; font-size: 25px; line-height: 37.5px; }
  .home-main article { padding-bottom: 90px; }

  .about-content { width: calc(88vw - 20px); margin-top: 60px; }
  .about-row { display: block; }
  .about-row h2 { font-size: 35px; line-height: 35px; }
  .about-row h2 + h2 { margin-top: 20px; line-height: 52.5px; }
  .about-vision > div { margin-top: 90px; }
  .about-mission { margin-top: 60px; }
  .about-mission > picture { margin-top: 37.5px; }
  .pastors { margin-top: 230px; }

  .events-banner { height: 560px; margin-top: 40px; }
  .events-banner h1 { width: calc(100% - 20px); font-size: 40px; line-height: 40px; }
  .event-posters { margin-top: 0; }
  .event-posters picture:first-child, .event-posters picture:first-child img { width: 100%; height: auto; }
  .event-posters picture + picture, .event-posters picture + picture img { width: 100%; height: auto; }
  .event-posters picture + picture { margin-top: 20px; }
  .event-embeds { margin-top: 20px; }
  .event-embeds iframe { height: 726px; }

  .ministries-panel { width: 88vw; margin-top: 40px; }

  .sermon-content { width: 88vw; margin-top: 64px; }
  .sermon-content h1 { font-size: 40px; line-height: 60px; }
  .donations-content { margin-top: 160px; }
  .donations-content h3 { font-size: 30px; line-height: 45px; }
  .donations-content img { width: 100%; }

  .contact-content { margin-top: 40px; }
  .contact-content iframe { width: 300px; height: 450px; }

  .campus-content { margin-top: 101px; }
  .campus-group { padding-inline: 10px; }
  .campus-group h2 { font-size: 35px; line-height: 35px; }
  .campus-group h4 { font-size: 25px; line-height: 25px; }
}

@media (width: 768px) {
  .page-title { height: 85.6875px; }
  .page-title h1 { margin-top: 20px; font-size: 30px; line-height: 45px; }

  .site-footer { height: 548.828125px; }
  .footer-main { height: 413.328125px; padding-top: 51px; display: block; }
  .footer-main::after { display: none; }
  .footer-sites { margin-top: 50.390625px; padding-left: 0; }
  .footer-bottom { height: 135.5px; }
  .footer-socials { top: 26px; left: 50%; gap: 25px; transform: translateX(-50%); }
  .footer-socials a { width: 15px; height: 15px; }
  .copyright { top: 90px; left: 50%; right: auto; width: 100%; transform: translateX(-50%); text-align: center; }

  .about-content { margin-top: 60px; }
  .about-mission { margin-top: 60px; }
  .pastors { width: calc(100% + 20px); margin-top: 248px; margin-left: -10px; }

  .home-hero { height: 805px; background-position: 0 0; }
  .home-intro { height: 1515px; }
  .home-intro-copy .home-intro-title { font-size: 25px; line-height: 25px; }
  .home-family { height: 703.28125px; padding: 0 30px; display: block; }
  .home-family picture, .home-family img { width: 100%; height: auto; aspect-ratio: 3 / 2; }
  .home-family h2 { width: calc(100% - 20px); margin: 110px auto 0; font-size: 25px; line-height: 37.5px; }
  .home-purple { height: 520px; padding-top: 80px; display: block; }
  .home-purple h2 { width: calc(100% - 160px); margin-inline: auto; font-size: 25px; line-height: 60px; }
}

@media (min-width: 401px) and (max-width: 767px) {
  .home-purple { height: 447.5px; }
}

@media (max-width: 500px) {
  .header-inner { padding-block: 0; }
  .site-title { flex: 0 0 221.1875px; width: 221.1875px; }
  .site-title span { display: inline; }
}

@media (max-width: 500px) {
  .site-header { height: 80.1875px; min-height: 80.1875px; }
  .header-inner { min-height: 80.1875px; }
}
