doxygen-awesome.css 66 KB

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