/* Content — Course Catalog (ACTS "COURSE GRID": web 1440 / mobile 393) */
.cew-ccat{
	--ccat-tab-h:32px;
	--ccat-tab-px:16px;
	--ccat-tab-gap:12px;
	--ccat-tab-r:0px;
	--ccat-tab-bg:#DDDDDD;
	--ccat-tab-c:#4B4B4B;
	--ccat-tab-hbg:#CFCFCF;
	--ccat-tab-abg:#023820;
	--ccat-tab-ac:#FFFFFF;
	--ccat-dd-bg:#FFFFFF;
	--ccat-dd-c:#4B4B4B;
	--ccat-dd-b:#E8E8E8;
	--ccat-img-h:249px;
	width:100%;
	margin:0;
	padding:0;
	background-color:transparent;
	font-family:"PP Neue Montreal",Arial,sans-serif;
}
.cew-ccat,.cew-ccat *,.cew-ccat *::before,.cew-ccat *::after{box-sizing:border-box}
.cew-ccat-in{width:100%;max-width:none;margin:0 auto}
.cew-ccat [hidden]{display:none!important}

/* ---------- bar ---------- */
.cew-ccat-bar{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:12px 24px;
	margin:0 0 40px;
}
.cew-ccat-tabs{
	display:flex;
	flex-wrap:wrap;
	gap:var(--ccat-tab-gap);
	min-width:0;
}
.cew-ccat .cew-ccat-tab,
.cew-ccat .cew-ccat-dd-btn{
	display:inline-flex!important;
	align-items:center;
	justify-content:center;
	gap:8px;
	height:var(--ccat-tab-h);
	min-height:0!important;
	margin:0!important;
	padding:0 var(--ccat-tab-px)!important;
	border:0!important;
	border-radius:var(--ccat-tab-r)!important;
	box-shadow:none!important;
	font-family:inherit;
	font-size:14px;
	line-height:14px;
	font-weight:400;
	letter-spacing:0;
	text-transform:none!important;
	text-decoration:none!important;
	white-space:nowrap!important;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
	transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.cew-ccat .cew-ccat-tab{background:var(--ccat-tab-bg)!important;color:var(--ccat-tab-c)!important}
.cew-ccat .cew-ccat-tab:hover{background:var(--ccat-tab-hbg)!important;color:var(--ccat-tab-c)!important}
.cew-ccat .cew-ccat-tab.is-active{background:var(--ccat-tab-abg)!important;color:var(--ccat-tab-ac)!important}
.cew-ccat .cew-ccat-tab:focus{outline:0}
.cew-ccat .cew-ccat-tab:focus-visible,
.cew-ccat .cew-ccat-dd-btn:focus-visible{outline:2px solid var(--ccat-tab-abg);outline-offset:2px}

.cew-ccat-dds{display:flex;flex:0 0 auto;gap:12px}
.cew-ccat-dd{position:relative}
.cew-ccat .cew-ccat-dd-btn{
	background:var(--ccat-dd-bg)!important;
	color:var(--ccat-dd-c)!important;
	border:1px solid var(--ccat-dd-b)!important;
}
.cew-ccat .cew-ccat-dd-btn:hover,
.cew-ccat .cew-ccat-dd.is-open .cew-ccat-dd-btn{border-color:var(--ccat-dd-c)!important}
.cew-ccat .cew-ccat-dd.has-value .cew-ccat-dd-btn{border-color:var(--ccat-tab-abg)!important;color:var(--ccat-tab-abg)!important}
.cew-ccat-chev{display:block;flex:0 0 12px;width:12px;height:12px;transition:transform .2s ease}
.cew-ccat-dd.is-open .cew-ccat-chev{transform:rotate(180deg)}
.cew-ccat-menu{
	position:absolute;
	top:calc(100% + 6px);
	right:0;
	z-index:30;
	min-width:190px;
	margin:0;
	padding:6px 0;
	list-style:none;
	background:#FFFFFF;
	border:1px solid #E8E8E8;
	box-shadow:0 12px 32px rgba(0,0,0,.10);
}
.cew-ccat-menu li{
	position:relative;
	margin:0;
	padding:10px 36px 10px 16px;
	list-style:none;
	color:#4B4B4B;
	font-size:14px;
	line-height:18px;
	white-space:nowrap;
	cursor:pointer;
	outline:0;
}
.cew-ccat-menu li::marker{content:none}
.cew-ccat-menu li:hover,
.cew-ccat-menu li:focus{background:#F4F6F4;color:#000}
.cew-ccat-menu li[aria-selected="true"]{color:var(--ccat-tab-abg)}
.cew-ccat-menu li[aria-selected="true"]::after{
	content:"";
	position:absolute;
	right:16px;
	top:50%;
	width:9px;
	height:5px;
	border-left:1.5px solid currentColor;
	border-bottom:1.5px solid currentColor;
	transform:translateY(-70%) rotate(-45deg);
}

/* ---------- grid ---------- */
.cew-ccat-grid{
	--ccat-cols:3;
	display:grid;
	grid-template-columns:repeat(var(--ccat-cols),minmax(0,1fr));
	gap:16px;
}
.cew-ccat-card{
	position:relative;
	display:flex;
	flex-direction:column;
	min-width:0;
	background:#FFFFFF;
	border:1px solid #E8E8E8;
	overflow:hidden;
	transition:border-color .2s ease;
}
.cew-ccat-card.is-hidden{display:none}
.cew-ccat-card.is-in{animation:cewCcatIn .35s ease both}
@keyframes cewCcatIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cew-ccat-overlay{position:absolute;inset:0;z-index:3}
.cew-ccat-overlay:focus-visible{outline:2px solid #023820;outline-offset:-3px}
.cew-ccat-media{
	position:relative;
	height:var(--ccat-img-h);
	overflow:hidden;
	background:#E8E8E8;
}
.cew-ccat-media img{
	position:absolute;
	inset:0;
	display:block;
	width:100%;
	height:100%;
	max-width:none;
	object-fit:cover;
	border:0;
	border-radius:0;
	transition:transform .5s ease;
}
.cew-ccat-zoom-yes .cew-ccat-card:hover .cew-ccat-media > img{transform:scale(1.04)}
.cew-ccat-chips{
	position:absolute;
	top:15px;
	left:15px;
	right:15px;
	z-index:2;
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	pointer-events:none;
}
.cew-ccat-badge,
.cew-ccat-partner,
.cew-ccat-date{
	display:inline-flex;
	align-items:center;
	gap:8px;
	height:24px;
	padding:0 8px;
	font-size:12px;
	line-height:12px;
	font-weight:400;
	white-space:nowrap;
}
.cew-ccat-badge{background:#EFF4FE;color:#266EF1}
.cew-ccat-badge--sprint{background:#FFF0EE;color:#DE1135}
.cew-ccat-badge--webinar{background:#EFF4FE;color:#266EF1}
.cew-ccat-badge--masterclass{background:#F7F3FF;color:#421797}
.cew-ccat-badge--workshop{background:#FFF6E5;color:#A15C00}
.cew-ccat-badge--program{background:#EAF6ED;color:#023820}
.cew-ccat-partner{gap:4px;background:#FFFFFF;color:#4B4B4B}
.cew-ccat-partner img{display:block;width:auto;height:16px;max-width:80px;object-fit:contain}
.cew-ccat-partner b{font-weight:500;color:#000}
.cew-ccat-ic{display:block;flex:0 0 14px;width:14px;height:14px}

.cew-ccat-body{
	display:flex;
	flex:1 1 auto;
	flex-direction:column;
	align-items:flex-start;
	padding:16px 16px 17px;
}
.cew-ccat-date{margin:0 0 12px;background:#EAF6ED;color:#4B4B4B}
.cew-ccat-title{
	margin:0 0 10px;
	padding:0;
	font-family:inherit;
	font-size:18px;
	line-height:18px;
	font-weight:400;
	letter-spacing:0;
	color:#000;
	transition:color .2s ease;
}
.cew-ccat-meta{
	display:flex;
	flex-wrap:wrap;
	gap:6px 12px;
	margin:auto 0 0;
	padding:0;
	list-style:none;
	color:#4B4B4B;
	font-size:12px;
	line-height:16px;
}
.cew-ccat-meta li{display:inline-flex;align-items:center;gap:6px;margin:0;padding:0;list-style:none}
.cew-ccat-meta li::marker{content:none}
.cew-ccat-empty{margin:24px 0 0;color:#4B4B4B;font-size:16px;line-height:22px;text-align:center}
.cew-ccat-more-wrap{display:flex;justify-content:center;margin-top:40px}
.cew-ccat .cew-ccat-more{
	display:inline-flex!important;
	align-items:center;
	height:48px;
	margin:0!important;
	padding:0 24px!important;
	border:1px solid #023820!important;
	border-radius:0!important;
	background:transparent!important;
	color:#023820!important;
	font:inherit;
	font-size:16px;
	cursor:pointer;
	transition:background-color .2s ease,color .2s ease;
}
.cew-ccat .cew-ccat-more:hover{background:#023820!important;color:#FFFFFF!important}

@media(prefers-reduced-motion:reduce){
	.cew-ccat-card.is-in{animation:none}
	.cew-ccat-media img{transition:none}
}

@media(max-width:1024px){
	.cew-ccat-bar{flex-wrap:wrap}
}
@media(max-width:767px){
	.cew-ccat-bar{flex-direction:column;flex-wrap:nowrap;align-items:stretch;margin-bottom:24px}
	/* tabs scroll sideways and run to the screen edge */
	.cew-ccat-tabs{
		flex-wrap:nowrap;
		overflow-x:auto;
		scrollbar-width:none;
		-webkit-overflow-scrolling:touch;
	}
	.cew-ccat-tabs::-webkit-scrollbar{display:none}
	.cew-ccat .cew-ccat-tab{flex:0 0 auto}
	.cew-ccat-dds{justify-content:flex-end}
	.cew-ccat-grid{--ccat-cols:1;gap:10px}
	.cew-ccat-menu{min-width:170px}
}
