/* Body is Georgia with a little padding and a scrollbar always*/
body {
    font-family: Georgia, serif;
    padding-bottom: 20px;
    overflow-y: scroll;
}

    /* Use Gelasio on Linux since it does not have Georgia */
    body.linux {
        font-family: Gelasio, serif;
    }

/* Current page is only bolded in menu*/
.dropdown-menu li a.dropdown-item.active {
    font-weight: bold;
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
}

    /* Current page gets hover color when hovered */
    .dropdown-menu li a.dropdown-item.active:hover {
        background-color: var(--bs-dropdown-link-hover-bg);
    }

/* No focus ring for elements with this class */
.no-bs-focus-ring:focus {
    box-shadow: none;
    outline: auto;
}

/* No focus ring for h1 */
h1:focus {
    outline: none;
}

/* Extra spacing below shop buttons */
.shopItem button {
    margin-bottom: 20px;
}

/* So Errors page can wrap URLs without whitespace */
.wrap-anywhere {
    overflow-wrap: anywhere;
}

/* Hide navbar when printing */
@media print {
    .navbar {
        display: none !important;
    }
}

/* Tabulation is full width of page... */
.tabu {
    width: 100%;
}

/* ...unless we are at least 920px wide, in which case it's 900px */
@media (min-width: 920px) {
    .tabu {
        width: 900px;
    }
}

/* Tabulations print at 80% of screen size to fit 900px on 8.5x11 */
@media print {
    .tabu {
        zoom: 80%;
    }
}

/* H1 for dance name is centered */
.tabu h1 {
    text-align: center;
}

/* No margin between dance name and name translation */
h1:has(+.tabu-nat) {
    margin-bottom: 0;
}

/* Tabulation headers left and right */
.tabu-hel {
    text-align: start;
    line-height: 1.2;
    width: 50%;
}

.tabu-her {
    text-align: end;
    line-height: 1.2;
    width: 50%;
}

.tabu-hel p, .tabu-her p{
    margin-bottom: 0;
}

/* Table inside tabulation takes full responsive width */
.tabu table {
    width: inherit;
    table-layout: fixed;
    border-collapse: separate;
}

/* Center and enlarge name translation */
.tabu-nat {
    text-align: center;
    font-size: 1.25rem;
}

/* Horizontal rule between sections */
.tabu-hr {
    border-top: 1px solid black;
}

/* Tabulation columns */
.tabu-rep, .tabu-phr, .tabu-cou, .tabu-ins, .tabu-com, .tabu-tra, .tabu-ori {
    vertical-align: top;
    line-height: 1.25;
}

/* Tabulation repeat */
.tabu-rep {
    width: 2em;
}

/* Tabulation phrase */
.tabu-phr {
    width: 2em;
}

/* Tabulation count */
.tabu-cou {
    width: 3em;
}

/* Tabulation instructions */
.tabu-ins {
    padding-right: 4px;
}

/* Tabulation comments are italicized */
.tabu-com {
    font-style: italic;
    padding-right: 4px;
}

/* Tabulation translation and original are small */
.tabu-tra {
    font-size: x-small;
    padding-right: 4px;
}

.tabu-ori {
    font-size: x-small;
}

/* Bracket that stretches across multiple rows */
.tabu-bra {
    width: 4px;
}

.tabu-brk {
    border-right: 1px solid black;
    border-radius: 0px 8px 8px 0px;
    width: 4px;
}

/* Cell that spans multiple rows */
.tabu-rws {
    padding-left: 4px;
    vertical-align: middle;
}

/* Updated time */
.tabu-upd {
    font-size: x-small;
    text-align: end;
}

/* Credits */
.tabu-cre {
    font-size: small;
    margin-bottom: 12px
}

/* Footer translation or original */
.tabu-fto {
    font-size: x-small;
    margin-bottom: 12px;
}

/* Footer Translation */
.tabu-ftr {
    width: 50%;
    padding-right: 4px;
}

/* Footer Original */
.tabu-for {
    width: 50%;
}

/* Notes header */
.tabu-noh {
    font-size: medium;
    text-align: center;
    margin-top: 12px;
    margin-bottom: 12px
}

/* Notes */
.tabu-not {
    font-size: small;
}