:root, :host {
  font-size: 16px;
  height: 100%;
}
body {
  --bg-body:#FAFAFA;
  font-family:Inter,Helvetica Neue, Arial,sans-serif,-apple-system, BlinkMacSystemFont, San Francisco, Segoe UI, Roboto;
  font-weight: 500;
  line-height: 1.5;
  position: relative;
  min-height: 100%;
  height: 100%;
  padding: 0;
  margin: 0; 
  background-color: var(--bg-body);
  color:#1F2937;
  touch-action: manipulation;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}      
*,*::before,*::after {
  box-sizing: border-box;
}
.sticky-top {
  position: sticky;
  top: 0;
  z-index: 1020;
}
.border-top-wide {
  border-top: 2px solid;
  border-color: color-mix(in srgb, var(--tblr-primary)  100%, transparent) !important;
}      
.navbar {  
  align-items: stretch;
  min-height: 3.5rem;
  box-shadow: inset 0 -1px 0 0 rgba(var(--tblr-primary-rgb),0.3); 
  background: #FFFFFF;
  display: flex;
  padding: 0.25em 0;
}
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
}
.navbar > .container-xl {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}
.container-xl{
  justify-content: center;
  width: 100%;
  padding: 0 1em;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 1200px) {
  .container-xl{
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xl {
    max-width: 1320px;
  }
} 
.text-center{        
  text-align: center !important;
  justify-content: center;
}
.text-nowrap {
  white-space: nowrap !important;
}
.w-100 {
  width: 100% !important;
}
.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}
.my-3 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}
.mb-4 {
  margin-bottom: 1.5rem !important;
}
.p-1{padding: 0.25em;}
.d-flex {
  display: flex !important;
}
.row{
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  margin: 0 1em;}
.row > * {
  min-width: 0;
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: 1em;
  padding-left: 1em;
  margin-top:0;
}
@media (min-width: 768px) {
  .col-md-3 {
    flex: 0 0 auto;
    flex-shrink: 0;
    width: 25%;
  }
}
h1,h5{
  margin-top: 0;
  margin-bottom: 0.25em;
  font-weight: 600;
}
h1{font-size: 1.5em;}
h3{font-size: 1em;margin-right: 2.5em;}
h5 {font-size: 0.75em;}
a {
  text-decoration-skip-ink: auto;
  text-decoration: none;
  color: var(--tblr-primary);
}
a:hover {
  color: color-mix(in srgb, var(--tblr-primary), #FFFFFF 50%);
}
img, svg {
  vertical-align: middle;
  max-width: 100% !important;
  height: auto !important;
}
p {  
  margin-bottom: 0.5rem;
}
.logo {font-size: 1.8rem;font-weight: 700; display: flex;align-items: center;gap: 0.5rem;color: var(--tblr-primary);}
.logo:hover {text-decoration: none;}
.page{letter-spacing:0.05em;
  justify-content: center;
  display: flex;
  flex-direction: column;
  position: relative;
  min-height: 100%;
}
.page-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
}
table{border-collapse: collapse;}
table,th,td {border: 1px solid #1F2937;}      
th,td{padding: 0.5em 0.75em;}
th{background-color: rgba(var(--tblr-primary-rgb), 0.05);}
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
/* button */
.btn {
  padding: 0.5625em 1em;        
  font-weight: 500;
  line-height: 1.25em;
  color: var(--bg-body);
  text-align: center;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  border: 1px solid transparent;
  border-radius: 6px;
  background-color:  var(--tblr-primary);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  display: inline-flex;
  justify-content: center;
  white-space: nowrap;
  align-items: center;    
}
.btn:hover {
  color: var(--bg-body);
  text-decoration: none;
  background-color: color-mix(in oklab, var(--tblr-primary),transparent 20%);
  border-color: transparent;
}
.btn .icon {
  width: 1.25em;
  height: 1.25em;
  min-width: 1.25em;
  font-size: 1.25em;
  margin: 0 0.5em 0 0.25em;
  color: inherit;
}
.btn-floating {
  position: fixed;
  z-index: 1030;
  bottom: 6rem;
  right: 2rem;
  box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.07), 0 6px 30px 5px rgba(0, 0, 0, 0.06), 0 8px 10px -5px rgba(0, 0, 0, 0.1);
}
.btn-animate-icon .icon {
  transition: transform 0.3s ease;
}
.btn-animate-icon.btn-animate-icon-shake:hover .icon, .btn-animate-icon.btn-animate-icon-shake:focus-visible .icon {
  transform: none;
  animation: shake 0.9s;
}
.btn-animate-icon:hover .icon, .btn-animate-icon:focus-visible .icon {
  transform: translateX(4px);
}
.icon:hover {
  text-decoration: none;
}
@keyframes shake {
  0% {
    transform: scaleX(1);
  }
  20% {
    transform: scale3d(0.9, 0.9, 0.9) rotate(-5deg);
  }
  50%, 70%, 90% {
    transform: scale3d(1.25, 1.25, 1.25) rotate(5deg);
  }
  60%, 80% {
    transform: scale3d(1.25, 1.25, 1.25) rotate(-5deg);
  }
  to {
    transform: scaleX(1);
  }
}
  /* footer */
.footer-transparent {
  border-color: transparent;
  border-top-color: transparent;
  border-top: 0;
}
.footer {        
  background-color: color-mix(in srgb, var(--tblr-primary) 5%, transparent);
  padding: 1rem 0;
  color: #1f2937;
  margin-top: auto;
}
footer div{display:flex;flex-direction:row; flex-wrap: wrap;justify-content: center;flex-shrink: 1;align-items: center;}
footer a{text-decoration:none;padding-top: 0.25em;color: #1f2937;}
footer h5{line-height: 1.7;}