.programm h2{
	margin:3rem 0 .75rem;
	padding-bottom:.75rem;
	border-bottom:2px solid #e8e8e8;
	font-family:"Source Serif 4",serif;
	font-size:2rem;
	font-weight:600;
	line-height:1.2;
	color:#5a2982;
}

.programm h2:first-of-type{
	margin-top:2rem;
}

.programm .chair{
	margin:0 0 2rem;
	font-size:1.1rem;
	color:#666;
}

.programm .chair strong{
	color:#5a2982;
	font-weight:700;
}

.programm .item{
	display:grid;
	grid-template-columns:110px 1fr;
	grid-template-areas:
		"time title"
		". speaker";
	column-gap:2rem;
	row-gap:.15rem;
	align-items:start;
	margin:0;
	padding:.3rem 0;
	border-bottom:1px solid #efefef;
	transition:all .25s ease;
}

.programm .item:hover{
	background:#fafcf8;
	border-bottom-color:#76b82a;
}

.programm .time{
	grid-area:time;
	font-size:1rem;
	font-weight:600;
	letter-spacing:.04em;
	color:#888;
	white-space:nowrap;
}

.programm .time + br{
	display:none;
}

.programm .item strong{
	grid-area:title;
	display:block;
	margin:0;
	font-size:1.08rem;
	font-weight:700;
	color:#222;
}

.programm .item strong + br{
	display:none;
}

.programm .speaker{
	grid-area:speaker;
	font-size:.95rem;
	line-height:1.45;
	color:#666;
}

/* Zusammengehörige Programmpunkte ohne Trennlinie */
.programm .item.no-border{
	border-bottom:none;
	padding-bottom:0;
}

.programm .item.no-border + .item{
	padding-top:0;
}

.programm .item:last-child{
	border-bottom:none;
}

#main .programm .content-text:not(:first-of-type){
	margin-top:5rem;
}

.programm .day{
	padding:1rem 0 1rem 1rem;
	border:none;
	border-left:6px solid #76b82a;
	background:linear-gradient(90deg,rgba(118,184,42,.12) 0%,rgba(118,184,42,.05) 60%,rgba(118,184,42,0) 100%);
	font-family:"Source Sans 3",sans-serif;
	font-size:1.1rem;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:#5a2982;
}


@media (max-width:900px){

	.programm h2{
		margin:3rem 0 .75rem;
		font-size:1.7rem;
	}

	.programm .chair{
		margin-bottom:1.5rem;
	}

	.programm .item{
		grid-template-columns:1fr;
		grid-template-areas:
			"time"
			"title"
			"speaker";
		row-gap:.2rem;
		padding:.3rem 0;
	}

	.programm .time{
		font-size:.82rem;
	}

	.programm .item strong{
		font-size:1rem;
	}

	.programm .speaker{
		font-size:.92rem;
	}

}


@media (max-width:600px){

	.programm h2{
		font-size:1.45rem;
	}

	.programm .item{
		padding:.75rem 0;
	}

	.programm .time{
		font-size:.8rem;
	}

	.programm .item strong{
		font-size:.96rem;
		line-height:1.3;
	}

	.programm .speaker{
		font-size:.9rem;
	}

}