.kc_calendar_block {
	position: relative;
}

.kc_calendar_block .kc_ribbon{
	position: absolute;
	top:10px;
	right: 10px;
	display: flex;
	flex-direction: column;
	gap: 5px;
	.ribbon {
		padding:5px 10px;
		color: var(--mpev-secondary);
		background: #000000aa;
		text-align: center;
		border-radius: 50px;
		border: 1px solid #fff;
		font-size: 14px;
		font-weight: 500;
		&:nth-child(2){
			background: #6046ffaa;
		}
		&.sold-out{
			background: #ff4646aa;
		}
	}
}

.kc_thumb_bg {
	background-size: cover;
	background-position: center center;
	height: 230px;
	position: relative;
}

.kc_thumb {
	width: 40%;
	position: relative;
}

.kc_thumb img {
	height: auto;
	width:auto;
	max-width: 100%;
}

.kc_thumb, .kc_start_date {
	position: relative;
	top: 0px;
	left: 0px;
	line-height: 1.8;
	border-radius: 8px;
	text-align: center;
	width: 50px;
	font-size: 18px;
}

.kc_table {
	margin-left: auto;
	margin-right: auto;
}

.kc_td a:hover {
	text-decoration: none;
}

.kc_td a:link {
	text-decoration: none;
}

.kc_start_time {
	position: absolute;
	bottom: -25px;
	right: 0px;
	line-height: 1.8;
	border-radius: 8px;
	text-align: center;
	width: 40%;
}

.kc_title {
	position: absolute;
	top: 0px;
	right: 0px;
	line-height: 1.8;
	text-align: center;
	width: 40%;
	background: #FFFFFF;
	color: purple;
	font-weight: bold;
	font-size: 18px;
}

.kc_start_date_day {
	font-weight: bold;
	background: purple;
	color: #FFFFFF;
}

.kc_start_date_month {
	font-weight: bold;
	background: #FFFFFF;
	color: purple;
}

.kc_start_date_time {
	font-weight: bold;
	background: purple;
	color: #FFFFFF;
	font-size: 14px;
}

.kc_start_date_price {
	font-weight: bold;
	background: #FFFFFF;
	color: purple;
	font-size: 14px;
}

h2.list_title {
	font-size: 18px;
	font-weight: 700;
	padding: 0 0 5px 0;
}
