section.timetable {
    margin-top: -80px;
    position: relative;
    z-index: 10;

    div.top {
        display: flex;
        gap: 14px;
        justify-content: space-evenly;
        align-items: center;
        margin-bottom: 28px;

        > p.title {
            font-size: 1.5rem;
            font-weight: bold;
            text-align: center;
        }

        a {
            display: flex;
            gap: 7px;
            align-items: center;
            text-decoration: none;
            color: black;
            justify-content: center;

            svg {
                flex-shrink: 0;
                width: 25px;
            }

            &:hover {
                text-decoration: underline;
                font-weight: bold;
            }
        }

        @media (max-width: 768px) {
            align-items: flex-start;
            flex-wrap: wrap;

            p.title {
                order: 1;
                width: 100%;
                flex-shrink: 0;
            }

            a {
                flex: 1;
                max-width: 50%;
            }

            a.prev {
                order: 2;
            }
        }
    }

    div.schedule {
        display: flex;
        flex-direction: column;
        gap: 14px;

        div.day {
            p.date {
                font-weight: bold;
                font-size: 1.4rem;
            }

            div.sessions {
                display: flex;
                gap: 14px;
                flex-wrap: wrap;
                
                a {
                    text-decoration: none;
                    color: black;
                }

                div.session {
                    width: 175px;

                    div.cal {
                        margin-top: 14px;

                        p.row {
                            display: flex;
                            justify-content: space-between;
                            text-align: center;

                            &:first-of-type {
                                font-weight: bold;
                            }

                            svg {
                                fill: var(--colour-ll-blue);
                                width: 25px;
                            }
                        }
                    }
                }
            }
        }
    }
}