
/* external link icon */
div.contents a[href ^= "http"]:after {
    content: " " url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVklEQVR4Xn3PgQkAMQhDUXfqTu7kTtkpd5RA8AInfArtQ2iRXFWT2QedAfttj2FsPIOE1eCOlEuoWWjgzYaB/IkeGOrxXhqB+uA9Bfcm0lAZuh+YIeAD+cAqSz4kCMUAAAAASUVORK5CYII=);
}

.githublogo {
    content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NDkxMSwgMjAxMy8xMC8yOS0xMTo0NzoxNiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RERCMUIwOUY4NkNFMTFFM0FBNTJFRTMzNTJEMUJDNDYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RERCMUIwOUU4NkNFMTFFM0FBNTJFRTMzNTJEMUJDNDYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkU1MTc4QTJBOTlBMDExRTI5QTE1QkMxMDQ2QTg5MDREIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkU1MTc4QTJCOTlBMDExRTI5QTE1QkMxMDQ2QTg5MDREIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+jUqS1wAAApVJREFUeNq0l89rE1EQx3e3gVJoSPzZeNEWPKgHoa0HBak0iHiy/4C3WvDmoZ56qJ7txVsPQu8qlqqHIhRKJZceesmhioQEfxTEtsoSpdJg1u/ABJ7Pmc1m8zLwgWTmzcw3L+/te+tHUeQltONgCkyCi2AEDHLsJ6iBMlgHL8FeoqokoA2j4CloRMmtwTmj7erHBXPgCWhG6a3JNXKdCiDl1cidVbXZkJoXQRi5t5BrxwoY71FzU8S4JuAIqFkJ2+BFSlEh525b/hr3+k/AklDkNsf6wTT4yv46KIMNpsy+iMdMc47HNWxbsgVcUn7FmLAzzoFAWDsBx+wVP6bUpp5ewI+DOeUx0Wd9D8F70BTGNjkWtqnhmT1JQAHcUgZd8Lo3rQb1LAT8eJVUfgGvHQigGp+V2Z0iAUUl8QH47kAA1XioxIo+bRN8OG8F/oBjwv+Z1nJgX5jpdzQDw0LCjsPmrcW7I/iHScCAEDj03FtD8A0EyuChHgg4KTlJQF3wZ7WELppnBX+dBFSVpJsOBWi1qiRgSwnOgoyD5hmuJdkWCVhTgnTvW3AgYIFrSbZGh0UW/Io5Vp+DQoK7o80pztWMemZbgxeNwCNwDbw1fIfgGZjhU6xPaJgBV8BdsMw5cbZoHsenwYFxkZzl83xTSKTiviCAfCsJLysH3POfC8m8NegyGAGfLP/VmGmfSChgXroR0RSWjEFv2J/nG84cuKFMf4sTCZqXuJd4KaXFVjEG3+tw4eXbNK/YC9oXXs3O8NY8y99L4BXY5cvLY/Bb2VZ58EOJVcB18DHJq9lRsKr8inyKGVjlmh29mtHs3AHfuhCwy1vXT/Nu2GKQt+UHsGdctyX6eQyNvc+5sfX9Dl7Pe2J/BRgAl2CpwmrsHR0AAAAASUVORK5CYII=);
}

/* search bar wrapper */
#titlearea #projectalign + td {
    position: absolute;
    left: 20px;
    top: 80px;
}

doxygen-awesome-dark-mode-toggle {
    display: inline-block !important;
    position: absolute;
    right: -27px;
    top: 0px;
    padding-top: 5px;
    height: 29px;
}
/*
Doxygen by default does this horrible table layout thing where it tries to figure the default width of the left
    column by taking the largest item in that column (the type), unwrapped, and making that the width for the entire column
We are working with C++, type declarations can be massive. So lock it to 350px and turn on word wrapping for the Types
    column.
*/
table.memberdecls .memItemLeft {
    white-space: normal;
    min-width: 350px;
}

html.dark-mode {
    --primary-color: #c74433!important;
    --primary-dark-color: #d0584d !important;;
    --primary-light-color: #a2382a !important;;
}
html {
    --primary-color: #c74433!important;
    --primary-dark-color: #d0584d !important;;
    --primary-light-color: #a2382a !important;;
}

.paramname {
    color: var(--primary-light-color);
}
.paramtype .el {
    color: var(--primary-dark-color) !important;
}

tr#projectrow {
    margin-top: 7px;
    display: block;
}

#MSearchBox span.left {
    left: 5px;
    top: 1px;
}

input#MSearchField {
    padding-left: 10px;
    top: -1px;
}

#MSearchSelect {
    background-repeat: no-repeat !important;
}

/* Replicating an "undecorated root node" */

.children_ul a.index\.html {
    display: initial !important;
}

a.index\.html {
    display: none;
}


#nav-tree-contents > ul > li > .item {
    height: 0px;
}

/* --- */

/* Move the "Deprecated Items" item to the end of the list. */
#nav-tree-contents > ul > li > ul.children_ul {
    margin: 0px;
    padding: 0px;
    display: flex!important;
    flex-direction: column!important;
}
#nav-tree-contents > ul > li > ul > li:nth-of-type(2) {
    order: 9999999;
}

/* Basic Mobile functionality fixes */
@media screen and (max-width: 767px) {
    div#top {
        height: 125px;
    }
    div#MSearchBox {
        top: -16px;
    }
    doxygen-awesome-dark-mode-toggle {
        padding-top: 0px;
        right: -22px;
    }
}

.memitem {
    position:relative;
}

dl.threadsafe {
    position: absolute;
    top: 0px;
    right: 8px;
    margin-top: 10px;
    background-color: #434956;
    font-weight: normal;
    padding: 2px 10px;
    border-radius: 4px;
}
.threadsafe dt {
    padding-right: 35px;
}
.threadsafe.Main.Thread.Only dt {
    padding-right: 145px;
}
.threadsafe.Yes dd {
    display: inline!important;
    margin-inline-start: 0;
    position: absolute;
    top: 1px;
    right: 1px;
    padding: 1px 6px 1px 5px;
    background-color: #4e8646;
    border-bottom-right-radius: 3px;
    border-top-right-radius: 3px;
    width: 25px;
    text-align: center;
}

.threadsafe.No dd {
    display: inline!important;
    margin-inline-start: 0;
    position: absolute;
    top: 1px;
    right: 1px;
    padding: 1px 6px 1px 5px;
    background-color: #d0584d;
    border-bottom-right-radius: 3px;
    border-top-right-radius: 3px;
    width: 25px;
    text-align: center;
}

.threadsafe.Main.Thread.Only dd {
    display: inline!important;
    margin-inline-start: 0;
    position: absolute;
    top: 1px;
    right: 1px;
    padding: 1px 6px 1px 5px;
    background-color: #d0584d;
    border-bottom-right-radius: 3px;
    border-top-right-radius: 3px;
    width: 135px;
    text-align: center;
}

.light-mode dl.threadsafe {
    background-color: #d0d6e2;
}
.light-mode .threadsafe.Yes dd {
    background-color: #9af78c;
}
.light-mode .threadsafe.No dd {
    background-color: #fb877d;
}
.light-mode .threadsafe.Main.Thread.Only dd {
    background-color: #fb877d;
}

img.thread {
    max-width: 15px;
    position: relative;
    top: 2px;
    padding-right: 3px;
}

.dark-mode img.thread {
    filter: invert(0.7);
}
