/*****************/
/* PROGRAM CARDS */
/*****************/
section.programs .head { margin-bottom:2rem; }
section.programs .head h2 { text-align:center; margin-bottom:1.5rem; }
section.programs .cards { display:-webkit-box; display:-moz-box; display:-webkit-flex; display:flex; flex-wrap:wrap; margin:0 auto; width:100%; align-items:stretch; justify-content:center; }
section.programs .cards .card { max-width:400px; width:100%; margin:0 0.65% 3rem; }
section.programs .cards .card figure { width:100%; position:relative; height:auto; aspect-ratio:auto 20/13; overflow:hidden; display:-webkit-box; display:-moz-box; display:-webkit-flex; display:flex; justify-content:center; align-items:center; margin-bottom:1rem; }
section.programs .cards .card img { height:100%; width:auto; max-width:unset; }
section.programs .cards .card h3 { font-size:24px; margin:0 0 0.75rem; display:inline-block; width:auto; position:relative; }
section.programs .cards .card h3:after { display:block; content:""; position:absolute; top:100%; right:0; width:0; background:#c72975; height:2px; transition:width .2s ease; margin-top:3px; }
section.programs .cards .card p { font-size:17px; line-height:1.4em; margin:0; }
section.programs .cards .card a.plink { width:100%; height:100%; display:block; text-decoration:none; color:#223C6C; transition:0.5s all ease; font-weight:400; }
section.programs .cards .card a.plink:hover h3 { color:#c72975; }
section.programs .cards .card a.plink:hover h3:after { width:100%; left:0; }
section.programs .cards .card a.plink:hover img { transform:scale(1.05); }

@media screen and (min-width:768px) {
	/* PROGRAM CARDS */
	section.programs .cards .card { flex-basis:48%; }
}

@media screen and (min-width:1280px) {
	section.programs .cards .card { flex-basis:23.65%; width:23.65%; }
}