@citolab/qti-components 7.1.0 → 7.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (259) hide show
  1. package/cdn/chunks/chunk-27WPPEWB.js +1 -0
  2. package/cdn/chunks/chunk-2HL3OFY7.js +1 -0
  3. package/cdn/chunks/chunk-33UT2QKP.js +5 -0
  4. package/cdn/chunks/chunk-3M3VWZCU.js +8 -0
  5. package/cdn/chunks/chunk-3QAOJL7Y.js +1007 -0
  6. package/cdn/chunks/chunk-3R4ZTZYA.js +5 -0
  7. package/cdn/chunks/chunk-6RVWXAM7.js +8 -0
  8. package/cdn/chunks/chunk-7HXSSTSU.js +1 -0
  9. package/cdn/chunks/chunk-7JXSJZV5.js +8 -0
  10. package/cdn/chunks/chunk-7RLNGBXK.js +1 -0
  11. package/cdn/chunks/chunk-AHZ3W4YP.js +8 -0
  12. package/cdn/chunks/chunk-C73FEG6J.js +1 -0
  13. package/cdn/chunks/chunk-CFS5WXCD.js +1 -0
  14. package/cdn/chunks/chunk-CZDMOYYF.js +1 -0
  15. package/cdn/chunks/chunk-EEFB2V7Q.js +27 -0
  16. package/cdn/chunks/chunk-ELZQC26E.js +5 -0
  17. package/cdn/chunks/chunk-EPOG3VSF.js +5 -0
  18. package/cdn/chunks/chunk-FDKTSUOQ.js +48 -0
  19. package/cdn/chunks/chunk-FJOHSSA3.js +1 -0
  20. package/cdn/chunks/chunk-G5YNM432.js +5 -0
  21. package/cdn/chunks/chunk-GIJVMMKY.js +1007 -0
  22. package/cdn/chunks/chunk-GTHARXCW.js +10 -0
  23. package/cdn/chunks/chunk-IRLG6H7G.js +1 -0
  24. package/cdn/chunks/chunk-J3F2YSRA.js +1007 -0
  25. package/cdn/chunks/chunk-J4ISS5TZ.js +5 -0
  26. package/cdn/chunks/chunk-KBJYE746.js +5 -0
  27. package/cdn/chunks/chunk-KIH2VB5Z.js +1 -0
  28. package/cdn/chunks/chunk-KJJG5SSY.js +1 -0
  29. package/cdn/chunks/chunk-KLRM2GAU.js +8 -0
  30. package/cdn/chunks/chunk-KQT5S3DK.js +5 -0
  31. package/cdn/chunks/chunk-LDKKOMIK.js +3570 -0
  32. package/cdn/chunks/chunk-LDXZOGPY.js +10 -0
  33. package/cdn/chunks/chunk-LUVDXKE2.js +5 -0
  34. package/cdn/chunks/chunk-LZQKENA3.js +1 -0
  35. package/cdn/chunks/chunk-MGLK2Q6K.js +5 -0
  36. package/cdn/chunks/chunk-MK2CR5DP.js +1 -0
  37. package/cdn/chunks/chunk-N5JQAYOR.js +1 -0
  38. package/cdn/chunks/chunk-NJUBWVY3.js +10 -0
  39. package/cdn/chunks/chunk-NW5VVFA5.js +5 -0
  40. package/cdn/chunks/chunk-OYUWBJSX.js +1 -0
  41. package/cdn/chunks/chunk-PBZODDGJ.js +1 -0
  42. package/cdn/chunks/chunk-PJFJOZNR.js +48 -0
  43. package/cdn/chunks/chunk-PMIMCEQ2.js +1 -0
  44. package/cdn/chunks/chunk-PYOOOJUP.js +3547 -0
  45. package/cdn/chunks/chunk-Q6HFDDZ4.js +1 -0
  46. package/cdn/chunks/chunk-QQR6POPY.js +1 -0
  47. package/cdn/chunks/chunk-QS2LH2IW.js +1007 -0
  48. package/cdn/chunks/chunk-QUFRWTHS.js +1 -0
  49. package/cdn/chunks/chunk-RJB5E47I.js +1 -0
  50. package/cdn/chunks/chunk-SFY52QPM.js +1 -0
  51. package/cdn/chunks/chunk-SUXBSENJ.js +48 -0
  52. package/cdn/chunks/chunk-SYO32O6X.js +1 -0
  53. package/cdn/chunks/chunk-TUWPPE7H.js +1 -0
  54. package/cdn/chunks/chunk-UHILPQTT.js +10 -0
  55. package/cdn/chunks/chunk-UOY4MCKX.js +6 -0
  56. package/cdn/chunks/chunk-VLCD4DFD.js +8 -0
  57. package/cdn/chunks/chunk-VRTU4ZV6.js +48 -0
  58. package/cdn/chunks/chunk-VXDODYB5.js +1007 -0
  59. package/cdn/chunks/chunk-W7GYEQJQ.js +1 -0
  60. package/cdn/chunks/chunk-WNI2D7SG.js +1 -0
  61. package/cdn/chunks/chunk-WNJ3YFMW.js +1 -0
  62. package/cdn/chunks/chunk-WRFAZSRX.js +1007 -0
  63. package/cdn/chunks/chunk-WTUTTA5R.js +1 -0
  64. package/cdn/chunks/chunk-WXFIEBQR.js +0 -0
  65. package/cdn/chunks/chunk-X75XIXUI.js +10 -0
  66. package/cdn/chunks/chunk-XPI6OOWN.js +27 -0
  67. package/cdn/chunks/chunk-YBPCVJIX.js +10 -0
  68. package/cdn/chunks/chunk-YTSCJPU2.js +1007 -0
  69. package/cdn/chunks/chunk-YZQZGOYM.js +1 -0
  70. package/cdn/exports/session.context.js +1 -1
  71. package/cdn/exports/test.context.js +1 -1
  72. package/cdn/index.global.js +1 -1
  73. package/cdn/index.js +1 -1
  74. package/cdn/qti-components/index.js +1 -1
  75. package/cdn/qti-test/components/index.js +1 -1
  76. package/cdn/qti-test/components/test-navigation.js +1 -1
  77. package/cdn/qti-test/components/test-print-context.js +1 -0
  78. package/cdn/qti-test/components/test-print-item-variables copy.js +1 -0
  79. package/cdn/qti-test/components/test-print-item-variables.js +1 -1
  80. package/cdn/qti-test/components/test-print-item-variables.stories copy.js +233 -0
  81. package/cdn/qti-test/components/test-print-test-context.js +1 -0
  82. package/cdn/qti-test/components/test-view.js +1 -1
  83. package/cdn/qti-test/core/index.js +1 -1
  84. package/dist/chunks/chunk-2BVFKYAB.js +659 -0
  85. package/dist/chunks/chunk-2BVFKYAB.js.map +1 -0
  86. package/dist/chunks/chunk-2ZTRBYHP.js +660 -0
  87. package/dist/chunks/chunk-2ZTRBYHP.js.map +1 -0
  88. package/dist/chunks/chunk-36LEJZEY.js +87 -0
  89. package/dist/chunks/chunk-36LEJZEY.js.map +1 -0
  90. package/dist/chunks/chunk-373M5NVS.js +62 -0
  91. package/dist/chunks/chunk-373M5NVS.js.map +1 -0
  92. package/dist/chunks/chunk-3DEV5ARX.js +89 -0
  93. package/dist/chunks/chunk-3DEV5ARX.js.map +1 -0
  94. package/dist/chunks/chunk-3GCBMXXY.js +62 -0
  95. package/dist/chunks/chunk-3GCBMXXY.js.map +1 -0
  96. package/dist/chunks/chunk-3NH5KOQ4.js +89 -0
  97. package/dist/chunks/chunk-3NH5KOQ4.js.map +1 -0
  98. package/dist/chunks/chunk-4BIRH5VP.js +99 -0
  99. package/dist/chunks/chunk-4BIRH5VP.js.map +1 -0
  100. package/dist/chunks/chunk-4O3EJ3SA.js +3884 -0
  101. package/dist/chunks/chunk-4O3EJ3SA.js.map +1 -0
  102. package/dist/chunks/chunk-4Z3IMDB5.js +84 -0
  103. package/dist/chunks/chunk-4Z3IMDB5.js.map +1 -0
  104. package/dist/chunks/chunk-6ITJ2I3A.js +82 -0
  105. package/dist/chunks/chunk-6ITJ2I3A.js.map +1 -0
  106. package/dist/chunks/chunk-75ZDJN64.js +32 -0
  107. package/dist/chunks/chunk-75ZDJN64.js.map +1 -0
  108. package/dist/chunks/chunk-76SJLOAE.js +84 -0
  109. package/dist/chunks/chunk-76SJLOAE.js.map +1 -0
  110. package/dist/chunks/chunk-7JS7FRDO.js +89 -0
  111. package/dist/chunks/chunk-7JS7FRDO.js.map +1 -0
  112. package/dist/chunks/chunk-7WL6TAJE.js +6872 -0
  113. package/dist/chunks/chunk-7WL6TAJE.js.map +1 -0
  114. package/dist/chunks/chunk-AD5H6KYS.js +78 -0
  115. package/dist/chunks/chunk-AD5H6KYS.js.map +1 -0
  116. package/dist/chunks/chunk-AQLCQATM.js +62 -0
  117. package/dist/chunks/chunk-AQLCQATM.js.map +1 -0
  118. package/dist/chunks/chunk-AWQHFFVL.js +659 -0
  119. package/dist/chunks/chunk-AWQHFFVL.js.map +1 -0
  120. package/dist/chunks/chunk-BO6QD3VK.js +27 -0
  121. package/dist/chunks/chunk-BO6QD3VK.js.map +1 -0
  122. package/dist/chunks/chunk-BWM6SEM3.js +659 -0
  123. package/dist/chunks/chunk-BWM6SEM3.js.map +1 -0
  124. package/dist/chunks/chunk-C2FVCRYJ.js +660 -0
  125. package/dist/chunks/chunk-C2FVCRYJ.js.map +1 -0
  126. package/dist/chunks/chunk-CIVMCP3W.js +78 -0
  127. package/dist/chunks/chunk-CIVMCP3W.js.map +1 -0
  128. package/dist/chunks/chunk-CJADUWEC.js +10 -0
  129. package/dist/chunks/chunk-CJADUWEC.js.map +1 -0
  130. package/dist/chunks/chunk-DCKLAFBL.js +79 -0
  131. package/dist/chunks/chunk-DCKLAFBL.js.map +1 -0
  132. package/dist/chunks/chunk-EHRC7LG6.js +3638 -0
  133. package/dist/chunks/chunk-EHRC7LG6.js.map +1 -0
  134. package/dist/chunks/chunk-ELXD2ZSR.js +218 -0
  135. package/dist/chunks/chunk-ELXD2ZSR.js.map +1 -0
  136. package/dist/chunks/chunk-EQUEIZJL.js +27 -0
  137. package/dist/chunks/chunk-EQUEIZJL.js.map +1 -0
  138. package/dist/chunks/chunk-EREPAU3B.js +80 -0
  139. package/dist/chunks/chunk-EREPAU3B.js.map +1 -0
  140. package/dist/chunks/chunk-EXOIDEQ6.js +660 -0
  141. package/dist/chunks/chunk-EXOIDEQ6.js.map +1 -0
  142. package/dist/chunks/chunk-FFF7WZJF.js +33 -0
  143. package/dist/chunks/chunk-FFF7WZJF.js.map +1 -0
  144. package/dist/chunks/chunk-FJJMZEPV.js +95 -0
  145. package/dist/chunks/chunk-FJJMZEPV.js.map +1 -0
  146. package/dist/chunks/chunk-G5DLHZE2.js +659 -0
  147. package/dist/chunks/chunk-G5DLHZE2.js.map +1 -0
  148. package/dist/chunks/chunk-HD63HGFY.js +52 -0
  149. package/dist/chunks/chunk-HD63HGFY.js.map +1 -0
  150. package/dist/chunks/chunk-HUKKTEBP.js +99 -0
  151. package/dist/chunks/chunk-HUKKTEBP.js.map +1 -0
  152. package/dist/chunks/chunk-HXGGGOV2.js +86 -0
  153. package/dist/chunks/chunk-HXGGGOV2.js.map +1 -0
  154. package/dist/chunks/chunk-HZYAIUVZ.js +6872 -0
  155. package/dist/chunks/chunk-HZYAIUVZ.js.map +1 -0
  156. package/dist/chunks/chunk-IT744RXI.js +75 -0
  157. package/dist/chunks/chunk-IT744RXI.js.map +1 -0
  158. package/dist/chunks/chunk-IXVOEGNZ.js +87 -0
  159. package/dist/chunks/chunk-IXVOEGNZ.js.map +1 -0
  160. package/dist/chunks/chunk-JEM74SR3.js +85 -0
  161. package/dist/chunks/chunk-JEM74SR3.js.map +1 -0
  162. package/dist/chunks/chunk-JP22YLJ6.js +219 -0
  163. package/dist/chunks/chunk-JP22YLJ6.js.map +1 -0
  164. package/dist/chunks/chunk-JVGOS45U.js +660 -0
  165. package/dist/chunks/chunk-JVGOS45U.js.map +1 -0
  166. package/dist/chunks/chunk-JWVGRAWQ.js +6872 -0
  167. package/dist/chunks/chunk-JWVGRAWQ.js.map +1 -0
  168. package/dist/chunks/chunk-JWX6ZOZ6.js +86 -0
  169. package/dist/chunks/chunk-JWX6ZOZ6.js.map +1 -0
  170. package/dist/chunks/chunk-JZMZLOTW.js +32 -0
  171. package/dist/chunks/chunk-JZMZLOTW.js.map +1 -0
  172. package/dist/chunks/chunk-KS3SCUUO.js +92 -0
  173. package/dist/chunks/chunk-KS3SCUUO.js.map +1 -0
  174. package/dist/chunks/chunk-LOPCNZ26.js +95 -0
  175. package/dist/chunks/chunk-LOPCNZ26.js.map +1 -0
  176. package/dist/chunks/chunk-M4E2ACHZ.js +75 -0
  177. package/dist/chunks/chunk-M4E2ACHZ.js.map +1 -0
  178. package/dist/chunks/chunk-MQS7RZFR.js +85 -0
  179. package/dist/chunks/chunk-MQS7RZFR.js.map +1 -0
  180. package/dist/chunks/chunk-N3JFTFIL.js +79 -0
  181. package/dist/chunks/chunk-N3JFTFIL.js.map +1 -0
  182. package/dist/chunks/chunk-OSMLF3OH.js +6868 -0
  183. package/dist/chunks/chunk-OSMLF3OH.js.map +1 -0
  184. package/dist/chunks/chunk-OWWUE3LK.js +660 -0
  185. package/dist/chunks/chunk-OWWUE3LK.js.map +1 -0
  186. package/dist/chunks/chunk-P36CLOLO.js +27 -0
  187. package/dist/chunks/chunk-P36CLOLO.js.map +1 -0
  188. package/dist/chunks/chunk-PL32YWZA.js +30 -0
  189. package/dist/chunks/chunk-PL32YWZA.js.map +1 -0
  190. package/dist/chunks/chunk-Q5JLRHTY.js +659 -0
  191. package/dist/chunks/chunk-Q5JLRHTY.js.map +1 -0
  192. package/dist/chunks/chunk-TC5ZLAPV.js +218 -0
  193. package/dist/chunks/chunk-TC5ZLAPV.js.map +1 -0
  194. package/dist/chunks/chunk-TRSEENUK.js +45 -0
  195. package/dist/chunks/chunk-TRSEENUK.js.map +1 -0
  196. package/dist/chunks/chunk-UEX52I7G.js +1 -0
  197. package/dist/chunks/chunk-UEX52I7G.js.map +1 -0
  198. package/dist/chunks/chunk-UFRDMBKM.js +43 -0
  199. package/dist/chunks/chunk-UFRDMBKM.js.map +1 -0
  200. package/dist/chunks/chunk-USJXIVR4.js +6872 -0
  201. package/dist/chunks/chunk-USJXIVR4.js.map +1 -0
  202. package/dist/chunks/chunk-UZ4QB5IO.js +10 -0
  203. package/dist/chunks/chunk-UZ4QB5IO.js.map +1 -0
  204. package/dist/chunks/chunk-WJBYWKIF.js +32 -0
  205. package/dist/chunks/chunk-WJBYWKIF.js.map +1 -0
  206. package/dist/chunks/chunk-WOVQFPIV.js +6872 -0
  207. package/dist/chunks/chunk-WOVQFPIV.js.map +1 -0
  208. package/dist/chunks/chunk-WPUMEBSF.js +33 -0
  209. package/dist/chunks/chunk-WPUMEBSF.js.map +1 -0
  210. package/dist/chunks/chunk-WVVYYP6F.js +218 -0
  211. package/dist/chunks/chunk-WVVYYP6F.js.map +1 -0
  212. package/dist/chunks/chunk-XSHHCMRC.js +217 -0
  213. package/dist/chunks/chunk-XSHHCMRC.js.map +1 -0
  214. package/dist/chunks/chunk-XZTGFLMB.js +6872 -0
  215. package/dist/chunks/chunk-XZTGFLMB.js.map +1 -0
  216. package/dist/chunks/chunk-ZBMTSE6Q.js +660 -0
  217. package/dist/chunks/chunk-ZBMTSE6Q.js.map +1 -0
  218. package/dist/chunks/chunk-ZMTMIG3C.js +77 -0
  219. package/dist/chunks/chunk-ZMTMIG3C.js.map +1 -0
  220. package/dist/chunks/chunk-ZSR4X4I6.js +638 -0
  221. package/dist/chunks/chunk-ZSR4X4I6.js.map +1 -0
  222. package/dist/exports/interaction.js +1 -1
  223. package/dist/exports/session.context.d.ts +1 -1
  224. package/dist/exports/session.context.js +3 -1
  225. package/dist/exports/test.context.d.ts +2 -1
  226. package/dist/exports/test.context.js +3 -1
  227. package/dist/index.d.ts +3 -2
  228. package/dist/index.js +54 -46
  229. package/dist/qti-components/index.js +2 -2
  230. package/dist/qti-components-jsx.d.ts +35 -2
  231. package/dist/qti-response-declaration-5PnLgbOQ.d.ts +1143 -0
  232. package/dist/qti-response-declaration-PJkGU8F8.d.ts +1151 -0
  233. package/dist/qti-test/components/index.d.ts +2 -1
  234. package/dist/qti-test/components/index.js +16 -12
  235. package/dist/qti-test/components/test-navigation.d.ts +1 -1
  236. package/dist/qti-test/components/test-navigation.js +3 -3
  237. package/dist/qti-test/components/test-next.js +2 -2
  238. package/dist/qti-test/components/test-prev.js +2 -2
  239. package/dist/qti-test/components/test-print-context.d.ts +20 -0
  240. package/dist/qti-test/components/test-print-context.js +9 -0
  241. package/dist/qti-test/components/test-print-context.js.map +1 -0
  242. package/dist/qti-test/components/test-print-item-variables copy.js +86 -0
  243. package/dist/qti-test/components/test-print-item-variables copy.js.map +1 -0
  244. package/dist/qti-test/components/test-print-item-variables.d.ts +2 -2
  245. package/dist/qti-test/components/test-print-item-variables.js +1 -1
  246. package/dist/qti-test/components/test-print-item-variables.stories copy.js +9731 -0
  247. package/dist/qti-test/components/test-print-item-variables.stories copy.js.map +1 -0
  248. package/dist/qti-test/components/test-print-test-context.js +86 -0
  249. package/dist/qti-test/components/test-print-test-context.js.map +1 -0
  250. package/dist/qti-test/components/test-view.js +2 -2
  251. package/dist/qti-test/core/index.d.ts +3 -3
  252. package/dist/qti-test/core/index.js +15 -3
  253. package/dist/qti-test-feedback-BuFBq7JH.d.ts +97 -0
  254. package/dist/qti-test-feedback-CZsPCqSt.d.ts +97 -0
  255. package/dist/qti-test-feedback-CaNdRC7L.d.ts +96 -0
  256. package/dist/qti-test-part-BIeEZIWw.d.ts +85 -0
  257. package/dist/qti-test-part-C_jSX7Zz.d.ts +85 -0
  258. package/dist/vscode.html-custom-data.json +17 -6
  259. package/package.json +1 -1
@@ -0,0 +1,3638 @@
1
+ import {
2
+ watch
3
+ } from "./chunk-ELDMXTUQ.js";
4
+ import {
5
+ qtiTransformTest
6
+ } from "./chunk-XDMSEAYC.js";
7
+ import {
8
+ __decorateClass
9
+ } from "./chunk-63WMM765.js";
10
+
11
+ // src/lib/qti-test/components/test-container.ts
12
+ import { LitElement, html } from "lit";
13
+ import { customElement, property, state } from "lit/decorators.js";
14
+ import { until } from "lit/directives/until.js";
15
+
16
+ // inline:../../../item.css?inline
17
+ var item_default = `@layer qti-base, qti-components, qti-utilities, qti-variants, qti-extended;
18
+
19
+ :root,
20
+ :host {
21
+ /* Active colors */
22
+ --qti-bg-active: #ffecec;
23
+ --qti-border-active: #f86d70;
24
+
25
+ /* Correct colors */
26
+ --qti-correct-light: #c8e6c9;
27
+ --qti-correct: #66bb6a;
28
+
29
+ /* Gap size */
30
+ --qti-gap-size: 1rem;
31
+
32
+ /* Background colors */
33
+ --qti-bg: white;
34
+ --qti-hover-bg: #f9fafb;
35
+
36
+ /* Light theme colors */
37
+ --qti-light-bg-active: #f0f0f0; /* Light gray */
38
+ --qti-light-border-active: #d0d0d0; /* Medium gray */
39
+
40
+ /* Dark theme colors */
41
+ --qti-dark-bg-active: #1f2937; /* Dark gray */
42
+ --qti-dark-border-active: #64748b; /* Medium gray */
43
+
44
+ /* Disabled colors */
45
+ --qti-disabled-bg: #f3f4f6;
46
+ --qti-disabled-color: #45484f;
47
+
48
+ /* Border properties */
49
+ --qti-border-thickness: 2px;
50
+ --qti-border-style: solid;
51
+ --qti-border-color: #c6cad0;
52
+ --qti-border-radius: 0.3rem;
53
+ --qti-drop-border-radius: calc(var(--qti-border-radius) + var(--qti-border-thickness));
54
+
55
+ /* Focus & active states */
56
+ --qti-focus-border-width: 5px;
57
+ --qti-focus-color: #bddcff7e;
58
+
59
+ /* Class-specific variables */
60
+
61
+ /* Form elements */
62
+ --qti-form-size: 1rem;
63
+
64
+ /* Order buttons */
65
+ --qti-order-size: 2rem;
66
+
67
+ /* Generic padding for all elements */
68
+ --qti-padding-vertical: 0.5rem; /* py-2 */
69
+ --qti-padding-horizontal: 0.5rem; /* px-2 */
70
+ }
71
+
72
+ /* SVG masks and backgrounds */
73
+
74
+ .chevron {
75
+ background: url("data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E")
76
+ no-repeat center right 6px;
77
+ }
78
+
79
+ .handle {
80
+ background-image: radial-gradient(
81
+ circle at center,
82
+ rgb(0 0 0 / 10%) 0,
83
+ rgb(0 0 0 / 20%) 2px,
84
+ rgb(255 255 255 / 0%) 2px,
85
+ rgb(255 255 255 / 0%) 100%
86
+ );
87
+ background-repeat: repeat-y;
88
+ background-position: left center;
89
+ background-size: 14px 8px;
90
+ }
91
+
92
+ .check-mask {
93
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
94
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
95
+ }
96
+
97
+ /*
98
+ Following are classes that can be applied to elements and element states, so they are not used directly
99
+ The @apply directive is used to apply these classes to elements
100
+ */
101
+
102
+ /* Apply .bordered to an element */
103
+
104
+ .bordered {
105
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
106
+ outline: none;
107
+ }
108
+
109
+ /* Apply .form rules for checkbox and radiobutton */
110
+
111
+ .form {
112
+
113
+ display: grid;
114
+ place-content: center;
115
+ width: var(--qti-form-size);
116
+ height: var(--qti-form-size);
117
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
118
+ outline: none;
119
+ }
120
+
121
+ /* Apply .button rules for button-like elements, such as drags and buttons */
122
+
123
+ .button {
124
+
125
+ border-radius: var(--qti-border-radius);
126
+ padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
127
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
128
+ outline: none;
129
+ }
130
+
131
+ /* Apply .select for the select dropdown element */
132
+
133
+ .select {
134
+
135
+ border-radius: var(--qti-border-radius);
136
+ position: relative;
137
+ -webkit-appearance: none;
138
+ -moz-appearance: none;
139
+ appearance: none;
140
+ padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
141
+ padding-right: calc(var(--qti-padding-horizontal) + 1.5rem); /* 1.5rem for the chevron */ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color); outline: none; background: url("data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E")
142
+ no-repeat center right 6px;
143
+ }
144
+
145
+ /* Apply .text for the input text and textarea */
146
+
147
+ .text {
148
+
149
+ border-radius: 0;
150
+ cursor: text;
151
+ padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
152
+ background: unset;
153
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
154
+ outline: none;
155
+ }
156
+
157
+ /* Apply .spot for hotspot shapes */
158
+
159
+ .spot {
160
+
161
+ width: 100%;
162
+ height: 100%;
163
+ background-color: transparent;
164
+ padding: 0;
165
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
166
+ outline: none;
167
+ }
168
+
169
+ /* Apply .point for circular small hotspots */
170
+
171
+ .point {
172
+
173
+ border-radius: 100%;
174
+ border: 1px solid white;
175
+ background-color: black;
176
+ opacity: 0.5;
177
+ padding: 0;
178
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
179
+ outline: none;
180
+ }
181
+
182
+ /* Apply .drag for draggable elements */
183
+
184
+ .drag {
185
+
186
+ transition:
187
+ transform 200ms ease-out,
188
+ box-shadow 200ms ease-out,
189
+ rotate 200ms ease-out;
190
+ cursor: grab;
191
+ background-color: var(--qti-bg);
192
+ padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
193
+ border-radius: var(--qti-border-radius);
194
+ padding-left: calc(var(--qti-padding-horizontal) + 0.5rem) !important; /* 1.5rem for the drag */ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color); outline: none; background-image: radial-gradient(
195
+ circle at center,
196
+ rgb(0 0 0 / 10%) 0,
197
+ rgb(0 0 0 / 20%) 2px,
198
+ rgb(255 255 255 / 0%) 2px,
199
+ rgb(255 255 255 / 0%) 100%
200
+ ); background-repeat: repeat-y; background-position: left center; background-size: 14px 8px;
201
+ }
202
+
203
+ /* Apply .dragging for the dragging state of a draggable element */
204
+
205
+ .dragging {
206
+ pointer-events: none;
207
+ rotate: -2deg;
208
+ box-shadow:
209
+ 0 8px 12px rgb(0 0 0 / 20%),
210
+ 0 4px 8px rgb(0 0 0 / 10%);
211
+ }
212
+
213
+ /* Apply .drop for an element where you can drop the draggable */
214
+
215
+ .drop {
216
+
217
+ background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><circle cx="10" cy="10" r="7" stroke="%23CCCCCC" stroke-width="1" fill="transparent" /></svg>')
218
+ center no-repeat;
219
+ border-radius: var(--qti-border-radius);
220
+ position: relative;
221
+ background-color: var(--qti-bg);
222
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
223
+ outline: none;
224
+ }
225
+
226
+ /* Apply .dropping for an indicator where you can drop the draggable */
227
+
228
+ .dropping {
229
+ background-color: var(--qti-bg-active);
230
+ }
231
+
232
+ /* Apply .order for a small circular button */
233
+
234
+ .order {
235
+
236
+ display: grid;
237
+ place-content: center;
238
+
239
+ /* background-color: var(--qti-bg-active); */
240
+ border-radius: 100%;
241
+ width: var(--qti-order-size);
242
+ height: var(--qti-order-size);
243
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
244
+ outline: none;
245
+ }
246
+
247
+ /* Apply .check-size for radio and checkbox size */
248
+
249
+ .check-size {
250
+ width: calc(var(--qti-form-size) - 6px);
251
+ height: calc(var(--qti-form-size) - 6px);
252
+ }
253
+
254
+ /* Apply .check for checkbox */
255
+
256
+ .check {
257
+ gap: 0.5rem;
258
+ border-radius: var(--qti-border-radius);
259
+ padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
260
+ outline: none;
261
+ cursor: pointer;
262
+ }
263
+
264
+ /* Apply .check-radio for outer circle of the radio buttons */
265
+
266
+ .check-radio {
267
+
268
+ border-radius: 100%;
269
+
270
+ display: grid;
271
+
272
+ place-content: center;
273
+
274
+ width: var(--qti-form-size);
275
+
276
+ height: var(--qti-form-size);
277
+
278
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
279
+
280
+ outline: none;
281
+ }
282
+
283
+ /* Apply .check-radio-checked for the inner checked radio */
284
+
285
+ .check-radio-checked {
286
+ background-color: var(--qti-border-active);
287
+ border-radius: 100%;
288
+ }
289
+
290
+ /* Apply .check-checkbox for outer square of the checkbox */
291
+
292
+ .check-checkbox {
293
+
294
+ display: flex;
295
+ place-items: center;
296
+ border-radius: var(--qti-border-radius);
297
+ display: grid;
298
+ place-content: center;
299
+ width: var(--qti-form-size);
300
+ height: var(--qti-form-size);
301
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
302
+ outline: none;
303
+ }
304
+
305
+ /* Apply .check-checkbox-checked for the inner checkmark */
306
+
307
+ .check-checkbox-checked {
308
+ background-color: var(--qti-border-active);
309
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
310
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
311
+ }
312
+
313
+ /* Apply .hov for hover state */
314
+
315
+ .hov {
316
+ background-color: var(--qti-hover-bg);
317
+ }
318
+
319
+ /* Apply .foc for focus state */
320
+
321
+ .foc {
322
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
323
+ }
324
+
325
+ /* Apply .act for active state */
326
+
327
+ .act {
328
+ border-color: var(--qti-border-active);
329
+ background-color: var(--qti-bg-active);
330
+ }
331
+
332
+ .act-bg {
333
+ background-color: var(--qti-bg-active);
334
+ }
335
+
336
+ .act-bor {
337
+ border-color: var(--qti-border-active);
338
+ }
339
+
340
+ /* Apply .rdo for readonly state */
341
+
342
+ .rdo {
343
+ cursor: pointer;
344
+ background-color: var(--qti-bg);
345
+ outline: 0;
346
+ border: none;
347
+ }
348
+
349
+ /* Apply .dis for disabled state */
350
+
351
+ .dis {
352
+ cursor: not-allowed;
353
+ background-color: var(--qti-disabled-bg);
354
+ color: var(--qti-disabled-color);
355
+ border-color: var(--qti-border-color);
356
+ outline: 4px solid var(--qti-disabled-bg);
357
+ }
358
+
359
+ /* base */
360
+
361
+ /* ============================
362
+ QTI 3 shared css
363
+ 1. Display
364
+ 2. Special Flex styles
365
+ 3. Margin
366
+ 4. Padding
367
+ 5. Horizontal Alignment styles
368
+ 6. Vertical Alignment styles
369
+ 7. Height
370
+ 8. Width
371
+ 9. Text-Indent
372
+ 10. List Style
373
+ 11. Layout
374
+ 12. Other QTI 3 presentation utilities
375
+ ============================ */
376
+
377
+ /* ==========
378
+ Display css
379
+ =========== */
380
+
381
+ .qti-display-inline {
382
+ display: inline;
383
+ }
384
+
385
+ .qti-display-inline-block {
386
+ display: inline-block;
387
+ }
388
+
389
+ .qti-display-block {
390
+ display: block;
391
+ }
392
+
393
+ .qti-display-flex {
394
+ display: flex;
395
+ }
396
+
397
+ .qti-display-inline-flex {
398
+ display: inline-flex;
399
+ }
400
+
401
+ .qti-display-grid {
402
+ display: grid;
403
+ }
404
+
405
+ .qti-display-inline-grid {
406
+ display: inline-grid;
407
+ }
408
+
409
+ .qti-display-table {
410
+ display: table;
411
+ }
412
+
413
+ .qti-display-table-cell {
414
+ display: table-cell;
415
+ }
416
+
417
+ .qti-display-table-row {
418
+ display: table-row;
419
+ }
420
+
421
+ .qti-display-list-item {
422
+ display: list-item;
423
+ }
424
+
425
+ .qti-display-inherit {
426
+ display: inherit;
427
+ }
428
+
429
+ /*
430
+ * hidden to screen readers and sighted
431
+ */
432
+
433
+ .qti-hidden {
434
+ display: none;
435
+ }
436
+
437
+ /*
438
+ * visible to screen readers, hidden to sighted
439
+ */
440
+
441
+ .qti-visually-hidden {
442
+ position: fixed !important;
443
+ overflow: hidden;
444
+ clip: rect(1px 1px 1px 1px);
445
+ height: 1px;
446
+ width: 1px;
447
+ border: 0;
448
+ margin: -1px;
449
+ }
450
+
451
+ /* =============================
452
+ Special flex styles
453
+ ============================= */
454
+
455
+ .qti-flex-direction-column {
456
+ flex-direction: column;
457
+ }
458
+
459
+ .qti-flex-direction-row {
460
+ flex-direction: row;
461
+ }
462
+
463
+ .qti-flex-grow-1 {
464
+ flex-grow: 1;
465
+ }
466
+
467
+ .qti-flex-grow-0 {
468
+ flex-grow: 0;
469
+ }
470
+
471
+ /* =========
472
+ Margin css
473
+ ========== */
474
+
475
+ /**
476
+ * For margin Top and Bottom and Left and Right
477
+ */
478
+
479
+ .qti-margin-0 {
480
+ margin: 0 !important;
481
+ }
482
+
483
+ .qti-margin-1 {
484
+ margin: 0.25rem !important;
485
+ }
486
+
487
+ .qti-margin-2 {
488
+ margin: 0.5rem !important;
489
+ }
490
+
491
+ .qti-margin-3 {
492
+ margin: 1rem !important;
493
+ }
494
+
495
+ .qti-margin-4 {
496
+ margin: 1.5rem !important;
497
+ }
498
+
499
+ .qti-margin-5 {
500
+ margin: 3rem !important;
501
+ }
502
+
503
+ .qti-margin-auto {
504
+ margin: auto !important;
505
+ }
506
+
507
+ /*
508
+ For margin Left and Right
509
+ */
510
+
511
+ .qti-margin-x-0 {
512
+ margin-right: 0 !important;
513
+ margin-left: 0 !important;
514
+ }
515
+
516
+ .qti-margin-x-1 {
517
+ margin-right: 0.25rem !important;
518
+ margin-left: 0.25rem !important;
519
+ }
520
+
521
+ .qti-margin-x-2 {
522
+ margin-right: 0.5rem !important;
523
+ margin-left: 0.5rem !important;
524
+ }
525
+
526
+ .qti-margin-x-3 {
527
+ margin-right: 1rem !important;
528
+ margin-left: 1rem !important;
529
+ }
530
+
531
+ .qti-margin-x-4 {
532
+ margin-right: 1.5rem !important;
533
+ margin-left: 1.5rem !important;
534
+ }
535
+
536
+ .qti-margin-x-5 {
537
+ margin-right: 3rem !important;
538
+ margin-left: 3rem !important;
539
+ }
540
+
541
+ .qti-margin-x-auto {
542
+ margin-right: auto !important;
543
+ margin-left: auto !important;
544
+ }
545
+
546
+ /*
547
+ For margin Top and Bottom
548
+ */
549
+
550
+ .qti-margin-y-0 {
551
+ margin-top: 0 !important;
552
+ margin-bottom: 0 !important;
553
+ }
554
+
555
+ .qti-margin-y-1 {
556
+ margin-top: 0.25rem !important;
557
+ margin-bottom: 0.25rem !important;
558
+ }
559
+
560
+ .qti-margin-y-2 {
561
+ margin-top: 0.5rem !important;
562
+ margin-bottom: 0.5rem !important;
563
+ }
564
+
565
+ .qti-margin-y-3 {
566
+ margin-top: 1rem !important;
567
+ margin-bottom: 1rem !important;
568
+ }
569
+
570
+ .qti-margin-y-4 {
571
+ margin-top: 1.5rem !important;
572
+ margin-bottom: 1.5rem !important;
573
+ }
574
+
575
+ .qti-margin-y-5 {
576
+ margin-top: 3rem !important;
577
+ margin-bottom: 3rem !important;
578
+ }
579
+
580
+ .qti-margin-y-auto {
581
+ margin-top: auto !important;
582
+ margin-bottom: auto !important;
583
+ }
584
+
585
+ /*
586
+ For margin Top
587
+ */
588
+
589
+ .qti-margin-t-0 {
590
+ margin-top: 0 !important;
591
+ }
592
+
593
+ .qti-margin-t-1 {
594
+ margin-top: 0.25rem !important;
595
+ }
596
+
597
+ .qti-margin-t-2 {
598
+ margin-top: 0.5rem !important;
599
+ }
600
+
601
+ .qti-margin-t-3 {
602
+ margin-top: 1rem !important;
603
+ }
604
+
605
+ .qti-margin-t-4 {
606
+ margin-top: 1.5rem !important;
607
+ }
608
+
609
+ .qti-margin-t-5 {
610
+ margin-top: 3rem !important;
611
+ }
612
+
613
+ .qti-margin-t-auto {
614
+ margin-top: auto !important;
615
+ }
616
+
617
+ /*
618
+ For margin Bottom
619
+ */
620
+
621
+ .qti-margin-b-0 {
622
+ margin-bottom: 0 !important;
623
+ }
624
+
625
+ .qti-margin-b-1 {
626
+ margin-bottom: 0.25rem !important;
627
+ }
628
+
629
+ .qti-margin-b-2 {
630
+ margin-bottom: 0.5rem !important;
631
+ }
632
+
633
+ .qti-margin-b-3 {
634
+ margin-bottom: 1rem !important;
635
+ }
636
+
637
+ .qti-margin-b-4 {
638
+ margin-bottom: 1.5rem !important;
639
+ }
640
+
641
+ .qti-margin-b-5 {
642
+ margin-bottom: 3rem !important;
643
+ }
644
+
645
+ .qti-margin-b-auto {
646
+ margin-bottom: auto !important;
647
+ }
648
+
649
+ /*
650
+ For margin Start LTR
651
+ */
652
+
653
+ .qti-margin-s-0 {
654
+ margin-left: 0 !important;
655
+ }
656
+
657
+ .qti-margin-s-1 {
658
+ margin-left: 0.25rem !important;
659
+ }
660
+
661
+ .qti-margin-s-2 {
662
+ margin-left: 0.5rem !important;
663
+ }
664
+
665
+ .qti-margin-s-3 {
666
+ margin-left: 1rem !important;
667
+ }
668
+
669
+ .qti-margin-s-4 {
670
+ margin-left: 1.5rem !important;
671
+ }
672
+
673
+ .qti-margin-s-5 {
674
+ margin-left: 3rem !important;
675
+ }
676
+
677
+ .qti-margin-s-auto {
678
+ margin-left: auto !important;
679
+ }
680
+
681
+ /*
682
+ For margin End LTR
683
+ */
684
+
685
+ .qti-margin-e-0 {
686
+ margin-right: 0 !important;
687
+ }
688
+
689
+ .qti-margin-e-1 {
690
+ margin-right: 0.25rem !important;
691
+ }
692
+
693
+ .qti-margin-e-2 {
694
+ margin-right: 0.5rem !important;
695
+ }
696
+
697
+ .qti-margin-e-3 {
698
+ margin-right: 1rem !important;
699
+ }
700
+
701
+ .qti-margin-e-4 {
702
+ margin-right: 1.5rem !important;
703
+ }
704
+
705
+ .qti-margin-e-5 {
706
+ margin-right: 3rem !important;
707
+ }
708
+
709
+ .qti-margin-e-auto {
710
+ margin-right: auto !important;
711
+ }
712
+
713
+ /* =========
714
+ Padding css
715
+ ========== */
716
+
717
+ /*
718
+ For padding Top and Bottom and Left and Right
719
+ */
720
+
721
+ .qti-padding-0 {
722
+ padding: 0 !important;
723
+ }
724
+
725
+ .qti-padding-1 {
726
+ padding: 0.25rem !important;
727
+ }
728
+
729
+ .qti-padding-2 {
730
+ padding: 0.5rem !important;
731
+ }
732
+
733
+ .qti-padding-3 {
734
+ padding: 1rem !important;
735
+ }
736
+
737
+ .qti-padding-4 {
738
+ padding: 1.5rem !important;
739
+ }
740
+
741
+ .qti-padding-5 {
742
+ padding: 3rem !important;
743
+ }
744
+
745
+ /*
746
+ For padding Left and Right
747
+ */
748
+
749
+ .qti-padding-x-0 {
750
+ padding-right: 0 !important;
751
+ padding-left: 0 !important;
752
+ }
753
+
754
+ .qti-padding-x-1 {
755
+ padding-right: 0.25rem !important;
756
+ padding-left: 0.25rem !important;
757
+ }
758
+
759
+ .qti-padding-x-2 {
760
+ padding-right: 0.5rem !important;
761
+ padding-left: 0.5rem !important;
762
+ }
763
+
764
+ .qti-padding-x-3 {
765
+ padding-right: 1rem !important;
766
+ padding-left: 1rem !important;
767
+ }
768
+
769
+ .qti-padding-x-4 {
770
+ padding-right: 1.5rem !important;
771
+ padding-left: 1.5rem !important;
772
+ }
773
+
774
+ .qti-padding-x-5 {
775
+ padding-right: 3rem !important;
776
+ padding-left: 3rem !important;
777
+ }
778
+
779
+ /*
780
+ For padding Top and Bottom
781
+ */
782
+
783
+ .qti-padding-y-0 {
784
+ padding-top: 0 !important;
785
+ padding-bottom: 0 !important;
786
+ }
787
+
788
+ .qti-padding-y-1 {
789
+ padding-top: 0.25rem !important;
790
+ padding-bottom: 0.25rem !important;
791
+ }
792
+
793
+ .qti-padding-y-2 {
794
+ padding-top: 0.5rem !important;
795
+ padding-bottom: 0.5rem !important;
796
+ }
797
+
798
+ .qti-padding-y-3 {
799
+ padding-top: 1rem !important;
800
+ padding-bottom: 1rem !important;
801
+ }
802
+
803
+ .qti-padding-y-4 {
804
+ padding-top: 1.5rem !important;
805
+ padding-bottom: 1.5rem !important;
806
+ }
807
+
808
+ .qti-padding-y-5 {
809
+ padding-top: 3rem !important;
810
+ padding-bottom: 3rem !important;
811
+ }
812
+
813
+ /*
814
+ For padding Top
815
+ */
816
+
817
+ .qti-padding-t-0 {
818
+ padding-top: 0 !important;
819
+ }
820
+
821
+ .qti-padding-t-1 {
822
+ padding-top: 0.25rem !important;
823
+ }
824
+
825
+ .qti-padding-t-2 {
826
+ padding-top: 0.5rem !important;
827
+ }
828
+
829
+ .qti-padding-t-3 {
830
+ padding-top: 1rem !important;
831
+ }
832
+
833
+ .qti-padding-t-4 {
834
+ padding-top: 1.5rem !important;
835
+ }
836
+
837
+ .qti-padding-t-5 {
838
+ padding-top: 3rem !important;
839
+ }
840
+
841
+ /*
842
+ For padding Bottom
843
+ */
844
+
845
+ .qti-padding-b-0 {
846
+ padding-bottom: 0 !important;
847
+ }
848
+
849
+ .qti-padding-b-1 {
850
+ padding-bottom: 0.25rem !important;
851
+ }
852
+
853
+ .qti-padding-b-2 {
854
+ padding-bottom: 0.5rem !important;
855
+ }
856
+
857
+ .qti-padding-b-3 {
858
+ padding-bottom: 1rem !important;
859
+ }
860
+
861
+ .qti-padding-b-4 {
862
+ padding-bottom: 1.5rem !important;
863
+ }
864
+
865
+ .qti-padding-b-5 {
866
+ padding-bottom: 3rem !important;
867
+ }
868
+
869
+ /*
870
+ For padding Start LTR
871
+ */
872
+
873
+ .qti-padding-s-0 {
874
+ padding-left: 0 !important;
875
+ }
876
+
877
+ .qti-padding-s-1 {
878
+ padding-left: 0.25rem !important;
879
+ }
880
+
881
+ .qti-padding-s-2 {
882
+ padding-left: 0.5rem !important;
883
+ }
884
+
885
+ .qti-padding-s-3 {
886
+ padding-left: 1rem !important;
887
+ }
888
+
889
+ .qti-padding-s-4 {
890
+ padding-left: 1.5rem !important;
891
+ }
892
+
893
+ .qti-padding-s-5 {
894
+ padding-left: 3rem !important;
895
+ }
896
+
897
+ /*
898
+ For padding End LTR
899
+ */
900
+
901
+ .qti-padding-e-0 {
902
+ padding-right: 0 !important;
903
+ }
904
+
905
+ .qti-padding-e-1 {
906
+ padding-right: 0.25rem !important;
907
+ }
908
+
909
+ .qti-padding-e-2 {
910
+ padding-right: 0.5rem !important;
911
+ }
912
+
913
+ .qti-padding-e-3 {
914
+ padding-right: 1rem !important;
915
+ }
916
+
917
+ .qti-padding-e-4 {
918
+ padding-right: 1.5rem !important;
919
+ }
920
+
921
+ .qti-padding-e-5 {
922
+ padding-right: 3rem !important;
923
+ }
924
+
925
+ /* ====================
926
+ Horizontal alignment
927
+ ==================== */
928
+
929
+ .qti-align-left {
930
+ text-align: left;
931
+ }
932
+
933
+ .qti-align-center {
934
+ text-align: center;
935
+ }
936
+
937
+ .qti-align-right {
938
+ text-align: right;
939
+ }
940
+
941
+ /* ==================
942
+ Vertical alignment
943
+ ================== */
944
+
945
+ .qti-valign-top {
946
+ vertical-align: top;
947
+ }
948
+
949
+ .qti-valign-middle {
950
+ vertical-align: middle;
951
+ }
952
+
953
+ .qti-valign-baseline {
954
+ vertical-align: baseline;
955
+ }
956
+
957
+ .qti-valign-bottom {
958
+ vertical-align: bottom;
959
+ }
960
+
961
+ /* =============
962
+ Height styles
963
+ ============= */
964
+
965
+ .qti-height-0 {
966
+ height: 0;
967
+ }
968
+
969
+ .qti-height-px {
970
+ height: 1px;
971
+ }
972
+
973
+ .qti-height-0p5 {
974
+ height: 0.125rem;
975
+ }
976
+
977
+ .qti-height-1 {
978
+ height: 0.25rem;
979
+ }
980
+
981
+ .qti-height-1p5 {
982
+ height: 0.375rem;
983
+ }
984
+
985
+ .qti-height-2 {
986
+ height: 0.5rem;
987
+ }
988
+
989
+ .qti-height-2p5 {
990
+ height: 0.625rem;
991
+ }
992
+
993
+ .qti-height-3 {
994
+ height: 0.75rem;
995
+ }
996
+
997
+ .qti-height-3p5 {
998
+ height: 0.875rem;
999
+ }
1000
+
1001
+ .qti-height-4 {
1002
+ height: 1rem;
1003
+ }
1004
+
1005
+ .qti-height-5 {
1006
+ height: 1.25rem;
1007
+ }
1008
+
1009
+ .qti-height-6 {
1010
+ height: 1.5rem;
1011
+ }
1012
+
1013
+ .qti-height-7 {
1014
+ height: 1.75rem;
1015
+ }
1016
+
1017
+ .qti-height-8 {
1018
+ height: 2rem;
1019
+ }
1020
+
1021
+ .qti-height-9 {
1022
+ height: 2.25rem;
1023
+ }
1024
+
1025
+ .qti-height-10 {
1026
+ height: 2.5rem;
1027
+ }
1028
+
1029
+ .qti-height-11 {
1030
+ height: 2.75rem;
1031
+ }
1032
+
1033
+ .qti-height-12 {
1034
+ height: 3rem;
1035
+ }
1036
+
1037
+ .qti-height-14 {
1038
+ height: 3.5rem;
1039
+ }
1040
+
1041
+ .qti-height-16 {
1042
+ height: 4rem;
1043
+ }
1044
+
1045
+ .qti-height-20 {
1046
+ height: 5rem;
1047
+ }
1048
+
1049
+ .qti-height-24 {
1050
+ height: 6rem;
1051
+ }
1052
+
1053
+ .qti-height-28 {
1054
+ height: 7rem;
1055
+ }
1056
+
1057
+ .qti-height-32 {
1058
+ height: 8rem;
1059
+ }
1060
+
1061
+ .qti-height-36 {
1062
+ height: 9rem;
1063
+ }
1064
+
1065
+ .qti-height-40 {
1066
+ height: 10rem;
1067
+ }
1068
+
1069
+ .qti-height-44 {
1070
+ height: 11rem;
1071
+ }
1072
+
1073
+ .qti-height-48 {
1074
+ height: 12rem;
1075
+ }
1076
+
1077
+ .qti-height-52 {
1078
+ height: 13rem;
1079
+ }
1080
+
1081
+ .qti-height-56 {
1082
+ height: 14rem;
1083
+ }
1084
+
1085
+ .qti-height-60 {
1086
+ height: 15rem;
1087
+ }
1088
+
1089
+ .qti-height-64 {
1090
+ height: 16rem;
1091
+ }
1092
+
1093
+ .qti-height-72 {
1094
+ height: 18rem;
1095
+ }
1096
+
1097
+ .qti-height-80 {
1098
+ height: 20rem;
1099
+ }
1100
+
1101
+ .qti-height-96 {
1102
+ height: 24rem;
1103
+ }
1104
+
1105
+ .qti-height-1-2 {
1106
+ height: 50%;
1107
+ }
1108
+
1109
+ .qti-height-1-3 {
1110
+ height: 33.3333%;
1111
+ }
1112
+
1113
+ .qti-height-2-3 {
1114
+ height: 66.6667%;
1115
+ }
1116
+
1117
+ .qti-height-1-4 {
1118
+ height: 25%;
1119
+ }
1120
+
1121
+ .qti-height-2-4 {
1122
+ height: 50%;
1123
+ }
1124
+
1125
+ .qti-height-3-4 {
1126
+ height: 75%;
1127
+ }
1128
+
1129
+ .qti-height-1-5 {
1130
+ height: 20%;
1131
+ }
1132
+
1133
+ .qti-height-2-5 {
1134
+ height: 40%;
1135
+ }
1136
+
1137
+ .qti-height-3-5 {
1138
+ height: 60%;
1139
+ }
1140
+
1141
+ .qti-height-4-5 {
1142
+ height: 80%;
1143
+ }
1144
+
1145
+ .qti-height-1-6 {
1146
+ height: 16.6667%;
1147
+ }
1148
+
1149
+ .qti-height-2-6 {
1150
+ height: 33.3333%;
1151
+ }
1152
+
1153
+ .qti-height-3-6 {
1154
+ height: 50%;
1155
+ }
1156
+
1157
+ .qti-height-4-6 {
1158
+ height: 66.6667%;
1159
+ }
1160
+
1161
+ .qti-height-5-6 {
1162
+ height: 83.3333%;
1163
+ }
1164
+
1165
+ .qti-height-auto {
1166
+ height: auto;
1167
+ }
1168
+
1169
+ .qti-height-full {
1170
+ height: 100%;
1171
+ }
1172
+
1173
+ /* ============
1174
+ Width styles
1175
+ ============ */
1176
+
1177
+ .qti-width-0 {
1178
+ width: 0;
1179
+ }
1180
+
1181
+ .qti-width-px {
1182
+ width: 1px;
1183
+ }
1184
+
1185
+ .qti-width-0p5 {
1186
+ width: 0.125rem;
1187
+ }
1188
+
1189
+ .qti-width-1 {
1190
+ width: 0.25rem;
1191
+ }
1192
+
1193
+ .qti-width-1p5 {
1194
+ width: 0.375rem;
1195
+ }
1196
+
1197
+ .qti-width-2 {
1198
+ width: 0.5rem;
1199
+ }
1200
+
1201
+ .qti-width-2p5 {
1202
+ width: 0.625rem;
1203
+ }
1204
+
1205
+ .qti-width-3 {
1206
+ width: 0.75rem;
1207
+ }
1208
+
1209
+ .qti-width-3p5 {
1210
+ width: 0.875rem;
1211
+ }
1212
+
1213
+ .qti-width-4 {
1214
+ width: 1rem;
1215
+ }
1216
+
1217
+ .qti-width-5 {
1218
+ width: 1.25rem;
1219
+ }
1220
+
1221
+ .qti-width-6 {
1222
+ width: 1.5rem;
1223
+ }
1224
+
1225
+ .qti-width-7 {
1226
+ width: 1.75rem;
1227
+ }
1228
+
1229
+ .qti-width-8 {
1230
+ width: 2rem;
1231
+ }
1232
+
1233
+ .qti-width-9 {
1234
+ width: 2.25rem;
1235
+ }
1236
+
1237
+ .qti-width-10 {
1238
+ width: 2.5rem;
1239
+ }
1240
+
1241
+ .qti-width-11 {
1242
+ width: 2.75rem;
1243
+ }
1244
+
1245
+ .qti-width-12 {
1246
+ width: 3rem;
1247
+ }
1248
+
1249
+ .qti-width-14 {
1250
+ width: 3.5rem;
1251
+ }
1252
+
1253
+ .qti-width-16 {
1254
+ width: 4rem;
1255
+ }
1256
+
1257
+ .qti-width-20 {
1258
+ width: 5rem;
1259
+ }
1260
+
1261
+ .qti-width-24 {
1262
+ width: 6rem;
1263
+ }
1264
+
1265
+ .qti-width-28 {
1266
+ width: 7rem;
1267
+ }
1268
+
1269
+ .qti-width-32 {
1270
+ width: 8rem;
1271
+ }
1272
+
1273
+ .qti-width-36 {
1274
+ width: 9rem;
1275
+ }
1276
+
1277
+ .qti-width-40 {
1278
+ width: 10rem;
1279
+ }
1280
+
1281
+ .qti-width-44 {
1282
+ width: 11rem;
1283
+ }
1284
+
1285
+ .qti-width-48 {
1286
+ width: 12rem;
1287
+ }
1288
+
1289
+ .qti-width-52 {
1290
+ width: 13rem;
1291
+ }
1292
+
1293
+ .qti-width-56 {
1294
+ width: 14rem;
1295
+ }
1296
+
1297
+ .qti-width-60 {
1298
+ width: 15rem;
1299
+ }
1300
+
1301
+ .qti-width-64 {
1302
+ width: 16rem;
1303
+ }
1304
+
1305
+ .qti-width-72 {
1306
+ width: 18rem;
1307
+ }
1308
+
1309
+ .qti-width-80 {
1310
+ width: 20rem;
1311
+ }
1312
+
1313
+ .qti-width-96 {
1314
+ width: 24rem;
1315
+ }
1316
+
1317
+ .qti-width-auto {
1318
+ width: auto;
1319
+ }
1320
+
1321
+ .qti-width-1-2 {
1322
+ width: 50%;
1323
+ }
1324
+
1325
+ .qti-width-1-3 {
1326
+ width: 33.3333%;
1327
+ }
1328
+
1329
+ .qti-width-2-3 {
1330
+ width: 66.6667%;
1331
+ }
1332
+
1333
+ .qti-width-1-4 {
1334
+ width: 25%;
1335
+ }
1336
+
1337
+ .qti-width-2-4 {
1338
+ width: 50%;
1339
+ }
1340
+
1341
+ .qti-width-3-4 {
1342
+ width: 75%;
1343
+ }
1344
+
1345
+ .qti-width-1-5 {
1346
+ width: 20%;
1347
+ }
1348
+
1349
+ .qti-width-2-5 {
1350
+ width: 40%;
1351
+ }
1352
+
1353
+ .qti-width-3-5 {
1354
+ width: 60%;
1355
+ }
1356
+
1357
+ .qti-width-4-5 {
1358
+ width: 80%;
1359
+ }
1360
+
1361
+ .qti-width-1-6 {
1362
+ width: 16.6667%;
1363
+ }
1364
+
1365
+ .qti-width-2-6 {
1366
+ width: 33.3333%;
1367
+ }
1368
+
1369
+ .qti-width-3-6 {
1370
+ width: 50%;
1371
+ }
1372
+
1373
+ .qti-width-4-6 {
1374
+ width: 66.6667%;
1375
+ }
1376
+
1377
+ .qti-width-5-6 {
1378
+ width: 83.3333%;
1379
+ }
1380
+
1381
+ .qti-width-1-12 {
1382
+ width: 8.3333%;
1383
+ }
1384
+
1385
+ .qti-width-2-12 {
1386
+ width: 16.6667%;
1387
+ }
1388
+
1389
+ .qti-width-3-12 {
1390
+ width: 25%;
1391
+ }
1392
+
1393
+ .qti-width-4-12 {
1394
+ width: 33.3333%;
1395
+ }
1396
+
1397
+ .qti-width-5-12 {
1398
+ width: 41.6667%;
1399
+ }
1400
+
1401
+ .qti-width-6-12 {
1402
+ width: 50%;
1403
+ }
1404
+
1405
+ .qti-width-7-12 {
1406
+ width: 58.3333%;
1407
+ }
1408
+
1409
+ .qti-width-8-12 {
1410
+ width: 66.6667%;
1411
+ }
1412
+
1413
+ .qti-width-9-12 {
1414
+ width: 75%;
1415
+ }
1416
+
1417
+ .qti-width-10-12 {
1418
+ width: 83.3333%;
1419
+ }
1420
+
1421
+ .qti-width-11-12 {
1422
+ width: 91.6667%;
1423
+ }
1424
+
1425
+ .qti-width-full,
1426
+ .qti-fullwidth {
1427
+ width: 100%;
1428
+ }
1429
+
1430
+ /* ==================
1431
+ Text Indent styles
1432
+ ================== */
1433
+
1434
+ .qti-text-indent-0 {
1435
+ text-indent: 0;
1436
+ }
1437
+
1438
+ .qti-text-indent-px {
1439
+ text-indent: 1px;
1440
+ }
1441
+
1442
+ .qti-text-indent-0p5 {
1443
+ text-indent: 0.125rem;
1444
+ }
1445
+
1446
+ .qti-text-indent-1 {
1447
+ text-indent: 0.25rem;
1448
+ }
1449
+
1450
+ .qti-text-indent-1p5 {
1451
+ text-indent: 0.375rem;
1452
+ }
1453
+
1454
+ .qti-text-indent-2 {
1455
+ text-indent: 0.5rem;
1456
+ }
1457
+
1458
+ .qti-text-indent-2p5 {
1459
+ text-indent: 0.625rem;
1460
+ }
1461
+
1462
+ .qti-text-indent-3 {
1463
+ text-indent: 0.75rem;
1464
+ }
1465
+
1466
+ .qti-text-indent-3p5 {
1467
+ text-indent: 0.875rem;
1468
+ }
1469
+
1470
+ .qti-text-indent-4 {
1471
+ text-indent: 1rem;
1472
+ }
1473
+
1474
+ .qti-text-indent-5 {
1475
+ text-indent: 1.25rem;
1476
+ }
1477
+
1478
+ .qti-text-indent-6 {
1479
+ text-indent: 1.5rem;
1480
+ }
1481
+
1482
+ .qti-text-indent-7 {
1483
+ text-indent: 1.75rem;
1484
+ }
1485
+
1486
+ .qti-text-indent-8 {
1487
+ text-indent: 2rem;
1488
+ }
1489
+
1490
+ .qti-text-indent-12 {
1491
+ text-indent: 3rem;
1492
+ }
1493
+
1494
+ .qti-text-indent-16 {
1495
+ text-indent: 4rem;
1496
+ }
1497
+
1498
+ .qti-text-indent-20 {
1499
+ text-indent: 5rem;
1500
+ }
1501
+
1502
+ .qti-text-indent-24 {
1503
+ text-indent: 6rem;
1504
+ }
1505
+
1506
+ .qti-text-indent-28 {
1507
+ text-indent: 7rem;
1508
+ }
1509
+
1510
+ .qti-text-indent-32 {
1511
+ text-indent: 8rem;
1512
+ }
1513
+
1514
+ /* =================
1515
+ List Style styles
1516
+ ================= */
1517
+
1518
+ .qti-list-style-type-none {
1519
+ list-style-type: none;
1520
+ }
1521
+
1522
+ .qti-list-style-type-disc {
1523
+ list-style-type: disc;
1524
+ }
1525
+
1526
+ .qti-list-style-type-circle {
1527
+ list-style-type: circle;
1528
+ }
1529
+
1530
+ .qti-list-style-type-square {
1531
+ list-style-type: square;
1532
+ }
1533
+
1534
+ .qti-list-style-type-decimal {
1535
+ list-style-type: decimal;
1536
+ }
1537
+
1538
+ .qti-list-style-type-decimal-leading-zero {
1539
+ list-style-type: decimal-leading-zero;
1540
+ }
1541
+
1542
+ .qti-list-style-type-lower-alpha {
1543
+ list-style-type: lower-alpha;
1544
+ }
1545
+
1546
+ .qti-list-style-type-upper-alpha {
1547
+ list-style-type: upper-alpha;
1548
+ }
1549
+
1550
+ .qti-list-style-type-lower-roman {
1551
+ list-style-type: lower-roman;
1552
+ }
1553
+
1554
+ .qti-list-style-type-upper-roman {
1555
+ list-style-type: upper-roman;
1556
+ }
1557
+
1558
+ .qti-list-style-type-lower-latin {
1559
+ list-style-type: lower-latin;
1560
+ }
1561
+
1562
+ .qti-list-style-type-upper-latin {
1563
+ list-style-type: upper-latin;
1564
+ }
1565
+
1566
+ .qti-list-style-type-lower-greek {
1567
+ list-style-type: lower-greek;
1568
+ }
1569
+
1570
+ .qti-list-style-type-arabic-indic {
1571
+ list-style-type: arabic-indic;
1572
+ }
1573
+
1574
+ .qti-list-style-type-armenian {
1575
+ list-style-type: armenian;
1576
+ }
1577
+
1578
+ .qti-list-style-type-lower-armenian {
1579
+ list-style-type: lower-armenian;
1580
+ }
1581
+
1582
+ .qti-list-style-type-upper-armenian {
1583
+ list-style-type: upper-armenian;
1584
+ }
1585
+
1586
+ .qti-list-style-type-bengali {
1587
+ list-style-type: bengali;
1588
+ }
1589
+
1590
+ .qti-list-style-type-cambodian {
1591
+ list-style-type: cambodian;
1592
+ }
1593
+
1594
+ .qti-list-style-type-simp-chinese-formal {
1595
+ list-style-type: simp-chinese-formal;
1596
+ }
1597
+
1598
+ .qti-list-style-type-simp-chinese-informal {
1599
+ list-style-type: simp-chinese-informal;
1600
+ }
1601
+
1602
+ .qti-list-style-type-trad-chinese-formal {
1603
+ list-style-type: trad-chinese-formal;
1604
+ }
1605
+
1606
+ .qti-list-style-type-trad-chinese-informal {
1607
+ list-style-type: trad-chinese-informal;
1608
+ }
1609
+
1610
+ .qti-list-style-type-cjk-ideographic {
1611
+ list-style-type: cjk-ideographic;
1612
+ }
1613
+
1614
+ .qti-list-style-type-cjk-heavenly-stem {
1615
+ list-style-type: cjk-heavenly-stem;
1616
+ }
1617
+
1618
+ .qti-list-style-type-cjk-earthly-branch {
1619
+ list-style-type: cjk-earthly-branch;
1620
+ }
1621
+
1622
+ .qti-list-style-type-devanagari {
1623
+ list-style-type: devanagari;
1624
+ }
1625
+
1626
+ .qti-list-style-type-ethiopic-halehame-ti-er {
1627
+ list-style-type: ethiopic-halehame-ti-er;
1628
+ }
1629
+
1630
+ .qti-list-style-type-ethiopic-halehame-ti-et {
1631
+ list-style-type: ethiopic-halehame-ti-et;
1632
+ }
1633
+
1634
+ .qti-list-style-type-ethiopic-halehame-am {
1635
+ list-style-type: ethiopic-halehame-am;
1636
+ }
1637
+
1638
+ .qti-list-style-type-ethiopic-halehame {
1639
+ list-style-type: ethiopic-halehame;
1640
+ }
1641
+
1642
+ .qti-list-style-type-georgian {
1643
+ list-style-type: georgian;
1644
+ }
1645
+
1646
+ .qti-list-style-type-gujarati {
1647
+ list-style-type: gujarati;
1648
+ }
1649
+
1650
+ .qti-list-style-type-gurmukhi {
1651
+ list-style-type: gurmukhi;
1652
+ }
1653
+
1654
+ .qti-list-style-type-hangul {
1655
+ list-style-type: hangul;
1656
+ }
1657
+
1658
+ .qti-list-style-type-hangul-consonant {
1659
+ list-style-type: hangul-consonant;
1660
+ }
1661
+
1662
+ .qti-list-style-type-hebrew {
1663
+ list-style-type: hebrew;
1664
+ }
1665
+
1666
+ .qti-list-style-type-hiragana {
1667
+ list-style-type: hiragana;
1668
+ }
1669
+
1670
+ .qti-list-style-type-hiragana-iroha {
1671
+ list-style-type: hiragana-iroha;
1672
+ }
1673
+
1674
+ .qti-list-style-type-khmer {
1675
+ list-style-type: khmer;
1676
+ }
1677
+
1678
+ .qti-list-style-type-korean-hangul-formal {
1679
+ list-style-type: korean-hangul-formal;
1680
+ }
1681
+
1682
+ .qti-list-style-type-korean-hanja-formal {
1683
+ list-style-type: korean-hanja-formal;
1684
+ }
1685
+
1686
+ .qti-list-style-type-korean-hanja-informal {
1687
+ list-style-type: korean-hanja-informal;
1688
+ }
1689
+
1690
+ .qti-list-style-type-lao {
1691
+ list-style-type: lao;
1692
+ }
1693
+
1694
+ .qti-list-style-type-malayalam {
1695
+ list-style-type: malayalam;
1696
+ }
1697
+
1698
+ .qti-list-style-type-mongolian {
1699
+ list-style-type: mongolian;
1700
+ }
1701
+
1702
+ .qti-list-style-type-myanmar {
1703
+ list-style-type: myanmar;
1704
+ }
1705
+
1706
+ .qti-list-style-type-oriya {
1707
+ list-style-type: oriya;
1708
+ }
1709
+
1710
+ .qti-list-style-type-persian {
1711
+ list-style-type: persian;
1712
+ }
1713
+
1714
+ .qti-list-style-type-thai {
1715
+ list-style-type: thai;
1716
+ }
1717
+
1718
+ .qti-list-style-type-tibetan {
1719
+ list-style-type: tibetan;
1720
+ }
1721
+
1722
+ .qti-list-style-type-telugu {
1723
+ list-style-type: telugu;
1724
+ }
1725
+
1726
+ .qti-list-style-type-urdu {
1727
+ list-style-type: urdu;
1728
+ }
1729
+
1730
+ /* =========================
1731
+ Other QTI 3 Presentation Utilities
1732
+ ========================= */
1733
+
1734
+ .qti-bordered {
1735
+ border: 1px solid var(--table-border-color);
1736
+ }
1737
+
1738
+ .qti-underline {
1739
+ text-decoration: underline;
1740
+ text-decoration-color: var(--foreground);
1741
+ }
1742
+
1743
+ .qti-italic {
1744
+ font-style: italic;
1745
+ }
1746
+
1747
+ .qti-well {
1748
+ min-height: 20px;
1749
+ padding: 19px;
1750
+ margin-bottom: 20px;
1751
+ background-color: var(--well-bg);
1752
+ border: var(--well-border);
1753
+ border-radius: 4px;
1754
+ box-shadow: var(--well-box-shadow);
1755
+ }
1756
+
1757
+ /* Set writing-mode to vertical-rl
1758
+ Typical for CJK vertical text */
1759
+
1760
+ .qti-writing-mode-vertical-rl {
1761
+ writing-mode: vertical-rl;
1762
+ }
1763
+
1764
+ /* Set writing-mode to vertical-lr
1765
+ Typical for Mongolian vertical text */
1766
+
1767
+ .qti-writing-mode-vertical-lr {
1768
+ writing-mode: vertical-lr;
1769
+ }
1770
+
1771
+ /* Set writing-mode to horizontal-tb
1772
+ Browser default */
1773
+
1774
+ .qti-writing-mode-horizontal-tb {
1775
+ writing-mode: horizontal-tb;
1776
+ }
1777
+
1778
+ /* Float an element left */
1779
+
1780
+ .qti-float-left {
1781
+ float: left;
1782
+ }
1783
+
1784
+ /* Float an element right */
1785
+
1786
+ .qti-float-right {
1787
+ float: right;
1788
+ }
1789
+
1790
+ /* Remove a float */
1791
+
1792
+ .qti-float-none {
1793
+ float: none;
1794
+ }
1795
+
1796
+ /* Clearfix Hack to apply to a container of
1797
+ floated content that overflows the container. */
1798
+
1799
+ .qti-float-clearfix::after {
1800
+ content: '';
1801
+ clear: both;
1802
+ display: table;
1803
+ }
1804
+
1805
+ .qti-float-clear-left
1806
+ .qti-float-clear-right
1807
+ .qti-float-clear-both
1808
+
1809
+ /* Set text-orientation to upright */
1810
+ .qti-text-orientation-upright {
1811
+ text-orientation: upright;
1812
+ }
1813
+
1814
+ /* stylelint-disable number-max-precision */
1815
+
1816
+ @layer qti-base {
1817
+ .qti-layout-row {
1818
+ display: flex;
1819
+ flex-wrap: wrap;
1820
+ width: 100%;
1821
+ gap: 2.1276595745%;
1822
+ }
1823
+
1824
+ .qti-layout-row [class*='qti-layout-col']:not(:empty) {
1825
+ box-sizing: border-box;
1826
+ }
1827
+
1828
+ .qti-layout-row [class*='qti-layout-col']:empty {
1829
+ width: 0;
1830
+ overflow: hidden; /* to fully collapse if there\u2019s padding or borders */
1831
+ }
1832
+
1833
+ .qti-layout-col1 {
1834
+ width: 6.3829787234%;
1835
+ }
1836
+
1837
+ .qti-layout-col2 {
1838
+ width: 14.8936170213%;
1839
+ }
1840
+
1841
+ .qti-layout-col3 {
1842
+ width: 23.4042553191%;
1843
+ }
1844
+
1845
+ .qti-layout-col4 {
1846
+ width: 31.914893617%;
1847
+ }
1848
+
1849
+ .qti-layout-col5 {
1850
+ width: 40.4255319149%;
1851
+ }
1852
+
1853
+ .qti-layout-col6 {
1854
+ width: 48.9361702128%;
1855
+ }
1856
+
1857
+ .qti-layout-col7 {
1858
+ width: 57.4468085106%;
1859
+ }
1860
+
1861
+ .qti-layout-col8 {
1862
+ width: 65.9574468085%;
1863
+ }
1864
+
1865
+ .qti-layout-col9 {
1866
+ width: 74.4680851064%;
1867
+ }
1868
+
1869
+ .qti-layout-col10 {
1870
+ width: 82.9787234043%;
1871
+ }
1872
+
1873
+ .qti-layout-col11 {
1874
+ width: 91.4893617021%;
1875
+ }
1876
+
1877
+ .qti-layout-col12 {
1878
+ width: 100%;
1879
+ }
1880
+
1881
+ .qti-layout-offset1 {
1882
+ margin-left: 8.5106382979%;
1883
+ }
1884
+
1885
+ .qti-layout-offset2 {
1886
+ margin-left: 17.0212765957%;
1887
+ }
1888
+
1889
+ .qti-layout-offset3 {
1890
+ margin-left: 25.5319148936%;
1891
+ }
1892
+
1893
+ .qti-layout-offset4 {
1894
+ margin-left: 34.0425531915%;
1895
+ }
1896
+
1897
+ .qti-layout-offset5 {
1898
+ margin-left: 42.5531914894%;
1899
+ }
1900
+
1901
+ .qti-layout-offset6 {
1902
+ margin-left: 51.0638297872%;
1903
+ }
1904
+
1905
+ .qti-layout-offset7 {
1906
+ margin-left: 59.5744680851%;
1907
+ }
1908
+
1909
+ .qti-layout-offset8 {
1910
+ margin-left: 68.085106383%;
1911
+ }
1912
+
1913
+ .qti-layout-offset9 {
1914
+ margin-left: 76.5957446809%;
1915
+ }
1916
+
1917
+ .qti-layout-offset10 {
1918
+ margin-left: 85.1063829787%;
1919
+ }
1920
+
1921
+ .qti-layout-offset11 {
1922
+ margin-left: 93.6170212766%;
1923
+ }
1924
+
1925
+ .qti-layout-offset12 {
1926
+ margin-left: 102.1276595745%;
1927
+ }
1928
+
1929
+ @media (width <= 767px) {
1930
+ [class*='qti-layout-col'] {
1931
+ width: 100%;
1932
+ }
1933
+ }
1934
+ }
1935
+
1936
+ [view],
1937
+ qti-outcome-declaration,
1938
+ qti-response-declaration {
1939
+ display: none;
1940
+ }
1941
+
1942
+ [view].show {
1943
+ display: block;
1944
+ }
1945
+
1946
+ :host {
1947
+ box-sizing: border-box;
1948
+ }
1949
+
1950
+ *,
1951
+ *::before,
1952
+ *::after {
1953
+ box-sizing: inherit;
1954
+ }
1955
+
1956
+ /* components */
1957
+
1958
+ @layer qti-components {
1959
+ qti-choice-interaction {
1960
+ &.qti-input-control-hidden {
1961
+ & qti-simple-choice {
1962
+
1963
+ &:hover {
1964
+ background-color: var(--qti-hover-bg);
1965
+ }
1966
+
1967
+ &:focus {
1968
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
1969
+ }
1970
+
1971
+ &::part(ch) {
1972
+ display: none;
1973
+ }
1974
+
1975
+ &:state(--checked),
1976
+ &[aria-checked='true'] {
1977
+ border-color: var(--qti-border-active);
1978
+ background-color: var(--qti-bg-active);
1979
+ }
1980
+
1981
+ &:state(readonly),
1982
+ &[aria-readonly='true'] {
1983
+ cursor: pointer;
1984
+ background-color: var(--qti-bg);
1985
+ outline: 0;
1986
+ border: none;
1987
+ }
1988
+
1989
+ &:state(disabled),
1990
+ &[aria-disabled='true'] {
1991
+ cursor: not-allowed;
1992
+ background-color: var(--qti-disabled-bg);
1993
+ color: var(--qti-disabled-color);
1994
+ border-color: var(--qti-border-color);
1995
+ outline: 4px solid var(--qti-disabled-bg);
1996
+ }
1997
+
1998
+ border-radius: var(--qti-border-radius);
1999
+
2000
+ padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2001
+
2002
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2003
+
2004
+ outline: none
2005
+ }
2006
+ }
2007
+
2008
+ &:not(.qti-input-control-hidden) {
2009
+ & qti-simple-choice {
2010
+
2011
+ &:not([aria-disabled='true'], [aria-readonly='true'], :state(--checked)):hover {
2012
+ background-color: var(--qti-hover-bg);
2013
+ }
2014
+
2015
+ &:focus {
2016
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2017
+ }
2018
+
2019
+ &:state(--checked),
2020
+ &[aria-checked='true'] {
2021
+ border-color: var(--qti-border-active);
2022
+ background-color: var(--qti-bg-active);
2023
+ }
2024
+
2025
+ &:state(readonly),
2026
+ &[aria-readonly='true'] {
2027
+ cursor: pointer;
2028
+ background-color: var(--qti-bg);
2029
+ outline: 0;
2030
+ border: none;
2031
+ }
2032
+
2033
+ &:state(disabled),
2034
+ &[aria-disabled='true'] {
2035
+ cursor: not-allowed;
2036
+ background-color: var(--qti-disabled-bg);
2037
+ color: var(--qti-disabled-color);
2038
+ border-color: var(--qti-border-color);
2039
+ outline: 4px solid var(--qti-disabled-bg);
2040
+ }
2041
+
2042
+ &::part(cha) {
2043
+ width: calc(var(--qti-form-size) - 6px);
2044
+ height: calc(var(--qti-form-size) - 6px);
2045
+ }
2046
+
2047
+ &:state(radio)::part(ch) {
2048
+ border-radius: 100%;
2049
+ display: grid;
2050
+ place-content: center;
2051
+ width: var(--qti-form-size);
2052
+ height: var(--qti-form-size);
2053
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2054
+ outline: none;
2055
+ }
2056
+
2057
+ &:state(radio):state(--checked)::part(cha) {
2058
+ background-color: var(--qti-border-active);
2059
+ border-radius: 100%;
2060
+ }
2061
+
2062
+ &:state(checkbox)::part(ch) {
2063
+ display: flex;
2064
+ place-items: center;
2065
+ border-radius: var(--qti-border-radius);
2066
+ display: grid;
2067
+ place-content: center;
2068
+ width: var(--qti-form-size);
2069
+ height: var(--qti-form-size);
2070
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2071
+ outline: none;
2072
+ }
2073
+
2074
+ &:state(checkbox):state(--checked)::part(cha) {
2075
+ background-color: var(--qti-border-active);
2076
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
2077
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
2078
+ }
2079
+
2080
+ gap: 0.5rem;
2081
+
2082
+ border-radius: var(--qti-border-radius);
2083
+
2084
+ padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2085
+
2086
+ outline: none;
2087
+
2088
+ cursor: pointer
2089
+ }
2090
+ }
2091
+
2092
+ & qti-simple-choice {
2093
+ width: -moz-fit-content;
2094
+ width: fit-content;
2095
+ cursor: pointer;
2096
+
2097
+ &:state(correct-response),
2098
+ &[data-correct-response='true'] {
2099
+ &::after {
2100
+ content: '\\02714';
2101
+ color: var(--qti-correct);
2102
+ }
2103
+ }
2104
+ }
2105
+
2106
+ & qti-simple-choice > p {
2107
+ margin: 0 !important;
2108
+ padding: 0 !important;
2109
+ }
2110
+ }
2111
+
2112
+ .hover-border {
2113
+ border: 2px solid #000; /* Adjust the border style and color as needed */
2114
+ }
2115
+
2116
+ qti-graphic-gap-match-interaction {
2117
+ position: relative;
2118
+
2119
+ &.qti-selections-light {
2120
+ &:state(--dragzone-active)::part(drags) {
2121
+ background-color: var(--qti-light-bg-active);
2122
+ border-color: var(--qti-light-border-active);
2123
+ }
2124
+
2125
+ &:state(--dragzone-enabled)::part(drags) {
2126
+ background-color: var(--qti-light-bg-active);
2127
+ }
2128
+ }
2129
+
2130
+ &.qti-selections-dark {
2131
+ &:state(--dragzone-active)::part(drags) {
2132
+ background-color: var(--qti-dark-bg-active);
2133
+ border-color: var(--qti-dark-border-active);
2134
+ }
2135
+
2136
+ &:state(--dragzone-enabled)::part(drags) {
2137
+ background-color: var(--qti-dark-bg-active);
2138
+ }
2139
+ }
2140
+
2141
+ /* General styles for active and enabled states */
2142
+ &:state(--dragzone-active)::part(drags) {
2143
+ border-color: var(--qti-border-active);
2144
+ background-color: var(--qti-bg-active);
2145
+ }
2146
+
2147
+ &:state(--dragzone-enabled)::part(drags) {
2148
+ background-color: var(--qti-bg-active);
2149
+ }
2150
+
2151
+ & qti-gap-img,
2152
+ qti-gap-text {
2153
+ display: flex;
2154
+ justify-content: center;
2155
+ align-items: center;
2156
+ cursor: grab;
2157
+ }
2158
+
2159
+ & qti-associable-hotspot {
2160
+ display: flex;
2161
+ justify-content: center;
2162
+ align-items: center;
2163
+ border: 2px solid transparent;
2164
+
2165
+ &[enabled] {
2166
+
2167
+ /* Light theme override */
2168
+ .qti-selections-light {
2169
+ background-color: var(--qti-light-bg-active);
2170
+ }
2171
+
2172
+ /* Dark theme override */
2173
+ .qti-selections-dark {
2174
+ background-color: var(--qti-dark-bg-active);
2175
+ }
2176
+ background-color: var(--qti-bg-active)
2177
+ }
2178
+
2179
+ &[active] {
2180
+
2181
+ /* Light theme override */
2182
+ .qti-selections-light {
2183
+ background-color: var(--qti-light-bg-active);
2184
+ border-color: var(--qti-light-border-active);
2185
+ }
2186
+
2187
+ /* Dark theme override */
2188
+ .qti-selections-dark {
2189
+ background-color: var(--qti-dark-bg-active);
2190
+ border-color: var(--qti-dark-border-active);
2191
+ }
2192
+ border-color: var(--qti-border-active);
2193
+ background-color: var(--qti-bg-active)
2194
+ }
2195
+
2196
+ &[disabled] {
2197
+
2198
+ &:not(:empty) {
2199
+ cursor: default !important;
2200
+ }
2201
+
2202
+ cursor: not-allowed;
2203
+
2204
+ background-color: var(--qti-disabled-bg);
2205
+
2206
+ color: var(--qti-disabled-color);
2207
+
2208
+ border-color: var(--qti-border-color);
2209
+
2210
+ outline: 4px solid var(--qti-disabled-bg)
2211
+ }
2212
+
2213
+ &:empty::after {
2214
+ padding: var(--qti-padding-md) var(--qti-padding-lg); /* Padding shorthand */
2215
+ content: '\\0000a0'; /* when empty, put a space in it */
2216
+ }
2217
+
2218
+ &:not(:empty) {
2219
+ padding: 0;
2220
+ width: auto;
2221
+ }
2222
+
2223
+ &:not(:empty) > * {
2224
+ flex: 1;
2225
+ transform: rotate(0); /* rotate-0 */
2226
+ box-shadow: 0 0 0 1px #e5e7eb; /* ring-gray-200 */
2227
+ }
2228
+ }
2229
+
2230
+ & img {
2231
+ margin: 0;
2232
+ padding: 0;
2233
+ }
2234
+ }
2235
+
2236
+ qti-text-entry-interaction {
2237
+ &::part(input) {
2238
+ border-radius: 0;
2239
+ cursor: text;
2240
+ padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2241
+ background: unset;
2242
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2243
+ outline: none;
2244
+ }
2245
+
2246
+ &:hover {
2247
+ background-color: var(--qti-hover-bg);
2248
+ }
2249
+
2250
+ &:focus-within {
2251
+ &::part(input) {
2252
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2253
+ border-color: var(--qti-border-active);
2254
+ }
2255
+ }
2256
+ }
2257
+
2258
+ qti-extended-text-interaction {
2259
+ &::part(textarea) {
2260
+ border-radius: 0;
2261
+ cursor: text;
2262
+ padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2263
+ background: unset;
2264
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2265
+ outline: none;
2266
+ }
2267
+
2268
+ &:hover {
2269
+ background-color: var(--qti-hover-bg);
2270
+ }
2271
+
2272
+ &:focus-within {
2273
+ &::part(textarea) {
2274
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2275
+ border-color: var(--qti-border-active);
2276
+ }
2277
+ }
2278
+ }
2279
+
2280
+ qti-gap-match-interaction {
2281
+ &.qti-selections-light {
2282
+ &:state(--dragzone-active)::part(drags) {
2283
+ background-color: var(--qti-light-bg-active);
2284
+ border-color: var(--qti-light-border-active);
2285
+ }
2286
+
2287
+ &:state(--dragzone-enabled)::part(drags) {
2288
+ background-color: var(--qti-light-bg-active);
2289
+ }
2290
+ }
2291
+
2292
+ &.qti-selections-dark {
2293
+ &:state(--dragzone-active)::part(drags) {
2294
+ background-color: var(--qti-dark-bg-active);
2295
+ border-color: var(--qti-dark-border-active);
2296
+ }
2297
+
2298
+ &:state(--dragzone-enabled)::part(drags) {
2299
+ background-color: var(--qti-dark-bg-active);
2300
+ }
2301
+ }
2302
+
2303
+ /* General styles for active and enabled states */
2304
+ &:state(--dragzone-active)::part(drags) {
2305
+ border-color: var(--qti-border-active);
2306
+ background-color: var(--qti-bg-active);
2307
+ }
2308
+
2309
+ &:state(--dragzone-enabled)::part(drags) {
2310
+ background-color: var(--qti-bg-active);
2311
+ }
2312
+
2313
+ & qti-gap-text {
2314
+
2315
+ &[dragging] {
2316
+ pointer-events: none;
2317
+ rotate: -2deg;
2318
+ box-shadow: 0 8px 12px rgb(0 0 0 / 20%),
2319
+ 0 4px 8px rgb(0 0 0 / 10%);
2320
+ }
2321
+
2322
+ &:hover {
2323
+ background-color: var(--qti-hover-bg);
2324
+ }
2325
+
2326
+ &:focus {
2327
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2328
+ }
2329
+
2330
+ transition: transform 200ms ease-out,
2331
+ box-shadow 200ms ease-out,
2332
+ rotate 200ms ease-out;
2333
+
2334
+ cursor: grab;
2335
+
2336
+ background-color: var(--qti-bg);
2337
+
2338
+ padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2339
+
2340
+ border-radius: var(--qti-border-radius);
2341
+
2342
+ padding-left: calc(var(--qti-padding-horizontal) + 0.5rem);
2343
+
2344
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2345
+
2346
+ outline: none;
2347
+
2348
+ background-image: radial-gradient(
2349
+ circle at center,
2350
+ rgb(0 0 0 / 10%) 0,
2351
+ rgb(0 0 0 / 20%) 2px,
2352
+ rgb(255 255 255 / 0%) 2px,
2353
+ rgb(255 255 255 / 0%) 100%
2354
+ );
2355
+
2356
+ background-repeat: repeat-y;
2357
+
2358
+ background-position: left center;
2359
+
2360
+ background-size: 14px 8px
2361
+ }
2362
+
2363
+ & qti-gap {
2364
+
2365
+ &[disabled] {
2366
+
2367
+ &:not(:empty) {
2368
+ cursor: default !important;
2369
+ }
2370
+
2371
+ cursor: not-allowed;
2372
+
2373
+ background-color: var(--qti-disabled-bg);
2374
+
2375
+ color: var(--qti-disabled-color);
2376
+
2377
+ border-color: var(--qti-border-color);
2378
+
2379
+ outline: 4px solid var(--qti-disabled-bg)
2380
+ }
2381
+
2382
+ &[enabled] {
2383
+
2384
+ /* Light theme override */
2385
+ .qti-selections-light {
2386
+ border-color: var(--qti-light-border-active);
2387
+ }
2388
+
2389
+ /* Dark theme override */
2390
+ .qti-selections-dark {
2391
+ border-color: var(--qti-dark-border-active);
2392
+ }
2393
+ background-color: var(--qti-bg-active)
2394
+ }
2395
+
2396
+ &[active] {
2397
+
2398
+ /* Light theme override */
2399
+ .qti-selections-light {
2400
+ background-color: var(--qti-light-bg-active);
2401
+ border-color: var(--qti-light-border-active);
2402
+ }
2403
+
2404
+ /* Dark theme override */
2405
+ .qti-selections-dark {
2406
+ background-color: var(--qti-dark-bg-active);
2407
+ border-color: var(--qti-dark-border-active);
2408
+ }
2409
+ border-color: var(--qti-border-active);
2410
+ background-color: var(--qti-bg-active)
2411
+ }
2412
+
2413
+ display: inline-flex;
2414
+ align-items: center;
2415
+
2416
+ &:empty::after {
2417
+ padding: var(--qti-padding-md) var(--qti-padding-lg); /* Padding shorthand */
2418
+ content: '\\0000a0'; /* when empty, put a space in it */
2419
+ }
2420
+
2421
+ &:not(:empty) {
2422
+ display: inline-flex;
2423
+ padding: 0;
2424
+ width: auto;
2425
+ }
2426
+
2427
+ &:not(:empty) > * {
2428
+ flex: 1;
2429
+ transform: rotate(0); /* rotate-0 */
2430
+ box-shadow: 0 0 0 1px #e5e7eb; /* ring-gray-200 */
2431
+ }
2432
+
2433
+ background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><circle cx="10" cy="10" r="7" stroke="%23CCCCCC" stroke-width="1" fill="transparent" /></svg>')
2434
+ center no-repeat;
2435
+
2436
+ border-radius: var(--qti-border-radius);
2437
+
2438
+ position: relative;
2439
+
2440
+ background-color: var(--qti-bg);
2441
+
2442
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2443
+
2444
+ outline: none
2445
+ }
2446
+ }
2447
+
2448
+ qti-hotspot-interaction {
2449
+ & qti-hotspot-choice {
2450
+ &[shape='circle'] {
2451
+
2452
+ &:hover {
2453
+ background-color: var(--qti-hover-bg);
2454
+ }
2455
+
2456
+ &:focus {
2457
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2458
+ }
2459
+
2460
+ &:state(--checked),
2461
+ &[aria-checked='true'] {
2462
+ border-color: var(--qti-border-active);
2463
+ }
2464
+
2465
+ &:state(--readonly),
2466
+ &[aria-readonly='true'] {
2467
+ cursor: pointer;
2468
+ background-color: var(--qti-bg);
2469
+ outline: 0;
2470
+ border: none;
2471
+ }
2472
+
2473
+ &:state(--disabled),
2474
+ &[aria-disabled='true'] {
2475
+ cursor: not-allowed;
2476
+ background-color: var(--qti-disabled-bg);
2477
+ color: var(--qti-disabled-color);
2478
+ border-color: var(--qti-border-color);
2479
+ outline: 4px solid var(--qti-disabled-bg);
2480
+ }
2481
+
2482
+ width: 100%;
2483
+
2484
+ height: 100%;
2485
+
2486
+ background-color: transparent;
2487
+
2488
+ padding: 0;
2489
+
2490
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2491
+
2492
+ outline: none
2493
+ }
2494
+
2495
+ &[shape='rect'] {
2496
+
2497
+ /* &:hover {
2498
+ @apply hov;
2499
+ } */
2500
+
2501
+ &:focus {
2502
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2503
+ }
2504
+
2505
+ &:state(--checked),
2506
+ &[aria-checked='true'] {
2507
+ border-color: var(--qti-border-active);
2508
+ }
2509
+
2510
+ &[aria-readonly='true'] {
2511
+ cursor: pointer;
2512
+ background-color: var(--qti-bg);
2513
+ outline: 0;
2514
+ border: none;
2515
+ }
2516
+
2517
+ &[aria-disabled='true'] {
2518
+ cursor: not-allowed;
2519
+ background-color: var(--qti-disabled-bg);
2520
+ color: var(--qti-disabled-color);
2521
+ border-color: var(--qti-border-color);
2522
+ outline: 4px solid var(--qti-disabled-bg);
2523
+ }
2524
+
2525
+ width: 100%;
2526
+
2527
+ height: 100%;
2528
+
2529
+ background-color: transparent;
2530
+
2531
+ padding: 0;
2532
+
2533
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2534
+
2535
+ outline: none
2536
+ }
2537
+
2538
+ &[shape='poly'] {
2539
+ &:hover::after {
2540
+ content: '';
2541
+ width: 100%;
2542
+ height: 100%;
2543
+ background: repeating-linear-gradient(
2544
+ 45deg,
2545
+ var(--qti-border-active),
2546
+ var(--qti-border-active) 5px,
2547
+ transparent 5px,
2548
+ transparent 10px
2549
+ );
2550
+ display: block;
2551
+ }
2552
+
2553
+ &:state(--checked)::after,
2554
+ &[aria-checked='true']::after {
2555
+ content: '';
2556
+ width: 100%;
2557
+ height: 100%;
2558
+ background: repeating-linear-gradient(
2559
+ 45deg,
2560
+ transparent,
2561
+ transparent 5px,
2562
+ var(--qti-border-active) 5px,
2563
+ var(--qti-border-active) 10px
2564
+ );
2565
+ display: block;
2566
+ }
2567
+
2568
+ &[aria-readonly='true'] {
2569
+ cursor: pointer;
2570
+ background-color: var(--qti-bg);
2571
+ outline: 0;
2572
+ border: none;
2573
+ }
2574
+
2575
+ &[aria-disabled='true'] {
2576
+ cursor: not-allowed;
2577
+ background-color: var(--qti-disabled-bg);
2578
+ color: var(--qti-disabled-color);
2579
+ border-color: var(--qti-border-color);
2580
+ outline: 4px solid var(--qti-disabled-bg);
2581
+ }
2582
+ }
2583
+ }
2584
+ }
2585
+
2586
+ qti-hottext-interaction {
2587
+ /* &:not(.qti-input-control-hidden),
2588
+ &:not(.qti-unselected-hidden) { */
2589
+ qti-hottext {
2590
+ display: inline-flex;
2591
+ align-items: center;
2592
+
2593
+ &:hover {
2594
+ background-color: var(--qti-hover-bg);
2595
+ }
2596
+
2597
+ &:focus {
2598
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2599
+ }
2600
+
2601
+ &::part(cha) {
2602
+ width: calc(var(--qti-form-size) - 6px);
2603
+ height: calc(var(--qti-form-size) - 6px);
2604
+ }
2605
+
2606
+ &:state(radio)::part(ch) {
2607
+ border-radius: 100%;
2608
+ display: grid;
2609
+ place-content: center;
2610
+ width: var(--qti-form-size);
2611
+ height: var(--qti-form-size);
2612
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2613
+ outline: none;
2614
+ }
2615
+
2616
+ &:state(radio):state(--checked)::part(cha) {
2617
+ background-color: var(--qti-border-active);
2618
+ border-radius: 100%;
2619
+ }
2620
+
2621
+ &:state(checkbox)::part(ch) {
2622
+ display: flex;
2623
+ place-items: center;
2624
+ border-radius: var(--qti-border-radius);
2625
+ display: grid;
2626
+ place-content: center;
2627
+ width: var(--qti-form-size);
2628
+ height: var(--qti-form-size);
2629
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2630
+ outline: none;
2631
+ }
2632
+
2633
+ &:state(checkbox):state(--checked)::part(cha) {
2634
+ background-color: var(--qti-border-active);
2635
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
2636
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='currentColor' width='100%' height='100%' viewBox='0 0 24 24'%3E%3Cpath d='M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z'/%3E%3C/svg%3E");
2637
+ }
2638
+
2639
+ &:state(correct-response),
2640
+ &[data-correct-response='true'] {
2641
+ &::after {
2642
+ content: '\\02714';
2643
+ color: #16a34a; /* text-green-600 */
2644
+ }
2645
+ }
2646
+
2647
+ gap: 0.5rem;
2648
+
2649
+ border-radius: var(--qti-border-radius);
2650
+
2651
+ padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2652
+
2653
+ outline: none;
2654
+
2655
+ cursor: pointer
2656
+ }
2657
+
2658
+ &.qti-input-control-hidden {
2659
+ qti-hottext {
2660
+ /* --qti-padding-md: 0.1rem;
2661
+ --qti-padding-lg: 0.2rem;
2662
+ --qti-border-radius-md: 0.3rem;
2663
+ --qti-border-thickness: 1px;
2664
+ --qti-font-weight-semibold: 400; */
2665
+
2666
+ &:hover {
2667
+ background-color: var(--qti-hover-bg);
2668
+ }
2669
+
2670
+ &:focus {
2671
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2672
+ }
2673
+
2674
+ /* @layer qti-variants { */
2675
+ &::part(ch) {
2676
+ display: none;
2677
+ }
2678
+
2679
+ &:state(--checked) {
2680
+ border-color: var(--qti-border-active);
2681
+ background-color: var(--qti-bg-active);
2682
+ }
2683
+
2684
+ &[aria-readonly='true'] {
2685
+ cursor: pointer;
2686
+ background-color: var(--qti-bg);
2687
+ outline: 0;
2688
+ border: none;
2689
+ }
2690
+
2691
+ &[aria-disabled='true'] {
2692
+ cursor: not-allowed;
2693
+ background-color: var(--qti-disabled-bg);
2694
+ color: var(--qti-disabled-color);
2695
+ border-color: var(--qti-border-color);
2696
+ outline: 4px solid var(--qti-disabled-bg);
2697
+ }
2698
+
2699
+ border-radius: var(--qti-border-radius);
2700
+
2701
+ padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2702
+
2703
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2704
+
2705
+ outline: none
2706
+ }
2707
+
2708
+ /* } */
2709
+ }
2710
+
2711
+ &.qti-unselected-hidden {
2712
+ qti-hottext {
2713
+ &:hover {
2714
+ background-color: var(--qti-hover-bg);
2715
+ }
2716
+
2717
+ &:focus {
2718
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2719
+ }
2720
+
2721
+ cursor: pointer;
2722
+
2723
+ &::part(ch) {
2724
+ display: none;
2725
+ }
2726
+
2727
+ &:state(--checked) {
2728
+ background-color: var(--qti-bg-active);
2729
+ }
2730
+
2731
+ &[aria-readonly='true'] {
2732
+ cursor: pointer;
2733
+ background-color: var(--qti-bg);
2734
+ outline: 0;
2735
+ border: none;
2736
+ }
2737
+
2738
+ &[aria-disabled='true'] {
2739
+ cursor: not-allowed;
2740
+ background-color: var(--qti-disabled-bg);
2741
+ color: var(--qti-disabled-color);
2742
+ border-color: var(--qti-border-color);
2743
+ outline: 4px solid var(--qti-disabled-bg);
2744
+ }
2745
+ }
2746
+ }
2747
+ }
2748
+
2749
+ qti-inline-choice-interaction {
2750
+ &::part(select) {
2751
+
2752
+ &:hover {
2753
+ background-color: var(--qti-hover-bg);
2754
+ }
2755
+
2756
+ &:focus {
2757
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2758
+ }
2759
+
2760
+ border-radius: var(--qti-border-radius);
2761
+
2762
+ position: relative;
2763
+
2764
+ -webkit-appearance: none;
2765
+
2766
+ -moz-appearance: none;
2767
+
2768
+ appearance: none;
2769
+
2770
+ padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2771
+
2772
+ padding-right: calc(var(--qti-padding-horizontal) + 1.5rem);
2773
+
2774
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2775
+
2776
+ outline: none;
2777
+
2778
+ background: url("data:image/svg+xml,%3Csvg fill='currentColor' width='22' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' aria-hidden='true'%3E%3Cpath clip-rule='evenodd' fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z'%3E%3C/path%3E%3C/svg%3E")
2779
+ no-repeat center right 6px
2780
+ }
2781
+ }
2782
+
2783
+ qti-match-interaction:not(.qti-match-tabular) {
2784
+ &:state(--dragzone-enabled) qti-simple-match-set:first-of-type {
2785
+ background-color: var(--qti-bg-active);
2786
+ }
2787
+
2788
+ &:state(--dragzone-active) qti-simple-match-set:first-of-type {
2789
+ border-color: var(--qti-border-active);
2790
+ background-color: var(--qti-bg-active);
2791
+ }
2792
+
2793
+ /* The draggables */
2794
+ & qti-simple-match-set:first-of-type {
2795
+ display: flex;
2796
+ flex-wrap: wrap;
2797
+ align-items: flex-start; /* Prevents children from stretching */
2798
+ gap: var(--qti-gap-size);
2799
+ border: 2px solid transparent;
2800
+
2801
+ & qti-simple-associable-choice {
2802
+
2803
+ &[dragging] {
2804
+ pointer-events: none;
2805
+ rotate: -2deg;
2806
+ box-shadow: 0 8px 12px rgb(0 0 0 / 20%),
2807
+ 0 4px 8px rgb(0 0 0 / 10%);
2808
+ }
2809
+
2810
+ &:hover {
2811
+ background-color: var(--qti-hover-bg);
2812
+ }
2813
+
2814
+ &:focus {
2815
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2816
+ }
2817
+
2818
+ transition: transform 200ms ease-out,
2819
+ box-shadow 200ms ease-out,
2820
+ rotate 200ms ease-out;
2821
+
2822
+ cursor: grab;
2823
+
2824
+ background-color: var(--qti-bg);
2825
+
2826
+ padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2827
+
2828
+ border-radius: var(--qti-border-radius);
2829
+
2830
+ padding-left: calc(var(--qti-padding-horizontal) + 0.5rem);
2831
+
2832
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2833
+
2834
+ outline: none;
2835
+
2836
+ background-image: radial-gradient(
2837
+ circle at center,
2838
+ rgb(0 0 0 / 10%) 0,
2839
+ rgb(0 0 0 / 20%) 2px,
2840
+ rgb(255 255 255 / 0%) 2px,
2841
+ rgb(255 255 255 / 0%) 100%
2842
+ );
2843
+
2844
+ background-repeat: repeat-y;
2845
+
2846
+ background-position: left center;
2847
+
2848
+ background-size: 14px 8px
2849
+ }
2850
+ }
2851
+
2852
+ /* The droppables */
2853
+ & qti-simple-match-set:last-of-type {
2854
+ display: grid;
2855
+ grid-auto-columns: 1fr; /* auto-cols-fr */
2856
+ grid-auto-flow: column; /* grid-flow-col */
2857
+ gap: var(--qti-gap-size); /* gap-2 */
2858
+ width: 100%; /* w-full */
2859
+
2860
+ & qti-simple-associable-choice {
2861
+ display: flex;
2862
+ flex-direction: column;
2863
+ }
2864
+
2865
+ & > qti-simple-associable-choice {
2866
+ /* a droppable qti-simple-associable-choice */
2867
+ box-sizing: border-box;
2868
+ display: grid;
2869
+ grid-row: 2 / 4;
2870
+ grid-template-rows: subgrid;
2871
+
2872
+ & img {
2873
+ max-width: 100%;
2874
+ height: auto;
2875
+ }
2876
+
2877
+ &[enabled] {
2878
+ &::part(dropslot) {
2879
+ background-color: var(--qti-bg-active);
2880
+ }
2881
+ }
2882
+
2883
+ &[disabled] {
2884
+ &::part(dropslot) {
2885
+ cursor: not-allowed;
2886
+ background-color: var(--qti-disabled-bg);
2887
+ color: var(--qti-disabled-color);
2888
+ border-color: var(--qti-border-color);
2889
+ outline: 4px solid var(--qti-disabled-bg);
2890
+ }
2891
+ }
2892
+
2893
+ &[active] {
2894
+ &::part(dropslot) {
2895
+ border-color: var(--qti-border-active);
2896
+ background-color: var(--qti-bg-active);
2897
+ }
2898
+ }
2899
+
2900
+ &::part(dropslot) {
2901
+
2902
+ &[dragging] {
2903
+ pointer-events: none;
2904
+ rotate: -2deg;
2905
+ box-shadow: 0 8px 12px rgb(0 0 0 / 20%),
2906
+ 0 4px 8px rgb(0 0 0 / 10%);
2907
+ }
2908
+
2909
+ &:focus {
2910
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2911
+ }
2912
+
2913
+ min-height: 6rem;
2914
+ gap: var(--qti-gap-size);
2915
+ box-sizing: border-box;
2916
+ display: flex;
2917
+ justify-content: center;
2918
+ align-items: center;
2919
+ background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><circle cx="10" cy="10" r="7" stroke="%23CCCCCC" stroke-width="1" fill="transparent" /></svg>')
2920
+ center no-repeat;
2921
+ border-radius: var(--qti-border-radius);
2922
+ position: relative;
2923
+ background-color: var(--qti-bg);
2924
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2925
+ outline: none;
2926
+ }
2927
+
2928
+ & > *:not(qti-simple-associable-choice) {
2929
+ pointer-events: none;
2930
+ }
2931
+
2932
+ & > qti-simple-associable-choice {
2933
+
2934
+ &::part(dropslot) {
2935
+ display: none;
2936
+ }
2937
+
2938
+ &:hover {
2939
+ background-color: var(--qti-hover-bg);
2940
+ }
2941
+
2942
+ &:focus {
2943
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
2944
+ }
2945
+
2946
+ flex-basis: fit-content;
2947
+
2948
+ transition: transform 200ms ease-out,
2949
+ box-shadow 200ms ease-out,
2950
+ rotate 200ms ease-out;
2951
+
2952
+ cursor: grab;
2953
+
2954
+ background-color: var(--qti-bg);
2955
+
2956
+ padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
2957
+
2958
+ border-radius: var(--qti-border-radius);
2959
+
2960
+ padding-left: calc(var(--qti-padding-horizontal) + 0.5rem);
2961
+
2962
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
2963
+
2964
+ outline: none;
2965
+
2966
+ background-image: radial-gradient(
2967
+ circle at center,
2968
+ rgb(0 0 0 / 10%) 0,
2969
+ rgb(0 0 0 / 20%) 2px,
2970
+ rgb(255 255 255 / 0%) 2px,
2971
+ rgb(255 255 255 / 0%) 100%
2972
+ );
2973
+
2974
+ background-repeat: repeat-y;
2975
+
2976
+ background-position: left center;
2977
+
2978
+ background-size: 14px 8px;
2979
+ }
2980
+ }
2981
+ }
2982
+ }
2983
+
2984
+ qti-order-interaction:state(--dragzone-active)::part(drags) {
2985
+ border-color: var(--qti-border-active);
2986
+ background-color: var(--qti-bg-active);
2987
+ }
2988
+
2989
+ qti-order-interaction:state(--dragzone-enabled)::part(drags) {
2990
+ background-color: var(--qti-bg-active);
2991
+ }
2992
+
2993
+ qti-order-interaction {
2994
+ &::part(qti-simple-choice),
2995
+ & qti-simple-choice {
2996
+
2997
+ &[dragging] {
2998
+ pointer-events: none;
2999
+ rotate: -2deg;
3000
+ box-shadow: 0 8px 12px rgb(0 0 0 / 20%),
3001
+ 0 4px 8px rgb(0 0 0 / 10%);
3002
+ }
3003
+
3004
+ &:hover {
3005
+ background-color: var(--qti-hover-bg);
3006
+ }
3007
+
3008
+ &:focus {
3009
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3010
+ }
3011
+
3012
+ transition: transform 200ms ease-out,
3013
+ box-shadow 200ms ease-out,
3014
+ rotate 200ms ease-out;
3015
+
3016
+ cursor: grab;
3017
+
3018
+ background-color: var(--qti-bg);
3019
+
3020
+ padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
3021
+
3022
+ border-radius: var(--qti-border-radius);
3023
+
3024
+ padding-left: calc(var(--qti-padding-horizontal) + 0.5rem);
3025
+
3026
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3027
+
3028
+ outline: none;
3029
+
3030
+ background-image: radial-gradient(
3031
+ circle at center,
3032
+ rgb(0 0 0 / 10%) 0,
3033
+ rgb(0 0 0 / 20%) 2px,
3034
+ rgb(255 255 255 / 0%) 2px,
3035
+ rgb(255 255 255 / 0%) 100%
3036
+ );
3037
+
3038
+ background-repeat: repeat-y;
3039
+
3040
+ background-position: left center;
3041
+
3042
+ background-size: 14px 8px
3043
+ }
3044
+
3045
+ &::part(qti-simple-choice) {
3046
+ display: flex;
3047
+ overflow: hidden;
3048
+ align-items: center;
3049
+ width: 100%;
3050
+ text-overflow: ellipsis;
3051
+ }
3052
+
3053
+ &::part(drops) {
3054
+ gap: 0.5rem; /* gap-2 */
3055
+ }
3056
+
3057
+ &::part(drags) {
3058
+ gap: 0.5rem; /* gap-2 */
3059
+ }
3060
+
3061
+ &::part(drop-list) {
3062
+
3063
+ &[enabled] {
3064
+
3065
+ /* Light theme override */
3066
+ .qti-selections-light {
3067
+ border-color: var(--qti-light-border-active);
3068
+ }
3069
+
3070
+ /* Dark theme override */
3071
+ .qti-selections-dark {
3072
+ border-color: var(--qti-dark-border-active);
3073
+ }
3074
+ background-color: var(--qti-bg-active)
3075
+ }
3076
+
3077
+ &:hover {
3078
+ background-color: var(--qti-hover-bg);
3079
+ }
3080
+
3081
+ &:focus {
3082
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3083
+ }
3084
+
3085
+ display: flex;
3086
+ min-height: 4rem;
3087
+ background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><circle cx="10" cy="10" r="7" stroke="%23CCCCCC" stroke-width="1" fill="transparent" /></svg>')
3088
+ center no-repeat;
3089
+ border-radius: var(--qti-border-radius);
3090
+ position: relative;
3091
+ background-color: var(--qti-bg);
3092
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3093
+ outline: none;
3094
+ }
3095
+
3096
+ &::part(active) {
3097
+ border-color: var(--qti-border-active);
3098
+ background-color: var(--qti-bg-active);
3099
+ }
3100
+
3101
+ & drop-list {
3102
+ &[shape='circle'] {
3103
+
3104
+ &:hover {
3105
+ background-color: var(--qti-hover-bg);
3106
+ }
3107
+
3108
+ &:focus {
3109
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3110
+ }
3111
+
3112
+ &[aria-checked='true'] {
3113
+ border-color: var(--qti-border-active);
3114
+ background-color: var(--qti-bg-active);
3115
+ }
3116
+
3117
+ &[aria-readonly='true'] {
3118
+ cursor: pointer;
3119
+ background-color: var(--qti-bg);
3120
+ outline: 0;
3121
+ border: none;
3122
+ }
3123
+
3124
+ &[aria-disabled='true'] {
3125
+ cursor: not-allowed;
3126
+ background-color: var(--qti-disabled-bg);
3127
+ color: var(--qti-disabled-color);
3128
+ border-color: var(--qti-border-color);
3129
+ outline: 4px solid var(--qti-disabled-bg);
3130
+ }
3131
+
3132
+ width: 100%;
3133
+
3134
+ height: 100%;
3135
+
3136
+ background-color: transparent;
3137
+
3138
+ padding: 0;
3139
+
3140
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3141
+
3142
+ outline: none
3143
+ }
3144
+
3145
+ &[shape='square'] {
3146
+
3147
+ &:hover {
3148
+ background-color: var(--qti-hover-bg);
3149
+ }
3150
+
3151
+ &:focus {
3152
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3153
+ }
3154
+
3155
+ &[aria-checked='true'] {
3156
+ border-color: var(--qti-border-active);
3157
+ background-color: var(--qti-bg-active);
3158
+ }
3159
+
3160
+ &[aria-readonly='true'] {
3161
+ cursor: pointer;
3162
+ background-color: var(--qti-bg);
3163
+ outline: 0;
3164
+ border: none;
3165
+ }
3166
+
3167
+ &[aria-disabled='true'] {
3168
+ cursor: not-allowed;
3169
+ background-color: var(--qti-disabled-bg);
3170
+ color: var(--qti-disabled-color);
3171
+ border-color: var(--qti-border-color);
3172
+ outline: 4px solid var(--qti-disabled-bg);
3173
+ }
3174
+
3175
+ width: 100%;
3176
+
3177
+ height: 100%;
3178
+
3179
+ background-color: transparent;
3180
+
3181
+ padding: 0;
3182
+
3183
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3184
+
3185
+ outline: none
3186
+ }
3187
+ }
3188
+ }
3189
+
3190
+ qti-associate-interaction {
3191
+ /* General styles for active and enabled states */
3192
+ &:state(--dragzone-active) slot[name='qti-simple-associable-choice'] {
3193
+ border-color: var(--qti-border-active);
3194
+ background-color: var(--qti-bg-active);
3195
+ }
3196
+
3197
+ &:state(--dragzone-enabled) slot[name='qti-simple-associable-choice'] {
3198
+ background-color: var(--qti-bg-active);
3199
+ }
3200
+
3201
+ & qti-simple-associable-choice, /* drags when in lightdom */
3202
+ &::part(qti-simple-associable-choice) /* drags when in shadowdom */ {
3203
+
3204
+ &:hover {
3205
+ background-color: var(--qti-hover-bg);
3206
+ }
3207
+
3208
+ &:focus {
3209
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3210
+ }
3211
+
3212
+ &[dragging] {
3213
+ pointer-events: none;
3214
+ rotate: -2deg;
3215
+ box-shadow: 0 8px 12px rgb(0 0 0 / 20%),
3216
+ 0 4px 8px rgb(0 0 0 / 10%);
3217
+ }
3218
+
3219
+ transition: transform 200ms ease-out,
3220
+ box-shadow 200ms ease-out,
3221
+ rotate 200ms ease-out;
3222
+
3223
+ cursor: grab;
3224
+
3225
+ background-color: var(--qti-bg);
3226
+
3227
+ padding: var(--qti-padding-vertical) var(--qti-padding-horizontal);
3228
+
3229
+ border-radius: var(--qti-border-radius);
3230
+
3231
+ padding-left: calc(var(--qti-padding-horizontal) + 0.5rem);
3232
+
3233
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3234
+
3235
+ outline: none;
3236
+
3237
+ background-image: radial-gradient(
3238
+ circle at center,
3239
+ rgb(0 0 0 / 10%) 0,
3240
+ rgb(0 0 0 / 20%) 2px,
3241
+ rgb(255 255 255 / 0%) 2px,
3242
+ rgb(255 255 255 / 0%) 100%
3243
+ );
3244
+
3245
+ background-repeat: repeat-y;
3246
+
3247
+ background-position: left center;
3248
+
3249
+ background-size: 14px 8px
3250
+ }
3251
+
3252
+ /* display: flex;
3253
+ overflow: hidden;
3254
+ align-items: center; */
3255
+
3256
+ /* &::part(drop-container) {
3257
+ display: flex;
3258
+ flex-direction: column;
3259
+ gap: var(--qti-gap-size);
3260
+ } */
3261
+
3262
+ &::part(drop-list) {
3263
+
3264
+ display: grid;
3265
+ height: 3rem;
3266
+ min-width: 10rem;
3267
+ background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><circle cx="10" cy="10" r="7" stroke="%23CCCCCC" stroke-width="1" fill="transparent" /></svg>')
3268
+ center no-repeat;
3269
+ border-radius: var(--qti-border-radius);
3270
+ position: relative;
3271
+ background-color: var(--qti-bg);
3272
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3273
+ outline: none;
3274
+ }
3275
+
3276
+ &::part(drop-list):focus {
3277
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3278
+ }
3279
+
3280
+ &::part(drop-list)[dragging] {
3281
+ border-color: var(--qti-border-active);
3282
+ background-color: var(--qti-bg-active);
3283
+ }
3284
+
3285
+ /* &::part(drop-list) {
3286
+ @apply act;
3287
+ } */
3288
+ }
3289
+
3290
+ qti-graphic-order-interaction {
3291
+ & qti-hotspot-choice {
3292
+ width: 100%;
3293
+ height: 100%;
3294
+ background-color: rgb(255 255 255 / 30%);
3295
+ padding: 0;
3296
+
3297
+ &:hover {
3298
+ background-color: rgb(255 255 255 / 70%);
3299
+ }
3300
+
3301
+ &:focus {
3302
+ background-color: rgb(255 255 255 / 70%);
3303
+ }
3304
+
3305
+ &:state(--checked),
3306
+ &[aria-checked='true'] {
3307
+ background-color: rgb(255 255 255 / 70%);
3308
+ }
3309
+
3310
+ &[aria-readonly='true'] {
3311
+ cursor: pointer;
3312
+ background-color: var(--qti-bg);
3313
+ outline: 0;
3314
+ border: none;
3315
+ }
3316
+
3317
+ &[aria-disabled='true'] {
3318
+ cursor: not-allowed;
3319
+ background-color: var(--qti-disabled-bg);
3320
+ color: var(--qti-disabled-color);
3321
+ border-color: var(--qti-border-color);
3322
+ outline: 4px solid var(--qti-disabled-bg);
3323
+ }
3324
+
3325
+ &[aria-ordervalue] {
3326
+ display: grid;
3327
+ place-content: center;
3328
+ }
3329
+
3330
+ &[aria-ordervalue]::after {
3331
+ content: attr(aria-ordervalue) !important;
3332
+ }
3333
+
3334
+ &[aria-ordercorrectvalue] {
3335
+ display: grid;
3336
+ place-content: center;
3337
+ }
3338
+
3339
+ /* When both attributes are present */
3340
+ &[aria-ordercorrectvalue][aria-ordervalue]::after {
3341
+ content: 'C=' attr(aria-ordercorrectvalue) ' R=' attr(aria-ordervalue) !important;
3342
+ color: var(--qti-correct);
3343
+ }
3344
+
3345
+ /* When only aria-ordercorrectvalue is present */
3346
+ &[aria-ordercorrectvalue]:not([aria-ordervalue])::after {
3347
+ content: 'C=' attr(aria-ordercorrectvalue) !important;
3348
+ color: var(--qti-correct);
3349
+ }
3350
+ }
3351
+
3352
+ &.qti-selections-light {
3353
+ &:state(--dragzone-active)::part(drags) {
3354
+ background-color: var(--qti-light-bg-active);
3355
+ border-color: var(--qti-light-border-active);
3356
+ }
3357
+
3358
+ &:state(--dragzone-enabled)::part(drags) {
3359
+ background-color: var(--qti-light-bg-active);
3360
+ }
3361
+ }
3362
+
3363
+ &.qti-selections-dark {
3364
+ &:state(--dragzone-active)::part(drags) {
3365
+ background-color: var(--qti-dark-bg-active);
3366
+ border-color: var(--qti-dark-border-active);
3367
+ }
3368
+
3369
+ &:state(--dragzone-enabled)::part(drags) {
3370
+ background-color: var(--qti-dark-bg-active);
3371
+ }
3372
+ }
3373
+
3374
+ /* General styles for active and enabled states */
3375
+ &:state(--dragzone-active)::part(drags) {
3376
+ border-color: var(--qti-border-active);
3377
+ background-color: var(--qti-bg-active);
3378
+ }
3379
+
3380
+ &:state(--dragzone-enabled)::part(drags) {
3381
+ background-color: var(--qti-bg-active);
3382
+ }
3383
+ }
3384
+
3385
+ qti-graphic-associate-interaction {
3386
+ position: relative;
3387
+ display: block;
3388
+
3389
+ & qti-associable-hotspot {
3390
+ &[shape='circle'] {
3391
+
3392
+ &:hover {
3393
+ background-color: var(--qti-hover-bg);
3394
+ }
3395
+
3396
+ &:focus {
3397
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3398
+ }
3399
+
3400
+ &[aria-checked='true'] {
3401
+ border-color: var(--qti-border-active);
3402
+ background-color: var(--qti-bg-active);
3403
+ }
3404
+
3405
+ &[aria-readonly='true'] {
3406
+ cursor: pointer;
3407
+ background-color: var(--qti-bg);
3408
+ outline: 0;
3409
+ border: none;
3410
+ }
3411
+
3412
+ &[aria-disabled='true'] {
3413
+ cursor: not-allowed;
3414
+ background-color: var(--qti-disabled-bg);
3415
+ color: var(--qti-disabled-color);
3416
+ border-color: var(--qti-border-color);
3417
+ outline: 4px solid var(--qti-disabled-bg);
3418
+ }
3419
+
3420
+ width: 100%;
3421
+
3422
+ height: 100%;
3423
+
3424
+ background-color: transparent;
3425
+
3426
+ padding: 0;
3427
+
3428
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3429
+
3430
+ outline: none
3431
+ }
3432
+
3433
+ &[shape='square'] {
3434
+
3435
+ &:hover {
3436
+ background-color: var(--qti-hover-bg);
3437
+ }
3438
+
3439
+ &:focus {
3440
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3441
+ }
3442
+
3443
+ &[aria-checked='true'] {
3444
+ border-color: var(--qti-border-active);
3445
+ background-color: var(--qti-bg-active);
3446
+ }
3447
+
3448
+ &[aria-readonly='true'] {
3449
+ cursor: pointer;
3450
+ background-color: var(--qti-bg);
3451
+ outline: 0;
3452
+ border: none;
3453
+ }
3454
+
3455
+ &[aria-disabled='true'] {
3456
+ cursor: not-allowed;
3457
+ background-color: var(--qti-disabled-bg);
3458
+ color: var(--qti-disabled-color);
3459
+ border-color: var(--qti-border-color);
3460
+ outline: 4px solid var(--qti-disabled-bg);
3461
+ }
3462
+
3463
+ width: 100%;
3464
+
3465
+ height: 100%;
3466
+
3467
+ background-color: transparent;
3468
+
3469
+ padding: 0;
3470
+
3471
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3472
+
3473
+ outline: none
3474
+ }
3475
+ }
3476
+
3477
+ &.qti-selections-light {
3478
+ &:state(--dragzone-active)::part(drags) {
3479
+ background-color: var(--qti-light-bg-active);
3480
+ border-color: var(--qti-light-border-active);
3481
+ }
3482
+
3483
+ &:state(--dragzone-enabled)::part(drags) {
3484
+ background-color: var(--qti-light-bg-active);
3485
+ }
3486
+ }
3487
+
3488
+ &.qti-selections-dark {
3489
+ &:state(--dragzone-active)::part(drags) {
3490
+ background-color: var(--qti-dark-bg-active);
3491
+ border-color: var(--qti-dark-border-active);
3492
+ }
3493
+
3494
+ &:state(--dragzone-enabled)::part(drags) {
3495
+ background-color: var(--qti-dark-bg-active);
3496
+ }
3497
+ }
3498
+
3499
+ /* General styles for active and enabled states */
3500
+ &:state(--dragzone-active)::part(drags) {
3501
+ border-color: var(--qti-border-active);
3502
+ background-color: var(--qti-bg-active);
3503
+ }
3504
+
3505
+ &:state(--dragzone-enabled)::part(drags) {
3506
+ background-color: var(--qti-bg-active);
3507
+ }
3508
+ }
3509
+
3510
+ qti-slider-interaction {
3511
+ --qti-tick-color: rgb(229 231 235 / 100%);
3512
+ --qti-tick-width: 1px;
3513
+ }
3514
+
3515
+ qti-select-point-interaction {
3516
+ &::part(point) {
3517
+ &:hover {
3518
+ background-color: var(--qti-hover-bg);
3519
+ }
3520
+
3521
+ &:focus {
3522
+ box-shadow: 0 0 0 var(--qti-focus-border-width) var(--qti-focus-color);
3523
+ }
3524
+
3525
+ border-radius: 100%;
3526
+
3527
+ border: 1px solid white;
3528
+
3529
+ background-color: black;
3530
+
3531
+ opacity: 0.5;
3532
+
3533
+ padding: 0;
3534
+
3535
+ border: var(--qti-border-thickness) var(--qti-border-style) var(--qti-border-color);
3536
+
3537
+ outline: none;
3538
+ }
3539
+ }
3540
+
3541
+ qti-position-object-stage {
3542
+ & qti-position-object-interaction {
3543
+ /* no styles necessary, only layout styles, defined in the component */
3544
+ }
3545
+ }
3546
+
3547
+ qti-prompt {
3548
+ margin: 0.5rem 0; /* my-2 */
3549
+ display: block;
3550
+ width: 100%;
3551
+ }
3552
+ }
3553
+
3554
+ qti-test-part:not(:has(qti-assessment-item)),
3555
+ qti-assessment-section:not(:has(qti-assessment-item)),
3556
+ qti-assessment-item-ref:not(:has(qti-assessment-item)) {
3557
+ display: none;
3558
+ }
3559
+ `;
3560
+
3561
+ // src/lib/qti-test/components/test-container.ts
3562
+ var TestContainer = class extends LitElement {
3563
+ constructor() {
3564
+ super(...arguments);
3565
+ this.testURL = null;
3566
+ this.testDoc = null;
3567
+ this.testXML = null;
3568
+ /** Template content if provided */
3569
+ this.templateContent = null;
3570
+ }
3571
+ async handleTestURLChange() {
3572
+ if (!this.testURL) return;
3573
+ try {
3574
+ const api = await qtiTransformTest().load(this.testURL);
3575
+ this.testDoc = api.htmlDoc();
3576
+ } catch (error) {
3577
+ console.error("Error loading or parsing XML:", error);
3578
+ }
3579
+ }
3580
+ handleTestXMLChange() {
3581
+ if (!this.testXML) return;
3582
+ try {
3583
+ this.testDoc = qtiTransformTest().parse(this.testXML).htmlDoc();
3584
+ } catch (error) {
3585
+ console.error("Error parsing XML:", error);
3586
+ }
3587
+ }
3588
+ async connectedCallback() {
3589
+ super.connectedCallback();
3590
+ this.initializeTemplateContent();
3591
+ this.applyStyles();
3592
+ if (this.testURL) {
3593
+ this.handleTestURLChange();
3594
+ }
3595
+ if (this.testXML) {
3596
+ this.handleTestXMLChange();
3597
+ }
3598
+ }
3599
+ initializeTemplateContent() {
3600
+ const template = this.querySelector("template");
3601
+ this.templateContent = template ? template.content : html``;
3602
+ }
3603
+ applyStyles() {
3604
+ const sheet = new CSSStyleSheet();
3605
+ sheet.replaceSync(item_default);
3606
+ this.shadowRoot.adoptedStyleSheets = [sheet];
3607
+ }
3608
+ render() {
3609
+ return html`
3610
+ ${this.templateContent}
3611
+ <slot></slot>
3612
+ ${until(this.testDoc, html`<span>Loading...</span>`)}
3613
+ `;
3614
+ }
3615
+ };
3616
+ __decorateClass([
3617
+ property({ type: String, attribute: "test-url" })
3618
+ ], TestContainer.prototype, "testURL", 2);
3619
+ __decorateClass([
3620
+ state()
3621
+ ], TestContainer.prototype, "testDoc", 2);
3622
+ __decorateClass([
3623
+ state()
3624
+ ], TestContainer.prototype, "testXML", 2);
3625
+ __decorateClass([
3626
+ watch("testURL", { waitUntilFirstUpdate: true })
3627
+ ], TestContainer.prototype, "handleTestURLChange", 1);
3628
+ __decorateClass([
3629
+ watch("testXML", { waitUntilFirstUpdate: true })
3630
+ ], TestContainer.prototype, "handleTestXMLChange", 1);
3631
+ TestContainer = __decorateClass([
3632
+ customElement("test-container")
3633
+ ], TestContainer);
3634
+
3635
+ export {
3636
+ TestContainer
3637
+ };
3638
+ //# sourceMappingURL=chunk-EHRC7LG6.js.map