html, body {
  padding: 0;
  margin: 0; }

p a[href^="http://"]:not([no-external^="true"]):after, p a[href^="https://"]:not([no-external^="true"]):after {
    content: url(external.png);
    display: inline-block;
    text-decoration: none;
    padding-left: 3px;
}

body {
  position: relative;
  background-color:#fafafa;
  font-family: "Public Sans", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
  height: 100%;
  counter-reset: h2;
    line-height: 1.5;
 }
  body header {
    background-color: #ffff; }
    body header #header-row {
      display:flex;
      align-items:center;
    }
    body header .title {
      font-size: 24px;
      padding-top: 23px;
      color: black; }
      body header .title a {
        color: black;
        text-decoration: none; }
    body header .fhir-logo {
      text-align: left;
      margin-top: 10px;
      margin-bottom: 5px; }
    body header .hl7-logo {
      text-align: right;
      margin-top: 15px; }
  body .content {
    overflow: hidden;
    min-height: 100%;
    position: relative;
    height: auto !important;
    margin-bottom: -155px;
    padding-bottom: 155px; }
  body footer {
    background-color: #fff;
    color: black;
    height: fit-content;
    position: relative;
    padding-top: 40px; }

.dynamic {
    display: none;
    background-color: transparent;
    color: transparent;
    padding: 5px;
    text-align: center;
    height: 30px;
}

    .dynamic.versions-banner.not-latest {
        background-color: #f0ad4e;
        color: #fff;
    }

    .dynamic.versions-banner.latest {
        background-color: #5cb85c;
        color: #fff;
    }


/* .content.container:has(.col-md-6) {
  width:1270px;
} */

table {
  font-family: "Public Sans", system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif!important;
  overflow:unset!important;
}

table:not(.treetable) tr:nth-child(even) td {
  background-color: #f5f5f5!important;
}

.content.container[role=main]  {
  overflow:unset;
}

th {
  background-color:#e0e0e0!important;
  position: sticky!important;
  top: 0!important;
}

.navbar-default {
  background-color:#fff8eb;
  box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important;
}

.navbar-default a {
  text-decoration:none;
}

.navbar-default .navbar-nav>.open>a, .navbar-default .navbar-nav>.open>a:focus, .navbar-default .navbar-nav>.open>a:hover {
  color:#232948!important;
}

h2 {
  margin-top:40px;
  border-bottom:1px solid lightgrey;
  counter-reset: h3;
}

h3 {
  margin-top:30px;
  border-bottom:1px dashed lightgray;
  counter-reset: h4;
}

h4 {
  margin-top:20px;
  counter-reset: h5;
}

h5 {
  counter-reset: h6;
}


h2:before {
    counter-increment: h2;
    content: counter(h2) ". ";
    padding-right: 5px;
}

h3:before {
    counter-increment: h3;
    content: counter(h2) "." counter(h3) ". " 
}

h4:before {
    counter-increment: h4;
    content: counter(h2) "." counter(h3) "." counter(h4) ". "
}

h5:before {
    counter-increment: h5;
    content: counter(h2) "." counter(h3) "." counter(h4) "." counter(h5) ". "
}


code {
  background-color:#fff8eb;
}

table:not(.treetable) td,th {
  padding:1rem!important;
}

.treetable-wrapper {
  background-color:#fff;
  
}

.nav a {
  text-decoration:none!important;
}

a {
  color:#232948;
  text-decoration:underline;  
}

a:hover {
  color: #232948;
  text-decoration:none;
}

.treetable-wrapper a {
  text-decoration:none;
}

.treetable-wrapper a:hover {
  text-decoration:underline;
}

.cool-tabs .nav-tabs>li.active>a {
  background-color:#232948!important;
}

div:has(.affix-top) {
  position:sticky;
  top:0;
}

.affix-top {
  background-color:#fff;
  border: 1px solid #e0e0e0;  
  border-bottom:none;
  border-radius:4px;
}

.affix-top li {
  border-bottom:1px solid #dee2e6;
}

.nav-pills>li>a {
  border-radius:0px;
}

.section-card {
  background-color:white;
  border: 1px solid #f5f5f5;
  border-radius: .3rem;
  padding:2rem;
  margin-bottom:2rem;
}

.section-card > h5 {
  padding-block:1rem;
}

.affix-top:before {
  content: "On this page";
  padding: 10px 20px;
  font-weight:600;
}

#scrollToTopBtn {
  background-color: #232948;
  border: none;
  border-radius: 50%;
  height: 48px;
  width: 48px;
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 99;
  cursor:pointer;
}

#scrollToTopBtn svg {
  color:white;
  display: block;
  margin: auto;
}