/*
 * (c) Copyright 2026, Nostos Genomics
 * See /LICENSE.txt for more details.
 */

/* 
 * Nostos Genomics Brand Colors:
 * Primary: #008594 (darker teal), #36B3C8 (lighter teal)  
 * Signal: #EB6A74 (coral), #F87877 (light coral)
 * Text: #04444D (dark green)
 * Also available at 50% and 30% opacity
 */

/*Docs*/

.body {
  position: relative;
  padding-bottom: 2rem;
}

/* Image sizing controls */
.content img {
  max-width: 65%;
  height: auto;
  margin: 10px 0;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Smaller images for screenshots */
.content img[src*="case-"], 
.content img[src*="user-"], 
.content img[src*="aion-"] {
  max-width: 50%;
}

/* Very small images for buttons and icons */
.content img[src*="button"], 
.content img[src*="favicon"] {
  max-width: 200px;
}

/* Keep favicon/logo icons compact inside callouts and links */
.content img[src*="favicon"],
.content .hs-callout-type-note img,
.content .hs-callout-type-warning img,
.content .hs-callout-type-tip img {
  max-width: 24px;
  height: auto;
  vertical-align: middle;
}

/* Callout boxes (note/warning/tip) */
.hs-callout-type-note,
.hs-callout-type-warning,
.hs-callout-type-tip {
  padding: 12px 14px;
  margin: 12px 0;
  border-radius: 6px;
  border: 1px solid #d7e0ea;
  background: #f6f9fc;
}

.hs-callout-type-warning {
  border-color: #f0c4c4;
  background: #fff6f6;
}

.hs-callout-type-tip {
  border-color: #c9e6d1;
  background: #f4fbf7;
}

.sub-title {
  font-size: 30px;
  margin-top: 50px;
  margin-bottom: 10px;
  padding-bottom: 0;
}

.sub-title a {
  font-size: 16px;
}

.section.docs-heading {
  padding: 60px 0;
}

.affix {
  position: static;
}

@media (min-width: 992px) {
  .affix,
  .affix-bottom {
    width: 24.5%;
  }

  .affix {
    position: fixed;
    top: 0px;
  }

  .affix-bottom {
    position: absolute
  }

  .affix .bs-docs-sidenav,
  .affix-bottom .bs-docs-sidenav {
    margin-top: 0;
    margin-bottom: 0
  }
}

/* SIDEBAR */

@media (min-width: 768px) {
  .docs-sidebar {
    padding-top: 20px;
    padding-left: 20px;
    overflow-y: auto;
    overflow-x: hidden;
    background: white;
    z-index: 2;
    max-height: 100%;
  }

}

/* all links */
.docs-sidebar .nav > li > a {
  color: #111;
  border-left: 2px solid transparent;
  padding: 0 20px;
  font-size: 15px;
  font-weight: 400;
}

/* nested links */
.docs-sidebar .nav .nav > li {
  padding-left: 40px;
  font-size: 14px;
}

/* hover links */
.docs-sidebar .nav > li:not(.active) > a:hover {
  color: #008594;
  text-decoration: none;
  background-color: transparent;
  border-left-width: 1px;
  border-left-color: #008594;
}

/* focus links */
.docs-sidebar .nav > li > a:focus {
  text-decoration: none;
  background-color: transparent;
}

/* active links */
.docs-sidebar .nav > .active > a {
  color: #008594;
  text-decoration: none;
  background-color: transparent;
  border-left-color: #008594;
}

/* all active links */
.docs-sidebar .nav > .active > a,
.docs-sidebar .nav > .active:hover > a,
.docs-sidebar .nav > .active:focus > a {
  font-weight: 700;
}

/* nested active links */
.docs-sidebar .nav .nav > .active > a,
.docs-sidebar .nav .nav > .active:hover > a,
.docs-sidebar .nav .nav > .active:focus > a {
  font-weight: 500;
}

@media (min-width: 992px) {
  .docs-sidebar .nav ul {
    display: block;
    padding-bottom: 10px;
  }

  .docs-sidebar .nav > .active > ul {
    display: block
  }
}

body > .loader {
  display: none;
}

body.loading > :not(.loader) {
  display: none;
}

body.loading > .loader {
  display: block;
  width: 100vw;
  height: 100vh;
  position: relative;
}

body.loading > .loader > img {
  max-width: 30%;
  max-height: 30%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@-webkit-keyframes lmt-loader {
  0% {
    opacity: 0.2;
  }
  50% {
    opacity: 1.0;
  }
  100% {
    opacity: 0.2;
  }
}

@-moz-keyframes lmt-loader {
  0% {
    opacity: 0.2;
  }
  50% {
    opacity: 1.0;
  }
  100% {
    opacity: 0.2;
  }
}

@-o-keyframes lmt-loader {
  0% {
    opacity: 0.2;
  }
  50% {
    opacity: 1.0;
  }
  100% {
    opacity: 0.2;
  }
}

@keyframes lmt-loader {
  0% {
    opacity: 0.2;
  }
  50% {
    opacity: 1.0;
  }
  100% {
    opacity: 0.2;
  }
}

.lmt-process-pulse {
  -moz-animation: lmt-loader 1500ms infinite ease-in-out;
  -webkit-animation: lmt-loader 1500ms infinite ease-in-out;
  -o-animation: lmt-loader 1500ms infinite ease-in-out;
  animation: lmt-loader 1500ms infinite ease-in-out;
}

div.content {
  padding-left: 30px;
}


/* TOC: show only H1/H2/H3 by default; expand deeper levels only for the active branch */
@media (min-width: 992px) {
  /* Hide H4+ (depth >= 3) by default */
  .docs-sidebar ul.nav ul.nav ul.nav {
    display: none;
  }

  /* Expand when Bootstrap sets .active on <li> (works when ancestors are marked active) */
  .docs-sidebar ul.nav li.active > ul.nav {
    display: block;
  }

  /* Expand when Bootstrap sets .active on <a> (common case) */
  .docs-sidebar ul.nav li:has(> a.active) > ul.nav {
    display: block;
  }

  /* Expand ALL ancestors of the active item so the full path opens (H4/H5 become visible) */
  .docs-sidebar ul.nav li:has(a.active) > ul.nav {
    display: block;
  }
}

/* Optional: extra indentation for deeper levels when they do appear */
.docs-sidebar ul.nav ul.nav ul.nav > li { padding-left: 60px; font-size: 13px; }
.docs-sidebar ul.nav ul.nav ul.nav ul.nav > li { padding-left: 75px; font-size: 12.5px; }