/* override minimal mistakes' defaults */

/* drop left column; only leave content and toc */
article.page {
    float: left;
    width: 100%;
}

/* change text selection color */
::selection {
    background: #ffe38f;
    color: #000000;
}

/* text: justified except for author/affiliation */
article.page p.author-list {
    text-align: center;
    font-style: italic;
    font-size: 1em;
}
article.page p.affiliation-list {
    text-align: left;
    color: #888;
    font-size: 0.75em;
}
article.page p {
    text-align: justify;
    font-size: 0.9em;
    margin: 0 0 0.9em;
}

/* link: underline only when hover */
a {
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}

article.page p:is(.author-list,.affiliation-list) a {
    color: currentColor;
}

/* image: center align image w/ caption */
article.page p.image-with-caption {
    text-align: center;
    font-style: italic;
    font-size: 0.8em;
    margin: 1.5em 0;
}
article.page p.image-with-caption img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* plotly: center align image w/ caption */
.plot-wrap {
    max-width: 100%;
    margin: 0 auto;
}
.plot-wrap > .js-plotly-plot,
.plot-wrap > .plot-container {
    width: 100%;
    height: 100%;
}
article.page p.plot-caption {
    text-align: center;
    font-style: italic;
    font-size: 0.8em;
    margin: 0 0 1.5em;
}

/* table: center align entire table, drop cell bottom margin */
table {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}
table p {
    margin-bottom: 0 !important;
}
table td,th {
    padding: 0.2em 0.8em;
}
table th.border-bottom {
    border-bottom: 2px solid #b5b6b6;
}

table.dense td,th {
    padding: 0 0.4em;
}
table :is(td,th).highlight {
    background-color: rgba(50, 196, 74, 0.25);
}

/* tick and cross */
.tick-symbol {
    font-family: 'Source Sans Pro',Roboto,"San Francisco","Segoe UI",sans-serif;
    font-weight: bold;
    color: green;
}
.cross-symbol {
    font-family: 'Source Sans Pro',Roboto,"San Francisco","Segoe UI",sans-serif;
    font-weight: bold;
    color: red;
}

/* play audio: shown as clickable */
.play-audio {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    border-radius: .1rem;
    padding-left: .1rem;
    padding-right: .1rem;
}
.play-audio:is(:hover, :focus-visible) {
    outline: 1px solid currentColor;
}
.play-audio.is-playing {
    box-shadow: 0 0 0 2px currentColor inset;
}

/* hero section: smaller buttons and more visible captions */
.page__hero--overlay a.btn {
    padding: 0 0.5em;
    background-color: rgba(0, 0, 0, 0.3);
}
.page__hero-caption {
    background: rgba(0, 0, 0, 0.5);
    opacity: 1;
}

/* code: remove gap between text and code */
p:has(+ div.highlighter-rouge) {
    margin: 0;
}

/* code: reduce line spacing */
div.highlighter-rouge pre.highlight {
    padding: 0.5em;
}

/* horizontal rules: make thicker; no rule after h2 */
.page__content h2 {
    padding-bottom: 0;
    border-bottom: 0;
}
hr {
    border-top: 3px solid #eee;
}
