@import url("themes/light.css");

*{-webkit-font-smoothing:antialiased;
-webkit-overflow-scrolling:touch;
-webkit-tap-highlight-color:rgba(0,0,0,0);
-webkit-text-size-adjust:none;
-webkit-touch-callout:none;
box-sizing:border-box}

body,html{height:100%}

body{
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    background: var(--cso-background);
    color: var(--cso-foreground);
    font-family: var(--cso-fontFamily);
    font-size: var(--cso-fontSize);
    letter-spacing:0;
    margin-top:0;
    margin-bottom:0;
    margin-left: var(--cso-fontSize);
    margin-right: var(--cso-fontSize);
}


img{max-width:100%}


.normaltext {
    font-size:medium;
}

body.jp { font-family: "MS PGothic", "MS Gothic", meiryo, sans-serif; }

.jp { font-family:  "MS PGothic", "MS Gothic", meiryo, sans-serif; }

.en {  }

/*------------------------------------------------
* HEADER STYLING
*/


/* since using h4 consistently as a barely-marked heading, give it a lot less
* padding than it seems otherwise to be given */



h1.programtext {
    font-size:larger;
    }
h2.programtext {
    font-variant:normal;
    font-size:larger;
    }
    
h2 .programtext {
    font-variant:normal;
    font-size:inherit;
    }

h3.programtext {
    font-size:larger;
    }

.func_shortdesc .programtext { 
    font-size:inherit;
}

/*------------------------------------------------
* ANCHOR COLORING
*/

a:link {
    color: var(--cso-link-foreground);
    text-decoration: none;
}

a:link:hover {
    color: var(--cso-link-hoverForeground);
    text-decoration: underline;
}

a:visited {
    color: var(--cso-link-visitedForeground);
    text-decoration: none;
}

a:active {
    color: var(--cso-link-activeForeground);
    text-decoration: none;
}

a.external {
    background: url(External.png) right center no-repeat;
    padding: 0 12px 0 0;
}

.local_newtab{ }   /* used by builder; use a class so users can overrule */


/*---------------------------------------------------------*/
/* move list items a little way apart */
dd {
    padding-bottom: 10px;
    margin-left:2em;
}

li {
    padding-bottom: 10px;
}

/* pad the first item in any nested list to separate from whatever is
   above it */
li ul li:first-child, li ol li:first-child {
    padding-top: 10px;
}

/* unpad the last item in any nested list to avoid too much spacing */
li ul li:last-child, li ol li:last-child {
    padding-bottom: 0px;
}

li p:last-child {
    margin-bottom:0;
    padding-bottom:0;
}

dt {
    margin:0;
}

dd>dl {
    margin-left:0;
}

.compact dd>dl {
    margin-left:2em;
}
    
body>dl {
    margin-left:0;
}    

/*  default indentation for lists, matches that for class="indented" */
dl {
    padding: 0px;
    margin-left: 2em;
}

ul {
    padding: 0px;
    margin-left: 2em;
}

ol div {
    text-indent:0;
    }

hr {
    border:0;
    clear:both;
    height:1px;
    color: var(--cso-horizontalRule-background);         /* for IE */
    background-color: var(--cso-horizontalRule-background);  /* for Opera and Mozilla */
}

.bordered {
    border: 1px solid #73889D;
}

table.highlit .bordered{
    border: 1px solid #003366;
}

/* -------------------------------------------- */
/* styling on tables
*/
caption {
    caption-side: top;
    margin: 0.5em 0 0.5em 3em;
    color: #003366; /* dark hard azure */

}

table, table.normal , table.borderless table.normal{
    background: #fff; 
    border-collapse: collapse;
    border: 3px solid  #003366;  /* dark hard azure */
    margin: 0.5em 0 0.5em 3em;
    empty-cells:hide;
    }
    
h3 + table, 
h3 + table.highlit, 
h3 + table.borderless, 
h4 + table, 
h4 + table.highlit,
h4 + table.borderless{
    margin-top:1em;
}    

table.borderless table.borderless{
margin:0;
}    

td, .normal  td, table.borderless .normal td, table.borderless .normal td.programtext
{
    background: #fff; 
    border: 1px solid #003366;  /* dark hard azure */
    padding:0.5em;
    text-align:left;
    vertical-align:top;
}

th span.programtext, th a.programtext {font-size:inherit;}

    
td.programtext,  .borderless table.normal td.programtext, table table td.programtext{
    padding-top:0.7em;
    }

th, .normal th , table.borderless .normal th{
    border-top: 3px solid;
    border-bottom: 3px solid ;
    border-left:  1px solid;
    border-right:  1px solid;
    padding:0.5em;
    text-align:left;
    vertical-align:top;
}

.programtext th{
    font-family: var(--cso-monospace-fontFamily);
/*    font-size:small;*/
}

td > ul {
    padding:0; 
    margin-bottom:0;
    margin-top:0;
    }

td h4 {
    padding:0;
    margin:0;
    }

table.borderless {
    border:none;
    }

.borderless td, table.normal table.borderless td{
    border:none;
    
}

.borderless th , table.normal table.borderless  th{
    border:none;
}

.tablestripe {
    background-color:#eeeeee;
    }


.indented {
    padding: 0px;
    margin-left: 2em;
    text-align: left;

}

h4.api {
    font-variant:normal;
    font-family: var(--cso-monospace-fontFamily);
    font-size: 1.4em;
    }

/* If there are two h4.api in a row inside a td, put a space between
 * them (this trumps the "td h4" rule further down). */
td > h4.api+h4.api {
    margin-top:0.5em;
    }


div.indented{
    margin-top:0.5em;
    margin-bottom:0.5em;
    }

.warning, .saas_note {
    font-weight: bold;
    color: var(--cso-userAlert-foreground);
}

.subtler {
    color:gray;
    }

.directive {
    list-style-image: url(directive_bullet.png);
}

.normal {
    list-style-image: none;
}

.commandname {
    font-weight: bold;
}
.programtext {
    font-family: var(--cso-monospace-fontFamily);
/*    vertical-align:  text-bottom; */
}

.programtext  i {
    font-family: var(--cso-fontFamily);
}

.commandline  i {
    font-family: var(--cso-fontFamily);
}    

div.programtext {
    margin-top:0.5em;
}

dd.programtext {
    margin-top:0.2em;
}

/*-------------------------------------
*
* Commands for a dl that highlights its dt attribute with color
*/

.highlit > dt {
    /* font-weight: bold; */
    color:#34395e;
}


/* 
* commands for an equivalent table 
*/

table.highlit {
    border:0;
    margin:0.5em 2em ;
}

    
    
table.highlit th.programtext{
    font-family: var(--cso-monospace-fontFamily);
}


table.highlit th.commandname{
    font-weight: bold;
}

table.highlit th.tabhead {
    color:black;
    background-color:white;

    }

    
    
table.highlit td, table.highlit th, table.highlit td.tabhead, {
    border:0;
    padding:1em 0.5em;
    border:0;
    }

table.highlit td.programtext, table.highlit td.literal_arg {
    border:0;
    padding:0.85em 0.5em 0.15em 0.5em;
    border:0;
    }

/*
* Commands for a dl that highlights its dt attribute with bolding
*/
.weighted > dt {
    font-style: italic;
}


/* ---------------------------------------
* 
*   declarations for horizontal menus using <ul class="horizmenu"> */

ul.horizmenu{
    text-indent: 0pt;
    margin: 0px;
    padding: 0px;
    margin-bottom:1em;
}


ul.horizmenu  li
{    display: inline;
    float:left;
    list-style-type: none;
    padding-right: 0.5em;
    padding-bottom: 0;
    margin-bottom:1em;
}

ul.horizmenu  li + li {
    padding-left: 0.5em;
    border-left: 1px solid;
}

ul.horizmenu+*{
 
 clear:both;
 }

   /* just make sure horizmenus look ok under h3s */
h3 + .horizmenu {
margin-top:1em;
}
/*.horizmenu li:before{
    content: "| ";
}
.horizmenu li:first-child:before { 
    content: ""; 
}
*/


/* declaration for a dl that renders it "compactly" since
* <dl compact> is deprecated, and not rendered by some browsers anyway
* borrowed heavily from http://www.moronicbajebus.com/playground/cssplay/dl/
* starts the description straight after the term, then goes on to
* the next line and assumes a fixed margin.
*/
dl.compact{ 
    padding: 0; 
} 


.compact > dt{ 
    float: left;
    clear:both;
    padding: 0 0.5em 0 0;

} 

.compact > dt.programtext{ 
    margin-top:0.2em;
} 

.compact > dd{ 
    padding-bottom: 10px;
    margin-left:0em;

    } 

/* -----------------------------
* like dl.compact, except 
* has a small, fixed width for the terms
*
*/
dl.fixed{ 
    padding: 0; 
    margin:0;
    text-indent:0;
} 


.fixed >  dt{ 
    float: left; 
    width:5em;
    padding: 0;
    margin: 0 0 0 3em; 
/*    font-weight:normal; */
/*    font-style:italic;  */
    clear:both;


/*    border: solid 1px; */  /*this line for debugging only */
} 


    
.fixed > dd{ 
    padding: 0 0 10px 0;
    margin-left:8em;
        /*border-bottom: solid 1px;*/
/*border: solid 1px;8?   /*this line for debugging only */
    } 

/********************************************
* a table-type dl
* where dl and dt are aligned in two columns
*/

dl.tabular{
/*float:left;*/
    padding:0;
    margin: 0 0 0 2em;
    width:25em;
}

dl.tabular dt {
    clear:left;
    float:left;
    display:block;
    margin:0;
    padding: 0;
    width:4em;
    }

dl.tabular dd {
    float:left;
    margin:0;
    padding:0;
    width:20em;
    }
    


/* avoid unpleasant side effects of floats */
dl + * {
clear:left;
}
/* ----------------------------------------------------------
* declaration for a list with no bullets or indenting (so, effectively equivalent
* to a paragraph with a bunch of line breaks, except inherits other list formatting (eg 
* line spacing) and preserves structural intent. */

.nakedlist {
    margin: 0.5em 0 0 0;
    padding: 0;
    list-style-type: none;
}

/*----------------------------------------------------
*/
hr.thickline {
clear:both;
    height:4px;
    }

hr.dotted {border-top-width: 1px;border-top-style: dotted;height:1px; border-bottom-width:0;background-color: #ffffff;}

hr.double {border-top-width: 1px;border-top-style: solid;height:3px; border-bottom-width:1px;border-bottom-style: solid;background-color: #ffffff;}

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

.summary{
    padding: 3px;
    margin:0 0 1em 0;
    /*margin-left: 2em;
    margin-right: 2em;*/
    text-align: left;
    font-style: normal;
    font-weight:600;
    border: 2px solid #6e7d8c;
    background-color:#fcfdfd;
    width:98%
    }


div.summary{
    padding:0;  /*if using a summary div to hold multiple paragraphs etc,
             * let any padding come from them*/
    }

.summary p {
    padding: 3px;
    margin:0;
    }

.scrollable {
    overflow-x: auto;
    white-space: nowrap;
    display:block;
    border:1px solid #999999;  /* "gray" */
    max-width:80vw;
}

/*-----------------------------------------
* styling for code examples
*-------------------------------------------*/
.codeblock {
    display:block;
    padding: 0;
    margin: 0.5em 0 0.5em 2em;
    /*width:40em;*/
    background-color: #efefef;
    color:#525252;
    font-family: var(--cso-monospace-fontFamily);
    border:1px solid #525252;
    width:95%;
    }

.codeblock pre {
    overflow-x: auto;
}

.codeblock > * {
    margin: 0.5em 1em;
    }

td.codeblock, td .codeblock {
    margin:0.5em;
    border:1px solid #525252;
    }

.borderless td.codeblock {
    border:1px solid #525252;
    }
    
h4 + .codeblock, h3 + .codeblock, h4 + ul.nakedlist {

    margin-top:1.5em;
}    
    
.ccodeindent{     
    
    padding:0;
    margin-left:2em;
    }




/* maybe it was dumb to name it ccodeindent in the first place
* then again, maybe one day I will want different indents anyway
*/ 
.scodeindent{
    
    padding:0;
    margin-left:4em;
    text-indent:-2em;
    }

/* use when parameter list so long that it needs to run over */

.paramoverrun{
    margin-left: 9em;
    }


/* used to mimic CodeSurfer's syntax highlighting for program points in
* the query-results set
*/

.queryresult{
    color:red;
    }
    

/*  Correspond to CodeSonar web gui styles */

.severity_none{
    background: var(--cso-severityNone-background);
}

.severity_status{
    background: var(--cso-severityStatus-background);
}

.severity_remark{
    background: var(--cso-severityRemark-background);
}

.severity_warning{
    background: var(--cso-severityWarning-background);
}

.severity_error{
    background: var(--cso-severityError-background);
}

.severity_internal_error{
    background: var(--cso-severityInternalError-background);
}

.severity_retracted{
    background: var(--cso-severityRetracted-background);
}

.codehighlit{
    background-color: #FFCCFF;
    font-weight:bold;
}
.analyzer3p{
    background-color: #FFFF99;
    font-weight:bold;
}

.codecomment{
    margin-left:4em;
    font-style: var(--cso-listingComment-fontStyle);
    color:#336699;       /* Dark Dull Azure */
    /* change to  --cso-listingComment-foreground? */
    }
    
span.codecomment{
margin-left:0;
}



.codestring{
    color:#993366;       /* Dark Dull Pink */
}

.commandline{
    font-family: var(--cso-monospace-fontFamily);
    padding: 5px;
    padding-left:2em;
    margin-left: 2em;
    /*width:40em;*/
    background-color: #e7ede1;
    width:95%;
    }
    
dt.commandline{
    padding:5px 0;
    margin:0;
    }

td .commandline{
    width:inherit;
    padding:5px;
    margin:0;
    margin-bottom:5px;
    }    

td > span.commandline{
    display: inline-block;
    margin-top:5px;
    margin-bottom:5px;
    }

table.tight tr td .commandline{
    padding-top:1px;
    padding-bottom:1px;
    }

.shrunken {
    font-size: x-small;
    }    
    
    /* used for typesetting function documentation */
    
.funcdescs > dd {
    margin-bottom:1em;
    }    



    
dl.arglist {
    padding:0;
}    
    
.arglist > dt {
    font-weight:bold;
    float: left;
    clear:both;
    padding: 0 0.5em 0 0;

    }

dl.arglist {
    margin-bottom:0.5em;
    }    
    
.arglist > dt:after {
    content: " : ";    
    }
    
    
dl.arglist > dd {


    }
    
.argname {
    font-weight: bold;
    }
        
/* styling for lists that appear in function argument descriptions
* based on horizmenu, but separated out for two reasons
* 1) the required syntax is more constrained
* 2) may go off and style horizmenus excitingly later, but don't want the
*    function definitions to follow
*
* would be much much much nicer to do this as a UL one day, when user agents behave better
*/
span.barul:before{
    content: " [ ";
}
span.barul:after{
    content: " ] ";
}

span.barli + span.barli:before {
    content: " | ";
}


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

/* nicely marks targets inside pages */
*:target { background-color: #00ff00; /* 00ff00 = lime green */
       color:black;}   
/*----------------------------------*/
/* force inline images to behave nicely */

img.intext {
    vertical-align:middle;
}

/*----------------------------------------------*/
/* use when writing about keyboard keys */

.key {
    font-variant:small-caps;
    border:1px solid black;
    }
    
/*--------------------------------------------*/    
/* API documentation              
* try to standardize this
* while keeping on the good side of all browsers.
*/

div.api_class, div.api_fn, div.api_type, div.api_var{
    width:80%;
    margin-top:1em;
    margin-bottom:1em;
}

div.api_class{
    border:1px solid #a8b1ba;
}

div.api_type{
    border:2px solid #a8b1ba;
}


div.api_type div.synopsis{
    background-color:#a8b1ba;
    font-weight:bold;
    margin-left:0;
    padding-left:0;
    color:#161f28;
}
    
.api_class .label {
    font-weight:bold;
}

.api_class >div , .api_fn >div{
    margin-left:5px;
    padding-bottom:0.3em;
    padding-top:0.3em;
    }    

div.name{
    font-family:  var(--cso-fontFamily);
    margin-left:0;
    font-size:smaller;
    padding:5px;
}

.api_class div.name{
    background-color:#34495e;
    color:#e1e5e7;
}

.api_class div.name .label{
    color:#e1e5e7;
    margin-left:5px;
}

div.name .label{
    font-weight:normal;
}

div.name .value{
    font-weight:bold;
}

div.value {
    margin-left:50px;
    margin-top:0;
    padding:0;
}

.api_class .child_name, .api_class .attribute_name {
    font-weight:bold;
}

.value ul.nakedlist, .arguments ul.nakedlist{
    margin:0;
    padding:0;
}
    
.value ul.nakedlist li{
    margin:0;
    padding:0;
}
    
.value dl.highlit {
    margin:0;
    padding:0;
}    

.api_fn{
    border:1px solid #34395e;
    margin-top:1em;
}

.api_fn div.name{
    background-color:#34395e;
    color:#e1e5e7;
}

.api_fn div.name .label{
    color:#e1e5e7;
}

div.synopsis {
    font-family: var(--cso-monospace-fontFamily);
    font-size: smaller;
    margin-left:0;
    padding-left:5px;
}

.api_fn div.synopsis{
    background-color:#e1e5e7;
}





.synopsis .func_name , .synopsis .type_name{
    font-weight:bold;
}

.type_type{ } 


table.funclist {
margin-left:0;
}
table.funclist td{
padding:0.3em 0.5em;
margin:0;
}

div.func_shortdesc{
    margin-top:0.5em;
    font-size:smaller;
}



.arg_name{
    font-style:italic;
    font-weight:normal;

}
    


    
    .notes{}
    .attributes{}
    .superclass{}
    .subclasses{}
    .children{}
    .description{}
    .arg_type{}
    .return_val{}
    .arguments{}
    .child_type{}
    .attribute_type{}
    
    div.description .func_name, div.build_option .option_name{
        font-family:  var(--cso-fontFamily);
        font-size:small;
        }
        
    div.description table{
        margin-left:0;
        }    
    
/*-------------------------------------------*/
/* build option and preference documentation profits from the 
 * same kind of markup as API components  */

.build_option, .preference{
    border:2px solid #e1e5e7;
    margin-top:1em;
}

.build_option div.synopsis{
    background-color:#e1e5e7;
    font-weight:bold;
    /* font-size:medium;*/
    margin-left:0;
    
    }


.preference div.synopsis {
    background-color:#e1e5e7;
    font-weight:bold;
    /* font-size:medium;*/
    margin-left:0;
    color: #34395e;
    }


.synopsis .literal_arg{
font-style:italic;
}
.synopsis .option_name, .synopsis .preference_name{
    font-family:  var(--cso-fontFamily);
    color: #34395e;
}



.arg_var{
font-style:italic;

}

.arguments .literal_arg, .default_val .literal_arg, .notes .literal_arg{
    font-family: var(--cso-monospace-fontFamily);
    font-style:italic;
    font-size:smaller;
    padding-top:0.2em;
    }


.build_option .default_val{}
.build_option .purpose{}
.build_option .example{}

.build_option > div{
    margin-left:30px;
    padding-bottom:0.3em;
    padding-top:0.3em;
    clear:both;
}

.build_option div.label{
    float:left;
    color:#5e3447;
    padding-top:0;
    width:60px;
}

.build_option div.value{
    padding-top:0;
    margin-left:70px;
}
    
.build_option div p {
    padding:0;
    margin-top:0;
    margin-bottom:1em;
}
/*--------------------------------------------*/
/* markup for glossary entries */

div.glossary_entry{
    margin-top:1em;
}

.glossary_entry .glossary_term{
    font-weight: bold;
}

.glossary_entry div.gloss{
    margin-left:4em;
}

.gloss p {
    padding:0;
    margin-top:0.5em;
    margin-bottom:0;
}
    
.gloss li {
    margin-top:0;
    padding:0;
    margin-bottom:1em;
}

.gloss ul {
    margin-top:0;
    padding:0;
}
    
/*--------------------------------------------*/
/* markup for FAQ entries */

div.faq_entry{
    margin-top:1em;
}

.faq_entry .faq_q{
    color:#34395e;
}

.faq_entry div.faq_a{
    margin-left:4em;
}

.faq_a p {
    padding:0;
    margin-top:0;
    margin-bottom:1em;
}
/*------------------*/

.oneline {
    white-space:nowrap;
}

.nb {
    list-style-image: url(nb.gif);
}

/*------------------------------------------------
* parameter list styling for C API
*
*/
.paramlist {
    margin:  0 0 0 10em ;
    padding: 0;
    list-style-type: none;
}

.paramlist li{
    margin:0;
    padding:0;
}

table  .paramlist {
    margin-left:2em;
}

ol ol {
    list-style-type:lower-alpha;
}
 
ol ol ol{
    list-style-type:lower-roman;
}
 

/*    tight tables
* have little spacing
*/

tr.tight td  , table.tight tr th, table.tight tr th.programtext, table.tight tr td, table.tight tr td.programtext, tr.tight td.programtext,
tr.normal.tight td  , table.normal.tight tr td{
    vertical-align:text-bottom;
    padding: 1px 5px 1px 1px;
}
 
tr.tight th  , table.tight tr th, tr.tight th.programtext ,
tr.normal.tight th  , table.normal.tight tr th{
    padding-left:1px;
}

table.tight {margin-left:0;margin-top:0}

.tight h4 {margin-top:5px}

h3 + table.tight, h4 + table.tight { margin-top:20px} 

.nakedlist.tight  , .nakedlist.programtext.tight {margin-top:0}  
.nakedlist.tight li , .nakedlist.programtext.tight li{padding:0}  
table.tight tr td ul.nakedlist {padding:0}  
table.tight tr td ul.nakedlist li {padding:0}  

 /*--------------------
 /* scheme and c doc colors - distinguish in shared documentation
 * 
 */
 
.c_doc {
    background-color:#d1c5ca
}

div.description table.api_variants , table.api_variants { 
    background-color:#d1c5ca;
    border:none;
    margin-left:0.5em;margin-top:0;
    font-size:smaller;
}

table.api_variants tr td, table.api_variants tr td.programtext{
    font-size:inherit;
    background-color:#d1c5ca;
    border:none;
    vertical-align:text-bottom;
    padding: 1px 5px 1px 1px;
}

.api_class div.name .c_doc{
    color:black;
}
 
.scheme_doc {
    background-color:#EEEEFF
}

.api_class div.name .scheme_doc{
    color:black;
}

.highlight {
    color:#5e3449;
}

div.topmenu {
    font-size:smaller;
}
    
/* ------------these classes  are used for postprocessing, not styling----*/
.c_module{}
.swyx_module{}
.csox_module{}
.viz_module{}

.http_api{}
.no_http_api{}
.swagger_link{}

.bits_32{}
.bits_64{}

.ix_only_sys{}
.linux_only_sys{}
.osx_only_sys{}
.win_only_sys{}
.solaris_only_sys{}
.not_ix_only_sys{}
.not_linux_only_sys{}
.not_osx_only_sys{}
.not_win_only_sys{}
.not_solaris_only_sys{}

/*  internationalization styling */
.borderimg {
    border:1px solid orange;
}

tr.lang_table td {
    border:none;
}
a.flag_link{
    text-decoration: none;
}
#current_flag{
    cursor: pointer;
    display: inline_block;
    padding: 0;
    margin:0;
    /* inline-block hack for IE7 */
    zoom: 1;
    *display: inline;
}

/*#flagimg li{
  display: inline-block;
  padding: 0;
  margin:0;
}*/

div.content_tag, span.content_tag{
    display:inline;
    padding:0 1em;
    margin-right: 5px;
    background-color:#d1d1d1;
    text-align:center;
}

.content_tag a {
    text-decoration:none;
    color:var(--cso-foreground);
    font-weight:500;
    font-size:var(--cso-small-fontSize);
}

.content_tag a:link:hover {
    text-decoration:none;
}


#langmenu{
    padding: 0;
    margin:0;
}

.hideLangMenu{
    display: none;  
}

.showLangMenu{
    position: absolute;    
}

/*-----------------------crossover point--------------*/
