custom_stylesheet.css 75 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020
  1. /* SPDX-License-Identifier: MIT */
  2. /**
  3. Doxygen Awesome
  4. https://github.com/jothepro/doxygen-awesome-css
  5. Copyright (c) 2021 - 2025 jothepro
  6. */
  7. html {
  8. /* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */
  9. --primary-color: #1779c4;
  10. --primary-dark-color: #335c80;
  11. --primary-light-color: #70b1e9;
  12. --on-primary-color: #ffffff;
  13. --link-color: var(--primary-color);
  14. /* page base colors */
  15. --page-background-color: #ffffff;
  16. --page-foreground-color: #2f4153;
  17. --page-secondary-foreground-color: #6f7e8e;
  18. /* color for all separators on the website: hr, borders, ... */
  19. --separator-color: #dedede;
  20. /* border radius for all rounded components. Will affect many components, like dropdowns, memitems, codeblocks, ... */
  21. --border-radius-large: 10px;
  22. --border-radius-small: 5px;
  23. --border-radius-medium: 8px;
  24. /* default spacings. Most components reference these values for spacing, to provide uniform spacing on the page. */
  25. --spacing-small: 5px;
  26. --spacing-medium: 10px;
  27. --spacing-large: 16px;
  28. --spacing-xlarge: 20px;
  29. /* default box shadow used for raising an element above the normal content. Used in dropdowns, search result, ... */
  30. --box-shadow: 0 2px 8px 0 rgba(0,0,0,.075);
  31. --odd-color: rgba(0,0,0,.028);
  32. /* font-families. will affect all text on the website
  33. * font-family: the normal font for text, headlines, menus
  34. * font-family-monospace: used for preformatted text in memtitle, code, fragments
  35. */
  36. --font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;
  37. --font-family-monospace: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;
  38. /* font sizes */
  39. --page-font-size: 15.6px;
  40. --navigation-font-size: 14.4px;
  41. --toc-font-size: 13.4px;
  42. --code-font-size: 14px; /* affects code, fragment */
  43. --title-font-size: 22px;
  44. /* content text properties. These only affect the page content, not the navigation or any other ui elements */
  45. --content-line-height: 27px;
  46. /* The content is centered and constraint in it's width. To make the content fill the whole page, set the variable to auto.*/
  47. --content-maxwidth: 1050px;
  48. --table-line-height: 24px;
  49. --toc-sticky-top: var(--spacing-medium);
  50. --toc-width: 200px;
  51. --toc-max-height: calc(100vh - 2 * var(--spacing-medium) - 85px);
  52. /* colors for various content boxes: @warning, @note, @deprecated @bug */
  53. --warning-color: #faf3d8;
  54. --warning-color-dark: #f3a600;
  55. --warning-color-darker: #5f4204;
  56. --note-color: #e4f3ff;
  57. --note-color-dark: #1879C4;
  58. --note-color-darker: #274a5c;
  59. --todo-color: #e4dafd;
  60. --todo-color-dark: #5b2bdd;
  61. --todo-color-darker: #2a0d72;
  62. --deprecated-color: #ecf0f3;
  63. --deprecated-color-dark: #5b6269;
  64. --deprecated-color-darker: #43454a;
  65. --bug-color: #f8d1cc;
  66. --bug-color-dark: #b61825;
  67. --bug-color-darker: #75070f;
  68. --invariant-color: #d8f1e3;
  69. --invariant-color-dark: #44b86f;
  70. --invariant-color-darker: #265532;
  71. /* blockquote colors */
  72. --blockquote-background: #f8f9fa;
  73. --blockquote-foreground: #636568;
  74. /* table colors */
  75. --tablehead-background: #f1f1f1;
  76. --tablehead-foreground: var(--page-foreground-color);
  77. /* menu-display: block | none
  78. * Visibility of the top navigation on screens >= 768px. On smaller screen the menu is always visible.
  79. * `GENERATE_TREEVIEW` MUST be enabled!
  80. */
  81. --menu-display: block;
  82. --menu-focus-foreground: var(--on-primary-color);
  83. --menu-focus-background: var(--primary-color);
  84. --menu-selected-background: rgba(0,0,0,.05);
  85. --header-background: var(--page-background-color);
  86. --header-foreground: var(--page-foreground-color);
  87. /* searchbar colors */
  88. --searchbar-background: var(--side-nav-background);
  89. --searchbar-foreground: var(--page-foreground-color);
  90. /* searchbar size
  91. * (`searchbar-width` is only applied on screens >= 768px.
  92. * on smaller screens the searchbar will always fill the entire screen width) */
  93. --searchbar-height: 33px;
  94. --searchbar-width: 210px;
  95. --searchbar-border-radius: var(--searchbar-height);
  96. /* code block colors */
  97. --code-background: #f5f5f5;
  98. --code-foreground: var(--page-foreground-color);
  99. /* fragment colors */
  100. --fragment-background: #F8F9FA;
  101. --fragment-foreground: #37474F;
  102. --fragment-keyword: #bb6bb2;
  103. --fragment-keywordtype: #8258b3;
  104. --fragment-keywordflow: #d67c3b;
  105. --fragment-token: #438a59;
  106. --fragment-comment: #969696;
  107. --fragment-link: #5383d6;
  108. --fragment-preprocessor: #46aaa5;
  109. --fragment-linenumber-color: #797979;
  110. --fragment-linenumber-background: #f4f4f5;
  111. --fragment-linenumber-border: #e3e5e7;
  112. --fragment-lineheight: 20px;
  113. /* sidebar navigation (treeview) colors */
  114. --side-nav-background: #fbfbfb;
  115. --side-nav-foreground: var(--page-foreground-color);
  116. --side-nav-arrow-opacity: 0;
  117. --side-nav-arrow-hover-opacity: 0.9;
  118. --toc-background: var(--side-nav-background);
  119. --toc-foreground: var(--side-nav-foreground);
  120. /* height of an item in any tree / collapsible table */
  121. --tree-item-height: 30px;
  122. --memname-font-size: var(--code-font-size);
  123. --memtitle-font-size: 18px;
  124. --webkit-scrollbar-size: 7px;
  125. --webkit-scrollbar-padding: 4px;
  126. --webkit-scrollbar-color: var(--separator-color);
  127. --animation-duration: .12s
  128. }
  129. @media screen and (max-width: 767px) {
  130. html {
  131. --page-font-size: 16px;
  132. --navigation-font-size: 16px;
  133. --toc-font-size: 15px;
  134. --code-font-size: 15px; /* affects code, fragment */
  135. --title-font-size: 22px;
  136. }
  137. }
  138. @media (prefers-color-scheme: dark) {
  139. html:not(.light-mode) {
  140. color-scheme: dark;
  141. --primary-color: #1982d2;
  142. --primary-dark-color: #86a9c4;
  143. --primary-light-color: #4779ac;
  144. --box-shadow: 0 2px 8px 0 rgba(0,0,0,.35);
  145. --odd-color: rgba(100,100,100,.06);
  146. --menu-selected-background: rgba(0,0,0,.4);
  147. --page-background-color: #1C1D1F;
  148. --page-foreground-color: #d2dbde;
  149. --page-secondary-foreground-color: #859399;
  150. --separator-color: #38393b;
  151. --side-nav-background: #252628;
  152. --code-background: #2a2c2f;
  153. --tablehead-background: #2a2c2f;
  154. --blockquote-background: #222325;
  155. --blockquote-foreground: #7e8c92;
  156. --warning-color: #3b2e04;
  157. --warning-color-dark: #f1b602;
  158. --warning-color-darker: #ceb670;
  159. --note-color: #163750;
  160. --note-color-dark: #1982D2;
  161. --note-color-darker: #dcf0fa;
  162. --todo-color: #2a2536;
  163. --todo-color-dark: #7661b3;
  164. --todo-color-darker: #ae9ed6;
  165. --deprecated-color: #2e323b;
  166. --deprecated-color-dark: #738396;
  167. --deprecated-color-darker: #abb0bd;
  168. --bug-color: #2e1917;
  169. --bug-color-dark: #ad2617;
  170. --bug-color-darker: #f5b1aa;
  171. --invariant-color: #303a35;
  172. --invariant-color-dark: #76ce96;
  173. --invariant-color-darker: #cceed5;
  174. --fragment-background: #282c34;
  175. --fragment-foreground: #dbe4eb;
  176. --fragment-keyword: #cc99cd;
  177. --fragment-keywordtype: #ab99cd;
  178. --fragment-keywordflow: #e08000;
  179. --fragment-token: #7ec699;
  180. --fragment-comment: #999999;
  181. --fragment-link: #98c0e3;
  182. --fragment-preprocessor: #65cabe;
  183. --fragment-linenumber-color: #cccccc;
  184. --fragment-linenumber-background: #35393c;
  185. --fragment-linenumber-border: #1f1f1f;
  186. }
  187. }
  188. /* dark mode variables are defined twice, to support both the dark-mode without and with doxygen-awesome-darkmode-toggle.js */
  189. html.dark-mode {
  190. color-scheme: dark;
  191. --primary-color: #1982d2;
  192. --primary-dark-color: #86a9c4;
  193. --primary-light-color: #4779ac;
  194. --box-shadow: 0 2px 8px 0 rgba(0,0,0,.30);
  195. --odd-color: rgba(100,100,100,.06);
  196. --menu-selected-background: rgba(0,0,0,.4);
  197. --page-background-color: #1C1D1F;
  198. --page-foreground-color: #d2dbde;
  199. --page-secondary-foreground-color: #859399;
  200. --separator-color: #38393b;
  201. --side-nav-background: #252628;
  202. --code-background: #2a2c2f;
  203. --tablehead-background: #2a2c2f;
  204. --blockquote-background: #222325;
  205. --blockquote-foreground: #7e8c92;
  206. --warning-color: #3b2e04;
  207. --warning-color-dark: #f1b602;
  208. --warning-color-darker: #ceb670;
  209. --note-color: #163750;
  210. --note-color-dark: #1982D2;
  211. --note-color-darker: #dcf0fa;
  212. --todo-color: #2a2536;
  213. --todo-color-dark: #7661b3;
  214. --todo-color-darker: #ae9ed6;
  215. --deprecated-color: #2e323b;
  216. --deprecated-color-dark: #738396;
  217. --deprecated-color-darker: #abb0bd;
  218. --bug-color: #2e1917;
  219. --bug-color-dark: #ad2617;
  220. --bug-color-darker: #f5b1aa;
  221. --invariant-color: #303a35;
  222. --invariant-color-dark: #76ce96;
  223. --invariant-color-darker: #cceed5;
  224. --fragment-background: #282c34;
  225. --fragment-foreground: #dbe4eb;
  226. --fragment-keyword: #cc99cd;
  227. --fragment-keywordtype: #ab99cd;
  228. --fragment-keywordflow: #e08000;
  229. --fragment-token: #7ec699;
  230. --fragment-comment: #999999;
  231. --fragment-link: #98c0e3;
  232. --fragment-preprocessor: #65cabe;
  233. --fragment-linenumber-color: #cccccc;
  234. --fragment-linenumber-background: #35393c;
  235. --fragment-linenumber-border: #1f1f1f;
  236. }
  237. body {
  238. color: var(--page-foreground-color);
  239. background-color: var(--page-background-color);
  240. font-size: var(--page-font-size);
  241. }
  242. body, table, div, p, dl, #nav-tree .label, #nav-tree a, .title,
  243. .sm-dox a, .sm-dox a:hover, .sm-dox a:focus, #projectname,
  244. .SelectItem, #MSearchField, .navpath li.navelem a,
  245. .navpath li.navelem a:hover, p.reference, p.definition, div.toc li, div.toc h3,
  246. #page-nav ul.page-outline li a {
  247. font-family: var(--font-family);
  248. }
  249. h1, h2, h3, h4, h5 {
  250. margin-top: 1em;
  251. font-weight: 600;
  252. line-height: initial;
  253. }
  254. p, div, table, dl, p.reference, p.definition {
  255. font-size: var(--page-font-size);
  256. }
  257. p.reference, p.definition {
  258. color: var(--page-secondary-foreground-color);
  259. }
  260. a:link, a:visited, a:hover, a:focus, a:active {
  261. color: var(--link-color) !important;
  262. font-weight: 500;
  263. background: none;
  264. }
  265. a:hover {
  266. text-decoration: underline;
  267. }
  268. a.anchor {
  269. scroll-margin-top: var(--spacing-large);
  270. display: block;
  271. }
  272. /*
  273. Title and top navigation
  274. */
  275. #top {
  276. background: var(--header-background);
  277. border-bottom: 1px solid var(--separator-color);
  278. position: relative;
  279. z-index: 99;
  280. }
  281. @media screen and (min-width: 768px) {
  282. #top {
  283. display: flex;
  284. flex-wrap: wrap;
  285. justify-content: space-between;
  286. align-items: center;
  287. }
  288. }
  289. #main-nav {
  290. flex-grow: 5;
  291. padding: var(--spacing-small) var(--spacing-medium);
  292. border-bottom: 0;
  293. }
  294. #titlearea {
  295. width: auto;
  296. padding: var(--spacing-medium) var(--spacing-large);
  297. background: none;
  298. color: var(--header-foreground);
  299. border-bottom: none;
  300. }
  301. @media screen and (max-width: 767px) {
  302. #titlearea {
  303. padding-bottom: var(--spacing-small);
  304. }
  305. }
  306. #titlearea table tbody tr {
  307. height: auto !important;
  308. }
  309. #projectname {
  310. font-size: var(--title-font-size);
  311. font-weight: 600;
  312. }
  313. #projectnumber {
  314. font-family: inherit;
  315. font-size: 60%;
  316. }
  317. #projectbrief {
  318. font-family: inherit;
  319. font-size: 80%;
  320. }
  321. #projectlogo {
  322. vertical-align: middle;
  323. }
  324. #projectlogo img {
  325. max-height: calc(var(--title-font-size) * 2);
  326. margin-right: var(--spacing-small);
  327. }
  328. .sm-dox, .tabs, .tabs2, .tabs3 {
  329. background: none;
  330. padding: 0;
  331. }
  332. .tabs, .tabs2, .tabs3 {
  333. border-bottom: 1px solid var(--separator-color);
  334. margin-bottom: -1px;
  335. }
  336. .main-menu-btn-icon, .main-menu-btn-icon:before, .main-menu-btn-icon:after {
  337. background: var(--page-secondary-foreground-color);
  338. }
  339. @media screen and (max-width: 767px) {
  340. .sm-dox a span.sub-arrow {
  341. background: var(--code-background);
  342. }
  343. #main-menu a.has-submenu span.sub-arrow {
  344. color: var(--page-secondary-foreground-color);
  345. border-radius: var(--border-radius-medium);
  346. }
  347. #main-menu a.has-submenu:hover span.sub-arrow {
  348. color: var(--page-foreground-color);
  349. }
  350. }
  351. @media screen and (min-width: 768px) {
  352. .sm-dox li, .tablist li {
  353. display: var(--menu-display);
  354. }
  355. .sm-dox a span.sub-arrow {
  356. top: 15px;
  357. right: 10px;
  358. box-sizing: content-box;
  359. padding: 0;
  360. margin: 0;
  361. display: inline-block;
  362. width: 5px;
  363. height: 5px;
  364. transform: rotate(45deg);
  365. border-width: 0;
  366. border-right: 2px solid var(--header-foreground);
  367. border-bottom: 2px solid var(--header-foreground);
  368. background: none;
  369. }
  370. .sm-dox a:hover span.sub-arrow {
  371. border-color: var(--menu-focus-foreground);
  372. background: none;
  373. }
  374. .sm-dox ul a span.sub-arrow {
  375. transform: rotate(-45deg);
  376. border-width: 0;
  377. border-right: 2px solid var(--header-foreground);
  378. border-bottom: 2px solid var(--header-foreground);
  379. }
  380. .sm-dox ul a:hover span.sub-arrow {
  381. border-color: var(--menu-focus-foreground);
  382. background: none;
  383. }
  384. }
  385. .sm-dox ul {
  386. background: var(--page-background-color);
  387. box-shadow: var(--box-shadow);
  388. border: 1px solid var(--separator-color);
  389. border-radius: var(--border-radius-medium) !important;
  390. padding: var(--spacing-small);
  391. animation: ease-out 150ms slideInMenu;
  392. }
  393. @keyframes slideInMenu {
  394. from {
  395. opacity: 0;
  396. transform: translate(0px, -2px);
  397. }
  398. to {
  399. opacity: 1;
  400. transform: translate(0px, 0px);
  401. }
  402. }
  403. .sm-dox ul a {
  404. color: var(--page-foreground-color) !important;
  405. background: none;
  406. font-size: var(--navigation-font-size);
  407. }
  408. .sm-dox>li>ul:after {
  409. border-bottom-color: var(--page-background-color) !important;
  410. }
  411. .sm-dox>li>ul:before {
  412. border-bottom-color: var(--separator-color) !important;
  413. }
  414. .sm-dox ul a:hover, .sm-dox ul a:active, .sm-dox ul a:focus {
  415. font-size: var(--navigation-font-size) !important;
  416. color: var(--menu-focus-foreground) !important;
  417. text-shadow: none;
  418. background-color: var(--menu-focus-background);
  419. border-radius: var(--border-radius-small) !important;
  420. }
  421. .sm-dox a, .sm-dox a:focus, .tablist li, .tablist li a, .tablist li.current a {
  422. text-shadow: none;
  423. background: transparent;
  424. background-image: none !important;
  425. color: var(--header-foreground) !important;
  426. font-weight: normal;
  427. font-size: var(--navigation-font-size);
  428. border-radius: var(--border-radius-small) !important;
  429. }
  430. .sm-dox a:focus {
  431. outline: auto;
  432. }
  433. .sm-dox a:hover, .sm-dox a:active, .tablist li a:hover {
  434. text-shadow: none;
  435. font-weight: normal;
  436. background: var(--menu-focus-background);
  437. color: var(--menu-focus-foreground) !important;
  438. border-radius: var(--border-radius-small) !important;
  439. font-size: var(--navigation-font-size);
  440. }
  441. .tablist li.current {
  442. border-radius: var(--border-radius-small);
  443. background: var(--menu-selected-background);
  444. }
  445. .tablist li {
  446. margin: var(--spacing-small) 0 var(--spacing-small) var(--spacing-small);
  447. }
  448. .tablist a {
  449. padding: 0 var(--spacing-large);
  450. }
  451. /*
  452. Search box
  453. */
  454. #MSearchBox {
  455. height: var(--searchbar-height);
  456. background: var(--searchbar-background);
  457. border-radius: var(--searchbar-border-radius);
  458. border: 1px solid var(--separator-color);
  459. overflow: hidden;
  460. width: var(--searchbar-width);
  461. position: relative;
  462. box-shadow: none;
  463. display: block;
  464. margin-top: 0;
  465. margin-right: 0;
  466. }
  467. @media (min-width: 768px) {
  468. .sm-dox li {
  469. padding: 0;
  470. }
  471. }
  472. /* until Doxygen 1.9.4 */
  473. .left img#MSearchSelect {
  474. left: 0;
  475. user-select: none;
  476. padding-left: 8px;
  477. }
  478. /* Doxygen 1.9.5 */
  479. .left span#MSearchSelect {
  480. left: 0;
  481. user-select: none;
  482. margin-left: 8px;
  483. padding: 0;
  484. }
  485. .left #MSearchSelect[src$=".png"] {
  486. padding-left: 0
  487. }
  488. /* Doxygen 1.14.0 */
  489. .search-icon::before {
  490. background: none;
  491. top: 5px;
  492. }
  493. .search-icon::after {
  494. background: none;
  495. top: 12px;
  496. }
  497. .SelectionMark {
  498. user-select: none;
  499. }
  500. .tabs .left #MSearchSelect {
  501. padding-left: 0;
  502. }
  503. .tabs #MSearchBox {
  504. position: absolute;
  505. right: var(--spacing-medium);
  506. }
  507. @media screen and (max-width: 767px) {
  508. .tabs #MSearchBox {
  509. position: relative;
  510. right: 0;
  511. margin-left: var(--spacing-medium);
  512. margin-top: 0;
  513. }
  514. }
  515. #MSearchSelectWindow, #MSearchResultsWindow {
  516. z-index: 9999;
  517. }
  518. #MSearchBox.MSearchBoxActive {
  519. border-color: var(--primary-color);
  520. box-shadow: inset 0 0 0 1px var(--primary-color);
  521. }
  522. #main-menu > li:last-child {
  523. margin-right: 0;
  524. }
  525. @media screen and (max-width: 767px) {
  526. #main-menu > li:last-child {
  527. height: 50px;
  528. }
  529. }
  530. #MSearchField {
  531. font-size: var(--navigation-font-size);
  532. height: calc(var(--searchbar-height) - 2px);
  533. background: transparent;
  534. width: calc(var(--searchbar-width) - 64px);
  535. }
  536. .MSearchBoxActive #MSearchField {
  537. color: var(--searchbar-foreground);
  538. }
  539. #MSearchSelect {
  540. top: calc(calc(var(--searchbar-height) / 2) - 11px);
  541. }
  542. #MSearchBox span.left, #MSearchBox span.right {
  543. background: none;
  544. background-image: none;
  545. }
  546. #MSearchBox span.right {
  547. padding-top: calc(calc(var(--searchbar-height) / 2) - 12px);
  548. position: absolute;
  549. right: var(--spacing-small);
  550. }
  551. .tabs #MSearchBox span.right {
  552. top: calc(calc(var(--searchbar-height) / 2) - 12px);
  553. }
  554. @keyframes slideInSearchResults {
  555. from {
  556. opacity: 0;
  557. transform: translate(0, 15px);
  558. }
  559. to {
  560. opacity: 1;
  561. transform: translate(0, 20px);
  562. }
  563. }
  564. #MSearchResultsWindow {
  565. left: auto !important;
  566. right: var(--spacing-medium);
  567. border-radius: var(--border-radius-large);
  568. border: 1px solid var(--separator-color);
  569. transform: translate(0, 20px);
  570. box-shadow: var(--box-shadow);
  571. animation: ease-out 280ms slideInSearchResults;
  572. background: var(--page-background-color);
  573. }
  574. iframe#MSearchResults {
  575. margin: 4px;
  576. }
  577. iframe {
  578. color-scheme: normal;
  579. }
  580. @media (prefers-color-scheme: dark) {
  581. html:not(.light-mode) iframe#MSearchResults {
  582. filter: invert() hue-rotate(180deg);
  583. }
  584. }
  585. html.dark-mode iframe#MSearchResults {
  586. filter: invert() hue-rotate(180deg);
  587. }
  588. #MSearchResults .SRPage {
  589. background-color: transparent;
  590. }
  591. #MSearchResults .SRPage .SREntry {
  592. font-size: 10pt;
  593. padding: var(--spacing-small) var(--spacing-medium);
  594. }
  595. #MSearchSelectWindow {
  596. border: 1px solid var(--separator-color);
  597. border-radius: var(--border-radius-medium);
  598. box-shadow: var(--box-shadow);
  599. background: var(--page-background-color);
  600. padding-top: var(--spacing-small);
  601. padding-bottom: var(--spacing-small);
  602. }
  603. #MSearchSelectWindow a.SelectItem {
  604. font-size: var(--navigation-font-size);
  605. line-height: var(--content-line-height);
  606. margin: 0 var(--spacing-small);
  607. border-radius: var(--border-radius-small);
  608. color: var(--page-foreground-color) !important;
  609. font-weight: normal;
  610. }
  611. #MSearchSelectWindow a.SelectItem:hover {
  612. background: var(--menu-focus-background);
  613. color: var(--menu-focus-foreground) !important;
  614. }
  615. @media screen and (max-width: 767px) {
  616. #MSearchBox {
  617. margin-top: var(--spacing-medium);
  618. margin-bottom: var(--spacing-medium);
  619. width: calc(100vw - 30px);
  620. }
  621. #main-menu > li:last-child {
  622. float: none !important;
  623. }
  624. #MSearchField {
  625. width: calc(100vw - 110px);
  626. }
  627. @keyframes slideInSearchResultsMobile {
  628. from {
  629. opacity: 0;
  630. transform: translate(0, 15px);
  631. }
  632. to {
  633. opacity: 1;
  634. transform: translate(0, 20px);
  635. }
  636. }
  637. #MSearchResultsWindow {
  638. left: var(--spacing-medium) !important;
  639. right: var(--spacing-medium);
  640. overflow: auto;
  641. transform: translate(0, 20px);
  642. animation: ease-out 280ms slideInSearchResultsMobile;
  643. width: auto !important;
  644. }
  645. /*
  646. * Overwrites for fixing the searchbox on mobile in doxygen 1.9.2
  647. */
  648. label.main-menu-btn ~ #searchBoxPos1 {
  649. top: 3px !important;
  650. right: 6px !important;
  651. left: 45px;
  652. display: flex;
  653. }
  654. label.main-menu-btn ~ #searchBoxPos1 > #MSearchBox {
  655. margin-top: 0;
  656. margin-bottom: 0;
  657. flex-grow: 2;
  658. float: left;
  659. }
  660. }
  661. /*
  662. Tree view
  663. */
  664. #side-nav {
  665. min-width: 8px;
  666. max-width: 50vw;
  667. }
  668. #nav-tree, #top {
  669. border-right: 1px solid var(--separator-color);
  670. }
  671. @media screen and (max-width: 767px) {
  672. #side-nav {
  673. display: none;
  674. }
  675. #doc-content {
  676. margin-left: 0 !important;
  677. }
  678. #top {
  679. border-right: none;
  680. }
  681. }
  682. #nav-tree {
  683. background: var(--side-nav-background);
  684. margin-right: -1px;
  685. padding: 0;
  686. }
  687. #nav-tree .label {
  688. font-size: var(--navigation-font-size);
  689. line-height: var(--tree-item-height);
  690. }
  691. #nav-tree span.label a:hover {
  692. background: none;
  693. }
  694. #nav-tree .item {
  695. height: var(--tree-item-height);
  696. line-height: var(--tree-item-height);
  697. overflow: hidden;
  698. text-overflow: ellipsis;
  699. margin: 0;
  700. padding: 0;
  701. }
  702. #nav-tree-contents {
  703. margin: 0;
  704. }
  705. #main-menu > li:last-child {
  706. height: auto;
  707. }
  708. #nav-tree .item > a:focus {
  709. outline: none;
  710. }
  711. #nav-sync {
  712. bottom: var(--spacing-medium);
  713. right: var(--spacing-medium) !important;
  714. top: auto !important;
  715. user-select: none;
  716. }
  717. div.nav-sync-icon {
  718. border: 1px solid var(--separator-color);
  719. border-radius: var(--border-radius-medium);
  720. background: var(--page-background-color);
  721. width: 30px;
  722. height: 20px;
  723. }
  724. div.nav-sync-icon:hover {
  725. background: var(--page-background-color);
  726. }
  727. span.sync-icon-left, div.nav-sync-icon:hover span.sync-icon-left {
  728. border-left: 2px solid var(--primary-color);
  729. border-top: 2px solid var(--primary-color);
  730. top: 5px;
  731. left: 6px;
  732. }
  733. span.sync-icon-right, div.nav-sync-icon:hover span.sync-icon-right {
  734. border-right: 2px solid var(--primary-color);
  735. border-bottom: 2px solid var(--primary-color);
  736. top: 5px;
  737. left: initial;
  738. right: 6px;
  739. }
  740. div.nav-sync-icon.active::after, div.nav-sync-icon.active:hover::after {
  741. border-top: 2px solid var(--primary-color);
  742. top: 9px;
  743. left: 6px;
  744. width: 19px;
  745. }
  746. #nav-tree .selected {
  747. text-shadow: none;
  748. background-image: none;
  749. background-color: transparent;
  750. position: relative;
  751. color: var(--primary-color) !important;
  752. font-weight: 500;
  753. }
  754. #nav-tree .selected::after {
  755. content: "";
  756. position: absolute;
  757. top: 1px;
  758. bottom: 1px;
  759. left: 0;
  760. width: 4px;
  761. border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0;
  762. background: var(--primary-color);
  763. }
  764. #nav-tree a {
  765. color: var(--side-nav-foreground) !important;
  766. font-weight: normal;
  767. }
  768. #nav-tree a:focus {
  769. outline-style: auto;
  770. }
  771. #nav-tree .arrow {
  772. opacity: var(--side-nav-arrow-opacity);
  773. background: none;
  774. }
  775. #nav-tree span.arrowhead {
  776. margin: 0 0 1px 2px;
  777. }
  778. span.arrowhead {
  779. border-color: var(--primary-light-color);
  780. }
  781. .selected span.arrowhead {
  782. border-color: var(--primary-color);
  783. }
  784. #nav-tree-contents > ul > li:first-child > div > a {
  785. opacity: 0;
  786. pointer-events: none;
  787. }
  788. .contents .arrow {
  789. color: inherit;
  790. cursor: pointer;
  791. font-size: 45%;
  792. vertical-align: middle;
  793. margin-right: 2px;
  794. font-family: serif;
  795. height: auto;
  796. padding-bottom: 4px;
  797. }
  798. #nav-tree div.item:hover .arrow, #nav-tree a:focus .arrow {
  799. opacity: var(--side-nav-arrow-hover-opacity);
  800. }
  801. #nav-tree .selected a {
  802. color: var(--primary-color) !important;
  803. font-weight: bolder;
  804. font-weight: 600;
  805. }
  806. .ui-resizable-e {
  807. background: none;
  808. }
  809. .ui-resizable-e:hover {
  810. background: var(--separator-color);
  811. }
  812. /*
  813. Contents
  814. */
  815. div.header {
  816. border-bottom: 1px solid var(--separator-color);
  817. background: none;
  818. background-image: none;
  819. }
  820. @media screen and (min-width: 1000px) {
  821. #doc-content > div > div.contents,
  822. .PageDoc > div.contents {
  823. display: flex;
  824. flex-direction: row-reverse;
  825. flex-wrap: nowrap;
  826. align-items: flex-start;
  827. }
  828. div.contents .textblock {
  829. min-width: 200px;
  830. flex-grow: 1;
  831. }
  832. }
  833. div.contents, div.header .title, div.header .summary {
  834. max-width: var(--content-maxwidth);
  835. }
  836. div.contents, div.header .title {
  837. line-height: initial;
  838. margin: calc(var(--spacing-medium) + .2em) auto var(--spacing-medium) auto;
  839. }
  840. div.header .summary {
  841. margin: var(--spacing-medium) auto 0 auto;
  842. }
  843. div.headertitle {
  844. padding: 0;
  845. }
  846. div.header .title {
  847. font-weight: 600;
  848. font-size: 225%;
  849. padding: var(--spacing-medium) var(--spacing-xlarge);
  850. word-break: break-word;
  851. }
  852. div.header .summary {
  853. width: auto;
  854. display: block;
  855. float: none;
  856. padding: 0 var(--spacing-large);
  857. }
  858. td.memSeparator {
  859. border-color: var(--separator-color);
  860. }
  861. span.mlabel {
  862. background: var(--primary-color);
  863. color: var(--on-primary-color);
  864. border: none;
  865. padding: 4px 9px;
  866. border-radius: var(--border-radius-large);
  867. margin-right: var(--spacing-medium);
  868. }
  869. span.mlabel:last-of-type {
  870. margin-right: 2px;
  871. }
  872. div.contents {
  873. padding: 0 var(--spacing-xlarge);
  874. }
  875. div.contents p, div.contents li {
  876. line-height: var(--content-line-height);
  877. }
  878. div.contents div.dyncontent {
  879. margin: var(--spacing-medium) 0;
  880. }
  881. @media screen and (max-width: 767px) {
  882. div.contents {
  883. padding: 0 var(--spacing-large);
  884. }
  885. div.header .title {
  886. padding: var(--spacing-medium) var(--spacing-large);
  887. }
  888. }
  889. @media (prefers-color-scheme: dark) {
  890. html:not(.light-mode) div.contents div.dyncontent img,
  891. html:not(.light-mode) div.contents center img,
  892. html:not(.light-mode) div.contents > table img,
  893. html:not(.light-mode) div.contents div.dyncontent iframe,
  894. html:not(.light-mode) div.contents center iframe,
  895. html:not(.light-mode) div.contents table iframe,
  896. html:not(.light-mode) div.contents .dotgraph iframe {
  897. filter: brightness(89%) hue-rotate(180deg) invert();
  898. }
  899. }
  900. html.dark-mode div.contents div.dyncontent img,
  901. html.dark-mode div.contents center img,
  902. html.dark-mode div.contents > table img,
  903. html.dark-mode div.contents div.dyncontent iframe,
  904. html.dark-mode div.contents center iframe,
  905. html.dark-mode div.contents table iframe,
  906. html.dark-mode div.contents .dotgraph iframe
  907. {
  908. filter: brightness(89%) hue-rotate(180deg) invert();
  909. }
  910. td h2.groupheader, h2.groupheader {
  911. border-bottom: 0px;
  912. color: var(--page-foreground-color);
  913. box-shadow:
  914. 100px 0 var(--page-background-color),
  915. -100px 0 var(--page-background-color),
  916. 100px 0.75px var(--separator-color),
  917. -100px 0.75px var(--separator-color),
  918. 500px 0 var(--page-background-color),
  919. -500px 0 var(--page-background-color),
  920. 500px 0.75px var(--separator-color),
  921. -500px 0.75px var(--separator-color),
  922. 900px 0 var(--page-background-color),
  923. -900px 0 var(--page-background-color),
  924. 900px 0.75px var(--separator-color),
  925. -900px 0.75px var(--separator-color),
  926. 1400px 0 var(--page-background-color),
  927. -1400px 0 var(--page-background-color),
  928. 1400px 0.75px var(--separator-color),
  929. -1400px 0.75px var(--separator-color),
  930. 1900px 0 var(--page-background-color),
  931. -1900px 0 var(--page-background-color),
  932. 1900px 0.75px var(--separator-color),
  933. -1900px 0.75px var(--separator-color);
  934. }
  935. blockquote {
  936. margin: 0 var(--spacing-medium) 0 var(--spacing-medium);
  937. padding: var(--spacing-small) var(--spacing-large);
  938. background: var(--blockquote-background);
  939. color: var(--blockquote-foreground);
  940. border-left: 0;
  941. overflow: visible;
  942. border-radius: var(--border-radius-medium);
  943. overflow: visible;
  944. position: relative;
  945. }
  946. blockquote::before, blockquote::after {
  947. font-weight: bold;
  948. font-family: serif;
  949. font-size: 360%;
  950. opacity: .15;
  951. position: absolute;
  952. }
  953. blockquote::before {
  954. content: "“";
  955. left: -10px;
  956. top: 4px;
  957. }
  958. blockquote::after {
  959. content: "”";
  960. right: -8px;
  961. bottom: -25px;
  962. }
  963. blockquote p {
  964. margin: var(--spacing-small) 0 var(--spacing-medium) 0;
  965. }
  966. .paramname, .paramname em {
  967. font-weight: 600;
  968. color: var(--primary-dark-color);
  969. }
  970. .paramname > code {
  971. border: 0;
  972. }
  973. table.params .paramname {
  974. font-weight: 600;
  975. font-family: var(--font-family-monospace);
  976. font-size: var(--code-font-size);
  977. padding-right: var(--spacing-small);
  978. line-height: var(--table-line-height);
  979. }
  980. h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
  981. text-shadow: 0 0 15px var(--primary-light-color);
  982. }
  983. .alphachar a {
  984. color: var(--page-foreground-color);
  985. }
  986. .dotgraph {
  987. max-width: 100%;
  988. overflow-x: scroll;
  989. }
  990. .dotgraph .caption {
  991. position: sticky;
  992. left: 0;
  993. }
  994. /* Wrap Graphviz graphs with the `interactive_dotgraph` class if `INTERACTIVE_SVG = YES` */
  995. .interactive_dotgraph .dotgraph iframe {
  996. max-width: 100%;
  997. }
  998. /*
  999. Table of Contents
  1000. */
  1001. div.contents .toc {
  1002. max-height: var(--toc-max-height);
  1003. min-width: var(--toc-width);
  1004. border: 0;
  1005. border-left: 1px solid var(--separator-color);
  1006. border-radius: 0;
  1007. background-color: var(--page-background-color);
  1008. box-shadow: none;
  1009. position: sticky;
  1010. top: var(--toc-sticky-top);
  1011. padding: 0 var(--spacing-large);
  1012. margin: var(--spacing-small) 0 var(--spacing-large) var(--spacing-large);
  1013. }
  1014. div.toc h3 {
  1015. color: var(--toc-foreground);
  1016. font-size: var(--navigation-font-size);
  1017. margin: var(--spacing-large) 0 var(--spacing-medium) 0;
  1018. }
  1019. div.toc li {
  1020. padding: 0;
  1021. background: none;
  1022. line-height: var(--toc-font-size);
  1023. margin: var(--toc-font-size) 0 0 0;
  1024. }
  1025. div.toc li::before {
  1026. display: none;
  1027. }
  1028. div.toc ul {
  1029. margin-top: 0
  1030. }
  1031. div.toc li a {
  1032. font-size: var(--toc-font-size);
  1033. color: var(--page-foreground-color) !important;
  1034. text-decoration: none;
  1035. }
  1036. div.toc li a:hover, div.toc li a.active {
  1037. color: var(--primary-color) !important;
  1038. }
  1039. div.toc li a.aboveActive {
  1040. color: var(--page-secondary-foreground-color) !important;
  1041. }
  1042. @media screen and (max-width: 999px) {
  1043. div.contents .toc {
  1044. max-height: 45vh;
  1045. float: none;
  1046. width: auto;
  1047. margin: 0 0 var(--spacing-medium) 0;
  1048. position: relative;
  1049. top: 0;
  1050. position: relative;
  1051. border: 1px solid var(--separator-color);
  1052. border-radius: var(--border-radius-medium);
  1053. background-color: var(--toc-background);
  1054. box-shadow: var(--box-shadow);
  1055. }
  1056. div.contents .toc.interactive {
  1057. max-height: calc(var(--navigation-font-size) + 2 * var(--spacing-large));
  1058. overflow: hidden;
  1059. }
  1060. div.contents .toc > h3 {
  1061. -webkit-tap-highlight-color: transparent;
  1062. cursor: pointer;
  1063. position: sticky;
  1064. top: 0;
  1065. background-color: var(--toc-background);
  1066. margin: 0;
  1067. padding: var(--spacing-large) 0;
  1068. display: block;
  1069. }
  1070. div.contents .toc.interactive > h3::before {
  1071. content: "";
  1072. width: 0;
  1073. height: 0;
  1074. border-left: 4px solid transparent;
  1075. border-right: 4px solid transparent;
  1076. border-top: 5px solid var(--primary-color);
  1077. display: inline-block;
  1078. margin-right: var(--spacing-small);
  1079. margin-bottom: calc(var(--navigation-font-size) / 4);
  1080. transform: rotate(-90deg);
  1081. transition: transform var(--animation-duration) ease-out;
  1082. }
  1083. div.contents .toc.interactive.open > h3::before {
  1084. transform: rotate(0deg);
  1085. }
  1086. div.contents .toc.interactive.open {
  1087. max-height: 45vh;
  1088. overflow: auto;
  1089. transition: max-height 0.2s ease-in-out;
  1090. }
  1091. div.contents .toc a, div.contents .toc a.active {
  1092. color: var(--primary-color) !important;
  1093. }
  1094. div.contents .toc a:hover {
  1095. text-decoration: underline;
  1096. }
  1097. }
  1098. /*
  1099. Page Outline (Doxygen >= 1.14.0)
  1100. */
  1101. #page-nav {
  1102. background: var(--page-background-color);
  1103. border-left: 1px solid var(--separator-color);
  1104. }
  1105. #page-nav #page-nav-resize-handle {
  1106. background: var(--separator-color);
  1107. }
  1108. #page-nav #page-nav-resize-handle::after {
  1109. border-left: 1px solid var(--primary-color);
  1110. border-right: 1px solid var(--primary-color);
  1111. }
  1112. #page-nav #page-nav-tree #page-nav-contents {
  1113. top: var(--spacing-large);
  1114. }
  1115. #page-nav ul.page-outline {
  1116. margin: 0;
  1117. padding: 0;
  1118. }
  1119. #page-nav ul.page-outline li a {
  1120. font-size: var(--toc-font-size) !important;
  1121. color: var(--page-secondary-foreground-color) !important;
  1122. display: inline-block;
  1123. line-height: calc(2 * var(--toc-font-size));
  1124. }
  1125. #page-nav ul.page-outline li a a.anchorlink {
  1126. display: none;
  1127. }
  1128. #page-nav ul.page-outline li.vis ~ * a {
  1129. color: var(--page-foreground-color) !important;
  1130. }
  1131. #page-nav ul.page-outline li.vis:not(.vis ~ .vis) a, #page-nav ul.page-outline li a:hover {
  1132. color: var(--primary-color) !important;
  1133. }
  1134. #page-nav ul.page-outline .vis {
  1135. background: var(--page-background-color);
  1136. position: relative;
  1137. }
  1138. #page-nav ul.page-outline .vis::after {
  1139. content: "";
  1140. position: absolute;
  1141. top: 0;
  1142. bottom: 0;
  1143. left: 0;
  1144. width: 4px;
  1145. background: var(--page-secondary-foreground-color);
  1146. }
  1147. #page-nav ul.page-outline .vis:not(.vis ~ .vis)::after {
  1148. top: 1px;
  1149. border-top-right-radius: var(--border-radius-small);
  1150. }
  1151. #page-nav ul.page-outline .vis:not(:has(~ .vis))::after {
  1152. bottom: 1px;
  1153. border-bottom-right-radius: var(--border-radius-small);
  1154. }
  1155. #page-nav ul.page-outline .arrow {
  1156. display: inline-block;
  1157. }
  1158. #page-nav ul.page-outline .arrow span {
  1159. display: none;
  1160. }
  1161. @media screen and (max-width: 767px) {
  1162. #container {
  1163. grid-template-columns: initial !important;
  1164. }
  1165. #page-nav {
  1166. display: none;
  1167. }
  1168. }
  1169. /*
  1170. Code & Fragments
  1171. */
  1172. code, div.fragment, pre.fragment, span.tt {
  1173. border: 1px solid var(--separator-color);
  1174. overflow: hidden;
  1175. }
  1176. code, span.tt {
  1177. display: inline;
  1178. background: var(--code-background);
  1179. color: var(--code-foreground);
  1180. padding: 2px 6px;
  1181. border-radius: var(--border-radius-small);
  1182. }
  1183. div.fragment, pre.fragment {
  1184. border-radius: var(--border-radius-medium);
  1185. margin: var(--spacing-medium) 0;
  1186. padding: calc(var(--spacing-large) - (var(--spacing-large) / 6)) var(--spacing-large);
  1187. background: var(--fragment-background);
  1188. color: var(--fragment-foreground);
  1189. overflow-x: auto;
  1190. }
  1191. @media screen and (max-width: 767px) {
  1192. div.fragment, pre.fragment {
  1193. border-top-right-radius: 0;
  1194. border-bottom-right-radius: 0;
  1195. border-right: 0;
  1196. }
  1197. .contents > div.fragment,
  1198. .textblock > div.fragment,
  1199. .textblock > pre.fragment,
  1200. .textblock > .tabbed > ul > li > div.fragment,
  1201. .textblock > .tabbed > ul > li > pre.fragment,
  1202. .contents > .doxygen-awesome-fragment-wrapper > div.fragment,
  1203. .textblock > .doxygen-awesome-fragment-wrapper > div.fragment,
  1204. .textblock > .doxygen-awesome-fragment-wrapper > pre.fragment,
  1205. .textblock > .tabbed > ul > li > .doxygen-awesome-fragment-wrapper > div.fragment,
  1206. .textblock > .tabbed > ul > li > .doxygen-awesome-fragment-wrapper > pre.fragment {
  1207. margin: var(--spacing-medium) calc(0px - var(--spacing-large));
  1208. border-radius: 0;
  1209. border-left: 0;
  1210. }
  1211. .textblock li > .fragment,
  1212. .textblock li > .doxygen-awesome-fragment-wrapper > .fragment {
  1213. margin: var(--spacing-medium) calc(0px - var(--spacing-large));
  1214. }
  1215. .memdoc li > .fragment,
  1216. .memdoc li > .doxygen-awesome-fragment-wrapper > .fragment {
  1217. margin: var(--spacing-medium) calc(0px - var(--spacing-medium));
  1218. }
  1219. .textblock ul, .memdoc ul {
  1220. overflow: initial;
  1221. }
  1222. .memdoc > div.fragment,
  1223. .memdoc > pre.fragment,
  1224. dl dd > div.fragment,
  1225. dl dd pre.fragment,
  1226. .memdoc > .doxygen-awesome-fragment-wrapper > div.fragment,
  1227. .memdoc > .doxygen-awesome-fragment-wrapper > pre.fragment,
  1228. dl dd > .doxygen-awesome-fragment-wrapper > div.fragment,
  1229. dl dd .doxygen-awesome-fragment-wrapper > pre.fragment {
  1230. margin: var(--spacing-medium) calc(0px - var(--spacing-medium));
  1231. border-radius: 0;
  1232. border-left: 0;
  1233. }
  1234. }
  1235. code, code a, pre.fragment, div.fragment, div.fragment .line, div.fragment span, div.fragment .line a, div.fragment .line span, span.tt {
  1236. font-family: var(--font-family-monospace);
  1237. font-size: var(--code-font-size) !important;
  1238. }
  1239. div.line:after {
  1240. margin-right: var(--spacing-medium);
  1241. }
  1242. div.fragment .line, pre.fragment {
  1243. white-space: pre;
  1244. word-wrap: initial;
  1245. line-height: var(--fragment-lineheight);
  1246. }
  1247. div.fragment span.keyword {
  1248. color: var(--fragment-keyword);
  1249. }
  1250. div.fragment span.keywordtype {
  1251. color: var(--fragment-keywordtype);
  1252. }
  1253. div.fragment span.keywordflow {
  1254. color: var(--fragment-keywordflow);
  1255. }
  1256. div.fragment span.stringliteral {
  1257. color: var(--fragment-token)
  1258. }
  1259. div.fragment span.comment {
  1260. color: var(--fragment-comment);
  1261. }
  1262. div.fragment a.code {
  1263. color: var(--fragment-link) !important;
  1264. }
  1265. div.fragment span.preprocessor {
  1266. color: var(--fragment-preprocessor);
  1267. }
  1268. div.fragment span.lineno {
  1269. display: inline-block;
  1270. width: 27px;
  1271. border-right: none;
  1272. background: var(--fragment-linenumber-background);
  1273. color: var(--fragment-linenumber-color);
  1274. }
  1275. div.fragment span.lineno a {
  1276. background: none;
  1277. color: var(--fragment-link) !important;
  1278. }
  1279. div.fragment > .line:first-child .lineno {
  1280. box-shadow: -999999px 0px 0 999999px var(--fragment-linenumber-background), -999998px 0px 0 999999px var(--fragment-linenumber-border);
  1281. background-color: var(--fragment-linenumber-background) !important;
  1282. }
  1283. div.line {
  1284. border-radius: var(--border-radius-small);
  1285. }
  1286. div.line.glow {
  1287. background-color: var(--primary-light-color);
  1288. box-shadow: none;
  1289. }
  1290. /*
  1291. dl warning, attention, note, deprecated, bug, ...
  1292. */
  1293. dl {
  1294. line-height: calc(1.65 * var(--page-font-size));
  1295. }
  1296. dl.bug dt a, dl.deprecated dt a, dl.todo dt a {
  1297. font-weight: bold !important;
  1298. }
  1299. dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, dl.invariant, dl.pre, dl.post, dl.todo, dl.remark {
  1300. padding: var(--spacing-medium);
  1301. margin: var(--spacing-medium) 0;
  1302. color: var(--page-background-color);
  1303. overflow: hidden;
  1304. margin-left: 0;
  1305. border-radius: var(--border-radius-small);
  1306. }
  1307. dl.section dd {
  1308. margin-bottom: 2px;
  1309. }
  1310. dl.warning, dl.attention {
  1311. background: var(--warning-color);
  1312. border-left: 8px solid var(--warning-color-dark);
  1313. color: var(--warning-color-darker);
  1314. }
  1315. dl.warning dt, dl.attention dt {
  1316. color: var(--warning-color-dark);
  1317. }
  1318. dl.note, dl.remark {
  1319. background: var(--note-color);
  1320. border-left: 8px solid var(--note-color-dark);
  1321. color: var(--note-color-darker);
  1322. }
  1323. dl.note dt, dl.remark dt {
  1324. color: var(--note-color-dark);
  1325. }
  1326. dl.todo {
  1327. background: var(--todo-color);
  1328. border-left: 8px solid var(--todo-color-dark);
  1329. color: var(--todo-color-darker);
  1330. }
  1331. dl.todo dt a {
  1332. color: var(--todo-color-dark) !important;
  1333. }
  1334. dl.bug dt a {
  1335. color: var(--todo-color-dark) !important;
  1336. }
  1337. dl.bug {
  1338. background: var(--bug-color);
  1339. border-left: 8px solid var(--bug-color-dark);
  1340. color: var(--bug-color-darker);
  1341. }
  1342. dl.bug dt a {
  1343. color: var(--bug-color-dark) !important;
  1344. }
  1345. dl.deprecated {
  1346. background: var(--deprecated-color);
  1347. border-left: 8px solid var(--deprecated-color-dark);
  1348. color: var(--deprecated-color-darker);
  1349. }
  1350. dl.deprecated dt a {
  1351. color: var(--deprecated-color-dark) !important;
  1352. }
  1353. dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd {
  1354. margin-inline-start: 0px;
  1355. }
  1356. dl.invariant, dl.pre, dl.post {
  1357. background: var(--invariant-color);
  1358. border-left: 8px solid var(--invariant-color-dark);
  1359. color: var(--invariant-color-darker);
  1360. }
  1361. dl.invariant dt, dl.pre dt, dl.post dt {
  1362. color: var(--invariant-color-dark);
  1363. }
  1364. /*
  1365. memitem
  1366. */
  1367. div.memdoc, div.memproto, h2.memtitle {
  1368. box-shadow: none;
  1369. background-image: none;
  1370. border: none;
  1371. }
  1372. div.memdoc {
  1373. padding: 0 var(--spacing-medium);
  1374. background: var(--page-background-color);
  1375. }
  1376. h2.memtitle, div.memitem {
  1377. border: 1px solid var(--separator-color);
  1378. box-shadow: var(--box-shadow);
  1379. }
  1380. h2.memtitle {
  1381. box-shadow: 0px var(--spacing-medium) 0 -1px var(--fragment-background), var(--box-shadow);
  1382. }
  1383. div.memitem {
  1384. transition: none;
  1385. }
  1386. div.memproto, h2.memtitle {
  1387. background: var(--fragment-background);
  1388. }
  1389. h2.memtitle {
  1390. font-weight: 500;
  1391. font-size: var(--memtitle-font-size);
  1392. font-family: var(--font-family-monospace);
  1393. border-bottom: none;
  1394. border-top-left-radius: var(--border-radius-medium);
  1395. border-top-right-radius: var(--border-radius-medium);
  1396. word-break: break-all;
  1397. position: relative;
  1398. }
  1399. h2.memtitle:after {
  1400. content: "";
  1401. display: block;
  1402. background: var(--fragment-background);
  1403. height: var(--spacing-medium);
  1404. bottom: calc(0px - var(--spacing-medium));
  1405. left: 0;
  1406. right: -14px;
  1407. position: absolute;
  1408. border-top-right-radius: var(--border-radius-medium);
  1409. }
  1410. h2.memtitle > span.permalink {
  1411. font-size: inherit;
  1412. }
  1413. h2.memtitle > span.permalink > a {
  1414. text-decoration: none;
  1415. padding-left: 3px;
  1416. margin-right: -4px;
  1417. user-select: none;
  1418. display: inline-block;
  1419. margin-top: -6px;
  1420. }
  1421. h2.memtitle > span.permalink > a:hover {
  1422. color: var(--primary-dark-color) !important;
  1423. }
  1424. a:target + h2.memtitle, a:target + h2.memtitle + div.memitem {
  1425. border-color: var(--primary-light-color);
  1426. }
  1427. div.memitem {
  1428. border-top-right-radius: var(--border-radius-medium);
  1429. border-bottom-right-radius: var(--border-radius-medium);
  1430. border-bottom-left-radius: var(--border-radius-medium);
  1431. border-top-left-radius: 0;
  1432. overflow: hidden;
  1433. display: block !important;
  1434. }
  1435. div.memdoc {
  1436. border-radius: 0;
  1437. }
  1438. div.memproto {
  1439. border-radius: 0 var(--border-radius-small) 0 0;
  1440. overflow: auto;
  1441. border-bottom: 1px solid var(--separator-color);
  1442. padding: var(--spacing-medium);
  1443. margin-bottom: -1px;
  1444. }
  1445. div.memtitle {
  1446. border-top-right-radius: var(--border-radius-medium);
  1447. border-top-left-radius: var(--border-radius-medium);
  1448. }
  1449. div.memproto table.memname {
  1450. font-family: var(--font-family-monospace);
  1451. color: var(--page-foreground-color);
  1452. font-size: var(--memname-font-size);
  1453. text-shadow: none;
  1454. }
  1455. div.memproto div.memtemplate {
  1456. font-family: var(--font-family-monospace);
  1457. color: var(--primary-dark-color);
  1458. font-size: var(--memname-font-size);
  1459. margin-left: 2px;
  1460. text-shadow: none;
  1461. }
  1462. table.mlabels, table.mlabels > tbody {
  1463. display: block;
  1464. }
  1465. td.mlabels-left {
  1466. width: auto;
  1467. }
  1468. td.mlabels-right {
  1469. margin-top: 3px;
  1470. position: sticky;
  1471. left: 0;
  1472. }
  1473. table.mlabels > tbody > tr:first-child {
  1474. display: flex;
  1475. justify-content: space-between;
  1476. flex-wrap: wrap;
  1477. }
  1478. .memname, .memitem span.mlabels {
  1479. margin: 0
  1480. }
  1481. /*
  1482. reflist
  1483. */
  1484. dl.reflist {
  1485. box-shadow: var(--box-shadow);
  1486. border-radius: var(--border-radius-medium);
  1487. border: 1px solid var(--separator-color);
  1488. overflow: hidden;
  1489. padding: 0;
  1490. }
  1491. dl.reflist dt, dl.reflist dd {
  1492. box-shadow: none;
  1493. text-shadow: none;
  1494. background-image: none;
  1495. border: none;
  1496. padding: 12px;
  1497. }
  1498. dl.reflist dt {
  1499. font-weight: 500;
  1500. border-radius: 0;
  1501. background: var(--code-background);
  1502. border-bottom: 1px solid var(--separator-color);
  1503. color: var(--page-foreground-color)
  1504. }
  1505. dl.reflist dd {
  1506. background: none;
  1507. }
  1508. /*
  1509. Table
  1510. */
  1511. .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname),
  1512. .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody {
  1513. display: inline-block;
  1514. max-width: 100%;
  1515. }
  1516. .contents > table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname):not(.classindex) {
  1517. margin-left: calc(0px - var(--spacing-large));
  1518. margin-right: calc(0px - var(--spacing-large));
  1519. max-width: calc(100% + 2 * var(--spacing-large));
  1520. }
  1521. table.fieldtable,
  1522. table.markdownTable tbody,
  1523. table.doxtable tbody {
  1524. border: none;
  1525. margin: var(--spacing-medium) 0;
  1526. box-shadow: 0 0 0 1px var(--separator-color);
  1527. border-radius: var(--border-radius-small);
  1528. }
  1529. table.markdownTable, table.doxtable, table.fieldtable {
  1530. padding: 1px;
  1531. }
  1532. table.doxtable caption {
  1533. display: block;
  1534. }
  1535. table.fieldtable {
  1536. border-collapse: collapse;
  1537. width: 100%;
  1538. }
  1539. th.markdownTableHeadLeft,
  1540. th.markdownTableHeadRight,
  1541. th.markdownTableHeadCenter,
  1542. th.markdownTableHeadNone,
  1543. table.doxtable th {
  1544. background: var(--tablehead-background);
  1545. color: var(--tablehead-foreground);
  1546. font-weight: 600;
  1547. font-size: var(--page-font-size);
  1548. }
  1549. th.markdownTableHeadLeft:first-child,
  1550. th.markdownTableHeadRight:first-child,
  1551. th.markdownTableHeadCenter:first-child,
  1552. th.markdownTableHeadNone:first-child,
  1553. table.doxtable tr th:first-child {
  1554. border-top-left-radius: var(--border-radius-small);
  1555. }
  1556. th.markdownTableHeadLeft:last-child,
  1557. th.markdownTableHeadRight:last-child,
  1558. th.markdownTableHeadCenter:last-child,
  1559. th.markdownTableHeadNone:last-child,
  1560. table.doxtable tr th:last-child {
  1561. border-top-right-radius: var(--border-radius-small);
  1562. }
  1563. table.markdownTable td,
  1564. table.markdownTable th,
  1565. table.fieldtable td,
  1566. table.fieldtable th,
  1567. table.doxtable td,
  1568. table.doxtable th {
  1569. border: 1px solid var(--separator-color);
  1570. padding: var(--spacing-small) var(--spacing-medium);
  1571. }
  1572. table.markdownTable td:last-child,
  1573. table.markdownTable th:last-child,
  1574. table.fieldtable td:last-child,
  1575. table.fieldtable th:last-child,
  1576. table.doxtable td:last-child,
  1577. table.doxtable th:last-child {
  1578. border-right: none;
  1579. }
  1580. table.markdownTable td:first-child,
  1581. table.markdownTable th:first-child,
  1582. table.fieldtable td:first-child,
  1583. table.fieldtable th:first-child,
  1584. table.doxtable td:first-child,
  1585. table.doxtable th:first-child {
  1586. border-left: none;
  1587. }
  1588. table.markdownTable tr:first-child td,
  1589. table.markdownTable tr:first-child th,
  1590. table.fieldtable tr:first-child td,
  1591. table.fieldtable tr:first-child th,
  1592. table.doxtable tr:first-child td,
  1593. table.doxtable tr:first-child th {
  1594. border-top: none;
  1595. }
  1596. table.markdownTable tr:last-child td,
  1597. table.markdownTable tr:last-child th,
  1598. table.fieldtable tr:last-child td,
  1599. table.fieldtable tr:last-child th,
  1600. table.doxtable tr:last-child td,
  1601. table.doxtable tr:last-child th {
  1602. border-bottom: none;
  1603. }
  1604. table.markdownTable tr, table.doxtable tr {
  1605. border-bottom: 1px solid var(--separator-color);
  1606. }
  1607. table.markdownTable tr:last-child, table.doxtable tr:last-child {
  1608. border-bottom: none;
  1609. }
  1610. .full_width_table table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) {
  1611. display: block;
  1612. }
  1613. .full_width_table table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody {
  1614. display: table;
  1615. width: 100%;
  1616. }
  1617. table.fieldtable th {
  1618. font-size: var(--page-font-size);
  1619. font-weight: 600;
  1620. background-image: none;
  1621. background-color: var(--tablehead-background);
  1622. color: var(--tablehead-foreground);
  1623. }
  1624. table.fieldtable td.fieldtype, .fieldtable td.fieldname, .fieldtable td.fieldinit, .fieldtable td.fielddoc, .fieldtable th {
  1625. border-bottom: 1px solid var(--separator-color);
  1626. border-right: 1px solid var(--separator-color);
  1627. }
  1628. table.fieldtable tr:last-child td:first-child {
  1629. border-bottom-left-radius: var(--border-radius-small);
  1630. }
  1631. table.fieldtable tr:last-child td:last-child {
  1632. border-bottom-right-radius: var(--border-radius-small);
  1633. }
  1634. .memberdecls td.glow, .fieldtable tr.glow {
  1635. background-color: var(--primary-light-color);
  1636. box-shadow: none;
  1637. }
  1638. table.memberdecls {
  1639. display: block;
  1640. -webkit-tap-highlight-color: transparent;
  1641. }
  1642. table.memberdecls tr[class^='memitem'] {
  1643. font-family: var(--font-family-monospace);
  1644. font-size: var(--code-font-size);
  1645. }
  1646. table.memberdecls tr[class^='memitem'] .memTemplParams {
  1647. font-family: var(--font-family-monospace);
  1648. font-size: var(--code-font-size);
  1649. color: var(--primary-dark-color);
  1650. white-space: normal;
  1651. }
  1652. table.memberdecls tr.heading + tr[class^='memitem'] td.memItemLeft,
  1653. table.memberdecls tr.heading + tr[class^='memitem'] td.memItemRight,
  1654. table.memberdecls td.memItemLeft,
  1655. table.memberdecls td.memItemRight,
  1656. table.memberdecls .memTemplItemLeft,
  1657. table.memberdecls .memTemplItemRight,
  1658. table.memberdecls .memTemplParams {
  1659. transition: none;
  1660. padding-top: var(--spacing-small);
  1661. padding-bottom: var(--spacing-small);
  1662. border-top: 1px solid var(--separator-color);
  1663. border-bottom: 1px solid var(--separator-color);
  1664. background-color: var(--fragment-background);
  1665. }
  1666. @media screen and (min-width: 768px) {
  1667. tr.heading + tr[class^='memitem'] td.memItemRight, tr.groupHeader + tr[class^='memitem'] td.memItemRight, tr.inherit_header + tr[class^='memitem'] td.memItemRight {
  1668. border-top-right-radius: var(--border-radius-small);
  1669. }
  1670. table.memberdecls tr:last-child td.memItemRight, table.memberdecls tr:last-child td.mdescRight, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemRight, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemRight, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescRight, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescRight {
  1671. border-bottom-right-radius: var(--border-radius-small);
  1672. }
  1673. table.memberdecls tr:last-child td.memItemLeft, table.memberdecls tr:last-child td.mdescLeft, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemLeft, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescLeft {
  1674. border-bottom-left-radius: var(--border-radius-small);
  1675. }
  1676. tr.heading + tr[class^='memitem'] td.memItemLeft, tr.groupHeader + tr[class^='memitem'] td.memItemLeft, tr.inherit_header + tr[class^='memitem'] td.memItemLeft {
  1677. border-top-left-radius: var(--border-radius-small);
  1678. }
  1679. }
  1680. table.memname td.memname {
  1681. font-size: var(--memname-font-size);
  1682. }
  1683. table.memberdecls .memTemplItemLeft,
  1684. table.memberdecls .template .memItemLeft,
  1685. table.memberdecls .memTemplItemRight,
  1686. table.memberdecls .template .memItemRight {
  1687. padding-top: 2px;
  1688. }
  1689. table.memberdecls .memTemplParams {
  1690. border-bottom: 0;
  1691. border-left: 1px solid var(--separator-color);
  1692. border-right: 1px solid var(--separator-color);
  1693. border-radius: var(--border-radius-small) var(--border-radius-small) 0 0;
  1694. padding-bottom: var(--spacing-small);
  1695. }
  1696. table.memberdecls .memTemplItemLeft, table.memberdecls .template .memItemLeft {
  1697. border-radius: 0 0 0 var(--border-radius-small);
  1698. border-left: 1px solid var(--separator-color);
  1699. border-top: 0;
  1700. }
  1701. table.memberdecls .memTemplItemRight, table.memberdecls .template .memItemRight {
  1702. border-radius: 0 0 var(--border-radius-small) 0;
  1703. border-right: 1px solid var(--separator-color);
  1704. padding-left: 0;
  1705. border-top: 0;
  1706. }
  1707. table.memberdecls .memItemLeft {
  1708. border-radius: var(--border-radius-small) 0 0 var(--border-radius-small);
  1709. border-left: 1px solid var(--separator-color);
  1710. padding-left: var(--spacing-medium);
  1711. padding-right: 0;
  1712. }
  1713. table.memberdecls .memItemRight {
  1714. border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0;
  1715. border-right: 1px solid var(--separator-color);
  1716. padding-right: var(--spacing-medium);
  1717. padding-left: 0;
  1718. }
  1719. table.memberdecls .mdescLeft, table.memberdecls .mdescRight {
  1720. background: none;
  1721. color: var(--page-foreground-color);
  1722. padding: var(--spacing-small) 0;
  1723. border: 0;
  1724. }
  1725. table.memberdecls [class^="memdesc"] {
  1726. box-shadow: none;
  1727. }
  1728. table.memberdecls .memItemLeft,
  1729. table.memberdecls .memTemplItemLeft {
  1730. padding-right: var(--spacing-medium);
  1731. }
  1732. table.memberdecls .memSeparator {
  1733. background: var(--page-background-color);
  1734. height: var(--spacing-large);
  1735. border: 0;
  1736. transition: none;
  1737. }
  1738. table.memberdecls .groupheader {
  1739. margin-bottom: var(--spacing-large);
  1740. }
  1741. table.memberdecls .inherit_header td {
  1742. padding: 0 0 var(--spacing-medium) 0;
  1743. text-indent: -12px;
  1744. color: var(--page-secondary-foreground-color);
  1745. }
  1746. table.memberdecls span.dynarrow {
  1747. left: 10px;
  1748. }
  1749. table.memberdecls img[src="closed.png"],
  1750. table.memberdecls img[src="open.png"],
  1751. div.dynheader img[src="open.png"],
  1752. div.dynheader img[src="closed.png"] {
  1753. width: 0;
  1754. height: 0;
  1755. border-left: 4px solid transparent;
  1756. border-right: 4px solid transparent;
  1757. border-top: 5px solid var(--primary-color);
  1758. margin-top: 8px;
  1759. display: block;
  1760. float: left;
  1761. margin-left: -10px;
  1762. transition: transform var(--animation-duration) ease-out;
  1763. }
  1764. tr.heading + tr[class^='memitem'] td.memItemLeft, tr.groupHeader + tr[class^='memitem'] td.memItemLeft, tr.inherit_header + tr[class^='memitem'] td.memItemLeft, tr.heading + tr[class^='memitem'] td.memItemRight, tr.groupHeader + tr[class^='memitem'] td.memItemRight, tr.inherit_header + tr[class^='memitem'] td.memItemRight {
  1765. border-top: 1px solid var(--separator-color);
  1766. }
  1767. table.memberdecls img {
  1768. margin-right: 10px;
  1769. }
  1770. table.memberdecls img[src="closed.png"],
  1771. div.dynheader img[src="closed.png"] {
  1772. transform: rotate(-90deg);
  1773. }
  1774. .compoundTemplParams {
  1775. font-family: var(--font-family-monospace);
  1776. color: var(--primary-dark-color);
  1777. font-size: var(--code-font-size);
  1778. }
  1779. @media screen and (max-width: 767px) {
  1780. table.memberdecls .memItemLeft,
  1781. table.memberdecls .memItemRight,
  1782. table.memberdecls .mdescLeft,
  1783. table.memberdecls .mdescRight,
  1784. table.memberdecls .memTemplItemLeft,
  1785. table.memberdecls .memTemplItemRight,
  1786. table.memberdecls .memTemplParams,
  1787. table.memberdecls .template .memItemLeft,
  1788. table.memberdecls .template .memItemRight,
  1789. table.memberdecls .template .memParams {
  1790. display: block;
  1791. text-align: left;
  1792. padding-left: var(--spacing-large);
  1793. margin: 0 calc(0px - var(--spacing-large)) 0 calc(0px - var(--spacing-large));
  1794. border-right: none;
  1795. border-left: none;
  1796. border-radius: 0;
  1797. white-space: normal;
  1798. }
  1799. table.memberdecls .memItemLeft,
  1800. table.memberdecls .mdescLeft,
  1801. table.memberdecls .memTemplItemLeft,
  1802. table.memberdecls .template .memItemLeft {
  1803. border-bottom: 0 !important;
  1804. padding-bottom: 0 !important;
  1805. }
  1806. table.memberdecls .memTemplItemLeft,
  1807. table.memberdecls .template .memItemLeft {
  1808. padding-top: 0;
  1809. }
  1810. table.memberdecls .mdescLeft {
  1811. margin-bottom: calc(0px - var(--page-font-size));
  1812. }
  1813. table.memberdecls .memItemRight,
  1814. table.memberdecls .mdescRight,
  1815. table.memberdecls .memTemplItemRight,
  1816. table.memberdecls .template .memItemRight {
  1817. border-top: 0 !important;
  1818. padding-top: 0 !important;
  1819. padding-right: var(--spacing-large);
  1820. padding-bottom: var(--spacing-medium);
  1821. overflow-x: auto;
  1822. }
  1823. table.memberdecls tr[class^='memitem']:not(.inherit) {
  1824. display: block;
  1825. width: calc(100vw - 2 * var(--spacing-large));
  1826. }
  1827. table.memberdecls .mdescRight {
  1828. color: var(--page-foreground-color);
  1829. }
  1830. table.memberdecls tr.inherit {
  1831. visibility: hidden;
  1832. }
  1833. table.memberdecls tr[style="display: table-row;"] {
  1834. display: block !important;
  1835. visibility: visible;
  1836. width: calc(100vw - 2 * var(--spacing-large));
  1837. animation: fade .5s;
  1838. }
  1839. @keyframes fade {
  1840. 0% {
  1841. opacity: 0;
  1842. max-height: 0;
  1843. }
  1844. 100% {
  1845. opacity: 1;
  1846. max-height: 200px;
  1847. }
  1848. }
  1849. tr.heading + tr[class^='memitem'] td.memItemRight, tr.groupHeader + tr[class^='memitem'] td.memItemRight, tr.inherit_header + tr[class^='memitem'] td.memItemRight {
  1850. border-top-right-radius: 0;
  1851. }
  1852. table.memberdecls tr:last-child td.memItemRight, table.memberdecls tr:last-child td.mdescRight, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemRight, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemRight, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescRight, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescRight {
  1853. border-bottom-right-radius: 0;
  1854. }
  1855. table.memberdecls tr:last-child td.memItemLeft, table.memberdecls tr:last-child td.mdescLeft, table.memberdecls tr[class^='memitem']:has(+ tr.groupHeader) td.memItemLeft, table.memberdecls tr[class^='memitem']:has(+ tr.inherit_header) td.memItemLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.groupHeader) td.mdescLeft, table.memberdecls tr[class^='memdesc']:has(+ tr.inherit_header) td.mdescLeft {
  1856. border-bottom-left-radius: 0;
  1857. }
  1858. tr.heading + tr[class^='memitem'] td.memItemLeft, tr.groupHeader + tr[class^='memitem'] td.memItemLeft, tr.inherit_header + tr[class^='memitem'] td.memItemLeft {
  1859. border-top-left-radius: 0;
  1860. }
  1861. }
  1862. /*
  1863. Horizontal Rule
  1864. */
  1865. hr {
  1866. margin-top: var(--spacing-large);
  1867. margin-bottom: var(--spacing-large);
  1868. height: 1px;
  1869. background-color: var(--separator-color);
  1870. border: 0;
  1871. }
  1872. .contents hr {
  1873. box-shadow: 100px 0 var(--separator-color),
  1874. -100px 0 var(--separator-color),
  1875. 500px 0 var(--separator-color),
  1876. -500px 0 var(--separator-color),
  1877. 900px 0 var(--separator-color),
  1878. -900px 0 var(--separator-color),
  1879. 1400px 0 var(--separator-color),
  1880. -1400px 0 var(--separator-color),
  1881. 1900px 0 var(--separator-color),
  1882. -1900px 0 var(--separator-color);
  1883. }
  1884. .contents img, .contents .center, .contents center, .contents div.image object {
  1885. max-width: 100%;
  1886. overflow: auto;
  1887. }
  1888. @media screen and (max-width: 767px) {
  1889. .contents .dyncontent > .center, .contents > center {
  1890. margin-left: calc(0px - var(--spacing-large));
  1891. margin-right: calc(0px - var(--spacing-large));
  1892. max-width: calc(100% + 2 * var(--spacing-large));
  1893. }
  1894. }
  1895. /*
  1896. Directories
  1897. */
  1898. div.directory {
  1899. border-top: 1px solid var(--separator-color);
  1900. border-bottom: 1px solid var(--separator-color);
  1901. width: auto;
  1902. }
  1903. table.directory {
  1904. font-family: var(--font-family);
  1905. font-size: var(--page-font-size);
  1906. font-weight: normal;
  1907. width: 100%;
  1908. }
  1909. table.directory td.entry, table.directory td.desc {
  1910. padding: calc(var(--spacing-small) / 2) var(--spacing-small);
  1911. line-height: var(--table-line-height);
  1912. }
  1913. table.directory tr.even td:last-child {
  1914. border-radius: 0 var(--border-radius-small) var(--border-radius-small) 0;
  1915. }
  1916. table.directory tr.even td:first-child {
  1917. border-radius: var(--border-radius-small) 0 0 var(--border-radius-small);
  1918. }
  1919. table.directory tr.even:last-child td:last-child {
  1920. border-radius: 0 var(--border-radius-small) 0 0;
  1921. }
  1922. table.directory tr.even:last-child td:first-child {
  1923. border-radius: var(--border-radius-small) 0 0 0;
  1924. }
  1925. table.directory td.desc {
  1926. min-width: 250px;
  1927. }
  1928. table.directory tr.even {
  1929. background-color: var(--odd-color);
  1930. }
  1931. table.directory tr.odd {
  1932. background-color: transparent;
  1933. }
  1934. .icona {
  1935. width: auto;
  1936. height: auto;
  1937. margin: 0 var(--spacing-small);
  1938. }
  1939. .icon {
  1940. background: var(--primary-color);
  1941. border-radius: var(--border-radius-small);
  1942. font-size: var(--page-font-size);
  1943. padding: calc(var(--page-font-size) / 5);
  1944. line-height: var(--page-font-size);
  1945. transform: scale(0.8);
  1946. height: auto;
  1947. width: var(--page-font-size);
  1948. user-select: none;
  1949. }
  1950. .iconfopen, .icondoc, .iconfclosed {
  1951. background-position: center;
  1952. margin-bottom: 0;
  1953. height: var(--table-line-height);
  1954. }
  1955. .icondoc {
  1956. filter: saturate(0.2);
  1957. }
  1958. @media screen and (max-width: 767px) {
  1959. div.directory {
  1960. margin-left: calc(0px - var(--spacing-large));
  1961. margin-right: calc(0px - var(--spacing-large));
  1962. }
  1963. }
  1964. @media (prefers-color-scheme: dark) {
  1965. html:not(.light-mode) .iconfopen, html:not(.light-mode) .iconfclosed {
  1966. filter: hue-rotate(180deg) invert();
  1967. }
  1968. }
  1969. html.dark-mode .iconfopen, html.dark-mode .iconfclosed {
  1970. filter: hue-rotate(180deg) invert();
  1971. }
  1972. /*
  1973. Class list
  1974. */
  1975. .classindex dl.odd {
  1976. background: var(--odd-color);
  1977. border-radius: var(--border-radius-small);
  1978. }
  1979. .classindex dl.even {
  1980. background-color: transparent;
  1981. }
  1982. /*
  1983. Class Index Doxygen 1.8
  1984. */
  1985. table.classindex {
  1986. margin-left: 0;
  1987. margin-right: 0;
  1988. width: 100%;
  1989. }
  1990. table.classindex table div.ah {
  1991. background-image: none;
  1992. background-color: initial;
  1993. border-color: var(--separator-color);
  1994. color: var(--page-foreground-color);
  1995. box-shadow: var(--box-shadow);
  1996. border-radius: var(--border-radius-large);
  1997. padding: var(--spacing-small);
  1998. }
  1999. div.qindex {
  2000. background-color: var(--odd-color);
  2001. border-radius: var(--border-radius-small);
  2002. border: 1px solid var(--separator-color);
  2003. padding: var(--spacing-small) 0;
  2004. }
  2005. /*
  2006. Footer and nav-path
  2007. */
  2008. #nav-path {
  2009. width: 100%;
  2010. }
  2011. #nav-path ul {
  2012. background-image: none;
  2013. background: var(--page-background-color);
  2014. border: none;
  2015. border-top: 1px solid var(--separator-color);
  2016. border-bottom: 0;
  2017. font-size: var(--navigation-font-size);
  2018. }
  2019. img.footer {
  2020. width: 60px;
  2021. }
  2022. .navpath li.footer {
  2023. color: var(--page-secondary-foreground-color);
  2024. }
  2025. address.footer {
  2026. color: var(--page-secondary-foreground-color);
  2027. margin-bottom: var(--spacing-large);
  2028. }
  2029. #nav-path li.navelem {
  2030. background-image: none;
  2031. display: flex;
  2032. align-items: center;
  2033. }
  2034. .navpath li.navelem a {
  2035. text-shadow: none;
  2036. display: inline-block;
  2037. color: var(--primary-color) !important;
  2038. }
  2039. .navpath li.navelem a:hover {
  2040. text-shadow: none;
  2041. }
  2042. .navpath li.navelem b {
  2043. color: var(--primary-dark-color);
  2044. font-weight: 500;
  2045. }
  2046. li.navelem {
  2047. padding: 0;
  2048. margin-left: -8px;
  2049. }
  2050. li.navelem:first-child {
  2051. margin-left: var(--spacing-large);
  2052. }
  2053. li.navelem:first-child:before {
  2054. display: none;
  2055. }
  2056. #nav-path ul {
  2057. padding-left: 0;
  2058. }
  2059. #nav-path li.navelem:has(.el):after {
  2060. content: '';
  2061. border: 5px solid var(--page-background-color);
  2062. border-bottom-color: transparent;
  2063. border-right-color: transparent;
  2064. border-top-color: transparent;
  2065. transform: translateY(-1px) scaleY(4.2);
  2066. z-index: 10;
  2067. margin-left: 6px;
  2068. }
  2069. #nav-path li.navelem:not(:has(.el)):after {
  2070. background: var(--page-background-color);
  2071. box-shadow: 1px -1px 0 1px var(--separator-color);
  2072. border-radius: 0 var(--border-radius-medium) 0 50px;
  2073. }
  2074. #nav-path li.navelem:not(:has(.el)) {
  2075. margin-left: 0;
  2076. }
  2077. #nav-path li.navelem:not(:has(.el)):hover, #nav-path li.navelem:not(:has(.el)):hover:after {
  2078. background-color: var(--separator-color);
  2079. }
  2080. #nav-path li.navelem:has(.el):before {
  2081. content: '';
  2082. border: 5px solid var(--separator-color);
  2083. border-bottom-color: transparent;
  2084. border-right-color: transparent;
  2085. border-top-color: transparent;
  2086. transform: translateY(-1px) scaleY(3.2);
  2087. margin-right: var(--spacing-small);
  2088. }
  2089. .navpath li.navelem a:hover {
  2090. color: var(--primary-color);
  2091. }
  2092. /*
  2093. Scrollbars for Webkit
  2094. */
  2095. #nav-tree::-webkit-scrollbar,
  2096. div.fragment::-webkit-scrollbar,
  2097. pre.fragment::-webkit-scrollbar,
  2098. div.memproto::-webkit-scrollbar,
  2099. .contents center::-webkit-scrollbar,
  2100. .contents .center::-webkit-scrollbar,
  2101. .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar,
  2102. div.contents .toc::-webkit-scrollbar,
  2103. .contents .dotgraph::-webkit-scrollbar,
  2104. .contents .tabs-overview-container::-webkit-scrollbar {
  2105. background: transparent;
  2106. width: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding));
  2107. height: calc(var(--webkit-scrollbar-size) + var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding));
  2108. }
  2109. #nav-tree::-webkit-scrollbar-thumb,
  2110. div.fragment::-webkit-scrollbar-thumb,
  2111. pre.fragment::-webkit-scrollbar-thumb,
  2112. div.memproto::-webkit-scrollbar-thumb,
  2113. .contents center::-webkit-scrollbar-thumb,
  2114. .contents .center::-webkit-scrollbar-thumb,
  2115. .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-thumb,
  2116. div.contents .toc::-webkit-scrollbar-thumb,
  2117. .contents .dotgraph::-webkit-scrollbar-thumb,
  2118. .contents .tabs-overview-container::-webkit-scrollbar-thumb {
  2119. background-color: transparent;
  2120. border: var(--webkit-scrollbar-padding) solid transparent;
  2121. border-radius: calc(var(--webkit-scrollbar-padding) + var(--webkit-scrollbar-padding));
  2122. background-clip: padding-box;
  2123. }
  2124. #nav-tree:hover::-webkit-scrollbar-thumb,
  2125. div.fragment:hover::-webkit-scrollbar-thumb,
  2126. pre.fragment:hover::-webkit-scrollbar-thumb,
  2127. div.memproto:hover::-webkit-scrollbar-thumb,
  2128. .contents center:hover::-webkit-scrollbar-thumb,
  2129. .contents .center:hover::-webkit-scrollbar-thumb,
  2130. .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody:hover::-webkit-scrollbar-thumb,
  2131. div.contents .toc:hover::-webkit-scrollbar-thumb,
  2132. .contents .dotgraph:hover::-webkit-scrollbar-thumb,
  2133. .contents .tabs-overview-container:hover::-webkit-scrollbar-thumb {
  2134. background-color: var(--webkit-scrollbar-color);
  2135. }
  2136. #nav-tree::-webkit-scrollbar-track,
  2137. div.fragment::-webkit-scrollbar-track,
  2138. pre.fragment::-webkit-scrollbar-track,
  2139. div.memproto::-webkit-scrollbar-track,
  2140. .contents center::-webkit-scrollbar-track,
  2141. .contents .center::-webkit-scrollbar-track,
  2142. .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody::-webkit-scrollbar-track,
  2143. div.contents .toc::-webkit-scrollbar-track,
  2144. .contents .dotgraph::-webkit-scrollbar-track,
  2145. .contents .tabs-overview-container::-webkit-scrollbar-track {
  2146. background: transparent;
  2147. }
  2148. #nav-tree::-webkit-scrollbar-corner {
  2149. background-color: var(--side-nav-background);
  2150. }
  2151. #nav-tree,
  2152. div.fragment,
  2153. pre.fragment,
  2154. div.memproto,
  2155. .contents center,
  2156. .contents .center,
  2157. .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody,
  2158. div.contents .toc {
  2159. overflow-x: auto;
  2160. overflow-x: overlay;
  2161. }
  2162. #nav-tree {
  2163. overflow-x: auto;
  2164. overflow-y: auto;
  2165. overflow-y: overlay;
  2166. }
  2167. /*
  2168. Scrollbars for Firefox
  2169. */
  2170. #nav-tree,
  2171. div.fragment,
  2172. pre.fragment,
  2173. div.memproto,
  2174. .contents center,
  2175. .contents .center,
  2176. .contents table:not(.memberdecls):not(.mlabels):not(.fieldtable):not(.memname) tbody,
  2177. div.contents .toc,
  2178. .contents .dotgraph,
  2179. .contents .tabs-overview-container {
  2180. scrollbar-width: thin;
  2181. }
  2182. /*
  2183. Optional Dark mode toggle button
  2184. */
  2185. doxygen-awesome-dark-mode-toggle {
  2186. display: inline-block;
  2187. margin: 0 0 0 var(--spacing-small);
  2188. padding: 0;
  2189. width: var(--searchbar-height);
  2190. height: var(--searchbar-height);
  2191. background: none;
  2192. border: none;
  2193. border-radius: var(--searchbar-border-radius);
  2194. vertical-align: middle;
  2195. text-align: center;
  2196. line-height: var(--searchbar-height);
  2197. font-size: 22px;
  2198. display: flex;
  2199. align-items: center;
  2200. justify-content: center;
  2201. user-select: none;
  2202. cursor: pointer;
  2203. }
  2204. doxygen-awesome-dark-mode-toggle > svg {
  2205. transition: transform var(--animation-duration) ease-in-out;
  2206. }
  2207. doxygen-awesome-dark-mode-toggle:active > svg {
  2208. transform: scale(.5);
  2209. }
  2210. doxygen-awesome-dark-mode-toggle:hover {
  2211. background-color: rgba(0,0,0,.03);
  2212. }
  2213. html.dark-mode doxygen-awesome-dark-mode-toggle:hover {
  2214. background-color: rgba(0,0,0,.18);
  2215. }
  2216. /*
  2217. Optional fragment copy button
  2218. */
  2219. .doxygen-awesome-fragment-wrapper {
  2220. position: relative;
  2221. }
  2222. doxygen-awesome-fragment-copy-button {
  2223. opacity: 0;
  2224. background: var(--fragment-background);
  2225. width: 28px;
  2226. height: 28px;
  2227. position: absolute;
  2228. right: calc(var(--spacing-large) - (var(--spacing-large) / 2.5));
  2229. top: calc(var(--spacing-large) - (var(--spacing-large) / 2.5));
  2230. border: 1px solid var(--fragment-foreground);
  2231. cursor: pointer;
  2232. border-radius: var(--border-radius-small);
  2233. display: flex;
  2234. justify-content: center;
  2235. align-items: center;
  2236. }
  2237. .doxygen-awesome-fragment-wrapper:hover doxygen-awesome-fragment-copy-button, doxygen-awesome-fragment-copy-button.success {
  2238. opacity: .28;
  2239. }
  2240. doxygen-awesome-fragment-copy-button:hover, doxygen-awesome-fragment-copy-button.success {
  2241. opacity: 1 !important;
  2242. }
  2243. doxygen-awesome-fragment-copy-button:active:not([class~=success]) svg {
  2244. transform: scale(.91);
  2245. }
  2246. doxygen-awesome-fragment-copy-button svg {
  2247. fill: var(--fragment-foreground);
  2248. width: 18px;
  2249. height: 18px;
  2250. }
  2251. doxygen-awesome-fragment-copy-button.success svg {
  2252. fill: rgb(14, 168, 14);
  2253. }
  2254. doxygen-awesome-fragment-copy-button.success {
  2255. border-color: rgb(14, 168, 14);
  2256. }
  2257. @media screen and (max-width: 767px) {
  2258. .textblock > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,
  2259. .textblock li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,
  2260. .memdoc li > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,
  2261. .memdoc > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button,
  2262. dl dd > .doxygen-awesome-fragment-wrapper > doxygen-awesome-fragment-copy-button {
  2263. right: 0;
  2264. }
  2265. }
  2266. /*
  2267. Optional paragraph link button
  2268. */
  2269. a.anchorlink {
  2270. font-size: 90%;
  2271. margin-left: var(--spacing-small);
  2272. color: var(--page-foreground-color) !important;
  2273. text-decoration: none;
  2274. opacity: .15;
  2275. display: none;
  2276. transition: opacity var(--animation-duration) ease-in-out, color var(--animation-duration) ease-in-out;
  2277. }
  2278. a.anchorlink svg {
  2279. fill: var(--page-foreground-color);
  2280. }
  2281. h3 a.anchorlink svg, h4 a.anchorlink svg {
  2282. margin-bottom: -3px;
  2283. margin-top: -4px;
  2284. }
  2285. a.anchorlink:hover {
  2286. opacity: .45;
  2287. }
  2288. h2:hover a.anchorlink, h1:hover a.anchorlink, h3:hover a.anchorlink, h4:hover a.anchorlink {
  2289. display: inline-block;
  2290. }
  2291. /*
  2292. Optional tab feature
  2293. */
  2294. .tabbed > ul {
  2295. padding-inline-start: 0px;
  2296. margin: 0;
  2297. padding: var(--spacing-small) 0;
  2298. }
  2299. .tabbed > ul > li {
  2300. display: none;
  2301. }
  2302. .tabbed > ul > li.selected {
  2303. display: block;
  2304. }
  2305. .tabs-overview-container {
  2306. overflow-x: auto;
  2307. display: block;
  2308. overflow-y: visible;
  2309. }
  2310. .tabs-overview {
  2311. border-bottom: 1px solid var(--separator-color);
  2312. display: flex;
  2313. flex-direction: row;
  2314. }
  2315. @media screen and (max-width: 767px) {
  2316. .tabs-overview-container {
  2317. margin: 0 calc(0px - var(--spacing-large));
  2318. }
  2319. .tabs-overview {
  2320. padding: 0 var(--spacing-large)
  2321. }
  2322. }
  2323. .tabs-overview button.tab-button {
  2324. color: var(--page-foreground-color);
  2325. margin: 0;
  2326. border: none;
  2327. background: transparent;
  2328. padding: calc(var(--spacing-large) / 2) 0;
  2329. display: inline-block;
  2330. font-size: var(--page-font-size);
  2331. cursor: pointer;
  2332. box-shadow: 0 1px 0 0 var(--separator-color);
  2333. position: relative;
  2334. -webkit-tap-highlight-color: transparent;
  2335. }
  2336. .tabs-overview button.tab-button .tab-title::before {
  2337. display: block;
  2338. content: attr(title);
  2339. font-weight: 600;
  2340. height: 0;
  2341. overflow: hidden;
  2342. visibility: hidden;
  2343. }
  2344. .tabs-overview button.tab-button .tab-title {
  2345. float: left;
  2346. white-space: nowrap;
  2347. font-weight: normal;
  2348. font-family: var(--font-family);
  2349. padding: calc(var(--spacing-large) / 2) var(--spacing-large);
  2350. border-radius: var(--border-radius-medium);
  2351. transition: background-color var(--animation-duration) ease-in-out, font-weight var(--animation-duration) ease-in-out;
  2352. }
  2353. .tabs-overview button.tab-button:not(:last-child) .tab-title {
  2354. box-shadow: 8px 0 0 -7px var(--separator-color);
  2355. }
  2356. .tabs-overview button.tab-button:hover .tab-title {
  2357. background: var(--separator-color);
  2358. box-shadow: none;
  2359. }
  2360. .tabs-overview button.tab-button.active .tab-title {
  2361. font-weight: 600;
  2362. }
  2363. .tabs-overview button.tab-button::after {
  2364. content: '';
  2365. display: block;
  2366. position: absolute;
  2367. left: 0;
  2368. bottom: 0;
  2369. right: 0;
  2370. height: 0;
  2371. width: 0%;
  2372. margin: 0 auto;
  2373. border-radius: var(--border-radius-small) var(--border-radius-small) 0 0;
  2374. background-color: var(--primary-color);
  2375. transition: width var(--animation-duration) ease-in-out, height var(--animation-duration) ease-in-out;
  2376. }
  2377. .tabs-overview button.tab-button.active::after {
  2378. width: 100%;
  2379. box-sizing: border-box;
  2380. height: 3px;
  2381. }
  2382. /*
  2383. Navigation Buttons
  2384. */
  2385. .section_buttons:not(:empty) {
  2386. margin-top: calc(var(--spacing-large) * 3);
  2387. }
  2388. .section_buttons table.markdownTable {
  2389. display: block;
  2390. width: 100%;
  2391. }
  2392. .section_buttons table.markdownTable tbody {
  2393. display: table !important;
  2394. width: 100%;
  2395. box-shadow: none;
  2396. border-spacing: 10px;
  2397. }
  2398. .section_buttons table.markdownTable td {
  2399. padding: 0;
  2400. }
  2401. .section_buttons table.markdownTable th {
  2402. display: none;
  2403. }
  2404. .section_buttons table.markdownTable tr.markdownTableHead {
  2405. border: none;
  2406. }
  2407. .section_buttons tr th, .section_buttons tr td {
  2408. background: none;
  2409. border: none;
  2410. padding: var(--spacing-large) 0 var(--spacing-small);
  2411. }
  2412. .section_buttons a {
  2413. display: inline-block;
  2414. border: 1px solid var(--separator-color);
  2415. border-radius: var(--border-radius-medium);
  2416. color: var(--page-secondary-foreground-color) !important;
  2417. text-decoration: none;
  2418. transition: color var(--animation-duration) ease-in-out, background-color var(--animation-duration) ease-in-out;
  2419. }
  2420. .section_buttons a:hover {
  2421. color: var(--page-foreground-color) !important;
  2422. background-color: var(--odd-color);
  2423. }
  2424. .section_buttons tr td.markdownTableBodyLeft a {
  2425. padding: var(--spacing-medium) var(--spacing-large) var(--spacing-medium) calc(var(--spacing-large) / 2);
  2426. }
  2427. .section_buttons tr td.markdownTableBodyRight a {
  2428. padding: var(--spacing-medium) calc(var(--spacing-large) / 2) var(--spacing-medium) var(--spacing-large);
  2429. }
  2430. .section_buttons tr td.markdownTableBodyLeft a::before,
  2431. .section_buttons tr td.markdownTableBodyRight a::after {
  2432. color: var(--page-secondary-foreground-color) !important;
  2433. display: inline-block;
  2434. transition: color .08s ease-in-out, transform .09s ease-in-out;
  2435. }
  2436. .section_buttons tr td.markdownTableBodyLeft a::before {
  2437. content: '〈';
  2438. padding-right: var(--spacing-large);
  2439. }
  2440. .section_buttons tr td.markdownTableBodyRight a::after {
  2441. content: '〉';
  2442. padding-left: var(--spacing-large);
  2443. }
  2444. .section_buttons tr td.markdownTableBodyLeft a:hover::before {
  2445. color: var(--page-foreground-color) !important;
  2446. transform: translateX(-3px);
  2447. }
  2448. .section_buttons tr td.markdownTableBodyRight a:hover::after {
  2449. color: var(--page-foreground-color) !important;
  2450. transform: translateX(3px);
  2451. }
  2452. @media screen and (max-width: 450px) {
  2453. .section_buttons a {
  2454. width: 100%;
  2455. box-sizing: border-box;
  2456. }
  2457. .section_buttons tr td:nth-of-type(1).markdownTableBodyLeft a {
  2458. border-radius: var(--border-radius-medium) 0 0 var(--border-radius-medium);
  2459. border-right: none;
  2460. }
  2461. .section_buttons tr td:nth-of-type(2).markdownTableBodyRight a {
  2462. border-radius: 0 var(--border-radius-medium) var(--border-radius-medium) 0;
  2463. }
  2464. }
  2465. /*
  2466. Bordered image
  2467. */
  2468. html.dark-mode .darkmode_inverted_image img, /* < doxygen 1.9.3 */
  2469. html.dark-mode .darkmode_inverted_image object[type="image/svg+xml"] /* doxygen 1.9.3 */ {
  2470. filter: brightness(89%) hue-rotate(180deg) invert();
  2471. }
  2472. .bordered_image {
  2473. border-radius: var(--border-radius-small);
  2474. border: 1px solid var(--separator-color);
  2475. display: inline-block;
  2476. overflow: hidden;
  2477. }
  2478. .bordered_image:empty {
  2479. border: none;
  2480. }
  2481. html.dark-mode .bordered_image img, /* < doxygen 1.9.3 */
  2482. html.dark-mode .bordered_image object[type="image/svg+xml"] /* doxygen 1.9.3 */ {
  2483. border-radius: var(--border-radius-small);
  2484. }
  2485. /*
  2486. Button
  2487. */
  2488. .primary-button {
  2489. display: inline-block;
  2490. cursor: pointer;
  2491. background: var(--primary-color);
  2492. color: var(--page-background-color) !important;
  2493. border-radius: var(--border-radius-medium);
  2494. padding: var(--spacing-small) var(--spacing-medium);
  2495. text-decoration: none;
  2496. }
  2497. .primary-button:hover {
  2498. background: var(--primary-dark-color);
  2499. }