:root {
	--wffgn-green: #4a7c59;
	--wffgn-green-dark: #3d6549;
	--wffgn-green-light: #e8f0eb;
	--wffgn-accent: #8fbc8f;
	--wffgn-green-bg-rgba: rgba(74, 124, 89, 0.1);
	
	--crm-l-small: 0.5rem !important;
	--crm-f-input-font-size: 0.9rem !important;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	background-color: #f8f9fa;
}

.wffgn-green {
	color: var(--wffgn-green) !important;
}
.wffgn-green-bg {
	background-color: var(--wffgn-green) !important;
}


/* --------------
  HEADER 
----------------*/

#nav-main {
	background-color: var(--wffgn-green-bg-rgba);
}

.navbar-brand {
	margin-right: 0;
   width:400px;/*give it a fixed size*/
   /* animation magic */
   -webkit-transition: all 0.5s ease-in-out;
   -moz-transition: all 0.5s ease-in-out ;
   -ms-transition: all 0.5s ease-in-out ;
   -o-transition: all 0.5s ease-in-out ;
   transition: all 0.5s ease-in-out ;
}

.navbar-brand img {
	margin-right: 0 !important;
}

.shrink {
   width:250px;/*change the size here*/
   padding: 0;
}


#nav-main .container::before {
  content: '';
  flex: 1 1 0;
}

#nav-main .navbar-brand {
  flex: 0 0 auto;
  margin: 0;
}

#nav-main .header-actions {
  flex: 1 1 0;
  justify-content: flex-end;
}

#offcanvas-navbar,
.header-actions .nav-toggler {
	display: none !important;
}

/* --------------
  SITE WIDE 
----------------*/


.entry-header {
	/*
	background-color: #fff;
	padding: 1rem;
	*/
	margin-bottom: 2rem;
}

body.home .entry-header {
	margin-bottom: 0;
}


.entry-title {
	text-align: center;
	margin-bottom: 0;
}

.nav-link {
	color: var(--wffgn-green) !important;
}

/* --------------
  HOMEPAGE 
----------------*/

/*
.membership-section {
	padding: 3rem 0 0;
}
*/

.section-title {
	text-align: center;
	margin-bottom: 2rem;
}

.section-title h2 {
	color: var(--wffgn-green);
	font-weight: 600;
	margin-bottom: 0.5rem;
}

.section-title p {
	color: #666;
	font-size: 1.1rem;
}

.membership-card {
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0,0,0,0.08);
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.membership-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

.membership-card-header {
	background: var(--wffgn-green);
	color: #fff;
	padding: 1.25rem;
	text-align: center;
}

.membership-card-header.org-header {
	background: var(--wffgn-green-dark);
}

.membership-card-title {
	font-size: 1.25rem;
	font-weight: 600;
	margin: 0;
}

.membership-card-price {
	text-align: center;
	padding: 1.5rem 1rem 1rem;
}

.membership-card-price .amount {
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--wffgn-green);
}

.membership-card-price .period {
	font-size: 0.9rem;
	color: #888;
}

.membership-card-content {
	padding: 0 1.5rem 1.5rem;
	text-align: center;
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.membership-card-content p {
	color: #555;
	margin-bottom: 0;
	line-height: 1.6;
}

.membership-card-footer {
	padding: 1.5rem;
	text-align: center;
	border-top: 1px solid #eee;
}

.btn-signup {
	background: var(--wffgn-green);
	color: #fff;
	border: none;
	padding: 0.75rem 2rem;
	border-radius: 6px;
	font-weight: 600;
	text-decoration: none;
	display: inline-block;
	transition: background 0.2s ease;
	margin-bottom: 1rem;
}

.btn-signup:hover {
	background: var(--wffgn-green-dark);
	color: #fff;
}

.row-title {
	text-align: center;
	margin: 2rem 0 1.5rem;
	padding-bottom: 0.5rem;
}

.row-title h3 {
	color: var(--wffgn-green);
	font-weight: 600;
	font-size: 1.5rem;
	display: inline-block;
	padding: 0.5rem 1.5rem;
	background: var(--wffgn-green-light);
	border-radius: 20px;
}

.membership-row {
	margin-bottom: 2rem;
}

/* Highlighted/recommended card */
.membership-card.featured {
	border: 2px solid var(--wffgn-green);
}

.featured-badge {
	background: var(--wffgn-accent);
	color: #fff;
	font-size: 0.75rem;
	padding: 0.25rem 0.75rem;
	border-radius: 12px;
	text-transform: uppercase;
	font-weight: 600;
	display: inline-block;
	margin-top: 0.5rem;
}

@media (max-width: 767px) {
	.membership-card {
		margin-bottom: 1.5rem;
	}
}


/* FOOTER */

#footer {
	padding-top: 20rem;
	background: url(../img/logo/wffgn-circle-logo-trans-500.png) no-repeat center top;
	background-size: 20rem auto;
}

#footer .bootscore-footer-info {
	background-color: #fff !important;
	pading: 1rem 0 !important;
}

#menu-item-40 .nav-link:first-child {
	display: none;
}

#menu-item-51,
#menu-item-51 .nav-link:first-child {
	display: none;
}

body.logged-in #menu-item-51 {
	display: block;
}

.bootscore-footer-columns {
	padding-top: 0 !important;
}

#footer-menu {
	display: flex;
	justify-content: center;
	list-style: none;
	padding: 0;
	gap: 1rem;
	font-size: 0.9rem;
}

#footer-menu li {
	padding-right: 0;
}

/* CIVICRM */

.crm-container {
	background: none !important;
}

.crm-title {
	text-align: center;
}

.page-id-13 .crm-title,
.page-id-15 .crm-title,
.page-id-66 .crm-title {
	display: none;
}

.price-set-row {
	margin-top: 6px;
}

/*
#membership legend,
#on-behalf-block legend {
	display: none;
}
*/

.crm-public-form-item legend,
.crm-profile legend {
	border-bottom: 1px solid #ccc;
    padding-bottom: 1rem !important;
}

#s2id_custom_2 .select2-choices {
	padding: 9px var(--crm-l-small) !important;
	margin: 0 !important;
}

.crm-public-footer {
	width: auto !important;
}

.crm-container.crm-public span#msgbox {
	display: inline-block;
	margin: 10px 0 7px;
	background-color: var(--crm-alert-success-bg-color) !important;
	color: var(--crm-alert-success-text-color) !important;
}

.crm-container.crm-public .crm-inline-error {
	margin-left: 5px;
	padding: 5px;
}

.crm-container.crm-public .crm-submit-buttons {	
	margin-left: calc(var(--crm-f-label-width) + var(--crm-f-label-gap));
}

.crm-container.crm-public .crm-form-submit,
.crm-container.crm-public .cancel {	
	padding: 20px 20px 20px 10px !important;
	font-weight: bold !important;
	height: 30px;
}

.crm-container.crm-public .crm-option-label-pair {
	margin-top: 9px;
}

#select2-drop {
    background-color: #fff !important;
    background-image: none !important;
}

.select2-drop-multi {
	/*
	margin-top: -15px !important;
	*/
	border-radius: 0 !important;
}

.crm-container.crm-public .select2-container {
	width: 350px !important;
}

.select2-drop.select2-drop-active.crm-container {
	margin-top: -15px !important;
}

.crm-container.crm-public .select2-container-multi .select2-choices {
	padding: 10px !important;
}

.crm-container.crm-public .select2-search-field :is(input, select, textarea):focus {
	outline: 0 !important;
}	

#editrow-custom_41,
#editrow-onbehalf_custom_41 {
	display: none;
}

#priceset .membership_amount-section .label {
	margin-top: 8px;
}


#checkavailability {
	display: block;
	margin-top: 8px;
}

.crm-container.crm-public .cms_name-section:has(> .label) {
	align-items: normal !important;
	margin-top: 7px !important;
}

#orgOptions {
	display: none !important;
}

#onbehalfof_id {
	height: 2.8rem;
	padding-right: 2rem;
}