#schedule_api_content_preloader {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

button {
    padding: 6px 12px;
    margin: 5px;
    cursor: pointer
}

.btn-group-lg>.btn,
.btn-lg {
    border: 1px solid transparent;
}

.btn-lg.btn-default {
    border-color: #ccc;
}

#screen-faculties,
#screen-groups,
#screen-teachers,
#screen-schedule {
    display: none
}

.faculties-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 0 0 0;
}

.facultet {
    min-width: 150px;
    width: calc(100% / 3 - 7px);
    min-height: 150px;
    border: solid 1px rgba(160, 160, 160, 0.3);
    border-radius: 5px;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    position: relative;
    padding: 0;
}

@media screen and (max-width: 980px) {
    .facultet {
        width: calc(100% / 2 - 5px);
    }
}

.facultet img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
    z-index: 0;
    filter: blur(15px);
}

.facultet_name {
    z-index: 2;
    background-color: rgba(255, 255, 255, .6);
    width: 100%;
    text-align: center;
    font-weight: 600;
    padding: 5px
}

.facultet_backdrop {
    width: 100%;
    height: 100%;
    position: absolute;
    background-color:#ffffff59;
    z-index: 1;
    backdrop-filter: blur(5px);
}

.dark-mode .facultet_name {
    background-color: rgba(0, 0, 0, .5);
}

.dark-mode .facultet_backdrop {
    background-color: #1414148c;
}

.facultet-btns {
    z-index: 2;
    position: relative;
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 5px
}

.item-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 0 0 0;
}

.grouppp,
.teacher {
    padding: 10px 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    cursor: pointer
}

#current-target-name {
    font-weight: 400
}

.grid-container {
    max-width: 100%;
    display: grid;
    grid-template-rows: repeat(8, 1fr);
    grid-template-columns: .25fr repeat(6, 1fr);
    gap: 10px;
    grid-auto-flow: column;
    margin-top: 20px
}

.grid-container>div {
    transition: height .5s ease, opacity .5s ease;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden
}

.subject,
.class>div:first-child {
    overflow: hidden;
    max-width: 96%;
    display: block;
    word-wrap: break-word;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    hyphens: auto
}

.time,
.day,
.lesson,
.empty {
    border: solid 1px rgba(160, 160, 160, 0.3);
    border-radius: 5px;
    padding: 7px
}

.lesson {}

.week {
    font-size: 36px;
    text-align: center;
    font-weight: 300
}

.date {
    text-align: center;
    font-weight: 400;
    margin-top: 5px
}

.day,
.time {
    background-color: #d3c49e;
    display: flex;
    flex-direction: column;
    font-size: 14px;
    justify-content: center;
    align-items: baseline
}

.day.past,
.time.past {
    background-color: #d3c49e
}

.day.ongoing,
.time.ongoing {
    background-color: #0e7c8e;
    color: #fff
}

.day.finded {
    background-color: #b7c6ff
}


.lesson {
    background-color: #f1f5f8;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.dark-mode .lesson {
    background-color: inherit;
}

.lesson .subject {
    font-weight: 700;
    margin-bottom: 10px
}

.lesson .class {
    font-size: 13px;
    display: flex;
    justify-content: space-between;
    margin-top: 5px
}

.linck img {
    max-width: 12px
}

.empty {
    display: flex;
    justify-content: center;
    align-items: center;
    border: dashed 1px rgba(160, 160, 160, 0.3);
    color: #666
}

.empty::before {
    content: ""
}

.loader {
    color: transparent
}

.loader>.subject,
.loader>.class {
    max-width: 100%;
    background: linear-gradient(-45deg, #cdd0d3, #cdd0d3, #cdd0d3, #cdd0d3, #cdd0d3, #fff, #cdd0d3, #cdd0d3);
    background-size: 300%;
    animation: gradient-flow 2s linear infinite;
    border-radius: 5px
}

@keyframes gradient-flow {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 0%;
    }
}

@media only screen and (max-width: 1200px) {

    .grid-container {
        display: flex;
        /* Flexbox для одного столбца */
        flex-direction: column;
        gap: 5px;
        /* Отступ между элементами */
        margin-top: 10px;
    }

    .grid-container>div {
        width: 100%;
        /* Во всю ширину */
        box-sizing: border-box;
    }

    .time,
    .day {
        display: flex;
        /* Отображаем */
        justify-content: center;
        /* Выравниваем по центру */
        align-items: center;
        padding: 5px;
        /* Уменьшаем отступ */
        font-size: 12px;
        /* Уменьшаем размер шрифта */
    }

    .time {
        display: none;
    }

    .day {
        font-weight: bold;
        margin-top: 15px;
    }

    .lesson {
        border: solid 1px rgba(160, 160, 160, 0.3);
        /* Добавляем рамку */
        border-radius: 5px;
        padding: 5px;
        /* Уменьшаем отступ */
    }

    /* Заголовки дней */
    h3 {
        text-align: center;
        margin: 5px 0;
        /* Уменьшаем отступы */
        font-size: 14px;
        /* Уменьшаем размер шрифта */
    }

    .day.ongoing,
    .time.ongoing {
        background-color: #0e7c8e;
        color: #fff
    }

    .empty {
        display: flex;
        justify-content: center;
        align-items: center;
        border: dashed 1px rgba(160, 160, 160, 0.3);
        color: #666
    }
}