/*
 * Healthy Start Resources page - HS Website Mockup Rev4, page 6.
 * Build: 1.3.2
 *
 * Important: this theme/WordPress version may insert .wp-block-group__inner-container
 * inside Group blocks. Grid/flex rules below intentionally support BOTH renderings.
 */

.chs-resources-main,
.chs-resources-page-wrap,
.chs-resources-entry-content {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.chs-alt-template.page-template-template-resources-mockup .site-inner,
body.chs-alt-template.page-template-template-resources-mockup-php .site-inner,
body.chs-alt-template.page-template-template-resources-mockup .site-content,
body.chs-alt-template.page-template-template-resources-mockup-php .site-content,
body.chs-alt-template.page-template-template-resources-mockup .content-area,
body.chs-alt-template.page-template-template-resources-mockup-php .content-area,
body.chs-alt-template.page-template-template-resources-mockup .site-main,
body.chs-alt-template.page-template-template-resources-mockup-php .site-main,
body.chs-alt-template.page-template-template-resources-mockup .entry-content,
body.chs-alt-template.page-template-template-resources-mockup-php .entry-content,
body.chs-alt-template .chs-resources-main,
body.chs-alt-template .chs-resources-page-wrap,
body.chs-alt-template .chs-resources-entry-content {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	float: none !important;
}

.chs-resources-page {
	--chs-resources-pink: #e84799;
	--chs-resources-green: #7ac143;
	--chs-resources-light: #f1f1f1;
	--chs-resources-text: #111111;
	--chs-resources-max: 1848px;
	--chs-resources-shell: min(calc(100% - 68px), var(--chs-resources-max));
	--chs-resources-font: "Livvic", Verdana, Arial, sans-serif;
	--chs-resources-display: "bree", "Livvic", Verdana, Arial, sans-serif;
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
	padding: 52px 0 26px !important;
	color: var(--chs-resources-text);
	font-family: var(--chs-resources-font) !important;
	font-feature-settings: "ss03" 1;
}

.chs-resources-page,
.chs-resources-page *,
.chs-resources-page *::before,
.chs-resources-page *::after {
	box-sizing: border-box;
}

/* Old/new Gutenberg rendering normalization. */
.chs-resources-page > .wp-block-group__inner-container {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.chs-resources-page .wp-block-group,
.chs-resources-page .wp-block-columns,
.chs-resources-page .wp-block-column,
.chs-resources-page .wp-block-image,
.chs-resources-page .wp-block-buttons,
.chs-resources-page .wp-block-button,
.chs-resources-page .wp-block-separator,
.chs-resources-page .wp-block-shortcode {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.chs-resources-page .wp-block-column { min-width: 0; }
.chs-resources-page .wp-block-image img { display: block; }
.chs-resources-page a { color: inherit; text-decoration: none; }

.chs-resources-page .chs-resources-shell,
.chs-resources-page .chs-resources-section,
.chs-resources-page .chs-resources-divider {
	width: var(--chs-resources-shell);
	max-width: var(--chs-resources-max);
	margin-right: auto;
	margin-left: auto;
}

.chs-resources-page .chs-resources-section { padding: 0; }
.chs-resources-page .chs-resources-section > .wp-block-group__inner-container { width: 100%; }

/* PDF source is 1920px wide: 36px display type = 1.875vw when scaled. */
.chs-resources-page .chs-resources-section-title {
	margin: 0 0 30px !important;
	color: var(--chs-resources-pink) !important;
	font-family: var(--chs-resources-display) !important;
	font-size: clamp(24px, 1.875vw, 36px) !important;
	font-weight: 400 !important;
	line-height: 1.08 !important;
	letter-spacing: .005em;
	text-transform: uppercase;
}

/* WordPress/Twenty Sixteen normally clamps a non-wide Separator block to about
 * 100px. Force these mockup dividers back to the same full content shell used
 * by the page sections. The stronger selector + !important is intentional. */
.chs-resources-page hr.wp-block-separator.chs-resources-divider {
	display: block !important;
	width: var(--chs-resources-shell) !important;
	max-width: var(--chs-resources-max) !important;
	min-width: 0 !important;
	height: 8px !important;
	border: 0 !important;
	margin: 62px auto !important;
	padding: 0 !important;
	background-color: transparent !important;
	background-image: radial-gradient(circle, var(--chs-resources-pink) 0 3px, transparent 3.4px) !important;
	background-repeat: repeat-x !important;
	background-position: left center !important;
	background-size: 28px 8px !important;
	opacity: 1 !important;
}

/* Program information and forms. */
.chs-resources-info-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 2.08fr) minmax(340px, .98fr) !important;
	gap: 34px !important;
	align-items: stretch;
}

.chs-resources-info-grid > .wp-block-column {
	margin: 0 !important;
	width: auto !important;
	flex-basis: auto !important;
}

.chs-resources-info-grid > .wp-block-column > .chs-resources-info-box { height: 100%; }

.chs-resources-info-box {
	min-width: 0;
	height: 100%;
	background: var(--chs-resources-light);
}

.chs-resources-info-box > .wp-block-group__inner-container {
	height: 100%;
}

.chs-resources-info-head {
	margin: 0 !important;
	padding: 13px 24px 12px !important;
	color: #fff !important;
	font-family: var(--chs-resources-display) !important;
	font-size: clamp(24px, 1.875vw, 36px) !important;
	font-weight: 400 !important;
	line-height: 1.05 !important;
	text-align: center;
}

.chs-resources-info-head.is-pink { background: var(--chs-resources-pink); }
.chs-resources-info-head.is-green { background: var(--chs-resources-green); }

.chs-resources-brochure-columns {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 18px 70px !important;
	padding: 22px 88px 30px !important;
}

.chs-resources-brochure-columns > .wp-block-column {
	margin: 0 !important;
	width: auto !important;
	flex-basis: auto !important;
}

.chs-resources-program-item { margin: 0 0 15px !important; }
.chs-resources-program-item:last-child { margin-bottom: 0 !important; }

.chs-resources-program-item h3 {
	margin: 0 0 3px !important;
	color: var(--chs-resources-pink) !important;
	font-family: var(--chs-resources-display) !important;
	font-size: clamp(24px, 1.875vw, 36px) !important;
	font-weight: 400 !important;
	line-height: 1.08 !important;
}

.chs-resources-program-item p,
.chs-resources-form-list p {
	margin: 0 !important;
	font-family: var(--chs-resources-font) !important;
	font-size: clamp(16px, 1.25vw, 24px) !important;
	font-weight: 400 !important;
	line-height: 1.34 !important;
}

.chs-resources-program-item strong,
.chs-resources-form-list strong { font-weight: 600 !important; }

.chs-resources-program-item a,
.chs-resources-form-list a,
.chs-resources-online a {
	transition: color .15s ease, text-decoration-color .15s ease;
}

.chs-resources-program-item a:hover,
.chs-resources-program-item a:focus,
.chs-resources-form-list a:hover,
.chs-resources-form-list a:focus,
.chs-resources-online a:hover,
.chs-resources-online a:focus {
	color: var(--chs-resources-pink);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.chs-resources-form-list { padding: 19px 28px 28px !important; }
.chs-resources-form-list p + p { margin-top: 2px !important; }
.chs-resources-form-list .chs-resources-form-gap { margin-top: 25px !important; }

/* Automatic PDF previews.
 * IMPORTANT: on this site's Gutenberg version, Group blocks render an
 * .wp-block-group__inner-container. Do not make BOTH wrapper levels a grid:
 * doing that puts the inner container in column 1 and compresses the whole
 * six-column layout to one-sixth width.
 */
.chs-resources-flyer-grid {
	display: block !important;
	width: 100% !important;
	--chs-resource-cols: 6;
}
.chs-resources-flyer-grid > .wp-block-group__inner-container {
	display: grid !important;
	grid-template-columns: repeat(var(--chs-resource-cols), minmax(0, 1fr)) !important;
	gap: 48px 34px !important;
	align-items: start;
	width: 100% !important;
}
@supports selector(:has(*)) {
	.chs-resources-flyer-grid:not(:has(> .wp-block-group__inner-container)) {
		display: grid !important;
		grid-template-columns: repeat(var(--chs-resource-cols), minmax(0, 1fr)) !important;
		gap: 48px 34px !important;
		align-items: start;
	}
}

.chs-resource-card {
	min-width: 0;
	text-align: center;
}

.chs-resource-preview-stage,
.chs-resource-preview-stage > .wp-block-group__inner-container {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 270px;
	margin: 0 auto 13px !important;
}

.chs-resource-preview-stage > .wp-block-group__inner-container { margin-bottom: 0 !important; }

.chs-resource-pdf-preview {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	max-height: 100%;
	border: 1px solid rgba(0,0,0,.28);
	background: #fff;
	box-shadow: 0 1px 1px rgba(0,0,0,.04);
	transition: transform .15s ease, box-shadow .15s ease;
}

.chs-resource-pdf-preview:hover,
.chs-resource-pdf-preview:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 4px 14px rgba(0,0,0,.12);
	outline: 2px solid var(--chs-resources-pink);
	outline-offset: 3px;
}

.chs-resource-pdf-preview img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 268px;
	object-fit: contain;
}

.chs-resource-pdf-canvas {
	display: none;
	max-width: 100%;
	max-height: 268px;
	background: #fff;
}

.chs-resource-pdf-preview.is-rendered .chs-resource-pdf-canvas { display: block; }
.chs-resource-pdf-preview.is-rendered .chs-resource-pdf-placeholder { display: none; }

.chs-resource-pdf-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 184px;
	height: 250px;
	background: #eee;
	color: #777;
	font-size: 18px;
	font-weight: 700;
}

.chs-resource-card h3 {
	margin: 0 0 4px !important;
	font-family: var(--chs-resources-font) !important;
	font-size: clamp(16px, 1.25vw, 24px) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
}

.chs-resource-card p {
	margin: 0 !important;
	font-family: var(--chs-resources-font) !important;
	font-size: clamp(16px, 1.25vw, 24px) !important;
	font-weight: 400 !important;
	line-height: 1.22 !important;
}

.chs-resource-card p a:hover,
.chs-resource-card p a:focus {
	color: var(--chs-resources-pink);
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* County map.
 * The approved PNG is the artwork; the shortcode places exact SVG county
 * shapes over it. The SVG shapes are the links, so there is never a rectangular
 * Gutenberg button/focus box over the map.
 */
.chs-resources-interactive-map {
	width: min(760px, 92%);
	margin: 0 auto !important;
}
.chs-resources-county-svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}
.chs-resources-county-svg .chs-county-map-art { pointer-events: none; }
.chs-resources-county-svg .chs-county-link {
	outline: none !important;
	text-decoration: none !important;
}

/* The path is completely transparent until hover/focus. Using full opacity on
 * hover prevents the original pink map from bleeding through the green. */
.chs-resources-county-svg .chs-county-shape,
.chs-resources-county-svg .chs-county-link:visited .chs-county-shape {
	fill: transparent;
	fill-opacity: 0;
	stroke: transparent;
	stroke-width: 0;
	pointer-events: all;
	cursor: pointer;
	transition: fill .14s ease, stroke .14s ease;
}

/* A second white SVG label is hidden normally. It appears over the opaque
 * green shape so the county name never gets tinted/covered by the highlight. */
.chs-resources-county-svg .chs-county-hover-label {
	fill: #ffffff !important;
	stroke: none !important;
	opacity: 0;
	pointer-events: none;
	font-family: var(--chs-resources-font) !important;
	font-size: 34px !important;
	font-weight: 600 !important;
	line-height: 1;
	transition: opacity .08s ease;
}

/* Do not use plain :focus here. Mouse clicks can leave an anchor focused after
 * opening a PDF in a new tab, which makes a county appear permanently selected.
 * :focus-visible preserves the keyboard-accessibility highlight without that
 * sticky mouse-click state. */
.chs-resources-county-svg .chs-county-link:hover .chs-county-shape,
.chs-resources-county-svg .chs-county-link:focus-visible .chs-county-shape {
	fill: var(--chs-resources-green) !important;
	fill-opacity: 1 !important;
	stroke: var(--chs-resources-green) !important;
	stroke-width: 4px !important;
	stroke-linejoin: round;
	stroke-linecap: round;
}
.chs-resources-county-svg .chs-county-link:hover .chs-county-hover-label,
.chs-resources-county-svg .chs-county-link:focus-visible .chs-county-hover-label {
	opacity: 1;
}
.chs-resources-county-svg .chs-county-link:active .chs-county-shape {
	fill: var(--chs-resources-green) !important;
	fill-opacity: 1 !important;
}

.chs-resources-county-mobile-links {
	display: none;
	grid-template-columns: repeat(2, minmax(0,1fr));
	gap: 8px 20px;
	margin-top: 22px !important;
	font-size: 16px;
}
.chs-resources-county-mobile-links .chs-county-mobile-link { margin: 0 !important; }
.chs-resources-county-mobile-links a { display:block; padding:8px 10px; border:1px solid #ddd; text-align:center; }

/* Reports. */
.chs-resources-report-grid {
	display: block !important;
	width: 100% !important;
	--chs-resource-cols: 4;
}
.chs-resources-report-grid > .wp-block-group__inner-container {
	display: grid !important;
	grid-template-columns: repeat(var(--chs-resource-cols), minmax(0, 1fr)) !important;
	gap: 42px 72px !important;
	align-items: start;
	width: 100% !important;
}
@supports selector(:has(*)) {
	.chs-resources-report-grid:not(:has(> .wp-block-group__inner-container)) {
		display: grid !important;
		grid-template-columns: repeat(var(--chs-resource-cols), minmax(0, 1fr)) !important;
		gap: 42px 72px !important;
		align-items: start;
	}
}

.chs-resource-card.is-report .chs-resource-preview-stage,
.chs-resource-card.is-report .chs-resource-preview-stage > .wp-block-group__inner-container { height: 280px; }
.chs-resource-card.is-report .chs-resource-pdf-preview img,
.chs-resource-card.is-report .chs-resource-pdf-canvas { max-height: 278px; }
.chs-resource-card.is-report h3 {
	max-width: 360px;
	margin-right: auto !important;
	margin-left: auto !important;
	font-size: clamp(16px, 1.25vw, 24px) !important;
}

/* Videos.
 * Use flex rather than a four-column grid so an incomplete final row is
 * naturally centered. With 11 videos the last three now sit in the middle
 * instead of being pinned to the left edge. */
.chs-resources-video-grid {
	display: block !important;
	width: 100% !important;
	--chs-video-gap: 36px;
	--chs-video-basis: calc((100% - 108px) / 4);
}
.chs-resources-video-grid > .wp-block-group__inner-container {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: flex-start !important;
	column-gap: var(--chs-video-gap) !important;
	row-gap: 40px !important;
	width: 100% !important;
}
@supports selector(:has(*)) {
	.chs-resources-video-grid:not(:has(> .wp-block-group__inner-container)) {
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		align-items: flex-start !important;
		column-gap: var(--chs-video-gap) !important;
		row-gap: 40px !important;
	}
}

.chs-video-card {
	min-width: 0;
	width: var(--chs-video-basis) !important;
	max-width: var(--chs-video-basis) !important;
	flex: 0 0 var(--chs-video-basis) !important;
	text-align: center;
}
.chs-video-thumb {
	position: relative;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 2 / 1;
	margin: 0 !important;
	background: #ddd;
}
.chs-video-thumb a { display:block; width:100%; height:100%; }
.chs-video-thumb img { display:block; width:100% !important; height:100% !important; object-fit:cover; }

.chs-video-thumb::before {
	content: "";
	position: absolute;
	z-index: 2;
	left: 50%;
	top: 50%;
	width: 58px;
	height: 58px;
	border: 4px solid #fff;
	border-radius: 50%;
	background: rgba(0,0,0,.22);
	box-shadow: 0 1px 6px rgba(0,0,0,.25);
	transform: translate(-50%, -50%);
	pointer-events: none;
}
.chs-video-thumb::after {
	content: "";
	position: absolute;
	z-index: 3;
	left: calc(50% + 4px);
	top: 50%;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	border-left: 19px solid #fff;
	transform: translate(-38%, -50%);
	pointer-events: none;
}
.chs-video-thumb:hover,
.chs-video-thumb:focus-within { outline: 3px solid var(--chs-resources-pink); outline-offset:3px; }

.chs-video-card h3 {
	margin: 12px auto 0 !important;
	font-family: var(--chs-resources-font) !important;
	font-size: clamp(20px, 1.625vw, 31.2px) !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	max-width: 430px;
}
.chs-video-card h3 a:hover,
.chs-video-card h3 a:focus { color:var(--chs-resources-pink); text-decoration:underline; text-underline-offset:2px; }

/* Online resources. */
.chs-resources-online {
	display: grid !important;
	grid-template-columns: .95fr 1.15fr !important;
	gap: 80px !important;
	padding: 42px 58px 46px !important;
	background: var(--chs-resources-light);
}
.chs-resources-online > .wp-block-column {
	margin: 0 !important;
	width: auto !important;
	flex-basis: auto !important;
}

.chs-resources-online h3 {
	margin: 0 0 4px !important;
	color: var(--chs-resources-green) !important;
	font-family: var(--chs-resources-display) !important;
	font-size: clamp(24px, 1.875vw, 36px) !important;
	font-weight: 400 !important;
	line-height: 1.08 !important;
	text-transform: uppercase;
}
.chs-resources-online h3 + p { margin-bottom: 17px !important; }
.chs-resources-online .chs-online-pink,
.chs-resources-online .chs-online-feature-link {
	margin-top: 10px !important;
	color: var(--chs-resources-pink) !important;
	text-transform: none;
}
.chs-resources-online .chs-online-feature-link a { color: inherit !important; }
.chs-resources-online p {
	margin: 0 0 7px !important;
	font-family: var(--chs-resources-font) !important;
	font-size: clamp(20px, 1.625vw, 31.2px) !important;
	font-weight: 400 !important;
	line-height: 1.22 !important;
}
.chs-resources-online strong { font-weight: 600 !important; }

.chs-resources-photo-credit {
	width: var(--chs-resources-shell);
	max-width: var(--chs-resources-max);
	margin: 45px auto 0 !important;
	font-family: var(--chs-resources-font) !important;
	font-size: clamp(14px, 1.25vw, 24px) !important;
	line-height: 1.3 !important;
}

@media (max-width: 1320px) {
	.chs-resources-brochure-columns { padding-right:48px !important; padding-left:48px !important; gap:18px 45px !important; }
	.chs-resources-flyer-grid { --chs-resource-cols: 4; }
	.chs-resources-video-grid { --chs-video-gap: 32px; --chs-video-basis: calc((100% - 64px) / 3); }
}

@media (max-width: 980px) {
	.chs-resources-page { --chs-resources-shell:min(calc(100% - 40px),var(--chs-resources-max)); padding-top:42px !important; }
	.chs-resources-info-grid { grid-template-columns:1fr !important; }
	.chs-resources-flyer-grid { --chs-resource-cols: 3; }
	.chs-resources-report-grid { --chs-resource-cols: 2; }
	.chs-resources-video-grid { --chs-video-gap: 28px; --chs-video-basis: calc((100% - 28px) / 2); }
	.chs-resources-online { grid-template-columns:1fr !important; gap:32px !important; }
	.chs-resources-page hr.wp-block-separator.chs-resources-divider { margin-top:50px !important; margin-bottom:50px !important; }
}

@media (max-width: 680px) {
	.chs-resources-page { --chs-resources-shell:calc(100% - 28px); padding-top:32px !important; }
	.chs-resources-section-title { margin-bottom:20px !important; }
	.chs-resources-brochure-columns { grid-template-columns:1fr !important; padding:22px 24px 28px !important; }
	.chs-resources-form-list { padding:18px 24px 26px !important; }
	.chs-resources-flyer-grid { --chs-resource-cols: 2; }
	.chs-resources-flyer-grid > .wp-block-group__inner-container { gap:34px 20px !important; }
	.chs-resource-preview-stage,
	.chs-resource-preview-stage > .wp-block-group__inner-container { height:215px; }
	.chs-resource-pdf-preview img,
	.chs-resource-pdf-canvas { max-height:213px; }
	.chs-resources-interactive-map { width:100% !important; }
	.chs-resources-county-mobile-links { display:grid; }
	.chs-resources-report-grid > .wp-block-group__inner-container { gap:34px 20px !important; }
	.chs-resource-card.is-report .chs-resource-preview-stage,
	.chs-resource-card.is-report .chs-resource-preview-stage > .wp-block-group__inner-container { height:235px; }
	.chs-resource-card.is-report .chs-resource-pdf-preview img,
	.chs-resource-card.is-report .chs-resource-pdf-canvas { max-height:233px; }
	.chs-resources-video-grid { --chs-video-gap: 0px; --chs-video-basis: 100%; }
	.chs-resources-online { padding:28px 24px 32px !important; }
	.chs-video-thumb::before { width:52px; height:52px; border-width:4px; }
	.chs-video-thumb::after { border-top-width:11px; border-bottom-width:11px; border-left-width:17px; }
}

@media (max-width: 430px) {
	.chs-resources-flyer-grid,
	.chs-resources-report-grid { --chs-resource-cols: 1; }
	.chs-resource-preview-stage,
	.chs-resource-preview-stage > .wp-block-group__inner-container,
	.chs-resource-card.is-report .chs-resource-preview-stage,
	.chs-resource-card.is-report .chs-resource-preview-stage > .wp-block-group__inner-container { height:280px; }
	.chs-resource-pdf-preview img,
	.chs-resource-pdf-canvas,
	.chs-resource-card.is-report .chs-resource-pdf-preview img,
	.chs-resource-card.is-report .chs-resource-pdf-canvas { max-height:278px; }
}
