/* bookstyle.css
 *
 * Styles and formats specifically for use with the textbooks on the bookshelf 
 * or resources site. For styles and formats that can be used by both books
 * and references, the changes should go in resources.css.
 *
*/

/*--- Define font faces for source code listings in the text books. */

/*
@font-face {
  font-family: BitstreamVera;
  src: url('/pub/fonts/bitstream-vera/VeraMono.ttf');
}

@font-face {
  font-family: BitstreamVera;
  src: url('/pub/fonts/bitstream-vera/VeraMoBd.ttf');
  font-weight: bold;
}

@font-face {
  font-family: BitstreamVera;
  src: url('/pub/fonts/bitstream-vera/VeraMoIt.ttf');
  font-style: italic;
}

@font-face {
  font-family: BitstreamVera;
  src: url('/pub/fonts/bitstream-vera/VeraMoBI.ttf');
  font-weight: bold;
  font-style: italic;
}
*/




/* ---------------------------------------------------------- 
 *  Modify other plugin styles for use in the textbooks.
 * ---------------------------------------------------------- */

/* Format all paragraphs with justified alignment. */ 
p {
  text-align: justify;
}

li {
  text-align: justify;
}

div.exercises div.text {
  text-align: justify;
}



/* Restyle the page TOC */


div.tocfloat {
  font-size: smaller;
  box-shadow: 2px 2px 3px #ddd;  
  border-radius: 0px;
  margin-left: 4ex;
  border: 1px solid #ddd;
  border-radius: 0px 0px 6px 6px;
}

div.tocfloat p {
  background-color: black; /*#d4ccbf;*/ /*#e8e3d0;*/
  /*background-color: #f5f5dc;*/ /*#f3f0dd;*/
  padding: 2px;
  margin: 0px;
  /*margin-bottom: -2px;*/
  color: white;
  background-image: url('/pub/img/navbg.gif');
}

div.tocfloat ul.toc {
  /*line-height: 1.45;*/
  margin-left: 3px;
  margin-right: 3px;  
  margin-bottom: 3px;
  padding-top: 3px;
  padding-bottom: 3px;
  padding-right: 7px;
  background-color: #f8f8f8;  
}

div.tocfloat ul > li {
  margin-bottom: 2px;
}

div.tocfloat ul.toc a:hover,
div.tocfloat ul.toc > li:hover {
  color: black;
  background-color: #ffffcc;
  text-decoration: none;
}


/* General style changes for a textbook group. */

.python {
  font-family: "New Courier";
}

.slideshow div.dualcols {
  margin-top: 6px;
  margin-bottom: 4px;
}

/*.div.dualcols table {
  margin-top: 0px;
}
*/

.slideshow .sourceblock {
  margin-top: 1px;
  margin-bottom: 1px;
}

.sourceblock {
  margin-top: 0px;
}

.slideshow .dualcols td {
  text-align: left;
}

.slideshow .dualcols div.sourceblock {
  background-color: white;
  padding-top: 5px;
  padding-bottom: 5px;
  padding-left: 0px;
  margin-top: 0px;
  margin-right: 0px;
}

.slideshow .sourceblocktext {
  padding-left: 0px;
}

div.sourcefile .sourceblocktext { 
  /*font-size: 12pt;*/

}  

div.sourceblocktext div.python .kw4 {
  letter-spacing: 1px;
}

div.program {
  background-color: #F0F0F0;
  padding: 15px;
  margin-left: 25px;
  margin-right: 20px;
}

.program .sourcefile .sourceblock {
  border: none;
  margin: 0px;
  padding: 0px;    
  border-top: 1px solid #DDD;
}

.program .sourcefile {
	margin-left: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	padding: 0px;
	padding-top: 4px;
}	

.program .sourcefile .toptab {
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 2px;
  margin-right: 2px;
  background-color: #E8E8E8;
  text-align: left;
  padding-left: 1ex;
}



div.reffigure img { max-width: 100%; }

div.reffigure {
  margin: 2ex 0 4ex 0;
}



div.parbox {
  background-color: #F0F0F0;
  padding: 2px;
  padding-left: 0.5ex;
  margin-right: 1ex;
}


/* Define term box. */
div.definebox {
  font-size: 10pt;
  float: right;
  width: 2in;
  background-color: #F3F0DD; /*#f3f2eb;*/
  padding: 4px;
  border: 1px solid #AAA;
  border-radius: 7px;
  margin-top: 1ex;
  margin-bottom: 1ex;
}

div.definebox div.term {
  font-weight: bold;
}


/* --- Style used for the codedoc block */

div.codedoc {
  padding-bottom: 1ex;
  margin-left: 0.5in;
  margin-right: 0.5in;
  margin-bottom: 4ex;
  margin-top: 1ex;
  border-left: 1px dashed #777;
  border-right: 1px dashed #777;
  border-bottom: 1px solid #777;
  border-top: 1px solid #777;  
}

div.codedoc .descp {
  padding: 5px 3px 5px 3px;
  margin: 0px 1ex 0ex 1ex;
}

div.codedoc .label {
  padding: 3px;
  margin: 5px 1ex 0px 1ex;
  font-weight: bold;
}

div.codedoc .syntax {
  margin-bottom: 5px;
  padding: 3px;
}

div.codedoc .syntax pre {
  background-color: #f8f8f8;    
  font-family: 'Roboto Mono', monospace, 'Courier New';
  font-size: 14.5px;
  padding: 4px 15px; 
}

div.codedoc .monospace {
  background-color: #f8f8f8;
  font-family: monospace, 'Courier New';
  font-size: 14.5px;
  padding: 4px 15px; 
  white-space: pre;  
}

div.codedoc .params {
  margin-left: 40px;
  margin-right: 2ex;
}

div.codedoc .params dl {
  margin-bottom: 1ex;
}

div.codedoc .params dl dt {
  font-family: 'Courier New', monospace;
  margin-top: 1ex;
  padding-left: 2px;
}

div.codedoc .params dl dd {
  margin-bottom: 1ex;
}



/* --- Table style used for listing ADT operation time-complexities. */
table.adtlist {
  border: none;
  border: 1px solid black;
  border-spacing: 0px;
  padding: 2px;  
 /* border-collapse: collapse;*/
} 

table.adtlist th {
  padding: 3px 6px 3px 4px;  
  background-color: black;
  color: white;
  /*background-image: url("/pub/img/navbg.gif");*/
}

table.adtlist td {
  padding: 4px 6px 4px 6px;
  border-bottom: 1px solid black;
}

table.adtlist tr:nth-child(odd) {
  background-color: #F3F0DD; 
}

  /*#dee6ef; #91b0d0; #d4ccbf; #dee6ef; #dee7e5; #ffffd7;*/ /*8dc;*/

/* ---- Chapter and Section headings ---- */
  
.chap-sections ul {
  font-weight: normal;
}



table.doctable {
  border-collapse: separate;
  border-spacing: 2px;
  border: 1px solid black;
}


table.doctable td {
  border: none;
  border: 1px solid #A0A0A0; /*black;*/
/*  border-left: 1px solid black;
  border-bottom: 1px solid black;
  */
}

table.doctable td:first-child {
  /* border-left: none;*/
}

table.doctable th { 
  border: none;
  /*border-left: 1px solid white;*/
  padding: 2px 0px 2px 0px;
}

table.doctable th:first-child {
 /* border-left: none; */
}

table.doctable tr:nth-child(odd)
{
  background-color: #F3F0DD;
}

code.syntax {
  font-size: 0.95em;
  font-weight: 300; 
  font-family: SourceCodeFont, monospace;
}

/* ------- Program listing panels -------------*/

div.pgmlisting {
  width: 90%;
}

.pgmlisting .sourcefile .toptab {
  /*background-color: #ffffaa;*/
  /*display: none;*/
}

.pgmlisting .sourceblocktext {
  padding: 0px;
  /*padding-top: 4px;
  padding-bottom: 4px;*/
}

.pgmlisting .sourceblocktext ol {
  /*background-color: #e8e8e8;*/  
  /*border-top: 1px solid #bbb;*/
  background-color: #f6f9fb;
}

.pgmlisting .sourceblocktext ol li {
  border-left: 1px solid #bbb;
  padding-left: 1.0ex;
  background-color: white; /*#f6f9fb;*/
}

/*
.pgmlisting .sourceblocktext ol li:hover {
  background-color: #ffffaa;
}
*/

.pgmlisting .sourceblocktext ol li::marker {
  font-size: 0.9em;
  color: #555;
}

.pgmlisting .sourceblocktext ol li:first-child {
  padding-top: 10px;
}

.pgmlisting .sourceblocktext ol li:last-child {
  padding-bottom: 8px;
}

/*
.pgmlisting .sourceblocktext ol li:nth-child(even) {
  background-color: white;
}
*/

.pgmlisting .fancytab .label {
  display:none;
}