/*!
 * BASIC key bridge template configs and CSS mods.
 * Copyright (c) 2006 - 2019 Key Bridge
 * Released under MIT license.
 *
 * Since 1.0.3 includes extracts from GitHub light syntax theme v0.5.0
 * Copyright (c) 2012 - 2017 GitHub, Inc.
 * Licensed under MIT (https://github.com/primer/github-syntax-theme-generator/blob/master/LICENSE)
 * Extracts created on : Sep 27, 2017, 8:43:04 AM
 *
 * 10/25/17 - sync with bs-4 beta
 *            resurrect secondary button style as btn-default
 *            extend border patrol
 * 11/04/17 - add text-code
 * 03/20/18 - consolidate pixel pushes from various sources into this
 * v1.0.0 - 05/04/18 - add simple tables
 * v1.0.1 - 06/17/18 - add underline to h1, h2, h3 headers
 *        - 06/26/18 - add list group side tabs
 * v1.0.2 - 09/17/18 - add markdown image sizing
 * v1.0.3 - 10/25/18 - update markdown image; set display:block
 * v1.0.4 - 01/10/19 - underline from h1, h2, h3 requires .markdown container
 * v1.0.5 - 02/10/19 - list-group-item.selected plain text (no longer bold)
 * v1.0.6 - 09/21/19 - do not underline markdown headers
 * - add left border to blockquote
 * - add link-dark
 * - 10/30/19 - add link css following bs-4 naming
 * - 2020-03-08 - add bottom margin to mermaid images
 * v1.0.7 - 2021-01-04 - add template header css to this
 * v1.0.8 - 2022-02-21 - update inverse (dark) header css, add form-group
 * v1.0.9 - 2025-02-27 - use bootstrap 5.x with bootstrap icons, remove fontAwesome
 *        - add sidebar media size
 */
html {
  position: relative;
  min-height: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: transparent;
}

body {
  word-wrap: break-word;
}
.body-md {
  min-width: 768px;
}
.body-lg {
  min-width: 992px;
}
.body-xl {
  min-width: 1200px;
}
.body-xga {
  min-width: 1020px;
}

/*icons*/
/* @since 1.0.5 using bootstrap Icons*/
/* i, icon {display: inline-block;font-family: FontAwesome;font-style: normal;font-weight: normal;line-height: 1;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;min-width: 16px;} */

/*remove abbr right padding*/
abbr {
  margin-right: 0px !important;
}

/*simple tables*/
.table-no-border td, .table-no-border th {
  border: none !important;
}
.table-no-padding td, .table-no-padding th {
  padding: 0 !important;
}

/*preserve card-bloc from bs-4 alpha; same as card-body*/
.card-block {
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  padding: 1.25rem;
}

/*input group renders below dropdown*/
.input-group {
  z-index: 0;
}

/*resurrect secondary button style as btn-default*/
.btn-default {
  color: #292b2c;
  background-color: #fff;
  border-color: #ccc;
}
.btn-default:hover {
  color: #292b2c;
  background-color: #e6e6e6;
  border-color: #adadad;
}
.btn-default:focus, .btn-default.focus {
  -webkit-box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
  box-shadow: 0 0 0 2px rgba(204, 204, 204, 0.5);
}
.btn-default.disabled, .btn-default:disabled {
  background-color: #fff;
  border-color: #ccc;
}
.btn-default:active, .btn-default.active,
.show > .btn-default.dropdown-toggle {
  color: #292b2c;
  background-color: #e6e6e6;
  background-image: none;
  border-color: #adadad;
}

/*add darker blue buttons*/
.btn-blue{
  background-color: #005f9b;
  border-color: #005f9b;
  color: #fff;
}
.btn-blue:hover{
  background-color: #1a6da2;
  border-color: #1a6da2;
  color: #fff;
}

.btn-blue-dark{
  background-color: #003f66;
  border-color: #003f66;
  color: #fff;
}
.btn-blue-dark:hover{
  background-color: #0063a2;
  border-color: #0063a2;
  color: #fff;
}

/*fix JSF radio selectOneRadio and selectManyCheckbox*/
[type="radio"] {
  margin-right: 0.5rem !important;
}
[type="checkbox"] {
  margin-right: 0.5rem !important;
}
.select td {
  border: none !important;
}
.select label {
  font-weight: inherit;
}

/*border patrol*/
.border-none {
  border: none !important;
}
.border-bottom {
  border-bottom: 1px solid rgba(0,0,0,.2);
}
.border-top {
  border-top: 1px solid rgba(0,0,0,.2);
}
.border-left {
  border-left: 1px solid rgba(0,0,0,.2);
}
.border-right {
  border-right: 1px solid rgba(0,0,0,.2);
}

/*figures wrap an image and a label*/
figure {
  margin-bottom: 1em;
}
figure img {
  margin-bottom: 0.5em;
}
figure label, figure caption, figure .caption {
  font-size: smaller;
  font-style: italic;
}

/*make blockquotes the same font size unless specifically declared otherwise*/
/*add a left border for emphasis*/
blockquote, .blockquote {
  font-size: inherit !important;
  padding-left: 1.5rem;
  border-left: 5px solid rgba(0,0,0,.1)
}

/*fix ugly selects in safari*/
select.form-control {
  -webkit-appearance: none;
}
/*right pad abbreviations*/
abbr {
  margin-right: 5px;
}

/*tables*/
th{
  white-space: nowrap;
}
/*add "inactive" as a grey table contextual class*/
.table > thead > tr > td.inactive, .table > tbody > tr > td.inactive, .table > tfoot > tr > td.inactive, .table > thead > tr > th.inactive, .table > tbody > tr > th.inactive, .table > tfoot > tr > th.inactive, .table > thead > tr.inactive > td, .table > tbody > tr.inactive > td, .table > tfoot > tr.inactive > td, .table > thead > tr.inactive > th, .table > tbody > tr.inactive > th, .table > tfoot > tr.inactive > th {
  background-color: #DDD;
}
.bg-inactive {
  background-color: #DDD;
}

/*jumbotron list text size normal*/
.jumbotron ul, .jumbotron ol, .jumbotron dl, .jumbotron table th, .jumbotron table td {
  margin-bottom: 1rem;
}

/*do not pad Google Code PrettyPrint*/
.prettyprint {
  border: none !important;
  padding: 1em !important;
  font-size: smaller;
}

/*do not underline links on hover*/
a:hover{
  text-decoration: none !important;
}

/*make labels bold*/
label {
  font-weight: bold;
}

/*more background colors*/
.bg-black{
  background-color: #000;
}
.bg-inherit {
  background-color: inherit !important
}
/*bg-blue is cyan*/
.bg-blue {
  background-color:#0366d6 !important
}
/*blue light and orange light are complements*/
.bg-blue-light {
  background-color:#64acfc !important
}
.bg-orange-light {
  background-color:#d67303 !important
}

.bg-steel-light {
  background-color: #d6dee6 !important
}
.bg-gray-light {
  background-color:#fafbfc !important
}
.bg-gray {
  background-color:#586069 !important
}
.bg-gray-dark {
  background-color:#24292e !important
}
.bg-orange {
  background-color:#a04100 !important
}
.bg-orange-light {
  background-color:#e36209 !important
}
.bg-purple {
  background-color:#6f42c1 !important
}
.bg-white {
  background-color:#fff !important
}
.bg-pending {
  background-color:#b08800 !important
}
.bg-blue{
  background-color: #005f9b;
}
/*a darker background than bs-4 standard bg.dark*/
.bg-midnight {
  background-color: #1b1c1d!important;
}
/*a.bg-inverse:focus, a.bg-inverse:hover {  background-color: #1d2124 !important;}        nanobar*/
/*a light gray*/
.bg-faded {
  background-color: #f7f7f7 !important;
}
/*mustard*/
.bg-pending {
  background-color: #dbab09 !important
}

/*text decorations*/
.text-italic {
  font-style: italic !important;
}
.text-underline {
  text-decoration: underline !important;
}
.text-strikethrough {
  text-decoration: line-through !important;
}
.text-inactive {
  color: #DDD !important;
}
.text-indent {
  padding: 0 2em 0 2em !important;
}
.text-small {
  font-size: small !important;
}
.text-smaller {
  font-size: smaller !important;
}
.text-large {
  font-size: large !important;
}
.text-larger {
  font-size: larger !important;
}
.text-bold {
  font-weight:600 !important
}
.text-bolder {
  font-weight: bolder !important;
}
.text-normal {
  font-weight:normal !important
}
.text-italic {
  font-style:italic !important
}
.text-uppercase {
  text-transform:uppercase !important
}
.text-lowercase {
  text-transform:lowercase !important
}
.text-capitalize {
  text-transform:capitalize !important
}
.text-initial {
  text-transform:initial !important
}
.text-underline {
  text-decoration: underline !important
}
.text-no-underline {
  text-decoration:none !important
}
.text-ws-no-wrap {
  white-space:nowrap !important
}
.text-ws-normal {
  white-space:normal !important
}
.text-wb-break-all {
  word-break:break-all !important
}

.text-emphasized {
  font-weight:600;
  color:#24292e
}
.text-shadow-dark {
  text-shadow:0 1px 1px rgba(27,31,35,0.25),0 1px 25px rgba(27,31,35,0.75)
}
.text-shadow-light {
  text-shadow:0 1px 0 rgba(255,255,255,0.5)
}

.text-superscript {
  position: relative;
  top: -0.5em;
  font-size: small;
}
.text-subscript {
  position: relative;
  bottom: -0.5em;
  font-size: small;
}

/*text colors*/
.text-inherit {
  color:inherit !important
}
/*.text-blue {  color:#0366d6 !important}*/
.text-black {
  color:#000 !important
}
.text-blue{
  color: #005f9b !important;
}
.text-blue-dark{
  color: #003f66 !important;
}
.text-red {
  color:#cb2431 !important
}
.text-cyan{
  color:#17a2b8 !important;
}
.text-gray{
  color:#6c757d !important;
}
.text-gray-dark{
  color:#343a40 !important;
}
.text-gray-light {
  color:#6a737d !important
}
.text-gray {
  color:#586069 !important
}
.text-gray-dark {
  color:#24292e !important
}
.text-green {
  color:#28a745 !important
}
.text-orange {
  color:#a04100 !important
}
.text-orange-light {
  color:#e36209 !important
}
.text-purple {
  color:#6f42c1 !important
}
.text-white {
  color:#fff !important
}
.text-pending {
  color:#b08800 !important
}
.text-light{
  color: rgba(255,255,255,0.8) !important;
}
.text-shadow-light {
  text-shadow: 1px 1px 2px #fff;
}
.text-shadow-dark {
  text-shadow: 1px 1px 2px #000;
}

.link-white {
  color:#fff !important
}
.link-white:hover {
  color:#cfcfcf !important
}
.link-light{
  color: #868686 !important;
}
.link-light:hover {
  color: #5c5c5c !important;
}
.link-gray {
  color:#586069 !important;
}
.link-gray:hover {
  color:#0366d6 !important;
}
.link-gray-dark {
  color:#24292e !important;
}
.link-gray-dark:hover {
  color:#0366d6 !important;
}
.link-hover-blue:hover {
  color:#0366d6 !important;
}
.link-black {
  color:#000 !important
}
.link-black:hover {
  color:#586069 !important
}
.link-muted {
  color:#586069 !important;
}
.link-muted:hover {
  color:#0366d6 !important;
  text-decoration:none;
}

.text-code, .code {
  font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  padding: .2rem .4rem;
  font-size: 90%;
  color: #bd4147;
  background-color: #f8f9fa;
  border-radius: .25rem;
}

/*stinking badges*/
.badge-outline-dark {
  border: 1px solid #343a40;
  border-radius: 3px;
  background-color: transparent;
  background-image: none;
}
.badge-outline-secondary {
  border: 1px solid #868e96;
  border-radius: 3px;
  background-color: transparent;
  background-image: none;
}

/*nav tabs*/
.nav-link{
  color: #373a40 !important;
}
.nav-link .fa, .dropdown-item .fa{
  margin-right: .5rem !important;
}
/*hightlight the active tab.*/
.nav-overtabs  a.active {
  border-color: #005cb7 #e1e4e8 transparent !important;
  border-width: 3px 1px 1px !important;
}
.nav-undertabs  a.active {
  font-weight: bold;
  border-bottom-color: #005cb7 !important;
  border-width: 0px 0px 2px !important;
}
/*nav tabs selected item*/
.list-nav-item .selected{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2px;
  content: "";
  background-color: #005cb7;
  /*  background-color: #d45c08; orange*/
}
/*side tabs list group items*/
.list-group-item.selected {
  /*font-weight: 600;*/
  color: #24292e;
  cursor: default;
  background-color: #fff;
}
.list-group-item.selected::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2px;
  content: "";
  background-color: #005cb7;
}

/*responsive sidebar adjusts at sm*/
@media (max-width: 768px) {
  .sidebar {
    max-width: 116px;
  }
}
@media (min-width: 768px) {
  .sidebar {
    max-width: 256px;
  }
}
.sidebar-sm {
  max-width: 116px !important;
}


/*trim padding and add inverse breadcrumb*/
.breadcrumb {
  border-radius: 0 !important;
  background-color: transparent !important;
  padding: 0.5rem 2rem;
}
.breadcrumb-inverse a {
  color: white !important;
}
.breadcrumb-inverse a:hover {
  color: #999 !important;
}



/*container see BS4 grid options */
.container-sm {
  max-width:576px;
  margin-right:auto;
  margin-left:auto
}
.container-md {
  max-width:768px;
  min-width:540px;
  margin-right:auto;
  margin-left:auto
}
.container-lg {
  max-width:992px;
  min-width:720px;
  margin-right:auto;
  margin-left:auto
}
.container-xl {
  max-width:1280px;
  min-width:960px;
  margin-right:auto;
  margin-left:auto
}

/*split screen*/
.one-third {
  width:33.333333%
}
.two-thirds {
  width:66.666667%
}
.one-fourth {
  width:25%
}
.one-half {
  width:50%
}
.three-fourths {
  width:75%
}
.one-fifth {
  width:20%
}
.four-fifths {
  width:80%
}
.centered {
  display:block;
  float:none;
  margin-right:auto;
  margin-left:auto
}
/*BS-4 width variants*/
.w-33 {
  width:33.333333%
}
.w-66 {
  width:66.666667%
}
.w-20 {
  width:20%
}
.w-80 {
  width:80%
}

/*position*/
.position-static {
  position:static !important
}
.position-relative {
  position:relative !important
}
.position-absolute {
  position:absolute !important
}
.position-fixed {
  position:fixed !important
}
.top-0 {
  top:0 !important
}
.right-0 {
  right:0 !important
}
.bottom-0 {
  bottom:0 !important
}
.left-0 {
  left:0 !important
}
.v-align-middle {
  vertical-align:middle !important
}
.v-align-top {
  vertical-align:top !important
}
.v-align-bottom {
  vertical-align:bottom !important
}
.v-align-text-top {
  vertical-align:text-top !important
}
.v-align-text-bottom {
  vertical-align:text-bottom !important
}
.overflow-hidden {
  overflow:hidden !important
}
.overflow-scroll {
  overflow:scroll !important
}
.overflow-auto {
  overflow:auto !important
}


/*width*/
.width-fit {
  max-width:100% !important
}
.width-full {
  width:100% !important
}
.height-full {
  height:100% !important
}

/*responsive padding*/
.p-responsive {
  padding-right:16px !important;
  padding-left:16px !important
}
@media (min-width: 544px) {
  .p-responsive {
    padding-right:40px !important;
    padding-left:40px !important
  }
}
@media (min-width: 1012px) {
  .p-responsive {
    padding-right:16px !important;
    padding-left:16px !important
  }
}

/*show and tell*/
.v-hidden {
  visibility:hidden !important
}
.v-visible {
  visibility:visible !important
}
.hidden {
  display: none !important;
}

/*screen reader*/
.show-on-focus {
  position:absolute;
  width:1px;
  height:1px;
  margin:0;
  overflow:hidden;
  clip:rect(1px, 1px, 1px, 1px)
}
.show-on-focus:focus {
  z-index:20;
  width:auto;
  height:auto;
  clip:auto
}


/*markdown headers since v1.0.4*/
/*.markdown h1, .markdown h2, .markdown h3 {
  border-bottom: 1px solid rgba(0,0,0,.2) !important;
  margin-bottom: 0.75em;
  padding-bottom: 0.5rem;
}*/

/*markdown editor*/
textarea.markdown {
  font-family:Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New, monospace;
  font-size: 0.9rem !important;
}

/*right size markdown images*/
.markdown img {
  max-width: 100%;
  height: auto;
  display: block;
}

/*add bottom margin to mermaid images*/
.mermaid{
  margin-bottom: 1em;
}

/*dropped from bootstrap but we use this often*/
.form-group {
  margin-bottom: 1rem;
}

/*template CSS for navbar and navbar-inverse*/
header {
  z-index: 100;
}
header .navbar{
  padding: 0 !important;
}
header .nav-link {
  padding-left: 0px !important;
  padding-right: 0px !important;
  position: relative;
}
header .active .nav-link:after{
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  content: "";
  background-color: #6a737d;
}


header .nav-link:hover{
  color: #6a737d !important;
}

header .nav-item {
  margin-left: 0.75em;
  margin-right: 0.75em;
}
header .navbar-brand {
  margin-right: 1rem !important;
}
header .navbar-icon {
  width: 36px;
}
header .navbar-logo {
  width: 200px;
}

.header {
  color: rgb(36, 41, 46) !important;
  border-bottom: 1px solid #ddd;
}
.header-inverse {
  color: rgba(255,255,255,0.75) !important;
  background-color: #222222;
}

.header .nav-link {
  color: rgb(36, 41, 46) !important;
}
.header .active .nav-link:hover {
  color: #6a737d !important;
}

.header-inverse .nav-link {
  color: #fff !important;
}
.header-inverse .nav-link:hover {
  color: #fff !important;
}
@keyframes blink {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.blink {
  animation: blink 1s infinite;
}
