html, body { width: 100%; }

body { overflow-x: hidden; }

@media screen and (min-width: 768px) { body { min-height: 100vh; }
  .icon-md-100 { width: 100% !important; height: auto !important; } }

@media screen and (max-width: 991.98px) { body { -webkit-overflow-scrolling: touch; } }

@media screen and (min-width: 992px) { .h-lg-100 { height: 100%; } }

@media screen and (min-width: 1600px) { .h-xl-100 { height: 100%; } }

.max-vw-25 { max-width: 25vw !important; }

.min-vw-25 { min-width: 25vw !important; }

.max-vh-25 { max-height: 25vh !important; }

.min-vh-25 { min-height: 25vh !important; }

.max-vw-50 { max-width: 50vw !important; }

.min-vw-50 { min-width: 50vw !important; }

.max-vh-50 { max-height: 50vh !important; }

.min-vh-50 { min-height: 50vh !important; }

.max-vw-75 { max-width: 75vw !important; }

.min-vw-75 { min-width: 75vw !important; }

.max-vh-75 { max-height: 75vh !important; }

.min-vh-75 { min-height: 75vh !important; }

.max-vw-100 { max-width: 100vw !important; }

.min-vw-100 { min-width: 100vw !important; }

.max-vh-100 { max-height: 100vh !important; }

.min-vh-100 { min-height: 100vh !important; }

.max-vw-auto { max-width: autovw !important; }

.min-vw-auto { min-width: autovw !important; }

.max-vh-auto { max-height: autovh !important; }

.min-vh-auto { min-height: autovh !important; }

.text-blue { color: #48bdfe !important; }

a.text-blue:hover, a.text-blue:focus { color: #01a0f8 !important; }

.bg-blue { background-color: #48bdfe; }

.bg-gradient-blue { background: #48bdfe linear-gradient(180deg, #48bdfe, #15abfe) repeat-x !important; }

.text-blue { color: #48bdfe; }

.icon-blue { --fa-primary-color: #48bdfe; --fa-secondary-color: #ade2ff; }

.badge-blue { color: #212529; background-color: #48bdfe; }

a.badge-blue:hover, a.badge-blue:focus { color: #212529; background-color: #15abfe; }

a.badge-blue:focus, a.badge-blue.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(72, 189, 254, 0.5); }

.text-indigo { color: #bf4bff !important; }

a.text-indigo:hover, a.text-indigo:focus { color: #a300fe !important; }

.bg-indigo { background-color: #bf4bff; }

.bg-gradient-indigo { background: #bf4bff linear-gradient(180deg, #bf4bff, #ad18ff) repeat-x !important; }

.text-indigo { color: #bf4bff; }

.icon-indigo { --fa-primary-color: #bf4bff; --fa-secondary-color: #e3b1ff; }

.badge-indigo { color: #fff; background-color: #bf4bff; }

a.badge-indigo:hover, a.badge-indigo:focus { color: #fff; background-color: #ad18ff; }

a.badge-indigo:focus, a.badge-indigo.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(191, 75, 255, 0.5); }

.text-purple { color: #bf4bff !important; }

a.text-purple:hover, a.text-purple:focus { color: #a300fe !important; }

.bg-purple { background-color: #bf4bff; }

.bg-gradient-purple { background: #bf4bff linear-gradient(180deg, #bf4bff, #ad18ff) repeat-x !important; }

.text-purple { color: #bf4bff; }

.icon-purple { --fa-primary-color: #bf4bff; --fa-secondary-color: #e3b1ff; }

.badge-purple { color: #fff; background-color: #bf4bff; }

a.badge-purple:hover, a.badge-purple:focus { color: #fff; background-color: #ad18ff; }

a.badge-purple:focus, a.badge-purple.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(191, 75, 255, 0.5); }

.text-pink { color: #ff5885 !important; }

a.text-pink:hover, a.text-pink:focus { color: #ff0c4d !important; }

.bg-pink { background-color: #ff5885; }

.bg-gradient-pink { background: #ff5885 linear-gradient(180deg, #ff5885, #ff2560) repeat-x !important; }

.text-pink { color: #ff5885; }

.icon-pink { --fa-primary-color: #ff5885; --fa-secondary-color: #ffbed0; }

.badge-pink { color: #fff; background-color: #ff5885; }

a.badge-pink:hover, a.badge-pink:focus { color: #fff; background-color: #ff2560; }

a.badge-pink:focus, a.badge-pink.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(255, 88, 133, 0.5); }

.text-red { color: #ff5885 !important; }

a.text-red:hover, a.text-red:focus { color: #ff0c4d !important; }

.bg-red { background-color: #ff5885; }

.bg-gradient-red { background: #ff5885 linear-gradient(180deg, #ff5885, #ff2560) repeat-x !important; }

.text-red { color: #ff5885; }

.icon-red { --fa-primary-color: #ff5885; --fa-secondary-color: #ffbed0; }

.badge-red { color: #fff; background-color: #ff5885; }

a.badge-red:hover, a.badge-red:focus { color: #fff; background-color: #ff2560; }

a.badge-red:focus, a.badge-red.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(255, 88, 133, 0.5); }

.text-orange { color: #e98f00 !important; }

a.text-orange:hover, a.text-orange:focus { color: #9d6000 !important; }

.bg-orange { background-color: #e98f00; }

.bg-gradient-orange { background: #e98f00 linear-gradient(180deg, #e98f00, #b67000) repeat-x !important; }

.text-orange { color: #e98f00; }

.icon-orange { --fa-primary-color: #e98f00; --fa-secondary-color: #ffbb50; }

.badge-orange { color: #212529; background-color: #e98f00; }

a.badge-orange:hover, a.badge-orange:focus { color: #212529; background-color: #b67000; }

a.badge-orange:focus, a.badge-orange.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(233, 143, 0, 0.5); }

.text-yellow { color: #e98f00 !important; }

a.text-yellow:hover, a.text-yellow:focus { color: #9d6000 !important; }

.bg-yellow { background-color: #e98f00; }

.bg-gradient-yellow { background: #e98f00 linear-gradient(180deg, #e98f00, #b67000) repeat-x !important; }

.text-yellow { color: #e98f00; }

.icon-yellow { --fa-primary-color: #e98f00; --fa-secondary-color: #ffbb50; }

.badge-yellow { color: #212529; background-color: #e98f00; }

a.badge-yellow:hover, a.badge-yellow:focus { color: #212529; background-color: #b67000; }

a.badge-yellow:focus, a.badge-yellow.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(233, 143, 0, 0.5); }

.text-green { color: #06c0af !important; }

a.text-green:hover, a.text-green:focus { color: #04766b !important; }

.bg-green { background-color: #06c0af; }

.bg-gradient-green { background: #06c0af linear-gradient(180deg, #06c0af, #048f82) repeat-x !important; }

.text-green { color: #06c0af; }

.icon-green { --fa-primary-color: #06c0af; --fa-secondary-color: #33f9e7; }

.badge-green { color: #fff; background-color: #06c0af; }

a.badge-green:hover, a.badge-green:focus { color: #fff; background-color: #048f82; }

a.badge-green:focus, a.badge-green.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(6, 192, 175, 0.5); }

.text-teal { color: #06c0af !important; }

a.text-teal:hover, a.text-teal:focus { color: #04766b !important; }

.bg-teal { background-color: #06c0af; }

.bg-gradient-teal { background: #06c0af linear-gradient(180deg, #06c0af, #048f82) repeat-x !important; }

.text-teal { color: #06c0af; }

.icon-teal { --fa-primary-color: #06c0af; --fa-secondary-color: #33f9e7; }

.badge-teal { color: #fff; background-color: #06c0af; }

a.badge-teal:hover, a.badge-teal:focus { color: #fff; background-color: #048f82; }

a.badge-teal:focus, a.badge-teal.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(6, 192, 175, 0.5); }

.text-cyan { color: #06c0af !important; }

a.text-cyan:hover, a.text-cyan:focus { color: #04766b !important; }

.bg-cyan { background-color: #06c0af; }

.bg-gradient-cyan { background: #06c0af linear-gradient(180deg, #06c0af, #048f82) repeat-x !important; }

.text-cyan { color: #06c0af; }

.icon-cyan { --fa-primary-color: #06c0af; --fa-secondary-color: #33f9e7; }

.badge-cyan { color: #fff; background-color: #06c0af; }

a.badge-cyan:hover, a.badge-cyan:focus { color: #fff; background-color: #048f82; }

a.badge-cyan:focus, a.badge-cyan.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(6, 192, 175, 0.5); }

.text-white { color: #fff !important; }

a.text-white:hover, a.text-white:focus { color: #d9d9d9 !important; }

.bg-white { background-color: #fff; }

.bg-gradient-white { background: #fff linear-gradient(180deg, #fff, #e6e6e6) repeat-x !important; }

.text-white { color: #fff; }

.icon-white { --fa-primary-color: #fff; --fa-secondary-color: white; }

.badge-white { color: #212529; background-color: #fff; }

a.badge-white:hover, a.badge-white:focus { color: #212529; background-color: #e6e6e6; }

a.badge-white:focus, a.badge-white.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.5); }

.text-gray { color: #6c757d !important; }

a.text-gray:hover, a.text-gray:focus { color: #494f54 !important; }

.bg-gray { background-color: #6c757d; }

.bg-gradient-gray { background: #6c757d linear-gradient(180deg, #6c757d, #545b62) repeat-x !important; }

.text-gray { color: #6c757d; }

.icon-gray { --fa-primary-color: #6c757d; --fa-secondary-color: #a1a8ae; }

.badge-gray { color: #fff; background-color: #6c757d; }

a.badge-gray:hover, a.badge-gray:focus { color: #fff; background-color: #545b62; }

a.badge-gray:focus, a.badge-gray.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }

.text-gray-dark { color: #343a40 !important; }

a.text-gray-dark:hover, a.text-gray-dark:focus { color: #121416 !important; }

.bg-gray-dark { background-color: #343a40; }

.bg-gradient-gray-dark { background: #343a40 linear-gradient(180deg, #343a40, #1d2124) repeat-x !important; }

.text-gray-dark { color: #343a40; }

.icon-gray-dark { --fa-primary-color: #343a40; --fa-secondary-color: #626d78; }

.badge-gray-dark { color: #fff; background-color: #343a40; }

a.badge-gray-dark:hover, a.badge-gray-dark:focus { color: #fff; background-color: #1d2124; }

a.badge-gray-dark:focus, a.badge-gray-dark.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }

.icon-theme { --fa-primary-color: #0190df; --fa-secondary-color: #9300e4; }

.icon-100 { width: 100% !important; height: auto !important; }

.font-sans-serif { font-family: "Roboto", sans-serif !important; }

.font-serif { font-family: "Roboto Slab", serif !important; }

.font-monospace { font-family: "Roboto Mono", monospace !important; }

.font-size-lg { font-size: 1.25rem; }

.font-size-sm { font-size: 0.875rem; }

.font-size-base { font-size: 1rem; }

h1, h2, h3, .display-1, .display-2, .display-3, .display-4, .h-section { font-family: "Roboto Slab", serif; }

h1:not(:first-child), h2:not(:first-child), h3:not(:first-child), .display-1:not(:first-child), .display-2:not(:first-child), .display-3:not(:first-child), .display-4:not(:first-child), .h-section:not(:first-child) { margin-top: 1.5rem; }

h1 { font-weight: bold; color: #0190df; background: -webkit-linear-gradient(#3432df, #0180c6); -webkit-background-clip: text; -webkit-text-fill-color: transparent; padding-bottom: 0.15rem; margin-bottom: 0.5rem; }

h1 * { background-image: none; -webkit-background-clip: initial; -webkit-text-fill-color: initial; }

h2 { color: #50a6d7; }

h3 { color: #79bbe1; }

.border-muted { border-color: #6c757d !important; }

.h-section { background: -webkit-linear-gradient(#3432df, #0180c6); color: #fff; padding: 0.5rem; margin-bottom: 1.5rem; }

.bg-nav { background: #e9ecef linear-gradient(180deg, #e9ecef, #fff) repeat-x !important; }

.navbar .navbar-collapse { align-items: stretch; }

.navbar .navbar-nav { align-items: stretch; }

.navbar .nav-item { display: flex; align-items: center; }

#logo { height: 2.5rem; }

code { padding: .25rem .5rem; margin: 0; }

pre code { padding: 0; }

code, code[class*="language-"], pre[class*="language-"] { background-color: #e9ecef; text-shadow: none; font-family: "Roboto Mono", monospace; font-size: 0.875rem; }

code span, code[class*="language-"] span, pre[class*="language-"] span { background: none !important; }

.table-api thead th { border: none; background: #e9ecef linear-gradient(0deg, #e9ecef, #f8f9fa) repeat-x !important; font-size: 0.875rem; }

.table-api tbody tr:nth-of-type(even) { background-color: rgba(0, 0, 0, 0.02); }

.table-api tbody tr td:not(:first-child) { font-size: 0.875rem; }

.bg-body { background-color: #f8f9fa; }

#hero { background: #0190df linear-gradient(155deg, #0190df, #9300e4) repeat-x !important; }

#content ul:not([class]) li, #content ul[class=""] li { padding-top: 0.25rem; padding-bottom: 0.25rem; }

#content.p-4 > pre[class*="language-"] { margin-left: -1.5rem; margin-right: -1.5rem; padding-left: 1.5rem; padding-right: 1.5rem; }

#footer { background-color: #212529; }

#titlebar { background: #0190df linear-gradient(180deg, #4a48e2, #0190df) repeat-x !important; }

#titlebar .breadcrumbs { color: #8b8aec; font-size: 1rem; display: block; visibility: visible; }

#titlebar .breadcrumbs span::after { color: #7674e9; content: "/"; font-weight: 700; margin-left: 0.5rem; margin-right: 0.5rem; font-size: 1.25rem; }

#titlebar .breadcrumbs span:last-child:after { content: ''; }

#titlebar .breadcrumbs a, #titlebar .breadcrumbs a:focus, #titlebar .breadcrumbs a:active, #titlebar .breadcrumbs a:hover { color: #8b8aec; }

#titlebar .breadcrumbs a:hover { color: #7674e9; }

#titlebar .title { line-height: 1.5em; font-family: "Roboto Slab", serif; font-size: 2rem; }

#titlebar .title small { font-size: 64%; color: #7bd0fe; }

#undertitle { background: #0190df linear-gradient(180deg, #0190df 30%, #0180c6 100%) repeat-x !important; }

@media (min-width: 768px) { #undertitle > div { min-height: 1.5rem; }
  #undertitle > div > .row { min-height: 1.5rem; } }

.sidebar { padding-top: 1rem; }

@media (min-width: 768px) { .sidebar { border-bottom: none; padding-bottom: 0; margin-bottom: 0; overflow-y: auto; top: 0; bottom: 0; left: 0; right: 0; opacity: 0.6; transition: opacity 0.5s; display: block !important; position: absolute; max-height: 100vh; z-index: 1020; }
  .sidebar:hover { opacity: 1; } }

@media (max-width: 991.98px) { #right-sidebar { display: none !important; } }

.sidebar-root > .sidebar-nav-item { font-weight: 700; color: #343a40; margin-bottom: 1rem; }

.sidebar-root > .sidebar-nav-item.has-children { margin-bottom: 0; }

.sidebar-root > .sidebar-nav-item.sidebar-header { margin-bottom: 0.25rem; color: #212529; font-size: 0.74375rem; text-transform: uppercase; }

.sidebar-root > .sidebar-nav-children { padding-top: 0.5rem; font-size: 0.875rem; border-top: 3px solid #ced4da; margin-bottom: 1rem; }

.sidebar-root > .sidebar-nav-children > .sidebar-nav-children { font-size: 0.76562rem; padding-left: 0.5rem; }

.sidebar-root > .sidebar-nav-children > .sidebar-nav-children > .sidebar-nav-item { border-left: 4px solid #e9ecef; }

.sidebar-root > .sidebar-nav-children > .sidebar-nav-children > .sidebar-nav-item.active { border-left: 4px solid #016fac; }

.sidebar-root .sidebar-nav-item { padding: 0.15rem 0.5rem; color: #6c757d; }

.sidebar-root .sidebar-nav-item.active { font-weight: 700; color: #fff; background-color: #0190df; }

.sidebar-root .sidebar-nav-item.active a, .sidebar-root .sidebar-nav-item.active a:focus, .sidebar-root .sidebar-nav-item.active a:active { color: #fff; }

.sidebar-root .sidebar-nav-item.active a:hover { color: #fff; }

.sidebar-root .sidebar-nav-item a, .sidebar-root .sidebar-nav-item a:focus, .sidebar-root .sidebar-nav-item a:active { color: #6c757d; }

.sidebar-root .sidebar-nav-item a:hover { color: #014e79; }

.sidebar-root .sidebar-nav-children { padding-bottom: 0.25rem; }

.page-box { border: 1px solid #e9ecef; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); border-radius: 0.25rem; }

.page-box *:last-child { margin-bottom: 0; }

/* Mermaid */
.mermaid { overflow: hidden !important; visibility: hidden !important; margin-bottom: 1rem; margin-top: 1rem; min-height: 200px; }

.mermaid[data-processed="true"] { visibility: visible !important; }

.mermaid svg { min-height: 200px; }

.node rect, .node circle, .node ellipse, .node polygon { fill: #e0f4ff !important; stroke: #000 !important; }

.type-node rect, .type-node circle, .type-node ellipse, .type-node polygon { fill: #7bd0fe !important; stroke: #000 !important; }

.cluster rect { fill: #f8f9fa !important; stroke: #dee2e6 !important; }
