/*
Theme Name: LifeLogics
Template: generatepress
*/
/************* GENERAL STYLES *************/
a {
	text-decoration: none !important;
}
img.rounded {
	border-radius: 30px;
}
p.sm {
	font-size: 16px;
	line-height: 24px;
	font-weight: 600;
}
h2.hero, .hero-subhead {
	font-family: "Quicksand", sans-serif;
	font-size: 24px;
	line-height: 30px;
	font-weight: 700;
	color: #456035;
	margin-bottom: 5px;
}
.hero-subhead {
	max-width: 900px;
	margin: 10px 0 20px 0;
}
h2.entry-title {
	font-family: "Quicksand", sans-serif;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.2em;
	margin-top: 10px;
	margin-bottom: 5px;
}
h2.entry-title a {
	color: #456035;
}
h3 {
	color: #5A7749;
	margin-bottom: 8px;
}
h3.alt {
	color: #3C5365;
	text-transform: none;
}
h5 {
	margin-top: 10px;
	color: #456035;
}
.subhead {
	font-size: 20px;
	line-height: 28px;
}

button, button.grn {
	border-radius: 50px;
	padding: 8px 30px 10px 30px;
}
button.grn {
	background-color: #5A7749;
}
button.grn:hover {
	background-color: #3D5F29;
}
hr {
  	background-color: #5C7C97;
}
.mobile {
	display: none;
}
.mobile-880 {
	display: none;
}
.width-900 {
	max-width: 900px;
	margin: 0 auto;
}
.separate-containers .inside-article {
	padding: 15px;
}
@media only screen and (max-width: 1200px) {
	h2 {
		font-size: 38px;
	}
}
@media only screen and (max-width: 880px) {
	.desktop-880 {
		display: none;
	}
	.mobile-880 {
		display: block;
	}
}
@media only screen and (max-width: 768px) {
	h4 {
		font-size: 26px;
	}
	.desktop {
		display: none !important;
	}
	.mobile {
		display: block;
	}
}
@media only screen and (max-width: 580px) {
	h1 {
		font-size: 28px;
		line-height: 32px;
	}
	h2.hero, .hero-subhead {
		font-size: 20px;
		line-height: 26px;
	}
}
@media only screen and (max-width: 480px) {
	h1 {
		font-size: 22px;
		line-height: 24px;
	}
	h1.page-title {
		font-size: 32px;
		line-height: 38px;
	}
	h2.hero, .hero-subhead {
		font-size: 18px;
		line-height: 22px;
	}
	h2 {
		font-size: 32px;
	}
	.subhead {
		font-size: 18px;
		line-height: 26px;
	}
}
/************* HERO SECTION *************/
.hero-bckgrnd {
	background: url('https://lifelogics.org/wp-content/uploads/2026/02/hero-bckgrnd-scaled.jpg'); 
	background-position: top;
  	background-repeat: no-repeat;
  	background-size: cover;
}
.hero-block {
	position: relative;
	background-image: linear-gradient(to bottom right, #E2F1FF, #DAEFCF);
	box-shadow: 2px 2px 4px #A7A7A7;
	border-radius: 30px;
	padding: 45px;
	z-index: 2;
	margin-top: 100px;
}
.hero-img {
	position: relative;
	width: 50vw;
	margin-left: -100px;
	margin-top: -36px;
}
@media only screen and (max-width: 880px) {
	.hero-bckgrnd {
		background-position: bottom;
		padding-bottom: 100px;
	}
	.hero-block {
		margin-top: -40px;
		margin-left: 10px
	}
	.hero-img {
		position: relative;
		width: 90%;
		margin-left: -10px;
		margin-top: 0px;
	}
}
@media only screen and (max-width: 580px) {
	.hero-block {
		padding: 30px;
	}
	.hero-block p {
		font-size: 16px;
		line-height: 24px;
		font-weight: 600;
	}
		
}

/************* BACKGROUND STYLES *************/
.grad-bckgrnd {
	background-image: linear-gradient(to bottom right, #E2F1FF, #DAEFCF);
}
.blu-bckgrnd {
	background-color: #E2F1FF;
	margin: 60px 0;
}
.dk-blu-bckgrnd {
	background-color: #5C7C97;
}
.tan-bckgrnd {
	background-color: #F4EEE7;
	margin: 60px 0;
}
.grn-bckgrnd {
	background-color: #F3F7F0;
	margin: 60px 0;
}
.hero-grad-bckgrnd {
	background-image: linear-gradient(to bottom right, #E2F1FF, #DAEFCF);
	padding: 200px 0 40px 0;
	margin-top: -40px;
	margin-bottom: 60px;
}
.blu-img-bckgrnd {
	background: url('https://lifelogics.org/wp-content/uploads/2026/02/blue-img-bckgrnd-scaled.jpg'); 
	background-position: top;
  	background-repeat: no-repeat;
  	background-size: cover;
	padding: 100px 0;
	margin: 80px 0;
}
.tan-img-bckgrnd {
	background: url('https://lifelogics.org/wp-content/uploads/2026/02/tan-bckgrnd-img-scaled.jpg'); 
	background-position: top;
  	background-repeat: no-repeat;
  	background-size: cover;
	padding: 100px 0;
}
.grn-img-bckgrnd {
	background: url('https://lifelogics.org/wp-content/uploads/2026/02/grn-img-bckgrnd-scaled.jpg'); 
	background-position: top;
  	background-repeat: no-repeat;
  	background-size: cover;
	padding: 130px 0;
	margin: 80px 0;
}
@media only screen and (max-width: 880px) {
	.hero-grad-bckgrnd {
		padding: 100px 0 20px 0;
	}
}
/************* FORMIDABLE FORM STYLES *************/
.with_frm_style input[type="text"], .with_frm_style input[type="email"], .with_frm_style textarea {
	border-radius: 30px;
}
.with_frm_style .frm_primary_label {
	font-family: "Quicksand", sans-serif;
	font-size: 16px;
	color: #3C5365;
}
.frm_style_formidable-style.with_frm_style .frm_submit button {
	font-family: "Quicksand", sans-serif;
	font-size: 18px;
	font-weight: 600;
	background-color: #5C7C97 !important;
	border: 0px;
	border-radius: 30px;
	color: #fff !important;
	padding: 10px 20px;
}
/************* EVEREST FORM STYLES *************/
.everest-forms .evf-field-container .evf-frontend-row .evf-frontend-grid, .wp-block-everest-forms-form-selector .evf-field-container .evf-frontend-row .evf-frontend-grid, .everest-forms .evf-submit-container {
  	padding-left: 0px;
}
.everest-forms button.button:not(.button-large), .everest-forms button[type="submit"] {
	font-family: "Quicksand", sans-serif;
	font-size: 18px;
	font-weight: 600;
	background-color: #5C7C97 !important;
	border: 0px;
	border-radius: 30px;
	color: #fff !important;
	padding: 10px 20px;
}
.everest-forms button.button:not(.button-large):hover, .everest-forms button[type="submit"]:hover {
	background-color: #3C5365 !important;
}
.everest-forms input[type="text"], .everest-forms input[type="email"], .everest-forms textarea {
	border-radius: 30px;
	padding: 10px;
	background: #fff;
}
/************* MAILCHIMP FORM STYLES *************/

#mc_embed_signup .mc-field-group input {
  	border-radius: 30px;
}
#mc_embed_signup .mc-field-group label {
	font-family: "Quicksand", sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: #3C5365;
}
#mc_embed_signup input {
	border: 1px solid #cccccc;
}
#mc_embed_signup input {
  	box-sizing: border-box !important;
 	width: 100% !important;
 	max-width: 100% !important;
	padding: 10px !important;
}
#mc_embed_signup {
  	width: 100% !important;
  	max-width: 100% !important;
	background: transparent !important;

}
#mc_embed_signup form {
	margin-left: 0px !important;
}
input[type="text"], input[type="email"] {
	background-color: #fff;
}
#mc_embed_signup .button {
	font-family: "Quicksand", sans-serif;
	font-size: 18px !important;
	font-weight: 600 !important;
	background-color: #C3DEF5 !important;
	border: 0px;
	border-radius: 30px !important;
	color: #3C5365 !important;
	padding: 8px 20px !important;
	height: 48px !important;
	width: 180px !important;
}
#mc_embed_signup .button:hover {
	background-color: #A9C7E0 !important;
}
/************* SOLUTIONS SECTION *************/
.solution-box-wrapper {
	display: flex;
  	flex-wrap: wrap;  	
}
.solution-box {
	display: flex; 
	width: 31.7%;
	padding: 10px;
	background-color: #fff;
	border-radius: 30px;
	margin: 0 .8%;
}
.solution-box-content {
	padding: 30px;
	width: 100%;
}
.solution-box img {
	width: 70px;
	margin-top: -60px;
	margin-bottom: 20px;
}

@media only screen and (max-width: 880px) {
	.solution-box-wrapper {
		flex-direction: column;
	}
	.solution-box {
		width: 100%;
		margin: 30px 0px;
	}
}
/************* STAT SECTION *************/
.sm-section-header {
	font-family: "Montserrat", sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: #5A7749;
	text-transform: uppercase;
	margin-bottom: 40px;
}
.sm-section-header img {
	height: 19px;
	vertical-align: middle;
	padding-bottom: 2px;
	margin-left: 5px;
}
.stat-section-img {
	position: absolute;
	left: 0;
	width: 36vw;
}
.stat-left {
	float: left;
	width: 32%;
}
.stat-right {
	float: left;
	width: 68%;
	padding-top: 28px;
	font-weight: 600;
}
.stat-number {
	font-family: "Montserrat", sans-serif;
	font-size: 86px;
	font-weight: 700;
	color:#5C7C97
}
.stat-circle {
  	position: absolute;
  	display: inline-flex; 
  	justify-content: center; 
  	width: 108px;
  	height: 108px;
  	aspect-ratio: 1 / 1;
  	border-radius: 50%;    
  	background-color: #DAEFCF;
  	margin-left: -70px;
  	margin-bottom: -10px;
	z-index: -1;
}
.stat-row2 h5 {
	font-family: "Montserrat", sans-serif;
	font-size: 42px;
	line-height: 42px;
	font-weight: 700;
	color: #D68328;
	margin-bottom: 5px;
}
.stat-row2 p {
	font-weight: 600;
}
@media only screen and (max-width: 1520px) {
	.stat-section-img {
		position: absolute;
		left: -150px;
		width: 45vw;
	}
}
@media only screen and (max-width: 1180px) {
	.stat-number {
		font-size: 68px;
	}
	.stat-circle {
  		width: 80px;
  		height: 80px;
	}
}
@media only screen and (max-width: 880px) {
	.sm-section-header {
		font-size: 16px;
	}
	.stat-section-img {
		position: relative;
		display: none;
	}
	.stat-left {
		width: 18%;
	}
	.stat-right {
		width: 82%;
	}
}
@media only screen and (max-width: 650px) {
	.stat-left {
		width: 25%;
	}
	.stat-right {
		width: 75%;
	}
}
@media only screen and (max-width: 480px) {
	.stat-left {
		width: 30%;
	}
	.stat-right {
		width: 70%;
	}
}
@media only screen and (max-width: 380px) {
	.stat-left {
		width: 40%;
	}
	.stat-right {
		width: 60%;
	}
}
/************* ABOUT SECTION *************/
.about-img {
	margin-top: -160px;
	margin-bottom: -160px
}
@media only screen and (max-width: 880px) {
	.about-img {
		margin-top: -30px;
		margin-bottom: -120px
	}
}
/************* INDUSTRY/MISSION SECTIONS *************/
.col-border, .col-border3 {
	display: block;
	float:left;
	margin: 1% 0 1% 1.6%;
}
.col-border2 {
	display: block;
	float:left;
	margin: 1% 0 1% 4%;
}
.col-border:first-child, .col-border2:first-child { 
	margin-left: 0; 
} 
.span_2_of_6-border {
  	width: 30%;
	border-right: 1px dashed #5C7C97;
}
.span_2_of_6-border:nth-child(3) {
	border-right: 0px;
}
.span_1_of_6-border {
  	width: 15.33%;
	border-right: 1px dashed #5C7C97;
}
.span_1_of_6-border:nth-child(6) {
	border-right: 0px;
}
.span_1_of_4-border {
  	width: 22.8%;
	border-right: 1px dashed #5C7C97;
}
.span_1_of_4-border:nth-child(4) {
	border-right: 0px;
}

.ind-icon, .ind-icon2, .why-icon {
	padding-right: 20px;
	font-size: 17px;
	line-height: 20px;
	font-weight: 700;
	color: #5A7749;
	height: 180px;
}
.ind-icon img, .ind-icon2 img, .why-icon img {
	width: 82px;
	margin-bottom: 8px;
}
.why-icon {
	height: 280px;
}
@media only screen and (max-width: 1040px) {
	.col-3:nth-child(3) { 
		margin-left: 0; 
	}
	.span_1_of_4-border {
  		width: 48.2%
	}
	.span_1_of_4-border:nth-child(2) {
		border-right: 0px;
	}
}
@media only screen and (max-width: 940px) {
	.col-border {
		margin: 1% 0 30px 4.6%;
	}
	.col-border:nth-child(3), .col-border:nth-child(5) { 
		margin-left: 0; 
	}
	.span_1_of_6-border {
  		width: 47.2%;
	}
	.span_1_of_6-border:nth-child(2), .span_1_of_6-border:nth-child(4) {
		border-right: 0px;
	}
}
@media only screen and (max-width: 680px) {
	.col-border2 { 
		margin: 1% 0 1% 0%;
	}
	.span_2_of_6-border {
  		width: 100%;
		border-right: 0px;
		text-align: center;
	}
	.ind-icon2 {
		padding-right: 0px;
	}
}
@media only screen and (max-width: 580px) {
	.col-border3 { 
		margin: 1% 0 1% 0%;
	}
	.span_1_of_4-border {
  		width: 100%;
		border-right: 0px;
		text-align: center;
	}
}
@media only screen and (max-width: 380px) {
	.ind-icon {
		font-size: 15px;
		line-height: 18px;
	}
}
/************* LATEST POSTS *************/
.posts-slider {
	margin: 60px 0;
	font-size: 16px;
	font-weight: 600;
}
.post-box {
	padding: 0 20px;
}
.readmore {
	font-size: 18px;
	font-weight: 700;
	color: #D68328;
}
.readmore:hover {
	color: #BA6C16;
}

/************* ARCHIVE PAGE *************/
.archive-grid {
  	display: flex;
  	flex-wrap: wrap;
  	gap: 24px;
}
/* 3 columns */
.archive-card {
  	flex: 0 0 calc(33.333% - 16px);
  	display: flex;
  	flex-direction: column;
  	box-sizing: border-box;
}
.entry-summary {
	font-size: 16px;
	font-weight: 600;
	margin-top: 8px !important;
}
.separate-containers .paging-navigation {
	padding-left: 0px;
}
@media (max-width: 880px) {
	.archive-card {
    	flex: 0 0 100%;
  	}
}
/************* SINGLE PAGE STYLES *************/
.page-header-image-single img {
	width: 100%;
}
.entry-meta {
	display: none;
}
.widget-area .widget {
  	padding: 10px 40px;
}
.widget ul li {
  	font-weight: 500;
}

/************* ABOUT PAGE *************/
.leadership-section {
	border-radius: 30px;
  	width: 28vw;
  	position: absolute;
  	left: 9vw;
  	margin-top: 30px;
}
@media only screen and (max-width: 1930px) {
	.leadership-section {
  		left: 6vw;
	}
}
@media only screen and (max-width: 1650px) {
	.leadership-section {
  		left: 4vw;
	}
}
@media only screen and (max-width: 1360px) {
	.leadership-section {
  		width: 100%;
  		position: relative;
  		left: 0;
	}
}
/************* TIMELINE *************/
.timeline {
	padding: 0 30px;
}
.timeline .slick-slide {
  	margin: 0 0px;
}
.timeline h3 {
	font-size: 48px;
	color: #456035;
	text-align: center;
}
.timeline-icon {
	margin: 0 auto;
	width: 65px;
	margin-top: 20px;
}
.timeline hr {
	background-color: #5A7749;
  	border: 0;
  	height: 3px;
	margin-top: -30px;
  	margin-bottom: 0px;
}
.timeline-box-wrapper {
	margin: 60px 0px;
}
.timeline-box {
	position: relative;
   	width: 100%;
   	height: auto;
	padding: 5px;
	text-align: center;
}
.timeline-box p {
	padding: 0px 15px;
	color: #3C5365;
	font-weight: 600;
} 
/************* CAREERS SECTION *************/
.careers-section {
	position: relative;
	max-width: 880px;
	background-color: #fff;
	border-radius: 30px;
	padding: 60px 40px;
	text-align: center;
	margin: 0 auto;
	margin-top: -200px;
	z-index: 2;
}
@media only screen and (max-width: 880px) {
	.careers-section {
		width: 90%;
		padding: 60px 40px;
		margin-top: -100px;
		padding: 40px 20px;

	}
}
/************* BOTTOM CTA *************/
.cta-container {
  	display: flex;
	max-width: 1000px;
	margin: 0 auto;
}
@media only screen and (max-width: 680px) {
	.cta-container {
  		flex-direction: column;
		text-align: center;
	}
}
/************* VISION & MISSION *************/
.value-item {
	overflow: auto;
	margin-bottom: 30px;
	padding: 5px 0;
}
.value-icon {
	width: 15%;
	float: left;
	margin-right: 5%
}
.value-text {
	width: 80%;
	float: left;
}
.value-text h4 {
	font-family: "Montserrat", sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: #5A7749;
	margin-bottom: 0px;
}
@media only screen and (max-width: 880px) {
	.value-icon {
		width: 5%;
		margin-right: 2%
	}
	.value-text {
		width: 93%;
	}
}
@media only screen and (max-width: 580px) {
	.value-icon {
		width: 10%;
		margin-right: 5%
	}
	.value-text {
		width: 85%;
	}
}
/************* LEADERSHIP / BOARD PAGES *************/
.leadership-container {
  	display: flex; 
  	flex-wrap: wrap; 
  	gap: 10px;
}
.leadership-column {
  	flex-basis: calc(100% / 3 - 10px * 2 / 3); 
  	flex-grow: 1; 
  	padding: 20px;
  	box-sizing: border-box;
	max-width: 32%;
}
.leadership-column-additional {
  	flex-basis: calc(100% / 4 - 10px * 2 / 3); 
  	flex-grow: 1; 
  	padding: 0px;
  	box-sizing: border-box;
	max-width: 24%;
}
.title {
	font-family: "Montserrat", sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: #5A7749;
	margin: -8px 0 10px 0;
} 
@media only screen and (max-width: 768px) {
	.leadership-container {
    	flex-direction: column; 
  	}
  	.leadership-column, .leadership-column-additional {
		max-width: 100%;
		width: 100%; 
    	margin: 5px 0;
  	}
}
/************* ACCORDIAN *************/
.accordion {
	background: transparent !important;
	border-radius: 0px;
	font-family: "Montserrat", sans-serif !important;
  	color: #3C5365 !important;
  	cursor: 0px;
  	width: 100%;
  	border: none;
  	text-align: left;
  	outline: none;
  	font-size: 32px;
  	transition: 0.4s;
	text-transform: none !important;
	padding: 20px 0 20px 0;
}
.accordian-active, .accordion:hover {
	background: transparent !important;
	border-radius: 0px;
	color: #5C7C97 !important;
}
.accordion:after {
  	content: '\002B';
  	color: #3C5365;
  	font-weight: bold;
  	float: right;
  	margin-left: 5px;
}
.accordian-active:after {
  	content: "\2212";
}
.accordian-panel {
  	padding: 0;
	font-size: 18px;
	font-weight: 600;
  	max-height: 0;
  	overflow: hidden;
  	transition: max-height 0.2s ease-out;
	border-bottom: 1px solid #5C7C97;
	text-align: left;
}
/************* REVIEWS *************/
.review-inside {
	font-size: 24px;
	line-height: 32px;
	font-weight: 600;
	padding-right: 40px;
}
.author {
	font-size: 18px;
	line-height: 20px;
	font-weight: 700;
	margin-top: 20px;
}
/************* SOLUTIONS PAGES *************/
.solution-p {
	font-size: 20px;
	line-height: 28px;
	padding-right: 40px;
}
.solution-logo-box {
	background-color: #fff;
	border-radius: 30px;
	padding: 40px;
}
.donor-registries-bckgrnd {
	background: url('https://lifelogics.org/wp-content/uploads/2026/03/donor-registries-map-bckgrnd-rev3-scaled.jpg'); 
	background-position: bottom;
  	background-repeat: no-repeat;
  	background-size: cover;
	padding: 100px 0;
}
.donor-registry-list {
	max-width: 900px;
}
.donor-registry-list h5 {
	font-size: 20px;
	line-height: 20px;
	color: #DAEFCF;
	margin-bottom: 0px;
	margin-top: 30px;
	text-transform: uppercase;
}
.donor-registry-list p {
	color: #C3DEF5;
	margin-bottom: 0px;
}

@media only screen and (max-width: 778px) {
	.donor-registries-bckgrnd {
		background: none; 
		background-color: #5C7C97;
	}
}
@media only screen and (max-width: 880px) {
	.solution-p {
		padding-right: 0px;
	}
}
@media only screen and (max-width: 580px) {
	.solution-p {
		font-size: 18px;
	}
}
/************* TRUENORTH CLIENT Page SECTION *************/
.tn-logo-container {
  	display: flex;
  	flex-wrap: wrap;
  	gap: 16px;
	background-color: #fff;
  	border-radius: 30px;
	text-align: center;
	margin-bottom: 30px;
	padding: 40px 10px;
}
.tn-logo {
  	flex: 1 1 calc(25% - 16px);
  	min-width: 200px; /* wraps when columns get too narrow */
	padding: 0 30px;
}
/************* TRUENORTH CLIENT MAP SECTION *************/
.truenorth-map .slick-slide .mobile {
  	display: none;
}
.tn-container {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	width: 100%;
	max-width: 1160px;
	margin: 0 auto;
}
.tn-item {
	min-width: 200px;             /* stacks to 1 col on small screens */
	text-align: center;
}
.tn-map-img {
	filter: drop-shadow(2px 1px 3px rgba(0, 0, 0, 0.3));
	padding: 3px;
}
.tn-item:nth-child(1) { flex: 2 1 0; } /* 2/3 width */
.tn-item:nth-child(2) { flex: 1 1 0; } /* 1/3 width */

.tn-logo-box {
	background-color: #fff;
	border-radius: 30px;
	padding: 40px;
	width: 120%;
	text-align: left;
}
.tn-box {
	display: flex; 
	width: 90%;
	background-color: #fff;
	border-radius: 30px;
	margin: 10px .8%;
}
.tn-logo {
	float: left;
	width: 35%;
}
.tn-blurb {
	float: left;
	width: 60%;
	padding-left: 2%;
	margin-left: 3%;
	border-left: 1px dashed #5C7C97;
	font-size: 16px;
	font-weight: 500;
}
.tn-blurb h3 {
	color: #D68328;
	font-size: 24px;
	line-height: 26px;
}
.tn-blurb strong {
	color: #5A7749;
}
.tn-blurb p {
	font-size: 16px;
	line-height: 24px;
	font-weight: 600;
	margin: 0 0 5px 0;
}
.tn-blurb a {
	font-weight: 700;
	color: #D68328;	
}
@media only screen and (max-width: 880px) {
	.tn-item { 
		flex: 1 1 100% !important; 
	}
	.truenorth-map .slick-slide .mobile {
  		display: block;
	}
	.truenorth-map .slick-slide .desktop {
  		display: none;
	}
	.tn-map-img {
		width: 98%;
		max-width: 300px;
		margin: 0 auto;
		margin-bottom: -60px;
	}
	.tn-logo-box {
		padding: 25px;
		width: 95%;
		margin: 0 auto;
	}
	.tn-box {
		flex-direction: column;
		width: 100%;
		margin-bottom: 20px;
		padding-top: 30px;
	}
	.tn-logo {
		width: 100%;
	}
	.tn-logo img {
		max-width: 175px;	
	}
	.tn-blurb {
		width: 100%;
		padding-left: 0%;
		margin-left: 0%;
		border-left: 0px;
	}
	.tn-blurb h3 {
		font-size: 20px;
		line-height: 22px;
		margin-top: 10px;
	}
}
/************* COPERNICUS CLIENT MAP SECTION *************/
.grid-wrapper {
    max-width: 100%;
    margin: 0 auto;
}
.grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
}
/* Cards are direct grid children */
.card {
    background: #fff;
    border-radius: 20px;
    padding: 28px 20px 22px;
    cursor: pointer;
    transition: transform 0.2s, border-color 0.2s, background 0.2s;
    user-select: none;
    position: relative;
    overflow: hidden;
}
.card:hover { 
	background: #F3F7F0;
}
.card.active { 
	background: #F3F7F0; 
}
.card-icon  { 
	float: left;
	width: 20%;
	margin-right: 5%;
}
.card-icon img { 
	width: 66px;
	filter: drop-shadow(2px 2px 2px #A7A7A7)
}
.card-title { 
	float: left;
	width: 75%;
	font-family: "Montserrat", sans-serif;
	font-size: 24px; 
	line-height: 24px;
	font-weight: 600; 
	padding-top: 10px;
}
.card-arrow {
    position: absolute;
    top: 14px; 
	right: 16px;
    transition: transform 0.3s, color 0.2s;
}
.card-arrow img {
	width: 18px;
}
.card.active .card-arrow { 
	transform: rotate(180deg); 
	color: #6366f1; 
}
/* Panel spans full grid width */
.panel {
    display: none; /* hidden by default; JS moves & shows it */
    grid-column: 1 / -1;
    background: #F3F7F0;
    border-radius: 20px;
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.45s cubic-bezier(0.4,0,0.2,1), opacity 0.3s;
    opacity: 0;
}
.panel.open { 
	max-height: 10000px; 
	opacity: 1; 
}
.panel-inner {
    padding: 30px;
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}
.panel-icon { 
	width: 66px;
	float: left;
	vertical-align: middle;
}
.panel-content { 
	flex: 1; 
	min-width: 200px; 
}
.panel-heading {
    font-size: 1.2rem;
    font-weight: 700;
    color: #5C7C97;
    margin-bottom: 8px;
}
.panel-body {
	display: flex;
  	flex-wrap: wrap;  	
	font-size: 0.88rem;
    line-height: 1.7;
    margin-bottom: 16px;
}
.panel-box {
	display: flex; 
	width: 47.7%;
	padding: 30px;
	background-color: #fff;
	border-radius: 30px;
	margin: 10px .8%;
}
.panel-logo {
	float: left;
	width: 35%;
}
.panel-blurb {
	float: left;
	width: 60%;
	padding-left: 2%;
	margin-left: 3%;
	border-left: 1px dashed #5C7C97;
	font-size: 16px;
	font-weight: 500;
}
.panel-blurb h3 {
	color: #D68328;
}
.panel-blurb strong {
	color: #5A7749;
}
.panel-blurb p {
	font-size: 16px;
	line-height: 24px;
	font-weight: 600;
	margin: 0 0 5px 0;
}
.panel-blurb a {
	font-weight: 700;
	color: #D68328;	
}
@media only screen and (max-width: 880px) {
	.panel-box {
		flex-direction: column;
		width: 100%;
		margin-bottom: 20px;
	}
	.panel-logo {
		width: 100%;
	}
	.panel-logo img {
		max-width: 175px;	
	}
	.panel-blurb {
		width: 100%;
		padding-left: 0%;
		margin-left: 0%;
		border-left: 0px;
	}
}
/************* CLIENT PAGE *************/
.client-logo-box {
	display: flex;
	align-items: center;
	height: 100%;
	background-color: #fff;
	border-radius: 30px;
	padding: 30px; 
	margin-bottom: 30px;
}
.client-logo {
	float: left;
	width: 35%;
}
.client-blurb {
	float: left;
	width: 60%;
	padding-left: 2%;
	margin-left: 3%;
	border-left: 1px dashed #5C7C97;
	font-size: 16px;
	font-weight: 500;
}
@media only screen and (max-width: 880px) {
	.client-logo-box {
		flex-direction: column;
	}
	.client-logo {
		width: 100%;
	}
	.client-logo img {
		max-width: 200px;
	}
	.client-blurb {
		width: 100%;
		padding-left: 0;
		margin-left: 0;
		border-left: 0px;
	}
}
/************* HEADER *************/
.inside-header {
  	padding: 0px 20px 20px 20px;
}
.site-header {
	background-color: #fff !important;
}
.site-logo {
	background-color: #F0F7FD;
	border-radius: 0 0 30px 30px;
	padding: 30px;
}
.site-logo img {
	width: 175px;
}
@media only screen and (max-width: 768px) {
	.mobile-header-padding {
		margin-bottom: 50px;
	}
	.inside-header {
    	display: flex;
  		flex-direction: column;
  		align-items: flex-start;
		padding: 0px;
  	}
	.site-logo {
		padding: 20px 20px 10px 20px;
		width: 40%;
		margin-left: 20px;
		z-index: 9999;
	}
}
@media only screen and (max-width: 768px) {
  .site-header {
    display: block !important;
  }
}
/************* MAIN NAVIGATION *************/
.nav-float-right #site-navigation {
	width: 100%;
}
.main-nav {
	margin-top: 10px;
	width: 100%;
}
.main-navigation {
	margin-top: -40px;
	background-color: #fff !important;
}
.main-navigation ul {
	text-align: right;	
}
.main-navigation ul ul {
  	background-image: linear-gradient(to bottom, white, #F0F7FD);
	border-radius: 0 0 30px 30px;
	box-shadow: 0px 0px 0 rgba(0,0,0,.1);
	width: 250px;
	padding-bottom: 15px;
}
.main-navigation li {
    position: relative;
    display: inline-block;
	margin-bottom: 0px;
}
.main-navigation .main-nav ul li.menu-item-has-children > a {
  	padding-right: 15px;
}
.main-navigation .main-nav ul li a {
  	line-height: 50px;
	padding-left: 15px;
	padding-right: 15px;
}
.main-navigation .main-nav ul ul li a {
	padding: 10px 25px;
}
@media screen and (max-width: 768px) {
  .main-navigation {
    display: block !important;
  }
}
/************* TOP NAVIGATION *************/
.top-nav {
	text-align: right;
	margin-right: 20px;
	margin-bottom: 10px;
	font-weight: 700;
	color: #456035;
	display: flex;
	justify-content: flex-end;
	padding-top: 10px;
}
.top-nav img {
	width: 25px;
	height: 28px;
	margin-right: 5px;
	vertical-align: middle;
	padding-bottom: 3px;
}
@media only screen and (max-width: 768px) {
	.top-nav {
		position: absolute;
		margin: 0;
    	background-color: #E2F1FF;
    	padding: 12px 20px 10px 0;
    	width: 100%;
    	top: 0;
		z-index: 9998;
	}
}
/***** STICKY HEADER *****/
#navbar {
  	background-color: #fff;
	box-shadow: 0px 2px 2px 0px #F4F4F4;
  	position: fixed;
  	top: -180px;
  	width: 100%;
  	display: block;
  	transition: top 0.3s;
	z-index: 99999;
	padding: 0px 0 5px 0;
}
#navbar .site-logo {
	background-color: #fff;
	border-radius: 0px;
	padding: 0px;
	text-align: left;
}
#navbar .site-logo img {
	width: 100px;
	margin: 5px 0;
}
#navbar .inside-header {
	padding: 10px 20px 0 20px;	
}
#navbar .main-navigation {
	margin-top: -15px;
}

/***** MOBILE HEADER *****/
.fixed-header {
  	top: 25px !important;
}
.show-nav-right .mobmenu-overlay {
  	z-index: 99999;
}
.mob-menu-header-holder {
	z-index: 0 !important;
}
.mobmenu-right-panel li {
    padding-left: 0% !important;
    padding-right: 0% !important;
}
.mobmenu-content {
  	margin-top: 90px !important;
}
.mob-cancel-button {
    margin: 55px 18px 10px 0 !important;
}

.bring-to-front {
	 z-index: 99999 !important;
}

/************* FOOTER *************/
.footer-content {
	background: url('https://lifelogics.org/wp-content/uploads/2026/02/footer-bckgrnd-scaled.jpg'); 
  	background-position: center;
  	background-repeat: no-repeat;
  	background-size: cover;
	color: #ffffff;
}
.footer-nav-wrapper {
	width: 75%;
}
.footer-nav-col {
	width: 32%;
	float: left;
}
.footer-nav-col a {
	color: #fff;
}
.footer-nav-col ul {
	margin-left: 0px;
}
.footer-nav-col ul li {
	list-style: none;
}
.footer-nav-col ul li a {
	color: #DAEFCF;
	font-weight: 800;
	text-transform: uppercase;
}
ul.sub-menu li a {
	color: #fff;
	font-weight: 600;
	line-height: 32px;
	text-transform: none;
}

.social img {
	height: 24px;
	margin-right: 10px;
}
.disclaimer {
	font-size: 15px;
	line-height: 19px;
}
.inside-site-info {
  	align-items: left !important;
  	justify-content: left !important;
}
@media only screen and (max-width: 1200px) {
	.footer-nav-wrapper {
		width: 100%;
	}
}
@media only screen and (max-width: 580px) {
	.footer-nav-col {
		width: 50%;
	}
	.footer-nav-col:nth-child(3) {
		width: 100%;
	}
	.social {
		margin: 30px 0;
	}
}
@media only screen and (max-width: 380px) {
	ul.sub-menu li a {
		font-size: 16px;
		line-height: 24px;
	}
}
/***** COLUMN STYLES *****/
.section {
	clear: both;
	padding: 0px;
	margin: 0px;
}
.group:before,
.group:after {
    content:"";
    display:table;
}
.group:after {
    clear:both;
}
.group {
    zoom:1; /* For IE 6/7 (trigger hasLayout) */
}

.col {
	display: block;
	float:left;
	margin: 1% 0 1% 1.6%;
}
.col-lg {
	display: block;
	float:left;
	margin: 1% 0 1% 7%;
}
.col:first-child { margin-left: 0; } /* all browsers except IE6 and lower */
.col-lg:first-child { margin-left: 0; } /* all browsers except IE6 and lower */

@media only screen and (max-width: 880px) {
	.col, .col-lg { 
		margin: 1% 0 1% 0%;
	}
}
/*  GRID OF SIX   ============================================================================= */
.span_5_of_6 {
  	width: 83.06%;
}
.span_4_of_6 {
  	width: 66.13%;
	padding-left: 30px;
}
.span_3_of_6 {
  	width: 49.2%;
}
.span_3_of_6-sm {
  	width: 46%;
}
.span_2_of_6 {
  	width: 32.26%;
}
.span_1_of_6 {
  	width: 15.33%;
}

@media only screen and (max-width: 880px) {
	.span_5_of_6, .span_4_of_6, .span_3_of_6, .span_2_of_6, .span_1_of_6, .span_3_of_6-sm {
		width: 100%; 
		padding-left: 0px;
	}
}

/************* SLICK SLIDER STYLES *************/

.slick-slide {
	margin: 0px 0px;
 	opacity: 1;
	height: auto !important;
}
.slick-list {
	padding: 0 10px !important;
}
.slick-slide {
  	transition: all ease-in-out .3s;
	margin: 0 10px;
}
.slick-active {
  	opacity: 1;
}
.slick-current {
  	opacity: 1 !important;
}
.slick-next-alt, 
.slick-prev-alt, 
.slick-next-alt:hover, 
.slick-prev-alt:hover, 
.slick-prev-alt:focus, 
.slick-next-timeline, 
.slick-prev-timeline, 
.slick-next-timeline:hover, 
.slick-prev-timeline:hover, 
.slick-next-timeline:focus, 
.slick-prev-timeline:focus {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 35px;
    height: 35px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent !important;
	z-index: 9999;
}
.slick-prev-alt {
  	left: -10px;
}
.slick-next-alt {
  	right: -10px;
}
.slick-next-timeline, .slick-prev-timeline, .slick-next-timeline:hover, .slick-prev-timeline:hover, .slick-next-timeline:focus, .slick-prev-timeline:focus {
	top: 115px;
}
.slick-prev-alt, .slick-prev-timeline  {
  	left: -10px;
}
.slick-next-alt, .slick-next-timeline {
  	right: -10px;
}
.slick-dots li button::before {
  	font-size: 20px !important;
  	color: #fff !important;
}

/************* ON LOAD ANNIMATION STYLES *************/
.fadeIn {
  	opacity: 0; /* Start invisible */
  	animation: fadeIn 1s ease-out forwards; /* Apply the animation */
}
@keyframes fadeIn {
  	0% {
    	opacity: 0;
  	}
  	100% {
    	opacity: 1;
  	}
}

.fadeUp {
  	opacity: 0; /* Start invisible */
  	transform: translateY(20px); /* Start slightly below its final position */
  	animation: fadeUp 1s ease-out forwards; /* Apply the animation */
}
@keyframes fadeUp {
  	0% {
    	opacity: 0;
    	transform: translateY(20px);
  	}
  	100% {
    	opacity: 1;
    	transform: translateY(0); /* Move to its original position */
  	}
}

.fadeLeft {
	animation-name: fadeInLeft;
    animation-duration: 1s; /* Adjust duration as needed */
	animation-timing-function: ease-out; /* Optional: controls speed curve */
	animation-fill-mode: forwards; /* Keeps the final state after animation */
}
@keyframes fadeInLeft {
	0% {
		opacity: 0;
        transform: translateX(-20px); /* Adjust this value for desired starting position */
	}
	100% {
        opacity: 1;
        transform: translateX(0);
	}
}

.fadeRight {
	animation-name: fadeInRight; /* The name of your keyframes */
	animation-duration: 1s; /* How long the animation takes */
	animation-timing-function: ease-out; /* Controls the speed curve */
	animation-fill-mode: forwards; /* Keeps the final state after animation */
	opacity: 0; /* Initial state to prevent "flash of unstyled content" */
}
@keyframes fadeInRight {
	0% {
        opacity: 0;
        transform: translateX(-20px); /* Starts off-screen to the left */
    }
    100% {
        opacity: 1;
        transform: translateX(0); /* Ends at its original position */
    }
}

.delay-1 {
	animation-delay: .5s;
}
.delay-2 {
	animation-delay: 1s;
}
.delay-3 {
	animation-delay: 1.5s;
}
.delay-4 {
	animation-delay: 1.5s;
}
