
:root {
    --hpad: 1rem;
    --frame_weight: normal;
}


html, body, div {
    margin: 0;
    padding: 0;
}

body {
    overflow: hidden;
}

#title {
    color: var(--frame_text_color);
    background-color: var(--frame_background_color);
    display: flex;
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
    font-family: var(--sans-serif);
    font-size: 1.4rem;
    font-weight: var(--frame_weight);
    padding: .4rem 1rem;
    overflow: hidden;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
/*    text-shadow: 1px 1px 2px black; */
}

#middle {
    display: flex;
    padding: 0;
    margin: 0;
    border: 0;
    align-content: stretch;
    overflow: hidden;
}

/* In plain/article, #content is the only child of #middle and must
   fill the full width.  In book, #content shares #middle with #toc
   and #resizer, so this rule must not apply. */
#content:only-child {
    flex: 1;
}


#navtools, #searchtools {
    display: inline;
    vertical-align: middle;
    margin: 0;
    padding: 0;
    border: 0;
    white-space: nowrap;
}

#searchtools {
}


#nav {
    color: var(--nav_text_color);
    background-color: var(--nav_background_color);
    font-family: var(--sans-serif);
    height: 1.4rem;
    padding: .35rem 1rem;
    font-size: .9rem;
    line-height: 1.2rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid black;
    font-weight: var(--frame_weight);
}

.navb {
    padding: 0 .25em 0 .25em;
    cursor: pointer;
    user-select: none;
}

.navb:first-child {
    padding: 0 .25em 0 0;
}

#search_input {
    width: 25vw;
    max-width: 12rem;
    height: .9rem;
    font-family: var(--sans-serif);
    font-size: .8rem;
    margin: 0;
    border: 1px solid black;
    padding-left: 0.25rem;
}

#search_input:focus {
    outline-width: 0;
}


#search_box {
    display: inline-block;
    margin: 0;
    padding: 0;
    border: 0;
    line-height: 0;
}

.search_target {
    background-color: rgb(95%,95%,60%);
    padding: 0 .25em 0 .25em;
    border: 1px solid rgb(70%,70%,70%)
}

/*
#help {
    padding-top: .2rem 0 .15rem 0;
}
*/

#text, #help_page, #search_page {
    color: black;
    background-color: white;
    padding: 0 1.5rem 1.5rem 1.5rem;
    overflow: auto;
    height: 100%;
}


#status {
    color: var(--frame_text_color);
    background-color: var(--frame_background_color);
    font-family: var(--sans-serif);
    font-size: .8rem;
    font-weight: var(--frame_weight);
    padding: .25rem 0 .35rem 0;
    line-height: 1.2rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
/*    text-shadow: 1px 1px 2px black; */
}

.spacer {
    display: inline-block;
    width: .7em;
}


.endspace {
   height: 50vh;
}

.tight {
    border: 0;
    margin: 0;
    padding: .1em 0 .1em 0;
}


#xtoc {
    font-family: var(--sans-serif);
    width: auto;
    cursor: default;
    float: left;
    white-space: nowrap;
    position: absolute;
    overflow: auto;
    overflow-x: hidden;
    background-color: lightyellow;
    padding: 0;
    line-height: 1.5;
    font-size: .9rem;
}

.navlink {
    cursor: pointer;
}

.navlink:hover .section-title {
    text-decoration: underline;
    text-underline-offset: 0.2em;
    text-decoration-thickness: 1px;
}

#slider {
    z-index: 90;
    overflow: visible;
}

#pagetoc {
    font-family: var(--sans-serif);
    line-height: 1.2;
}

#resizer {
     border-width: 0px 1px 0px 1px;
     border-color: transparent black transparent black;
     border-style: solid;
     background-color: var(--nav_background_color);
     height: 100%;
     width: 4px;
     cursor: e-resize;
 }

#toc { 
    background-color: white;
    font-family: var(--sans-serif);
    font-size: .8rem;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    white-space: nowrap;
    position: relative;
    padding: 1rem 0 0 1.8rem;

    box-sizing: border-box;
}

#toc, #toc_items ul, #toc_items ul li {
  list-style-type: none;
}

#toc ul {
    list-style-type: none;
    padding-left: .5rem;
    margin: 0;
}

#toc .caret {
    padding-left: .65rem;
}

#toc li {
    line-height: 1.5;
}

.toctitle {
    font-family: var(--sans-serif);
    font-size: 1.2rem;
    margin-top: 1rem;
}    

.toc { 
    font-family: var(--sans-serif);
    font-size: 1.1rem;
    margin-top: .1rem;
}

.tocnumber{
    padding-right: .75rem;
}
    
.tab0 { padding-left: 1rem; }
.tab1 { padding-left: 2rem; }
.tab2 { padding-left: 3rem; }
.tab3 { padding-left: 4rem; }
.tab4 { padding-left: 5rem; }
.tab5 { padding-left: 6rem; }
.tab6 { padding-left: 7rem; }
.tab7 { padding-left: 8rem; }
.tab8 { padding-left: 9rem; }
.tab9 { padding-left: 10rem; }

/*
#toc ul {
    padding-left: .5rem; 
    line-height: 1.5;
}

#toc li::marker {
    font-size: 0px;
}

#toc_items {
  margin: 0;
  padding: 1em;
  line-height: 1.4;
}

#toc_items li {
    padding-left: 0;
}

#toc_items ul .unnumbered {
    padding-left: 0;
}

*/

.caret {
  cursor: pointer;
  user-select: none;
  font-size: .8rem;
  padding: 0 .3rem 0 0;
  vertical-align: middle;
  /*
  color: gray;

  */
  font-weight: bold;
}

.caret::before {
    display: inline-block;
    content:  "\25B7";
    transform: translateY(-.4ex);
}

.caret-down::before {
    transform: translateY(-.2ex) rotate(90deg);
}

.nested {
  display: none;
}

.active {
  display: block;
} 

.highlight {
    font-weight: bold;
    padding: 0;
    margin: 0;
}

.highlight_parent {
    background-color: var(--nav_background_color);
    border: solid 1px var(--nav_background_color);
}                       


.section-title {
    padding: 0;
    border: 0;
}

.caret {
    margin-left: -1.75rem;
    border: 0;
}

.section-number {
    padding-right: .3rem;
}

#pagecache {
    display: none;
}

#search_page {
    background-color: var(--nav_background_color);
}

.search_result {
    border: solid 1px black;
    padding: .75rem;
    margin: 1rem 0 1rem 0;
    color: black;
    text-decoration: none;
    background-color: white;
    line-height: 1.3;
    display: block;
}

.search_result:hover {
    text-decoration: none;
}

.search_result p, search_result div {
    margin: 0;
    padding: 0;
}



#text {
    background-color: white;
    padding-bottom: 2rem;
}


#search_clear_input_box {
    display: inline-block;
    width: 1.5rem;
    border: 0;
    cursor: pointer;
    user-select: none;
}

#fit {
    margin: 0 .25em 0 .5em;
    user-select: none;
}

#linkshow {
    margin: 0 0 0 .25em;
}

input[type="checkbox"] {
    cursor: pointer;
    user-select: none;
}

label {
    user-select: none;
}

label[for=linkshow_check], label[for=fit_check] {
    cursor: pointer;
}

.displayed_link {
    /* background-color: var(--nav_background_color); */
/*    background-color: rgb(209,255,127, .5); */
    background-color: rgb(70%,80%,100%,.5);
    text-decoration: none; /* underline; */
    color: black;
/*    padding: 0 .25em 0 .25em; */
}

.undisplayed_link {
    background-color: transparent;
    color: var(--link-blue);
    text-decoration: none;
}


.footeritem {
  padding: 0 .75em;
  white-space: nowrap;
}            

.no_spacing * {
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: middle;
}

/*
p::before {
    content: "[" attr(id) "] ";
}
*/
