PageSourceSearch

https://digitalsoftwaremarkett.com/wp-content/uploads/custom-css-js/54447.js?v=2879

js digitalsoftwaremarkett.com collected 2026-10-10 01:17:20 UTC 62,605 bytes, 2,252 lines download raw bytes

1/******* Do not edit this file *******
2Simple Custom CSS and JS - by Silkypress.com
3Saved: Sep 08 2026 | 10:37:42 */
4(function () {
5    "use strict";
6
7    const MOBILE_BREAKPOINT = 767;
8
9    let fiboState = null;
10    let resizeTimer = null;
11    let retryCount = 0;
12
13    /* ==========================================================
14       HELPERS
15    ========================================================== */
16
17    function isMobile() {
18        return window.innerWidth <= MOBILE_BREAKPOINT;
19    }
20
21    function getMobileContainer() {
22        return document.querySelector(".shoptimizer-mobile-menu");
23    }
24
25
26    /* ==========================================================
27       BUILD DSM MOBILE MENU
28    ========================================================== */
29
30    function buildMobileMenu() {
31
32        const container = getMobileContainer();
33
34        if (!container) {
35            return null;
36        }
37
38        const existing = container.querySelector(".dsm-mobile-menu-ui");
39
40        if (existing) {
41            return existing;
42        }
43
44        const menu = document.createElement("div");
45
46        menu.className = "dsm-mobile-menu-ui";
47
48        menu.innerHTML = `
49
50            <!-- ===============================================
51                 CONTACT BAR
52            ================================================ -->
53
54            <div class="dsm-mobile-topbar">
55
56                <a
57                    class="dsm-contact-number"
58                    href="tel:+971555873714"
59                    aria-label="Call +971 555 873 714"
60                >
61
62                    <svg viewBox="0 0 24 24" aria-hidden="true">
63                        <path d="M5.5 3.5h3l1.4 4.1-2 1.6c1.2 2.5 3.2 4.5 5.7 5.7l1.6-2 4.1 1.4v3c0 .9-.7 1.7-1.6 1.8C10 20 4 14 3.7 6.3c0-.9.8-1.7 1.8-1.8Z"/>
64                    </svg>
65
66                    <span>+971 555 873 714</span>
67
68                </a>
69
70
71                <a
72                    class="dsm-contact-number"
73                    href="tel:+97125844433"
74                    aria-label="Call +971 2 584 4433"
75                >
76
77                    <svg viewBox="0 0 24 24" aria-hidden="true">
78                        <path d="M5.5 3.5h3l1.4 4.1-2 1.6c1.2 2.5 3.2 4.5 5.7 5.7l1.6-2 4.1 1.4v3c0 .9-.7 1.7-1.6 1.8C10 20 4 14 3.7 6.3c0-.9.8-1.7 1.8-1.8Z"/>
79                    </svg>
80
81                    <span>+971 2 584 4433</span>
82
83                </a>
84
85            </div>
86
87
88            <!-- ===============================================
89                 HEADER
90            ================================================ -->
91
92            <div class="dsm-mobile-header">
93
94                <button
95                    type="button"
96                    class="dsm-mobile-close"
97                    aria-label="Close menu"
98                >
99
100                    <svg viewBox="0 0 24 24" aria-hidden="true">
101                        <path d="M6 6L18 18M18 6L6 18"></path>
102                    </svg>
103
104                </button>
105
106
107                <a
108                    class="dsm-mobile-logo"
109                    href="https://digitalsoftwaremarkett.com/"
110                    aria-label="Digital Software Market"
111                >
112
113                    <img
114                        src="https://digitalsoftwaremarkett.com/wp-content/uploads/2025/08/cropped-DSM-logo-02-2-1.webp"
115                        alt="Digital Software Market"
116                    >
117
118                </a>
119
120
121                <a
122                    class="dsm-mobile-cart"
123                    href="https://digitalsoftwaremarkett.com/cart/"
124                    aria-label="Shopping cart"
125                >
126
127                    <svg viewBox="0 0 24 24" aria-hidden="true">
128
129                        <path d="M3 4H5L7.2 15.1C7.35 15.85 8 16.4 8.8 16.4H17.4C18.2 16.4 18.9 15.85 19.1 15.1L21 7.5H6"/>
130
131                        <circle cx="9.5" cy="20" r="1.15"/>
132                        <circle cx="18" cy="20" r="1.15"/>
133
134                    </svg>
135
136                </a>
137
138            </div>
139
140
141            <!-- ===============================================
142                 REAL FIBOSEARCH
143            ================================================ -->
144
145            <div class="dsm-mobile-search">
146
147                <div class="dsm-fibo-search-slot"></div>
148
149            </div>
150
151
152            <!-- ===============================================
153                 NAVIGATION
154            ================================================ -->
155
156            <nav
157                class="dsm-mobile-navigation"
158                aria-label="DSM Mobile Navigation"
159            >
160
161
162                <!-- ===========================================
163                     SIGN IN
164                ============================================ -->
165
166                <a
167                    href="https://digitalsoftwaremarkett.com/my-account/"
168                    class="dsm-mobile-row"
169                >
170
171                    <span class="dsm-menu-label">
172
173                        <span class="dsm-menu-icon">
174
175                            <svg viewBox="0 0 24 24">
176
177                                <circle cx="12" cy="8" r="4"/>
178
179                                <path d="M4.5 20c.7-4 3.3-6 7.5-6s6.8 2 7.5 6"/>
180
181                            </svg>
182
183                        </span>
184
185                        <span>Sign In</span>
186
187                    </span>
188
189                </a>
190
191
192                <!-- ===========================================
193                     PRODUCTS
194                ============================================ -->
195
196                <div class="dsm-mobile-accordion">
197
198                    <button
199                        type="button"
200                        class="dsm-mobile-accordion-button"
201                        aria-expanded="false"
202                    >
203
204                        <span class="dsm-menu-label">
205
206                            <span class="dsm-menu-icon">
207
208                                <svg viewBox="0 0 24 24">
209
210                                    <path d="M4 7.5 12 3l8 4.5-8 4.5-8-4.5Z"/>
211
212                                    <path d="M4 7.5V16l8 5 8-5V7.5"/>
213
214                                    <path d="M12 12v9"/>
215
216                                </svg>
217
218                            </span>
219
220                            <span>Products</span>
221
222                        </span>
223
224
225                        <svg
226                            class="dsm-menu-chevron"
227                            viewBox="0 0 24 24"
228                        >
229
230                            <path d="M7 9L12 14L17 9"/>
231
232                        </svg>
233
234                    </button>
235
236
237                    <div class="dsm-mobile-accordion-panel">
238
239
240                        <!-- ===================================
241                             WINDOWS
242                        ==================================== -->
243
244                        <div class="dsm-mobile-subgroup">
245
246                            <button
247                                type="button"
248                                class="dsm-mobile-sub-button"
249                                aria-expanded="false"
250                            >
251
252                                <span class="dsm-menu-label">
253
254                                    <span class="dsm-sub-icon dsm-fill-svg">
255
256                                        <svg viewBox="0 0 24 24">
257
258                                            <path d="M3 4.5 10.5 3v8H3V4.5Zm9 6.5V2.7L21 1v10h-9ZM3 12.5h7.5v8L3 19v-6.5Zm9 0h9v10l-9-1.8v-8.2Z"/>
259
260                                        </svg>
261
262                                    </span>
263
264                                    <span>Microsoft Windows</span>
265
266                                </span>
267
268
269                                <svg
270                                    class="dsm-menu-chevron"
271                                    viewBox="0 0 24 24"
272                                >
273
274                                    <path d="M7 9L12 14L17 9"/>
275
276                                </svg>
277
278                            </button>
279
280
281                            <div class="dsm-mobile-sub-panel">
282
283
284                                <a
285                                    href="https://digitalsoftwaremarkett.com/microsoft-windows-11/"
286                                    class="dsm-product-link"
287                                >
288
289                                    <span class="dsm-product-icon dsm-fill-svg">
290
291                                        <svg viewBox="0 0 24 24">
292
293                                            <path d="M3 4h8v8H3V4Zm10 0h8v8h-8V4ZM3 14h8v8H3v-8Zm10 0h8v8h-8v-8Z"/>
294
295                                        </svg>
296
297                                    </span>
298
299                                    <span>Windows 11</span>
300
301                                </a>
302
303
304                                <a
305                                    href="https://digitalsoftwaremarkett.com/microsoft-windows-10/"
306                                    class="dsm-product-link"
307                                >
308
309                                    <span class="dsm-product-icon dsm-fill-svg">
310
311                                        <svg viewBox="0 0 24 24">
312
313                                            <path d="M3 5.2 10.5 4v7H3V5.2ZM12 3.8 21 2.5V11h-9V3.8ZM3 12.5h7.5v7L3 18.3v-5.8Zm9 0h9V21l-9-1.3v-7.2Z"/>
314
315                                        </svg>
316
317                                    </span>
318
319                                    <span>Windows 10</span>
320
321                                </a>
322
323
324                            </div>
325
326                        </div>
327
328
329                        <!-- ===================================
330                             OFFICE
331                        ==================================== -->
332
333                        <div class="dsm-mobile-subgroup">
334
335                            <button
336                                type="button"
337                                class="dsm-mobile-sub-button"
338                                aria-expanded="false"
339                            >
340
341                                <span class="dsm-menu-label">
342
343                                    <span class="dsm-sub-icon">
344
345                                        <svg viewBox="0 0 24 24">
346
347                                            <path d="M6 5.5 13.5 3 19 6v12l-5.5 3L6 18.5v-13Z"/>
348
349                                            <ellipse
350                                                cx="12.5"
351                                                cy="12"
352                                                rx="3"
353                                                ry="4"
354                                            />
355
356                                        </svg>
357
358                                    </span>
359
360                                    <span>Microsoft Office</span>
361
362                                </span>
363
364
365                                <svg
366                                    class="dsm-menu-chevron"
367                                    viewBox="0 0 24 24"
368                                >
369
370                                    <path d="M7 9L12 14L17 9"/>
371
372                                </svg>
373
374                            </button>
375
376
377                            <div class="dsm-mobile-sub-panel">
378
379
380                                <a
381                                    href="https://digitalsoftwaremarkett.com/microsoft-office-365/"
382                                    class="dsm-product-link"
383                                >
384
385                                    <span class="dsm-product-icon">
386
387                                        <svg viewBox="0 0 24 24">
388
389                                            <path d="M7.4 4.5 13 2l4.6 2.7L21 10v5l-5.6 6H9l-6-4V8l4.4-3.5Z"/>
390
391                                            <path d="M8 7.5 13 5l3.5 2v9L12 19l-4-2.3V7.5Z"/>
392
393                                        </svg>
394
395                                    </span>
396
397                                    <span>Microsoft 365</span>
398
399                                </a>
400
401
402                                <a
403                                    href="https://digitalsoftwaremarkett.com/microsoft-office-2024/"
404                                    class="dsm-product-link"
405                                >
406
407                                    <span class="dsm-product-icon">
408
409                                        <svg viewBox="0 0 24 24">
410
411                                            <path d="M6 5 13 2.5 19 6v12l-6 3.5L6 19V5Z"/>
412
413                                            <ellipse
414                                                cx="12.5"
415                                                cy="12"
416                                                rx="3.2"
417                                                ry="4.5"
418                                            />
419
420                                        </svg>
421
422                                    </span>
423
424                                    <span>Microsoft Office 2024</span>
425
426                                </a>
427
428
429                                <a
430                                    href="https://digitalsoftwaremarkett.com/microsoft-office-2021/"
431                                    class="dsm-product-link"
432                                >
433
434                                    <span class="dsm-product-icon">
435
436                                        <svg viewBox="0 0 24 24">
437
438                                            <path d="M6 5 13 2.5 19 6v12l-6 3.5L6 19V5Z"/>
439
440                                            <ellipse
441                                                cx="12.5"
442                                                cy="12"
443                                                rx="3.2"
444                                                ry="4.5"
445                                            />
446
447                                        </svg>
448
449                                    </span>
450
451                                    <span>Microsoft Office 2021</span>
452
453                                </a>
454
455
456                            </div>
457
458                        </div>
459
460
461                        <!-- ===================================
462                             SERVERS
463                        ==================================== -->
464
465                        <div class="dsm-mobile-subgroup">
466
467                            <button
468                                type="button"
469                                class="dsm-mobile-sub-button"
470                                aria-expanded="false"
471                            >
472
473                                <span class="dsm-menu-label">
474
475                                    <span class="dsm-sub-icon">
476
477                                        <svg viewBox="0 0 24 24">
478
479                                            <rect
480                                                x="4"
481                                                y="4"
482                                                width="16"
483                                                height="6"
484                                                rx="1"
485                                            />
486
487                                            <rect
488                                                x="4"
489                                                y="14"
490                                                width="16"
491                                                height="6"
492                                                rx="1"
493                                            />
494
495                                            <circle cx="7.5" cy="7" r=".7"/>
496
497                                            <circle cx="7.5" cy="17" r=".7"/>
498
499                                        </svg>
500
501                                    </span>
502
503                                    <span>Microsoft Servers</span>
504
505                                </span>
506
507
508                                <svg
509                                    class="dsm-menu-chevron"
510                                    viewBox="0 0 24 24"
511                                >
512
513                                    <path d="M7 9L12 14L17 9"/>
514
515                                </svg>
516
517                            </button>
518
519
520                            <div class="dsm-mobile-sub-panel">
521
522
523                                <a
524                                    href="https://digitalsoftwaremarkett.com/windows-server/"
525                                    class="dsm-product-link"
526                                >
527
528                                    <span class="dsm-product-icon">
529
530                                        <svg viewBox="0 0 24 24">
531
532                                            <rect
533                                                x="4"
534                                                y="3.5"
535                                                width="16"
536                                                height="7"
537                                                rx="1.5"
538                                            />
539
540                                            <rect
541                                                x="4"
542                                                y="13.5"
543                                                width="16"
544                                                height="7"
545                                                rx="1.5"
546                                            />
547
548                                            <circle cx="7.5" cy="7" r=".7"/>
549
550                                            <circle cx="7.5" cy="17" r=".7"/>
551
552                                            <path d="M11 7h6"/>
553
554                                            <path d="M11 17h6"/>
555
556                                        </svg>
557
558                                    </span>
559
560                                    <span>Windows Server</span>
561
562                                </a>
563
564
565                                <a
566                                    href="https://digitalsoftwaremarkett.com/sql-server/"
567                                    class="dsm-product-link"
568                                >
569
570                                    <span class="dsm-product-icon">
571
572                                        <svg viewBox="0 0 24 24">
573
574                                            <ellipse
575                                                cx="12"
576                                                cy="5"
577                                                rx="7"
578                                                ry="3"
579                                            />
580
581                                            <path d="M5 5v6c0 1.7 3.1 3 7 3s7-1.3 7-3V5"/>
582
583                                            <path d="M5 11v6c0 1.7 3.1 3 7 3s7-1.3 7-3v-6"/>
584
585                                        </svg>
586
587                                    </span>
588
589                                    <span>SQL Server</span>
590
591                                </a>
592
593
594                                <a
595                                    href="https://digitalsoftwaremarkett.com/exchange-server/"
596                                    class="dsm-product-link"
597                                >
598
599                                    <span class="dsm-product-icon">
600
601                                        <svg viewBox="0 0 24 24">
602
603                                            <rect
604                                                x="3"
605                                                y="5"
606                                                width="18"
607                                                height="14"
608                                                rx="2"
609                                            />
610
611                                            <path d="m4 7 8 6 8-6"/>
612
613                                            <path d="M7.5 9.5 4 16"/>
614
615                                            <path d="m16.5 9.5 3.5 6.5"/>
616
617                                        </svg>
618
619                                    </span>
620
621                                    <span>Exchange Server</span>
622
623                                </a>
624
625
626                                <a
627                                    href="https://digitalsoftwaremarkett.com/share-point-server/"
628                                    class="dsm-product-link"
629                                >
630
631                                    <span class="dsm-product-icon">
632
633                                        <svg viewBox="0 0 24 24">
634
635                                            <circle cx="8" cy="12" r="4"/>
636
637                                            <circle cx="15.5" cy="7" r="3"/>
638
639                                            <circle cx="16" cy="17" r="3"/>
640
641                                            <path d="M11 9.5 13 8"/>
642
643                                            <path d="m11 14.5 2.3 1.3"/>
644
645                                        </svg>
646
647                                    </span>
648
649                                    <span>SharePoint Server</span>
650
651                                </a>
652
653
654                            </div>
655
656                        </div>
657
658
659                        <!-- ===================================
660                             MICROSOFT BUSINESS
661                        ==================================== -->
662
663                        <div class="dsm-mobile-subgroup">
664
665                            <button
666                                type="button"
667                                class="dsm-mobile-sub-button"
668                                aria-expanded="false"
669                            >
670
671                                <span class="dsm-menu-label">
672
673                                    <span class="dsm-sub-icon">
674
675                                        <svg viewBox="0 0 24 24">
676
677                                            <rect
678                                                x="3"
679                                                y="7"
680                                                width="18"
681                                                height="12"
682                                                rx="2"
683                                            />
684
685                                            <path d="M9 7V5h6v2"/>
686
687                                            <path d="M3 12h18"/>
688
689                                            <path d="M10 12v2h4v-2"/>
690
691                                        </svg>
692
693                                    </span>
694
695                                    <span>Microsoft Business</span>
696
697                                </span>
698
699
700                                <svg
701                                    class="dsm-menu-chevron"
702                                    viewBox="0 0 24 24"
703                                >
704
705                                    <path d="M7 9L12 14L17 9"/>
706
707                                </svg>
708
709                            </button>
710
711
712                            <div class="dsm-mobile-sub-panel">
713
714
715                                <a
716                                    href="https://digitalsoftwaremarkett.com/dynamics-365/"
717                                    class="dsm-product-link"
718                                >
719
720                                    <span class="dsm-product-icon">
721
722                                        <svg viewBox="0 0 24 24">
723
724                                            <path d="M5 3 19 8v8L8 21l4-8L5 3Z"/>
725
726                                            <path d="m12 13 7-5"/>
727
728                                        </svg>
729
730                                    </span>
731
732                                    <span>Dynamics 365</span>
733
734                                </a>
735
736
737                                <a
738                                    href="https://digitalsoftwaremarkett.com/microsoft-power-bi/"
739                                    class="dsm-product-link"
740                                >
741
742                                    <span class="dsm-product-icon dsm-fill-svg">
743
744                                        <svg viewBox="0 0 24 24">
745
746                                            <rect x="4" y="12" width="3" height="8" rx="1"/>
747
748                                            <rect x="8.5" y="8" width="3" height="12" rx="1"/>
749
750                                            <rect x="13" y="4" width="3" height="16" rx="1"/>
751
752                                            <rect x="17.5" y="2" width="3" height="18" rx="1"/>
753
754                                        </svg>
755
756                                    </span>
757
758                                    <span>Microsoft Power BI</span>
759
760                                </a>
761
762
763                            </div>
764
765                        </div>
766
767
768                        <!-- ===================================
769                             OFFICE APPLICATIONS
770                        ==================================== -->
771
772                        <div class="dsm-mobile-subgroup">
773
774                            <button
775                                type="button"
776                                class="dsm-mobile-sub-button"
777                                aria-expanded="false"
778                            >
779
780                                <span class="dsm-menu-label">
781
782                                    <span class="dsm-sub-icon">
783
784                                        <svg viewBox="0 0 24 24">
785
786                                            <rect x="4" y="4" width="6" height="6" rx="1"/>
787
788                                            <rect x="14" y="4" width="6" height="6" rx="1"/>
789
790                                            <rect x="4" y="14" width="6" height="6" rx="1"/>
791
792                                            <rect x="14" y="14" width="6" height="6" rx="1"/>
793
794                                        </svg>
795
796                                    </span>
797
798                                    <span>Office Applications</span>
799
800                                </span>
801
802
803                                <svg
804                                    class="dsm-menu-chevron"
805                                    viewBox="0 0 24 24"
806                                >
807
808                                    <path d="M7 9L12 14L17 9"/>
809
810                                </svg>
811
812                            </button>
813
814
815                            <div class="dsm-mobile-sub-panel">
816
817
818                                <a
819                                    href="https://digitalsoftwaremarkett.com/microsoft-visio/"
820                                    class="dsm-product-link"
821                                >
822
823                                    <span class="dsm-product-icon">
824
825                                        <svg viewBox="0 0 24 24">
826
827                                            <rect
828                                                x="3"
829                                                y="5"
830                                                width="8"
831                                                height="14"
832                                                rx="1.5"
833                                            />
834
835                                            <circle cx="16.5" cy="7" r="2"/>
836
837                                            <rect
838                                                x="14"
839                                                y="13"
840                                                width="5"
841                                                height="4"
842                                                rx="1"
843                                            />
844
845                                            <path d="m6 9 2 6 2-6"/>
846
847                                            <path d="M11 10h3.5"/>
848
849                                        </svg>
850
851                                    </span>
852
853                                    <span>Microsoft Visio</span>
854
855                                </a>
856
857
858                                <a
859                                    href="https://digitalsoftwaremarkett.com/microsoft-project/"
860                                    class="dsm-product-link"
861                                >
862
863                                    <span class="dsm-product-icon">
864
865                                        <svg viewBox="0 0 24 24">
866
867                                            <rect
868                                                x="3"
869                                                y="4"
870                                                width="8"
871                                                height="16"
872                                                rx="1.5"
873                                            />
874
875                                            <path d="M6 8h2.2a2.3 2.3 0 0 1 0 4.6H6V8Z"/>
876
877                                            <path d="M11 7h9"/>
878
879                                            <path d="M11 12h7"/>
880
881                                            <path d="M11 17h5"/>
882
883                                        </svg>
884
885                                    </span>
886
887                                    <span>Microsoft Project</span>
888
889                                </a>
890
891
892                                <a
893                                    href="https://digitalsoftwaremarkett.com/microsoft-visual-studio/"
894                                    class="dsm-product-link"
895                                >
896
897                                    <span class="dsm-product-icon">
898
899                                        <svg viewBox="0 0 24 24">
900
901                                            <path d="m4 8 4-3 5 4 5-4 2 1v12l-2 1-5-4-5 4-4-3 5-4-5-4Z"/>
902
903                                            <path d="M13 9v6"/>
904
905                                        </svg>
906
907                                    </span>
908
909                                    <span>Microsoft Visual Studio</span>
910
911                                </a>
912
913
914                            </div>
915
916                        </div>
917
918
919                        <!-- ===================================
920                             AUTODESK
921                        ==================================== -->
922
923                        <div class="dsm-mobile-subgroup">
924
925                            <button
926                                type="button"
927                                class="dsm-mobile-sub-button"
928                                aria-expanded="false"
929                            >
930
931                                <span class="dsm-menu-label">
932
933                                    <span class="dsm-sub-icon">
934
935                                        <svg viewBox="0 0 24 24">
936
937                                            <path d="M12 3 4.5 20h4l2-4.5h5L17.5 20h4L12 3Z"/>
938
939                                            <path d="M12 9.5 14.2 14H9.8L12 9.5Z"/>
940
941                                        </svg>
942
943                                    </span>
944
945                                    <span>Autodesk</span>
946
947                                </span>
948
949
950                                <svg
951                                    class="dsm-menu-chevron"
952                                    viewBox="0 0 24 24"
953                                >
954
955                                    <path d="M7 9L12 14L17 9"/>
956
957                                </svg>
958
959                            </button>
960
961
962                            <div class="dsm-mobile-sub-panel">
963
964
965                                <a
966                                    href="https://digitalsoftwaremarkett.com/autodesk-2027/"
967                                    class="dsm-product-link"
968                                >
969
970                                    <span class="dsm-product-icon">
971
972                                        <svg viewBox="0 0 24 24">
973
974                                            <path d="M12 3 4 20h4.3l1.8-4h5l1.8 4H21L12 3Z"/>
975
976                                            <path d="M12 9.5 14.2 14H9.8L12 9.5Z"/>
977
978                                        </svg>
979
980                                    </span>
981
982                                    <span>Autodesk 2027</span>
983
984                                </a>
985
986
987                                <a
988                                    href="https://digitalsoftwaremarkett.com/autodesk-2026/"
989                                    class="dsm-product-link"
990                                >
991
992                                    <span class="dsm-product-icon">
993
994                                        <svg viewBox="0 0 24 24">
995
996                                            <path d="M12 3 4 20h4.3l1.8-4h5l1.8 4H21L12 3Z"/>
997
998                                            <path d="M12 9.5 14.2 14H9.8L12 9.5Z"/>
999
1000                                        </svg>
1001
1002                                    </span>
1003
1004                                    <span>Autodesk 2026</span>
1005
1006                                </a>
1007
1008
1009                                <a
1010                                    href="https://digitalsoftwaremarkett.com/autodesk-2025/"
1011                                    class="dsm-product-link"
1012                                >
1013
1014                                    <span class="dsm-product-icon">
1015
1016                                        <svg viewBox="0 0 24 24">
1017
1018                                            <path d="M12 3 4 20h4.3l1.8-4h5l1.8 4H21L12 3Z"/>
1019
1020                                            <path d="M12 9.5 14.2 14H9.8L12 9.5Z"/>
1021
1022                                        </svg>
1023
1024                                    </span>
1025
1026                                    <span>Autodesk 2025</span>
1027
1028                                </a>
1029
1030
1031                            </div>
1032
1033                        </div>
1034
1035
1036                        <!-- ===================================
1037                             CREATIVE TOOLS
1038                        ==================================== -->
1039
1040                        <div class="dsm-mobile-subgroup">
1041
1042                            <button
1043                                type="button"
1044                                class="dsm-mobile-sub-button"
1045                                aria-expanded="false"
1046                            >
1047
1048                                <span class="dsm-menu-label">
1049
1050                                    <span class="dsm-sub-icon">
1051
1052                                        <svg viewBox="0 0 24 24">
1053
1054                                            <path d="M4 20 15.5 8.5"/>
1055
1056                                            <path d="M14 4 15 7l3 1-3 1-1 3-1-3-3-1 3-1 1-3Z"/>
1057
1058                                            <path d="M6 14l.8 2.2L9 17l-2.2.8L6 20l-.8-2.2L3 17l2.2-.8L6 14Z"/>
1059
1060                                        </svg>
1061
1062                                    </span>
1063
1064                                    <span>Creative Tools</span>
1065
1066                                </span>
1067
1068
1069                                <svg
1070                                    class="dsm-menu-chevron"
1071                                    viewBox="0 0 24 24"
1072                                >
1073
1074                                    <path d="M7 9L12 14L17 9"/>
1075
1076                                </svg>
1077
1078                            </button>
1079
1080
1081                            <div class="dsm-mobile-sub-panel">
1082
1083
1084                                <a
1085                                    href="https://digitalsoftwaremarkett.com/product/adobe-creative-cloud-all-apps-1-year-subscription/"
1086                                    class="dsm-product-link"
1087                                >
1088
1089                                    <span class="dsm-product-icon">
1090
1091                                        <svg viewBox="0 0 24 24">
1092
1093                                            <path d="M4 19 10 4h4l6 15"/>
1094
1095                                            <path d="m8 15 8-11"/>
1096
1097                                            <path d="M9.5 15h5"/>
1098
1099                                        </svg>
1100
1101                                    </span>
1102
1103                                    <span>Adobe Creative Cloud</span>
1104
1105                                </a>
1106
1107
1108                                <a
1109                                    href="https://digitalsoftwaremarkett.com/pointblank/"
1110                                    class="dsm-product-link"
1111                                >
1112
1113                                    <span class="dsm-product-icon">
1114
1115                                        <svg viewBox="0 0 24 24">
1116
1117                                            <path d="M12 3 20 6v5c0 5-3.2 8.3-8 10-4.8-1.7-8-5-8-10V6l8-3Z"/>
1118
1119                                            <path d="m8.5 12 2.2 2.2 4.8-5"/>
1120
1121                                        </svg>
1122
1123                                    </span>
1124
1125                                    <span>PointBlank</span>
1126
1127                                </a>
1128
1129
1130                                <a
1131                                    href="https://digitalsoftwaremarkett.com/workflo/"
1132                                    class="dsm-product-link"
1133                                >
1134
1135                                    <span class="dsm-product-icon">
1136
1137                                        <svg viewBox="0 0 24 24">
1138
1139                                            <circle cx="6" cy="6" r="2.5"/>
1140
1141                                            <circle cx="18" cy="6" r="2.5"/>
1142
1143                                            <circle cx="12" cy="18" r="2.5"/>
1144
1145                                            <path d="M8.5 6h7"/>
1146
1147                                            <path d="m7.5 8 3.3 7.6"/>
1148
1149                                            <path d="m16.5 8-3.3 7.6"/>
1150
1151                                        </svg>
1152
1153                                    </span>
1154
1155                                    <span>Workflo</span>
1156
1157                                </a>
1158
1159
1160                            </div>
1161
1162                        </div>
1163
1164
1165                    </div>
1166
1167                </div>
1168
1169
1170                <!-- ===========================================
1171                     RESOURCES
1172                ============================================ -->
1173
1174                <div class="dsm-mobile-accordion dsm-resources-accordion">
1175
1176                    <button
1177                        type="button"
1178                        class="dsm-mobile-accordion-button"
1179                        aria-expanded="false"
1180                    >
1181
1182                        <span class="dsm-menu-label">
1183
1184                            <span class="dsm-menu-icon">
1185
1186                                <svg viewBox="0 0 24 24">
1187
1188                                    <path d="M5 4h11a3 3 0 0 1 3 3v13H8a3 3 0 0 1-3-3V4Z"/>
1189
1190                                    <path d="M8 20a3 3 0 0 1 3-3h8"/>
1191
1192                                    <path d="M9 8h6"/>
1193
1194                                    <path d="M9 11h6"/>
1195
1196                                </svg>
1197
1198                            </span>
1199
1200                            <span>Resources</span>
1201
1202                        </span>
1203
1204
1205                        <svg
1206                            class="dsm-menu-chevron"
1207                            viewBox="0 0 24 24"
1208                        >
1209
1210                            <path d="M7 9L12 14L17 9"/>
1211
1212                        </svg>
1213
1214                    </button>
1215
1216
1217                    <div class="dsm-mobile-accordion-panel dsm-resource-panel">
1218
1219
1220                        <!-- ABOUT -->
1221
1222                        <a
1223                            href="https://digitalsoftwaremarkett.com/about/"
1224                            class="dsm-resource-link"
1225                        >
1226
1227                            <span class="dsm-resource-icon">
1228
1229                                <svg viewBox="0 0 24 24">
1230
1231                                    <circle cx="12" cy="12" r="9"/>
1232
1233                                    <path d="M12 10v6"/>
1234
1235                                    <path d="M12 7h.01"/>
1236
1237                                </svg>
1238
1239                            </span>
1240
1241                            <span>About DSM</span>
1242
1243                        </a>
1244
1245
1246                        <!-- CONTACT -->
1247
1248                        <a
1249                            href="https://digitalsoftwaremarkett.com/contact-us/"
1250                            class="dsm-resource-link"
1251                        >
1252
1253                            <span class="dsm-resource-icon">
1254
1255                                <svg viewBox="0 0 24 24">
1256
1257                                    <rect
1258                                        x="3"
1259                                        y="5"
1260                                        width="18"
1261                                        height="14"
1262                                        rx="2"
1263                                    />
1264
1265                                    <path d="m4 7 8 6 8-6"/>
1266
1267                                </svg>
1268
1269                            </span>
1270
1271                            <span>Contact Us</span>
1272
1273                        </a>
1274
1275
1276                        <!-- CREATIVE PORTFOLIO -->
1277
1278                        <a
1279                            href="https://creative.digitalsoftwaremarkett.com/"
1280                            class="dsm-resource-link"
1281                        >
1282
1283                            <span class="dsm-resource-icon">
1284
1285                                <svg viewBox="0 0 24 24">
1286
1287                                    <path d="M4 20 15 9"/>
1288
1289                                    <path d="M14 4l1 3 3 1-3 1-1 3-1-3-3-1 3-1 1-3Z"/>
1290
1291                                    <path d="M6 14l.8 2.2L9 17l-2.2.8L6 20l-.8-2.2L3 17l2.2-.8L6 14Z"/>
1292
1293                                </svg>
1294
1295                            </span>
1296
1297                            <span>Creative Portfolio</span>
1298
1299                        </a>
1300
1301
1302                        <!-- MARKETING PORTFOLIO -->
1303
1304                        <a
1305                            href="https://marketing.digitalsoftwaremarkett.com/"
1306                            class="dsm-resource-link"
1307                        >
1308
1309                            <span class="dsm-resource-icon">
1310
1311                                <svg viewBox="0 0 24 24">
1312
1313                                    <path d="M4 19V9"/>
1314
1315                                    <path d="M10 19V5"/>
1316
1317                                    <path d="M16 19v-7"/>
1318
1319                                    <path d="M22 19V3"/>
1320
1321                                    <path d="M3 19h19"/>
1322
1323                                </svg>
1324
1325                            </span>
1326
1327                            <span>Marketing Portfolio</span>
1328
1329                        </a>
1330
1331
1332                        <!-- PARTNER -->
1333
1334                        <a
1335                            href="https://digitalsoftwaremarkett.com/partner-with-us/"
1336                            class="dsm-resource-link"
1337                        >
1338
1339                            <span class="dsm-resource-icon">
1340
1341                                <svg viewBox="0 0 24 24">
1342
1343                                    <circle cx="8" cy="8" r="3"/>
1344
1345                                    <circle cx="17" cy="8" r="3"/>
1346
1347                                    <path d="M2.5 19c.5-4 2.4-6 5.5-6 2 0 3.5.8 4.5 2.2"/>
1348
1349                                    <path d="M12 19c.5-3.4 2.2-5.2 5-5.2s4.5 1.8 5 5.2"/>
1350
1351                                </svg>
1352
1353                            </span>
1354
1355                            <span>Partner With Us</span>
1356
1357                        </a>
1358
1359
1360                    </div>
1361
1362                </div>
1363
1364
1365                <!-- ===========================================
1366                     REQUEST QUOTE
1367                ============================================ -->
1368
1369                <a
1370                    href="https://digitalsoftwaremarkett.com/contact-us/"
1371                    class="dsm-mobile-row"
1372                >
1373
1374                    <span class="dsm-menu-label">
1375
1376                        <span class="dsm-menu-icon">
1377
1378                            <svg viewBox="0 0 24 24">
1379
1380                                <path d="M6 3h9l4 4v14H6V3Z"/>
1381
1382                                <path d="M15 3v5h4"/>
1383
1384                                <path d="M9 12h7"/>
1385
1386                                <path d="M9 16h5"/>
1387
1388                            </svg>
1389
1390                        </span>
1391
1392                        <span>Request a Quote</span>
1393
1394                    </span>
1395
1396                </a>
1397
1398
1399            </nav>
1400
1401        `;
1402
1403
1404        container.prepend(menu);
1405
1406        bindAccordionEvents(menu);
1407
1408        bindCloseButton(menu);
1409
1410        return menu;
1411    }
1412
1413
1414    /* ==========================================================
1415       ACCORDIONS
1416    ========================================================== */
1417
1418    function bindAccordionEvents(menu) {
1419
1420        menu.addEventListener("click", function (event) {
1421
1422            const mainButton =
1423                event.target.closest(".dsm-mobile-accordion-button");
1424
1425            if (mainButton) {
1426
1427                const accordion =
1428                    mainButton.closest(".dsm-mobile-accordion");
1429
1430                const open =
1431                    accordion.classList.contains("is-open");
1432
1433
1434                menu
1435                    .querySelectorAll(".dsm-mobile-accordion")
1436                    .forEach(function (item) {
1437
1438                        if (item !== accordion) {
1439
1440                            item.classList.remove("is-open");
1441
1442                            const button =
1443                                item.querySelector(
1444                                    ".dsm-mobile-accordion-button"
1445                                );
1446
1447                            if (button) {
1448
1449                                button.setAttribute(
1450                                    "aria-expanded",
1451                                    "false"
1452                                );
1453
1454                            }
1455
1456                        }
1457
1458                    });
1459
1460
1461                accordion.classList.toggle(
1462                    "is-open",
1463                    !open
1464                );
1465
1466
1467                mainButton.setAttribute(
1468                    "aria-expanded",
1469                    open ? "false" : "true"
1470                );
1471
1472                return;
1473            }
1474
1475
1476            const subButton =
1477                event.target.closest(".dsm-mobile-sub-button");
1478
1479            if (subButton) {
1480
1481                const group =
1482                    subButton.closest(".dsm-mobile-subgroup");
1483
1484                const parent =
1485                    group.parentElement;
1486
1487                const open =
1488                    group.classList.contains("is-open");
1489
1490
1491                parent
1492                    .querySelectorAll(".dsm-mobile-subgroup")
1493                    .forEach(function (item) {
1494
1495                        if (item !== group) {
1496
1497                            item.classList.remove("is-open");
1498
1499                            const button =
1500                                item.querySelector(
1501                                    ".dsm-mobile-sub-button"
1502                                );
1503
1504                            if (button) {
1505
1506                                button.setAttribute(
1507                                    "aria-expanded",
1508                                    "false"
1509                                );
1510
1511                            }
1512
1513                        }
1514
1515                    });
1516
1517
1518                group.classList.toggle(
1519                    "is-open",
1520                    !open
1521                );
1522
1523
1524                subButton.setAttribute(
1525                    "aria-expanded",
1526                    open ? "false" : "true"
1527                );
1528
1529            }
1530
1531        });
1532
1533    }
1534
1535
1536    /* ==========================================================
1537       CLOSE MENU
1538    ========================================================== */
1539
1540    function bindCloseButton(menu) {
1541
1542        const closeButton =
1543            menu.querySelector(".dsm-mobile-close");
1544
1545        if (!closeButton) {
1546            return;
1547        }
1548
1549
1550        closeButton.addEventListener("click", function () {
1551
1552            const closeSelectors = [
1553
1554                ".close-drawer",
1555
1556                ".mobile-menu-close",
1557
1558                ".shoptimizer-mobile-menu-close",
1559
1560                ".drawer-close"
1561
1562            ];
1563
1564
1565            for (
1566                let i = 0;
1567                i < closeSelectors.length;
1568                i++
1569            ) {
1570
1571                const nativeClose =
1572                    document.querySelector(
1573                        closeSelectors[i]
1574                    );
1575
1576
1577                if (
1578                    nativeClose &&
1579                    nativeClose !== closeButton
1580                ) {
1581
1582                    nativeClose.click();
1583
1584                    return;
1585
1586                }
1587
1588            }
1589
1590
1591            const toggles =
1592                document.querySelectorAll(".menu-toggle");
1593
1594
1595            for (
1596                let i = 0;
1597                i < toggles.length;
1598                i++
1599            ) {
1600
1601                if (
1602                    toggles[i].offsetParent !== null
1603                ) {
1604
1605                    toggles[i].click();
1606
1607                    return;
1608
1609                }
1610
1611            }
1612
1613
1614            if (toggles.length) {
1615
1616                toggles[0].click();
1617
1618            }
1619
1620        });
1621
1622    }
1623
1624
1625    /* ==========================================================
1626       FIND EXISTING FIBOSEARCH
1627    ========================================================== */
1628
1629    function findOriginalFibo() {
1630
1631        const preferred =
1632            document.querySelector(
1633                ".shoptimizer-primary-navigation .site-search .dgwt-wcas-search-wrapp"
1634            );
1635
1636
1637        if (preferred) {
1638            return preferred;
1639        }
1640
1641
1642        const allSearches =
1643            document.querySelectorAll(
1644                ".dgwt-wcas-search-wrapp"
1645            );
1646
1647
1648        for (
1649            let i = 0;
1650            i < allSearches.length;
1651            i++
1652        ) {
1653
1654            if (
1655                !allSearches[i].closest(
1656                    ".dsm-fibo-search-slot"
1657                )
1658            ) {
1659
1660                return allSearches[i];
1661
1662            }
1663
1664        }
1665
1666
1667        return null;
1668    }
1669
1670
1671    /* ==========================================================
1672       SETUP FIBOSEARCH
1673    ========================================================== */
1674
1675    function setupFibo(menu) {
1676
1677        if (!menu) {
1678            return false;
1679        }
1680
1681
1682        const slot =
1683            menu.querySelector(
1684                ".dsm-fibo-search-slot"
1685            );
1686
1687
1688        if (!slot) {
1689            return false;
1690        }
1691
1692
1693        let fibo = null;
1694
1695
1696        if (
1697            fiboState &&
1698            fiboState.wrapper &&
1699            document.documentElement.contains(
1700                fiboState.wrapper
1701            )
1702        ) {
1703
1704            fibo =
1705                fiboState.wrapper;
1706
1707        } else {
1708
1709            fibo =
1710                findOriginalFibo();
1711
1712        }
1713
1714
1715        if (!fibo) {
1716            return false;
1717        }
1718
1719
1720        if (!fiboState) {
1721
1722            fiboState = {
1723
1724                wrapper:
1725                    fibo,
1726
1727                originalParent:
1728                    fibo.parentNode,
1729
1730                originalNextSibling:
1731                    fibo.nextSibling,
1732
1733                overlayEnabled:
1734                    fibo.classList.contains(
1735                        "js-dgwt-wcas-mobile-overlay-enabled"
1736                    ),
1737
1738                overlayTrigger:
1739                    fibo.classList.contains(
1740                        "dgwt-wcas-mobile-overlay-trigger-active"
1741                    ),
1742
1743                eventsBound:
1744                    false
1745
1746            };
1747
1748        }
1749
1750
1751        positionFibo(menu);
1752
1753        bindFiboEvents();
1754
1755        return true;
1756    }
1757
1758
1759    /* ==========================================================
1760       MOVE FIBOSEARCH
1761    ========================================================== */
1762
1763    function positionFibo(menu) {
1764
1765        if (!fiboState) {
1766            return;
1767        }
1768
1769
1770        const fibo =
1771            fiboState.wrapper;
1772
1773
1774        const slot =
1775            menu.querySelector(
1776                ".dsm-fibo-search-slot"
1777            );
1778
1779
1780        if (isMobile()) {
1781
1782
1783            if (
1784                slot &&
1785                fibo.parentNode !== slot
1786            ) {
1787
1788                slot.appendChild(fibo);
1789
1790            }
1791
1792
1793            /*
1794             * Disable full screen Fibo mobile overlay
1795             */
1796
1797            fibo.classList.remove(
1798                "js-dgwt-wcas-mobile-overlay-enabled"
1799            );
1800
1801
1802            fibo.classList.remove(
1803                "dgwt-wcas-mobile-overlay-trigger-active"
1804            );
1805
1806
1807            const overlayTrigger =
1808                fibo.querySelector(
1809                    ".js-dgwt-wcas-enable-mobile-form"
1810                );
1811
1812
1813            if (overlayTrigger) {
1814
1815                overlayTrigger.style.setProperty(
1816                    "display",
1817                    "none",
1818                    "important"
1819                );
1820
1821                overlayTrigger.style.setProperty(
1822                    "pointer-events",
1823                    "none",
1824                    "important"
1825                );
1826
1827            }
1828
1829
1830            const input =
1831                fibo.querySelector(
1832                    ".dgwt-wcas-search-input"
1833                );
1834
1835
1836            if (input) {
1837
1838                input.placeholder =
1839                    "Search our store";
1840
1841                input.removeAttribute(
1842                    "readonly"
1843                );
1844
1845                input.removeAttribute(
1846                    "disabled"
1847                );
1848
1849            }
1850
1851
1852            requestAnimationFrame(
1853                refreshFiboLayout
1854            );
1855
1856
1857        } else {
1858
1859
1860            /*
1861             * Restore desktop search
1862             */
1863
1864            if (
1865                fiboState.originalParent &&
1866                fibo.parentNode !==
1867                fiboState.originalParent
1868            ) {
1869
1870
1871                if (
1872                    fiboState.originalNextSibling &&
1873                    fiboState.originalNextSibling.parentNode ===
1874                    fiboState.originalParent
1875                ) {
1876
1877                    fiboState.originalParent.insertBefore(
1878                        fibo,
1879                        fiboState.originalNextSibling
1880                    );
1881
1882                } else {
1883
1884                    fiboState.originalParent.appendChild(
1885                        fibo
1886                    );
1887
1888                }
1889
1890            }
1891
1892
1893            if (fiboState.overlayEnabled) {
1894
1895                fibo.classList.add(
1896                    "js-dgwt-wcas-mobile-overlay-enabled"
1897                );
1898
1899            }
1900
1901
1902            if (fiboState.overlayTrigger) {
1903
1904                fibo.classList.add(
1905                    "dgwt-wcas-mobile-overlay-trigger-active"
1906                );
1907
1908            }
1909
1910
1911            const overlayTrigger =
1912                fibo.querySelector(
1913                    ".js-dgwt-wcas-enable-mobile-form"
1914                );
1915
1916
1917            if (overlayTrigger) {
1918
1919                overlayTrigger.style.removeProperty(
1920                    "display"
1921                );
1922
1923                overlayTrigger.style.removeProperty(
1924                    "pointer-events"
1925                );
1926
1927            }
1928
1929        }
1930
1931    }
1932
1933
1934    /* ==========================================================
1935       FIBO EVENTS
1936    ========================================================== */
1937
1938    function bindFiboEvents() {
1939
1940        if (
1941            !fiboState ||
1942            fiboState.eventsBound
1943        ) {
1944
1945            return;
1946
1947        }
1948
1949
1950        const fibo =
1951            fiboState.wrapper;
1952
1953
1954        const input =
1955            fibo.querySelector(
1956                ".dgwt-wcas-search-input"
1957            );
1958
1959
1960        if (input) {
1961
1962            [
1963                "focus",
1964                "input",
1965                "keyup",
1966                "click"
1967            ].forEach(function (eventName) {
1968
1969
1970                input.addEventListener(
1971                    eventName,
1972                    function () {
1973
1974
1975                        requestAnimationFrame(
1976                            refreshFiboLayout
1977                        );
1978
1979
1980                        setTimeout(
1981                            refreshFiboLayout,
1982                            50
1983                        );
1984
1985
1986                        setTimeout(
1987                            refreshFiboLayout,
1988                            150
1989                        );
1990
1991
1992                    }
1993                );
1994
1995
1996            });
1997
1998        }
1999
2000
2001        const observer =
2002            new MutationObserver(
2003                function () {
2004
2005                    if (isMobile()) {
2006
2007                        requestAnimationFrame(
2008                            refreshFiboLayout
2009                        );
2010
2011                    }
2012
2013                }
2014            );
2015
2016
2017        observer.observe(
2018            fibo,
2019            {
2020
2021                attributes:
2022                    true,
2023
2024                subtree:
2025                    true,
2026
2027                attributeFilter: [
2028                    "class",
2029                    "style"
2030                ]
2031
2032            }
2033        );
2034
2035
2036        fiboState.eventsBound =
2037            true;
2038
2039    }
2040
2041
2042    /* ==========================================================
2043       FIX FIBO SEARCH ALIGNMENT
2044    ========================================================== */
2045
2046    function refreshFiboLayout() {
2047
2048        if (
2049            !isMobile() ||
2050            !fiboState
2051        ) {
2052
2053            return;
2054
2055        }
2056
2057
2058        const fibo =
2059            fiboState.wrapper;
2060
2061
2062        const preloader =
2063            fibo.querySelector(
2064                ".dgwt-wcas-preloader"
2065            );
2066
2067
2068        const submit =
2069            fibo.querySelector(
2070                ".dgwt-wcas-search-submit"
2071            );
2072
2073
2074        if (preloader) {
2075
2076            preloader.style.setProperty(
2077                "right",
2078                "44px",
2079                "important"
2080            );
2081
2082
2083            preloader.style.setProperty(
2084                "left",
2085                "auto",
2086                "important"
2087            );
2088
2089
2090            preloader.style.setProperty(
2091                "top",
2092                "0px",
2093                "important"
2094            );
2095
2096        }
2097
2098
2099        if (submit) {
2100
2101            submit.style.setProperty(
2102                "right",
2103                "0px",
2104                "important"
2105            );
2106
2107
2108            submit.style.setProperty(
2109                "left",
2110                "auto",
2111                "important"
2112            );
2113
2114
2115            submit.style.setProperty(
2116                "top",
2117                "0px",
2118                "important"
2119            );
2120
2121        }
2122
2123    }
2124
2125
2126    /* ==========================================================
2127       RETRY FIBO
2128    ========================================================== */
2129
2130    function retryFibo(menu) {
2131
2132        if (
2133            setupFibo(menu)
2134        ) {
2135
2136            return;
2137
2138        }
2139
2140
2141        retryCount++;
2142
2143
2144        if (
2145            retryCount < 40
2146        ) {
2147
2148            setTimeout(
2149                function () {
2150
2151                    retryFibo(menu);
2152
2153                },
2154                250
2155            );
2156
2157        }
2158
2159    }
2160
2161
2162    /* ==========================================================
2163       RESIZE
2164    ========================================================== */
2165
2166    function bindResize(menu) {
2167
2168        window.addEventListener(
2169            "resize",
2170            function () {
2171
2172
2173                clearTimeout(
2174                    resizeTimer
2175                );
2176
2177
2178                resizeTimer =
2179                    setTimeout(
2180                        function () {
2181
2182
2183                            if (fiboState) {
2184
2185                                positionFibo(menu);
2186
2187                                refreshFiboLayout();
2188
2189                            } else {
2190
2191                                setupFibo(menu);
2192
2193                            }
2194
2195
2196                        },
2197                        120
2198                    );
2199
2200
2201            }
2202        );
2203
2204    }
2205
2206
2207    /* ==========================================================
2208       INIT
2209    ========================================================== */
2210
2211    function init() {
2212
2213        const menu =
2214            buildMobileMenu();
2215
2216
2217        if (!menu) {
2218
2219            setTimeout(
2220                init,
2221                250
2222            );
2223
2224            return;
2225
2226        }
2227
2228
2229        retryFibo(menu);
2230
2231        bindResize(menu);
2232
2233    }
2234
2235
2236    if (
2237        document.readyState ===
2238        "loading"
2239    ) {
2240
2241        document.addEventListener(
2242            "DOMContentLoaded",
2243            init
2244        );
2245
2246    } else {
2247
2248        init();
2249
2250    }
2251
2252})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.