.tabellenheadlinks {
    position: relative;
    width: 100%; 
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    margin-top: -20px;
    margin-bottom: 30px;
}

.tabellenheadlinks a {
    position: relative; 
    display: block; 
    border: 1px solid #d30146; 
    padding: 10px 30px; 
    background-color: none; 
    font-family: 'Oswald', sans-serif; 
    font-weight: 500;
    text-transform: uppercase; 
    letter-spacing: 1px; 
    color: #d30146;
    margin: 0 2px;
}

.tabellenheadlinks a:hover {
    background-color: #d30146; 
    color: #fff;
}

#fahrplantabelle {
    position: relative;
    width: 100%; 
    height: auto;
    border: 2px solid rgba(215,0,71,1);
    border-radius: 10px;
    margin-bottom: 40px;
    font-family: sans-serif;
    font-weight: 300;
}

.fahrplanzeile {
    position: relative;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: row;
    justify-content: stretch;
    align-items: stretch;
    flex-wrap: wrap;
    border-bottom: 2px solid rgba(215,0,71,1);
}

.fahrplanzeile:last-of-type {
    border-bottom: none;
}

.fahrplancol1 {
    position: relative;
    width: 6%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 600;
    border-right: 2px solid rgba(215,0,71,1);
}

.fahrplancol2 {
    position: relative;
    width: 15%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: 2px solid rgba(215,0,71,1);
}

.fahrplancol3 {
    position: relative;
    width: 15%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: 2px solid rgba(215,0,71,1);
}

.fahrplancol4 {
    position: relative;
    width: 15%;
    display: flex;
    justify-content: center;
    align-items: center;
    border-right: 2px solid rgba(215,0,71,1);
}

.fahrplancol5 {
    position: relative;
    width: 49%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.fahrplanpadding {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 10px;
}

.fahrplanzeile.head .fahrplancol1,
.fahrplanzeile.head .fahrplancol2,
.fahrplanzeile.head .fahrplancol3,
.fahrplanzeile.head .fahrplancol4,
.fahrplanzeile.head .fahrplancol5 {
    background-color: rgba(215,0,71,1);
    color: #fff;
    font-weight: 500;
    text-transform: uppercase;
    justify-content: center;
    font-size: 16px;
    letter-spacing: .025em;
}

@media screen and (max-width: 749px) {
    .tabellenheadlinks {
        flex-direction: column;
    }

    .tabellenheadlinks a {
        margin: 2px 0;
    }

    .fahrplanzeile {
        flex-direction: column;
        align-items: flex-end;
        border-bottom: none;
    }

    .fahrplancol1, 
    .fahrplancol2,
    .fahrplancol3,
    .fahrplancol4,
    .fahrplancol5 {
        position: relative; 
        width: 100%;
        justify-content: flex-start;
        align-items: flex-start;
        border: none;
        text-align: center;
    }

    .fahrplancol1 .fahrplanpadding {
        text-align: center;
        background: rgba(215,0,71,1);
        color: #fff;
    }

    .fahrplancol2 .fahrplanpadding {
        font-weight: 700;
    }

    .fahrplanzeile.head {
        display: none;
    }

    .fahrplanpadding span {
        position: relative;
        display: inline-block;
    }    

    .fahrplancol3 .fahrplanpadding span::before {
        content: 'Ankunft: ';
        position: absolute;
        top: 0;
        right: calc(100% + 5px);
        color: rgba(215,0,71,1);
        font-weight: 600;
    }
    
    .fahrplancol4 .fahrplanpadding span::before {
        content: 'Abfahrt: ';
        position: absolute;
        top: 0;
        right: calc(100% + 5px);
        color: rgba(215,0,71,1);
        font-weight: 600;
    }

    .fahrplancol3 .fahrplanpadding span,
    .fahrplancol4 .fahrplanpadding span {
        left: 23px;
    }
}