  /* Shared Card */
	.bc-container {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(300px, 380px));
		gap: 1em;
		padding: 1em;
		justify-content: center;
	}
	.bc-heading {
		font-size: 1.5em;
		padding: unset;
		margin: unset;
		letter-spacing: unset;
	}
	.bc-item {
		position: relative;
		border-radius: 1rem;
		display: flex;
		flex-direction: column;
	}
	.bc-cta-link {
		inset: 0;
		z-index: 1;
		text-decoration: none;
		position: absolute;
	}
	.bc-cta-link:hover, .bc-cta-link:focus {
		border: none;
	}
	
/* Program Card */
	.program-card .bc-container {}
	.program-card .bc-item {
		background-color: #E7E7E7;
		border: 1px solid #CDCDCD;
		padding-bottom: 75px;
	}
	.program-card .bc-image {
		order: 1;
		object-fit: cover;
		width: 100%;
		height: auto;
		display: block;
		border-top-left-radius: 1rem;
		border-top-right-radius: 1rem;
		border-bottom: 1px solid #b6b6b6;
	}
	.program-card .bc-image[src=""] {
		visibility: hidden;
	}
	.program-card .bc-icon {
		order: 2;
		display: none;
		position: relative;
		clip-path: circle();
		aspect-ratio: 1 / 1;
		align-items: center;
		justify-content: center;
		color: #FFFFFF;
		background-color: #003366;
		width: 48px;
		font-size: 22px;
		margin-top: -25px;
		margin-bottom: -25px;
		margin-left: calc(50% - 24px);
	}
	.program-card .bc-icon:not(:empty) {
		display: flex;
	}
	.program-card .bc-icon[class*="fa-"] {
		display: flex;
	}
	.program-card .bc-heading {
		order: 3;
		text-align: center;
		color: #FFFFFF;
		text-align: center;
		font-weight: bold;
		width: 100%;
		padding: 25px 5px 15px 5px;
		font-size: 1.55em;
		border-top: 2px solid #b6b6b6;
		color: #003366;
	}
	.program-card .bc-item .bc-heading::after {
		content: "\f061"; /* Unicode character U+F061 */
		font-family: "Font Awesome 5 Free"; /* or the correct icon font you're using */
		font-weight: 900; /* needed for some Font Awesome icons */
		font-size: 36px;
		justify-content: right;
		position: absolute;
		right: 33px;
		bottom: 28px;
		color: #003366;
	}
	.program-card .bc-snippet {
		order: 4;
		padding-left:  2em;
		padding-right: 1.5em;
		line-height: 1.5em;
		font-size: 1em;
	}
	.program-card ul {
		order: 4;
	}
	.program-card .bc-item:hover .bc-snippet::after {
		content: '◯';
		font-size: 52px;
		justify-content: right;
		position: absolute;
		right: 19px;
		bottom: 32px;
  		font-weight: bold;
	  	color: #003366;
	}
	.program-card .bc-cta-link {
		order: 5;
	}
	.program-card .bc-cta-text {
		display: none;
	}
	
/* Thumb Card */
	.thumb-card .bc-container {
		/* grid-template-columns: repeat(auto-fill, minmax(278px, 1fr)); */
		grid-template-columns: repeat(auto-fit, 278px);
	}
	.thumb-card .bc-item {
		background-color: #E7E7E7;
		aspect-ratio: 1 / 1;
	}
	.thumb-card .bc-icon {
		order: 1;
		display: none;
		margin: 2rem auto;
		clip-path: circle();
		width: 50%;
		aspect-ratio: 1 / 1;
		align-items: center;
		justify-content: center;
		color: #FFFFFF;
		background-color: #003399;
		font-size: 72px;
	}
	.thumb-card .bc-item:hover {
		background-color: #003399;
	}
	.thumb-card .bc-heading {
		order: 2;
		text-align: center;
		color: #003399;
		line-height: 2em;
		margin-top: 0;
		border-top-left-radius: 1rem;
		border-top-right-radius: 1rem;
	}
	.thumb-card .bc-item:hover .bc-heading {
		color: #E7E7E7;
	}
	.thumb-card .bc-cta-link {
		order: 3;
	}
	.thumb-card .bc-cta-text {
		display: none;
	}
	.thumb-card .bc-image {
		display: none;
	}
	.thumb-card .bc-snippet {
		display: none;
	}
	.thumb-card .bc-icon:not(:empty) {
		display: flex;
	}
	.thumb-card .bc-icon[class*="fa-"] {
		display: flex;
	}
	
/* Blue Card */
	.blue-card .bc-item {
		height: 300px;
		background-color: #076AB0;
	}
	.blue-card .bc-item:nth-child(even) {
		background-color: #003366;
	}
	.blue-card .bc-icon {
		order: 1;
		margin-top: 40px;
		margin-left: 20px;
		font-size: xx-large;
		color: #FFFFFF;
		font-weight: 600;
	}
	.blue-card .bc-heading {
		margin-left: 20px;
		order: 2;
		text-align: left;
		color: #FFFFFF;
		font-weight: 600;
		font-size: 1.55em;
		line-height: 1.86em;
		margin-top: 0;
	}
	.blue-card .bc-snippet {
		order: 3;
		padding: 0px 20px 20px 20px;
		font-size: 1em;
		line-height: 1.5em;
		color: #FFFFFF;
	}
	.blue-card .bc-item .bc-heading::after {
		content: "\f061"; /* Unicode character U+F061 */
		font-family: "Font Awesome 5 Free"; /* or the correct icon font you're using */
		font-weight: 900; /* needed for some Font Awesome icons */
		font-size: 34px;
		justify-content: right;
		position: absolute;
		right: 34px;
		bottom: 30px;
	}
	.blue-card .bc-item:hover .bc-snippet::after {
		content: '◯';
		font-size: 52px;
		justify-content: right;
		position: absolute;
		right: 20px;
		bottom: 40px;
		font-weight: bold;
	}
	.blue-card .bc-cta-link {
		order: 3;
	}
	.blue-card .bc-image {
		display: none;
	}
	.blue-card .bc-cta-text {
		font-size: 0;
	}
	
/* CTA Card */
	.cta-card .bc-container {
		grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	}
	.cta-card .bc-item {
		height: 300px;
	}
	.cta-card .bc-image {
		order: 1;
		height: 100%;
		object-fit: cover;
		border-radius: 1rem;
	}
	.cta-card .bc-cta-text {
		order: 2;
		margin-top: auto;
		line-height: 4em;
		color: #FFFFFF;
		text-align: center;
		font-weight: bold;
		border-bottom-left-radius: 1rem;
		border-bottom-right-radius: 1rem;
		background-color: #036;
		opacity: .8;
		position: absolute;
		bottom: 0;
		width: 100%;
	}
	.cta-card .bc-item:hover .bc-cta-text::after {
		content: '➜';
		width: auto;
		font-size: 1.25em;
		line-height: 2em;
		display: flex;
		justify-content: center;
	}
	.cta-card .bc-cta-link {
		order: 3;
	}
	.cta-card .bc-heading {
		display: none;
	}
	.cta-card .bc-snippet {
		display: none;
	}
	.cta-card .bc-icon {
		display: none;
	}

/* Overlay Card */
	.overlay-card .bc-container {
		grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
		overflow-anchor: none;
	}
	.overlay-card .bc-item {
		height: 380px;
		overflow: hidden;
		outline: 1px solid #DCDCDC;
  		justify-content: flex-end;
	}
	.overlay-card .bc-image {
		order: 1;
		height: calc(100% + 1px);
		margin-top: -1px;
		object-fit: cover;
		border-radius: 1rem;
		width: 100%;
		position: absolute;
	}
	.overlay-card .bc-heading {
		padding-left: 10px;
		padding-right: 10px;
		width: 100%;
		order: 2;
		text-align: left;
		color: #FFFFFF;
		font-weight: 600;
		font-size: 1.55em;
		margin-top: 0;
		z-index: 1;
		position: relative;
		background-color: rgba(0, 51, 102, 0.8);
		flex-shrink: 0;
		display: flex;
		align-items: center;
		min-height: 100px;
		justify-content: center;
		text-align: center;
	}
	.overlay-card .bc-snippet {
		order: 3;
		padding: 0 20px;
		font-size: 1.25em;
		line-height: 1.5em;
		color: #FFFFFF;
		z-index: 1;
		max-height: 0;
		flex-grow: 0;
		width: 100%;
		margin: 0;
		background-color: rgba(0, 51, 102, 0.8);
		visibility: hidden;
		overflow: hidden;
		transition: max-height 1s ease-in-out, flex-grow 1s ease-in-out, padding 1s ease-in-out, visibility 1s step-end;
	}
    .overlay-card .bc-item:hover .bc-snippet {
		visibility: visible;
		max-height: 100%;
		flex-grow: 1;
		padding-bottom: 20px;
		transition: max-height 1s ease-in-out, flex-grow 1s ease-in-out, padding 1s ease-in-out, visibility 0s step-start;
	}
	.overlay-card .bc-snippet::after {
		font-family: FontAwesome;
		content: '\f101';
		font-size: 2em;
		color: #CBDC53;
		bottom: 16px;
        right: 16px;
		position: absolute;
		opacity: 0;
		transition: opacity 1s ease-in;
	}
	.overlay-card .bc-item:hover .bc-snippet::after {
		opacity: 1;
	}
	.overlay-card .bc-cta-link {
		order: 4;
		z-index: 2;
	}
	.overlay-card .bc-cta-text {
		display: none;
	}
	.overlay-card .bc-icon {
		display: none;
	}
	
/* Standard Card */
	.standard-card .bc-container {}
	.standard-card .bc-item {
		background-color: #E7E7E7;
	}
	.standard-card .bc-heading {
		order: 1;
		text-align: center;
		color: #FFFFFF;
		background-color: #013366;
		line-height: 2em;
		margin-top: 0;
		border-top-left-radius: 1rem;
		border-top-right-radius: 1rem;
	}
	.standard-card .bc-cta-link {
		order: 5;
	}
	.standard-card .bc-snippet {
		order: 3;
		padding-left:  2em;
		padding-right: 1.5em;
		line-height: 1.5em;
	}
	.standard-card .bc-cta-text {
		order: 4;
		margin-top: auto;
		line-height: 4em;
		color: #FFFFFF;
		text-align: center;
		background-color: #013366;
		font-weight: bold;
		border-radius: 1em;
		margin: 0 2em 1em 2em;
	}
	.standard-card .bc-item:hover .bc-cta-text {
		text-decoration: underline;
	}
	.standard-card .bc-image {
		order: 2;
		margin: 1rem auto;
		clip-path: circle();
		width: 40%;
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}
	.standard-card .bc-image[src=""] {
		display: none;
	}
	.standard-card .bc-icon {
		order: 2;
		display: none;
		margin: 1rem auto;
		clip-path: circle();
		width: 40%;
		aspect-ratio: 1 / 1;
		align-items: center;
		justify-content: center;
		color: #FFFFFF;
		background-color: #167196;
		font-size: 72px;
	}
	.standard-card .bc-image[src=""] + .bc-icon:not(:empty) {
		display: flex;
	}
	.standard-card .bc-image[src=""] + .bc-icon[class*="fa-"] {
		display: flex;
	}
	
/* Simple Card */
	.simple-card .bc-container {
		grid-template-columns: repeat(auto-fill, minmax(278px, 1fr));
	}
	.simple-card .bc-item {
		transition: transform 0.3s ease;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	}
	.simple-card .bc-image {
		order: 1;
		object-fit: cover;
		width: 100%;
		height: auto;
		display: block;
		border-top-left-radius: 1rem;
		border-top-right-radius: 1rem;
		border-bottom: 1px solid #e0e0e0;
	}
	.simple-card .bc-heading {
		order: 2;
		color: #333333;
		text-align: center;
		font-weight: bold;
		border-bottom-left-radius: 1rem;
		border-bottom-right-radius: 1rem;
		background-color: #FFFFFF;
		width: 100%;
		padding: 15px;
		font-size: 16px;
		border-top: 1px solid #e0e0e0;
	}
	.simple-card .bc-item:hover {
		transform: scale(1.075);
	}
	.simple-card .bc-cta-link {
		order: 3;
	}
	.simple-card .bc-cta-text {
		display: none;
	}
	.simple-card .bc-snippet {
		display: none;
	}
	.simple-card .bc-icon {
		display: none;
	}

/* Basic Card */
	.basic-card .bc-item {
		background-color: #E7E7E7;
	}
	.basic-card .bc-heading {
		order: 1;
		text-align: center;
		color: #FFFFFF;
		background-color: #013366;
		line-height: 2em;
		margin-top: 0;
		border-top-left-radius: 1rem;
		border-top-right-radius: 1rem;
	}
	.basic-card .bc-cta-link {
		order: 5;
	}
	.basic-card .bc-snippet {
		order: 3;
		padding: 1.5em;
		padding-left: 2em;
		line-height: 1.5em;
	}
	.basic-card .bc-item:hover .bc-heading {
		text-decoration: underline;
	}
	.basic-card .bc-image {
		display: none;
	}
	.basic-card .bc-icon {
		display: none;
	}
	.basic-card .bc-cta-text {
		display: none;
	}
	
/* Hide unused elements */
	.bc-cta-text:empty, .bc-heading:empty, .bc-snippet:empty, .bc-snippet:empty {
		visibility: hidden;
	}
	.bc-cta-link[href="/"], .bc-icon:not([class*="fa-"]), .bc-image[alt=""], .bc-image[src=""] {
		visibility: hidden;
	}