xref: /plugin/bpmnio/vendor/dmn-js/dist/assets/diagram-js.less (revision 529cd0c7e7482cb885389d653a3a6be172520f4a)
1/**
2 * color definitions
3 */
4.djs-parent {
5  --color-grey-225-10-15: hsl(225, 10%, 15%);
6  --color-grey-225-10-35: hsl(225, 10%, 35%);
7  --color-grey-225-10-55: hsl(225, 10%, 55%);
8  --color-grey-225-10-75: hsl(225, 10%, 75%);
9  --color-grey-225-10-80: hsl(225, 10%, 80%);
10  --color-grey-225-10-85: hsl(225, 10%, 85%);
11  --color-grey-225-10-90: hsl(225, 10%, 90%);
12  --color-grey-225-10-95: hsl(225, 10%, 95%);
13  --color-grey-225-10-97: hsl(225, 10%, 97%);
14
15  --color-blue-205-100-45: hsl(205, 100%, 45%);
16  --color-blue-205-100-45-opacity-30: hsla(205, 100%, 45%, 30%);
17  --color-blue-205-100-50: hsl(205, 100%, 50%);
18  --color-blue-205-100-50-opacity-15: hsla(205, 100%, 50%, 15%);
19  --color-blue-205-100-70: hsl(205, 100%, 75%);
20  --color-blue-205-100-95: hsl(205, 100%, 95%);
21
22  --color-green-150-86-44: hsl(150, 86%, 44%);
23
24  --color-red-360-100-40: hsl(360, 100%, 40%);
25  --color-red-360-100-45: hsl(360, 100%, 45%);
26  --color-red-360-100-92: hsl(360, 100%, 92%);
27  --color-red-360-100-97: hsl(360, 100%, 97%);
28
29  --color-white: hsl(0, 0%, 100%);
30  --color-black: hsl(0, 0%, 0%);
31  --color-black-opacity-10: hsla(0, 0%, 0%, 10%);
32  --color-black-opacity-30: hsla(0, 0%, 0%, 30%);
33
34  --canvas-fill-color: var(--color-white);
35
36  --bendpoint-fill-color: var(--color-blue-205-100-45);
37  --bendpoint-stroke-color: var(--canvas-fill-color);
38
39  --context-pad-entry-background-color: var(--color-white);
40  --context-pad-entry-hover-background-color: var(--color-grey-225-10-95);
41
42  --element-dragger-color: var(--color-blue-205-100-50);
43  --element-hover-outline-fill-color: var(--color-blue-205-100-45);
44  --element-selected-outline-stroke-color: var(--color-blue-205-100-50);
45  --element-selected-outline-secondary-stroke-color: var(--color-blue-205-100-70);
46
47  --lasso-fill-color: var(--color-blue-205-100-50-opacity-15);
48  --lasso-stroke-color: var(--element-selected-outline-stroke-color);
49
50  --palette-entry-color: var(--color-grey-225-10-15);
51  --palette-entry-hover-color: var(--color-blue-205-100-45);
52  --palette-entry-selected-color: var(--color-blue-205-100-50);
53  --palette-separator-color: var(--color-grey-225-10-75);
54  --palette-toggle-hover-background-color: var(--color-grey-225-10-55);
55  --palette-background-color: var(--color-grey-225-10-97);
56  --palette-border-color: var(--color-grey-225-10-75);
57
58  --popup-font-family: "IBM Plex Sans", sans-serif;
59  --popup-font-size: 14px;
60  --popup-header-entry-selected-color: var(--color-blue-205-100-50);
61  --popup-header-font-weight: bolder;
62  --popup-header-group-divider-color: var(--color-grey-225-10-75);
63  --popup-background-color: var(--color-white);
64  --popup-border-color: transparent;
65  --popup-shadow-color: var(--color-black-opacity-30);
66  --popup-disabled-color: var(--color-grey-225-10-35);
67  --popup-description-color: var(--color-grey-225-10-55);
68  --popup-no-results-color: var(--color-grey-225-10-55);
69  --popup-entry-title-color: var(--color-grey-225-10-55);
70  --popup-entry-hover-color:  var(--color-grey-225-10-95);
71  --popup-search-border-color: var(--color-grey-225-10-75);
72  --popup-search-focus-border-color: var(--color-blue-205-100-50);
73  --popup-search-focus-background-color: var(--color-blue-205-100-95);
74
75  --resizer-fill-color: var(--color-blue-205-100-45);
76  --resizer-stroke-color: var(--canvas-fill-color);
77
78  --search-font-family: "IBM Plex Sans", sans-serif;
79  --search-font-size: 14px;
80  --search-container-background-color: var(--color-white);
81  --search-shadow-color: var(--color-black-opacity-30);
82  --search-input-border-color: var(--color-grey-225-10-75);
83  --search-input-focus-border-color: var(--color-blue-205-100-50);
84  --search-input-focus-background-color: var(--color-blue-205-100-95);
85  --search-result-hover-background-color: var(--color-grey-225-10-95);
86  --search-result-secondary-color: var(--color-grey-225-10-55);
87  --search-preselected-background-color: var(--color-blue-205-100-50-opacity-15);
88
89  --shape-attach-allowed-stroke-color: var(--color-blue-205-100-50);
90  --shape-connect-allowed-fill-color: var(--color-grey-225-10-97);
91  --shape-drop-allowed-fill-color: var(--color-grey-225-10-97);
92  --shape-drop-not-allowed-fill-color: var(--color-red-360-100-97);
93  --shape-resize-preview-stroke-color: var(--color-blue-205-100-50);
94
95  --snap-line-stroke-color: var(--color-blue-205-100-45-opacity-30);
96
97  --space-tool-crosshair-stroke-color: var(--color-black);
98
99  --tooltip-error-background-color: var(--color-red-360-100-97);
100  --tooltip-error-border-color: var(--color-red-360-100-45);
101  --tooltip-error-color: var(--color-red-360-100-45);
102}
103
104/**
105 * SVG styles
106 */
107
108.djs-container svg.drop-not-ok {
109  background: var(--shape-drop-not-allowed-fill-color) !important;
110}
111
112.djs-container svg.new-parent {
113  background: var(--shape-drop-allowed-fill-color) !important;
114}
115
116/**
117 * outline styles
118 */
119
120.djs-outline,
121.djs-selection-outline {
122  fill: none;
123  shape-rendering: geometricPrecision;
124  stroke-width: 2px;
125}
126
127.djs-outline {
128  visibility: hidden;
129}
130
131.djs-selection-outline {
132  stroke: var(--element-selected-outline-stroke-color);
133}
134
135.djs-element.selected .djs-outline {
136  visibility: visible;
137
138  stroke: var(--element-selected-outline-stroke-color);
139}
140
141.djs-connection.selected .djs-outline {
142  display: none;
143}
144
145.djs-multi-select .djs-element.selected .djs-outline {
146  stroke: var(--element-selected-outline-secondary-stroke-color);
147  display: block;
148}
149
150.djs-shape.connect-ok .djs-visual > :nth-child(1) {
151  fill: var(--shape-connect-allowed-fill-color) !important;
152}
153
154.djs-shape.connect-not-ok .djs-visual > :nth-child(1),
155.djs-shape.drop-not-ok .djs-visual > :nth-child(1) {
156  fill: var(--shape-drop-not-allowed-fill-color) !important;
157}
158
159.djs-shape.new-parent .djs-visual > :nth-child(1) {
160  fill: var(--shape-drop-allowed-fill-color) !important;
161}
162
163
164/* Override move cursor during drop and connect */
165.drop-not-ok,
166.connect-not-ok,
167.drop-not-ok *,
168.connect-not-ok * {
169  cursor: not-allowed !important;
170}
171
172.drop-ok,
173.connect-ok,
174.drop-ok *,
175.connect-ok * {
176  cursor: default !important;
177}
178
179.djs-element.attach-ok .djs-visual > :nth-child(1) {
180  stroke-width: 5px !important;
181  stroke: var(--shape-attach-allowed-stroke-color) !important;
182}
183
184.djs-frame.connect-not-ok .djs-visual > :nth-child(1),
185.djs-frame.drop-not-ok .djs-visual > :nth-child(1) {
186  stroke-width: 3px !important;
187  stroke: var(--shape-drop-not-allowed-fill-color) !important;
188  fill: none !important;
189}
190
191/**
192* Selection box style
193*
194*/
195.djs-lasso-overlay {
196  fill: var(--lasso-fill-color);
197  stroke: var(--lasso-stroke-color);
198  stroke-width: 2px;
199  shape-rendering: geometricPrecision;
200  pointer-events: none;
201}
202
203/**
204 * Resize styles
205 */
206.djs-resize-overlay {
207  fill: none;
208
209  stroke-dasharray: 5 1 3 1;
210  stroke: var(--shape-resize-preview-stroke-color);
211
212  pointer-events: none;
213}
214
215.djs-resizer-hit {
216  fill: none;
217  pointer-events: all;
218}
219
220.djs-resizer-visual {
221  fill: var(--resizer-fill-color);
222  stroke-width: 1px;
223  stroke: var(--resizer-stroke-color);
224  shape-rendering: geometricPrecision;
225}
226
227.djs-resizer:hover .djs-resizer-visual {
228  stroke: var(--resizer-stroke-color);
229  stroke-opacity: 1;
230}
231
232.djs-cursor-resize-ns,
233.djs-resizer-n,
234.djs-resizer-s {
235  cursor: ns-resize;
236}
237
238.djs-cursor-resize-ew,
239.djs-resizer-e,
240.djs-resizer-w {
241  cursor: ew-resize;
242}
243
244.djs-cursor-resize-nwse,
245.djs-resizer-nw,
246.djs-resizer-se {
247  cursor: nwse-resize;
248}
249
250.djs-cursor-resize-nesw,
251.djs-resizer-ne,
252.djs-resizer-sw {
253  cursor: nesw-resize;
254}
255
256.djs-shape.djs-resizing > .djs-outline {
257  visibility: hidden !important;
258}
259
260.djs-shape.djs-resizing > .djs-resizer {
261  visibility: hidden;
262}
263
264.djs-dragger > .djs-resizer {
265  visibility: hidden;
266}
267
268/**
269 * drag styles
270 */
271.djs-dragger * {
272  fill: none !important;
273  stroke: var(--element-dragger-color) !important;
274}
275
276.djs-dragger tspan,
277.djs-dragger text {
278  fill: var(--element-dragger-color) !important;
279  stroke: none !important;
280}
281
282.djs-dragger marker circle,
283.djs-dragger marker path,
284.djs-dragger marker polygon,
285.djs-dragger marker polyline,
286.djs-dragger marker rect {
287  fill: var(--element-dragger-color) !important;
288  stroke: none !important;
289}
290
291.djs-dragger marker text,
292.djs-dragger marker tspan {
293  fill: none !important;
294  stroke: var(--element-dragger-color) !important;
295}
296
297.djs-dragging,
298.djs-dragging > * {
299  opacity: 0.3 !important;
300  pointer-events: none !important;
301}
302
303/**
304 * no pointer events for visual
305 */
306.djs-visual,
307.djs-outline {
308  pointer-events: none;
309}
310
311.djs-element.attach-ok .djs-hit {
312  stroke-width: 60px !important;
313}
314
315/**
316 * all pointer events for hit shape
317 */
318.djs-element > .djs-hit-all,
319.djs-element > .djs-hit-no-move {
320  pointer-events: all;
321}
322
323.djs-element > .djs-hit-stroke,
324.djs-element > .djs-hit-click-stroke {
325  pointer-events: stroke;
326}
327
328/**
329 * shape / connection basic styles
330 */
331.djs-connection .djs-visual {
332  stroke-width: 2px;
333  fill: none;
334}
335
336.djs-cursor-grab {
337  cursor: -webkit-grab;
338  cursor: -moz-grab;
339  cursor: grab;
340}
341
342.djs-cursor-grabbing {
343  cursor: -webkit-grabbing;
344  cursor: -moz-grabbing;
345  cursor: grabbing;
346}
347
348.djs-cursor-crosshair {
349  cursor: crosshair;
350}
351
352.djs-cursor-move {
353  cursor: move;
354}
355
356.djs-cursor-resize-ns {
357  cursor: ns-resize;
358}
359
360.djs-cursor-resize-ew {
361  cursor: ew-resize;
362}
363
364
365/**
366 * snapping
367 */
368.djs-snap-line {
369  stroke: var(--snap-line-stroke-color);
370  stroke-linecap: round;
371  stroke-width: 2px;
372  pointer-events: none;
373}
374
375/**
376 * snapping
377 */
378.djs-crosshair {
379  stroke: var(--space-tool-crosshair-stroke-color);
380  stroke-linecap: round;
381  stroke-width: 1px;
382  pointer-events: none;
383  shape-rendering: geometricPrecision;
384  stroke-dasharray: 5, 5;
385}
386
387/**
388 * palette
389 */
390
391.djs-palette {
392  position: absolute;
393  left: 20px;
394  top: 20px;
395
396  box-sizing: border-box;
397  width: 48px;
398}
399
400.djs-palette .separator {
401  margin: 5px;
402  padding-top: 5px;
403
404  border: none;
405  border-bottom: solid 1px var(--palette-separator-color);
406
407  clear: both;
408}
409
410.djs-palette .entry:before {
411  vertical-align: initial;
412}
413
414.djs-palette .djs-palette-toggle {
415  cursor: pointer;
416}
417
418.djs-palette .entry,
419.djs-palette .djs-palette-toggle {
420  color: var(--palette-entry-color);
421  font-size: 30px;
422
423  text-align: center;
424}
425
426.djs-palette .entry {
427  float: left;
428}
429
430.djs-palette .entry img {
431  max-width: 100%;
432}
433
434.djs-palette .djs-palette-entries:after {
435  content: '';
436  display: table;
437  clear: both;
438}
439
440.djs-palette .djs-palette-toggle:hover {
441  background: var(--palette-toggle-hover-background-color);
442}
443
444.djs-palette .entry:hover {
445  color: var(--palette-entry-hover-color);
446}
447
448.djs-palette .highlighted-entry {
449  color: var(--palette-entry-selected-color) !important;
450}
451
452.djs-palette .entry,
453.djs-palette .djs-palette-toggle {
454  width: 46px;
455  height: 46px;
456  line-height: 46px;
457  cursor: default;
458}
459
460/**
461 * Palette open / two-column layout is controlled via
462 * classes on the palette. Events to hook into palette
463 * changed life-cycle are available in addition.
464 */
465.djs-palette.two-column.open {
466  width: 94px;
467}
468
469.djs-palette:not(.open) .djs-palette-entries {
470  display: none;
471}
472
473.djs-palette:not(.open) {
474  overflow: hidden;
475}
476
477.djs-palette.open .djs-palette-toggle {
478  display: none;
479}
480
481/**
482 * context-pad
483 */
484.djs-context-pad {
485  position: absolute;
486  display: none;
487  pointer-events: none;
488  line-height: 1;
489  width: 72px;
490  z-index: 100;
491}
492
493.djs-context-pad .entry {
494  width: 22px;
495  height: 22px;
496  text-align: center;
497  display: inline-block;
498  font-size: 22px;
499  margin: 0 2px 2px 0;
500
501  border-radius: 3px;
502
503  cursor: default;
504
505  background-color: var(--context-pad-entry-background-color);
506  box-shadow: 0 0 2px 1px var(--context-pad-entry-background-color);
507  pointer-events: all;
508  vertical-align: middle;
509}
510
511.djs-context-pad .entry:hover {
512  background: var(--context-pad-entry-hover-background-color);
513}
514
515.djs-context-pad.open {
516  display: block;
517}
518
519/**
520 * popup styles
521 */
522.djs-popup {
523  line-height: 1;
524  box-sizing: border-box;
525  width: min-content;
526  background: var(--popup-background-color);
527  overflow: hidden;
528  position: fixed;
529  z-index: 200;
530  box-shadow: 0px 2px 6px var(--popup-shadow-color);
531  border: solid 1px var(--popup-border-color);
532  min-width: 120px;
533  outline: none;
534  font-size: var(--popup-font-size);
535  font-family: var(--popup-font-family);
536}
537
538.djs-popup-search input {
539  width: 100%;
540  box-sizing: border-box;
541  font-size: var(--popup-font-size);
542  padding: 3px 6px 3px 28px;
543  border-radius: 2px;
544  border: solid 1px var(--popup-search-border-color);
545  line-height: 21px;
546}
547
548.djs-popup-search input:focus {
549  background-color: var(--popup-search-focus-background-color);
550  border: solid 1px var(--popup-search-focus-border-color);
551  outline: none;
552}
553
554.djs-popup-header {
555  display: flex;
556  align-items: stretch;
557  line-height: 20px;
558  margin: 10px 12px 10px 12px;
559}
560
561.djs-popup-header .entry {
562  border-radius: 2px;
563}
564
565.djs-popup button.entry {
566  padding: 0;
567  background: transparent;
568  border: 0;
569}
570
571.djs-popup-header .entry.active {
572  color: var(--popup-header-entry-selected-color);
573}
574
575.djs-popup-header .entry.disabled {
576  color: inherit;
577}
578
579.djs-popup-header-group {
580  display: flex;
581  flex-direction: row;
582  align-items: center;
583  list-style: none;
584  margin: 0;
585  padding: 0;
586}
587
588.djs-popup-header-group .entry {
589  display: flex;
590  flex-direction: row;
591  align-items: center;
592}
593
594.djs-popup-header-group + .djs-popup-header-group:before {
595  content: '';
596  width: 1px;
597  height: 20px;
598  background: var(--popup-header-group-divider-color);
599  margin: 0 5px;
600}
601
602.djs-popup-search {
603  position: relative;
604  width: auto;
605  margin: 10px 12px;
606}
607
608.djs-popup-title {
609  font-size: var(--popup-font-size);
610  font-weight: var(--popup-header-font-weight);
611  flex: 1;
612  margin: 0;
613}
614
615.djs-popup-search-icon {
616  position: absolute;
617  left: 8px;
618  top: 7px;
619}
620
621.djs-popup-results {
622  margin: 7px 3px 7px 12px;
623  list-style: none;
624  max-height: 280px;
625  overflow: auto;
626  padding-right: 9px;
627}
628
629.djs-popup-group {
630  margin: 0;
631  padding: 0;
632  width: 100%;
633}
634
635.djs-popup-body .entry,
636.djs-popup-body .entry-header {
637  padding: 5px 7px;
638  cursor: default;
639  border-radius: 4px;
640}
641
642.djs-popup-body .entry-header {
643  font-weight: var(--popup-header-font-weight);
644  color: var(--popup-entry-title-color);
645  padding-left: 0;
646}
647
648.djs-popup [class*="icon"] .djs-popup-label,
649.djs-popup-label:not(:first-child) {
650  margin-left: .5em;
651}
652
653.djs-popup [class*="icon"]:before,
654.djs-popup-entry-icon {
655  width: 1em;
656  height: 1em;
657  display: inline-block;
658  font-size: 1.4em;
659  vertical-align: middle;
660}
661
662.djs-popup-body .entry-header:not(:first-child) {
663  margin-top: 8px;
664  margin-bottom: 2px;
665}
666
667.djs-popup-body .entry {
668  display: flex;
669  flex-direction: row;
670  align-items: stretch;
671  height: min-content;
672}
673
674.djs-popup .entry.selected {
675  background-color: var(--popup-entry-hover-color);
676}
677
678.djs-popup .entry.disabled {
679  color: var(--popup-disabled-color);
680  cursor: not-allowed;
681}
682
683.djs-popup-body .entry:not(:first-child) {
684  margin-top: 2px;
685}
686
687.djs-popup-entry-content {
688  display: flex;
689  flex-direction: column;
690  flex: 1;
691  overflow: hidden;
692}
693
694.djs-popup-entry-description {
695  color: var(--popup-description-color);
696}
697
698.djs-popup-label,
699.djs-popup-entry-description {
700  line-height: 1.4em;
701}
702
703.djs-popup .entry,
704.djs-popup .entry-header {
705  margin: 1px;
706}
707
708.djs-popup-title,
709.djs-popup-label,
710.djs-popup-entry-description,
711.djs-popup .entry-header {
712  overflow: hidden;
713  text-overflow: ellipsis;
714  white-space: nowrap;
715}
716
717.djs-popup-entry-name {
718  display: flex;
719}
720
721.djs-popup-body {
722  flex-direction: column;
723  width: auto;
724}
725
726.djs-popup *::-webkit-scrollbar {
727  width: 6px;
728}
729
730.djs-popup *::-webkit-scrollbar-thumb {
731  border-radius: 3px;
732  background-color: rgba(0, 0, 0, 0.2);
733}
734
735.djs-popup *::-webkit-scrollbar-track {
736  box-shadow: none;
737  background: transparent;
738  margin: 0;
739  padding: 5px;
740}
741
742.djs-popup-no-results {
743  padding: 0 12px 12px 12px;
744  color: var(--popup-no-results-color);
745}
746
747.djs-popup-entry-docs {
748  flex: 0;
749  flex-direction: row;
750  align-items: center;
751  padding-left: 5px;
752  display: none;
753}
754
755.djs-popup-body .entry:hover .djs-popup-entry-docs {
756  display: flex;
757}
758
759.djs-popup-entry-docs svg {
760  vertical-align: middle;
761  margin: auto 2px auto 5px;
762}
763
764/**
765 *  palette styles
766 */
767.djs-palette {
768  background: var(--palette-background-color);
769  border: solid 1px var(--palette-border-color);
770  border-radius: 2px;
771}
772
773/**
774 * bendpoints
775 */
776.djs-segment-dragger,
777.djs-bendpoint {
778  display: none;
779}
780
781.djs-segment-dragger .djs-visual {
782  display: none;
783
784  fill: var(--bendpoint-fill-color);
785  stroke: var(--bendpoint-stroke-color);
786  stroke-width: 1px;
787  stroke-opacity: 1;
788}
789
790.djs-segment-dragger:hover .djs-visual {
791  display: block;
792}
793
794.djs-bendpoint .djs-visual {
795  fill: var(--bendpoint-fill-color);
796  stroke: var(--bendpoint-stroke-color);
797  stroke-width: 1px;
798}
799
800.djs-segment-dragger:hover,
801.djs-bendpoints.hover .djs-segment-dragger,
802.djs-bendpoints.selected .djs-segment-dragger,
803.djs-bendpoint:hover,
804.djs-bendpoints.hover .djs-bendpoint,
805.djs-bendpoints.selected .djs-bendpoint {
806  display: block;
807}
808
809.djs-drag-active .djs-bendpoints * {
810  display: none;
811}
812
813.djs-bendpoints:not(.hover) .floating {
814  display: none;
815}
816
817.djs-segment-dragger:hover .djs-visual,
818.djs-segment-dragger.djs-dragging .djs-visual,
819.djs-bendpoint:hover .djs-visual,
820.djs-bendpoint.floating .djs-visual {
821  fill: var(--bendpoint-fill-color);
822  stroke: var(--bendpoint-stroke-color);
823  stroke-opacity: 1;
824}
825
826.djs-bendpoint.floating .djs-hit {
827  pointer-events: none;
828}
829
830.djs-segment-dragger .djs-hit,
831.djs-bendpoint .djs-hit {
832  fill: none;
833  pointer-events: all;
834}
835
836.djs-segment-dragger.horizontal .djs-hit {
837  cursor: ns-resize;
838}
839
840.djs-segment-dragger.vertical .djs-hit {
841  cursor: ew-resize;
842}
843
844.djs-segment-dragger.djs-dragging .djs-hit {
845  pointer-events: none;
846}
847
848.djs-updating,
849.djs-updating > * {
850  pointer-events: none !important;
851}
852
853.djs-updating .djs-context-pad,
854.djs-updating .djs-outline,
855.djs-updating .djs-bendpoint,
856.djs-multi-select .djs-bendpoint,
857.djs-multi-select .djs-segment-dragger,
858.connect-ok .djs-bendpoint,
859.connect-not-ok .djs-bendpoint,
860.drop-ok .djs-bendpoint,
861.drop-not-ok .djs-bendpoint {
862  display: none !important;
863}
864
865.djs-segment-dragger.djs-dragging,
866.djs-bendpoint.djs-dragging {
867  display: block;
868  opacity: 1.0;
869}
870
871
872/**
873 * tooltips
874 */
875.djs-tooltip-error {
876  width: 160px;
877  padding: 6px;
878
879  background: var(--tooltip-error-background-color);
880  border: solid 1px var(--tooltip-error-border-color);
881  border-radius: 2px;
882  color: var(--tooltip-error-color);
883  font-size: 12px;
884  line-height: 16px;
885
886  opacity: 0.75;
887}
888
889.djs-tooltip-error:hover {
890  opacity: 1;
891}
892
893
894/**
895 * search pad
896 */
897.djs-search-open .djs-context-pad {
898  display: none;
899}
900
901.djs-search-open .djs-connection.selected .djs-outline {
902  display: block;
903}
904
905.djs-search-container {
906  position: absolute;
907  top: 20px;
908  left: 0;
909  right: 0;
910  margin-left: auto;
911  margin-right: auto;
912
913  width: 25%;
914  min-width: 300px;
915  max-width: 400px;
916  z-index: 10;
917
918  font-family: var(--search-font-family);
919  font-size: var(--search-font-size);
920  border-radius: 2px;
921  box-shadow: 0px 2px 6px var(--search-shadow-color);
922}
923
924.djs-search-container:not(.open) {
925  display: none;
926}
927
928.djs-search-input {
929  position: relative;
930}
931
932.djs-search-input svg {
933  position: absolute;
934  left: 8px;
935  top: 7px;
936}
937
938.djs-search-input input {
939  font-size: var(--search-font-size);
940  width: 100%;
941  padding: 3px 6px 3px 28px;
942  border: 1px solid var(--search-input-border-color);
943  border-radius: 2px;
944  box-sizing: border-box;
945  line-height: 21px;
946}
947
948.djs-search-input input:focus {
949  background-color: var(--search-input-focus-background-color);
950  border: solid 1px var(--search-input-focus-border-color);
951  outline: none;
952}
953
954.djs-search-results {
955  position: relative;
956  overflow-y: auto;
957  max-height: 200px;
958  background: var(--search-container-background-color);
959}
960
961.djs-search-result {
962  padding: 6px 8px;
963}
964
965.djs-search-result-primary {
966  margin: 0 0 3px;
967  text-overflow: ellipsis;
968  overflow: hidden;
969  white-space: nowrap;
970}
971
972.djs-search-result-secondary {
973  font-family: monospace;
974  margin: 0;
975  text-overflow: ellipsis;
976  overflow: hidden;
977  white-space: nowrap;
978  color: var(--search-result-secondary-color);
979}
980
981.djs-search-result:hover {
982  background: var(--search-result-hover-background-color);
983}
984
985.djs-search-result-selected {
986  background: var(--search-result-hover-background-color);
987}
988
989.djs-search-result-selected:hover {
990  background: var(--search-result-hover-background-color);
991}
992
993.djs-search-open .djs-element .djs-outline {
994  fill: var(--search-preselected-background-color) !important;
995}
996
997/**
998 * hidden styles
999 */
1000.djs-element-hidden,
1001.djs-element-hidden .djs-hit,
1002.djs-element-hidden .djs-outline,
1003.djs-label-hidden .djs-label {
1004  display: none !important;
1005}
1006
1007.djs-element .djs-hit-stroke,
1008.djs-element .djs-hit-click-stroke,
1009.djs-element .djs-hit-all {
1010  cursor: move;
1011}