.timeline {
  background: var(--akzent-dkl);
  margin: 20px auto;
  padding: 10px;
  width: auto;
}

.card {
  position: relative;
  max-width: 100%;
}

.card:nth-child(odd) {
  padding: 20px 0 20px 20px;
}

.card:nth-child(even) {
  padding: 20px 20px 20px 0;
}

.card::before {
  content: "";
  position: absolute;
  width: 50%;
  border: solid var(--akzent-hell);
}

.card:nth-child(odd)::before {
  left: 0;
  top: -3px;
  bottom: -3px;
  border-width: 3px 0 3px 3px;
  border-radius: 50px 0 0 50px;
}

.card:nth-child(even)::before {
  right: 0;
  top: 0;
  bottom: 0;
  border-width: 3px 3px 3px 0;
  border-radius: 0 50px 50px 0;
}

.card:first-child::before {
  border-top: 0;
  border-top-left-radius: 0;
}

.card:last-child:nth-child(odd)::before {
  border-bottom: 0;
  border-bottom-left-radius: 0;
}

.card:last-child:nth-child(even)::before {
  border-bottom: 0;
  border-bottom-right-radius: 0;
}

.info {
  display: flex;
  flex-direction: column;
  background: var(--tbl-main);
    border: 2px solid var(--akzent-hell);
    outline: 2px solid var(--akzent-hell2);
    box-shadow: inset 0 0 0 1px var(--akzent-hell);
  border-radius: 15px;
  padding: 5px;
}

.tl_title {
  position: relative;
  color: var(--txtcol);
  background: var(--akzent-hell);
    border: 2px solid var(--tbl-main);
    outline: 2px solid var(--akzent-dkl);
    box-shadow: inset 0 0 0 1px var(--akzent-flash2);
  padding: 4px;
  text-align: left;
  font-size: var(--textl);
  text-transform: uppercase;
  border-radius: 8px;
}

.tl_title::before {
  content: "";
  position: absolute;
  width: 12px;
  height: 12px;
  background: var(--akzent-hell);
  border-radius: 999px;
  border: 2px solid var(--akzent-flash2);
  font-size: var(--textxxl);
}

.card:nth-child(even) > .info > .tl_title {
  text-align: right;
}

.card:nth-child(odd) > .info > .tl_title::before {
  left: -33px;
}

.card:nth-child(even) > .info > .tl_title::before {
  right: -33px;
}

/* Version 2 - mit Beschreibungsfeld */
/* Base */

#content_ver2 {
	margin-top: 10px;
	text-align: center;
}

/* Timeline */
.timeline_ver2 {
  border-left: 4px solid var(--akzent-flash);
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
  background: var(--akzent-hell);
  color: var(--txtcol);
  margin: 10px 0 10px 125px;
  letter-spacing: 0.5px;
  position: relative;
  line-height: 1.4em;
  font-size: var(--txtm);
  padding: 30px;
  list-style: none;
  text-align: justify;
  max-width: 100%;
}

.timeline_ver2 h1,
.timeline_ver2 h2,
.timeline_ver2 h3 {
	text-align: left;
}

.timeline_ver2 .event_ver2 {
  border-bottom: 1px dotted var(--akzent-hell);
  padding-bottom: 20px;
  margin-bottom: 25px;
  position: relative;
}

.timeline_ver2 .event_ver2:last-of-type {
  padding-bottom: 0;
  margin-bottom: 0;
  border: none;
}

.timeline_ver2 .event_ver2:before,
.timeline_ver2 .event_ver2:after {
  position: absolute;
  display: block;
  top: 0;
}

.timeline_ver2 .event_ver2:before {
  left: -175px;
  color: var(--txtcol);
  content: attr(data-date);
  text-align: right !important;
  font-weight: 100;
  font-size: 0.9em;
  min-width: 120px;
}

.timeline_ver2 .event_ver2:after {
  box-shadow: 0 0 0 3px var(--akzent-dkl);
  left: -37.5px;
  background: var(--akzent-flash2);
  border-radius: 50%;
  height: 11px;
  width: 11px;
  content: "";
  top: 5px;
}

/*Version 3 - mit Beschreibungsboxen und Bild */
.container_ver3 {
  max-width: 100%;
  margin: 25px auto;
}

.timeline_ver3 {
  position: relative;
  padding-left: 4rem;
  margin: 0 0 0 50px;
}

.timeline_ver3 h1,
.timeline_ver3 h2,
.timeline_ver3 h3 {
	text-align: left;
}

.timeline_ver3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background: var(--akzent-hell);
}

.timeline_ver3 .timeline_ver3-container {
  position: relative;
  margin-bottom: 2.5rem;
}

.timeline_ver3 .timeline_ver3-container .timeline_ver3-icon {
	position: absolute;
	left: -112px;
	top: 4px;
	width: 100px;
	height: 100px;
	text-align: center;
	font-size: 2rem;
	background: var(--akzent-hell);
	clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

.timeline_ver3 .timeline_ver3-container .timeline_ver3-icon img {
	width: 100%;
	height: 100%;
	border: 4px solid var(--akzent-hell);
}

.timeline_ver3 .timeline_ver3-container .timeline_ver3-body {
	background: var(--akzent-hell);
	border-radius: 3px;
	padding: 20px 20px 15px;
}

.timeline_ver3 .timeline_ver3-container .timeline_ver3-body::before {
	content: "";
    position: absolute;
    top: 42px;
    right: 100%;
    border-width: 12.5px;
    border-style: solid;
    border-color: transparent var(--akzent-hell) transparent transparent;
}

.timeline_ver3 .timeline_ver3-container .timeline_ver3-body .timeline_ver3-title {
  margin-bottom: 1.4rem;
}

.gif_ver3 {
  height: 100px;
  width: 100px;
  background-size: cover;
  background-position: 50% 50%;
		filter: grayscale(100%) sepia(30%) contrast(120%) brightness(105%) saturate(80%) drop-shadow(0 0 1px var(--akzent-hell));
}

@media only screen and (max-width: 568px){ 
	.timeline_ver2 { 
		margin: 10px 0 10px 25px !important; }
	}
