NavMenu Addon For Elementor - Version 1.0.2

Version Description

  • Enhanced and improved how menus are styled.
  • Changed behavior of dropdown menu floats - by default they now float to the right. So left and center aligned menu will float right and right aligned menus will float left.
  • NEW: Added option for mobile menu item alignment.
  • NEW: Added background setting for the navbar
  • NEW: Added a Fullscreen Overlay Menu
  • NEW: Added a search box widget - this is still a work in progress
  • NEW: Added a basic MegaMenu options
  • TWEAKES: Added and tweaked some styling options for the Default NavMenu module.
Download this release

Release Info

Developer WPDevHQ
Plugin Icon wp plugin NavMenu Addon For Elementor
Version 1.0.2
Comparing to
See all releases

Code changes from version 1.0.1 to 1.0.2

assets/css/editor.css CHANGED
@@ -178,14 +178,14 @@
178
 
179
  .elementor-navigation li:hover > ul,
180
  .elementor-navigation li.focus > ul {
181
- left: auto;
182
- right: 0;
183
  }
184
 
185
  .elementor-navigation ul ul li:hover > ul,
186
  .elementor-navigation ul ul li.focus > ul {
187
- left: auto;
188
- right: 100%;
189
  }
190
 
191
  .elementor-navigation .menu-item-has-children > a {
@@ -208,20 +208,665 @@
208
  .elementor-navigation ul ul .menu-item-has-children > a:after {
209
  right: 0.5625em;
210
  top: 0.875em;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
  -webkit-transform: rotate(90deg);
212
  -moz-transform: rotate(90deg);
213
  -ms-transform: rotate(90deg);
214
  transform: rotate(90deg);
215
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
216
  .eldropdown-toggle,
217
  .elementor-navigation ul .eldropdown-toggle.eltoggled-on,
218
  .elementor-menu-toggle {
219
  display: none;
220
- }
221
  }
222
 
223
  @media screen and (max-width: 56.874em) {
224
  .elementor-navigation a {
225
  padding-left: 1em;
226
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
  }
178
 
179
  .elementor-navigation li:hover > ul,
180
  .elementor-navigation li.focus > ul {
181
+ left: 0;
182
+ right: auto;
183
  }
184
 
185
  .elementor-navigation ul ul li:hover > ul,
186
  .elementor-navigation ul ul li.focus > ul {
187
+ left: 100%;
188
+ right: auto;
189
  }
190
 
191
  .elementor-navigation .menu-item-has-children > a {
208
  .elementor-navigation ul ul .menu-item-has-children > a:after {
209
  right: 0.5625em;
210
  top: 0.875em;
211
+ -webkit-transform: rotate(-90deg);
212
+ -moz-transform: rotate(-90deg);
213
+ -ms-transform: rotate(-90deg);
214
+ transform: rotate(-90deg);
215
+ }
216
+
217
+ .elementor-align-left .elementor-navigation ul ul .menu-item-has-children > a:after {
218
+ -webkit-transform: rotate(-90deg);
219
+ -moz-transform: rotate(-90deg);
220
+ -ms-transform: rotate(-90deg);
221
+ transform: rotate(-90deg);
222
+ }
223
+
224
+ .elementor-align-left .elementor-navigation li:hover > ul,
225
+ .elementor-align-left .elementor-navigation li.focus > ul {
226
+ left: 0;
227
+ right: auto;
228
+ }
229
+
230
+ .elementor-align-left .elementor-navigation ul ul li:hover > ul,
231
+ .elementor-align-left .elementor-navigation ul ul li.focus > ul {
232
+ left: 100%;
233
+ right: auto;
234
+ }
235
+
236
+
237
+ .elementor-align-right .elementor-navigation ul ul .menu-item-has-children > a:after {
238
  -webkit-transform: rotate(90deg);
239
  -moz-transform: rotate(90deg);
240
  -ms-transform: rotate(90deg);
241
  transform: rotate(90deg);
242
  }
243
+
244
+ .elementor-align-right .elementor-navigation li:hover > ul,
245
+ .elementor-align-right .elementor-navigation li.focus > ul {
246
+ left: auto;
247
+ right: 0;
248
+ }
249
+
250
+ .elementor-align-right .elementor-navigation ul ul li:hover > ul,
251
+ .elementor-align-right .elementor-navigation ul ul li.focus > ul {
252
+ left: auto;
253
+ right: 100%;
254
+ }
255
+
256
  .eldropdown-toggle,
257
  .elementor-navigation ul .eldropdown-toggle.eltoggled-on,
258
  .elementor-menu-toggle {
259
  display: none;
260
+ }
261
  }
262
 
263
  @media screen and (max-width: 56.874em) {
264
  .elementor-navigation a {
265
  padding-left: 1em;
266
  }
267
+ }
268
+
269
+ .elementor-search select,
270
+ .elementor-search textarea,
271
+ .elementor-search input,
272
+ .elementor-search button {
273
+ max-width: 100%;
274
+ min-height: 1.25rem;
275
+ padding: .175rem;
276
+ margin: 0;
277
+ background-color: #ffffff;
278
+ font-family: inherit;
279
+ font-weight: 400;
280
+ font-size: 16px;
281
+ color: #333333;
282
+ }
283
+
284
+ .elementor-search input[type=submit],
285
+ .elementor-search input[type=button],
286
+ .elementor-search input[type=reset],
287
+ .elementor-search button {
288
+ min-height: 2.25rem;
289
+ border-radius: 0;
290
+ background-color: #333333;
291
+ color: #ffffff;
292
+ cursor: pointer;
293
+ -webkit-appearance: none;
294
+ -webkit-transition: opacity 100ms ease-in-out;
295
+ transition: opacity 100ms ease-in-out;
296
+ -webkit-backface-visibility: hidden;
297
+ backface-visibility: hidden;
298
+ }
299
+ .elementor-search input[type=submit]:hover,
300
+ .elementor-search input[type=button]:hover,
301
+ .elementor-search input[type=reset]:hover,
302
+ .elementor-search button:hover {
303
+ opacity: .75;
304
+ }
305
+
306
+ .elementor-search select {
307
+ height: 2.25rem;
308
+ }
309
+
310
+ .elementor-search {
311
+ width: calc(331px + 2rem);
312
+ padding: 0.1rem 1rem 0.567rem;
313
+ background-color: #ffffff;
314
+ display: inline-block;
315
+ }
316
+
317
+ /**
318
+ * Search
319
+ */
320
+
321
+ .elementor-search .search {
322
+ overflow: hidden;
323
+ }
324
+
325
+ .elementor-search .form {
326
+ float: left;
327
+ margin-right: 5px;
328
+ margin-left: -305px;
329
+ }
330
+ .elementor-search .form input {
331
+ float: left;
332
+ }
333
+ .elementor-search .form input.input {
334
+ width: 300px;
335
+ padding-right: 2.25rem;
336
+ }
337
+ .elementor-search .form input.btn {
338
+ width: 2.25rem;
339
+ margin-left: -2.25rem;
340
+ background-color: transparent;
341
+ color: inherit;
342
+ }
343
+
344
+ .elementor-search .label,
345
+ .elementor-search .dismiss {
346
+ float: left;
347
+ padding: 10px 1px 0;
348
+ line-height: 1;
349
+ cursor: pointer;
350
+ -webkit-transition: opacity 100ms ease-in-out;
351
+ transition: opacity 100ms ease-in-out;
352
+ -webkit-backface-visibility: hidden;
353
+ backface-visibility: hidden;
354
+ }
355
+ .elementor-search .label:hover,
356
+ .elementor-search .dismiss:hover {
357
+ opacity: 0.75;
358
+ }
359
+ .elementor-search .label i,
360
+ .elementor-search .dismiss i {
361
+ line-height: 2.25rem;
362
+ }
363
+ .elementor-search .label span,
364
+ .elementor-search .dismiss span {
365
+ line-height: 2.25rem;
366
+ }
367
+
368
+ .elementor-search .dismiss {
369
+ display: none;
370
+ opacity: 0;
371
+ }
372
+
373
+ /*
374
+ * Overlay NavMenu
375
+ */
376
+
377
+
378
+
379
+ #touch-menu {
380
+ display: block;
381
+ cursor: pointer;
382
+ background: #000000;
383
+ width: 61px;
384
+ height: 52px;
385
+ right: 20px;
386
+ margin: 0;
387
+ padding: 12px;
388
+ position: absolute;
389
+ top: 15px;
390
+ z-index: 999;
391
+ transition: none;
392
+ }
393
+ #touch-menu span:after,
394
+ #touch-menu span:before {
395
+ content: "";
396
+ position: absolute;
397
+ left: 0;
398
+ top: -9px;
399
+ }
400
+ #touch-menu span:after {
401
+ top: 9px;
402
+ }
403
+ #touch-menu span {
404
+ position: relative;
405
+ display: block;
406
+ top: 12px;
407
+ }
408
+ #touch-menu span,
409
+ #touch-menu span:after,
410
+ #touch-menu span:before {
411
+ width: 100%;
412
+ height: 3px;
413
+ background-color: #ffffff;
414
+ transition: all 0.3s;
415
+ backface-visibility: hidden;
416
+ border-radius: 2px;
417
+ }
418
+ #touch-menu.on,
419
+ #touch-menu.on span {
420
+ background-color: transparent;
421
+ }
422
+ #touch-menu.on span {
423
+ height: 0;
424
+ }
425
+ #touch-menu.on span:before {
426
+ transform: rotate(45deg) translate(5px, 5px);
427
+ background-color: #fff;
428
+ }
429
+ #touch-menu.on span:after {
430
+ transform: rotate(-45deg) translate(7px, -8px);
431
+ background-color: #fff;
432
+ }
433
+ .overlay-navigation {
434
+ -ms-align-items: center;
435
+ align-items: center;
436
+ justify-content: center;
437
+ background: rgba(0,0,0,0.8);
438
+ display: none;
439
+ font-size: 48px;
440
+ line-height: 1em;
441
+ top: 0;
442
+ left: 0;
443
+ right: 0;
444
+ bottom: 0;
445
+ height: 100%;
446
+ position: fixed;
447
+ width: 100%;
448
+ overflow: auto;
449
+ z-index: 10;
450
+ -webkit-transition: background-color 2s ease-in, opacity 2s ease-in;
451
+ transition: background-color 2s ease-in, opacity 2s ease-in;
452
+ }
453
+ .overlay-navigation.visible {
454
+ display: block;
455
+ -webkit-transition: background-color 2s ease-in, opacity 2s ease-in;
456
+ transition: background-color 2s ease-in, opacity 2s ease-in;
457
+ }
458
+ .overlay-navigation > ul,
459
+ .overlay-navigation div > ul {
460
+ display: block;
461
+ list-style-type: none;
462
+ margin: 70px auto;
463
+ max-width: 800px;
464
+ padding: 0 15px;
465
+ }
466
+ .overlay-navigation ul ul {
467
+ display: block;
468
+ margin: 0;
469
+ padding: 0 0 0 20px;
470
+ width: 100%;
471
+ }
472
+ .overlay-navigation ul li {
473
+ background-color: transparent;
474
+ border: none;
475
+ display: block;
476
+ padding: 10px 0;
477
+ }
478
+ .overlay-navigation a {
479
+ color: #ffffff;
480
+ text-transform: uppercase;
481
+ text-decoration: none;
482
+ position: relative;
483
+ }
484
+ .overlay-navigation .sub-menu li {
485
+ padding: 20px 0 0 0;
486
+ font-size: 0.75em;
487
+ line-height: 1em;
488
+ }
489
+ .overlay-navigation a:hover {
490
+ text-decoration: underline;
491
+ }
492
+
493
+ @media only screen and (max-width : 767px) {
494
+ #touch-menu{
495
+ left: auto;
496
+ right: 10px;
497
+ margin: 0;
498
+ top: 10px;
499
+ position: absolute;
500
+ padding: 6px 8px;
501
+ height: 39px;
502
+ width: 50px;
503
+ }
504
+ .overlay-navigation > ul,
505
+ .overlay-navigation div > ul {
506
+ margin: 30px auto;
507
+ }
508
+ .overlay-navigation {
509
+ font-size: 24px;
510
+ }
511
+ .overlay-navigation ul li{
512
+ padding: 8px 0;
513
+ }
514
+ .overlay-navigation .sub-menu li {
515
+ padding: 15px 0 5px;
516
+ }
517
+ }
518
+
519
+ /*
520
+ * MegaMenu Styles
521
+ */
522
+
523
+ /* Main menu wrapper */
524
+ .cbp-hsmenu-wrapper {
525
+ position: relative;
526
+ }
527
+
528
+ /* Common style for all lists */
529
+ .cbp-hsmenu-wrapper ul {
530
+ list-style: none;
531
+ padding: 0;
532
+ margin: 0 auto;
533
+ }
534
+
535
+ /* 100% width bar for menu */
536
+ .cbp-hsinner {
537
+ background-color: #00275e;
538
+ position: relative;
539
+ z-index: 100;
540
+ }
541
+
542
+ .cbp-hsinner {
543
+ font-weight: inherit;
544
+ }
545
+
546
+ /* Main menu style */
547
+ .cbp-hsmenu-wrapper .cbp-hsmenu {
548
+ width: 100%;
549
+ max-width: 75em;
550
+ margin: 0 auto;
551
+ padding: 0 0.875em;
552
+ }
553
+
554
+ .cbp-hsmenu > li {
555
+ margin-left: 4em;
556
+ display: inline-block;
557
+ }
558
+
559
+ .cbp-hsmenu > li:first-child {
560
+ margin-left: 0;
561
+ }
562
+
563
+ /* Main menu link style */
564
+ .cbp-hsmenu > li > a {
565
+ color: #ffffff;
566
+ font-size: 1em;
567
+ line-height: 3em;
568
+ display: inline-block;
569
+ position: relative;
570
+ z-index: 10000;
571
+ outline: none;
572
+ }
573
+
574
+ .no-touch .cbp-hsmenu > li > a:hover,
575
+ .no-touch .cbp-hsmenu > li > a:focus,
576
+ .cbp-hsmenu > li.cbp-hsitem-open > a {
577
+ color: #f4f4f4;
578
+ }
579
+
580
+ /* Add an arrow to the main menu link if it has a submenu (not the only child) */
581
+ .cbp-hsmenu > li > a:not(:only-child):before {
582
+ display: inline-block;
583
+ font-family: 'fontawesome';
584
+ speak: none;
585
+ font-style: normal;
586
+ font-weight: normal;
587
+ font-variant: normal;
588
+ text-transform: none;
589
+ line-height: 1;
590
+ -webkit-font-smoothing: antialiased;
591
+ content: "\f107";
592
+ font-size: 80%;
593
+ margin-right: 0.3em;
594
+ opacity: 0.4;
595
+ vertical-align: middle;
596
+ }
597
+
598
+ .cbp-hsmenu > li.cbp-hsitem-open > a:not(:only-child):before {
599
+ content: "\f106";
600
+ }
601
+
602
+ /* Add a triangle to currently open menu item link */
603
+ .cbp-hsmenu > li.cbp-hsitem-open > a:after {
604
+ top: 100%;
605
+ border: solid transparent;
606
+ content: " ";
607
+ height: 0;
608
+ width: 0;
609
+ position: absolute;
610
+ pointer-events: none;
611
+ border-color: transparent;
612
+ border-top-color: #00275e;
613
+ border-width: 10px;
614
+ left: 50%;
615
+ margin-left: -10px;
616
+ }
617
+
618
+ /* Submenu style */
619
+ #cbp-hsmenu-wrapper ul.sub-menu,
620
+ .cbp-hssubmenu {
621
+ position: absolute;
622
+ left: 0;
623
+ right: 0;
624
+ top: 100%;
625
+ max-width: 75em;
626
+ width: 100%;
627
+ z-index: 0;
628
+ visibility: hidden;
629
+ }
630
+ #cbp-hsmenu-wrapper ul.sub-menu:before,
631
+ #cbp-hsmenu-wrapper ul.sub-menu:after,
632
+ .cbp-hssubmenu:before,
633
+ .cbp-hssubmenu:after {
634
+ content: " ";
635
+ display: table;
636
+ }
637
+ #cbp-hsmenu-wrapper ul.sub-menu:after,
638
+ .cbp-hssubmenu:after {
639
+ clear: both;
640
+ }
641
+
642
+ /* Let's allow 6 item in a row */
643
+ #cbp-hsmenu-wrapper ul.sub-menu > li,
644
+ .cbp-hssubmenu > li {
645
+ width: 16.2%;
646
+ display: inline-block;
647
+ vertical-align: top;
648
+ box-shadow: -28px 0 0 -27px #ddd, 0 -28px 0 -27px #ddd;
649
+ opacity: 0;
650
+ -webkit-transition: opacity 0.1s 0s;
651
+ -moz-transition: opacity 0.1s 0s;
652
+ transition: opacity 0.1s 0s;
653
+ }
654
+
655
+ /* First 6 items don't have upper box shadow */
656
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(-n+6),
657
+ .cbp-hssubmenu > li:nth-child(-n+6) {
658
+ box-shadow: -28px 0 0 -27px #ddd;
659
+ }
660
+
661
+ /* Every 7th item does not have a left box shadow */
662
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(6n+1),
663
+ .cbp-hssubmenu > li:nth-child(6n+1) {
664
+ box-shadow: 0 -28px 0 -27px #ddd;
665
+ }
666
+
667
+ /* The first one does not have any box shadow */
668
+ #cbp-hsmenu-wrapper ul.sub-menu > li:first-child,
669
+ .cbp-hssubmenu > li:first-child {
670
+ box-shadow: none;
671
+ }
672
+ #cbp-hsmenu-wrapper ul.sub-menu > li a,
673
+ .cbp-hssubmenu > li a {
674
+ display: block;
675
+ text-align: center;
676
+ outline: none;
677
+ padding: 2em 1em 1em 1em;
678
+ }
679
+
680
+ #cbp-hsmenu-wrapper ul.sub-menu > li a img,
681
+ .cbp-hssubmenu > li a img {
682
+ border: none;
683
+ outline: none;
684
+ display: inline-block;
685
+ margin: 0;
686
+ max-width: 100%;
687
+ -webkit-transition: opacity 0.2s;
688
+ -moz-transition: opacity 0.2s;
689
+ transition: opacity 0.2s;
690
+ }
691
+ #cbp-hsmenu-wrapper .no-touch ul.sub-menu > li a:hover img,
692
+ .no-touch .cbp-hssubmenu > li a:hover img {
693
+ opacity: 0.5;
694
+ }
695
+ #cbp-hsmenu-wrapper ul.sub-menu > li a span,
696
+ .cbp-hssubmenu > li a span {
697
+ display: block;
698
+ min-height: 3em;
699
+ margin-top: 0.4em;
700
+ }
701
+ #cbp-hsmenu-wrapper .cbp-hsmenu > li.cbp-hsitem-open ul.sub-menu,
702
+ .cbp-hsmenu > li.cbp-hsitem-open .cbp-hssubmenu {
703
+ z-index: 1000;
704
+ visibility: visible;
705
+ }
706
+ #cbp-hsmenu-wrapper .cbp-hsmenu > li.cbp-hsitem-open ul.sub-menu > li,
707
+ .cbp-hsmenu > li.cbp-hsitem-open .cbp-hssubmenu > li {
708
+ opacity: 1;
709
+ -webkit-transition: opacity 0.5s 0.1s;
710
+ -moz-transition: opacity 0.5s 0.1s;
711
+ transition: opacity 0.5s 0.1s;
712
+ }
713
+
714
+ /* Helper div for animating the background */
715
+ .cbp-hsmenubg {
716
+ background: #f7f7f7;
717
+ position: absolute;
718
+ width: 100%;
719
+ top: 100%;
720
+ left: 0;
721
+ z-index: 0;
722
+ height: 0px;
723
+ }
724
+
725
+ .no-touch .cbp-hsmenubg {
726
+ -webkit-transition: height 0.3s;
727
+ -moz-transition: height 0.3s;
728
+ transition: height 0.3s;
729
+ }
730
+
731
+ @media screen and (max-width: 65em){
732
+ .cbp-hsmenu-wrapper {
733
+ font-size: 80%;
734
+ }
735
+ }
736
+
737
+ @media screen and (max-width: 51.4375em){
738
+ .cbp-hsmenu-wrapper {
739
+ font-size: 100%;
740
+ }
741
+
742
+ .cbp-hsmenu-wrapper .cbp-hsmenu {
743
+ padding: 0;
744
+ max-width: none;
745
+ width: 100%;
746
+ }
747
+
748
+ .cbp-hsmenu > li {
749
+ border-top: 1px solid rgba(255,255,255,0.5);
750
+ text-align: center;
751
+ margin: 0 auto;
752
+ display: block;
753
+ }
754
+
755
+ .cbp-hsmenu > li:first-child {
756
+ border-top: none;
757
+ }
758
+
759
+ .cbp-hsmenu > li > a {
760
+ display: block;
761
+ }
762
+
763
+ .cbp-hsmenu > li > a:not(:only-child):before {
764
+ line-height: 1.8;
765
+ right: 0;
766
+ position: absolute;
767
+ font-size: 200%;
768
+ }
769
+
770
+ .cbp-hsmenubg {
771
+ display: none;
772
+ }
773
+
774
+ #cbp-hsmenu-wrapper ul.sub-menu,
775
+ .cbp-hssubmenu {
776
+ background: #f7f7f7;
777
+ position: relative;
778
+ overflow: hidden;
779
+ height: 0;
780
+ }
781
+ #cbp-hsmenu-wrapper .cbp-hsmenu > li.cbp-hsitem-open ul.sub-menu,
782
+ .cbp-hsmenu > li.cbp-hsitem-open .cbp-hssubmenu {
783
+ height: auto;
784
+ }
785
+
786
+ /* Let's only allow 3 item in a row now */
787
+ #cbp-hsmenu-wrapper ul.sub-menu > li,
788
+ .cbp-hssubmenu > li {
789
+ width: 30%;
790
+ }
791
+
792
+ /* Reset box shadows for the 6 items in row case */
793
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(-n+6),
794
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(6n+1),
795
+ .cbp-hssubmenu > li:nth-child(-n+6),
796
+ .cbp-hssubmenu > li:nth-child(6n+1) {
797
+ box-shadow: -28px 0 0 -27px #ddd, 0 -28px 0 -27px #ddd;
798
+ }
799
+
800
+ /* First 4 items don't have upper box shadow */
801
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(-n+3),
802
+ .cbp-hssubmenu > li:nth-child(-n+3) {
803
+ box-shadow: -28px 0 0 -27px #ddd;
804
+ }
805
+
806
+ /* Every 5th item does not have a left box shadow */
807
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(3n+1),
808
+ .cbp-hssubmenu > li:nth-child(3n+1) {
809
+ box-shadow: 0 -28px 0 -27px #ddd;
810
+ }
811
+
812
+ }
813
+
814
+ @media screen and (max-width: 25em){
815
+ /* Let's only allow 1 item in a row now */
816
+ #cbp-hsmenu-wrapper ul.sub-menu > li,
817
+ .cbp-hssubmenu > li {
818
+ width: 100%;
819
+ display: block;
820
+ }
821
+
822
+ #cbp-hsmenu-wrapper ul.sub-menu > li,
823
+ .cbp-hsmenu-wrapper .cbp-hssubmenu > li {
824
+ box-shadow: 0 1px #cecece;
825
+ text-align: left;
826
+ }
827
+
828
+ #cbp-hsmenu-wrapper ul.sub-menu > li a,
829
+ .cbp-hssubmenu > li a {
830
+ text-align: left;
831
+ line-height: 50px;
832
+ padding: 0.4em 1em;
833
+ }
834
+
835
+ #cbp-hsmenu-wrapper ul.sub-menu > li a img,
836
+ .cbp-hssubmenu > li a img{
837
+ display:none;
838
+ }
839
+
840
+ #cbp-hsmenu-wrapper ul.sub-menu > li a span,
841
+ .cbp-hssubmenu > li a span {
842
+ min-height: 0;
843
+ margin: 0;
844
+ }
845
+ }
846
+
847
+ /*
848
+ * Support for MegaMenu's description.
849
+ */
850
+
851
+ .menu-item-description {
852
+ display: block;
853
+ text-transform: uppercase;
854
+ font-size: .55rem;
855
+ }
856
+
857
+ .menu-item-object-custom .menu-item-description i:before{
858
+ font-size: 1.15em;
859
+ position: relative;
860
+ top: 0;
861
+ margin-right: 0px;
862
+ margin-left: 2px
863
+ }
864
+
865
+ /*
866
+ * Branding support
867
+ */
868
+
869
+ .elementor-branding .custom-logo-link {
870
+ padding: 0;
871
+ float: none;
872
  }
assets/css/editor.min.css CHANGED
@@ -178,14 +178,14 @@
178
 
179
  .elementor-navigation li:hover > ul,
180
  .elementor-navigation li.focus > ul {
181
- left: auto;
182
- right: 0;
183
  }
184
 
185
  .elementor-navigation ul ul li:hover > ul,
186
  .elementor-navigation ul ul li.focus > ul {
187
- left: auto;
188
- right: 100%;
189
  }
190
 
191
  .elementor-navigation .menu-item-has-children > a {
@@ -208,20 +208,665 @@
208
  .elementor-navigation ul ul .menu-item-has-children > a:after {
209
  right: 0.5625em;
210
  top: 0.875em;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
  -webkit-transform: rotate(90deg);
212
  -moz-transform: rotate(90deg);
213
  -ms-transform: rotate(90deg);
214
  transform: rotate(90deg);
215
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
216
  .eldropdown-toggle,
217
  .elementor-navigation ul .eldropdown-toggle.eltoggled-on,
218
  .elementor-menu-toggle {
219
  display: none;
220
- }
221
  }
222
 
223
  @media screen and (max-width: 56.874em) {
224
  .elementor-navigation a {
225
  padding-left: 1em;
226
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
  }
178
 
179
  .elementor-navigation li:hover > ul,
180
  .elementor-navigation li.focus > ul {
181
+ left: 0;
182
+ right: auto;
183
  }
184
 
185
  .elementor-navigation ul ul li:hover > ul,
186
  .elementor-navigation ul ul li.focus > ul {
187
+ left: 100%;
188
+ right: auto;
189
  }
190
 
191
  .elementor-navigation .menu-item-has-children > a {
208
  .elementor-navigation ul ul .menu-item-has-children > a:after {
209
  right: 0.5625em;
210
  top: 0.875em;
211
+ -webkit-transform: rotate(-90deg);
212
+ -moz-transform: rotate(-90deg);
213
+ -ms-transform: rotate(-90deg);
214
+ transform: rotate(-90deg);
215
+ }
216
+
217
+ .elementor-align-left .elementor-navigation ul ul .menu-item-has-children > a:after {
218
+ -webkit-transform: rotate(-90deg);
219
+ -moz-transform: rotate(-90deg);
220
+ -ms-transform: rotate(-90deg);
221
+ transform: rotate(-90deg);
222
+ }
223
+
224
+ .elementor-align-left .elementor-navigation li:hover > ul,
225
+ .elementor-align-left .elementor-navigation li.focus > ul {
226
+ left: 0;
227
+ right: auto;
228
+ }
229
+
230
+ .elementor-align-left .elementor-navigation ul ul li:hover > ul,
231
+ .elementor-align-left .elementor-navigation ul ul li.focus > ul {
232
+ left: 100%;
233
+ right: auto;
234
+ }
235
+
236
+
237
+ .elementor-align-right .elementor-navigation ul ul .menu-item-has-children > a:after {
238
  -webkit-transform: rotate(90deg);
239
  -moz-transform: rotate(90deg);
240
  -ms-transform: rotate(90deg);
241
  transform: rotate(90deg);
242
  }
243
+
244
+ .elementor-align-right .elementor-navigation li:hover > ul,
245
+ .elementor-align-right .elementor-navigation li.focus > ul {
246
+ left: auto;
247
+ right: 0;
248
+ }
249
+
250
+ .elementor-align-right .elementor-navigation ul ul li:hover > ul,
251
+ .elementor-align-right .elementor-navigation ul ul li.focus > ul {
252
+ left: auto;
253
+ right: 100%;
254
+ }
255
+
256
  .eldropdown-toggle,
257
  .elementor-navigation ul .eldropdown-toggle.eltoggled-on,
258
  .elementor-menu-toggle {
259
  display: none;
260
+ }
261
  }
262
 
263
  @media screen and (max-width: 56.874em) {
264
  .elementor-navigation a {
265
  padding-left: 1em;
266
  }
267
+ }
268
+
269
+ .elementor-search select,
270
+ .elementor-search textarea,
271
+ .elementor-search input,
272
+ .elementor-search button {
273
+ max-width: 100%;
274
+ min-height: 1.25rem;
275
+ padding: .175rem;
276
+ margin: 0;
277
+ background-color: #ffffff;
278
+ font-family: inherit;
279
+ font-weight: 400;
280
+ font-size: 16px;
281
+ color: #333333;
282
+ }
283
+
284
+ .elementor-search input[type=submit],
285
+ .elementor-search input[type=button],
286
+ .elementor-search input[type=reset],
287
+ .elementor-search button {
288
+ min-height: 2.25rem;
289
+ border-radius: 0;
290
+ background-color: #333333;
291
+ color: #ffffff;
292
+ cursor: pointer;
293
+ -webkit-appearance: none;
294
+ -webkit-transition: opacity 100ms ease-in-out;
295
+ transition: opacity 100ms ease-in-out;
296
+ -webkit-backface-visibility: hidden;
297
+ backface-visibility: hidden;
298
+ }
299
+ .elementor-search input[type=submit]:hover,
300
+ .elementor-search input[type=button]:hover,
301
+ .elementor-search input[type=reset]:hover,
302
+ .elementor-search button:hover {
303
+ opacity: .75;
304
+ }
305
+
306
+ .elementor-search select {
307
+ height: 2.25rem;
308
+ }
309
+
310
+ .elementor-search {
311
+ width: calc(331px + 2rem);
312
+ padding: 0.1rem 1rem 0.567rem;
313
+ background-color: #ffffff;
314
+ display: inline-block;
315
+ }
316
+
317
+ /**
318
+ * Search
319
+ */
320
+
321
+ .elementor-search .search {
322
+ overflow: hidden;
323
+ }
324
+
325
+ .elementor-search .form {
326
+ float: left;
327
+ margin-right: 5px;
328
+ margin-left: -305px;
329
+ }
330
+ .elementor-search .form input {
331
+ float: left;
332
+ }
333
+ .elementor-search .form input.input {
334
+ width: 300px;
335
+ padding-right: 2.25rem;
336
+ }
337
+ .elementor-search .form input.btn {
338
+ width: 2.25rem;
339
+ margin-left: -2.25rem;
340
+ background-color: transparent;
341
+ color: inherit;
342
+ }
343
+
344
+ .elementor-search .label,
345
+ .elementor-search .dismiss {
346
+ float: left;
347
+ padding: 10px 1px 0;
348
+ line-height: 1;
349
+ cursor: pointer;
350
+ -webkit-transition: opacity 100ms ease-in-out;
351
+ transition: opacity 100ms ease-in-out;
352
+ -webkit-backface-visibility: hidden;
353
+ backface-visibility: hidden;
354
+ }
355
+ .elementor-search .label:hover,
356
+ .elementor-search .dismiss:hover {
357
+ opacity: 0.75;
358
+ }
359
+ .elementor-search .label i,
360
+ .elementor-search .dismiss i {
361
+ line-height: 2.25rem;
362
+ }
363
+ .elementor-search .label span,
364
+ .elementor-search .dismiss span {
365
+ line-height: 2.25rem;
366
+ }
367
+
368
+ .elementor-search .dismiss {
369
+ display: none;
370
+ opacity: 0;
371
+ }
372
+
373
+ /*
374
+ * Overlay NavMenu
375
+ */
376
+
377
+
378
+
379
+ #touch-menu {
380
+ display: block;
381
+ cursor: pointer;
382
+ background: #000000;
383
+ width: 61px;
384
+ height: 52px;
385
+ right: 20px;
386
+ margin: 0;
387
+ padding: 12px;
388
+ position: absolute;
389
+ top: 15px;
390
+ z-index: 999;
391
+ transition: none;
392
+ }
393
+ #touch-menu span:after,
394
+ #touch-menu span:before {
395
+ content: "";
396
+ position: absolute;
397
+ left: 0;
398
+ top: -9px;
399
+ }
400
+ #touch-menu span:after {
401
+ top: 9px;
402
+ }
403
+ #touch-menu span {
404
+ position: relative;
405
+ display: block;
406
+ top: 12px;
407
+ }
408
+ #touch-menu span,
409
+ #touch-menu span:after,
410
+ #touch-menu span:before {
411
+ width: 100%;
412
+ height: 3px;
413
+ background-color: #ffffff;
414
+ transition: all 0.3s;
415
+ backface-visibility: hidden;
416
+ border-radius: 2px;
417
+ }
418
+ #touch-menu.on,
419
+ #touch-menu.on span {
420
+ background-color: transparent;
421
+ }
422
+ #touch-menu.on span {
423
+ height: 0;
424
+ }
425
+ #touch-menu.on span:before {
426
+ transform: rotate(45deg) translate(5px, 5px);
427
+ background-color: #fff;
428
+ }
429
+ #touch-menu.on span:after {
430
+ transform: rotate(-45deg) translate(7px, -8px);
431
+ background-color: #fff;
432
+ }
433
+ .overlay-navigation {
434
+ -ms-align-items: center;
435
+ align-items: center;
436
+ justify-content: center;
437
+ background: rgba(0,0,0,0.8);
438
+ display: none;
439
+ font-size: 48px;
440
+ line-height: 1em;
441
+ top: 0;
442
+ left: 0;
443
+ right: 0;
444
+ bottom: 0;
445
+ height: 100%;
446
+ position: fixed;
447
+ width: 100%;
448
+ overflow: auto;
449
+ z-index: 10;
450
+ -webkit-transition: background-color 2s ease-in, opacity 2s ease-in;
451
+ transition: background-color 2s ease-in, opacity 2s ease-in;
452
+ }
453
+ .overlay-navigation.visible {
454
+ display: block;
455
+ -webkit-transition: background-color 2s ease-in, opacity 2s ease-in;
456
+ transition: background-color 2s ease-in, opacity 2s ease-in;
457
+ }
458
+ .overlay-navigation > ul,
459
+ .overlay-navigation div > ul {
460
+ display: block;
461
+ list-style-type: none;
462
+ margin: 70px auto;
463
+ max-width: 800px;
464
+ padding: 0 15px;
465
+ }
466
+ .overlay-navigation ul ul {
467
+ display: block;
468
+ margin: 0;
469
+ padding: 0 0 0 20px;
470
+ width: 100%;
471
+ }
472
+ .overlay-navigation ul li {
473
+ background-color: transparent;
474
+ border: none;
475
+ display: block;
476
+ padding: 10px 0;
477
+ }
478
+ .overlay-navigation a {
479
+ color: #ffffff;
480
+ text-transform: uppercase;
481
+ text-decoration: none;
482
+ position: relative;
483
+ }
484
+ .overlay-navigation .sub-menu li {
485
+ padding: 20px 0 0 0;
486
+ font-size: 0.75em;
487
+ line-height: 1em;
488
+ }
489
+ .overlay-navigation a:hover {
490
+ text-decoration: underline;
491
+ }
492
+
493
+ @media only screen and (max-width : 767px) {
494
+ #touch-menu{
495
+ left: auto;
496
+ right: 10px;
497
+ margin: 0;
498
+ top: 10px;
499
+ position: absolute;
500
+ padding: 6px 8px;
501
+ height: 39px;
502
+ width: 50px;
503
+ }
504
+ .overlay-navigation > ul,
505
+ .overlay-navigation div > ul {
506
+ margin: 30px auto;
507
+ }
508
+ .overlay-navigation {
509
+ font-size: 24px;
510
+ }
511
+ .overlay-navigation ul li{
512
+ padding: 8px 0;
513
+ }
514
+ .overlay-navigation .sub-menu li {
515
+ padding: 15px 0 5px;
516
+ }
517
+ }
518
+
519
+ /*
520
+ * MegaMenu Styles
521
+ */
522
+
523
+ /* Main menu wrapper */
524
+ .cbp-hsmenu-wrapper {
525
+ position: relative;
526
+ }
527
+
528
+ /* Common style for all lists */
529
+ .cbp-hsmenu-wrapper ul {
530
+ list-style: none;
531
+ padding: 0;
532
+ margin: 0 auto;
533
+ }
534
+
535
+ /* 100% width bar for menu */
536
+ .cbp-hsinner {
537
+ background-color: #00275e;
538
+ position: relative;
539
+ z-index: 100;
540
+ }
541
+
542
+ .cbp-hsinner {
543
+ font-weight: inherit;
544
+ }
545
+
546
+ /* Main menu style */
547
+ .cbp-hsmenu-wrapper .cbp-hsmenu {
548
+ width: 100%;
549
+ max-width: 75em;
550
+ margin: 0 auto;
551
+ padding: 0 0.875em;
552
+ }
553
+
554
+ .cbp-hsmenu > li {
555
+ margin-left: 4em;
556
+ display: inline-block;
557
+ }
558
+
559
+ .cbp-hsmenu > li:first-child {
560
+ margin-left: 0;
561
+ }
562
+
563
+ /* Main menu link style */
564
+ .cbp-hsmenu > li > a {
565
+ color: #ffffff;
566
+ font-size: 1em;
567
+ line-height: 3em;
568
+ display: inline-block;
569
+ position: relative;
570
+ z-index: 10000;
571
+ outline: none;
572
+ }
573
+
574
+ .no-touch .cbp-hsmenu > li > a:hover,
575
+ .no-touch .cbp-hsmenu > li > a:focus,
576
+ .cbp-hsmenu > li.cbp-hsitem-open > a {
577
+ color: #f4f4f4;
578
+ }
579
+
580
+ /* Add an arrow to the main menu link if it has a submenu (not the only child) */
581
+ .cbp-hsmenu > li > a:not(:only-child):before {
582
+ display: inline-block;
583
+ font-family: 'fontawesome';
584
+ speak: none;
585
+ font-style: normal;
586
+ font-weight: normal;
587
+ font-variant: normal;
588
+ text-transform: none;
589
+ line-height: 1;
590
+ -webkit-font-smoothing: antialiased;
591
+ content: "\f107";
592
+ font-size: 80%;
593
+ margin-right: 0.3em;
594
+ opacity: 0.4;
595
+ vertical-align: middle;
596
+ }
597
+
598
+ .cbp-hsmenu > li.cbp-hsitem-open > a:not(:only-child):before {
599
+ content: "\f106";
600
+ }
601
+
602
+ /* Add a triangle to currently open menu item link */
603
+ .cbp-hsmenu > li.cbp-hsitem-open > a:after {
604
+ top: 100%;
605
+ border: solid transparent;
606
+ content: " ";
607
+ height: 0;
608
+ width: 0;
609
+ position: absolute;
610
+ pointer-events: none;
611
+ border-color: transparent;
612
+ border-top-color: #00275e;
613
+ border-width: 10px;
614
+ left: 50%;
615
+ margin-left: -10px;
616
+ }
617
+
618
+ /* Submenu style */
619
+ #cbp-hsmenu-wrapper ul.sub-menu,
620
+ .cbp-hssubmenu {
621
+ position: absolute;
622
+ left: 0;
623
+ right: 0;
624
+ top: 100%;
625
+ max-width: 75em;
626
+ width: 100%;
627
+ z-index: 0;
628
+ visibility: hidden;
629
+ }
630
+ #cbp-hsmenu-wrapper ul.sub-menu:before,
631
+ #cbp-hsmenu-wrapper ul.sub-menu:after,
632
+ .cbp-hssubmenu:before,
633
+ .cbp-hssubmenu:after {
634
+ content: " ";
635
+ display: table;
636
+ }
637
+ #cbp-hsmenu-wrapper ul.sub-menu:after,
638
+ .cbp-hssubmenu:after {
639
+ clear: both;
640
+ }
641
+
642
+ /* Let's allow 6 item in a row */
643
+ #cbp-hsmenu-wrapper ul.sub-menu > li,
644
+ .cbp-hssubmenu > li {
645
+ width: 16.2%;
646
+ display: inline-block;
647
+ vertical-align: top;
648
+ box-shadow: -28px 0 0 -27px #ddd, 0 -28px 0 -27px #ddd;
649
+ opacity: 0;
650
+ -webkit-transition: opacity 0.1s 0s;
651
+ -moz-transition: opacity 0.1s 0s;
652
+ transition: opacity 0.1s 0s;
653
+ }
654
+
655
+ /* First 6 items don't have upper box shadow */
656
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(-n+6),
657
+ .cbp-hssubmenu > li:nth-child(-n+6) {
658
+ box-shadow: -28px 0 0 -27px #ddd;
659
+ }
660
+
661
+ /* Every 7th item does not have a left box shadow */
662
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(6n+1),
663
+ .cbp-hssubmenu > li:nth-child(6n+1) {
664
+ box-shadow: 0 -28px 0 -27px #ddd;
665
+ }
666
+
667
+ /* The first one does not have any box shadow */
668
+ #cbp-hsmenu-wrapper ul.sub-menu > li:first-child,
669
+ .cbp-hssubmenu > li:first-child {
670
+ box-shadow: none;
671
+ }
672
+ #cbp-hsmenu-wrapper ul.sub-menu > li a,
673
+ .cbp-hssubmenu > li a {
674
+ display: block;
675
+ text-align: center;
676
+ outline: none;
677
+ padding: 2em 1em 1em 1em;
678
+ }
679
+
680
+ #cbp-hsmenu-wrapper ul.sub-menu > li a img,
681
+ .cbp-hssubmenu > li a img {
682
+ border: none;
683
+ outline: none;
684
+ display: inline-block;
685
+ margin: 0;
686
+ max-width: 100%;
687
+ -webkit-transition: opacity 0.2s;
688
+ -moz-transition: opacity 0.2s;
689
+ transition: opacity 0.2s;
690
+ }
691
+ #cbp-hsmenu-wrapper .no-touch ul.sub-menu > li a:hover img,
692
+ .no-touch .cbp-hssubmenu > li a:hover img {
693
+ opacity: 0.5;
694
+ }
695
+ #cbp-hsmenu-wrapper ul.sub-menu > li a span,
696
+ .cbp-hssubmenu > li a span {
697
+ display: block;
698
+ min-height: 3em;
699
+ margin-top: 0.4em;
700
+ }
701
+ #cbp-hsmenu-wrapper .cbp-hsmenu > li.cbp-hsitem-open ul.sub-menu,
702
+ .cbp-hsmenu > li.cbp-hsitem-open .cbp-hssubmenu {
703
+ z-index: 1000;
704
+ visibility: visible;
705
+ }
706
+ #cbp-hsmenu-wrapper .cbp-hsmenu > li.cbp-hsitem-open ul.sub-menu > li,
707
+ .cbp-hsmenu > li.cbp-hsitem-open .cbp-hssubmenu > li {
708
+ opacity: 1;
709
+ -webkit-transition: opacity 0.5s 0.1s;
710
+ -moz-transition: opacity 0.5s 0.1s;
711
+ transition: opacity 0.5s 0.1s;
712
+ }
713
+
714
+ /* Helper div for animating the background */
715
+ .cbp-hsmenubg {
716
+ background: #f7f7f7;
717
+ position: absolute;
718
+ width: 100%;
719
+ top: 100%;
720
+ left: 0;
721
+ z-index: 0;
722
+ height: 0px;
723
+ }
724
+
725
+ .no-touch .cbp-hsmenubg {
726
+ -webkit-transition: height 0.3s;
727
+ -moz-transition: height 0.3s;
728
+ transition: height 0.3s;
729
+ }
730
+
731
+ @media screen and (max-width: 65em){
732
+ .cbp-hsmenu-wrapper {
733
+ font-size: 80%;
734
+ }
735
+ }
736
+
737
+ @media screen and (max-width: 51.4375em){
738
+ .cbp-hsmenu-wrapper {
739
+ font-size: 100%;
740
+ }
741
+
742
+ .cbp-hsmenu-wrapper .cbp-hsmenu {
743
+ padding: 0;
744
+ max-width: none;
745
+ width: 100%;
746
+ }
747
+
748
+ .cbp-hsmenu > li {
749
+ border-top: 1px solid rgba(255,255,255,0.5);
750
+ text-align: center;
751
+ margin: 0 auto;
752
+ display: block;
753
+ }
754
+
755
+ .cbp-hsmenu > li:first-child {
756
+ border-top: none;
757
+ }
758
+
759
+ .cbp-hsmenu > li > a {
760
+ display: block;
761
+ }
762
+
763
+ .cbp-hsmenu > li > a:not(:only-child):before {
764
+ line-height: 1.8;
765
+ right: 0;
766
+ position: absolute;
767
+ font-size: 200%;
768
+ }
769
+
770
+ .cbp-hsmenubg {
771
+ display: none;
772
+ }
773
+
774
+ #cbp-hsmenu-wrapper ul.sub-menu,
775
+ .cbp-hssubmenu {
776
+ background: #f7f7f7;
777
+ position: relative;
778
+ overflow: hidden;
779
+ height: 0;
780
+ }
781
+ #cbp-hsmenu-wrapper .cbp-hsmenu > li.cbp-hsitem-open ul.sub-menu,
782
+ .cbp-hsmenu > li.cbp-hsitem-open .cbp-hssubmenu {
783
+ height: auto;
784
+ }
785
+
786
+ /* Let's only allow 3 item in a row now */
787
+ #cbp-hsmenu-wrapper ul.sub-menu > li,
788
+ .cbp-hssubmenu > li {
789
+ width: 30%;
790
+ }
791
+
792
+ /* Reset box shadows for the 6 items in row case */
793
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(-n+6),
794
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(6n+1),
795
+ .cbp-hssubmenu > li:nth-child(-n+6),
796
+ .cbp-hssubmenu > li:nth-child(6n+1) {
797
+ box-shadow: -28px 0 0 -27px #ddd, 0 -28px 0 -27px #ddd;
798
+ }
799
+
800
+ /* First 4 items don't have upper box shadow */
801
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(-n+3),
802
+ .cbp-hssubmenu > li:nth-child(-n+3) {
803
+ box-shadow: -28px 0 0 -27px #ddd;
804
+ }
805
+
806
+ /* Every 5th item does not have a left box shadow */
807
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(3n+1),
808
+ .cbp-hssubmenu > li:nth-child(3n+1) {
809
+ box-shadow: 0 -28px 0 -27px #ddd;
810
+ }
811
+
812
+ }
813
+
814
+ @media screen and (max-width: 25em){
815
+ /* Let's only allow 1 item in a row now */
816
+ #cbp-hsmenu-wrapper ul.sub-menu > li,
817
+ .cbp-hssubmenu > li {
818
+ width: 100%;
819
+ display: block;
820
+ }
821
+
822
+ #cbp-hsmenu-wrapper ul.sub-menu > li,
823
+ .cbp-hsmenu-wrapper .cbp-hssubmenu > li {
824
+ box-shadow: 0 1px #cecece;
825
+ text-align: left;
826
+ }
827
+
828
+ #cbp-hsmenu-wrapper ul.sub-menu > li a,
829
+ .cbp-hssubmenu > li a {
830
+ text-align: left;
831
+ line-height: 50px;
832
+ padding: 0.4em 1em;
833
+ }
834
+
835
+ #cbp-hsmenu-wrapper ul.sub-menu > li a img,
836
+ .cbp-hssubmenu > li a img{
837
+ display:none;
838
+ }
839
+
840
+ #cbp-hsmenu-wrapper ul.sub-menu > li a span,
841
+ .cbp-hssubmenu > li a span {
842
+ min-height: 0;
843
+ margin: 0;
844
+ }
845
+ }
846
+
847
+ /*
848
+ * Support for MegaMenu's description.
849
+ */
850
+
851
+ .menu-item-description {
852
+ display: block;
853
+ text-transform: uppercase;
854
+ font-size: .55rem;
855
+ }
856
+
857
+ .menu-item-object-custom .menu-item-description i:before{
858
+ font-size: 1.15em;
859
+ position: relative;
860
+ top: 0;
861
+ margin-right: 0px;
862
+ margin-left: 2px
863
+ }
864
+
865
+ /*
866
+ * Branding support
867
+ */
868
+
869
+ .elementor-branding .custom-logo-link {
870
+ padding: 0;
871
+ float: none;
872
  }
assets/css/frontend.css CHANGED
@@ -178,14 +178,14 @@
178
 
179
  .elementor-navigation li:hover > ul,
180
  .elementor-navigation li.focus > ul {
181
- left: auto;
182
- right: 0;
183
  }
184
 
185
  .elementor-navigation ul ul li:hover > ul,
186
  .elementor-navigation ul ul li.focus > ul {
187
- left: auto;
188
- right: 100%;
189
  }
190
 
191
  .elementor-navigation .menu-item-has-children > a {
@@ -208,20 +208,665 @@
208
  .elementor-navigation ul ul .menu-item-has-children > a:after {
209
  right: 0.5625em;
210
  top: 0.875em;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
  -webkit-transform: rotate(90deg);
212
  -moz-transform: rotate(90deg);
213
  -ms-transform: rotate(90deg);
214
  transform: rotate(90deg);
215
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
216
  .eldropdown-toggle,
217
  .elementor-navigation ul .eldropdown-toggle.eltoggled-on,
218
  .elementor-menu-toggle {
219
  display: none;
220
- }
221
  }
222
 
223
  @media screen and (max-width: 56.874em) {
224
  .elementor-navigation a {
225
  padding-left: 1em;
226
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
  }
178
 
179
  .elementor-navigation li:hover > ul,
180
  .elementor-navigation li.focus > ul {
181
+ left: 0;
182
+ right: auto;
183
  }
184
 
185
  .elementor-navigation ul ul li:hover > ul,
186
  .elementor-navigation ul ul li.focus > ul {
187
+ left: 100%;
188
+ right: auto;
189
  }
190
 
191
  .elementor-navigation .menu-item-has-children > a {
208
  .elementor-navigation ul ul .menu-item-has-children > a:after {
209
  right: 0.5625em;
210
  top: 0.875em;
211
+ -webkit-transform: rotate(-90deg);
212
+ -moz-transform: rotate(-90deg);
213
+ -ms-transform: rotate(-90deg);
214
+ transform: rotate(-90deg);
215
+ }
216
+
217
+ .elementor-align-left .elementor-navigation ul ul .menu-item-has-children > a:after {
218
+ -webkit-transform: rotate(-90deg);
219
+ -moz-transform: rotate(-90deg);
220
+ -ms-transform: rotate(-90deg);
221
+ transform: rotate(-90deg);
222
+ }
223
+
224
+ .elementor-align-left .elementor-navigation li:hover > ul,
225
+ .elementor-align-left .elementor-navigation li.focus > ul {
226
+ left: 0;
227
+ right: auto;
228
+ }
229
+
230
+ .elementor-align-left .elementor-navigation ul ul li:hover > ul,
231
+ .elementor-align-left .elementor-navigation ul ul li.focus > ul {
232
+ left: 100%;
233
+ right: auto;
234
+ }
235
+
236
+
237
+ .elementor-align-right .elementor-navigation ul ul .menu-item-has-children > a:after {
238
  -webkit-transform: rotate(90deg);
239
  -moz-transform: rotate(90deg);
240
  -ms-transform: rotate(90deg);
241
  transform: rotate(90deg);
242
  }
243
+
244
+ .elementor-align-right .elementor-navigation li:hover > ul,
245
+ .elementor-align-right .elementor-navigation li.focus > ul {
246
+ left: auto;
247
+ right: 0;
248
+ }
249
+
250
+ .elementor-align-right .elementor-navigation ul ul li:hover > ul,
251
+ .elementor-align-right .elementor-navigation ul ul li.focus > ul {
252
+ left: auto;
253
+ right: 100%;
254
+ }
255
+
256
  .eldropdown-toggle,
257
  .elementor-navigation ul .eldropdown-toggle.eltoggled-on,
258
  .elementor-menu-toggle {
259
  display: none;
260
+ }
261
  }
262
 
263
  @media screen and (max-width: 56.874em) {
264
  .elementor-navigation a {
265
  padding-left: 1em;
266
  }
267
+ }
268
+
269
+ .elementor-search select,
270
+ .elementor-search textarea,
271
+ .elementor-search input,
272
+ .elementor-search button {
273
+ max-width: 100%;
274
+ min-height: 1.25rem;
275
+ padding: .175rem;
276
+ margin: 0;
277
+ background-color: #ffffff;
278
+ font-family: inherit;
279
+ font-weight: 400;
280
+ font-size: 16px;
281
+ color: #333333;
282
+ }
283
+
284
+ .elementor-search input[type=submit],
285
+ .elementor-search input[type=button],
286
+ .elementor-search input[type=reset],
287
+ .elementor-search button {
288
+ min-height: 2.25rem;
289
+ border-radius: 0;
290
+ background-color: #333333;
291
+ color: #ffffff;
292
+ cursor: pointer;
293
+ -webkit-appearance: none;
294
+ -webkit-transition: opacity 100ms ease-in-out;
295
+ transition: opacity 100ms ease-in-out;
296
+ -webkit-backface-visibility: hidden;
297
+ backface-visibility: hidden;
298
+ }
299
+ .elementor-search input[type=submit]:hover,
300
+ .elementor-search input[type=button]:hover,
301
+ .elementor-search input[type=reset]:hover,
302
+ .elementor-search button:hover {
303
+ opacity: .75;
304
+ }
305
+
306
+ .elementor-search select {
307
+ height: 2.25rem;
308
+ }
309
+
310
+ .elementor-search {
311
+ width: calc(331px + 2rem);
312
+ padding: 0.1rem 1rem 0.567rem;
313
+ background-color: #ffffff;
314
+ display: inline-block;
315
+ }
316
+
317
+ /**
318
+ * Search
319
+ */
320
+
321
+ .elementor-search .search {
322
+ overflow: hidden;
323
+ }
324
+
325
+ .elementor-search .form {
326
+ float: left;
327
+ margin-right: 5px;
328
+ margin-left: -305px;
329
+ }
330
+ .elementor-search .form input {
331
+ float: left;
332
+ }
333
+ .elementor-search .form input.input {
334
+ width: 300px;
335
+ padding-right: 2.25rem;
336
+ }
337
+ .elementor-search .form input.btn {
338
+ width: 2.25rem;
339
+ margin-left: -2.25rem;
340
+ background-color: transparent;
341
+ color: inherit;
342
+ }
343
+
344
+ .elementor-search .label,
345
+ .elementor-search .dismiss {
346
+ float: left;
347
+ padding: 10px 1px 0;
348
+ line-height: 1;
349
+ cursor: pointer;
350
+ -webkit-transition: opacity 100ms ease-in-out;
351
+ transition: opacity 100ms ease-in-out;
352
+ -webkit-backface-visibility: hidden;
353
+ backface-visibility: hidden;
354
+ }
355
+ .elementor-search .label:hover,
356
+ .elementor-search .dismiss:hover {
357
+ opacity: 0.75;
358
+ }
359
+ .elementor-search .label i,
360
+ .elementor-search .dismiss i {
361
+ line-height: 2.25rem;
362
+ }
363
+ .elementor-search .label span,
364
+ .elementor-search .dismiss span {
365
+ line-height: 2.25rem;
366
+ }
367
+
368
+ .elementor-search .dismiss {
369
+ display: none;
370
+ opacity: 0;
371
+ }
372
+
373
+ /*
374
+ * Overlay NavMenu
375
+ */
376
+
377
+
378
+
379
+ #touch-menu {
380
+ display: block;
381
+ cursor: pointer;
382
+ background: #000000;
383
+ width: 61px;
384
+ height: 52px;
385
+ right: 20px;
386
+ margin: 0;
387
+ padding: 12px;
388
+ position: absolute;
389
+ top: 15px;
390
+ z-index: 999;
391
+ transition: none;
392
+ }
393
+ #touch-menu span:after,
394
+ #touch-menu span:before {
395
+ content: "";
396
+ position: absolute;
397
+ left: 0;
398
+ top: -9px;
399
+ }
400
+ #touch-menu span:after {
401
+ top: 9px;
402
+ }
403
+ #touch-menu span {
404
+ position: relative;
405
+ display: block;
406
+ top: 12px;
407
+ }
408
+ #touch-menu span,
409
+ #touch-menu span:after,
410
+ #touch-menu span:before {
411
+ width: 100%;
412
+ height: 3px;
413
+ background-color: #ffffff;
414
+ transition: all 0.3s;
415
+ backface-visibility: hidden;
416
+ border-radius: 2px;
417
+ }
418
+ #touch-menu.on,
419
+ #touch-menu.on span {
420
+ background-color: transparent;
421
+ }
422
+ #touch-menu.on span {
423
+ height: 0;
424
+ }
425
+ #touch-menu.on span:before {
426
+ transform: rotate(45deg) translate(5px, 5px);
427
+ background-color: #fff;
428
+ }
429
+ #touch-menu.on span:after {
430
+ transform: rotate(-45deg) translate(7px, -8px);
431
+ background-color: #fff;
432
+ }
433
+ .overlay-navigation {
434
+ -ms-align-items: center;
435
+ align-items: center;
436
+ justify-content: center;
437
+ background: rgba(0,0,0,0.8);
438
+ display: none;
439
+ font-size: 48px;
440
+ line-height: 1em;
441
+ top: 0;
442
+ left: 0;
443
+ right: 0;
444
+ bottom: 0;
445
+ height: 100%;
446
+ position: fixed;
447
+ width: 100%;
448
+ overflow: auto;
449
+ z-index: 10;
450
+ -webkit-transition: background-color 2s ease-in, opacity 2s ease-in;
451
+ transition: background-color 2s ease-in, opacity 2s ease-in;
452
+ }
453
+ .overlay-navigation.visible {
454
+ display: block;
455
+ -webkit-transition: background-color 2s ease-in, opacity 2s ease-in;
456
+ transition: background-color 2s ease-in, opacity 2s ease-in;
457
+ }
458
+ .overlay-navigation > ul,
459
+ .overlay-navigation div > ul {
460
+ display: block;
461
+ list-style-type: none;
462
+ margin: 70px auto;
463
+ max-width: 800px;
464
+ padding: 0 15px;
465
+ }
466
+ .overlay-navigation ul ul {
467
+ display: block;
468
+ margin: 0;
469
+ padding: 0 0 0 20px;
470
+ width: 100%;
471
+ }
472
+ .overlay-navigation ul li {
473
+ background-color: transparent;
474
+ border: none;
475
+ display: block;
476
+ padding: 10px 0;
477
+ }
478
+ .overlay-navigation a {
479
+ color: #ffffff;
480
+ text-transform: uppercase;
481
+ text-decoration: none;
482
+ position: relative;
483
+ }
484
+ .overlay-navigation .sub-menu li {
485
+ padding: 20px 0 0 0;
486
+ font-size: 0.75em;
487
+ line-height: 1em;
488
+ }
489
+ .overlay-navigation a:hover {
490
+ text-decoration: underline;
491
+ }
492
+
493
+ @media only screen and (max-width : 767px) {
494
+ #touch-menu{
495
+ left: auto;
496
+ right: 10px;
497
+ margin: 0;
498
+ top: 10px;
499
+ position: absolute;
500
+ padding: 6px 8px;
501
+ height: 39px;
502
+ width: 50px;
503
+ }
504
+ .overlay-navigation > ul,
505
+ .overlay-navigation div > ul {
506
+ margin: 30px auto;
507
+ }
508
+ .overlay-navigation {
509
+ font-size: 24px;
510
+ }
511
+ .overlay-navigation ul li{
512
+ padding: 8px 0;
513
+ }
514
+ .overlay-navigation .sub-menu li {
515
+ padding: 15px 0 5px;
516
+ }
517
+ }
518
+
519
+ /*
520
+ * MegaMenu Styles
521
+ */
522
+
523
+ /* Main menu wrapper */
524
+ .cbp-hsmenu-wrapper {
525
+ position: relative;
526
+ }
527
+
528
+ /* Common style for all lists */
529
+ .cbp-hsmenu-wrapper ul {
530
+ list-style: none;
531
+ padding: 0;
532
+ margin: 0 auto;
533
+ }
534
+
535
+ /* 100% width bar for menu */
536
+ .cbp-hsinner {
537
+ background-color: #00275e;
538
+ position: relative;
539
+ z-index: 100;
540
+ }
541
+
542
+ .cbp-hsinner {
543
+ font-weight: inherit;
544
+ }
545
+
546
+ /* Main menu style */
547
+ .cbp-hsmenu-wrapper .cbp-hsmenu {
548
+ width: 100%;
549
+ max-width: 75em;
550
+ margin: 0 auto;
551
+ padding: 0 0.875em;
552
+ }
553
+
554
+ .cbp-hsmenu > li {
555
+ margin-left: 4em;
556
+ display: inline-block;
557
+ }
558
+
559
+ .cbp-hsmenu > li:first-child {
560
+ margin-left: 0;
561
+ }
562
+
563
+ /* Main menu link style */
564
+ .cbp-hsmenu > li > a {
565
+ color: #ffffff;
566
+ font-size: 1em;
567
+ line-height: 3em;
568
+ display: inline-block;
569
+ position: relative;
570
+ z-index: 10000;
571
+ outline: none;
572
+ }
573
+
574
+ .no-touch .cbp-hsmenu > li > a:hover,
575
+ .no-touch .cbp-hsmenu > li > a:focus,
576
+ .cbp-hsmenu > li.cbp-hsitem-open > a {
577
+ color: #f4f4f4;
578
+ }
579
+
580
+ /* Add an arrow to the main menu link if it has a submenu (not the only child) */
581
+ .cbp-hsmenu > li > a:not(:only-child):before {
582
+ display: inline-block;
583
+ font-family: 'fontawesome';
584
+ speak: none;
585
+ font-style: normal;
586
+ font-weight: normal;
587
+ font-variant: normal;
588
+ text-transform: none;
589
+ line-height: 1;
590
+ -webkit-font-smoothing: antialiased;
591
+ content: "\f107";
592
+ font-size: 80%;
593
+ margin-right: 0.3em;
594
+ opacity: 0.4;
595
+ vertical-align: middle;
596
+ }
597
+
598
+ .cbp-hsmenu > li.cbp-hsitem-open > a:not(:only-child):before {
599
+ content: "\f106";
600
+ }
601
+
602
+ /* Add a triangle to currently open menu item link */
603
+ .cbp-hsmenu > li.cbp-hsitem-open > a:after {
604
+ top: 100%;
605
+ border: solid transparent;
606
+ content: " ";
607
+ height: 0;
608
+ width: 0;
609
+ position: absolute;
610
+ pointer-events: none;
611
+ border-color: transparent;
612
+ border-top-color: #00275e;
613
+ border-width: 10px;
614
+ left: 50%;
615
+ margin-left: -10px;
616
+ }
617
+
618
+ /* Submenu style */
619
+ #cbp-hsmenu-wrapper ul.sub-menu,
620
+ .cbp-hssubmenu {
621
+ position: absolute;
622
+ left: 0;
623
+ right: 0;
624
+ top: 100%;
625
+ max-width: 75em;
626
+ width: 100%;
627
+ z-index: 0;
628
+ visibility: hidden;
629
+ }
630
+ #cbp-hsmenu-wrapper ul.sub-menu:before,
631
+ #cbp-hsmenu-wrapper ul.sub-menu:after,
632
+ .cbp-hssubmenu:before,
633
+ .cbp-hssubmenu:after {
634
+ content: " ";
635
+ display: table;
636
+ }
637
+ #cbp-hsmenu-wrapper ul.sub-menu:after,
638
+ .cbp-hssubmenu:after {
639
+ clear: both;
640
+ }
641
+
642
+ /* Let's allow 6 item in a row */
643
+ #cbp-hsmenu-wrapper ul.sub-menu > li,
644
+ .cbp-hssubmenu > li {
645
+ width: 16.2%;
646
+ display: inline-block;
647
+ vertical-align: top;
648
+ box-shadow: -28px 0 0 -27px #ddd, 0 -28px 0 -27px #ddd;
649
+ opacity: 0;
650
+ -webkit-transition: opacity 0.1s 0s;
651
+ -moz-transition: opacity 0.1s 0s;
652
+ transition: opacity 0.1s 0s;
653
+ }
654
+
655
+ /* First 6 items don't have upper box shadow */
656
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(-n+6),
657
+ .cbp-hssubmenu > li:nth-child(-n+6) {
658
+ box-shadow: -28px 0 0 -27px #ddd;
659
+ }
660
+
661
+ /* Every 7th item does not have a left box shadow */
662
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(6n+1),
663
+ .cbp-hssubmenu > li:nth-child(6n+1) {
664
+ box-shadow: 0 -28px 0 -27px #ddd;
665
+ }
666
+
667
+ /* The first one does not have any box shadow */
668
+ #cbp-hsmenu-wrapper ul.sub-menu > li:first-child,
669
+ .cbp-hssubmenu > li:first-child {
670
+ box-shadow: none;
671
+ }
672
+ #cbp-hsmenu-wrapper ul.sub-menu > li a,
673
+ .cbp-hssubmenu > li a {
674
+ display: block;
675
+ text-align: center;
676
+ outline: none;
677
+ padding: 2em 1em 1em 1em;
678
+ }
679
+
680
+ #cbp-hsmenu-wrapper ul.sub-menu > li a img,
681
+ .cbp-hssubmenu > li a img {
682
+ border: none;
683
+ outline: none;
684
+ display: inline-block;
685
+ margin: 0;
686
+ max-width: 100%;
687
+ -webkit-transition: opacity 0.2s;
688
+ -moz-transition: opacity 0.2s;
689
+ transition: opacity 0.2s;
690
+ }
691
+ #cbp-hsmenu-wrapper .no-touch ul.sub-menu > li a:hover img,
692
+ .no-touch .cbp-hssubmenu > li a:hover img {
693
+ opacity: 0.5;
694
+ }
695
+ #cbp-hsmenu-wrapper ul.sub-menu > li a span,
696
+ .cbp-hssubmenu > li a span {
697
+ display: block;
698
+ min-height: 3em;
699
+ margin-top: 0.4em;
700
+ }
701
+ #cbp-hsmenu-wrapper .cbp-hsmenu > li.cbp-hsitem-open ul.sub-menu,
702
+ .cbp-hsmenu > li.cbp-hsitem-open .cbp-hssubmenu {
703
+ z-index: 1000;
704
+ visibility: visible;
705
+ }
706
+ #cbp-hsmenu-wrapper .cbp-hsmenu > li.cbp-hsitem-open ul.sub-menu > li,
707
+ .cbp-hsmenu > li.cbp-hsitem-open .cbp-hssubmenu > li {
708
+ opacity: 1;
709
+ -webkit-transition: opacity 0.5s 0.1s;
710
+ -moz-transition: opacity 0.5s 0.1s;
711
+ transition: opacity 0.5s 0.1s;
712
+ }
713
+
714
+ /* Helper div for animating the background */
715
+ .cbp-hsmenubg {
716
+ background: #f7f7f7;
717
+ position: absolute;
718
+ width: 100%;
719
+ top: 100%;
720
+ left: 0;
721
+ z-index: 0;
722
+ height: 0px;
723
+ }
724
+
725
+ .no-touch .cbp-hsmenubg {
726
+ -webkit-transition: height 0.3s;
727
+ -moz-transition: height 0.3s;
728
+ transition: height 0.3s;
729
+ }
730
+
731
+ @media screen and (max-width: 65em){
732
+ .cbp-hsmenu-wrapper {
733
+ font-size: 80%;
734
+ }
735
+ }
736
+
737
+ @media screen and (max-width: 51.4375em){
738
+ .cbp-hsmenu-wrapper {
739
+ font-size: 100%;
740
+ }
741
+
742
+ .cbp-hsmenu-wrapper .cbp-hsmenu {
743
+ padding: 0;
744
+ max-width: none;
745
+ width: 100%;
746
+ }
747
+
748
+ .cbp-hsmenu > li {
749
+ border-top: 1px solid rgba(255,255,255,0.5);
750
+ text-align: center;
751
+ margin: 0 auto;
752
+ display: block;
753
+ }
754
+
755
+ .cbp-hsmenu > li:first-child {
756
+ border-top: none;
757
+ }
758
+
759
+ .cbp-hsmenu > li > a {
760
+ display: block;
761
+ }
762
+
763
+ .cbp-hsmenu > li > a:not(:only-child):before {
764
+ line-height: 1.8;
765
+ right: 0;
766
+ position: absolute;
767
+ font-size: 200%;
768
+ }
769
+
770
+ .cbp-hsmenubg {
771
+ display: none;
772
+ }
773
+
774
+ #cbp-hsmenu-wrapper ul.sub-menu,
775
+ .cbp-hssubmenu {
776
+ background: #f7f7f7;
777
+ position: relative;
778
+ overflow: hidden;
779
+ height: 0;
780
+ }
781
+ #cbp-hsmenu-wrapper .cbp-hsmenu > li.cbp-hsitem-open ul.sub-menu,
782
+ .cbp-hsmenu > li.cbp-hsitem-open .cbp-hssubmenu {
783
+ height: auto;
784
+ }
785
+
786
+ /* Let's only allow 3 item in a row now */
787
+ #cbp-hsmenu-wrapper ul.sub-menu > li,
788
+ .cbp-hssubmenu > li {
789
+ width: 30%;
790
+ }
791
+
792
+ /* Reset box shadows for the 6 items in row case */
793
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(-n+6),
794
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(6n+1),
795
+ .cbp-hssubmenu > li:nth-child(-n+6),
796
+ .cbp-hssubmenu > li:nth-child(6n+1) {
797
+ box-shadow: -28px 0 0 -27px #ddd, 0 -28px 0 -27px #ddd;
798
+ }
799
+
800
+ /* First 4 items don't have upper box shadow */
801
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(-n+3),
802
+ .cbp-hssubmenu > li:nth-child(-n+3) {
803
+ box-shadow: -28px 0 0 -27px #ddd;
804
+ }
805
+
806
+ /* Every 5th item does not have a left box shadow */
807
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(3n+1),
808
+ .cbp-hssubmenu > li:nth-child(3n+1) {
809
+ box-shadow: 0 -28px 0 -27px #ddd;
810
+ }
811
+
812
+ }
813
+
814
+ @media screen and (max-width: 25em){
815
+ /* Let's only allow 1 item in a row now */
816
+ #cbp-hsmenu-wrapper ul.sub-menu > li,
817
+ .cbp-hssubmenu > li {
818
+ width: 100%;
819
+ display: block;
820
+ }
821
+
822
+ #cbp-hsmenu-wrapper ul.sub-menu > li,
823
+ .cbp-hsmenu-wrapper .cbp-hssubmenu > li {
824
+ box-shadow: 0 1px #cecece;
825
+ text-align: left;
826
+ }
827
+
828
+ #cbp-hsmenu-wrapper ul.sub-menu > li a,
829
+ .cbp-hssubmenu > li a {
830
+ text-align: left;
831
+ line-height: 50px;
832
+ padding: 0.4em 1em;
833
+ }
834
+
835
+ #cbp-hsmenu-wrapper ul.sub-menu > li a img,
836
+ .cbp-hssubmenu > li a img{
837
+ display:none;
838
+ }
839
+
840
+ #cbp-hsmenu-wrapper ul.sub-menu > li a span,
841
+ .cbp-hssubmenu > li a span {
842
+ min-height: 0;
843
+ margin: 0;
844
+ }
845
+ }
846
+
847
+ /*
848
+ * Support for MegaMenu's description.
849
+ */
850
+
851
+ .menu-item-description {
852
+ display: block;
853
+ text-transform: uppercase;
854
+ font-size: .55rem;
855
+ }
856
+
857
+ .menu-item-object-custom .menu-item-description i:before{
858
+ font-size: 1.15em;
859
+ position: relative;
860
+ top: 0;
861
+ margin-right: 0px;
862
+ margin-left: 2px
863
+ }
864
+
865
+ /*
866
+ * Branding support
867
+ */
868
+
869
+ .elementor-branding .custom-logo-link {
870
+ padding: 0;
871
+ float: none;
872
  }
assets/css/frontend.min.css CHANGED
@@ -178,14 +178,14 @@
178
 
179
  .elementor-navigation li:hover > ul,
180
  .elementor-navigation li.focus > ul {
181
- left: auto;
182
- right: 0;
183
  }
184
 
185
  .elementor-navigation ul ul li:hover > ul,
186
  .elementor-navigation ul ul li.focus > ul {
187
- left: auto;
188
- right: 100%;
189
  }
190
 
191
  .elementor-navigation .menu-item-has-children > a {
@@ -208,20 +208,665 @@
208
  .elementor-navigation ul ul .menu-item-has-children > a:after {
209
  right: 0.5625em;
210
  top: 0.875em;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
  -webkit-transform: rotate(90deg);
212
  -moz-transform: rotate(90deg);
213
  -ms-transform: rotate(90deg);
214
  transform: rotate(90deg);
215
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
216
  .eldropdown-toggle,
217
  .elementor-navigation ul .eldropdown-toggle.eltoggled-on,
218
  .elementor-menu-toggle {
219
  display: none;
220
- }
221
  }
222
 
223
  @media screen and (max-width: 56.874em) {
224
  .elementor-navigation a {
225
  padding-left: 1em;
226
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
227
  }
178
 
179
  .elementor-navigation li:hover > ul,
180
  .elementor-navigation li.focus > ul {
181
+ left: 0;
182
+ right: auto;
183
  }
184
 
185
  .elementor-navigation ul ul li:hover > ul,
186
  .elementor-navigation ul ul li.focus > ul {
187
+ left: 100%;
188
+ right: auto;
189
  }
190
 
191
  .elementor-navigation .menu-item-has-children > a {
208
  .elementor-navigation ul ul .menu-item-has-children > a:after {
209
  right: 0.5625em;
210
  top: 0.875em;
211
+ -webkit-transform: rotate(-90deg);
212
+ -moz-transform: rotate(-90deg);
213
+ -ms-transform: rotate(-90deg);
214
+ transform: rotate(-90deg);
215
+ }
216
+
217
+ .elementor-align-left .elementor-navigation ul ul .menu-item-has-children > a:after {
218
+ -webkit-transform: rotate(-90deg);
219
+ -moz-transform: rotate(-90deg);
220
+ -ms-transform: rotate(-90deg);
221
+ transform: rotate(-90deg);
222
+ }
223
+
224
+ .elementor-align-left .elementor-navigation li:hover > ul,
225
+ .elementor-align-left .elementor-navigation li.focus > ul {
226
+ left: 0;
227
+ right: auto;
228
+ }
229
+
230
+ .elementor-align-left .elementor-navigation ul ul li:hover > ul,
231
+ .elementor-align-left .elementor-navigation ul ul li.focus > ul {
232
+ left: 100%;
233
+ right: auto;
234
+ }
235
+
236
+
237
+ .elementor-align-right .elementor-navigation ul ul .menu-item-has-children > a:after {
238
  -webkit-transform: rotate(90deg);
239
  -moz-transform: rotate(90deg);
240
  -ms-transform: rotate(90deg);
241
  transform: rotate(90deg);
242
  }
243
+
244
+ .elementor-align-right .elementor-navigation li:hover > ul,
245
+ .elementor-align-right .elementor-navigation li.focus > ul {
246
+ left: auto;
247
+ right: 0;
248
+ }
249
+
250
+ .elementor-align-right .elementor-navigation ul ul li:hover > ul,
251
+ .elementor-align-right .elementor-navigation ul ul li.focus > ul {
252
+ left: auto;
253
+ right: 100%;
254
+ }
255
+
256
  .eldropdown-toggle,
257
  .elementor-navigation ul .eldropdown-toggle.eltoggled-on,
258
  .elementor-menu-toggle {
259
  display: none;
260
+ }
261
  }
262
 
263
  @media screen and (max-width: 56.874em) {
264
  .elementor-navigation a {
265
  padding-left: 1em;
266
  }
267
+ }
268
+
269
+ .elementor-search select,
270
+ .elementor-search textarea,
271
+ .elementor-search input,
272
+ .elementor-search button {
273
+ max-width: 100%;
274
+ min-height: 1.25rem;
275
+ padding: .175rem;
276
+ margin: 0;
277
+ background-color: #ffffff;
278
+ font-family: inherit;
279
+ font-weight: 400;
280
+ font-size: 16px;
281
+ color: #333333;
282
+ }
283
+
284
+ .elementor-search input[type=submit],
285
+ .elementor-search input[type=button],
286
+ .elementor-search input[type=reset],
287
+ .elementor-search button {
288
+ min-height: 2.25rem;
289
+ border-radius: 0;
290
+ background-color: #333333;
291
+ color: #ffffff;
292
+ cursor: pointer;
293
+ -webkit-appearance: none;
294
+ -webkit-transition: opacity 100ms ease-in-out;
295
+ transition: opacity 100ms ease-in-out;
296
+ -webkit-backface-visibility: hidden;
297
+ backface-visibility: hidden;
298
+ }
299
+ .elementor-search input[type=submit]:hover,
300
+ .elementor-search input[type=button]:hover,
301
+ .elementor-search input[type=reset]:hover,
302
+ .elementor-search button:hover {
303
+ opacity: .75;
304
+ }
305
+
306
+ .elementor-search select {
307
+ height: 2.25rem;
308
+ }
309
+
310
+ .elementor-search {
311
+ width: calc(331px + 2rem);
312
+ padding: 0.1rem 1rem 0.567rem;
313
+ background-color: #ffffff;
314
+ display: inline-block;
315
+ }
316
+
317
+ /**
318
+ * Search
319
+ */
320
+
321
+ .elementor-search .search {
322
+ overflow: hidden;
323
+ }
324
+
325
+ .elementor-search .form {
326
+ float: left;
327
+ margin-right: 5px;
328
+ margin-left: -305px;
329
+ }
330
+ .elementor-search .form input {
331
+ float: left;
332
+ }
333
+ .elementor-search .form input.input {
334
+ width: 300px;
335
+ padding-right: 2.25rem;
336
+ }
337
+ .elementor-search .form input.btn {
338
+ width: 2.25rem;
339
+ margin-left: -2.25rem;
340
+ background-color: transparent;
341
+ color: inherit;
342
+ }
343
+
344
+ .elementor-search .label,
345
+ .elementor-search .dismiss {
346
+ float: left;
347
+ padding: 10px 1px 0;
348
+ line-height: 1;
349
+ cursor: pointer;
350
+ -webkit-transition: opacity 100ms ease-in-out;
351
+ transition: opacity 100ms ease-in-out;
352
+ -webkit-backface-visibility: hidden;
353
+ backface-visibility: hidden;
354
+ }
355
+ .elementor-search .label:hover,
356
+ .elementor-search .dismiss:hover {
357
+ opacity: 0.75;
358
+ }
359
+ .elementor-search .label i,
360
+ .elementor-search .dismiss i {
361
+ line-height: 2.25rem;
362
+ }
363
+ .elementor-search .label span,
364
+ .elementor-search .dismiss span {
365
+ line-height: 2.25rem;
366
+ }
367
+
368
+ .elementor-search .dismiss {
369
+ display: none;
370
+ opacity: 0;
371
+ }
372
+
373
+ /*
374
+ * Overlay NavMenu
375
+ */
376
+
377
+
378
+
379
+ #touch-menu {
380
+ display: block;
381
+ cursor: pointer;
382
+ background: #000000;
383
+ width: 61px;
384
+ height: 52px;
385
+ right: 20px;
386
+ margin: 0;
387
+ padding: 12px;
388
+ position: absolute;
389
+ top: 15px;
390
+ z-index: 999;
391
+ transition: none;
392
+ }
393
+ #touch-menu span:after,
394
+ #touch-menu span:before {
395
+ content: "";
396
+ position: absolute;
397
+ left: 0;
398
+ top: -9px;
399
+ }
400
+ #touch-menu span:after {
401
+ top: 9px;
402
+ }
403
+ #touch-menu span {
404
+ position: relative;
405
+ display: block;
406
+ top: 12px;
407
+ }
408
+ #touch-menu span,
409
+ #touch-menu span:after,
410
+ #touch-menu span:before {
411
+ width: 100%;
412
+ height: 3px;
413
+ background-color: #ffffff;
414
+ transition: all 0.3s;
415
+ backface-visibility: hidden;
416
+ border-radius: 2px;
417
+ }
418
+ #touch-menu.on,
419
+ #touch-menu.on span {
420
+ background-color: transparent;
421
+ }
422
+ #touch-menu.on span {
423
+ height: 0;
424
+ }
425
+ #touch-menu.on span:before {
426
+ transform: rotate(45deg) translate(5px, 5px);
427
+ background-color: #fff;
428
+ }
429
+ #touch-menu.on span:after {
430
+ transform: rotate(-45deg) translate(7px, -8px);
431
+ background-color: #fff;
432
+ }
433
+ .overlay-navigation {
434
+ -ms-align-items: center;
435
+ align-items: center;
436
+ justify-content: center;
437
+ background: rgba(0,0,0,0.8);
438
+ display: none;
439
+ font-size: 48px;
440
+ line-height: 1em;
441
+ top: 0;
442
+ left: 0;
443
+ right: 0;
444
+ bottom: 0;
445
+ height: 100%;
446
+ position: fixed;
447
+ width: 100%;
448
+ overflow: auto;
449
+ z-index: 10;
450
+ -webkit-transition: background-color 2s ease-in, opacity 2s ease-in;
451
+ transition: background-color 2s ease-in, opacity 2s ease-in;
452
+ }
453
+ .overlay-navigation.visible {
454
+ display: block;
455
+ -webkit-transition: background-color 2s ease-in, opacity 2s ease-in;
456
+ transition: background-color 2s ease-in, opacity 2s ease-in;
457
+ }
458
+ .overlay-navigation > ul,
459
+ .overlay-navigation div > ul {
460
+ display: block;
461
+ list-style-type: none;
462
+ margin: 70px auto;
463
+ max-width: 800px;
464
+ padding: 0 15px;
465
+ }
466
+ .overlay-navigation ul ul {
467
+ display: block;
468
+ margin: 0;
469
+ padding: 0 0 0 20px;
470
+ width: 100%;
471
+ }
472
+ .overlay-navigation ul li {
473
+ background-color: transparent;
474
+ border: none;
475
+ display: block;
476
+ padding: 10px 0;
477
+ }
478
+ .overlay-navigation a {
479
+ color: #ffffff;
480
+ text-transform: uppercase;
481
+ text-decoration: none;
482
+ position: relative;
483
+ }
484
+ .overlay-navigation .sub-menu li {
485
+ padding: 20px 0 0 0;
486
+ font-size: 0.75em;
487
+ line-height: 1em;
488
+ }
489
+ .overlay-navigation a:hover {
490
+ text-decoration: underline;
491
+ }
492
+
493
+ @media only screen and (max-width : 767px) {
494
+ #touch-menu{
495
+ left: auto;
496
+ right: 10px;
497
+ margin: 0;
498
+ top: 10px;
499
+ position: absolute;
500
+ padding: 6px 8px;
501
+ height: 39px;
502
+ width: 50px;
503
+ }
504
+ .overlay-navigation > ul,
505
+ .overlay-navigation div > ul {
506
+ margin: 30px auto;
507
+ }
508
+ .overlay-navigation {
509
+ font-size: 24px;
510
+ }
511
+ .overlay-navigation ul li{
512
+ padding: 8px 0;
513
+ }
514
+ .overlay-navigation .sub-menu li {
515
+ padding: 15px 0 5px;
516
+ }
517
+ }
518
+
519
+ /*
520
+ * MegaMenu Styles
521
+ */
522
+
523
+ /* Main menu wrapper */
524
+ .cbp-hsmenu-wrapper {
525
+ position: relative;
526
+ }
527
+
528
+ /* Common style for all lists */
529
+ .cbp-hsmenu-wrapper ul {
530
+ list-style: none;
531
+ padding: 0;
532
+ margin: 0 auto;
533
+ }
534
+
535
+ /* 100% width bar for menu */
536
+ .cbp-hsinner {
537
+ background-color: #00275e;
538
+ position: relative;
539
+ z-index: 100;
540
+ }
541
+
542
+ .cbp-hsinner {
543
+ font-weight: inherit;
544
+ }
545
+
546
+ /* Main menu style */
547
+ .cbp-hsmenu-wrapper .cbp-hsmenu {
548
+ width: 100%;
549
+ max-width: 75em;
550
+ margin: 0 auto;
551
+ padding: 0 0.875em;
552
+ }
553
+
554
+ .cbp-hsmenu > li {
555
+ margin-left: 4em;
556
+ display: inline-block;
557
+ }
558
+
559
+ .cbp-hsmenu > li:first-child {
560
+ margin-left: 0;
561
+ }
562
+
563
+ /* Main menu link style */
564
+ .cbp-hsmenu > li > a {
565
+ color: #ffffff;
566
+ font-size: 1em;
567
+ line-height: 3em;
568
+ display: inline-block;
569
+ position: relative;
570
+ z-index: 10000;
571
+ outline: none;
572
+ }
573
+
574
+ .no-touch .cbp-hsmenu > li > a:hover,
575
+ .no-touch .cbp-hsmenu > li > a:focus,
576
+ .cbp-hsmenu > li.cbp-hsitem-open > a {
577
+ color: #f4f4f4;
578
+ }
579
+
580
+ /* Add an arrow to the main menu link if it has a submenu (not the only child) */
581
+ .cbp-hsmenu > li > a:not(:only-child):before {
582
+ display: inline-block;
583
+ font-family: 'fontawesome';
584
+ speak: none;
585
+ font-style: normal;
586
+ font-weight: normal;
587
+ font-variant: normal;
588
+ text-transform: none;
589
+ line-height: 1;
590
+ -webkit-font-smoothing: antialiased;
591
+ content: "\f107";
592
+ font-size: 80%;
593
+ margin-right: 0.3em;
594
+ opacity: 0.4;
595
+ vertical-align: middle;
596
+ }
597
+
598
+ .cbp-hsmenu > li.cbp-hsitem-open > a:not(:only-child):before {
599
+ content: "\f106";
600
+ }
601
+
602
+ /* Add a triangle to currently open menu item link */
603
+ .cbp-hsmenu > li.cbp-hsitem-open > a:after {
604
+ top: 100%;
605
+ border: solid transparent;
606
+ content: " ";
607
+ height: 0;
608
+ width: 0;
609
+ position: absolute;
610
+ pointer-events: none;
611
+ border-color: transparent;
612
+ border-top-color: #00275e;
613
+ border-width: 10px;
614
+ left: 50%;
615
+ margin-left: -10px;
616
+ }
617
+
618
+ /* Submenu style */
619
+ #cbp-hsmenu-wrapper ul.sub-menu,
620
+ .cbp-hssubmenu {
621
+ position: absolute;
622
+ left: 0;
623
+ right: 0;
624
+ top: 100%;
625
+ max-width: 75em;
626
+ width: 100%;
627
+ z-index: 0;
628
+ visibility: hidden;
629
+ }
630
+ #cbp-hsmenu-wrapper ul.sub-menu:before,
631
+ #cbp-hsmenu-wrapper ul.sub-menu:after,
632
+ .cbp-hssubmenu:before,
633
+ .cbp-hssubmenu:after {
634
+ content: " ";
635
+ display: table;
636
+ }
637
+ #cbp-hsmenu-wrapper ul.sub-menu:after,
638
+ .cbp-hssubmenu:after {
639
+ clear: both;
640
+ }
641
+
642
+ /* Let's allow 6 item in a row */
643
+ #cbp-hsmenu-wrapper ul.sub-menu > li,
644
+ .cbp-hssubmenu > li {
645
+ width: 16.2%;
646
+ display: inline-block;
647
+ vertical-align: top;
648
+ box-shadow: -28px 0 0 -27px #ddd, 0 -28px 0 -27px #ddd;
649
+ opacity: 0;
650
+ -webkit-transition: opacity 0.1s 0s;
651
+ -moz-transition: opacity 0.1s 0s;
652
+ transition: opacity 0.1s 0s;
653
+ }
654
+
655
+ /* First 6 items don't have upper box shadow */
656
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(-n+6),
657
+ .cbp-hssubmenu > li:nth-child(-n+6) {
658
+ box-shadow: -28px 0 0 -27px #ddd;
659
+ }
660
+
661
+ /* Every 7th item does not have a left box shadow */
662
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(6n+1),
663
+ .cbp-hssubmenu > li:nth-child(6n+1) {
664
+ box-shadow: 0 -28px 0 -27px #ddd;
665
+ }
666
+
667
+ /* The first one does not have any box shadow */
668
+ #cbp-hsmenu-wrapper ul.sub-menu > li:first-child,
669
+ .cbp-hssubmenu > li:first-child {
670
+ box-shadow: none;
671
+ }
672
+ #cbp-hsmenu-wrapper ul.sub-menu > li a,
673
+ .cbp-hssubmenu > li a {
674
+ display: block;
675
+ text-align: center;
676
+ outline: none;
677
+ padding: 2em 1em 1em 1em;
678
+ }
679
+
680
+ #cbp-hsmenu-wrapper ul.sub-menu > li a img,
681
+ .cbp-hssubmenu > li a img {
682
+ border: none;
683
+ outline: none;
684
+ display: inline-block;
685
+ margin: 0;
686
+ max-width: 100%;
687
+ -webkit-transition: opacity 0.2s;
688
+ -moz-transition: opacity 0.2s;
689
+ transition: opacity 0.2s;
690
+ }
691
+ #cbp-hsmenu-wrapper .no-touch ul.sub-menu > li a:hover img,
692
+ .no-touch .cbp-hssubmenu > li a:hover img {
693
+ opacity: 0.5;
694
+ }
695
+ #cbp-hsmenu-wrapper ul.sub-menu > li a span,
696
+ .cbp-hssubmenu > li a span {
697
+ display: block;
698
+ min-height: 3em;
699
+ margin-top: 0.4em;
700
+ }
701
+ #cbp-hsmenu-wrapper .cbp-hsmenu > li.cbp-hsitem-open ul.sub-menu,
702
+ .cbp-hsmenu > li.cbp-hsitem-open .cbp-hssubmenu {
703
+ z-index: 1000;
704
+ visibility: visible;
705
+ }
706
+ #cbp-hsmenu-wrapper .cbp-hsmenu > li.cbp-hsitem-open ul.sub-menu > li,
707
+ .cbp-hsmenu > li.cbp-hsitem-open .cbp-hssubmenu > li {
708
+ opacity: 1;
709
+ -webkit-transition: opacity 0.5s 0.1s;
710
+ -moz-transition: opacity 0.5s 0.1s;
711
+ transition: opacity 0.5s 0.1s;
712
+ }
713
+
714
+ /* Helper div for animating the background */
715
+ .cbp-hsmenubg {
716
+ background: #f7f7f7;
717
+ position: absolute;
718
+ width: 100%;
719
+ top: 100%;
720
+ left: 0;
721
+ z-index: 0;
722
+ height: 0px;
723
+ }
724
+
725
+ .no-touch .cbp-hsmenubg {
726
+ -webkit-transition: height 0.3s;
727
+ -moz-transition: height 0.3s;
728
+ transition: height 0.3s;
729
+ }
730
+
731
+ @media screen and (max-width: 65em){
732
+ .cbp-hsmenu-wrapper {
733
+ font-size: 80%;
734
+ }
735
+ }
736
+
737
+ @media screen and (max-width: 51.4375em){
738
+ .cbp-hsmenu-wrapper {
739
+ font-size: 100%;
740
+ }
741
+
742
+ .cbp-hsmenu-wrapper .cbp-hsmenu {
743
+ padding: 0;
744
+ max-width: none;
745
+ width: 100%;
746
+ }
747
+
748
+ .cbp-hsmenu > li {
749
+ border-top: 1px solid rgba(255,255,255,0.5);
750
+ text-align: center;
751
+ margin: 0 auto;
752
+ display: block;
753
+ }
754
+
755
+ .cbp-hsmenu > li:first-child {
756
+ border-top: none;
757
+ }
758
+
759
+ .cbp-hsmenu > li > a {
760
+ display: block;
761
+ }
762
+
763
+ .cbp-hsmenu > li > a:not(:only-child):before {
764
+ line-height: 1.8;
765
+ right: 0;
766
+ position: absolute;
767
+ font-size: 200%;
768
+ }
769
+
770
+ .cbp-hsmenubg {
771
+ display: none;
772
+ }
773
+
774
+ #cbp-hsmenu-wrapper ul.sub-menu,
775
+ .cbp-hssubmenu {
776
+ background: #f7f7f7;
777
+ position: relative;
778
+ overflow: hidden;
779
+ height: 0;
780
+ }
781
+ #cbp-hsmenu-wrapper .cbp-hsmenu > li.cbp-hsitem-open ul.sub-menu,
782
+ .cbp-hsmenu > li.cbp-hsitem-open .cbp-hssubmenu {
783
+ height: auto;
784
+ }
785
+
786
+ /* Let's only allow 3 item in a row now */
787
+ #cbp-hsmenu-wrapper ul.sub-menu > li,
788
+ .cbp-hssubmenu > li {
789
+ width: 30%;
790
+ }
791
+
792
+ /* Reset box shadows for the 6 items in row case */
793
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(-n+6),
794
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(6n+1),
795
+ .cbp-hssubmenu > li:nth-child(-n+6),
796
+ .cbp-hssubmenu > li:nth-child(6n+1) {
797
+ box-shadow: -28px 0 0 -27px #ddd, 0 -28px 0 -27px #ddd;
798
+ }
799
+
800
+ /* First 4 items don't have upper box shadow */
801
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(-n+3),
802
+ .cbp-hssubmenu > li:nth-child(-n+3) {
803
+ box-shadow: -28px 0 0 -27px #ddd;
804
+ }
805
+
806
+ /* Every 5th item does not have a left box shadow */
807
+ #cbp-hsmenu-wrapper ul.sub-menu > li:nth-child(3n+1),
808
+ .cbp-hssubmenu > li:nth-child(3n+1) {
809
+ box-shadow: 0 -28px 0 -27px #ddd;
810
+ }
811
+
812
+ }
813
+
814
+ @media screen and (max-width: 25em){
815
+ /* Let's only allow 1 item in a row now */
816
+ #cbp-hsmenu-wrapper ul.sub-menu > li,
817
+ .cbp-hssubmenu > li {
818
+ width: 100%;
819
+ display: block;
820
+ }
821
+
822
+ #cbp-hsmenu-wrapper ul.sub-menu > li,
823
+ .cbp-hsmenu-wrapper .cbp-hssubmenu > li {
824
+ box-shadow: 0 1px #cecece;
825
+ text-align: left;
826
+ }
827
+
828
+ #cbp-hsmenu-wrapper ul.sub-menu > li a,
829
+ .cbp-hssubmenu > li a {
830
+ text-align: left;
831
+ line-height: 50px;
832
+ padding: 0.4em 1em;
833
+ }
834
+
835
+ #cbp-hsmenu-wrapper ul.sub-menu > li a img,
836
+ .cbp-hssubmenu > li a img{
837
+ display:none;
838
+ }
839
+
840
+ #cbp-hsmenu-wrapper ul.sub-menu > li a span,
841
+ .cbp-hssubmenu > li a span {
842
+ min-height: 0;
843
+ margin: 0;
844
+ }
845
+ }
846
+
847
+ /*
848
+ * Support for MegaMenu's description.
849
+ */
850
+
851
+ .menu-item-description {
852
+ display: block;
853
+ text-transform: uppercase;
854
+ font-size: .55rem;
855
+ }
856
+
857
+ .menu-item-object-custom .menu-item-description i:before{
858
+ font-size: 1.15em;
859
+ position: relative;
860
+ top: 0;
861
+ margin-right: 0px;
862
+ margin-left: 2px
863
+ }
864
+
865
+ /*
866
+ * Branding support
867
+ */
868
+
869
+ .elementor-branding .custom-logo-link {
870
+ padding: 0;
871
+ float: none;
872
  }
assets/js/editor.js CHANGED
@@ -4,11 +4,48 @@
4
  *
5
  * Contains handlers for navigation and widget area.
6
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  ( function( $ ) {
9
- var body, menuArea, elmenuToggle, elementorNavigation, elementorHeaderMenu, resizeTimer;
10
 
11
- function initElementorNavigation( container ) {
12
 
13
  // Add dropdown toggle that displays child menu items.
14
  var eldropdownToggle = $( '<button />', {
@@ -42,36 +79,163 @@
42
  screenReaderSpan.text( screenReaderSpan.text() === elementorScreenReaderText.expand ? elementorScreenReaderText.collapse : elementorScreenReaderText.expand );
43
  } );
44
  }
45
- initElementorNavigation( $( '.elementor-navigation' ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
47
- menuArea = $( '#elementor-header' );
48
- elmenuToggle = menuArea.find( '#elementor-menu-toggle' );
49
- elementorHeaderMenu = menuArea.find( '#elementor-menu' );
50
- elementorNavigation = menuArea.find( '#elementor-navigation' );
51
 
52
- // Enable elmenuToggle.
53
  ( function() {
54
 
55
- // Return early if elmenuToggle is missing.
56
- if ( ! elmenuToggle.length ) {
57
  return;
58
  }
59
 
60
  // Add an initial values for the attribute.
61
- elmenuToggle.add( elementorNavigation ).attr( 'aria-expanded', 'false' );
62
 
63
- elmenuToggle.on( 'click.actions', function() {
64
- $( this ).add( elementorHeaderMenu ).toggleClass( 'eltoggled-on' );
65
 
66
  // jscs:disable
67
- $( this ).add( elementorNavigation ).attr( 'aria-expanded', $( this ).add( elementorNavigation ).attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );
68
  // jscs:enable
69
  } );
70
  } )();
71
 
72
  // Fix sub-menus for touch devices and better focus for hidden submenu items for accessibility.
73
  ( function() {
74
- if ( ! elementorNavigation.length || ! elementorNavigation.children().length ) {
75
  return;
76
  }
77
 
@@ -83,7 +247,7 @@
83
  $( '.elementor-navigation li' ).removeClass( 'focus' );
84
  }
85
  } );
86
- elementorNavigation.find( '.menu-item-has-children > a' ).on( 'touchstart.actions', function( e ) {
87
  var el = $( this ).parent( 'li' );
88
 
89
  if ( ! el.hasClass( 'focus' ) ) {
@@ -93,7 +257,7 @@
93
  }
94
  } );
95
  } else {
96
- elementorNavigation.find( '.menu-item-has-children > a' ).unbind( 'touchstart.actions' );
97
  }
98
  }
99
 
@@ -102,7 +266,7 @@
102
  toggleFocusClassTouchScreen();
103
  }
104
 
105
- elementorNavigation.find( 'a' ).on( 'focus.actions blur.actions', function() {
106
  $( this ).parents( '.menu-item' ).toggleClass( 'focus' );
107
  } );
108
  } )();
@@ -110,23 +274,188 @@
110
  // Add the default ARIA attributes for the menu toggle and the navigations.
111
  function onResizeARIA() {
112
  if ( window.innerWidth < 910 ) {
113
- if ( elmenuToggle.hasClass( 'eltoggled-on' ) ) {
114
- elmenuToggle.attr( 'aria-expanded', 'true' );
115
  } else {
116
- elmenuToggle.attr( 'aria-expanded', 'false' );
117
  }
118
 
119
- if ( elementorHeaderMenu.hasClass( 'eltoggled-on' ) ) {
120
- elementorNavigation.attr( 'aria-expanded', 'true' );
121
  } else {
122
- elementorNavigation.attr( 'aria-expanded', 'false' );
123
  }
124
 
125
- elmenuToggle.attr( 'aria-controls', 'site-navigation' );
126
  } else {
127
- elmenuToggle.removeAttr( 'aria-expanded' );
128
- elementorNavigation.removeAttr( 'aria-expanded' );
129
- elmenuToggle.removeAttr( 'aria-controls' );
130
  }
131
  }
132
- } )( jQuery );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  *
5
  * Contains handlers for navigation and widget area.
6
  */
7
+
8
+ (function ($, root, undefined) {
9
+
10
+ $(document).ready(function() {
11
+
12
+ 'use strict';
13
+
14
+ var touch = $('#touch-menu');
15
+ var overlaymenu = $('.overlay-navigation');
16
+
17
+ $(touch).on('click', function(e) {
18
+ e.preventDefault();
19
+ overlaymenu.toggleClass("visible");
20
+ $('body').toggleClass("menu-open");
21
+ touch.toggleClass("on");
22
+ });
23
+
24
+ $(window).resize(function(){
25
+ var w = $(window).width();
26
+ if(w > 768 && overlaymenu.is(':hidden')) {
27
+ overlaymenu.removeAttr('style');
28
+ }
29
+ });
30
+
31
+ function fullWindow() {
32
+ $(".fullwindow").css("height", $(window).height());
33
+ };
34
+ fullWindow();
35
+
36
+ $(window).resize(function() {
37
+ fullWindow();
38
+ });
39
+
40
+ });
41
+
42
+ })(jQuery);
43
+
44
 
45
  ( function( $ ) {
46
+ var body, menuAreaPrimary, elmenuTogglePrimary, elementorPrimaryNavigation, elementorPrimaryHeaderMenu, resizeTimer;
47
 
48
+ function initElementorPrimaryNavigation( container ) {
49
 
50
  // Add dropdown toggle that displays child menu items.
51
  var eldropdownToggle = $( '<button />', {
79
  screenReaderSpan.text( screenReaderSpan.text() === elementorScreenReaderText.expand ? elementorScreenReaderText.collapse : elementorScreenReaderText.expand );
80
  } );
81
  }
82
+ initElementorPrimaryNavigation( $( '.elementor-navigation' ) );
83
+
84
+ menuAreaPrimary = $( '#elementor-header-primary' );
85
+ elmenuTogglePrimary = menuAreaPrimary.find( '#elementor-menu-toggle' );
86
+ elementorPrimaryHeaderMenu = menuAreaPrimary.find( '#elementor-menu' );
87
+ elementorPrimaryNavigation = menuAreaPrimary.find( '#elementor-navigation' );
88
+
89
+ // Enable elmenuTogglePrimary.
90
+ ( function() {
91
+
92
+ // Return early if elmenuTogglePrimary is missing.
93
+ if ( ! elmenuTogglePrimary.length ) {
94
+ return;
95
+ }
96
+
97
+ // Add an initial values for the attribute.
98
+ elmenuTogglePrimary.add( elementorPrimaryNavigation ).attr( 'aria-expanded', 'false' );
99
+
100
+ elmenuTogglePrimary.on( 'click.actions', function() {
101
+ $( this ).add( elementorPrimaryHeaderMenu ).toggleClass( 'eltoggled-on' );
102
+
103
+ // jscs:disable
104
+ $( this ).add( elementorPrimaryNavigation ).attr( 'aria-expanded', $( this ).add( elementorPrimaryNavigation ).attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );
105
+ // jscs:enable
106
+ } );
107
+ } )();
108
+
109
+ // Fix sub-menus for touch devices and better focus for hidden submenu items for accessibility.
110
+ ( function() {
111
+ if ( ! elementorPrimaryNavigation.length || ! elementorPrimaryNavigation.children().length ) {
112
+ return;
113
+ }
114
+
115
+ // Toggle `focus` class to allow submenu access on tablets.
116
+ function toggleFocusClassTouchScreen() {
117
+ if ( window.innerWidth >= 910 ) {
118
+ $( document.body ).on( 'touchstart.actions', function( e ) {
119
+ if ( ! $( e.target ).closest( '.elementor-navigation li' ).length ) {
120
+ $( '.elementor-navigation li' ).removeClass( 'focus' );
121
+ }
122
+ } );
123
+ elementorPrimaryNavigation.find( '.menu-item-has-children > a' ).on( 'touchstart.actions', function( e ) {
124
+ var el = $( this ).parent( 'li' );
125
+
126
+ if ( ! el.hasClass( 'focus' ) ) {
127
+ e.preventDefault();
128
+ el.toggleClass( 'focus' );
129
+ el.siblings( '.focus' ).removeClass( 'focus' );
130
+ }
131
+ } );
132
+ } else {
133
+ elementorPrimaryNavigation.find( '.menu-item-has-children > a' ).unbind( 'touchstart.actions' );
134
+ }
135
+ }
136
+
137
+ if ( 'ontouchstart' in window ) {
138
+ $( window ).on( 'resize.actions', toggleFocusClassTouchScreen );
139
+ toggleFocusClassTouchScreen();
140
+ }
141
+
142
+ elementorPrimaryNavigation.find( 'a' ).on( 'focus.actions blur.actions', function() {
143
+ $( this ).parents( '.menu-item' ).toggleClass( 'focus' );
144
+ } );
145
+ } )();
146
+
147
+ // Add the default ARIA attributes for the menu toggle and the navigations.
148
+ function onResizeARIA() {
149
+ if ( window.innerWidth < 910 ) {
150
+ if ( elmenuTogglePrimary.hasClass( 'eltoggled-on' ) ) {
151
+ elmenuTogglePrimary.attr( 'aria-expanded', 'true' );
152
+ } else {
153
+ elmenuTogglePrimary.attr( 'aria-expanded', 'false' );
154
+ }
155
+
156
+ if ( elementorPrimaryHeaderMenu.hasClass( 'eltoggled-on' ) ) {
157
+ elementorPrimaryNavigation.attr( 'aria-expanded', 'true' );
158
+ } else {
159
+ elementorPrimaryNavigation.attr( 'aria-expanded', 'false' );
160
+ }
161
+
162
+ elmenuTogglePrimary.attr( 'aria-controls', 'site-navigation' );
163
+ } else {
164
+ elmenuTogglePrimary.removeAttr( 'aria-expanded' );
165
+ elementorPrimaryNavigation.removeAttr( 'aria-expanded' );
166
+ elmenuTogglePrimary.removeAttr( 'aria-controls' );
167
+ }
168
+ }
169
+
170
+
171
+ // Start our Secondary navigation
172
+ ( function( $ ) {
173
+ var body, menuAreaSecondary, elmenuToggleSecondary, elementorSecondaryNavigation, elementorSecondaryHeaderMenu, resizeTimer;
174
+
175
+ function initElementorSecondaryNavigation( container ) {
176
+
177
+ // Add dropdown toggle that displays child menu items.
178
+ var eldropdownSecondaryToggle = $( '<button />', {
179
+ 'class': 'eldropdown-toggle',
180
+ 'aria-expanded': false
181
+ } ).append( $( '<span />', {
182
+ 'class': 'screen-reader-text',
183
+ text: elementorSecondaryScreenReaderText.expand
184
+ } ) );
185
+
186
+ container.find( '#elementor-header-secondary .menu-item-has-children > a' ).after( eldropdownSecondaryToggle );
187
+
188
+ // Toggle buttons and submenu items with active children menu items.
189
+ container.find( '#elementor-header-secondary .current-menu-ancestor > button' ).addClass( 'eltoggled-on' );
190
+ container.find( '#elementor-header-secondary .current-menu-ancestor > .sub-menu' ).addClass( 'eltoggled-on' );
191
+
192
+ // Add menu items with submenus to aria-haspopup="true".
193
+ container.find( '#elementor-header-secondary .menu-item-has-children' ).attr( 'aria-haspopup', 'true' );
194
+
195
+ container.find( '#elementor-header-secondary .eldropdown-toggle' ).click( function( e ) {
196
+ var _this = $( this ),
197
+ screenReaderSpan = _this.find( '.screen-reader-text' );
198
+
199
+ e.preventDefault();
200
+ _this.toggleClass( 'eltoggled-on' );
201
+ _this.next( '.children, .sub-menu' ).toggleClass( 'eltoggled-on' );
202
+
203
+ // jscs:disable
204
+ _this.attr( 'aria-expanded', _this.attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );
205
+ // jscs:enable
206
+ screenReaderSpan.text( screenReaderSpan.text() === elementorSecondaryScreenReaderText.expand ? elementorSecondaryScreenReaderText.collapse : elementorSecondaryScreenReaderText.expand );
207
+ } );
208
+ }
209
+ initElementorSecondaryNavigation( $( '.elementor-navigation' ) );
210
 
211
+ menuAreaSecondary = $( '#elementor-header-secondary' );
212
+ elmenuToggleSecondary = menuAreaSecondary.find( '#elementor-menu-toggle' );
213
+ elementorSecondaryHeaderMenu = menuAreaSecondary.find( '#elementor-menu' );
214
+ elementorSecondaryNavigation = menuAreaSecondary.find( '#elementor-navigation' );
215
 
216
+ // Enable elmenuToggleSecondary.
217
  ( function() {
218
 
219
+ // Return early if elmenuToggleSecondary is missing.
220
+ if ( ! elmenuToggleSecondary.length ) {
221
  return;
222
  }
223
 
224
  // Add an initial values for the attribute.
225
+ elmenuToggleSecondary.add( elementorSecondaryNavigation ).attr( 'aria-expanded', 'false' );
226
 
227
+ elmenuToggleSecondary.on( 'click.actions', function() {
228
+ $( this ).add( elementorSecondaryHeaderMenu ).toggleClass( 'eltoggled-on' );
229
 
230
  // jscs:disable
231
+ $( this ).add( elementorSecondaryNavigation ).attr( 'aria-expanded', $( this ).add( elementorSecondaryNavigation ).attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );
232
  // jscs:enable
233
  } );
234
  } )();
235
 
236
  // Fix sub-menus for touch devices and better focus for hidden submenu items for accessibility.
237
  ( function() {
238
+ if ( ! elementorSecondaryNavigation.length || ! elementorSecondaryNavigation.children().length ) {
239
  return;
240
  }
241
 
247
  $( '.elementor-navigation li' ).removeClass( 'focus' );
248
  }
249
  } );
250
+ elementorSecondaryNavigation.find( '.menu-item-has-children > a' ).on( 'touchstart.actions', function( e ) {
251
  var el = $( this ).parent( 'li' );
252
 
253
  if ( ! el.hasClass( 'focus' ) ) {
257
  }
258
  } );
259
  } else {
260
+ elementorSecondaryNavigation.find( '.menu-item-has-children > a' ).unbind( 'touchstart.actions' );
261
  }
262
  }
263
 
266
  toggleFocusClassTouchScreen();
267
  }
268
 
269
+ elementorSecondaryNavigation.find( 'a' ).on( 'focus.actions blur.actions', function() {
270
  $( this ).parents( '.menu-item' ).toggleClass( 'focus' );
271
  } );
272
  } )();
274
  // Add the default ARIA attributes for the menu toggle and the navigations.
275
  function onResizeARIA() {
276
  if ( window.innerWidth < 910 ) {
277
+ if ( elmenuToggleSecondary.hasClass( 'eltoggled-on' ) ) {
278
+ elmenuToggleSecondary.attr( 'aria-expanded', 'true' );
279
  } else {
280
+ elmenuToggleSecondary.attr( 'aria-expanded', 'false' );
281
  }
282
 
283
+ if ( elementorSecondaryHeaderMenu.hasClass( 'eltoggled-on' ) ) {
284
+ elementorSecondaryNavigation.attr( 'aria-expanded', 'true' );
285
  } else {
286
+ elementorSecondaryNavigation.attr( 'aria-expanded', 'false' );
287
  }
288
 
289
+ elmenuToggleSecondary.attr( 'aria-controls', 'site-navigation' );
290
  } else {
291
+ elmenuToggleSecondary.removeAttr( 'aria-expanded' );
292
+ elementorSecondaryNavigation.removeAttr( 'aria-expanded' );
293
+ elmenuToggleSecondary.removeAttr( 'aria-controls' );
294
  }
295
  }
296
+
297
+ //// Search slideOut
298
+ function slideOut(parent) {
299
+ $(parent).each(function(){
300
+ var label = $(this).find('.label'),
301
+ form = $(this).find('.form'),
302
+ dismiss = $(this).find('.dismiss'),
303
+ formMarginLeft = form.css('margin-left'),
304
+ spd = 500;
305
+
306
+ label.click(function(){
307
+ form.animate({'margin-left':0},spd)
308
+ label.hide()
309
+ label.animate({'opacity':0},spd)
310
+ setTimeout(function(){
311
+ dismiss.show()
312
+ dismiss.animate({'opacity':1},spd)
313
+ },spd)
314
+ })
315
+
316
+ dismiss.click(function(){
317
+ form.animate({'margin-left':formMarginLeft},spd)
318
+ dismiss.hide()
319
+ dismiss.animate({'opacity':0},spd)
320
+ setTimeout(function(){
321
+ label.show()
322
+ label.animate({'opacity':1},spd)
323
+ },spd)
324
+ })
325
+ })
326
+ }
327
+
328
+ slideOut('.search');
329
+ } )( jQuery );
330
+
331
+ (function ($, root, undefined) {
332
+
333
+ var document = window.document;
334
+ 'use strict';
335
+
336
+ function extend( a, b ) {
337
+ for( var key in b ) {
338
+ if( b.hasOwnProperty( key ) ) {
339
+ a[key] = b[key];
340
+ }
341
+ }
342
+ return a;
343
+ }
344
+
345
+ function cbpHorizontalSlideOutMenu( el, options ) {
346
+ this.el = el;
347
+ this.options = extend( this.defaults, options );
348
+ this._init();
349
+ }
350
+
351
+ cbpHorizontalSlideOutMenu.prototype = {
352
+
353
+ defaults : {},
354
+ _init : function() {
355
+ this.current = -1;
356
+ this.touch = Modernizr.touch;
357
+ this.menu = this.el.querySelector( '.cbp-hsmenu' );
358
+ this.menuItems = this.el.querySelectorAll( '.cbp-hsmenu > li' );
359
+ this.menuBg = document.createElement( 'div' );
360
+ this.menuBg.className = 'cbp-hsmenubg';
361
+ this.el.appendChild( this.menuBg );
362
+ this._initEvents();
363
+ },
364
+ _openMenu : function( el, ev ) {
365
+
366
+ var self = this,
367
+ item = el.parentNode,
368
+ items = Array.prototype.slice.call( this.menuItems ),
369
+ submenu = item.querySelector( '.cbp-hssubmenu' ),
370
+ closeCurrent = function( current ) {
371
+ var current = current || self.menuItems[ self.current ];
372
+ current.className = '';
373
+ current.setAttribute( 'data-open', '' );
374
+ },
375
+ closePanel = function() {
376
+ self.current = -1;
377
+ self.menuBg.style.height = '0px';
378
+ };
379
+
380
+ if( submenu ) {
381
+
382
+ ev.preventDefault();
383
+
384
+ if( item.getAttribute( 'data-open' ) === 'open' ) {
385
+ closeCurrent( item );
386
+ closePanel();
387
+ }
388
+ else {
389
+ item.setAttribute( 'data-open', 'open' );
390
+ if( self.current !== -1 ) {
391
+ closeCurrent();
392
+ }
393
+ self.current = items.indexOf( item );
394
+ item.className = 'cbp-hsitem-open';
395
+ self.menuBg.style.height = submenu.offsetHeight + 'px';
396
+ }
397
+ }
398
+ else {
399
+ if( self.current !== -1 ) {
400
+ closeCurrent();
401
+ closePanel();
402
+ }
403
+ }
404
+
405
+ },
406
+ _initEvents : function() {
407
+
408
+ var self = this;
409
+
410
+ Array.prototype.slice.call( this.menuItems ).forEach( function( el, i ) {
411
+ var trigger = el.querySelector( 'a' );
412
+ if( self.touch ) {
413
+ trigger.addEventListener( 'touchstart', function( ev ) { self._openMenu( this, ev ); } );
414
+ }
415
+ else {
416
+ trigger.addEventListener( 'click', function( ev ) { self._openMenu( this, ev ); } );
417
+ }
418
+ } );
419
+
420
+ window.addEventListener( 'resize', function( ev ) { self._resizeHandler(); } );
421
+
422
+ },
423
+ // taken from https://github.com/desandro/vanilla-masonry/blob/master/masonry.js by David DeSandro
424
+ // original debounce by John Hann
425
+ // http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
426
+ _resizeHandler : function() {
427
+ var self = this;
428
+ function delayed() {
429
+ self._resize();
430
+ self._resizeTimeout = null;
431
+ }
432
+
433
+ if ( this._resizeTimeout ) {
434
+ clearTimeout( this._resizeTimeout );
435
+ }
436
+
437
+ this._resizeTimeout = setTimeout( delayed, 50 );
438
+ },
439
+ _resize : function() {
440
+ if( this.current !== -1 ) {
441
+ this.menuBg.style.height = this.menuItems[ this.current ].querySelector( '.cbp-hssubmenu' ).offsetHeight + 'px';
442
+ }
443
+ }
444
+ }
445
+
446
+ // add to global namespace
447
+ window.cbpHorizontalSlideOutMenu = cbpHorizontalSlideOutMenu;
448
+
449
+ var menu = new cbpHorizontalSlideOutMenu( document.getElementById( 'cbp-hsmenu-wrapper' ) );
450
+
451
+ })(jQuery, this.el);
452
+
453
+
454
+ } )( jQuery );
455
+
456
+ jQuery(document).ready(function() {
457
+ jQuery("#cbp-hsmenu-wrapper ul.sub-menu").each(function(i){
458
+ jQuery(this).removeClass("sub-menu");
459
+ jQuery(this).addClass("cbp-hssubmenu");
460
+ });
461
+ });
assets/js/editor.min.js CHANGED
@@ -4,11 +4,48 @@
4
  *
5
  * Contains handlers for navigation and widget area.
6
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  ( function( $ ) {
9
- var body, menuArea, elmenuToggle, elementorNavigation, elementorHeaderMenu, resizeTimer;
10
 
11
- function initElementorNavigation( container ) {
12
 
13
  // Add dropdown toggle that displays child menu items.
14
  var eldropdownToggle = $( '<button />', {
@@ -42,36 +79,163 @@
42
  screenReaderSpan.text( screenReaderSpan.text() === elementorScreenReaderText.expand ? elementorScreenReaderText.collapse : elementorScreenReaderText.expand );
43
  } );
44
  }
45
- initElementorNavigation( $( '.elementor-navigation' ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
47
- menuArea = $( '#elementor-header' );
48
- elmenuToggle = menuArea.find( '#elementor-menu-toggle' );
49
- elementorHeaderMenu = menuArea.find( '#elementor-menu' );
50
- elementorNavigation = menuArea.find( '#elementor-navigation' );
51
 
52
- // Enable elmenuToggle.
53
  ( function() {
54
 
55
- // Return early if elmenuToggle is missing.
56
- if ( ! elmenuToggle.length ) {
57
  return;
58
  }
59
 
60
  // Add an initial values for the attribute.
61
- elmenuToggle.add( elementorNavigation ).attr( 'aria-expanded', 'false' );
62
 
63
- elmenuToggle.on( 'click.actions', function() {
64
- $( this ).add( elementorHeaderMenu ).toggleClass( 'eltoggled-on' );
65
 
66
  // jscs:disable
67
- $( this ).add( elementorNavigation ).attr( 'aria-expanded', $( this ).add( elementorNavigation ).attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );
68
  // jscs:enable
69
  } );
70
  } )();
71
 
72
  // Fix sub-menus for touch devices and better focus for hidden submenu items for accessibility.
73
  ( function() {
74
- if ( ! elementorNavigation.length || ! elementorNavigation.children().length ) {
75
  return;
76
  }
77
 
@@ -83,7 +247,7 @@
83
  $( '.elementor-navigation li' ).removeClass( 'focus' );
84
  }
85
  } );
86
- elementorNavigation.find( '.menu-item-has-children > a' ).on( 'touchstart.actions', function( e ) {
87
  var el = $( this ).parent( 'li' );
88
 
89
  if ( ! el.hasClass( 'focus' ) ) {
@@ -93,7 +257,7 @@
93
  }
94
  } );
95
  } else {
96
- elementorNavigation.find( '.menu-item-has-children > a' ).unbind( 'touchstart.actions' );
97
  }
98
  }
99
 
@@ -102,7 +266,7 @@
102
  toggleFocusClassTouchScreen();
103
  }
104
 
105
- elementorNavigation.find( 'a' ).on( 'focus.actions blur.actions', function() {
106
  $( this ).parents( '.menu-item' ).toggleClass( 'focus' );
107
  } );
108
  } )();
@@ -110,23 +274,188 @@
110
  // Add the default ARIA attributes for the menu toggle and the navigations.
111
  function onResizeARIA() {
112
  if ( window.innerWidth < 910 ) {
113
- if ( elmenuToggle.hasClass( 'eltoggled-on' ) ) {
114
- elmenuToggle.attr( 'aria-expanded', 'true' );
115
  } else {
116
- elmenuToggle.attr( 'aria-expanded', 'false' );
117
  }
118
 
119
- if ( elementorHeaderMenu.hasClass( 'eltoggled-on' ) ) {
120
- elementorNavigation.attr( 'aria-expanded', 'true' );
121
  } else {
122
- elementorNavigation.attr( 'aria-expanded', 'false' );
123
  }
124
 
125
- elmenuToggle.attr( 'aria-controls', 'site-navigation' );
126
  } else {
127
- elmenuToggle.removeAttr( 'aria-expanded' );
128
- elementorNavigation.removeAttr( 'aria-expanded' );
129
- elmenuToggle.removeAttr( 'aria-controls' );
130
  }
131
  }
132
- } )( jQuery );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  *
5
  * Contains handlers for navigation and widget area.
6
  */
7
+
8
+ (function ($, root, undefined) {
9
+
10
+ $(document).ready(function() {
11
+
12
+ 'use strict';
13
+
14
+ var touch = $('#touch-menu');
15
+ var overlaymenu = $('.overlay-navigation');
16
+
17
+ $(touch).on('click', function(e) {
18
+ e.preventDefault();
19
+ overlaymenu.toggleClass("visible");
20
+ $('body').toggleClass("menu-open");
21
+ touch.toggleClass("on");
22
+ });
23
+
24
+ $(window).resize(function(){
25
+ var w = $(window).width();
26
+ if(w > 768 && overlaymenu.is(':hidden')) {
27
+ overlaymenu.removeAttr('style');
28
+ }
29
+ });
30
+
31
+ function fullWindow() {
32
+ $(".fullwindow").css("height", $(window).height());
33
+ };
34
+ fullWindow();
35
+
36
+ $(window).resize(function() {
37
+ fullWindow();
38
+ });
39
+
40
+ });
41
+
42
+ })(jQuery);
43
+
44
 
45
  ( function( $ ) {
46
+ var body, menuAreaPrimary, elmenuTogglePrimary, elementorPrimaryNavigation, elementorPrimaryHeaderMenu, resizeTimer;
47
 
48
+ function initElementorPrimaryNavigation( container ) {
49
 
50
  // Add dropdown toggle that displays child menu items.
51
  var eldropdownToggle = $( '<button />', {
79
  screenReaderSpan.text( screenReaderSpan.text() === elementorScreenReaderText.expand ? elementorScreenReaderText.collapse : elementorScreenReaderText.expand );
80
  } );
81
  }
82
+ initElementorPrimaryNavigation( $( '.elementor-navigation' ) );
83
+
84
+ menuAreaPrimary = $( '#elementor-header-primary' );
85
+ elmenuTogglePrimary = menuAreaPrimary.find( '#elementor-menu-toggle' );
86
+ elementorPrimaryHeaderMenu = menuAreaPrimary.find( '#elementor-menu' );
87
+ elementorPrimaryNavigation = menuAreaPrimary.find( '#elementor-navigation' );
88
+
89
+ // Enable elmenuTogglePrimary.
90
+ ( function() {
91
+
92
+ // Return early if elmenuTogglePrimary is missing.
93
+ if ( ! elmenuTogglePrimary.length ) {
94
+ return;
95
+ }
96
+
97
+ // Add an initial values for the attribute.
98
+ elmenuTogglePrimary.add( elementorPrimaryNavigation ).attr( 'aria-expanded', 'false' );
99
+
100
+ elmenuTogglePrimary.on( 'click.actions', function() {
101
+ $( this ).add( elementorPrimaryHeaderMenu ).toggleClass( 'eltoggled-on' );
102
+
103
+ // jscs:disable
104
+ $( this ).add( elementorPrimaryNavigation ).attr( 'aria-expanded', $( this ).add( elementorPrimaryNavigation ).attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );
105
+ // jscs:enable
106
+ } );
107
+ } )();
108
+
109
+ // Fix sub-menus for touch devices and better focus for hidden submenu items for accessibility.
110
+ ( function() {
111
+ if ( ! elementorPrimaryNavigation.length || ! elementorPrimaryNavigation.children().length ) {
112
+ return;
113
+ }
114
+
115
+ // Toggle `focus` class to allow submenu access on tablets.
116
+ function toggleFocusClassTouchScreen() {
117
+ if ( window.innerWidth >= 910 ) {
118
+ $( document.body ).on( 'touchstart.actions', function( e ) {
119
+ if ( ! $( e.target ).closest( '.elementor-navigation li' ).length ) {
120
+ $( '.elementor-navigation li' ).removeClass( 'focus' );
121
+ }
122
+ } );
123
+ elementorPrimaryNavigation.find( '.menu-item-has-children > a' ).on( 'touchstart.actions', function( e ) {
124
+ var el = $( this ).parent( 'li' );
125
+
126
+ if ( ! el.hasClass( 'focus' ) ) {
127
+ e.preventDefault();
128
+ el.toggleClass( 'focus' );
129
+ el.siblings( '.focus' ).removeClass( 'focus' );
130
+ }
131
+ } );
132
+ } else {
133
+ elementorPrimaryNavigation.find( '.menu-item-has-children > a' ).unbind( 'touchstart.actions' );
134
+ }
135
+ }
136
+
137
+ if ( 'ontouchstart' in window ) {
138
+ $( window ).on( 'resize.actions', toggleFocusClassTouchScreen );
139
+ toggleFocusClassTouchScreen();
140
+ }
141
+
142
+ elementorPrimaryNavigation.find( 'a' ).on( 'focus.actions blur.actions', function() {
143
+ $( this ).parents( '.menu-item' ).toggleClass( 'focus' );
144
+ } );
145
+ } )();
146
+
147
+ // Add the default ARIA attributes for the menu toggle and the navigations.
148
+ function onResizeARIA() {
149
+ if ( window.innerWidth < 910 ) {
150
+ if ( elmenuTogglePrimary.hasClass( 'eltoggled-on' ) ) {
151
+ elmenuTogglePrimary.attr( 'aria-expanded', 'true' );
152
+ } else {
153
+ elmenuTogglePrimary.attr( 'aria-expanded', 'false' );
154
+ }
155
+
156
+ if ( elementorPrimaryHeaderMenu.hasClass( 'eltoggled-on' ) ) {
157
+ elementorPrimaryNavigation.attr( 'aria-expanded', 'true' );
158
+ } else {
159
+ elementorPrimaryNavigation.attr( 'aria-expanded', 'false' );
160
+ }
161
+
162
+ elmenuTogglePrimary.attr( 'aria-controls', 'site-navigation' );
163
+ } else {
164
+ elmenuTogglePrimary.removeAttr( 'aria-expanded' );
165
+ elementorPrimaryNavigation.removeAttr( 'aria-expanded' );
166
+ elmenuTogglePrimary.removeAttr( 'aria-controls' );
167
+ }
168
+ }
169
+
170
+
171
+ // Start our Secondary navigation
172
+ ( function( $ ) {
173
+ var body, menuAreaSecondary, elmenuToggleSecondary, elementorSecondaryNavigation, elementorSecondaryHeaderMenu, resizeTimer;
174
+
175
+ function initElementorSecondaryNavigation( container ) {
176
+
177
+ // Add dropdown toggle that displays child menu items.
178
+ var eldropdownSecondaryToggle = $( '<button />', {
179
+ 'class': 'eldropdown-toggle',
180
+ 'aria-expanded': false
181
+ } ).append( $( '<span />', {
182
+ 'class': 'screen-reader-text',
183
+ text: elementorSecondaryScreenReaderText.expand
184
+ } ) );
185
+
186
+ container.find( '#elementor-header-secondary .menu-item-has-children > a' ).after( eldropdownSecondaryToggle );
187
+
188
+ // Toggle buttons and submenu items with active children menu items.
189
+ container.find( '#elementor-header-secondary .current-menu-ancestor > button' ).addClass( 'eltoggled-on' );
190
+ container.find( '#elementor-header-secondary .current-menu-ancestor > .sub-menu' ).addClass( 'eltoggled-on' );
191
+
192
+ // Add menu items with submenus to aria-haspopup="true".
193
+ container.find( '#elementor-header-secondary .menu-item-has-children' ).attr( 'aria-haspopup', 'true' );
194
+
195
+ container.find( '#elementor-header-secondary .eldropdown-toggle' ).click( function( e ) {
196
+ var _this = $( this ),
197
+ screenReaderSpan = _this.find( '.screen-reader-text' );
198
+
199
+ e.preventDefault();
200
+ _this.toggleClass( 'eltoggled-on' );
201
+ _this.next( '.children, .sub-menu' ).toggleClass( 'eltoggled-on' );
202
+
203
+ // jscs:disable
204
+ _this.attr( 'aria-expanded', _this.attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );
205
+ // jscs:enable
206
+ screenReaderSpan.text( screenReaderSpan.text() === elementorSecondaryScreenReaderText.expand ? elementorSecondaryScreenReaderText.collapse : elementorSecondaryScreenReaderText.expand );
207
+ } );
208
+ }
209
+ initElementorSecondaryNavigation( $( '.elementor-navigation' ) );
210
 
211
+ menuAreaSecondary = $( '#elementor-header-secondary' );
212
+ elmenuToggleSecondary = menuAreaSecondary.find( '#elementor-menu-toggle' );
213
+ elementorSecondaryHeaderMenu = menuAreaSecondary.find( '#elementor-menu' );
214
+ elementorSecondaryNavigation = menuAreaSecondary.find( '#elementor-navigation' );
215
 
216
+ // Enable elmenuToggleSecondary.
217
  ( function() {
218
 
219
+ // Return early if elmenuToggleSecondary is missing.
220
+ if ( ! elmenuToggleSecondary.length ) {
221
  return;
222
  }
223
 
224
  // Add an initial values for the attribute.
225
+ elmenuToggleSecondary.add( elementorSecondaryNavigation ).attr( 'aria-expanded', 'false' );
226
 
227
+ elmenuToggleSecondary.on( 'click.actions', function() {
228
+ $( this ).add( elementorSecondaryHeaderMenu ).toggleClass( 'eltoggled-on' );
229
 
230
  // jscs:disable
231
+ $( this ).add( elementorSecondaryNavigation ).attr( 'aria-expanded', $( this ).add( elementorSecondaryNavigation ).attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );
232
  // jscs:enable
233
  } );
234
  } )();
235
 
236
  // Fix sub-menus for touch devices and better focus for hidden submenu items for accessibility.
237
  ( function() {
238
+ if ( ! elementorSecondaryNavigation.length || ! elementorSecondaryNavigation.children().length ) {
239
  return;
240
  }
241
 
247
  $( '.elementor-navigation li' ).removeClass( 'focus' );
248
  }
249
  } );
250
+ elementorSecondaryNavigation.find( '.menu-item-has-children > a' ).on( 'touchstart.actions', function( e ) {
251
  var el = $( this ).parent( 'li' );
252
 
253
  if ( ! el.hasClass( 'focus' ) ) {
257
  }
258
  } );
259
  } else {
260
+ elementorSecondaryNavigation.find( '.menu-item-has-children > a' ).unbind( 'touchstart.actions' );
261
  }
262
  }
263
 
266
  toggleFocusClassTouchScreen();
267
  }
268
 
269
+ elementorSecondaryNavigation.find( 'a' ).on( 'focus.actions blur.actions', function() {
270
  $( this ).parents( '.menu-item' ).toggleClass( 'focus' );
271
  } );
272
  } )();
274
  // Add the default ARIA attributes for the menu toggle and the navigations.
275
  function onResizeARIA() {
276
  if ( window.innerWidth < 910 ) {
277
+ if ( elmenuToggleSecondary.hasClass( 'eltoggled-on' ) ) {
278
+ elmenuToggleSecondary.attr( 'aria-expanded', 'true' );
279
  } else {
280
+ elmenuToggleSecondary.attr( 'aria-expanded', 'false' );
281
  }
282
 
283
+ if ( elementorSecondaryHeaderMenu.hasClass( 'eltoggled-on' ) ) {
284
+ elementorSecondaryNavigation.attr( 'aria-expanded', 'true' );
285
  } else {
286
+ elementorSecondaryNavigation.attr( 'aria-expanded', 'false' );
287
  }
288
 
289
+ elmenuToggleSecondary.attr( 'aria-controls', 'site-navigation' );
290
  } else {
291
+ elmenuToggleSecondary.removeAttr( 'aria-expanded' );
292
+ elementorSecondaryNavigation.removeAttr( 'aria-expanded' );
293
+ elmenuToggleSecondary.removeAttr( 'aria-controls' );
294
  }
295
  }
296
+
297
+ //// Search slideOut
298
+ function slideOut(parent) {
299
+ $(parent).each(function(){
300
+ var label = $(this).find('.label'),
301
+ form = $(this).find('.form'),
302
+ dismiss = $(this).find('.dismiss'),
303
+ formMarginLeft = form.css('margin-left'),
304
+ spd = 500;
305
+
306
+ label.click(function(){
307
+ form.animate({'margin-left':0},spd)
308
+ label.hide()
309
+ label.animate({'opacity':0},spd)
310
+ setTimeout(function(){
311
+ dismiss.show()
312
+ dismiss.animate({'opacity':1},spd)
313
+ },spd)
314
+ })
315
+
316
+ dismiss.click(function(){
317
+ form.animate({'margin-left':formMarginLeft},spd)
318
+ dismiss.hide()
319
+ dismiss.animate({'opacity':0},spd)
320
+ setTimeout(function(){
321
+ label.show()
322
+ label.animate({'opacity':1},spd)
323
+ },spd)
324
+ })
325
+ })
326
+ }
327
+
328
+ slideOut('.search');
329
+ } )( jQuery );
330
+
331
+ (function ($, root, undefined) {
332
+
333
+ var document = window.document;
334
+ 'use strict';
335
+
336
+ function extend( a, b ) {
337
+ for( var key in b ) {
338
+ if( b.hasOwnProperty( key ) ) {
339
+ a[key] = b[key];
340
+ }
341
+ }
342
+ return a;
343
+ }
344
+
345
+ function cbpHorizontalSlideOutMenu( el, options ) {
346
+ this.el = el;
347
+ this.options = extend( this.defaults, options );
348
+ this._init();
349
+ }
350
+
351
+ cbpHorizontalSlideOutMenu.prototype = {
352
+
353
+ defaults : {},
354
+ _init : function() {
355
+ this.current = -1;
356
+ this.touch = Modernizr.touch;
357
+ this.menu = this.el.querySelector( '.cbp-hsmenu' );
358
+ this.menuItems = this.el.querySelectorAll( '.cbp-hsmenu > li' );
359
+ this.menuBg = document.createElement( 'div' );
360
+ this.menuBg.className = 'cbp-hsmenubg';
361
+ this.el.appendChild( this.menuBg );
362
+ this._initEvents();
363
+ },
364
+ _openMenu : function( el, ev ) {
365
+
366
+ var self = this,
367
+ item = el.parentNode,
368
+ items = Array.prototype.slice.call( this.menuItems ),
369
+ submenu = item.querySelector( '.cbp-hssubmenu' ),
370
+ closeCurrent = function( current ) {
371
+ var current = current || self.menuItems[ self.current ];
372
+ current.className = '';
373
+ current.setAttribute( 'data-open', '' );
374
+ },
375
+ closePanel = function() {
376
+ self.current = -1;
377
+ self.menuBg.style.height = '0px';
378
+ };
379
+
380
+ if( submenu ) {
381
+
382
+ ev.preventDefault();
383
+
384
+ if( item.getAttribute( 'data-open' ) === 'open' ) {
385
+ closeCurrent( item );
386
+ closePanel();
387
+ }
388
+ else {
389
+ item.setAttribute( 'data-open', 'open' );
390
+ if( self.current !== -1 ) {
391
+ closeCurrent();
392
+ }
393
+ self.current = items.indexOf( item );
394
+ item.className = 'cbp-hsitem-open';
395
+ self.menuBg.style.height = submenu.offsetHeight + 'px';
396
+ }
397
+ }
398
+ else {
399
+ if( self.current !== -1 ) {
400
+ closeCurrent();
401
+ closePanel();
402
+ }
403
+ }
404
+
405
+ },
406
+ _initEvents : function() {
407
+
408
+ var self = this;
409
+
410
+ Array.prototype.slice.call( this.menuItems ).forEach( function( el, i ) {
411
+ var trigger = el.querySelector( 'a' );
412
+ if( self.touch ) {
413
+ trigger.addEventListener( 'touchstart', function( ev ) { self._openMenu( this, ev ); } );
414
+ }
415
+ else {
416
+ trigger.addEventListener( 'click', function( ev ) { self._openMenu( this, ev ); } );
417
+ }
418
+ } );
419
+
420
+ window.addEventListener( 'resize', function( ev ) { self._resizeHandler(); } );
421
+
422
+ },
423
+ // taken from https://github.com/desandro/vanilla-masonry/blob/master/masonry.js by David DeSandro
424
+ // original debounce by John Hann
425
+ // http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
426
+ _resizeHandler : function() {
427
+ var self = this;
428
+ function delayed() {
429
+ self._resize();
430
+ self._resizeTimeout = null;
431
+ }
432
+
433
+ if ( this._resizeTimeout ) {
434
+ clearTimeout( this._resizeTimeout );
435
+ }
436
+
437
+ this._resizeTimeout = setTimeout( delayed, 50 );
438
+ },
439
+ _resize : function() {
440
+ if( this.current !== -1 ) {
441
+ this.menuBg.style.height = this.menuItems[ this.current ].querySelector( '.cbp-hssubmenu' ).offsetHeight + 'px';
442
+ }
443
+ }
444
+ }
445
+
446
+ // add to global namespace
447
+ window.cbpHorizontalSlideOutMenu = cbpHorizontalSlideOutMenu;
448
+
449
+ var menu = new cbpHorizontalSlideOutMenu( document.getElementById( 'cbp-hsmenu-wrapper' ) );
450
+
451
+ })(jQuery, this.el);
452
+
453
+
454
+ } )( jQuery );
455
+
456
+ jQuery(document).ready(function() {
457
+ jQuery("#cbp-hsmenu-wrapper ul.sub-menu").each(function(i){
458
+ jQuery(this).removeClass("sub-menu");
459
+ jQuery(this).addClass("cbp-hssubmenu");
460
+ });
461
+ });
assets/js/frontend.js CHANGED
@@ -4,11 +4,48 @@
4
  *
5
  * Contains handlers for navigation and widget area.
6
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  ( function( $ ) {
9
- var body, menuArea, elmenuToggle, elementorNavigation, elementorHeaderMenu, resizeTimer;
10
 
11
- function initElementorNavigation( container ) {
12
 
13
  // Add dropdown toggle that displays child menu items.
14
  var eldropdownToggle = $( '<button />', {
@@ -42,36 +79,163 @@
42
  screenReaderSpan.text( screenReaderSpan.text() === elementorScreenReaderText.expand ? elementorScreenReaderText.collapse : elementorScreenReaderText.expand );
43
  } );
44
  }
45
- initElementorNavigation( $( '.elementor-navigation' ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
47
- menuArea = $( '#elementor-header' );
48
- elmenuToggle = menuArea.find( '#elementor-menu-toggle' );
49
- elementorHeaderMenu = menuArea.find( '#elementor-menu' );
50
- elementorNavigation = menuArea.find( '#elementor-navigation' );
51
 
52
- // Enable elmenuToggle.
53
  ( function() {
54
 
55
- // Return early if elmenuToggle is missing.
56
- if ( ! elmenuToggle.length ) {
57
  return;
58
  }
59
 
60
  // Add an initial values for the attribute.
61
- elmenuToggle.add( elementorNavigation ).attr( 'aria-expanded', 'false' );
62
 
63
- elmenuToggle.on( 'click.actions', function() {
64
- $( this ).add( elementorHeaderMenu ).toggleClass( 'eltoggled-on' );
65
 
66
  // jscs:disable
67
- $( this ).add( elementorNavigation ).attr( 'aria-expanded', $( this ).add( elementorNavigation ).attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );
68
  // jscs:enable
69
  } );
70
  } )();
71
 
72
  // Fix sub-menus for touch devices and better focus for hidden submenu items for accessibility.
73
  ( function() {
74
- if ( ! elementorNavigation.length || ! elementorNavigation.children().length ) {
75
  return;
76
  }
77
 
@@ -83,7 +247,7 @@
83
  $( '.elementor-navigation li' ).removeClass( 'focus' );
84
  }
85
  } );
86
- elementorNavigation.find( '.menu-item-has-children > a' ).on( 'touchstart.actions', function( e ) {
87
  var el = $( this ).parent( 'li' );
88
 
89
  if ( ! el.hasClass( 'focus' ) ) {
@@ -93,7 +257,7 @@
93
  }
94
  } );
95
  } else {
96
- elementorNavigation.find( '.menu-item-has-children > a' ).unbind( 'touchstart.actions' );
97
  }
98
  }
99
 
@@ -102,7 +266,7 @@
102
  toggleFocusClassTouchScreen();
103
  }
104
 
105
- elementorNavigation.find( 'a' ).on( 'focus.actions blur.actions', function() {
106
  $( this ).parents( '.menu-item' ).toggleClass( 'focus' );
107
  } );
108
  } )();
@@ -110,23 +274,188 @@
110
  // Add the default ARIA attributes for the menu toggle and the navigations.
111
  function onResizeARIA() {
112
  if ( window.innerWidth < 910 ) {
113
- if ( elmenuToggle.hasClass( 'eltoggled-on' ) ) {
114
- elmenuToggle.attr( 'aria-expanded', 'true' );
115
  } else {
116
- elmenuToggle.attr( 'aria-expanded', 'false' );
117
  }
118
 
119
- if ( elementorHeaderMenu.hasClass( 'eltoggled-on' ) ) {
120
- elementorNavigation.attr( 'aria-expanded', 'true' );
121
  } else {
122
- elementorNavigation.attr( 'aria-expanded', 'false' );
123
  }
124
 
125
- elmenuToggle.attr( 'aria-controls', 'site-navigation' );
126
  } else {
127
- elmenuToggle.removeAttr( 'aria-expanded' );
128
- elementorNavigation.removeAttr( 'aria-expanded' );
129
- elmenuToggle.removeAttr( 'aria-controls' );
130
  }
131
  }
132
- } )( jQuery );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  *
5
  * Contains handlers for navigation and widget area.
6
  */
7
+
8
+ (function ($, root, undefined) {
9
+
10
+ $(document).ready(function() {
11
+
12
+ 'use strict';
13
+
14
+ var touch = $('#touch-menu');
15
+ var overlaymenu = $('.overlay-navigation');
16
+
17
+ $(touch).on('click', function(e) {
18
+ e.preventDefault();
19
+ overlaymenu.toggleClass("visible");
20
+ $('body').toggleClass("menu-open");
21
+ touch.toggleClass("on");
22
+ });
23
+
24
+ $(window).resize(function(){
25
+ var w = $(window).width();
26
+ if(w > 768 && overlaymenu.is(':hidden')) {
27
+ overlaymenu.removeAttr('style');
28
+ }
29
+ });
30
+
31
+ function fullWindow() {
32
+ $(".fullwindow").css("height", $(window).height());
33
+ };
34
+ fullWindow();
35
+
36
+ $(window).resize(function() {
37
+ fullWindow();
38
+ });
39
+
40
+ });
41
+
42
+ })(jQuery);
43
+
44
 
45
  ( function( $ ) {
46
+ var body, menuAreaPrimary, elmenuTogglePrimary, elementorPrimaryNavigation, elementorPrimaryHeaderMenu, resizeTimer;
47
 
48
+ function initElementorPrimaryNavigation( container ) {
49
 
50
  // Add dropdown toggle that displays child menu items.
51
  var eldropdownToggle = $( '<button />', {
79
  screenReaderSpan.text( screenReaderSpan.text() === elementorScreenReaderText.expand ? elementorScreenReaderText.collapse : elementorScreenReaderText.expand );
80
  } );
81
  }
82
+ initElementorPrimaryNavigation( $( '.elementor-navigation' ) );
83
+
84
+ menuAreaPrimary = $( '#elementor-header-primary' );
85
+ elmenuTogglePrimary = menuAreaPrimary.find( '#elementor-menu-toggle' );
86
+ elementorPrimaryHeaderMenu = menuAreaPrimary.find( '#elementor-menu' );
87
+ elementorPrimaryNavigation = menuAreaPrimary.find( '#elementor-navigation' );
88
+
89
+ // Enable elmenuTogglePrimary.
90
+ ( function() {
91
+
92
+ // Return early if elmenuTogglePrimary is missing.
93
+ if ( ! elmenuTogglePrimary.length ) {
94
+ return;
95
+ }
96
+
97
+ // Add an initial values for the attribute.
98
+ elmenuTogglePrimary.add( elementorPrimaryNavigation ).attr( 'aria-expanded', 'false' );
99
+
100
+ elmenuTogglePrimary.on( 'click.actions', function() {
101
+ $( this ).add( elementorPrimaryHeaderMenu ).toggleClass( 'eltoggled-on' );
102
+
103
+ // jscs:disable
104
+ $( this ).add( elementorPrimaryNavigation ).attr( 'aria-expanded', $( this ).add( elementorPrimaryNavigation ).attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );
105
+ // jscs:enable
106
+ } );
107
+ } )();
108
+
109
+ // Fix sub-menus for touch devices and better focus for hidden submenu items for accessibility.
110
+ ( function() {
111
+ if ( ! elementorPrimaryNavigation.length || ! elementorPrimaryNavigation.children().length ) {
112
+ return;
113
+ }
114
+
115
+ // Toggle `focus` class to allow submenu access on tablets.
116
+ function toggleFocusClassTouchScreen() {
117
+ if ( window.innerWidth >= 910 ) {
118
+ $( document.body ).on( 'touchstart.actions', function( e ) {
119
+ if ( ! $( e.target ).closest( '.elementor-navigation li' ).length ) {
120
+ $( '.elementor-navigation li' ).removeClass( 'focus' );
121
+ }
122
+ } );
123
+ elementorPrimaryNavigation.find( '.menu-item-has-children > a' ).on( 'touchstart.actions', function( e ) {
124
+ var el = $( this ).parent( 'li' );
125
+
126
+ if ( ! el.hasClass( 'focus' ) ) {
127
+ e.preventDefault();
128
+ el.toggleClass( 'focus' );
129
+ el.siblings( '.focus' ).removeClass( 'focus' );
130
+ }
131
+ } );
132
+ } else {
133
+ elementorPrimaryNavigation.find( '.menu-item-has-children > a' ).unbind( 'touchstart.actions' );
134
+ }
135
+ }
136
+
137
+ if ( 'ontouchstart' in window ) {
138
+ $( window ).on( 'resize.actions', toggleFocusClassTouchScreen );
139
+ toggleFocusClassTouchScreen();
140
+ }
141
+
142
+ elementorPrimaryNavigation.find( 'a' ).on( 'focus.actions blur.actions', function() {
143
+ $( this ).parents( '.menu-item' ).toggleClass( 'focus' );
144
+ } );
145
+ } )();
146
+
147
+ // Add the default ARIA attributes for the menu toggle and the navigations.
148
+ function onResizeARIA() {
149
+ if ( window.innerWidth < 910 ) {
150
+ if ( elmenuTogglePrimary.hasClass( 'eltoggled-on' ) ) {
151
+ elmenuTogglePrimary.attr( 'aria-expanded', 'true' );
152
+ } else {
153
+ elmenuTogglePrimary.attr( 'aria-expanded', 'false' );
154
+ }
155
+
156
+ if ( elementorPrimaryHeaderMenu.hasClass( 'eltoggled-on' ) ) {
157
+ elementorPrimaryNavigation.attr( 'aria-expanded', 'true' );
158
+ } else {
159
+ elementorPrimaryNavigation.attr( 'aria-expanded', 'false' );
160
+ }
161
+
162
+ elmenuTogglePrimary.attr( 'aria-controls', 'site-navigation' );
163
+ } else {
164
+ elmenuTogglePrimary.removeAttr( 'aria-expanded' );
165
+ elementorPrimaryNavigation.removeAttr( 'aria-expanded' );
166
+ elmenuTogglePrimary.removeAttr( 'aria-controls' );
167
+ }
168
+ }
169
+
170
+
171
+ // Start our Secondary navigation
172
+ ( function( $ ) {
173
+ var body, menuAreaSecondary, elmenuToggleSecondary, elementorSecondaryNavigation, elementorSecondaryHeaderMenu, resizeTimer;
174
+
175
+ function initElementorSecondaryNavigation( container ) {
176
+
177
+ // Add dropdown toggle that displays child menu items.
178
+ var eldropdownSecondaryToggle = $( '<button />', {
179
+ 'class': 'eldropdown-toggle',
180
+ 'aria-expanded': false
181
+ } ).append( $( '<span />', {
182
+ 'class': 'screen-reader-text',
183
+ text: elementorSecondaryScreenReaderText.expand
184
+ } ) );
185
+
186
+ container.find( '#elementor-header-secondary .menu-item-has-children > a' ).after( eldropdownSecondaryToggle );
187
+
188
+ // Toggle buttons and submenu items with active children menu items.
189
+ container.find( '#elementor-header-secondary .current-menu-ancestor > button' ).addClass( 'eltoggled-on' );
190
+ container.find( '#elementor-header-secondary .current-menu-ancestor > .sub-menu' ).addClass( 'eltoggled-on' );
191
+
192
+ // Add menu items with submenus to aria-haspopup="true".
193
+ container.find( '#elementor-header-secondary .menu-item-has-children' ).attr( 'aria-haspopup', 'true' );
194
+
195
+ container.find( '#elementor-header-secondary .eldropdown-toggle' ).click( function( e ) {
196
+ var _this = $( this ),
197
+ screenReaderSpan = _this.find( '.screen-reader-text' );
198
+
199
+ e.preventDefault();
200
+ _this.toggleClass( 'eltoggled-on' );
201
+ _this.next( '.children, .sub-menu' ).toggleClass( 'eltoggled-on' );
202
+
203
+ // jscs:disable
204
+ _this.attr( 'aria-expanded', _this.attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );
205
+ // jscs:enable
206
+ screenReaderSpan.text( screenReaderSpan.text() === elementorSecondaryScreenReaderText.expand ? elementorSecondaryScreenReaderText.collapse : elementorSecondaryScreenReaderText.expand );
207
+ } );
208
+ }
209
+ initElementorSecondaryNavigation( $( '.elementor-navigation' ) );
210
 
211
+ menuAreaSecondary = $( '#elementor-header-secondary' );
212
+ elmenuToggleSecondary = menuAreaSecondary.find( '#elementor-menu-toggle' );
213
+ elementorSecondaryHeaderMenu = menuAreaSecondary.find( '#elementor-menu' );
214
+ elementorSecondaryNavigation = menuAreaSecondary.find( '#elementor-navigation' );
215
 
216
+ // Enable elmenuToggleSecondary.
217
  ( function() {
218
 
219
+ // Return early if elmenuToggleSecondary is missing.
220
+ if ( ! elmenuToggleSecondary.length ) {
221
  return;
222
  }
223
 
224
  // Add an initial values for the attribute.
225
+ elmenuToggleSecondary.add( elementorSecondaryNavigation ).attr( 'aria-expanded', 'false' );
226
 
227
+ elmenuToggleSecondary.on( 'click.actions', function() {
228
+ $( this ).add( elementorSecondaryHeaderMenu ).toggleClass( 'eltoggled-on' );
229
 
230
  // jscs:disable
231
+ $( this ).add( elementorSecondaryNavigation ).attr( 'aria-expanded', $( this ).add( elementorSecondaryNavigation ).attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );
232
  // jscs:enable
233
  } );
234
  } )();
235
 
236
  // Fix sub-menus for touch devices and better focus for hidden submenu items for accessibility.
237
  ( function() {
238
+ if ( ! elementorSecondaryNavigation.length || ! elementorSecondaryNavigation.children().length ) {
239
  return;
240
  }
241
 
247
  $( '.elementor-navigation li' ).removeClass( 'focus' );
248
  }
249
  } );
250
+ elementorSecondaryNavigation.find( '.menu-item-has-children > a' ).on( 'touchstart.actions', function( e ) {
251
  var el = $( this ).parent( 'li' );
252
 
253
  if ( ! el.hasClass( 'focus' ) ) {
257
  }
258
  } );
259
  } else {
260
+ elementorSecondaryNavigation.find( '.menu-item-has-children > a' ).unbind( 'touchstart.actions' );
261
  }
262
  }
263
 
266
  toggleFocusClassTouchScreen();
267
  }
268
 
269
+ elementorSecondaryNavigation.find( 'a' ).on( 'focus.actions blur.actions', function() {
270
  $( this ).parents( '.menu-item' ).toggleClass( 'focus' );
271
  } );
272
  } )();
274
  // Add the default ARIA attributes for the menu toggle and the navigations.
275
  function onResizeARIA() {
276
  if ( window.innerWidth < 910 ) {
277
+ if ( elmenuToggleSecondary.hasClass( 'eltoggled-on' ) ) {
278
+ elmenuToggleSecondary.attr( 'aria-expanded', 'true' );
279
  } else {
280
+ elmenuToggleSecondary.attr( 'aria-expanded', 'false' );
281
  }
282
 
283
+ if ( elementorSecondaryHeaderMenu.hasClass( 'eltoggled-on' ) ) {
284
+ elementorSecondaryNavigation.attr( 'aria-expanded', 'true' );
285
  } else {
286
+ elementorSecondaryNavigation.attr( 'aria-expanded', 'false' );
287
  }
288
 
289
+ elmenuToggleSecondary.attr( 'aria-controls', 'site-navigation' );
290
  } else {
291
+ elmenuToggleSecondary.removeAttr( 'aria-expanded' );
292
+ elementorSecondaryNavigation.removeAttr( 'aria-expanded' );
293
+ elmenuToggleSecondary.removeAttr( 'aria-controls' );
294
  }
295
  }
296
+
297
+ //// Search slideOut
298
+ function slideOut(parent) {
299
+ $(parent).each(function(){
300
+ var label = $(this).find('.label'),
301
+ form = $(this).find('.form'),
302
+ dismiss = $(this).find('.dismiss'),
303
+ formMarginLeft = form.css('margin-left'),
304
+ spd = 500;
305
+
306
+ label.click(function(){
307
+ form.animate({'margin-left':0},spd)
308
+ label.hide()
309
+ label.animate({'opacity':0},spd)
310
+ setTimeout(function(){
311
+ dismiss.show()
312
+ dismiss.animate({'opacity':1},spd)
313
+ },spd)
314
+ })
315
+
316
+ dismiss.click(function(){
317
+ form.animate({'margin-left':formMarginLeft},spd)
318
+ dismiss.hide()
319
+ dismiss.animate({'opacity':0},spd)
320
+ setTimeout(function(){
321
+ label.show()
322
+ label.animate({'opacity':1},spd)
323
+ },spd)
324
+ })
325
+ })
326
+ }
327
+
328
+ slideOut('.search');
329
+ } )( jQuery );
330
+
331
+ (function ($, root, undefined) {
332
+
333
+ var document = window.document;
334
+ 'use strict';
335
+
336
+ function extend( a, b ) {
337
+ for( var key in b ) {
338
+ if( b.hasOwnProperty( key ) ) {
339
+ a[key] = b[key];
340
+ }
341
+ }
342
+ return a;
343
+ }
344
+
345
+ function cbpHorizontalSlideOutMenu( el, options ) {
346
+ this.el = el;
347
+ this.options = extend( this.defaults, options );
348
+ this._init();
349
+ }
350
+
351
+ cbpHorizontalSlideOutMenu.prototype = {
352
+
353
+ defaults : {},
354
+ _init : function() {
355
+ this.current = -1;
356
+ this.touch = Modernizr.touch;
357
+ this.menu = this.el.querySelector( '.cbp-hsmenu' );
358
+ this.menuItems = this.el.querySelectorAll( '.cbp-hsmenu > li' );
359
+ this.menuBg = document.createElement( 'div' );
360
+ this.menuBg.className = 'cbp-hsmenubg';
361
+ this.el.appendChild( this.menuBg );
362
+ this._initEvents();
363
+ },
364
+ _openMenu : function( el, ev ) {
365
+
366
+ var self = this,
367
+ item = el.parentNode,
368
+ items = Array.prototype.slice.call( this.menuItems ),
369
+ submenu = item.querySelector( '.cbp-hssubmenu' ),
370
+ closeCurrent = function( current ) {
371
+ var current = current || self.menuItems[ self.current ];
372
+ current.className = '';
373
+ current.setAttribute( 'data-open', '' );
374
+ },
375
+ closePanel = function() {
376
+ self.current = -1;
377
+ self.menuBg.style.height = '0px';
378
+ };
379
+
380
+ if( submenu ) {
381
+
382
+ ev.preventDefault();
383
+
384
+ if( item.getAttribute( 'data-open' ) === 'open' ) {
385
+ closeCurrent( item );
386
+ closePanel();
387
+ }
388
+ else {
389
+ item.setAttribute( 'data-open', 'open' );
390
+ if( self.current !== -1 ) {
391
+ closeCurrent();
392
+ }
393
+ self.current = items.indexOf( item );
394
+ item.className = 'cbp-hsitem-open';
395
+ self.menuBg.style.height = submenu.offsetHeight + 'px';
396
+ }
397
+ }
398
+ else {
399
+ if( self.current !== -1 ) {
400
+ closeCurrent();
401
+ closePanel();
402
+ }
403
+ }
404
+
405
+ },
406
+ _initEvents : function() {
407
+
408
+ var self = this;
409
+
410
+ Array.prototype.slice.call( this.menuItems ).forEach( function( el, i ) {
411
+ var trigger = el.querySelector( 'a' );
412
+ if( self.touch ) {
413
+ trigger.addEventListener( 'touchstart', function( ev ) { self._openMenu( this, ev ); } );
414
+ }
415
+ else {
416
+ trigger.addEventListener( 'click', function( ev ) { self._openMenu( this, ev ); } );
417
+ }
418
+ } );
419
+
420
+ window.addEventListener( 'resize', function( ev ) { self._resizeHandler(); } );
421
+
422
+ },
423
+ // taken from https://github.com/desandro/vanilla-masonry/blob/master/masonry.js by David DeSandro
424
+ // original debounce by John Hann
425
+ // http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
426
+ _resizeHandler : function() {
427
+ var self = this;
428
+ function delayed() {
429
+ self._resize();
430
+ self._resizeTimeout = null;
431
+ }
432
+
433
+ if ( this._resizeTimeout ) {
434
+ clearTimeout( this._resizeTimeout );
435
+ }
436
+
437
+ this._resizeTimeout = setTimeout( delayed, 50 );
438
+ },
439
+ _resize : function() {
440
+ if( this.current !== -1 ) {
441
+ this.menuBg.style.height = this.menuItems[ this.current ].querySelector( '.cbp-hssubmenu' ).offsetHeight + 'px';
442
+ }
443
+ }
444
+ }
445
+
446
+ // add to global namespace
447
+ window.cbpHorizontalSlideOutMenu = cbpHorizontalSlideOutMenu;
448
+
449
+ var menu = new cbpHorizontalSlideOutMenu( document.getElementById( 'cbp-hsmenu-wrapper' ) );
450
+
451
+ })(jQuery, this.el);
452
+
453
+
454
+ } )( jQuery );
455
+
456
+ jQuery(document).ready(function() {
457
+ jQuery("#cbp-hsmenu-wrapper ul.sub-menu").each(function(i){
458
+ jQuery(this).removeClass("sub-menu");
459
+ jQuery(this).addClass("cbp-hssubmenu");
460
+ });
461
+ });
assets/js/frontend.min.js CHANGED
@@ -4,6 +4,43 @@
4
  *
5
  * Contains handlers for navigation and widget area.
6
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
 
8
  ( function( $ ) {
9
  var body, menuAreaPrimary, elmenuTogglePrimary, elementorPrimaryNavigation, elementorPrimaryHeaderMenu, resizeTimer;
@@ -129,7 +166,7 @@
129
  elmenuTogglePrimary.removeAttr( 'aria-controls' );
130
  }
131
  }
132
- } )( jQuery );
133
 
134
  // Start our Secondary navigation
135
  ( function( $ ) {
@@ -138,24 +175,24 @@
138
  function initElementorSecondaryNavigation( container ) {
139
 
140
  // Add dropdown toggle that displays child menu items.
141
- var eldropdownToggle = $( '<button />', {
142
  'class': 'eldropdown-toggle',
143
  'aria-expanded': false
144
  } ).append( $( '<span />', {
145
  'class': 'screen-reader-text',
146
- text: elementorScreenReaderText.expand
147
  } ) );
148
 
149
- container.find( '.menu-item-has-children > a' ).after( eldropdownToggle );
150
 
151
  // Toggle buttons and submenu items with active children menu items.
152
- container.find( '.current-menu-ancestor > button' ).addClass( 'eltoggled-on' );
153
- container.find( '.current-menu-ancestor > .sub-menu' ).addClass( 'eltoggled-on' );
154
 
155
  // Add menu items with submenus to aria-haspopup="true".
156
- container.find( '.menu-item-has-children' ).attr( 'aria-haspopup', 'true' );
157
 
158
- container.find( '.eldropdown-toggle' ).click( function( e ) {
159
  var _this = $( this ),
160
  screenReaderSpan = _this.find( '.screen-reader-text' );
161
 
@@ -166,7 +203,7 @@
166
  // jscs:disable
167
  _this.attr( 'aria-expanded', _this.attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );
168
  // jscs:enable
169
- screenReaderSpan.text( screenReaderSpan.text() === elementorScreenReaderText.expand ? elementorScreenReaderText.collapse : elementorScreenReaderText.expand );
170
  } );
171
  }
172
  initElementorSecondaryNavigation( $( '.elementor-navigation' ) );
@@ -256,4 +293,170 @@
256
  elmenuToggleSecondary.removeAttr( 'aria-controls' );
257
  }
258
  }
259
- } )( jQuery );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  *
5
  * Contains handlers for navigation and widget area.
6
  */
7
+
8
+ (function ($, root, undefined) {
9
+
10
+ $(document).ready(function() {
11
+
12
+ 'use strict';
13
+
14
+ var touch = $('#touch-menu');
15
+ var overlaymenu = $('.overlay-navigation');
16
+
17
+ $(touch).on('click', function(e) {
18
+ e.preventDefault();
19
+ overlaymenu.toggleClass("visible");
20
+ $('body').toggleClass("menu-open");
21
+ touch.toggleClass("on");
22
+ });
23
+
24
+ $(window).resize(function(){
25
+ var w = $(window).width();
26
+ if(w > 768 && overlaymenu.is(':hidden')) {
27
+ overlaymenu.removeAttr('style');
28
+ }
29
+ });
30
+
31
+ function fullWindow() {
32
+ $(".fullwindow").css("height", $(window).height());
33
+ };
34
+ fullWindow();
35
+
36
+ $(window).resize(function() {
37
+ fullWindow();
38
+ });
39
+
40
+ });
41
+
42
+ })(jQuery);
43
+
44
 
45
  ( function( $ ) {
46
  var body, menuAreaPrimary, elmenuTogglePrimary, elementorPrimaryNavigation, elementorPrimaryHeaderMenu, resizeTimer;
166
  elmenuTogglePrimary.removeAttr( 'aria-controls' );
167
  }
168
  }
169
+
170
 
171
  // Start our Secondary navigation
172
  ( function( $ ) {
175
  function initElementorSecondaryNavigation( container ) {
176
 
177
  // Add dropdown toggle that displays child menu items.
178
+ var eldropdownSecondaryToggle = $( '<button />', {
179
  'class': 'eldropdown-toggle',
180
  'aria-expanded': false
181
  } ).append( $( '<span />', {
182
  'class': 'screen-reader-text',
183
+ text: elementorSecondaryScreenReaderText.expand
184
  } ) );
185
 
186
+ container.find( '#elementor-header-secondary .menu-item-has-children > a' ).after( eldropdownSecondaryToggle );
187
 
188
  // Toggle buttons and submenu items with active children menu items.
189
+ container.find( '#elementor-header-secondary .current-menu-ancestor > button' ).addClass( 'eltoggled-on' );
190
+ container.find( '#elementor-header-secondary .current-menu-ancestor > .sub-menu' ).addClass( 'eltoggled-on' );
191
 
192
  // Add menu items with submenus to aria-haspopup="true".
193
+ container.find( '#elementor-header-secondary .menu-item-has-children' ).attr( 'aria-haspopup', 'true' );
194
 
195
+ container.find( '#elementor-header-secondary .eldropdown-toggle' ).click( function( e ) {
196
  var _this = $( this ),
197
  screenReaderSpan = _this.find( '.screen-reader-text' );
198
 
203
  // jscs:disable
204
  _this.attr( 'aria-expanded', _this.attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );
205
  // jscs:enable
206
+ screenReaderSpan.text( screenReaderSpan.text() === elementorSecondaryScreenReaderText.expand ? elementorSecondaryScreenReaderText.collapse : elementorSecondaryScreenReaderText.expand );
207
  } );
208
  }
209
  initElementorSecondaryNavigation( $( '.elementor-navigation' ) );
293
  elmenuToggleSecondary.removeAttr( 'aria-controls' );
294
  }
295
  }
296
+
297
+ //// Search slideOut
298
+ function slideOut(parent) {
299
+ $(parent).each(function(){
300
+ var label = $(this).find('.label'),
301
+ form = $(this).find('.form'),
302
+ dismiss = $(this).find('.dismiss'),
303
+ formMarginLeft = form.css('margin-left'),
304
+ spd = 500;
305
+
306
+ label.click(function(){
307
+ form.animate({'margin-left':0},spd)
308
+ label.hide()
309
+ label.animate({'opacity':0},spd)
310
+ setTimeout(function(){
311
+ dismiss.show()
312
+ dismiss.animate({'opacity':1},spd)
313
+ },spd)
314
+ })
315
+
316
+ dismiss.click(function(){
317
+ form.animate({'margin-left':formMarginLeft},spd)
318
+ dismiss.hide()
319
+ dismiss.animate({'opacity':0},spd)
320
+ setTimeout(function(){
321
+ label.show()
322
+ label.animate({'opacity':1},spd)
323
+ },spd)
324
+ })
325
+ })
326
+ }
327
+
328
+ slideOut('.search');
329
+ } )( jQuery );
330
+
331
+ (function ($, el, root, undefined) {
332
+
333
+ var document = window.document;
334
+ 'use strict';
335
+
336
+ function extend( a, b ) {
337
+ for( var key in b ) {
338
+ if( b.hasOwnProperty( key ) ) {
339
+ a[key] = b[key];
340
+ }
341
+ }
342
+ return a;
343
+ }
344
+
345
+ function cbpHorizontalSlideOutMenu( el, options ) {
346
+ this.el = el;
347
+ this.options = extend( this.defaults, options );
348
+ this._init();
349
+ }
350
+
351
+ cbpHorizontalSlideOutMenu.prototype = {
352
+
353
+ defaults : {},
354
+ _init : function() {
355
+
356
+ this.current = -1;
357
+ this.touch = Modernizr.touch;
358
+ this.menu = this.el.querySelector( '.cbp-hsmenu' );
359
+ this.menuItems = this.el.querySelectorAll( '.cbp-hsmenu > li' );
360
+ this.menuBg = document.createElement( 'div' );
361
+ this.menuBg.className = 'cbp-hsmenubg';
362
+ this.el.appendChild( this.menuBg );
363
+ this._initEvents();
364
+ },
365
+ _openMenu : function( el, ev ) {
366
+
367
+ var self = this,
368
+ item = el.parentNode,
369
+ items = Array.prototype.slice.call( this.menuItems ),
370
+ submenu = item.querySelector( '.cbp-hssubmenu' ),
371
+ closeCurrent = function( current ) {
372
+ var current = current || self.menuItems[ self.current ];
373
+ current.className = '';
374
+ current.setAttribute( 'data-open', '' );
375
+ },
376
+ closePanel = function() {
377
+ self.current = -1;
378
+ self.menuBg.style.height = '0px';
379
+ };
380
+
381
+ if( submenu ) {
382
+
383
+ ev.preventDefault();
384
+
385
+ if( item.getAttribute( 'data-open' ) === 'open' ) {
386
+ closeCurrent( item );
387
+ closePanel();
388
+ }
389
+ else {
390
+ item.setAttribute( 'data-open', 'open' );
391
+ if( self.current !== -1 ) {
392
+ closeCurrent();
393
+ }
394
+ self.current = items.indexOf( item );
395
+ item.className = 'cbp-hsitem-open';
396
+ self.menuBg.style.height = submenu.offsetHeight + 'px';
397
+ }
398
+ }
399
+ else {
400
+ if( self.current !== -1 ) {
401
+ closeCurrent();
402
+ closePanel();
403
+ }
404
+ }
405
+
406
+ },
407
+ _initEvents : function() {
408
+
409
+ var self = this;
410
+
411
+ Array.prototype.slice.call( this.menuItems ).forEach( function( el, i ) {
412
+ var trigger = el.querySelector( 'a' );
413
+ if( self.touch ) {
414
+ trigger.addEventListener( 'touchstart', function( ev ) { self._openMenu( this, ev ); } );
415
+ }
416
+ else {
417
+ trigger.addEventListener( 'click', function( ev ) { self._openMenu( this, ev ); } );
418
+ }
419
+ } );
420
+
421
+ window.addEventListener( 'resize', function( ev ) { self._resizeHandler(); } );
422
+
423
+ },
424
+ // taken from https://github.com/desandro/vanilla-masonry/blob/master/masonry.js by David DeSandro
425
+ // original debounce by John Hann
426
+ // http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
427
+ _resizeHandler : function() {
428
+ var self = this;
429
+ function delayed() {
430
+ self._resize();
431
+ self._resizeTimeout = null;
432
+ }
433
+
434
+ if ( this._resizeTimeout ) {
435
+ clearTimeout( this._resizeTimeout );
436
+ }
437
+
438
+ this._resizeTimeout = setTimeout( delayed, 50 );
439
+ },
440
+ _resize : function() {
441
+ if( this.current !== -1 ) {
442
+ this.menuBg.style.height = this.menuItems[ this.current ].querySelector( '.cbp-hssubmenu' ).offsetHeight + 'px';
443
+ }
444
+ }
445
+ }
446
+
447
+ // add to global namespace
448
+ window.cbpHorizontalSlideOutMenu = cbpHorizontalSlideOutMenu;
449
+
450
+ var menu = new cbpHorizontalSlideOutMenu( document.getElementById( 'cbp-hsmenu-wrapper' ) );
451
+
452
+ })(jQuery);
453
+
454
+
455
+ } )( jQuery);
456
+
457
+ jQuery(document).ready(function() {
458
+ jQuery("#cbp-hsmenu-wrapper ul.sub-menu").each(function(i){
459
+ jQuery(this).removeClass("sub-menu");
460
+ jQuery(this).addClass("cbp-hssubmenu");
461
+ });
462
+ });
assets/js/modernizr.custom.js ADDED
@@ -0,0 +1,4 @@
 
 
 
 
1
+ /* Modernizr 2.6.2 (Custom Build) | MIT & BSD
2
+ * Build: http://modernizr.com/download/#-generatedcontent-touch-shiv-cssclasses-teststyles-prefixes-load
3
+ */
4
+ ;window.Modernizr=function(a,b,c){function x(a){j.cssText=a}function y(a,b){return x(n.join(a+";")+(b||""))}function z(a,b){return typeof a===b}function A(a,b){return!!~(""+a).indexOf(b)}function B(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:z(f,"function")?f.bind(d||b):f}return!1}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l=":)",m={}.toString,n=" -webkit- -moz- -o- -ms- ".split(" "),o={},p={},q={},r=[],s=r.slice,t,u=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["&#173;",'<style id="s',h,'">',a,"</style>"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},v={}.hasOwnProperty,w;!z(v,"undefined")&&!z(v.call,"undefined")?w=function(a,b){return v.call(a,b)}:w=function(a,b){return b in a&&z(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=s.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(s.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(s.call(arguments)))};return e}),o.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:u(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},o.generatedcontent=function(){var a;return u(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a};for(var C in o)w(o,C)&&(t=C.toLowerCase(),e[t]=o[C](),r.push((e[t]?"":"no-")+t));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)w(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},x(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function p(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?n(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function q(a){a||(a=b);var c=m(a);return r.shivCSS&&!f&&!c.hasCSS&&(c.hasCSS=!!k(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),j||p(a,c),a}var c=a.html5||{},d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,e=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,f,g="_html5shiv",h=0,i={},j;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e.testStyles=u,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+r.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
elementor-navmenu.php CHANGED
@@ -1,10 +1,10 @@
1
  <?php
2
  /**
3
  * Plugin Name: NavMenu Addon For Elementor
4
- * Description: Adds new NavMenus to the Elementor Page Builder plugin. Now with Site Branding options
5
  * Plugin URI: https://wpdevhq.com/
6
  * Author: WPDevHQ
7
- * Version: 1.0.1
8
  * Author URI: https://wpdevhq.com/
9
  *
10
  * Text Domain: elementor-menus
@@ -69,7 +69,7 @@ function elementor_menus_fail_load() {
69
 
70
  $activation_url = wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . $plugin . '&amp;plugin_status=all&amp;paged=1&amp;s', 'activate-plugin_' . $plugin );
71
 
72
- $message = '<p>' . __( 'Elementor WooStore is not working because you need to activate the Elementor plugin.', 'elementor-menus' ) . '</p>';
73
  $message .= '<p>' . sprintf( '<a href="%s" class="button-primary">%s</a>', $activation_url, __( 'Activate Elementor Now', 'elementor-menus' ) ) . '</p>';
74
  } else {
75
  if ( ! current_user_can( 'install_plugins' ) ) {
@@ -78,7 +78,7 @@ function elementor_menus_fail_load() {
78
 
79
  $install_url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=elementor' ), 'install-plugin_elementor' );
80
 
81
- $message = '<p>' . __( 'Elementor WooStore is not working because you need to install the Elemenor plugin', 'elementor-menus' ) . '</p>';
82
  $message .= '<p>' . sprintf( '<a href="%s" class="button-primary">%s</a>', $install_url, __( 'Install Elementor Now', 'elementor-menus' ) ) . '</p>';
83
  }
84
 
@@ -93,7 +93,7 @@ function elementor_menus_fail_load_out_of_date() {
93
  $file_path = 'elementor/elementor.php';
94
 
95
  $upgrade_link = wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' ) . $file_path, 'upgrade-plugin_' . $file_path );
96
- $message = '<p>' . __( 'Elementor WooStore is not working because you are using an old version of Elementor.', 'elementor-menus' ) . '</p>';
97
  $message .= '<p>' . sprintf( '<a href="%s" class="button-primary">%s</a>', $upgrade_link, __( 'Update Elementor Now', 'elementor-menus' ) ) . '</p>';
98
 
99
  echo '<div class="error">' . $message . '</div>';
@@ -121,4 +121,56 @@ function menus_navbar_menu_choices() {
121
  $items[$menu->slug] = $menu->name;
122
  }
123
  return $items;
124
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
2
  /**
3
  * Plugin Name: NavMenu Addon For Elementor
4
+ * Description: Adds new NavMenus to the Elementor Page Builder plugin. Now with Site Branding options, search box, basic MegaMenu and Fullscreen Menu Overlay
5
  * Plugin URI: https://wpdevhq.com/
6
  * Author: WPDevHQ
7
+ * Version: 1.0.2
8
  * Author URI: https://wpdevhq.com/
9
  *
10
  * Text Domain: elementor-menus
69
 
70
  $activation_url = wp_nonce_url( 'plugins.php?action=activate&amp;plugin=' . $plugin . '&amp;plugin_status=all&amp;paged=1&amp;s', 'activate-plugin_' . $plugin );
71
 
72
+ $message = '<p>' . __( 'Elementor NavMenu is not working because you need to activate the Elementor plugin.', 'elementor-menus' ) . '</p>';
73
  $message .= '<p>' . sprintf( '<a href="%s" class="button-primary">%s</a>', $activation_url, __( 'Activate Elementor Now', 'elementor-menus' ) ) . '</p>';
74
  } else {
75
  if ( ! current_user_can( 'install_plugins' ) ) {
78
 
79
  $install_url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=elementor' ), 'install-plugin_elementor' );
80
 
81
+ $message = '<p>' . __( 'Elementor NavMenu is not working because you need to install the Elemenor plugin', 'elementor-menus' ) . '</p>';
82
  $message .= '<p>' . sprintf( '<a href="%s" class="button-primary">%s</a>', $install_url, __( 'Install Elementor Now', 'elementor-menus' ) ) . '</p>';
83
  }
84
 
93
  $file_path = 'elementor/elementor.php';
94
 
95
  $upgrade_link = wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' ) . $file_path, 'upgrade-plugin_' . $file_path );
96
+ $message = '<p>' . __( 'Elementor NavMenu is not working because you are using an old version of Elementor.', 'elementor-menus' ) . '</p>';
97
  $message .= '<p>' . sprintf( '<a href="%s" class="button-primary">%s</a>', $upgrade_link, __( 'Update Elementor Now', 'elementor-menus' ) ) . '</p>';
98
 
99
  echo '<div class="error">' . $message . '</div>';
121
  $items[$menu->slug] = $menu->name;
122
  }
123
  return $items;
124
+ }
125
+
126
+ remove_filter( 'nav_menu_description', 'strip_tags' );
127
+
128
+ /**
129
+ * Add descriptions to menu items
130
+ */
131
+ function navmenu_nav_description( $item_output, $item, $depth, $args ) {
132
+
133
+ if ( $args->theme_location != 'nav_mega_menu' )
134
+ return $item_output;
135
+
136
+ if ( $item->description ) {
137
+ $item_output = str_replace( $args->link_after . '</a>', '<div class="menu-item-description">' . $item->description . '</div>' . $args->link_after . '</a>', $item_output );
138
+ }
139
+
140
+ return $item_output;
141
+
142
+ }
143
+ add_filter( 'walker_nav_menu_start_el', 'navmenu_nav_description', 10, 4 );
144
+
145
+
146
+ add_filter( 'wp_nav_menu_objects', 'navmenu_thumb_filter_menu', 10, 2 );
147
+
148
+ function navmenu_thumb_filter_menu( $sorted_menu_objects, $args ) {
149
+
150
+ // check for the right menu to filter
151
+ if ( $args->theme_location != 'nav_mega_menu' )
152
+ return $sorted_menu_objects;
153
+ // edit the menu objects
154
+ foreach ( $sorted_menu_objects as $menu_object ) {
155
+ // searching for menu items linking to posts or pages
156
+ // can add as many post types to the array
157
+ if ( in_array($menu_object->object, array( 'post', 'page', 'product' )) ) {
158
+ // set the title to the post_thumbnail if available
159
+ // thumbnail size is the second parameter of get_the_post_thumbnail()
160
+ $menu_object->description = has_post_thumbnail( $menu_object->object_id ) ? get_the_post_thumbnail( $menu_object->object_id, 'medium' ) : $menu_object->description;
161
+ }
162
+ }
163
+
164
+ return $sorted_menu_objects;
165
+
166
+ }
167
+
168
+ function nav_menu_body_classes( $classes ) {
169
+
170
+ $classes[] = 'has-navmenu';
171
+ $classes[] = 'has-megamenu';
172
+
173
+ return $classes;
174
+ }
175
+ add_filter( 'body_class', 'nav_menu_body_classes' );
176
+
modules/menus/module.php CHANGED
@@ -20,6 +20,9 @@ class Module extends Module_Base {
20
  return [
21
  'Elementor_Branding',
22
  'Default_Navmenu',
 
 
 
23
  ];
24
  }
25
 
20
  return [
21
  'Elementor_Branding',
22
  'Default_Navmenu',
23
+ 'Navmenu_Overlay',
24
+ 'Mega_Menu',
25
+ 'Elementor_Search',
26
  ];
27
  }
28
 
modules/menus/widgets/default-navmenu.php CHANGED
@@ -72,7 +72,7 @@ class Default_Navmenu extends Widget_Base {
72
  $this->add_responsive_control(
73
  'align',
74
  [
75
- 'label' => __( 'Alignment', 'elementor-navmenu' ),
76
  'type' => Controls_Manager::CHOOSE,
77
  'options' => [
78
  'left' => [
@@ -91,17 +91,71 @@ class Default_Navmenu extends Widget_Base {
91
  'prefix_class' => 'elementor%s-align-',
92
  'default' => '',
93
  ]
94
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95
 
96
  $this->end_controls_section();
97
 
98
  $this->start_controls_section(
99
  'section_menu_style',
100
  [
101
- 'label' => __( 'Colors', 'elementor-navmenu' ),
102
  'tab' => Controls_Manager::TAB_STYLE,
103
  ]
104
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
 
106
  $this->add_control(
107
  'menu_link_color',
@@ -114,7 +168,7 @@ class Default_Navmenu extends Widget_Base {
114
  ],
115
  'default' => '#ffffff',
116
  'selectors' => [
117
- '{{WRAPPER}} .elementor-nav-menu a' => 'color: {{VALUE}};',
118
  ],
119
  ]
120
  );
@@ -136,31 +190,53 @@ class Default_Navmenu extends Widget_Base {
136
  );
137
 
138
  $this->add_control(
139
- 'menu_link_active_color',
140
  [
141
- 'label' => __( 'Active Color', 'elementor-navmenu' ),
142
  'type' => Controls_Manager::COLOR,
143
  'scheme' => [
144
  'type' => Scheme_Color::get_type(),
145
  'value' => Scheme_Color::COLOR_1,
146
  ],
147
  'selectors' => [
148
- '{{WRAPPER}} .elementor-nav-menu .current-menu-item > a, .elementor-nav-menu .current_page_item > a' => 'color: {{VALUE}};',
149
  ],
150
  ]
151
  );
152
 
153
  $this->add_control(
154
- 'link_active_bg_color',
155
  [
156
- 'label' => __( 'Active Background', 'elementor-navmenu' ),
157
  'type' => Controls_Manager::COLOR,
158
  'scheme' => [
159
  'type' => Scheme_Color::get_type(),
160
  'value' => Scheme_Color::COLOR_1,
161
  ],
162
  'selectors' => [
163
- '{{WRAPPER}} .elementor-nav-menu .current-menu-item > a, .elementor-nav-menu .current_page_item > a' => 'background-color: {{VALUE}};',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
164
  ],
165
  ]
166
  );
@@ -168,84 +244,187 @@ class Default_Navmenu extends Widget_Base {
168
  $this->end_controls_section();
169
 
170
  $this->start_controls_section(
171
- 'menu_hover',
172
  [
173
- 'label' => __( 'Hover Colors', 'elementor-navmenu' ),
174
  'type' => Controls_Manager::SECTION,
175
  'tab' => Controls_Manager::TAB_STYLE,
176
  ]
177
  );
178
 
179
  $this->add_control(
180
- 'menu_link_hover_color',
181
  [
182
- 'label' => __( 'Link Color', 'elementor-navmenu' ),
183
  'type' => Controls_Manager::COLOR,
184
  'scheme' => [
185
  'type' => Scheme_Color::get_type(),
186
  'value' => Scheme_Color::COLOR_1,
187
  ],
188
  'selectors' => [
189
- '{{WRAPPER}} .elementor-nav-menu .menu-item:hover a' => 'color: {{VALUE}};',
190
  ],
191
  ]
192
  );
193
 
194
  $this->add_control(
195
- 'link_hover_bg_color',
196
  [
197
- 'label' => __( 'Background Color', 'elementor-navmenu' ),
198
  'type' => Controls_Manager::COLOR,
199
  'scheme' => [
200
  'type' => Scheme_Color::get_type(),
201
  'value' => Scheme_Color::COLOR_1,
202
  ],
203
  'selectors' => [
204
- '{{WRAPPER}} .elementor-nav-menu .menu-item a:hover' => 'background-color: {{VALUE}};',
205
  ],
206
  ]
207
  );
208
 
209
- $this->end_controls_section();
210
-
211
- $this->start_controls_section(
212
- 'section_menu_borders',
213
  [
214
- 'label' => __( 'Menu Border', 'elementor-navmenu' ),
215
- 'tab' => Controls_Manager::TAB_STYLE,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
216
  ]
217
  );
218
 
219
  $this->add_group_control(
220
  Group_Control_Border::get_type(),
221
  [
222
- 'name' => 'border',
223
  'label' => __( 'Border', 'elementor-navmenu' ),
224
  'default' => '1px',
225
- 'selector' => '{{WRAPPER}} .elementor-nav-menu .menu-item a',
226
  ]
227
  );
228
 
229
  $this->add_control(
230
- 'border_radius',
231
  [
232
  'label' => __( 'Border Radius', 'elementor-navmenu' ),
233
  'type' => Controls_Manager::DIMENSIONS,
234
  'size_units' => [ 'px', '%' ],
235
  'selectors' => [
236
- '{{WRAPPER}} .elementor-nav-menu .menu-item a' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
237
  ],
238
  ]
239
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
240
 
241
  $this->add_control(
242
- 'text_padding',
243
  [
244
- 'label' => __( 'Text Padding - Default 1em', 'elementor-navmenu' ),
245
  'type' => Controls_Manager::DIMENSIONS,
246
- 'size_units' => [ 'px', 'em', '%' ],
247
  'selectors' => [
248
- '{{WRAPPER}} .elementor-navigation a' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
249
  ],
250
  ]
251
  );
@@ -270,6 +449,7 @@ class Default_Navmenu extends Widget_Base {
270
  'type' => Scheme_Color::get_type(),
271
  'value' => Scheme_Color::COLOR_1,
272
  ],
 
273
  'selectors' => [
274
  '{{WRAPPER}} .elementor-menu-toggle i.fa.fa-navicon' => 'color: {{VALUE}};',
275
  ],
@@ -285,6 +465,7 @@ class Default_Navmenu extends Widget_Base {
285
  'type' => Scheme_Color::get_type(),
286
  'value' => Scheme_Color::COLOR_1,
287
  ],
 
288
  'selectors' => [
289
  '{{WRAPPER}} .elementor-menu-toggle' => 'background-color: {{VALUE}};',
290
  ],
@@ -321,13 +502,15 @@ class Default_Navmenu extends Widget_Base {
321
  ]
322
  );
323
 
324
- $this->end_controls_section();
325
-
326
- $this->start_controls_section(
327
- 'section_toggle_borders',
328
  [
329
- 'label' => __( 'Toggle Border', 'elementor-navmenu' ),
330
- 'tab' => Controls_Manager::TAB_STYLE,
 
 
 
 
331
  ]
332
  );
333
 
@@ -351,19 +534,7 @@ class Default_Navmenu extends Widget_Base {
351
  '{{WRAPPER}} .elementor-menu-toggle' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
352
  ],
353
  ]
354
- );
355
-
356
- $this->add_control(
357
- 'toggle_text_padding',
358
- [
359
- 'label' => __( 'Text Padding - Default 1em', 'elementor' ),
360
- 'type' => Controls_Manager::DIMENSIONS,
361
- 'size_units' => [ 'px', 'em', '%' ],
362
- 'selectors' => [
363
- '{{WRAPPER}} .elementor-menu-toggle i.fa.fa-navicon' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
364
- ],
365
- ]
366
- );
367
 
368
  $this->end_controls_section();
369
 
@@ -404,6 +575,7 @@ class Default_Navmenu extends Widget_Base {
404
  'container' => false,
405
  'menu_id' => 'elementor-navmenu',
406
  'menu_class' => 'elementor-nav-menu',
 
407
  'menu' => $nav_menu,
408
  'echo' => true,
409
  'depth' => 0,
@@ -415,7 +587,7 @@ class Default_Navmenu extends Widget_Base {
415
  <button id="elementor-menu-toggle" class="elementor-menu-toggle"><i class="fa fa-navicon"></i></button>
416
  <div id="elementor-menu" class="elementor-menu">
417
 
418
- <nav id="elementor-navigation" class="elementor-navigation" role="navigation" aria-label="<?php esc_attr_e( 'Elementor Menu', 'elementor-navmenu' ); ?>">
419
  <?php
420
  wp_nav_menu( apply_filters(
421
  'widget_nav_menu_args',
72
  $this->add_responsive_control(
73
  'align',
74
  [
75
+ 'label' => __( 'Navbar/Toggle Alignment', 'elementor-navmenu' ),
76
  'type' => Controls_Manager::CHOOSE,
77
  'options' => [
78
  'left' => [
91
  'prefix_class' => 'elementor%s-align-',
92
  'default' => '',
93
  ]
94
+ );
95
+
96
+ $this->add_responsive_control(
97
+ 'item_align',
98
+ [
99
+ 'label' => __( 'Mobile Item Alignment', 'elementor-navmenu' ),
100
+ 'type' => Controls_Manager::CHOOSE,
101
+ 'options' => [
102
+ 'left' => [
103
+ 'title' => __( 'Left', 'elementor-navmenu' ),
104
+ 'icon' => 'fa fa-align-left',
105
+ ],
106
+ 'center' => [
107
+ 'title' => __( 'Center', 'elementor-woostore' ),
108
+ 'icon' => 'fa fa-align-center',
109
+ ],
110
+ 'right' => [
111
+ 'title' => __( 'Right', 'elementor-navmenu' ),
112
+ 'icon' => 'fa fa-align-right',
113
+ ],
114
+ ],
115
+ 'default' => '',
116
+ 'selectors' => [
117
+ '{{WRAPPER}} .elementor-navigation ul li, .elementor-navigation ul ul li' => 'text-align: {{VALUE}};',
118
+ ],
119
+ ]
120
+ );
121
+
122
+ $this->add_control(
123
+ 'text_padding',
124
+ [
125
+ 'label' => __( 'Text Padding - Default 1em', 'elementor-navmenu' ),
126
+ 'type' => Controls_Manager::DIMENSIONS,
127
+ 'size_units' => [ 'px', 'em', '%' ],
128
+ 'selectors' => [
129
+ '{{WRAPPER}} .elementor-navigation a' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
130
+ ],
131
+ ]
132
+ );
133
 
134
  $this->end_controls_section();
135
 
136
  $this->start_controls_section(
137
  'section_menu_style',
138
  [
139
+ 'label' => __( 'Navbar', 'elementor-navmenu' ),
140
  'tab' => Controls_Manager::TAB_STYLE,
141
  ]
142
  );
143
+
144
+ $this->add_control(
145
+ 'nav_bar_bg',
146
+ [
147
+ 'label' => __( 'Navbar Background', 'elementor-navmenu' ),
148
+ 'type' => Controls_Manager::COLOR,
149
+ 'scheme' => [
150
+ 'type' => Scheme_Color::get_type(),
151
+ 'value' => Scheme_Color::COLOR_1,
152
+ ],
153
+ 'default' => '#00215e',
154
+ 'selectors' => [
155
+ '{{WRAPPER}} .elementor-menu' => 'background-color: {{VALUE}};',
156
+ ],
157
+ ]
158
+ );
159
 
160
  $this->add_control(
161
  'menu_link_color',
168
  ],
169
  'default' => '#ffffff',
170
  'selectors' => [
171
+ '{{WRAPPER}} .elementor-nav-menu .menu-item a' => 'color: {{VALUE}};',
172
  ],
173
  ]
174
  );
190
  );
191
 
192
  $this->add_control(
193
+ 'menu_link_hover_color',
194
  [
195
+ 'label' => __( 'Link Color', 'elementor-navmenu' ),
196
  'type' => Controls_Manager::COLOR,
197
  'scheme' => [
198
  'type' => Scheme_Color::get_type(),
199
  'value' => Scheme_Color::COLOR_1,
200
  ],
201
  'selectors' => [
202
+ '{{WRAPPER}} .elementor-nav-menu .menu-item a:hover' => 'color: {{VALUE}};',
203
  ],
204
  ]
205
  );
206
 
207
  $this->add_control(
208
+ 'link_hover_bg_color',
209
  [
210
+ 'label' => __( 'Background Color', 'elementor-navmenu' ),
211
  'type' => Controls_Manager::COLOR,
212
  'scheme' => [
213
  'type' => Scheme_Color::get_type(),
214
  'value' => Scheme_Color::COLOR_1,
215
  ],
216
  'selectors' => [
217
+ '{{WRAPPER}} .elementor-nav-menu .menu-item a:hover' => 'background-color: {{VALUE}};',
218
+ ],
219
+ ]
220
+ );
221
+
222
+ $this->add_group_control(
223
+ Group_Control_Border::get_type(),
224
+ [
225
+ 'name' => 'menu_border',
226
+ 'label' => __( 'Border', 'elementor-navmenu' ),
227
+ 'default' => '1px',
228
+ 'selector' => '{{WRAPPER}} .elementor-nav-menu .menu-item a',
229
+ ]
230
+ );
231
+
232
+ $this->add_control(
233
+ 'menu_radius',
234
+ [
235
+ 'label' => __( 'Border Radius', 'elementor-navmenu' ),
236
+ 'type' => Controls_Manager::DIMENSIONS,
237
+ 'size_units' => [ 'px', '%' ],
238
+ 'selectors' => [
239
+ '{{WRAPPER}} .elementor-nav-menu .menu-item a' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
240
  ],
241
  ]
242
  );
244
  $this->end_controls_section();
245
 
246
  $this->start_controls_section(
247
+ 'active_color',
248
  [
249
+ 'label' => __( 'Current/Active', 'elementor-navmenu' ),
250
  'type' => Controls_Manager::SECTION,
251
  'tab' => Controls_Manager::TAB_STYLE,
252
  ]
253
  );
254
 
255
  $this->add_control(
256
+ 'menu_link_active_color',
257
  [
258
+ 'label' => __( 'Active Color', 'elementor-navmenu' ),
259
  'type' => Controls_Manager::COLOR,
260
  'scheme' => [
261
  'type' => Scheme_Color::get_type(),
262
  'value' => Scheme_Color::COLOR_1,
263
  ],
264
  'selectors' => [
265
+ '{{WRAPPER}} .elementor-nav-menu .current-menu-item > a, .elementor-nav-menu .current_page_item > a' => 'color: {{VALUE}};',
266
  ],
267
  ]
268
  );
269
 
270
  $this->add_control(
271
+ 'link_active_bg_color',
272
  [
273
+ 'label' => __( 'Active Background', 'elementor-navmenu' ),
274
  'type' => Controls_Manager::COLOR,
275
  'scheme' => [
276
  'type' => Scheme_Color::get_type(),
277
  'value' => Scheme_Color::COLOR_1,
278
  ],
279
  'selectors' => [
280
+ '{{WRAPPER}} .elementor-nav-menu .current-menu-item > a, .elementor-nav-menu .current_page_item > a' => 'background-color: {{VALUE}};',
281
  ],
282
  ]
283
  );
284
 
285
+ $this->add_control(
286
+ 'active_hover_color',
 
 
287
  [
288
+ 'label' => __( 'Active Link', 'elementor-navmenu' ),
289
+ 'type' => Controls_Manager::COLOR,
290
+ 'scheme' => [
291
+ 'type' => Scheme_Color::get_type(),
292
+ 'value' => Scheme_Color::COLOR_1,
293
+ ],
294
+ 'selectors' => [
295
+ '{{WRAPPER}} .elementor-nav-menu .current-menu-item > a:hover, .elementor-nav-menu .current_page_item > a:hover' => 'color: {{VALUE}};',
296
+ ],
297
+ ]
298
+ );
299
+
300
+ $this->add_control(
301
+ 'active_hover_bg_color',
302
+ [
303
+ 'label' => __( 'Active Background', 'elementor-navmenu' ),
304
+ 'type' => Controls_Manager::COLOR,
305
+ 'scheme' => [
306
+ 'type' => Scheme_Color::get_type(),
307
+ 'value' => Scheme_Color::COLOR_1,
308
+ ],
309
+ 'selectors' => [
310
+ '{{WRAPPER}} .elementor-nav-menu .current-menu-item > a:hover, .elementor-nav-menu .current_page_item > a:hover' => 'background-color: {{VALUE}};',
311
+ ],
312
  ]
313
  );
314
 
315
  $this->add_group_control(
316
  Group_Control_Border::get_type(),
317
  [
318
+ 'name' => 'active_border',
319
  'label' => __( 'Border', 'elementor-navmenu' ),
320
  'default' => '1px',
321
+ 'selector' => '{{WRAPPER}} .elementor-nav-menu .current-menu-item > a, .elementor-nav-menu .current_page_item > a',
322
  ]
323
  );
324
 
325
  $this->add_control(
326
+ 'active_radius',
327
  [
328
  'label' => __( 'Border Radius', 'elementor-navmenu' ),
329
  'type' => Controls_Manager::DIMENSIONS,
330
  'size_units' => [ 'px', '%' ],
331
  'selectors' => [
332
+ '{{WRAPPER}} .elementor-nav-menu .current-menu-item > a, .elementor-nav-menu .current_page_item > a' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
333
+ ],
334
+ ]
335
+ );
336
+
337
+ $this->end_controls_section();
338
+
339
+ $this->start_controls_section(
340
+ 'submenu_color',
341
+ [
342
+ 'label' => __( 'Submenu', 'elementor-navmenu' ),
343
+ 'type' => Controls_Manager::SECTION,
344
+ 'tab' => Controls_Manager::TAB_STYLE,
345
+ ]
346
+ );
347
+
348
+ $this->add_control(
349
+ 'submenu_link_color',
350
+ [
351
+ 'label' => __( 'Submenu Links', 'elementor-navmenu' ),
352
+ 'type' => Controls_Manager::COLOR,
353
+ 'scheme' => [
354
+ 'type' => Scheme_Color::get_type(),
355
+ 'value' => Scheme_Color::COLOR_1,
356
+ ],
357
+ 'default' => '#ffffff',
358
+ 'selectors' => [
359
+ '{{WRAPPER}} .elementor-nav-menu .sub-menu .menu-item a' => 'color: {{VALUE}};',
360
+ ],
361
+ ]
362
+ );
363
+
364
+ $this->add_control(
365
+ 'submenu_link_bg',
366
+ [
367
+ 'label' => __( 'Submenu Background', 'elementor-navmenu' ),
368
+ 'type' => Controls_Manager::COLOR,
369
+ 'scheme' => [
370
+ 'type' => Scheme_Color::get_type(),
371
+ 'value' => Scheme_Color::COLOR_1,
372
+ ],
373
+ 'default' => '#00215e',
374
+ 'selectors' => [
375
+ '{{WRAPPER}} .elementor-nav-menu .sub-menu .menu-item a' => 'background-color: {{VALUE}};',
376
+ ],
377
+ ]
378
+ );
379
+
380
+ $this->add_control(
381
+ 'submenu_link_hover',
382
+ [
383
+ 'label' => __( 'Submenu Link Hover', 'elementor-navmenu' ),
384
+ 'type' => Controls_Manager::COLOR,
385
+ 'scheme' => [
386
+ 'type' => Scheme_Color::get_type(),
387
+ 'value' => Scheme_Color::COLOR_1,
388
+ ],
389
+ 'selectors' => [
390
+ '{{WRAPPER}} .elementor-nav-menu .sub-menu .menu-item a:hover' => 'color: {{VALUE}};',
391
  ],
392
  ]
393
  );
394
+
395
+ $this->add_control(
396
+ 'submenu_hover_bg_color',
397
+ [
398
+ 'label' => __( 'Submenu Hover BG', 'elementor-navmenu' ),
399
+ 'type' => Controls_Manager::COLOR,
400
+ 'scheme' => [
401
+ 'type' => Scheme_Color::get_type(),
402
+ 'value' => Scheme_Color::COLOR_1,
403
+ ],
404
+ 'selectors' => [
405
+ '{{WRAPPER}} .elementor-nav-menu .sub-menu .menu-item a:hover' => 'background-color: {{VALUE}};',
406
+ ],
407
+ ]
408
+ );
409
+
410
+ $this->add_group_control(
411
+ Group_Control_Border::get_type(),
412
+ [
413
+ 'name' => 'submenu_border',
414
+ 'label' => __( 'Border', 'elementor-navmenu' ),
415
+ 'default' => '1px',
416
+ 'selector' => '{{WRAPPER}} .elementor-nav-menu .sub-menu .menu-item a',
417
+ ]
418
+ );
419
 
420
  $this->add_control(
421
+ 'submenu_radius',
422
  [
423
+ 'label' => __( 'Border Radius', 'elementor-navmenu' ),
424
  'type' => Controls_Manager::DIMENSIONS,
425
+ 'size_units' => [ 'px', '%' ],
426
  'selectors' => [
427
+ '{{WRAPPER}} .elementor-nav-menu .sub-menu .menu-item a' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
428
  ],
429
  ]
430
  );
449
  'type' => Scheme_Color::get_type(),
450
  'value' => Scheme_Color::COLOR_1,
451
  ],
452
+ 'default' => '#ffffff',
453
  'selectors' => [
454
  '{{WRAPPER}} .elementor-menu-toggle i.fa.fa-navicon' => 'color: {{VALUE}};',
455
  ],
465
  'type' => Scheme_Color::get_type(),
466
  'value' => Scheme_Color::COLOR_1,
467
  ],
468
+ 'default' => '#333333',
469
  'selectors' => [
470
  '{{WRAPPER}} .elementor-menu-toggle' => 'background-color: {{VALUE}};',
471
  ],
502
  ]
503
  );
504
 
505
+ $this->add_control(
506
+ 'toggle_text_padding',
 
 
507
  [
508
+ 'label' => __( 'Text Padding - Default 1em', 'elementor' ),
509
+ 'type' => Controls_Manager::DIMENSIONS,
510
+ 'size_units' => [ 'px', 'em', '%' ],
511
+ 'selectors' => [
512
+ '{{WRAPPER}} .elementor-menu-toggle i.fa.fa-navicon' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
513
+ ],
514
  ]
515
  );
516
 
534
  '{{WRAPPER}} .elementor-menu-toggle' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
535
  ],
536
  ]
537
+ );
 
 
 
 
 
 
 
 
 
 
 
 
538
 
539
  $this->end_controls_section();
540
 
575
  'container' => false,
576
  'menu_id' => 'elementor-navmenu',
577
  'menu_class' => 'elementor-nav-menu',
578
+ 'theme_location' => 'default_navmenu', // creating a fake location for better functional control
579
  'menu' => $nav_menu,
580
  'echo' => true,
581
  'depth' => 0,
587
  <button id="elementor-menu-toggle" class="elementor-menu-toggle"><i class="fa fa-navicon"></i></button>
588
  <div id="elementor-menu" class="elementor-menu">
589
 
590
+ <nav itemtype="http://schema.org/SiteNavigationElement" itemscope="itemscope" id="elementor-navigation" class="elementor-navigation" role="navigation" aria-label="<?php esc_attr_e( 'Elementor Menu', 'elementor-navmenu' ); ?>">
591
  <?php
592
  wp_nav_menu( apply_filters(
593
  'widget_nav_menu_args',
modules/menus/widgets/elementor-search.php ADDED
@@ -0,0 +1,200 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace ElementorMenus\Modules\Menus\Widgets;
3
+
4
+ use Elementor\Widget_Base;
5
+ use Elementor\Controls_Manager;
6
+ use Elementor\Group_Control_Border;
7
+ use Elementor\Group_Control_Typography;
8
+ use Elementor\Scheme_Color;
9
+ use Elementor\Scheme_Typography;
10
+
11
+ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
12
+
13
+ /**
14
+ * Elementor Elementor Navbar
15
+ *
16
+ * Elementor widget for hello world.
17
+ *
18
+ * @since 1.0.0
19
+ */
20
+ class Elementor_Search extends Widget_Base {
21
+
22
+ public function get_name() {
23
+ return 'elementor-search';
24
+ }
25
+
26
+ public function get_title() {
27
+ return __( 'Search Box', 'elementor-navmenu' );
28
+ }
29
+
30
+ public function get_icon() {
31
+ return 'eicon-search';
32
+ }
33
+
34
+ public function get_categories() {
35
+ return [ 'branding-elements' ];
36
+ }
37
+
38
+ protected function _register_controls() {
39
+ //$menus = $this->get_menus();
40
+
41
+ $this->start_controls_section(
42
+ 'section_content',
43
+ [
44
+ 'label' => __( 'Search', 'elementor-navmenu' ),
45
+ ]
46
+ );
47
+
48
+ $this->add_responsive_control(
49
+ 'align',
50
+ [
51
+ 'label' => __( 'Alignment', 'elementor-navmenu' ),
52
+ 'type' => Controls_Manager::CHOOSE,
53
+ 'options' => [
54
+ 'left' => [
55
+ 'title' => __( 'Left', 'elementor-navmenu' ),
56
+ 'icon' => 'fa fa-align-left',
57
+ ],
58
+ 'center' => [
59
+ 'title' => __( 'Center', 'elementor-navmenu' ),
60
+ 'icon' => 'fa fa-align-center',
61
+ ],
62
+ 'right' => [
63
+ 'title' => __( 'Right', 'elementor-navmenu' ),
64
+ 'icon' => 'fa fa-align-right',
65
+ ],
66
+ ],
67
+ 'prefix_class' => 'elementor%s-align-',
68
+ 'default' => '',
69
+ ]
70
+ );
71
+
72
+ $this->add_group_control(
73
+ Group_Control_Typography::get_type(),
74
+ [
75
+ 'name' => 'search_typography',
76
+ 'label' => __( 'Typography', 'elementor-navmenu' ),
77
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
78
+ 'selector' => '{{WRAPPER}} .elementor-search',
79
+ ]
80
+ );
81
+
82
+ $this->end_controls_section();
83
+
84
+ $this->start_controls_section(
85
+ 'section_search_style',
86
+ [
87
+ 'label' => __( 'Search', 'elementor-navmenu' ),
88
+ 'tab' => Controls_Manager::TAB_STYLE,
89
+ ]
90
+ );
91
+
92
+ $this->add_control(
93
+ 'search_text_color',
94
+ [
95
+ 'label' => __( 'Box Color', 'elementor-navmenu' ),
96
+ 'type' => Controls_Manager::COLOR,
97
+ 'scheme' => [
98
+ 'type' => Scheme_Color::get_type(),
99
+ 'value' => Scheme_Color::COLOR_1,
100
+ ],
101
+ 'default' => '#333333',
102
+ 'selectors' => [
103
+ '{{WRAPPER}} .elementor-search, .elementor-search textarea, .elementor-search input' => 'color: {{VALUE}};',
104
+ ],
105
+ ]
106
+ );
107
+
108
+ $this->add_control(
109
+ 'search_bg_color',
110
+ [
111
+ 'label' => __( 'Box Background', 'elementor-navmenu' ),
112
+ 'type' => Controls_Manager::COLOR,
113
+ 'scheme' => [
114
+ 'type' => Scheme_Color::get_type(),
115
+ 'value' => Scheme_Color::COLOR_1,
116
+ ],
117
+ 'default' => '#ffffff',
118
+ 'selectors' => [
119
+ '{{WRAPPER}} .elementor-search' => 'background-color: {{VALUE}};',
120
+ ],
121
+ ]
122
+ );
123
+
124
+ $this->add_control(
125
+ 'box_padding',
126
+ [
127
+ 'label' => __( 'Search Padding', 'elementor-navmenu' ),
128
+ 'type' => Controls_Manager::DIMENSIONS,
129
+ 'size_units' => [ 'px', 'em', '%' ],
130
+ 'selectors' => [
131
+ '{{WRAPPER}} .elementor-search' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
132
+ ],
133
+ ]
134
+ );
135
+
136
+ $this->end_controls_section();
137
+
138
+ $this->start_controls_section(
139
+ 'section_search_borders',
140
+ [
141
+ 'label' => __( 'Border', 'elementor-navmenu' ),
142
+ 'tab' => Controls_Manager::TAB_STYLE,
143
+ ]
144
+ );
145
+
146
+ $this->add_group_control(
147
+ Group_Control_Border::get_type(),
148
+ [
149
+ 'name' => 'border',
150
+ 'label' => __( 'Border', 'elementor-navmenu' ),
151
+ 'default' => '1px',
152
+ 'selector' => '{{WRAPPER}} .elementor-search',
153
+ ]
154
+ );
155
+
156
+ $this->add_control(
157
+ 'border_radius',
158
+ [
159
+ 'label' => __( 'Border Radius', 'elementor-navmenu' ),
160
+ 'type' => Controls_Manager::DIMENSIONS,
161
+ 'size_units' => [ 'px', '%' ],
162
+ 'selectors' => [
163
+ '{{WRAPPER}} .elementor-search' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
164
+ ],
165
+ ]
166
+ );
167
+
168
+ $this->end_controls_section();
169
+
170
+ }
171
+
172
+ protected function render() {
173
+
174
+ $settings = $this->get_settings(); ?>
175
+
176
+ <div class="elementor-search">
177
+ <div class="search cf">
178
+ <div class="form">
179
+ <form method="get" class="search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
180
+ <label>
181
+ <span class="screen-reader-text"><?php apply_filters( 'elementor_search_label', _ex( 'Search:', 'label', 'elementor-navmenu' ) ); ?></span>
182
+ <input type="search" class="input search-field" placeholder="<?php echo apply_filters( 'elementor_search_placeholder', _x( 'Type keyword & hit enter to search;', 'placeholder', 'elementor-navmenu' ) ); ?>" value="<?php echo esc_attr( get_search_query() ); ?>" name="s" title="<?php apply_filters( 'elementor_search_label', _ex( 'Search for:', 'label', 'elementor-navmenu' ) ); ?>">
183
+ </label>
184
+ <input type="submit" class="btn fa" value="">
185
+ </form>
186
+ </div>
187
+ <div class="label">
188
+ <i class="fa fa-search ib-m"></i>
189
+ <span class="ib-m"><?php apply_filters( 'elementor_search_label', _ex( 'Search:', 'label', 'elementor-navmenu' ) ); ?></span>
190
+ </div>
191
+ <div class="dismiss">
192
+ <i class="fa fa-times ib-m"></i>
193
+ </div>
194
+ </div>
195
+ </div>
196
+ <?php
197
+ }
198
+
199
+ protected function _content_template() {}
200
+ }
modules/menus/widgets/mega-menu.php ADDED
@@ -0,0 +1,265 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace ElementorMenus\Modules\Menus\Widgets;
3
+
4
+ use Elementor\Widget_Base;
5
+ use Elementor\Controls_Manager;
6
+ use Elementor\Group_Control_Border;
7
+ use Elementor\Group_Control_Typography;
8
+ use Elementor\Scheme_Color;
9
+ use Elementor\Scheme_Typography;
10
+
11
+ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
12
+
13
+ /**
14
+ * Elementor Starter Widget
15
+ *
16
+ * Elementor widget for hello world.
17
+ *
18
+ * @since 1.0.0
19
+ */
20
+ class Mega_Menu extends Widget_Base {
21
+
22
+ public function get_name() {
23
+ return 'mega-menu';
24
+ }
25
+
26
+ public function get_title() {
27
+ return __( 'Mega Menu', 'elementor-navmenu' );
28
+ }
29
+
30
+ public function get_icon() {
31
+ return 'eicon-menu';
32
+ }
33
+
34
+ public function get_categories() {
35
+ return [ 'branding-elements' ];
36
+ }
37
+
38
+ protected function _register_controls() {
39
+
40
+ $this->start_controls_section(
41
+ 'navbar_content',
42
+ [
43
+ 'label' => __( 'Navbar Content', 'elementor-navmenu' ),
44
+ ]
45
+ );
46
+
47
+ $this->add_control(
48
+ 'el_mega_menu',
49
+ [
50
+ 'label' => __( 'Select Menu', 'elementor-navmenu' ),
51
+ 'type' => Controls_Manager::SELECT,
52
+ 'options' => menus_navbar_menu_choices(),
53
+ 'default' => '',
54
+ ]
55
+ );
56
+
57
+ $this->add_responsive_control(
58
+ 'align',
59
+ [
60
+ 'label' => __( 'Alignment', 'elementor-navmenu' ),
61
+ 'type' => Controls_Manager::CHOOSE,
62
+ 'options' => [
63
+ 'left' => [
64
+ 'title' => __( 'Left', 'elementor-navmenu' ),
65
+ 'icon' => 'fa fa-align-left',
66
+ ],
67
+ 'center' => [
68
+ 'title' => __( 'Center', 'elementor-navmenu' ),
69
+ 'icon' => 'fa fa-align-center',
70
+ ],
71
+ 'right' => [
72
+ 'title' => __( 'Right', 'elementor-navmenu' ),
73
+ 'icon' => 'fa fa-align-right',
74
+ ],
75
+ ],
76
+ 'prefix_class' => 'elementor%s-align-',
77
+ 'default' => '',
78
+ ]
79
+ );
80
+
81
+ $this->add_group_control(
82
+ Group_Control_Typography::get_type(),
83
+ [
84
+ 'name' => 'navbar_typography',
85
+ 'label' => __( 'Typography', 'elementor-navmenu' ),
86
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
87
+ 'selector' => '{{WRAPPER}} .cbp-hsmenu',
88
+ ]
89
+ );
90
+
91
+ $this->end_controls_section();
92
+
93
+ $this->start_controls_section(
94
+ 'megamenu_content',
95
+ [
96
+ 'label' => __( 'MegaMenu Content', 'elementor-navmenu' ),
97
+ ]
98
+ );
99
+
100
+ $this->add_group_control(
101
+ Group_Control_Typography::get_type(),
102
+ [
103
+ 'name' => 'megamenu_typography',
104
+ 'label' => __( 'Typography', 'elementor-navmenu' ),
105
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
106
+ 'selector' => '{{WRAPPER}} .cbp-hssubmenu',
107
+ ]
108
+ );
109
+
110
+ $this->end_controls_section();
111
+
112
+ $this->start_controls_section(
113
+ 'navbar_style',
114
+ [
115
+ 'label' => __( 'NavBar', 'elementor-navmenu' ),
116
+ 'tab' => Controls_Manager::TAB_STYLE,
117
+ ]
118
+ );
119
+
120
+ $this->add_control(
121
+ 'navbar_color',
122
+ [
123
+ 'label' => __( 'Color', 'elementor-navmenu' ),
124
+ 'type' => Controls_Manager::COLOR,
125
+ 'scheme' => [
126
+ 'type' => Scheme_Color::get_type(),
127
+ 'value' => Scheme_Color::COLOR_1,
128
+ ],
129
+ 'default' => '#ffffff',
130
+ 'selectors' => [
131
+ '{{WRAPPER}} .cbp-hsmenu > li > a' => 'color: {{VALUE}};',
132
+ ],
133
+ ]
134
+ );
135
+
136
+ $this->add_control(
137
+ 'navbar_bg_color',
138
+ [
139
+ 'label' => __( 'Background', 'elementor-navmenu' ),
140
+ 'type' => Controls_Manager::COLOR,
141
+ 'scheme' => [
142
+ 'type' => Scheme_Color::get_type(),
143
+ 'value' => Scheme_Color::COLOR_1,
144
+ ],
145
+ 'default' => '#00275e',
146
+ 'selectors' => [
147
+ '{{WRAPPER}} .cbp-hsinner' => 'background-color: {{VALUE}};',
148
+ ],
149
+ ]
150
+ );
151
+
152
+ $this->add_control(
153
+ 'navbar_padding',
154
+ [
155
+ 'label' => __( 'Padding', 'elementor-navmenu' ),
156
+ 'type' => Controls_Manager::DIMENSIONS,
157
+ 'size_units' => [ 'px', 'em', '%' ],
158
+ 'selectors' => [
159
+ '{{WRAPPER}} .cbp-hsmenu > li > a' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
160
+ ],
161
+ ]
162
+ );
163
+
164
+ $this->end_controls_section();
165
+
166
+ $this->start_controls_section(
167
+ 'megamenu_style',
168
+ [
169
+ 'label' => __( 'MegaMenu', 'elementor-navmenu' ),'tab' => Controls_Manager::TAB_STYLE,
170
+ ]
171
+ );
172
+
173
+ $this->add_control(
174
+ 'megamenu_color',
175
+ [
176
+ 'label' => __( 'Color', 'elementor-navmenu' ),
177
+ 'type' => Controls_Manager::COLOR,
178
+ 'scheme' => [
179
+ 'type' => Scheme_Color::get_type(),
180
+ 'value' => Scheme_Color::COLOR_1,
181
+ ],
182
+ 'default' => '#a2a2a2',
183
+ 'selectors' => [
184
+ '{{WRAPPER}} #cbp-hsmenu-wrapper ul.sub-menu > li a, .cbp-hssubmenu > li a' => 'color: {{VALUE}};',
185
+ ],
186
+ ]
187
+ );
188
+
189
+ $this->add_control(
190
+ 'megamenu_hover',
191
+ [
192
+ 'label' => __( 'hover', 'elementor-navmenu' ),
193
+ 'type' => Controls_Manager::COLOR,
194
+ 'scheme' => [
195
+ 'type' => Scheme_Color::get_type(),
196
+ 'value' => Scheme_Color::COLOR_1,
197
+ ],
198
+ 'default' => '#a2a2a2',
199
+ 'selectors' => [
200
+ '{{WRAPPER}} #cbp-hsmenu-wrapper ul.sub-menu > li a:hover, #cbp-hsmenu-wrapper ul.sub-menu li a:focus, .no-touch .cbp-hssubmenu > li a:hover, .no-touch .cbp-hssubmenu > li a:focus' => 'color: {{VALUE}};',
201
+ ],
202
+ ]
203
+ );
204
+
205
+ $this->add_control(
206
+ 'megamenu_bg_color',
207
+ [
208
+ 'label' => __( 'Background', 'elementor-navmenu' ),
209
+ 'type' => Controls_Manager::COLOR,
210
+ 'scheme' => [
211
+ 'type' => Scheme_Color::get_type(),
212
+ 'value' => Scheme_Color::COLOR_1,
213
+ ],
214
+ 'default' => '#f7f7f7',
215
+ 'selectors' => [
216
+ '{{WRAPPER}} .cbp-hsmenubg, .cbp-hsmenu > li.cbp-hsitem-open .cbp-hssubmenu' => 'background-color: {{VALUE}};',
217
+ ],
218
+ ]
219
+ );
220
+
221
+ $this->end_controls_section();
222
+
223
+ }
224
+
225
+ protected function render() {
226
+
227
+ $settings = $this->get_settings();
228
+ // Get menu
229
+ $mega_menu = ! empty( $settings['el_mega_menu'] ) ? wp_get_nav_menu_object( $settings['el_mega_menu'] ) : false;
230
+
231
+ if ( !$mega_menu )
232
+ return;
233
+
234
+ $args = array(
235
+ 'fallback_cb' => false,
236
+ 'container' => false,
237
+ 'before' => '',
238
+ 'after' => '',
239
+ 'menu_id' => 'mega-menu',
240
+ 'menu_class' => 'cbp-hsmenu',
241
+ 'theme_location' => 'nav_mega_menu', // creating a fake location for better functional control
242
+ 'menu' => $mega_menu,
243
+ 'echo' => true,
244
+ 'depth' => 0,
245
+ 'walker' => '',
246
+ );
247
+ ?>
248
+
249
+ <nav itemtype="http://schema.org/SiteNavigationElement" itemscope="itemscope" class="cbp-hsmenu-wrapper" id="cbp-hsmenu-wrapper">
250
+ <div class="cbp-hsinner">
251
+ <?php
252
+ wp_nav_menu( apply_filters(
253
+ 'widget_nav_menu_args',
254
+ $args,
255
+ $mega_menu,
256
+ $settings
257
+ ) );
258
+ ?>
259
+ </div>
260
+ </nav>
261
+ <?php
262
+ }
263
+
264
+ protected function _content_template() {}
265
+ }
modules/menus/widgets/navmenu-overlay.php ADDED
@@ -0,0 +1,259 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace ElementorMenus\Modules\Menus\Widgets;
3
+
4
+ use Elementor\Widget_Base;
5
+ use Elementor\Controls_Manager;
6
+ use Elementor\Group_Control_Border;
7
+ use Elementor\Group_Control_Typography;
8
+ use Elementor\Scheme_Color;
9
+ use Elementor\Scheme_Typography;
10
+
11
+ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
12
+
13
+ /**
14
+ * Elementor Overlay NavMenu
15
+ *
16
+ * Elementor widget for hello world.
17
+ *
18
+ * @since 1.0.0
19
+ */
20
+ class Navmenu_Overlay extends Widget_Base {
21
+
22
+ public function get_name() {
23
+ return 'navmenu-overlay';
24
+ }
25
+
26
+ public function get_title() {
27
+ return __( 'Overlay NavMenu', 'elementor-navmenu' );
28
+ }
29
+
30
+ public function get_icon() {
31
+ return 'eicon-menu';
32
+ }
33
+
34
+ public function get_categories() {
35
+ return [ 'branding-elements' ];
36
+ }
37
+
38
+ protected function _register_controls() {
39
+
40
+ $this->start_controls_section(
41
+ 'overlay_content',
42
+ [
43
+ 'label' => __( 'Menu', 'elementor-navmenu' ),
44
+ ]
45
+ );
46
+
47
+ $this->add_control(
48
+ 'el_overlay_menu',
49
+ [
50
+ 'label' => __( 'Select Menu', 'elementor-navmenu' ),
51
+ 'type' => Controls_Manager::SELECT,
52
+ 'options' => menus_navbar_menu_choices(),
53
+ 'default' => '',
54
+ ]
55
+ );
56
+
57
+ $this->add_responsive_control(
58
+ 'item_align',
59
+ [
60
+ 'label' => __( 'Item Alignment', 'elementor-navmenu' ),
61
+ 'type' => Controls_Manager::CHOOSE,
62
+ 'options' => [
63
+ 'left' => [
64
+ 'title' => __( 'Left', 'elementor-navmenu' ),
65
+ 'icon' => 'fa fa-align-left',
66
+ ],
67
+ 'center' => [
68
+ 'title' => __( 'Center', 'elementor-woostore' ),
69
+ 'icon' => 'fa fa-align-center',
70
+ ],
71
+ 'right' => [
72
+ 'title' => __( 'Right', 'elementor-navmenu' ),
73
+ 'icon' => 'fa fa-align-right',
74
+ ],
75
+ ],
76
+ 'default' => 'center',
77
+ 'selectors' => [
78
+ '{{WRAPPER}} .overlay-navigation ul li, .overlay-navigation ul ul li' => 'text-align: {{VALUE}};',
79
+ ],
80
+ ]
81
+ );
82
+
83
+ $this->add_group_control(
84
+ Group_Control_Typography::get_type(),
85
+ [
86
+ 'name' => 'search_typography',
87
+ 'label' => __( 'Typography', 'elementor-navmenu' ),
88
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
89
+ 'selector' => '{{WRAPPER}} .overlay-navigation a',
90
+ ]
91
+ );
92
+
93
+ $this->end_controls_section();
94
+
95
+ $this->start_controls_section(
96
+ 'section_style',
97
+ [
98
+ 'label' => __( 'Overlay Style', 'elementor-navmenu' ),
99
+ 'tab' => Controls_Manager::TAB_STYLE,
100
+ ]
101
+ );
102
+
103
+ $this->add_control(
104
+ 'item_color',
105
+ [
106
+ 'label' => __( 'Color', 'elementor-navmenu' ),
107
+ 'type' => Controls_Manager::COLOR,
108
+ 'scheme' => [
109
+ 'type' => Scheme_Color::get_type(),
110
+ 'value' => Scheme_Color::COLOR_1,
111
+ ],
112
+ 'default' => '#ffffff',
113
+ 'selectors' => [
114
+ '{{WRAPPER}} .overlay-navigation a' => 'color: {{VALUE}};',
115
+ ],
116
+ ]
117
+ );
118
+
119
+ $this->add_control(
120
+ 'item_hover',
121
+ [
122
+ 'label' => __( 'Hover', 'elementor-navmenu' ),
123
+ 'type' => Controls_Manager::COLOR,
124
+ 'scheme' => [
125
+ 'type' => Scheme_Color::get_type(),
126
+ 'value' => Scheme_Color::COLOR_1,
127
+ ],
128
+ 'default' => '#ffffff',
129
+ 'selectors' => [
130
+ '{{WRAPPER}} .overlay-navigation a:hover' => 'color: {{VALUE}};',
131
+ ],
132
+ ]
133
+ );
134
+
135
+ $this->add_control(
136
+ 'overlay_bg_color',
137
+ [
138
+ 'label' => __( 'Overlay Background', 'elementor-navmenu' ),
139
+ 'type' => Controls_Manager::COLOR,
140
+ 'scheme' => [
141
+ 'type' => Scheme_Color::get_type(),
142
+ 'value' => Scheme_Color::COLOR_1,
143
+ ],
144
+ 'default' => '',
145
+ 'selectors' => [
146
+ '{{WRAPPER}} .overlay-navigation' => 'background-color: {{VALUE}};',
147
+ ],
148
+ ]
149
+ );
150
+
151
+ $this->add_control(
152
+ 'section_padding',
153
+ [
154
+ 'label' => __( 'Padding', 'elementor-navmenu' ),
155
+ 'type' => Controls_Manager::DIMENSIONS,
156
+ 'size_units' => [ 'px', 'em', '%' ],
157
+ 'selectors' => [
158
+ '{{WRAPPER}} .overlay-navigation ul li' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
159
+ ],
160
+ ]
161
+ );
162
+
163
+ $this->end_controls_section();
164
+
165
+ $this->start_controls_section(
166
+ 'toggle_style',
167
+ [
168
+ 'label' => __( 'Toggle Style', 'elementor-navmenu' ),
169
+ 'tab' => Controls_Manager::TAB_STYLE,
170
+ ]
171
+ );
172
+
173
+ $this->add_control(
174
+ 'toggle_color',
175
+ [
176
+ 'label' => __( 'Color', 'elementor-navmenu' ),
177
+ 'type' => Controls_Manager::COLOR,
178
+ 'scheme' => [
179
+ 'type' => Scheme_Color::get_type(),
180
+ 'value' => Scheme_Color::COLOR_1,
181
+ ],
182
+ 'default' => '#ffffff',
183
+ 'selectors' => [
184
+ '{{WRAPPER}} #touch-menu span,#touch-menu span:after,#touch-menu span:before,#touch-menu.on span:before,#touch-menu.on span:after' => 'background-color: {{VALUE}};',
185
+ ],
186
+ ]
187
+ );
188
+
189
+ $this->add_control(
190
+ 'toggle_bg_color',
191
+ [
192
+ 'label' => __( 'Background', 'elementor-navmenu' ),
193
+ 'type' => Controls_Manager::COLOR,
194
+ 'scheme' => [
195
+ 'type' => Scheme_Color::get_type(),
196
+ 'value' => Scheme_Color::COLOR_1,
197
+ ],
198
+ 'default' => '#000000',
199
+ 'selectors' => [
200
+ '{{WRAPPER}} #touch-menu' => 'background-color: {{VALUE}};',
201
+ ],
202
+ ]
203
+ );
204
+
205
+ $this->add_control(
206
+ 'border_radius',
207
+ [
208
+ 'label' => __( 'Border Radius', 'elementor-navmenu' ),
209
+ 'type' => Controls_Manager::DIMENSIONS,
210
+ 'size_units' => [ 'px', '%' ],
211
+ 'selectors' => [
212
+ '{{WRAPPER}} #touch-menu' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
213
+ ],
214
+ ]
215
+ );
216
+
217
+ $this->end_controls_section();
218
+
219
+ }
220
+
221
+ protected function render() {
222
+
223
+ $settings = $this->get_settings();
224
+ // Get menu
225
+ $overlay_menu = ! empty( $settings['el_overlay_menu'] ) ? wp_get_nav_menu_object( $settings['el_overlay_menu'] ) : false;
226
+
227
+ if ( !$overlay_menu )
228
+ return;
229
+
230
+ $overlay_menu_args = array(
231
+ 'fallback_cb' => false,
232
+ 'container' => false,
233
+ 'menu_id' => '',
234
+ 'menu_class' => '',
235
+ 'theme_location' => 'nav_overlay_menu', // creating a fake location for better functional control
236
+ 'menu' => $overlay_menu,
237
+ 'echo' => true,
238
+ 'depth' => 1,
239
+ 'walker' => '',
240
+ );
241
+ ?>
242
+ <!--<div class="navmenu-overlay">-->
243
+ <span id="touch-menu" class="mobile-menu"><span></span></span>
244
+ <nav itemtype="http://schema.org/SiteNavigationElement" itemscope="itemscope" class="overlay-navigation" role="navigation" aria-label="<?php esc_attr_e( 'Elementor Menu', 'elementor-navmenu' ); ?>">
245
+ <?php
246
+ wp_nav_menu( apply_filters(
247
+ 'widget_nav_menu_args',
248
+ $overlay_menu_args,
249
+ $overlay_menu,
250
+ $settings
251
+ ) );
252
+ ?>
253
+ </nav>
254
+ <!--</div>-->
255
+ <?php
256
+ }
257
+
258
+ protected function _content_template() {}
259
+ }
plugin.php CHANGED
@@ -70,7 +70,7 @@ class Plugin {
70
  }
71
 
72
  private function _includes() {
73
- require ELEMENTOR_MENUS_PATH . 'includes/modules-manager.php';
74
 
75
  //if ( is_admin() ) {
76
  //require ELEMENTOR_MENUS_PATH . 'includes/admin.php';
@@ -125,7 +125,6 @@ class Plugin {
125
  'elementor-menus',
126
  ELEMENTOR_MENUS_URL . 'assets/css/frontend' . $direction_suffix . $suffix . '.css',
127
  [],
128
- //Plugin::instance()->get_version()
129
  ELEMENTOR_MENUS_VERSION
130
  );
131
 
@@ -134,7 +133,6 @@ class Plugin {
134
  'elementor-menus-admin',
135
  ELEMENTOR_MENUS_URL . 'assets/css/admin' . $direction_suffix . $suffix . '.css',
136
  [],
137
- //Plugin::instance()->get_version()
138
  ELEMENTOR_MENUS_VERSION
139
  );
140
  }
@@ -142,6 +140,16 @@ class Plugin {
142
 
143
  public function enqueue_scripts() {
144
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
 
 
 
 
 
 
 
 
 
 
145
 
146
  wp_enqueue_script(
147
  'elementor-menus-frontend',
@@ -164,12 +172,24 @@ class Plugin {
164
  }
165
 
166
  public function enqueue_panel_scripts() {
167
- $suffix = Utils::is_script_debug() ? '' : '.min';
 
 
 
 
 
 
 
 
 
 
 
168
 
169
  wp_enqueue_script(
170
  'elementor-menus',
171
  ELEMENTOR_MENUS_URL . 'assets/js/editor' . $suffix . '.js',
172
  [
 
173
  'backbone-marionette',
174
  ],
175
  ELEMENTOR_MENUS_VERSION,
@@ -191,7 +211,7 @@ class Plugin {
191
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
192
 
193
  wp_enqueue_style(
194
- 'elementor-menus',
195
  ELEMENTOR_MENUS_URL . 'assets/css/editor' . $suffix . '.css',
196
  [
197
  'elementor-editor'
@@ -207,6 +227,13 @@ class Plugin {
207
  ) );
208
  }
209
 
 
 
 
 
 
 
 
210
  public function enqueue_panel_default_scripts() {
211
  wp_localize_script( 'elementor-menus', 'elementorScreenReaderText', array(
212
  'expand' => __( 'expand child menu', 'elementor-menus' ),
@@ -237,6 +264,7 @@ class Plugin {
237
 
238
  add_action( 'elementor/frontend/before_enqueue_scripts', [ $this, 'enqueue_scripts' ], 999 );
239
  add_action( 'elementor/frontend/before_enqueue_scripts', [ $this, 'enqueue_default_scripts' ], 999 );
 
240
  add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_styles' ], 998 );
241
  }
242
 
70
  }
71
 
72
  private function _includes() {
73
+ require ELEMENTOR_MENUS_PATH . 'includes/modules-manager.php';
74
 
75
  //if ( is_admin() ) {
76
  //require ELEMENTOR_MENUS_PATH . 'includes/admin.php';
125
  'elementor-menus',
126
  ELEMENTOR_MENUS_URL . 'assets/css/frontend' . $direction_suffix . $suffix . '.css',
127
  [],
 
128
  ELEMENTOR_MENUS_VERSION
129
  );
130
 
133
  'elementor-menus-admin',
134
  ELEMENTOR_MENUS_URL . 'assets/css/admin' . $direction_suffix . $suffix . '.css',
135
  [],
 
136
  ELEMENTOR_MENUS_VERSION
137
  );
138
  }
140
 
141
  public function enqueue_scripts() {
142
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
143
+
144
+ wp_enqueue_script(
145
+ 'elementor-menus-modernizer',
146
+ ELEMENTOR_MENUS_URL . 'assets/js/modernizr.custom.js',
147
+ [
148
+ 'jquery',
149
+ ],
150
+ ELEMENTOR_MENUS_VERSION,
151
+ false
152
+ );
153
 
154
  wp_enqueue_script(
155
  'elementor-menus-frontend',
172
  }
173
 
174
  public function enqueue_panel_scripts() {
175
+ //$suffix = Utils::is_script_debug() ? '' : '.min';
176
+ $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
177
+
178
+ wp_enqueue_script(
179
+ 'elementor-menus-modernizer',
180
+ ELEMENTOR_MENUS_URL . 'assets/js/modernizr.custom.js',
181
+ [
182
+ //'jquery',
183
+ ],
184
+ ELEMENTOR_MENUS_VERSION,
185
+ false
186
+ );
187
 
188
  wp_enqueue_script(
189
  'elementor-menus',
190
  ELEMENTOR_MENUS_URL . 'assets/js/editor' . $suffix . '.js',
191
  [
192
+ 'jquery',
193
  'backbone-marionette',
194
  ],
195
  ELEMENTOR_MENUS_VERSION,
211
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
212
 
213
  wp_enqueue_style(
214
+ 'elementor-menus-editor',
215
  ELEMENTOR_MENUS_URL . 'assets/css/editor' . $suffix . '.css',
216
  [
217
  'elementor-editor'
227
  ) );
228
  }
229
 
230
+ public function enqueue_default_secondary_scripts() {
231
+ wp_localize_script( 'elementor-menus-frontend', 'elementorSecondaryScreenReaderText', array(
232
+ 'expand' => __( 'expand child menu', 'elementor-menus' ),
233
+ 'collapse' => __( 'collapse child menu', 'elementor-menus' ),
234
+ ) );
235
+ }
236
+
237
  public function enqueue_panel_default_scripts() {
238
  wp_localize_script( 'elementor-menus', 'elementorScreenReaderText', array(
239
  'expand' => __( 'expand child menu', 'elementor-menus' ),
264
 
265
  add_action( 'elementor/frontend/before_enqueue_scripts', [ $this, 'enqueue_scripts' ], 999 );
266
  add_action( 'elementor/frontend/before_enqueue_scripts', [ $this, 'enqueue_default_scripts' ], 999 );
267
+ add_action( 'elementor/frontend/before_enqueue_scripts', [ $this, 'enqueue_default_secondary_scripts' ], 999 );
268
  add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_styles' ], 998 );
269
  }
270
 
readme.txt CHANGED
@@ -3,15 +3,15 @@
3
  Contributors: WPDevHQ
4
  Tags: elementor, pagebuilder, page builder, page builder menu, page builder navmenu, menu builder, builder navigation menus, navigation, menus, navmenu, nav menu
5
  Requires at least: 4.4
6
- Tested up to: 4.7.2
7
- Stable tag: 1.0.1
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
11
  Adds new NavMenus to the Elementor Page Builder plugin. Now with Site Branding options
12
 
13
  == Description ==
14
- Custom WordPress navmenu specifically designed for the [Elementor Page Builder](https://wordpress.org/plugins/elementor/) - Now with Branding and menu location selectors
15
 
16
  == Installation ==
17
  * These instructions assumes you already have a WordPress site and the Elementor plugin installed and activated. Also, it is assumed that you already have at least a menu created.
@@ -44,9 +44,27 @@ Done! :)
44
  == Screenshots ==
45
 
46
  1. Header With Twin Navigation.
 
 
 
 
 
 
 
 
47
 
48
  == Changelog ==
49
 
 
 
 
 
 
 
 
 
 
 
50
  = 1.0.1 =
51
  * NEW: Revised the plugin structure to me more modular and facilitate more element additions.
52
  * NEW: Created a plugin specific elements category.
3
  Contributors: WPDevHQ
4
  Tags: elementor, pagebuilder, page builder, page builder menu, page builder navmenu, menu builder, builder navigation menus, navigation, menus, navmenu, nav menu
5
  Requires at least: 4.4
6
+ Tested up to: 4.7.3
7
+ Stable tag: 1.0.2
8
  License: GPLv3
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
10
 
11
  Adds new NavMenus to the Elementor Page Builder plugin. Now with Site Branding options
12
 
13
  == Description ==
14
+ Custom WordPress navmenu specifically designed for the [Elementor Page Builder](https://wordpress.org/plugins/elementor/) - Now with Site Branding options, search box, basic MegaMenu and Fullscreen Menu Overlay
15
 
16
  == Installation ==
17
  * These instructions assumes you already have a WordPress site and the Elementor plugin installed and activated. Also, it is assumed that you already have at least a menu created.
44
  == Screenshots ==
45
 
46
  1. Header With Twin Navigation.
47
+ 2. Fullscreen Overlay Menu
48
+ 3. MegaMenu Structure On the Menu edit screen.
49
+ 4. MegaMenu Frontend
50
+
51
+ == Known Issues ==
52
+
53
+ * Currently both the Overlay and MegaMenu content are not viewable while in Edit Mode - this is due to both having an on.Click event to display content which does not seem to work in the Editor.
54
+ * For the time being, any changes made to both of the above can be viewed on the frontend of the site. A fix is being sought and will be implemented as soon as a viable solution is found!
55
 
56
  == Changelog ==
57
 
58
+ = 1.0.2 =
59
+ * Enhanced and improved how menus are styled.
60
+ * Changed behavior of dropdown menu floats - by default they now float to the right. So left and center aligned menu will float right and right aligned menus will float left.
61
+ * NEW: Added option for mobile menu item alignment.
62
+ * NEW: Added background setting for the navbar
63
+ * NEW: Added a Fullscreen Overlay Menu
64
+ * NEW: Added a search box widget - this is still a work in progress
65
+ * NEW: Added a basic MegaMenu options
66
+ * TWEAKES: Added and tweaked some styling options for the Default NavMenu module.
67
+
68
  = 1.0.1 =
69
  * NEW: Revised the plugin structure to me more modular and facilitate more element additions.
70
  * NEW: Created a plugin specific elements category.