/* robotic-controls.com — site styles on top of Bootstrap 3 "Cyborg".
   Ported from the Drupal "rc" theme; same look, no jQuery, self-hosted fonts. */

html { background: #2c3033; }
body {
  background: linear-gradient(to bottom, rgba(89,96,104,1) 0px, rgba(44,48,51,0) 350px) transparent;
  background-image: url(/img/circuit.png);
  font-family: 'Roboto Condensed', Verdana, Arial, sans-serif;
  color: #111;
}
h1, h2, h3, h4, h5, h6, .block-title {
  font-family: 'Play', Verdana, sans-serif;
  color: #333;
}
a { color: #2a9fd6; }

/* ---- code -------------------------------------------------------------- */
code {
  font-family: 'Droid Sans Mono', 'DejaVu Sans Mono', Menlo, Consolas, monospace;
  font-weight: bold;
}
pre, .highlight pre {
  background: #f0f0f0;
  color: #222;
  border-radius: 5px;
  padding: 6px !important;
  border: 1px solid #777;
  box-shadow: 0 0 3px #f5f5f5, inset 0 0 8px rgba(0,0,0,0.5);
  overflow: auto;
  font-family: 'Droid Sans Mono', 'DejaVu Sans Mono', Menlo, Consolas, monospace;
  font-size: 13px;
  line-height: 1.35;
  margin: 0.3em 0;
  white-space: pre;
}
.highlight pre code { font-weight: normal; font-family: inherit; }
pre.plain { white-space: pre; }
/* fixed-height code boxes with an expander, as on the Drupal site */
.code-scroll pre, pre.code-scroll { height: 100px; }
.code-scroll-tall pre, pre.code-scroll-tall { height: 300px; }
.code-scroll pre.expanded, .code-scroll-tall pre.expanded, pre.expanded { height: auto; }
.code-scroll-expander {
  float: right;
  color: #005D89;
  cursor: pointer;
  margin: -4px 35px 0 3px;
  padding: 1px 5px 1px 3px;
  border: 1px solid #777;
  border-top: none;
  border-radius: 0 0 3px 3px;
  background: #f0f0f0;
  box-shadow: 0 0 3px #f5f5f5, inset 0 0 3px #aaa;
  font-size: 12px;
}
.code.float-right { float: right; margin: 0 0 5px 12px; clear: right; max-width: 55%; }
.code.float-left { float: left; margin: 0 12px 5px 0; max-width: 55%; }

/* ---- tables and images ------------------------------------------------- */
table, .table { color: #444; background-color: #eee; box-shadow: 0 0 5px rgba(0,0,0,0.5); margin-bottom: 8px; }
table a:not(.btn), .table a:not(.btn) { color: #2a9fd6; text-decoration: none; }
table caption { text-align: center; }
table td { padding: 4px 7px; border-bottom: 1px solid #ddd; }
.table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th,
.table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td { background-color: #ddd; }

.float-left { margin: 0 12px 5px 0; float: left; }
.float-right { margin: 0 0 5px 12px; float: right; clear: right; }
img.soft, .soft img { border: 1px solid #555; border-radius: 5px; box-shadow: 0 0 3px #555; }
.field--name-body img { max-width: 100%; height: auto; }

/* ---- navbar ------------------------------------------------------------ */
.navbar { font-family: 'Play', sans-serif; margin-bottom: 20px; }
.navbar .logo img { height: 38px; width: auto; margin: 6px 10px 0 15px; }
.navbar .navbar-brand { padding-left: 0; }
.navbar-collapse.in { display: block; }
.nav-tabs { margin: 0 15px 0; border-bottom: none; }

/* ---- layout ------------------------------------------------------------ */
@media (min-width: 768px) {
  .main-row { display: flex; align-items: flex-start; }
  .main-row > .col-sm-9, .main-row > .col-sm-3 { float: none; }
}
.region-content > .breadcrumb { margin-bottom: 10px; }
.main-container { padding-bottom: 25px; }   /* keep the footer off the last card */

/* headers */
.col-sm-9 h1, .col-sm-9 .block-title, .region-content .page-header {
  background: #999;
  padding: .25em .5em;
  box-shadow: 0 0 12px rgba(0,0,0,0.65);
  font-size: 30px;
  border-radius: 9px;
  border-bottom: none;
  margin: 20px 0;
}
.col-sm-9 .block-title { font-size: 24px; }

/* the white content cards */
.region-content > article,
article.book,
article.page,
.block-mission .field--name-body,
.view-book-categories,
.view-taxonomy-term article,
.view-frontpage article {
  background: #fff;
  padding: 0 1.25em 0 1.25em;
  box-shadow: 0 0 12px rgba(0,0,0,0.65);
  border-radius: 5px;
}
.block-mission .field--name-body { padding: 1em 1.25em; margin-bottom: 15px; font-size: 16px; }
.view-book-categories { text-align: center; padding: 6px 0; margin-bottom: 30px; }
.view-book-categories .views-row { display: inline-block; font-size: 16px; }
.view-book-categories .views-row a { display: inline-block; padding: 12px 13px; }

article header { margin: 0.5em 0 0 0; }
article h2 { font-size: 34px; }
article .field--name-body { clear: both; padding-bottom: 1px; }
article.book footer.byline { margin-top: 8px; padding-top: 8px; color: #777; font-size: 13px; display: flex; align-items: center; gap: .5em; }
footer.byline .avatar { width: 3em; height: 3em; border-radius: 1.5em; }
article.book nav { clear: left; }
article.teaser { margin-bottom: 20px; padding-bottom: 8px; }
article.teaser h2 { margin-bottom: 0; line-height: 1em; font-size: 26px; }
article.teaser .field--name-body p { margin: 8px 0; }

.field--name-field-topics { margin: 6px 0; color: #777; }
.field--name-field-topics .field--label, .field--name-field-topics .field--items, .field--name-field-topics .field--item { display: inline-block; padding-right: 0.5em; }
.field--name-field-attachments { margin: 10px 0; }
.field--name-field-attachments .size { color: #888; font-size: 12px; }

/* book navigation */
.book-navigation ul.book-children { margin: 10px 0 10px 20px; padding: 0; }
.book-navigation ul.book-traversal {
  list-style: none; margin: 10px 0; padding: 0; text-align: center;
  display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between;
}
.book-navigation ul.book-traversal li { list-style: none; white-space: nowrap; margin: 6px 2px; }
.book-navigation ul.book-traversal li a {
  padding: 5px 14px; color: #fff; background-color: #222; border: 1px solid #191919; border-radius: 15px; text-decoration: none;
}
.book-navigation ul.book-traversal li a:hover { background-color: #2a9fd6; }
.links.inline { margin: 8px 0; }
/* Bootstrap Icons, inlined as SVG partials (layouts/_partials/icons) */
.bi { width: 1em; height: 1em; vertical-align: -0.125em; fill: currentColor; }
.book-printer a .bi, .node-readmore a .bi, .file-icon.bi { margin-right: 4px; }
.node-readmore a { color: #005D89 !important; }
.file-icon.bi { color: #555; }

#disqus_thread { margin-top: 20px; min-height: 40px; }
.field--name-field-disqus .field--label { display: none; }

/* ---- sidebar ----------------------------------------------------------- */
.region-sidebar-second { color: #777; position: sticky; top: 10px; }
.region-sidebar-second .block-title { font-size: 25px; color: #888; margin-top: 4px; }
.region-sidebar-second .block { margin-bottom: 16px; }
.view-topics .views-row { display: inline; padding: 0 3px 0 0; white-space: nowrap; }
.view-topics .views-row .count { padding: 0 0 0 1px; font-size: 0.75em; color: #777; }
.view-book-hierarchy h3 { font-size: 18px; line-height: 1em; font-weight: bold; margin: 13px 0 0; }
.view-book-hierarchy .views-row { margin: 3px 0 7px 0; line-height: 1.03em; font-size: 0.93em; }
.region-sidebar-second img.dsq-widget-avatar { margin: 4px 6px 0 0; padding: 0; border-radius: 6px; border: 1px solid #000; width: 32px; height: 32px; }
.region-sidebar-second .dsq-widget ul { padding: 0; list-style: none; }

/* table of contents (built by site.js from the article's headings) */
#tableOfContents h3 { margin: 0 0 4px; color: #777; font-size: 25px; font-family: 'Play', sans-serif; }
#tableOfContents ul { margin: 0; padding: 0 0 0 15px; font-size: 13px; list-style: none; }
#tableOfContents > ul { padding-left: 2px; }
#tableOfContents li { padding: 2px 0; line-height: 14px; }
#tableOfContents li a { color: #777; }
#tableOfContents li.current-header > a { color: #ddd; text-shadow: 1px 0 0 #000; }
@media (min-width: 1370px) {
  body.has-toc { padding-right: 200px; }
  #tableOfContents { position: fixed; top: 90px; right: 9px; width: 200px; margin: 0; box-shadow: 0 0 4px rgba(0,0,0,0.3); z-index: 10; }
}

/* ---- home slideshow ---------------------------------------------------- */
.slideshow { position: relative; margin: 0 auto 8px; overflow: hidden; border-radius: 8px; border: 1px solid #000; background: #fff; aspect-ratio: 700 / 300; max-width: 700px; }
.slideshow-prev, .slideshow-next {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
  width: 40px; height: 40px; border-radius: 20px; border: 1px solid #000; cursor: pointer;
  background: rgba(0,0,0,0.45); color: #fff; text-align: center; padding: 0;
  opacity: 0.6; transition: opacity .2s;
}
.slideshow:hover .slideshow-prev, .slideshow:hover .slideshow-next { opacity: 1; }
.slideshow-prev { left: 8px; } .slideshow-next { right: 8px; }
.slideshow-prev .bi, .slideshow-next .bi { width: 22px; height: 22px; vertical-align: middle; }
.slideshow-bullets { list-style: none; margin: 0 0 15px; padding: 0; text-align: center; }
.slideshow-bullets li { display: inline-block; width: 12px; height: 12px; margin: 0 4px; border-radius: 6px; background: #222; border: 1px solid #000; cursor: pointer; }
.slideshow-bullets li:hover { background: #555; }
.slideshow-bullets li.active { background: #aaa; cursor: default; }
.slideshow .slide { position: absolute; inset: 0; display: block; opacity: 0; transition: opacity .8s ease; }
.slideshow .slide.active { opacity: 1; }
.slideshow .slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.slideshow .slide-title, .slideshow .slide-caption { position: absolute; left: 0; right: 0; margin: 0 5px; color: #eee; text-align: center; font-weight: bold; text-shadow: 1px 1px 1px rgba(0,0,0,0.7), 0 0 4px #000, 0 0 8px #000; }
.slideshow .slide-title { bottom: 35px; font-size: 1.6em; }
.slideshow .slide-caption { bottom: 5px; font-size: 1.15em; line-height: 1.0em; }
.slideshow .slide-title a { color: #fff; }

/* ---- footer ------------------------------------------------------------ */
.footer { color: #888; margin-top: 0; border-top: none; }
.footer .well { padding: 12px 19px; }
.footer .small { display: block; margin-top: 4px; }
.topic-list { columns: 3; list-style: none; padding: 1em 0; }
.topic-list .count { color: #999; }

/* ---- scrollbars -------------------------------------------------------- */
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-thumb { background: #ccc; border: 1px solid #999; border-radius: 5px; box-shadow: inset 0 0 2px #aaa; }
body::-webkit-scrollbar { background: #444; }
::-webkit-scrollbar-track { box-shadow: inset 0 0 3px rgba(0,0,0,0.4); border-radius: 5px; }
::-webkit-scrollbar-corner { background: transparent; }

/* ---- teaser lists (front page, topic pages) ---------------------------- */
.view-frontpage article.teaser:first-child { margin-top: 30px; }
.pager-nav { margin: 10px 0 20px; }
.pagination { margin: 0; }
.pagination > li > a { background: #222; border-color: #191919; color: #ddd; }
.pagination > .active > a, .pagination > .active > a:hover { background: #2a9fd6; border-color: #2a9fd6; color: #fff; }
