/* dark.css and light.css themes for the site */
@import url("themes/dark.css");

/* basic page layout CSS */
body, table { width: 98%; font-size: 14px; font-family: Tahoma, Arial, Geneva, Consolas, Courier, sans-serif; }
body { height: 100%; }
table { border-collapse: collapse; border-spacing: 0; }
a:link, a:visited { text-decoration: none; }
a:hover { text-decoration: underline; }
pre, code, .code, .api, .dcd { font-size: 12px; }
code, .code, .api { white-space: nowrap; }
sup, sub { font-size: 0.75em; }
sup > code, sub > code, sup > .code, sub > .code { font-size: inherit; }
code > sup, code > sub, .code > sup, .code > sub { font-size: 0.8em; }
noscript { font-size: 10px; }
noscript.srchtml { position: absolute; right: 0.5em; top: 2.5em; }
.code td { padding-right: 1.5em; padding-left: 0.35em; }
div.main { width: 100%; height: 100%; padding: 0; }
font.hdr, div.ops > font, .docu { font-size: 22px; padding: 0.35em 0 0.35em 0; font-weight: bold; }
.toppg { font-size: 10px; }
/* code font */
pre, code, .code, .api, .dcd, div.classtree, div.ftree, div.sntx > input+label { font-family: Consolas, Courier, Arial, Tahoma, serif; }

/* menu */
div.menu { width: 12.85em; position: absolute; top: 0; left: 0; bottom: 0; }
div.menu > div { width: 100%; display: table; }
div.menu div.ftr { font-size: 8px; display: table-cell; height: 2em; text-align: center; padding-right: 2em; padding-top: 0.25em; position: relative; }
div.menu ul { display: table-row; margin: 0; padding: 0; }
/* menu headers */
div.menu ul li > div { padding-left: 1em; font-weight: bold; }
/* menu items */
div.menu li { float: left; display: table-cell; line-height: 2.2em; list-style: none; width: 100%; font-size: 14px; }
div.menu li a { display: block; padding: 0 0 0.4em 1em; font-size: 13px; font-weight: bold; outline: none; text-decoration: none; }
div.menu li a:hover, div.menu li a.current { padding-left: 1em; font-weight: bold; }
/* menu search area (no-js) */
div.menu li .search { height: 0; }
div.menu li .search form { visibility: hidden; }
/* menu search area (javascript enabled) */
div.menu li .search_js { height: 2.6em; }
div.menu li .search_js form { padding-left: 0.5em; padding-top: 0.3em; height: inherit; visibility: visible; }
div.menu li .search_js input { width: 11em; height: 1.5em; border-radius: 0.25em; }
div.menu li .search_js img { position: relative; left: 0.35em; top: 0.2em; width: 1.25em; cursor: pointer; }
li.srhcres { list-style-type: none; }

/* info panel */
div.info { position: absolute; left: 12.85em; top: 0; right: 0; bottom: 3.5em; }
/* info title */
div.ptitle { height: 1.5em; white-space: nowrap; font-size: 30px; font-weight: bold; text-align: center; }
div.ptitle a { text-decoration: none; }
div.content  { font-family: Arial, Tahoma, Geneva, Consolas, Courier, sans-serif; }
div.content > div { height: auto; padding-left: 0.6em; padding-top: 0.25em; padding-right: 1.5em; position: relative; }

/* font here for anything in content */
font.hdr, div.ptitle { font-family: Tahoma, Arial, Geneva, Consolas, Courier, sans-serif; }

/* syntax highlighted html div */
div.sntx { padding: 0.25em; overflow: hidden; margin: 1em 0 1em 0; }
div.sntx > pre { margin: 0.5em 0 0 0; overflow: auto; }
div.sntx > input { cursor: pointer; position: absolute; right: 1.75em; visibility: hidden; }
div.sntx > input+label { font-size: 12px; padding-left: 1.3em; cursor: pointer; background: url(tree/pls.gif) 0 0 no-repeat; }
div.sntx > input:checked+label { background: url(tree/min.gif) 0 0 no-repeat; }
div.sntx > input+label+pre { display: none; }
div.sntx > input:checked+label+pre { display: block; }
div.sntx > input+label:before { content: "show"; }
div.sntx > input:checked+label:before { content: "hide"; }

/* syntax highlight */
div.cpphtml { position: relative; top: -0.3em; padding-left: 0.5em; }
div.cpphtmllines { float: left; position: relative; top: -0.3em; }
div.cpphtmlcmnt { float: left; position: relative; top: -0.3em; width: 1.25em; }
div.cpphtmlcmnt > img { cursor: pointer; position: relative; left: 0.1em; padding-top: 2px; }
div.cpphtmlcmnt > img+br+div { width: 1px; position: relative; left: 0.5em; }
div.cpphtmlcmnt > img+br+div+div { width: 8px; height: 1px; position: relative; left: 0.55em; }
div.cpphtmlcmnt > img.c { padding-top: 3px; margin-top: -1px; padding-bottom: 1px; }
div.cpphtmlcmnt > img+br+div+div.c { border-top: 0; }
div.syn_ex + div.c { position: relative; left: -0.4em; margin-top: -1px; }
/* font keyword syntax highlights */
font.syn_doc { font-style: italic; } /* doxy comments: /** */
font.syn_ins { font-weight: bold; } /* instruction words: if, then */
font.syn_typ { font-weight: bold; } /* type words: int, char */
font.syn_pre { } /* preprocessor: #def */
font.syn_num { } /* numbers: 42 */
font.syn_str { } /* strings: "string" */
font.syn_chr { } /* characters: 'c' */
font.syn_opr { font-weight: bold; } /* operators: ==, + */
font.syn_cmt { font-style: italic; } /* comments: //,/* */
font.syn_dkw { font-style: italic; } /* doxy keywords: @see,@brieff */

/* download (for the table) */
div.dlzip { position: relative; padding-bottom: 1em; }
div.dltbl > div > a, div.dlzip a { text-decoration: none; }
div.dltbl > div > a, div.dlzip > span { display: inline-block; white-space: nowrap; }
div.dltbl > div > span > a > img, div.dlzip > span > a > img { width: 20px; height: 20px; border: 0; position: relative; top: 0.4em; padding-right: 0.25em; }
div.dlzip > div { position: relative; top: 0.5em; }
div.dlzip > div > ul { list-style-type: none; margin: 0; padding: 0; }
div.dlzip > div > ul > li { padding-left: 1.2em; background: url(dot.gif) 0 0 no-repeat; }
div.dlzip > div > ul > li > span { display: inline-block; width: 5.5em; }
div.dlzip > input { position: absolute; top: 0.4em; right: 4em; cursor: pointer; visibility: hidden; }
div.dlzip > input+label { font-size: 12px; position: absolute; top: 0.5em; right: 0.5em; cursor: pointer; background: url(tree/pls.gif) 2.6em 0.2em no-repeat; padding-right: 1.6em; }
div.dlzip > input:checked+label { background: url(tree/min.gif) 2em 0.2em no-repeat; right: 0.6em; }
div.dlzip > input+label+div { display: none; }
div.dlzip > input:checked+label+div { display: block; }
div.dlzip > input+label:after { content: "more"; }
div.dlzip > input:checked+label:after { content: "less"; }
div.dltbl { padding-top: 0.5em; }
div.dltbl > div { padding-bottom: 0.5em; }
div.dltbl > div > span > a { display: inline-block; position: relative; }
div.dltbl > div > span > a > img { padding-right: 0.5em; top: 0.4em; }
div.dltbl > div > span > a+span { padding-left: 0.25em; font-size: 12px; }
div.dltbl > div > span:first-child { display: inline-block; width: 11.25em; height: 1.7em; }
div.ozipprev { padding-top: 0.5em; padding-bottom: 0.5em; }
div.ozipprev > li { list-style: none; display: inline-block; padding-right: 0.5em; }
div.ozipprev > li > div {position: relative; top: -0.2em; width: 0.1em; height: 3px; border-radius: 3px; }

/* options/helper macros */
div.ops { position: relative; }
div.ops > input { position: relative; cursor: pointer; visibility: hidden; }
div.ops > input+label { position: absolute; left: 21.75em; top: 0.9em; font-size: 11px; cursor: pointer; background: url(tree/pls.gif) 0 0.1em no-repeat; padding-left: 1.5em; margin-left: -1.5em; }
div.ops > input+label:after { content: "show"; }
div.ops > input:checked+label { background: url(tree/min.gif) 0 0.1em no-repeat; }
div.ops > input:checked+label:after { content: "hide"; }
div.ops > input+label+ul { display: none; margin-bottom: -1em; position: relative; top: -0.75em;  }
div.ops > input:checked+label+ul { display: block; }
/* 'dot' lists */
div.ops ul, ul.dot { list-style-type: none; margin: 1em; padding: 0; }
div.ops ul > li, ul.dot > li { padding-left: 1.2em; background: url(dot.gif) 0 0.15em no-repeat; }

/* API lists */
div.apilist { left: -3.3em; top: -1em; }
div.apilist > ol > li > label > a+span { font-size: 20px; padding-left: 0.5em; display: inline-block; width: 5em; }
div.apilist > ol > li > label > a+span+span { font-size: 12px; display: block; padding-left: 0.6em; }
div.apilist > ol > li > label { cursor: pointer; display: block; padding-left: 1.1em; }
div.apilist > ol > li { white-space: nowrap; position: relative; left: -2.75em; top: -1em; margin-bottom: 1em;  list-style: none; }
div.apilist > ol > li > input { position: absolute; left: 0.5em; top: 0.15em; margin-left: 0; z-index: 2; cursor: pointer; height: 1em; width: 1em; visibility: hidden; }
/* checkbox label for +/- */
div.apilist > ol > li > input+label { background: url(tree/pls.gif) 0.35em 1.25em no-repeat; padding-left: 1.3em; }
div.apilist > ol > li > input:checked+label { background: url(tree/min.gif) 0.35em 1.25em no-repeat; }
div.apilist > ol > li > input+label+ul { display: none; list-style-type: inherit; margin-left: 1.5em; padding: 0; }
div.apilist > ol > li > input:checked+label+ul { display: block; }
div.apilist > ol > li > input+label+ul > li { margin-left: 1.75em; }
div.apilist > ol > li > input+label+ul > li > ul { list-style-type: none; }
div.apilist > ol > li > input+label+ul > li > ul > li { margin-left: -3.75em; padding-left: 1.25em; background: url(dot.gif) 0 0.15em no-repeat; }
div.apilist > ol > li > input+label+ul > li a { text-decoration: none; }
div.apilist > ol > li > input+label+ul > li > a { }
div.apilist > ol > li > input+label+ul > li > a:hover { }

/* class tree */
div.classtree { white-space: nowrap; }
div.classtree li { position: relative; list-style: none; margin-left: -1px; }
div.classtree li a { padding-left: -0.2em; text-decoration: none; display: block; }
/* checkbox label for +/- */
div.classtree li input { position: absolute; left: 0; margin-left: 0; z-index: 2; cursor: pointer; height: 1em; width: 1em; top: 0; opacity: 0; }
div.classtree li label { cursor: pointer; display: block; background: url(tree/pls.gif) 0 0.25em no-repeat; padding-left: 1.1em; }
div.classtree li input:checked+label { background: url(tree/min.gif) 0 0.25em no-repeat; }
div.classtree li input+label+ol { margin: -1.3em 0 0 -4.25em; padding: 1.3em 0 0 4.35em; }
div.classtree li input+label+ol>li { display: none; margin-left: 1.2em; }
div.classtree li input:checked+label+ol>li { display: block; }
div.classtree li input:checked+label+ol:before { content: "{"; }
div.classtree li input:checked+label+ol:after { content: "}"; }
/*div.classtree li.ns a { background: url(tree/ns.gif) 0 0.2em no-repeat; padding-left: 1.3em; }*/
div.classtree li.ns>input+label>a:after { content: " {}"; }
div.classtree li.ns>input:checked+label>a:after { content: ""; }
div.classtree li.cls a { background: url(tree/cls.gif) 0 0.2em no-repeat; padding-left: 1.3em; }
div.classtree li.strct a { background: url(tree/strct.gif) 0 0.2em no-repeat; padding-left: 1.3em; }
div.classtree li.eval a { background: url(tree/eval.gif) 0 0.2em no-repeat; padding-left: 1.3em; }
div.classtree li.ctor a { background: url(tree/ctor.gif) 0 0.2em no-repeat; padding-left: 1.3em; }
div.classtree li.dtor a { background: url(tree/dtor.gif) 0 0.2em no-repeat; padding-left: 1.3em; }
div.classtree li.fn a { background: url(tree/fn.gif) 0 0.2em no-repeat; padding-left: 1.3em; }
div.classtree li.optr a { background: url(tree/optr.gif) 0 0.2em no-repeat; padding-left: 1.3em; }
div.classtree li.mbr a { background: url(tree/mbr.gif) 0 0.2em no-repeat; padding-left: 1.3em; }
div.classtree li.tdef a { background: url(tree/tdef.gif) 0 0.2em no-repeat; padding-left: 1.3em; }

/* file tree */
div.ftree { white-space: nowrap; }
div.ftree li { position: relative; list-style: none; margin-left: -1px; }
div.ftree li a { padding-left: 1.5em; text-decoration: none; display: block; }
/* file/folder/cxx/hxx/cpp/hpp */
div.ftree li.fldr label { background: url(tree/fldr.gif) 1.5em 0 no-repeat; padding-left: 3em; }
div.ftree li.file a { background: url(tree/file.gif) 0 0 no-repeat; padding-left: 1.5em; }
div.ftree li.cxx a { background: url(tree/cxx.gif) 1.5em 0 no-repeat; padding-left: 3em; }
div.ftree li.hxx a { background: url(tree/hxx.gif) 1.75em 0 no-repeat; padding-left: 3.2em; }
div.ftree li.hpp a { background: url(tree/hpp.gif) 1.6em 0 no-repeat; padding-left: 3em; }
div.ftree li.cpp a { background: url(tree/cpp.gif) 1.4em 0 no-repeat; padding-left: 3em; }
div.ftree li>div { position: absolute; right: 0; text-align: right; }
div.ftree li>div.dt { position: absolute; right: 6em; text-align: right; }
/* checkbox label for +/- */
div.ftree li input { position: absolute; left: 0; margin-left: 0; z-index: 2; cursor: pointer; height: 1em; width: 1em; top: 0; opacity: 0; }
div.ftree li input+ol { background: url(tree/pls.gif) 3.2em 0.2em no-repeat; margin: -1.3em 0 0 -3.1em; padding: 1.3em 0 0 4.35em; }
div.ftree li input:checked+ol { background: url(tree/min.gif) 3.2em 0.2em no-repeat; }
div.ftree li input+ol>li { display: none; margin-left: 1.2em; }
div.ftree li input:checked+ol>li { display: block; }
div.ftree li label { cursor: pointer; display: block; }
div.ftree li input+ol>li { margin-left: 0; }

/* consideration table */
div.consider table { white-space: normal; margin-bottom: 0.5em; }
div.consider table, div.consider table tr, div.consider table tr td { }
div.consider table tr td { padding-right: 1em; }
div.consider table tr td:first-child { width: 6.5em; }
div.consider table tr { vertical-align: top; }
div.consider input { visibility: hidden; opacity: 0; }
div.consider input, div.consider input+label { cursor: pointer; }
div.consider input+label+table tr { display: none; }
div.consider input+label+table tr:first-child { display: table-row; }
div.consider input:checked+label+table tr { display: table-row; }
div.consider input+label { margin-left: -2em; padding-left: 1.35em; }
div.consider input+label { background: url(tree/pls.gif) 0 0 no-repeat; }
div.consider input:checked+label { background: url(tree/min.gif) 0 0 no-repeat; }
div.consider input+label:before { content: "show"; }
div.consider input:checked+label:before { content: "hide"; }

/* class view/help */
.dcd { font-weight: bold; }
.docdiv { width: 100%; }
.chnm { font-size: 16px; font-weight: bold; }
a.chnm:link { text-decoration: none; }
a.chnm:hover { text-decoration: underline; }

/* alert text */
.alert { font-weight: bold; }
/* solutions from getting_started */
.solutions { width: auto; border-spacing: 10px; }
.solutions tr { }
.solutions td { padding-right: 30px; padding-left: 30px; padding-top: 4px; padding-bottom: 4px; }
.solutions td.f { padding-left: 5px; padding-right: 10px; }

.toc ol { padding-left: 20px; list-style-type: lower-alpha; }
.toc ol li > ol { list-style-type: decimal; }
.csec { padding: 0.5em 0 1.5em 0; max-width: 45em; }