1
0

style.css 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954
  1. @import url("colorthemes.css");
  2. body {
  3. font-family: 'Arial', sans-serif;
  4. font-size: 90%;
  5. background-color: var(--background-color-1);
  6. color: var(--text-color-subtile-1); /* head 1 llama.cpp & triangle options for some reason */
  7. max-width: 600px;
  8. min-width: 300px;
  9. line-height: 1.2;
  10. margin: 0 auto;
  11. padding: 0 0.5em;
  12. transition: background-color 0.3s;
  13. }
  14. ::selection {
  15. color: var(--button-primary-text) ;
  16. background: var(--button-primary-color);
  17. }
  18. code, pre code {
  19. font-family: 'Courier New', monospace;
  20. }
  21. #container {
  22. margin: 0em auto;
  23. display: flex;
  24. flex-direction: column;
  25. justify-content: space-between;
  26. height: 100%;
  27. }
  28. main {
  29. margin: 3px;
  30. display: flex;
  31. flex-direction: column;
  32. justify-content: space-between;
  33. gap: 1em;
  34. flex-grow: 1;
  35. overflow-y: auto;
  36. border: 1px solid var(--border-color-3);
  37. border-radius: 5px;
  38. padding: 0.5em;
  39. }
  40. p {
  41. overflow-wrap: break-word;
  42. word-wrap: break-word;
  43. hyphens: auto;
  44. margin-top: 0.5em;
  45. margin-bottom: 0.5em;
  46. }
  47. #write form {
  48. margin: 1em 0 0 0;
  49. display: flex;
  50. flex-direction: column;
  51. gap: 0.5em;
  52. align-items: stretch;
  53. }
  54. .right {
  55. display: flex;
  56. flex-direction: row;
  57. gap: 0.5em;
  58. justify-content: flex-end;
  59. margin-bottom: 30px;
  60. }
  61. .two-columns {
  62. width: 97%;
  63. max-width: 97%;
  64. display: grid;
  65. grid-template-columns: 1fr 1fr;
  66. gap: 1em;
  67. position: relative;
  68. }
  69. .json-schema-controls {
  70. margin-top: 10px;
  71. width: 100%;
  72. max-width: 100%;
  73. display: grid;
  74. grid-template: "a a";
  75. gap: 1em;
  76. font-size: x-small;
  77. color: var(--theme-nuance-color-3);
  78. padding-top: 16px;
  79. padding-bottom: 16px;
  80. text-transform: uppercase;
  81. font-weight: 600;
  82. }
  83. .json-schema-controls > * {
  84. flex: 1;
  85. }
  86. /* titles of the details-summary boxes */
  87. .summary-title {
  88. font-weight: 600;
  89. font-size: x-small;
  90. color: var(--text-color-subtile-1);
  91. text-transform: uppercase;
  92. /* transition: ; */
  93. }
  94. fieldset {
  95. border: none;
  96. padding: 0;
  97. margin: 0;
  98. color: var(--text-color-plain);
  99. }
  100. fieldset.two {
  101. display: grid;
  102. grid-template: "a a a";
  103. gap: 1em;
  104. align-items: center;
  105. font-size: x-small;
  106. color: var(--text-color-plain);
  107. }
  108. fieldset.three {
  109. display: grid;
  110. grid-template: "a a a";
  111. gap: 1em;
  112. font-size: x-small;
  113. color: var(--text-color-plain);
  114. }
  115. /* titles of name fields*/
  116. fieldset.names {
  117. display: grid;
  118. grid-template: "a a";
  119. gap: 1em;
  120. font-size: x-small;
  121. color: var(--theme-nuance-color-3);
  122. padding-top: 16px;
  123. padding-bottom: 16px;
  124. text-transform: uppercase;
  125. font-weight: 600;
  126. }
  127. /* titles of params fields*/
  128. fieldset.params {
  129. display: grid;
  130. grid-template: "a a";
  131. gap: 1em;
  132. font-size: x-small;
  133. color: var(--theme-nuance-color-4);
  134. padding-top: 16px;
  135. padding-bottom: 16px;
  136. text-transform: uppercase;
  137. font-weight: 600;
  138. }
  139. fieldset.dropdowns {
  140. -webkit-appearance: none;
  141. display: flex;
  142. grid-template: "a a";
  143. gap: 1em;
  144. font-size: x-small;
  145. color: red;
  146. padding-top: 16px;
  147. padding-bottom: 16px;
  148. text-transform: uppercase;
  149. font-weight: 600;
  150. }
  151. /* input of name fields*/
  152. .names input[type="text"] {
  153. font-family: Arial, sans-serif;
  154. font-size: medium;
  155. font-weight: 500;
  156. padding: 5px;
  157. border: 1px solid var(--border-color-2);
  158. }
  159. .chat-id-color {
  160. color: var(--chat-id-color);
  161. }
  162. details {
  163. border: 1px solid var(--border-color-2);
  164. border-radius: 5px;
  165. padding: 0.5em 0.5em 0;
  166. margin-top: 0.5em;
  167. }
  168. summary {
  169. font-weight: bold;
  170. margin: -0.5em -0.5em 0;
  171. padding: 0.5em;
  172. cursor: pointer;
  173. }
  174. details[open] {
  175. padding: 0.5em;
  176. }
  177. textarea-sec, input-sec, button-sec {
  178. padding: 10px;
  179. height: 40px;
  180. align-items: center;
  181. }
  182. textarea-sec::placeholder, input-sec::placeholder {
  183. padding-left: 10px;
  184. }
  185. .toggleCheckbox {
  186. display: none;
  187. }
  188. .toggleContainer {
  189. position: relative;
  190. display: grid;
  191. grid-template-columns: repeat(2, 1fr);
  192. width: fit-content;
  193. border: 3px solid var(--border-color-2);
  194. border-radius: 20px;
  195. background: var(--border-color-2);
  196. font-size: small;
  197. cursor: pointer;
  198. overflow: hidden;
  199. }
  200. /* toggle button current state */
  201. .toggleContainer::before {
  202. color: var(--button-primary-text);
  203. background-color: var(--button-primary-color);
  204. content: '';
  205. position: absolute;
  206. width: 50%;
  207. height: 100%;
  208. left: 0%;
  209. border-radius: 20px;
  210. transition: all 0.3s;
  211. }
  212. .toggleContainer div {
  213. padding: 6px;
  214. text-align: center;
  215. z-index: 1;
  216. transition: color 0.3s;
  217. }
  218. .toggleCheckbox:checked + .toggleContainer::before {
  219. left: 50%;
  220. }
  221. .toggleCheckbox:checked + .toggleContainer div:first-child {
  222. color: var(--text-color-subtile-2);
  223. }
  224. .toggleCheckbox:checked + .toggleContainer div:last-child {
  225. color: var(--button-primary-text);
  226. }
  227. .toggleCheckbox + .toggleContainer div:first-child {
  228. color: var(--button-primary-text);
  229. }
  230. .toggleCheckbox + .toggleContainer div:last-child {
  231. color: var(--text-color-subtile-2);
  232. }
  233. select {
  234. padding: 5px;
  235. margin-right: 5px;
  236. border-radius: 4px;
  237. border: 1px solid var(--secondary-color-4);
  238. background-color: var(--primary-color-3);
  239. color: var(--secondary-color-4);
  240. cursor: pointer;
  241. }
  242. select:focus {
  243. border: 1px solid var(--border-focus-color);
  244. box-shadow: 0 0 1px var(--border-focus-shadow);
  245. }
  246. .button-container {
  247. display: flex;
  248. justify-content: flex-end;
  249. }
  250. button {
  251. color: var(--button-primary-text);
  252. background-color: var(--button-primary-color);
  253. border: 1px solid var(--button-primary-border);
  254. transition: background-color 0.1s;
  255. border-radius: 12px;
  256. font-size: x-small;
  257. font-weight: 600;
  258. text-shadow: 0px 0px 30px #ffffff;
  259. text-align: center;
  260. text-decoration: none;
  261. margin: 4px 2px;
  262. padding: 10px 20px;
  263. display: inline-block;
  264. cursor: pointer;
  265. }
  266. button:hover {
  267. color: var(--button-primary-text-hover);
  268. background-color: var(--button-primary-color-hover);
  269. border: 1px solid var(--button-primary-border-hover);
  270. font-size: x-small;
  271. font-weight: 600;
  272. }
  273. button:active {
  274. color: var(--button-primary-text-active);
  275. background-color: var(--button-primary-color-active);
  276. border: 1px solid var(--button-primary-border-active);
  277. font-size: x-small;
  278. font-weight: 600;
  279. }
  280. button:disabled {
  281. color: var(--button-tertiary-text);
  282. background-color: var(--button-tertiary-color);
  283. border: 1px solid var(--button-tertiary-border);
  284. font-size: x-small;
  285. font-weight: 600;
  286. cursor: not-allowed;
  287. }
  288. .reset-button {
  289. background-color: var(--button-secondary-color);
  290. border: 1px solid var(--button-secondary-color);
  291. color: var(--button-secondary-text);
  292. width: fit-content;
  293. height: fit-content;
  294. font-size: x-small;
  295. font-weight: 600;
  296. border-radius: 50px;
  297. overflow: hidden;
  298. }
  299. .reset-button:hover {
  300. color: var(--button-alert-text-hover);
  301. background-color: var(--button-alert-color-hover);
  302. border: 1px solid var(--button-alert-border-hover);
  303. font-size: x-small;
  304. font-weight: 600;
  305. }
  306. .reset-button:active {
  307. color: var(--button-alert-text-active);
  308. background-color: var(--button-alert-color-active);
  309. border: 1px solid var(--button-alert-border-active);
  310. font-size: x-small;
  311. font-weight: 600;
  312. }
  313. .button-grammar {
  314. color: var(--button-primary-text);
  315. background-color: var(--button-primary-color);
  316. border: 1px solid var(--button-primary-border);
  317. border-radius: 10px;
  318. padding: 10px 20px;
  319. text-align: center;
  320. text-decoration: none;
  321. display: inline-block;
  322. font-size: x-small;
  323. font-weight: 600;
  324. margin: 2px 2px;
  325. transition: background-color 0.1s;
  326. cursor: pointer;
  327. }
  328. .button-grammar:hover {
  329. color: var(--button-primary-text-hover);
  330. background-color: var(--button-primary-color-hover);
  331. border: 1px solid var(--button-primary-border-hover);
  332. border-radius: 10px;
  333. padding: 10px 20px;
  334. text-align: center;
  335. text-decoration: none;
  336. display: inline-block;
  337. font-size: x-small;
  338. font-weight: 600;
  339. margin: 2px 2px;
  340. transition: background-color 0.1s;
  341. cursor: pointer;
  342. }
  343. .button-grammar:active {
  344. color: var(--button-primary-text-active);
  345. background-color: var(--button-primary-color-active);
  346. border: 1px solid var(--button-primary-border-active);
  347. font-size: x-small;
  348. font-weight: 600;
  349. }
  350. .button-back {
  351. background-color: var(--button-secondary-color);
  352. border: 1px solid var(--button-secondary-color);
  353. color: var(--button-secondary-text);
  354. transition: background-color 0.1s;
  355. border-radius: 12px;
  356. font-size: x-small;
  357. font-weight: 600;
  358. text-align: center;
  359. text-decoration: none;
  360. margin: 4px 2px;
  361. padding: 10px 20px;
  362. display: inline-block;
  363. cursor: pointer;
  364. }
  365. .button-back:hover {
  366. color: var(--button-secondary-text-hover);
  367. background-color: var(--button-secondary-color-hover);
  368. border: 1px solid var(--button-secondary-border-hover);
  369. padding: 10px 20px;
  370. text-align: center;
  371. text-decoration: none;
  372. display: inline-block;
  373. font-size: x-small;
  374. font-weight: 600;
  375. margin: 4px 2px;
  376. transition: background-color 0.1s;
  377. cursor: pointer;
  378. border-radius: 12px;
  379. }
  380. .button-back:active {
  381. color: var(--button-secondary-text-active);
  382. background-color: var(--button-secondary-color-active);
  383. border: 1px solid var(--button-secondary-border-active);
  384. font-size: x-small;
  385. font-weight: 600;
  386. }
  387. .prob-set {
  388. padding: 0.3em;
  389. border-bottom: 1px solid red; /* unknown */
  390. }
  391. .popover-content {
  392. position: absolute;
  393. background-color: white;
  394. padding: 0.2em;
  395. box-shadow: 0 0 13px rgba(0, 0, 0, 0.1);
  396. }
  397. .grammar {
  398. width: 97%;
  399. max-width: 97%;
  400. }
  401. textarea {
  402. padding: 5px;
  403. flex-grow: 1;
  404. width: 100%;
  405. max-width: 100%;
  406. border-radius: 8px;
  407. border: 1px solid var(--border-color-1);
  408. resize: none;
  409. height: 6em;
  410. }
  411. textarea:focus {
  412. outline: none;
  413. border: 1px solid var(--border-focus-color);
  414. box-shadow: 0 0 3px var(--border-focus-shadow);
  415. }
  416. /* "props" frame */
  417. input[type="text"],
  418. input[type="range"] {
  419. padding: 5px;
  420. border-radius: 8px;
  421. border: 1px solid var(--border-color-1);
  422. }
  423. /* "names and props" frame focused*/
  424. input[type="text"]:focus {
  425. outline: none;
  426. border: 1px solid var(--border-focus-color);
  427. box-shadow: 0 0 3px var(--border-focus-shadow);
  428. }
  429. input[type="range"]:hover {
  430. opacity: 1;
  431. }
  432. input[type="range"]:focus {
  433. outline: none;
  434. border: 1px solid var(--border-focus-color);
  435. box-shadow: 0 0 3px var(--border-focus-shadow);
  436. background-size: var(--slider-track-size-focus);
  437. }
  438. input[type="range"]::-moz-range-thumb {
  439. width: 6px;
  440. height: 25px;
  441. border: 1px solid var(--ui-range-thumb-border);
  442. border-radius: 5px;
  443. background-color: var(--ui-range-thumb-color);
  444. cursor: pointer;
  445. }
  446. input[type="range"] {
  447. -webkit-appearance: none;
  448. width: 80%;
  449. height: 1px;
  450. border: 1px solid var(--border-color-1);
  451. border-radius: 8px;
  452. background: var(--border-color-2);
  453. outline: none;
  454. opacity: 0.7;
  455. -webkit-transition: .2s;
  456. transition: opacity .2s;
  457. }
  458. input[type="range"]::-webkit-slider-thumb {
  459. -webkit-appearance: none;
  460. appearance: none;
  461. width: 6px;
  462. height: 25px;
  463. border: 1px solid var(--ui-range-thumb-border);
  464. border-radius: 5px;
  465. background-color: var(--ui-range-thumb-color);
  466. cursor: pointer;
  467. }
  468. input[type="range"]::-webkit-slider-runnable-track {
  469. background-size: var(--slider-track-size);
  470. }
  471. input[type="radio"] {
  472. accent-color: var(--theme-nuance-color-2);
  473. }
  474. .chat-input-container {
  475. position: relative;
  476. max-width: 97%;
  477. min-width: 97%;
  478. }
  479. .chat-input-label {
  480. position: absolute;
  481. top: 0;
  482. left: 0;
  483. color: var(--text-color-plain);
  484. pointer-events: none;
  485. margin-left: 5px;
  486. margin-top: 5px;
  487. }
  488. textarea#chat-input {
  489. padding-top: 10px;
  490. padding-left: 10px;
  491. font-size: medium;
  492. border: 1px solid var(--border-color-2);
  493. resize: vertical;
  494. }
  495. textarea#chat-input:focus {
  496. border: 1px solid var(--border-focus-color);
  497. box-shadow: 0 0 3px var(--border-focus-shadow);
  498. }
  499. .input-container {
  500. position: relative;
  501. box-sizing: border-box;
  502. width: 100%; /* Setzt die Breite auf 100% */
  503. max-width: 100%; /* Stellt sicher, dass die Breite nicht größer als 100% wird */
  504. }
  505. .input-container:focus {
  506. border: 1px solid var(--border-focus-color);
  507. box-shadow: 0 0 3px var(--border-focus-shadow);
  508. }
  509. /* titles of name fields*/
  510. /* fieldset.names {
  511. display: grid;
  512. grid-template: "a a";
  513. gap: 1em;
  514. font-size: x-small;
  515. color: var(--theme-nuance-color-3);
  516. padding-top: 16px;
  517. padding-bottom: 16px;
  518. text-transform: uppercase;
  519. font-weight: 600;
  520. } */
  521. /* input of name fields*/
  522. /* .names input[type="text"] {
  523. font-family: Arial, sans-serif;
  524. font-size: medium;
  525. font-weight: 500;
  526. padding: 5px;
  527. border: 1px solid var(--border-color-2);
  528. } */
  529. fieldset.apiKey {
  530. width: 100%;
  531. font-size: x-small;
  532. color: var(--theme-nuance-color-3);
  533. padding-top: 16px;
  534. padding-bottom: 16px;
  535. text-transform: uppercase;
  536. font-weight: 600;
  537. }
  538. .apiKey {
  539. font-family: Arial, sans-serif;
  540. font-weight: 500;
  541. padding: 5px;
  542. border: 1px solid var(--border-color-2);
  543. }
  544. .apiKey:focus {
  545. border: 1px solid var(--border-focus-color);
  546. box-shadow: 0 0 3px var(--border-focus-shadow);
  547. }
  548. .apiKey input[type="text"] {
  549. font-family: Arial, sans-serif;
  550. font-size: medium;
  551. font-weight: 500;
  552. padding: 5px;
  553. border: 1px solid var(--border-color-2);
  554. }
  555. .apiKey label {
  556. display: inline-block;
  557. width: auto;
  558. margin-right: 5px;
  559. }
  560. textarea#api_key {
  561. padding-top: 10px;
  562. padding-left: 10px;
  563. font-size: medium;
  564. border: 1px solid var(--border-color-2);
  565. resize: vertical;
  566. }
  567. textarea#api_key:focus {
  568. border: 1px solid var(--border-focus-color);
  569. box-shadow: 0 0 3px var(--border-focus-shadow);
  570. }
  571. /* embedded title of the system prompt text area */
  572. .input-label {
  573. position: absolute;
  574. top: 0;
  575. left: 0;
  576. color: var(--theme-nuance-color-4);
  577. pointer-events: none;
  578. border-radius: 8px 8px 0px 0px;
  579. padding-top: 10px;
  580. padding-left: 13px;
  581. padding-right: 0px;
  582. margin-top: 1px;
  583. margin-left: 1px;
  584. margin-right: 20px;
  585. text-transform: uppercase;
  586. font-weight: 600;
  587. font-size: small;
  588. background: rgba(255, 255, 255, 0.5);
  589. backdrop-filter: blur(10px);
  590. -webkit-backdrop-filter: blur(10px); /* for safari */
  591. width: 97%;
  592. /* display: block;
  593. box-sizing: border-box; */
  594. }
  595. /* embedded title of the prompt style areas */
  596. .input-label-sec {
  597. position: absolute;
  598. top: 0;
  599. left: 0;
  600. color: var(--theme-nuance-color-4);
  601. pointer-events: none;
  602. margin-left: 13px;
  603. margin-top: 16px;
  604. text-transform: uppercase;
  605. font-weight: 600;
  606. font-size: x-small;
  607. }
  608. /* system prompt input area */
  609. textarea.persistent-input {
  610. padding-top: 42px;
  611. padding-left: 11px;
  612. width: 97%;
  613. max-width: 97%;
  614. height: 50px;
  615. font-size: medium;
  616. overscroll-behavior: contain;
  617. }
  618. /* system prompt box */
  619. .persistent-input {
  620. height: auto;
  621. width: 100%;
  622. max-width: 100%;
  623. min-height: 50px;
  624. padding: 3px;
  625. transition: min-height 0.3s ease;
  626. }
  627. /* chat history box */
  628. .persistent-input:focus {
  629. height: auto;
  630. min-height: 150px;
  631. border: 1px solid var(--border-focus-color);
  632. box-shadow: 0 0 3px var(--border-focus-shadow);
  633. }
  634. textarea.persistent-input:focus {
  635. border: 1px solid var(--border-focus-color);
  636. box-shadow: 0 0 3px var(--border-focus-shadow);
  637. }
  638. /* prompt style input area */
  639. textarea.persistent-input-sec {
  640. width: 97%;
  641. max-width: 97%;
  642. padding-top: 42px;
  643. padding-left: 11px;
  644. font-size: small;
  645. border: 1px solid var(--border-color-1);
  646. overscroll-behavior: contain;
  647. }
  648. textarea.persistent-input-sec:focus {
  649. border: 1px solid var(--border-focus-color);
  650. box-shadow: 0 0 3px var(--border-focus-shadow);
  651. }
  652. /* chat history box */
  653. .persistent-input-sec {
  654. height: auto;
  655. min-height: 150px;
  656. }
  657. img {
  658. border-radius: 8px;
  659. display: block;
  660. margin-left: auto;
  661. margin-right: auto;
  662. width: 50%;
  663. }
  664. /* code area background */
  665. pre code {
  666. display: block;
  667. background-color: var(--code-background-color);
  668. color: var(--code-text-color);
  669. padding: 0.2em 0.2em;
  670. border-radius: 5px;
  671. }
  672. /* code area text */
  673. code {
  674. font-family: monospace;
  675. font-weight: bold;
  676. padding: 0.1em 0.3em;
  677. border-radius: 5px;
  678. }
  679. fieldset label {
  680. margin: 0.5em 0;
  681. display: block;
  682. }
  683. fieldset label.slim {
  684. margin: 0 0.5em;
  685. display: inline;
  686. }
  687. header {
  688. display: flex;
  689. justify-content: space-between;
  690. align-items: center;
  691. text-align: center;
  692. padding-left: 15px;
  693. }
  694. .generation-statistics:hover {
  695. color: var(--theme-nuance-color-4);
  696. cursor: default;
  697. }
  698. footer {
  699. font-size: 80%;
  700. color: var(--background-color-3);
  701. text-align: center;
  702. cursor: default;
  703. }
  704. footer a {
  705. color: var(--background-color-4); /* Color of the link */
  706. text-decoration: none; /* No underlining */
  707. font-weight: bold; /* Bold print */
  708. }
  709. footer a:hover {
  710. color: var(--theme-nuance-color-4); /* Color of the link when hovering */
  711. text-decoration: underline; /* Underlining when hovering */
  712. }
  713. .mode-chat textarea[name=prompt] {
  714. height: 8.5em;
  715. border: 1px solid var(--primary-color-3);
  716. }
  717. .mode-completion textarea[name=prompt] {
  718. height: 30em;
  719. border: 1px solid var(--primary-color-3);
  720. }
  721. @keyframes loading-bg-wipe {
  722. 0% {
  723. background-position: 0%;
  724. }
  725. 100% {
  726. background-position: 100%;
  727. }
  728. }
  729. .loading {
  730. background-size: 50% 100%;
  731. background-image: linear-gradient(90deg, var(--loading-color-1), var(--loading-color-2), var(--loading-color-1));
  732. animation: loading-bg-wipe 2s linear infinite;
  733. }
  734. .dropbtn {
  735. color: var(--button-primary-color);
  736. background-color: var(--background-color-1);
  737. border: 1px solid var(--background-color-1);
  738. transition: background-color 0.1s;
  739. border-radius: 4px 4px 0px 0px;
  740. font-size: x-small;
  741. font-weight: 600;
  742. text-shadow: 0px 0px 2px #99999990;
  743. text-align: center;
  744. text-decoration: none;
  745. margin: 4px 2px;
  746. padding: 5px 20px;
  747. display: inline-block;
  748. cursor: pointer;
  749. top: 0;
  750. }
  751. .dropbtn svg {
  752. vertical-align: middle;
  753. margin-right: 0px;
  754. stroke: var(--button-primary-color);
  755. }
  756. .dropbtn:hover svg {
  757. vertical-align: middle;
  758. margin-right: 0px;
  759. stroke: var(--button-primary-text);
  760. }
  761. .dropbtn:focus {
  762. outline: none; /* Removes the blue border that appears when the button is focused */
  763. }
  764. .dropdown {
  765. position: relative;
  766. display: inline-block;
  767. }
  768. .dropdown-content {
  769. /* display: none; */
  770. position: absolute;
  771. right: 0;
  772. text-align: end;
  773. color: var(--button-secondary-color);
  774. background-color: var(--text-color-subtile-2);
  775. border-radius: 4px 4px 4px 4px;
  776. min-width: 160px;
  777. box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  778. z-index: 1;
  779. /* Verstecke den Inhalt sofort */
  780. opacity: 0;
  781. visibility: hidden;
  782. /* übergangsverzögerung für das Verschwinden */
  783. transition: visibility 0.4s linear 0s, opacity 0.2s ease-in-out;
  784. transition-delay: 0.2s;
  785. }
  786. #dropdown-content {transition-timing-function: ease;}
  787. .dropdown-content:hover {
  788. background-color: var(--text-color-subtile-2);
  789. }
  790. .dropdown-content a {
  791. color: var(--border-color-2);
  792. padding: 12px 16px;
  793. border-radius: 4px 4px 4px 4px;
  794. text-decoration: none;
  795. display: block;
  796. background-color: var(--text-color-subtile-2);
  797. }
  798. .dropdown-content a:hover {
  799. color: var(--border-color-2);
  800. background-color: var(--text-color-subtile-1);
  801. font-weight: 600;
  802. }
  803. .dropdown:hover .dropdown-content {
  804. /* display: block; */
  805. border-radius: 4px 4px 4px 4px;
  806. /* Übergang ohne Verzögerung für das Erscheinen */
  807. opacity: 1;
  808. visibility: visible;
  809. transition: visibility 0s linear 0s, opacity 0.1s linear, height 1s;
  810. }
  811. .dropdown:hover .dropbtn {
  812. color: var(--button-primary-text);
  813. background-color: var(--button-primary-color);
  814. border: 1px solid var(--button-primary-border);
  815. font-size: x-small;
  816. font-weight: 600;
  817. stroke: var(--button-primary-text);
  818. }
  819. .dropdown:hover .dropbtn svg{
  820. stroke: var(--button-primary-text);
  821. }
  822. /* .dropdown:active .dropbtn {
  823. color: var(--button-primary-text-active);
  824. background-color: var(--button-primary-color-active);
  825. border: 1px solid var(--button-primary-border-active);
  826. font-size: x-small;
  827. font-weight: 600;
  828. background-color: var(-background-color-4);
  829. } */
  830. /* .omni {
  831. display: flex;
  832. justify-content: space-between;
  833. align-items: center;
  834. padding: 0.5em;
  835. border: 1px solid var(--border-color-3);
  836. border-radius: 5px;
  837. margin: 0.5em 0;
  838. } */