grapheditor.css 60 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280
  1. :root {
  2. --ge-panel-color: #f1f3f4;
  3. --toolbar-color: #f1f3f4;
  4. --workspace-color: #ececec;
  5. --dark-toolbar-color: #1e2022;
  6. --inactive-color: #e4e4e4;
  7. --active-color: #c4c4c4;
  8. --primary-color: #c2e7ff;
  9. --primary-hover-color: #abcfe7;
  10. --accent-color: #e1e9f7;
  11. --accent-hover-color: #d8e5f8;
  12. --accent-text-color: #0b57d0;
  13. --border-color: #dadada;
  14. --highlight-color: #e2e2e2;
  15. --scrollbar-hover-color: #959798;
  16. --text-color: #3F3F3F;
  17. --dark-color: #121212;
  18. --ge-dark-panel-color: #1B1D1E;
  19. --dark-border-color: #333333;
  20. --dark-text-color: #C0C0C0;
  21. --dark-accent-color: #003555;
  22. --dark-accent-text-color: #52a5f6;
  23. --dark-active-accent-color: #004A77;
  24. --dark-inverse-active-color: #c4c4c4;
  25. --dark-highlight-color: #000000;
  26. --dark-header-color: #1B1D1E;
  27. }
  28. .geEditor * {
  29. forced-color-adjust: none;
  30. }
  31. .geEditor {
  32. font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Variable", "Segoe UI", system-ui, ui-sans-serif, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  33. color-scheme: light dark;
  34. position: absolute;
  35. overflow: hidden;
  36. font-size: 14px;
  37. width: 100%;
  38. height: 100%;
  39. margin: 0;
  40. display: grid;
  41. grid-template-rows: min-content min-content 1fr min-content;
  42. grid-template-columns: min-content min-content 1fr min-content;
  43. }
  44. html:has(.geFullscreen),
  45. .geEditor,
  46. .mxWindow,
  47. .geDialogTitle,
  48. .geShapePicker,
  49. .geDialogFooter,
  50. .geSidebarTooltip {
  51. background-color: light-dark(var(--ge-panel-color), var(--ge-dark-panel-color));
  52. }
  53. .geEditor>svg,
  54. div[id*="dgeMermaidOutput-"] {
  55. position: absolute;
  56. margin: -9999px 0 0 -9999px;
  57. z-index: -1;
  58. }
  59. .geEditor>#geInfo {
  60. grid-column: 1 / -1;
  61. grid-row: 1 / -1;
  62. }
  63. .geSimpleMainMenu,
  64. .geEditor>.geMenubarContainer {
  65. grid-column: 1 / -1;
  66. grid-row: 1;
  67. width: 100%;
  68. height: 60px;
  69. margin-top: 4px;
  70. }
  71. .geCompactMode .geAppIcon,
  72. .geCompactMode .geFilenameContainer,
  73. .geSimple .geMenubarContainer:not(.geMinimal *),
  74. .geCompactMode .geButtonContainer:not(.geAtlas *, .geEmbed *),
  75. .geSimple>.geToolbarContainer:not(.geSimpleMainMenu, .geSketch *),
  76. .geSketch>.geToolbarContainer:has(.geToolbar) {
  77. display: none;
  78. }
  79. .geEditor.geAtlas>.geMenubarContainer,
  80. .geEditor.geCompactMode>.geMenubarContainer {
  81. margin-top: 0;
  82. height: 30px;
  83. }
  84. .geEditor.geCompactMode>.geToolbarContainer:not(.geSketch *, .geAtlas *) {
  85. padding-left: 8px;
  86. }
  87. .geEditor.geSimple>.geToolbarContainer:not(.geVerticalToolbar) {
  88. padding: 0 10px;
  89. height: 50px;
  90. }
  91. .geEditor.geSketch>.geToolbarContainer:not(.geVerticalToolbar) {
  92. height: 44px;
  93. }
  94. .geSketchMainMenu {
  95. left: 10px;
  96. top: 10px;
  97. }
  98. .geEditor:not(.geSimple) .geSimpleMainMenu {
  99. display: none;
  100. }
  101. .geEditor.geCompactMode>.geMenubarContainer>.geMenubar {
  102. padding-left: 4px;
  103. top: 0;
  104. }
  105. .geToolbarContainer:not(.geVerticalToolbar) {
  106. height: 38px;
  107. }
  108. .geEditor>.geToolbarContainer:not(.geSketch *) {
  109. grid-column: 1 / -1;
  110. grid-row: 2;
  111. padding: 0 8px 0 16px;
  112. width: 100%;
  113. }
  114. .geEditor.geClassic>.geToolbarContainer {
  115. border-top-style: solid;
  116. border-top-width: 1px;
  117. border-bottom-style: solid;
  118. border-bottom-width: 1px;
  119. }
  120. .geEditor>.geSidebarContainer:not(.geFormatContainer) {
  121. min-height: 0;
  122. grid-column: 1;
  123. grid-row: 3;
  124. }
  125. .geEditor>.geSidebarContainer.geFormatContainer {
  126. min-height: 0;
  127. grid-column: 4;
  128. grid-row: 3;
  129. }
  130. .geEditor>.geHsplit {
  131. grid-column: 2;
  132. grid-row: 3;
  133. z-index: 2;
  134. }
  135. .geEditor>.geDiagramContainer {
  136. min-height: 0;
  137. margin-left: -10px;
  138. grid-column: 3;
  139. grid-row: 3;
  140. }
  141. .geEmbedInline>div.geDiagramContainer {
  142. margin-left: 0;
  143. }
  144. .geInlineNoUi .geToolbarContainer,
  145. .geInlineNoUi .mxWindow {
  146. display: none !important;
  147. }
  148. .geEditor>.geTabContainer {
  149. grid-column: 1 / -1;
  150. grid-row: 4;
  151. width: 100%;
  152. }
  153. .geSmallAppIcon {
  154. padding: 0 4px 0 8px;
  155. }
  156. .geAtlas .geSmallAppIcon {
  157. padding-left: 8px;
  158. }
  159. .geAppIcon {
  160. display: block;
  161. position: absolute;
  162. top: 10px;
  163. left: 16px;
  164. width: 32px;
  165. height: 36px;
  166. border-radius: 4px;
  167. background-color: rgb(240, 135, 5);
  168. background-position: center center;
  169. background-repeat: no-repeat;
  170. transition: 0.1s linear;
  171. cursor: pointer;
  172. background-size: 100%;
  173. opacity: 0.9;
  174. }
  175. .geMenubar {
  176. top: 28px;
  177. width: 100%;
  178. height: 30px;
  179. display: flex;
  180. position: absolute;
  181. align-items: center;
  182. box-sizing: border-box;
  183. padding: 0px 2px 0px 58px;
  184. }
  185. .geFilenameContainer {
  186. position: absolute;
  187. right: 260px;
  188. left: 60px;
  189. top: 4px;
  190. height: 26px;
  191. display: block;
  192. margin-left: 0px;
  193. overflow: hidden;
  194. text-overflow: ellipsis;
  195. }
  196. .geFilename {
  197. padding: 3px 4px;
  198. display: inline;
  199. font-size: 18px;
  200. cursor: pointer;
  201. white-space: nowrap;
  202. }
  203. .geEditor,
  204. .geEditor tr.mxPopupMenuItemHover,
  205. .geEditor tr.mxPopupMenuItem {
  206. color: light-dark(var(--text-color), var(--dark-text-color));
  207. }
  208. :where(.geEditor *):not(svg *, .mxCellEditor *, .mxRubberband) {
  209. border-color: light-dark(var(--border-color), var(--dark-border-color));
  210. }
  211. :where(.geEditor button):not(svg *),
  212. :where(.geEditor select):not(svg *),
  213. :where(.geEditor input):not(svg *),
  214. :where(.geEditor textarea):not(svg *) {
  215. color: light-dark(var(--text-color), var(--dark-text-color));
  216. background-color: transparent;
  217. border: 1px solid;
  218. border-radius: 4px;
  219. padding: 2px;
  220. }
  221. .geEditor input:not(svg *, .geButton) {
  222. background-color: light-dark(white, var(--dark-toolbar-color));
  223. }
  224. .geHsplit {
  225. background: linear-gradient(light-dark(var(--dark-accent-text-color), var(--accent-text-color)), light-dark(var(--dark-accent-text-color), var(--accent-text-color))) no-repeat left/2px 100%;
  226. transition: opacity 0.1s linear 0.1s;
  227. cursor: ew-resize;
  228. width: 10px;
  229. opacity: 0;
  230. }
  231. .geHsplit:hover {
  232. opacity: 1;
  233. }
  234. .geDialog .geToolbarContainer,
  235. .geSketch .geToolbarContainer:not(.mxWindow *) {
  236. position: absolute;
  237. }
  238. .geSketch .geHsplit,
  239. .geSketch .geTabContainer {
  240. display: none;
  241. }
  242. .geSketch .geToolbarContainer:not(.geDialog *, .mxWindow *),
  243. .geSketch .mxWindow,
  244. .geEditor.geMinimal .mxPopupMenu,
  245. .geMinimal .mxWindow,
  246. .geMinimal .geTabItem {
  247. background-color: light-dark(var(--toolbar-color), var(--dark-toolbar-color));
  248. }
  249. .geMinimal .geMenubarContainer,
  250. .geToolbar {
  251. display: flex;
  252. align-items: center;
  253. flex-grow: 1;
  254. }
  255. .geMinimal .geMenubarContainer {
  256. border-bottom-style: solid;
  257. border-bottom-width: 1px;
  258. box-sizing: border-box;
  259. padding: 8px;
  260. height: 48px;
  261. margin: 0;
  262. }
  263. .geToolbarContainer,
  264. .geFormatTitleContainer {
  265. margin: 0;
  266. display: flex;
  267. box-sizing: border-box;
  268. align-items: center;
  269. }
  270. .geFormatTitleContainer {
  271. justify-content: center;
  272. }
  273. .geButton,
  274. .geHelpIcon:not(.geTitle *),
  275. .mxPopupMenuItem>div:not(:has(img)),
  276. .geTitle,
  277. .geBtnStepper>div {
  278. position: relative;
  279. }
  280. .geFreehandMode,
  281. .geFreehandMode * {
  282. cursor: crosshair !important;
  283. }
  284. .geDarkMode .geButton,
  285. .geDarkMode .geHelpIcon:not(.geTitle *),
  286. .geDarkMode .mxPopupMenuItem>div:not(:has(img)),
  287. .geDarkMode .geButtonContainer .geButton.geRoundButton img:not(.geAdaptiveAsset),
  288. .geDarkMode .geAdaptiveAsset,
  289. .geDarkMode .geTitle,
  290. .geDarkMode .geBtnStepper>div,
  291. .geDarkMode .geColorDropper,
  292. .geDarkMode .geStyleMenuItem,
  293. .geDarkMode .gePropHeader,
  294. .geDarkMode .geStyleBtn .geAdaptiveAsset.geArrow,
  295. .geAtlas .geMenubar .geButtonContainer .geButton:empty,
  296. .geAtlas .geMenubar .geButtonContainer .geButton .geAdaptiveAsset:not(.geDarkMode *),
  297. .geAtlas .geMenubar .geButtonContainer .geButton img:last-child {
  298. filter: invert(1);
  299. outline: none;
  300. }
  301. .geDarkMode .geStyleBtn .geAdaptiveAsset.geArrow {
  302. color: black;
  303. }
  304. .geDarkMode .geButtonContainer .geButton.geRoundButton img:last-child {
  305. filter: none;
  306. }
  307. .geMinimal .geButtonContainer .geButton {
  308. margin: 0;
  309. }
  310. .gePrimaryBtn {
  311. background-color: light-dark(var(--primary-color), var(--dark-accent-color));
  312. box-shadow: none;
  313. border: none;
  314. }
  315. .geFormatTitleContainer {
  316. height: 34px;
  317. margin-bottom: 12px;
  318. }
  319. .geFormatTitle {
  320. background: light-dark(var(--inactive-color), black);
  321. border-bottom-style: solid;
  322. border-left-style: solid;
  323. border-width: 1px;
  324. display: inline-flex;
  325. text-overflow: ellipsis;
  326. justify-content: center;
  327. align-items: center;
  328. overflow: hidden;
  329. font-size: 13px;
  330. cursor: pointer;
  331. height: 100%;
  332. flex: 1;
  333. }
  334. .geFormatTitle.geActiveFormatTitle {
  335. background: transparent;
  336. border-bottom-style: none;
  337. }
  338. .geFormatTitle:first-child {
  339. border-left-style: none;
  340. }
  341. .geTitle,
  342. .geFormatTitle>div {
  343. font-weight: 500;
  344. }
  345. .geFormatTitle>div {
  346. display: inline;
  347. text-align: center;
  348. white-space: nowrap;
  349. width: 100%;
  350. overflow: hidden;
  351. text-overflow: ellipsis;
  352. padding: 6px;
  353. }
  354. .gePageTab>div.geButton {
  355. width: 20px !important;
  356. }
  357. .gePageTab:hover {
  358. background-color: light-dark(var(--highlight-color), var(--dark-border-color));
  359. opacity: 1;
  360. }
  361. .geFormatContent {
  362. margin-left: 12px;
  363. margin-right: 8px;
  364. }
  365. div.geActivePage {
  366. background-color: light-dark(var(--accent-color), var(--dark-accent-color));
  367. color: light-dark(var(--accent-text-color), var(--dark-accent-text-color));
  368. }
  369. div.geActivePage:hover {
  370. background-color: light-dark(var(--accent-hover-color), var(--dark-active-accent-color));
  371. }
  372. .geGraphStylePreview {
  373. position: relative;
  374. display: inline-flex;
  375. align-items: center;
  376. justify-content: center;
  377. width: 88px;
  378. height: 76px;
  379. cursor: pointer;
  380. margin: 2px 6px;
  381. overflow: hidden;
  382. border-radius: 8px;
  383. opacity: 0.7;
  384. }
  385. .geSwitcher {
  386. display: flex;
  387. align-items: center;
  388. justify-content: center;
  389. white-space: nowrap;
  390. position: relative;
  391. }
  392. .geSwitcher>.geSwitcherDot {
  393. display: inline-block;
  394. width: 6px;
  395. height: 6px;
  396. margin-left: 4px;
  397. margin-right: 3px;
  398. border-radius: 3px;
  399. cursor: pointer;
  400. border: 1px solid rgb(181, 182, 183);
  401. }
  402. .geGraphStylePreview>div {
  403. position: relative;
  404. pointer-events: none;
  405. width: 60px;
  406. height: 60px;
  407. }
  408. .mxPopupMenuIcon img,
  409. .geStyleBtn .geAdaptiveAsset,
  410. .geGraphStylePreview:active {
  411. opacity: 0.75;
  412. }
  413. .geSidebarContainer:has(.geSidebarFooter)>div:first-child {
  414. position: relative;
  415. overflow: hidden auto;
  416. left: 0px;
  417. top: 0px;
  418. right: 0px;
  419. box-sizing: border-box;
  420. max-height: calc(100% - 44px);
  421. }
  422. .geSidebarFooter {
  423. position: absolute;
  424. overflow: hidden;
  425. display: inline-flex;
  426. align-items: center;
  427. justify-content: center;
  428. max-height: 100%;
  429. padding-top: 2px;
  430. height: 44px;
  431. width: 100%;
  432. }
  433. .geSidebarFooter .gePrimaryBtn {
  434. padding: 8px 12px;
  435. margin: 0px;
  436. }
  437. .geSidebarFooter .gePrimaryBtn span {
  438. font-size: 18px;
  439. margin-right: 5px;
  440. }
  441. html body.geEditor .gePrimaryBtn:hover:not([disabled]) {
  442. background-color: light-dark(var(--primary-hover-color), var(--dark-active-accent-color));
  443. box-shadow: none;
  444. border: none;
  445. }
  446. .geStatus {
  447. padding: 4px 8px;
  448. overflow: hidden;
  449. text-overflow: ellipsis;
  450. }
  451. .geButtonGroup {
  452. display: inline-flex;
  453. align-items: center;
  454. height: 24px;
  455. border-radius: 6px;
  456. margin-right: 6px;
  457. padding: 3px 8px;
  458. box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .11), inset 0 -1px 0 0 rgba(0, 0, 0, .08), 0 1px 2px 0 rgba(0, 0, 0, .04);
  459. }
  460. .geDarkMode .geButtonGroup {
  461. border-style: solid;
  462. border-width: 1px;
  463. }
  464. .geButtonGroup .geButton {
  465. background-size: 22px;
  466. margin: 0 4px;
  467. }
  468. .geTabItem.geTabZoom {
  469. position: absolute;
  470. display: flex;
  471. align-items: center;
  472. justify-content: center;
  473. padding-right: 16px;
  474. width: 50px;
  475. right: 0px;
  476. bottom: 0px;
  477. box-sizing: content-box;
  478. background-position: right 6px center;
  479. background-repeat: no-repeat;
  480. background-size: 13px;
  481. z-index: 1;
  482. cursor: pointer;
  483. }
  484. .geButton>span {
  485. overflow: hidden;
  486. text-overflow: ellipsis;
  487. font-size: 13px;
  488. }
  489. html body.geSimple .mxWindow {
  490. z-index: 3;
  491. font-size: 12px;
  492. }
  493. html body.geSimple table.mxWindow {
  494. font-size: 12px;
  495. }
  496. .geSimple .geStatus>div {
  497. max-width: 100%;
  498. box-sizing: border-box;
  499. text-overflow: ellipsis;
  500. }
  501. .geSimple .geBtn button {
  502. min-width: 72px !important;
  503. }
  504. .geSimple div.geToolbarContainer a.geButton:not(.geSketch *) {
  505. margin: 0px;
  506. padding: 0 2px 4px 2px;
  507. }
  508. html body.geSimple div.geToolbarContainer a.geColorBtn {
  509. margin: 2px;
  510. }
  511. .geToolbarContainer.geDialogToolbar {
  512. position: absolute;
  513. bottom: 0px;
  514. left: 0px;
  515. right: 0px;
  516. height: 32px;
  517. overflow: hidden;
  518. padding: 3px 4px 4px;
  519. border-width: 1px 0px 0px;
  520. border-style: solid;
  521. white-space: nowrap;
  522. }
  523. .geSimpletable.mxWindow td.mxWindowPane button.geColorBtn {
  524. padding: 0px;
  525. box-sizing: border-box;
  526. }
  527. html body.geSimple .geMenuItem {
  528. font-size: 14px;
  529. text-decoration: none;
  530. font-weight: normal;
  531. padding: 6px 10px 6px 10px;
  532. border: none;
  533. border-radius: 5px;
  534. color: light-dark(#353535, #cccccc);
  535. box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .11), inset 0 -1px 0 0 rgba(0, 0, 0, .08), 0 1px 2px 0 rgba(0, 0, 0, .04);
  536. }
  537. html body div.mxPopupMenu {
  538. border-radius: 5px;
  539. border: 1px solid #c0c0c0;
  540. padding: 5px 0 5px 0;
  541. box-shadow: 0px 4px 17px -4px rgba(96, 96, 96, 1);
  542. }
  543. html table.mxPopupMenu td.mxPopupMenuItem {
  544. font-size: 14px;
  545. padding-top: 4px;
  546. padding-bottom: 4px;
  547. }
  548. html tr.mxPopupMenuItem,
  549. html td.mxPopupMenuItem {
  550. transition-property: none !important;
  551. }
  552. html body td.mxWindowTitle {
  553. padding-right: 14px;
  554. }
  555. html body.geEditor.geDarkMode *,
  556. html body .mxWindow.geDarkMode {
  557. box-shadow: none !important;
  558. }
  559. html body.geDarkMode .mxCellEditor {
  560. color: #f0f0f0;
  561. }
  562. html body.geDarkMode.geEditor div.mxPopupMenu {
  563. border: 1px solid var(--dark-border-color);
  564. background-color: var(--ge-dark-panel-color);
  565. }
  566. html body.geDarkMode.geEditor div.mxPopupMenu.geToolbarMenu {
  567. box-shadow: 0px 0px 3px 1px #d1d1d1;
  568. }
  569. .geTabContainer {
  570. border-left-color: var(--dark-border-color);
  571. border-right-color: var(--dark-border-color);
  572. }
  573. html body.geDarkMode.geEditor div.mxPopupMenu hr {
  574. background-color: var(--dark-border-color);
  575. }
  576. .geDragPreview {
  577. border: 1px dashed light-dark(black, #cccccc);
  578. }
  579. .geEditor .geTemplate {
  580. box-sizing: border-box;
  581. display: inline-flex;
  582. align-items: center;
  583. justify-content: center;
  584. border-radius: 12px;
  585. position: relative;
  586. cursor: pointer;
  587. margin: 5px;
  588. height: 135px;
  589. width: 135px;
  590. font-size: 14pt;
  591. border-width: 2px;
  592. border-style: dashed;
  593. border-color: transparent;
  594. }
  595. .geTemplate.geTemplateSelected {
  596. border-color: light-dark(var(--dark-accent-text-color), var(--accent-text-color));
  597. }
  598. div.geTemplatePreview {
  599. position: absolute;
  600. display: inline-flex;
  601. background-origin: content-box;
  602. background-size: contain;
  603. background-repeat: no-repeat;
  604. background-position: center center;
  605. opacity: 0.7;
  606. padding: 8px;
  607. width: 100%;
  608. height: 100%;
  609. box-sizing: border-box;
  610. }
  611. .geTemplate:has(span) .geTemplatePreview {
  612. opacity: 0.2;
  613. }
  614. .geTemplateSelected .geTemplatePreview {
  615. opacity: 1 !important;
  616. }
  617. .geTemplate span {
  618. position: absolute;
  619. display: inline-block;
  620. padding: 2px 8px;
  621. user-select: none;
  622. border-radius: 8px;
  623. background: rgba(255, 255, 255, 0.7);
  624. max-width: 80%;
  625. overflow: hidden;
  626. text-overflow: ellipsis;
  627. line-height: 1.3em;
  628. text-align: center;
  629. }
  630. .geGenerateDiagramForm {
  631. position: absolute;
  632. width: 100%;
  633. height: 100%;
  634. }
  635. .geGenerateDiagramDescription {
  636. position: absolute;
  637. font-family: sans-serif;
  638. outline: none;
  639. inset: 0px 0px 38px;
  640. resize: none;
  641. font-size: 12px;
  642. border: none;
  643. margin: 8px;
  644. }
  645. .geBtn.geGenerateDiagramButton {
  646. position: absolute;
  647. bottom: 0px;
  648. right: 0px;
  649. left: 0px;
  650. margin: 8px;
  651. }
  652. .geTemplateSelected:has(div) span {
  653. display: none;
  654. }
  655. .geEditor .geTemplate .geButton.geRoundButton {
  656. position: absolute;
  657. background: white;
  658. margin: 0;
  659. padding: 2px;
  660. opacity: 1 !important;
  661. width: 16px;
  662. height: 16px;
  663. right: 0px;
  664. top: 0px;
  665. }
  666. .geTemplate .geGenerateDiagramForm .geButton.geRoundButton {
  667. margin: -6px -6px 0 0;
  668. padding: 2px !important;
  669. }
  670. .geDarkMode .geTemplate {
  671. color: #000000;
  672. }
  673. html body.geDarkMode.geEditor button.geAdaptiveAsset:hover:not([disabled]) {
  674. background-color: #fff;
  675. }
  676. html body.geDarkMode.geEditor button.geAdaptiveAsset:not([disabled]) {
  677. border-color: #a2a2a2;
  678. }
  679. .geDarkMode .geInsertTablePicker,
  680. .geDarkMode .geInsertTablePicker * {
  681. border-color: var(--dark-border-color);
  682. }
  683. html body.geDarkMode .geSketch .geToolbarContainer {
  684. border-style: solid;
  685. }
  686. body.geDarkMode .geInverseAdaptiveAsset,
  687. .geDarkMode .geCommentUserImg {
  688. filter: none !important
  689. }
  690. .geAdaptiveAsset {
  691. background-position: center center;
  692. background-repeat: no-repeat;
  693. background-size: 100% 100%;
  694. }
  695. html body.geDarkMode .geFooterContainer,
  696. html body.geDarkMode .geFooterContainer td {
  697. border-color: var(--dark-border-color);
  698. }
  699. html body.geDarkMode .geFooterContainer a {
  700. background-color: none;
  701. }
  702. html body.geDarkMode .geBigStandardButton {
  703. border: 1px solid var(--dark-border-color);
  704. }
  705. html body.geDarkMode .geFooterContainer td:hover,
  706. html body.geDarkMode #geFooterItem1:hover,
  707. html body.geDarkMode .geBigStandardButton:hover {
  708. background-color: #000000;
  709. }
  710. html body.geDarkMode.geEditor table.mxPopupMenu tr.mxPopupMenuItemHover {
  711. background-color: #000000;
  712. }
  713. html body.geDarkMode.geEditor .geBaseButton:hover {
  714. background-color: var(--dark-color);
  715. }
  716. html body.geDarkMode .geToolbarContainer .geSeparator {
  717. background-color: var(--dark-border-color);
  718. }
  719. html body.geDarkMode table.mxPopupMenu hr {
  720. border-color: var(--dark-border-color);
  721. background-color: var(--dark-color);
  722. }
  723. html body.geDarkMode .geDialog,
  724. html body.geDarkMode div.mxWindow,
  725. html body div.mxWindow.geDarkMode {
  726. background-color: #2a2a2a;
  727. border-color: #838383;
  728. box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4), 0 2px 8px rgba(0, 0, 0, 0.3);
  729. }
  730. html .geDarkMode .geCommentContainer {
  731. background-color: transparent;
  732. border-width: 1px;
  733. color: inherit;
  734. }
  735. .mxCellEditor {
  736. font-family: initial;
  737. }
  738. .geDialog,
  739. html div.mxWindow,
  740. .geSketch .geToolbarContainer:not(.geDialog *, .mxWindow *) {
  741. border-radius: 12px;
  742. box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08);
  743. }
  744. .geSketch .geToolbarContainer:not(.geDialog *, .mxWindow *) {
  745. border-style: solid;
  746. border-width: 1px;
  747. padding: 6px;
  748. }
  749. div td.mxWindowTitle {
  750. border-bottom-style: solid;
  751. border-bottom-width: 1px;
  752. font-size: 13px;
  753. height: 22px;
  754. }
  755. .mxWindowTitle>div>img {
  756. padding: 4px;
  757. }
  758. /* Dock preview overlay shown during window drag */
  759. .geDockPreview {
  760. position: fixed;
  761. z-index: 9999;
  762. background-color: rgba(41, 182, 242, 0.15);
  763. border: 2px solid rgba(41, 182, 242, 0.6);
  764. pointer-events: none;
  765. display: none;
  766. transition: opacity 0.15s ease-in-out;
  767. box-sizing: border-box;
  768. }
  769. /* Docked window styles */
  770. html div.mxWindow.mxWindowDocked {
  771. z-index: 2 !important;
  772. }
  773. .geBackground {
  774. background-color: light-dark(rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.5));
  775. position: absolute;
  776. top: 0px;
  777. left: 0px;
  778. right: 0px;
  779. bottom: 0px;
  780. opacity: 1;
  781. backdrop-filter: blur(2px);
  782. }
  783. .geDialog,
  784. .geBackground,
  785. .geEditor .picker-dialog,
  786. .geEditor .picker-dialog-bg {
  787. z-index: 10002;
  788. }
  789. .geEditor input[type=text]::-ms-clear {
  790. display: none;
  791. }
  792. .geButtonContainer {
  793. padding-right: 14px;
  794. display: inline-flex;
  795. align-items: center;
  796. margin-left: auto;
  797. flex-shrink: 0;
  798. }
  799. .geMenubar .geButtonContainer {
  800. margin-top: -42px;
  801. }
  802. .geToolbarContainer .geButtonContainer {
  803. padding-right: 0px;
  804. }
  805. .geButtonContainer .gePrimaryBtn:not(.geEmbedBtn) {
  806. margin: 0 4px;
  807. width: auto;
  808. height: 32px;
  809. }
  810. .geButtonContainer .gePrimaryBtn .geButton {
  811. background-position: left center;
  812. padding: 0 2px 0 24px;
  813. width: auto;
  814. }
  815. .geEditor .geTabItem {
  816. border-width: 1px;
  817. border-top-style: solid;
  818. }
  819. .geEditor div.mxTooltip {
  820. background-color: light-dark(var(--ge-panel-color), var(--ge-dark-panel-color));
  821. color: light-dark(var(--text-color), var(--dark-text-color));
  822. box-shadow: 1px 1px 2px 0px #ddd;
  823. font-size: 11px;
  824. padding: 6px;
  825. }
  826. .geSimpleMainMenu {
  827. justify-content: start;
  828. border-bottom-style: solid;
  829. border-bottom-width: 1px;
  830. padding: 0 12px;
  831. height: 48px;
  832. gap: 8px;
  833. top: 0px;
  834. }
  835. .geSimpleMainMenu .geButton:not(.geZoomInput) {
  836. background-size: 24px;
  837. }
  838. .geSketch .geToolbarContainer .geButton:not(.geZoomInput, .gePageMenu, .geFooterToolbar *) {
  839. background-size: 22px;
  840. }
  841. .geSketch .geFooterToolbar:not(.geEmbedInline *) {
  842. bottom: 12px;
  843. right: 12px;
  844. }
  845. .geSketch .geFooterToolbar>* {
  846. margin: 0;
  847. }
  848. .geSketchMainMenu {
  849. left: 10px;
  850. top: 10px;
  851. }
  852. .geEmbed .geMenubarContainer:not(.geMinimal *) {
  853. padding: 0 28px 0 16px;
  854. }
  855. .geEditor.geClassic .geMenubarContainer {
  856. padding-left: 4px;
  857. }
  858. .geSidebarContainer a,
  859. .geMenubarContainer a,
  860. .geToolbar a {
  861. text-decoration: none;
  862. }
  863. .geMenubarContainer,
  864. .geToolbarContainer,
  865. .geDiagramContainer,
  866. .geSidebarContainer {
  867. overflow: hidden;
  868. white-space: nowrap;
  869. position: relative;
  870. }
  871. div.geFormatContainer {
  872. overflow-y: auto;
  873. font-size: 12px;
  874. width: 240px;
  875. }
  876. .geDiagramContainer {
  877. background-color: light-dark(var(--workspace-color), var(--ge-dark-panel-color));
  878. font-size: 0px;
  879. outline: none;
  880. }
  881. .geDiagramContainer:has(.geRuler) {
  882. margin: 14px 0 0 4px;
  883. }
  884. .geSketch .geDiagramContainer:has(.geRuler),
  885. .geMinimal .geDiagramContainer:has(.geRuler) {
  886. margin-left: 14px;
  887. }
  888. .geRuler {
  889. background: light-dark(#ffffff, var(--dark-color));
  890. }
  891. .geBackgroundPage {
  892. box-shadow: 0px 0px 3px 0px #a0a0a0;
  893. }
  894. .geEditor .geHint {
  895. background-color: light-dark(var(--ge-panel-color), var(--ge-dark-panel-color));
  896. border-color: light-dark(var(--border-color), var(--dark-border-color));
  897. box-shadow: 1px 1px 2px 0px #ddd;
  898. border-style: solid;
  899. border-width: 1px;
  900. padding: 4px 16px 4px 16px;
  901. border-radius: 3px;
  902. opacity: 0.8;
  903. font-size: 9pt;
  904. }
  905. .geHint img {
  906. opacity: 0.7;
  907. }
  908. .geStatus>* {
  909. overflow: hidden;
  910. white-space: nowrap;
  911. vertical-align: middle;
  912. display: inline-block;
  913. font-size: 12px;
  914. }
  915. .geStatus {
  916. display: inline-flex;
  917. align-items: center;
  918. white-space: nowrap;
  919. min-width: 0;
  920. height: 100%;
  921. }
  922. .geStatus *[data-action] {
  923. cursor: pointer;
  924. }
  925. .geStatus img {
  926. max-width: 16px;
  927. vertical-align: bottom;
  928. }
  929. .geStatus div {
  930. border-radius: 4px;
  931. }
  932. .geStatus div+div {
  933. margin-left: 8px;
  934. }
  935. .geStatus .geStatusBox {
  936. font-size: 10px;
  937. padding: 2px 4px;
  938. border-style: solid;
  939. border-width: 1px;
  940. }
  941. .geStatus .geStatusAlert {
  942. padding: 4px 10px;
  943. background-color: light-dark(#eacccc, #a20025);
  944. color: light-dark(#b62623, white) !important;
  945. }
  946. .geStatusDiv {
  947. text-overflow: ellipsis;
  948. display: inline-block;
  949. white-space: nowrap;
  950. overflow: hidden;
  951. flex-shrink: 0;
  952. }
  953. .geEmbed.geMinimal .geMenubarContainer .geStatusDiv {
  954. flex-shrink: 1;
  955. min-width: 0;
  956. }
  957. .geEmbed.geMinimal .geMenubarContainer .geButtonGroup {
  958. flex-shrink: 1;
  959. overflow: hidden;
  960. min-width: 0;
  961. }
  962. .geEmbed.geAtlas>.geMenubarContainer>.geStatusDiv,
  963. .geClassic.geEmbed.geCompactMode>.geMenubarContainer>.geStatusDiv {
  964. position: fixed;
  965. right: 16px;
  966. top: 6px;
  967. }
  968. .geClassic.geEmbed.geCompactMode>.geMenubarContainer>.geStatusDiv {
  969. top: 6px;
  970. }
  971. .geEmbed.geAtlas>.geMenubarContainer>.geStatusDiv {
  972. top: 12px;
  973. }
  974. html body div.geBtn.geSmallBanner {
  975. border-radius: 20px;
  976. font-size: inherit;
  977. padding: 6px 12px 6px 20px;
  978. display: flex;
  979. height: auto;
  980. bottom: 4px;
  981. }
  982. .geSpinnerStatus {
  983. position: absolute;
  984. white-space: nowrap;
  985. border-radius: 6px;
  986. color: #ffffff;
  987. background: #4B4243;
  988. transform: translate(-50%, -50%);
  989. box-shadow: light-dark(#dddddd, transparent) 2px 2px 3px 0px;
  990. padding: 6px 10px;
  991. font-size: 9pt;
  992. z-index: 2000000000;
  993. max-width: 60%;
  994. overflow: hidden;
  995. text-overflow: ellipsis;
  996. cursor: default;
  997. }
  998. .geSmallBanner .geLibraryButton {
  999. background-color: light-dark(var(--primary-hover-color), var(--dark-active-accent-color));
  1000. filter: brightness(0.9);
  1001. margin-left: 6px;
  1002. opacity: 0.5;
  1003. }
  1004. .geSmallBanner .geLibraryButton:hover {
  1005. background-color: light-dark(var(--primary-hover-color), var(--dark-active-accent-color));
  1006. opacity: 1;
  1007. }
  1008. .geAlert {
  1009. position: absolute;
  1010. white-space: nowrap;
  1011. padding: 14px;
  1012. background-color: #f2dede;
  1013. border: 1px solid #ebccd1;
  1014. color: #a94442;
  1015. border-radius: 3px;
  1016. -webkit-box-shadow: 2px 2px 3px 0px #ddd;
  1017. -moz-box-shadow: 2px 2px 3px 0px #ddd;
  1018. box-shadow: 2px 2px 3px 0px #ddd;
  1019. }
  1020. .geColorDropper {
  1021. position: relative;
  1022. cursor: pointer;
  1023. width: auto;
  1024. height: 14px;
  1025. opacity: 0.7;
  1026. right: -20px;
  1027. top: -1px;
  1028. }
  1029. .geBtn {
  1030. display: inline-flex;
  1031. align-items: center;
  1032. justify-content: center;
  1033. font-size: 14px;
  1034. font-weight: 550;
  1035. height: 30px;
  1036. margin: 0 0 0 8px;
  1037. min-width: 72px;
  1038. outline: 0;
  1039. padding: 0 8px;
  1040. text-overflow: ellipsis;
  1041. white-space: nowrap;
  1042. overflow: hidden;
  1043. }
  1044. .geBtn.geBanner {
  1045. display: block;
  1046. position: absolute;
  1047. bottom: 10px;
  1048. left: 50%;
  1049. max-width: 90%;
  1050. white-space: nowrap;
  1051. cursor: pointer;
  1052. font-size: 16px;
  1053. padding: 18px 34px 30px 20px;
  1054. font-weight: bold;
  1055. transform: translate(-50%, 0%);
  1056. transition: 1000ms;
  1057. box-shadow: rgb(221, 221, 221) 1px 1px 2px 0px;
  1058. }
  1059. .geBtn:hover:not([disabled]),
  1060. .geBtn:focus {
  1061. box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
  1062. }
  1063. .geShapePicker {
  1064. position: absolute;
  1065. width: 142px;
  1066. border-radius: 10px;
  1067. border-style: solid;
  1068. border-width: 1px;
  1069. padding: 6px 0 8px 0;
  1070. text-align: center;
  1071. box-shadow: 0px 0px 3px 1px #d1d1d1;
  1072. white-space: normal;
  1073. }
  1074. .geBtnStepper {
  1075. display: inline-block;
  1076. border-radius: 3px;
  1077. border-style: solid;
  1078. border-width: 1px;
  1079. }
  1080. .geBtnStepper>div {
  1081. background-position: center center;
  1082. background-repeat: no-repeat;
  1083. background-size: 18px;
  1084. position: relative;
  1085. padding: 1px 0 0 0;
  1086. }
  1087. .geBtnStepper>div:active {
  1088. background-color: #4d90fe;
  1089. }
  1090. .geColorBtn {
  1091. padding: 0px;
  1092. }
  1093. .geStyleBtn {
  1094. display: inline-flex;
  1095. box-sizing: border-box;
  1096. border-radius: 4px;
  1097. height: 22px;
  1098. width: 64px;
  1099. border-width: 1px;
  1100. border-style: solid;
  1101. margin: 2px;
  1102. padding: 0;
  1103. }
  1104. .geStyleBtn>span {
  1105. position: absolute;
  1106. display: block;
  1107. text-align: center;
  1108. top: 3px;
  1109. left: 3px;
  1110. right: 13px;
  1111. overflow: hidden;
  1112. text-overflow: ellipsis;
  1113. }
  1114. .geStyleBtn .geAdaptiveAsset {
  1115. background-size: 18px 18px;
  1116. flex-grow: 1;
  1117. }
  1118. .geStyleBtn .geAdaptiveAsset>div.gePatternPreview {
  1119. height: 1px;
  1120. border-color: black;
  1121. border-width: 1px;
  1122. margin-left: -6px;
  1123. }
  1124. .geStyleMenuItem {
  1125. display: flex;
  1126. align-items: center;
  1127. padding: 4px 8px;
  1128. }
  1129. .geStyleBtn .geAdaptiveAsset>div {
  1130. background-repeat: no-repeat;
  1131. background-position: center;
  1132. position: absolute;
  1133. width: 100%;
  1134. height: 100%;
  1135. }
  1136. td.mxPopupMenuIcon .geStyleMenuItem {
  1137. margin: auto;
  1138. }
  1139. td.mxPopupMenuIcon .geStyleMenuItem>div {
  1140. background-position: bottom left;
  1141. background-repeat: repeat-x;
  1142. border-color: black;
  1143. border-width: 1px;
  1144. margin: 8px 0;
  1145. height: 1px;
  1146. width: 100%;
  1147. }
  1148. .geStyleBtn .geAdaptiveAsset.geArrow {
  1149. width: 100%;
  1150. height: 100%;
  1151. display: flex;
  1152. font-size: 13px;
  1153. padding-right: 8px;
  1154. position: relative;
  1155. align-items: center;
  1156. justify-content: center;
  1157. background-position: right;
  1158. box-sizing: border-box;
  1159. }
  1160. .geStyleLabel {
  1161. overflow: hidden;
  1162. text-overflow: ellipsis;
  1163. max-width: 180px;
  1164. }
  1165. .geFullWidthElement {
  1166. width: 212px;
  1167. }
  1168. .geBtn[disabled],
  1169. .geButton[disabled] {
  1170. opacity: 0.3;
  1171. }
  1172. .geButton.gePageMenu {
  1173. background-position: right center;
  1174. padding: 0 18px 0 10px;
  1175. background-size: 18px;
  1176. }
  1177. .geButton.gePageMenu>span {
  1178. padding: 0px;
  1179. max-width: 160px;
  1180. overflow: hidden;
  1181. text-overflow: ellipsis;
  1182. }
  1183. .geSimple .geButton.geZoomInput:not(.geSketch *, .geMinimal *) {
  1184. border-style: solid;
  1185. font-size: 12px;
  1186. }
  1187. .geButton.geZoomInput {
  1188. cursor: initial;
  1189. font-size: 14px;
  1190. border-style: none;
  1191. border-color: #000000;
  1192. padding: 0px 16px 0px 2px;
  1193. background-position: right 2px center;
  1194. text-align: center;
  1195. height: 28px;
  1196. width: 62px;
  1197. }
  1198. .geClassic .geZoomInput {
  1199. padding-top: 1px;
  1200. }
  1201. .geSimple .geButton.geZoomInput {
  1202. height: 20px;
  1203. }
  1204. .geSketch .geZoomInput {
  1205. border-style: none;
  1206. }
  1207. .geAlertLink {
  1208. color: #843534;
  1209. font-weight: 700;
  1210. text-decoration: none;
  1211. }
  1212. .geMenubarContainer .geItem {
  1213. border-radius: 6px;
  1214. padding: 4px 8px;
  1215. cursor: default;
  1216. }
  1217. .geEditor .geItem:active:not(.mxDisabled, [disabled]):not(.geStatus),
  1218. .geEditor .geBtn:active:not([disabled]),
  1219. .geEditor .geStatus:has(div[data-action]:not(.mxDisabled, [disabled])):active,
  1220. .geEditor .geTitle:active,
  1221. .geEditor .geButton:active:not(.mxDisabled, .mxDisabled *, [disabled], .geBtn *),
  1222. .geEditor .geHelpIcon:active,
  1223. .geEditor button:active:not([disabled], .geBigButton, .geShareBtn),
  1224. .geEditor .geFormatTitle:active,
  1225. .geEditor .geBtnStepper>div:active,
  1226. .geEditor .geTab:active:not(.mxDisabled, [disabled]),
  1227. .geDarkMode .mxPopupMenuItem>div:not(:has(img)),
  1228. .geTitle,
  1229. .geBtnStepper>div,
  1230. .geHelpIcon,
  1231. .geStatus>div:not(.geStatusAlert) {
  1232. opacity: 0.75;
  1233. }
  1234. .geEditor .geButton:not(.mxDisabled, .mxDisabled *, [disabled]) {
  1235. opacity: 0.65;
  1236. }
  1237. .geItem:hover:not(.mxDisabled, [disabled]),
  1238. .geBtn:hover:not([disabled]),
  1239. .geBtnStepper>div:hover,
  1240. .geHelpIcon:hover,
  1241. .geColorDropper:hover,
  1242. .geTitle>div>img:hover,
  1243. .geFormatTitle.geActiveFormatTitle,
  1244. .geHint img:hover,
  1245. .geGraphStylePreview:hover,
  1246. .geActiveItem:not(.geButton *, .geButton *),
  1247. .gePageTab .geButton:hover:not([disabled]),
  1248. .geButtonGroup .geButton:hover:not([disabled]),
  1249. button:hover:not([disabled], .geBigButton, .geShareBtn),
  1250. select:hover:not([disabled]),
  1251. .geColorBtn:hover:not([disabled]),
  1252. .geStyleBtn:hover:not([disabled]),
  1253. table.mxPopupMenu tr.mxPopupMenuItemHover,
  1254. .geTitle:hover,
  1255. .geButton:hover:not(.mxDisabled, .mxDisabled *, [disabled], .gePageTab *, .geSimpleMainMenu *, .geBtn *, .geButtonGroup *, .geAdaptiveAsset, .gePrimaryBtn) {
  1256. opacity: 1;
  1257. }
  1258. .gePaletteDragging .geTitle:hover {
  1259. opacity: inherit;
  1260. background-color: inherit;
  1261. }
  1262. .geTitle.gePaletteDragPlaceholder {
  1263. visibility: hidden;
  1264. }
  1265. .gePageTab.gePageTabDragPlaceholder {
  1266. visibility: hidden;
  1267. }
  1268. button:hover:not([disabled], .geBigButton, .geShareBtn),
  1269. select:hover:not([disabled]),
  1270. .geColorBtn:hover:not([disabled]),
  1271. .geStyleBtn:hover:not([disabled]),
  1272. table.mxPopupMenu tr.mxPopupMenuItemHover {
  1273. background-color: light-dark(var(--highlight-color), var(--dark-border-color));
  1274. }
  1275. .geTitle:hover,
  1276. .geButton:hover:not(.mxDisabled, .mxDisabled *, [disabled], .gePageTab *, .geSimpleMainMenu *, .geBtn *, .geButtonGroup *, .geAdaptiveAsset, .gePrimaryBtn) {
  1277. background-color: light-dark(var(--highlight-color), white);
  1278. }
  1279. .geGraphStylePreview:hover,
  1280. .geItem:hover:not([disabled]) {
  1281. background-color: light-dark(var(--highlight-color), var(--dark-highlight-color));
  1282. }
  1283. .geActiveItem:not(.geButton *, .geButton *) {
  1284. background-color: light-dark(lightgray, darkgray);
  1285. }
  1286. .mxDisabled:hover {
  1287. background-color: inherit !important;
  1288. }
  1289. a.geStatus>div {
  1290. display: inline-flex;
  1291. align-items: center;
  1292. }
  1293. .geSidebarContainer:not(.geFormatContainer, .mxWindowPane *) {
  1294. border-right-style: solid;
  1295. border-right-width: 1px;
  1296. }
  1297. .geClassic .geSidebarContainer:not(.geFormatContainer)>div {
  1298. padding: 0 4px;
  1299. }
  1300. .geFormatContainer:not(.mxWindowPane *) {
  1301. border-left-style: solid;
  1302. border-left-width: 1px;
  1303. }
  1304. .geSidebarContainer {
  1305. box-sizing: border-box;
  1306. }
  1307. .geSidebarContainer button {
  1308. text-overflow: ellipsis;
  1309. overflow: hidden;
  1310. }
  1311. .geToolbarEnd {
  1312. margin-left: 8px;
  1313. flex-grow: 0;
  1314. order: 1;
  1315. }
  1316. .geToolbarContainer.geVerticalToolbar {
  1317. flex-direction: column;
  1318. max-height: 100%;
  1319. left: 10px;
  1320. top: 50%;
  1321. transition: transform 0.1s ease-out;
  1322. }
  1323. .geToolbarContainer.geVerticalToolbar:not(.geEmbedInline *) {
  1324. transform: translate(0, -50%);
  1325. }
  1326. .geVerticalToolbar.geCollapsedToolbar {
  1327. top: auto;
  1328. bottom: 12px;
  1329. transform: none !important;
  1330. }
  1331. .geToolbarContainer.geVerticalToolbar>* {
  1332. display: flex;
  1333. overflow: visible;
  1334. margin: 2px 0;
  1335. }
  1336. .geVerticalToolbar.geCollapsedToolbar>* {
  1337. margin: 0;
  1338. width: 24px !important;
  1339. }
  1340. .geVerticalToolbar>.geButton {
  1341. width: 34px;
  1342. height: 34px;
  1343. }
  1344. .geVerticalToolbar .geItem {
  1345. position: relative;
  1346. border-radius: 6px;
  1347. }
  1348. .geShortcutKey {
  1349. position: absolute;
  1350. font-size: 8px;
  1351. opacity: 0.4;
  1352. bottom: -2px;
  1353. right: 1px;
  1354. }
  1355. .geToolbar {
  1356. height: 100%;
  1357. }
  1358. .geButton>div:not(.geShortcutKey) {
  1359. display: flex;
  1360. align-items: center;
  1361. width: 100%;
  1362. height: 100%;
  1363. background-position: left 2px center;
  1364. background-repeat: no-repeat;
  1365. background-size: 18px;
  1366. }
  1367. .geButton,
  1368. .geTitle,
  1369. .geItem {
  1370. display: inline-flex;
  1371. align-items: center;
  1372. justify-content: center;
  1373. background-position: center center;
  1374. background-repeat: no-repeat;
  1375. background-size: 18px;
  1376. white-space: nowrap;
  1377. z-index: 1;
  1378. padding: 2px;
  1379. }
  1380. .geItem {
  1381. overflow: hidden;
  1382. }
  1383. .geButton,
  1384. .geTitle {
  1385. color: black;
  1386. border-radius: 6px;
  1387. box-sizing: border-box;
  1388. margin: 2px;
  1389. }
  1390. .geSidebarText {
  1391. margin: 4px 8px;
  1392. text-align: center;
  1393. font-size: 11px;
  1394. padding: 6px 0px 0px;
  1395. text-overflow: ellipsis;
  1396. white-space: nowrap;
  1397. overflow: hidden;
  1398. cursor: default;
  1399. }
  1400. .geButton:not([disabled], .geZoomInput),
  1401. .geTitle:not([disabled]),
  1402. .geItem:not([disabled]) {
  1403. cursor: pointer;
  1404. }
  1405. .geButton {
  1406. height: 28px;
  1407. flex-shrink: 0;
  1408. flex-grow: 0;
  1409. }
  1410. .mxPopupMenuItem:empty:has(+ .mxPopupMenuItem:empty),
  1411. .mxPopupMenuItem:empty + .mxPopupMenuItem:empty {
  1412. display: none;
  1413. }
  1414. .mxPopupMenuIcon>img.geButton:empty {
  1415. width: 22px;
  1416. }
  1417. .geButton:empty:not(.geVerticalToolbar *, .geZoomInput, .geTemplate *, .geSidebarTooltip *) {
  1418. width: 28px;
  1419. }
  1420. .geButton[disabled] {
  1421. cursor: default;
  1422. }
  1423. .geShapePicker>* {
  1424. display: inline-block;
  1425. width: 30px;
  1426. height: 30px;
  1427. padding: 1px;
  1428. }
  1429. .geButton.geRoundButton:not(.geEmbed.geCompactMode .geButtonContainer .geButton) {
  1430. background-size: 24px 24px;
  1431. justify-content: center;
  1432. box-sizing: content-box;
  1433. border-radius: 50%;
  1434. padding: 6px;
  1435. }
  1436. .geSketch .geButton.geRoundButton {
  1437. padding: 4px;
  1438. }
  1439. .geRoundButton img {
  1440. width: 26px;
  1441. border-radius: 50%;
  1442. }
  1443. /* Account icon: a div with a background-image (set in App.updateButtonContainer).
  1444. The default silhouette also carries geAdaptiveAsset so it inverts in dark mode
  1445. via the generic .geDarkMode .geAdaptiveAsset rule; a real account picture
  1446. (geUserPhoto) is cover-fitted and never inverted. See #5364. The selector
  1447. outweighs ".geButton > div" (which would stretch the div to width/height 100%). */
  1448. .geButton.geRoundButton > .geUserAvatar {
  1449. width: 26px;
  1450. height: 26px;
  1451. border-radius: 50%;
  1452. background-position: center center;
  1453. background-repeat: no-repeat;
  1454. /* Scale the SVG silhouette to fill the box like the original <img> did
  1455. (.geRoundButton img { width: 26px }); without this it falls back to the
  1456. image's intrinsic 24px and renders too small. See #5364. */
  1457. background-size: contain;
  1458. }
  1459. .geButton.geRoundButton > .geUserPhoto {
  1460. background-size: cover;
  1461. }
  1462. /* In dark mode the parent .geButton already inverts its whole subtree
  1463. (.geDarkMode .geButton), which lightens the default silhouette. So the avatar
  1464. must NOT invert again via geAdaptiveAsset, or it double-inverts back to dark
  1465. (the #5364 bug). A real photo, conversely, must counter the parent invert so it
  1466. is never rendered as a negative. */
  1467. .geDarkMode .geUserAvatar.geAdaptiveAsset {
  1468. filter: none;
  1469. }
  1470. .geDarkMode .geUserPhoto {
  1471. filter: invert(1);
  1472. }
  1473. .geSeparator {
  1474. display: inline-block;
  1475. background-color: #e5e5e5;
  1476. margin-left: 6px;
  1477. margin-right: 6px;
  1478. height: 20px;
  1479. width: 1px;
  1480. }
  1481. .geHelpIcon {
  1482. width: 16px;
  1483. margin: 0 4px;
  1484. vertical-align: text-bottom
  1485. }
  1486. .geFormatSection {
  1487. padding: 6px 0;
  1488. position: relative;
  1489. white-space: nowrap;
  1490. border-top: 1px solid light-dark(#e0e0e0, #3a3a3a);
  1491. }
  1492. .geFormatSection:first-child {
  1493. border-top: none;
  1494. }
  1495. .geFormatSection:last-child {
  1496. padding-bottom: 0;
  1497. }
  1498. .geFormatSection select {
  1499. position: absolute;
  1500. text-align: center;
  1501. text-overflow: ellipsis;
  1502. height: 24px;
  1503. border-radius: 4px;
  1504. }
  1505. .geFormatSection table {
  1506. border-collapse: collapse;
  1507. border-spacing: 0;
  1508. }
  1509. .geFormatSection table td {
  1510. vertical-align: middle;
  1511. max-width: 50%;
  1512. width: 50%;
  1513. padding: 0 0 0 2px;
  1514. }
  1515. .geFormatSection table td select {
  1516. position: relative;
  1517. }
  1518. .geFormatSection *:empty:not(input),
  1519. .geToolbarContainer *:not(input) {
  1520. -webkit-user-select: none;
  1521. user-select: none;
  1522. }
  1523. .geFormatSection input:not([type="checkbox"], [type="radio"]),
  1524. .geFormatSection button {
  1525. box-sizing: border-box;
  1526. height: 24px;
  1527. border-radius: 4px;
  1528. }
  1529. .geFormatSection input:not([type="checkbox"], [type="radio"]) {
  1530. text-align: right;
  1531. }
  1532. .geFormatSectionTitle {
  1533. padding: 0px 0 6px 0;
  1534. white-space: nowrap;
  1535. overflow: hidden;
  1536. width: 210px;
  1537. font-weight: bold;
  1538. }
  1539. .geCollapsibleTitle {
  1540. cursor: pointer;
  1541. -webkit-user-select: none;
  1542. user-select: none;
  1543. display: flex;
  1544. align-items: center;
  1545. gap: 6px;
  1546. padding: 6px 0;
  1547. font-weight: bold;
  1548. font-size: 12px;
  1549. }
  1550. .geCollapsibleTitle::before {
  1551. content: '';
  1552. display: inline-block;
  1553. width: 0;
  1554. height: 0;
  1555. border-style: solid;
  1556. border-width: 4px 0 4px 6px;
  1557. border-color: transparent transparent transparent light-dark(#5f6368, #9aa0a6);
  1558. transition: transform 0.15s ease;
  1559. flex-shrink: 0;
  1560. }
  1561. .geCollapsibleTitle.geExpanded::before {
  1562. transform: rotate(90deg);
  1563. }
  1564. .geCollapsibleContent {
  1565. position: relative;
  1566. }
  1567. .geCollapsibleContent.geCollapsed {
  1568. display: none;
  1569. }
  1570. .geFormatEntry {
  1571. display: flex;
  1572. position: relative;
  1573. align-items: center;
  1574. white-space: nowrap;
  1575. overflow: hidden;
  1576. min-height: 28px;
  1577. }
  1578. .geFormatEntry .geColorBtn {
  1579. position: absolute;
  1580. left: 166px;
  1581. }
  1582. .geFormatEntry input {
  1583. box-sizing: border-box;
  1584. }
  1585. .geFormatEntry input[type="checkbox"] {
  1586. margin: 0 8px 0 0;
  1587. }
  1588. .mxWindowPane .geSidebarContainer {
  1589. position: absolute;
  1590. width: 100% !important;
  1591. top: 0;
  1592. bottom: 28px;
  1593. }
  1594. .mxWindowPane .geSidebarContainer.geFormatContainer {
  1595. bottom: 0;
  1596. }
  1597. .geEditor>div>.geMenubarContainer {
  1598. border-bottom-style: solid;
  1599. border-bottom-width: 1px;
  1600. }
  1601. .geTabContainer {
  1602. box-sizing: border-box;
  1603. white-space: nowrap;
  1604. overflow: hidden;
  1605. padding: 0 20px 0 12px;
  1606. display: flex;
  1607. height: 32px;
  1608. z-index: 1;
  1609. }
  1610. .geMinimal .geTabContainer .geZoomInput {
  1611. margin-left: auto;
  1612. }
  1613. .geTabContainer .geZoomInput {
  1614. margin: auto -16px auto 0;
  1615. font-size: 12px;
  1616. width: 56px;
  1617. }
  1618. .geTabScroller {
  1619. display: inline-block;
  1620. position: relative;
  1621. white-space: nowrap;
  1622. overflow: hidden;
  1623. overflow-x: auto;
  1624. margin: 0 8px;
  1625. -ms-overflow-style: none;
  1626. scrollbar-width: none;
  1627. left: 0px;
  1628. }
  1629. .geTab .geButton {
  1630. border-radius: 50%;
  1631. margin-left: 0px;
  1632. }
  1633. .gePageTab:not(.geActivePage) .geButton {
  1634. display: none;
  1635. }
  1636. .gePageTab:not(.geActivePage) {
  1637. padding-right: 16px;
  1638. }
  1639. .gePageTab {
  1640. padding: 0px 0px 0px 16px;
  1641. }
  1642. .geControlTab {
  1643. width: 30px;
  1644. margin: 0 4px;
  1645. }
  1646. .geTab {
  1647. height: 100%;
  1648. box-sizing: border-box;
  1649. text-overflow: ellipsis;
  1650. font-size: 13px;
  1651. display: inline-flex;
  1652. align-items: center;
  1653. cursor: move;
  1654. }
  1655. .geSidebar {
  1656. transform-origin: top left;
  1657. padding: 4px 6px 8px 14px;
  1658. overflow: hidden;
  1659. white-space: normal;
  1660. }
  1661. .geEditor .geSearchSidebar {
  1662. box-sizing: border-box;
  1663. padding: 8px 4px 4px 4px;
  1664. width: 100%;
  1665. }
  1666. .geTitle {
  1667. display: flex;
  1668. font-size: 13px;
  1669. background-repeat: no-repeat;
  1670. background-position: 2px 50%;
  1671. background-size: 20px;
  1672. border-radius: 14px;
  1673. padding: 8px 0px 8px 22px;
  1674. margin: 2px 4px 4px 4px;
  1675. cursor: default;
  1676. white-space: nowrap;
  1677. overflow: hidden;
  1678. text-overflow: ellipsis;
  1679. justify-content: start;
  1680. align-items: center;
  1681. height: 30px;
  1682. }
  1683. .geTitle>span {
  1684. flex-grow: 1;
  1685. flex-shrink: 1;
  1686. width: 0;
  1687. overflow: hidden;
  1688. text-overflow: ellipsis;
  1689. }
  1690. .geSidebarContainer .geDropTarget {
  1691. border: 2px dotted currentcolor;
  1692. border-radius: 10px;
  1693. text-align: center;
  1694. font-size: 12px;
  1695. opacity: 0.6;
  1696. padding: 6px;
  1697. margin: 4px 6px 4px 0;
  1698. }
  1699. .geTitle>div {
  1700. display: flex;
  1701. flex-grow: 0;
  1702. padding-right: 4px;
  1703. }
  1704. .geLibraryButton {
  1705. position: relative;
  1706. border-radius: 50%;
  1707. padding: 2px;
  1708. width: 14px;
  1709. cursor: pointer;
  1710. margin: 0px 1px;
  1711. opacity: 0.75;
  1712. }
  1713. .geLibraryButton:hover {
  1714. background-color: var(--active-color);
  1715. }
  1716. .geTitle .geButton {
  1717. border: 1px solid transparent;
  1718. padding: 3px;
  1719. border-radius: 2px;
  1720. }
  1721. .geTitle .geButton:hover {
  1722. border: 1px solid gray;
  1723. }
  1724. .geSidebar .geItem,
  1725. .geShapePicker .geItem {
  1726. overflow: hidden;
  1727. display: inline-block;
  1728. padding: 2px;
  1729. border-radius: 4px;
  1730. transition: transform 100ms ease-out;
  1731. opacity: 0.75;
  1732. }
  1733. .geSidebar .geItem:active,
  1734. .geShapePicker .geItem:active {
  1735. transform: scale(0.8, 0.8);
  1736. }
  1737. .geSidebarTooltip {
  1738. position: absolute;
  1739. overflow: hidden;
  1740. border-width: 1px;
  1741. border-style: solid;
  1742. box-shadow: 0 2px 6px 2px rgba(60, 64, 67, .15);
  1743. border-radius: 6px;
  1744. }
  1745. .geSidebarTooltip .geButton {
  1746. position: absolute;
  1747. padding: 2px;
  1748. margin: 0;
  1749. right: 2px;
  1750. top: 2px;
  1751. width: 20px;
  1752. height: 20px;
  1753. }
  1754. .geDialog {
  1755. position: absolute;
  1756. background-color: light-dark(#f0f0f0, #2a2a2a);
  1757. line-height: 1em;
  1758. overflow: hidden;
  1759. padding: 24px;
  1760. border: light-dark(none, 1px solid rgba(255, 255, 255, 0.1));
  1761. left: 50%;
  1762. top: 50%;
  1763. max-height: 100%;
  1764. max-width: 100%;
  1765. transform: translate(-50%, -50%);
  1766. box-sizing: border-box;
  1767. }
  1768. /* Tall dialogs: cap the content area to the dialog's content box and let
  1769. it scroll. The close button (.geButton) is a positioned-absolute sibling
  1770. of the content so it stays at the top-right regardless of scroll. */
  1771. .geDialog > :first-child {
  1772. max-height: 100%;
  1773. overflow-y: auto;
  1774. box-sizing: border-box;
  1775. }
  1776. .geDialog > .geButton {
  1777. top: 8px !important;
  1778. right: 8px !important;
  1779. width: 20px;
  1780. height: 20px;
  1781. border-radius: 50%;
  1782. background-size: 10px;
  1783. background-position: center;
  1784. background-repeat: no-repeat;
  1785. opacity: 0.5;
  1786. transition: opacity 0.1s ease, background-color 0.1s ease;
  1787. }
  1788. .geDialog > .geButton:hover {
  1789. opacity: 0.8;
  1790. background-color: light-dark(rgba(0, 0, 0, 0.1), rgba(255, 255, 255, 0.1));
  1791. }
  1792. .geDialog input[type="text"],
  1793. .geDialog input[type="number"],
  1794. .geDialog textarea,
  1795. .geDialog select {
  1796. border-radius: 6px;
  1797. border: light-dark(1px solid rgba(0, 0, 0, 0.15), 1px solid rgba(255, 255, 255, 0.15));
  1798. background-color: light-dark(white, #1e1e1e);
  1799. padding: 4px 8px;
  1800. font-size: 13px;
  1801. outline: none;
  1802. transition: border-color 0.15s ease, box-shadow 0.15s ease;
  1803. }
  1804. .geDialog input[type="text"]:focus,
  1805. .geDialog input[type="number"]:focus,
  1806. .geDialog textarea:focus,
  1807. .geDialog select:focus {
  1808. border-color: light-dark(#007aff, #0a84ff);
  1809. box-shadow: 0 0 0 3px light-dark(rgba(0, 122, 255, 0.25), rgba(10, 132, 255, 0.25));
  1810. }
  1811. /* Dialog form sections and layout */
  1812. .geDialogSection {
  1813. background: light-dark(rgba(0, 0, 0, 0.035), rgba(255, 255, 255, 0.05));
  1814. border: light-dark(1px solid rgba(0, 0, 0, 0.06), 1px solid rgba(255, 255, 255, 0.06));
  1815. border-radius: 8px;
  1816. padding: 10px 12px;
  1817. margin-bottom: 10px;
  1818. }
  1819. .geDialogSection > input[type="checkbox"],
  1820. .geDialogSection > input[type="radio"] {
  1821. margin-top: 8px !important;
  1822. }
  1823. .geDialogSection > input[type="checkbox"]:first-child,
  1824. .geDialogSection > input[type="radio"]:first-child {
  1825. margin-top: 0 !important;
  1826. }
  1827. .geDialogFormRow {
  1828. display: flex;
  1829. align-items: center;
  1830. min-height: 28px;
  1831. column-gap: 8px;
  1832. }
  1833. .geDialogFormRow + .geDialogFormRow {
  1834. margin-top: 6px;
  1835. }
  1836. .geDialogSection > .geDialogFormRow {
  1837. margin-top: 6px;
  1838. }
  1839. .geDialogSection > .geDialogFormRow:first-child {
  1840. margin-top: 0;
  1841. }
  1842. .geDialogFormLabel {
  1843. color: light-dark(#1d1d1f, #e0e0e0);
  1844. min-width: 100px;
  1845. flex-shrink: 0;
  1846. }
  1847. .geDialogFormRow input[type="text"],
  1848. .geDialogFormRow input[type="number"],
  1849. .geDialogFormRow select,
  1850. .geDialogFormRow textarea {
  1851. flex: 1;
  1852. min-width: 0;
  1853. }
  1854. .geDialogCheckRow {
  1855. display: flex;
  1856. align-items: center;
  1857. min-height: 28px;
  1858. }
  1859. .geDialogCheckRow + .geDialogCheckRow {
  1860. margin-top: 2px;
  1861. }
  1862. .geDialogFormRow + .geDialogCheckRow {
  1863. margin-top: 6px;
  1864. }
  1865. .geDialogCheckRow input[type="checkbox"],
  1866. .geDialogCheckRow input[type="radio"] {
  1867. margin: 0 8px 0 0;
  1868. flex-shrink: 0;
  1869. }
  1870. .geDialogCheckRow label {
  1871. color: light-dark(#1d1d1f, #e0e0e0);
  1872. cursor: pointer;
  1873. }
  1874. .geDialogCheckRow select {
  1875. margin-left: 8px;
  1876. flex: 1;
  1877. min-width: 0;
  1878. }
  1879. .geDialogInlineFields {
  1880. display: flex;
  1881. gap: 12px;
  1882. align-items: center;
  1883. }
  1884. .geDialogInlineField {
  1885. display: flex;
  1886. align-items: center;
  1887. gap: 6px;
  1888. flex: 1;
  1889. min-width: 0;
  1890. }
  1891. .geDialog .geCollapsibleTitle {
  1892. margin-top: 4px;
  1893. }
  1894. .geDialogInlineField label {
  1895. color: light-dark(#1d1d1f, #e0e0e0);
  1896. white-space: nowrap;
  1897. }
  1898. .geDialogInlineField input[type="text"],
  1899. .geDialogInlineField input[type="number"] {
  1900. flex: 1;
  1901. min-width: 0;
  1902. }
  1903. .geDialog.geInlineDialog {
  1904. padding: 0px;
  1905. left: auto;
  1906. transform: none;
  1907. z-index: 4;
  1908. }
  1909. .geTransDialog {
  1910. position: absolute;
  1911. overflow: hidden;
  1912. }
  1913. .geDialogTitle {
  1914. box-sizing: border-box;
  1915. white-space: nowrap;
  1916. border-bottom: light-dark(1px solid rgba(0, 0, 0, 0.1), 1px solid rgba(255, 255, 255, 0.1));
  1917. font-size: 13px;
  1918. font-weight: 600;
  1919. text-align: center;
  1920. color: light-dark(#1d1d1f, #e0e0e0);
  1921. }
  1922. .geDialogFooter {
  1923. white-space: nowrap;
  1924. text-align: right;
  1925. box-sizing: border-box;
  1926. border-top: light-dark(1px solid rgba(0, 0, 0, 0.1), 1px solid rgba(255, 255, 255, 0.1));
  1927. }
  1928. .geMoreShapesSectionHeader {
  1929. font-size: 11px;
  1930. font-weight: 600;
  1931. text-transform: uppercase;
  1932. letter-spacing: 0.5px;
  1933. color: light-dark(#6e6e73, #98989d);
  1934. background-color: light-dark(rgba(0, 0, 0, 0.04), rgba(255, 255, 255, 0.04));
  1935. padding: 8px 12px 8px 16px;
  1936. border-bottom: light-dark(1px solid rgba(0, 0, 0, 0.06), 1px solid rgba(255, 255, 255, 0.06));
  1937. user-select: none;
  1938. }
  1939. .geMoreShapesItem {
  1940. display: flex;
  1941. align-items: center;
  1942. padding: 6px 0 6px 16px;
  1943. cursor: pointer;
  1944. font-size: 13px;
  1945. line-height: normal;
  1946. color: light-dark(#1d1d1f, #e0e0e0);
  1947. transition: background-color 0.1s ease;
  1948. }
  1949. .geMoreShapesItem:hover {
  1950. background-color: light-dark(rgba(0, 0, 0, 0.05), rgba(255, 255, 255, 0.07));
  1951. }
  1952. .geMoreShapesItem.geMoreShapesItemSelected {
  1953. background-color: light-dark(#d4e4f7, rgba(10, 132, 255, 0.2));
  1954. }
  1955. .geMoreShapesItem.geMoreShapesItemSelected:hover {
  1956. background-color: light-dark(#c4d8f0, rgba(10, 132, 255, 0.25));
  1957. }
  1958. .geMoreShapesItem input[type="checkbox"] {
  1959. margin: 0 8px 0 0;
  1960. flex-shrink: 0;
  1961. }
  1962. .geMoreShapesItem span {
  1963. flex: 1;
  1964. min-width: 0;
  1965. overflow: hidden;
  1966. white-space: nowrap;
  1967. text-overflow: ellipsis;
  1968. }
  1969. .geMoreShapesPreview {
  1970. border-left: light-dark(1px solid rgba(0, 0, 0, 0.1), 1px solid rgba(255, 255, 255, 0.1));
  1971. }
  1972. .geMoreShapesPreview img {
  1973. background-color: #ffffff;
  1974. }
  1975. .geMoreShapesFooterChecks {
  1976. display: inline-flex;
  1977. align-items: center;
  1978. gap: 16px;
  1979. width: 204px;
  1980. flex-shrink: 0;
  1981. }
  1982. .geMoreShapesFooterCheck {
  1983. display: inline-flex;
  1984. align-items: center;
  1985. gap: 6px;
  1986. font-size: 13px;
  1987. color: light-dark(#1d1d1f, #e0e0e0);
  1988. cursor: pointer;
  1989. user-select: none;
  1990. }
  1991. .geMoreShapesFooterCheck input[type="checkbox"] {
  1992. margin: 0;
  1993. flex-shrink: 0;
  1994. }
  1995. .geEditor .geBaseButton {
  1996. padding: 10px;
  1997. border-radius: 6px;
  1998. cursor: pointer;
  1999. border-width: 1px;
  2000. border-style: solid;
  2001. }
  2002. .geEditor .geBaseButton:hover {
  2003. background-color: #ececec;
  2004. }
  2005. .geEditor button.geBigButton {
  2006. color: #ffffff;
  2007. border: none;
  2008. padding: 4px 10px;
  2009. font-size: 14px;
  2010. white-space: nowrap;
  2011. border-radius: 3px;
  2012. background-color: #0052cc;
  2013. cursor: pointer;
  2014. transition: background-color 0.1s ease-out;
  2015. overflow: hidden;
  2016. text-overflow: ellipsis;
  2017. }
  2018. .geEditor button.geBigButton:hover {
  2019. background-color: #0065ff;
  2020. }
  2021. .geEditor button.geBigButton:active {
  2022. background-color: #0747a6;
  2023. }
  2024. html body .geBigStandardButton {
  2025. color: #344563;
  2026. background-color: rgba(9, 30, 66, 0.08);
  2027. }
  2028. html body .geBigStandardButton:hover {
  2029. background-color: rgba(9, 30, 66, 0.13);
  2030. }
  2031. html body .geBigStandardButton:active {
  2032. background-color: #F8C382;
  2033. color: #600000;
  2034. }
  2035. @media print {
  2036. div.geNoPrint {
  2037. display: none !important;
  2038. }
  2039. }
  2040. html div.mxRubberband {
  2041. border-color: light-dark(#0000DD, white);
  2042. background-color: light-dark(#99ccff, var(--dark-border-color));
  2043. }
  2044. .geDarkMode div.mxRubberband {
  2045. border-style: dashed;
  2046. }
  2047. .geEditor div.mxPopupMenu {
  2048. box-shadow: 0px 0px 2px #C0C0C0;
  2049. background-color: var(--ge-panel-color);
  2050. background-image: none;
  2051. border-radius: 4px;
  2052. border-style: solid;
  2053. border-width: 1px;
  2054. border-color: lightgray;
  2055. padding: 3px;
  2056. }
  2057. .geEditor div.mxPopupMenu.geToolbarMenu {
  2058. border-radius: 10px;
  2059. box-shadow: 0px 0px 3px 1px #d1d1d1;
  2060. padding: 10px 14px 12px 14px;
  2061. background-color: light-dark(var(--ge-panel-color), var(--ge-dark-panel-color));
  2062. }
  2063. .geToolbarMenu tr.mxPopupMenuItemHover {
  2064. background-color: transparent !important;
  2065. }
  2066. .geToolbarMenu input[type="checkbox"] {
  2067. margin: 0 6px 0 0;
  2068. }
  2069. .geToolbarMenu label {
  2070. font-size: 13px;
  2071. }
  2072. .geSearchSidebar input {
  2073. font-size: 12px;
  2074. box-sizing: border-box;
  2075. border-radius: 18px;
  2076. width: 100%;
  2077. outline: none;
  2078. padding: 6px 20px 6px 10px
  2079. }
  2080. .geSearchSidebar>div {
  2081. margin-bottom: 4px;
  2082. }
  2083. .geSearchSidebar>div>img.geAdaptiveAsset {
  2084. position: relative;
  2085. top: 4px;
  2086. left: -24px;
  2087. height: 16px;
  2088. opacity: 0.75;
  2089. cursor: pointer;
  2090. }
  2091. html table.mxPopupMenu {
  2092. border-collapse: collapse;
  2093. margin: 0px;
  2094. }
  2095. html td.mxPopupMenuItem {
  2096. padding: 7px 30px 7px 30px;
  2097. font-size: 10pt;
  2098. }
  2099. html td.mxPopupMenuIcon {
  2100. background-color: transparent;
  2101. padding: 0px;
  2102. }
  2103. table.mxPopupMenu tr {
  2104. font-size: 4pt;
  2105. }
  2106. table.mxPopupMenu hr {
  2107. color: light-dark(var(--border-color), var(--dark-border-color));
  2108. background-color: light-dark(var(--border-color), var(--dark-border-color));
  2109. border: none;
  2110. height: 1px;
  2111. }
  2112. html td.mxWindowTitle {
  2113. color: light-dark(var(--text-color), var(--dark-text-color));
  2114. background-image: none;
  2115. padding: 4px;
  2116. }
  2117. table.geProperties {
  2118. table-layout: fixed;
  2119. }
  2120. table.geProperties tr td,
  2121. table.geProperties tr th {
  2122. height: 21px;
  2123. }
  2124. .gePropValue {
  2125. width: 100%;
  2126. overflow: hidden;
  2127. white-space: nowrap;
  2128. text-overflow: ellipsis;
  2129. }
  2130. .gePropHeader,
  2131. .gePropRow {
  2132. border: 1px solid light-dark(var(--border-color), var(--dark-border-color));
  2133. }
  2134. .gePropHeader>.gePropHeaderCell {
  2135. border-top: 0;
  2136. border-bottom: 0;
  2137. text-align: left;
  2138. width: 50%;
  2139. }
  2140. .gePropHeader>.gePropHeaderCell:first-child {
  2141. border-left: none;
  2142. }
  2143. .gePropHeader>.gePropHeaderCell:last-child {
  2144. border-right: none;
  2145. }
  2146. .gePropHeader {
  2147. background-color: #e5e5e5;
  2148. color: black;
  2149. }
  2150. .gePropRowCell {
  2151. vertical-align: middle;
  2152. white-space: nowrap;
  2153. text-overflow: ellipsis;
  2154. overflow: hidden;
  2155. max-width: 50%;
  2156. }
  2157. .gePropHeaderCell:nth-child(2),
  2158. .gePropRowCell:nth-child(2) {
  2159. border-left: 1px solid light-dark(var(--border-color), var(--dark-border-color));
  2160. }
  2161. .gePropRow>.gePropRowCell {
  2162. background-color: light-dark(#fff, var(--ge-dark-panel-color));
  2163. }
  2164. .gePropRowAlt>.gePropRowCell {
  2165. background-color: light-dark(#fcfcfc, var(--ge-dark-panel-color));
  2166. }
  2167. .gePropRowDark>.gePropRowCell {
  2168. background-color: light-dark(#fff, var(--ge-dark-panel-color));
  2169. color: light-dark(#305496, #cccccc);
  2170. font-weight: bold;
  2171. }
  2172. .gePropRowDarkAlt>.gePropRowCell {
  2173. background-color: light-dark(#D9E1F2, #000000);
  2174. color: light-dark(#305496, #cccccc);
  2175. font-weight: bold;
  2176. }
  2177. .gePropEditor input:invalid {
  2178. border: 1px solid red;
  2179. }
  2180. /* Comments CSS */
  2181. .geCommentsWin {
  2182. user-select: none;
  2183. height: 100%;
  2184. margin-bottom: 10px;
  2185. overflow: auto;
  2186. }
  2187. .geCommentsToolbar {
  2188. position: absolute;
  2189. bottom: 0px;
  2190. left: 0px;
  2191. right: 0px;
  2192. overflow: hidden;
  2193. border-width: 1px 0px 0px 0px;
  2194. border-style: solid;
  2195. white-space: nowrap;
  2196. }
  2197. .geCommentsList {
  2198. position: absolute;
  2199. overflow: auto;
  2200. left: 0px;
  2201. right: 0px;
  2202. top: 0px;
  2203. }
  2204. .geCommentContainer {
  2205. position: relative;
  2206. padding: 12px;
  2207. margin: 5px;
  2208. min-height: 50px;
  2209. display: block;
  2210. background-color: white;
  2211. border-width: 0px 0px 1px 0px;
  2212. border-style: solid;
  2213. border-radius: 10px;
  2214. white-space: nowrap;
  2215. box-shadow: 2px 2px 6px rgba(60, 64, 67, .15);
  2216. color: #3C4043;
  2217. }
  2218. .geCommentHeader {
  2219. width: 100%;
  2220. height: 32px;
  2221. }
  2222. .geCommentUserImg {
  2223. width: 32px;
  2224. height: 32px;
  2225. border-radius: 50%;
  2226. float: left;
  2227. background-color: whitesmoke;
  2228. }
  2229. .geCommentHeaderTxt {
  2230. overflow: hidden;
  2231. height: 32px;
  2232. padding-left: 5px;
  2233. }
  2234. .geCommentUsername {
  2235. overflow: hidden;
  2236. height: 18px;
  2237. font-size: 15px;
  2238. font-weight: bold;
  2239. text-overflow: ellipsis;
  2240. }
  2241. .geCommentDate {
  2242. color: #707070;
  2243. overflow: hidden;
  2244. height: 14px;
  2245. font-size: 11px;
  2246. text-overflow: ellipsis;
  2247. }
  2248. .geCommentDate::first-letter {
  2249. text-transform: uppercase;
  2250. }
  2251. .geCommentTxt {
  2252. font-size: 14px;
  2253. padding-top: 5px;
  2254. white-space: normal;
  2255. min-height: 12px;
  2256. }
  2257. .geCommentEditTxtArea {
  2258. margin-top: 5px;
  2259. font-size: 14px !important;
  2260. min-height: 12px;
  2261. max-width: 100%;
  2262. min-width: 100%;
  2263. width: 100%;
  2264. box-sizing: border-box;
  2265. }
  2266. .geCommentEditBtns {
  2267. width: 100%;
  2268. box-sizing: border-box;
  2269. padding-top: 5px;
  2270. height: 20px;
  2271. }
  2272. .geCommentEditBtn {
  2273. padding: 3px 8px 3px 8px !important;
  2274. float: right !important;
  2275. margin-left: 5px;
  2276. }
  2277. .geCommentActions {
  2278. color: #707070;
  2279. font-size: 12px;
  2280. }
  2281. .geCommentActionsList {
  2282. list-style-type: disc;
  2283. margin: 0px;
  2284. padding: 10px 0 0 0;
  2285. }
  2286. .geCommentAction {
  2287. display: inline-block;
  2288. padding: 0;
  2289. }
  2290. .geCommentAction:before {
  2291. content: "\2022";
  2292. padding: 5px;
  2293. }
  2294. .geCommentAction:first-child:before {
  2295. content: "";
  2296. padding: 0;
  2297. }
  2298. .geCommentActionLnk {
  2299. cursor: pointer;
  2300. color: #707070;
  2301. text-decoration: none;
  2302. }
  2303. .geCommentActionLnk:hover {
  2304. text-decoration: underline;
  2305. }
  2306. .geCheckedBtn {
  2307. background-color: #ccc;
  2308. border-top: 1px solid black !important;
  2309. border-left: 1px solid black !important;
  2310. }
  2311. .geCommentBusyImg {
  2312. position: absolute;
  2313. top: 5px;
  2314. right: 5px;
  2315. }
  2316. .geAspectDlgListItem {
  2317. width: 120px;
  2318. height: 120px;
  2319. display: inline-block;
  2320. border: 3px solid #F0F0F0;
  2321. border-radius: 5px;
  2322. padding: 5px;
  2323. margin: 2px 2px 20px 2px;
  2324. }
  2325. .geAspectDlgListItem:hover {
  2326. border: 3px solid #c5c5c5;
  2327. }
  2328. .geAspectDlgListItemSelected {
  2329. border: 3px solid #3b73af;
  2330. }
  2331. .geAspectDlgListItemSelected:hover {
  2332. border: 3px solid #405a86;
  2333. }
  2334. .geAspectDlgListItemText {
  2335. text-overflow: ellipsis;
  2336. max-width: 100%;
  2337. min-height: 2em;
  2338. overflow: hidden;
  2339. text-align: center;
  2340. margin-top: 10px;
  2341. }
  2342. .geAspectDlgList {
  2343. min-height: 184px;
  2344. white-space: nowrap;
  2345. overflow-x: auto;
  2346. }
  2347. .geStripedTable {
  2348. border-collapse: collapse;
  2349. width: 100%;
  2350. table-layout: fixed;
  2351. }
  2352. .geStripedTable td,
  2353. .geStripedTable th {
  2354. border: 1px solid #ddd;
  2355. text-align: left;
  2356. padding: 2px;
  2357. white-space: nowrap;
  2358. overflow: hidden;
  2359. text-overflow: ellipsis;
  2360. }
  2361. .geStripedTable tr:nth-child(odd) {
  2362. background-color: #f2f2f2;
  2363. }
  2364. .geStripedTable tr:hover {
  2365. background-color: #ddd;
  2366. }
  2367. .geStripedTable th {
  2368. padding-top: 4px;
  2369. padding-bottom: 4px;
  2370. background-color: #bbb;
  2371. }
  2372. .geNotification-box {
  2373. display: flex;
  2374. text-align: center;
  2375. position: relative;
  2376. cursor: pointer;
  2377. margin-right: 6px;
  2378. width: 20px;
  2379. order: -1;
  2380. }
  2381. .geNotification-bell {
  2382. animation: geBellAnim 1s 1s both;
  2383. }
  2384. .geNotification-bell * {
  2385. display: block;
  2386. margin: 0 auto;
  2387. background-color: light-dark(#656565, #aaa);
  2388. }
  2389. .geBell-top {
  2390. width: 2px;
  2391. height: 2px;
  2392. border-radius: 1px 1px 0 0;
  2393. }
  2394. .geBell-middle {
  2395. width: 12px;
  2396. height: 12px;
  2397. margin-top: -1px;
  2398. border-radius: 7px 7px 0 0;
  2399. }
  2400. .geBell-bottom {
  2401. position: relative;
  2402. z-index: 0;
  2403. width: 16px;
  2404. height: 1px;
  2405. }
  2406. .geBell-bottom::before,
  2407. .geBell-bottom::after {
  2408. content: '';
  2409. position: absolute;
  2410. top: -4px;
  2411. }
  2412. .geBell-bottom::before {
  2413. left: 1px;
  2414. border-bottom-width: 4px;
  2415. border-right: 0 solid transparent;
  2416. border-left: 4px solid transparent;
  2417. }
  2418. .geBell-bottom::after {
  2419. right: 1px;
  2420. border-bottom-width: 4px;
  2421. border-right: 4px solid transparent;
  2422. border-left: 0 solid transparent;
  2423. }
  2424. .geBell-rad {
  2425. width: 3px;
  2426. height: 2px;
  2427. margin-top: 0.5px;
  2428. border-radius: 0 0 2px 2px;
  2429. animation: geRadAnim 1s 2s both;
  2430. }
  2431. .geNotification-count {
  2432. position: absolute;
  2433. z-index: 1;
  2434. top: -5px;
  2435. right: -4px;
  2436. width: 13px;
  2437. height: 13px;
  2438. line-height: 13px;
  2439. font-size: 8px;
  2440. border-radius: 50%;
  2441. background-color: #ff4927;
  2442. color: #FFF;
  2443. animation: geZoomAnim 1s 1s both;
  2444. }
  2445. @keyframes geBellAnim {
  2446. 0% {
  2447. transform: rotate(0);
  2448. }
  2449. 10% {
  2450. transform: rotate(30deg);
  2451. }
  2452. 20% {
  2453. transform: rotate(0);
  2454. }
  2455. 80% {
  2456. transform: rotate(0);
  2457. }
  2458. 90% {
  2459. transform: rotate(-30deg);
  2460. }
  2461. 100% {
  2462. transform: rotate(0);
  2463. }
  2464. }
  2465. @keyframes geRadAnim {
  2466. 0% {
  2467. transform: translateX(0);
  2468. }
  2469. 10% {
  2470. transform: translateX(5px);
  2471. }
  2472. 20% {
  2473. transform: translateX(0);
  2474. }
  2475. 80% {
  2476. transform: translateX(0);
  2477. }
  2478. 90% {
  2479. transform: translateX(-5px);
  2480. }
  2481. 100% {
  2482. transform: translateX(0);
  2483. }
  2484. }
  2485. @keyframes geZoomAnim {
  2486. 0% {
  2487. opacity: 0;
  2488. transform: scale(0);
  2489. }
  2490. 50% {
  2491. opacity: 1;
  2492. transform: scale(1);
  2493. }
  2494. 100% {
  2495. opacity: 1;
  2496. }
  2497. }
  2498. .geNotifPanel {
  2499. height: 300px;
  2500. width: 300px;
  2501. background-color: #fff;
  2502. border-radius: 3px;
  2503. overflow: hidden;
  2504. box-shadow: 10px 10px 15px 0 rgba(0, 0, 0, 0.3);
  2505. transition: all .5s ease-in-out;
  2506. position: absolute;
  2507. right: 100px;
  2508. top: 42px;
  2509. z-index: 150;
  2510. }
  2511. .geNotifPanel .header {
  2512. background-color: light-dark(#cecece, #424242);
  2513. color: light-dark(#707070, #ccc);
  2514. font-size: 15px;
  2515. }
  2516. .geNotifPanel .header .title {
  2517. display: block;
  2518. text-align: center;
  2519. line-height: 30px;
  2520. font-weight: 600;
  2521. }
  2522. .geNotifPanel .header .closeBtn {
  2523. position: absolute;
  2524. line-height: 30px;
  2525. cursor: pointer;
  2526. right: 15px;
  2527. top: 0;
  2528. }
  2529. .geNotifPanel .notifications {
  2530. position: relative;
  2531. background-color: light-dark(transparent, #707070);
  2532. height: 270px;
  2533. overflow-x: hidden;
  2534. overflow-y: auto;
  2535. }
  2536. .geNotifPanel .notifications .line {
  2537. position: absolute;
  2538. top: 0;
  2539. left: 27px;
  2540. height: 100%;
  2541. width: 3px;
  2542. background-color: #EBEBEB;
  2543. }
  2544. .geNotifPanel .notifications .notification {
  2545. position: relative;
  2546. z-index: 2;
  2547. margin: 25px 20px 25px 43px;
  2548. }
  2549. .geNotifPanel .notifications .notification:nth-child(n+1) {
  2550. animation: geHere-am-i 0.5s ease-out 0.4s;
  2551. animation-fill-mode: both;
  2552. }
  2553. .geNotifPanel .notifications .notification:hover {
  2554. color: #1B95E0;
  2555. cursor: pointer;
  2556. }
  2557. .geNotifPanel .notifications .notification .circle {
  2558. box-sizing: border-box;
  2559. position: absolute;
  2560. height: 11px;
  2561. width: 11px;
  2562. background-color: #fff;
  2563. border: 2px solid #1B95E0;
  2564. box-shadow: 0 0 0 3px #fff;
  2565. border-radius: 6px;
  2566. top: 0;
  2567. left: -20px;
  2568. }
  2569. .geNotifPanel .notifications .notification .circle.active {
  2570. background-color: #1B95E0;
  2571. }
  2572. .geNotifPanel .notifications .notification .time {
  2573. display: block;
  2574. font-size: 11px;
  2575. line-height: 11px;
  2576. margin-bottom: 2px;
  2577. }
  2578. .geNotifPanel .notifications .notification p {
  2579. font-size: 15px;
  2580. line-height: 20px;
  2581. margin: 0;
  2582. }
  2583. .geNotifPanel .notifications .notification p b {
  2584. font-weight: 600;
  2585. }
  2586. @-webkit-keyframes geHere-am-i {
  2587. from {
  2588. transform: translate3d(0, 50px, 0);
  2589. opacity: 0;
  2590. }
  2591. to {
  2592. transform: translate3d(0, 0, 0);
  2593. opacity: 1;
  2594. }
  2595. }
  2596. @keyframes geHere-am-i {
  2597. from {
  2598. transform: translate3d(0, 50px, 0);
  2599. opacity: 0;
  2600. }
  2601. to {
  2602. transform: translate3d(0, 0, 0);
  2603. opacity: 1;
  2604. }
  2605. }
  2606. .geTempTree {
  2607. margin: 0;
  2608. padding: 0;
  2609. }
  2610. .geTempTree,
  2611. .geTempTreeActive,
  2612. .geTempTreeNested {
  2613. list-style-type: none;
  2614. transition: all 0.5s;
  2615. }
  2616. .geTempTreeCaret {
  2617. box-sizing: border-box;
  2618. cursor: pointer;
  2619. user-select: none;
  2620. padding: 6px;
  2621. width: 100%;
  2622. transition: all 0.5s;
  2623. }
  2624. .geTempTreeCaret::before {
  2625. content: "\25B6";
  2626. display: inline-block;
  2627. font-size: 10px;
  2628. margin-right: 6px;
  2629. }
  2630. .geTempTreeCaret-down::before {
  2631. transform: rotate(90deg);
  2632. }
  2633. .geTempTreeNested {
  2634. height: 0;
  2635. opacity: 0;
  2636. }
  2637. .geTempTreeActive {
  2638. height: 100%;
  2639. opacity: 1;
  2640. }
  2641. .geTempTreeActive,
  2642. .geTempTreeNested {
  2643. padding-left: 15px;
  2644. }
  2645. .geTempTreeActive>li,
  2646. .geTempTreeNested>li {
  2647. box-sizing: border-box;
  2648. padding: 3px;
  2649. width: 100%;
  2650. cursor: pointer;
  2651. user-select: none;
  2652. transition: all 0.5s;
  2653. }
  2654. /*Electron Window Controls*/
  2655. #geWindow-controls {
  2656. display: grid;
  2657. grid-template-columns: repeat(3, 30px);
  2658. position: absolute;
  2659. top: 2px;
  2660. right: 3px;
  2661. height: 22px;
  2662. -webkit-app-region: no-drag;
  2663. }
  2664. #geWindow-controls .button {
  2665. grid-row: 1 / span 1;
  2666. display: flex;
  2667. justify-content: center;
  2668. align-items: center;
  2669. width: 100%;
  2670. height: 100%;
  2671. user-select: none;
  2672. }
  2673. #min-button {
  2674. grid-column: 1;
  2675. }
  2676. #max-button,
  2677. #restore-button {
  2678. grid-column: 2;
  2679. }
  2680. #close-button {
  2681. grid-column: 3;
  2682. }
  2683. #geWindow-controls .button.dark:hover {
  2684. background-color: rgba(255, 255, 255, 0.1);
  2685. }
  2686. #geWindow-controls .button.dark:active {
  2687. background-color: rgba(255, 255, 255, 0.2);
  2688. }
  2689. #geWindow-controls .button.white:hover {
  2690. background-color: rgba(0, 0, 0, 0.1);
  2691. }
  2692. #geWindow-controls .button.white:active {
  2693. background-color: rgba(0, 0, 0, 0.2);
  2694. }
  2695. #close-button:hover {
  2696. background-color: #E81123 !important;
  2697. }
  2698. #close-button:active {
  2699. background-color: #F1707A !important;
  2700. }
  2701. #restore-button {
  2702. display: none !important;
  2703. }
  2704. .geMaximized #restore-button {
  2705. display: flex !important;
  2706. }
  2707. .geMaximized #max-button {
  2708. display: none;
  2709. }
  2710. .geAtlas .geMenubarContainer:not(.geDarkMode *),
  2711. .geAtlas .gePrimaryBtn.geEmbedBtn:not(.geDarkMode *) {
  2712. background-color: #1868db;
  2713. color: #ffffff;
  2714. }
  2715. .geAtlas .gePrimaryBtn.geEmbedBtn:not(.geDarkMode *) {
  2716. border: black;
  2717. }
  2718. .geAtlas .gePrimaryBtn.geEmbedBtn:hover:not(.geDarkMode *, [disabled]) {
  2719. background-color: #1558bc !important;
  2720. }
  2721. .geAtlas .geMenubarContainer .geItem:hover:not(.geDarkMode *) {
  2722. background-color: rgba(9, 30, 66, 0.48) !important;
  2723. }
  2724. .geAtlas .geMenubar .geButtonContainer {
  2725. margin-top: 0px;
  2726. }
  2727. .geAtlas .geStatus,
  2728. .geAtlas .geStatus>div:not(.geStatusAlert) {
  2729. opacity: 1;
  2730. }
  2731. .geAtlas .geMenubar .geButtonContainer .geButton {
  2732. margin: 0;
  2733. opacity: 0.85;
  2734. }
  2735. .geAtlas .geMenubar .geButtonContainer .geButton:hover {
  2736. background-color: transparent;
  2737. opacity: 1 !important;
  2738. }
  2739. .geEditor.geAtlas>.geMenubarContainer {
  2740. height: 40px;
  2741. }
  2742. .geEditor.geAtlas>.geMenubarContainer .geMenubar {
  2743. padding-left: 12px;
  2744. height: 100%;
  2745. top: 0;
  2746. }
  2747. .geAtlas .geMenubarContainer .geItem {
  2748. padding-left: 12px;
  2749. padding-right: 12px;
  2750. }
  2751. .geEditor *::-webkit-scrollbar {
  2752. width: 10px;
  2753. height: 10px;
  2754. }
  2755. .geEditor *::-webkit-scrollbar-track {
  2756. background-clip: padding-box;
  2757. border: solid transparent;
  2758. border-width: 1px;
  2759. }
  2760. .geEditor *::-webkit-scrollbar-corner {
  2761. background-color: transparent;
  2762. }
  2763. .geEditor *::-webkit-scrollbar-thumb {
  2764. background-color: light-dark(#e2e2e2, #2c2c2c);
  2765. background-clip: padding-box;
  2766. border: solid transparent;
  2767. border-radius: 4px;
  2768. }
  2769. .geEditor *::-webkit-scrollbar-thumb:hover {
  2770. background-color: light-dark(var(--scrollbar-hover-color), var(--dark-border-color));
  2771. }
  2772. [draggable="true"] {
  2773. transform: translate(0, 0);
  2774. z-index: 0;
  2775. }