/*
 * Плавающая шапка сайта.
 * Файл должен подключаться после основных стилей проекта.
 */

:root {
    /* Высота верхней тёмно-синей части шапки на широком экране. */
    --vikon-header-height: 88px;
    --vikon-menu-height: 51px;
    --vikon-navigation-height: calc(
        var(--vikon-header-height) + var(--vikon-menu-height) - 1px
    );
}

/* Верхняя часть с названием университета. */
body.vikon-wrapper #vikon-header,
body.vikon-wrapper .vikon-header {
    position: sticky !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 1031 !important;
    transform: none !important;
}

/* Главное меню движется вместе с шапкой и остаётся сразу под ней. */
body.vikon-wrapper #vikon-menu-top,
body.vikon-wrapper .vikon-menu-top {
    position: sticky !important;
    /* Перекрытие на 1px не даёт появляться белой полосе на стыке. */
    top: calc(var(--vikon-header-height) - 1px) !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 1030 !important;
    transform: none !important;
}

body.vikon-wrapper #vikon-header,
body.vikon-wrapper #vikon-menu-top,
body.vikon-wrapper #vikon-menu-top .navbar {
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

/*
 * Скрипт scroll_thead_table.js создаёт фиксированную копию заголовка таблицы.
 * Скрываем только копию: обычный thead остаётся внутри таблицы и не перекрывает текст.
 */
body.vikon-wrapper > .container-thead {
    display: none !important;
}

/*
 * Закрепляем настоящий заголовок внутри длинной таблицы.
 * Он начинает фиксироваться ровно под шапкой и заканчивает движение вместе с таблицей.
 */
body.vikon-wrapper:not(.special-version-on)
    .table-scroll-thead > thead > tr > th {
    position: sticky !important;
    top: var(--vikon-navigation-height) !important;
    z-index: 1029 !important;
    background-clip: padding-box !important;
    box-shadow: 0 1px 0 #dddddd !important;
}

/* В версии для слабовидящих основная шапка скрыта. */
body.vikon-wrapper.special-version-on
    .table-scroll-thead > thead > tr > th {
    position: static !important;
}

/* Bootstrap не должен отдельно закреплять внутренний navbar. */
body.vikon-wrapper #vikon-menu-top .navbar,
body.vikon-wrapper #vikon-menu-top .navbar-static-top,
body.vikon-wrapper #vikon-menu-top .navbar-fixed-top,
body.vikon-wrapper #vikon-menu-top .sticky-top,
body.vikon-wrapper #vikon-menu-top .affix {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
}

/* На узком экране заголовок переносится и становится выше. */
@media (max-width: 767px) {
    :root {
        --vikon-header-height: 132px;
        --vikon-menu-height: 51px;
    }
}
