/* No body margins, we want our header and sidebar closely at window border.
   Instead use class "content" to add some nice padding between
   window border and actual text. */
/* body { margin: 0px; padding: 0px; } */
/* .content { margin: 0px; padding: 0.4em; } */
/* Bootstrap takes care of above now */

object.movie_thumbnail {
  width: 200px;
  height: 167px;
}

div.thumbs_cell_with_text_or_movie {
  width: 210px;
  background: #DDD;
  margin: 0em;
  padding: 0.2em;
  font-size: small;
  text-align: center;
}

.thumbnails {
  clear: right;
}
.thumbnails-align-right {
  float: right;
  /* Avoids wide thumbnail column until images load */
  max-width: 250px;
}

/* Our <pre> must break, otherwise our right sidebar is shifted and looks bad */
pre {
  white-space: pre-wrap;
}

a.kscript_func_docs { text-decoration: underline; }

code { background-color: #f0f0f0; }
/* Override above rule for x3d_component_intro. These <code> are in practice
   surrounded by <b> now. */
div.x3d_component_intro code { background-color: transparent; }

pre.plug_declaration { border: thin solid #333; padding: 0.2em; }

span.js_link { text-decoration: underline; color: #00F; cursor: pointer; }

/* Style for note_box and note_title shamelessly stolen from CSS
   of the Subversion book. (from .sidebar and .sidebar .title) */
.note_box
{
    border-top: dotted 1px black;
    border-left: dotted 1px black;
    border-right: solid 2px black;
    border-bottom: solid 2px black;
    background: rgb(240,220,170);
    padding: 0 0.12in;
    margin: 0.5in;
}

.note_box .note_title {
  text-align: center;
  font-size: 125%;
}

/* Tables with key controls should be done with
   <table class="key_list"> */
table.key_list {
  width: 90%;
  border: thin solid;
  border-collapse: separate;
}
table.key_list th { background: #eeeee0; border: thin solid white; }
table.key_list td { background: #ddddd0; border: thin solid white; width: 50%; }

/* Adapted from my pasdoc.css */
table.thin_borders { border-collapse: collapse; }
table.thin_borders td { border: 1pt solid #d3d3d3; padding: 0.3em; }
table.thin_borders th { border: 1pt solid #d3d3d3; padding: 0.3em; }

dl.command_line_options_list > dt {
  font-family: monospace;
  font-weight: bold;
}

/* Leave default font-family for dt, and default font-weight.
   Use span with command_line_option class inside dt. */
dl.command_line_options_list_custom > dt {
  font-weight: normal;
}
span.command_line_option {
  font-family: monospace;
  font-weight: bold;
}

/* div.latest_update_description {
  margin-left: 3em;
  border: 1px solid gray;
  padding: 0.5em;
} */

dt { font-weight: bold; }
span.page_copyright { font-size: smaller }
span.version_number { font-size: small }

.rss_link {
  float: right;
  background: red;
  padding: 0.3em;
  border: thin outset black;
}
.rss_link a {
  color: white;
  font-weight: bold
}

pre.vrml_extension_spec { }

dl.vrml_ver_differences > dt {
  font-weight: normal;
  font-style: italic;
}

.program_image_link,
.main_link {
  /* background: #e8d59a; */
  /* background: #efdfae; */
  border-width: thin;
  border-style: solid;
  border-radius: 4px;
  border-color: #dcdcdc;
  text-align: center;
  padding: 0.5em;
  width: 100%;
  margin: 20px 0;
}
.program_image_link img,
.main_link img {
  border: none;
}

.program_image_link {
  min-height: 380px;
}

.program_image_link_title { font-size: larger; }

a.screenshot       img { border: 2pt solid #EEE; }
a.screenshot:hover img { border: 2pt solid #888; }

.table_of_contents a       { text-decoration: none; border-bottom: 1px dotted; }
.table_of_contents a:hover { text-decoration: none; border-bottom: 1px solid;
  background: #FF8;
}

/*.table_of_contents {
  border-top: dotted 1px black;
  border-left: dotted 1px black;
  border-right: solid 2px black;
  border-bottom: solid 2px black;
  background: rgb(240,220,170);
  padding: 0 0.12in;
  margin: 0.5in;
}
*/

div.download {
  display: inline-block;
}

.download_title { font-weight: bold; margin-bottom: 1em; }

div.download table td { text-align: center;
  padding-left: 1em; padding-right: 1em; }
div.download table a { display: block; text-decoration: none; }
div.download table a img { border: 0px none; }

/* Table like X3D specification, used for multi-texturing clarifications
   on x3d_implementation_texturing.php */
table.specification { border-collapse:collapse; }
table.specification th {
  border-style:groove;
  font-weight:bold;
  border-width:medium;
  padding:8px;
  /* white-space:nowrap; */
}
table.specification td {
  border-style:groove;
  font-weight:normal;
  border-width:medium;
  padding:8px;
  /* white-space:nowrap; */
}

table.x3dtests {
  border-collapse: collapse;
}
table.x3dtests td {
  border: thin solid #888;
  padding:8px;
}
table.x3dtests td.x3dtests-links {
  padding:0px;
  /* white-space: nowrap; */
}
table.x3dtests td.x3dtests-links ul {
  padding: 0 0 0 1em;
  margin: 0;
  font-size: smaller;
}
table.x3dtests tr.x3dtests-results td {
  font-size: smaller;
  padding: 0.1em;
}

div.sidebar_title {
  font-size: medium; font-weight: bold;
  margin-bottom: 0.1em;
}

table.nist_test_suite { border-collapse:collapse; border: thin solid #999; }
table.nist_test_suite td { border: thin solid #999; }
table.nist_test_suite th { border: thin solid #999; }
td.pass    { background-color:rgb(50%,100%,50%); }
td.fail    { background-color:rgb(100%,50%,50%); }
td.invalid { background-color:rgb(75%,75%,75%); }
td.testnr  { white-space: nowrap; }

/* view3dscene page stuff */
hr.ruler_between_sections { width: 100%; }
dl.params_list dt  {
  font-weight: normal; font-family: monospace;
  margin-top: 1em;
}

/* index page stuff */
div.main_list_item {
  font-family: serif;
  font-weight: bolder;
  font-size: large;

  background: #ddddd0;

  padding: 0.1em;
}

/* Don't set it float here, we may want to use it with various float values
   or without float. */
div.useful_link {
  display: inline-block;
  background: #EEE;
  /* #ffff91; */
  border: thin solid black;
  padding: 0.3em;
}

div.x3d_component_intro {
  display: block;
  border: thin solid #333;
  background: #fff4d2;
  padding: 0.3em;
}

div.x3d_component_intro p.paragraph_first { margin-top: 0px; }
div.x3d_component_intro p.paragraph_last { margin-bottom: 0px; }
div.x3d_component_intro p.paragraph_first code { font-weight: bold; }

/* news --------------------------------------------------------------------- */

span.old_news_date { font-weight: bold; }
div.old_news_item { border-bottom: medium groove #555; }

span.news_title { font-weight: bold; text-decoration: underline; }
span.news_date { color: #888; }
div.news_item span.news_title { font-size: larger; }

/* turn off normal link decoration inside news_title */
span.news_title a { color: black; }

.castle_rss_link {
  float: right;
  background: red;
  padding: 0.3em;
  border: thin outset black;
  margin: 1em;
}

.castle_rss_link a {
  color: white;
  font-weight: bold
}

/* header ------------------------------------------------------------------- */

.header_breadcrumbs {
  color: #222;
  padding: 0.4em;
}
.header_breadcrumbs a       { color: #5EB2E5; }
.header_breadcrumbs a:hover { color: #39C; }

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

table.donations { border-collapse: collapse; width: 90%;
  margin-left: auto;
  margin-right: auto;
}
table.donations td {
  border: medium solid #888;
  text-align: center;
  width: 30%;
}

table.donations td p {
  margin-left: 0.5em;
  margin-right: 0.5em;
}

div.quote {
  margin-left: 1em;
  background: #FFD;
  border: dotted 1px black;
}

/* books (tutorial and such) ------------------------------------------------- */

.book-header {
  width: 100%;
  border: thin solid #ffeaa9;
  background: #fff4d2;
  padding: 0.3em;
}

.book-header .book-previous {
  text-align: left;
  float: left;
  width: 40%;
}
.book-header .book-next {
  text-align: right;
  float: right;
  width: 40%;
}
.book-header .book-title {
  margin-left: 40%;
  margin-right: 40%;
  text-align: center;
  font-weight: bold;
}

.footer-table td {
  vertical-align: top;
}

/* google search box --------------------------------------------------------- */

.google-search-container {
  position: relative; /* to position gsc-search-button vs this */
  width: 50%;
  max-width: 400px;
  float: right;
  margin-top: 0.5em;
  margin-right: 0.5em;
}

.has-github-ribbon .google-search-container {
  margin-right: 140px; /* margin from GitHub ribbon */
}

.google-search-container .gsc-search-button {
  position: absolute;
  right: 0;
  top: -1px;
}

.gsc-search-box-tools .gsc-search-box .gsc-input {
  padding-right: 0px !important;
}

.cse .gsc-control-cse, .gsc-control-cse {
  padding: 0 !important;
}
.form.gsc-search-box {
  margin: 0 !important;
}
.gsc-control-cse {
  background-color: transparent !important;
  border-style: none !important;
}

.gsc-control-cse, .gsc-control-cse .gsc-table-result {
  font-size: normal !important;
}

.google-search-results-container .gsc-expansionArea {
  border-bottom: thin solid #aaaaaa;
}

/* Restore normal CSS behaviour, overriding Bootstrap weirdness */
.google-search-container {
  line-height: normal;
}
.google-search-container {
  box-sizing: content-box !important;
}
.google-search-container div {
  box-sizing: content-box !important;
}
.gsc-search-button {
  box-sizing: content-box !important;
}

#disqus_thread {
  max-width: 800px;
  /* margin-left: auto; */
  /* margin-right: auto; */
}

.main-widgets {
  float: left;
  width: 300px;
}

.bottom-widget {
  margin: 0.5em 0;
}
