/*
Theme Name: CBGS
Theme URI: https://opencollective.com/blankslate
Author: Web Guy
Author URI: https://opencollective.com/blankslate#section-contributors
Description: Donate: https://opencollective.com/blankslate. Learn: https://blankslate.me/. BlankSlate is the definitive WordPress boilerplate starter theme. I've carefully constructed the most clean and minimalist theme possible for designers and developers to use as a base to build websites for clients or to build completely custom themes from scratch. Clean, simple, unstyled, semi-minified, unformatted, and valid code, SEO-friendly, jQuery-enabled, no programmer comments, standardized and as white label as possible, and most importantly, the CSS is reset for cross-browser-compatability, with no intrusive visual CSS styles added whatsoever. A perfect skeleton theme. For support and suggestions, go to: https://github.com/webguyio/blankslate/issues. Thank you.
Tags: accessibility-ready, one-column, two-columns, custom-menu, featured-images, microformats, sticky-post, threaded-comments, translation-ready
Version: 2026
Requires at least: 5.2
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v3 or Later
License URI: https://www.gnu.org/licenses/gpl.html
Text Domain: blankslate

BlankSlate WordPress Theme 2011-2026
BlankSlate is distributed under the terms of the GNU GPL
*/

*{margin:0;padding:0;box-sizing:border-box}
:root{
  --main-green:#5e872d;
  --secondary-orange:#e7792b;
  --tertiary-blue:#00a3da;
  --darkend-green:#425E1F;
  --light-green:#D2EDB2;
  --green-mid:#2D6A4F;
  --green-light:#87A878;
  --green-pale:#D8F3DC;
  --cream:rgba(231, 121, 43, 0.072);
  --ivory:#FDFBF7;
  --terra-dark:#9A4E1E;
  --sky:#D6EAF8;
  --text-dark:#2b2b2b;
  --text-mid:#4d4e4d;
  --text-light:#4d4e4d;
  --serif:'Cormorant Garamond',serif;
  --sans:'DM Sans',sans-serif;
  --nav-h:80px;
  --slider-bg: #f5f4f0;
  --slider-track-bg: #ffffff;
  --slider-logo-filter: grayscale(100%) opacity(0.55);
  --slider-logo-filter-hover: grayscale(0%) opacity(1);
  --slider-fade-color: #ffffff;
  --slider-slide-duration: 28s;
  --slider-logo-h-desktop: 52px;
  --slider-logo-h-mobile: 36px;
  --slider-gap: 64px;
  --slider-gap-mobile: 40px;
  --slider-visible-desktop: 5;
  --slider-visible-mobile: 2;
  --gallery-bg:             #0d0d0d;
  --gallery-surface:        #161616;
  --gallery-border:         #2a2a2a;
  --gallery-text:           #e8e0d0;
  --gallery-text-muted:     #665f52;
  --gallery-accent:         #c8a96e;
  --gallery-accent-deep:    #7c5c3e;
  --gallery-slide-radius:   4px;
  --gallery-transition:     0.65s cubic-bezier(0.77, 0, 0.18, 1);

  --primary-green: #1e3d2f;    /* Deep forest green from Canadensis */
  --accent-gold: #c49a45;     /* Warm gold accent */
  --bg-cream: #fdfbf7;        /* Soft background ivory */
  --text-dark: #2b2b2b;       /* Charcoal for elegant readability */
  --text-lighter: #ffffff;
  --transition-smooth: all 0.3s ease;

}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  background-color: #dfeFE0; !important;
  color:var(--text-dark);
  overflow-x:hidden;
  font-size: 18px;
}

/* ═══════════════════════════════
	 NAV
═══════════════════════════════ */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:0 2rem;transition:background .4s,box-shadow .4s;
  background-color: #fff;
  padding: 10px 0;
  min-height: 100px;
}
nav.scrolled{
  background-color: #fff;
  backdrop-filter:blur(14px);
  box-shadow:0 1px 24px rgba(27,67,50,.09);
}
.nav-inner{
  max-width:100%;
  margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  height:var(--nav-h);
  padding: 0 20px;
}

/* Logo */
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;cursor:pointer;flex-shrink:0}

.logo-mark svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.5}
.logo-mark img {
  width: 100%;
  height: auto;
  display: block;
  /*max-height: 50px;*/
  max-width: 180px;
}
.logo-text{font-family:var(--serif);font-size:1.1rem;font-weight:600;color:var(--main-green);line-height:1.2}
.logo-text span{display:block;font-size:.6rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--green-light)}

/* Desktop nav links */
.nav-links{display:flex;gap:1.5rem;list-style:none}
.nav-links a{
  text-decoration:none;font-size:.83rem;color:var(--text-mid);
  letter-spacing:.02em;cursor:pointer;padding:.25rem 0;
  border-bottom:1.5px solid transparent;transition:all .2s;
}
.nav-links a:hover,.nav-links a.active{
  color:var(--tertiary-blue);
  border-bottom-color:var(--tertiary-blue);
}

/* Desktop utility buttons */
.nav-utils{
  display:flex;
  flex-direction:column;
  text-align: center;
  justify-content: center;
  /*align-items:center;
  gap:.6rem*/
}
.btn-lang{
  background:none;border:.5px solid var(--green-mid);color:var(--main-green);
  font-family:var(--sans);font-size:.72rem;letter-spacing:.08em;
  padding:.38rem .75rem;border-radius:20px;cursor:pointer;transition:all .2s;white-space:nowrap;
}
.btn-lang:hover{background:var(--green-pale)}
.btn-login{
  background:none;border:.5px solid var(--green-mid);color:var(--main-green);
  font-family:var(--sans);font-size:.8rem;padding:.42rem .9rem;border-radius:6px;
  cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.35rem;white-space:nowrap;
}
.btn-login:hover{background:var(--green-pale)}
.btn-donate{
  background:var(--secondary-orange);border:none;color:#fff;
  font-family:var(--sans);font-size:.8rem;font-weight:500;
  padding:.46rem 1.1rem;border-radius:6px;cursor:pointer;
  transition:all .2s;display:flex;align-items:center;gap:.35rem;white-space:nowrap;
}
.btn-donate:hover{background:var(--terra-dark);transform:translateY(-1px)}

.btn-donate a {
  text-decoration: none;
  color:#fff;
}


.alignright {
  float: right;
  clear: right;
  margin-left: 1rem;
  margin-right: 0;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.aligncenter {
  margin-left: auto;
  margin-right: auto;
}

.content-top-img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}


.previousreports {
  background: var(--secondary-orange);
  border: none;
  color: #fff;
  font-family: var(--sans);
  font-size: .8rem;
  font-weight: 500;
  padding: .46rem 1.1rem;
  border-radius: 6px;
  cursor: pointer;
  transition: all .2s;
  display: flex;
  align-items: center;
  gap: .35rem;
  white-space: nowrap;
  text-decoration: none;
}


  /* ═══════════════════════════════
     HAMBURGER BUTTON
  ═══════════════════════════════ */
.hamburger{
  display:none;flex-direction:column;justify-content:center;
  gap:5px;width:40px;height:40px;background:none;border:none;
  cursor:pointer;padding:6px;border-radius:6px;transition:background .2s;
  flex-shrink:0;
}
.hamburger:hover{background:var(--green-pale)}
.hamburger span{
  display:block;width:22px;height:2px;background:var(--main-green);
  border-radius:2px;transition:all .35s cubic-bezier(.4,0,.2,1);transform-origin:center;
}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ═══════════════════════════════
	 MOBILE DRAWER
═══════════════════════════════ */
.mobile-menu{
  display:none;
  position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;
  background:var(--ivory);z-index:999;
  overflow-y:auto;
  transform:translateY(-8px);opacity:0;
  transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .3s ease;
  pointer-events:none;
}
.mobile-menu.open{
  transform:translateY(0);opacity:1;pointer-events:all;
}
.mobile-menu-inner{
  padding:1.5rem 1.75rem 3rem;
  display:flex;flex-direction:column;gap:0;
}
.mob-nav-link{
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 0;border-bottom:.5px solid rgba(27,67,50,.1);
  font-family:var(--serif);font-size:1.35rem;color:var(--text-mid);
  cursor:pointer;text-decoration:none;transition:color .2s;
}
.mob-nav-link:hover,.mob-nav-link.active{color:var(--tertiary-blue)}
.mob-nav-link .arrow{font-size:.9rem;opacity:.4;transition:transform .2s}
.mob-nav-link:hover .arrow{transform:translateX(4px);opacity:.7}
.mob-divider{height:.5px;background:rgba(27,67,50,.08);margin:1.25rem 0}
.mob-utils{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}
.mob-btn{
  width:100%;padding:.85rem 1rem;border-radius:8px;
  font-family:var(--sans);font-size:.95rem;font-weight:500;
  cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;
}
.mob-btn-outline{background:none;border:1.5px solid var(--green-mid);color:var(--main-green)}
.mob-btn-outline:hover{background:var(--green-pale)}

.mob-btn-outline a {color:var(--main-green); text-decoration: none;}

.mob-btn-terra a {color: #fff; text-decoration: none;}

.mob-btn-terra{background:var(--secondary-orange);border:none;color:#fff}
.mob-btn-terra:hover{background:var(--terra-dark)}
.mob-lang-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;margin-bottom:.25rem}
.mob-lang-row span{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-light)}
.mob-lang-toggle{display:flex;background:var(--cream);border-radius:20px;padding:3px;gap:2px}
.mob-lang-opt{
  padding:.3rem .85rem;border-radius:16px;border:none;background:none;
  font-family:var(--sans);font-size:.78rem;cursor:pointer;color:var(--text-mid);transition:all .2s;
}
.mob-lang-opt.active{background:var(--main-green);color:#fff}

/* overlay behind mobile menu */
.menu-overlay{
  display:none;position:fixed;inset:0;top:var(--nav-h);background:rgba(0,0,0,.3);
  z-index:998;opacity:0;transition:opacity .3s;
}
.menu-overlay.open{opacity:1}

/* ═══════════════════════════════
	 PAGES
═══════════════════════════════ */
.page{padding-top:var(--nav-h);animation:fadeIn .4s ease}
.page.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* ═══════════════════════════════
	 HERO
═══════════════════════════════ */
.hero{
  /*background:linear-gradient(160deg,var(--main-green) 0%,var(--green-mid) 55%,#3a7d5c 100%);*/
  background: rgb(44 64 21 / 0.81);
  position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  opacity:.70;
  background-size:cover;
  background-position: center;
}
.hero-bg svg{width:100%;height:100%}
.hero-content{text-align:center;z-index:1;padding:1.5rem;max-width:980px;width:100%}
.hero-eyebrow{
  display: none;
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--light-green);
  margin-bottom:1.25rem;
  /*background-color: rgb(72 111 182 / 0.76);
  color: #fff;
  display: inline;
  padding: 0.3rem;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  line-height: 30px;*/
}
.hero-title{
  font-family:var(--serif);
  font-size:clamp(2.4rem,6vw,4.8rem);
  font-weight:700;
  color:#fff;
  line-height:1.1;
  margin-bottom:.9rem;
  text-shadow: 2px 2px 5px #000;
  /*background-color: rgb(72 111 182 / 0.76);
  color: #fff;
  display: inline;
  padding: 0.3rem;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;*/
}

.deepshadow {
  /*text-shadow: 0 13.36px 8.896px #000,0 -2px 1px #fff;*/
  text-shadow: 0 13.36px 8.896px #000,0 3px 1px #000;
}

h1.deepshadow {
  font-size: 5vw !important;
}

.hero-title em{font-style:italic;}
.hero-sub{font-size:clamp(.85rem,2vw,1rem);color:rgba(255,255,255,.75);margin-bottom:2.25rem;line-height:1.7;max-width:460px;margin-left:auto;margin-right:auto}
.hero-btns{display:flex;gap:.875rem;justify-content:center;flex-wrap:wrap;margin-top: 30px;}
.btn-outline-white{background:none;border:1.5px solid rgba(255,255,255,.6);color:#fff;font-family:var(--sans);font-size:.88rem;padding:.7rem 1.6rem;border-radius:6px;cursor:pointer;transition:all .2s}
.btn-outline-white:hover{background:rgba(255,255,255,.12);border-color:#fff}
.btn-filled-terra{
  background:var(--secondary-orange);
  border:1px solid white;
  color:#fff;
  font-family:var(--sans);
  font-size:17px;
  font-weight:500;
  padding:.7rem 1.6rem;
  border-radius:6px;
  cursor:pointer;
  transition:all .2s;
}
.btn-filled-terra:hover{transform:translateY(-2px)}

.hero-btns button:nth-child(1) {
  background-color: var(--main-green);
}
.hero-btns button:nth-child(2) {
  background-color: var(--tertiary-blue);
}
.hero-btns button:nth-child(3) {

}

/* ═══════════════════════════════
	 QUICK INFO BAR
═══════════════════════════════ */
.quick-info{background:var(--cream);border-bottom:1px solid rgba(27,67,50,.1);display:grid;grid-template-columns:repeat(4,1fr)}
.qi-item{padding:1.1rem 1rem;text-align:center;border-right:1px solid rgba(27,67,50,.1);cursor:pointer;transition:background .2s}
.qi-item:last-child{border-right:none}
.qi-item:hover{background:var(--green-pale)}
.qi-icon{font-size:1.15rem;margin-bottom:.3rem}
.qi-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--green-light);margin-bottom:.2rem}
.qi-val{font-size:.88rem;font-weight:500;color:var(--main-green)}

/* ═══════════════════════════════
	 SECTIONS
═══════════════════════════════ */
.section{padding:4rem 1.5rem;max-width:1280px;margin:0 auto}
.section-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:var(--secondary-orange);margin-bottom:.65rem}
.section-title{font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.9rem);font-weight:400;color:var(--main-green);line-height:1.2;margin-bottom:.9rem}

.content h2 {font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.9rem);font-weight:400;color:var(--main-green);line-height:1.2;margin-bottom:.9rem}

.content ul li a {
  color: var(--secondary-orange);
}

.section-sub{font-size:.95rem;color:var(--text-mid);line-height:1.75;max-width:540px}

/* ═══════════════════════════════
	 CARDS
═══════════════════════════════ */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.25rem;margin-top:2.5rem}
.card{background:#fff;border-radius:12px;overflow:hidden;border:.5px solid rgba(27,67,50,.1);transition:all .3s;cursor:pointer}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(27,67,50,.12)}
.card-img{height:190px;overflow:hidden}
.card-img-inner{width:100%;height:100%;transition:transform .5s}
.card:hover .card-img-inner{transform:scale(1.06)}
.card-body{padding:1.2rem}
.card-tag{display:inline-block;background:var(--green-pale);color:var(--green-mid);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;padding:.22rem .65rem;border-radius:4px;margin-bottom:.7rem}
.card-title{font-family:var(--serif);font-size:1.2rem;color:var(--main-green);margin-bottom:.45rem;line-height:1.3}
.card-meta{font-size:.75rem;color:var(--text-light);margin-bottom:.7rem}
.card-excerpt{font-size:17px;color:var(--text-mid);line-height:1.65}
.card-cta{display:inline-flex;align-items:center;gap:.4rem;margin-top:.9rem;font-size:.8rem;color:var(--secondary-orange);font-weight:500;cursor:pointer;transition:gap .2s}
.card-cta:hover{gap:.75rem}

/* ═══════════════════════════════
	 CTA BANNER
═══════════════════════════════ */
.cta-banner{
  background:var(--main-green);
  background-position: center;
  background-size: cover;
  padding:4.5rem 1.5rem;
  text-align:center;
  position:relative;
  overflow:hidden;
}



.cta-banner-inner{max-width:660px;margin:0 auto;position:relative;z-index:1;text-shadow: 2px 2px 5px #000;}
.cta-banner h2{font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.9rem);color:#fff;margin-bottom:.9rem;font-weight:400}
.cta-banner p{
  color:#fff;
  font-size:18px;
  line-height:1.75;
  margin-bottom:2rem;
}
.cta-banner-btns{display:flex;gap:.875rem;justify-content:center;flex-wrap:wrap}

/* ═══════════════════════════════
	 GALLERY
═══════════════════════════════ */
.gallery-tabs{display:flex;border-bottom:1.5px solid rgba(27,67,50,.12);margin-bottom:2rem}
.gtab{background:none;border:none;font-family:var(--sans);font-size:.88rem;color:var(--text-mid);padding:.7rem 1.4rem;cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1.5px;transition:all .2s}
.gtab.active{color:var(--main-green);border-bottom-color:var(--main-green);font-weight:500}
.photo-grid{columns:3;column-gap:.875rem}
.photo-item{break-inside:avoid;margin-bottom:.875rem;border-radius:8px;overflow:hidden;cursor:pointer}
.photo-placeholder{width:100%;display:flex;align-items:center;justify-content:center;border-radius:8px;font-family:var(--serif);font-size:.85rem;color:rgba(255,255,255,.85);text-align:center;padding:.75rem;transition:transform .4s}
.photo-item:hover .photo-placeholder{transform:scale(1.03)}

/* ═══════════════════════════════
	 MEMBERSHIP TIERS
═══════════════════════════════ */
.tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.1rem;margin-top:2.25rem}
.tier{background:#fff;border:.5px solid rgba(27,67,50,.15);border-radius:12px;padding:1.6rem 1.35rem;position:relative;transition:all .3s}
.tier:hover{border-color:var(--green-mid);box-shadow:0 8px 30px rgba(27,67,50,.1)}
.tier.featured{border:2px solid var(--main-green);background:var(--green-pale)}
.tier-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--main-green);color:#fff;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;padding:.28rem .85rem;border-radius:20px;white-space:nowrap}
.tier-name{font-family:var(--serif);font-size:1.3rem;color:var(--main-green);margin-bottom:.22rem}
.tier-price{font-size:1.9rem;font-weight:500;color:var(--secondary-orange);line-height:1}
.tier-price span{font-size:.82rem;color:var(--text-light);font-weight:400}
.tier-divider{height:.5px;background:rgba(27,67,50,.12);margin:.9rem 0}
.tier ul{list-style:none;margin-bottom:1.35rem}
.tier ul li{font-size:.81rem;color:var(--text-mid);padding:.28rem 0;padding-left:1.1rem;position:relative}
.tier ul li::before{content:'✓';position:absolute;left:0;color:var(--green-mid);font-weight:600}
.btn-tier{width:100%;background:var(--main-green);color:#fff;border:none;font-family:var(--sans);font-size:.83rem;font-weight:500;padding:.6rem 1rem;border-radius:6px;cursor:pointer;transition:all .2s}
.btn-tier:hover{background:var(--green-mid)}
.tier.featured .btn-tier{background:var(--secondary-orange)}
.tier.featured .btn-tier:hover{background:var(--terra-dark)}

/* ═══════════════════════════════
	 EVENTS
═══════════════════════════════ */
#page-events {margin-top: 40px;}
.event-filter{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.75rem}
.filter-pill{background:none;border:.5px solid rgba(27,67,50,.2);color:var(--text-mid);font-family:var(--sans);font-size:.76rem;padding:.32rem .85rem;border-radius:20px;cursor:pointer;transition:all .2s}
.filter-pill.active,.filter-pill:hover{background:var(--main-green);border-color:var(--main-green);color:#fff}
.event-card{display:grid;grid-template-columns:86px 1fr auto;gap:1.1rem;align-items:center;background:#fff;border:.5px solid rgba(27,67,50,.1);border-radius:10px;padding:1.1rem;margin-bottom:.875rem;transition:all .2s;cursor:pointer}
.event-card:hover{border-color:var(--green-mid);box-shadow:0 4px 20px rgba(27,67,50,.08)}
.event-date-box{background:var(--main-green);color:#fff;border-radius:8px;padding:.65rem .5rem;text-align:center}
.event-date-box .month{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;opacity:.75}
.event-date-box .day{font-size:1rem;line-height:1}
.event-date-box .year{font-size:1rem;line-height:1}
.event-info .title{font-family:var(--serif);font-size:1.05rem;color:var(--main-green);margin-bottom:.25rem}
.event-info .meta{font-size:.75rem;color:var(--text-light);display:flex;gap:.75rem;flex-wrap:wrap}
.event-info .excerpt{font-size:.83rem;color:var(--text-mid);margin-top:.35rem;line-height:1.55}
.btn-register{background:var(--secondary-orange);color:#fff;border:none;font-family:var(--sans);font-size:.76rem;padding:.46rem 1rem;border-radius:6px;cursor:pointer;white-space:nowrap;transition:all .2s;flex-shrink:0}
.btn-register:hover{background:var(--terra-dark)}

/* ═══════════════════════════════
	 NEWS
═══════════════════════════════ */
.news-featured{display:grid;grid-template-columns:1.35fr 1fr;gap:1.75rem;margin-bottom:2.5rem}
.news-hero-card{background:#fff;border-radius:12px;overflow:hidden;border:.5px solid rgba(27,67,50,.1);cursor:pointer;transition:all .3s}
.news-hero-card:hover{box-shadow:0 12px 40px rgba(27,67,50,.12)}
.news-hero-img{height:260px;display:flex;align-items:center;justify-content:center}
.news-secondary{display:flex;flex-direction:column;gap:1.1rem}
.news-sm-card{background:#fff;border-radius:10px;overflow:hidden;border:.5px solid rgba(27,67,50,.1);display:grid;grid-template-columns:90px 1fr;cursor:pointer;transition:all .2s;flex:1;min-height:100px}
.news-sm-card:hover{border-color:var(--green-mid)}
.news-sm-img{display:flex;align-items:center;justify-content:center}

/* ═══════════════════════════════
	 DONATE
═══════════════════════════════ */
.donate-hero{background:linear-gradient(135deg,var(--main-green),var(--green-mid));padding:4.5rem 1.5rem;text-align:center;color:#fff}
.donate-hero h1{font-family:var(--serif);font-size:clamp(2rem,5vw,3rem);font-weight:400;margin-bottom:.9rem}
.donate-hero p{opacity:.8;max-width:480px;margin:0 auto;line-height:1.75;font-size:.95rem}
.impact-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;max-width:660px;margin:2.5rem auto 0}
.stat-num{font-family:var(--serif);font-size:2.75rem;color:var(--light-green);font-weight:400;line-height:1}
.stat-label{font-size:.78rem;color:rgba(255,255,255,.65);margin-top:.3rem}
.donate-form{max-width:540px;margin:3rem auto;background:#fff;border-radius:16px;padding:2.25rem;border:.5px solid rgba(27,67,50,.1)}
.amount-btns{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin:1.1rem 0}
.amt-btn{background:none;border:1.5px solid rgba(27,67,50,.2);color:var(--main-green);font-family:var(--sans);font-size:.95rem;font-weight:500;padding:.7rem;border-radius:8px;cursor:pointer;transition:all .2s}
.amt-btn.active,.amt-btn:hover{background:var(--main-green);border-color:var(--main-green);color:#fff}
.freq-btns{display:flex;gap:.45rem;margin:1.1rem 0;flex-wrap:wrap}
.freq-btn{background:none;border:.5px solid rgba(27,67,50,.2);color:var(--text-mid);font-family:var(--sans);font-size:.83rem;padding:.42rem .95rem;border-radius:20px;cursor:pointer;transition:all .2s}
.freq-btn.active,.freq-btn:hover{background:var(--green-pale);border-color:var(--main-green);color:var(--main-green)}
.form-row{margin-bottom:.9rem}
.form-row label{display:block;font-size:.75rem;color:var(--text-mid);margin-bottom:.38rem;letter-spacing:.04em}
.form-row input,.form-row select{width:100%;padding:.6rem .85rem;border:.5px solid rgba(27,67,50,.2);border-radius:6px;font-family:var(--sans);font-size:.88rem;color:var(--text-dark);outline:none;transition:border .2s;background:#fff}
.form-row input:focus,.form-row select:focus{border-color:var(--green-mid);box-shadow:0 0 0 3px rgba(27,67,50,.07)}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:.875rem}

/* ═══════════════════════════════
	 VISIT
═══════════════════════════════ */
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.75rem;margin-top:2.5rem}
.info-block{margin-bottom:1.75rem}
.info-block h3{font-family:var(--serif);font-size:1.35rem;color:var(--main-green);margin-bottom:.9rem}
.hours-table{width:100%;border-collapse:collapse}
.hours-table td{padding:.42rem 0;font-size:.86rem;border-bottom:.5px solid rgba(27,67,50,.08)}
.hours-table td:last-child{text-align:right;color:var(--green-mid);font-weight:500}
.map-placeholder{background:linear-gradient(135deg,var(--green-pale),var(--sky));border-radius:12px;height:280px;display:flex;align-items:center;justify-content:center;border:.5px solid rgba(27,67,50,.15)}

/* ═══════════════════════════════
	 FOOTER
═══════════════════════════════ */
footer.main-footer{background:var(--main-green);color:rgba(255,255,255,.75);padding:3.5rem 1.5rem 2rem}
.footer-inner{max-width:1280px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.5fr;gap:2.5rem;margin-bottom:2.5rem}
.footer-tagline{font-size:.83rem;margin-top:.7rem;line-height:1.65;color:var(--light-green);}
.footer-col h4{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--light-green);margin-bottom:.875rem}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:.45rem}
.footer-col ul li a{
  color:var(--light-green);
  text-decoration:none;font-size:.83rem;transition:color .2s;cursor:pointer}
.footer-col ul li a:hover{color:#fff}
.newsletter-input{display:flex;gap:.45rem;margin-top:.65rem}
.newsletter-input input{flex:1;padding:.55rem .85rem;background:rgba(255,255,255,.1);border:.5px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-family:var(--sans);font-size:.83rem;outline:none}
.newsletter-input input::placeholder{color:rgba(255,255,255,.4)}
.newsletter-input button{background:var(--secondary-orange);border:none;color:#fff;padding:.55rem .9rem;border-radius:6px;cursor:pointer;font-size:.78rem;transition:background .2s;white-space:nowrap}
.newsletter-input button:hover{background:var(--terra-dark)}
.footer-bottom{border-top:.5px solid rgba(255,255,255,.1);padding-top:1.35rem;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}
.land-ack{font-size:.73rem;color:rgba(255,255,255,.48);max-width:560px;line-height:1.65;font-style:italic}
.footer-legal{font-size:.7rem;color:rgba(255,255,255,.38);text-align:right}
.footer-legal a{color:rgba(255,255,255,.42);text-decoration:none;cursor:pointer}
.footer-legal a:hover{color:rgba(255,255,255,.7)}
.social-icons{display:flex;gap:.65rem;margin-top:.7rem}
.social-icons a{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;text-decoration:none;color:rgba(255,255,255,.65);font-size:.72rem}
.social-icons a:hover{background:rgba(255,255,255,.2);color:#fff}
footer.simple-footer{background:var(--main-green);color:rgba(255,255,255,.55);text-align:center;padding:1.35rem;font-size:.78rem}

/* ═══════════════════════════════
	 MODALS
═══════════════════════════════ */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:2000;align-items:center;justify-content:center;padding:1rem}
.modal-overlay.open{display:flex}
.modal{background:#fff;border-radius:16px;padding:2.25rem;width:100%;max-width:410px;position:relative;animation:modalIn .3s ease;max-height:90vh;overflow-y:auto}
@keyframes modalIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}
.modal-close{position:absolute;top:.9rem;right:1.1rem;background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--text-light);padding:.25rem}
.modal h2{font-family:var(--serif);font-size:1.65rem;color:var(--main-green);margin-bottom:.4rem}
.modal > p{font-size:.83rem;color:var(--text-mid);margin-bottom:1.35rem}

/* ═══════════════════════════════
	 COLOR PLACEHOLDERS
═══════════════════════════════ */
.bg-spring{background:linear-gradient(135deg,#d8f3dc,#b7e4c7)}
.bg-summer{background:linear-gradient(135deg,#1b4332,#2d6a4f)}
.bg-autumn{background:linear-gradient(135deg,#c1692b,#e07b3a)}
.bg-winter{background:linear-gradient(135deg,#d6eaf8,#85b7eb)}
.bg-rose{background:linear-gradient(135deg,#f4c2c2,#e07b9a)}
.bg-herb{background:linear-gradient(135deg,#c7e9b4,#87a878)}
.bg-orch{background:linear-gradient(135deg,#e8d5f5,#b39ddb)}
.bg-water{background:linear-gradient(135deg,#b3e5fc,#0288d1)}
.bg-ferny{background:linear-gradient(135deg,#c8e6c9,#388e3c)}
.bg-moss{background:linear-gradient(135deg,#dcedc8,#8bc34a)}
.bg-night{background:linear-gradient(135deg,#c4a882,#a07850)}
.ph-text{display:flex;align-items:center;justify-content:center;height:100%;font-family:var(--serif);font-size:.88rem;color:rgba(255,255,255,.88);text-align:center;padding:.75rem}


.swrap {
  display: flex;
  flex-wrap:wrap;
  justify-content: space-between;
  align-items: center;
}
.swrap a {
  width: 200px;
  margin: 20px;
  display: block;
}
.swrap a img {
  width: 100%;
  height: auto;
  display: block;
}

.home-content video {
  padding: 30px 0;
  width: 100%;
  height: auto;
  max-width: 980px;
}

.video-row {
  display: flex;
}
.video-row-txt {
  margin-left: 40px;
}
.video-row-txt h2:first-of-type {
  margin-top: 0;
}

h3.section-title {
  font-family: var(--serif);
  font-size: 38px;
  font-weight: 400;
  color: var(--text-mid);
  line-height: 1.2;
  margin-bottom: .9rem;
}

.home-content h2:first-of-type {
  margin-top: 0;
}
.home-content h2 {
  font-size: clamp(1.8rem, 4vw, 2.9rem);
  color:var(--main-green);
  margin: 20px 0;
  font-family: var(--serif);
  font-weight: 400;
}
.home-content h3 {
  font-size: 34px;
  color:var(--main-green);
  margin: 20px 0;
  font-family: var(--serif);
  font-weight: 400;
}

.home-content p {
  margin: 10px 0;
  color: var(--text-mid);
  font-size: 16px;
  line-height: 24px;
}


.three-img-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 30px;
}

.three-img-wrap a {
  display: block;
  width: 30%;
  text-decoration: none;
  color: var(--main-green);
  text-align: center;
}

.three-img-wrap a img {
  width: 100%;
  height: auto;
  display: block;
}
.three-img-wrap a span {
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  color: var(--main-green);
  width: 100%;
  display: block;
  margin-top: 10px;
}

.slider-container li div a img {
  max-width: 200px;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.img-right {
  float: right;
  margin: 10px 10px 10px 30px;
}
.img-left {
  float: left;
  margin: 10px 30px 10px 10px;
}
.content-img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 480px;
}

.br20 {
  border-radius: 20px;
}

.map-wrap {
  display: flex;
  justify-content: space-between;
}

.map-wrap iframe {
  width: 47%;
  height: auto;
}
.map-img {
  width: 47%;

}
.map-img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;

}

.mbl-only {display: none;}

@media(max-width:768px){

  .map-wrap {
    flex-direction: column
  }
  .map-wrap iframe {width: 100%; min-height: 400px;}
  .map-img {width: 100%; margin-top: 30px;}

  .mbl-only {
    display: block;
  }
  .three-img-wrap {
    flex-direction: column;
  }
  .three-img-wrap a {
    width: 100%;
  }
  .video-row {
    flex-direction: column;
  }
  .video-row video {max-width: 100% !important;}
  .video-row-txt {
    margin-left: 0;
  }

}


/* ═══════════════════════════════
	 RESPONSIVE BREAKPOINTS
═══════════════════════════════ */

/* Tablet */
@media(max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:2rem}
  .nav-links{gap:1.1rem}
}

/* Mobile — hide desktop nav, show hamburger */
@media(max-width:768px){
  :root{--nav-h:60px}
  nav{padding:0 1.1rem}

  /* Hide desktop nav & utils */
  .nav-links{display:none}
  .nav-utils{display:none}

  /* Show hamburger */
  .hamburger{display:flex}

  /* Show mobile menu when open */
  .mobile-menu{display:block}
  .menu-overlay{display:none}

  /* Hero */
  .hero{height:calc(100svh - var(--nav-h));min-height:420px}
  .hero-btns{flex-direction:column;align-items:center}
  .btn-outline-white,.btn-filled-terra{width:100%;max-width:280px;text-align:center}

  /* Quick info: 2×2 grid */
  .quick-info{grid-template-columns:1fr 1fr}
  .qi-item:nth-child(2){border-right:none}
  .qi-item:nth-child(3){border-top:1px solid rgba(27,67,50,.1)}
  .qi-item:nth-child(4){border-top:1px solid rgba(27,67,50,.1);border-right:none}

  /* Cards */
  .card-grid{grid-template-columns:1fr;gap:1rem}

  /* News */
  .news-featured{grid-template-columns:1fr;gap:1rem}
  .news-secondary{flex-direction:column}
  .news-sm-card{grid-template-columns:80px 1fr}

  /* Events */
  .event-card{grid-template-columns:72px 1fr;gap:.9rem;padding:.9rem}
  .btn-register{grid-column:1/-1;width:100%}
  .event-info .meta{flex-direction:column;gap:.2rem}

  /* Gallery */
  .photo-grid{columns:2;column-gap:.65rem}

  /* Membership tiers: single column */
  .tier-grid{grid-template-columns:1fr}

  /* Donate */
  .impact-stats{grid-template-columns:1fr;gap:.875rem;max-width:260px}
  .form-row-2{grid-template-columns:1fr}
  .amount-btns{grid-template-columns:1fr 1fr}

  /* Visit */
  .visit-grid{grid-template-columns:1fr}

  /* CTA Banner */
  .cta-banner-btns{flex-direction:column;align-items:center}
  .cta-banner-btns .btn-filled-terra,
  .cta-banner-btns .btn-outline-white{width:100%;max-width:300px}

  /* Footer */
  .footer-grid{grid-template-columns:1fr;gap:1.75rem}
  .footer-bottom{flex-direction:column}
  .footer-legal{text-align:left}
  .newsletter-input{flex-direction:column}
  .newsletter-input button{width:100%}
}

@media(max-width:380px){
  .logo-text span{display:none}
  .photo-grid{columns:1}
}


.slider-section {
  width: 100%;
  max-width: 1200px;
  padding: 0 32px;
}

.slider-label {
  text-align: center;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #9e9b93;
  margin-bottom: 28px;
  font-weight: 500;
}

/* ── track container with fade masks ── */
.slider-viewport {
  position: relative;
  overflow: hidden;
  background: var(--slider-track-bg);
}

/* left & right fade-out edges */
.slider-viewport::before,
.slider-viewport::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 120px;
  z-index: 2;
  pointer-events: none;
}
.slider-viewport::before {
  left: 0;
  background: linear-gradient(to right, var(--slider-fade-color), transparent);
}
.slider-viewport::after {
  right: 0;
  background: linear-gradient(to left, var(--slider-fade-color), transparent);
}

/* ── the scrolling strip ── */
.slider-track {
  display: flex;
  align-items: center;
  width: max-content;
  animation: marquee var(--slider-slide-duration) linear infinite;
  padding: 28px 0;
}

.slider-track:hover { animation-play-state: paused; }

@keyframes marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── individual logo slide ── */
.logo-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0 var(--slider-gap);
}

.logo-slide a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: transform 0.3s ease;
}

.logo-slide a:hover { transform: scale(1.05); }

.logo-slide img {
  display: block;
  height: auto;
  width: auto;
  min-width: 200px;
  max-width: 200px;
  object-fit: contain;
  filter: var(--slider-logo-filter);
  transition: filter 0.35s ease;
}

.logo-slide a:hover img {
  filter: var(--slider-logo-filter-hover);
}

/* ── mobile ── */
@media (max-width: 640px) {
  .slider-section { padding: 0 16px; }

  .slider-viewport::before,
  .slider-viewport::after { width: 60px; }

  .slider-track {
    --slider-slide-duration: 18s;
    padding: 20px 0;
  }

  .logo-slide {
    padding: 0 var(--slider-gap-mobile);
  }

  .logo-slide img {
    max-height: var(--slider-logo-h-mobile);
    max-width: 100px;
  }
}

.home-impact {
  padding: 40px 6% 110px 6%;
  /*background:
          radial-gradient(circle at top left, rgba(95, 139, 73, 0.18), transparent 35%),
          linear-gradient(180deg, #f7f3e9 0%, #ffffff 100%);*/
  overflow: hidden;
}

.impact-intro {
  max-width: 1200px;
  margin: 0 auto 60px;
  /*display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 70px;
  align-items: start;*/
}


.impact-heading h2 {
  font-size: clamp(1.8rem, 4vw, 2.9rem);
  color:var(--main-green);
  margin: 20px 0;
  font-family: var(--serif);
  font-weight: 400;
}

.impact-copy {
  margin: 10px 0;
  color: var(--text-mid);
  font-size: 16px;
  line-height: 24px;
}

.impact-copy p {
  margin-top: 0;
}

.impact-copy p:first-child {
  font-size: 20px;
  line-height: 1.55;
}

.impact-feature {
  max-width: 1200px;
  margin: 0 auto 70px;
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 0;
  align-items: stretch;
  background: #26351f;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 28px 70px rgba(38, 53, 31, 0.18);
}

.impact-feature-text {
  padding: 20px 30px;
  color: #fff;
  font-size: 1.1rem;
  line-height: 1.72;
}

.impact-feature-text p {
  margin: 30px 0;
}


.impact-paragraph p {
  font-size: 24px;
}

.impact-feature-text p img,
.impact-feature-text h1 img,
.impact-feature-text h2 img,
.impact-feature-text h3 img{
  width: auto;
  height: auto;
  min-height: initial !important;
  object-fit: initial;
}


.feature-lead {
  font-size: 1.7rem;
  line-height: 1.2;
  font-weight: 800;
  margin-bottom: 24px;
}

.impact-feature img {
  width: 100%;
  height: 100%;
  */min-height: 360px;*/
  object-fit: cover;
}

.impact-grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}

.impact-grid article {
  background: #fff;
  border: 1px solid rgba(38, 53, 31, 0.09);
  border-radius: 22px;
  padding: 20px 15px;
  box-shadow: 0 18px 45px rgba(38, 53, 31, 0.08);
}

.impact-icon {
  width: 42px;
  height: 42px;
  margin:0 auto 18px auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  /*background: rgba(95, 127, 46, 0.12);*/
  color: #5f7f2e;
  font-size: 1.2rem;
}

.impact-icon img {
  width: 100%;
  height: auto;
  display: block;
}

.impact-grid h3 {
  margin: 0 0 14px;
  font-size: 1.15rem;
  line-height: 1.25;
  color: #26351f;
  text-align: center;
}

.impact-grid p,
.impact-grid ul li{
  margin: 0;
  color: #56634d;
  line-height: 1.65;
  font-size: 0.95rem;
}
.impact-grid ul {
  margin: 0 0 0 10px;
}

.impact-closing-image {
  max-width: 1200px;
  margin: 28px auto 0;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 22px 55px rgba(38, 53, 31, 0.14);
}

.impact-closing-image img {
  width: 100%;
  display: block;
  max-height: 420px;
  object-fit: cover;
}

.home-impact hr {
  width: 24%;
  border:2px solid var(--main-green);
  margin: 30px 0;
}

img.flower-sml {
  display:block;
  max-width: 40%;
  width: 100%;
  height: auto;
  margin: 30px auto;
}
img.flower-med {
  display:block;
  max-width: 70%;
  width: 100%;
  height: auto;
  margin: 30px auto;
  min-height:inherit;
  object-fit: inherit;
}
img.flower-lrg {
  display:block;
  max-width: 85%;
  width: 100%;
  height: auto;
  margin: 30px auto;
  min-height:inherit;
  object-fit: inherit;
}


@media (max-width: 1100px) {
  .impact-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .impact-grid article:last-child {
    grid-column: span 2;
  }
}

@media (max-width: 900px) {
  .home-impact {
    padding: 75px 5%;
  }

  .impact-intro,
  .impact-feature {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .impact-feature {
    display: flex;
    flex-direction: column-reverse;
  }

  .impact-feature-text {
    padding: 34px;
  }

  .impact-grid {
    grid-template-columns: 1fr;
  }

  .impact-grid article:last-child {
    grid-column: auto;
  }
}

.location-section {
  background: #f7f3e9;
  padding: 0 0 90px;
  color: var(--text-mid);
}

.location-hero {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  min-height: 650px;
}

.location-copy {
  padding: 70px 5vw;
  /*background:
          radial-gradient(circle at top left, rgba(98, 128, 48, 0.13), transparent 38%),
          #faf7ef;*/
}

.section-kicker {
  display: inline-block;
  margin-bottom: 18px;
  color: #5f7f2e;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.location-copy h2,
.land-heading h2,
.land-text h2 {
  font-size: clamp(1.8rem, 4vw, 2.9rem);
  color:var(--main-green);
  margin: 20px 0;
  font-family: var(--serif);
  font-weight: 400;
}

.land-text h2 {
  border-right: 2px solid #ccc;
  padding-right: 30px;
}
.land-text {
  display: flex;
  width: 100%;
}

.land-text div p {
  margin: 10px;
}

.land-text p {
  padding-left: 30px;
}

.location-copy p, .land-text p {
  max-width: 720px;
  color: var(--text-mid);
  font-size: 18px;
  line-height: 24px;
}

.location-copy p {
  margin: 30px 0;
}

.location-points p {
  margin-top: auto;
}
.location-points {
  margin-top: 42px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.location-points div {
  display: flex;
  flex-direction: column;
  text-align: center;
  width: 33.3%;
  padding: 0 20px;
  min-height: 150px;
}
.location-points div:nth-child(2) {
  border-right:2px solid #ccc;
  border-left:2px solid #ccc;
}

.location-points span {
  color: #5f7f2e;
  font-size: 1.4rem;
  display: flex;
  justify-content: center;
}
.location-points span img {
  width: 60px;
  height: auto;
  display: block;
}

.location-image-wrap {
  position: relative;
  min-height: 650px;
  overflow: hidden;
}

.location-image-wrap > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.map-card {
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: 50px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 28px 34px;
  background: rgba(36, 83, 29, 0.88);
  color: #fff;
  border-radius: 24px;
}

.map-pin {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  background: #fff;
  color: #5f7f2e;
  border-radius: 50%;
  font-size: 2rem;
}

.map-link {
  color: #fff;
  text-decoration: none;
  font-weight: 700;
}

.land-card {
  width: min(1440px, calc(100% - 7vw));
  margin: 40px auto 0 auto;
  padding: 42px;
  background: rgba(255,255,255,0.78);
  border-radius: 26px;
}

.location-gallery {
  margin-top: 40px;
  display: grid;
  grid-template-columns: 1.25fr repeat(3, 1fr);
  gap: 26px;
}

.location-gallery img {
  width: 100%;
  height: 245px;
  object-fit: cover;
  border-radius: 18px;
}

.map-image img {
  height: 100%;
  min-height: 330px;
}

.location-gallery figure {
  margin: 0;
}

.location-gallery figcaption {
  padding-top: 16px;
}

@media (max-width: 1100px) {
  .location-hero {
    grid-template-columns: 1fr;
  }

  .location-gallery {
    grid-template-columns: repeat(2, 1fr);
  }

  .map-image {
    grid-column: span 2;
  }
}

@media (max-width: 800px) {
  .location-copy {
    padding: 70px 6vw;
  }

  .location-points {
    grid-template-columns: 1fr;
  }

  .location-gallery {
    grid-template-columns: 1fr;
  }

  .map-image {
    grid-column: auto;
  }

  .map-card {
    left: 20px;
    right: 20px;
    grid-template-columns: 1fr;
  }
  .land-text {
    flex-direction: column;
  }
  .land-text h2 {
    padding: 0 !important;
    border-right: none;
  }
  .land-text p {
    padding-left: 0;
  }
}


@media only screen and (max-width: 768px) {
  .blog-posts {
    flex-direction: column;
  }
  .blog-post {
    flex: 1 1 100%;
    margin: 30px 10px;
  }
}

@media only screen and (max-width: 500px) {



  h1.deepshadow {
    font-size: 40px !important;
  }

.map-image iframe {
    max-width: 100%;
  width: 100% !important;
  }

  nav#mainNav {
    width: 100%;
  }

  .location-copy {
    padding: 40px 10px;
  }

  .location-image-wrap {
    width: 100%;
    max-width: 100%;
    min-height: auto;
  }
  .location-image-wrap img {
    width: 100%;
    max-width: 100%;
    display: block;
    height: auto;
    object-fit: initial;
  }

  .location-points {
    flex-direction: column;
  }
  .location-points div {
    width: 100%;
  }
  .location-points div:nth-child(2) {
    border:none !important;
  }

  .home-recent-posts {
    flex-direction: column;
  }
  .home-recent-posts article {
    width: 100%;
  }

  .recent-post-rdm {
    padding-top: 10px;
  }

    .home-recent-posts article .recent-post-content {

  }

  .home-recent-posts article h2.recent-post-title {
    font-size: 18px;
  }

  .recent-post-excerpt {
    font-size: 15px;
  }

  a.tem-btn {
    display: block;
    margin: 10px auto !important;
  }

}

a.tem-btn:first-child {
  margin-right: 20px;
}


/* GALLERY */

section.gallery-wrap {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 40px;
  background-color: var(--cream);
  position: relative;
}

/* ── Header ── */
.gallery-header {
  text-align: center;
  margin-bottom: 2.5rem;
}
.gallery-header h2 {
  font-size: clamp(1.8rem, 4vw, 2.9rem);
  color: var(--main-green);
  margin: 20px 0;
  font-family: var(--serif);
  font-weight: 400;
}
.gallery-header h2 a {
  color: var(--main-green);
  text-decoration: none;
}

.gallery-header__title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 400;
  letter-spacing: 0.04em;
  color: var(--gallery-text);
  line-height: 1.1;
}

.gallery-header__title em {
  font-style: italic;
  color: var(--gallery-accent);
}

.gallery-header__subtitle {
  margin-top: 0.6rem;
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--gallery-text-muted);
}

/* ── Slider wrapper ── */
.gallery-slider {
  position: relative;
  width: 100%;
  max-width: 900px;
}

/* ── Track ── */
.gallery-slider__track {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: var(--gallery-slide-radius);
  background: var(--gallery-surface);
  border: 1px solid var(--gallery-border);
}

/* ── Slides ── */
.gallery-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateX(60px);
  transition: opacity var(--gallery-transition), transform var(--gallery-transition);
  pointer-events: none;
}

.gallery-slide--active {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}

.gallery-slide--exit {
  opacity: 0;
  transform: translateX(-60px);
}

.gallery-slide__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: var(--gallery-slide-radius);
}

/* Gradient overlay */
.gallery-slide::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
          to top,
          rgba(10, 8, 5, 0.72) 0%,
          transparent 50%
  );
  border-radius: var(--gallery-slide-radius);
  pointer-events: none;
  display: none;
}

/* ── Caption ── */
.gallery-caption {
  position: absolute;
  bottom: 1.5rem;
  left: 1.75rem;
  right: 5.5rem;
  z-index: 2;
  pointer-events: none;
  display: none;
}

.gallery-caption__label {
  font-size: 0.6rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gallery-accent);
  margin-bottom: 0.3rem;
}

.gallery-caption__title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1rem, 2.5vw, 1.5rem);
  font-weight: 400;
  color: #fff;
  line-height: 1.25;
}

/* ── Counter ── */
.gallery-counter {
  position: absolute;
  bottom: 1.5rem;
  right: 1.75rem;
  z-index: 2;
  font-size: 0.65rem;
  letter-spacing: 0.1em;
  color: #fff;
  pointer-events: none;
}

.gallery-counter__current,
.gallery-counter__total {
  color: #fff;
  font-size: 1rem;
  font-family: 'Playfair Display', serif;
}

/* ── Arrows ── */
.gallery-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: clamp(40px, 6vw, 56px);
  height: clamp(40px, 6vw, 56px);
  border: 1px solid var(--gallery-border);
  background: rgba(13, 13, 13, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.25s, border-color 0.25s, transform 0.25s;
  -webkit-tap-highlight-color: transparent;
}

.gallery-arrow:hover {
  background: rgba(200, 169, 110, 0.15);
  border-color: var(--gallery-accent);
  transform: translateY(-50%) scale(1.08);
}

.gallery-arrow:active {
  transform: translateY(-50%) scale(0.96);
}

.gallery-arrow__icon {
  width: 18px;
  height: 18px;
  stroke: var(--gallery-text);
  stroke-width: 1.5;
  fill: none;
  transition: stroke 0.25s;
}

.gallery-arrow:hover .gallery-arrow__icon {
  stroke: var(--gallery-accent);
}

.gallery-arrow--prev { left: -1.5rem; }
.gallery-arrow--next { right: -1.5rem; }

/* On very small screens, tuck arrows inside */
@media (max-width: 640px) {
  .gallery-arrow--prev { left: 0.5rem; }
  .gallery-arrow--next { right: 0.5rem; }
  .gallery-caption      { right: 4rem; }
}

/* ── Progress bar ── */
.gallery-progress {
  height: 2px;
  background: var(--gallery-border);
  margin-top: 1.25rem;
  border-radius: 1px;
  overflow: hidden;
}

.gallery-progress__fill {
  height: 100%;
  background: linear-gradient(90deg, var(--gallery-accent-deep), var(--gallery-accent));
  border-radius: 1px;
  transition: width var(--gallery-transition);
}



#scroller-row {background-color:#fff;}

/* ── Loading skeleton ── */
@keyframes gallery-shimmer {
  0%   { background-position: -600px 0; }
  100% { background-position:  600px 0; }
}

.gallery-skeleton {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
  var(--gallery-surface) 25%,
  #1e1e1e 50%,
  var(--gallery-surface) 75%
  );
  background-size: 600px 100%;
  animation: gallery-shimmer 1.5s infinite;
  border-radius: var(--gallery-slide-radius);
  display: none;
}

.content-header {
  background: rgb(44 64 21 / 0.61);
  padding: 60px 20px;
  min-height: 340px;
  color: #fff;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.content-hero-bg {
  position: absolute;
  inset: 0;
  opacity: .80;
  background-size: cover;
  background-position: center;
}
.content-hero-txt {
  text-align: center;
  z-index: 1;
  padding: 1.5rem;
  max-width: 680px;
  width: 100%;
}

.content {}

.content p, .content li {
  color: var(--text-mid);
  font-size: 18px;
  line-height: 24px;
}
.content p {
  margin: 20px 0;
}
.content h3 {
  font-size: 36px;
  color: var(--main-green);
  margin: 20px 0;
  font-family: var(--serif);
  font-weight: 400;
}
.content h4 {
  font-size: 26px;
  color: var(--main-green);
  margin: 20px 0;
  font-family: var(--serif);
  font-weight: 400;
}
.content ul {
  margin:10px 20px;
}

.member-box {
  display: flex;
  justify-content: space-between;
  position: relative;
  padding-bottom: 30px;
}
.member-box:after {
  content : "";
  position: absolute;
  left    : 40%;
  bottom  : 0;
  height  : 2px;
  width   : 30%;  /* or 100px */
  border-bottom:2px solid rgb(44 64 21 / 1);
}
.member-img {
  width: 150px;
}
.member-img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: 20px;
  min-width: 150px;
}
.member-txt {
  padding-left: 30px;
}
.member-txt h4 {
  margin-top: 0;
}

img.right-img {
  display: block;
  float: right;
  width: 100%;
  height: auto;
  max-width: 420px;
  margin: 30px 0 30px 30px;
  border-radius: 20px;
}
img.right-img:after {
  clear: both;
}

img.left-img {
  display: block;
  float: left;
  width: 100%;
  height: auto;
  max-width: 420px;
  margin: 30px 30px 30px 0px;
  border-radius: 20px;
}
img.left-img:after {
  clear: both;
}

.board-section {
  max-width: 1180px;
  margin: 60px auto 90px auto;
  padding: 0 24px;
}

.board-header {
  max-width: 760px;
  margin-bottom: 42px;
}

.section-kicker {
  margin: 0 0 12px;
  color: #6f8d2d;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}



.board-header p {
  color: var(--text-mid);
  font-size: 16px;
  line-height: 24px;
}

.board-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 26px;
}

.board-card {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 26px;
  align-items: start;
  background: #fff;
  border: 1px solid #e5eadc;
  border-radius: 28px;
  padding: 26px;
  box-shadow: 0 16px 42px rgba(40, 56, 32, 0.08);
}

.board-card.featured {
  grid-column: 1 / -1;
  grid-template-columns: 260px 1fr;
  padding: 34px;
  background:
          linear-gradient(135deg, rgba(239,244,224,.9), rgba(255,255,255,.95));
}

.board-image {
  aspect-ratio: 1 / 1;
  border-radius: 22px;
  overflow: hidden;
  background: #edf1e7;
}

.board-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.board-role {
  display: inline-block;
  margin-bottom: 12px;
  padding: 7px 13px;
  border-radius: 999px;
  background: #edf4df;
  color: #5f832f;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.board-section h2 {
  font-size: 36px;
  color: var(--main-green);
  margin: 20px 0;
  font-family: var(--serif);
  font-weight: 400;
}
.board-section h3 {
  font-size: 36px;
  color: var(--main-green);
  margin: 20px 0;
  font-family: var(--serif);
  font-weight: 400;
}
.board-section h4 {
  font-size: 26px;
  color: var(--main-green);
  margin: 20px 0;
  font-family: var(--serif);
  font-weight: 400;
}

.board-card.featured h3 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
}

.board-credentials {
  margin: 0 0 18px !important;
  color: #6f8d2d !important;
  font-weight: 700;
}

.board-content p {
  color: var(--text-mid);
  font-size: 16px;
  line-height: 24px;
  margin: 20px 0;
}

p.more-text {
  text-align: right;
}
p.more-text a {
  padding:8px 16px;
  background-color: var(--main-green);
  color: #fff;
  font-weight: 400;
  text-decoration: none;
  border-radius: 10px;
}

@media (max-width: 900px) {
  .board-grid {
    grid-template-columns: 1fr;
  }

  .board-card,
  .board-card.featured {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .board-image {
    max-width: 260px;
  }
}

*{box-sizing:border-box}
:root{
  --blog-bg:#f6f8fb;
  --blog-card:#fff;
  --blog-text:#1e293b;
  --blog-muted:#64748b;
  --blog-primary:#5e872d;
  --blog-border:#e5e7eb;
  --blog-shadow:0 20px 45px rgba(15,23,42,.08);
  --blog-radius:22px;
}

.blog-container a{color:var(--blog-primary);text-decoration:none}
.blog-container a:hover{text-decoration:underline}
.blog-container{
  width:min(1120px,calc(100% - 40px));
  margin:0 auto;
}
.blog-hero{
  background:linear-gradient(135deg,#0f172a 0%, #5e872d 100%);
  color:#fff;
  padding:100px 0 90px;
}
.blog-eyebrow{
  margin:0 0 12px;
  font-size:.8rem;
  letter-spacing:.18em;
  font-weight:700;
  opacity:.85;
}
.blog-hero h1{
  margin:0;
  font-size:clamp(2.6rem,6vw,4.8rem);
  line-height:1.05;
  font-weight:800;
}
.blog-subtitle{
  margin-top:20px;
  max-width:720px;
  font-size:1.15rem;
  opacity:.92;
}
.blog-layout{
  display:grid;
  gap:36px;
  margin-top:50px;
  padding-bottom:70px;
}
.blog-post-card,.blog-post-list-item,.blog-widget{
  background:var(--blog-card);
  border:1px solid var(--blog-border);
  border-radius:var(--blog-radius);
  box-shadow:var(--blog-shadow);
}
.blog-post-card{overflow:hidden}
.blog-featured-image{
  width: 100%;
  max-width: 320px;
  height: auto;
  display: block;
  float: left;
  margin: 0 20px 20px 0;
  border-radius: 20px;
}
.blog-post-body,.blog-post-list-item,.blog-widget{padding:30px}
.blog-meta{
  color:var(--blog-muted);
  font-size:.9rem;
  margin-bottom:10px;
}
.blog-meta h3 {
  margin-top: 0;
}

.blog-category{
  color:var(--blog-primary);
  font-weight:700;
}

a.blog-button{
  display:inline-block;
  margin-top:10px;
  padding:12px 20px;
  border-radius: 10px;
  background:var(--blog-primary);
  color:#fff;
  font-weight:400;
  float: right;
  text-decoration: none;
}

.blog-button:hover{
  text-decoration:none;
  opacity:.95;
}
.blog-content{
  display:flex;
  flex-direction:column;
  gap:28px;
}

.blog-simple-list{
  margin:0;
  padding-left:18px;
}
.blog-newsletter input{
  width:100%;
  padding:12px 14px;
  margin:8px 0 12px;
  border:1px solid var(--blog-border);
  border-radius:12px;
}
.blog-newsletter button{
  width:100%;
  padding:12px 14px;
  border:0;
  border-radius:12px;
  background:var(--blog-primary);
  color:#fff;
  font-weight:600;
  cursor:pointer;
}
@media (max-width:900px){
  .blog-layout{grid-template-columns:1fr}
  .blog-featured-image{height:240px}
}

.full-img-header {
  margin-top: 68px;
}
.full-img-header img {
  width: 100%;
  height: auto;
  display: block;
}

.modal-events {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.7);
  z-index: 9999;
  width: 100vw;
  height: 100vh;

  /* Center content */
  align-items: center;
  justify-content: center;


  box-sizing: border-box;
}

.modal-content {
  background: #fff;
  width: 100%;
  max-width:980px;
  padding: 30px;
  position: relative;
  border-radius: 6px;
  max-height: 90vh;
  overflow-y: auto;
}

.modal-content p {
  margin: 15px 0;
  line-height: 22px;
}

.modal-close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 28px;
  cursor: pointer;
  line-height: 1;
}

body.modal-open {
  /*overflow: hidden;*/
}

p.event-bio {
  margin: 14px 0;
}

/* Event Box Container */
.event-box {
  background: #fff;
  border-radius: 8px;
  margin-bottom: 15px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
  border: 1px solid #e1e4e8;
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}

.event-box:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Header Area (Always Visible) */
.event-header {
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  user-select: none;
}

.event-summary {
  display: flex;
  align-items: center;
  gap: 15px;
}

.event-summary span {
  width: 110px;
}
.event-summary div {
  width: 70%;
}

.event-date {
  background: var(--main-green);
  color: #fff;
  padding: 6px 12px;
  border-radius: 4px;
  font-weight: bold;
  font-size: 0.9rem;
  text-align: center;

}

.event-header h3 {
  margin: 0;
  color: var(--main-green);
  font-size: 1.5rem;
  font-weight: bold;
}

/* Toggle Plus/Minus Sign */
.toggle-icon {
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--main-green);
  transition: transform 0.2s ease;
}

/* Active Box specific states */
.event-box.active {
  border-color: var(--main-green);
}

/* Hidden Details Container */
.event-details {
  display: none; /* jQuery slideToggle relies on this starting hidden */
  background: #fafafa;
  border-top: 1px solid #eee;
}

.details-content {
  padding: 20px;
  color: #555;
  line-height: 1.6;
}

.details-content p {
  margin: 0 0 10px 0;
}

.btn-register {
  background: var(--main-green);
  color: #fff;
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-weight: bold;
  margin-top: 10px;
}

.btn-register:hover {
  background: var(--main-green);
}

.event-flyer {
  width: 100%;
  height: auto;
  display: block;
  float: right;
  max-width: 320px;
}

/* --- Filter Controls --- */
.filter-controls {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px;
  margin-bottom: 40px;
}

.filter-btn {
  background: transparent;
  border: 2px solid var(--primary-green);
  color: var(--primary-green);
  padding: 10px 24px;
  font-size: 0.95rem;
  font-family: 'Georgia', serif;
  cursor: pointer;
  border-radius: 4px;
  transition: var(--transition-smooth);
}

.filter-btn:hover, .filter-btn.active {
  background-color: var(--primary-green);
  color: var(--bg-cream);
}

/* --- Masonry Gallery Structure --- */
.gallery-container {
  max-width: 1200px;
  margin: 0 auto;
  /* Native CSS Column Masonry Layout */
  column-count: 4;
  column-gap: 20px;
}

.gallery-item {
  background-color: #fff;
  margin-bottom: 20px;
  break-inside: avoid;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0,0,0,0.04);
  cursor: pointer;
  position: relative;
  transition: var(--transition-smooth);
  display: block; /* Required for jQuery hide/show layout rendering */
}

.gallery-item img {
  width: 100%;
  height: auto;
  display: block;
  transition: var(--transition-smooth);
}

/* Hover Overlay Details */
.gallery-item-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(30, 61, 47, 0.9));
  padding: 30px 20px 20px 20px;
  opacity: 0;
  transition: var(--transition-smooth);
}

.gallery-item:hover .gallery-item-overlay {
  opacity: 1;
}

.gallery-item:hover img {
  transform: scale(1.03);
}

.gallery-item-overlay h3 {
  color: #fff;
  font-size: 1.1rem;
  margin-bottom: 5px;
  font-weight: normal;
}

.gallery-item-overlay p {
  color: #fff;
  font-size: 0.85rem;
}

/* --- Custom Lightbox --- */
.lightbox-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(15, 31, 24, 0.95); /* Deep tint opacity */
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.lightbox-modal.active {
  display: flex;
  opacity: 1;
}

.lightbox-content {
  position: relative;
  max-width: 85%;
  max-height: 80%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.lightbox-img {
  max-width: 100%;
  max-height: 70vh;
  object-fit: contain;
  border: 4px solid var(--bg-cream);
  background-color: #fff;
}

.lightbox-caption {
  background-color: var(--bg-cream);
  color: var(--text-dark);
  width: 100%;
  padding: 15px 20px;
  text-align: center;
  border: 4px solid var(--bg-cream);
  border-top: none;
  box-sizing: border-box;
}

.lightbox-caption h3 {
  color: var(--primary-green);
  margin-bottom: 4px;
}

/* Lightbox UI Elements */
.lightbox-close {
  position: absolute;
  top: -45px;
  right: 0;
  color: var(--bg-cream);
  font-size: 2rem;
  cursor: pointer;
  transition: var(--transition-smooth);
}

.lightbox-close:hover {
  color: var(--accent-gold);
}

.lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(30, 61, 47, 0.6);
  color: #fff;
  border: none;
  width: 50px;
  height: 50px;
  font-size: 1.5rem;
  cursor: pointer;
  border-radius: 50%;
  transition: var(--transition-smooth);
  display: flex;
  align-items: center;
  justify-content: center;
}

.lightbox-nav:hover {
  background: var(--accent-gold);
  color: var(--primary-green);
}

.lightbox-prev { left: -70px; }
.lightbox-next { right: -70px; }

/* --- Responsive Viewports --- */
@media (max-width: 1024px) {
  .gallery-container { column-count: 3; }
  .lightbox-prev { left: -20px; top: auto; bottom: -65px; transform: none;}
  .lightbox-next { right: -20px; top: auto; bottom: -65px; transform: none;}
  .lightbox-content { max-height: 70%; }
}

@media (max-width: 768px) {
  .gallery-container { column-count: 2; }
  body { padding: 20px 10px; }
  header h1 { font-size: 2rem; }
}

@media (max-width: 480px) {
  .gallery-container { column-count: 1; }
  .filter-btn { padding: 8px 16px; font-size: 0.85rem; }
}

.hero{
  min-height:90vh;
  position:relative;
}

.hero-banner {
  position: relative;
  overflow: hidden;
}

/* HERO SECTION */
.hero {
  position: relative;
  overflow: hidden;
}

/* Background layer */
.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-size: cover;
  background-position: center;
}

/* Gradient blend overlay */
.hero::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 55%;
  z-index: 2;
  pointer-events: none;

  /*background: linear-gradient(
          to bottom,
          rgba(216, 237, 213, 0) 0%,
          rgba(216, 237, 213, 0) 70%,
          #d8edd5 90%,
          #d8edd5 100%
  );*/
}

/* Content above overlay */
.hero-content {
  position: relative;
  z-index: 3;
}


/* Main Content Layout */
.main-container {
  max-width: 900px; /* Centered narrow container ideal for reading a single post */
  margin: 40px auto;
  padding: 0 20px;
}

/* Blog Post Styling */
.post-meta-container {
  margin-bottom: 25px;
}
.post-title {
  font-size: 2.2rem;
  color: #2d5a27;
  line-height: 1.3;
  margin-bottom: 10px;
}
.post-date {
  display: block;
  color: #777777;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.post-hero-image {
  width: 100%;
  max-width: fit-content;
  height: auto;
  border-radius: 4px;
  margin: 30px auto;
  display: block;
}

/* Article Content Typography */

.post-meta-container h1 {
  font-size: 46px;
  color: var(--main-green);
  margin: 20px 0;
  font-family: var(--serif);
  font-weight: 400;
}

.post-content p {
  font-size: 1.1rem;
  margin-bottom: 20px;
  color: #333333;
}
.post-content blockquote {
  border-left: 4px solid #2d5a27;
  padding-left: 20px;
  margin: 30px 0;
  font-style: italic;
  color: #555555;
}
.post-content h2 {
  color: #2d5a27;
  margin: 35px 0 15px 0;
  font-size: 1.6rem;
}

/* Back Button */
.back-to-blog {
  display: inline-block;
  margin-top: 40px;
  padding: 10px 20px;
  background-color: #2d5a27;
  color: #ffffff;
  border-radius: 4px;
  font-weight: 600;
  text-decoration: none;
}
.back-to-blog:hover {
  background-color: #4c8c4a;
  color: #ffffff;
}

/* Registration Styles */

.registration-wrapper {
  margin: 80px 0;
  padding: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.pms-form-design-wrapper--sidebar-showing #pms-stripe-connect {
  background-color: #fff;
}

.account-wrapper {
  margin: 80px 0;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.account-wrapper .pms-form-design-wrapper .pms-account-navigation {
  padding: 20px;
}

.account-wrapper .pms-form-design-wrapper p {
  margin: 0 0 0 20px;
}

a.tem-btn {
  display: inline-block;
  padding: 10px;
  background-color: var(--secondary-orange);
  color: #fff;
  border-radius: 6px;
  text-decoration: none;
}

/* FORM STUFF */

#volunteer-form {
	
}

#volunteer-form fieldset {
	border:none;
	margin:20px 0;
}

#volunteer-form fieldset legend {
	font-size:18px;
	font-weight:500;
}

#volunteer-form fieldset div.form_2 {
	display:flex;
	justify-content:space-between;
}
#volunteer-form div.form_1 {
	margin:0 0 20px 0;
}

#volunteer-form fieldset div.form_2 span {
	width:48%;
}


#volunteer-form div.form_radio_2 div div {
	margin:20px;
}
#volunteer-form div.form_radio_2 div div input {
	margin-right:10px;
}
#volunteer-form fieldset#form_radio_interest div.form_radio_stack {
	display:flex;
	flex-direction:column;
}
#volunteer-form fieldset#form_radio_interest div.form_radio_stack div {
	margin:10px 0;
}

#volunteer-form label {
	font-size:16px;
}
#volunteer-form input[type=text],
#volunteer-form input[type=email],
#volunteer-form input[type=tel]
{
	padding:10px;
	border-radius:5px;
	border:1px solid #999;
	width:100%;
}
#volunteer-form input[type=submit] {
	padding:10px 20px;
	color:#fff;
	background-color:#e7792b;
	border-radius:5px;
	border:1px solid #fff;
	float:right;
	margin:10px 0 0 0;
}
.join-btn {
  font-size: 22px;
  background-color: #fff;
  color:var(--secondary-orange);
}

.registration-wrapper ul.pms-form-fields-wrapper {
  margin-top: 20px !important;
}

div.pass-reset p {
  line-height: 30px;
}






/* Brevo newsletter form */
.sib_signup_form {
    margin: 0;
}

/* Form layout */
.sib_signup_form form {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Hide the default "Email Address" label */
.sib_signup_form label {
    display: none;
}

/* Email input */
.sib_signup_form input[type="email"],
.sib_signup_form input[type="text"] {
    width: 280px;
    height: 42px;
    padding: 0 14px;

    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;

    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 7px;

    font-size: 15px;
    box-sizing: border-box;
}

/* Placeholder */
.sib_signup_form input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

/* Subscribe button */
.sib_signup_form input[type="submit"],
.sib_signup_form button {
    height: 42px;
    padding: 0 18px;

    background: #ef7622;
    color: #ffffff;

    border: none;
    border-radius: 7px;

    font-size: 15px;
    cursor: pointer;
    margin-top: 12px;
}

/* Button hover */
.sib_signup_form input[type="submit"]:hover,
.sib_signup_form button:hover {
    opacity: 0.9;
}


/* BLOGS */

.blog-posts {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
}
.blog-post {
  flex: 0 0 30%;
  margin: 30px 10px;
  background-color: #edf2f7;
  border-radius: 10px;
}
.blog-post-image {

}
.blog-post-image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: center;
  max-height: 190px;
  border-radius:10px 10px 0 0;
}
.blog-post-date {
  font-size: 16px;
  padding-bottom: 10px;
  padding-top: 10px;
  font-style: italic;
}
h2.blog-post-title {
  font-size: 26px;
  line-height: 30px;
  font-weight: 900;
}
.blog-post-title a{
  color: var(--text-mid);
  text-decoration: none;
}
a.blog-post-link {
  color: var(--secondary-orange);
  font-weight: 900;
  text-decoration: none;
  margin-top: auto;
}
.blog-post a.more-link {display: none;}

.blog-post-content {
  display: flex;
  flex-direction: column;
  height: 320px;
  padding:10px;
}

#page-blog-post article {
  margin: 60px auto;
  max-width: 1140px;
}

#page-blog-post h1.entry-title {

}
#page-blog-post h1.entry-title a{
  color: var(--text-dark);
  text-decoration: none;
}

#page-blog-post article .entry-meta {margin: 15px 0;}

#page-blog-post article img.wp-post-image {
  width: 100%;
  height: auto;
  display: block;
  max-height: 420px;
  object-fit: contain;
}

#page-blog-post article footer {display: none;}

a.post-edit-link {display: none;}

#page-blog-post .meta-sep {display: none;}
.author.vcard {display: none;}

.trim-multi-line,
.blog-post-excerpt{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;     /* Limits the text to exactly 3 lines */
  overflow: hidden;          /* Hides the remaining text */
}
.blog-post-excerpt p {
  margin: 0;
}

.home-recent-posts {
  display: flex;
  flex-wrap: wrap;
}
.home-recent-posts article {
  flex: 1 0 30%;
  margin: 10px;
  background-color: #fff;
  border-radius: 15px;
}

.home-recent-posts article .recent-post-image img {
  width: 100%;
  height: auto;
  object-fit: cover;
  max-height: 220px;
  border-radius: 15px 15px 0 0;
}
.home-recent-posts article .recent-post-content {
  padding: 10px;
  display: flex;
  flex-direction: column;
  height: 360px;
}
.home-recent-posts article h2.recent-post-title {
  padding-bottom: 10px;
}
.home-recent-posts article h2.recent-post-title A{
  color: #26351f;
  text-decoration: none;
}

.recent-post-rdm {
  margin-top: auto;
  align-self: flex-end;
}
.recent-post-rdm a {
  text-decoration: none;
  color: var(--secondary-orange);
  font-weight: 700;
}

.donation-options {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.donation-block {

}

@media (max-width: 500px) {
  .donation-options {
    grid-template-columns: 1fr;
  }
}

.entry-content a {
  color: var(--secondary-orange);
  text-decoration: none;
}


h2.annual-report-top-title {
  font-size: 32px;
  font-family: var(--sans);
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 20px;
  background-color: #007940;
  color: #fff;
  padding: 14px;
  display: block;
}

.right-nav-stack {
  display: flex;
  align-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.right-nav-stack > :nth-child(2)  {
  margin:0 5px;
}

.right-nav-social {
  display: flex;
  justify-content: space-evenly;
  margin: 10px 0 0 0;
}
.right-nav-social a {
  font-size: 30px;
  color: var(--secondary-orange);
}