/* full style copied from racket css files */
@import url("https://blog-static.cnblogs.com/files/yuziwen/manual-fonts.css");

.tocset, .versionbox {
    display: none !important;
}
/* to override other css styles provided by blog website */
.SCodeFlow table, .SCodeFlow tr, .SCodeFlow td {
    border: none !important;
}
.SCodeFlow table {
    overflow-x: auto !important;
    display: table  !important;
}
.SCodeFlow td {
    padding: 0px  !important;
}
.SCodeFlow {
    border-top: none  !important;
    border-right: none  !important;
    border-bottom: none  !important;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    min-height: 0px !important;
}


.c_ad_block {
    display: none !important;
}
#ad_t1, #ad_t2 {
    display: none !important;
}

#mainContent .forFlow {
    padding: 0px !important;
}
#mainContent {
    overflow: visible !important;
}
#home {
    padding-left: 1em !important;
/*    padding-right: 2rem !important; */
}
#topics {
    overflow: visible !important;
}






/* scribble.css */



/* This file is used by default by all Scribble documents.
   See also "manual.css", which is added by default by the
   `scribble/manual` language. */

/* 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, .stt, .hspace, .refparaleft, .refelemleft {
    font-family: monospace !important;
  }
  
  /* Serif: */
  .main, .refcontent, .tocview, .tocsub, .sroman, i {
    font-family: serif !important;
  }
  
  /* Sans-serif: */
  .version, .versionNoNav, .ssansserif {
    font-family: sans-serif !important;
  }
  .ssansserif {
    font-size: 80% !important;
    font-weight: bold !important;
  }
  
  /* ---------------------------------------- */
  
  p, .SIntrapara {
    display: block !important;
    margin: 1em 0 !important;
  }
  
  h2 { /* per-page main title */
    margin-top: 0 !important;
  }
  
  h3, h4, h5, h6, h7, h8 {
    margin-top: 1.75em !important;
    margin-bottom: 0.5em !important;
  }
  
  .SSubSubSubSection {
    font-weight: bold !important;
    font-size: 0.83em !important; /* should match h5 !important; from HTML 4 reference */
  }
  
  /* Needed for browsers like Opera, and eventually for HTML 4 conformance.
     This means that multiple paragraphs in a table element do not have a space
     between them. */
  table p {
    margin-top: 0  !important;
    margin-bottom: 0  !important;
  }
  
  /* ---------------------------------------- */
  /* Main */
  
  body {
    color: black !important;
    background-color: #ffffff !important;
  }
  
  table td {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /*
  .maincolumn {
    width: 43em !important;
    margin-right: -40em !important;
    margin-left: 15em !important;
  }
  */
  .main {
    text-align: left !important;
  }
  
  /* ---------------------------------------- */
  /* Navigation */
  
  .navsettop, .navsetbottom {
    background-color: #f0f0e0 !important;
    padding: 0.25em 0 0.25em 0 !important;
  }
  
  .navsettop {
    margin-bottom: 1.5em !important;
    border-bottom: 2px solid #e0e0c0 !important;
  }
  
  .navsetbottom {
    margin-top: 2em !important;
    border-top: 2px solid #e0e0c0 !important;
  }
  
  .navleft {
    margin-left: 1ex !important;
    position: relative !important;
    float: left !important;
    white-space: nowrap !important;
  }
  .navright {
    margin-right: 1ex !important;
    position: relative !important;
    float: right !important;
    white-space: nowrap !important;
  }
  .nonavigation {
    color: #e0e0e0 !important;
  }
  
  .searchform {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  .nosearchform {
    display: none !important;
  }
  
  .searchbox {
    width: 16em !important;
    margin: 0px !important;
    padding: 0px !important;
    background-color: #eee !important;
    border: 1px solid #ddd !important;
    text-align: center !important;
    vertical-align: middle !important;
  }
  
  #contextindicator {
    position: fixed !important;
    background-color: #c6f !important;
    color: #000 !important;
    font-family: monospace !important;
    font-weight: bold !important;
    padding: 2px 10px !important;
    display: none !important;
    right: 0 !important;
    bottom: 0 !important;
  }
  
  /* ---------------------------------------- */
  /* Version */
  
  .versionbox {
    position: relative !important;
    float: right !important;
    left: 2em !important;
    height: 0em !important;
    width: 13em !important;
    margin: 0em -13em 0em 0em !important;
  }
  .version {
    font-size: small !important;
  }
  .versionNoNav {
    font-size: xx-small !important; /* avoid overlap with author */
  }
  
  .version:before, .versionNoNav:before {
    content: "Version " !important;
  }
  
  /* ---------------------------------------- */
  /* Margin notes */
  
  .refpara, .refelem {
    position: relative !important;
    float: right !important;
    left: 2em !important;
    height: 0em !important;
    width: 13em !important;
    margin: 0em -13em 0em 0em !important;
  }
  
  .refpara, .refparaleft {
    top: -1em !important;
  }
  
  .refcolumn {
    background-color: #F5F5DC !important;
    display: block !important;
    position: relative !important;
    width: 13em !important;
    font-size: 85% !important;
    border: 0.5em solid #F5F5DC !important;
    margin: 0 0 0 0 !important;
    white-space: normal !important; /* in case margin note is inside code sample */
  }
  
  .refcontent {
    margin: 0 0 0 0 !important;
  }
  
  .refcontent p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  
  .refparaleft, .refelemleft {
    position: relative !important;
    float: left !important;
    right: 2em !important;
    height: 0em !important;
    width: 13em !important;
    margin: 0em 0em 0em -13em !important;
  }
  
  .refcolumnleft {
    background-color: #F5F5DC !important;
    display: block !important;
    position: relative !important;
    width: 13em !important;
    font-size: 85% !important;
    border: 0.5em solid #F5F5DC !important;
    margin: 0 0 0 0 !important;
  }
  
  
  /* ---------------------------------------- */
  /* Table of contents, inline */
  
  .toclink {
    text-decoration: none !important;
    color: blue !important;
    font-size: 85% !important;
  }
  
  .toptoclink {
    text-decoration: none !important;
    color: blue !important;
    font-weight: bold !important;
  }
  
  /* ---------------------------------------- */
  /* Table of contents, left margin */
  
  .tocset {
    position: relative !important;
    float: left !important;
    width: 12.5em !important;
    margin-right: 2em !important;
  }
  .tocset td {
    vertical-align: text-top !important;
  }
  
  .tocview {
    text-align: left !important;
    background-color: #f0f0e0 !important;
  }
  
  .tocsub {
    text-align: left !important;
    margin-top: 0.5em !important;
    background-color: #f0f0e0 !important;
  }
  
  .tocviewlist, .tocsublist {
    margin-left: 0.2em !important;
    margin-right: 0.2em !important;
    padding-top: 0.2em !important;
    padding-bottom: 0.2em !important;
  }
  .tocviewlist table {
    font-size: 82% !important;
  }
  
  .tocviewlisttopspace {
    margin-bottom: 1em !important;
  }
  
  .tocviewsublist, .tocviewsublistonly, .tocviewsublisttop, .tocviewsublistbottom {
    margin-left: 0.4em !important;
    border-left: 1px solid #bbf !important;
    padding-left: 0.8em !important;
  }
  .tocviewsublist {
    margin-bottom: 1em !important;
  }
  .tocviewsublist table,
  .tocviewsublistonly table,
  .tocviewsublisttop table,
  .tocviewsublistbottom table {
    font-size: 75% !important;
  }
  
  .tocviewtitle * {
    font-weight: bold !important;
  }
  
  .tocviewlink {
    text-decoration: none !important;
    color: blue !important;
  }
  
  .tocviewselflink {
    text-decoration: underline !important;
    color: blue !important;
  }
  
  .tocviewtoggle {
    text-decoration: none !important;
    color: blue !important;
    font-size: 75% !important; /* looks better, and avoids bounce when toggling sub-sections due to font alignments */
  }
  
  .tocsublist td {
    padding-left: 1em !important;
    text-indent: -1em !important;
  }
  
  .tocsublinknumber {
    font-size: 82% !important;
  }
  
  .tocsublink {
    font-size: 82% !important;
    text-decoration: none !important;
  }
  
  .tocsubseclink {
    font-size: 82% !important;
    text-decoration: none !important;
  }
  
  .tocsubnonseclink {
    font-size: 82% !important;
    text-decoration: none !important;
    padding-left: 0.5em !important;
  }
  
  .tocsubtitle {
    font-size: 82% !important;
    font-style: italic !important;
    margin: 0.2em !important;
  }
  
  /* ---------------------------------------- */
  /* Some inline styles */
  
  .indexlink {
    text-decoration: none !important;
  }
  
  .nobreak {
    white-space: nowrap !important;
  }
  
  pre { margin-left: 2em !important; }
  blockquote { margin-left: 2em !important; }
  
  ol          { list-style-type: decimal !important; }
  ol ol       { list-style-type: lower-alpha !important; }
  ol ol ol    { list-style-type: lower-roman !important; }
  ol ol ol ol { list-style-type: upper-alpha !important; }
  
  .SCodeFlow {
    display: block !important;
    margin-left: 1em !important;
    margin-bottom: 0em !important;
    margin-right: 1em !important;
    margin-top: 0em !important;
    white-space: nowrap !important;  
  }
  
  .SVInsetFlow {
    display: block !important;
    margin-left: 0em !important;
    margin-bottom: 0em !important;
    margin-right: 0em !important;
    margin-top: 0em !important;
  }
  
  .SubFlow {
    display: block !important;
    margin: 0em !important;
  }
  
  .boxed {
    width: 100% !important;
    background-color: #E8E8FF !important;
  }
  
  .hspace {
  }
  
  .slant {
    font-style: oblique !important;
  }
  
  .badlink {
    text-decoration: underline !important;
    color: red !important;
  }
  
  .plainlink {
    text-decoration: none  !important;
    color: blue !important;
  }
  
  .techoutside       { text-decoration: underline !important; color: #b0b0b0 !important; }
  .techoutside:hover { text-decoration: underline !important; color: blue !important; }
  
  /* .techinside:hover doesn't work with FF, .techinside:hover>
     .techinside doesn't work with IE, so use both (and IE doesn't
     work with inherit in the second one, so use blue directly) */
  .techinside                    { color: black !important; }
  .techinside:hover              { color: blue !important; }
  .techoutside:hover>.techinside { color: inherit !important; }
  
  .SCentered {
    text-align: center !important;
  }
  
  .imageleft {
    float: left !important;
    margin-right: 0.3em !important;
  }
  
  .Smaller {
    font-size: 82% !important;
  }
  
  .Larger {
    font-size: 122% !important;
  }
  
  /* A hack, inserted to break some Scheme ids: */
  .mywbr {
    display: inline-block !important;
    height: 0 !important;
    width: 0 !important;
    font-size: 1px !important;
  }
  
  .compact li p {
    margin: 0em !important;
    padding: 0em !important;
  }
  
  .noborder img {
    border: 0 !important;
  }
  
  .SAuthorListBox {
    position: relative !important;
    float: right !important;
    left: 2em !important;
    top: -2.5em !important;
    height: 0em !important;
    width: 13em !important;
    margin: 0em -13em 0em 0em !important;
  }
  .SAuthorList {
    font-size: 82% !important;
  }
  .SAuthorList:before {
    content: "by " !important;
  }
  .author {
    display: inline !important;
    white-space: nowrap !important;
  }
  
  /* print styles : hide the navigation elements */
  @media print {
    .tocset,
    .navsettop,
    .navsetbottom { display: none !important; }
    .maincolumn {
      width: inherit !important;
      margin-right: 13em !important;
      margin-left: 0 !important;
    }
  }
  























  /* racket.css */






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

/* Monospace: */
.RktIn, .RktRdr, .RktPn, .RktMeta,
.RktMod, .RktKw, .RktVar, .RktSym,
.RktRes, .RktOut, .RktCmt, .RktVal,
.RktBlk {
  font-family: monospace !important;
  white-space: inherit !important;
}

/* Serif: */
.inheritedlbl {
  font-family: serif !important;
}

/* Sans-serif: */
.RBackgroundLabelInner {
  font-family: sans-serif !important;
}

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

.inherited {
  width: 100% !important;
  margin-top: 0.5em !important;
  text-align: left !important;
  background-color: #ECF5F5 !important;
}

.inherited td {
  font-size: 82% !important;
  padding-left: 1em !important;
  text-indent: -0.8em !important;
  padding-right: 0.2em !important;
}

.inheritedlbl {
  font-style: italic !important;
}

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

.RktIn {
  color: #cc6633 !important;
  background-color: #eeeeee !important;
}

.RktInBG {
  background-color: #eeeeee !important;
}

.RktRdr {
}

.RktPn {
  color: #843c24 !important;
}

.RktMeta {
  color: black !important;
}

.RktMod {
  color: black !important;
}

.RktOpt {
  color: black !important;
}

.RktKw {
  color: black !important;
}

.RktErr {
  color: red !important;
  font-style: italic !important;
}

.RktVar {
  color: #262680 !important;
  font-style: italic !important;
}

.RktSym {
  color: #262680 !important;
}

.RktSymDef { /* used with RktSym at def site */
}

.RktValLink {
  text-decoration: none !important;
  color: blue !important;
}

.RktValDef { /* used with RktValLink at def site */
}

.RktModLink {
  text-decoration: none !important;
  color: blue !important;
}

.RktStxLink {
  text-decoration: none !important;
  color: black !important;
}

.RktStxDef { /* used with RktStxLink at def site */
}

.RktRes {
  color: #0000af !important;
}

.RktOut {
  color: #960096 !important;
}

.RktCmt {
  color: #c2741f !important;
}

.RktVal {
  color: #228b22 !important;
}

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

.together {
  width: 100% !important;
}

.prototype, .argcontract, .RBoxed {
  white-space: nowrap !important;
}

.prototype td {
  vertical-align: text-top !important;
}

.RktBlk {
  white-space: inherit !important;
  text-align: left !important;
}

.RktBlk tr {
  white-space: inherit !important;
}

.RktBlk td {
  vertical-align: baseline !important;
  white-space: inherit !important;
}

.argcontract td {
  vertical-align: text-top !important;
}

.highlighted {
  background-color: #ddddff !important;
}

.defmodule {
  width: 100% !important;
  background-color: #F5F5DC !important;
}

.specgrammar {
  float: right !important;
}

.RBibliography td {
  vertical-align: text-top !important;
}

.leftindent {
 margin-left: 1em !important;
 margin-right: 0em !important;
}

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

.Rfilebox {
}

.Rfiletitle {
  text-align: right !important;
  margin: 0em 0em 0em 0em !important;
}

.Rfilename {
  border-top: 1px solid #6C8585 !important;
  border-right: 1px solid #6C8585 !important;
  padding-left: 0.5em !important;
  padding-right: 0.5em !important;
  background-color: #ECF5F5 !important;
}

.Rfilecontent {
  margin: 0em 0em 0em 0em !important;
}

.RpackageSpec {
  padding-right: 0.5em !important;
}

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

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

.RBackgroundLabelInner {
   position: relative !important;
   width: 25em !important;
   left: -25.5em !important;
   top: 0px !important;
   text-align: right !important;
   color: white !important;
   z-index: 0 !important;
   font-weight: bold !important;
}

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

/* ---------------------------------------- */
/* History */

.SHistory {
  font-size: 82% !important;
}

























/* manual-style.css */





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




@media all {html {font-size: 15px !important;}}
@media all and (max-width:940px){html {font-size: 14px !important;}}
@media all and (max-width:850px){html {font-size: 13px !important;}}
@media all and (max-width:830px){html {font-size: 12px !important;}}
@media all and (max-width:740px){html {font-size: 11px !important;}}

/* 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, .stt, .hspace, .refparaleft, .refelemleft {
    font-family: 'Fira-Mono', monospace !important;
    white-space: inherit !important;
    font-size: 1rem !important;
}

/* 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 !important;
}


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

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

.RpackageSpec .stt {
    font-weight: 300 !important;
    font-family: 'Fira-Mono', monospace !important;
    font-size: 0.9rem !important;
}

h3 .stt, h4 .stt, h5 .stt {
    color: #333 !important;
    font-size: 1.65rem !important;
    font-weight: 400 !important;
}


/* Serif: */
.main, .refcontent, .tocview, .tocsub, .sroman, i {
    font-family: 'Charter-Racket', serif !important;
    font-size: 1.18rem !important;
/* Don't use font-feature-settings with Charter, 
it fouls up loading for reasons mysterious */
/*    font-feature-settings: 'tnum' 1, 'liga' 0 !important; */
}


/* Sans-serif: */
.version, .versionNoNav, .ssansserif {
    font-family: 'Fira', sans-serif !important;
}

/* used mostly for DrRacket menu commands */
.ssansserif {
    font-family: 'Fira', sans-serif !important;
    font-size: 0.9em !important;
}

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

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

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

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

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

h1, h2, h3, h4, h5, h6, h7, h8 {
    font-family: 'Fira', sans-serif !important;
    font-weight: 300 !important;
    font-size: 1.6rem !important;
    color: #333 !important;
    margin-top: inherit !important;
    margin-bottom: 1rem !important;
    line-height: 1.25 !important;

}

h3, h4, h5, h6, h7, h8 {
    border-top: 1px solid black !important;
}



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

h3, h4, h5, h6, h7, h8 {
    margin-top: 2em !important;
    padding-top: 0.1em !important;
    margin-bottom: 0.75em !important;
}

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

body {
    color: black !important;
    background-color: white !important;
}

.maincolumn {
    width: auto !important;
    margin-top: 0rem !important;
    margin-left: 0rem !important;
    margin-right: 0rem !important;
    margin-bottom: 2rem !important; /* to avoid fixed bottom nav bar */
/*    min-width: 370px !important; /* below this size, code samples don't fit */
}

a {
    text-decoration: inherit !important;
}

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

a:hover {
    text-decoration: underline !important;
}


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

.navsettop, .navsetbottom {
    left: 0 !important;
    width: 15rem !important;
    height: 6rem !important;
    font-family: 'Fira', sans-serif !important;
    font-size: 0.9rem !important;
    border-bottom: 0px solid hsl(216, 15%, 70%) !important;
    background-color: inherit !important;
    padding: 0 !important;
}

.navsettop {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    margin-bottom: 0 !important;
    border-bottom: 0 !important;
}

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

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

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


.navleft a {
    display: inline-block !important;
}

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

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


.navright {
    height: 2rem !important;
    white-space: nowrap !important;
}


.navsetbottom {
    display: none !important;
}

.nonavigation {
    color: #889 !important;
}

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

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

.searchbox {
    font-size: 0.9rem !important;
    width: 12rem !important;
    margin: 1rem !important;
    padding: 0.25rem 0.4rem  !important;
    vertical-align: middle !important;
    background-color: white !important;
    font-family: 'Fira-Mono', monospace !important;
}


#search_box {
    font-family: 'Fira-Mono', monospace !important;
    font-size: 1rem !important;
    padding: 0.25rem 0.3rem  !important;
}

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

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

.versionbox {
    position: absolute !important;
    float: none !important;
    top: 0.25rem !important;
    left: 17rem !important;
    z-index: 11000 !important;
    height: 2em !important;
    font-size: 70% !important;
    font-weight: lighter !important;
    width: inherit !important;
    margin: 0 !important;
}
.version, .versionNoNav {
    font-size: inherit !important;
}
.version:before, .versionNoNav:before {
    content: "v." !important;
}


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

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

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


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

}

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

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

.refcontent a {
    font-weight: 400 !important;
}

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


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


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

.refcontent {
    font-family: 'Fira', sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    margin: 0 0 0 0 !important;
}


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

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


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

.tocset {
    position: absolute !important;
    float: none !important;
    left: 0 !important;
    top: 0rem !important;
    width: 14rem !important;
    padding: 7rem 0.5rem 0.5rem 0.5rem !important;
    background-color: hsl(216, 15%, 70%) !important;
    margin: 0 !important;

}

.tocset td {
    vertical-align: text-top !important;
    padding-bottom: 0.4rem !important;
    padding-left: 0.2rem !important;
    line-height: 1.1 !important;
    font-family: 'Fira', sans-serif !important;
}

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


.tocview {
    text-align: left !important;
    background-color: inherit !important;
}


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


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

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

.tocviewselflink {
    text-decoration: none !important;
}

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

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

.tocviewlisttopspace {
    margin-bottom: 1em !important;
}

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

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

/* 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% !important;
}


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

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

.tocsublinknumber {
    font-size: 100% !important;
}

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

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

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

/* the label "on this page" */
.tocsubtitle {
    display: block !important;
    font-size: 62% !important;
    font-family: 'Fira', sans-serif !important;
    font-weight: bolder !important;
    font-style: normal !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    margin: 0.5em !important;
}

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

.toclink {
    font-size: inherit !important;
}

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

.indexlink {
    text-decoration: none !important;
}

pre {
  margin-left: 2em !important;
}

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

.SCodeFlow {
    border-left: 1px dotted black !important;
    padding-left: 1em !important;
    padding-right: 1em !important;
    margin-top: 1em !important;
    margin-bottom: 1em !important;
    margin-left: 0em !important;
    margin-right: 2em !important;
    white-space: nowrap !important;
    line-height: 1.5 !important;
}

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

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

.boxed {
    margin: 0 !important;
    margin-top: 2em !important;
    padding: 0.25em !important;
    padding-top: 0.3em !important;
    padding-bottom: 0.4em !important;
    background: #f3f3f3 !important;
    box-sizing:border-box !important;
    border-top: 1px solid #99b !important;
    background: hsl(216, 78%, 95%) !important;
    background: -moz-linear-gradient(to bottom left, hsl(0, 0%, 99%) 0%, hsl(216, 62%, 95%) 100%) !important;
    background: -webkit-linear-gradient(to bottom left, hsl(0, 0%, 99%) 0%, hsl(216, 62%, 95%) 100%) !important;
    background: -o-linear-gradient(to bottom left, hsl(0, 0%, 99%) 0%, hsl(216, 62%, 95%) 100%) !important;
    background: -ms-linear-gradient(to bottom left, hsl(0, 0%, 99%) 0%, hsl(216, 62%, 95%) 100%) !important;
    background: linear-gradient(to bottom left, hsl(0, 0%, 99%) 0%, hsl(216, 62%, 95%) 100%) !important;
}

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

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

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

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

.boxed {
    width: 100% !important;
    background-color: inherit !important;
}

.techoutside       { text-decoration: none !important; }

.SAuthorListBox {
    position: static !important;
    float: none !important;
    font-family: 'Fira', sans-serif !important;
    font-weight: 300 !important;
    font-size: 110% !important;
    margin-top: 1rem !important;
    margin-bottom: 2rem !important;
    width: 30rem !important;
    height: auto !important;
}

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

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

/* phone + tablet styles */

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


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

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

        .navsettop, .navsetbottom {
            display: block !important;
            position: absolute !important;
            width: 100% !important;
            height: 4rem !important;
            border: 0 !important;
            background-color: hsl(216, 15%, 70%) !important;
        }

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

        .navright {
            position: absolute !important;
            right: 1.5rem !important;
            margin-top: 1rem !important;
            border: 0px solid red !important;
        }

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

        .tocset {
            display: none !important;
        }

        .tocset table, .tocset tbody, .tocset tr, .tocset td {
            display: inline !important;
        }

        .tocview {
            display: none !important;
        }

        .tocsub .tocsubtitle {
            display: none !important;
        }

        .versionbox {
            top: 4.5rem !important;
            left: 1rem !important; /* same distance as main-column */
            z-index: 11000 !important;
            height: 2em !important;
            font-size: 70% !important;
            font-weight: lighter !important;
        }


        .maincolumn {
            margin-left: 0em !important;
            margin-top: 0rem !important;
            margin-bottom: 0rem !important;
            margin-right: 0rem !important;
        }

    }

}

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



























/* manual-racket.css */














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

/* Monospace: */

.RktIn, .RktRdr, .RktPn, .RktMeta,
.RktMod, .RktKw, .RktVar, .RktSym,
.RktRes, .RktOut, .RktCmt, .RktVal,
.RktBlk, .RktErr {
  font-family: 'Fira-Mono', monospace !important;
  white-space: inherit !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;

}

/* 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 !important;
    color: black !important;
    font-weight: 500 !important;
}


.inheritedlbl {
  font-family: 'Fira', sans-serif !important;
}

.RBackgroundLabelInner {
  font-family: inherit !important;
}

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

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

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

.inheritedlbl {
  font-style: normal !important;
}

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

.RktIn {
  color: #cc6633 !important;
  background-color: #eee !important;
}

.RktInBG {
  background-color: #eee !important;
}


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

.RktRdr {
}

.RktPn {
  color: #843c24 !important;
}

.RktMeta {
  color: black !important;
}

.RktMod {
  color: inherit !important;
}

.RktOpt {
  color: black !important;
}

.RktKw {
  color: black !important;
}

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

.RktVar {
    position: relative !important;
    left: -1px !important; font-style: italic !important;
    color: #444 !important;
}

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


.RktSym {
   color: inherit !important;
}



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

/* 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 !important;
    font-size: 1.50rem !important;
    font-weight: 400 !important;
}

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

.tocset .RktValLink, .tocset .RktStxLink, .tocset .RktModLink, .tocset .RktSym {
    color: black !important;
    font-weight: 400 !important;
    font-size: 0.9rem !important;
}

.tocset td a.tocviewselflink .RktValLink,
.tocset td a.tocviewselflink .RktStxLink,
.tocset td a.tocviewselflink .RktMod,
.tocset td a.tocviewselflink .RktSym {
    font-weight: lighter !important;
    color: white !important;
}


.RktRes {
  color: #0000af !important;
}

.RktOut {
  color: #960096 !important;
}

.RktCmt {
  color: #c2741f !important;
}

.RktVal {
  color: #228b22 !important;
}

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

.together { /* for definitions grouped together in one box */
  width: 100% !important;
  border-top: 2px solid white !important;
}

tbody > tr:first-child > td > .together {
  border-top: 0px !important; /* erase border on first instance of together */
}

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

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

.defmodule {
    font-family: 'Fira-Mono', monospace !important;
    padding: 0.25rem 0.75rem 0.25rem 0.5rem !important;
    margin-bottom: 1rem !important;
    width: 100% !important;
    background-color: #ebf0f4 !important;
}

.defmodule a {
    color: #444 !important;
}


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

.defmodule .RpackageSpec .Smaller,
.defmodule .RpackageSpec .stt {
    font-size: 1rem !important;
}

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

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


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

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

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

.SCodeFlow .Rfilebox {
    margin-left: -1em !important; /* see 17.2 of guide, module languages */
}

.Rfiletitle {
  text-align: right !important;
  background-color: #eee !important;
}

.SCodeFlow .Rfiletitle {
  border-top: 1px dotted gray !important;
  border-right: 1px dotted gray !important;
}


.Rfilename {
  border-top: 0 !important;
  border-right: 0 !important;
  padding-left: 0.5em !important;
  padding-right: 0.5em !important;
  background-color: inherit !important;
}

.Rfilecontent {
  margin: 0.5em !important;
}

.RpackageSpec {
  padding-right: 0 !important;
}

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

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

.RBackgroundLabelInner {
   position: relative !important;
   width: 25em !important;
   left: -25.5em !important;
   top: 0.20rem !important; /* sensitive to monospaced font choice */
   text-align: right !important;
   z-index: 0 !important;
   font-weight: 300 !important;
   font-family: 'Fira-Mono', monospace !important;
   font-size: 0.9rem !important;
    color: gray !important;
}


.RpackageSpec .Smaller {
   font-weight: 300 !important;
   font-family: 'Fira-Mono', monospace !important;
   font-size: 0.9rem !important;
}

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

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

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