.kreis_anfang{
    width:70px;
    background-color:#1868B1;
    border-radius: 50%;
    margin: 0 auto;
    text-align:center;
    color:white;
    font-size:160%;
    padding:0.5%;
    font-weight:600;
    padding-top:2%;
    padding-bottom:2%;
}

.kreis_ende{
    width:70px;
    background-color:#1868B1;
    border-radius: 50%;
    margin: 0 auto;
    text-align:center;
    color:white;
    font-size:160%;
    padding:0.5%;
    font-weight:600;
    padding-top:2%;
    padding-bottom:2%;
    margin-top:-1%;
}

#ende{
    width:100%;
    float:left;
    margin-top:0%;
}

.timeline {
  position: relative;
  width:90%;
  margin-left:5%;
  float:left;
  padding: 1em 0;
  list-style-type: none;
  margin-top:-1%;
}

.timeline:before {
  position: absolute;
  left: 50%;
  top: 0;
  content: ' ';
  display: block;
  width: 4px;
  height: 100%;
  margin-left: -2px;
  background: #1868B1;
/*  background: -moz-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(30,87,153,1)), color-stop(100%,rgba(125,185,232,1)));
  background: -webkit-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
  background: -o-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
  background: -ms-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
  background: linear-gradient(to bottom, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);*/
  z-index: 5;
}

.timeline li {
  padding: 0.5em 0;
}

.timeline li:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.direction-l {
  position: relative;
  width: 46.6%;
  float: left;
  text-align: right;
}

.direction-r {
  position: relative;
  width: 48%;
  float: right;
}

.flag-wrapper {
  position: relative;
  display: inline-block;
  text-align: center;
  width:100%;
}

.flag {
  position: relative;
  display: block;
  background: #1868B1;
  color:white;
  width:96%;
  padding:2%;
  font-size:140%;
  padding-top:4%;
  padding-bottom:4%;
  font-weight: 600;
  text-align: left;
}

.direction-l .flag {
  -webkit-box-shadow: -1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
  -moz-box-shadow: -1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
  box-shadow: -1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
}

.direction-r .flag {
  -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
  -moz-box-shadow: 1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
  box-shadow: 1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
}

.direction-l .flag:before,
.direction-r .flag:before {
  position: absolute;
  top: 50%;
  right: -40px;
  content: ' ';
  display: block;
  width: 12px;
  height: 12px;
  margin-top: -10px;
  background: #1868B1;
  border-radius: 10px;
  border: 4px solid #1868B1;
  z-index: 10;
}

.direction-r .flag:before {
  left: -40px;
}

.direction-l .flag:after {
  content: "";
  position: absolute;
  left: 100%;
  top: 50%;
  height: 0;
  width: 0;
  margin-top: -12px;
  border: solid transparent;
  border-left-color: #1868B1;
  border-width: 12px;
  pointer-events: none;
}

.direction-r .flag:after {
  content: "";
  position: absolute;
  right: 100%;
  top: 50%;
  height: 0;
  width: 0;
  margin-top: -12px;
  border: solid transparent;
  border-right-color: #1868B1;
  border-width: 12px;
  pointer-events: none;
}

.time-wrapper {
  display: inline;
  line-height: 1em;
  font-size: 0.77777em;
  color: #1868B1;
  vertical-align: middle;
}

.direction-l .time-wrapper {
  float: left;
}

.direction-r .time-wrapper {
  float: right;
}

.desc {
  font-size: 1.4em;
  font-style: italic;
  line-height: 1.1em;
  border:3px solid #1868B1;
  border-top:0px solid #1868B1;
  padding-bottom:1%;
  padding:1%;
  padding-top:1.5%;
  margin-top:-1.7%;
  text-align:left;
}

.direction-r .desc {
/*  margin: 1em 0 0 0.75em;*/
}

/* ================ Timeline Media Queries ================ */

@media screen and (max-width:850px) {

.timeline {
    width: 97%;
    padding: 4em 0 1em 0;
    margin-left:1.6%;
    
}

.timeline li {
    padding: 2em 0;
}

.direction-l,
.direction-r {
    float: none;
    width: 100%;
    text-align: center;
}

.flag-wrapper {
    text-align: center;
}

.flag {
    background: #1868B1;
    z-index: 15;
}

.direction-l .flag:before,
.direction-r .flag:before {
    position: absolute;
    top: -40px;
    left: 50%;
    content: ' ';
    display: block;
    width: 13px;
    height: 13px;
    margin-left: -13px;
    background: #1868B1;
    border-radius: 10px;
    border: 4px solid #1868B1;
    z-index: 10;
}

.direction-l .flag:after,
.direction-r .flag:after {
    content: "";
    position: absolute;
    left: 50%;
    top: -4px;
    height: 0;
    width: 0;
    margin-left: -10px;
    border: solid transparent;
    border-bottom-color: #1868B1;
    border-width: 8px;
    pointer-events: none;
}

.time-wrapper {
    display: block;
    position: relative;
    margin: 4px 0 0 0;
    z-index: 14;
}

.direction-l .time-wrapper {
    float: none;
}

.direction-r .time-wrapper {
    float: none;
}

.desc {
    position: relative;
    margin: 1em 0 0 0;
    padding: 1em;
    background: rgb(245,245,245);
    -webkit-box-shadow: 0 0 1px rgba(0,0,0,0.20);
    -moz-box-shadow: 0 0 1px rgba(0,0,0,0.20);
    box-shadow: 0 0 1px rgba(0,0,0,0.20);
        
  z-index: 15;
}

.direction-l .desc,
.direction-r .desc {
    position: relative;
    margin: 1em 1em 0 1em;
    padding: 1em;
    z-index: 15;
}

}

@media screen and (min-width: 400px ?? max-width: 660px) {

.direction-l .desc,
.direction-r .desc {
    margin: 1em 4em 0 4em;
}
