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