@font-face {
   font-family: 'Martina Plantijn';
   src: url('/res/martina-plantijn-regular.woff2') format('woff2');
   font-weight: 400;
   font-style: normal;
}

@font-face {
   font-family: 'Martina Plantijn';
   src: url('/res/martina-plantijn-italic.woff2') format('woff2');
   font-weight: 400;
   font-style: italic;
}

@font-face {
   font-family: 'Martina Plantijn';
   src: url('/res/martina-plantijn-bold.woff2') format('woff2');
   font-weight: bold;
   font-style: normal;
}

@font-face {
   font-family: 'Triplicate';
   src: url('/res/triplicate-a-code-regular.woff2') format('woff2');
   font-weight: 400;
   font-style: normal;
}

@font-face {
   font-family: 'Triplicate';
   src: url('/res/triplicate-a-code-italic.woff2') format('woff2');
   font-weight: 400;
   font-style: italic;
}

@font-face {
   font-family: 'Triplicate';
   src: url('/res/triplicate-a-code-bold.woff2') format('woff2');
   font-weight: bold;
   font-style: normal;
}

@font-face {
   font-family: 'Taurus Grotesk';
   src: url('/res/taurus-grotesk-regular.woff2') format('woff2');
   font-weight: 400;
   font-style: normal;
}

@font-face {
   font-family: 'Taurus Grotesk';
   src: url('/res/taurus-grotesk-bold.woff2') format('woff2');
   font-weight: bold;
   font-style: normal;
}


/* See the beginning of "scribble.css".
   This file is used by the `scribble/manual` language, along with
   "manual-racket.css". */

* {
    margin: 0;
    padding: 0;
}

:root {
    --mono-font: 'Triplicate', monospace;
    --body-font: 'Martina Plantijn', serif;
    --aside-font: 'Taurus Grotesk', sans-serif;
    --site-nav-height: 2.4rem;
}

html {
    /* keep link targets clear of the fixed site nav bar */
    scroll-padding-top: calc(var(--site-nav-height) + 1.5rem);
}

/* The main column is sized in rem (see .maincolumn), so stepping the root
   font size down keeps sidebar + column + margins (69rem) inside the viewport.
   Each step is where 69rem at the previous size would exceed the width. */
@media all {html {font-size: 15px;}}
@media all and (max-width:1035px){html {font-size: 14px;}}
@media all and (max-width:966px){html {font-size: 13px;}}
@media all and (max-width:897px){html {font-size: 12px;}}
@media all and (max-width:828px){html {font-size: 11px;}}

/* CSS seems backward: List all the classes for which we want a
   particular font, so that the font can be changed in one place.  (It
   would be nicer to reference a font definition from all the places
   that we want it.)

   As you read the rest of the file, remember to double-check here to
   see if any font is set. */

/* Monospace: */
.maincolumn, .refpara, .refelem, .tocset, .refparaleft, .refelemleft {
    font-family: var(--mono-font), monospace;
    white-space: inherit;
    font-size: 1rem;
}

.stt, .hspace {
    font-family: var(--mono-font), monospace;
    white-space: inherit;
    font-size: 1.1rem;
}

/* Enable heading-source */
.button-group > .heading-source {
    visibility: inherit;
    cursor: pointer;
    user-select: none;
    color: gray;
}

/* embolden the "Racket Guide" and "Racket Reference" links on the TOC */
/* there isn't an obvious tag in the markup that designates the top TOC page, which is called "start.scrbl" */
/* nor a tag that designates these two links as special */
/* so we'll use this slightly tortured sibling selector that hooks onto the h2 tag */
h2[x-source-module='(lib "scribblings/main/start.scrbl")'] ~ table a[href="guide/index.html"], 
h2[x-source-module='(lib "scribblings/main/start.scrbl")'] ~ table a[href="reference/index.html"] {
  font-weight: bold;
}


h2 .stt {
    font-size: 2.3rem;
    /* prevent automatic bolding from h2 */
    font-weight: 400;
}

.toptoclink .stt {
    font-size: inherit;
}
.toclink .stt {
    font-size: 90%;
}

.RpackageSpec .stt {
    font-weight: 300;
    font-family: var(--mono-font), monospace;
    font-size: 0.9rem;
}

h3 .stt, h4 .stt, h5 .stt {
    color: #333;
    font-size: 1.2em;
    font-weight: normal;
    line-height: 0;
}


/* Serif: */
.main, .refcontent, .tocview, .tocsub, .sroman, i {
    font-family: var(--body-font);
    font-size: 1.18rem;
    font-feature-settings: "tnum", "calt";
}


/* Sans-serif: */
.version, .versionNoNav, .ssansserif {
    font-family: var(--aside-font);
}

/* Taurus Grotesk's "tnum" feature swaps the space glyph for a wider tabular
   space. WebKit measures text runs with the wide space but paints them with
   the narrow one, so the difference piles up as a visible gap at the end of
   each text run (e.g. right before an inline link). Keep "tnum" for the serif
   body text only; sans-serif elements get "calt" alone. */
.refcontent, .ssansserif, .version, .versionNoNav, .navsettop, .navsetbottom,
.SAuthorListBox, .inheritedlbl, .defmodule, .theme-nav {
    font-feature-settings: "calt";
}

/* used mostly for DrRacket menu commands */
.ssansserif {
    font-family: var(--aside-font);
    font-size: 0.9em;
}

.tocset .ssansserif {
    font-size: 100%;
}

/* ---------------------------------------- */

p, .SIntrapara {
    display: block;
    margin: 0 0 1em 0;
    line-height: 1.5;
}

.compact {
  padding: 0 0 1em 0;
}

li {
    list-style-position: outside;
    margin-left: 1.2em;
}

h1, h2, h3, h4, h5, h6, h7, h8 {
    font-weight: 700;
    color: #333;
    margin-top: inherit;
    margin-bottom: 1rem;
    line-height: 1.25;

}

h1 {
    font-size: 2.8rem;
}

h2 { /* per-page main title */
    margin-top: 4rem;
    font-size: 2rem;
    line-height: 1.2;
    width: 90%;
    /* a little nudge to make text visually lower than 4rem rule in left margin */
    position: relative;
    top: 6px;
}

h3, h4, h5, h6, h7, h8 {
    margin-top: 2.5em;
    margin-bottom: 0.75em;
}

h3 {
    font-size: 1.45rem;
}

h4 {
    font-size: 1.25rem;
}

h5, h6 {
    font-size: 1.18rem;
}

/* ---------------------------------------- */
/* Main */

body {
    color: #3c3c39;
    background-color: #fff;
}

.maincolumn {
    width: auto;
    margin-top: calc(4rem + var(--site-nav-height));
    margin-left: 25rem;
    margin-right: 2rem;
    margin-bottom: 10rem; /* to avoid fixed bottom nav bar */
    max-width: 43rem; /* rem, not px: scales with the font steps above */
    min-width: 370px;
}

/* On narrower viewports (but before the sidebar goes away at 720px), pull the
   main column in closer to the sidebar. The sidebar occupies 18rem (16rem +
   padding), so 20rem leaves a 2rem gutter. */
@media all and (min-width: 721px) and (max-width: 1110px) {
    .maincolumn {
        margin-left: 20rem;
    }
    .versionbox {
        left: 20rem;
    }
}

a {
    text-decoration: inherit;
}

a, .toclink, .toptoclink, .tocviewlink, .tocviewselflink, .tocviewtoggle, .plainlink, 
.techinside, .techoutside:hover, .techinside:hover {
    color: #07A;
}

a:hover {
    text-decoration: underline;
}

:target {
    animation: hilite 2.5s;
}

@keyframes hilite {
    0%   { background: transparent; }
    10%  { background: #f8f99a; }
    100% { background: transparent; }
}

/* ---------------------------------------- */
/* Navigation */

.navsettop, .navsetbottom {
    left: 0;
    width: 15rem;
    font-family: var(--aside-font);
    font-size: 0.9rem;
    border-bottom: 0px solid hsl(216, 15%, 70%);
    background-color: inherit;
    padding: 0;
}

.navsettop {
    position: fixed;
    z-index: 2;
    top: var(--site-nav-height);
    left: 0;
    margin-bottom: 0;
    border-bottom: 0;
    text-align: center;
    background-color: #fafafa;
}

.navsettop a, .navsetbottom a {
    color: black;
}

.navsettop a:hover, .navsetbottom a:hover {
    background: hsl(216, 78%, 95%);
    text-decoration: none;
}

.navleft, .navright {
    position: static;
    float: none;
    margin: 0;
    white-space: normal;
}


.navleft a {
    display: inline-block;
}

.navright a {
    display: inline-block;
    text-align: center;
}

.navleft a, .navright a, .navright span {
    display: inline-block;
    padding: 0.5rem;
    min-width: 1rem;
}


.navright {
    white-space: nowrap;
}


.navsetbottom {
    display: none;
}

.nonavigation {
    color: #889;
}

.searchform {
    display: block;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #eee;
    height: 4rem;
}

.nosearchform {
    margin: 0;
    padding: 0;
    height: 4rem;
}

.searchbox {
    font-size: 0.9rem;
    width: 12rem;
    margin: 1rem;
    padding: 0.25rem 0.4rem ;
    vertical-align: middle;
    background-color: white;
    font-family: var(--mono-font), monospace;
}


#search_box {
    font-family: var(--mono-font), monospace;
    font-size: 1rem;
    padding: 0.25rem 0.3rem ;
}

/* Default to local view. Global will specialize */
.plt_global_only { display: none; }
.plt_local_only { display: block; }

/* ---------------------------------------- */
/* Version */

.versionbox {
    position: absolute;
    float: none;
    top: calc(0.25rem + var(--site-nav-height));
    left: 25rem;
    z-index: 11000;
    height: 2em;
    font-size: 70%;
    font-weight: lighter;
    width: inherit;
    margin: 0;
    color: #999;
}
.version, .versionNoNav {
    font-size: inherit;
}
.version:before, .versionNoNav:before {
    content: "v";
}


/* ---------------------------------------- */
/* Margin notes */

/* cancel scribble.css styles: */
.refpara, .refelem {
  position: static;
  float: none;
  height: auto;
  width: auto;
  margin: 0;
}

.refcolumn {
    position: static;
    display: block;
    width: auto;
    font-size: inherit;
    margin: 2rem;
    margin-left: 2rem;
    padding: 0.5em;
    padding-left: 0.75em;
    padding-right: 1em;
    background: hsl(60, 29%, 94%);
    border: 1px solid #ccb;
    border-left: 0.4rem solid #ccb;
}


/* slightly different handling for margin-note* on narrow screens */
@media all and (max-width:1340px) {
     span.refcolumn {
         float: right;
         width: 50%;
         margin-left: 1rem;
         margin-bottom: 0.8rem;   
         margin-top: 1.2rem; 
     }

}

.refcontent, .refcontent p {
    line-height: 1.5;
    margin: 0;
}

.refcontent p + p {
    margin-top: 1em;
}

.refcontent a {
    font-weight: 400;
}

/* inline code inside notes scales with the (smaller) note text */
.refcontent .stt, .refcontent .RktSym, .refcontent .RktPn, .refcontent .RktVar,
.refcontent .RktValLink, .refcontent .RktStxLink, .refcontent .RktModLink {
    font-size: 0.95rem;
}

.refpara, .refparaleft {
    top: -1em;
}


@media all and (max-width:600px) {
    .refcolumn {
        margin-left: 0;
        margin-right: 0;
    }
}


@media all and (min-width:1340px) {
    .refcolumn {
        margin: 0 -22.5rem 1rem 0;
        float: right;
        clear: right;
        width: 18rem;
    }
}

.refcontent {
    font-family: var(--aside-font);
    font-size: 1rem;
    line-height: 1.6;
    margin: 0 0 0 0;
}


.refparaleft, .refelemleft {
    position: relative;
    float: left;
    right: 2em;
    height: 0em;
    width: 13em;
    margin: 0em 0em 0em 0em;
    display: contents;
}

.refcolumnleft {
    background-color: hsl(60, 29%, 94%);
    display: block;
    position: relative;
    width: 13em;
    font-size: 85%;
    border: 0.5em solid hsl(60, 29%, 94%);
    margin: 0 0 0 0;
}


/* ---------------------------------------- */
/* Table of contents, left margin */

.tocset {
    position: fixed;
    z-index: 2;
    overflow-y: auto;
    float: none;
    left: 0;
    top: var(--site-nav-height);
    bottom: 0;
    width: 16rem;
    margin: 0;
    padding: 5rem 0.5rem 0.5rem 1.5rem;
    background: #fafafa;
    border-right: 1px solid #e6e6e6;
}

.tocset td {
    vertical-align: text-top;
    padding-bottom: 0.25rem;
    padding-left: 0.2rem;
    line-height: 1.1;
    font-family: var(--body-font);
}

.tocset td a {
    color: black;
    font-weight: 400;
}


.tocview {
    text-align: left;
    background-color: inherit;
    margin-top: 1em;
}


.tocview td, .tocsub td {
    line-height: 1.3;
}


.tocview table, .tocsub table {
    width: 90%;
}

.tocset td a.tocviewselflink {
    font-weight: bold;
    font-size: 110%; /* monospaced styles below don't need to enlarge */
}

.tocviewselflink {
    text-decoration: none;
}

.tocsub {
    text-align: left;
    margin-top: 0.5em;
    background-color: inherit;
}

.tocviewlist, .tocsublist {
    margin-left: 0.2em;
    margin-right: 0.2em;
    padding-top: 0.2em;
    padding-bottom: 0.2em;
}
.tocviewlist table {
    font-size: 82%;
}

.tocviewlisttopspace {
    margin-bottom: 1em;
}

.tocviewsublist, .tocviewsublistonly, .tocviewsublisttop, .tocviewsublistbottom {
    margin-left: 0.4em;
    border-left: 1px solid #99a;
    padding-left: 0.8em;
}
.tocviewsublist {
    margin-bottom: 1em;
}
.tocviewsublist table,
.tocviewsublistonly table,
.tocviewsublisttop table,
.tocviewsublistbottom table,
table.tocsublist {
    font-size: 1rem;
}

.tocviewsublist td, 
.tocviewsublistbottom td, 
.tocviewsublisttop td, 
.tocsub td,
.tocviewsublistonly td {
    font-size: 90%;
}

/* shrink the monospaced text (`stt`) within nav */
.tocviewsublist td .stt, 
.tocviewsublistbottom td .stt, 
.tocviewsublisttop td .stt, 
.tocsub td .stt,
.tocviewsublistonly td .stt {
    font-size: 95%;
}


.tocviewtoggle {
    font-size: 75%; /* looks better, and avoids bounce when toggling sub-sections due to font alignments */
}

.tocsublist td {
    padding-left: 0.5rem;
    padding-top: 0.1rem;
    text-indent: 0;
}

.tocsublinknumber {
    font-size: 100%;
}

.tocsublink {
    font-size: 82%;
    text-decoration: none;
}

.tocsubseclink {
    font-size: 100%;
    text-decoration: none;
}

.tocsubnonseclink {
    font-size: 82%;
    text-decoration: none;
    margin-left: 1rem;
    padding-left: 0;
    display: inline-block;
}

/* the label "on this page" */
.tocsubtitle {
    display: block;
    font-size: 62%;
    font-family: var(--body-font);
    font-weight: bolder;
    font-style: normal;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin: 0.5em;
}

.toptoclink {
    font-weight: bold;
    font-size: 110%;
    margin-bottom: 0.5rem;
    margin-top: 1.5rem;
    display: inline-block;
}

.toclink {
    font-size: inherit;
}

/* ---------------------------------------- */
/* Some inline styles */

.indexlink {
    text-decoration: none;
}

pre {
  margin-left: 2em;
}

blockquote {
  margin-left: 2em;
  margin-right: 2em;
  margin-bottom: 1em;
}

.SCodeFlow {
    border-left: 2px solid #d8dde3;
    background: #f7f8fa;
    padding: 0.5em 1em;
    margin: 1em 0;
    white-space: nowrap;
    overflow-x: auto; /* long lines scroll instead of spilling past the column */
    line-height: 1.5;
}

.SCodeFlow img {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

/* put a little air between lines of code sample */
/* Fira Mono appears taller than Source Code Pro */
.SCodeFlow td {
    padding-bottom: 1px;
}

.boxed {
    margin: 0;
    margin-top: 2em;
    padding: 0.25em 0.75em;
    box-sizing: border-box;
    background: #f4f6f8;
}

blockquote > blockquote.SVInsetFlow {
/* resolves issue in e.g. /reference/notation.html */
    margin-top: 0em;
}

.leftindent .SVInsetFlow { /* see e.g. section 4.5 of Racket Guide */
    margin-top: 1em;
    margin-bottom: 1em;
}

.SVInsetFlow a, .SCodeFlow a {
    color: #07A;
}

.SubFlow {
    display: block;
    margin: 0em;
}

.boxed {
    /* A table grows past width:100% when a nowrap signature is wider than the
       column. Make the outer element a block (so the width sticks and long
       content scrolls) and let its tbody act as the full-width table. */
    display: block;
    width: 100%;
    overflow-x: auto;
}

.boxed > tbody {
    display: table;
    width: 100%;
}

.techoutside       { text-decoration: none; }

.SAuthorListBox {
    position: static;
    float: none;
    font-family: var(--aside-font);
    font-size: 110%;
    margin-top: 1rem;
    margin-bottom: 2rem;
    width: 30rem;
    height: auto;
}

.author > a { /* email links within author block */
    font-weight: inherit;
    color: inherit;
}

.SAuthorList {
    font-size: 82%;
    color: #777;
}
.SAuthorList:before {
    content: "by ";
}
.author {
    display: inline;
    white-space: nowrap;
}

/* phone + tablet styles */

@media all and (max-width:720px){


    @media all and (max-width:720px){

        @media all {html {font-size: 15px;}}
        @media all and (max-width:700px){html {font-size: 14px;}}
        @media all and (max-width:630px){html {font-size: 13px;}}
        @media all and (max-width:610px){html {font-size: 12px;}}
        @media all and (max-width:550px){html {font-size: 11px;}}
        @media all and (max-width:520px){html {font-size: 10px;}}

        .navsettop, .navsetbottom {
            display: flex;
            position: absolute;
            width: 100%;
            height: 4rem;
            border: 0;
            background-color: #fafafa;
            box-shadow: 6px 6px 6px #eaeaea;
            align-items: center;
        }

        .navsettop {
            top: var(--site-nav-height);
        }

        .tocsetoverlay .navsettop {
            position: fixed;
        }

        .navleft {
            flex: 1;
        }

        .searchform {
            display: inline;
            border: 0;
        }

        .searchbox {
            margin-top: 0;
            margin-bottom: 0;
        }

        .navleft .tocsettoggle {
            display: initial;
        }

        .navright {
            margin-right: 1.3rem;
            border: 0px solid red;
        }

        .navsetbottom {
            display: block;
            margin-top: 8rem;
        }

        .tocset {
            display: none;
            border-top-width: 4rem;
        }

        .tocsetoverlay .tocset {
            display: block;
        }

        .versionbox {
            top: calc(4.5rem + var(--site-nav-height));
            left: 1rem; /* same distance as main-column */
            z-index: 1;
            height: 2em;
            font-size: 70%;
            font-weight: lighter;
        }


        .maincolumn {
            margin-left: 1em;
            margin-top: calc(7rem + var(--site-nav-height));
            margin-bottom: 0rem;
        }

    }

}

/* print styles : hide the navigation elements */
@media print {
    .tocset,
    .navsettop,
    .navsetbottom,
    .theme-nav { display: none; }
    .maincolumn {
        width: auto;
        margin-right: 13em;
        margin-left: 0;
    }
}

/* See the beginning of "manual.css". */

/* Monospace: */

/* Monospace sizing policy:
   - inline with prose, and inside definition/module boxes: 1.1rem
     (this rule, plus .stt/.hspace and .RktValLink etc. below)
   - inside code blocks (racketblock, examples, verbatim): 1rem
     (see the .SCodeFlow / .SVerbatim rule that follows) */
.RktIn, .RktRdr, .RktPn, .RktMeta,
.RktMod, .RktKw, .RktVar, .RktSym,
.RktRes, .RktOut, .RktCmt, .RktVal,
.RktBlk, .RktErr {
  font-family: var(--mono-font), monospace;
  white-space: inherit;
  font-size: 1.1rem;
  line-height: 1.5;
}

.SCodeFlow .RktIn, .SCodeFlow .RktRdr, .SCodeFlow .RktPn, .SCodeFlow .RktMeta,
.SCodeFlow .RktMod, .SCodeFlow .RktKw, .SCodeFlow .RktVar, .SCodeFlow .RktSym,
.SCodeFlow .RktRes, .SCodeFlow .RktOut, .SCodeFlow .RktCmt, .SCodeFlow .RktVal,
.SCodeFlow .RktBlk, .SCodeFlow .RktErr, .SCodeFlow .RktOpt,
.SCodeFlow .RktValLink, .SCodeFlow .RktStxLink, .SCodeFlow .RktModLink,
.SCodeFlow .stt, .SCodeFlow .hspace,
.SVerbatim, .SVerbatim .stt {
  font-size: 1rem;
}

/* this selctor grabs the first linked Racket symbol
in a definition box (i.e., the symbol being defined) */
a.RktValDef, a.RktStxDef, a.RktSymDef,
span.RktValDef, span.RktStxDef, span.RktSymDef
{
    font-size: 1.1rem;
    color: black;
    font-weight: 700;
}


.inheritedlbl {
  font-family: var(--aside-font);
}

.RBackgroundLabelInner {
  font-family: inherit;
}

/* ---------------------------------------- */
/* Inherited methods, left margin */

.inherited {
  width: 95%;
  margin-top: 0.5em;
  text-align: left;
  background-color: inherit;
}

.inherited td {
  font-size: 82%;
  padding-left: 0.5rem;
  line-height: 1.3;
  text-indent: 0;
  padding-right: 0;
}

.inheritedlbl {
  font-style: normal;
}

/* ---------------------------------------- */
/* Racket text styles */

.RktIn {
  color: #cc6633;
  background-color: #eee;
  white-space: pre;
}

.RktInBG {
  background-color: #eee;
}


.refcolumn .RktInBG {
  background-color: white;
}

.RktRdr {
}

.RktPn {
  color: #843c24;
}

.RktMeta {
  color: black;
}

.RktMod {
  color: inherit;
}

.RktOpt {
  color: black;
  font-style: italic;
  font-family: var(--mono-font), monospace;
}

.RktKw {
  color: black;
}

.RktErr {
  color: red;
  font-style: italic;
  font-weight: 400;
}

.RktVar {
    font-style: italic;
    color: darkslategrey;
}

.SVInsetFlow .RktVar {
    font-weight: 400;
    color: #444;
}


.RktSym {
   color: inherit;
}


.RktValLink, .RktStxLink, .RktModLink {
  text-decoration: none;
    color: #07A;
    font-size: 1.1rem;
}

/* for syntax links within headings */
h2 a.RktStxLink, h3 a.RktStxLink, h4 a.RktStxLink, h5 a.RktStxLink,
h2 a.RktValLink, h3 a.RktValLink, h4 a.RktValLink, h5 a.RktValLink,
h2 .RktSym, h3 .RktSym, h4 .RktSym, h5 .RktSym,
h2 .RktMod, h3 .RktMod, h4 .RktMod, h5 .RktMod,
h2 .RktVal, h3 .RktVal, h4 .RktVal, h5 .RktVal,
h2 .RktPn, h3 .RktPn, h4 .RktPn, h5 .RktPn {
    color: #333;
    font-size: 1.20rem;
    font-weight: 400;
}

.toptoclink .RktStxLink, .toclink .RktStxLink,
.toptoclink .RktValLink, .toclink .RktValLink,
.toptoclink .RktModLink, .toclink .RktModLink {
    color: inherit;
}

.tocset .RktValLink, .tocset .RktStxLink, .tocset .RktModLink, .tocset .RktSym {
    color: #555;
    font-weight: 400;
    font-size: 0.9rem;
}

.tocset td a.tocviewselflink .RktValLink,
.tocset td a.tocviewselflink .RktStxLink,
.tocset td a.tocviewselflink .RktMod,
.tocset td a.tocviewselflink .RktSym {
    font-weight: lighter;
    color: inherit; /* the self link has no dark background in this theme */
}


.RktRes {
  color: #2b3f9e;
}

.RktOut {
  color: #960096;
}

.RktCmt {
  color: #c2741f;
}

.RktVal {
  color: #2f7d32;
}

/* ---------------------------------------- */
/* Some inline styles */

.together { /* for definitions grouped together in one box */
  width: 100%;
  border-top: 1px solid #dfe3e8;
  margin-top: 0.6em;
}

tbody > tr:first-child > td > .together {
  border-top: 0; /* the box's own padding already makes room */
  margin-top: 0;
  padding-top: 0;
}

.RktBlk {
  white-space: pre;
  text-align: left;
}

.highlighted {
    font-size: 1rem;
    background-color: #fee;
}

.defmodule {
    font-family: var(--aside-font);
    padding: 0.5em 0.75em;
    margin-bottom: 1rem;
    width: 100%;
    background-color: #f4f6f8;
}

.defmodule a {
    color: #444;
}


.defmodule td span.hspace:first-child {
  position: absolute;
  width: 0;
  display: inline-block;
}

.defmodule .RpackageSpec .Smaller {
    font-size: 1rem;
}
.defmodule .RpackageSpec .stt {
    font-size: 1.1rem;
}

/* make parens ordinary color in defmodule */
.defmodule .RktPn {
    color: inherit;
}

.specgrammar {
    float: none;
    padding-left: 1em;
}


.RBibliography td {
  vertical-align: text-top;
  padding-top: 1em;
}

.leftindent {
 margin-left: 2rem;
 margin-right: 0em;
}

.insetpara {
 margin-left: 1em;
 margin-right: 1em;
}

/* File boxes: a filename tab joined to a full-width code block, like an
   editor tab. Scribble's markup is:
     blockquote.Rfilebox > p.Rfiletitle > span.Rfilename > span.stt
     blockquote.Rfilebox > blockquote.Rfilecontent > blockquote.SCodeFlow */

.Rfilebox {
    margin: 1.25em 0;
}

/* Sometimes Scribble wraps the whole file box in an outer .SCodeFlow with no
   inner one (blockquote.SCodeFlow > blockquote.Rfilebox > blockquote.Rfilecontent
   > table.RktBlk). Move the code surface from the wrapper to .Rfilecontent so the
   tab still sits on top of the block. */
.SCodeFlow:has(> .Rfilebox:only-child) {
    background: none;
    border-left: 0;
    padding: 0;
    margin: 0;
    overflow: visible;
}

.SCodeFlow > .Rfilebox:only-child > .Rfilecontent {
    border-left: 2px solid #d8dde3;
    background: #f7f8fa;
    padding: 0.5em 1em;
    white-space: nowrap;
    overflow-x: auto;
    line-height: 1.5;
}

.Rfilebox > .Rfiletitle {
    display: inline-block;
    margin: 0;
    padding: 0.3em 1em 0.25em 0.9em;
    text-align: left;
    line-height: 1.4;
    color: #555;
    background-color: #e6eaef;
    border-left: 2px solid #d8dde3;
}

.Rfilebox > .Rfiletitle::before {
    content: "file";
    font-family: var(--aside-font), sans-serif;
    font-size: 0.7rem;
    font-weight: bold;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #8a929b;
    margin-right: 0.8em;
    position: relative;
    top: -0.1em;
}

.Rfilebox .Rfilename,
.Rfilebox .Rfilename .stt {
    padding: 0;
    font-size: 0.95rem;
    background-color: inherit;
}

.Rfilebox > .Rfilecontent {
    margin: 0;
}

.Rfilebox .SCodeFlow {
    margin-top: 0;
}

.Rfilename {
    border-top: 0;
    border-right: 0;
}

.Rfilecontent {
    margin: 0.5em;
}

.RpackageSpec {
  padding-right: 0;
}

/* ---------------------------------------- */
/* For background labels */

.RBackgroundLabel {
   float: right;
   width: 0px;
   height: 0px;
}

.RBackgroundLabelInner {
   position: relative;
   width: 25em;
   left: -25.5em;
   top: 0.20rem; /* sensitive to monospaced font choice */
   text-align: right;
   z-index: 0;
   font-weight: 300;
   font-family: var(--aside-font), system-ui, sans-serif;
   font-size: 0.9rem;
   color: gray;
}


.RpackageSpec .Smaller {
   font-weight: 300;
   font-size: 0.9rem;
}

.RForeground {
   position: relative;
   left: 0px;
   top: 0px;
   z-index: 1;
}

/* ---------------------------------------- */
/* For section source modules & tags */

.RPartExplain {
    background: #eee;
    font-size: 0.9rem;
    margin-top: 0.2rem;
    padding: 0.2rem;
    text-align: left;
}


/* ---------------------------------------- */
/* Site navigation bar (markup generated by scribble-theme via #:nav) */

.theme-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 12000;
    box-sizing: border-box;
    height: var(--site-nav-height);
    display: flex;
    align-items: center;
    padding: 0 1.4rem 0 0.9rem;
    background-color: #fff;
    border-bottom: 1px solid #eaeaea;
    font-family: var(--aside-font), sans-serif;
    font-size: 0.85rem;
    line-height: 1;
    white-space: nowrap;
}

.theme-nav-item {
    display: inline-block;
    margin: 0;
}

.theme-nav-item:first-child {
    margin-right: auto;
}

.theme-nav a,
.theme-nav summary {
    display: inline-block;
    padding: 0.5rem 0.6rem;
    color: #3c3c39;
    text-decoration: none;
}

.theme-nav a:hover,
.theme-nav summary:hover,
.theme-nav-menu[open] > summary {
    background: hsl(216, 78%, 95%);
    text-decoration: none;
}

.theme-nav-menu {
    position: relative;
}

.theme-nav-menu > summary {
    list-style: none;
    cursor: pointer;
    user-select: none;
}

.theme-nav-menu > summary::-webkit-details-marker {
    display: none;
}

.theme-nav-menu > summary::after {
    content: " \25BE"; /* ▾ */
    color: #999;
}

.theme-nav-menu ul {
    position: absolute;
    right: 0;
    top: 100%;
    margin: 0;
    padding: 0.4rem 0;
    min-width: 11rem;
    list-style: none;
    background-color: #fff;
    border: 1px solid #eaeaea;
    border-top: 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.theme-nav-menu li {
    margin: 0;
    padding: 0;
}

.theme-nav-menu li a {
    display: block;
    padding: 0.4rem 1rem;
}
