.doc {
  color: var(--doc-font-color);
  font-size: var(--doc-font-size);
  hyphens: auto;
  line-height: var(--doc-line-height);
  margin: var(--doc-margin);
  max-width: var(--doc-max-width);
  padding: 0 1rem 4rem;
}

@media screen and (min-width: 1024px) {
  .doc {
    font-size: var(--doc-font-size--desktop);
    margin: var(--doc-margin--desktop);
    max-width: var(--doc-max-width--desktop);
    min-width: 0;
  }
}

.doc h1,
.doc h2,
.doc h3,
.doc h4,
.doc h5,
.doc h6 {
  color: var(--heading-font-color);
  font-weight: var(--heading-font-weight);
  hyphens: none;
  line-height: 1.3;
  margin: 1rem 0 0;
  text-transform: uppercase;
}

.static > h1:first-child,
.doc > h1.page:first-child {
  font-size: calc(36 / var(--rem-base) * 1rem);
  margin: 1.5rem 0;
}

#preamble + .sect1,
.doc .sect1 + .sect1 {
  margin-top: 2rem;
}

.doc h1.sect0 {
  background: var(--abstract-background);
  font-size: 1.8em;
  margin: 1.5rem -1rem 0;
  padding: 0.5rem 1rem;
}

.doc h2:not(.discrete) {
  margin-top: 1rem;
  margin-left: -1rem;
  margin-right: -1rem;
  padding: 0.4rem 1rem 0.1rem;
  overflow-wrap: break-word;
}

.doc h2:not(.discrete)::after {
  content: "";
  display: block;
  position: relative;
  height: 1px;
  background-color: var(--section-divider-color);
}

.doc h3:not(.discrete) {
  font-weight: var(--alt-heading-font-weight);
  overflow-wrap: break-word;
}

.doc h1 .anchor,
.doc h2 .anchor,
.doc h3 .anchor,
.doc h4 .anchor,
.doc h5 .anchor,
.doc h6 .anchor {
  position: absolute;
  text-decoration: none;
  width: 1.75ex;
  margin-left: -1.5ex;
  visibility: hidden;
  font-size: 0.8em;
  font-weight: normal;
  padding-top: 0.05em;
}

.doc h1 .anchor::before,
.doc h2 .anchor::before,
.doc h3 .anchor::before,
.doc h4 .anchor::before,
.doc h5 .anchor::before,
.doc h6 .anchor::before {
  content: '\00a7';
}

.doc h1:hover .anchor,
.doc h2:hover .anchor,
.doc h3:hover .anchor,
.doc h4:hover .anchor,
.doc h5:hover .anchor,
.doc h6:hover .anchor {
  visibility: visible;
}

.doc p {
  margin: 0;
}

.doc .table-wrapper {
  overflow-x: auto;
}

.doc .table-wrapper::-webkit-scrollbar {
  height: var(--scrollbar-thickness);
}

.doc .table-wrapper::-webkit-scrollbar-track {
  background: var(--scrollbar-track-color);
  border-radius: var(--scrollbar-radius);
}

.doc .table-wrapper::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb-color);
  border-radius: var(--scrollbar-radius);
}

.doc .table-wrapper::-webkit-scrollbar-thumb:hover,
.doc .table-wrapper::-webkit-scrollbar-thumb:active {
  background: var(--scrollbar-thumb-active-color);
}

.doc .table-wrapper table {
  width: 100%;
}

.doc .tableblock p {
  font-size: inherit;
}

.doc :not(td) > p,
.doc :not(td) > .content,
.doc .tableblock td:not(:first-child) > p,
.doc .tableblock thead {
  hyphens: auto;
}

.doc a {
  color: var(--link-font-color);
  word-break: break-word;
}

.doc table.tableblock td a {
  word-break: normal;
}

.doc a:hover {
  color: var(--link_hover-font-color);
}

.doc a.unresolved {
  color: var(--link_unresolved-font-color);
}

.doc i.fa {
  font-style: normal;
}

.doc p code,
.doc thead code {
  color: var(--code-font-color);
  background: var(--code-background);
  border-radius: 0.2rem;
  font-size: calc(14 / var(--rem-base) * 1rem);
  padding: 0.075rem 0.25rem 0.125rem;
  overflow-wrap: break-word;
}

.doc pre {
  font-size: calc(14 / var(--rem-base) * 1rem);
  line-height: 1.5;
  margin: 0;
}

.doc blockquote {
  margin: 0;
}

.doc .right {
  float: right;
}

.doc .left {
  float: left;
}

.doc .underline {
  text-decoration: underline;
}

.doc .line-through {
  text-decoration: line-through;
}

.doc .paragraph,
.doc .dlist,
.doc .olist,
.doc .ulist,
.doc .exampleblock,
.doc .imageblock,
.doc .listingblock,
.doc .literalblock,
.doc .sidebarblock,
.doc .verseblock,
.doc .quoteblock,
.doc .partintro {
  margin: 1rem 0 0;
  word-break: break-word;
}

.doc table.tableblock {
  border-collapse: collapse;
  font-size: calc(15 / var(--rem-base) * 1rem);
  margin: 2rem 0;
  /* enable table-layout: fixed if you want the table width to be enforced strictly */
  /* alternative is to wrap table in div and set overflow-x: auto on the wrapper */
  /* table-layout: fixed; */
}

.doc table.stretch {
  width: 100%;
}

.doc table.tableblock thead th {
  border-bottom: 2.5px solid var(--table-border-color);
  padding: 0.5rem;
}

.doc table.tableblock td,
.doc table.tableblock > :not(thead) th {
  border-top: 1px solid var(--table-border-color);
  border-bottom: 1px solid var(--table-border-color);
  padding: 0.5rem;
}

.doc .halign-left {
  text-align: left;
}

.doc .halign-right {
  text-align: right;
}

.doc .halign-center {
  text-align: center;
}

.doc .valign-top {
  vertical-align: top;
}

.doc .valign-bottom {
  vertical-align: bottom;
}

.doc .valign-middle {
  vertical-align: middle;
}

.doc .admonitionblock {
  margin: 1.4rem 0 0;
  box-shadow: inset 0 0 1.75px var(--abstract-border-color);
}

.doc .admonitionblock p,
.doc .admonitionblock td.content {
  font-size: calc(16 / var(--rem-base) * 1rem);
}

.doc .admonitionblock td.content > :first-child {
  margin: 0;
}

.doc .admonitionblock pre {
  font-size: calc(15 / var(--rem-base) * 1rem);
}

.doc .admonitionblock > table {
  border-collapse: collapse;
  table-layout: fixed;
  position: relative;
  width: 100%;
}

.doc .admonitionblock td.content {
  padding: 1rem 1rem 0.75rem;
  background: var(--admonition-background);
  width: 100%;
}

.doc .admonitionblock .icon {
  position: absolute;
  top: 0;
  left: 0;
  font-size: calc(15 / var(--rem-base) * 1rem);
  padding: 0 0.5rem;
  height: 1.25rem;
  line-height: 1;
  font-weight: var(--admonition-label-font-weight);
  text-transform: uppercase;
  border-radius: 0.45rem;
  transform: translate(-0.5rem, -50%);
}

.doc .admonitionblock.caution .icon {
  background-color: var(--caution-color);
  color: var(--caution-on-color);
}

.doc .admonitionblock.important .icon {
  background-color: var(--important-color);
  color: var(--important-on-color);
}

.doc .admonitionblock.note .icon {
  background-color: var(--note-color);
  color: var(--note-on-color);
}

.doc .admonitionblock.tip .icon {
  background-color: var(--tip-color);
  color: var(--tip-on-color);
}

.doc .admonitionblock.warning .icon {
  background-color: var(--warning-color);
  color: var(--warning-on-color);
}

.doc .admonitionblock .icon i {
  display: inline-flex;
  align-items: center;
  height: 100%;
}

.doc .admonitionblock .icon i::after {
  content: attr(title);
  hyphens: none;
}

.doc .imageblock {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.doc .imageblock img {
  display: block;
}

.doc .imageblock img,
.doc .image > img {
  height: auto;
  max-width: 100%;
}

.doc table.tableblock td .imageblock img {
  max-width: 50px;
}

#preamble .abstract blockquote {
  background: var(--abstract-background);
  border-left: 5px solid var(--abstract-border-color);
  color: var(--abstract-font-color);
  font-size: calc(16 / var(--rem-base) * 1rem);
  padding: 0.75em 1em;
}

.doc .quoteblock {
  background: var(--quote-background);
  border-left: 5px solid var(--quote-border-color);
  color: var(--quote-font-color);
  padding: 0.25rem 2rem 1.25rem;
}

.doc .quoteblock .attribution {
  color: var(--quote-attribution-font-color);
  font-size: calc(15 / var(--rem-base) * 1rem);
  margin-top: 0.75rem;
}

.doc .quoteblock blockquote {
  margin-top: 1rem;
}

.doc .quoteblock .paragraph {
  font-style: italic;
}

.doc .quoteblock cite {
  padding-left: 1em;
}

.doc table.tableblock .paragraph {
  margin: 0;
  padding: 0;
}

.doc table.tableblock .admonitionblock,
.doc .ulist .admonitionblock,
.doc .olist .admonitionblock {
  padding: 0;
}

.doc ol,
.doc ul {
  margin: 0;
  padding: 0 0 0 2rem;
}

.doc ol.arabic {
  list-style-type: decimal;
}

.doc ol.decimal {
  list-style-type: decimal-leading-zero;
}

.doc ol.loweralpha {
  list-style-type: lower-alpha;
}

.doc ol.upperalpha {
  list-style-type: upper-alpha;
}

.doc ol.lowerroman {
  list-style-type: lower-roman;
}

.doc ol.upperroman {
  list-style-type: upper-roman;
}

.doc ol.lowergreek {
  list-style-type: lower-greek;
}

.doc ul.checklist {
  padding-left: 0.5rem;
  list-style: none;
}

.doc ul.checklist p > i.fa-check-square-o:first-child,
.doc ul.checklist p > i.fa-square-o:first-child {
  display: inline-flex;
  justify-content: center;
  width: 1.25rem;
}

.doc ul.checklist i.fa-check-square-o::before {
  content: '\2713';
}

.doc ul.checklist i.fa-square-o::before {
  content: '\274f';
}

.doc .dlist .dlist,
.doc .dlist .olist,
.doc .dlist .ulist,
.doc .olist .dlist,
.doc .olist .olist,
.doc .olist .ulist,
.doc .ulist .dlist,
.doc .ulist .olist,
.doc .ulist .ulist {
  margin-top: 0.5rem;
}

.doc .olist li,
.doc .ulist li {
  margin-bottom: 0.5rem;
}

.doc .ulist .listingblock,
.doc .olist .listingblock,
.doc .admonitionblock .listingblock {
  padding: 0;
}

.doc .admonitionblock .title,
.doc .exampleblock .title,
.doc .imageblock .title,
.doc .literalblock .title,
.doc .listingblock .title,
.doc .openblock .title,
.doc .tableblock caption {
  color: var(--caption-font-color);
  font-size: calc(16 / var(--rem-base) * 1rem);
  font-weight: var(--caption-font-weight);
  font-style: italic;
  hyphens: none;
  letter-spacing: 0.01em;
  padding-bottom: 0.075rem;
  text-align: left;
}

.doc .imageblock .title {
  margin-top: 0.5rem;
  padding-bottom: 0;
}

.doc .admonitionblock .title + .paragraph {
  margin-top: 0;
}

.doc .exampleblock > .content {
  background: var(--example-background);
  border: 0.25rem solid var(--example-border-color);
  border-radius: 0.5rem;
  padding: 0.75rem;
}

.doc .exampleblock > .content > :first-child {
  margin-top: 0;
}

.doc .sidebarblock {
  background: var(--sidebar-background);
  border-radius: 0.75rem;
  padding: 0.75rem 1.5rem;
}

.doc .sidebarblock > .content > .title {
  font-size: calc(22.5 / var(--rem-base) * 1rem);
  font-weight: var(--alt-heading-font-weight);
  line-height: 1.3;
  margin-bottom: -0.3em;
  text-align: center;
}

.doc .sidebarblock > .content > :not(.title):first-child {
  margin-top: 0;
}

/* NEEDS REVIEW prevent pre in table from causing article to exceed bounds */
.doc .tableblock pre,
.doc .listingblock.wrap pre {
  white-space: pre-wrap;
}

.doc pre:not(.highlight),
.doc pre.highlight code {
  background: var(--pre-background);
  box-shadow: inset 0 0 1.75px var(--pre-border-color);
  display: block;
  overflow-x: auto;
  padding: 0.75rem;
}

.doc pre.highlight code::-webkit-scrollbar {
  height: var(--scrollbar-thickness);
}

.doc pre.highlight code::-webkit-scrollbar-track {
  background: var(--scrollbar-track-color);
  border-radius: var(--scrollbar-radius);
}

.doc pre.highlight code::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb-color);
  border-radius: var(--scrollbar-radius);
}

.doc pre.highlight code::-webkit-scrollbar-thumb:hover,
.doc pre.highlight code::-webkit-scrollbar-thumb:active {
  background: var(--scrollbar-thumb-active-color);
}

/* NOTE assume pre.highlight contains code[data-lang] */
.doc pre.highlight {
  position: relative;
}

.doc .listingblock code[data-lang]::before {
  content: attr(data-lang);
  display: none;
  color: var(--pre-annotation-font-color);
  font-size: calc(13.5 / var(--rem-base) * 1rem);
  letter-spacing: 0.05em;
  line-height: 1;
  text-transform: uppercase;
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
}

.doc .listingblock:hover code[data-lang]::before {
  display: block;
}

.doc .dlist dt {
  font-style: italic;
}

.doc .dlist dd {
  margin: 0 0 0.3rem 1.5rem;
}

.doc .colist {
  font-size: calc(16 / var(--rem-base) * 1rem);
  margin: 0.25rem 0 -0.25rem;
}

.doc .colist > table > tr > :first-child,
.doc .colist > table > tbody > tr > :first-child {
  padding: 0.25em 0.5rem 0;
  vertical-align: top;
}

.doc .colist > table > tr > :last-child,
.doc .colist > table > tbody > tr > :last-child {
  padding: 0.25rem 0;
}

.doc .conum[data-value] {
  border: 1px solid currentColor;
  border-radius: 100%;
  display: inline-block;
  font-family: var(--body-font-family);
  font-size: calc(13.5 / var(--rem-base) * 1rem);
  font-style: normal;
  height: 1.25em;
  line-height: 1.2;
  text-align: center;
  width: 1.25em;
  letter-spacing: -0.25ex;
  text-indent: -0.25ex;
}

.doc .conum[data-value]::after {
  content: attr(data-value);
}

.doc .conum[data-value] + b {
  display: none;
}

.doc b.button {
  white-space: nowrap;
}

.doc b.button::before {
  content: "[";
  padding-right: 0.25em;
}

.doc b.button::after {
  content: "]";
  padding-left: 0.25em;
}

.doc kbd {
  display: inline-block;
  font-size: calc(12 / var(--rem-base) * 1rem);
  background: var(--kbd-background);
  border: 1px solid var(--kbd-border-color);
  border-radius: 0.25em;
  box-shadow: 0 1px 0 var(--kbd-border-color), 0 0 0 0.1em var(--body-background) inset;
  padding: 0.25em 0.5em;
  vertical-align: text-bottom;
  white-space: nowrap;
}

.doc kbd,
.doc .keyseq {
  line-height: 1;
}

.doc .keyseq {
  font-size: calc(16 / var(--rem-base) * 1rem);
}

.doc .keyseq kbd {
  margin: 0 0.125em;
}

.doc .keyseq kbd:first-child {
  margin-left: 0;
}

.doc .keyseq kbd:last-child {
  margin-right: 0;
}

.doc .menuseq i.caret::before {
  content: "\203a";
  font-size: 1.1em;
  font-weight: var(--body-font-weight-bold);
  line-height: calc(1 / 1.1);
}

.doc a.bare,
.doc b.button,
.doc code,
.doc .path,
.doc kbd,
.doc .menuseq,
.doc .icon i::after {
  hyphens: none;
}

/* for mobile screens */
@media screen and (max-width: 626px) {
  #preamble + .sect1,
  .doc .sect1 + .sect1 {
    overflow-wrap: break-word;
  }
}

@media screen and (max-width: 1023px) and (min-width: 480px) {
  .doc p code,
  .doc thead code {
    font-size: var(--body-font-size);
  }
}

table.tableblock thead {
  background: var(--color-smoke-90);
  font-weight: var(--body-font-weight-bold);
}

/* Status badges used in Camel Quarkus extension pages */
div.badges p {
  text-align: left;
}

div.badges span {
  color: var(--color-white);
  padding: 0.15rem 0.3rem 0.15rem 0.3rem;
  font-weight: normal;
  font-style: normal;
  font-size: 0.8rem;
}

div.badges span.badge-key {
  background-color: var(--color-gray-60);
  border-radius: 0.2rem 0 0 0.2rem;
}

div.badges span.badge-version {
  background-color: var(--note-color);
  border-radius: 0 0.2rem 0.2rem 0;
}

div.badges span.badge-supported {
  background-color: var(--tip-color);
  border-radius: 0 0.2rem 0.2rem 0;
}

div.badges span.badge-unsupported {
  background-color: var(--important-color);
  border-radius: 0 0.2rem 0.2rem 0;
}
