/* Main layout. */

html,
body,
#xac_body
{
  border: none;
  height: 100%;
  margin: 0;
  padding: 0;
  width: 100%;
  background: #f9f9f9;
  font-size: small;
  font-family: 'Bitstream Vera Sans','DejaVu Sans','Lucida Sans Unicode','Lucida Grande','Verdana',sans-serif;
}

.xac_table,
.xac_row,
.xac_cell
{
  height: inherit;
  vertical-align: top;
}

.xac_table
{
  display: table;
  width: inherit;
}

.xac_row
{
  display: table-row;
}

.xac_cell
{
  display: table-cell;
}

.xac_low_row,
#xac_bottom,
#xac_top
{
  height: 0; /* 0 allows the content area to fill the page. */
  width: 100%;
/*  display: block;*/
}

#xac_content_area
{
  width: 100%;
  padding: 0 2em;
}

#xac_content
{
  margin: 0 auto;
  max-width: 100ch;
  min-width: 40ch;
}

/*
  Abuse the direction property to keep the nav bar on the right side in the
  browser while placing the table of contents before the content in the HTML.
  This is mostly for text-based browsers such as lynx and elinks.
*/
#xac_middle > .xac_table
{
  direction: rtl;
}

#xac_middle > .xac_table > .xac_row > .xac_cell
{
  direction: ltr;
}



/* Content Area. */
#xac_content,
#xac_content > p
{
  text-align: justify;
}

#xac_content #xac_title_block
{
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  width: 100%;
}

#xac_content #xac_title_block .xac_cell
{
  vertical-align: top;
}

#xac_title > h1
{
  color: #d11921;
  margin: 0;
  padding: 0;
}

#xac_content  #xac_date_authors
{
/*  font-size: smaller;*/
  padding: 0 0 0 1em;
  margin: 0;
  text-align: right;
}

#xac_date
{
  white-space: nowrap;
}

#xac_content #xac_authors
{
  list-style-type: none;
  padding: 0;
  margin: 0;
}

#xac_content #xac_authors > li
{
  display: inline-block;
  white-space: nowrap;
}

#xac_content #xac_authors > li:after
{
  content: ', ';
}

#xac_content #xac_authors > li:last-child:after
{
  content: '';
}


#xac_content > div > h2,
.xac_side_panel > h1
{
  background: #d11921;
  border-bottom: solid #000000 1px;
  border-right: solid #000000 1px;
  color: #ffffff;

  display: inline-block;
  min-width: 25%;
  text-align: center;
  font-size: larger;
}

#xac_content > div > h2
{
  border-radius: 20px 0 20px 0;
  margin: 0 0 0 -20px;
  padding: 0.4em 20px;
  text-align: center;
}

#xac_content > div > h2 > a
{
  color: inherit;
  text-decoration: none;
}



/*
#xac_content .level3 h3:before
{
  content: "✘ ";
  color: #a7141a;
}

#xac_content .level3 h3:after
{
  content: "";
  color: #a7141a;
}*/

#xac_content h3,
#xac_content h3 > a
{
  color: #000000;
  margin: 0;
  padding: 0;
}

#xac_content .level4 h4:before
{
  content: "✘ ";
  color: #a7141a;
}


#xac_content h4,
#xac_content h4 > a
{
  color: #000000;
  margin: 1em 0 0 0;
  padding: 0;
  /*
  color: #a7141a;
  text-decoration: underline;
  */
}

#xac_content > div
{
  background: #ffffff;
  border: solid #000000 1px;
  border-radius: 20px;
  padding: 0 20px 20px 20px;
  margin: 20px 0;
  box-shadow: 2px 2px #000000;
}


#xac_content .level3
{
  margin-top: 1em;
  margin-bottom: 3em;
}

#xac_content p + .level3
{
  margin-top: 3em;
}

#xac_content .level3 p:first-of-type
{
  margin-top: 0.5em;
}

#xac_content .level3:last-of-type
{
  margin-bottom: 0;
}

#xac_content .level4,
#xac_content .level5,
#xac_content .level6,
#xac_content .level7
{
/*  margin: 2em 2em 4em 2em;*/
  margin: 0em 0em 2em 0em;
}


#xac_content .level4:last-child,
#xac_content .level5:last-child,
#xac_content .level6:last-child,
#xac_content .level7:last-child
{
  margin-bottom: 0;
}

#xac_content > div > *:last-child
{
  margin-bottom: 0;
}


#xac_content a,
.url
{
  color: #a7141a;
  font-weight: bold;
  text-decoration: none;
}

#xac_content > div.footnotes
{
  padding: 0 20px;
}

.footnotes > ol
{
  margin: 0;
}

.footnotes > hr
{
  display: none;
}

#xac_content img
{
  margin: 1em;
  max-width: 100%;
}


#xac_content code
{
  font-family: 'Bitstream Vera Sans Mono','DejaVu Sans Mono','Lucida Console','Monaco','Courier New','Courier',monospace;
  font-weight: bold;
}


#xac_content blockquote
{
  border: solid #000000 1px;
  border-radius: 10px;
  padding: 10px;
  padding-bottom: 0;
  background: #f8f8f8;
}





#xac_top,
#xac_bottom
{
  background: #000000;
  color: #f9f9f9;
/*  padding: 10px;*/
}

#xac_side
{
  background: #000000;
  color: #f9f9f9;
  padding: 10px;
  padding-top: 0;
  white-space: nowrap;
}

.xac_side_panel
{
  background: #ffffff;
  border-radius: 10px;
  color: #000000;
  margin: 0 0 1em 0;
  padding: 0;
  max-height: 20em;
  overflow: auto;
}

.xac_side_panel:last-child
{
  margin-bottom: 0;
}

.xac_side_panel > h1
{
  border-radius: 10px 0 10px 0;
  margin: 0;
  padding: 0.4em 10px;
  white-space: nowrap;
  font-size: 100%;
}

.xac_side_panel ul
{
  margin: 0;
  padding: 0.25em 1em 0.25em 1.5em;
}

.xac_side_panel > ul
{
  margin: 0;
  padding: 0.25em 1em 1em 2em;
}

.xac_side_panel a
{
  color: #000000;
  text-decoration: none;
}

.xac_side_panel a:hover
{
  color: #a7141a;
}



/* Navigation Panels. */
.xac_nav_panel
{
  font-family: 'Bitstream Vera Sans Mono','DejaVu Sans Mono','Lucida Console','Monaco','Courier New','Courier',monospace;
  white-space: pre;
/*  max-height: 20em;
  overflow-y: auto;
  overflow-x: hidden;*/
}

.xac_nav_panel ul
{
  list-style-type: none;
  padding: 0 2em 0.5em 1em;
}

#xac_cwd_nav_panel > h1,
#xac_parent_nav_panel > h1
{
  border: none;
  color: black;
  background: white;
  margin-bottom: 0;
  text-align: left;
}

#xac_cwd_nav_panel > h1 > a,
#xac_parent_nav_panel > h1 > a
{
  color: #a7141a;
}






/* Top. */


#xac_top .xac_cell
{
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

#xac_top img
{
  background: #d11921;
  border: none;
  padding: 0;
  margin: 0.25em 10px;
}


#xac_top ul
{
  color: #d13e44;
  display: block;
  font-size: larger;
  font-weight: bold;
  list-style-type: none;
  margin: 0 20px;
  padding: 0;
  text-align: right;
}

#xac_top ul > li
{
  display: inline-block;
  margin: 0 0 0 2em;
  padding: 0;
  white-space: nowrap;
}


#xac_top ul > li > a,
#xac_top ul > li > a:link,
#xac_top ul > li > a:visited
{
  color: #808080;
  text-decoration: none;
}

#xac_top ul > li.xac_current_area > a,
#xac_top ul > li.xac_current_area > a:link,
#xac_top ul > li.xac_current_area > a:visited
{
  color: #f9f9f9;
  text-decoration: none;
}


#xac_top ul > li > a:hover,
#xac_top ul > li > a:active,
#xac_top ul > li.xac_current_area > a:hover,
#xac_top ul > li.xac_current_area > a:active
{
  color: inherit;
}






/* Bottom. */

#xac_bottom
{
  text-align: center;
  vertical-align: middle;
}

#xac_bottom a
{
  color: inherit;
}

#xac_bottom dl
{
  display: block;
}

#xac_bottom dt,
#xac_bottom dd
{
  display: inline-block;
  margin: 0 0.5em;
  padding: 0;
}

#xac_bottom dt
{
  color: #d13e44;
  margin-right: 0;
}

#xac_bottom dt:after
{
  content: ':';
}





/* Tables. */

#xac_content table
{
  width: 100%;
}

#xac_content td
{
  padding: 0.25em;
}

#xac_content td p
{
  margin: 0;
  padding: 0;
}

#xac_content td > ul
{
  margin: 0;
}

#metadata td > ul
{
  list-style-type: none;
  padding: 0;
}

#xac_content .xac_directory_table
{
  font-family: 'Bitstream Vera Sans Mono','DejaVu Sans Mono','Lucida Console','Monaco','Courier New','Courier',monospace;
  margin: 0 auto;
  padding: 0.5em 2em 0 2em;
  width: 100%;
  white-space: pre;
}

#xac_content .xac_directory_table th,
#xac_content .xac_directory_table td
{
  padding: 0.1em 0;
}


#xac_content tr:nth-child(even)
{
  background: #f2f2f2;
}

#xac_content dt
{
  font-weight: bold;
}







/* Theme Border. */
#xac_content_area,
#xac_bottom
{
  border-top: solid #d11921 4px;
}

#xac_side
{
  border-bottom: solid #d11921 4px;
  border-left: solid #d11921 4px;
  border-radius: 0 0 0 20px;
}







/* Text Decorations. */

.xac_dir_link:after,
.xac_recursive_link:after
{
  content: "/";
}

#xac_parent_nav_panel > h1:before
{
  content: '↻ ';
}

.xac_nav_panel .xac_file_link:hover:before,
.xac_nav_panel .xac_dir_link:hover:before,
.xac_nav_panel .xac_recursive_link:before
{
  content: '➤ ';
  font-weight: bold;
}

.xac_nav_panel .xac_recursive_link
{
  font-weight: bold;
}

.xac_nav_panel .xac_file_link:before,
.xac_nav_panel .xac_dir_link:before
{
  content: '  ';
}



/* Plugin Formatters. */


#xac_content .xac_tex_math
{
  display: inline;
  float: none;
  margin: 0;
  padding: 0;
}


#xac_content .xac_embedded_svg
{
  border: none;
  display: block;
  margin: 1em auto;
  max-width: 100%;
  padding: 0;
}
