.ipsCmsEntries{
	--i-column-gap: var(--i-sp_block);
	display: grid;
	gap: var(--i-column-gap);
}

.ns-hero.ns-hero--cms-database {
	color: #000;
	padding: 18px 36px 0;
	position: relative;
	overflow: hidden;
	width: auto;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 0;
	margin-bottom: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.ns-hero--cms-database .ns-hero__inner {
	position: relative;
	z-index: 1;
	max-width: var(--i-layout-width);
	margin: 0 auto;
	padding: 0;
}

.ns-hero--cms-database .ns-hero__title {
	font-size: 2.5rem;
	font-weight: 800;
	margin: 0 0 16px; 
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: #000000;
}

.ns-hero--cms-database .ns-hero__subtitle {
	font-size: 1.15rem;
	color: #333;
	/*max-width: 720px;*/
	margin: 0;
	line-height: 1.6;
}

.ns-hero--cms-database .ns-hero__subtitle > :first-child {
	margin-top: 0;
}

.ns-hero--cms-database .ns-hero__subtitle > :last-child {
	margin-bottom: 0;
}

.ns-hero--cms-database .ns-hero__actions {
	margin-top: 16px;
    display: block;
    text-align: right;
}

.ns-hero--cms-database .ns-hero__actions .ipsFollow__button {
	color: rgba(255, 255, 255, 0.85);
	border-color: rgba(255, 255, 255, 0.3);
}

.ns-hero--cms-database .ns-hero__actions .ipsFollow__button:hover {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.6);
}

/* Pull the CMS widget container flush with header — same role as ns-wrapper in Nursing Salaries */
.ipsLayout__primary-column > .cWidgetContainer--main:has(.ns-hero--cms-database) {
	margin-top: calc(-1 * var(--i-sp_block, 24px));
}

@media (max-width: 769px) {
	.ipsLayout__primary-column > .cWidgetContainer--main:has(.ns-hero--cms-database) {
		margin-top: 0;
	}
	.ns-hero.ns-hero--cms-database {
		max-width: var(--i-layout-width);
	}
}

@media (max-width: 480px) {
	.ns-hero--cms-database .ns-hero__title {
		font-size: 1.6rem;
	}

	.ns-hero--cms-database .ns-hero__subtitle {
		font-size: 1rem;
	}
}

	.ipsCmsEntries__item{
		display: flex;
		flex-direction: column;
	}

	.ipsCmsEntries__align{
		padding: var(--i-sp_3);
		display: flex;
		align-items: start;
		flex-wrap: wrap;
		gap: var(--i-sp_3);
	}

	.ipsCmsEntries__primary{
		grid-column: 1 / -2;
		
		flex: 9999 1 50%;
		display: grid;
		gap: 1em;
		align-content: start;
	}

	.ipsCmsEntries__fields{
		color: var(--i-color_soft);
	}
		/* Hide custom fields if it's empty */
		.ipsCmsEntries__fields:not(:has(*)){
			display: none;
		}
		@supports not selector(a:has(b)){
			.ipsCmsEntries__fields:-moz-only-whitespace{ display: none; }
		}

	.ipsCmsEntries__thumb{
		flex: 1 1 280px;
	}

		.ipsCmsEntries__thumb .ipsThumb{
			aspect-ratio: 16/9;
		}

	.ipsCmsEntries__meta{
		margin-top: auto;
	}


/* Multi-columns */
.ipsCmsEntries--2{
	--ipsCmsEntries--grid: repeat(auto-fill, minmax(min(100%, max(300px, 100% / 2 - var(--i-column-gap))), 1fr));
	grid-template-columns: var(--ipsCmsEntries--grid);
}
.ipsCmsEntries--3{
	--ipsCmsEntries--grid: repeat(auto-fill, minmax(min(100%, max(300px, 100% / 3 - var(--i-column-gap))), 1fr));
	grid-template-columns: var(--ipsCmsEntries--grid);
}

/* Stack */
.ipsCmsEntries--stack .ipsCmsEntries__align{
	justify-content: center;
}

.ipsCmsEntries--stack .ipsCmsEntries__thumb .ipsThumb{
	aspect-ratio: auto;
}

/* Large image */
.ipsCmsEntries--image .ipsCmsEntries__align{
	display: grid;
}

.ipsCmsEntries--image .ipsCmsEntries__thumb{
	order: -1;
}

.ipsCmsEntries--image .ipsCmsEntries__thumb .ipsThumb{
	aspect-ratio: 16/9;
}

.ipsCmsEntries--image :is(.ipsCmsEntries__fields, .ipsCmsEntries__tags, .ipsCmsEntries__snippet){
	display: none;
}

/* First featured */
.ipsCmsEntries__item--featured{
	grid-column: 1/-1;
	container-type: inline-size;
}

	.ipsCmsEntries__item--featured .ipsCmsEntries__align{
		display: grid;
		grid-template-columns: var(--ipsCmsEntries--grid);
	}

	.ipsCmsEntries__item--featured .ipsCmsEntries__thumb{
		flex: 1 1 33%
	}

	@container(max-width: 935px){
		.ipsCmsEntries__item--featured .ipsCmsEntries__thumb{
			flex: 1 1 calc(50% - var(--i-column-gap) * 2);
			min-width: 250px;
		}
	}

/* Non-featured inside a featured grid */
.ipsCmsEntries--feature .ipsCmsEntries__item:not(.ipsCmsEntries__item--featured) .ipsCmsEntries__align{
	display: grid;
	align-content: start;
}

.ipsCmsEntries--feature .ipsCmsEntries__item:not(.ipsCmsEntries__item--featured) .ipsCmsEntries__thumb{
	order: -1;
}