@import url('https://fonts.googleapis.com/css2?family=Space+Mono&display=swap');

.center {
    display: block;
    margin: 0 auto;
}
body {
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}
body::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera*/
}
h5 {
    text-transform: none !important;
    font-size: 1.2em !important;
}

/* Indentation. */
div.doc-contents:not(.first) {
  padding-left: 25px;
  border-left: .05rem solid black; /* var(--md-typeset-table-color);*/
}

/* Mark external links as such. */
a.autorefs-external::after {
  /* https://primer.style/octicons/arrow-up-right-24 */
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="rgb(0, 0, 0)" d="M18.25 15.5a.75.75 0 00.75-.75v-9a.75.75 0 00-.75-.75h-9a.75.75 0 000 1.5h7.19L6.22 16.72a.75.75 0 101.06 1.06L17.5 7.56v7.19c0 .414.336.75.75.75z"></path></svg>');
  content: ' ';

  display: inline-block;
  position: relative;
  top: 0.1em;
  margin-left: 0.2em;
  margin-right: 0.1em;

  height: 1em;
  width: 1em;
  border-radius: 100%;
  background-color: blue; /* var(--md-typeset-a-color);*/
}
a.autorefs-external:hover::after {
  background-color: blue; /*var(--md-accent-fg-color);*/
}

.md-typeset__table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

/* mkdocs-material's `.md-typeset__table table { display: table; width: 100% }`
 * is intended to make wrapped tables fill their wrapper, but it loses the
 * specificity tie to `.md-typeset table:not([class]) { display: inline-block }`
 * by source order and thus has no effect on bare markdown tables. The
 * inline-block fallback collapses cells to their intrinsic width, leaving
 * visible empty space on the right of narrow tables. Re-state the intended
 * rule with matching specificity so source order (extra.css after main.css)
 * lets it win, and rely on the wrapper's `overflow-x: auto` to clip wide
 * tables that grow past 100%. */
.md-typeset__table table:not([class]) {
  display: table;
  width: 100%;
}

.md-typeset__table table tr td ul > a { /* ul > (not) list tag ex. bert large and bert base */
  display: block;
}

.md-typeset table:not([class]) td {
  vertical-align: middle;
}

.md-header__button.md-logo {
  margin: 0;
  padding: 0;
}

.md-header__button.md-logo img, .md-header__button.md-logo svg {
    height: 2.0rem;
    width: 9.0rem;
}

.line-highlighted {
  background-color: #52f756;
}

th, td.tg-center {
  text-align: center !important;
}

.gp {
  user-select: none !important;
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
}

/* mkdocs versioning styling  */
.md-version .md-version__list .md-version__item {
  font-weight: 500 !important;
}


/* Table of Content : Hide Empty Functions link */
.md-nav__link[href$="-functions"]:not(:has(+ .md-nav)) {
    display: none !important;
}

/* Functions 섹션에 내용이 없을 때 전체 섹션 숨기기 */
.doc-section-functions:not(:has(.doc-function)) {
    display: none !important;
}

/* Nav: secondary label (2nd line), injected as data-secondary via docs/js/extra.js */
.md-nav__link .md-ellipsis[data-secondary] {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
}

.md-nav__link .md-ellipsis[data-secondary]::after {
  content: "\A(" attr(data-secondary) ")";
  white-space: pre;
  display: block;
  margin-top: -0.85em;
  font-size: 1.0em;
  line-height: 1.0;
}

/* Stretch Markdown tables inside admonitions to the full note box width */
.md-typeset .admonition .md-typeset__table {
  width: 100%;
}
.md-typeset .admonition .md-typeset__table table {
  width: 100%;
}

.md-typeset .admonition table:not([class]) {
  width: 100%;
}

/* Sidebar stability: pin scrollbar gutter, viewport-bound height,
 * disable browser scroll anchoring micro-adjustments */
.md-sidebar__scrollwrap {
  scrollbar-gutter: stable;
  max-height: calc(100vh - 10rem);
  overflow-anchor: none;
}

/* Disable mandatory scroll-snap on primary nav to prevent 8px jumps */
.md-nav--primary .md-nav__title ~ .md-nav__list {
  scroll-snap-type: none;
}

/* Smooth cross-document page transitions (Chrome 126+, Safari 18+) */
@view-transition {
  navigation: auto;
}
.md-header { view-transition-name: md-header; }
#headerTopBanner { view-transition-name: md-banner; }
.md-sidebar--primary { view-transition-name: md-sidebar-primary; }
.md-footer { view-transition-name: md-footer; }
.md-content { view-transition-name: md-content; }

/* Persistent chrome: header, banner, sidebar stay put (no cross-fade) */
::view-transition-group(md-header),
::view-transition-group(md-banner),
::view-transition-group(md-sidebar-primary),
::view-transition-group(md-footer) {
  animation-duration: 0.001s;
}
/* Snappier content transition */
::view-transition-group(md-content),
::view-transition-old(md-content),
::view-transition-new(md-content) {
  animation-duration: 0.15s;
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*) {
    animation: none !important;
  }
}

/* Lock banner height to prevent font-swap CLS */
#headerTopBanner .txt-container {
  display: flex;
  align-items: center;
  height: 20px;
}
#headerTopBanner .banner-txt {
  line-height: 20px;
  height: 20px;
  margin: 0;
  display: flex;
  align-items: center;
}

/* Stabilize breadcrumb against font-swap */
.md-path {
  min-height: 1.2rem;
  line-height: 1.2rem;
}
.md-path__item {
  line-height: 1.2rem;
}
