@charset "utf-8";


div.timeslots {
    display: grid;
    grid-template-columns: 45fr 30fr;
    grid-gap: 4px;
    min-width: 260px;
}
.timeslot {
    --timeslot: var(--bkclr-lightgray);
    --timeslot-passed: var(--bkclr-lightblue);
    --timeslot-active: white;

    margin: 0;
    padding: 2px 5px;
    border: solid 3px var(--timeslot);
    background-color: var(--timeslot);
    border-radius: 0.4rem;
}
.timeslot[active] {
    border: solid 3px var(--timeslot-passed);
    background-color: var(--timeslot-active);/**/
    background-image: linear-gradient(90deg, var(--timeslot-passed) 0%, var(--timeslot-passed) 100%);
    background-position: 0 0;
    background-repeat: no-repeat; /**/
}
.timeslot[passed] {
    border: solid 3px var(--timeslot-passed);
    background-color: var(--timeslot-passed);
}

/******************************************************************************/
div.weekline {
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: repeat(7, auto); /**/
}
div.weekline > div { text-align: center; color: var(--clr-darkgray); }
div.weekline > div > p { 
    display: inline-block; 
    border-radius: 0.4rem; 
    padding: 0.2rem 0.4rem; 
    text-align: center; 
    margin: auto; 
}

/******************************************************************************/
.slot { /* урок */
    background-color: var(--bkclr-lightblue35);
    border: 1px solid var(--bkclr-lightblue);
    border-radius: 0.3rem;
    _overflow: hidden;
    display: grid;
    grid-template-columns: 7% 45% 43% 5%;
    padding: 2px 0;
    line-height: 1.1;
    white-space: nowrap;
}
.slot.break { /* пустой урок (окно) */
    align-items: center;
    background-color: var(--bkclr-white2);
    border-color: var(--bkclr-lightgray2);
    /* border: none; */
}
.slot.custom, .slot.custom.break {
    background-color: var(--bkclr-yellow50);
    /* border-color: var(--bkclr-lightgray2); */
}

.slot-order {
    grid-column: 1;
    grid-row: span 100;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: x-large;
    color: var(--clr-midgray);
}

.slot-top { display: contents; }
.slot-header {
    grid-column: 2 / 5;
    grid-row: 1;
}
.slot-restmin {
    width: 1.7rem;
    text-align: right;
    justify-self: right; 
    padding-right: 2px;
    font-weight: bold;
}

.slot-lesson { display: contents; font-weight: bold; }
.slot-lsn-12 { grid-column: 2; color: var(--clr-black); }
.slot-lsn-3 { grid-column: 3; color: var(--clr-midgray); }
.slot-lsn-mark {
    grid-column: 4;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slot-time {
    color: var(--clr-midgray );
}
.slot-abs {
    font-size: small; 
    color: var(--clr-redorange);
}

.breakslot { /* перемена */
    line-height: 1;
    font-style: italic;
    font-size: small;
    padding-left: 3px;
    padding-right: 3px;
    margin-top: 3px;
    margin-bottom: 3px;
    color: var(--clr-darkgray);
    /* border: 2px solid var(--bkclr-lightgray); */
    background-color:ghostwhite;
    background-color: var(--bkclr-azure25);
    /* border: 2px solid var(--bkclr-azure25); */
    border-radius: 0.3rem;
    overflow: hidden;
}

/* Стиль для строки с анимацией */
.hotanimated {
    --base-color: var(--bkclr-lightblue25);
    --hot-color: var(--bkclr-lightblue);
    background: linear-gradient(90deg, var(--hot-color), var(--hot-color));
    background-repeat: no-repeat;
    background-size: 0% 100%; /* Начальное состояние: второй фон не виден */
    background-color: var(--base-color);
    border: 3px solid var(--hot-color) !important;
}
.hotanimated.break { 
    --base-color: var(--bkclr-azure25);
    --hot-color: var(--bkclr-azure);
}

.small-imp select { font-size: small !important; }

.relesson {
    font-weight: bold;
    /* font-style: italic; */
    color: var(--clr-blue);
    background-color: var(--bkclr-yellowlight);
    /* background-color: var(--bkclr-red50); */
    text-shadow: white 0.5px 0.5px 0, white -0.5px -0.5px 0, 
                 white -0.5px 0.5px 0, white 0.5px -0.5px 0;
}

article.day h3 { 
    margin: 0.3rem;
    margin-bottom: 0;
}

