body {
    font-family: Arial, sans-serif;
    margin: 20px;
    background-color: #f0f0f0;
    color: #333;
}

h1 {
    text-align: center;
    color: #1e90ff;
}

.table-container {
    overflow-x: auto;
}

table.schedule {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
    background-color: #fff;
}

table.schedule th, table.schedule td {
    border: 1px solid #ccc;
    padding: 10px;
    text-align: left;
}

th {
    background-color: #1e90ff;
    color: white;
}

.event-row {
    cursor: pointer;
}

.abstract-row td {
    padding: 20px;
    background-color: #e0f7ff;
    text-align: left;
}

/* Responzivní styly pro tabulku na menších obrazovkách */
@media (max-width: 768px) {
    table.schedule {
        overflow-x: auto;
        display: block;
    }

    table.schedule thead, table.schedule tbody, table.schedule th, table.schedule td, table.schedule tr {
        display: block;
    }

    table.schedule tbody tr {
        border: none;
        margin-bottom: 20px;
    }

    table.schedule th, table.schedule td {
        padding: 8px;
        text-align: left;
    }

    table.schedule td:first-child {
        font-weight: bold;
    }

    .abstract-row td {
        padding: 10px;
    }
}

/* Specifické šířky sloupců pro nemobilní zařízení */
@media (min-width: 769px) {
    table.schedule th:nth-child(1),
    table.schedule td:nth-child(1) {
        width: 10%;
    }

    table.schedule th:nth-child(2),
    table.schedule td:nth-child(2) {
        width: 10%;
    }

    table.schedule th:nth-child(3),
    table.schedule td:nth-child(3) {
        width: 10%;
    }

    table.schedule th:nth-child(4),
    table.schedule td:nth-child(4) {
        width: 50%;
    }

    table.schedule th:nth-child(5),
    table.schedule td:nth-child(5) {
        width: 20%;
    }
}
