div.odoc {
  max-width: 56rem /* 896px */;
  position: relative;
}

div.odoc div.spec,
div.odoc-include .spec {
  border-left-width: 4px;
  border-color: rgba(251, 146, 60, 1);
  border-radius: 0.25rem /* 4px */;
  background-color: rgba(243, 244, 246, 1);
  padding-left: 1.7rem /* needs to provide enough space for the hashtag anchor */;
  padding-right: 1rem /* 16px */;
  padding-top: 0.5rem /* 16px */;
  padding-bottom: 0.5rem /* 16px */;
  margin-top: 1rem /* 16px */;
}

.dark div.odoc div.spec,
.dark div.odoc-include .spec {
  border-color: rgb(194, 79, 30);
  background-color: black;
}

div.odoc div.spec code {
  white-space: pre-wrap;
}

div.odoc .spec-doc p {
  margin-top: 0.5rem;
}

/* clickable anchors and highlighting of targeted .spec elements */

div.odoc .spec {
  position: relative;
}

div.odoc .spec a.anchor {
  position: absolute;
  left: 0;
  top:0.3em;
  opacity: 0;
  text-decoration: none;
  color: rgb(156 163 175);
  box-shadow: none;
}

div.odoc .spec a.anchor::after {
  content: "#";
  font-size:120%;
  margin-left: -4px;
  padding: 0.6em;
}

div.odoc *:hover > a.anchor {
  opacity: 1;
}

div.odoc *:hover > a.anchor:hover {
  color: rgb(75 85 99);
}

/* selected anchor target highlighting */

div.odoc .spec:target {
  background: rgb(255, 248, 206);
}

.dark div.odoc .spec:target {
  background: rgb(17, 24, 39);
}

div.odoc .anchored:target,
div.odoc h1:target,
div.odoc h2:target,
div.odoc h3:target,
div.odoc h4:target,
div.odoc h5:target,
div.odoc h6:target {
  background: rgb(255, 243, 173);
}

.dark div.odoc .anchored:target,
.dark div.odoc h1:target,
.dark div.odoc h2:target,
.dark div.odoc h3:target,
.dark div.odoc h4:target,
.dark div.odoc h5:target,
.dark div.odoc h6:target {
  background: rgb(17, 24, 39);
}

div.odoc .spec:target a,
div.odoc .anchored:target a {
  color: rgb(204, 48, 0);
}

.dark div.odoc .spec:target a,
.dark div.odoc .anchored:target a {
  color: white;
}

div.odoc *[id] {
  scroll-margin-top: 2rem;
}

/* ----- */

div.odoc div.spec table {
  margin-top: 0px;
  margin-bottom: 0px;
  font-size: 1em;
  line-height: 1.75;
}

div.odoc div.spec tbody td {
  padding-top: 0px;
  padding-bottom: 0px;
}

div.odoc div.spec tbody td.def {
  padding-left: 1.25rem /* 20px */;
}

div.odoc div.spec tbody tr {
  border-width: 0px;
}

div.odoc td.def-doc .comment-delim {
  height: 0;
  display: block;
  opacity: 0;
}

div.odoc .def-doc p {
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}

div.odoc div.spec tbody td.def {
  padding-top: 0.75em;
  overflow-wrap: anywhere;
  min-width: 40%;
}

div.odoc-include details {
  position: relative;
}

div.odoc-include details:after {
  display: block;
  content: " ";
  position: absolute;
  border-radius: 0 1ex 1ex 0;
  right: -20px;
  top: 1px;
  bottom: 1px;
  width: 15px;
  background: rgba(0, 4, 15, 0.05);
  box-shadow: 0 0px 0 1px rgba(204, 204, 204, 0.53);
}

div.odoc-include summary:hover {
  background-color: rgba(228, 231, 235, 1);
}

div.odoc span[class*="keyword"] {
  color: rgba(17, 24, 39, 1);
  font-weight:normal;
}

.dark div.odoc span[class*="keyword"] {
  color: rgb(207, 211, 219);
}

div.odoc ul.at-tags {
  margin: 0.5em 0;
}

div.odoc ul.at-tags p {
  margin: 0;
}

div.odoc span.at-tag {
  font-weight: bold;
}

div.odoc a {
  font-weight: bold;
  color: #cc4e0c;
}

.dark div.odoc a {
  text-decoration: underline;
  color:white;
}

div.odoc code span > span {
  font-weight: normal;
}

div.odoc .arrow {
  font-weight: normal;
}

/* Comment delimiters, hidden but accessible to screen readers and 
selected for copy/pasting */

div.odoc .comment-delim {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


/* package explorer navmap and breadcrumb tag */

.navmap ul {
  border-color: gainsboro;
}

.dark .navmap ul {
  border-color: #555;
}

.no-expand, .icon-expand  {
  white-space:nowrap;
  display:flex;
  flex-wrap: nowrap;
}

.icon-expand {
  cursor: pointer;
}

.navmap-tag {
  display:flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width:2.1em;
  min-width:2.1em;
  margin:3px 0;
  padding:2px 1px;
  line-height:1;
  margin-right:6px;
  font-family: Inter, sans-serif;
  border-width: 2px;
  border-radius: 0.25em;
  font-weight:bold;
  font-size: .875rem;
  box-sizing: border-box;
}

.navmap-tag.library-tag::after {
  content: "lib";
}

.library-tag {
  color: rgb(91, 102, 114);
  background-color: rgb(91, 102, 114);
  border-color: rgb(91, 102, 114);
}

.navmap-tag.module-tag::after {
  content: "M";
}

.module-tag {
  color: #cc4e0c;
  background-color: #cc4e0c;
  border-color: #cc4e0c;
}

.navmap-tag.module-type-tag::after {
  content: "Mt";
}
.module-type-tag{
  color: #027491;
  background-color: #027491;
  border-color: #027491;
}

.navmap-tag.parameter-tag::after {
  content: "P";
}
.parameter-tag{
  color: green;
  background-color: green;
  border-color: green;
}
.navmap-tag.class-tag::after {
  content: "C";
}
.class-tag{
  color: rgb(163, 34, 34);
  background-color: rgb(163, 34, 34);
  border-color: rgb(163, 34, 34);
}

.navmap-tag.class-type-tag::after {
  content: "Ct";
}
.class-type-tag{
  color: rgb(32, 68, 165);
  background-color: rgb(32, 68, 165);
  border-color: rgb(32, 68, 165);
}

span.icon-expand > .navmap-tag,
span.no-expand > .navmap-tag {
  color: white;
}

div.nav-expand::before {
  content: "";
  display: flex;
  align-items: center;
  background-color: #cc4e0c;
  height: 22px;
  width: 2px;
  position: absolute;
  margin: 3px 0 3px;
  margin-left: -0.65rem;
  border-radius: 30px;
}

.xref-unresolved {
  text-decoration: underline;
  font-weight: 700;
  color: gray;
}

span.arrow-expand.open {
  color: #cc4e0c;
  transform: rotate(180deg);
}

span.sign-expand::before {
  content: " \002B";
  display: flex;
  align-items: center;
  font-size: 1.25rem;
  margin-top: -0.25rem;
}

span.sign-expand.open::before {
  content: " \2212";
  color: #cc4e0c;
}

/* Lists of modules */

.modules { list-style-type: none; padding-left:0; }
