/* Make arbitrary content float right */

.float-right {
    float: right;
    padding: 10px 0 10px 10px;
}

/* Make arbitrary content small */

.small {
    width: 200px;
}

/* Make figure captions centered */

figcaption {
    text-align: center;
}

/* Make images centered */

img.centered {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* Style navigation at the bottom */

.bottom-nav {
    display: table;
    width: 100%;
    margin-bottom: 15px;
}

.bottom-nav-row {
    display: table-row;
    list-style: none;
}

.bottom-nav-item {
    display: table-cell;
    width: 33%;
}

.bottom-nav-left {
    text-align: left;
}

.bottom-nav-center {
    text-align: center;
}

.bottom-nav-right {
    text-align: right;
}

/* Colors */

a {
    color: #6b3e91;
}

a:visited {
    color: #2c2f88;
}

/* Background color of code blocks */

code,
pre {
    background-color: color-mix(in srgb, #aaddf9 20%, white);
}

/* Borders of code blocks */

div.highlight,
figure.highlight {
    border: 1px solid color-mix(in srgb, #aaddf9 60%, white);
    border-radius: 3px;
}

/* Background color and borders of inline code */

code.highlighter-rouge {
    background-color: color-mix(in srgb, #aaddf9 20%, white);
    border: 1px solid color-mix(in srgb, #aaddf9 60%, white);
    border-radius: 3px;
}

/* Colors of syntax highlighting */

.highlight .kt {
    color: #2c2f88;
}

.highlight .s2 {
    color: #e30613;
}

.highlight .sc {
    color: #ec6707;
}

.highlight .mi {
    color: #d35378;
}

.highlight .mf {
    color: #a35494;
}

.highlight .na {
    color: #6b3e91;
}

.highlight .nb {
    color: #6b3e91;
}

.highlight .c1 {
    color: color-mix(in srgb, #2c2f88 50%, white);
}

.highlight .cm {
    color: color-mix(in srgb, #2c2f88 50%, white);
}

.highlight .lineno {
    color: #aaddf9;
}


/* Highlight important content */

.callout {
    padding-left: 15px;
    margin: 20px 0;
    border: 0px solid;
    border-left-width: 5px;
}

.callout-title {
    font-weight: bold;
    float: left;
    margin-right: 10px;
}

.important {
    border-left-color: #e30613;
}

.info {
    border-left-color: #aaddf9;
}

/* Evaluation environment */

.evaluation figure {
    margin-bottom: 0;
}

.evaluation figure {
    width: fit-content;
}

.evaluation p {
    margin-bottom: 0;
}

.evaluation .expression {
    margin-bottom: 20px;
}

.evaluation pre {
    width: fit-content;
    padding: 1px 5px;
}

.evaluation ul {
    /* setting list-style-type to "≡" does not work in Safari */
    list-style-type: none;
    margin-left: 15px;
    margin-right: 15px;
}

.evaluation li {
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: start;
}

.evaluation .step {
    display: flex;
    flex: 0 0 auto;
}

.evaluation .equivalence {
    line-height: 25px;
    padding-right: 10px;
    flex: 0 0 auto;
}

.evaluation .step-code {
    flex: 1 1 0;
    overflow-x: auto;
}

.evaluation .explanation {
    margin-left: auto;
    flex: 1 1 auto;
    min-width: 0;
    text-align: right;
}
