#projectnumber {
    font: 33% Tahoma, Arial, sans-serif;
    margin: 0px;
    padding: 0px;
    color: gray;
}

html {
    color-scheme: light !important;
    --side-nav-arrow-opacity: 0.6 !important;
    --side-nav-arrow-hover-opacity: 0.9 !important;
    --fragment-linenumber-color: #666666 !important;
    --fragment-linenumber-background: #f0f0f0 !important;
    --fragment-lineheight: 15px !important;
    --fragment-link: #92B6DA !important;
    --search-magnification-select-image: url('search/mag_sel.svg') !important;
    --search-magnification-image: url('search/mag.svg') !important;
}

html:not(.light-mode),
html.dark-mode {
    color-scheme: light !important;

    --primary-color: #00A3FF !important;
    --primary-dark-color: #0453EE !important;
    --primary-light-color: #A9D5FD !important;
    --on-primary-color: #ffffff !important;

    --page-background-color: #ffffff !important;
    --page-foreground-color: #021B46 !important;
    --page-secondary-foreground-color: #0453EE !important;

    --separator-color: #E9F4FF !important;
    --box-shadow: 0 2px 8px 0 rgba(0, 0, 0, .075) !important;
    --odd-color: rgba(0, 0, 0, .028) !important;

    --menu-selected-background: rgba(0, 0, 0, .05) !important;
    --header-background: #ffffff !important;
    --header-foreground: #021B46 !important;

    --searchbar-background: #fbfbfb !important;
    --searchbar-foreground: #021B46 !important;

    --code-background: #f5f5f5 !important;
    --code-foreground: #021B46 !important;

    --fragment-background: #F8F9FA !important;
    --fragment-foreground: #37474F !important;
    --fragment-link: #92B6DA !important;

    --side-nav-background: #fbfbfb !important;
    --side-nav-foreground: #021B46 !important;

    --toc-background: #fbfbfb !important;
    --toc-foreground: #021B46 !important;

    --webkit-scrollbar-color: #E9F4FF !important;
}

#nav-path ul {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}

.navpath li.footer {
    margin-left: auto !important;
    list-style: none !important;
    margin-right: var(--spacing-medium) !important;
}

.navpath li.footer img.footer {
    vertical-align: middle !important;
}

#MSearchBox {
    width: var(--searchbar-width, 210px) !important;
    margin-top: 20px !important;
}

#MSearchField {
    width: calc(var(--searchbar-width, 210px) - 64px) !important;
    padding-left: 8px !important;
}

#MSearchSelect {
    background-image: var(--search-magnification-select-image) !important;
    background-size: 20px 19px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    display: inline-block !important;
    vertical-align: middle !important;
    width: 20px !important;
    height: 19px !important;
    margin: 0 0 0 0.3em !important;
    padding: 0 !important;
}

#MSearchBox .left {
    padding-left: 8px !important;
}

#MSearchCloseImg {
    width: 14px !important;
    height: 24px !important;
    opacity: 0.6 !important;
    position: relative !important;
    top: -5px !important; 
}

@media screen and (min-width: 768px) {

    .sidebar-layout #MSearchBox,
    body.sidebar-mode #MSearchBox {
        width: calc(var(--side-nav-fixed-width, 335px) - calc(2 * var(--spacing-medium, 10px))) !important;
    }

    .sidebar-layout #MSearchField,
    body.sidebar-mode #MSearchField {
        width: calc(var(--side-nav-fixed-width, 335px) - calc(2 * var(--spacing-medium, 10px)) - 65px) !important;
    }
}

@media screen and (min-width: 1200px) {
    #doc-content {
        margin-left: var(--side-nav-fixed-width, 335px) !important;
    }

    div.contents {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

.iconfopen,
.iconfclosed {
    filter: none !important;
}

.iconfopen {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"/></svg>') !important;
    background-size: 16px 16px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    width: 16px !important;
    height: 16px !important;
    display: inline-block !important;
    margin-right: 6px !important;
    vertical-align: middle !important;
}

.iconfclosed {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"/><path d="M2 10h20"/></svg>') !important;
    background-size: 16px 16px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    width: 16px !important;
    height: 16px !important;
    display: inline-block !important;
    margin-right: 6px !important;
    vertical-align: middle !important;
}

.icondoc::before {
    content: '' !important;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/></svg>') !important;
    background-size: 16px 16px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    width: 16px !important;
    height: 16px !important;
    display: inline-block !important;
    margin-right: 6px !important;
    vertical-align: middle !important;
}

.icondoc,
.iconfile,
.iconheader,
.iconsource {
    background-image: none !important;
    width: auto !important;
    height: auto !important;
    display: inline-block !important;
}

.iconfile::before,
.iconheader::before,
.iconsource::before {
    content: '' !important;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"/><path d="M14 2v4a2 2 0 0 0 2 2h4"/></svg>') !important;
    background-size: 16px 16px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    width: 16px !important;
    height: 16px !important;
    display: inline-block !important;
    margin-right: 6px !important;
    vertical-align: middle !important;
}

.levels {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 8px;
    gap: 0.5em;
}

.levels span {
    color: var(--primary-color) !important;
    text-decoration: underline;
    font-weight: 600;
    margin: 0 6px;
    cursor: pointer;
}

#projectlogo {
    cursor: pointer;
}

th {
    background-color: var(--page-background-color) !important;
}

th.markdownTableHeadNone,
th.markdownTableHeadRight,
th.markdownTableHeadLeft,
th.markdownTableHeadCenter,
th.markdownTableHeadNone,
th.markdownTableHeadRight,
th.markdownTableHeadLeft,
th.markdownTableHeadCenter {
    background: none !important;
}

div.fragment span.lineno {
    color: var(--fragment-linenumber-color) !important;
    background-color: var(--fragment-linenumber-background) !important;
    padding: 2px 4px 2px 0px !important;
    min-width: 2.8em !important;
}

div.fragment span.lineno a {
    background-color: transparent !important;
    text-decoration: none !important;
    color: var(--primary-color) !important;
}

div.fragment span.lineno a:hover {
    background-color: var(--menu-selected-background) !important;
}

div.fragment {
    padding: 0 !important;
    margin: 4px 8px 4px 2px !important;
    border: 1px solid var(--separator-color) !important;
    border-radius: var(--border-radius-medium) !important;
}

div.fragment .line {
    line-height: var(--fragment-lineheight) !important;
}

div.fragment>.line:first-child .lineno {
    box-shadow: none !important;
    background-color: var(--fragment-linenumber-background) !important;
}

.ttc {
    margin: 4px 8px 4px 0px !important;
    padding: 8px !important;
    border: 1px solid var(--separator-color) !important;
    border-radius: var(--border-radius-medium) !important;
    background-color: var(--fragment-background) !important;
    max-width: var(--content-maxwidth, 1050px) !important;
}

.ttname {
    color: var(--primary-color) !important;
    font-weight: 600 !important;
    margin-bottom: 4px !important;
}

.ttname a {
    color: var(--primary-color) !important;
    text-decoration: none !important;
}

.ttname a:hover {
    text-decoration: underline !important;
}

.ttdeci {
    color: var(--fragment-foreground) !important;
    font-family: var(--font-family-monospace) !important;
    font-size: var(--code-font-size) !important;
    margin: 4px 0 !important;
    background-color: var(--code-background) !important;
    padding: 2px 4px !important;
    border-radius: var(--border-radius-small) !important;
}

.ttdoc {
    color: var(--page-foreground-color) !important;
    margin: 4px 0 !important;
    line-height: var(--content-line-height) !important;
}

.ttdef {
    color: var(--page-secondary-foreground-color) !important;
    font-size: calc(var(--page-font-size) - 1px) !important;
    margin-top: 4px !important;
}

.ttdef b {
    font-weight: 600 !important;
}

#nav-tree .item {
    padding-left: 0 !important;
}

#nav-tree .item .arrow {
    margin-left: 0 !important;
    margin-right: 4px !important;
}
#nav-tree .item.selected .arrow {
    margin-left: 6px !important; 
}

#nav-tree .item:not(:has(.arrow)) a {
    padding-left: 16px !important;
}

#nav-tree>a {
    padding-left: 16px !important;
}

#MSearchCloseImg {
    width: 14px !important;
    height: 24px !important;
    opacity: 0.6 !important;
}

#MSearchCloseImg:hover {
    opacity: 1 !important;
}

table.memberdecls .memItemRight,
table.memberdecls .memTemplItemRight,
table.memberdecls .mdescRight {
    padding-left: var(--spacing-medium) !important;
}

div.fragment a.code,
div.fragment span.lineno a {
    color: #92B6DA !important;
}

table.memberdecls .memItemRight,
table.memberdecls .memTemplItemRight,
table.memberdecls .mdescRight {
    vertical-align: middle !important;
}

#nav-sync {
    display: none !important;
}

.alpha-filter {
    display: none; 
    gap: 6px;
    flex-wrap: wrap;
    padding: 8px 12px;
    margin: 8px 0 4px 0;
    background: var(--toc-background) !important;
    border: 1px solid var(--separator-color) !important;
    border-radius: var(--border-radius-medium) !important;
}

.alpha-filter__letter {
    cursor: pointer;
    user-select: none;
    color: var(--primary-color) !important;
    font-weight: 600;
    text-decoration: none !important;
}

.alpha-filter__letter.is-disabled {
    color: var(--page-secondary-foreground-color) !important;
    opacity: .55;
    cursor: default;
}
