/* Root variables */
:root {
  --full-black: #000000; /* Black colour */
  --full-white: #FFFFFF; /* White colour */
  --body-hyperlink-color: #005BA6; /* Link colour */
  --btn-active-color: #25ABE0; /* Button active colour */
  --btn-hover-color: #25ABE0; /* Button hover colour */
  --ig-header-container-color: #F5F5F5; /* Header background colour */
  --navbar-background-color: #212529; /* Navbar background colour */
  --publish-box-bg-color: gold; /* Version box background colour */
  --publish-box-border: maroon; /* Version box border colour */
  --publish-box-past-bg-color: #FFAAAA; /* Version box past background colour */
  --footer-background-color: #212529; /* Footer background colour */
  --footer-hyperlink-text-color: #B8DCF9; /* Footer links */
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6,
.title {
  margin: 1em 0 0.6em 0;
}

/* Heading prefixes */
.segment h2:before,
.segment h3:before,
.segment h4:before,
.segment h5:before,
.segment h6:before {
  color: #666666;
}

/* Segment container */
.segment > .container {
  padding-left: 10px;
  padding-right: 10px;
  background-color: transparent;
}

/* Header segment container */
#segment-header > .container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

/* Crest */
#family-nav {
  color: var(--full-black);
  margin-top: 0;
  margin-bottom: 0;
}

/* Crest logo */
#family-logo {
  float: none;
  margin: 30px 0 30px 0;
  margin-right: 0;
  display: block;
}

#ig-status {
  line-height: 1;
  margin: 0;
  color: var(--full-white);
  text-align: left;
  height: auto;
}

/* Site heading paragraph */
#ig-status p {
  padding-bottom: 0;
  margin: 0;
  line-height: inherit;
}

/* Site heading paragraph span */
#ig-status p span {
  display: block;
}

/* Site heading paragraph span image */
#ig-status p span:last-child img {
  position: relative;
  top: -1px;
  left: 5px;
}

/* Navbar */
.navbar-inverse {
  background-color: var(--navbar-background-color);
}

/* Navbar item */
.navbar-inverse .navbar-nav > li > a {
  color:  var(--full-white);
}

/* Navbar item hover */
.navbar-inverse .navbar-nav > li > a:hover {
  background-color: var(--btn-hover-color);
}

/* Dropdown item hover */
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-submenu:hover > a,
.dropdown-submenu:focus > a {
  background-color: var(--btn-hover-color);
  background-image: none;
  filter: none;
}

/* Navbar item open */
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
  background-color: var(--btn-active-color);
}

/* Dropdown item active */
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  background-color: var(--btn-active-color);
  background-image: none;
  background-repeat: repeat-x;
  filter: none;
}

.navbar-inverse li a[href^="http://"]:not([no-external^="true"]):after,
.navbar-inverse li a[href^="https://"]:not([href^="https://build.fhir.org"]):not([no-external^="true"]):after {
  filter: contrast(2) brightness(1.5) saturate(0.25);
}

/* Navbar stripe */
#stripe {
  background: var(--navbar-background-color);
}

/* Breadcrumb delimiter */
.breadcrumb > li + li:before {
  padding: 0 5px 0 10px;
  color: #666666;
}

/* Content inner wrapper */
#content > .inner-wrapper,
.container > .row > .inner-wrapper {
  margin-top: 10px;
  margin-bottom: 20px;
}

/* Version box link */
#publish-box a {
  color: var(--body-hyperlink-color);
}

/* Standard publish box - see https://hl7.org/fhir/R5/ */
#publish-box {
  padding: 5px;
  background-color: var(--publish-box-bg-color);
  border: 1px solid var(--publish-box-border);
}

/* Standard past publish box - see https://hl7.org/fhir/R4/ */
#publish-box-past {
  padding: 5px;
  background-color: var(--publish-box-past-bg-color);
  border: 1px solid var(--publish-box-border);
}

/* Body link */
#segment-content a {
  color: var(--body-hyperlink-color);
}

/* Copy button */
.copy-text .btn-copy {
  visibility: visible;
}

/* Table heading number */
.self-link-parent span {
  /* For contrast */
  color: var(--full-black) !important;
}

/* Styles for Implementer Hub context */

.dev-portal * {
  font-family: Inter, system-ui, -apple-system, "system-ui", "Segoe UI", Roboto, Arial, "Noto Sans", sans-serif !important;
}

.dev-portal p, .dev-portal li {
  font-size: 16px;
  line-height: inherit;
  font-family: inherit;
  margin: 0;
}

.dev-portal .section-inner {
  padding: 0 20px;
}

.dev-portal .section-container {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}

#dev-portal-banner {
  background-color: #212529;
}

#dev-portal-banner * {
  font-size: 16px;
}

.dev-portal #banner-inner {
  background-color: rgba(0, 0, 0, 0);
  background-image: radial-gradient(rgba(37, 171, 224, 0.9), rgba(13, 18, 31, 0));
  background-size: 130% 220%;
}

.dev-portal #banner-container {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: start;
  align-items: start;
  padding: 24px 0;
}

@media(min-width: 700px) {
  .dev-portal #banner-container {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

.dev-portal #brand-banner {
  padding: 0 24px 0 0;
}

.dev-portal #dev-portal-logo {
  padding-bottom: 16px;
}

.dev-portal #dev-portal-sitename {
  padding-bottom: 12px;
}

@media(min-width: 700px) {
  .dev-portal #dev-portal-sitename {
    padding-bottom: 0;
  }
}

#dev-portal-sitename h1 {
  color: var(--full-white);
  font-size: 32px;
  font-weight: 500;
  line-height: 1.25;
  margin: 0;
  border-bottom: 0 none transparent;
  padding-bottom: 0;
}

.dev-portal #subtitle {
  color: var(--full-white);
  font-size: 20px;
  font-weight: 500;
  padding: 12px 0 0 0;
}

.dev-portal #subtitle img {
  margin: 0 0 0 8px;
}

.dev-portal #menu-banner ul {
  padding-left: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.dev-portal #menu-banner li {
  list-style: none;
  text-wrap: nowrap;
  padding: 4px 0;
}

@media(min-width: 1160px) {
  .dev-portal #menu-banner ul {
    flex-direction: row;
  }

  .dev-portal #menu-banner li {
    padding: 0 16px;
  }
}

.dev-portal #menu-banner a {
  color: var(--full-white);
  text-decoration: none;
}

#dev-portal-brand-ribbon {
  height: 16px;
  display: flex;
  flex-direction: row;
  width: 100%;
  margin-top: 16px;
}

#brand-ribbon-band-blue-dark {
  background-color: #1f4388;
  width: 25%;
}

#brand-ribbon-band-blue-light {
  background-color: #33a3dc;
  width: 25%;
}

#brand-ribbon-band-orange {
  background-color: #ef4123;
  width: 7.5%;
}

#brand-ribbon-band-red {
  background-color: #b10f1f;
  width: 7.5%;
}

#brand-ribbon-band-yellow {
  background-color: #faa61a;
  width: 35%;
}

#dev-portal-footer {
  background-color: var(--footer-background-color);
  color: var(--full-white);
}

#dev-portal-footer * {
  font-size: 14px !important;
}

#dev-portal-footer a {
  color: var(--footer-hyperlink-text-color);
}

.dev-portal #brand-footer {
  padding: 32px 0;
}

.dev-portal #footer-acknowledgement {
  padding: 16px 0 32px 0;
}

/* Styles for embedded iFrame in Implementer Hub context */

body.framed {
  border: 1px solid #ccc;
  padding: 10px;
  overflow: hidden;
}

body.framed .container {
  max-width: 100% !important;
}

body.framed .dev-portal-embed-hide {
  display: none !important;
}

body.framed #dev-portal-footer {
  padding: 15px 0 10px 0;
}

/* ==========================================================================
   Component Styles
   ========================================================================== */

/* Plain Language Description Section */
.plain-language-description {
  border: 1px solid var(--body-hyperlink-color);
  border-radius: 8px;
  background-color: #e9f4ff;
  margin: 20px 0;
  overflow: auto;
  display: block;
  width: 100%;
}

.plain-language-description summary {
  background-color: #236c89;
  color: var(--full-white);
  padding: 10px 15px;
  font-weight: 400;
  cursor: pointer;
  list-style: none;
  outline: none;
  display: list-item;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  font-size: 16px;
}

.plain-language-description summary::-webkit-details-marker {
  display: none;
}

.plain-language-description summary::-moz-list-bullet {
  list-style-type: none;
}

.plain-language-description summary::marker {
  display: none;
}

.plain-language-description summary::before {
  content: "Plain Language Description";
}

.plain-language-description summary::after {
  content: "Show";
  float: right;
}

.plain-language-description[open] summary::after {
  content: "Hide";
}

.plain-language-description .content {
  padding: 15px;
  line-height: 1.6;
  background-color: inherit;
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  clear: both;
}