img.image {
  border: 1px solid #9e9e9e;
  border-radius: 4px;
  box-shadow: var(--md-shadow-z1);
}

img.border {
  border: 1px solid #9e9e9e;
  box-shadow: var(--md-shadow-z1);
}

img.round {
  border-radius: 4px;
}

.subtabs {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 1rem 1rem 0 1rem;
  background: #fff;
  margin-left: auto;
  margin-right: auto;
  max-width: 61rem;
}

.subtabs__item { 
  flex-shrink: 0;
  border: .05rem solid var(--md-default-fg-color--lightest);
  border-radius: .1rem;
  display: block;
  margin: .2rem .2rem;
  padding: .1rem .1rem;
  transition: border .25s, box-shadow .25s;
  font-size: .7rem;
}

.subtabs__item:hover {
  box-shadow: var(--md-shadow-z2) !important;
}

.subtabs__item.is-active {
  background: rgba(0,0,0, .05);
  border-color: transparent;
}

.subtabs__link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .25rem;
  text-decoration: none;
  white-space: nowrap;
}

.subtabs__link svg {
  display: flex;
  width: 20px;
  height: 20px;
  fill: #333;
}

.subtabs__item--search {
  border-color: transparent;
}

@media (max-width: 43.3rem) {
  .subtabs {
    display: none !important;
  }
}

.grid:has(> *:only-child) {
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 43.3rem) {
  .grid:has(> *:only-child) {
    grid-template-columns: unset;
  }
}

.green {
  color: green;
}

.red {
  color: #cc0000;
}

.md-typeset .admonition,
.md-typeset details {
  border-width: 0;
  border-left-width: 2px;
  overflow: hidden;
}

.banner-custom {
  margin-top: 1rem;
  padding: .6rem .6rem 0 .6rem;
}

.banner-custom__title {
  display: flex;
  align-items: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .7rem;
}

.banner-custom__title::before {
  content: "";
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  margin-right: .2rem;
}

.banner-custom__title--telegram::before {
  background: url( "/assets/i/fontawesome/telegram.svg" ) transparent no-repeat 0 0;
  background-size: contain;
}

.banner-custom__title--idea::before {
  background: url( "/assets/i/material/lightbulb.svg" ) transparent no-repeat 0 0;
  background-size: contain;
}

.banner-custom__title--download::before {
  background: url( "/assets/i/material/download_for_offline.svg" ) transparent no-repeat 0 0;
  background-size: contain;
}

.banner-custom__title--install::before {
  background: url( "/assets/i/material/install_desktop.svg" ) transparent no-repeat 0 0;
  background-size: contain;
}

.banner-custom__title--description::before {
  background: url( "/assets/i/material/description.svg" ) transparent no-repeat 0 0;
  background-size: contain;
}

.banner-custom__title--oem::before {
  background: url( "/assets/i/material/star.svg" ) transparent no-repeat 0 0;
  background-size: contain;
}

.banner-custom__title--selfhosted::before {
  background: url( "/assets/i/material/star.svg" ) transparent no-repeat 0 0;
  background-size: contain;
}

.banner-custom__title--changelog::before {
  background: url( "/assets/i/material/history_edu.svg" ) transparent no-repeat 0 0;
  background-size: contain;
}


.banner-custom__text {
  font-size: .55rem;
  line-height: .8rem;
  padding: .2rem;
}

.banner-custom__action {
  margin-top: -.2rem;
  display: flex;
  align-items: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .7rem;
  padding: .2rem;
}

.banner-custom__action::after {
  content: "";
  width: 16px;
  height: 16px;
  background: url( "/assets/i/material/arrow_right.svg" ) transparent no-repeat 0 0;
  background-size: contain;
  flex-shrink: 0;
  margin-left: .2rem;
  filter: invert(69%) sepia(10%) saturate(3501%) hue-rotate(70deg) brightness(90%) contrast(58%);
}

.banner-custom__action--blank::after {
  background: url( "/assets/i/material/north_east.svg" ) transparent no-repeat 0 0;
  background-size: contain;
}

.banner-custom__action:hover::after {
  filter: invert(71%) sepia(14%) saturate(2189%) hue-rotate(74deg) brightness(90%) contrast(87%);
}

.api-res-title {
  color: #666;
  text-transform: uppercase;
  font-size: .6rem;
  font-weight: bold;
}

.md-typeset table:not([class]) {
    display: table;
}

:root {
  --md-admonition-icon--json: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M190-360h70q17 0 28.5-11.5T300-400v-170q0-13-8.5-21.5T270-600q-13 0-21.5 8.5T240-570v160h-40v-25q0-11-7-18t-18-7q-11 0-18 7t-7 18v35q0 17 11.5 28.5T190-360Zm177 0h60q17 0 28.5-11.5T467-400v-60q0-17-11.5-28.5T427-500h-50v-50h40q0 8 6 14t14 6h5q11 0 18-7t7-18v-5q0-17-11.5-28.5T427-600h-60q-17 0-28.5 11.5T327-560v60q0 17 11.5 28.5T367-460h50v50h-40q0-8-6-14t-14-6h-5q-11 0-18 7t-7 18v5q0 17 11.5 28.5T367-360Zm176-60v-120h40v120h-40Zm-10 60h60q17 0 28.5-11.5T633-400v-160q0-17-11.5-28.5T593-600h-60q-17 0-28.5 11.5T493-560v160q0 17 11.5 28.5T533-360Zm177-105 34 89q3 8 9 12t14 4h8q11 0 18-7t7-18v-190q0-11-7-18t-18-7q-11 0-18 7t-7 18v80l-34-89q-3-8-9-12t-14-4h-8q-11 0-18 7t-7 18v190q0 11 7 18t18 7q11 0 18-7t7-18v-80ZM120-160q-33 0-56.5-23.5T40-240v-480q0-33 23.5-56.5T120-800h720q33 0 56.5 23.5T920-720v480q0 33-23.5 56.5T840-160H120Zm0-80h720v-480H120v480Zm0 0v-480 480Z"/></svg>')
}
.md-typeset .admonition.json,
.md-typeset details.json {
  border-color: rgb(158, 158, 158);
}
.md-typeset .json > .admonition-title,
.md-typeset .json > summary {
  background-color: rgba(158, 158, 158, 0.1);
}
.md-typeset .json > .admonition-title::before,
.md-typeset .json > summary::before {
  background-color: rgb(158, 158, 158);
  -webkit-mask-image: var(--md-admonition-icon--json);
          mask-image: var(--md-admonition-icon--json);
}
.md-typeset .admonition.json:focus-within,
.md-typeset details.json:focus-within {
  box-shadow: 0 0 0 .2em rgba(158, 158, 158, .25);
}

:root {
  --md-admonition-icon--terminal: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm0-80h640v-400H160v400Zm140-40-56-56 103-104-104-104 57-56 160 160-160 160Zm180 0v-80h240v80H480Z"/></svg>')
}
.md-typeset .admonition.terminal,
.md-typeset details.terminal {
  border-color: rgb(158, 158, 158);
}
.md-typeset .terminal > .admonition-title,
.md-typeset .terminal > summary {
  background-color: rgba(158, 158, 158, 0.1);
}
.md-typeset .terminal > .admonition-title::before,
.md-typeset .terminal > summary::before {
  background-color: rgb(158, 158, 158);
  -webkit-mask-image: var(--md-admonition-icon--terminal);
          mask-image: var(--md-admonition-icon--terminal);
}
.md-typeset .admonition.terminal:focus-within,
.md-typeset details.terminal:focus-within {
  box-shadow: 0 0 0 .2em rgba(158, 158, 158, .25);
}

:root {
  --md-admonition-icon--lan: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-80v-280h120v-160h200v-80H320v-280h320v280H520v80h200v160h120v280H520v-280h120v-80H320v80h120v280H120Zm280-600h160v-120H400v120ZM200-160h160v-120H200v120Zm400 0h160v-120H600v120ZM480-680ZM360-280Zm240 0Z"/></svg>')
}
.md-typeset .admonition.lan,
.md-typeset details.lan {
  border-color: rgb(158, 158, 158);
}

.md-typeset .admonition.lan:focus-within,
.md-typeset details.lan:focus-within {
  box-shadow: 0 0 0 .2em rgba(158, 158, 158, .25);
}

.md-typeset .lan > .admonition-title,
.md-typeset .lan > summary {
  background-color: rgba(158, 158, 158, 0.1);
}
.md-typeset .lan > .admonition-title::before,
.md-typeset .lan > summary::before {
  background-color: rgb(158, 158, 158);
  -webkit-mask-image: var(--md-admonition-icon--lan);
          mask-image: var(--md-admonition-icon--lan);
}


:root {
  --md-admonition-icon--memory: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M360-360v-240h240v240H360Zm80-80h80v-80h-80v80Zm-80 320v-80h-80q-33 0-56.5-23.5T200-280v-80h-80v-80h80v-80h-80v-80h80v-80q0-33 23.5-56.5T280-760h80v-80h80v80h80v-80h80v80h80q33 0 56.5 23.5T760-680v80h80v80h-80v80h80v80h-80v80q0 33-23.5 56.5T680-200h-80v80h-80v-80h-80v80h-80Zm320-160v-400H280v400h400ZM480-480Z"/></svg>')
}
.md-typeset .admonition.memory,
.md-typeset details.memory {
  border-color: rgb(158, 158, 158);
}

.md-typeset .admonition.memory:focus-within,
.md-typeset details.memory:focus-within {
  box-shadow: 0 0 0 .2em rgba(158, 158, 158, .25);
}

.md-typeset .memory > .admonition-title,
.md-typeset .memory > summary {
  background-color: rgba(158, 158, 158, 0.1);
}
.md-typeset .memory > .admonition-title::before,
.md-typeset .memory > summary::before {
  background-color: rgb(158, 158, 158);
  -webkit-mask-image: var(--md-admonition-icon--memory);
          mask-image: var(--md-admonition-icon--memory);
}


:root {
  --md-admonition-icon--config: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m370-80-16-128q-13-5-24.5-12T307-235l-119 50L78-375l103-78q-1-7-1-13.5v-27q0-6.5 1-13.5L78-585l110-190 119 50q11-8 23-15t24-12l16-128h220l16 128q13 5 24.5 12t22.5 15l119-50 110 190-103 78q1 7 1 13.5v27q0 6.5-2 13.5l103 78-110 190-118-50q-11 8-23 15t-24 12L590-80H370Zm70-80h79l14-106q31-8 57.5-23.5T639-327l99 41 39-68-86-65q5-14 7-29.5t2-31.5q0-16-2-31.5t-7-29.5l86-65-39-68-99 42q-22-23-48.5-38.5T533-694l-13-106h-79l-14 106q-31 8-57.5 23.5T321-633l-99-41-39 68 86 64q-5 15-7 30t-2 32q0 16 2 31t7 30l-86 65 39 68 99-42q22 23 48.5 38.5T427-266l13 106Zm42-180q58 0 99-41t41-99q0-58-41-99t-99-41q-59 0-99.5 41T342-480q0 58 40.5 99t99.5 41Zm-2-140Z"/></svg>')
}
.md-typeset .admonition.config,
.md-typeset details.config {
  border-color: rgb(158, 158, 158);
}

.md-typeset .admonition.config:focus-within,
.md-typeset details.config:focus-within {
  box-shadow: 0 0 0 .2em rgba(158, 158, 158, .25);
}

.md-typeset .config > .admonition-title,
.md-typeset .config > summary {
  background-color: rgba(158, 158, 158, 0.1);
}
.md-typeset .config > .admonition-title::before,
.md-typeset .config > summary::before {
  background-color: rgb(158, 158, 158);
  -webkit-mask-image: var(--md-admonition-icon--config);
          mask-image: var(--md-admonition-icon--config);
}


:root {
  --md-admonition-icon--devices: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M480-540ZM80-160v-80h400v80H80Zm120-120q-33 0-56.5-23.5T120-360v-360q0-33 23.5-56.5T200-800h560q33 0 56.5 23.5T840-720H200v360h280v80H200Zm600 40v-320H640v320h160Zm-180 80q-25 0-42.5-17.5T560-220v-360q0-25 17.5-42.5T620-640h200q25 0 42.5 17.5T880-580v360q0 25-17.5 42.5T820-160H620Zm100-300q13 0 21.5-9t8.5-21q0-13-8.5-21.5T720-520q-12 0-21 8.5t-9 21.5q0 12 9 21t21 9Zm0 60Z"/></svg>')
}
.md-typeset .admonition.devices,
.md-typeset details.devices {
  border-color: rgb(158, 158, 158);
}

.md-typeset .admonition.devices:focus-within,
.md-typeset details.devices:focus-within {
  box-shadow: 0 0 0 .2em rgba(158, 158, 158, .25);
}

.md-typeset .devices > .admonition-title,
.md-typeset .devices > summary {
  background-color: rgba(158, 158, 158, 0.1);
}
.md-typeset .devices > .admonition-title::before,
.md-typeset .devices > summary::before {
  background-color: rgb(158, 158, 158);
  -webkit-mask-image: var(--md-admonition-icon--devices);
          mask-image: var(--md-admonition-icon--devices);
}

.param-name {
  white-space: nowrap;
}

.md-typeset .success>.admonition-title:before, 
.md-typeset .success>summary:before,
.md-typeset .tip>.admonition-title:before, 
.md-typeset .tip>summary:before,
.md-typeset .info>.admonition-title:before, 
.md-typeset .info>summary:before,
.md-typeset .example>.admonition-title:before, 
.md-typeset .example>summary:before,
.md-typeset .abstract>.admonition-title:before, 
.md-typeset .abstract>summary:before,
.md-typeset .note>.admonition-title:before, 
.md-typeset .note>summary:before {
  background-color: #4cae4f;
}

.md-typeset .admonition.success, 
.md-typeset details.success,
.md-typeset .admonition.tip, 
.md-typeset details.tip,
.md-typeset .admonition.info, 
.md-typeset details.info,
.md-typeset .admonition.example, 
.md-typeset details.example,
.md-typeset .admonition.abstract, 
.md-typeset details.abstract,
.md-typeset .admonition.note, 
.md-typeset details.note {
  border-color: #4cae4f;
}

.md-typeset .success>.admonition-title, 
.md-typeset .success>summary,
.md-typeset .tip>.admonition-title, 
.md-typeset .tip>summary,
.md-typeset .info>.admonition-title, 
.md-typeset .info>summary,
.md-typeset .example>.admonition-title, 
.md-typeset .example>summary,
.md-typeset .abstract>.admonition-title, 
.md-typeset .abstract>summary,
.md-typeset .note>.admonition-title, 
.md-typeset .note>summary {
    background-color: #4cae4f40;
}

.md-typeset .admonition.success:focus-within,
.md-typeset details.success:focus-within,
.md-typeset .admonition.tip:focus-within,
.md-typeset details.tip:focus-within,
.md-typeset .admonition.info:focus-within,
.md-typeset details.info:focus-within,
.md-typeset .admonition.example:focus-within,
.md-typeset details.example:focus-within,
.md-typeset .admonition.abstract:focus-within,
.md-typeset details.abstract:focus-within,
.md-typeset .admonition.note:focus-within,
.md-typeset details.note:focus-within {
  box-shadow: 0 0 0 .2em rgba(76, 174, 79, .15);
}