* {
    font-style: normal !important;
    font-family: "Source Sans Pro", sans-serif;
}

main {
    display: flex;
    flex-direction: row;
    gap: 20px;
    max-width: 720px;
}

#termine {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 690px;
    max-width: 690px;
}

.termincontainer {
    display: block;
}

.termin {
    display: flex;
    position: relative;
    max-height: 75px;
    padding: 5px;
    background-color: #e4e8e7;
    font-size: 17px;
}

.termin:hover {
    cursor: pointer;
}

.datum {
    display: block;
    position: relative;
    width: 65px;
    height: 65px;
    text-align: center;
    line-height: 0.95;
}

.wochentag, .monat {
    font-size: 11px;
}

.tag {
    font-size: 30px;
}

.titel, .monat {
    font-weight: bold;
}

.beschreibung {
    padding: 16px 4px;
    color: #777777;
	line-height: 1.1 !important;
}

img {
    border-radius: 8px !important;
    width: 100%;
	margin-bottom: 10px;
}

.eventdetails {
    line-height: 0.5;
    max-height: 0;
    color: #777777;
    opacity: 0;
    transition: max-height 0.5s ease-in-out, opacity 0.4s ease-in-out, padding 0.5s ease-in-out;
}

.termincontainer.active .eventdetails {
    max-height: 100%;
    opacity: 1;
    padding: 16px;
}

.eventdetails a {
    color: inherit;
}


.weitereinfos, .uhrzeit, .ort {
    line-height: 1.05;
}

#kategorien {
    position: absolute;
    top: 0;
    display: grid;
    gap: 10px;
    grid-template-columns: auto auto;
    grid-template-rows: 80px 80px 80px auto;
    right: 10px;
}

.kategorien {
    width: 142.65px;
    height: 68.8px;
}

.kategorien a {
    display: flex;
    cursor: pointer;
    height: 11.2px;
    width: 100%;
    justify-content: center;
	align-items: center;
    margin-top: 7px;
    padding-top: 9px;
    padding-bottom: 9px;
    font-size: 0.7em;
    font-weight: bold;
	box-sizing: content-box;
	margin-bottom: 5px;
	color: black;
}

.kategorien span {
    font-size: 0.8em;
    display: inline-block;
	line-height: 1.25;
	color: black;
}

#gottesdienste {
    background-color: #e1a730;
}

#outreaches {
    background-color: #4b90cd;
}

#seminar {
    background-color: #6baab6;
}

#sonstige {
    background-color: #ffde59;
}

#gruppen {
    background-color: #15b5b0;
}

#audienz {
    background-color: #b99aff;
}

#suche {
    display: inline-block;
    grid-column: span 2;
    grid-row: 4;
    height: 1.8em;
	width: 295.5px;
	margin-top: 5px;
	border: 1px solid black;
	border-radius: 0;
}

.rot {
    display: flex;
    position: absolute;
    left: 74px;
    height: 16px;
    align-items: center;
    font-size: 11px;
    font-weight: bold;
    color: #fff;
    background-color: #F79191;
    border-radius: 5px;
    padding: 0 4px;
}

.rot:empty {
    display: none;
}