#instantclick {
  display: none;
}

/* ------------ */
/* API and code */
/* ------------ */

code {
  background-color: var(--pst-color-background-up);
  color: var(--pst-color-text-base); /* var(--pst-color-inline-code); */
  border: 0.1rem solid rgba(0, 0, 0, 0.1);
  border-radius: 0.4rem;
  padding: 0.1rem 0.1rem;
}

.sig-name {
  font-size: 1rem;
}

/* this is a lighter version of the tango solution */
html[data-theme="dark"] .highlight .o {
  color: #f67107;
}

html[data-theme="dark"] .highlight .kn {
  color: #f67107;
}

html[data-theme="dark"] .highlight .nf {
  color: #9146cc;
}

html[data-theme="dark"] .highlight .go {
  color: #6ee7b7;
}

div.doctest > div.highlight span.gp {
  color: #fb923c;
}

/* code comments */
html[data-theme="light"] .highlight .c1 {
  color: #94a3b8;
  font-style: italic;
}
html[data-theme="light"] .highlight .sd {
  color: #94a3b8;
  font-style: italic;
}

/* bash code string */
html[data-theme="light"] .highlight .s1 {
  color: #22c55e;
}

/* python code string */
html[data-theme="light"] .highlight .s2 {
  color: #60a5fa;
}

/* python code operator */
html[data-theme="light"] .highlight .kn {
  color: #f67107;
}

html[data-theme="light"] .highlight .nf {
  color: #204a87;
}

/* docstring examples output */
html[data-theme="light"] .highlight .go {
  color: #21af90;
  font-style: unset;
}

/* python code class def */
html[data-theme="light"] .highlight .k {
  color: #6366f1;
  font-weight: 700;
}

/* python code None */
html[data-theme="light"] .highlight .kc {
  color: #6366f1;
  font-weight: 700;
}

/* python code class name */
html[data-theme="light"] .highlight .nc {
  color: #14b8a6;
}

/* code type */
html[data-theme="light"] .highlight .nb {
  color: #60a5fa;
}

html[data-theme="light"] .highlight .nt {
  color: #14b8a6;
  font-weight: 700;
}

html .highlight .p {
  color: var(--pst-color-inline-code);
}

h1 code,
h2 code,
h3 code,
h4 code,
h5 code,
h6 code {
  background-color: var(--pst-color-background-up);
}

/* have code cells with less margin */

.cell_output .output.text_plain,
.cell_output .output.traceback,
.cell_output .output.stream,
.cell_output .output.stderr {
  margin-top: 0;
  border: 0px;
}

pre {
  border: unset;
}

div.cell div.cell_input,
div.cell details.above-input > summary {
  border: unset;
  border-left-color: unset;
  border-left-width: unset;
}

div.cell details.below-input > summary {
  border: unset;
  border-left-color: unset;
  border-left-width: unset;
}

/* counteract the statement below */

.highlight-default.notranslate {
  margin: 1em 0;
}

div[class*="highlight-"] {
  margin: 0 0; /* was 1em 0 */
}

/* ------------------------- */
/* Hide code in hidden cells */
/* ------------------------- */

.cell.tag_hide-cell .cell_input {
  display: none;
  height: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
  border: 0;
}

/* Additional specificity to ensure it takes effect */
.cell.tag_hide-cell details .cell_input {
  position: absolute;
  visibility: hidden;
  height: 0;
  width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
}

/* Ensure the parent doesn't reserve space for it */
.cell.tag_hide-cell details .cell_input * {
  display: none;
  height: 0;
}

/* --------- */
/* Notebooks */
/* --------- */

.docutils.container {
  width: 100%;
  max-width: 100%;
}

.toctree-wrapper li[class^="toctree-l"] > a {
  font-size: 1rem;
  list-style: none;
}

/* --- */
/* API */
/* --- */

dt:target,
span.highlighted {
  background-color: unset;
}

/* ---- */
/* Tabs */
/* ---- */

/* via the myst tabs feature, **not** sphinx-tabs: https://github.com/laminlabs/lamin-docs/pull/175 */

.sd-tab-set {
  margin-top: 0em !important;
  margin-bottom: 0em !important;
}

.sd-tab-content {
  box-shadow: 0 -0.0625rem var(--sd-color-tabs-underline), 0 0 !important;
  padding-bottom: 0.75rem !important;
}

.sd-tab-set > label {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  padding-top: 0 !important;
  padding-bottom: 0.3rem !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

/* ------ */
/* Tables */
/* ------ */
/* all of the following overwrites mystnb.css styling and also affects regular tables */

/* this is 87.5% to match pre in pydata-sphinx */
table,
div.cell_output table {
  font-size: 87.5%;
  color: var(--pst-color-text-base);
  background-color: var(--pst-color-background);
}

/* this removes the white background of output tables */
html[data-theme="dark"] .bd-content div.cell_output .text_html {
  background-color: var(--pst-color-background);
}

div.cell_output .text_html {
  display: inline-block;
}

/* decrease padding in output tables */
tr,
th,
td,
div.cell_output tr,
div.cell_output th,
div.cell_output td {
  padding: 0.3em 0.3em;
}

div.cell_output .output {
  max-width: 100%;
  overflow-x: hidden;
}

div.cell_output .output:hover {
  overflow-x: auto;
}

/* image overflow in cell output */
.cell_output {
  overflow: auto;
}
.cell_output img {
  max-width: none;
}

.cell_output .output pre {
  padding: 0.2rem;
  overflow-x: hidden;
}

.cell_output .output pre:hover {
  overflow-x: auto;
}

/* fix background of odd rows in dark mode */
tbody tr:nth-child(odd),
div.cell_output tbody tr:nth-child(odd) {
  background: var(--pst-color-background-up);
}

.table thead th {
  vertical-align: bottom;
  border-bottom: 1px solid var(--pst-color-border);
}

/* ------ */
/* Images */
/* ------ */

html[data-theme="dark"] .bd-content img:not(.only-dark):not(.dark-light) {
  background: transparent;
}

/* --------- */
/* Footnotes */
/* --------- */

/* The top border is as for footnotes. */
.prev-next-area {
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: var(--pst-color-border);
  margin-top: 2rem;
  padding-top: 0.5rem;
}

.prev-next-area a p.prev-next-title {
  font-weight: 400;
  font-size: 1rem;
}

aside.footnote span.label {
  font-size: 80%;
}

/* this is 80% to match date & author font in blog */
.footnote p,
.footnote dt {
  font-size: 80%;
}

.fn-backref {
  font-weight: normal;
  padding-left: 0.2rem;
}

dl.footnote > dd,
dl.citation > dd {
  margin-bottom: -0.8em;
}

hr.footnotes {
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: var(--pst-color-border);
  margin-top: 2rem;
  padding-top: 0.3rem;
}

/* ------- */
/* Headers   */
/* ------- */

a.headerlink {
  color: var(--color-primary);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: unset;
  font-weight: bold;
}

h1 {
  font-size: 3rem;
}

h2 {
  font-size: 2rem;
}

h3 {
  font-size: 1.5rem;
}

/* reduced margin top */
h5,
h6 {
  margin-top: 1.5rem;
}

.bd-header {
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background: transparent !important;
}

.bd-header .navbar-nav li a.nav-link {
  color: var(--color-emphasis-900);
}

div.literal-block-wrapper div.code-block-caption {
  font-size: 87.5%;
  font-weight: 400;
  padding: 2px 5px;
  font-family: var(--pst-font-family-monospace);
}

/* ------ */
/* Navbar */
/* ------ */

nav {
  padding: 0px;
}

.navbar-toggler {
  border: unset;
}

.navbar-light {
  background: var(
    --pst-color-background-up
  ) !important; /* Overrides bootstrap */
  box-shadow: none; /* unset default shadow */
}

.navbar-brand img {
  flex: 0 0 auto;
  height: 1.5rem;
  margin-right: 0rem;
  vertical-align: text-bottom;
}

.navbar-brand p {
  margin-bottom: 0;
  margin-top: 0;
  padding: 0 0.15rem;
  color: var(--color-emphasis-900);
  font-weight: bold;
  font-size: 0.875rem;
}

.navbar-light .navbar-nav li a.nav-link {
  padding: 0 0.5rem;
  color: var(--color-emphasis-900);
  font-size: 0.875rem;
}

.navbar-light .navbar-nav > .active > .nav-link {
  color: unset;
  font-weight: unset;
}

.navbar {
  box-shadow: none; /* unset default shadow */
  /*  border-bottom-style: solid; /* replace with border */
  /*  border-bottom-color: rgba(0, 0, 0, 0.1); /* this won't be visible in dark */
}

.nav-link {
  font-size: 0.875rem;
  color: var(--color-emphasis-900);
  font-weight: var(--font-weight-semibold);
}

/* ------ */
/* Sidebar */
/* ------ */

.bd-sidebar-primary .sidebar-end-items__item,
.bd-sidebar-primary .sidebar-start-items__item {
  padding-top: 4px;
}

/* caption for sidebar bav */
nav.bd-links p.caption {
  font-weight: medium;
  font-size: 0.875rem;
  margin-bottom: 0.2em;
}

@media (max-width: 1199.98px) {
  .navbar #navbar-center > * {
    margin-top: 0em;
  }
}

.bd-sidebar {
  border-right: none;
  height: unset;
  font-size: 0.875rem;
  font-weight: 400;
}

@media (max-width: 959.98px) {
  .bd-sidebar-primary {
    max-width: 350px;
  }
}

@media (min-width: 960px) {
  .bd-sidebar-primary {
    max-width: 20%;
    background: transparent !important;
  }
  .bd-sidebar-secondary {
    background: transparent;
  }
}

.bd-sidebar-primary {
  overflow-y: auto;
  scrollbar-gutter: stable;
  padding-top: unset;
}

/* .bd-sidebar-primary:hover {
  overflow-y: auto
}
*/
.bd-sidebar-primary::-webkit-scrollbar {
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
}

.bd-sidebar-secondary {
  padding: unset;
  max-width: 16rem;
}

/* font of table of content */
.toc-entry a.nav-link {
  font-size: 0.875rem;
}

.toc-item {
  padding-top: 4px;
}

/* --------- */
/* Dropdowns */
/* --------- */

details.sd-dropdown {
  box-shadow: none !important;
}

details.sd-dropdown summary.sd-card-header {
  font-weight: 400;
}

details.sd-dropdown summary.sd-card-header,
details.sd-dropdown summary.sd-card-header + div.sd-summary-content {
  --pst-sd-dropdown-color: seagreen;
  border-left: unset !important;
}

.admonition,
div.admonition {
  border-left: unset !important;
}

/* ---- */
/* Body */
/* ---- */

button.copybtn {
  top: 0rem;
  width: 1.4em;
  height: 1.35em;
}

/* for custom small role */
.small {
  font-size: min(45%, 0.72rem) !important;
  font-weight: bold;
}

/* for custom smaller role */
.small {
  font-size: min(70%, 0.85rem) !important;
  font-weight: bold;
}

p {
  margin-top: 1.15rem;
}

.bd-main .bd-content .bd-article-container .bd-article {
  padding-left: 0rem;
  padding-top: 0rem;
}

.bd-main .bd-content .bd-article-container {
  padding-top: unset;
}

.toc-entry > .nav-link.active {
  font-weight: 400 !important; /* do not have bold entries */
  border-left: unset !important;
}

.section-nav {
  border-left: unset;
}

nav.bd-links .active:hover > a,
nav.bd-links .active > a {
  font-weight: 400; /* do not have bold entries */
  color: var(--link-color);
}

.bd-container {
  padding-top: 1rem;
}

.bd-content {
  padding: 0rem 1.5rem 2rem 1.5rem; /* symmetrical center body */
}

.bd-toc {
  height: unset;
}

footer {
  width: 100%;
  border-top: 1px solid var(--pst-color-border);
  padding: 10px;
}

.body {
  font: inherit;
}

body {
  /* background: radial-gradient(
      circle at top left,
      rgba(197, 250, 184, 0.4) 1%,
      transparent 20%
    ),
    conic-gradient(from 180deg at 0% 0%, #f5f5f7 1%, #f9f9fb 1%),
    radial-gradient(circle at bottom right, #d9f7eb 0%, transparent 20%);
  background-blend-mode: multiply; */
  background-image: url("https://raw.githubusercontent.com/laminlabs/lamin-about/main/assets/docs-bg.svg");
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: top left;
}

a {
  color: var(--link-color);
}

a:visited {
  color: #551a8b;
}

/* Dark theme visited links */
html[data-theme="dark"] a:visited {
  color: #bb86fc; /* Lighter purple that stands out on dark backgrounds */
}

.ablog-post-title a {
  color: var(--pst-text-color-base);
  font-size: 2.5rem;
}

/* ------ */
/* Colors */
/* ------ */

.admonition,
div.admonition {
  box-shadow: none !important;
}

.form-control:focus {
  box-shadow: none !important;
}

i.fa-twitter:before {
  color: #55acee;
}

html[data-theme="dark"] {
  --pst-color-background: #18191a; /* --background-color */
  --pst-color-background-up: #242526; /* --background-surface-color for navbar */
  --color-primary: #25c2a0;
  --color-primary-dark: #21af90;
  --color-primary-darker: #1fa588;
  --color-primary-darkest: #1a8870;
  --color-primary-light: #29d5b0;
  --color-primary-lighter: #32d8b4;
  --color-primary-lightest: #4fddbf;
  --color-emphasis-900: var(--color-gray-100);
  --pst-color-primary: var(--color-primary);
  --pst-color-info: var(--color-primary);
  --pst-color-link: var(--color-primary);
  --pst-color-link-hover: var(--color-primary-darkest);
  /* --pst-color-target: var(--color-primary-lightest); */
  /* --pst-color-border: rgba(0, 0, 0, 0.5); */ /* we are happy with the pst default! */
  --pst-color-inline-code: #66d9ef; /* pygments monokai */
}

html[data-theme="light"] {
  --pst-color-background: #fff;
  --pst-color-background-up: #f5f5f5; /* --pst-color-surface-- here in light mode */
  --color-primary: #059669;
  --color-primary-dark: #047857;
  --color-primary-darker: #065f46;
  --color-primary-darkest: #064e3b;
  --color-primary-light: #22c55e;
  --color-primary-lighter: #34d399;
  --color-primary-lightest: #6ee7b7;
  --color-emphasis-900: var(--color-gray-900);
  --pst-color-primary: var(--color-primary);
  --pst-color-info: var(--color-primary);
  --pst-color-link: var(--color-primary);
  --pst-color-link-hover: var(--color-primary-darkest);
  --pst-color-target: var(--color-primary-lightest);
  --pst-color-border: rgba(0, 0, 0, 0.1);
  --pst-color-inline-code: #f97316;
  --pst-color-text-base: black;
}

html {
  font: var(--font-size-base) / var(--line-height-base) var(--font-family-base);
  --pst-sidebar-secondary-font-size: var(--pst-sidebar-font-size);
}

body {
  /* to customize sphinx-design dropdown like Furo */
  --sd-fontsize-dropdown: var(--admonition-font-size);
  --sd-fontsize-dropdown-title: var(--admonition-title-font-size);
  --sd-fontweight-dropdown-title: 400;
}

:root {
  --color-gray-100: #f5f6f7;
  --color-gray-900: #1c1e21;
  --link-color: var(--color-primary);
  --font-size-base: 100%;
  --line-height-base: 1.65;
  --font-family-base: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu,
    Cantarell, Noto Sans, sans-serif, BlinkMacSystemFont, "Segoe UI", Helvetica,
    Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --font-weight-semibold: 400;
  --mystnb-source-bg-color: var(
    --pst-color-background
  ); /* hidden cells in dark mode were too bright */
  --foreground-rgb: 0, 0, 0;
  --background-start-rgb: 255, 255, 255;
  --background-end-rgb: 255, 255, 255;
}
