/* HDCFC Develop - base structural styles (colors/spacing controlled via Elementor) */

.hdcfc-pc-section * {
	box-sizing: border-box;
}
.hdcfc-pc-wrapper {
	display: flex;
	align-items: center;
	width: 100%;
}
.hdcfc-pc-image {
	flex: 0 1 auto;
	min-width: 0;
	max-width: 100%;
}
.hdcfc-pc-image img {
	width: 100%;
	height: auto;
	max-width: 100%;
	display: block;
	object-fit: cover;
}
.hdcfc-pc-content {
	flex: 1 1 0%;
	min-width: 0;
}
.hdcfc-pc-content p {
	margin: 0;
}
.hdcfc-pc-btn {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	border: none;
	cursor: pointer;
}
.hdcfc-pc-btn .hdcfc-pc-btn-text {
	white-space: nowrap;
}
.hdcfc-pc-btn .hdcfc-pc-icon-circle {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.hdcfc-pc-btn .hdcfc-pc-icon-circle svg {
	width: 40%;
	height: 40%;
}

@media (max-width: 900px) {
	.hdcfc-pc-wrapper.hdcfc-pc-stack-tablet {
		flex-direction: column !important;
	}
	.hdcfc-pc-wrapper.hdcfc-pc-stack-tablet .hdcfc-pc-image {
		width: 100% !important;
		max-width: 100% !important;
	}
	.hdcfc-pc-wrapper.hdcfc-pc-stack-tablet .hdcfc-pc-content {
		width: 100% !important;
	}
}
@media (max-width: 767px) {
	.hdcfc-pc-wrapper.hdcfc-pc-stack-mobile {
		flex-direction: column !important;
	}
	.hdcfc-pc-wrapper.hdcfc-pc-stack-mobile .hdcfc-pc-image {
		width: 100% !important;
		max-width: 100% !important;
	}
	.hdcfc-pc-wrapper.hdcfc-pc-stack-mobile .hdcfc-pc-content {
		width: 100% !important;
	}

	/* Failsafe: on real phone screens this section always stacks to a single
	   column and the image always spans full width, no matter what the
	   "Stack Layout On" setting is set to. */
	.hdcfc-pc-wrapper {
		flex-direction: column !important;
	}
	.hdcfc-pc-wrapper .hdcfc-pc-image,
	.hdcfc-pc-wrapper .hdcfc-pc-content {
		width: 100% !important;
		max-width: 100% !important;
	}
}

/* What's Next widget */
.hdcfc-wn-section {
	position: relative;
	width: 100%;
	overflow: hidden;
	box-sizing: border-box;
}
.hdcfc-wn-section * {
	box-sizing: border-box;
}
.hdcfc-wn-floral {
	position: absolute;
	pointer-events: none;
	z-index: 0;
}
.hdcfc-wn-content {
	position: relative;
	z-index: 1;
	width: 100%;
	margin: 0 auto;
}
.hdcfc-wn-content h1 {
	margin: 0 0 20px 0;
}
.hdcfc-wn-content p {
	margin: 0;
}
.hdcfc-wn-content p + p {
	margin-top: 4px;
}

/* Scripture Quote widget */
.hdcfc-sq-section {
	position: relative;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	box-sizing: border-box;
}
.hdcfc-sq-section * {
	box-sizing: border-box;
}
.hdcfc-sq-mountains {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	display: block;
	z-index: 0;
}
.hdcfc-sq-card {
	position: relative;
	z-index: 2;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.hdcfc-sq-text,
.hdcfc-sq-cite {
	margin: 0;
}

/* Pastoral vs Traditional widget */
.hdcfc-pt-section {
	width: 100%;
	box-sizing: border-box;
}
.hdcfc-pt-section * {
	box-sizing: border-box;
}
.hdcfc-pt-heading {
	margin: 0 0 28px 0;
	text-transform: capitalize;
}
.hdcfc-pt-intro {
	margin: 0 auto 56px auto;
}
.hdcfc-pt-content {
	display: flex;
	align-items: stretch;
}
.hdcfc-pt-image {
	flex: 0 0 46%;
}
.hdcfc-pt-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.hdcfc-pt-list {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.hdcfc-pt-item {
	display: flex;
	align-items: center;
	--hdcfc-pt-accent: #94C74D;
}

.hdcfc-pt-section {
	--hdcfc-pt-hover-text: #FFFFFF;
	--hdcfc-pt-hover-icon: #FFFFFF;
	--hdcfc-pt-hover-lift: -2px;
	--hdcfc-pt-hover-speed: 0.25s;
}

.hdcfc-pt-hover .hdcfc-pt-item {
	transition: background-color var(--hdcfc-pt-hover-speed) ease,
		box-shadow var(--hdcfc-pt-hover-speed) ease,
		transform var(--hdcfc-pt-hover-speed) ease;
}

.hdcfc-pt-hover .hdcfc-pt-label {
	transition: color var(--hdcfc-pt-hover-speed) ease;
}

.hdcfc-pt-hover .hdcfc-pt-icon svg path {
	transition: fill var(--hdcfc-pt-hover-speed) ease;
}

.elementor-widget .hdcfc-pt-section.hdcfc-pt-hover .hdcfc-pt-list .hdcfc-pt-item.hdcfc-pt-item:not(.hdcfc-pt-highlight):hover {
	background: var(--hdcfc-pt-hover-item, var(--hdcfc-pt-accent));
	transform: translateY(var(--hdcfc-pt-hover-lift));
}

.elementor-widget .hdcfc-pt-section.hdcfc-pt-hover--custom .hdcfc-pt-list .hdcfc-pt-item.hdcfc-pt-item:not(.hdcfc-pt-highlight):hover {
	background: var(--hdcfc-pt-hover-item, var(--hdcfc-pt-hover-bg, var(--hdcfc-pt-accent)));
}

.elementor-widget .hdcfc-pt-section.hdcfc-pt-hover .hdcfc-pt-list .hdcfc-pt-item.hdcfc-pt-item:not(.hdcfc-pt-highlight):hover .hdcfc-pt-label {
	color: var(--hdcfc-pt-hover-item-text, var(--hdcfc-pt-hover-text));
}

.elementor-widget .hdcfc-pt-section.hdcfc-pt-hover .hdcfc-pt-list .hdcfc-pt-item.hdcfc-pt-item:not(.hdcfc-pt-highlight):hover .hdcfc-pt-icon svg path {
	fill: var(--hdcfc-pt-hover-item-text, var(--hdcfc-pt-hover-icon));
}

.elementor-widget .hdcfc-pt-section.hdcfc-pt-hover .hdcfc-pt-list .hdcfc-pt-item.hdcfc-pt-highlight:hover {
	transform: translateY(var(--hdcfc-pt-hover-lift));
}
.hdcfc-pt-icon {
	flex-shrink: 0;
	display: block;
}
.hdcfc-pt-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}
.hdcfc-pt-label {
	display: block;
}
.hdcfc-pt-fee {
	margin: 56px auto 0 auto;
}
.hdcfc-pt-fee strong {
	display: block;
	margin-top: 6px;
}

@media (max-width: 900px) {
	.hdcfc-pt-content.hdcfc-pt-stack-tablet {
		flex-direction: column;
	}
	.hdcfc-pt-content.hdcfc-pt-stack-tablet .hdcfc-pt-image {
		flex: none;
		width: 100%;
		max-width: 100% !important;
	}
	.hdcfc-pt-content.hdcfc-pt-stack-tablet .hdcfc-pt-image img {
		height: auto;
		aspect-ratio: 786 / 500;
	}
}
@media (max-width: 767px) {
	.hdcfc-pt-content {
		flex-direction: column;
	}
	.hdcfc-pt-content .hdcfc-pt-image {
		flex: none;
		width: 100%;
		max-width: 100% !important;
	}
	.hdcfc-pt-content .hdcfc-pt-image img {
		height: auto;
		aspect-ratio: 786 / 500;
	}
}

/* Services Hero widget */
.hdcfc-sh-section {
	position: relative;
	width: 100%;
	overflow: hidden;
	box-sizing: border-box;
}
.hdcfc-sh-section * {
	box-sizing: border-box;
}
.hdcfc-sh-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	position: relative;
}
.hdcfc-sh-left {
	flex: 1 1 460px;
	display: flex;
	flex-direction: column;
	gap: 40px;
	position: relative;
}
.hdcfc-sh-heading {
	margin: 0;
}
.hdcfc-sh-description {
	margin: 0;
}
.hdcfc-sh-description p {
	margin: 0;
}
.hdcfc-sh-star {
	pointer-events: none;
}
.hdcfc-sh-btn {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	border: none;
	cursor: pointer;
	width: fit-content;
}
.hdcfc-sh-btn .hdcfc-sh-btn-text {
	white-space: nowrap;
}
.hdcfc-sh-icon-circle {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.hdcfc-sh-icon-circle svg {
	width: 40%;
	height: 40%;
}
.hdcfc-sh-image {
	flex: 0 0 auto;
}
.hdcfc-sh-image img {
	width: 100%;
	height: auto;
	display: block;
}

@media (max-width: 1300px) {
	.hdcfc-sh-star {
		display: none;
	}
}
@media (max-width: 900px) {
	.hdcfc-sh-inner.hdcfc-sh-stack-tablet {
		flex-direction: column !important;
		align-items: flex-start;
	}
	.hdcfc-sh-inner.hdcfc-sh-stack-tablet .hdcfc-sh-left,
	.hdcfc-sh-inner.hdcfc-sh-stack-tablet .hdcfc-sh-image {
		max-width: 100% !important;
		width: 100% !important;
	}
}
@media (max-width: 767px) {
	.hdcfc-sh-inner.hdcfc-sh-stack-mobile {
		flex-direction: column !important;
		align-items: flex-start;
	}
	.hdcfc-sh-inner.hdcfc-sh-stack-mobile .hdcfc-sh-left,
	.hdcfc-sh-inner.hdcfc-sh-stack-mobile .hdcfc-sh-image {
		max-width: 100% !important;
		width: 100% !important;
	}
}

/* Telehealth Services Grid widget */
.hdcfc-tg-section {
	width: 100%;
	box-sizing: border-box;
}
.hdcfc-tg-section * {
	box-sizing: border-box;
}
.hdcfc-tg-header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 28px;
}
.hdcfc-tg-title {
	margin: 0 0 16px 0;
}
.hdcfc-tg-subtitle {
	margin: 0;
}
.hdcfc-tg-btn {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	border: none;
	cursor: pointer;
	white-space: nowrap;
	flex-shrink: 0;
}
.hdcfc-tg-btn .hdcfc-tg-btn-text {
	white-space: nowrap;
}
.hdcfc-tg-icon-circle {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.hdcfc-tg-icon-circle svg {
	width: 45%;
	height: 45%;
}
.hdcfc-tg-grid {
	display: grid;
	width: 100%;
}
.hdcfc-tg-card {
	display: flex;
	flex-direction: column;
}
.hdcfc-tg-card-image {
	width: 100%;
	position: relative;
	overflow: hidden;
	display: block;
}
.hdcfc-tg-card-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
.hdcfc-tg-card-title {
	margin: 0;
}
.hdcfc-tg-card-text {
	margin: 0;
	flex-grow: 1;
}
.hdcfc-tg-read-more {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	width: fit-content;
}
.hdcfc-tg-read-more svg {
	transition: transform .15s ease;
}
.hdcfc-tg-read-more:hover svg {
	transform: translateX(4px);
}

@media (max-width: 860px) {
	.hdcfc-tg-header {
		flex-direction: column;
	}
	.hdcfc-tg-btn {
		align-self: flex-start;
	}
}
