.tx-tool-pi3 {
    text-align: center;
}

.tx-tool-pi3 .filter {
    margin-bottom: 15px;
}

.tx-tool-pi3 .hidden {
    display: none;
}

.tx-tool-pi3 .no-results {
    background-color: #fcf8e3;
    padding: 10px;
}

.tx-tool-pi3 .timetable-row {
    margin-right: -3px !important;
    margin-left: -3px !important;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
}

.tx-tool-pi3 .timetable-col {
    padding-right: 3px !important;
    padding-left: 3px !important;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
}
@media (min-width: 1200px) {
    .tx-tool-pi3 .timetable-col {
        width: 14.28% !important;
    }
}

.tx-tool-pi3 .timetable-weekday {
    background: #79101b;
    color: #ffffff;
    padding: 10px;
    margin: 0 0 3px 0;
}

.tx-tool-pi3 .timetable-item {
    background: #eeeeee;
    color: #000000;
    display: block;
    margin: 3px 0;
}
.tx-tool-pi3 a.timetable-item:hover {
    background: #dedede;
}

#timetable-loading {
    margin: 0 auto 15px auto;
    border: 8px solid #dedede;
    border-top: 8px solid #79101b;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    animation: spin 2s linear infinite;
}

#timetable-error {
    background-color: #F2DEDD;
    padding: 10px;
    margin-bottom: 15px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}