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