/* default styles */
/* .container {
    max-width: 1280px;
} */

/*
 * Extra utilities
 */

.flex-equal > * {
    -ms-flex: 1;
    flex: 1;
}

@media (min-width: 768px) {
    .flex-md-equal > * {
        -ms-flex: 1;
        flex: 1;
    }
}

.overflow-hidden { overflow: hidden; }


div.bg-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .6;
    transform: translate3d(0,0,0) scale(1);
    background-repeat: no-repeat;
}

img.frontpage-pic {
    max-height: 650px;
}

img.logo-footer {
    max-height: 100px;
}

div.quote {
    padding-left: 1rem;
    margin-left: 1rem;
    margin-right: 1rem;
    border-left: 1px solid grey;
}

.material-icons {
    vertical-align: middle;
    margin-top: -4px;
}

.bg-light-gray {
    background-color: #f0f1f2 !important;
}

/* fix behavior of extra drupal divs in inline forms */
form.form-inline div {
    display: inline-block;
}

form.form-inline div.form-item {
    display: inline-block;
    margin-top: inherit;
    margin-bottom: inherit;
}

/* Styles for the content pages */
@media (min-width: 768px) {
    .sidebar {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1000;
        height: calc(100vh);
    }
}

.sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1000;
}

@media (min-width: 768px) {
    .sidebar-links {
        display: block!important;
        max-height: calc(100vh - 2rem);
        overflow-y: auto;
    }
}

.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40;
}

.nav-pills .nav-link {
    border-radius: .25rem;
}
.nav-link {
    display: block;
    padding: .5rem 1rem;
}

a {
    color: rgba(0,0,0,.65);
    text-decoration: none;
    background-color: transparent;
}

a:hover {
    color: rgba(0,0,0,.9);
    text-decoration: none;
    background-color: transparent;
}

.nav-link.disabled {
    color: #aeb4b9;
    pointer-events: none;
    cursor: default;
}

div.title-panel {
    border-bottom: 1px solid rgba(0,0,0,.1);
}

div.content-panel {

}

div.block-menu-block ul {
    padding-inline-start: 16px;
    /* list-style: none; */
}

li a.active {
    color: #000;
    font-weight: 600;
}

/* source videos are 480x360; cap at 1.5x so the player never outgrows the viewport */
figure.video-figure {
    max-width: 720px;
}

/* pages without a chapter sidebar: one centred column, as wide as the video */
.page-single {
    max-width: 720px;
    margin-inline: auto;
}

/* Bootstrap's inline-block .figure keeps its margins from collapsing with the next block, doubling the gap after it */
.figure {
    display: block;
}
.figure-caption > :last-child {
    margin-bottom: 0;
}

#cookie-notice {
    padding: 0.5rem 1rem;
    display: none;
    text-align: center;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
}

/* links inside running text need a non-colour cue (WCAG 1.4.1) */
main p a:not(.btn), main figcaption a {
    text-decoration: underline;
}

p.cite-book {
  font-size: 0.875rem;
    color: #6c757d;
}

/* pagination in site colors (grey links, dark active like .nav-pills) */
.pagination {
    --bs-pagination-color: rgba(0,0,0,.65);
    --bs-pagination-hover-color: rgba(0,0,0,.9);
    --bs-pagination-focus-color: rgba(0,0,0,.9);
    --bs-pagination-focus-box-shadow: 0 0 0 .25rem rgba(52,58,64,.25);
    --bs-pagination-active-bg: #343a40;
    --bs-pagination-active-border-color: #343a40;
}

/* chapter sidebar: a <details> box that is collapsible below lg and always open from lg up */
.chapter-contents > summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 48px;
    padding: 0 .875rem;
    list-style: none;
    cursor: pointer;
    background: var(--bs-light);
    border: 1px solid var(--bs-border-color);
    border-radius: .25rem;
}
.chapter-contents > summary::-webkit-details-marker { display: none; }
.chapter-contents[open] > summary { border-radius: .25rem .25rem 0 0; }
.chapter-contents[open] > summary .material-icons { transform: rotate(180deg); }
.chapter-contents[open] > .block-menu-block {
    padding: .75rem .5rem .25rem;
    border: 1px solid var(--bs-border-color);
    border-top: 0;
    border-radius: 0 0 .25rem .25rem;
}
@media (min-width: 992px) {
    .chapter-contents > summary { display: none; }
    .chapter-contents[open] > .block-menu-block { padding: 0; border: 0; }
}
