@font-face { font-family: "Noto Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("../font/noto-sans-cyrillic-400-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Noto Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("../font/noto-sans-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215; }
@font-face { font-family: "Noto Sans"; font-style: italic; font-weight: 400; font-display: swap; src: url("../font/noto-sans-cyrillic-400-italic.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Noto Sans"; font-style: italic; font-weight: 400; font-display: swap; src: url("../font/noto-sans-latin-400-italic.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215; }
@font-face { font-family: "Noto Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("../font/noto-sans-cyrillic-500-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Noto Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("../font/noto-sans-latin-500-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215; }
@font-face { font-family: "Noto Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("../font/noto-sans-cyrillic-600-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Noto Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("../font/noto-sans-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215; }
@font-face { font-family: "Noto Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("../font/noto-sans-cyrillic-700-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Noto Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("../font/noto-sans-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215; }
@font-face { font-family: "Source Code Pro"; font-style: normal; font-weight: 400; font-display: swap; src: url("../font/source-code-pro-cyrillic-400-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Source Code Pro"; font-style: normal; font-weight: 400; font-display: swap; src: url("../font/source-code-pro-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215; }
@font-face { font-family: "Source Code Pro"; font-style: normal; font-weight: 600; font-display: swap; src: url("../font/source-code-pro-cyrillic-600-normal.woff2") format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Source Code Pro"; font-style: normal; font-weight: 600; font-display: swap; src: url("../font/source-code-pro-latin-600-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215; }

/* search.css is injected by the search script after this file, so header rules use the .navbar prefix */
:root {

  --ob-action: #0B52B0;
  --ob-action-hover: #0A4799;
  --ob-navy: #043278;
  --ob-brand: #3D72D6;
  --ob-text: #2B3649;
  --ob-muted: #5B6475;
  --ob-border: #E2E8F2;
  --ob-border-strong: #C7D2E9;
  --ob-tint: #E8F0FB;
  --ob-tint-2: #EEF5FD;
  --ob-bg: #FFFFFF;
  --ob-bg-soft: #F6F8FC;
  --ob-code-bg: #F4F7FB;
  --ob-ee-border: #9DB8E6;
  --ob-hero: linear-gradient(280deg, #7DA3D5 0%, #C9DDF9 30%, #FFFFFF 75%);
  --ob-font: "Noto Sans", -apple-system, "Segoe UI", Roboto, sans-serif;
  --ob-mono: "Source Code Pro", ui-monospace, Menlo, Consolas, monospace;
}

body, .doc .source-toolbox, .doc .conum[data-value] { font-family: var(--ob-font); }
code, kbd, pre { font-family: var(--ob-mono); }
body { color: var(--ob-text); }

a, .doc a { color: var(--ob-action); }
a:hover, .doc a:hover { color: var(--ob-action-hover); }

nav.navbar, .navbar {
  background: var(--ob-bg);
  color: var(--ob-text);
  border-bottom: 1px solid var(--ob-border);
}
.navbar-brand .navbar-item { color: var(--ob-text); }
.navbar-brand .navbar-item img { display: block; height: 45px; width: auto; }

.navbar-brand .navbar-logo { display: flex; align-items: center; gap: .3rem; text-decoration: none; }
.navbar-brand .navbar-logo:hover { text-decoration: none; }
.navbar-title { color: var(--ob-navy); font-size: 1.25rem; font-weight: 700; letter-spacing: -.01em; line-height: 1; white-space: nowrap; }
.navbar-title-docs { color: var(--ob-action); font-weight: 600; }
html[data-theme="dark"] .navbar-title { color: var(--ob-text); }
.navbar-burger span { background-color: var(--ob-text); }

.navbar .search-box { display: flex; align-items: center; }
.navbar .search-wrap { position: relative; display: flex; align-items: center; }
.navbar #search-input {
  width: 340px;
  height: 40px;
  padding: 0 2.25rem 0 .75rem;
  border: 1px solid var(--ob-border-strong);
  border-radius: 10px;
  background: var(--ob-bg);
  color: var(--ob-text);
  font-family: var(--ob-font);
  font-size: .9rem;
  line-height: 40px;
}
.navbar #search-input::placeholder { color: var(--ob-muted); }
.navbar #search-input:focus { outline: none; border-color: var(--ob-action); box-shadow: 0 0 0 3px var(--ob-tint); }
.navbar .search-hint {
  position: absolute;
  right: .6rem;
  font-family: var(--ob-mono);
  font-size: .75rem;
  line-height: 1;
  color: var(--ob-muted);
  border: 1px solid var(--ob-border-strong);
  border-radius: 5px;
  padding: 2px 6px;
  pointer-events: none;
}
.navbar #search-input:focus + .search-hint { display: none; }

.navbar div.header-btn { gap: 4px; padding-right: 12px; }
.navbar div.header-btn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 8px;
  font-size: 0;
}
.navbar div.header-btn a:hover { background: var(--ob-tint); }
.navbar div.header-btn a img { margin: 0; height: 1.25rem; width: 1.25rem; }
.navbar div.header-btn a:hover img { transform: none; }

@media screen and (max-width: 1023px) {
  .navbar .navbar-menu, .navbar div.header-btn { background-color: var(--ob-bg); }
  .navbar .navbar-menu { border-bottom: 1px solid var(--ob-border); box-shadow: 0 8px 16px rgba(43, 54, 73, .08); }
  .navbar #search-input { width: 100%; }
  .navbar .search-box, .navbar .search-wrap { width: 100%; }
  .navbar .search-hint { display: none; }
}

.nav { border-right: 1px solid var(--ob-border); }
.nav-panel-menu { overflow-y: auto; }
.nav-menu { padding: .75rem .625rem 1rem; line-height: 1.4; }
.nav-menu h3.title {
  padding: .25rem .5rem .5rem;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--ob-muted);
}
.nav-menu h3.title a { color: inherit; }

.nav-list { margin: 0; }
.nav-item { margin-top: 1px; }
.nav-item .nav-list {
  margin: 1px 0 2px .8rem;
  padding-left: .25rem;
  border-left: 1px solid var(--ob-border);
}
.nav-item[data-depth="0"] > .nav-list:first-child { margin: 0; padding: 0; border: 0; }

.nav-link, .nav-text {
  display: block;
  padding: .32rem .5rem .32rem 1.55rem;
  border-radius: 8px;
  color: var(--ob-text);
  font-weight: 400;
}
.nav-link:hover { background: var(--ob-bg-soft); color: var(--ob-text); text-decoration: none; }
.nav-item.is-active > .nav-link, .nav-item.is-active > .nav-text { font-weight: 600; }
.nav-item.is-current-page > .nav-link,
.nav-item.is-current-page > .nav-link:hover {
  background: var(--ob-tint);
  color: var(--ob-action);
  font-weight: 600;
}

/* No position on .nav-item: site.js scrolls the menu to the current page using offsetTop */
.nav-item-toggle {

  width: 1rem;
  height: 1rem;
  margin: .42rem 0 0 .3rem;
  border-radius: 4px;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 3.5 10.5 8 6 12.5' fill='none' stroke='%235B6475' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat 50% / 100%;
  transition: transform .15s ease;
  cursor: pointer;
}
.nav-item-toggle:hover { background-color: var(--ob-tint); }

.nav-panel-explore { background: var(--ob-bg); }
.nav-panel-explore .context {
  height: 3rem;
  padding: 0 1rem;
  background: var(--ob-bg-soft);
  box-shadow: 0 -1px 0 var(--ob-border);
  color: var(--ob-text);
  font-size: .8rem;
}
.nav-panel-explore .context .title { font-weight: 500; }
.nav-panel-explore .context .version {
  padding: .3rem .55rem;
  border: 1px solid var(--ob-border-strong);
  border-radius: 8px;
  background: var(--ob-bg);
}
.nav-panel-explore .components { background: var(--ob-bg-soft); box-shadow: inset 0 1px 0 var(--ob-border); }
.nav-panel-explore .component .version a { background: var(--ob-tint); color: var(--ob-action); border-radius: 6px; opacity: 1; }
.nav-panel-explore .component .is-current a { background: var(--ob-action); color: #fff; }

@media screen and (min-width: 1216px) {
  .nav-container { width: 18rem; }
}
@media screen and (min-width: 769px) and (max-width: 1215.5px) {
  .nav-container { width: 15rem; }
}

.nav-panel-explore .context .title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-right: .5rem; }
.nav-panel-explore .context .version { flex: none; white-space: nowrap; }
