Gallery – Photo Gallery – Image Gallery - Version 2.3.0

Version Description

Download this release

Release Info

Developer giucu91
Plugin Icon wp plugin Gallery – Photo Gallery – Image Gallery
Version 2.3.0
Comparing to
See all releases

Code changes from version 2.2.8 to 2.3.0

Files changed (87) hide show
  1. Modula.php +2 -2
  2. README.txt +2 -2
  3. assets/css/about.css +0 -55
  4. assets/css/about.min.css +0 -1
  5. assets/css/admin/about.css +97 -0
  6. assets/css/{addons.css → admin/addons.css} +0 -0
  7. assets/css/{addons.min.css → admin/addons.min.css} +0 -0
  8. assets/css/{edit.css → admin/edit.css} +2 -24
  9. assets/css/{edit.min.css → admin/edit.min.css} +0 -0
  10. assets/css/{jquery-ui.css → admin/jquery-ui.css} +0 -0
  11. assets/css/{jquery-ui.min.css → admin/jquery-ui.min.css} +0 -0
  12. assets/css/{modula-cpt.css → admin/modula-cpt.css} +295 -46
  13. assets/css/admin/modula-cpt.min.css +1 -0
  14. assets/css/{modula-gutenberg.css → admin/modula-gutenberg.css} +1 -1
  15. assets/css/{modula-gutenberg.min.css → admin/modula-gutenberg.min.css} +0 -0
  16. assets/css/{modula-importer.css → admin/modula-importer.css} +0 -0
  17. assets/css/admin/modula-notices.css +67 -0
  18. assets/css/{selectize.default.css → admin/selectize.default.css} +0 -0
  19. assets/css/{selectize.min.css → admin/selectize.min.css} +0 -0
  20. assets/css/admin/slick-theme.css +194 -0
  21. assets/css/admin/slick.css +119 -0
  22. assets/css/admin/uninstall.css +113 -0
  23. assets/css/{welcome.css → admin/welcome.css} +0 -0
  24. assets/css/{welcome.min.css → admin/welcome.min.css} +0 -0
  25. assets/css/front.css +2 -0
  26. assets/css/front/fancybox.css +902 -0
  27. assets/css/front/fancybox.min.css +1 -0
  28. assets/css/{modula.css → front/modula.css} +311 -36
  29. assets/css/front/modula.min.css +1 -0
  30. assets/css/jquery-ui.min-old.css +0 -7
  31. assets/css/lightbox.css +0 -207
  32. assets/css/lightbox.min.css +0 -1
  33. assets/css/materialdesignicons.css +0 -5107
  34. assets/css/materialdesignicons.min.css +0 -1
  35. assets/css/modula-cpt.min.css +0 -1
  36. assets/css/modula.min.css +0 -1
  37. assets/js/{editor-plugin.js → admin/editor-plugin.js} +0 -0
  38. assets/js/{editor-plugin.min.js → admin/editor-plugin.min.js} +0 -0
  39. assets/js/{modula-addon.js → admin/modula-addon.js} +0 -0
  40. assets/js/{modula-beaver-preview.js → admin/modula-beaver-preview.js} +0 -0
  41. assets/js/{modula-beaver-preview.min.js → admin/modula-beaver-preview.min.js} +0 -0
  42. assets/js/{modula-edit.js → admin/modula-edit.js} +17 -0
  43. assets/js/{modula-edit.min.js → admin/modula-edit.min.js} +0 -0
  44. assets/js/{modula-elementor-editor.js → admin/modula-elementor-editor.js} +0 -0
  45. assets/js/{modula-elementor-editor.min.js → admin/modula-elementor-editor.min.js} +0 -0
  46. assets/js/{modula-elementor-preview.js → admin/modula-elementor-preview.js} +0 -0
  47. assets/js/{modula-elementor-preview.min.js → admin/modula-elementor-preview.min.js} +0 -0
  48. assets/js/{modula-importer.js → admin/modula-importer.js} +0 -0
  49. assets/js/{modula-siteorigin-preview.js → admin/modula-siteorigin-preview.js} +0 -0
  50. assets/js/{modula-siteorigin-preview.min.js → admin/modula-siteorigin-preview.min.js} +0 -0
  51. assets/js/{modula-troubleshoot-conditions.js → admin/modula-troubleshoot-conditions.js} +0 -0
  52. assets/js/{modula-troubleshoot-conditions.min.js → admin/modula-troubleshoot-conditions.min.js} +0 -0
  53. assets/js/admin/modula-uninstall.js +69 -0
  54. assets/js/{modula-upgrade.js → admin/modula-upgrade.js} +0 -0
  55. assets/js/{packery.js → admin/packery.js} +0 -0
  56. assets/js/{packery.min.js → admin/packery.min.js} +0 -0
  57. assets/js/{resizesensor.js → admin/resizesensor.js} +0 -0
  58. assets/js/{resizesensor.min.js → admin/resizesensor.min.js} +0 -0
  59. assets/js/{selectize.js → admin/selectize.js} +0 -0
  60. assets/js/{selectize.min.js → admin/selectize.min.js} +0 -0
  61. assets/js/admin/slick.js +3037 -0
  62. assets/js/admin/slick.min.js +18 -0
  63. assets/js/admin/wp-modula-conditions.js +223 -0
  64. assets/js/{wp-modula-gallery.js → admin/wp-modula-gallery.js} +4 -2
  65. assets/js/{wp-modula-gutenberg.js → admin/wp-modula-gutenberg.js} +0 -0
  66. assets/js/{wp-modula-items.js → admin/wp-modula-items.js} +0 -0
  67. assets/js/{wp-modula-modal.js → admin/wp-modula-modal.js} +0 -0
  68. assets/js/{wp-modula-save.js → admin/wp-modula-save.js} +0 -0
  69. assets/js/{wp-modula-settings.js → admin/wp-modula-settings.js} +7 -1
  70. assets/js/{wp-modula-upload.js → admin/wp-modula-upload.js} +12 -31
  71. assets/js/{wp-modula.js → admin/wp-modula.js} +43 -0
  72. assets/js/front/fancybox.js +5694 -0
  73. assets/js/front/fancybox.min.js +1 -0
  74. assets/js/front/isotope-packery.js +1239 -0
  75. assets/js/front/isotope-packery.min.js +1 -0
  76. assets/js/front/isotope.js +12 -0
  77. assets/js/front/isotope.min.js +1 -0
  78. assets/js/front/jquery-modula.js +798 -0
  79. assets/js/front/jquery-modula.min.js +1 -0
  80. assets/js/front/justifiedGallery.js +1202 -0
  81. assets/js/front/justifiedGallery.min.js +1 -0
  82. assets/js/{lazysizes.js → front/lazysizes.js} +0 -0
  83. assets/js/{lazysizes.min.js → front/lazysizes.min.js} +0 -0
  84. assets/js/jquery-modula.js +0 -649
  85. assets/js/jquery-modula.min.js +0 -2
  86. assets/js/lightbox.js +0 -638
  87. assets/js/lightbox.min.js +0 -0
Modula.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin URI: https://wp-modula.com/
5
  * Description: Modula is the most powerful, user-friendly WordPress gallery plugin. Add galleries, masonry grids and more in a few clicks.
6
  * Author: MachoThemes
7
- * Version: 2.2.8
8
  * Author URI: https://www.machothemes.com/
9
  * License: GPLv3 or later
10
  * License URI: http://www.gnu.org/licenses/gpl-3.0.html
@@ -43,7 +43,7 @@
43
  *
44
  * @since 2.0.2
45
  */
46
- define( 'MODULA_LITE_VERSION' , '2.2.8' );
47
  define( 'MODULA_PATH' , plugin_dir_path( __FILE__ ) );
48
  define( 'MODULA_URL' , plugin_dir_url( __FILE__ ) );
49
  defined( 'MODULA_PRO_STORE_URL' ) || define( 'MODULA_PRO_STORE_URL' , 'https://wp-modula.com' );
4
  * Plugin URI: https://wp-modula.com/
5
  * Description: Modula is the most powerful, user-friendly WordPress gallery plugin. Add galleries, masonry grids and more in a few clicks.
6
  * Author: MachoThemes
7
+ * Version: 2.3.0
8
  * Author URI: https://www.machothemes.com/
9
  * License: GPLv3 or later
10
  * License URI: http://www.gnu.org/licenses/gpl-3.0.html
43
  *
44
  * @since 2.0.2
45
  */
46
+ define( 'MODULA_LITE_VERSION' , '2.3.0' );
47
  define( 'MODULA_PATH' , plugin_dir_path( __FILE__ ) );
48
  define( 'MODULA_URL' , plugin_dir_url( __FILE__ ) );
49
  defined( 'MODULA_PRO_STORE_URL' ) || define( 'MODULA_PRO_STORE_URL' , 'https://wp-modula.com' );
README.txt CHANGED
@@ -2,9 +2,9 @@
2
  Contributors: machothemes, silkalns
3
  Tags: best gallery plugin, image gallery, photo gallery, responsive gallery, wordpress gallery plugin, wordpress portfolio plugin, masonry gallery, fancy gallery, media gallery, mosaic gallery, polaroid gallery, portfolio gallery
4
  Requires at least: 4.6
5
- Tested up to: 5.3
6
  Requires PHP: 5.6
7
- Stable tag: 2.2.8
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
2
  Contributors: machothemes, silkalns
3
  Tags: best gallery plugin, image gallery, photo gallery, responsive gallery, wordpress gallery plugin, wordpress portfolio plugin, masonry gallery, fancy gallery, media gallery, mosaic gallery, polaroid gallery, portfolio gallery
4
  Requires at least: 4.6
5
+ Tested up to: 5.4
6
  Requires PHP: 5.6
7
+ Stable tag: 2.3.0
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
assets/css/about.css DELETED
@@ -1,55 +0,0 @@
1
- .about__header-title.modula-about-heading {
2
- background-color:#774cce;
3
- }
4
-
5
- .modula-about-header .about__header-badge {
6
- background-color:#472d7b;
7
- }
8
-
9
- .modula-about-header .about__header-text {
10
- background-color:#2f1e52;
11
- }
12
-
13
- h1.modula-about-heading {
14
- color: #774cce;
15
- font-size:40px;
16
- }
17
-
18
- .modula-about-row .about__container h2 {
19
- font-size:25px;
20
- }
21
-
22
- ul.modula-about-list {
23
- padding-left:25px;
24
- position:relative;
25
- margin-left:0;
26
- }
27
-
28
- .modula-about-list li {
29
- position:relative;
30
- list-style-type: none;
31
- font-size:18px;
32
- }
33
-
34
- .modula-about-list li:before {
35
- font-family:Dashicons;
36
- display:block;
37
- position: absolute;
38
- left:-25px;
39
- }
40
-
41
- .modula-about-list li.fix:before {
42
- content: "\f107";
43
- color:green;
44
- }
45
-
46
- .modula-about-list li.feature:before {
47
- content: "\f132";
48
- color:blue;
49
- }
50
-
51
- .modula-about-list li.removal:before {
52
- content: "\f182";
53
- color:red;
54
- }
55
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/about.min.css DELETED
@@ -1 +0,0 @@
1
- .about__header-title.modula-about-heading{background-color:#774cce}.modula-about-header .about__header-badge{background-color:#472d7b}.modula-about-header .about__header-text{background-color:#2f1e52}h1.modula-about-heading{color:#774cce;font-size:40px}.modula-about-row .about__container h2{font-size:25px}ul.modula-about-list{padding-left:25px;position:relative;margin-left:0}.modula-about-list li{position:relative;list-style-type:none;font-size:18px}.modula-about-list li:before{font-family:Dashicons;display:block;position:absolute;left:-25px}.modula-about-list li.fix:before{content:"\f107";color:green}.modula-about-list li.feature:before{content:"\f132";color:#00f}.modula-about-list li.removal:before{content:"\f182";color:red}
 
assets/css/admin/about.css ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #modula-about-page .modula-about__container {
2
+ max-width: 1000px;
3
+ margin: 24px auto;
4
+ clear: both;
5
+ line-height:1.4;
6
+ }
7
+ #modula-about-page div {
8
+ display:block;
9
+ float:none;
10
+ position: relative;
11
+ }
12
+
13
+ .modula-about-header {
14
+ background:#2ebf91;
15
+ margin-bottom:32px;
16
+ max-height:500px;
17
+ }
18
+
19
+ .modula-about-heading {
20
+ background:url('../../images/modula.svg') center right no-repeat;
21
+ background-size:contain;
22
+ min-height: 24em;
23
+ max-height: 32em;
24
+ height: 80vh;
25
+ padding: 0 32px;
26
+ }
27
+
28
+ .modula-about-heading h1 {
29
+ color:#fff;
30
+ font-size:43px;
31
+ position: absolute;
32
+ bottom:0;
33
+ width:60%;
34
+ }
35
+
36
+ .modula-about-heading h1 span {
37
+ display:inline-block;
38
+ }
39
+
40
+ .modula-about-header .about__header-badge {
41
+ background-color:#472d7b;
42
+ }
43
+
44
+ .modula-about-header .modula-about__header-text {
45
+ background-color:#16a085;
46
+ padding: 16px 32px 32px;
47
+ font-size: 1.5em;
48
+ line-height: 1.4;
49
+ }
50
+
51
+ .modula-about-header .modula-about__header-text p {
52
+ color:#fff;
53
+ }
54
+
55
+ h1.modula-about-heading {
56
+ color: #774cce;
57
+ font-size:40px;
58
+ }
59
+
60
+ .modula-about-row .modula-about__container h2 {
61
+ font-size:25px;
62
+ }
63
+
64
+ ul.modula-about-list {
65
+ padding-left:25px;
66
+ position:relative;
67
+ margin-left:0;
68
+ }
69
+
70
+ .modula-about-list li {
71
+ position:relative;
72
+ list-style-type: none;
73
+ font-size:18px;
74
+ }
75
+
76
+ .modula-about-list li:before {
77
+ font-family:Dashicons;
78
+ display:block;
79
+ position: absolute;
80
+ left:-25px;
81
+ }
82
+
83
+ .modula-about-list li.fix:before {
84
+ content: "\f107";
85
+ color:green;
86
+ }
87
+
88
+ .modula-about-list li.feature:before {
89
+ content: "\f132";
90
+ color:blue;
91
+ }
92
+
93
+ .modula-about-list li.removal:before {
94
+ content: "\f182";
95
+ color:red;
96
+ }
97
+
assets/css/{addons.css → admin/addons.css} RENAMED
File without changes
assets/css/{addons.min.css → admin/addons.min.css} RENAMED
File without changes
assets/css/{edit.css → admin/edit.css} RENAMED
@@ -5,29 +5,7 @@
5
  .post-type-modula-gallery .wrap .nav-tab-wrapper .page-title-action {
6
  top: 7px;
7
  }
8
- .wrap .modula-feedback-notice {
9
- padding: 22px;
10
- border: 2px solid #2ebf91;
11
- margin-top: 20px;
12
- position: relative;
13
- }
14
- .wrap .modula-feedback-notice .notice-dismiss {
15
- text-decoration: none;
16
- }
17
- .notice p.modula-feedback-title {
18
- font-size: 26px;
19
- font-weight: bold;
20
- display: flex;
21
- align-items: center;
22
- margin-top: 0;
23
- }
24
- .modula-feedback-title svg {
25
- width: 35px;
26
- margin-right: 10px;
27
- }
28
- .modula-feedback-title svg path {
29
- fill: #2ebf91;
30
- }
31
  /* Copy Shortcode */
32
  .modula-copy-shortcode {
33
  display: flex;
@@ -51,4 +29,4 @@
51
  }
52
  .column-shortcode .modula-copy-shortcode {
53
  max-width: 300px;
54
- }
5
  .post-type-modula-gallery .wrap .nav-tab-wrapper .page-title-action {
6
  top: 7px;
7
  }
8
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  /* Copy Shortcode */
10
  .modula-copy-shortcode {
11
  display: flex;
29
  }
30
  .column-shortcode .modula-copy-shortcode {
31
  max-width: 300px;
32
+ }
assets/css/{edit.min.css → admin/edit.min.css} RENAMED
File without changes
assets/css/{jquery-ui.css → admin/jquery-ui.css} RENAMED
File without changes
assets/css/{jquery-ui.min.css → admin/jquery-ui.min.css} RENAMED
File without changes
assets/css/{modula-cpt.css → admin/modula-cpt.css} RENAMED
@@ -54,7 +54,7 @@
54
  right: -1px;
55
  }
56
  .modula-settings-container .modula-tabs .modula-tab.active-tab:first-child {
57
- border-top: 0 none;
58
  }
59
  .modula-settings-container .modula-tabs .modula-tab:hover {
60
  color: #333333;
@@ -63,11 +63,13 @@
63
  margin: 0;
64
  padding: 15px 10px 15px 0;
65
  background-color: #fff;
66
- border-bottom: 1px solid #ddd;
67
  border-top: 1px solid #ddd;
68
  color: #333333;
69
  /*box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.43) inset;*/
70
  }
 
 
 
71
  .modula-settings-container .modula-tabs .modula-tab.active-tab:before {
72
  content: "";
73
  position: absolute;
@@ -93,13 +95,13 @@ tr label.th-label {
93
  .postbox .modula-settings-container table.form-table {
94
  margin: 0;
95
  }
96
- .postbox .modula-settings-container .form-table-wrapper {
97
  padding: 0 0 0 20px;
98
  box-sizing: border-box;
99
- }
100
  .modula-settings-container .modula-tabs-content {
101
- padding: 10px 20px;
102
- border-left: 1px solid #eee;
103
  flex-grow: 1;
104
  }
105
  .modula-tabs-content > div:not( .active-tab ) {
@@ -107,11 +109,8 @@ tr label.th-label {
107
  }
108
  .modula-settings-container .modula-tabs-content .tab-content-header {
109
  width: 100%;
110
- padding-bottom: 12px;
111
- margin-bottom: 10px;
112
- border-bottom: 1px solid #eee;
113
- padding-left: 20px;
114
- padding-right: 0;
115
  box-sizing: border-box;
116
  display: flex;
117
  align-items: center;
@@ -134,6 +133,7 @@ tr label.th-label {
134
  font-weight: 700;
135
  padding: 0;
136
  display: inline-block;
 
137
  }
138
 
139
  #poststuff .modula-settings-container .modula-tabs-content .tab-content-header .tab-header-description p {
@@ -144,6 +144,32 @@ tr label.th-label {
144
  font-size: 13px;
145
  }
146
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
147
  /* Fields */
148
 
149
  /* UI Slider */
@@ -151,19 +177,19 @@ tr label.th-label {
151
  position: relative;
152
  height: 2px;
153
  padding: 10px 0;
154
- width: 25em;
155
  box-sizing: border-box;
156
- margin-bottom: 10px;
157
- display: flex;
158
- display: flex;
159
- justify-content: space-between;
160
- align-items: center;
161
  }
162
  .modula-settings-container .slider-container input[type="text"] {
163
  border: none;
164
  text-align: center;
165
  padding: 2px;
166
- margin: 0 20px 0 0;
167
  font-size: 12px;
168
  color: #333;
169
  border-radius: 10px;
@@ -173,7 +199,7 @@ tr label.th-label {
173
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.16);
174
  width: 40px;
175
  height: 22px;
176
- cursor: default;
177
  }
178
  .modula-settings-container .slider-container .ui-slider {
179
  position: relative;
@@ -219,6 +245,17 @@ tr label.th-label {
219
  bottom: 0;
220
  }
221
 
 
 
 
 
 
 
 
 
 
 
 
222
  /* Hover Effects */
223
  .modula-effects-preview {
224
  margin-top: 20px;
@@ -386,18 +423,31 @@ tr label.th-label {
386
 
387
  /* Upsells */
388
  .modula-upsell {
389
- background: #f1f1f1;
390
- /* border: 1px solid #a8d69c;*/
391
- border:0px;
392
  padding: 15px;
393
  margin-top: 30px;
394
  }
395
 
396
- /* We're handling the upsells inside metaboxes slightly different */
397
- .form-table-wrapper .modula-upsell {
398
- border: 1px solid #DDD;
399
- text-align: center;
400
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
401
 
402
  #poststuff .modula-upsell h2 {
403
  margin: 0 0 20px 0;
@@ -431,12 +481,7 @@ tr label.th-label {
431
  .modula-upsell .button:first-child {
432
  margin-right: 10px;
433
  }
434
- .modula-upsell .button.button-primary {
435
- /*background-color: #52ad3a;
436
- border-color: #378c21;
437
- box-shadow: 0 1px 0 #378c21;
438
- text-shadow: 0 -1px 1px #378c21, 1px 0 1px #378c21, 0 1px 1px #378c21, -1px 0 1px #378c21;*/
439
- }
440
  .modula-upsell .action-link,
441
  .modula-upsell .action-link:hover {
442
  background: #51AD31;
@@ -519,7 +564,7 @@ tr label.th-label {
519
  .segrip.ui-resizable-se {
520
  width: 30px;
521
  height: 30px;
522
- background: url('../images/resize-se.svg') no-repeat;
523
  background-size: contain;
524
  display: none;
525
  z-index: 100;
@@ -898,7 +943,11 @@ tr label.th-label {
898
  }
899
 
900
  .modula-media-modal .attachments-browser .media-toolbar .media-toolbar-secondary {
901
- width: 100%;
 
 
 
 
902
  }
903
 
904
  /* Modula Error */
@@ -981,8 +1030,10 @@ a.modula-tab-link {
981
 
982
  /* Tabs tooltips */
983
  .modula-tooltip {
984
- position: relative;
985
- display: inline-block;
 
 
986
  }
987
  .modula-tooltip > span {
988
  cursor: pointer;
@@ -1022,11 +1073,13 @@ a.modula-tab-link {
1022
 
1023
  /* Modula Helper Grid */
1024
  .modula-helper-guidelines-container {
1025
- padding: 15px 20px;
1026
- background-color: #f8fcfd;
1027
- display: flex;
1028
- align-items: center;
1029
- border-top: 1px solid #ecf6f9;
 
 
1030
  }
1031
  .modula-helper-guidelines-container .onoffswitch {
1032
  margin-top: 0;
@@ -1035,6 +1088,10 @@ a.modula-tab-link {
1035
  margin-left: 5px;
1036
  }
1037
 
 
 
 
 
1038
  /* Creative Grid */
1039
  .modula-creative-gallery.modula-uploader-inline-content .modula-single-image .modula-single-image-content {
1040
  background: #eee !important;
@@ -1077,7 +1134,8 @@ a.modula-tab-link {
1077
  box-sizing: inherit;
1078
  }
1079
 
1080
- .modula-toggle__input[type=checkbox] {
 
1081
  border-radius: 2px;
1082
  border: 2px solid #6c7781;
1083
  margin-right: 12px;
@@ -1092,7 +1150,8 @@ a.modula-tab-link {
1092
  width: 100%;
1093
  z-index: 1; }
1094
 
1095
- .modula-toggle__track {
 
1096
  background-color: #fff;
1097
  border: 2px solid #6c7781;
1098
  border-radius: 9px;
@@ -1102,7 +1161,8 @@ a.modula-tab-link {
1102
  vertical-align: top;
1103
  transition: background .2s ease; }
1104
 
1105
- .modula-toggle__thumb {
 
1106
  background-color: #6c7781;
1107
  border: 5px solid #6c7781;
1108
  border-radius: 50%;
@@ -1114,6 +1174,14 @@ a.modula-tab-link {
1114
  top: 4px;
1115
  transition: transform .2s ease; }
1116
 
 
 
 
 
 
 
 
 
1117
  .modula-toggle__off {
1118
  position: absolute;
1119
  right: 6px;
@@ -1318,6 +1386,14 @@ Ups-sells carousel
1318
  margin-right: 0;
1319
  }
1320
 
 
 
 
 
 
 
 
 
1321
  #modula-albums-upsell h2 {
1322
  margin: 0 !important;
1323
  }
@@ -1328,4 +1404,177 @@ Ups-sells carousel
1328
 
1329
  .modula-after-input {
1330
  margin-left: 5px;
1331
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  right: -1px;
55
  }
56
  .modula-settings-container .modula-tabs .modula-tab.active-tab:first-child {
57
+ border-top: none;
58
  }
59
  .modula-settings-container .modula-tabs .modula-tab:hover {
60
  color: #333333;
63
  margin: 0;
64
  padding: 15px 10px 15px 0;
65
  background-color: #fff;
 
66
  border-top: 1px solid #ddd;
67
  color: #333333;
68
  /*box-shadow: 1px 0px 1px 0px rgba(0, 0, 0, 0.43) inset;*/
69
  }
70
+ .modula-settings-container .modula-tabs .modula-tab.active-tab:not(:last-child){
71
+ border-bottom: 1px solid #ddd;
72
+ }
73
  .modula-settings-container .modula-tabs .modula-tab.active-tab:before {
74
  content: "";
75
  position: absolute;
95
  .postbox .modula-settings-container table.form-table {
96
  margin: 0;
97
  }
98
+ /*.postbox .modula-settings-container .form-table-wrapper {
99
  padding: 0 0 0 20px;
100
  box-sizing: border-box;
101
+ }*/
102
  .modula-settings-container .modula-tabs-content {
103
+ padding: 0;
104
+ border-left: 1px solid #ccd0d4;
105
  flex-grow: 1;
106
  }
107
  .modula-tabs-content > div:not( .active-tab ) {
109
  }
110
  .modula-settings-container .modula-tabs-content .tab-content-header {
111
  width: 100%;
112
+ padding: 15px 20px 15px 20px;
113
+ border-bottom: 1px solid #ccd0d4;
 
 
 
114
  box-sizing: border-box;
115
  display: flex;
116
  align-items: center;
133
  font-weight: 700;
134
  padding: 0;
135
  display: inline-block;
136
+ line-height:20px;
137
  }
138
 
139
  #poststuff .modula-settings-container .modula-tabs-content .tab-content-header .tab-header-description p {
144
  font-size: 13px;
145
  }
146
 
147
+ .modula-settings-container .modula-tabs-content .form-table tr {
148
+ border-top: 1px solid #EEE;
149
+ border-bottom: 1px solid #EEE;
150
+ }
151
+ /*.modula-settings-container .modula-tabs-content .form-table tr:nth-of-type(even) {
152
+ background-color: #FAFAFA;
153
+ }*/
154
+ .modula-settings-container .modula-tabs-content .form-table tr:first-of-type {border-top: none;}
155
+ .modula-settings-container .modula-tabs-content .form-table tr:last-of-type {border-bottom: none;}
156
+ .modula-settings-container .modula-tabs-content .form-table th {padding: 20px;width:200px;min-width:200px;}
157
+ .modula-settings-container .modula-tabs-content .form-table th.child_setting {
158
+ padding-left:40px;
159
+ display:inline-block;
160
+ width:180px;
161
+ min-width:180px;
162
+ }
163
+
164
+ .modula-settings-container .modula-tabs-content .form-table textarea {
165
+ max-width:230px;
166
+ }
167
+
168
+ .modula-settings-container .modula-tabs-content .form-table th.two_child_setting {
169
+ padding-left:60px;
170
+ display:inline-block;
171
+ width:200px;
172
+ }
173
  /* Fields */
174
 
175
  /* UI Slider */
177
  position: relative;
178
  height: 2px;
179
  padding: 10px 0;
180
+ width: 230px;
181
  box-sizing: border-box;
182
+ /*margin-bottom: 10px;*/
183
+ display: flex;
184
+ display: flex;
185
+ justify-content: space-between;
186
+ align-items: center;
187
  }
188
  .modula-settings-container .slider-container input[type="text"] {
189
  border: none;
190
  text-align: center;
191
  padding: 2px;
192
+ margin: 0 30px 0 0;
193
  font-size: 12px;
194
  color: #333;
195
  border-radius: 10px;
199
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.16);
200
  width: 40px;
201
  height: 22px;
202
+ min-width:auto;
203
  }
204
  .modula-settings-container .slider-container .ui-slider {
205
  position: relative;
245
  bottom: 0;
246
  }
247
 
248
+ .modula-settings-container select,
249
+ .modula-settings-container input:not([type="select-one"]):not([type="button"]):not([contenteditable="true"]),
250
+ .modula-settings-container select{
251
+ min-width:230px;
252
+ max-width:230px;
253
+ }
254
+
255
+ .selectize-control.single .selectize-input, .selectize-dropdown.single {
256
+ max-width:230px;
257
+ }
258
+
259
  /* Hover Effects */
260
  .modula-effects-preview {
261
  margin-top: 20px;
423
 
424
  /* Upsells */
425
  .modula-upsell {
426
+ background: #f1f1f1;
427
+ /* border: 1px solid #a8d69c;*/
428
+ border: 0px;
429
  padding: 15px;
430
  margin-top: 30px;
431
  }
432
 
433
+ .modula-settings-container .modula-upsell {
434
+ margin:30px;
435
+ }
436
+
437
+ .modula-upsell .modula-upsell-features {
438
+ text-align: left;
439
+ display: flex;
440
+ flex-wrap: wrap;
441
+ }
442
+ .modula-upsell .modula-upsell-features li {
443
+ width: 33%;
444
+ }
445
+
446
+ /* We're handling the upsells inside metaboxes slightly different */
447
+ .form-table-wrapper .modula-upsell {
448
+ border: 1px solid #DDD;
449
+ text-align: center;
450
+ }
451
 
452
  #poststuff .modula-upsell h2 {
453
  margin: 0 0 20px 0;
481
  .modula-upsell .button:first-child {
482
  margin-right: 10px;
483
  }
484
+
 
 
 
 
 
485
  .modula-upsell .action-link,
486
  .modula-upsell .action-link:hover {
487
  background: #51AD31;
564
  .segrip.ui-resizable-se {
565
  width: 30px;
566
  height: 30px;
567
+ background: url('../../images/resize-se.svg') no-repeat;
568
  background-size: contain;
569
  display: none;
570
  z-index: 100;
943
  }
944
 
945
  .modula-media-modal .attachments-browser .media-toolbar .media-toolbar-secondary {
946
+ width: 100%;
947
+ }
948
+
949
+ .modula-media-modal .attachments-browser .media-toolbar .media-toolbar-secondary .modula-error-container {
950
+ margin-top:25px;
951
  }
952
 
953
  /* Modula Error */
1030
 
1031
  /* Tabs tooltips */
1032
  .modula-tooltip {
1033
+ position: relative;
1034
+ display: inline-block;
1035
+ float: left;
1036
+ margin-right: 10px;
1037
  }
1038
  .modula-tooltip > span {
1039
  cursor: pointer;
1073
 
1074
  /* Modula Helper Grid */
1075
  .modula-helper-guidelines-container {
1076
+ padding: 15px 20px;
1077
+ background-color: #f8fcfd;
1078
+ display: flex;
1079
+ align-items: center;
1080
+ border-top: 1px solid #ecf6f9;
1081
+ z-index: 999;
1082
+ position: relative;
1083
  }
1084
  .modula-helper-guidelines-container .onoffswitch {
1085
  margin-top: 0;
1088
  margin-left: 5px;
1089
  }
1090
 
1091
+ .modula-helper-guidelines-container.modula-guidelines-display {
1092
+ display: none;
1093
+ }
1094
+
1095
  /* Creative Grid */
1096
  .modula-creative-gallery.modula-uploader-inline-content .modula-single-image .modula-single-image-content {
1097
  background: #eee !important;
1134
  box-sizing: inherit;
1135
  }
1136
 
1137
+ .modula-toggle__input[type=checkbox],
1138
+ body .media-modal-content .attachment-details .modula-toggle__input[type=checkbox] {
1139
  border-radius: 2px;
1140
  border: 2px solid #6c7781;
1141
  margin-right: 12px;
1150
  width: 100%;
1151
  z-index: 1; }
1152
 
1153
+ .modula-toggle__track,
1154
+ body .media-modal-content .attachment-details .modula-toggle__track {
1155
  background-color: #fff;
1156
  border: 2px solid #6c7781;
1157
  border-radius: 9px;
1161
  vertical-align: top;
1162
  transition: background .2s ease; }
1163
 
1164
+ .modula-toggle__thumb,
1165
+ body .media-modal-content .attachment-details .modula-toggle__thumb {
1166
  background-color: #6c7781;
1167
  border: 5px solid #6c7781;
1168
  border-radius: 50%;
1174
  top: 4px;
1175
  transition: transform .2s ease; }
1176
 
1177
+ body .media-modal-content .attachment-details .modula-toggle__thumb,
1178
+ body .media-modal-content .attachment-details .modula-toggle__track {
1179
+ min-width:auto;
1180
+ min-height:auto;
1181
+ float:none;
1182
+ padding:0;
1183
+ }
1184
+
1185
  .modula-toggle__off {
1186
  position: absolute;
1187
  right: 6px;
1386
  margin-right: 0;
1387
  }
1388
 
1389
+ #modula_troubleshooting_option td > .wrap.modula {
1390
+ margin:0 auto;
1391
+ }
1392
+
1393
+ #modula_troubleshooting_option td > .wrap.modula .modula-toggle {
1394
+ margin-top:0;
1395
+ }
1396
+
1397
  #modula-albums-upsell h2 {
1398
  margin: 0 !important;
1399
  }
1404
 
1405
  .modula-after-input {
1406
  margin-left: 5px;
1407
+ }
1408
+
1409
+
1410
+ /**
1411
+ Scaling Effect Preview
1412
+ */
1413
+ .modula-scaling-effect-preview {
1414
+ position: relative;
1415
+ max-width:900px;
1416
+ width:100%;
1417
+ margin:0 auto;
1418
+ margin-top:20px;
1419
+ }
1420
+
1421
+ .modula-scaling-effect-preview .modula-item {
1422
+ transition:600ms all;
1423
+ z-index:9999;
1424
+ float:left;
1425
+ margin:10px;
1426
+ }
1427
+
1428
+ .modula-scaling-effect-preview a#test-scaling-preview {
1429
+ margin-top:25px;
1430
+ margin-left:10px;
1431
+ }
1432
+
1433
+ /* Modula Shortcode Box */
1434
+
1435
+ #modula-shortcode .modula-copy-shortcode {
1436
+ margin: 10px auto;
1437
+ }
1438
+
1439
+ #modula-shortcode .inside {
1440
+ padding: 0 12px 2.5px!important;
1441
+ }
1442
+
1443
+ .shortcode-description {
1444
+ margin: 10px 0 0 0;
1445
+ border-bottom: 1px solid #DDD;
1446
+ color: #696969;
1447
+ padding-bottom: 10px;
1448
+ }
1449
+
1450
+ .modula-imagesize-info span {
1451
+ font-weight:bold;
1452
+ }
1453
+
1454
+ .modula-settings-container .selectize-dropdown {
1455
+ cursor:pointer;
1456
+ }
1457
+
1458
+ .modula-settings-container .lightbox-announcement {
1459
+ position: relative;
1460
+ padding:30px;
1461
+ }
1462
+
1463
+ .modula-settings-container .lightbox-announcement a.notice-dismiss {
1464
+ text-decoration: none;
1465
+ }
1466
+
1467
+ /**
1468
+ Some responsive fixes
1469
+ */
1470
+ /*
1471
+
1472
+ @media all and (max-width:1300px){
1473
+ .modula-settings-container {
1474
+ display:block;
1475
+ }
1476
+
1477
+ .modula-settings-container .modula-tabs .modula-tab {
1478
+ display:inline-block;
1479
+ width:auto;
1480
+ font-size:0;
1481
+ padding:10px !important;
1482
+ }
1483
+
1484
+ .modula-settings-container .modula-tabs .modula-tab:before {
1485
+ content:"";
1486
+ width:3px;
1487
+ display:block;
1488
+ }
1489
+
1490
+ .modula-settings-container .modula-tabs .modula-tab > i {
1491
+ margin:0;
1492
+ }
1493
+
1494
+ .modula-hover-preview-slider .slick-next {
1495
+ right:0;
1496
+ }
1497
+
1498
+ .modula-hover-preview-slider .slick-prev {
1499
+ left:0;
1500
+ }
1501
+
1502
+ }
1503
+
1504
+ @media all and (min-width:850px) and (max-width:1300px){
1505
+ .modula-settings-container .modula-tabs-content th,
1506
+ .modula-settings-container .modula-tabs-content td {
1507
+ display:block;
1508
+ width:100%;
1509
+ }
1510
+
1511
+ .modula-settings-container .modula-tabs-content td {
1512
+ padding-left:25px;
1513
+ }
1514
+
1515
+ .modula-settings-container .modula-tabs-content th.child_setting + td {
1516
+ padding-left:45px;
1517
+ }
1518
+
1519
+ .modula-settings-container select, .modula-settings-container input:not([type="select-one"]):not([type="button"]):not([readonly="readonly"]), .modula-settings-container select {
1520
+ min-width:175px;
1521
+ }
1522
+
1523
+ .modula-filters-container .modula-filters,
1524
+ .modula-pro-live-preview {
1525
+ max-width:calc(100% - 65px);
1526
+ }
1527
+ }
1528
+
1529
+ @media all and (min-width:600px) and (max-width:849px){
1530
+ .modula-settings-container .modula-tabs-content th,
1531
+ .modula-settings-container .modula-tabs-content .form-table th.child_setting {
1532
+ display:table-cell;
1533
+ }
1534
+
1535
+ .modula-filters-container .modula-filters,
1536
+ .modula-pro-live-preview {
1537
+ max-width:calc(100% - 65px);
1538
+ }
1539
+
1540
+ .modula-settings-container .modula-tabs-content .form-table td {
1541
+ padding-top:20px;
1542
+ padding-bottom:20px;
1543
+ }
1544
+ }
1545
+
1546
+ @media all and (max-width: 599px){
1547
+ .modula-settings-container .modula-tabs-content th,
1548
+ .modula-settings-container .modula-tabs-content td {
1549
+ display:block;
1550
+ width:100%;
1551
+ }
1552
+
1553
+ .modula-filters-container .modula-filters,
1554
+ .modula-pro-live-preview {
1555
+ max-width:calc(100% - 65px);
1556
+ }
1557
+
1558
+ .modula-settings-container .modula-tabs-content td {
1559
+ padding-left:25px;
1560
+ }
1561
+
1562
+ .modula-settings-container .modula-tabs-content th.child_setting + td {
1563
+ padding-left:45px;
1564
+ }
1565
+
1566
+ .modula-settings-container th:not(.child_setting) + td select, .modula-settings-container th:not(.child_setting) + td input:not([type="select-one"]):not([type="button"]):not([readonly="readonly"]), .modula-settings-container th:not(.child_setting) + td select {
1567
+ max-width:calc(100% - 65px) !important;
1568
+ }
1569
+
1570
+ .modula-settings-container th.child_setting + td select, .modula-settings-container th.child_setting + td input:not([type="select-one"]):not([type="button"]):not([readonly="readonly"]), .modula-settings-container th.child_setting + td select {
1571
+ max-width:calc(100% - 85px) !important;
1572
+ }
1573
+
1574
+ .modula-settings-container .modula-tabs-content .form-table td {
1575
+ padding-top:20px;
1576
+ padding-bottom:20px;
1577
+ }
1578
+
1579
+ }
1580
+ */
assets/css/admin/modula-cpt.min.css ADDED
@@ -0,0 +1 @@
 
1
+ #modula-settings .inside{padding:0;margin:0}.modula-settings-container{display:flex}.modula-settings-container .modula-tabs{background-color:#f8f8f8}.modula-settings-container .modula-tabs .modula-tab{margin:0 10px 0 0;padding:15px 0;color:#9c9c9c;cursor:pointer;position:relative;width:185px;position:relative}.modula-settings-container .modula-tabs .modula-tab sup{margin-left:5px;padding:2px 5px;border-radius:5px;color:#fff;font-size:8px;background:#9c9c9c;display:inline-block;line-height:1;position:relative;top:-2px}.modula-settings-container .modula-tabs .modula-tab.active-tab sup,.modula-settings-container .modula-tabs .modula-tab:hover sup{background-color:#57a7c9}.modula-settings-container .modula-tabs .modula-tab.modula-responsive.active-tab sup,.modula-settings-container .modula-tabs .modula-tab.modula-responsive:hover sup{background:#dc3232}.modula-settings-container .modula-tabs .modula-tab>i{margin-right:10px;margin-left:15px}.modula-settings-container .modula-tabs .modula-tab:after{position:absolute;content:"";width:1px;height:100%;background-color:transparent;top:0;right:-1px}.modula-settings-container .modula-tabs .modula-tab.active-tab:first-child{border-top:none}.modula-settings-container .modula-tabs .modula-tab:hover{color:#333}.modula-settings-container .modula-tabs .modula-tab.active-tab{margin:0;padding:15px 10px 15px 0;background-color:#fff;border-top:1px solid #ddd;color:#333}.modula-settings-container .modula-tabs .modula-tab.active-tab:not(:last-child){border-bottom:1px solid #ddd}.modula-settings-container .modula-tabs .modula-tab.active-tab:before{content:"";position:absolute;left:-2px;top:-1px;width:3px;height:calc(100% + 2px);background-color:#57a7c9}.modula-settings-container .modula-tabs .modula-tab.active-tab:after{background-color:#fff}tr label.th-label{color:#23282d;font-weight:600;margin-bottom:10px}.postbox .modula-settings-container table.form-table{margin:0}.modula-settings-container .modula-tabs-content{padding:0;border-left:1px solid #ccd0d4;flex-grow:1}.modula-tabs-content>div:not(.active-tab){display:none}.modula-settings-container .modula-tabs-content .tab-content-header{width:100%;padding:15px 20px 15px 20px;border-bottom:1px solid #ccd0d4;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between}.modula-settings-container .modula-tabs-content .tab-content-header .tab-content-header-actions{display:flex;align-items:center}.modula-settings-container .modula-tabs-content .tab-content-header .tab-content-header-actions>span{margin:0 10px;font-style:italic}.modula-settings-container .modula-tabs-content .tab-content-header .tab-content-header-actions a.button>span{height:auto;line-height:26px;margin-right:10px}#poststuff .modula-settings-container .modula-tabs-content .tab-content-header .tab-content-header-title>h2{font-weight:700;padding:0;display:inline-block;line-height:20px}#poststuff .modula-settings-container .modula-tabs-content .tab-content-header .tab-header-description p{margin:0}.modula-settings-container .form-table td p.description{font-size:13px}.modula-settings-container .modula-tabs-content .form-table tr{border-top:1px solid #eee;border-bottom:1px solid #eee}.modula-settings-container .modula-tabs-content .form-table tr:first-of-type{border-top:none}.modula-settings-container .modula-tabs-content .form-table tr:last-of-type{border-bottom:none}.modula-settings-container .modula-tabs-content .form-table th{padding:20px;width:230px}.modula-settings-container .modula-tabs-content .form-table th.child_setting{padding-left:40px;display:inline-block;width:230px}.modula-settings-container .slider-container{position:relative;height:2px;padding:10px 0;width:240px;box-sizing:border-box;display:flex;display:flex;justify-content:space-between;align-items:center}.modula-settings-container .slider-container input[type=text]{border:none;text-align:center;padding:2px;margin:0 30px 0 0;font-size:12px;color:#333;border-radius:10px;background-color:#fff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.16);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.16);box-shadow:inset 0 1px 1px rgba(0,0,0,.16);width:40px;height:22px;min-width:auto;cursor:default}.modula-settings-container .slider-container .ui-slider{position:relative;text-align:left;height:2px;border-radius:3px;border:none;display:block;width:100%;background:#d6d6d6;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.modula-settings-container .slider-container .ui-slider .ui-slider-handle{position:absolute;z-index:2;top:-10px;cursor:default;-ms-touch-action:none;touch-action:none;width:18px;height:18px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;background-color:#fff;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.1);-moz-box-shadow:0 1px 1px rgba(0,0,0,.1);box-shadow:0 1px 1px rgba(0,0,0,.1);border:solid 1px #d7d7d7;transform:translateX(-50%)}.modula-settings-container .slider-container .ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0;background:#57a7c9;top:0;bottom:0}.modula-settings-container input:not([type=select-one]):not([type=button]):not([readonly=readonly]),.modula-settings-container select{min-width:240px;max-width:240px}.selectize-control.single .selectize-input,.selectize-dropdown.single{max-width:240px}.modula-effects-preview{margin-top:20px}.modula-effects-preview .modula-item{width:400px;height:300px;overflow:hidden;position:relative}.modula-effects-preview .modula-item img{position:absolute;min-height:100%;min-width:100%}.modula-effects-preview .modula-item .figc{display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;text-align:center;position:absolute;left:0;width:100%;height:100%;padding:0}.modula-effects-preview .modula-item .figc h2{font-size:21px!important;color:#fff}.modula-effects-preview .modula-item .figc p{color:#fff;font-size:15px;font-style:normal}.modula .modula-items .modula-item h2{margin:0}.modula .modula-items .modula-item p{margin:0;padding:0}.modula .figc{color:#000;text-align:center;position:absolute;left:0;width:100%;padding:2em}.modula .modula-item .jtg-social a{text-decoration:none;color:#fff;display:inline-block;margin:0 10px 0 0;width:20px;padding:6px 4px;border:0;opacity:0;transition:opacity .3s}.modula .modula-item .jtg-social svg{width:20px;height:16px}.modula .modula-item:hover .jtg-social a{opacity:1}.modula .modula-items .jtg-social{opacity:0;transition:opacity .1s;right:30px;position:absolute;bottom:20px;text-align:right;transition:all .3s}.modula .modula-items .jtg-social{opacity:1}.modula .modula-items .jtg-social a:last-of-type{margin-right:0}.modula .modula-item.effect-pufrobo p.description{margin-bottom:2em}.modula .modula-item.effect-pufrobo .figc{text-align:right}.modula .modula-item.effect-pufrobo h2,.modula .modula-item.effect-pufrobo p{position:absolute;right:30px;left:30px;padding:10px 0}.modula .modula-item:hover img{opacity:.8}.modula .modula-item{background-color:#000}.modula .modula-item.effect-pufrobo p{bottom:20%;line-height:1.5;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);letter-spacing:1px}.modula .modula-item.effect-pufrobo h2{top:10%;-webkit-transition:-webkit-transform .35s;transition:transform .35s;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}.modula .modula-item.effect-pufrobo:hover h2{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modula .modula-item.effect-pufrobo h2::after{position:absolute;top:80%;left:0;width:100%;height:4px;background:#fff;content:'';-webkit-transform:translate3d(0,40px,0);transform:translate3d(0,40px,0)}.modula .modula-item.effect-pufrobo h2::after,.modula .modula-item.effect-pufrobo p{opacity:0;-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s}.modula .modula-item.effect-pufrobo:hover h2::after,.modula .modula-item.effect-pufrobo:hover p{margin-top:10px;margin-bottom:5px;opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modula-upsell{background:#f1f1f1;border:0;padding:15px;margin-top:30px}.modula-settings-container .modula-upsell{margin:30px}.form-table-wrapper .modula-upsell{border:1px solid #ddd;text-align:center}#poststuff .modula-upsell h2{margin:0 0 20px 0;font-size:16px;font-weight:700;background:#fff;left:-15px;top:-15px;padding:8px 12px;position:relative;width:calc(100% + 6px);border-bottom:1px solid #ddd}.modula-upsell p{margin:0}.modula-upsell p.modula-upsell-description{font-size:13px;line-height:1.5;color:#333;opacity:.8;margin-top:0;margin-bottom:10px;padding:0 10px}.modula-upsell .button{height:31px;line-height:31px;font-weight:700}.modula-upsell .button:first-child{margin-right:10px}.modula-upsell .action-link,.modula-upsell .action-link:hover{background:#51ad31;border-color:#51ad31;color:#fff;font-weight:700}#modula-uploader-container{position:relative;padding-left:10px;padding-right:10px}#modula-uploader-container.modula-resizer-enabled{margin-bottom:20px}.modula-upload-actions{padding:15px 20px;background-color:#f8fcfd;border-bottom:1px solid #ecf6f9;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box}.modula-upload-actions .buttons{flex-shrink:0;width:275px;display:flex}.modula-sources-dropdown{position:relative;border-top:1px solid rgba(255,255,255,0);border-right:1px solid rgba(255,255,255,0);border-left:1px solid rgba(255,255,255,0)}.modula-sources-dropdown:hover{border-color:#ddd;background:#f5f5f5}.modula-sources-dropdown>span{width:28px;height:32px;text-align:center;line-height:28px;cursor:pointer;display:inline-block;font-size:25px;font-weight:700}.modula-sources-dropdown .modula-sources-dropdown-content{position:absolute;right:-1px;bottom:0;transform:translateY(100%);display:none;padding:15px;background-color:#f5f5f5;box-shadow:0 1px 1px rgba(0,0,0,.04);box-sizing:border-box;border:1px solid #ddd}.modula-sources-dropdown:hover .modula-sources-dropdown-content{display:block}.modula-sources-dropdown:hover .modula-sources-dropdown-content:before{content:"";height:1px;width:28px;background-color:#f5f5f5;position:absolute;top:-1px;right:0}.segrip.ui-resizable-se{width:30px;height:30px;background:url(../images/resize-se.svg) no-repeat;background-size:contain;display:none;z-index:100;opacity:1}.modula-resizer-enabled .segrip.ui-resizable-se{display:block}.modula-upload-actions #modula-uploader-browser{border-bottom-right-radius:0;border-top-right-radius:0}.modula-upload-actions #modula-wp-gallery{border-bottom-left-radius:0;border-top-left-radius:0}.wp-core-ui .modula-upload-actions>a{margin:0 5px}#modula-dropzone-container{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,86,132,.9);z-index:250000;display:none;text-align:center;opacity:0;transition:opacity 250ms}#modula-dropzone-container .modula-uploader-window-content{position:absolute;top:10px;left:10px;right:10px;bottom:10px;border:1px dashed #fff}#poststuff #modula-dropzone-container .modula-uploader-window-content h1{margin:-.5em 0 0;position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:20px;line-height:28px;font-weight:400;color:#fff;padding:0}.modula-uploader-inline-content{position:relative;min-height:300px;width:100%}.modula-resizer-enabled .modula-uploader-inline-content{min-height:initial}.modula-uploader-inline-content h2{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#poststuff .modula-upload-message{font-size:43px;line-height:1;font-weight:400;margin:0;display:none;color:#ebebeb}#poststuff .modula-upload-message .dashicons,#poststuff .modula-upload-message .dashicons-before:before{font-size:43px;width:43px;height:43px}.modula-uploader-inline p{font-size:12px;margin:.5em 0}#poststuff .modula-uploader-inline .modula-upload-instructions{font-size:14px;color:#444;font-weight:400;padding:0}.modula-uploader-footer .max-upload-size{float:left}.modula-uploader-footer .modula-upload-numbers{float:right;opacity:0}.modula-uploader-footer:after{display:block;content:"";clear:both}.upload-progress .modula-upload-numbers{margin:0;line-height:1.4em}.modula-progress-bar{width:100%;max-width:400px;position:relative;height:2px;margin:8px 0 0;border-radius:10px;background:#e5e5e5}.upload-info-container{position:relative;overflow:hidden;flex-grow:1}.upload-info-container .upload-info{padding:5px 0}.upload-info-container .upload-progress{position:absolute;background-color:#f8fcfd;height:100%;display:flex;top:0;left:0;width:100%;flex-direction:column;transition:transform .5s;transform:translateY(100%)}.modula-upload-actions.show-progress .upload-info-container .upload-progress{transform:translateY(0)}.modula-progress-bar .modula-progress-bar-inner{height:2px;min-width:20px;width:0;background:#0085ba;-webkit-transition:width .3s;-moz-transition:width .3s;-ms-transition:width .3s;-o-transition:width .3s;transition:width .3s;border-radius:5px}.modula-uploader-footer.show-progress .modula-progress-bar,.modula-uploader-footer.show-progress .modula-upload-numbers{opacity:1}.modula-uploader-inline-content .modula-single-image,.modula-uploader-inline-content .modula-single-image-placeholder{cursor:move;display:inline-block;padding:0 10px 20px 0;box-sizing:border-box;width:16.66%}.modula-uploader-inline-content .modula-single-image-placeholder:after{width:100%;height:100%;display:inline-block;content:"";position:relative;border:3px dashed #444;padding-top:calc(100% - 6px);box-sizing:border-box}.modula-uploader-inline-content .modula-single-image .modula-single-image-content{position:relative;border:1px solid #d6d6d6;box-sizing:border-box;background-position:center;background-size:cover}.modula-uploader-inline-content .modula-single-image .modula-single-image-content img{display:block;width:100%}#poststuff .modula-uploader-inline-content>.modula-upload-message:only-child{display:block}.modula-uploader-inline-content .modula-single-image .actions{position:absolute;z-index:99;font-size:0;width:100%;height:100%;top:0;left:0;background:rgba(0,0,0,.4);padding:5px;box-sizing:border-box;display:none}.modula-uploader-inline-content .modula-single-image:hover .actions{display:block}.modula-uploader-inline-content .modula-single-image .actions a{width:20px;height:20px;border-radius:100%;border:1px solid #000;background-color:rgba(255,255,255,.8);color:#000;display:block;text-decoration:none;text-align:center;line-height:20px;margin-bottom:5px}.modula-uploader-inline-content .modula-single-image .actions a:hover{background-color:#000;color:#fff}.modula-uploader-inline-content .modula-single-image .actions a span{font-size:16px;width:20px;height:20px;line-height:20px}.modula-uploader-inline-content .modula-single-image .actions a.modula-delete-image{color:#a00a00}.modula-uploader-inline-content .modula-single-image .actions a.modula-delete-image:hover{background-color:#a00a00;color:#fff}.modula-uploader-inline-content:after{content:"";display:block;clear:both}.media-modal .modula-edit-popup.edit-attachment-frame .edit-media-header button.right{border-right:1px solid #ddd}.media-modal .modula-edit-popup .attachment-details .attachment-info .settings .setting{margin:0 0 20px 0;padding:0 0 20px 0;border-bottom:1px solid #ddd}.media-modal .modula-edit-popup .attachment-details .attachment-info .settings .setting span.name{display:block;width:100%;min-width:100%;margin:0;padding:0;text-align:left;font-weight:700;font-size:14px}.media-modal .modula-edit-popup .attachment-details .attachment-info .settings .setting input[type=text],.media-modal .modula-edit-popup .attachment-details .attachment-info .settings .setting textarea{display:block;width:100%;min-width:100%;margin:0}.media-modal .modula-edit-popup .attachment-details .attachment-info .settings .setting div.description{clear:both;float:left;margin:5px 0 0 0;text-align:left;font-size:13px;font-style:italic;color:#666}.media-modal .modula-edit-popup .attachment-details .attachment-info .settings{margin:0;padding:0;border:none}.media-modal .attachment-info .actions a{display:inline-block}.inline-input{display:inline}.ui-draggable.ui-resizable>.segrip{width:10px;height:10px;background:red;position:absolute;bottom:0;right:0}.ui-draggable.ui-resizable .modula-single-image-content img{display:none}.ui-draggable.ui-resizable .modula-single-image-content{width:100%;height:100%}.ui-draggable.ui-resizable.modula-single-image{padding:0}.packery-drop-placeholder{outline:3px dashed #444;outline-offset:-6px;-webkit-transition:-webkit-transform .2s;transition:transform .2s}.ui-resizable-helper{border:3px dashed #444;box-sizing:border-box}#poststuff #modula-preview-gallery h2.hndle,#poststuff #modula-settings h2.hndle{padding-left:20px}#poststuff #modula-preview-gallery .inside{margin-top:0;padding:0}.modula-edit-popup .attachment-details .setting span.description>span{display:inline-block;float:none;width:auto;min-width:unset;line-height:16px;min-height:16px;margin-top:8px;padding:0;vertical-align:middle;margin-right:0}.modula-edit-popup .attachment-details .setting span.description{text-align:left;vertical-align:middle}.modula-media-modal .attachments-browser .media-toolbar .media-toolbar-secondary{width:100%}.modula-error-container{display:block}.modula-error-container.hide{display:none}.modula-error-container .modula-error{padding:12px;margin-bottom:12px;background:#fff;border-left:4px solid #dc3232;box-shadow:0 0 4px 0 rgba(0,0,0,.1);font-weight:600;margin-top:5px;position:relative;background-color:#dc3232;color:#fff}.modula-error-container .modula-error a{color:#fff}.modula-error-container .modula-error .upload-dismiss-errors{position:absolute;top:50%;right:-5px;padding:10px;transition:none;display:block;text-decoration:none;margin-top:-18px}.modula-error-container .modula-error .upload-dismiss-errors:before{content:"\f153";display:block;font:400 16px/1 dashicons;color:#fff}a.modula-tab-link{text-decoration:none}.modula-tab-link span.dashicons{width:16px;height:16px;line-height:16px;margin-right:3px;vertical-align:text-bottom;font-size:16px;text-decoration:none}#modula-grid{height:100%;position:absolute;overflow:hidden;top:0;left:0;width:100%}#modula-grid .modula-grid-item{background-color:#fafafa;float:left}#modula-grid .modula-grid-item:nth-child(12n){margin-right:0!important}#modula-grid:after{content:"";display:block;clear:both}.modula-tooltip{position:relative;display:inline-block;float:left;margin-right:10px}.modula-tooltip>span{cursor:pointer;color:#0073aa;text-decoration:underline;margin-left:5px}.modula-tooltip .modula-tooltip-content{display:none;position:absolute;top:50%;right:-10px;transform:translate(100% ,-50%);width:300px;background:#000;color:#fff;padding:10px;box-sizing:border-box;z-index:99}.modula-tooltip .modula-tooltip-content:before{content:'';width:0;height:0;border-style:solid;border-width:8px 8px 8px 0;border-color:transparent #000 transparent transparent;display:block;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}.modula-tooltip:hover .modula-tooltip-content{display:block}.modula-helper-guidelines-container{padding:15px 20px;background-color:#f8fcfd;display:flex;align-items:center;border-top:1px solid #ecf6f9;z-index:999;position:relative}.modula-helper-guidelines-container .onoffswitch{margin-top:0}.modula-helper-guidelines-wrapper .modula-helper-guidelines-label{margin-left:5px}.modula-helper-guidelines-container.modula-guidelines-display{display:none}.modula-creative-gallery.modula-uploader-inline-content .modula-single-image .modula-single-image-content{background:#eee!important;position:relative;overflow:hidden}.modula-creative-gallery.modula-uploader-inline-content .modula-single-image-content:before{content:"";display:block;padding-top:100%}.modula-creative-gallery.modula-uploader-inline-content .modula-single-image-content img{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.modula-creative-gallery.modula-uploader-inline-content .modula-single-image-content.landscape img{max-height:100%}.modula-creative-gallery.modula-uploader-inline-content .modula-single-image-content.portrait img{max-width:100%}.modula-toggle{position:relative;position:relative;user-select:none;display:inline-block}.modula-toggle__items{box-sizing:border-box;display:inline-block;position:relative}.modula-toggle__items>*{box-sizing:inherit}.modula-toggle__input[type=checkbox]{border-radius:2px;border:2px solid #6c7781;margin-right:12px;transition:none;height:100%;left:0;top:0;margin:0;padding:0;opacity:0;position:absolute;width:100%;z-index:1}.modula-toggle__track{background-color:#fff;border:2px solid #6c7781;border-radius:9px;display:inline-block;height:18px;width:36px;vertical-align:top;transition:background .2s ease}.modula-toggle__thumb{background-color:#6c7781;border:5px solid #6c7781;border-radius:50%;display:block;height:10px;width:10px;position:absolute;left:4px;top:4px;transition:transform .2s ease}.modula-toggle__off{position:absolute;right:6px;top:6px;color:#6c7781;fill:currentColor}.modula-toggle__on{position:absolute;top:6px;left:8px;border:1px solid #fff;outline:1px solid transparent;outline-offset:-1px;display:none}.modula-toggle__input[type=checkbox]:checked+.modula-toggle__items .modula-toggle__track{background-color:#11a0d2;border:9px solid transparent}.modula-toggle__input[type=checkbox]:checked+.modula-toggle__items .modula-toggle__thumb{background-color:#fff;border-width:0;transform:translateX(18px)}.modula-toggle__input[type=checkbox]:checked+.modula-toggle__items .modula-toggle__off{display:none}.modula-toggle__input[type=checkbox]:checked+.modula-toggle__items .modula-toggle__on{display:inline-block}p.description.alert{color:red}tr.troubleshoot-subfield.hide{display:none}.modula-copy-shortcode{display:flex;align-items:center;flex-wrap:wrap}.modula-copy-shortcode input{margin:0;border-top-right-radius:0;border-bottom-right-radius:0;flex-grow:1}.modula-copy-shortcode span{width:100%}.wp-core-ui .modula-copy-shortcode a.button-primary{height:30px;border-top-left-radius:0;border-bottom-left-radius:0}@keyframes carousel{0%{transform:translateX(0);opacity:1!important}50%{transform:translateX(0);opacity:1!important}51%{transform:translateX(-100%);opacity:1!important}99%{transform:translateX(-100%);opacity:1!important}100%{transform:translateX(-200%);opacity:1!important}}.modula-upsells-carousel-wrapper{position:relative;display:flex;overflow:hidden}.modula-upsells-carousel{flex-shrink:0;position:relative;display:block;width:100%}.modula-upsells-carousel .modula-upsell-item{position:relative;width:100%;flex-shrink:0;margin-top:0;left:-15px}.modula-upsells-carousel .modula-upsell-item{text-align:center}.modula-upsells-carousel .modula-upsell-item ul.modula-upsells-list{padding-left:40px}.modula-upsells-carousel .modula-upsell-item ul li{position:relative;list-style-type:none!important;text-align:left}#modula-albums-upsell .modula-upsells-carousel .modula-upsell-item ul li{display:inline-block;margin:0 15px 15px 35px}.modula-upsells-carousel .modula-upsell-item ul li:before{font-family:Dashicons;content:"\f147";position:absolute;left:-30px;font-size:14px;color:green;background-color:#fff;padding:0 3px;border-radius:50%;border:1px solid #ddd;top:-1px}#modula-albums-upsell>button.handlediv,#modula-albums-upsell>h2.hndle.ui-sortable-handle,#modula-sorting-upsell>button.handlediv,#modula-sorting-upsell>h2.hndle.ui-sortable-handle{display:none}#modula-albums-upsell>.inside,#modula-sorting-upsell>.inside{padding:0;margin:0 auto}.cm-s-dracula .CodeMirror-gutters,.cm-s-dracula.CodeMirror{background-color:#282a36!important;color:#f8f8f2!important;border:none}.cm-s-dracula .CodeMirror-gutters{color:#282a36}.cm-s-dracula .CodeMirror-cursor{border-left:solid thin #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-selected{background:rgba(255,255,255,.1)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:rgba(255,255,255,.1)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:rgba(255,255,255,.1)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-keyword{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute{color:#50fa7b}.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-type,.cm-s-dracula span.cm-variable-3{color:#ffb86c}.cm-s-dracula .CodeMirror-activeline-background{background:rgba(255,255,255,.1)}.cm-s-dracula .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}#modula_troubleshooting_option .modula-select label{margin-right:10px}#modula_troubleshooting_option .modula-select label:last-child{margin-right:0}#modula_troubleshooting_option td>.wrap.modula{margin:0 auto}#modula_troubleshooting_option td>.wrap.modula .modula-toggle{margin-top:0}#modula-albums-upsell h2{margin:0!important}.modula-settings-container input[type=number]{max-width:80px}.modula-after-input{margin-left:5px}.modula-scaling-effect-preview{position:relative;max-width:900px;width:100%;margin:0 auto;margin-top:20px}.modula-scaling-effect-preview .modula-item{transition:.6s all;z-index:9999;float:left;margin:10px}.modula-scaling-effect-preview a#test-scaling-preview{margin-top:25px;margin-left:10px}#modula-shortcode .modula-copy-shortcode{margin:10px auto}#modula-shortcode .inside{padding:0 12px 2.5px!important}.shortcode-description{margin:10px 0 0 0;border-bottom:1px solid #ddd;color:#696969;padding-bottom:10px}.modula-imagesize-info span{font-weight:700}.modula-settings-container .selectize-dropdown{cursor:pointer}
assets/css/{modula-gutenberg.css → admin/modula-gutenberg.css} RENAMED
@@ -11,7 +11,7 @@
11
  .modula-block-preview__logo {
12
  width: 100%;
13
  height: 60px;
14
- background: url(../images/block-preview-bg.svg) no-repeat 50% 0%;
15
  background-size: 75%; }
16
 
17
  .modula-block-preview__content {
11
  .modula-block-preview__logo {
12
  width: 100%;
13
  height: 60px;
14
+ background: url(../../images/block-preview-bg.svg) no-repeat 50% 0%;
15
  background-size: 75%; }
16
 
17
  .modula-block-preview__content {
assets/css/{modula-gutenberg.min.css → admin/modula-gutenberg.min.css} RENAMED
File without changes
assets/css/{modula-importer.css → admin/modula-importer.css} RENAMED
File without changes
assets/css/admin/modula-notices.css ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .modula-feedback-notice,
2
+ .modula-lightbox-upgrade-notice{
3
+ padding: 22px;
4
+ border: 2px solid #2ebf91;
5
+ margin-top: 20px;
6
+ position: relative;
7
+ }
8
+ .modula-feedback-notice .notice-dismiss,
9
+ .modula-lightbox-upgrade-notice .notice-dismiss {
10
+ text-decoration: none;
11
+ }
12
+ .notice p.modula-feedback-title {
13
+ font-size: 26px;
14
+ font-weight: bold;
15
+ display: flex;
16
+ align-items: center;
17
+ margin-top: 0;
18
+ }
19
+ .modula-feedback-title svg {
20
+ width: 35px;
21
+ margin-right: 10px;
22
+ }
23
+ .modula-feedback-title svg path {
24
+ fill: #2ebf91;
25
+ }
26
+
27
+
28
+ .modula-cutsom-notice {
29
+ overflow: hidden;
30
+ }
31
+
32
+ .modula-cutsom-notice > svg {
33
+ display: block;
34
+ position: absolute;
35
+ left: 0;
36
+ top: 0;
37
+ width: 200px;
38
+ height: auto;
39
+ color: #2ebf91;
40
+ transform: translate(-30%, -30%);
41
+ }
42
+
43
+ .modula-cutsom-notice > svg path {
44
+ fill: #2ebf91;
45
+ }
46
+ .modula-cutsom-notice p,
47
+ .modula-cutsom-notice a:not( .notice-dismiss ) {
48
+ position: relative;
49
+ z-index: 2;
50
+ }
51
+
52
+ .modula-cutsom-notice p {
53
+ text-align: center;
54
+ }
55
+ .modula-cutsom-notice .modula-feedback-title {
56
+ justify-content: center;
57
+ }
58
+ .modula-cutsom-notice p:not( .modula-feedback-title ){
59
+ max-width: 1100px;
60
+ margin: 20px auto;
61
+ }
62
+ .modula-cutsom-notice a:not( .notice-dismiss ) {
63
+ display: block;
64
+ width: fit-content;
65
+ margin-left: auto;
66
+ margin-right: auto;
67
+ }
assets/css/{selectize.default.css → admin/selectize.default.css} RENAMED
File without changes
assets/css/{selectize.min.css → admin/selectize.min.css} RENAMED
File without changes
assets/css/admin/slick-theme.css ADDED
@@ -0,0 +1,194 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @charset 'UTF-8';
2
+ /* Slider */
3
+ /* Icons */
4
+ /*
5
+ * Using CSS instead of fonts
6
+ */
7
+
8
+ /* Arrows */
9
+ .slick-prev,
10
+ .slick-next
11
+ {
12
+ font-size: 0;
13
+ line-height: 0;
14
+
15
+ position: absolute;
16
+ top: 50%;
17
+
18
+ display: block;
19
+
20
+ width: 20px;
21
+ height: 20px;
22
+ padding: 0;
23
+ -webkit-transform: translate(0, -50%);
24
+ -ms-transform: translate(0, -50%);
25
+ transform: translate(0, -50%);
26
+
27
+ cursor: pointer;
28
+
29
+ color: transparent;
30
+ border: none;
31
+ outline: none;
32
+ background: transparent;
33
+ }
34
+ .slick-prev:hover,
35
+ .slick-prev:focus,
36
+ .slick-next:hover,
37
+ .slick-next:focus
38
+ {
39
+ color: transparent;
40
+ outline: none;
41
+ background: transparent;
42
+ }
43
+ .slick-prev:hover:before,
44
+ .slick-prev:focus:before,
45
+ .slick-next:hover:before,
46
+ .slick-next:focus:before
47
+ {
48
+ opacity: 1;
49
+ }
50
+ .slick-prev.slick-disabled:before,
51
+ .slick-next.slick-disabled:before
52
+ {
53
+ opacity: .25;
54
+ }
55
+
56
+ .slick-prev:before,
57
+ .slick-next:before
58
+ {
59
+ font-family: 'slick';
60
+ font-size: 20px;
61
+ line-height: 1;
62
+
63
+ opacity: .75;
64
+ color: white;
65
+
66
+ -webkit-font-smoothing: antialiased;
67
+ -moz-osx-font-smoothing: grayscale;
68
+ }
69
+
70
+ .slick-prev
71
+ {
72
+ left: -25px;
73
+ }
74
+ [dir='rtl'] .slick-prev
75
+ {
76
+ right: -25px;
77
+ left: auto;
78
+ }
79
+ .slick-prev:before
80
+ {
81
+ content: '←';
82
+ }
83
+ [dir='rtl'] .slick-prev:before
84
+ {
85
+ content: '→';
86
+ }
87
+
88
+ .slick-next
89
+ {
90
+ right: -25px;
91
+ }
92
+ [dir='rtl'] .slick-next
93
+ {
94
+ right: auto;
95
+ left: -25px;
96
+ }
97
+ .slick-next:before
98
+ {
99
+ content: '→';
100
+ }
101
+ [dir='rtl'] .slick-next:before
102
+ {
103
+ content: '←';
104
+ }
105
+
106
+ /* Dots */
107
+ .slick-dotted.slick-slider
108
+ {
109
+ margin-bottom: 30px;
110
+ }
111
+
112
+ .slick-dots
113
+ {
114
+ position: absolute;
115
+ bottom: -25px;
116
+
117
+ display: block;
118
+
119
+ width: 100%;
120
+ padding: 0;
121
+ margin: 0;
122
+
123
+ list-style: none;
124
+
125
+ text-align: center;
126
+ }
127
+ .slick-dots li
128
+ {
129
+ position: relative;
130
+
131
+ display: inline-block;
132
+
133
+ width: 20px;
134
+ height: 20px;
135
+ margin: 0 5px;
136
+ padding: 0;
137
+
138
+ cursor: pointer;
139
+ }
140
+ .slick-dots li button
141
+ {
142
+ font-size: 0;
143
+ line-height: 0;
144
+
145
+ display: block;
146
+
147
+ width: 20px;
148
+ height: 20px;
149
+ padding: 5px;
150
+
151
+ cursor: pointer;
152
+
153
+ color: transparent;
154
+ border: 0;
155
+ outline: none;
156
+ background: transparent;
157
+ }
158
+ .slick-dots li button:hover,
159
+ .slick-dots li button:focus
160
+ {
161
+ outline: none;
162
+ }
163
+ .slick-dots li button:hover:before,
164
+ .slick-dots li button:focus:before
165
+ {
166
+ opacity: 1;
167
+ }
168
+ .slick-dots li button:before
169
+ {
170
+ font-family: 'slick';
171
+ font-size: 6px;
172
+ line-height: 20px;
173
+
174
+ position: absolute;
175
+ top: 0;
176
+ left: 0;
177
+
178
+ width: 20px;
179
+ height: 20px;
180
+
181
+ content: '•';
182
+ text-align: center;
183
+
184
+ opacity: .25;
185
+ color: black;
186
+
187
+ -webkit-font-smoothing: antialiased;
188
+ -moz-osx-font-smoothing: grayscale;
189
+ }
190
+ .slick-dots li.slick-active button:before
191
+ {
192
+ opacity: .75;
193
+ color: black;
194
+ }
assets/css/admin/slick.css ADDED
@@ -0,0 +1,119 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Slider */
2
+ .slick-slider
3
+ {
4
+ position: relative;
5
+
6
+ display: block;
7
+ box-sizing: border-box;
8
+
9
+ -webkit-user-select: none;
10
+ -moz-user-select: none;
11
+ -ms-user-select: none;
12
+ user-select: none;
13
+
14
+ -webkit-touch-callout: none;
15
+ -khtml-user-select: none;
16
+ -ms-touch-action: pan-y;
17
+ touch-action: pan-y;
18
+ -webkit-tap-highlight-color: transparent;
19
+ }
20
+
21
+ .slick-list
22
+ {
23
+ position: relative;
24
+
25
+ display: block;
26
+ overflow: hidden;
27
+
28
+ margin: 0;
29
+ padding: 0;
30
+ }
31
+ .slick-list:focus
32
+ {
33
+ outline: none;
34
+ }
35
+ .slick-list.dragging
36
+ {
37
+ cursor: pointer;
38
+ cursor: hand;
39
+ }
40
+
41
+ .slick-slider .slick-track,
42
+ .slick-slider .slick-list
43
+ {
44
+ -webkit-transform: translate3d(0, 0, 0);
45
+ -moz-transform: translate3d(0, 0, 0);
46
+ -ms-transform: translate3d(0, 0, 0);
47
+ -o-transform: translate3d(0, 0, 0);
48
+ transform: translate3d(0, 0, 0);
49
+ }
50
+
51
+ .slick-track
52
+ {
53
+ position: relative;
54
+ top: 0;
55
+ left: 0;
56
+
57
+ display: block;
58
+ margin-left: auto;
59
+ margin-right: auto;
60
+ }
61
+ .slick-track:before,
62
+ .slick-track:after
63
+ {
64
+ display: table;
65
+
66
+ content: '';
67
+ }
68
+ .slick-track:after
69
+ {
70
+ clear: both;
71
+ }
72
+ .slick-loading .slick-track
73
+ {
74
+ visibility: hidden;
75
+ }
76
+
77
+ .slick-slide
78
+ {
79
+ display: none;
80
+ float: left;
81
+
82
+ height: 100%;
83
+ min-height: 1px;
84
+ }
85
+ [dir='rtl'] .slick-slide
86
+ {
87
+ float: right;
88
+ }
89
+ .slick-slide img
90
+ {
91
+ display: block;
92
+ }
93
+ .slick-slide.slick-loading img
94
+ {
95
+ display: none;
96
+ }
97
+ .slick-slide.dragging img
98
+ {
99
+ pointer-events: none;
100
+ }
101
+ .slick-initialized .slick-slide
102
+ {
103
+ display: block;
104
+ }
105
+ .slick-loading .slick-slide
106
+ {
107
+ visibility: hidden;
108
+ }
109
+ .slick-vertical .slick-slide
110
+ {
111
+ display: block;
112
+
113
+ height: auto;
114
+
115
+ border: 1px solid transparent;
116
+ }
117
+ .slick-arrow.slick-hidden {
118
+ display: none;
119
+ }
assets/css/admin/uninstall.css ADDED
@@ -0,0 +1,113 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .modula-uninstall-form-active .modula-uninstall-form-bg {
2
+ background: rgba(0, 0, 0, .5);
3
+ position: fixed;
4
+ top: 0;
5
+ left: 0;
6
+ width: 100%;
7
+ height: 100%;
8
+ }
9
+
10
+ .modula-uninstall-form-wrapper {
11
+ position: fixed;
12
+ z-index: 999;
13
+ display: none;
14
+ width: 100%;
15
+ height: 100%;
16
+ top: 0;
17
+ left: 0;
18
+ right: 0;
19
+ bottom: 0;
20
+ margin: 0 auto;
21
+ }
22
+
23
+ .modula-uninstall-form-wrapper .uninstall {
24
+ text-align: center;
25
+ }
26
+
27
+ .modula-uninstall-form-active .modula-uninstall-form-wrapper {
28
+ display: block;
29
+ z-index: 999;
30
+ }
31
+
32
+ .modula-uninstall-form {
33
+ display: none;
34
+ }
35
+
36
+ .modula-uninstall-form-active .modula-uninstall-form {
37
+ position: absolute;
38
+ left: 0;
39
+ right: 0;
40
+ margin: 0 auto;
41
+ top: 50%;
42
+ transform: translateY(-50%);
43
+ max-width: 600px;
44
+ background: #fff;
45
+ white-space: normal;
46
+ }
47
+
48
+ .modula-uninstall-form-head {
49
+ background: #774cce;
50
+ padding: 8px 18px;
51
+ position: relative;
52
+ }
53
+
54
+ .modula-uninstall-form-head h3 {
55
+ color: #fff;
56
+ }
57
+
58
+ .modula-uninstall-form-body {
59
+ padding: 8px 18px;
60
+ color: #444;
61
+ }
62
+
63
+ .deactivating-spinner {
64
+ display: none;
65
+ }
66
+
67
+ .deactivating-spinner .spinner {
68
+ float: none;
69
+ margin: 4px 4px 0 18px;
70
+ vertical-align: bottom;
71
+ visibility: visible;
72
+ }
73
+
74
+ .toggle-spinner .deactivating-spinner {
75
+ display: block !important;
76
+ }
77
+
78
+ .modula-uninstall-form-footer p {
79
+ display: flex;
80
+ align-items: center;
81
+ justify-content: space-between;
82
+ }
83
+
84
+ .modula-uninstall-form.process-response .modula-uninstall-form-body {
85
+ position: relative;
86
+ }
87
+
88
+ .modula-uninstall-form.process-response .modula-uninstall-form-body:after {
89
+ content: "";
90
+ display: block;
91
+ position: absolute;
92
+ top: 0;
93
+ left: 0;
94
+ width: 100%;
95
+ height: 100%;
96
+ background-color: rgba(255, 255, 255, .5);
97
+ }
98
+
99
+ .modula-uninstall-form-head .close-uninstall-form {
100
+ position: absolute;
101
+ right: 15px;
102
+ color: #fff;
103
+ font-family: Arial;
104
+ font-size: 14px;
105
+ display: inline-block;
106
+ top: 50%;
107
+ transform: translateY(-50%);
108
+ cursor: pointer;
109
+ }
110
+
111
+ .modula-red-text {
112
+ color:red;
113
+ }
assets/css/{welcome.css → admin/welcome.css} RENAMED
File without changes
assets/css/{welcome.min.css → admin/welcome.min.css} RENAMED
File without changes
assets/css/front.css ADDED
@@ -0,0 +1,2 @@
 
 
1
+ body.compensate-for-scrollbar{overflow:hidden}.modula-fancybox-active{height:auto}.modula-fancybox-is-hidden{left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}.modula-fancybox-container{-webkit-backface-visibility:hidden;height:100%;left:0;outline:0;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;transform:translateZ(0);width:100%;z-index:99992}.modula-fancybox-container *{box-sizing:border-box}.modula-fancybox-bg,.modula-fancybox-inner,.modula-fancybox-outer,.modula-fancybox-stage{bottom:0;left:0;position:absolute;right:0;top:0}.modula-fancybox-outer{-webkit-overflow-scrolling:touch;overflow-y:auto}.modula-fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.modula-fancybox-is-open .modula-fancybox-bg{opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.modula-fancybox-container .modula-fancybox-caption,.modula-fancybox-container .modula-fancybox-infobar,.modula-fancybox-container .modula-fancybox-navigation .modula-fancybox-button,.modula-fancybox-container .modula-fancybox-toolbar{direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}.modula-fancybox-show-caption .modula-fancybox-caption,.modula-fancybox-show-infobar .modula-fancybox-infobar,.modula-fancybox-show-nav .modula-fancybox-navigation .modula-fancybox-button,.modula-fancybox-show-toolbar .modula-fancybox-toolbar{opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}.modula-fancybox-container .modula-fancybox-infobar{color:#ccc;font-size:13px;-webkit-font-smoothing:subpixel-antialiased;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.modula-fancybox-container .modula-fancybox-toolbar{right:0;top:0}.modula-fancybox-stage{direction:ltr;overflow:visible;transform:translateZ(0);z-index:99994}.modula-fancybox-is-open .modula-fancybox-stage{overflow:hidden}.modula-fancybox-slide{-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:transform,opacity;white-space:normal;width:100%;z-index:99994}.modula-fancybox-slide::before{content:'';display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}.modula-fancybox-is-sliding .modula-fancybox-slide,.modula-fancybox-slide--current,.modula-fancybox-slide--next,.modula-fancybox-slide--previous{display:block}.modula-fancybox-slide--image{overflow:hidden;padding:44px 0}.modula-fancybox-slide--image::before{display:none}.modula-fancybox-slide--html{padding:6px}.modula-fancybox-content{background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:relative;text-align:left;vertical-align:middle}.modula-fancybox-slide--image .modula-fancybox-content{animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:0 0;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;-ms-transform-origin:top left;transform-origin:top left;transition-property:transform,opacity;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}.modula-fancybox-can-zoomOut .modula-fancybox-content{cursor:zoom-out}.modula-fancybox-can-zoomIn .modula-fancybox-content{cursor:zoom-in}.modula-fancybox-can-pan .modula-fancybox-content,.modula-fancybox-can-swipe .modula-fancybox-content{cursor:-webkit-grab;cursor:grab}.modula-fancybox-is-grabbing .modula-fancybox-content{cursor:-webkit-grabbing;cursor:grabbing}.modula-fancybox-container [data-selectable=true]{cursor:text}.modula-fancybox-image,.modula-fancybox-spaceball{background:0 0;border:0;height:100%;left:0;margin:0;max-height:none;max-width:none;padding:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.modula-fancybox-spaceball{z-index:1}.modula-fancybox-slide--iframe .modula-fancybox-content,.modula-fancybox-slide--map .modula-fancybox-content,.modula-fancybox-slide--pdf .modula-fancybox-content,.modula-fancybox-slide--video .modula-fancybox-content{height:100%;overflow:visible;padding:0;width:100%}.modula-fancybox-slide--video .modula-fancybox-content{background:#000}.modula-fancybox-slide--map .modula-fancybox-content{background:#e5e3df}.modula-fancybox-slide--iframe .modula-fancybox-content{background:#fff}.modula-fancybox-iframe,.modula-fancybox-video{background:0 0;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.modula-fancybox-iframe{left:0;position:absolute;top:0}.modula-fancybox-error{background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}.modula-fancybox-error p{color:#444;font-size:16px;line-height:20px;margin:0;padding:0}.modula-fancybox-container .modula-fancybox-button{background:rgba(30,30,30,.6);border:0;border-radius:0;box-shadow:none;cursor:pointer;display:inline-block;height:44px;margin:0;padding:10px;position:relative;transition:color .2s;vertical-align:top;visibility:inherit;width:44px}.modula-fancybox-container .modula-fancybox-button,.modula-fancybox-container .modula-fancybox-button:link,.modula-fancybox-container .modula-fancybox-button:visited{color:#ccc}.modula-fancybox-container .modula-fancybox-button:hover{color:#fff}.modula-fancybox-container .modula-fancybox-button:focus{outline:0}.modula-fancybox-container .modula-fancybox-button.modula-fancybox-focus{outline:1px dotted}.modula-fancybox-container .modula-fancybox-button[disabled],.modula-fancybox-container .modula-fancybox-button[disabled]:hover{color:#888;cursor:default;outline:0}.modula-fancybox-container .modula-fancybox-button div{height:100%}.modula-fancybox-container .modula-fancybox-button svg{display:block;height:100%;overflow:visible;position:relative;width:100%}.modula-fancybox-container .modula-fancybox-button svg path{fill:currentColor;stroke-width:0}.modula-fancybox-container .modula-fancybox-button--fsenter svg:nth-child(2),.modula-fancybox-container .modula-fancybox-button--play svg:nth-child(2){display:none}.modula-fancybox-container .modula-fancybox-button--fsexit svg:nth-child(1),.modula-fancybox-container .modula-fancybox-button--pause svg:nth-child(1){display:none}.modula-fancybox-container .modula-fancybox-progress{background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;-ms-transform:scaleX(0);transform:scaleX(0);-ms-transform-origin:0;transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:99998}.modula-fancybox-container .modula-fancybox-close-small{background:0 0;border:0;border-radius:0;color:#ccc;cursor:pointer;opacity:.8;padding:8px;position:absolute;right:-12px;top:-44px;z-index:401}.modula-fancybox-container .modula-fancybox-close-small:hover{color:#fff;opacity:1}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-slide--html .modula-fancybox-close-small{color:#000;padding:10px;right:0;top:0;background-color:transparent}.modula-fancybox-slide--image.modula-fancybox-is-scaling .modula-fancybox-content{overflow:hidden}.modula-fancybox-is-scaling .modula-fancybox-close-small,.modula-fancybox-is-zoomable.modula-fancybox-can-pan .modula-fancybox-close-small{display:none}.modula-fancybox-navigation .modula-fancybox-button{background-clip:content-box;height:100px;opacity:0;position:absolute;top:calc(50% - 50px);width:70px}.modula-fancybox-navigation .modula-fancybox-button div{padding:7px}.modula-fancybox-navigation .modula-fancybox-button--arrow_left{left:0;left:env(safe-area-inset-left);padding:31px 26px 31px 6px}.modula-fancybox-navigation .modula-fancybox-button--arrow_right{padding:31px 6px 31px 26px;right:0;right:env(safe-area-inset-right)}.modula-fancybox-caption{background:linear-gradient(to top,rgba(0,0,0,.85) 0,rgba(0,0,0,.3) 50%,rgba(0,0,0,.15) 65%,rgba(0,0,0,.075) 75.5%,rgba(0,0,0,.037) 82.85%,rgba(0,0,0,.019) 88%,rgba(0,0,0,0) 100%);bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:75px 44px 25px 44px;pointer-events:none;right:0;text-align:center;z-index:99996}@supports (padding:max(0px)){.modula-fancybox-caption{padding:75px max(44px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(44px,env(safe-area-inset-left))}}.modula-fancybox-caption--separate{margin-top:-50px}.modula-fancybox-caption__body{max-height:50vh;overflow:auto;pointer-events:all}.modula-fancybox-caption a,.modula-fancybox-caption a:link,.modula-fancybox-caption a:visited{color:#ccc;text-decoration:none}.modula-fancybox-caption a:hover{color:#fff;text-decoration:underline}.modula-fancybox-loading{animation:fancybox-rotate 1s linear infinite;background:0 0;border:4px solid #888;border-bottom-color:#fff;border-radius:50%;height:50px;left:50%;margin:-25px 0 0 -25px;opacity:.7;padding:0;position:absolute;top:50%;width:50px;z-index:99999}@keyframes fancybox-rotate{100%{transform:rotate(360deg)}}.modula-fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.modula-fancybox-fx-slide.modula-fancybox-slide--previous{opacity:0;transform:translate3d(-100%,0,0)}.modula-fancybox-fx-slide.modula-fancybox-slide--next{opacity:0;transform:translate3d(100%,0,0)}.modula-fancybox-fx-slide.modula-fancybox-slide--current{opacity:1;transform:translate3d(0,0,0)}.modula-fancybox-fx-fade.modula-fancybox-slide--next,.modula-fancybox-fx-fade.modula-fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.modula-fancybox-fx-fade.modula-fancybox-slide--current{opacity:1}.modula-fancybox-fx-zoom-in-out.modula-fancybox-slide--previous{opacity:0;transform:scale3d(1.5,1.5,1.5)}.modula-fancybox-fx-zoom-in-out.modula-fancybox-slide--next{opacity:0;transform:scale3d(.5,.5,.5)}.modula-fancybox-fx-zoom-in-out.modula-fancybox-slide--current{opacity:1;transform:scale3d(1,1,1)}.modula-fancybox-fx-rotate.modula-fancybox-slide--previous{opacity:0;-ms-transform:rotate(-360deg);transform:rotate(-360deg)}.modula-fancybox-fx-rotate.modula-fancybox-slide--next{opacity:0;-ms-transform:rotate(360deg);transform:rotate(360deg)}.modula-fancybox-fx-rotate.modula-fancybox-slide--current{opacity:1;-ms-transform:rotate(0);transform:rotate(0)}.modula-fancybox-fx-circular.modula-fancybox-slide--previous{opacity:0;transform:scale3d(0,0,0) translate3d(-100%,0,0)}.modula-fancybox-fx-circular.modula-fancybox-slide--next{opacity:0;transform:scale3d(0,0,0) translate3d(100%,0,0)}.modula-fancybox-fx-circular.modula-fancybox-slide--current{opacity:1;transform:scale3d(1,1,1) translate3d(0,0,0)}.modula-fancybox-fx-tube.modula-fancybox-slide--previous{transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.modula-fancybox-fx-tube.modula-fancybox-slide--next{transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.modula-fancybox-fx-tube.modula-fancybox-slide--current{transform:translate3d(0,0,0) scale(1)}@media all and (max-height:576px){.modula-fancybox-slide{padding-left:6px;padding-right:6px}.modula-fancybox-slide--image{padding:6px 0}.modula-fancybox-close-small{right:-6px}.modula-fancybox-slide--image .modula-fancybox-close-small{background:#4e4e4e;color:#f2f4f6;height:36px;opacity:1;padding:6px;right:0;top:0;width:36px}.modula-fancybox-caption{padding-left:12px;padding-right:12px}@supports (padding:max(0px)){.modula-fancybox-caption{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share{background:#f4f4f4;border-radius:3px;max-width:90%;padding:30px;text-align:center}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share h1{color:#222;font-size:35px;font-weight:700;margin:0 0 20px 0}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share h1:after,.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share h1:before{display:none}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share p{margin:0;padding:0}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share__button{border:0;border-radius:3px;display:inline-block;font-size:14px;font-weight:700;line-height:40px;margin:0 5px 10px 5px;min-width:130px;padding:0 15px;text-decoration:none;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share__button:link,.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share__button:visited{color:#fff}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share__button:hover{text-decoration:none}.modula-fancybox-share__button--fb{background:#3b5998}.modula-fancybox-share__button--fb:hover{background:#344e86}.modula-fancybox-share__button--pt{background:#bd081d}.modula-fancybox-share__button--pt:hover{background:#aa0719}.modula-fancybox-share__button--tw{background:#1da1f2}.modula-fancybox-share__button--tw:hover{background:#0d95e8}.modula-fancybox-share__button svg{height:25px;margin-right:7px;position:relative;top:-1px;vertical-align:middle;width:25px;display:inline-block}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share__button svg path{fill:#fff}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share .modula-fancybox-share__input{background:0 0;border:0;border-bottom:1px solid #d7d7d7;border-radius:0;color:#5d5b5b;font-size:14px;margin:10px 0 0 0;outline:0;padding:10px 15px;width:100%}.modula-fancybox-container .modula-fancybox-thumbs{background:#ddd;bottom:0;display:none;margin:0;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;padding:2px 2px 4px 2px;position:absolute;right:0;-webkit-tap-highlight-color:transparent;top:0;width:212px;z-index:99995}.modula-fancybox-thumbs-x{overflow-x:auto;overflow-y:hidden}.modula-fancybox-show-thumbs .modula-fancybox-thumbs{display:block}.modula-fancybox-show-thumbs .modula-fancybox-inner{right:212px}.modula-fancybox-thumbs__list{font-size:0;height:100%;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;position:relative;white-space:nowrap;width:100%}.modula-fancybox-thumbs-x .modula-fancybox-thumbs__list{overflow:hidden}.modula-fancybox-thumbs-y .modula-fancybox-thumbs__list::-webkit-scrollbar{width:7px}.modula-fancybox-thumbs-y .modula-fancybox-thumbs__list::-webkit-scrollbar-track{background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.modula-fancybox-thumbs-y .modula-fancybox-thumbs__list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.modula-fancybox-thumbs__list a{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:rgba(0,0,0,.1);background-position:center center;background-repeat:no-repeat;background-size:cover;cursor:pointer;float:left;height:75px;margin:2px;max-height:calc(100% - 8px);max-width:calc(50% - 4px);outline:0;overflow:hidden;padding:0;position:relative;-webkit-tap-highlight-color:transparent;width:100px}.modula-fancybox-thumbs__list a::before{border:6px solid #ff5268;bottom:0;content:'';left:0;opacity:0;position:absolute;right:0;top:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);z-index:99991}.modula-fancybox-thumbs__list a:focus::before{opacity:.5}.modula-fancybox-thumbs__list a.modula-fancybox-thumbs-active::before{opacity:1}@media all and (max-width:576px){.modula-fancybox-thumbs{width:110px}.modula-fancybox-show-thumbs .modula-fancybox-inner{right:110px}.modula-fancybox-thumbs__list a{max-width:calc(100% - 10px)}}
2
+ .modula .modula-items .modula-item{position:absolute;overflow:hidden;box-sizing:border-box}.modula .modula-items .modula-item .modula-item-content{transition:transform .3s ease-out,opacity .2s linear,top .3s,left .6s;opacity:0}.modula .modula-items{position:relative;z-index:1;min-height:10px}.modula .modula-items .modula-item .modula-item-content>a{display:block;position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background:0 0}.modula.modula-creative-gallery .modula-items .modula-item .modula-item-content,.modula.modula-custom-grid .modula-items .modula-item .modula-item-content{height:100%}.modula .modula-items .modula-item .jtg-social{z-index:10;font-size:0}.modula:not(.modula-loaded-scale) .modula-items .modula-item.tg-loaded .modula-item-content,.modula:not(.modula-loaded-scale) .modula-items.justified-gallery .modula-item .modula-item-content{transform:scale(1) translate(0,0) rotate(0)!important;opacity:1}.modula .modula-items .modula-item img.pic{font-size:12px;position:absolute;max-width:999em;transition:width .3s,height .3s,transform .3s linear,opacity .2s linear}.modula.modula-columns .modula-items .modula-item img.pic{position:relative;max-width:100%;margin:0 auto}.modula .modula-items .modula-item.tg-loaded img.pic,.modula.modula-columns .modula-items .modula-item img.pic{display:block;opacity:1}.modula .modula-items .modula-item img.pic.lazyload,.modula .modula-items .modula-item img.pic.lazyloaded{display:block}.modula .modula-items .modula-item .caption .icon{font-size:14px;position:absolute;left:50%;top:50%;margin:-12px 0 0 -8px}.modula .modula-items .modula-item .figc{color:#fff;text-align:center;position:absolute;left:0;width:100%;padding:0;max-width:100%}.modula .modula-items .hidden .figc{display:none}.modula .modula-items .hidden:hover .figc{display:block}.modula .modula-items .visible .figc{display:block}.modula .modula-items .always-visible .figc{display:block}.modula .modula-items .visible:hover .figc{display:none}.modula .modula-items .caption span.text{display:block;padding:10px}.modula .modula-items .caption span.title{font-size:14px;font-weight:700}.modula .filters{margin:20px 0 20px 0}.modula .filters.vertical-filters{margin-top:0;width:20%;float:left}.modula .filters a{text-decoration:none;display:inline-block;color:#333;outline:0;transition:350ms ease-in}.modula .filters.menu--dfefault a{border-bottom:2px solid transparent}.modula .filters.colored a{border:0;color:#fff}.modula .filters:not(.styled-menu) a.selected,.modula .filters:not(.styled-menu) a:hover{border-bottom-color:#333;border-bottom:1px solid}body .modula.vertical-filters .modula-items{width:80%;float:left}body .modula:after{content:"";display:block;clear:both}.modula.vertical-filters .filters{width:20%;float:left}body .modula .filters.vertical-filters.both-vertical+.modula-items{width:60%;float:left}.modula .filters.vertical-filters a{display:block;margin-bottom:15px}.modula .filters.vertical-filters.colored a{border-radius:5px;text-align:center;background:#fff;border:1px solid #3498db;color:#3498db}.modula .filters.vertical-filters.colored a.selected,.modula .filters.vertical-filters.colored a:hover{background:#fff;color:#8e44ad;border-color:#8e44ad}.modula .filters.horizontal-filters.colored a{display:inline-block;padding:0 30px;margin-right:2px;background:#3498db;position:relative;border:0}.modula .filters.horizontal-filters.colored a.selected,.modula .filters.horizontal-filters.colored a:hover{background:#8e44ad}.modula .filters.horizontal-filters.colored a:before{position:absolute;content:'';left:0;top:0;width:0;height:0;border:none;border-bottom-color:currentcolor;border-bottom-style:none;border-bottom-width:medium;border-left-color:currentcolor;border-left-style:none;border-left-width:medium;border-left:solid 17px #fff;border-bottom:solid 41px transparent;z-index:1;transition:.4s}.modula .filters.horizontal-filters.colored a:after{position:absolute;content:'';right:0;top:0;width:0;height:0;border:none;border-bottom-color:currentcolor;border-bottom-style:none;border-bottom-width:medium;border-left-color:currentcolor;border-left-style:none;border-left-width:medium;border-left:solid 17px transparent;border-bottom:solid 41px #fff;z-index:1;transition:.4s}.filter-by-wrapper{text-align:center;margin-bottom:25px;text-transform:uppercase}.filter-by-wrapper span{cursor:pointer}.filter-by-wrapper span:after{content:"";margin-left:15px;width:0;height:0;border-style:solid;border-width:15px 10px 0 10px;border-color:#0470e3 transparent transparent transparent;display:inline-block}.filter-by-wrapper.opened span:after{content:"";width:0;height:0;border-style:solid;border-width:0 10px 15px 10px;border-color:transparent transparent #d500ff transparent;display:inline-block}.modula .filters.vertical-filters a{margin-bottom:0}.menu__list li.menu__item{margin:15px}@media all and (min-width:1025px){.filter-by-wrapper{display:none!important}.modula-gallery .filters{display:block!important}}@media all and (max-width:1024px){.modula .filters.vertical-filters.both-vertical+.modula-items,.modula.vertical-filters .filters,.modula.vertical-filters .modula-items{width:100%!important;float:none}.menu__list{padding:0}.menu__list li.menu__item{margin:0}}.modula .jtg-social a{box-shadow:none}.modula .jtg-social svg{width:20px;height:16px}.modula .modula-items .modula-item .jtg-title{margin:0}.modula .modula-items .modula-item p{margin:0;padding:0}.modula .figc{color:#000;text-align:center;position:absolute;left:0;width:100%;padding:2em}.modula .modula-item .jtg-social a{text-decoration:none;color:#fff;display:inline-block;margin:0 10px 0 0;padding:0;border:0;opacity:0;transition:opacity .3s}.modula .modula-item:hover .jtg-social a{opacity:1}.modula .modula-items .jtg-social{opacity:0;transition:opacity .1s;right:30px;position:absolute;bottom:20px;text-align:right;transition:all .3s}.modula .modula-items .jtg-social{opacity:1}.modula .modula-items .jtg-social a:last-of-type{margin-right:0}.modula .modula-item.effect-pufrobo p.description{margin-bottom:2em}.modula .modula-item.effect-pufrobo .figc{text-align:right}.modula .modula-item.effect-pufrobo .jtg-title,.modula .modula-item.effect-pufrobo p{position:absolute;right:30px;left:30px;padding:10px 0}.modula .modula-item:hover img,.modula .modula-items .modula-item.tg-loaded:hover img.pic{opacity:.8}.modula .modula-item.effect-pufrobo p{bottom:20%;line-height:1.5;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);letter-spacing:1px}.modula .modula-item.effect-pufrobo .jtg-title{top:10%;-webkit-transition:-webkit-transform .35s;transition:transform .35s;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}.modula .modula-item.effect-pufrobo:hover .jtg-title{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modula .modula-item.effect-pufrobo .jtg-title::after{position:absolute;top:80%;left:0;width:100%;height:4px;background:#fff;content:'';-webkit-transform:translate3d(0,40px,0);transform:translate3d(0,40px,0)}.modula .modula-item.effect-pufrobo .jtg-title::after,.modula .modula-item.effect-pufrobo p{opacity:0;-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s}.modula .modula-item.effect-pufrobo:hover .jtg-title::after,.modula .modula-item.effect-pufrobo:hover p{margin-top:10px;margin-bottom:5px;opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modula .modula-items .modula-item.effect-pufrobo .figc.no-title.no-description .jtg-title:after{display:none}.modula .modula-items .modula-item.effect-appear .figc .jtg-title:before,.modula .modula-items .modula-item.effect-comodo .figc .jtg-title:before,.modula .modula-items .modula-item.effect-crafty .figc .jtg-title:before,.modula .modula-items .modula-item.effect-curtain .figc .jtg-title:before,.modula .modula-items .modula-item.effect-fluid-up .figc .jtg-title:before,.modula .modula-items .modula-item.effect-hide .figc .jtg-title:before,.modula .modula-items .modula-item.effect-lens .figc .jtg-title:before,.modula .modula-items .modula-item.effect-pufrobo .figc .jtg-title:before,.modula .modula-items .modula-item.effect-quiet .figc .jtg-title:before,.modula .modula-items .modula-item.effect-reflex .figc .jtg-title:before,.modula .modula-items .modula-item.effect-seemo .figc .jtg-title:before{display:none}.modula .modula-items .modula-item>a{cursor:zoom-in}.modula-fancybox-container.modula-fancybox-is-open{z-index:99999999}.modula-fancybox-share__button--li{background:#0e76a8}.modula-fancybox-share__button--wa{background:#25d366}.modula.modula-columns .modula-item{display:flex;justify-content:center}.modula.modula-columns .modula-item .modula-item-content{position:relative}.modula.modula-columns .modula-item .modula-item-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:none;z-index:9}.modula.modula-columns .modula-items.grid-gallery .modula-item .modula-item-content{height:100%}.modula.modula-columns .modula-items.grid-gallery.justified-gallery .modula-item .modula-item-content{width:100%}.modula.modula-columns .modula-items.grid-gallery.justified-gallery .modula-item .modula-item-content .pic{position:absolute;top:50%;left:50%;margin:0;padding:0;border:none}.modula.modula-columns .modula-item.jg-filtered{display:none}.modula-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.modula-row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.modula-row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.modula-row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.modula-row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.modula-row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.modula-row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}@media (min-width:576px){.modula-row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.modula-row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.modula-row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.modula-row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.modula-row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.modula-row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}}@media (min-width:768px){.modula-row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.modula-row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.modula-row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.modula-row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.modula-row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.modula-row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}}@media (min-width:992px){.modula-row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.modula-row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.modula-row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.modula-row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.modula-row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.modula-row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}}@media (min-width:1200px){.modula-row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.modula-row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.modula-row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.modula-row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.modula-row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.modula-row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}}.modula .modula-items.grid-gallery .modula-item .figc{height:100%;top:0}
assets/css/front/fancybox.css ADDED
@@ -0,0 +1,902 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ body.compensate-for-scrollbar {
2
+ overflow: hidden;
3
+ }
4
+
5
+ .modula-fancybox-active {
6
+ height: auto;
7
+ }
8
+
9
+ .modula-fancybox-is-hidden {
10
+ left: -9999px;
11
+ margin: 0;
12
+ position: absolute !important;
13
+ top: -9999px;
14
+ visibility: hidden;
15
+ }
16
+
17
+ .modula-fancybox-container {
18
+ -webkit-backface-visibility: hidden;
19
+ height: 100%;
20
+ left: 0;
21
+ outline: none;
22
+ position: fixed;
23
+ -webkit-tap-highlight-color: transparent;
24
+ top: 0;
25
+ -ms-touch-action: manipulation;
26
+ touch-action: manipulation;
27
+ transform: translateZ(0);
28
+ width: 100%;
29
+ z-index: 99992;
30
+ }
31
+
32
+ .modula-fancybox-container * {
33
+ box-sizing: border-box;
34
+ }
35
+
36
+ .modula-fancybox-outer,
37
+ .modula-fancybox-inner,
38
+ .modula-fancybox-bg,
39
+ .modula-fancybox-stage {
40
+ bottom: 0;
41
+ left: 0;
42
+ position: absolute;
43
+ right: 0;
44
+ top: 0;
45
+ }
46
+
47
+ .modula-fancybox-outer {
48
+ -webkit-overflow-scrolling: touch;
49
+ overflow-y: auto;
50
+ }
51
+
52
+ .modula-fancybox-bg {
53
+ background: rgb(30, 30, 30);
54
+ opacity: 0;
55
+ transition-duration: inherit;
56
+ transition-property: opacity;
57
+ transition-timing-function: cubic-bezier(.47, 0, .74, .71);
58
+ }
59
+
60
+ .modula-fancybox-is-open .modula-fancybox-bg {
61
+ opacity: .9;
62
+ transition-timing-function: cubic-bezier(.22, .61, .36, 1);
63
+ }
64
+
65
+ .modula-fancybox-container .modula-fancybox-infobar,
66
+ .modula-fancybox-container .modula-fancybox-toolbar,
67
+ .modula-fancybox-container .modula-fancybox-caption,
68
+ .modula-fancybox-container .modula-fancybox-navigation .modula-fancybox-button {
69
+ direction: ltr;
70
+ opacity: 0;
71
+ position: absolute;
72
+ transition: opacity .25s ease, visibility 0s ease .25s;
73
+ visibility: hidden;
74
+ z-index: 99997;
75
+ }
76
+
77
+ .modula-fancybox-show-infobar .modula-fancybox-infobar,
78
+ .modula-fancybox-show-toolbar .modula-fancybox-toolbar,
79
+ .modula-fancybox-show-caption .modula-fancybox-caption,
80
+ .modula-fancybox-show-nav .modula-fancybox-navigation .modula-fancybox-button {
81
+ opacity: 1;
82
+ transition: opacity .25s ease 0s, visibility 0s ease 0s;
83
+ visibility: visible;
84
+ }
85
+
86
+ .modula-fancybox-container .modula-fancybox-infobar {
87
+ color: #ccc;
88
+ font-size: 13px;
89
+ -webkit-font-smoothing: subpixel-antialiased;
90
+ height: 44px;
91
+ left: 0;
92
+ line-height: 44px;
93
+ min-width: 44px;
94
+ mix-blend-mode: difference;
95
+ padding: 0 10px;
96
+ pointer-events: none;
97
+ top: 0;
98
+ -webkit-touch-callout: none;
99
+ -webkit-user-select: none;
100
+ -moz-user-select: none;
101
+ -ms-user-select: none;
102
+ user-select: none;
103
+ }
104
+
105
+ .modula-fancybox-container .modula-fancybox-toolbar {
106
+ right: 0;
107
+ top: 0;
108
+ }
109
+
110
+ .modula-fancybox-stage {
111
+ direction: ltr;
112
+ overflow: visible;
113
+ transform: translateZ(0);
114
+ z-index: 99994;
115
+ }
116
+
117
+ .modula-fancybox-is-open .modula-fancybox-stage {
118
+ overflow: hidden;
119
+ }
120
+
121
+ .modula-fancybox-slide {
122
+ -webkit-backface-visibility: hidden;
123
+ /* Using without prefix would break IE11 */
124
+ display: none;
125
+ height: 100%;
126
+ left: 0;
127
+ outline: none;
128
+ overflow: auto;
129
+ -webkit-overflow-scrolling: touch;
130
+ padding: 44px;
131
+ position: absolute;
132
+ text-align: center;
133
+ top: 0;
134
+ transition-property: transform, opacity;
135
+ white-space: normal;
136
+ width: 100%;
137
+ z-index: 99994;
138
+ }
139
+
140
+ .modula-fancybox-slide::before {
141
+ content: '';
142
+ display: inline-block;
143
+ font-size: 0;
144
+ height: 100%;
145
+ vertical-align: middle;
146
+ width: 0;
147
+ }
148
+
149
+ .modula-fancybox-is-sliding .modula-fancybox-slide,
150
+ .modula-fancybox-slide--previous,
151
+ .modula-fancybox-slide--current,
152
+ .modula-fancybox-slide--next {
153
+ display: block;
154
+ }
155
+
156
+ .modula-fancybox-slide--image {
157
+ overflow: hidden;
158
+ padding: 44px 0;
159
+ }
160
+
161
+ .modula-fancybox-slide--image::before {
162
+ display: none;
163
+ }
164
+
165
+ .modula-fancybox-slide--html {
166
+ padding: 6px;
167
+ }
168
+
169
+ .modula-fancybox-content {
170
+ background: #fff;
171
+ display: inline-block;
172
+ margin: 0;
173
+ max-width: 100%;
174
+ overflow: auto;
175
+ -webkit-overflow-scrolling: touch;
176
+ padding: 44px;
177
+ position: relative;
178
+ text-align: left;
179
+ vertical-align: middle;
180
+ }
181
+
182
+ .modula-fancybox-slide--image .modula-fancybox-content {
183
+ animation-timing-function: cubic-bezier(.5, 0, .14, 1);
184
+ -webkit-backface-visibility: hidden;
185
+ background: transparent;
186
+ background-repeat: no-repeat;
187
+ background-size: 100% 100%;
188
+ left: 0;
189
+ max-width: none;
190
+ overflow: visible;
191
+ padding: 0;
192
+ position: absolute;
193
+ top: 0;
194
+ -ms-transform-origin: top left;
195
+ transform-origin: top left;
196
+ transition-property: transform, opacity;
197
+ -webkit-user-select: none;
198
+ -moz-user-select: none;
199
+ -ms-user-select: none;
200
+ user-select: none;
201
+ z-index: 99995;
202
+ }
203
+
204
+ .modula-fancybox-can-zoomOut .modula-fancybox-content {
205
+ cursor: zoom-out;
206
+ }
207
+
208
+ .modula-fancybox-can-zoomIn .modula-fancybox-content {
209
+ cursor: zoom-in;
210
+ }
211
+
212
+ .modula-fancybox-can-swipe .modula-fancybox-content,
213
+ .modula-fancybox-can-pan .modula-fancybox-content {
214
+ cursor: -webkit-grab;
215
+ cursor: grab;
216
+ }
217
+
218
+ .modula-fancybox-is-grabbing .modula-fancybox-content {
219
+ cursor: -webkit-grabbing;
220
+ cursor: grabbing;
221
+ }
222
+
223
+ .modula-fancybox-container [data-selectable='true'] {
224
+ cursor: text;
225
+ }
226
+
227
+ .modula-fancybox-image,
228
+ .modula-fancybox-spaceball {
229
+ background: transparent;
230
+ border: 0;
231
+ height: 100%;
232
+ left: 0;
233
+ margin: 0;
234
+ max-height: none;
235
+ max-width: none;
236
+ padding: 0;
237
+ position: absolute;
238
+ top: 0;
239
+ -webkit-user-select: none;
240
+ -moz-user-select: none;
241
+ -ms-user-select: none;
242
+ user-select: none;
243
+ width: 100%;
244
+ }
245
+
246
+ .modula-fancybox-spaceball {
247
+ z-index: 1;
248
+ }
249
+
250
+ .modula-fancybox-slide--video .modula-fancybox-content,
251
+ .modula-fancybox-slide--map .modula-fancybox-content,
252
+ .modula-fancybox-slide--pdf .modula-fancybox-content,
253
+ .modula-fancybox-slide--iframe .modula-fancybox-content {
254
+ height: 100%;
255
+ overflow: visible;
256
+ padding: 0;
257
+ width: 100%;
258
+ }
259
+
260
+ .modula-fancybox-slide--video .modula-fancybox-content {
261
+ background: #000;
262
+ }
263
+
264
+ .modula-fancybox-slide--map .modula-fancybox-content {
265
+ background: #e5e3df;
266
+ }
267
+
268
+ .modula-fancybox-slide--iframe .modula-fancybox-content {
269
+ background: #fff;
270
+ }
271
+
272
+ .modula-fancybox-video,
273
+ .modula-fancybox-iframe {
274
+ background: transparent;
275
+ border: 0;
276
+ display: block;
277
+ height: 100%;
278
+ margin: 0;
279
+ overflow: hidden;
280
+ padding: 0;
281
+ width: 100%;
282
+ }
283
+
284
+ /* Fix iOS */
285
+ .modula-fancybox-iframe {
286
+ left: 0;
287
+ position: absolute;
288
+ top: 0;
289
+ }
290
+
291
+ .modula-fancybox-error {
292
+ background: #fff;
293
+ cursor: default;
294
+ max-width: 400px;
295
+ padding: 40px;
296
+ width: 100%;
297
+ }
298
+
299
+ .modula-fancybox-error p {
300
+ color: #444;
301
+ font-size: 16px;
302
+ line-height: 20px;
303
+ margin: 0;
304
+ padding: 0;
305
+ }
306
+
307
+ /* Buttons */
308
+
309
+ .modula-fancybox-container .modula-fancybox-button {
310
+ background: rgba(30, 30, 30, .6);
311
+ border: 0;
312
+ border-radius: 0;
313
+ box-shadow: none;
314
+ cursor: pointer;
315
+ display: inline-block;
316
+ height: 44px;
317
+ margin: 0;
318
+ padding: 10px;
319
+ position: relative;
320
+ transition: color .2s;
321
+ vertical-align: top;
322
+ visibility: inherit;
323
+ width: 44px;
324
+ }
325
+
326
+ .modula-fancybox-container .modula-fancybox-button,
327
+ .modula-fancybox-container .modula-fancybox-button:visited,
328
+ .modula-fancybox-container .modula-fancybox-button:link {
329
+ color: #ccc;
330
+ }
331
+
332
+ .modula-fancybox-container .modula-fancybox-button:hover {
333
+ color: #fff;
334
+ }
335
+
336
+ .modula-fancybox-container .modula-fancybox-button:focus {
337
+ outline: none;
338
+ }
339
+
340
+ .modula-fancybox-container .modula-fancybox-button.modula-fancybox-focus {
341
+ outline: 1px dotted;
342
+ }
343
+
344
+ .modula-fancybox-container .modula-fancybox-button[disabled],
345
+ .modula-fancybox-container .modula-fancybox-button[disabled]:hover {
346
+ color: #888;
347
+ cursor: default;
348
+ outline: none;
349
+ }
350
+
351
+ /* Fix IE11 */
352
+ .modula-fancybox-container .modula-fancybox-button div {
353
+ height: 100%;
354
+ }
355
+
356
+ .modula-fancybox-container .modula-fancybox-button svg {
357
+ display: block;
358
+ height: 100%;
359
+ overflow: visible;
360
+ position: relative;
361
+ width: 100%;
362
+ }
363
+
364
+ .modula-fancybox-container .modula-fancybox-button svg path {
365
+ fill: currentColor;
366
+ stroke-width: 0;
367
+ }
368
+
369
+ .modula-fancybox-container .modula-fancybox-button--play svg:nth-child(2),
370
+ .modula-fancybox-container .modula-fancybox-button--fsenter svg:nth-child(2) {
371
+ display: none;
372
+ }
373
+
374
+ .modula-fancybox-container .modula-fancybox-button--pause svg:nth-child(1),
375
+ .modula-fancybox-container .modula-fancybox-button--fsexit svg:nth-child(1) {
376
+ display: none;
377
+ }
378
+
379
+ .modula-fancybox-container .modula-fancybox-progress {
380
+ background: #ff5268;
381
+ height: 2px;
382
+ left: 0;
383
+ position: absolute;
384
+ right: 0;
385
+ top: 0;
386
+ -ms-transform: scaleX(0);
387
+ transform: scaleX(0);
388
+ -ms-transform-origin: 0;
389
+ transform-origin: 0;
390
+ transition-property: transform;
391
+ transition-timing-function: linear;
392
+ z-index: 99998;
393
+ }
394
+
395
+ /* Close button on the top right corner of html content */
396
+
397
+ .modula-fancybox-container .modula-fancybox-close-small {
398
+ background: transparent;
399
+ border: 0;
400
+ border-radius: 0;
401
+ color: #ccc;
402
+ cursor: pointer;
403
+ opacity: .8;
404
+ padding: 8px;
405
+ position: absolute;
406
+ right: -12px;
407
+ top: -44px;
408
+ z-index: 401;
409
+ }
410
+
411
+ .modula-fancybox-container .modula-fancybox-close-small:hover {
412
+ color: #fff;
413
+ opacity: 1;
414
+ }
415
+
416
+ .modula-fancybox-container .modula-fancybox-stage .modula-fancybox-slide--html .modula-fancybox-close-small {
417
+ color: #000;
418
+ padding: 10px;
419
+ right: 0;
420
+ top: 0;
421
+ background-color:transparent;
422
+ }
423
+
424
+ .modula-fancybox-slide--image.modula-fancybox-is-scaling .modula-fancybox-content {
425
+ overflow: hidden;
426
+ }
427
+
428
+ .modula-fancybox-is-scaling .modula-fancybox-close-small,
429
+ .modula-fancybox-is-zoomable.modula-fancybox-can-pan .modula-fancybox-close-small {
430
+ display: none;
431
+ }
432
+
433
+ /* Navigation arrows */
434
+
435
+ .modula-fancybox-navigation .modula-fancybox-button {
436
+ background-clip: content-box;
437
+ height: 100px;
438
+ opacity: 0;
439
+ position: absolute;
440
+ top: calc(50% - 50px);
441
+ width: 70px;
442
+ }
443
+
444
+ .modula-fancybox-navigation .modula-fancybox-button div {
445
+ padding: 7px;
446
+ }
447
+
448
+ .modula-fancybox-navigation .modula-fancybox-button--arrow_left {
449
+ left: 0;
450
+ left: env(safe-area-inset-left);
451
+ padding: 31px 26px 31px 6px;
452
+ }
453
+
454
+ .modula-fancybox-navigation .modula-fancybox-button--arrow_right {
455
+ padding: 31px 6px 31px 26px;
456
+ right: 0;
457
+ right: env(safe-area-inset-right);
458
+ }
459
+
460
+ /* Caption */
461
+
462
+ .modula-fancybox-caption {
463
+ background: linear-gradient(to top,
464
+ rgba(0, 0, 0, .85) 0%,
465
+ rgba(0, 0, 0, .3) 50%,
466
+ rgba(0, 0, 0, .15) 65%,
467
+ rgba(0, 0, 0, .075) 75.5%,
468
+ rgba(0, 0, 0, .037) 82.85%,
469
+ rgba(0, 0, 0, .019) 88%,
470
+ rgba(0, 0, 0, 0) 100%);
471
+ bottom: 0;
472
+ color: #eee;
473
+ font-size: 14px;
474
+ font-weight: 400;
475
+ left: 0;
476
+ line-height: 1.5;
477
+ padding: 75px 44px 25px 44px;
478
+ pointer-events: none;
479
+ right: 0;
480
+ text-align: center;
481
+ z-index: 99996;
482
+ }
483
+
484
+ @supports (padding: max(0px)) {
485
+ .modula-fancybox-caption {
486
+ padding: 75px max(44px, env(safe-area-inset-right)) max(25px, env(safe-area-inset-bottom)) max(44px, env(safe-area-inset-left));
487
+ }
488
+ }
489
+
490
+ .modula-fancybox-caption--separate {
491
+ margin-top: -50px;
492
+ }
493
+
494
+ .modula-fancybox-caption__body {
495
+ max-height: 50vh;
496
+ overflow: auto;
497
+ pointer-events: all;
498
+ }
499
+
500
+ .modula-fancybox-caption a,
501
+ .modula-fancybox-caption a:link,
502
+ .modula-fancybox-caption a:visited {
503
+ color: #ccc;
504
+ text-decoration: none;
505
+ }
506
+
507
+ .modula-fancybox-caption a:hover {
508
+ color: #fff;
509
+ text-decoration: underline;
510
+ }
511
+
512
+ /* Loading indicator */
513
+
514
+ .modula-fancybox-loading {
515
+ animation: fancybox-rotate 1s linear infinite;
516
+ background: transparent;
517
+ border: 4px solid #888;
518
+ border-bottom-color: #fff;
519
+ border-radius: 50%;
520
+ height: 50px;
521
+ left: 50%;
522
+ margin: -25px 0 0 -25px;
523
+ opacity: .7;
524
+ padding: 0;
525
+ position: absolute;
526
+ top: 50%;
527
+ width: 50px;
528
+ z-index: 99999;
529
+ }
530
+
531
+ @keyframes fancybox-rotate {
532
+ 100% {
533
+ transform: rotate(360deg);
534
+ }
535
+ }
536
+
537
+ /* Transition effects */
538
+
539
+ .modula-fancybox-animated {
540
+ transition-timing-function: cubic-bezier(0, 0, .25, 1);
541
+ }
542
+
543
+ /* transitionEffect: slide */
544
+
545
+ .modula-fancybox-fx-slide.modula-fancybox-slide--previous {
546
+ opacity: 0;
547
+ transform: translate3d(-100%, 0, 0);
548
+ }
549
+
550
+ .modula-fancybox-fx-slide.modula-fancybox-slide--next {
551
+ opacity: 0;
552
+ transform: translate3d(100%, 0, 0);
553
+ }
554
+
555
+ .modula-fancybox-fx-slide.modula-fancybox-slide--current {
556
+ opacity: 1;
557
+ transform: translate3d(0, 0, 0);
558
+ }
559
+
560
+ /* transitionEffect: fade */
561
+
562
+ .modula-fancybox-fx-fade.modula-fancybox-slide--previous,
563
+ .modula-fancybox-fx-fade.modula-fancybox-slide--next {
564
+ opacity: 0;
565
+ transition-timing-function: cubic-bezier(.19, 1, .22, 1);
566
+ }
567
+
568
+ .modula-fancybox-fx-fade.modula-fancybox-slide--current {
569
+ opacity: 1;
570
+ }
571
+
572
+ /* transitionEffect: zoom-in-out */
573
+
574
+ .modula-fancybox-fx-zoom-in-out.modula-fancybox-slide--previous {
575
+ opacity: 0;
576
+ transform: scale3d(1.5, 1.5, 1.5);
577
+ }
578
+
579
+ .modula-fancybox-fx-zoom-in-out.modula-fancybox-slide--next {
580
+ opacity: 0;
581
+ transform: scale3d(.5, .5, .5);
582
+ }
583
+
584
+ .modula-fancybox-fx-zoom-in-out.modula-fancybox-slide--current {
585
+ opacity: 1;
586
+ transform: scale3d(1, 1, 1);
587
+ }
588
+
589
+ /* transitionEffect: rotate */
590
+
591
+ .modula-fancybox-fx-rotate.modula-fancybox-slide--previous {
592
+ opacity: 0;
593
+ -ms-transform: rotate(-360deg);
594
+ transform: rotate(-360deg);
595
+ }
596
+
597
+ .modula-fancybox-fx-rotate.modula-fancybox-slide--next {
598
+ opacity: 0;
599
+ -ms-transform: rotate(360deg);
600
+ transform: rotate(360deg);
601
+ }
602
+
603
+ .modula-fancybox-fx-rotate.modula-fancybox-slide--current {
604
+ opacity: 1;
605
+ -ms-transform: rotate(0deg);
606
+ transform: rotate(0deg);
607
+ }
608
+
609
+ /* transitionEffect: circular */
610
+
611
+ .modula-fancybox-fx-circular.modula-fancybox-slide--previous {
612
+ opacity: 0;
613
+ transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
614
+ }
615
+
616
+ .modula-fancybox-fx-circular.modula-fancybox-slide--next {
617
+ opacity: 0;
618
+ transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
619
+ }
620
+
621
+ .modula-fancybox-fx-circular.modula-fancybox-slide--current {
622
+ opacity: 1;
623
+ transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
624
+ }
625
+
626
+ /* transitionEffect: tube */
627
+
628
+ .modula-fancybox-fx-tube.modula-fancybox-slide--previous {
629
+ transform: translate3d(-100%, 0, 0) scale(.1) skew(-10deg);
630
+ }
631
+
632
+ .modula-fancybox-fx-tube.modula-fancybox-slide--next {
633
+ transform: translate3d(100%, 0, 0) scale(.1) skew(10deg);
634
+ }
635
+
636
+ .modula-fancybox-fx-tube.modula-fancybox-slide--current {
637
+ transform: translate3d(0, 0, 0) scale(1);
638
+ }
639
+
640
+ /* Styling for Small-Screen Devices */
641
+ @media all and (max-height: 576px) {
642
+ .modula-fancybox-slide {
643
+ padding-left: 6px;
644
+ padding-right: 6px;
645
+ }
646
+
647
+ .modula-fancybox-slide--image {
648
+ padding: 6px 0;
649
+ }
650
+
651
+ .modula-fancybox-close-small {
652
+ right: -6px;
653
+ }
654
+
655
+ .modula-fancybox-slide--image .modula-fancybox-close-small {
656
+ background: #4e4e4e;
657
+ color: #f2f4f6;
658
+ height: 36px;
659
+ opacity: 1;
660
+ padding: 6px;
661
+ right: 0;
662
+ top: 0;
663
+ width: 36px;
664
+ }
665
+
666
+ .modula-fancybox-caption {
667
+ padding-left: 12px;
668
+ padding-right: 12px;
669
+ }
670
+
671
+ @supports (padding: max(0px)) {
672
+ .modula-fancybox-caption {
673
+ padding-left: max(12px, env(safe-area-inset-left));
674
+ padding-right: max(12px, env(safe-area-inset-right));
675
+ }
676
+ }
677
+ }
678
+ /* Share */
679
+
680
+ .modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share {
681
+ background: #f4f4f4;
682
+ border-radius: 3px;
683
+ max-width: 90%;
684
+ padding: 30px;
685
+ text-align: center;
686
+ }
687
+
688
+ .modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share h1 {
689
+ color: #222;
690
+ font-size: 35px;
691
+ font-weight: 700;
692
+ margin: 0 0 20px 0;
693
+ }
694
+ .modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share h1:before,
695
+ .modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share h1:after {
696
+ display:none;
697
+ }
698
+
699
+
700
+ .modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share p {
701
+ margin: 0;
702
+ padding: 0;
703
+ }
704
+
705
+ .modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share__button {
706
+ border: 0;
707
+ border-radius: 3px;
708
+ display: inline-block;
709
+ font-size: 14px;
710
+ font-weight: 700;
711
+ line-height: 40px;
712
+ margin: 0 5px 10px 5px;
713
+ min-width: 130px;
714
+ padding: 0 15px;
715
+ text-decoration: none;
716
+ transition: all .2s;
717
+ -webkit-user-select: none;
718
+ -moz-user-select: none;
719
+ -ms-user-select: none;
720
+ user-select: none;
721
+ white-space: nowrap;
722
+ }
723
+
724
+ .modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share__button:visited,
725
+ .modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share__button:link {
726
+ color: #fff;
727
+ }
728
+
729
+ .modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share__button:hover {
730
+ text-decoration: none;
731
+ }
732
+
733
+ .modula-fancybox-share__button--fb {
734
+ background: #3b5998;
735
+ }
736
+
737
+ .modula-fancybox-share__button--fb:hover {
738
+ background: #344e86;
739
+ }
740
+
741
+ .modula-fancybox-share__button--pt {
742
+ background: #bd081d;
743
+ }
744
+
745
+ .modula-fancybox-share__button--pt:hover {
746
+ background: #aa0719;
747
+ }
748
+
749
+ .modula-fancybox-share__button--tw {
750
+ background: #1da1f2;
751
+ }
752
+
753
+ .modula-fancybox-share__button--tw:hover {
754
+ background: #0d95e8;
755
+ }
756
+
757
+ .modula-fancybox-share__button svg {
758
+ height: 25px;
759
+ margin-right: 7px;
760
+ position: relative;
761
+ top: -1px;
762
+ vertical-align: middle;
763
+ width: 25px;
764
+ display:inline-block;
765
+ }
766
+
767
+ .modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share__button svg path {
768
+ fill: #fff;
769
+ }
770
+
771
+ .modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share .modula-fancybox-share__input {
772
+ background: transparent;
773
+ border: 0;
774
+ border-bottom: 1px solid #d7d7d7;
775
+ border-radius: 0;
776
+ color: #5d5b5b;
777
+ font-size: 14px;
778
+ margin: 10px 0 0 0;
779
+ outline: none;
780
+ padding: 10px 15px;
781
+ width: 100%;
782
+ }
783
+ /* Thumbs */
784
+
785
+ .modula-fancybox-container .modula-fancybox-thumbs {
786
+ background: #ddd;
787
+ bottom: 0;
788
+ display: none;
789
+ margin: 0;
790
+ -webkit-overflow-scrolling: touch;
791
+ -ms-overflow-style: -ms-autohiding-scrollbar;
792
+ padding: 2px 2px 4px 2px;
793
+ position: absolute;
794
+ right: 0;
795
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
796
+ top: 0;
797
+ width: 212px;
798
+ z-index: 99995;
799
+ }
800
+
801
+ .modula-fancybox-thumbs-x {
802
+ overflow-x: auto;
803
+ overflow-y: hidden;
804
+ }
805
+
806
+ .modula-fancybox-show-thumbs .modula-fancybox-thumbs {
807
+ display: block;
808
+ }
809
+
810
+ .modula-fancybox-show-thumbs .modula-fancybox-inner {
811
+ right: 212px;
812
+ }
813
+
814
+ .modula-fancybox-thumbs__list {
815
+ font-size: 0;
816
+ height: 100%;
817
+ list-style: none;
818
+ margin: 0;
819
+ overflow-x: hidden;
820
+ overflow-y: auto;
821
+ padding: 0;
822
+ position: absolute;
823
+ position: relative;
824
+ white-space: nowrap;
825
+ width: 100%;
826
+ }
827
+
828
+ .modula-fancybox-thumbs-x .modula-fancybox-thumbs__list {
829
+ overflow: hidden;
830
+ }
831
+
832
+ .modula-fancybox-thumbs-y .modula-fancybox-thumbs__list::-webkit-scrollbar {
833
+ width: 7px;
834
+ }
835
+
836
+ .modula-fancybox-thumbs-y .modula-fancybox-thumbs__list::-webkit-scrollbar-track {
837
+ background: #fff;
838
+ border-radius: 10px;
839
+ box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
840
+ }
841
+
842
+ .modula-fancybox-thumbs-y .modula-fancybox-thumbs__list::-webkit-scrollbar-thumb {
843
+ background: #2a2a2a;
844
+ border-radius: 10px;
845
+ }
846
+
847
+ .modula-fancybox-thumbs__list a {
848
+ -webkit-backface-visibility: hidden;
849
+ backface-visibility: hidden;
850
+ background-color: rgba(0, 0, 0, .1);
851
+ background-position: center center;
852
+ background-repeat: no-repeat;
853
+ background-size: cover;
854
+ cursor: pointer;
855
+ float: left;
856
+ height: 75px;
857
+ margin: 2px;
858
+ max-height: calc(100% - 8px);
859
+ max-width: calc(50% - 4px);
860
+ outline: none;
861
+ overflow: hidden;
862
+ padding: 0;
863
+ position: relative;
864
+ -webkit-tap-highlight-color: transparent;
865
+ width: 100px;
866
+ }
867
+
868
+ .modula-fancybox-thumbs__list a::before {
869
+ border: 6px solid #ff5268;
870
+ bottom: 0;
871
+ content: '';
872
+ left: 0;
873
+ opacity: 0;
874
+ position: absolute;
875
+ right: 0;
876
+ top: 0;
877
+ transition: all .2s cubic-bezier(.25, .46, .45, .94);
878
+ z-index: 99991;
879
+ }
880
+
881
+ .modula-fancybox-thumbs__list a:focus::before {
882
+ opacity: .5;
883
+ }
884
+
885
+ .modula-fancybox-thumbs__list a.modula-fancybox-thumbs-active::before {
886
+ opacity: 1;
887
+ }
888
+
889
+ /* Styling for Small-Screen Devices */
890
+ @media all and (max-width: 576px) {
891
+ .modula-fancybox-thumbs {
892
+ width: 110px;
893
+ }
894
+
895
+ .modula-fancybox-show-thumbs .modula-fancybox-inner {
896
+ right: 110px;
897
+ }
898
+
899
+ .modula-fancybox-thumbs__list a {
900
+ max-width: calc(100% - 10px);
901
+ }
902
+ }
assets/css/front/fancybox.min.css ADDED
@@ -0,0 +1 @@
 
1
+ body.compensate-for-scrollbar{overflow:hidden}.modula-fancybox-active{height:auto}.modula-fancybox-is-hidden{left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}.modula-fancybox-container{-webkit-backface-visibility:hidden;height:100%;left:0;outline:0;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;transform:translateZ(0);width:100%;z-index:99992}.modula-fancybox-container *{box-sizing:border-box}.modula-fancybox-bg,.modula-fancybox-inner,.modula-fancybox-outer,.modula-fancybox-stage{bottom:0;left:0;position:absolute;right:0;top:0}.modula-fancybox-outer{-webkit-overflow-scrolling:touch;overflow-y:auto}.modula-fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.modula-fancybox-is-open .modula-fancybox-bg{opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.modula-fancybox-container .modula-fancybox-caption,.modula-fancybox-container .modula-fancybox-infobar,.modula-fancybox-container .modula-fancybox-navigation .modula-fancybox-button,.modula-fancybox-container .modula-fancybox-toolbar{direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}.modula-fancybox-show-caption .modula-fancybox-caption,.modula-fancybox-show-infobar .modula-fancybox-infobar,.modula-fancybox-show-nav .modula-fancybox-navigation .modula-fancybox-button,.modula-fancybox-show-toolbar .modula-fancybox-toolbar{opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}.modula-fancybox-container .modula-fancybox-infobar{color:#ccc;font-size:13px;-webkit-font-smoothing:subpixel-antialiased;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.modula-fancybox-container .modula-fancybox-toolbar{right:0;top:0}.modula-fancybox-stage{direction:ltr;overflow:visible;transform:translateZ(0);z-index:99994}.modula-fancybox-is-open .modula-fancybox-stage{overflow:hidden}.modula-fancybox-slide{-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:0;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:transform,opacity;white-space:normal;width:100%;z-index:99994}.modula-fancybox-slide::before{content:'';display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}.modula-fancybox-is-sliding .modula-fancybox-slide,.modula-fancybox-slide--current,.modula-fancybox-slide--next,.modula-fancybox-slide--previous{display:block}.modula-fancybox-slide--image{overflow:hidden;padding:44px 0}.modula-fancybox-slide--image::before{display:none}.modula-fancybox-slide--html{padding:6px}.modula-fancybox-content{background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:relative;text-align:left;vertical-align:middle}.modula-fancybox-slide--image .modula-fancybox-content{animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:0 0;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;-ms-transform-origin:top left;transform-origin:top left;transition-property:transform,opacity;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}.modula-fancybox-can-zoomOut .modula-fancybox-content{cursor:zoom-out}.modula-fancybox-can-zoomIn .modula-fancybox-content{cursor:zoom-in}.modula-fancybox-can-pan .modula-fancybox-content,.modula-fancybox-can-swipe .modula-fancybox-content{cursor:-webkit-grab;cursor:grab}.modula-fancybox-is-grabbing .modula-fancybox-content{cursor:-webkit-grabbing;cursor:grabbing}.modula-fancybox-container [data-selectable=true]{cursor:text}.modula-fancybox-image,.modula-fancybox-spaceball{background:0 0;border:0;height:100%;left:0;margin:0;max-height:none;max-width:none;padding:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}.modula-fancybox-spaceball{z-index:1}.modula-fancybox-slide--iframe .modula-fancybox-content,.modula-fancybox-slide--map .modula-fancybox-content,.modula-fancybox-slide--pdf .modula-fancybox-content,.modula-fancybox-slide--video .modula-fancybox-content{height:100%;overflow:visible;padding:0;width:100%}.modula-fancybox-slide--video .modula-fancybox-content{background:#000}.modula-fancybox-slide--map .modula-fancybox-content{background:#e5e3df}.modula-fancybox-slide--iframe .modula-fancybox-content{background:#fff}.modula-fancybox-iframe,.modula-fancybox-video{background:0 0;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.modula-fancybox-iframe{left:0;position:absolute;top:0}.modula-fancybox-error{background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}.modula-fancybox-error p{color:#444;font-size:16px;line-height:20px;margin:0;padding:0}.modula-fancybox-container .modula-fancybox-button{background:rgba(30,30,30,.6);border:0;border-radius:0;box-shadow:none;cursor:pointer;display:inline-block;height:44px;margin:0;padding:10px;position:relative;transition:color .2s;vertical-align:top;visibility:inherit;width:44px}.modula-fancybox-container .modula-fancybox-button,.modula-fancybox-container .modula-fancybox-button:link,.modula-fancybox-container .modula-fancybox-button:visited{color:#ccc}.modula-fancybox-container .modula-fancybox-button:hover{color:#fff}.modula-fancybox-container .modula-fancybox-button:focus{outline:0}.modula-fancybox-container .modula-fancybox-button.modula-fancybox-focus{outline:1px dotted}.modula-fancybox-container .modula-fancybox-button[disabled],.modula-fancybox-container .modula-fancybox-button[disabled]:hover{color:#888;cursor:default;outline:0}.modula-fancybox-container .modula-fancybox-button div{height:100%}.modula-fancybox-container .modula-fancybox-button svg{display:block;height:100%;overflow:visible;position:relative;width:100%}.modula-fancybox-container .modula-fancybox-button svg path{fill:currentColor;stroke-width:0}.modula-fancybox-container .modula-fancybox-button--fsenter svg:nth-child(2),.modula-fancybox-container .modula-fancybox-button--play svg:nth-child(2){display:none}.modula-fancybox-container .modula-fancybox-button--fsexit svg:nth-child(1),.modula-fancybox-container .modula-fancybox-button--pause svg:nth-child(1){display:none}.modula-fancybox-container .modula-fancybox-progress{background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;-ms-transform:scaleX(0);transform:scaleX(0);-ms-transform-origin:0;transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:99998}.modula-fancybox-container .modula-fancybox-close-small{background:0 0;border:0;border-radius:0;color:#ccc;cursor:pointer;opacity:.8;padding:8px;position:absolute;right:-12px;top:-44px;z-index:401}.modula-fancybox-container .modula-fancybox-close-small:hover{color:#fff;opacity:1}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-slide--html .modula-fancybox-close-small{color:#000;padding:10px;right:0;top:0;background-color:transparent}.modula-fancybox-slide--image.modula-fancybox-is-scaling .modula-fancybox-content{overflow:hidden}.modula-fancybox-is-scaling .modula-fancybox-close-small,.modula-fancybox-is-zoomable.modula-fancybox-can-pan .modula-fancybox-close-small{display:none}.modula-fancybox-navigation .modula-fancybox-button{background-clip:content-box;height:100px;opacity:0;position:absolute;top:calc(50% - 50px);width:70px}.modula-fancybox-navigation .modula-fancybox-button div{padding:7px}.modula-fancybox-navigation .modula-fancybox-button--arrow_left{left:0;left:env(safe-area-inset-left);padding:31px 26px 31px 6px}.modula-fancybox-navigation .modula-fancybox-button--arrow_right{padding:31px 6px 31px 26px;right:0;right:env(safe-area-inset-right)}.modula-fancybox-caption{background:linear-gradient(to top,rgba(0,0,0,.85) 0,rgba(0,0,0,.3) 50%,rgba(0,0,0,.15) 65%,rgba(0,0,0,.075) 75.5%,rgba(0,0,0,.037) 82.85%,rgba(0,0,0,.019) 88%,rgba(0,0,0,0) 100%);bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:75px 44px 25px 44px;pointer-events:none;right:0;text-align:center;z-index:99996}@supports (padding:max(0px)){.modula-fancybox-caption{padding:75px max(44px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(44px,env(safe-area-inset-left))}}.modula-fancybox-caption--separate{margin-top:-50px}.modula-fancybox-caption__body{max-height:50vh;overflow:auto;pointer-events:all}.modula-fancybox-caption a,.modula-fancybox-caption a:link,.modula-fancybox-caption a:visited{color:#ccc;text-decoration:none}.modula-fancybox-caption a:hover{color:#fff;text-decoration:underline}.modula-fancybox-loading{animation:fancybox-rotate 1s linear infinite;background:0 0;border:4px solid #888;border-bottom-color:#fff;border-radius:50%;height:50px;left:50%;margin:-25px 0 0 -25px;opacity:.7;padding:0;position:absolute;top:50%;width:50px;z-index:99999}@keyframes fancybox-rotate{100%{transform:rotate(360deg)}}.modula-fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.modula-fancybox-fx-slide.modula-fancybox-slide--previous{opacity:0;transform:translate3d(-100%,0,0)}.modula-fancybox-fx-slide.modula-fancybox-slide--next{opacity:0;transform:translate3d(100%,0,0)}.modula-fancybox-fx-slide.modula-fancybox-slide--current{opacity:1;transform:translate3d(0,0,0)}.modula-fancybox-fx-fade.modula-fancybox-slide--next,.modula-fancybox-fx-fade.modula-fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.modula-fancybox-fx-fade.modula-fancybox-slide--current{opacity:1}.modula-fancybox-fx-zoom-in-out.modula-fancybox-slide--previous{opacity:0;transform:scale3d(1.5,1.5,1.5)}.modula-fancybox-fx-zoom-in-out.modula-fancybox-slide--next{opacity:0;transform:scale3d(.5,.5,.5)}.modula-fancybox-fx-zoom-in-out.modula-fancybox-slide--current{opacity:1;transform:scale3d(1,1,1)}.modula-fancybox-fx-rotate.modula-fancybox-slide--previous{opacity:0;-ms-transform:rotate(-360deg);transform:rotate(-360deg)}.modula-fancybox-fx-rotate.modula-fancybox-slide--next{opacity:0;-ms-transform:rotate(360deg);transform:rotate(360deg)}.modula-fancybox-fx-rotate.modula-fancybox-slide--current{opacity:1;-ms-transform:rotate(0);transform:rotate(0)}.modula-fancybox-fx-circular.modula-fancybox-slide--previous{opacity:0;transform:scale3d(0,0,0) translate3d(-100%,0,0)}.modula-fancybox-fx-circular.modula-fancybox-slide--next{opacity:0;transform:scale3d(0,0,0) translate3d(100%,0,0)}.modula-fancybox-fx-circular.modula-fancybox-slide--current{opacity:1;transform:scale3d(1,1,1) translate3d(0,0,0)}.modula-fancybox-fx-tube.modula-fancybox-slide--previous{transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.modula-fancybox-fx-tube.modula-fancybox-slide--next{transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.modula-fancybox-fx-tube.modula-fancybox-slide--current{transform:translate3d(0,0,0) scale(1)}@media all and (max-height:576px){.modula-fancybox-slide{padding-left:6px;padding-right:6px}.modula-fancybox-slide--image{padding:6px 0}.modula-fancybox-close-small{right:-6px}.modula-fancybox-slide--image .modula-fancybox-close-small{background:#4e4e4e;color:#f2f4f6;height:36px;opacity:1;padding:6px;right:0;top:0;width:36px}.modula-fancybox-caption{padding-left:12px;padding-right:12px}@supports (padding:max(0px)){.modula-fancybox-caption{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share{background:#f4f4f4;border-radius:3px;max-width:90%;padding:30px;text-align:center}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share h1{color:#222;font-size:35px;font-weight:700;margin:0 0 20px 0}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share h1:after,.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share h1:before{display:none}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share p{margin:0;padding:0}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share__button{border:0;border-radius:3px;display:inline-block;font-size:14px;font-weight:700;line-height:40px;margin:0 5px 10px 5px;min-width:130px;padding:0 15px;text-decoration:none;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share__button:link,.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share__button:visited{color:#fff}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share__button:hover{text-decoration:none}.modula-fancybox-share__button--fb{background:#3b5998}.modula-fancybox-share__button--fb:hover{background:#344e86}.modula-fancybox-share__button--pt{background:#bd081d}.modula-fancybox-share__button--pt:hover{background:#aa0719}.modula-fancybox-share__button--tw{background:#1da1f2}.modula-fancybox-share__button--tw:hover{background:#0d95e8}.modula-fancybox-share__button svg{height:25px;margin-right:7px;position:relative;top:-1px;vertical-align:middle;width:25px;display:inline-block}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share__button svg path{fill:#fff}.modula-fancybox-container .modula-fancybox-stage .modula-fancybox-share .modula-fancybox-share__input{background:0 0;border:0;border-bottom:1px solid #d7d7d7;border-radius:0;color:#5d5b5b;font-size:14px;margin:10px 0 0 0;outline:0;padding:10px 15px;width:100%}.modula-fancybox-container .modula-fancybox-thumbs{background:#ddd;bottom:0;display:none;margin:0;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;padding:2px 2px 4px 2px;position:absolute;right:0;-webkit-tap-highlight-color:transparent;top:0;width:212px;z-index:99995}.modula-fancybox-thumbs-x{overflow-x:auto;overflow-y:hidden}.modula-fancybox-show-thumbs .modula-fancybox-thumbs{display:block}.modula-fancybox-show-thumbs .modula-fancybox-inner{right:212px}.modula-fancybox-thumbs__list{font-size:0;height:100%;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;position:relative;white-space:nowrap;width:100%}.modula-fancybox-thumbs-x .modula-fancybox-thumbs__list{overflow:hidden}.modula-fancybox-thumbs-y .modula-fancybox-thumbs__list::-webkit-scrollbar{width:7px}.modula-fancybox-thumbs-y .modula-fancybox-thumbs__list::-webkit-scrollbar-track{background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.modula-fancybox-thumbs-y .modula-fancybox-thumbs__list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.modula-fancybox-thumbs__list a{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:rgba(0,0,0,.1);background-position:center center;background-repeat:no-repeat;background-size:cover;cursor:pointer;float:left;height:75px;margin:2px;max-height:calc(100% - 8px);max-width:calc(50% - 4px);outline:0;overflow:hidden;padding:0;position:relative;-webkit-tap-highlight-color:transparent;width:100px}.modula-fancybox-thumbs__list a::before{border:6px solid #ff5268;bottom:0;content:'';left:0;opacity:0;position:absolute;right:0;top:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);z-index:99991}.modula-fancybox-thumbs__list a:focus::before{opacity:.5}.modula-fancybox-thumbs__list a.modula-fancybox-thumbs-active::before{opacity:1}@media all and (max-width:576px){.modula-fancybox-thumbs{width:110px}.modula-fancybox-show-thumbs .modula-fancybox-inner{right:110px}.modula-fancybox-thumbs__list a{max-width:calc(100% - 10px)}}
assets/css/{modula.css → front/modula.css} RENAMED
@@ -1,11 +1,21 @@
1
  .modula .modula-items .modula-item {
2
  position: absolute;
3
  overflow: hidden;
 
 
 
 
4
  transition: transform .3s ease-out, opacity .2s linear, top .3s, left .6s;
5
  opacity: 0;
6
- box-sizing: border-box;
7
  }
8
- .modula .modula-items .modula-item > a {
 
 
 
 
 
 
 
9
  display: block;
10
  position: absolute;
11
  top: 0;
@@ -15,28 +25,45 @@
15
  z-index: 10;
16
  background: transparent;
17
  }
 
 
 
 
 
 
18
  .modula .modula-items .modula-item .jtg-social {
19
  z-index: 10;
 
20
  }
21
 
22
- .modula .modula-items .modula-item.tg-loaded {
 
23
  transform: scale(1) translate(0, 0) rotate(0deg) !important;
24
  opacity: 1;
25
  }
26
- .modula .modula-items .modula-item.tg-loaded img.pic {
27
- display: block;
28
- opacity: 1;
29
- }
30
 
31
  .modula .modula-items .modula-item img.pic {
32
  font-size:12px;
33
  position:absolute;
34
- display: none;
35
- opacity: 0;
36
- max-width:999em !important;
37
  transition: width .3s, height .3s, transform .3s linear, opacity .2s linear;
38
  }
39
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  .modula .modula-items .modula-item img.pic.lazyloaded,
41
  .modula .modula-items .modula-item img.pic.lazyload {
42
  display: block;
@@ -59,27 +86,30 @@
59
  left: 0;
60
  width: 100%;
61
  padding:0;
 
62
  }
 
 
63
  .modula .modula-items .hidden .figc
64
  {
65
- display: none;
66
  }
67
  .modula .modula-items .hidden:hover .figc
68
  {
69
- display: block;
70
  }
71
 
72
  .modula .modula-items .visible .figc
73
  {
74
- display: block;
75
  }
76
  .modula .modula-items .always-visible .figc
77
  {
78
- display: block;
79
  }
80
  .modula .modula-items .visible:hover .figc
81
  {
82
- display: none;
83
  }
84
  .modula .modula-items .caption span.text {
85
  display: block;
@@ -98,8 +128,11 @@ Modula Filters
98
 
99
  .modula .filters.vertical-filters {
100
  margin-top:0;
 
 
101
  }
102
 
 
103
  .modula .filters a {
104
  text-decoration: none;
105
  display: inline-block;
@@ -123,9 +156,9 @@ Modula Filters
123
  border-bottom-color: #333;
124
  border-bottom:1px solid;
125
  }
126
- body .modula .modula-item {
127
  width: 100%;
128
- }
129
  body .modula.vertical-filters .modula-items {
130
  width: 80%;
131
  float:left;
@@ -143,6 +176,7 @@ body .modula:after {
143
 
144
  body .modula .filters.vertical-filters.both-vertical + .modula-items {
145
  width: 60%;
 
146
  }
147
 
148
  .modula .filters.vertical-filters a {
@@ -292,8 +326,6 @@ body .modula .filters.vertical-filters.both-vertical + .modula-items {
292
  box-shadow: none;
293
  }
294
 
295
- .lightbox .lb-image { max-width:999em; }
296
-
297
  .modula .jtg-social svg {
298
  width: 20px;
299
  height: 16px;
@@ -305,7 +337,7 @@ body .modula .filters.vertical-filters.both-vertical + .modula-items {
305
  .modula .modula-items .modula-item p {
306
  margin:0;
307
  padding: 0;
308
- }
309
  .modula .figc {
310
  color: black;
311
  text-align: center;
@@ -320,7 +352,7 @@ body .modula .filters.vertical-filters.both-vertical + .modula-items {
320
  color: #fff;
321
  display: inline-block;
322
  margin:0 10px 0 0;
323
- padding: 6px 4px;
324
  border: 0;
325
  opacity: 0;
326
  transition: opacity .3s;
@@ -347,7 +379,7 @@ body .modula .filters.vertical-filters.both-vertical + .modula-items {
347
  }
348
 
349
  .modula .modula-items .jtg-social a:last-of-type {
350
- margin-right: 0;
351
  }
352
 
353
  .modula .modula-item.effect-pufrobo p.description {
@@ -371,10 +403,10 @@ body .modula .filters.vertical-filters.both-vertical + .modula-items {
371
  opacity: .8
372
  }
373
 
374
- .modula .modula-item { background-color:#000; }
375
 
376
  .modula .modula-item.effect-pufrobo p {
377
- bottom: 20%;
378
  line-height: 1.5;
379
  -webkit-transform: translate3d(0,100%,0);
380
  transform: translate3d(0,100%,0);
@@ -442,20 +474,263 @@ body .modula .filters.vertical-filters.both-vertical + .modula-items {
442
  display: none;
443
  }
444
 
445
- #lightbox.lightbox {
446
- position: fixed;
447
- top:50% !important;
448
- transform: translateY(-50%);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
449
  }
450
 
451
- @media all and (max-height: 680px) {
452
- .lb-outerContainer,
453
- .lb-container,
454
- #lightbox.lightbox .lb-image {
455
- max-height:80vh;
456
- width:auto !important;
457
- display:inline-block;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
458
  }
459
  }
460
 
461
- .modula .modula-items .modula-item>a{cursor:zoom-in;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  .modula .modula-items .modula-item {
2
  position: absolute;
3
  overflow: hidden;
4
+ box-sizing: border-box;
5
+ }
6
+
7
+ .modula .modula-items .modula-item .modula-item-content {
8
  transition: transform .3s ease-out, opacity .2s linear, top .3s, left .6s;
9
  opacity: 0;
 
10
  }
11
+
12
+ .modula .modula-items {
13
+ position: relative;
14
+ z-index: 1;
15
+ min-height: 10px;
16
+ }
17
+
18
+ .modula .modula-items .modula-item .modula-item-content > a {
19
  display: block;
20
  position: absolute;
21
  top: 0;
25
  z-index: 10;
26
  background: transparent;
27
  }
28
+
29
+ .modula.modula-creative-gallery .modula-items .modula-item .modula-item-content,
30
+ .modula.modula-custom-grid .modula-items .modula-item .modula-item-content{
31
+ height: 100%;
32
+ }
33
+
34
  .modula .modula-items .modula-item .jtg-social {
35
  z-index: 10;
36
+ font-size: 0;
37
  }
38
 
39
+ .modula:not(.modula-loaded-scale) .modula-items .modula-item.tg-loaded .modula-item-content,
40
+ .modula:not(.modula-loaded-scale) .modula-items.justified-gallery .modula-item .modula-item-content{
41
  transform: scale(1) translate(0, 0) rotate(0deg) !important;
42
  opacity: 1;
43
  }
 
 
 
 
44
 
45
  .modula .modula-items .modula-item img.pic {
46
  font-size:12px;
47
  position:absolute;
48
+ /*display: none;*/
49
+ /*opacity: 0;*/
50
+ max-width:999em;
51
  transition: width .3s, height .3s, transform .3s linear, opacity .2s linear;
52
  }
53
 
54
+ .modula.modula-columns .modula-items .modula-item img.pic {
55
+ position: relative;
56
+ max-width: 100%;
57
+ margin: 0 auto;
58
+ }
59
+
60
+ .modula .modula-items .modula-item.tg-loaded img.pic,
61
+ .modula.modula-columns .modula-items .modula-item img.pic {
62
+ display: block;
63
+ opacity: 1;
64
+ }
65
+
66
+
67
  .modula .modula-items .modula-item img.pic.lazyloaded,
68
  .modula .modula-items .modula-item img.pic.lazyload {
69
  display: block;
86
  left: 0;
87
  width: 100%;
88
  padding:0;
89
+ max-width:100%;
90
  }
91
+
92
+
93
  .modula .modula-items .hidden .figc
94
  {
95
+ display: none;
96
  }
97
  .modula .modula-items .hidden:hover .figc
98
  {
99
+ display: block;
100
  }
101
 
102
  .modula .modula-items .visible .figc
103
  {
104
+ display: block;
105
  }
106
  .modula .modula-items .always-visible .figc
107
  {
108
+ display: block;
109
  }
110
  .modula .modula-items .visible:hover .figc
111
  {
112
+ display: none;
113
  }
114
  .modula .modula-items .caption span.text {
115
  display: block;
128
 
129
  .modula .filters.vertical-filters {
130
  margin-top:0;
131
+ width:20%;
132
+ float:left;
133
  }
134
 
135
+
136
  .modula .filters a {
137
  text-decoration: none;
138
  display: inline-block;
156
  border-bottom-color: #333;
157
  border-bottom:1px solid;
158
  }
159
+ /*body .modula .modula-item {
160
  width: 100%;
161
+ }*/
162
  body .modula.vertical-filters .modula-items {
163
  width: 80%;
164
  float:left;
176
 
177
  body .modula .filters.vertical-filters.both-vertical + .modula-items {
178
  width: 60%;
179
+ float:left;
180
  }
181
 
182
  .modula .filters.vertical-filters a {
326
  box-shadow: none;
327
  }
328
 
 
 
329
  .modula .jtg-social svg {
330
  width: 20px;
331
  height: 16px;
337
  .modula .modula-items .modula-item p {
338
  margin:0;
339
  padding: 0;
340
+ }
341
  .modula .figc {
342
  color: black;
343
  text-align: center;
352
  color: #fff;
353
  display: inline-block;
354
  margin:0 10px 0 0;
355
+ padding: 0;
356
  border: 0;
357
  opacity: 0;
358
  transition: opacity .3s;
379
  }
380
 
381
  .modula .modula-items .jtg-social a:last-of-type {
382
+ margin-right: 0;
383
  }
384
 
385
  .modula .modula-item.effect-pufrobo p.description {
403
  opacity: .8
404
  }
405
 
406
+ /*.modula .modula-item { background-color:#000; }*/
407
 
408
  .modula .modula-item.effect-pufrobo p {
409
+ bottom: 20%;
410
  line-height: 1.5;
411
  -webkit-transform: translate3d(0,100%,0);
412
  transform: translate3d(0,100%,0);
474
  display: none;
475
  }
476
 
477
+ .modula .modula-items .modula-item>a{cursor:zoom-in;}
478
+
479
+
480
+ /**
481
+ Fix for admin bar overfloating
482
+ */
483
+ .modula-fancybox-container.modula-fancybox-is-open {
484
+ z-index:99999999;
485
+ }
486
+
487
+ .modula-fancybox-share__button--li {
488
+ background:#0e76a8;
489
+ }
490
+
491
+ .modula-fancybox-share__button--wa {
492
+ background:#25D366;
493
+ }
494
+
495
+ /* New CSS */
496
+ .modula.modula-columns .modula-item {
497
+ display: flex;
498
+ justify-content: center;
499
+ }
500
+ .modula.modula-columns .modula-item .modula-item-content {
501
+ position: relative;
502
+ }
503
+ .modula.modula-columns .modula-item .modula-item-overlay {
504
+ position: absolute;
505
+ top:0;
506
+ left: 0;
507
+ width: 100%;
508
+ height: 100%;
509
+ display: none;
510
+ z-index: 9;
511
+ }
512
+ .modula.modula-columns .modula-items.grid-gallery .modula-item .modula-item-content {
513
+ /*width: 100%;*/
514
+ height: 100%;
515
+ }
516
+ .modula.modula-columns .modula-items.grid-gallery.justified-gallery .modula-item .modula-item-content {
517
+ width: 100%;
518
+ }
519
+ .modula.modula-columns .modula-items.grid-gallery.justified-gallery .modula-item .modula-item-content .pic {
520
+ position: absolute;
521
+ top: 50%;
522
+ left: 50%;
523
+ margin: 0;
524
+ padding: 0;
525
+ border: none;
526
  }
527
 
528
+ .modula.modula-columns .modula-item.jg-filtered {
529
+ display: none;
530
+ }
531
+
532
+ /* Modula Grid */
533
+ /* Rows CSS */
534
+ .modula-row {
535
+ display: -ms-flexbox;
536
+ display: flex;
537
+ -ms-flex-wrap: wrap;
538
+ flex-wrap: wrap;
539
+ margin-right: -15px;
540
+ margin-left: -15px;
541
+ }
542
+
543
+ .modula-row-cols-1 > * {
544
+ -ms-flex: 0 0 100%;
545
+ flex: 0 0 100%;
546
+ max-width: 100%
547
+ }
548
+
549
+ .modula-row-cols-2 > * {
550
+ -ms-flex: 0 0 50%;
551
+ flex: 0 0 50%;
552
+ max-width: 50%
553
+ }
554
+
555
+ .modula-row-cols-3 > * {
556
+ -ms-flex: 0 0 33.333333%;
557
+ flex: 0 0 33.333333%;
558
+ max-width: 33.333333%
559
+ }
560
+
561
+ .modula-row-cols-4 > * {
562
+ -ms-flex: 0 0 25%;
563
+ flex: 0 0 25%;
564
+ max-width: 25%
565
+ }
566
+
567
+ .modula-row-cols-5 > * {
568
+ -ms-flex: 0 0 20%;
569
+ flex: 0 0 20%;
570
+ max-width: 20%
571
+ }
572
+
573
+ .modula-row-cols-6 > * {
574
+ -ms-flex: 0 0 16.666667%;
575
+ flex: 0 0 16.666667%;
576
+ max-width: 16.666667%
577
+ }
578
+
579
+ @media (min-width: 576px) {
580
+ .modula-row-cols-sm-1 > * {
581
+ -ms-flex: 0 0 100%;
582
+ flex: 0 0 100%;
583
+ max-width: 100%
584
+ }
585
+
586
+ .modula-row-cols-sm-2 > * {
587
+ -ms-flex: 0 0 50%;
588
+ flex: 0 0 50%;
589
+ max-width: 50%
590
+ }
591
+
592
+ .modula-row-cols-sm-3 > * {
593
+ -ms-flex: 0 0 33.333333%;
594
+ flex: 0 0 33.333333%;
595
+ max-width: 33.333333%
596
+ }
597
+
598
+ .modula-row-cols-sm-4 > * {
599
+ -ms-flex: 0 0 25%;
600
+ flex: 0 0 25%;
601
+ max-width: 25%
602
+ }
603
+
604
+ .modula-row-cols-sm-5 > * {
605
+ -ms-flex: 0 0 20%;
606
+ flex: 0 0 20%;
607
+ max-width: 20%
608
+ }
609
+
610
+ .modula-row-cols-sm-6 > * {
611
+ -ms-flex: 0 0 16.666667%;
612
+ flex: 0 0 16.666667%;
613
+ max-width: 16.666667%
614
  }
615
  }
616
 
617
+ @media (min-width: 768px) {
618
+ .modula-row-cols-md-1 > * {
619
+ -ms-flex: 0 0 100%;
620
+ flex: 0 0 100%;
621
+ max-width: 100%
622
+ }
623
+
624
+ .modula-row-cols-md-2 > * {
625
+ -ms-flex: 0 0 50%;
626
+ flex: 0 0 50%;
627
+ max-width: 50%
628
+ }
629
+
630
+ .modula-row-cols-md-3 > * {
631
+ -ms-flex: 0 0 33.333333%;
632
+ flex: 0 0 33.333333%;
633
+ max-width: 33.333333%
634
+ }
635
+
636
+ .modula-row-cols-md-4 > * {
637
+ -ms-flex: 0 0 25%;
638
+ flex: 0 0 25%;
639
+ max-width: 25%
640
+ }
641
+
642
+ .modula-row-cols-md-5 > * {
643
+ -ms-flex: 0 0 20%;
644
+ flex: 0 0 20%;
645
+ max-width: 20%
646
+ }
647
+
648
+ .modula-row-cols-md-6 > * {
649
+ -ms-flex: 0 0 16.666667%;
650
+ flex: 0 0 16.666667%;
651
+ max-width: 16.666667%
652
+ }
653
+
654
+ }
655
+
656
+ @media (min-width: 992px) {
657
+ .modula-row-cols-lg-1 > * {
658
+ -ms-flex: 0 0 100%;
659
+ flex: 0 0 100%;
660
+ max-width: 100%
661
+ }
662
+
663
+ .modula-row-cols-lg-2 > * {
664
+ -ms-flex: 0 0 50%;
665
+ flex: 0 0 50%;
666
+ max-width: 50%
667
+ }
668
+
669
+ .modula-row-cols-lg-3 > * {
670
+ -ms-flex: 0 0 33.333333%;
671
+ flex: 0 0 33.333333%;
672
+ max-width: 33.333333%
673
+ }
674
+
675
+ .modula-row-cols-lg-4 > * {
676
+ -ms-flex: 0 0 25%;
677
+ flex: 0 0 25%;
678
+ max-width: 25%
679
+ }
680
+
681
+ .modula-row-cols-lg-5 > * {
682
+ -ms-flex: 0 0 20%;
683
+ flex: 0 0 20%;
684
+ max-width: 20%
685
+ }
686
+
687
+ .modula-row-cols-lg-6 > * {
688
+ -ms-flex: 0 0 16.666667%;
689
+ flex: 0 0 16.666667%;
690
+ max-width: 16.666667%
691
+ }
692
+ }
693
+
694
+ @media (min-width: 1200px) {
695
+ .modula-row-cols-xl-1 > * {
696
+ -ms-flex: 0 0 100%;
697
+ flex: 0 0 100%;
698
+ max-width: 100%
699
+ }
700
+
701
+ .modula-row-cols-xl-2 > * {
702
+ -ms-flex: 0 0 50%;
703
+ flex: 0 0 50%;
704
+ max-width: 50%
705
+ }
706
+
707
+ .modula-row-cols-xl-3 > * {
708
+ -ms-flex: 0 0 33.333333%;
709
+ flex: 0 0 33.333333%;
710
+ max-width: 33.333333%
711
+ }
712
+
713
+ .modula-row-cols-xl-4 > * {
714
+ -ms-flex: 0 0 25%;
715
+ flex: 0 0 25%;
716
+ max-width: 25%
717
+ }
718
+
719
+ .modula-row-cols-xl-5 > * {
720
+ -ms-flex: 0 0 20%;
721
+ flex: 0 0 20%;
722
+ max-width: 20%
723
+ }
724
+
725
+ .modula-row-cols-xl-6 > * {
726
+ -ms-flex: 0 0 16.666667%;
727
+ flex: 0 0 16.666667%;
728
+ max-width: 16.666667%
729
+ }
730
+ }
731
+
732
+ .modula .modula-items.grid-gallery .modula-item .figc {
733
+ height:100%;
734
+ top:0;
735
+ }
736
+
assets/css/front/modula.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .modula .modula-items .modula-item{position:absolute;overflow:hidden;box-sizing:border-box}.modula .modula-items .modula-item .modula-item-content{transition:transform .3s ease-out,opacity .2s linear,top .3s,left .6s;opacity:0}.modula .modula-items{position:relative;z-index:1;min-height:10px}.modula .modula-items .modula-item .modula-item-content>a{display:block;position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background:0 0}.modula.modula-creative-gallery .modula-items .modula-item .modula-item-content,.modula.modula-custom-grid .modula-items .modula-item .modula-item-content{height:100%}.modula .modula-items .modula-item .jtg-social{z-index:10;font-size:0}.modula:not(.modula-loaded-scale) .modula-items .modula-item.tg-loaded .modula-item-content,.modula:not(.modula-loaded-scale) .modula-items.justified-gallery .modula-item .modula-item-content{transform:scale(1) translate(0,0) rotate(0)!important;opacity:1}.modula .modula-items .modula-item img.pic{font-size:12px;position:absolute;max-width:999em;transition:width .3s,height .3s,transform .3s linear,opacity .2s linear}.modula.modula-columns .modula-items .modula-item img.pic{position:relative;max-width:100%;margin:0 auto}.modula .modula-items .modula-item.tg-loaded img.pic,.modula.modula-columns .modula-items .modula-item img.pic{display:block;opacity:1}.modula .modula-items .modula-item img.pic.lazyload,.modula .modula-items .modula-item img.pic.lazyloaded{display:block}.modula .modula-items .modula-item .caption .icon{font-size:14px;position:absolute;left:50%;top:50%;margin:-12px 0 0 -8px}.modula .modula-items .modula-item .figc{color:#fff;text-align:center;position:absolute;left:0;width:100%;padding:0;max-width:100%}.modula .modula-items .hidden .figc{display:none}.modula .modula-items .hidden:hover .figc{display:block}.modula .modula-items .visible .figc{display:block}.modula .modula-items .always-visible .figc{display:block}.modula .modula-items .visible:hover .figc{display:none}.modula .modula-items .caption span.text{display:block;padding:10px}.modula .modula-items .caption span.title{font-size:14px;font-weight:700}.modula .filters{margin:20px 0 20px 0}.modula .filters.vertical-filters{margin-top:0;width:20%;float:left}.modula .filters a{text-decoration:none;display:inline-block;color:#333;outline:0;transition:350ms ease-in}.modula .filters.menu--dfefault a{border-bottom:2px solid transparent}.modula .filters.colored a{border:0;color:#fff}.modula .filters:not(.styled-menu) a.selected,.modula .filters:not(.styled-menu) a:hover{border-bottom-color:#333;border-bottom:1px solid}body .modula.vertical-filters .modula-items{width:80%;float:left}body .modula:after{content:"";display:block;clear:both}.modula.vertical-filters .filters{width:20%;float:left}body .modula .filters.vertical-filters.both-vertical+.modula-items{width:60%;float:left}.modula .filters.vertical-filters a{display:block;margin-bottom:15px}.modula .filters.vertical-filters.colored a{border-radius:5px;text-align:center;background:#fff;border:1px solid #3498db;color:#3498db}.modula .filters.vertical-filters.colored a.selected,.modula .filters.vertical-filters.colored a:hover{background:#fff;color:#8e44ad;border-color:#8e44ad}.modula .filters.horizontal-filters.colored a{display:inline-block;padding:0 30px;margin-right:2px;background:#3498db;position:relative;border:0}.modula .filters.horizontal-filters.colored a.selected,.modula .filters.horizontal-filters.colored a:hover{background:#8e44ad}.modula .filters.horizontal-filters.colored a:before{position:absolute;content:'';left:0;top:0;width:0;height:0;border:none;border-bottom-color:currentcolor;border-bottom-style:none;border-bottom-width:medium;border-left-color:currentcolor;border-left-style:none;border-left-width:medium;border-left:solid 17px #fff;border-bottom:solid 41px transparent;z-index:1;transition:.4s}.modula .filters.horizontal-filters.colored a:after{position:absolute;content:'';right:0;top:0;width:0;height:0;border:none;border-bottom-color:currentcolor;border-bottom-style:none;border-bottom-width:medium;border-left-color:currentcolor;border-left-style:none;border-left-width:medium;border-left:solid 17px transparent;border-bottom:solid 41px #fff;z-index:1;transition:.4s}.filter-by-wrapper{text-align:center;margin-bottom:25px;text-transform:uppercase}.filter-by-wrapper span{cursor:pointer}.filter-by-wrapper span:after{content:"";margin-left:15px;width:0;height:0;border-style:solid;border-width:15px 10px 0 10px;border-color:#0470e3 transparent transparent transparent;display:inline-block}.filter-by-wrapper.opened span:after{content:"";width:0;height:0;border-style:solid;border-width:0 10px 15px 10px;border-color:transparent transparent #d500ff transparent;display:inline-block}.modula .filters.vertical-filters a{margin-bottom:0}.menu__list li.menu__item{margin:15px}@media all and (min-width:1025px){.filter-by-wrapper{display:none!important}.modula-gallery .filters{display:block!important}}@media all and (max-width:1024px){.modula .filters.vertical-filters.both-vertical+.modula-items,.modula.vertical-filters .filters,.modula.vertical-filters .modula-items{width:100%!important;float:none}.menu__list{padding:0}.menu__list li.menu__item{margin:0}}.modula .jtg-social a{box-shadow:none}.modula .jtg-social svg{width:20px;height:16px}.modula .modula-items .modula-item .jtg-title{margin:0}.modula .modula-items .modula-item p{margin:0;padding:0}.modula .figc{color:#000;text-align:center;position:absolute;left:0;width:100%;padding:2em}.modula .modula-item .jtg-social a{text-decoration:none;color:#fff;display:inline-block;margin:0 10px 0 0;padding:0;border:0;opacity:0;transition:opacity .3s}.modula .modula-item:hover .jtg-social a{opacity:1}.modula .modula-items .jtg-social{opacity:0;transition:opacity .1s;right:30px;position:absolute;bottom:20px;text-align:right;transition:all .3s}.modula .modula-items .jtg-social{opacity:1}.modula .modula-items .jtg-social a:last-of-type{margin-right:0}.modula .modula-item.effect-pufrobo p.description{margin-bottom:2em}.modula .modula-item.effect-pufrobo .figc{text-align:right}.modula .modula-item.effect-pufrobo .jtg-title,.modula .modula-item.effect-pufrobo p{position:absolute;right:30px;left:30px;padding:10px 0}.modula .modula-item:hover img,.modula .modula-items .modula-item.tg-loaded:hover img.pic{opacity:.8}.modula .modula-item.effect-pufrobo p{bottom:20%;line-height:1.5;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);letter-spacing:1px}.modula .modula-item.effect-pufrobo .jtg-title{top:10%;-webkit-transition:-webkit-transform .35s;transition:transform .35s;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}.modula .modula-item.effect-pufrobo:hover .jtg-title{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modula .modula-item.effect-pufrobo .jtg-title::after{position:absolute;top:80%;left:0;width:100%;height:4px;background:#fff;content:'';-webkit-transform:translate3d(0,40px,0);transform:translate3d(0,40px,0)}.modula .modula-item.effect-pufrobo .jtg-title::after,.modula .modula-item.effect-pufrobo p{opacity:0;-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s}.modula .modula-item.effect-pufrobo:hover .jtg-title::after,.modula .modula-item.effect-pufrobo:hover p{margin-top:10px;margin-bottom:5px;opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modula .modula-items .modula-item.effect-pufrobo .figc.no-title.no-description .jtg-title:after{display:none}.modula .modula-items .modula-item.effect-appear .figc .jtg-title:before,.modula .modula-items .modula-item.effect-comodo .figc .jtg-title:before,.modula .modula-items .modula-item.effect-crafty .figc .jtg-title:before,.modula .modula-items .modula-item.effect-curtain .figc .jtg-title:before,.modula .modula-items .modula-item.effect-fluid-up .figc .jtg-title:before,.modula .modula-items .modula-item.effect-hide .figc .jtg-title:before,.modula .modula-items .modula-item.effect-lens .figc .jtg-title:before,.modula .modula-items .modula-item.effect-pufrobo .figc .jtg-title:before,.modula .modula-items .modula-item.effect-quiet .figc .jtg-title:before,.modula .modula-items .modula-item.effect-reflex .figc .jtg-title:before,.modula .modula-items .modula-item.effect-seemo .figc .jtg-title:before{display:none}.modula .modula-items .modula-item>a{cursor:zoom-in}.modula-fancybox-container.modula-fancybox-is-open{z-index:99999999}.modula-fancybox-share__button--li{background:#0e76a8}.modula-fancybox-share__button--wa{background:#25d366}.modula.modula-columns .modula-item{display:flex;justify-content:center}.modula.modula-columns .modula-item .modula-item-content{position:relative}.modula.modula-columns .modula-item .modula-item-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:none;z-index:9}.modula.modula-columns .modula-items.grid-gallery .modula-item .modula-item-content{height:100%}.modula.modula-columns .modula-items.grid-gallery.justified-gallery .modula-item .modula-item-content{width:100%}.modula.modula-columns .modula-items.grid-gallery.justified-gallery .modula-item .modula-item-content .pic{position:absolute;top:50%;left:50%;margin:0;padding:0;border:none}.modula.modula-columns .modula-item.jg-filtered{display:none}.modula-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.modula-row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.modula-row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.modula-row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.modula-row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.modula-row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.modula-row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}@media (min-width:576px){.modula-row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.modula-row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.modula-row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.modula-row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.modula-row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.modula-row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}}@media (min-width:768px){.modula-row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.modula-row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.modula-row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.modula-row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.modula-row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.modula-row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}}@media (min-width:992px){.modula-row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.modula-row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.modula-row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.modula-row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.modula-row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.modula-row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}}@media (min-width:1200px){.modula-row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.modula-row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.modula-row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.modula-row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.modula-row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.modula-row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}}.modula .modula-items.grid-gallery .modula-item .figc{height:100%;top:0}
assets/css/jquery-ui.min-old.css DELETED
@@ -1,7 +0,0 @@
1
- /*! jQuery UI - v1.11.0 - 2014-06-26
2
- * http://jqueryui.com
3
- * Includes: core.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, draggable.css, menu.css, progressbar.css, resizable.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css
4
- * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=gloss_wave&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=highlight_soft&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=glass&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=glass&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=diagonals_thick&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
5
- * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */
6
-
7
- .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;min-height:0;font-size:100%}.ui-accordion .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-icons .ui-accordion-icons{padding-left:2.2em}.ui-accordion .ui-accordion-header .ui-accordion-header-icon{position:absolute;left:.5em;top:50%;margin-top:-8px}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-button{display:inline-block;position:relative;padding:0;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2.2em}button.ui-button-icon-only{width:2.4em}.ui-button-icons-only{width:3.4em}button.ui-button-icons-only{width:3.7em}.ui-button .ui-button-text{display:block;line-height:normal}.ui-button-text-only .ui-button-text{padding:.4em 1em}.ui-button-icon-only .ui-button-text,.ui-button-icons-only .ui-button-text{padding:.4em;text-indent:-9999999px}.ui-button-text-icon-primary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 1em .4em 2.1em}.ui-button-text-icon-secondary .ui-button-text,.ui-button-text-icons .ui-button-text{padding:.4em 2.1em .4em 1em}.ui-button-text-icons .ui-button-text{padding-left:2.1em;padding-right:2.1em}input.ui-button{padding:.4em 1em}.ui-button-icon-only .ui-icon,.ui-button-text-icon-primary .ui-icon,.ui-button-text-icon-secondary .ui-icon,.ui-button-text-icons .ui-icon,.ui-button-icons-only .ui-icon{position:absolute;top:50%;margin-top:-8px}.ui-button-icon-only .ui-icon{left:50%;margin-left:-8px}.ui-button-text-icon-primary .ui-button-icon-primary,.ui-button-text-icons .ui-button-icon-primary,.ui-button-icons-only .ui-button-icon-primary{left:.5em}.ui-button-text-icon-secondary .ui-button-icon-secondary,.ui-button-text-icons .ui-button-icon-secondary,.ui-button-icons-only .ui-button-icon-secondary{right:.5em}.ui-buttonset{margin-right:7px}.ui-buttonset .ui-button{margin-left:0;margin-right:-.3em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-dialog{overflow:hidden;position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-se{width:12px;height:12px;right:-5px;bottom:-5px;background-position:16px 16px}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:none}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{position:relative;margin:0;padding:3px 1em 3px .4em;cursor:pointer;min-height:0;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("images/animated-overlay.gif");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-button{display:inline-block;overflow:hidden;position:relative;text-decoration:none;cursor:pointer}.ui-selectmenu-button span.ui-icon{right:0.5em;left:auto;margin-top:-8px;position:absolute;top:50%}.ui-selectmenu-button span.ui-selectmenu-text{text-align:left;padding:0.4em 2.1em 0.4em 1em;display:block;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:22px}.ui-spinner-button{width:16px;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top:none;border-bottom:none;border-right:none}.ui-spinner .ui-icon{position:absolute;margin-top:-8px;top:50%;left:0}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-spinner .ui-icon-triangle-1-s{background-position:-65px -16px}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px;-webkit-box-shadow:0 0 5px #aaa;box-shadow:0 0 5px #aaa}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#eee url("images/ui-bg_highlight-soft_100_eeeeee_1x100.png") 50% top repeat-x;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #e78f08;background:#f6a828 url("images/ui-bg_gloss-wave_35_f6a828_500x100.png") 50% 50% repeat-x;color:#fff;font-weight:bold}.ui-widget-header a{color:#fff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #ccc;background:#f6f6f6;font-weight:bold;color:#1c94c4}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#1c94c4;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #fbcb09;background:#fdf5ce url("images/ui-bg_glass_100_fdf5ce_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#c77405}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#c77405;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #fbd850;background:#fff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#eb8f00}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#eb8f00;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fed22f;background:#ffe45c url("images/ui-bg_highlight-soft_75_ffe45c_1x100.png") 50% top repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#b81900 url("images/ui-bg_diagonals-thick_18_b81900_40x40.png") 50% 50% repeat;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_228ef1_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_ffd27a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#666 url("images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat;opacity:.5;filter:Alpha(Opacity=50)}.ui-widget-shadow{margin:-5px 0 0 -5px;padding:5px;background:#000 url("images/ui-bg_flat_10_000000_40x100.png") 50% 50% repeat-x;opacity:.2;filter:Alpha(Opacity=20);border-radius:5px}
 
 
 
 
 
 
 
assets/css/lightbox.css DELETED
@@ -1,207 +0,0 @@
1
- html.lb-disable-scrolling {
2
- overflow: hidden;
3
- /* Position fixed required for iOS. Just putting overflow: hidden; on the body is not enough. */
4
- position: fixed;
5
- height: 100vh;
6
- width: 100vw;
7
- }
8
-
9
- .lightboxOverlay {
10
- position: absolute;
11
- top: 0;
12
- left: 0;
13
- z-index: 9999;
14
- background-color: black;
15
- filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
16
- opacity: 0.8;
17
- display: none;
18
- }
19
-
20
- #lightbox.lightbox {
21
- position: absolute;
22
- left: 0;
23
- width: 100%;
24
- z-index: 10000;
25
- text-align: center;
26
- line-height: 0;
27
- font-weight: 400;
28
- }
29
-
30
- #lightbox.lightbox .lb-image {
31
- display: block;
32
- height: auto;
33
- max-width: inherit;
34
- max-height: none;
35
- border-radius: 3px;
36
-
37
- /* Image border */
38
- border: 4px solid white;
39
- }
40
-
41
- #lightbox.lightbox a img {
42
- border: none;
43
- }
44
-
45
- .lb-outerContainer {
46
- position: relative;
47
- *zoom: 1;
48
- width: 250px;
49
- height: 250px;
50
- margin: 0 auto;
51
- border-radius: 4px;
52
-
53
- /* Background color behind image.
54
- This is visible during transitions. */
55
- background-color: white;
56
- }
57
-
58
- .lb-outerContainer:after {
59
- content: "";
60
- display: table;
61
- clear: both;
62
- }
63
-
64
- .lb-loader {
65
- position: absolute;
66
- top: 43%;
67
- left: 0;
68
- height: 25%;
69
- width: 100%;
70
- text-align: center;
71
- line-height: 0;
72
- }
73
-
74
- .lb-cancel {
75
- display: block;
76
- width: 32px;
77
- height: 32px;
78
- margin: 0 auto;
79
- background: url('data:image/gif;base64,R0lGODlhIAAgAPUuAOjo6Nzc3M3Nzb+/v7e3t7GxsbW1tbu7u8XFxdHR0djY2MHBwa2trbm5ucnJyaSkpKWlpaGhoeLi4urq6u7u7ubm5vLy8vb29vT09Pr6+v39/aysrK+vr7Ozs8fHx9vb297e3qmpqb29vdPT06amptXV1aCgoMvLy8/Pz9fX18PDw/j4+Ozs7ODg4PDw8KioqOTk5JqampmZmZycnP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJBwAuACwAAAAAIAAgAEAG/0CXcEgECQ6bUGRDbDpdimTo9QoJnlhsYVvojLLgrEAkGiwWiFTYldGsRyHSYz6P2COG9XCw2TAYeXprCQYEhQcKgoouAQ4IHg4CAiMpCiASFRMUFhgXFxkZawEDcnd2Jh2LLiAdLyQvELEFX6pCAQx9fQ21T1wFHCi8TwcGxQYnwk8eBAcHZQnJTh8D1I8OJwmWMBMsFJudoG4u4mAgIwIoCSMKlpjcmxeLCgcPJianEcIKBXR1prVRSMiBUIfDAA8JoC1SMYWKKw/RXCzoE6IixIgC+uDaQCsiAQ4gOSCIOMRXhxIkhRjoYEwhSQTGCAxIyYiAzWYjU35o5oxaIj095J6AWFDmDAIHCVpgubCizRoFKtBAQjeixIdLADRZYBpOQ1An5qYmLKEgQAsYWb95UiUhgIJK7bZRCBMEACH5BAkHADMALAAAAAAZACAAAAb/wJlwSAQJRJxNJMLgHBzE6FBxeD0ey2zEBJESA4sXBHItZ2MJr1DReZFIZfNS9lGXOC83aRzPktQKHCEheW4QBQseCQkeAwZeIAYbG4OEBiNqXgiTnBsemV6BkwwbDCigXioMq6RQqFEBHLKyB69SKAW5BRwltlELugW1vkQHBh3In8RDBs3NactCBM4GvdEzBNMGBNbRB9MEB9DRAwQNBwcC1zMe5wciCOsj7wcDAwrXAe8i9ifrDvwGLEDQjdgHewtUIPBQJxqKBQM9OBDQkBgIBws9CBCQQAEMNRk0SAngoeTGBCMUgKgwgYIFDBcyhPTywSTHEiolsHR5YcVMMkgoOCbACUJny5cxf0ppkWIRzgAtYABg4QKmz5AivUhQ8LTozqo9M9iS0KKFURY8iQQBACH5BAkHAAAALAAAAAAZACAAAAb/QIBwSAShRBzGA8LhHAQgolSoEIVIENJjG+maHgfFFBBQbUKvF3bL7kZMpoFUYTij0xAI++E2yVJEJQUbhCF3JGsRfF0xB0QKg4SFIR0qDgkJHgMhjEUESZIbBiNjAAkvAkQeHAUFTRwOpaUKHa22CbKlCLatsblTAQYdwgVyv1MJBsrKJcdTCMsGxs5EAwQEBgQn1FIH1wQHpNxDBw0H52LjQucHIiKA6gAi7SID4uoL9QMLuPEOA/sW+FI3IiACDwHigVCB4OCleKYOejgh4INChwIEJJAQLxPFBCNKcBwHIiOKBCUUfJAwgaRGlApASKgwwQWGCxkyaNAgC8SIMxEpYs6cQMHChRU6f0lQEFQmzaJHk/6CAeKDU6JGkfJ0VkHCUAo2cerc6mwC0bBayQIIAgAh+QQJBwAuACwAAAAAHAAgAAAG/0CXcEgEJQaFAomUHAhAxGhUMWCErq/X8sF9HRRSYgDB2ZixWgiXG4kMAuFPg2Gmb0JZEkTNbnPARCUGHAUcDHZYS3wPbW0QCUMfBklJhhsGCA4JCQ4LDH0RMzIcQiAHBR2UBQclYS4JBY0mA0MOBrepBieuRAgmMhuRBLfEkLxEJwdEHgbDtwLHxwEE1NQq0ccjDdQHX9i8Dt3d19+uCyIiB07lrgPu7q3sUu8LCx/y8/ULCPf4vQgAPQDyJ8RBQAfxCL5C4MGBAGMKFTA88VCCQhcgHDhEMWIgwRECUCQYkcKiQhAiSSoAAeCiggQlFHwAIWGCQgkpUqxsAQMABToMBCXIpFlhAgULF1Zk0KCBnQQQRI0iVdpUXgUJEooeTbrU34QKWqd2JUiBxVaqTC9iwHAhg9u0roIAACH5BAkHADMALAAAAAAfACAAAAb/wJlwSAQlFoZOKNQpDFAgonQq/CwKjI12E3p5IaGDgjoNeAoFDoeR5XpfJAiENAiQq6ImOt1efiEPgRxjVCkHBkl7axsMfnGADxERLyNTH4eIBgVNBAgnIyMOCxwvgYGSL4RCIAMGBJkGIiVkIx2QkhEcdkICBK+/AndDCBC4kgNVBwcNzAeVwkMCkZIxMR8zJyIiygco0FIIESYyBava2gMe31MbL0QjA/HxqutVUgILAwsL6vXCHgtULEDwzB8ZDwgSeqBnEJwHDw4cRGlIBQFEAQImUpQSESOUjVNQYEyQYBfIISVQJBhR4trJIR9IlkjxocJLIRJY0gQh4WaVTxQKArSQMMGnBAUfeFaY4MJnCxAtYCylgOFmhaFLWbjAcCHDSwASplq4sCKDBg0nJwCYQGFsWbQvKcjlmsGszxkW3Nq9y/Ut3Lsz6u6tFwQAIfkECQcAAAAsAAAAACAAHwAABv9AgHBIBCUQBsOGkVwkQMSodPhBdApYzma7CYU2IsV0CnIQklcsg7H1vl6hQWBMHRjOhnSBw+6G3iQQBWJjCgcEiEkGWXxtfy8QEA8hI1MfAwcNiUkHHgIjIycIBX+BkpOEQyAqByIHmQQLJWMjBpEPuBEFUEMCra+vKHRDHiS4DxERA3UDzQMis8O9xrkRhALOzQnSUQjIyREHACAIKggLCyfcUh3gyR8pCPLyH+tRI+AmJh4oCB4eDgTYk8IhQgwZMQYIcODghIMUA6McIDGgHoCGAjLOiUgnowAUCVpwpAMyASgJI8ckSFCihAKUKaW0TKHgA8yYROApCADiJk5QIS0+8JQAg8LPIRU+9IRRYcLRIRKINqVg4SmACRKmurBwweqECSyoXriQ4SmFCVQxkM2gQcNRCmJXsHX71ILaDGytChmLl65eAH3/EvGbMggAIfkECQcAMQAsAAAAACAAHAAABv/AmHBIjI0QB0KhQCCoEqCidPpBNAzYzrLA2Ww4A8V0ChIkm1jDtuv1qgLj4Ud1ODQIafWSw2iHQh1iYwoLdXV3aXt8Xn8vLxsjUwELAwMihgcDDgIlIwIIBoyOJCQhgkMgDpSVlginRSMGIS+kpAVRQwkICJSUCXFDHrMQD8UDqLvJrsBEKCQQxA8vggke1tYlzEUe0cUHMS0O4icOv9pFBsUPEQ8fCgLw8LjnQyPs6xEeJQkoCQmR9IpwiEAwAoF9IxLCCUhkQMEIDEpITKFAAkMiJx5CSEHxw4cKF3MVNBHBI4iTAEIKSTAywskWEmBMUDlFQswKFVjQlIKzwoQ6CRR2FpkAACgFFxiEDqEA1IUFDBeULqVg4cKFFRmkxsDwFGuGDBq0Wv2qoWxYqWTPao1Bdi2RsmuDAAAh+QQJBwAqACwAAAAAIAAaAAAG/0CVcEhUlRwDkcEgOiASoKJ0GnA0G4Ts0lDoLhTTKUiQbB4IW0OnW2BwEIHwEORYDJKHPHq57jI2GwZgYR8eCAh2d2Z7bBx/gAUlYh6Ghwt2CAIJKSUoDgQFjo8hHINDLZ6UlQ6mRSUNgBshIS8dUUMpAicCAg4eknJCDn+0JC8LQxIJCby8ccFDCbIvJMaDCsvZH9BFHi/U1CIqMCXlJSOt3EIGJBAPECQfLQr09DDqRSMQ7g8PDiABAgC8hY9Ih37vDoBYKKFFhYJFFiB8UECCxQoVJkAkciJCvwgkYGAEMIHCxmgeH0SIQHICCwoWTgpJsLJmSQouLGCQqaJjTT0IFGBiuHCB54CaEThYsED0QgaeDWbIiGGiwVCnGTJo4KkCxIIXCFRg1UCWa5GsZc2e1ap2Ctu2UrbCFRIEACH5BAkHADAALAAAAAAgABkAAAb/QJhwSISVTovBgTAYeEagonQaEKgGooN2STB4VZ/pFJRAqK5NbaPr7RQ6noB4CBIg7oik8rD2GtwFHAQKc3UODh53KklZDQ1+BZGBBSVTLQkCAoceiR4JIyklCQ4HBpIcDBsFhEWimAInDgJhUyUHgRwbugZRdCMjCcEorHMwJwWpuhsqQxUKKaGivcVCCbkbISEbrBIf3goK09RCHtjZIQMwEy0g7QHi40INIS/1Lx8AEvr6APFFI/ZIkDgxAUCFgxX8SSnwAoLAAxMiRmShsMgCEg8cFqDAkaOLikQEPBj5IISFkxgsYAA5JAHJjBdiymRZ7SWEFRkyrFhxgaaxQwgjI7zISTSDzwERkkbgoKFpU6M0NyiNQEDDEA1QQSYwkdSECQdEmtJ8EYErV1o+hziYIcPrgbRTEMiYQQxuEQRCggAAIfkECQcAMQAsAAAAACAAHAAABv/AmHBIjClQHsRApFqcRsWoNAZKJBHNweDAJTQQn2lUkhI4PNeFlnsgGAgER0AslIxQArMDgdWKDg0NbwYdB2FTEiUJiwInZ3xqf4EGlB0dBiVSMAopIyMJeCcCIyUKCiMCIoKVBQUGh0QgHx+cnyMgUykDlq2tBLhDMCAgAQGmwHQCBr0cDAhDEzASEi2yEnRECQUczRscCkITABUV0xXYRSfcG+wLMS4sE/Lk6FEH7OwMARYuFP4TFOoVGYFvQwgBGBLyCyiwiAGDIUIMuEAxIYaGRRZseMHRQIYMKyhewEhEwAsSJzd8XLmC5JAEJCCQmKmhpoaPLoUkgMBz5pBSmxlyxhDwoCiEEEQ0CI2xoGjRAkuLcHD64EDUlxGoOrgqhEPWBxEgwFqKwESEsyasXnUQwezZCOCuDpDh1sQArkIE0DURYg7eGHMfZPqbNwGRIAAh+QQJBwAuACwAAAAAIAAfAAAG/0CXcEh0gUqCEwLhcAhKxajUJVGMEgKBw7NcDL6OzzRaASlKV1TS0f2KDocTaCwEtAIfRSqt5XoHbw0EA2JTExISICABemknbAhecAcEBAcpUhQAFRWIiwoKHx+LewiAcAYEBg2FRCwTsBUwiBVTCggHDQa7BiJzQxYUwq8AE3RCKJW8BR5DFxgW0cIUx0Mjux0F2gpCF97eGBjVRAIG2toqQisZGSve40UD5xwFAez37PBEJdocHBsCMmgYOFBfkQb/NmwYUFCIBoNEEDBQuMHAQ4hSBFDcwAHjlBEKQ4j0KCWByBAvQpCMIgDlixcbVhZZ8JLEiwIyiRQgwZPEgU6cQkZAGEoCwgmgLgw8gLCURKuVCB5Ilfozp4ClU19wk4kgQoSpDwbIDPDCq9kIDALkDDHj7AMoQGOY8PoiAdKkMdBuvUtChNq7Qp4SCQIAIfkECQcAMAAsAQAAAB8AIAAABv9AmHBIlHxKCZRgmVAQn9AhwKgojRIJwcmD6AoCUShl2gJ9qlctF6EaLASgsNA1AVQk5TNS6eAuBgMHKh9hFhQsExN3EgEfKVgCfQh/gQcDTk8XGBYuh4oSoKAtRwKTgAeoB4REF62bFIkTYR8OpwcNBANxQhkZKyuaFhZyQwkiqAQEBg68vb3AF8REJbcGygSEGtoaztJPCcoG4ggwGkPc3lAL4gYdHWDn5unT4h0FBQLz0gf39wv6xDz0K9AAoBwUHApwSGgwzIiFHDYwaBhlBAMGGyRShCIgY0YOG58g8LjBQEgiBkKE2BBiwEkhI168CDEz30sDL0jIDLEqpAdOCBByvnB5UgAJoBB0YtqIAMIDpBCIUkxQIMKDq1c5wDN4YEOEr1gfvEix0YCJr1a/hhgRckEMtF85LN0Y4+xZEVtD1n3QYO7JESfyQgkCACH5BAkHADAALAQAAAAcACAAAAb/QJhwCANIQB/FaFn6EJ9QC6tSOSZHCZTg5EgEoE+MizWptgKKUiKx9SAQCRAYdsFYKCxAFZnCChxuCCoeX0QZGSt1d2VWSmyAbyoLCwpEGhqIdRQTE3p7CgmQCAsDpU5DmBmKFnMBAqOlAwcqcqiZc0QjpLIHBwKWiLhPKSIivb2nMJjCUAm9DQ0EHszMCNAE2IXUYCnRBgQGCdu4AwbmBgjjcw7mHR0H6mAJ7R0G8VAlBfr6908j+/z6DUHBAaDAIQg4KOTQ4KAQAgw2SBzgcITEi78OEri4gYG2ex5CiJS44KCAEC9ejKzUDwGJlylDqOj3D8KDBzALfMS1BsGANw0Rbt58uSHFOA4RkgYVijPECHURTChl+qAAy3EdpCoNSmLATmomwop9cOBqvAImQmxoIKDWnCAAIfkECQcAKQAsBgAAABoAIAAABv/AlFBooUwqsBYoAAINn1Dh5VJkHSWgj2KUUDijwoz4giles9sESlD6PjXwzIpKYVUkSkVJLXAI3G9jGC4sADASAXoJAicOHh4fUXFTg0Z3H3uMDggIHgGSYmApEiWanCoegHCiTwqOnAsDAqy0CrADuJG0oiUquAMHJ7usDrgHByKfw1EKIiLHBwnLYCrQDR7TUQINDQQEA9lQCd0GBA3hTyUEBuUG6EMl7PLvQgny7PQpHgUd/Af5BwoILKCCXgkOAwugoHeAA0KEysI52ECRAYOC6FAwoEiRgwJ0HjaE4LgBQbgRBl6oHLmhQ0QoBwZ4SJDAwwIOEEiofBEihEc+VhwiCBX64AEECC90vuAwgpaMoUWjPiChs8NHVgpiQJWa88WCl2BezDAxlOiDFweu7vrQgGIEExs4HPhDKwgAIfkECQcAJwAsBwAAABkAIAAABv/Ak/CkyWQuGBdlAqgMn9BnEWlZViQgECzKnV6qkyvoo/hIuEPNFAMWf0qjUgutNiJdrAqsBVKUEoABaEYrVEt7ZCMJKAICIGhoFQEKio0ejpBoIIsCDh4ICZmanZ4ICIKiUQqlCCooqVwopioLC4+wTx8ItQMDI7hQHr29DsBPCcMiKsZDJQfPBwPMQinQz9MnzgcEDQ3YCQ0EBAbe0w4G4wbS0wMG7gYI0yUdBvQGocwiBQUd9KjADvYJjGcsQQEOAgsoMOaBg0OEHDw8CRACX5QRBjZo3MCAg4F/J2LMMMFgAKgEHhYUeBEixMYNCo+ZiEAzwoObN0m8YLmxQAk0KDJMCLWJM+fOlhsMLHxSQuhQojchkNDpcgHIIQoaRHiKk4TUECKWQgIh4ADHmw4PYIIUBAAh+QQJBwAAACwEAAAAHAAgAAAG/0CAcEjUZDKXi8VFbDqdGmPSQplYn9hiZqWsViSwSvYZRWKoky8IBBsXjWYXawKTgBSKlpu4vWC8Ei0BCiUlEntPFGofhAkjeohOFYMlIwkCKZFPEimWlwIgmk4gCSgCJw4Jok4lpw4eCKGrQyACrwgqmbNDKB6wCCi7QyMIuAgOwkIpCAvNC8kACgsD1APQCtUi1sklByLe28ICB+QHz8kLDQ3kHskpBPDwqsIDBgT2BAHiBvz87UO2IiXo0KEfgQ9DHJiIgGDPiQIQCXZAJmREjBkRInAYgaUEAQ4QIzbQB8BDjBgZUxZYkGqEAwQGNjDgABKiAQVDPpBIGeGBT0kIQF+8CLFBpkyQBko0UcBgYU+fDyA8EDq0aFEGBHA6CSAiJVQSEEgIJVqUAwKSWBQ0IPGVhNihITgM0Lqn1gGaD0iAHIBCFpYgACH5BAkHADEALAIAAAAeACAAAAb/wJhwSCzGNJqMcck0IjOXC6ZJLT6lFle1+oRiXKwJa7vsRi2USaUCIC8zK6krXZG0Ku7lBa2GtUAgeUwUaxIgHwqBgkYTdocKJRKLRhUBiCUJCpNGAZAJny2bRBIjnwICH6JEJSinAgmqQwoCJw4OArFCH7YevbkxH70Iw78fw8e/KQgqzAi/CQsD0h6/CNLSJ0SKggoHIiIDIiNDIRyTCAfp6QExGzImEc55Ag0H9QfZDybw8LhkIwYICCQgIpWICPAiRHggj4oAAxADGsgWA0SIhA8yFhi3pMSBDhEhithW4oHCjBlJFFDhYMQIBwgMcChQICQBTUQSQDiZEQKJRxcvQmwYymEmzQ4dCKRYooADypQ/gw7dYJTmgVRMAgyA8MAniZ9CpzIoWgABuyrdXjyIGiLs0AILsLoBIUAEzbYgFyTYtiQIACH5BAkHAAAALAAAAQAgAB8AAAb/QIBwSCwaAZqjcqnUZJjQpXN1iVqFGucFg7kys9Oty+JtOjOXi4VCKS/RahdrMnEr45RJBVa3G9d6FRISfkd6MBIgIBWFRSyIIAEfhI1EiQEKJR+Vlh+ZJSWcQxIpJSMJI6JCEqcJKCiqAC2uArWxH7UnukMnBh6FKQ4nDh61LyYxEQyFAh7OCAkeJiYR1Ql2Hwja2ikf1d8Fdg4LCyoqCCAADdTfCGUJA/HxAkIK3w8PJPRWJSLy8ZuEDKiGL98vKCgOKDwg4sA+IQE2RCj4AIKBVEdKLCBAYOGBBemIpAhBkcSLEAYQnBgxolkDAzANEGhwYEDAIiNIQoBAwmSIRw0bGHDgUKBATI4dUyxRUICnyZNAhRYt0AEmAQM2oQQY8KJriJ9Bh0616iBkFAUiNnwFCpRo0Q4IbnoBgWIATKAyVSQweyQIACH5BAkHADEALAAABAAgABwAAAb/wJhwSCwaiRpN5shsFpNLp/QJzVym2Fj1csFkpZkw10L+OldjF4VidmIs6gmA1WZiKCx5BVBn6isSMH1HE4ASLS2DRhOHIAEfBRwcBQWKFQGPHwoRJiYRESODFQqkJSUQn58egy2mI68bqREDgx8JtwkjBJ6fHIMjKAICKCUeng8PoHUgwifCCh/JyA8ddSgO2NggMQfTDxCrXyUIHuUICUIKJN4kKFkKKioI8wjbQgPsIeFOCQP+C/PQDQnAgYRBEi9CGCjBJAWCAyL8DVjgwd6QFCEMvki4YQMBDwJMCXAw4IBJiP8+HBmxYWOIEB0ZSKJkoCaBBg1ODlDQREGHN5cdN8ikVKCmzZwHVKh0EmBB0I6TKHWwSYDAAQEWpSgYwAEq0ak2ESw1AyLBAgIGKFlFMCKrkSAAIfkECQcAMgAsAAAGACAAGgAABv9AmXBILBqPmqNyqUwyn01NBkqVJTXSafWJzV5kjoJge8yYV5c0wRQzhcbkIfqCwVg2kXxkEB/S7RQUEHoRcH0YLoEsE4QRCX1CLosTExV6DxEokDIUABWfEoMPmA6bEzAwEqocEaMPC5sVIC0gtQeuDwWbIB8BHx8gDq4QECN9EgrJKSktHyQQDxAkBn0pIyUj1xIyByQv3y8eZB8J5eUKQgovJN4vG5pUHycC9CgJLUML698bG6VPJTw4OEHwRAoiAQq8CBGi34YGJZR8cIAAgYeLHgTgI5KCQcMNDBhw4HDAgYASJRIIUDFgwIIFFS0GODKCg0ORBXIaMEDggM8/Ay0HqLD4YYkCA/1wFuiwk+dPEUEdzGQSAAEHpUyb9jwgAqgAEFUULMhZQCsBAg24Su0DIgGCtDuBehgBdkkQACH5BAkHADIALAAABwAgABkAAAb/QJlMJSwaj8hkURGZOZTQqOxgMsVMAqlW+ImYIuDGVuv4giOJMVSjIZwjDPWRLWNnOJHHIzKQGzNsGhkZL3l7J35Fg4srEHp6aYkyKxeVlY8PEJGJFxieFhYvehAQiJIYLqAUFAUkjiQLkjIULLW1ByS5Lx2yEwC/ABMnui8hI4kTEhUwzBMfL9AvGwSJEiASLdkTMgMhxRsbT2oSCh8BINdCChsh4Bscm1IgIykK9h8VRSrgDAwcBaaifEiQYMSIEiVAGAlgwN2/AgdKKAmA4oQAAQQTlJBwREGBDf4KiDQgAqO9EQkcIPDgwKIAFAlaJClR4GGBDgYMEDhwQMSAQAELEKxk6UCAQiUKCDzMmXNnz59BhXowKiUAgpFNCTR4+lMoggRHtXxAwJSA1p4+ByBAESDRPAQ/dy5Y4CBhlCAAIfkECQcAJgAsAAAEACAAHAAABv9Ak9CUeA2PyKTyqCDNjMtoFLSJRGJQqXY4sFplpO1W4bU+EmLtIfJ4WBFp6YfEdnfiUke7HUHjlwd7DwV/UQUQDxAQC4VLLySKEAKNSRokl5cjlCYaGpwaL4+hfoUZGZ0aGRuhLyEnlKaxGR2tLxsqlBe6uwMhvhsGlBYYGBfEAiEbyhslhRYUFBYWLhYBDMsMB4UTEyzQ0SYLyxwFr3EAFRUA3CxCChwb5AUdpFoVIBISMDAV7UII8goUMDBJS4sPH0CAaNGiwpEABOR1MGBgQIolIFKMSKEAYQAQAJAoMCBwIsUGCwSMUKAgRQkBAlAkGFGC4weHSUqQNGmgwQFNEQMGLEDgwQFMmSM2Sojy4QBFAlAP/BSqwkPREzETlFgqJYADqFGnCkVA1oFRBVy3fEDQwKfUoEPJehgBohCIEQ4WLDgwgCgKBXWjBAEAIfkECQcAKAAsAAABACAAHwAABv9AlHAoVBCPyGQyIJopn1CUgmMyRaLY4YhkNc1A2aiCFCmXnWEliFN+mAtp5cD9cEcQ8eS4zhfkkyJ8dXh/Rx8kEA8QEAaFSCcQL4sQI45HBySZL3CWRAUvmgudRBsvpiF+o0IhrCEblaoorhu0CbEoHLS0qaoGugyEfxpEGgO0DBwNjhrMKMwCGwwF0yV/GdfMGhkBBRzTBSJ/FxfX10Iq3tMGvFkYGOPjK0XTHQb2sFgUFC4W7u9DHgrYs0fAVpQJACaw2OcCA5EADQYaIHAAgZEkFSRIqFBhgkIKSBQQmDjxgIgBCEakCADiwwcFClhq5DgBJJIUDQgQaHDgwIBPBSoQODghIMGIEgo+gGghAcaEJx8GUDQ54CcCDw4EFFWZFISEp1BAOOjp06pQokaPKmhRIcwHByJOLkBAN+vWDzD+gCghACtdrSUCSIASBAAh+QQFBwAzACwAAAAAHwAgAAAG/8CZcEgECU7EpHJJVDQiJhlzugwMIlhThMoVKjjYcGzQnY5C2EfYZCgvFaGHXI1lHNxJUGEujxRGeEoLEBAPhRAIgUoKLySEECQCikoDjSSOHpNJHyEvjS9tmkQCnZ4vgKJDIiGsIR2pRAYbsxuJsEIctBuStzMMswwMqLe/DBwcCb0zBcfMvLcEBdIFmb0L0wV3vQIFHR0GBiW9Ad/gBguTGkoI5gQEyXgZGupEHwQG7g0H4mUrGfLq5glxgI/AgQMD4FHBcMEfQHozQAwgoA/hAAcfmFCg4ILhhX8Zkig4eHDAAhUIUCgIIEECjAowAEygYMHjRyUpBogQYXKBB04HJ1CMKPEBRIsKMjnWvMAkgAqeA1A6ECAgQQkFRSVUmDCzIxUjJhEg+Fl16MoWWiuwcFEmgACxCKYKLZFCgVG1ikAoSCAARdWrICRQCQIAOw==') no-repeat;
80
- }
81
-
82
- .lb-nav {
83
- position: absolute;
84
- top: 0;
85
- left: 0;
86
- height: 100%;
87
- width: 100%;
88
- z-index: 10;
89
- }
90
-
91
- .lb-container > .nav {
92
- left: 0;
93
- }
94
-
95
- .lb-nav a {
96
- outline: none;
97
- background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
98
- }
99
-
100
- .lb-prev, .lb-next {
101
- height: 100%;
102
- cursor: pointer;
103
- display: block;
104
- }
105
-
106
- .lb-nav a.lb-prev {
107
- width: 34%;
108
- left: 0;
109
- float: left;
110
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAtCAYAAADsvzj/AAAFF0lEQVR4Ac2ZW0xcVRSGPTNnhlPKcCsUAeeChkEVxhutDQwzMANaqamNWgpaH+yDIaZp1cRHbgH0gTsxkmDCI/hiRAqgD5qYRgKQ8II6TE00wfgGAcIdKeM/ydrNZIezxxg9m518gRxWmn6s9a9zhvNQJBL5T/gfjokwA5Uw0zWFeHBOugiTsAArfSWZky+iABVowAZSwRkiDSTRz1iHlJMmogATsIDTIAPYgRs8SeTTtXSQSLVKFNkivIQKksDDJFCsquqLmqZdAa/i+yCuPQ1cJHOKjdpJEWGdsIFs8BQoy83NvTEzMzO3t7f318HBweHc3Nxdj8dznWQeIWmpIryENUaiCPgdDsfN+fn5XyLcWV5eDlmt1gBqHgOpbAHIFmESySAHeECF0+m8hd/+vcgxZ3d39wBj9grqCkA6iaiyRBRunJhEpcvl+nBhYeG3iM7Z2dnZgkg1ZSgNqLI6wgebSVTZ7faPlpaW/tSTWF9f36ivr+9AbQkF3iZRhAs2dSInJ+eDUCj0h0Biq7S09BPUBkEhyAKJssKusE6QRCGoQLDfn56eDulJrK6ubgeDwS7UXgTPAztIkXUfUbhxKgLlyMRtBPtXPYm1tbXdqqoqJnEOOGhbJQCTkSJ8sJlEMNoJrFhdicPDw6PKyspe1FaD85yE2YBnLUGwSSIrK+s2bnZLehIbGxubfr+/B7WXSMJJ42QlCcVAES7YJJGdnR0dp7BgnLZKSko6qBPngIvrBEkYIKIT7PLoOKET4TjB7kbty+A8SaRxmcAxQEQn2BUI9q3Z2dl7gk7sINhRiZeoE87jMmGECB/s3JhgR8dJV2Jzc3Pb5/N1UieKKdgsEyaAY5wIk2Dj5GHBRifCgmBHb3adLBNsO3HBNkxEAWZwCmSCx4EPwb4ZJ9jbCHYXSRQDpyDYhomoNFIOUIRMvINO/KQnsbKyshMIBD5D7RVwgQWblzBahD2Sp5jN5jzM+9uLi4s/60mEw+FNbKcvUH8DVIECcAZoXLCliaRaLBbX8PBwb0RwRkZGfkftx+BdUM4+KInDbdxoWUCKoih5CQkJgYGBgS/xs6PjRPb394+ampp+RP174CIoBGcpYypQZIqYY+4dz4DLvb29Y6LONDY2fou6OuAF+SCDZCgj8kQSQDqNihfU9vX1TYlkGhoa7qDuDVBKMpQVrjMG30fYCs6gAHuRmdqurq5JkUxLS8sEaq+CMq4zJGOgCB2Fk8kHJSaTqaazs3Pi2MzQaWtrm0RtDfDFyCQyGUNFOJlEkMlkwLWenp5vRDKtra1TNGYsM5mcjKEifGeYjBfUQUaYmebm5omYzLjFC8C4zyNqTGfcNDZ1/2ABjKHudZLXkTFARJAZN/CqqnqNMqN7Ojo6vqMF4ONkVFmvFUQLQNiZ7u7u76PZAn6S4TJjrIhoAdT+iwXAdQYYKCJaAG/iPhNvAYyj7jXwAngUpAGrDBF+ATCZAuBXFOX60NDQ3TiPM1/hyfoyPf7kgNNSXyvwmSGZMk3T3hocHPwhzlPzJLLFnpZT5PztV5wZNyilbTZFmTnZrxU4GZWXATV4ap4kmeNELlEticjsSHyZq/39/V/j374P2Lk/Pj5+BznxUuDlj1acJ4B8cAH/4er29vbPR0dH58fGxubx/ac2my1Ab3iz5Yc9/gJIB05QCJ4Fz9FXD3gC5HIfi+WKCGQ0GpuzwA7yCDtdS+b/SCFfRPwaQqPxSSaS6JrlwUjR+RtEvCM0ct4sLQAAAABJRU5ErkJggg==') left 48% no-repeat;
111
- filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
112
- opacity: 0;
113
- -webkit-transition: opacity 0.6s;
114
- -moz-transition: opacity 0.6s;
115
- -o-transition: opacity 0.6s;
116
- transition: opacity 0.6s;
117
- }
118
-
119
- .lb-nav a.lb-prev:hover {
120
- filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
121
- opacity: 1;
122
- }
123
-
124
- .lb-nav a.lb-next {
125
- width: 64%;
126
- right: 0;
127
- float: right;
128
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAtCAYAAADsvzj/AAAFDUlEQVR4Ac2ZS0xcVRjHvTN3hisw0GIRZ3AeLWHQWqdVsRqgA86AUmpqoy20Whd2YYhprJq45BVAF7yJkQQTluDGiEhBF5qYRsIjYYMKQxNNMO4gQHgjZfxP8pF8ufEe0qQ5pyf5BTKcWfzyff/vnHt5xLQ0wgbsQCfswEY80BWPxx8I5sUlHMBJP0nm4RfRWAUMkAqOgseII8AFDNqjPYwiGuEAySADeEEuOEkE6bNjIIX22riQchHWSo+SRACc1nU9ahjGG+ASfn8Vn+WT0BNUMV0so04kFTwJTodCoeuTk5N3dnd397a3t/8dHx+fzM7OvoG/nQPPADdwscqoF2HBPgJynE5nZGFhYTZuWlNTU3/4fL6b2FMMnmUyTpJRLqKTSAbIQyu9vrW1tRv/n4Uqzfv9/g+x7xUQAh6QxmVUV0SnKRWESMXm5uZ63GJNT0//GQgEPsHeUibD20xTLeKioBdUV1e3rKysrFrJzM3N/eP1ej/F3jImIxgAcsOeDLLAKRAtLCz8HDKWlZmdnf3b4/F8zCojGADyz5F04AUvgPJoNNq2tLS0YSUzNjY2iwHwEWXmFHCzymiqRGwgiaaXD7wIysvKytqWl5e3rGQwAO4iM7ewt4SmmYfLqLpr2U0yZ0FFaWlp597e3r6VDEbzXapMlGQEA0COiEYyTmozP8lcKC4u7lhdXV2zksGhOZeVlXWLy5gHgDwRJsMqE6A2qygoKGhBm60L2izmdruZjGkAyBShxTNzlGTOgvMYAO2iAYDKxKjNSgQDQI6IRWb8VJnXMADaUZlNK5mJiYl5DAC6AQgGgCwRWjaWGR/IB+fD4XDr2trahqDN5lEZ3mbZ5gEgW4QPAD6aK3BotmIArAsqE2MDIMTajGTkinAZ3mb5NAAS58zGIQPgJvaGwVMgk5597ECTLcJl+AB4GVyKRCJfLi4uijLzGzLzHrWYj1pMVyXCB4BBz/J5oAzcwDT7OhaLWZ4zMzMzvyNX79rt9uOUNyewqRSxsbzk0Jh9H3w2MDDwV1yw+vv7Ox0OR4C+q1REAzr1+ON0TpSDD+rq6n7d2dmxusbs9/T0fJOUlBTRNO2gIg6lGSGJYyAXFIFrtbW1P4oq0dnZOYR9F8EZdqaoCDtVgrJBEoXgck1Nzfciia6urlHsu0rSOSADJEkXYRK8EufAlYaGhtsiiba2thFk4kAij75Po1fiOcIkkplEGFQ2NTWNCBz2W1tbb9tstkrsLaDvcQlN5hWFS2SyTFxubGwcFUl0dHT8gH1VTCITJHMJWSLmYAcPMlFfXy9sJ0gkMnGNpEnCXAkJIhYSReAtBHvosGCTRBgEWSV0qc8jPNhMIgyutLS0/CSSSGRC1/Uqkg5aZUKGiDkTQVAMqtrb238+RGJUHGyZb1F4Je4/2FfFwZYr4qRb7QnwEngTwR4+5JxIZOJtcbDlv2lMAR5wBjfUi7h2fCuS6Ovru6Np2nVqvzwmQcFW9+43HeSg10twix0RSfT29v5iGMY7dMLniTOh+N8KghN7lKZTIQgKMiG/IkwkCJELFiL7uMWOYE+lWUL8elRNa51APoqGh4cTN9p7TOJed3f3d4nz5P4l1ITdDU66XK5Ic3PzF0NDQ1ODg4NT+P0rCFbQM3qu4MRWLsIfX7PB0yAEngPP089TwA8yBMFWKmJ+qZBGj7FecJzw0mfpwBBLqBexseAbIBWkESnAEPybQLnIf4JfIzSb+FymAAAAAElFTkSuQmCC') right 48% no-repeat;
129
- filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
130
- opacity: 0;
131
- -webkit-transition: opacity 0.6s;
132
- -moz-transition: opacity 0.6s;
133
- -o-transition: opacity 0.6s;
134
- transition: opacity 0.6s;
135
- }
136
-
137
- .lb-nav a.lb-next:hover {
138
- filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
139
- opacity: 1;
140
- }
141
-
142
- .lb-dataContainer {
143
- margin: 0 auto;
144
- padding-top: 5px;
145
- *zoom: 1;
146
- width: 100%;
147
- border-bottom-left-radius: 4px;
148
- border-bottom-right-radius: 4px;
149
- }
150
-
151
- .lb-dataContainer:after {
152
- content: "";
153
- display: table;
154
- clear: both;
155
- }
156
-
157
- .lb-data {
158
- padding: 0 4px;
159
- color: #ccc;
160
- }
161
-
162
- .lb-data .lb-details {
163
- width: 85%;
164
- float: left;
165
- text-align: left;
166
- line-height: 1.1em;
167
- }
168
-
169
- .lb-data .lb-caption {
170
- font-size: 13px;
171
- font-weight: 700;
172
- line-height: 1em;
173
- }
174
-
175
- .lb-data .lb-caption a {
176
- color: #4ae;
177
- }
178
-
179
- .lb-data .lb-number {
180
- display: block;
181
- clear: left;
182
- padding-bottom: 1em;
183
- font-size: 12px;
184
- color: #999999;
185
- }
186
-
187
- .lb-data .lb-close {
188
- display: block;
189
- float: right;
190
- width: 30px;
191
- height: 30px;
192
- background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAMAAAC6CgRnAAAAPFBMVEX///8AAAD9/f2CgoKAgIAAAAAAAAAAAABLS0sAAAAAAACqqqqqqqq6urpKSkpISEgAAAC7u7u5ubn////zbsMcAAAAE3RSTlMASv6rqwAWS5YMC7/AyZWVFcrJCYaKfAAAAHhJREFUeF590kkOgCAQRFEaFVGc+/53FYmbz6JqBbyQMFSYuoQuV+iTflnstI7ssLXRvMWRaEMs84e2uVckuZe6knL0hiSPObXhj6ChzoEkIolIIpKIO4joICAIeDd7QGIfCCjOKe9HEk8mnxpIAup/F31RPZP9fAG3IAyBSJe0igAAAABJRU5ErkJggg==') top right no-repeat;
193
- text-align: right;
194
- outline: none;
195
- filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
196
- opacity: 0.7;
197
- -webkit-transition: opacity 0.2s;
198
- -moz-transition: opacity 0.2s;
199
- -o-transition: opacity 0.2s;
200
- transition: opacity 0.2s;
201
- }
202
-
203
- .lb-data .lb-close:hover {
204
- cursor: pointer;
205
- filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
206
- opacity: 1;
207
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/lightbox.min.css DELETED
@@ -1 +0,0 @@
1
- html.lb-disable-scrolling{overflow:hidden;position:fixed;height:100vh;width:100vw}.lightboxOverlay{position:absolute;top:0;left:0;z-index:9999;background-color:#000;opacity:.8;display:none}#lightbox.lightbox{position:absolute;left:0;width:100%;z-index:10000;text-align:center;line-height:0;font-weight:400}#lightbox.lightbox .lb-image{display:block;height:auto;max-width:inherit;max-height:none;border-radius:3px;border:4px solid #fff}#lightbox.lightbox a img{border:none}.lb-outerContainer{position:relative;width:250px;height:250px;margin:0 auto;border-radius:4px;background-color:#fff}.lb-outerContainer:after{content:"";display:table;clear:both}.lb-loader{position:absolute;top:43%;left:0;height:25%;width:100%;text-align:center;line-height:0}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto;background:url(data:image/gif;base64,R0lGODlhIAAgAPUuAOjo6Nzc3M3Nzb+/v7e3t7GxsbW1tbu7u8XFxdHR0djY2MHBwa2trbm5ucnJyaSkpKWlpaGhoeLi4urq6u7u7ubm5vLy8vb29vT09Pr6+v39/aysrK+vr7Ozs8fHx9vb297e3qmpqb29vdPT06amptXV1aCgoMvLy8/Pz9fX18PDw/j4+Ozs7ODg4PDw8KioqOTk5JqampmZmZycnP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQJBwAuACwAAAAAIAAgAEAG/0CXcEgECQ6bUGRDbDpdimTo9QoJnlhsYVvojLLgrEAkGiwWiFTYldGsRyHSYz6P2COG9XCw2TAYeXprCQYEhQcKgoouAQ4IHg4CAiMpCiASFRMUFhgXFxkZawEDcnd2Jh2LLiAdLyQvELEFX6pCAQx9fQ21T1wFHCi8TwcGxQYnwk8eBAcHZQnJTh8D1I8OJwmWMBMsFJudoG4u4mAgIwIoCSMKlpjcmxeLCgcPJianEcIKBXR1prVRSMiBUIfDAA8JoC1SMYWKKw/RXCzoE6IixIgC+uDaQCsiAQ4gOSCIOMRXhxIkhRjoYEwhSQTGCAxIyYiAzWYjU35o5oxaIj095J6AWFDmDAIHCVpgubCizRoFKtBAQjeixIdLADRZYBpOQ1An5qYmLKEgQAsYWb95UiUhgIJK7bZRCBMEACH5BAkHADMALAAAAAAZACAAAAb/wJlwSAQJRJxNJMLgHBzE6FBxeD0ey2zEBJESA4sXBHItZ2MJr1DReZFIZfNS9lGXOC83aRzPktQKHCEheW4QBQseCQkeAwZeIAYbG4OEBiNqXgiTnBsemV6BkwwbDCigXioMq6RQqFEBHLKyB69SKAW5BRwltlELugW1vkQHBh3In8RDBs3NactCBM4GvdEzBNMGBNbRB9MEB9DRAwQNBwcC1zMe5wciCOsj7wcDAwrXAe8i9ifrDvwGLEDQjdgHewtUIPBQJxqKBQM9OBDQkBgIBws9CBCQQAEMNRk0SAngoeTGBCMUgKgwgYIFDBcyhPTywSTHEiolsHR5YcVMMkgoOCbACUJny5cxf0ppkWIRzgAtYABg4QKmz5AivUhQ8LTozqo9M9iS0KKFURY8iQQBACH5BAkHAAAALAAAAAAZACAAAAb/QIBwSAShRBzGA8LhHAQgolSoEIVIENJjG+maHgfFFBBQbUKvF3bL7kZMpoFUYTij0xAI++E2yVJEJQUbhCF3JGsRfF0xB0QKg4SFIR0qDgkJHgMhjEUESZIbBiNjAAkvAkQeHAUFTRwOpaUKHa22CbKlCLatsblTAQYdwgVyv1MJBsrKJcdTCMsGxs5EAwQEBgQn1FIH1wQHpNxDBw0H52LjQucHIiKA6gAi7SID4uoL9QMLuPEOA/sW+FI3IiACDwHigVCB4OCleKYOejgh4INChwIEJJAQLxPFBCNKcBwHIiOKBCUUfJAwgaRGlApASKgwwQWGCxkyaNAgC8SIMxEpYs6cQMHChRU6f0lQEFQmzaJHk/6CAeKDU6JGkfJ0VkHCUAo2cerc6mwC0bBayQIIAgAh+QQJBwAuACwAAAAAHAAgAAAG/0CXcEgEJQaFAomUHAhAxGhUMWCErq/X8sF9HRRSYgDB2ZixWgiXG4kMAuFPg2Gmb0JZEkTNbnPARCUGHAUcDHZYS3wPbW0QCUMfBklJhhsGCA4JCQ4LDH0RMzIcQiAHBR2UBQclYS4JBY0mA0MOBrepBieuRAgmMhuRBLfEkLxEJwdEHgbDtwLHxwEE1NQq0ccjDdQHX9i8Dt3d19+uCyIiB07lrgPu7q3sUu8LCx/y8/ULCPf4vQgAPQDyJ8RBQAfxCL5C4MGBAGMKFTA88VCCQhcgHDhEMWIgwRECUCQYkcKiQhAiSSoAAeCiggQlFHwAIWGCQgkpUqxsAQMABToMBCXIpFlhAgULF1Zk0KCBnQQQRI0iVdpUXgUJEooeTbrU34QKWqd2JUiBxVaqTC9iwHAhg9u0roIAACH5BAkHADMALAAAAAAfACAAAAb/wJlwSAQlFoZOKNQpDFAgonQq/CwKjI12E3p5IaGDgjoNeAoFDoeR5XpfJAiENAiQq6ImOt1efiEPgRxjVCkHBkl7axsMfnGADxERLyNTH4eIBgVNBAgnIyMOCxwvgYGSL4RCIAMGBJkGIiVkIx2QkhEcdkICBK+/AndDCBC4kgNVBwcNzAeVwkMCkZIxMR8zJyIiygco0FIIESYyBava2gMe31MbL0QjA/HxqutVUgILAwsL6vXCHgtULEDwzB8ZDwgSeqBnEJwHDw4cRGlIBQFEAQImUpQSESOUjVNQYEyQYBfIISVQJBhR4trJIR9IlkjxocJLIRJY0gQh4WaVTxQKArSQMMGnBAUfeFaY4MJnCxAtYCylgOFmhaFLWbjAcCHDSwASplq4sCKDBg0nJwCYQGFsWbQvKcjlmsGszxkW3Nq9y/Ut3Lsz6u6tFwQAIfkECQcAAAAsAAAAACAAHwAABv9AgHBIBCUQBsOGkVwkQMSodPhBdApYzma7CYU2IsV0CnIQklcsg7H1vl6hQWBMHRjOhnSBw+6G3iQQBWJjCgcEiEkGWXxtfy8QEA8hI1MfAwcNiUkHHgIjIycIBX+BkpOEQyAqByIHmQQLJWMjBpEPuBEFUEMCra+vKHRDHiS4DxERA3UDzQMis8O9xrkRhALOzQnSUQjIyREHACAIKggLCyfcUh3gyR8pCPLyH+tRI+AmJh4oCB4eDgTYk8IhQgwZMQYIcODghIMUA6McIDGgHoCGAjLOiUgnowAUCVpwpAMyASgJI8ckSFCihAKUKaW0TKHgA8yYROApCADiJk5QIS0+8JQAg8LPIRU+9IRRYcLRIRKINqVg4SmACRKmurBwweqECSyoXriQ4SmFCVQxkM2gQcNRCmJXsHX71ILaDGytChmLl65eAH3/EvGbMggAIfkECQcAMQAsAAAAACAAHAAABv/AmHBIjI0QB0KhQCCoEqCidPpBNAzYzrLA2Ww4A8V0ChIkm1jDtuv1qgLj4Ud1ODQIafWSw2iHQh1iYwoLdXV3aXt8Xn8vLxsjUwELAwMihgcDDgIlIwIIBoyOJCQhgkMgDpSVlginRSMGIS+kpAVRQwkICJSUCXFDHrMQD8UDqLvJrsBEKCQQxA8vggke1tYlzEUe0cUHMS0O4icOv9pFBsUPEQ8fCgLw8LjnQyPs6xEeJQkoCQmR9IpwiEAwAoF9IxLCCUhkQMEIDEpITKFAAkMiJx5CSEHxw4cKF3MVNBHBI4iTAEIKSTAywskWEmBMUDlFQswKFVjQlIKzwoQ6CRR2FpkAACgFFxiEDqEA1IUFDBeULqVg4cKFFRmkxsDwFGuGDBq0Wv2qoWxYqWTPao1Bdi2RsmuDAAAh+QQJBwAqACwAAAAAIAAaAAAG/0CVcEhUlRwDkcEgOiASoKJ0GnA0G4Ts0lDoLhTTKUiQbB4IW0OnW2BwEIHwEORYDJKHPHq57jI2GwZgYR8eCAh2d2Z7bBx/gAUlYh6Ghwt2CAIJKSUoDgQFjo8hHINDLZ6UlQ6mRSUNgBshIS8dUUMpAicCAg4eknJCDn+0JC8LQxIJCby8ccFDCbIvJMaDCsvZH9BFHi/U1CIqMCXlJSOt3EIGJBAPECQfLQr09DDqRSMQ7g8PDiABAgC8hY9Ih37vDoBYKKFFhYJFFiB8UECCxQoVJkAkciJCvwgkYGAEMIHCxmgeH0SIQHICCwoWTgpJsLJmSQouLGCQqaJjTT0IFGBiuHCB54CaEThYsED0QgaeDWbIiGGiwVCnGTJo4KkCxIIXCFRg1UCWa5GsZc2e1ap2Ctu2UrbCFRIEACH5BAkHADAALAAAAAAgABkAAAb/QJhwSISVTovBgTAYeEagonQaEKgGooN2STB4VZ/pFJRAqK5NbaPr7RQ6noB4CBIg7oik8rD2GtwFHAQKc3UODh53KklZDQ1+BZGBBSVTLQkCAoceiR4JIyklCQ4HBpIcDBsFhEWimAInDgJhUyUHgRwbugZRdCMjCcEorHMwJwWpuhsqQxUKKaGivcVCCbkbISEbrBIf3goK09RCHtjZIQMwEy0g7QHi40INIS/1Lx8AEvr6APFFI/ZIkDgxAUCFgxX8SSnwAoLAAxMiRmShsMgCEg8cFqDAkaOLikQEPBj5IISFkxgsYAA5JAHJjBdiymRZ7SWEFRkyrFhxgaaxQwgjI7zISTSDzwERkkbgoKFpU6M0NyiNQEDDEA1QQSYwkdSECQdEmtJ8EYErV1o+hziYIcPrgbRTEMiYQQxuEQRCggAAIfkECQcAMQAsAAAAACAAHAAABv/AmHBIjClQHsRApFqcRsWoNAZKJBHNweDAJTQQn2lUkhI4PNeFlnsgGAgER0AslIxQArMDgdWKDg0NbwYdB2FTEiUJiwInZ3xqf4EGlB0dBiVSMAopIyMJeCcCIyUKCiMCIoKVBQUGh0QgHx+cnyMgUykDlq2tBLhDMCAgAQGmwHQCBr0cDAhDEzASEi2yEnRECQUczRscCkITABUV0xXYRSfcG+wLMS4sE/Lk6FEH7OwMARYuFP4TFOoVGYFvQwgBGBLyCyiwiAGDIUIMuEAxIYaGRRZseMHRQIYMKyhewEhEwAsSJzd8XLmC5JAEJCCQmKmhpoaPLoUkgMBz5pBSmxlyxhDwoCiEEEQ0CI2xoGjRAkuLcHD64EDUlxGoOrgqhEPWBxEgwFqKwESEsyasXnUQwezZCOCuDpDh1sQArkIE0DURYg7eGHMfZPqbNwGRIAAh+QQJBwAuACwAAAAAIAAfAAAG/0CXcEh0gUqCEwLhcAhKxajUJVGMEgKBw7NcDL6OzzRaASlKV1TS0f2KDocTaCwEtAIfRSqt5XoHbw0EA2JTExISICABemknbAhecAcEBAcpUhQAFRWIiwoKHx+LewiAcAYEBg2FRCwTsBUwiBVTCggHDQa7BiJzQxYUwq8AE3RCKJW8BR5DFxgW0cIUx0Mjux0F2gpCF97eGBjVRAIG2toqQisZGSve40UD5xwFAez37PBEJdocHBsCMmgYOFBfkQb/NmwYUFCIBoNEEDBQuMHAQ4hSBFDcwAHjlBEKQ4j0KCWByBAvQpCMIgDlixcbVhZZ8JLEiwIyiRQgwZPEgU6cQkZAGEoCwgmgLgw8gLCURKuVCB5Ilfozp4ClU19wk4kgQoSpDwbIDPDCq9kIDALkDDHj7AMoQGOY8PoiAdKkMdBuvUtChNq7Qp4SCQIAIfkECQcAMAAsAQAAAB8AIAAABv9AmHBIlHxKCZRgmVAQn9AhwKgojRIJwcmD6AoCUShl2gJ9qlctF6EaLASgsNA1AVQk5TNS6eAuBgMHKh9hFhQsExN3EgEfKVgCfQh/gQcDTk8XGBYuh4oSoKAtRwKTgAeoB4REF62bFIkTYR8OpwcNBANxQhkZKyuaFhZyQwkiqAQEBg68vb3AF8REJbcGygSEGtoaztJPCcoG4ggwGkPc3lAL4gYdHWDn5unT4h0FBQLz0gf39wv6xDz0K9AAoBwUHApwSGgwzIiFHDYwaBhlBAMGGyRShCIgY0YOG58g8LjBQEgiBkKE2BBiwEkhI168CDEz30sDL0jIDLEqpAdOCBByvnB5UgAJoBB0YtqIAMIDpBCIUkxQIMKDq1c5wDN4YEOEr1gfvEix0YCJr1a/hhgRckEMtF85LN0Y4+xZEVtD1n3QYO7JESfyQgkCACH5BAkHADAALAQAAAAcACAAAAb/QJhwCANIQB/FaFn6EJ9QC6tSOSZHCZTg5EgEoE+MizWptgKKUiKx9SAQCRAYdsFYKCxAFZnCChxuCCoeX0QZGSt1d2VWSmyAbyoLCwpEGhqIdRQTE3p7CgmQCAsDpU5DmBmKFnMBAqOlAwcqcqiZc0QjpLIHBwKWiLhPKSIivb2nMJjCUAm9DQ0EHszMCNAE2IXUYCnRBgQGCdu4AwbmBgjjcw7mHR0H6mAJ7R0G8VAlBfr6908j+/z6DUHBAaDAIQg4KOTQ4KAQAgw2SBzgcITEi78OEri4gYG2ex5CiJS44KCAEC9ejKzUDwGJlylDqOj3D8KDBzALfMS1BsGANw0Rbt58uSHFOA4RkgYVijPECHURTChl+qAAy3EdpCoNSmLATmomwop9cOBqvAImQmxoIKDWnCAAIfkECQcAKQAsBgAAABoAIAAABv/AlFBooUwqsBYoAAINn1Dh5VJkHSWgj2KUUDijwoz4giles9sESlD6PjXwzIpKYVUkSkVJLXAI3G9jGC4sADASAXoJAicOHh4fUXFTg0Z3H3uMDggIHgGSYmApEiWanCoegHCiTwqOnAsDAqy0CrADuJG0oiUquAMHJ7usDrgHByKfw1EKIiLHBwnLYCrQDR7TUQINDQQEA9lQCd0GBA3hTyUEBuUG6EMl7PLvQgny7PQpHgUd/Af5BwoILKCCXgkOAwugoHeAA0KEysI52ECRAYOC6FAwoEiRgwJ0HjaE4LgBQbgRBl6oHLmhQ0QoBwZ4SJDAwwIOEEiofBEihEc+VhwiCBX64AEECC90vuAwgpaMoUWjPiChs8NHVgpiQJWa88WCl2BezDAxlOiDFweu7vrQgGIEExs4HPhDKwgAIfkECQcAJwAsBwAAABkAIAAABv/Ak/CkyWQuGBdlAqgMn9BnEWlZViQgECzKnV6qkyvoo/hIuEPNFAMWf0qjUgutNiJdrAqsBVKUEoABaEYrVEt7ZCMJKAICIGhoFQEKio0ejpBoIIsCDh4ICZmanZ4ICIKiUQqlCCooqVwopioLC4+wTx8ItQMDI7hQHr29DsBPCcMiKsZDJQfPBwPMQinQz9MnzgcEDQ3YCQ0EBAbe0w4G4wbS0wMG7gYI0yUdBvQGocwiBQUd9KjADvYJjGcsQQEOAgsoMOaBg0OEHDw8CRACX5QRBjZo3MCAg4F/J2LMMMFgAKgEHhYUeBEixMYNCo+ZiEAzwoObN0m8YLmxQAk0KDJMCLWJM+fOlhsMLHxSQuhQojchkNDpcgHIIQoaRHiKk4TUECKWQgIh4ADHmw4PYIIUBAAh+QQJBwAAACwEAAAAHAAgAAAG/0CAcEjUZDKXi8VFbDqdGmPSQplYn9hiZqWsViSwSvYZRWKoky8IBBsXjWYXawKTgBSKlpu4vWC8Ei0BCiUlEntPFGofhAkjeohOFYMlIwkCKZFPEimWlwIgmk4gCSgCJw4Jok4lpw4eCKGrQyACrwgqmbNDKB6wCCi7QyMIuAgOwkIpCAvNC8kACgsD1APQCtUi1sklByLe28ICB+QHz8kLDQ3kHskpBPDwqsIDBgT2BAHiBvz87UO2IiXo0KEfgQ9DHJiIgGDPiQIQCXZAJmREjBkRInAYgaUEAQ4QIzbQB8BDjBgZUxZYkGqEAwQGNjDgABKiAQVDPpBIGeGBT0kIQF+8CLFBpkyQBko0UcBgYU+fDyA8EDq0aFEGBHA6CSAiJVQSEEgIJVqUAwKSWBQ0IPGVhNihITgM0Lqn1gGaD0iAHIBCFpYgACH5BAkHADEALAIAAAAeACAAAAb/wJhwSCzGNJqMcck0IjOXC6ZJLT6lFle1+oRiXKwJa7vsRi2USaUCIC8zK6krXZG0Ku7lBa2GtUAgeUwUaxIgHwqBgkYTdocKJRKLRhUBiCUJCpNGAZAJny2bRBIjnwICH6JEJSinAgmqQwoCJw4OArFCH7YevbkxH70Iw78fw8e/KQgqzAi/CQsD0h6/CNLSJ0SKggoHIiIDIiNDIRyTCAfp6QExGzImEc55Ag0H9QfZDybw8LhkIwYICCQgIpWICPAiRHggj4oAAxADGsgWA0SIhA8yFhi3pMSBDhEhithW4oHCjBlJFFDhYMQIBwgMcChQICQBTUQSQDiZEQKJRxcvQmwYymEmzQ4dCKRYooADypQ/gw7dYJTmgVRMAgyA8MAniZ9CpzIoWgABuyrdXjyIGiLs0AILsLoBIUAEzbYgFyTYtiQIACH5BAkHAAAALAAAAQAgAB8AAAb/QIBwSCwaAZqjcqnUZJjQpXN1iVqFGucFg7kys9Oty+JtOjOXi4VCKS/RahdrMnEr45RJBVa3G9d6FRISfkd6MBIgIBWFRSyIIAEfhI1EiQEKJR+Vlh+ZJSWcQxIpJSMJI6JCEqcJKCiqAC2uArWxH7UnukMnBh6FKQ4nDh61LyYxEQyFAh7OCAkeJiYR1Ql2Hwja2ikf1d8Fdg4LCyoqCCAADdTfCGUJA/HxAkIK3w8PJPRWJSLy8ZuEDKiGL98vKCgOKDwg4sA+IQE2RCj4AIKBVEdKLCBAYOGBBemIpAhBkcSLEAYQnBgxolkDAzANEGhwYEDAIiNIQoBAwmSIRw0bGHDgUKBATI4dUyxRUICnyZNAhRYt0AEmAQM2oQQY8KJriJ9Bh0616iBkFAUiNnwFCpRo0Q4IbnoBgWIATKAyVSQweyQIACH5BAkHADEALAAABAAgABwAAAb/wJhwSCwaiRpN5shsFpNLp/QJzVym2Fj1csFkpZkw10L+OldjF4VidmIs6gmA1WZiKCx5BVBn6isSMH1HE4ASLS2DRhOHIAEfBRwcBQWKFQGPHwoRJiYRESODFQqkJSUQn58egy2mI68bqREDgx8JtwkjBJ6fHIMjKAICKCUeng8PoHUgwifCCh/JyA8ddSgO2NggMQfTDxCrXyUIHuUICUIKJN4kKFkKKioI8wjbQgPsIeFOCQP+C/PQDQnAgYRBEi9CGCjBJAWCAyL8DVjgwd6QFCEMvki4YQMBDwJMCXAw4IBJiP8+HBmxYWOIEB0ZSKJkoCaBBg1ODlDQREGHN5cdN8ikVKCmzZwHVKh0EmBB0I6TKHWwSYDAAQEWpSgYwAEq0ak2ESw1AyLBAgIGKFlFMCKrkSAAIfkECQcAMgAsAAAGACAAGgAABv9AmXBILBqPmqNyqUwyn01NBkqVJTXSafWJzV5kjoJge8yYV5c0wRQzhcbkIfqCwVg2kXxkEB/S7RQUEHoRcH0YLoEsE4QRCX1CLosTExV6DxEokDIUABWfEoMPmA6bEzAwEqocEaMPC5sVIC0gtQeuDwWbIB8BHx8gDq4QECN9EgrJKSktHyQQDxAkBn0pIyUj1xIyByQv3y8eZB8J5eUKQgovJN4vG5pUHycC9CgJLUML698bG6VPJTw4OEHwRAoiAQq8CBGi34YGJZR8cIAAgYeLHgTgI5KCQcMNDBhw4HDAgYASJRIIUDFgwIIFFS0GODKCg0ORBXIaMEDggM8/Ay0HqLD4YYkCA/1wFuiwk+dPEUEdzGQSAAEHpUyb9jwgAqgAEFUULMhZQCsBAg24Su0DIgGCtDuBehgBdkkQACH5BAkHADIALAAABwAgABkAAAb/QJlMJSwaj8hkURGZOZTQqOxgMsVMAqlW+ImYIuDGVuv4giOJMVSjIZwjDPWRLWNnOJHHIzKQGzNsGhkZL3l7J35Fg4srEHp6aYkyKxeVlY8PEJGJFxieFhYvehAQiJIYLqAUFAUkjiQLkjIULLW1ByS5Lx2yEwC/ABMnui8hI4kTEhUwzBMfL9AvGwSJEiASLdkTMgMhxRsbT2oSCh8BINdCChsh4Bscm1IgIykK9h8VRSrgDAwcBaaifEiQYMSIEiVAGAlgwN2/AgdKKAmA4oQAAQQTlJBwREGBDf4KiDQgAqO9EQkcIPDgwKIAFAlaJClR4GGBDgYMEDhwQMSAQAELEKxk6UCAQiUKCDzMmXNnz59BhXowKiUAgpFNCTR4+lMoggRHtXxAwJSA1p4+ByBAESDRPAQ/dy5Y4CBhlCAAIfkECQcAJgAsAAAEACAAHAAABv9Ak9CUeA2PyKTyqCDNjMtoFLSJRGJQqXY4sFplpO1W4bU+EmLtIfJ4WBFp6YfEdnfiUke7HUHjlwd7DwV/UQUQDxAQC4VLLySKEAKNSRokl5cjlCYaGpwaL4+hfoUZGZ0aGRuhLyEnlKaxGR2tLxsqlBe6uwMhvhsGlBYYGBfEAiEbyhslhRYUFBYWLhYBDMsMB4UTEyzQ0SYLyxwFr3EAFRUA3CxCChwb5AUdpFoVIBISMDAV7UII8goUMDBJS4sPH0CAaNGiwpEABOR1MGBgQIolIFKMSKEAYQAQAJAoMCBwIsUGCwSMUKAgRQkBAlAkGFGC4weHSUqQNGmgwQFNEQMGLEDgwQFMmSM2Sojy4QBFAlAP/BSqwkPREzETlFgqJYADqFGnCkVA1oFRBVy3fEDQwKfUoEPJehgBohCIEQ4WLDgwgCgKBXWjBAEAIfkECQcAKAAsAAABACAAHwAABv9AlHAoVBCPyGQyIJopn1CUgmMyRaLY4YhkNc1A2aiCFCmXnWEliFN+mAtp5cD9cEcQ8eS4zhfkkyJ8dXh/Rx8kEA8QEAaFSCcQL4sQI45HBySZL3CWRAUvmgudRBsvpiF+o0IhrCEblaoorhu0CbEoHLS0qaoGugyEfxpEGgO0DBwNjhrMKMwCGwwF0yV/GdfMGhkBBRzTBSJ/FxfX10Iq3tMGvFkYGOPjK0XTHQb2sFgUFC4W7u9DHgrYs0fAVpQJACaw2OcCA5EADQYaIHAAgZEkFSRIqFBhgkIKSBQQmDjxgIgBCEakCADiwwcFClhq5DgBJJIUDQgQaHDgwIBPBSoQODghIMGIEgo+gGghAcaEJx8GUDQ54CcCDw4EFFWZFISEp1BAOOjp06pQokaPKmhRIcwHByJOLkBAN+vWDzD+gCghACtdrSUCSIASBAAh+QQFBwAzACwAAAAAHwAgAAAG/8CZcEgECU7EpHJJVDQiJhlzugwMIlhThMoVKjjYcGzQnY5C2EfYZCgvFaGHXI1lHNxJUGEujxRGeEoLEBAPhRAIgUoKLySEECQCikoDjSSOHpNJHyEvjS9tmkQCnZ4vgKJDIiGsIR2pRAYbsxuJsEIctBuStzMMswwMqLe/DBwcCb0zBcfMvLcEBdIFmb0L0wV3vQIFHR0GBiW9Ad/gBguTGkoI5gQEyXgZGupEHwQG7g0H4mUrGfLq5glxgI/AgQMD4FHBcMEfQHozQAwgoA/hAAcfmFCg4ILhhX8Zkig4eHDAAhUIUCgIIEECjAowAEygYMHjRyUpBogQYXKBB04HJ1CMKPEBRIsKMjnWvMAkgAqeA1A6ECAgQQkFRSVUmDCzIxUjJhEg+Fl16MoWWiuwcFEmgACxCKYKLZFCgVG1ikAoSCAARdWrICRQCQIAOw==) no-repeat}.lb-nav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:0;background-image:url(data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)}.lb-next,.lb-prev{height:100%;cursor:pointer;display:block}.lb-nav a.lb-prev{width:34%;left:0;float:left;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAtCAYAAADsvzj/AAAFF0lEQVR4Ac2ZW0xcVRSGPTNnhlPKcCsUAeeChkEVxhutDQwzMANaqamNWgpaH+yDIaZp1cRHbgH0gTsxkmDCI/hiRAqgD5qYRgKQ8II6TE00wfgGAcIdKeM/ydrNZIezxxg9m518gRxWmn6s9a9zhvNQJBL5T/gfjokwA5Uw0zWFeHBOugiTsAArfSWZky+iABVowAZSwRkiDSTRz1iHlJMmogATsIDTIAPYgRs8SeTTtXSQSLVKFNkivIQKksDDJFCsquqLmqZdAa/i+yCuPQ1cJHOKjdpJEWGdsIFs8BQoy83NvTEzMzO3t7f318HBweHc3Nxdj8dznWQeIWmpIryENUaiCPgdDsfN+fn5XyLcWV5eDlmt1gBqHgOpbAHIFmESySAHeECF0+m8hd/+vcgxZ3d39wBj9grqCkA6iaiyRBRunJhEpcvl+nBhYeG3iM7Z2dnZgkg1ZSgNqLI6wgebSVTZ7faPlpaW/tSTWF9f36ivr+9AbQkF3iZRhAs2dSInJ+eDUCj0h0Biq7S09BPUBkEhyAKJssKusE6QRCGoQLDfn56eDulJrK6ubgeDwS7UXgTPAztIkXUfUbhxKgLlyMRtBPtXPYm1tbXdqqoqJnEOOGhbJQCTkSJ8sJlEMNoJrFhdicPDw6PKyspe1FaD85yE2YBnLUGwSSIrK+s2bnZLehIbGxubfr+/B7WXSMJJ42QlCcVAES7YJJGdnR0dp7BgnLZKSko6qBPngIvrBEkYIKIT7PLoOKET4TjB7kbty+A8SaRxmcAxQEQn2BUI9q3Z2dl7gk7sINhRiZeoE87jMmGECB/s3JhgR8dJV2Jzc3Pb5/N1UieKKdgsEyaAY5wIk2Dj5GHBRifCgmBHb3adLBNsO3HBNkxEAWZwCmSCx4EPwb4ZJ9jbCHYXSRQDpyDYhomoNFIOUIRMvINO/KQnsbKyshMIBD5D7RVwgQWblzBahD2Sp5jN5jzM+9uLi4s/60mEw+FNbKcvUH8DVIECcAZoXLCliaRaLBbX8PBwb0RwRkZGfkftx+BdUM4+KInDbdxoWUCKoih5CQkJgYGBgS/xs6PjRPb394+ampp+RP174CIoBGcpYypQZIqYY+4dz4DLvb29Y6LONDY2fou6OuAF+SCDZCgj8kQSQDqNihfU9vX1TYlkGhoa7qDuDVBKMpQVrjMG30fYCs6gAHuRmdqurq5JkUxLS8sEaq+CMq4zJGOgCB2Fk8kHJSaTqaazs3Pi2MzQaWtrm0RtDfDFyCQyGUNFOJlEkMlkwLWenp5vRDKtra1TNGYsM5mcjKEifGeYjBfUQUaYmebm5omYzLjFC8C4zyNqTGfcNDZ1/2ABjKHudZLXkTFARJAZN/CqqnqNMqN7Ojo6vqMF4ONkVFmvFUQLQNiZ7u7u76PZAn6S4TJjrIhoAdT+iwXAdQYYKCJaAG/iPhNvAYyj7jXwAngUpAGrDBF+ATCZAuBXFOX60NDQ3TiPM1/hyfoyPf7kgNNSXyvwmSGZMk3T3hocHPwhzlPzJLLFnpZT5PztV5wZNyilbTZFmTnZrxU4GZWXATV4ap4kmeNELlEticjsSHyZq/39/V/j374P2Lk/Pj5+BznxUuDlj1acJ4B8cAH/4er29vbPR0dH58fGxubx/ac2my1Ab3iz5Yc9/gJIB05QCJ4Fz9FXD3gC5HIfi+WKCGQ0GpuzwA7yCDtdS+b/SCFfRPwaQqPxSSaS6JrlwUjR+RtEvCM0ct4sLQAAAABJRU5ErkJggg==) left 48% no-repeat;opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-prev:hover{opacity:1}.lb-nav a.lb-next{width:64%;right:0;float:right;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAtCAYAAADsvzj/AAAFDUlEQVR4Ac2ZS0xcVRjHvTN3hisw0GIRZ3AeLWHQWqdVsRqgA86AUmpqoy20Whd2YYhprJq45BVAF7yJkQQTluDGiEhBF5qYRsIjYYMKQxNNMO4gQHgjZfxP8pF8ufEe0qQ5pyf5BTKcWfzyff/vnHt5xLQ0wgbsQCfswEY80BWPxx8I5sUlHMBJP0nm4RfRWAUMkAqOgseII8AFDNqjPYwiGuEAySADeEEuOEkE6bNjIIX22riQchHWSo+SRACc1nU9ahjGG+ASfn8Vn+WT0BNUMV0so04kFTwJTodCoeuTk5N3dnd397a3t/8dHx+fzM7OvoG/nQPPADdwscqoF2HBPgJynE5nZGFhYTZuWlNTU3/4fL6b2FMMnmUyTpJRLqKTSAbIQyu9vrW1tRv/n4Uqzfv9/g+x7xUQAh6QxmVUV0SnKRWESMXm5uZ63GJNT0//GQgEPsHeUibD20xTLeKioBdUV1e3rKysrFrJzM3N/eP1ej/F3jImIxgAcsOeDLLAKRAtLCz8HDKWlZmdnf3b4/F8zCojGADyz5F04AUvgPJoNNq2tLS0YSUzNjY2iwHwEWXmFHCzymiqRGwgiaaXD7wIysvKytqWl5e3rGQwAO4iM7ewt4SmmYfLqLpr2U0yZ0FFaWlp597e3r6VDEbzXapMlGQEA0COiEYyTmozP8lcKC4u7lhdXV2zksGhOZeVlXWLy5gHgDwRJsMqE6A2qygoKGhBm60L2izmdruZjGkAyBShxTNzlGTOgvMYAO2iAYDKxKjNSgQDQI6IRWb8VJnXMADaUZlNK5mJiYl5DAC6AQgGgCwRWjaWGR/IB+fD4XDr2trahqDN5lEZ3mbZ5gEgW4QPAD6aK3BotmIArAsqE2MDIMTajGTkinAZ3mb5NAAS58zGIQPgJvaGwVMgk5597ECTLcJl+AB4GVyKRCJfLi4uijLzGzLzHrWYj1pMVyXCB4BBz/J5oAzcwDT7OhaLWZ4zMzMzvyNX79rt9uOUNyewqRSxsbzk0Jh9H3w2MDDwV1yw+vv7Ox0OR4C+q1REAzr1+ON0TpSDD+rq6n7d2dmxusbs9/T0fJOUlBTRNO2gIg6lGSGJYyAXFIFrtbW1P4oq0dnZOYR9F8EZdqaoCDtVgrJBEoXgck1Nzfciia6urlHsu0rSOSADJEkXYRK8EufAlYaGhtsiiba2thFk4kAij75Po1fiOcIkkplEGFQ2NTWNCBz2W1tbb9tstkrsLaDvcQlN5hWFS2SyTFxubGwcFUl0dHT8gH1VTCITJHMJWSLmYAcPMlFfXy9sJ0gkMnGNpEnCXAkJIhYSReAtBHvosGCTRBgEWSV0qc8jPNhMIgyutLS0/CSSSGRC1/Uqkg5aZUKGiDkTQVAMqtrb238+RGJUHGyZb1F4Je4/2FfFwZYr4qRb7QnwEngTwR4+5JxIZOJtcbDlv2lMAR5wBjfUi7h2fCuS6Ovru6Np2nVqvzwmQcFW9+43HeSg10twix0RSfT29v5iGMY7dMLniTOh+N8KghN7lKZTIQgKMiG/IkwkCJELFiL7uMWOYE+lWUL8elRNa51APoqGh4cTN9p7TOJed3f3d4nz5P4l1ITdDU66XK5Ic3PzF0NDQ1ODg4NT+P0rCFbQM3qu4MRWLsIfX7PB0yAEngPP089TwA8yBMFWKmJ+qZBGj7FecJzw0mfpwBBLqBexseAbIBWkESnAEPybQLnIf4JfIzSb+FymAAAAAElFTkSuQmCC) right 48% no-repeat;opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-next:hover{opacity:1}.lb-dataContainer{margin:0 auto;padding-top:5px;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.lb-dataContainer:after{content:"";display:table;clear:both}.lb-data{padding:0 4px;color:#ccc}.lb-data .lb-details{width:85%;float:left;text-align:left;line-height:1.1em}.lb-data .lb-caption{font-size:13px;font-weight:700;line-height:1em}.lb-data .lb-caption a{color:#4ae}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#999}.lb-data .lb-close{display:block;float:right;width:30px;height:30px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAMAAAC6CgRnAAAAPFBMVEX///8AAAD9/f2CgoKAgIAAAAAAAAAAAABLS0sAAAAAAACqqqqqqqq6urpKSkpISEgAAAC7u7u5ubn////zbsMcAAAAE3RSTlMASv6rqwAWS5YMC7/AyZWVFcrJCYaKfAAAAHhJREFUeF590kkOgCAQRFEaFVGc+/53FYmbz6JqBbyQMFSYuoQuV+iTflnstI7ssLXRvMWRaEMs84e2uVckuZe6knL0hiSPObXhj6ChzoEkIolIIpKIO4joICAIeDd7QGIfCCjOKe9HEk8mnxpIAup/F31RPZP9fAG3IAyBSJe0igAAAABJRU5ErkJggg==) top right no-repeat;text-align:right;outline:0;opacity:.7;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}.lb-data .lb-close:hover{cursor:pointer;opacity:1}
 
assets/css/materialdesignicons.css DELETED
@@ -1,5107 +0,0 @@
1
- /* MaterialDesignIcons.com */
2
- @font-face {
3
- font-family: 'MaterialDesignIcons';
4
- src: url("../font/material-design-icons/materialdesignicons-webfont.eot?v=1.2.64");
5
- src: url("../font/material-design-icons/materialdesignicons-webfont.eot?#iefix&v=1.2.64") format("embedded-opentype"), url("../font/material-design-icons/materialdesignicons-webfont.woff2?v=1.2.64") format("woff2"), url("../font/material-design-icons/materialdesignicons-webfont.woff?v=1.2.64") format("woff"), url("../font/material-design-icons/materialdesignicons-webfont.ttf?v=1.2.64") format("truetype"), url("../font/material-design-icons/materialdesignicons-webfont.svg?v=1.2.64#materialdesigniconsregular") format("svg");
6
- font-weight: normal;
7
- font-style: normal;
8
- }
9
- .mdi {
10
- display: inline-block;
11
- font: normal normal normal 24px/1 MaterialDesignIcons;
12
- font-size: inherit;
13
- text-rendering: auto;
14
- -webkit-font-smoothing: antialiased;
15
- -moz-osx-font-smoothing: grayscale;
16
- transform: translate(0, 0);
17
- }
18
-
19
- .mdi-account:before {
20
- content: "\f101";
21
- }
22
-
23
- .mdi-account-alert:before {
24
- content: "\f102";
25
- }
26
-
27
- .mdi-account-box:before {
28
- content: "\f103";
29
- }
30
-
31
- .mdi-account-box-outline:before {
32
- content: "\f104";
33
- }
34
-
35
- .mdi-account-check:before {
36
- content: "\f105";
37
- }
38
-
39
- .mdi-account-circle:before {
40
- content: "\f106";
41
- }
42
-
43
- .mdi-account-key:before {
44
- content: "\f107";
45
- }
46
-
47
- .mdi-account-location:before {
48
- content: "\f108";
49
- }
50
-
51
- .mdi-account-minus:before {
52
- content: "\f109";
53
- }
54
-
55
- .mdi-account-multiple:before {
56
- content: "\f10a";
57
- }
58
-
59
- .mdi-account-multiple-outline:before {
60
- content: "\f10b";
61
- }
62
-
63
- .mdi-account-multiple-plus:before {
64
- content: "\f10c";
65
- }
66
-
67
- .mdi-account-network:before {
68
- content: "\f10d";
69
- }
70
-
71
- .mdi-account-outline:before {
72
- content: "\f10e";
73
- }
74
-
75
- .mdi-account-plus:before {
76
- content: "\f10f";
77
- }
78
-
79
- .mdi-account-remove:before {
80
- content: "\f110";
81
- }
82
-
83
- .mdi-account-search:before {
84
- content: "\f111";
85
- }
86
-
87
- .mdi-account-star:before {
88
- content: "\f112";
89
- }
90
-
91
- .mdi-account-star-variant:before {
92
- content: "\f113";
93
- }
94
-
95
- .mdi-account-switch:before {
96
- content: "\f114";
97
- }
98
-
99
- .mdi-airballoon:before {
100
- content: "\f115";
101
- }
102
-
103
- .mdi-airplane:before {
104
- content: "\f116";
105
- }
106
-
107
- .mdi-airplane-off:before {
108
- content: "\f117";
109
- }
110
-
111
- .mdi-alarm:before {
112
- content: "\f118";
113
- }
114
-
115
- .mdi-alarm-check:before {
116
- content: "\f119";
117
- }
118
-
119
- .mdi-alarm-multiple:before {
120
- content: "\f11a";
121
- }
122
-
123
- .mdi-alarm-off:before {
124
- content: "\f11b";
125
- }
126
-
127
- .mdi-alarm-plus:before {
128
- content: "\f11c";
129
- }
130
-
131
- .mdi-album:before {
132
- content: "\f11d";
133
- }
134
-
135
- .mdi-alert:before {
136
- content: "\f11e";
137
- }
138
-
139
- .mdi-alert-box:before {
140
- content: "\f11f";
141
- }
142
-
143
- .mdi-alert-circle:before {
144
- content: "\f120";
145
- }
146
-
147
- .mdi-alert-octagon:before {
148
- content: "\f121";
149
- }
150
-
151
- .mdi-alpha:before {
152
- content: "\f122";
153
- }
154
-
155
- .mdi-alphabetical:before {
156
- content: "\f123";
157
- }
158
-
159
- .mdi-amazon:before {
160
- content: "\f124";
161
- }
162
-
163
- .mdi-amazon-clouddrive:before {
164
- content: "\f125";
165
- }
166
-
167
- .mdi-ambulance:before {
168
- content: "\f126";
169
- }
170
-
171
- .mdi-android:before {
172
- content: "\f127";
173
- }
174
-
175
- .mdi-android-debug-bridge:before {
176
- content: "\f128";
177
- }
178
-
179
- .mdi-android-studio:before {
180
- content: "\f129";
181
- }
182
-
183
- .mdi-apple:before {
184
- content: "\f12a";
185
- }
186
-
187
- .mdi-apple-finder:before {
188
- content: "\f12b";
189
- }
190
-
191
- .mdi-apple-ios:before {
192
- content: "\f12c";
193
- }
194
-
195
- .mdi-apple-mobileme:before {
196
- content: "\f12d";
197
- }
198
-
199
- .mdi-apple-safari:before {
200
- content: "\f12e";
201
- }
202
-
203
- .mdi-appnet:before {
204
- content: "\f12f";
205
- }
206
-
207
- .mdi-apps:before {
208
- content: "\f130";
209
- }
210
-
211
- .mdi-archive:before {
212
- content: "\f131";
213
- }
214
-
215
- .mdi-arrange-bring-forward:before {
216
- content: "\f132";
217
- }
218
-
219
- .mdi-arrange-bring-to-front:before {
220
- content: "\f133";
221
- }
222
-
223
- .mdi-arrange-send-backward:before {
224
- content: "\f134";
225
- }
226
-
227
- .mdi-arrange-send-to-back:before {
228
- content: "\f135";
229
- }
230
-
231
- .mdi-arrow-all:before {
232
- content: "\f136";
233
- }
234
-
235
- .mdi-arrow-bottom-left:before {
236
- content: "\f137";
237
- }
238
-
239
- .mdi-arrow-bottom-right:before {
240
- content: "\f138";
241
- }
242
-
243
- .mdi-arrow-collapse:before {
244
- content: "\f139";
245
- }
246
-
247
- .mdi-arrow-down:before {
248
- content: "\f13a";
249
- }
250
-
251
- .mdi-arrow-down-bold:before {
252
- content: "\f13b";
253
- }
254
-
255
- .mdi-arrow-down-bold-circle:before {
256
- content: "\f13c";
257
- }
258
-
259
- .mdi-arrow-down-bold-circle-outline:before {
260
- content: "\f13d";
261
- }
262
-
263
- .mdi-arrow-down-bold-hexagon-outline:before {
264
- content: "\f13e";
265
- }
266
-
267
- .mdi-arrow-expand:before {
268
- content: "\f13f";
269
- }
270
-
271
- .mdi-arrow-left:before {
272
- content: "\f140";
273
- }
274
-
275
- .mdi-arrow-left-bold:before {
276
- content: "\f141";
277
- }
278
-
279
- .mdi-arrow-left-bold-circle:before {
280
- content: "\f142";
281
- }
282
-
283
- .mdi-arrow-left-bold-circle-outline:before {
284
- content: "\f143";
285
- }
286
-
287
- .mdi-arrow-left-bold-hexagon-outline:before {
288
- content: "\f144";
289
- }
290
-
291
- .mdi-arrow-right:before {
292
- content: "\f145";
293
- }
294
-
295
- .mdi-arrow-right-bold:before {
296
- content: "\f146";
297
- }
298
-
299
- .mdi-arrow-right-bold-circle:before {
300
- content: "\f147";
301
- }
302
-
303
- .mdi-arrow-right-bold-circle-outline:before {
304
- content: "\f148";
305
- }
306
-
307
- .mdi-arrow-right-bold-hexagon-outline:before {
308
- content: "\f149";
309
- }
310
-
311
- .mdi-arrow-top-left:before {
312
- content: "\f14a";
313
- }
314
-
315
- .mdi-arrow-top-right:before {
316
- content: "\f14b";
317
- }
318
-
319
- .mdi-arrow-up:before {
320
- content: "\f14c";
321
- }
322
-
323
- .mdi-arrow-up-bold:before {
324
- content: "\f14d";
325
- }
326
-
327
- .mdi-arrow-up-bold-circle:before {
328
- content: "\f14e";
329
- }
330
-
331
- .mdi-arrow-up-bold-circle-outline:before {
332
- content: "\f14f";
333
- }
334
-
335
- .mdi-arrow-up-bold-hexagon-outline:before {
336
- content: "\f150";
337
- }
338
-
339
- .mdi-at:before {
340
- content: "\f151";
341
- }
342
-
343
- .mdi-attachment:before {
344
- content: "\f152";
345
- }
346
-
347
- .mdi-audiobook:before {
348
- content: "\f153";
349
- }
350
-
351
- .mdi-auto-fix:before {
352
- content: "\f154";
353
- }
354
-
355
- .mdi-auto-upload:before {
356
- content: "\f155";
357
- }
358
-
359
- .mdi-baby:before {
360
- content: "\f156";
361
- }
362
-
363
- .mdi-backburger:before {
364
- content: "\f157";
365
- }
366
-
367
- .mdi-backup-restore:before {
368
- content: "\f158";
369
- }
370
-
371
- .mdi-bank:before {
372
- content: "\f159";
373
- }
374
-
375
- .mdi-barcode:before {
376
- content: "\f15a";
377
- }
378
-
379
- .mdi-barley:before {
380
- content: "\f15b";
381
- }
382
-
383
- .mdi-barrel:before {
384
- content: "\f15c";
385
- }
386
-
387
- .mdi-basecamp:before {
388
- content: "\f15d";
389
- }
390
-
391
- .mdi-basket:before {
392
- content: "\f15e";
393
- }
394
-
395
- .mdi-basket-fill:before {
396
- content: "\f15f";
397
- }
398
-
399
- .mdi-basket-unfill:before {
400
- content: "\f160";
401
- }
402
-
403
- .mdi-battery:before {
404
- content: "\f161";
405
- }
406
-
407
- .mdi-battery-10:before {
408
- content: "\f162";
409
- }
410
-
411
- .mdi-battery-20:before {
412
- content: "\f163";
413
- }
414
-
415
- .mdi-battery-30:before {
416
- content: "\f164";
417
- }
418
-
419
- .mdi-battery-40:before {
420
- content: "\f165";
421
- }
422
-
423
- .mdi-battery-50:before {
424
- content: "\f166";
425
- }
426
-
427
- .mdi-battery-60:before {
428
- content: "\f167";
429
- }
430
-
431
- .mdi-battery-70:before {
432
- content: "\f168";
433
- }
434
-
435
- .mdi-battery-80:before {
436
- content: "\f169";
437
- }
438
-
439
- .mdi-battery-90:before {
440
- content: "\f16a";
441
- }
442
-
443
- .mdi-battery-alert:before {
444
- content: "\f16b";
445
- }
446
-
447
- .mdi-battery-charging-100:before {
448
- content: "\f16c";
449
- }
450
-
451
- .mdi-battery-charging-20:before {
452
- content: "\f16d";
453
- }
454
-
455
- .mdi-battery-charging-30:before {
456
- content: "\f16e";
457
- }
458
-
459
- .mdi-battery-charging-40:before {
460
- content: "\f16f";
461
- }
462
-
463
- .mdi-battery-charging-60:before {
464
- content: "\f170";
465
- }
466
-
467
- .mdi-battery-charging-80:before {
468
- content: "\f171";
469
- }
470
-
471
- .mdi-battery-charging-90:before {
472
- content: "\f172";
473
- }
474
-
475
- .mdi-battery-minus:before {
476
- content: "\f173";
477
- }
478
-
479
- .mdi-battery-negative:before {
480
- content: "\f174";
481
- }
482
-
483
- .mdi-battery-outline:before {
484
- content: "\f175";
485
- }
486
-
487
- .mdi-battery-plus:before {
488
- content: "\f176";
489
- }
490
-
491
- .mdi-battery-positive:before {
492
- content: "\f177";
493
- }
494
-
495
- .mdi-battery-unknown:before {
496
- content: "\f178";
497
- }
498
-
499
- .mdi-beach:before {
500
- content: "\f179";
501
- }
502
-
503
- .mdi-beaker:before {
504
- content: "\f17a";
505
- }
506
-
507
- .mdi-beaker-empty:before {
508
- content: "\f17b";
509
- }
510
-
511
- .mdi-beaker-empty-outline:before {
512
- content: "\f17c";
513
- }
514
-
515
- .mdi-beaker-outline:before {
516
- content: "\f17d";
517
- }
518
-
519
- .mdi-beats:before {
520
- content: "\f17e";
521
- }
522
-
523
- .mdi-beer:before {
524
- content: "\f17f";
525
- }
526
-
527
- .mdi-behance:before {
528
- content: "\f180";
529
- }
530
-
531
- .mdi-bell:before {
532
- content: "\f181";
533
- }
534
-
535
- .mdi-bell-off:before {
536
- content: "\f182";
537
- }
538
-
539
- .mdi-bell-outline:before {
540
- content: "\f183";
541
- }
542
-
543
- .mdi-bell-ring:before {
544
- content: "\f184";
545
- }
546
-
547
- .mdi-bell-ring-outline:before {
548
- content: "\f185";
549
- }
550
-
551
- .mdi-bell-sleep:before {
552
- content: "\f186";
553
- }
554
-
555
- .mdi-beta:before {
556
- content: "\f187";
557
- }
558
-
559
- .mdi-bike:before {
560
- content: "\f188";
561
- }
562
-
563
- .mdi-bing:before {
564
- content: "\f189";
565
- }
566
-
567
- .mdi-binoculars:before {
568
- content: "\f18a";
569
- }
570
-
571
- .mdi-bio:before {
572
- content: "\f18b";
573
- }
574
-
575
- .mdi-biohazard:before {
576
- content: "\f18c";
577
- }
578
-
579
- .mdi-bitbucket:before {
580
- content: "\f18d";
581
- }
582
-
583
- .mdi-black-mesa:before {
584
- content: "\f18e";
585
- }
586
-
587
- .mdi-blackberry:before {
588
- content: "\f18f";
589
- }
590
-
591
- .mdi-blinds:before {
592
- content: "\f190";
593
- }
594
-
595
- .mdi-block-helper:before {
596
- content: "\f191";
597
- }
598
-
599
- .mdi-blogger:before {
600
- content: "\f192";
601
- }
602
-
603
- .mdi-bluetooth:before {
604
- content: "\f193";
605
- }
606
-
607
- .mdi-bluetooth-audio:before {
608
- content: "\f194";
609
- }
610
-
611
- .mdi-bluetooth-connect:before {
612
- content: "\f195";
613
- }
614
-
615
- .mdi-bluetooth-settings:before {
616
- content: "\f196";
617
- }
618
-
619
- .mdi-bluetooth-transfer:before {
620
- content: "\f197";
621
- }
622
-
623
- .mdi-blur:before {
624
- content: "\f198";
625
- }
626
-
627
- .mdi-blur-linear:before {
628
- content: "\f199";
629
- }
630
-
631
- .mdi-blur-off:before {
632
- content: "\f19a";
633
- }
634
-
635
- .mdi-blur-radial:before {
636
- content: "\f19b";
637
- }
638
-
639
- .mdi-bone:before {
640
- content: "\f19c";
641
- }
642
-
643
- .mdi-book:before {
644
- content: "\f19d";
645
- }
646
-
647
- .mdi-book-multiple:before {
648
- content: "\f19e";
649
- }
650
-
651
- .mdi-book-multiple-variant:before {
652
- content: "\f19f";
653
- }
654
-
655
- .mdi-book-open:before {
656
- content: "\f1a0";
657
- }
658
-
659
- .mdi-book-variant:before {
660
- content: "\f1a1";
661
- }
662
-
663
- .mdi-bookmark:before {
664
- content: "\f1a2";
665
- }
666
-
667
- .mdi-bookmark-check:before {
668
- content: "\f1a3";
669
- }
670
-
671
- .mdi-bookmark-music:before {
672
- content: "\f1a4";
673
- }
674
-
675
- .mdi-bookmark-outline:before {
676
- content: "\f1a5";
677
- }
678
-
679
- .mdi-bookmark-outline-plus:before {
680
- content: "\f1a6";
681
- }
682
-
683
- .mdi-bookmark-plus:before {
684
- content: "\f1a7";
685
- }
686
-
687
- .mdi-bookmark-remove:before {
688
- content: "\f1a8";
689
- }
690
-
691
- .mdi-border-all:before {
692
- content: "\f1a9";
693
- }
694
-
695
- .mdi-border-bottom:before {
696
- content: "\f1aa";
697
- }
698
-
699
- .mdi-border-color:before {
700
- content: "\f1ab";
701
- }
702
-
703
- .mdi-border-horizontal:before {
704
- content: "\f1ac";
705
- }
706
-
707
- .mdi-border-inside:before {
708
- content: "\f1ad";
709
- }
710
-
711
- .mdi-border-left:before {
712
- content: "\f1ae";
713
- }
714
-
715
- .mdi-border-none:before {
716
- content: "\f1af";
717
- }
718
-
719
- .mdi-border-outside:before {
720
- content: "\f1b0";
721
- }
722
-
723
- .mdi-border-right:before {
724
- content: "\f1b1";
725
- }
726
-
727
- .mdi-border-top:before {
728
- content: "\f1b2";
729
- }
730
-
731
- .mdi-border-vertical:before {
732
- content: "\f1b3";
733
- }
734
-
735
- .mdi-bowling:before {
736
- content: "\f1b4";
737
- }
738
-
739
- .mdi-box:before {
740
- content: "\f1b5";
741
- }
742
-
743
- .mdi-briefcase:before {
744
- content: "\f1b6";
745
- }
746
-
747
- .mdi-briefcase-check:before {
748
- content: "\f1b7";
749
- }
750
-
751
- .mdi-briefcase-download:before {
752
- content: "\f1b8";
753
- }
754
-
755
- .mdi-briefcase-upload:before {
756
- content: "\f1b9";
757
- }
758
-
759
- .mdi-brightness-1:before {
760
- content: "\f1ba";
761
- }
762
-
763
- .mdi-brightness-2:before {
764
- content: "\f1bb";
765
- }
766
-
767
- .mdi-brightness-3:before {
768
- content: "\f1bc";
769
- }
770
-
771
- .mdi-brightness-4:before {
772
- content: "\f1bd";
773
- }
774
-
775
- .mdi-brightness-5:before {
776
- content: "\f1be";
777
- }
778
-
779
- .mdi-brightness-6:before {
780
- content: "\f1bf";
781
- }
782
-
783
- .mdi-brightness-7:before {
784
- content: "\f1c0";
785
- }
786
-
787
- .mdi-brightness-auto:before {
788
- content: "\f1c1";
789
- }
790
-
791
- .mdi-broom:before {
792
- content: "\f1c2";
793
- }
794
-
795
- .mdi-brush:before {
796
- content: "\f1c3";
797
- }
798
-
799
- .mdi-bug:before {
800
- content: "\f1c4";
801
- }
802
-
803
- .mdi-bulletin-board:before {
804
- content: "\f1c5";
805
- }
806
-
807
- .mdi-bullhorn:before {
808
- content: "\f1c6";
809
- }
810
-
811
- .mdi-bus:before {
812
- content: "\f1c7";
813
- }
814
-
815
- .mdi-cake:before {
816
- content: "\f1c8";
817
- }
818
-
819
- .mdi-cake-variant:before {
820
- content: "\f1c9";
821
- }
822
-
823
- .mdi-calculator:before {
824
- content: "\f1ca";
825
- }
826
-
827
- .mdi-calendar:before {
828
- content: "\f1cb";
829
- }
830
-
831
- .mdi-calendar-blank:before {
832
- content: "\f1cc";
833
- }
834
-
835
- .mdi-calendar-check:before {
836
- content: "\f1cd";
837
- }
838
-
839
- .mdi-calendar-clock:before {
840
- content: "\f1ce";
841
- }
842
-
843
- .mdi-calendar-multiple:before {
844
- content: "\f1cf";
845
- }
846
-
847
- .mdi-calendar-multiple-check:before {
848
- content: "\f1d0";
849
- }
850
-
851
- .mdi-calendar-plus:before {
852
- content: "\f1d1";
853
- }
854
-
855
- .mdi-calendar-remove:before {
856
- content: "\f1d2";
857
- }
858
-
859
- .mdi-calendar-text:before {
860
- content: "\f1d3";
861
- }
862
-
863
- .mdi-calendar-today:before {
864
- content: "\f1d4";
865
- }
866
-
867
- .mdi-camcorder:before {
868
- content: "\f1d5";
869
- }
870
-
871
- .mdi-camcorder-box:before {
872
- content: "\f1d6";
873
- }
874
-
875
- .mdi-camcorder-box-off:before {
876
- content: "\f1d7";
877
- }
878
-
879
- .mdi-camcorder-off:before {
880
- content: "\f1d8";
881
- }
882
-
883
- .mdi-camera:before {
884
- content: "\f1d9";
885
- }
886
-
887
- .mdi-camera-front:before {
888
- content: "\f1da";
889
- }
890
-
891
- .mdi-camera-front-variant:before {
892
- content: "\f1db";
893
- }
894
-
895
- .mdi-camera-iris:before {
896
- content: "\f1dc";
897
- }
898
-
899
- .mdi-camera-party-mode:before {
900
- content: "\f1dd";
901
- }
902
-
903
- .mdi-camera-rear:before {
904
- content: "\f1de";
905
- }
906
-
907
- .mdi-camera-rear-variant:before {
908
- content: "\f1df";
909
- }
910
-
911
- .mdi-camera-switch:before {
912
- content: "\f1e0";
913
- }
914
-
915
- .mdi-camera-timer:before {
916
- content: "\f1e1";
917
- }
918
-
919
- .mdi-candycane:before {
920
- content: "\f1e2";
921
- }
922
-
923
- .mdi-car:before {
924
- content: "\f1e3";
925
- }
926
-
927
- .mdi-car-wash:before {
928
- content: "\f1e4";
929
- }
930
-
931
- .mdi-carrot:before {
932
- content: "\f1e5";
933
- }
934
-
935
- .mdi-cart:before {
936
- content: "\f1e6";
937
- }
938
-
939
- .mdi-cart-outline:before {
940
- content: "\f1e7";
941
- }
942
-
943
- .mdi-cash:before {
944
- content: "\f1e8";
945
- }
946
-
947
- .mdi-cash-100:before {
948
- content: "\f1e9";
949
- }
950
-
951
- .mdi-cash-multiple:before {
952
- content: "\f1ea";
953
- }
954
-
955
- .mdi-cash-usd:before {
956
- content: "\f1eb";
957
- }
958
-
959
- .mdi-cast:before {
960
- content: "\f1ec";
961
- }
962
-
963
- .mdi-cast-connected:before {
964
- content: "\f1ed";
965
- }
966
-
967
- .mdi-castle:before {
968
- content: "\f1ee";
969
- }
970
-
971
- .mdi-cat:before {
972
- content: "\f1ef";
973
- }
974
-
975
- .mdi-cellphone:before {
976
- content: "\f1f0";
977
- }
978
-
979
- .mdi-cellphone-android:before {
980
- content: "\f1f1";
981
- }
982
-
983
- .mdi-cellphone-dock:before {
984
- content: "\f1f2";
985
- }
986
-
987
- .mdi-cellphone-iphone:before {
988
- content: "\f1f3";
989
- }
990
-
991
- .mdi-cellphone-link:before {
992
- content: "\f1f4";
993
- }
994
-
995
- .mdi-cellphone-link-off:before {
996
- content: "\f1f5";
997
- }
998
-
999
- .mdi-cellphone-settings:before {
1000
- content: "\f1f6";
1001
- }
1002
-
1003
- .mdi-chair-school:before {
1004
- content: "\f1f7";
1005
- }
1006
-
1007
- .mdi-chart-arc:before {
1008
- content: "\f1f8";
1009
- }
1010
-
1011
- .mdi-chart-areaspline:before {
1012
- content: "\f1f9";
1013
- }
1014
-
1015
- .mdi-chart-bar:before {
1016
- content: "\f1fa";
1017
- }
1018
-
1019
- .mdi-chart-histogram:before {
1020
- content: "\f1fb";
1021
- }
1022
-
1023
- .mdi-chart-line:before {
1024
- content: "\f1fc";
1025
- }
1026
-
1027
- .mdi-chart-pie:before {
1028
- content: "\f1fd";
1029
- }
1030
-
1031
- .mdi-check:before {
1032
- content: "\f1fe";
1033
- }
1034
-
1035
- .mdi-check-all:before {
1036
- content: "\f1ff";
1037
- }
1038
-
1039
- .mdi-checkbox-blank:before {
1040
- content: "\f200";
1041
- }
1042
-
1043
- .mdi-checkbox-blank-circle:before {
1044
- content: "\f201";
1045
- }
1046
-
1047
- .mdi-checkbox-blank-circle-outline:before {
1048
- content: "\f202";
1049
- }
1050
-
1051
- .mdi-checkbox-blank-outline:before {
1052
- content: "\f203";
1053
- }
1054
-
1055
- .mdi-checkbox-marked:before {
1056
- content: "\f204";
1057
- }
1058
-
1059
- .mdi-checkbox-marked-circle:before {
1060
- content: "\f205";
1061
- }
1062
-
1063
- .mdi-checkbox-marked-circle-outline:before {
1064
- content: "\f206";
1065
- }
1066
-
1067
- .mdi-checkbox-marked-outline:before {
1068
- content: "\f207";
1069
- }
1070
-
1071
- .mdi-checkbox-multiple-blank:before {
1072
- content: "\f208";
1073
- }
1074
-
1075
- .mdi-checkbox-multiple-blank-outline:before {
1076
- content: "\f209";
1077
- }
1078
-
1079
- .mdi-checkbox-multiple-marked:before {
1080
- content: "\f20a";
1081
- }
1082
-
1083
- .mdi-checkbox-multiple-marked-outline:before {
1084
- content: "\f20b";
1085
- }
1086
-
1087
- .mdi-checkerboard:before {
1088
- content: "\f20c";
1089
- }
1090
-
1091
- .mdi-chevron-double-down:before {
1092
- content: "\f20d";
1093
- }
1094
-
1095
- .mdi-chevron-double-left:before {
1096
- content: "\f20e";
1097
- }
1098
-
1099
- .mdi-chevron-double-right:before {
1100
- content: "\f20f";
1101
- }
1102
-
1103
- .mdi-chevron-double-up:before {
1104
- content: "\f210";
1105
- }
1106
-
1107
- .mdi-chevron-down:before {
1108
- content: "\f211";
1109
- }
1110
-
1111
- .mdi-chevron-left:before {
1112
- content: "\f212";
1113
- }
1114
-
1115
- .mdi-chevron-right:before {
1116
- content: "\f213";
1117
- }
1118
-
1119
- .mdi-chevron-up:before {
1120
- content: "\f214";
1121
- }
1122
-
1123
- .mdi-church:before {
1124
- content: "\f215";
1125
- }
1126
-
1127
- .mdi-cisco-webex:before {
1128
- content: "\f216";
1129
- }
1130
-
1131
- .mdi-city:before {
1132
- content: "\f217";
1133
- }
1134
-
1135
- .mdi-clipboard:before {
1136
- content: "\f218";
1137
- }
1138
-
1139
- .mdi-clipboard-account:before {
1140
- content: "\f219";
1141
- }
1142
-
1143
- .mdi-clipboard-alert:before {
1144
- content: "\f21a";
1145
- }
1146
-
1147
- .mdi-clipboard-arrow-down:before {
1148
- content: "\f21b";
1149
- }
1150
-
1151
- .mdi-clipboard-arrow-left:before {
1152
- content: "\f21c";
1153
- }
1154
-
1155
- .mdi-clipboard-check:before {
1156
- content: "\f21d";
1157
- }
1158
-
1159
- .mdi-clipboard-outline:before {
1160
- content: "\f21e";
1161
- }
1162
-
1163
- .mdi-clipboard-text:before {
1164
- content: "\f21f";
1165
- }
1166
-
1167
- .mdi-clippy:before {
1168
- content: "\f220";
1169
- }
1170
-
1171
- .mdi-clock:before {
1172
- content: "\f221";
1173
- }
1174
-
1175
- .mdi-clock-fast:before {
1176
- content: "\f222";
1177
- }
1178
-
1179
- .mdi-close:before {
1180
- content: "\f223";
1181
- }
1182
-
1183
- .mdi-close-box:before {
1184
- content: "\f224";
1185
- }
1186
-
1187
- .mdi-close-box-outline:before {
1188
- content: "\f225";
1189
- }
1190
-
1191
- .mdi-close-circle:before {
1192
- content: "\f226";
1193
- }
1194
-
1195
- .mdi-close-circle-outline:before {
1196
- content: "\f227";
1197
- }
1198
-
1199
- .mdi-close-network:before {
1200
- content: "\f228";
1201
- }
1202
-
1203
- .mdi-closed-caption:before {
1204
- content: "\f229";
1205
- }
1206
-
1207
- .mdi-cloud:before {
1208
- content: "\f22a";
1209
- }
1210
-
1211
- .mdi-cloud-check:before {
1212
- content: "\f22b";
1213
- }
1214
-
1215
- .mdi-cloud-circle:before {
1216
- content: "\f22c";
1217
- }
1218
-
1219
- .mdi-cloud-download:before {
1220
- content: "\f22d";
1221
- }
1222
-
1223
- .mdi-cloud-outline:before {
1224
- content: "\f22e";
1225
- }
1226
-
1227
- .mdi-cloud-outline-off:before {
1228
- content: "\f22f";
1229
- }
1230
-
1231
- .mdi-cloud-upload:before {
1232
- content: "\f230";
1233
- }
1234
-
1235
- .mdi-code-array:before {
1236
- content: "\f231";
1237
- }
1238
-
1239
- .mdi-code-braces:before {
1240
- content: "\f232";
1241
- }
1242
-
1243
- .mdi-code-equal:before {
1244
- content: "\f233";
1245
- }
1246
-
1247
- .mdi-code-greater-than:before {
1248
- content: "\f234";
1249
- }
1250
-
1251
- .mdi-code-less-than:before {
1252
- content: "\f235";
1253
- }
1254
-
1255
- .mdi-code-less-than-or-equal:before {
1256
- content: "\f236";
1257
- }
1258
-
1259
- .mdi-code-not-equal:before {
1260
- content: "\f237";
1261
- }
1262
-
1263
- .mdi-code-not-equal-variant:before {
1264
- content: "\f238";
1265
- }
1266
-
1267
- .mdi-code-string:before {
1268
- content: "\f239";
1269
- }
1270
-
1271
- .mdi-code-tags:before {
1272
- content: "\f23a";
1273
- }
1274
-
1275
- .mdi-codepen:before {
1276
- content: "\f23b";
1277
- }
1278
-
1279
- .mdi-coffee:before {
1280
- content: "\f23c";
1281
- }
1282
-
1283
- .mdi-coffee-to-go:before {
1284
- content: "\f23d";
1285
- }
1286
-
1287
- .mdi-coin:before {
1288
- content: "\f23e";
1289
- }
1290
-
1291
- .mdi-color-helper:before {
1292
- content: "\f23f";
1293
- }
1294
-
1295
- .mdi-comment:before {
1296
- content: "\f240";
1297
- }
1298
-
1299
- .mdi-comment-account:before {
1300
- content: "\f241";
1301
- }
1302
-
1303
- .mdi-comment-account-outline:before {
1304
- content: "\f242";
1305
- }
1306
-
1307
- .mdi-comment-alert:before {
1308
- content: "\f243";
1309
- }
1310
-
1311
- .mdi-comment-alert-outline:before {
1312
- content: "\f244";
1313
- }
1314
-
1315
- .mdi-comment-check:before {
1316
- content: "\f245";
1317
- }
1318
-
1319
- .mdi-comment-check-outline:before {
1320
- content: "\f246";
1321
- }
1322
-
1323
- .mdi-comment-multiple-outline:before {
1324
- content: "\f247";
1325
- }
1326
-
1327
- .mdi-comment-outline:before {
1328
- content: "\f248";
1329
- }
1330
-
1331
- .mdi-comment-plus-outline:before {
1332
- content: "\f249";
1333
- }
1334
-
1335
- .mdi-comment-processing:before {
1336
- content: "\f24a";
1337
- }
1338
-
1339
- .mdi-comment-processing-outline:before {
1340
- content: "\f24b";
1341
- }
1342
-
1343
- .mdi-comment-remove-outline:before {
1344
- content: "\f24c";
1345
- }
1346
-
1347
- .mdi-comment-text:before {
1348
- content: "\f24d";
1349
- }
1350
-
1351
- .mdi-comment-text-outline:before {
1352
- content: "\f24e";
1353
- }
1354
-
1355
- .mdi-compare:before {
1356
- content: "\f24f";
1357
- }
1358
-
1359
- .mdi-compass:before {
1360
- content: "\f250";
1361
- }
1362
-
1363
- .mdi-compass-outline:before {
1364
- content: "\f251";
1365
- }
1366
-
1367
- .mdi-console:before {
1368
- content: "\f252";
1369
- }
1370
-
1371
- .mdi-content-copy:before {
1372
- content: "\f253";
1373
- }
1374
-
1375
- .mdi-content-cut:before {
1376
- content: "\f254";
1377
- }
1378
-
1379
- .mdi-content-duplicate:before {
1380
- content: "\f255";
1381
- }
1382
-
1383
- .mdi-content-paste:before {
1384
- content: "\f256";
1385
- }
1386
-
1387
- .mdi-content-save:before {
1388
- content: "\f257";
1389
- }
1390
-
1391
- .mdi-content-save-all:before {
1392
- content: "\f258";
1393
- }
1394
-
1395
- .mdi-contrast:before {
1396
- content: "\f259";
1397
- }
1398
-
1399
- .mdi-contrast-box:before {
1400
- content: "\f25a";
1401
- }
1402
-
1403
- .mdi-contrast-circle:before {
1404
- content: "\f25b";
1405
- }
1406
-
1407
- .mdi-cow:before {
1408
- content: "\f25c";
1409
- }
1410
-
1411
- .mdi-credit-card:before {
1412
- content: "\f25d";
1413
- }
1414
-
1415
- .mdi-credit-card-multiple:before {
1416
- content: "\f25e";
1417
- }
1418
-
1419
- .mdi-crop:before {
1420
- content: "\f25f";
1421
- }
1422
-
1423
- .mdi-crop-free:before {
1424
- content: "\f260";
1425
- }
1426
-
1427
- .mdi-crop-landscape:before {
1428
- content: "\f261";
1429
- }
1430
-
1431
- .mdi-crop-portrait:before {
1432
- content: "\f262";
1433
- }
1434
-
1435
- .mdi-crop-square:before {
1436
- content: "\f263";
1437
- }
1438
-
1439
- .mdi-crosshairs:before {
1440
- content: "\f264";
1441
- }
1442
-
1443
- .mdi-crosshairs-gps:before {
1444
- content: "\f265";
1445
- }
1446
-
1447
- .mdi-crown:before {
1448
- content: "\f266";
1449
- }
1450
-
1451
- .mdi-cube:before {
1452
- content: "\f267";
1453
- }
1454
-
1455
- .mdi-cube-outline:before {
1456
- content: "\f268";
1457
- }
1458
-
1459
- .mdi-cube-unfolded:before {
1460
- content: "\f269";
1461
- }
1462
-
1463
- .mdi-cup:before {
1464
- content: "\f26a";
1465
- }
1466
-
1467
- .mdi-cup-water:before {
1468
- content: "\f26b";
1469
- }
1470
-
1471
- .mdi-currency-btc:before {
1472
- content: "\f26c";
1473
- }
1474
-
1475
- .mdi-currency-eur:before {
1476
- content: "\f26d";
1477
- }
1478
-
1479
- .mdi-currency-gbp:before {
1480
- content: "\f26e";
1481
- }
1482
-
1483
- .mdi-currency-inr:before {
1484
- content: "\f26f";
1485
- }
1486
-
1487
- .mdi-currency-rub:before {
1488
- content: "\f270";
1489
- }
1490
-
1491
- .mdi-currency-try:before {
1492
- content: "\f271";
1493
- }
1494
-
1495
- .mdi-currency-usd:before {
1496
- content: "\f272";
1497
- }
1498
-
1499
- .mdi-cursor-default:before {
1500
- content: "\f273";
1501
- }
1502
-
1503
- .mdi-cursor-default-outline:before {
1504
- content: "\f274";
1505
- }
1506
-
1507
- .mdi-cursor-move:before {
1508
- content: "\f275";
1509
- }
1510
-
1511
- .mdi-cursor-pointer:before {
1512
- content: "\f276";
1513
- }
1514
-
1515
- .mdi-database:before {
1516
- content: "\f277";
1517
- }
1518
-
1519
- .mdi-database-minus:before {
1520
- content: "\f278";
1521
- }
1522
-
1523
- .mdi-database-outline:before {
1524
- content: "\f279";
1525
- }
1526
-
1527
- .mdi-database-plus:before {
1528
- content: "\f27a";
1529
- }
1530
-
1531
- .mdi-debug-step-into:before {
1532
- content: "\f27b";
1533
- }
1534
-
1535
- .mdi-debug-step-out:before {
1536
- content: "\f27c";
1537
- }
1538
-
1539
- .mdi-debug-step-over:before {
1540
- content: "\f27d";
1541
- }
1542
-
1543
- .mdi-decimal-decrease:before {
1544
- content: "\f27e";
1545
- }
1546
-
1547
- .mdi-decimal-increase:before {
1548
- content: "\f27f";
1549
- }
1550
-
1551
- .mdi-delete:before {
1552
- content: "\f280";
1553
- }
1554
-
1555
- .mdi-delete-variant:before {
1556
- content: "\f281";
1557
- }
1558
-
1559
- .mdi-deskphone:before {
1560
- content: "\f282";
1561
- }
1562
-
1563
- .mdi-desktop-mac:before {
1564
- content: "\f283";
1565
- }
1566
-
1567
- .mdi-desktop-tower:before {
1568
- content: "\f284";
1569
- }
1570
-
1571
- .mdi-details:before {
1572
- content: "\f285";
1573
- }
1574
-
1575
- .mdi-deviantart:before {
1576
- content: "\f286";
1577
- }
1578
-
1579
- .mdi-diamond:before {
1580
- content: "\f287";
1581
- }
1582
-
1583
- .mdi-dice:before {
1584
- content: "\f288";
1585
- }
1586
-
1587
- .mdi-dice-1:before {
1588
- content: "\f289";
1589
- }
1590
-
1591
- .mdi-dice-2:before {
1592
- content: "\f28a";
1593
- }
1594
-
1595
- .mdi-dice-3:before {
1596
- content: "\f28b";
1597
- }
1598
-
1599
- .mdi-dice-4:before {
1600
- content: "\f28c";
1601
- }
1602
-
1603
- .mdi-dice-5:before {
1604
- content: "\f28d";
1605
- }
1606
-
1607
- .mdi-dice-6:before {
1608
- content: "\f28e";
1609
- }
1610
-
1611
- .mdi-directions:before {
1612
- content: "\f28f";
1613
- }
1614
-
1615
- .mdi-disk-alert:before {
1616
- content: "\f290";
1617
- }
1618
-
1619
- .mdi-disqus:before {
1620
- content: "\f291";
1621
- }
1622
-
1623
- .mdi-disqus-outline:before {
1624
- content: "\f292";
1625
- }
1626
-
1627
- .mdi-division:before {
1628
- content: "\f293";
1629
- }
1630
-
1631
- .mdi-division-box:before {
1632
- content: "\f294";
1633
- }
1634
-
1635
- .mdi-dns:before {
1636
- content: "\f295";
1637
- }
1638
-
1639
- .mdi-domain:before {
1640
- content: "\f296";
1641
- }
1642
-
1643
- .mdi-dots-horizontal:before {
1644
- content: "\f297";
1645
- }
1646
-
1647
- .mdi-dots-vertical:before {
1648
- content: "\f298";
1649
- }
1650
-
1651
- .mdi-download:before {
1652
- content: "\f299";
1653
- }
1654
-
1655
- .mdi-drag:before {
1656
- content: "\f29a";
1657
- }
1658
-
1659
- .mdi-drag-horizontal:before {
1660
- content: "\f29b";
1661
- }
1662
-
1663
- .mdi-drag-vertical:before {
1664
- content: "\f29c";
1665
- }
1666
-
1667
- .mdi-drawing:before {
1668
- content: "\f29d";
1669
- }
1670
-
1671
- .mdi-drawing-box:before {
1672
- content: "\f29e";
1673
- }
1674
-
1675
- .mdi-dribbble:before {
1676
- content: "\f29f";
1677
- }
1678
-
1679
- .mdi-dribbble-box:before {
1680
- content: "\f2a0";
1681
- }
1682
-
1683
- .mdi-drone:before {
1684
- content: "\f2a1";
1685
- }
1686
-
1687
- .mdi-dropbox:before {
1688
- content: "\f2a2";
1689
- }
1690
-
1691
- .mdi-drupal:before {
1692
- content: "\f2a3";
1693
- }
1694
-
1695
- .mdi-duck:before {
1696
- content: "\f2a4";
1697
- }
1698
-
1699
- .mdi-dumbbell:before {
1700
- content: "\f2a5";
1701
- }
1702
-
1703
- .mdi-earth:before {
1704
- content: "\f2a6";
1705
- }
1706
-
1707
- .mdi-earth-off:before {
1708
- content: "\f2a7";
1709
- }
1710
-
1711
- .mdi-edge:before {
1712
- content: "\f2a8";
1713
- }
1714
-
1715
- .mdi-eject:before {
1716
- content: "\f2a9";
1717
- }
1718
-
1719
- .mdi-elevation-decline:before {
1720
- content: "\f2aa";
1721
- }
1722
-
1723
- .mdi-elevation-rise:before {
1724
- content: "\f2ab";
1725
- }
1726
-
1727
- .mdi-elevator:before {
1728
- content: "\f2ac";
1729
- }
1730
-
1731
- .mdi-email:before {
1732
- content: "\f2ad";
1733
- }
1734
-
1735
- .mdi-email-open:before {
1736
- content: "\f2ae";
1737
- }
1738
-
1739
- .mdi-email-outline:before {
1740
- content: "\f2af";
1741
- }
1742
-
1743
- .mdi-email-secure:before {
1744
- content: "\f2b0";
1745
- }
1746
-
1747
- .mdi-emoticon:before {
1748
- content: "\f2b1";
1749
- }
1750
-
1751
- .mdi-emoticon-cool:before {
1752
- content: "\f2b2";
1753
- }
1754
-
1755
- .mdi-emoticon-devil:before {
1756
- content: "\f2b3";
1757
- }
1758
-
1759
- .mdi-emoticon-happy:before {
1760
- content: "\f2b4";
1761
- }
1762
-
1763
- .mdi-emoticon-neutral:before {
1764
- content: "\f2b5";
1765
- }
1766
-
1767
- .mdi-emoticon-poop:before {
1768
- content: "\f2b6";
1769
- }
1770
-
1771
- .mdi-emoticon-sad:before {
1772
- content: "\f2b7";
1773
- }
1774
-
1775
- .mdi-emoticon-tongue:before {
1776
- content: "\f2b8";
1777
- }
1778
-
1779
- .mdi-engine:before {
1780
- content: "\f2b9";
1781
- }
1782
-
1783
- .mdi-engine-outline:before {
1784
- content: "\f2ba";
1785
- }
1786
-
1787
- .mdi-equal:before {
1788
- content: "\f2bb";
1789
- }
1790
-
1791
- .mdi-equal-box:before {
1792
- content: "\f2bc";
1793
- }
1794
-
1795
- .mdi-eraser:before {
1796
- content: "\f2bd";
1797
- }
1798
-
1799
- .mdi-escalator:before {
1800
- content: "\f2be";
1801
- }
1802
-
1803
- .mdi-etsy:before {
1804
- content: "\f2bf";
1805
- }
1806
-
1807
- .mdi-evernote:before {
1808
- content: "\f2c0";
1809
- }
1810
-
1811
- .mdi-exclamation:before {
1812
- content: "\f2c1";
1813
- }
1814
-
1815
- .mdi-exit-to-app:before {
1816
- content: "\f2c2";
1817
- }
1818
-
1819
- .mdi-export:before {
1820
- content: "\f2c3";
1821
- }
1822
-
1823
- .mdi-eye:before {
1824
- content: "\f2c4";
1825
- }
1826
-
1827
- .mdi-eye-off:before {
1828
- content: "\f2c5";
1829
- }
1830
-
1831
- .mdi-eyedropper:before {
1832
- content: "\f2c6";
1833
- }
1834
-
1835
- .mdi-eyedropper-variant:before {
1836
- content: "\f2c7";
1837
- }
1838
-
1839
- .mdi-facebook:before {
1840
- content: "\f2c8";
1841
- }
1842
-
1843
- .mdi-facebook-box:before {
1844
- content: "\f2c9";
1845
- }
1846
-
1847
- .mdi-facebook-messenger:before {
1848
- content: "\f2ca";
1849
- }
1850
-
1851
- .mdi-factory:before {
1852
- content: "\f2cb";
1853
- }
1854
-
1855
- .mdi-fan:before {
1856
- content: "\f2cc";
1857
- }
1858
-
1859
- .mdi-fast-forward:before {
1860
- content: "\f2cd";
1861
- }
1862
-
1863
- .mdi-ferry:before {
1864
- content: "\f2ce";
1865
- }
1866
-
1867
- .mdi-file:before {
1868
- content: "\f2cf";
1869
- }
1870
-
1871
- .mdi-file-cloud:before {
1872
- content: "\f2d0";
1873
- }
1874
-
1875
- .mdi-file-delimited:before {
1876
- content: "\f2d1";
1877
- }
1878
-
1879
- .mdi-file-document:before {
1880
- content: "\f2d2";
1881
- }
1882
-
1883
- .mdi-file-document-box:before {
1884
- content: "\f2d3";
1885
- }
1886
-
1887
- .mdi-file-excel:before {
1888
- content: "\f2d4";
1889
- }
1890
-
1891
- .mdi-file-excel-box:before {
1892
- content: "\f2d5";
1893
- }
1894
-
1895
- .mdi-file-find:before {
1896
- content: "\f2d6";
1897
- }
1898
-
1899
- .mdi-file-image:before {
1900
- content: "\f2d7";
1901
- }
1902
-
1903
- .mdi-file-image-box:before {
1904
- content: "\f2d8";
1905
- }
1906
-
1907
- .mdi-file-multiple:before {
1908
- content: "\f2d9";
1909
- }
1910
-
1911
- .mdi-file-music:before {
1912
- content: "\f2da";
1913
- }
1914
-
1915
- .mdi-file-outline:before {
1916
- content: "\f2db";
1917
- }
1918
-
1919
- .mdi-file-pdf:before {
1920
- content: "\f2dc";
1921
- }
1922
-
1923
- .mdi-file-pdf-box:before {
1924
- content: "\f2dd";
1925
- }
1926
-
1927
- .mdi-file-powerpoint:before {
1928
- content: "\f2de";
1929
- }
1930
-
1931
- .mdi-file-powerpoint-box:before {
1932
- content: "\f2df";
1933
- }
1934
-
1935
- .mdi-file-presentation-box:before {
1936
- content: "\f2e0";
1937
- }
1938
-
1939
- .mdi-file-video:before {
1940
- content: "\f2e1";
1941
- }
1942
-
1943
- .mdi-file-word:before {
1944
- content: "\f2e2";
1945
- }
1946
-
1947
- .mdi-file-word-box:before {
1948
- content: "\f2e3";
1949
- }
1950
-
1951
- .mdi-file-xml:before {
1952
- content: "\f2e4";
1953
- }
1954
-
1955
- .mdi-film:before {
1956
- content: "\f2e5";
1957
- }
1958
-
1959
- .mdi-filmstrip:before {
1960
- content: "\f2e6";
1961
- }
1962
-
1963
- .mdi-filmstrip-off:before {
1964
- content: "\f2e7";
1965
- }
1966
-
1967
- .mdi-filter:before {
1968
- content: "\f2e8";
1969
- }
1970
-
1971
- .mdi-filter-outline:before {
1972
- content: "\f2e9";
1973
- }
1974
-
1975
- .mdi-filter-remove:before {
1976
- content: "\f2ea";
1977
- }
1978
-
1979
- .mdi-filter-remove-outline:before {
1980
- content: "\f2eb";
1981
- }
1982
-
1983
- .mdi-filter-variant:before {
1984
- content: "\f2ec";
1985
- }
1986
-
1987
- .mdi-fire:before {
1988
- content: "\f2ed";
1989
- }
1990
-
1991
- .mdi-firefox:before {
1992
- content: "\f2ee";
1993
- }
1994
-
1995
- .mdi-fish:before {
1996
- content: "\f2ef";
1997
- }
1998
-
1999
- .mdi-flag:before {
2000
- content: "\f2f0";
2001
- }
2002
-
2003
- .mdi-flag-checkered:before {
2004
- content: "\f2f1";
2005
- }
2006
-
2007
- .mdi-flag-outline:before {
2008
- content: "\f2f2";
2009
- }
2010
-
2011
- .mdi-flag-outline-variant:before {
2012
- content: "\f2f3";
2013
- }
2014
-
2015
- .mdi-flag-triangle:before {
2016
- content: "\f2f4";
2017
- }
2018
-
2019
- .mdi-flag-variant:before {
2020
- content: "\f2f5";
2021
- }
2022
-
2023
- .mdi-flash:before {
2024
- content: "\f2f6";
2025
- }
2026
-
2027
- .mdi-flash-auto:before {
2028
- content: "\f2f7";
2029
- }
2030
-
2031
- .mdi-flash-off:before {
2032
- content: "\f2f8";
2033
- }
2034
-
2035
- .mdi-flashlight:before {
2036
- content: "\f2f9";
2037
- }
2038
-
2039
- .mdi-flashlight-off:before {
2040
- content: "\f2fa";
2041
- }
2042
-
2043
- .mdi-flattr:before {
2044
- content: "\f2fb";
2045
- }
2046
-
2047
- .mdi-flip-to-back:before {
2048
- content: "\f2fc";
2049
- }
2050
-
2051
- .mdi-flip-to-front:before {
2052
- content: "\f2fd";
2053
- }
2054
-
2055
- .mdi-floppy:before {
2056
- content: "\f2fe";
2057
- }
2058
-
2059
- .mdi-flower:before {
2060
- content: "\f2ff";
2061
- }
2062
-
2063
- .mdi-folder:before {
2064
- content: "\f300";
2065
- }
2066
-
2067
- .mdi-folder-account:before {
2068
- content: "\f301";
2069
- }
2070
-
2071
- .mdi-folder-download:before {
2072
- content: "\f302";
2073
- }
2074
-
2075
- .mdi-folder-google-drive:before {
2076
- content: "\f303";
2077
- }
2078
-
2079
- .mdi-folder-image:before {
2080
- content: "\f304";
2081
- }
2082
-
2083
- .mdi-folder-lock:before {
2084
- content: "\f305";
2085
- }
2086
-
2087
- .mdi-folder-lock-open:before {
2088
- content: "\f306";
2089
- }
2090
-
2091
- .mdi-folder-move:before {
2092
- content: "\f307";
2093
- }
2094
-
2095
- .mdi-folder-multiple:before {
2096
- content: "\f308";
2097
- }
2098
-
2099
- .mdi-folder-multiple-image:before {
2100
- content: "\f309";
2101
- }
2102
-
2103
- .mdi-folder-multiple-outline:before {
2104
- content: "\f30a";
2105
- }
2106
-
2107
- .mdi-folder-outline:before {
2108
- content: "\f30b";
2109
- }
2110
-
2111
- .mdi-folder-plus:before {
2112
- content: "\f30c";
2113
- }
2114
-
2115
- .mdi-folder-remove:before {
2116
- content: "\f30d";
2117
- }
2118
-
2119
- .mdi-folder-upload:before {
2120
- content: "\f30e";
2121
- }
2122
-
2123
- .mdi-food:before {
2124
- content: "\f30f";
2125
- }
2126
-
2127
- .mdi-food-apple:before {
2128
- content: "\f310";
2129
- }
2130
-
2131
- .mdi-food-variant:before {
2132
- content: "\f311";
2133
- }
2134
-
2135
- .mdi-football:before {
2136
- content: "\f312";
2137
- }
2138
-
2139
- .mdi-football-helmet:before {
2140
- content: "\f313";
2141
- }
2142
-
2143
- .mdi-format-align-center:before {
2144
- content: "\f314";
2145
- }
2146
-
2147
- .mdi-format-align-justify:before {
2148
- content: "\f315";
2149
- }
2150
-
2151
- .mdi-format-align-left:before {
2152
- content: "\f316";
2153
- }
2154
-
2155
- .mdi-format-align-right:before {
2156
- content: "\f317";
2157
- }
2158
-
2159
- .mdi-format-bold:before {
2160
- content: "\f318";
2161
- }
2162
-
2163
- .mdi-format-clear:before {
2164
- content: "\f319";
2165
- }
2166
-
2167
- .mdi-format-color-fill:before {
2168
- content: "\f31a";
2169
- }
2170
-
2171
- .mdi-format-float-center:before {
2172
- content: "\f31b";
2173
- }
2174
-
2175
- .mdi-format-float-left:before {
2176
- content: "\f31c";
2177
- }
2178
-
2179
- .mdi-format-float-none:before {
2180
- content: "\f31d";
2181
- }
2182
-
2183
- .mdi-format-float-right:before {
2184
- content: "\f31e";
2185
- }
2186
-
2187
- .mdi-format-header-1:before {
2188
- content: "\f31f";
2189
- }
2190
-
2191
- .mdi-format-header-2:before {
2192
- content: "\f320";
2193
- }
2194
-
2195
- .mdi-format-header-3:before {
2196
- content: "\f321";
2197
- }
2198
-
2199
- .mdi-format-header-4:before {
2200
- content: "\f322";
2201
- }
2202
-
2203
- .mdi-format-header-5:before {
2204
- content: "\f323";
2205
- }
2206
-
2207
- .mdi-format-header-6:before {
2208
- content: "\f324";
2209
- }
2210
-
2211
- .mdi-format-header-decrease:before {
2212
- content: "\f325";
2213
- }
2214
-
2215
- .mdi-format-header-equal:before {
2216
- content: "\f326";
2217
- }
2218
-
2219
- .mdi-format-header-increase:before {
2220
- content: "\f327";
2221
- }
2222
-
2223
- .mdi-format-header-pound:before {
2224
- content: "\f328";
2225
- }
2226
-
2227
- .mdi-format-indent-decrease:before {
2228
- content: "\f329";
2229
- }
2230
-
2231
- .mdi-format-indent-increase:before {
2232
- content: "\f32a";
2233
- }
2234
-
2235
- .mdi-format-italic:before {
2236
- content: "\f32b";
2237
- }
2238
-
2239
- .mdi-format-line-spacing:before {
2240
- content: "\f32c";
2241
- }
2242
-
2243
- .mdi-format-list-bulleted:before {
2244
- content: "\f32d";
2245
- }
2246
-
2247
- .mdi-format-list-numbers:before {
2248
- content: "\f32e";
2249
- }
2250
-
2251
- .mdi-format-paint:before {
2252
- content: "\f32f";
2253
- }
2254
-
2255
- .mdi-format-paragraph:before {
2256
- content: "\f330";
2257
- }
2258
-
2259
- .mdi-format-quote:before {
2260
- content: "\f331";
2261
- }
2262
-
2263
- .mdi-format-size:before {
2264
- content: "\f332";
2265
- }
2266
-
2267
- .mdi-format-strikethrough:before {
2268
- content: "\f333";
2269
- }
2270
-
2271
- .mdi-format-subscript:before {
2272
- content: "\f334";
2273
- }
2274
-
2275
- .mdi-format-superscript:before {
2276
- content: "\f335";
2277
- }
2278
-
2279
- .mdi-format-text:before {
2280
- content: "\f336";
2281
- }
2282
-
2283
- .mdi-format-textdirection-l-to-r:before {
2284
- content: "\f337";
2285
- }
2286
-
2287
- .mdi-format-textdirection-r-to-l:before {
2288
- content: "\f338";
2289
- }
2290
-
2291
- .mdi-format-underline:before {
2292
- content: "\f339";
2293
- }
2294
-
2295
- .mdi-format-wrap-inline:before {
2296
- content: "\f33a";
2297
- }
2298
-
2299
- .mdi-format-wrap-square:before {
2300
- content: "\f33b";
2301
- }
2302
-
2303
- .mdi-format-wrap-tight:before {
2304
- content: "\f33c";
2305
- }
2306
-
2307
- .mdi-format-wrap-top-bottom:before {
2308
- content: "\f33d";
2309
- }
2310
-
2311
- .mdi-forum:before {
2312
- content: "\f33e";
2313
- }
2314
-
2315
- .mdi-forward:before {
2316
- content: "\f33f";
2317
- }
2318
-
2319
- .mdi-foursquare:before {
2320
- content: "\f340";
2321
- }
2322
-
2323
- .mdi-fridge:before {
2324
- content: "\f341";
2325
- }
2326
-
2327
- .mdi-fullscreen:before {
2328
- content: "\f342";
2329
- }
2330
-
2331
- .mdi-fullscreen-exit:before {
2332
- content: "\f343";
2333
- }
2334
-
2335
- .mdi-function:before {
2336
- content: "\f344";
2337
- }
2338
-
2339
- .mdi-gamepad:before {
2340
- content: "\f345";
2341
- }
2342
-
2343
- .mdi-gamepad-variant:before {
2344
- content: "\f346";
2345
- }
2346
-
2347
- .mdi-gas-station:before {
2348
- content: "\f347";
2349
- }
2350
-
2351
- .mdi-gavel:before {
2352
- content: "\f348";
2353
- }
2354
-
2355
- .mdi-gender-female:before {
2356
- content: "\f349";
2357
- }
2358
-
2359
- .mdi-gender-male:before {
2360
- content: "\f34a";
2361
- }
2362
-
2363
- .mdi-gender-male-female:before {
2364
- content: "\f34b";
2365
- }
2366
-
2367
- .mdi-gender-transgender:before {
2368
- content: "\f34c";
2369
- }
2370
-
2371
- .mdi-gift:before {
2372
- content: "\f34d";
2373
- }
2374
-
2375
- .mdi-git:before {
2376
- content: "\f34e";
2377
- }
2378
-
2379
- .mdi-github-box:before {
2380
- content: "\f34f";
2381
- }
2382
-
2383
- .mdi-github-circle:before {
2384
- content: "\f350";
2385
- }
2386
-
2387
- .mdi-glass-flute:before {
2388
- content: "\f351";
2389
- }
2390
-
2391
- .mdi-glass-mug:before {
2392
- content: "\f352";
2393
- }
2394
-
2395
- .mdi-glass-stange:before {
2396
- content: "\f353";
2397
- }
2398
-
2399
- .mdi-glass-tulip:before {
2400
- content: "\f354";
2401
- }
2402
-
2403
- .mdi-glasses:before {
2404
- content: "\f355";
2405
- }
2406
-
2407
- .mdi-gmail:before {
2408
- content: "\f356";
2409
- }
2410
-
2411
- .mdi-google:before {
2412
- content: "\f357";
2413
- }
2414
-
2415
- .mdi-google-chrome:before {
2416
- content: "\f358";
2417
- }
2418
-
2419
- .mdi-google-circles:before {
2420
- content: "\f359";
2421
- }
2422
-
2423
- .mdi-google-circles-communities:before {
2424
- content: "\f35a";
2425
- }
2426
-
2427
- .mdi-google-circles-extended:before {
2428
- content: "\f35b";
2429
- }
2430
-
2431
- .mdi-google-circles-group:before {
2432
- content: "\f35c";
2433
- }
2434
-
2435
- .mdi-google-controller:before {
2436
- content: "\f35d";
2437
- }
2438
-
2439
- .mdi-google-controller-off:before {
2440
- content: "\f35e";
2441
- }
2442
-
2443
- .mdi-google-drive:before {
2444
- content: "\f35f";
2445
- }
2446
-
2447
- .mdi-google-earth:before {
2448
- content: "\f360";
2449
- }
2450
-
2451
- .mdi-google-glass:before {
2452
- content: "\f361";
2453
- }
2454
-
2455
- .mdi-google-maps:before {
2456
- content: "\f362";
2457
- }
2458
-
2459
- .mdi-google-pages:before {
2460
- content: "\f363";
2461
- }
2462
-
2463
- .mdi-google-play:before {
2464
- content: "\f364";
2465
- }
2466
-
2467
- .mdi-google-plus:before {
2468
- content: "\f365";
2469
- }
2470
-
2471
- .mdi-google-plus-box:before {
2472
- content: "\f366";
2473
- }
2474
-
2475
- .mdi-grid:before {
2476
- content: "\f367";
2477
- }
2478
-
2479
- .mdi-grid-off:before {
2480
- content: "\f368";
2481
- }
2482
-
2483
- .mdi-group:before {
2484
- content: "\f369";
2485
- }
2486
-
2487
- .mdi-guitar:before {
2488
- content: "\f36a";
2489
- }
2490
-
2491
- .mdi-guitar-pick:before {
2492
- content: "\f36b";
2493
- }
2494
-
2495
- .mdi-guitar-pick-outline:before {
2496
- content: "\f36c";
2497
- }
2498
-
2499
- .mdi-hand-pointing-right:before {
2500
- content: "\f36d";
2501
- }
2502
-
2503
- .mdi-hanger:before {
2504
- content: "\f36e";
2505
- }
2506
-
2507
- .mdi-hangouts:before {
2508
- content: "\f36f";
2509
- }
2510
-
2511
- .mdi-harddisk:before {
2512
- content: "\f370";
2513
- }
2514
-
2515
- .mdi-headphones:before {
2516
- content: "\f371";
2517
- }
2518
-
2519
- .mdi-headphones-box:before {
2520
- content: "\f372";
2521
- }
2522
-
2523
- .mdi-headphones-settings:before {
2524
- content: "\f373";
2525
- }
2526
-
2527
- .mdi-headset:before {
2528
- content: "\f374";
2529
- }
2530
-
2531
- .mdi-headset-dock:before {
2532
- content: "\f375";
2533
- }
2534
-
2535
- .mdi-headset-off:before {
2536
- content: "\f376";
2537
- }
2538
-
2539
- .mdi-heart:before {
2540
- content: "\f377";
2541
- }
2542
-
2543
- .mdi-heart-box:before {
2544
- content: "\f378";
2545
- }
2546
-
2547
- .mdi-heart-box-outline:before {
2548
- content: "\f379";
2549
- }
2550
-
2551
- .mdi-heart-broken:before {
2552
- content: "\f37a";
2553
- }
2554
-
2555
- .mdi-heart-outline:before {
2556
- content: "\f37b";
2557
- }
2558
-
2559
- .mdi-help:before {
2560
- content: "\f37c";
2561
- }
2562
-
2563
- .mdi-help-circle:before {
2564
- content: "\f37d";
2565
- }
2566
-
2567
- .mdi-hexagon:before {
2568
- content: "\f37e";
2569
- }
2570
-
2571
- .mdi-hexagon-outline:before {
2572
- content: "\f37f";
2573
- }
2574
-
2575
- .mdi-history:before {
2576
- content: "\f380";
2577
- }
2578
-
2579
- .mdi-hololens:before {
2580
- content: "\f381";
2581
- }
2582
-
2583
- .mdi-home:before {
2584
- content: "\f382";
2585
- }
2586
-
2587
- .mdi-home-modern:before {
2588
- content: "\f383";
2589
- }
2590
-
2591
- .mdi-home-variant:before {
2592
- content: "\f384";
2593
- }
2594
-
2595
- .mdi-hops:before {
2596
- content: "\f385";
2597
- }
2598
-
2599
- .mdi-hospital:before {
2600
- content: "\f386";
2601
- }
2602
-
2603
- .mdi-hospital-building:before {
2604
- content: "\f387";
2605
- }
2606
-
2607
- .mdi-hospital-marker:before {
2608
- content: "\f388";
2609
- }
2610
-
2611
- .mdi-hotel:before {
2612
- content: "\f389";
2613
- }
2614
-
2615
- .mdi-houzz:before {
2616
- content: "\f38a";
2617
- }
2618
-
2619
- .mdi-houzz-box:before {
2620
- content: "\f38b";
2621
- }
2622
-
2623
- .mdi-human:before {
2624
- content: "\f38c";
2625
- }
2626
-
2627
- .mdi-human-child:before {
2628
- content: "\f38d";
2629
- }
2630
-
2631
- .mdi-human-male-female:before {
2632
- content: "\f38e";
2633
- }
2634
-
2635
- .mdi-image-album:before {
2636
- content: "\f38f";
2637
- }
2638
-
2639
- .mdi-image-area:before {
2640
- content: "\f390";
2641
- }
2642
-
2643
- .mdi-image-area-close:before {
2644
- content: "\f391";
2645
- }
2646
-
2647
- .mdi-image-broken:before {
2648
- content: "\f392";
2649
- }
2650
-
2651
- .mdi-image-filter:before {
2652
- content: "\f393";
2653
- }
2654
-
2655
- .mdi-image-filter-black-white:before {
2656
- content: "\f394";
2657
- }
2658
-
2659
- .mdi-image-filter-center-focus:before {
2660
- content: "\f395";
2661
- }
2662
-
2663
- .mdi-image-filter-drama:before {
2664
- content: "\f396";
2665
- }
2666
-
2667
- .mdi-image-filter-frames:before {
2668
- content: "\f397";
2669
- }
2670
-
2671
- .mdi-image-filter-hdr:before {
2672
- content: "\f398";
2673
- }
2674
-
2675
- .mdi-image-filter-none:before {
2676
- content: "\f399";
2677
- }
2678
-
2679
- .mdi-image-filter-tilt-shift:before {
2680
- content: "\f39a";
2681
- }
2682
-
2683
- .mdi-image-filter-vintage:before {
2684
- content: "\f39b";
2685
- }
2686
-
2687
- .mdi-import:before {
2688
- content: "\f39c";
2689
- }
2690
-
2691
- .mdi-inbox:before {
2692
- content: "\f39d";
2693
- }
2694
-
2695
- .mdi-information:before {
2696
- content: "\f39e";
2697
- }
2698
-
2699
- .mdi-information-outline:before {
2700
- content: "\f39f";
2701
- }
2702
-
2703
- .mdi-instagram:before {
2704
- content: "\f3a0";
2705
- }
2706
-
2707
- .mdi-instapaper:before {
2708
- content: "\f3a1";
2709
- }
2710
-
2711
- .mdi-internet-explorer:before {
2712
- content: "\f3a2";
2713
- }
2714
-
2715
- .mdi-invert-colors:before {
2716
- content: "\f3a3";
2717
- }
2718
-
2719
- .mdi-jira:before {
2720
- content: "\f3a4";
2721
- }
2722
-
2723
- .mdi-jsfiddle:before {
2724
- content: "\f3a5";
2725
- }
2726
-
2727
- .mdi-keg:before {
2728
- content: "\f3a6";
2729
- }
2730
-
2731
- .mdi-key:before {
2732
- content: "\f3a7";
2733
- }
2734
-
2735
- .mdi-key-change:before {
2736
- content: "\f3a8";
2737
- }
2738
-
2739
- .mdi-key-minus:before {
2740
- content: "\f3a9";
2741
- }
2742
-
2743
- .mdi-key-plus:before {
2744
- content: "\f3aa";
2745
- }
2746
-
2747
- .mdi-key-remove:before {
2748
- content: "\f3ab";
2749
- }
2750
-
2751
- .mdi-key-variant:before {
2752
- content: "\f3ac";
2753
- }
2754
-
2755
- .mdi-keyboard:before {
2756
- content: "\f3ad";
2757
- }
2758
-
2759
- .mdi-keyboard-backspace:before {
2760
- content: "\f3ae";
2761
- }
2762
-
2763
- .mdi-keyboard-caps:before {
2764
- content: "\f3af";
2765
- }
2766
-
2767
- .mdi-keyboard-close:before {
2768
- content: "\f3b0";
2769
- }
2770
-
2771
- .mdi-keyboard-off:before {
2772
- content: "\f3b1";
2773
- }
2774
-
2775
- .mdi-keyboard-return:before {
2776
- content: "\f3b2";
2777
- }
2778
-
2779
- .mdi-keyboard-tab:before {
2780
- content: "\f3b3";
2781
- }
2782
-
2783
- .mdi-keyboard-variant:before {
2784
- content: "\f3b4";
2785
- }
2786
-
2787
- .mdi-label:before {
2788
- content: "\f3b5";
2789
- }
2790
-
2791
- .mdi-label-outline:before {
2792
- content: "\f3b6";
2793
- }
2794
-
2795
- .mdi-language-csharp:before {
2796
- content: "\f3b7";
2797
- }
2798
-
2799
- .mdi-language-css3:before {
2800
- content: "\f3b8";
2801
- }
2802
-
2803
- .mdi-language-html5:before {
2804
- content: "\f3b9";
2805
- }
2806
-
2807
- .mdi-language-javascript:before {
2808
- content: "\f3ba";
2809
- }
2810
-
2811
- .mdi-language-python:before {
2812
- content: "\f3bb";
2813
- }
2814
-
2815
- .mdi-language-python-text:before {
2816
- content: "\f3bc";
2817
- }
2818
-
2819
- .mdi-laptop:before {
2820
- content: "\f3bd";
2821
- }
2822
-
2823
- .mdi-laptop-chromebook:before {
2824
- content: "\f3be";
2825
- }
2826
-
2827
- .mdi-laptop-mac:before {
2828
- content: "\f3bf";
2829
- }
2830
-
2831
- .mdi-laptop-windows:before {
2832
- content: "\f3c0";
2833
- }
2834
-
2835
- .mdi-lastfm:before {
2836
- content: "\f3c1";
2837
- }
2838
-
2839
- .mdi-launch:before {
2840
- content: "\f3c2";
2841
- }
2842
-
2843
- .mdi-layers:before {
2844
- content: "\f3c3";
2845
- }
2846
-
2847
- .mdi-layers-off:before {
2848
- content: "\f3c4";
2849
- }
2850
-
2851
- .mdi-leaf:before {
2852
- content: "\f3c5";
2853
- }
2854
-
2855
- .mdi-library:before {
2856
- content: "\f3c6";
2857
- }
2858
-
2859
- .mdi-library-books:before {
2860
- content: "\f3c7";
2861
- }
2862
-
2863
- .mdi-library-music:before {
2864
- content: "\f3c8";
2865
- }
2866
-
2867
- .mdi-library-plus:before {
2868
- content: "\f3c9";
2869
- }
2870
-
2871
- .mdi-lightbulb:before {
2872
- content: "\f3ca";
2873
- }
2874
-
2875
- .mdi-lightbulb-outline:before {
2876
- content: "\f3cb";
2877
- }
2878
-
2879
- .mdi-link:before {
2880
- content: "\f3cc";
2881
- }
2882
-
2883
- .mdi-link-off:before {
2884
- content: "\f3cd";
2885
- }
2886
-
2887
- .mdi-link-variant:before {
2888
- content: "\f3ce";
2889
- }
2890
-
2891
- .mdi-link-variant-off:before {
2892
- content: "\f3cf";
2893
- }
2894
-
2895
- .mdi-linkedin:before {
2896
- content: "\f3d0";
2897
- }
2898
-
2899
- .mdi-linkedin-box:before {
2900
- content: "\f3d1";
2901
- }
2902
-
2903
- .mdi-linux:before {
2904
- content: "\f3d2";
2905
- }
2906
-
2907
- .mdi-lock:before {
2908
- content: "\f3d3";
2909
- }
2910
-
2911
- .mdi-lock-open:before {
2912
- content: "\f3d4";
2913
- }
2914
-
2915
- .mdi-lock-open-outline:before {
2916
- content: "\f3d5";
2917
- }
2918
-
2919
- .mdi-lock-outline:before {
2920
- content: "\f3d6";
2921
- }
2922
-
2923
- .mdi-login:before {
2924
- content: "\f3d7";
2925
- }
2926
-
2927
- .mdi-logout:before {
2928
- content: "\f3d8";
2929
- }
2930
-
2931
- .mdi-looks:before {
2932
- content: "\f3d9";
2933
- }
2934
-
2935
- .mdi-loupe:before {
2936
- content: "\f3da";
2937
- }
2938
-
2939
- .mdi-lumx:before {
2940
- content: "\f3db";
2941
- }
2942
-
2943
- .mdi-magnet:before {
2944
- content: "\f3dc";
2945
- }
2946
-
2947
- .mdi-magnet-on:before {
2948
- content: "\f3dd";
2949
- }
2950
-
2951
- .mdi-magnify:before {
2952
- content: "\f3de";
2953
- }
2954
-
2955
- .mdi-magnify-minus:before {
2956
- content: "\f3df";
2957
- }
2958
-
2959
- .mdi-magnify-plus:before {
2960
- content: "\f3e0";
2961
- }
2962
-
2963
- .mdi-mail-ru:before {
2964
- content: "\f3e1";
2965
- }
2966
-
2967
- .mdi-map:before {
2968
- content: "\f3e2";
2969
- }
2970
-
2971
- .mdi-map-marker:before {
2972
- content: "\f3e3";
2973
- }
2974
-
2975
- .mdi-map-marker-circle:before {
2976
- content: "\f3e4";
2977
- }
2978
-
2979
- .mdi-map-marker-multiple:before {
2980
- content: "\f3e5";
2981
- }
2982
-
2983
- .mdi-map-marker-off:before {
2984
- content: "\f3e6";
2985
- }
2986
-
2987
- .mdi-map-marker-radius:before {
2988
- content: "\f3e7";
2989
- }
2990
-
2991
- .mdi-margin:before {
2992
- content: "\f3e8";
2993
- }
2994
-
2995
- .mdi-markdown:before {
2996
- content: "\f3e9";
2997
- }
2998
-
2999
- .mdi-marker-check:before {
3000
- content: "\f3ea";
3001
- }
3002
-
3003
- .mdi-martini:before {
3004
- content: "\f3eb";
3005
- }
3006
-
3007
- .mdi-material-ui:before {
3008
- content: "\f3ec";
3009
- }
3010
-
3011
- .mdi-math-compass:before {
3012
- content: "\f3ed";
3013
- }
3014
-
3015
- .mdi-maxcdn:before {
3016
- content: "\f3ee";
3017
- }
3018
-
3019
- .mdi-medium:before {
3020
- content: "\f3ef";
3021
- }
3022
-
3023
- .mdi-memory:before {
3024
- content: "\f3f0";
3025
- }
3026
-
3027
- .mdi-menu:before {
3028
- content: "\f3f1";
3029
- }
3030
-
3031
- .mdi-menu-down:before {
3032
- content: "\f3f2";
3033
- }
3034
-
3035
- .mdi-menu-left:before {
3036
- content: "\f3f3";
3037
- }
3038
-
3039
- .mdi-menu-right:before {
3040
- content: "\f3f4";
3041
- }
3042
-
3043
- .mdi-menu-up:before {
3044
- content: "\f3f5";
3045
- }
3046
-
3047
- .mdi-message:before {
3048
- content: "\f3f6";
3049
- }
3050
-
3051
- .mdi-message-alert:before {
3052
- content: "\f3f7";
3053
- }
3054
-
3055
- .mdi-message-draw:before {
3056
- content: "\f3f8";
3057
- }
3058
-
3059
- .mdi-message-image:before {
3060
- content: "\f3f9";
3061
- }
3062
-
3063
- .mdi-message-processing:before {
3064
- content: "\f3fa";
3065
- }
3066
-
3067
- .mdi-message-reply:before {
3068
- content: "\f3fb";
3069
- }
3070
-
3071
- .mdi-message-text:before {
3072
- content: "\f3fc";
3073
- }
3074
-
3075
- .mdi-message-text-outline:before {
3076
- content: "\f3fd";
3077
- }
3078
-
3079
- .mdi-message-video:before {
3080
- content: "\f3fe";
3081
- }
3082
-
3083
- .mdi-microphone:before {
3084
- content: "\f3ff";
3085
- }
3086
-
3087
- .mdi-microphone-off:before {
3088
- content: "\f400";
3089
- }
3090
-
3091
- .mdi-microphone-outline:before {
3092
- content: "\f401";
3093
- }
3094
-
3095
- .mdi-microphone-settings:before {
3096
- content: "\f402";
3097
- }
3098
-
3099
- .mdi-microphone-variant:before {
3100
- content: "\f403";
3101
- }
3102
-
3103
- .mdi-microphone-variant-off:before {
3104
- content: "\f404";
3105
- }
3106
-
3107
- .mdi-minus:before {
3108
- content: "\f405";
3109
- }
3110
-
3111
- .mdi-minus-box:before {
3112
- content: "\f406";
3113
- }
3114
-
3115
- .mdi-minus-circle:before {
3116
- content: "\f407";
3117
- }
3118
-
3119
- .mdi-minus-circle-outline:before {
3120
- content: "\f408";
3121
- }
3122
-
3123
- .mdi-minus-network:before {
3124
- content: "\f409";
3125
- }
3126
-
3127
- .mdi-monitor:before {
3128
- content: "\f40a";
3129
- }
3130
-
3131
- .mdi-monitor-multiple:before {
3132
- content: "\f40b";
3133
- }
3134
-
3135
- .mdi-more:before {
3136
- content: "\f40c";
3137
- }
3138
-
3139
- .mdi-motorbike:before {
3140
- content: "\f40d";
3141
- }
3142
-
3143
- .mdi-mouse:before {
3144
- content: "\f40e";
3145
- }
3146
-
3147
- .mdi-mouse-off:before {
3148
- content: "\f40f";
3149
- }
3150
-
3151
- .mdi-mouse-variant:before {
3152
- content: "\f410";
3153
- }
3154
-
3155
- .mdi-mouse-variant-off:before {
3156
- content: "\f411";
3157
- }
3158
-
3159
- .mdi-movie:before {
3160
- content: "\f412";
3161
- }
3162
-
3163
- .mdi-multiplication:before {
3164
- content: "\f413";
3165
- }
3166
-
3167
- .mdi-multiplication-box:before {
3168
- content: "\f414";
3169
- }
3170
-
3171
- .mdi-music-box:before {
3172
- content: "\f415";
3173
- }
3174
-
3175
- .mdi-music-box-outline:before {
3176
- content: "\f416";
3177
- }
3178
-
3179
- .mdi-music-circle:before {
3180
- content: "\f417";
3181
- }
3182
-
3183
- .mdi-music-note:before {
3184
- content: "\f418";
3185
- }
3186
-
3187
- .mdi-music-note-eighth:before {
3188
- content: "\f419";
3189
- }
3190
-
3191
- .mdi-music-note-half:before {
3192
- content: "\f41a";
3193
- }
3194
-
3195
- .mdi-music-note-off:before {
3196
- content: "\f41b";
3197
- }
3198
-
3199
- .mdi-music-note-quarter:before {
3200
- content: "\f41c";
3201
- }
3202
-
3203
- .mdi-music-note-sixteenth:before {
3204
- content: "\f41d";
3205
- }
3206
-
3207
- .mdi-music-note-whole:before {
3208
- content: "\f41e";
3209
- }
3210
-
3211
- .mdi-nature:before {
3212
- content: "\f41f";
3213
- }
3214
-
3215
- .mdi-nature-people:before {
3216
- content: "\f420";
3217
- }
3218
-
3219
- .mdi-navigation:before {
3220
- content: "\f421";
3221
- }
3222
-
3223
- .mdi-needle:before {
3224
- content: "\f422";
3225
- }
3226
-
3227
- .mdi-nest-protect:before {
3228
- content: "\f423";
3229
- }
3230
-
3231
- .mdi-nest-thermostat:before {
3232
- content: "\f424";
3233
- }
3234
-
3235
- .mdi-newspaper:before {
3236
- content: "\f425";
3237
- }
3238
-
3239
- .mdi-nfc:before {
3240
- content: "\f426";
3241
- }
3242
-
3243
- .mdi-nfc-tap:before {
3244
- content: "\f427";
3245
- }
3246
-
3247
- .mdi-nfc-variant:before {
3248
- content: "\f428";
3249
- }
3250
-
3251
- .mdi-note:before {
3252
- content: "\f429";
3253
- }
3254
-
3255
- .mdi-note-outline:before {
3256
- content: "\f42a";
3257
- }
3258
-
3259
- .mdi-note-text:before {
3260
- content: "\f42b";
3261
- }
3262
-
3263
- .mdi-numeric:before {
3264
- content: "\f42c";
3265
- }
3266
-
3267
- .mdi-numeric-0-box:before {
3268
- content: "\f42d";
3269
- }
3270
-
3271
- .mdi-numeric-0-box-multiple-outline:before {
3272
- content: "\f42e";
3273
- }
3274
-
3275
- .mdi-numeric-0-box-outline:before {
3276
- content: "\f42f";
3277
- }
3278
-
3279
- .mdi-numeric-1-box:before {
3280
- content: "\f430";
3281
- }
3282
-
3283
- .mdi-numeric-1-box-multiple-outline:before {
3284
- content: "\f431";
3285
- }
3286
-
3287
- .mdi-numeric-1-box-outline:before {
3288
- content: "\f432";
3289
- }
3290
-
3291
- .mdi-numeric-2-box:before {
3292
- content: "\f433";
3293
- }
3294
-
3295
- .mdi-numeric-2-box-multiple-outline:before {
3296
- content: "\f434";
3297
- }
3298
-
3299
- .mdi-numeric-2-box-outline:before {
3300
- content: "\f435";
3301
- }
3302
-
3303
- .mdi-numeric-3-box:before {
3304
- content: "\f436";
3305
- }
3306
-
3307
- .mdi-numeric-3-box-multiple-outline:before {
3308
- content: "\f437";
3309
- }
3310
-
3311
- .mdi-numeric-3-box-outline:before {
3312
- content: "\f438";
3313
- }
3314
-
3315
- .mdi-numeric-4-box:before {
3316
- content: "\f439";
3317
- }
3318
-
3319
- .mdi-numeric-4-box-multiple-outline:before {
3320
- content: "\f43a";
3321
- }
3322
-
3323
- .mdi-numeric-4-box-outline:before {
3324
- content: "\f43b";
3325
- }
3326
-
3327
- .mdi-numeric-5-box:before {
3328
- content: "\f43c";
3329
- }
3330
-
3331
- .mdi-numeric-5-box-multiple-outline:before {
3332
- content: "\f43d";
3333
- }
3334
-
3335
- .mdi-numeric-5-box-outline:before {
3336
- content: "\f43e";
3337
- }
3338
-
3339
- .mdi-numeric-6-box:before {
3340
- content: "\f43f";
3341
- }
3342
-
3343
- .mdi-numeric-6-box-multiple-outline:before {
3344
- content: "\f440";
3345
- }
3346
-
3347
- .mdi-numeric-6-box-outline:before {
3348
- content: "\f441";
3349
- }
3350
-
3351
- .mdi-numeric-7-box:before {
3352
- content: "\f442";
3353
- }
3354
-
3355
- .mdi-numeric-7-box-multiple-outline:before {
3356
- content: "\f443";
3357
- }
3358
-
3359
- .mdi-numeric-7-box-outline:before {
3360
- content: "\f444";
3361
- }
3362
-
3363
- .mdi-numeric-8-box:before {
3364
- content: "\f445";
3365
- }
3366
-
3367
- .mdi-numeric-8-box-multiple-outline:before {
3368
- content: "\f446";
3369
- }
3370
-
3371
- .mdi-numeric-8-box-outline:before {
3372
- content: "\f447";
3373
- }
3374
-
3375
- .mdi-numeric-9-box:before {
3376
- content: "\f448";
3377
- }
3378
-
3379
- .mdi-numeric-9-box-multiple-outline:before {
3380
- content: "\f449";
3381
- }
3382
-
3383
- .mdi-numeric-9-box-outline:before {
3384
- content: "\f44a";
3385
- }
3386
-
3387
- .mdi-numeric-9-plus-box:before {
3388
- content: "\f44b";
3389
- }
3390
-
3391
- .mdi-numeric-9-plus-box-multiple-outline:before {
3392
- content: "\f44c";
3393
- }
3394
-
3395
- .mdi-numeric-9-plus-box-outline:before {
3396
- content: "\f44d";
3397
- }
3398
-
3399
- .mdi-nutriton:before {
3400
- content: "\f44e";
3401
- }
3402
-
3403
- .mdi-odnoklassniki:before {
3404
- content: "\f44f";
3405
- }
3406
-
3407
- .mdi-office:before {
3408
- content: "\f450";
3409
- }
3410
-
3411
- .mdi-oil:before {
3412
- content: "\f451";
3413
- }
3414
-
3415
- .mdi-omega:before {
3416
- content: "\f452";
3417
- }
3418
-
3419
- .mdi-onedrive:before {
3420
- content: "\f453";
3421
- }
3422
-
3423
- .mdi-open-in-app:before {
3424
- content: "\f454";
3425
- }
3426
-
3427
- .mdi-open-in-new:before {
3428
- content: "\f455";
3429
- }
3430
-
3431
- .mdi-ornament:before {
3432
- content: "\f456";
3433
- }
3434
-
3435
- .mdi-ornament-variant:before {
3436
- content: "\f457";
3437
- }
3438
-
3439
- .mdi-outbox:before {
3440
- content: "\f458";
3441
- }
3442
-
3443
- .mdi-owl:before {
3444
- content: "\f459";
3445
- }
3446
-
3447
- .mdi-package:before {
3448
- content: "\f45a";
3449
- }
3450
-
3451
- .mdi-package-down:before {
3452
- content: "\f45b";
3453
- }
3454
-
3455
- .mdi-package-up:before {
3456
- content: "\f45c";
3457
- }
3458
-
3459
- .mdi-package-variant:before {
3460
- content: "\f45d";
3461
- }
3462
-
3463
- .mdi-package-variant-closed:before {
3464
- content: "\f45e";
3465
- }
3466
-
3467
- .mdi-palette:before {
3468
- content: "\f45f";
3469
- }
3470
-
3471
- .mdi-palette-advanced:before {
3472
- content: "\f460";
3473
- }
3474
-
3475
- .mdi-panda:before {
3476
- content: "\f461";
3477
- }
3478
-
3479
- .mdi-pandora:before {
3480
- content: "\f462";
3481
- }
3482
-
3483
- .mdi-panorama:before {
3484
- content: "\f463";
3485
- }
3486
-
3487
- .mdi-panorama-fisheye:before {
3488
- content: "\f464";
3489
- }
3490
-
3491
- .mdi-panorama-horizontal:before {
3492
- content: "\f465";
3493
- }
3494
-
3495
- .mdi-panorama-vertical:before {
3496
- content: "\f466";
3497
- }
3498
-
3499
- .mdi-panorama-wide-angle:before {
3500
- content: "\f467";
3501
- }
3502
-
3503
- .mdi-paper-cut-vertical:before {
3504
- content: "\f468";
3505
- }
3506
-
3507
- .mdi-paperclip:before {
3508
- content: "\f469";
3509
- }
3510
-
3511
- .mdi-parking:before {
3512
- content: "\f46a";
3513
- }
3514
-
3515
- .mdi-pause:before {
3516
- content: "\f46b";
3517
- }
3518
-
3519
- .mdi-pause-circle:before {
3520
- content: "\f46c";
3521
- }
3522
-
3523
- .mdi-pause-circle-outline:before {
3524
- content: "\f46d";
3525
- }
3526
-
3527
- .mdi-pause-octagon:before {
3528
- content: "\f46e";
3529
- }
3530
-
3531
- .mdi-pause-octagon-outline:before {
3532
- content: "\f46f";
3533
- }
3534
-
3535
- .mdi-paw:before {
3536
- content: "\f470";
3537
- }
3538
-
3539
- .mdi-pen:before {
3540
- content: "\f471";
3541
- }
3542
-
3543
- .mdi-pencil:before {
3544
- content: "\f472";
3545
- }
3546
-
3547
- .mdi-pencil-box:before {
3548
- content: "\f473";
3549
- }
3550
-
3551
- .mdi-pencil-box-outline:before {
3552
- content: "\f474";
3553
- }
3554
-
3555
- .mdi-percent:before {
3556
- content: "\f475";
3557
- }
3558
-
3559
- .mdi-pharmacy:before {
3560
- content: "\f476";
3561
- }
3562
-
3563
- .mdi-phone:before {
3564
- content: "\f477";
3565
- }
3566
-
3567
- .mdi-phone-bluetooth:before {
3568
- content: "\f478";
3569
- }
3570
-
3571
- .mdi-phone-forward:before {
3572
- content: "\f479";
3573
- }
3574
-
3575
- .mdi-phone-hangup:before {
3576
- content: "\f47a";
3577
- }
3578
-
3579
- .mdi-phone-in-talk:before {
3580
- content: "\f47b";
3581
- }
3582
-
3583
- .mdi-phone-incoming:before {
3584
- content: "\f47c";
3585
- }
3586
-
3587
- .mdi-phone-locked:before {
3588
- content: "\f47d";
3589
- }
3590
-
3591
- .mdi-phone-log:before {
3592
- content: "\f47e";
3593
- }
3594
-
3595
- .mdi-phone-missed:before {
3596
- content: "\f47f";
3597
- }
3598
-
3599
- .mdi-phone-outgoing:before {
3600
- content: "\f480";
3601
- }
3602
-
3603
- .mdi-phone-paused:before {
3604
- content: "\f481";
3605
- }
3606
-
3607
- .mdi-phone-settings:before {
3608
- content: "\f482";
3609
- }
3610
-
3611
- .mdi-pig:before {
3612
- content: "\f483";
3613
- }
3614
-
3615
- .mdi-pill:before {
3616
- content: "\f484";
3617
- }
3618
-
3619
- .mdi-pin:before {
3620
- content: "\f485";
3621
- }
3622
-
3623
- .mdi-pin-off:before {
3624
- content: "\f486";
3625
- }
3626
-
3627
- .mdi-pine-tree:before {
3628
- content: "\f487";
3629
- }
3630
-
3631
- .mdi-pine-tree-box:before {
3632
- content: "\f488";
3633
- }
3634
-
3635
- .mdi-pinterest:before {
3636
- content: "\f489";
3637
- }
3638
-
3639
- .mdi-pinterest-box:before {
3640
- content: "\f48a";
3641
- }
3642
-
3643
- .mdi-pizza:before {
3644
- content: "\f48b";
3645
- }
3646
-
3647
- .mdi-play:before {
3648
- content: "\f48c";
3649
- }
3650
-
3651
- .mdi-play-box-outline:before {
3652
- content: "\f48d";
3653
- }
3654
-
3655
- .mdi-play-circle:before {
3656
- content: "\f48e";
3657
- }
3658
-
3659
- .mdi-play-circle-outline:before {
3660
- content: "\f48f";
3661
- }
3662
-
3663
- .mdi-playlist-minus:before {
3664
- content: "\f490";
3665
- }
3666
-
3667
- .mdi-playlist-plus:before {
3668
- content: "\f491";
3669
- }
3670
-
3671
- .mdi-playstation:before {
3672
- content: "\f492";
3673
- }
3674
-
3675
- .mdi-plus:before {
3676
- content: "\f493";
3677
- }
3678
-
3679
- .mdi-plus-box:before {
3680
- content: "\f494";
3681
- }
3682
-
3683
- .mdi-plus-circle:before {
3684
- content: "\f495";
3685
- }
3686
-
3687
- .mdi-plus-circle-outline:before {
3688
- content: "\f496";
3689
- }
3690
-
3691
- .mdi-plus-network:before {
3692
- content: "\f497";
3693
- }
3694
-
3695
- .mdi-plus-one:before {
3696
- content: "\f498";
3697
- }
3698
-
3699
- .mdi-pocket:before {
3700
- content: "\f499";
3701
- }
3702
-
3703
- .mdi-poll:before {
3704
- content: "\f49a";
3705
- }
3706
-
3707
- .mdi-poll-box:before {
3708
- content: "\f49b";
3709
- }
3710
-
3711
- .mdi-polymer:before {
3712
- content: "\f49c";
3713
- }
3714
-
3715
- .mdi-popcorn:before {
3716
- content: "\f49d";
3717
- }
3718
-
3719
- .mdi-pound:before {
3720
- content: "\f49e";
3721
- }
3722
-
3723
- .mdi-pound-box:before {
3724
- content: "\f49f";
3725
- }
3726
-
3727
- .mdi-power:before {
3728
- content: "\f4a0";
3729
- }
3730
-
3731
- .mdi-power-settings:before {
3732
- content: "\f4a1";
3733
- }
3734
-
3735
- .mdi-power-socket:before {
3736
- content: "\f4a2";
3737
- }
3738
-
3739
- .mdi-presentation:before {
3740
- content: "\f4a3";
3741
- }
3742
-
3743
- .mdi-presentation-play:before {
3744
- content: "\f4a4";
3745
- }
3746
-
3747
- .mdi-printer:before {
3748
- content: "\f4a5";
3749
- }
3750
-
3751
- .mdi-printer-3d:before {
3752
- content: "\f4a6";
3753
- }
3754
-
3755
- .mdi-pulse:before {
3756
- content: "\f4a7";
3757
- }
3758
-
3759
- .mdi-puzzle:before {
3760
- content: "\f4a8";
3761
- }
3762
-
3763
- .mdi-qrcode:before {
3764
- content: "\f4a9";
3765
- }
3766
-
3767
- .mdi-quadcopter:before {
3768
- content: "\f4aa";
3769
- }
3770
-
3771
- .mdi-quality-high:before {
3772
- content: "\f4ab";
3773
- }
3774
-
3775
- .mdi-quicktime:before {
3776
- content: "\f4ac";
3777
- }
3778
-
3779
- .mdi-radiator:before {
3780
- content: "\f4ad";
3781
- }
3782
-
3783
- .mdi-radio:before {
3784
- content: "\f4ae";
3785
- }
3786
-
3787
- .mdi-radio-tower:before {
3788
- content: "\f4af";
3789
- }
3790
-
3791
- .mdi-radioactive:before {
3792
- content: "\f4b0";
3793
- }
3794
-
3795
- .mdi-radiobox-blank:before {
3796
- content: "\f4b1";
3797
- }
3798
-
3799
- .mdi-radiobox-marked:before {
3800
- content: "\f4b2";
3801
- }
3802
-
3803
- .mdi-raspberrypi:before {
3804
- content: "\f4b3";
3805
- }
3806
-
3807
- .mdi-rdio:before {
3808
- content: "\f4b4";
3809
- }
3810
-
3811
- .mdi-read:before {
3812
- content: "\f4b5";
3813
- }
3814
-
3815
- .mdi-readability:before {
3816
- content: "\f4b6";
3817
- }
3818
-
3819
- .mdi-receipt:before {
3820
- content: "\f4b7";
3821
- }
3822
-
3823
- .mdi-recycle:before {
3824
- content: "\f4b8";
3825
- }
3826
-
3827
- .mdi-redo:before {
3828
- content: "\f4b9";
3829
- }
3830
-
3831
- .mdi-redo-variant:before {
3832
- content: "\f4ba";
3833
- }
3834
-
3835
- .mdi-refresh:before {
3836
- content: "\f4bb";
3837
- }
3838
-
3839
- .mdi-relative-scale:before {
3840
- content: "\f4bc";
3841
- }
3842
-
3843
- .mdi-reload:before {
3844
- content: "\f4bd";
3845
- }
3846
-
3847
- .mdi-remote:before {
3848
- content: "\f4be";
3849
- }
3850
-
3851
- .mdi-rename-box:before {
3852
- content: "\f4bf";
3853
- }
3854
-
3855
- .mdi-repeat:before {
3856
- content: "\f4c0";
3857
- }
3858
-
3859
- .mdi-repeat-off:before {
3860
- content: "\f4c1";
3861
- }
3862
-
3863
- .mdi-repeat-once:before {
3864
- content: "\f4c2";
3865
- }
3866
-
3867
- .mdi-replay:before {
3868
- content: "\f4c3";
3869
- }
3870
-
3871
- .mdi-reply:before {
3872
- content: "\f4c4";
3873
- }
3874
-
3875
- .mdi-reply-all:before {
3876
- content: "\f4c5";
3877
- }
3878
-
3879
- .mdi-reproduction:before {
3880
- content: "\f4c6";
3881
- }
3882
-
3883
- .mdi-resize-bottom-right:before {
3884
- content: "\f4c7";
3885
- }
3886
-
3887
- .mdi-responsive:before {
3888
- content: "\f4c8";
3889
- }
3890
-
3891
- .mdi-rewind:before {
3892
- content: "\f4c9";
3893
- }
3894
-
3895
- .mdi-ribbon:before {
3896
- content: "\f4ca";
3897
- }
3898
-
3899
- .mdi-road:before {
3900
- content: "\f4cb";
3901
- }
3902
-
3903
- .mdi-rocket:before {
3904
- content: "\f4cc";
3905
- }
3906
-
3907
- .mdi-rotate-3d:before {
3908
- content: "\f4cd";
3909
- }
3910
-
3911
- .mdi-rotate-left:before {
3912
- content: "\f4ce";
3913
- }
3914
-
3915
- .mdi-rotate-left-variant:before {
3916
- content: "\f4cf";
3917
- }
3918
-
3919
- .mdi-rotate-right:before {
3920
- content: "\f4d0";
3921
- }
3922
-
3923
- .mdi-rotate-right-variant:before {
3924
- content: "\f4d1";
3925
- }
3926
-
3927
- .mdi-routes:before {
3928
- content: "\f4d2";
3929
- }
3930
-
3931
- .mdi-rss:before {
3932
- content: "\f4d3";
3933
- }
3934
-
3935
- .mdi-rss-box:before {
3936
- content: "\f4d4";
3937
- }
3938
-
3939
- .mdi-ruler:before {
3940
- content: "\f4d5";
3941
- }
3942
-
3943
- .mdi-run:before {
3944
- content: "\f4d6";
3945
- }
3946
-
3947
- .mdi-sale:before {
3948
- content: "\f4d7";
3949
- }
3950
-
3951
- .mdi-satellite:before {
3952
- content: "\f4d8";
3953
- }
3954
-
3955
- .mdi-satellite-variant:before {
3956
- content: "\f4d9";
3957
- }
3958
-
3959
- .mdi-scale:before {
3960
- content: "\f4da";
3961
- }
3962
-
3963
- .mdi-scale-bathroom:before {
3964
- content: "\f4db";
3965
- }
3966
-
3967
- .mdi-school:before {
3968
- content: "\f4dc";
3969
- }
3970
-
3971
- .mdi-screen-rotation:before {
3972
- content: "\f4dd";
3973
- }
3974
-
3975
- .mdi-screen-rotation-lock:before {
3976
- content: "\f4de";
3977
- }
3978
-
3979
- .mdi-script:before {
3980
- content: "\f4df";
3981
- }
3982
-
3983
- .mdi-sd:before {
3984
- content: "\f4e0";
3985
- }
3986
-
3987
- .mdi-security:before {
3988
- content: "\f4e1";
3989
- }
3990
-
3991
- .mdi-security-network:before {
3992
- content: "\f4e2";
3993
- }
3994
-
3995
- .mdi-select:before {
3996
- content: "\f4e3";
3997
- }
3998
-
3999
- .mdi-select-all:before {
4000
- content: "\f4e4";
4001
- }
4002
-
4003
- .mdi-select-inverse:before {
4004
- content: "\f4e5";
4005
- }
4006
-
4007
- .mdi-select-off:before {
4008
- content: "\f4e6";
4009
- }
4010
-
4011
- .mdi-send:before {
4012
- content: "\f4e7";
4013
- }
4014
-
4015
- .mdi-server:before {
4016
- content: "\f4e8";
4017
- }
4018
-
4019
- .mdi-server-minus:before {
4020
- content: "\f4e9";
4021
- }
4022
-
4023
- .mdi-server-network:before {
4024
- content: "\f4ea";
4025
- }
4026
-
4027
- .mdi-server-network-off:before {
4028
- content: "\f4eb";
4029
- }
4030
-
4031
- .mdi-server-off:before {
4032
- content: "\f4ec";
4033
- }
4034
-
4035
- .mdi-server-plus:before {
4036
- content: "\f4ed";
4037
- }
4038
-
4039
- .mdi-server-remove:before {
4040
- content: "\f4ee";
4041
- }
4042
-
4043
- .mdi-server-security:before {
4044
- content: "\f4ef";
4045
- }
4046
-
4047
- .mdi-settings:before {
4048
- content: "\f4f0";
4049
- }
4050
-
4051
- .mdi-settings-box:before {
4052
- content: "\f4f1";
4053
- }
4054
-
4055
- .mdi-shape-plus:before {
4056
- content: "\f4f2";
4057
- }
4058
-
4059
- .mdi-share:before {
4060
- content: "\f4f3";
4061
- }
4062
-
4063
- .mdi-share-variant:before {
4064
- content: "\f4f4";
4065
- }
4066
-
4067
- .mdi-shield:before {
4068
- content: "\f4f5";
4069
- }
4070
-
4071
- .mdi-shield-outline:before {
4072
- content: "\f4f6";
4073
- }
4074
-
4075
- .mdi-shopping:before {
4076
- content: "\f4f7";
4077
- }
4078
-
4079
- .mdi-shopping-music:before {
4080
- content: "\f4f8";
4081
- }
4082
-
4083
- .mdi-shuffle:before {
4084
- content: "\f4f9";
4085
- }
4086
-
4087
- .mdi-sigma:before {
4088
- content: "\f4fa";
4089
- }
4090
-
4091
- .mdi-sign-caution:before {
4092
- content: "\f4fb";
4093
- }
4094
-
4095
- .mdi-signal:before {
4096
- content: "\f4fc";
4097
- }
4098
-
4099
- .mdi-silverware:before {
4100
- content: "\f4fd";
4101
- }
4102
-
4103
- .mdi-silverware-fork:before {
4104
- content: "\f4fe";
4105
- }
4106
-
4107
- .mdi-silverware-spoon:before {
4108
- content: "\f4ff";
4109
- }
4110
-
4111
- .mdi-silverware-variant:before {
4112
- content: "\f500";
4113
- }
4114
-
4115
- .mdi-sim-alert:before {
4116
- content: "\f501";
4117
- }
4118
-
4119
- .mdi-sitemap:before {
4120
- content: "\f502";
4121
- }
4122
-
4123
- .mdi-skip-next:before {
4124
- content: "\f503";
4125
- }
4126
-
4127
- .mdi-skip-previous:before {
4128
- content: "\f504";
4129
- }
4130
-
4131
- .mdi-skype:before {
4132
- content: "\f505";
4133
- }
4134
-
4135
- .mdi-skype-business:before {
4136
- content: "\f506";
4137
- }
4138
-
4139
- .mdi-sleep:before {
4140
- content: "\f507";
4141
- }
4142
-
4143
- .mdi-sleep-off:before {
4144
- content: "\f508";
4145
- }
4146
-
4147
- .mdi-smoking:before {
4148
- content: "\f509";
4149
- }
4150
-
4151
- .mdi-smoking-off:before {
4152
- content: "\f50a";
4153
- }
4154
-
4155
- .mdi-snapchat:before {
4156
- content: "\f50b";
4157
- }
4158
-
4159
- .mdi-snowman:before {
4160
- content: "\f50c";
4161
- }
4162
-
4163
- .mdi-sofa:before {
4164
- content: "\f50d";
4165
- }
4166
-
4167
- .mdi-sort:before {
4168
- content: "\f50e";
4169
- }
4170
-
4171
- .mdi-sort-alphabetical:before {
4172
- content: "\f50f";
4173
- }
4174
-
4175
- .mdi-sort-ascending:before {
4176
- content: "\f510";
4177
- }
4178
-
4179
- .mdi-sort-descending:before {
4180
- content: "\f511";
4181
- }
4182
-
4183
- .mdi-sort-numeric:before {
4184
- content: "\f512";
4185
- }
4186
-
4187
- .mdi-sort-variant:before {
4188
- content: "\f513";
4189
- }
4190
-
4191
- .mdi-soundcloud:before {
4192
- content: "\f514";
4193
- }
4194
-
4195
- .mdi-source-fork:before {
4196
- content: "\f515";
4197
- }
4198
-
4199
- .mdi-source-pull:before {
4200
- content: "\f516";
4201
- }
4202
-
4203
- .mdi-speaker:before {
4204
- content: "\f517";
4205
- }
4206
-
4207
- .mdi-speaker-off:before {
4208
- content: "\f518";
4209
- }
4210
-
4211
- .mdi-speedometer:before {
4212
- content: "\f519";
4213
- }
4214
-
4215
- .mdi-spellcheck:before {
4216
- content: "\f51a";
4217
- }
4218
-
4219
- .mdi-spotify:before {
4220
- content: "\f51b";
4221
- }
4222
-
4223
- .mdi-spotlight:before {
4224
- content: "\f51c";
4225
- }
4226
-
4227
- .mdi-spotlight-beam:before {
4228
- content: "\f51d";
4229
- }
4230
-
4231
- .mdi-square-inc:before {
4232
- content: "\f51e";
4233
- }
4234
-
4235
- .mdi-square-inc-cash:before {
4236
- content: "\f51f";
4237
- }
4238
-
4239
- .mdi-stackoverflow:before {
4240
- content: "\f520";
4241
- }
4242
-
4243
- .mdi-star:before {
4244
- content: "\f521";
4245
- }
4246
-
4247
- .mdi-star-circle:before {
4248
- content: "\f522";
4249
- }
4250
-
4251
- .mdi-star-half:before {
4252
- content: "\f523";
4253
- }
4254
-
4255
- .mdi-star-outline:before {
4256
- content: "\f524";
4257
- }
4258
-
4259
- .mdi-steam:before {
4260
- content: "\f525";
4261
- }
4262
-
4263
- .mdi-stethoscope:before {
4264
- content: "\f526";
4265
- }
4266
-
4267
- .mdi-stocking:before {
4268
- content: "\f527";
4269
- }
4270
-
4271
- .mdi-stop:before {
4272
- content: "\f528";
4273
- }
4274
-
4275
- .mdi-store:before {
4276
- content: "\f529";
4277
- }
4278
-
4279
- .mdi-store-24-hour:before {
4280
- content: "\f52a";
4281
- }
4282
-
4283
- .mdi-stove:before {
4284
- content: "\f52b";
4285
- }
4286
-
4287
- .mdi-subway:before {
4288
- content: "\f52c";
4289
- }
4290
-
4291
- .mdi-sunglasses:before {
4292
- content: "\f52d";
4293
- }
4294
-
4295
- .mdi-swap-horizontal:before {
4296
- content: "\f52e";
4297
- }
4298
-
4299
- .mdi-swap-vertical:before {
4300
- content: "\f52f";
4301
- }
4302
-
4303
- .mdi-swim:before {
4304
- content: "\f530";
4305
- }
4306
-
4307
- .mdi-sword:before {
4308
- content: "\f531";
4309
- }
4310
-
4311
- .mdi-sync:before {
4312
- content: "\f532";
4313
- }
4314
-
4315
- .mdi-sync-alert:before {
4316
- content: "\f533";
4317
- }
4318
-
4319
- .mdi-sync-off:before {
4320
- content: "\f534";
4321
- }
4322
-
4323
- .mdi-tab:before {
4324
- content: "\f535";
4325
- }
4326
-
4327
- .mdi-tab-unselected:before {
4328
- content: "\f536";
4329
- }
4330
-
4331
- .mdi-table:before {
4332
- content: "\f537";
4333
- }
4334
-
4335
- .mdi-table-column-plus-after:before {
4336
- content: "\f538";
4337
- }
4338
-
4339
- .mdi-table-column-plus-before:before {
4340
- content: "\f539";
4341
- }
4342
-
4343
- .mdi-table-column-remove:before {
4344
- content: "\f53a";
4345
- }
4346
-
4347
- .mdi-table-column-width:before {
4348
- content: "\f53b";
4349
- }
4350
-
4351
- .mdi-table-edit:before {
4352
- content: "\f53c";
4353
- }
4354
-
4355
- .mdi-table-large:before {
4356
- content: "\f53d";
4357
- }
4358
-
4359
- .mdi-table-row-height:before {
4360
- content: "\f53e";
4361
- }
4362
-
4363
- .mdi-table-row-plus-after:before {
4364
- content: "\f53f";
4365
- }
4366
-
4367
- .mdi-table-row-plus-before:before {
4368
- content: "\f540";
4369
- }
4370
-
4371
- .mdi-table-row-remove:before {
4372
- content: "\f541";
4373
- }
4374
-
4375
- .mdi-tablet:before {
4376
- content: "\f542";
4377
- }
4378
-
4379
- .mdi-tablet-android:before {
4380
- content: "\f543";
4381
- }
4382
-
4383
- .mdi-tablet-ipad:before {
4384
- content: "\f544";
4385
- }
4386
-
4387
- .mdi-tag:before {
4388
- content: "\f545";
4389
- }
4390
-
4391
- .mdi-tag-faces:before {
4392
- content: "\f546";
4393
- }
4394
-
4395
- .mdi-tag-multiple:before {
4396
- content: "\f547";
4397
- }
4398
-
4399
- .mdi-tag-outline:before {
4400
- content: "\f548";
4401
- }
4402
-
4403
- .mdi-tag-text-outline:before {
4404
- content: "\f549";
4405
- }
4406
-
4407
- .mdi-taxi:before {
4408
- content: "\f54a";
4409
- }
4410
-
4411
- .mdi-teamviewer:before {
4412
- content: "\f54b";
4413
- }
4414
-
4415
- .mdi-telegram:before {
4416
- content: "\f54c";
4417
- }
4418
-
4419
- .mdi-television:before {
4420
- content: "\f54d";
4421
- }
4422
-
4423
- .mdi-television-guide:before {
4424
- content: "\f54e";
4425
- }
4426
-
4427
- .mdi-temperature-celsius:before {
4428
- content: "\f54f";
4429
- }
4430
-
4431
- .mdi-temperature-fahrenheit:before {
4432
- content: "\f550";
4433
- }
4434
-
4435
- .mdi-temperature-kelvin:before {
4436
- content: "\f551";
4437
- }
4438
-
4439
- .mdi-tennis:before {
4440
- content: "\f552";
4441
- }
4442
-
4443
- .mdi-tent:before {
4444
- content: "\f553";
4445
- }
4446
-
4447
- .mdi-terrain:before {
4448
- content: "\f554";
4449
- }
4450
-
4451
- .mdi-text-to-speech:before {
4452
- content: "\f555";
4453
- }
4454
-
4455
- .mdi-text-to-speech-off:before {
4456
- content: "\f556";
4457
- }
4458
-
4459
- .mdi-texture:before {
4460
- content: "\f557";
4461
- }
4462
-
4463
- .mdi-theater:before {
4464
- content: "\f558";
4465
- }
4466
-
4467
- .mdi-theme-light-dark:before {
4468
- content: "\f559";
4469
- }
4470
-
4471
- .mdi-thermometer:before {
4472
- content: "\f55a";
4473
- }
4474
-
4475
- .mdi-thermometer-lines:before {
4476
- content: "\f55b";
4477
- }
4478
-
4479
- .mdi-thumb-down:before {
4480
- content: "\f55c";
4481
- }
4482
-
4483
- .mdi-thumb-down-outline:before {
4484
- content: "\f55d";
4485
- }
4486
-
4487
- .mdi-thumb-up:before {
4488
- content: "\f55e";
4489
- }
4490
-
4491
- .mdi-thumb-up-outline:before {
4492
- content: "\f55f";
4493
- }
4494
-
4495
- .mdi-thumbs-up-down:before {
4496
- content: "\f560";
4497
- }
4498
-
4499
- .mdi-ticket:before {
4500
- content: "\f561";
4501
- }
4502
-
4503
- .mdi-ticket-account:before {
4504
- content: "\f562";
4505
- }
4506
-
4507
- .mdi-tie:before {
4508
- content: "\f563";
4509
- }
4510
-
4511
- .mdi-timelapse:before {
4512
- content: "\f564";
4513
- }
4514
-
4515
- .mdi-timer:before {
4516
- content: "\f565";
4517
- }
4518
-
4519
- .mdi-timer-10:before {
4520
- content: "\f566";
4521
- }
4522
-
4523
- .mdi-timer-3:before {
4524
- content: "\f567";
4525
- }
4526
-
4527
- .mdi-timer-off:before {
4528
- content: "\f568";
4529
- }
4530
-
4531
- .mdi-timer-sand:before {
4532
- content: "\f569";
4533
- }
4534
-
4535
- .mdi-timetable:before {
4536
- content: "\f56a";
4537
- }
4538
-
4539
- .mdi-toggle-switch:before {
4540
- content: "\f56b";
4541
- }
4542
-
4543
- .mdi-toggle-switch-off:before {
4544
- content: "\f56c";
4545
- }
4546
-
4547
- .mdi-tooltip:before {
4548
- content: "\f56d";
4549
- }
4550
-
4551
- .mdi-tooltip-edit:before {
4552
- content: "\f56e";
4553
- }
4554
-
4555
- .mdi-tooltip-image:before {
4556
- content: "\f56f";
4557
- }
4558
-
4559
- .mdi-tooltip-outline:before {
4560
- content: "\f570";
4561
- }
4562
-
4563
- .mdi-tooltip-outline-plus:before {
4564
- content: "\f571";
4565
- }
4566
-
4567
- .mdi-tooltip-text:before {
4568
- content: "\f572";
4569
- }
4570
-
4571
- .mdi-tor:before {
4572
- content: "\f573";
4573
- }
4574
-
4575
- .mdi-traffic-light:before {
4576
- content: "\f574";
4577
- }
4578
-
4579
- .mdi-train:before {
4580
- content: "\f575";
4581
- }
4582
-
4583
- .mdi-tram:before {
4584
- content: "\f576";
4585
- }
4586
-
4587
- .mdi-transcribe:before {
4588
- content: "\f577";
4589
- }
4590
-
4591
- .mdi-transcribe-close:before {
4592
- content: "\f578";
4593
- }
4594
-
4595
- .mdi-transfer:before {
4596
- content: "\f579";
4597
- }
4598
-
4599
- .mdi-tree:before {
4600
- content: "\f57a";
4601
- }
4602
-
4603
- .mdi-trello:before {
4604
- content: "\f57b";
4605
- }
4606
-
4607
- .mdi-trending-down:before {
4608
- content: "\f57c";
4609
- }
4610
-
4611
- .mdi-trending-neutral:before {
4612
- content: "\f57d";
4613
- }
4614
-
4615
- .mdi-trending-up:before {
4616
- content: "\f57e";
4617
- }
4618
-
4619
- .mdi-trophy:before {
4620
- content: "\f57f";
4621
- }
4622
-
4623
- .mdi-trophy-award:before {
4624
- content: "\f580";
4625
- }
4626
-
4627
- .mdi-trophy-variant:before {
4628
- content: "\f581";
4629
- }
4630
-
4631
- .mdi-truck:before {
4632
- content: "\f582";
4633
- }
4634
-
4635
- .mdi-tshirt-crew:before {
4636
- content: "\f583";
4637
- }
4638
-
4639
- .mdi-tshirt-v:before {
4640
- content: "\f584";
4641
- }
4642
-
4643
- .mdi-tumblr:before {
4644
- content: "\f585";
4645
- }
4646
-
4647
- .mdi-tumblr-reblog:before {
4648
- content: "\f586";
4649
- }
4650
-
4651
- .mdi-twitch:before {
4652
- content: "\f587";
4653
- }
4654
-
4655
- .mdi-twitter:before {
4656
- content: "\f588";
4657
- }
4658
-
4659
- .mdi-twitter-box:before {
4660
- content: "\f589";
4661
- }
4662
-
4663
- .mdi-twitter-circle:before {
4664
- content: "\f58a";
4665
- }
4666
-
4667
- .mdi-twitter-retweet:before {
4668
- content: "\f58b";
4669
- }
4670
-
4671
- .mdi-ubuntu:before {
4672
- content: "\f58c";
4673
- }
4674
-
4675
- .mdi-umbrella:before {
4676
- content: "\f58d";
4677
- }
4678
-
4679
- .mdi-umbrella-outline:before {
4680
- content: "\f58e";
4681
- }
4682
-
4683
- .mdi-undo:before {
4684
- content: "\f58f";
4685
- }
4686
-
4687
- .mdi-undo-variant:before {
4688
- content: "\f590";
4689
- }
4690
-
4691
- .mdi-unfold-less:before {
4692
- content: "\f591";
4693
- }
4694
-
4695
- .mdi-unfold-more:before {
4696
- content: "\f592";
4697
- }
4698
-
4699
- .mdi-ungroup:before {
4700
- content: "\f593";
4701
- }
4702
-
4703
- .mdi-untappd:before {
4704
- content: "\f594";
4705
- }
4706
-
4707
- .mdi-upload:before {
4708
- content: "\f595";
4709
- }
4710
-
4711
- .mdi-usb:before {
4712
- content: "\f596";
4713
- }
4714
-
4715
- .mdi-vector-curve:before {
4716
- content: "\f597";
4717
- }
4718
-
4719
- .mdi-vector-point:before {
4720
- content: "\f598";
4721
- }
4722
-
4723
- .mdi-vector-square:before {
4724
- content: "\f599";
4725
- }
4726
-
4727
- .mdi-verified:before {
4728
- content: "\f59a";
4729
- }
4730
-
4731
- .mdi-vibrate:before {
4732
- content: "\f59b";
4733
- }
4734
-
4735
- .mdi-video:before {
4736
- content: "\f59c";
4737
- }
4738
-
4739
- .mdi-video-off:before {
4740
- content: "\f59d";
4741
- }
4742
-
4743
- .mdi-video-switch:before {
4744
- content: "\f59e";
4745
- }
4746
-
4747
- .mdi-view-agenda:before {
4748
- content: "\f59f";
4749
- }
4750
-
4751
- .mdi-view-array:before {
4752
- content: "\f5a0";
4753
- }
4754
-
4755
- .mdi-view-carousel:before {
4756
- content: "\f5a1";
4757
- }
4758
-
4759
- .mdi-view-column:before {
4760
- content: "\f5a2";
4761
- }
4762
-
4763
- .mdi-view-dashboard:before {
4764
- content: "\f5a3";
4765
- }
4766
-
4767
- .mdi-view-day:before {
4768
- content: "\f5a4";
4769
- }
4770
-
4771
- .mdi-view-grid:before {
4772
- content: "\f5a5";
4773
- }
4774
-
4775
- .mdi-view-headline:before {
4776
- content: "\f5a6";
4777
- }
4778
-
4779
- .mdi-view-list:before {
4780
- content: "\f5a7";
4781
- }
4782
-
4783
- .mdi-view-module:before {
4784
- content: "\f5a8";
4785
- }
4786
-
4787
- .mdi-view-quilt:before {
4788
- content: "\f5a9";
4789
- }
4790
-
4791
- .mdi-view-stream:before {
4792
- content: "\f5aa";
4793
- }
4794
-
4795
- .mdi-view-week:before {
4796
- content: "\f5ab";
4797
- }
4798
-
4799
- .mdi-vimeo:before {
4800
- content: "\f5ac";
4801
- }
4802
-
4803
- .mdi-vine:before {
4804
- content: "\f5ad";
4805
- }
4806
-
4807
- .mdi-vk:before {
4808
- content: "\f5ae";
4809
- }
4810
-
4811
- .mdi-vk-box:before {
4812
- content: "\f5af";
4813
- }
4814
-
4815
- .mdi-vk-circle:before {
4816
- content: "\f5b0";
4817
- }
4818
-
4819
- .mdi-voicemail:before {
4820
- content: "\f5b1";
4821
- }
4822
-
4823
- .mdi-volume-high:before {
4824
- content: "\f5b2";
4825
- }
4826
-
4827
- .mdi-volume-low:before {
4828
- content: "\f5b3";
4829
- }
4830
-
4831
- .mdi-volume-medium:before {
4832
- content: "\f5b4";
4833
- }
4834
-
4835
- .mdi-volume-off:before {
4836
- content: "\f5b5";
4837
- }
4838
-
4839
- .mdi-vpn:before {
4840
- content: "\f5b6";
4841
- }
4842
-
4843
- .mdi-walk:before {
4844
- content: "\f5b7";
4845
- }
4846
-
4847
- .mdi-wallet:before {
4848
- content: "\f5b8";
4849
- }
4850
-
4851
- .mdi-wallet-giftcard:before {
4852
- content: "\f5b9";
4853
- }
4854
-
4855
- .mdi-wallet-membership:before {
4856
- content: "\f5ba";
4857
- }
4858
-
4859
- .mdi-wallet-travel:before {
4860
- content: "\f5bb";
4861
- }
4862
-
4863
- .mdi-watch:before {
4864
- content: "\f5bc";
4865
- }
4866
-
4867
- .mdi-watch-export:before {
4868
- content: "\f5bd";
4869
- }
4870
-
4871
- .mdi-watch-import:before {
4872
- content: "\f5be";
4873
- }
4874
-
4875
- .mdi-water:before {
4876
- content: "\f5bf";
4877
- }
4878
-
4879
- .mdi-water-off:before {
4880
- content: "\f5c0";
4881
- }
4882
-
4883
- .mdi-water-pump:before {
4884
- content: "\f5c1";
4885
- }
4886
-
4887
- .mdi-weather-cloudy:before {
4888
- content: "\f5c2";
4889
- }
4890
-
4891
- .mdi-weather-fog:before {
4892
- content: "\f5c3";
4893
- }
4894
-
4895
- .mdi-weather-hail:before {
4896
- content: "\f5c4";
4897
- }
4898
-
4899
- .mdi-weather-lightning:before {
4900
- content: "\f5c5";
4901
- }
4902
-
4903
- .mdi-weather-night:before {
4904
- content: "\f5c6";
4905
- }
4906
-
4907
- .mdi-weather-partlycloudy:before {
4908
- content: "\f5c7";
4909
- }
4910
-
4911
- .mdi-weather-pouring:before {
4912
- content: "\f5c8";
4913
- }
4914
-
4915
- .mdi-weather-rainy:before {
4916
- content: "\f5c9";
4917
- }
4918
-
4919
- .mdi-weather-snowy:before {
4920
- content: "\f5ca";
4921
- }
4922
-
4923
- .mdi-weather-sunny:before {
4924
- content: "\f5cb";
4925
- }
4926
-
4927
- .mdi-weather-sunset:before {
4928
- content: "\f5cc";
4929
- }
4930
-
4931
- .mdi-weather-sunset-down:before {
4932
- content: "\f5cd";
4933
- }
4934
-
4935
- .mdi-weather-sunset-up:before {
4936
- content: "\f5ce";
4937
- }
4938
-
4939
- .mdi-weather-windy:before {
4940
- content: "\f5cf";
4941
- }
4942
-
4943
- .mdi-weather-windy-variant:before {
4944
- content: "\f5d0";
4945
- }
4946
-
4947
- .mdi-web:before {
4948
- content: "\f5d1";
4949
- }
4950
-
4951
- .mdi-webcam:before {
4952
- content: "\f5d2";
4953
- }
4954
-
4955
- .mdi-weight:before {
4956
- content: "\f5d3";
4957
- }
4958
-
4959
- .mdi-weight-kilogram:before {
4960
- content: "\f5d4";
4961
- }
4962
-
4963
- .mdi-whatsapp:before {
4964
- content: "\f5d5";
4965
- }
4966
-
4967
- .mdi-wheelchair-accessibility:before {
4968
- content: "\f5d6";
4969
- }
4970
-
4971
- .mdi-white-balance-auto:before {
4972
- content: "\f5d7";
4973
- }
4974
-
4975
- .mdi-white-balance-incandescent:before {
4976
- content: "\f5d8";
4977
- }
4978
-
4979
- .mdi-white-balance-irradescent:before {
4980
- content: "\f5d9";
4981
- }
4982
-
4983
- .mdi-white-balance-sunny:before {
4984
- content: "\f5da";
4985
- }
4986
-
4987
- .mdi-wifi:before {
4988
- content: "\f5db";
4989
- }
4990
-
4991
- .mdi-wii:before {
4992
- content: "\f5dc";
4993
- }
4994
-
4995
- .mdi-wikipedia:before {
4996
- content: "\f5dd";
4997
- }
4998
-
4999
- .mdi-window-close:before {
5000
- content: "\f5de";
5001
- }
5002
-
5003
- .mdi-window-closed:before {
5004
- content: "\f5df";
5005
- }
5006
-
5007
- .mdi-window-maximize:before {
5008
- content: "\f5e0";
5009
- }
5010
-
5011
- .mdi-window-minimize:before {
5012
- content: "\f5e1";
5013
- }
5014
-
5015
- .mdi-window-open:before {
5016
- content: "\f5e2";
5017
- }
5018
-
5019
- .mdi-window-restore:before {
5020
- content: "\f5e3";
5021
- }
5022
-
5023
- .mdi-windows:before {
5024
- content: "\f5e4";
5025
- }
5026
-
5027
- .mdi-wordpress:before {
5028
- content: "\f5e5";
5029
- }
5030
-
5031
- .mdi-worker:before {
5032
- content: "\f5e6";
5033
- }
5034
-
5035
- .mdi-wunderlist:before {
5036
- content: "\f5e7";
5037
- }
5038
-
5039
- .mdi-xbox:before {
5040
- content: "\f5e8";
5041
- }
5042
-
5043
- .mdi-xbox-controller:before {
5044
- content: "\f5e9";
5045
- }
5046
-
5047
- .mdi-xbox-controller-off:before {
5048
- content: "\f5ea";
5049
- }
5050
-
5051
- .mdi-xda:before {
5052
- content: "\f5eb";
5053
- }
5054
-
5055
- .mdi-xml:before {
5056
- content: "\f5ec";
5057
- }
5058
-
5059
- .mdi-yeast:before {
5060
- content: "\f5ed";
5061
- }
5062
-
5063
- .mdi-yelp:before {
5064
- content: "\f5ee";
5065
- }
5066
-
5067
- .mdi-youtube-play:before {
5068
- content: "\f5ef";
5069
- }
5070
-
5071
- .mdi-zip-box:before {
5072
- content: "\f5f0";
5073
- }
5074
-
5075
- .mdi-18px {
5076
- font-size: 18px;
5077
- }
5078
-
5079
- .mdi-24px {
5080
- font-size: 24px;
5081
- }
5082
-
5083
- .mdi-36px {
5084
- font-size: 36px;
5085
- }
5086
-
5087
- .mdi-48px {
5088
- font-size: 48px;
5089
- }
5090
-
5091
- .mdi-dark {
5092
- color: rgba(0, 0, 0, 0.54);
5093
- }
5094
-
5095
- .mdi-dark.mdi-inactive {
5096
- color: rgba(0, 0, 0, 0.26);
5097
- }
5098
-
5099
- .mdi-light {
5100
- color: white;
5101
- }
5102
-
5103
- .mdi-light.mdi-inactive {
5104
- color: rgba(255, 255, 255, 0.3);
5105
- }
5106
-
5107
- /*# sourceMappingURL=materialdesignicons.css.map */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/materialdesignicons.min.css DELETED
@@ -1 +0,0 @@
1
- @font-face{font-family:MaterialDesignIcons;src:url(../font/material-design-icons/materialdesignicons-webfont.eot?v=1.2.64);src:url(../font/material-design-icons/materialdesignicons-webfont.eot?#iefix&v=1.2.64) format("embedded-opentype"),url(../font/material-design-icons/materialdesignicons-webfont.woff2?v=1.2.64) format("woff2"),url(../font/material-design-icons/materialdesignicons-webfont.woff?v=1.2.64) format("woff"),url(../font/material-design-icons/materialdesignicons-webfont.ttf?v=1.2.64) format("truetype"),url(../font/material-design-icons/materialdesignicons-webfont.svg?v=1.2.64#materialdesigniconsregular) format("svg");font-weight:400;font-style:normal}.mdi{display:inline-block;font:normal normal normal 24px/1 MaterialDesignIcons;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0,0)}.mdi-account:before{content:"\f101"}.mdi-account-alert:before{content:"\f102"}.mdi-account-box:before{content:"\f103"}.mdi-account-box-outline:before{content:"\f104"}.mdi-account-check:before{content:"\f105"}.mdi-account-circle:before{content:"\f106"}.mdi-account-key:before{content:"\f107"}.mdi-account-location:before{content:"\f108"}.mdi-account-minus:before{content:"\f109"}.mdi-account-multiple:before{content:"\f10a"}.mdi-account-multiple-outline:before{content:"\f10b"}.mdi-account-multiple-plus:before{content:"\f10c"}.mdi-account-network:before{content:"\f10d"}.mdi-account-outline:before{content:"\f10e"}.mdi-account-plus:before{content:"\f10f"}.mdi-account-remove:before{content:"\f110"}.mdi-account-search:before{content:"\f111"}.mdi-account-star:before{content:"\f112"}.mdi-account-star-variant:before{content:"\f113"}.mdi-account-switch:before{content:"\f114"}.mdi-airballoon:before{content:"\f115"}.mdi-airplane:before{content:"\f116"}.mdi-airplane-off:before{content:"\f117"}.mdi-alarm:before{content:"\f118"}.mdi-alarm-check:before{content:"\f119"}.mdi-alarm-multiple:before{content:"\f11a"}.mdi-alarm-off:before{content:"\f11b"}.mdi-alarm-plus:before{content:"\f11c"}.mdi-album:before{content:"\f11d"}.mdi-alert:before{content:"\f11e"}.mdi-alert-box:before{content:"\f11f"}.mdi-alert-circle:before{content:"\f120"}.mdi-alert-octagon:before{content:"\f121"}.mdi-alpha:before{content:"\f122"}.mdi-alphabetical:before{content:"\f123"}.mdi-amazon:before{content:"\f124"}.mdi-amazon-clouddrive:before{content:"\f125"}.mdi-ambulance:before{content:"\f126"}.mdi-android:before{content:"\f127"}.mdi-android-debug-bridge:before{content:"\f128"}.mdi-android-studio:before{content:"\f129"}.mdi-apple:before{content:"\f12a"}.mdi-apple-finder:before{content:"\f12b"}.mdi-apple-ios:before{content:"\f12c"}.mdi-apple-mobileme:before{content:"\f12d"}.mdi-apple-safari:before{content:"\f12e"}.mdi-appnet:before{content:"\f12f"}.mdi-apps:before{content:"\f130"}.mdi-archive:before{content:"\f131"}.mdi-arrange-bring-forward:before{content:"\f132"}.mdi-arrange-bring-to-front:before{content:"\f133"}.mdi-arrange-send-backward:before{content:"\f134"}.mdi-arrange-send-to-back:before{content:"\f135"}.mdi-arrow-all:before{content:"\f136"}.mdi-arrow-bottom-left:before{content:"\f137"}.mdi-arrow-bottom-right:before{content:"\f138"}.mdi-arrow-collapse:before{content:"\f139"}.mdi-arrow-down:before{content:"\f13a"}.mdi-arrow-down-bold:before{content:"\f13b"}.mdi-arrow-down-bold-circle:before{content:"\f13c"}.mdi-arrow-down-bold-circle-outline:before{content:"\f13d"}.mdi-arrow-down-bold-hexagon-outline:before{content:"\f13e"}.mdi-arrow-expand:before{content:"\f13f"}.mdi-arrow-left:before{content:"\f140"}.mdi-arrow-left-bold:before{content:"\f141"}.mdi-arrow-left-bold-circle:before{content:"\f142"}.mdi-arrow-left-bold-circle-outline:before{content:"\f143"}.mdi-arrow-left-bold-hexagon-outline:before{content:"\f144"}.mdi-arrow-right:before{content:"\f145"}.mdi-arrow-right-bold:before{content:"\f146"}.mdi-arrow-right-bold-circle:before{content:"\f147"}.mdi-arrow-right-bold-circle-outline:before{content:"\f148"}.mdi-arrow-right-bold-hexagon-outline:before{content:"\f149"}.mdi-arrow-top-left:before{content:"\f14a"}.mdi-arrow-top-right:before{content:"\f14b"}.mdi-arrow-up:before{content:"\f14c"}.mdi-arrow-up-bold:before{content:"\f14d"}.mdi-arrow-up-bold-circle:before{content:"\f14e"}.mdi-arrow-up-bold-circle-outline:before{content:"\f14f"}.mdi-arrow-up-bold-hexagon-outline:before{content:"\f150"}.mdi-at:before{content:"\f151"}.mdi-attachment:before{content:"\f152"}.mdi-audiobook:before{content:"\f153"}.mdi-auto-fix:before{content:"\f154"}.mdi-auto-upload:before{content:"\f155"}.mdi-baby:before{content:"\f156"}.mdi-backburger:before{content:"\f157"}.mdi-backup-restore:before{content:"\f158"}.mdi-bank:before{content:"\f159"}.mdi-barcode:before{content:"\f15a"}.mdi-barley:before{content:"\f15b"}.mdi-barrel:before{content:"\f15c"}.mdi-basecamp:before{content:"\f15d"}.mdi-basket:before{content:"\f15e"}.mdi-basket-fill:before{content:"\f15f"}.mdi-basket-unfill:before{content:"\f160"}.mdi-battery:before{content:"\f161"}.mdi-battery-10:before{content:"\f162"}.mdi-battery-20:before{content:"\f163"}.mdi-battery-30:before{content:"\f164"}.mdi-battery-40:before{content:"\f165"}.mdi-battery-50:before{content:"\f166"}.mdi-battery-60:before{content:"\f167"}.mdi-battery-70:before{content:"\f168"}.mdi-battery-80:before{content:"\f169"}.mdi-battery-90:before{content:"\f16a"}.mdi-battery-alert:before{content:"\f16b"}.mdi-battery-charging-100:before{content:"\f16c"}.mdi-battery-charging-20:before{content:"\f16d"}.mdi-battery-charging-30:before{content:"\f16e"}.mdi-battery-charging-40:before{content:"\f16f"}.mdi-battery-charging-60:before{content:"\f170"}.mdi-battery-charging-80:before{content:"\f171"}.mdi-battery-charging-90:before{content:"\f172"}.mdi-battery-minus:before{content:"\f173"}.mdi-battery-negative:before{content:"\f174"}.mdi-battery-outline:before{content:"\f175"}.mdi-battery-plus:before{content:"\f176"}.mdi-battery-positive:before{content:"\f177"}.mdi-battery-unknown:before{content:"\f178"}.mdi-beach:before{content:"\f179"}.mdi-beaker:before{content:"\f17a"}.mdi-beaker-empty:before{content:"\f17b"}.mdi-beaker-empty-outline:before{content:"\f17c"}.mdi-beaker-outline:before{content:"\f17d"}.mdi-beats:before{content:"\f17e"}.mdi-beer:before{content:"\f17f"}.mdi-behance:before{content:"\f180"}.mdi-bell:before{content:"\f181"}.mdi-bell-off:before{content:"\f182"}.mdi-bell-outline:before{content:"\f183"}.mdi-bell-ring:before{content:"\f184"}.mdi-bell-ring-outline:before{content:"\f185"}.mdi-bell-sleep:before{content:"\f186"}.mdi-beta:before{content:"\f187"}.mdi-bike:before{content:"\f188"}.mdi-bing:before{content:"\f189"}.mdi-binoculars:before{content:"\f18a"}.mdi-bio:before{content:"\f18b"}.mdi-biohazard:before{content:"\f18c"}.mdi-bitbucket:before{content:"\f18d"}.mdi-black-mesa:before{content:"\f18e"}.mdi-blackberry:before{content:"\f18f"}.mdi-blinds:before{content:"\f190"}.mdi-block-helper:before{content:"\f191"}.mdi-blogger:before{content:"\f192"}.mdi-bluetooth:before{content:"\f193"}.mdi-bluetooth-audio:before{content:"\f194"}.mdi-bluetooth-connect:before{content:"\f195"}.mdi-bluetooth-settings:before{content:"\f196"}.mdi-bluetooth-transfer:before{content:"\f197"}.mdi-blur:before{content:"\f198"}.mdi-blur-linear:before{content:"\f199"}.mdi-blur-off:before{content:"\f19a"}.mdi-blur-radial:before{content:"\f19b"}.mdi-bone:before{content:"\f19c"}.mdi-book:before{content:"\f19d"}.mdi-book-multiple:before{content:"\f19e"}.mdi-book-multiple-variant:before{content:"\f19f"}.mdi-book-open:before{content:"\f1a0"}.mdi-book-variant:before{content:"\f1a1"}.mdi-bookmark:before{content:"\f1a2"}.mdi-bookmark-check:before{content:"\f1a3"}.mdi-bookmark-music:before{content:"\f1a4"}.mdi-bookmark-outline:before{content:"\f1a5"}.mdi-bookmark-outline-plus:before{content:"\f1a6"}.mdi-bookmark-plus:before{content:"\f1a7"}.mdi-bookmark-remove:before{content:"\f1a8"}.mdi-border-all:before{content:"\f1a9"}.mdi-border-bottom:before{content:"\f1aa"}.mdi-border-color:before{content:"\f1ab"}.mdi-border-horizontal:before{content:"\f1ac"}.mdi-border-inside:before{content:"\f1ad"}.mdi-border-left:before{content:"\f1ae"}.mdi-border-none:before{content:"\f1af"}.mdi-border-outside:before{content:"\f1b0"}.mdi-border-right:before{content:"\f1b1"}.mdi-border-top:before{content:"\f1b2"}.mdi-border-vertical:before{content:"\f1b3"}.mdi-bowling:before{content:"\f1b4"}.mdi-box:before{content:"\f1b5"}.mdi-briefcase:before{content:"\f1b6"}.mdi-briefcase-check:before{content:"\f1b7"}.mdi-briefcase-download:before{content:"\f1b8"}.mdi-briefcase-upload:before{content:"\f1b9"}.mdi-brightness-1:before{content:"\f1ba"}.mdi-brightness-2:before{content:"\f1bb"}.mdi-brightness-3:before{content:"\f1bc"}.mdi-brightness-4:before{content:"\f1bd"}.mdi-brightness-5:before{content:"\f1be"}.mdi-brightness-6:before{content:"\f1bf"}.mdi-brightness-7:before{content:"\f1c0"}.mdi-brightness-auto:before{content:"\f1c1"}.mdi-broom:before{content:"\f1c2"}.mdi-brush:before{content:"\f1c3"}.mdi-bug:before{content:"\f1c4"}.mdi-bulletin-board:before{content:"\f1c5"}.mdi-bullhorn:before{content:"\f1c6"}.mdi-bus:before{content:"\f1c7"}.mdi-cake:before{content:"\f1c8"}.mdi-cake-variant:before{content:"\f1c9"}.mdi-calculator:before{content:"\f1ca"}.mdi-calendar:before{content:"\f1cb"}.mdi-calendar-blank:before{content:"\f1cc"}.mdi-calendar-check:before{content:"\f1cd"}.mdi-calendar-clock:before{content:"\f1ce"}.mdi-calendar-multiple:before{content:"\f1cf"}.mdi-calendar-multiple-check:before{content:"\f1d0"}.mdi-calendar-plus:before{content:"\f1d1"}.mdi-calendar-remove:before{content:"\f1d2"}.mdi-calendar-text:before{content:"\f1d3"}.mdi-calendar-today:before{content:"\f1d4"}.mdi-camcorder:before{content:"\f1d5"}.mdi-camcorder-box:before{content:"\f1d6"}.mdi-camcorder-box-off:before{content:"\f1d7"}.mdi-camcorder-off:before{content:"\f1d8"}.mdi-camera:before{content:"\f1d9"}.mdi-camera-front:before{content:"\f1da"}.mdi-camera-front-variant:before{content:"\f1db"}.mdi-camera-iris:before{content:"\f1dc"}.mdi-camera-party-mode:before{content:"\f1dd"}.mdi-camera-rear:before{content:"\f1de"}.mdi-camera-rear-variant:before{content:"\f1df"}.mdi-camera-switch:before{content:"\f1e0"}.mdi-camera-timer:before{content:"\f1e1"}.mdi-candycane:before{content:"\f1e2"}.mdi-car:before{content:"\f1e3"}.mdi-car-wash:before{content:"\f1e4"}.mdi-carrot:before{content:"\f1e5"}.mdi-cart:before{content:"\f1e6"}.mdi-cart-outline:before{content:"\f1e7"}.mdi-cash:before{content:"\f1e8"}.mdi-cash-100:before{content:"\f1e9"}.mdi-cash-multiple:before{content:"\f1ea"}.mdi-cash-usd:before{content:"\f1eb"}.mdi-cast:before{content:"\f1ec"}.mdi-cast-connected:before{content:"\f1ed"}.mdi-castle:before{content:"\f1ee"}.mdi-cat:before{content:"\f1ef"}.mdi-cellphone:before{content:"\f1f0"}.mdi-cellphone-android:before{content:"\f1f1"}.mdi-cellphone-dock:before{content:"\f1f2"}.mdi-cellphone-iphone:before{content:"\f1f3"}.mdi-cellphone-link:before{content:"\f1f4"}.mdi-cellphone-link-off:before{content:"\f1f5"}.mdi-cellphone-settings:before{content:"\f1f6"}.mdi-chair-school:before{content:"\f1f7"}.mdi-chart-arc:before{content:"\f1f8"}.mdi-chart-areaspline:before{content:"\f1f9"}.mdi-chart-bar:before{content:"\f1fa"}.mdi-chart-histogram:before{content:"\f1fb"}.mdi-chart-line:before{content:"\f1fc"}.mdi-chart-pie:before{content:"\f1fd"}.mdi-check:before{content:"\f1fe"}.mdi-check-all:before{content:"\f1ff"}.mdi-checkbox-blank:before{content:"\f200"}.mdi-checkbox-blank-circle:before{content:"\f201"}.mdi-checkbox-blank-circle-outline:before{content:"\f202"}.mdi-checkbox-blank-outline:before{content:"\f203"}.mdi-checkbox-marked:before{content:"\f204"}.mdi-checkbox-marked-circle:before{content:"\f205"}.mdi-checkbox-marked-circle-outline:before{content:"\f206"}.mdi-checkbox-marked-outline:before{content:"\f207"}.mdi-checkbox-multiple-blank:before{content:"\f208"}.mdi-checkbox-multiple-blank-outline:before{content:"\f209"}.mdi-checkbox-multiple-marked:before{content:"\f20a"}.mdi-checkbox-multiple-marked-outline:before{content:"\f20b"}.mdi-checkerboard:before{content:"\f20c"}.mdi-chevron-double-down:before{content:"\f20d"}.mdi-chevron-double-left:before{content:"\f20e"}.mdi-chevron-double-right:before{content:"\f20f"}.mdi-chevron-double-up:before{content:"\f210"}.mdi-chevron-down:before{content:"\f211"}.mdi-chevron-left:before{content:"\f212"}.mdi-chevron-right:before{content:"\f213"}.mdi-chevron-up:before{content:"\f214"}.mdi-church:before{content:"\f215"}.mdi-cisco-webex:before{content:"\f216"}.mdi-city:before{content:"\f217"}.mdi-clipboard:before{content:"\f218"}.mdi-clipboard-account:before{content:"\f219"}.mdi-clipboard-alert:before{content:"\f21a"}.mdi-clipboard-arrow-down:before{content:"\f21b"}.mdi-clipboard-arrow-left:before{content:"\f21c"}.mdi-clipboard-check:before{content:"\f21d"}.mdi-clipboard-outline:before{content:"\f21e"}.mdi-clipboard-text:before{content:"\f21f"}.mdi-clippy:before{content:"\f220"}.mdi-clock:before{content:"\f221"}.mdi-clock-fast:before{content:"\f222"}.mdi-close:before{content:"\f223"}.mdi-close-box:before{content:"\f224"}.mdi-close-box-outline:before{content:"\f225"}.mdi-close-circle:before{content:"\f226"}.mdi-close-circle-outline:before{content:"\f227"}.mdi-close-network:before{content:"\f228"}.mdi-closed-caption:before{content:"\f229"}.mdi-cloud:before{content:"\f22a"}.mdi-cloud-check:before{content:"\f22b"}.mdi-cloud-circle:before{content:"\f22c"}.mdi-cloud-download:before{content:"\f22d"}.mdi-cloud-outline:before{content:"\f22e"}.mdi-cloud-outline-off:before{content:"\f22f"}.mdi-cloud-upload:before{content:"\f230"}.mdi-code-array:before{content:"\f231"}.mdi-code-braces:before{content:"\f232"}.mdi-code-equal:before{content:"\f233"}.mdi-code-greater-than:before{content:"\f234"}.mdi-code-less-than:before{content:"\f235"}.mdi-code-less-than-or-equal:before{content:"\f236"}.mdi-code-not-equal:before{content:"\f237"}.mdi-code-not-equal-variant:before{content:"\f238"}.mdi-code-string:before{content:"\f239"}.mdi-code-tags:before{content:"\f23a"}.mdi-codepen:before{content:"\f23b"}.mdi-coffee:before{content:"\f23c"}.mdi-coffee-to-go:before{content:"\f23d"}.mdi-coin:before{content:"\f23e"}.mdi-color-helper:before{content:"\f23f"}.mdi-comment:before{content:"\f240"}.mdi-comment-account:before{content:"\f241"}.mdi-comment-account-outline:before{content:"\f242"}.mdi-comment-alert:before{content:"\f243"}.mdi-comment-alert-outline:before{content:"\f244"}.mdi-comment-check:before{content:"\f245"}.mdi-comment-check-outline:before{content:"\f246"}.mdi-comment-multiple-outline:before{content:"\f247"}.mdi-comment-outline:before{content:"\f248"}.mdi-comment-plus-outline:before{content:"\f249"}.mdi-comment-processing:before{content:"\f24a"}.mdi-comment-processing-outline:before{content:"\f24b"}.mdi-comment-remove-outline:before{content:"\f24c"}.mdi-comment-text:before{content:"\f24d"}.mdi-comment-text-outline:before{content:"\f24e"}.mdi-compare:before{content:"\f24f"}.mdi-compass:before{content:"\f250"}.mdi-compass-outline:before{content:"\f251"}.mdi-console:before{content:"\f252"}.mdi-content-copy:before{content:"\f253"}.mdi-content-cut:before{content:"\f254"}.mdi-content-duplicate:before{content:"\f255"}.mdi-content-paste:before{content:"\f256"}.mdi-content-save:before{content:"\f257"}.mdi-content-save-all:before{content:"\f258"}.mdi-contrast:before{content:"\f259"}.mdi-contrast-box:before{content:"\f25a"}.mdi-contrast-circle:before{content:"\f25b"}.mdi-cow:before{content:"\f25c"}.mdi-credit-card:before{content:"\f25d"}.mdi-credit-card-multiple:before{content:"\f25e"}.mdi-crop:before{content:"\f25f"}.mdi-crop-free:before{content:"\f260"}.mdi-crop-landscape:before{content:"\f261"}.mdi-crop-portrait:before{content:"\f262"}.mdi-crop-square:before{content:"\f263"}.mdi-crosshairs:before{content:"\f264"}.mdi-crosshairs-gps:before{content:"\f265"}.mdi-crown:before{content:"\f266"}.mdi-cube:before{content:"\f267"}.mdi-cube-outline:before{content:"\f268"}.mdi-cube-unfolded:before{content:"\f269"}.mdi-cup:before{content:"\f26a"}.mdi-cup-water:before{content:"\f26b"}.mdi-currency-btc:before{content:"\f26c"}.mdi-currency-eur:before{content:"\f26d"}.mdi-currency-gbp:before{content:"\f26e"}.mdi-currency-inr:before{content:"\f26f"}.mdi-currency-rub:before{content:"\f270"}.mdi-currency-try:before{content:"\f271"}.mdi-currency-usd:before{content:"\f272"}.mdi-cursor-default:before{content:"\f273"}.mdi-cursor-default-outline:before{content:"\f274"}.mdi-cursor-move:before{content:"\f275"}.mdi-cursor-pointer:before{content:"\f276"}.mdi-database:before{content:"\f277"}.mdi-database-minus:before{content:"\f278"}.mdi-database-outline:before{content:"\f279"}.mdi-database-plus:before{content:"\f27a"}.mdi-debug-step-into:before{content:"\f27b"}.mdi-debug-step-out:before{content:"\f27c"}.mdi-debug-step-over:before{content:"\f27d"}.mdi-decimal-decrease:before{content:"\f27e"}.mdi-decimal-increase:before{content:"\f27f"}.mdi-delete:before{content:"\f280"}.mdi-delete-variant:before{content:"\f281"}.mdi-deskphone:before{content:"\f282"}.mdi-desktop-mac:before{content:"\f283"}.mdi-desktop-tower:before{content:"\f284"}.mdi-details:before{content:"\f285"}.mdi-deviantart:before{content:"\f286"}.mdi-diamond:before{content:"\f287"}.mdi-dice:before{content:"\f288"}.mdi-dice-1:before{content:"\f289"}.mdi-dice-2:before{content:"\f28a"}.mdi-dice-3:before{content:"\f28b"}.mdi-dice-4:before{content:"\f28c"}.mdi-dice-5:before{content:"\f28d"}.mdi-dice-6:before{content:"\f28e"}.mdi-directions:before{content:"\f28f"}.mdi-disk-alert:before{content:"\f290"}.mdi-disqus:before{content:"\f291"}.mdi-disqus-outline:before{content:"\f292"}.mdi-division:before{content:"\f293"}.mdi-division-box:before{content:"\f294"}.mdi-dns:before{content:"\f295"}.mdi-domain:before{content:"\f296"}.mdi-dots-horizontal:before{content:"\f297"}.mdi-dots-vertical:before{content:"\f298"}.mdi-download:before{content:"\f299"}.mdi-drag:before{content:"\f29a"}.mdi-drag-horizontal:before{content:"\f29b"}.mdi-drag-vertical:before{content:"\f29c"}.mdi-drawing:before{content:"\f29d"}.mdi-drawing-box:before{content:"\f29e"}.mdi-dribbble:before{content:"\f29f"}.mdi-dribbble-box:before{content:"\f2a0"}.mdi-drone:before{content:"\f2a1"}.mdi-dropbox:before{content:"\f2a2"}.mdi-drupal:before{content:"\f2a3"}.mdi-duck:before{content:"\f2a4"}.mdi-dumbbell:before{content:"\f2a5"}.mdi-earth:before{content:"\f2a6"}.mdi-earth-off:before{content:"\f2a7"}.mdi-edge:before{content:"\f2a8"}.mdi-eject:before{content:"\f2a9"}.mdi-elevation-decline:before{content:"\f2aa"}.mdi-elevation-rise:before{content:"\f2ab"}.mdi-elevator:before{content:"\f2ac"}.mdi-email:before{content:"\f2ad"}.mdi-email-open:before{content:"\f2ae"}.mdi-email-outline:before{content:"\f2af"}.mdi-email-secure:before{content:"\f2b0"}.mdi-emoticon:before{content:"\f2b1"}.mdi-emoticon-cool:before{content:"\f2b2"}.mdi-emoticon-devil:before{content:"\f2b3"}.mdi-emoticon-happy:before{content:"\f2b4"}.mdi-emoticon-neutral:before{content:"\f2b5"}.mdi-emoticon-poop:before{content:"\f2b6"}.mdi-emoticon-sad:before{content:"\f2b7"}.mdi-emoticon-tongue:before{content:"\f2b8"}.mdi-engine:before{content:"\f2b9"}.mdi-engine-outline:before{content:"\f2ba"}.mdi-equal:before{content:"\f2bb"}.mdi-equal-box:before{content:"\f2bc"}.mdi-eraser:before{content:"\f2bd"}.mdi-escalator:before{content:"\f2be"}.mdi-etsy:before{content:"\f2bf"}.mdi-evernote:before{content:"\f2c0"}.mdi-exclamation:before{content:"\f2c1"}.mdi-exit-to-app:before{content:"\f2c2"}.mdi-export:before{content:"\f2c3"}.mdi-eye:before{content:"\f2c4"}.mdi-eye-off:before{content:"\f2c5"}.mdi-eyedropper:before{content:"\f2c6"}.mdi-eyedropper-variant:before{content:"\f2c7"}.mdi-facebook:before{content:"\f2c8"}.mdi-facebook-box:before{content:"\f2c9"}.mdi-facebook-messenger:before{content:"\f2ca"}.mdi-factory:before{content:"\f2cb"}.mdi-fan:before{content:"\f2cc"}.mdi-fast-forward:before{content:"\f2cd"}.mdi-ferry:before{content:"\f2ce"}.mdi-file:before{content:"\f2cf"}.mdi-file-cloud:before{content:"\f2d0"}.mdi-file-delimited:before{content:"\f2d1"}.mdi-file-document:before{content:"\f2d2"}.mdi-file-document-box:before{content:"\f2d3"}.mdi-file-excel:before{content:"\f2d4"}.mdi-file-excel-box:before{content:"\f2d5"}.mdi-file-find:before{content:"\f2d6"}.mdi-file-image:before{content:"\f2d7"}.mdi-file-image-box:before{content:"\f2d8"}.mdi-file-multiple:before{content:"\f2d9"}.mdi-file-music:before{content:"\f2da"}.mdi-file-outline:before{content:"\f2db"}.mdi-file-pdf:before{content:"\f2dc"}.mdi-file-pdf-box:before{content:"\f2dd"}.mdi-file-powerpoint:before{content:"\f2de"}.mdi-file-powerpoint-box:before{content:"\f2df"}.mdi-file-presentation-box:before{content:"\f2e0"}.mdi-file-video:before{content:"\f2e1"}.mdi-file-word:before{content:"\f2e2"}.mdi-file-word-box:before{content:"\f2e3"}.mdi-file-xml:before{content:"\f2e4"}.mdi-film:before{content:"\f2e5"}.mdi-filmstrip:before{content:"\f2e6"}.mdi-filmstrip-off:before{content:"\f2e7"}.mdi-filter:before{content:"\f2e8"}.mdi-filter-outline:before{content:"\f2e9"}.mdi-filter-remove:before{content:"\f2ea"}.mdi-filter-remove-outline:before{content:"\f2eb"}.mdi-filter-variant:before{content:"\f2ec"}.mdi-fire:before{content:"\f2ed"}.mdi-firefox:before{content:"\f2ee"}.mdi-fish:before{content:"\f2ef"}.mdi-flag:before{content:"\f2f0"}.mdi-flag-checkered:before{content:"\f2f1"}.mdi-flag-outline:before{content:"\f2f2"}.mdi-flag-outline-variant:before{content:"\f2f3"}.mdi-flag-triangle:before{content:"\f2f4"}.mdi-flag-variant:before{content:"\f2f5"}.mdi-flash:before{content:"\f2f6"}.mdi-flash-auto:before{content:"\f2f7"}.mdi-flash-off:before{content:"\f2f8"}.mdi-flashlight:before{content:"\f2f9"}.mdi-flashlight-off:before{content:"\f2fa"}.mdi-flattr:before{content:"\f2fb"}.mdi-flip-to-back:before{content:"\f2fc"}.mdi-flip-to-front:before{content:"\f2fd"}.mdi-floppy:before{content:"\f2fe"}.mdi-flower:before{content:"\f2ff"}.mdi-folder:before{content:"\f300"}.mdi-folder-account:before{content:"\f301"}.mdi-folder-download:before{content:"\f302"}.mdi-folder-google-drive:before{content:"\f303"}.mdi-folder-image:before{content:"\f304"}.mdi-folder-lock:before{content:"\f305"}.mdi-folder-lock-open:before{content:"\f306"}.mdi-folder-move:before{content:"\f307"}.mdi-folder-multiple:before{content:"\f308"}.mdi-folder-multiple-image:before{content:"\f309"}.mdi-folder-multiple-outline:before{content:"\f30a"}.mdi-folder-outline:before{content:"\f30b"}.mdi-folder-plus:before{content:"\f30c"}.mdi-folder-remove:before{content:"\f30d"}.mdi-folder-upload:before{content:"\f30e"}.mdi-food:before{content:"\f30f"}.mdi-food-apple:before{content:"\f310"}.mdi-food-variant:before{content:"\f311"}.mdi-football:before{content:"\f312"}.mdi-football-helmet:before{content:"\f313"}.mdi-format-align-center:before{content:"\f314"}.mdi-format-align-justify:before{content:"\f315"}.mdi-format-align-left:before{content:"\f316"}.mdi-format-align-right:before{content:"\f317"}.mdi-format-bold:before{content:"\f318"}.mdi-format-clear:before{content:"\f319"}.mdi-format-color-fill:before{content:"\f31a"}.mdi-format-float-center:before{content:"\f31b"}.mdi-format-float-left:before{content:"\f31c"}.mdi-format-float-none:before{content:"\f31d"}.mdi-format-float-right:before{content:"\f31e"}.mdi-format-header-1:before{content:"\f31f"}.mdi-format-header-2:before{content:"\f320"}.mdi-format-header-3:before{content:"\f321"}.mdi-format-header-4:before{content:"\f322"}.mdi-format-header-5:before{content:"\f323"}.mdi-format-header-6:before{content:"\f324"}.mdi-format-header-decrease:before{content:"\f325"}.mdi-format-header-equal:before{content:"\f326"}.mdi-format-header-increase:before{content:"\f327"}.mdi-format-header-pound:before{content:"\f328"}.mdi-format-indent-decrease:before{content:"\f329"}.mdi-format-indent-increase:before{content:"\f32a"}.mdi-format-italic:before{content:"\f32b"}.mdi-format-line-spacing:before{content:"\f32c"}.mdi-format-list-bulleted:before{content:"\f32d"}.mdi-format-list-numbers:before{content:"\f32e"}.mdi-format-paint:before{content:"\f32f"}.mdi-format-paragraph:before{content:"\f330"}.mdi-format-quote:before{content:"\f331"}.mdi-format-size:before{content:"\f332"}.mdi-format-strikethrough:before{content:"\f333"}.mdi-format-subscript:before{content:"\f334"}.mdi-format-superscript:before{content:"\f335"}.mdi-format-text:before{content:"\f336"}.mdi-format-textdirection-l-to-r:before{content:"\f337"}.mdi-format-textdirection-r-to-l:before{content:"\f338"}.mdi-format-underline:before{content:"\f339"}.mdi-format-wrap-inline:before{content:"\f33a"}.mdi-format-wrap-square:before{content:"\f33b"}.mdi-format-wrap-tight:before{content:"\f33c"}.mdi-format-wrap-top-bottom:before{content:"\f33d"}.mdi-forum:before{content:"\f33e"}.mdi-forward:before{content:"\f33f"}.mdi-foursquare:before{content:"\f340"}.mdi-fridge:before{content:"\f341"}.mdi-fullscreen:before{content:"\f342"}.mdi-fullscreen-exit:before{content:"\f343"}.mdi-function:before{content:"\f344"}.mdi-gamepad:before{content:"\f345"}.mdi-gamepad-variant:before{content:"\f346"}.mdi-gas-station:before{content:"\f347"}.mdi-gavel:before{content:"\f348"}.mdi-gender-female:before{content:"\f349"}.mdi-gender-male:before{content:"\f34a"}.mdi-gender-male-female:before{content:"\f34b"}.mdi-gender-transgender:before{content:"\f34c"}.mdi-gift:before{content:"\f34d"}.mdi-git:before{content:"\f34e"}.mdi-github-box:before{content:"\f34f"}.mdi-github-circle:before{content:"\f350"}.mdi-glass-flute:before{content:"\f351"}.mdi-glass-mug:before{content:"\f352"}.mdi-glass-stange:before{content:"\f353"}.mdi-glass-tulip:before{content:"\f354"}.mdi-glasses:before{content:"\f355"}.mdi-gmail:before{content:"\f356"}.mdi-google:before{content:"\f357"}.mdi-google-chrome:before{content:"\f358"}.mdi-google-circles:before{content:"\f359"}.mdi-google-circles-communities:before{content:"\f35a"}.mdi-google-circles-extended:before{content:"\f35b"}.mdi-google-circles-group:before{content:"\f35c"}.mdi-google-controller:before{content:"\f35d"}.mdi-google-controller-off:before{content:"\f35e"}.mdi-google-drive:before{content:"\f35f"}.mdi-google-earth:before{content:"\f360"}.mdi-google-glass:before{content:"\f361"}.mdi-google-maps:before{content:"\f362"}.mdi-google-pages:before{content:"\f363"}.mdi-google-play:before{content:"\f364"}.mdi-google-plus:before{content:"\f365"}.mdi-google-plus-box:before{content:"\f366"}.mdi-grid:before{content:"\f367"}.mdi-grid-off:before{content:"\f368"}.mdi-group:before{content:"\f369"}.mdi-guitar:before{content:"\f36a"}.mdi-guitar-pick:before{content:"\f36b"}.mdi-guitar-pick-outline:before{content:"\f36c"}.mdi-hand-pointing-right:before{content:"\f36d"}.mdi-hanger:before{content:"\f36e"}.mdi-hangouts:before{content:"\f36f"}.mdi-harddisk:before{content:"\f370"}.mdi-headphones:before{content:"\f371"}.mdi-headphones-box:before{content:"\f372"}.mdi-headphones-settings:before{content:"\f373"}.mdi-headset:before{content:"\f374"}.mdi-headset-dock:before{content:"\f375"}.mdi-headset-off:before{content:"\f376"}.mdi-heart:before{content:"\f377"}.mdi-heart-box:before{content:"\f378"}.mdi-heart-box-outline:before{content:"\f379"}.mdi-heart-broken:before{content:"\f37a"}.mdi-heart-outline:before{content:"\f37b"}.mdi-help:before{content:"\f37c"}.mdi-help-circle:before{content:"\f37d"}.mdi-hexagon:before{content:"\f37e"}.mdi-hexagon-outline:before{content:"\f37f"}.mdi-history:before{content:"\f380"}.mdi-hololens:before{content:"\f381"}.mdi-home:before{content:"\f382"}.mdi-home-modern:before{content:"\f383"}.mdi-home-variant:before{content:"\f384"}.mdi-hops:before{content:"\f385"}.mdi-hospital:before{content:"\f386"}.mdi-hospital-building:before{content:"\f387"}.mdi-hospital-marker:before{content:"\f388"}.mdi-hotel:before{content:"\f389"}.mdi-houzz:before{content:"\f38a"}.mdi-houzz-box:before{content:"\f38b"}.mdi-human:before{content:"\f38c"}.mdi-human-child:before{content:"\f38d"}.mdi-human-male-female:before{content:"\f38e"}.mdi-image-album:before{content:"\f38f"}.mdi-image-area:before{content:"\f390"}.mdi-image-area-close:before{content:"\f391"}.mdi-image-broken:before{content:"\f392"}.mdi-image-filter:before{content:"\f393"}.mdi-image-filter-black-white:before{content:"\f394"}.mdi-image-filter-center-focus:before{content:"\f395"}.mdi-image-filter-drama:before{content:"\f396"}.mdi-image-filter-frames:before{content:"\f397"}.mdi-image-filter-hdr:before{content:"\f398"}.mdi-image-filter-none:before{content:"\f399"}.mdi-image-filter-tilt-shift:before{content:"\f39a"}.mdi-image-filter-vintage:before{content:"\f39b"}.mdi-import:before{content:"\f39c"}.mdi-inbox:before{content:"\f39d"}.mdi-information:before{content:"\f39e"}.mdi-information-outline:before{content:"\f39f"}.mdi-instagram:before{content:"\f3a0"}.mdi-instapaper:before{content:"\f3a1"}.mdi-internet-explorer:before{content:"\f3a2"}.mdi-invert-colors:before{content:"\f3a3"}.mdi-jira:before{content:"\f3a4"}.mdi-jsfiddle:before{content:"\f3a5"}.mdi-keg:before{content:"\f3a6"}.mdi-key:before{content:"\f3a7"}.mdi-key-change:before{content:"\f3a8"}.mdi-key-minus:before{content:"\f3a9"}.mdi-key-plus:before{content:"\f3aa"}.mdi-key-remove:before{content:"\f3ab"}.mdi-key-variant:before{content:"\f3ac"}.mdi-keyboard:before{content:"\f3ad"}.mdi-keyboard-backspace:before{content:"\f3ae"}.mdi-keyboard-caps:before{content:"\f3af"}.mdi-keyboard-close:before{content:"\f3b0"}.mdi-keyboard-off:before{content:"\f3b1"}.mdi-keyboard-return:before{content:"\f3b2"}.mdi-keyboard-tab:before{content:"\f3b3"}.mdi-keyboard-variant:before{content:"\f3b4"}.mdi-label:before{content:"\f3b5"}.mdi-label-outline:before{content:"\f3b6"}.mdi-language-csharp:before{content:"\f3b7"}.mdi-language-css3:before{content:"\f3b8"}.mdi-language-html5:before{content:"\f3b9"}.mdi-language-javascript:before{content:"\f3ba"}.mdi-language-python:before{content:"\f3bb"}.mdi-language-python-text:before{content:"\f3bc"}.mdi-laptop:before{content:"\f3bd"}.mdi-laptop-chromebook:before{content:"\f3be"}.mdi-laptop-mac:before{content:"\f3bf"}.mdi-laptop-windows:before{content:"\f3c0"}.mdi-lastfm:before{content:"\f3c1"}.mdi-launch:before{content:"\f3c2"}.mdi-layers:before{content:"\f3c3"}.mdi-layers-off:before{content:"\f3c4"}.mdi-leaf:before{content:"\f3c5"}.mdi-library:before{content:"\f3c6"}.mdi-library-books:before{content:"\f3c7"}.mdi-library-music:before{content:"\f3c8"}.mdi-library-plus:before{content:"\f3c9"}.mdi-lightbulb:before{content:"\f3ca"}.mdi-lightbulb-outline:before{content:"\f3cb"}.mdi-link:before{content:"\f3cc"}.mdi-link-off:before{content:"\f3cd"}.mdi-link-variant:before{content:"\f3ce"}.mdi-link-variant-off:before{content:"\f3cf"}.mdi-linkedin:before{content:"\f3d0"}.mdi-linkedin-box:before{content:"\f3d1"}.mdi-linux:before{content:"\f3d2"}.mdi-lock:before{content:"\f3d3"}.mdi-lock-open:before{content:"\f3d4"}.mdi-lock-open-outline:before{content:"\f3d5"}.mdi-lock-outline:before{content:"\f3d6"}.mdi-login:before{content:"\f3d7"}.mdi-logout:before{content:"\f3d8"}.mdi-looks:before{content:"\f3d9"}.mdi-loupe:before{content:"\f3da"}.mdi-lumx:before{content:"\f3db"}.mdi-magnet:before{content:"\f3dc"}.mdi-magnet-on:before{content:"\f3dd"}.mdi-magnify:before{content:"\f3de"}.mdi-magnify-minus:before{content:"\f3df"}.mdi-magnify-plus:before{content:"\f3e0"}.mdi-mail-ru:before{content:"\f3e1"}.mdi-map:before{content:"\f3e2"}.mdi-map-marker:before{content:"\f3e3"}.mdi-map-marker-circle:before{content:"\f3e4"}.mdi-map-marker-multiple:before{content:"\f3e5"}.mdi-map-marker-off:before{content:"\f3e6"}.mdi-map-marker-radius:before{content:"\f3e7"}.mdi-margin:before{content:"\f3e8"}.mdi-markdown:before{content:"\f3e9"}.mdi-marker-check:before{content:"\f3ea"}.mdi-martini:before{content:"\f3eb"}.mdi-material-ui:before{content:"\f3ec"}.mdi-math-compass:before{content:"\f3ed"}.mdi-maxcdn:before{content:"\f3ee"}.mdi-medium:before{content:"\f3ef"}.mdi-memory:before{content:"\f3f0"}.mdi-menu:before{content:"\f3f1"}.mdi-menu-down:before{content:"\f3f2"}.mdi-menu-left:before{content:"\f3f3"}.mdi-menu-right:before{content:"\f3f4"}.mdi-menu-up:before{content:"\f3f5"}.mdi-message:before{content:"\f3f6"}.mdi-message-alert:before{content:"\f3f7"}.mdi-message-draw:before{content:"\f3f8"}.mdi-message-image:before{content:"\f3f9"}.mdi-message-processing:before{content:"\f3fa"}.mdi-message-reply:before{content:"\f3fb"}.mdi-message-text:before{content:"\f3fc"}.mdi-message-text-outline:before{content:"\f3fd"}.mdi-message-video:before{content:"\f3fe"}.mdi-microphone:before{content:"\f3ff"}.mdi-microphone-off:before{content:"\f400"}.mdi-microphone-outline:before{content:"\f401"}.mdi-microphone-settings:before{content:"\f402"}.mdi-microphone-variant:before{content:"\f403"}.mdi-microphone-variant-off:before{content:"\f404"}.mdi-minus:before{content:"\f405"}.mdi-minus-box:before{content:"\f406"}.mdi-minus-circle:before{content:"\f407"}.mdi-minus-circle-outline:before{content:"\f408"}.mdi-minus-network:before{content:"\f409"}.mdi-monitor:before{content:"\f40a"}.mdi-monitor-multiple:before{content:"\f40b"}.mdi-more:before{content:"\f40c"}.mdi-motorbike:before{content:"\f40d"}.mdi-mouse:before{content:"\f40e"}.mdi-mouse-off:before{content:"\f40f"}.mdi-mouse-variant:before{content:"\f410"}.mdi-mouse-variant-off:before{content:"\f411"}.mdi-movie:before{content:"\f412"}.mdi-multiplication:before{content:"\f413"}.mdi-multiplication-box:before{content:"\f414"}.mdi-music-box:before{content:"\f415"}.mdi-music-box-outline:before{content:"\f416"}.mdi-music-circle:before{content:"\f417"}.mdi-music-note:before{content:"\f418"}.mdi-music-note-eighth:before{content:"\f419"}.mdi-music-note-half:before{content:"\f41a"}.mdi-music-note-off:before{content:"\f41b"}.mdi-music-note-quarter:before{content:"\f41c"}.mdi-music-note-sixteenth:before{content:"\f41d"}.mdi-music-note-whole:before{content:"\f41e"}.mdi-nature:before{content:"\f41f"}.mdi-nature-people:before{content:"\f420"}.mdi-navigation:before{content:"\f421"}.mdi-needle:before{content:"\f422"}.mdi-nest-protect:before{content:"\f423"}.mdi-nest-thermostat:before{content:"\f424"}.mdi-newspaper:before{content:"\f425"}.mdi-nfc:before{content:"\f426"}.mdi-nfc-tap:before{content:"\f427"}.mdi-nfc-variant:before{content:"\f428"}.mdi-note:before{content:"\f429"}.mdi-note-outline:before{content:"\f42a"}.mdi-note-text:before{content:"\f42b"}.mdi-numeric:before{content:"\f42c"}.mdi-numeric-0-box:before{content:"\f42d"}.mdi-numeric-0-box-multiple-outline:before{content:"\f42e"}.mdi-numeric-0-box-outline:before{content:"\f42f"}.mdi-numeric-1-box:before{content:"\f430"}.mdi-numeric-1-box-multiple-outline:before{content:"\f431"}.mdi-numeric-1-box-outline:before{content:"\f432"}.mdi-numeric-2-box:before{content:"\f433"}.mdi-numeric-2-box-multiple-outline:before{content:"\f434"}.mdi-numeric-2-box-outline:before{content:"\f435"}.mdi-numeric-3-box:before{content:"\f436"}.mdi-numeric-3-box-multiple-outline:before{content:"\f437"}.mdi-numeric-3-box-outline:before{content:"\f438"}.mdi-numeric-4-box:before{content:"\f439"}.mdi-numeric-4-box-multiple-outline:before{content:"\f43a"}.mdi-numeric-4-box-outline:before{content:"\f43b"}.mdi-numeric-5-box:before{content:"\f43c"}.mdi-numeric-5-box-multiple-outline:before{content:"\f43d"}.mdi-numeric-5-box-outline:before{content:"\f43e"}.mdi-numeric-6-box:before{content:"\f43f"}.mdi-numeric-6-box-multiple-outline:before{content:"\f440"}.mdi-numeric-6-box-outline:before{content:"\f441"}.mdi-numeric-7-box:before{content:"\f442"}.mdi-numeric-7-box-multiple-outline:before{content:"\f443"}.mdi-numeric-7-box-outline:before{content:"\f444"}.mdi-numeric-8-box:before{content:"\f445"}.mdi-numeric-8-box-multiple-outline:before{content:"\f446"}.mdi-numeric-8-box-outline:before{content:"\f447"}.mdi-numeric-9-box:before{content:"\f448"}.mdi-numeric-9-box-multiple-outline:before{content:"\f449"}.mdi-numeric-9-box-outline:before{content:"\f44a"}.mdi-numeric-9-plus-box:before{content:"\f44b"}.mdi-numeric-9-plus-box-multiple-outline:before{content:"\f44c"}.mdi-numeric-9-plus-box-outline:before{content:"\f44d"}.mdi-nutriton:before{content:"\f44e"}.mdi-odnoklassniki:before{content:"\f44f"}.mdi-office:before{content:"\f450"}.mdi-oil:before{content:"\f451"}.mdi-omega:before{content:"\f452"}.mdi-onedrive:before{content:"\f453"}.mdi-open-in-app:before{content:"\f454"}.mdi-open-in-new:before{content:"\f455"}.mdi-ornament:before{content:"\f456"}.mdi-ornament-variant:before{content:"\f457"}.mdi-outbox:before{content:"\f458"}.mdi-owl:before{content:"\f459"}.mdi-package:before{content:"\f45a"}.mdi-package-down:before{content:"\f45b"}.mdi-package-up:before{content:"\f45c"}.mdi-package-variant:before{content:"\f45d"}.mdi-package-variant-closed:before{content:"\f45e"}.mdi-palette:before{content:"\f45f"}.mdi-palette-advanced:before{content:"\f460"}.mdi-panda:before{content:"\f461"}.mdi-pandora:before{content:"\f462"}.mdi-panorama:before{content:"\f463"}.mdi-panorama-fisheye:before{content:"\f464"}.mdi-panorama-horizontal:before{content:"\f465"}.mdi-panorama-vertical:before{content:"\f466"}.mdi-panorama-wide-angle:before{content:"\f467"}.mdi-paper-cut-vertical:before{content:"\f468"}.mdi-paperclip:before{content:"\f469"}.mdi-parking:before{content:"\f46a"}.mdi-pause:before{content:"\f46b"}.mdi-pause-circle:before{content:"\f46c"}.mdi-pause-circle-outline:before{content:"\f46d"}.mdi-pause-octagon:before{content:"\f46e"}.mdi-pause-octagon-outline:before{content:"\f46f"}.mdi-paw:before{content:"\f470"}.mdi-pen:before{content:"\f471"}.mdi-pencil:before{content:"\f472"}.mdi-pencil-box:before{content:"\f473"}.mdi-pencil-box-outline:before{content:"\f474"}.mdi-percent:before{content:"\f475"}.mdi-pharmacy:before{content:"\f476"}.mdi-phone:before{content:"\f477"}.mdi-phone-bluetooth:before{content:"\f478"}.mdi-phone-forward:before{content:"\f479"}.mdi-phone-hangup:before{content:"\f47a"}.mdi-phone-in-talk:before{content:"\f47b"}.mdi-phone-incoming:before{content:"\f47c"}.mdi-phone-locked:before{content:"\f47d"}.mdi-phone-log:before{content:"\f47e"}.mdi-phone-missed:before{content:"\f47f"}.mdi-phone-outgoing:before{content:"\f480"}.mdi-phone-paused:before{content:"\f481"}.mdi-phone-settings:before{content:"\f482"}.mdi-pig:before{content:"\f483"}.mdi-pill:before{content:"\f484"}.mdi-pin:before{content:"\f485"}.mdi-pin-off:before{content:"\f486"}.mdi-pine-tree:before{content:"\f487"}.mdi-pine-tree-box:before{content:"\f488"}.mdi-pinterest:before{content:"\f489"}.mdi-pinterest-box:before{content:"\f48a"}.mdi-pizza:before{content:"\f48b"}.mdi-play:before{content:"\f48c"}.mdi-play-box-outline:before{content:"\f48d"}.mdi-play-circle:before{content:"\f48e"}.mdi-play-circle-outline:before{content:"\f48f"}.mdi-playlist-minus:before{content:"\f490"}.mdi-playlist-plus:before{content:"\f491"}.mdi-playstation:before{content:"\f492"}.mdi-plus:before{content:"\f493"}.mdi-plus-box:before{content:"\f494"}.mdi-plus-circle:before{content:"\f495"}.mdi-plus-circle-outline:before{content:"\f496"}.mdi-plus-network:before{content:"\f497"}.mdi-plus-one:before{content:"\f498"}.mdi-pocket:before{content:"\f499"}.mdi-poll:before{content:"\f49a"}.mdi-poll-box:before{content:"\f49b"}.mdi-polymer:before{content:"\f49c"}.mdi-popcorn:before{content:"\f49d"}.mdi-pound:before{content:"\f49e"}.mdi-pound-box:before{content:"\f49f"}.mdi-power:before{content:"\f4a0"}.mdi-power-settings:before{content:"\f4a1"}.mdi-power-socket:before{content:"\f4a2"}.mdi-presentation:before{content:"\f4a3"}.mdi-presentation-play:before{content:"\f4a4"}.mdi-printer:before{content:"\f4a5"}.mdi-printer-3d:before{content:"\f4a6"}.mdi-pulse:before{content:"\f4a7"}.mdi-puzzle:before{content:"\f4a8"}.mdi-qrcode:before{content:"\f4a9"}.mdi-quadcopter:before{content:"\f4aa"}.mdi-quality-high:before{content:"\f4ab"}.mdi-quicktime:before{content:"\f4ac"}.mdi-radiator:before{content:"\f4ad"}.mdi-radio:before{content:"\f4ae"}.mdi-radio-tower:before{content:"\f4af"}.mdi-radioactive:before{content:"\f4b0"}.mdi-radiobox-blank:before{content:"\f4b1"}.mdi-radiobox-marked:before{content:"\f4b2"}.mdi-raspberrypi:before{content:"\f4b3"}.mdi-rdio:before{content:"\f4b4"}.mdi-read:before{content:"\f4b5"}.mdi-readability:before{content:"\f4b6"}.mdi-receipt:before{content:"\f4b7"}.mdi-recycle:before{content:"\f4b8"}.mdi-redo:before{content:"\f4b9"}.mdi-redo-variant:before{content:"\f4ba"}.mdi-refresh:before{content:"\f4bb"}.mdi-relative-scale:before{content:"\f4bc"}.mdi-reload:before{content:"\f4bd"}.mdi-remote:before{content:"\f4be"}.mdi-rename-box:before{content:"\f4bf"}.mdi-repeat:before{content:"\f4c0"}.mdi-repeat-off:before{content:"\f4c1"}.mdi-repeat-once:before{content:"\f4c2"}.mdi-replay:before{content:"\f4c3"}.mdi-reply:before{content:"\f4c4"}.mdi-reply-all:before{content:"\f4c5"}.mdi-reproduction:before{content:"\f4c6"}.mdi-resize-bottom-right:before{content:"\f4c7"}.mdi-responsive:before{content:"\f4c8"}.mdi-rewind:before{content:"\f4c9"}.mdi-ribbon:before{content:"\f4ca"}.mdi-road:before{content:"\f4cb"}.mdi-rocket:before{content:"\f4cc"}.mdi-rotate-3d:before{content:"\f4cd"}.mdi-rotate-left:before{content:"\f4ce"}.mdi-rotate-left-variant:before{content:"\f4cf"}.mdi-rotate-right:before{content:"\f4d0"}.mdi-rotate-right-variant:before{content:"\f4d1"}.mdi-routes:before{content:"\f4d2"}.mdi-rss:before{content:"\f4d3"}.mdi-rss-box:before{content:"\f4d4"}.mdi-ruler:before{content:"\f4d5"}.mdi-run:before{content:"\f4d6"}.mdi-sale:before{content:"\f4d7"}.mdi-satellite:before{content:"\f4d8"}.mdi-satellite-variant:before{content:"\f4d9"}.mdi-scale:before{content:"\f4da"}.mdi-scale-bathroom:before{content:"\f4db"}.mdi-school:before{content:"\f4dc"}.mdi-screen-rotation:before{content:"\f4dd"}.mdi-screen-rotation-lock:before{content:"\f4de"}.mdi-script:before{content:"\f4df"}.mdi-sd:before{content:"\f4e0"}.mdi-security:before{content:"\f4e1"}.mdi-security-network:before{content:"\f4e2"}.mdi-select:before{content:"\f4e3"}.mdi-select-all:before{content:"\f4e4"}.mdi-select-inverse:before{content:"\f4e5"}.mdi-select-off:before{content:"\f4e6"}.mdi-send:before{content:"\f4e7"}.mdi-server:before{content:"\f4e8"}.mdi-server-minus:before{content:"\f4e9"}.mdi-server-network:before{content:"\f4ea"}.mdi-server-network-off:before{content:"\f4eb"}.mdi-server-off:before{content:"\f4ec"}.mdi-server-plus:before{content:"\f4ed"}.mdi-server-remove:before{content:"\f4ee"}.mdi-server-security:before{content:"\f4ef"}.mdi-settings:before{content:"\f4f0"}.mdi-settings-box:before{content:"\f4f1"}.mdi-shape-plus:before{content:"\f4f2"}.mdi-share:before{content:"\f4f3"}.mdi-share-variant:before{content:"\f4f4"}.mdi-shield:before{content:"\f4f5"}.mdi-shield-outline:before{content:"\f4f6"}.mdi-shopping:before{content:"\f4f7"}.mdi-shopping-music:before{content:"\f4f8"}.mdi-shuffle:before{content:"\f4f9"}.mdi-sigma:before{content:"\f4fa"}.mdi-sign-caution:before{content:"\f4fb"}.mdi-signal:before{content:"\f4fc"}.mdi-silverware:before{content:"\f4fd"}.mdi-silverware-fork:before{content:"\f4fe"}.mdi-silverware-spoon:before{content:"\f4ff"}.mdi-silverware-variant:before{content:"\f500"}.mdi-sim-alert:before{content:"\f501"}.mdi-sitemap:before{content:"\f502"}.mdi-skip-next:before{content:"\f503"}.mdi-skip-previous:before{content:"\f504"}.mdi-skype:before{content:"\f505"}.mdi-skype-business:before{content:"\f506"}.mdi-sleep:before{content:"\f507"}.mdi-sleep-off:before{content:"\f508"}.mdi-smoking:before{content:"\f509"}.mdi-smoking-off:before{content:"\f50a"}.mdi-snapchat:before{content:"\f50b"}.mdi-snowman:before{content:"\f50c"}.mdi-sofa:before{content:"\f50d"}.mdi-sort:before{content:"\f50e"}.mdi-sort-alphabetical:before{content:"\f50f"}.mdi-sort-ascending:before{content:"\f510"}.mdi-sort-descending:before{content:"\f511"}.mdi-sort-numeric:before{content:"\f512"}.mdi-sort-variant:before{content:"\f513"}.mdi-soundcloud:before{content:"\f514"}.mdi-source-fork:before{content:"\f515"}.mdi-source-pull:before{content:"\f516"}.mdi-speaker:before{content:"\f517"}.mdi-speaker-off:before{content:"\f518"}.mdi-speedometer:before{content:"\f519"}.mdi-spellcheck:before{content:"\f51a"}.mdi-spotify:before{content:"\f51b"}.mdi-spotlight:before{content:"\f51c"}.mdi-spotlight-beam:before{content:"\f51d"}.mdi-square-inc:before{content:"\f51e"}.mdi-square-inc-cash:before{content:"\f51f"}.mdi-stackoverflow:before{content:"\f520"}.mdi-star:before{content:"\f521"}.mdi-star-circle:before{content:"\f522"}.mdi-star-half:before{content:"\f523"}.mdi-star-outline:before{content:"\f524"}.mdi-steam:before{content:"\f525"}.mdi-stethoscope:before{content:"\f526"}.mdi-stocking:before{content:"\f527"}.mdi-stop:before{content:"\f528"}.mdi-store:before{content:"\f529"}.mdi-store-24-hour:before{content:"\f52a"}.mdi-stove:before{content:"\f52b"}.mdi-subway:before{content:"\f52c"}.mdi-sunglasses:before{content:"\f52d"}.mdi-swap-horizontal:before{content:"\f52e"}.mdi-swap-vertical:before{content:"\f52f"}.mdi-swim:before{content:"\f530"}.mdi-sword:before{content:"\f531"}.mdi-sync:before{content:"\f532"}.mdi-sync-alert:before{content:"\f533"}.mdi-sync-off:before{content:"\f534"}.mdi-tab:before{content:"\f535"}.mdi-tab-unselected:before{content:"\f536"}.mdi-table:before{content:"\f537"}.mdi-table-column-plus-after:before{content:"\f538"}.mdi-table-column-plus-before:before{content:"\f539"}.mdi-table-column-remove:before{content:"\f53a"}.mdi-table-column-width:before{content:"\f53b"}.mdi-table-edit:before{content:"\f53c"}.mdi-table-large:before{content:"\f53d"}.mdi-table-row-height:before{content:"\f53e"}.mdi-table-row-plus-after:before{content:"\f53f"}.mdi-table-row-plus-before:before{content:"\f540"}.mdi-table-row-remove:before{content:"\f541"}.mdi-tablet:before{content:"\f542"}.mdi-tablet-android:before{content:"\f543"}.mdi-tablet-ipad:before{content:"\f544"}.mdi-tag:before{content:"\f545"}.mdi-tag-faces:before{content:"\f546"}.mdi-tag-multiple:before{content:"\f547"}.mdi-tag-outline:before{content:"\f548"}.mdi-tag-text-outline:before{content:"\f549"}.mdi-taxi:before{content:"\f54a"}.mdi-teamviewer:before{content:"\f54b"}.mdi-telegram:before{content:"\f54c"}.mdi-television:before{content:"\f54d"}.mdi-television-guide:before{content:"\f54e"}.mdi-temperature-celsius:before{content:"\f54f"}.mdi-temperature-fahrenheit:before{content:"\f550"}.mdi-temperature-kelvin:before{content:"\f551"}.mdi-tennis:before{content:"\f552"}.mdi-tent:before{content:"\f553"}.mdi-terrain:before{content:"\f554"}.mdi-text-to-speech:before{content:"\f555"}.mdi-text-to-speech-off:before{content:"\f556"}.mdi-texture:before{content:"\f557"}.mdi-theater:before{content:"\f558"}.mdi-theme-light-dark:before{content:"\f559"}.mdi-thermometer:before{content:"\f55a"}.mdi-thermometer-lines:before{content:"\f55b"}.mdi-thumb-down:before{content:"\f55c"}.mdi-thumb-down-outline:before{content:"\f55d"}.mdi-thumb-up:before{content:"\f55e"}.mdi-thumb-up-outline:before{content:"\f55f"}.mdi-thumbs-up-down:before{content:"\f560"}.mdi-ticket:before{content:"\f561"}.mdi-ticket-account:before{content:"\f562"}.mdi-tie:before{content:"\f563"}.mdi-timelapse:before{content:"\f564"}.mdi-timer:before{content:"\f565"}.mdi-timer-10:before{content:"\f566"}.mdi-timer-3:before{content:"\f567"}.mdi-timer-off:before{content:"\f568"}.mdi-timer-sand:before{content:"\f569"}.mdi-timetable:before{content:"\f56a"}.mdi-toggle-switch:before{content:"\f56b"}.mdi-toggle-switch-off:before{content:"\f56c"}.mdi-tooltip:before{content:"\f56d"}.mdi-tooltip-edit:before{content:"\f56e"}.mdi-tooltip-image:before{content:"\f56f"}.mdi-tooltip-outline:before{content:"\f570"}.mdi-tooltip-outline-plus:before{content:"\f571"}.mdi-tooltip-text:before{content:"\f572"}.mdi-tor:before{content:"\f573"}.mdi-traffic-light:before{content:"\f574"}.mdi-train:before{content:"\f575"}.mdi-tram:before{content:"\f576"}.mdi-transcribe:before{content:"\f577"}.mdi-transcribe-close:before{content:"\f578"}.mdi-transfer:before{content:"\f579"}.mdi-tree:before{content:"\f57a"}.mdi-trello:before{content:"\f57b"}.mdi-trending-down:before{content:"\f57c"}.mdi-trending-neutral:before{content:"\f57d"}.mdi-trending-up:before{content:"\f57e"}.mdi-trophy:before{content:"\f57f"}.mdi-trophy-award:before{content:"\f580"}.mdi-trophy-variant:before{content:"\f581"}.mdi-truck:before{content:"\f582"}.mdi-tshirt-crew:before{content:"\f583"}.mdi-tshirt-v:before{content:"\f584"}.mdi-tumblr:before{content:"\f585"}.mdi-tumblr-reblog:before{content:"\f586"}.mdi-twitch:before{content:"\f587"}.mdi-twitter:before{content:"\f588"}.mdi-twitter-box:before{content:"\f589"}.mdi-twitter-circle:before{content:"\f58a"}.mdi-twitter-retweet:before{content:"\f58b"}.mdi-ubuntu:before{content:"\f58c"}.mdi-umbrella:before{content:"\f58d"}.mdi-umbrella-outline:before{content:"\f58e"}.mdi-undo:before{content:"\f58f"}.mdi-undo-variant:before{content:"\f590"}.mdi-unfold-less:before{content:"\f591"}.mdi-unfold-more:before{content:"\f592"}.mdi-ungroup:before{content:"\f593"}.mdi-untappd:before{content:"\f594"}.mdi-upload:before{content:"\f595"}.mdi-usb:before{content:"\f596"}.mdi-vector-curve:before{content:"\f597"}.mdi-vector-point:before{content:"\f598"}.mdi-vector-square:before{content:"\f599"}.mdi-verified:before{content:"\f59a"}.mdi-vibrate:before{content:"\f59b"}.mdi-video:before{content:"\f59c"}.mdi-video-off:before{content:"\f59d"}.mdi-video-switch:before{content:"\f59e"}.mdi-view-agenda:before{content:"\f59f"}.mdi-view-array:before{content:"\f5a0"}.mdi-view-carousel:before{content:"\f5a1"}.mdi-view-column:before{content:"\f5a2"}.mdi-view-dashboard:before{content:"\f5a3"}.mdi-view-day:before{content:"\f5a4"}.mdi-view-grid:before{content:"\f5a5"}.mdi-view-headline:before{content:"\f5a6"}.mdi-view-list:before{content:"\f5a7"}.mdi-view-module:before{content:"\f5a8"}.mdi-view-quilt:before{content:"\f5a9"}.mdi-view-stream:before{content:"\f5aa"}.mdi-view-week:before{content:"\f5ab"}.mdi-vimeo:before{content:"\f5ac"}.mdi-vine:before{content:"\f5ad"}.mdi-vk:before{content:"\f5ae"}.mdi-vk-box:before{content:"\f5af"}.mdi-vk-circle:before{content:"\f5b0"}.mdi-voicemail:before{content:"\f5b1"}.mdi-volume-high:before{content:"\f5b2"}.mdi-volume-low:before{content:"\f5b3"}.mdi-volume-medium:before{content:"\f5b4"}.mdi-volume-off:before{content:"\f5b5"}.mdi-vpn:before{content:"\f5b6"}.mdi-walk:before{content:"\f5b7"}.mdi-wallet:before{content:"\f5b8"}.mdi-wallet-giftcard:before{content:"\f5b9"}.mdi-wallet-membership:before{content:"\f5ba"}.mdi-wallet-travel:before{content:"\f5bb"}.mdi-watch:before{content:"\f5bc"}.mdi-watch-export:before{content:"\f5bd"}.mdi-watch-import:before{content:"\f5be"}.mdi-water:before{content:"\f5bf"}.mdi-water-off:before{content:"\f5c0"}.mdi-water-pump:before{content:"\f5c1"}.mdi-weather-cloudy:before{content:"\f5c2"}.mdi-weather-fog:before{content:"\f5c3"}.mdi-weather-hail:before{content:"\f5c4"}.mdi-weather-lightning:before{content:"\f5c5"}.mdi-weather-night:before{content:"\f5c6"}.mdi-weather-partlycloudy:before{content:"\f5c7"}.mdi-weather-pouring:before{content:"\f5c8"}.mdi-weather-rainy:before{content:"\f5c9"}.mdi-weather-snowy:before{content:"\f5ca"}.mdi-weather-sunny:before{content:"\f5cb"}.mdi-weather-sunset:before{content:"\f5cc"}.mdi-weather-sunset-down:before{content:"\f5cd"}.mdi-weather-sunset-up:before{content:"\f5ce"}.mdi-weather-windy:before{content:"\f5cf"}.mdi-weather-windy-variant:before{content:"\f5d0"}.mdi-web:before{content:"\f5d1"}.mdi-webcam:before{content:"\f5d2"}.mdi-weight:before{content:"\f5d3"}.mdi-weight-kilogram:before{content:"\f5d4"}.mdi-whatsapp:before{content:"\f5d5"}.mdi-wheelchair-accessibility:before{content:"\f5d6"}.mdi-white-balance-auto:before{content:"\f5d7"}.mdi-white-balance-incandescent:before{content:"\f5d8"}.mdi-white-balance-irradescent:before{content:"\f5d9"}.mdi-white-balance-sunny:before{content:"\f5da"}.mdi-wifi:before{content:"\f5db"}.mdi-wii:before{content:"\f5dc"}.mdi-wikipedia:before{content:"\f5dd"}.mdi-window-close:before{content:"\f5de"}.mdi-window-closed:before{content:"\f5df"}.mdi-window-maximize:before{content:"\f5e0"}.mdi-window-minimize:before{content:"\f5e1"}.mdi-window-open:before{content:"\f5e2"}.mdi-window-restore:before{content:"\f5e3"}.mdi-windows:before{content:"\f5e4"}.mdi-wordpress:before{content:"\f5e5"}.mdi-worker:before{content:"\f5e6"}.mdi-wunderlist:before{content:"\f5e7"}.mdi-xbox:before{content:"\f5e8"}.mdi-xbox-controller:before{content:"\f5e9"}.mdi-xbox-controller-off:before{content:"\f5ea"}.mdi-xda:before{content:"\f5eb"}.mdi-xml:before{content:"\f5ec"}.mdi-yeast:before{content:"\f5ed"}.mdi-yelp:before{content:"\f5ee"}.mdi-youtube-play:before{content:"\f5ef"}.mdi-zip-box:before{content:"\f5f0"}.mdi-18px{font-size:18px}.mdi-24px{font-size:24px}.mdi-36px{font-size:36px}.mdi-48px{font-size:48px}.mdi-dark{color:rgba(0,0,0,.54)}.mdi-dark.mdi-inactive{color:rgba(0,0,0,.26)}.mdi-light{color:#fff}.mdi-light.mdi-inactive{color:rgba(255,255,255,.3)}
 
assets/css/modula-cpt.min.css DELETED
@@ -1 +0,0 @@
1
- #modula-settings .inside{padding:0;margin:0}.modula-settings-container{display:flex}.modula-settings-container .modula-tabs{background-color:#f8f8f8}.modula-settings-container .modula-tabs .modula-tab{margin:0 10px 0 0;padding:15px 0;color:#9c9c9c;cursor:pointer;position:relative;width:165px;position:relative}.modula-settings-container .modula-tabs .modula-tab sup{margin-left:5px;padding:2px 5px;border-radius:5px;color:#fff;font-size:8px;background:#9c9c9c;display:inline-block;line-height:1;position:relative;top:-2px}.modula-settings-container .modula-tabs .modula-tab.active-tab sup,.modula-settings-container .modula-tabs .modula-tab:hover sup{background-color:#57a7c9}.modula-settings-container .modula-tabs .modula-tab.modula-responsive.active-tab sup,.modula-settings-container .modula-tabs .modula-tab.modula-responsive:hover sup{background:#dc3232}.modula-settings-container .modula-tabs .modula-tab>i{margin-right:10px;margin-left:15px}.modula-settings-container .modula-tabs .modula-tab:after{position:absolute;content:"";width:1px;height:100%;background-color:transparent;top:0;right:-1px}.modula-settings-container .modula-tabs .modula-tab.active-tab:first-child{border-top:0 none}.modula-settings-container .modula-tabs .modula-tab:hover{color:#333}.modula-settings-container .modula-tabs .modula-tab.active-tab{margin:0;padding:15px 10px 15px 0;background-color:#fff;border-bottom:1px solid #ddd;border-top:1px solid #ddd;color:#333}.modula-settings-container .modula-tabs .modula-tab.active-tab:before{content:"";position:absolute;left:-2px;top:-1px;width:3px;height:calc(100% + 2px);background-color:#57a7c9}.modula-settings-container .modula-tabs .modula-tab.active-tab:after{background-color:#fff}tr label.th-label{color:#23282d;font-weight:600;margin-bottom:10px}.postbox .modula-settings-container table.form-table{margin:0}.postbox .modula-settings-container .form-table-wrapper{padding:0 0 0 20px;box-sizing:border-box}.modula-settings-container .modula-tabs-content{padding:10px 20px;border-left:1px solid #eee;flex-grow:1}.modula-tabs-content>div:not(.active-tab){display:none}.modula-settings-container .modula-tabs-content .tab-content-header{width:100%;padding-bottom:12px;margin-bottom:10px;border-bottom:1px solid #eee;padding-left:20px;padding-right:0;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between}.modula-settings-container .modula-tabs-content .tab-content-header .tab-content-header-actions{display:flex;align-items:center}.modula-settings-container .modula-tabs-content .tab-content-header .tab-content-header-actions>span{margin:0 10px;font-style:italic}.modula-settings-container .modula-tabs-content .tab-content-header .tab-content-header-actions a.button>span{height:auto;line-height:26px;margin-right:10px}#poststuff .modula-settings-container .modula-tabs-content .tab-content-header .tab-content-header-title>h2{font-weight:700;padding:0;display:inline-block}#poststuff .modula-settings-container .modula-tabs-content .tab-content-header .tab-header-description p{margin:0}.modula-settings-container .form-table td p.description{font-size:13px}.modula-settings-container .slider-container{position:relative;height:2px;padding:10px 0;width:25em;box-sizing:border-box;margin-bottom:10px;display:flex;display:flex;justify-content:space-between;align-items:center}.modula-settings-container .slider-container input[type=text]{border:none;text-align:center;padding:2px;margin:0 20px 0 0;font-size:12px;color:#333;border-radius:10px;background-color:#fff;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.16);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.16);box-shadow:inset 0 1px 1px rgba(0,0,0,.16);width:40px;height:22px;cursor:default}.modula-settings-container .slider-container .ui-slider{position:relative;text-align:left;height:2px;border-radius:3px;border:none;display:block;width:100%;background:#d6d6d6;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.modula-settings-container .slider-container .ui-slider .ui-slider-handle{position:absolute;z-index:2;top:-10px;cursor:default;-ms-touch-action:none;touch-action:none;width:18px;height:18px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;background-color:#fff;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.1);-moz-box-shadow:0 1px 1px rgba(0,0,0,.1);box-shadow:0 1px 1px rgba(0,0,0,.1);border:solid 1px #d7d7d7;transform:translateX(-50%)}.modula-settings-container .slider-container .ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0;background:#57a7c9;top:0;bottom:0}.modula-effects-preview{margin-top:20px}.modula-effects-preview .modula-item{width:400px;height:300px;overflow:hidden;position:relative}.modula-effects-preview .modula-item img{position:absolute;min-height:100%;min-width:100%}.modula-effects-preview .modula-item .figc{display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;text-align:center;position:absolute;left:0;width:100%;height:100%;padding:0}.modula-effects-preview .modula-item .figc h2{font-size:21px!important;color:#fff}.modula-effects-preview .modula-item .figc p{color:#fff;font-size:15px;font-style:normal}.modula .modula-items .modula-item h2{margin:0}.modula .modula-items .modula-item p{margin:0;padding:0}.modula .figc{color:#000;text-align:center;position:absolute;left:0;width:100%;padding:2em}.modula .modula-item .jtg-social a{text-decoration:none;color:#fff;display:inline-block;margin:0 10px 0 0;width:20px;padding:6px 4px;border:0;opacity:0;transition:opacity .3s}.modula .modula-item .jtg-social svg{width:20px;height:16px}.modula .modula-item:hover .jtg-social a{opacity:1}.modula .modula-items .jtg-social{opacity:0;transition:opacity .1s;right:30px;position:absolute;bottom:20px;text-align:right;transition:all .3s}.modula .modula-items .jtg-social{opacity:1}.modula .modula-items .jtg-social a:last-of-type{margin-right:0}.modula .modula-item.effect-pufrobo p.description{margin-bottom:2em}.modula .modula-item.effect-pufrobo .figc{text-align:right}.modula .modula-item.effect-pufrobo h2,.modula .modula-item.effect-pufrobo p{position:absolute;right:30px;left:30px;padding:10px 0}.modula .modula-item:hover img{opacity:.8}.modula .modula-item{background-color:#000}.modula .modula-item.effect-pufrobo p{bottom:20%;line-height:1.5;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);letter-spacing:1px}.modula .modula-item.effect-pufrobo h2{top:10%;-webkit-transition:-webkit-transform .35s;transition:transform .35s;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}.modula .modula-item.effect-pufrobo:hover h2{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modula .modula-item.effect-pufrobo h2::after{position:absolute;top:80%;left:0;width:100%;height:4px;background:#fff;content:'';-webkit-transform:translate3d(0,40px,0);transform:translate3d(0,40px,0)}.modula .modula-item.effect-pufrobo h2::after,.modula .modula-item.effect-pufrobo p{opacity:0;-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s}.modula .modula-item.effect-pufrobo:hover h2::after,.modula .modula-item.effect-pufrobo:hover p{margin-top:10px;margin-bottom:5px;opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modula-upsell{background:#f1f1f1;border:0;padding:15px;margin-top:30px}.form-table-wrapper .modula-upsell{border:1px solid #ddd;text-align:center}#poststuff .modula-upsell h2{margin:0 0 20px 0;font-size:16px;font-weight:700;background:#fff;left:-15px;top:-15px;padding:8px 12px;position:relative;width:calc(100% + 6px);border-bottom:1px solid #ddd}.modula-upsell p{margin:0}.modula-upsell p.modula-upsell-description{font-size:13px;line-height:1.5;color:#333;opacity:.8;margin-top:0;margin-bottom:10px;padding:0 10px}.modula-upsell .button{height:31px;line-height:31px;font-weight:700}.modula-upsell .button:first-child{margin-right:10px}.modula-upsell .action-link,.modula-upsell .action-link:hover{background:#51ad31;border-color:#51ad31;color:#fff;font-weight:700}#modula-uploader-container{position:relative;padding-left:10px;padding-right:10px}#modula-uploader-container.modula-resizer-enabled{margin-bottom:20px}.modula-upload-actions{padding:15px 20px;background-color:#f8fcfd;border-bottom:1px solid #ecf6f9;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;width:100%;box-sizing:border-box}.modula-upload-actions .buttons{flex-shrink:0;width:275px;display:flex}.modula-sources-dropdown{position:relative;border-top:1px solid rgba(255,255,255,0);border-right:1px solid rgba(255,255,255,0);border-left:1px solid rgba(255,255,255,0)}.modula-sources-dropdown:hover{border-color:#ddd;background:#f5f5f5}.modula-sources-dropdown>span{width:28px;height:32px;text-align:center;line-height:28px;cursor:pointer;display:inline-block;font-size:25px;font-weight:700}.modula-sources-dropdown .modula-sources-dropdown-content{position:absolute;right:-1px;bottom:0;transform:translateY(100%);display:none;padding:15px;background-color:#f5f5f5;box-shadow:0 1px 1px rgba(0,0,0,.04);box-sizing:border-box;border:1px solid #ddd}.modula-sources-dropdown:hover .modula-sources-dropdown-content{display:block}.modula-sources-dropdown:hover .modula-sources-dropdown-content:before{content:"";height:1px;width:28px;background-color:#f5f5f5;position:absolute;top:-1px;right:0}.segrip.ui-resizable-se{width:30px;height:30px;background:url(../images/resize-se.svg) no-repeat;background-size:contain;display:none;z-index:100;opacity:1}.modula-resizer-enabled .segrip.ui-resizable-se{display:block}.modula-upload-actions #modula-uploader-browser{border-bottom-right-radius:0;border-top-right-radius:0}.modula-upload-actions #modula-wp-gallery{border-bottom-left-radius:0;border-top-left-radius:0}.wp-core-ui .modula-upload-actions>a{margin:0 5px}#modula-dropzone-container{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,86,132,.9);z-index:250000;display:none;text-align:center;opacity:0;transition:opacity 250ms}#modula-dropzone-container .modula-uploader-window-content{position:absolute;top:10px;left:10px;right:10px;bottom:10px;border:1px dashed #fff}#poststuff #modula-dropzone-container .modula-uploader-window-content h1{margin:-.5em 0 0;position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:20px;line-height:28px;font-weight:400;color:#fff;padding:0}.modula-uploader-inline-content{position:relative;min-height:300px;width:100%}.modula-resizer-enabled .modula-uploader-inline-content{min-height:initial}.modula-uploader-inline-content h2{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#poststuff .modula-upload-message{font-size:43px;line-height:1;font-weight:400;margin:0;display:none;color:#ebebeb}#poststuff .modula-upload-message .dashicons,#poststuff .modula-upload-message .dashicons-before:before{font-size:43px;width:43px;height:43px}.modula-uploader-inline p{font-size:12px;margin:.5em 0}#poststuff .modula-uploader-inline .modula-upload-instructions{font-size:14px;color:#444;font-weight:400;padding:0}.modula-uploader-footer .max-upload-size{float:left}.modula-uploader-footer .modula-upload-numbers{float:right;opacity:0}.modula-uploader-footer:after{display:block;content:"";clear:both}.upload-progress .modula-upload-numbers{margin:0;line-height:1.4em}.modula-progress-bar{width:100%;max-width:400px;position:relative;height:2px;margin:8px 0 0;border-radius:10px;background:#e5e5e5}.upload-info-container{position:relative;overflow:hidden;flex-grow:1}.upload-info-container .upload-info{padding:5px 0}.upload-info-container .upload-progress{position:absolute;background-color:#f8fcfd;height:100%;display:flex;top:0;left:0;width:100%;flex-direction:column;transition:transform .5s;transform:translateY(100%)}.modula-upload-actions.show-progress .upload-info-container .upload-progress{transform:translateY(0)}.modula-progress-bar .modula-progress-bar-inner{height:2px;min-width:20px;width:0;background:#0085ba;-webkit-transition:width .3s;-moz-transition:width .3s;-ms-transition:width .3s;-o-transition:width .3s;transition:width .3s;border-radius:5px}.modula-uploader-footer.show-progress .modula-progress-bar,.modula-uploader-footer.show-progress .modula-upload-numbers{opacity:1}.modula-uploader-inline-content .modula-single-image,.modula-uploader-inline-content .modula-single-image-placeholder{cursor:move;display:inline-block;padding:0 10px 20px 0;box-sizing:border-box;width:16.66%}.modula-uploader-inline-content .modula-single-image-placeholder:after{width:100%;height:100%;display:inline-block;content:"";position:relative;border:3px dashed #444;padding-top:calc(100% - 6px);box-sizing:border-box}.modula-uploader-inline-content .modula-single-image .modula-single-image-content{position:relative;border:1px solid #d6d6d6;box-sizing:border-box;background-position:center;background-size:cover}.modula-uploader-inline-content .modula-single-image .modula-single-image-content img{display:block;width:100%}#poststuff .modula-uploader-inline-content>.modula-upload-message:only-child{display:block}.modula-uploader-inline-content .modula-single-image .actions{position:absolute;z-index:99;font-size:0;width:100%;height:100%;top:0;left:0;background:rgba(0,0,0,.4);padding:5px;box-sizing:border-box;display:none}.modula-uploader-inline-content .modula-single-image:hover .actions{display:block}.modula-uploader-inline-content .modula-single-image .actions a{width:20px;height:20px;border-radius:100%;border:1px solid #000;background-color:rgba(255,255,255,.8);color:#000;display:block;text-decoration:none;text-align:center;line-height:20px;margin-bottom:5px}.modula-uploader-inline-content .modula-single-image .actions a:hover{background-color:#000;color:#fff}.modula-uploader-inline-content .modula-single-image .actions a span{font-size:16px;width:20px;height:20px;line-height:20px}.modula-uploader-inline-content .modula-single-image .actions a.modula-delete-image{color:#a00a00}.modula-uploader-inline-content .modula-single-image .actions a.modula-delete-image:hover{background-color:#a00a00;color:#fff}.modula-uploader-inline-content:after{content:"";display:block;clear:both}.media-modal .modula-edit-popup.edit-attachment-frame .edit-media-header button.right{border-right:1px solid #ddd}.media-modal .modula-edit-popup .attachment-details .attachment-info .settings .setting{margin:0 0 20px 0;padding:0 0 20px 0;border-bottom:1px solid #ddd}.media-modal .modula-edit-popup .attachment-details .attachment-info .settings .setting span.name{display:block;width:100%;min-width:100%;margin:0;padding:0;text-align:left;font-weight:700;font-size:14px}.media-modal .modula-edit-popup .attachment-details .attachment-info .settings .setting input[type=text],.media-modal .modula-edit-popup .attachment-details .attachment-info .settings .setting textarea{display:block;width:100%;min-width:100%;margin:0}.media-modal .modula-edit-popup .attachment-details .attachment-info .settings .setting div.description{clear:both;float:left;margin:5px 0 0 0;text-align:left;font-size:13px;font-style:italic;color:#666}.media-modal .modula-edit-popup .attachment-details .attachment-info .settings{margin:0;padding:0;border:none}.media-modal .attachment-info .actions a{display:inline-block}.inline-input{display:inline}.ui-draggable.ui-resizable>.segrip{width:10px;height:10px;background:red;position:absolute;bottom:0;right:0}.ui-draggable.ui-resizable .modula-single-image-content img{display:none}.ui-draggable.ui-resizable .modula-single-image-content{width:100%;height:100%}.ui-draggable.ui-resizable.modula-single-image{padding:0}.packery-drop-placeholder{outline:3px dashed #444;outline-offset:-6px;-webkit-transition:-webkit-transform .2s;transition:transform .2s}.ui-resizable-helper{border:3px dashed #444;box-sizing:border-box}#poststuff #modula-preview-gallery h2.hndle,#poststuff #modula-settings h2.hndle{padding-left:20px}#poststuff #modula-preview-gallery .inside{margin-top:0;padding:0}.modula-edit-popup .attachment-details .setting span.description>span{display:inline-block;float:none;width:auto;min-width:unset;line-height:16px;min-height:16px;margin-top:8px;padding:0;vertical-align:middle;margin-right:0}.modula-edit-popup .attachment-details .setting span.description{text-align:left;vertical-align:middle}.modula-media-modal .attachments-browser .media-toolbar .media-toolbar-secondary{width:100%}.modula-error-container{display:block}.modula-error-container.hide{display:none}.modula-error-container .modula-error{padding:12px;margin-bottom:12px;background:#fff;border-left:4px solid #dc3232;box-shadow:0 0 4px 0 rgba(0,0,0,.1);font-weight:600;margin-top:5px;position:relative;background-color:#dc3232;color:#fff}.modula-error-container .modula-error a{color:#fff}.modula-error-container .modula-error .upload-dismiss-errors{position:absolute;top:50%;right:-5px;padding:10px;transition:none;display:block;text-decoration:none;margin-top:-18px}.modula-error-container .modula-error .upload-dismiss-errors:before{content:"\f153";display:block;font:400 16px/1 dashicons;color:#fff}a.modula-tab-link{text-decoration:none}.modula-tab-link span.dashicons{width:16px;height:16px;line-height:16px;margin-right:3px;vertical-align:text-bottom;font-size:16px;text-decoration:none}#modula-grid{height:100%;position:absolute;overflow:hidden;top:0;left:0;width:100%}#modula-grid .modula-grid-item{background-color:#fafafa;float:left}#modula-grid .modula-grid-item:nth-child(12n){margin-right:0!important}#modula-grid:after{content:"";display:block;clear:both}.modula-tooltip{position:relative;display:inline-block}.modula-tooltip>span{cursor:pointer;color:#0073aa;text-decoration:underline;margin-left:5px}.modula-tooltip .modula-tooltip-content{display:none;position:absolute;top:50%;right:-10px;transform:translate(100% ,-50%);width:300px;background:#000;color:#fff;padding:10px;box-sizing:border-box;z-index:99}.modula-tooltip .modula-tooltip-content:before{content:'';width:0;height:0;border-style:solid;border-width:8px 8px 8px 0;border-color:transparent #000 transparent transparent;display:block;position:absolute;top:50%;left:-8px;transform:translateY(-50%)}.modula-tooltip:hover .modula-tooltip-content{display:block}.modula-helper-guidelines-container{padding:15px 20px;background-color:#f8fcfd;display:flex;align-items:center;border-top:1px solid #ecf6f9}.modula-helper-guidelines-container .onoffswitch{margin-top:0}.modula-helper-guidelines-wrapper .modula-helper-guidelines-label{margin-left:5px}.modula-creative-gallery.modula-uploader-inline-content .modula-single-image .modula-single-image-content{background:#eee!important;position:relative;overflow:hidden}.modula-creative-gallery.modula-uploader-inline-content .modula-single-image-content:before{content:"";display:block;padding-top:100%}.modula-creative-gallery.modula-uploader-inline-content .modula-single-image-content img{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.modula-creative-gallery.modula-uploader-inline-content .modula-single-image-content.landscape img{max-height:100%}.modula-creative-gallery.modula-uploader-inline-content .modula-single-image-content.portrait img{max-width:100%}.modula-toggle{position:relative;position:relative;user-select:none;display:inline-block}.modula-toggle__items{box-sizing:border-box;display:inline-block;position:relative}.modula-toggle__items>*{box-sizing:inherit}.modula-toggle__input[type=checkbox]{border-radius:2px;border:2px solid #6c7781;margin-right:12px;transition:none;height:100%;left:0;top:0;margin:0;padding:0;opacity:0;position:absolute;width:100%;z-index:1}.modula-toggle__track{background-color:#fff;border:2px solid #6c7781;border-radius:9px;display:inline-block;height:18px;width:36px;vertical-align:top;transition:background .2s ease}.modula-toggle__thumb{background-color:#6c7781;border:5px solid #6c7781;border-radius:50%;display:block;height:10px;width:10px;position:absolute;left:4px;top:4px;transition:transform .2s ease}.modula-toggle__off{position:absolute;right:6px;top:6px;color:#6c7781;fill:currentColor}.modula-toggle__on{position:absolute;top:6px;left:8px;border:1px solid #fff;outline:1px solid transparent;outline-offset:-1px;display:none}.modula-toggle__input[type=checkbox]:checked+.modula-toggle__items .modula-toggle__track{background-color:#11a0d2;border:9px solid transparent}.modula-toggle__input[type=checkbox]:checked+.modula-toggle__items .modula-toggle__thumb{background-color:#fff;border-width:0;transform:translateX(18px)}.modula-toggle__input[type=checkbox]:checked+.modula-toggle__items .modula-toggle__off{display:none}.modula-toggle__input[type=checkbox]:checked+.modula-toggle__items .modula-toggle__on{display:inline-block}p.description.alert{color:red}tr.troubleshoot-subfield.hide{display:none}.modula-copy-shortcode{display:flex;align-items:center;flex-wrap:wrap}.modula-copy-shortcode input{margin:0;border-top-right-radius:0;border-bottom-right-radius:0;flex-grow:1}.modula-copy-shortcode span{width:100%}.wp-core-ui .modula-copy-shortcode a.button-primary{height:30px;border-top-left-radius:0;border-bottom-left-radius:0}@keyframes carousel{0%{transform:translateX(0);opacity:1!important}50%{transform:translateX(0);opacity:1!important}51%{transform:translateX(-100%);opacity:1!important}99%{transform:translateX(-100%);opacity:1!important}100%{transform:translateX(-200%);opacity:1!important}}.modula-upsells-carousel-wrapper{position:relative;display:flex;overflow:hidden}.modula-upsells-carousel{flex-shrink:0;position:relative;display:block;width:100%}.modula-upsells-carousel .modula-upsell-item{position:relative;width:100%;flex-shrink:0;margin-top:0;left:-15px}.modula-upsells-carousel .modula-upsell-item{text-align:center}.modula-upsells-carousel .modula-upsell-item ul.modula-upsells-list{padding-left:40px}.modula-upsells-carousel .modula-upsell-item ul li{position:relative;list-style-type:none!important;text-align:left}#modula-albums-upsell .modula-upsells-carousel .modula-upsell-item ul li{display:inline-block;margin:0 15px 15px 35px}.modula-upsells-carousel .modula-upsell-item ul li:before{font-family:Dashicons;content:"\f147";position:absolute;left:-30px;font-size:14px;color:green;background-color:#fff;padding:0 3px;border-radius:50%;border:1px solid #ddd;top:-1px}#modula-albums-upsell>button.handlediv,#modula-albums-upsell>h2.hndle.ui-sortable-handle,#modula-sorting-upsell>button.handlediv,#modula-sorting-upsell>h2.hndle.ui-sortable-handle{display:none}#modula-albums-upsell>.inside,#modula-sorting-upsell>.inside{padding:0;margin:0 auto}.cm-s-dracula .CodeMirror-gutters,.cm-s-dracula.CodeMirror{background-color:#282a36!important;color:#f8f8f2!important;border:none}.cm-s-dracula .CodeMirror-gutters{color:#282a36}.cm-s-dracula .CodeMirror-cursor{border-left:solid thin #f8f8f0}.cm-s-dracula .CodeMirror-linenumber{color:#6d8a88}.cm-s-dracula .CodeMirror-selected{background:rgba(255,255,255,.1)}.cm-s-dracula .CodeMirror-line::selection,.cm-s-dracula .CodeMirror-line>span::selection,.cm-s-dracula .CodeMirror-line>span>span::selection{background:rgba(255,255,255,.1)}.cm-s-dracula .CodeMirror-line::-moz-selection,.cm-s-dracula .CodeMirror-line>span::-moz-selection,.cm-s-dracula .CodeMirror-line>span>span::-moz-selection{background:rgba(255,255,255,.1)}.cm-s-dracula span.cm-comment{color:#6272a4}.cm-s-dracula span.cm-string,.cm-s-dracula span.cm-string-2{color:#f1fa8c}.cm-s-dracula span.cm-number{color:#bd93f9}.cm-s-dracula span.cm-variable{color:#50fa7b}.cm-s-dracula span.cm-variable-2{color:#fff}.cm-s-dracula span.cm-def{color:#50fa7b}.cm-s-dracula span.cm-operator{color:#ff79c6}.cm-s-dracula span.cm-keyword{color:#ff79c6}.cm-s-dracula span.cm-atom{color:#bd93f9}.cm-s-dracula span.cm-meta{color:#f8f8f2}.cm-s-dracula span.cm-tag{color:#ff79c6}.cm-s-dracula span.cm-attribute{color:#50fa7b}.cm-s-dracula span.cm-qualifier{color:#50fa7b}.cm-s-dracula span.cm-property{color:#66d9ef}.cm-s-dracula span.cm-builtin{color:#50fa7b}.cm-s-dracula span.cm-type,.cm-s-dracula span.cm-variable-3{color:#ffb86c}.cm-s-dracula .CodeMirror-activeline-background{background:rgba(255,255,255,.1)}.cm-s-dracula .CodeMirror-matchingbracket{text-decoration:underline;color:#fff!important}#modula_troubleshooting_option .modula-select label{margin-right:10px}#modula_troubleshooting_option .modula-select label:last-child{margin-right:0}#modula-albums-upsell h2{margin:0!important}.modula-settings-container input[type=number]{max-width:80px}.modula-after-input{margin-left:5px}
 
assets/css/modula.min.css DELETED
@@ -1 +0,0 @@
1
- .modula .modula-items .modula-item{position:absolute;overflow:hidden;transition:transform .3s ease-out,opacity .2s linear,top .3s,left .6s;opacity:0;box-sizing:border-box}.modula .modula-items .modula-item>a{display:block;position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;background:0 0}.modula .modula-items .modula-item .jtg-social{z-index:10}.modula .modula-items .modula-item.tg-loaded{transform:scale(1) translate(0,0) rotate(0)!important;opacity:1}.modula .modula-items .modula-item.tg-loaded img.pic{display:block;opacity:1}.modula .modula-items .modula-item img.pic{font-size:12px;position:absolute;display:none;opacity:0;max-width:999em!important;transition:width .3s,height .3s,transform .3s linear,opacity .2s linear}.modula .modula-items .modula-item img.pic.lazyload,.modula .modula-items .modula-item img.pic.lazyloaded{display:block}.modula .modula-items .modula-item .caption .icon{font-size:14px;position:absolute;left:50%;top:50%;margin:-12px 0 0 -8px}.modula .modula-items .modula-item .figc{color:#fff;text-align:center;position:absolute;left:0;width:100%;padding:0}.modula .modula-items .hidden .figc{display:none}.modula .modula-items .hidden:hover .figc{display:block}.modula .modula-items .visible .figc{display:block}.modula .modula-items .always-visible .figc{display:block}.modula .modula-items .visible:hover .figc{display:none}.modula .modula-items .caption span.text{display:block;padding:10px}.modula .modula-items .caption span.title{font-size:14px;font-weight:700}.modula .filters{margin:20px 0 20px 0}.modula .filters.vertical-filters{margin-top:0}.modula .filters a{text-decoration:none;display:inline-block;color:#333;outline:0;transition:350ms ease-in}.modula .filters.menu--dfefault a{border-bottom:2px solid transparent}.modula .filters.colored a{border:0;color:#fff}.modula .filters:not(.styled-menu) a.selected,.modula .filters:not(.styled-menu) a:hover{border-bottom-color:#333;border-bottom:1px solid}body .modula .modula-item{width:100%}body .modula.vertical-filters .modula-items{width:80%;float:left}body .modula:after{content:"";display:block;clear:both}.modula.vertical-filters .filters{width:20%;float:left}body .modula .filters.vertical-filters.both-vertical+.modula-items{width:60%}.modula .filters.vertical-filters a{display:block;margin-bottom:15px}.modula .filters.vertical-filters.colored a{border-radius:5px;text-align:center;background:#fff;border:1px solid #3498db;color:#3498db}.modula .filters.vertical-filters.colored a.selected,.modula .filters.vertical-filters.colored a:hover{background:#fff;color:#8e44ad;border-color:#8e44ad}.modula .filters.horizontal-filters.colored a{display:inline-block;padding:0 30px;margin-right:2px;background:#3498db;position:relative;border:0}.modula .filters.horizontal-filters.colored a.selected,.modula .filters.horizontal-filters.colored a:hover{background:#8e44ad}.modula .filters.horizontal-filters.colored a:before{position:absolute;content:'';left:0;top:0;width:0;height:0;border:none;border-bottom-color:currentcolor;border-bottom-style:none;border-bottom-width:medium;border-left-color:currentcolor;border-left-style:none;border-left-width:medium;border-left:solid 17px #fff;border-bottom:solid 41px transparent;z-index:1;transition:.4s}.modula .filters.horizontal-filters.colored a:after{position:absolute;content:'';right:0;top:0;width:0;height:0;border:none;border-bottom-color:currentcolor;border-bottom-style:none;border-bottom-width:medium;border-left-color:currentcolor;border-left-style:none;border-left-width:medium;border-left:solid 17px transparent;border-bottom:solid 41px #fff;z-index:1;transition:.4s}.filter-by-wrapper{text-align:center;margin-bottom:25px;text-transform:uppercase}.filter-by-wrapper span{cursor:pointer}.filter-by-wrapper span:after{content:"";margin-left:15px;width:0;height:0;border-style:solid;border-width:15px 10px 0 10px;border-color:#0470e3 transparent transparent transparent;display:inline-block}.filter-by-wrapper.opened span:after{content:"";width:0;height:0;border-style:solid;border-width:0 10px 15px 10px;border-color:transparent transparent #d500ff transparent;display:inline-block}.modula .filters.vertical-filters a{margin-bottom:0}.menu__list li.menu__item{margin:15px}@media all and (min-width:1025px){.filter-by-wrapper{display:none!important}.modula-gallery .filters{display:block!important}}@media all and (max-width:1024px){.modula .filters.vertical-filters.both-vertical+.modula-items,.modula.vertical-filters .filters,.modula.vertical-filters .modula-items{width:100%!important;float:none}.menu__list{padding:0}.menu__list li.menu__item{margin:0}}.modula .jtg-social a{box-shadow:none}.lightbox .lb-image{max-width:999em}.modula .jtg-social svg{width:20px;height:16px}.modula .modula-items .modula-item .jtg-title{margin:0}.modula .modula-items .modula-item p{margin:0;padding:0}.modula .figc{color:#000;text-align:center;position:absolute;left:0;width:100%;padding:2em}.modula .modula-item .jtg-social a{text-decoration:none;color:#fff;display:inline-block;margin:0 10px 0 0;padding:6px 4px;border:0;opacity:0;transition:opacity .3s}.modula .modula-item:hover .jtg-social a{opacity:1}.modula .modula-items .jtg-social{opacity:0;transition:opacity .1s;right:30px;position:absolute;bottom:20px;text-align:right;transition:all .3s}.modula .modula-items .jtg-social{opacity:1}.modula .modula-items .jtg-social a:last-of-type{margin-right:0}.modula .modula-item.effect-pufrobo p.description{margin-bottom:2em}.modula .modula-item.effect-pufrobo .figc{text-align:right}.modula .modula-item.effect-pufrobo .jtg-title,.modula .modula-item.effect-pufrobo p{position:absolute;right:30px;left:30px;padding:10px 0}.modula .modula-item:hover img,.modula .modula-items .modula-item.tg-loaded:hover img.pic{opacity:.8}.modula .modula-item{background-color:#000}.modula .modula-item.effect-pufrobo p{bottom:20%;line-height:1.5;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);letter-spacing:1px}.modula .modula-item.effect-pufrobo .jtg-title{top:10%;-webkit-transition:-webkit-transform .35s;transition:transform .35s;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}.modula .modula-item.effect-pufrobo:hover .jtg-title{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modula .modula-item.effect-pufrobo .jtg-title::after{position:absolute;top:80%;left:0;width:100%;height:4px;background:#fff;content:'';-webkit-transform:translate3d(0,40px,0);transform:translate3d(0,40px,0)}.modula .modula-item.effect-pufrobo .jtg-title::after,.modula .modula-item.effect-pufrobo p{opacity:0;-webkit-transition:opacity .35s,-webkit-transform .35s;transition:opacity .35s,transform .35s}.modula .modula-item.effect-pufrobo:hover .jtg-title::after,.modula .modula-item.effect-pufrobo:hover p{margin-top:10px;margin-bottom:5px;opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modula .modula-items .modula-item.effect-pufrobo .figc.no-title.no-description .jtg-title:after{display:none}.modula .modula-items .modula-item.effect-appear .figc .jtg-title:before,.modula .modula-items .modula-item.effect-comodo .figc .jtg-title:before,.modula .modula-items .modula-item.effect-crafty .figc .jtg-title:before,.modula .modula-items .modula-item.effect-curtain .figc .jtg-title:before,.modula .modula-items .modula-item.effect-fluid-up .figc .jtg-title:before,.modula .modula-items .modula-item.effect-hide .figc .jtg-title:before,.modula .modula-items .modula-item.effect-lens .figc .jtg-title:before,.modula .modula-items .modula-item.effect-pufrobo .figc .jtg-title:before,.modula .modula-items .modula-item.effect-quiet .figc .jtg-title:before,.modula .modula-items .modula-item.effect-reflex .figc .jtg-title:before,.modula .modula-items .modula-item.effect-seemo .figc .jtg-title:before{display:none}#lightbox.lightbox{position:fixed;top:50%!important;transform:translateY(-50%)}@media all and (max-height:680px){#lightbox.lightbox .lb-image,.lb-container,.lb-outerContainer{max-height:80vh;width:auto!important;display:inline-block}}.modula .modula-items .modula-item>a{cursor:zoom-in}
 
assets/js/{editor-plugin.js → admin/editor-plugin.js} RENAMED
File without changes
assets/js/{editor-plugin.min.js → admin/editor-plugin.min.js} RENAMED
File without changes
assets/js/{modula-addon.js → admin/modula-addon.js} RENAMED
File without changes
assets/js/{modula-beaver-preview.js → admin/modula-beaver-preview.js} RENAMED
File without changes
assets/js/{modula-beaver-preview.min.js → admin/modula-beaver-preview.min.js} RENAMED
File without changes
assets/js/{modula-edit.js → admin/modula-edit.js} RENAMED
@@ -27,6 +27,23 @@
27
  $('.copy-modula-shortcode').not($(this)).parent().find('span').text('');
28
 
29
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  });
31
 
32
  })(jQuery);
27
  $('.copy-modula-shortcode').not($(this)).parent().find('span').text('');
28
 
29
  });
30
+
31
+ // Dismiss notice
32
+ $('body').on('click','#modula-lightbox-upgrade .notice-dismiss',function (e) {
33
+
34
+ e.preventDefault();
35
+ var notice = $(this).parent();
36
+
37
+ var data = {
38
+ 'action': 'modula_lbu_notice',
39
+ 'nonce' : modulaHelper._wpnonce
40
+ };
41
+
42
+ $.post(modulaHelper.ajax_url, data, function (response) {
43
+ // Redirect to plugins page
44
+ notice.remove();
45
+ });
46
+ });
47
  });
48
 
49
  })(jQuery);
assets/js/{modula-edit.min.js → admin/modula-edit.min.js} RENAMED
File without changes
assets/js/{modula-elementor-editor.js → admin/modula-elementor-editor.js} RENAMED
File without changes
assets/js/{modula-elementor-editor.min.js → admin/modula-elementor-editor.min.js} RENAMED
File without changes
assets/js/{modula-elementor-preview.js → admin/modula-elementor-preview.js} RENAMED
File without changes
assets/js/{modula-elementor-preview.min.js → admin/modula-elementor-preview.min.js} RENAMED
File without changes
assets/js/{modula-importer.js → admin/modula-importer.js} RENAMED
File without changes
assets/js/{modula-siteorigin-preview.js → admin/modula-siteorigin-preview.js} RENAMED
File without changes
assets/js/{modula-siteorigin-preview.min.js → admin/modula-siteorigin-preview.min.js} RENAMED
File without changes
assets/js/{modula-troubleshoot-conditions.js → admin/modula-troubleshoot-conditions.js} RENAMED
File without changes
assets/js/{modula-troubleshoot-conditions.min.js → admin/modula-troubleshoot-conditions.min.js} RENAMED
File without changes
assets/js/admin/modula-uninstall.js ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function ($) {
2
+ var uninstall = $("a.uninstall-modula"),
3
+ formContainer = $('#modula-uninstall-form');
4
+
5
+ formContainer.on('click', '#delete_all', function () {
6
+ if ( $('#delete_all').is(':checked') ) {
7
+ $('#delete_options').prop('checked', true);
8
+ $('#delete_transients').prop('checked', true);
9
+ $('#delete_cpt').prop('checked', true);
10
+ $('#delete_old_tables').prop('checked', true);
11
+ } else {
12
+ $('#delete_options').prop('checked', false);
13
+ $('#delete_transients').prop('checked', false);
14
+ $('#delete_cpt').prop('checked', false);
15
+ $('#delete_old_tables').prop('checked', false);
16
+ }
17
+ });
18
+
19
+ $(uninstall).on("click", function () {
20
+
21
+ $('body').toggleClass('modula-uninstall-form-active');
22
+ formContainer.fadeIn();
23
+
24
+ formContainer.on('click', '#modula-uninstall-submit-form', function (e) {
25
+ formContainer.addClass('toggle-spinner');
26
+ var selectedOptions = {
27
+ delete_options: ($('#delete_options').is(':checked')) ? 1 : 0,
28
+ delete_transients: ($('#delete_transients').is(':checked')) ? 1 : 0,
29
+ delete_cpt: ($('#delete_cpt').is(':checked')) ? 1 : 0,
30
+ delete_old_tables: ($('#delete_old_tables').is(':checked')) ? 1 : 0,
31
+ };
32
+
33
+ var data = {
34
+ 'action': 'modula_uninstall_plugin',
35
+ 'security': wpModulaUninstall.nonce,
36
+ 'dataType': "json",
37
+ 'options': selectedOptions
38
+ };
39
+
40
+ $.post(
41
+ ajaxurl,
42
+ data,
43
+ function (response) {
44
+ // Redirect to plugins page
45
+ window.location.href = wpModulaUninstall.redirect_url;
46
+ }
47
+ );
48
+ });
49
+
50
+ // If we click outside the form, the form will close
51
+ // Stop propagation from form
52
+ formContainer.on('click', function (e) {
53
+ e.stopPropagation();
54
+ });
55
+
56
+ $('.modula-uninstall-form-wrapper, .close-uninstall-form').on('click', function (e) {
57
+ e.stopPropagation();
58
+ formContainer.fadeOut();
59
+ $('body').removeClass('modula-uninstall-form-active');
60
+ });
61
+
62
+ $(document).on("keyup", function (e) {
63
+ if ( e.key === "Escape" ) {
64
+ formContainer.fadeOut();
65
+ $('body').removeClass('modula-uninstall-form-active');
66
+ }
67
+ });
68
+ });
69
+ });
assets/js/{modula-upgrade.js → admin/modula-upgrade.js} RENAMED
File without changes
assets/js/{packery.js → admin/packery.js} RENAMED
File without changes
assets/js/{packery.min.js → admin/packery.min.js} RENAMED
File without changes
assets/js/{resizesensor.js → admin/resizesensor.js} RENAMED
File without changes
assets/js/{resizesensor.min.js → admin/resizesensor.min.js} RENAMED
File without changes
assets/js/{selectize.js → admin/selectize.js} RENAMED
File without changes
assets/js/{selectize.min.js → admin/selectize.min.js} RENAMED
File without changes
assets/js/admin/slick.js ADDED
@@ -0,0 +1,3037 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ _ _ _ _
3
+ ___| (_) ___| | __ (_)___
4
+ / __| | |/ __| |/ / | / __|
5
+ \__ \ | | (__| < _ | \__ \
6
+ |___/_|_|\___|_|\_(_)/ |___/
7
+ |__/
8
+
9
+ Version: 1.9.0
10
+ Author: Ken Wheeler
11
+ Website: http://kenwheeler.github.io
12
+ Docs: http://kenwheeler.github.io/slick
13
+ Repo: http://github.com/kenwheeler/slick
14
+ Issues: http://github.com/kenwheeler/slick/issues
15
+
16
+ */
17
+ /* global window, document, define, jQuery, setInterval, clearInterval */
18
+ ;(function(factory) {
19
+ 'use strict';
20
+ if (typeof define === 'function' && define.amd) {
21
+ define(['jquery'], factory);
22
+ } else if (typeof exports !== 'undefined') {
23
+ module.exports = factory(require('jquery'));
24
+ } else {
25
+ factory(jQuery);
26
+ }
27
+
28
+ }(function($) {
29
+ 'use strict';
30
+ var Slick = window.Slick || {};
31
+
32
+ Slick = (function() {
33
+
34
+ var instanceUid = 0;
35
+
36
+ function Slick(element, settings) {
37
+
38
+ var _ = this, dataSettings;
39
+
40
+ _.defaults = {
41
+ accessibility: true,
42
+ adaptiveHeight: false,
43
+ appendArrows: $(element),
44
+ appendDots: $(element),
45
+ arrows: true,
46
+ asNavFor: null,
47
+ prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',
48
+ nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>',
49
+ autoplay: false,
50
+ autoplaySpeed: 3000,
51
+ centerMode: false,
52
+ centerPadding: '50px',
53
+ cssEase: 'ease',
54
+ customPaging: function(slider, i) {
55
+ return $('<button type="button" />').text(i + 1);
56
+ },
57
+ dots: false,
58
+ dotsClass: 'slick-dots',
59
+ draggable: true,
60
+ easing: 'linear',
61
+ edgeFriction: 0.35,
62
+ fade: false,
63
+ focusOnSelect: false,
64
+ focusOnChange: false,
65
+ infinite: true,
66
+ initialSlide: 0,
67
+ lazyLoad: 'ondemand',
68
+ mobileFirst: false,
69
+ pauseOnHover: true,
70
+ pauseOnFocus: true,
71
+ pauseOnDotsHover: false,
72
+ respondTo: 'window',
73
+ responsive: null,
74
+ rows: 1,
75
+ rtl: false,
76
+ slide: '',
77
+ slidesPerRow: 1,
78
+ slidesToShow: 1,
79
+ slidesToScroll: 1,
80
+ speed: 500,
81
+ swipe: true,
82
+ swipeToSlide: false,
83
+ touchMove: true,
84
+ touchThreshold: 5,
85
+ useCSS: true,
86
+ useTransform: true,
87
+ variableWidth: false,
88
+ vertical: false,
89
+ verticalSwiping: false,
90
+ waitForAnimate: true,
91
+ zIndex: 1000
92
+ };
93
+
94
+ _.initials = {
95
+ animating: false,
96
+ dragging: false,
97
+ autoPlayTimer: null,
98
+ currentDirection: 0,
99
+ currentLeft: null,
100
+ currentSlide: 0,
101
+ direction: 1,
102
+ $dots: null,
103
+ listWidth: null,
104
+ listHeight: null,
105
+ loadIndex: 0,
106
+ $nextArrow: null,
107
+ $prevArrow: null,
108
+ scrolling: false,
109
+ slideCount: null,
110
+ slideWidth: null,
111
+ $slideTrack: null,
112
+ $slides: null,
113
+ sliding: false,
114
+ slideOffset: 0,
115
+ swipeLeft: null,
116
+ swiping: false,
117
+ $list: null,
118
+ touchObject: {},
119
+ transformsEnabled: false,
120
+ unslicked: false
121
+ };
122
+
123
+ $.extend(_, _.initials);
124
+
125
+ _.activeBreakpoint = null;
126
+ _.animType = null;
127
+ _.animProp = null;
128
+ _.breakpoints = [];
129
+ _.breakpointSettings = [];
130
+ _.cssTransitions = false;
131
+ _.focussed = false;
132
+ _.interrupted = false;
133
+ _.hidden = 'hidden';
134
+ _.paused = true;
135
+ _.positionProp = null;
136
+ _.respondTo = null;
137
+ _.rowCount = 1;
138
+ _.shouldClick = true;
139
+ _.$slider = $(element);
140
+ _.$slidesCache = null;
141
+ _.transformType = null;
142
+ _.transitionType = null;
143
+ _.visibilityChange = 'visibilitychange';
144
+ _.windowWidth = 0;
145
+ _.windowTimer = null;
146
+
147
+ dataSettings = $(element).data('slick') || {};
148
+
149
+ _.options = $.extend({}, _.defaults, settings, dataSettings);
150
+
151
+ _.currentSlide = _.options.initialSlide;
152
+
153
+ _.originalSettings = _.options;
154
+
155
+ if (typeof document.mozHidden !== 'undefined') {
156
+ _.hidden = 'mozHidden';
157
+ _.visibilityChange = 'mozvisibilitychange';
158
+ } else if (typeof document.webkitHidden !== 'undefined') {
159
+ _.hidden = 'webkitHidden';
160
+ _.visibilityChange = 'webkitvisibilitychange';
161
+ }
162
+
163
+ _.autoPlay = $.proxy(_.autoPlay, _);
164
+ _.autoPlayClear = $.proxy(_.autoPlayClear, _);
165
+ _.autoPlayIterator = $.proxy(_.autoPlayIterator, _);
166
+ _.changeSlide = $.proxy(_.changeSlide, _);
167
+ _.clickHandler = $.proxy(_.clickHandler, _);
168
+ _.selectHandler = $.proxy(_.selectHandler, _);
169
+ _.setPosition = $.proxy(_.setPosition, _);
170
+ _.swipeHandler = $.proxy(_.swipeHandler, _);
171
+ _.dragHandler = $.proxy(_.dragHandler, _);
172
+ _.keyHandler = $.proxy(_.keyHandler, _);
173
+
174
+ _.instanceUid = instanceUid++;
175
+
176
+ // A simple way to check for HTML strings
177
+ // Strict HTML recognition (must start with <)
178
+ // Extracted from jQuery v1.11 source
179
+ _.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/;
180
+
181
+
182
+ _.registerBreakpoints();
183
+ _.init(true);
184
+
185
+ }
186
+
187
+ return Slick;
188
+
189
+ }());
190
+
191
+ Slick.prototype.activateADA = function() {
192
+ var _ = this;
193
+
194
+ _.$slideTrack.find('.slick-active').attr({
195
+ 'aria-hidden': 'false'
196
+ }).find('a, input, button, select').attr({
197
+ 'tabindex': '0'
198
+ });
199
+
200
+ };
201
+
202
+ Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) {
203
+
204
+ var _ = this;
205
+
206
+ if (typeof(index) === 'boolean') {
207
+ addBefore = index;
208
+ index = null;
209
+ } else if (index < 0 || (index >= _.slideCount)) {
210
+ return false;
211
+ }
212
+
213
+ _.unload();
214
+
215
+ if (typeof(index) === 'number') {
216
+ if (index === 0 && _.$slides.length === 0) {
217
+ $(markup).appendTo(_.$slideTrack);
218
+ } else if (addBefore) {
219
+ $(markup).insertBefore(_.$slides.eq(index));
220
+ } else {
221
+ $(markup).insertAfter(_.$slides.eq(index));
222
+ }
223
+ } else {
224
+ if (addBefore === true) {
225
+ $(markup).prependTo(_.$slideTrack);
226
+ } else {
227
+ $(markup).appendTo(_.$slideTrack);
228
+ }
229
+ }
230
+
231
+ _.$slides = _.$slideTrack.children(this.options.slide);
232
+
233
+ _.$slideTrack.children(this.options.slide).detach();
234
+
235
+ _.$slideTrack.append(_.$slides);
236
+
237
+ _.$slides.each(function(index, element) {
238
+ $(element).attr('data-slick-index', index);
239
+ });
240
+
241
+ _.$slidesCache = _.$slides;
242
+
243
+ _.reinit();
244
+
245
+ };
246
+
247
+ Slick.prototype.animateHeight = function() {
248
+ var _ = this;
249
+ if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
250
+ var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
251
+ _.$list.animate({
252
+ height: targetHeight
253
+ }, _.options.speed);
254
+ }
255
+ };
256
+
257
+ Slick.prototype.animateSlide = function(targetLeft, callback) {
258
+
259
+ var animProps = {},
260
+ _ = this;
261
+
262
+ _.animateHeight();
263
+
264
+ if (_.options.rtl === true && _.options.vertical === false) {
265
+ targetLeft = -targetLeft;
266
+ }
267
+ if (_.transformsEnabled === false) {
268
+ if (_.options.vertical === false) {
269
+ _.$slideTrack.animate({
270
+ left: targetLeft
271
+ }, _.options.speed, _.options.easing, callback);
272
+ } else {
273
+ _.$slideTrack.animate({
274
+ top: targetLeft
275
+ }, _.options.speed, _.options.easing, callback);
276
+ }
277
+
278
+ } else {
279
+
280
+ if (_.cssTransitions === false) {
281
+ if (_.options.rtl === true) {
282
+ _.currentLeft = -(_.currentLeft);
283
+ }
284
+ $({
285
+ animStart: _.currentLeft
286
+ }).animate({
287
+ animStart: targetLeft
288
+ }, {
289
+ duration: _.options.speed,
290
+ easing: _.options.easing,
291
+ step: function(now) {
292
+ now = Math.ceil(now);
293
+ if (_.options.vertical === false) {
294
+ animProps[_.animType] = 'translate(' +
295
+ now + 'px, 0px)';
296
+ _.$slideTrack.css(animProps);
297
+ } else {
298
+ animProps[_.animType] = 'translate(0px,' +
299
+ now + 'px)';
300
+ _.$slideTrack.css(animProps);
301
+ }
302
+ },
303
+ complete: function() {
304
+ if (callback) {
305
+ callback.call();
306
+ }
307
+ }
308
+ });
309
+
310
+ } else {
311
+
312
+ _.applyTransition();
313
+ targetLeft = Math.ceil(targetLeft);
314
+
315
+ if (_.options.vertical === false) {
316
+ animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)';
317
+ } else {
318
+ animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)';
319
+ }
320
+ _.$slideTrack.css(animProps);
321
+
322
+ if (callback) {
323
+ setTimeout(function() {
324
+
325
+ _.disableTransition();
326
+
327
+ callback.call();
328
+ }, _.options.speed);
329
+ }
330
+
331
+ }
332
+
333
+ }
334
+
335
+ };
336
+
337
+ Slick.prototype.getNavTarget = function() {
338
+
339
+ var _ = this,
340
+ asNavFor = _.options.asNavFor;
341
+
342
+ if ( asNavFor && asNavFor !== null ) {
343
+ asNavFor = $(asNavFor).not(_.$slider);
344
+ }
345
+
346
+ return asNavFor;
347
+
348
+ };
349
+
350
+ Slick.prototype.asNavFor = function(index) {
351
+
352
+ var _ = this,
353
+ asNavFor = _.getNavTarget();
354
+
355
+ if ( asNavFor !== null && typeof asNavFor === 'object' ) {
356
+ asNavFor.each(function() {
357
+ var target = $(this).slick('getSlick');
358
+ if(!target.unslicked) {
359
+ target.slideHandler(index, true);
360
+ }
361
+ });
362
+ }
363
+
364
+ };
365
+
366
+ Slick.prototype.applyTransition = function(slide) {
367
+
368
+ var _ = this,
369
+ transition = {};
370
+
371
+ if (_.options.fade === false) {
372
+ transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase;
373
+ } else {
374
+ transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase;
375
+ }
376
+
377
+ if (_.options.fade === false) {
378
+ _.$slideTrack.css(transition);
379
+ } else {
380
+ _.$slides.eq(slide).css(transition);
381
+ }
382
+
383
+ };
384
+
385
+ Slick.prototype.autoPlay = function() {
386
+
387
+ var _ = this;
388
+
389
+ _.autoPlayClear();
390
+
391
+ if ( _.slideCount > _.options.slidesToShow ) {
392
+ _.autoPlayTimer = setInterval( _.autoPlayIterator, _.options.autoplaySpeed );
393
+ }
394
+
395
+ };
396
+
397
+ Slick.prototype.autoPlayClear = function() {
398
+
399
+ var _ = this;
400
+
401
+ if (_.autoPlayTimer) {
402
+ clearInterval(_.autoPlayTimer);
403
+ }
404
+
405
+ };
406
+
407
+ Slick.prototype.autoPlayIterator = function() {
408
+
409
+ var _ = this,
410
+ slideTo = _.currentSlide + _.options.slidesToScroll;
411
+
412
+ if ( !_.paused && !_.interrupted && !_.focussed ) {
413
+
414
+ if ( _.options.infinite === false ) {
415
+
416
+ if ( _.direction === 1 && ( _.currentSlide + 1 ) === ( _.slideCount - 1 )) {
417
+ _.direction = 0;
418
+ }
419
+
420
+ else if ( _.direction === 0 ) {
421
+
422
+ slideTo = _.currentSlide - _.options.slidesToScroll;
423
+
424
+ if ( _.currentSlide - 1 === 0 ) {
425
+ _.direction = 1;
426
+ }
427
+
428
+ }
429
+
430
+ }
431
+
432
+ _.slideHandler( slideTo );
433
+
434
+ }
435
+
436
+ };
437
+
438
+ Slick.prototype.buildArrows = function() {
439
+
440
+ var _ = this;
441
+
442
+ if (_.options.arrows === true ) {
443
+
444
+ _.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow');
445
+ _.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow');
446
+
447
+ if( _.slideCount > _.options.slidesToShow ) {
448
+
449
+ _.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
450
+ _.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');
451
+
452
+ if (_.htmlExpr.test(_.options.prevArrow)) {
453
+ _.$prevArrow.prependTo(_.options.appendArrows);
454
+ }
455
+
456
+ if (_.htmlExpr.test(_.options.nextArrow)) {
457
+ _.$nextArrow.appendTo(_.options.appendArrows);
458
+ }
459
+
460
+ if (_.options.infinite !== true) {
461
+ _.$prevArrow
462
+ .addClass('slick-disabled')
463
+ .attr('aria-disabled', 'true');
464
+ }
465
+
466
+ } else {
467
+
468
+ _.$prevArrow.add( _.$nextArrow )
469
+
470
+ .addClass('slick-hidden')
471
+ .attr({
472
+ 'aria-disabled': 'true',
473
+ 'tabindex': '-1'
474
+ });
475
+
476
+ }
477
+
478
+ }
479
+
480
+ };
481
+
482
+ Slick.prototype.buildDots = function() {
483
+
484
+ var _ = this,
485
+ i, dot;
486
+
487
+ if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
488
+
489
+ _.$slider.addClass('slick-dotted');
490
+
491
+ dot = $('<ul />').addClass(_.options.dotsClass);
492
+
493
+ for (i = 0; i <= _.getDotCount(); i += 1) {
494
+ dot.append($('<li />').append(_.options.customPaging.call(this, _, i)));
495
+ }
496
+
497
+ _.$dots = dot.appendTo(_.options.appendDots);
498
+
499
+ _.$dots.find('li').first().addClass('slick-active');
500
+
501
+ }
502
+
503
+ };
504
+
505
+ Slick.prototype.buildOut = function() {
506
+
507
+ var _ = this;
508
+
509
+ _.$slides =
510
+ _.$slider
511
+ .children( _.options.slide + ':not(.slick-cloned)')
512
+ .addClass('slick-slide');
513
+
514
+ _.slideCount = _.$slides.length;
515
+
516
+ _.$slides.each(function(index, element) {
517
+ $(element)
518
+ .attr('data-slick-index', index)
519
+ .data('originalStyling', $(element).attr('style') || '');
520
+ });
521
+
522
+ _.$slider.addClass('slick-slider');
523
+
524
+ _.$slideTrack = (_.slideCount === 0) ?
525
+ $('<div class="slick-track"/>').appendTo(_.$slider) :
526
+ _.$slides.wrapAll('<div class="slick-track"/>').parent();
527
+
528
+ _.$list = _.$slideTrack.wrap(
529
+ '<div class="slick-list"/>').parent();
530
+ _.$slideTrack.css('opacity', 0);
531
+
532
+ if (_.options.centerMode === true || _.options.swipeToSlide === true) {
533
+ _.options.slidesToScroll = 1;
534
+ }
535
+
536
+ $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading');
537
+
538
+ _.setupInfinite();
539
+
540
+ _.buildArrows();
541
+
542
+ _.buildDots();
543
+
544
+ _.updateDots();
545
+
546
+
547
+ _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);
548
+
549
+ if (_.options.draggable === true) {
550
+ _.$list.addClass('draggable');
551
+ }
552
+
553
+ };
554
+
555
+ Slick.prototype.buildRows = function() {
556
+
557
+ var _ = this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection;
558
+
559
+ newSlides = document.createDocumentFragment();
560
+ originalSlides = _.$slider.children();
561
+
562
+ if(_.options.rows > 0) {
563
+
564
+ slidesPerSection = _.options.slidesPerRow * _.options.rows;
565
+ numOfSlides = Math.ceil(
566
+ originalSlides.length / slidesPerSection
567
+ );
568
+
569
+ for(a = 0; a < numOfSlides; a++){
570
+ var slide = document.createElement('div');
571
+ for(b = 0; b < _.options.rows; b++) {
572
+ var row = document.createElement('div');
573
+ for(c = 0; c < _.options.slidesPerRow; c++) {
574
+ var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c));
575
+ if (originalSlides.get(target)) {
576
+ row.appendChild(originalSlides.get(target));
577
+ }
578
+ }
579
+ slide.appendChild(row);
580
+ }
581
+ newSlides.appendChild(slide);
582
+ }
583
+
584
+ _.$slider.empty().append(newSlides);
585
+ _.$slider.children().children().children()
586
+ .css({
587
+ 'width':(100 / _.options.slidesPerRow) + '%',
588
+ 'display': 'inline-block'
589
+ });
590
+
591
+ }
592
+
593
+ };
594
+
595
+ Slick.prototype.checkResponsive = function(initial, forceUpdate) {
596
+
597
+ var _ = this,
598
+ breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false;
599
+ var sliderWidth = _.$slider.width();
600
+ var windowWidth = window.innerWidth || $(window).width();
601
+
602
+ if (_.respondTo === 'window') {
603
+ respondToWidth = windowWidth;
604
+ } else if (_.respondTo === 'slider') {
605
+ respondToWidth = sliderWidth;
606
+ } else if (_.respondTo === 'min') {
607
+ respondToWidth = Math.min(windowWidth, sliderWidth);
608
+ }
609
+
610
+ if ( _.options.responsive &&
611
+ _.options.responsive.length &&
612
+ _.options.responsive !== null) {
613
+
614
+ targetBreakpoint = null;
615
+
616
+ for (breakpoint in _.breakpoints) {
617
+ if (_.breakpoints.hasOwnProperty(breakpoint)) {
618
+ if (_.originalSettings.mobileFirst === false) {
619
+ if (respondToWidth < _.breakpoints[breakpoint]) {
620
+ targetBreakpoint = _.breakpoints[breakpoint];
621
+ }
622
+ } else {
623
+ if (respondToWidth > _.breakpoints[breakpoint]) {
624
+ targetBreakpoint = _.breakpoints[breakpoint];
625
+ }
626
+ }
627
+ }
628
+ }
629
+
630
+ if (targetBreakpoint !== null) {
631
+ if (_.activeBreakpoint !== null) {
632
+ if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) {
633
+ _.activeBreakpoint =
634
+ targetBreakpoint;
635
+ if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
636
+ _.unslick(targetBreakpoint);
637
+ } else {
638
+ _.options = $.extend({}, _.originalSettings,
639
+ _.breakpointSettings[
640
+ targetBreakpoint]);
641
+ if (initial === true) {
642
+ _.currentSlide = _.options.initialSlide;
643
+ }
644
+ _.refresh(initial);
645
+ }
646
+ triggerBreakpoint = targetBreakpoint;
647
+ }
648
+ } else {
649
+ _.activeBreakpoint = targetBreakpoint;
650
+ if (_.breakpointSettings[targetBreakpoint] === 'unslick') {
651
+ _.unslick(targetBreakpoint);
652
+ } else {
653
+ _.options = $.extend({}, _.originalSettings,
654
+ _.breakpointSettings[
655
+ targetBreakpoint]);
656
+ if (initial === true) {
657
+ _.currentSlide = _.options.initialSlide;
658
+ }
659
+ _.refresh(initial);
660
+ }
661
+ triggerBreakpoint = targetBreakpoint;
662
+ }
663
+ } else {
664
+ if (_.activeBreakpoint !== null) {
665
+ _.activeBreakpoint = null;
666
+ _.options = _.originalSettings;
667
+ if (initial === true) {
668
+ _.currentSlide = _.options.initialSlide;
669
+ }
670
+ _.refresh(initial);
671
+ triggerBreakpoint = targetBreakpoint;
672
+ }
673
+ }
674
+
675
+ // only trigger breakpoints during an actual break. not on initialize.
676
+ if( !initial && triggerBreakpoint !== false ) {
677
+ _.$slider.trigger('breakpoint', [_, triggerBreakpoint]);
678
+ }
679
+ }
680
+
681
+ };
682
+
683
+ Slick.prototype.changeSlide = function(event, dontAnimate) {
684
+
685
+ var _ = this,
686
+ $target = $(event.currentTarget),
687
+ indexOffset, slideOffset, unevenOffset;
688
+
689
+ // If target is a link, prevent default action.
690
+ if($target.is('a')) {
691
+ event.preventDefault();
692
+ }
693
+
694
+ // If target is not the <li> element (ie: a child), find the <li>.
695
+ if(!$target.is('li')) {
696
+ $target = $target.closest('li');
697
+ }
698
+
699
+ unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0);
700
+ indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll;
701
+
702
+ switch (event.data.message) {
703
+
704
+ case 'previous':
705
+ slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset;
706
+ if (_.slideCount > _.options.slidesToShow) {
707
+ _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate);
708
+ }
709
+ break;
710
+
711
+ case 'next':
712
+ slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset;
713
+ if (_.slideCount > _.options.slidesToShow) {
714
+ _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate);
715
+ }
716
+ break;
717
+
718
+ case 'index':
719
+ var index = event.data.index === 0 ? 0 :
720
+ event.data.index || $target.index() * _.options.slidesToScroll;
721
+
722
+ _.slideHandler(_.checkNavigable(index), false, dontAnimate);
723
+ $target.children().trigger('focus');
724
+ break;
725
+
726
+ default:
727
+ return;
728
+ }
729
+
730
+ };
731
+
732
+ Slick.prototype.checkNavigable = function(index) {
733
+
734
+ var _ = this,
735
+ navigables, prevNavigable;
736
+
737
+ navigables = _.getNavigableIndexes();
738
+ prevNavigable = 0;
739
+ if (index > navigables[navigables.length - 1]) {
740
+ index = navigables[navigables.length - 1];
741
+ } else {
742
+ for (var n in navigables) {
743
+ if (index < navigables[n]) {
744
+ index = prevNavigable;
745
+ break;
746
+ }
747
+ prevNavigable = navigables[n];
748
+ }
749
+ }
750
+
751
+ return index;
752
+ };
753
+
754
+ Slick.prototype.cleanUpEvents = function() {
755
+
756
+ var _ = this;
757
+
758
+ if (_.options.dots && _.$dots !== null) {
759
+
760
+ $('li', _.$dots)
761
+ .off('click.slick', _.changeSlide)
762
+ .off('mouseenter.slick', $.proxy(_.interrupt, _, true))
763
+ .off('mouseleave.slick', $.proxy(_.interrupt, _, false));
764
+
765
+ if (_.options.accessibility === true) {
766
+ _.$dots.off('keydown.slick', _.keyHandler);
767
+ }
768
+ }
769
+
770
+ _.$slider.off('focus.slick blur.slick');
771
+
772
+ if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
773
+ _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide);
774
+ _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide);
775
+
776
+ if (_.options.accessibility === true) {
777
+ _.$prevArrow && _.$prevArrow.off('keydown.slick', _.keyHandler);
778
+ _.$nextArrow && _.$nextArrow.off('keydown.slick', _.keyHandler);
779
+ }
780
+ }
781
+
782
+ _.$list.off('touchstart.slick mousedown.slick', _.swipeHandler);
783
+ _.$list.off('touchmove.slick mousemove.slick', _.swipeHandler);
784
+ _.$list.off('touchend.slick mouseup.slick', _.swipeHandler);
785
+ _.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler);
786
+
787
+ _.$list.off('click.slick', _.clickHandler);
788
+
789
+ $(document).off(_.visibilityChange, _.visibility);
790
+
791
+ _.cleanUpSlideEvents();
792
+
793
+ if (_.options.accessibility === true) {
794
+ _.$list.off('keydown.slick', _.keyHandler);
795
+ }
796
+
797
+ if (_.options.focusOnSelect === true) {
798
+ $(_.$slideTrack).children().off('click.slick', _.selectHandler);
799
+ }
800
+
801
+ $(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange);
802
+
803
+ $(window).off('resize.slick.slick-' + _.instanceUid, _.resize);
804
+
805
+ $('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault);
806
+
807
+ $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition);
808
+
809
+ };
810
+
811
+ Slick.prototype.cleanUpSlideEvents = function() {
812
+
813
+ var _ = this;
814
+
815
+ _.$list.off('mouseenter.slick', $.proxy(_.interrupt, _, true));
816
+ _.$list.off('mouseleave.slick', $.proxy(_.interrupt, _, false));
817
+
818
+ };
819
+
820
+ Slick.prototype.cleanUpRows = function() {
821
+
822
+ var _ = this, originalSlides;
823
+
824
+ if(_.options.rows > 0) {
825
+ originalSlides = _.$slides.children().children();
826
+ originalSlides.removeAttr('style');
827
+ _.$slider.empty().append(originalSlides);
828
+ }
829
+
830
+ };
831
+
832
+ Slick.prototype.clickHandler = function(event) {
833
+
834
+ var _ = this;
835
+
836
+ if (_.shouldClick === false) {
837
+ event.stopImmediatePropagation();
838
+ event.stopPropagation();
839
+ event.preventDefault();
840
+ }
841
+
842
+ };
843
+
844
+ Slick.prototype.destroy = function(refresh) {
845
+
846
+ var _ = this;
847
+
848
+ _.autoPlayClear();
849
+
850
+ _.touchObject = {};
851
+
852
+ _.cleanUpEvents();
853
+
854
+ $('.slick-cloned', _.$slider).detach();
855
+
856
+ if (_.$dots) {
857
+ _.$dots.remove();
858
+ }
859
+
860
+ if ( _.$prevArrow && _.$prevArrow.length ) {
861
+
862
+ _.$prevArrow
863
+ .removeClass('slick-disabled slick-arrow slick-hidden')
864
+ .removeAttr('aria-hidden aria-disabled tabindex')
865
+ .css('display','');
866
+
867
+ if ( _.htmlExpr.test( _.options.prevArrow )) {
868
+ _.$prevArrow.remove();
869
+ }
870
+ }
871
+
872
+ if ( _.$nextArrow && _.$nextArrow.length ) {
873
+
874
+ _.$nextArrow
875
+ .removeClass('slick-disabled slick-arrow slick-hidden')
876
+ .removeAttr('aria-hidden aria-disabled tabindex')
877
+ .css('display','');
878
+
879
+ if ( _.htmlExpr.test( _.options.nextArrow )) {
880
+ _.$nextArrow.remove();
881
+ }
882
+ }
883
+
884
+
885
+ if (_.$slides) {
886
+
887
+ _.$slides
888
+ .removeClass('slick-slide slick-active slick-center slick-visible slick-current')
889
+ .removeAttr('aria-hidden')
890
+ .removeAttr('data-slick-index')
891
+ .each(function(){
892
+ $(this).attr('style', $(this).data('originalStyling'));
893
+ });
894
+
895
+ _.$slideTrack.children(this.options.slide).detach();
896
+
897
+ _.$slideTrack.detach();
898
+
899
+ _.$list.detach();
900
+
901
+ _.$slider.append(_.$slides);
902
+ }
903
+
904
+ _.cleanUpRows();
905
+
906
+ _.$slider.removeClass('slick-slider');
907
+ _.$slider.removeClass('slick-initialized');
908
+ _.$slider.removeClass('slick-dotted');
909
+
910
+ _.unslicked = true;
911
+
912
+ if(!refresh) {
913
+ _.$slider.trigger('destroy', [_]);
914
+ }
915
+
916
+ };
917
+
918
+ Slick.prototype.disableTransition = function(slide) {
919
+
920
+ var _ = this,
921
+ transition = {};
922
+
923
+ transition[_.transitionType] = '';
924
+
925
+ if (_.options.fade === false) {
926
+ _.$slideTrack.css(transition);
927
+ } else {
928
+ _.$slides.eq(slide).css(transition);
929
+ }
930
+
931
+ };
932
+
933
+ Slick.prototype.fadeSlide = function(slideIndex, callback) {
934
+
935
+ var _ = this;
936
+
937
+ if (_.cssTransitions === false) {
938
+
939
+ _.$slides.eq(slideIndex).css({
940
+ zIndex: _.options.zIndex
941
+ });
942
+
943
+ _.$slides.eq(slideIndex).animate({
944
+ opacity: 1
945
+ }, _.options.speed, _.options.easing, callback);
946
+
947
+ } else {
948
+
949
+ _.applyTransition(slideIndex);
950
+
951
+ _.$slides.eq(slideIndex).css({
952
+ opacity: 1,
953
+ zIndex: _.options.zIndex
954
+ });
955
+
956
+ if (callback) {
957
+ setTimeout(function() {
958
+
959
+ _.disableTransition(slideIndex);
960
+
961
+ callback.call();
962
+ }, _.options.speed);
963
+ }
964
+
965
+ }
966
+
967
+ };
968
+
969
+ Slick.prototype.fadeSlideOut = function(slideIndex) {
970
+
971
+ var _ = this;
972
+
973
+ if (_.cssTransitions === false) {
974
+
975
+ _.$slides.eq(slideIndex).animate({
976
+ opacity: 0,
977
+ zIndex: _.options.zIndex - 2
978
+ }, _.options.speed, _.options.easing);
979
+
980
+ } else {
981
+
982
+ _.applyTransition(slideIndex);
983
+
984
+ _.$slides.eq(slideIndex).css({
985
+ opacity: 0,
986
+ zIndex: _.options.zIndex - 2
987
+ });
988
+
989
+ }
990
+
991
+ };
992
+
993
+ Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) {
994
+
995
+ var _ = this;
996
+
997
+ if (filter !== null) {
998
+
999
+ _.$slidesCache = _.$slides;
1000
+
1001
+ _.unload();
1002
+
1003
+ _.$slideTrack.children(this.options.slide).detach();
1004
+
1005
+ _.$slidesCache.filter(filter).appendTo(_.$slideTrack);
1006
+
1007
+ _.reinit();
1008
+
1009
+ }
1010
+
1011
+ };
1012
+
1013
+ Slick.prototype.focusHandler = function() {
1014
+
1015
+ var _ = this;
1016
+
1017
+ // If any child element receives focus within the slider we need to pause the autoplay
1018
+ _.$slider
1019
+ .off('focus.slick blur.slick')
1020
+ .on(
1021
+ 'focus.slick',
1022
+ '*',
1023
+ function(event) {
1024
+ var $sf = $(this);
1025
+
1026
+ setTimeout(function() {
1027
+ if( _.options.pauseOnFocus ) {
1028
+ if ($sf.is(':focus')) {
1029
+ _.focussed = true;
1030
+ _.autoPlay();
1031
+ }
1032
+ }
1033
+ }, 0);
1034
+ }
1035
+ ).on(
1036
+ 'blur.slick',
1037
+ '*',
1038
+ function(event) {
1039
+ var $sf = $(this);
1040
+
1041
+ // When a blur occurs on any elements within the slider we become unfocused
1042
+ if( _.options.pauseOnFocus ) {
1043
+ _.focussed = false;
1044
+ _.autoPlay();
1045
+ }
1046
+ }
1047
+ );
1048
+ };
1049
+
1050
+ Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() {
1051
+
1052
+ var _ = this;
1053
+ return _.currentSlide;
1054
+
1055
+ };
1056
+
1057
+ Slick.prototype.getDotCount = function() {
1058
+
1059
+ var _ = this;
1060
+
1061
+ var breakPoint = 0;
1062
+ var counter = 0;
1063
+ var pagerQty = 0;
1064
+
1065
+ if (_.options.infinite === true) {
1066
+ if (_.slideCount <= _.options.slidesToShow) {
1067
+ ++pagerQty;
1068
+ } else {
1069
+ while (breakPoint < _.slideCount) {
1070
+ ++pagerQty;
1071
+ breakPoint = counter + _.options.slidesToScroll;
1072
+ counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
1073
+ }
1074
+ }
1075
+ } else if (_.options.centerMode === true) {
1076
+ pagerQty = _.slideCount;
1077
+ } else if(!_.options.asNavFor) {
1078
+ pagerQty = 1 + Math.ceil((_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll);
1079
+ }else {
1080
+ while (breakPoint < _.slideCount) {
1081
+ ++pagerQty;
1082
+ breakPoint = counter + _.options.slidesToScroll;
1083
+ counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
1084
+ }
1085
+ }
1086
+
1087
+ return pagerQty - 1;
1088
+
1089
+ };
1090
+
1091
+ Slick.prototype.getLeft = function(slideIndex) {
1092
+
1093
+ var _ = this,
1094
+ targetLeft,
1095
+ verticalHeight,
1096
+ verticalOffset = 0,
1097
+ targetSlide,
1098
+ coef;
1099
+
1100
+ _.slideOffset = 0;
1101
+ verticalHeight = _.$slides.first().outerHeight(true);
1102
+
1103
+ if (_.options.infinite === true) {
1104
+ if (_.slideCount > _.options.slidesToShow) {
1105
+ _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1;
1106
+ coef = -1
1107
+
1108
+ if (_.options.vertical === true && _.options.centerMode === true) {
1109
+ if (_.options.slidesToShow === 2) {
1110
+ coef = -1.5;
1111
+ } else if (_.options.slidesToShow === 1) {
1112
+ coef = -2
1113
+ }
1114
+ }
1115
+ verticalOffset = (verticalHeight * _.options.slidesToShow) * coef;
1116
+ }
1117
+ if (_.slideCount % _.options.slidesToScroll !== 0) {
1118
+ if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) {
1119
+ if (slideIndex > _.slideCount) {
1120
+ _.slideOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth) * -1;
1121
+ verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1;
1122
+ } else {
1123
+ _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1;
1124
+ verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1;
1125
+ }
1126
+ }
1127
+ }
1128
+ } else {
1129
+ if (slideIndex + _.options.slidesToShow > _.slideCount) {
1130
+ _.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth;
1131
+ verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight;
1132
+ }
1133
+ }
1134
+
1135
+ if (_.slideCount <= _.options.slidesToShow) {
1136
+ _.slideOffset = 0;
1137
+ verticalOffset = 0;
1138
+ }
1139
+
1140
+ if (_.options.centerMode === true && _.slideCount <= _.options.slidesToShow) {
1141
+ _.slideOffset = ((_.slideWidth * Math.floor(_.options.slidesToShow)) / 2) - ((_.slideWidth * _.slideCount) / 2);
1142
+ } else if (_.options.centerMode === true && _.options.infinite === true) {
1143
+ _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth;
1144
+ } else if (_.options.centerMode === true) {
1145
+ _.slideOffset = 0;
1146
+ _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2);
1147
+ }
1148
+
1149
+ if (_.options.vertical === false) {
1150
+ targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset;
1151
+ } else {
1152
+ targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset;
1153
+ }
1154
+
1155
+ if (_.options.variableWidth === true) {
1156
+
1157
+ if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
1158
+ targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
1159
+ } else {
1160
+ targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow);
1161
+ }
1162
+
1163
+ if (_.options.rtl === true) {
1164
+ if (targetSlide[0]) {
1165
+ targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
1166
+ } else {
1167
+ targetLeft = 0;
1168
+ }
1169
+ } else {
1170
+ targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
1171
+ }
1172
+
1173
+ if (_.options.centerMode === true) {
1174
+ if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {
1175
+ targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);
1176
+ } else {
1177
+ targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1);
1178
+ }
1179
+
1180
+ if (_.options.rtl === true) {
1181
+ if (targetSlide[0]) {
1182
+ targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;
1183
+ } else {
1184
+ targetLeft = 0;
1185
+ }
1186
+ } else {
1187
+ targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;
1188
+ }
1189
+
1190
+ targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2;
1191
+ }
1192
+ }
1193
+
1194
+ return targetLeft;
1195
+
1196
+ };
1197
+
1198
+ Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) {
1199
+
1200
+ var _ = this;
1201
+
1202
+ return _.options[option];
1203
+
1204
+ };
1205
+
1206
+ Slick.prototype.getNavigableIndexes = function() {
1207
+
1208
+ var _ = this,
1209
+ breakPoint = 0,
1210
+ counter = 0,
1211
+ indexes = [],
1212
+ max;
1213
+
1214
+ if (_.options.infinite === false) {
1215
+ max = _.slideCount;
1216
+ } else {
1217
+ breakPoint = _.options.slidesToScroll * -1;
1218
+ counter = _.options.slidesToScroll * -1;
1219
+ max = _.slideCount * 2;
1220
+ }
1221
+
1222
+ while (breakPoint < max) {
1223
+ indexes.push(breakPoint);
1224
+ breakPoint = counter + _.options.slidesToScroll;
1225
+ counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;
1226
+ }
1227
+
1228
+ return indexes;
1229
+
1230
+ };
1231
+
1232
+ Slick.prototype.getSlick = function() {
1233
+
1234
+ return this;
1235
+
1236
+ };
1237
+
1238
+ Slick.prototype.getSlideCount = function() {
1239
+
1240
+ var _ = this,
1241
+ slidesTraversed, swipedSlide, swipeTarget, centerOffset;
1242
+
1243
+ centerOffset = _.options.centerMode === true ? Math.floor(_.$list.width() / 2) : 0;
1244
+ swipeTarget = (_.swipeLeft * -1) + centerOffset;
1245
+
1246
+ if (_.options.swipeToSlide === true) {
1247
+
1248
+ _.$slideTrack.find('.slick-slide').each(function(index, slide) {
1249
+
1250
+ var slideOuterWidth, slideOffset, slideRightBoundary;
1251
+ slideOuterWidth = $(slide).outerWidth();
1252
+ slideOffset = slide.offsetLeft;
1253
+ if (_.options.centerMode !== true) {
1254
+ slideOffset += (slideOuterWidth / 2);
1255
+ }
1256
+
1257
+ slideRightBoundary = slideOffset + (slideOuterWidth);
1258
+
1259
+ if (swipeTarget < slideRightBoundary) {
1260
+ swipedSlide = slide;
1261
+ return false;
1262
+ }
1263
+ });
1264
+
1265
+ slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1;
1266
+
1267
+ return slidesTraversed;
1268
+
1269
+ } else {
1270
+ return _.options.slidesToScroll;
1271
+ }
1272
+
1273
+ };
1274
+
1275
+ Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) {
1276
+
1277
+ var _ = this;
1278
+
1279
+ _.changeSlide({
1280
+ data: {
1281
+ message: 'index',
1282
+ index: parseInt(slide)
1283
+ }
1284
+ }, dontAnimate);
1285
+
1286
+ };
1287
+
1288
+ Slick.prototype.init = function(creation) {
1289
+
1290
+ var _ = this;
1291
+
1292
+ if (!$(_.$slider).hasClass('slick-initialized')) {
1293
+
1294
+ $(_.$slider).addClass('slick-initialized');
1295
+
1296
+ _.buildRows();
1297
+ _.buildOut();
1298
+ _.setProps();
1299
+ _.startLoad();
1300
+ _.loadSlider();
1301
+ _.initializeEvents();
1302
+ _.updateArrows();
1303
+ _.updateDots();
1304
+ _.checkResponsive(true);
1305
+ _.focusHandler();
1306
+
1307
+ }
1308
+
1309
+ if (creation) {
1310
+ _.$slider.trigger('init', [_]);
1311
+ }
1312
+
1313
+ if (_.options.accessibility === true) {
1314
+ _.initADA();
1315
+ }
1316
+
1317
+ if ( _.options.autoplay ) {
1318
+
1319
+ _.paused = false;
1320
+ _.autoPlay();
1321
+
1322
+ }
1323
+
1324
+ };
1325
+
1326
+ Slick.prototype.initADA = function() {
1327
+ var _ = this,
1328
+ numDotGroups = Math.ceil(_.slideCount / _.options.slidesToShow),
1329
+ tabControlIndexes = _.getNavigableIndexes().filter(function(val) {
1330
+ return (val >= 0) && (val < _.slideCount);
1331
+ });
1332
+
1333
+ _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({
1334
+ 'aria-hidden': 'true',
1335
+ 'tabindex': '-1'
1336
+ }).find('a, input, button, select').attr({
1337
+ 'tabindex': '-1'
1338
+ });
1339
+
1340
+ if (_.$dots !== null) {
1341
+ _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) {
1342
+ var slideControlIndex = tabControlIndexes.indexOf(i);
1343
+
1344
+ $(this).attr({
1345
+ 'role': 'tabpanel',
1346
+ 'id': 'slick-slide' + _.instanceUid + i,
1347
+ 'tabindex': -1
1348
+ });
1349
+
1350
+ if (slideControlIndex !== -1) {
1351
+ var ariaButtonControl = 'slick-slide-control' + _.instanceUid + slideControlIndex
1352
+ if ($('#' + ariaButtonControl).length) {
1353
+ $(this).attr({
1354
+ 'aria-describedby': ariaButtonControl
1355
+ });
1356
+ }
1357
+ }
1358
+ });
1359
+
1360
+ _.$dots.attr('role', 'tablist').find('li').each(function(i) {
1361
+ var mappedSlideIndex = tabControlIndexes[i];
1362
+
1363
+ $(this).attr({
1364
+ 'role': 'presentation'
1365
+ });
1366
+
1367
+ $(this).find('button').first().attr({
1368
+ 'role': 'tab',
1369
+ 'id': 'slick-slide-control' + _.instanceUid + i,
1370
+ 'aria-controls': 'slick-slide' + _.instanceUid + mappedSlideIndex,
1371
+ 'aria-label': (i + 1) + ' of ' + numDotGroups,
1372
+ 'aria-selected': null,
1373
+ 'tabindex': '-1'
1374
+ });
1375
+
1376
+ }).eq(_.currentSlide).find('button').attr({
1377
+ 'aria-selected': 'true',
1378
+ 'tabindex': '0'
1379
+ }).end();
1380
+ }
1381
+
1382
+ for (var i=_.currentSlide, max=i+_.options.slidesToShow; i < max; i++) {
1383
+ if (_.options.focusOnChange) {
1384
+ _.$slides.eq(i).attr({'tabindex': '0'});
1385
+ } else {
1386
+ _.$slides.eq(i).removeAttr('tabindex');
1387
+ }
1388
+ }
1389
+
1390
+ _.activateADA();
1391
+
1392
+ };
1393
+
1394
+ Slick.prototype.initArrowEvents = function() {
1395
+
1396
+ var _ = this;
1397
+
1398
+ if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
1399
+ _.$prevArrow
1400
+ .off('click.slick')
1401
+ .on('click.slick', {
1402
+ message: 'previous'
1403
+ }, _.changeSlide);
1404
+ _.$nextArrow
1405
+ .off('click.slick')
1406
+ .on('click.slick', {
1407
+ message: 'next'
1408
+ }, _.changeSlide);
1409
+
1410
+ if (_.options.accessibility === true) {
1411
+ _.$prevArrow.on('keydown.slick', _.keyHandler);
1412
+ _.$nextArrow.on('keydown.slick', _.keyHandler);
1413
+ }
1414
+ }
1415
+
1416
+ };
1417
+
1418
+ Slick.prototype.initDotEvents = function() {
1419
+
1420
+ var _ = this;
1421
+
1422
+ if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
1423
+ $('li', _.$dots).on('click.slick', {
1424
+ message: 'index'
1425
+ }, _.changeSlide);
1426
+
1427
+ if (_.options.accessibility === true) {
1428
+ _.$dots.on('keydown.slick', _.keyHandler);
1429
+ }
1430
+ }
1431
+
1432
+ if (_.options.dots === true && _.options.pauseOnDotsHover === true && _.slideCount > _.options.slidesToShow) {
1433
+
1434
+ $('li', _.$dots)
1435
+ .on('mouseenter.slick', $.proxy(_.interrupt, _, true))
1436
+ .on('mouseleave.slick', $.proxy(_.interrupt, _, false));
1437
+
1438
+ }
1439
+
1440
+ };
1441
+
1442
+ Slick.prototype.initSlideEvents = function() {
1443
+
1444
+ var _ = this;
1445
+
1446
+ if ( _.options.pauseOnHover ) {
1447
+
1448
+ _.$list.on('mouseenter.slick', $.proxy(_.interrupt, _, true));
1449
+ _.$list.on('mouseleave.slick', $.proxy(_.interrupt, _, false));
1450
+
1451
+ }
1452
+
1453
+ };
1454
+
1455
+ Slick.prototype.initializeEvents = function() {
1456
+
1457
+ var _ = this;
1458
+
1459
+ _.initArrowEvents();
1460
+
1461
+ _.initDotEvents();
1462
+ _.initSlideEvents();
1463
+
1464
+ _.$list.on('touchstart.slick mousedown.slick', {
1465
+ action: 'start'
1466
+ }, _.swipeHandler);
1467
+ _.$list.on('touchmove.slick mousemove.slick', {
1468
+ action: 'move'
1469
+ }, _.swipeHandler);
1470
+ _.$list.on('touchend.slick mouseup.slick', {
1471
+ action: 'end'
1472
+ }, _.swipeHandler);
1473
+ _.$list.on('touchcancel.slick mouseleave.slick', {
1474
+ action: 'end'
1475
+ }, _.swipeHandler);
1476
+
1477
+ _.$list.on('click.slick', _.clickHandler);
1478
+
1479
+ $(document).on(_.visibilityChange, $.proxy(_.visibility, _));
1480
+
1481
+ if (_.options.accessibility === true) {
1482
+ _.$list.on('keydown.slick', _.keyHandler);
1483
+ }
1484
+
1485
+ if (_.options.focusOnSelect === true) {
1486
+ $(_.$slideTrack).children().on('click.slick', _.selectHandler);
1487
+ }
1488
+
1489
+ $(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _));
1490
+
1491
+ $(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _));
1492
+
1493
+ $('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault);
1494
+
1495
+ $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition);
1496
+ $(_.setPosition);
1497
+
1498
+ };
1499
+
1500
+ Slick.prototype.initUI = function() {
1501
+
1502
+ var _ = this;
1503
+
1504
+ if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
1505
+
1506
+ _.$prevArrow.show();
1507
+ _.$nextArrow.show();
1508
+
1509
+ }
1510
+
1511
+ if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
1512
+
1513
+ _.$dots.show();
1514
+
1515
+ }
1516
+
1517
+ };
1518
+
1519
+ Slick.prototype.keyHandler = function(event) {
1520
+
1521
+ var _ = this;
1522
+ //Dont slide if the cursor is inside the form fields and arrow keys are pressed
1523
+ if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) {
1524
+ if (event.keyCode === 37 && _.options.accessibility === true) {
1525
+ _.changeSlide({
1526
+ data: {
1527
+ message: _.options.rtl === true ? 'next' : 'previous'
1528
+ }
1529
+ });
1530
+ } else if (event.keyCode === 39 && _.options.accessibility === true) {
1531
+ _.changeSlide({
1532
+ data: {
1533
+ message: _.options.rtl === true ? 'previous' : 'next'
1534
+ }
1535
+ });
1536
+ }
1537
+ }
1538
+
1539
+ };
1540
+
1541
+ Slick.prototype.lazyLoad = function() {
1542
+
1543
+ var _ = this,
1544
+ loadRange, cloneRange, rangeStart, rangeEnd;
1545
+
1546
+ function loadImages(imagesScope) {
1547
+
1548
+ $('img[data-lazy]', imagesScope).each(function() {
1549
+
1550
+ var image = $(this),
1551
+ imageSource = $(this).attr('data-lazy'),
1552
+ imageSrcSet = $(this).attr('data-srcset'),
1553
+ imageSizes = $(this).attr('data-sizes') || _.$slider.attr('data-sizes'),
1554
+ imageToLoad = document.createElement('img');
1555
+
1556
+ imageToLoad.onload = function() {
1557
+
1558
+ image
1559
+ .animate({ opacity: 0 }, 100, function() {
1560
+
1561
+ if (imageSrcSet) {
1562
+ image
1563
+ .attr('srcset', imageSrcSet );
1564
+
1565
+ if (imageSizes) {
1566
+ image
1567
+ .attr('sizes', imageSizes );
1568
+ }
1569
+ }
1570
+
1571
+ image
1572
+ .attr('src', imageSource)
1573
+ .animate({ opacity: 1 }, 200, function() {
1574
+ image
1575
+ .removeAttr('data-lazy data-srcset data-sizes')
1576
+ .removeClass('slick-loading');
1577
+ });
1578
+ _.$slider.trigger('lazyLoaded', [_, image, imageSource]);
1579
+ });
1580
+
1581
+ };
1582
+
1583
+ imageToLoad.onerror = function() {
1584
+
1585
+ image
1586
+ .removeAttr( 'data-lazy' )
1587
+ .removeClass( 'slick-loading' )
1588
+ .addClass( 'slick-lazyload-error' );
1589
+
1590
+ _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);
1591
+
1592
+ };
1593
+
1594
+ imageToLoad.src = imageSource;
1595
+
1596
+ });
1597
+
1598
+ }
1599
+
1600
+ if (_.options.centerMode === true) {
1601
+ if (_.options.infinite === true) {
1602
+ rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1);
1603
+ rangeEnd = rangeStart + _.options.slidesToShow + 2;
1604
+ } else {
1605
+ rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1));
1606
+ rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide;
1607
+ }
1608
+ } else {
1609
+ rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide;
1610
+ rangeEnd = Math.ceil(rangeStart + _.options.slidesToShow);
1611
+ if (_.options.fade === true) {
1612
+ if (rangeStart > 0) rangeStart--;
1613
+ if (rangeEnd <= _.slideCount) rangeEnd++;
1614
+ }
1615
+ }
1616
+
1617
+ loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd);
1618
+
1619
+ if (_.options.lazyLoad === 'anticipated') {
1620
+ var prevSlide = rangeStart - 1,
1621
+ nextSlide = rangeEnd,
1622
+ $slides = _.$slider.find('.slick-slide');
1623
+
1624
+ for (var i = 0; i < _.options.slidesToScroll; i++) {
1625
+ if (prevSlide < 0) prevSlide = _.slideCount - 1;
1626
+ loadRange = loadRange.add($slides.eq(prevSlide));
1627
+ loadRange = loadRange.add($slides.eq(nextSlide));
1628
+ prevSlide--;
1629
+ nextSlide++;
1630
+ }
1631
+ }
1632
+
1633
+ loadImages(loadRange);
1634
+
1635
+ if (_.slideCount <= _.options.slidesToShow) {
1636
+ cloneRange = _.$slider.find('.slick-slide');
1637
+ loadImages(cloneRange);
1638
+ } else
1639
+ if (_.currentSlide >= _.slideCount - _.options.slidesToShow) {
1640
+ cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow);
1641
+ loadImages(cloneRange);
1642
+ } else if (_.currentSlide === 0) {
1643
+ cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1);
1644
+ loadImages(cloneRange);
1645
+ }
1646
+
1647
+ };
1648
+
1649
+ Slick.prototype.loadSlider = function() {
1650
+
1651
+ var _ = this;
1652
+
1653
+ _.setPosition();
1654
+
1655
+ _.$slideTrack.css({
1656
+ opacity: 1
1657
+ });
1658
+
1659
+ _.$slider.removeClass('slick-loading');
1660
+
1661
+ _.initUI();
1662
+
1663
+ if (_.options.lazyLoad === 'progressive') {
1664
+ _.progressiveLazyLoad();
1665
+ }
1666
+
1667
+ };
1668
+
1669
+ Slick.prototype.next = Slick.prototype.slickNext = function() {
1670
+
1671
+ var _ = this;
1672
+
1673
+ _.changeSlide({
1674
+ data: {
1675
+ message: 'next'
1676
+ }
1677
+ });
1678
+
1679
+ };
1680
+
1681
+ Slick.prototype.orientationChange = function() {
1682
+
1683
+ var _ = this;
1684
+
1685
+ _.checkResponsive();
1686
+ _.setPosition();
1687
+
1688
+ };
1689
+
1690
+ Slick.prototype.pause = Slick.prototype.slickPause = function() {
1691
+
1692
+ var _ = this;
1693
+
1694
+ _.autoPlayClear();
1695
+ _.paused = true;
1696
+
1697
+ };
1698
+
1699
+ Slick.prototype.play = Slick.prototype.slickPlay = function() {
1700
+
1701
+ var _ = this;
1702
+
1703
+ _.autoPlay();
1704
+ _.options.autoplay = true;
1705
+ _.paused = false;
1706
+ _.focussed = false;
1707
+ _.interrupted = false;
1708
+
1709
+ };
1710
+
1711
+ Slick.prototype.postSlide = function(index) {
1712
+
1713
+ var _ = this;
1714
+
1715
+ if( !_.unslicked ) {
1716
+
1717
+ _.$slider.trigger('afterChange', [_, index]);
1718
+
1719
+ _.animating = false;
1720
+
1721
+ if (_.slideCount > _.options.slidesToShow) {
1722
+ _.setPosition();
1723
+ }
1724
+
1725
+ _.swipeLeft = null;
1726
+
1727
+ if ( _.options.autoplay ) {
1728
+ _.autoPlay();
1729
+ }
1730
+
1731
+ if (_.options.accessibility === true) {
1732
+ _.initADA();
1733
+
1734
+ if (_.options.focusOnChange) {
1735
+ var $currentSlide = $(_.$slides.get(_.currentSlide));
1736
+ $currentSlide.attr('tabindex', 0).focus();
1737
+ }
1738
+ }
1739
+
1740
+ }
1741
+
1742
+ };
1743
+
1744
+ Slick.prototype.prev = Slick.prototype.slickPrev = function() {
1745
+
1746
+ var _ = this;
1747
+
1748
+ _.changeSlide({
1749
+ data: {
1750
+ message: 'previous'
1751
+ }
1752
+ });
1753
+
1754
+ };
1755
+
1756
+ Slick.prototype.preventDefault = function(event) {
1757
+
1758
+ event.preventDefault();
1759
+
1760
+ };
1761
+
1762
+ Slick.prototype.progressiveLazyLoad = function( tryCount ) {
1763
+
1764
+ tryCount = tryCount || 1;
1765
+
1766
+ var _ = this,
1767
+ $imgsToLoad = $( 'img[data-lazy]', _.$slider ),
1768
+ image,
1769
+ imageSource,
1770
+ imageSrcSet,
1771
+ imageSizes,
1772
+ imageToLoad;
1773
+
1774
+ if ( $imgsToLoad.length ) {
1775
+
1776
+ image = $imgsToLoad.first();
1777
+ imageSource = image.attr('data-lazy');
1778
+ imageSrcSet = image.attr('data-srcset');
1779
+ imageSizes = image.attr('data-sizes') || _.$slider.attr('data-sizes');
1780
+ imageToLoad = document.createElement('img');
1781
+
1782
+ imageToLoad.onload = function() {
1783
+
1784
+ if (imageSrcSet) {
1785
+ image
1786
+ .attr('srcset', imageSrcSet );
1787
+
1788
+ if (imageSizes) {
1789
+ image
1790
+ .attr('sizes', imageSizes );
1791
+ }
1792
+ }
1793
+
1794
+ image
1795
+ .attr( 'src', imageSource )
1796
+ .removeAttr('data-lazy data-srcset data-sizes')
1797
+ .removeClass('slick-loading');
1798
+
1799
+ if ( _.options.adaptiveHeight === true ) {
1800
+ _.setPosition();
1801
+ }
1802
+
1803
+ _.$slider.trigger('lazyLoaded', [ _, image, imageSource ]);
1804
+ _.progressiveLazyLoad();
1805
+
1806
+ };
1807
+
1808
+ imageToLoad.onerror = function() {
1809
+
1810
+ if ( tryCount < 3 ) {
1811
+
1812
+ /**
1813
+ * try to load the image 3 times,
1814
+ * leave a slight delay so we don't get
1815
+ * servers blocking the request.
1816
+ */
1817
+ setTimeout( function() {
1818
+ _.progressiveLazyLoad( tryCount + 1 );
1819
+ }, 500 );
1820
+
1821
+ } else {
1822
+
1823
+ image
1824
+ .removeAttr( 'data-lazy' )
1825
+ .removeClass( 'slick-loading' )
1826
+ .addClass( 'slick-lazyload-error' );
1827
+
1828
+ _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]);
1829
+
1830
+ _.progressiveLazyLoad();
1831
+
1832
+ }
1833
+
1834
+ };
1835
+
1836
+ imageToLoad.src = imageSource;
1837
+
1838
+ } else {
1839
+
1840
+ _.$slider.trigger('allImagesLoaded', [ _ ]);
1841
+
1842
+ }
1843
+
1844
+ };
1845
+
1846
+ Slick.prototype.refresh = function( initializing ) {
1847
+
1848
+ var _ = this, currentSlide, lastVisibleIndex;
1849
+
1850
+ lastVisibleIndex = _.slideCount - _.options.slidesToShow;
1851
+
1852
+ // in non-infinite sliders, we don't want to go past the
1853
+ // last visible index.
1854
+ if( !_.options.infinite && ( _.currentSlide > lastVisibleIndex )) {
1855
+ _.currentSlide = lastVisibleIndex;
1856
+ }
1857
+
1858
+ // if less slides than to show, go to start.
1859
+ if ( _.slideCount <= _.options.slidesToShow ) {
1860
+ _.currentSlide = 0;
1861
+
1862
+ }
1863
+
1864
+ currentSlide = _.currentSlide;
1865
+
1866
+ _.destroy(true);
1867
+
1868
+ $.extend(_, _.initials, { currentSlide: currentSlide });
1869
+
1870
+ _.init();
1871
+
1872
+ if( !initializing ) {
1873
+
1874
+ _.changeSlide({
1875
+ data: {
1876
+ message: 'index',
1877
+ index: currentSlide
1878
+ }
1879
+ }, false);
1880
+
1881
+ }
1882
+
1883
+ };
1884
+
1885
+ Slick.prototype.registerBreakpoints = function() {
1886
+
1887
+ var _ = this, breakpoint, currentBreakpoint, l,
1888
+ responsiveSettings = _.options.responsive || null;
1889
+
1890
+ if ( $.type(responsiveSettings) === 'array' && responsiveSettings.length ) {
1891
+
1892
+ _.respondTo = _.options.respondTo || 'window';
1893
+
1894
+ for ( breakpoint in responsiveSettings ) {
1895
+
1896
+ l = _.breakpoints.length-1;
1897
+
1898
+ if (responsiveSettings.hasOwnProperty(breakpoint)) {
1899
+ currentBreakpoint = responsiveSettings[breakpoint].breakpoint;
1900
+
1901
+ // loop through the breakpoints and cut out any existing
1902
+ // ones with the same breakpoint number, we don't want dupes.
1903
+ while( l >= 0 ) {
1904
+ if( _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint ) {
1905
+ _.breakpoints.splice(l,1);
1906
+ }
1907
+ l--;
1908
+ }
1909
+
1910
+ _.breakpoints.push(currentBreakpoint);
1911
+ _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings;
1912
+
1913
+ }
1914
+
1915
+ }
1916
+
1917
+ _.breakpoints.sort(function(a, b) {
1918
+ return ( _.options.mobileFirst ) ? a-b : b-a;
1919
+ });
1920
+
1921
+ }
1922
+
1923
+ };
1924
+
1925
+ Slick.prototype.reinit = function() {
1926
+
1927
+ var _ = this;
1928
+
1929
+ _.$slides =
1930
+ _.$slideTrack
1931
+ .children(_.options.slide)
1932
+ .addClass('slick-slide');
1933
+
1934
+ _.slideCount = _.$slides.length;
1935
+
1936
+ if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) {
1937
+ _.currentSlide = _.currentSlide - _.options.slidesToScroll;
1938
+ }
1939
+
1940
+ if (_.slideCount <= _.options.slidesToShow) {
1941
+ _.currentSlide = 0;
1942
+ }
1943
+
1944
+ _.registerBreakpoints();
1945
+
1946
+ _.setProps();
1947
+ _.setupInfinite();
1948
+ _.buildArrows();
1949
+ _.updateArrows();
1950
+ _.initArrowEvents();
1951
+ _.buildDots();
1952
+ _.updateDots();
1953
+ _.initDotEvents();
1954
+ _.cleanUpSlideEvents();
1955
+ _.initSlideEvents();
1956
+
1957
+ _.checkResponsive(false, true);
1958
+
1959
+ if (_.options.focusOnSelect === true) {
1960
+ $(_.$slideTrack).children().on('click.slick', _.selectHandler);
1961
+ }
1962
+
1963
+ _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);
1964
+
1965
+ _.setPosition();
1966
+ _.focusHandler();
1967
+
1968
+ _.paused = !_.options.autoplay;
1969
+ _.autoPlay();
1970
+
1971
+ _.$slider.trigger('reInit', [_]);
1972
+
1973
+ };
1974
+
1975
+ Slick.prototype.resize = function() {
1976
+
1977
+ var _ = this;
1978
+
1979
+ if ($(window).width() !== _.windowWidth) {
1980
+ clearTimeout(_.windowDelay);
1981
+ _.windowDelay = window.setTimeout(function() {
1982
+ _.windowWidth = $(window).width();
1983
+ _.checkResponsive();
1984
+ if( !_.unslicked ) { _.setPosition(); }
1985
+ }, 50);
1986
+ }
1987
+ };
1988
+
1989
+ Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) {
1990
+
1991
+ var _ = this;
1992
+
1993
+ if (typeof(index) === 'boolean') {
1994
+ removeBefore = index;
1995
+ index = removeBefore === true ? 0 : _.slideCount - 1;
1996
+ } else {
1997
+ index = removeBefore === true ? --index : index;
1998
+ }
1999
+
2000
+ if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) {
2001
+ return false;
2002
+ }
2003
+
2004
+ _.unload();
2005
+
2006
+ if (removeAll === true) {
2007
+ _.$slideTrack.children().remove();
2008
+ } else {
2009
+ _.$slideTrack.children(this.options.slide).eq(index).remove();
2010
+ }
2011
+
2012
+ _.$slides = _.$slideTrack.children(this.options.slide);
2013
+
2014
+ _.$slideTrack.children(this.options.slide).detach();
2015
+
2016
+ _.$slideTrack.append(_.$slides);
2017
+
2018
+ _.$slidesCache = _.$slides;
2019
+
2020
+ _.reinit();
2021
+
2022
+ };
2023
+
2024
+ Slick.prototype.setCSS = function(position) {
2025
+
2026
+ var _ = this,
2027
+ positionProps = {},
2028
+ x, y;
2029
+
2030
+ if (_.options.rtl === true) {
2031
+ position = -position;
2032
+ }
2033
+ x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px';
2034
+ y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px';
2035
+
2036
+ positionProps[_.positionProp] = position;
2037
+
2038
+ if (_.transformsEnabled === false) {
2039
+ _.$slideTrack.css(positionProps);
2040
+ } else {
2041
+ positionProps = {};
2042
+ if (_.cssTransitions === false) {
2043
+ positionProps[_.animType] = 'translate(' + x + ', ' + y + ')';
2044
+ _.$slideTrack.css(positionProps);
2045
+ } else {
2046
+ positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)';
2047
+ _.$slideTrack.css(positionProps);
2048
+ }
2049
+ }
2050
+
2051
+ };
2052
+
2053
+ Slick.prototype.setDimensions = function() {
2054
+
2055
+ var _ = this;
2056
+
2057
+ if (_.options.vertical === false) {
2058
+ if (_.options.centerMode === true) {
2059
+ _.$list.css({
2060
+ padding: ('0px ' + _.options.centerPadding)
2061
+ });
2062
+ }
2063
+ } else {
2064
+ _.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow);
2065
+ if (_.options.centerMode === true) {
2066
+ _.$list.css({
2067
+ padding: (_.options.centerPadding + ' 0px')
2068
+ });
2069
+ }
2070
+ }
2071
+
2072
+ _.listWidth = _.$list.width();
2073
+ _.listHeight = _.$list.height();
2074
+
2075
+
2076
+ if (_.options.vertical === false && _.options.variableWidth === false) {
2077
+ _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow);
2078
+ _.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length)));
2079
+
2080
+ } else if (_.options.variableWidth === true) {
2081
+ _.$slideTrack.width(5000 * _.slideCount);
2082
+ } else {
2083
+ _.slideWidth = Math.ceil(_.listWidth);
2084
+ _.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length)));
2085
+ }
2086
+
2087
+ var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width();
2088
+ if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset);
2089
+
2090
+ };
2091
+
2092
+ Slick.prototype.setFade = function() {
2093
+
2094
+ var _ = this,
2095
+ targetLeft;
2096
+
2097
+ _.$slides.each(function(index, element) {
2098
+ targetLeft = (_.slideWidth * index) * -1;
2099
+ if (_.options.rtl === true) {
2100
+ $(element).css({
2101
+ position: 'relative',
2102
+ right: targetLeft,
2103
+ top: 0,
2104
+ zIndex: _.options.zIndex - 2,
2105
+ opacity: 0
2106
+ });
2107
+ } else {
2108
+ $(element).css({
2109
+ position: 'relative',
2110
+ left: targetLeft,
2111
+ top: 0,
2112
+ zIndex: _.options.zIndex - 2,
2113
+ opacity: 0
2114
+ });
2115
+ }
2116
+ });
2117
+
2118
+ _.$slides.eq(_.currentSlide).css({
2119
+ zIndex: _.options.zIndex - 1,
2120
+ opacity: 1
2121
+ });
2122
+
2123
+ };
2124
+
2125
+ Slick.prototype.setHeight = function() {
2126
+
2127
+ var _ = this;
2128
+
2129
+ if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {
2130
+ var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);
2131
+ _.$list.css('height', targetHeight);
2132
+ }
2133
+
2134
+ };
2135
+
2136
+ Slick.prototype.setOption =
2137
+ Slick.prototype.slickSetOption = function() {
2138
+
2139
+ /**
2140
+ * accepts arguments in format of:
2141
+ *
2142
+ * - for changing a single option's value:
2143
+ * .slick("setOption", option, value, refresh )
2144
+ *
2145
+ * - for changing a set of responsive options:
2146
+ * .slick("setOption", 'responsive', [{}, ...], refresh )
2147
+ *
2148
+ * - for updating multiple values at once (not responsive)
2149
+ * .slick("setOption", { 'option': value, ... }, refresh )
2150
+ */
2151
+
2152
+ var _ = this, l, item, option, value, refresh = false, type;
2153
+
2154
+ if( $.type( arguments[0] ) === 'object' ) {
2155
+
2156
+ option = arguments[0];
2157
+ refresh = arguments[1];
2158
+ type = 'multiple';
2159
+
2160
+ } else if ( $.type( arguments[0] ) === 'string' ) {
2161
+
2162
+ option = arguments[0];
2163
+ value = arguments[1];
2164
+ refresh = arguments[2];
2165
+
2166
+ if ( arguments[0] === 'responsive' && $.type( arguments[1] ) === 'array' ) {
2167
+
2168
+ type = 'responsive';
2169
+
2170
+ } else if ( typeof arguments[1] !== 'undefined' ) {
2171
+
2172
+ type = 'single';
2173
+
2174
+ }
2175
+
2176
+ }
2177
+
2178
+ if ( type === 'single' ) {
2179
+
2180
+ _.options[option] = value;
2181
+
2182
+
2183
+ } else if ( type === 'multiple' ) {
2184
+
2185
+ $.each( option , function( opt, val ) {
2186
+
2187
+ _.options[opt] = val;
2188
+
2189
+ });
2190
+
2191
+
2192
+ } else if ( type === 'responsive' ) {
2193
+
2194
+ for ( item in value ) {
2195
+
2196
+ if( $.type( _.options.responsive ) !== 'array' ) {
2197
+
2198
+ _.options.responsive = [ value[item] ];
2199
+
2200
+ } else {
2201
+
2202
+ l = _.options.responsive.length-1;
2203
+
2204
+ // loop through the responsive object and splice out duplicates.
2205
+ while( l >= 0 ) {
2206
+
2207
+ if( _.options.responsive[l].breakpoint === value[item].breakpoint ) {
2208
+
2209
+ _.options.responsive.splice(l,1);
2210
+
2211
+ }
2212
+
2213
+ l--;
2214
+
2215
+ }
2216
+
2217
+ _.options.responsive.push( value[item] );
2218
+
2219
+ }
2220
+
2221
+ }
2222
+
2223
+ }
2224
+
2225
+ if ( refresh ) {
2226
+
2227
+ _.unload();
2228
+ _.reinit();
2229
+
2230
+ }
2231
+
2232
+ };
2233
+
2234
+ Slick.prototype.setPosition = function() {
2235
+
2236
+ var _ = this;
2237
+
2238
+ _.setDimensions();
2239
+
2240
+ _.setHeight();
2241
+
2242
+ if (_.options.fade === false) {
2243
+ _.setCSS(_.getLeft(_.currentSlide));
2244
+ } else {
2245
+ _.setFade();
2246
+ }
2247
+
2248
+ _.$slider.trigger('setPosition', [_]);
2249
+
2250
+ };
2251
+
2252
+ Slick.prototype.setProps = function() {
2253
+
2254
+ var _ = this,
2255
+ bodyStyle = document.body.style;
2256
+
2257
+ _.positionProp = _.options.vertical === true ? 'top' : 'left';
2258
+
2259
+ if (_.positionProp === 'top') {
2260
+ _.$slider.addClass('slick-vertical');
2261
+ } else {
2262
+ _.$slider.removeClass('slick-vertical');
2263
+ }
2264
+
2265
+ if (bodyStyle.WebkitTransition !== undefined ||
2266
+ bodyStyle.MozTransition !== undefined ||
2267
+ bodyStyle.msTransition !== undefined) {
2268
+ if (_.options.useCSS === true) {
2269
+ _.cssTransitions = true;
2270
+ }
2271
+ }
2272
+
2273
+ if ( _.options.fade ) {
2274
+ if ( typeof _.options.zIndex === 'number' ) {
2275
+ if( _.options.zIndex < 3 ) {
2276
+ _.options.zIndex = 3;
2277
+ }
2278
+ } else {
2279
+ _.options.zIndex = _.defaults.zIndex;
2280
+ }
2281
+ }
2282
+
2283
+ if (bodyStyle.OTransform !== undefined) {
2284
+ _.animType = 'OTransform';
2285
+ _.transformType = '-o-transform';
2286
+ _.transitionType = 'OTransition';
2287
+ if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
2288
+ }
2289
+ if (bodyStyle.MozTransform !== undefined) {
2290
+ _.animType = 'MozTransform';
2291
+ _.transformType = '-moz-transform';
2292
+ _.transitionType = 'MozTransition';
2293
+ if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false;
2294
+ }
2295
+ if (bodyStyle.webkitTransform !== undefined) {
2296
+ _.animType = 'webkitTransform';
2297
+ _.transformType = '-webkit-transform';
2298
+ _.transitionType = 'webkitTransition';
2299
+ if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;
2300
+ }
2301
+ if (bodyStyle.msTransform !== undefined) {
2302
+ _.animType = 'msTransform';
2303
+ _.transformType = '-ms-transform';
2304
+ _.transitionType = 'msTransition';
2305
+ if (bodyStyle.msTransform === undefined) _.animType = false;
2306
+ }
2307
+ if (bodyStyle.transform !== undefined && _.animType !== false) {
2308
+ _.animType = 'transform';
2309
+ _.transformType = 'transform';
2310
+ _.transitionType = 'transition';
2311
+ }
2312
+ _.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false);
2313
+ };
2314
+
2315
+
2316
+ Slick.prototype.setSlideClasses = function(index) {
2317
+
2318
+ var _ = this,
2319
+ centerOffset, allSlides, indexOffset, remainder;
2320
+
2321
+ allSlides = _.$slider
2322
+ .find('.slick-slide')
2323
+ .removeClass('slick-active slick-center slick-current')
2324
+ .attr('aria-hidden', 'true');
2325
+
2326
+ _.$slides
2327
+ .eq(index)
2328
+ .addClass('slick-current');
2329
+
2330
+ if (_.options.centerMode === true) {
2331
+
2332
+ var evenCoef = _.options.slidesToShow % 2 === 0 ? 1 : 0;
2333
+
2334
+ centerOffset = Math.floor(_.options.slidesToShow / 2);
2335
+
2336
+ if (_.options.infinite === true) {
2337
+
2338
+ if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) {
2339
+ _.$slides
2340
+ .slice(index - centerOffset + evenCoef, index + centerOffset + 1)
2341
+ .addClass('slick-active')
2342
+ .attr('aria-hidden', 'false');
2343
+
2344
+ } else {
2345
+
2346
+ indexOffset = _.options.slidesToShow + index;
2347
+ allSlides
2348
+ .slice(indexOffset - centerOffset + 1 + evenCoef, indexOffset + centerOffset + 2)
2349
+ .addClass('slick-active')
2350
+ .attr('aria-hidden', 'false');
2351
+
2352
+ }
2353
+
2354
+ if (index === 0) {
2355
+
2356
+ allSlides
2357
+ .eq( _.options.slidesToShow + _.slideCount + 1 )
2358
+ .addClass('slick-center');
2359
+
2360
+ } else if (index === _.slideCount - 1) {
2361
+
2362
+ allSlides
2363
+ .eq(_.options.slidesToShow)
2364
+ .addClass('slick-center');
2365
+
2366
+ }
2367
+
2368
+ }
2369
+
2370
+ _.$slides
2371
+ .eq(index)
2372
+ .addClass('slick-center');
2373
+
2374
+ } else {
2375
+
2376
+ if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) {
2377
+
2378
+ _.$slides
2379
+ .slice(index, index + _.options.slidesToShow)
2380
+ .addClass('slick-active')
2381
+ .attr('aria-hidden', 'false');
2382
+
2383
+ } else if (allSlides.length <= _.options.slidesToShow) {
2384
+
2385
+ allSlides
2386
+ .addClass('slick-active')
2387
+ .attr('aria-hidden', 'false');
2388
+
2389
+ } else {
2390
+
2391
+ remainder = _.slideCount % _.options.slidesToShow;
2392
+ indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index;
2393
+
2394
+ if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) {
2395
+
2396
+ allSlides
2397
+ .slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder)
2398
+ .addClass('slick-active')
2399
+ .attr('aria-hidden', 'false');
2400
+
2401
+ } else {
2402
+
2403
+ allSlides
2404
+ .slice(indexOffset, indexOffset + _.options.slidesToShow)
2405
+ .addClass('slick-active')
2406
+ .attr('aria-hidden', 'false');
2407
+
2408
+ }
2409
+
2410
+ }
2411
+
2412
+ }
2413
+
2414
+ if (_.options.lazyLoad === 'ondemand' || _.options.lazyLoad === 'anticipated') {
2415
+ _.lazyLoad();
2416
+ }
2417
+ };
2418
+
2419
+ Slick.prototype.setupInfinite = function() {
2420
+
2421
+ var _ = this,
2422
+ i, slideIndex, infiniteCount;
2423
+
2424
+ if (_.options.fade === true) {
2425
+ _.options.centerMode = false;
2426
+ }
2427
+
2428
+ if (_.options.infinite === true && _.options.fade === false) {
2429
+
2430
+ slideIndex = null;
2431
+
2432
+ if (_.slideCount > _.options.slidesToShow) {
2433
+
2434
+ if (_.options.centerMode === true) {
2435
+ infiniteCount = _.options.slidesToShow + 1;
2436
+ } else {
2437
+ infiniteCount = _.options.slidesToShow;
2438
+ }
2439
+
2440
+ for (i = _.slideCount; i > (_.slideCount -
2441
+ infiniteCount); i -= 1) {
2442
+ slideIndex = i - 1;
2443
+ $(_.$slides[slideIndex]).clone(true).attr('id', '')
2444
+ .attr('data-slick-index', slideIndex - _.slideCount)
2445
+ .prependTo(_.$slideTrack).addClass('slick-cloned');
2446
+ }
2447
+ for (i = 0; i < infiniteCount + _.slideCount; i += 1) {
2448
+ slideIndex = i;
2449
+ $(_.$slides[slideIndex]).clone(true).attr('id', '')
2450
+ .attr('data-slick-index', slideIndex + _.slideCount)
2451
+ .appendTo(_.$slideTrack).addClass('slick-cloned');
2452
+ }
2453
+ _.$slideTrack.find('.slick-cloned').find('[id]').each(function() {
2454
+ $(this).attr('id', '');
2455
+ });
2456
+
2457
+ }
2458
+
2459
+ }
2460
+
2461
+ };
2462
+
2463
+ Slick.prototype.interrupt = function( toggle ) {
2464
+
2465
+ var _ = this;
2466
+
2467
+ if( !toggle ) {
2468
+ _.autoPlay();
2469
+ }
2470
+ _.interrupted = toggle;
2471
+
2472
+ };
2473
+
2474
+ Slick.prototype.selectHandler = function(event) {
2475
+
2476
+ var _ = this;
2477
+
2478
+ var targetElement =
2479
+ $(event.target).is('.slick-slide') ?
2480
+ $(event.target) :
2481
+ $(event.target).parents('.slick-slide');
2482
+
2483
+ var index = parseInt(targetElement.attr('data-slick-index'));
2484
+
2485
+ if (!index) index = 0;
2486
+
2487
+ if (_.slideCount <= _.options.slidesToShow) {
2488
+
2489
+ _.slideHandler(index, false, true);
2490
+ return;
2491
+
2492
+ }
2493
+
2494
+ _.slideHandler(index);
2495
+
2496
+ };
2497
+
2498
+ Slick.prototype.slideHandler = function(index, sync, dontAnimate) {
2499
+
2500
+ var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null,
2501
+ _ = this, navTarget;
2502
+
2503
+ sync = sync || false;
2504
+
2505
+ if (_.animating === true && _.options.waitForAnimate === true) {
2506
+ return;
2507
+ }
2508
+
2509
+ if (_.options.fade === true && _.currentSlide === index) {
2510
+ return;
2511
+ }
2512
+
2513
+ if (sync === false) {
2514
+ _.asNavFor(index);
2515
+ }
2516
+
2517
+ targetSlide = index;
2518
+ targetLeft = _.getLeft(targetSlide);
2519
+ slideLeft = _.getLeft(_.currentSlide);
2520
+
2521
+ _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft;
2522
+
2523
+ if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) {
2524
+ if (_.options.fade === false) {
2525
+ targetSlide = _.currentSlide;
2526
+ if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {
2527
+ _.animateSlide(slideLeft, function() {
2528
+ _.postSlide(targetSlide);
2529
+ });
2530
+ } else {
2531
+ _.postSlide(targetSlide);
2532
+ }
2533
+ }
2534
+ return;
2535
+ } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) {
2536
+ if (_.options.fade === false) {
2537
+ targetSlide = _.currentSlide;
2538
+ if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {
2539
+ _.animateSlide(slideLeft, function() {
2540
+ _.postSlide(targetSlide);
2541
+ });
2542
+ } else {
2543
+ _.postSlide(targetSlide);
2544
+ }
2545
+ }
2546
+ return;
2547
+ }
2548
+
2549
+ if ( _.options.autoplay ) {
2550
+ clearInterval(_.autoPlayTimer);
2551
+ }
2552
+
2553
+ if (targetSlide < 0) {
2554
+ if (_.slideCount % _.options.slidesToScroll !== 0) {
2555
+ animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll);
2556
+ } else {
2557
+ animSlide = _.slideCount + targetSlide;
2558
+ }
2559
+ } else if (targetSlide >= _.slideCount) {
2560
+ if (_.slideCount % _.options.slidesToScroll !== 0) {
2561
+ animSlide = 0;
2562
+ } else {
2563
+ animSlide = targetSlide - _.slideCount;
2564
+ }
2565
+ } else {
2566
+ animSlide = targetSlide;
2567
+ }
2568
+
2569
+ _.animating = true;
2570
+
2571
+ _.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]);
2572
+
2573
+ oldSlide = _.currentSlide;
2574
+ _.currentSlide = animSlide;
2575
+
2576
+ _.setSlideClasses(_.currentSlide);
2577
+
2578
+ if ( _.options.asNavFor ) {
2579
+
2580
+ navTarget = _.getNavTarget();
2581
+ navTarget = navTarget.slick('getSlick');
2582
+
2583
+ if ( navTarget.slideCount <= navTarget.options.slidesToShow ) {
2584
+ navTarget.setSlideClasses(_.currentSlide);
2585
+ }
2586
+
2587
+ }
2588
+
2589
+ _.updateDots();
2590
+ _.updateArrows();
2591
+
2592
+ if (_.options.fade === true) {
2593
+ if (dontAnimate !== true) {
2594
+
2595
+ _.fadeSlideOut(oldSlide);
2596
+
2597
+ _.fadeSlide(animSlide, function() {
2598
+ _.postSlide(animSlide);
2599
+ });
2600
+
2601
+ } else {
2602
+ _.postSlide(animSlide);
2603
+ }
2604
+ _.animateHeight();
2605
+ return;
2606
+ }
2607
+
2608
+ if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) {
2609
+ _.animateSlide(targetLeft, function() {
2610
+ _.postSlide(animSlide);
2611
+ });
2612
+ } else {
2613
+ _.postSlide(animSlide);
2614
+ }
2615
+
2616
+ };
2617
+
2618
+ Slick.prototype.startLoad = function() {
2619
+
2620
+ var _ = this;
2621
+
2622
+ if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {
2623
+
2624
+ _.$prevArrow.hide();
2625
+ _.$nextArrow.hide();
2626
+
2627
+ }
2628
+
2629
+ if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {
2630
+
2631
+ _.$dots.hide();
2632
+
2633
+ }
2634
+
2635
+ _.$slider.addClass('slick-loading');
2636
+
2637
+ };
2638
+
2639
+ Slick.prototype.swipeDirection = function() {
2640
+
2641
+ var xDist, yDist, r, swipeAngle, _ = this;
2642
+
2643
+ xDist = _.touchObject.startX - _.touchObject.curX;
2644
+ yDist = _.touchObject.startY - _.touchObject.curY;
2645
+ r = Math.atan2(yDist, xDist);
2646
+
2647
+ swipeAngle = Math.round(r * 180 / Math.PI);
2648
+ if (swipeAngle < 0) {
2649
+ swipeAngle = 360 - Math.abs(swipeAngle);
2650
+ }
2651
+
2652
+ if ((swipeAngle <= 45) && (swipeAngle >= 0)) {
2653
+ return (_.options.rtl === false ? 'left' : 'right');
2654
+ }
2655
+ if ((swipeAngle <= 360) && (swipeAngle >= 315)) {
2656
+ return (_.options.rtl === false ? 'left' : 'right');
2657
+ }
2658
+ if ((swipeAngle >= 135) && (swipeAngle <= 225)) {
2659
+ return (_.options.rtl === false ? 'right' : 'left');
2660
+ }
2661
+ if (_.options.verticalSwiping === true) {
2662
+ if ((swipeAngle >= 35) && (swipeAngle <= 135)) {
2663
+ return 'down';
2664
+ } else {
2665
+ return 'up';
2666
+ }
2667
+ }
2668
+
2669
+ return 'vertical';
2670
+
2671
+ };
2672
+
2673
+ Slick.prototype.swipeEnd = function(event) {
2674
+
2675
+ var _ = this,
2676
+ slideCount,
2677
+ direction;
2678
+
2679
+ _.dragging = false;
2680
+ _.swiping = false;
2681
+
2682
+ if (_.scrolling) {
2683
+ _.scrolling = false;
2684
+ return false;
2685
+ }
2686
+
2687
+ _.interrupted = false;
2688
+ _.shouldClick = ( _.touchObject.swipeLength > 10 ) ? false : true;
2689
+
2690
+ if ( _.touchObject.curX === undefined ) {
2691
+ return false;
2692
+ }
2693
+
2694
+ if ( _.touchObject.edgeHit === true ) {
2695
+ _.$slider.trigger('edge', [_, _.swipeDirection() ]);
2696
+ }
2697
+
2698
+ if ( _.touchObject.swipeLength >= _.touchObject.minSwipe ) {
2699
+
2700
+ direction = _.swipeDirection();
2701
+
2702
+ switch ( direction ) {
2703
+
2704
+ case 'left':
2705
+ case 'down':
2706
+
2707
+ slideCount =
2708
+ _.options.swipeToSlide ?
2709
+ _.checkNavigable( _.currentSlide + _.getSlideCount() ) :
2710
+ _.currentSlide + _.getSlideCount();
2711
+
2712
+ _.currentDirection = 0;
2713
+
2714
+ break;
2715
+
2716
+ case 'right':
2717
+ case 'up':
2718
+
2719
+ slideCount =
2720
+ _.options.swipeToSlide ?
2721
+ _.checkNavigable( _.currentSlide - _.getSlideCount() ) :
2722
+ _.currentSlide - _.getSlideCount();
2723
+
2724
+ _.currentDirection = 1;
2725
+
2726
+ break;
2727
+
2728
+ default:
2729
+
2730
+
2731
+ }
2732
+
2733
+ if( direction != 'vertical' ) {
2734
+
2735
+ _.slideHandler( slideCount );
2736
+ _.touchObject = {};
2737
+ _.$slider.trigger('swipe', [_, direction ]);
2738
+
2739
+ }
2740
+
2741
+ } else {
2742
+
2743
+ if ( _.touchObject.startX !== _.touchObject.curX ) {
2744
+
2745
+ _.slideHandler( _.currentSlide );
2746
+ _.touchObject = {};
2747
+
2748
+ }
2749
+
2750
+ }
2751
+
2752
+ };
2753
+
2754
+ Slick.prototype.swipeHandler = function(event) {
2755
+
2756
+ var _ = this;
2757
+
2758
+ if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) {
2759
+ return;
2760
+ } else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) {
2761
+ return;
2762
+ }
2763
+
2764
+ _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ?
2765
+ event.originalEvent.touches.length : 1;
2766
+
2767
+ _.touchObject.minSwipe = _.listWidth / _.options
2768
+ .touchThreshold;
2769
+
2770
+ if (_.options.verticalSwiping === true) {
2771
+ _.touchObject.minSwipe = _.listHeight / _.options
2772
+ .touchThreshold;
2773
+ }
2774
+
2775
+ switch (event.data.action) {
2776
+
2777
+ case 'start':
2778
+ _.swipeStart(event);
2779
+ break;
2780
+
2781
+ case 'move':
2782
+ _.swipeMove(event);
2783
+ break;
2784
+
2785
+ case 'end':
2786
+ _.swipeEnd(event);
2787
+ break;
2788
+
2789
+ }
2790
+
2791
+ };
2792
+
2793
+ Slick.prototype.swipeMove = function(event) {
2794
+
2795
+ var _ = this,
2796
+ edgeWasHit = false,
2797
+ curLeft, swipeDirection, swipeLength, positionOffset, touches, verticalSwipeLength;
2798
+
2799
+ touches = event.originalEvent !== undefined ? event.originalEvent.touches : null;
2800
+
2801
+ if (!_.dragging || _.scrolling || touches && touches.length !== 1) {
2802
+ return false;
2803
+ }
2804
+
2805
+ curLeft = _.getLeft(_.currentSlide);
2806
+
2807
+ _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX;
2808
+ _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY;
2809
+
2810
+ _.touchObject.swipeLength = Math.round(Math.sqrt(
2811
+ Math.pow(_.touchObject.curX - _.touchObject.startX, 2)));
2812
+
2813
+ verticalSwipeLength = Math.round(Math.sqrt(
2814
+ Math.pow(_.touchObject.curY - _.touchObject.startY, 2)));
2815
+
2816
+ if (!_.options.verticalSwiping && !_.swiping && verticalSwipeLength > 4) {
2817
+ _.scrolling = true;
2818
+ return false;
2819
+ }
2820
+
2821
+ if (_.options.verticalSwiping === true) {
2822
+ _.touchObject.swipeLength = verticalSwipeLength;
2823
+ }
2824
+
2825
+ swipeDirection = _.swipeDirection();
2826
+
2827
+ if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) {
2828
+ _.swiping = true;
2829
+ event.preventDefault();
2830
+ }
2831
+
2832
+ positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1);
2833
+ if (_.options.verticalSwiping === true) {
2834
+ positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1;
2835
+ }
2836
+
2837
+
2838
+ swipeLength = _.touchObject.swipeLength;
2839
+
2840
+ _.touchObject.edgeHit = false;
2841
+
2842
+ if (_.options.infinite === false) {
2843
+ if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) {
2844
+ swipeLength = _.touchObject.swipeLength * _.options.edgeFriction;
2845
+ _.touchObject.edgeHit = true;
2846
+ }
2847
+ }
2848
+
2849
+ if (_.options.vertical === false) {
2850
+ _.swipeLeft = curLeft + swipeLength * positionOffset;
2851
+ } else {
2852
+ _.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset;
2853
+ }
2854
+ if (_.options.verticalSwiping === true) {
2855
+ _.swipeLeft = curLeft + swipeLength * positionOffset;
2856
+ }
2857
+
2858
+ if (_.options.fade === true || _.options.touchMove === false) {
2859
+ return false;
2860
+ }
2861
+
2862
+ if (_.animating === true) {
2863
+ _.swipeLeft = null;
2864
+ return false;
2865
+ }
2866
+
2867
+ _.setCSS(_.swipeLeft);
2868
+
2869
+ };
2870
+
2871
+ Slick.prototype.swipeStart = function(event) {
2872
+
2873
+ var _ = this,
2874
+ touches;
2875
+
2876
+ _.interrupted = true;
2877
+
2878
+ if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) {
2879
+ _.touchObject = {};
2880
+ return false;
2881
+ }
2882
+
2883
+ if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) {
2884
+ touches = event.originalEvent.touches[0];
2885
+ }
2886
+
2887
+ _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX;
2888
+ _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY;
2889
+
2890
+ _.dragging = true;
2891
+
2892
+ };
2893
+
2894
+ Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() {
2895
+
2896
+ var _ = this;
2897
+
2898
+ if (_.$slidesCache !== null) {
2899
+
2900
+ _.unload();
2901
+
2902
+ _.$slideTrack.children(this.options.slide).detach();
2903
+
2904
+ _.$slidesCache.appendTo(_.$slideTrack);
2905
+
2906
+ _.reinit();
2907
+
2908
+ }
2909
+
2910
+ };
2911
+
2912
+ Slick.prototype.unload = function() {
2913
+
2914
+ var _ = this;
2915
+
2916
+ $('.slick-cloned', _.$slider).remove();
2917
+
2918
+ if (_.$dots) {
2919
+ _.$dots.remove();
2920
+ }
2921
+
2922
+ if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) {
2923
+ _.$prevArrow.remove();
2924
+ }
2925
+
2926
+ if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) {
2927
+ _.$nextArrow.remove();
2928
+ }
2929
+
2930
+ _.$slides
2931
+ .removeClass('slick-slide slick-active slick-visible slick-current')
2932
+ .attr('aria-hidden', 'true')
2933
+ .css('width', '');
2934
+
2935
+ };
2936
+
2937
+ Slick.prototype.unslick = function(fromBreakpoint) {
2938
+
2939
+ var _ = this;
2940
+ _.$slider.trigger('unslick', [_, fromBreakpoint]);
2941
+ _.destroy();
2942
+
2943
+ };
2944
+
2945
+ Slick.prototype.updateArrows = function() {
2946
+
2947
+ var _ = this,
2948
+ centerOffset;
2949
+
2950
+ centerOffset = Math.floor(_.options.slidesToShow / 2);
2951
+
2952
+ if ( _.options.arrows === true &&
2953
+ _.slideCount > _.options.slidesToShow &&
2954
+ !_.options.infinite ) {
2955
+
2956
+ _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2957
+ _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2958
+
2959
+ if (_.currentSlide === 0) {
2960
+
2961
+ _.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
2962
+ _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2963
+
2964
+ } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) {
2965
+
2966
+ _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
2967
+ _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2968
+
2969
+ } else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) {
2970
+
2971
+ _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');
2972
+ _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');
2973
+
2974
+ }
2975
+
2976
+ }
2977
+
2978
+ };
2979
+
2980
+ Slick.prototype.updateDots = function() {
2981
+
2982
+ var _ = this;
2983
+
2984
+ if (_.$dots !== null) {
2985
+
2986
+ _.$dots
2987
+ .find('li')
2988
+ .removeClass('slick-active')
2989
+ .end();
2990
+
2991
+ _.$dots
2992
+ .find('li')
2993
+ .eq(Math.floor(_.currentSlide / _.options.slidesToScroll))
2994
+ .addClass('slick-active');
2995
+
2996
+ }
2997
+
2998
+ };
2999
+
3000
+ Slick.prototype.visibility = function() {
3001
+
3002
+ var _ = this;
3003
+
3004
+ if ( _.options.autoplay ) {
3005
+
3006
+ if ( document[_.hidden] ) {
3007
+
3008
+ _.interrupted = true;
3009
+
3010
+ } else {
3011
+
3012
+ _.interrupted = false;
3013
+
3014
+ }
3015
+
3016
+ }
3017
+
3018
+ };
3019
+
3020
+ $.fn.slick = function() {
3021
+ var _ = this,
3022
+ opt = arguments[0],
3023
+ args = Array.prototype.slice.call(arguments, 1),
3024
+ l = _.length,
3025
+ i,
3026
+ ret;
3027
+ for (i = 0; i < l; i++) {
3028
+ if (typeof opt == 'object' || typeof opt == 'undefined')
3029
+ _[i].slick = new Slick(_[i], opt);
3030
+ else
3031
+ ret = _[i].slick[opt].apply(_[i].slick, args);
3032
+ if (typeof ret != 'undefined') return ret;
3033
+ }
3034
+ return _;
3035
+ };
3036
+
3037
+ }));
assets/js/admin/slick.min.js ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ _ _ _ _
3
+ ___| (_) ___| | __ (_)___
4
+ / __| | |/ __| |/ / | / __|
5
+ \__ \ | | (__| < _ | \__ \
6
+ |___/_|_|\___|_|\_(_)/ |___/
7
+ |__/
8
+
9
+ Version: 1.9.0
10
+ Author: Ken Wheeler
11
+ Website: http://kenwheeler.github.io
12
+ Docs: http://kenwheeler.github.io/slick
13
+ Repo: http://github.com/kenwheeler/slick
14
+ Issues: http://github.com/kenwheeler/slick/issues
15
+
16
+ */
17
+ (function(i){"use strict";"function"==typeof define&&define.amd?define(["jquery"],i):"undefined"!=typeof exports?module.exports=i(require("jquery")):i(jQuery)})(function(i){"use strict";var e=window.Slick||{};e=function(){function e(e,o){var s,n=this;n.defaults={accessibility:!0,adaptiveHeight:!1,appendArrows:i(e),appendDots:i(e),arrows:!0,asNavFor:null,prevArrow:'<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',nextArrow:'<button class="slick-next" aria-label="Next" type="button">Next</button>',autoplay:!1,autoplaySpeed:3e3,centerMode:!1,centerPadding:"50px",cssEase:"ease",customPaging:function(e,t){return i('<button type="button" />').text(t+1)},dots:!1,dotsClass:"slick-dots",draggable:!0,easing:"linear",edgeFriction:.35,fade:!1,focusOnSelect:!1,focusOnChange:!1,infinite:!0,initialSlide:0,lazyLoad:"ondemand",mobileFirst:!1,pauseOnHover:!0,pauseOnFocus:!0,pauseOnDotsHover:!1,respondTo:"window",responsive:null,rows:1,rtl:!1,slide:"",slidesPerRow:1,slidesToShow:1,slidesToScroll:1,speed:500,swipe:!0,swipeToSlide:!1,touchMove:!0,touchThreshold:5,useCSS:!0,useTransform:!0,variableWidth:!1,vertical:!1,verticalSwiping:!1,waitForAnimate:!0,zIndex:1e3},n.initials={animating:!1,dragging:!1,autoPlayTimer:null,currentDirection:0,currentLeft:null,currentSlide:0,direction:1,$dots:null,listWidth:null,listHeight:null,loadIndex:0,$nextArrow:null,$prevArrow:null,scrolling:!1,slideCount:null,slideWidth:null,$slideTrack:null,$slides:null,sliding:!1,slideOffset:0,swipeLeft:null,swiping:!1,$list:null,touchObject:{},transformsEnabled:!1,unslicked:!1},i.extend(n,n.initials),n.activeBreakpoint=null,n.animType=null,n.animProp=null,n.breakpoints=[],n.breakpointSettings=[],n.cssTransitions=!1,n.focussed=!1,n.interrupted=!1,n.hidden="hidden",n.paused=!0,n.positionProp=null,n.respondTo=null,n.rowCount=1,n.shouldClick=!0,n.$slider=i(e),n.$slidesCache=null,n.transformType=null,n.transitionType=null,n.visibilityChange="visibilitychange",n.windowWidth=0,n.windowTimer=null,s=i(e).data("slick")||{},n.options=i.extend({},n.defaults,o,s),n.currentSlide=n.options.initialSlide,n.originalSettings=n.options,"undefined"!=typeof document.mozHidden?(n.hidden="mozHidden",n.visibilityChange="mozvisibilitychange"):"undefined"!=typeof document.webkitHidden&&(n.hidden="webkitHidden",n.visibilityChange="webkitvisibilitychange"),n.autoPlay=i.proxy(n.autoPlay,n),n.autoPlayClear=i.proxy(n.autoPlayClear,n),n.autoPlayIterator=i.proxy(n.autoPlayIterator,n),n.changeSlide=i.proxy(n.changeSlide,n),n.clickHandler=i.proxy(n.clickHandler,n),n.selectHandler=i.proxy(n.selectHandler,n),n.setPosition=i.proxy(n.setPosition,n),n.swipeHandler=i.proxy(n.swipeHandler,n),n.dragHandler=i.proxy(n.dragHandler,n),n.keyHandler=i.proxy(n.keyHandler,n),n.instanceUid=t++,n.htmlExpr=/^(?:\s*(<[\w\W]+>)[^>]*)$/,n.registerBreakpoints(),n.init(!0)}var t=0;return e}(),e.prototype.activateADA=function(){var i=this;i.$slideTrack.find(".slick-active").attr({"aria-hidden":"false"}).find("a, input, button, select").attr({tabindex:"0"})},e.prototype.addSlide=e.prototype.slickAdd=function(e,t,o){var s=this;if("boolean"==typeof t)o=t,t=null;else if(t<0||t>=s.slideCount)return!1;s.unload(),"number"==typeof t?0===t&&0===s.$slides.length?i(e).appendTo(s.$slideTrack):o?i(e).insertBefore(s.$slides.eq(t)):i(e).insertAfter(s.$slides.eq(t)):o===!0?i(e).prependTo(s.$slideTrack):i(e).appendTo(s.$slideTrack),s.$slides=s.$slideTrack.children(this.options.slide),s.$slideTrack.children(this.options.slide).detach(),s.$slideTrack.append(s.$slides),s.$slides.each(function(e,t){i(t).attr("data-slick-index",e)}),s.$slidesCache=s.$slides,s.reinit()},e.prototype.animateHeight=function(){var i=this;if(1===i.options.slidesToShow&&i.options.adaptiveHeight===!0&&i.options.vertical===!1){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.animate({height:e},i.options.speed)}},e.prototype.animateSlide=function(e,t){var o={},s=this;s.animateHeight(),s.options.rtl===!0&&s.options.vertical===!1&&(e=-e),s.transformsEnabled===!1?s.options.vertical===!1?s.$slideTrack.animate({left:e},s.options.speed,s.options.easing,t):s.$slideTrack.animate({top:e},s.options.speed,s.options.easing,t):s.cssTransitions===!1?(s.options.rtl===!0&&(s.currentLeft=-s.currentLeft),i({animStart:s.currentLeft}).animate({animStart:e},{duration:s.options.speed,easing:s.options.easing,step:function(i){i=Math.ceil(i),s.options.vertical===!1?(o[s.animType]="translate("+i+"px, 0px)",s.$slideTrack.css(o)):(o[s.animType]="translate(0px,"+i+"px)",s.$slideTrack.css(o))},complete:function(){t&&t.call()}})):(s.applyTransition(),e=Math.ceil(e),s.options.vertical===!1?o[s.animType]="translate3d("+e+"px, 0px, 0px)":o[s.animType]="translate3d(0px,"+e+"px, 0px)",s.$slideTrack.css(o),t&&setTimeout(function(){s.disableTransition(),t.call()},s.options.speed))},e.prototype.getNavTarget=function(){var e=this,t=e.options.asNavFor;return t&&null!==t&&(t=i(t).not(e.$slider)),t},e.prototype.asNavFor=function(e){var t=this,o=t.getNavTarget();null!==o&&"object"==typeof o&&o.each(function(){var t=i(this).slick("getSlick");t.unslicked||t.slideHandler(e,!0)})},e.prototype.applyTransition=function(i){var e=this,t={};e.options.fade===!1?t[e.transitionType]=e.transformType+" "+e.options.speed+"ms "+e.options.cssEase:t[e.transitionType]="opacity "+e.options.speed+"ms "+e.options.cssEase,e.options.fade===!1?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.autoPlay=function(){var i=this;i.autoPlayClear(),i.slideCount>i.options.slidesToShow&&(i.autoPlayTimer=setInterval(i.autoPlayIterator,i.options.autoplaySpeed))},e.prototype.autoPlayClear=function(){var i=this;i.autoPlayTimer&&clearInterval(i.autoPlayTimer)},e.prototype.autoPlayIterator=function(){var i=this,e=i.currentSlide+i.options.slidesToScroll;i.paused||i.interrupted||i.focussed||(i.options.infinite===!1&&(1===i.direction&&i.currentSlide+1===i.slideCount-1?i.direction=0:0===i.direction&&(e=i.currentSlide-i.options.slidesToScroll,i.currentSlide-1===0&&(i.direction=1))),i.slideHandler(e))},e.prototype.buildArrows=function(){var e=this;e.options.arrows===!0&&(e.$prevArrow=i(e.options.prevArrow).addClass("slick-arrow"),e.$nextArrow=i(e.options.nextArrow).addClass("slick-arrow"),e.slideCount>e.options.slidesToShow?(e.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.prependTo(e.options.appendArrows),e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.appendTo(e.options.appendArrows),e.options.infinite!==!0&&e.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true")):e.$prevArrow.add(e.$nextArrow).addClass("slick-hidden").attr({"aria-disabled":"true",tabindex:"-1"}))},e.prototype.buildDots=function(){var e,t,o=this;if(o.options.dots===!0&&o.slideCount>o.options.slidesToShow){for(o.$slider.addClass("slick-dotted"),t=i("<ul />").addClass(o.options.dotsClass),e=0;e<=o.getDotCount();e+=1)t.append(i("<li />").append(o.options.customPaging.call(this,o,e)));o.$dots=t.appendTo(o.options.appendDots),o.$dots.find("li").first().addClass("slick-active")}},e.prototype.buildOut=function(){var e=this;e.$slides=e.$slider.children(e.options.slide+":not(.slick-cloned)").addClass("slick-slide"),e.slideCount=e.$slides.length,e.$slides.each(function(e,t){i(t).attr("data-slick-index",e).data("originalStyling",i(t).attr("style")||"")}),e.$slider.addClass("slick-slider"),e.$slideTrack=0===e.slideCount?i('<div class="slick-track"/>').appendTo(e.$slider):e.$slides.wrapAll('<div class="slick-track"/>').parent(),e.$list=e.$slideTrack.wrap('<div class="slick-list"/>').parent(),e.$slideTrack.css("opacity",0),e.options.centerMode!==!0&&e.options.swipeToSlide!==!0||(e.options.slidesToScroll=1),i("img[data-lazy]",e.$slider).not("[src]").addClass("slick-loading"),e.setupInfinite(),e.buildArrows(),e.buildDots(),e.updateDots(),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),e.options.draggable===!0&&e.$list.addClass("draggable")},e.prototype.buildRows=function(){var i,e,t,o,s,n,r,l=this;if(o=document.createDocumentFragment(),n=l.$slider.children(),l.options.rows>0){for(r=l.options.slidesPerRow*l.options.rows,s=Math.ceil(n.length/r),i=0;i<s;i++){var d=document.createElement("div");for(e=0;e<l.options.rows;e++){var a=document.createElement("div");for(t=0;t<l.options.slidesPerRow;t++){var c=i*r+(e*l.options.slidesPerRow+t);n.get(c)&&a.appendChild(n.get(c))}d.appendChild(a)}o.appendChild(d)}l.$slider.empty().append(o),l.$slider.children().children().children().css({width:100/l.options.slidesPerRow+"%",display:"inline-block"})}},e.prototype.checkResponsive=function(e,t){var o,s,n,r=this,l=!1,d=r.$slider.width(),a=window.innerWidth||i(window).width();if("window"===r.respondTo?n=a:"slider"===r.respondTo?n=d:"min"===r.respondTo&&(n=Math.min(a,d)),r.options.responsive&&r.options.responsive.length&&null!==r.options.responsive){s=null;for(o in r.breakpoints)r.breakpoints.hasOwnProperty(o)&&(r.originalSettings.mobileFirst===!1?n<r.breakpoints[o]&&(s=r.breakpoints[o]):n>r.breakpoints[o]&&(s=r.breakpoints[o]));null!==s?null!==r.activeBreakpoint?(s!==r.activeBreakpoint||t)&&(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),e===!0&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):(r.activeBreakpoint=s,"unslick"===r.breakpointSettings[s]?r.unslick(s):(r.options=i.extend({},r.originalSettings,r.breakpointSettings[s]),e===!0&&(r.currentSlide=r.options.initialSlide),r.refresh(e)),l=s):null!==r.activeBreakpoint&&(r.activeBreakpoint=null,r.options=r.originalSettings,e===!0&&(r.currentSlide=r.options.initialSlide),r.refresh(e),l=s),e||l===!1||r.$slider.trigger("breakpoint",[r,l])}},e.prototype.changeSlide=function(e,t){var o,s,n,r=this,l=i(e.currentTarget);switch(l.is("a")&&e.preventDefault(),l.is("li")||(l=l.closest("li")),n=r.slideCount%r.options.slidesToScroll!==0,o=n?0:(r.slideCount-r.currentSlide)%r.options.slidesToScroll,e.data.message){case"previous":s=0===o?r.options.slidesToScroll:r.options.slidesToShow-o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide-s,!1,t);break;case"next":s=0===o?r.options.slidesToScroll:o,r.slideCount>r.options.slidesToShow&&r.slideHandler(r.currentSlide+s,!1,t);break;case"index":var d=0===e.data.index?0:e.data.index||l.index()*r.options.slidesToScroll;r.slideHandler(r.checkNavigable(d),!1,t),l.children().trigger("focus");break;default:return}},e.prototype.checkNavigable=function(i){var e,t,o=this;if(e=o.getNavigableIndexes(),t=0,i>e[e.length-1])i=e[e.length-1];else for(var s in e){if(i<e[s]){i=t;break}t=e[s]}return i},e.prototype.cleanUpEvents=function(){var e=this;e.options.dots&&null!==e.$dots&&(i("li",e.$dots).off("click.slick",e.changeSlide).off("mouseenter.slick",i.proxy(e.interrupt,e,!0)).off("mouseleave.slick",i.proxy(e.interrupt,e,!1)),e.options.accessibility===!0&&e.$dots.off("keydown.slick",e.keyHandler)),e.$slider.off("focus.slick blur.slick"),e.options.arrows===!0&&e.slideCount>e.options.slidesToShow&&(e.$prevArrow&&e.$prevArrow.off("click.slick",e.changeSlide),e.$nextArrow&&e.$nextArrow.off("click.slick",e.changeSlide),e.options.accessibility===!0&&(e.$prevArrow&&e.$prevArrow.off("keydown.slick",e.keyHandler),e.$nextArrow&&e.$nextArrow.off("keydown.slick",e.keyHandler))),e.$list.off("touchstart.slick mousedown.slick",e.swipeHandler),e.$list.off("touchmove.slick mousemove.slick",e.swipeHandler),e.$list.off("touchend.slick mouseup.slick",e.swipeHandler),e.$list.off("touchcancel.slick mouseleave.slick",e.swipeHandler),e.$list.off("click.slick",e.clickHandler),i(document).off(e.visibilityChange,e.visibility),e.cleanUpSlideEvents(),e.options.accessibility===!0&&e.$list.off("keydown.slick",e.keyHandler),e.options.focusOnSelect===!0&&i(e.$slideTrack).children().off("click.slick",e.selectHandler),i(window).off("orientationchange.slick.slick-"+e.instanceUid,e.orientationChange),i(window).off("resize.slick.slick-"+e.instanceUid,e.resize),i("[draggable!=true]",e.$slideTrack).off("dragstart",e.preventDefault),i(window).off("load.slick.slick-"+e.instanceUid,e.setPosition)},e.prototype.cleanUpSlideEvents=function(){var e=this;e.$list.off("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.off("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.cleanUpRows=function(){var i,e=this;e.options.rows>0&&(i=e.$slides.children().children(),i.removeAttr("style"),e.$slider.empty().append(i))},e.prototype.clickHandler=function(i){var e=this;e.shouldClick===!1&&(i.stopImmediatePropagation(),i.stopPropagation(),i.preventDefault())},e.prototype.destroy=function(e){var t=this;t.autoPlayClear(),t.touchObject={},t.cleanUpEvents(),i(".slick-cloned",t.$slider).detach(),t.$dots&&t.$dots.remove(),t.$prevArrow&&t.$prevArrow.length&&(t.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.prevArrow)&&t.$prevArrow.remove()),t.$nextArrow&&t.$nextArrow.length&&(t.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display",""),t.htmlExpr.test(t.options.nextArrow)&&t.$nextArrow.remove()),t.$slides&&(t.$slides.removeClass("slick-slide slick-active slick-center slick-visible slick-current").removeAttr("aria-hidden").removeAttr("data-slick-index").each(function(){i(this).attr("style",i(this).data("originalStyling"))}),t.$slideTrack.children(this.options.slide).detach(),t.$slideTrack.detach(),t.$list.detach(),t.$slider.append(t.$slides)),t.cleanUpRows(),t.$slider.removeClass("slick-slider"),t.$slider.removeClass("slick-initialized"),t.$slider.removeClass("slick-dotted"),t.unslicked=!0,e||t.$slider.trigger("destroy",[t])},e.prototype.disableTransition=function(i){var e=this,t={};t[e.transitionType]="",e.options.fade===!1?e.$slideTrack.css(t):e.$slides.eq(i).css(t)},e.prototype.fadeSlide=function(i,e){var t=this;t.cssTransitions===!1?(t.$slides.eq(i).css({zIndex:t.options.zIndex}),t.$slides.eq(i).animate({opacity:1},t.options.speed,t.options.easing,e)):(t.applyTransition(i),t.$slides.eq(i).css({opacity:1,zIndex:t.options.zIndex}),e&&setTimeout(function(){t.disableTransition(i),e.call()},t.options.speed))},e.prototype.fadeSlideOut=function(i){var e=this;e.cssTransitions===!1?e.$slides.eq(i).animate({opacity:0,zIndex:e.options.zIndex-2},e.options.speed,e.options.easing):(e.applyTransition(i),e.$slides.eq(i).css({opacity:0,zIndex:e.options.zIndex-2}))},e.prototype.filterSlides=e.prototype.slickFilter=function(i){var e=this;null!==i&&(e.$slidesCache=e.$slides,e.unload(),e.$slideTrack.children(this.options.slide).detach(),e.$slidesCache.filter(i).appendTo(e.$slideTrack),e.reinit())},e.prototype.focusHandler=function(){var e=this;e.$slider.off("focus.slick blur.slick").on("focus.slick","*",function(t){var o=i(this);setTimeout(function(){e.options.pauseOnFocus&&o.is(":focus")&&(e.focussed=!0,e.autoPlay())},0)}).on("blur.slick","*",function(t){i(this);e.options.pauseOnFocus&&(e.focussed=!1,e.autoPlay())})},e.prototype.getCurrent=e.prototype.slickCurrentSlide=function(){var i=this;return i.currentSlide},e.prototype.getDotCount=function(){var i=this,e=0,t=0,o=0;if(i.options.infinite===!0)if(i.slideCount<=i.options.slidesToShow)++o;else for(;e<i.slideCount;)++o,e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;else if(i.options.centerMode===!0)o=i.slideCount;else if(i.options.asNavFor)for(;e<i.slideCount;)++o,e=t+i.options.slidesToScroll,t+=i.options.slidesToScroll<=i.options.slidesToShow?i.options.slidesToScroll:i.options.slidesToShow;else o=1+Math.ceil((i.slideCount-i.options.slidesToShow)/i.options.slidesToScroll);return o-1},e.prototype.getLeft=function(i){var e,t,o,s,n=this,r=0;return n.slideOffset=0,t=n.$slides.first().outerHeight(!0),n.options.infinite===!0?(n.slideCount>n.options.slidesToShow&&(n.slideOffset=n.slideWidth*n.options.slidesToShow*-1,s=-1,n.options.vertical===!0&&n.options.centerMode===!0&&(2===n.options.slidesToShow?s=-1.5:1===n.options.slidesToShow&&(s=-2)),r=t*n.options.slidesToShow*s),n.slideCount%n.options.slidesToScroll!==0&&i+n.options.slidesToScroll>n.slideCount&&n.slideCount>n.options.slidesToShow&&(i>n.slideCount?(n.slideOffset=(n.options.slidesToShow-(i-n.slideCount))*n.slideWidth*-1,r=(n.options.slidesToShow-(i-n.slideCount))*t*-1):(n.slideOffset=n.slideCount%n.options.slidesToScroll*n.slideWidth*-1,r=n.slideCount%n.options.slidesToScroll*t*-1))):i+n.options.slidesToShow>n.slideCount&&(n.slideOffset=(i+n.options.slidesToShow-n.slideCount)*n.slideWidth,r=(i+n.options.slidesToShow-n.slideCount)*t),n.slideCount<=n.options.slidesToShow&&(n.slideOffset=0,r=0),n.options.centerMode===!0&&n.slideCount<=n.options.slidesToShow?n.slideOffset=n.slideWidth*Math.floor(n.options.slidesToShow)/2-n.slideWidth*n.slideCount/2:n.options.centerMode===!0&&n.options.infinite===!0?n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)-n.slideWidth:n.options.centerMode===!0&&(n.slideOffset=0,n.slideOffset+=n.slideWidth*Math.floor(n.options.slidesToShow/2)),e=n.options.vertical===!1?i*n.slideWidth*-1+n.slideOffset:i*t*-1+r,n.options.variableWidth===!0&&(o=n.slideCount<=n.options.slidesToShow||n.options.infinite===!1?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow),e=n.options.rtl===!0?o[0]?(n.$slideTrack.width()-o[0].offsetLeft-o.width())*-1:0:o[0]?o[0].offsetLeft*-1:0,n.options.centerMode===!0&&(o=n.slideCount<=n.options.slidesToShow||n.options.infinite===!1?n.$slideTrack.children(".slick-slide").eq(i):n.$slideTrack.children(".slick-slide").eq(i+n.options.slidesToShow+1),e=n.options.rtl===!0?o[0]?(n.$slideTrack.width()-o[0].offsetLeft-o.width())*-1:0:o[0]?o[0].offsetLeft*-1:0,e+=(n.$list.width()-o.outerWidth())/2)),e},e.prototype.getOption=e.prototype.slickGetOption=function(i){var e=this;return e.options[i]},e.prototype.getNavigableIndexes=function(){var i,e=this,t=0,o=0,s=[];for(e.options.infinite===!1?i=e.slideCount:(t=e.options.slidesToScroll*-1,o=e.options.slidesToScroll*-1,i=2*e.slideCount);t<i;)s.push(t),t=o+e.options.slidesToScroll,o+=e.options.slidesToScroll<=e.options.slidesToShow?e.options.slidesToScroll:e.options.slidesToShow;return s},e.prototype.getSlick=function(){return this},e.prototype.getSlideCount=function(){var e,t,o,s,n=this;return s=n.options.centerMode===!0?Math.floor(n.$list.width()/2):0,o=n.swipeLeft*-1+s,n.options.swipeToSlide===!0?(n.$slideTrack.find(".slick-slide").each(function(e,s){var r,l,d;if(r=i(s).outerWidth(),l=s.offsetLeft,n.options.centerMode!==!0&&(l+=r/2),d=l+r,o<d)return t=s,!1}),e=Math.abs(i(t).attr("data-slick-index")-n.currentSlide)||1):n.options.slidesToScroll},e.prototype.goTo=e.prototype.slickGoTo=function(i,e){var t=this;t.changeSlide({data:{message:"index",index:parseInt(i)}},e)},e.prototype.init=function(e){var t=this;i(t.$slider).hasClass("slick-initialized")||(i(t.$slider).addClass("slick-initialized"),t.buildRows(),t.buildOut(),t.setProps(),t.startLoad(),t.loadSlider(),t.initializeEvents(),t.updateArrows(),t.updateDots(),t.checkResponsive(!0),t.focusHandler()),e&&t.$slider.trigger("init",[t]),t.options.accessibility===!0&&t.initADA(),t.options.autoplay&&(t.paused=!1,t.autoPlay())},e.prototype.initADA=function(){var e=this,t=Math.ceil(e.slideCount/e.options.slidesToShow),o=e.getNavigableIndexes().filter(function(i){return i>=0&&i<e.slideCount});e.$slides.add(e.$slideTrack.find(".slick-cloned")).attr({"aria-hidden":"true",tabindex:"-1"}).find("a, input, button, select").attr({tabindex:"-1"}),null!==e.$dots&&(e.$slides.not(e.$slideTrack.find(".slick-cloned")).each(function(t){var s=o.indexOf(t);if(i(this).attr({role:"tabpanel",id:"slick-slide"+e.instanceUid+t,tabindex:-1}),s!==-1){var n="slick-slide-control"+e.instanceUid+s;i("#"+n).length&&i(this).attr({"aria-describedby":n})}}),e.$dots.attr("role","tablist").find("li").each(function(s){var n=o[s];i(this).attr({role:"presentation"}),i(this).find("button").first().attr({role:"tab",id:"slick-slide-control"+e.instanceUid+s,"aria-controls":"slick-slide"+e.instanceUid+n,"aria-label":s+1+" of "+t,"aria-selected":null,tabindex:"-1"})}).eq(e.currentSlide).find("button").attr({"aria-selected":"true",tabindex:"0"}).end());for(var s=e.currentSlide,n=s+e.options.slidesToShow;s<n;s++)e.options.focusOnChange?e.$slides.eq(s).attr({tabindex:"0"}):e.$slides.eq(s).removeAttr("tabindex");e.activateADA()},e.prototype.initArrowEvents=function(){var i=this;i.options.arrows===!0&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.off("click.slick").on("click.slick",{message:"previous"},i.changeSlide),i.$nextArrow.off("click.slick").on("click.slick",{message:"next"},i.changeSlide),i.options.accessibility===!0&&(i.$prevArrow.on("keydown.slick",i.keyHandler),i.$nextArrow.on("keydown.slick",i.keyHandler)))},e.prototype.initDotEvents=function(){var e=this;e.options.dots===!0&&e.slideCount>e.options.slidesToShow&&(i("li",e.$dots).on("click.slick",{message:"index"},e.changeSlide),e.options.accessibility===!0&&e.$dots.on("keydown.slick",e.keyHandler)),e.options.dots===!0&&e.options.pauseOnDotsHover===!0&&e.slideCount>e.options.slidesToShow&&i("li",e.$dots).on("mouseenter.slick",i.proxy(e.interrupt,e,!0)).on("mouseleave.slick",i.proxy(e.interrupt,e,!1))},e.prototype.initSlideEvents=function(){var e=this;e.options.pauseOnHover&&(e.$list.on("mouseenter.slick",i.proxy(e.interrupt,e,!0)),e.$list.on("mouseleave.slick",i.proxy(e.interrupt,e,!1)))},e.prototype.initializeEvents=function(){var e=this;e.initArrowEvents(),e.initDotEvents(),e.initSlideEvents(),e.$list.on("touchstart.slick mousedown.slick",{action:"start"},e.swipeHandler),e.$list.on("touchmove.slick mousemove.slick",{action:"move"},e.swipeHandler),e.$list.on("touchend.slick mouseup.slick",{action:"end"},e.swipeHandler),e.$list.on("touchcancel.slick mouseleave.slick",{action:"end"},e.swipeHandler),e.$list.on("click.slick",e.clickHandler),i(document).on(e.visibilityChange,i.proxy(e.visibility,e)),e.options.accessibility===!0&&e.$list.on("keydown.slick",e.keyHandler),e.options.focusOnSelect===!0&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),i(window).on("orientationchange.slick.slick-"+e.instanceUid,i.proxy(e.orientationChange,e)),i(window).on("resize.slick.slick-"+e.instanceUid,i.proxy(e.resize,e)),i("[draggable!=true]",e.$slideTrack).on("dragstart",e.preventDefault),i(window).on("load.slick.slick-"+e.instanceUid,e.setPosition),i(e.setPosition)},e.prototype.initUI=function(){var i=this;i.options.arrows===!0&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.show(),i.$nextArrow.show()),i.options.dots===!0&&i.slideCount>i.options.slidesToShow&&i.$dots.show()},e.prototype.keyHandler=function(i){var e=this;i.target.tagName.match("TEXTAREA|INPUT|SELECT")||(37===i.keyCode&&e.options.accessibility===!0?e.changeSlide({data:{message:e.options.rtl===!0?"next":"previous"}}):39===i.keyCode&&e.options.accessibility===!0&&e.changeSlide({data:{message:e.options.rtl===!0?"previous":"next"}}))},e.prototype.lazyLoad=function(){function e(e){i("img[data-lazy]",e).each(function(){var e=i(this),t=i(this).attr("data-lazy"),o=i(this).attr("data-srcset"),s=i(this).attr("data-sizes")||r.$slider.attr("data-sizes"),n=document.createElement("img");n.onload=function(){e.animate({opacity:0},100,function(){o&&(e.attr("srcset",o),s&&e.attr("sizes",s)),e.attr("src",t).animate({opacity:1},200,function(){e.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading")}),r.$slider.trigger("lazyLoaded",[r,e,t])})},n.onerror=function(){e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),r.$slider.trigger("lazyLoadError",[r,e,t])},n.src=t})}var t,o,s,n,r=this;if(r.options.centerMode===!0?r.options.infinite===!0?(s=r.currentSlide+(r.options.slidesToShow/2+1),n=s+r.options.slidesToShow+2):(s=Math.max(0,r.currentSlide-(r.options.slidesToShow/2+1)),n=2+(r.options.slidesToShow/2+1)+r.currentSlide):(s=r.options.infinite?r.options.slidesToShow+r.currentSlide:r.currentSlide,n=Math.ceil(s+r.options.slidesToShow),r.options.fade===!0&&(s>0&&s--,n<=r.slideCount&&n++)),t=r.$slider.find(".slick-slide").slice(s,n),"anticipated"===r.options.lazyLoad)for(var l=s-1,d=n,a=r.$slider.find(".slick-slide"),c=0;c<r.options.slidesToScroll;c++)l<0&&(l=r.slideCount-1),t=t.add(a.eq(l)),t=t.add(a.eq(d)),l--,d++;e(t),r.slideCount<=r.options.slidesToShow?(o=r.$slider.find(".slick-slide"),e(o)):r.currentSlide>=r.slideCount-r.options.slidesToShow?(o=r.$slider.find(".slick-cloned").slice(0,r.options.slidesToShow),e(o)):0===r.currentSlide&&(o=r.$slider.find(".slick-cloned").slice(r.options.slidesToShow*-1),e(o))},e.prototype.loadSlider=function(){var i=this;i.setPosition(),i.$slideTrack.css({opacity:1}),i.$slider.removeClass("slick-loading"),i.initUI(),"progressive"===i.options.lazyLoad&&i.progressiveLazyLoad()},e.prototype.next=e.prototype.slickNext=function(){var i=this;i.changeSlide({data:{message:"next"}})},e.prototype.orientationChange=function(){var i=this;i.checkResponsive(),i.setPosition()},e.prototype.pause=e.prototype.slickPause=function(){var i=this;i.autoPlayClear(),i.paused=!0},e.prototype.play=e.prototype.slickPlay=function(){var i=this;i.autoPlay(),i.options.autoplay=!0,i.paused=!1,i.focussed=!1,i.interrupted=!1},e.prototype.postSlide=function(e){var t=this;if(!t.unslicked&&(t.$slider.trigger("afterChange",[t,e]),t.animating=!1,t.slideCount>t.options.slidesToShow&&t.setPosition(),t.swipeLeft=null,t.options.autoplay&&t.autoPlay(),t.options.accessibility===!0&&(t.initADA(),t.options.focusOnChange))){var o=i(t.$slides.get(t.currentSlide));o.attr("tabindex",0).focus()}},e.prototype.prev=e.prototype.slickPrev=function(){var i=this;i.changeSlide({data:{message:"previous"}})},e.prototype.preventDefault=function(i){i.preventDefault()},e.prototype.progressiveLazyLoad=function(e){e=e||1;var t,o,s,n,r,l=this,d=i("img[data-lazy]",l.$slider);d.length?(t=d.first(),o=t.attr("data-lazy"),s=t.attr("data-srcset"),n=t.attr("data-sizes")||l.$slider.attr("data-sizes"),r=document.createElement("img"),r.onload=function(){s&&(t.attr("srcset",s),n&&t.attr("sizes",n)),t.attr("src",o).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),l.options.adaptiveHeight===!0&&l.setPosition(),l.$slider.trigger("lazyLoaded",[l,t,o]),l.progressiveLazyLoad()},r.onerror=function(){e<3?setTimeout(function(){l.progressiveLazyLoad(e+1)},500):(t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"),l.$slider.trigger("lazyLoadError",[l,t,o]),l.progressiveLazyLoad())},r.src=o):l.$slider.trigger("allImagesLoaded",[l])},e.prototype.refresh=function(e){var t,o,s=this;o=s.slideCount-s.options.slidesToShow,!s.options.infinite&&s.currentSlide>o&&(s.currentSlide=o),s.slideCount<=s.options.slidesToShow&&(s.currentSlide=0),t=s.currentSlide,s.destroy(!0),i.extend(s,s.initials,{currentSlide:t}),s.init(),e||s.changeSlide({data:{message:"index",index:t}},!1)},e.prototype.registerBreakpoints=function(){var e,t,o,s=this,n=s.options.responsive||null;if("array"===i.type(n)&&n.length){s.respondTo=s.options.respondTo||"window";for(e in n)if(o=s.breakpoints.length-1,n.hasOwnProperty(e)){for(t=n[e].breakpoint;o>=0;)s.breakpoints[o]&&s.breakpoints[o]===t&&s.breakpoints.splice(o,1),o--;s.breakpoints.push(t),s.breakpointSettings[t]=n[e].settings}s.breakpoints.sort(function(i,e){return s.options.mobileFirst?i-e:e-i})}},e.prototype.reinit=function(){var e=this;e.$slides=e.$slideTrack.children(e.options.slide).addClass("slick-slide"),e.slideCount=e.$slides.length,e.currentSlide>=e.slideCount&&0!==e.currentSlide&&(e.currentSlide=e.currentSlide-e.options.slidesToScroll),e.slideCount<=e.options.slidesToShow&&(e.currentSlide=0),e.registerBreakpoints(),e.setProps(),e.setupInfinite(),e.buildArrows(),e.updateArrows(),e.initArrowEvents(),e.buildDots(),e.updateDots(),e.initDotEvents(),e.cleanUpSlideEvents(),e.initSlideEvents(),e.checkResponsive(!1,!0),e.options.focusOnSelect===!0&&i(e.$slideTrack).children().on("click.slick",e.selectHandler),e.setSlideClasses("number"==typeof e.currentSlide?e.currentSlide:0),e.setPosition(),e.focusHandler(),e.paused=!e.options.autoplay,e.autoPlay(),e.$slider.trigger("reInit",[e])},e.prototype.resize=function(){var e=this;i(window).width()!==e.windowWidth&&(clearTimeout(e.windowDelay),e.windowDelay=window.setTimeout(function(){e.windowWidth=i(window).width(),e.checkResponsive(),e.unslicked||e.setPosition()},50))},e.prototype.removeSlide=e.prototype.slickRemove=function(i,e,t){var o=this;return"boolean"==typeof i?(e=i,i=e===!0?0:o.slideCount-1):i=e===!0?--i:i,!(o.slideCount<1||i<0||i>o.slideCount-1)&&(o.unload(),t===!0?o.$slideTrack.children().remove():o.$slideTrack.children(this.options.slide).eq(i).remove(),o.$slides=o.$slideTrack.children(this.options.slide),o.$slideTrack.children(this.options.slide).detach(),o.$slideTrack.append(o.$slides),o.$slidesCache=o.$slides,void o.reinit())},e.prototype.setCSS=function(i){var e,t,o=this,s={};o.options.rtl===!0&&(i=-i),e="left"==o.positionProp?Math.ceil(i)+"px":"0px",t="top"==o.positionProp?Math.ceil(i)+"px":"0px",s[o.positionProp]=i,o.transformsEnabled===!1?o.$slideTrack.css(s):(s={},o.cssTransitions===!1?(s[o.animType]="translate("+e+", "+t+")",o.$slideTrack.css(s)):(s[o.animType]="translate3d("+e+", "+t+", 0px)",o.$slideTrack.css(s)))},e.prototype.setDimensions=function(){var i=this;i.options.vertical===!1?i.options.centerMode===!0&&i.$list.css({padding:"0px "+i.options.centerPadding}):(i.$list.height(i.$slides.first().outerHeight(!0)*i.options.slidesToShow),i.options.centerMode===!0&&i.$list.css({padding:i.options.centerPadding+" 0px"})),i.listWidth=i.$list.width(),i.listHeight=i.$list.height(),i.options.vertical===!1&&i.options.variableWidth===!1?(i.slideWidth=Math.ceil(i.listWidth/i.options.slidesToShow),i.$slideTrack.width(Math.ceil(i.slideWidth*i.$slideTrack.children(".slick-slide").length))):i.options.variableWidth===!0?i.$slideTrack.width(5e3*i.slideCount):(i.slideWidth=Math.ceil(i.listWidth),i.$slideTrack.height(Math.ceil(i.$slides.first().outerHeight(!0)*i.$slideTrack.children(".slick-slide").length)));var e=i.$slides.first().outerWidth(!0)-i.$slides.first().width();i.options.variableWidth===!1&&i.$slideTrack.children(".slick-slide").width(i.slideWidth-e)},e.prototype.setFade=function(){var e,t=this;t.$slides.each(function(o,s){e=t.slideWidth*o*-1,t.options.rtl===!0?i(s).css({position:"relative",right:e,top:0,zIndex:t.options.zIndex-2,opacity:0}):i(s).css({position:"relative",left:e,top:0,zIndex:t.options.zIndex-2,opacity:0})}),t.$slides.eq(t.currentSlide).css({zIndex:t.options.zIndex-1,opacity:1})},e.prototype.setHeight=function(){var i=this;if(1===i.options.slidesToShow&&i.options.adaptiveHeight===!0&&i.options.vertical===!1){var e=i.$slides.eq(i.currentSlide).outerHeight(!0);i.$list.css("height",e)}},e.prototype.setOption=e.prototype.slickSetOption=function(){var e,t,o,s,n,r=this,l=!1;if("object"===i.type(arguments[0])?(o=arguments[0],l=arguments[1],n="multiple"):"string"===i.type(arguments[0])&&(o=arguments[0],s=arguments[1],l=arguments[2],"responsive"===arguments[0]&&"array"===i.type(arguments[1])?n="responsive":"undefined"!=typeof arguments[1]&&(n="single")),"single"===n)r.options[o]=s;else if("multiple"===n)i.each(o,function(i,e){r.options[i]=e});else if("responsive"===n)for(t in s)if("array"!==i.type(r.options.responsive))r.options.responsive=[s[t]];else{for(e=r.options.responsive.length-1;e>=0;)r.options.responsive[e].breakpoint===s[t].breakpoint&&r.options.responsive.splice(e,1),e--;r.options.responsive.push(s[t])}l&&(r.unload(),r.reinit())},e.prototype.setPosition=function(){var i=this;i.setDimensions(),i.setHeight(),i.options.fade===!1?i.setCSS(i.getLeft(i.currentSlide)):i.setFade(),i.$slider.trigger("setPosition",[i])},e.prototype.setProps=function(){var i=this,e=document.body.style;i.positionProp=i.options.vertical===!0?"top":"left",
18
+ "top"===i.positionProp?i.$slider.addClass("slick-vertical"):i.$slider.removeClass("slick-vertical"),void 0===e.WebkitTransition&&void 0===e.MozTransition&&void 0===e.msTransition||i.options.useCSS===!0&&(i.cssTransitions=!0),i.options.fade&&("number"==typeof i.options.zIndex?i.options.zIndex<3&&(i.options.zIndex=3):i.options.zIndex=i.defaults.zIndex),void 0!==e.OTransform&&(i.animType="OTransform",i.transformType="-o-transform",i.transitionType="OTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.MozTransform&&(i.animType="MozTransform",i.transformType="-moz-transform",i.transitionType="MozTransition",void 0===e.perspectiveProperty&&void 0===e.MozPerspective&&(i.animType=!1)),void 0!==e.webkitTransform&&(i.animType="webkitTransform",i.transformType="-webkit-transform",i.transitionType="webkitTransition",void 0===e.perspectiveProperty&&void 0===e.webkitPerspective&&(i.animType=!1)),void 0!==e.msTransform&&(i.animType="msTransform",i.transformType="-ms-transform",i.transitionType="msTransition",void 0===e.msTransform&&(i.animType=!1)),void 0!==e.transform&&i.animType!==!1&&(i.animType="transform",i.transformType="transform",i.transitionType="transition"),i.transformsEnabled=i.options.useTransform&&null!==i.animType&&i.animType!==!1},e.prototype.setSlideClasses=function(i){var e,t,o,s,n=this;if(t=n.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden","true"),n.$slides.eq(i).addClass("slick-current"),n.options.centerMode===!0){var r=n.options.slidesToShow%2===0?1:0;e=Math.floor(n.options.slidesToShow/2),n.options.infinite===!0&&(i>=e&&i<=n.slideCount-1-e?n.$slides.slice(i-e+r,i+e+1).addClass("slick-active").attr("aria-hidden","false"):(o=n.options.slidesToShow+i,t.slice(o-e+1+r,o+e+2).addClass("slick-active").attr("aria-hidden","false")),0===i?t.eq(t.length-1-n.options.slidesToShow).addClass("slick-center"):i===n.slideCount-1&&t.eq(n.options.slidesToShow).addClass("slick-center")),n.$slides.eq(i).addClass("slick-center")}else i>=0&&i<=n.slideCount-n.options.slidesToShow?n.$slides.slice(i,i+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"):t.length<=n.options.slidesToShow?t.addClass("slick-active").attr("aria-hidden","false"):(s=n.slideCount%n.options.slidesToShow,o=n.options.infinite===!0?n.options.slidesToShow+i:i,n.options.slidesToShow==n.options.slidesToScroll&&n.slideCount-i<n.options.slidesToShow?t.slice(o-(n.options.slidesToShow-s),o+s).addClass("slick-active").attr("aria-hidden","false"):t.slice(o,o+n.options.slidesToShow).addClass("slick-active").attr("aria-hidden","false"));"ondemand"!==n.options.lazyLoad&&"anticipated"!==n.options.lazyLoad||n.lazyLoad()},e.prototype.setupInfinite=function(){var e,t,o,s=this;if(s.options.fade===!0&&(s.options.centerMode=!1),s.options.infinite===!0&&s.options.fade===!1&&(t=null,s.slideCount>s.options.slidesToShow)){for(o=s.options.centerMode===!0?s.options.slidesToShow+1:s.options.slidesToShow,e=s.slideCount;e>s.slideCount-o;e-=1)t=e-1,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t-s.slideCount).prependTo(s.$slideTrack).addClass("slick-cloned");for(e=0;e<o+s.slideCount;e+=1)t=e,i(s.$slides[t]).clone(!0).attr("id","").attr("data-slick-index",t+s.slideCount).appendTo(s.$slideTrack).addClass("slick-cloned");s.$slideTrack.find(".slick-cloned").find("[id]").each(function(){i(this).attr("id","")})}},e.prototype.interrupt=function(i){var e=this;i||e.autoPlay(),e.interrupted=i},e.prototype.selectHandler=function(e){var t=this,o=i(e.target).is(".slick-slide")?i(e.target):i(e.target).parents(".slick-slide"),s=parseInt(o.attr("data-slick-index"));return s||(s=0),t.slideCount<=t.options.slidesToShow?void t.slideHandler(s,!1,!0):void t.slideHandler(s)},e.prototype.slideHandler=function(i,e,t){var o,s,n,r,l,d=null,a=this;if(e=e||!1,!(a.animating===!0&&a.options.waitForAnimate===!0||a.options.fade===!0&&a.currentSlide===i))return e===!1&&a.asNavFor(i),o=i,d=a.getLeft(o),r=a.getLeft(a.currentSlide),a.currentLeft=null===a.swipeLeft?r:a.swipeLeft,a.options.infinite===!1&&a.options.centerMode===!1&&(i<0||i>a.getDotCount()*a.options.slidesToScroll)?void(a.options.fade===!1&&(o=a.currentSlide,t!==!0&&a.slideCount>a.options.slidesToShow?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o))):a.options.infinite===!1&&a.options.centerMode===!0&&(i<0||i>a.slideCount-a.options.slidesToScroll)?void(a.options.fade===!1&&(o=a.currentSlide,t!==!0&&a.slideCount>a.options.slidesToShow?a.animateSlide(r,function(){a.postSlide(o)}):a.postSlide(o))):(a.options.autoplay&&clearInterval(a.autoPlayTimer),s=o<0?a.slideCount%a.options.slidesToScroll!==0?a.slideCount-a.slideCount%a.options.slidesToScroll:a.slideCount+o:o>=a.slideCount?a.slideCount%a.options.slidesToScroll!==0?0:o-a.slideCount:o,a.animating=!0,a.$slider.trigger("beforeChange",[a,a.currentSlide,s]),n=a.currentSlide,a.currentSlide=s,a.setSlideClasses(a.currentSlide),a.options.asNavFor&&(l=a.getNavTarget(),l=l.slick("getSlick"),l.slideCount<=l.options.slidesToShow&&l.setSlideClasses(a.currentSlide)),a.updateDots(),a.updateArrows(),a.options.fade===!0?(t!==!0?(a.fadeSlideOut(n),a.fadeSlide(s,function(){a.postSlide(s)})):a.postSlide(s),void a.animateHeight()):void(t!==!0&&a.slideCount>a.options.slidesToShow?a.animateSlide(d,function(){a.postSlide(s)}):a.postSlide(s)))},e.prototype.startLoad=function(){var i=this;i.options.arrows===!0&&i.slideCount>i.options.slidesToShow&&(i.$prevArrow.hide(),i.$nextArrow.hide()),i.options.dots===!0&&i.slideCount>i.options.slidesToShow&&i.$dots.hide(),i.$slider.addClass("slick-loading")},e.prototype.swipeDirection=function(){var i,e,t,o,s=this;return i=s.touchObject.startX-s.touchObject.curX,e=s.touchObject.startY-s.touchObject.curY,t=Math.atan2(e,i),o=Math.round(180*t/Math.PI),o<0&&(o=360-Math.abs(o)),o<=45&&o>=0?s.options.rtl===!1?"left":"right":o<=360&&o>=315?s.options.rtl===!1?"left":"right":o>=135&&o<=225?s.options.rtl===!1?"right":"left":s.options.verticalSwiping===!0?o>=35&&o<=135?"down":"up":"vertical"},e.prototype.swipeEnd=function(i){var e,t,o=this;if(o.dragging=!1,o.swiping=!1,o.scrolling)return o.scrolling=!1,!1;if(o.interrupted=!1,o.shouldClick=!(o.touchObject.swipeLength>10),void 0===o.touchObject.curX)return!1;if(o.touchObject.edgeHit===!0&&o.$slider.trigger("edge",[o,o.swipeDirection()]),o.touchObject.swipeLength>=o.touchObject.minSwipe){switch(t=o.swipeDirection()){case"left":case"down":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide+o.getSlideCount()):o.currentSlide+o.getSlideCount(),o.currentDirection=0;break;case"right":case"up":e=o.options.swipeToSlide?o.checkNavigable(o.currentSlide-o.getSlideCount()):o.currentSlide-o.getSlideCount(),o.currentDirection=1}"vertical"!=t&&(o.slideHandler(e),o.touchObject={},o.$slider.trigger("swipe",[o,t]))}else o.touchObject.startX!==o.touchObject.curX&&(o.slideHandler(o.currentSlide),o.touchObject={})},e.prototype.swipeHandler=function(i){var e=this;if(!(e.options.swipe===!1||"ontouchend"in document&&e.options.swipe===!1||e.options.draggable===!1&&i.type.indexOf("mouse")!==-1))switch(e.touchObject.fingerCount=i.originalEvent&&void 0!==i.originalEvent.touches?i.originalEvent.touches.length:1,e.touchObject.minSwipe=e.listWidth/e.options.touchThreshold,e.options.verticalSwiping===!0&&(e.touchObject.minSwipe=e.listHeight/e.options.touchThreshold),i.data.action){case"start":e.swipeStart(i);break;case"move":e.swipeMove(i);break;case"end":e.swipeEnd(i)}},e.prototype.swipeMove=function(i){var e,t,o,s,n,r,l=this;return n=void 0!==i.originalEvent?i.originalEvent.touches:null,!(!l.dragging||l.scrolling||n&&1!==n.length)&&(e=l.getLeft(l.currentSlide),l.touchObject.curX=void 0!==n?n[0].pageX:i.clientX,l.touchObject.curY=void 0!==n?n[0].pageY:i.clientY,l.touchObject.swipeLength=Math.round(Math.sqrt(Math.pow(l.touchObject.curX-l.touchObject.startX,2))),r=Math.round(Math.sqrt(Math.pow(l.touchObject.curY-l.touchObject.startY,2))),!l.options.verticalSwiping&&!l.swiping&&r>4?(l.scrolling=!0,!1):(l.options.verticalSwiping===!0&&(l.touchObject.swipeLength=r),t=l.swipeDirection(),void 0!==i.originalEvent&&l.touchObject.swipeLength>4&&(l.swiping=!0,i.preventDefault()),s=(l.options.rtl===!1?1:-1)*(l.touchObject.curX>l.touchObject.startX?1:-1),l.options.verticalSwiping===!0&&(s=l.touchObject.curY>l.touchObject.startY?1:-1),o=l.touchObject.swipeLength,l.touchObject.edgeHit=!1,l.options.infinite===!1&&(0===l.currentSlide&&"right"===t||l.currentSlide>=l.getDotCount()&&"left"===t)&&(o=l.touchObject.swipeLength*l.options.edgeFriction,l.touchObject.edgeHit=!0),l.options.vertical===!1?l.swipeLeft=e+o*s:l.swipeLeft=e+o*(l.$list.height()/l.listWidth)*s,l.options.verticalSwiping===!0&&(l.swipeLeft=e+o*s),l.options.fade!==!0&&l.options.touchMove!==!1&&(l.animating===!0?(l.swipeLeft=null,!1):void l.setCSS(l.swipeLeft))))},e.prototype.swipeStart=function(i){var e,t=this;return t.interrupted=!0,1!==t.touchObject.fingerCount||t.slideCount<=t.options.slidesToShow?(t.touchObject={},!1):(void 0!==i.originalEvent&&void 0!==i.originalEvent.touches&&(e=i.originalEvent.touches[0]),t.touchObject.startX=t.touchObject.curX=void 0!==e?e.pageX:i.clientX,t.touchObject.startY=t.touchObject.curY=void 0!==e?e.pageY:i.clientY,void(t.dragging=!0))},e.prototype.unfilterSlides=e.prototype.slickUnfilter=function(){var i=this;null!==i.$slidesCache&&(i.unload(),i.$slideTrack.children(this.options.slide).detach(),i.$slidesCache.appendTo(i.$slideTrack),i.reinit())},e.prototype.unload=function(){var e=this;i(".slick-cloned",e.$slider).remove(),e.$dots&&e.$dots.remove(),e.$prevArrow&&e.htmlExpr.test(e.options.prevArrow)&&e.$prevArrow.remove(),e.$nextArrow&&e.htmlExpr.test(e.options.nextArrow)&&e.$nextArrow.remove(),e.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden","true").css("width","")},e.prototype.unslick=function(i){var e=this;e.$slider.trigger("unslick",[e,i]),e.destroy()},e.prototype.updateArrows=function(){var i,e=this;i=Math.floor(e.options.slidesToShow/2),e.options.arrows===!0&&e.slideCount>e.options.slidesToShow&&!e.options.infinite&&(e.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false"),e.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false"),0===e.currentSlide?(e.$prevArrow.addClass("slick-disabled").attr("aria-disabled","true"),e.$nextArrow.removeClass("slick-disabled").attr("aria-disabled","false")):e.currentSlide>=e.slideCount-e.options.slidesToShow&&e.options.centerMode===!1?(e.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),e.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")):e.currentSlide>=e.slideCount-1&&e.options.centerMode===!0&&(e.$nextArrow.addClass("slick-disabled").attr("aria-disabled","true"),e.$prevArrow.removeClass("slick-disabled").attr("aria-disabled","false")))},e.prototype.updateDots=function(){var i=this;null!==i.$dots&&(i.$dots.find("li").removeClass("slick-active").end(),i.$dots.find("li").eq(Math.floor(i.currentSlide/i.options.slidesToScroll)).addClass("slick-active"))},e.prototype.visibility=function(){var i=this;i.options.autoplay&&(document[i.hidden]?i.interrupted=!0:i.interrupted=!1)},i.fn.slick=function(){var i,t,o=this,s=arguments[0],n=Array.prototype.slice.call(arguments,1),r=o.length;for(i=0;i<r;i++)if("object"==typeof s||"undefined"==typeof s?o[i].slick=new e(o[i],s):t=o[i].slick[s].apply(o[i].slick,n),"undefined"!=typeof t)return t;return o}});
assets/js/admin/wp-modula-conditions.js ADDED
@@ -0,0 +1,223 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ wp.Modula = 'undefined' === typeof( wp.Modula ) ? {} : wp.Modula;
2
+
3
+ var modulaGalleryConditions = Backbone.Model.extend({
4
+
5
+ initialize: function( args ){
6
+
7
+ var rows = jQuery('.modula-settings-container tr[data-container]');
8
+ var tabs = jQuery('.modula-tabs .modula-tab');
9
+ this.set( 'rows', rows );
10
+ this.set( 'tabs', tabs );
11
+ var imageSizesInfo = jQuery('.modula-settings-container tr[data-container="grid_image_size"] .modula-imagesizes-infos .modula-imagesize-info');
12
+
13
+ this.set( 'imagesizes', imageSizesInfo );
14
+ this.initEvents();
15
+ this.initValues();
16
+
17
+ },
18
+
19
+ initEvents: function(){
20
+
21
+ this.listenTo( wp.Modula.Settings, 'change:type', this.changedType );
22
+ this.listenTo( wp.Modula.Settings, 'change:effect', this.changedEffect );
23
+ this.listenTo( wp.Modula.Settings, 'change:lightbox', this.changedLightbox );
24
+ this.listenTo( wp.Modula.Settings, 'change:disableSocial', this.disableSocial );
25
+ this.listenTo( wp.Modula.Settings, 'change:cursor', this.changedCursor );
26
+ this.listenTo( wp.Modula.Settings, 'change:enable_responsive', this.changedResponsiveness );
27
+ this.listenTo( wp.Modula.Settings, 'change:hide_title', this.hideTitle);
28
+ this.listenTo( wp.Modula.Settings, 'change:hide_description', this.hideCaption);
29
+ this.listenTo(wp.Modula.Settings, 'change:grid_type', this.changedGridType);
30
+ this.listenTo(wp.Modula.Settings, 'change:grid_image_size', this.changedGridImageSize);
31
+ },
32
+
33
+ initValues: function(){
34
+
35
+ this.changedType( false, wp.Modula.Settings.get( 'type' ) );
36
+ this.changedEffect( false, wp.Modula.Settings.get( 'effect' ) );
37
+ this.changedCursor( false, wp.Modula.Settings.get( 'cursor' ) );
38
+ this.changedLightbox( false, wp.Modula.Settings.get( 'lightbox' ) );
39
+ this.disableSocial (false, wp.Modula.Settings.get('disableSocial') );
40
+ this.changedResponsiveness ( false, wp.Modula.Settings.get('enable_responsive') );
41
+ this.hideTitle ( false, wp.Modula.Settings.get( 'hide_title' ) );
42
+ this.hideCaption ( false, wp.Modula.Settings.get( 'hide_description') );
43
+ this.changedGridType(false, wp.Modula.Settings.get('grid_type'));
44
+ this.changedGridImageSize(false, wp.Modula.Settings.get('grid_image_size'));
45
+ },
46
+
47
+ changedType: function( settings, value ){
48
+ var rows = this.get( 'rows' ),
49
+ tabs = this.get( 'tabs' );
50
+
51
+
52
+ if ( 'custom-grid' == value ) {
53
+
54
+ // Show Responsive tab
55
+ tabs.filter( '[data-tab="modula-responsive"]' ).show();
56
+
57
+ rows.filter( '[data-container="columns"], [data-container="gutter"],[data-container="img_size"]' ).show();
58
+
59
+ rows.filter( '[data-container="width"], [data-container="height"], [data-container="randomFactor"], [data-container="shuffle"]' ).hide();
60
+
61
+ rows.filter(' [data-container="randomFactor"] [data-container="img_size"],[data-container="maxImagesCount"]').show();
62
+
63
+ // Rows for grid type
64
+ rows.filter('[data-container="grid_type"], [data-container="grid_image_size"], [data-container="grid_row_height"], [data-container="grid_max_row_height"], [data-container="grid_row_height"], [data-container="grid_justify_last_row"], [data-container="grid_image_crop"]').hide();
65
+
66
+
67
+ }else if ( 'creative-gallery' == value ) {
68
+
69
+ // Hide Responsive tab
70
+ tabs.filter( '[data-tab="modula-responsive"]' ).hide();
71
+
72
+ rows.filter( '[data-container="columns"]' ).hide();
73
+
74
+ rows.filter( '[data-container="width"], [data-container="height"], [data-container="randomFactor"], [data-container="shuffle"]' ).show();
75
+
76
+ rows.filter('[data-container="height"], [data-container="gutter"], [data-container="randomFactor"], [data-container="shuffle"], [data-container="img_size"], [data-container="showAllOnLightbox"],[data-container="maxImagesCount"]').show();
77
+
78
+
79
+ // Rows for grid type
80
+ rows.filter('[data-container="grid_type"], [data-container="grid_image_size"], [data-container="grid_row_height"], [data-container="grid_max_row_height"], [data-container="grid_row_height"], [data-container="grid_justify_last_row"], [data-container="grid_image_crop"]').hide();
81
+
82
+
83
+ } else if('grid' == value){
84
+
85
+ rows.filter('[data-container="grid_type"], [data-container="width"],[data-container="grid_image_size"],[data-container="grid_row_height"], [data-container="grid_max_row_height"], [data-container="grid_row_height"], [data-container="grid_justify_last_row"], [data-container="gutter"], [data-container="grid_image_crop"],[data-container="maxImagesCount"]').show();
86
+
87
+ rows.filter('[data-container="height"], [data-container="randomFactor"], [data-container="img_size"]').hide();
88
+
89
+ tabs.filter( '[data-tab="modula-responsive"]' ).show();
90
+
91
+ this.changedGridType(false, wp.Modula.Settings.get('grid_type'));
92
+ this.changedGridImageSize(false, wp.Modula.Settings.get('grid_image_size'));
93
+
94
+ } else {
95
+
96
+ rows.filter('[data-container="grid_type"], [data-container="grid_image_size"], [data-container="grid_row_height"], [data-container="grid_max_row_height"], [data-container="grid_row_height"], [data-container="grid_justify_last_row"], [data-container="grid_image_crop"]').hide();
97
+ }
98
+
99
+ },
100
+
101
+ changedCursor: function( settings, value ) {
102
+ var cursorBox = jQuery( '.modula-effects-preview > div' );
103
+ cursorBox.css( 'cursor', value);
104
+ },
105
+
106
+ changedLightbox: function( settings, value ){
107
+ var rows = this.get('rows'),
108
+ tabs = this.get('tabs'),
109
+ link_options = ['no-link', 'direct', 'attachment-page'];
110
+
111
+ if ( 'fancybox' == value ) {
112
+
113
+ rows.filter('[data-container="show_navigation"]').show();
114
+
115
+ } else {
116
+
117
+ rows.filter('[data-container="show_navigation"]').hide();
118
+
119
+ }
120
+
121
+ },
122
+
123
+ changedEffect: function( settings, value ){
124
+
125
+ var hoverBoxes = jQuery( '.modula-effects-preview > div' );
126
+
127
+ hoverBoxes.hide();
128
+ hoverBoxes.filter( '.panel-' + value ).show();
129
+
130
+ },
131
+
132
+ disableSocial: function( settings, value){
133
+
134
+ var rows = this.get( 'rows' );
135
+
136
+ if ( 1 == value ) {
137
+ rows.filter( '[data-container="enableTwitter"],[data-container="enableWhatsapp"],[data-container="enableFacebook"],[data-container="enableLinkedin"],[data-container="enablePinterest"],[data-container="socialIconColor"], [data-container="socialIconSize"], [data-container="socialIconPadding"]' ).prop('checked',0).hide();
138
+
139
+ }else {
140
+ rows.filter( '[data-container="enableTwitter"],[data-container="enableWhatsapp"],[data-container="enableFacebook"],[data-container="enableLinkedin"],[data-container="enablePinterest"],[data-container="socialIconColor"],[data-container="socialIconSize"], [data-container="socialIconPadding"]').prop('checked',1).show();
141
+
142
+ }
143
+ },
144
+
145
+ changedResponsiveness: function( settings, value){
146
+ var rows = this.get( 'rows' );
147
+
148
+ if( 1 == value ) {
149
+ rows.filter( '[data-container="tablet_columns"],[data-container="mobile_columns"]').show();
150
+ }else {
151
+ rows.filter( '[data-container="tablet_columns"],[data-container="mobile_columns"]').hide();
152
+ }
153
+ },
154
+
155
+ hideTitle: function( settings, value ) {
156
+ var rows = this.get( 'rows' );
157
+
158
+ if( 1 == value ) {
159
+ rows.filter( '[data-container="titleColor"],[data-container="titleFontSize"],[data-container="mobileTitleFontSize"]').hide();
160
+ }else {
161
+ rows.filter( '[data-container="titleColor"],[data-container="titleFontSize"],[data-container="mobileTitleFontSize"]').show();
162
+ }
163
+ },
164
+
165
+ hideCaption: function( settings, value ) {
166
+ var rows = this.get( 'rows' );
167
+
168
+ if( 1 == value ) {
169
+ rows.filter( '[data-container="captionColor"],[data-container="captionFontSize"],[data-container="mobileCaptionFontSize"]').hide();
170
+ }else {
171
+ rows.filter( '[data-container="captionColor"],[data-container="captionFontSize"],[data-container="mobileCaptionFontSize"]').show();
172
+ }
173
+ },
174
+
175
+ changedGridType: function (settings, value) {
176
+
177
+ let rows = this.get('rows');
178
+
179
+ if ( 'grid' != wp.Modula.Settings.get('type') ) {
180
+
181
+ return;
182
+ }
183
+
184
+ if( 'automatic' == value ) {
185
+
186
+ rows.filter('[data-container="grid_image_size"], [data-container="grid_row_height"], [data-container="grid_max_row_height"], [data-container="grid_justify_last_row"], [data-container="gutter"]').show();
187
+ } else {
188
+
189
+ rows.filter(' [data-container="grid_row_height"], [data-container="grid_max_row_height"], [data-container="grid_justify_last_row"]').hide();
190
+
191
+ rows.filter('[data-container="grid_type"], [data-container="grid_image_size"],[data-container="gutter"]').show();
192
+ }
193
+
194
+ },
195
+
196
+ changedGridImageSize: function( settings, value ) {
197
+
198
+ let rows = this.get( 'rows' ),
199
+ imagesizes = this.get( 'imagesizes' );
200
+
201
+ if ( 'grid' != wp.Modula.Settings.get('type') ) {
202
+
203
+ rows.filter( '[data-container="grid_image_dimensions"], [data-container="grid_image_crop"]').hide();
204
+ return;
205
+
206
+ }
207
+
208
+ if ( 'custom' == value ) {
209
+
210
+ rows.filter( '[data-container="grid_image_dimensions"], [data-container="grid_image_crop"]').show();
211
+ } else {
212
+
213
+ rows.filter( '[data-container="grid_image_dimensions"], [data-container="grid_image_crop"]').hide();
214
+ }
215
+
216
+ var currentInfo = imagesizes.filter( '[data-size="' + value + '"]' );
217
+ imagesizes.hide();
218
+ if ( currentInfo.length > 0 ) {
219
+ currentInfo.show();
220
+ }
221
+ }
222
+
223
+ });
assets/js/{wp-modula-gallery.js → admin/wp-modula-gallery.js} RENAMED
@@ -186,7 +186,7 @@ wp.Modula = 'undefined' === typeof( wp.Modula ) ? {} : wp.Modula;
186
 
187
  checkGalleryType: function( type ) {
188
 
189
- if ( 'creative-gallery' == type ) {
190
 
191
  // If resizeble is enable we will destroy it
192
  if ( this.isResizeble ) {
@@ -198,6 +198,7 @@ wp.Modula = 'undefined' === typeof( wp.Modula ) ? {} : wp.Modula;
198
  this.enableSortable();
199
  }
200
 
 
201
  this.helperGridContainer.find( '.modula-helper-guidelines-wrapper' ).hide();
202
  this.container.removeClass( 'modula-custom-grid' ).addClass( 'modula-creative-gallery' );
203
 
@@ -214,6 +215,7 @@ wp.Modula = 'undefined' === typeof( wp.Modula ) ? {} : wp.Modula;
214
  }
215
 
216
  this.helperGridContainer.find( '.modula-helper-guidelines-wrapper' ).show();
 
217
  if ( ! wp.Modula.Settings.get( 'helpergrid' ) ) {
218
  this.helperGrid.show();
219
  }
@@ -360,7 +362,7 @@ wp.Modula = 'undefined' === typeof( wp.Modula ) ? {} : wp.Modula;
360
  },
361
 
362
  checkGalleryType: function( type ) {
363
- if ( 'creative-gallery' == type ) {
364
  this.$el.hide();
365
  }else if ( 'custom-grid' == type ) {
366
  if ( ! wp.Modula.Settings.get( 'helpergrid' ) ) {
186
 
187
  checkGalleryType: function( type ) {
188
 
189
+ if ( 'creative-gallery' == type || 'grid' == type) {
190
 
191
  // If resizeble is enable we will destroy it
192
  if ( this.isResizeble ) {
198
  this.enableSortable();
199
  }
200
 
201
+ this.helperGridContainer.addClass('modula-guidelines-display');
202
  this.helperGridContainer.find( '.modula-helper-guidelines-wrapper' ).hide();
203
  this.container.removeClass( 'modula-custom-grid' ).addClass( 'modula-creative-gallery' );
204
 
215
  }
216
 
217
  this.helperGridContainer.find( '.modula-helper-guidelines-wrapper' ).show();
218
+ this.helperGridContainer.removeClass('modula-guidelines-display');
219
  if ( ! wp.Modula.Settings.get( 'helpergrid' ) ) {
220
  this.helperGrid.show();
221
  }
362
  },
363
 
364
  checkGalleryType: function( type ) {
365
+ if ( 'creative-gallery' == type || 'grid' == type ) {
366
  this.$el.hide();
367
  }else if ( 'custom-grid' == type ) {
368
  if ( ! wp.Modula.Settings.get( 'helpergrid' ) ) {
assets/js/{wp-modula-gutenberg.js → admin/wp-modula-gutenberg.js} RENAMED
File without changes
assets/js/{wp-modula-items.js → admin/wp-modula-items.js} RENAMED
File without changes
assets/js/{wp-modula-modal.js → admin/wp-modula-modal.js} RENAMED
File without changes
assets/js/{wp-modula-save.js → admin/wp-modula-save.js} RENAMED
File without changes
assets/js/{wp-modula-settings.js → admin/wp-modula-settings.js} RENAMED
@@ -126,6 +126,12 @@ wp.Modula = 'undefined' === typeof( wp.Modula ) ? {} : wp.Modula;
126
  input.val( ui.value ).trigger( 'change' );
127
  }
128
  });
 
 
 
 
 
 
129
  });
130
  }
131
 
@@ -161,7 +167,7 @@ wp.Modula = 'undefined' === typeof( wp.Modula ) ? {} : wp.Modula;
161
  });
162
  });
163
  }
164
- }
165
 
166
  });
167
 
126
  input.val( ui.value ).trigger( 'change' );
127
  }
128
  });
129
+
130
+
131
+ input.keyup(function() {
132
+ jQuery( $slider ).slider("value" , input.val())
133
+ });
134
+
135
  });
136
  }
137
 
167
  });
168
  });
169
  }
170
+ },
171
 
172
  });
173
 
assets/js/{wp-modula-upload.js → admin/wp-modula-upload.js} RENAMED
@@ -271,7 +271,7 @@ wp.Modula = 'undefined' === typeof( wp.Modula ) ? {} : wp.Modula;
271
  // Mark existing Gallery images as selected when the modal is opened
272
  wp.media.frames.modula.on( 'open', function() {
273
 
274
- // Get any previously selected images
275
  var selection = wp.media.frames.modula.state().get( 'selection' );
276
  selection.reset();
277
 
@@ -317,7 +317,15 @@ wp.Modula = 'undefined' === typeof( wp.Modula ) ? {} : wp.Modula;
317
  // Open WordPress Media Gallery
318
  $( '#modula-wp-gallery' ).click( function( e ){
319
  e.preventDefault();
320
- wp.media.frames.modula.open();
 
 
 
 
 
 
 
 
321
  });
322
 
323
  },
@@ -418,9 +426,6 @@ wp.Modula = 'undefined' === typeof( wp.Modula ) ? {} : wp.Modula;
418
 
419
  generateSingleImage: function( attachment ){
420
  var data = { halign: 'center', valign: 'middle', link: '', target: '' }
421
- // No need for these variables
422
- /*captionSource = modula.Settings.get( 'wp_field_caption' ),
423
- titleSource = modula.Settings.get( 'wp_field_title' );*/
424
 
425
  data['full'] = attachment['sizes']['full']['url'];
426
  if ( "undefined" != typeof attachment['sizes']['large'] ) {
@@ -428,37 +433,13 @@ wp.Modula = 'undefined' === typeof( wp.Modula ) ? {} : wp.Modula;
428
  }else{
429
  data['thumbnail'] = data['full'];
430
  }
 
431
  data['id'] = attachment['id'];
432
  data['alt'] = attachment['alt'];
433
  data['orientation'] = attachment['orientation'];
434
-
435
- // Removed the settings to select title and caption
436
- // So we should make the default
437
- data['title'] = attachment['title'];
438
  data['description'] = attachment['caption'];
439
 
440
- // Check from where to populate image title
441
- // Will comment these lines, in the future maybe we revert to settings
442
- /*if ( 'none' == titleSource ) {
443
- data['title'] = attachment['title'];
444
- }else if ( 'title' == titleSource ) {
445
- data['title'] = attachment['title'];
446
- }else if ( 'description' == titleSource ) {
447
- data['title'] = attachment['description'];
448
- }*/
449
-
450
- // Check from where to populate image caption
451
- // Will comment these lines, in the future maybe we revert to settings
452
- /*if ( 'none' == captionSource ) {
453
- data['description'] = attachment['title'];
454
- }else if ( 'title' == captionSource ) {
455
- data['description'] = attachment['title'];
456
- }else if ( 'caption' == captionSource ) {
457
- data['description'] = attachment['caption'];
458
- }else if ( 'description' == captionSource ) {
459
- data['description'] = attachment['description'];
460
- }*/
461
-
462
  new modula.items['model']( data );
463
  }
464
 
271
  // Mark existing Gallery images as selected when the modal is opened
272
  wp.media.frames.modula.on( 'open', function() {
273
 
274
+ // Get any previously selected images
275
  var selection = wp.media.frames.modula.state().get( 'selection' );
276
  selection.reset();
277
 
317
  // Open WordPress Media Gallery
318
  $( '#modula-wp-gallery' ).click( function( e ){
319
  e.preventDefault();
320
+ // set wp-settings-1 cookie to browse and not upload
321
+ setUserSetting( 'libraryContent', 'browse' );
322
+ // check if modal exists ( already introduced in page )
323
+ var media_modal = $('body .media-modal');
324
+ if(media_modal.length > 0 ){
325
+ // click on item browse so we can activate it and look at item browsing
326
+ media_modal.find('#menu-item-browse').click();
327
+ }
328
+ wp.media.frames.modula.open();
329
  });
330
 
331
  },
426
 
427
  generateSingleImage: function( attachment ){
428
  var data = { halign: 'center', valign: 'middle', link: '', target: '' }
 
 
 
429
 
430
  data['full'] = attachment['sizes']['full']['url'];
431
  if ( "undefined" != typeof attachment['sizes']['large'] ) {
433
  }else{
434
  data['thumbnail'] = data['full'];
435
  }
436
+
437
  data['id'] = attachment['id'];
438
  data['alt'] = attachment['alt'];
439
  data['orientation'] = attachment['orientation'];
440
+ data['title'] = attachment['title'];
 
 
 
441
  data['description'] = attachment['caption'];
442
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
443
  new modula.items['model']( data );
444
  }
445
 
assets/js/{wp-modula.js → admin/wp-modula.js} RENAMED
@@ -51,4 +51,47 @@ jQuery( document ).ready( function( $ ){
51
  $(this).next('span').text('Shortcode copied');
52
  });
53
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  });
51
  $(this).next('span').text('Shortcode copied');
52
  });
53
 
54
+ $('#modula-image-loaded-effects ').on('click','#test-scaling-preview',function (e) {
55
+ e.preventDefault();
56
+ var val = $('input[data-setting="loadedScale"]').val();
57
+ var targets = $('#modula-image-loaded-effects .modula-item');
58
+ targets.css('transform', 'scale(' + val / 100 + ')');
59
+ setTimeout(function () {
60
+ targets.removeAttr('style')
61
+ }, 600)
62
+ });
63
+
64
+ // Dismiss notice
65
+ $('body').on('click','#modula-lightbox-upgrade .notice-dismiss',function (e) {
66
+
67
+ e.preventDefault();
68
+ var notice = $(this).parent();
69
+
70
+ var data = {
71
+ 'action': 'modula_lbu_notice',
72
+ 'nonce' : modulaHelper._wpnonce
73
+ };
74
+
75
+ $.post(modulaHelper.ajax_url, data, function (response) {
76
+ // Redirect to plugins page
77
+ notice.remove();
78
+ });
79
+ });
80
+
81
+ $('body').on('click','#lightbox-upgrade-notice .notice-dismiss',function (e) {
82
+
83
+ e.preventDefault();
84
+ var notice = $(this).parent();
85
+
86
+ var data = {
87
+ 'action': 'modula_lbu_notice_2',
88
+ 'nonce' : modulaHelper._wpnonce
89
+ };
90
+
91
+ $.post(modulaHelper.ajax_url, data, function (response) {
92
+ // Redirect to plugins page
93
+ notice.remove();
94
+ });
95
+ });
96
+
97
  });
assets/js/front/fancybox.js ADDED
@@ -0,0 +1,5694 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // ==================================================
2
+ // fancyBox v3.5.7
3
+ //
4
+ // Licensed GPLv3 for open source use
5
+ // or fancyBox Commercial License for commercial use
6
+ //
7
+ // http://fancyapps.com/fancybox/
8
+ // Copyright 2019 fancyApps
9
+ //
10
+ // ==================================================
11
+ (function (window, document, $, undefined) {
12
+ "use strict";
13
+
14
+ window.console = window.console || {
15
+ info: function (stuff) {}
16
+ };
17
+
18
+ // If there's no jQuery, fancyBox can't work
19
+ // =========================================
20
+
21
+ if (!$) {
22
+ return;
23
+ }
24
+
25
+ // Check if fancyBox is already initialized
26
+ // ========================================
27
+
28
+ if ($.fn.modulaFancybox) {
29
+ console.info("fancyBox already initialized");
30
+
31
+ return;
32
+ }
33
+
34
+ // Private default settings
35
+ // ========================
36
+
37
+ var defaults = {
38
+ // Close existing modals
39
+ // Set this to false if you do not need to stack multiple instances
40
+ closeExisting: false,
41
+
42
+ // Enable infinite gallery navigation
43
+ loop: false,
44
+
45
+ // Horizontal space between slides
46
+ gutter: 50,
47
+
48
+ // Enable keyboard navigation
49
+ keyboard: true,
50
+
51
+ // Should allow caption to overlap the content
52
+ preventCaptionOverlap: true,
53
+
54
+ // Should display navigation arrows at the screen edges
55
+ arrows: true,
56
+
57
+ // Should display counter at the top left corner
58
+ infobar: true,
59
+
60
+ // Should display close button (using `btnTpl.smallBtn` template) over the content
61
+ // Can be true, false, "auto"
62
+ // If "auto" - will be automatically enabled for "html", "inline" or "ajax" items
63
+ smallBtn: "auto",
64
+
65
+ // Should display toolbar (buttons at the top)
66
+ // Can be true, false, "auto"
67
+ // If "auto" - will be automatically hidden if "smallBtn" is enabled
68
+ toolbar: "auto",
69
+
70
+ // What buttons should appear in the top right corner.
71
+ // Buttons will be created using templates from `btnTpl` option
72
+ // and they will be placed into toolbar (class="fancybox-toolbar"` element)
73
+ buttons: [
74
+ "zoom",
75
+ //"share",
76
+ "slideShow",
77
+ //"fullScreen",
78
+ //"download",
79
+ "thumbs",
80
+ "close"
81
+ ],
82
+
83
+ // Detect "idle" time in seconds
84
+ idleTime: 3,
85
+
86
+ // Disable right-click and use simple image protection for images
87
+ protect: false,
88
+
89
+ // Shortcut to make content "modal" - disable keyboard navigtion, hide buttons, etc
90
+ modal: false,
91
+
92
+ image: {
93
+ // Wait for images to load before displaying
94
+ // true - wait for image to load and then display;
95
+ // false - display thumbnail and load the full-sized image over top,
96
+ // requires predefined image dimensions (`data-width` and `data-height` attributes)
97
+ preload: false
98
+ },
99
+
100
+ ajax: {
101
+ // Object containing settings for ajax request
102
+ settings: {
103
+ // This helps to indicate that request comes from the modal
104
+ // Feel free to change naming
105
+ data: {
106
+ fancybox: true
107
+ }
108
+ }
109
+ },
110
+
111
+ iframe: {
112
+ // Iframe template
113
+ tpl: '<iframe id="modula-fancybox-frame{rnd}" name="modula-fancybox-frame{rnd}" class="modula-fancybox-iframe" allowfullscreen="allowfullscreen" allow="autoplay; fullscreen" src=""></iframe>',
114
+
115
+ // Preload iframe before displaying it
116
+ // This allows to calculate iframe content width and height
117
+ // (note: Due to "Same Origin Policy", you can't get cross domain data).
118
+ preload: true,
119
+
120
+ // Custom CSS styling for iframe wrapping element
121
+ // You can use this to set custom iframe dimensions
122
+ css: {},
123
+
124
+ // Iframe tag attributes
125
+ attr: {
126
+ scrolling: "auto"
127
+ }
128
+ },
129
+
130
+ // For HTML5 video only
131
+ video: {
132
+ tpl: '<video class="modula-fancybox-video" controls controlsList="nodownload" poster="{{poster}}">' +
133
+ '<source src="{{src}}" type="{{format}}" />' +
134
+ 'Sorry, your browser doesn\'t support embedded videos, <a href="{{src}}">download</a> and watch with your favorite video player!' +
135
+ "</video>",
136
+ format: "", // custom video format
137
+ autoStart: true
138
+ },
139
+
140
+ // Default content type if cannot be detected automatically
141
+ defaultType: "image",
142
+
143
+ // Open/close animation type
144
+ // Possible values:
145
+ // false - disable
146
+ // "zoom" - zoom images from/to thumbnail
147
+ // "fade"
148
+ // "zoom-in-out"
149
+ //
150
+ animationEffect: "zoom",
151
+
152
+ // Duration in ms for open/close animation
153
+ animationDuration: 366,
154
+
155
+ // Should image change opacity while zooming
156
+ // If opacity is "auto", then opacity will be changed if image and thumbnail have different aspect ratios
157
+ zoomOpacity: "auto",
158
+
159
+ // Transition effect between slides
160
+ //
161
+ // Possible values:
162
+ // false - disable
163
+ // "fade'
164
+ // "slide'
165
+ // "circular'
166
+ // "tube'
167
+ // "zoom-in-out'
168
+ // "rotate'
169
+ //
170
+ transitionEffect: "fade",
171
+
172
+ // Duration in ms for transition animation
173
+ transitionDuration: 366,
174
+
175
+ // Custom CSS class for slide element
176
+ slideClass: "",
177
+
178
+ // Custom CSS class for layout
179
+ baseClass: "",
180
+
181
+ // Base template for layout
182
+ baseTpl: '<div class="modula-fancybox-container" role="dialog" tabindex="-1">' +
183
+ '<div class="modula-fancybox-bg"></div>' +
184
+ '<div class="modula-fancybox-inner">' +
185
+ '<div class="modula-fancybox-infobar"><span data-fancybox-index></span>&nbsp;/&nbsp;<span data-fancybox-count></span></div>' +
186
+ '<div class="modula-fancybox-toolbar">{{buttons}}</div>' +
187
+ '<div class="modula-fancybox-navigation">{{arrows}}</div>' +
188
+ '<div class="modula-fancybox-stage"></div>' +
189
+ '<div class="modula-fancybox-caption"><div class="modula-fancybox-caption__body"></div></div>' +
190
+ "</div>" +
191
+ "</div>",
192
+
193
+ // Loading indicator template
194
+ spinnerTpl: '<div class="modula-fancybox-loading"></div>',
195
+
196
+ // Error message template
197
+ errorTpl: '<div class="modula-fancybox-error"><p>{{ERROR}}</p></div>',
198
+
199
+ btnTpl: {
200
+ download: '<a download data-fancybox-download class="modula-fancybox-button modula-fancybox-button--download" title="{{DOWNLOAD}}" href="javascript:;">' +
201
+ '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.62 17.09V19H5.38v-1.91zm-2.97-6.96L17 11.45l-5 4.87-5-4.87 1.36-1.32 2.68 2.64V5h1.92v7.77z"/></svg>' +
202
+ "</a>",
203
+
204
+ zoom: '<button data-fancybox-zoom class="modula-fancybox-button modula-fancybox-button--zoom" title="{{ZOOM}}">' +
205
+ '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.7 17.3l-3-3a5.9 5.9 0 0 0-.6-7.6 5.9 5.9 0 0 0-8.4 0 5.9 5.9 0 0 0 0 8.4 5.9 5.9 0 0 0 7.7.7l3 3a1 1 0 0 0 1.3 0c.4-.5.4-1 0-1.5zM8.1 13.8a4 4 0 0 1 0-5.7 4 4 0 0 1 5.7 0 4 4 0 0 1 0 5.7 4 4 0 0 1-5.7 0z"/></svg>' +
206
+ "</button>",
207
+
208
+ close: '<button data-fancybox-close class="modula-fancybox-button modula-fancybox-button--close" title="{{CLOSE}}">' +
209
+ '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 10.6L6.6 5.2 5.2 6.6l5.4 5.4-5.4 5.4 1.4 1.4 5.4-5.4 5.4 5.4 1.4-1.4-5.4-5.4 5.4-5.4-1.4-1.4-5.4 5.4z"/></svg>' +
210
+ "</button>",
211
+
212
+ // Arrows
213
+ arrowLeft: '<button data-fancybox-prev class="modula-fancybox-button modula-fancybox-button--arrow_left" title="{{PREV}}">' +
214
+ '<div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.28 15.7l-1.34 1.37L5 12l4.94-5.07 1.34 1.38-2.68 2.72H19v1.94H8.6z"/></svg></div>' +
215
+ "</button>",
216
+
217
+ arrowRight: '<button data-fancybox-next class="modula-fancybox-button modula-fancybox-button--arrow_right" title="{{NEXT}}">' +
218
+ '<div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.4 12.97l-2.68 2.72 1.34 1.38L19 12l-4.94-5.07-1.34 1.38 2.68 2.72H5v1.94z"/></svg></div>' +
219
+ "</button>",
220
+
221
+ // This small close button will be appended to your html/inline/ajax content by default,
222
+ // if "smallBtn" option is not set to false
223
+ smallBtn: '<button type="button" data-fancybox-close class="modula-fancybox-button modula-fancybox-close-small" title="{{CLOSE}}">' +
224
+ '<svg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 24 24"><path d="M13 12l5-5-1-1-5 5-5-5-1 1 5 5-5 5 1 1 5-5 5 5 1-1z"/></svg>' +
225
+ "</button>"
226
+ },
227
+
228
+ modulaShare : [
229
+ "facebook",
230
+ "twitter",
231
+ "pinterest",
232
+ "whatsapp",
233
+ "linkedin"
234
+ ],
235
+
236
+ shareBtnTpl: {
237
+ facebook: '<a class="modula-fancybox-share__button modula-fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{modulaShareUrl}}">' +
238
+ '<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" /></svg>' +
239
+ '<span>Facebook</span></a>',
240
+
241
+ twitter: '<a class="modula-fancybox-share__button modula-fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{modulaShareUrl}}&text={{descr}}">' +
242
+ '<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" /></svg>' +
243
+ '<span>Twitter</span></a>',
244
+
245
+ pinterest: '<a class="modula-fancybox-share__button modula-fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{modulaShareUrl}}&description={{descr}}&media={{media}}">' +
246
+ '<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#fff"/></svg>' +
247
+ '<span>Pinterest</span></a>',
248
+
249
+ // Arrows
250
+ whatsapp: '<a class="modula-fancybox-share__button modula-fancybox-share__button--wa" href="https://api.whatsapp.com/send?text={{modulaShareUrl}}&review_url=true">' +
251
+ '<svg aria-hidden="true" focusable="false" style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);" preserveAspectRatio="xMidYMid meet" viewBox="0 0 1536 1600"><path d="M985 878q13 0 97.5 44t89.5 53q2 5 2 15q0 33-17 76q-16 39-71 65.5T984 1158q-57 0-190-62q-98-45-170-118T476 793q-72-107-71-194v-8q3-91 74-158q24-22 52-22q6 0 18 1.5t19 1.5q19 0 26.5 6.5T610 448q8 20 33 88t25 75q0 21-34.5 57.5T599 715q0 7 5 15q34 73 102 137q56 53 151 101q12 7 22 7q15 0 54-48.5t52-48.5zm-203 530q127 0 243.5-50t200.5-134t134-200.5t50-243.5t-50-243.5T1226 336t-200.5-134T782 152t-243.5 50T338 336T204 536.5T154 780q0 203 120 368l-79 233l242-77q158 104 345 104zm0-1382q153 0 292.5 60T1315 247t161 240.5t60 292.5t-60 292.5t-161 240.5t-240.5 161t-292.5 60q-195 0-365-94L0 1574l136-405Q28 991 28 780q0-153 60-292.5T249 247T489.5 86T782 26z" fill="currentColor"/></svg>' +
252
+ '<span>WhatsApp</span></a>',
253
+
254
+ linkedin: '<a class="modula-fancybox-share__button modula-fancybox-share__button--li" href="//linkedin.com/shareArticle?mini=true&url={{modulaShareUrl}}">' +
255
+ '<svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="linkedin-in" class="svg-inline--fa fa-linkedin-in fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z"></path></svg>' +
256
+ '<span>LinkedIn</span></a>',
257
+
258
+ },
259
+
260
+
261
+ // Container is injected into this element
262
+ parentEl: "body",
263
+
264
+ // Hide browser vertical scrollbars; use at your own risk
265
+ hideScrollbar: true,
266
+
267
+ // Focus handling
268
+ // ==============
269
+
270
+ // Try to focus on the first focusable element after opening
271
+ autoFocus: true,
272
+
273
+ // Put focus back to active element after closing
274
+ backFocus: true,
275
+
276
+ // Do not let user to focus on element outside modal content
277
+ trapFocus: true,
278
+
279
+ // Module specific options
280
+ // =======================
281
+
282
+ fullScreen: {
283
+ autoStart: false
284
+ },
285
+
286
+ // Set `touch: false` to disable panning/swiping
287
+ touch: {
288
+ vertical: true, // Allow to drag content vertically
289
+ momentum: true // Continue movement after releasing mouse/touch when panning
290
+ },
291
+
292
+ // Hash value when initializing manually,
293
+ // set `false` to disable hash change
294
+ hash: null,
295
+
296
+ // Customize or add new media types
297
+ // Example:
298
+ /*
299
+ media : {
300
+ youtube : {
301
+ params : {
302
+ autoplay : 0
303
+ }
304
+ }
305
+ }
306
+ */
307
+ media: {},
308
+
309
+ slideShow: {
310
+ autoStart: false,
311
+ speed: 3000
312
+ },
313
+
314
+ thumbs: {
315
+ autoStart: false, // Display thumbnails on opening
316
+ hideOnClose: true, // Hide thumbnail grid when closing animation starts
317
+ parentEl: ".modula-fancybox-container", // Container is injected into this element
318
+ axis: "y" // Vertical (y) or horizontal (x) scrolling
319
+ },
320
+
321
+ // Use mousewheel to navigate gallery
322
+ // If 'auto' - enabled for images only
323
+ wheel: "auto",
324
+
325
+ // Callbacks
326
+ //==========
327
+
328
+ // See Documentation/API/Events for more information
329
+ // Example:
330
+ /*
331
+ afterShow: function( instance, current ) {
332
+ console.info( 'Clicked element:' );
333
+ console.info( current.opts.$orig );
334
+ }
335
+ */
336
+
337
+ onInit: $.noop, // When instance has been initialized
338
+
339
+ beforeLoad: $.noop, // Before the content of a slide is being loaded
340
+ afterLoad: $.noop, // When the content of a slide is done loading
341
+
342
+ beforeShow: $.noop, // Before open animation starts
343
+ afterShow: $.noop, // When content is done loading and animating
344
+
345
+ beforeClose: $.noop, // Before the instance attempts to close. Return false to cancel the close.
346
+ afterClose: $.noop, // After instance has been closed
347
+
348
+ onActivate: $.noop, // When instance is brought to front
349
+ onDeactivate: $.noop, // When other instance has been activated
350
+
351
+ // Interaction
352
+ // ===========
353
+
354
+ // Use options below to customize taken action when user clicks or double clicks on the fancyBox area,
355
+ // each option can be string or method that returns value.
356
+ //
357
+ // Possible values:
358
+ // "close" - close instance
359
+ // "next" - move to next gallery item
360
+ // "nextOrClose" - move to next gallery item or close if gallery has only one item
361
+ // "toggleControls" - show/hide controls
362
+ // "zoom" - zoom image (if loaded)
363
+ // false - do nothing
364
+
365
+ // Clicked on the content
366
+ clickContent: function (current, event) {
367
+ return current.type === "image" ? "zoom" : false;
368
+ },
369
+
370
+ // Clicked on the slide
371
+ clickSlide: "close",
372
+
373
+ // Clicked on the background (backdrop) element;
374
+ // if you have not changed the layout, then most likely you need to use `clickSlide` option
375
+ clickOutside: "close",
376
+
377
+ // Same as previous two, but for double click
378
+ dblclickContent: false,
379
+ dblclickSlide: false,
380
+ dblclickOutside: false,
381
+
382
+ // Custom options when mobile device is detected
383
+ // =============================================
384
+
385
+ mobile: {
386
+ preventCaptionOverlap: false,
387
+ idleTime: false,
388
+ clickContent: function (current, event) {
389
+ return current.type === "image" ? "toggleControls" : false;
390
+ },
391
+ clickSlide: function (current, event) {
392
+ return current.type === "image" ? "toggleControls" : "close";
393
+ },
394
+ dblclickContent: function (current, event) {
395
+ return current.type === "image" ? "zoom" : false;
396
+ },
397
+ dblclickSlide: function (current, event) {
398
+ return current.type === "image" ? "zoom" : false;
399
+ }
400
+ },
401
+
402
+ // Internationalization
403
+ // ====================
404
+
405
+ lang: "en",
406
+ i18n: {
407
+ en: {
408
+ CLOSE: "Close",
409
+ NEXT: "Next",
410
+ PREV: "Previous",
411
+ ERROR: "The requested content cannot be loaded. <br/> Please try again later.",
412
+ PLAY_START: "Start slideshow",
413
+ PLAY_STOP: "Pause slideshow",
414
+ FULL_SCREEN: "Full screen",
415
+ THUMBS: "Thumbnails",
416
+ DOWNLOAD: "Download",
417
+ SHARE: "Share",
418
+ ZOOM: "Zoom"
419
+ },
420
+ de: {
421
+ CLOSE: "Schlie&szlig;en",
422
+ NEXT: "Weiter",
423
+ PREV: "Zur&uuml;ck",
424
+ ERROR: "Die angeforderten Daten konnten nicht geladen werden. <br/> Bitte versuchen Sie es sp&auml;ter nochmal.",
425
+ PLAY_START: "Diaschau starten",
426
+ PLAY_STOP: "Diaschau beenden",
427
+ FULL_SCREEN: "Vollbild",
428
+ THUMBS: "Vorschaubilder",
429
+ DOWNLOAD: "Herunterladen",
430
+ SHARE: "Teilen",
431
+ ZOOM: "Vergr&ouml;&szlig;ern"
432
+ }
433
+ }
434
+ };
435
+
436
+ // Few useful variables and methods
437
+ // ================================
438
+
439
+ var $W = $(window);
440
+ var $D = $(document);
441
+
442
+ var called = 0;
443
+
444
+ // Check if an object is a jQuery object and not a native JavaScript object
445
+ // ========================================================================
446
+ var isQuery = function (obj) {
447
+ return obj && obj.hasOwnProperty && obj instanceof $;
448
+ };
449
+
450
+ // Handle multiple browsers for "requestAnimationFrame" and "cancelAnimationFrame"
451
+ // ===============================================================================
452
+ var requestAFrame = (function () {
453
+ return (
454
+ window.requestAnimationFrame ||
455
+ window.webkitRequestAnimationFrame ||
456
+ window.mozRequestAnimationFrame ||
457
+ window.oRequestAnimationFrame ||
458
+ // if all else fails, use setTimeout
459
+ function (callback) {
460
+ return window.setTimeout(callback, 1000 / 60);
461
+ }
462
+ );
463
+ })();
464
+
465
+ var cancelAFrame = (function () {
466
+ return (
467
+ window.cancelAnimationFrame ||
468
+ window.webkitCancelAnimationFrame ||
469
+ window.mozCancelAnimationFrame ||
470
+ window.oCancelAnimationFrame ||
471
+ function (id) {
472
+ window.clearTimeout(id);
473
+ }
474
+ );
475
+ })();
476
+
477
+ // Detect the supported transition-end event property name
478
+ // =======================================================
479
+ var transitionEnd = (function () {
480
+ var el = document.createElement("fakeelement"),
481
+ t;
482
+
483
+ var transitions = {
484
+ transition: "transitionend",
485
+ OTransition: "oTransitionEnd",
486
+ MozTransition: "transitionend",
487
+ WebkitTransition: "webkitTransitionEnd"
488
+ };
489
+
490
+ for (t in transitions) {
491
+ if (el.style[t] !== undefined) {
492
+ return transitions[t];
493
+ }
494
+ }
495
+
496
+ return "transitionend";
497
+ })();
498
+
499
+ // Force redraw on an element.
500
+ // This helps in cases where the browser doesn't redraw an updated element properly
501
+ // ================================================================================
502
+ var forceRedraw = function ($el) {
503
+ return $el && $el.length && $el[0].offsetHeight;
504
+ };
505
+
506
+ // Exclude array (`buttons`) options from deep merging
507
+ // ===================================================
508
+ var mergeOpts = function (opts1, opts2) {
509
+ var rez = $.extend(true, {}, opts1, opts2);
510
+
511
+ $.each(opts2, function (key, value) {
512
+ if ($.isArray(value)) {
513
+ rez[key] = value;
514
+ }
515
+ });
516
+
517
+ return rez;
518
+ };
519
+
520
+ // How much of an element is visible in viewport
521
+ // =============================================
522
+
523
+ var inViewport = function (elem) {
524
+ var elemCenter, rez;
525
+
526
+ if (!elem || elem.ownerDocument !== document) {
527
+ return false;
528
+ }
529
+
530
+ $(".modula-fancybox-container").css("pointer-events", "none");
531
+
532
+ elemCenter = {
533
+ x: elem.getBoundingClientRect().left + elem.offsetWidth / 2,
534
+ y: elem.getBoundingClientRect().top + elem.offsetHeight / 2
535
+ };
536
+
537
+ rez = document.elementFromPoint(elemCenter.x, elemCenter.y) === elem;
538
+
539
+ $(".modula-fancybox-container").css("pointer-events", "");
540
+
541
+ return rez;
542
+ };
543
+
544
+ // Class definition
545
+ // ================
546
+
547
+ var modulaFancyBox = function (content, opts, index) {
548
+ var self = this;
549
+
550
+ self.opts = mergeOpts({
551
+ index: index
552
+ }, $.modulaFancybox.defaults);
553
+
554
+ if ($.isPlainObject(opts)) {
555
+ self.opts = mergeOpts(self.opts, opts);
556
+ }
557
+
558
+ if ($.modulaFancybox.isMobile) {
559
+ self.opts = mergeOpts(self.opts, self.opts.mobile);
560
+ }
561
+
562
+ self.id = self.opts.id || ++called;
563
+
564
+ self.currIndex = parseInt(self.opts.index, 10) || 0;
565
+ self.prevIndex = null;
566
+
567
+ self.prevPos = null;
568
+ self.currPos = 0;
569
+
570
+ self.firstRun = true;
571
+
572
+ // All group items
573
+ self.group = [];
574
+
575
+ // Existing slides (for current, next and previous gallery items)
576
+ self.slides = {};
577
+
578
+ // Create group elements
579
+ self.addContent(content);
580
+
581
+ if (!self.group.length) {
582
+ return;
583
+ }
584
+
585
+ self.init();
586
+ };
587
+
588
+ $.extend(modulaFancyBox.prototype, {
589
+ // Create DOM structure
590
+ // ====================
591
+
592
+ init: function () {
593
+ var self = this,
594
+ firstItem = self.group[self.currIndex],
595
+ firstItemOpts = firstItem.opts,
596
+ $container,
597
+ buttonStr;
598
+
599
+ if (firstItemOpts.closeExisting) {
600
+ $.modulaFancybox.close(true);
601
+ }
602
+
603
+ // Hide scrollbars
604
+ // ===============
605
+
606
+ $("body").addClass("modula-fancybox-active");
607
+
608
+ if (
609
+ !$.modulaFancybox.getInstance() &&
610
+ firstItemOpts.hideScrollbar !== false &&
611
+ !$.modulaFancybox.isMobile &&
612
+ document.body.scrollHeight > window.innerHeight
613
+ ) {
614
+ $("head").append(
615
+ '<style id="modula-fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar{margin-right:' +
616
+ (window.innerWidth - document.documentElement.clientWidth) +
617
+ "px;}</style>"
618
+ );
619
+
620
+ $("body").addClass("compensate-for-scrollbar");
621
+ }
622
+
623
+ // Build html markup and set references
624
+ // ====================================
625
+
626
+ // Build html code for buttons and insert into main template
627
+ buttonStr = "";
628
+
629
+ $.each(firstItemOpts.buttons, function (index, value) {
630
+ buttonStr += firstItemOpts.btnTpl[value] || "";
631
+ });
632
+
633
+
634
+
635
+ // Create markup from base template, it will be initially hidden to
636
+ // avoid unnecessary work like painting while initializing is not complete
637
+ $container = $(
638
+ self.translate(
639
+ self,
640
+ firstItemOpts.baseTpl
641
+ .replace("{{buttons}}", buttonStr)
642
+ .replace("{{arrows}}", firstItemOpts.btnTpl.arrowLeft + firstItemOpts.btnTpl.arrowRight)
643
+ )
644
+ )
645
+ .attr("id", "modula-fancybox-container-" + self.id)
646
+ .addClass(firstItemOpts.baseClass)
647
+ .data("modulaFancyBox", self)
648
+ .appendTo(firstItemOpts.parentEl);
649
+
650
+
651
+
652
+ // Create object holding references to jQuery wrapped nodes
653
+ self.$refs = {
654
+ container: $container
655
+ };
656
+
657
+ ["bg", "inner", "infobar", "toolbar", "stage", "caption", "navigation"].forEach(function (item) {
658
+ self.$refs[item] = $container.find(".modula-fancybox-" + item);
659
+ });
660
+
661
+ self.trigger("onInit");
662
+
663
+ // Enable events, deactive previous instances
664
+ self.activate();
665
+
666
+ // Build slides, load and reveal content
667
+ self.jumpTo(self.currIndex);
668
+ },
669
+
670
+ // Simple i18n support - replaces object keys found in template
671
+ // with corresponding values
672
+ // ============================================================
673
+
674
+ translate: function (obj, str) {
675
+ var arr = obj.opts.i18n[obj.opts.lang] || obj.opts.i18n.en;
676
+
677
+ return str.replace(/\{\{(\w+)\}\}/g, function (match, n) {
678
+ return arr[n] === undefined ? match : arr[n];
679
+ });
680
+ },
681
+
682
+ // Populate current group with fresh content
683
+ // Check if each object has valid type and content
684
+ // ===============================================
685
+
686
+ addContent: function (content) {
687
+ var self = this,
688
+ items = $.makeArray(content),
689
+ thumbs;
690
+
691
+ $.each(items, function (i, item) {
692
+ var obj = {},
693
+ opts = {},
694
+ $item,
695
+ type,
696
+ found,
697
+ src,
698
+ srcParts;
699
+
700
+ // Step 1 - Make sure we have an object
701
+ // ====================================
702
+
703
+ if ($.isPlainObject(item)) {
704
+ // We probably have manual usage here, something like
705
+ // $.modulaFancybox.open( [ { src : "image.jpg", type : "image" } ] )
706
+
707
+ obj = item;
708
+ opts = item.opts || item;
709
+ } else if ($.type(item) === "object" && $(item).length) {
710
+ // Here we probably have jQuery collection returned by some selector
711
+ $item = $(item);
712
+
713
+ // Support attributes like `data-options='{"touch" : false}'` and `data-touch='false'`
714
+ opts = $item.data() || {};
715
+ opts = $.extend(true, {}, opts, opts.options);
716
+
717
+ // Here we store clicked element
718
+ opts.$orig = $item;
719
+
720
+ obj.src = self.opts.src || opts.src || $item.attr("href");
721
+
722
+ // Assume that simple syntax is used, for example:
723
+ // `$.modulaFancybox.open( $("#test"), {} );`
724
+ if (!obj.type && !obj.src) {
725
+ obj.type = "inline";
726
+ obj.src = item;
727
+ }
728
+ } else {
729
+ // Assume we have a simple html code, for example:
730
+ // $.modulaFancybox.open( '<div><h1>Hi!</h1></div>' );
731
+ obj = {
732
+ type: "html",
733
+ src: item + ""
734
+ };
735
+ }
736
+
737
+ // Each gallery object has full collection of options
738
+ obj.opts = $.extend(true, {}, self.opts, opts);
739
+
740
+ // Do not merge buttons array
741
+ if ($.isArray(opts.buttons)) {
742
+ obj.opts.buttons = opts.buttons;
743
+ }
744
+
745
+ if ($.modulaFancybox.isMobile && obj.opts.mobile) {
746
+ obj.opts = mergeOpts(obj.opts, obj.opts.mobile);
747
+ }
748
+
749
+ // Step 2 - Make sure we have content type, if not - try to guess
750
+ // ==============================================================
751
+
752
+ type = obj.type || obj.opts.type;
753
+ src = obj.src || "";
754
+
755
+ if (!type && src) {
756
+ if ((found = src.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))) {
757
+ type = "video";
758
+
759
+ if (!obj.opts.video.format) {
760
+ obj.opts.video.format = "video/" + (found[1] === "ogv" ? "ogg" : found[1]);
761
+ }
762
+ } else if (src.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)) {
763
+ type = "image";
764
+ } else if (src.match(/\.(pdf)((\?|#).*)?$/i)) {
765
+ type = "iframe";
766
+ obj = $.extend(true, obj, {
767
+ contentType: "pdf",
768
+ opts: {
769
+ iframe: {
770
+ preload: false
771
+ }
772
+ }
773
+ });
774
+ } else if (src.charAt(0) === "#") {
775
+ type = "inline";
776
+ }
777
+ }
778
+
779
+ if (type) {
780
+ obj.type = type;
781
+ } else {
782
+ self.trigger("objectNeedsType", obj);
783
+ }
784
+
785
+ if (!obj.contentType) {
786
+ obj.contentType = $.inArray(obj.type, ["html", "inline", "ajax"]) > -1 ? "html" : obj.type;
787
+ }
788
+
789
+ // Step 3 - Some adjustments
790
+ // =========================
791
+
792
+ obj.index = self.group.length;
793
+
794
+ if (obj.opts.smallBtn == "auto") {
795
+ obj.opts.smallBtn = $.inArray(obj.type, ["html", "inline", "ajax"]) > -1;
796
+ }
797
+
798
+ if (obj.opts.toolbar === "auto") {
799
+ obj.opts.toolbar = !obj.opts.smallBtn;
800
+ }
801
+
802
+ // Find thumbnail image, check if exists and if is in the viewport
803
+ obj.$thumb = obj.opts.$thumb || null;
804
+
805
+ if (obj.opts.$trigger && obj.index === self.opts.index) {
806
+ obj.$thumb = obj.opts.$trigger.find("img:first");
807
+
808
+ if (obj.$thumb.length) {
809
+ obj.opts.$orig = obj.opts.$trigger;
810
+ }
811
+ }
812
+
813
+ if (!(obj.$thumb && obj.$thumb.length) && obj.opts.$orig) {
814
+ obj.$thumb = obj.opts.$orig.find("img:first");
815
+ }
816
+
817
+ if (obj.$thumb && !obj.$thumb.length) {
818
+ obj.$thumb = null;
819
+ }
820
+
821
+ obj.thumb = obj.opts.thumb || (obj.$thumb ? obj.$thumb[0].src : null);
822
+
823
+ // "caption" is a "special" option, it can be used to customize caption per gallery item
824
+ if ($.type(obj.opts.caption) === "function") {
825
+ obj.opts.caption = obj.opts.caption.apply(item, [self, obj]);
826
+ }
827
+
828
+ if ($.type(self.opts.caption) === "function") {
829
+ obj.opts.caption = self.opts.caption.apply(item, [self, obj]);
830
+ }
831
+
832
+ // Make sure we have caption as a string or jQuery object
833
+ if (!(obj.opts.caption instanceof $)) {
834
+ obj.opts.caption = obj.opts.caption === undefined ? "" : obj.opts.caption + "";
835
+ }
836
+
837
+ // Check if url contains "filter" used to filter the content
838
+ // Example: "ajax.html #something"
839
+ if (obj.type === "ajax") {
840
+ srcParts = src.split(/\s+/, 2);
841
+
842
+ if (srcParts.length > 1) {
843
+ obj.src = srcParts.shift();
844
+
845
+ obj.opts.filter = srcParts.shift();
846
+ }
847
+ }
848
+
849
+ // Hide all buttons and disable interactivity for modal items
850
+ if (obj.opts.modal) {
851
+ obj.opts = $.extend(true, obj.opts, {
852
+ trapFocus: true,
853
+ // Remove buttons
854
+ infobar: 0,
855
+ toolbar: 0,
856
+
857
+ smallBtn: 0,
858
+
859
+ // Disable keyboard navigation
860
+ keyboard: 0,
861
+
862
+ // Disable some modules
863
+ slideShow: 0,
864
+ fullScreen: 0,
865
+ thumbs: 0,
866
+ touch: 0,
867
+
868
+ // Disable click event handlers
869
+ clickContent: false,
870
+ clickSlide: false,
871
+ clickOutside: false,
872
+ dblclickContent: false,
873
+ dblclickSlide: false,
874
+ dblclickOutside: false
875
+ });
876
+ }
877
+
878
+ // Step 4 - Add processed object to group
879
+ // ======================================
880
+
881
+ self.group.push(obj);
882
+ });
883
+
884
+ // Update controls if gallery is already opened
885
+ if (Object.keys(self.slides).length) {
886
+ self.updateControls();
887
+
888
+ // Update thumbnails, if needed
889
+ thumbs = self.Thumbs;
890
+
891
+ if (thumbs && thumbs.isActive) {
892
+ thumbs.create();
893
+
894
+ thumbs.focus();
895
+ }
896
+ }
897
+ },
898
+
899
+ // Attach an event handler functions for:
900
+ // - navigation buttons
901
+ // - browser scrolling, resizing;
902
+ // - focusing
903
+ // - keyboard
904
+ // - detecting inactivity
905
+ // ======================================
906
+
907
+ addEvents: function () {
908
+ var self = this;
909
+
910
+ self.removeEvents();
911
+
912
+ // Make navigation elements clickable
913
+ // ==================================
914
+
915
+ self.$refs.container
916
+ .on("click.fb-close", "[data-fancybox-close]", function (e) {
917
+ e.stopPropagation();
918
+ e.preventDefault();
919
+
920
+ self.close(e);
921
+ })
922
+ .on("touchstart.fb-prev click.fb-prev", "[data-fancybox-prev]", function (e) {
923
+ e.stopPropagation();
924
+ e.preventDefault();
925
+
926
+ self.previous();
927
+ })
928
+ .on("touchstart.fb-next click.fb-next", "[data-fancybox-next]", function (e) {
929
+ e.stopPropagation();
930
+ e.preventDefault();
931
+
932
+ self.next();
933
+ })
934
+ .on("click.fb", "[data-fancybox-zoom]", function (e) {
935
+ // Click handler for zoom button
936
+ self[self.isScaledDown() ? "scaleToActual" : "scaleToFit"]();
937
+ });
938
+
939
+ // Handle page scrolling and browser resizing
940
+ // ==========================================
941
+
942
+ $W.on("orientationchange.fb resize.fb", function (e) {
943
+ if (e && e.originalEvent && e.originalEvent.type === "resize") {
944
+ if (self.requestId) {
945
+ cancelAFrame(self.requestId);
946
+ }
947
+
948
+ self.requestId = requestAFrame(function () {
949
+ self.update(e);
950
+ });
951
+ } else {
952
+ if (self.current && self.current.type === "iframe") {
953
+ self.$refs.stage.hide();
954
+ }
955
+
956
+ setTimeout(
957
+ function () {
958
+ self.$refs.stage.show();
959
+
960
+ self.update(e);
961
+ },
962
+ $.modulaFancybox.isMobile ? 600 : 250
963
+ );
964
+ }
965
+ });
966
+
967
+ $D.on("keydown.fb", function (e) {
968
+ var instance = $.modulaFancybox ? $.modulaFancybox.getInstance() : null,
969
+ current = instance.current,
970
+ keycode = e.keyCode || e.which;
971
+
972
+ // Trap keyboard focus inside of the modal
973
+ // =======================================
974
+
975
+ if (keycode == 9) {
976
+ if (current.opts.trapFocus) {
977
+ self.focus(e);
978
+ }
979
+
980
+ return;
981
+ }
982
+
983
+ // Enable keyboard navigation
984
+ // ==========================
985
+
986
+ if (!current.opts.keyboard || e.ctrlKey || e.altKey || e.shiftKey || $(e.target).is("input,textarea,video,audio,select")) {
987
+ return;
988
+ }
989
+
990
+ // Backspace and Esc keys
991
+ if (keycode === 8 || keycode === 27) {
992
+ e.preventDefault();
993
+
994
+ self.close(e);
995
+
996
+ return;
997
+ }
998
+
999
+ // Left arrow and Up arrow
1000
+ if (keycode === 37 || keycode === 38) {
1001
+ e.preventDefault();
1002
+
1003
+ self.previous();
1004
+
1005
+ return;
1006
+ }
1007
+
1008
+ // Righ arrow and Down arrow
1009
+ if (keycode === 39 || keycode === 40) {
1010
+ e.preventDefault();
1011
+
1012
+ self.next();
1013
+
1014
+ return;
1015
+ }
1016
+
1017
+ self.trigger("afterKeydown", e, keycode);
1018
+ });
1019
+
1020
+ // Hide controls after some inactivity period
1021
+ if (self.group[self.currIndex].opts.idleTime) {
1022
+ self.idleSecondsCounter = 0;
1023
+
1024
+ $D.on(
1025
+ "mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",
1026
+ function (e) {
1027
+ self.idleSecondsCounter = 0;
1028
+
1029
+ if (self.isIdle) {
1030
+ self.showControls();
1031
+ }
1032
+
1033
+ self.isIdle = false;
1034
+ }
1035
+ );
1036
+
1037
+ self.idleInterval = window.setInterval(function () {
1038
+ self.idleSecondsCounter++;
1039
+
1040
+ if (self.idleSecondsCounter >= self.group[self.currIndex].opts.idleTime && !self.isDragging) {
1041
+ self.isIdle = true;
1042
+ self.idleSecondsCounter = 0;
1043
+
1044
+ self.hideControls();
1045
+ }
1046
+ }, 1000);
1047
+ }
1048
+ },
1049
+
1050
+ // Remove events added by the core
1051
+ // ===============================
1052
+
1053
+ removeEvents: function () {
1054
+ var self = this;
1055
+
1056
+ $W.off("orientationchange.fb resize.fb");
1057
+ $D.off("keydown.fb .fb-idle");
1058
+
1059
+ this.$refs.container.off(".fb-close .fb-prev .fb-next");
1060
+
1061
+ if (self.idleInterval) {
1062
+ window.clearInterval(self.idleInterval);
1063
+
1064
+ self.idleInterval = null;
1065
+ }
1066
+ },
1067
+
1068
+ // Change to previous gallery item
1069
+ // ===============================
1070
+
1071
+ previous: function (duration) {
1072
+ return this.jumpTo(this.currPos - 1, duration);
1073
+ },
1074
+
1075
+ // Change to next gallery item
1076
+ // ===========================
1077
+
1078
+ next: function (duration) {
1079
+ return this.jumpTo(this.currPos + 1, duration);
1080
+ },
1081
+
1082
+ // Switch to selected gallery item
1083
+ // ===============================
1084
+
1085
+ jumpTo: function (pos, duration) {
1086
+ var self = this,
1087
+ groupLen = self.group.length,
1088
+ firstRun,
1089
+ isMoved,
1090
+ loop,
1091
+ current,
1092
+ previous,
1093
+ slidePos,
1094
+ stagePos,
1095
+ prop,
1096
+ diff;
1097
+
1098
+ if (self.isDragging || self.isClosing || (self.isAnimating && self.firstRun)) {
1099
+ return;
1100
+ }
1101
+
1102
+ // Should loop?
1103
+ pos = parseInt(pos, 10);
1104
+ loop = self.current ? self.current.opts.loop : self.opts.loop;
1105
+
1106
+ if (!loop && (pos < 0 || pos >= groupLen)) {
1107
+ return false;
1108
+ }
1109
+
1110
+ // Check if opening for the first time; this helps to speed things up
1111
+ firstRun = self.firstRun = !Object.keys(self.slides).length;
1112
+
1113
+ // Create slides
1114
+ previous = self.current;
1115
+
1116
+ self.prevIndex = self.currIndex;
1117
+ self.prevPos = self.currPos;
1118
+
1119
+ current = self.createSlide(pos);
1120
+
1121
+ if (groupLen > 1) {
1122
+ if (loop || current.index < groupLen - 1) {
1123
+ self.createSlide(pos + 1);
1124
+ }
1125
+
1126
+ if (loop || current.index > 0) {
1127
+ self.createSlide(pos - 1);
1128
+ }
1129
+ }
1130
+
1131
+ self.current = current;
1132
+ self.currIndex = current.index;
1133
+ self.currPos = current.pos;
1134
+
1135
+ self.trigger("beforeShow", firstRun);
1136
+
1137
+ self.updateControls();
1138
+
1139
+ // Validate duration length
1140
+ current.forcedDuration = undefined;
1141
+
1142
+ if ($.isNumeric(duration)) {
1143
+ current.forcedDuration = duration;
1144
+ } else {
1145
+ duration = current.opts[firstRun ? "animationDuration" : "transitionDuration"];
1146
+ }
1147
+
1148
+ duration = parseInt(duration, 10);
1149
+
1150
+ // Check if user has swiped the slides or if still animating
1151
+ isMoved = self.isMoved(current);
1152
+
1153
+ // Make sure current slide is visible
1154
+ current.$slide.addClass("modula-fancybox-slide--current");
1155
+
1156
+ // Fresh start - reveal container, current slide and start loading content
1157
+ if (firstRun) {
1158
+ if (current.opts.animationEffect && duration) {
1159
+ self.$refs.container.css("transition-duration", duration + "ms");
1160
+ }
1161
+
1162
+ self.$refs.container.addClass("modula-fancybox-is-open").trigger("focus");
1163
+
1164
+ // Attempt to load content into slide
1165
+ // This will later call `afterLoad` -> `revealContent`
1166
+ self.loadSlide(current);
1167
+
1168
+ self.preload("image");
1169
+
1170
+ return;
1171
+ }
1172
+
1173
+ // Get actual slide/stage positions (before cleaning up)
1174
+ slidePos = $.modulaFancybox.getTranslate(previous.$slide);
1175
+ stagePos = $.modulaFancybox.getTranslate(self.$refs.stage);
1176
+
1177
+ // Clean up all slides
1178
+ $.each(self.slides, function (index, slide) {
1179
+ $.modulaFancybox.stop(slide.$slide, true);
1180
+ });
1181
+
1182
+ if (previous.pos !== current.pos) {
1183
+ previous.isComplete = false;
1184
+ }
1185
+
1186
+ previous.$slide.removeClass("modula-fancybox-slide--complete modula-fancybox-slide--current");
1187
+
1188
+ // If slides are out of place, then animate them to correct position
1189
+ if (isMoved) {
1190
+ // Calculate horizontal swipe distance
1191
+ diff = slidePos.left - (previous.pos * slidePos.width + previous.pos * previous.opts.gutter);
1192
+
1193
+ $.each(self.slides, function (index, slide) {
1194
+ slide.$slide.removeClass("modula-fancybox-animated").removeClass(function (index, className) {
1195
+ return (className.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" ");
1196
+ });
1197
+
1198
+ // Make sure that each slide is in equal distance
1199
+ // This is mostly needed for freshly added slides, because they are not yet positioned
1200
+ var leftPos = slide.pos * slidePos.width + slide.pos * slide.opts.gutter;
1201
+
1202
+ $.modulaFancybox.setTranslate(slide.$slide, {
1203
+ top: 0,
1204
+ left: leftPos - stagePos.left + diff
1205
+ });
1206
+
1207
+ if (slide.pos !== current.pos) {
1208
+ slide.$slide.addClass("modula-fancybox-slide--" + (slide.pos > current.pos ? "next" : "previous"));
1209
+ }
1210
+
1211
+ // Redraw to make sure that transition will start
1212
+ forceRedraw(slide.$slide);
1213
+
1214
+ // Animate the slide
1215
+ $.modulaFancybox.animate(
1216
+ slide.$slide, {
1217
+ top: 0,
1218
+ left: (slide.pos - current.pos) * slidePos.width + (slide.pos - current.pos) * slide.opts.gutter
1219
+ },
1220
+ duration,
1221
+ function () {
1222
+ slide.$slide
1223
+ .css({
1224
+ transform: "",
1225
+ opacity: ""
1226
+ })
1227
+ .removeClass("modula-fancybox-slide--next modula-fancybox-slide--previous");
1228
+
1229
+ if (slide.pos === self.currPos) {
1230
+ self.complete();
1231
+ }
1232
+ }
1233
+ );
1234
+ });
1235
+ } else if (duration && current.opts.transitionEffect) {
1236
+ // Set transition effect for previously active slide
1237
+ prop = "modula-fancybox-animated modula-fancybox-fx-" + current.opts.transitionEffect;
1238
+
1239
+ previous.$slide.addClass("modula-fancybox-slide--" + (previous.pos > current.pos ? "next" : "previous"));
1240
+
1241
+ $.modulaFancybox.animate(
1242
+ previous.$slide,
1243
+ prop,
1244
+ duration,
1245
+ function () {
1246
+ previous.$slide.removeClass(prop).removeClass("modula-fancybox-slide--next modula-fancybox-slide--previous");
1247
+ },
1248
+ false
1249
+ );
1250
+ }
1251
+
1252
+ if (current.isLoaded) {
1253
+ self.revealContent(current);
1254
+ } else {
1255
+ self.loadSlide(current);
1256
+ }
1257
+
1258
+ self.preload("image");
1259
+ },
1260
+
1261
+ // Create new "slide" element
1262
+ // These are gallery items that are actually added to DOM
1263
+ // =======================================================
1264
+
1265
+ createSlide: function (pos) {
1266
+ var self = this,
1267
+ $slide,
1268
+ index;
1269
+
1270
+ index = pos % self.group.length;
1271
+ index = index < 0 ? self.group.length + index : index;
1272
+
1273
+ if (!self.slides[pos] && self.group[index]) {
1274
+ $slide = $('<div class="modula-fancybox-slide"></div>').appendTo(self.$refs.stage);
1275
+
1276
+ self.slides[pos] = $.extend(true, {}, self.group[index], {
1277
+ pos: pos,
1278
+ $slide: $slide,
1279
+ isLoaded: false
1280
+ });
1281
+
1282
+ self.updateSlide(self.slides[pos]);
1283
+ }
1284
+
1285
+ return self.slides[pos];
1286
+ },
1287
+
1288
+ // Scale image to the actual size of the image;
1289
+ // x and y values should be relative to the slide
1290
+ // ==============================================
1291
+
1292
+ scaleToActual: function (x, y, duration) {
1293
+ var self = this,
1294
+ current = self.current,
1295
+ $content = current.$content,
1296
+ canvasWidth = $.modulaFancybox.getTranslate(current.$slide).width,
1297
+ canvasHeight = $.modulaFancybox.getTranslate(current.$slide).height,
1298
+ newImgWidth = current.width,
1299
+ newImgHeight = current.height,
1300
+ imgPos,
1301
+ posX,
1302
+ posY,
1303
+ scaleX,
1304
+ scaleY;
1305
+
1306
+ if (self.isAnimating || self.isMoved() || !$content || !(current.type == "image" && current.isLoaded && !current.hasError)) {
1307
+ return;
1308
+ }
1309
+
1310
+ self.isAnimating = true;
1311
+
1312
+ $.modulaFancybox.stop($content);
1313
+
1314
+ x = x === undefined ? canvasWidth * 0.5 : x;
1315
+ y = y === undefined ? canvasHeight * 0.5 : y;
1316
+
1317
+ imgPos = $.modulaFancybox.getTranslate($content);
1318
+
1319
+ imgPos.top -= $.modulaFancybox.getTranslate(current.$slide).top;
1320
+ imgPos.left -= $.modulaFancybox.getTranslate(current.$slide).left;
1321
+
1322
+ scaleX = newImgWidth / imgPos.width;
1323
+ scaleY = newImgHeight / imgPos.height;
1324
+
1325
+ // Get center position for original image
1326
+ posX = canvasWidth * 0.5 - newImgWidth * 0.5;
1327
+ posY = canvasHeight * 0.5 - newImgHeight * 0.5;
1328
+
1329
+ // Make sure image does not move away from edges
1330
+ if (newImgWidth > canvasWidth) {
1331
+ posX = imgPos.left * scaleX - (x * scaleX - x);
1332
+
1333
+ if (posX > 0) {
1334
+ posX = 0;
1335
+ }
1336
+
1337
+ if (posX < canvasWidth - newImgWidth) {
1338
+ posX = canvasWidth - newImgWidth;
1339
+ }
1340
+ }
1341
+
1342
+ if (newImgHeight > canvasHeight) {
1343
+ posY = imgPos.top * scaleY - (y * scaleY - y);
1344
+
1345
+ if (posY > 0) {
1346
+ posY = 0;
1347
+ }
1348
+
1349
+ if (posY < canvasHeight - newImgHeight) {
1350
+ posY = canvasHeight - newImgHeight;
1351
+ }
1352
+ }
1353
+
1354
+ self.updateCursor(newImgWidth, newImgHeight);
1355
+
1356
+ $.modulaFancybox.animate(
1357
+ $content, {
1358
+ top: posY,
1359
+ left: posX,
1360
+ scaleX: scaleX,
1361
+ scaleY: scaleY
1362
+ },
1363
+ duration || 366,
1364
+ function () {
1365
+ self.isAnimating = false;
1366
+ }
1367
+ );
1368
+
1369
+ // Stop slideshow
1370
+ if (self.SlideShow && self.SlideShow.isActive) {
1371
+ self.SlideShow.stop();
1372
+ }
1373
+ },
1374
+
1375
+ // Scale image to fit inside parent element
1376
+ // ========================================
1377
+
1378
+ scaleToFit: function (duration) {
1379
+ var self = this,
1380
+ current = self.current,
1381
+ $content = current.$content,
1382
+ end;
1383
+
1384
+ if (self.isAnimating || self.isMoved() || !$content || !(current.type == "image" && current.isLoaded && !current.hasError)) {
1385
+ return;
1386
+ }
1387
+
1388
+ self.isAnimating = true;
1389
+
1390
+ $.modulaFancybox.stop($content);
1391
+
1392
+ end = self.getFitPos(current);
1393
+
1394
+ self.updateCursor(end.width, end.height);
1395
+
1396
+ $.modulaFancybox.animate(
1397
+ $content, {
1398
+ top: end.top,
1399
+ left: end.left,
1400
+ scaleX: end.width / $content.width(),
1401
+ scaleY: end.height / $content.height()
1402
+ },
1403
+ duration || 366,
1404
+ function () {
1405
+ self.isAnimating = false;
1406
+ }
1407
+ );
1408
+ },
1409
+
1410
+ // Calculate image size to fit inside viewport
1411
+ // ===========================================
1412
+
1413
+ getFitPos: function (slide) {
1414
+ var self = this,
1415
+ $content = slide.$content,
1416
+ $slide = slide.$slide,
1417
+ width = slide.width || slide.opts.width,
1418
+ height = slide.height || slide.opts.height,
1419
+ maxWidth,
1420
+ maxHeight,
1421
+ minRatio,
1422
+ aspectRatio,
1423
+ rez = {};
1424
+
1425
+ if (!slide.isLoaded || !$content || !$content.length) {
1426
+ return false;
1427
+ }
1428
+
1429
+ maxWidth = $.modulaFancybox.getTranslate(self.$refs.stage).width;
1430
+ maxHeight = $.modulaFancybox.getTranslate(self.$refs.stage).height;
1431
+
1432
+ maxWidth -=
1433
+ parseFloat($slide.css("paddingLeft")) +
1434
+ parseFloat($slide.css("paddingRight")) +
1435
+ parseFloat($content.css("marginLeft")) +
1436
+ parseFloat($content.css("marginRight"));
1437
+
1438
+ maxHeight -=
1439
+ parseFloat($slide.css("paddingTop")) +
1440
+ parseFloat($slide.css("paddingBottom")) +
1441
+ parseFloat($content.css("marginTop")) +
1442
+ parseFloat($content.css("marginBottom"));
1443
+
1444
+ if (!width || !height) {
1445
+ width = maxWidth;
1446
+ height = maxHeight;
1447
+ }
1448
+
1449
+ minRatio = Math.min(1, maxWidth / width, maxHeight / height);
1450
+
1451
+ width = minRatio * width;
1452
+ height = minRatio * height;
1453
+
1454
+ // Adjust width/height to precisely fit into container
1455
+ if (width > maxWidth - 0.5) {
1456
+ width = maxWidth;
1457
+ }
1458
+
1459
+ if (height > maxHeight - 0.5) {
1460
+ height = maxHeight;
1461
+ }
1462
+
1463
+ if (slide.type === "image") {
1464
+ rez.top = Math.floor((maxHeight - height) * 0.5) + parseFloat($slide.css("paddingTop"));
1465
+ rez.left = Math.floor((maxWidth - width) * 0.5) + parseFloat($slide.css("paddingLeft"));
1466
+ } else if (slide.contentType === "video") {
1467
+ // Force aspect ratio for the video
1468
+ // "I say the whole world must learn of our peaceful ways… by force!"
1469
+ aspectRatio = slide.opts.width && slide.opts.height ? width / height : slide.opts.ratio || 16 / 9;
1470
+
1471
+ if (height > width / aspectRatio) {
1472
+ height = width / aspectRatio;
1473
+ } else if (width > height * aspectRatio) {
1474
+ width = height * aspectRatio;
1475
+ }
1476
+ }
1477
+
1478
+ rez.width = width;
1479
+ rez.height = height;
1480
+
1481
+ return rez;
1482
+ },
1483
+
1484
+ // Update content size and position for all slides
1485
+ // ==============================================
1486
+
1487
+ update: function (e) {
1488
+ var self = this;
1489
+
1490
+ $.each(self.slides, function (key, slide) {
1491
+ self.updateSlide(slide, e);
1492
+ });
1493
+ },
1494
+
1495
+ // Update slide content position and size
1496
+ // ======================================
1497
+
1498
+ updateSlide: function (slide, e) {
1499
+ var self = this,
1500
+ $content = slide && slide.$content,
1501
+ width = slide.width || slide.opts.width,
1502
+ height = slide.height || slide.opts.height,
1503
+ $slide = slide.$slide;
1504
+
1505
+ // First, prevent caption overlap, if needed
1506
+ self.adjustCaption(slide);
1507
+
1508
+ // Then resize content to fit inside the slide
1509
+ if ($content && (width || height || slide.contentType === "video") && !slide.hasError) {
1510
+ $.modulaFancybox.stop($content);
1511
+
1512
+ $.modulaFancybox.setTranslate($content, self.getFitPos(slide));
1513
+
1514
+ if (slide.pos === self.currPos) {
1515
+ self.isAnimating = false;
1516
+
1517
+ self.updateCursor();
1518
+ }
1519
+ }
1520
+
1521
+ // Then some adjustments
1522
+ self.adjustLayout(slide);
1523
+
1524
+ if ($slide.length) {
1525
+ $slide.trigger("refresh");
1526
+
1527
+ if (slide.pos === self.currPos) {
1528
+ self.$refs.toolbar
1529
+ .add(self.$refs.navigation.find(".modula-fancybox-button--arrow_right"))
1530
+ .toggleClass("compensate-for-scrollbar", $slide.get(0).scrollHeight > $slide.get(0).clientHeight);
1531
+ }
1532
+ }
1533
+
1534
+ self.trigger("onUpdate", slide, e);
1535
+ },
1536
+
1537
+ // Horizontally center slide
1538
+ // =========================
1539
+
1540
+ centerSlide: function (duration) {
1541
+ var self = this,
1542
+ current = self.current,
1543
+ $slide = current.$slide;
1544
+
1545
+ if (self.isClosing || !current) {
1546
+ return;
1547
+ }
1548
+
1549
+ $slide.siblings().css({
1550
+ transform: "",
1551
+ opacity: ""
1552
+ });
1553
+
1554
+ $slide
1555
+ .parent()
1556
+ .children()
1557
+ .removeClass("modula-fancybox-slide--previous modula-fancybox-slide--next");
1558
+
1559
+ $.modulaFancybox.animate(
1560
+ $slide, {
1561
+ top: 0,
1562
+ left: 0,
1563
+ opacity: 1
1564
+ },
1565
+ duration === undefined ? 0 : duration,
1566
+ function () {
1567
+ // Clean up
1568
+ $slide.css({
1569
+ transform: "",
1570
+ opacity: ""
1571
+ });
1572
+
1573
+ if (!current.isComplete) {
1574
+ self.complete();
1575
+ }
1576
+ },
1577
+ false
1578
+ );
1579
+ },
1580
+
1581
+ // Check if current slide is moved (swiped)
1582
+ // ========================================
1583
+
1584
+ isMoved: function (slide) {
1585
+ var current = slide || this.current,
1586
+ slidePos,
1587
+ stagePos;
1588
+
1589
+ if (!current) {
1590
+ return false;
1591
+ }
1592
+
1593
+ stagePos = $.modulaFancybox.getTranslate(this.$refs.stage);
1594
+ slidePos = $.modulaFancybox.getTranslate(current.$slide);
1595
+
1596
+ return (
1597
+ !current.$slide.hasClass("modula-fancybox-animated") &&
1598
+ (Math.abs(slidePos.top - stagePos.top) > 0.5 || Math.abs(slidePos.left - stagePos.left) > 0.5)
1599
+ );
1600
+ },
1601
+
1602
+ // Update cursor style depending if content can be zoomed
1603
+ // ======================================================
1604
+
1605
+ updateCursor: function (nextWidth, nextHeight) {
1606
+ var self = this,
1607
+ current = self.current,
1608
+ $container = self.$refs.container,
1609
+ canPan,
1610
+ isZoomable;
1611
+
1612
+ if (!current || self.isClosing || !self.Guestures) {
1613
+ return;
1614
+ }
1615
+
1616
+ $container.removeClass("modula-fancybox-is-zoomable modula-fancybox-can-zoomIn modula-fancybox-can-zoomOut modula-fancybox-can-swipe modula-fancybox-can-pan");
1617
+
1618
+ canPan = self.canPan(nextWidth, nextHeight);
1619
+
1620
+ isZoomable = canPan ? true : self.isZoomable();
1621
+
1622
+ $container.toggleClass("modula-fancybox-is-zoomable", isZoomable);
1623
+
1624
+ $("[data-fancybox-zoom]").prop("disabled", !isZoomable);
1625
+
1626
+ if (canPan) {
1627
+ $container.addClass("modula-fancybox-can-pan");
1628
+ } else if (
1629
+ isZoomable &&
1630
+ (current.opts.clickContent === "zoom" || ($.isFunction(current.opts.clickContent) && current.opts.clickContent(current) == "zoom"))
1631
+ ) {
1632
+ $container.addClass("modula-fancybox-can-zoomIn");
1633
+ } else if (current.opts.touch && (current.opts.touch.vertical || self.group.length > 1) && current.contentType !== "video") {
1634
+ $container.addClass("modula-fancybox-can-swipe");
1635
+ }
1636
+ },
1637
+
1638
+ // Check if current slide is zoomable
1639
+ // ==================================
1640
+
1641
+ isZoomable: function () {
1642
+ var self = this,
1643
+ current = self.current,
1644
+ fitPos;
1645
+
1646
+ // Assume that slide is zoomable if:
1647
+ // - image is still loading
1648
+ // - actual size of the image is smaller than available area
1649
+ if (current && !self.isClosing && current.type === "image" && !current.hasError) {
1650
+ if (!current.isLoaded) {
1651
+ return true;
1652
+ }
1653
+
1654
+ fitPos = self.getFitPos(current);
1655
+
1656
+ if (fitPos && (current.width > fitPos.width || current.height > fitPos.height)) {
1657
+ return true;
1658
+ }
1659
+ }
1660
+
1661
+ return false;
1662
+ },
1663
+
1664
+ // Check if current image dimensions are smaller than actual
1665
+ // =========================================================
1666
+
1667
+ isScaledDown: function (nextWidth, nextHeight) {
1668
+ var self = this,
1669
+ rez = false,
1670
+ current = self.current,
1671
+ $content = current.$content;
1672
+
1673
+ if (nextWidth !== undefined && nextHeight !== undefined) {
1674
+ rez = nextWidth < current.width && nextHeight < current.height;
1675
+ } else if ($content) {
1676
+ rez = $.modulaFancybox.getTranslate($content);
1677
+ rez = rez.width < current.width && rez.height < current.height;
1678
+ }
1679
+
1680
+ return rez;
1681
+ },
1682
+
1683
+ // Check if image dimensions exceed parent element
1684
+ // ===============================================
1685
+
1686
+ canPan: function (nextWidth, nextHeight) {
1687
+ var self = this,
1688
+ current = self.current,
1689
+ pos = null,
1690
+ rez = false;
1691
+
1692
+ if (current.type === "image" && (current.isComplete || (nextWidth && nextHeight)) && !current.hasError) {
1693
+ rez = self.getFitPos(current);
1694
+
1695
+ if (nextWidth !== undefined && nextHeight !== undefined) {
1696
+ pos = {
1697
+ width: nextWidth,
1698
+ height: nextHeight
1699
+ };
1700
+ } else if (current.isComplete) {
1701
+ pos = $.modulaFancybox.getTranslate(current.$content);
1702
+ }
1703
+
1704
+ if (pos && rez) {
1705
+ rez = Math.abs(pos.width - rez.width) > 1.5 || Math.abs(pos.height - rez.height) > 1.5;
1706
+ }
1707
+ }
1708
+
1709
+ return rez;
1710
+ },
1711
+
1712
+ // Load content into the slide
1713
+ // ===========================
1714
+
1715
+ loadSlide: function (slide) {
1716
+ var self = this,
1717
+ type,
1718
+ $slide,
1719
+ ajaxLoad;
1720
+
1721
+ if (slide.isLoading || slide.isLoaded) {
1722
+ return;
1723
+ }
1724
+
1725
+ slide.isLoading = true;
1726
+
1727
+ if (self.trigger("beforeLoad", slide) === false) {
1728
+ slide.isLoading = false;
1729
+
1730
+ return false;
1731
+ }
1732
+
1733
+ type = slide.type;
1734
+ $slide = slide.$slide;
1735
+
1736
+ $slide
1737
+ .off("refresh")
1738
+ .trigger("onReset")
1739
+ .addClass(slide.opts.slideClass);
1740
+
1741
+ // Create content depending on the type
1742
+ switch (type) {
1743
+ case "image":
1744
+ self.setImage(slide);
1745
+
1746
+ break;
1747
+
1748
+ case "iframe":
1749
+ self.setIframe(slide);
1750
+
1751
+ break;
1752
+
1753
+ case "html":
1754
+ self.setContent(slide, slide.src || slide.content);
1755
+
1756
+ break;
1757
+
1758
+ case "video":
1759
+ self.setContent(
1760
+ slide,
1761
+ slide.opts.video.tpl
1762
+ .replace(/\{\{src\}\}/gi, slide.src)
1763
+ .replace("{{format}}", slide.opts.videoFormat || slide.opts.video.format || "")
1764
+ .replace("{{poster}}", slide.thumb || "")
1765
+ );
1766
+
1767
+ break;
1768
+
1769
+ case "inline":
1770
+ if ($(slide.src).length) {
1771
+ self.setContent(slide, $(slide.src));
1772
+ } else {
1773
+ self.setError(slide);
1774
+ }
1775
+
1776
+ break;
1777
+
1778
+ case "ajax":
1779
+ self.showLoading(slide);
1780
+
1781
+ ajaxLoad = $.ajax(
1782
+ $.extend({}, slide.opts.ajax.settings, {
1783
+ url: slide.src,
1784
+ success: function (data, textStatus) {
1785
+ if (textStatus === "success") {
1786
+ self.setContent(slide, data);
1787
+ }
1788
+ },
1789
+ error: function (jqXHR, textStatus) {
1790
+ if (jqXHR && textStatus !== "abort") {
1791
+ self.setError(slide);
1792
+ }
1793
+ }
1794
+ })
1795
+ );
1796
+
1797
+ $slide.one("onReset", function () {
1798
+ ajaxLoad.abort();
1799
+ });
1800
+
1801
+ break;
1802
+
1803
+ default:
1804
+ self.setError(slide);
1805
+
1806
+ break;
1807
+ }
1808
+
1809
+ return true;
1810
+ },
1811
+
1812
+ // Use thumbnail image, if possible
1813
+ // ================================
1814
+
1815
+ setImage: function (slide) {
1816
+ var self = this,
1817
+ ghost;
1818
+
1819
+ // Check if need to show loading icon
1820
+ setTimeout(function () {
1821
+ var $img = slide.$image;
1822
+
1823
+ if (!self.isClosing && slide.isLoading && (!$img || !$img.length || !$img[0].complete) && !slide.hasError) {
1824
+ self.showLoading(slide);
1825
+ }
1826
+ }, 50);
1827
+
1828
+ //Check if image has srcset
1829
+ self.checkSrcset(slide);
1830
+
1831
+ // This will be wrapper containing both ghost and actual image
1832
+ slide.$content = $('<div class="modula-fancybox-content"></div>')
1833
+ .addClass("modula-fancybox-is-hidden")
1834
+ .appendTo(slide.$slide.addClass("modula-fancybox-slide--image"));
1835
+
1836
+ // If we have a thumbnail, we can display it while actual image is loading
1837
+ // Users will not stare at black screen and actual image will appear gradually
1838
+ if (slide.opts.preload !== false && slide.opts.width && slide.opts.height && slide.thumb) {
1839
+ slide.width = slide.opts.width;
1840
+ slide.height = slide.opts.height;
1841
+
1842
+ ghost = document.createElement("img");
1843
+
1844
+ ghost.onerror = function () {
1845
+ $(this).remove();
1846
+
1847
+ slide.$ghost = null;
1848
+ };
1849
+
1850
+ ghost.onload = function () {
1851
+ self.afterLoad(slide);
1852
+ };
1853
+
1854
+ slide.$ghost = $(ghost)
1855
+ .addClass("modula-fancybox-image")
1856
+ .appendTo(slide.$content)
1857
+ .attr("src", slide.thumb);
1858
+
1859
+ if ( 'undifined' != typeof slide.src ) {
1860
+ slide.$ghost.attr( "alt", slide.alt );
1861
+ }
1862
+
1863
+ }
1864
+
1865
+ // Start loading actual image
1866
+ self.setBigImage(slide);
1867
+ },
1868
+
1869
+ // Check if image has srcset and get the source
1870
+ // ============================================
1871
+ checkSrcset: function (slide) {
1872
+ var srcset = slide.opts.srcset || slide.opts.image.srcset,
1873
+ found,
1874
+ temp,
1875
+ pxRatio,
1876
+ windowWidth;
1877
+
1878
+ // If we have "srcset", then we need to find first matching "src" value.
1879
+ // This is necessary, because when you set an src attribute, the browser will preload the image
1880
+ // before any javascript or even CSS is applied.
1881
+ if (srcset) {
1882
+ pxRatio = window.devicePixelRatio || 1;
1883
+ windowWidth = window.innerWidth * pxRatio;
1884
+
1885
+ temp = srcset.split(",").map(function (el) {
1886
+ var ret = {};
1887
+
1888
+ el.trim()
1889
+ .split(/\s+/)
1890
+ .forEach(function (el, i) {
1891
+ var value = parseInt(el.substring(0, el.length - 1), 10);
1892
+
1893
+ if (i === 0) {
1894
+ return (ret.url = el);
1895
+ }
1896
+
1897
+ if (value) {
1898
+ ret.value = value;
1899
+ ret.postfix = el[el.length - 1];
1900
+ }
1901
+ });
1902
+
1903
+ return ret;
1904
+ });
1905
+
1906
+ // Sort by value
1907
+ temp.sort(function (a, b) {
1908
+ return a.value - b.value;
1909
+ });
1910
+
1911
+ // Ok, now we have an array of all srcset values
1912
+ for (var j = 0; j < temp.length; j++) {
1913
+ var el = temp[j];
1914
+
1915
+ if ((el.postfix === "w" && el.value >= windowWidth) || (el.postfix === "x" && el.value >= pxRatio)) {
1916
+ found = el;
1917
+ break;
1918
+ }
1919
+ }
1920
+
1921
+ // If not found, take the last one
1922
+ if (!found && temp.length) {
1923
+ found = temp[temp.length - 1];
1924
+ }
1925
+
1926
+ if (found) {
1927
+ slide.src = found.url;
1928
+
1929
+ // If we have default width/height values, we can calculate height for matching source
1930
+ if (slide.width && slide.height && found.postfix == "w") {
1931
+ slide.height = (slide.width / slide.height) * found.value;
1932
+ slide.width = found.value;
1933
+ }
1934
+
1935
+ slide.opts.srcset = srcset;
1936
+ }
1937
+ }
1938
+ },
1939
+
1940
+ // Create full-size image
1941
+ // ======================
1942
+
1943
+ setBigImage: function (slide) {
1944
+ var self = this,
1945
+ img = document.createElement("img"),
1946
+ $img = $(img);
1947
+
1948
+ slide.$image = $img
1949
+ .one("error", function () {
1950
+ self.setError(slide);
1951
+ })
1952
+ .one("load", function () {
1953
+ var sizes;
1954
+
1955
+ if (!slide.$ghost) {
1956
+ self.resolveImageSlideSize(slide, this.naturalWidth, this.naturalHeight);
1957
+
1958
+ self.afterLoad(slide);
1959
+ }
1960
+
1961
+ if (self.isClosing) {
1962
+ return;
1963
+ }
1964
+
1965
+ if (slide.opts.srcset) {
1966
+ sizes = slide.opts.sizes;
1967
+
1968
+ if (!sizes || sizes === "auto") {
1969
+ sizes =
1970
+ (slide.width / slide.height > 1 && $W.width() / $W.height() > 1 ? "100" : Math.round((slide.width / slide.height) * 100)) +
1971
+ "vw";
1972
+ }
1973
+
1974
+ $img.attr("sizes", sizes).attr("srcset", slide.opts.srcset);
1975
+ }
1976
+
1977
+ // Add alt to image
1978
+ if ( slide.opts.alt ) {
1979
+ $img.attr( 'alt', slide.opts.alt );
1980
+ }
1981
+
1982
+ // Hide temporary image after some delay
1983
+ if (slide.$ghost) {
1984
+ setTimeout(function () {
1985
+ if (slide.$ghost && !self.isClosing) {
1986
+ slide.$ghost.hide();
1987
+ }
1988
+ }, Math.min(300, Math.max(1000, slide.height / 1600)));
1989
+ }
1990
+
1991
+ self.hideLoading(slide);
1992
+ })
1993
+ .addClass("modula-fancybox-image")
1994
+ .attr("src", slide.src)
1995
+ .appendTo(slide.$content);
1996
+
1997
+
1998
+ if ((img.complete || img.readyState == "complete") && $img.naturalWidth && $img.naturalHeight) {
1999
+ $img.trigger("load");
2000
+ } else if (img.error) {
2001
+ $img.trigger("error");
2002
+ }
2003
+ },
2004
+
2005
+ // Computes the slide size from image size and maxWidth/maxHeight
2006
+ // ==============================================================
2007
+
2008
+ resolveImageSlideSize: function (slide, imgWidth, imgHeight) {
2009
+ var maxWidth = parseInt(slide.opts.width, 10),
2010
+ maxHeight = parseInt(slide.opts.height, 10);
2011
+
2012
+ // Sets the default values from the image
2013
+ slide.width = imgWidth;
2014
+ slide.height = imgHeight;
2015
+
2016
+ if (maxWidth > 0) {
2017
+ slide.width = maxWidth;
2018
+ slide.height = Math.floor((maxWidth * imgHeight) / imgWidth);
2019
+ }
2020
+
2021
+ if (maxHeight > 0) {
2022
+ slide.width = Math.floor((maxHeight * imgWidth) / imgHeight);
2023
+ slide.height = maxHeight;
2024
+ }
2025
+ },
2026
+
2027
+ // Create iframe wrapper, iframe and bindings
2028
+ // ==========================================
2029
+
2030
+ setIframe: function (slide) {
2031
+ var self = this,
2032
+ opts = slide.opts.iframe,
2033
+ $slide = slide.$slide,
2034
+ $iframe;
2035
+
2036
+ slide.$content = $('<div class="modula-fancybox-content' + (opts.preload ? " modula-fancybox-is-hidden" : "") + '"></div>')
2037
+ .css(opts.css)
2038
+ .appendTo($slide);
2039
+
2040
+ $slide.addClass("modula-fancybox-slide--" + slide.contentType);
2041
+
2042
+ slide.$iframe = $iframe = $(opts.tpl.replace(/\{rnd\}/g, new Date().getTime()))
2043
+ .attr(opts.attr)
2044
+ .appendTo(slide.$content);
2045
+
2046
+ if (opts.preload) {
2047
+ self.showLoading(slide);
2048
+
2049
+ // Unfortunately, it is not always possible to determine if iframe is successfully loaded
2050
+ // (due to browser security policy)
2051
+
2052
+ $iframe.on("load.fb error.fb", function (e) {
2053
+ this.isReady = 1;
2054
+
2055
+ slide.$slide.trigger("refresh");
2056
+
2057
+ self.afterLoad(slide);
2058
+ });
2059
+
2060
+ // Recalculate iframe content size
2061
+ // ===============================
2062
+
2063
+ $slide.on("refresh.fb", function () {
2064
+ var $content = slide.$content,
2065
+ frameWidth = opts.css.width,
2066
+ frameHeight = opts.css.height,
2067
+ $contents,
2068
+ $body;
2069
+
2070
+ if ($iframe[0].isReady !== 1) {
2071
+ return;
2072
+ }
2073
+
2074
+ try {
2075
+ $contents = $iframe.contents();
2076
+ $body = $contents.find("body");
2077
+ } catch (ignore) {}
2078
+
2079
+ // Calculate content dimensions, if it is accessible
2080
+ if ($body && $body.length && $body.children().length) {
2081
+ // Avoid scrolling to top (if multiple instances)
2082
+ $slide.css("overflow", "visible");
2083
+
2084
+ $content.css({
2085
+ width: "100%",
2086
+ "max-width": "100%",
2087
+ height: "9999px"
2088
+ });
2089
+
2090
+ if (frameWidth === undefined) {
2091
+ frameWidth = Math.ceil(Math.max($body[0].clientWidth, $body.outerWidth(true)));
2092
+ }
2093
+
2094
+ $content.css("width", frameWidth ? frameWidth : "").css("max-width", "");
2095
+
2096
+ if (frameHeight === undefined) {
2097
+ frameHeight = Math.ceil(Math.max($body[0].clientHeight, $body.outerHeight(true)));
2098
+ }
2099
+
2100
+ $content.css("height", frameHeight ? frameHeight : "");
2101
+
2102
+ $slide.css("overflow", "auto");
2103
+ }
2104
+
2105
+ $content.removeClass("modula-fancybox-is-hidden");
2106
+ });
2107
+ } else {
2108
+ self.afterLoad(slide);
2109
+ }
2110
+
2111
+ $iframe.attr("src", slide.src);
2112
+
2113
+ // Remove iframe if closing or changing gallery item
2114
+ $slide.one("onReset", function () {
2115
+ // This helps IE not to throw errors when closing
2116
+ try {
2117
+ $(this)
2118
+ .find("iframe")
2119
+ .hide()
2120
+ .unbind()
2121
+ .attr("src", "//about:blank");
2122
+ } catch (ignore) {}
2123
+
2124
+ $(this)
2125
+ .off("refresh.fb")
2126
+ .empty();
2127
+
2128
+ slide.isLoaded = false;
2129
+ slide.isRevealed = false;
2130
+ });
2131
+ },
2132
+
2133
+ // Wrap and append content to the slide
2134
+ // ======================================
2135
+
2136
+ setContent: function (slide, content) {
2137
+ var self = this;
2138
+
2139
+ if (self.isClosing) {
2140
+ return;
2141
+ }
2142
+
2143
+ self.hideLoading(slide);
2144
+
2145
+ if (slide.$content) {
2146
+ $.modulaFancybox.stop(slide.$content);
2147
+ }
2148
+
2149
+ slide.$slide.empty();
2150
+
2151
+ // If content is a jQuery object, then it will be moved to the slide.
2152
+ // The placeholder is created so we will know where to put it back.
2153
+ if (isQuery(content) && content.parent().length) {
2154
+ // Make sure content is not already moved to fancyBox
2155
+ if (content.hasClass("modula-fancybox-content") || content.parent().hasClass("modula-fancybox-content")) {
2156
+ content.parents(".modula-fancybox-slide").trigger("onReset");
2157
+ }
2158
+
2159
+ // Create temporary element marking original place of the content
2160
+ slide.$placeholder = $("<div>")
2161
+ .hide()
2162
+ .insertAfter(content);
2163
+
2164
+ // Make sure content is visible
2165
+ content.css("display", "inline-block");
2166
+ } else if (!slide.hasError) {
2167
+ // If content is just a plain text, try to convert it to html
2168
+ if ($.type(content) === "string") {
2169
+ content = $("<div>")
2170
+ .append($.trim(content))
2171
+ .contents();
2172
+ }
2173
+
2174
+ // If "filter" option is provided, then filter content
2175
+ if (slide.opts.filter) {
2176
+ content = $("<div>")
2177
+ .html(content)
2178
+ .find(slide.opts.filter);
2179
+ }
2180
+ }
2181
+
2182
+ slide.$slide.one("onReset", function () {
2183
+ // Pause all html5 video/audio
2184
+ $(this)
2185
+ .find("video,audio")
2186
+ .trigger("pause");
2187
+
2188
+ // Put content back
2189
+ if (slide.$placeholder) {
2190
+ slide.$placeholder.after(content.removeClass("modula-fancybox-content").hide()).remove();
2191
+
2192
+ slide.$placeholder = null;
2193
+ }
2194
+
2195
+ // Remove custom close button
2196
+ if (slide.$smallBtn) {
2197
+ slide.$smallBtn.remove();
2198
+
2199
+ slide.$smallBtn = null;
2200
+ }
2201
+
2202
+ // Remove content and mark slide as not loaded
2203
+ if (!slide.hasError) {
2204
+ $(this).empty();
2205
+
2206
+ slide.isLoaded = false;
2207
+ slide.isRevealed = false;
2208
+ }
2209
+ });
2210
+
2211
+ $(content).appendTo(slide.$slide);
2212
+
2213
+ if ($(content).is("video,audio")) {
2214
+ $(content).addClass("modula-fancybox-video");
2215
+
2216
+ $(content).wrap("<div></div>");
2217
+
2218
+ slide.contentType = "video";
2219
+
2220
+ slide.opts.width = slide.opts.width || $(content).attr("width");
2221
+ slide.opts.height = slide.opts.height || $(content).attr("height");
2222
+ }
2223
+
2224
+ slide.$content = slide.$slide
2225
+ .children()
2226
+ .filter("div,form,main,video,audio,article,.modula-fancybox-content")
2227
+ .first();
2228
+
2229
+ slide.$content.siblings().hide();
2230
+
2231
+ // Re-check if there is a valid content
2232
+ // (in some cases, ajax response can contain various elements or plain text)
2233
+ if (!slide.$content.length) {
2234
+ slide.$content = slide.$slide
2235
+ .wrapInner("<div></div>")
2236
+ .children()
2237
+ .first();
2238
+ }
2239
+
2240
+ slide.$content.addClass("modula-fancybox-content");
2241
+
2242
+ slide.$slide.addClass("modula-fancybox-slide--" + slide.contentType);
2243
+
2244
+ self.afterLoad(slide);
2245
+ },
2246
+
2247
+ // Display error message
2248
+ // =====================
2249
+
2250
+ setError: function (slide) {
2251
+ slide.hasError = true;
2252
+
2253
+ slide.$slide
2254
+ .trigger("onReset")
2255
+ .removeClass("modula-fancybox-slide--" + slide.contentType)
2256
+ .addClass("modula-fancybox-slide--error");
2257
+
2258
+ slide.contentType = "html";
2259
+
2260
+ this.setContent(slide, this.translate(slide, slide.opts.errorTpl));
2261
+
2262
+ if (slide.pos === this.currPos) {
2263
+ this.isAnimating = false;
2264
+ }
2265
+ },
2266
+
2267
+ // Show loading icon inside the slide
2268
+ // ==================================
2269
+
2270
+ showLoading: function (slide) {
2271
+ var self = this;
2272
+
2273
+ slide = slide || self.current;
2274
+
2275
+ if (slide && !slide.$spinner) {
2276
+ slide.$spinner = $(self.translate(self, self.opts.spinnerTpl))
2277
+ .appendTo(slide.$slide)
2278
+ .hide()
2279
+ .fadeIn("fast");
2280
+ }
2281
+ },
2282
+
2283
+ // Remove loading icon from the slide
2284
+ // ==================================
2285
+
2286
+ hideLoading: function (slide) {
2287
+ var self = this;
2288
+
2289
+ slide = slide || self.current;
2290
+
2291
+ if (slide && slide.$spinner) {
2292
+ slide.$spinner.stop().remove();
2293
+
2294
+ delete slide.$spinner;
2295
+ }
2296
+ },
2297
+
2298
+ // Adjustments after slide content has been loaded
2299
+ // ===============================================
2300
+
2301
+ afterLoad: function (slide) {
2302
+ var self = this;
2303
+
2304
+ if (self.isClosing) {
2305
+ return;
2306
+ }
2307
+
2308
+ slide.isLoading = false;
2309
+ slide.isLoaded = true;
2310
+
2311
+ self.trigger("afterLoad", slide);
2312
+
2313
+ self.hideLoading(slide);
2314
+
2315
+ // Add small close button
2316
+ if (slide.opts.smallBtn && (!slide.$smallBtn || !slide.$smallBtn.length)) {
2317
+ slide.$smallBtn = $(self.translate(slide, slide.opts.btnTpl.smallBtn)).appendTo(slide.$content);
2318
+ }
2319
+
2320
+ // Disable right click
2321
+ if (slide.opts.protect && slide.$content && !slide.hasError) {
2322
+ slide.$content.on("contextmenu.fb", function (e) {
2323
+ if (e.button == 2) {
2324
+ e.preventDefault();
2325
+ }
2326
+
2327
+ return true;
2328
+ });
2329
+
2330
+ // Add fake element on top of the image
2331
+ // This makes a bit harder for user to select image
2332
+ if (slide.type === "image") {
2333
+ $('<div class="modula-fancybox-spaceball"></div>').appendTo(slide.$content);
2334
+ }
2335
+ }
2336
+
2337
+ self.adjustCaption(slide);
2338
+
2339
+ self.adjustLayout(slide);
2340
+
2341
+ if (slide.pos === self.currPos) {
2342
+ self.updateCursor();
2343
+ }
2344
+
2345
+ self.revealContent(slide);
2346
+ },
2347
+
2348
+ // Prevent caption overlap,
2349
+ // fix css inconsistency across browsers
2350
+ // =====================================
2351
+
2352
+ adjustCaption: function (slide) {
2353
+ var self = this,
2354
+ current = slide || self.current,
2355
+ caption = current.opts.caption,
2356
+ preventOverlap = current.opts.preventCaptionOverlap,
2357
+ $caption = self.$refs.caption,
2358
+ $clone,
2359
+ captionH = false;
2360
+
2361
+ $caption.toggleClass("modula-fancybox-caption--separate", preventOverlap);
2362
+
2363
+ if (preventOverlap && caption && caption.length) {
2364
+ if (current.pos !== self.currPos) {
2365
+ $clone = $caption.clone().appendTo($caption.parent());
2366
+
2367
+ $clone
2368
+ .children()
2369
+ .eq(0)
2370
+ .empty()
2371
+ .html(caption);
2372
+
2373
+ captionH = $clone.outerHeight(true);
2374
+
2375
+ $clone.empty().remove();
2376
+ } else if (self.$caption) {
2377
+ captionH = self.$caption.outerHeight(true);
2378
+ }
2379
+
2380
+ current.$slide.css("padding-bottom", captionH || "");
2381
+ }
2382
+ },
2383
+
2384
+ // Simple hack to fix inconsistency across browsers, described here (affects Edge, too):
2385
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=748518
2386
+ // ====================================================================================
2387
+
2388
+ adjustLayout: function (slide) {
2389
+ var self = this,
2390
+ current = slide || self.current,
2391
+ scrollHeight,
2392
+ marginBottom,
2393
+ inlinePadding,
2394
+ actualPadding;
2395
+
2396
+ if (current.isLoaded && current.opts.disableLayoutFix !== true) {
2397
+ current.$content.css("margin-bottom", "");
2398
+
2399
+ // If we would always set margin-bottom for the content,
2400
+ // then it would potentially break vertical align
2401
+ if (current.$content.outerHeight() > current.$slide.height() + 0.5) {
2402
+ inlinePadding = current.$slide[0].style["padding-bottom"];
2403
+ actualPadding = current.$slide.css("padding-bottom");
2404
+
2405
+ if (parseFloat(actualPadding) > 0) {
2406
+ scrollHeight = current.$slide[0].scrollHeight;
2407
+
2408
+ current.$slide.css("padding-bottom", 0);
2409
+
2410
+ if (Math.abs(scrollHeight - current.$slide[0].scrollHeight) < 1) {
2411
+ marginBottom = actualPadding;
2412
+ }
2413
+
2414
+ current.$slide.css("padding-bottom", inlinePadding);
2415
+ }
2416
+ }
2417
+
2418
+ current.$content.css("margin-bottom", marginBottom);
2419
+ }
2420
+ },
2421
+
2422
+ // Make content visible
2423
+ // This method is called right after content has been loaded or
2424
+ // user navigates gallery and transition should start
2425
+ // ============================================================
2426
+
2427
+ revealContent: function (slide) {
2428
+ var self = this,
2429
+ $slide = slide.$slide,
2430
+ end = false,
2431
+ start = false,
2432
+ isMoved = self.isMoved(slide),
2433
+ isRevealed = slide.isRevealed,
2434
+ effect,
2435
+ effectClassName,
2436
+ duration,
2437
+ opacity;
2438
+
2439
+ slide.isRevealed = true;
2440
+
2441
+ effect = slide.opts[self.firstRun ? "animationEffect" : "transitionEffect"];
2442
+ duration = slide.opts[self.firstRun ? "animationDuration" : "transitionDuration"];
2443
+
2444
+ duration = parseInt(slide.forcedDuration === undefined ? duration : slide.forcedDuration, 10);
2445
+
2446
+ if (isMoved || slide.pos !== self.currPos || !duration) {
2447
+ effect = false;
2448
+ }
2449
+
2450
+ // Check if can zoom
2451
+ if (effect === "zoom") {
2452
+ if (slide.pos === self.currPos && duration && slide.type === "image" && !slide.hasError && (start = self.getThumbPos(slide))) {
2453
+ end = self.getFitPos(slide);
2454
+ } else {
2455
+ effect = "fade";
2456
+ }
2457
+ }
2458
+
2459
+ // Zoom animation
2460
+ // ==============
2461
+ if (effect === "zoom") {
2462
+ self.isAnimating = true;
2463
+
2464
+ end.scaleX = end.width / start.width;
2465
+ end.scaleY = end.height / start.height;
2466
+
2467
+ // Check if we need to animate opacity
2468
+ opacity = slide.opts.zoomOpacity;
2469
+
2470
+ if (opacity == "auto") {
2471
+ opacity = Math.abs(slide.width / slide.height - start.width / start.height) > 0.1;
2472
+ }
2473
+
2474
+ if (opacity) {
2475
+ start.opacity = 0.1;
2476
+ end.opacity = 1;
2477
+ }
2478
+
2479
+ // Draw image at start position
2480
+ $.modulaFancybox.setTranslate(slide.$content.removeClass("modula-fancybox-is-hidden"), start);
2481
+
2482
+ forceRedraw(slide.$content);
2483
+
2484
+ // Start animation
2485
+ $.modulaFancybox.animate(slide.$content, end, duration, function () {
2486
+ self.isAnimating = false;
2487
+
2488
+ self.complete();
2489
+ });
2490
+
2491
+ return;
2492
+ }
2493
+
2494
+ self.updateSlide(slide);
2495
+
2496
+ // Simply show content if no effect
2497
+ // ================================
2498
+ if (!effect) {
2499
+ slide.$content.removeClass("modula-fancybox-is-hidden");
2500
+
2501
+ if (!isRevealed && isMoved && slide.type === "image" && !slide.hasError) {
2502
+ slide.$content.hide().fadeIn("fast");
2503
+ }
2504
+
2505
+ if (slide.pos === self.currPos) {
2506
+ self.complete();
2507
+ }
2508
+
2509
+ return;
2510
+ }
2511
+
2512
+ // Prepare for CSS transiton
2513
+ // =========================
2514
+ $.modulaFancybox.stop($slide);
2515
+
2516
+ //effectClassName = "fancybox-animated fancybox-slide--" + (slide.pos >= self.prevPos ? "next" : "previous") + " fancybox-fx-" + effect;
2517
+ effectClassName = "modula-fancybox-slide--" + (slide.pos >= self.prevPos ? "next" : "previous") + " modula-fancybox-animated fancybox-fx-" + effect;
2518
+
2519
+ $slide.addClass(effectClassName).removeClass("modula-fancybox-slide--current"); //.addClass(effectClassName);
2520
+
2521
+ slide.$content.removeClass("modula-fancybox-is-hidden");
2522
+
2523
+ // Force reflow
2524
+ forceRedraw($slide);
2525
+
2526
+ if (slide.type !== "image") {
2527
+ slide.$content.hide().show(0);
2528
+ }
2529
+
2530
+ $.modulaFancybox.animate(
2531
+ $slide,
2532
+ "modula-fancybox-slide--current",
2533
+ duration,
2534
+ function () {
2535
+ $slide.removeClass(effectClassName).css({
2536
+ transform: "",
2537
+ opacity: ""
2538
+ });
2539
+
2540
+ if (slide.pos === self.currPos) {
2541
+ self.complete();
2542
+ }
2543
+ },
2544
+ true
2545
+ );
2546
+ },
2547
+
2548
+ // Check if we can and have to zoom from thumbnail
2549
+ //================================================
2550
+
2551
+ getThumbPos: function (slide) {
2552
+ var rez = false,
2553
+ $thumb = slide.$thumb,
2554
+ thumbPos,
2555
+ btw,
2556
+ brw,
2557
+ bbw,
2558
+ blw;
2559
+
2560
+ if (!$thumb || !inViewport($thumb[0])) {
2561
+ return false;
2562
+ }
2563
+
2564
+ thumbPos = $.modulaFancybox.getTranslate($thumb);
2565
+
2566
+ btw = parseFloat($thumb.css("border-top-width") || 0);
2567
+ brw = parseFloat($thumb.css("border-right-width") || 0);
2568
+ bbw = parseFloat($thumb.css("border-bottom-width") || 0);
2569
+ blw = parseFloat($thumb.css("border-left-width") || 0);
2570
+
2571
+ rez = {
2572
+ top: thumbPos.top + btw,
2573
+ left: thumbPos.left + blw,
2574
+ width: thumbPos.width - brw - blw,
2575
+ height: thumbPos.height - btw - bbw,
2576
+ scaleX: 1,
2577
+ scaleY: 1
2578
+ };
2579
+
2580
+ return thumbPos.width > 0 && thumbPos.height > 0 ? rez : false;
2581
+ },
2582
+
2583
+ // Final adjustments after current gallery item is moved to position
2584
+ // and it`s content is loaded
2585
+ // ==================================================================
2586
+
2587
+ complete: function () {
2588
+ var self = this,
2589
+ current = self.current,
2590
+ slides = {},
2591
+ $el;
2592
+
2593
+ if (self.isMoved() || !current.isLoaded) {
2594
+ return;
2595
+ }
2596
+
2597
+ if (!current.isComplete) {
2598
+ current.isComplete = true;
2599
+
2600
+ current.$slide.siblings().trigger("onReset");
2601
+
2602
+ self.preload("inline");
2603
+
2604
+ // Trigger any CSS transiton inside the slide
2605
+ forceRedraw(current.$slide);
2606
+
2607
+ current.$slide.addClass("modula-fancybox-slide--complete");
2608
+
2609
+ // Remove unnecessary slides
2610
+ $.each(self.slides, function (key, slide) {
2611
+ if (slide.pos >= self.currPos - 1 && slide.pos <= self.currPos + 1) {
2612
+ slides[slide.pos] = slide;
2613
+ } else if (slide) {
2614
+ $.modulaFancybox.stop(slide.$slide);
2615
+
2616
+ slide.$slide.off().remove();
2617
+ }
2618
+ });
2619
+
2620
+ self.slides = slides;
2621
+ }
2622
+
2623
+ self.isAnimating = false;
2624
+
2625
+ self.updateCursor();
2626
+
2627
+ self.trigger("afterShow");
2628
+
2629
+ // Autoplay first html5 video/audio
2630
+ if (!!current.opts.video.autoStart) {
2631
+ current.$slide
2632
+ .find("video,audio")
2633
+ .filter(":visible:first")
2634
+ .trigger("play")
2635
+ .one("ended", function () {
2636
+ if (Document.exitFullscreen) {
2637
+ Document.exitFullscreen();
2638
+ } else if (this.webkitExitFullscreen) {
2639
+ this.webkitExitFullscreen();
2640
+ }
2641
+
2642
+ self.next();
2643
+ });
2644
+ }
2645
+
2646
+ // Try to focus on the first focusable element
2647
+ if (current.opts.autoFocus && current.contentType === "html") {
2648
+ // Look for the first input with autofocus attribute
2649
+ $el = current.$content.find("input[autofocus]:enabled:visible:first");
2650
+
2651
+ if ($el.length) {
2652
+ $el.trigger("focus");
2653
+ } else {
2654
+ self.focus(null, true);
2655
+ }
2656
+ }
2657
+
2658
+ // Avoid jumping
2659
+ current.$slide.scrollTop(0).scrollLeft(0);
2660
+ },
2661
+
2662
+ // Preload next and previous slides
2663
+ // ================================
2664
+
2665
+ preload: function (type) {
2666
+ var self = this,
2667
+ prev,
2668
+ next;
2669
+
2670
+ if (self.group.length < 2) {
2671
+ return;
2672
+ }
2673
+
2674
+ next = self.slides[self.currPos + 1];
2675
+ prev = self.slides[self.currPos - 1];
2676
+
2677
+ if (prev && prev.type === type) {
2678
+ self.loadSlide(prev);
2679
+ }
2680
+
2681
+ if (next && next.type === type) {
2682
+ self.loadSlide(next);
2683
+ }
2684
+ },
2685
+
2686
+ // Try to find and focus on the first focusable element
2687
+ // ====================================================
2688
+
2689
+ focus: function (e, firstRun) {
2690
+ var self = this,
2691
+ focusableStr = [
2692
+ "a[href]",
2693
+ "area[href]",
2694
+ 'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',
2695
+ "select:not([disabled]):not([aria-hidden])",
2696
+ "textarea:not([disabled]):not([aria-hidden])",
2697
+ "button:not([disabled]):not([aria-hidden])",
2698
+ "iframe",
2699
+ "object",
2700
+ "embed",
2701
+ "video",
2702
+ "audio",
2703
+ "[contenteditable]",
2704
+ '[tabindex]:not([tabindex^="-"])'
2705
+ ].join(","),
2706
+ focusableItems,
2707
+ focusedItemIndex;
2708
+
2709
+ if (self.isClosing) {
2710
+ return;
2711
+ }
2712
+
2713
+ if (e || !self.current || !self.current.isComplete) {
2714
+ // Focus on any element inside fancybox
2715
+ focusableItems = self.$refs.container.find("*:visible");
2716
+ } else {
2717
+ // Focus inside current slide
2718
+ focusableItems = self.current.$slide.find("*:visible" + (firstRun ? ":not(.modula-fancybox-close-small)" : ""));
2719
+ }
2720
+
2721
+ focusableItems = focusableItems.filter(focusableStr).filter(function () {
2722
+ return $(this).css("visibility") !== "hidden" && !$(this).hasClass("disabled");
2723
+ });
2724
+
2725
+ if (focusableItems.length) {
2726
+ focusedItemIndex = focusableItems.index(document.activeElement);
2727
+
2728
+ if (e && e.shiftKey) {
2729
+ // Back tab
2730
+ if (focusedItemIndex < 0 || focusedItemIndex == 0) {
2731
+ e.preventDefault();
2732
+
2733
+ focusableItems.eq(focusableItems.length - 1).trigger("focus");
2734
+ }
2735
+ } else {
2736
+ // Outside or Forward tab
2737
+ if (focusedItemIndex < 0 || focusedItemIndex == focusableItems.length - 1) {
2738
+ if (e) {
2739
+ e.preventDefault();
2740
+ }
2741
+
2742
+ focusableItems.eq(0).trigger("focus");
2743
+ }
2744
+ }
2745
+ } else {
2746
+ self.$refs.container.trigger("focus");
2747
+ }
2748
+ },
2749
+
2750
+ // Activates current instance - brings container to the front and enables keyboard,
2751
+ // notifies other instances about deactivating
2752
+ // =================================================================================
2753
+
2754
+ activate: function () {
2755
+ var self = this;
2756
+
2757
+ // Deactivate all instances
2758
+ $(".modula-fancybox-container").each(function () {
2759
+ var instance = $(this).data("modulaFancyBox");
2760
+
2761
+ // Skip self and closing instances
2762
+ if (instance && instance.id !== self.id && !instance.isClosing) {
2763
+ instance.trigger("onDeactivate");
2764
+
2765
+ instance.removeEvents();
2766
+
2767
+ instance.isVisible = false;
2768
+ }
2769
+ });
2770
+
2771
+ self.isVisible = true;
2772
+
2773
+ if (self.current || self.isIdle) {
2774
+ self.update();
2775
+
2776
+ self.updateControls();
2777
+ }
2778
+
2779
+ self.trigger("onActivate");
2780
+
2781
+ self.addEvents();
2782
+ },
2783
+
2784
+ // Start closing procedure
2785
+ // This will start "zoom-out" animation if needed and clean everything up afterwards
2786
+ // =================================================================================
2787
+
2788
+ close: function (e, d) {
2789
+ var self = this,
2790
+ current = self.current,
2791
+ effect,
2792
+ duration,
2793
+ $content,
2794
+ domRect,
2795
+ opacity,
2796
+ start,
2797
+ end;
2798
+
2799
+ var done = function () {
2800
+ self.cleanUp(e);
2801
+ };
2802
+
2803
+ if (self.isClosing) {
2804
+ return false;
2805
+ }
2806
+
2807
+ self.isClosing = true;
2808
+
2809
+ // If beforeClose callback prevents closing, make sure content is centered
2810
+ if (self.trigger("beforeClose", e) === false) {
2811
+ self.isClosing = false;
2812
+
2813
+ requestAFrame(function () {
2814
+ self.update();
2815
+ });
2816
+
2817
+ return false;
2818
+ }
2819
+
2820
+ // Remove all events
2821
+ // If there are multiple instances, they will be set again by "activate" method
2822
+ self.removeEvents();
2823
+
2824
+ $content = current.$content;
2825
+ effect = current.opts.animationEffect;
2826
+ duration = $.isNumeric(d) ? d : effect ? current.opts.animationDuration : 0;
2827
+
2828
+ current.$slide.removeClass("modula-fancybox-slide--complete modula-fancybox-slide--next modula-fancybox-slide--previous modula-fancybox-animated");
2829
+
2830
+ if (e !== true) {
2831
+ $.modulaFancybox.stop(current.$slide);
2832
+ } else {
2833
+ effect = false;
2834
+ }
2835
+
2836
+ // Remove other slides
2837
+ current.$slide
2838
+ .siblings()
2839
+ .trigger("onReset")
2840
+ .remove();
2841
+
2842
+ // Trigger animations
2843
+ if (duration) {
2844
+ self.$refs.container
2845
+ .removeClass("modula-fancybox-is-open")
2846
+ .addClass("modula-fancybox-is-closing")
2847
+ .css("transition-duration", duration + "ms");
2848
+ }
2849
+
2850
+ // Clean up
2851
+ self.hideLoading(current);
2852
+
2853
+ self.hideControls(true);
2854
+
2855
+ self.updateCursor();
2856
+
2857
+ // Check if possible to zoom-out
2858
+ if (
2859
+ effect === "zoom" &&
2860
+ !($content && duration && current.type === "image" && !self.isMoved() && !current.hasError && (end = self.getThumbPos(current)))
2861
+ ) {
2862
+ effect = "fade";
2863
+ }
2864
+
2865
+ if (effect === "zoom") {
2866
+ $.modulaFancybox.stop($content);
2867
+
2868
+ domRect = $.modulaFancybox.getTranslate($content);
2869
+
2870
+ start = {
2871
+ top: domRect.top,
2872
+ left: domRect.left,
2873
+ scaleX: domRect.width / end.width,
2874
+ scaleY: domRect.height / end.height,
2875
+ width: end.width,
2876
+ height: end.height
2877
+ };
2878
+
2879
+ // Check if we need to animate opacity
2880
+ opacity = current.opts.zoomOpacity;
2881
+
2882
+ if (opacity == "auto") {
2883
+ opacity = Math.abs(current.width / current.height - end.width / end.height) > 0.1;
2884
+ }
2885
+
2886
+ if (opacity) {
2887
+ end.opacity = 0;
2888
+ }
2889
+
2890
+ $.modulaFancybox.setTranslate($content, start);
2891
+
2892
+ forceRedraw($content);
2893
+
2894
+ $.modulaFancybox.animate($content, end, duration, done);
2895
+
2896
+ return true;
2897
+ }
2898
+
2899
+ if (effect && duration) {
2900
+ $.modulaFancybox.animate(
2901
+ current.$slide.addClass("modula-fancybox-slide--previous").removeClass("modula-fancybox-slide--current"),
2902
+ "modula-fancybox-animated modula-fancybox-fx-" + effect,
2903
+ duration,
2904
+ done
2905
+ );
2906
+ } else {
2907
+ // If skip animation
2908
+ if (e === true) {
2909
+ setTimeout(done, duration);
2910
+ } else {
2911
+ done();
2912
+ }
2913
+ }
2914
+
2915
+ return true;
2916
+ },
2917
+
2918
+ // Final adjustments after removing the instance
2919
+ // =============================================
2920
+
2921
+ cleanUp: function (e) {
2922
+ var self = this,
2923
+ instance,
2924
+ $focus = self.current.opts.$orig,
2925
+ x,
2926
+ y;
2927
+
2928
+ self.current.$slide.trigger("onReset");
2929
+
2930
+ self.$refs.container.empty().remove();
2931
+
2932
+ self.trigger("afterClose", e);
2933
+
2934
+ // Place back focus
2935
+ if (!!self.current.opts.backFocus) {
2936
+ if (!$focus || !$focus.length || !$focus.is(":visible")) {
2937
+ $focus = self.$trigger;
2938
+ }
2939
+
2940
+ if ($focus && $focus.length) {
2941
+ x = window.scrollX;
2942
+ y = window.scrollY;
2943
+
2944
+ $focus.trigger("focus");
2945
+
2946
+ $("html, body")
2947
+ .scrollTop(y)
2948
+ .scrollLeft(x);
2949
+ }
2950
+ }
2951
+
2952
+ self.current = null;
2953
+
2954
+ // Check if there are other instances
2955
+ instance = $.modulaFancybox.getInstance();
2956
+
2957
+ if (instance) {
2958
+ instance.activate();
2959
+ } else {
2960
+ $("body").removeClass("modula-fancybox-active compensate-for-scrollbar");
2961
+
2962
+ $("#modula-fancybox-style-noscroll").remove();
2963
+ }
2964
+ },
2965
+
2966
+ // Call callback and trigger an event
2967
+ // ==================================
2968
+
2969
+ trigger: function (name, slide) {
2970
+ var args = Array.prototype.slice.call(arguments, 1),
2971
+ self = this,
2972
+ obj = slide && slide.opts ? slide : self.current,
2973
+ rez;
2974
+
2975
+ if (obj) {
2976
+ args.unshift(obj);
2977
+ } else {
2978
+ obj = self;
2979
+ }
2980
+
2981
+ args.unshift(self);
2982
+
2983
+ if ($.isFunction(obj.opts[name])) {
2984
+ rez = obj.opts[name].apply(obj, args);
2985
+ }
2986
+
2987
+ if (rez === false) {
2988
+ return rez;
2989
+ }
2990
+
2991
+ if (name === "afterClose" || !self.$refs) {
2992
+ $D.trigger(name + ".fb", args);
2993
+ } else {
2994
+ self.$refs.container.trigger(name + ".fb", args);
2995
+ }
2996
+ },
2997
+
2998
+ // Update infobar values, navigation button states and reveal caption
2999
+ // ==================================================================
3000
+
3001
+ updateControls: function () {
3002
+ var self = this,
3003
+ current = self.current,
3004
+ index = current.index,
3005
+ $container = self.$refs.container,
3006
+ $caption = self.$refs.caption,
3007
+ caption = current.opts.caption;
3008
+
3009
+ // Recalculate content dimensions
3010
+ current.$slide.trigger("refresh");
3011
+
3012
+ // Set caption
3013
+ if (caption && caption.length) {
3014
+ self.$caption = $caption;
3015
+
3016
+ $caption
3017
+ .children()
3018
+ .eq(0)
3019
+ .html(caption);
3020
+ } else {
3021
+ self.$caption = null;
3022
+ }
3023
+
3024
+ if (!self.hasHiddenControls && !self.isIdle) {
3025
+ self.showControls();
3026
+ }
3027
+
3028
+ // Update info and navigation elements
3029
+ $container.find("[data-fancybox-count]").html(self.group.length);
3030
+ $container.find("[data-fancybox-index]").html(index + 1);
3031
+
3032
+ $container.find("[data-fancybox-prev]").prop("disabled", !current.opts.loop && index <= 0);
3033
+ $container.find("[data-fancybox-next]").prop("disabled", !current.opts.loop && index >= self.group.length - 1);
3034
+
3035
+ if (current.type === "image") {
3036
+ // Re-enable buttons; update download button source
3037
+ $container
3038
+ .find("[data-fancybox-zoom]")
3039
+ .show()
3040
+ .end()
3041
+ .find("[data-fancybox-download]")
3042
+ .attr("href", current.opts.image.src || current.src)
3043
+ .show();
3044
+ } else if (current.opts.toolbar) {
3045
+ $container.find("[data-fancybox-download],[data-fancybox-zoom]").hide();
3046
+ }
3047
+
3048
+ // Make sure focus is not on disabled button/element
3049
+ if ($(document.activeElement).is(":hidden,[disabled]")) {
3050
+ self.$refs.container.trigger("focus");
3051
+ }
3052
+ },
3053
+
3054
+ // Hide toolbar and caption
3055
+ // ========================
3056
+
3057
+ hideControls: function (andCaption) {
3058
+ var self = this,
3059
+ arr = ["infobar", "toolbar", "nav"];
3060
+
3061
+ if (andCaption || !self.current.opts.preventCaptionOverlap) {
3062
+ arr.push("caption");
3063
+ }
3064
+
3065
+ this.$refs.container.removeClass(
3066
+ arr
3067
+ .map(function (i) {
3068
+ return "modula-fancybox-show-" + i;
3069
+ })
3070
+ .join(" ")
3071
+ );
3072
+
3073
+ this.hasHiddenControls = true;
3074
+ },
3075
+
3076
+ showControls: function () {
3077
+ var self = this,
3078
+ opts = self.current ? self.current.opts : self.opts,
3079
+ $container = self.$refs.container;
3080
+
3081
+ self.hasHiddenControls = false;
3082
+ self.idleSecondsCounter = 0;
3083
+
3084
+ $container
3085
+ .toggleClass("modula-fancybox-show-toolbar", !!(opts.toolbar && opts.buttons))
3086
+ .toggleClass("modula-fancybox-show-infobar", !!(opts.infobar && self.group.length > 1))
3087
+ .toggleClass("modula-fancybox-show-caption", !!self.$caption)
3088
+ .toggleClass("modula-fancybox-show-nav", !!(opts.arrows && self.group.length > 1))
3089
+ .toggleClass("modula-fancybox-is-modal", !!opts.modal);
3090
+ },
3091
+
3092
+ // Toggle toolbar and caption
3093
+ // ==========================
3094
+
3095
+ toggleControls: function () {
3096
+ if (this.hasHiddenControls) {
3097
+ this.showControls();
3098
+ } else {
3099
+ this.hideControls();
3100
+ }
3101
+ }
3102
+ });
3103
+
3104
+ $.modulaFancybox = {
3105
+ version: "3.5.7",
3106
+ defaults: defaults,
3107
+
3108
+ // Get current instance and execute a command.
3109
+ //
3110
+ // Examples of usage:
3111
+ //
3112
+ // $instance = $.modulaFancybox.getInstance();
3113
+ // $.modulaFancybox.getInstance().jumpTo( 1 );
3114
+ // $.modulaFancybox.getInstance( 'jumpTo', 1 );
3115
+ // $.modulaFancybox.getInstance( function() {
3116
+ // console.info( this.currIndex );
3117
+ // });
3118
+ // ======================================================
3119
+
3120
+ getInstance: function (command) {
3121
+ var instance = $('.modula-fancybox-container:not(".modula-fancybox-is-closing"):last').data("modulaFancyBox"),
3122
+ args = Array.prototype.slice.call(arguments, 1);
3123
+
3124
+ if (instance instanceof modulaFancyBox) {
3125
+ if ($.type(command) === "string") {
3126
+ instance[command].apply(instance, args);
3127
+ } else if ($.type(command) === "function") {
3128
+ command.apply(instance, args);
3129
+ }
3130
+
3131
+ return instance;
3132
+ }
3133
+
3134
+ return false;
3135
+ },
3136
+
3137
+
3138
+ // Create new instance
3139
+ // ===================
3140
+
3141
+ open: function (items, opts, index) {
3142
+ return new modulaFancyBox(items, opts, index);
3143
+ },
3144
+
3145
+ // Close current or all instances
3146
+ // ==============================
3147
+
3148
+ close: function (all) {
3149
+ var instance = this.getInstance();
3150
+
3151
+ if (instance) {
3152
+ instance.close();
3153
+
3154
+ // Try to find and close next instance
3155
+ if (all === true) {
3156
+ this.close(all);
3157
+ }
3158
+ }
3159
+ },
3160
+
3161
+ // Close all instances and unbind all events
3162
+ // =========================================
3163
+
3164
+ destroy: function () {
3165
+ this.close(true);
3166
+
3167
+ $D.add("body").off("click.fb-start", "**");
3168
+ },
3169
+
3170
+ // Try to detect mobile devices
3171
+ // ============================
3172
+
3173
+ isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),
3174
+
3175
+ // Detect if 'translate3d' support is available
3176
+ // ============================================
3177
+
3178
+ use3d: (function () {
3179
+ var div = document.createElement("div");
3180
+
3181
+ return (
3182
+ window.getComputedStyle &&
3183
+ window.getComputedStyle(div) &&
3184
+ window.getComputedStyle(div).getPropertyValue("transform") &&
3185
+ !(document.documentMode && document.documentMode < 11)
3186
+ );
3187
+ })(),
3188
+
3189
+ // Helper function to get current visual state of an element
3190
+ // returns array[ top, left, horizontal-scale, vertical-scale, opacity ]
3191
+ // =====================================================================
3192
+
3193
+ getTranslate: function ($el) {
3194
+ var domRect;
3195
+
3196
+ if (!$el || !$el.length) {
3197
+ return false;
3198
+ }
3199
+
3200
+ domRect = $el[0].getBoundingClientRect();
3201
+
3202
+ return {
3203
+ top: domRect.top || 0,
3204
+ left: domRect.left || 0,
3205
+ width: domRect.width,
3206
+ height: domRect.height,
3207
+ opacity: parseFloat($el.css("opacity"))
3208
+ };
3209
+ },
3210
+
3211
+ // Shortcut for setting "translate3d" properties for element
3212
+ // Can set be used to set opacity, too
3213
+ // ========================================================
3214
+
3215
+ setTranslate: function ($el, props) {
3216
+ var str = "",
3217
+ css = {};
3218
+
3219
+ if (!$el || !props) {
3220
+ return;
3221
+ }
3222
+
3223
+ if (props.left !== undefined || props.top !== undefined) {
3224
+ str =
3225
+ (props.left === undefined ? $el.position().left : props.left) +
3226
+ "px, " +
3227
+ (props.top === undefined ? $el.position().top : props.top) +
3228
+ "px";
3229
+
3230
+ if (this.use3d) {
3231
+ str = "translate3d(" + str + ", 0px)";
3232
+ } else {
3233
+ str = "translate(" + str + ")";
3234
+ }
3235
+ }
3236
+
3237
+ if (props.scaleX !== undefined && props.scaleY !== undefined) {
3238
+ str += " scale(" + props.scaleX + ", " + props.scaleY + ")";
3239
+ } else if (props.scaleX !== undefined) {
3240
+ str += " scaleX(" + props.scaleX + ")";
3241
+ }
3242
+
3243
+ if (str.length) {
3244
+ css.transform = str;
3245
+ }
3246
+
3247
+ if (props.opacity !== undefined) {
3248
+ css.opacity = props.opacity;
3249
+ }
3250
+
3251
+ if (props.width !== undefined) {
3252
+ css.width = props.width;
3253
+ }
3254
+
3255
+ if (props.height !== undefined) {
3256
+ css.height = props.height;
3257
+ }
3258
+
3259
+ return $el.css(css);
3260
+ },
3261
+
3262
+ // Simple CSS transition handler
3263
+ // =============================
3264
+
3265
+ animate: function ($el, to, duration, callback, leaveAnimationName) {
3266
+ var self = this,
3267
+ from;
3268
+
3269
+ if ($.isFunction(duration)) {
3270
+ callback = duration;
3271
+ duration = null;
3272
+ }
3273
+
3274
+ self.stop($el);
3275
+
3276
+ from = self.getTranslate($el);
3277
+
3278
+ $el.on(transitionEnd, function (e) {
3279
+ // Skip events from child elements and z-index change
3280
+ if (e && e.originalEvent && (!$el.is(e.originalEvent.target) || e.originalEvent.propertyName == "z-index")) {
3281
+ return;
3282
+ }
3283
+
3284
+ self.stop($el);
3285
+
3286
+ if ($.isNumeric(duration)) {
3287
+ $el.css("transition-duration", "");
3288
+ }
3289
+
3290
+ if ($.isPlainObject(to)) {
3291
+ if (to.scaleX !== undefined && to.scaleY !== undefined) {
3292
+ self.setTranslate($el, {
3293
+ top: to.top,
3294
+ left: to.left,
3295
+ width: from.width * to.scaleX,
3296
+ height: from.height * to.scaleY,
3297
+ scaleX: 1,
3298
+ scaleY: 1
3299
+ });
3300
+ }
3301
+ } else if (leaveAnimationName !== true) {
3302
+ $el.removeClass(to);
3303
+ }
3304
+
3305
+ if ($.isFunction(callback)) {
3306
+ callback(e);
3307
+ }
3308
+ });
3309
+
3310
+ if ($.isNumeric(duration)) {
3311
+ $el.css("transition-duration", duration + "ms");
3312
+ }
3313
+
3314
+ // Start animation by changing CSS properties or class name
3315
+ if ($.isPlainObject(to)) {
3316
+ if (to.scaleX !== undefined && to.scaleY !== undefined) {
3317
+ delete to.width;
3318
+ delete to.height;
3319
+
3320
+ if ($el.parent().hasClass("modula-fancybox-slide--image")) {
3321
+ $el.parent().addClass("modula-fancybox-is-scaling");
3322
+ }
3323
+ }
3324
+
3325
+ $.modulaFancybox.setTranslate($el, to);
3326
+ } else {
3327
+ $el.addClass(to);
3328
+ }
3329
+
3330
+ // Make sure that `transitionend` callback gets fired
3331
+ $el.data(
3332
+ "timer",
3333
+ setTimeout(function () {
3334
+ $el.trigger(transitionEnd);
3335
+ }, duration + 33)
3336
+ );
3337
+ },
3338
+
3339
+ stop: function ($el, callCallback) {
3340
+ if ($el && $el.length) {
3341
+ clearTimeout($el.data("timer"));
3342
+
3343
+ if (callCallback) {
3344
+ $el.trigger(transitionEnd);
3345
+ }
3346
+
3347
+ $el.off(transitionEnd).css("transition-duration", "");
3348
+
3349
+ $el.parent().removeClass("modula-fancybox-is-scaling");
3350
+ }
3351
+ }
3352
+ };
3353
+
3354
+ // Default click handler for "fancyboxed" links
3355
+ // ============================================
3356
+
3357
+ function _run(e, opts) {
3358
+ var items = [],
3359
+ index = 0,
3360
+ $target,
3361
+ value,
3362
+ instance;
3363
+
3364
+ // Avoid opening multiple times
3365
+ if (e && e.isDefaultPrevented()) {
3366
+ return;
3367
+ }
3368
+
3369
+ e.preventDefault();
3370
+
3371
+ opts = opts || {};
3372
+
3373
+ if (e && e.data) {
3374
+ opts = mergeOpts(e.data.options, opts);
3375
+ }
3376
+
3377
+ $target = opts.$target || $(e.currentTarget).trigger("blur");
3378
+ instance = $.modulaFancybox.getInstance();
3379
+
3380
+ if (instance && instance.$trigger && instance.$trigger.is($target)) {
3381
+ return;
3382
+ }
3383
+
3384
+ if (opts.selector) {
3385
+ items = $(opts.selector);
3386
+ } else {
3387
+ // Get all related items and find index for clicked one
3388
+ value = $target.attr("data-fancybox") || "";
3389
+
3390
+ if (value) {
3391
+ items = e.data ? e.data.items : [];
3392
+ items = items.length ? items.filter('[data-fancybox="' + value + '"]') : $('[data-fancybox="' + value + '"]');
3393
+ } else {
3394
+ items = [$target];
3395
+ }
3396
+ }
3397
+
3398
+ index = $(items).index($target);
3399
+
3400
+ // Sometimes current item can not be found
3401
+ if (index < 0) {
3402
+ index = 0;
3403
+ }
3404
+
3405
+ instance = $.modulaFancybox.open(items, opts, index);
3406
+
3407
+ // Save last active element
3408
+ instance.$trigger = $target;
3409
+ }
3410
+
3411
+ // Create a jQuery plugin
3412
+ // ======================
3413
+
3414
+ $.fn.modulaFancybox = function (options) {
3415
+ var selector;
3416
+
3417
+ options = options || {};
3418
+ selector = options.selector || false;
3419
+
3420
+ if (selector) {
3421
+ // Use body element instead of document so it executes first
3422
+ $("body")
3423
+ .off("click.fb-start", selector)
3424
+ .on("click.fb-start", selector, {
3425
+ options: options
3426
+ }, _run);
3427
+ } else {
3428
+ this.off("click.fb-start").on(
3429
+ "click.fb-start", {
3430
+ items: this,
3431
+ options: options
3432
+ },
3433
+ _run
3434
+ );
3435
+ }
3436
+
3437
+ return this;
3438
+ };
3439
+
3440
+ // Self initializing plugin for all elements having `data-fancybox` attribute
3441
+ // ==========================================================================
3442
+
3443
+ $D.on("click.fb-start", "[data-fancybox]", _run);
3444
+
3445
+ // Enable "trigger elements"
3446
+ // =========================
3447
+
3448
+ $D.on("click.fb-start", "[data-fancybox-trigger]", function (e) {
3449
+ $('[data-fancybox="' + $(this).attr("data-fancybox-trigger") + '"]')
3450
+ .eq($(this).attr("data-fancybox-index") || 0)
3451
+ .trigger("click.fb-start", {
3452
+ $trigger: $(this)
3453
+ });
3454
+ });
3455
+
3456
+ // Track focus event for better accessibility styling
3457
+ // ==================================================
3458
+ (function () {
3459
+ var buttonStr = ".modula-fancybox-button",
3460
+ focusStr = "modula-fancybox-focus",
3461
+ $pressed = null;
3462
+
3463
+ $D.on("mousedown mouseup focus blur", buttonStr, function (e) {
3464
+ switch (e.type) {
3465
+ case "mousedown":
3466
+ $pressed = $(this);
3467
+ break;
3468
+ case "mouseup":
3469
+ $pressed = null;
3470
+ break;
3471
+ case "focusin":
3472
+ $(buttonStr).removeClass(focusStr);
3473
+
3474
+ if (!$(this).is($pressed) && !$(this).is("[disabled]")) {
3475
+ $(this).addClass(focusStr);
3476
+ }
3477
+ break;
3478
+ case "focusout":
3479
+ $(buttonStr).removeClass(focusStr);
3480
+ break;
3481
+ }
3482
+ });
3483
+ })();
3484
+ })(window, document, jQuery);
3485
+ // ==========================================================================
3486
+ //
3487
+ // Media
3488
+ // Adds additional media type support
3489
+ //
3490
+ // ==========================================================================
3491
+ (function ($) {
3492
+ "use strict";
3493
+
3494
+ // Object containing properties for each media type
3495
+ var defaults = {
3496
+ youtube: {
3497
+ matcher: /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,
3498
+ params: {
3499
+ autoplay: 1,
3500
+ autohide: 1,
3501
+ fs: 1,
3502
+ rel: 0,
3503
+ hd: 1,
3504
+ wmode: "transparent",
3505
+ enablejsapi: 1,
3506
+ html5: 1
3507
+ },
3508
+ paramPlace: 8,
3509
+ type: "iframe",
3510
+ url: "https://www.youtube-nocookie.com/embed/$4",
3511
+ thumb: "https://img.youtube.com/vi/$4/hqdefault.jpg"
3512
+ },
3513
+
3514
+ vimeo: {
3515
+ matcher: /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,
3516
+ params: {
3517
+ autoplay: 1,
3518
+ hd: 1,
3519
+ show_title: 1,
3520
+ show_byline: 1,
3521
+ show_portrait: 0,
3522
+ fullscreen: 1
3523
+ },
3524
+ paramPlace: 3,
3525
+ type: "iframe",
3526
+ url: "//player.vimeo.com/video/$2"
3527
+ },
3528
+
3529
+ instagram: {
3530
+ matcher: /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,
3531
+ type: "image",
3532
+ url: "//$1/p/$2/media/?size=l"
3533
+ },
3534
+
3535
+ // Examples:
3536
+ // http://maps.google.com/?ll=48.857995,2.294297&spn=0.007666,0.021136&t=m&z=16
3537
+ // https://www.google.com/maps/@37.7852006,-122.4146355,14.65z
3538
+ // https://www.google.com/maps/@52.2111123,2.9237542,6.61z?hl=en
3539
+ // https://www.google.com/maps/place/Googleplex/@37.4220041,-122.0833494,17z/data=!4m5!3m4!1s0x0:0x6c296c66619367e0!8m2!3d37.4219998!4d-122.0840572
3540
+ gmap_place: {
3541
+ matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,
3542
+ type: "iframe",
3543
+ url: function (rez) {
3544
+ return (
3545
+ "//maps.google." +
3546
+ rez[2] +
3547
+ "/?ll=" +
3548
+ (rez[9] ? rez[9] + "&z=" + Math.floor(rez[10]) + (rez[12] ? rez[12].replace(/^\//, "&") : "") : rez[12] + "").replace(/\?/, "&") +
3549
+ "&output=" +
3550
+ (rez[12] && rez[12].indexOf("layer=c") > 0 ? "svembed" : "embed")
3551
+ );
3552
+ }
3553
+ },
3554
+
3555
+ // Examples:
3556
+ // https://www.google.com/maps/search/Empire+State+Building/
3557
+ // https://www.google.com/maps/search/?api=1&query=centurylink+field
3558
+ // https://www.google.com/maps/search/?api=1&query=47.5951518,-122.3316393
3559
+ gmap_search: {
3560
+ matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,
3561
+ type: "iframe",
3562
+ url: function (rez) {
3563
+ return "//maps.google." + rez[2] + "/maps?q=" + rez[5].replace("query=", "q=").replace("api=1", "") + "&output=embed";
3564
+ }
3565
+ }
3566
+ };
3567
+
3568
+ // Formats matching url to final form
3569
+ var format = function (url, rez, params) {
3570
+ if (!url) {
3571
+ return;
3572
+ }
3573
+
3574
+ params = params || "";
3575
+
3576
+ if ($.type(params) === "object") {
3577
+ params = $.param(params, true);
3578
+ }
3579
+
3580
+ $.each(rez, function (key, value) {
3581
+ url = url.replace("$" + key, value || "");
3582
+ });
3583
+
3584
+ if (params.length) {
3585
+ url += (url.indexOf("?") > 0 ? "&" : "?") + params;
3586
+ }
3587
+
3588
+ return url;
3589
+ };
3590
+
3591
+ $(document).on("objectNeedsType.fb", function (e, instance, item) {
3592
+ var url = item.src || "",
3593
+ type = false,
3594
+ media,
3595
+ thumb,
3596
+ rez,
3597
+ params,
3598
+ urlParams,
3599
+ paramObj,
3600
+ provider;
3601
+
3602
+ media = $.extend(true, {}, defaults, item.opts.media);
3603
+
3604
+ // Look for any matching media type
3605
+ $.each(media, function (providerName, providerOpts) {
3606
+ rez = url.match(providerOpts.matcher);
3607
+
3608
+ if (!rez) {
3609
+ return;
3610
+ }
3611
+
3612
+ type = providerOpts.type;
3613
+ provider = providerName;
3614
+ paramObj = {};
3615
+
3616
+ if (providerOpts.paramPlace && rez[providerOpts.paramPlace]) {
3617
+ urlParams = rez[providerOpts.paramPlace];
3618
+
3619
+ if (urlParams[0] == "?") {
3620
+ urlParams = urlParams.substring(1);
3621
+ }
3622
+
3623
+ urlParams = urlParams.split("&");
3624
+
3625
+ for (var m = 0; m < urlParams.length; ++m) {
3626
+ var p = urlParams[m].split("=", 2);
3627
+
3628
+ if (p.length == 2) {
3629
+ paramObj[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
3630
+ }
3631
+ }
3632
+ }
3633
+
3634
+ params = $.extend(true, {}, providerOpts.params, item.opts[providerName], paramObj);
3635
+
3636
+ url =
3637
+ $.type(providerOpts.url) === "function" ? providerOpts.url.call(this, rez, params, item) : format(providerOpts.url, rez, params);
3638
+
3639
+ thumb =
3640
+ $.type(providerOpts.thumb) === "function" ? providerOpts.thumb.call(this, rez, params, item) : format(providerOpts.thumb, rez);
3641
+
3642
+ if (providerName === "youtube") {
3643
+ url = url.replace(/&t=(\d+)/, function (match, p1 ) {
3644
+ return "&start=" + p1;
3645
+ });
3646
+ } else if (providerName === "vimeo") {
3647
+ url = url.replace("&%23", "#");
3648
+ }
3649
+
3650
+ return false;
3651
+ });
3652
+
3653
+ // If it is found, then change content type and update the url
3654
+
3655
+ if (type) {
3656
+ if (!item.opts.thumb && !(item.opts.$thumb && item.opts.$thumb.length)) {
3657
+ item.opts.thumb = thumb;
3658
+ }
3659
+
3660
+ if (type === "iframe") {
3661
+ item.opts = $.extend(true, item.opts, {
3662
+ iframe: {
3663
+ preload: false,
3664
+ attr: {
3665
+ scrolling: "no"
3666
+ }
3667
+ }
3668
+ });
3669
+ }
3670
+
3671
+ $.extend(item, {
3672
+ type: type,
3673
+ src: url,
3674
+ origSrc: item.src,
3675
+ contentSource: provider,
3676
+ contentType: type === "image" ? "image" : provider == "gmap_place" || provider == "gmap_search" ? "map" : "video"
3677
+ });
3678
+ } else if (url) {
3679
+ item.type = item.opts.defaultType;
3680
+ }
3681
+ });
3682
+
3683
+ // Load YouTube/Video API on request to detect when video finished playing
3684
+ var VideoAPILoader = {
3685
+ youtube: {
3686
+ src: "https://www.youtube.com/iframe_api",
3687
+ class: "YT",
3688
+ loading: false,
3689
+ loaded: false
3690
+ },
3691
+
3692
+ vimeo: {
3693
+ src: "https://player.vimeo.com/api/player.js",
3694
+ class: "Vimeo",
3695
+ loading: false,
3696
+ loaded: false
3697
+ },
3698
+
3699
+ load: function (vendor) {
3700
+ var _this = this,
3701
+ script;
3702
+
3703
+ if (this[vendor].loaded) {
3704
+ setTimeout(function () {
3705
+ _this.done(vendor);
3706
+ });
3707
+ return;
3708
+ }
3709
+
3710
+ if (this[vendor].loading) {
3711
+ return;
3712
+ }
3713
+
3714
+ this[vendor].loading = true;
3715
+
3716
+ script = document.createElement("script");
3717
+ script.type = "text/javascript";
3718
+ script.src = this[vendor].src;
3719
+
3720
+ if (vendor === "youtube") {
3721
+ window.onYouTubeIframeAPIReady = function () {
3722
+ _this[vendor].loaded = true;
3723
+ _this.done(vendor);
3724
+ };
3725
+ } else {
3726
+ script.onload = function () {
3727
+ _this[vendor].loaded = true;
3728
+ _this.done(vendor);
3729
+ };
3730
+ }
3731
+
3732
+ document.body.appendChild(script);
3733
+ },
3734
+ done: function (vendor) {
3735
+ var instance, $el, player;
3736
+
3737
+ if (vendor === "youtube") {
3738
+ delete window.onYouTubeIframeAPIReady;
3739
+ }
3740
+
3741
+ instance = $.modulaFancybox.getInstance();
3742
+
3743
+ if (instance) {
3744
+ $el = instance.current.$content.find("iframe");
3745
+
3746
+ if (vendor === "youtube" && YT !== undefined && YT) {
3747
+ player = new YT.Player($el.attr("id"), {
3748
+ events: {
3749
+ onStateChange: function (e) {
3750
+ if (e.data == 0) {
3751
+ instance.next();
3752
+ }
3753
+ }
3754
+ }
3755
+ });
3756
+ } else if (vendor === "vimeo" && Vimeo !== undefined && Vimeo) {
3757
+ player = new Vimeo.Player($el);
3758
+
3759
+ player.on("ended", function () {
3760
+ instance.next();
3761
+ });
3762
+ }
3763
+ }
3764
+ }
3765
+ };
3766
+
3767
+ $(document).on({
3768
+ "afterShow.fb": function (e, instance, current) {
3769
+ if (instance.group.length > 1 && (current.contentSource === "youtube" || current.contentSource === "vimeo")) {
3770
+ VideoAPILoader.load(current.contentSource);
3771
+ }
3772
+ }
3773
+ });
3774
+ })(jQuery);
3775
+ // ==========================================================================
3776
+ //
3777
+ // Guestures
3778
+ // Adds touch guestures, handles click and tap events
3779
+ //
3780
+ // ==========================================================================
3781
+ (function (window, document, $) {
3782
+ "use strict";
3783
+
3784
+ var requestAFrame = (function () {
3785
+ return (
3786
+ window.requestAnimationFrame ||
3787
+ window.webkitRequestAnimationFrame ||
3788
+ window.mozRequestAnimationFrame ||
3789
+ window.oRequestAnimationFrame ||
3790
+ // if all else fails, use setTimeout
3791
+ function (callback) {
3792
+ return window.setTimeout(callback, 1000 / 60);
3793
+ }
3794
+ );
3795
+ })();
3796
+
3797
+ var cancelAFrame = (function () {
3798
+ return (
3799
+ window.cancelAnimationFrame ||
3800
+ window.webkitCancelAnimationFrame ||
3801
+ window.mozCancelAnimationFrame ||
3802
+ window.oCancelAnimationFrame ||
3803
+ function (id) {
3804
+ window.clearTimeout(id);
3805
+ }
3806
+ );
3807
+ })();
3808
+
3809
+ var getPointerXY = function (e) {
3810
+ var result = [];
3811
+
3812
+ e = e.originalEvent || e || window.e;
3813
+ e = e.touches && e.touches.length ? e.touches : e.changedTouches && e.changedTouches.length ? e.changedTouches : [e];
3814
+
3815
+ for (var key in e) {
3816
+ if (e[key].pageX) {
3817
+ result.push({
3818
+ x: e[key].pageX,
3819
+ y: e[key].pageY
3820
+ });
3821
+ } else if (e[key].clientX) {
3822
+ result.push({
3823
+ x: e[key].clientX,
3824
+ y: e[key].clientY
3825
+ });
3826
+ }
3827
+ }
3828
+
3829
+ return result;
3830
+ };
3831
+
3832
+ var distance = function (point2, point1, what) {
3833
+ if (!point1 || !point2) {
3834
+ return 0;
3835
+ }
3836
+
3837
+ if (what === "x") {
3838
+ return point2.x - point1.x;
3839
+ } else if (what === "y") {
3840
+ return point2.y - point1.y;
3841
+ }
3842
+
3843
+ return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2));
3844
+ };
3845
+
3846
+ var isClickable = function ($el) {
3847
+ if (
3848
+ $el.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe') ||
3849
+ $.isFunction($el.get(0).onclick) ||
3850
+ $el.data("selectable")
3851
+ ) {
3852
+ return true;
3853
+ }
3854
+
3855
+ // Check for attributes like data-fancybox-next or data-fancybox-close
3856
+ for (var i = 0, atts = $el[0].attributes, n = atts.length; i < n; i++) {
3857
+ if (atts[i].nodeName.substr(0, 14) === "data-fancybox-") {
3858
+ return true;
3859
+ }
3860
+ }
3861
+
3862
+ return false;
3863
+ };
3864
+
3865
+ var hasScrollbars = function (el) {
3866
+ var overflowY = window.getComputedStyle(el)["overflow-y"],
3867
+ overflowX = window.getComputedStyle(el)["overflow-x"],
3868
+ vertical = (overflowY === "scroll" || overflowY === "auto") && el.scrollHeight > el.clientHeight,
3869
+ horizontal = (overflowX === "scroll" || overflowX === "auto") && el.scrollWidth > el.clientWidth;
3870
+
3871
+ return vertical || horizontal;
3872
+ };
3873
+
3874
+ var isScrollable = function ($el) {
3875
+ var rez = false;
3876
+
3877
+ while (true) {
3878
+ rez = hasScrollbars($el.get(0));
3879
+
3880
+ if (rez) {
3881
+ break;
3882
+ }
3883
+
3884
+ $el = $el.parent();
3885
+
3886
+ if (!$el.length || $el.hasClass("modula-fancybox-stage") || $el.is("body")) {
3887
+ break;
3888
+ }
3889
+ }
3890
+
3891
+ return rez;
3892
+ };
3893
+
3894
+ var Guestures = function (instance) {
3895
+ var self = this;
3896
+
3897
+ self.instance = instance;
3898
+
3899
+ self.$bg = instance.$refs.bg;
3900
+ self.$stage = instance.$refs.stage;
3901
+ self.$container = instance.$refs.container;
3902
+
3903
+ self.destroy();
3904
+
3905
+ self.$container.on("touchstart.fb.touch mousedown.fb.touch", $.proxy(self, "ontouchstart"));
3906
+ };
3907
+
3908
+ Guestures.prototype.destroy = function () {
3909
+ var self = this;
3910
+
3911
+ self.$container.off(".fb.touch");
3912
+
3913
+ $(document).off(".fb.touch");
3914
+
3915
+ if (self.requestId) {
3916
+ cancelAFrame(self.requestId);
3917
+ self.requestId = null;
3918
+ }
3919
+
3920
+ if (self.tapped) {
3921
+ clearTimeout(self.tapped);
3922
+ self.tapped = null;
3923
+ }
3924
+ };
3925
+
3926
+ Guestures.prototype.ontouchstart = function (e) {
3927
+ var self = this,
3928
+ $target = $(e.target),
3929
+ instance = self.instance,
3930
+ current = instance.current,
3931
+ $slide = current.$slide,
3932
+ $content = current.$content,
3933
+ isTouchDevice = e.type == "touchstart";
3934
+
3935
+ // Do not respond to both (touch and mouse) events
3936
+ if (isTouchDevice) {
3937
+ self.$container.off("mousedown.fb.touch");
3938
+ }
3939
+
3940
+ // Ignore right click
3941
+ if (e.originalEvent && e.originalEvent.button == 2) {
3942
+ return;
3943
+ }
3944
+
3945
+ // Ignore taping on links, buttons, input elements
3946
+ if (!$slide.length || !$target.length || isClickable($target) || isClickable($target.parent())) {
3947
+ return;
3948
+ }
3949
+ // Ignore clicks on the scrollbar
3950
+ if (!$target.is("img") && e.originalEvent.clientX > $target[0].clientWidth + $target.offset().left) {
3951
+ return;
3952
+ }
3953
+
3954
+ // Ignore clicks while zooming or closing
3955
+ if (!current || instance.isAnimating || current.$slide.hasClass("modula-fancybox-animated")) {
3956
+ e.stopPropagation();
3957
+ e.preventDefault();
3958
+
3959
+ return;
3960
+ }
3961
+
3962
+ self.realPoints = self.startPoints = getPointerXY(e);
3963
+
3964
+ if (!self.startPoints.length) {
3965
+ return;
3966
+ }
3967
+
3968
+ // Allow other scripts to catch touch event if "touch" is set to false
3969
+ if (current.touch) {
3970
+ e.stopPropagation();
3971
+ }
3972
+
3973
+ self.startEvent = e;
3974
+
3975
+ self.canTap = true;
3976
+ self.$target = $target;
3977
+ self.$content = $content;
3978
+ self.opts = current.opts.touch;
3979
+
3980
+ self.isPanning = false;
3981
+ self.isSwiping = false;
3982
+ self.isZooming = false;
3983
+ self.isScrolling = false;
3984
+ self.canPan = instance.canPan();
3985
+
3986
+ self.startTime = new Date().getTime();
3987
+ self.distanceX = self.distanceY = self.distance = 0;
3988
+
3989
+ self.canvasWidth = Math.round($slide[0].clientWidth);
3990
+ self.canvasHeight = Math.round($slide[0].clientHeight);
3991
+
3992
+ self.contentLastPos = null;
3993
+ self.contentStartPos = $.modulaFancybox.getTranslate(self.$content) || {
3994
+ top: 0,
3995
+ left: 0
3996
+ };
3997
+ self.sliderStartPos = $.modulaFancybox.getTranslate($slide);
3998
+
3999
+ // Since position will be absolute, but we need to make it relative to the stage
4000
+ self.stagePos = $.modulaFancybox.getTranslate(instance.$refs.stage);
4001
+
4002
+ self.sliderStartPos.top -= self.stagePos.top;
4003
+ self.sliderStartPos.left -= self.stagePos.left;
4004
+
4005
+ self.contentStartPos.top -= self.stagePos.top;
4006
+ self.contentStartPos.left -= self.stagePos.left;
4007
+
4008
+ $(document)
4009
+ .off(".fb.touch")
4010
+ .on(isTouchDevice ? "touchend.fb.touch touchcancel.fb.touch" : "mouseup.fb.touch mouseleave.fb.touch", $.proxy(self, "ontouchend"))
4011
+ .on(isTouchDevice ? "touchmove.fb.touch" : "mousemove.fb.touch", $.proxy(self, "ontouchmove"));
4012
+
4013
+ if ($.modulaFancybox.isMobile) {
4014
+ document.addEventListener("scroll", self.onscroll, true);
4015
+ }
4016
+
4017
+ // Skip if clicked outside the sliding area
4018
+ if (!(self.opts || self.canPan) || !($target.is(self.$stage) || self.$stage.find($target).length)) {
4019
+ if ($target.is(".modula-fancybox-image")) {
4020
+ e.preventDefault();
4021
+ }
4022
+
4023
+ if (!($.modulaFancybox.isMobile && $target.parents(".modula-fancybox-caption").length)) {
4024
+ return;
4025
+ }
4026
+ }
4027
+
4028
+ self.isScrollable = isScrollable($target) || isScrollable($target.parent());
4029
+
4030
+ // Check if element is scrollable and try to prevent default behavior (scrolling)
4031
+ if (!($.modulaFancybox.isMobile && self.isScrollable)) {
4032
+ e.preventDefault();
4033
+ }
4034
+
4035
+ // One finger or mouse click - swipe or pan an image
4036
+ if (self.startPoints.length === 1 || current.hasError) {
4037
+ if (self.canPan) {
4038
+ $.modulaFancybox.stop(self.$content);
4039
+
4040
+ self.isPanning = true;
4041
+ } else {
4042
+ self.isSwiping = true;
4043
+ }
4044
+
4045
+ self.$container.addClass("modula-fancybox-is-grabbing");
4046
+ }
4047
+
4048
+ // Two fingers - zoom image
4049
+ if (self.startPoints.length === 2 && current.type === "image" && (current.isLoaded || current.$ghost)) {
4050
+ self.canTap = false;
4051
+ self.isSwiping = false;
4052
+ self.isPanning = false;
4053
+
4054
+ self.isZooming = true;
4055
+
4056
+ $.modulaFancybox.stop(self.$content);
4057
+
4058
+ self.centerPointStartX = (self.startPoints[0].x + self.startPoints[1].x) * 0.5 - $(window).scrollLeft();
4059
+ self.centerPointStartY = (self.startPoints[0].y + self.startPoints[1].y) * 0.5 - $(window).scrollTop();
4060
+
4061
+ self.percentageOfImageAtPinchPointX = (self.centerPointStartX - self.contentStartPos.left) / self.contentStartPos.width;
4062
+ self.percentageOfImageAtPinchPointY = (self.centerPointStartY - self.contentStartPos.top) / self.contentStartPos.height;
4063
+
4064
+ self.startDistanceBetweenFingers = distance(self.startPoints[0], self.startPoints[1]);
4065
+ }
4066
+ };
4067
+
4068
+ Guestures.prototype.onscroll = function (e) {
4069
+ var self = this;
4070
+
4071
+ self.isScrolling = true;
4072
+
4073
+ document.removeEventListener("scroll", self.onscroll, true);
4074
+ };
4075
+
4076
+ Guestures.prototype.ontouchmove = function (e) {
4077
+ var self = this;
4078
+
4079
+ // Make sure user has not released over iframe or disabled element
4080
+ if (e.originalEvent.buttons !== undefined && e.originalEvent.buttons === 0) {
4081
+ self.ontouchend(e);
4082
+ return;
4083
+ }
4084
+
4085
+ if (self.isScrolling) {
4086
+ self.canTap = false;
4087
+ return;
4088
+ }
4089
+
4090
+ self.newPoints = getPointerXY(e);
4091
+
4092
+ if (!(self.opts || self.canPan) || !self.newPoints.length || !self.newPoints.length) {
4093
+ return;
4094
+ }
4095
+
4096
+ if (!(self.isSwiping && self.isSwiping === true)) {
4097
+ e.preventDefault();
4098
+ }
4099
+
4100
+ self.distanceX = distance(self.newPoints[0], self.startPoints[0], "x");
4101
+ self.distanceY = distance(self.newPoints[0], self.startPoints[0], "y");
4102
+
4103
+ self.distance = distance(self.newPoints[0], self.startPoints[0]);
4104
+
4105
+ // Skip false ontouchmove events (Chrome)
4106
+ if (self.distance > 0) {
4107
+ if (self.isSwiping) {
4108
+ self.onSwipe(e);
4109
+ } else if (self.isPanning) {
4110
+ self.onPan();
4111
+ } else if (self.isZooming) {
4112
+ self.onZoom();
4113
+ }
4114
+ }
4115
+ };
4116
+
4117
+ Guestures.prototype.onSwipe = function (e) {
4118
+ var self = this,
4119
+ instance = self.instance,
4120
+ swiping = self.isSwiping,
4121
+ left = self.sliderStartPos.left || 0,
4122
+ angle;
4123
+
4124
+ // If direction is not yet determined
4125
+ if (swiping === true) {
4126
+ // We need at least 10px distance to correctly calculate an angle
4127
+ if (Math.abs(self.distance) > 10) {
4128
+ self.canTap = false;
4129
+
4130
+ if (instance.group.length < 2 && self.opts.vertical) {
4131
+ self.isSwiping = "y";
4132
+ } else if (instance.isDragging || self.opts.vertical === false || (self.opts.vertical === "auto" && $(window).width() > 800)) {
4133
+ self.isSwiping = "x";
4134
+ } else {
4135
+ angle = Math.abs((Math.atan2(self.distanceY, self.distanceX) * 180) / Math.PI);
4136
+
4137
+ self.isSwiping = angle > 45 && angle < 135 ? "y" : "x";
4138
+ }
4139
+
4140
+ if (self.isSwiping === "y" && $.modulaFancybox.isMobile && self.isScrollable) {
4141
+ self.isScrolling = true;
4142
+
4143
+ return;
4144
+ }
4145
+
4146
+ instance.isDragging = self.isSwiping;
4147
+
4148
+ // Reset points to avoid jumping, because we dropped first swipes to calculate the angle
4149
+ self.startPoints = self.newPoints;
4150
+
4151
+ $.each(instance.slides, function (index, slide) {
4152
+ var slidePos, stagePos;
4153
+
4154
+ $.modulaFancybox.stop(slide.$slide);
4155
+
4156
+ slidePos = $.modulaFancybox.getTranslate(slide.$slide);
4157
+ stagePos = $.modulaFancybox.getTranslate(instance.$refs.stage);
4158
+
4159
+ slide.$slide
4160
+ .css({
4161
+ transform: "",
4162
+ opacity: "",
4163
+ "transition-duration": ""
4164
+ })
4165
+ .removeClass("modula-fancybox-animated")
4166
+ .removeClass(function (index, className) {
4167
+ return (className.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" ");
4168
+ });
4169
+
4170
+ if (slide.pos === instance.current.pos) {
4171
+ self.sliderStartPos.top = slidePos.top - stagePos.top;
4172
+ self.sliderStartPos.left = slidePos.left - stagePos.left;
4173
+ }
4174
+
4175
+ $.modulaFancybox.setTranslate(slide.$slide, {
4176
+ top: slidePos.top - stagePos.top,
4177
+ left: slidePos.left - stagePos.left
4178
+ });
4179
+ });
4180
+
4181
+ // Stop slideshow
4182
+ if (instance.SlideShow && instance.SlideShow.isActive) {
4183
+ instance.SlideShow.stop();
4184
+ }
4185
+ }
4186
+
4187
+ return;
4188
+ }
4189
+
4190
+ // Sticky edges
4191
+ if (swiping == "x") {
4192
+ if (
4193
+ self.distanceX > 0 &&
4194
+ (self.instance.group.length < 2 || (self.instance.current.index === 0 && !self.instance.current.opts.loop))
4195
+ ) {
4196
+ left = left + Math.pow(self.distanceX, 0.8);
4197
+ } else if (
4198
+ self.distanceX < 0 &&
4199
+ (self.instance.group.length < 2 ||
4200
+ (self.instance.current.index === self.instance.group.length - 1 && !self.instance.current.opts.loop))
4201
+ ) {
4202
+ left = left - Math.pow(-self.distanceX, 0.8);
4203
+ } else {
4204
+ left = left + self.distanceX;
4205
+ }
4206
+ }
4207
+
4208
+ self.sliderLastPos = {
4209
+ top: swiping == "x" ? 0 : self.sliderStartPos.top + self.distanceY,
4210
+ left: left
4211
+ };
4212
+
4213
+ if (self.requestId) {
4214
+ cancelAFrame(self.requestId);
4215
+
4216
+ self.requestId = null;
4217
+ }
4218
+
4219
+ self.requestId = requestAFrame(function () {
4220
+ if (self.sliderLastPos) {
4221
+ $.each(self.instance.slides, function (index, slide) {
4222
+ var pos = slide.pos - self.instance.currPos;
4223
+
4224
+ $.modulaFancybox.setTranslate(slide.$slide, {
4225
+ top: self.sliderLastPos.top,
4226
+ left: self.sliderLastPos.left + pos * self.canvasWidth + pos * slide.opts.gutter
4227
+ });
4228
+ });
4229
+
4230
+ self.$container.addClass("modula-fancybox-is-sliding");
4231
+ }
4232
+ });
4233
+ };
4234
+
4235
+ Guestures.prototype.onPan = function () {
4236
+ var self = this;
4237
+
4238
+ // Prevent accidental movement (sometimes, when tapping casually, finger can move a bit)
4239
+ if (distance(self.newPoints[0], self.realPoints[0]) < ($.modulaFancybox.isMobile ? 10 : 5)) {
4240
+ self.startPoints = self.newPoints;
4241
+ return;
4242
+ }
4243
+
4244
+ self.canTap = false;
4245
+
4246
+ self.contentLastPos = self.limitMovement();
4247
+
4248
+ if (self.requestId) {
4249
+ cancelAFrame(self.requestId);
4250
+ }
4251
+
4252
+ self.requestId = requestAFrame(function () {
4253
+ $.modulaFancybox.setTranslate(self.$content, self.contentLastPos);
4254
+ });
4255
+ };
4256
+
4257
+ // Make panning sticky to the edges
4258
+ Guestures.prototype.limitMovement = function () {
4259
+ var self = this;
4260
+
4261
+ var canvasWidth = self.canvasWidth;
4262
+ var canvasHeight = self.canvasHeight;
4263
+
4264
+ var distanceX = self.distanceX;
4265
+ var distanceY = self.distanceY;
4266
+
4267
+ var contentStartPos = self.contentStartPos;
4268
+
4269
+ var currentOffsetX = contentStartPos.left;
4270
+ var currentOffsetY = contentStartPos.top;
4271
+
4272
+ var currentWidth = contentStartPos.width;
4273
+ var currentHeight = contentStartPos.height;
4274
+
4275
+ var minTranslateX, minTranslateY, maxTranslateX, maxTranslateY, newOffsetX, newOffsetY;
4276
+
4277
+ if (currentWidth > canvasWidth) {
4278
+ newOffsetX = currentOffsetX + distanceX;
4279
+ } else {
4280
+ newOffsetX = currentOffsetX;
4281
+ }
4282
+
4283
+ newOffsetY = currentOffsetY + distanceY;
4284
+
4285
+ // Slow down proportionally to traveled distance
4286
+ minTranslateX = Math.max(0, canvasWidth * 0.5 - currentWidth * 0.5);
4287
+ minTranslateY = Math.max(0, canvasHeight * 0.5 - currentHeight * 0.5);
4288
+
4289
+ maxTranslateX = Math.min(canvasWidth - currentWidth, canvasWidth * 0.5 - currentWidth * 0.5);
4290
+ maxTranslateY = Math.min(canvasHeight - currentHeight, canvasHeight * 0.5 - currentHeight * 0.5);
4291
+
4292
+ // ->
4293
+ if (distanceX > 0 && newOffsetX > minTranslateX) {
4294
+ newOffsetX = minTranslateX - 1 + Math.pow(-minTranslateX + currentOffsetX + distanceX, 0.8) || 0;
4295
+ }
4296
+
4297
+ // <-
4298
+ if (distanceX < 0 && newOffsetX < maxTranslateX) {
4299
+ newOffsetX = maxTranslateX + 1 - Math.pow(maxTranslateX - currentOffsetX - distanceX, 0.8) || 0;
4300
+ }
4301
+
4302
+ // \/
4303
+ if (distanceY > 0 && newOffsetY > minTranslateY) {
4304
+ newOffsetY = minTranslateY - 1 + Math.pow(-minTranslateY + currentOffsetY + distanceY, 0.8) || 0;
4305
+ }
4306
+
4307
+ // /\
4308
+ if (distanceY < 0 && newOffsetY < maxTranslateY) {
4309
+ newOffsetY = maxTranslateY + 1 - Math.pow(maxTranslateY - currentOffsetY - distanceY, 0.8) || 0;
4310
+ }
4311
+
4312
+ return {
4313
+ top: newOffsetY,
4314
+ left: newOffsetX
4315
+ };
4316
+ };
4317
+
4318
+ Guestures.prototype.limitPosition = function (newOffsetX, newOffsetY, newWidth, newHeight) {
4319
+ var self = this;
4320
+
4321
+ var canvasWidth = self.canvasWidth;
4322
+ var canvasHeight = self.canvasHeight;
4323
+
4324
+ if (newWidth > canvasWidth) {
4325
+ newOffsetX = newOffsetX > 0 ? 0 : newOffsetX;
4326
+ newOffsetX = newOffsetX < canvasWidth - newWidth ? canvasWidth - newWidth : newOffsetX;
4327
+ } else {
4328
+ // Center horizontally
4329
+ newOffsetX = Math.max(0, canvasWidth / 2 - newWidth / 2);
4330
+ }
4331
+
4332
+ if (newHeight > canvasHeight) {
4333
+ newOffsetY = newOffsetY > 0 ? 0 : newOffsetY;
4334
+ newOffsetY = newOffsetY < canvasHeight - newHeight ? canvasHeight - newHeight : newOffsetY;
4335
+ } else {
4336
+ // Center vertically
4337
+ newOffsetY = Math.max(0, canvasHeight / 2 - newHeight / 2);
4338
+ }
4339
+
4340
+ return {
4341
+ top: newOffsetY,
4342
+ left: newOffsetX
4343
+ };
4344
+ };
4345
+
4346
+ Guestures.prototype.onZoom = function () {
4347
+ var self = this;
4348
+
4349
+ // Calculate current distance between points to get pinch ratio and new width and height
4350
+ var contentStartPos = self.contentStartPos;
4351
+
4352
+ var currentWidth = contentStartPos.width;
4353
+ var currentHeight = contentStartPos.height;
4354
+
4355
+ var currentOffsetX = contentStartPos.left;
4356
+ var currentOffsetY = contentStartPos.top;
4357
+
4358
+ var endDistanceBetweenFingers = distance(self.newPoints[0], self.newPoints[1]);
4359
+
4360
+ var pinchRatio = endDistanceBetweenFingers / self.startDistanceBetweenFingers;
4361
+
4362
+ var newWidth = Math.floor(currentWidth * pinchRatio);
4363
+ var newHeight = Math.floor(currentHeight * pinchRatio);
4364
+
4365
+ // This is the translation due to pinch-zooming
4366
+ var translateFromZoomingX = (currentWidth - newWidth) * self.percentageOfImageAtPinchPointX;
4367
+ var translateFromZoomingY = (currentHeight - newHeight) * self.percentageOfImageAtPinchPointY;
4368
+
4369
+ // Point between the two touches
4370
+ var centerPointEndX = (self.newPoints[0].x + self.newPoints[1].x) / 2 - $(window).scrollLeft();
4371
+ var centerPointEndY = (self.newPoints[0].y + self.newPoints[1].y) / 2 - $(window).scrollTop();
4372
+
4373
+ // And this is the translation due to translation of the centerpoint
4374
+ // between the two fingers
4375
+ var translateFromTranslatingX = centerPointEndX - self.centerPointStartX;
4376
+ var translateFromTranslatingY = centerPointEndY - self.centerPointStartY;
4377
+
4378
+ // The new offset is the old/current one plus the total translation
4379
+ var newOffsetX = currentOffsetX + (translateFromZoomingX + translateFromTranslatingX);
4380
+ var newOffsetY = currentOffsetY + (translateFromZoomingY + translateFromTranslatingY);
4381
+
4382
+ var newPos = {
4383
+ top: newOffsetY,
4384
+ left: newOffsetX,
4385
+ scaleX: pinchRatio,
4386
+ scaleY: pinchRatio
4387
+ };
4388
+
4389
+ self.canTap = false;
4390
+
4391
+ self.newWidth = newWidth;
4392
+ self.newHeight = newHeight;
4393
+
4394
+ self.contentLastPos = newPos;
4395
+
4396
+ if (self.requestId) {
4397
+ cancelAFrame(self.requestId);
4398
+ }
4399
+
4400
+ self.requestId = requestAFrame(function () {
4401
+ $.modulaFancybox.setTranslate(self.$content, self.contentLastPos);
4402
+ });
4403
+ };
4404
+
4405
+ Guestures.prototype.ontouchend = function (e) {
4406
+ var self = this;
4407
+
4408
+ var swiping = self.isSwiping;
4409
+ var panning = self.isPanning;
4410
+ var zooming = self.isZooming;
4411
+ var scrolling = self.isScrolling;
4412
+
4413
+ self.endPoints = getPointerXY(e);
4414
+ self.dMs = Math.max(new Date().getTime() - self.startTime, 1);
4415
+
4416
+ self.$container.removeClass("modula-fancybox-is-grabbing");
4417
+
4418
+ $(document).off(".fb.touch");
4419
+
4420
+ document.removeEventListener("scroll", self.onscroll, true);
4421
+
4422
+ if (self.requestId) {
4423
+ cancelAFrame(self.requestId);
4424
+
4425
+ self.requestId = null;
4426
+ }
4427
+
4428
+ self.isSwiping = false;
4429
+ self.isPanning = false;
4430
+ self.isZooming = false;
4431
+ self.isScrolling = false;
4432
+
4433
+ self.instance.isDragging = false;
4434
+
4435
+ if (self.canTap) {
4436
+ return self.onTap(e);
4437
+ }
4438
+
4439
+ self.speed = 100;
4440
+
4441
+ // Speed in px/ms
4442
+ self.velocityX = (self.distanceX / self.dMs) * 0.5;
4443
+ self.velocityY = (self.distanceY / self.dMs) * 0.5;
4444
+
4445
+ if (panning) {
4446
+ self.endPanning();
4447
+ } else if (zooming) {
4448
+ self.endZooming();
4449
+ } else {
4450
+ self.endSwiping(swiping, scrolling);
4451
+ }
4452
+
4453
+ return;
4454
+ };
4455
+
4456
+ Guestures.prototype.endSwiping = function (swiping, scrolling) {
4457
+ var self = this,
4458
+ ret = false,
4459
+ len = self.instance.group.length,
4460
+ distanceX = Math.abs(self.distanceX),
4461
+ canAdvance = swiping == "x" && len > 1 && ((self.dMs > 130 && distanceX > 10) || distanceX > 50),
4462
+ speedX = 300;
4463
+
4464
+ self.sliderLastPos = null;
4465
+
4466
+ // Close if swiped vertically / navigate if horizontally
4467
+ if (swiping == "y" && !scrolling && Math.abs(self.distanceY) > 50) {
4468
+ // Continue vertical movement
4469
+ $.modulaFancybox.animate(
4470
+ self.instance.current.$slide, {
4471
+ top: self.sliderStartPos.top + self.distanceY + self.velocityY * 150,
4472
+ opacity: 0
4473
+ },
4474
+ 200
4475
+ );
4476
+ ret = self.instance.close(true, 250);
4477
+ } else if (canAdvance && self.distanceX > 0) {
4478
+ ret = self.instance.previous(speedX);
4479
+ } else if (canAdvance && self.distanceX < 0) {
4480
+ ret = self.instance.next(speedX);
4481
+ }
4482
+
4483
+ if (ret === false && (swiping == "x" || swiping == "y")) {
4484
+ self.instance.centerSlide(200);
4485
+ }
4486
+
4487
+ self.$container.removeClass("modula-fancybox-is-sliding");
4488
+ };
4489
+
4490
+ // Limit panning from edges
4491
+ // ========================
4492
+ Guestures.prototype.endPanning = function () {
4493
+ var self = this,
4494
+ newOffsetX,
4495
+ newOffsetY,
4496
+ newPos;
4497
+
4498
+ if (!self.contentLastPos) {
4499
+ return;
4500
+ }
4501
+
4502
+ if (self.opts.momentum === false || self.dMs > 350) {
4503
+ newOffsetX = self.contentLastPos.left;
4504
+ newOffsetY = self.contentLastPos.top;
4505
+ } else {
4506
+ // Continue movement
4507
+ newOffsetX = self.contentLastPos.left + self.velocityX * 500;
4508
+ newOffsetY = self.contentLastPos.top + self.velocityY * 500;
4509
+ }
4510
+
4511
+ newPos = self.limitPosition(newOffsetX, newOffsetY, self.contentStartPos.width, self.contentStartPos.height);
4512
+
4513
+ newPos.width = self.contentStartPos.width;
4514
+ newPos.height = self.contentStartPos.height;
4515
+
4516
+ $.modulaFancybox.animate(self.$content, newPos, 366);
4517
+ };
4518
+
4519
+ Guestures.prototype.endZooming = function () {
4520
+ var self = this;
4521
+
4522
+ var current = self.instance.current;
4523
+
4524
+ var newOffsetX, newOffsetY, newPos, reset;
4525
+
4526
+ var newWidth = self.newWidth;
4527
+ var newHeight = self.newHeight;
4528
+
4529
+ if (!self.contentLastPos) {
4530
+ return;
4531
+ }
4532
+
4533
+ newOffsetX = self.contentLastPos.left;
4534
+ newOffsetY = self.contentLastPos.top;
4535
+
4536
+ reset = {
4537
+ top: newOffsetY,
4538
+ left: newOffsetX,
4539
+ width: newWidth,
4540
+ height: newHeight,
4541
+ scaleX: 1,
4542
+ scaleY: 1
4543
+ };
4544
+
4545
+ // Reset scalex/scaleY values; this helps for perfomance and does not break animation
4546
+ $.modulaFancybox.setTranslate(self.$content, reset);
4547
+
4548
+ if (newWidth < self.canvasWidth && newHeight < self.canvasHeight) {
4549
+ self.instance.scaleToFit(150);
4550
+ } else if (newWidth > current.width || newHeight > current.height) {
4551
+ self.instance.scaleToActual(self.centerPointStartX, self.centerPointStartY, 150);
4552
+ } else {
4553
+ newPos = self.limitPosition(newOffsetX, newOffsetY, newWidth, newHeight);
4554
+
4555
+ $.modulaFancybox.animate(self.$content, newPos, 150);
4556
+ }
4557
+ };
4558
+
4559
+ Guestures.prototype.onTap = function (e) {
4560
+ var self = this;
4561
+ var $target = $(e.target);
4562
+
4563
+ var instance = self.instance;
4564
+ var current = instance.current;
4565
+
4566
+ var endPoints = (e && getPointerXY(e)) || self.startPoints;
4567
+
4568
+ var tapX = endPoints[0] ? endPoints[0].x - $(window).scrollLeft() - self.stagePos.left : 0;
4569
+ var tapY = endPoints[0] ? endPoints[0].y - $(window).scrollTop() - self.stagePos.top : 0;
4570
+
4571
+ var where;
4572
+
4573
+ var process = function (prefix) {
4574
+ var action = current.opts[prefix];
4575
+
4576
+ if ($.isFunction(action)) {
4577
+ action = action.apply(instance, [current, e]);
4578
+ }
4579
+
4580
+ if (!action) {
4581
+ return;
4582
+ }
4583
+
4584
+ switch (action) {
4585
+ case "close":
4586
+ instance.close(self.startEvent);
4587
+
4588
+ break;
4589
+
4590
+ case "toggleControls":
4591
+ instance.toggleControls();
4592
+
4593
+ break;
4594
+
4595
+ case "next":
4596
+ instance.next();
4597
+
4598
+ break;
4599
+
4600
+ case "nextOrClose":
4601
+ if (instance.group.length > 1) {
4602
+ instance.next();
4603
+ } else {
4604
+ instance.close(self.startEvent);
4605
+ }
4606
+
4607
+ break;
4608
+
4609
+ case "zoom":
4610
+ if (current.type == "image" && (current.isLoaded || current.$ghost)) {
4611
+ if (instance.canPan()) {
4612
+ instance.scaleToFit();
4613
+ } else if (instance.isScaledDown()) {
4614
+ instance.scaleToActual(tapX, tapY);
4615
+ } else if (instance.group.length < 2) {
4616
+ instance.close(self.startEvent);
4617
+ }
4618
+ }
4619
+
4620
+ break;
4621
+ }
4622
+ };
4623
+
4624
+ // Ignore right click
4625
+ if (e.originalEvent && e.originalEvent.button == 2) {
4626
+ return;
4627
+ }
4628
+
4629
+ // Skip if clicked on the scrollbar
4630
+ if (!$target.is("img") && tapX > $target[0].clientWidth + $target.offset().left) {
4631
+ return;
4632
+ }
4633
+
4634
+ // Check where is clicked
4635
+ if ($target.is(".modula-fancybox-bg,.modula-fancybox-inner,.modula-fancybox-outer,.modula-fancybox-container")) {
4636
+ where = "Outside";
4637
+ } else if ($target.is(".modula-fancybox-slide")) {
4638
+ where = "Slide";
4639
+ } else if (
4640
+ instance.current.$content &&
4641
+ instance.current.$content
4642
+ .find($target)
4643
+ .addBack()
4644
+ .filter($target).length
4645
+ ) {
4646
+ where = "Content";
4647
+ } else {
4648
+ return;
4649
+ }
4650
+
4651
+ // Check if this is a double tap
4652
+ if (self.tapped) {
4653
+ // Stop previously created single tap
4654
+ clearTimeout(self.tapped);
4655
+ self.tapped = null;
4656
+
4657
+ // Skip if distance between taps is too big
4658
+ if (Math.abs(tapX - self.tapX) > 50 || Math.abs(tapY - self.tapY) > 50) {
4659
+ return this;
4660
+ }
4661
+
4662
+ // OK, now we assume that this is a double-tap
4663
+ process("dblclick" + where);
4664
+ } else {
4665
+ // Single tap will be processed if user has not clicked second time within 300ms
4666
+ // or there is no need to wait for double-tap
4667
+ self.tapX = tapX;
4668
+ self.tapY = tapY;
4669
+
4670
+ if (current.opts["dblclick" + where] && current.opts["dblclick" + where] !== current.opts["click" + where]) {
4671
+ self.tapped = setTimeout(function () {
4672
+ self.tapped = null;
4673
+
4674
+ if (!instance.isAnimating) {
4675
+ process("click" + where);
4676
+ }
4677
+ }, 500);
4678
+ } else {
4679
+ process("click" + where);
4680
+ }
4681
+ }
4682
+
4683
+ return this;
4684
+ };
4685
+
4686
+ $(document)
4687
+ .on("onActivate.fb", function (e, instance) {
4688
+ if (instance && !instance.Guestures) {
4689
+ instance.Guestures = new Guestures(instance);
4690
+ }
4691
+ })
4692
+ .on("beforeClose.fb", function (e, instance) {
4693
+ if (instance && instance.Guestures) {
4694
+ instance.Guestures.destroy();
4695
+ }
4696
+ });
4697
+ })(window, document, jQuery);
4698
+ // ==========================================================================
4699
+ //
4700
+ // SlideShow
4701
+ // Enables slideshow functionality
4702
+ //
4703
+ // Example of usage:
4704
+ // $.modulaFancybox.getInstance().SlideShow.start()
4705
+ //
4706
+ // ==========================================================================
4707
+ (function (document, $) {
4708
+ "use strict";
4709
+
4710
+ $.extend(true, $.modulaFancybox.defaults, {
4711
+ btnTpl: {
4712
+ slideShow: '<button data-fancybox-play class="modula-fancybox-button modula-fancybox-button--play" title="{{PLAY_START}}">' +
4713
+ '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.5 5.4v13.2l11-6.6z"/></svg>' +
4714
+ '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.33 5.75h2.2v12.5h-2.2V5.75zm5.15 0h2.2v12.5h-2.2V5.75z"/></svg>' +
4715
+ "</button>"
4716
+ },
4717
+ slideShow: {
4718
+ autoStart: false,
4719
+ speed: 3000,
4720
+ progress: true
4721
+ }
4722
+ });
4723
+
4724
+ var SlideShow = function (instance) {
4725
+ this.instance = instance;
4726
+ this.init();
4727
+ };
4728
+
4729
+ $.extend(SlideShow.prototype, {
4730
+ timer: null,
4731
+ isActive: false,
4732
+ $button: null,
4733
+
4734
+ init: function () {
4735
+ var self = this,
4736
+ instance = self.instance,
4737
+ opts = instance.group[instance.currIndex].opts.slideShow;
4738
+
4739
+ self.$button = instance.$refs.toolbar.find("[data-fancybox-play]").on("click", function () {
4740
+ self.toggle();
4741
+ });
4742
+
4743
+ if (instance.group.length < 2 || !opts) {
4744
+ self.$button.hide();
4745
+ } else if (opts.progress) {
4746
+ self.$progress = $('<div class="modula-fancybox-progress"></div>').appendTo(instance.$refs.inner);
4747
+ }
4748
+ },
4749
+
4750
+ set: function (force) {
4751
+ var self = this,
4752
+ instance = self.instance,
4753
+ current = instance.current;
4754
+
4755
+ // Check if reached last element
4756
+ if (current && (force === true || current.opts.loop || instance.currIndex < instance.group.length - 1)) {
4757
+ if (self.isActive && current.contentType !== "video") {
4758
+ if (self.$progress) {
4759
+ $.modulaFancybox.animate(self.$progress.show(), {
4760
+ scaleX: 1
4761
+ }, current.opts.slideShow.speed);
4762
+ }
4763
+
4764
+ self.timer = setTimeout(function () {
4765
+ if (!instance.current.opts.loop && instance.current.index == instance.group.length - 1) {
4766
+ instance.jumpTo(0);
4767
+ } else {
4768
+ instance.next();
4769
+ }
4770
+ }, current.opts.slideShow.speed);
4771
+ }
4772
+ } else {
4773
+ self.stop();
4774
+ instance.idleSecondsCounter = 0;
4775
+ instance.showControls();
4776
+ }
4777
+ },
4778
+
4779
+ clear: function () {
4780
+ var self = this;
4781
+
4782
+ clearTimeout(self.timer);
4783
+
4784
+ self.timer = null;
4785
+
4786
+ if (self.$progress) {
4787
+ self.$progress.removeAttr("style").hide();
4788
+ }
4789
+ },
4790
+
4791
+ start: function () {
4792
+ var self = this,
4793
+ current = self.instance.current;
4794
+
4795
+ if (current) {
4796
+ self.$button
4797
+ .attr("title", (current.opts.i18n[current.opts.lang] || current.opts.i18n.en).PLAY_STOP)
4798
+ .removeClass("modula-fancybox-button--play")
4799
+ .addClass("modula-fancybox-button--pause");
4800
+
4801
+ self.isActive = true;
4802
+
4803
+ if (current.isComplete) {
4804
+ self.set(true);
4805
+ }
4806
+
4807
+ self.instance.trigger("onSlideShowChange", true);
4808
+ }
4809
+ },
4810
+
4811
+ stop: function () {
4812
+ var self = this,
4813
+ current = self.instance.current;
4814
+
4815
+ self.clear();
4816
+
4817
+ self.$button
4818
+ .attr("title", (current.opts.i18n[current.opts.lang] || current.opts.i18n.en).PLAY_START)
4819
+ .removeClass("modula-fancybox-button--pause")
4820
+ .addClass("modula-fancybox-button--play");
4821
+
4822
+ self.isActive = false;
4823
+
4824
+ self.instance.trigger("onSlideShowChange", false);
4825
+
4826
+ if (self.$progress) {
4827
+ self.$progress.removeAttr("style").hide();
4828
+ }
4829
+ },
4830
+
4831
+ toggle: function () {
4832
+ var self = this;
4833
+
4834
+ if (self.isActive) {
4835
+ self.stop();
4836
+ } else {
4837
+ self.start();
4838
+ }
4839
+ }
4840
+ });
4841
+
4842
+ $(document).on({
4843
+ "onInit.fb": function (e, instance) {
4844
+ if (instance && !instance.SlideShow) {
4845
+ instance.SlideShow = new SlideShow(instance);
4846
+ }
4847
+ },
4848
+
4849
+ "beforeShow.fb": function (e, instance, current, firstRun) {
4850
+ var SlideShow = instance && instance.SlideShow;
4851
+
4852
+ if (firstRun) {
4853
+ if (SlideShow && current.opts.slideShow.autoStart) {
4854
+ SlideShow.start();
4855
+ }
4856
+ } else if (SlideShow && SlideShow.isActive) {
4857
+ SlideShow.clear();
4858
+ }
4859
+ },
4860
+
4861
+ "afterShow.fb": function (e, instance, current) {
4862
+ var SlideShow = instance && instance.SlideShow;
4863
+
4864
+ if (SlideShow && SlideShow.isActive) {
4865
+ SlideShow.set();
4866
+ }
4867
+ },
4868
+
4869
+ "afterKeydown.fb": function (e, instance, current, keypress, keycode) {
4870
+ var SlideShow = instance && instance.SlideShow;
4871
+
4872
+ // "P" or Spacebar
4873
+ if (SlideShow && current.opts.slideShow && (keycode === 80 || keycode === 32) && !$(document.activeElement).is("button,a,input")) {
4874
+ keypress.preventDefault();
4875
+
4876
+ SlideShow.toggle();
4877
+ }
4878
+ },
4879
+
4880
+ "beforeClose.fb onDeactivate.fb": function (e, instance) {
4881
+ var SlideShow = instance && instance.SlideShow;
4882
+
4883
+ if (SlideShow) {
4884
+ SlideShow.stop();
4885
+ }
4886
+ }
4887
+ });
4888
+
4889
+ // Page Visibility API to pause slideshow when window is not active
4890
+ $(document).on("visibilitychange", function () {
4891
+ var instance = $.modulaFancybox.getInstance(),
4892
+ SlideShow = instance && instance.SlideShow;
4893
+
4894
+ if (SlideShow && SlideShow.isActive) {
4895
+ if (document.hidden) {
4896
+ SlideShow.clear();
4897
+ } else {
4898
+ SlideShow.set();
4899
+ }
4900
+ }
4901
+ });
4902
+ })(document, jQuery);
4903
+ // ==========================================================================
4904
+ //
4905
+ // FullScreen
4906
+ // Adds fullscreen functionality
4907
+ //
4908
+ // ==========================================================================
4909
+ (function (document, $) {
4910
+ "use strict";
4911
+
4912
+ // Collection of methods supported by user browser
4913
+ var fn = (function () {
4914
+ var fnMap = [
4915
+ ["requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror"],
4916
+ // new WebKit
4917
+ [
4918
+ "webkitRequestFullscreen",
4919
+ "webkitExitFullscreen",
4920
+ "webkitFullscreenElement",
4921
+ "webkitFullscreenEnabled",
4922
+ "webkitfullscreenchange",
4923
+ "webkitfullscreenerror"
4924
+ ],
4925
+ // old WebKit (Safari 5.1)
4926
+ [
4927
+ "webkitRequestFullScreen",
4928
+ "webkitCancelFullScreen",
4929
+ "webkitCurrentFullScreenElement",
4930
+ "webkitCancelFullScreen",
4931
+ "webkitfullscreenchange",
4932
+ "webkitfullscreenerror"
4933
+ ],
4934
+ [
4935
+ "mozRequestFullScreen",
4936
+ "mozCancelFullScreen",
4937
+ "mozFullScreenElement",
4938
+ "mozFullScreenEnabled",
4939
+ "mozfullscreenchange",
4940
+ "mozfullscreenerror"
4941
+ ],
4942
+ ["msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError"]
4943
+ ];
4944
+
4945
+ var ret = {};
4946
+
4947
+ for (var i = 0; i < fnMap.length; i++) {
4948
+ var val = fnMap[i];
4949
+
4950
+ if (val && val[1] in document) {
4951
+ for (var j = 0; j < val.length; j++) {
4952
+ ret[fnMap[0][j]] = val[j];
4953
+ }
4954
+
4955
+ return ret;
4956
+ }
4957
+ }
4958
+
4959
+ return false;
4960
+ })();
4961
+
4962
+ if (fn) {
4963
+ var FullScreen = {
4964
+ request: function (elem) {
4965
+ elem = elem || document.documentElement;
4966
+
4967
+ elem[fn.requestFullscreen](elem.ALLOW_KEYBOARD_INPUT);
4968
+ },
4969
+ exit: function () {
4970
+ document[fn.exitFullscreen]();
4971
+ },
4972
+ toggle: function (elem) {
4973
+ elem = elem || document.documentElement;
4974
+
4975
+ if (this.isFullscreen()) {
4976
+ this.exit();
4977
+ } else {
4978
+ this.request(elem);
4979
+ }
4980
+ },
4981
+ isFullscreen: function () {
4982
+ return Boolean(document[fn.fullscreenElement]);
4983
+ },
4984
+ enabled: function () {
4985
+ return Boolean(document[fn.fullscreenEnabled]);
4986
+ }
4987
+ };
4988
+
4989
+ $.extend(true, $.modulaFancybox.defaults, {
4990
+ btnTpl: {
4991
+ fullScreen: '<button data-fancybox-fullscreen class="modula-fancybox-button modula-fancybox-button--fsenter" title="{{FULL_SCREEN}}">' +
4992
+ '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg>' +
4993
+ '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 16h3v3h2v-5H5zm3-8H5v2h5V5H8zm6 11h2v-3h3v-2h-5zm2-11V5h-2v5h5V8z"/></svg>' +
4994
+ "</button>"
4995
+ },
4996
+ fullScreen: {
4997
+ autoStart: false
4998
+ }
4999
+ });
5000
+
5001
+ $(document).on(fn.fullscreenchange, function () {
5002
+ var isFullscreen = FullScreen.isFullscreen(),
5003
+ instance = $.modulaFancybox.getInstance();
5004
+
5005
+ if (instance) {
5006
+ // If image is zooming, then force to stop and reposition properly
5007
+ if (instance.current && instance.current.type === "image" && instance.isAnimating) {
5008
+ instance.isAnimating = false;
5009
+
5010
+ instance.update(true, true, 0);
5011
+
5012
+ if (!instance.isComplete) {
5013
+ instance.complete();
5014
+ }
5015
+ }
5016
+
5017
+ instance.trigger("onFullscreenChange", isFullscreen);
5018
+
5019
+ instance.$refs.container.toggleClass("modula-fancybox-is-fullscreen", isFullscreen);
5020
+
5021
+ instance.$refs.toolbar
5022
+ .find("[data-fancybox-fullscreen]")
5023
+ .toggleClass("modula-fancybox-button--fsenter", !isFullscreen)
5024
+ .toggleClass("modula-fancybox-button--fsexit", isFullscreen);
5025
+ }
5026
+ });
5027
+ }
5028
+
5029
+ $(document).on({
5030
+ "onInit.fb": function (e, instance) {
5031
+ var $container;
5032
+
5033
+ if (!fn) {
5034
+ instance.$refs.toolbar.find("[data-fancybox-fullscreen]").remove();
5035
+
5036
+ return;
5037
+ }
5038
+
5039
+ if (instance && instance.group[instance.currIndex].opts.fullScreen) {
5040
+ $container = instance.$refs.container;
5041
+
5042
+ $container.on("click.fb-fullscreen", "[data-fancybox-fullscreen]", function (e) {
5043
+ e.stopPropagation();
5044
+ e.preventDefault();
5045
+
5046
+ FullScreen.toggle();
5047
+ });
5048
+
5049
+ if (instance.opts.fullScreen && instance.opts.fullScreen.autoStart === true) {
5050
+ FullScreen.request();
5051
+ }
5052
+
5053
+ // Expose API
5054
+ instance.FullScreen = FullScreen;
5055
+ } else if (instance) {
5056
+ instance.$refs.toolbar.find("[data-fancybox-fullscreen]").hide();
5057
+ }
5058
+ },
5059
+
5060
+ "afterKeydown.fb": function (e, instance, current, keypress, keycode) {
5061
+ // "F"
5062
+ if (instance && instance.FullScreen && keycode === 70) {
5063
+ keypress.preventDefault();
5064
+
5065
+ instance.FullScreen.toggle();
5066
+ }
5067
+ },
5068
+
5069
+ "beforeClose.fb": function (e, instance) {
5070
+ if (instance && instance.FullScreen && instance.$refs.container.hasClass("modula-fancybox-is-fullscreen")) {
5071
+ FullScreen.exit();
5072
+ }
5073
+ }
5074
+ });
5075
+ })(document, jQuery);
5076
+ // ==========================================================================
5077
+ //
5078
+ // Thumbs
5079
+ // Displays thumbnails in a grid
5080
+ //
5081
+ // ==========================================================================
5082
+ (function (document, $) {
5083
+ "use strict";
5084
+
5085
+ var CLASS = "modula-fancybox-thumbs",
5086
+ CLASS_ACTIVE = CLASS + "-active";
5087
+
5088
+ // Make sure there are default values
5089
+ $.modulaFancybox.defaults = $.extend(
5090
+ true, {
5091
+ btnTpl: {
5092
+ thumbs: '<button data-fancybox-thumbs class="modula-fancybox-button modula-fancybox-button--thumbs" title="{{THUMBS}}">' +
5093
+ '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.59 14.59h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76H5.65V5.65z"/></svg>' +
5094
+ "</button>"
5095
+ },
5096
+ thumbs: {
5097
+ autoStart: false, // Display thumbnails on opening
5098
+ hideOnClose: true, // Hide thumbnail grid when closing animation starts
5099
+ parentEl: ".modula-fancybox-container", // Container is injected into this element
5100
+ axis: "y" // Vertical (y) or horizontal (x) scrolling
5101
+ }
5102
+ },
5103
+ $.modulaFancybox.defaults
5104
+ );
5105
+
5106
+ var modulaFancyThumbs = function (instance) {
5107
+ this.init(instance);
5108
+ };
5109
+
5110
+ $.extend(modulaFancyThumbs.prototype, {
5111
+ $button: null,
5112
+ $grid: null,
5113
+ $list: null,
5114
+ isVisible: false,
5115
+ isActive: false,
5116
+
5117
+ init: function (instance) {
5118
+
5119
+ var self = this,
5120
+ group = instance.group,
5121
+ enabled = 0;
5122
+
5123
+ self.instance = instance;
5124
+ self.opts = group[instance.currIndex].opts.thumbs;
5125
+
5126
+ instance.Thumbs = self;
5127
+
5128
+ self.$button = instance.$refs.toolbar.find("[data-fancybox-thumbs]");
5129
+ // Enable thumbs if at least two group items have thumbnails
5130
+ for (var i = 0, len = group.length; i < len; i++) {
5131
+ if (group[i].thumb) {
5132
+ enabled++;
5133
+ }
5134
+
5135
+ if (enabled > 1) {
5136
+ break;
5137
+ }
5138
+ }
5139
+
5140
+
5141
+ if (enabled > 1 && !!self.opts) {
5142
+ self.$button.removeAttr("style").on("click", function () {
5143
+ self.toggle();
5144
+ });
5145
+
5146
+ self.isActive = true;
5147
+ } else {
5148
+ self.$button.hide();
5149
+ }
5150
+ },
5151
+
5152
+ create: function () {
5153
+ var self = this,
5154
+ instance = self.instance,
5155
+ parentEl = self.opts.parentEl,
5156
+ list = [],
5157
+ src;
5158
+
5159
+ if (!self.$grid) {
5160
+ // Create main element
5161
+ self.$grid = $('<div class="' + CLASS + " " + CLASS + "-" + self.opts.axis + '"></div>').appendTo(
5162
+ instance.$refs.container
5163
+ .find(parentEl)
5164
+ .addBack()
5165
+ .filter(parentEl)
5166
+ );
5167
+
5168
+ // Add "click" event that performs gallery navigation
5169
+ self.$grid.on("click", "a", function () {
5170
+ instance.jumpTo($(this).attr("data-index"));
5171
+ });
5172
+ }
5173
+
5174
+ // Build the list
5175
+ if (!self.$list) {
5176
+ self.$list = $('<div class="' + CLASS + '__list">').appendTo(self.$grid);
5177
+ }
5178
+
5179
+ $.each(instance.group, function (i, item) {
5180
+ src = item.thumb;
5181
+
5182
+ if (!src && item.type === "image") {
5183
+ src = item.src;
5184
+ }
5185
+
5186
+ list.push(
5187
+ '<a href="javascript:;" tabindex="0" data-index="' +
5188
+ i +
5189
+ '"' +
5190
+ (src && src.length ? ' style="background-image:url(' + src + ')"' : 'class="modula-fancybox-thumbs-missing"') +
5191
+ "></a>"
5192
+ );
5193
+ });
5194
+
5195
+ self.$list[0].innerHTML = list.join("");
5196
+
5197
+ if (self.opts.axis === "x") {
5198
+ // Set fixed width for list element to enable horizontal scrolling
5199
+ self.$list.width(
5200
+ parseInt(self.$grid.css("padding-right"), 10) +
5201
+ instance.group.length *
5202
+ self.$list
5203
+ .children()
5204
+ .eq(0)
5205
+ .outerWidth(true)
5206
+ );
5207
+ }
5208
+ },
5209
+
5210
+ focus: function (duration) {
5211
+ var self = this,
5212
+ $list = self.$list,
5213
+ $grid = self.$grid,
5214
+ thumb,
5215
+ thumbPos;
5216
+
5217
+ if (!self.instance.current) {
5218
+ return;
5219
+ }
5220
+
5221
+ thumb = $list
5222
+ .children()
5223
+ .removeClass(CLASS_ACTIVE)
5224
+ .filter('[data-index="' + self.instance.current.index + '"]')
5225
+ .addClass(CLASS_ACTIVE);
5226
+
5227
+ thumbPos = thumb.position();
5228
+
5229
+ // Check if need to scroll to make current thumb visible
5230
+ if (self.opts.axis === "y" && (thumbPos.top < 0 || thumbPos.top > $list.height() - thumb.outerHeight())) {
5231
+ $list.stop().animate({
5232
+ scrollTop: $list.scrollTop() + thumbPos.top
5233
+ },
5234
+ duration
5235
+ );
5236
+ } else if (
5237
+ self.opts.axis === "x" &&
5238
+ (thumbPos.left < $grid.scrollLeft() || thumbPos.left > $grid.scrollLeft() + ($grid.width() - thumb.outerWidth()))
5239
+ ) {
5240
+ $list
5241
+ .parent()
5242
+ .stop()
5243
+ .animate({
5244
+ scrollLeft: thumbPos.left
5245
+ },
5246
+ duration
5247
+ );
5248
+ }
5249
+ },
5250
+
5251
+ update: function () {
5252
+ var that = this;
5253
+ that.instance.$refs.container.toggleClass("modula-fancybox-show-thumbs", this.isVisible);
5254
+
5255
+ if (that.isVisible) {
5256
+ if (!that.$grid) {
5257
+ that.create();
5258
+ }
5259
+
5260
+ that.instance.trigger("onThumbsShow");
5261
+
5262
+ that.focus(0);
5263
+ } else if (that.$grid) {
5264
+ that.instance.trigger("onThumbsHide");
5265
+ }
5266
+
5267
+ // Update content position
5268
+ that.instance.update();
5269
+ },
5270
+
5271
+ hide: function () {
5272
+ this.isVisible = false;
5273
+ this.update();
5274
+ },
5275
+
5276
+ show: function () {
5277
+ this.isVisible = true;
5278
+ this.update();
5279
+ },
5280
+
5281
+ toggle: function () {
5282
+ this.isVisible = !this.isVisible;
5283
+ this.update();
5284
+ }
5285
+ });
5286
+
5287
+ $(document).on({
5288
+ "onInit.fb": function (e, instance) {
5289
+ var Thumbs;
5290
+
5291
+ if (instance && !instance.Thumbs) {
5292
+ Thumbs = new modulaFancyThumbs(instance);
5293
+
5294
+ if (Thumbs.isActive && Thumbs.opts.autoStart === true) {
5295
+ Thumbs.show();
5296
+ }
5297
+ }
5298
+ },
5299
+
5300
+ "beforeShow.fb": function (e, instance, item, firstRun) {
5301
+ var Thumbs = instance && instance.Thumbs;
5302
+
5303
+ if (Thumbs && Thumbs.isVisible) {
5304
+ Thumbs.focus(firstRun ? 0 : 250);
5305
+ }
5306
+ },
5307
+
5308
+ "afterKeydown.fb": function (e, instance, current, keypress, keycode) {
5309
+ var Thumbs = instance && instance.Thumbs;
5310
+
5311
+ // "G"
5312
+ if (Thumbs && Thumbs.isActive && keycode === 71) {
5313
+ keypress.preventDefault();
5314
+
5315
+ Thumbs.toggle();
5316
+ }
5317
+ },
5318
+
5319
+ "beforeClose.fb": function (e, instance) {
5320
+ var Thumbs = instance && instance.Thumbs;
5321
+
5322
+ if (Thumbs && Thumbs.isVisible && Thumbs.opts.hideOnClose !== false) {
5323
+ Thumbs.$grid.hide();
5324
+ }
5325
+ }
5326
+ });
5327
+ })(document, jQuery);
5328
+ //// ==========================================================================
5329
+ //
5330
+ // Share
5331
+ // Displays simple form for sharing current url
5332
+ //
5333
+ // ==========================================================================
5334
+ (function (document, $) {
5335
+ "use strict";
5336
+
5337
+ $.extend(true, $.modulaFancybox.defaults, {
5338
+ btnTpl: {
5339
+ share: '<button data-fancybox-share class="modula-fancybox-button modula-fancybox-button--share" title="{{SHARE}}">' +
5340
+ '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.55 19c1.4-8.4 9.1-9.8 11.9-9.8V5l7 7-7 6.3v-3.5c-2.8 0-10.5 2.1-11.9 4.2z"/></svg>' +
5341
+ "</button>"
5342
+ },
5343
+ share: {
5344
+ url: function (instance, item) {
5345
+ return (
5346
+ (!instance.currentHash && !(item.type === "inline" || item.type === "html") ? item.origSrc || item.src : false) || window.location
5347
+ );
5348
+ },
5349
+ /* tpl: '<div class="modula-fancybox-share">' +
5350
+ "<h1>{{SHARE}}</h1>" +
5351
+ "<p>" +
5352
+ '<a class="modula-fancybox-share__button modula-fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}">' +
5353
+ '<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" /></svg>' +
5354
+ "<span>Facebook</span>" +
5355
+ "</a>" +
5356
+ '<a class="modula-fancybox-share__button modula-fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&text={{descr}}">' +
5357
+ '<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" /></svg>' +
5358
+ "<span>Twitter</span>" +
5359
+ "</a>" +
5360
+ '<a class="modula-fancybox-share__button modula-fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&description={{descr}}&media={{media}}">' +
5361
+ '<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#fff"/></svg>' +
5362
+ "<span>Pinterest</span>" +
5363
+ "</a>" +
5364
+ "</p>" +
5365
+ '<p><input class="modula-fancybox-share__input" type="text" value="{{url_raw}}" onclick="select()" /></p>' +
5366
+ "</div>"*/
5367
+ }
5368
+ });
5369
+
5370
+ function escapeHtml(string) {
5371
+ var entityMap = {
5372
+ "&": "&amp;",
5373
+ "<": "&lt;",
5374
+ ">": "&gt;",
5375
+ '"': "&quot;",
5376
+ "'": "&#39;",
5377
+ "/": "&#x2F;",
5378
+ "`": "&#x60;",
5379
+ "=": "&#x3D;"
5380
+ };
5381
+
5382
+ return String(string).replace(/[&<>"'`=\/]/g, function (s) {
5383
+ return entityMap[s];
5384
+ });
5385
+ }
5386
+
5387
+ $(document).on("click", "[data-fancybox-share]", function () {
5388
+ var instance = $.modulaFancybox.getInstance(),
5389
+ current = instance.current || null,
5390
+ url,
5391
+ tpl = "<div class='modula-fancybox-share'><h1>{{SHARE}}</h1><p>";
5392
+
5393
+ if (!current) {
5394
+ return;
5395
+ }
5396
+
5397
+ if ($.type(current.opts.share.url) === "function") {
5398
+ url = current.opts.share.url.apply(current, [instance, current]);
5399
+ }
5400
+
5401
+ $.each(current.opts.modulaShare, function (index, value) {
5402
+ tpl += current.opts.shareBtnTpl[value]
5403
+ .replace(/\{\{media\}\}/g, current.type === "image" ? encodeURIComponent(current.src) : "")
5404
+ .replace(/\{\{modulaShareUrl\}\}/g, encodeURIComponent(url))
5405
+ .replace(/\{\{descr\}\}/g, instance.$caption ? encodeURIComponent(instance.$caption.text()) : "");
5406
+ });
5407
+
5408
+ tpl += "</p><p><input class='modula-fancybox-share__input' type='text' value='{{url_raw}}' /></p></div>";
5409
+
5410
+ tpl = tpl.replace(/\{\{url_raw\}\}/g, escapeHtml(url));
5411
+
5412
+ /*
5413
+ tpl = current.opts.share.tpl
5414
+ .replace(/\{\{media\}\}/g, current.type === "image" ? encodeURIComponent(current.src) : "")
5415
+ .replace(/\{\{url\}\}/g, encodeURIComponent(url))
5416
+ .replace(/\{\{url_raw\}\}/g, escapeHtml(url))
5417
+ .replace(/\{\{descr\}\}/g, instance.$caption ? encodeURIComponent(instance.$caption.text()) : "");*/
5418
+
5419
+ $.modulaFancybox.open({
5420
+ src: instance.translate(instance, tpl),
5421
+ type: "html",
5422
+ opts: {
5423
+ touch: false,
5424
+ animationEffect: false,
5425
+ afterLoad: function (shareInstance, shareCurrent) {
5426
+ // Close self if parent instance is closing
5427
+ instance.$refs.container.one("beforeClose.fb", function () {
5428
+ shareInstance.close(null, 0);
5429
+ });
5430
+
5431
+ // Opening links in a popup window
5432
+ shareCurrent.$content.find(".modula-fancybox-share__button").click(function () {
5433
+ window.open(this.href, "Share", "width=550, height=450");
5434
+ return false;
5435
+ });
5436
+ },
5437
+ mobile: {
5438
+ autoFocus: false
5439
+ }
5440
+ }
5441
+ });
5442
+ });
5443
+ })(document, jQuery);
5444
+ // ==========================================================================
5445
+ //
5446
+ // Hash
5447
+ // Enables linking to each modal
5448
+ //
5449
+ // ==========================================================================
5450
+ (function (window, document, $) {
5451
+ "use strict";
5452
+
5453
+ // Simple $.escapeSelector polyfill (for jQuery prior v3)
5454
+ if (!$.escapeSelector) {
5455
+ $.escapeSelector = function (sel) {
5456
+ var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
5457
+ var fcssescape = function (ch, asCodePoint) {
5458
+ if (asCodePoint) {
5459
+ // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
5460
+ if (ch === "\0") {
5461
+ return "\uFFFD";
5462
+ }
5463
+
5464
+ // Control characters and (dependent upon position) numbers get escaped as code points
5465
+ return ch.slice(0, -1) + "\\" + ch.charCodeAt(ch.length - 1).toString(16) + " ";
5466
+ }
5467
+
5468
+ // Other potentially-special ASCII characters get backslash-escaped
5469
+ return "\\" + ch;
5470
+ };
5471
+
5472
+ return (sel + "").replace(rcssescape, fcssescape);
5473
+ };
5474
+ }
5475
+
5476
+ // Get info about gallery name and current index from url
5477
+ function parseUrl() {
5478
+ var hash = window.location.hash.substr(1),
5479
+ rez = hash.split("-"),
5480
+ index = rez.length > 1 && /^\+?\d+$/.test(rez[rez.length - 1]) ? parseInt(rez.pop(-1), 10) || 1 : 1,
5481
+ gallery = rez.join("-");
5482
+
5483
+ return {
5484
+ hash: hash,
5485
+ /* Index is starting from 1 */
5486
+ index: index < 1 ? 1 : index,
5487
+ gallery: gallery
5488
+ };
5489
+ }
5490
+
5491
+ // Trigger click evnt on links to open new fancyBox instance
5492
+ function triggerFromUrl(url) {
5493
+ if (url.gallery !== "") {
5494
+ // If we can find element matching 'data-fancybox' atribute,
5495
+ // then triggering click event should start fancyBox
5496
+ $("[data-fancybox='" + $.escapeSelector(url.gallery) + "']")
5497
+ .eq(url.index - 1)
5498
+ .focus()
5499
+ .trigger("click.fb-start");
5500
+ }
5501
+ }
5502
+
5503
+ // Get gallery name from current instance
5504
+ function getGalleryID(instance) {
5505
+ var opts, ret;
5506
+
5507
+ if (!instance) {
5508
+ return false;
5509
+ }
5510
+
5511
+ opts = instance.current ? instance.current.opts : instance.opts;
5512
+ ret = opts.hash || (opts.$orig ? opts.$orig.data("fancybox") || opts.$orig.data("fancybox-trigger") : "");
5513
+
5514
+ return ret === "" ? false : ret;
5515
+ }
5516
+
5517
+ // Start when DOM becomes ready
5518
+ $(function () {
5519
+ // Check if user has disabled this module
5520
+ if ($.modulaFancybox.defaults.hash === false) {
5521
+ return;
5522
+ }
5523
+
5524
+ // Update hash when opening/closing fancyBox
5525
+ $(document).on({
5526
+ "onInit.fb": function (e, instance) {
5527
+ var url, gallery;
5528
+
5529
+ if (instance.group[instance.currIndex].opts.hash === false) {
5530
+ return;
5531
+ }
5532
+
5533
+ url = parseUrl();
5534
+ gallery = getGalleryID(instance);
5535
+
5536
+ // Make sure gallery start index matches index from hash
5537
+ if (gallery && url.gallery && gallery == url.gallery) {
5538
+ instance.currIndex = url.index - 1;
5539
+ }
5540
+ },
5541
+
5542
+ "beforeShow.fb": function (e, instance, current, firstRun) {
5543
+ var gallery;
5544
+
5545
+ if (!current || current.opts.hash === false) {
5546
+ return;
5547
+ }
5548
+
5549
+ // Check if need to update window hash
5550
+ gallery = getGalleryID(instance);
5551
+
5552
+ if (!gallery) {
5553
+ return;
5554
+ }
5555
+
5556
+ // Variable containing last hash value set by fancyBox
5557
+ // It will be used to determine if fancyBox needs to close after hash change is detected
5558
+ instance.currentHash = gallery + (instance.group.length > 1 ? "-" + (current.index + 1) : "");
5559
+
5560
+ // If current hash is the same (this instance most likely is opened by hashchange), then do nothing
5561
+ if (window.location.hash === "#" + instance.currentHash) {
5562
+ return;
5563
+ }
5564
+
5565
+ if (firstRun && !instance.origHash) {
5566
+ instance.origHash = window.location.hash;
5567
+ }
5568
+
5569
+ if (instance.hashTimer) {
5570
+ clearTimeout(instance.hashTimer);
5571
+ }
5572
+
5573
+ // Update hash
5574
+ instance.hashTimer = setTimeout(function () {
5575
+ if ("replaceState" in window.history) {
5576
+ window.history[firstRun ? "pushState" : "replaceState"]({},
5577
+ document.title,
5578
+ window.location.pathname + window.location.search + "#" + instance.currentHash
5579
+ );
5580
+
5581
+ if (firstRun) {
5582
+ instance.hasCreatedHistory = true;
5583
+ }
5584
+ } else {
5585
+ window.location.hash = instance.currentHash;
5586
+ }
5587
+
5588
+ instance.hashTimer = null;
5589
+ }, 300);
5590
+ },
5591
+
5592
+ "beforeClose.fb": function (e, instance, current) {
5593
+ if (!current || current.opts.hash === false) {
5594
+ return;
5595
+ }
5596
+
5597
+ clearTimeout(instance.hashTimer);
5598
+
5599
+ // Goto previous history entry
5600
+ if (instance.currentHash && instance.hasCreatedHistory) {
5601
+ window.history.back();
5602
+ } else if (instance.currentHash) {
5603
+ if ("replaceState" in window.history) {
5604
+ window.history.replaceState({}, document.title, window.location.pathname + window.location.search + (instance.origHash || ""));
5605
+ } else {
5606
+ window.location.hash = instance.origHash;
5607
+ }
5608
+ }
5609
+
5610
+ instance.currentHash = null;
5611
+ }
5612
+ });
5613
+
5614
+ // Check if need to start/close after url has changed
5615
+ $(window).on("hashchange.fb", function () {
5616
+ var url = parseUrl(),
5617
+ fb = null;
5618
+
5619
+ // Find last fancyBox instance that has "hash"
5620
+ $.each(
5621
+ $(".modula-fancybox-container")
5622
+ .get()
5623
+ .reverse(),
5624
+ function (index, value) {
5625
+ var tmp = $(value).data("modulaFancyBox");
5626
+
5627
+ if (tmp && tmp.currentHash) {
5628
+ fb = tmp;
5629
+ return false;
5630
+ }
5631
+ }
5632
+ );
5633
+
5634
+ if (fb) {
5635
+ // Now, compare hash values
5636
+ if (fb.currentHash !== url.gallery + "-" + url.index && !(url.index === 1 && fb.currentHash == url.gallery)) {
5637
+ fb.currentHash = null;
5638
+
5639
+ fb.close();
5640
+ }
5641
+ } else if (url.gallery !== "") {
5642
+ triggerFromUrl(url);
5643
+ }
5644
+ });
5645
+
5646
+ // Check current hash and trigger click event on matching element to start fancyBox, if needed
5647
+ setTimeout(function () {
5648
+ if (!$.modulaFancybox.getInstance()) {
5649
+ triggerFromUrl(parseUrl());
5650
+ }
5651
+ }, 50);
5652
+ });
5653
+ })(window, document, jQuery);
5654
+ // ==========================================================================
5655
+ //
5656
+ // Wheel
5657
+ // Basic mouse weheel support for gallery navigation
5658
+ //
5659
+ // ==========================================================================
5660
+ (function (document, $) {
5661
+ "use strict";
5662
+
5663
+ var prevTime = new Date().getTime();
5664
+
5665
+ $(document).on({
5666
+ "onInit.fb": function (e, instance, current) {
5667
+ instance.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll", function (e) {
5668
+ var current = instance.current,
5669
+ currTime = new Date().getTime();
5670
+
5671
+ if (instance.group.length < 2 || current.opts.wheel === false || (current.opts.wheel === "auto" && current.type !== "image")) {
5672
+ return;
5673
+ }
5674
+
5675
+ e.preventDefault();
5676
+ e.stopPropagation();
5677
+
5678
+ if (current.$slide.hasClass("modula-fancybox-animated")) {
5679
+ return;
5680
+ }
5681
+
5682
+ e = e.originalEvent || e;
5683
+
5684
+ if (currTime - prevTime < 250) {
5685
+ return;
5686
+ }
5687
+
5688
+ prevTime = currTime;
5689
+
5690
+ instance[(-e.deltaY || -e.deltaX || e.wheelDelta || -e.detail) < 0 ? "next" : "previous"]();
5691
+ });
5692
+ }
5693
+ });
5694
+ })(document, jQuery);
assets/js/front/fancybox.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(l,c,m,g){"use strict";if(l.console=l.console||{info:function(t){}},m)if(m.fn.modulaFancybox)console.info("fancyBox already initialized");else{var t,e,o,n,a={closeExisting:!1,loop:!1,gutter:50,keyboard:!0,preventCaptionOverlap:!0,arrows:!0,infobar:!0,smallBtn:"auto",toolbar:"auto",buttons:["zoom","slideShow","thumbs","close"],idleTime:3,protect:!1,modal:!1,image:{preload:!1},ajax:{settings:{data:{fancybox:!0}}},iframe:{tpl:'<iframe id="modula-fancybox-frame{rnd}" name="modula-fancybox-frame{rnd}" class="modula-fancybox-iframe" allowfullscreen="allowfullscreen" allow="autoplay; fullscreen" src=""></iframe>',preload:!0,css:{},attr:{scrolling:"auto"}},video:{tpl:'<video class="modula-fancybox-video" controls controlsList="nodownload" poster="{{poster}}"><source src="{{src}}" type="{{format}}" />Sorry, your browser doesn\'t support embedded videos, <a href="{{src}}">download</a> and watch with your favorite video player!</video>',format:"",autoStart:!0},defaultType:"image",animationEffect:"zoom",animationDuration:366,zoomOpacity:"auto",transitionEffect:"fade",transitionDuration:366,slideClass:"",baseClass:"",baseTpl:'<div class="modula-fancybox-container" role="dialog" tabindex="-1"><div class="modula-fancybox-bg"></div><div class="modula-fancybox-inner"><div class="modula-fancybox-infobar"><span data-fancybox-index></span>&nbsp;/&nbsp;<span data-fancybox-count></span></div><div class="modula-fancybox-toolbar">{{buttons}}</div><div class="modula-fancybox-navigation">{{arrows}}</div><div class="modula-fancybox-stage"></div><div class="modula-fancybox-caption"><div class="modula-fancybox-caption__body"></div></div></div></div>',spinnerTpl:'<div class="modula-fancybox-loading"></div>',errorTpl:'<div class="modula-fancybox-error"><p>{{ERROR}}</p></div>',btnTpl:{download:'<a download data-fancybox-download class="modula-fancybox-button modula-fancybox-button--download" title="{{DOWNLOAD}}" href="javascript:;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.62 17.09V19H5.38v-1.91zm-2.97-6.96L17 11.45l-5 4.87-5-4.87 1.36-1.32 2.68 2.64V5h1.92v7.77z"/></svg></a>',zoom:'<button data-fancybox-zoom class="modula-fancybox-button modula-fancybox-button--zoom" title="{{ZOOM}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.7 17.3l-3-3a5.9 5.9 0 0 0-.6-7.6 5.9 5.9 0 0 0-8.4 0 5.9 5.9 0 0 0 0 8.4 5.9 5.9 0 0 0 7.7.7l3 3a1 1 0 0 0 1.3 0c.4-.5.4-1 0-1.5zM8.1 13.8a4 4 0 0 1 0-5.7 4 4 0 0 1 5.7 0 4 4 0 0 1 0 5.7 4 4 0 0 1-5.7 0z"/></svg></button>',close:'<button data-fancybox-close class="modula-fancybox-button modula-fancybox-button--close" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 10.6L6.6 5.2 5.2 6.6l5.4 5.4-5.4 5.4 1.4 1.4 5.4-5.4 5.4 5.4 1.4-1.4-5.4-5.4 5.4-5.4-1.4-1.4-5.4 5.4z"/></svg></button>',arrowLeft:'<button data-fancybox-prev class="modula-fancybox-button modula-fancybox-button--arrow_left" title="{{PREV}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.28 15.7l-1.34 1.37L5 12l4.94-5.07 1.34 1.38-2.68 2.72H19v1.94H8.6z"/></svg></div></button>',arrowRight:'<button data-fancybox-next class="modula-fancybox-button modula-fancybox-button--arrow_right" title="{{NEXT}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.4 12.97l-2.68 2.72 1.34 1.38L19 12l-4.94-5.07-1.34 1.38 2.68 2.72H5v1.94z"/></svg></div></button>',smallBtn:'<button type="button" data-fancybox-close class="modula-fancybox-button modula-fancybox-close-small" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 24 24"><path d="M13 12l5-5-1-1-5 5-5-5-1 1 5 5-5 5 1 1 5-5 5 5 1-1z"/></svg></button>'},modulaShare:["facebook","twitter","pinterest","whatsapp","linkedin"],shareBtnTpl:{facebook:'<a class="modula-fancybox-share__button modula-fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{modulaShareUrl}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" /></svg><span>Facebook</span></a>',twitter:'<a class="modula-fancybox-share__button modula-fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{modulaShareUrl}}&text={{descr}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" /></svg><span>Twitter</span></a>',pinterest:'<a class="modula-fancybox-share__button modula-fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{modulaShareUrl}}&description={{descr}}&media={{media}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#fff"/></svg><span>Pinterest</span></a>',whatsapp:'<a class="modula-fancybox-share__button modula-fancybox-share__button--wa" href="https://api.whatsapp.com/send?text={{modulaShareUrl}}&review_url=true"><svg aria-hidden="true" focusable="false" style="-ms-transform: rotate(360deg); -webkit-transform: rotate(360deg); transform: rotate(360deg);" preserveAspectRatio="xMidYMid meet" viewBox="0 0 1536 1600"><path d="M985 878q13 0 97.5 44t89.5 53q2 5 2 15q0 33-17 76q-16 39-71 65.5T984 1158q-57 0-190-62q-98-45-170-118T476 793q-72-107-71-194v-8q3-91 74-158q24-22 52-22q6 0 18 1.5t19 1.5q19 0 26.5 6.5T610 448q8 20 33 88t25 75q0 21-34.5 57.5T599 715q0 7 5 15q34 73 102 137q56 53 151 101q12 7 22 7q15 0 54-48.5t52-48.5zm-203 530q127 0 243.5-50t200.5-134t134-200.5t50-243.5t-50-243.5T1226 336t-200.5-134T782 152t-243.5 50T338 336T204 536.5T154 780q0 203 120 368l-79 233l242-77q158 104 345 104zm0-1382q153 0 292.5 60T1315 247t161 240.5t60 292.5t-60 292.5t-161 240.5t-240.5 161t-292.5 60q-195 0-365-94L0 1574l136-405Q28 991 28 780q0-153 60-292.5T249 247T489.5 86T782 26z" fill="currentColor"/></svg><span>WhatsApp</span></a>',linkedin:'<a class="modula-fancybox-share__button modula-fancybox-share__button--li" href="//linkedin.com/shareArticle?mini=true&url={{modulaShareUrl}}"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="linkedin-in" class="svg-inline--fa fa-linkedin-in fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z"></path></svg><span>LinkedIn</span></a>'},parentEl:"body",hideScrollbar:!0,autoFocus:!0,backFocus:!0,trapFocus:!0,fullScreen:{autoStart:!1},touch:{vertical:!0,momentum:!0},hash:null,media:{},slideShow:{autoStart:!1,speed:3e3},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".modula-fancybox-container",axis:"y"},wheel:"auto",onInit:m.noop,beforeLoad:m.noop,afterLoad:m.noop,beforeShow:m.noop,afterShow:m.noop,beforeClose:m.noop,afterClose:m.noop,onActivate:m.noop,onDeactivate:m.noop,clickContent:function(t,e){return"image"===t.type&&"zoom"},clickSlide:"close",clickOutside:"close",dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1,mobile:{preventCaptionOverlap:!1,idleTime:!1,clickContent:function(t,e){return"image"===t.type&&"toggleControls"},clickSlide:function(t,e){return"image"===t.type?"toggleControls":"close"},dblclickContent:function(t,e){return"image"===t.type&&"zoom"},dblclickSlide:function(t,e){return"image"===t.type&&"zoom"}},lang:"en",i18n:{en:{CLOSE:"Close",NEXT:"Next",PREV:"Previous",ERROR:"The requested content cannot be loaded. <br/> Please try again later.",PLAY_START:"Start slideshow",PLAY_STOP:"Pause slideshow",FULL_SCREEN:"Full screen",THUMBS:"Thumbnails",DOWNLOAD:"Download",SHARE:"Share",ZOOM:"Zoom"},de:{CLOSE:"Schlie&szlig;en",NEXT:"Weiter",PREV:"Zur&uuml;ck",ERROR:"Die angeforderten Daten konnten nicht geladen werden. <br/> Bitte versuchen Sie es sp&auml;ter nochmal.",PLAY_START:"Diaschau starten",PLAY_STOP:"Diaschau beenden",FULL_SCREEN:"Vollbild",THUMBS:"Vorschaubilder",DOWNLOAD:"Herunterladen",SHARE:"Teilen",ZOOM:"Vergr&ouml;&szlig;ern"}}},i=m(l),s=m(c),r=0,p=l.requestAnimationFrame||l.webkitRequestAnimationFrame||l.mozRequestAnimationFrame||l.oRequestAnimationFrame||function(t){return l.setTimeout(t,1e3/60)},d=l.cancelAnimationFrame||l.webkitCancelAnimationFrame||l.mozCancelAnimationFrame||l.oCancelAnimationFrame||function(t){l.clearTimeout(t)},u=function(){var t,e=c.createElement("fakeelement"),o={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(t in o)if(e.style[t]!==g)return o[t];return"transitionend"}(),h=function(t){return t&&t.length&&t[0].offsetHeight},f=function(t,e){var o=m.extend(!0,{},t,e);return m.each(e,function(t,e){m.isArray(e)&&(o[t]=e)}),o},b=function(t,e,o){var n=this;n.opts=f({index:o},m.modulaFancybox.defaults),m.isPlainObject(e)&&(n.opts=f(n.opts,e)),m.modulaFancybox.isMobile&&(n.opts=f(n.opts,n.opts.mobile)),n.id=n.opts.id||++r,n.currIndex=parseInt(n.opts.index,10)||0,n.prevIndex=null,n.prevPos=null,n.currPos=0,n.firstRun=!0,n.group=[],n.slides={},n.addContent(t),n.group.length&&n.init()};m.extend(b.prototype,{init:function(){var e,o,n=this,a=n.group[n.currIndex].opts;a.closeExisting&&m.modulaFancybox.close(!0),m("body").addClass("modula-fancybox-active"),!m.modulaFancybox.getInstance()&&!1!==a.hideScrollbar&&!m.modulaFancybox.isMobile&&c.body.scrollHeight>l.innerHeight&&(m("head").append('<style id="modula-fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar{margin-right:'+(l.innerWidth-c.documentElement.clientWidth)+"px;}</style>"),m("body").addClass("compensate-for-scrollbar")),o="",m.each(a.buttons,function(t,e){o+=a.btnTpl[e]||""}),e=m(n.translate(n,a.baseTpl.replace("{{buttons}}",o).replace("{{arrows}}",a.btnTpl.arrowLeft+a.btnTpl.arrowRight))).attr("id","modula-fancybox-container-"+n.id).addClass(a.baseClass).data("modulaFancyBox",n).appendTo(a.parentEl),n.$refs={container:e},["bg","inner","infobar","toolbar","stage","caption","navigation"].forEach(function(t){n.$refs[t]=e.find(".modula-fancybox-"+t)}),n.trigger("onInit"),n.activate(),n.jumpTo(n.currIndex)},translate:function(t,e){var o=t.opts.i18n[t.opts.lang]||t.opts.i18n.en;return e.replace(/\{\{(\w+)\}\}/g,function(t,e){return o[e]===g?t:o[e]})},addContent:function(t){var e,c=this,o=m.makeArray(t);m.each(o,function(t,e){var o,n,a,i,s,r={},l={};m.isPlainObject(e)?l=(r=e).opts||e:"object"===m.type(e)&&m(e).length?(l=(o=m(e)).data()||{},(l=m.extend(!0,{},l,l.options)).$orig=o,r.src=c.opts.src||l.src||o.attr("href"),r.type||r.src||(r.type="inline",r.src=e)):r={type:"html",src:e+""},r.opts=m.extend(!0,{},c.opts,l),m.isArray(l.buttons)&&(r.opts.buttons=l.buttons),m.modulaFancybox.isMobile&&r.opts.mobile&&(r.opts=f(r.opts,r.opts.mobile)),n=r.type||r.opts.type,i=r.src||"",!n&&i&&((a=i.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(n="video",r.opts.video.format||(r.opts.video.format="video/"+("ogv"===a[1]?"ogg":a[1]))):i.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?n="image":i.match(/\.(pdf)((\?|#).*)?$/i)?(n="iframe",r=m.extend(!0,r,{contentType:"pdf",opts:{iframe:{preload:!1}}})):"#"===i.charAt(0)&&(n="inline")),n?r.type=n:c.trigger("objectNeedsType",r),r.contentType||(r.contentType=-1<m.inArray(r.type,["html","inline","ajax"])?"html":r.type),r.index=c.group.length,"auto"==r.opts.smallBtn&&(r.opts.smallBtn=-1<m.inArray(r.type,["html","inline","ajax"])),"auto"===r.opts.toolbar&&(r.opts.toolbar=!r.opts.smallBtn),r.$thumb=r.opts.$thumb||null,r.opts.$trigger&&r.index===c.opts.index&&(r.$thumb=r.opts.$trigger.find("img:first"),r.$thumb.length&&(r.opts.$orig=r.opts.$trigger)),r.$thumb&&r.$thumb.length||!r.opts.$orig||(r.$thumb=r.opts.$orig.find("img:first")),r.$thumb&&!r.$thumb.length&&(r.$thumb=null),r.thumb=r.opts.thumb||(r.$thumb?r.$thumb[0].src:null),"function"===m.type(r.opts.caption)&&(r.opts.caption=r.opts.caption.apply(e,[c,r])),"function"===m.type(c.opts.caption)&&(r.opts.caption=c.opts.caption.apply(e,[c,r])),r.opts.caption instanceof m||(r.opts.caption=r.opts.caption===g?"":r.opts.caption+""),"ajax"===r.type&&1<(s=i.split(/\s+/,2)).length&&(r.src=s.shift(),r.opts.filter=s.shift()),r.opts.modal&&(r.opts=m.extend(!0,r.opts,{trapFocus:!0,infobar:0,toolbar:0,smallBtn:0,keyboard:0,slideShow:0,fullScreen:0,thumbs:0,touch:0,clickContent:!1,clickSlide:!1,clickOutside:!1,dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1})),c.group.push(r)}),Object.keys(c.slides).length&&(c.updateControls(),(e=c.Thumbs)&&e.isActive&&(e.create(),e.focus()))},addEvents:function(){var n=this;n.removeEvents(),n.$refs.container.on("click.fb-close","[data-fancybox-close]",function(t){t.stopPropagation(),t.preventDefault(),n.close(t)}).on("touchstart.fb-prev click.fb-prev","[data-fancybox-prev]",function(t){t.stopPropagation(),t.preventDefault(),n.previous()}).on("touchstart.fb-next click.fb-next","[data-fancybox-next]",function(t){t.stopPropagation(),t.preventDefault(),n.next()}).on("click.fb","[data-fancybox-zoom]",function(t){n[n.isScaledDown()?"scaleToActual":"scaleToFit"]()}),i.on("orientationchange.fb resize.fb",function(t){t&&t.originalEvent&&"resize"===t.originalEvent.type?(n.requestId&&d(n.requestId),n.requestId=p(function(){n.update(t)})):(n.current&&"iframe"===n.current.type&&n.$refs.stage.hide(),setTimeout(function(){n.$refs.stage.show(),n.update(t)},m.modulaFancybox.isMobile?600:250))}),s.on("keydown.fb",function(t){var e=(m.modulaFancybox?m.modulaFancybox.getInstance():null).current,o=t.keyCode||t.which;if(9!=o){if(!(!e.opts.keyboard||t.ctrlKey||t.altKey||t.shiftKey||m(t.target).is("input,textarea,video,audio,select")))return 8===o||27===o?(t.preventDefault(),void n.close(t)):37===o||38===o?(t.preventDefault(),void n.previous()):39===o||40===o?(t.preventDefault(),void n.next()):void n.trigger("afterKeydown",t,o)}else e.opts.trapFocus&&n.focus(t)}),n.group[n.currIndex].opts.idleTime&&(n.idleSecondsCounter=0,s.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",function(t){n.idleSecondsCounter=0,n.isIdle&&n.showControls(),n.isIdle=!1}),n.idleInterval=l.setInterval(function(){n.idleSecondsCounter++,n.idleSecondsCounter>=n.group[n.currIndex].opts.idleTime&&!n.isDragging&&(n.isIdle=!0,n.idleSecondsCounter=0,n.hideControls())},1e3))},removeEvents:function(){i.off("orientationchange.fb resize.fb"),s.off("keydown.fb .fb-idle"),this.$refs.container.off(".fb-close .fb-prev .fb-next"),this.idleInterval&&(l.clearInterval(this.idleInterval),this.idleInterval=null)},previous:function(t){return this.jumpTo(this.currPos-1,t)},next:function(t){return this.jumpTo(this.currPos+1,t)},jumpTo:function(t,n){var e,o,a,i,s,r,l,c,d,u=this,p=u.group.length;if(!(u.isDragging||u.isClosing||u.isAnimating&&u.firstRun)){if(t=parseInt(t,10),!(a=u.current?u.current.opts.loop:u.opts.loop)&&(t<0||p<=t))return!1;if(e=u.firstRun=!Object.keys(u.slides).length,s=u.current,u.prevIndex=u.currIndex,u.prevPos=u.currPos,i=u.createSlide(t),1<p&&((a||i.index<p-1)&&u.createSlide(t+1),(a||0<i.index)&&u.createSlide(t-1)),u.current=i,u.currIndex=i.index,u.currPos=i.pos,u.trigger("beforeShow",e),u.updateControls(),i.forcedDuration=g,m.isNumeric(n)?i.forcedDuration=n:n=i.opts[e?"animationDuration":"transitionDuration"],n=parseInt(n,10),o=u.isMoved(i),i.$slide.addClass("modula-fancybox-slide--current"),e)return i.opts.animationEffect&&n&&u.$refs.container.css("transition-duration",n+"ms"),u.$refs.container.addClass("modula-fancybox-is-open").trigger("focus"),u.loadSlide(i),void u.preload("image");r=m.modulaFancybox.getTranslate(s.$slide),l=m.modulaFancybox.getTranslate(u.$refs.stage),m.each(u.slides,function(t,e){m.modulaFancybox.stop(e.$slide,!0)}),s.pos!==i.pos&&(s.isComplete=!1),s.$slide.removeClass("modula-fancybox-slide--complete modula-fancybox-slide--current"),o?(d=r.left-(s.pos*r.width+s.pos*s.opts.gutter),m.each(u.slides,function(t,e){e.$slide.removeClass("modula-fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")});var o=e.pos*r.width+e.pos*e.opts.gutter;m.modulaFancybox.setTranslate(e.$slide,{top:0,left:o-l.left+d}),e.pos!==i.pos&&e.$slide.addClass("modula-fancybox-slide--"+(e.pos>i.pos?"next":"previous")),h(e.$slide),m.modulaFancybox.animate(e.$slide,{top:0,left:(e.pos-i.pos)*r.width+(e.pos-i.pos)*e.opts.gutter},n,function(){e.$slide.css({transform:"",opacity:""}).removeClass("modula-fancybox-slide--next modula-fancybox-slide--previous"),e.pos===u.currPos&&u.complete()})})):n&&i.opts.transitionEffect&&(c="modula-fancybox-animated modula-fancybox-fx-"+i.opts.transitionEffect,s.$slide.addClass("modula-fancybox-slide--"+(s.pos>i.pos?"next":"previous")),m.modulaFancybox.animate(s.$slide,c,n,function(){s.$slide.removeClass(c).removeClass("modula-fancybox-slide--next modula-fancybox-slide--previous")},!1)),i.isLoaded?u.revealContent(i):u.loadSlide(i),u.preload("image")}},createSlide:function(t){var e,o,n=this;return o=(o=t%n.group.length)<0?n.group.length+o:o,!n.slides[t]&&n.group[o]&&(e=m('<div class="modula-fancybox-slide"></div>').appendTo(n.$refs.stage),n.slides[t]=m.extend(!0,{},n.group[o],{pos:t,$slide:e,isLoaded:!1}),n.updateSlide(n.slides[t])),n.slides[t]},scaleToActual:function(t,e,o){var n,a,i,s,r,l=this,c=l.current,d=c.$content,u=m.modulaFancybox.getTranslate(c.$slide).width,p=m.modulaFancybox.getTranslate(c.$slide).height,h=c.width,f=c.height;l.isAnimating||l.isMoved()||!d||"image"!=c.type||!c.isLoaded||c.hasError||(l.isAnimating=!0,m.modulaFancybox.stop(d),t=t===g?.5*u:t,e=e===g?.5*p:e,(n=m.modulaFancybox.getTranslate(d)).top-=m.modulaFancybox.getTranslate(c.$slide).top,n.left-=m.modulaFancybox.getTranslate(c.$slide).left,s=h/n.width,r=f/n.height,a=.5*u-.5*h,i=.5*p-.5*f,u<h&&(0<(a=n.left*s-(t*s-t))&&(a=0),a<u-h&&(a=u-h)),p<f&&(0<(i=n.top*r-(e*r-e))&&(i=0),i<p-f&&(i=p-f)),l.updateCursor(h,f),m.modulaFancybox.animate(d,{top:i,left:a,scaleX:s,scaleY:r},o||366,function(){l.isAnimating=!1}),l.SlideShow&&l.SlideShow.isActive&&l.SlideShow.stop())},scaleToFit:function(t){var e,o=this,n=o.current,a=n.$content;o.isAnimating||o.isMoved()||!a||"image"!=n.type||!n.isLoaded||n.hasError||(o.isAnimating=!0,m.modulaFancybox.stop(a),e=o.getFitPos(n),o.updateCursor(e.width,e.height),m.modulaFancybox.animate(a,{top:e.top,left:e.left,scaleX:e.width/a.width(),scaleY:e.height/a.height()},t||366,function(){o.isAnimating=!1}))},getFitPos:function(t){var e,o,n,a,i=t.$content,s=t.$slide,r=t.width||t.opts.width,l=t.height||t.opts.height,c={};return!!(t.isLoaded&&i&&i.length)&&(e=m.modulaFancybox.getTranslate(this.$refs.stage).width,o=m.modulaFancybox.getTranslate(this.$refs.stage).height,e-=parseFloat(s.css("paddingLeft"))+parseFloat(s.css("paddingRight"))+parseFloat(i.css("marginLeft"))+parseFloat(i.css("marginRight")),o-=parseFloat(s.css("paddingTop"))+parseFloat(s.css("paddingBottom"))+parseFloat(i.css("marginTop"))+parseFloat(i.css("marginBottom")),r&&l||(r=e,l=o),e-.5<(r*=n=Math.min(1,e/r,o/l))&&(r=e),o-.5<(l*=n)&&(l=o),"image"===t.type?(c.top=Math.floor(.5*(o-l))+parseFloat(s.css("paddingTop")),c.left=Math.floor(.5*(e-r))+parseFloat(s.css("paddingLeft"))):"video"===t.contentType&&(r/(a=t.opts.width&&t.opts.height?r/l:t.opts.ratio||16/9)<l?l=r/a:l*a<r&&(r=l*a)),c.width=r,c.height=l,c)},update:function(o){var n=this;m.each(n.slides,function(t,e){n.updateSlide(e,o)})},updateSlide:function(t,e){var o=this,n=t&&t.$content,a=t.width||t.opts.width,i=t.height||t.opts.height,s=t.$slide;o.adjustCaption(t),n&&(a||i||"video"===t.contentType)&&!t.hasError&&(m.modulaFancybox.stop(n),m.modulaFancybox.setTranslate(n,o.getFitPos(t)),t.pos===o.currPos&&(o.isAnimating=!1,o.updateCursor())),o.adjustLayout(t),s.length&&(s.trigger("refresh"),t.pos===o.currPos&&o.$refs.toolbar.add(o.$refs.navigation.find(".modula-fancybox-button--arrow_right")).toggleClass("compensate-for-scrollbar",s.get(0).scrollHeight>s.get(0).clientHeight)),o.trigger("onUpdate",t,e)},centerSlide:function(t){var e=this,o=e.current,n=o.$slide;!e.isClosing&&o&&(n.siblings().css({transform:"",opacity:""}),n.parent().children().removeClass("modula-fancybox-slide--previous modula-fancybox-slide--next"),m.modulaFancybox.animate(n,{top:0,left:0,opacity:1},t===g?0:t,function(){n.css({transform:"",opacity:""}),o.isComplete||e.complete()},!1))},isMoved:function(t){var e,o,n=t||this.current;return!!n&&(o=m.modulaFancybox.getTranslate(this.$refs.stage),e=m.modulaFancybox.getTranslate(n.$slide),!n.$slide.hasClass("modula-fancybox-animated")&&(.5<Math.abs(e.top-o.top)||.5<Math.abs(e.left-o.left)))},updateCursor:function(t,e){var o,n,a=this,i=a.current,s=a.$refs.container;i&&!a.isClosing&&a.Guestures&&(s.removeClass("modula-fancybox-is-zoomable modula-fancybox-can-zoomIn modula-fancybox-can-zoomOut modula-fancybox-can-swipe modula-fancybox-can-pan"),n=!!(o=a.canPan(t,e))||a.isZoomable(),s.toggleClass("modula-fancybox-is-zoomable",n),m("[data-fancybox-zoom]").prop("disabled",!n),o?s.addClass("modula-fancybox-can-pan"):n&&("zoom"===i.opts.clickContent||m.isFunction(i.opts.clickContent)&&"zoom"==i.opts.clickContent(i))?s.addClass("modula-fancybox-can-zoomIn"):i.opts.touch&&(i.opts.touch.vertical||1<a.group.length)&&"video"!==i.contentType&&s.addClass("modula-fancybox-can-swipe"))},isZoomable:function(){var t,e=this.current;if(e&&!this.isClosing&&"image"===e.type&&!e.hasError){if(!e.isLoaded)return!0;if((t=this.getFitPos(e))&&(e.width>t.width||e.height>t.height))return!0}return!1},isScaledDown:function(t,e){var o=!1,n=this.current,a=n.$content;return t!==g&&e!==g?o=t<n.width&&e<n.height:a&&(o=(o=m.modulaFancybox.getTranslate(a)).width<n.width&&o.height<n.height),o},canPan:function(t,e){var o=this.current,n=null,a=!1;return"image"===o.type&&(o.isComplete||t&&e)&&!o.hasError&&(a=this.getFitPos(o),t!==g&&e!==g?n={width:t,height:e}:o.isComplete&&(n=m.modulaFancybox.getTranslate(o.$content)),n&&a&&(a=1.5<Math.abs(n.width-a.width)||1.5<Math.abs(n.height-a.height))),a},loadSlide:function(o){var t,e,n,a=this;if(!o.isLoading&&!o.isLoaded){if(!(o.isLoading=!0)===a.trigger("beforeLoad",o))return o.isLoading=!1;switch(t=o.type,(e=o.$slide).off("refresh").trigger("onReset").addClass(o.opts.slideClass),t){case"image":a.setImage(o);break;case"iframe":a.setIframe(o);break;case"html":a.setContent(o,o.src||o.content);break;case"video":a.setContent(o,o.opts.video.tpl.replace(/\{\{src\}\}/gi,o.src).replace("{{format}}",o.opts.videoFormat||o.opts.video.format||"").replace("{{poster}}",o.thumb||""));break;case"inline":m(o.src).length?a.setContent(o,m(o.src)):a.setError(o);break;case"ajax":a.showLoading(o),n=m.ajax(m.extend({},o.opts.ajax.settings,{url:o.src,success:function(t,e){"success"===e&&a.setContent(o,t)},error:function(t,e){t&&"abort"!==e&&a.setError(o)}})),e.one("onReset",function(){n.abort()});break;default:a.setError(o)}return!0}},setImage:function(e){var t,o=this;setTimeout(function(){var t=e.$image;o.isClosing||!e.isLoading||t&&t.length&&t[0].complete||e.hasError||o.showLoading(e)},50),o.checkSrcset(e),e.$content=m('<div class="modula-fancybox-content"></div>').addClass("modula-fancybox-is-hidden").appendTo(e.$slide.addClass("modula-fancybox-slide--image")),!1!==e.opts.preload&&e.opts.width&&e.opts.height&&e.thumb&&(e.width=e.opts.width,e.height=e.opts.height,(t=c.createElement("img")).onerror=function(){m(this).remove(),e.$ghost=null},t.onload=function(){o.afterLoad(e)},e.$ghost=m(t).addClass("modula-fancybox-image").appendTo(e.$content).attr("src",e.thumb),"undifined"!=typeof e.src&&e.$ghost.attr("alt",e.alt)),o.setBigImage(e)},checkSrcset:function(t){var e,o,n,a,i=t.opts.srcset||t.opts.image.srcset;if(i){n=l.devicePixelRatio||1,a=l.innerWidth*n,(o=i.split(",").map(function(t){var n={};return t.trim().split(/\s+/).forEach(function(t,e){var o=parseInt(t.substring(0,t.length-1),10);if(0===e)return n.url=t;o&&(n.value=o,n.postfix=t[t.length-1])}),n})).sort(function(t,e){return t.value-e.value});for(var s=0;s<o.length;s++){var r=o[s];if("w"===r.postfix&&r.value>=a||"x"===r.postfix&&r.value>=n){e=r;break}}!e&&o.length&&(e=o[o.length-1]),e&&(t.src=e.url,t.width&&t.height&&"w"==e.postfix&&(t.height=t.width/t.height*e.value,t.width=e.value),t.opts.srcset=i)}},setBigImage:function(e){var o=this,t=c.createElement("img"),n=m(t);e.$image=n.one("error",function(){o.setError(e)}).one("load",function(){var t;e.$ghost||(o.resolveImageSlideSize(e,this.naturalWidth,this.naturalHeight),o.afterLoad(e)),o.isClosing||(e.opts.srcset&&((t=e.opts.sizes)&&"auto"!==t||(t=(1<e.width/e.height&&1<i.width()/i.height()?"100":Math.round(e.width/e.height*100))+"vw"),n.attr("sizes",t).attr("srcset",e.opts.srcset)),e.opts.alt&&n.attr("alt",e.opts.alt),e.$ghost&&setTimeout(function(){e.$ghost&&!o.isClosing&&e.$ghost.hide()},Math.min(300,Math.max(1e3,e.height/1600))),o.hideLoading(e))}).addClass("modula-fancybox-image").attr("src",e.src).appendTo(e.$content),(t.complete||"complete"==t.readyState)&&n.naturalWidth&&n.naturalHeight?n.trigger("load"):t.error&&n.trigger("error")},resolveImageSlideSize:function(t,e,o){var n=parseInt(t.opts.width,10),a=parseInt(t.opts.height,10);t.width=e,t.height=o,0<n&&(t.width=n,t.height=Math.floor(n*o/e)),0<a&&(t.width=Math.floor(a*e/o),t.height=a)},setIframe:function(a){var i,e=this,s=a.opts.iframe,r=a.$slide;a.$content=m('<div class="modula-fancybox-content'+(s.preload?" modula-fancybox-is-hidden":"")+'"></div>').css(s.css).appendTo(r),r.addClass("modula-fancybox-slide--"+a.contentType),a.$iframe=i=m(s.tpl.replace(/\{rnd\}/g,(new Date).getTime())).attr(s.attr).appendTo(a.$content),s.preload?(e.showLoading(a),i.on("load.fb error.fb",function(t){this.isReady=1,a.$slide.trigger("refresh"),e.afterLoad(a)}),r.on("refresh.fb",function(){var t,e=a.$content,o=s.css.width,n=s.css.height;if(1===i[0].isReady){try{t=i.contents().find("body")}catch(t){}t&&t.length&&t.children().length&&(r.css("overflow","visible"),e.css({width:"100%","max-width":"100%",height:"9999px"}),o===g&&(o=Math.ceil(Math.max(t[0].clientWidth,t.outerWidth(!0)))),e.css("width",o||"").css("max-width",""),n===g&&(n=Math.ceil(Math.max(t[0].clientHeight,t.outerHeight(!0)))),e.css("height",n||""),r.css("overflow","auto")),e.removeClass("modula-fancybox-is-hidden")}})):e.afterLoad(a),i.attr("src",a.src),r.one("onReset",function(){try{m(this).find("iframe").hide().unbind().attr("src","//about:blank")}catch(t){}m(this).off("refresh.fb").empty(),a.isLoaded=!1,a.isRevealed=!1})},setContent:function(t,e){this.isClosing||(this.hideLoading(t),t.$content&&m.modulaFancybox.stop(t.$content),t.$slide.empty(),function(t){return t&&t.hasOwnProperty&&t instanceof m}(e)&&e.parent().length?((e.hasClass("modula-fancybox-content")||e.parent().hasClass("modula-fancybox-content"))&&e.parents(".modula-fancybox-slide").trigger("onReset"),t.$placeholder=m("<div>").hide().insertAfter(e),e.css("display","inline-block")):t.hasError||("string"===m.type(e)&&(e=m("<div>").append(m.trim(e)).contents()),t.opts.filter&&(e=m("<div>").html(e).find(t.opts.filter))),t.$slide.one("onReset",function(){m(this).find("video,audio").trigger("pause"),t.$placeholder&&(t.$placeholder.after(e.removeClass("modula-fancybox-content").hide()).remove(),t.$placeholder=null),t.$smallBtn&&(t.$smallBtn.remove(),t.$smallBtn=null),t.hasError||(m(this).empty(),t.isLoaded=!1,t.isRevealed=!1)}),m(e).appendTo(t.$slide),m(e).is("video,audio")&&(m(e).addClass("modula-fancybox-video"),m(e).wrap("<div></div>"),t.contentType="video",t.opts.width=t.opts.width||m(e).attr("width"),t.opts.height=t.opts.height||m(e).attr("height")),t.$content=t.$slide.children().filter("div,form,main,video,audio,article,.modula-fancybox-content").first(),t.$content.siblings().hide(),t.$content.length||(t.$content=t.$slide.wrapInner("<div></div>").children().first()),t.$content.addClass("modula-fancybox-content"),t.$slide.addClass("modula-fancybox-slide--"+t.contentType),this.afterLoad(t))},setError:function(t){t.hasError=!0,t.$slide.trigger("onReset").removeClass("modula-fancybox-slide--"+t.contentType).addClass("modula-fancybox-slide--error"),t.contentType="html",this.setContent(t,this.translate(t,t.opts.errorTpl)),t.pos===this.currPos&&(this.isAnimating=!1)},showLoading:function(t){(t=t||this.current)&&!t.$spinner&&(t.$spinner=m(this.translate(this,this.opts.spinnerTpl)).appendTo(t.$slide).hide().fadeIn("fast"))},hideLoading:function(t){(t=t||this.current)&&t.$spinner&&(t.$spinner.stop().remove(),delete t.$spinner)},afterLoad:function(t){var e=this;e.isClosing||(t.isLoading=!1,t.isLoaded=!0,e.trigger("afterLoad",t),e.hideLoading(t),!t.opts.smallBtn||t.$smallBtn&&t.$smallBtn.length||(t.$smallBtn=m(e.translate(t,t.opts.btnTpl.smallBtn)).appendTo(t.$content)),t.opts.protect&&t.$content&&!t.hasError&&(t.$content.on("contextmenu.fb",function(t){return 2==t.button&&t.preventDefault(),!0}),"image"===t.type&&m('<div class="modula-fancybox-spaceball"></div>').appendTo(t.$content)),e.adjustCaption(t),e.adjustLayout(t),t.pos===e.currPos&&e.updateCursor(),e.revealContent(t))},adjustCaption:function(t){var e,o=this,n=t||o.current,a=n.opts.caption,i=n.opts.preventCaptionOverlap,s=o.$refs.caption,r=!1;s.toggleClass("modula-fancybox-caption--separate",i),i&&a&&a.length&&(n.pos!==o.currPos?((e=s.clone().appendTo(s.parent())).children().eq(0).empty().html(a),r=e.outerHeight(!0),e.empty().remove()):o.$caption&&(r=o.$caption.outerHeight(!0)),n.$slide.css("padding-bottom",r||""))},adjustLayout:function(t){var e,o,n,a,i=t||this.current;i.isLoaded&&!0!==i.opts.disableLayoutFix&&(i.$content.css("margin-bottom",""),i.$content.outerHeight()>i.$slide.height()+.5&&(n=i.$slide[0].style["padding-bottom"],a=i.$slide.css("padding-bottom"),0<parseFloat(a)&&(e=i.$slide[0].scrollHeight,i.$slide.css("padding-bottom",0),Math.abs(e-i.$slide[0].scrollHeight)<1&&(o=a),i.$slide.css("padding-bottom",n))),i.$content.css("margin-bottom",o))},revealContent:function(t){var e,o,n,a,i=this,s=t.$slide,r=!1,l=!1,c=i.isMoved(t),d=t.isRevealed;return t.isRevealed=!0,e=t.opts[i.firstRun?"animationEffect":"transitionEffect"],n=t.opts[i.firstRun?"animationDuration":"transitionDuration"],n=parseInt(t.forcedDuration===g?n:t.forcedDuration,10),!c&&t.pos===i.currPos&&n||(e=!1),"zoom"===e&&(t.pos===i.currPos&&n&&"image"===t.type&&!t.hasError&&(l=i.getThumbPos(t))?r=i.getFitPos(t):e="fade"),"zoom"===e?(i.isAnimating=!0,r.scaleX=r.width/l.width,r.scaleY=r.height/l.height,"auto"==(a=t.opts.zoomOpacity)&&(a=.1<Math.abs(t.width/t.height-l.width/l.height)),a&&(l.opacity=.1,r.opacity=1),m.modulaFancybox.setTranslate(t.$content.removeClass("modula-fancybox-is-hidden"),l),h(t.$content),void m.modulaFancybox.animate(t.$content,r,n,function(){i.isAnimating=!1,i.complete()})):(i.updateSlide(t),e?(m.modulaFancybox.stop(s),o="modula-fancybox-slide--"+(t.pos>=i.prevPos?"next":"previous")+" modula-fancybox-animated fancybox-fx-"+e,s.addClass(o).removeClass("modula-fancybox-slide--current"),t.$content.removeClass("modula-fancybox-is-hidden"),h(s),"image"!==t.type&&t.$content.hide().show(0),void m.modulaFancybox.animate(s,"modula-fancybox-slide--current",n,function(){s.removeClass(o).css({transform:"",opacity:""}),t.pos===i.currPos&&i.complete()},!0)):(t.$content.removeClass("modula-fancybox-is-hidden"),d||!c||"image"!==t.type||t.hasError||t.$content.hide().fadeIn("fast"),void(t.pos===i.currPos&&i.complete())))},getThumbPos:function(t){var e,o,n,a,i,s,r=t.$thumb;return!(!r||!function(t){var e,o;return!(!t||t.ownerDocument!==c)&&(m(".modula-fancybox-container").css("pointer-events","none"),e={x:t.getBoundingClientRect().left+t.offsetWidth/2,y:t.getBoundingClientRect().top+t.offsetHeight/2},o=c.elementFromPoint(e.x,e.y)===t,m(".modula-fancybox-container").css("pointer-events",""),o)}(r[0]))&&(o=m.modulaFancybox.getTranslate(r),n=parseFloat(r.css("border-top-width")||0),a=parseFloat(r.css("border-right-width")||0),i=parseFloat(r.css("border-bottom-width")||0),s=parseFloat(r.css("border-left-width")||0),e={top:o.top+n,left:o.left+s,width:o.width-a-s,height:o.height-n-i,scaleX:1,scaleY:1},0<o.width&&0<o.height&&e)},complete:function(){var t,o=this,e=o.current,n={};!o.isMoved()&&e.isLoaded&&(e.isComplete||(e.isComplete=!0,e.$slide.siblings().trigger("onReset"),o.preload("inline"),h(e.$slide),e.$slide.addClass("modula-fancybox-slide--complete"),m.each(o.slides,function(t,e){e.pos>=o.currPos-1&&e.pos<=o.currPos+1?n[e.pos]=e:e&&(m.modulaFancybox.stop(e.$slide),e.$slide.off().remove())}),o.slides=n),o.isAnimating=!1,o.updateCursor(),o.trigger("afterShow"),e.opts.video.autoStart&&e.$slide.find("video,audio").filter(":visible:first").trigger("play").one("ended",function(){Document.exitFullscreen?Document.exitFullscreen():this.webkitExitFullscreen&&this.webkitExitFullscreen(),o.next()}),e.opts.autoFocus&&"html"===e.contentType&&((t=e.$content.find("input[autofocus]:enabled:visible:first")).length?t.trigger("focus"):o.focus(null,!0)),e.$slide.scrollTop(0).scrollLeft(0))},preload:function(t){var e,o,n=this;n.group.length<2||(o=n.slides[n.currPos+1],(e=n.slides[n.currPos-1])&&e.type===t&&n.loadSlide(e),o&&o.type===t&&n.loadSlide(o))},focus:function(t,e){var o,n,a=this,i=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","video","audio","[contenteditable]",'[tabindex]:not([tabindex^="-"])'].join(",");a.isClosing||((o=(o=!t&&a.current&&a.current.isComplete?a.current.$slide.find("*:visible"+(e?":not(.modula-fancybox-close-small)":"")):a.$refs.container.find("*:visible")).filter(i).filter(function(){return"hidden"!==m(this).css("visibility")&&!m(this).hasClass("disabled")})).length?(n=o.index(c.activeElement),t&&t.shiftKey?(n<0||0==n)&&(t.preventDefault(),o.eq(o.length-1).trigger("focus")):(n<0||n==o.length-1)&&(t&&t.preventDefault(),o.eq(0).trigger("focus"))):a.$refs.container.trigger("focus"))},activate:function(){var e=this;m(".modula-fancybox-container").each(function(){var t=m(this).data("modulaFancyBox");t&&t.id!==e.id&&!t.isClosing&&(t.trigger("onDeactivate"),t.removeEvents(),t.isVisible=!1)}),e.isVisible=!0,(e.current||e.isIdle)&&(e.update(),e.updateControls()),e.trigger("onActivate"),e.addEvents()},close:function(t,e){function o(){d.cleanUp(t)}var n,a,i,s,r,l,c,d=this,u=d.current;return!d.isClosing&&(!(d.isClosing=!0)===d.trigger("beforeClose",t)?(d.isClosing=!1,p(function(){d.update()}),!1):(d.removeEvents(),i=u.$content,n=u.opts.animationEffect,a=m.isNumeric(e)?e:n?u.opts.animationDuration:0,u.$slide.removeClass("modula-fancybox-slide--complete modula-fancybox-slide--next modula-fancybox-slide--previous modula-fancybox-animated"),!0!==t?m.modulaFancybox.stop(u.$slide):n=!1,u.$slide.siblings().trigger("onReset").remove(),a&&d.$refs.container.removeClass("modula-fancybox-is-open").addClass("modula-fancybox-is-closing").css("transition-duration",a+"ms"),d.hideLoading(u),d.hideControls(!0),d.updateCursor(),"zoom"!==n||i&&a&&"image"===u.type&&!d.isMoved()&&!u.hasError&&(c=d.getThumbPos(u))||(n="fade"),"zoom"===n?(m.modulaFancybox.stop(i),l={top:(s=m.modulaFancybox.getTranslate(i)).top,left:s.left,scaleX:s.width/c.width,scaleY:s.height/c.height,width:c.width,height:c.height},"auto"==(r=u.opts.zoomOpacity)&&(r=.1<Math.abs(u.width/u.height-c.width/c.height)),r&&(c.opacity=0),m.modulaFancybox.setTranslate(i,l),h(i),m.modulaFancybox.animate(i,c,a,o)):n&&a?m.modulaFancybox.animate(u.$slide.addClass("modula-fancybox-slide--previous").removeClass("modula-fancybox-slide--current"),"modula-fancybox-animated modula-fancybox-fx-"+n,a,o):!0===t?setTimeout(o,a):o(),!0))},cleanUp:function(t){var e,o,n,a=this,i=a.current.opts.$orig;a.current.$slide.trigger("onReset"),a.$refs.container.empty().remove(),a.trigger("afterClose",t),a.current.opts.backFocus&&(i&&i.length&&i.is(":visible")||(i=a.$trigger),i&&i.length&&(o=l.scrollX,n=l.scrollY,i.trigger("focus"),m("html, body").scrollTop(n).scrollLeft(o))),a.current=null,(e=m.modulaFancybox.getInstance())?e.activate():(m("body").removeClass("modula-fancybox-active compensate-for-scrollbar"),m("#modula-fancybox-style-noscroll").remove())},trigger:function(t,e){var o,n=Array.prototype.slice.call(arguments,1),a=this,i=e&&e.opts?e:a.current;if(i?n.unshift(i):i=a,n.unshift(a),m.isFunction(i.opts[t])&&(o=i.opts[t].apply(i,n)),!1===o)return o;"afterClose"!==t&&a.$refs?a.$refs.container.trigger(t+".fb",n):s.trigger(t+".fb",n)},updateControls:function(){var t=this,e=t.current,o=e.index,n=t.$refs.container,a=t.$refs.caption,i=e.opts.caption;e.$slide.trigger("refresh"),i&&i.length?(t.$caption=a).children().eq(0).html(i):t.$caption=null,t.hasHiddenControls||t.isIdle||t.showControls(),n.find("[data-fancybox-count]").html(t.group.length),n.find("[data-fancybox-index]").html(o+1),n.find("[data-fancybox-prev]").prop("disabled",!e.opts.loop&&o<=0),n.find("[data-fancybox-next]").prop("disabled",!e.opts.loop&&o>=t.group.length-1),"image"===e.type?n.find("[data-fancybox-zoom]").show().end().find("[data-fancybox-download]").attr("href",e.opts.image.src||e.src).show():e.opts.toolbar&&n.find("[data-fancybox-download],[data-fancybox-zoom]").hide(),m(c.activeElement).is(":hidden,[disabled]")&&t.$refs.container.trigger("focus")},hideControls:function(t){var e=["infobar","toolbar","nav"];!t&&this.current.opts.preventCaptionOverlap||e.push("caption"),this.$refs.container.removeClass(e.map(function(t){return"modula-fancybox-show-"+t}).join(" ")),this.hasHiddenControls=!0},showControls:function(){var t=this,e=t.current?t.current.opts:t.opts,o=t.$refs.container;t.hasHiddenControls=!1,t.idleSecondsCounter=0,o.toggleClass("modula-fancybox-show-toolbar",!(!e.toolbar||!e.buttons)).toggleClass("modula-fancybox-show-infobar",!!(e.infobar&&1<t.group.length)).toggleClass("modula-fancybox-show-caption",!!t.$caption).toggleClass("modula-fancybox-show-nav",!!(e.arrows&&1<t.group.length)).toggleClass("modula-fancybox-is-modal",!!e.modal)},toggleControls:function(){this.hasHiddenControls?this.showControls():this.hideControls()}}),m.modulaFancybox={version:"3.5.7",defaults:a,getInstance:function(t){var e=m('.modula-fancybox-container:not(".modula-fancybox-is-closing"):last').data("modulaFancyBox"),o=Array.prototype.slice.call(arguments,1);return e instanceof b&&("string"===m.type(t)?e[t].apply(e,o):"function"===m.type(t)&&t.apply(e,o),e)},open:function(t,e,o){return new b(t,e,o)},close:function(t){var e=this.getInstance();e&&(e.close(),!0===t&&this.close(t))},destroy:function(){this.close(!0),s.add("body").off("click.fb-start","**")},isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),use3d:(t=c.createElement("div"),l.getComputedStyle&&l.getComputedStyle(t)&&l.getComputedStyle(t).getPropertyValue("transform")&&!(c.documentMode&&c.documentMode<11)),getTranslate:function(t){var e;return!(!t||!t.length)&&{top:(e=t[0].getBoundingClientRect()).top||0,left:e.left||0,width:e.width,height:e.height,opacity:parseFloat(t.css("opacity"))}},setTranslate:function(t,e){var o="",n={};if(t&&e)return e.left===g&&e.top===g||(o=(e.left===g?t.position().left:e.left)+"px, "+(e.top===g?t.position().top:e.top)+"px",o=this.use3d?"translate3d("+o+", 0px)":"translate("+o+")"),e.scaleX!==g&&e.scaleY!==g?o+=" scale("+e.scaleX+", "+e.scaleY+")":e.scaleX!==g&&(o+=" scaleX("+e.scaleX+")"),o.length&&(n.transform=o),e.opacity!==g&&(n.opacity=e.opacity),e.width!==g&&(n.width=e.width),e.height!==g&&(n.height=e.height),t.css(n)},animate:function(e,o,n,a,i){var s,r=this;m.isFunction(n)&&(a=n,n=null),r.stop(e),s=r.getTranslate(e),e.on(u,function(t){t&&t.originalEvent&&(!e.is(t.originalEvent.target)||"z-index"==t.originalEvent.propertyName)||(r.stop(e),m.isNumeric(n)&&e.css("transition-duration",""),m.isPlainObject(o)?o.scaleX!==g&&o.scaleY!==g&&r.setTranslate(e,{top:o.top,left:o.left,width:s.width*o.scaleX,height:s.height*o.scaleY,scaleX:1,scaleY:1}):!0!==i&&e.removeClass(o),m.isFunction(a)&&a(t))}),m.isNumeric(n)&&e.css("transition-duration",n+"ms"),m.isPlainObject(o)?(o.scaleX!==g&&o.scaleY!==g&&(delete o.width,delete o.height,e.parent().hasClass("modula-fancybox-slide--image")&&e.parent().addClass("modula-fancybox-is-scaling")),m.modulaFancybox.setTranslate(e,o)):e.addClass(o),e.data("timer",setTimeout(function(){e.trigger(u)},n+33))},stop:function(t,e){t&&t.length&&(clearTimeout(t.data("timer")),e&&t.trigger(u),t.off(u).css("transition-duration",""),t.parent().removeClass("modula-fancybox-is-scaling"))}},m.fn.modulaFancybox=function(t){var e;return(e=(t=t||{}).selector||!1)?m("body").off("click.fb-start",e).on("click.fb-start",e,{options:t},y):this.off("click.fb-start").on("click.fb-start",{items:this,options:t},y),this},s.on("click.fb-start","[data-fancybox]",y),s.on("click.fb-start","[data-fancybox-trigger]",function(t){m('[data-fancybox="'+m(this).attr("data-fancybox-trigger")+'"]').eq(m(this).attr("data-fancybox-index")||0).trigger("click.fb-start",{$trigger:m(this)})}),e=".modula-fancybox-button",o="modula-fancybox-focus",n=null,s.on("mousedown mouseup focus blur",e,function(t){switch(t.type){case"mousedown":n=m(this);break;case"mouseup":n=null;break;case"focusin":m(e).removeClass(o),m(this).is(n)||m(this).is("[disabled]")||m(this).addClass(o);break;case"focusout":m(e).removeClass(o)}})}function y(t,e){var o,n,a,i=[],s=0;t&&t.isDefaultPrevented()||(t.preventDefault(),e=e||{},t&&t.data&&(e=f(t.data.options,e)),o=e.$target||m(t.currentTarget).trigger("blur"),(a=m.modulaFancybox.getInstance())&&a.$trigger&&a.$trigger.is(o)||(i=e.selector?m(e.selector):(n=o.attr("data-fancybox")||"")?(i=t.data?t.data.items:[]).length?i.filter('[data-fancybox="'+n+'"]'):m('[data-fancybox="'+n+'"]'):[o],(s=m(i).index(o))<0&&(s=0),(a=m.modulaFancybox.open(i,e,s)).$trigger=o))}}(window,document,jQuery),function(h){"use strict";function f(o,t,e){if(o)return e=e||"","object"===h.type(e)&&(e=h.param(e,!0)),h.each(t,function(t,e){o=o.replace("$"+t,e||"")}),e.length&&(o+=(0<o.indexOf("?")?"&":"?")+e),o}var n={youtube:{matcher:/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,params:{autoplay:1,autohide:1,fs:1,rel:0,hd:1,wmode:"transparent",enablejsapi:1,html5:1},paramPlace:8,type:"iframe",url:"https://www.youtube-nocookie.com/embed/$4",thumb:"https://img.youtube.com/vi/$4/hqdefault.jpg"},vimeo:{matcher:/^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,params:{autoplay:1,hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1},paramPlace:3,type:"iframe",url:"//player.vimeo.com/video/$2"},instagram:{matcher:/(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,type:"image",url:"//$1/p/$2/media/?size=l"},gmap_place:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/?ll="+(t[9]?t[9]+"&z="+Math.floor(t[10])+(t[12]?t[12].replace(/^\//,"&"):""):t[12]+"").replace(/\?/,"&")+"&output="+(t[12]&&0<t[12].indexOf("layer=c")?"svembed":"embed")}},gmap_search:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/maps?q="+t[5].replace("query=","q=").replace("api=1","")+"&output=embed"}}};h(document).on("objectNeedsType.fb",function(t,e,a){var o,i,s,r,l,c,d,u=a.src||"",p=!1;o=h.extend(!0,{},n,a.opts.media),h.each(o,function(t,e){if(s=u.match(e.matcher)){if(p=e.type,d=t,c={},e.paramPlace&&s[e.paramPlace]){"?"==(l=s[e.paramPlace])[0]&&(l=l.substring(1)),l=l.split("&");for(var o=0;o<l.length;++o){var n=l[o].split("=",2);2==n.length&&(c[n[0]]=decodeURIComponent(n[1].replace(/\+/g," ")))}}return r=h.extend(!0,{},e.params,a.opts[t],c),u="function"===h.type(e.url)?e.url.call(this,s,r,a):f(e.url,s,r),i="function"===h.type(e.thumb)?e.thumb.call(this,s,r,a):f(e.thumb,s),"youtube"===t?u=u.replace(/&t=(\d+)/,function(t,e){return"&start="+e}):"vimeo"===t&&(u=u.replace("&%23","#")),!1}}),p?(a.opts.thumb||a.opts.$thumb&&a.opts.$thumb.length||(a.opts.thumb=i),"iframe"===p&&(a.opts=h.extend(!0,a.opts,{iframe:{preload:!1,attr:{scrolling:"no"}}})),h.extend(a,{type:p,src:u,origSrc:a.src,contentSource:d,contentType:"image"===p?"image":"gmap_place"==d||"gmap_search"==d?"map":"video"})):u&&(a.type=a.opts.defaultType)});var a={youtube:{src:"https://www.youtube.com/iframe_api",class:"YT",loading:!1,loaded:!1},vimeo:{src:"https://player.vimeo.com/api/player.js",class:"Vimeo",loading:!1,loaded:!1},load:function(t){var e,o=this;this[t].loaded?setTimeout(function(){o.done(t)}):this[t].loading||(this[t].loading=!0,(e=document.createElement("script")).type="text/javascript",e.src=this[t].src,"youtube"===t?window.onYouTubeIframeAPIReady=function(){o[t].loaded=!0,o.done(t)}:e.onload=function(){o[t].loaded=!0,o.done(t)},document.body.appendChild(e))},done:function(t){var e,o;"youtube"===t&&delete window.onYouTubeIframeAPIReady,(e=h.modulaFancybox.getInstance())&&(o=e.current.$content.find("iframe"),"youtube"===t&&void 0!==YT&&YT?new YT.Player(o.attr("id"),{events:{onStateChange:function(t){0==t.data&&e.next()}}}):"vimeo"===t&&void 0!==Vimeo&&Vimeo&&new Vimeo.Player(o).on("ended",function(){e.next()}))}};h(document).on({"afterShow.fb":function(t,e,o){1<e.group.length&&("youtube"===o.contentSource||"vimeo"===o.contentSource)&&a.load(o.contentSource)}})}(jQuery),function(m,l,g){"use strict";function d(t){var e=[];for(var o in t=(t=t.originalEvent||t||m.e).touches&&t.touches.length?t.touches:t.changedTouches&&t.changedTouches.length?t.changedTouches:[t])t[o].pageX?e.push({x:t[o].pageX,y:t[o].pageY}):t[o].clientX&&e.push({x:t[o].clientX,y:t[o].clientY});return e}function b(t,e,o){return e&&t?"x"===o?t.x-e.x:"y"===o?t.y-e.y:Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)):0}function c(t){if(t.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe')||g.isFunction(t.get(0).onclick)||t.data("selectable"))return!0;for(var e=0,o=t[0].attributes,n=o.length;e<n;e++)if("data-fancybox-"===o[e].nodeName.substr(0,14))return!0;return!1}function u(t){for(var e,o,n,a,i,s=!1;e=t.get(0),void 0,o=m.getComputedStyle(e)["overflow-y"],n=m.getComputedStyle(e)["overflow-x"],a=("scroll"===o||"auto"===o)&&e.scrollHeight>e.clientHeight,i=("scroll"===n||"auto"===n)&&e.scrollWidth>e.clientWidth,!(s=a||i)&&(t=t.parent()).length&&!t.hasClass("modula-fancybox-stage")&&!t.is("body"););return s}function o(t){var e=this;e.instance=t,e.$bg=t.$refs.bg,e.$stage=t.$refs.stage,e.$container=t.$refs.container,e.destroy(),e.$container.on("touchstart.fb.touch mousedown.fb.touch",g.proxy(e,"ontouchstart"))}var y=m.requestAnimationFrame||m.webkitRequestAnimationFrame||m.mozRequestAnimationFrame||m.oRequestAnimationFrame||function(t){return m.setTimeout(t,1e3/60)},v=m.cancelAnimationFrame||m.webkitCancelAnimationFrame||m.mozCancelAnimationFrame||m.oCancelAnimationFrame||function(t){m.clearTimeout(t)};o.prototype.destroy=function(){var t=this;t.$container.off(".fb.touch"),g(l).off(".fb.touch"),t.requestId&&(v(t.requestId),t.requestId=null),t.tapped&&(clearTimeout(t.tapped),t.tapped=null)},o.prototype.ontouchstart=function(t){var e=this,o=g(t.target),n=e.instance,a=n.current,i=a.$slide,s=a.$content,r="touchstart"==t.type;if(r&&e.$container.off("mousedown.fb.touch"),(!t.originalEvent||2!=t.originalEvent.button)&&i.length&&o.length&&!c(o)&&!c(o.parent())&&(o.is("img")||!(t.originalEvent.clientX>o[0].clientWidth+o.offset().left))){if(!a||n.isAnimating||a.$slide.hasClass("modula-fancybox-animated"))return t.stopPropagation(),void t.preventDefault();e.realPoints=e.startPoints=d(t),e.startPoints.length&&(a.touch&&t.stopPropagation(),e.startEvent=t,e.canTap=!0,e.$target=o,e.$content=s,e.opts=a.opts.touch,e.isPanning=!1,e.isSwiping=!1,e.isZooming=!1,e.isScrolling=!1,e.canPan=n.canPan(),e.startTime=(new Date).getTime(),e.distanceX=e.distanceY=e.distance=0,e.canvasWidth=Math.round(i[0].clientWidth),e.canvasHeight=Math.round(i[0].clientHeight),e.contentLastPos=null,e.contentStartPos=g.modulaFancybox.getTranslate(e.$content)||{top:0,left:0},e.sliderStartPos=g.modulaFancybox.getTranslate(i),e.stagePos=g.modulaFancybox.getTranslate(n.$refs.stage),e.sliderStartPos.top-=e.stagePos.top,e.sliderStartPos.left-=e.stagePos.left,e.contentStartPos.top-=e.stagePos.top,e.contentStartPos.left-=e.stagePos.left,g(l).off(".fb.touch").on(r?"touchend.fb.touch touchcancel.fb.touch":"mouseup.fb.touch mouseleave.fb.touch",g.proxy(e,"ontouchend")).on(r?"touchmove.fb.touch":"mousemove.fb.touch",g.proxy(e,"ontouchmove")),g.modulaFancybox.isMobile&&l.addEventListener("scroll",e.onscroll,!0),((e.opts||e.canPan)&&(o.is(e.$stage)||e.$stage.find(o).length)||(o.is(".modula-fancybox-image")&&t.preventDefault(),g.modulaFancybox.isMobile&&o.parents(".modula-fancybox-caption").length))&&(e.isScrollable=u(o)||u(o.parent()),g.modulaFancybox.isMobile&&e.isScrollable||t.preventDefault(),1!==e.startPoints.length&&!a.hasError||(e.canPan?(g.modulaFancybox.stop(e.$content),e.isPanning=!0):e.isSwiping=!0,e.$container.addClass("modula-fancybox-is-grabbing")),2===e.startPoints.length&&"image"===a.type&&(a.isLoaded||a.$ghost)&&(e.canTap=!1,e.isSwiping=!1,e.isPanning=!1,e.isZooming=!0,g.modulaFancybox.stop(e.$content),e.centerPointStartX=.5*(e.startPoints[0].x+e.startPoints[1].x)-g(m).scrollLeft(),e.centerPointStartY=.5*(e.startPoints[0].y+e.startPoints[1].y)-g(m).scrollTop(),e.percentageOfImageAtPinchPointX=(e.centerPointStartX-e.contentStartPos.left)/e.contentStartPos.width,e.percentageOfImageAtPinchPointY=(e.centerPointStartY-e.contentStartPos.top)/e.contentStartPos.height,e.startDistanceBetweenFingers=b(e.startPoints[0],e.startPoints[1]))))}},o.prototype.onscroll=function(t){this.isScrolling=!0,l.removeEventListener("scroll",this.onscroll,!0)},o.prototype.ontouchmove=function(t){var e=this;void 0===t.originalEvent.buttons||0!==t.originalEvent.buttons?e.isScrolling?e.canTap=!1:(e.newPoints=d(t),(e.opts||e.canPan)&&e.newPoints.length&&e.newPoints.length&&(e.isSwiping&&!0===e.isSwiping||t.preventDefault(),e.distanceX=b(e.newPoints[0],e.startPoints[0],"x"),e.distanceY=b(e.newPoints[0],e.startPoints[0],"y"),e.distance=b(e.newPoints[0],e.startPoints[0]),0<e.distance&&(e.isSwiping?e.onSwipe(t):e.isPanning?e.onPan():e.isZooming&&e.onZoom()))):e.ontouchend(t)},o.prototype.onSwipe=function(t){var e,a=this,i=a.instance,o=a.isSwiping,n=a.sliderStartPos.left||0;if(!0!==o)"x"==o&&(0<a.distanceX&&(a.instance.group.length<2||0===a.instance.current.index&&!a.instance.current.opts.loop)?n+=Math.pow(a.distanceX,.8):a.distanceX<0&&(a.instance.group.length<2||a.instance.current.index===a.instance.group.length-1&&!a.instance.current.opts.loop)?n-=Math.pow(-a.distanceX,.8):n+=a.distanceX),a.sliderLastPos={top:"x"==o?0:a.sliderStartPos.top+a.distanceY,left:n},a.requestId&&(v(a.requestId),a.requestId=null),a.requestId=y(function(){a.sliderLastPos&&(g.each(a.instance.slides,function(t,e){var o=e.pos-a.instance.currPos;g.modulaFancybox.setTranslate(e.$slide,{top:a.sliderLastPos.top,left:a.sliderLastPos.left+o*a.canvasWidth+o*e.opts.gutter})}),a.$container.addClass("modula-fancybox-is-sliding"))});else if(10<Math.abs(a.distance)){if(a.canTap=!1,i.group.length<2&&a.opts.vertical?a.isSwiping="y":i.isDragging||!1===a.opts.vertical||"auto"===a.opts.vertical&&800<g(m).width()?a.isSwiping="x":(e=Math.abs(180*Math.atan2(a.distanceY,a.distanceX)/Math.PI),a.isSwiping=45<e&&e<135?"y":"x"),"y"===a.isSwiping&&g.modulaFancybox.isMobile&&a.isScrollable)return void(a.isScrolling=!0);i.isDragging=a.isSwiping,a.startPoints=a.newPoints,g.each(i.slides,function(t,e){var o,n;g.modulaFancybox.stop(e.$slide),o=g.modulaFancybox.getTranslate(e.$slide),n=g.modulaFancybox.getTranslate(i.$refs.stage),e.$slide.css({transform:"",opacity:"","transition-duration":""}).removeClass("modula-fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")}),e.pos===i.current.pos&&(a.sliderStartPos.top=o.top-n.top,a.sliderStartPos.left=o.left-n.left),g.modulaFancybox.setTranslate(e.$slide,{top:o.top-n.top,left:o.left-n.left})}),i.SlideShow&&i.SlideShow.isActive&&i.SlideShow.stop()}},o.prototype.onPan=function(){var t=this;b(t.newPoints[0],t.realPoints[0])<(g.modulaFancybox.isMobile?10:5)?t.startPoints=t.newPoints:(t.canTap=!1,t.contentLastPos=t.limitMovement(),t.requestId&&v(t.requestId),t.requestId=y(function(){g.modulaFancybox.setTranslate(t.$content,t.contentLastPos)}))},o.prototype.limitMovement=function(){var t,e,o,n,a,i,s=this,r=s.canvasWidth,l=s.canvasHeight,c=s.distanceX,d=s.distanceY,u=s.contentStartPos,p=u.left,h=u.top,f=u.width,m=u.height;return a=r<f?p+c:p,i=h+d,t=Math.max(0,.5*r-.5*f),e=Math.max(0,.5*l-.5*m),o=Math.min(r-f,.5*r-.5*f),n=Math.min(l-m,.5*l-.5*m),0<c&&t<a&&(a=t-1+Math.pow(-t+p+c,.8)||0),c<0&&a<o&&(a=o+1-Math.pow(o-p-c,.8)||0),0<d&&e<i&&(i=e-1+Math.pow(-e+h+d,.8)||0),d<0&&i<n&&(i=n+1-Math.pow(n-h-d,.8)||0),{top:i,left:a}},o.prototype.limitPosition=function(t,e,o,n){var a=this.canvasWidth,i=this.canvasHeight;return t=a<o?(t=0<t?0:t)<a-o?a-o:t:Math.max(0,a/2-o/2),{top:e=i<n?(e=0<e?0:e)<i-n?i-n:e:Math.max(0,i/2-n/2),left:t}},o.prototype.onZoom=function(){var t=this,e=t.contentStartPos,o=e.width,n=e.height,a=e.left,i=e.top,s=b(t.newPoints[0],t.newPoints[1])/t.startDistanceBetweenFingers,r=Math.floor(o*s),l=Math.floor(n*s),c=(o-r)*t.percentageOfImageAtPinchPointX,d=(n-l)*t.percentageOfImageAtPinchPointY,u=(t.newPoints[0].x+t.newPoints[1].x)/2-g(m).scrollLeft(),p=(t.newPoints[0].y+t.newPoints[1].y)/2-g(m).scrollTop(),h=u-t.centerPointStartX,f={top:i+(d+(p-t.centerPointStartY)),left:a+(c+h),scaleX:s,scaleY:s};t.canTap=!1,t.newWidth=r,t.newHeight=l,t.contentLastPos=f,t.requestId&&v(t.requestId),t.requestId=y(function(){g.modulaFancybox.setTranslate(t.$content,t.contentLastPos)})},o.prototype.ontouchend=function(t){var e=this,o=e.isSwiping,n=e.isPanning,a=e.isZooming,i=e.isScrolling;if(e.endPoints=d(t),e.dMs=Math.max((new Date).getTime()-e.startTime,1),e.$container.removeClass("modula-fancybox-is-grabbing"),g(l).off(".fb.touch"),l.removeEventListener("scroll",e.onscroll,!0),e.requestId&&(v(e.requestId),e.requestId=null),e.isSwiping=!1,e.isPanning=!1,e.isZooming=!1,e.isScrolling=!1,e.instance.isDragging=!1,e.canTap)return e.onTap(t);e.speed=100,e.velocityX=e.distanceX/e.dMs*.5,e.velocityY=e.distanceY/e.dMs*.5,n?e.endPanning():a?e.endZooming():e.endSwiping(o,i)},o.prototype.endSwiping=function(t,e){var o=this,n=!1,a=o.instance.group.length,i=Math.abs(o.distanceX),s="x"==t&&1<a&&(130<o.dMs&&10<i||50<i);o.sliderLastPos=null,"y"==t&&!e&&50<Math.abs(o.distanceY)?(g.modulaFancybox.animate(o.instance.current.$slide,{top:o.sliderStartPos.top+o.distanceY+150*o.velocityY,opacity:0},200),n=o.instance.close(!0,250)):s&&0<o.distanceX?n=o.instance.previous(300):s&&o.distanceX<0&&(n=o.instance.next(300)),!1!==n||"x"!=t&&"y"!=t||o.instance.centerSlide(200),o.$container.removeClass("modula-fancybox-is-sliding")},o.prototype.endPanning=function(){var t,e,o,n=this;n.contentLastPos&&(e=!1===n.opts.momentum||350<n.dMs?(t=n.contentLastPos.left,n.contentLastPos.top):(t=n.contentLastPos.left+500*n.velocityX,n.contentLastPos.top+500*n.velocityY),(o=n.limitPosition(t,e,n.contentStartPos.width,n.contentStartPos.height)).width=n.contentStartPos.width,o.height=n.contentStartPos.height,g.modulaFancybox.animate(n.$content,o,366))},o.prototype.endZooming=function(){var t,e,o,n,a=this,i=a.instance.current,s=a.newWidth,r=a.newHeight;a.contentLastPos&&(t=a.contentLastPos.left,n={top:e=a.contentLastPos.top,left:t,width:s,height:r,scaleX:1,scaleY:1},g.modulaFancybox.setTranslate(a.$content,n),s<a.canvasWidth&&r<a.canvasHeight?a.instance.scaleToFit(150):s>i.width||r>i.height?a.instance.scaleToActual(a.centerPointStartX,a.centerPointStartY,150):(o=a.limitPosition(t,e,s,r),g.modulaFancybox.animate(a.$content,o,150)))},o.prototype.onTap=function(o){function t(t){var e=s.opts[t];if(g.isFunction(e)&&(e=e.apply(i,[s,o])),e)switch(e){case"close":i.close(n.startEvent);break;case"toggleControls":i.toggleControls();break;case"next":i.next();break;case"nextOrClose":1<i.group.length?i.next():i.close(n.startEvent);break;case"zoom":"image"==s.type&&(s.isLoaded||s.$ghost)&&(i.canPan()?i.scaleToFit():i.isScaledDown()?i.scaleToActual(l,c):i.group.length<2&&i.close(n.startEvent))}}var e,n=this,a=g(o.target),i=n.instance,s=i.current,r=o&&d(o)||n.startPoints,l=r[0]?r[0].x-g(m).scrollLeft()-n.stagePos.left:0,c=r[0]?r[0].y-g(m).scrollTop()-n.stagePos.top:0;if((!o.originalEvent||2!=o.originalEvent.button)&&(a.is("img")||!(l>a[0].clientWidth+a.offset().left))){if(a.is(".modula-fancybox-bg,.modula-fancybox-inner,.modula-fancybox-outer,.modula-fancybox-container"))e="Outside";else if(a.is(".modula-fancybox-slide"))e="Slide";else{if(!i.current.$content||!i.current.$content.find(a).addBack().filter(a).length)return;e="Content"}if(n.tapped){if(clearTimeout(n.tapped),n.tapped=null,50<Math.abs(l-n.tapX)||50<Math.abs(c-n.tapY))return this;t("dblclick"+e)}else n.tapX=l,n.tapY=c,s.opts["dblclick"+e]&&s.opts["dblclick"+e]!==s.opts["click"+e]?n.tapped=setTimeout(function(){n.tapped=null,i.isAnimating||t("click"+e)},500):t("click"+e);return this}},g(l).on("onActivate.fb",function(t,e){e&&!e.Guestures&&(e.Guestures=new o(e))}).on("beforeClose.fb",function(t,e){e&&e.Guestures&&e.Guestures.destroy()})}(window,document,jQuery),function(s,r){"use strict";r.extend(!0,r.modulaFancybox.defaults,{btnTpl:{slideShow:'<button data-fancybox-play class="modula-fancybox-button modula-fancybox-button--play" title="{{PLAY_START}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.5 5.4v13.2l11-6.6z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.33 5.75h2.2v12.5h-2.2V5.75zm5.15 0h2.2v12.5h-2.2V5.75z"/></svg></button>'},slideShow:{autoStart:!1,speed:3e3,progress:!0}});function o(t){this.instance=t,this.init()}r.extend(o.prototype,{timer:null,isActive:!1,$button:null,init:function(){var t=this,e=t.instance,o=e.group[e.currIndex].opts.slideShow;t.$button=e.$refs.toolbar.find("[data-fancybox-play]").on("click",function(){t.toggle()}),e.group.length<2||!o?t.$button.hide():o.progress&&(t.$progress=r('<div class="modula-fancybox-progress"></div>').appendTo(e.$refs.inner))},set:function(t){var e=this,o=e.instance,n=o.current;n&&(!0===t||n.opts.loop||o.currIndex<o.group.length-1)?e.isActive&&"video"!==n.contentType&&(e.$progress&&r.modulaFancybox.animate(e.$progress.show(),{scaleX:1},n.opts.slideShow.speed),e.timer=setTimeout(function(){o.current.opts.loop||o.current.index!=o.group.length-1?o.next():o.jumpTo(0)},n.opts.slideShow.speed)):(e.stop(),o.idleSecondsCounter=0,o.showControls())},clear:function(){clearTimeout(this.timer),this.timer=null,this.$progress&&this.$progress.removeAttr("style").hide()},start:function(){var t=this,e=t.instance.current;e&&(t.$button.attr("title",(e.opts.i18n[e.opts.lang]||e.opts.i18n.en).PLAY_STOP).removeClass("modula-fancybox-button--play").addClass("modula-fancybox-button--pause"),t.isActive=!0,e.isComplete&&t.set(!0),t.instance.trigger("onSlideShowChange",!0))},stop:function(){var t=this,e=t.instance.current;t.clear(),t.$button.attr("title",(e.opts.i18n[e.opts.lang]||e.opts.i18n.en).PLAY_START).removeClass("modula-fancybox-button--pause").addClass("modula-fancybox-button--play"),t.isActive=!1,t.instance.trigger("onSlideShowChange",!1),t.$progress&&t.$progress.removeAttr("style").hide()},toggle:function(){this.isActive?this.stop():this.start()}}),r(s).on({"onInit.fb":function(t,e){e&&!e.SlideShow&&(e.SlideShow=new o(e))},"beforeShow.fb":function(t,e,o,n){var a=e&&e.SlideShow;n?a&&o.opts.slideShow.autoStart&&a.start():a&&a.isActive&&a.clear()},"afterShow.fb":function(t,e,o){var n=e&&e.SlideShow;n&&n.isActive&&n.set()},"afterKeydown.fb":function(t,e,o,n,a){var i=e&&e.SlideShow;!i||!o.opts.slideShow||80!==a&&32!==a||r(s.activeElement).is("button,a,input")||(n.preventDefault(),i.toggle())},"beforeClose.fb onDeactivate.fb":function(t,e){var o=e&&e.SlideShow;o&&o.stop()}}),r(s).on("visibilitychange",function(){var t=r.modulaFancybox.getInstance(),e=t&&t.SlideShow;e&&e.isActive&&(s.hidden?e.clear():e.set())})}(document,jQuery),function(i,o){"use strict";var n=function(){for(var t=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],e={},o=0;o<t.length;o++){var n=t[o];if(n&&n[1]in i){for(var a=0;a<n.length;a++)e[t[0][a]]=n[a];return e}}return!1}();if(n){var a={request:function(t){(t=t||i.documentElement)[n.requestFullscreen](t.ALLOW_KEYBOARD_INPUT)},exit:function(){i[n.exitFullscreen]()},toggle:function(t){t=t||i.documentElement,this.isFullscreen()?this.exit():this.request(t)},isFullscreen:function(){return Boolean(i[n.fullscreenElement])},enabled:function(){return Boolean(i[n.fullscreenEnabled])}};o.extend(!0,o.modulaFancybox.defaults,{btnTpl:{fullScreen:'<button data-fancybox-fullscreen class="modula-fancybox-button modula-fancybox-button--fsenter" title="{{FULL_SCREEN}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 16h3v3h2v-5H5zm3-8H5v2h5V5H8zm6 11h2v-3h3v-2h-5zm2-11V5h-2v5h5V8z"/></svg></button>'},fullScreen:{autoStart:!1}}),o(i).on(n.fullscreenchange,function(){var t=a.isFullscreen(),e=o.modulaFancybox.getInstance();e&&(e.current&&"image"===e.current.type&&e.isAnimating&&(e.isAnimating=!1,e.update(!0,!0,0),e.isComplete||e.complete()),e.trigger("onFullscreenChange",t),e.$refs.container.toggleClass("modula-fancybox-is-fullscreen",t),e.$refs.toolbar.find("[data-fancybox-fullscreen]").toggleClass("modula-fancybox-button--fsenter",!t).toggleClass("modula-fancybox-button--fsexit",t))})}o(i).on({"onInit.fb":function(t,e){n?e&&e.group[e.currIndex].opts.fullScreen?(e.$refs.container.on("click.fb-fullscreen","[data-fancybox-fullscreen]",function(t){t.stopPropagation(),t.preventDefault(),a.toggle()}),e.opts.fullScreen&&!0===e.opts.fullScreen.autoStart&&a.request(),e.FullScreen=a):e&&e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide():e.$refs.toolbar.find("[data-fancybox-fullscreen]").remove()},"afterKeydown.fb":function(t,e,o,n,a){e&&e.FullScreen&&70===a&&(n.preventDefault(),e.FullScreen.toggle())},"beforeClose.fb":function(t,e){e&&e.FullScreen&&e.$refs.container.hasClass("modula-fancybox-is-fullscreen")&&a.exit()}})}(document,jQuery),function(t,i){"use strict";var s="modula-fancybox-thumbs",r=s+"-active";i.modulaFancybox.defaults=i.extend(!0,{btnTpl:{thumbs:'<button data-fancybox-thumbs class="modula-fancybox-button modula-fancybox-button--thumbs" title="{{THUMBS}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.59 14.59h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76H5.65V5.65z"/></svg></button>'},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".modula-fancybox-container",axis:"y"}},i.modulaFancybox.defaults);function n(t){this.init(t)}i.extend(n.prototype,{$button:null,$grid:null,$list:null,isVisible:!1,isActive:!1,init:function(t){var e=this,o=t.group,n=0;e.instance=t,e.opts=o[t.currIndex].opts.thumbs,(t.Thumbs=e).$button=t.$refs.toolbar.find("[data-fancybox-thumbs]");for(var a=0,i=o.length;a<i&&(o[a].thumb&&n++,!(1<n));a++);1<n&&e.opts?(e.$button.removeAttr("style").on("click",function(){e.toggle()}),e.isActive=!0):e.$button.hide()},create:function(){var o,t=this,e=t.instance,n=t.opts.parentEl,a=[];t.$grid||(t.$grid=i('<div class="'+s+" "+s+"-"+t.opts.axis+'"></div>').appendTo(e.$refs.container.find(n).addBack().filter(n)),t.$grid.on("click","a",function(){e.jumpTo(i(this).attr("data-index"))})),t.$list||(t.$list=i('<div class="'+s+'__list">').appendTo(t.$grid)),i.each(e.group,function(t,e){(o=e.thumb)||"image"!==e.type||(o=e.src),a.push('<a href="javascript:;" tabindex="0" data-index="'+t+'"'+(o&&o.length?' style="background-image:url('+o+')"':'class="modula-fancybox-thumbs-missing"')+"></a>")}),t.$list[0].innerHTML=a.join(""),"x"===t.opts.axis&&t.$list.width(parseInt(t.$grid.css("padding-right"),10)+e.group.length*t.$list.children().eq(0).outerWidth(!0))},focus:function(t){var e,o,n=this,a=n.$list,i=n.$grid;n.instance.current&&(o=(e=a.children().removeClass(r).filter('[data-index="'+n.instance.current.index+'"]').addClass(r)).position(),"y"===n.opts.axis&&(o.top<0||o.top>a.height()-e.outerHeight())?a.stop().animate({scrollTop:a.scrollTop()+o.top},t):"x"===n.opts.axis&&(o.left<i.scrollLeft()||o.left>i.scrollLeft()+(i.width()-e.outerWidth()))&&a.parent().stop().animate({scrollLeft:o.left},t))},update:function(){var t=this;t.instance.$refs.container.toggleClass("modula-fancybox-show-thumbs",this.isVisible),t.isVisible?(t.$grid||t.create(),t.instance.trigger("onThumbsShow"),t.focus(0)):t.$grid&&t.instance.trigger("onThumbsHide"),t.instance.update()},hide:function(){this.isVisible=!1,this.update()},show:function(){this.isVisible=!0,this.update()},toggle:function(){this.isVisible=!this.isVisible,this.update()}}),i(t).on({"onInit.fb":function(t,e){var o;e&&!e.Thumbs&&(o=new n(e)).isActive&&!0===o.opts.autoStart&&o.show()},"beforeShow.fb":function(t,e,o,n){var a=e&&e.Thumbs;a&&a.isVisible&&a.focus(n?0:250)},"afterKeydown.fb":function(t,e,o,n,a){var i=e&&e.Thumbs;i&&i.isActive&&71===a&&(n.preventDefault(),i.toggle())},"beforeClose.fb":function(t,e){var o=e&&e.Thumbs;o&&o.isVisible&&!1!==o.opts.hideOnClose&&o.$grid.hide()}})}(document,jQuery),function(t,e){"use strict";e.extend(!0,e.modulaFancybox.defaults,{btnTpl:{share:'<button data-fancybox-share class="modula-fancybox-button modula-fancybox-button--share" title="{{SHARE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.55 19c1.4-8.4 9.1-9.8 11.9-9.8V5l7 7-7 6.3v-3.5c-2.8 0-10.5 2.1-11.9 4.2z"/></svg></button>'},share:{url:function(t,e){return!t.currentHash&&"inline"!==e.type&&"html"!==e.type&&(e.origSrc||e.src)||window.location}}}),e(t).on("click","[data-fancybox-share]",function(){var o,n=e.modulaFancybox.getInstance(),a=n.current||null,i="<div class='modula-fancybox-share'><h1>{{SHARE}}</h1><p>";a&&("function"===e.type(a.opts.share.url)&&(o=a.opts.share.url.apply(a,[n,a])),e.each(a.opts.modulaShare,function(t,e){i+=a.opts.shareBtnTpl[e].replace(/\{\{media\}\}/g,"image"===a.type?encodeURIComponent(a.src):"").replace(/\{\{modulaShareUrl\}\}/g,encodeURIComponent(o)).replace(/\{\{descr\}\}/g,n.$caption?encodeURIComponent(n.$caption.text()):"")}),i=(i+="</p><p><input class='modula-fancybox-share__input' type='text' value='{{url_raw}}' /></p></div>").replace(/\{\{url_raw\}\}/g,function(t){var e={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};return String(t).replace(/[&<>"'`=\/]/g,function(t){return e[t]})}(o)),e.modulaFancybox.open({src:n.translate(n,i),type:"html",opts:{touch:!1,animationEffect:!1,afterLoad:function(t,e){n.$refs.container.one("beforeClose.fb",function(){t.close(null,0)}),e.$content.find(".modula-fancybox-share__button").click(function(){return window.open(this.href,"Share","width=550, height=450"),!1})},mobile:{autoFocus:!1}}}))})}(document,jQuery),function(i,s,a){"use strict";function r(){var t=i.location.hash.substr(1),e=t.split("-"),o=1<e.length&&/^\+?\d+$/.test(e[e.length-1])&&parseInt(e.pop(-1),10)||1;return{hash:t,index:o<1?1:o,gallery:e.join("-")}}function e(t){""!==t.gallery&&a("[data-fancybox='"+a.escapeSelector(t.gallery)+"']").eq(t.index-1).focus().trigger("click.fb-start")}function l(t){var e,o;return!!t&&(""!==(o=(e=t.current?t.current.opts:t.opts).hash||(e.$orig?e.$orig.data("fancybox")||e.$orig.data("fancybox-trigger"):""))&&o)}a.escapeSelector||(a.escapeSelector=function(t){return(t+"").replace(/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t})}),a(function(){!1!==a.modulaFancybox.defaults.hash&&(a(s).on({"onInit.fb":function(t,e){var o,n;!1!==e.group[e.currIndex].opts.hash&&(o=r(),(n=l(e))&&o.gallery&&n==o.gallery&&(e.currIndex=o.index-1))},"beforeShow.fb":function(t,e,o,n){var a;o&&!1!==o.opts.hash&&(a=l(e))&&(e.currentHash=a+(1<e.group.length?"-"+(o.index+1):""),i.location.hash!=="#"+e.currentHash&&(n&&!e.origHash&&(e.origHash=i.location.hash),e.hashTimer&&clearTimeout(e.hashTimer),e.hashTimer=setTimeout(function(){"replaceState"in i.history?(i.history[n?"pushState":"replaceState"]({},s.title,i.location.pathname+i.location.search+"#"+e.currentHash),n&&(e.hasCreatedHistory=!0)):i.location.hash=e.currentHash,e.hashTimer=null},300)))},"beforeClose.fb":function(t,e,o){o&&!1!==o.opts.hash&&(clearTimeout(e.hashTimer),e.currentHash&&e.hasCreatedHistory?i.history.back():e.currentHash&&("replaceState"in i.history?i.history.replaceState({},s.title,i.location.pathname+i.location.search+(e.origHash||"")):i.location.hash=e.origHash),e.currentHash=null)}}),a(i).on("hashchange.fb",function(){var t=r(),n=null;a.each(a(".modula-fancybox-container").get().reverse(),function(t,e){var o=a(e).data("modulaFancyBox");if(o&&o.currentHash)return n=o,!1}),n?n.currentHash===t.gallery+"-"+t.index||1===t.index&&n.currentHash==t.gallery||(n.currentHash=null,n.close()):""!==t.gallery&&e(t)}),setTimeout(function(){a.modulaFancybox.getInstance()||e(r())},50))})}(window,document,jQuery),function(t,e){"use strict";var a=(new Date).getTime();e(t).on({"onInit.fb":function(t,n,e){n.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll",function(t){var e=n.current,o=(new Date).getTime();n.group.length<2||!1===e.opts.wheel||"auto"===e.opts.wheel&&"image"!==e.type||(t.preventDefault(),t.stopPropagation(),e.$slide.hasClass("modula-fancybox-animated")||(t=t.originalEvent||t,o-a<250||(a=o,n[(-t.deltaY||-t.deltaX||t.wheelDelta||-t.detail)<0?"next":"previous"]())))})}})}(document,jQuery);
assets/js/front/isotope-packery.js ADDED
@@ -0,0 +1,1239 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Packery layout mode PACKAGED v2.0.1
3
+ * sub-classes Packery
4
+ */
5
+
6
+ /**
7
+ * Rect
8
+ * low-level utility class for basic geometry
9
+ */
10
+
11
+ ( function( window, factory ) {
12
+ // universal module definition
13
+ /* jshint strict: false */ /* globals define, module */
14
+ if ( typeof define == 'function' && define.amd ) {
15
+ // AMD
16
+ define( 'packery/js/rect',factory );
17
+ } else if ( typeof module == 'object' && module.exports ) {
18
+ // CommonJS
19
+ module.exports = factory();
20
+ } else {
21
+ // browser global
22
+ window.Packery = window.Packery || {};
23
+ window.Packery.Rect = factory();
24
+ }
25
+
26
+ }( window, function factory() {
27
+
28
+
29
+ // -------------------------- Rect -------------------------- //
30
+
31
+ function Rect( props ) {
32
+ // extend properties from defaults
33
+ for ( var prop in Rect.defaults ) {
34
+ this[ prop ] = Rect.defaults[ prop ];
35
+ }
36
+
37
+ for ( prop in props ) {
38
+ this[ prop ] = props[ prop ];
39
+ }
40
+
41
+ }
42
+
43
+ Rect.defaults = {
44
+ x: 0,
45
+ y: 0,
46
+ width: 0,
47
+ height: 0
48
+ };
49
+
50
+ var proto = Rect.prototype;
51
+
52
+ /**
53
+ * Determines whether or not this rectangle wholly encloses another rectangle or point.
54
+ * @param {Rect} rect
55
+ * @returns {Boolean}
56
+ **/
57
+ proto.contains = function( rect ) {
58
+ // points don't have width or height
59
+ var otherWidth = rect.width || 0;
60
+ var otherHeight = rect.height || 0;
61
+ return this.x <= rect.x &&
62
+ this.y <= rect.y &&
63
+ this.x + this.width >= rect.x + otherWidth &&
64
+ this.y + this.height >= rect.y + otherHeight;
65
+ };
66
+
67
+ /**
68
+ * Determines whether or not the rectangle intersects with another.
69
+ * @param {Rect} rect
70
+ * @returns {Boolean}
71
+ **/
72
+ proto.overlaps = function( rect ) {
73
+ var thisRight = this.x + this.width;
74
+ var thisBottom = this.y + this.height;
75
+ var rectRight = rect.x + rect.width;
76
+ var rectBottom = rect.y + rect.height;
77
+
78
+ // http://stackoverflow.com/a/306332
79
+ return this.x < rectRight &&
80
+ thisRight > rect.x &&
81
+ this.y < rectBottom &&
82
+ thisBottom > rect.y;
83
+ };
84
+
85
+ /**
86
+ * @param {Rect} rect - the overlapping rect
87
+ * @returns {Array} freeRects - rects representing the area around the rect
88
+ **/
89
+ proto.getMaximalFreeRects = function( rect ) {
90
+
91
+ // if no intersection, return false
92
+ if ( !this.overlaps( rect ) ) {
93
+ return false;
94
+ }
95
+
96
+ var freeRects = [];
97
+ var freeRect;
98
+
99
+ var thisRight = this.x + this.width;
100
+ var thisBottom = this.y + this.height;
101
+ var rectRight = rect.x + rect.width;
102
+ var rectBottom = rect.y + rect.height;
103
+
104
+ // top
105
+ if ( this.y < rect.y ) {
106
+ freeRect = new Rect({
107
+ x: this.x,
108
+ y: this.y,
109
+ width: this.width,
110
+ height: rect.y - this.y
111
+ });
112
+ freeRects.push( freeRect );
113
+ }
114
+
115
+ // right
116
+ if ( thisRight > rectRight ) {
117
+ freeRect = new Rect({
118
+ x: rectRight,
119
+ y: this.y,
120
+ width: thisRight - rectRight,
121
+ height: this.height
122
+ });
123
+ freeRects.push( freeRect );
124
+ }
125
+
126
+ // bottom
127
+ if ( thisBottom > rectBottom ) {
128
+ freeRect = new Rect({
129
+ x: this.x,
130
+ y: rectBottom,
131
+ width: this.width,
132
+ height: thisBottom - rectBottom
133
+ });
134
+ freeRects.push( freeRect );
135
+ }
136
+
137
+ // left
138
+ if ( this.x < rect.x ) {
139
+ freeRect = new Rect({
140
+ x: this.x,
141
+ y: this.y,
142
+ width: rect.x - this.x,
143
+ height: this.height
144
+ });
145
+ freeRects.push( freeRect );
146
+ }
147
+
148
+ return freeRects;
149
+ };
150
+
151
+ proto.canFit = function( rect ) {
152
+ return this.width >= rect.width && this.height >= rect.height;
153
+ };
154
+
155
+ return Rect;
156
+
157
+ }));
158
+
159
+ /**
160
+ * Packer
161
+ * bin-packing algorithm
162
+ */
163
+
164
+ ( function( window, factory ) {
165
+ // universal module definition
166
+ /* jshint strict: false */ /* globals define, module, require */
167
+ if ( typeof define == 'function' && define.amd ) {
168
+ // AMD
169
+ define( 'packery/js/packer',[ './rect' ], factory );
170
+ } else if ( typeof module == 'object' && module.exports ) {
171
+ // CommonJS
172
+ module.exports = factory(
173
+ require('./rect')
174
+ );
175
+ } else {
176
+ // browser global
177
+ var Packery = window.Packery = window.Packery || {};
178
+ Packery.Packer = factory( Packery.Rect );
179
+ }
180
+
181
+ }( window, function factory( Rect ) {
182
+
183
+
184
+ // -------------------------- Packer -------------------------- //
185
+
186
+ /**
187
+ * @param {Number} width
188
+ * @param {Number} height
189
+ * @param {String} sortDirection
190
+ * topLeft for vertical, leftTop for horizontal
191
+ */
192
+ function Packer( width, height, sortDirection ) {
193
+ this.width = width || 0;
194
+ this.height = height || 0;
195
+ this.sortDirection = sortDirection || 'downwardLeftToRight';
196
+
197
+ this.reset();
198
+ }
199
+
200
+ var proto = Packer.prototype;
201
+
202
+ proto.reset = function() {
203
+ this.spaces = [];
204
+
205
+ var initialSpace = new Rect({
206
+ x: 0,
207
+ y: 0,
208
+ width: this.width,
209
+ height: this.height
210
+ });
211
+
212
+ this.spaces.push( initialSpace );
213
+ // set sorter
214
+ this.sorter = sorters[ this.sortDirection ] || sorters.downwardLeftToRight;
215
+ };
216
+
217
+ // change x and y of rect to fit with in Packer's available spaces
218
+ proto.pack = function( rect ) {
219
+ for ( var i=0; i < this.spaces.length; i++ ) {
220
+ var space = this.spaces[i];
221
+ if ( space.canFit( rect ) ) {
222
+ this.placeInSpace( rect, space );
223
+ break;
224
+ }
225
+ }
226
+ };
227
+
228
+ proto.columnPack = function( rect ) {
229
+ for ( var i=0; i < this.spaces.length; i++ ) {
230
+ var space = this.spaces[i];
231
+ var canFitInSpaceColumn = space.x <= rect.x &&
232
+ space.x + space.width >= rect.x + rect.width &&
233
+ space.height >= rect.height - 0.01; // fudge number for rounding error
234
+ if ( canFitInSpaceColumn ) {
235
+ rect.y = space.y;
236
+ this.placed( rect );
237
+ break;
238
+ }
239
+ }
240
+ };
241
+
242
+ proto.rowPack = function( rect ) {
243
+ for ( var i=0; i < this.spaces.length; i++ ) {
244
+ var space = this.spaces[i];
245
+ var canFitInSpaceRow = space.y <= rect.y &&
246
+ space.y + space.height >= rect.y + rect.height &&
247
+ space.width >= rect.width - 0.01; // fudge number for rounding error
248
+ if ( canFitInSpaceRow ) {
249
+ rect.x = space.x;
250
+ this.placed( rect );
251
+ break;
252
+ }
253
+ }
254
+ };
255
+
256
+ proto.placeInSpace = function( rect, space ) {
257
+ // place rect in space
258
+ rect.x = space.x;
259
+ rect.y = space.y;
260
+
261
+ this.placed( rect );
262
+ };
263
+
264
+ // update spaces with placed rect
265
+ proto.placed = function( rect ) {
266
+ // update spaces
267
+ var revisedSpaces = [];
268
+ for ( var i=0; i < this.spaces.length; i++ ) {
269
+ var space = this.spaces[i];
270
+ var newSpaces = space.getMaximalFreeRects( rect );
271
+ // add either the original space or the new spaces to the revised spaces
272
+ if ( newSpaces ) {
273
+ revisedSpaces.push.apply( revisedSpaces, newSpaces );
274
+ } else {
275
+ revisedSpaces.push( space );
276
+ }
277
+ }
278
+
279
+ this.spaces = revisedSpaces;
280
+
281
+ this.mergeSortSpaces();
282
+ };
283
+
284
+ proto.mergeSortSpaces = function() {
285
+ // remove redundant spaces
286
+ Packer.mergeRects( this.spaces );
287
+ this.spaces.sort( this.sorter );
288
+ };
289
+
290
+ // add a space back
291
+ proto.addSpace = function( rect ) {
292
+ this.spaces.push( rect );
293
+ this.mergeSortSpaces();
294
+ };
295
+
296
+ // -------------------------- utility functions -------------------------- //
297
+
298
+ /**
299
+ * Remove redundant rectangle from array of rectangles
300
+ * @param {Array} rects: an array of Rects
301
+ * @returns {Array} rects: an array of Rects
302
+ **/
303
+ Packer.mergeRects = function( rects ) {
304
+ var i = 0;
305
+ var rect = rects[i];
306
+
307
+ rectLoop:
308
+ while ( rect ) {
309
+ var j = 0;
310
+ var compareRect = rects[ i + j ];
311
+
312
+ while ( compareRect ) {
313
+ if ( compareRect == rect ) {
314
+ j++; // next
315
+ } else if ( compareRect.contains( rect ) ) {
316
+ // remove rect
317
+ rects.splice( i, 1 );
318
+ rect = rects[i]; // set next rect
319
+ continue rectLoop; // bail on compareLoop
320
+ } else if ( rect.contains( compareRect ) ) {
321
+ // remove compareRect
322
+ rects.splice( i + j, 1 );
323
+ } else {
324
+ j++;
325
+ }
326
+ compareRect = rects[ i + j ]; // set next compareRect
327
+ }
328
+ i++;
329
+ rect = rects[i];
330
+ }
331
+
332
+ return rects;
333
+ };
334
+
335
+
336
+ // -------------------------- sorters -------------------------- //
337
+
338
+ // functions for sorting rects in order
339
+ var sorters = {
340
+ // top down, then left to right
341
+ downwardLeftToRight: function( a, b ) {
342
+ return a.y - b.y || a.x - b.x;
343
+ },
344
+ // left to right, then top down
345
+ rightwardTopToBottom: function( a, b ) {
346
+ return a.x - b.x || a.y - b.y;
347
+ }
348
+ };
349
+
350
+
351
+ // -------------------------- -------------------------- //
352
+
353
+ return Packer;
354
+
355
+ }));
356
+
357
+ /**
358
+ * Packery Item Element
359
+ **/
360
+
361
+ ( function( window, factory ) {
362
+ // universal module definition
363
+ /* jshint strict: false */ /* globals define, module, require */
364
+ if ( typeof define == 'function' && define.amd ) {
365
+ // AMD
366
+ define( 'packery/js/item',[
367
+ 'outlayer/outlayer',
368
+ './rect'
369
+ ],
370
+ factory );
371
+ } else if ( typeof module == 'object' && module.exports ) {
372
+ // CommonJS
373
+ module.exports = factory(
374
+ require('outlayer'),
375
+ require('./rect')
376
+ );
377
+ } else {
378
+ // browser global
379
+ window.Packery.Item = factory(
380
+ window.Outlayer,
381
+ window.Packery.Rect
382
+ );
383
+ }
384
+
385
+ }( window, function factory( Outlayer, Rect ) {
386
+
387
+
388
+ // -------------------------- Item -------------------------- //
389
+
390
+ var docElemStyle = document.documentElement.style;
391
+
392
+ var transformProperty = typeof docElemStyle.transform == 'string' ?
393
+ 'transform' : 'WebkitTransform';
394
+
395
+ // sub-class Item
396
+ var Item = function PackeryItem() {
397
+ Outlayer.Item.apply( this, arguments );
398
+ };
399
+
400
+ var proto = Item.prototype = Object.create( Outlayer.Item.prototype );
401
+
402
+ var __create = proto._create;
403
+ proto._create = function() {
404
+ // call default _create logic
405
+ __create.call( this );
406
+ this.rect = new Rect();
407
+ };
408
+
409
+ var _moveTo = proto.moveTo;
410
+ proto.moveTo = function( x, y ) {
411
+ // don't shift 1px while dragging
412
+ var dx = Math.abs( this.position.x - x );
413
+ var dy = Math.abs( this.position.y - y );
414
+
415
+ var canHackGoTo = this.layout.dragItemCount && !this.isPlacing &&
416
+ !this.isTransitioning && dx < 1 && dy < 1;
417
+ if ( canHackGoTo ) {
418
+ this.goTo( x, y );
419
+ return;
420
+ }
421
+ _moveTo.apply( this, arguments );
422
+ };
423
+
424
+ // -------------------------- placing -------------------------- //
425
+
426
+ proto.enablePlacing = function() {
427
+ this.removeTransitionStyles();
428
+ // remove transform property from transition
429
+ if ( this.isTransitioning && transformProperty ) {
430
+ this.element.style[ transformProperty ] = 'none';
431
+ }
432
+ this.isTransitioning = false;
433
+ this.getSize();
434
+ this.layout._setRectSize( this.element, this.rect );
435
+ this.isPlacing = true;
436
+ };
437
+
438
+ proto.disablePlacing = function() {
439
+ this.isPlacing = false;
440
+ };
441
+
442
+ // ----- ----- //
443
+
444
+ // remove element from DOM
445
+ proto.removeElem = function() {
446
+ this.element.parentNode.removeChild( this.element );
447
+ // add space back to packer
448
+ this.layout.packer.addSpace( this.rect );
449
+ this.emitEvent( 'remove', [ this ] );
450
+ };
451
+
452
+ // ----- dropPlaceholder ----- //
453
+
454
+ proto.showDropPlaceholder = function() {
455
+ var dropPlaceholder = this.dropPlaceholder;
456
+ if ( !dropPlaceholder ) {
457
+ // create dropPlaceholder
458
+ dropPlaceholder = this.dropPlaceholder = document.createElement('div');
459
+ dropPlaceholder.className = 'packery-drop-placeholder';
460
+ dropPlaceholder.style.position = 'absolute';
461
+ }
462
+
463
+ dropPlaceholder.style.width = this.size.width + 'px';
464
+ dropPlaceholder.style.height = this.size.height + 'px';
465
+ this.positionDropPlaceholder();
466
+ this.layout.element.appendChild( dropPlaceholder );
467
+ };
468
+
469
+ proto.positionDropPlaceholder = function() {
470
+ this.dropPlaceholder.style[ transformProperty ] = 'translate(' +
471
+ this.rect.x + 'px, ' + this.rect.y + 'px)';
472
+ };
473
+
474
+ proto.hideDropPlaceholder = function() {
475
+ this.layout.element.removeChild( this.dropPlaceholder );
476
+ };
477
+
478
+ // ----- ----- //
479
+
480
+ return Item;
481
+
482
+ }));
483
+
484
+ /*!
485
+ * Packery v2.0.0
486
+ * Gapless, draggable grid layouts
487
+ *
488
+ * Licensed GPLv3 for open source use
489
+ * or Packery Commercial License for commercial use
490
+ *
491
+ * http://packery.metafizzy.co
492
+ * Copyright 2016 Metafizzy
493
+ */
494
+
495
+ ( function( window, factory ) {
496
+ // universal module definition
497
+ /* jshint strict: false */ /* globals define, module, require */
498
+ if ( typeof define == 'function' && define.amd ) {
499
+ // AMD
500
+ define( 'packery/js/packery',[
501
+ 'get-size/get-size',
502
+ 'outlayer/outlayer',
503
+ './rect',
504
+ './packer',
505
+ './item'
506
+ ],
507
+ factory );
508
+ } else if ( typeof module == 'object' && module.exports ) {
509
+ // CommonJS
510
+ module.exports = factory(
511
+ require('get-size'),
512
+ require('outlayer'),
513
+ require('./rect'),
514
+ require('./packer'),
515
+ require('./item')
516
+ );
517
+ } else {
518
+ // browser global
519
+ window.Packery = factory(
520
+ window.getSize,
521
+ window.Outlayer,
522
+ window.Packery.Rect,
523
+ window.Packery.Packer,
524
+ window.Packery.Item
525
+ );
526
+ }
527
+
528
+ }( window, function factory( getSize, Outlayer, Rect, Packer, Item ) {
529
+
530
+
531
+ // ----- Rect ----- //
532
+
533
+ // allow for pixel rounding errors IE8-IE11 & Firefox; #227
534
+ Rect.prototype.canFit = function( rect ) {
535
+ return this.width >= rect.width - 1 && this.height >= rect.height - 1;
536
+ };
537
+
538
+ // -------------------------- Packery -------------------------- //
539
+
540
+ // create an Outlayer layout class
541
+ var Packery = Outlayer.create('packery');
542
+ Packery.Item = Item;
543
+
544
+ var proto = Packery.prototype;
545
+
546
+ proto._create = function() {
547
+ // call super
548
+ Outlayer.prototype._create.call( this );
549
+
550
+ // initial properties
551
+ this.packer = new Packer();
552
+ // packer for drop targets
553
+ this.shiftPacker = new Packer();
554
+ this.isEnabled = true;
555
+
556
+ this.dragItemCount = 0;
557
+
558
+ // create drag handlers
559
+ var _this = this;
560
+ this.handleDraggabilly = {
561
+ dragStart: function() {
562
+ _this.itemDragStart( this.element );
563
+ },
564
+ dragMove: function() {
565
+ _this.itemDragMove( this.element, this.position.x, this.position.y );
566
+ },
567
+ dragEnd: function() {
568
+ _this.itemDragEnd( this.element );
569
+ }
570
+ };
571
+
572
+ this.handleUIDraggable = {
573
+ start: function handleUIDraggableStart( event, ui ) {
574
+ // HTML5 may trigger dragstart, dismiss HTML5 dragging
575
+ if ( !ui ) {
576
+ return;
577
+ }
578
+ _this.itemDragStart( event.currentTarget );
579
+ },
580
+ drag: function handleUIDraggableDrag( event, ui ) {
581
+ if ( !ui ) {
582
+ return;
583
+ }
584
+ _this.itemDragMove( event.currentTarget, ui.position.left, ui.position.top );
585
+ },
586
+ stop: function handleUIDraggableStop( event, ui ) {
587
+ if ( !ui ) {
588
+ return;
589
+ }
590
+ _this.itemDragEnd( event.currentTarget );
591
+ }
592
+ };
593
+
594
+ };
595
+
596
+
597
+ // ----- init & layout ----- //
598
+
599
+ /**
600
+ * logic before any new layout
601
+ */
602
+ proto._resetLayout = function() {
603
+ this.getSize();
604
+
605
+ this._getMeasurements();
606
+
607
+ // reset packer
608
+ var width, height, sortDirection;
609
+ // packer settings, if horizontal or vertical
610
+ if ( this._getOption('horizontal') ) {
611
+ width = Infinity;
612
+ height = this.size.innerHeight + this.gutter;
613
+ sortDirection = 'rightwardTopToBottom';
614
+ } else {
615
+ width = this.size.innerWidth + this.gutter;
616
+ height = Infinity;
617
+ sortDirection = 'downwardLeftToRight';
618
+ }
619
+
620
+ this.packer.width = this.shiftPacker.width = width;
621
+ this.packer.height = this.shiftPacker.height = height;
622
+ this.packer.sortDirection = this.shiftPacker.sortDirection = sortDirection;
623
+
624
+ this.packer.reset();
625
+
626
+ // layout
627
+ this.maxY = 0;
628
+ this.maxX = 0;
629
+ };
630
+
631
+ /**
632
+ * update columnWidth, rowHeight, & gutter
633
+ * @private
634
+ */
635
+ proto._getMeasurements = function() {
636
+ this._getMeasurement( 'columnWidth', 'width' );
637
+ this._getMeasurement( 'rowHeight', 'height' );
638
+ this._getMeasurement( 'gutter', 'width' );
639
+ };
640
+
641
+ proto._getItemLayoutPosition = function( item ) {
642
+ this._setRectSize( item.element, item.rect );
643
+ if ( this.isShifting || this.dragItemCount > 0 ) {
644
+ var packMethod = this._getPackMethod();
645
+ this.packer[ packMethod ]( item.rect );
646
+ } else {
647
+ this.packer.pack( item.rect );
648
+ }
649
+
650
+ this._setMaxXY( item.rect );
651
+ return item.rect;
652
+ };
653
+
654
+ proto.shiftLayout = function() {
655
+ this.isShifting = true;
656
+ this.layout();
657
+ delete this.isShifting;
658
+ };
659
+
660
+ proto._getPackMethod = function() {
661
+ return this._getOption('horizontal') ? 'rowPack' : 'columnPack';
662
+ };
663
+
664
+
665
+ /**
666
+ * set max X and Y value, for size of container
667
+ * @param {Packery.Rect} rect
668
+ * @private
669
+ */
670
+ proto._setMaxXY = function( rect ) {
671
+ this.maxX = Math.max( rect.x + rect.width, this.maxX );
672
+ this.maxY = Math.max( rect.y + rect.height, this.maxY );
673
+ };
674
+
675
+ /**
676
+ * set the width and height of a rect, applying columnWidth and rowHeight
677
+ * @param {Element} elem
678
+ * @param {Packery.Rect} rect
679
+ */
680
+ proto._setRectSize = function( elem, rect ) {
681
+ var size = getSize( elem );
682
+ var w = size.outerWidth;
683
+ var h = size.outerHeight;
684
+ // size for columnWidth and rowHeight, if available
685
+ // only check if size is non-zero, #177
686
+ if ( w || h ) {
687
+ w = this._applyGridGutter( w, this.columnWidth );
688
+ h = this._applyGridGutter( h, this.rowHeight );
689
+ }
690
+ // rect must fit in packer
691
+ rect.width = Math.min( w, this.packer.width );
692
+ rect.height = Math.min( h, this.packer.height );
693
+ };
694
+
695
+ /**
696
+ * fits item to columnWidth/rowHeight and adds gutter
697
+ * @param {Number} measurement - item width or height
698
+ * @param {Number} gridSize - columnWidth or rowHeight
699
+ * @returns measurement
700
+ */
701
+ proto._applyGridGutter = function( measurement, gridSize ) {
702
+ // just add gutter if no gridSize
703
+ if ( !gridSize ) {
704
+ return measurement + this.gutter;
705
+ }
706
+ gridSize += this.gutter;
707
+ // fit item to columnWidth/rowHeight
708
+ var remainder = measurement % gridSize;
709
+ var mathMethod = remainder && remainder < 1 ? 'round' : 'ceil';
710
+ measurement = Math[ mathMethod ]( measurement / gridSize ) * gridSize;
711
+ return measurement;
712
+ };
713
+
714
+ proto._getContainerSize = function() {
715
+ if ( this._getOption('horizontal') ) {
716
+ return {
717
+ width: this.maxX - this.gutter
718
+ };
719
+ } else {
720
+ return {
721
+ height: this.maxY - this.gutter
722
+ };
723
+ }
724
+ };
725
+
726
+
727
+ // -------------------------- stamp -------------------------- //
728
+
729
+ /**
730
+ * makes space for element
731
+ * @param {Element} elem
732
+ */
733
+ proto._manageStamp = function( elem ) {
734
+
735
+ var item = this.getItem( elem );
736
+ var rect;
737
+ if ( item && item.isPlacing ) {
738
+ rect = item.rect;
739
+ } else {
740
+ var offset = this._getElementOffset( elem );
741
+ rect = new Rect({
742
+ x: this._getOption('originLeft') ? offset.left : offset.right,
743
+ y: this._getOption('originTop') ? offset.top : offset.bottom
744
+ });
745
+ }
746
+
747
+ this._setRectSize( elem, rect );
748
+ // save its space in the packer
749
+ this.packer.placed( rect );
750
+ this._setMaxXY( rect );
751
+ };
752
+
753
+ // -------------------------- methods -------------------------- //
754
+
755
+ function verticalSorter( a, b ) {
756
+ return a.position.y - b.position.y || a.position.x - b.position.x;
757
+ }
758
+
759
+ function horizontalSorter( a, b ) {
760
+ return a.position.x - b.position.x || a.position.y - b.position.y;
761
+ }
762
+
763
+ proto.sortItemsByPosition = function() {
764
+ var sorter = this._getOption('horizontal') ? horizontalSorter : verticalSorter;
765
+ this.items.sort( sorter );
766
+ };
767
+
768
+ /**
769
+ * Fit item element in its current position
770
+ * Packery will position elements around it
771
+ * useful for expanding elements
772
+ *
773
+ * @param {Element} elem
774
+ * @param {Number} x - horizontal destination position, optional
775
+ * @param {Number} y - vertical destination position, optional
776
+ */
777
+ proto.fit = function( elem, x, y ) {
778
+ var item = this.getItem( elem );
779
+ if ( !item ) {
780
+ return;
781
+ }
782
+
783
+ // stamp item to get it out of layout
784
+ this.stamp( item.element );
785
+ // set placing flag
786
+ item.enablePlacing();
787
+ this.updateShiftTargets( item );
788
+ // fall back to current position for fitting
789
+ x = x === undefined ? item.rect.x: x;
790
+ y = y === undefined ? item.rect.y: y;
791
+ // position it best at its destination
792
+ this.shift( item, x, y );
793
+ this._bindFitEvents( item );
794
+ item.moveTo( item.rect.x, item.rect.y );
795
+ // layout everything else
796
+ this.shiftLayout();
797
+ // return back to regularly scheduled programming
798
+ this.unstamp( item.element );
799
+ this.sortItemsByPosition();
800
+ item.disablePlacing();
801
+ };
802
+
803
+ /**
804
+ * emit event when item is fit and other items are laid out
805
+ * @param {Packery.Item} item
806
+ * @private
807
+ */
808
+ proto._bindFitEvents = function( item ) {
809
+ var _this = this;
810
+ var ticks = 0;
811
+ function onLayout() {
812
+ ticks++;
813
+ if ( ticks != 2 ) {
814
+ return;
815
+ }
816
+ _this.dispatchEvent( 'fitComplete', null, [ item ] );
817
+ }
818
+ // when item is laid out
819
+ item.once( 'layout', onLayout );
820
+ // when all items are laid out
821
+ this.once( 'layoutComplete', onLayout );
822
+ };
823
+
824
+ // -------------------------- resize -------------------------- //
825
+
826
+ // debounced, layout on resize
827
+ proto.resize = function() {
828
+ // don't trigger if size did not change
829
+ // or if resize was unbound. See #285, outlayer#9
830
+ if ( !this.isResizeBound || !this.needsResizeLayout() ) {
831
+ return;
832
+ }
833
+
834
+ if ( this.options.shiftPercentResize ) {
835
+ this.resizeShiftPercentLayout();
836
+ } else {
837
+ this.layout();
838
+ }
839
+ };
840
+
841
+ /**
842
+ * check if layout is needed post layout
843
+ * @returns Boolean
844
+ */
845
+ proto.needsResizeLayout = function() {
846
+ var size = getSize( this.element );
847
+ var innerSize = this._getOption('horizontal') ? 'innerHeight' : 'innerWidth';
848
+ return size[ innerSize ] != this.size[ innerSize ];
849
+ };
850
+
851
+ proto.resizeShiftPercentLayout = function() {
852
+ var items = this._getItemsForLayout( this.items );
853
+
854
+ var isHorizontal = this._getOption('horizontal');
855
+ var coord = isHorizontal ? 'y' : 'x';
856
+ var measure = isHorizontal ? 'height' : 'width';
857
+ var segmentName = isHorizontal ? 'rowHeight' : 'columnWidth';
858
+ var innerSize = isHorizontal ? 'innerHeight' : 'innerWidth';
859
+
860
+ // proportional re-align items
861
+ var previousSegment = this[ segmentName ];
862
+ previousSegment = previousSegment && previousSegment + this.gutter;
863
+
864
+ if ( previousSegment ) {
865
+ this._getMeasurements();
866
+ var currentSegment = this[ segmentName ] + this.gutter;
867
+ items.forEach( function( item ) {
868
+ var seg = Math.round( item.rect[ coord ] / previousSegment );
869
+ item.rect[ coord ] = seg * currentSegment;
870
+ });
871
+ } else {
872
+ var currentSize = getSize( this.element )[ innerSize ] + this.gutter;
873
+ var previousSize = this.packer[ measure ];
874
+ items.forEach( function( item ) {
875
+ item.rect[ coord ] = ( item.rect[ coord ] / previousSize ) * currentSize;
876
+ });
877
+ }
878
+
879
+ this.shiftLayout();
880
+ };
881
+
882
+ // -------------------------- drag -------------------------- //
883
+
884
+ /**
885
+ * handle an item drag start event
886
+ * @param {Element} elem
887
+ */
888
+ proto.itemDragStart = function( elem ) {
889
+ if ( !this.isEnabled ) {
890
+ return;
891
+ }
892
+ this.stamp( elem );
893
+ // this.ignore( elem );
894
+ var item = this.getItem( elem );
895
+ if ( !item ) {
896
+ return;
897
+ }
898
+
899
+ item.enablePlacing();
900
+ item.showDropPlaceholder();
901
+ this.dragItemCount++;
902
+ this.updateShiftTargets( item );
903
+ };
904
+
905
+ proto.updateShiftTargets = function( dropItem ) {
906
+ this.shiftPacker.reset();
907
+
908
+ // pack stamps
909
+ this._getBoundingRect();
910
+ var isOriginLeft = this._getOption('originLeft');
911
+ var isOriginTop = this._getOption('originTop');
912
+ this.stamps.forEach( function( stamp ) {
913
+ // ignore dragged item
914
+ var item = this.getItem( stamp );
915
+ if ( item && item.isPlacing ) {
916
+ return;
917
+ }
918
+ var offset = this._getElementOffset( stamp );
919
+ var rect = new Rect({
920
+ x: isOriginLeft ? offset.left : offset.right,
921
+ y: isOriginTop ? offset.top : offset.bottom
922
+ });
923
+ this._setRectSize( stamp, rect );
924
+ // save its space in the packer
925
+ this.shiftPacker.placed( rect );
926
+ }, this );
927
+
928
+ // reset shiftTargets
929
+ var isHorizontal = this._getOption('horizontal');
930
+ var segmentName = isHorizontal ? 'rowHeight' : 'columnWidth';
931
+ var measure = isHorizontal ? 'height' : 'width';
932
+
933
+ this.shiftTargetKeys = [];
934
+ this.shiftTargets = [];
935
+ var boundsSize;
936
+ var segment = this[ segmentName ];
937
+ segment = segment && segment + this.gutter;
938
+
939
+ if ( segment ) {
940
+ var segmentSpan = Math.ceil( dropItem.rect[ measure ] / segment );
941
+ var segs = Math.floor( ( this.shiftPacker[ measure ] + this.gutter ) / segment );
942
+ boundsSize = ( segs - segmentSpan ) * segment;
943
+ // add targets on top
944
+ for ( var i=0; i < segs; i++ ) {
945
+ this._addShiftTarget( i * segment, 0, boundsSize );
946
+ }
947
+ } else {
948
+ boundsSize = ( this.shiftPacker[ measure ] + this.gutter ) - dropItem.rect[ measure ];
949
+ this._addShiftTarget( 0, 0, boundsSize );
950
+ }
951
+
952
+ // pack each item to measure where shiftTargets are
953
+ var items = this._getItemsForLayout( this.items );
954
+ var packMethod = this._getPackMethod();
955
+ items.forEach( function( item ) {
956
+ var rect = item.rect;
957
+ this._setRectSize( item.element, rect );
958
+ this.shiftPacker[ packMethod ]( rect );
959
+
960
+ // add top left corner
961
+ this._addShiftTarget( rect.x, rect.y, boundsSize );
962
+ // add bottom left / top right corner
963
+ var cornerX = isHorizontal ? rect.x + rect.width : rect.x;
964
+ var cornerY = isHorizontal ? rect.y : rect.y + rect.height;
965
+ this._addShiftTarget( cornerX, cornerY, boundsSize );
966
+
967
+ if ( segment ) {
968
+ // add targets for each column on bottom / row on right
969
+ var segSpan = Math.round( rect[ measure ] / segment );
970
+ for ( var i=1; i < segSpan; i++ ) {
971
+ var segX = isHorizontal ? cornerX : rect.x + segment * i;
972
+ var segY = isHorizontal ? rect.y + segment * i : cornerY;
973
+ this._addShiftTarget( segX, segY, boundsSize );
974
+ }
975
+ }
976
+ }, this );
977
+
978
+ };
979
+
980
+ proto._addShiftTarget = function( x, y, boundsSize ) {
981
+ var checkCoord = this._getOption('horizontal') ? y : x;
982
+ if ( checkCoord !== 0 && checkCoord > boundsSize ) {
983
+ return;
984
+ }
985
+ // create string for a key, easier to keep track of what targets
986
+ var key = x + ',' + y;
987
+ var hasKey = this.shiftTargetKeys.indexOf( key ) != -1;
988
+ if ( hasKey ) {
989
+ return;
990
+ }
991
+ this.shiftTargetKeys.push( key );
992
+ this.shiftTargets.push({ x: x, y: y });
993
+ };
994
+
995
+ // -------------------------- drop -------------------------- //
996
+
997
+ proto.shift = function( item, x, y ) {
998
+ var shiftPosition;
999
+ var minDistance = Infinity;
1000
+ var position = { x: x, y: y };
1001
+ this.shiftTargets.forEach( function( target ) {
1002
+ var distance = getDistance( target, position );
1003
+ if ( distance < minDistance ) {
1004
+ shiftPosition = target;
1005
+ minDistance = distance;
1006
+ }
1007
+ });
1008
+ item.rect.x = shiftPosition.x;
1009
+ item.rect.y = shiftPosition.y;
1010
+ };
1011
+
1012
+ function getDistance( a, b ) {
1013
+ var dx = b.x - a.x;
1014
+ var dy = b.y - a.y;
1015
+ return Math.sqrt( dx * dx + dy * dy );
1016
+ }
1017
+
1018
+ // -------------------------- drag move -------------------------- //
1019
+
1020
+ var DRAG_THROTTLE_TIME = 120;
1021
+
1022
+ /**
1023
+ * handle an item drag move event
1024
+ * @param {Element} elem
1025
+ * @param {Number} x - horizontal change in position
1026
+ * @param {Number} y - vertical change in position
1027
+ */
1028
+ proto.itemDragMove = function( elem, x, y ) {
1029
+ var item = this.isEnabled && this.getItem( elem );
1030
+ if ( !item ) {
1031
+ return;
1032
+ }
1033
+
1034
+ x -= this.size.paddingLeft;
1035
+ y -= this.size.paddingTop;
1036
+
1037
+ var _this = this;
1038
+ function onDrag() {
1039
+ _this.shift( item, x, y );
1040
+ item.positionDropPlaceholder();
1041
+ _this.layout();
1042
+ }
1043
+
1044
+ // throttle
1045
+ var now = new Date();
1046
+ if ( this._itemDragTime && now - this._itemDragTime < DRAG_THROTTLE_TIME ) {
1047
+ clearTimeout( this.dragTimeout );
1048
+ this.dragTimeout = setTimeout( onDrag, DRAG_THROTTLE_TIME );
1049
+ } else {
1050
+ onDrag();
1051
+ this._itemDragTime = now;
1052
+ }
1053
+ };
1054
+
1055
+ // -------------------------- drag end -------------------------- //
1056
+
1057
+ /**
1058
+ * handle an item drag end event
1059
+ * @param {Element} elem
1060
+ */
1061
+ proto.itemDragEnd = function( elem ) {
1062
+ var item = this.isEnabled && this.getItem( elem );
1063
+ if ( !item ) {
1064
+ return;
1065
+ }
1066
+
1067
+ clearTimeout( this.dragTimeout );
1068
+ item.element.classList.add('is-positioning-post-drag');
1069
+
1070
+ var completeCount = 0;
1071
+ var _this = this;
1072
+ function onDragEndLayoutComplete() {
1073
+ completeCount++;
1074
+ if ( completeCount != 2 ) {
1075
+ return;
1076
+ }
1077
+ // reset drag item
1078
+ item.element.classList.remove('is-positioning-post-drag');
1079
+ item.hideDropPlaceholder();
1080
+ _this.dispatchEvent( 'dragItemPositioned', null, [ item ] );
1081
+ }
1082
+
1083
+ item.once( 'layout', onDragEndLayoutComplete );
1084
+ this.once( 'layoutComplete', onDragEndLayoutComplete );
1085
+ item.moveTo( item.rect.x, item.rect.y );
1086
+ this.layout();
1087
+ this.dragItemCount = Math.max( 0, this.dragItemCount - 1 );
1088
+ this.sortItemsByPosition();
1089
+ item.disablePlacing();
1090
+ this.unstamp( item.element );
1091
+ };
1092
+
1093
+ /**
1094
+ * binds Draggabilly events
1095
+ * @param {Draggabilly} draggie
1096
+ */
1097
+ proto.bindDraggabillyEvents = function( draggie ) {
1098
+ this._bindDraggabillyEvents( draggie, 'on' );
1099
+ };
1100
+
1101
+ proto.unbindDraggabillyEvents = function( draggie ) {
1102
+ this._bindDraggabillyEvents( draggie, 'off' );
1103
+ };
1104
+
1105
+ proto._bindDraggabillyEvents = function( draggie, method ) {
1106
+ var handlers = this.handleDraggabilly;
1107
+ draggie[ method ]( 'dragStart', handlers.dragStart );
1108
+ draggie[ method ]( 'dragMove', handlers.dragMove );
1109
+ draggie[ method ]( 'dragEnd', handlers.dragEnd );
1110
+ };
1111
+
1112
+ /**
1113
+ * binds jQuery UI Draggable events
1114
+ * @param {jQuery} $elems
1115
+ */
1116
+ proto.bindUIDraggableEvents = function( $elems ) {
1117
+ this._bindUIDraggableEvents( $elems, 'on' );
1118
+ };
1119
+
1120
+ proto.unbindUIDraggableEvents = function( $elems ) {
1121
+ this._bindUIDraggableEvents( $elems, 'off' );
1122
+ };
1123
+
1124
+ proto._bindUIDraggableEvents = function( $elems, method ) {
1125
+ var handlers = this.handleUIDraggable;
1126
+ $elems
1127
+ [ method ]( 'dragstart', handlers.start )
1128
+ [ method ]( 'drag', handlers.drag )
1129
+ [ method ]( 'dragstop', handlers.stop );
1130
+ };
1131
+
1132
+ // ----- destroy ----- //
1133
+
1134
+ var _destroy = proto.destroy;
1135
+ proto.destroy = function() {
1136
+ _destroy.apply( this, arguments );
1137
+ // disable flag; prevent drag events from triggering. #72
1138
+ this.isEnabled = false;
1139
+ };
1140
+
1141
+ // ----- ----- //
1142
+
1143
+ Packery.Rect = Rect;
1144
+ Packery.Packer = Packer;
1145
+
1146
+ return Packery;
1147
+
1148
+ }));
1149
+
1150
+ /*!
1151
+ * Packery layout mode v2.0.1
1152
+ * sub-classes Packery
1153
+ */
1154
+
1155
+ /*jshint browser: true, strict: true, undef: true, unused: true */
1156
+
1157
+ ( function( window, factory ) {
1158
+
1159
+ // universal module definition
1160
+ if ( typeof define == 'function' && define.amd ) {
1161
+ // AMD
1162
+ define( [
1163
+ 'isotope-layout/js/layout-mode',
1164
+ 'packery/js/packery'
1165
+ ],
1166
+ factory );
1167
+ } else if ( typeof module == 'object' && module.exports ) {
1168
+ // CommonJS
1169
+ module.exports = factory(
1170
+ require('isotope-layout/js/layout-mode'),
1171
+ require('packery')
1172
+ );
1173
+ } else {
1174
+ // browser global
1175
+ factory(
1176
+ window.Isotope.LayoutMode,
1177
+ window.Packery
1178
+ );
1179
+ }
1180
+
1181
+ }( window, function factor( LayoutMode, Packery ) {
1182
+
1183
+
1184
+ // create an Outlayer layout class
1185
+ var PackeryMode = LayoutMode.create('packery');
1186
+ var proto = PackeryMode.prototype;
1187
+
1188
+ var keepModeMethods = {
1189
+ _getElementOffset: true,
1190
+ _getMeasurement: true
1191
+ };
1192
+
1193
+ // inherit Packery prototype
1194
+ for ( var method in Packery.prototype ) {
1195
+ // do not inherit mode methods
1196
+ if ( !keepModeMethods[ method ] ) {
1197
+ proto[ method ] = Packery.prototype[ method ];
1198
+ }
1199
+ }
1200
+
1201
+ // set packer in _resetLayout
1202
+ var _resetLayout = proto._resetLayout;
1203
+ proto._resetLayout = function() {
1204
+ this.packer = this.packer || new Packery.Packer();
1205
+ this.shiftPacker = this.shiftPacker || new Packery.Packer();
1206
+ _resetLayout.apply( this, arguments );
1207
+ };
1208
+
1209
+ var _getItemLayoutPosition = proto._getItemLayoutPosition;
1210
+ proto._getItemLayoutPosition = function( item ) {
1211
+ // set packery rect
1212
+ item.rect = item.rect || new Packery.Rect();
1213
+ return _getItemLayoutPosition.call( this, item );
1214
+ };
1215
+
1216
+ // needsResizeLayout for vertical or horizontal
1217
+ var _needsResizeLayout = proto.needsResizeLayout;
1218
+ proto.needsResizeLayout = function() {
1219
+ if ( this._getOption('horizontal') ) {
1220
+ return this.needsVerticalResizeLayout();
1221
+ } else {
1222
+ return _needsResizeLayout.call( this );
1223
+ }
1224
+ };
1225
+
1226
+ // point to mode options for horizontal
1227
+ var _getOption = proto._getOption;
1228
+ proto._getOption = function( option ) {
1229
+ if ( option == 'horizontal' ) {
1230
+ return this.options.isHorizontal !== undefined ?
1231
+ this.options.isHorizontal : this.options.horizontal;
1232
+ }
1233
+ return _getOption.apply( this.isotope, arguments );
1234
+ };
1235
+
1236
+ return PackeryMode;
1237
+
1238
+ }));
1239
+
assets/js/front/isotope-packery.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(t,e){"function"==typeof define&&define.amd?define("packery/js/rect",e):"object"==typeof module&&module.exports?module.exports=e():(t.Packery=t.Packery||{},t.Packery.Rect=e())}(window,function(){function o(t){for(var e in o.defaults)this[e]=o.defaults[e];for(e in t)this[e]=t[e]}o.defaults={x:0,y:0,width:0,height:0};var t=o.prototype;return t.contains=function(t){var e=t.width||0,i=t.height||0;return this.x<=t.x&&this.y<=t.y&&this.x+this.width>=t.x+e&&this.y+this.height>=t.y+i},t.overlaps=function(t){var e=this.x+this.width,i=this.y+this.height,s=t.x+t.width,r=t.y+t.height;return this.x<s&&e>t.x&&this.y<r&&i>t.y},t.getMaximalFreeRects=function(t){if(!this.overlaps(t))return!1;var e,i=[],s=this.x+this.width,r=this.y+this.height,h=t.x+t.width,n=t.y+t.height;return this.y<t.y&&(e=new o({x:this.x,y:this.y,width:this.width,height:t.y-this.y}),i.push(e)),h<s&&(e=new o({x:h,y:this.y,width:s-h,height:this.height}),i.push(e)),n<r&&(e=new o({x:this.x,y:n,width:this.width,height:r-n}),i.push(e)),this.x<t.x&&(e=new o({x:this.x,y:this.y,width:t.x-this.x,height:this.height}),i.push(e)),i},t.canFit=function(t){return this.width>=t.width&&this.height>=t.height},o}),function(t,e){if("function"==typeof define&&define.amd)define("packery/js/packer",["./rect"],e);else if("object"==typeof module&&module.exports)module.exports=e(require("./rect"));else{var i=t.Packery=t.Packery||{};i.Packer=e(i.Rect)}}(window,function(e){function t(t,e,i){this.width=t||0,this.height=e||0,this.sortDirection=i||"downwardLeftToRight",this.reset()}var i=t.prototype;i.reset=function(){this.spaces=[];var t=new e({x:0,y:0,width:this.width,height:this.height});this.spaces.push(t),this.sorter=s[this.sortDirection]||s.downwardLeftToRight},i.pack=function(t){for(var e=0;e<this.spaces.length;e++){var i=this.spaces[e];if(i.canFit(t)){this.placeInSpace(t,i);break}}},i.columnPack=function(t){for(var e=0;e<this.spaces.length;e++){var i=this.spaces[e];if(i.x<=t.x&&i.x+i.width>=t.x+t.width&&i.height>=t.height-.01){t.y=i.y,this.placed(t);break}}},i.rowPack=function(t){for(var e=0;e<this.spaces.length;e++){var i=this.spaces[e];if(i.y<=t.y&&i.y+i.height>=t.y+t.height&&i.width>=t.width-.01){t.x=i.x,this.placed(t);break}}},i.placeInSpace=function(t,e){t.x=e.x,t.y=e.y,this.placed(t)},i.placed=function(t){for(var e=[],i=0;i<this.spaces.length;i++){var s=this.spaces[i],r=s.getMaximalFreeRects(t);r?e.push.apply(e,r):e.push(s)}this.spaces=e,this.mergeSortSpaces()},i.mergeSortSpaces=function(){t.mergeRects(this.spaces),this.spaces.sort(this.sorter)},i.addSpace=function(t){this.spaces.push(t),this.mergeSortSpaces()},t.mergeRects=function(t){var e=0,i=t[e];t:for(;i;){for(var s=0,r=t[e+s];r;){if(r==i)s++;else{if(r.contains(i)){t.splice(e,1),i=t[e];continue t}i.contains(r)?t.splice(e+s,1):s++}r=t[e+s]}i=t[++e]}return t};var s={downwardLeftToRight:function(t,e){return t.y-e.y||t.x-e.x},rightwardTopToBottom:function(t,e){return t.x-e.x||t.y-e.y}};return t}),function(t,e){"function"==typeof define&&define.amd?define("packery/js/item",["outlayer/outlayer","./rect"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("./rect")):t.Packery.Item=e(t.Outlayer,t.Packery.Rect)}(window,function(t,e){function i(){t.Item.apply(this,arguments)}var s="string"==typeof document.documentElement.style.transform?"transform":"WebkitTransform",r=i.prototype=Object.create(t.Item.prototype),h=r._create;r._create=function(){h.call(this),this.rect=new e};var n=r.moveTo;return r.moveTo=function(t,e){var i=Math.abs(this.position.x-t),s=Math.abs(this.position.y-e);this.layout.dragItemCount&&!this.isPlacing&&!this.isTransitioning&&i<1&&s<1?this.goTo(t,e):n.apply(this,arguments)},r.enablePlacing=function(){this.removeTransitionStyles(),this.isTransitioning&&s&&(this.element.style[s]="none"),this.isTransitioning=!1,this.getSize(),this.layout._setRectSize(this.element,this.rect),this.isPlacing=!0},r.disablePlacing=function(){this.isPlacing=!1},r.removeElem=function(){this.element.parentNode.removeChild(this.element),this.layout.packer.addSpace(this.rect),this.emitEvent("remove",[this])},r.showDropPlaceholder=function(){var t=this.dropPlaceholder;t||((t=this.dropPlaceholder=document.createElement("div")).className="packery-drop-placeholder",t.style.position="absolute"),t.style.width=this.size.width+"px",t.style.height=this.size.height+"px",this.positionDropPlaceholder(),this.layout.element.appendChild(t)},r.positionDropPlaceholder=function(){this.dropPlaceholder.style[s]="translate("+this.rect.x+"px, "+this.rect.y+"px)"},r.hideDropPlaceholder=function(){this.layout.element.removeChild(this.dropPlaceholder)},i}),function(t,e){"function"==typeof define&&define.amd?define("packery/js/packery",["get-size/get-size","outlayer/outlayer","./rect","./packer","./item"],e):"object"==typeof module&&module.exports?module.exports=e(require("get-size"),require("outlayer"),require("./rect"),require("./packer"),require("./item")):t.Packery=e(t.getSize,t.Outlayer,t.Packery.Rect,t.Packery.Packer,t.Packery.Item)}(window,function(u,t,l,e,i){l.prototype.canFit=function(t){return this.width>=t.width-1&&this.height>=t.height-1};var s=t.create("packery");s.Item=i;var r=s.prototype;function h(t,e){return t.position.y-e.position.y||t.position.x-e.position.x}function n(t,e){return t.position.x-e.position.x||t.position.y-e.position.y}r._create=function(){t.prototype._create.call(this),this.packer=new e,this.shiftPacker=new e,this.isEnabled=!0,this.dragItemCount=0;var i=this;this.handleDraggabilly={dragStart:function(){i.itemDragStart(this.element)},dragMove:function(){i.itemDragMove(this.element,this.position.x,this.position.y)},dragEnd:function(){i.itemDragEnd(this.element)}},this.handleUIDraggable={start:function(t,e){e&&i.itemDragStart(t.currentTarget)},drag:function(t,e){e&&i.itemDragMove(t.currentTarget,e.position.left,e.position.top)},stop:function(t,e){e&&i.itemDragEnd(t.currentTarget)}}},r._resetLayout=function(){var t,e,i;this.getSize(),this._getMeasurements(),i=this._getOption("horizontal")?(t=1/0,e=this.size.innerHeight+this.gutter,"rightwardTopToBottom"):(t=this.size.innerWidth+this.gutter,e=1/0,"downwardLeftToRight"),this.packer.width=this.shiftPacker.width=t,this.packer.height=this.shiftPacker.height=e,this.packer.sortDirection=this.shiftPacker.sortDirection=i,this.packer.reset(),this.maxY=0,this.maxX=0},r._getMeasurements=function(){this._getMeasurement("columnWidth","width"),this._getMeasurement("rowHeight","height"),this._getMeasurement("gutter","width")},r._getItemLayoutPosition=function(t){if(this._setRectSize(t.element,t.rect),this.isShifting||0<this.dragItemCount){var e=this._getPackMethod();this.packer[e](t.rect)}else this.packer.pack(t.rect);return this._setMaxXY(t.rect),t.rect},r.shiftLayout=function(){this.isShifting=!0,this.layout(),delete this.isShifting},r._getPackMethod=function(){return this._getOption("horizontal")?"rowPack":"columnPack"},r._setMaxXY=function(t){this.maxX=Math.max(t.x+t.width,this.maxX),this.maxY=Math.max(t.y+t.height,this.maxY)},r._setRectSize=function(t,e){var i=u(t),s=i.outerWidth,r=i.outerHeight;(s||r)&&(s=this._applyGridGutter(s,this.columnWidth),r=this._applyGridGutter(r,this.rowHeight)),e.width=Math.min(s,this.packer.width),e.height=Math.min(r,this.packer.height)},r._applyGridGutter=function(t,e){if(!e)return t+this.gutter;var i=t%(e+=this.gutter);return t=Math[i&&i<1?"round":"ceil"](t/e)*e},r._getContainerSize=function(){return this._getOption("horizontal")?{width:this.maxX-this.gutter}:{height:this.maxY-this.gutter}},r._manageStamp=function(t){var e,i=this.getItem(t);if(i&&i.isPlacing)e=i.rect;else{var s=this._getElementOffset(t);e=new l({x:this._getOption("originLeft")?s.left:s.right,y:this._getOption("originTop")?s.top:s.bottom})}this._setRectSize(t,e),this.packer.placed(e),this._setMaxXY(e)},r.sortItemsByPosition=function(){var t=this._getOption("horizontal")?n:h;this.items.sort(t)},r.fit=function(t,e,i){var s=this.getItem(t);s&&(this.stamp(s.element),s.enablePlacing(),this.updateShiftTargets(s),e=void 0===e?s.rect.x:e,i=void 0===i?s.rect.y:i,this.shift(s,e,i),this._bindFitEvents(s),s.moveTo(s.rect.x,s.rect.y),this.shiftLayout(),this.unstamp(s.element),this.sortItemsByPosition(),s.disablePlacing())},r._bindFitEvents=function(t){var e=this,i=0;function s(){2==++i&&e.dispatchEvent("fitComplete",null,[t])}t.once("layout",s),this.once("layoutComplete",s)},r.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&(this.options.shiftPercentResize?this.resizeShiftPercentLayout():this.layout())},r.needsResizeLayout=function(){var t=u(this.element),e=this._getOption("horizontal")?"innerHeight":"innerWidth";return t[e]!=this.size[e]},r.resizeShiftPercentLayout=function(){var t=this._getItemsForLayout(this.items),e=this._getOption("horizontal"),i=e?"y":"x",s=e?"height":"width",r=e?"rowHeight":"columnWidth",h=e?"innerHeight":"innerWidth",n=this[r];if(n=n&&n+this.gutter){this._getMeasurements();var o=this[r]+this.gutter;t.forEach(function(t){var e=Math.round(t.rect[i]/n);t.rect[i]=e*o})}else{var a=u(this.element)[h]+this.gutter,c=this.packer[s];t.forEach(function(t){t.rect[i]=t.rect[i]/c*a})}this.shiftLayout()},r.itemDragStart=function(t){if(this.isEnabled){this.stamp(t);var e=this.getItem(t);e&&(e.enablePlacing(),e.showDropPlaceholder(),this.dragItemCount++,this.updateShiftTargets(e))}},r.updateShiftTargets=function(t){this.shiftPacker.reset(),this._getBoundingRect();var r=this._getOption("originLeft"),h=this._getOption("originTop");this.stamps.forEach(function(t){var e=this.getItem(t);if(!e||!e.isPlacing){var i=this._getElementOffset(t),s=new l({x:r?i.left:i.right,y:h?i.top:i.bottom});this._setRectSize(t,s),this.shiftPacker.placed(s)}},this);var a,c=this._getOption("horizontal"),e=c?"rowHeight":"columnWidth",u=c?"height":"width";this.shiftTargetKeys=[],this.shiftTargets=[];var d=this[e];if(d=d&&d+this.gutter){var i=Math.ceil(t.rect[u]/d),s=Math.floor((this.shiftPacker[u]+this.gutter)/d);a=(s-i)*d;for(var n=0;n<s;n++)this._addShiftTarget(n*d,0,a)}else a=this.shiftPacker[u]+this.gutter-t.rect[u],this._addShiftTarget(0,0,a);var o=this._getItemsForLayout(this.items),g=this._getPackMethod();o.forEach(function(t){var e=t.rect;this._setRectSize(t.element,e),this.shiftPacker[g](e),this._addShiftTarget(e.x,e.y,a);var i=c?e.x+e.width:e.x,s=c?e.y:e.y+e.height;if(this._addShiftTarget(i,s,a),d)for(var r=Math.round(e[u]/d),h=1;h<r;h++){var n=c?i:e.x+d*h,o=c?e.y+d*h:s;this._addShiftTarget(n,o,a)}},this)},r._addShiftTarget=function(t,e,i){var s=this._getOption("horizontal")?e:t;if(!(0!==s&&i<s)){var r=t+","+e;-1!=this.shiftTargetKeys.indexOf(r)||(this.shiftTargetKeys.push(r),this.shiftTargets.push({x:t,y:e}))}},r.shift=function(t,e,i){var s,r=1/0,h={x:e,y:i};this.shiftTargets.forEach(function(t){var e=function(t,e){var i=e.x-t.x,s=e.y-t.y;return Math.sqrt(i*i+s*s)}(t,h);e<r&&(s=t,r=e)}),t.rect.x=s.x,t.rect.y=s.y};r.itemDragMove=function(t,e,i){var s=this.isEnabled&&this.getItem(t);if(s){e-=this.size.paddingLeft,i-=this.size.paddingTop;var r=this,h=new Date;this._itemDragTime&&h-this._itemDragTime<120?(clearTimeout(this.dragTimeout),this.dragTimeout=setTimeout(n,120)):(n(),this._itemDragTime=h)}function n(){r.shift(s,e,i),s.positionDropPlaceholder(),r.layout()}},r.itemDragEnd=function(t){var e=this.isEnabled&&this.getItem(t);if(e){clearTimeout(this.dragTimeout),e.element.classList.add("is-positioning-post-drag");var i=0,s=this;e.once("layout",r),this.once("layoutComplete",r),e.moveTo(e.rect.x,e.rect.y),this.layout(),this.dragItemCount=Math.max(0,this.dragItemCount-1),this.sortItemsByPosition(),e.disablePlacing(),this.unstamp(e.element)}function r(){2==++i&&(e.element.classList.remove("is-positioning-post-drag"),e.hideDropPlaceholder(),s.dispatchEvent("dragItemPositioned",null,[e]))}},r.bindDraggabillyEvents=function(t){this._bindDraggabillyEvents(t,"on")},r.unbindDraggabillyEvents=function(t){this._bindDraggabillyEvents(t,"off")},r._bindDraggabillyEvents=function(t,e){var i=this.handleDraggabilly;t[e]("dragStart",i.dragStart),t[e]("dragMove",i.dragMove),t[e]("dragEnd",i.dragEnd)},r.bindUIDraggableEvents=function(t){this._bindUIDraggableEvents(t,"on")},r.unbindUIDraggableEvents=function(t){this._bindUIDraggableEvents(t,"off")},r._bindUIDraggableEvents=function(t,e){var i=this.handleUIDraggable;t[e]("dragstart",i.start)[e]("drag",i.drag)[e]("dragstop",i.stop)};var o=r.destroy;return r.destroy=function(){o.apply(this,arguments),this.isEnabled=!1},s.Rect=l,s.Packer=e,s}),function(t,e){"function"==typeof define&&define.amd?define(["isotope-layout/js/layout-mode","packery/js/packery"],e):"object"==typeof module&&module.exports?module.exports=e(require("isotope-layout/js/layout-mode"),require("packery")):e(t.Isotope.LayoutMode,t.Packery)}(window,function(t,e){var i=t.create("packery"),s=i.prototype,r={_getElementOffset:!0,_getMeasurement:!0};for(var h in e.prototype)r[h]||(s[h]=e.prototype[h]);var n=s._resetLayout;s._resetLayout=function(){this.packer=this.packer||new e.Packer,this.shiftPacker=this.shiftPacker||new e.Packer,n.apply(this,arguments)};var o=s._getItemLayoutPosition;s._getItemLayoutPosition=function(t){return t.rect=t.rect||new e.Rect,o.call(this,t)};var a=s.needsResizeLayout;s.needsResizeLayout=function(){return this._getOption("horizontal")?this.needsVerticalResizeLayout():a.call(this)};var c=s._getOption;return s._getOption=function(t){return"horizontal"==t?void 0!==this.options.isHorizontal?this.options.isHorizontal:this.options.horizontal:c.apply(this.isotope,arguments)},i});
assets/js/front/isotope.js ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Isotope PACKAGED v3.0.6
3
+ *
4
+ * Licensed GPLv3 for open source use
5
+ * or Isotope Commercial License for commercial use
6
+ *
7
+ * https://isotope.metafizzy.co
8
+ * Copyright 2010-2018 Metafizzy
9
+ */
10
+
11
+ !function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,s,a){function u(t,e,o){var n,s="$()."+i+'("'+e+'")';return t.each(function(t,u){var h=a.data(u,i);if(!h)return void r(i+" not initialized. Cannot call methods, i.e. "+s);var d=h[e];if(!d||"_"==e.charAt(0))return void r(s+" is not a valid method");var l=d.apply(h,o);n=void 0===n?l:n}),void 0!==n?n:t}function h(t,e){t.each(function(t,o){var n=a.data(o,i);n?(n.option(e),n._init()):(n=new s(o,e),a.data(o,i,n))})}a=a||e||t.jQuery,a&&(s.prototype.option||(s.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t))}),a.fn[i]=function(t){if("string"==typeof t){var e=n.call(arguments,1);return u(this,t,e)}return h(this,t),this},o(a))}function o(t){!t||t&&t.bridget||(t.bridget=i)}var n=Array.prototype.slice,s=t.console,r="undefined"==typeof s?function(){}:function(t){s.error(t)};return o(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},o=i[t]=i[t]||[];return o.indexOf(e)==-1&&o.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},o=i[t]=i[t]||{};return o[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var o=i.indexOf(e);return o!=-1&&i.splice(o,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var o=this._onceEvents&&this._onceEvents[t],n=0;n<i.length;n++){var s=i[n],r=o&&o[s];r&&(this.off(t,s),delete o[s]),s.apply(this,e)}return this}},e.allOff=function(){delete this._events,delete this._onceEvents},t}),function(t,e){"function"==typeof define&&define.amd?define("get-size/get-size",e):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function t(t){var e=parseFloat(t),i=t.indexOf("%")==-1&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;e<h;e++){var i=u[e];t[i]=0}return t}function o(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),e}function n(){if(!d){d=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var n=o(e);r=200==Math.round(t(n.width)),s.isBoxSizeOuter=r,i.removeChild(e)}}function s(e){if(n(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var s=o(e);if("none"==s.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox="border-box"==s.boxSizing,l=0;l<h;l++){var f=u[l],c=s[f],m=parseFloat(c);a[f]=isNaN(m)?0:m}var p=a.paddingLeft+a.paddingRight,y=a.paddingTop+a.paddingBottom,g=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,z=a.borderTopWidth+a.borderBottomWidth,I=d&&r,x=t(s.width);x!==!1&&(a.width=x+(I?0:p+_));var S=t(s.height);return S!==!1&&(a.height=S+(I?0:y+z)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(y+z),a.outerWidth=a.width+g,a.outerHeight=a.height+v,a}}var r,a="undefined"==typeof console?e:function(t){console.error(t)},u=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],h=u.length,d=!1;return s}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var t=function(){var t=window.Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var o=e[i],n=o+"MatchesSelector";if(t[n])return n}}();return function(e,i){return e[t](i)}}),function(t,e){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("desandro-matches-selector")):t.fizzyUIUtils=e(t,t.matchesSelector)}(window,function(t,e){var i={};i.extend=function(t,e){for(var i in e)t[i]=e[i];return t},i.modulo=function(t,e){return(t%e+e)%e};var o=Array.prototype.slice;i.makeArray=function(t){if(Array.isArray(t))return t;if(null===t||void 0===t)return[];var e="object"==typeof t&&"number"==typeof t.length;return e?o.call(t):[t]},i.removeFrom=function(t,e){var i=t.indexOf(e);i!=-1&&t.splice(i,1)},i.getParent=function(t,i){for(;t.parentNode&&t!=document.body;)if(t=t.parentNode,e(t,i))return t},i.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},i.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},i.filterFindElements=function(t,o){t=i.makeArray(t);var n=[];return t.forEach(function(t){if(t instanceof HTMLElement){if(!o)return void n.push(t);e(t,o)&&n.push(t);for(var i=t.querySelectorAll(o),s=0;s<i.length;s++)n.push(i[s])}}),n},i.debounceMethod=function(t,e,i){i=i||100;var o=t.prototype[e],n=e+"Timeout";t.prototype[e]=function(){var t=this[n];clearTimeout(t);var e=arguments,s=this;this[n]=setTimeout(function(){o.apply(s,e),delete s[n]},i)}},i.docReady=function(t){var e=document.readyState;"complete"==e||"interactive"==e?setTimeout(t):document.addEventListener("DOMContentLoaded",t)},i.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var n=t.console;return i.htmlInit=function(e,o){i.docReady(function(){var s=i.toDashed(o),r="data-"+s,a=document.querySelectorAll("["+r+"]"),u=document.querySelectorAll(".js-"+s),h=i.makeArray(a).concat(i.makeArray(u)),d=r+"-options",l=t.jQuery;h.forEach(function(t){var i,s=t.getAttribute(r)||t.getAttribute(d);try{i=s&&JSON.parse(s)}catch(a){return void(n&&n.error("Error parsing "+r+" on "+t.className+": "+a))}var u=new e(t,i);l&&l.data(t,o,u)})})},i}),function(t,e){"function"==typeof define&&define.amd?define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("ev-emitter"),require("get-size")):(t.Outlayer={},t.Outlayer.Item=e(t.EvEmitter,t.getSize))}(window,function(t,e){"use strict";function i(t){for(var e in t)return!1;return e=null,!0}function o(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}function n(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}var s=document.documentElement.style,r="string"==typeof s.transition?"transition":"WebkitTransition",a="string"==typeof s.transform?"transform":"WebkitTransform",u={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[r],h={transform:a,transition:r,transitionDuration:r+"Duration",transitionProperty:r+"Property",transitionDelay:r+"Delay"},d=o.prototype=Object.create(t.prototype);d.constructor=o,d._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},d.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},d.getSize=function(){this.size=e(this.element)},d.css=function(t){var e=this.element.style;for(var i in t){var o=h[i]||i;e[o]=t[i]}},d.getPosition=function(){var t=getComputedStyle(this.element),e=this.layout._getOption("originLeft"),i=this.layout._getOption("originTop"),o=t[e?"left":"right"],n=t[i?"top":"bottom"],s=parseFloat(o),r=parseFloat(n),a=this.layout.size;o.indexOf("%")!=-1&&(s=s/100*a.width),n.indexOf("%")!=-1&&(r=r/100*a.height),s=isNaN(s)?0:s,r=isNaN(r)?0:r,s-=e?a.paddingLeft:a.paddingRight,r-=i?a.paddingTop:a.paddingBottom,this.position.x=s,this.position.y=r},d.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),o=this.layout._getOption("originTop"),n=i?"paddingLeft":"paddingRight",s=i?"left":"right",r=i?"right":"left",a=this.position.x+t[n];e[s]=this.getXValue(a),e[r]="";var u=o?"paddingTop":"paddingBottom",h=o?"top":"bottom",d=o?"bottom":"top",l=this.position.y+t[u];e[h]=this.getYValue(l),e[d]="",this.css(e),this.emitEvent("layout",[this])},d.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},d.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},d._transitionTo=function(t,e){this.getPosition();var i=this.position.x,o=this.position.y,n=t==this.position.x&&e==this.position.y;if(this.setPosition(t,e),n&&!this.isTransitioning)return void this.layoutPosition();var s=t-i,r=e-o,a={};a.transform=this.getTranslate(s,r),this.transition({to:a,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},d.getTranslate=function(t,e){var i=this.layout._getOption("originLeft"),o=this.layout._getOption("originTop");return t=i?t:-t,e=o?e:-e,"translate3d("+t+"px, "+e+"px, 0)"},d.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},d.moveTo=d._transitionTo,d.setPosition=function(t,e){this.position.x=parseFloat(t),this.position.y=parseFloat(e)},d._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},d.transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(t);var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var o=this.element.offsetHeight;o=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var l="opacity,"+n(a);d.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:l,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(u,this,!1)}},d.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},d.onotransitionend=function(t){this.ontransitionend(t)};var f={"-webkit-transform":"transform"};d.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,o=f[t.propertyName]||t.propertyName;if(delete e.ingProperties[o],i(e.ingProperties)&&this.disableTransition(),o in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[o]),o in e.onEnd){var n=e.onEnd[o];n.call(this),delete e.onEnd[o]}this.emitEvent("transitionEnd",[this])}},d.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(u,this,!1),this.isTransitioning=!1},d._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var c={transitionProperty:"",transitionDuration:"",transitionDelay:""};return d.removeTransitionStyles=function(){this.css(c)},d.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},d.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},d.remove=function(){return r&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},d.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("visibleStyle");e[i]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},d.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},d.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},d.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("hiddenStyle");e[i]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},d.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},d.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},o}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(i,o,n,s){return e(t,i,o,n,s)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):t.Outlayer=e(t,t.EvEmitter,t.getSize,t.fizzyUIUtils,t.Outlayer.Item)}(window,function(t,e,i,o,n){"use strict";function s(t,e){var i=o.getQueryElement(t);if(!i)return void(u&&u.error("Bad element for "+this.constructor.namespace+": "+(i||t)));this.element=i,h&&(this.$element=h(this.element)),this.options=o.extend({},this.constructor.defaults),this.option(e);var n=++l;this.element.outlayerGUID=n,f[n]=this,this._create();var s=this._getOption("initLayout");s&&this.layout()}function r(t){function e(){t.apply(this,arguments)}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e}function a(t){if("number"==typeof t)return t;var e=t.match(/(^\d*\.?\d*)(\w*)/),i=e&&e[1],o=e&&e[2];if(!i.length)return 0;i=parseFloat(i);var n=m[o]||1;return i*n}var u=t.console,h=t.jQuery,d=function(){},l=0,f={};s.namespace="outlayer",s.Item=n,s.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var c=s.prototype;o.extend(c,e.prototype),c.option=function(t){o.extend(this.options,t)},c._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},s.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},c._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),o.extend(this.element.style,this.options.containerStyle);var t=this._getOption("resize");t&&this.bindResize()},c.reloadItems=function(){this.items=this._itemize(this.element.children)},c._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,o=[],n=0;n<e.length;n++){var s=e[n],r=new i(s,this);o.push(r)}return o},c._filterFindItemElements=function(t){return o.filterFindElements(t,this.options.itemSelector)},c.getItemElements=function(){return this.items.map(function(t){return t.element})},c.layout=function(){this._resetLayout(),this._manageStamps();var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;this.layoutItems(this.items,e),this._isLayoutInited=!0},c._init=c.layout,c._resetLayout=function(){this.getSize()},c.getSize=function(){this.size=i(this.element)},c._getMeasurement=function(t,e){var o,n=this.options[t];n?("string"==typeof n?o=this.element.querySelector(n):n instanceof HTMLElement&&(o=n),this[t]=o?i(o)[e]:n):this[t]=0},c.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},c._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},c._layoutItems=function(t,e){if(this._emitCompleteOnItems("layout",t),t&&t.length){var i=[];t.forEach(function(t){var o=this._getItemLayoutPosition(t);o.item=t,o.isInstant=e||t.isLayoutInstant,i.push(o)},this),this._processLayoutQueue(i)}},c._getItemLayoutPosition=function(){return{x:0,y:0}},c._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},c.updateStagger=function(){var t=this.options.stagger;return null===t||void 0===t?void(this.stagger=0):(this.stagger=a(t),this.stagger)},c._positionItem=function(t,e,i,o,n){o?t.goTo(e,i):(t.stagger(n*this.stagger),t.moveTo(e,i))},c._postLayout=function(){this.resizeContainer()},c.resizeContainer=function(){var t=this._getOption("resizeContainer");if(t){var e=this._getContainerSize();e&&(this._setContainerMeasure(e.width,!0),this._setContainerMeasure(e.height,!1))}},c._getContainerSize=d,c._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},c._emitCompleteOnItems=function(t,e){function i(){n.dispatchEvent(t+"Complete",null,[e])}function o(){r++,r==s&&i()}var n=this,s=e.length;if(!e||!s)return void i();var r=0;e.forEach(function(e){e.once(t,o)})},c.dispatchEvent=function(t,e,i){var o=e?[e].concat(i):i;if(this.emitEvent(t,o),h)if(this.$element=this.$element||h(this.element),e){var n=h.Event(e);n.type=t,this.$element.trigger(n,i)}else this.$element.trigger(t,i)},c.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},c.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},c.stamp=function(t){t=this._find(t),t&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},c.unstamp=function(t){t=this._find(t),t&&t.forEach(function(t){o.removeFrom(this.stamps,t),this.unignore(t)},this)},c._find=function(t){if(t)return"string"==typeof t&&(t=this.element.querySelectorAll(t)),t=o.makeArray(t)},c._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},c._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},c._manageStamp=d,c._getElementOffset=function(t){var e=t.getBoundingClientRect(),o=this._boundingRect,n=i(t),s={left:e.left-o.left-n.marginLeft,top:e.top-o.top-n.marginTop,right:o.right-e.right-n.marginRight,bottom:o.bottom-e.bottom-n.marginBottom};return s},c.handleEvent=o.handleEvent,c.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},c.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},c.onresize=function(){this.resize()},o.debounceMethod(s,"onresize",100),c.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},c.needsResizeLayout=function(){var t=i(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},c.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},c.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},c.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},c.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.reveal()})}},c.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.hide()})}},c.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},c.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},c.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},c.getItems=function(t){t=o.makeArray(t);var e=[];return t.forEach(function(t){var i=this.getItem(t);i&&e.push(i)},this),e},c.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach(function(t){t.remove(),o.removeFrom(this.items,t)},this)},c.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="",this.items.forEach(function(t){t.destroy()}),this.unbindResize();var e=this.element.outlayerGUID;delete f[e],delete this.element.outlayerGUID,h&&h.removeData(this.element,this.constructor.namespace)},s.data=function(t){t=o.getQueryElement(t);var e=t&&t.outlayerGUID;return e&&f[e]},s.create=function(t,e){var i=r(s);return i.defaults=o.extend({},s.defaults),o.extend(i.defaults,e),i.compatOptions=o.extend({},s.compatOptions),i.namespace=t,i.data=s.data,i.Item=r(n),o.htmlInit(i,t),h&&h.bridget&&h.bridget(t,i),i};var m={ms:1,s:1e3};return s.Item=n,s}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/item",["outlayer/outlayer"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer")):(t.Isotope=t.Isotope||{},t.Isotope.Item=e(t.Outlayer))}(window,function(t){"use strict";function e(){t.Item.apply(this,arguments)}var i=e.prototype=Object.create(t.Item.prototype),o=i._create;i._create=function(){this.id=this.layout.itemGUID++,o.call(this),this.sortData={}},i.updateSortData=function(){if(!this.isIgnored){this.sortData.id=this.id,this.sortData["original-order"]=this.id,this.sortData.random=Math.random();var t=this.layout.options.getSortData,e=this.layout._sorters;for(var i in t){var o=e[i];this.sortData[i]=o(this.element,this)}}};var n=i.destroy;return i.destroy=function(){n.apply(this,arguments),this.css({display:""})},e}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-mode",["get-size/get-size","outlayer/outlayer"],e):"object"==typeof module&&module.exports?module.exports=e(require("get-size"),require("outlayer")):(t.Isotope=t.Isotope||{},t.Isotope.LayoutMode=e(t.getSize,t.Outlayer))}(window,function(t,e){"use strict";function i(t){this.isotope=t,t&&(this.options=t.options[this.namespace],this.element=t.element,this.items=t.filteredItems,this.size=t.size)}var o=i.prototype,n=["_resetLayout","_getItemLayoutPosition","_manageStamp","_getContainerSize","_getElementOffset","needsResizeLayout","_getOption"];return n.forEach(function(t){o[t]=function(){return e.prototype[t].apply(this.isotope,arguments)}}),o.needsVerticalResizeLayout=function(){var e=t(this.isotope.element),i=this.isotope.size&&e;return i&&e.innerHeight!=this.isotope.size.innerHeight},o._getMeasurement=function(){this.isotope._getMeasurement.apply(this,arguments)},o.getColumnWidth=function(){this.getSegmentSize("column","Width")},o.getRowHeight=function(){this.getSegmentSize("row","Height")},o.getSegmentSize=function(t,e){var i=t+e,o="outer"+e;if(this._getMeasurement(i,o),!this[i]){var n=this.getFirstItemSize();this[i]=n&&n[o]||this.isotope.size["inner"+e]}},o.getFirstItemSize=function(){var e=this.isotope.filteredItems[0];return e&&e.element&&t(e.element)},o.layout=function(){this.isotope.layout.apply(this.isotope,arguments)},o.getSize=function(){this.isotope.getSize(),this.size=this.isotope.size},i.modes={},i.create=function(t,e){function n(){i.apply(this,arguments)}return n.prototype=Object.create(o),n.prototype.constructor=n,e&&(n.options=e),n.prototype.namespace=t,i.modes[t]=n,n},i}),function(t,e){"function"==typeof define&&define.amd?define("masonry-layout/masonry",["outlayer/outlayer","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("get-size")):t.Masonry=e(t.Outlayer,t.getSize)}(window,function(t,e){var i=t.create("masonry");i.compatOptions.fitWidth="isFitWidth";var o=i.prototype;return o._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var t=0;t<this.cols;t++)this.colYs.push(0);this.maxY=0,this.horizontalColIndex=0},o.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}var o=this.columnWidth+=this.gutter,n=this.containerWidth+this.gutter,s=n/o,r=o-n%o,a=r&&r<1?"round":"floor";s=Math[a](s),this.cols=Math.max(s,1)},o.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,o=e(i);this.containerWidth=o&&o.innerWidth},o._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&e<1?"round":"ceil",o=Math[i](t.size.outerWidth/this.columnWidth);o=Math.min(o,this.cols);for(var n=this.options.horizontalOrder?"_getHorizontalColPosition":"_getTopColPosition",s=this[n](o,t),r={x:this.columnWidth*s.col,y:s.y},a=s.y+t.size.outerHeight,u=o+s.col,h=s.col;h<u;h++)this.colYs[h]=a;return r},o._getTopColPosition=function(t){var e=this._getTopColGroup(t),i=Math.min.apply(Math,e);return{col:e.indexOf(i),y:i}},o._getTopColGroup=function(t){if(t<2)return this.colYs;for(var e=[],i=this.cols+1-t,o=0;o<i;o++)e[o]=this._getColGroupY(o,t);return e},o._getColGroupY=function(t,e){if(e<2)return this.colYs[t];var i=this.colYs.slice(t,t+e);return Math.max.apply(Math,i)},o._getHorizontalColPosition=function(t,e){var i=this.horizontalColIndex%this.cols,o=t>1&&i+t>this.cols;i=o?0:i;var n=e.size.outerWidth&&e.size.outerHeight;return this.horizontalColIndex=n?i+t:this.horizontalColIndex,{col:i,y:this._getColGroupY(i,t)}},o._manageStamp=function(t){var i=e(t),o=this._getElementOffset(t),n=this._getOption("originLeft"),s=n?o.left:o.right,r=s+i.outerWidth,a=Math.floor(s/this.columnWidth);a=Math.max(0,a);var u=Math.floor(r/this.columnWidth);u-=r%this.columnWidth?0:1,u=Math.min(this.cols-1,u);for(var h=this._getOption("originTop"),d=(h?o.top:o.bottom)+i.outerHeight,l=a;l<=u;l++)this.colYs[l]=Math.max(d,this.colYs[l])},o._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},o._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},o.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-modes/masonry",["../layout-mode","masonry-layout/masonry"],e):"object"==typeof module&&module.exports?module.exports=e(require("../layout-mode"),require("masonry-layout")):e(t.Isotope.LayoutMode,t.Masonry)}(window,function(t,e){"use strict";var i=t.create("masonry"),o=i.prototype,n={_getElementOffset:!0,layout:!0,_getMeasurement:!0};for(var s in e.prototype)n[s]||(o[s]=e.prototype[s]);var r=o.measureColumns;o.measureColumns=function(){this.items=this.isotope.filteredItems,r.call(this)};var a=o._getOption;return o._getOption=function(t){return"fitWidth"==t?void 0!==this.options.isFitWidth?this.options.isFitWidth:this.options.fitWidth:a.apply(this.isotope,arguments)},i}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-modes/fit-rows",["../layout-mode"],e):"object"==typeof exports?module.exports=e(require("../layout-mode")):e(t.Isotope.LayoutMode)}(window,function(t){"use strict";var e=t.create("fitRows"),i=e.prototype;return i._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this._getMeasurement("gutter","outerWidth")},i._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth+this.gutter,i=this.isotope.size.innerWidth+this.gutter;0!==this.x&&e+this.x>i&&(this.x=0,this.y=this.maxY);var o={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+t.size.outerHeight),this.x+=e,o},i._getContainerSize=function(){return{height:this.maxY}},e}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-modes/vertical",["../layout-mode"],e):"object"==typeof module&&module.exports?module.exports=e(require("../layout-mode")):e(t.Isotope.LayoutMode)}(window,function(t){"use strict";var e=t.create("vertical",{horizontalAlignment:0}),i=e.prototype;return i._resetLayout=function(){this.y=0},i._getItemLayoutPosition=function(t){t.getSize();var e=(this.isotope.size.innerWidth-t.size.outerWidth)*this.options.horizontalAlignment,i=this.y;return this.y+=t.size.outerHeight,{x:e,y:i}},i._getContainerSize=function(){return{height:this.y}},e}),function(t,e){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","desandro-matches-selector/matches-selector","fizzy-ui-utils/utils","isotope-layout/js/item","isotope-layout/js/layout-mode","isotope-layout/js/layout-modes/masonry","isotope-layout/js/layout-modes/fit-rows","isotope-layout/js/layout-modes/vertical"],function(i,o,n,s,r,a){return e(t,i,o,n,s,r,a)}):"object"==typeof module&&module.exports?module.exports=e(t,require("outlayer"),require("get-size"),require("desandro-matches-selector"),require("fizzy-ui-utils"),require("isotope-layout/js/item"),require("isotope-layout/js/layout-mode"),require("isotope-layout/js/layout-modes/masonry"),require("isotope-layout/js/layout-modes/fit-rows"),require("isotope-layout/js/layout-modes/vertical")):t.Isotope=e(t,t.Outlayer,t.getSize,t.matchesSelector,t.fizzyUIUtils,t.Isotope.Item,t.Isotope.LayoutMode)}(window,function(t,e,i,o,n,s,r){function a(t,e){return function(i,o){for(var n=0;n<t.length;n++){var s=t[n],r=i.sortData[s],a=o.sortData[s];if(r>a||r<a){var u=void 0!==e[s]?e[s]:e,h=u?1:-1;return(r>a?1:-1)*h}}return 0}}var u=t.jQuery,h=String.prototype.trim?function(t){return t.trim()}:function(t){return t.replace(/^\s+|\s+$/g,"")},d=e.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});d.Item=s,d.LayoutMode=r;var l=d.prototype;l._create=function(){this.itemGUID=0,this._sorters={},this._getSorters(),e.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"];for(var t in r.modes)this._initLayoutMode(t)},l.reloadItems=function(){this.itemGUID=0,e.prototype.reloadItems.call(this)},l._itemize=function(){for(var t=e.prototype._itemize.apply(this,arguments),i=0;i<t.length;i++){var o=t[i];o.id=this.itemGUID++}return this._updateItemsSortData(t),t},l._initLayoutMode=function(t){var e=r.modes[t],i=this.options[t]||{};this.options[t]=e.options?n.extend(e.options,i):i,this.modes[t]=new e(this)},l.layout=function(){return!this._isLayoutInited&&this._getOption("initLayout")?void this.arrange():void this._layout()},l._layout=function(){var t=this._getIsInstant();this._resetLayout(),this._manageStamps(),this.layoutItems(this.filteredItems,t),this._isLayoutInited=!0},l.arrange=function(t){this.option(t),this._getIsInstant();var e=this._filter(this.items);this.filteredItems=e.matches,this._bindArrangeComplete(),this._isInstant?this._noTransition(this._hideReveal,[e]):this._hideReveal(e),this._sort(),this._layout()},l._init=l.arrange,l._hideReveal=function(t){this.reveal(t.needReveal),this.hide(t.needHide)},l._getIsInstant=function(){var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;return this._isInstant=e,e},l._bindArrangeComplete=function(){function t(){e&&i&&o&&n.dispatchEvent("arrangeComplete",null,[n.filteredItems])}var e,i,o,n=this;this.once("layoutComplete",function(){e=!0,t()}),this.once("hideComplete",function(){i=!0,t()}),this.once("revealComplete",function(){o=!0,t()})},l._filter=function(t){var e=this.options.filter;e=e||"*";for(var i=[],o=[],n=[],s=this._getFilterTest(e),r=0;r<t.length;r++){var a=t[r];if(!a.isIgnored){var u=s(a);u&&i.push(a),u&&a.isHidden?o.push(a):u||a.isHidden||n.push(a)}}return{matches:i,needReveal:o,needHide:n}},l._getFilterTest=function(t){return u&&this.options.isJQueryFiltering?function(e){return u(e.element).is(t);
12
+ }:"function"==typeof t?function(e){return t(e.element)}:function(e){return o(e.element,t)}},l.updateSortData=function(t){var e;t?(t=n.makeArray(t),e=this.getItems(t)):e=this.items,this._getSorters(),this._updateItemsSortData(e)},l._getSorters=function(){var t=this.options.getSortData;for(var e in t){var i=t[e];this._sorters[e]=f(i)}},l._updateItemsSortData=function(t){for(var e=t&&t.length,i=0;e&&i<e;i++){var o=t[i];o.updateSortData()}};var f=function(){function t(t){if("string"!=typeof t)return t;var i=h(t).split(" "),o=i[0],n=o.match(/^\[(.+)\]$/),s=n&&n[1],r=e(s,o),a=d.sortDataParsers[i[1]];return t=a?function(t){return t&&a(r(t))}:function(t){return t&&r(t)}}function e(t,e){return t?function(e){return e.getAttribute(t)}:function(t){var i=t.querySelector(e);return i&&i.textContent}}return t}();d.sortDataParsers={parseInt:function(t){return parseInt(t,10)},parseFloat:function(t){return parseFloat(t)}},l._sort=function(){if(this.options.sortBy){var t=n.makeArray(this.options.sortBy);this._getIsSameSortBy(t)||(this.sortHistory=t.concat(this.sortHistory));var e=a(this.sortHistory,this.options.sortAscending);this.filteredItems.sort(e)}},l._getIsSameSortBy=function(t){for(var e=0;e<t.length;e++)if(t[e]!=this.sortHistory[e])return!1;return!0},l._mode=function(){var t=this.options.layoutMode,e=this.modes[t];if(!e)throw new Error("No layout mode: "+t);return e.options=this.options[t],e},l._resetLayout=function(){e.prototype._resetLayout.call(this),this._mode()._resetLayout()},l._getItemLayoutPosition=function(t){return this._mode()._getItemLayoutPosition(t)},l._manageStamp=function(t){this._mode()._manageStamp(t)},l._getContainerSize=function(){return this._mode()._getContainerSize()},l.needsResizeLayout=function(){return this._mode().needsResizeLayout()},l.appended=function(t){var e=this.addItems(t);if(e.length){var i=this._filterRevealAdded(e);this.filteredItems=this.filteredItems.concat(i)}},l.prepended=function(t){var e=this._itemize(t);if(e.length){this._resetLayout(),this._manageStamps();var i=this._filterRevealAdded(e);this.layoutItems(this.filteredItems),this.filteredItems=i.concat(this.filteredItems),this.items=e.concat(this.items)}},l._filterRevealAdded=function(t){var e=this._filter(t);return this.hide(e.needHide),this.reveal(e.matches),this.layoutItems(e.matches,!0),e.matches},l.insert=function(t){var e=this.addItems(t);if(e.length){var i,o,n=e.length;for(i=0;i<n;i++)o=e[i],this.element.appendChild(o.element);var s=this._filter(e).matches;for(i=0;i<n;i++)e[i].isLayoutInstant=!0;for(this.arrange(),i=0;i<n;i++)delete e[i].isLayoutInstant;this.reveal(s)}};var c=l.remove;return l.remove=function(t){t=n.makeArray(t);var e=this.getItems(t);c.call(this,t);for(var i=e&&e.length,o=0;i&&o<i;o++){var s=e[o];n.removeFrom(this.filteredItems,s)}},l.shuffle=function(){for(var t=0;t<this.items.length;t++){var e=this.items[t];e.sortData.random=Math.random()}this.options.sortBy="random",this._sort(),this._layout()},l._noTransition=function(t,e){var i=this.options.transitionDuration;this.options.transitionDuration=0;var o=t.apply(this,e);return this.options.transitionDuration=i,o},l.getFilteredItemElements=function(){return this.filteredItems.map(function(t){return t.element})},d});
assets/js/front/isotope.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(e,i){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(t){return i(e,t)}):"object"==typeof module&&module.exports?module.exports=i(e,require("jquery")):e.jQueryBridget=i(e,e.jQuery)}(window,function(t,e){"use strict";function i(h,n,l){(l=l||e||t.jQuery)&&(n.prototype.option||(n.prototype.option=function(t){l.isPlainObject(t)&&(this.options=l.extend(!0,this.options,t))}),l.fn[h]=function(t){return"string"!=typeof t?(function(t,o){t.each(function(t,e){var i=l.data(e,h);i?(i.option(o),i._init()):(i=new n(e,o),l.data(e,h,i))})}(this,t),this):function(t,s,r){var a,u="$()."+h+'("'+s+'")';return t.each(function(t,e){var i=l.data(e,h);if(i){var o=i[s];if(o&&"_"!=s.charAt(0)){var n=o.apply(i,r);a=void 0===a?n:a}else d(u+" is not a valid method")}else d(h+" not initialized. Cannot call methods, i.e. "+u)}),void 0!==a?a:t}(this,t,s.call(arguments,1))},o(l))}function o(t){!t||t&&t.bridget||(t.bridget=i)}var s=Array.prototype.slice,n=t.console,d=void 0===n?function(){}:function(t){n.error(t)};return o(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e()}("undefined"!=typeof window?window:this,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},o=i[t]=i[t]||[];return-1==o.indexOf(e)&&o.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{};return(i[t]=i[t]||{})[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var o=i.indexOf(e);return-1!=o&&i.splice(o,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var o=this._onceEvents&&this._onceEvents[t],n=0;n<i.length;n++){var s=i[n];o&&o[s]&&(this.off(t,s),delete o[s]),s.apply(this,e)}return this}},e.allOff=function(){delete this._events,delete this._onceEvents},t}),function(t,e){"function"==typeof define&&define.amd?define("get-size/get-size",e):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function g(t){var e=parseFloat(t);return-1==t.indexOf("%")&&!isNaN(e)&&e}function v(t){var e=getComputedStyle(t);return e||i("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),e}function _(t){if(function(){if(!S){S=!0;var t=document.createElement("div");t.style.width="200px",t.style.padding="1px 2px 3px 4px",t.style.borderStyle="solid",t.style.borderWidth="1px 2px 3px 4px",t.style.boxSizing="border-box";var e=document.body||document.documentElement;e.appendChild(t);var i=v(t);z=200==Math.round(g(i.width)),_.isBoxSizeOuter=z,e.removeChild(t)}}(),"string"==typeof t&&(t=document.querySelector(t)),t&&"object"==typeof t&&t.nodeType){var e=v(t);if("none"==e.display)return function(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;e<x;e++){t[I[e]]=0}return t}();var i={};i.width=t.offsetWidth,i.height=t.offsetHeight;for(var o=i.isBorderBox="border-box"==e.boxSizing,n=0;n<x;n++){var s=I[n],r=e[s],a=parseFloat(r);i[s]=isNaN(a)?0:a}var u=i.paddingLeft+i.paddingRight,h=i.paddingTop+i.paddingBottom,l=i.marginLeft+i.marginRight,d=i.marginTop+i.marginBottom,f=i.borderLeftWidth+i.borderRightWidth,c=i.borderTopWidth+i.borderBottomWidth,m=o&&z,p=g(e.width);!1!==p&&(i.width=p+(m?0:u+f));var y=g(e.height);return!1!==y&&(i.height=y+(m?0:h+c)),i.innerWidth=i.width-(u+f),i.innerHeight=i.height-(h+c),i.outerWidth=i.width+l,i.outerHeight=i.height+d,i}}var z,i="undefined"==typeof console?function(){}:function(t){console.error(t)},I=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],x=I.length,S=!1;return _}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e()}(window,function(){"use strict";var i=function(){var t=window.Element.prototype;if(t.matches)return"matches";if(t.matchesSelector)return"matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var o=e[i]+"MatchesSelector";if(t[o])return o}}();return function(t,e){return t[i](e)}}),function(e,i){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(t){return i(e,t)}):"object"==typeof module&&module.exports?module.exports=i(e,require("desandro-matches-selector")):e.fizzyUIUtils=i(e,e.matchesSelector)}(window,function(h,s){var l={extend:function(t,e){for(var i in e)t[i]=e[i];return t},modulo:function(t,e){return(t%e+e)%e}},e=Array.prototype.slice;l.makeArray=function(t){return Array.isArray(t)?t:null==t?[]:"object"==typeof t&&"number"==typeof t.length?e.call(t):[t]},l.removeFrom=function(t,e){var i=t.indexOf(e);-1!=i&&t.splice(i,1)},l.getParent=function(t,e){for(;t.parentNode&&t!=document.body;)if(t=t.parentNode,s(t,e))return t},l.getQueryElement=function(t){return"string"==typeof t?document.querySelector(t):t},l.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},l.filterFindElements=function(t,o){t=l.makeArray(t);var n=[];return t.forEach(function(t){if(t instanceof HTMLElement){if(!o)return void n.push(t);s(t,o)&&n.push(t);for(var e=t.querySelectorAll(o),i=0;i<e.length;i++)n.push(e[i])}}),n},l.debounceMethod=function(t,e,o){o=o||100;var n=t.prototype[e],s=e+"Timeout";t.prototype[e]=function(){var t=this[s];clearTimeout(t);var e=arguments,i=this;this[s]=setTimeout(function(){n.apply(i,e),delete i[s]},o)}},l.docReady=function(t){var e=document.readyState;"complete"==e||"interactive"==e?setTimeout(t):document.addEventListener("DOMContentLoaded",t)},l.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var d=h.console;return l.htmlInit=function(a,u){l.docReady(function(){var t=l.toDashed(u),n="data-"+t,e=document.querySelectorAll("["+n+"]"),i=document.querySelectorAll(".js-"+t),o=l.makeArray(e).concat(l.makeArray(i)),s=n+"-options",r=h.jQuery;o.forEach(function(e){var t,i=e.getAttribute(n)||e.getAttribute(s);try{t=i&&JSON.parse(i)}catch(t){return void(d&&d.error("Error parsing "+n+" on "+e.className+": "+t))}var o=new a(e,t);r&&r.data(e,u,o)})})},l}),function(t,e){"function"==typeof define&&define.amd?define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("ev-emitter"),require("get-size")):(t.Outlayer={},t.Outlayer.Item=e(t.EvEmitter,t.getSize))}(window,function(t,e){"use strict";function i(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}var o=document.documentElement.style,n="string"==typeof o.transition?"transition":"WebkitTransition",s="string"==typeof o.transform?"transform":"WebkitTransform",r={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[n],a={transform:s,transition:n,transitionDuration:n+"Duration",transitionProperty:n+"Property",transitionDelay:n+"Delay"},u=i.prototype=Object.create(t.prototype);u.constructor=i,u._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},u.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},u.getSize=function(){this.size=e(this.element)},u.css=function(t){var e=this.element.style;for(var i in t){e[a[i]||i]=t[i]}},u.getPosition=function(){var t=getComputedStyle(this.element),e=this.layout._getOption("originLeft"),i=this.layout._getOption("originTop"),o=t[e?"left":"right"],n=t[i?"top":"bottom"],s=parseFloat(o),r=parseFloat(n),a=this.layout.size;-1!=o.indexOf("%")&&(s=s/100*a.width),-1!=n.indexOf("%")&&(r=r/100*a.height),s=isNaN(s)?0:s,r=isNaN(r)?0:r,s-=e?a.paddingLeft:a.paddingRight,r-=i?a.paddingTop:a.paddingBottom,this.position.x=s,this.position.y=r},u.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),o=this.layout._getOption("originTop"),n=i?"paddingLeft":"paddingRight",s=i?"left":"right",r=i?"right":"left",a=this.position.x+t[n];e[s]=this.getXValue(a),e[r]="";var u=o?"paddingTop":"paddingBottom",h=o?"top":"bottom",l=o?"bottom":"top",d=this.position.y+t[u];e[h]=this.getYValue(d),e[l]="",this.css(e),this.emitEvent("layout",[this])},u.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},u.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},u._transitionTo=function(t,e){this.getPosition();var i=this.position.x,o=this.position.y,n=t==this.position.x&&e==this.position.y;if(this.setPosition(t,e),!n||this.isTransitioning){var s=t-i,r=e-o,a={};a.transform=this.getTranslate(s,r),this.transition({to:a,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})}else this.layoutPosition()},u.getTranslate=function(t,e){return"translate3d("+(t=this.layout._getOption("originLeft")?t:-t)+"px, "+(e=this.layout._getOption("originTop")?e:-e)+"px, 0)"},u.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},u.moveTo=u._transitionTo,u.setPosition=function(t,e){this.position.x=parseFloat(t),this.position.y=parseFloat(e)},u._nonTransition=function(t){for(var e in this.css(t.to),t.isCleaning&&this._removeStyles(t.to),t.onTransitionEnd)t.onTransitionEnd[e].call(this)},u.transition=function(t){if(parseFloat(this.layout.options.transitionDuration)){var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);this.element.offsetHeight;null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0}else this._nonTransition(t)};var h="opacity,"+s.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()});u.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:h,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(r,this,!1)}},u.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},u.onotransitionend=function(t){this.ontransitionend(t)};var l={"-webkit-transform":"transform"};u.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,i=l[t.propertyName]||t.propertyName;if(delete e.ingProperties[i],function(t){for(var e in t)return!1;return!null}(e.ingProperties)&&this.disableTransition(),i in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[i]),i in e.onEnd)e.onEnd[i].call(this),delete e.onEnd[i];this.emitEvent("transitionEnd",[this])}},u.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(r,this,!1),this.isTransitioning=!1},u._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var d={transitionProperty:"",transitionDuration:"",transitionDelay:""};return u.removeTransitionStyles=function(){this.css(d)},u.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},u.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},u.remove=function(){return n&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},u.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={};e[this.getHideRevealTransitionEndProperty("visibleStyle")]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},u.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},u.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},u.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={};e[this.getHideRevealTransitionEndProperty("hiddenStyle")]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},u.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},u.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},i}),function(n,s){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(t,e,i,o){return s(n,t,e,i,o)}):"object"==typeof module&&module.exports?module.exports=s(n,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):n.Outlayer=s(n,n.EvEmitter,n.getSize,n.fizzyUIUtils,n.Outlayer.Item)}(window,function(t,e,n,s,o){"use strict";function r(t,e){var i=s.getQueryElement(t);if(i){this.element=i,h&&(this.$element=h(this.element)),this.options=s.extend({},this.constructor.defaults),this.option(e);var o=++l;this.element.outlayerGUID=o,(d[o]=this)._create(),this._getOption("initLayout")&&this.layout()}else u&&u.error("Bad element for "+this.constructor.namespace+": "+(i||t))}function a(t){function e(){t.apply(this,arguments)}return(e.prototype=Object.create(t.prototype)).constructor=e}function i(){}var u=t.console,h=t.jQuery,l=0,d={};r.namespace="outlayer",r.Item=o,r.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var f=r.prototype;s.extend(f,e.prototype),f.option=function(t){s.extend(this.options,t)},f._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},r.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},f._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),s.extend(this.element.style,this.options.containerStyle),this._getOption("resize")&&this.bindResize()},f.reloadItems=function(){this.items=this._itemize(this.element.children)},f._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,o=[],n=0;n<e.length;n++){var s=new i(e[n],this);o.push(s)}return o},f._filterFindItemElements=function(t){return s.filterFindElements(t,this.options.itemSelector)},f.getItemElements=function(){return this.items.map(function(t){return t.element})},f.layout=function(){this._resetLayout(),this._manageStamps();var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;this.layoutItems(this.items,e),this._isLayoutInited=!0},f._init=f.layout,f._resetLayout=function(){this.getSize()},f.getSize=function(){this.size=n(this.element)},f._getMeasurement=function(t,e){var i,o=this.options[t];o?("string"==typeof o?i=this.element.querySelector(o):o instanceof HTMLElement&&(i=o),this[t]=i?n(i)[e]:o):this[t]=0},f.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},f._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},f._layoutItems=function(t,i){if(this._emitCompleteOnItems("layout",t),t&&t.length){var o=[];t.forEach(function(t){var e=this._getItemLayoutPosition(t);e.item=t,e.isInstant=i||t.isLayoutInstant,o.push(e)},this),this._processLayoutQueue(o)}},f._getItemLayoutPosition=function(){return{x:0,y:0}},f._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},f.updateStagger=function(){var t=this.options.stagger;return null==t?void(this.stagger=0):(this.stagger=function(t){if("number"==typeof t)return t;var e=t.match(/(^\d*\.?\d*)(\w*)/),i=e&&e[1],o=e&&e[2];return i.length?(i=parseFloat(i))*(c[o]||1):0}(t),this.stagger)},f._positionItem=function(t,e,i,o,n){o?t.goTo(e,i):(t.stagger(n*this.stagger),t.moveTo(e,i))},f._postLayout=function(){this.resizeContainer()},f.resizeContainer=function(){if(this._getOption("resizeContainer")){var t=this._getContainerSize();t&&(this._setContainerMeasure(t.width,!0),this._setContainerMeasure(t.height,!1))}},f._getContainerSize=i,f._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},f._emitCompleteOnItems=function(e,t){function i(){n.dispatchEvent(e+"Complete",null,[t])}function o(){++r==s&&i()}var n=this,s=t.length;if(t&&s){var r=0;t.forEach(function(t){t.once(e,o)})}else i()},f.dispatchEvent=function(t,e,i){var o=e?[e].concat(i):i;if(this.emitEvent(t,o),h)if(this.$element=this.$element||h(this.element),e){var n=h.Event(e);n.type=t,this.$element.trigger(n,i)}else this.$element.trigger(t,i)},f.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},f.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},f.stamp=function(t){(t=this._find(t))&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},f.unstamp=function(t){(t=this._find(t))&&t.forEach(function(t){s.removeFrom(this.stamps,t),this.unignore(t)},this)},f._find=function(t){if(t)return"string"==typeof t&&(t=this.element.querySelectorAll(t)),s.makeArray(t)},f._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},f._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},f._manageStamp=i,f._getElementOffset=function(t){var e=t.getBoundingClientRect(),i=this._boundingRect,o=n(t);return{left:e.left-i.left-o.marginLeft,top:e.top-i.top-o.marginTop,right:i.right-e.right-o.marginRight,bottom:i.bottom-e.bottom-o.marginBottom}},f.handleEvent=s.handleEvent,f.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},f.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},f.onresize=function(){this.resize()},s.debounceMethod(r,"onresize",100),f.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},f.needsResizeLayout=function(){var t=n(this.element);return this.size&&t&&t.innerWidth!==this.size.innerWidth},f.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},f.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},f.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},f.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var i=this.updateStagger();t.forEach(function(t,e){t.stagger(e*i),t.reveal()})}},f.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var i=this.updateStagger();t.forEach(function(t,e){t.stagger(e*i),t.hide()})}},f.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},f.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},f.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},f.getItems=function(t){t=s.makeArray(t);var i=[];return t.forEach(function(t){var e=this.getItem(t);e&&i.push(e)},this),i},f.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach(function(t){t.remove(),s.removeFrom(this.items,t)},this)},f.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="",this.items.forEach(function(t){t.destroy()}),this.unbindResize();var e=this.element.outlayerGUID;delete d[e],delete this.element.outlayerGUID,h&&h.removeData(this.element,this.constructor.namespace)},r.data=function(t){var e=(t=s.getQueryElement(t))&&t.outlayerGUID;return e&&d[e]},r.create=function(t,e){var i=a(r);return i.defaults=s.extend({},r.defaults),s.extend(i.defaults,e),i.compatOptions=s.extend({},r.compatOptions),i.namespace=t,i.data=r.data,i.Item=a(o),s.htmlInit(i,t),h&&h.bridget&&h.bridget(t,i),i};var c={ms:1,s:1e3};return r.Item=o,r}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/item",["outlayer/outlayer"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer")):(t.Isotope=t.Isotope||{},t.Isotope.Item=e(t.Outlayer))}(window,function(t){"use strict";function e(){t.Item.apply(this,arguments)}var i=e.prototype=Object.create(t.Item.prototype),o=i._create;i._create=function(){this.id=this.layout.itemGUID++,o.call(this),this.sortData={}},i.updateSortData=function(){if(!this.isIgnored){this.sortData.id=this.id,this.sortData["original-order"]=this.id,this.sortData.random=Math.random();var t=this.layout.options.getSortData,e=this.layout._sorters;for(var i in t){var o=e[i];this.sortData[i]=o(this.element,this)}}};var n=i.destroy;return i.destroy=function(){n.apply(this,arguments),this.css({display:""})},e}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-mode",["get-size/get-size","outlayer/outlayer"],e):"object"==typeof module&&module.exports?module.exports=e(require("get-size"),require("outlayer")):(t.Isotope=t.Isotope||{},t.Isotope.LayoutMode=e(t.getSize,t.Outlayer))}(window,function(e,i){"use strict";function o(t){(this.isotope=t)&&(this.options=t.options[this.namespace],this.element=t.element,this.items=t.filteredItems,this.size=t.size)}var n=o.prototype;return["_resetLayout","_getItemLayoutPosition","_manageStamp","_getContainerSize","_getElementOffset","needsResizeLayout","_getOption"].forEach(function(t){n[t]=function(){return i.prototype[t].apply(this.isotope,arguments)}}),n.needsVerticalResizeLayout=function(){var t=e(this.isotope.element);return this.isotope.size&&t&&t.innerHeight!=this.isotope.size.innerHeight},n._getMeasurement=function(){this.isotope._getMeasurement.apply(this,arguments)},n.getColumnWidth=function(){this.getSegmentSize("column","Width")},n.getRowHeight=function(){this.getSegmentSize("row","Height")},n.getSegmentSize=function(t,e){var i=t+e,o="outer"+e;if(this._getMeasurement(i,o),!this[i]){var n=this.getFirstItemSize();this[i]=n&&n[o]||this.isotope.size["inner"+e]}},n.getFirstItemSize=function(){var t=this.isotope.filteredItems[0];return t&&t.element&&e(t.element)},n.layout=function(){this.isotope.layout.apply(this.isotope,arguments)},n.getSize=function(){this.isotope.getSize(),this.size=this.isotope.size},o.modes={},o.create=function(t,e){function i(){o.apply(this,arguments)}return(i.prototype=Object.create(n)).constructor=i,e&&(i.options=e),o.modes[i.prototype.namespace=t]=i},o}),function(t,e){"function"==typeof define&&define.amd?define("masonry-layout/masonry",["outlayer/outlayer","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("get-size")):t.Masonry=e(t.Outlayer,t.getSize)}(window,function(t,h){var e=t.create("masonry");e.compatOptions.fitWidth="isFitWidth";var i=e.prototype;return i._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var t=0;t<this.cols;t++)this.colYs.push(0);this.maxY=0,this.horizontalColIndex=0},i.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],e=t&&t.element;this.columnWidth=e&&h(e).outerWidth||this.containerWidth}var i=this.columnWidth+=this.gutter,o=this.containerWidth+this.gutter,n=o/i,s=i-o%i;n=Math[s&&s<1?"round":"floor"](n),this.cols=Math.max(n,1)},i.getContainerWidth=function(){var t=this._getOption("fitWidth")?this.element.parentNode:this.element,e=h(t);this.containerWidth=e&&e.innerWidth},i._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=Math[e&&e<1?"round":"ceil"](t.size.outerWidth/this.columnWidth);i=Math.min(i,this.cols);for(var o=this[this.options.horizontalOrder?"_getHorizontalColPosition":"_getTopColPosition"](i,t),n={x:this.columnWidth*o.col,y:o.y},s=o.y+t.size.outerHeight,r=i+o.col,a=o.col;a<r;a++)this.colYs[a]=s;return n},i._getTopColPosition=function(t){var e=this._getTopColGroup(t),i=Math.min.apply(Math,e);return{col:e.indexOf(i),y:i}},i._getTopColGroup=function(t){if(t<2)return this.colYs;for(var e=[],i=this.cols+1-t,o=0;o<i;o++)e[o]=this._getColGroupY(o,t);return e},i._getColGroupY=function(t,e){if(e<2)return this.colYs[t];var i=this.colYs.slice(t,t+e);return Math.max.apply(Math,i)},i._getHorizontalColPosition=function(t,e){var i=this.horizontalColIndex%this.cols;i=1<t&&i+t>this.cols?0:i;var o=e.size.outerWidth&&e.size.outerHeight;return this.horizontalColIndex=o?i+t:this.horizontalColIndex,{col:i,y:this._getColGroupY(i,t)}},i._manageStamp=function(t){var e=h(t),i=this._getElementOffset(t),o=this._getOption("originLeft")?i.left:i.right,n=o+e.outerWidth,s=Math.floor(o/this.columnWidth);s=Math.max(0,s);var r=Math.floor(n/this.columnWidth);r-=n%this.columnWidth?0:1,r=Math.min(this.cols-1,r);for(var a=(this._getOption("originTop")?i.top:i.bottom)+e.outerHeight,u=s;u<=r;u++)this.colYs[u]=Math.max(a,this.colYs[u])},i._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},i._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},i.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},e}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-modes/masonry",["../layout-mode","masonry-layout/masonry"],e):"object"==typeof module&&module.exports?module.exports=e(require("../layout-mode"),require("masonry-layout")):e(t.Isotope.LayoutMode,t.Masonry)}(window,function(t,e){"use strict";var i=t.create("masonry"),o=i.prototype,n={_getElementOffset:!0,layout:!0,_getMeasurement:!0};for(var s in e.prototype)n[s]||(o[s]=e.prototype[s]);var r=o.measureColumns;o.measureColumns=function(){this.items=this.isotope.filteredItems,r.call(this)};var a=o._getOption;return o._getOption=function(t){return"fitWidth"==t?void 0!==this.options.isFitWidth?this.options.isFitWidth:this.options.fitWidth:a.apply(this.isotope,arguments)},i}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-modes/fit-rows",["../layout-mode"],e):"object"==typeof exports?module.exports=e(require("../layout-mode")):e(t.Isotope.LayoutMode)}(window,function(t){"use strict";var e=t.create("fitRows"),i=e.prototype;return i._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this._getMeasurement("gutter","outerWidth")},i._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth+this.gutter,i=this.isotope.size.innerWidth+this.gutter;0!==this.x&&e+this.x>i&&(this.x=0,this.y=this.maxY);var o={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+t.size.outerHeight),this.x+=e,o},i._getContainerSize=function(){return{height:this.maxY}},e}),function(t,e){"function"==typeof define&&define.amd?define("isotope-layout/js/layout-modes/vertical",["../layout-mode"],e):"object"==typeof module&&module.exports?module.exports=e(require("../layout-mode")):e(t.Isotope.LayoutMode)}(window,function(t){"use strict";var e=t.create("vertical",{horizontalAlignment:0}),i=e.prototype;return i._resetLayout=function(){this.y=0},i._getItemLayoutPosition=function(t){t.getSize();var e=(this.isotope.size.innerWidth-t.size.outerWidth)*this.options.horizontalAlignment,i=this.y;return this.y+=t.size.outerHeight,{x:e,y:i}},i._getContainerSize=function(){return{height:this.y}},e}),function(r,a){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","desandro-matches-selector/matches-selector","fizzy-ui-utils/utils","isotope-layout/js/item","isotope-layout/js/layout-mode","isotope-layout/js/layout-modes/masonry","isotope-layout/js/layout-modes/fit-rows","isotope-layout/js/layout-modes/vertical"],function(t,e,i,o,n,s){return a(r,t,e,i,o,n,s)}):"object"==typeof module&&module.exports?module.exports=a(r,require("outlayer"),require("get-size"),require("desandro-matches-selector"),require("fizzy-ui-utils"),require("isotope-layout/js/item"),require("isotope-layout/js/layout-mode"),require("isotope-layout/js/layout-modes/masonry"),require("isotope-layout/js/layout-modes/fit-rows"),require("isotope-layout/js/layout-modes/vertical")):r.Isotope=a(r,r.Outlayer,r.getSize,r.matchesSelector,r.fizzyUIUtils,r.Isotope.Item,r.Isotope.LayoutMode)}(window,function(t,i,e,o,s,n,r){var a=t.jQuery,u=String.prototype.trim?function(t){return t.trim()}:function(t){return t.replace(/^\s+|\s+$/g,"")},h=i.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});h.Item=n,h.LayoutMode=r;var l=h.prototype;l._create=function(){for(var t in this.itemGUID=0,this._sorters={},this._getSorters(),i.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"],r.modes)this._initLayoutMode(t)},l.reloadItems=function(){this.itemGUID=0,i.prototype.reloadItems.call(this)},l._itemize=function(){for(var t=i.prototype._itemize.apply(this,arguments),e=0;e<t.length;e++){t[e].id=this.itemGUID++}return this._updateItemsSortData(t),t},l._initLayoutMode=function(t){var e=r.modes[t],i=this.options[t]||{};this.options[t]=e.options?s.extend(e.options,i):i,this.modes[t]=new e(this)},l.layout=function(){return!this._isLayoutInited&&this._getOption("initLayout")?void this.arrange():void this._layout()},l._layout=function(){var t=this._getIsInstant();this._resetLayout(),this._manageStamps(),this.layoutItems(this.filteredItems,t),this._isLayoutInited=!0},l.arrange=function(t){this.option(t),this._getIsInstant();var e=this._filter(this.items);this.filteredItems=e.matches,this._bindArrangeComplete(),this._isInstant?this._noTransition(this._hideReveal,[e]):this._hideReveal(e),this._sort(),this._layout()},l._init=l.arrange,l._hideReveal=function(t){this.reveal(t.needReveal),this.hide(t.needHide)},l._getIsInstant=function(){var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;return this._isInstant=e},l._bindArrangeComplete=function(){function t(){e&&i&&o&&n.dispatchEvent("arrangeComplete",null,[n.filteredItems])}var e,i,o,n=this;this.once("layoutComplete",function(){e=!0,t()}),this.once("hideComplete",function(){i=!0,t()}),this.once("revealComplete",function(){o=!0,t()})},l._filter=function(t){var e=this.options.filter;e=e||"*";for(var i=[],o=[],n=[],s=this._getFilterTest(e),r=0;r<t.length;r++){var a=t[r];if(!a.isIgnored){var u=s(a);u&&i.push(a),u&&a.isHidden?o.push(a):u||a.isHidden||n.push(a)}}return{matches:i,needReveal:o,needHide:n}},l._getFilterTest=function(e){return a&&this.options.isJQueryFiltering?function(t){return a(t.element).is(e)}:"function"==typeof e?function(t){return e(t.element)}:function(t){return o(t.element,e)}},l.updateSortData=function(t){var e;e=t?(t=s.makeArray(t),this.getItems(t)):this.items,this._getSorters(),this._updateItemsSortData(e)},l._getSorters=function(){var t=this.options.getSortData;for(var e in t){var i=t[e];this._sorters[e]=d(i)}},l._updateItemsSortData=function(t){for(var e=t&&t.length,i=0;e&&i<e;i++){t[i].updateSortData()}};var d=function(t){if("string"!=typeof t)return t;var e=u(t).split(" "),i=e[0],o=i.match(/^\[(.+)\]$/),n=function(e,i){return e?function(t){return t.getAttribute(e)}:function(t){var e=t.querySelector(i);return e&&e.textContent}}(o&&o[1],i),s=h.sortDataParsers[e[1]];return s?function(t){return t&&s(n(t))}:function(t){return t&&n(t)}};h.sortDataParsers={parseInt:function(t){return parseInt(t,10)},parseFloat:function(t){return parseFloat(t)}},l._sort=function(){if(this.options.sortBy){var t=s.makeArray(this.options.sortBy);this._getIsSameSortBy(t)||(this.sortHistory=t.concat(this.sortHistory));var e=function(r,a){return function(t,e){for(var i=0;i<r.length;i++){var o=r[i],n=t.sortData[o],s=e.sortData[o];if(s<n||n<s)return(s<n?1:-1)*((void 0!==a[o]?a[o]:a)?1:-1)}return 0}}(this.sortHistory,this.options.sortAscending);this.filteredItems.sort(e)}},l._getIsSameSortBy=function(t){for(var e=0;e<t.length;e++)if(t[e]!=this.sortHistory[e])return!1;return!0},l._mode=function(){var t=this.options.layoutMode,e=this.modes[t];if(!e)throw new Error("No layout mode: "+t);return e.options=this.options[t],e},l._resetLayout=function(){i.prototype._resetLayout.call(this),this._mode()._resetLayout()},l._getItemLayoutPosition=function(t){return this._mode()._getItemLayoutPosition(t)},l._manageStamp=function(t){this._mode()._manageStamp(t)},l._getContainerSize=function(){return this._mode()._getContainerSize()},l.needsResizeLayout=function(){return this._mode().needsResizeLayout()},l.appended=function(t){var e=this.addItems(t);if(e.length){var i=this._filterRevealAdded(e);this.filteredItems=this.filteredItems.concat(i)}},l.prepended=function(t){var e=this._itemize(t);if(e.length){this._resetLayout(),this._manageStamps();var i=this._filterRevealAdded(e);this.layoutItems(this.filteredItems),this.filteredItems=i.concat(this.filteredItems),this.items=e.concat(this.items)}},l._filterRevealAdded=function(t){var e=this._filter(t);return this.hide(e.needHide),this.reveal(e.matches),this.layoutItems(e.matches,!0),e.matches},l.insert=function(t){var e=this.addItems(t);if(e.length){var i,o,n=e.length;for(i=0;i<n;i++)o=e[i],this.element.appendChild(o.element);var s=this._filter(e).matches;for(i=0;i<n;i++)e[i].isLayoutInstant=!0;for(this.arrange(),i=0;i<n;i++)delete e[i].isLayoutInstant;this.reveal(s)}};var f=l.remove;return l.remove=function(t){t=s.makeArray(t);var e=this.getItems(t);f.call(this,t);for(var i=e&&e.length,o=0;i&&o<i;o++){var n=e[o];s.removeFrom(this.filteredItems,n)}},l.shuffle=function(){for(var t=0;t<this.items.length;t++){this.items[t].sortData.random=Math.random()}this.options.sortBy="random",this._sort(),this._layout()},l._noTransition=function(t,e){var i=this.options.transitionDuration;this.options.transitionDuration=0;var o=t.apply(this,e);return this.options.transitionDuration=i,o},l.getFilteredItemElements=function(){return this.filteredItems.map(function(t){return t.element})},h});
assets/js/front/jquery-modula.js ADDED
@@ -0,0 +1,798 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * Project: jQuery Modula 2
3
+ * Version: 1.0
4
+ * Description: Artistic gallery
5
+ * Author: Macho Themes
6
+ */
7
+ function tg_getURLParameter(name) {
8
+ return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [, ""])[1].replace(/\+/g, '%20')) || null
9
+ }
10
+
11
+
12
+ // Compatibility with WPBakery Page Builder
13
+ jQuery(document).on('vc-full-width-row-single vc-full-width-row', function (event, element) {
14
+ if ( jQuery('body').find('.modula').length > 0 ) {
15
+ jQuery(window).trigger('modula-update');
16
+ }
17
+ });
18
+
19
+ // Compatibility with Elementor
20
+ jQuery(window).on('elementor/frontend/init', function () {
21
+ if ( window.elementorFrontend ) {
22
+ window.elementorFrontend.hooks.addAction('frontend/element_ready/global', function ($scope) {
23
+ if ( jQuery('body').find('.modula').length > 0 ) {
24
+ jQuery(window).trigger('modula-update');
25
+ }
26
+ });
27
+ }
28
+ });
29
+
30
+ ;(function ($, window, document, undefined) {
31
+
32
+
33
+ // Create the defaults once
34
+ var pluginName = 'modulaGallery',
35
+ defaults = {
36
+ resizer: '/',
37
+ keepArea: true,
38
+ type: 'creative-gallery',
39
+ columns: 12,
40
+ gutter: 10,
41
+ enableTwitter: false,
42
+ enableFacebook: false,
43
+ enableGplus: false,
44
+ enablePinterest: false,
45
+ enableLinkedin: false,
46
+ lazyLoad: 0,
47
+ initLightbox: false,
48
+ lightbox: 'fancybox',
49
+ lightboxOpts: {},
50
+ inView: false,
51
+ };
52
+
53
+ // The actual plugin constructor
54
+ function Plugin(element, options) {
55
+ this.element = element;
56
+ this.$element = $(element);
57
+ this.$itemsCnt = this.$element.find(".modula-items");
58
+ this.$items = this.$itemsCnt.find(".modula-item");
59
+
60
+ this.options = $.extend({}, defaults, options);
61
+
62
+ this._defaults = defaults;
63
+ this._name = pluginName;
64
+
65
+ this.tiles = [];
66
+ this.$tilesCnt = null;
67
+ this.completed = false;
68
+ this.lastWidth = 0;
69
+ this.resizeTO = 0;
70
+ this.isIsotope = false;
71
+
72
+ // Initiate Gallery
73
+ this.init();
74
+ }
75
+
76
+ Plugin.prototype.init = function () {
77
+
78
+ var instance = this;
79
+
80
+ // Trigger event before init
81
+ $(document).trigger('modula_api_before_init', [instance]);
82
+
83
+ if ( 'custom-grid' === this.options.type ) {
84
+ this.createCustomGallery();
85
+ } else if ( 'creative-gallery' == this.options.type ) {
86
+ this.createGrid();
87
+ }else if ( 'grid' == this.options.type ) {
88
+ if ( 'automatic' == this.options.grid_type ) {
89
+ this.createAutoGrid();
90
+ } else {
91
+ this.createColumnsGrid();
92
+ }
93
+ }
94
+
95
+ $(window).resize(function () {
96
+ instance.onResize(instance);
97
+ });
98
+
99
+ $(window).on('modula-update', function () {
100
+ instance.onResize(instance);
101
+ });
102
+
103
+ $(document).on('lazyloaded', function (evt) {
104
+ var element = $(evt.target),
105
+ parent, index;
106
+
107
+ if ( 'modula' == element.data('source') ) {
108
+ element.data('size', {width: element.width(), height: element.height()});
109
+ parent = element.parents('.modula-item');
110
+ parent.addClass('tg-loaded');
111
+ index = instance.$items.index(parent);
112
+ instance.placeImage(index);
113
+
114
+ if ( instance.isIsotope ) {
115
+ instance.$itemsCnt.isotope('layout');
116
+ }
117
+ }
118
+
119
+ });
120
+
121
+ if ( instance.options.inView ) {
122
+ jQuery( window ).on( "DOMContentLoaded load resize scroll", function(){
123
+ if( modulaInViewport( instance.$element ) ){
124
+ instance.$element.addClass( "modula-loaded-scale" )
125
+ }
126
+ });
127
+ }
128
+
129
+ // Gives error on front
130
+ /* new ResizeSensor( instance.$element, function() {
131
+ instance.onResize(instance);
132
+ });*/
133
+
134
+ // Create social links
135
+ this.setupSocial();
136
+
137
+ // Trigger custom gallery JS
138
+ if ( this.options.onComplete ) {
139
+ this.options.onComplete();
140
+ }
141
+
142
+ // Init lightox
143
+ if ( 'fancybox' == instance.options['lightbox'] && ! instance.options['initLightbox'] ) {
144
+ this.initLightbox();
145
+ }
146
+
147
+ // Trigger event after init
148
+ $(document).trigger('modula_api_after_init', [instance]);
149
+
150
+ };
151
+
152
+ Plugin.prototype.initLightbox = function() {
153
+ var self = this;
154
+
155
+ self.$element.on( 'click', '.modula-item-link', function(evt){
156
+ evt.preventDefault();
157
+
158
+ var links = $.map(self.$items, function(o) {
159
+ var link = jQuery(o).find('.modula-item-link'),
160
+ image = jQuery(o).find('.pic');
161
+ return { 'src' : link.attr( 'href' ), 'opts': { 'caption': link.data( 'caption' ), 'alt': image.attr( 'alt' ) } } }),
162
+ index = self.$items.index( jQuery(this).parents( '.modula-item' ) );
163
+
164
+ jQuery.modulaFancybox.open( links, self.options.lightboxOpts, index );
165
+
166
+ });
167
+
168
+ }
169
+
170
+ Plugin.prototype.trunc = function(v) {
171
+
172
+ if ( Math.trunc ) {
173
+ return Math.trunc(v);
174
+ } else {
175
+ v = +v;
176
+ if ( !isFinite(v) ) return v;
177
+
178
+ return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0);
179
+ }
180
+ }
181
+
182
+ // Create custom grid gallery based on packery.
183
+ Plugin.prototype.createCustomGallery = function () {
184
+
185
+ var instance = this,
186
+ size,
187
+ containerWidth = this.$element.width(),
188
+ plugin = this,
189
+ columns = this.options.columns,
190
+ viewport = document.documentElement.clientWidth;
191
+
192
+ if ( '1' == this.options.enableResponsive ) {
193
+
194
+ if ( viewport <= 568 ) {
195
+ columns = this.options.mobileColumns;
196
+ } else if ( viewport <= 768 ) {
197
+ columns = this.options.tabletColumns;
198
+ }
199
+
200
+ }
201
+
202
+ if ( this.options.gutter > 0 ) {
203
+ size = (containerWidth - this.options.gutter * (columns - 1)) / columns;
204
+ } else {
205
+ size = Math.floor((containerWidth / columns) * 1000) / 1000;
206
+ }
207
+
208
+ this.$items.not(".jtg-hidden").each(function (i, item) {
209
+ var slot = {}, widthColumns, heightColumns, auxWidth, auxHeight;
210
+
211
+ widthColumns = $(item).data('width');
212
+ heightColumns = $(item).data('height');
213
+
214
+ if ( widthColumns > 12 ) {
215
+ widthColumns = 12;
216
+ }
217
+
218
+ if ( '1' == plugin.options.enableResponsive ) {
219
+ auxWidth = widthColumns;
220
+ auxHeight = heightColumns;
221
+
222
+ if ( 1 == columns ) {
223
+
224
+ widthColumns = 1;
225
+ heightColumns = widthColumns * auxHeight / auxWidth;
226
+
227
+ } else {
228
+
229
+ widthColumns = Math.round(columns * auxWidth / 12);
230
+ if ( widthColumns < 1 ) {
231
+ widthColumns = 1;
232
+ }
233
+
234
+ heightColumns = Math.round(widthColumns * auxHeight / auxWidth);
235
+ if ( heightColumns < 1 ) {
236
+ heightColumns = 1;
237
+ }
238
+
239
+ }
240
+
241
+ }
242
+
243
+ slot.width = size * widthColumns + (plugin.options.gutter * (widthColumns - 1));
244
+ slot.height = Math.round(size) * heightColumns + (plugin.options.gutter * (heightColumns - 1));
245
+
246
+ $(item)
247
+ .data('size', slot)
248
+ .addClass('tiled')
249
+ .addClass(slot.width > slot.height ? 'tile-h' : 'tile-v')
250
+ .data('position');
251
+
252
+ $(item).css($(item).data('size'));
253
+ $(item).find(".figc").css({
254
+ width: $(item).data('size').width,
255
+ height: $(item).data('size').height
256
+ });
257
+
258
+ // Load Images
259
+ if ( '1' != instance.options.lazyLoad ) {
260
+ instance.loadImage(i);
261
+ }
262
+
263
+ });
264
+
265
+ var packery_args = {
266
+ itemSelector: '.modula-item',
267
+ layoutMode: 'packery',
268
+ packery: {
269
+ gutter: parseInt(plugin.options.gutter)
270
+ }
271
+ };
272
+
273
+ this.$itemsCnt.isotope(packery_args);
274
+ this.isIsotope = true;
275
+
276
+ }
277
+
278
+ // Create Modula default gallery grid
279
+ Plugin.prototype.createGrid = function () {
280
+ var instance = this;
281
+
282
+ // if ( this.options.width ) {
283
+ // this.$itemsCnt.width(this.options.width);
284
+ // }
285
+
286
+ // if ( this.options.height ) {
287
+ // this.$itemsCnt.height(this.options.height);
288
+ // }
289
+ this.$itemsCnt.data('area', this.$itemsCnt.width() * this.options.height);
290
+
291
+ this.lastWidth = this.$itemsCnt.width();
292
+
293
+ for ( var i = 0; i < this.$items.not(".jtg-hidden").length; i++ ) {
294
+ this.tiles.push(instance.getSlot());
295
+ }
296
+
297
+ this.tiles.sort(function (x, y) {
298
+ return x.position - y.position;
299
+ });
300
+
301
+ this.$items.not(".jtg-hidden").each(function (i, item) {
302
+ var slot = instance.tiles[i];
303
+
304
+ $(item)
305
+ .data('size', slot)
306
+ .addClass('tiled')
307
+ .addClass(slot.width > slot.height ? 'tile-h' : 'tile-v')
308
+ .data('position');
309
+
310
+ $(item).css({
311
+ width: slot.width,
312
+ height: slot.height
313
+ });
314
+
315
+ $(item).find(".figc").css({
316
+ width: slot.width,
317
+ height: slot.height
318
+ });
319
+
320
+ if ( '1' != instance.options.lazyLoad ) {
321
+ instance.loadImage(i);
322
+ }
323
+
324
+ });
325
+
326
+ if ( ! this.isIsotope ) {
327
+
328
+ var packery_args = {
329
+ resizesContainer: false,
330
+ itemSelector: '.modula-item',
331
+ layoutMode: 'packery',
332
+ packery: {
333
+ gutter: parseInt(instance.options.gutter)
334
+ }
335
+ };
336
+
337
+ this.$itemsCnt.isotope(packery_args);
338
+ this.isIsotope = true;
339
+
340
+ }
341
+
342
+ }
343
+
344
+ Plugin.prototype.createAutoGrid = function () {
345
+ var plugin = this;
346
+
347
+ this.$itemsCnt.justifiedGallery({
348
+ rowHeight: this.options.rowHeight,
349
+ margins: this.options.gutter,
350
+ lastRow: this.options.lastRow,
351
+ captions: false,
352
+ border: 0,
353
+ imgSelector: '.pic',
354
+ cssAnimation: false,
355
+ imagesAnimationDuration: 700,
356
+ });
357
+
358
+ }
359
+
360
+ Plugin.prototype.createColumnsGrid = function(){
361
+
362
+ var instance = this;
363
+
364
+ this.$itemsCnt.isotope({
365
+ // set itemSelector so .grid-sizer is not used in layout
366
+ itemSelector: '.modula-item',
367
+ // percentPosition: true,
368
+ layoutMode: 'packery',
369
+ packery: {
370
+ // use element for option
371
+ gutter: parseInt(this.options.gutter)
372
+ }
373
+
374
+ });
375
+
376
+ // Load Images
377
+ this.$items.each(function (index, el) {
378
+ instance.loadImage(index);
379
+ });
380
+
381
+
382
+ this.isIsotope = true;
383
+
384
+ }
385
+
386
+ Plugin.prototype.getSlot = function () {
387
+
388
+ if ( this.tiles.length == 0 ) {
389
+ var tile = {
390
+ top: 0,
391
+ left: 0,
392
+ width: this.$itemsCnt.width(),
393
+ height: this.options.height,
394
+ area: this.$itemsCnt.width() * this.options.height,
395
+ position: 0
396
+ };
397
+
398
+ return tile;
399
+ }
400
+
401
+ var maxTileIdx = 0;
402
+ for ( var i = 0; i < this.tiles.length; i++ ) {
403
+ var tile = this.tiles[i];
404
+ if ( tile.area > this.tiles[maxTileIdx].area ) {
405
+ maxTileIdx = i;
406
+ }
407
+ }
408
+
409
+ var tile = {};
410
+
411
+ var maxTileData = this.tiles[maxTileIdx];
412
+
413
+ if ( maxTileData.width > maxTileData.height ) {
414
+
415
+ var randomMaxDelta = maxTileData.width / 2 * this.options.randomFactor;
416
+
417
+
418
+ maxTileData.prevWidth = maxTileData.width;
419
+ maxTileData.width = Math.floor((maxTileData.width / 2) +
420
+ (randomMaxDelta * (Math.random() - .5)));
421
+
422
+ tile = {
423
+ top: maxTileData.top,
424
+ left: maxTileData.left + maxTileData.width + this.options.gutter,
425
+ width: maxTileData.prevWidth - maxTileData.width - this.options.gutter,
426
+ height: maxTileData.height
427
+ }
428
+
429
+ } else {
430
+ var randomMaxDelta = maxTileData.height / 2 * this.options.randomFactor;
431
+
432
+ maxTileData.prevHeight = maxTileData.height;
433
+ maxTileData.height = Math.floor((maxTileData.height / 2) +
434
+ (randomMaxDelta * (Math.random() - .5)));
435
+
436
+ tile = {
437
+ left: maxTileData.left,
438
+ top: maxTileData.top + maxTileData.height + this.options.gutter,
439
+ width: maxTileData.width,
440
+ height: maxTileData.prevHeight - maxTileData.height - this.options.gutter
441
+ }
442
+ }
443
+
444
+ tile.area = tile.width * tile.height;
445
+ tile.position = tile.top * 1000 + tile.left;
446
+
447
+ maxTileData.position = maxTileData.top * 1000 + maxTileData.left;
448
+
449
+ this.tiles[maxTileIdx] = maxTileData;
450
+ this.tiles[maxTileIdx].area = maxTileData.width * maxTileData.height;
451
+
452
+ return tile;
453
+ }
454
+
455
+ Plugin.prototype.reset = function () {
456
+ var instance = this;
457
+ instance.tiles = [];
458
+
459
+ if ( 'custom-grid' === this.options.type ) {
460
+ this.createCustomGallery();
461
+ } else if ( 'creative-gallery' == this.options.type ) {
462
+ this.createGrid();
463
+ }else if ( 'grid' == this.options.type ) {
464
+ if ( 'automatic' == this.options.grid_type ) {
465
+ this.createAutoGrid();
466
+ } else {
467
+ this.createColumnsGrid();
468
+ }
469
+ }
470
+
471
+ // instance.$itemsCnt.find('.pic').each(function (i, o) {
472
+ // instance.placeImage(i);
473
+ // });
474
+ instance.lastWidth = instance.$itemsCnt.width();
475
+ }
476
+
477
+ Plugin.prototype.onResize = function (instance) {
478
+ if ( instance.lastWidth == instance.$itemsCnt.width() )
479
+ return;
480
+
481
+ clearTimeout(instance.resizeTO);
482
+ instance.resizeTO = setTimeout(function () {
483
+
484
+ if ( instance.options.keepArea ) {
485
+ var area = instance.$itemsCnt.data('area');
486
+ instance.$itemsCnt.height(area / instance.$itemsCnt.width());
487
+ }
488
+
489
+ instance.reset();
490
+
491
+ }, 100);
492
+ }
493
+
494
+ Plugin.prototype.loadImage = function(index) {
495
+ var instance = this;
496
+ var source = instance.$items.eq(index).find('.pic');
497
+ var img = new Image();
498
+ img.onerror = function () {
499
+ console.log("error loading image [" + index + "] : " + this.src);
500
+ if (index + 1 < instance.$items.length)
501
+ instance.loadImage(index + 1);
502
+ }
503
+ img.onload = function () {
504
+ source.data('size', { width: this.width, height: this.height });
505
+ instance.placeImage(index);
506
+
507
+ instance.$items.eq(index).addClass("tg-loaded");
508
+ if (index + 1 < instance.$items.length)
509
+ instance.loadImage(index + 1);
510
+ }
511
+
512
+ var original_src = source.data('src');
513
+ img.src = original_src;
514
+ source.attr("src", original_src);
515
+
516
+ instance.placeImage( index );
517
+
518
+ }
519
+
520
+ Plugin.prototype.placeImage = function (index) {
521
+
522
+ if ( 'grid' == this.options.type ) { return; }
523
+
524
+ var $tile = this.$items.eq(index);
525
+ var $image = $tile.find('.pic');
526
+
527
+ var tSize = $tile.data('size');
528
+ var iSize = $image.data('size');
529
+
530
+ // if ( $image.parent() != $tile ) {
531
+ // tSize = {
532
+ // 'width': $image.parent().width(),
533
+ // 'height': $image.parent().height()
534
+ // };
535
+ // }
536
+
537
+ if ( typeof tSize == 'undefined' ) {
538
+ return;
539
+ }
540
+ if ( typeof iSize == 'undefined' ) {
541
+ return;
542
+ }
543
+
544
+ var tRatio = tSize.width / tSize.height;
545
+ var iRatio = iSize.width / iSize.height;
546
+
547
+
548
+
549
+ var valign = $image.data('valign') ? $image.data('valign') : 'middle';
550
+ var halign = $image.data('halign') ? $image.data('halign') : 'center';
551
+
552
+ var cssProps = {
553
+ top: 'auto',
554
+ bottom: 'auto',
555
+ left: 'auto',
556
+ right: 'auto',
557
+ width: 'auto',
558
+ height: 'auto',
559
+ margin: '0',
560
+ maxWidth: '999em'
561
+ };
562
+
563
+ if ( tRatio > iRatio ) {
564
+ cssProps.width = tSize.width;
565
+ cssProps.left = 0;
566
+
567
+ switch ( valign ) {
568
+ case 'top':
569
+ cssProps.top = 0;
570
+ break;
571
+ case 'middle':
572
+ cssProps.top = 0 - (tSize.width * (1 / iRatio) - tSize.height) / 2;
573
+ break;
574
+ case 'bottom':
575
+ cssProps.bottom = 0;
576
+ break;
577
+ }
578
+
579
+ } else {
580
+
581
+ cssProps.height = tSize.height;
582
+ cssProps.top = 0;
583
+
584
+ switch ( halign ) {
585
+ case 'left':
586
+ cssProps.left = 0;
587
+ break;
588
+ case 'center':
589
+ cssProps.left = 0 - (tSize.height * iRatio - tSize.width) / 2;
590
+ break;
591
+ case 'right':
592
+ cssProps.right = 0;
593
+ break;
594
+ }
595
+ }
596
+
597
+ $image.css(cssProps);
598
+ this.$items.eq(index).addClass("tg-loaded");
599
+ }
600
+
601
+ Plugin.prototype.setupSocial = function () {
602
+ if ( this.options.enableTwitter ) {
603
+ setupTwitter(this.$items, this);
604
+ }
605
+ if ( this.options.enableFacebook ) {
606
+ setupFacebook(this.$items, this);
607
+ }
608
+ if ( this.options.enablePinterest ) {
609
+ setupPinterest(this.$items, this);
610
+ }
611
+ if ( this.options.enableLinkedin ) {
612
+ setupLinkedIN(this.$items, this);
613
+ }
614
+ if ( this.options.enableWhatsapp ) {
615
+ setupWhatsapp(this.$items, this);
616
+ }
617
+ }
618
+
619
+ Plugin.prototype.destroy = function () {
620
+
621
+ if ( this.isPackeryActive ) {
622
+ this.$itemsCnt.packery('destroy');
623
+ this.isPackeryActive = false;
624
+ }
625
+
626
+ }
627
+
628
+ //credits James Padolsey http://james.padolsey.com/
629
+ var qualifyURL = function (url) {
630
+ var img = document.createElement('img');
631
+ img.src = url; // set string url
632
+ url = img.src; // get qualified url
633
+ img.src = null; // no server request
634
+ return url;
635
+ }
636
+
637
+ var setupTwitter = function ($tiles, plugin) {
638
+ $tiles.find(".modula-icon-twitter").click(function (e) {
639
+ e.preventDefault();
640
+
641
+ //var $caption = $(this).parents(".tile:first").find(".description");
642
+ var $caption = '';
643
+
644
+ var text = plugin.options.twitterText || document.title;
645
+ if ( !plugin.options.twitterText && $caption.length == 1 && $caption.text().length > 0 )
646
+ text = $.trim($caption.text());
647
+
648
+ var w = window.open("https://twitter.com/intent/tweet?url=" + encodeURI(location.href.split('#')[0]) + "&text=" + encodeURI(text), "ftgw", "location=1,status=1,scrollbars=1,width=600,height=400");
649
+ w.moveTo((screen.width / 2) - (300), (screen.height / 2) - (200));
650
+ return false;
651
+ });
652
+ }
653
+
654
+ var setupFacebook = function ($tiles, plugin) {
655
+ $tiles.find(".modula-icon-facebook").click(function (e) {
656
+ e.preventDefault();
657
+
658
+ var image = $(this).parents(".tile:first").find(".pic");
659
+
660
+ //var $caption = $(this).parents(".tile:first").find(".description");
661
+ var $caption = '';
662
+
663
+ var text = plugin.options.facebookText || document.title;
664
+ if ( !plugin.options.facebookText && $caption.length == 1 && $caption.text().length > 0 )
665
+ text = $.trim($caption.text());
666
+
667
+
668
+ var src = image.attr("src");
669
+ var url = "//www.facebook.com/sharer.php?u=" + location.href;
670
+
671
+ var w = window.open(url, "ftgw", "location=1,status=1,scrollbars=1,width=600,height=400");
672
+ w.moveTo((screen.width / 2) - (300), (screen.height / 2) - (200));
673
+ return false;
674
+ });
675
+ }
676
+
677
+ var setupWhatsapp = function ($tiles, plugin) {
678
+ $tiles.find(".modula-icon-whatsapp").click(function (e) {
679
+ e.preventDefault();
680
+
681
+ //var $caption = $(this).parents(".tile:first").find(".description");
682
+ var $caption = '';
683
+
684
+ var text = plugin.options.whatsappText || document.title;
685
+
686
+ if ( !plugin.options.whatsappText && $caption.length == 1 && $caption.text().length > 0 )
687
+ text = $.trim($caption.text());
688
+
689
+ var w = window.open("https://api.whatsapp.com/send?text=" + encodeURI((window.location.href.split("#")[0])) + '&preview_url=true', "ftgw", "location=1,status=1,scrollbars=1,width=600,height=400");
690
+ w.moveTo((screen.width / 2) - (300), (screen.height / 2) - (200));
691
+ return false;
692
+ });
693
+ }
694
+
695
+ var setupPinterest = function ($tiles, plugin) {
696
+ $tiles.find(".modula-icon-pinterest").click(function (e) {
697
+ e.preventDefault();
698
+
699
+ var image = $(this).parents(".tile:first").find(".pic");
700
+
701
+ //var $caption = $(this).parents(".tile:first").find(".description");
702
+ var $caption = '';
703
+
704
+ var text = plugin.options.pinterestText || document.title;
705
+ if ( !plugin.options.pinterestText && $caption.length == 1 && $caption.text().length > 0 )
706
+ text = $.trim($caption.text());
707
+
708
+ var url = "http://pinterest.com/pin/create/button/?url=" + encodeURI(location.href) + "&description=" + encodeURI(text);
709
+
710
+ if ( image.length == 1 ) {
711
+ var src = image.attr("src");
712
+ url += ("&media=" + qualifyURL(src));
713
+ }
714
+
715
+ var w = window.open(url, "ftgw", "location=1,status=1,scrollbars=1,width=600,height=400");
716
+ w.moveTo((screen.width / 2) - (300), (screen.height / 2) - (200));
717
+ return false;
718
+ });
719
+ }
720
+
721
+ var setupLinkedIN = function ($tiles, plugin) {
722
+ $tiles.find(".modula-icon-linkedin").click(function (e) {
723
+ e.preventDefault();
724
+
725
+ var url = "//linkedin.com/shareArticle?mini=true&url=" + +encodeURI(location.href);
726
+
727
+ var w = window.open(url, "ftgw", "location=1,status=1,scrollbars=1,width=600,height=400");
728
+ w.moveTo((screen.width / 2) - (300), (screen.height / 2) - (200));
729
+ return false;
730
+ });
731
+ }
732
+
733
+ $.fn[pluginName] = function (options) {
734
+ var args = arguments;
735
+
736
+ if ( options === undefined || typeof options === 'object' ) {
737
+ return this.each(function () {
738
+ if ( !$.data(this, 'plugin_' + pluginName) ) {
739
+ $.data(this, 'plugin_' + pluginName, new Plugin(this, options));
740
+ }
741
+ });
742
+
743
+ } else if ( typeof options === 'string' && options[0] !== '_' && options !== 'init' ) {
744
+
745
+ var returns;
746
+
747
+ this.each(function () {
748
+ var instance = $.data(this, 'plugin_' + pluginName);
749
+
750
+ // Tests that there's already a plugin-instance
751
+ // and checks that the requested public method exists
752
+ if ( instance instanceof Plugin && typeof instance[options] === 'function' ) {
753
+
754
+ // Call the method of our plugin instance,
755
+ // and pass it the supplied arguments.
756
+ returns = instance[options].apply(instance, Array.prototype.slice.call(args, 1));
757
+ }
758
+
759
+ // Allow instances to be destroyed via the 'destroy' method
760
+ if ( options === 'destroy' ) {
761
+ $.data(this, 'plugin_' + pluginName, null);
762
+ }
763
+ });
764
+
765
+ return returns !== undefined ? returns : this;
766
+ }
767
+ };
768
+
769
+ }(jQuery, window, document));
770
+
771
+ jQuery(window).load(function () {
772
+
773
+ var modulaGalleries = jQuery('.modula.modula-gallery');
774
+
775
+ jQuery.each(modulaGalleries, function () {
776
+
777
+ var modulaID = jQuery(this).attr('id'),
778
+ modulaSettings = jQuery(this).data('config');
779
+
780
+ jQuery('#' + modulaID).modulaGallery(modulaSettings);
781
+
782
+ });
783
+
784
+
785
+ });
786
+
787
+ function modulaInViewport(element) {
788
+
789
+ if ( typeof jQuery === "function" && element instanceof jQuery ) {
790
+ element = element[0];
791
+ }
792
+
793
+ var elementBounds = element.getBoundingClientRect();
794
+
795
+ return (
796
+ (elementBounds.top - jQuery(window).height() <= (-100) && elementBounds.top - jQuery(window).height() >= (-400)) || elementBounds.bottom <= jQuery(window).height()
797
+ );
798
+ }
assets/js/front/jquery-modula.min.js ADDED
@@ -0,0 +1 @@
 
1
+ function tg_getURLParameter(t){return decodeURIComponent((new RegExp("[?|&]"+t+"=([^&;]+?)(&|#|;|$)").exec(location.search)||[,""])[1].replace(/\+/g,"%20"))||null}function modulaInViewport(t){"function"==typeof jQuery&&t instanceof jQuery&&(t=t[0]);var e=t.getBoundingClientRect();return e.top-jQuery(window).height()<=-100&&-400<=e.top-jQuery(window).height()||e.bottom<=jQuery(window).height()}jQuery(document).on("vc-full-width-row-single vc-full-width-row",function(t,e){0<jQuery("body").find(".modula").length&&jQuery(window).trigger("modula-update")}),jQuery(window).on("elementor/frontend/init",function(){window.elementorFrontend&&window.elementorFrontend.hooks.addAction("frontend/element_ready/global",function(t){0<jQuery("body").find(".modula").length&&jQuery(window).trigger("modula-update")})}),function(c,s,a,t){var n="modulaGallery",i={resizer:"/",keepArea:!0,type:"creative-gallery",columns:12,gutter:10,enableTwitter:!1,enableFacebook:!1,enableGplus:!1,enablePinterest:!1,enableLinkedin:!1,lazyLoad:0,initLightbox:!1,lightbox:"fancybox",lightboxOpts:{},inView:!1};function h(t,e){this.element=t,this.$element=c(t),this.$itemsCnt=this.$element.find(".modula-items"),this.$items=this.$itemsCnt.find(".modula-item"),this.options=c.extend({},i,e),this._defaults=i,this._name=n,this.tiles=[],this.$tilesCnt=null,this.completed=!1,this.lastWidth=0,this.resizeTO=0,this.isIsotope=!1,this.init()}h.prototype.init=function(){var n=this;c(a).trigger("modula_api_before_init",[n]),"custom-grid"===this.options.type?this.createCustomGallery():"creative-gallery"==this.options.type?this.createGrid():"grid"==this.options.type&&("automatic"==this.options.grid_type?this.createAutoGrid():this.createColumnsGrid()),c(s).resize(function(){n.onResize(n)}),c(s).on("modula-update",function(){n.onResize(n)}),c(a).on("lazyloaded",function(t){var e,i,o=c(t.target);"modula"==o.data("source")&&(o.data("size",{width:o.width(),height:o.height()}),(e=o.parents(".modula-item")).addClass("tg-loaded"),i=n.$items.index(e),n.placeImage(i),n.isIsotope&&n.$itemsCnt.isotope("layout"))}),n.options.inView&&jQuery(s).on("DOMContentLoaded load resize scroll",function(){modulaInViewport(n.$element)&&n.$element.addClass("modula-loaded-scale")}),this.setupSocial(),this.options.onComplete&&this.options.onComplete(),"fancybox"!=n.options.lightbox||n.options.initLightbox||this.initLightbox(),c(a).trigger("modula_api_after_init",[n])},h.prototype.initLightbox=function(){var o=this;o.$element.on("click",".modula-item-link",function(t){t.preventDefault();var e=c.map(o.$items,function(t){var e=jQuery(t).find(".modula-item-link"),i=jQuery(t).find(".pic");return{src:e.attr("href"),opts:{caption:e.data("caption"),alt:i.attr("alt")}}}),i=o.$items.index(jQuery(this).parents(".modula-item"));jQuery.modulaFancybox.open(e,o.options.lightboxOpts,i)})},h.prototype.trunc=function(t){return Math.trunc?Math.trunc(t):(t=+t,isFinite(t)?t-t%1||(t<0?-0:0===t?t:0):t)},h.prototype.createCustomGallery=function(){var h,r=this,t=this.$element.width(),l=this,d=this.options.columns,e=a.documentElement.clientWidth;"1"==this.options.enableResponsive&&(e<=568?d=this.options.mobileColumns:e<=768&&(d=this.options.tabletColumns)),h=0<this.options.gutter?(t-this.options.gutter*(d-1))/d:Math.floor(t/d*1e3)/1e3,this.$items.not(".jtg-hidden").each(function(t,e){var i,o,n,s,a={};i=c(e).data("width"),o=c(e).data("height"),12<i&&(i=12),"1"==l.options.enableResponsive&&(n=i,s=o,1==d?o=(i=1)*s/n:((i=Math.round(d*n/12))<1&&(i=1),(o=Math.round(i*s/n))<1&&(o=1))),a.width=h*i+l.options.gutter*(i-1),a.height=Math.round(h)*o+l.options.gutter*(o-1),c(e).data("size",a).addClass("tiled").addClass(a.width>a.height?"tile-h":"tile-v").data("position"),c(e).css(c(e).data("size")),c(e).find(".figc").css({width:c(e).data("size").width,height:c(e).data("size").height}),"1"!=r.options.lazyLoad&&r.loadImage(t)});var i={itemSelector:".modula-item",layoutMode:"packery",packery:{gutter:parseInt(l.options.gutter)}};this.$itemsCnt.isotope(i),this.isIsotope=!0},h.prototype.createGrid=function(){var o=this;this.$itemsCnt.data("area",this.$itemsCnt.width()*this.options.height),this.lastWidth=this.$itemsCnt.width();for(var t=0;t<this.$items.not(".jtg-hidden").length;t++)this.tiles.push(o.getSlot());if(this.tiles.sort(function(t,e){return t.position-e.position}),this.$items.not(".jtg-hidden").each(function(t,e){var i=o.tiles[t];c(e).data("size",i).addClass("tiled").addClass(i.width>i.height?"tile-h":"tile-v").data("position"),c(e).css({width:i.width,height:i.height}),c(e).find(".figc").css({width:i.width,height:i.height}),"1"!=o.options.lazyLoad&&o.loadImage(t)}),!this.isIsotope){var e={resizesContainer:!1,itemSelector:".modula-item",layoutMode:"packery",packery:{gutter:parseInt(o.options.gutter)}};this.$itemsCnt.isotope(e),this.isIsotope=!0}},h.prototype.createAutoGrid=function(){this.$itemsCnt.justifiedGallery({rowHeight:this.options.rowHeight,margins:this.options.gutter,lastRow:this.options.lastRow,captions:!1,border:0,imgSelector:".pic",cssAnimation:!1,imagesAnimationDuration:700})},h.prototype.createColumnsGrid=function(){var i=this;this.$itemsCnt.isotope({itemSelector:".modula-item",layoutMode:"packery",packery:{gutter:parseInt(this.options.gutter)}}),this.$items.each(function(t,e){i.loadImage(t)}),this.isIsotope=!0},h.prototype.getSlot=function(){if(0==this.tiles.length)return i={top:0,left:0,width:this.$itemsCnt.width(),height:this.options.height,area:this.$itemsCnt.width()*this.options.height,position:0};for(var t=0,e=0;e<this.tiles.length;e++){(i=this.tiles[e]).area>this.tiles[t].area&&(t=e)}var i={},o=this.tiles[t];if(o.width>o.height){var n=o.width/2*this.options.randomFactor;o.prevWidth=o.width,o.width=Math.floor(o.width/2+n*(Math.random()-.5)),i={top:o.top,left:o.left+o.width+this.options.gutter,width:o.prevWidth-o.width-this.options.gutter,height:o.height}}else{n=o.height/2*this.options.randomFactor;o.prevHeight=o.height,o.height=Math.floor(o.height/2+n*(Math.random()-.5)),i={left:o.left,top:o.top+o.height+this.options.gutter,width:o.width,height:o.prevHeight-o.height-this.options.gutter}}return i.area=i.width*i.height,i.position=1e3*i.top+i.left,o.position=1e3*o.top+o.left,this.tiles[t]=o,this.tiles[t].area=o.width*o.height,i},h.prototype.reset=function(){this.tiles=[],"custom-grid"===this.options.type?this.createCustomGallery():"creative-gallery"==this.options.type?this.createGrid():"grid"==this.options.type&&("automatic"==this.options.grid_type?this.createAutoGrid():this.createColumnsGrid()),this.lastWidth=this.$itemsCnt.width()},h.prototype.onResize=function(e){e.lastWidth!=e.$itemsCnt.width()&&(clearTimeout(e.resizeTO),e.resizeTO=setTimeout(function(){if(e.options.keepArea){var t=e.$itemsCnt.data("area");e.$itemsCnt.height(t/e.$itemsCnt.width())}e.reset()},100))},h.prototype.loadImage=function(t){var e=this,i=e.$items.eq(t).find(".pic"),o=new Image;o.onerror=function(){console.log("error loading image ["+t+"] : "+this.src),t+1<e.$items.length&&e.loadImage(t+1)},o.onload=function(){i.data("size",{width:this.width,height:this.height}),e.placeImage(t),e.$items.eq(t).addClass("tg-loaded"),t+1<e.$items.length&&e.loadImage(t+1)};var n=i.data("src");o.src=n,i.attr("src",n),e.placeImage(t)},h.prototype.placeImage=function(t){if("grid"!=this.options.type){var e=this.$items.eq(t),i=e.find(".pic"),o=e.data("size"),n=i.data("size");if(void 0!==o&&void 0!==n){var s=o.width/o.height,a=n.width/n.height,h=i.data("valign")?i.data("valign"):"middle",r=i.data("halign")?i.data("halign"):"center",l={top:"auto",bottom:"auto",left:"auto",right:"auto",width:"auto",height:"auto",margin:"0",maxWidth:"999em"};if(a<s)switch(l.width=o.width,l.left=0,h){case"top":l.top=0;break;case"middle":l.top=0-(o.width*(1/a)-o.height)/2;break;case"bottom":l.bottom=0}else switch(l.height=o.height,l.top=0,r){case"left":l.left=0;break;case"center":l.left=0-(o.height*a-o.width)/2;break;case"right":l.right=0}i.css(l),this.$items.eq(t).addClass("tg-loaded")}}},h.prototype.setupSocial=function(){this.options.enableTwitter&&e(this.$items,this),this.options.enableFacebook&&o(this.$items,this),this.options.enablePinterest&&l(this.$items,this),this.options.enableLinkedin&&d(this.$items,this),this.options.enableWhatsapp&&r(this.$items,this)},h.prototype.destroy=function(){this.isPackeryActive&&(this.$itemsCnt.packery("destroy"),this.isPackeryActive=!1)};var e=function(t,i){t.find(".modula-icon-twitter").click(function(t){t.preventDefault();var e=i.options.twitterText||a.title;return!i.options.twitterText&&1=="".length&&0<"".text().length&&(e=c.trim("".text())),s.open("https://twitter.com/intent/tweet?url="+encodeURI(location.href.split("#")[0])+"&text="+encodeURI(e),"ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1})},o=function(t,o){t.find(".modula-icon-facebook").click(function(t){t.preventDefault();var e=c(this).parents(".tile:first").find(".pic");o.options.facebookText||a.title;!o.options.facebookText&&1=="".length&&0<"".text().length&&c.trim("".text());e.attr("src");var i="//www.facebook.com/sharer.php?u="+location.href;return s.open(i,"ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1})},r=function(t,e){t.find(".modula-icon-whatsapp").click(function(t){t.preventDefault();e.options.whatsappText||a.title;return!e.options.whatsappText&&1=="".length&&0<"".text().length&&c.trim("".text()),s.open("https://api.whatsapp.com/send?text="+encodeURI(s.location.href.split("#")[0])+"&preview_url=true","ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1})},l=function(t,n){t.find(".modula-icon-pinterest").click(function(t){t.preventDefault();var e=c(this).parents(".tile:first").find(".pic"),i=n.options.pinterestText||a.title;!n.options.pinterestText&&1=="".length&&0<"".text().length&&(i=c.trim("".text()));var o="http://pinterest.com/pin/create/button/?url="+encodeURI(location.href)+"&description="+encodeURI(i);1==e.length&&(o+="&media="+function(t){var e=a.createElement("img");return e.src=t,t=e.src,e.src=null,t}(e.attr("src")));return s.open(o,"ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1})},d=function(t,e){t.find(".modula-icon-linkedin").click(function(t){t.preventDefault();var e="//linkedin.com/shareArticle?mini=true&url="+ +encodeURI(location.href);return s.open(e,"ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1})};c.fn[n]=function(e){var i,o=arguments;return e===t||"object"==typeof e?this.each(function(){c.data(this,"plugin_"+n)||c.data(this,"plugin_"+n,new h(this,e))}):"string"==typeof e&&"_"!==e[0]&&"init"!==e?(this.each(function(){var t=c.data(this,"plugin_"+n);t instanceof h&&"function"==typeof t[e]&&(i=t[e].apply(t,Array.prototype.slice.call(o,1))),"destroy"===e&&c.data(this,"plugin_"+n,null)}),i!==t?i:this):void 0}}(jQuery,window,document),jQuery(window).load(function(){var t=jQuery(".modula.modula-gallery");jQuery.each(t,function(){var t=jQuery(this).attr("id"),e=jQuery(this).data("config");jQuery("#"+t).modulaGallery(e)})});
assets/js/front/justifiedGallery.js ADDED
@@ -0,0 +1,1202 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * justifiedGallery - v3.7.0
3
+ * http://miromannino.github.io/Justified-Gallery/
4
+ * Copyright (c) 2018 Miro Mannino
5
+ * Licensed under the MIT license.
6
+ */
7
+ (function (factory) {
8
+ if (typeof define === 'function' && define.amd) {
9
+ // AMD. Register as an anonymous module.
10
+ define(['jquery'], factory);
11
+ } else if (typeof module === 'object' && module.exports) {
12
+ // Node/CommonJS
13
+ module.exports = function( root, jQuery ) {
14
+ if ( jQuery === undefined ) {
15
+ // require('jQuery') returns a factory that requires window to
16
+ // build a jQuery instance, we normalize how we use modules
17
+ // that require this pattern but the window provided is a noop
18
+ // if it's defined (how jquery works)
19
+ if ( typeof window !== 'undefined' ) {
20
+ jQuery = require('jquery');
21
+ }
22
+ else {
23
+ jQuery = require('jquery')(root);
24
+ }
25
+ }
26
+ factory(jQuery);
27
+ return jQuery;
28
+ };
29
+ } else {
30
+ // Browser globals
31
+ factory(jQuery);
32
+ }
33
+ }(function ($) {
34
+
35
+ /**
36
+ * Justified Gallery controller constructor
37
+ *
38
+ * @param $gallery the gallery to build
39
+ * @param settings the settings (the defaults are in JustifiedGallery.defaults)
40
+ * @constructor
41
+ */
42
+ var JustifiedGallery = function ($gallery, settings) {
43
+
44
+ this.settings = settings;
45
+ this.checkSettings();
46
+
47
+ this.imgAnalyzerTimeout = null;
48
+ this.entries = null;
49
+ this.buildingRow = {
50
+ entriesBuff : [],
51
+ width : 0,
52
+ height : 0,
53
+ aspectRatio : 0
54
+ };
55
+ this.lastFetchedEntry = null;
56
+ this.lastAnalyzedIndex = -1;
57
+ this.yield = {
58
+ every : 2, // do a flush every n flushes (must be greater than 1)
59
+ flushed : 0 // flushed rows without a yield
60
+ };
61
+ this.border = settings.border >= 0 ? settings.border : settings.margins;
62
+ this.maxRowHeight = this.retrieveMaxRowHeight();
63
+ this.suffixRanges = this.retrieveSuffixRanges();
64
+ this.offY = this.border;
65
+ this.rows = 0;
66
+ this.spinner = {
67
+ phase : 0,
68
+ timeSlot : 150,
69
+ $el : $('<div class="spinner"><span></span><span></span><span></span></div>'),
70
+ intervalId : null
71
+ };
72
+ this.scrollBarOn = false;
73
+ this.checkWidthIntervalId = null;
74
+ this.galleryWidth = $gallery.width();
75
+ this.$gallery = $gallery;
76
+
77
+ };
78
+
79
+ /** @returns {String} the best suffix given the width and the height */
80
+ JustifiedGallery.prototype.getSuffix = function (width, height) {
81
+ var longestSide, i;
82
+ longestSide = (width > height) ? width : height;
83
+ for (i = 0; i < this.suffixRanges.length; i++) {
84
+ if (longestSide <= this.suffixRanges[i]) {
85
+ return this.settings.sizeRangeSuffixes[this.suffixRanges[i]];
86
+ }
87
+ }
88
+ return this.settings.sizeRangeSuffixes[this.suffixRanges[i - 1]];
89
+ };
90
+
91
+ /**
92
+ * Remove the suffix from the string
93
+ *
94
+ * @returns {string} a new string without the suffix
95
+ */
96
+ JustifiedGallery.prototype.removeSuffix = function (str, suffix) {
97
+ return str.substring(0, str.length - suffix.length);
98
+ };
99
+
100
+ /**
101
+ * @returns {boolean} a boolean to say if the suffix is contained in the str or not
102
+ */
103
+ JustifiedGallery.prototype.endsWith = function (str, suffix) {
104
+ return str.indexOf(suffix, str.length - suffix.length) !== -1;
105
+ };
106
+
107
+ /**
108
+ * Get the used suffix of a particular url
109
+ *
110
+ * @param str
111
+ * @returns {String} return the used suffix
112
+ */
113
+ JustifiedGallery.prototype.getUsedSuffix = function (str) {
114
+ for (var si in this.settings.sizeRangeSuffixes) {
115
+ if (this.settings.sizeRangeSuffixes.hasOwnProperty(si)) {
116
+ if (this.settings.sizeRangeSuffixes[si].length === 0) continue;
117
+ if (this.endsWith(str, this.settings.sizeRangeSuffixes[si])) return this.settings.sizeRangeSuffixes[si];
118
+ }
119
+ }
120
+ return '';
121
+ };
122
+
123
+ /**
124
+ * Given an image src, with the width and the height, returns the new image src with the
125
+ * best suffix to show the best quality thumbnail.
126
+ *
127
+ * @returns {String} the suffix to use
128
+ */
129
+ JustifiedGallery.prototype.newSrc = function (imageSrc, imgWidth, imgHeight, image) {
130
+ var newImageSrc;
131
+
132
+ if (this.settings.thumbnailPath) {
133
+ newImageSrc = this.settings.thumbnailPath(imageSrc, imgWidth, imgHeight, image);
134
+ } else {
135
+ var matchRes = imageSrc.match(this.settings.extension);
136
+ var ext = (matchRes !== null) ? matchRes[0] : '';
137
+ newImageSrc = imageSrc.replace(this.settings.extension, '');
138
+ newImageSrc = this.removeSuffix(newImageSrc, this.getUsedSuffix(newImageSrc));
139
+ newImageSrc += this.getSuffix(imgWidth, imgHeight) + ext;
140
+ }
141
+
142
+ return newImageSrc;
143
+ };
144
+
145
+ /**
146
+ * Shows the images that is in the given entry
147
+ *
148
+ * @param $entry the entry
149
+ * @param callback the callback that is called when the show animation is finished
150
+ */
151
+ JustifiedGallery.prototype.showImg = function ($entry, callback) {
152
+ if (this.settings.cssAnimation) {
153
+ $entry.addClass('entry-visible');
154
+ if (callback) callback();
155
+ } else {
156
+ $entry.stop().fadeTo(this.settings.imagesAnimationDuration, 1.0, callback);
157
+ $entry.find(this.settings.imgSelector).stop().fadeTo(this.settings.imagesAnimationDuration, 1.0, callback);
158
+ }
159
+ };
160
+
161
+ /**
162
+ * Extract the image src form the image, looking from the 'safe-src', and if it can't be found, from the
163
+ * 'src' attribute. It saves in the image data the 'jg.originalSrc' field, with the extracted src.
164
+ *
165
+ * @param $image the image to analyze
166
+ * @returns {String} the extracted src
167
+ */
168
+ JustifiedGallery.prototype.extractImgSrcFromImage = function ($image) {
169
+ var imageSrc = (typeof $image.data('safe-src') !== 'undefined') ? $image.data('safe-src') : $image.attr('src');
170
+ $image.data('jg.originalSrc', imageSrc);
171
+ return imageSrc;
172
+ };
173
+
174
+ /** @returns {jQuery} the image in the given entry */
175
+ JustifiedGallery.prototype.imgFromEntry = function ($entry) {
176
+ var $img = $entry.find(this.settings.imgSelector);
177
+ return $img.length === 0 ? null : $img;
178
+ };
179
+
180
+ /** @returns {jQuery} the caption in the given entry */
181
+ JustifiedGallery.prototype.captionFromEntry = function ($entry) {
182
+ var $caption = $entry.find('> .caption');
183
+ return $caption.length === 0 ? null : $caption;
184
+ };
185
+
186
+ /**
187
+ * Display the entry
188
+ *
189
+ * @param {jQuery} $entry the entry to display
190
+ * @param {int} x the x position where the entry must be positioned
191
+ * @param y the y position where the entry must be positioned
192
+ * @param imgWidth the image width
193
+ * @param imgHeight the image height
194
+ * @param rowHeight the row height of the row that owns the entry
195
+ */
196
+ JustifiedGallery.prototype.displayEntry = function ($entry, x, y, imgWidth, imgHeight, rowHeight) {
197
+ $entry.width(imgWidth);
198
+ $entry.height(rowHeight);
199
+ $entry.css('top', y);
200
+ $entry.css('left', x);
201
+
202
+ var $image = this.imgFromEntry($entry);
203
+ if ($image !== null) {
204
+ $image.css('width', imgWidth);
205
+ $image.css('height', imgHeight);
206
+ $image.css('margin-left', - imgWidth / 2);
207
+ $image.css('margin-top', - imgHeight / 2);
208
+
209
+ // Image reloading for an high quality of thumbnails
210
+ var imageSrc = $image.attr('src');
211
+ var newImageSrc = this.newSrc(imageSrc, imgWidth, imgHeight, $image[0]);
212
+
213
+ $image.one('error', function () {
214
+ $image.attr('src', $image.data('jg.originalSrc')); //revert to the original thumbnail, we got it.
215
+ });
216
+
217
+ var loadNewImage = function () {
218
+ if (imageSrc !== newImageSrc) { //load the new image after the fadeIn
219
+ $image.attr('src', newImageSrc);
220
+ }
221
+ };
222
+
223
+ if ($entry.data('jg.loaded') === 'skipped') {
224
+ this.onImageEvent(imageSrc, $.proxy(function() {
225
+ this.showImg($entry, loadNewImage);
226
+ $entry.data('jg.loaded', true);
227
+ }, this));
228
+ } else {
229
+ this.showImg($entry, loadNewImage);
230
+ }
231
+
232
+ } else {
233
+ this.showImg($entry);
234
+ }
235
+
236
+ this.displayEntryCaption($entry);
237
+ };
238
+
239
+ /**
240
+ * Display the entry caption. If the caption element doesn't exists, it creates the caption using the 'alt'
241
+ * or the 'title' attributes.
242
+ *
243
+ * @param {jQuery} $entry the entry to process
244
+ */
245
+ JustifiedGallery.prototype.displayEntryCaption = function ($entry) {
246
+ var $image = this.imgFromEntry($entry);
247
+ if ($image !== null && this.settings.captions) {
248
+ var $imgCaption = this.captionFromEntry($entry);
249
+
250
+ // Create it if it doesn't exists
251
+ if ($imgCaption === null) {
252
+ var caption = $image.attr('alt');
253
+ if (!this.isValidCaption(caption)) caption = $entry.attr('title');
254
+ if (this.isValidCaption(caption)) { // Create only we found something
255
+ $imgCaption = $('<div class="caption">' + caption + '</div>');
256
+ $entry.append($imgCaption);
257
+ $entry.data('jg.createdCaption', true);
258
+ }
259
+ }
260
+
261
+ // Create events (we check again the $imgCaption because it can be still inexistent)
262
+ if ($imgCaption !== null) {
263
+ if (!this.settings.cssAnimation) $imgCaption.stop().fadeTo(0, this.settings.captionSettings.nonVisibleOpacity);
264
+ this.addCaptionEventsHandlers($entry);
265
+ }
266
+ } else {
267
+ this.removeCaptionEventsHandlers($entry);
268
+ }
269
+ };
270
+
271
+ /**
272
+ * Validates the caption
273
+ *
274
+ * @param caption The caption that should be validated
275
+ * @return {boolean} Validation result
276
+ */
277
+ JustifiedGallery.prototype.isValidCaption = function (caption) {
278
+ return (typeof caption !== 'undefined' && caption.length > 0);
279
+ };
280
+
281
+ /**
282
+ * The callback for the event 'mouseenter'. It assumes that the event currentTarget is an entry.
283
+ * It shows the caption using jQuery (or using CSS if it is configured so)
284
+ *
285
+ * @param {Event} eventObject the event object
286
+ */
287
+ JustifiedGallery.prototype.onEntryMouseEnterForCaption = function (eventObject) {
288
+ var $caption = this.captionFromEntry($(eventObject.currentTarget));
289
+ if (this.settings.cssAnimation) {
290
+ $caption.addClass('caption-visible').removeClass('caption-hidden');
291
+ } else {
292
+ $caption.stop().fadeTo(this.settings.captionSettings.animationDuration,
293
+ this.settings.captionSettings.visibleOpacity);
294
+ }
295
+ };
296
+
297
+ /**
298
+ * The callback for the event 'mouseleave'. It assumes that the event currentTarget is an entry.
299
+ * It hides the caption using jQuery (or using CSS if it is configured so)
300
+ *
301
+ * @param {Event} eventObject the event object
302
+ */
303
+ JustifiedGallery.prototype.onEntryMouseLeaveForCaption = function (eventObject) {
304
+ var $caption = this.captionFromEntry($(eventObject.currentTarget));
305
+ if (this.settings.cssAnimation) {
306
+ $caption.removeClass('caption-visible').removeClass('caption-hidden');
307
+ } else {
308
+ $caption.stop().fadeTo(this.settings.captionSettings.animationDuration,
309
+ this.settings.captionSettings.nonVisibleOpacity);
310
+ }
311
+ };
312
+
313
+ /**
314
+ * Add the handlers of the entry for the caption
315
+ *
316
+ * @param $entry the entry to modify
317
+ */
318
+ JustifiedGallery.prototype.addCaptionEventsHandlers = function ($entry) {
319
+ var captionMouseEvents = $entry.data('jg.captionMouseEvents');
320
+ if (typeof captionMouseEvents === 'undefined') {
321
+ captionMouseEvents = {
322
+ mouseenter: $.proxy(this.onEntryMouseEnterForCaption, this),
323
+ mouseleave: $.proxy(this.onEntryMouseLeaveForCaption, this)
324
+ };
325
+ $entry.on('mouseenter', undefined, undefined, captionMouseEvents.mouseenter);
326
+ $entry.on('mouseleave', undefined, undefined, captionMouseEvents.mouseleave);
327
+ $entry.data('jg.captionMouseEvents', captionMouseEvents);
328
+ }
329
+ };
330
+
331
+ /**
332
+ * Remove the handlers of the entry for the caption
333
+ *
334
+ * @param $entry the entry to modify
335
+ */
336
+ JustifiedGallery.prototype.removeCaptionEventsHandlers = function ($entry) {
337
+ var captionMouseEvents = $entry.data('jg.captionMouseEvents');
338
+ if (typeof captionMouseEvents !== 'undefined') {
339
+ $entry.off('mouseenter', undefined, captionMouseEvents.mouseenter);
340
+ $entry.off('mouseleave', undefined, captionMouseEvents.mouseleave);
341
+ $entry.removeData('jg.captionMouseEvents');
342
+ }
343
+ };
344
+
345
+ /**
346
+ * Clear the building row data to be used for a new row
347
+ */
348
+ JustifiedGallery.prototype.clearBuildingRow = function () {
349
+ this.buildingRow.entriesBuff = [];
350
+ this.buildingRow.aspectRatio = 0;
351
+ this.buildingRow.width = 0;
352
+ };
353
+
354
+ /**
355
+ * Justify the building row, preparing it to
356
+ *
357
+ * @param isLastRow
358
+ * @returns a boolean to know if the row has been justified or not
359
+ */
360
+ JustifiedGallery.prototype.prepareBuildingRow = function (isLastRow) {
361
+ var i, $entry, imgAspectRatio, newImgW, newImgH, justify = true;
362
+ var minHeight = 0;
363
+ var availableWidth = this.galleryWidth - 2 * this.border - (
364
+ (this.buildingRow.entriesBuff.length - 1) * this.settings.margins);
365
+ var rowHeight = availableWidth / this.buildingRow.aspectRatio;
366
+ var defaultRowHeight = this.settings.rowHeight;
367
+ var justifiable = this.buildingRow.width / availableWidth > this.settings.justifyThreshold;
368
+
369
+ //Skip the last row if we can't justify it and the lastRow == 'hide'
370
+ if (isLastRow && this.settings.lastRow === 'hide' && !justifiable) {
371
+ for (i = 0; i < this.buildingRow.entriesBuff.length; i++) {
372
+ $entry = this.buildingRow.entriesBuff[i];
373
+ if (this.settings.cssAnimation)
374
+ $entry.removeClass('entry-visible');
375
+ else {
376
+ $entry.stop().fadeTo(0, 0.1);
377
+ $entry.find('> img, > a > img').fadeTo(0, 0);
378
+ }
379
+ }
380
+ return -1;
381
+ }
382
+
383
+ // With lastRow = nojustify, justify if is justificable (the images will not become too big)
384
+ if (isLastRow && !justifiable && this.settings.lastRow !== 'justify' && this.settings.lastRow !== 'hide') {
385
+ justify = false;
386
+
387
+ if (this.rows > 0) {
388
+ defaultRowHeight = (this.offY - this.border - this.settings.margins * this.rows) / this.rows;
389
+ justify = defaultRowHeight * this.buildingRow.aspectRatio / availableWidth > this.settings.justifyThreshold;
390
+ }
391
+ }
392
+
393
+ for (i = 0; i < this.buildingRow.entriesBuff.length; i++) {
394
+ $entry = this.buildingRow.entriesBuff[i];
395
+ imgAspectRatio = $entry.data('jg.width') / $entry.data('jg.height');
396
+
397
+ if (justify) {
398
+ newImgW = (i === this.buildingRow.entriesBuff.length - 1) ? availableWidth : rowHeight * imgAspectRatio;
399
+ newImgH = rowHeight;
400
+ } else {
401
+ newImgW = defaultRowHeight * imgAspectRatio;
402
+ newImgH = defaultRowHeight;
403
+ }
404
+
405
+ availableWidth -= Math.round(newImgW);
406
+ $entry.data('jg.jwidth', Math.round(newImgW));
407
+ $entry.data('jg.jheight', Math.ceil(newImgH));
408
+ if (i === 0 || minHeight > newImgH) minHeight = newImgH;
409
+ }
410
+
411
+ this.buildingRow.height = minHeight;
412
+ return justify;
413
+ };
414
+
415
+ /**
416
+ * Flush a row: justify it, modify the gallery height accordingly to the row height
417
+ *
418
+ * @param isLastRow
419
+ */
420
+ JustifiedGallery.prototype.flushRow = function (isLastRow) {
421
+ var settings = this.settings;
422
+ var $entry, buildingRowRes, offX = this.border, i;
423
+
424
+ buildingRowRes = this.prepareBuildingRow(isLastRow);
425
+ if (isLastRow && settings.lastRow === 'hide' && buildingRowRes === -1) {
426
+ this.clearBuildingRow();
427
+ return;
428
+ }
429
+
430
+ if(this.maxRowHeight) {
431
+ if(this.maxRowHeight < this.buildingRow.height) this.buildingRow.height = this.maxRowHeight;
432
+ }
433
+
434
+ //Align last (unjustified) row
435
+ if (isLastRow && (settings.lastRow === 'center' || settings.lastRow === 'right')) {
436
+ var availableWidth = this.galleryWidth - 2 * this.border - (this.buildingRow.entriesBuff.length - 1) * settings.margins;
437
+
438
+ for (i = 0; i < this.buildingRow.entriesBuff.length; i++) {
439
+ $entry = this.buildingRow.entriesBuff[i];
440
+ availableWidth -= $entry.data('jg.jwidth');
441
+ }
442
+
443
+ if (settings.lastRow === 'center')
444
+ offX += availableWidth / 2;
445
+ else if (settings.lastRow === 'right')
446
+ offX += availableWidth;
447
+ }
448
+
449
+ var lastEntryIdx = this.buildingRow.entriesBuff.length - 1;
450
+ for (i = 0; i <= lastEntryIdx; i++) {
451
+ $entry = this.buildingRow.entriesBuff[ this.settings.rtl ? lastEntryIdx - i : i ];
452
+ this.displayEntry($entry, offX, this.offY, $entry.data('jg.jwidth'), $entry.data('jg.jheight'), this.buildingRow.height);
453
+ offX += $entry.data('jg.jwidth') + settings.margins;
454
+ }
455
+
456
+ //Gallery Height
457
+ this.galleryHeightToSet = this.offY + this.buildingRow.height + this.border;
458
+ this.setGalleryTempHeight(this.galleryHeightToSet + this.getSpinnerHeight());
459
+
460
+ if (!isLastRow || (this.buildingRow.height <= settings.rowHeight && buildingRowRes)) {
461
+ //Ready for a new row
462
+ this.offY += this.buildingRow.height + settings.margins;
463
+ this.rows += 1;
464
+ this.clearBuildingRow();
465
+ this.settings.triggerEvent.call(this, 'jg.rowflush');
466
+ }
467
+ };
468
+
469
+
470
+ // Scroll position not restoring: https://github.com/miromannino/Justified-Gallery/issues/221
471
+ var galleryPrevStaticHeight = 0;
472
+
473
+ JustifiedGallery.prototype.rememberGalleryHeight = function () {
474
+ galleryPrevStaticHeight = this.$gallery.height();
475
+ this.$gallery.height(galleryPrevStaticHeight);
476
+ };
477
+
478
+ // grow only
479
+ JustifiedGallery.prototype.setGalleryTempHeight = function (height) {
480
+ galleryPrevStaticHeight = Math.max(height, galleryPrevStaticHeight);
481
+ this.$gallery.height(galleryPrevStaticHeight);
482
+ };
483
+
484
+ JustifiedGallery.prototype.setGalleryFinalHeight = function (height) {
485
+ galleryPrevStaticHeight = height;
486
+ this.$gallery.height(height);
487
+ };
488
+
489
+ /**
490
+ * @returns {boolean} a boolean saying if the scrollbar is active or not
491
+ */
492
+ function hasScrollBar() {
493
+ return $("body").height() > $(window).height();
494
+ }
495
+
496
+ /**
497
+ * Checks the width of the gallery container, to know if a new justification is needed
498
+ */
499
+ JustifiedGallery.prototype.checkWidth = function () {
500
+ this.checkWidthIntervalId = setInterval($.proxy(function () {
501
+
502
+ // if the gallery is not currently visible, abort.
503
+ if (!this.$gallery.is(":visible")) return;
504
+
505
+ var galleryWidth = parseFloat(this.$gallery.width());
506
+ if (hasScrollBar() === this.scrollBarOn) {
507
+ if (Math.abs(galleryWidth - this.galleryWidth) > this.settings.refreshSensitivity) {
508
+ this.galleryWidth = galleryWidth;
509
+ this.rewind();
510
+
511
+ this.rememberGalleryHeight();
512
+
513
+ // Restart to analyze
514
+ this.startImgAnalyzer(true);
515
+ }
516
+ } else {
517
+ this.scrollBarOn = hasScrollBar();
518
+ this.galleryWidth = galleryWidth;
519
+ }
520
+ }, this), this.settings.refreshTime);
521
+ };
522
+
523
+ /**
524
+ * @returns {boolean} a boolean saying if the spinner is active or not
525
+ */
526
+ JustifiedGallery.prototype.isSpinnerActive = function () {
527
+ return this.spinner.intervalId !== null;
528
+ };
529
+
530
+ /**
531
+ * @returns {int} the spinner height
532
+ */
533
+ JustifiedGallery.prototype.getSpinnerHeight = function () {
534
+ return this.spinner.$el.innerHeight();
535
+ };
536
+
537
+ /**
538
+ * Stops the spinner animation and modify the gallery height to exclude the spinner
539
+ */
540
+ JustifiedGallery.prototype.stopLoadingSpinnerAnimation = function () {
541
+ clearInterval(this.spinner.intervalId);
542
+ this.spinner.intervalId = null;
543
+ this.setGalleryTempHeight(this.$gallery.height() - this.getSpinnerHeight());
544
+ this.spinner.$el.detach();
545
+ };
546
+
547
+ /**
548
+ * Starts the spinner animation
549
+ */
550
+ JustifiedGallery.prototype.startLoadingSpinnerAnimation = function () {
551
+ var spinnerContext = this.spinner;
552
+ var $spinnerPoints = spinnerContext.$el.find('span');
553
+ clearInterval(spinnerContext.intervalId);
554
+ this.$gallery.append(spinnerContext.$el);
555
+ this.setGalleryTempHeight(this.offY + this.buildingRow.height + this.getSpinnerHeight());
556
+ spinnerContext.intervalId = setInterval(function () {
557
+ if (spinnerContext.phase < $spinnerPoints.length) {
558
+ $spinnerPoints.eq(spinnerContext.phase).fadeTo(spinnerContext.timeSlot, 1);
559
+ } else {
560
+ $spinnerPoints.eq(spinnerContext.phase - $spinnerPoints.length).fadeTo(spinnerContext.timeSlot, 0);
561
+ }
562
+ spinnerContext.phase = (spinnerContext.phase + 1) % ($spinnerPoints.length * 2);
563
+ }, spinnerContext.timeSlot);
564
+ };
565
+
566
+ /**
567
+ * Rewind the image analysis to start from the first entry.
568
+ */
569
+ JustifiedGallery.prototype.rewind = function () {
570
+ this.lastFetchedEntry = null;
571
+ this.lastAnalyzedIndex = -1;
572
+ this.offY = this.border;
573
+ this.rows = 0;
574
+ this.clearBuildingRow();
575
+ };
576
+
577
+ /**
578
+ * Update the entries searching it from the justified gallery HTML element
579
+ *
580
+ * @param norewind if norewind only the new entries will be changed (i.e. randomized, sorted or filtered)
581
+ * @returns {boolean} true if some entries has been founded
582
+ */
583
+ JustifiedGallery.prototype.updateEntries = function (norewind) {
584
+ var newEntries;
585
+
586
+ if (norewind && this.lastFetchedEntry != null) {
587
+ newEntries = $(this.lastFetchedEntry).nextAll(this.settings.selector).toArray();
588
+ } else {
589
+ this.entries = [];
590
+ newEntries = this.$gallery.children(this.settings.selector).toArray();
591
+ }
592
+
593
+ if (newEntries.length > 0) {
594
+
595
+ // Sort or randomize
596
+ if ($.isFunction(this.settings.sort)) {
597
+ newEntries = this.sortArray(newEntries);
598
+ } else if (this.settings.randomize) {
599
+ newEntries = this.shuffleArray(newEntries);
600
+ }
601
+ this.lastFetchedEntry = newEntries[newEntries.length - 1];
602
+
603
+ // Filter
604
+ if (this.settings.filter) {
605
+ newEntries = this.filterArray(newEntries);
606
+ } else {
607
+ this.resetFilters(newEntries);
608
+ }
609
+
610
+ }
611
+
612
+ this.entries = this.entries.concat(newEntries);
613
+ return true;
614
+ };
615
+
616
+ /**
617
+ * Apply the entries order to the DOM, iterating the entries and appending the images
618
+ *
619
+ * @param entries the entries that has been modified and that must be re-ordered in the DOM
620
+ */
621
+ JustifiedGallery.prototype.insertToGallery = function (entries) {
622
+ var that = this;
623
+ $.each(entries, function () {
624
+ $(this).appendTo(that.$gallery);
625
+ });
626
+ };
627
+
628
+ /**
629
+ * Shuffle the array using the Fisher-Yates shuffle algorithm
630
+ *
631
+ * @param a the array to shuffle
632
+ * @return the shuffled array
633
+ */
634
+ JustifiedGallery.prototype.shuffleArray = function (a) {
635
+ var i, j, temp;
636
+ for (i = a.length - 1; i > 0; i--) {
637
+ j = Math.floor(Math.random() * (i + 1));
638
+ temp = a[i];
639
+ a[i] = a[j];
640
+ a[j] = temp;
641
+ }
642
+ this.insertToGallery(a);
643
+ return a;
644
+ };
645
+
646
+ /**
647
+ * Sort the array using settings.comparator as comparator
648
+ *
649
+ * @param a the array to sort (it is sorted)
650
+ * @return the sorted array
651
+ */
652
+ JustifiedGallery.prototype.sortArray = function (a) {
653
+ a.sort(this.settings.sort);
654
+ this.insertToGallery(a);
655
+ return a;
656
+ };
657
+
658
+ /**
659
+ * Reset the filters removing the 'jg-filtered' class from all the entries
660
+ *
661
+ * @param a the array to reset
662
+ */
663
+ JustifiedGallery.prototype.resetFilters = function (a) {
664
+ for (var i = 0; i < a.length; i++) $(a[i]).removeClass('jg-filtered');
665
+ };
666
+
667
+ /**
668
+ * Filter the entries considering theirs classes (if a string has been passed) or using a function for filtering.
669
+ *
670
+ * @param a the array to filter
671
+ * @return the filtered array
672
+ */
673
+ JustifiedGallery.prototype.filterArray = function (a) {
674
+ var settings = this.settings;
675
+ if ($.type(settings.filter) === 'string') {
676
+ // Filter only keeping the entries passed in the string
677
+ return a.filter(function (el) {
678
+ var $el = $(el);
679
+ if ($el.is(settings.filter)) {
680
+ $el.removeClass('jg-filtered');
681
+ return true;
682
+ } else {
683
+ $el.addClass('jg-filtered').removeClass('jg-visible');
684
+ return false;
685
+ }
686
+ });
687
+ } else if ($.isFunction(settings.filter)) {
688
+ // Filter using the passed function
689
+ var filteredArr = a.filter(settings.filter);
690
+ for (var i = 0; i < a.length; i++) {
691
+ if (filteredArr.indexOf(a[i]) === -1) {
692
+ $(a[i]).addClass('jg-filtered').removeClass('jg-visible');
693
+ } else {
694
+ $(a[i]).removeClass('jg-filtered');
695
+ }
696
+ }
697
+ return filteredArr;
698
+ }
699
+ };
700
+
701
+ /**
702
+ * Destroy the Justified Gallery instance.
703
+ *
704
+ * It clears all the css properties added in the style attributes. We doesn't backup the original
705
+ * values for those css attributes, because it costs (performance) and because in general one
706
+ * shouldn't use the style attribute for an uniform set of images (where we suppose the use of
707
+ * classes). Creating a backup is also difficult because JG could be called multiple times and
708
+ * with different style attributes.
709
+ */
710
+ JustifiedGallery.prototype.destroy = function () {
711
+ clearInterval(this.checkWidthIntervalId);
712
+
713
+ $.each(this.entries, $.proxy(function(_, entry) {
714
+ var $entry = $(entry);
715
+
716
+ // Reset entry style
717
+ $entry.css('width', '');
718
+ $entry.css('height', '');
719
+ $entry.css('top', '');
720
+ $entry.css('left', '');
721
+ $entry.data('jg.loaded', undefined);
722
+ $entry.removeClass('jg-entry');
723
+
724
+ // Reset image style
725
+ var $img = this.imgFromEntry($entry);
726
+ $img.css('width', '');
727
+ $img.css('height', '');
728
+ $img.css('margin-left', '');
729
+ $img.css('margin-top', '');
730
+ $img.attr('src', $img.data('jg.originalSrc'));
731
+ $img.data('jg.originalSrc', undefined);
732
+
733
+ // Remove caption
734
+ this.removeCaptionEventsHandlers($entry);
735
+ var $caption = this.captionFromEntry($entry);
736
+ if ($entry.data('jg.createdCaption')) {
737
+ // remove also the caption element (if created by jg)
738
+ $entry.data('jg.createdCaption', undefined);
739
+ if ($caption !== null) $caption.remove();
740
+ } else {
741
+ if ($caption !== null) $caption.fadeTo(0, 1);
742
+ }
743
+
744
+ }, this));
745
+
746
+ this.$gallery.css('height', '');
747
+ this.$gallery.removeClass('justified-gallery');
748
+ this.$gallery.data('jg.controller', undefined);
749
+ };
750
+
751
+ /**
752
+ * Analyze the images and builds the rows. It returns if it found an image that is not loaded.
753
+ *
754
+ * @param isForResize if the image analyzer is called for resizing or not, to call a different callback at the end
755
+ */
756
+ JustifiedGallery.prototype.analyzeImages = function (isForResize) {
757
+ for (var i = this.lastAnalyzedIndex + 1; i < this.entries.length; i++) {
758
+ var $entry = $(this.entries[i]);
759
+ if ($entry.data('jg.loaded') === true || $entry.data('jg.loaded') === 'skipped') {
760
+ var availableWidth = this.galleryWidth - 2 * this.border - (
761
+ (this.buildingRow.entriesBuff.length - 1) * this.settings.margins);
762
+ var imgAspectRatio = $entry.data('jg.width') / $entry.data('jg.height');
763
+ if (availableWidth / (this.buildingRow.aspectRatio + imgAspectRatio) < this.settings.rowHeight) {
764
+ this.flushRow(false);
765
+
766
+ if(++this.yield.flushed >= this.yield.every) {
767
+ this.startImgAnalyzer(isForResize);
768
+ return;
769
+ }
770
+ }
771
+
772
+ this.buildingRow.entriesBuff.push($entry);
773
+ this.buildingRow.aspectRatio += imgAspectRatio;
774
+ this.buildingRow.width += imgAspectRatio * this.settings.rowHeight;
775
+ this.lastAnalyzedIndex = i;
776
+
777
+ } else if ($entry.data('jg.loaded') !== 'error') {
778
+ return;
779
+ }
780
+ }
781
+
782
+ // Last row flush (the row is not full)
783
+ if (this.buildingRow.entriesBuff.length > 0) this.flushRow(true);
784
+
785
+ if (this.isSpinnerActive()) {
786
+ this.stopLoadingSpinnerAnimation();
787
+ }
788
+
789
+ /* Stop, if there is, the timeout to start the analyzeImages.
790
+ This is because an image can be set loaded, and the timeout can be set,
791
+ but this image can be analyzed yet.
792
+ */
793
+ this.stopImgAnalyzerStarter();
794
+
795
+ //On complete callback
796
+ this.settings.triggerEvent.call(this, isForResize ? 'jg.resize' : 'jg.complete');
797
+ this.setGalleryFinalHeight(this.galleryHeightToSet);
798
+ };
799
+
800
+ /**
801
+ * Stops any ImgAnalyzer starter (that has an assigned timeout)
802
+ */
803
+ JustifiedGallery.prototype.stopImgAnalyzerStarter = function () {
804
+ this.yield.flushed = 0;
805
+ if (this.imgAnalyzerTimeout !== null) {
806
+ clearTimeout(this.imgAnalyzerTimeout);
807
+ this.imgAnalyzerTimeout = null;
808
+ }
809
+ };
810
+
811
+ /**
812
+ * Starts the image analyzer. It is not immediately called to let the browser to update the view
813
+ *
814
+ * @param isForResize specifies if the image analyzer must be called for resizing or not
815
+ */
816
+ JustifiedGallery.prototype.startImgAnalyzer = function (isForResize) {
817
+ var that = this;
818
+ this.stopImgAnalyzerStarter();
819
+ this.imgAnalyzerTimeout = setTimeout(function () {
820
+ that.analyzeImages(isForResize);
821
+ }, 0.001); // we can't start it immediately due to a IE different behaviour
822
+ };
823
+
824
+ /**
825
+ * Checks if the image is loaded or not using another image object. We cannot use the 'complete' image property,
826
+ * because some browsers, with a 404 set complete = true.
827
+ *
828
+ * @param imageSrc the image src to load
829
+ * @param onLoad callback that is called when the image has been loaded
830
+ * @param onError callback that is called in case of an error
831
+ */
832
+ JustifiedGallery.prototype.onImageEvent = function (imageSrc, onLoad, onError) {
833
+ if (!onLoad && !onError) return;
834
+
835
+ var memImage = new Image();
836
+ var $memImage = $(memImage);
837
+ if (onLoad) {
838
+ $memImage.one('load', function () {
839
+ $memImage.off('load error');
840
+ onLoad(memImage);
841
+ });
842
+ }
843
+ if (onError) {
844
+ $memImage.one('error', function() {
845
+ $memImage.off('load error');
846
+ onError(memImage);
847
+ });
848
+ }
849
+ memImage.src = imageSrc;
850
+ };
851
+
852
+ /**
853
+ * Init of Justified Gallery controlled
854
+ * It analyzes all the entries starting theirs loading and calling the image analyzer (that works with loaded images)
855
+ */
856
+ JustifiedGallery.prototype.init = function () {
857
+ var imagesToLoad = false, skippedImages = false, that = this;
858
+ $.each(this.entries, function (index, entry) {
859
+ var $entry = $(entry);
860
+ var $image = that.imgFromEntry($entry);
861
+
862
+ $entry.addClass('jg-entry');
863
+
864
+ if ($entry.data('jg.loaded') !== true && $entry.data('jg.loaded') !== 'skipped') {
865
+
866
+ // Link Rel global overwrite
867
+ if (that.settings.rel !== null) $entry.attr('rel', that.settings.rel);
868
+
869
+ // Link Target global overwrite
870
+ if (that.settings.target !== null) $entry.attr('target', that.settings.target);
871
+
872
+ if ($image !== null) {
873
+
874
+ // Image src
875
+ var imageSrc = that.extractImgSrcFromImage($image);
876
+ $image.attr('src', imageSrc);
877
+
878
+ /* If we have the height and the width, we don't wait that the image is loaded, but we start directly
879
+ * with the justification */
880
+ if (that.settings.waitThumbnailsLoad === false) {
881
+ var width = parseFloat($image.prop('width'));
882
+ var height = parseFloat($image.prop('height'));
883
+ if (!isNaN(width) && !isNaN(height)) {
884
+ $entry.data('jg.width', width);
885
+ $entry.data('jg.height', height);
886
+ $entry.data('jg.loaded', 'skipped');
887
+ skippedImages = true;
888
+ that.startImgAnalyzer(false);
889
+ return true; // continue
890
+ }
891
+ }
892
+
893
+ $entry.data('jg.loaded', false);
894
+ imagesToLoad = true;
895
+
896
+ // Spinner start
897
+ if (!that.isSpinnerActive()) that.startLoadingSpinnerAnimation();
898
+
899
+ that.onImageEvent(imageSrc, function (loadImg) { // image loaded
900
+ $entry.data('jg.width', loadImg.width);
901
+ $entry.data('jg.height', loadImg.height);
902
+ $entry.data('jg.loaded', true);
903
+ that.startImgAnalyzer(false);
904
+ }, function () { // image load error
905
+ $entry.data('jg.loaded', 'error');
906
+ that.startImgAnalyzer(false);
907
+ });
908
+
909
+ } else {
910
+ $entry.data('jg.loaded', true);
911
+ $entry.data('jg.width', $entry.width() | parseFloat($entry.css('width')) | 1);
912
+ $entry.data('jg.height', $entry.height() | parseFloat($entry.css('height')) | 1);
913
+ }
914
+
915
+ }
916
+
917
+ });
918
+
919
+ if (!imagesToLoad && !skippedImages) this.startImgAnalyzer(false);
920
+ this.checkWidth();
921
+ };
922
+
923
+ /**
924
+ * Checks that it is a valid number. If a string is passed it is converted to a number
925
+ *
926
+ * @param settingContainer the object that contains the setting (to allow the conversion)
927
+ * @param settingName the setting name
928
+ */
929
+ JustifiedGallery.prototype.checkOrConvertNumber = function (settingContainer, settingName) {
930
+ if ($.type(settingContainer[settingName]) === 'string') {
931
+ settingContainer[settingName] = parseFloat(settingContainer[settingName]);
932
+ }
933
+
934
+ if ($.type(settingContainer[settingName]) === 'number') {
935
+ if (isNaN(settingContainer[settingName])) throw 'invalid number for ' + settingName;
936
+ } else {
937
+ throw settingName + ' must be a number';
938
+ }
939
+ };
940
+
941
+ /**
942
+ * Checks the sizeRangeSuffixes and, if necessary, converts
943
+ * its keys from string (e.g. old settings with 'lt100') to int.
944
+ */
945
+ JustifiedGallery.prototype.checkSizeRangesSuffixes = function () {
946
+ if ($.type(this.settings.sizeRangeSuffixes) !== 'object') {
947
+ throw 'sizeRangeSuffixes must be defined and must be an object';
948
+ }
949
+
950
+ var suffixRanges = [];
951
+ for (var rangeIdx in this.settings.sizeRangeSuffixes) {
952
+ if (this.settings.sizeRangeSuffixes.hasOwnProperty(rangeIdx)) suffixRanges.push(rangeIdx);
953
+ }
954
+
955
+ var newSizeRngSuffixes = {0: ''};
956
+ for (var i = 0; i < suffixRanges.length; i++) {
957
+ if ($.type(suffixRanges[i]) === 'string') {
958
+ try {
959
+ var numIdx = parseInt(suffixRanges[i].replace(/^[a-z]+/, ''), 10);
960
+ newSizeRngSuffixes[numIdx] = this.settings.sizeRangeSuffixes[suffixRanges[i]];
961
+ } catch (e) {
962
+ throw 'sizeRangeSuffixes keys must contains correct numbers (' + e + ')';
963
+ }
964
+ } else {
965
+ newSizeRngSuffixes[suffixRanges[i]] = this.settings.sizeRangeSuffixes[suffixRanges[i]];
966
+ }
967
+ }
968
+
969
+ this.settings.sizeRangeSuffixes = newSizeRngSuffixes;
970
+ };
971
+
972
+ /**
973
+ * check and convert the maxRowHeight setting
974
+ * requires rowHeight to be already set
975
+ * TODO: should be always called when only rowHeight is changed
976
+ * @return number or null
977
+ */
978
+ JustifiedGallery.prototype.retrieveMaxRowHeight = function () {
979
+ var newMaxRowHeight = null;
980
+ var rowHeight = this.settings.rowHeight;
981
+
982
+ if ($.type(this.settings.maxRowHeight) === 'string') {
983
+ if (this.settings.maxRowHeight.match(/^[0-9]+%$/)) {
984
+ newMaxRowHeight = rowHeight * parseFloat(this.settings.maxRowHeight.match(/^([0-9]+)%$/)[1]) / 100;
985
+ } else {
986
+ newMaxRowHeight = parseFloat(this.settings.maxRowHeight);
987
+ }
988
+ } else if ($.type(this.settings.maxRowHeight) === 'number') {
989
+ newMaxRowHeight = this.settings.maxRowHeight;
990
+ } else if (this.settings.maxRowHeight === false || this.settings.maxRowHeight == null) {
991
+ return null;
992
+ } else {
993
+ throw 'maxRowHeight must be a number or a percentage';
994
+ }
995
+
996
+ // check if the converted value is not a number
997
+ if (isNaN(newMaxRowHeight)) throw 'invalid number for maxRowHeight';
998
+
999
+ // check values, maxRowHeight must be >= rowHeight
1000
+ if (newMaxRowHeight < rowHeight) newMaxRowHeight = rowHeight;
1001
+
1002
+ return newMaxRowHeight;
1003
+ };
1004
+
1005
+ /**
1006
+ * Checks the settings
1007
+ */
1008
+ JustifiedGallery.prototype.checkSettings = function () {
1009
+ this.checkSizeRangesSuffixes();
1010
+
1011
+ this.checkOrConvertNumber(this.settings, 'rowHeight');
1012
+ this.checkOrConvertNumber(this.settings, 'margins');
1013
+ this.checkOrConvertNumber(this.settings, 'border');
1014
+
1015
+ var lastRowModes = [
1016
+ 'justify',
1017
+ 'nojustify',
1018
+ 'left',
1019
+ 'center',
1020
+ 'right',
1021
+ 'hide'
1022
+ ];
1023
+ if (lastRowModes.indexOf(this.settings.lastRow) === -1) {
1024
+ throw 'lastRow must be one of: ' + lastRowModes.join(', ');
1025
+ }
1026
+
1027
+ this.checkOrConvertNumber(this.settings, 'justifyThreshold');
1028
+ if (this.settings.justifyThreshold < 0 || this.settings.justifyThreshold > 1) {
1029
+ throw 'justifyThreshold must be in the interval [0,1]';
1030
+ }
1031
+ if ($.type(this.settings.cssAnimation) !== 'boolean') {
1032
+ throw 'cssAnimation must be a boolean';
1033
+ }
1034
+
1035
+ if ($.type(this.settings.captions) !== 'boolean') throw 'captions must be a boolean';
1036
+ this.checkOrConvertNumber(this.settings.captionSettings, 'animationDuration');
1037
+
1038
+ this.checkOrConvertNumber(this.settings.captionSettings, 'visibleOpacity');
1039
+ if (this.settings.captionSettings.visibleOpacity < 0 ||
1040
+ this.settings.captionSettings.visibleOpacity > 1) {
1041
+ throw 'captionSettings.visibleOpacity must be in the interval [0, 1]';
1042
+ }
1043
+
1044
+ this.checkOrConvertNumber(this.settings.captionSettings, 'nonVisibleOpacity');
1045
+ if (this.settings.captionSettings.nonVisibleOpacity < 0 ||
1046
+ this.settings.captionSettings.nonVisibleOpacity > 1) {
1047
+ throw 'captionSettings.nonVisibleOpacity must be in the interval [0, 1]';
1048
+ }
1049
+
1050
+ this.checkOrConvertNumber(this.settings, 'imagesAnimationDuration');
1051
+ this.checkOrConvertNumber(this.settings, 'refreshTime');
1052
+ this.checkOrConvertNumber(this.settings, 'refreshSensitivity');
1053
+ if ($.type(this.settings.randomize) !== 'boolean') throw 'randomize must be a boolean';
1054
+ if ($.type(this.settings.selector) !== 'string') throw 'selector must be a string';
1055
+
1056
+ if (this.settings.sort !== false && !$.isFunction(this.settings.sort)) {
1057
+ throw 'sort must be false or a comparison function';
1058
+ }
1059
+
1060
+ if (this.settings.filter !== false && !$.isFunction(this.settings.filter) &&
1061
+ $.type(this.settings.filter) !== 'string') {
1062
+ throw 'filter must be false, a string or a filter function';
1063
+ }
1064
+ };
1065
+
1066
+ /**
1067
+ * It brings all the indexes from the sizeRangeSuffixes and it orders them. They are then sorted and returned.
1068
+ * @returns {Array} sorted suffix ranges
1069
+ */
1070
+ JustifiedGallery.prototype.retrieveSuffixRanges = function () {
1071
+ var suffixRanges = [];
1072
+ for (var rangeIdx in this.settings.sizeRangeSuffixes) {
1073
+ if (this.settings.sizeRangeSuffixes.hasOwnProperty(rangeIdx)) suffixRanges.push(parseInt(rangeIdx, 10));
1074
+ }
1075
+ suffixRanges.sort(function (a, b) { return a > b ? 1 : a < b ? -1 : 0; });
1076
+ return suffixRanges;
1077
+ };
1078
+
1079
+ /**
1080
+ * Update the existing settings only changing some of them
1081
+ *
1082
+ * @param newSettings the new settings (or a subgroup of them)
1083
+ */
1084
+ JustifiedGallery.prototype.updateSettings = function (newSettings) {
1085
+ // In this case Justified Gallery has been called again changing only some options
1086
+ this.settings = $.extend({}, this.settings, newSettings);
1087
+ this.checkSettings();
1088
+
1089
+ // As reported in the settings: negative value = same as margins, 0 = disabled
1090
+ this.border = this.settings.border >= 0 ? this.settings.border : this.settings.margins;
1091
+
1092
+ this.maxRowHeight = this.retrieveMaxRowHeight();
1093
+ this.suffixRanges = this.retrieveSuffixRanges();
1094
+ };
1095
+
1096
+ JustifiedGallery.prototype.defaults = {
1097
+ sizeRangeSuffixes: { }, /* e.g. Flickr configuration
1098
+ {
1099
+ 100: '_t', // used when longest is less than 100px
1100
+ 240: '_m', // used when longest is between 101px and 240px
1101
+ 320: '_n', // ...
1102
+ 500: '',
1103
+ 640: '_z',
1104
+ 1024: '_b' // used as else case because it is the last
1105
+ }
1106
+ */
1107
+ thumbnailPath: undefined, /* If defined, sizeRangeSuffixes is not used, and this function is used to determine the
1108
+ path relative to a specific thumbnail size. The function should accept respectively three arguments:
1109
+ current path, width and height */
1110
+ rowHeight: 120, // required? required to be > 0?
1111
+ maxRowHeight: false, // false or negative value to deactivate. Positive number to express the value in pixels,
1112
+ // A string '[0-9]+%' to express in percentage (e.g. 300% means that the row height
1113
+ // can't exceed 3 * rowHeight)
1114
+ margins: 1,
1115
+ border: -1, // negative value = same as margins, 0 = disabled, any other value to set the border
1116
+
1117
+ lastRow: 'nojustify', // … which is the same as 'left', or can be 'justify', 'center', 'right' or 'hide'
1118
+
1119
+ justifyThreshold: 0.90, /* if row width / available space > 0.90 it will be always justified
1120
+ * (i.e. lastRow setting is not considered) */
1121
+ waitThumbnailsLoad: true,
1122
+ captions: true,
1123
+ cssAnimation: true,
1124
+ imagesAnimationDuration: 500, // ignored with css animations
1125
+ captionSettings: { // ignored with css animations
1126
+ animationDuration: 500,
1127
+ visibleOpacity: 0.7,
1128
+ nonVisibleOpacity: 0.0
1129
+ },
1130
+ rel: null, // rewrite the rel of each analyzed links
1131
+ target: null, // rewrite the target of all links
1132
+ extension: /\.[^.\\/]+$/, // regexp to capture the extension of an image
1133
+ refreshTime: 200, // time interval (in ms) to check if the page changes its width
1134
+ refreshSensitivity: 0, // change in width allowed (in px) without re-building the gallery
1135
+ randomize: false,
1136
+ rtl: false, // right-to-left mode
1137
+ sort: false, /*
1138
+ - false: to do not sort
1139
+ - function: to sort them using the function as comparator (see Array.prototype.sort())
1140
+ */
1141
+ filter: false, /*
1142
+ - false, null or undefined: for a disabled filter
1143
+ - a string: an entry is kept if entry.is(filter string) returns true
1144
+ see jQuery's .is() function for further information
1145
+ - a function: invoked with arguments (entry, index, array). Return true to keep the entry, false otherwise.
1146
+ It follows the specifications of the Array.prototype.filter() function of JavaScript.
1147
+ */
1148
+ selector: 'a, div:not(.spinner)', // The selector that is used to know what are the entries of the gallery
1149
+ imgSelector: '> img, > a > img', // The selector that is used to know what are the images of each entry
1150
+ triggerEvent: function (event) { // This is called to trigger events, the default behavior is to call $.trigger
1151
+ this.$gallery.trigger(event); // Consider that 'this' is this set to the JustifiedGallery object, so it can
1152
+ } // access to fields such as $gallery, useful to trigger events with jQuery.
1153
+ };
1154
+
1155
+ /**
1156
+ * Justified Gallery plugin for jQuery
1157
+ *
1158
+ * Events
1159
+ * - jg.complete : called when all the gallery has been created
1160
+ * - jg.resize : called when the gallery has been resized
1161
+ * - jg.rowflush : when a new row appears
1162
+ *
1163
+ * @param arg the action (or the settings) passed when the plugin is called
1164
+ * @returns {*} the object itself
1165
+ */
1166
+ $.fn.justifiedGallery = function (arg) {
1167
+ return this.each(function (index, gallery) {
1168
+
1169
+ var $gallery = $(gallery);
1170
+ $gallery.addClass('justified-gallery');
1171
+
1172
+ var controller = $gallery.data('jg.controller');
1173
+ if (typeof controller === 'undefined') {
1174
+ // Create controller and assign it to the object data
1175
+ if (typeof arg !== 'undefined' && arg !== null && $.type(arg) !== 'object') {
1176
+ if (arg === 'destroy') return; // Just a call to an unexisting object
1177
+ throw 'The argument must be an object';
1178
+ }
1179
+ controller = new JustifiedGallery($gallery, $.extend({}, JustifiedGallery.prototype.defaults, arg));
1180
+ $gallery.data('jg.controller', controller);
1181
+ } else if (arg === 'norewind') {
1182
+ // In this case we don't rewind: we analyze only the latest images (e.g. to complete the last unfinished row
1183
+ // ... left to be more readable
1184
+ } else if (arg === 'destroy') {
1185
+ controller.destroy();
1186
+ return;
1187
+ } else {
1188
+ // In this case Justified Gallery has been called again changing only some options
1189
+ controller.updateSettings(arg);
1190
+ controller.rewind();
1191
+ }
1192
+
1193
+ // Update the entries list
1194
+ if (!controller.updateEntries(arg === 'norewind')) return;
1195
+
1196
+ // Init justified gallery
1197
+ controller.init();
1198
+
1199
+ });
1200
+ };
1201
+
1202
+ }));
assets/js/front/justifiedGallery.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=function(t,i){return void 0===i&&(i="undefined"!=typeof window?require("jquery"):require("jquery")(t)),e(i),i}:e(jQuery)}(function(g){function r(t,i){this.settings=i,this.checkSettings(),this.imgAnalyzerTimeout=null,this.entries=null,this.buildingRow={entriesBuff:[],width:0,height:0,aspectRatio:0},this.lastFetchedEntry=null,this.lastAnalyzedIndex=-1,this.yield={every:2,flushed:0},this.border=0<=i.border?i.border:i.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges(),this.offY=this.border,this.rows=0,this.spinner={phase:0,timeSlot:150,$el:g('<div class="spinner"><span></span><span></span><span></span></div>'),intervalId:null},this.scrollBarOn=!1,this.checkWidthIntervalId=null,this.galleryWidth=t.width(),this.$gallery=t}r.prototype.getSuffix=function(t,i){var e,s;for(e=i<t?t:i,s=0;s<this.suffixRanges.length;s++)if(e<=this.suffixRanges[s])return this.settings.sizeRangeSuffixes[this.suffixRanges[s]];return this.settings.sizeRangeSuffixes[this.suffixRanges[s-1]]},r.prototype.removeSuffix=function(t,i){return t.substring(0,t.length-i.length)},r.prototype.endsWith=function(t,i){return-1!==t.indexOf(i,t.length-i.length)},r.prototype.getUsedSuffix=function(t){for(var i in this.settings.sizeRangeSuffixes)if(this.settings.sizeRangeSuffixes.hasOwnProperty(i)){if(0===this.settings.sizeRangeSuffixes[i].length)continue;if(this.endsWith(t,this.settings.sizeRangeSuffixes[i]))return this.settings.sizeRangeSuffixes[i]}return""},r.prototype.newSrc=function(t,i,e,s){var n;if(this.settings.thumbnailPath)n=this.settings.thumbnailPath(t,i,e,s);else{var r=t.match(this.settings.extension),o=null!==r?r[0]:"";n=t.replace(this.settings.extension,""),n=this.removeSuffix(n,this.getUsedSuffix(n)),n+=this.getSuffix(i,e)+o}return n},r.prototype.showImg=function(t,i){this.settings.cssAnimation?(t.addClass("entry-visible"),i&&i()):(t.stop().fadeTo(this.settings.imagesAnimationDuration,1,i),t.find(this.settings.imgSelector).stop().fadeTo(this.settings.imagesAnimationDuration,1,i))},r.prototype.extractImgSrcFromImage=function(t){var i=void 0!==t.data("safe-src")?t.data("safe-src"):t.attr("src");return t.data("jg.originalSrc",i),i},r.prototype.imgFromEntry=function(t){var i=t.find(this.settings.imgSelector);return 0===i.length?null:i},r.prototype.captionFromEntry=function(t){var i=t.find("> .caption");return 0===i.length?null:i},r.prototype.displayEntry=function(t,i,e,s,n,r){t.width(s),t.height(r),t.css("top",e),t.css("left",i);var o=this.imgFromEntry(t);if(null!==o){o.css("width",s),o.css("height",n),o.css("margin-left",-s/2),o.css("margin-top",-n/2);var a=o.attr("src"),h=this.newSrc(a,s,n,o[0]);o.one("error",function(){o.attr("src",o.data("jg.originalSrc"))});function l(){a!==h&&o.attr("src",h)}"skipped"===t.data("jg.loaded")?this.onImageEvent(a,g.proxy(function(){this.showImg(t,l),t.data("jg.loaded",!0)},this)):this.showImg(t,l)}else this.showImg(t);this.displayEntryCaption(t)},r.prototype.displayEntryCaption=function(t){var i=this.imgFromEntry(t);if(null!==i&&this.settings.captions){var e=this.captionFromEntry(t);if(null===e){var s=i.attr("alt");this.isValidCaption(s)||(s=t.attr("title")),this.isValidCaption(s)&&(e=g('<div class="caption">'+s+"</div>"),t.append(e),t.data("jg.createdCaption",!0))}null!==e&&(this.settings.cssAnimation||e.stop().fadeTo(0,this.settings.captionSettings.nonVisibleOpacity),this.addCaptionEventsHandlers(t))}else this.removeCaptionEventsHandlers(t)},r.prototype.isValidCaption=function(t){return void 0!==t&&0<t.length},r.prototype.onEntryMouseEnterForCaption=function(t){var i=this.captionFromEntry(g(t.currentTarget));this.settings.cssAnimation?i.addClass("caption-visible").removeClass("caption-hidden"):i.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.visibleOpacity)},r.prototype.onEntryMouseLeaveForCaption=function(t){var i=this.captionFromEntry(g(t.currentTarget));this.settings.cssAnimation?i.removeClass("caption-visible").removeClass("caption-hidden"):i.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.nonVisibleOpacity)},r.prototype.addCaptionEventsHandlers=function(t){var i=t.data("jg.captionMouseEvents");void 0===i&&(i={mouseenter:g.proxy(this.onEntryMouseEnterForCaption,this),mouseleave:g.proxy(this.onEntryMouseLeaveForCaption,this)},t.on("mouseenter",void 0,void 0,i.mouseenter),t.on("mouseleave",void 0,void 0,i.mouseleave),t.data("jg.captionMouseEvents",i))},r.prototype.removeCaptionEventsHandlers=function(t){var i=t.data("jg.captionMouseEvents");void 0!==i&&(t.off("mouseenter",void 0,i.mouseenter),t.off("mouseleave",void 0,i.mouseleave),t.removeData("jg.captionMouseEvents"))},r.prototype.clearBuildingRow=function(){this.buildingRow.entriesBuff=[],this.buildingRow.aspectRatio=0,this.buildingRow.width=0},r.prototype.prepareBuildingRow=function(t){var i,e,s,n,r,o=!0,a=0,h=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,l=h/this.buildingRow.aspectRatio,g=this.settings.rowHeight,u=this.buildingRow.width/h>this.settings.justifyThreshold;if(t&&"hide"===this.settings.lastRow&&!u){for(i=0;i<this.buildingRow.entriesBuff.length;i++)e=this.buildingRow.entriesBuff[i],this.settings.cssAnimation?e.removeClass("entry-visible"):(e.stop().fadeTo(0,.1),e.find("> img, > a > img").fadeTo(0,0));return-1}for(t&&!u&&"justify"!==this.settings.lastRow&&"hide"!==this.settings.lastRow&&(o=!1,0<this.rows&&(o=(g=(this.offY-this.border-this.settings.margins*this.rows)/this.rows)*this.buildingRow.aspectRatio/h>this.settings.justifyThreshold)),i=0;i<this.buildingRow.entriesBuff.length;i++)s=(e=this.buildingRow.entriesBuff[i]).data("jg.width")/e.data("jg.height"),r=o?(n=i===this.buildingRow.entriesBuff.length-1?h:l*s,l):(n=g*s,g),h-=Math.round(n),e.data("jg.jwidth",Math.round(n)),e.data("jg.jheight",Math.ceil(r)),(0===i||r<a)&&(a=r);return this.buildingRow.height=a,o},r.prototype.flushRow=function(t){var i,e,s,n=this.settings,r=this.border;if(e=this.prepareBuildingRow(t),t&&"hide"===n.lastRow&&-1===e)this.clearBuildingRow();else{if(this.maxRowHeight&&this.maxRowHeight<this.buildingRow.height&&(this.buildingRow.height=this.maxRowHeight),t&&("center"===n.lastRow||"right"===n.lastRow)){var o=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*n.margins;for(s=0;s<this.buildingRow.entriesBuff.length;s++)o-=(i=this.buildingRow.entriesBuff[s]).data("jg.jwidth");"center"===n.lastRow?r+=o/2:"right"===n.lastRow&&(r+=o)}var a=this.buildingRow.entriesBuff.length-1;for(s=0;s<=a;s++)i=this.buildingRow.entriesBuff[this.settings.rtl?a-s:s],this.displayEntry(i,r,this.offY,i.data("jg.jwidth"),i.data("jg.jheight"),this.buildingRow.height),r+=i.data("jg.jwidth")+n.margins;this.galleryHeightToSet=this.offY+this.buildingRow.height+this.border,this.setGalleryTempHeight(this.galleryHeightToSet+this.getSpinnerHeight()),(!t||this.buildingRow.height<=n.rowHeight&&e)&&(this.offY+=this.buildingRow.height+n.margins,this.rows+=1,this.clearBuildingRow(),this.settings.triggerEvent.call(this,"jg.rowflush"))}};var i=0;function e(){return g("body").height()>g(window).height()}r.prototype.rememberGalleryHeight=function(){i=this.$gallery.height(),this.$gallery.height(i)},r.prototype.setGalleryTempHeight=function(t){i=Math.max(t,i),this.$gallery.height(i)},r.prototype.setGalleryFinalHeight=function(t){i=t,this.$gallery.height(t)},r.prototype.checkWidth=function(){this.checkWidthIntervalId=setInterval(g.proxy(function(){if(this.$gallery.is(":visible")){var t=parseFloat(this.$gallery.width());e()===this.scrollBarOn?Math.abs(t-this.galleryWidth)>this.settings.refreshSensitivity&&(this.galleryWidth=t,this.rewind(),this.rememberGalleryHeight(),this.startImgAnalyzer(!0)):(this.scrollBarOn=e(),this.galleryWidth=t)}},this),this.settings.refreshTime)},r.prototype.isSpinnerActive=function(){return null!==this.spinner.intervalId},r.prototype.getSpinnerHeight=function(){return this.spinner.$el.innerHeight()},r.prototype.stopLoadingSpinnerAnimation=function(){clearInterval(this.spinner.intervalId),this.spinner.intervalId=null,this.setGalleryTempHeight(this.$gallery.height()-this.getSpinnerHeight()),this.spinner.$el.detach()},r.prototype.startLoadingSpinnerAnimation=function(){var t=this.spinner,i=t.$el.find("span");clearInterval(t.intervalId),this.$gallery.append(t.$el),this.setGalleryTempHeight(this.offY+this.buildingRow.height+this.getSpinnerHeight()),t.intervalId=setInterval(function(){t.phase<i.length?i.eq(t.phase).fadeTo(t.timeSlot,1):i.eq(t.phase-i.length).fadeTo(t.timeSlot,0),t.phase=(t.phase+1)%(2*i.length)},t.timeSlot)},r.prototype.rewind=function(){this.lastFetchedEntry=null,this.lastAnalyzedIndex=-1,this.offY=this.border,this.rows=0,this.clearBuildingRow()},r.prototype.updateEntries=function(t){var i;return 0<(i=t&&null!=this.lastFetchedEntry?g(this.lastFetchedEntry).nextAll(this.settings.selector).toArray():(this.entries=[],this.$gallery.children(this.settings.selector).toArray())).length&&(g.isFunction(this.settings.sort)?i=this.sortArray(i):this.settings.randomize&&(i=this.shuffleArray(i)),this.lastFetchedEntry=i[i.length-1],this.settings.filter?i=this.filterArray(i):this.resetFilters(i)),this.entries=this.entries.concat(i),!0},r.prototype.insertToGallery=function(t){var i=this;g.each(t,function(){g(this).appendTo(i.$gallery)})},r.prototype.shuffleArray=function(t){var i,e,s;for(i=t.length-1;0<i;i--)e=Math.floor(Math.random()*(i+1)),s=t[i],t[i]=t[e],t[e]=s;return this.insertToGallery(t),t},r.prototype.sortArray=function(t){return t.sort(this.settings.sort),this.insertToGallery(t),t},r.prototype.resetFilters=function(t){for(var i=0;i<t.length;i++)g(t[i]).removeClass("jg-filtered")},r.prototype.filterArray=function(t){var e=this.settings;if("string"===g.type(e.filter))return t.filter(function(t){var i=g(t);return i.is(e.filter)?(i.removeClass("jg-filtered"),!0):(i.addClass("jg-filtered").removeClass("jg-visible"),!1)});if(g.isFunction(e.filter)){for(var i=t.filter(e.filter),s=0;s<t.length;s++)-1===i.indexOf(t[s])?g(t[s]).addClass("jg-filtered").removeClass("jg-visible"):g(t[s]).removeClass("jg-filtered");return i}},r.prototype.destroy=function(){clearInterval(this.checkWidthIntervalId),g.each(this.entries,g.proxy(function(t,i){var e=g(i);e.css("width",""),e.css("height",""),e.css("top",""),e.css("left",""),e.data("jg.loaded",void 0),e.removeClass("jg-entry");var s=this.imgFromEntry(e);s.css("width",""),s.css("height",""),s.css("margin-left",""),s.css("margin-top",""),s.attr("src",s.data("jg.originalSrc")),s.data("jg.originalSrc",void 0),this.removeCaptionEventsHandlers(e);var n=this.captionFromEntry(e);e.data("jg.createdCaption")?(e.data("jg.createdCaption",void 0),null!==n&&n.remove()):null!==n&&n.fadeTo(0,1)},this)),this.$gallery.css("height",""),this.$gallery.removeClass("justified-gallery"),this.$gallery.data("jg.controller",void 0)},r.prototype.analyzeImages=function(t){for(var i=this.lastAnalyzedIndex+1;i<this.entries.length;i++){var e=g(this.entries[i]);if(!0===e.data("jg.loaded")||"skipped"===e.data("jg.loaded")){var s=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,n=e.data("jg.width")/e.data("jg.height");if(s/(this.buildingRow.aspectRatio+n)<this.settings.rowHeight&&(this.flushRow(!1),++this.yield.flushed>=this.yield.every))return void this.startImgAnalyzer(t);this.buildingRow.entriesBuff.push(e),this.buildingRow.aspectRatio+=n,this.buildingRow.width+=n*this.settings.rowHeight,this.lastAnalyzedIndex=i}else if("error"!==e.data("jg.loaded"))return}0<this.buildingRow.entriesBuff.length&&this.flushRow(!0),this.isSpinnerActive()&&this.stopLoadingSpinnerAnimation(),this.stopImgAnalyzerStarter(),this.settings.triggerEvent.call(this,t?"jg.resize":"jg.complete"),this.setGalleryFinalHeight(this.galleryHeightToSet)},r.prototype.stopImgAnalyzerStarter=function(){this.yield.flushed=0,null!==this.imgAnalyzerTimeout&&(clearTimeout(this.imgAnalyzerTimeout),this.imgAnalyzerTimeout=null)},r.prototype.startImgAnalyzer=function(t){var i=this;this.stopImgAnalyzerStarter(),this.imgAnalyzerTimeout=setTimeout(function(){i.analyzeImages(t)},.001)},r.prototype.onImageEvent=function(t,i,e){if(i||e){var s=new Image,n=g(s);i&&n.one("load",function(){n.off("load error"),i(s)}),e&&n.one("error",function(){n.off("load error"),e(s)}),s.src=t}},r.prototype.init=function(){var a=!1,h=!1,l=this;g.each(this.entries,function(t,i){var e=g(i),s=l.imgFromEntry(e);if(e.addClass("jg-entry"),!0!==e.data("jg.loaded")&&"skipped"!==e.data("jg.loaded"))if(null!==l.settings.rel&&e.attr("rel",l.settings.rel),null!==l.settings.target&&e.attr("target",l.settings.target),null!==s){var n=l.extractImgSrcFromImage(s);if(s.attr("src",n),!1===l.settings.waitThumbnailsLoad){var r=parseFloat(s.prop("width")),o=parseFloat(s.prop("height"));if(!isNaN(r)&&!isNaN(o))return e.data("jg.width",r),e.data("jg.height",o),e.data("jg.loaded","skipped"),h=!0,l.startImgAnalyzer(!1),!0}e.data("jg.loaded",!1),a=!0,l.isSpinnerActive()||l.startLoadingSpinnerAnimation(),l.onImageEvent(n,function(t){e.data("jg.width",t.width),e.data("jg.height",t.height),e.data("jg.loaded",!0),l.startImgAnalyzer(!1)},function(){e.data("jg.loaded","error"),l.startImgAnalyzer(!1)})}else e.data("jg.loaded",!0),e.data("jg.width",e.width()|parseFloat(e.css("width"))|1),e.data("jg.height",e.height()|parseFloat(e.css("height"))|1)}),a||h||this.startImgAnalyzer(!1),this.checkWidth()},r.prototype.checkOrConvertNumber=function(t,i){if("string"===g.type(t[i])&&(t[i]=parseFloat(t[i])),"number"!==g.type(t[i]))throw i+" must be a number";if(isNaN(t[i]))throw"invalid number for "+i},r.prototype.checkSizeRangesSuffixes=function(){if("object"!==g.type(this.settings.sizeRangeSuffixes))throw"sizeRangeSuffixes must be defined and must be an object";var t=[];for(var i in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(i)&&t.push(i);for(var e={0:""},s=0;s<t.length;s++)if("string"===g.type(t[s]))try{e[parseInt(t[s].replace(/^[a-z]+/,""),10)]=this.settings.sizeRangeSuffixes[t[s]]}catch(t){throw"sizeRangeSuffixes keys must contains correct numbers ("+t+")"}else e[t[s]]=this.settings.sizeRangeSuffixes[t[s]];this.settings.sizeRangeSuffixes=e},r.prototype.retrieveMaxRowHeight=function(){var t=null,i=this.settings.rowHeight;if("string"===g.type(this.settings.maxRowHeight))t=this.settings.maxRowHeight.match(/^[0-9]+%$/)?i*parseFloat(this.settings.maxRowHeight.match(/^([0-9]+)%$/)[1])/100:parseFloat(this.settings.maxRowHeight);else{if("number"!==g.type(this.settings.maxRowHeight)){if(!1===this.settings.maxRowHeight||null==this.settings.maxRowHeight)return null;throw"maxRowHeight must be a number or a percentage"}t=this.settings.maxRowHeight}if(isNaN(t))throw"invalid number for maxRowHeight";return t<i&&(t=i),t},r.prototype.checkSettings=function(){this.checkSizeRangesSuffixes(),this.checkOrConvertNumber(this.settings,"rowHeight"),this.checkOrConvertNumber(this.settings,"margins"),this.checkOrConvertNumber(this.settings,"border");var t=["justify","nojustify","left","center","right","hide"];if(-1===t.indexOf(this.settings.lastRow))throw"lastRow must be one of: "+t.join(", ");if(this.checkOrConvertNumber(this.settings,"justifyThreshold"),this.settings.justifyThreshold<0||1<this.settings.justifyThreshold)throw"justifyThreshold must be in the interval [0,1]";if("boolean"!==g.type(this.settings.cssAnimation))throw"cssAnimation must be a boolean";if("boolean"!==g.type(this.settings.captions))throw"captions must be a boolean";if(this.checkOrConvertNumber(this.settings.captionSettings,"animationDuration"),this.checkOrConvertNumber(this.settings.captionSettings,"visibleOpacity"),this.settings.captionSettings.visibleOpacity<0||1<this.settings.captionSettings.visibleOpacity)throw"captionSettings.visibleOpacity must be in the interval [0, 1]";if(this.checkOrConvertNumber(this.settings.captionSettings,"nonVisibleOpacity"),this.settings.captionSettings.nonVisibleOpacity<0||1<this.settings.captionSettings.nonVisibleOpacity)throw"captionSettings.nonVisibleOpacity must be in the interval [0, 1]";if(this.checkOrConvertNumber(this.settings,"imagesAnimationDuration"),this.checkOrConvertNumber(this.settings,"refreshTime"),this.checkOrConvertNumber(this.settings,"refreshSensitivity"),"boolean"!==g.type(this.settings.randomize))throw"randomize must be a boolean";if("string"!==g.type(this.settings.selector))throw"selector must be a string";if(!1!==this.settings.sort&&!g.isFunction(this.settings.sort))throw"sort must be false or a comparison function";if(!1!==this.settings.filter&&!g.isFunction(this.settings.filter)&&"string"!==g.type(this.settings.filter))throw"filter must be false, a string or a filter function"},r.prototype.retrieveSuffixRanges=function(){var t=[];for(var i in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(i)&&t.push(parseInt(i,10));return t.sort(function(t,i){return i<t?1:t<i?-1:0}),t},r.prototype.updateSettings=function(t){this.settings=g.extend({},this.settings,t),this.checkSettings(),this.border=0<=this.settings.border?this.settings.border:this.settings.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges()},r.prototype.defaults={sizeRangeSuffixes:{},thumbnailPath:void 0,rowHeight:120,maxRowHeight:!1,margins:1,border:-1,lastRow:"nojustify",justifyThreshold:.9,waitThumbnailsLoad:!0,captions:!0,cssAnimation:!0,imagesAnimationDuration:500,captionSettings:{animationDuration:500,visibleOpacity:.7,nonVisibleOpacity:0},rel:null,target:null,extension:/\.[^.\\/]+$/,refreshTime:200,refreshSensitivity:0,randomize:!1,rtl:!1,sort:!1,filter:!1,selector:"a, div:not(.spinner)",imgSelector:"> img, > a > img",triggerEvent:function(t){this.$gallery.trigger(t)}},g.fn.justifiedGallery=function(n){return this.each(function(t,i){var e=g(i);e.addClass("justified-gallery");var s=e.data("jg.controller");if(void 0===s){if(null!=n&&"object"!==g.type(n)){if("destroy"===n)return;throw"The argument must be an object"}s=new r(e,g.extend({},r.prototype.defaults,n)),e.data("jg.controller",s)}else if("norewind"===n);else{if("destroy"===n)return void s.destroy();s.updateSettings(n),s.rewind()}s.updateEntries("norewind"===n)&&s.init()})}});
assets/js/{lazysizes.js → front/lazysizes.js} RENAMED
File without changes
assets/js/{lazysizes.min.js → front/lazysizes.min.js} RENAMED
File without changes
assets/js/jquery-modula.js DELETED
@@ -1,649 +0,0 @@
1
- /*
2
- * Project: jQuery Modula 2
3
- * Version: 1.0
4
- * Description: Artistic gallery
5
- * Author: Macho Themes
6
- */
7
- function tg_getURLParameter(name) {
8
- return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null
9
- }
10
-
11
- // Compatibility with WPBakery Page Builder
12
- jQuery(document).on( 'vc-full-width-row-single vc-full-width-row', function( event, element ){
13
- if( jQuery( 'body' ).find( '.modula' ).length > 0 ){
14
- jQuery( window ).trigger( 'modula-update' );
15
- }
16
- });
17
-
18
- // Compatibility with Elementor
19
- jQuery( window ).on( 'elementor/frontend/init', function(){
20
- if ( window.elementorFrontend ) {
21
- window.elementorFrontend.hooks.addAction( 'frontend/element_ready/global', function( $scope ) {
22
- if( jQuery( 'body' ).find( '.modula' ).length > 0 ){
23
- jQuery( window ).trigger( 'modula-update' );
24
- }
25
- });
26
- }
27
- });
28
-
29
- ; (function ($, window, document, undefined) {
30
-
31
-
32
- // Create the defaults once
33
- var pluginName = 'modulaGallery',
34
- defaults = {
35
- resizer: '/',
36
- margin: 10,
37
- keepArea: true,
38
- type: 'creative-gallery',
39
- columns: 12,
40
- gutter: 10,
41
- enableTwitter: false,
42
- enableFacebook: false,
43
- enableGplus: false,
44
- enablePinterest: false,
45
- enableLinkedin: false,
46
- lazyLoad: 0,
47
- };
48
-
49
- // The actual plugin constructor
50
- function Plugin( element, options ) {
51
- this.element = element;
52
- this.$element = $(element);
53
- this.$itemsCnt = this.$element.find(".modula-items");
54
- this.$items = this.$itemsCnt.find(".modula-item");
55
-
56
- this.options = $.extend({}, defaults, options);
57
-
58
- this._defaults = defaults;
59
- this._name = pluginName;
60
-
61
- this.tiles = [];
62
- this.$tilesCnt = null;
63
- this.completed = false;
64
- this.lastWidth = 0;
65
- this.resizeTO = 0;
66
- this.isPackeryActive = false;
67
-
68
- // Initiate Gallery
69
- this.init();
70
- }
71
-
72
- Plugin.prototype.trunc = function ( v ) {
73
-
74
- if ( Math.trunc ) {
75
- return Math.trunc( v );
76
- }else{
77
- v = +v;
78
- if (!isFinite(v)) return v;
79
-
80
- return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0);
81
- }
82
- }
83
-
84
- // Create custom grid gallery based on packery.
85
- Plugin.prototype.createCustomGallery = function () {
86
-
87
- var size,
88
- containerWidth = this.$element.width(),
89
- plugin = this,
90
- columns = this.options.columns,
91
- viewport = document.documentElement.clientWidth;
92
-
93
- if ( '1' == this.options.enableResponsive ) {
94
-
95
- if ( viewport <= 568 ) {
96
- columns = this.options.mobileColumns;
97
- }else if ( viewport <= 768 ) {
98
- columns = this.options.tabletColumns;
99
- }
100
-
101
- }
102
-
103
- if ( this.options.gutter > 0 ) {
104
- size = ( containerWidth - this.options.gutter * ( columns - 1 ) ) / columns;
105
- }else{
106
- size = Math.floor( (containerWidth / columns) * 1000 ) / 1000;
107
- }
108
-
109
- this.$items.not(".jtg-hidden").each(function (i, item) {
110
- var slot = {}, widthColumns, heightColumns, auxWidth, auxHeight;
111
-
112
- widthColumns = $( item ).data( 'width' );
113
- heightColumns = $( item ).data( 'height' );
114
-
115
- if ( widthColumns > 12 ) {
116
- widthColumns = 12;
117
- }
118
-
119
- if ( '1' == plugin.options.enableResponsive ) {
120
- auxWidth = widthColumns;
121
- auxHeight = heightColumns;
122
-
123
- if ( 1 == columns ) {
124
-
125
- widthColumns = 1;
126
- heightColumns = widthColumns * auxHeight / auxWidth;
127
-
128
- }else{
129
-
130
- widthColumns = Math.round( columns * auxWidth / 12 );
131
- if ( widthColumns < 1 ) { widthColumns = 1; }
132
-
133
- heightColumns = Math.round( widthColumns * auxHeight / auxWidth );
134
- if ( heightColumns < 1 ) { heightColumns = 1; }
135
-
136
- }
137
-
138
- }
139
-
140
- slot.width = size * widthColumns + ( plugin.options.gutter * ( widthColumns - 1 ) );
141
- slot.height = Math.round( size ) * heightColumns + ( plugin.options.gutter * ( heightColumns - 1 ) );
142
-
143
- $(item)
144
- .data('size', slot)
145
- .addClass('tiled')
146
- .addClass(slot.width > slot.height ? 'tile-h' : 'tile-v')
147
- .data('position');
148
-
149
- $(item).css($(item).data('size'));
150
- $(item).find(".figc").css({
151
- width: $(item).data('size').width,
152
- height: $(item).data('size').height
153
- });
154
-
155
- });
156
-
157
- if ( this.isPackeryActive ) {
158
- this.$itemsCnt.packery( 'destroy' );
159
- }
160
-
161
- this.$itemsCnt.packery({
162
- itemSelector: '.modula-item',
163
- gutter: parseInt( plugin.options.gutter ),
164
- columnWidth: size,
165
- // rowHeight: size,
166
- resize: false
167
- });
168
- this.isPackeryActive = true;
169
-
170
- }
171
-
172
- // Create Modula default gallery grid
173
- Plugin.prototype.createGrid = function () {
174
- var plugin = this;
175
-
176
- if (this.options.width) {
177
- this.$itemsCnt.width(this.options.width);
178
- }
179
-
180
- if (this.options.height) {
181
- this.$itemsCnt.height(this.options.height);
182
- }
183
-
184
- this.$itemsCnt.data('area', this.$itemsCnt.width() * this.$itemsCnt.height());
185
-
186
- this.lastWidth = this.$itemsCnt.width();
187
-
188
- for (var i = 0; i < this.$items.not(".jtg-hidden").length; i++){
189
- this.tiles.push(plugin.getSlot());
190
- }
191
-
192
- this.tiles.sort(function (x, y) {
193
- return x.position - y.position;
194
- });
195
-
196
- this.$items.not(".jtg-hidden").each(function (i, item) {
197
- var slot = plugin.tiles[i];
198
-
199
- $(item)
200
- .data('size', slot)
201
- .addClass('tiled')
202
- .addClass(slot.width > slot.height ? 'tile-h' : 'tile-v')
203
- .data('position');
204
- });
205
-
206
- //apply css
207
- this.$items.each(function (i, item) {
208
- $(item).css($(item).data('size'));
209
- $(item).find(".figc").css({
210
- width: $(item).data('size').width,
211
- height: $(item).data('size').height
212
- });
213
- });
214
-
215
- this.completed = true;
216
- }
217
-
218
- Plugin.prototype.getSlot = function () {
219
-
220
- if (this.tiles.length == 0) {
221
- var tile = {
222
- top: 0,
223
- left: 0,
224
- width: this.$itemsCnt.width(),
225
- height: this.$itemsCnt.height(),
226
- area: this.$itemsCnt.width() * this.$itemsCnt.height(),
227
- position: 0
228
- };
229
-
230
- return tile;
231
- }
232
-
233
- var maxTileIdx = 0;
234
- for (var i = 0; i < this.tiles.length; i++) {
235
- var tile = this.tiles[i];
236
- if (tile.area > this.tiles[maxTileIdx].area) {
237
- maxTileIdx = i;
238
- }
239
- }
240
-
241
- var tile = {};
242
-
243
- var maxTileData = this.tiles[maxTileIdx];
244
-
245
- if (maxTileData.width > maxTileData.height) {
246
-
247
- var randomMaxDelta = maxTileData.width / 2 * this.options.randomFactor;
248
-
249
-
250
- maxTileData.prevWidth = maxTileData.width;
251
- maxTileData.width = Math.floor((maxTileData.width / 2) +
252
- (randomMaxDelta * (Math.random() - .5)));
253
-
254
- tile = {
255
- top: maxTileData.top,
256
- left: maxTileData.left + maxTileData.width + this.options.margin,
257
- width: maxTileData.prevWidth - maxTileData.width - this.options.margin,
258
- height: maxTileData.height
259
- }
260
-
261
- } else {
262
- var randomMaxDelta = maxTileData.height / 2 * this.options.randomFactor;
263
-
264
- maxTileData.prevHeight = maxTileData.height;
265
- maxTileData.height = Math.floor((maxTileData.height / 2) +
266
- (randomMaxDelta * (Math.random() - .5)));
267
-
268
- tile = {
269
- left: maxTileData.left,
270
- top: maxTileData.top + maxTileData.height + this.options.margin,
271
- width: maxTileData.width,
272
- height: maxTileData.prevHeight - maxTileData.height - this.options.margin
273
- }
274
- }
275
-
276
- tile.area = tile.width * tile.height;
277
- tile.position = tile.top * 1000 + tile.left;
278
-
279
- maxTileData.position = maxTileData.top * 1000 + maxTileData.left;
280
-
281
- this.tiles[maxTileIdx] = maxTileData;
282
- this.tiles[maxTileIdx].area = maxTileData.width * maxTileData.height;
283
-
284
- return tile;
285
- }
286
-
287
- Plugin.prototype.reset = function () {
288
- var instance = this;
289
- instance.tiles = [];
290
-
291
- if ( 'custom-grid' === instance.options.type ) {
292
- instance.createCustomGallery();
293
- instance.$itemsCnt.packery();
294
- }else if( 'creative-gallery' == this.options.type ){
295
- instance.createGrid();
296
- }
297
-
298
- instance.$itemsCnt.find('.pic').each(function (i, o) {
299
- instance.placeImage(i);
300
- });
301
- instance.lastWidth = instance.$itemsCnt.width();
302
- }
303
-
304
- Plugin.prototype.onResize = function (instance) {
305
- if (instance.lastWidth == instance.$itemsCnt.width())
306
- return;
307
-
308
- clearTimeout(instance.resizeTO);
309
- instance.resizeTO = setTimeout(function () {
310
-
311
- if (instance.options.keepArea) {
312
- var area = instance.$itemsCnt.data('area');
313
- instance.$itemsCnt.height(area / instance.$itemsCnt.width());
314
- }
315
-
316
- instance.reset();
317
-
318
- }, 100);
319
- }
320
-
321
- Plugin.prototype.placeImage = function (index) {
322
-
323
- var $tile = this.$items.eq(index);
324
- var $image = $tile.find('.pic');
325
-
326
- var tSize = $tile.data('size');
327
- var iSize = $image.data('size');
328
-
329
- if ( $image.parent() != $tile ) {
330
- tSize = {
331
- 'width' : $image.parent().width(),
332
- 'height' : $image.parent().height()
333
- };
334
- }
335
-
336
- if ( typeof tSize == 'undefined' ) { return; }
337
- if ( typeof iSize == 'undefined' ) { return; }
338
-
339
- var tRatio = tSize.width / tSize.height;
340
- var iRatio = iSize.width / iSize.height;
341
-
342
- var valign = $image.data('valign') ? $image.data('valign') : 'middle';
343
- var halign = $image.data('halign') ? $image.data('halign') : 'center';
344
-
345
- var cssProps = {
346
- top: 'auto',
347
- bottom: 'auto',
348
- left: 'auto',
349
- right: 'auto',
350
- width: 'auto',
351
- height: 'auto',
352
- margin: '0',
353
- maxWidth: '999em'
354
- };
355
-
356
- if (tRatio > iRatio) {
357
- cssProps.width = tSize.width;
358
- cssProps.left = 0;
359
-
360
- switch (valign) {
361
- case 'top':
362
- cssProps.top = 0;
363
- break;
364
- case 'middle':
365
- cssProps.top = 0 - (tSize.width * (1 / iRatio) - tSize.height) / 2;
366
- break;
367
- case 'bottom':
368
- cssProps.bottom = 0;
369
- break;
370
- }
371
-
372
- } else {
373
-
374
- cssProps.height = tSize.height;
375
- cssProps.top = 0;
376
-
377
- switch (halign) {
378
- case 'left':
379
- cssProps.left = 0;
380
- break;
381
- case 'center':
382
- cssProps.left = 0 - (tSize.height * iRatio - tSize.width) / 2;
383
- break;
384
- case 'right':
385
- cssProps.right = 0;
386
- break;
387
- }
388
- }
389
-
390
- $image.css(cssProps);
391
- }
392
-
393
- Plugin.prototype.loadImage = function(index) {
394
- var instance = this;
395
- var source = instance.$items.eq(index).find('.pic');
396
- var img = new Image();
397
- img.onerror = function () {
398
- console.log("error loading image [" + index + "] : " + this.src);
399
- if (index + 1 < instance.$items.length)
400
- instance.loadImage(index + 1);
401
- }
402
- img.onload = function () {
403
- source.data('size', { width: this.width, height: this.height });
404
- instance.placeImage(index);
405
-
406
- instance.$items.eq(index).addClass("tg-loaded");
407
- if (index + 1 < instance.$items.length)
408
- instance.loadImage(index + 1);
409
- }
410
-
411
- var original_src = source.data('src');
412
- img.src = original_src;
413
- source.attr("src", original_src);
414
- }
415
-
416
- Plugin.prototype.init = function () {
417
-
418
- var instance = this;
419
-
420
- // Trigger event before init
421
- $( document ).trigger('modula_api_before_init', [ instance ] );
422
-
423
- this.$itemsCnt.css({
424
- position: 'relative',
425
- zIndex: 1,
426
- 'min-height': '10px'
427
- });
428
-
429
- this.$items.addClass("tile");
430
- this.$items.find(".pic").removeAttr("src");
431
-
432
- if ( 'custom-grid' === this.options.type ) {
433
- this.createCustomGallery();
434
- }else if( 'creative-gallery' == this.options.type ){
435
- this.createGrid();
436
- }
437
-
438
- // Load Images
439
- if ( '1' != instance.options.lazyLoad ) {
440
- this.loadImage(0);
441
- }
442
-
443
- $(window).resize(function () {
444
- instance.onResize(instance);
445
- });
446
-
447
- $(window).on( 'modula-update', function () {
448
- instance.onResize(instance);
449
- });
450
-
451
- $( document ).on('lazyloaded', function( evt ){
452
- var element = $( evt.target ),
453
- parent, index;
454
-
455
- if ( 'modula' == element.data( 'source' ) ) {
456
- element.data('size', { width: element.width(), height: element.height() });
457
- parent = element.parents( '.modula-item' );
458
- parent.addClass( 'tg-loaded' );
459
- index = instance.$items.index( parent );
460
- instance.placeImage(index);
461
- }
462
-
463
- });
464
-
465
- // Gives error on front
466
- /* new ResizeSensor( instance.$element, function() {
467
- instance.onResize(instance);
468
- });*/
469
-
470
- // Create social links
471
- this.setupSocial();
472
-
473
- // Trigger custom gallery JS
474
- if(this.options.onComplete) {
475
- this.options.onComplete();
476
- }
477
-
478
- // Trigger event before init
479
- $( document ).trigger('modula_api_after_init', [ instance ] );
480
-
481
- };
482
-
483
- Plugin.prototype.setupSocial = function () {
484
- if (this.options.enableTwitter){
485
- setupTwitter(this.$items, this);
486
- }
487
- if (this.options.enableFacebook){
488
- setupFacebook(this.$items, this);
489
- }
490
- if (this.options.enablePinterest){
491
- setupPinterest(this.$items, this);
492
- }
493
- if (this.options.enableLinkedin){
494
- setupLinkedIN(this.$items, this);
495
- }
496
- if (this.options.enableWhatsapp){
497
- setupWhatsapp(this.$items, this);
498
- }
499
- }
500
-
501
- Plugin.prototype.destroy = function () {
502
-
503
- if ( this.isPackeryActive ) {
504
- this.$itemsCnt.packery( 'destroy' );
505
- this.isPackeryActive = false;
506
- }
507
-
508
- }
509
-
510
- //credits James Padolsey http://james.padolsey.com/
511
- var qualifyURL = function (url) {
512
- var img = document.createElement('img');
513
- img.src = url; // set string url
514
- url = img.src; // get qualified url
515
- img.src = null; // no server request
516
- return url;
517
- }
518
-
519
- var setupTwitter = function ($tiles, plugin) {
520
- $tiles.find(".modula-icon-twitter").click(function (e) {
521
- e.preventDefault();
522
- var $caption = $(this).parents(".tile:first").find(".caption");
523
- var text = plugin.options.twitterText || document.title;
524
- if (!plugin.options.twitterText && $caption.length == 1 && $caption.text().length > 0)
525
- text = $.trim($caption.text());
526
- var w = window.open("https://twitter.com/intent/tweet?url=" + encodeURI(location.href.split('#')[0]) + "&text=" + encodeURI(text), "ftgw", "location=1,status=1,scrollbars=1,width=600,height=400");
527
- w.moveTo((screen.width / 2) - (300), (screen.height / 2) - (200));
528
- return false;
529
- });
530
- }
531
-
532
- var setupFacebook = function ($tiles, plugin) {
533
- $tiles.find(".modula-icon-facebook").click(function (e) {
534
- e.preventDefault();
535
-
536
- var image = $(this).parents(".tile:first").find(".pic");
537
-
538
- var $caption = $(this).parents(".tile:first").find(".caption");
539
- var text = plugin.options.facebookText || document.title;
540
- if (!plugin.options.facebookText && $caption.length == 1 && $caption.text().length > 0)
541
- text = $.trim($caption.text());
542
-
543
- var src = image.attr("src");
544
- var url = "//www.facebook.com/sharer.php?u=" + location.href;
545
-
546
- var w = window.open(url, "ftgw", "location=1,status=1,scrollbars=1,width=600,height=400");
547
- w.moveTo((screen.width / 2) - (300), (screen.height / 2) - (200));
548
- return false;
549
- });
550
- }
551
-
552
- var setupWhatsapp = function ($tiles, plugin) {
553
- $tiles.find(".modula-icon-whatsapp").click(function (e) {
554
- e.preventDefault();
555
- var $caption = $(this).parents(".tile:first").find(".caption");
556
- var text = plugin.options.whatsappText || document.title;
557
- if (!plugin.options.whatsappText && $caption.length == 1 && $caption.text().length > 0)
558
- text = $.trim($caption.text());
559
- var w = window.open("https://api.whatsapp.com/send?text=" + encodeURI((window.location.href.split("#")[0])) +'&preview_url=true', "ftgw", "location=1,status=1,scrollbars=1,width=600,height=400");
560
- w.moveTo((screen.width / 2) - (300), (screen.height / 2) - (200));
561
- return false;
562
- });
563
- }
564
-
565
- var setupPinterest = function ($tiles, plugin) {
566
- $tiles.find(".modula-icon-pinterest").click(function (e) {
567
- e.preventDefault();
568
-
569
- var image = $(this).parents(".tile:first").find(".pic");
570
-
571
- var $caption = $(this).parents(".tile:first").find(".caption");
572
- var text = plugin.options.facebookText || document.title;
573
- if (!plugin.options.facebookText && $caption.length == 1 && $caption.text().length > 0)
574
- text = $.trim($caption.text());
575
-
576
- var url = "http://pinterest.com/pin/create/button/?url=" + encodeURI(location.href) + "&description=" + encodeURI(text);
577
-
578
- if (image.length == 1) {
579
- var src = image.attr("src");
580
- url += ("&media=" + qualifyURL(src));
581
- }
582
-
583
- var w = window.open(url, "ftgw", "location=1,status=1,scrollbars=1,width=600,height=400");
584
- w.moveTo((screen.width / 2) - (300), (screen.height / 2) - (200));
585
- return false;
586
- });
587
- }
588
-
589
- var setupLinkedIN = function ($tiles, plugin) {
590
- $tiles.find(".modula-icon-linkedin").click(function (e) {
591
- e.preventDefault();
592
-
593
- var url = "//linkedin.com/shareArticle?mini=true&url=" + + encodeURI(location.href);
594
-
595
- var w = window.open(url, "ftgw", "location=1,status=1,scrollbars=1,width=600,height=400");
596
- w.moveTo((screen.width / 2) - (300), (screen.height / 2) - (200));
597
- return false;
598
- });
599
- }
600
-
601
- $.fn[pluginName] = function (options) {
602
- var args = arguments;
603
-
604
- if (options === undefined || typeof options === 'object') {
605
- return this.each(function () {
606
- if (!$.data(this, 'plugin_' + pluginName)) {
607
- $.data(this, 'plugin_' + pluginName, new Plugin(this, options));
608
- }
609
- });
610
-
611
- } else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
612
-
613
- var returns;
614
-
615
- this.each(function () {
616
- var instance = $.data(this, 'plugin_' + pluginName);
617
-
618
- // Tests that there's already a plugin-instance
619
- // and checks that the requested public method exists
620
- if (instance instanceof Plugin && typeof instance[options] === 'function') {
621
-
622
- // Call the method of our plugin instance,
623
- // and pass it the supplied arguments.
624
- returns = instance[options].apply(instance, Array.prototype.slice.call(args, 1));
625
- }
626
-
627
- // Allow instances to be destroyed via the 'destroy' method
628
- if (options === 'destroy') {
629
- $.data(this, 'plugin_' + pluginName, null);
630
- }
631
- });
632
-
633
- return returns !== undefined ? returns : this;
634
- }
635
- };
636
-
637
- }(jQuery, window, document));
638
-
639
- jQuery( document ).ready( function($){
640
- var modulaGalleries = $('.modula-gallery');
641
- $.each( modulaGalleries, function(){
642
- var modulaID = $( this ).attr( 'id' ),
643
- modulaSettings = $( this ).data( 'config' );
644
-
645
- $( '#' + modulaID ).modulaGallery( modulaSettings );
646
-
647
- });
648
-
649
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/jquery-modula.min.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.ResizeSensor=t()}("undefined"!=typeof window?window:this,function(){if("undefined"==typeof window)return null;var e=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(e){return window.setTimeout(e,20)};function t(e,t){var i=Object.prototype.toString.call(e),n="[object Array]"===i||"[object NodeList]"===i||"[object HTMLCollection]"===i||"[object Object]"===i||"undefined"!=typeof jQuery&&e instanceof jQuery||"undefined"!=typeof Elements&&e instanceof Elements,o=0,s=e.length;if(n)for(;o<s;o++)t(e[o]);else t(e)}function i(e){if(!e.getBoundingClientRect)return{width:e.offsetWidth,height:e.offsetHeight};var t=e.getBoundingClientRect();return{width:Math.round(t.width),height:Math.round(t.height)}}var n=function(o,s){function r(){var e,t,i=[];this.add=function(e){i.push(e)},this.call=function(){for(e=0,t=i.length;e<t;e++)i[e].call()},this.remove=function(n){var o=[];for(e=0,t=i.length;e<t;e++)i[e]!==n&&o.push(i[e]);i=o},this.length=function(){return i.length}}t(o,function(t){!function(t,n){if(t)if(t.resizedAttached)t.resizedAttached.add(n);else{t.resizedAttached=new r,t.resizedAttached.add(n),t.resizeSensor=document.createElement("div"),t.resizeSensor.dir="ltr",t.resizeSensor.className="resize-sensor";var o="position: absolute; left: -10px; top: -10px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;",s="position: absolute; left: 0; top: 0; transition: 0s;";t.resizeSensor.style.cssText=o,t.resizeSensor.innerHTML='<div class="resize-sensor-expand" style="'+o+'"><div style="'+s+'"></div></div><div class="resize-sensor-shrink" style="'+o+'"><div style="'+s+' width: 200%; height: 200%"></div></div>',t.appendChild(t.resizeSensor);var d=window.getComputedStyle(t).getPropertyPriority("position");"absolute"!==d&&"relative"!==d&&"fixed"!==d&&(t.style.position="relative");var c,l,a=t.resizeSensor.childNodes[0],h=a.childNodes[0],f=t.resizeSensor.childNodes[1],u=i(t),v=u.width,p=u.height,z=function(){var e=0===t.offsetWidth&&0===t.offsetHeight;if(e){var i=t.style.display;t.style.display="block"}h.style.width="100000px",h.style.height="100000px",a.scrollLeft=1e5,a.scrollTop=1e5,f.scrollLeft=1e5,f.scrollTop=1e5,e&&(t.style.display=i)};t.resizeSensor.resetSensor=z;var y=function(){l=0,c&&(v=void 0,p=void 0,t.resizedAttached&&t.resizedAttached.call())},w=function(){var n=i(t),o=n.width,s=n.height;(c=o!=v||s!=p)&&!l&&(l=e(y)),z()},g=function(e,t,i){e.attachEvent?e.attachEvent("on"+t,i):e.addEventListener(t,i)};g(a,"scroll",w),g(f,"scroll",w),e(z)}}(t,s)}),this.detach=function(e){n.detach(o,e)},this.reset=function(){o.resizeSensor.resetSensor()}};return n.reset=function(e,i){t(e,function(e){e.resizeSensor.resetSensor()})},n.detach=function(e,i){t(e,function(e){e&&(e.resizedAttached&&"function"==typeof i&&(e.resizedAttached.remove(i),e.resizedAttached.length())||e.resizeSensor&&(e.contains(e.resizeSensor)&&e.removeChild(e.resizeSensor),delete e.resizeSensor,delete e.resizedAttached))})},n});
2
- function tg_getURLParameter(t){return decodeURIComponent((new RegExp("[?|&]"+t+"=([^&;]+?)(&|#|;|$)").exec(location.search)||[,""])[1].replace(/\+/g,"%20"))||null}jQuery(document).on("vc-full-width-row-single vc-full-width-row",function(t,i){0<jQuery("body").find(".modula").length&&jQuery(window).trigger("modula-update")}),jQuery(window).on("elementor/frontend/init",function(){window.elementorFrontend&&window.elementorFrontend.hooks.addAction("frontend/element_ready/global",function(t){0<jQuery("body").find(".modula").length&&jQuery(window).trigger("modula-update")})}),function(d,a,c,t){var o="modulaGallery",e={resizer:"/",margin:10,keepArea:!0,type:"creative-gallery",columns:12,gutter:10,enableTwitter:!1,enableFacebook:!1,enableGplus:!1,enablePinterest:!1,enableLinkedin:!1,lazyLoad:0};function s(t,i){this.element=t,this.$element=d(t),this.$itemsCnt=this.$element.find(".modula-items"),this.$items=this.$itemsCnt.find(".modula-item"),this.options=d.extend({},e,i),this._defaults=e,this._name=o,this.tiles=[],this.$tilesCnt=null,this.completed=!1,this.lastWidth=0,this.resizeTO=0,this.isPackeryActive=!1,this.init()}s.prototype.trunc=function(t){return Math.trunc?Math.trunc(t):(t=+t,isFinite(t)?t-t%1||(t<0?-0:0===t?t:0):t)},s.prototype.createCustomGallery=function(){var h,t=this.$element.width(),r=this,l=this.options.columns,i=c.documentElement.clientWidth;"1"==this.options.enableResponsive&&(i<=568?l=this.options.mobileColumns:i<=768&&(l=this.options.tabletColumns)),h=0<this.options.gutter?(t-this.options.gutter*(l-1))/l:Math.floor(t/l*1e3)/1e3,this.$items.not(".jtg-hidden").each(function(t,i){var e,n,o,s,a={};e=d(i).data("width"),n=d(i).data("height"),12<e&&(e=12),"1"==r.options.enableResponsive&&(o=e,s=n,1==l?n=(e=1)*s/o:((e=Math.round(l*o/12))<1&&(e=1),(n=Math.round(e*s/o))<1&&(n=1))),a.width=h*e+r.options.gutter*(e-1),a.height=Math.round(h)*n+r.options.gutter*(n-1),d(i).data("size",a).addClass("tiled").addClass(a.width>a.height?"tile-h":"tile-v").data("position"),d(i).css(d(i).data("size")),d(i).find(".figc").css({width:d(i).data("size").width,height:d(i).data("size").height})}),this.isPackeryActive&&this.$itemsCnt.packery("destroy"),this.$itemsCnt.packery({itemSelector:".modula-item",gutter:parseInt(r.options.gutter),columnWidth:h,resize:!1}),this.isPackeryActive=!0},s.prototype.createGrid=function(){var n=this;this.options.width&&this.$itemsCnt.width(this.options.width),this.options.height&&this.$itemsCnt.height(this.options.height),this.$itemsCnt.data("area",this.$itemsCnt.width()*this.$itemsCnt.height()),this.lastWidth=this.$itemsCnt.width();for(var t=0;t<this.$items.not(".jtg-hidden").length;t++)this.tiles.push(n.getSlot());this.tiles.sort(function(t,i){return t.position-i.position}),this.$items.not(".jtg-hidden").each(function(t,i){var e=n.tiles[t];d(i).data("size",e).addClass("tiled").addClass(e.width>e.height?"tile-h":"tile-v").data("position")}),this.$items.each(function(t,i){d(i).css(d(i).data("size")),d(i).find(".figc").css({width:d(i).data("size").width,height:d(i).data("size").height})}),this.completed=!0},s.prototype.getSlot=function(){if(0==this.tiles.length)return e={top:0,left:0,width:this.$itemsCnt.width(),height:this.$itemsCnt.height(),area:this.$itemsCnt.width()*this.$itemsCnt.height(),position:0};for(var t=0,i=0;i<this.tiles.length;i++){(e=this.tiles[i]).area>this.tiles[t].area&&(t=i)}var e={},n=this.tiles[t];if(n.width>n.height){var o=n.width/2*this.options.randomFactor;n.prevWidth=n.width,n.width=Math.floor(n.width/2+o*(Math.random()-.5)),e={top:n.top,left:n.left+n.width+this.options.margin,width:n.prevWidth-n.width-this.options.margin,height:n.height}}else{o=n.height/2*this.options.randomFactor;n.prevHeight=n.height,n.height=Math.floor(n.height/2+o*(Math.random()-.5)),e={left:n.left,top:n.top+n.height+this.options.margin,width:n.width,height:n.prevHeight-n.height-this.options.margin}}return e.area=e.width*e.height,e.position=1e3*e.top+e.left,n.position=1e3*n.top+n.left,this.tiles[t]=n,this.tiles[t].area=n.width*n.height,e},s.prototype.reset=function(){var e=this;e.tiles=[],"custom-grid"===e.options.type?(e.createCustomGallery(),e.$itemsCnt.packery()):"creative-gallery"==this.options.type&&e.createGrid(),e.$itemsCnt.find(".pic").each(function(t,i){e.placeImage(t)}),e.lastWidth=e.$itemsCnt.width()},s.prototype.onResize=function(i){i.lastWidth!=i.$itemsCnt.width()&&(clearTimeout(i.resizeTO),i.resizeTO=setTimeout(function(){if(i.options.keepArea){var t=i.$itemsCnt.data("area");i.$itemsCnt.height(t/i.$itemsCnt.width())}i.reset()},100))},s.prototype.placeImage=function(t){var i=this.$items.eq(t),e=i.find(".pic"),n=i.data("size"),o=e.data("size");if(e.parent()!=i&&(n={width:e.parent().width(),height:e.parent().height()}),void 0!==n&&void 0!==o){var s=n.width/n.height,a=o.width/o.height,h=e.data("valign")?e.data("valign"):"middle",r=e.data("halign")?e.data("halign"):"center",l={top:"auto",bottom:"auto",left:"auto",right:"auto",width:"auto",height:"auto",margin:"0",maxWidth:"999em"};if(a<s)switch(l.width=n.width,l.left=0,h){case"top":l.top=0;break;case"middle":l.top=0-(n.width*(1/a)-n.height)/2;break;case"bottom":l.bottom=0}else switch(l.height=n.height,l.top=0,r){case"left":l.left=0;break;case"center":l.left=0-(n.height*a-n.width)/2;break;case"right":l.right=0}e.css(l)}},s.prototype.loadImage=function(t){var i=this,e=i.$items.eq(t).find(".pic"),n=new Image;n.onerror=function(){console.log("error loading image ["+t+"] : "+this.src),t+1<i.$items.length&&i.loadImage(t+1)},n.onload=function(){e.data("size",{width:this.width,height:this.height}),i.placeImage(t),i.$items.eq(t).addClass("tg-loaded"),t+1<i.$items.length&&i.loadImage(t+1)};var o=e.data("src");n.src=o,e.attr("src",o)},s.prototype.init=function(){var o=this;d(c).trigger("modula_api_before_init",[o]),this.$itemsCnt.css({position:"relative",zIndex:1,"min-height":"10px"}),this.$items.addClass("tile"),this.$items.find(".pic").removeAttr("src"),"custom-grid"===this.options.type?this.createCustomGallery():"creative-gallery"==this.options.type&&this.createGrid(),"1"!=o.options.lazyLoad&&this.loadImage(0),d(a).resize(function(){o.onResize(o)}),d(a).on("modula-update",function(){o.onResize(o)}),d(c).on("lazyloaded",function(t){var i,e,n=d(t.target);"modula"==n.data("source")&&(n.data("size",{width:n.width(),height:n.height()}),(i=n.parents(".modula-item")).addClass("tg-loaded"),e=o.$items.index(i),o.placeImage(e))}),this.setupSocial(),this.options.onComplete&&this.options.onComplete(),d(c).trigger("modula_api_after_init",[o])},s.prototype.setupSocial=function(){this.options.enableTwitter&&i(this.$items,this),this.options.enableFacebook&&n(this.$items,this),this.options.enablePinterest&&r(this.$items,this),this.options.enableLinkedin&&l(this.$items,this),this.options.enableWhatsapp&&h(this.$items,this)},s.prototype.destroy=function(){this.isPackeryActive&&(this.$itemsCnt.packery("destroy"),this.isPackeryActive=!1)};var i=function(t,n){t.find(".modula-icon-twitter").click(function(t){t.preventDefault();var i=d(this).parents(".tile:first").find(".caption"),e=n.options.twitterText||c.title;return!n.options.twitterText&&1==i.length&&0<i.text().length&&(e=d.trim(i.text())),a.open("https://twitter.com/intent/tweet?url="+encodeURI(location.href.split("#")[0])+"&text="+encodeURI(e),"ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1})},n=function(t,o){t.find(".modula-icon-facebook").click(function(t){t.preventDefault();var i=d(this).parents(".tile:first").find(".pic"),e=d(this).parents(".tile:first").find(".caption");o.options.facebookText||c.title;!o.options.facebookText&&1==e.length&&0<e.text().length&&d.trim(e.text());i.attr("src");var n="//www.facebook.com/sharer.php?u="+location.href;return a.open(n,"ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1})},h=function(t,e){t.find(".modula-icon-whatsapp").click(function(t){t.preventDefault();var i=d(this).parents(".tile:first").find(".caption");e.options.whatsappText||c.title;return!e.options.whatsappText&&1==i.length&&0<i.text().length&&d.trim(i.text()),a.open("https://api.whatsapp.com/send?text="+encodeURI(a.location.href.split("#")[0])+"&preview_url=true","ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1})},r=function(t,s){t.find(".modula-icon-pinterest").click(function(t){t.preventDefault();var i=d(this).parents(".tile:first").find(".pic"),e=d(this).parents(".tile:first").find(".caption"),n=s.options.facebookText||c.title;!s.options.facebookText&&1==e.length&&0<e.text().length&&(n=d.trim(e.text()));var o="http://pinterest.com/pin/create/button/?url="+encodeURI(location.href)+"&description="+encodeURI(n);1==i.length&&(o+="&media="+function(t){var i=c.createElement("img");return i.src=t,t=i.src,i.src=null,t}(i.attr("src")));return a.open(o,"ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1})},l=function(t,i){t.find(".modula-icon-linkedin").click(function(t){t.preventDefault();var i="//linkedin.com/shareArticle?mini=true&url="+ +encodeURI(location.href);return a.open(i,"ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1})};d.fn[o]=function(i){var e,n=arguments;return i===t||"object"==typeof i?this.each(function(){d.data(this,"plugin_"+o)||d.data(this,"plugin_"+o,new s(this,i))}):"string"==typeof i&&"_"!==i[0]&&"init"!==i?(this.each(function(){var t=d.data(this,"plugin_"+o);t instanceof s&&"function"==typeof t[i]&&(e=t[i].apply(t,Array.prototype.slice.call(n,1))),"destroy"===i&&d.data(this,"plugin_"+o,null)}),e!==t?e:this):void 0}}(jQuery,window,document),jQuery(document).ready(function(e){var t=e(".modula-gallery");e.each(t,function(){var t=e(this).attr("id"),i=e(this).data("config");e("#"+t).modulaGallery(i)})});
 
 
assets/js/lightbox.js DELETED
@@ -1,638 +0,0 @@
1
- /*!
2
- * Lightbox v2.10.0
3
- * by Lokesh Dhakar
4
- *
5
- * More info:
6
- * http://lokeshdhakar.com/projects/lightbox2/
7
- *
8
- * Copyright 2007, 2018 Lokesh Dhakar
9
- * Released under the MIT license
10
- * https://github.com/lokesh/lightbox2/blob/master/LICENSE
11
- *
12
- * @preserve
13
- */
14
-
15
- // Uses Node, AMD or browser globals to create a module.
16
- (function (root, factory) {
17
- if (typeof define === 'function' && define.amd) {
18
- // AMD. Register as an anonymous module.
19
- define(['jquery'], factory);
20
- } else if (typeof exports === 'object') {
21
- // Node. Does not work with strict CommonJS, but
22
- // only CommonJS-like environments that support module.exports,
23
- // like Node.
24
- module.exports = factory(require('jquery'));
25
- } else {
26
- // Browser globals (root is window)
27
- root.lightbox = factory(root.jQuery);
28
- }
29
- }(this, function ($) {
30
-
31
- function Lightbox(options) {
32
- this.album = [];
33
- this.currentImageIndex = void 0;
34
- this.init();
35
-
36
- // options
37
- this.options = $.extend({}, this.constructor.defaults);
38
- this.option(options);
39
- }
40
-
41
- // Descriptions of all options available on the demo site:
42
- // http://lokeshdhakar.com/projects/lightbox2/index.html#options
43
- Lightbox.defaults = {
44
- albumLabel: 'Image %1 of %2',
45
- showNavigation: true,
46
- showNavigationOnMobile: false,
47
- fadeDuration: 600,
48
- fitImagesInViewport: true,
49
- imageFadeDuration: 600,
50
- // maxWidth: 800,
51
- // maxHeight: 600,
52
- positionFromTop: 50,
53
- resizeDuration: 700,
54
- showImageNumberLabel: true,
55
- wrapAround: false,
56
- disableScrolling: false,
57
- enableSwipeOnTouchDevices: true,
58
- /*
59
- Sanitize Title
60
- If the caption data is trusted, for example you are hardcoding it in, then leave this to false.
61
- This will free you to add html tags, such as links, in the caption.
62
-
63
- If the caption data is user submitted or from some other untrusted source, then set this to true
64
- to prevent xss and other injection attacks.
65
- */
66
- sanitizeTitle: false
67
- };
68
-
69
- Lightbox.prototype.option = function (options) {
70
- $.extend(this.options, options);
71
- };
72
-
73
- Lightbox.prototype.imageCountLabel = function (currentImageNum, totalImages) {
74
- return this.options.albumLabel.replace(/%1/g, currentImageNum).replace(/%2/g, totalImages);
75
- };
76
-
77
- Lightbox.prototype.mobilecheck = function () {
78
- var check = false;
79
- (function (a) {
80
- if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0, 4))) check = true;
81
- })(navigator.userAgent || navigator.vendor || window.opera);
82
- return check;
83
- };
84
-
85
- Lightbox.prototype.init = function () {
86
- var self = this;
87
- // Both enable and build methods require the body tag to be in the DOM.
88
- $(document).ready(function () {
89
- self.enable();
90
- self.build();
91
- });
92
- };
93
-
94
- // Loop through anchors and areamaps looking for either data-lightbox attributes or rel attributes
95
- // that contain 'lightbox'. When these are clicked, start lightbox.
96
- Lightbox.prototype.enable = function () {
97
- var self = this;
98
- $('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]', function (event) {
99
- self.start($(event.currentTarget));
100
- return false;
101
- });
102
- };
103
-
104
- Lightbox.prototype.swipedetect = function (el, callback) {
105
-
106
- var touchsurface = el,
107
- swipedir,
108
- startX,
109
- startY,
110
- distX,
111
- distY,
112
- threshold = 1, //required min distance traveled to be considered swipe
113
- restraint = 100, // maximum distance allowed at the same time in perpendicular direction
114
- allowedTime = 300, // maximum time allowed to travel that distance
115
- elapsedTime,
116
- startTime,
117
- handleswipe = callback || function (swipedir) {
118
- }
119
-
120
- touchsurface.addEventListener('touchstart', function (e) {
121
- var touchobj = e.changedTouches[0]
122
- swipedir = 'none'
123
- dist = 0
124
- startX = touchobj.pageX
125
- startY = touchobj.pageY
126
- startTime = new Date().getTime() // record time when finger first makes contact with surface
127
- e.preventDefault();
128
- }, false)
129
-
130
- touchsurface.addEventListener('touchmove', function (e) {
131
- e.preventDefault() // prevent scrolling when inside DIV
132
- }, false)
133
-
134
- touchsurface.addEventListener('touchend', function (e) {
135
- var touchobj = e.changedTouches[0]
136
- distX = touchobj.pageX - startX // get horizontal dist traveled by finger while in contact with surface
137
- distY = touchobj.pageY - startY // get vertical dist traveled by finger while in contact with surface
138
- elapsedTime = new Date().getTime() - startTime // get time elapsed
139
- if (elapsedTime <= allowedTime) { // first condition for awipe met
140
- if (Math.abs(distX) >= threshold && Math.abs(distY) <= restraint) { // 2nd condition for horizontal swipe met
141
- swipedir = (distX < 0) ? 'left' : 'right' // if dist traveled is negative, it indicates left swipe
142
- } else if (Math.abs(distY) >= threshold && Math.abs(distX) <= restraint) { // 2nd condition for vertical swipe met
143
- swipedir = (distY < 0) ? 'up' : 'down' // if dist traveled is negative, it indicates up swipe
144
- }
145
- }
146
-
147
- if ('none' == swipedir) {
148
- var el = $(e.target);
149
- if (el.hasClass('lb-prev')) {
150
- swipedir = 'left';
151
- } else if (el.hasClass('lb-next')) {
152
- swipedir = 'right';
153
- }
154
- }
155
- handleswipe(swipedir);
156
- e.preventDefault()
157
- }, false)
158
- };
159
-
160
- // Build html for the lightbox and the overlay.
161
- // Attach event handlers to the new DOM elements. click click click
162
- Lightbox.prototype.build = function () {
163
- if ($('#lightbox').length > 0) {
164
- return;
165
- }
166
-
167
- var self = this;
168
- $('<div id="lightboxOverlay" class="lightboxOverlay"></div><div id="lightbox" class="lightbox"><div class="lb-outerContainer"><div class="lb-container"><img class="lb-image" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /><div class="lb-nav"><a class="lb-prev" href="" ></a><a class="lb-next" href="" ></a></div><div class="lb-loader"><a class="lb-cancel"></a></div></div></div><div class="lb-dataContainer"><div class="lb-data"><div class="lb-details"><span class="lb-caption"></span><span class="lb-number"></span></div><div class="lb-closeContainer"><a class="lb-close"></a></div></div></div></div>').appendTo($('body'));
169
-
170
- // Cache jQuery objects
171
- this.$lightbox = $('#lightbox');
172
- this.$overlay = $('#lightboxOverlay');
173
- this.$outerContainer = this.$lightbox.find('.lb-outerContainer');
174
- this.$container = this.$lightbox.find('.lb-container');
175
- this.$image = this.$lightbox.find('.lb-image');
176
- this.$nav = this.$lightbox.find('.lb-nav');
177
-
178
- // Store css values for future lookup
179
- this.containerPadding = {
180
- top: parseInt(this.$container.css('padding-top'), 10),
181
- right: parseInt(this.$container.css('padding-right'), 10),
182
- bottom: parseInt(this.$container.css('padding-bottom'), 10),
183
- left: parseInt(this.$container.css('padding-left'), 10)
184
- };
185
-
186
- this.imageBorderWidth = {
187
- top: parseInt(this.$image.css('border-top-width'), 10),
188
- right: parseInt(this.$image.css('border-right-width'), 10),
189
- bottom: parseInt(this.$image.css('border-bottom-width'), 10),
190
- left: parseInt(this.$image.css('border-left-width'), 10)
191
- };
192
-
193
- // Attach event handlers to the newly minted DOM elements
194
- this.$overlay.hide().on('click', function () {
195
- self.end();
196
- jQuery(document).trigger('modula_lightbox2_lightbox_close');
197
- return false;
198
- });
199
-
200
- this.$lightbox.hide().on('click', function (event) {
201
- if ($(event.target).attr('id') === 'lightbox') {
202
- self.end();
203
- jQuery(document).trigger('modula_lightbox2_lightbox_close');
204
- }
205
- return false;
206
- });
207
-
208
- this.$outerContainer.on('click', function (event) {
209
- if ($(event.target).attr('id') === 'lightbox') {
210
- self.end();
211
- jQuery(document).trigger('modula_lightbox2_lightbox_close');
212
- }
213
- return false;
214
- });
215
-
216
- this.$lightbox.find('.lb-prev').on('click', function () {
217
-
218
- if (self.currentImageIndex === 0) {
219
- self.changeImage(self.album.length - 1);
220
- } else {
221
- self.changeImage(self.currentImageIndex - 1);
222
- }
223
-
224
- setTimeout(function(){jQuery(document).trigger('modula_lightbox2_lightbox_prev',[self,self.currentImageIndex])},600);
225
- return false;
226
- });
227
-
228
- this.$lightbox.find('.lb-next').on('click', function () {
229
-
230
- if (self.currentImageIndex === self.album.length - 1) {
231
- self.changeImage(0);
232
- } else {
233
- self.changeImage(self.currentImageIndex + 1);
234
- }
235
-
236
- setTimeout(function(){jQuery(document).trigger('modula_lightbox2_lightbox_next',[self,self.currentImageIndex])},600);
237
- return false;
238
- });
239
-
240
- var lightboxContainer = this.$lightbox.find('.lb-container')[0];
241
- self.swipedetect(lightboxContainer, function (swipedir) {
242
- // swipedir contains either "none", "left", "right", "top", or "down"
243
- if ('left' == swipedir) {
244
- if (self.currentImageIndex === self.album.length - 1) {
245
- self.changeImage(0);
246
- } else {
247
- self.changeImage(self.currentImageIndex + 1);
248
- }
249
- } else if ('right' == swipedir) {
250
- if (self.currentImageIndex === 0) {
251
- self.changeImage(self.album.length - 1);
252
- } else {
253
- self.changeImage(self.currentImageIndex - 1);
254
- }
255
- }
256
-
257
- });
258
-
259
- /*
260
- Show context menu for image on right-click
261
-
262
- There is a div containing the navigation that spans the entire image and lives above of it. If
263
- you right-click, you are right clicking this div and not the image. This prevents users from
264
- saving the image or using other context menu actions with the image.
265
-
266
- To fix this, when we detect the right mouse button is pressed down, but not yet clicked, we
267
- set pointer-events to none on the nav div. This is so that the upcoming right-click event on
268
- the next mouseup will bubble down to the image. Once the right-click/contextmenu event occurs
269
- we set the pointer events back to auto for the nav div so it can capture hover and left-click
270
- events as usual.
271
- */
272
- this.$nav.on('mousedown', function (event) {
273
- if (event.which === 3) {
274
- self.$nav.css('pointer-events', 'none');
275
-
276
- self.$lightbox.one('contextmenu', function () {
277
- setTimeout(function () {
278
- this.$nav.css('pointer-events', 'auto');
279
- }.bind(self), 0);
280
- });
281
- }
282
- });
283
-
284
-
285
- this.$lightbox.find('.lb-loader, .lb-close').on('click', function () {
286
- self.end();
287
- jQuery(document).trigger('modula_lightbox2_lightbox_close');
288
- return false;
289
- });
290
- };
291
-
292
- // Show overlay and lightbox. If the image is part of a set, add siblings to album array.
293
- Lightbox.prototype.start = function ($link) {
294
-
295
- var self = this;
296
- var $window = $(window);
297
-
298
- $window.on('resize', $.proxy(this.sizeOverlay, this));
299
-
300
- $('select, object, embed').css({
301
- visibility: 'hidden'
302
- });
303
-
304
- this.sizeOverlay();
305
-
306
- this.album = [];
307
- var imageNumber = 0;
308
-
309
- function addToAlbum($link) {
310
- self.album.push({
311
- alt: $link.attr('data-alt'),
312
- link: $link.attr('href'),
313
- title: $link.attr('data-title') || $link.attr('title'),
314
- });
315
- }
316
-
317
- // Support both data-lightbox attribute and rel attribute implementations
318
- var dataLightboxValue = $link.attr('data-lightbox');
319
- var $links, $filteredLinks;
320
-
321
- if (dataLightboxValue) {
322
- $links = $($link.prop('tagName') + '[data-lightbox="' + dataLightboxValue + '"]');
323
- $filteredLinks = $links.filter( '[data-cyclefilter=show]' );
324
- if ( $filteredLinks.length > 0 && $filteredLinks.length != $links.length ) {
325
- $links = $filteredLinks;
326
- }
327
-
328
- for (var i = 0; i < $links.length; i = ++i) {
329
- addToAlbum($($links[i]));
330
- if ($links[i] === $link[0]) {
331
- imageNumber = i;
332
- }
333
- }
334
- } else {
335
- if ($link.attr('rel') === 'lightbox') {
336
- // If image is not part of a set
337
- addToAlbum($link);
338
- } else {
339
- // If image is part of a set
340
- $links = $($link.prop('tagName') + '[rel="' + $link.attr('rel') + '"]');
341
- $filteredLinks = $links.filter( '[data-cyclefilter=show]' );
342
- if ( $filteredLinks.length > 0 && $filteredLinks.length != $links.length ) {
343
- $links = $filteredLinks;
344
- }
345
- for (var j = 0; j < $links.length; j = ++j) {
346
- addToAlbum($($links[j]));
347
- if ($links[j] === $link[0]) {
348
- imageNumber = j;
349
- }
350
- }
351
- }
352
- }
353
-
354
- // Position Lightbox
355
- var top = $window.scrollTop() + this.options.positionFromTop;
356
- var left = $window.scrollLeft();
357
- this.$lightbox.css({
358
- top: top + 'px',
359
- left: left + 'px'
360
- }).fadeIn(this.options.fadeDuration);
361
-
362
- // Disable scrolling of the page while open
363
- if (this.options.disableScrolling) {
364
- $('html').addClass('lb-disable-scrolling');
365
- }
366
-
367
- this.changeImage(imageNumber);
368
-
369
- setTimeout(function(){jQuery(document).trigger('modula_lightbox2_lightbox_open',[self,$link]);},600);
370
- };
371
-
372
- // Hide most UI elements in preparation for the animated resizing of the lightbox.
373
- Lightbox.prototype.changeImage = function (imageNumber) {
374
- var self = this;
375
-
376
- this.disableKeyboardNav();
377
- var $image = this.$lightbox.find('.lb-image');
378
-
379
- this.$overlay.fadeIn(this.options.fadeDuration);
380
-
381
- $('.lb-loader').fadeIn('slow');
382
- this.$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide();
383
-
384
- this.$outerContainer.addClass('animating');
385
-
386
- // When image to show is preloaded, we send the width and height to sizeContainer()
387
- var preloader = new Image();
388
- preloader.onload = function () {
389
- var $preloader;
390
- var imageHeight;
391
- var imageWidth;
392
- var maxImageHeight;
393
- var maxImageWidth;
394
- var windowHeight;
395
- var windowWidth;
396
-
397
- $image.attr({
398
- 'alt': self.album[imageNumber].alt,
399
- 'src': self.album[imageNumber].link
400
- });
401
-
402
- $preloader = $(preloader);
403
-
404
- $image.width(preloader.width);
405
- $image.height(preloader.height);
406
-
407
- if (self.options.fitImagesInViewport) {
408
- // Fit image inside the viewport.
409
- // Take into account the border around the image and an additional 10px gutter on each side.
410
-
411
- windowWidth = $(window).width();
412
- windowHeight = $(window).height();
413
- maxImageWidth = windowWidth - self.containerPadding.left - self.containerPadding.right - self.imageBorderWidth.left - self.imageBorderWidth.right - 20;
414
- maxImageHeight = windowHeight - self.containerPadding.top - self.containerPadding.bottom - self.imageBorderWidth.top - self.imageBorderWidth.bottom - 120;
415
-
416
- // Check if image size is larger then maxWidth|maxHeight in settings
417
- if (self.options.maxWidth && self.options.maxWidth < maxImageWidth) {
418
- maxImageWidth = self.options.maxWidth;
419
- }
420
- if (self.options.maxHeight && self.options.maxHeight < maxImageWidth) {
421
- maxImageHeight = self.options.maxHeight;
422
- }
423
-
424
- // Is the current image's width or height is greater than the maxImageWidth or maxImageHeight
425
- // option than we need to size down while maintaining the aspect ratio.
426
- if ((preloader.width > maxImageWidth) || (preloader.height > maxImageHeight)) {
427
- if ((preloader.width / maxImageWidth) > (preloader.height / maxImageHeight)) {
428
- imageWidth = maxImageWidth;
429
- imageHeight = parseInt(preloader.height / (preloader.width / imageWidth), 10);
430
- $image.width(imageWidth);
431
- $image.height(imageHeight);
432
- } else {
433
- imageHeight = maxImageHeight;
434
- imageWidth = parseInt(preloader.width / (preloader.height / imageHeight), 10);
435
- $image.width(imageWidth);
436
- $image.height(imageHeight);
437
- }
438
- }
439
- }
440
- self.sizeContainer($image.width(), $image.height());
441
- };
442
-
443
- preloader.src = this.album[imageNumber].link;
444
- this.currentImageIndex = imageNumber;
445
- };
446
-
447
- // Stretch overlay to fit the viewport
448
- Lightbox.prototype.sizeOverlay = function () {
449
- this.$overlay
450
- .width($(document).width())
451
- .height($(document).height());
452
- };
453
-
454
- // Animate the size of the lightbox to fit the image we are showing
455
- Lightbox.prototype.sizeContainer = function (imageWidth, imageHeight) {
456
- var self = this;
457
-
458
- var oldWidth = this.$outerContainer.outerWidth();
459
- var oldHeight = this.$outerContainer.outerHeight();
460
- var newWidth = imageWidth + this.containerPadding.left + this.containerPadding.right + this.imageBorderWidth.left + this.imageBorderWidth.right;
461
- var newHeight = imageHeight + this.containerPadding.top + this.containerPadding.bottom + this.imageBorderWidth.top + this.imageBorderWidth.bottom;
462
-
463
- function postResize() {
464
- self.$lightbox.find('.lb-dataContainer').width(newWidth);
465
- self.$lightbox.find('.lb-prevLink').height(newHeight);
466
- self.$lightbox.find('.lb-nextLink').height(newHeight);
467
- self.showImage();
468
- }
469
-
470
- if (oldWidth !== newWidth || oldHeight !== newHeight) {
471
- this.$outerContainer.animate({
472
- width: newWidth,
473
- height: newHeight
474
- }, this.options.resizeDuration, 'swing', function () {
475
- postResize();
476
- });
477
- } else {
478
- postResize();
479
- }
480
- };
481
-
482
- // Display the image and its details and begin preload neighboring images.
483
- Lightbox.prototype.showImage = function () {
484
- this.$lightbox.find('.lb-loader').stop(true).hide();
485
- this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration);
486
-
487
- this.updateNav();
488
- this.updateDetails();
489
- this.preloadNeighboringImages();
490
- this.enableKeyboardNav();
491
- };
492
-
493
- // Display previous and next navigation if appropriate.
494
- Lightbox.prototype.updateNav = function () {
495
- // Check to see if the browser supports touch events. If so, we take the conservative approach
496
- // and assume that mouse hover events are not supported and always show prev/next navigation
497
- // arrows in image sets.
498
- var showNav = (this.options.showNavigation) ? true : false,
499
- alwaysShowNav = false,
500
- enableSwipe = false;
501
- try {
502
- document.createEvent('TouchEvent');
503
- enableSwipe = (this.options.enableSwipeOnTouchDevices) ? true : false;
504
- alwaysShowNav = true;
505
- } catch (e) {
506
- }
507
-
508
- if (this.mobilecheck()) {
509
- showNav = (this.options.showNavigationOnMobile) ? true : false;
510
- }
511
-
512
- if (showNav) {
513
- this.$lightbox.find('.lb-nav').show();
514
-
515
- if (this.album.length > 1) {
516
- if (this.options.wrapAround) {
517
- if (alwaysShowNav) {
518
- this.$lightbox.find('.lb-prev, .lb-next').css('opacity', '1');
519
- }
520
- this.$lightbox.find('.lb-prev, .lb-next').show();
521
- } else {
522
- if (this.currentImageIndex > 0) {
523
- this.$lightbox.find('.lb-prev').show();
524
- if (alwaysShowNav) {
525
- this.$lightbox.find('.lb-prev').css('opacity', '1');
526
- }
527
- }
528
- if (this.currentImageIndex < this.album.length - 1) {
529
- this.$lightbox.find('.lb-next').show();
530
- if (alwaysShowNav) {
531
- this.$lightbox.find('.lb-next').css('opacity', '1');
532
- }
533
- }
534
- }
535
- }
536
- } else {
537
- this.$lightbox.find('.lb-nav').hide();
538
- }
539
- };
540
-
541
- // Display caption, image number, and closing button.
542
- Lightbox.prototype.updateDetails = function () {
543
- var self = this;
544
-
545
- // Enable anchor clicks in the injected caption html.
546
- // Thanks Nate Wright for the fix. @https://github.com/NateWr
547
- if (typeof this.album[this.currentImageIndex].title !== 'undefined' &&
548
- this.album[this.currentImageIndex].title !== '') {
549
- var $caption = this.$lightbox.find('.lb-caption');
550
- if (this.options.sanitizeTitle) {
551
- $caption.text(this.album[this.currentImageIndex].title);
552
- } else {
553
- $caption.html(this.album[this.currentImageIndex].title);
554
- }
555
- $caption.fadeIn('fast')
556
- .find('a').on('click', function (event) {
557
- if ($(this).attr('target') !== undefined) {
558
- window.open($(this).attr('href'), $(this).attr('target'));
559
- } else {
560
- location.href = $(this).attr('href');
561
- }
562
- });
563
- }
564
-
565
- if (this.album.length > 1 && this.options.showImageNumberLabel) {
566
- var labelText = this.imageCountLabel(this.currentImageIndex + 1, this.album.length);
567
- this.$lightbox.find('.lb-number').text(labelText).fadeIn('fast');
568
- } else {
569
- this.$lightbox.find('.lb-number').hide();
570
- }
571
-
572
- this.$outerContainer.removeClass('animating');
573
-
574
- this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function () {
575
- return self.sizeOverlay();
576
- });
577
- };
578
-
579
- // Preload previous and next images in set.
580
- Lightbox.prototype.preloadNeighboringImages = function () {
581
- if (this.album.length > this.currentImageIndex + 1) {
582
- var preloadNext = new Image();
583
- preloadNext.src = this.album[this.currentImageIndex + 1].link;
584
- }
585
- if (this.currentImageIndex > 0) {
586
- var preloadPrev = new Image();
587
- preloadPrev.src = this.album[this.currentImageIndex - 1].link;
588
- }
589
- };
590
-
591
- Lightbox.prototype.enableKeyboardNav = function () {
592
- $(document).on('keyup.keyboard', $.proxy(this.keyboardAction, this));
593
- };
594
-
595
- Lightbox.prototype.disableKeyboardNav = function () {
596
- $(document).off('.keyboard');
597
- };
598
-
599
- Lightbox.prototype.keyboardAction = function (event) {
600
- var KEYCODE_ESC = 27;
601
- var KEYCODE_LEFTARROW = 37;
602
- var KEYCODE_RIGHTARROW = 39;
603
-
604
- var keycode = event.keyCode;
605
- var key = String.fromCharCode(keycode).toLowerCase();
606
- if (keycode === KEYCODE_ESC || key.match(/x|o|c/)) {
607
- this.end();
608
- } else if (key === 'p' || keycode === KEYCODE_LEFTARROW) {
609
- if (this.currentImageIndex !== 0) {
610
- this.changeImage(this.currentImageIndex - 1);
611
- } else if (this.options.wrapAround && this.album.length > 1) {
612
- this.changeImage(this.album.length - 1);
613
- }
614
- } else if (key === 'n' || keycode === KEYCODE_RIGHTARROW) {
615
- if (this.currentImageIndex !== this.album.length - 1) {
616
- this.changeImage(this.currentImageIndex + 1);
617
- } else if (this.options.wrapAround && this.album.length > 1) {
618
- this.changeImage(0);
619
- }
620
- }
621
- };
622
-
623
- // Closing time. :-(
624
- Lightbox.prototype.end = function () {
625
- this.disableKeyboardNav();
626
- $(window).off('resize', this.sizeOverlay);
627
- this.$lightbox.fadeOut(this.options.fadeDuration);
628
- this.$overlay.fadeOut(this.options.fadeDuration);
629
- $('select, object, embed').css({
630
- visibility: 'visible'
631
- });
632
- if (this.options.disableScrolling) {
633
- $('html').removeClass('lb-disable-scrolling');
634
- }
635
- };
636
-
637
- return new Lightbox();
638
- }));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/lightbox.min.js CHANGED
File without changes