inputs.css 42 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087
  1. @charset "UTF-8";
  2. /**
  3. * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
  4. *
  5. * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
  6. *
  7. * @license GNU AGPL version 3 or any later version
  8. *
  9. * This program is free software: you can redistribute it and/or modify
  10. * it under the terms of the GNU Affero General Public License as
  11. * published by the Free Software Foundation, either version 3 of the
  12. * License, or (at your option) any later version.
  13. *
  14. * This program is distributed in the hope that it will be useful,
  15. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. * GNU Affero General Public License for more details.
  18. *
  19. * You should have received a copy of the GNU Affero General Public License
  20. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  21. *
  22. */
  23. /**
  24. * @copyright Copyright (c) 2016, John Molakvoæ <skjnldsv@protonmail.com>
  25. * @copyright Copyright (c) 2016, Morris Jobke <hey@morrisjobke.de>
  26. * @copyright Copyright (c) 2016, Joas Schilling <coding@schilljs.com>
  27. * @copyright Copyright (c) 2016, Julius Haertl <jus@bitgrid.net>
  28. * @copyright Copyright (c) 2016, jowi <sjw@gmx.ch>
  29. * @copyright Copyright (c) 2015, Joas Schilling <nickvergessen@owncloud.com>
  30. * @copyright Copyright (c) 2015, Hendrik Leppelsack <hendrik@leppelsack.de>
  31. * @copyright Copyright (c) 2014-2017, Jan-Christoph Borchardt <hey@jancborchardt.net>
  32. *
  33. * @license GNU AGPL version 3 or any later version
  34. *
  35. */
  36. /**
  37. * @copyright Copyright (c) 2018, John Molakvoæ (skjnldsv@protonmail.com)
  38. *
  39. * @author John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
  40. *
  41. * @license GNU AGPL version 3 or any later version
  42. *
  43. * This program is free software: you can redistribute it and/or modify
  44. * it under the terms of the GNU Affero General Public License as
  45. * published by the Free Software Foundation, either version 3 of the
  46. * License, or (at your option) any later version.
  47. *
  48. * This program is distributed in the hope that it will be useful,
  49. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  50. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  51. * GNU Affero General Public License for more details.
  52. *
  53. * You should have received a copy of the GNU Affero General Public License
  54. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  55. *
  56. */
  57. /**
  58. * @see core/src/icons.js
  59. */
  60. /**
  61. * SVG COLOR API
  62. *
  63. * @param string $icon the icon filename
  64. * @param string $dir the icon folder within /core/img if $core or app name
  65. * @param string $color the desired color in hexadecimal
  66. * @param int $version the version of the file
  67. * @param bool [$core] search icon in core
  68. *
  69. * @returns A background image with the url to the set to the requested icon.
  70. */
  71. /* Specifically override browser styles */
  72. input, textarea, select, button, div[contenteditable=true], div[contenteditable=false] {
  73. font-family: var(--font-face);
  74. }
  75. .select2-container-multi .select2-choices .select2-search-field input, .select2-search input, .ui-widget {
  76. font-family: var(--font-face) !important;
  77. }
  78. .select2-container.select2-drop-above .select2-choice {
  79. background-image: unset !important;
  80. }
  81. /* Simple selector to allow easy overriding */
  82. select,
  83. button:not(.button-vue),
  84. input,
  85. textarea,
  86. div[contenteditable=true],
  87. div[contenteditable=false] {
  88. width: 130px;
  89. min-height: 36px;
  90. box-sizing: border-box;
  91. }
  92. /**
  93. * color-text-lighter normal state
  94. * color-text-lighter active state
  95. * color-text-maxcontrast disabled state
  96. */
  97. input:not([type=range]) {
  98. outline: none;
  99. }
  100. /* Default global values */
  101. div.select2-drop .select2-search input,
  102. input[type=submit],
  103. input[type=button],
  104. input[type=reset],
  105. button:not(.button-vue), .button,
  106. .pager li a {
  107. margin: 3px 3px 3px 0;
  108. padding: 7px 14px;
  109. font-size: 13px;
  110. background-color: var(--color-main-background);
  111. color: var(--color-main-text);
  112. border: 1px solid var(--color-border-dark);
  113. font-size: var(--default-font-size);
  114. outline: none;
  115. border-radius: var(--border-radius);
  116. cursor: text;
  117. /* Primary action button, use sparingly */
  118. }
  119. div.select2-drop .select2-search input:not(:disabled):not(.primary):hover, div.select2-drop .select2-search input:not(:disabled):not(.primary):focus, div.select2-drop .select2-search input:not(:disabled):not(.primary).active,
  120. input[type=submit]:not(:disabled):not(.primary):hover,
  121. input[type=submit]:not(:disabled):not(.primary):focus,
  122. input[type=submit]:not(:disabled):not(.primary).active,
  123. input[type=button]:not(:disabled):not(.primary):hover,
  124. input[type=button]:not(:disabled):not(.primary):focus,
  125. input[type=button]:not(:disabled):not(.primary).active,
  126. input[type=reset]:not(:disabled):not(.primary):hover,
  127. input[type=reset]:not(:disabled):not(.primary):focus,
  128. input[type=reset]:not(:disabled):not(.primary).active,
  129. button:not(.button-vue):not(:disabled):not(.primary):hover,
  130. button:not(.button-vue):not(:disabled):not(.primary):focus,
  131. button:not(.button-vue):not(:disabled):not(.primary).active, .button:not(:disabled):not(.primary):hover, .button:not(:disabled):not(.primary):focus, .button:not(:disabled):not(.primary).active,
  132. .pager li a:not(:disabled):not(.primary):hover,
  133. .pager li a:not(:disabled):not(.primary):focus,
  134. .pager li a:not(:disabled):not(.primary).active {
  135. /* active class used for multiselect */
  136. border-color: var(--color-primary-element);
  137. outline: none;
  138. }
  139. div.select2-drop .select2-search input:not(:disabled):not(.primary):active,
  140. input[type=submit]:not(:disabled):not(.primary):active,
  141. input[type=button]:not(:disabled):not(.primary):active,
  142. input[type=reset]:not(:disabled):not(.primary):active,
  143. button:not(.button-vue):not(:disabled):not(.primary):active, .button:not(:disabled):not(.primary):active,
  144. .pager li a:not(:disabled):not(.primary):active {
  145. outline: none;
  146. background-color: var(--color-main-background);
  147. color: var(--color-text-light);
  148. }
  149. div.select2-drop .select2-search input:not(:disabled):not(.primary):focus-visible,
  150. input[type=submit]:not(:disabled):not(.primary):focus-visible,
  151. input[type=button]:not(:disabled):not(.primary):focus-visible,
  152. input[type=reset]:not(:disabled):not(.primary):focus-visible,
  153. button:not(.button-vue):not(:disabled):not(.primary):focus-visible, .button:not(:disabled):not(.primary):focus-visible,
  154. .pager li a:not(:disabled):not(.primary):focus-visible {
  155. box-shadow: 0 0 0 2px var(--color-primary);
  156. }
  157. div.select2-drop .select2-search input:disabled,
  158. input[type=submit]:disabled,
  159. input[type=button]:disabled,
  160. input[type=reset]:disabled,
  161. button:not(.button-vue):disabled, .button:disabled,
  162. .pager li a:disabled {
  163. background-color: var(--color-background-dark);
  164. color: var(--color-main-text);
  165. cursor: default;
  166. opacity: 0.5;
  167. }
  168. div.select2-drop .select2-search input:required,
  169. input[type=submit]:required,
  170. input[type=button]:required,
  171. input[type=reset]:required,
  172. button:not(.button-vue):required, .button:required,
  173. .pager li a:required {
  174. box-shadow: none;
  175. }
  176. div.select2-drop .select2-search input:user-invalid,
  177. input[type=submit]:user-invalid,
  178. input[type=button]:user-invalid,
  179. input[type=reset]:user-invalid,
  180. button:not(.button-vue):user-invalid, .button:user-invalid,
  181. .pager li a:user-invalid {
  182. box-shadow: 0 0 0 2px var(--color-error) !important;
  183. }
  184. div.select2-drop .select2-search input.primary,
  185. input[type=submit].primary,
  186. input[type=button].primary,
  187. input[type=reset].primary,
  188. button:not(.button-vue).primary, .button.primary,
  189. .pager li a.primary {
  190. background-color: var(--color-primary-element);
  191. border-color: var(--color-primary-element);
  192. color: var(--color-primary-text);
  193. cursor: pointer;
  194. /* Apply border to primary button if on log in page (and not in a dark container) or if in header */
  195. }
  196. #body-login :not(.body-login-container) div.select2-drop .select2-search input.primary, #header div.select2-drop .select2-search input.primary,
  197. #body-login :not(.body-login-container) input[type=submit].primary,
  198. #header input[type=submit].primary,
  199. #body-login :not(.body-login-container) input[type=button].primary,
  200. #header input[type=button].primary,
  201. #body-login :not(.body-login-container) input[type=reset].primary,
  202. #header input[type=reset].primary,
  203. #body-login :not(.body-login-container) button:not(.button-vue).primary,
  204. #header button:not(.button-vue).primary, #body-login :not(.body-login-container) .button.primary, #header .button.primary,
  205. #body-login :not(.body-login-container) .pager li a.primary,
  206. #header .pager li a.primary {
  207. border-color: var(--color-primary-text);
  208. }
  209. div.select2-drop .select2-search input.primary:not(:disabled):hover, div.select2-drop .select2-search input.primary:not(:disabled):focus, div.select2-drop .select2-search input.primary:not(:disabled):active,
  210. input[type=submit].primary:not(:disabled):hover,
  211. input[type=submit].primary:not(:disabled):focus,
  212. input[type=submit].primary:not(:disabled):active,
  213. input[type=button].primary:not(:disabled):hover,
  214. input[type=button].primary:not(:disabled):focus,
  215. input[type=button].primary:not(:disabled):active,
  216. input[type=reset].primary:not(:disabled):hover,
  217. input[type=reset].primary:not(:disabled):focus,
  218. input[type=reset].primary:not(:disabled):active,
  219. button:not(.button-vue).primary:not(:disabled):hover,
  220. button:not(.button-vue).primary:not(:disabled):focus,
  221. button:not(.button-vue).primary:not(:disabled):active, .button.primary:not(:disabled):hover, .button.primary:not(:disabled):focus, .button.primary:not(:disabled):active,
  222. .pager li a.primary:not(:disabled):hover,
  223. .pager li a.primary:not(:disabled):focus,
  224. .pager li a.primary:not(:disabled):active {
  225. background-color: var(--color-primary-element-hover);
  226. border-color: var(--color-primary-element-hover);
  227. }
  228. div.select2-drop .select2-search input.primary:not(:disabled):focus, div.select2-drop .select2-search input.primary:not(:disabled):focus-visible,
  229. input[type=submit].primary:not(:disabled):focus,
  230. input[type=submit].primary:not(:disabled):focus-visible,
  231. input[type=button].primary:not(:disabled):focus,
  232. input[type=button].primary:not(:disabled):focus-visible,
  233. input[type=reset].primary:not(:disabled):focus,
  234. input[type=reset].primary:not(:disabled):focus-visible,
  235. button:not(.button-vue).primary:not(:disabled):focus,
  236. button:not(.button-vue).primary:not(:disabled):focus-visible, .button.primary:not(:disabled):focus, .button.primary:not(:disabled):focus-visible,
  237. .pager li a.primary:not(:disabled):focus,
  238. .pager li a.primary:not(:disabled):focus-visible {
  239. box-shadow: 0 0 0 2px var(--color-main-text);
  240. }
  241. div.select2-drop .select2-search input.primary:not(:disabled):active,
  242. input[type=submit].primary:not(:disabled):active,
  243. input[type=button].primary:not(:disabled):active,
  244. input[type=reset].primary:not(:disabled):active,
  245. button:not(.button-vue).primary:not(:disabled):active, .button.primary:not(:disabled):active,
  246. .pager li a.primary:not(:disabled):active {
  247. color: var(--color-primary-text-dark);
  248. }
  249. div.select2-drop .select2-search input.primary:disabled,
  250. input[type=submit].primary:disabled,
  251. input[type=button].primary:disabled,
  252. input[type=reset].primary:disabled,
  253. button:not(.button-vue).primary:disabled, .button.primary:disabled,
  254. .pager li a.primary:disabled {
  255. background-color: var(--color-primary-element);
  256. color: var(--color-primary-text-dark);
  257. cursor: default;
  258. }
  259. div[contenteditable=false] {
  260. margin: 3px 3px 3px 0;
  261. padding: 7px 6px;
  262. font-size: 13px;
  263. background-color: var(--color-main-background);
  264. color: var(--color-text-lighter);
  265. border: 1px solid var(--color-background-darker);
  266. outline: none;
  267. border-radius: var(--border-radius);
  268. background-color: var(--color-background-dark);
  269. color: var(--color-text-lighter);
  270. cursor: default;
  271. opacity: 0.5;
  272. }
  273. /* Specific override */
  274. input {
  275. /* Color input doesn't respect the initial height
  276. so we need to set a custom one */
  277. }
  278. input:not([type=radio]):not([type=checkbox]):not([type=range]):not([type=submit]):not([type=button]):not([type=reset]):not([type=color]):not([type=file]):not([type=image]) {
  279. -webkit-appearance: textfield;
  280. -moz-appearance: textfield;
  281. height: 36px;
  282. }
  283. input[type=radio], input[type=checkbox], input[type=file], input[type=image] {
  284. height: auto;
  285. width: auto;
  286. }
  287. input[type=color] {
  288. margin: 3px;
  289. padding: 0 2px;
  290. min-height: 30px;
  291. width: 40px;
  292. cursor: pointer;
  293. }
  294. input[type=hidden] {
  295. height: 0;
  296. width: 0;
  297. }
  298. input[type=time] {
  299. width: initial;
  300. }
  301. /* 'Click' inputs */
  302. select,
  303. button:not(.button-vue), .button,
  304. input[type=button],
  305. input[type=submit],
  306. input[type=reset] {
  307. padding: 8px 14px;
  308. font-size: var(--default-font-size);
  309. width: auto;
  310. min-height: 36px;
  311. cursor: pointer;
  312. box-sizing: border-box;
  313. background-color: var(--color-background-dark);
  314. }
  315. select:disabled,
  316. button:not(.button-vue):disabled, .button:disabled,
  317. input[type=button]:disabled,
  318. input[type=submit]:disabled,
  319. input[type=reset]:disabled {
  320. cursor: default;
  321. }
  322. input:not([type=range]):not(.input-field__input):not([type=submit]):not([type=button]):not([type=reset]):not(.multiselect__input):not(.select2-input):not(.action-input__input),
  323. select,
  324. div[contenteditable=true],
  325. textarea {
  326. margin: 3px 3px 3px 0;
  327. padding: 0 12px;
  328. font-size: var(--default-font-size);
  329. background-color: var(--color-main-background);
  330. color: var(--color-main-text);
  331. border: 2px solid var(--color-border-dark);
  332. height: 36px;
  333. outline: none;
  334. border-radius: var(--border-radius-large);
  335. text-overflow: ellipsis;
  336. cursor: pointer;
  337. }
  338. input:not([type=range]):not(.input-field__input):not([type=submit]):not([type=button]):not([type=reset]):not(.multiselect__input):not(.select2-input):not(.action-input__input):not(:disabled):hover, input:not([type=range]):not(.input-field__input):not([type=submit]):not([type=button]):not([type=reset]):not(.multiselect__input):not(.select2-input):not(.action-input__input):not(:disabled):focus, input:not([type=range]):not(.input-field__input):not([type=submit]):not([type=button]):not([type=reset]):not(.multiselect__input):not(.select2-input):not(.action-input__input):not(:disabled):active,
  339. select:not(:disabled):hover,
  340. select:not(:disabled):focus,
  341. select:not(:disabled):active,
  342. div[contenteditable=true]:not(:disabled):hover,
  343. div[contenteditable=true]:not(:disabled):focus,
  344. div[contenteditable=true]:not(:disabled):active,
  345. textarea:not(:disabled):hover,
  346. textarea:not(:disabled):focus,
  347. textarea:not(:disabled):active {
  348. border-color: var(--color-primary-element);
  349. }
  350. input:not([type=range]):not(.input-field__input):not([type=submit]):not([type=button]):not([type=reset]):not(.multiselect__input):not(.select2-input):not(.action-input__input):not(:disabled):focus,
  351. select:not(:disabled):focus,
  352. div[contenteditable=true]:not(:disabled):focus,
  353. textarea:not(:disabled):focus {
  354. cursor: text;
  355. }
  356. .multiselect__input, .select2-input {
  357. background-color: var(--color-main-background);
  358. color: var(--color-main-text);
  359. }
  360. textarea, div[contenteditable=true] {
  361. padding: 12px;
  362. height: auto;
  363. }
  364. /* Override the ugly select arrow */
  365. select {
  366. background: var(--icon-triangle-s-dark) no-repeat right 8px center;
  367. appearance: none;
  368. background-color: var(--color-main-background);
  369. padding-right: 28px !important;
  370. }
  371. select *,
  372. button:not(.button-vue) *, .button * {
  373. cursor: pointer;
  374. }
  375. select:disabled *,
  376. button:not(.button-vue):disabled *, .button:disabled * {
  377. cursor: default;
  378. }
  379. /* Buttons */
  380. button:not(.button-vue), .button,
  381. input[type=button],
  382. input[type=submit],
  383. input[type=reset] {
  384. font-weight: bold;
  385. border-radius: var(--border-radius-pill);
  386. /* Get rid of the inside dotted line in Firefox */
  387. }
  388. button:not(.button-vue)::-moz-focus-inner, .button::-moz-focus-inner,
  389. input[type=button]::-moz-focus-inner,
  390. input[type=submit]::-moz-focus-inner,
  391. input[type=reset]::-moz-focus-inner {
  392. border: 0;
  393. }
  394. button:not(.button-vue).error, .button.error,
  395. input[type=button].error,
  396. input[type=submit].error,
  397. input[type=reset].error {
  398. background-color: var(--color-error) !important;
  399. border-color: var(--color-error) !important;
  400. color: #fff !important;
  401. }
  402. button:not(.button-vue):not(.action-button) > span, .button > span {
  403. /* icon position inside buttons */
  404. }
  405. button:not(.button-vue):not(.action-button) > span[class^=icon-], button:not(.button-vue):not(.action-button) > span[class*=" icon-"], .button > span[class^=icon-], .button > span[class*=" icon-"] {
  406. display: inline-block;
  407. vertical-align: text-bottom;
  408. opacity: 0.5;
  409. }
  410. /* Confirm inputs */
  411. input[type=text], input[type=password], input[type=email] {
  412. /* only show confirm borders if input is not focused */
  413. }
  414. input[type=text] + .icon-confirm, input[type=password] + .icon-confirm, input[type=email] + .icon-confirm {
  415. margin-left: -13px !important;
  416. border-left-color: transparent !important;
  417. border-radius: 0 var(--border-radius-large) var(--border-radius-large) 0 !important;
  418. border-width: 2px;
  419. background-clip: padding-box;
  420. /* Avoid background under border */
  421. background-color: var(--color-main-background) !important;
  422. opacity: 1;
  423. height: 36px;
  424. width: 36px;
  425. padding: 7px 6px;
  426. cursor: pointer;
  427. margin-right: 0;
  428. }
  429. input[type=text] + .icon-confirm:disabled, input[type=password] + .icon-confirm:disabled, input[type=email] + .icon-confirm:disabled {
  430. cursor: default;
  431. /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
  432. background-image: var(--icon-confirm-fade-dark);
  433. }
  434. input[type=text]:not(:active):not(:hover):not(:focus):invalid + .icon-confirm, input[type=password]:not(:active):not(:hover):not(:focus):invalid + .icon-confirm, input[type=email]:not(:active):not(:hover):not(:focus):invalid + .icon-confirm {
  435. border-color: var(--color-error);
  436. }
  437. input[type=text]:not(:active):not(:hover):not(:focus) + .icon-confirm:active, input[type=text]:not(:active):not(:hover):not(:focus) + .icon-confirm:hover, input[type=text]:not(:active):not(:hover):not(:focus) + .icon-confirm:focus, input[type=password]:not(:active):not(:hover):not(:focus) + .icon-confirm:active, input[type=password]:not(:active):not(:hover):not(:focus) + .icon-confirm:hover, input[type=password]:not(:active):not(:hover):not(:focus) + .icon-confirm:focus, input[type=email]:not(:active):not(:hover):not(:focus) + .icon-confirm:active, input[type=email]:not(:active):not(:hover):not(:focus) + .icon-confirm:hover, input[type=email]:not(:active):not(:hover):not(:focus) + .icon-confirm:focus {
  438. border-color: var(--color-primary-element) !important;
  439. border-radius: var(--border-radius) !important;
  440. }
  441. input[type=text]:not(:active):not(:hover):not(:focus) + .icon-confirm:active:disabled, input[type=text]:not(:active):not(:hover):not(:focus) + .icon-confirm:hover:disabled, input[type=text]:not(:active):not(:hover):not(:focus) + .icon-confirm:focus:disabled, input[type=password]:not(:active):not(:hover):not(:focus) + .icon-confirm:active:disabled, input[type=password]:not(:active):not(:hover):not(:focus) + .icon-confirm:hover:disabled, input[type=password]:not(:active):not(:hover):not(:focus) + .icon-confirm:focus:disabled, input[type=email]:not(:active):not(:hover):not(:focus) + .icon-confirm:active:disabled, input[type=email]:not(:active):not(:hover):not(:focus) + .icon-confirm:hover:disabled, input[type=email]:not(:active):not(:hover):not(:focus) + .icon-confirm:focus:disabled {
  442. border-color: var(--color-background-darker) !important;
  443. }
  444. input[type=text]:active + .icon-confirm, input[type=text]:hover + .icon-confirm, input[type=text]:focus + .icon-confirm, input[type=password]:active + .icon-confirm, input[type=password]:hover + .icon-confirm, input[type=password]:focus + .icon-confirm, input[type=email]:active + .icon-confirm, input[type=email]:hover + .icon-confirm, input[type=email]:focus + .icon-confirm {
  445. border-color: var(--color-primary-element) !important;
  446. border-left-color: transparent !important;
  447. /* above previous input */
  448. z-index: 2;
  449. }
  450. /* Various Fixes */
  451. button img,
  452. .button img {
  453. cursor: pointer;
  454. }
  455. select,
  456. .button.multiselect {
  457. font-weight: normal;
  458. }
  459. /* Radio & Checkboxes */
  460. input[type=checkbox], input[type=radio] {
  461. /* We do not use the variables as we keep the colours as white for this variant */
  462. }
  463. input[type=checkbox].radio, input[type=checkbox].checkbox, input[type=radio].radio, input[type=radio].checkbox {
  464. position: absolute;
  465. left: -10000px;
  466. top: auto;
  467. width: 1px;
  468. height: 1px;
  469. overflow: hidden;
  470. }
  471. input[type=checkbox].radio + label, input[type=checkbox].checkbox + label, input[type=radio].radio + label, input[type=radio].checkbox + label {
  472. user-select: none;
  473. }
  474. input[type=checkbox].radio:disabled + label, input[type=checkbox].radio:disabled + label:before, input[type=checkbox].checkbox:disabled + label, input[type=checkbox].checkbox:disabled + label:before, input[type=radio].radio:disabled + label, input[type=radio].radio:disabled + label:before, input[type=radio].checkbox:disabled + label, input[type=radio].checkbox:disabled + label:before {
  475. cursor: default;
  476. }
  477. input[type=checkbox].radio + label:before, input[type=checkbox].checkbox + label:before, input[type=radio].radio + label:before, input[type=radio].checkbox + label:before {
  478. content: "";
  479. display: inline-block;
  480. height: 14px;
  481. width: 14px;
  482. vertical-align: middle;
  483. border-radius: 50%;
  484. margin: 0 6px 3px 3px;
  485. border: 1px solid var(--color-text-lighter);
  486. }
  487. input[type=checkbox].radio:not(:disabled):not(:checked) + label:hover:before, input[type=checkbox].radio:focus + label:before, input[type=checkbox].checkbox:not(:disabled):not(:checked) + label:hover:before, input[type=checkbox].checkbox:focus + label:before, input[type=radio].radio:not(:disabled):not(:checked) + label:hover:before, input[type=radio].radio:focus + label:before, input[type=radio].checkbox:not(:disabled):not(:checked) + label:hover:before, input[type=radio].checkbox:focus + label:before {
  488. border-color: var(--color-primary-element);
  489. }
  490. input[type=checkbox].radio:focus-visible + label, input[type=checkbox].checkbox:focus-visible + label, input[type=radio].radio:focus-visible + label, input[type=radio].checkbox:focus-visible + label {
  491. outline-style: solid;
  492. outline-color: var(--color-main-text);
  493. outline-width: 1px;
  494. outline-offset: 2px;
  495. }
  496. input[type=checkbox].radio:checked + label:before, input[type=checkbox].radio.checkbox:indeterminate + label:before, input[type=checkbox].checkbox:checked + label:before, input[type=checkbox].checkbox.checkbox:indeterminate + label:before, input[type=radio].radio:checked + label:before, input[type=radio].radio.checkbox:indeterminate + label:before, input[type=radio].checkbox:checked + label:before, input[type=radio].checkbox.checkbox:indeterminate + label:before {
  497. /* ^ :indeterminate have a strange behavior on radio,
  498. so we respecified the checkbox class again to be safe */
  499. box-shadow: inset 0px 0px 0px 2px var(--color-main-background);
  500. background-color: var(--color-primary-element);
  501. border-color: var(--color-primary-element);
  502. }
  503. input[type=checkbox].radio:disabled + label:before, input[type=checkbox].checkbox:disabled + label:before, input[type=radio].radio:disabled + label:before, input[type=radio].checkbox:disabled + label:before {
  504. border: 1px solid var(--color-text-lighter);
  505. background-color: var(--color-text-maxcontrast) !important;
  506. /* override other status */
  507. }
  508. input[type=checkbox].radio:checked:disabled + label:before, input[type=checkbox].checkbox:checked:disabled + label:before, input[type=radio].radio:checked:disabled + label:before, input[type=radio].checkbox:checked:disabled + label:before {
  509. background-color: var(--color-text-maxcontrast);
  510. }
  511. input[type=checkbox].radio + label ~ em, input[type=checkbox].checkbox + label ~ em, input[type=radio].radio + label ~ em, input[type=radio].checkbox + label ~ em {
  512. display: inline-block;
  513. margin-left: 25px;
  514. }
  515. input[type=checkbox].radio + label ~ em:last-of-type, input[type=checkbox].checkbox + label ~ em:last-of-type, input[type=radio].radio + label ~ em:last-of-type, input[type=radio].checkbox + label ~ em:last-of-type {
  516. margin-bottom: 14px;
  517. }
  518. input[type=checkbox].checkbox + label:before, input[type=radio].checkbox + label:before {
  519. border-radius: 1px;
  520. height: 14px;
  521. width: 14px;
  522. box-shadow: none !important;
  523. background-position: center;
  524. }
  525. input[type=checkbox].checkbox:checked + label:before, input[type=radio].checkbox:checked + label:before {
  526. background-image: url("../img/actions/checkbox-mark.svg");
  527. }
  528. input[type=checkbox].checkbox:indeterminate + label:before, input[type=radio].checkbox:indeterminate + label:before {
  529. background-image: url("../img/actions/checkbox-mixed.svg");
  530. }
  531. input[type=checkbox].radio--white + label:before, input[type=checkbox].radio--white:focus + label:before, input[type=checkbox].checkbox--white + label:before, input[type=checkbox].checkbox--white:focus + label:before, input[type=radio].radio--white + label:before, input[type=radio].radio--white:focus + label:before, input[type=radio].checkbox--white + label:before, input[type=radio].checkbox--white:focus + label:before {
  532. border-color: #bababa;
  533. }
  534. input[type=checkbox].radio--white:not(:disabled):not(:checked) + label:hover:before, input[type=checkbox].checkbox--white:not(:disabled):not(:checked) + label:hover:before, input[type=radio].radio--white:not(:disabled):not(:checked) + label:hover:before, input[type=radio].checkbox--white:not(:disabled):not(:checked) + label:hover:before {
  535. border-color: #fff;
  536. }
  537. input[type=checkbox].radio--white:checked + label:before, input[type=checkbox].checkbox--white:checked + label:before, input[type=radio].radio--white:checked + label:before, input[type=radio].checkbox--white:checked + label:before {
  538. box-shadow: inset 0px 0px 0px 2px var(--color-main-background);
  539. background-color: #dbdbdb;
  540. border-color: #dbdbdb;
  541. }
  542. input[type=checkbox].radio--white:disabled + label:before, input[type=checkbox].checkbox--white:disabled + label:before, input[type=radio].radio--white:disabled + label:before, input[type=radio].checkbox--white:disabled + label:before {
  543. background-color: #bababa !important;
  544. /* override other status */
  545. border-color: rgba(255, 255, 255, 0.4) !important;
  546. /* override other status */
  547. }
  548. input[type=checkbox].radio--white:checked:disabled + label:before, input[type=checkbox].checkbox--white:checked:disabled + label:before, input[type=radio].radio--white:checked:disabled + label:before, input[type=radio].checkbox--white:checked:disabled + label:before {
  549. box-shadow: inset 0px 0px 0px 2px var(--color-main-background);
  550. border-color: rgba(255, 255, 255, 0.4) !important;
  551. /* override other status */
  552. background-color: #bababa;
  553. }
  554. input[type=checkbox].checkbox--white:checked + label:before, input[type=checkbox].checkbox--white:indeterminate + label:before, input[type=radio].checkbox--white:checked + label:before, input[type=radio].checkbox--white:indeterminate + label:before {
  555. background-color: transparent !important;
  556. /* Override default checked */
  557. border-color: #fff !important;
  558. /* Override default checked */
  559. background-image: url("../img/actions/checkbox-mark-white.svg");
  560. }
  561. input[type=checkbox].checkbox--white:indeterminate + label:before, input[type=radio].checkbox--white:indeterminate + label:before {
  562. background-image: url("../img/actions/checkbox-mixed-white.svg");
  563. }
  564. input[type=checkbox].checkbox--white:disabled + label:before, input[type=radio].checkbox--white:disabled + label:before {
  565. opacity: 0.7;
  566. /* No other choice for white background image */
  567. }
  568. /* Select2 overriding. Merged to core with vendor stylesheet */
  569. div.select2-drop {
  570. margin-top: -2px;
  571. background-color: var(--color-main-background);
  572. }
  573. div.select2-drop.select2-drop-active {
  574. border-color: var(--color-border-dark);
  575. }
  576. div.select2-drop .avatar {
  577. display: inline-block;
  578. margin-right: 8px;
  579. vertical-align: middle;
  580. }
  581. div.select2-drop .avatar img {
  582. cursor: pointer;
  583. }
  584. div.select2-drop .select2-search input {
  585. min-height: auto;
  586. background: var(--icon-search-dark) no-repeat right center !important;
  587. background-origin: content-box !important;
  588. }
  589. div.select2-drop .select2-results {
  590. max-height: 250px;
  591. margin: 0;
  592. padding: 0;
  593. }
  594. div.select2-drop .select2-results .select2-result-label {
  595. white-space: nowrap;
  596. overflow: hidden;
  597. text-overflow: ellipsis;
  598. }
  599. div.select2-drop .select2-results .select2-result-label span {
  600. cursor: pointer;
  601. }
  602. div.select2-drop .select2-results .select2-result-label span em {
  603. cursor: inherit;
  604. background: unset;
  605. }
  606. div.select2-drop .select2-results .select2-result,
  607. div.select2-drop .select2-results .select2-no-results,
  608. div.select2-drop .select2-results .select2-searching {
  609. position: relative;
  610. display: list-item;
  611. padding: 12px;
  612. background-color: transparent;
  613. cursor: pointer;
  614. color: var(--color-text-lighter);
  615. }
  616. div.select2-drop .select2-results .select2-result.select2-selected {
  617. background-color: var(--color-background-dark);
  618. }
  619. div.select2-drop .select2-results .select2-highlighted {
  620. background-color: var(--color-background-dark);
  621. color: var(--color-main-text);
  622. }
  623. .select2-chosen .avatar,
  624. .select2-chosen .avatar img,
  625. #select2-drop .avatar,
  626. #select2-drop .avatar img {
  627. cursor: pointer;
  628. }
  629. div.select2-container-multi .select2-choices, div.select2-container-multi.select2-container-active .select2-choices {
  630. box-shadow: none;
  631. white-space: nowrap;
  632. text-overflow: ellipsis;
  633. background: var(--color-main-background);
  634. color: var(--color-text-lighter) !important;
  635. box-sizing: content-box;
  636. border-radius: var(--border-radius-large);
  637. border: 2px solid var(--color-border-dark);
  638. margin: 0;
  639. padding: 6px;
  640. min-height: 44px;
  641. }
  642. div.select2-container-multi .select2-choices:focus-within, div.select2-container-multi.select2-container-active .select2-choices:focus-within {
  643. border-color: var(--color-primary);
  644. }
  645. div.select2-container-multi .select2-choices .select2-search-choice, div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice {
  646. line-height: 20px;
  647. padding-left: 5px;
  648. }
  649. div.select2-container-multi .select2-choices .select2-search-choice.select2-search-choice-focus, div.select2-container-multi .select2-choices .select2-search-choice:hover, div.select2-container-multi .select2-choices .select2-search-choice:active, div.select2-container-multi .select2-choices .select2-search-choice, div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice.select2-search-choice-focus, div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice:hover, div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice:active, div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice {
  650. background-image: none;
  651. background-color: var(--color-main-background);
  652. color: var(--color-text-lighter);
  653. border: 1px solid var(--color-border-dark);
  654. }
  655. div.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close, div.select2-container-multi.select2-container-active .select2-choices .select2-search-choice .select2-search-choice-close {
  656. display: none;
  657. }
  658. div.select2-container-multi .select2-choices .select2-search-field input, div.select2-container-multi.select2-container-active .select2-choices .select2-search-field input {
  659. line-height: 20px;
  660. min-height: 28px;
  661. max-height: 28px;
  662. color: var(--color-main-text);
  663. }
  664. div.select2-container-multi .select2-choices .select2-search-field input.select2-active, div.select2-container-multi.select2-container-active .select2-choices .select2-search-field input.select2-active {
  665. background: none !important;
  666. }
  667. div.select2-container {
  668. margin: 3px 3px 3px 0;
  669. }
  670. div.select2-container.select2-container-multi .select2-choices {
  671. display: flex;
  672. flex-wrap: wrap;
  673. }
  674. div.select2-container.select2-container-multi .select2-choices li {
  675. float: none;
  676. }
  677. div.select2-container a.select2-choice {
  678. box-shadow: none;
  679. white-space: nowrap;
  680. text-overflow: ellipsis;
  681. background: var(--color-main-background);
  682. color: var(--color-text-lighter) !important;
  683. box-sizing: content-box;
  684. border-radius: var(--border-radius-large);
  685. border: 2px solid var(--color-border-dark);
  686. margin: 0;
  687. padding: 6px 12px;
  688. min-height: 44px;
  689. }
  690. div.select2-container a.select2-choice:focus-within {
  691. border-color: var(--color-primary);
  692. }
  693. div.select2-container a.select2-choice .select2-search-choice {
  694. line-height: 20px;
  695. padding-left: 5px;
  696. background-image: none;
  697. background-color: var(--color-background-dark);
  698. border-color: var(--color-background-dark);
  699. }
  700. div.select2-container a.select2-choice .select2-search-choice .select2-search-choice-close {
  701. display: none;
  702. }
  703. div.select2-container a.select2-choice .select2-search-choice.select2-search-choice-focus, div.select2-container a.select2-choice .select2-search-choice:hover {
  704. background-color: var(--color-border);
  705. border-color: var(--color-border);
  706. }
  707. div.select2-container a.select2-choice .select2-arrow {
  708. background: none;
  709. border-radius: 0;
  710. border: none;
  711. }
  712. div.select2-container a.select2-choice .select2-arrow b {
  713. background: var(--icon-triangle-s-dark) no-repeat center !important;
  714. opacity: 0.5;
  715. }
  716. div.select2-container a.select2-choice:hover .select2-arrow b, div.select2-container a.select2-choice:focus .select2-arrow b, div.select2-container a.select2-choice:active .select2-arrow b {
  717. opacity: 0.7;
  718. }
  719. div.select2-container a.select2-choice .select2-search-field input {
  720. line-height: 20px;
  721. }
  722. /* Vue v-select */
  723. .v-select {
  724. margin: 3px 3px 3px 0;
  725. display: inline-block;
  726. }
  727. .v-select .dropdown-toggle {
  728. display: flex !important;
  729. flex-wrap: wrap;
  730. }
  731. .v-select .dropdown-toggle .selected-tag {
  732. line-height: 20px;
  733. padding-left: 5px;
  734. background-image: none;
  735. background-color: var(--color-main-background);
  736. color: var(--color-text-lighter);
  737. border: 1px solid var(--color-border-dark);
  738. display: inline-flex;
  739. align-items: center;
  740. }
  741. .v-select .dropdown-toggle .selected-tag .close {
  742. margin-left: 3px;
  743. }
  744. .v-select .dropdown-menu {
  745. padding: 0;
  746. }
  747. .v-select .dropdown-menu li {
  748. padding: 5px;
  749. position: relative;
  750. display: list-item;
  751. background-color: transparent;
  752. cursor: pointer;
  753. color: var(--color-text-lighter);
  754. }
  755. .v-select .dropdown-menu li a {
  756. white-space: nowrap;
  757. overflow: hidden;
  758. text-overflow: ellipsis;
  759. height: 25px;
  760. padding: 3px 7px 4px 2px;
  761. margin: 0;
  762. cursor: pointer;
  763. min-height: 1em;
  764. -webkit-touch-callout: none;
  765. -webkit-user-select: none;
  766. -moz-user-select: none;
  767. -ms-user-select: none;
  768. user-select: none;
  769. display: inline-flex;
  770. align-items: center;
  771. background-color: transparent !important;
  772. color: inherit !important;
  773. }
  774. .v-select .dropdown-menu li a::before {
  775. content: " ";
  776. background-image: var(--icon-checkmark-dark);
  777. background-repeat: no-repeat;
  778. background-position: center;
  779. min-width: 16px;
  780. min-height: 16px;
  781. display: block;
  782. opacity: 0.5;
  783. margin-right: 5px;
  784. visibility: hidden;
  785. }
  786. .v-select .dropdown-menu li.highlight {
  787. color: var(--color-main-text);
  788. }
  789. .v-select .dropdown-menu li.active > a {
  790. background-color: var(--color-background-dark);
  791. color: var(--color-main-text);
  792. }
  793. .v-select .dropdown-menu li.active > a::before {
  794. visibility: visible;
  795. }
  796. /* Vue multiselect */
  797. .multiselect.multiselect-vue {
  798. margin: 1px 2px;
  799. padding: 0 !important;
  800. display: inline-block;
  801. width: 160px;
  802. position: relative;
  803. background-color: var(--color-main-background);
  804. /* results wrapper */
  805. }
  806. .multiselect.multiselect-vue.multiselect--active {
  807. /* Opened: force display the input */
  808. }
  809. .multiselect.multiselect-vue.multiselect--active input.multiselect__input {
  810. opacity: 1 !important;
  811. cursor: text !important;
  812. }
  813. .multiselect.multiselect-vue.multiselect--disabled, .multiselect.multiselect-vue.multiselect--disabled .multiselect__single {
  814. background-color: var(--color-background-dark) !important;
  815. }
  816. .multiselect.multiselect-vue .multiselect__tags {
  817. /* space between tags and limit tag */
  818. display: flex;
  819. flex-wrap: nowrap;
  820. overflow: hidden;
  821. border: 1px solid var(--color-border-dark);
  822. cursor: pointer;
  823. position: relative;
  824. border-radius: var(--border-radius);
  825. height: 36px;
  826. /* tag wrapper */
  827. /* Single select default value */
  828. /* displayed text if tag limit reached */
  829. /* default multiselect input for search and placeholder */
  830. }
  831. .multiselect.multiselect-vue .multiselect__tags .multiselect__tags-wrap {
  832. align-items: center;
  833. display: inline-flex;
  834. overflow: hidden;
  835. max-width: 100%;
  836. position: relative;
  837. padding: 3px 5px;
  838. flex-grow: 1;
  839. /* no tags or simple select? Show input directly
  840. input is used to display single value */
  841. /* selected tag */
  842. }
  843. .multiselect.multiselect-vue .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input {
  844. opacity: 1 !important;
  845. /* hide default empty text, show input instead */
  846. }
  847. .multiselect.multiselect-vue .multiselect__tags .multiselect__tags-wrap:empty ~ input.multiselect__input + span:not(.multiselect__single) {
  848. display: none;
  849. }
  850. .multiselect.multiselect-vue .multiselect__tags .multiselect__tags-wrap .multiselect__tag {
  851. flex: 1 0 0;
  852. line-height: 20px;
  853. padding: 1px 5px;
  854. background-image: none;
  855. color: var(--color-text-lighter);
  856. border: 1px solid var(--color-border-dark);
  857. display: inline-flex;
  858. align-items: center;
  859. border-radius: var(--border-radius);
  860. /* require to override the default width
  861. and force the tag to shring properly */
  862. min-width: 0;
  863. max-width: 50%;
  864. max-width: fit-content;
  865. max-width: -moz-fit-content;
  866. /* css hack, detect if more than two tags
  867. if so, flex-basis is set to half */
  868. /* ellipsis the groups to be sure
  869. we display at least two of them */
  870. }
  871. .multiselect.multiselect-vue .multiselect__tags .multiselect__tags-wrap .multiselect__tag:only-child {
  872. flex: 0 1 auto;
  873. }
  874. .multiselect.multiselect-vue .multiselect__tags .multiselect__tags-wrap .multiselect__tag:not(:last-child) {
  875. margin-right: 5px;
  876. }
  877. .multiselect.multiselect-vue .multiselect__tags .multiselect__tags-wrap .multiselect__tag > span {
  878. white-space: nowrap;
  879. text-overflow: ellipsis;
  880. overflow: hidden;
  881. }
  882. .multiselect.multiselect-vue .multiselect__tags .multiselect__single {
  883. padding: 8px 10px;
  884. flex: 0 0 100%;
  885. z-index: 1;
  886. /* above input */
  887. background-color: var(--color-main-background);
  888. cursor: pointer;
  889. line-height: 17px;
  890. }
  891. .multiselect.multiselect-vue .multiselect__tags .multiselect__strong,
  892. .multiselect.multiselect-vue .multiselect__tags .multiselect__limit {
  893. flex: 0 0 auto;
  894. line-height: 20px;
  895. color: var(--color-text-lighter);
  896. display: inline-flex;
  897. align-items: center;
  898. opacity: 0.7;
  899. margin-right: 5px;
  900. /* above the input */
  901. z-index: 5;
  902. }
  903. .multiselect.multiselect-vue .multiselect__tags input.multiselect__input {
  904. width: 100% !important;
  905. position: absolute !important;
  906. margin: 0;
  907. opacity: 0;
  908. /* let's leave it on top of tags but hide it */
  909. height: 100%;
  910. border: none;
  911. /* override hide to force show the placeholder */
  912. display: block !important;
  913. /* only when not active */
  914. cursor: pointer;
  915. }
  916. .multiselect.multiselect-vue .multiselect__content-wrapper {
  917. position: absolute;
  918. width: 100%;
  919. margin-top: -1px;
  920. border: 1px solid var(--color-border-dark);
  921. background: var(--color-main-background);
  922. z-index: 50;
  923. max-height: 175px !important;
  924. overflow-y: auto;
  925. }
  926. .multiselect.multiselect-vue .multiselect__content-wrapper .multiselect__content {
  927. width: 100%;
  928. padding: 5px 0;
  929. }
  930. .multiselect.multiselect-vue .multiselect__content-wrapper li {
  931. padding: 5px;
  932. position: relative;
  933. display: flex;
  934. align-items: center;
  935. background-color: transparent;
  936. }
  937. .multiselect.multiselect-vue .multiselect__content-wrapper li,
  938. .multiselect.multiselect-vue .multiselect__content-wrapper li span {
  939. cursor: pointer;
  940. }
  941. .multiselect.multiselect-vue .multiselect__content-wrapper li > span {
  942. white-space: nowrap;
  943. overflow: hidden;
  944. text-overflow: ellipsis;
  945. height: 20px;
  946. margin: 0;
  947. min-height: 1em;
  948. -webkit-touch-callout: none;
  949. -webkit-user-select: none;
  950. -moz-user-select: none;
  951. -ms-user-select: none;
  952. user-select: none;
  953. display: inline-flex;
  954. align-items: center;
  955. background-color: transparent !important;
  956. color: var(--color-text-lighter);
  957. width: 100%;
  958. /* selected checkmark icon */
  959. /* add the prop tag-placeholder="create" to add the +
  960. * icon on top of an unknown-and-ready-to-be-created entry
  961. */
  962. }
  963. .multiselect.multiselect-vue .multiselect__content-wrapper li > span::before {
  964. content: " ";
  965. background-image: var(--icon-checkmark-dark);
  966. background-repeat: no-repeat;
  967. background-position: center;
  968. min-width: 16px;
  969. min-height: 16px;
  970. display: block;
  971. opacity: 0.5;
  972. margin-right: 5px;
  973. visibility: hidden;
  974. }
  975. .multiselect.multiselect-vue .multiselect__content-wrapper li > span.multiselect__option--disabled {
  976. background-color: var(--color-background-dark);
  977. opacity: 0.5;
  978. }
  979. .multiselect.multiselect-vue .multiselect__content-wrapper li > span[data-select=create]::before {
  980. background-image: var(--icon-add-dark);
  981. visibility: visible;
  982. }
  983. .multiselect.multiselect-vue .multiselect__content-wrapper li > span.multiselect__option--highlight {
  984. color: var(--color-main-text);
  985. }
  986. .multiselect.multiselect-vue .multiselect__content-wrapper li > span:not(.multiselect__option--disabled):hover::before {
  987. opacity: 0.3;
  988. }
  989. .multiselect.multiselect-vue .multiselect__content-wrapper li > span.multiselect__option--selected::before, .multiselect.multiselect-vue .multiselect__content-wrapper li > span:not(.multiselect__option--disabled):hover::before {
  990. visibility: visible;
  991. }
  992. /* Progressbar */
  993. progress:not(.vue) {
  994. display: block;
  995. width: 100%;
  996. padding: 0;
  997. border: 0 none;
  998. background-color: var(--color-background-dark);
  999. border-radius: var(--border-radius);
  1000. flex-basis: 100%;
  1001. height: 5px;
  1002. overflow: hidden;
  1003. }
  1004. progress:not(.vue).warn::-moz-progress-bar {
  1005. background: var(--color-error);
  1006. }
  1007. progress:not(.vue).warn::-webkit-progress-value {
  1008. background: var(--color-error);
  1009. }
  1010. progress:not(.vue)::-webkit-progress-bar {
  1011. background: transparent;
  1012. }
  1013. progress:not(.vue)::-moz-progress-bar {
  1014. border-radius: var(--border-radius);
  1015. background: var(--color-primary);
  1016. transition: 250ms all ease-in-out;
  1017. }
  1018. progress:not(.vue)::-webkit-progress-value {
  1019. border-radius: var(--border-radius);
  1020. background: var(--color-primary);
  1021. transition: 250ms all ease-in-out;
  1022. }
  1023. /* Animation */
  1024. @keyframes shake {
  1025. 10%, 90% {
  1026. transform: translate(-1px);
  1027. }
  1028. 20%, 80% {
  1029. transform: translate(2px);
  1030. }
  1031. 30%, 50%, 70% {
  1032. transform: translate(-4px);
  1033. }
  1034. 40%, 60% {
  1035. transform: translate(4px);
  1036. }
  1037. }
  1038. .shake {
  1039. animation-name: shake;
  1040. animation-duration: 0.7s;
  1041. animation-timing-function: ease-out;
  1042. }
  1043. label.infield {
  1044. position: absolute;
  1045. left: -10000px;
  1046. top: -10000px;
  1047. width: 1px;
  1048. height: 1px;
  1049. overflow: hidden;
  1050. }
  1051. ::placeholder,
  1052. ::-ms-input-placeholder,
  1053. ::-webkit-input-placeholder {
  1054. color: var(--color-text-maxcontrast);
  1055. font-size: var(--default-font-size);
  1056. }
  1057. /*# sourceMappingURL=inputs.css.map */