#sitefooter,#theend {
    display: none;
}
#schedule {
    position: relative;
}
.schedule {
    display: grid;
    position: relative;
    z-index: 2;

    /* Time + gap + (Mon 2 cols + gap) + ... + (Fri 2 cols + gap) + (Sat 2 cols) */

    grid-template-columns:
    5.5rem                        /* 1: Time */
    6px                       /* 2: gap after Time */
    repeat(2, minmax(5rem, 1fr))  6px  /* Mon: 3–5 */
    repeat(2, minmax(5rem, 1fr))  6px  /* Tue: 6–8 */
    repeat(2, minmax(5rem, 1fr))  6px  /* Wed: 9–11 */
    repeat(2, minmax(5rem, 1fr))  6px  /* Thu: 12–14 */
    repeat(2, minmax(5rem, 1fr))  6px  /* Fri: 15–17 */
    repeat(2, minmax(5rem, 1fr));          /* Sat: 18–19 */

    grid-auto-rows: 34px;
    border: 1px solid #ccc;
    /* font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; */
    /* font-family: verdana; */
    font-family: Arial, sans-serif;
    font-size: 0.875rem;
    background: var(--dkblue);
}

/* .schedule > div:nth-child(n+5)::after{ */
/*   content:''; */
/*   width:10px; */
/*   height:100%; */
/*   display:block; */
/*   background-color:white; */
/*   position:absolute; */
/*   margin-left:-7px; */
/*   top:0; */
/* } */

/* .verticalcolumnseparators { */
/*     position: absolute; */
/*     z-index: 1 !important; */
/*     top: 0; */
/*     left: 0; */
/*     width: 100%; */
/*     height: 100%; */
/*  */
/*     grid-template-columns: */
/*     5.5rem */
/*     6px */
/*     repeat(2, minmax(5rem, 1fr))  6px */
/*     repeat(2, minmax(5rem, 1fr))  6px */
/*     repeat(2, minmax(5rem, 1fr))  6px */
/*     repeat(2, minmax(5rem, 1fr))  6px */
/*     repeat(2, minmax(5rem, 1fr))  6px */
/*     repeat(2, minmax(5rem, 1fr)); */
/*  */
/*     grid-auto-rows: 34px; */
/*     border: 1px solid #ffffff; */
/*     font-size: 0.875rem; */
/*     background: #ffffff; */
/*  */
/* } */

/* Flatten day sections so their children become grid items */
.schedule .day {
    display: contents;
}

.schedule .cell {
    border: 1px solid #ddd;
    /* padding: 0.25rem 0.4rem; */
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

.schedule .header {
    background: #f4f4f4;
    font-weight: 600;
    text-align: center;
    justify-content: center;
}

.schedule .subheader {
    background: #fafafa;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.03em;
}

.schedule .time-label {
    background: #fafafa;
    font-weight: 600;
}

.schedule time {
    /* font-variant-numeric: tabular-nums; */
}

/* Separator row */
.schedule .separator {
    grid-column: 1 / -1;
    /* border-top: 2px solid #bbb; */
    /* border-bottom: 2px solid #bbb; */
    /* border: none; */
    background-color: #ffffff;
    height: 10px;
    margin: 11px auto;
    width: 100%;
}

/* ===== Column mapping ===== */

.time-col { grid-column: 1; }

/* Mon (3–4) */
.mon-main  { grid-column: 3; }
.mon-annex { grid-column: 4; }

/* Tue (6–7) */
.tue-main  { grid-column: 6; }
.tue-annex { grid-column: 7; }

/* Wed (9–10) */
.wed-main  { grid-column: 9; }
.wed-annex { grid-column: 10; }

/* Thu (12–13) */
.thu-main  { grid-column: 12; }
.thu-annex { grid-column: 13; }

/* Fri (15–16) */
.fri-main  { grid-column: 15; }
.fri-annex { grid-column: 16; }

/* Sat (18–19) */
.sat-main  { grid-column: 18; }
.sat-annex { grid-column: 19; }

/* Day headers spanning Main+Annex (skip gaps) */
.header-mon  { grid-column: 3 / 5; }
.header-tue  { grid-column: 6 / 8; }
.header-wed  { grid-column: 9 / 11; }
.header-thu  { grid-column: 12 / 14; }
.header-fri  { grid-column: 15 / 17; }
.header-sat  { grid-column: 18 / 20; }

/* ===== Rows (time slots) =====
1: Day header row
2: Subheader row
3:  9:00 am
4:  9:30 am
5:  10:00 am
6:  10:30 am
7:  11:00 am
8:  11:30 am
9:  12:00 pm
10: 12:30 pm
11: 1:00 pm
12: separator
13: 5:00 pm
14: 5:30 pm
15: 6:00 pm
16: 6:30 pm
17: 7:00 pm
18: 7:30 pm
19: 8:00 pm
20: 8:30 pm
 */

.row-1  { grid-row: 1; }
.row-2  { grid-row: 2; }
.row-3  { grid-row: 3; }
.row-4  { grid-row: 4; }
.row-5  { grid-row: 5; }
.row-6  { grid-row: 6; }
.row-7  { grid-row: 7; }
.row-8  { grid-row: 8; }
.row-9  { grid-row: 9; }
.row-10 { grid-row: 10; }
.row-11 { grid-row: 11; }
.row-12 { grid-row: 12; }
.row-13 { grid-row: 13; }
.row-14 { grid-row: 14; }
.row-15 { grid-row: 15; }
.row-16 { grid-row: 16; }
.row-17 { grid-row: 17; }
.row-18 { grid-row: 18; }
.row-19 { grid-row: 19; }
.row-20 { grid-row: 20; }

.row-span-2 { grid-row-end: span 2; }

/* ===== Class cell internals ===== */

.class-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 0.1rem;
    color: #ffffff;
}

/* On desktop, only show title; hide per-class time/location labels
(we already have a time column) */
.class-location {
    display: none;
}

.class-time {
    font-size: 0pt;
    white-space: nowrap;
}
.class-time time,
.class-time span {
    font-size: 8pt;
}

.class-title {
    font-weight: 600;
}

.schedule i {
    display: block;
    font-style: italic;
    font-weight: bold;
    font-size: 0.70em;
    opacity: 0.8;
}

.iaido {
    background-color: black;
}
.jujutsu {
    background-color: teal;
}
.judo {
    background-color: navy;
}
.karate {
    background-color: maroon;
}
.kids.karate {
    background-color: red;
}
.kids.judo {
    background-color: blue;
}
.littledragons {
    background-color: purple;
}
.jmac18 {
    background-color: orange;
}
.grappling {
    background-color: mediumblue;
}

/* v;DESKTOP WEEKLY GRID ========= */
/* @media (min-width: 769px) { */
    #midnav {
        position: fixed !important;
        left: 0;
        width: 100%;
    }
    .schedule {
        min-width: 1500px;
    }

    .day-heading {
        display: none;
    }

    .header {
        position: sticky;
        top: 198px;
        z-index: 9;
    }

    .subheader {
        position: sticky;
        top: 232px;
        z-index: 9;
    }

    .time-col {
        align-items: flex-start !important;
        position: relative;
        /* border: 1px solid #000000 !important; */
        position: sticky;
        left: 0;
    }
    .time-col time {
        position: relative;
        top: -13px;
        background-color: #ffffff;
        width: 80%;
        display: block;
        text-align: center;
    }

    .startrow time {
        width: 100%;
        top: -21px;
    }

    .class-time {
        order: 3;
    }

    i {
        order: 2;
    }
    .class-title {
        order: 1;
        line-height: 10pt;
    }

    .littledragons .class-title {
        font-size: 10pt;
    }
    .kids.karate .class-title,
    .kids.karate i {
        margin: 0 !important;
    }

    .kids.karate.adv .class-title {
        display: none;
    }
    .kids.karate.adv i {
        line-height: 8px;
    }

    /* .class-block { */
    /*     height: 100%; */
    /*     justify-content: space-around; */
    /* } */

    /* .schedule .karate, */
    /* .schedule .kids, */
    /* .schedule .judo, */
    /* .schedule .jujutsu, */
    /* .schedule .iaido, */
    /* .schedule .grappling, */
    /* .schedule .littledragons { */
    /*     border-radius: 0.35rem; */
    /* } */

/* } */


@media (max-width: 768px) {
    body {
        overflow-x: scroll;
    }
    .header {
        position: sticky;
        top: 70px;
        z-index: 9;
    }

    .subheader {
        position: sticky;
        top: 104px;
        z-index: 9;
    }
}

@media (max-width: 900px) {

    .schedule {
        max-width: 3000px !important;
        /* width: 3000px !important; */
    }

    .schedule {
        grid-auto-rows: 120px;
        background-color: #ffffff !important;
    }

    .class-time {
        display: block;
        /* font-variant-numeric: tabular-nums; */
        font-size: 12pt;
    }

    .class-title {
        display: block;
        font-size: 18pt;
        line-height: 22pt !important;
        font-weight: 600;
    }

}



/* ========= v:MOBILE: GROUP BY DAY ========= */
/* @media (max-width: 768px) { */
/*     .schedule { */
/*         display: block; */
/*         border: none; */
/*         width: 100%; */
/*     } */
/*  */
/*     .schedule .header, */
/*     .schedule .subheader, */
/*     .schedule .time-label, */
/*     .schedule .separator { */
/*         display: none; */
/*     } */
/*  */
/*     .schedule .day { */
/*         margin-bottom: 1.5rem; */
/*         border: 1px solid #ddd; */
/*         border-radius: 0.5rem; */
/*         overflow: hidden; */
/*         display: flex; */
/*         flex-flow: row wrap; */
/*         justify-content: center; */
/*         align-items: stretch */
/*  */
/*     } */
/*  */
/*     .cell[class*="-main"] { */
/*         order: 1; */
/*     } */
/*  */
/*     .schedule [class*="-annex"] { */
/*         order: 2; */
/*     } */
/*  */
/*     /* .schedule .cell[class*="-annex"] { */ */
/*     /*     font-size: 20pt !important; */ */
/*     /*     position: relative; */ */
/*     /* } */ */
/*     /* .schedule [class*="-annex"]:before { */ */
/*     /*     content: ""; */ */
/*     /*     display: block; */ */
/*     /*     width: 100%; */ */
/*     /*     background: #ffffff; */ */
/*     /*     position: relative; */ */
/*     /* } */ */
/*  */
/*     .schedule .day-heading { */
/*         display: block; */
/*         background: #f4f4f4; */
/*         padding: 0.5rem 0.75rem; */
/*         font-weight: 600; */
/*         width: 100%; */
/*         text-align: center; */
/*     } */
/*  */
/*     /* Class cells inside day */ */
/*     .schedule .cell.class { */
/*         /* border-left: none; */ */
/*         /* border-right: none; */ */
/*         /* border-top: 1px solid #eee; */ */
/*         border: 1px solid #ffffff; */
/*         padding: 0.5rem 0.75rem; */
/*         width: 100%; */
/*     } */
/*  */
/*     .schedule .cell.class:first-of-type { */
/*         border-top: none; */
/*     } */
/*  */
/*     .class-block { */
/*         gap: 0.15rem; */
/*     } */
/*  */
/*     .class-time { */
/*         display: block; */
/*         /* font-variant-numeric: tabular-nums; */ */
/*         font-size: 0.8rem; */
/*     } */
/*  */
/*     .class-title { */
/*         display: block; */
/*         font-weight: 600; */
/*     } */
/*  */
/*     .class-location { */
/*         display: block; */
/*         font-size: 0.8rem; */
/*     } */
/*  */
/* } */
