/* (Material) changes to the customstyles.css start here */

body {
  font-size: 16px;
  font-family: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
  padding-top: 70px; /* https://getbootstrap.com/docs/3.4/components/#navbar-fixed-top */
}

.banner-container {
  margin-top: -20px;
}
a.navbar-brand {
  padding-top: 12px;
}
.navbar-brand-text {
  height: 28px;
  padding-left: 1px; /* 1px */
  display: inline;
  vertical-align: top;
}
/* use :before pseudo-class to rotate icon independent of text */
.navbar-brand-icon:before {
  width: 25px;
  height: 25px;
  content: "";
  display: inline-block;
  background: url("../images/icon.svg");
  background-size: 25px 25px;
  background-repeat: no-repeat;
  background-position: top left;
  transition: all 400ms;
}
a:hover > .navbar-brand-icon:before {
  transform: rotate(180deg);
}
[data-theme="dark"] .navbar-brand-icon:before {
  width: 25px;
  height: 25px;
  content: "";
  display: inline-block;
  background: url("../images/icon_dark.svg");
  background-size: 25px 25px;
  background-repeat: no-repeat;
  background-position: top left;
  transition: all 400ms;
}

[data-theme="dark"] a:hover > .navbar-brand-icon:before {
  transform: rotate(180deg);
}
/* .nav styles both topnav and sidenav, so use .nav.navbar-nav */
.nav.navbar-nav > li > a {
  font-size: 14px;
  line-height: 20px;
  padding: 4px 10px;
  font-weight: 500;
  margin-top: 11px;
}
.nav > li > a {
  font-size: 14px;
  line-height: 20px;
  padding: 4px 10px;
}
/* rightmost icons */
.nav > li > a.nav-external {
  font-size: 24px;
  line-height: 20px;
  padding: 2px 0px;
  margin-top: 11px;
}
@media (max-width: 1200px) {
  .nav > li > a.nav-external {
    float: left;
  }
}
/* Fix Firefox/normalize.css bug https://github.com/necolas/normalize.css/issues/740 */
details > summary {
  display: list-item;
  margin-bottom: 10px;
}

/* General layout classes */

h2.page-header {
  /*border-bottom: 1px solid #0A76BB;*/
  border-bottom: 1px solid rgba(10, 118, 187, 0);
  font-size: 28px;
}
.row {
  margin-bottom: 0px;
}
.panel-precice {
  padding-top: 5px;
}
.panel-heading-precice {
  position: relative;
  /*left: -5px;
  padding: 10px 15px 10px 18px;
  border-left: 2px solid #ED762C;*/
  margin-bottom: -15px;
  padding: 10px 15px;
}
.panel-heading-precice strong {
  font-size: 1.2em;
  line-height: 1.2em;
  font-weight: 500;
}

/* General utility classes */

.no-margin {
  margin: 0;
}
.less-top-margin {
  margin-top: -20px;
}
.less-bottom-margin {
  margin-bottom: -20px;
}
.citation-link {
  margin-top: 15px;
}
.vertical-align {
  /* https://stackoverflow.com/questions/20547819/vertical-align-with-bootstrap-3/25517025#25517025 */
  display: flex;
  align-items: center;
}
/* https://stackoverflow.com/questions/19695784/how-can-i-make-bootstrap-columns-all-the-same-height */
/* https://stackoverflow.com/questions/20503064/twitter-bootstrap-3-panels-of-equal-height-in-a-fluid-row */
/*.equal {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
}*/
@media (min-width: 992px) {
  .equal {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
/* add horizontal scoll on code blocks */
pre > code {
  overflow: auto;
  word-wrap: normal;
  white-space: pre;
}
div.col-flex {
  display: flex;
  flex-flow: column;
  align-content: stretch; /* file up remaining space */
}

/* Search bar and results */
#search-demo-container div#search-results {
  list-style: none;
  font-size: 12px;
  background-color: white;
  position: absolute;
  top: 40px; /* if you change anything about the nav, you'll prob. need to reset the top and left values here.*/
  left: 20px;
  z-index: 69;
  width: 380px;
  border-left: 1px solid #dedede;
  box-shadow: 2px 3px 2px #dedede;
  max-height: calc(100vh - 80px);
  overflow: auto;
}
.result-item {
  /*margin-bottom: 30px;*/
  border-top: 1px solid whitesmoke;
}
a.result-link {
  font-size: 14px;
}
.result-link .ais-Highlight {
  color: #111;
  font-style: normal;
  text-decoration: underline;
}
.nav li #search-results a.result-breadcrumbs {
  color: #424242;
  font-size: 15px;
  display: block;
  padding-left: 10px;
}
.result-breadcrumb {
  /*font-size: 18px;*/
  color: #424242;
}
.result-breadcrumb .ais-Highlight {
  font-weight: bold;
  font-style: normal;
}
.result-snippet .ais-Highlight {
  color: #2a7ae2;
  font-style: normal;
  font-weight: bold;
}
.result-snippet img {
  display: none;
}
.result-snippet {
  color: #333;
  padding-left: 10px;
}
#search-results h2 {
  font-size: 18px;
  margin: 0;
  line-height: 1.2em;
  margin-top: 5px;
  padding-left: 10px;
}
#search-results a {
  background-color: transparent;
  display: inline;
}
#search-results a:hover {
  color: #333;
}
.nav li #search-results a {
  line-height: 1em;
  font-size: 1em;
  display: inline;
  padding: 0px;
}
#search-results p {
  margin-bottom: 5px;
}

/* Contributors section */
.devlist {
  border: 1px solid #0a76bb;
  border-radius: 5px;
  padding: 0;
}
.devlist > li.devlist-first {
  border-top: 1px solid transparent;
}
ul.devlist > li {
  display: flex;
  flex-flow: row wrap;
  border-top: 1px solid #0a76bb;
  border-radius: 5px;
  padding: 8px 16px;
  margin: 0;
}

.devlist > li .devlist-img {
  flex: 0 0 auto;
  width: auto;
  width: 50px;
  margin-right: 1rem;
}
.devlist > li .devlist-img > img {
  border-radius: 5px;
  width: 100%;
  margin: 0;
  border: 1px solid lightgrey;
}
.devlist > li .devlist-left {
  flex: 1 1 0px;
  width: auto;
  align-items: center;
  display: flex;
}
.devlist > li .devlist-right {
  flex: 0 0 auto;
  width: auto;
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: larger;
}
.devlist > li .devlist-right li + li {
  margin-left: 16px;
}
.devlist-left > p {
  margin-bottom: 0;
}

/* preCICE workshop 2021 */
.workshop-event {
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 9.5px;
  margin-bottom: 10px;
}
.workshop-event p:first-of-type {
  margin-top: 10px;
}
/**:focus
{
  outline: none;
}*/
@media screen and (max-width: 767px) {
  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > td {
    white-space: normal;
  }
}

/* print styles */
@media print {
  /* https://www.matuzo.at/blog/i-totally-forgot-about-print-style-sheets/ */
  #tg-sb-sidebar,
  .githubEditButton {
    display: none;
  }
  body {
    padding-top: 0;
  }
}

/* Testimonials == community stories */
@media (max-width: 767px) {
  .testimonials h2 {
    padding-top: 80px;
  }
}

/* 
  Let the sidebar scroll up some amount, then fix in place
  Uses 'position: sticky' which offsets relative to its nearest scrolling ancestor and containing block
  see https://developer.mozilla.org/en-US/docs/Web/CSS/position
*/
ul.nav.affix {
  position: static; /* override 'position: fixed' for <ul> */
}
div#tg-sb-sidebar {
  position: sticky; /* set for <div> instead of <ul> */
  top: 40px;
}
/* Unstick the sidebar if window is too small */
@media (max-height: 850px) {
  /* this value may need to be updated if sidebar height increases */
  div#tg-sb-sidebar {
    position: static;
  }
}
/* Unstick on mobile */
@media (max-width: 991px) {
  div#tg-sb-sidebar {
    position: static;
  }
  /* style navtabs */
  .post-content ol li,
  .post-content ul li {
    margin: 0px;
  }
  div.tab-content {
    padding: 0px;
    background-color: white;
  }
  div.tab-content div.tab-pane pre {
    margin-top: 0px;
  }
}

/* Hide default marker Chromium/WebKit */
details > summary::-webkit-details-marker {
  display: none !important;
}

/* Hide default marker in Firefox */
details > summary {
  list-style: none;
  cursor: pointer;
  position: relative;
  padding-right: 1.2em;
}

/* closed */
details > summary::after {
  content: "▼";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.9em;
}

/* open */
details[open] > summary::after {
  content: "▲";
}

/* Copy to Clipboard Button Styles */
div.highlighter-rouge {
  position: relative;
}

.copy-code-btn {
  position: absolute;
  top: 5px;
  right: 5px;
  padding: 4px 8px;
  font-size: 12px;
  color: #555;
  background-color: #f8f9fa;
  border: 1px solid #ccc;
  border-radius: 4px;
  cursor: pointer;
  opacity: 0;
  transition:
    opacity 0.2s,
    background-color 0.2s,
    color 0.2s;
  z-index: 10;
}

div.highlighter-rouge:hover .copy-code-btn {
  opacity: 1;
}

.copy-code-btn:hover {
  background-color: #e2e6ea;
  color: #333;
}

.copy-code-btn.copied {
  background-color: #28a745;
  color: white;
  border-color: #28a745;
}

/* =========================
   DARK THEME (GLOBAL STYLES)
   ========================= */

[data-theme="dark"] body {
  background-color: #0f172a;
  color: #e2e8f0;
}

/* Navbar */
[data-theme="dark"] .navbar {
  background-color: #020617;
  border-color: #1e293b;
}
.navbar-theme-toggle {
    float: right;
    padding: 15px;
    cursor: pointer;
}
#theme-icon {
    font-size: 24px;
}

[data-theme="dark"] .nav.navbar > li > a {
  color: #0A76BB;
}

[data-theme="dark"] .nav.navbar > li > a:hover {
  color: #ED762C;
  background-color: transparent;
}

/* Brand */
[data-theme="dark"] .navbar-brand-text {
  color: #e2e8f0;
}

/* Panels */
[data-theme="dark"] .panel,
[data-theme="dark"] .panel-precice {
  background-color: #1e293b;
  border-color: #334155;
  color: #e2e8f0;
}

/* Headings */
[data-theme="dark"] h2.page-header {
  border-bottom: 1px solid #334155;
}

/* Links */
[data-theme="dark"] a {
  color: #93c5fd;
}

[data-theme="dark"] a:hover {
  color: #bfdbfe;
}

/* Code blocks */
[data-theme="dark"] pre,
[data-theme="dark"] code {
  background-color: #0f172a;
  color: #e2e8f0;
}

/* Search results dropdown */
[data-theme="dark"] #search-demo-container div#search-results {
  background-color: #1e293b;
  border-color: #334155;
  box-shadow: 2px 3px 8px rgba(0, 0, 0, 0.6);
}

[data-theme="dark"] .result-item {
  border-top: 1px solid #334155;
}

[data-theme="dark"] .result-link .ais-Highlight {
  color: #facc15;
}

[data-theme="dark"] .result-breadcrumb,
[data-theme="dark"] .result-snippet {
  color: #cbd5f5;
}

/* Dev list (contributors) */
[data-theme="dark"] .devlist {
  border-color: #334155;
}

[data-theme="dark"] ul.devlist > li {
  border-top: 1px solid #334155;
}

[data-theme="dark"] .devlist > li .devlist-img > img {
  border-color: #475569;
}

/* Workshop / cards */
[data-theme="dark"] .workshop-event {
  background-color: #1e293b;
  border-color: #334155;
}

/* Tabs (mobile) */
[data-theme="dark"] div.tab-content {
  background-color: #020617;
}

/* Copy button */
[data-theme="dark"] .copy-code-btn {
  background-color: #1e293b;
  color: #cbd5f5;
  border-color: #475569;
}

[data-theme="dark"] .copy-code-btn:hover {
  background-color: #334155;
  color: #ffffff;
}

/* Tables */
[data-theme="dark"] .table {
  color: #e2e8f0;
}

[data-theme="dark"] .table > thead > tr > th {
  border-color: #334155;
}

[data-theme="dark"] .table > tbody > tr > td {
  border-color: #334155;
}

/* Sidebar */
[data-theme="dark"] #tg-sb-sidebar {
  background-color: transparent;
}

/* Details toggle arrows */
[data-theme="dark"] details > summary::after {
  color: #cbd5f5;
}

/* Default (light theme) */
.logo-light {
  display: inline-block;
}
.logo-dark {
  display: none;
}

/* Dark theme */
[data-theme="dark"] .logo-light {
  display: none;
}
[data-theme="dark"] .logo-dark {
  display: inline-block;
}


/* docs configuration images  */
.img-dark {
  display: none;
}

[data-theme="dark"] .img-light {
  display: none;
} 

[data-theme="dark"] .img-dark {
  display: block !important;
}

[data-theme="dark"] .image-holder svg {
  filter: invert(1);
}
/* =========================
   SIDEBAR / NAV
========================= */

[data-theme="dark"] .nav > li > a {
  color: #334155;
}

[data-theme="dark"] .nav > li > a:hover {
  background-color: #2a3240;
}

[data-theme="dark"] .nav li.thirdlevel > a {
  background-color: #1a1f28 !important;
  color: #82c4ff;
}

/* =========================
   FOOTER
========================= */

[data-theme="dark"] footer {
  background-color: #161a22;
  color: #aaa;
}

[data-theme="dark"] footer.background-dark h2 {
  color: rgb(4, 6, 6);
}