Gallery – Photo Gallery – Image Gallery - Version 2.0.1

Version Description

  • 12.17.2018 =
  • Major Update
  • Build Custom Grids - Take full control of your galleries.
  • New Admin Interface - For a more intuitive user interface, weve blended Modula right into WordPress.
  • Drag & Drop to Upload Images
  • Guidelines to Help You Make the Perfect Gallery (edited)
  • Preview your Gallery Without the Hassle
Download this release

Release Info

Developer machothemes
Plugin Icon wp plugin Gallery – Photo Gallery – Image Gallery
Version 2.0.1
Comparing to
See all releases

Code changes from version 1.3.7 to 2.0.1

Files changed (62) hide show
  1. Modula.php +37 -1422
  2. README.txt +15 -24
  3. admin/add-gallery.php +0 -121
  4. admin/css/colors.css +0 -0
  5. admin/css/materialize.css +0 -5702
  6. admin/css/style.css +0 -1482
  7. admin/edit-gallery.php +0 -393
  8. admin/fancybox/jquery.fancybox.css +0 -771
  9. admin/fancybox/jquery.fancybox.js +0 -5629
  10. admin/fancybox/jquery.fancybox.min.css +0 -1
  11. admin/fancybox/jquery.fancybox.min.js +0 -13
  12. admin/fix.php +0 -109
  13. admin/font/roboto/Roboto-Bold-webfont.eot +0 -0
  14. admin/font/roboto/Roboto-Bold-webfont.svg +0 -593
  15. admin/font/roboto/Roboto-Bold-webfont.ttf +0 -0
  16. admin/font/roboto/Roboto-Bold-webfont.woff +0 -0
  17. admin/font/roboto/Roboto-Light-webfont.eot +0 -0
  18. admin/font/roboto/Roboto-Light-webfont.svg +0 -641
  19. admin/font/roboto/Roboto-Light-webfont.ttf +0 -0
  20. admin/font/roboto/Roboto-Light-webfont.woff +0 -0
  21. admin/font/roboto/Roboto-Regular-webfont.eot +0 -0
  22. admin/font/roboto/Roboto-Regular-webfont.svg +0 -621
  23. admin/font/roboto/Roboto-Regular-webfont.ttf +0 -0
  24. admin/font/roboto/Roboto-Regular-webfont.woff +0 -0
  25. admin/header.php +0 -4
  26. admin/images/captions-settings.jpg +0 -0
  27. admin/images/circles.jpg +0 -0
  28. admin/images/creative-gallery-settings.jpg +0 -0
  29. admin/images/custom-grid-settings.jpg +0 -0
  30. admin/images/customizations-settings.jpg +0 -0
  31. admin/images/drag-and-drop-upload.jpg +0 -0
  32. admin/images/final.jpg +0 -0
  33. admin/images/galleries-list.jpg +0 -0
  34. admin/images/gallery-edit.jpg +0 -0
  35. admin/images/helper-grid.jpg +0 -0
  36. admin/images/hover-effects-settings.jpg +0 -0
  37. admin/images/icon-shortpixel.png +0 -0
  38. admin/images/landscape-portrait.jpg +0 -0
  39. admin/images/live-preview.jpg +0 -0
  40. admin/images/loading-effects-settings.jpg +0 -0
  41. admin/images/material-design.gif +0 -0
  42. admin/images/modula-logo.jpg +0 -0
  43. admin/images/modula-v2-custom-grid.png +0 -0
  44. admin/images/modula-v2-drag-and-drop-upload.png +0 -0
  45. admin/images/modula-v2-familiar-dashboard.png +0 -0
  46. admin/images/modula-v2-helper-grid.png +0 -0
  47. admin/images/modula-v2-intuitive-settings.png +0 -0
  48. admin/images/modula-v2-landscape-or-portrait.png +0 -0
  49. admin/images/modula-v2-live-preview.png +0 -0
  50. admin/images/modula.svg +0 -48
  51. admin/images/social-settings.jpg +0 -0
  52. admin/images/square.gif +0 -0
  53. admin/images/style-settings.jpg +0 -0
  54. admin/images/survey.png +0 -0
  55. admin/images/tip.png +0 -0
  56. admin/import.php +0 -81
  57. admin/include/image-list.php +0 -69
  58. admin/include/tinymce-galleries.php +0 -83
  59. admin/modula-v2.php +0 -99
  60. admin/overview.php +0 -177
  61. admin/scripts/editor-plugin.js +0 -32
  62. admin/scripts/materialize.js +0 -7032
Modula.php CHANGED
@@ -2,1438 +2,53 @@
2
  /**
3
  * Plugin Name: Modula
4
  * Plugin URI: https://wp-modula.com/
5
- * Description: Modula is one of the best & most creative WordPress gallery plugins. Use it to create a great grid or
6
- * masonry image gallery.
7
  * Author: Macho Themes
8
- * Version: 1.3.7
9
  * Author URI: https://www.machothemes.com/
10
  */
11
 
12
- define( 'MODULA_PLUGIN_DIR_PATH', plugin_dir_path( __FILE__ ) );
13
- define( 'MODULA_PLUGIN_DIR_URL', plugin_dir_url( __FILE__ ) );
14
-
15
- define( 'MODULA_VERSION', '1.3.7' );
16
- define( 'MODULA_PLUGIN_BASE', plugin_basename( __FILE__ ) );
17
- define( 'MODULA_PREVIOUS_PLUGIN_VERSION', '1.3.3' );
18
- define( 'MODULA_FILE_', __FILE__ );
19
-
20
- function modula_lite_create_db_tables() {
21
- include_once( MODULA_PLUGIN_DIR_PATH . '/lib/install-db.php' );
22
- modula_lite_install_db();
23
- }
24
-
25
- class ModulaLite {
26
-
27
- private $loadedData;
28
- private $fields = array();
29
-
30
- private $version = "1.3.6";
31
-
32
- private $defaultValues = array(
33
- 'width' => 100,
34
- 'height' => 800,
35
- 'img_size' => 500,
36
- 'margin' => 10,
37
- 'filters' => '',
38
- 'filterClick' => 'F',
39
- 'allFilterLabel' => 'All',
40
- 'lightbox' => 'lightbox2',
41
- 'shuffle' => 'F',
42
- 'captionColor' => '#ffffff',
43
- 'wp_field_caption' => 'caption',
44
- 'wp_field_title' => 'title',
45
- 'captionFontSize' => 14,
46
- 'titleFontSize' => 16,
47
- 'enableTwitter' => 'T',
48
- 'enableFacebook' => 'T',
49
- 'enableGplus' => 'T',
50
- 'enablePinterest' => 'T',
51
- 'socialIconColor' => '#ffffff',
52
- 'loadedScale' => 100,
53
- 'loadedRotate' => 0,
54
- 'loadedHSlide' => 0,
55
- 'loadedVSlide' => 0,
56
- 'borderSize' => 0,
57
- 'borderRadius' => 0,
58
- 'borderColor' => '#ffffff',
59
- 'shadowSize' => 0,
60
- 'shadowColor' => '#ffffff',
61
- 'style' => '',
62
- 'randomFactor' => 50,
63
- 'hoverColor' => '#000000',
64
- 'hoverOpacity' => '50',
65
- 'hoverEffect' => 'pufrobo',
66
- 'hasResizedImages' => false,
67
- 'importedFrom' => '',
68
- 'hide_title' => false,
69
- 'hide_description' => false,
70
- );
71
-
72
- public function __construct() {
73
- $this->plugin_name = plugin_basename( __FILE__ );
74
- $this->plugin_url = plugins_url( '', __FILE__ );
75
- $this->define_constants();
76
- $this->define_db_tables();
77
- $this->define_hover_effects();
78
- $this->ModulaDB = $this->create_db_conn();
79
-
80
- add_filter( 'widget_text', 'do_shortcode' );
81
- add_filter( 'mce_buttons', array( $this, 'editor_button' ) );
82
- add_filter( 'mce_external_plugins', array( $this, 'register_editor_plugin' ) );
83
-
84
- add_action( 'init', array( $this, 'create_textdomain' ) );
85
-
86
- add_action( 'wp_enqueue_scripts', array( $this, 'add_gallery_scripts' ) );
87
-
88
- add_action( 'admin_menu', array( $this, 'add_gallery_admin_menu' ) );
89
-
90
- add_shortcode( 'Modula', array( $this, 'gallery_shortcode_handler' ) );
91
- add_filter( 'the_content', array( $this, 'shortcode_empty_paragraph_fix' ), 99 );
92
-
93
- add_action( 'wp_ajax_modula_save_gallery', array( $this, 'save_gallery' ) );
94
- add_action( 'wp_ajax_modula_save_image', array( $this, 'save_image' ) );
95
- add_action( 'wp_ajax_modula_add_image', array( $this, 'add_image' ) );
96
- add_action( 'wp_ajax_modula_list_images', array( $this, 'list_images' ) );
97
- add_action( 'wp_ajax_modula_sort_images', array( $this, 'sort_images' ) );
98
- add_action( 'wp_ajax_modula_delete_image', array( $this, 'delete_image' ) );
99
- add_action( 'wp_ajax_modula_resize_images', array( $this, 'resize_images' ) );
100
- add_action( 'wp_ajax_modula_delete_gallery', array( $this, 'delete_gallery' ) );
101
- add_action( 'wp_ajax_modula_clone_gallery', array( $this, 'clone_gallery' ) );
102
- add_action( 'wp_ajax_modula_create_gallery', array( $this, 'create_gallery' ) );
103
- add_action( 'wp_ajax_mtg_shortcode_editor', array( $this, 'mtg_shortcode_editor' ) );
104
- add_action( 'wp_ajax_modula_get_config', array( $this, 'get_config' ) );
105
- add_action( 'wp_ajax_modula_update_config', array( $this, 'update_config' ) );
106
- add_action( 'wp_ajax_modula_get_ext_galleries', array( $this, 'get_ext_galleries' ) );
107
- add_action( 'wp_ajax_modula_do_import_galleries', array( $this, 'do_import_galleries' ) );
108
-
109
- add_filter( 'plugin_row_meta', array( $this, 'register_links' ), 10, 2 );
110
- add_filter( 'admin_footer_text', array( $this, 'admin_footer' ), 1, 2 );
111
-
112
- // Enqueue Fancybox for Modula 2.0 Page
113
- add_action( 'admin_enqueue_scripts', array( $this, 'modula_beta_scripts' ) );
114
-
115
-
116
- // Set fields
117
- $this->fields[ __( 'General', 'modula-gallery' ) ] = array(
118
- "icon" => "mdi mdi-settings",
119
- "fields" => array(
120
- "name" => array(
121
- "name" => esc_html__( 'Name', 'modula-gallery' ),
122
- "type" => "text",
123
- "description" => esc_html__( 'Name of the gallery, for internal use.', 'modula-gallery' ),
124
- "excludeFrom" => array(),
125
- ),
126
- "description" => array(
127
- "name" => esc_html__( 'Description', 'modula-gallery' ),
128
- "type" => "text",
129
- "description" => esc_html__( 'This description is for internal use.', 'modula-gallery' ),
130
- "excludeFrom" => array(),
131
- ),
132
- "width" => array(
133
- "name" => esc_html__( 'Width', 'modula-gallery' ),
134
- "type" => "text",
135
- "description" => esc_html__( 'Width of the gallery (i.e.: 100% or 500px)', 'modula-gallery' ),
136
- "mu" => "px or %",
137
- "excludeFrom" => array(),
138
- ),
139
- "height" => array(
140
- "name" => esc_html__( 'Height', 'modula-gallery' ),
141
- "type" => "number",
142
- "description" => esc_html__( 'Height of the gallery in pixels', 'modula-gallery' ),
143
- "mu" => "px",
144
- "excludeFrom" => array(),
145
- ),
146
- "img_size" => array(
147
- "name" => esc_html__( 'Minimum image size', 'modula-gallery' ),
148
- "type" => "number",
149
- "description" => esc_html__( 'Minimum width or height of the images', 'modula-gallery' ),
150
- "mu" => "px or %",
151
- "excludeFrom" => array(),
152
- ),
153
- "margin" => array(
154
- "name" => esc_html__( 'Margin', 'modula-gallery' ),
155
- "type" => "number",
156
- "description" => esc_html__( 'Margin between images', 'modula-gallery' ),
157
- "mu" => "px",
158
- "excludeFrom" => array(),
159
- ),
160
- "randomFactor" => array(
161
- "name" => esc_html__( 'Random factor', 'modula-gallery' ),
162
- "type" => "ui-slider",
163
- "description" => "",
164
- "min" => 0,
165
- "max" => 100,
166
- "mu" => "%",
167
- "default" => 20,
168
- "excludeFrom" => array(),
169
- ),
170
- "filters" => array(
171
- "name" => esc_html__( 'Filters', 'modula-gallery' ),
172
- "type" => "PRO_FEATURE",
173
- "description" => esc_html__( 'Add your own filters here. Each image can have one or more filters.', 'modula-gallery' ),
174
- "excludeFrom" => array(),
175
- ),
176
- "filterClick" => array(
177
- "name" => esc_html__( 'Reload Page on filter click', 'modula-gallery' ),
178
- "type" => "PRO_FEATURE",
179
- "description" => esc_html__( 'Turn this feature ON if you want to use filters with most lightboxes', 'modula-gallery' ),
180
- "excludeFrom" => array(),
181
- ),
182
- "allFilterLabel" => array(
183
- "name" => esc_html__( 'Text for "All" filter', 'modula-gallery' ),
184
- "type" => "PRO_FEATURE",
185
- "description" => esc_html__( 'Write here the label for the "All" filter', 'modula-gallery' ),
186
- "default" => "All",
187
- "excludeFrom" => array(),
188
- ),
189
- "lightbox" => array(
190
- "name" => esc_html__( 'Lightbox & Links', 'modula-gallery' ),
191
- "type" => "select",
192
- "description" => esc_html__( 'Define here what happens when user click on the images.', 'modula-gallery' ),
193
- "values" => array(
194
- "Link" => array(
195
- "|" . esc_html__( 'No link', 'modula-gallery' ),
196
- "direct|" . esc_html__( 'Direct link to image', 'modula-gallery' ),
197
- "|" . esc_html__( 'Attachment page', 'modula-gallery' )
198
- ),
199
- "Lightboxes" => array( "lightbox2|Lightbox" ),
200
- ),
201
- "disabled" => array(
202
- "Lightboxes with PRO license" => array(
203
- "magnific|Magnific popup",
204
- "prettyphoto|PrettyPhoto",
205
- "fancybox|FancyBox",
206
- "swipebox|SwipeBox",
207
- "lightbox2|Lightbox",
208
- ),
209
- ),
210
- "excludeFrom" => array(),
211
- ),
212
- "shuffle" => array(
213
- "name" => esc_html__( 'Shuffle images', 'modula-gallery' ),
214
- "type" => "toggle",
215
- "default" => "T",
216
- "description" => esc_html__( 'Flag it if you want to shuffle the gallery at each page load', 'modula-gallery' ),
217
- "excludeFrom" => array(),
218
- ),
219
- ),
220
- );
221
- $this->fields[ esc_html__( 'Captions', 'modula-gallery' ) ] = array(
222
- "icon" => "mdi mdi-comment-text-outline",
223
- "fields" => array(
224
- "captionColor" => array(
225
- "name" => esc_html__( 'Caption color', 'modula-gallery' ),
226
- "type" => "color",
227
- "description" => esc_html__( 'Color of the caption.', 'modula-gallery' ),
228
- "default" => "#ffffff",
229
- "excludeFrom" => array(),
230
- ),
231
- "wp_field_caption" => array(
232
- "name" => esc_html__( 'Populate caption from', 'modula-gallery' ),
233
- "type" => "select",
234
- "description" => __( '<strong>This field is used ONLY when images are added to the gallery. </strong> If you don\'t want to automatically populate the caption field select <i>Don\'t Populate</i>', 'modula-gallery' ),
235
- "values" => array(
236
- "Field" => array(
237
- "none|" . esc_html__( 'Don\'t Populate', 'modula-gallery' ),
238
- "title|" . esc_html__( 'WP Image title', 'modula-gallery' ),
239
- "caption|" . esc_html__( 'WP Image caption', 'modula-gallery' ),
240
- "description|" . esc_html__( 'WP Image description', 'modula-gallery' ),
241
- ),
242
- ),
243
- "excludeFrom" => array( "shortcode" ),
244
- ),
245
- "wp_field_title" => array(
246
- "name" => esc_html__( 'Populate title from', 'modula-gallery' ),
247
- "type" => "select",
248
- "description" => __( '<strong>This field is used ONLY when images are added to the gallery. </strong> If you don\'t want to automatically populate the title field select <i>Don\'t Populate</i>', 'modula-gallery' ),
249
- "values" => array(
250
- "Field" => array(
251
- "none|" . esc_html__( 'Don\'t Populate', 'modula-gallery' ),
252
- "title|" . esc_html__( 'WP Image title', 'modula-gallery' ),
253
- "description|" . esc_html__( 'WP Image description', 'modula-gallery' ),
254
- ),
255
- ),
256
- "excludeFrom" => array( "shortcode" ),
257
- ),
258
- "hide_title" => array(
259
- "name" => esc_html__( 'Image Title', 'modula-gallery' ),
260
- "type" => "toggle",
261
- "default" => "T",
262
- "description" => esc_html__( 'Hide image title from frontend', 'modula-gallery' ),
263
- "excludeFrom" => array(),
264
- ),
265
- "hide_description" => array(
266
- "name" => esc_html__( 'Image Description', 'modula-gallery' ),
267
- "type" => "toggle",
268
- "default" => "T",
269
- "description" => esc_html__( 'Hide image description from frontend', 'modula-gallery' ),
270
- "excludeFrom" => array(),
271
- ),
272
- "captionFontSize" => array(
273
- "name" => esc_html__( 'Caption Font Size', 'modula-gallery' ),
274
- "type" => "number",
275
- "description" => "",
276
- "mu" => "px",
277
- "excludeFrom" => array(),
278
- ),
279
- "titleFontSize" => array(
280
- "name" => esc_html__( 'Title Font Size', 'modula-gallery' ),
281
- "type" => "number",
282
- "description" => "",
283
- "mu" => "px",
284
- "excludeFrom" => array(),
285
- ),
286
- ),
287
- );
288
-
289
- $this->fields[ esc_html__( 'Social', 'modula-gallery' ) ] = array(
290
- "icon" => "mdi mdi-link-variant",
291
- "fields" => array(
292
- "enableTwitter" => array(
293
- "name" => esc_html__( 'Add Twitter icon', 'modula-gallery' ),
294
- "type" => "toggle",
295
- "default" => "T",
296
- "description" => esc_html__( 'Enable Twitter Sharing', 'modula-gallery' ),
297
- "excludeFrom" => array(),
298
- ),
299
- "enableFacebook" => array(
300
- "name" => esc_html__( 'Add Facebook icon', 'modula-gallery' ),
301
- "type" => "toggle",
302
- "default" => "T",
303
- "description" => esc_html__( 'Enable Facebook Sharing', 'modula-gallery' ),
304
- "excludeFrom" => array(),
305
- ),
306
- "enableGplus" => array(
307
- "name" => esc_html__( 'Add Google Plus icon', 'modula-gallery' ),
308
- "type" => "toggle",
309
- "default" => "T",
310
- "description" => esc_html__( 'Enable Google Plus Sharing', 'modula-gallery' ),
311
- "excludeFrom" => array(),
312
- ),
313
- "enablePinterest" => array(
314
- "name" => esc_html__( 'Add Pinterest icon', 'modula-gallery' ),
315
- "type" => "toggle",
316
- "default" => "T",
317
- "description" => esc_html__( 'Enable Pinterest Sharing', 'modula-gallery' ),
318
- "excludeFrom" => array(),
319
- ),
320
- "socialIconColor" => array(
321
- "name" => esc_html__( 'Color of social sharing icons', 'modula-gallery' ),
322
- "type" => "color",
323
- "description" => esc_html__( 'Set the color of the social sharing icons', 'modula-gallery' ),
324
- "default" => "#ffffff",
325
- "excludeFrom" => array(),
326
- ),
327
- ),
328
-
329
- );
330
- $this->fields[ esc_html__( 'Image loaded effects', 'modula-gallery' ) ] = array(
331
- "icon" => "mdi mdi-reload",
332
- "fields" => array(
333
- "loadedScale" => array(
334
- "name" => esc_html__( 'Scale', 'modula-gallery' ),
335
- "description" => esc_html__( 'Choose a value below 100% for a zoom-in effect. Choose a value over 100% for a zoom-out effect', 'modula-gallery' ),
336
- "type" => "ui-slider",
337
- "min" => 0,
338
- "max" => 200,
339
- "mu" => "%",
340
- "default" => 100,
341
- "excludeFrom" => array(),
342
- ),
343
- "loadedRotate" => array(
344
- "name" => esc_html__( 'Rotate', 'modula-gallery' ),
345
- "description" => "",
346
- "type" => "PRO_FEATURE",
347
- "min" => - 180,
348
- "max" => 180,
349
- "default" => 0,
350
- "mu" => "deg",
351
- "excludeFrom" => array(),
352
- ),
353
- "loadedHSlide" => array(
354
- "name" => esc_html__( 'Horizontal slide', 'modula-gallery' ),
355
- "description" => "",
356
- "type" => "PRO_FEATURE",
357
- "min" => - 100,
358
- "max" => 100,
359
- "mu" => "px",
360
- "default" => 0,
361
- "excludeFrom" => array(),
362
- ),
363
- "loadedVSlide" => array(
364
- "name" => esc_html__( 'Vertical slide', 'modula-gallery' ),
365
- "description" => "",
366
- "type" => "PRO_FEATURE",
367
- "min" => - 100,
368
- "max" => 100,
369
- "mu" => "px",
370
- "default" => 0,
371
- "excludeFrom" => array(),
372
- ),
373
-
374
- ),
375
- );
376
- $this->fields[ esc_html__( 'Hover effect', 'modula-gallery' ) ] = array(
377
- "icon" => "mdi mdi-blur",
378
- "fields" => array(
379
- "Effect" => array(
380
- "name" => esc_html__( 'Effect', 'modula-gallery' ),
381
- "description" => esc_html__( 'Select an hover effect', 'modula-gallery' ),
382
- "type" => "hover-effect",
383
- "excludeFrom" => array(),
384
- ),
385
- ),
386
- );
387
- $this->fields[ esc_html__( 'Style', 'modula-gallery' ) ] = array(
388
- "icon" => "mdi mdi-format-paint",
389
- "fields" => array(
390
- "borderSize" => array(
391
- "name" => esc_html__( 'Border Size', 'modula-gallery' ),
392
- "type" => "ui-slider",
393
- "description" => "",
394
- "mu" => "px",
395
- "min" => 0,
396
- "max" => 10,
397
- "default" => 0,
398
- "excludeFrom" => array(),
399
- ),
400
- "borderRadius" => array(
401
- "name" => esc_html__( 'Border Radius', 'modula-gallery' ),
402
- "type" => "ui-slider",
403
- "description" => "",
404
- "mu" => "px",
405
- "min" => 0,
406
- "max" => 100,
407
- "default" => 0,
408
- "excludeFrom" => array(),
409
- ),
410
- "borderColor" => array(
411
- "name" => esc_html__( 'Border Color', 'modula-gallery' ),
412
- "type" => "color",
413
- "description" => "",
414
- "default" => "#ffffff",
415
- "excludeFrom" => array(),
416
- ),
417
- "shadowSize" => array(
418
- "name" => esc_html__( 'Shadow Size', 'modula-gallery' ),
419
- "type" => "ui-slider",
420
- "description" => "",
421
- "mu" => "px",
422
- "min" => 0,
423
- "max" => 20,
424
- "default" => 0,
425
- "excludeFrom" => array(),
426
- ),
427
- "shadowColor" => array(
428
- "name" => esc_html__( 'Shadow Color', 'modula-gallery' ),
429
- "type" => "color",
430
- "description" => "",
431
- "default" => "#ffffff",
432
- "excludeFrom" => array(),
433
- ),
434
-
435
- ),
436
- );
437
- $this->fields[ esc_html__( 'Customizations', 'modula-gallery' ) ] = array(
438
- "icon" => "mdi mdi-puzzle",
439
- "fields" => array(
440
- "style" => array(
441
- "name" => esc_html__( 'Custom css', 'modula-gallery' ),
442
- "type" => "textarea",
443
- "description" => '<strong>' . esc_html__( 'Write just the code without using the &lt;style&gt;&lt;/style&gt; tags', 'modula-gallery' ) . '</strong>',
444
- "excludeFrom" => array( "shortcode" ),
445
- ),
446
- ),
447
- );
448
-
449
- }
450
-
451
- public function modula_beta_scripts( $hook ) {
452
-
453
- if ( 'modula_page_modula-lite-gallery-v2' != $hook ) {
454
- return;
455
- }
456
-
457
- wp_enqueue_script( 'modula-fancybox', plugins_url( 'admin/fancybox/jquery.fancybox.min.js', __FILE__), array( 'jquery' ) );
458
- wp_enqueue_style( 'modula-fancybox', plugins_url( 'admin/fancybox/jquery.fancybox.min.css', __FILE__) );
459
-
460
- }
461
-
462
- //Define textdomain
463
- public function create_textdomain() {
464
- $plugin_dir = basename( dirname( __FILE__ ) );
465
- load_plugin_textdomain( 'modula-gallery', false, $plugin_dir . '/lib/languages' );
466
- }
467
-
468
- function define_hover_effects() {
469
- $this->hoverEffects[] = new ModulaLiteHoverEffect( 'None', 'none', false, false, 0 );
470
- $this->hoverEffects[] = new ModulaLiteHoverEffect( 'Pufrobo', 'pufrobo', true, true, 4 );
471
- $this->hoverEffects[] = new ModulaLiteHoverEffect( 'Fluid Up', '', true, true, 0 );
472
- $this->hoverEffects[] = new ModulaLiteHoverEffect( 'Hide', '', true, true, 4 );
473
- $this->hoverEffects[] = new ModulaLiteHoverEffect( 'Quiet', '', true, false, 4 );
474
- $this->hoverEffects[] = new ModulaLiteHoverEffect( 'Catinelle', '', false, false, 4 );
475
- $this->hoverEffects[] = new ModulaLiteHoverEffect( 'Reflex', '', true, true, 4 );
476
- $this->hoverEffects[] = new ModulaLiteHoverEffect( 'Curtain', '', true, false, 4 );
477
- $this->hoverEffects[] = new ModulaLiteHoverEffect( 'Lens', '', true, true, 4 );
478
- $this->hoverEffects[] = new ModulaLiteHoverEffect( 'Appear', '', true, false, 4 );
479
- $this->hoverEffects[] = new ModulaLiteHoverEffect( 'Crafty', '', true, true, 0 );
480
- $this->hoverEffects[] = new ModulaLiteHoverEffect( 'Seemo', '', true, false, 4 );
481
- $this->hoverEffects[] = new ModulaLiteHoverEffect( 'Comodo', '', true, false, 4 );
482
- }
483
-
484
- public function get_ext_galleries() {
485
- header( "Content-type: application/json" );
486
-
487
- global $wpdb;
488
-
489
- if ( check_admin_referer( "Modula", "Modula" ) ) {
490
- $res = array( "success" => 0 );
491
-
492
- $source = $_POST['source'];
493
- if ( $source ) {
494
- $res['success'] = 1;
495
- $res['galleries'] = array();
496
-
497
- switch ( $source ) {
498
- case 'Envira':
499
- $galleries = get_posts( array(
500
- 'post_type' => 'envira',
501
- 'posts_per_page' => 1000,
502
- ) );
503
- foreach ( $galleries as $g ) {
504
- $item = array();
505
- $item['id'] = $g->ID;
506
- $item['title'] = $g->post_title;
507
- $res['galleries'] [] = $item;
508
- }
509
- break;
510
- case 'NextGen':
511
- $galleries = $wpdb->get_results( "SELECT title, gid FROM $wpdb->nggallery" );
512
- foreach ( $galleries as $g ) {
513
- $item = array();
514
- $item['id'] = $g->gid;
515
- $item['title'] = $g->title;
516
- $res['galleries'] [] = $item;
517
- }
518
- break;
519
- }
520
- }
521
-
522
- echo json_encode( $res );
523
- }
524
- die();
525
- }
526
-
527
- public function admin_footer( $text ) {
528
- global $current_screen;
529
- if ( ! empty( $current_screen->id ) && strpos( $current_screen->id, 'modula-lite' ) !== false ) {
530
- $url = 'https://wordpress.org/support/plugin/modula-best-grid-gallery/reviews/?rate=5#new-post';
531
- $text = sprintf( __( 'Please rate <strong>Modula Gallery</strong> <a href="%s" target="_blank">&#9733;&#9733;&#9733;&#9733;&#9733;</a> on <a href="%s" target="_blank">WordPress.org</a> to help us spread the word. Thank you, on behalf of the Modula team!', 'modula-gallery' ), $url, $url );
532
- }
533
-
534
- return $text;
535
- }
536
-
537
- public function do_import_galleries() {
538
- global $wpdb;
539
-
540
- header( "Content-type: application/json" );
541
- if ( check_admin_referer( "Modula", "Modula" ) ) {
542
- $res = array( "success" => 0 );
543
- $source = $_POST['source'];
544
- $ids = explode( ",", $_POST['ids'] );
545
- switch ( $source ) {
546
- case 'Envira':
547
- foreach ( $ids as $id ) {
548
- $gallery = get_post( $id );
549
- $meta = get_post_meta( $id );
550
- $data = unserialize( $meta['_eg_gallery_data'][0] );
551
-
552
- $g = array(
553
- 'name' => $data['config']['title'],
554
- 'description' => 'Imported from Envira (' . $id . ') on ' . date( 'M, d Y' ),
555
- 'margin' => $data['config']['gutter'],
556
- 'hasResizedImages' => true,
557
- 'importedFrom' => 'Envira',
558
- );
559
- $gdb = array_merge( $this->defaultValues, $g );
560
-
561
- $saved = $this->ModulaDB->addGallery( $gdb );
562
- $newId = $this->ModulaDB->getNewGalleryId();
563
-
564
- if ( $newId && count( $data['gallery'] ) ) {
565
- $images = array();
566
- //TODO only active images
567
- foreach ( $data['gallery'] as $item ) {
568
- $toAdd = new stdClass();
569
- $toAdd->imageId = $this->ModulaDB->getIDbyGUID( $item['src'] );
570
- $toAdd->title = $item['title'];
571
- $toAdd->description = $item['caption'];
572
- $toAdd->imagePath = $item['src'];
573
-
574
- $images [] = $toAdd;
575
- }
576
- $imgResult = $this->ModulaDB->addImages( $newId, $images );
577
- }
578
- }
579
- $res['success'] = 1;
580
- break;
581
- case 'NextGen':
582
- foreach ( $ids as $id ) {
583
- $gallery = $wpdb->get_row( $wpdb->prepare( "SELECT title, gid, path FROM $wpdb->nggallery WHERE gid=%s", $id ) );
584
-
585
- $dbimages = $wpdb->get_results( $wpdb->prepare( "SELECT filename, description, alttext FROM $wpdb->nggpictures WHERE exclude <> 1 AND galleryid=%s", $id ) );
586
-
587
- $g = array(
588
- 'name' => $gallery->title,
589
- 'description' => 'Imported from NextGet (' . $id . ') on ' . date( 'M, d Y' ),
590
- 'hasResizedImages' => true,
591
- 'importedFrom' => 'NextGen',
592
- );
593
- $gdb = array_merge( $this->defaultValues, $g );
594
-
595
- $saved = $this->ModulaDB->addGallery( $gdb );
596
- $newId = $this->ModulaDB->getNewGalleryId();
597
-
598
- if ( $newId && count( $dbimages ) ) {
599
- $images = array();
600
- foreach ( $dbimages as $item ) {
601
- $toAdd = new stdClass();
602
- $toAdd->imageId = - 1;
603
- $toAdd->title = $item->alttext;
604
- $toAdd->description = $item->description;
605
- $toAdd->imagePath = plugins_url( 'image.php', __FILE__ ) . "?w=" . $this->defaultValues['img_size'] . "&src=" . $gallery->path . "/" . $item->filename;
606
-
607
- $images [] = $toAdd;
608
- }
609
- $imgResult = $this->ModulaDB->addImages( $newId, $images );
610
-
611
- }
612
- }
613
- $res['success'] = 1;
614
- break;
615
- }
616
-
617
- echo json_encode( $res );
618
- }
619
- die();
620
- }
621
-
622
- public function register_links( $links, $file ) {
623
- $base = plugin_basename( __FILE__ );
624
- if ( $file == $base ) {
625
- $links[] = '<a href="admin.php?page=modula-lite-admin" title="' . esc_html__( 'Modula Grid Gallery Dashboard', 'modula-gallery' ) . '">' . esc_html__( 'Dashboard', 'modula-gallery' ) . '</a>';
626
- $links[] = '<a href="https://twitter.com/MachoThemez" title="@MachoThemez on Twitter">Twitter</a>';
627
- $links[] = '<a href="https://www.facebook.com/machothemes" title="MachoThemes on Facebook">Facebook</a>';
628
- }
629
-
630
- return $links;
631
-
632
- }
633
-
634
- //delete gallery
635
- function delete_gallery() {
636
- if ( check_admin_referer( "Modula", "Modula" ) ) {
637
- $id = absint( $_POST['gid'] );
638
- $this->ModulaDB->deleteGallery( $id );
639
- }
640
-
641
- die();
642
- }
643
-
644
- public function update_config() {
645
- if ( check_admin_referer( "Modula", "Modula" ) ) {
646
- $id = absint($_POST['id']);
647
- $config = stripslashes( $_POST['config'] );
648
-
649
- $this->ModulaDB->update_config( $id, $config );
650
- }
651
-
652
- die();
653
- }
654
-
655
- public function get_config() {
656
- if ( check_admin_referer( "Modula", "Modula" ) ) {
657
- $id = absint($_POST['id']);
658
-
659
- $data = $this->ModulaDB->getConfig( $id );
660
-
661
- print json_encode( $data );
662
-
663
- }
664
-
665
- die();
666
- }
667
-
668
- //add gallery
669
-
670
- function create_gallery() {
671
- if ( check_admin_referer( "Modula", "Modula" ) ) {
672
- $data = $this->defaultValues;
673
- $data["name"] = sanitize_text_field($_POST['name']);
674
- $data["description"] = wp_filter_post_kses($_POST['description']);
675
- $data["width"] = sanitize_text_field($_POST['width']);
676
- $data["height"] = absint($_POST['height']);
677
- $data["img_size"] = absint( $_POST['img_size'] );
678
- $data["hasResizedImages"] = true;
679
-
680
- $this->ModulaDB->addGallery( $data );
681
- $id = $this->ModulaDB->getLastGalleryId()->Id;
682
-
683
- if ( $id > 0 && array_key_exists( 'images', $_POST ) && strlen( $_POST['images'] ) ) {
684
- $enc_images = stripslashes( $_POST["images"] );
685
- $images = array_splice( json_decode( $enc_images ), 0, 11 + 9 );
686
- ModulaLiteTools::check_and_resize( $images, $data['img_size'] );
687
- $result = $this->ModulaDB->addImages( $id, $images );
688
- }
689
- print $id;
690
- }
691
- die;
692
- }
693
-
694
- //clone gallery
695
- function clone_gallery() {
696
- if ( check_admin_referer( 'Modula', 'Modula' ) ) {
697
- $sourceId = absint( $_POST['gid'] );
698
- $g = $this->ModulaDB->getGalleryById( $sourceId, $this->defaultValues );
699
- $g->name .= "(copy)";
700
- $this->ModulaDB->addGallery( $g );
701
- $id = $this->ModulaDB->getNewGalleryId();
702
- $images = $this->ModulaDB->getImagesByGalleryId( $sourceId );
703
-
704
- foreach ( $images as &$image ) {
705
- $image->Id = null;
706
- $image->gid = $id;
707
- }
708
-
709
- $this->ModulaDB->addImages( $id, $images );
710
- }
711
-
712
- die();
713
- }
714
-
715
-
716
- //Define constants
717
- public function define_constants() {
718
- if ( ! defined( 'Modula_PLUGIN_BASENAME' ) ) {
719
- define( 'Modula_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
720
- }
721
-
722
- if ( ! defined( 'Modula_PLUGIN_NAME' ) ) {
723
- define( 'Modula_PLUGIN_NAME', trim( dirname( Modula_PLUGIN_BASENAME ), '/' ) );
724
- }
725
-
726
- if ( ! defined( 'Modula_PLUGIN_DIR' ) ) {
727
- define( 'Modula_PLUGIN_DIR', WP_PLUGIN_DIR . '/' . Modula_PLUGIN_NAME );
728
- }
729
- }
730
-
731
- //delete Gallery
732
-
733
-
734
- //Define DB tables
735
- public function define_db_tables() {
736
- global $wpdb;
737
-
738
- $wpdb->ModulaGalleries = $wpdb->prefix . 'modula';
739
- $wpdb->ModulaImages = $wpdb->prefix . 'modula_images';
740
- }
741
-
742
-
743
- public function create_db_conn() {
744
- require( 'lib/db-class.php' );
745
- $ModulaDB = ModulaLiteDB::getInstance();
746
-
747
- return $ModulaDB;
748
- }
749
-
750
- public function editor_button( $buttons ) {
751
- array_push( $buttons, 'separator', 'mtg_shortcode_editor' );
752
-
753
- return $buttons;
754
- }
755
-
756
- public function register_editor_plugin( $plugin_array ) {
757
- $plugin_array['mtg_shortcode_editor'] = plugins_url( '/admin/scripts/editor-plugin.js', __file__ );
758
-
759
- return $plugin_array;
760
- }
761
-
762
- public function mtg_shortcode_editor() {
763
- $css_path = plugins_url( 'assets/css/admin.css', __FILE__ );
764
- $admin_url = admin_url();
765
-
766
- $galleries = $this->ModulaDB->getGalleries(); //load all galleries
767
-
768
- include 'admin/include/tinymce-galleries.php';
769
- die();
770
- }
771
-
772
- //Add gallery scripts
773
- public function add_gallery_scripts() {
774
- wp_enqueue_script( 'jquery' );
775
-
776
- wp_register_script( 'modula', plugins_url( 'scripts/jquery.modula.js', __FILE__ ) , array( 'jquery' ) );
777
- wp_enqueue_script( 'modula' );
778
-
779
- wp_register_style( 'modula_stylesheet', plugins_url( 'scripts/modula.css', __FILE__ ), null, $this->version );
780
- wp_enqueue_style( 'modula_stylesheet' );
781
-
782
- wp_register_style( 'effects_stylesheet', plugins_url( 'scripts/effects.css', __FILE__ ), null, $this->version );
783
- wp_enqueue_style( 'effects_stylesheet' );
784
-
785
- wp_register_script( 'lightbox2_script', plugins_url( 'lightbox/lightbox2/js/lightbox.min.js', __FILE__ ), array( 'jquery' ), $this->version, true );
786
- wp_register_style( 'lightbox2_stylesheet', plugins_url( 'lightbox/lightbox2/css/lightbox.min.css', __FILE__ ) );
787
- }
788
-
789
- //Admin Section - register scripts and styles
790
- public function gallery_admin_init() {
791
- if ( function_exists( 'wp_enqueue_media' ) ) {
792
- wp_enqueue_media();
793
- }
794
-
795
- wp_enqueue_script( 'jquery' );
796
-
797
- wp_enqueue_script( 'wp-color-picker' );
798
- wp_enqueue_style( 'wp-color-picker' );
799
-
800
- wp_enqueue_script( 'media-upload' );
801
- wp_enqueue_script( 'thickbox' );
802
-
803
- wp_register_style( 'materialize', plugins_url( 'admin/css/materialize.css', __FILE__ ) );
804
- wp_enqueue_style( 'materialize' );
805
-
806
- wp_register_style( 'styles', plugins_url( 'admin/css/style.css', __FILE__ ) );
807
- wp_enqueue_style( 'styles' );
808
-
809
- wp_register_style( 'effects', plugins_url( 'scripts/effects.css', __FILE__ ) );
810
- wp_enqueue_style( 'effects' );
811
-
812
- wp_register_script( 'materialize', plugins_url( 'admin/scripts/materialize.js', __FILE__ ), array( 'jquery' ) );
813
-
814
- wp_register_script( 'modula', plugins_url( 'admin/scripts/modula-admin.js', __FILE__ ), array(
815
- 'materialize',
816
- 'jquery',
817
- 'media-upload',
818
- 'thickbox',
819
- ), false, false );
820
-
821
- wp_enqueue_script( 'modula' );
822
-
823
- wp_register_style( 'materialdesign-icons', plugins_url( 'admin/css/materialdesignicons.css', __FILE__ ) );
824
- wp_enqueue_style( 'materialdesign-icons' );
825
-
826
- wp_enqueue_style( 'thickbox' );
827
-
828
- $tg_db_version = '1.0';
829
- $installed_ver = get_option( "Modula_db_version" );
830
-
831
- if ( $installed_ver != $tg_db_version ) {
832
- modula_lite_create_db_tables();
833
- update_option( "Modula_db_version", $tg_db_version );
834
- }
835
- }
836
-
837
-
838
- //Create Admin Menu
839
- public function add_gallery_admin_menu() {
840
- $overview = add_menu_page( esc_html__( 'Manage Galleries', 'modula-gallery' ), esc_html__( 'Modula', 'modula-gallery' ), 'edit_posts', 'modula-lite-admin', array(
841
- $this,
842
- 'add_overview',
843
- ), plugins_url( 'admin/icon.png', __FILE__ ) );
844
-
845
-
846
- if ( ! get_option( "Modula_skip_fix" ) && get_option( "Modula_db_version" ) && count( $this->ModulaDB->getGalleries() ) > 0 ) {
847
-
848
- $imageUrl = null;
849
- foreach ( $this->ModulaDB->getGalleries() as $gallery ) {
850
- $gid = $gallery->Id;
851
- $images = $this->ModulaDB->getImagesByGalleryId( $gid );
852
- if ( count( $images ) > 0 ) {
853
- $imageUrl = $images[0]->imagePath;
854
- break;
855
- }
856
- }
857
-
858
- if ( $imageUrl ) {
859
- if ( strncmp( strtolower( $imageUrl ), strtolower( site_url() ), strlen( site_url() ) ) != 0 ) {
860
- $fix = add_submenu_page( 'modula-lite-admin', __( 'Modula >> Fix', 'modula-gallery' ), '❗️ ' . __( 'Fix', 'modula-gallery' ), 'edit_posts', 'modula-lite-gallery-fix', array(
861
- $this,
862
- 'fix',
863
- ) );
864
- add_action( 'load-' . $fix, array( $this, 'gallery_admin_init' ) );
865
- }
866
- }
867
- } else {
868
- add_option( 'Modula_skip_fix', true );
869
- }
870
-
871
- $add_gallery = add_submenu_page( 'modula-lite-admin', __( 'Modula - Add Gallery', 'modula-gallery' ), __( 'Add Gallery', 'modula-gallery' ), 'edit_posts', 'modula-lite-add', array(
872
- $this,
873
- 'add_gallery',
874
- ) );
875
- $edit_gallery = add_submenu_page( NULL, __( 'Modula - Edit Gallery', 'modula-gallery' ), __( 'Edit Gallery', 'modula-gallery' ), 'edit_posts', 'modula-lite-edit', array(
876
- $this,
877
- 'edit_gallery',
878
- ) );
879
- $upgrade = add_submenu_page( 'modula-lite-admin', __( 'Modula - Upgrade to PRO', 'modula-gallery' ), __( 'Upgrade to PRO', 'modula-gallery' ), 'edit_posts', 'modula-lite-gallery-upgrade', array(
880
- $this,
881
- 'upgrade',
882
- ) );
883
- $v2 = add_submenu_page( 'modula-lite-admin', __( 'Try Modula 2.0', 'modula-gallery' ), __( 'Try Modula 2.0', 'modula-gallery' ), 'edit_posts', 'modula-lite-gallery-v2', array(
884
- $this,
885
- 'new_modula',
886
- ) );
887
-
888
-
889
- add_action( 'load-' . $overview, array( $this, 'gallery_admin_init' ) );
890
- add_action( 'load-' . $add_gallery, array( $this, 'gallery_admin_init' ) );
891
- add_action( 'load-' . $edit_gallery, array( $this, 'gallery_admin_init' ) );
892
- add_action( 'load-' . $upgrade, array( $this, 'gallery_admin_init' ) );
893
-
894
- }
895
-
896
- //Create Admin Pages
897
- public function add_overview() {
898
- include( "admin/overview.php" );
899
- }
900
-
901
- public function upgrade() {
902
- include( "admin/upgrade.php" );
903
- }
904
-
905
- public function add_gallery() {
906
- include( "admin/add-gallery.php" );
907
- }
908
-
909
- public function new_modula() {
910
- include( "admin/modula-v2.php" );
911
- }
912
-
913
- public function fix() {
914
- global $wpdb;
915
- include( "admin/fix.php" );
916
- }
917
-
918
- public function delete_image() {
919
- if ( check_admin_referer( 'Modula', 'Modula' ) ) {
920
- foreach ( explode( ",", $_POST["id"] ) as $id ) {
921
- $this->ModulaDB->deleteImage( absint( $id ) );
922
- }
923
- }
924
- die();
925
- }
926
-
927
- public function add_image() {
928
- if ( check_admin_referer( 'Modula', 'Modula' ) ) {
929
- $gid = intval( $_POST['galleryId'] );
930
- $this->loadedData = $this->ModulaDB->getGalleryById( $gid, $this->defaultValues );
931
- $prev = $this->ModulaDB->getImagesByGalleryId( $gid );
932
-
933
- $enc_images = stripslashes( $_POST["enc_images"] );
934
- $images = json_decode( $enc_images );
935
-
936
- $d = 18 + log10( 100 );
937
- $images = array_slice( $images, 0, $d - count( $prev ) );
938
- $images = ModulaLiteTools::check_and_resize( $images, $this->loadedData->img_size );
939
- $result = $this->ModulaDB->addImages( $gid, $images );
940
-
941
- header( "Content-type: application/json" );
942
- if ( $result === false ) {
943
- print "{\"success\":false}";
944
- } else {
945
- print "{\"success\":true}";
946
- }
947
- }
948
- die();
949
- }
950
-
951
- public function sort_images() {
952
- if ( check_admin_referer( 'Modula', 'Modula' ) ) {
953
- $result = $this->ModulaDB->sortImages( explode( ',', $_POST['ids'] ) );
954
-
955
- header( "Content-type: application/json" );
956
- if ( $result === false ) {
957
- print "{\"success\":false}";
958
- } else {
959
- print "{\"success\":true}";
960
- }
961
- }
962
- die();
963
- }
964
-
965
- public function save_image() {
966
- if ( check_admin_referer( 'Modula', 'Modula' ) ) {
967
- $result = false;
968
- // $type = $_POST['type'];
969
-
970
- $target_values = array( '', '_self', '_blank' );
971
- $halign_values = array( 'left', 'right', 'center' );
972
- $valign_values = array( 'top', 'bottom', 'middle' );
973
-
974
- $imageUrl = esc_url( $_POST['img_url'] );
975
- $imageCaption = wp_filter_post_kses( $_POST['description'] );
976
- $title = sanitize_text_field( $_POST['title'] );
977
- if ( in_array( $_POST['target'], $target_values ) ) {
978
- $target = sanitize_text_field($_POST['target']);
979
- }else{
980
- $target = '';
981
- }
982
-
983
- $link = isset( $_POST['link'] ) ? esc_url_raw( $_POST['link'] ) : null;
984
- $imageId = intval( $_POST['img_id'] );
985
- $sortOrder = intval( $_POST['sortOrder'] );
986
-
987
- if ( in_array( $_POST['halign'], $halign_values ) ) {
988
- $halign = sanitize_text_field($_POST['halign']);
989
- }else{
990
- $halign = 'center';
991
- }
992
-
993
- if ( in_array( $_POST['valign'], $valign_values ) ) {
994
- $valign = sanitize_text_field($_POST['valign']);
995
- }else{
996
- $valign = 'middle';
997
- }
998
-
999
- $data = array(
1000
- "target" => $target,
1001
- "link" => $link,
1002
- "imageId" => $imageId,
1003
- "description" => $imageCaption,
1004
- 'title' => $title,
1005
- "halign" => $halign,
1006
- "valign" => $valign,
1007
- "sortOrder" => $sortOrder,
1008
- );
1009
-
1010
- if ( ! empty( $_POST['id'] ) ) {
1011
- $imageId = intval( $_POST['id'] );
1012
- $result = $this->ModulaDB->editImage( $imageId, $data );
1013
- } else {
1014
- $data["gid"] = intval( $_POST['galleryId'] );
1015
- $result = $this->ModulaDB->addFullImage( $data );
1016
- }
1017
-
1018
- header( "Content-type: application/json" );
1019
-
1020
- if ( $result === false ) {
1021
- print "{\"success\":false}";
1022
- } else {
1023
- print "{\"success\":true}";
1024
- }
1025
-
1026
- }
1027
- die();
1028
- }
1029
-
1030
- public function list_images() {
1031
- if ( check_admin_referer( 'Modula', 'Modula' ) ) {
1032
- $gid = intval( $_POST["gid"] );
1033
- $gallery = $this->ModulaDB->getGalleryById( $gid, $this->defaultValues );
1034
-
1035
- $imageResults = $this->ModulaDB->getImagesByGalleryId( $gid );
1036
-
1037
- include( 'admin/include/image-list.php' );
1038
- }
1039
- die();
1040
- }
1041
-
1042
- private function checkboxVal( $field ) {
1043
- if ( isset( $_POST[ $field ] ) ) //return 'checked';
1044
- {
1045
- return 'T';
1046
- }
1047
-
1048
- //return '';
1049
- return 'F';
1050
- }
1051
-
1052
- public function save_gallery() {
1053
- if ( check_admin_referer( 'Modula', 'Modula' ) ) {
1054
- $galleryName = sanitize_text_field( $_POST['tg_name'] );
1055
- $galleryDescription = wp_filter_post_kses( $_POST['tg_description'] );
1056
- $slug = strtolower( str_replace( " ", "", $galleryName ) );
1057
- $margin = absint( $_POST['tg_margin'] );
1058
- $shuffle = $this->checkboxVal( 'tg_shuffle' );
1059
- $width = sanitize_text_field( $_POST['tg_width'] );
1060
- $height = absint($_POST['tg_height']);
1061
- $enableTwitter = $this->checkboxVal( 'tg_enableTwitter' );
1062
- $enableFacebook = $this->checkboxVal( 'tg_enableFacebook' );
1063
- $enableGplus = $this->checkboxVal( 'tg_enableGplus' );
1064
- $enablePinterest = $this->checkboxVal( 'tg_enablePinterest' );
1065
- $lightbox = $_POST['tg_lightbox'];
1066
- $wp_field_caption = $_POST['tg_wp_field_caption'];
1067
- $wp_field_title = $_POST['tg_wp_field_title'];
1068
- $hide_title = $this->checkboxVal( 'tg_hide_title' );
1069
- $hide_description = $this->checkboxVal( 'tg_hide_description' );
1070
- $captionColor = sanitize_hex_color($_POST['tg_captionColor']);
1071
- $borderSize = absint( $_POST['tg_borderSize'] );
1072
- $loadedScale = absint( $_POST['tg_loadedScale'] );
1073
- $loadedRotate = absint( $_POST['tg_loadedRotate'] );
1074
- $loadedVSlide = absint( $_POST['tg_loadedVSlide'] );
1075
- $loadedHSlide = absint( $_POST['tg_loadedHSlide'] );
1076
- $socialIconColor = sanitize_hex_color($_POST['tg_socialIconColor']);
1077
- $hoverEffect = $_POST['tg_hoverEffect'];
1078
- $titleFontSize = absint( $_POST['tg_titleFontSize'] );
1079
- $captionFontSize = absint( $_POST['tg_captionFontSize'] );
1080
- $borderColor = sanitize_hex_color($_POST['tg_borderColor']);
1081
- $borderRadius = intval( $_POST['tg_borderRadius'] );
1082
- $shadowColor = sanitize_hex_color($_POST['tg_shadowColor']);
1083
- $shadowSize = intval( $_POST['tg_shadowSize'] );
1084
- $style = sanitize_text_field($_POST['tg_style']);
1085
-
1086
- $id = isset( $_POST['ftg_gallery_edit'] ) ? intval( $_POST['ftg_gallery_edit'] ) : 0;
1087
-
1088
- $data = array(
1089
- 'name' => $galleryName,
1090
- 'slug' => $slug,
1091
- 'description' => $galleryDescription,
1092
- 'lightbox' => $lightbox,
1093
- 'img_size' => intval( $_POST['tg_img_size'] ),
1094
- 'hasResizedImages' => true,
1095
- 'wp_field_caption' => $wp_field_caption,
1096
- 'wp_field_title' => $wp_field_title,
1097
- 'hide_title' => $hide_title,
1098
- 'hide_description' => $hide_description,
1099
- 'margin' => $margin,
1100
- 'randomFactor' => $_POST['tg_randomFactor'],
1101
- 'shuffle' => $shuffle,
1102
- 'enableTwitter' => $enableTwitter,
1103
- 'enableFacebook' => $enableFacebook,
1104
- 'enableGplus' => $enableGplus,
1105
- 'enablePinterest' => $enablePinterest,
1106
- 'captionColor' => $captionColor,
1107
- 'hoverEffect' => $hoverEffect,
1108
- 'borderSize' => $borderSize,
1109
- 'loadedScale' => $loadedScale,
1110
- 'loadedHSlide' => $loadedHSlide,
1111
- 'loadedVSlide' => $loadedVSlide,
1112
- 'loadedRotate' => $loadedRotate,
1113
- 'socialIconColor' => $socialIconColor,
1114
- 'captionFontSize' => $captionFontSize,
1115
- 'titleFontSize' => $titleFontSize,
1116
- 'borderColor' => $borderColor,
1117
- 'borderRadius' => $borderRadius,
1118
- 'shadowSize' => $shadowSize,
1119
- 'shadowColor' => $shadowColor,
1120
- 'width' => $width,
1121
- 'height' => $height,
1122
- 'style' => $style,
1123
- );
1124
-
1125
- header( "Content-type: application/json" );
1126
- if ( $id > 0 ) {
1127
- $result = $this->ModulaDB->editGallery( $id, $data );
1128
-
1129
- if ( intval( $this->loadedData->img_size ) != $data['img_size'] ) {
1130
- $images = $this->ModulaDB->getImagesByGalleryId( $id );
1131
- $images = ModulaLiteTools::check_and_resize( $images, $data['img_size'] );
1132
-
1133
- foreach ( $images as $img ) {
1134
- $this->ModulaDB->editImage( $img->Id, (array) $img );
1135
- }
1136
- }
1137
-
1138
- $this->loadedData = $this->ModulaDB->getGalleryById( $id, $this->defaultValues );
1139
- } else {
1140
- $result = $this->ModulaDB->addGallery( $data );
1141
- $id = $this->ModulaDB->getNewGalleryId();
1142
- }
1143
-
1144
-
1145
- if ( $result ) {
1146
- print "{\"success\":true,\"id\":" . $id . "}";
1147
- } else {
1148
- print "{\"success\":false}";
1149
- }
1150
- }
1151
- die();
1152
- }
1153
-
1154
- public function edit_gallery() {
1155
- if ( isset( $_GET['galleryId'] ) ) {
1156
- $this->loadedData = $this->ModulaDB->getGalleryById( absint( $_GET['galleryId'] ), $this->defaultValues );
1157
- $modula_fields = $this->fields;
1158
- $modula_parent_page = "dashboard";
1159
-
1160
- include( "admin/edit-gallery.php" );
1161
- } else {
1162
- $redir = true;
1163
- $nobanner = true;
1164
- include( "admin/overview.php" );
1165
- }
1166
- }
1167
-
1168
- public function list_thumbnail_sizes() {
1169
- global $_wp_additional_image_sizes;
1170
- $sizes = array();
1171
- foreach ( get_intermediate_image_sizes() as $s ) {
1172
- $sizes[ $s ] = array( 0, 0 );
1173
- if ( in_array( $s, array( 'thumbnail', 'medium', 'large' ) ) ) {
1174
- $sizes[ $s ][0] = get_option( $s . '_size_w' );
1175
- $sizes[ $s ][1] = get_option( $s . '_size_h' );
1176
- } else {
1177
- if ( isset( $_wp_additional_image_sizes ) && isset( $_wp_additional_image_sizes[ $s ] ) ) {
1178
- $sizes[ $s ] = array(
1179
- $_wp_additional_image_sizes[ $s ]['width'],
1180
- $_wp_additional_image_sizes[ $s ]['height'],
1181
- );
1182
- }
1183
- }
1184
- }
1185
-
1186
- return $sizes;
1187
- }
1188
-
1189
- public function gallery_shortcode_handler( $atts ) {
1190
- require_once( 'lib/gallery-class.php' );
1191
- global $Modula;
1192
-
1193
- if ( class_exists( 'ModulaLiteFE' ) ) {
1194
- $Modula = new ModulaLiteFE( $this->ModulaDB, $atts['id'], $this->defaultValues );
1195
-
1196
- $settings = $Modula->getGallery();
1197
- switch ( $settings->lightbox ) {
1198
- case "lightbox2":
1199
- wp_enqueue_style( 'lightbox2_stylesheet' );
1200
- wp_enqueue_script( 'lightbox2_script' );
1201
- wp_add_inline_script( 'lightbox2_script', 'jQuery(document).ready(function(){lightbox.option({albumLabel: "' . esc_html__( 'Image %1 of %2', 'modula-gallery' ) . '"});});' );
1202
- break;
1203
- }
1204
-
1205
- return $Modula->render();
1206
- } else {
1207
- return esc_html__( 'Gallery not found.', 'modula-gallery' );
1208
- }
1209
- }
1210
-
1211
- public function shortcode_empty_paragraph_fix( $content ) {
1212
-
1213
- $array = array (
1214
- '<p>[Modula' => '[Modula' ,
1215
- '<p>[/Modula' => '[/Modula',
1216
- 'Modula]</p>' => 'Modula]',
1217
- 'Modula]<br />' => 'Modula]'
1218
- );
1219
-
1220
- $content = strtr( $content, $array );
1221
-
1222
- return $content;
1223
- }
1224
-
1225
- }
1226
-
1227
- class ModulaLiteHoverEffect {
1228
-
1229
- var $name;
1230
- var $code;
1231
- var $allowTitle;
1232
- var $allowSubtitle;
1233
- var $maxSocial;
1234
-
1235
- public function __construct( $name, $code, $allowTitle, $allowSubtitle, $maxSocial ) {
1236
- $this->name = $name;
1237
- $this->code = $code;
1238
- $this->allowTitle = $allowTitle;
1239
- $this->allowSubtitle = $allowSubtitle;
1240
- $this->maxSocial = $maxSocial;
1241
- }
1242
- }
1243
-
1244
- class ModulaLiteTools {
1245
-
1246
- public static function get_image_size_links( $id ) {
1247
- $result = array();
1248
- $sizes = get_intermediate_image_sizes();
1249
- $sizes[] = 'full';
1250
-
1251
- foreach ( $sizes as $size ) {
1252
- $image = wp_get_attachment_image_src( $id, $size );
1253
-
1254
- if ( ! empty( $image ) && ( true == $image[3] || 'full' == $size ) ) {
1255
- $result["$image[1]x$image[2]"] = $image[0];
1256
- }
1257
- }
1258
-
1259
- return $result;
1260
- }
1261
-
1262
- public static function resize_image( $id, $img_size ) {
1263
- $file = get_attached_file( $id );
1264
- $editor = wp_get_image_editor( $file );
1265
- $size = $editor->get_size();
1266
- if ( $size["width"] > $size["height"] ) {
1267
- $editor->resize( 10000, $img_size );
1268
- } else {
1269
- $editor->resize( $img_size, 10000 );
1270
- }
1271
- $path_parts = pathinfo( $file );
1272
- $filename = $path_parts['dirname'] . "/" . $path_parts['filename'] . "-" . $img_size . "x" . $img_size . "." . $path_parts["extension"];
1273
-
1274
- if ( ! file_exists( $filename ) ) {
1275
- $editor->save( $filename );
1276
- }
1277
-
1278
- return basename( $filename );
1279
- }
1280
-
1281
- public static function check_and_resize( &$images, $size ) {
1282
- foreach ( $images as &$img ) {
1283
- $metadata = wp_get_attachment_metadata( $img->imageId );
1284
-
1285
- if ( $img->imageId > 0 ) {
1286
- $uploads = wp_get_upload_dir();
1287
- $file = get_post_meta( $img->imageId, '_wp_attached_file', true );
1288
- $baseurl = $uploads['baseurl'] . '/' . str_replace( basename( $file ), "", $file );
1289
- $res_name = ModulaLiteTools::resize_image( $img->imageId, $size );
1290
-
1291
- if ( ! ( array_key_exists( "image_meta", $metadata ) && array_key_exists( "resized_images", $metadata["image_meta"] ) && in_array( $size . "x" . $size, $metadata["image_meta"]["resized_images"] ) ) ) {
1292
- if ( isset( $metadata['image_meta'] ) ) {
1293
- $md = $size . 'x' . $size;
1294
- $metadata['image_meta']['resized_images'][] = $md;
1295
- wp_update_attachment_metadata( $img->imageId, $metadata );
1296
- }
1297
- }
1298
-
1299
- $img->imagePath = $baseurl . $res_name;
1300
- } else {
1301
- $img->imagePath = preg_replace( "/w=(\d+)/", "w=" . $size, $img->imagePath );
1302
- }
1303
- }
1304
-
1305
- return $images;
1306
- }
1307
- }
1308
-
1309
- if ( class_exists( "ModulaLite" ) ) {
1310
- global $ob_ModulaLite;
1311
- $ob_ModulaLite = new ModulaLite();
1312
- }
1313
-
1314
- function modula_lite_check_for_review() {
1315
-
1316
- if ( ! is_admin() ) {
1317
- return;
1318
- }
1319
-
1320
- require_once MODULA_PLUGIN_DIR_PATH . 'lib/class-modula-review.php';
1321
-
1322
- Modula_Review::get_instance( array(
1323
- 'slug' => 'modula-best-grid-gallery',
1324
- 'messages' => array(
1325
- 'notice' => __( "Hey, I noticed you have created %s galleries - that's awesome! Could you please do me a BIG favor and give it a 5-star rating on WordPress? Just to help us spread the word and boost our motivation.<br><br><strong>~ Cristian Raiber</strong>,<br><strong>CEO Modula</strong>.", 'modula-gallery' ),
1326
- 'rate' => __( 'Ok, you deserve it', 'modula-gallery' ),
1327
- 'rated' => __( 'I already did', 'modula-gallery' ),
1328
- 'no_rate' => __( 'No, not good enough', 'modula-gallery' ),
1329
- ),
1330
- ) );
1331
-
1332
- }
1333
- modula_lite_check_for_review();
1334
-
1335
- // Add compatibility with AO
1336
- add_filter('autoptimize_filter_js_exclude','modula_lite_override_jsexclude',90,1);
1337
- function modula_lite_override_jsexclude( $exclude ) {
1338
- if ( is_array( $exclude ) ) {
1339
- $exclude[] = 'jquery.modula.js';
1340
- }else{
1341
- $exclude .= ", jquery.modula.js";
1342
- }
1343
- return $exclude;
1344
- }
1345
-
1346
- // Beta Testing.
1347
- add_action( 'admin_notices', 'modula_beta_notices' );
1348
- add_action( 'wp_ajax_modula_beta_testing', 'modula_beta_ajax' );
1349
- add_action( 'admin_print_footer_scripts', 'modula_beta_ajax_script', 99 );
1350
-
1351
- function modula_beta_notices() {
1352
-
1353
- $options = get_option( 'modula-checks', array() );
1354
 
1355
- if ( isset( $options['beta-testing'] ) ) {
1356
- return;
1357
- }
1358
- ?>
1359
- <style type="text/css">
1360
- #modula-beta-testing-info {
1361
- display: inline-block;
1362
- margin-left: 15px;
1363
- }
1364
- </style>
1365
- <div id="modula-beta-testing" class="notice notice-success" style="position:relative;">
1366
- <h3>Try Modula 2.0 !!</h3>
1367
- <p>We’ve been working on an awesome update to Modula over the last few months and can’t wait to release it to the public. But, before that can happen, we need the help of amazing users in the WordPress community (just like you) to improve Modula 2.0’s first beta.</p>
1368
- <p class="actions">
1369
- <a id="modula-beta-testing-dwn" href="https://machothemes.com/downloads/modula-2.0.0.zip" target="_blank" class="button button-primary modula-beta-testing-button"><?php echo __( 'Download Modula 2.0 Beta', 'modula-gallery' ); ?></a>
1370
- <a id="modula-beta-testing-info" href="<?php echo admin_url( 'admin.php?page=modula-lite-gallery-v2' ) ?>" target="_blank" class="modula-beta-testing-button"><?php echo __( 'Find more', 'modula-gallery' ); ?></a>
1371
- </p>
1372
- <button type="button" class="notice-dismiss" style="cursoir:pointer;"><span class="screen-reader-text">Dismiss this notice.</span></button>
1373
- </div>
1374
- <script>
1375
- jQuery(document).ready(function(){
1376
- jQuery( '#modula-beta-testing .notice-dismiss' ).click(function( evt ){
1377
- evt.preventDefault();
1378
- var ajaxData = {
1379
- 'action' : 'modula_beta_testing',
1380
- 'security' : '<?php echo wp_create_nonce( 'modula-beta-testing' ) ?>'
1381
- }
1382
- jQuery.ajax({
1383
- url: "<?php echo admin_url('admin-ajax.php'); ?>",
1384
- method: "POST",
1385
- data: ajaxData,
1386
- dataType: "html"
1387
- }).done(function(){
1388
- jQuery("#modula-beta-testing").hide();
1389
- });
1390
- });
1391
- })
1392
- </script>
1393
- <?php
1394
  }
1395
 
1396
- function modula_beta_ajax() {
1397
-
1398
- check_ajax_referer( 'modula-beta-testing', 'security' );
1399
 
1400
- $options = get_option( 'modula-checks', array() );
1401
- $options['beta-testing'] = 1;
 
 
 
1402
 
1403
- update_option( 'modula-checks', $options );
 
 
 
 
 
 
 
 
 
1404
 
1405
- wp_die( 'ok' );
 
1406
 
1407
  }
1408
 
1409
- function modula_beta_ajax_script() {
1410
-
1411
- $ajax_nonce = wp_create_nonce( "modula-beta-testing" );
1412
-
1413
- ?>
1414
-
1415
- <script type="text/javascript">
1416
- jQuery( document ).ready( function( $ ){
1417
-
1418
- $( '.modula-beta-testing-button' ).click( function( evt ){
1419
- var href = $(this).attr('href'),
1420
- id = $(this).attr('id');
1421
-
1422
- var data = {
1423
- action: 'modula_beta_testing',
1424
- security: '<?php echo $ajax_nonce; ?>',
1425
- };
1426
-
1427
- $.post( '<?php echo admin_url( 'admin-ajax.php' ) ?>', data, function( response ) {
1428
- $( '#modula-beta-testing' ).slideUp( 'fast', function() {
1429
- $( this ).remove();
1430
- } );
1431
- });
1432
-
1433
- } );
1434
-
1435
- });
1436
- </script>
1437
-
1438
- <?php
1439
- }
2
  /**
3
  * Plugin Name: Modula
4
  * Plugin URI: https://wp-modula.com/
5
+ * Description: Modula is one of the best & most creative WordPress gallery plugins. Use it to create a great grid or masonry image gallery.
 
6
  * Author: Macho Themes
7
+ * Version: 2.0.1
8
  * Author URI: https://www.machothemes.com/
9
  */
10
 
11
+ /**
12
+ * Define Constants
13
+ *
14
+ * @since 2.0.0
15
+ */
16
+ define( 'MODULA_LITE_VERSION', '2.0.0' );
17
+ define( 'MODULA_PATH', plugin_dir_path( __FILE__ ) );
18
+ define( 'MODULA_URL', plugin_dir_url( __FILE__ ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
 
20
+ /**
21
+ * The code that runs during plugin activation.
22
+ * This action is documented in includes/class-modula-activator.php
23
+ */
24
+ function modula_activate() {
25
+ require_once plugin_dir_path( __FILE__ ) . 'includes/class-modula-upgrades.php';
26
+ $upgrades = Modula_Upgrades::get_instance();
27
+ $upgrades->check_on_activate();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
  }
29
 
30
+ register_activation_hook( __FILE__, 'modula_activate' );
 
 
31
 
32
+ /**
33
+ * The core plugin class that is used to define internationalization,
34
+ * admin-specific hooks, and public-facing site hooks.
35
+ */
36
+ require plugin_dir_path( __FILE__ ) . 'includes/class-modula.php';
37
 
38
+ /**
39
+ * Begins execution of the plugin.
40
+ *
41
+ * Since everything within the plugin is registered via hooks,
42
+ * then kicking off the plugin from this point in the file does
43
+ * not affect the page life cycle.
44
+ *
45
+ * @since 2.0.0
46
+ */
47
+ function modula_run() {
48
 
49
+ // Our core class
50
+ $plugin = new Modula();
51
 
52
  }
53
 
54
+ modula_run();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
README.txt CHANGED
@@ -2,8 +2,8 @@
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: 3.8
5
- Tested up to: 4.9
6
- Stable tag: 1.3.7
7
  License: GPLv3 or later
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
@@ -13,18 +13,9 @@ Photo Gallery by Modula - an advanced solution for Photo Gallery users. Create b
13
 
14
  Modula Image Gallery is a creative and original WordPress plugin perfect for creating custom, unique, and responsive image galleries. Modula is available in both a Lite/free version and a premium version and it is currently the easiest and fastest photo gallery plugin for WordPress. Directly from its dashboard you are able to build stunning galleries in a few seconds, unlike many other WordPress plugins.
15
 
16
- = Try Modula 2.0 Beta =
17
-
18
- We’ve been working on an awesome update to Modula over the last few months and can’t wait to release it to the public. But, before that can happen, we need the help of amazing users in the WordPress community (just like you) to improve Modula 2.0’s first beta. You can download our new plugin from <a href="https://machothemes.com/downloads/modula-2.0.0.zip" target="_blank">here</a>.
19
-
20
- Below is a video that showcases the new features of Modula 2.0.
21
-
22
- https://www.youtube.com/watch?v=NxrTXQNExh4
23
-
24
  = See a 60s video of Modula in action =
25
 
26
- https://www.youtube.com/watch?v=tq8yUYxgtnA
27
-
28
 
29
  > **Time-saving features available in the FULL version:**
30
  >
@@ -100,11 +91,6 @@ Modula is also the best WordPress portfolio plugin, as it allows you to build go
100
  * travel
101
  * also wedding albums.
102
 
103
- If you're frustated because your current galleries looks boring and too standard then you can use the importer which is included with Modula. The importer is currently able to import Envira and NextGen galleries.
104
-
105
- > This plugin is maintained and supported by Macho Themes.
106
- > Check out some of the other <a href="//machothemes.com/plugins/">WordPress plugins</a> we've developed.
107
- > Check out some of the other <a href="//machothemes.com/themes/free/">free WordPress themes</a> we've developed.
108
 
109
  == Installation ==
110
  = For automatic installation: =
@@ -163,16 +149,21 @@ Free support is included only with a PRO license: [Buy Modula PRO](https://wp-mo
163
 
164
  == Screenshots ==
165
 
166
- 1. Gallery with Appear effect
167
- 2. Gallery with Crafty effect and round corners
168
- 3. Gallery with Catinelle effect
169
- 4. Gallery with Appear effect
170
- 5. Gallery with Pufrobo effect
171
- 6. Lightgallery lightbox
172
- 7. Admin panel with Material design
173
 
174
  == Changelog ==
175
 
 
 
 
 
 
 
 
 
176
  = 1.3.7 =
177
  * fixed dismiss button from beta testing notice.
178
 
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: 3.8
5
+ Tested up to: 5.0
6
+ Stable tag: 2.0.1
7
  License: GPLv3 or later
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
13
 
14
  Modula Image Gallery is a creative and original WordPress plugin perfect for creating custom, unique, and responsive image galleries. Modula is available in both a Lite/free version and a premium version and it is currently the easiest and fastest photo gallery plugin for WordPress. Directly from its dashboard you are able to build stunning galleries in a few seconds, unlike many other WordPress plugins.
15
 
 
 
 
 
 
 
 
 
16
  = See a 60s video of Modula in action =
17
 
18
+ https://www.youtube.com/watch?v=NxrTXQNExh4
 
19
 
20
  > **Time-saving features available in the FULL version:**
21
  >
91
  * travel
92
  * also wedding albums.
93
 
 
 
 
 
 
94
 
95
  == Installation ==
96
  = For automatic installation: =
149
 
150
  == Screenshots ==
151
 
152
+ 1. Custom Grid - Freely resize images
153
+ 2. Custom Grid - Helper Grid
154
+ 3. Back-end Options UI Walkthrough
155
+ 4. Responsive galleries created with Modula
 
 
 
156
 
157
  == Changelog ==
158
 
159
+ = 2.0.1 - 12.17.2018 =
160
+ * Major Update
161
+ * Build Custom Grids - Take full control of your galleries.
162
+ * New Admin Interface - For a more intuitive user interface, we’ve blended Modula right into WordPress.
163
+ * Drag & Drop to Upload Images
164
+ * Guidelines to Help You Make the Perfect Gallery (edited)
165
+ * Preview your Gallery Without the Hassle
166
+
167
  = 1.3.7 =
168
  * fixed dismiss button from beta testing notice.
169
 
admin/add-gallery.php DELETED
@@ -1,121 +0,0 @@
1
- <?php
2
- if ( preg_match( '#' . basename( __FILE__ ) . '#', $_SERVER['PHP_SELF'] ) ) {
3
- die( _e( 'You are not allowed to call this page directly.', 'modula-gallery' ) );
4
- }
5
-
6
- $tg_subtitle = "New Gallery";
7
- ?>
8
-
9
- <?php include( "header.php" ) ?>
10
-
11
-
12
- <div id="modula-wizard" class="add-gallery">
13
- <h2> <?php _e( 'Add New Gallery', 'modula-gallery' ); ?> </h2>
14
- <form action="#" method="post">
15
- <?php wp_nonce_field( 'Modula', 'Modula' ); ?>
16
- <input type="hidden" name="enc_images" value=""/>
17
-
18
- <fieldset data-step="1">
19
- <div class="row">
20
- <div class="input-field">
21
- <input name="tg_name" id="name" type="text" class="validate" required="required">
22
- <label for="name"><?php echo esc_html__( 'Name of the gallery', 'modula-gallery' ) ?></label>
23
- </div>
24
- </div>
25
- <div class="row">
26
- <div class="input-field">
27
- <input name="tg_description" id="description" type="text" class="validate">
28
- <label for="description"><?php echo esc_html__( 'Description of the gallery (for internal use)', 'modula-gallery' ) ?></label>
29
- </div>
30
- </div>
31
- <div class="row">
32
- <div class="input-field col s6">
33
- <input name="tg_width" id="width" type="text" value="100%">
34
- <label for="width"><?php echo esc_html__( 'Gallery width', 'modula-gallery' ) ?></label>
35
- </div>
36
- <div class="input-field col s6">
37
- <input name="tg_height" id="height" type="text" value="800">
38
- <label for="height"><?php echo esc_html__( 'Gallery height in pixels', 'modula-gallery' ) ?></label>
39
- </div>
40
- </div>
41
- </fieldset>
42
- <fieldset data-step="2" data-branch="images">
43
- <div class="field">
44
- <h5><?php echo esc_html__( 'WordPress field for titles:', 'modula-gallery' ) ?></h5>
45
- <select class="browser-default" name="ftg_wp_field_title">
46
- <option value="none"><?php echo esc_html__( 'Don\'t use titles', 'modula-gallery' ); ?></option>
47
- <option value="title" selected><?php echo esc_html__( 'Title', 'modula-gallery' ); ?></option>
48
- <option value="description"><?php echo esc_html__( 'Description', 'modula-gallery' ); ?></option>
49
- </select>
50
- </div>
51
- <div class="field">
52
- <h5><?php echo esc_html__( 'WordPress field for captions:', 'modula-gallery' ) ?></h5>
53
- <select class="browser-default" name="ftg_wp_field_caption">
54
- <option value="none"><?php echo esc_html( 'Don\'t use captions', 'modula-gallery' ); ?></option>
55
- <option value="title"><?php echo esc_html( 'Title', 'modula-gallery' ); ?></option>
56
- <option value="caption" selected><?php echo esc_html( 'Captions', 'modula-gallery' ); ?></option>
57
- <option value="description"><?php echo esc_html( 'Description', 'modula-gallery' ); ?></option>
58
- </select>
59
- </div>
60
- </fieldset>
61
- <fieldset data-step="3" data-save="true">
62
- <div class="field">
63
- <h5><?php echo esc_html__( 'Image size', 'modula-gallery' ) ?></h5>
64
- <div class="row">
65
- <div class="input-field">
66
- <input name="tg_img_size" id="img_size" type="text" class="validate" required="required" value="500">
67
- <label for="name"><?php echo esc_html__( 'Minimum width or height of images', 'modula-gallery' ) ?></label>
68
- </div>
69
- </div>
70
-
71
- <label class="shortpixel">
72
- <img src="<?php echo esc_url( plugins_url( '', __file__ ) ); ?>/images/icon-shortpixel.png" alt="ShortPixel">
73
- <a target="_blank" href="https://shortpixel.com/h/af/HUOYEBB31472"><?php echo esc_html__( 'We suggest using the ShortPixel image optimization plugin to optimize your images and get the best possible SEO results & load speed..', 'modula-gallery' ) ?></a>
74
- </label>
75
-
76
- </div>
77
- <div class="field select-images">
78
- <a class="waves-effect waves-light btn add-images">
79
- <i class="mdi mdi-plus left"></i> <?php echo esc_html__( 'Add images', 'modula-gallery' ) ?></a>
80
- <br> <label><?php echo esc_html__( 'You can add images now or later.', 'modula-gallery' ) ?></label>
81
-
82
- <div class="images list-group"></div>
83
- </div>
84
- </fieldset>
85
-
86
- <footer class="page-footer">
87
- <div class="progress loading hide">
88
- <div class="indeterminate"></div>
89
- </div>
90
-
91
- <a class="waves-effect waves-yellow btn-flat prev"><?php echo esc_html__( 'Previous', 'modula-gallery' ) ?></a>
92
- <a class="waves-effect waves-green btn-flat next"><?php echo esc_html__( 'Next', 'modula-gallery' ) ?></a>
93
- </footer>
94
-
95
- </form>
96
- <div id="success" class="modal">
97
- <div class="modal-content">
98
- <h4><?php echo esc_html__( 'Success!', 'modula-gallery' ) ?></h4>
99
- <p><?php echo esc_html__( 'Your gallery', 'modula-gallery' ) ?>
100
- "<span class="gallery-name"></span>" <?php echo esc_html__( 'has been created. Copy the following shortcode:', 'modula-gallery' ) ?>
101
- <br> <input type="text" class="code"><br>
102
- <?php echo esc_html__( 'and paste it inside a post or a page. Otherwise click', 'modula-gallery' ) ?>
103
- <a class='customize'><?php echo esc_html__( 'here', 'modula-gallery' ) ?></a> <?php echo esc_html__( 'to customize
104
- the gallery.', 'modula-gallery' ) ?>
105
- </p>
106
- </div>
107
- <div class="modal-'footer">
108
- <a href="?page=modula-lite-admin" id="modal-close" class="waves-effect waves-green btn-flat modal-action"><?php echo esc_html__( 'Close', 'modula-gallery' ) ?></a>
109
- </div>
110
- </div>
111
-
112
- <div id="error" class="modal">
113
- <div class="modal-content">
114
- <h4><?php echo esc_html__( 'Error!', 'modula-gallery' ) ?></h4>
115
- <p><?php echo esc_html__( 'For some reason it was not possible to save your gallery', 'modula-gallery' ) ?></p>
116
- </div>
117
- <div class="modal-footer">
118
- <a href="?page=modula-lite-admin" class="waves-effect waves-green btn-flat modal-action"><?php echo esc_html__( 'Close', 'modula-gallery' ) ?></a>
119
- </div>
120
- </div>
121
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/css/colors.css DELETED
File without changes
admin/css/materialize.css DELETED
@@ -1,5702 +0,0 @@
1
- /*!
2
- * Materialize v0.95.3 (http://materializecss.com)
3
- * Copyright 2014-2015 Materialize
4
- * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
5
- */
6
- .materialize-red.lighten-5 {
7
- background-color: #fdeaeb !important; }
8
-
9
- .materialize-red-text.text-lighten-5 {
10
- color: #fdeaeb !important; }
11
-
12
- .materialize-red.lighten-4 {
13
- background-color: #f8c1c3 !important; }
14
-
15
- .materialize-red-text.text-lighten-4 {
16
- color: #f8c1c3 !important; }
17
-
18
- .materialize-red.lighten-3 {
19
- background-color: #f3989b !important; }
20
-
21
- .materialize-red-text.text-lighten-3 {
22
- color: #f3989b !important; }
23
-
24
- .materialize-red.lighten-2 {
25
- background-color: #ee6e73 !important; }
26
-
27
- .materialize-red-text.text-lighten-2 {
28
- color: #ee6e73 !important; }
29
-
30
- .materialize-red.lighten-1 {
31
- background-color: #ea454b !important; }
32
-
33
- .materialize-red-text.text-lighten-1 {
34
- color: #ea454b !important; }
35
-
36
- .materialize-red {
37
- background-color: #e51c23 !important; }
38
-
39
- .materialize-red-text {
40
- color: #e51c23 !important; }
41
-
42
- .materialize-red.darken-1 {
43
- background-color: #d0181e !important; }
44
-
45
- .materialize-red-text.text-darken-1 {
46
- color: #d0181e !important; }
47
-
48
- .materialize-red.darken-2 {
49
- background-color: #b9151b !important; }
50
-
51
- .materialize-red-text.text-darken-2 {
52
- color: #b9151b !important; }
53
-
54
- .materialize-red.darken-3 {
55
- background-color: #a21318 !important; }
56
-
57
- .materialize-red-text.text-darken-3 {
58
- color: #a21318 !important; }
59
-
60
- .materialize-red.darken-4 {
61
- background-color: #8b1014 !important; }
62
-
63
- .materialize-red-text.text-darken-4 {
64
- color: #8b1014 !important; }
65
-
66
- .red.lighten-5 {
67
- background-color: #FFEBEE !important; }
68
-
69
- .red-text.text-lighten-5 {
70
- color: #FFEBEE !important; }
71
-
72
- .red.lighten-4 {
73
- background-color: #FFCDD2 !important; }
74
-
75
- .red-text.text-lighten-4 {
76
- color: #FFCDD2 !important; }
77
-
78
- .red.lighten-3 {
79
- background-color: #EF9A9A !important; }
80
-
81
- .red-text.text-lighten-3 {
82
- color: #EF9A9A !important; }
83
-
84
- .red.lighten-2 {
85
- background-color: #E57373 !important; }
86
-
87
- .red-text.text-lighten-2 {
88
- color: #E57373 !important; }
89
-
90
- .red.lighten-1 {
91
- background-color: #EF5350 !important; }
92
-
93
- .red-text.text-lighten-1 {
94
- color: #EF5350 !important; }
95
-
96
- .red {
97
- background-color: #F44336 !important; }
98
-
99
- .red-text {
100
- color: #F44336 !important; }
101
-
102
- .red.darken-1 {
103
- background-color: #E53935 !important; }
104
-
105
- .red-text.text-darken-1 {
106
- color: #E53935 !important; }
107
-
108
- .red.darken-2 {
109
- background-color: #D32F2F !important; }
110
-
111
- .red-text.text-darken-2 {
112
- color: #D32F2F !important; }
113
-
114
- .red.darken-3 {
115
- background-color: #C62828 !important; }
116
-
117
- .red-text.text-darken-3 {
118
- color: #C62828 !important; }
119
-
120
- .red.darken-4 {
121
- background-color: #B71C1C !important; }
122
-
123
- .red-text.text-darken-4 {
124
- color: #B71C1C !important; }
125
-
126
- .red.accent-1 {
127
- background-color: #FF8A80 !important; }
128
-
129
- .red-text.text-accent-1 {
130
- color: #FF8A80 !important; }
131
-
132
- .red.accent-2 {
133
- background-color: #FF5252 !important; }
134
-
135
- .red-text.text-accent-2 {
136
- color: #FF5252 !important; }
137
-
138
- .red.accent-3 {
139
- background-color: #FF1744 !important; }
140
-
141
- .red-text.text-accent-3 {
142
- color: #FF1744 !important; }
143
-
144
- .red.accent-4 {
145
- background-color: #D50000 !important; }
146
-
147
- .red-text.text-accent-4 {
148
- color: #D50000 !important; }
149
-
150
- .pink.lighten-5 {
151
- background-color: #fce4ec !important; }
152
-
153
- .pink-text.text-lighten-5 {
154
- color: #fce4ec !important; }
155
-
156
- .pink.lighten-4 {
157
- background-color: #f8bbd0 !important; }
158
-
159
- .pink-text.text-lighten-4 {
160
- color: #f8bbd0 !important; }
161
-
162
- .pink.lighten-3 {
163
- background-color: #f48fb1 !important; }
164
-
165
- .pink-text.text-lighten-3 {
166
- color: #f48fb1 !important; }
167
-
168
- .pink.lighten-2 {
169
- background-color: #f06292 !important; }
170
-
171
- .pink-text.text-lighten-2 {
172
- color: #f06292 !important; }
173
-
174
- .pink.lighten-1 {
175
- background-color: #ec407a !important; }
176
-
177
- .pink-text.text-lighten-1 {
178
- color: #ec407a !important; }
179
-
180
- .pink {
181
- background-color: #e91e63 !important; }
182
-
183
- .pink-text {
184
- color: #e91e63 !important; }
185
-
186
- .pink.darken-1 {
187
- background-color: #d81b60 !important; }
188
-
189
- .pink-text.text-darken-1 {
190
- color: #d81b60 !important; }
191
-
192
- .pink.darken-2 {
193
- background-color: #c2185b !important; }
194
-
195
- .pink-text.text-darken-2 {
196
- color: #c2185b !important; }
197
-
198
- .pink.darken-3 {
199
- background-color: #ad1457 !important; }
200
-
201
- .pink-text.text-darken-3 {
202
- color: #ad1457 !important; }
203
-
204
- .pink.darken-4 {
205
- background-color: #880e4f !important; }
206
-
207
- .pink-text.text-darken-4 {
208
- color: #880e4f !important; }
209
-
210
- .pink.accent-1 {
211
- background-color: #ff80ab !important; }
212
-
213
- .pink-text.text-accent-1 {
214
- color: #ff80ab !important; }
215
-
216
- .pink.accent-2 {
217
- background-color: #ff4081 !important; }
218
-
219
- .pink-text.text-accent-2 {
220
- color: #ff4081 !important; }
221
-
222
- .pink.accent-3 {
223
- background-color: #f50057 !important; }
224
-
225
- .pink-text.text-accent-3 {
226
- color: #f50057 !important; }
227
-
228
- .pink.accent-4 {
229
- background-color: #c51162 !important; }
230
-
231
- .pink-text.text-accent-4 {
232
- color: #c51162 !important; }
233
-
234
- .purple.lighten-5 {
235
- background-color: #f3e5f5 !important; }
236
-
237
- .purple-text.text-lighten-5 {
238
- color: #f3e5f5 !important; }
239
-
240
- .purple.lighten-4 {
241
- background-color: #e1bee7 !important; }
242
-
243
- .purple-text.text-lighten-4 {
244
- color: #e1bee7 !important; }
245
-
246
- .purple.lighten-3 {
247
- background-color: #ce93d8 !important; }
248
-
249
- .purple-text.text-lighten-3 {
250
- color: #ce93d8 !important; }
251
-
252
- .purple.lighten-2 {
253
- background-color: #ba68c8 !important; }
254
-
255
- .purple-text.text-lighten-2 {
256
- color: #ba68c8 !important; }
257
-
258
- .purple.lighten-1 {
259
- background-color: #ab47bc !important; }
260
-
261
- .purple-text.text-lighten-1 {
262
- color: #ab47bc !important; }
263
-
264
- .purple {
265
- background-color: #9c27b0 !important; }
266
-
267
- .purple-text {
268
- color: #9c27b0 !important; }
269
-
270
- .purple.darken-1 {
271
- background-color: #8e24aa !important; }
272
-
273
- .purple-text.text-darken-1 {
274
- color: #8e24aa !important; }
275
-
276
- .purple.darken-2 {
277
- background-color: #7b1fa2 !important; }
278
-
279
- .purple-text.text-darken-2 {
280
- color: #7b1fa2 !important; }
281
-
282
- .purple.darken-3 {
283
- background-color: #6a1b9a !important; }
284
-
285
- .purple-text.text-darken-3 {
286
- color: #6a1b9a !important; }
287
-
288
- .purple.darken-4 {
289
- background-color: #4a148c !important; }
290
-
291
- .purple-text.text-darken-4 {
292
- color: #4a148c !important; }
293
-
294
- .purple.accent-1 {
295
- background-color: #ea80fc !important; }
296
-
297
- .purple-text.text-accent-1 {
298
- color: #ea80fc !important; }
299
-
300
- .purple.accent-2 {
301
- background-color: #e040fb !important; }
302
-
303
- .purple-text.text-accent-2 {
304
- color: #e040fb !important; }
305
-
306
- .purple.accent-3 {
307
- background-color: #d500f9 !important; }
308
-
309
- .purple-text.text-accent-3 {
310
- color: #d500f9 !important; }
311
-
312
- .purple.accent-4 {
313
- background-color: #aa00ff !important; }
314
-
315
- .purple-text.text-accent-4 {
316
- color: #aa00ff !important; }
317
-
318
- .deep-purple.lighten-5 {
319
- background-color: #ede7f6 !important; }
320
-
321
- .deep-purple-text.text-lighten-5 {
322
- color: #ede7f6 !important; }
323
-
324
- .deep-purple.lighten-4 {
325
- background-color: #d1c4e9 !important; }
326
-
327
- .deep-purple-text.text-lighten-4 {
328
- color: #d1c4e9 !important; }
329
-
330
- .deep-purple.lighten-3 {
331
- background-color: #b39ddb !important; }
332
-
333
- .deep-purple-text.text-lighten-3 {
334
- color: #b39ddb !important; }
335
-
336
- .deep-purple.lighten-2 {
337
- background-color: #9575cd !important; }
338
-
339
- .deep-purple-text.text-lighten-2 {
340
- color: #9575cd !important; }
341
-
342
- .deep-purple.lighten-1 {
343
- background-color: #7e57c2 !important; }
344
-
345
- .deep-purple-text.text-lighten-1 {
346
- color: #7e57c2 !important; }
347
-
348
- .deep-purple {
349
- background-color: #673ab7 !important; }
350
-
351
- .deep-purple-text {
352
- color: #673ab7 !important; }
353
-
354
- .deep-purple.darken-1 {
355
- background-color: #5e35b1 !important; }
356
-
357
- .deep-purple-text.text-darken-1 {
358
- color: #5e35b1 !important; }
359
-
360
- .deep-purple.darken-2 {
361
- background-color: #512da8 !important; }
362
-
363
- .deep-purple-text.text-darken-2 {
364
- color: #512da8 !important; }
365
-
366
- .deep-purple.darken-3 {
367
- background-color: #4527a0 !important; }
368
-
369
- .deep-purple-text.text-darken-3 {
370
- color: #4527a0 !important; }
371
-
372
- .deep-purple.darken-4 {
373
- background-color: #311b92 !important; }
374
-
375
- .deep-purple-text.text-darken-4 {
376
- color: #311b92 !important; }
377
-
378
- .deep-purple.accent-1 {
379
- background-color: #b388ff !important; }
380
-
381
- .deep-purple-text.text-accent-1 {
382
- color: #b388ff !important; }
383
-
384
- .deep-purple.accent-2 {
385
- background-color: #7c4dff !important; }
386
-
387
- .deep-purple-text.text-accent-2 {
388
- color: #7c4dff !important; }
389
-
390
- .deep-purple.accent-3 {
391
- background-color: #651fff !important; }
392
-
393
- .deep-purple-text.text-accent-3 {
394
- color: #651fff !important; }
395
-
396
- .deep-purple.accent-4 {
397
- background-color: #6200ea !important; }
398
-
399
- .deep-purple-text.text-accent-4 {
400
- color: #6200ea !important; }
401
-
402
- .indigo.lighten-5 {
403
- background-color: #e8eaf6 !important; }
404
-
405
- .indigo-text.text-lighten-5 {
406
- color: #e8eaf6 !important; }
407
-
408
- .indigo.lighten-4 {
409
- background-color: #c5cae9 !important; }
410
-
411
- .indigo-text.text-lighten-4 {
412
- color: #c5cae9 !important; }
413
-
414
- .indigo.lighten-3 {
415
- background-color: #9fa8da !important; }
416
-
417
- .indigo-text.text-lighten-3 {
418
- color: #9fa8da !important; }
419
-
420
- .indigo.lighten-2 {
421
- background-color: #7986cb !important; }
422
-
423
- .indigo-text.text-lighten-2 {
424
- color: #7986cb !important; }
425
-
426
- .indigo.lighten-1 {
427
- background-color: #5c6bc0 !important; }
428
-
429
- .indigo-text.text-lighten-1 {
430
- color: #5c6bc0 !important; }
431
-
432
- .indigo {
433
- background-color: #3f51b5 !important; }
434
-
435
- .indigo-text {
436
- color: #3f51b5 !important; }
437
-
438
- .indigo.darken-1 {
439
- background-color: #3949ab !important; }
440
-
441
- .indigo-text.text-darken-1 {
442
- color: #3949ab !important; }
443
-
444
- .indigo.darken-2 {
445
- background-color: #303f9f !important; }
446
-
447
- .indigo-text.text-darken-2 {
448
- color: #303f9f !important; }
449
-
450
- .indigo.darken-3 {
451
- background-color: #283593 !important; }
452
-
453
- .indigo-text.text-darken-3 {
454
- color: #283593 !important; }
455
-
456
- .indigo.darken-4 {
457
- background-color: #1a237e !important; }
458
-
459
- .indigo-text.text-darken-4 {
460
- color: #1a237e !important; }
461
-
462
- .indigo.accent-1 {
463
- background-color: #8c9eff !important; }
464
-
465
- .indigo-text.text-accent-1 {
466
- color: #8c9eff !important; }
467
-
468
- .indigo.accent-2 {
469
- background-color: #536dfe !important; }
470
-
471
- .indigo-text.text-accent-2 {
472
- color: #536dfe !important; }
473
-
474
- .indigo.accent-3 {
475
- background-color: #3d5afe !important; }
476
-
477
- .indigo-text.text-accent-3 {
478
- color: #3d5afe !important; }
479
-
480
- .indigo.accent-4 {
481
- background-color: #304ffe !important; }
482
-
483
- .indigo-text.text-accent-4 {
484
- color: #304ffe !important; }
485
-
486
- .blue.lighten-5 {
487
- background-color: #E3F2FD !important; }
488
-
489
- .blue-text.text-lighten-5 {
490
- color: #E3F2FD !important; }
491
-
492
- .blue.lighten-4 {
493
- background-color: #BBDEFB !important; }
494
-
495
- .blue-text.text-lighten-4 {
496
- color: #BBDEFB !important; }
497
-
498
- .blue.lighten-3 {
499
- background-color: #90CAF9 !important; }
500
-
501
- .blue-text.text-lighten-3 {
502
- color: #90CAF9 !important; }
503
-
504
- .blue.lighten-2 {
505
- background-color: #64B5F6 !important; }
506
-
507
- .blue-text.text-lighten-2 {
508
- color: #64B5F6 !important; }
509
-
510
- .blue.lighten-1 {
511
- background-color: #42A5F5 !important; }
512
-
513
- .blue-text.text-lighten-1 {
514
- color: #42A5F5 !important; }
515
-
516
- .blue {
517
- background-color: #2196F3 !important; }
518
-
519
- .blue-text {
520
- color: #2196F3 !important; }
521
-
522
- .blue.darken-1 {
523
- background-color: #1E88E5 !important; }
524
-
525
- .blue-text.text-darken-1 {
526
- color: #1E88E5 !important; }
527
-
528
- .blue.darken-2 {
529
- background-color: #1976D2 !important; }
530
-
531
- .blue-text.text-darken-2 {
532
- color: #1976D2 !important; }
533
-
534
- .blue.darken-3 {
535
- background-color: #1565C0 !important; }
536
-
537
- .blue-text.text-darken-3 {
538
- color: #1565C0 !important; }
539
-
540
- .blue.darken-4 {
541
- background-color: #0D47A1 !important; }
542
-
543
- .blue-text.text-darken-4 {
544
- color: #0D47A1 !important; }
545
-
546
- .blue.accent-1 {
547
- background-color: #82B1FF !important; }
548
-
549
- .blue-text.text-accent-1 {
550
- color: #82B1FF !important; }
551
-
552
- .blue.accent-2 {
553
- background-color: #448AFF !important; }
554
-
555
- .blue-text.text-accent-2 {
556
- color: #448AFF !important; }
557
-
558
- .blue.accent-3 {
559
- background-color: #2979FF !important; }
560
-
561
- .blue-text.text-accent-3 {
562
- color: #2979FF !important; }
563
-
564
- .blue.accent-4 {
565
- background-color: #2962FF !important; }
566
-
567
- .blue-text.text-accent-4 {
568
- color: #2962FF !important; }
569
-
570
- .light-blue.lighten-5 {
571
- background-color: #e1f5fe !important; }
572
-
573
- .light-blue-text.text-lighten-5 {
574
- color: #e1f5fe !important; }
575
-
576
- .light-blue.lighten-4 {
577
- background-color: #b3e5fc !important; }
578
-
579
- .light-blue-text.text-lighten-4 {
580
- color: #b3e5fc !important; }
581
-
582
- .light-blue.lighten-3 {
583
- background-color: #81d4fa !important; }
584
-
585
- .light-blue-text.text-lighten-3 {
586
- color: #81d4fa !important; }
587
-
588
- .light-blue.lighten-2 {
589
- background-color: #4fc3f7 !important; }
590
-
591
- .light-blue-text.text-lighten-2 {
592
- color: #4fc3f7 !important; }
593
-
594
- .light-blue.lighten-1 {
595
- background-color: #29b6f6 !important; }
596
-
597
- .light-blue-text.text-lighten-1 {
598
- color: #29b6f6 !important; }
599
-
600
- .light-blue {
601
- background-color: #03a9f4 !important; }
602
-
603
- .light-blue-text {
604
- color: #03a9f4 !important; }
605
-
606
- .light-blue.darken-1 {
607
- background-color: #039be5 !important; }
608
-
609
- .light-blue-text.text-darken-1 {
610
- color: #039be5 !important; }
611
-
612
- .light-blue.darken-2 {
613
- background-color: #0288d1 !important; }
614
-
615
- .light-blue-text.text-darken-2 {
616
- color: #0288d1 !important; }
617
-
618
- .light-blue.darken-3 {
619
- background-color: #0277bd !important; }
620
-
621
- .light-blue-text.text-darken-3 {
622
- color: #0277bd !important; }
623
-
624
- .light-blue.darken-4 {
625
- background-color: #01579b !important; }
626
-
627
- .light-blue-text.text-darken-4 {
628
- color: #01579b !important; }
629
-
630
- .light-blue.accent-1 {
631
- background-color: #80d8ff !important; }
632
-
633
- .light-blue-text.text-accent-1 {
634
- color: #80d8ff !important; }
635
-
636
- .light-blue.accent-2 {
637
- background-color: #40c4ff !important; }
638
-
639
- .light-blue-text.text-accent-2 {
640
- color: #40c4ff !important; }
641
-
642
- .light-blue.accent-3 {
643
- background-color: #00b0ff !important; }
644
-
645
- .light-blue-text.text-accent-3 {
646
- color: #00b0ff !important; }
647
-
648
- .light-blue.accent-4 {
649
- background-color: #0091ea !important; }
650
-
651
- .light-blue-text.text-accent-4 {
652
- color: #0091ea !important; }
653
-
654
- .cyan.lighten-5 {
655
- background-color: #e0f7fa !important; }
656
-
657
- .cyan-text.text-lighten-5 {
658
- color: #e0f7fa !important; }
659
-
660
- .cyan.lighten-4 {
661
- background-color: #b2ebf2 !important; }
662
-
663
- .cyan-text.text-lighten-4 {
664
- color: #b2ebf2 !important; }
665
-
666
- .cyan.lighten-3 {
667
- background-color: #80deea !important; }
668
-
669
- .cyan-text.text-lighten-3 {
670
- color: #80deea !important; }
671
-
672
- .cyan.lighten-2 {
673
- background-color: #4dd0e1 !important; }
674
-
675
- .cyan-text.text-lighten-2 {
676
- color: #4dd0e1 !important; }
677
-
678
- .cyan.lighten-1 {
679
- background-color: #26c6da !important; }
680
-
681
- .cyan-text.text-lighten-1 {
682
- color: #26c6da !important; }
683
-
684
- .cyan {
685
- background-color: #00bcd4 !important; }
686
-
687
- .cyan-text {
688
- color: #00bcd4 !important; }
689
-
690
- .cyan.darken-1 {
691
- background-color: #00acc1 !important; }
692
-
693
- .cyan-text.text-darken-1 {
694
- color: #00acc1 !important; }
695
-
696
- .cyan.darken-2 {
697
- background-color: #0097a7 !important; }
698
-
699
- .cyan-text.text-darken-2 {
700
- color: #0097a7 !important; }
701
-
702
- .cyan.darken-3 {
703
- background-color: #00838f !important; }
704
-
705
- .cyan-text.text-darken-3 {
706
- color: #00838f !important; }
707
-
708
- .cyan.darken-4 {
709
- background-color: #006064 !important; }
710
-
711
- .cyan-text.text-darken-4 {
712
- color: #006064 !important; }
713
-
714
- .cyan.accent-1 {
715
- background-color: #84ffff !important; }
716
-
717
- .cyan-text.text-accent-1 {
718
- color: #84ffff !important; }
719
-
720
- .cyan.accent-2 {
721
- background-color: #18ffff !important; }
722
-
723
- .cyan-text.text-accent-2 {
724
- color: #18ffff !important; }
725
-
726
- .cyan.accent-3 {
727
- background-color: #00e5ff !important; }
728
-
729
- .cyan-text.text-accent-3 {
730
- color: #00e5ff !important; }
731
-
732
- .cyan.accent-4 {
733
- background-color: #00b8d4 !important; }
734
-
735
- .cyan-text.text-accent-4 {
736
- color: #00b8d4 !important; }
737
-
738
- .teal.lighten-5 {
739
- background-color: #e0f2f1 !important; }
740
-
741
- .teal-text.text-lighten-5 {
742
- color: #e0f2f1 !important; }
743
-
744
- .teal.lighten-4 {
745
- background-color: #b2dfdb !important; }
746
-
747
- .teal-text.text-lighten-4 {
748
- color: #b2dfdb !important; }
749
-
750
- .teal.lighten-3 {
751
- background-color: #80cbc4 !important; }
752
-
753
- .teal-text.text-lighten-3 {
754
- color: #80cbc4 !important; }
755
-
756
- .teal.lighten-2 {
757
- background-color: #4db6ac !important; }
758
-
759
- .teal-text.text-lighten-2 {
760
- color: #4db6ac !important; }
761
-
762
- .teal.lighten-1 {
763
- background-color: #26a69a !important; }
764
-
765
- .teal-text.text-lighten-1 {
766
- color: #26a69a !important; }
767
-
768
- .teal {
769
- background-color: #009688 !important; }
770
-
771
- .teal-text {
772
- color: #009688 !important; }
773
-
774
- .teal.darken-1 {
775
- background-color: #00897b !important; }
776
-
777
- .teal-text.text-darken-1 {
778
- color: #00897b !important; }
779
-
780
- .teal.darken-2 {
781
- background-color: #00796b !important; }
782
-
783
- .teal-text.text-darken-2 {
784
- color: #00796b !important; }
785
-
786
- .teal.darken-3 {
787
- background-color: #00695c !important; }
788
-
789
- .teal-text.text-darken-3 {
790
- color: #00695c !important; }
791
-
792
- .teal.darken-4 {
793
- background-color: #004d40 !important; }
794
-
795
- .teal-text.text-darken-4 {
796
- color: #004d40 !important; }
797
-
798
- .teal.accent-1 {
799
- background-color: #a7ffeb !important; }
800
-
801
- .teal-text.text-accent-1 {
802
- color: #a7ffeb !important; }
803
-
804
- .teal.accent-2 {
805
- background-color: #64ffda !important; }
806
-
807
- .teal-text.text-accent-2 {
808
- color: #64ffda !important; }
809
-
810
- .teal.accent-3 {
811
- background-color: #1de9b6 !important; }
812
-
813
- .teal-text.text-accent-3 {
814
- color: #1de9b6 !important; }
815
-
816
- .teal.accent-4 {
817
- background-color: #00bfa5 !important; }
818
-
819
- .teal-text.text-accent-4 {
820
- color: #00bfa5 !important; }
821
-
822
- .green.lighten-5 {
823
- background-color: #E8F5E9 !important; }
824
-
825
- .green-text.text-lighten-5 {
826
- color: #E8F5E9 !important; }
827
-
828
- .green.lighten-4 {
829
- background-color: #C8E6C9 !important; }
830
-
831
- .green-text.text-lighten-4 {
832
- color: #C8E6C9 !important; }
833
-
834
- .green.lighten-3 {
835
- background-color: #A5D6A7 !important; }
836
-
837
- .green-text.text-lighten-3 {
838
- color: #A5D6A7 !important; }
839
-
840
- .green.lighten-2 {
841
- background-color: #81C784 !important; }
842
-
843
- .green-text.text-lighten-2 {
844
- color: #81C784 !important; }
845
-
846
- .green.lighten-1 {
847
- background-color: #66BB6A !important; }
848
-
849
- .green-text.text-lighten-1 {
850
- color: #66BB6A !important; }
851
-
852
- .green {
853
- background-color: #4CAF50 !important; }
854
-
855
- .green-text {
856
- color: #4CAF50 !important; }
857
-
858
- .green.darken-1 {
859
- background-color: #43A047 !important; }
860
-
861
- .green-text.text-darken-1 {
862
- color: #43A047 !important; }
863
-
864
- .green.darken-2 {
865
- background-color: #388E3C !important; }
866
-
867
- .green-text.text-darken-2 {
868
- color: #388E3C !important; }
869
-
870
- .green.darken-3 {
871
- background-color: #2E7D32 !important; }
872
-
873
- .green-text.text-darken-3 {
874
- color: #2E7D32 !important; }
875
-
876
- .green.darken-4 {
877
- background-color: #1B5E20 !important; }
878
-
879
- .green-text.text-darken-4 {
880
- color: #1B5E20 !important; }
881
-
882
- .green.accent-1 {
883
- background-color: #B9F6CA !important; }
884
-
885
- .green-text.text-accent-1 {
886
- color: #B9F6CA !important; }
887
-
888
- .green.accent-2 {
889
- background-color: #69F0AE !important; }
890
-
891
- .green-text.text-accent-2 {
892
- color: #69F0AE !important; }
893
-
894
- .green.accent-3 {
895
- background-color: #00E676 !important; }
896
-
897
- .green-text.text-accent-3 {
898
- color: #00E676 !important; }
899
-
900
- .green.accent-4 {
901
- background-color: #00C853 !important; }
902
-
903
- .green-text.text-accent-4 {
904
- color: #00C853 !important; }
905
-
906
- .light-green.lighten-5 {
907
- background-color: #f1f8e9 !important; }
908
-
909
- .light-green-text.text-lighten-5 {
910
- color: #f1f8e9 !important; }
911
-
912
- .light-green.lighten-4 {
913
- background-color: #dcedc8 !important; }
914
-
915
- .light-green-text.text-lighten-4 {
916
- color: #dcedc8 !important; }
917
-
918
- .light-green.lighten-3 {
919
- background-color: #c5e1a5 !important; }
920
-
921
- .light-green-text.text-lighten-3 {
922
- color: #c5e1a5 !important; }
923
-
924
- .light-green.lighten-2 {
925
- background-color: #aed581 !important; }
926
-
927
- .light-green-text.text-lighten-2 {
928
- color: #aed581 !important; }
929
-
930
- .light-green.lighten-1 {
931
- background-color: #9ccc65 !important; }
932
-
933
- .light-green-text.text-lighten-1 {
934
- color: #9ccc65 !important; }
935
-
936
- .light-green {
937
- background-color: #8bc34a !important; }
938
-
939
- .light-green-text {
940
- color: #8bc34a !important; }
941
-
942
- .light-green.darken-1 {
943
- background-color: #7cb342 !important; }
944
-
945
- .light-green-text.text-darken-1 {
946
- color: #7cb342 !important; }
947
-
948
- .light-green.darken-2 {
949
- background-color: #689f38 !important; }
950
-
951
- .light-green-text.text-darken-2 {
952
- color: #689f38 !important; }
953
-
954
- .light-green.darken-3 {
955
- background-color: #558b2f !important; }
956
-
957
- .light-green-text.text-darken-3 {
958
- color: #558b2f !important; }
959
-
960
- .light-green.darken-4 {
961
- background-color: #33691e !important; }
962
-
963
- .light-green-text.text-darken-4 {
964
- color: #33691e !important; }
965
-
966
- .light-green.accent-1 {
967
- background-color: #ccff90 !important; }
968
-
969
- .light-green-text.text-accent-1 {
970
- color: #ccff90 !important; }
971
-
972
- .light-green.accent-2 {
973
- background-color: #b2ff59 !important; }
974
-
975
- .light-green-text.text-accent-2 {
976
- color: #b2ff59 !important; }
977
-
978
- .light-green.accent-3 {
979
- background-color: #76ff03 !important; }
980
-
981
- .light-green-text.text-accent-3 {
982
- color: #76ff03 !important; }
983
-
984
- .light-green.accent-4 {
985
- background-color: #64dd17 !important; }
986
-
987
- .light-green-text.text-accent-4 {
988
- color: #64dd17 !important; }
989
-
990
- .lime.lighten-5 {
991
- background-color: #f9fbe7 !important; }
992
-
993
- .lime-text.text-lighten-5 {
994
- color: #f9fbe7 !important; }
995
-
996
- .lime.lighten-4 {
997
- background-color: #f0f4c3 !important; }
998
-
999
- .lime-text.text-lighten-4 {
1000
- color: #f0f4c3 !important; }
1001
-
1002
- .lime.lighten-3 {
1003
- background-color: #e6ee9c !important; }
1004
-
1005
- .lime-text.text-lighten-3 {
1006
- color: #e6ee9c !important; }
1007
-
1008
- .lime.lighten-2 {
1009
- background-color: #dce775 !important; }
1010
-
1011
- .lime-text.text-lighten-2 {
1012
- color: #dce775 !important; }
1013
-
1014
- .lime.lighten-1 {
1015
- background-color: #d4e157 !important; }
1016
-
1017
- .lime-text.text-lighten-1 {
1018
- color: #d4e157 !important; }
1019
-
1020
- .lime {
1021
- background-color: #cddc39 !important; }
1022
-
1023
- .lime-text {
1024
- color: #cddc39 !important; }
1025
-
1026
- .lime.darken-1 {
1027
- background-color: #c0ca33 !important; }
1028
-
1029
- .lime-text.text-darken-1 {
1030
- color: #c0ca33 !important; }
1031
-
1032
- .lime.darken-2 {
1033
- background-color: #afb42b !important; }
1034
-
1035
- .lime-text.text-darken-2 {
1036
- color: #afb42b !important; }
1037
-
1038
- .lime.darken-3 {
1039
- background-color: #9e9d24 !important; }
1040
-
1041
- .lime-text.text-darken-3 {
1042
- color: #9e9d24 !important; }
1043
-
1044
- .lime.darken-4 {
1045
- background-color: #827717 !important; }
1046
-
1047
- .lime-text.text-darken-4 {
1048
- color: #827717 !important; }
1049
-
1050
- .lime.accent-1 {
1051
- background-color: #f4ff81 !important; }
1052
-
1053
- .lime-text.text-accent-1 {
1054
- color: #f4ff81 !important; }
1055
-
1056
- .lime.accent-2 {
1057
- background-color: #eeff41 !important; }
1058
-
1059
- .lime-text.text-accent-2 {
1060
- color: #eeff41 !important; }
1061
-
1062
- .lime.accent-3 {
1063
- background-color: #c6ff00 !important; }
1064
-
1065
- .lime-text.text-accent-3 {
1066
- color: #c6ff00 !important; }
1067
-
1068
- .lime.accent-4 {
1069
- background-color: #aeea00 !important; }
1070
-
1071
- .lime-text.text-accent-4 {
1072
- color: #aeea00 !important; }
1073
-
1074
- .yellow.lighten-5 {
1075
- background-color: #fffde7 !important; }
1076
-
1077
- .yellow-text.text-lighten-5 {
1078
- color: #fffde7 !important; }
1079
-
1080
- .yellow.lighten-4 {
1081
- background-color: #fff9c4 !important; }
1082
-
1083
- .yellow-text.text-lighten-4 {
1084
- color: #fff9c4 !important; }
1085
-
1086
- .yellow.lighten-3 {
1087
- background-color: #fff59d !important; }
1088
-
1089
- .yellow-text.text-lighten-3 {
1090
- color: #fff59d !important; }
1091
-
1092
- .yellow.lighten-2 {
1093
- background-color: #fff176 !important; }
1094
-
1095
- .yellow-text.text-lighten-2 {
1096
- color: #fff176 !important; }
1097
-
1098
- .yellow.lighten-1 {
1099
- background-color: #ffee58 !important; }
1100
-
1101
- .yellow-text.text-lighten-1 {
1102
- color: #ffee58 !important; }
1103
-
1104
- .yellow {
1105
- background-color: #ffeb3b !important; }
1106
-
1107
- .yellow-text {
1108
- color: #ffeb3b !important; }
1109
-
1110
- .yellow.darken-1 {
1111
- background-color: #fdd835 !important; }
1112
-
1113
- .yellow-text.text-darken-1 {
1114
- color: #fdd835 !important; }
1115
-
1116
- .yellow.darken-2 {
1117
- background-color: #fbc02d !important; }
1118
-
1119
- .yellow-text.text-darken-2 {
1120
- color: #fbc02d !important; }
1121
-
1122
- .yellow.darken-3 {
1123
- background-color: #f9a825 !important; }
1124
-
1125
- .yellow-text.text-darken-3 {
1126
- color: #f9a825 !important; }
1127
-
1128
- .yellow.darken-4 {
1129
- background-color: #f57f17 !important; }
1130
-
1131
- .yellow-text.text-darken-4 {
1132
- color: #f57f17 !important; }
1133
-
1134
- .yellow.accent-1 {
1135
- background-color: #ffff8d !important; }
1136
-
1137
- .yellow-text.text-accent-1 {
1138
- color: #ffff8d !important; }
1139
-
1140
- .yellow.accent-2 {
1141
- background-color: #ffff00 !important; }
1142
-
1143
- .yellow-text.text-accent-2 {
1144
- color: #ffff00 !important; }
1145
-
1146
- .yellow.accent-3 {
1147
- background-color: #ffea00 !important; }
1148
-
1149
- .yellow-text.text-accent-3 {
1150
- color: #ffea00 !important; }
1151
-
1152
- .yellow.accent-4 {
1153
- background-color: #ffd600 !important; }
1154
-
1155
- .yellow-text.text-accent-4 {
1156
- color: #ffd600 !important; }
1157
-
1158
- .amber.lighten-5 {
1159
- background-color: #fff8e1 !important; }
1160
-
1161
- .amber-text.text-lighten-5 {
1162
- color: #fff8e1 !important; }
1163
-
1164
- .amber.lighten-4 {
1165
- background-color: #ffecb3 !important; }
1166
-
1167
- .amber-text.text-lighten-4 {
1168
- color: #ffecb3 !important; }
1169
-
1170
- .amber.lighten-3 {
1171
- background-color: #ffe082 !important; }
1172
-
1173
- .amber-text.text-lighten-3 {
1174
- color: #ffe082 !important; }
1175
-
1176
- .amber.lighten-2 {
1177
- background-color: #ffd54f !important; }
1178
-
1179
- .amber-text.text-lighten-2 {
1180
- color: #ffd54f !important; }
1181
-
1182
- .amber.lighten-1 {
1183
- background-color: #ffca28 !important; }
1184
-
1185
- .amber-text.text-lighten-1 {
1186
- color: #ffca28 !important; }
1187
-
1188
- .amber {
1189
- background-color: #ffc107 !important; }
1190
-
1191
- .amber-text {
1192
- color: #ffc107 !important; }
1193
-
1194
- .amber.darken-1 {
1195
- background-color: #ffb300 !important; }
1196
-
1197
- .amber-text.text-darken-1 {
1198
- color: #ffb300 !important; }
1199
-
1200
- .amber.darken-2 {
1201
- background-color: #ffa000 !important; }
1202
-
1203
- .amber-text.text-darken-2 {
1204
- color: #ffa000 !important; }
1205
-
1206
- .amber.darken-3 {
1207
- background-color: #ff8f00 !important; }
1208
-
1209
- .amber-text.text-darken-3 {
1210
- color: #ff8f00 !important; }
1211
-
1212
- .amber.darken-4 {
1213
- background-color: #ff6f00 !important; }
1214
-
1215
- .amber-text.text-darken-4 {
1216
- color: #ff6f00 !important; }
1217
-
1218
- .amber.accent-1 {
1219
- background-color: #ffe57f !important; }
1220
-
1221
- .amber-text.text-accent-1 {
1222
- color: #ffe57f !important; }
1223
-
1224
- .amber.accent-2 {
1225
- background-color: #ffd740 !important; }
1226
-
1227
- .amber-text.text-accent-2 {
1228
- color: #ffd740 !important; }
1229
-
1230
- .amber.accent-3 {
1231
- background-color: #ffc400 !important; }
1232
-
1233
- .amber-text.text-accent-3 {
1234
- color: #ffc400 !important; }
1235
-
1236
- .amber.accent-4 {
1237
- background-color: #ffab00 !important; }
1238
-
1239
- .amber-text.text-accent-4 {
1240
- color: #ffab00 !important; }
1241
-
1242
- .orange.lighten-5 {
1243
- background-color: #fff3e0 !important; }
1244
-
1245
- .orange-text.text-lighten-5 {
1246
- color: #fff3e0 !important; }
1247
-
1248
- .orange.lighten-4 {
1249
- background-color: #ffe0b2 !important; }
1250
-
1251
- .orange-text.text-lighten-4 {
1252
- color: #ffe0b2 !important; }
1253
-
1254
- .orange.lighten-3 {
1255
- background-color: #ffcc80 !important; }
1256
-
1257
- .orange-text.text-lighten-3 {
1258
- color: #ffcc80 !important; }
1259
-
1260
- .orange.lighten-2 {
1261
- background-color: #ffb74d !important; }
1262
-
1263
- .orange-text.text-lighten-2 {
1264
- color: #ffb74d !important; }
1265
-
1266
- .orange.lighten-1 {
1267
- background-color: #ffa726 !important; }
1268
-
1269
- .orange-text.text-lighten-1 {
1270
- color: #ffa726 !important; }
1271
-
1272
- .orange {
1273
- background-color: #ff9800 !important; }
1274
-
1275
- .orange-text {
1276
- color: #ff9800 !important; }
1277
-
1278
- .orange.darken-1 {
1279
- background-color: #fb8c00 !important; }
1280
-
1281
- .orange-text.text-darken-1 {
1282
- color: #fb8c00 !important; }
1283
-
1284
- .orange.darken-2 {
1285
- background-color: #f57c00 !important; }
1286
-
1287
- .orange-text.text-darken-2 {
1288
- color: #f57c00 !important; }
1289
-
1290
- .orange.darken-3 {
1291
- background-color: #ef6c00 !important; }
1292
-
1293
- .orange-text.text-darken-3 {
1294
- color: #ef6c00 !important; }
1295
-
1296
- .orange.darken-4 {
1297
- background-color: #e65100 !important; }
1298
-
1299
- .orange-text.text-darken-4 {
1300
- color: #e65100 !important; }
1301
-
1302
- .orange.accent-1 {
1303
- background-color: #ffd180 !important; }
1304
-
1305
- .orange-text.text-accent-1 {
1306
- color: #ffd180 !important; }
1307
-
1308
- .orange.accent-2 {
1309
- background-color: #ffab40 !important; }
1310
-
1311
- .orange-text.text-accent-2 {
1312
- color: #ffab40 !important; }
1313
-
1314
- .orange.accent-3 {
1315
- background-color: #ff9100 !important; }
1316
-
1317
- .orange-text.text-accent-3 {
1318
- color: #ff9100 !important; }
1319
-
1320
- .orange.accent-4 {
1321
- background-color: #ff6d00 !important; }
1322
-
1323
- .orange-text.text-accent-4 {
1324
- color: #ff6d00 !important; }
1325
-
1326
- .deep-orange.lighten-5 {
1327
- background-color: #fbe9e7 !important; }
1328
-
1329
- .deep-orange-text.text-lighten-5 {
1330
- color: #fbe9e7 !important; }
1331
-
1332
- .deep-orange.lighten-4 {
1333
- background-color: #ffccbc !important; }
1334
-
1335
- .deep-orange-text.text-lighten-4 {
1336
- color: #ffccbc !important; }
1337
-
1338
- .deep-orange.lighten-3 {
1339
- background-color: #ffab91 !important; }
1340
-
1341
- .deep-orange-text.text-lighten-3 {
1342
- color: #ffab91 !important; }
1343
-
1344
- .deep-orange.lighten-2 {
1345
- background-color: #ff8a65 !important; }
1346
-
1347
- .deep-orange-text.text-lighten-2 {
1348
- color: #ff8a65 !important; }
1349
-
1350
- .deep-orange.lighten-1 {
1351
- background-color: #ff7043 !important; }
1352
-
1353
- .deep-orange-text.text-lighten-1 {
1354
- color: #ff7043 !important; }
1355
-
1356
- .deep-orange {
1357
- background-color: #ff5722 !important; }
1358
-
1359
- .deep-orange-text {
1360
- color: #ff5722 !important; }
1361
-
1362
- .deep-orange.darken-1 {
1363
- background-color: #f4511e !important; }
1364
-
1365
- .deep-orange-text.text-darken-1 {
1366
- color: #f4511e !important; }
1367
-
1368
- .deep-orange.darken-2 {
1369
- background-color: #e64a19 !important; }
1370
-
1371
- .deep-orange-text.text-darken-2 {
1372
- color: #e64a19 !important; }
1373
-
1374
- .deep-orange.darken-3 {
1375
- background-color: #d84315 !important; }
1376
-
1377
- .deep-orange-text.text-darken-3 {
1378
- color: #d84315 !important; }
1379
-
1380
- .deep-orange.darken-4 {
1381
- background-color: #bf360c !important; }
1382
-
1383
- .deep-orange-text.text-darken-4 {
1384
- color: #bf360c !important; }
1385
-
1386
- .deep-orange.accent-1 {
1387
- background-color: #ff9e80 !important; }
1388
-
1389
- .deep-orange-text.text-accent-1 {
1390
- color: #ff9e80 !important; }
1391
-
1392
- .deep-orange.accent-2 {
1393
- background-color: #ff6e40 !important; }
1394
-
1395
- .deep-orange-text.text-accent-2 {
1396
- color: #ff6e40 !important; }
1397
-
1398
- .deep-orange.accent-3 {
1399
- background-color: #ff3d00 !important; }
1400
-
1401
- .deep-orange-text.text-accent-3 {
1402
- color: #ff3d00 !important; }
1403
-
1404
- .deep-orange.accent-4 {
1405
- background-color: #dd2c00 !important; }
1406
-
1407
- .deep-orange-text.text-accent-4 {
1408
- color: #dd2c00 !important; }
1409
-
1410
- .brown.lighten-5 {
1411
- background-color: #efebe9 !important; }
1412
-
1413
- .brown-text.text-lighten-5 {
1414
- color: #efebe9 !important; }
1415
-
1416
- .brown.lighten-4 {
1417
- background-color: #d7ccc8 !important; }
1418
-
1419
- .brown-text.text-lighten-4 {
1420
- color: #d7ccc8 !important; }
1421
-
1422
- .brown.lighten-3 {
1423
- background-color: #bcaaa4 !important; }
1424
-
1425
- .brown-text.text-lighten-3 {
1426
- color: #bcaaa4 !important; }
1427
-
1428
- .brown.lighten-2 {
1429
- background-color: #a1887f !important; }
1430
-
1431
- .brown-text.text-lighten-2 {
1432
- color: #a1887f !important; }
1433
-
1434
- .brown.lighten-1 {
1435
- background-color: #8d6e63 !important; }
1436
-
1437
- .brown-text.text-lighten-1 {
1438
- color: #8d6e63 !important; }
1439
-
1440
- .brown {
1441
- background-color: #795548 !important; }
1442
-
1443
- .brown-text {
1444
- color: #795548 !important; }
1445
-
1446
- .brown.darken-1 {
1447
- background-color: #6d4c41 !important; }
1448
-
1449
- .brown-text.text-darken-1 {
1450
- color: #6d4c41 !important; }
1451
-
1452
- .brown.darken-2 {
1453
- background-color: #5d4037 !important; }
1454
-
1455
- .brown-text.text-darken-2 {
1456
- color: #5d4037 !important; }
1457
-
1458
- .brown.darken-3 {
1459
- background-color: #4e342e !important; }
1460
-
1461
- .brown-text.text-darken-3 {
1462
- color: #4e342e !important; }
1463
-
1464
- .brown.darken-4 {
1465
- background-color: #3e2723 !important; }
1466
-
1467
- .brown-text.text-darken-4 {
1468
- color: #3e2723 !important; }
1469
-
1470
- .blue-grey.lighten-5 {
1471
- background-color: #eceff1 !important; }
1472
-
1473
- .blue-grey-text.text-lighten-5 {
1474
- color: #eceff1 !important; }
1475
-
1476
- .blue-grey.lighten-4 {
1477
- background-color: #cfd8dc !important; }
1478
-
1479
- .blue-grey-text.text-lighten-4 {
1480
- color: #cfd8dc !important; }
1481
-
1482
- .blue-grey.lighten-3 {
1483
- background-color: #b0bec5 !important; }
1484
-
1485
- .blue-grey-text.text-lighten-3 {
1486
- color: #b0bec5 !important; }
1487
-
1488
- .blue-grey.lighten-2 {
1489
- background-color: #90a4ae !important; }
1490
-
1491
- .blue-grey-text.text-lighten-2 {
1492
- color: #90a4ae !important; }
1493
-
1494
- .blue-grey.lighten-1 {
1495
- background-color: #78909c !important; }
1496
-
1497
- .blue-grey-text.text-lighten-1 {
1498
- color: #78909c !important; }
1499
-
1500
- .blue-grey {
1501
- background-color: #607d8b !important; }
1502
-
1503
- .blue-grey-text {
1504
- color: #607d8b !important; }
1505
-
1506
- .blue-grey.darken-1 {
1507
- background-color: #546e7a !important; }
1508
-
1509
- .blue-grey-text.text-darken-1 {
1510
- color: #546e7a !important; }
1511
-
1512
- .blue-grey.darken-2 {
1513
- background-color: #455a64 !important; }
1514
-
1515
- .blue-grey-text.text-darken-2 {
1516
- color: #455a64 !important; }
1517
-
1518
- .blue-grey.darken-3 {
1519
- background-color: #37474f !important; }
1520
-
1521
- .blue-grey-text.text-darken-3 {
1522
- color: #37474f !important; }
1523
-
1524
- .blue-grey.darken-4 {
1525
- background-color: #263238 !important; }
1526
-
1527
- .blue-grey-text.text-darken-4 {
1528
- color: #263238 !important; }
1529
-
1530
- .grey.lighten-5 {
1531
- background-color: #fafafa !important; }
1532
-
1533
- .grey-text.text-lighten-5 {
1534
- color: #fafafa !important; }
1535
-
1536
- .grey.lighten-4 {
1537
- background-color: #f5f5f5 !important; }
1538
-
1539
- .grey-text.text-lighten-4 {
1540
- color: #f5f5f5 !important; }
1541
-
1542
- .grey.lighten-3 {
1543
- background-color: #eeeeee !important; }
1544
-
1545
- .grey-text.text-lighten-3 {
1546
- color: #eeeeee !important; }
1547
-
1548
- .grey.lighten-2 {
1549
- background-color: #e0e0e0 !important; }
1550
-
1551
- .grey-text.text-lighten-2 {
1552
- color: #e0e0e0 !important; }
1553
-
1554
- .grey.lighten-1 {
1555
- background-color: #bdbdbd !important; }
1556
-
1557
- .grey-text.text-lighten-1 {
1558
- color: #bdbdbd !important; }
1559
-
1560
- .grey {
1561
- background-color: #9e9e9e !important; }
1562
-
1563
- .grey-text {
1564
- color: #9e9e9e !important; }
1565
-
1566
- .grey.darken-1 {
1567
- background-color: #757575 !important; }
1568
-
1569
- .grey-text.text-darken-1 {
1570
- color: #757575 !important; }
1571
-
1572
- .grey.darken-2 {
1573
- background-color: #616161 !important; }
1574
-
1575
- .grey-text.text-darken-2 {
1576
- color: #616161 !important; }
1577
-
1578
- .grey.darken-3 {
1579
- background-color: #424242 !important; }
1580
-
1581
- .grey-text.text-darken-3 {
1582
- color: #424242 !important; }
1583
-
1584
- .grey.darken-4 {
1585
- background-color: #212121 !important; }
1586
-
1587
- .grey-text.text-darken-4 {
1588
- color: #212121 !important; }
1589
-
1590
- .shades.black {
1591
- background-color: #000000 !important; }
1592
-
1593
- .shades-text.text-black {
1594
- color: #000000 !important; }
1595
-
1596
- .shades.white {
1597
- background-color: #FFFFFF !important; }
1598
-
1599
- .shades-text.text-white {
1600
- color: #FFFFFF !important; }
1601
-
1602
- .black {
1603
- background-color: #000000 !important; }
1604
-
1605
- .black-text {
1606
- color: #000000 !important; }
1607
-
1608
- .white {
1609
- background-color: #FFFFFF !important; }
1610
-
1611
- .white-text {
1612
- color: #FFFFFF !important; }
1613
-
1614
- /*** Colors ***/
1615
- /*** Badges ***/
1616
- /*** Buttons ***/
1617
- /*** Cards ***/
1618
- /*** Collapsible ***/
1619
- /*** Dropdown ***/
1620
- /*** Fonts ***/
1621
- /*** Forms ***/
1622
- /*** Global ***/
1623
- /*** Navbar ***/
1624
- /*** SideNav ***/
1625
- /*** Tabs ***/
1626
- /*** Tables ***/
1627
- /*** Toasts ***/
1628
- /*** Typography ***/
1629
- /*** Collections ***/
1630
- /* Progress Bar */
1631
- /*! normalize.css v3.0.2 | MIT License | git.io/normalize */
1632
- /**
1633
- * 1. Set default font family to sans-serif.
1634
- * 2. Prevent iOS text size adjust after orientation change, without disabling
1635
- * user zoom.
1636
- */
1637
- html {
1638
- font-family: sans-serif;
1639
- /* 1 */
1640
- -ms-text-size-adjust: 100%;
1641
- /* 2 */
1642
- -webkit-text-size-adjust: 100%;
1643
- /* 2 */ }
1644
-
1645
- /**
1646
- * Remove default margin.
1647
- */
1648
- body {
1649
- margin: 0;
1650
- width:80%; }
1651
-
1652
- /* HTML5 display definitions
1653
- ========================================================================== */
1654
- /**
1655
- * Correct `block` display not defined for any HTML5 element in IE 8/9.
1656
- * Correct `block` display not defined for `details` or `summary` in IE 10/11
1657
- * and Firefox.
1658
- * Correct `block` display not defined for `main` in IE 11.
1659
- */
1660
- article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
1661
- display: block; }
1662
-
1663
- /**
1664
- * 1. Correct `inline-block` display not defined in IE 8/9.
1665
- * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
1666
- */
1667
- audio, canvas, progress, video {
1668
- display: inline-block;
1669
- /* 1 */
1670
- vertical-align: baseline;
1671
- /* 2 */ }
1672
-
1673
- /**
1674
- * Prevent modern browsers from displaying `audio` without controls.
1675
- * Remove excess height in iOS 5 devices.
1676
- */
1677
- audio:not([controls]) {
1678
- display: none;
1679
- height: 0; }
1680
-
1681
- /**
1682
- * Address `[hidden]` styling not present in IE 8/9/10.
1683
- * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
1684
- */
1685
- [hidden], template {
1686
- display: none; }
1687
-
1688
- /* Links
1689
- ========================================================================== */
1690
- /**
1691
- * Remove the gray background color from active links in IE 10.
1692
- */
1693
- a {
1694
- background-color: transparent; }
1695
-
1696
- /**
1697
- * Improve readability when focused and also mouse hovered in all browsers.
1698
- */
1699
- a:active, a:hover {
1700
- outline: 0; }
1701
-
1702
- /* Text-level semantics
1703
- ========================================================================== */
1704
- /**
1705
- * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
1706
- */
1707
- abbr[title] {
1708
- border-bottom: 1px dotted; }
1709
-
1710
- /**
1711
- * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
1712
- */
1713
- b, strong {
1714
- font-weight: bold; }
1715
-
1716
- /**
1717
- * Address styling not present in Safari and Chrome.
1718
- */
1719
- dfn {
1720
- font-style: italic; }
1721
-
1722
- /**
1723
- * Address variable `h1` font-size and margin within `section` and `article`
1724
- * contexts in Firefox 4+, Safari, and Chrome.
1725
- */
1726
- h1 {
1727
- font-size: 2em;
1728
- margin: 0.67em 0; }
1729
-
1730
- /**
1731
- * Address styling not present in IE 8/9.
1732
- */
1733
- mark {
1734
- background: #ff0;
1735
- color: #000; }
1736
-
1737
- /**
1738
- * Address inconsistent and variable font size in all browsers.
1739
- */
1740
- small {
1741
- font-size: 80%; }
1742
-
1743
- /**
1744
- * Prevent `sub` and `sup` affecting `line-height` in all browsers.
1745
- */
1746
- sub, sup {
1747
- font-size: 75%;
1748
- line-height: 0;
1749
- position: relative;
1750
- vertical-align: baseline; }
1751
-
1752
- sup {
1753
- top: -0.5em; }
1754
-
1755
- sub {
1756
- bottom: -0.25em; }
1757
-
1758
- /* Embedded content
1759
- ========================================================================== */
1760
- /**
1761
- * Remove border when inside `a` element in IE 8/9/10.
1762
- */
1763
- img {
1764
- border: 0; }
1765
-
1766
- /**
1767
- * Correct overflow not hidden in IE 9/10/11.
1768
- */
1769
- svg:not(:root) {
1770
- overflow: hidden; }
1771
-
1772
- /* Grouping content
1773
- ========================================================================== */
1774
- /**
1775
- * Address margin not present in IE 8/9 and Safari.
1776
- */
1777
- figure {
1778
- margin: 1em 40px; }
1779
-
1780
- /**
1781
- * Address differences between Firefox and other browsers.
1782
- */
1783
- hr {
1784
- -moz-box-sizing: content-box;
1785
- box-sizing: content-box;
1786
- height: 0; }
1787
-
1788
- /**
1789
- * Contain overflow in all browsers.
1790
- */
1791
- pre {
1792
- overflow: auto; }
1793
-
1794
- /**
1795
- * Address odd `em`-unit font size rendering in all browsers.
1796
- */
1797
- code, kbd, pre, samp {
1798
- font-family: monospace, monospace;
1799
- font-size: 1em; }
1800
-
1801
- /* Forms
1802
- ========================================================================== */
1803
- /**
1804
- * Known limitation: by default, Chrome and Safari on OS X allow very limited
1805
- * styling of `select`, unless a `border` property is set.
1806
- */
1807
- /**
1808
- * 1. Correct color not being inherited.
1809
- * Known issue: affects color of disabled elements.
1810
- * 2. Correct font properties not being inherited.
1811
- * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
1812
- */
1813
- button, input, optgroup, select, textarea {
1814
- color: inherit;
1815
- /* 1 */
1816
- font: inherit;
1817
- /* 2 */
1818
- margin: 0;
1819
- /* 3 */ }
1820
-
1821
- /**
1822
- * Address `overflow` set to `hidden` in IE 8/9/10/11.
1823
- */
1824
- button {
1825
- overflow: visible; }
1826
-
1827
- /**
1828
- * Address inconsistent `text-transform` inheritance for `button` and `select`.
1829
- * All other form control elements do not inherit `text-transform` values.
1830
- * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
1831
- * Correct `select` style inheritance in Firefox.
1832
- */
1833
- button, select {
1834
- text-transform: none; }
1835
-
1836
- /**
1837
- * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
1838
- * and `video` controls.
1839
- * 2. Correct inability to style clickable `input` types in iOS.
1840
- * 3. Improve usability and consistency of cursor style between image-type
1841
- * `input` and others.
1842
- */
1843
- button, html input[type="button"], input[type="reset"], input[type="submit"] {
1844
- -webkit-appearance: button;
1845
- /* 2 */
1846
- cursor: pointer;
1847
- /* 3 */ }
1848
-
1849
- /**
1850
- * Re-set default cursor for disabled elements.
1851
- */
1852
- button[disabled], html input[disabled] {
1853
- cursor: default; }
1854
-
1855
- /**
1856
- * Remove inner padding and border in Firefox 4+.
1857
- */
1858
- button::-moz-focus-inner, input::-moz-focus-inner {
1859
- border: 0;
1860
- padding: 0; }
1861
-
1862
- /**
1863
- * Address Firefox 4+ setting `line-height` on `input` using `!important` in
1864
- * the UA stylesheet.
1865
- */
1866
- input {
1867
- line-height: normal; }
1868
-
1869
- /**
1870
- * It's recommended that you don't attempt to style these elements.
1871
- * Firefox's implementation doesn't respect box-sizing, padding, or width.
1872
- *
1873
- * 1. Address box sizing set to `content-box` in IE 8/9/10.
1874
- * 2. Remove excess padding in IE 8/9/10.
1875
- */
1876
- input[type="checkbox"], input[type="radio"] {
1877
- box-sizing: border-box;
1878
- /* 1 */
1879
- padding: 0;
1880
- /* 2 */ }
1881
-
1882
- /**
1883
- * Fix the cursor style for Chrome's increment/decrement buttons. For certain
1884
- * `font-size` values of the `input`, it causes the cursor style of the
1885
- * decrement button to change from `default` to `text`.
1886
- */
1887
- input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
1888
- height: auto; }
1889
-
1890
- /**
1891
- * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
1892
- * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
1893
- * (include `-moz` to future-proof).
1894
- */
1895
- input[type="search"] {
1896
- -webkit-appearance: textfield;
1897
- /* 1 */
1898
- -moz-box-sizing: content-box;
1899
- -webkit-box-sizing: content-box;
1900
- /* 2 */
1901
- box-sizing: content-box; }
1902
-
1903
- /**
1904
- * Remove inner padding and search cancel button in Safari and Chrome on OS X.
1905
- * Safari (but not Chrome) clips the cancel button when the search input has
1906
- * padding (and `textfield` appearance).
1907
- */
1908
- input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
1909
- -webkit-appearance: none; }
1910
-
1911
- /**
1912
- * Define consistent border, margin, and padding.
1913
- */
1914
- fieldset {
1915
- border: 1px solid #c0c0c0;
1916
- margin: 0 2px;
1917
- padding: 0.35em 0.625em 0.75em; }
1918
-
1919
- /**
1920
- * 1. Correct `color` not being inherited in IE 8/9/10/11.
1921
- * 2. Remove padding so people aren't caught out if they zero out fieldsets.
1922
- */
1923
- legend {
1924
- border: 0;
1925
- /* 1 */
1926
- padding: 0;
1927
- /* 2 */ }
1928
-
1929
- /**
1930
- * Remove default vertical scrollbar in IE 8/9/10/11.
1931
- */
1932
- textarea {
1933
- overflow: auto; }
1934
-
1935
- /**
1936
- * Don't inherit the `font-weight` (applied by a rule above).
1937
- * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
1938
- */
1939
- optgroup {
1940
- font-weight: bold; }
1941
-
1942
- /* Tables
1943
- ========================================================================== */
1944
- /**
1945
- * Remove most spacing between table cells.
1946
- */
1947
- table {
1948
- border-collapse: collapse;
1949
- border-spacing: 0; }
1950
-
1951
- td, th {
1952
- padding: 0; }
1953
-
1954
- html {
1955
- box-sizing: border-box; }
1956
-
1957
- *, *:before, *:after {
1958
- box-sizing: inherit; }
1959
-
1960
- ul {
1961
- list-style-type: none; }
1962
-
1963
- a {
1964
- color: #039be5;
1965
- text-decoration: none;
1966
- -webkit-tap-highlight-color: transparent; }
1967
-
1968
- .valign-wrapper {
1969
- display: -webkit-box;
1970
- display: -moz-box;
1971
- display: -ms-flexbox;
1972
- display: -webkit-flex;
1973
- display: flex;
1974
- -webkit-flex-align: center;
1975
- -ms-flex-align: center;
1976
- -webkit-align-items: center;
1977
- align-items: center; }
1978
- .valign-wrapper .valign {
1979
- display: block; }
1980
-
1981
- ul {
1982
- padding: 0; }
1983
- ul li {
1984
- list-style-type: none; }
1985
-
1986
- .clearfix {
1987
- clear: both; }
1988
-
1989
- .z-depth-1, nav, .card-panel, .card, .toast, .btn, .btn-large, .btn-floating, .dropdown-content, .collapsible, ul.side-nav {
1990
- -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
1991
- -moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
1992
- box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); }
1993
-
1994
- .z-depth-1-half, .btn:hover, .btn-large:hover, .btn-floating:hover {
1995
- -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
1996
- -moz-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
1997
- box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15); }
1998
-
1999
- .z-depth-2 {
2000
- -webkit-box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
2001
- -moz-box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
2002
- box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); }
2003
-
2004
- .z-depth-3 {
2005
- -webkit-box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0 rgba(0, 0, 0, 0.19);
2006
- -moz-box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0 rgba(0, 0, 0, 0.19);
2007
- box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.24), 0 17px 50px 0 rgba(0, 0, 0, 0.19); }
2008
-
2009
- .z-depth-4, .modal {
2010
- -webkit-box-shadow: 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21);
2011
- -moz-box-shadow: 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21);
2012
- box-shadow: 0 16px 28px 0 rgba(0, 0, 0, 0.22), 0 25px 55px 0 rgba(0, 0, 0, 0.21); }
2013
-
2014
- .z-depth-5 {
2015
- -webkit-box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22);
2016
- -moz-box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22);
2017
- box-shadow: 0 27px 24px 0 rgba(0, 0, 0, 0.2), 0 40px 77px 0 rgba(0, 0, 0, 0.22); }
2018
-
2019
- .divider {
2020
- height: 1px;
2021
- overflow: hidden;
2022
- background-color: #e0e0e0; }
2023
-
2024
- blockquote {
2025
- margin: 20px 0;
2026
- padding-left: 1.5rem;
2027
- border-left: 5px solid #EF9A9A; }
2028
-
2029
- i {
2030
- line-height: inherit; }
2031
- i.left {
2032
- float: left;
2033
- margin-right: 15px; }
2034
- i.right {
2035
- float: right;
2036
- margin-left: 15px; }
2037
- i.tiny {
2038
- font-size: 1rem; }
2039
- i.small {
2040
- font-size: 2rem; }
2041
- i.medium {
2042
- font-size: 4rem; }
2043
- i.large {
2044
- font-size: 6rem; }
2045
-
2046
- img.responsive-img, video.responsive-video {
2047
- max-width: 100%;
2048
- height: auto; }
2049
-
2050
- .pagination li {
2051
- font-size: 1.2rem;
2052
- float: left;
2053
- width: 30px;
2054
- height: 30px;
2055
- margin: 0 10px;
2056
- -webkit-border-radius: 2px;
2057
- -moz-border-radius: 2px;
2058
- border-radius: 2px;
2059
- background-clip: padding-box;
2060
- text-align: center; }
2061
- .pagination li a {
2062
- color: #444; }
2063
- .pagination li.active a {
2064
- color: #fff; }
2065
- .pagination li.active {
2066
- background-color: #ee6e73; }
2067
- .pagination li.disabled a {
2068
- color: #999; }
2069
- .pagination li i {
2070
- font-size: 2rem;
2071
- line-height: 1.8rem; }
2072
-
2073
- .parallax-container {
2074
- position: relative;
2075
- overflow: hidden;
2076
- height: 500px; }
2077
-
2078
- .parallax {
2079
- position: absolute;
2080
- top: 0;
2081
- left: 0;
2082
- right: 0;
2083
- bottom: 0;
2084
- z-index: -1; }
2085
- .parallax img {
2086
- display: none;
2087
- position: absolute;
2088
- bottom: 0;
2089
- width: 100%;
2090
- min-height: 100%;
2091
- background-position: center; }
2092
-
2093
- .pin-top, .pin-bottom {
2094
- position: relative; }
2095
-
2096
- .pinned {
2097
- position: fixed !important; }
2098
-
2099
- /*********************
2100
- Transition Classes
2101
- **********************/
2102
- ul.staggered-list li {
2103
- -ms-filter: "progid:DXImageTransform@mixin Microsoft@mixin Alpha(Opacity=${iefactor})";
2104
- filter: "alpha(opacity=(${iefactor}))";
2105
- -moz-opacity: 0;
2106
- -khtml-opacity: 0;
2107
- opacity: 0; }
2108
-
2109
- .fade-in {
2110
- -ms-filter: "progid:DXImageTransform@mixin Microsoft@mixin Alpha(Opacity=${iefactor})";
2111
- filter: "alpha(opacity=(${iefactor}))";
2112
- -moz-opacity: 0;
2113
- -khtml-opacity: 0;
2114
- opacity: 0;
2115
- transform-origin: 0 50%; }
2116
-
2117
- /*********************
2118
- Media Query Classes
2119
- **********************/
2120
- @media only screen and (max-width : 600px) {
2121
- .hide-on-small-only, .hide-on-small-and-down {
2122
- display: none !important; } }
2123
-
2124
- @media only screen and (max-width : 992px) {
2125
- .hide-on-med-and-down {
2126
- display: none !important; } }
2127
-
2128
- @media only screen and (min-width : 601px) {
2129
- .hide-on-med-and-up {
2130
- display: none !important; } }
2131
-
2132
- @media only screen and (min-width: 600px) and (max-width: 992px) {
2133
- .hide-on-med-only {
2134
- display: none !important; } }
2135
-
2136
- @media only screen and (min-width : 993px) {
2137
- .hide-on-large-only {
2138
- display: none !important; } }
2139
-
2140
- @media only screen and (min-width : 993px) {
2141
- .show-on-large {
2142
- display: initial !important; } }
2143
-
2144
- @media only screen and (min-width: 600px) and (max-width: 992px) {
2145
- .show-on-medium {
2146
- display: initial !important; } }
2147
-
2148
- @media only screen and (max-width : 600px) {
2149
- .show-on-small {
2150
- display: initial !important; } }
2151
-
2152
- @media only screen and (min-width : 601px) {
2153
- .show-on-medium-and-up {
2154
- display: initial !important; } }
2155
-
2156
- @media only screen and (max-width : 992px) {
2157
- .show-on-medium-and-down {
2158
- display: initial !important; } }
2159
-
2160
- @media only screen and (max-width : 600px) {
2161
- .center-on-small-only {
2162
- text-align: center; } }
2163
-
2164
- footer.page-footer {
2165
- margin-top: 20px;
2166
- padding-top: 20px;
2167
- background-color: #ee6e73; }
2168
- footer.page-footer .footer-copyright {
2169
- overflow: hidden;
2170
- height: 50px;
2171
- line-height: 50px;
2172
- color: rgba(255, 255, 255, 0.8);
2173
- background-color: rgba(51, 51, 51, 0.08); }
2174
-
2175
- table, th, td {
2176
- border: none; }
2177
-
2178
- table {
2179
- width: 100%;
2180
- display: table; }
2181
- table.bordered tr {
2182
- border-bottom: 1px solid #d0d0d0; }
2183
- table.striped tbody tr:nth-child(odd) {
2184
- background-color: #f2f2f2; }
2185
- table.hoverable tbody tr {
2186
- -webkit-transition: background-color 0.25s ease;
2187
- -moz-transition: background-color 0.25s ease;
2188
- -o-transition: background-color 0.25s ease;
2189
- -ms-transition: background-color 0.25s ease;
2190
- transition: background-color 0.25s ease; }
2191
- table.hoverable tbody tr:hover {
2192
- background-color: #f2f2f2; }
2193
- table.centered thead tr th, table.centered tbody tr td {
2194
- text-align: center; }
2195
-
2196
- thead {
2197
- border-bottom: 1px solid #d0d0d0; }
2198
-
2199
- td, th {
2200
- padding: 15px 5px;
2201
- display: table-cell;
2202
- text-align: left;
2203
- vertical-align: middle;
2204
- -webkit-border-radius: 2px;
2205
- -moz-border-radius: 2px;
2206
- border-radius: 2px;
2207
- background-clip: padding-box; }
2208
-
2209
- @media only screen and (max-width : 992px) {
2210
- table.responsive-table {
2211
- width: 100%;
2212
- border-collapse: collapse;
2213
- border-spacing: 0;
2214
- display: block;
2215
- position: relative;
2216
- /* sort out borders */ }
2217
- table.responsive-table th, table.responsive-table td {
2218
- margin: 0;
2219
- vertical-align: top; }
2220
- table.responsive-table th {
2221
- text-align: left; }
2222
- table.responsive-table thead {
2223
- display: block;
2224
- float: left; }
2225
- table.responsive-table thead tr {
2226
- display: block;
2227
- padding: 0 10px 0 0; }
2228
- table.responsive-table tbody {
2229
- display: block;
2230
- width: auto;
2231
- position: relative;
2232
- overflow-x: auto;
2233
- white-space: nowrap; }
2234
- table.responsive-table tbody tr {
2235
- display: inline-block;
2236
- vertical-align: top; }
2237
- table.responsive-table th {
2238
- display: block;
2239
- text-align: right; }
2240
- table.responsive-table td {
2241
- display: block;
2242
- min-height: 1.25em;
2243
- text-align: left; }
2244
- table.responsive-table tr {
2245
- padding: 0 10px; }
2246
- table.responsive-table thead {
2247
- border: 0;
2248
- border-right: 1px solid #d0d0d0; }
2249
- table.responsive-table.bordered th {
2250
- border-bottom: 0;
2251
- border-left: 0; }
2252
- table.responsive-table.bordered td {
2253
- border-left: 0;
2254
- border-right: 0;
2255
- border-bottom: 0; }
2256
- table.responsive-table.bordered tr {
2257
- border: 0; }
2258
- table.responsive-table.bordered tbody tr {
2259
- border-right: 1px solid #d0d0d0; }
2260
- }
2261
-
2262
- .collection {
2263
- background-color: #999;
2264
- margin: 0.5rem 0 1rem 0;
2265
- border: 1px solid #e0e0e0;
2266
- -webkit-border-radius: 2px;
2267
- -moz-border-radius: 2px;
2268
- border-radius: 2px;
2269
- background-clip: padding-box;
2270
- overflow: hidden; }
2271
- .collection .collection-item {
2272
- background-color: #fff;
2273
- line-height: 1.5rem;
2274
- padding: 10px 20px;
2275
- margin: 0px;
2276
- border-bottom: 1px solid #e0e0e0; }
2277
- .collection .collection-item.avatar {
2278
- height: 84px;
2279
- padding-left: 72px;
2280
- position: relative; }
2281
- .collection .collection-item.avatar .circle {
2282
- position: absolute;
2283
- width: 42px;
2284
- height: 42px;
2285
- overflow: hidden;
2286
- left: 15px;
2287
- display: inline-block;
2288
- vertical-align: middle; }
2289
- .collection .collection-item.avatar i.circle {
2290
- font-size: 18px;
2291
- line-height: 42px;
2292
- color: #fff;
2293
- background-color: #999;
2294
- text-align: center; }
2295
- .collection .collection-item.avatar .title {
2296
- font-size: 16px; }
2297
- .collection .collection-item.avatar p {
2298
- margin: 0; }
2299
- .collection .collection-item.avatar .secondary-content {
2300
- position: absolute;
2301
- top: 16px;
2302
- right: 16px; }
2303
- .collection .collection-item:last-child {
2304
- border-bottom: none; }
2305
- .collection .collection-item.active {
2306
- background-color: #26a69a;
2307
- color: #eafaf9; }
2308
- .collection a.collection-item {
2309
- display: block;
2310
- -webkit-transition: 0.25s;
2311
- -moz-transition: 0.25s;
2312
- -o-transition: 0.25s;
2313
- -ms-transition: 0.25s;
2314
- transition: 0.25s;
2315
- color: #26a69a; }
2316
- .collection a.collection-item:not(.active):hover {
2317
- background-color: #ddd; }
2318
- .collection.with-header .collection-header {
2319
- background-color: #fff;
2320
- border-bottom: 1px solid #e0e0e0;
2321
- padding: 10px 20px; }
2322
- .collection.with-header .collection-item {
2323
- padding-left: 30px; }
2324
-
2325
- .secondary-content {
2326
- float: right;
2327
- color: #26a69a; }
2328
-
2329
- span.badge {
2330
- min-width: 3rem;
2331
- padding: 0 6px;
2332
- text-align: center;
2333
- font-size: 1rem;
2334
- line-height: inherit;
2335
- color: #757575;
2336
- float: right;
2337
- -webkit-box-sizing: border-box;
2338
- -moz-box-sizing: border-box;
2339
- box-sizing: border-box; }
2340
- span.badge.new {
2341
- font-weight: 300;
2342
- font-size: 0.8rem;
2343
- color: #fff;
2344
- background-color: #26a69a;
2345
- -webkit-border-radius: 2px;
2346
- -moz-border-radius: 2px;
2347
- border-radius: 2px;
2348
- background-clip: padding-box; }
2349
- span.badge.new:after {
2350
- content: " new"; }
2351
-
2352
- .video-container {
2353
- position: relative;
2354
- padding-bottom: 56.25%;
2355
- padding-top: 30px;
2356
- height: 0;
2357
- overflow: hidden; }
2358
- .video-container iframe, .video-container object, .video-container embed {
2359
- position: absolute;
2360
- top: 0;
2361
- left: 0;
2362
- width: 100%;
2363
- height: 100%; }
2364
-
2365
- .progress {
2366
- position: relative;
2367
- height: 4px;
2368
- display: block;
2369
- width: 100%;
2370
- background-color: #acece6;
2371
- -webkit-border-radius: 2px;
2372
- -moz-border-radius: 2px;
2373
- border-radius: 2px;
2374
- background-clip: padding-box;
2375
- margin: 0.5rem 0 1rem 0;
2376
- overflow: hidden; }
2377
- .progress .determinate {
2378
- position: absolute;
2379
- background-color: inherit;
2380
- top: 0;
2381
- bottom: 0;
2382
- background-color: #26a69a;
2383
- -webkit-transition: width 0.3s linear;
2384
- -moz-transition: width 0.3s linear;
2385
- -o-transition: width 0.3s linear;
2386
- -ms-transition: width 0.3s linear;
2387
- transition: width 0.3s linear; }
2388
- .progress .indeterminate {
2389
- background-color: #26a69a; }
2390
- .progress .indeterminate:before {
2391
- content: '';
2392
- position: absolute;
2393
- background-color: inherit;
2394
- top: 0;
2395
- left: 0;
2396
- bottom: 0;
2397
- will-change: left, right;
2398
- -webkit-animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
2399
- -moz-animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
2400
- -ms-animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
2401
- -o-animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
2402
- animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; }
2403
- .progress .indeterminate:after {
2404
- content: '';
2405
- position: absolute;
2406
- background-color: inherit;
2407
- top: 0;
2408
- left: 0;
2409
- bottom: 0;
2410
- will-change: left, right;
2411
- -webkit-animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
2412
- -moz-animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
2413
- -ms-animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
2414
- -o-animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
2415
- animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
2416
- -webkit-animation-delay: 1.15s;
2417
- -moz-animation-delay: 1.15s;
2418
- -ms-animation-delay: 1.15s;
2419
- -o-animation-delay: 1.15s;
2420
- animation-delay: 1.15s; }
2421
-
2422
- @-webkit-keyframes indeterminate {
2423
- 0% {
2424
- left: -35%;
2425
- right: 100%; }
2426
-
2427
- 60% {
2428
- left: 100%;
2429
- right: -90%; }
2430
-
2431
- 100% {
2432
- left: 100%;
2433
- right: -90%; } }
2434
-
2435
- @-moz-keyframes indeterminate {
2436
- 0% {
2437
- left: -35%;
2438
- right: 100%; }
2439
-
2440
- 60% {
2441
- left: 100%;
2442
- right: -90%; }
2443
-
2444
- 100% {
2445
- left: 100%;
2446
- right: -90%; } }
2447
-
2448
- @keyframes indeterminate {
2449
- 0% {
2450
- left: -35%;
2451
- right: 100%; }
2452
-
2453
- 60% {
2454
- left: 100%;
2455
- right: -90%; }
2456
-
2457
- 100% {
2458
- left: 100%;
2459
- right: -90%; } }
2460
-
2461
- @-webkit-keyframes indeterminate-short {
2462
- 0% {
2463
- left: -200%;
2464
- right: 100%; }
2465
-
2466
- 60% {
2467
- left: 107%;
2468
- right: -8%; }
2469
-
2470
- 100% {
2471
- left: 107%;
2472
- right: -8%; } }
2473
-
2474
- @-moz-keyframes indeterminate-short {
2475
- 0% {
2476
- left: -200%;
2477
- right: 100%; }
2478
-
2479
- 60% {
2480
- left: 107%;
2481
- right: -8%; }
2482
-
2483
- 100% {
2484
- left: 107%;
2485
- right: -8%; } }
2486
-
2487
- @keyframes indeterminate-short {
2488
- 0% {
2489
- left: -200%;
2490
- right: 100%; }
2491
-
2492
- 60% {
2493
- left: 107%;
2494
- right: -8%; }
2495
-
2496
- 100% {
2497
- left: 107%;
2498
- right: -8%; } }
2499
-
2500
- /*******************
2501
- Utility Classes
2502
- *******************/
2503
- .left-align {
2504
- text-align: left; }
2505
-
2506
- .right-align {
2507
- text-align: right; }
2508
-
2509
- .center, .center-align {
2510
- text-align: center; }
2511
-
2512
- .left {
2513
- float: left !important; }
2514
-
2515
- .right {
2516
- float: right !important; }
2517
-
2518
- .no-select, input[type=range], input[type=range] + .thumb {
2519
- -webkit-touch-callout: none;
2520
- -webkit-user-select: none;
2521
- -khtml-user-select: none;
2522
- -moz-user-select: none;
2523
- -ms-user-select: none;
2524
- user-select: none; }
2525
-
2526
- .circle {
2527
- -webkit-border-radius: 50%;
2528
- -moz-border-radius: 50%;
2529
- border-radius: 50%;
2530
- background-clip: padding-box; }
2531
-
2532
- .center-block {
2533
- display: block;
2534
- margin-left: auto;
2535
- margin-right: auto; }
2536
-
2537
- .truncate {
2538
- white-space: nowrap;
2539
- overflow: hidden;
2540
- text-overflow: ellipsis; }
2541
-
2542
- .container {
2543
- padding: 0 1.5rem;
2544
- margin: 0 auto;
2545
- max-width: 1280px;
2546
- width: 90%; }
2547
-
2548
- @media only screen and (min-width : 601px) {
2549
- .container {
2550
- width: 85%; }
2551
- }
2552
-
2553
- @media only screen and (min-width : 993px) {
2554
- .container {
2555
- width: 70%; }
2556
- }
2557
-
2558
- .container .row {
2559
- margin-left: -0.75rem;
2560
- margin-right: -0.75rem; }
2561
-
2562
- .section {
2563
- padding-top: 1rem;
2564
- padding-bottom: 1rem; }
2565
- .section.no-pad {
2566
- padding: 0; }
2567
- .section.no-pad-bot {
2568
- padding-bottom: 0; }
2569
- .section.no-pad-top {
2570
- padding-top: 0; }
2571
-
2572
- .row {
2573
- margin-left: auto;
2574
- margin-right: auto;
2575
- margin-bottom: 20px; }
2576
- .row:after {
2577
- content: "";
2578
- display: table;
2579
- clear: both; }
2580
- .row .col {
2581
- float: left;
2582
- -webkit-box-sizing: border-box;
2583
- -moz-box-sizing: border-box;
2584
- box-sizing: border-box;
2585
- padding: 0 0.75rem; }
2586
- .row .col.s1 {
2587
- width: 8.33333%;
2588
- margin-left: 0; }
2589
- .row .col.s2 {
2590
- width: 16.66667%;
2591
- margin-left: 0; }
2592
- .row .col.s3 {
2593
- width: 25%;
2594
- margin-left: 0; }
2595
- .row .col.s4 {
2596
- width: 33.33333%;
2597
- margin-left: 0; }
2598
- .row .col.s5 {
2599
- width: 41.66667%;
2600
- margin-left: 0; }
2601
- .row .col.s6 {
2602
- width: 50%;
2603
- margin-left: 0; }
2604
- .row .col.s7 {
2605
- width: 58.33333%;
2606
- margin-left: 0; }
2607
- .row .col.s8 {
2608
- width: 66.66667%;
2609
- margin-left: 0; }
2610
- .row .col.s9 {
2611
- width: 75%;
2612
- margin-left: 0; }
2613
- .row .col.s10 {
2614
- width: 83.33333%;
2615
- margin-left: 0; }
2616
- .row .col.s11 {
2617
- width: 91.66667%;
2618
- margin-left: 0; }
2619
- .row .col.s12 {
2620
- width: 100%;
2621
- margin-left: 0; }
2622
- .row .col.offset-s1 {
2623
- margin-left: 8.33333%; }
2624
- .row .col.offset-s2 {
2625
- margin-left: 16.66667%; }
2626
- .row .col.offset-s3 {
2627
- margin-left: 25%; }
2628
- .row .col.offset-s4 {
2629
- margin-left: 33.33333%; }
2630
- .row .col.offset-s5 {
2631
- margin-left: 41.66667%; }
2632
- .row .col.offset-s6 {
2633
- margin-left: 50%; }
2634
- .row .col.offset-s7 {
2635
- margin-left: 58.33333%; }
2636
- .row .col.offset-s8 {
2637
- margin-left: 66.66667%; }
2638
- .row .col.offset-s9 {
2639
- margin-left: 75%; }
2640
- .row .col.offset-s10 {
2641
- margin-left: 83.33333%; }
2642
- .row .col.offset-s11 {
2643
- margin-left: 91.66667%; }
2644
- .row .col.offset-s12 {
2645
- margin-left: 100%; }
2646
- @media only screen and (min-width : 601px) {
2647
- .row .col.m1 {
2648
- width: 8.33333%;
2649
- margin-left: 0; }
2650
-
2651
- .row .col.m2 {
2652
- width: 16.66667%;
2653
- margin-left: 0; }
2654
-
2655
- .row .col.m3 {
2656
- width: 25%;
2657
- margin-left: 0; }
2658
-
2659
- .row .col.m4 {
2660
- width: 33.33333%;
2661
- margin-left: 0; }
2662
-
2663
- .row .col.m5 {
2664
- width: 41.66667%;
2665
- margin-left: 0; }
2666
-
2667
- .row .col.m6 {
2668
- width: 50%;
2669
- margin-left: 0; }
2670
-
2671
- .row .col.m7 {
2672
- width: 58.33333%;
2673
- margin-left: 0; }
2674
-
2675
- .row .col.m8 {
2676
- width: 66.66667%;
2677
- margin-left: 0; }
2678
-
2679
- .row .col.m9 {
2680
- width: 75%;
2681
- margin-left: 0; }
2682
-
2683
- .row .col.m10 {
2684
- width: 83.33333%;
2685
- margin-left: 0; }
2686
-
2687
- .row .col.m11 {
2688
- width: 91.66667%;
2689
- margin-left: 0; }
2690
-
2691
- .row .col.m12 {
2692
- width: 100%;
2693
- margin-left: 0; }
2694
-
2695
- .row .col.offset-m1 {
2696
- margin-left: 8.33333%; }
2697
-
2698
- .row .col.offset-m2 {
2699
- margin-left: 16.66667%; }
2700
-
2701
- .row .col.offset-m3 {
2702
- margin-left: 25%; }
2703
-
2704
- .row .col.offset-m4 {
2705
- margin-left: 33.33333%; }
2706
-
2707
- .row .col.offset-m5 {
2708
- margin-left: 41.66667%; }
2709
-
2710
- .row .col.offset-m6 {
2711
- margin-left: 50%; }
2712
-
2713
- .row .col.offset-m7 {
2714
- margin-left: 58.33333%; }
2715
-
2716
- .row .col.offset-m8 {
2717
- margin-left: 66.66667%; }
2718
-
2719
- .row .col.offset-m9 {
2720
- margin-left: 75%; }
2721
-
2722
- .row .col.offset-m10 {
2723
- margin-left: 83.33333%; }
2724
-
2725
- .row .col.offset-m11 {
2726
- margin-left: 91.66667%; }
2727
-
2728
- .row .col.offset-m12 {
2729
- margin-left: 100%; }
2730
- }
2731
- @media only screen and (min-width : 993px) {
2732
- .row .col.l1 {
2733
- width: 8.33333%;
2734
- margin-left: 0; }
2735
-
2736
- .row .col.l2 {
2737
- width: 16.66667%;
2738
- margin-left: 0; }
2739
-
2740
- .row .col.l3 {
2741
- width: 25%;
2742
- margin-left: 0; }
2743
-
2744
- .row .col.l4 {
2745
- width: 33.33333%;
2746
- margin-left: 0; }
2747
-
2748
- .row .col.l5 {
2749
- width: 41.66667%;
2750
- margin-left: 0; }
2751
-
2752
- .row .col.l6 {
2753
- width: 50%;
2754
- margin-left: 0; }
2755
-
2756
- .row .col.l7 {
2757
- width: 58.33333%;
2758
- margin-left: 0; }
2759
-
2760
- .row .col.l8 {
2761
- width: 66.66667%;
2762
- margin-left: 0; }
2763
-
2764
- .row .col.l9 {
2765
- width: 75%;
2766
- margin-left: 0; }
2767
-
2768
- .row .col.l10 {
2769
- width: 83.33333%;
2770
- margin-left: 0; }
2771
-
2772
- .row .col.l11 {
2773
- width: 91.66667%;
2774
- margin-left: 0; }
2775
-
2776
- .row .col.l12 {
2777
- width: 100%;
2778
- margin-left: 0; }
2779
-
2780
- .row .col.offset-l1 {
2781
- margin-left: 8.33333%; }
2782
-
2783
- .row .col.offset-l2 {
2784
- margin-left: 16.66667%; }
2785
-
2786
- .row .col.offset-l3 {
2787
- margin-left: 25%; }
2788
-
2789
- .row .col.offset-l4 {
2790
- margin-left: 33.33333%; }
2791
-
2792
- .row .col.offset-l5 {
2793
- margin-left: 41.66667%; }
2794
-
2795
- .row .col.offset-l6 {
2796
- margin-left: 50%; }
2797
-
2798
- .row .col.offset-l7 {
2799
- margin-left: 58.33333%; }
2800
-
2801
- .row .col.offset-l8 {
2802
- margin-left: 66.66667%; }
2803
-
2804
- .row .col.offset-l9 {
2805
- margin-left: 75%; }
2806
-
2807
- .row .col.offset-l10 {
2808
- margin-left: 83.33333%; }
2809
-
2810
- .row .col.offset-l11 {
2811
- margin-left: 91.66667%; }
2812
-
2813
- .row .col.offset-l12 {
2814
- margin-left: 100%; }
2815
- }
2816
-
2817
- nav {
2818
- color: #fff;
2819
- background-color: #ee6e73;
2820
- width: 100%;
2821
- height: 56px;
2822
- line-height: 56px;
2823
- overflow: hidden; }
2824
- nav a {
2825
- color: #fff; }
2826
- nav .nav-wrapper {
2827
- position: relative;
2828
- height: 100%; }
2829
- nav .nav-wrapper i {
2830
- font-size: 2rem; }
2831
- @media only screen and (min-width : 993px) {
2832
- nav a.button-collapse {
2833
- display: none; }
2834
- }
2835
- nav a.button-collapse {
2836
- float: left;
2837
- position: relative;
2838
- z-index: 1;
2839
- height: 56px;
2840
- color: #fff; }
2841
- nav a.button-collapse i {
2842
- font-size: 2.7rem;
2843
- height: 56px;
2844
- line-height: 56px; }
2845
- nav .brand-logo {
2846
- position: absolute;
2847
- color: #fff;
2848
- display: inline-block;
2849
- font-size: 2.1rem;
2850
- padding: 0; }
2851
- nav .brand-logo.center {
2852
- top: 50%;
2853
- left: 50%;
2854
- -webkit-transform: translate(-50%, -50%);
2855
- -moz-transform: translate(-50%, -50%);
2856
- -ms-transform: translate(-50%, -50%);
2857
- -o-transform: translate(-50%, -50%);
2858
- transform: translate(-50%, -50%); }
2859
- @media only screen and (max-width : 992px) {
2860
- nav .brand-logo {
2861
- top: 50%;
2862
- left: 50%;
2863
- -webkit-transform: translate(-50%, -50%);
2864
- -moz-transform: translate(-50%, -50%);
2865
- -ms-transform: translate(-50%, -50%);
2866
- -o-transform: translate(-50%, -50%);
2867
- transform: translate(-50%, -50%); } }
2868
- nav .brand-logo.right {
2869
- right: 0.5rem;
2870
- padding: 0; }
2871
- nav ul {
2872
- margin: 0; }
2873
- nav ul li {
2874
- -webkit-transition: background-color 0.3s;
2875
- -moz-transition: background-color 0.3s;
2876
- -o-transition: background-color 0.3s;
2877
- -ms-transition: background-color 0.3s;
2878
- transition: background-color 0.3s;
2879
- float: left;
2880
- padding: 0px; }
2881
- nav ul li:hover, nav ul li.active {
2882
- background-color: rgba(0, 0, 0, 0.1); }
2883
- nav ul a {
2884
- font-size: 1rem;
2885
- color: #fff;
2886
- display: inline-block;
2887
- padding: 0px 15px; }
2888
- nav ul.left {
2889
- float: left; }
2890
- nav .input-field {
2891
- margin: 0; }
2892
- nav .input-field input {
2893
- height: 100%;
2894
- font-size: 1.2rem;
2895
- border: none;
2896
- padding-left: 2rem;
2897
- -webkit-box-sizing: border-box;
2898
- -moz-box-sizing: border-box;
2899
- box-sizing: border-box; }
2900
- nav .input-field input:focus, nav .input-field input[type=text]:valid, nav .input-field input[type=password]:valid, nav .input-field input[type=email]:valid, nav .input-field input[type=url]:valid, nav .input-field input[type=date]:valid {
2901
- border: none;
2902
- -webkit-box-shadow: none;
2903
- -moz-box-shadow: none;
2904
- box-shadow: none; }
2905
- nav .input-field label {
2906
- top: 0;
2907
- left: 0; }
2908
- nav .input-field label i {
2909
- color: rgba(255, 255, 255, 0.7);
2910
- -webkit-transition: color 0.3s;
2911
- -moz-transition: color 0.3s;
2912
- -o-transition: color 0.3s;
2913
- -ms-transition: color 0.3s;
2914
- transition: color 0.3s; }
2915
- nav .input-field label.active i {
2916
- color: #fff; }
2917
- nav .input-field label.active {
2918
- -webkit-transform: translateY(0);
2919
- -moz-transform: translateY(0);
2920
- -ms-transform: translateY(0);
2921
- -o-transform: translateY(0);
2922
- transform: translateY(0); }
2923
-
2924
- .navbar-fixed {
2925
- position: relative;
2926
- height: 56px;
2927
- z-index: 998; }
2928
- .navbar-fixed nav {
2929
- position: fixed; }
2930
-
2931
- @media only screen and (min-width : 601px) {
2932
- nav, nav .nav-wrapper i, nav a.button-collapse, nav a.button-collapse i {
2933
- height: 64px;
2934
- line-height: 64px; }
2935
-
2936
- .navbar-fixed {
2937
- height: 64px; }
2938
- }
2939
-
2940
- a {
2941
- text-decoration: none; }
2942
-
2943
- html {
2944
- line-height: 1.5;
2945
- font-family: "Roboto", sans-serif;
2946
- font-weight: normal;
2947
- color: rgba(0, 0, 0, 0.87); }
2948
- @media only screen and (min-width: 0) {
2949
- html {
2950
- font-size: 14px; } }
2951
- @media only screen and (min-width: 992px) {
2952
- html {
2953
- font-size: 14.5px; } }
2954
- @media only screen and (min-width: 1200px) {
2955
- html {
2956
- font-size: 15px; } }
2957
-
2958
- h1, h2, h3, h4, h5, h6 {
2959
- font-weight: 400; }
2960
-
2961
- h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
2962
- font-weight: inherit; }
2963
-
2964
- h1 {
2965
- font-size: 4.2rem;
2966
- line-height: 4.62rem;
2967
- margin: 2.1rem 0 1.68rem 0; }
2968
-
2969
- h2 {
2970
- font-size: 3.56rem;
2971
- line-height: 3.916rem;
2972
- margin: 1.78rem 0 1.424rem 0; }
2973
-
2974
- h3 {
2975
- font-size: 2.92rem;
2976
- line-height: 3.212rem;
2977
- margin: 1.46rem 0 1.168rem 0; }
2978
-
2979
- h4 {
2980
- font-size: 2.28rem;
2981
- line-height: 2.508rem;
2982
- margin: 1.14rem 0 0.912rem 0; }
2983
-
2984
- h5 {
2985
- font-size: 1.64rem;
2986
- line-height: 1.804rem;
2987
- margin: 0.82rem 0 0.656rem 0; }
2988
-
2989
- h6 {
2990
- font-size: 1rem;
2991
- line-height: 1.1rem;
2992
- margin: 0.5rem 0 0.4rem 0; }
2993
-
2994
- em {
2995
- font-style: italic; }
2996
-
2997
- strong {
2998
- font-weight: 500; }
2999
-
3000
- small {
3001
- font-size: 75%; }
3002
-
3003
- .light, footer.page-footer .footer-copyright {
3004
- font-weight: 300; }
3005
-
3006
- .flow-text {
3007
- font-weight: 300; }
3008
- @media only screen and (min-width: 360px) {
3009
- .flow-text {
3010
- font-size: 1.2rem; } }
3011
- @media only screen and (min-width: 0px) {
3012
- .flow-text {
3013
- line-height: 0.8rem; } }
3014
- @media only screen and (min-width: 390px) {
3015
- .flow-text {
3016
- font-size: 1.224rem; } }
3017
- @media only screen and (min-width: 30px) {
3018
- .flow-text {
3019
- line-height: 0.904rem; } }
3020
- @media only screen and (min-width: 420px) {
3021
- .flow-text {
3022
- font-size: 1.248rem; } }
3023
- @media only screen and (min-width: 60px) {
3024
- .flow-text {
3025
- line-height: 1.008rem; } }
3026
- @media only screen and (min-width: 450px) {
3027
- .flow-text {
3028
- font-size: 1.272rem; } }
3029
- @media only screen and (min-width: 90px) {
3030
- .flow-text {
3031
- line-height: 1.112rem; } }
3032
- @media only screen and (min-width: 480px) {
3033
- .flow-text {
3034
- font-size: 1.296rem; } }
3035
- @media only screen and (min-width: 120px) {
3036
- .flow-text {
3037
- line-height: 1.216rem; } }
3038
- @media only screen and (min-width: 510px) {
3039
- .flow-text {
3040
- font-size: 1.32rem; } }
3041
- @media only screen and (min-width: 150px) {
3042
- .flow-text {
3043
- line-height: 1.32rem; } }
3044
- @media only screen and (min-width: 540px) {
3045
- .flow-text {
3046
- font-size: 1.344rem; } }
3047
- @media only screen and (min-width: 180px) {
3048
- .flow-text {
3049
- line-height: 1.424rem; } }
3050
- @media only screen and (min-width: 570px) {
3051
- .flow-text {
3052
- font-size: 1.368rem; } }
3053
- @media only screen and (min-width: 210px) {
3054
- .flow-text {
3055
- line-height: 1.528rem; } }
3056
- @media only screen and (min-width: 600px) {
3057
- .flow-text {
3058
- font-size: 1.392rem; } }
3059
- @media only screen and (min-width: 240px) {
3060
- .flow-text {
3061
- line-height: 1.632rem; } }
3062
- @media only screen and (min-width: 630px) {
3063
- .flow-text {
3064
- font-size: 1.416rem; } }
3065
- @media only screen and (min-width: 270px) {
3066
- .flow-text {
3067
- line-height: 1.736rem; } }
3068
- @media only screen and (min-width: 660px) {
3069
- .flow-text {
3070
- font-size: 1.44rem; } }
3071
- @media only screen and (min-width: 300px) {
3072
- .flow-text {
3073
- line-height: 1.84rem; } }
3074
- @media only screen and (min-width: 690px) {
3075
- .flow-text {
3076
- font-size: 1.464rem; } }
3077
- @media only screen and (min-width: 330px) {
3078
- .flow-text {
3079
- line-height: 1.944rem; } }
3080
- @media only screen and (min-width: 720px) {
3081
- .flow-text {
3082
- font-size: 1.488rem; } }
3083
- @media only screen and (min-width: 360px) {
3084
- .flow-text {
3085
- line-height: 2.048rem; } }
3086
- @media only screen and (min-width: 750px) {
3087
- .flow-text {
3088
- font-size: 1.512rem; } }
3089
- @media only screen and (min-width: 390px) {
3090
- .flow-text {
3091
- line-height: 2.152rem; } }
3092
- @media only screen and (min-width: 780px) {
3093
- .flow-text {
3094
- font-size: 1.536rem; } }
3095
- @media only screen and (min-width: 420px) {
3096
- .flow-text {
3097
- line-height: 2.256rem; } }
3098
- @media only screen and (min-width: 810px) {
3099
- .flow-text {
3100
- font-size: 1.56rem; } }
3101
- @media only screen and (min-width: 450px) {
3102
- .flow-text {
3103
- line-height: 2.36rem; } }
3104
- @media only screen and (min-width: 840px) {
3105
- .flow-text {
3106
- font-size: 1.584rem; } }
3107
- @media only screen and (min-width: 480px) {
3108
- .flow-text {
3109
- line-height: 2.464rem; } }
3110
- @media only screen and (min-width: 870px) {
3111
- .flow-text {
3112
- font-size: 1.608rem; } }
3113
- @media only screen and (min-width: 510px) {
3114
- .flow-text {
3115
- line-height: 2.568rem; } }
3116
- @media only screen and (min-width: 900px) {
3117
- .flow-text {
3118
- font-size: 1.632rem; } }
3119
- @media only screen and (min-width: 540px) {
3120
- .flow-text {
3121
- line-height: 2.672rem; } }
3122
- @media only screen and (min-width: 930px) {
3123
- .flow-text {
3124
- font-size: 1.656rem; } }
3125
- @media only screen and (min-width: 570px) {
3126
- .flow-text {
3127
- line-height: 2.776rem; } }
3128
- @media only screen and (min-width: 960px) {
3129
- .flow-text {
3130
- font-size: 1.68rem; } }
3131
- @media only screen and (min-width: 600px) {
3132
- .flow-text {
3133
- line-height: 2.88rem; } }
3134
-
3135
- .card-panel {
3136
- padding: 20px;
3137
- margin: 0.5rem 0 1rem 0;
3138
- -webkit-border-radius: 2px;
3139
- -moz-border-radius: 2px;
3140
- border-radius: 2px;
3141
- background-clip: padding-box;
3142
- background-color: #fff; }
3143
-
3144
- .card {
3145
- position: relative;
3146
- overflow: hidden;
3147
- margin: 0.5rem 0 1rem 0;
3148
- background-color: #fff;
3149
- -webkit-box-sizing: border-box;
3150
- -moz-box-sizing: border-box;
3151
- box-sizing: border-box;
3152
- -webkit-border-radius: 2px;
3153
- -moz-border-radius: 2px;
3154
- border-radius: 2px;
3155
- background-clip: padding-box; }
3156
- .card .card-title {
3157
- color: #fff;
3158
- font-size: 24px;
3159
- font-weight: 300; }
3160
- .card .card-title.activator {
3161
- cursor: pointer; }
3162
- .card a {
3163
- color: #ffab40;
3164
- margin-right: 20px;
3165
- -webkit-transition: color 0.3s ease;
3166
- -moz-transition: color 0.3s ease;
3167
- -o-transition: color 0.3s ease;
3168
- -ms-transition: color 0.3s ease;
3169
- transition: color 0.3s ease;
3170
- text-transform: uppercase; }
3171
- .card a:hover {
3172
- color: #ffd8a6; }
3173
- .card.small, .card.medium, .card.large {
3174
- position: relative; }
3175
- .card.small .card-image, .card.medium .card-image, .card.large .card-image {
3176
- overflow: hidden; }
3177
- .card.small .card-content, .card.medium .card-content, .card.large .card-content {
3178
- overflow: hidden; }
3179
- .card.small .card-action, .card.medium .card-action, .card.large .card-action {
3180
- position: absolute;
3181
- bottom: 0;
3182
- left: 0;
3183
- right: 0; }
3184
- .card.small {
3185
- height: 300px; }
3186
- .card.small .card-image {
3187
- height: 150px; }
3188
- .card.small .card-content {
3189
- height: 150px; }
3190
- .card.medium {
3191
- height: 400px; }
3192
- .card.medium .card-image {
3193
- height: 250px; }
3194
- .card.medium .card-content {
3195
- height: 150px; }
3196
- .card.large {
3197
- height: 500px; }
3198
- .card.large .card-image {
3199
- height: 330px; }
3200
- .card.large .card-content {
3201
- height: 170px; }
3202
- .card .card-image {
3203
- position: relative; }
3204
- .card .card-image img {
3205
- -webkit-border-radius: 2px 2px 0 0;
3206
- -moz-border-radius: 2px 2px 0 0;
3207
- border-radius: 2px 2px 0 0;
3208
- background-clip: padding-box;
3209
- position: relative;
3210
- left: 0;
3211
- right: 0;
3212
- top: 0;
3213
- bottom: 0;
3214
- width: 100%; }
3215
- .card .card-image .card-title {
3216
- position: absolute;
3217
- bottom: 0;
3218
- left: 0;
3219
- padding: 20px; }
3220
- .card .card-content {
3221
- padding: 20px;
3222
- -webkit-border-radius: 0 0 2px 2px;
3223
- -moz-border-radius: 0 0 2px 2px;
3224
- border-radius: 0 0 2px 2px;
3225
- background-clip: padding-box;
3226
- -webkit-box-sizing: border-box;
3227
- -moz-box-sizing: border-box;
3228
- box-sizing: border-box; }
3229
- .card .card-content p {
3230
- margin: 0;
3231
- color: inherit; }
3232
- .card .card-content .card-title {
3233
- line-height: 48px; }
3234
- .card .card-action {
3235
- border-top: 1px solid rgba(160, 160, 160, 0.2);
3236
- padding: 20px; }
3237
- .card .card-reveal {
3238
- padding: 20px;
3239
- position: absolute;
3240
- background-color: #FFF;
3241
- width: 100%;
3242
- overflow-y: auto;
3243
- top: 100%;
3244
- height: 100%;
3245
- z-index: 1;
3246
- -webkit-box-sizing: border-box;
3247
- -moz-box-sizing: border-box;
3248
- box-sizing: border-box; }
3249
- .card .card-reveal .card-title {
3250
- cursor: pointer;
3251
- display: block; }
3252
-
3253
- #toast-container {
3254
- display: block;
3255
- position: fixed;
3256
- z-index: 1001; }
3257
- @media only screen and (max-width : 600px) {
3258
- #toast-container {
3259
- min-width: 100%;
3260
- bottom: 0%; } }
3261
- @media only screen and (min-width : 601px) and (max-width : 992px) {
3262
- #toast-container {
3263
- min-width: 30%;
3264
- left: 5%;
3265
- bottom: 7%; } }
3266
- @media only screen and (min-width : 993px) {
3267
- #toast-container {
3268
- min-width: 8%;
3269
- top: 10%;
3270
- right: 7%; } }
3271
-
3272
- .toast {
3273
- -webkit-border-radius: 2px;
3274
- -moz-border-radius: 2px;
3275
- border-radius: 2px;
3276
- background-clip: padding-box;
3277
- -webkit-box-sizing: border-box;
3278
- -moz-box-sizing: border-box;
3279
- box-sizing: border-box;
3280
- top: 0px;
3281
- width: auto;
3282
- clear: both;
3283
- margin-top: 10px;
3284
- position: relative;
3285
- max-width: 100%;
3286
- height: 48px;
3287
- line-height: 48px;
3288
- background-color: #323232;
3289
- padding: 0px 25px;
3290
- font-size: 1.1rem;
3291
- font-weight: 300;
3292
- color: #fff;
3293
- display: -webkit-box;
3294
- display: -moz-box;
3295
- display: -ms-flexbox;
3296
- display: -webkit-flex;
3297
- display: flex;
3298
- -webkit-flex-align: center;
3299
- -ms-flex-align: center;
3300
- -webkit-align-items: center;
3301
- align-items: center;
3302
- -webkit-justify-content: space-between;
3303
- justify-content: space-between; }
3304
- .toast .btn, .toast .btn-large, .toast .btn-flat {
3305
- margin: 0;
3306
- margin-left: 3rem; }
3307
- .toast.rounded {
3308
- border-radius: 24px; }
3309
- @media only screen and (max-width : 600px) {
3310
- .toast {
3311
- width: 100%;
3312
- -webkit-border-radius: 0px;
3313
- -moz-border-radius: 0px;
3314
- border-radius: 0px;
3315
- background-clip: padding-box; } }
3316
- @media only screen and (min-width : 601px) and (max-width : 992px) {
3317
- .toast {
3318
- float: left; } }
3319
- @media only screen and (min-width : 993px) {
3320
- .toast {
3321
- float: right; } }
3322
-
3323
- .tabs {
3324
- position: relative;
3325
- height: 48px;
3326
- background-color: #FFF;
3327
- margin: 0 auto;
3328
- width: 100%;
3329
- white-space: nowrap; }
3330
- .tabs li.tab {
3331
- display: block;
3332
- float: left;
3333
- text-align: center;
3334
- background-color: #fff;
3335
- line-height: 48px;
3336
- height: 48px;
3337
- padding: 0 20px;
3338
- margin: 0;
3339
- text-transform: uppercase;
3340
- letter-spacing: 0.8px;
3341
- width: 15%; }
3342
- .tabs li.tab a {
3343
- color: #ee6e73;
3344
- display: block;
3345
- width: 100%;
3346
- height: 100%;
3347
- -webkit-transition: color 0.28s ease;
3348
- -moz-transition: color 0.28s ease;
3349
- -o-transition: color 0.28s ease;
3350
- -ms-transition: color 0.28s ease;
3351
- transition: color 0.28s ease; }
3352
- .tabs li.tab a:hover {
3353
- color: #f9c9cb; }
3354
- .tabs .indicator {
3355
- position: absolute;
3356
- bottom: 0;
3357
- height: 2px;
3358
- background-color: #f6b2b5;
3359
- will-change: left, right; }
3360
-
3361
- ul.tabs li.tab {
3362
- padding: 0; }
3363
-
3364
- .material-tooltip {
3365
- padding: 10px 8px;
3366
- font-size: 1rem;
3367
- z-index: 1000;
3368
- background-color: transparent;
3369
- -webkit-border-radius: 2px;
3370
- -moz-border-radius: 2px;
3371
- border-radius: 2px;
3372
- background-clip: padding-box;
3373
- color: #fff;
3374
- min-height: 36px;
3375
- line-height: 1rem;
3376
- opacity: 0;
3377
- display: none;
3378
- position: absolute;
3379
- text-align: center;
3380
- overflow: hidden;
3381
- left: 0;
3382
- top: 0;
3383
- will-change: top, left; }
3384
-
3385
- .backdrop {
3386
- position: absolute;
3387
- opacity: 0;
3388
- display: none;
3389
- height: 7px;
3390
- width: 14px;
3391
- -webkit-border-radius: 0 0 14px 14px;
3392
- -moz-border-radius: 0 0 14px 14px;
3393
- border-radius: 0 0 14px 14px;
3394
- background-clip: padding-box;
3395
- background-color: #323232;
3396
- z-index: -1;
3397
- -webkit-transform-origin: 50% 10%;
3398
- -moz-transform-origin: 50% 10%;
3399
- -ms-transform-origin: 50% 10%;
3400
- -o-transform-origin: 50% 10%;
3401
- transform-origin: 50% 10%;
3402
- will-change: transform, opacity; }
3403
-
3404
- .btn, .btn-large, .btn-flat {
3405
- display: inline-block;
3406
- height: 36px;
3407
- margin-bottom: 15px;
3408
- padding: 0 2rem;
3409
- -webkit-border-radius: 2px;
3410
- -moz-border-radius: 2px;
3411
- border-radius: 2px;
3412
- background-clip: padding-box;
3413
- line-height: 36px;
3414
- text-transform: uppercase;
3415
- border: none;
3416
- outline: 0;
3417
- -webkit-tap-highlight-color: transparent; }
3418
-
3419
- .btn.disabled, .disabled.btn-large, .btn-floating.disabled, .btn-large.disabled, .btn:disabled, .btn-large:disabled, .btn-large:disabled, .btn-floating:disabled {
3420
- background-color: #DFDFDF;
3421
- box-shadow: none;
3422
- color: #9F9F9F;
3423
- cursor: default; }
3424
- .btn.disabled:hover, .disabled.btn-large:hover, .btn-floating.disabled:hover, .btn-large.disabled:hover, .btn:disabled:hover, .btn-large:disabled:hover, .btn-large:disabled:hover, .btn-floating:disabled:hover {
3425
- background-color: #DFDFDF;
3426
- color: #9F9F9F; }
3427
-
3428
- .btn i, .btn-large i, .btn-floating i, .btn-large i, .btn-flat i {
3429
- font-size: 1.3rem;
3430
- line-height: inherit; }
3431
-
3432
- .btn, .btn-large {
3433
- text-decoration: none;
3434
- color: #FFF;
3435
- background-color: #26a69a;
3436
- text-align: center;
3437
- letter-spacing: 0.5px;
3438
- -webkit-transition: 0.2s ease-out;
3439
- -moz-transition: 0.2s ease-out;
3440
- -o-transition: 0.2s ease-out;
3441
- -ms-transition: 0.2s ease-out;
3442
- transition: 0.2s ease-out;
3443
- cursor: pointer; }
3444
- .btn:hover, .btn-large:hover {
3445
- background-color: #2bbbad; }
3446
-
3447
- .btn-floating {
3448
- display: inline-block;
3449
- color: #FFF;
3450
- position: relative;
3451
- z-index: 1;
3452
- width: 37px;
3453
- height: 37px;
3454
- line-height: 37px;
3455
- padding: 0;
3456
- background-color: #26a69a;
3457
- -webkit-border-radius: 50%;
3458
- -moz-border-radius: 50%;
3459
- border-radius: 50%;
3460
- background-clip: padding-box;
3461
- -webkit-transition: 0.3s;
3462
- -moz-transition: 0.3s;
3463
- -o-transition: 0.3s;
3464
- -ms-transition: 0.3s;
3465
- transition: 0.3s;
3466
- cursor: pointer; }
3467
- .btn-floating i {
3468
- width: inherit;
3469
- display: inline-block;
3470
- text-align: center;
3471
- color: #FFF;
3472
- font-size: 1.6rem;
3473
- line-height: 37px; }
3474
- .btn-floating.btn-large {
3475
- width: 55.5px;
3476
- height: 55.5px; }
3477
- .btn-floating.btn-large i {
3478
- line-height: 55.5px; }
3479
-
3480
- .fixed-action-btn {
3481
- position: fixed;
3482
- right: 23px;
3483
- bottom: 23px;
3484
- padding-top: 15px;
3485
- margin-bottom: 0;
3486
- z-index: 1000; }
3487
- .fixed-action-btn ul {
3488
- left: 0;
3489
- right: 0;
3490
- text-align: center;
3491
- position: absolute;
3492
- bottom: 64px; }
3493
- .fixed-action-btn ul li {
3494
- margin-bottom: 15px; }
3495
- .fixed-action-btn ul a.btn-floating {
3496
- -ms-filter: "progid:DXImageTransform@mixin Microsoft@mixin Alpha(Opacity=${iefactor})";
3497
- filter: "alpha(opacity=(${iefactor}))";
3498
- -moz-opacity: 0;
3499
- -khtml-opacity: 0;
3500
- opacity: 0; }
3501
-
3502
- .btn-flat {
3503
- box-shadow: none;
3504
- background-color: transparent;
3505
- color: #343434;
3506
- cursor: pointer; }
3507
- .btn-flat.disabled {
3508
- color: #b3b3b3;
3509
- cursor: default; }
3510
-
3511
- .btn-large {
3512
- height: 54px;
3513
- line-height: 56px; }
3514
- .btn-large i {
3515
- font-size: 1.6rem; }
3516
-
3517
- .dropdown-content {
3518
- display: none;
3519
- position: absolute;
3520
- background-color: #FFFFFF;
3521
- margin: 0px;
3522
- min-width: 100px;
3523
- z-index: 1000;
3524
- max-height: 70%;
3525
- opacity: 0;
3526
- overflow-y: hidden;
3527
- will-change: width, height; }
3528
- .dropdown-content li {
3529
- cursor: pointer;
3530
- font-size: 1.2rem;
3531
- color: rgba(0, 0, 0, 0.87);
3532
- line-height: 1.5rem; }
3533
- .dropdown-content li:hover, .dropdown-content li.active {
3534
- background-color: rgba(0, 0, 0, 0.06); }
3535
- .dropdown-content li > a, .dropdown-content li > span {
3536
- display: block;
3537
- padding: 1rem 1rem;
3538
- color: #26a69a; }
3539
-
3540
- /*!
3541
- * Waves v0.6.0
3542
- * http://fian.my.id/Waves
3543
- *
3544
- * Copyright 2014 Alfiana E. Sibuea and other contributors
3545
- * Released under the MIT license
3546
- * https://github.com/fians/Waves/blob/master/LICENSE
3547
- */
3548
- .waves-effect {
3549
- position: relative;
3550
- cursor: pointer;
3551
- display: inline-block;
3552
- overflow: hidden;
3553
- -webkit-user-select: none;
3554
- -moz-user-select: none;
3555
- -ms-user-select: none;
3556
- user-select: none;
3557
- -webkit-tap-highlight-color: transparent;
3558
- vertical-align: middle;
3559
- z-index: 1;
3560
- will-change: opacity, transform;
3561
- -webkit-transition: all 0.3s ease-out;
3562
- -moz-transition: all 0.3s ease-out;
3563
- -o-transition: all 0.3s ease-out;
3564
- -ms-transition: all 0.3s ease-out;
3565
- transition: all 0.3s ease-out; }
3566
- .waves-effect .waves-ripple {
3567
- position: absolute;
3568
- border-radius: 50%;
3569
- width: 20px;
3570
- height: 20px;
3571
- margin-top: -10px;
3572
- margin-left: -10px;
3573
- opacity: 0;
3574
- background: rgba(0, 0, 0, 0.2);
3575
- -webkit-transition: all 0.7s ease-out;
3576
- -moz-transition: all 0.7s ease-out;
3577
- -o-transition: all 0.7s ease-out;
3578
- -ms-transition: all 0.7s ease-out;
3579
- transition: all 0.7s ease-out;
3580
- -webkit-transition-property: -webkit-transform, opacity;
3581
- -moz-transition-property: -moz-transform, opacity;
3582
- -o-transition-property: -o-transform, opacity;
3583
- transition-property: transform, opacity;
3584
- -webkit-transform: scale(0);
3585
- -moz-transform: scale(0);
3586
- -ms-transform: scale(0);
3587
- -o-transform: scale(0);
3588
- transform: scale(0);
3589
- pointer-events: none; }
3590
- .waves-effect.waves-light .waves-ripple {
3591
- background-color: rgba(255, 255, 255, 0.45); }
3592
- .waves-effect.waves-red .waves-ripple {
3593
- background-color: rgba(244, 67, 54, 0.7); }
3594
- .waves-effect.waves-yellow .waves-ripple {
3595
- background-color: rgba(255, 235, 59, 0.7); }
3596
- .waves-effect.waves-orange .waves-ripple {
3597
- background-color: rgba(255, 152, 0, 0.7); }
3598
- .waves-effect.waves-purple .waves-ripple {
3599
- background-color: rgba(156, 39, 176, 0.7); }
3600
- .waves-effect.waves-green .waves-ripple {
3601
- background-color: rgba(76, 175, 80, 0.7); }
3602
- .waves-effect.waves-teal .waves-ripple {
3603
- background-color: rgba(0, 150, 136, 0.7); }
3604
-
3605
- .waves-notransition {
3606
- -webkit-transition: none !important;
3607
- -moz-transition: none !important;
3608
- -o-transition: none !important;
3609
- -ms-transition: none !important;
3610
- transition: none !important; }
3611
-
3612
- .waves-circle {
3613
- -webkit-transform: translateZ(0);
3614
- -moz-transform: translateZ(0);
3615
- -ms-transform: translateZ(0);
3616
- -o-transform: translateZ(0);
3617
- transform: translateZ(0);
3618
- -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%); }
3619
-
3620
- .waves-input-wrapper {
3621
- border-radius: 0.2em;
3622
- vertical-align: bottom; }
3623
- .waves-input-wrapper .waves-button-input {
3624
- position: relative;
3625
- top: 0;
3626
- left: 0;
3627
- z-index: 1; }
3628
-
3629
- .waves-circle {
3630
- text-align: center;
3631
- width: 2.5em;
3632
- height: 2.5em;
3633
- line-height: 2.5em;
3634
- border-radius: 50%;
3635
- -webkit-mask-image: none; }
3636
-
3637
- .waves-block {
3638
- display: block; }
3639
-
3640
- /* Firefox Bug: link not triggered */
3641
- a.waves-effect .waves-ripple {
3642
- z-index: -1; }
3643
-
3644
- .modal {
3645
- display: none;
3646
- position: fixed;
3647
- left: 0;
3648
- right: 0;
3649
- background-color: inherit;
3650
- padding: 0;
3651
- max-height: 70%;
3652
- width: 55%;
3653
- margin: auto;
3654
- overflow-y: auto;
3655
- z-index: 1000;
3656
- -webkit-border-radius: 2px;
3657
- -moz-border-radius: 2px;
3658
- border-radius: 2px;
3659
- background-clip: padding-box;
3660
- -webkit-transform: translate(0);
3661
- -moz-transform: translate(0);
3662
- -ms-transform: translate(0);
3663
- -o-transform: translate(0);
3664
- transform: translate(0);
3665
- will-change: top, opacity; }
3666
- @media only screen and (max-width : 992px) {
3667
- .modal {
3668
- width: 80%; } }
3669
- .modal h1, .modal h2, .modal h3, .modal h4 {
3670
- margin-top: 0; }
3671
- .modal .modal-content {
3672
- padding: 24px; }
3673
- .modal .modal-footer {
3674
- background-color: #eee;
3675
- padding: 4px 6px;
3676
- height: 56px;
3677
- width: 100%; }
3678
- .modal .modal-footer .btn, .modal .modal-footer .btn-large, .modal .modal-footer .btn-flat {
3679
- float: right;
3680
- margin: 6px 0; }
3681
-
3682
- #lean-overlay {
3683
- position: fixed;
3684
- z-index: 999;
3685
- top: 0;
3686
- left: 0;
3687
- bottom: 0;
3688
- right: 0;
3689
- height: 115%;
3690
- width: 100%;
3691
- background: #000;
3692
- display: none;
3693
- will-change: opacity; }
3694
-
3695
- .modal.modal-fixed-footer {
3696
- padding: 0;
3697
- height: 70%; }
3698
- .modal.modal-fixed-footer .modal-content {
3699
- position: fixed;
3700
- max-height: 100%;
3701
- padding-bottom: 64px;
3702
- width: 100%;
3703
- overflow-y: auto; }
3704
- .modal.modal-fixed-footer .modal-footer {
3705
- border-top: 1px solid rgba(0, 0, 0, 0.1);
3706
- position: fixed;
3707
- bottom: 0; }
3708
-
3709
- .collapsible {
3710
- border-top: 1px solid #ddd;
3711
- border-right: 1px solid #ddd;
3712
- border-left: 1px solid #ddd;
3713
- margin: 0.5rem 0 1rem 0; }
3714
- .collapsible li {
3715
- -webkit-transition: 0.3s;
3716
- -moz-transition: 0.3s;
3717
- -o-transition: 0.3s;
3718
- -ms-transition: 0.3s;
3719
- transition: 0.3s; }
3720
-
3721
- .collapsible-header {
3722
- display: block;
3723
- cursor: pointer;
3724
- height: 3rem;
3725
- width: 100%;
3726
- line-height: 3rem;
3727
- padding: 0 1rem;
3728
- margin-left:20px;
3729
- background-color: #fff;
3730
- border-bottom: 1px solid #ddd; }
3731
- .collapsible-header i {
3732
- width: 2rem;
3733
- font-size: 1.6rem;
3734
- line-height: 3rem;
3735
- display: block;
3736
- float: left;
3737
- text-align: center;
3738
- margin-right: 1rem; }
3739
-
3740
- .collapsible-body {
3741
- width: 100%;
3742
- overflow: hidden;
3743
- display: none;
3744
- margin-left:20px;
3745
- padding: 0px 18px 40px 10px;
3746
- border-bottom: 1px solid #ddd;
3747
- -webkit-box-sizing: border-box;
3748
- -moz-box-sizing: border-box;
3749
- box-sizing: border-box; }
3750
- .collapsible-body p {
3751
- margin: 0;
3752
- padding: 2rem; }
3753
-
3754
- ul.side-nav ul.collapsible {
3755
- border: none;
3756
- -webkit-box-shadow: none;
3757
- -moz-box-shadow: none;
3758
- box-shadow: none; }
3759
- ul.side-nav ul.collapsible li {
3760
- padding: 0; }
3761
- ul.side-nav .collapsible-header {
3762
- background-color: transparent;
3763
- border: none;
3764
- line-height: inherit;
3765
- height: inherit;
3766
- margin: 0 1rem; }
3767
- ul.side-nav .collapsible-header i {
3768
- line-height: inherit; }
3769
- ul.side-nav .collapsible-body {
3770
- border: 0;
3771
- background-color: #FFF; }
3772
- ul.side-nav .collapsible-body li a {
3773
- margin: 0 1rem 0 2rem; }
3774
-
3775
- li.no-padding {
3776
- padding: 0 !important; }
3777
-
3778
- .materialboxed {
3779
- cursor: zoom-in;
3780
- position: relative;
3781
- -webkit-transition: opacity 0.4s;
3782
- -moz-transition: opacity 0.4s;
3783
- -o-transition: opacity 0.4s;
3784
- -ms-transition: opacity 0.4s;
3785
- transition: opacity 0.4s; }
3786
- .materialboxed:hover {
3787
- will-change: left, top, width, height; }
3788
- .materialboxed:hover:not(.active) {
3789
- -ms-filter: "progid:DXImageTransform@mixin Microsoft@mixin Alpha(Opacity=${iefactor})";
3790
- filter: "alpha(opacity=(${iefactor}))";
3791
- -moz-opacity: 0.8;
3792
- -khtml-opacity: 0.8;
3793
- opacity: 0.8; }
3794
-
3795
- .materialboxed.active {
3796
- cursor: zoom-out; }
3797
-
3798
- #materialbox-overlay {
3799
- position: fixed;
3800
- top: 0;
3801
- left: 0;
3802
- right: 0;
3803
- bottom: 0;
3804
- background-color: #292929;
3805
- z-index: 999;
3806
- will-change: opacity; }
3807
-
3808
- .materialbox-caption {
3809
- position: fixed;
3810
- display: none;
3811
- color: #fff;
3812
- line-height: 50px;
3813
- bottom: 0px;
3814
- width: 100%;
3815
- box-sizing: border-box;
3816
- text-align: center;
3817
- padding: 0% 15%;
3818
- height: 50px;
3819
- z-index: 1000;
3820
- -webkit-font-smoothing: antialiased; }
3821
-
3822
- /* Remove Focus Boxes */
3823
- select:focus {
3824
- outline: 1px solid #f8c1c3; }
3825
-
3826
- button:focus {
3827
- outline: none;
3828
- background-color: #2ab7a9; }
3829
-
3830
- label {
3831
- font-size: 0.8rem;
3832
- color: #9e9e9e; }
3833
-
3834
- /***************************
3835
- Text Inputs + Textarea
3836
- ****************************/
3837
- .input-field {
3838
- position: relative;
3839
- margin-top: 1rem; }
3840
- .input-field label {
3841
- color: #9e9e9e;
3842
- position: absolute;
3843
- top: 0.8rem;
3844
- left: 0.75rem;
3845
- font-size: 1rem;
3846
- cursor: text;
3847
- -webkit-transition: 0.2s ease-out;
3848
- -moz-transition: 0.2s ease-out;
3849
- -o-transition: 0.2s ease-out;
3850
- -ms-transition: 0.2s ease-out;
3851
- transition: 0.2s ease-out; }
3852
- .input-field label.active {
3853
- font-size: 0.8rem;
3854
- -webkit-transform: translateY(-140%);
3855
- -moz-transform: translateY(-140%);
3856
- -ms-transform: translateY(-140%);
3857
- -o-transform: translateY(-140%);
3858
- transform: translateY(-140%); }
3859
- .input-field input[type=text]:focus + label, .input-field input[type=password]:focus + label, .input-field input[type=email]:focus + label, .input-field input[type=url]:focus + label, .input-field input[type=date]:focus + label, .input-field input[type=tel]:focus + label, .input-field input[type=number]:focus + label, .input-field input[type=search]:focus + label, .input-field textarea:focus.materialize-textarea + label {
3860
- color: #26a69a; }
3861
- .input-field input[type=text].valid, .input-field input[type=password].valid, .input-field input[type=email].valid, .input-field input[type=url].valid, .input-field input[type=date].valid, .input-field input[type=tel].valid, .input-field input[type=number].valid, .input-field input[type=search].valid, .input-field textarea.materialize-textarea.valid {
3862
- border-bottom: 1px solid #4CAF50;
3863
- -webkit-box-shadow: 0 1px 0 0 #4CAF50;
3864
- -moz-box-shadow: 0 1px 0 0 #4CAF50;
3865
- box-shadow: 0 1px 0 0 #4CAF50; }
3866
- .input-field input[type=text].invalid, .input-field input[type=password].invalid, .input-field input[type=email].invalid, .input-field input[type=url].invalid, .input-field input[type=date].invalid, .input-field input[type=tel].invalid, .input-field input[type=number].invalid, .input-field input[type=search].invalid, .input-field textarea.materialize-textarea.invalid {
3867
- border-bottom: 1px solid #F44336;
3868
- -webkit-box-shadow: 0 1px 0 0 #F44336;
3869
- -moz-box-shadow: 0 1px 0 0 #F44336;
3870
- box-shadow: 0 1px 0 0 #F44336; }
3871
- .input-field .prefix {
3872
- position: absolute;
3873
- width: 3rem;
3874
- font-size: 2rem;
3875
- -webkit-transition: color 0.2s;
3876
- -moz-transition: color 0.2s;
3877
- -o-transition: color 0.2s;
3878
- -ms-transition: color 0.2s;
3879
- transition: color 0.2s; }
3880
- .input-field .prefix.active {
3881
- color: #26a69a; }
3882
- .input-field .prefix ~ input, .input-field .prefix ~ textarea {
3883
- margin-left: 3rem;
3884
- width: 92%;
3885
- width: calc(100% - 3rem); }
3886
- .input-field .prefix ~ textarea {
3887
- padding-top: 0.8rem; }
3888
- .input-field .prefix ~ label {
3889
- margin-left: 3rem; }
3890
- @media only screen and (max-width : 992px) {
3891
- .input-field .prefix ~ input {
3892
- width: 86%;
3893
- width: calc(100% - 3rem); }
3894
- }
3895
- @media only screen and (max-width : 600px) {
3896
- .input-field .prefix ~ input {
3897
- width: 80%;
3898
- width: calc(100% - 3rem); }
3899
- }
3900
-
3901
- textarea {
3902
- width: 100%;
3903
- height: 3rem;
3904
- background-color: transparent; }
3905
-
3906
- input[type=text], input[type=password], input[type=email], input[type=url], input[type=date], input[type=tel], input[type=number], input[type=search], textarea.materialize-textarea {
3907
- background-color: transparent;
3908
- border: none;
3909
- border-bottom: 1px solid #9e9e9e;
3910
- outline: none;
3911
- height: 3rem;
3912
- width: 80%;
3913
- font-size: 1rem;
3914
- margin: 0 0 15px 0;
3915
- padding: 0;
3916
- -webkit-box-shadow: none;
3917
- -moz-box-shadow: none;
3918
- box-shadow: none;
3919
- -webkit-box-sizing: content-box;
3920
- -moz-box-sizing: content-box;
3921
- box-sizing: content-box;
3922
- -webkit-transition: 0.3s;
3923
- -moz-transition: 0.3s;
3924
- -o-transition: 0.3s;
3925
- -ms-transition: 0.3s;
3926
- transition: 0.3s; }
3927
-
3928
- input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, input[type=url]:focus, input[type=date]:focus, input[type=tel]:focus, input[type=number]:focus, input[type=search]:focus, textarea:focus.materialize-textarea {
3929
- border-bottom: 1px solid #26a69a;
3930
- -webkit-box-shadow: 0 1px 0 0 #26a69a;
3931
- -moz-box-shadow: 0 1px 0 0 #26a69a;
3932
- box-shadow: 0 1px 0 0 #26a69a; }
3933
-
3934
- textarea.materialize-textarea {
3935
- overflow-y: hidden;
3936
- /* prevents scroll bar flash */
3937
- padding: 1.6rem 0;
3938
- /* prevents text jump on Enter keypress */
3939
- resize: none;
3940
- min-height: 3rem; }
3941
-
3942
- .hiddendiv {
3943
- display: none;
3944
- white-space: pre-wrap;
3945
- word-wrap: break-word;
3946
- overflow-wrap: break-word;
3947
- /* future version of deprecated 'word-wrap' */
3948
- padding-top: 1.2rem;
3949
- /* prevents text jump on Enter keypress */ }
3950
-
3951
- /***************
3952
- Radio Buttons
3953
- ***************/
3954
- /* Remove default Radio Buttons */
3955
- [type="radio"]:not(:checked), [type="radio"]:checked {
3956
- position: absolute;
3957
- left: -9999px; }
3958
-
3959
- [type="radio"]:not(:checked) + label, [type="radio"]:checked + label {
3960
- position: relative;
3961
- padding-left: 35px;
3962
- cursor: pointer;
3963
- display: inline-block;
3964
- height: 25px;
3965
- line-height: 25px;
3966
- font-size: 1rem;
3967
- -webkit-transition: 0.28s ease;
3968
- -moz-transition: 0.28s ease;
3969
- -o-transition: 0.28s ease;
3970
- -ms-transition: 0.28s ease;
3971
- transition: 0.28s ease;
3972
- -webkit-user-select: none;
3973
- /* webkit (safari, chrome) browsers */
3974
- -moz-user-select: none;
3975
- /* mozilla browsers */
3976
- -khtml-user-select: none;
3977
- /* webkit (konqueror) browsers */
3978
- -ms-user-select: none;
3979
- /* IE10+ */ }
3980
-
3981
- [type="radio"] + label:before, [type="radio"] + label:after {
3982
- content: '';
3983
- position: absolute;
3984
- left: 0px;
3985
- top: 0px;
3986
- margin: 4px;
3987
- width: 16px;
3988
- height: 16px;
3989
- z-index: 0;
3990
- -webkit-transition: 0.28s ease;
3991
- -moz-transition: 0.28s ease;
3992
- -o-transition: 0.28s ease;
3993
- -ms-transition: 0.28s ease;
3994
- transition: 0.28s ease; }
3995
-
3996
- /* Unchecked styles */
3997
- [type="radio"]:not(:checked) + label:before {
3998
- border-radius: 50%;
3999
- border: 2px solid #5a5a5a; }
4000
-
4001
- [type="radio"]:not(:checked) + label:after {
4002
- border-radius: 50%;
4003
- border: 2px solid #5a5a5a;
4004
- z-index: -1;
4005
- -webkit-transform: scale(0);
4006
- -moz-transform: scale(0);
4007
- -ms-transform: scale(0);
4008
- -o-transform: scale(0);
4009
- transform: scale(0); }
4010
-
4011
- /* Checked styles */
4012
- [type="radio"]:checked + label:before {
4013
- border-radius: 50%;
4014
- border: 2px solid transparent; }
4015
-
4016
- [type="radio"]:checked + label:after {
4017
- border-radius: 50%;
4018
- border: 2px solid #26a69a;
4019
- background-color: #26a69a;
4020
- z-index: 0;
4021
- -webkit-transform: scale(1.02);
4022
- -moz-transform: scale(1.02);
4023
- -ms-transform: scale(1.02);
4024
- -o-transform: scale(1.02);
4025
- transform: scale(1.02); }
4026
-
4027
- /* Radio With gap */
4028
- [type="radio"].with-gap:checked + label:before {
4029
- border-radius: 50%;
4030
- border: 2px solid #26a69a; }
4031
-
4032
- [type="radio"].with-gap:checked + label:after {
4033
- border-radius: 50%;
4034
- border: 2px solid #26a69a;
4035
- background-color: #26a69a;
4036
- z-index: 0;
4037
- -webkit-transform: scale(0.5);
4038
- -moz-transform: scale(0.5);
4039
- -ms-transform: scale(0.5);
4040
- -o-transform: scale(0.5);
4041
- transform: scale(0.5); }
4042
-
4043
- /* Disabled style */
4044
- [type="radio"]:disabled:not(:checked) + label:before, [type="radio"]:disabled:checked + label:before {
4045
- background-color: transparent;
4046
- border-color: rgba(0, 0, 0, 0.26); }
4047
-
4048
- [type="radio"]:disabled + label {
4049
- color: rgba(0, 0, 0, 0.26); }
4050
-
4051
- [type="radio"]:disabled:not(:checked) + label:hover:before {
4052
- border-color: rgba(0, 0, 0, 0.26); }
4053
-
4054
- /***************
4055
- Checkboxes
4056
- ***************/
4057
- /* CUSTOM CSS CHECKBOXES */
4058
- form p {
4059
- margin-bottom: 10px;
4060
- text-align: left; }
4061
-
4062
- form p:last-child {
4063
- margin-bottom: 0px; }
4064
-
4065
- /* Remove default checkbox */
4066
- [type="checkbox"]:not(:checked), [type="checkbox"]:checked {
4067
- position: absolute;
4068
- left: -9999px; }
4069
-
4070
- [type="checkbox"]:not(:checked) + label, [type="checkbox"]:checked + label {
4071
- position: relative;
4072
- padding-left: 35px;
4073
- cursor: pointer;
4074
- display: inline-block;
4075
- height: 25px;
4076
- line-height: 25px;
4077
- font-size: 1rem;
4078
- -webkit-user-select: none;
4079
- /* webkit (safari, chrome) browsers */
4080
- -moz-user-select: none;
4081
- /* mozilla browsers */
4082
- -khtml-user-select: none;
4083
- /* webkit (konqueror) browsers */
4084
- -ms-user-select: none;
4085
- /* IE10+ */ }
4086
-
4087
- /* checkbox aspect */
4088
- [type="checkbox"] + label:before {
4089
- content: '';
4090
- position: absolute;
4091
- margin-top: 2px;
4092
- left: 0;
4093
- z-index: 0;
4094
- -webkit-border-radius: 1px;
4095
- -moz-border-radius: 1px;
4096
- border-radius: 1px;
4097
- background-clip: padding-box;
4098
- -webkit-transition: 0.2s;
4099
- -moz-transition: 0.2s;
4100
- -o-transition: 0.2s;
4101
- -ms-transition: 0.2s;
4102
- transition: 0.2s; }
4103
-
4104
- /* Unchecked styles */
4105
- [type="checkbox"]:not(:checked) + label:before {
4106
- top: 0px;
4107
- width: 18px;
4108
- height: 18px;
4109
- border: 2px solid #5a5a5a; }
4110
-
4111
- /* Checked styles */
4112
- [type="checkbox"]:checked + label:before {
4113
- left: -3px;
4114
- top: -4px;
4115
- width: 12px;
4116
- height: 22px;
4117
- border-top: 2px solid transparent;
4118
- border-left: 2px solid transparent;
4119
- border-right: 2px solid #26a69a;
4120
- border-bottom: 2px solid #26a69a;
4121
- -webkit-transform: rotateZ(40deg);
4122
- -moz-transform: rotateZ(40deg);
4123
- -ms-transform: rotateZ(40deg);
4124
- -o-transform: rotateZ(40deg);
4125
- transform: rotateZ(40deg);
4126
- -webkit-backface-visibility: hidden;
4127
- -webkit-transform-origin: 100% 100%;
4128
- -moz-transform-origin: 100% 100%;
4129
- -ms-transform-origin: 100% 100%;
4130
- -o-transform-origin: 100% 100%;
4131
- transform-origin: 100% 100%; }
4132
-
4133
- /* disabled checkbox */
4134
- [type="checkbox"]:disabled:not(:checked) + label:before {
4135
- top: 0;
4136
- left: 0;
4137
- box-shadow: none;
4138
- background-color: rgba(0, 0, 0, 0.26);
4139
- width: 18px;
4140
- height: 18px;
4141
- border: 2px solid rgba(0, 0, 0, 0.26);
4142
- -webkit-transform: rotateZ(0deg);
4143
- -moz-transform: rotateZ(0deg);
4144
- -ms-transform: rotateZ(0deg);
4145
- -o-transform: rotateZ(0deg);
4146
- transform: rotateZ(0deg); }
4147
-
4148
- [type="checkbox"]:disabled:checked + label:before {
4149
- left: -3px;
4150
- top: -4px;
4151
- width: 12px;
4152
- height: 22px;
4153
- border-top: 2px solid transparent;
4154
- border-left: 2px solid transparent;
4155
- border-right: 2px solid rgba(0, 0, 0, 0.26);
4156
- border-bottom: 2px solid rgba(0, 0, 0, 0.26);
4157
- -webkit-transform: rotateZ(40deg);
4158
- -moz-transform: rotateZ(40deg);
4159
- -ms-transform: rotateZ(40deg);
4160
- -o-transform: rotateZ(40deg);
4161
- transform: rotateZ(40deg);
4162
- -webkit-backface-visibility: hidden;
4163
- -webkit-transform-origin: 100% 100%;
4164
- -moz-transform-origin: 100% 100%;
4165
- -ms-transform-origin: 100% 100%;
4166
- -o-transform-origin: 100% 100%;
4167
- transform-origin: 100% 100%; }
4168
-
4169
- [type="checkbox"]:disabled:checked + label {
4170
- color: rgba(0, 0, 0, 0.26); }
4171
-
4172
- [type="checkbox"]:disabled:not(:checked) + label:hover:before {
4173
- border-color: rgba(0, 0, 0, 0.26); }
4174
-
4175
- /***************
4176
- Switch
4177
- ***************/
4178
- .switch, .switch * {
4179
- -webkit-user-select: none;
4180
- -moz-user-select: none;
4181
- -ms-user-select: none; }
4182
-
4183
- .switch label {
4184
- cursor: pointer; }
4185
-
4186
- .switch label input[type=checkbox] {
4187
- opacity: 0;
4188
- width: 0;
4189
- height: 0; }
4190
-
4191
- .switch label input[type=checkbox]:checked + .lever {
4192
- background-color: #84c7c1; }
4193
-
4194
- .switch label input[type=checkbox]:checked + .lever:after {
4195
- background-color: #26a69a; }
4196
-
4197
- .switch label .lever {
4198
- content: "";
4199
- display: inline-block;
4200
- position: relative;
4201
- width: 40px;
4202
- height: 15px;
4203
- background-color: #818181;
4204
- border-radius: 15px;
4205
- margin-right: 10px;
4206
- transition: background 0.3s ease;
4207
- vertical-align: middle;
4208
- margin: 0px 16px; }
4209
-
4210
- .switch label .lever:after {
4211
- content: "";
4212
- position: absolute;
4213
- display: inline-block;
4214
- width: 21px;
4215
- height: 21px;
4216
- background-color: #F1F1F1;
4217
- border-radius: 21px;
4218
- box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4);
4219
- left: -5px;
4220
- top: -3px;
4221
- transition: left 0.3s ease, background 0.3s ease, box-shadow 0.1s ease; }
4222
-
4223
- input[type=checkbox]:checked:not(:disabled) ~ .lever:active:after {
4224
- box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(38, 166, 154, 0.1); }
4225
-
4226
- input[type=checkbox]:not(:disabled) ~ .lever:active:after {
4227
- box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 0, 0, 0.08); }
4228
-
4229
- .switch label input[type=checkbox]:checked + .lever:after {
4230
- left: 24px; }
4231
-
4232
- .switch input[type=checkbox][disabled] + .lever {
4233
- cursor: default; }
4234
-
4235
- .switch label input[type=checkbox][disabled] + .lever:after, .switch label input[type=checkbox][disabled]:checked + .lever:after {
4236
- background-color: #BDBDBD; }
4237
-
4238
- /***************
4239
- Select Field
4240
- ***************/
4241
- .select-label {
4242
- position: absolute; }
4243
-
4244
- .select-wrapper {
4245
- position: relative;
4246
- margin-top: 15px; }
4247
- .select-wrapper input.select-dropdown {
4248
- position: relative;
4249
- cursor: pointer;
4250
- color: #444;
4251
- background-color: transparent;
4252
- border: none;
4253
- border-bottom: 1px solid #9e9e9e;
4254
- outline: none;
4255
- height: 3rem;
4256
- line-height: 3rem;
4257
- width: 100%;
4258
- font-size: 1rem;
4259
- margin: 0 0 15px 0;
4260
- padding: 0;
4261
- display: block; }
4262
- .select-wrapper .mdi-navigation-arrow-drop-down {
4263
- position: absolute;
4264
- right: 0;
4265
- top: 0;
4266
- font-size: 23px; }
4267
-
4268
- /*select {
4269
- display: none; }*/
4270
-
4271
- select.browser-default {
4272
- display: block; }
4273
-
4274
- select:disabled {
4275
- color: rgba(0, 0, 0, 0.3); }
4276
-
4277
- .select-wrapper input.select-dropdown:disabled {
4278
- color: rgba(0, 0, 0, 0.3);
4279
- border-bottom: 1px solid rgba(0, 0, 0, 0.3); }
4280
-
4281
- .select-wrapper i {
4282
- color: rgba(0, 0, 0, 0.3); }
4283
-
4284
- .select-dropdown li.disabled {
4285
- color: rgba(0, 0, 0, 0.3); }
4286
- .select-dropdown li.disabled:hover {
4287
- background-color: transparent; }
4288
-
4289
- /*********************
4290
- File Input
4291
- **********************/
4292
- .file-field {
4293
- position: relative;
4294
- overflow: hidden; }
4295
- .file-field input.file-path {
4296
- margin-left: 100px; }
4297
- .file-field .btn, .file-field .btn-large {
4298
- position: absolute;
4299
- top: 0;
4300
- height: 3rem;
4301
- line-height: 3rem; }
4302
- .file-field span {
4303
- cursor: pointer; }
4304
- .file-field input[type=file] {
4305
- position: absolute;
4306
- top: 0;
4307
- right: 0;
4308
- left: 0;
4309
- bottom: 0;
4310
- width: 100%;
4311
- margin: 0;
4312
- padding: 0;
4313
- font-size: 20px;
4314
- cursor: pointer;
4315
- opacity: 0;
4316
- filter: alpha(opacity=0); }
4317
-
4318
- /***************
4319
- Range
4320
- ***************/
4321
- .range-field {
4322
- position: relative; }
4323
-
4324
- input[type=range], input[type=range] + .thumb {
4325
- cursor: pointer; }
4326
-
4327
- input[type=range] {
4328
- position: relative;
4329
- background-color: transparent;
4330
- border: none;
4331
- outline: none;
4332
- width: 100%;
4333
- margin: 15px 0px;
4334
- padding: 0; }
4335
-
4336
- input[type=range] + .thumb {
4337
- position: absolute;
4338
- border: none;
4339
- height: 0;
4340
- width: 0;
4341
- border-radius: 50%;
4342
- background-color: #26a69a;
4343
- top: 10px;
4344
- margin-left: -6px;
4345
- -webkit-transform-origin: 50% 50%;
4346
- -moz-transform-origin: 50% 50%;
4347
- -ms-transform-origin: 50% 50%;
4348
- -o-transform-origin: 50% 50%;
4349
- transform-origin: 50% 50%;
4350
- -webkit-transform: rotate(-45deg);
4351
- -moz-transform: rotate(-45deg);
4352
- -ms-transform: rotate(-45deg);
4353
- -o-transform: rotate(-45deg);
4354
- transform: rotate(-45deg); }
4355
- input[type=range] + .thumb .value {
4356
- display: block;
4357
- width: 30px;
4358
- text-align: center;
4359
- color: #26a69a;
4360
- font-size: 0px;
4361
- -webkit-transform: rotate(45deg);
4362
- -moz-transform: rotate(45deg);
4363
- -ms-transform: rotate(45deg);
4364
- -o-transform: rotate(45deg);
4365
- transform: rotate(45deg); }
4366
- input[type=range] + .thumb.active {
4367
- border-radius: 50% 50% 50% 0; }
4368
- input[type=range] + .thumb.active .value {
4369
- color: #fff;
4370
- margin-left: -1px;
4371
- margin-top: 8px;
4372
- font-size: 10px; }
4373
-
4374
- input[type=range]:focus {
4375
- outline: none; }
4376
-
4377
- input[type=range] {
4378
- -webkit-appearance: none; }
4379
-
4380
- input[type=range]::-webkit-slider-runnable-track {
4381
- height: 3px;
4382
- background: #c2c0c2;
4383
- border: none; }
4384
-
4385
- input[type=range]::-webkit-slider-thumb {
4386
- -webkit-appearance: none;
4387
- border: none;
4388
- height: 14px;
4389
- width: 14px;
4390
- border-radius: 50%;
4391
- background-color: #26a69a;
4392
- transform-origin: 50% 50%;
4393
- margin: -5px 0 0 0;
4394
- -webkit-transition: 0.3s;
4395
- -moz-transition: 0.3s;
4396
- -o-transition: 0.3s;
4397
- -ms-transition: 0.3s;
4398
- transition: 0.3s; }
4399
-
4400
- input[type=range]:focus::-webkit-slider-runnable-track {
4401
- background: #ccc; }
4402
-
4403
- input[type=range] {
4404
- /* fix for FF unable to apply focus style bug */
4405
- border: 1px solid white;
4406
- /*required for proper track sizing in FF*/ }
4407
-
4408
- input[type=range]::-moz-range-track {
4409
- height: 3px;
4410
- background: #ddd;
4411
- border: none; }
4412
-
4413
- input[type=range]::-moz-range-thumb {
4414
- border: none;
4415
- height: 14px;
4416
- width: 14px;
4417
- border-radius: 50%;
4418
- background: #26a69a;
4419
- margin-top: -5px; }
4420
-
4421
- /*hide the outline behind the border*/
4422
- input[type=range]:-moz-focusring {
4423
- outline: 1px solid white;
4424
- outline-offset: -1px; }
4425
-
4426
- input[type=range]:focus::-moz-range-track {
4427
- background: #ccc; }
4428
-
4429
- input[type=range]::-ms-track {
4430
- height: 3px;
4431
- /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */
4432
- background: transparent;
4433
- /*leave room for the larger thumb to overflow with a transparent border */
4434
- border-color: transparent;
4435
- border-width: 6px 0;
4436
- /*remove default tick marks*/
4437
- color: transparent; }
4438
-
4439
- input[type=range]::-ms-fill-lower {
4440
- background: #777; }
4441
-
4442
- input[type=range]::-ms-fill-upper {
4443
- background: #ddd; }
4444
-
4445
- input[type=range]::-ms-thumb {
4446
- border: none;
4447
- height: 14px;
4448
- width: 14px;
4449
- border-radius: 50%;
4450
- background: #26a69a; }
4451
-
4452
- input[type=range]:focus::-ms-fill-lower {
4453
- background: #888; }
4454
-
4455
- input[type=range]:focus::-ms-fill-upper {
4456
- background: #ccc; }
4457
-
4458
- /***************************
4459
- Text Inputs + Textarea
4460
- ****************************/
4461
- /*select {
4462
- background-color: #fffafa;
4463
- width: 100%;
4464
- padding: 5px;
4465
- border: 1px solid #f2f2f2;
4466
- border-radius: 2px;
4467
- height: 3rem; }*/
4468
-
4469
- /***************
4470
- Nav List
4471
- ***************/
4472
- ul.table-of-contents.fixed {
4473
- position: fixed; }
4474
- ul.table-of-contents li {
4475
- padding: 2px 0; }
4476
- ul.table-of-contents a {
4477
- display: inline-block;
4478
- font-weight: 300;
4479
- color: #757575;
4480
- padding-left: 20px;
4481
- height: 1.5rem;
4482
- line-height: 1.5rem;
4483
- letter-spacing: 0.4;
4484
- display: inline-block; }
4485
- ul.table-of-contents a:hover {
4486
- color: #a8a8a8;
4487
- padding-left: 19px;
4488
- border-left: 1px solid #ea4a4f; }
4489
- ul.table-of-contents a.active {
4490
- font-weight: 500;
4491
- padding-left: 18px;
4492
- border-left: 2px solid #ea4a4f; }
4493
-
4494
- ul.side-nav {
4495
- position: fixed;
4496
- width: 240px;
4497
- left: -105%;
4498
- top: 0;
4499
- margin: 0;
4500
- height: 100%;
4501
- height: calc(100% + 60px);
4502
- padding-bottom: 60px;
4503
- background-color: #FFF;
4504
- z-index: 999;
4505
- will-change: left; }
4506
- ul.side-nav.right-aligned {
4507
- will-change: right;
4508
- right: -105%;
4509
- left: auto; }
4510
- ul.side-nav .collapsible {
4511
- margin: 0; }
4512
- ul.side-nav li {
4513
- float: none;
4514
- padding: 0 15px; }
4515
- ul.side-nav li:hover, ul.side-nav li.active {
4516
- background-color: #ddd; }
4517
- ul.side-nav a {
4518
- color: #444; }
4519
-
4520
- .drag-target {
4521
- height: 100%;
4522
- width: 10px;
4523
- position: fixed;
4524
- top: 0;
4525
- z-index: 998; }
4526
-
4527
- ul.side-nav.fixed a {
4528
- display: block;
4529
- padding: 0 15px;
4530
- color: #444; }
4531
-
4532
- ul.side-nav.fixed {
4533
- left: 0;
4534
- position: fixed; }
4535
- ul.side-nav.fixed.right-aligned {
4536
- right: 0;
4537
- left: auto; }
4538
-
4539
- @media only screen and (max-width : 992px) {
4540
- ul.side-nav.fixed {
4541
- left: -105%; }
4542
- ul.side-nav.fixed.right-aligned {
4543
- right: -105%;
4544
- left: auto; }
4545
- }
4546
-
4547
- ul.side-nav .collapsible-body li.active, ul.side-nav.fixed .collapsible-body li.active {
4548
- background-color: #ee6e73; }
4549
- ul.side-nav .collapsible-body li.active a, ul.side-nav.fixed .collapsible-body li.active a {
4550
- color: #fff; }
4551
-
4552
- #sidenav-overlay {
4553
- position: fixed;
4554
- top: 0px;
4555
- left: 0px;
4556
- right: 0px;
4557
- height: 120vh;
4558
- background-color: rgba(0, 0, 0, 0.5);
4559
- z-index: 997;
4560
- will-change: opacity; }
4561
-
4562
- /*
4563
- @license
4564
- Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
4565
- This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
4566
- The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
4567
- The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
4568
- Code distributed by Google as part of the polymer project is also
4569
- subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
4570
- */
4571
- /**************************/
4572
- /* STYLES FOR THE SPINNER */
4573
- /**************************/
4574
- /*
4575
- * Constants:
4576
- * STROKEWIDTH = 3px
4577
- * ARCSIZE = 270 degrees (amount of circle the arc takes up)
4578
- * ARCTIME = 1333ms (time it takes to expand and contract arc)
4579
- * ARCSTARTROT = 216 degrees (how much the start location of the arc
4580
- * should rotate each time, 216 gives us a
4581
- * 5 pointed star shape (it's 360/5 * 3).
4582
- * For a 7 pointed star, we might do
4583
- * 360/7 * 3 = 154.286)
4584
- * CONTAINERWIDTH = 28px
4585
- * SHRINK_TIME = 400ms
4586
- */
4587
- .preloader-wrapper {
4588
- display: inline-block;
4589
- position: relative;
4590
- width: 48px;
4591
- height: 48px; }
4592
- .preloader-wrapper.small {
4593
- width: 36px;
4594
- height: 36px; }
4595
- .preloader-wrapper.big {
4596
- width: 64px;
4597
- height: 64px; }
4598
- .preloader-wrapper.active {
4599
- /* duration: 360 * ARCTIME / (ARCSTARTROT + (360-ARCSIZE)) */
4600
- -webkit-animation: container-rotate 1568ms linear infinite;
4601
- animation: container-rotate 1568ms linear infinite; }
4602
-
4603
- @-webkit-keyframes container-rotate {
4604
- to {
4605
- -webkit-transform: rotate(360deg); } }
4606
-
4607
- @keyframes container-rotate {
4608
- to {
4609
- transform: rotate(360deg); } }
4610
-
4611
- .spinner-layer {
4612
- position: absolute;
4613
- width: 100%;
4614
- height: 100%;
4615
- -ms-filter: "progid:DXImageTransform@mixin Microsoft@mixin Alpha(Opacity=${iefactor})";
4616
- filter: "alpha(opacity=(${iefactor}))";
4617
- -moz-opacity: 0;
4618
- -khtml-opacity: 0;
4619
- opacity: 0; }
4620
-
4621
- .spinner-blue, .spinner-blue-only {
4622
- border-color: #4285f4; }
4623
-
4624
- .spinner-red, .spinner-red-only {
4625
- border-color: #db4437; }
4626
-
4627
- .spinner-yellow, .spinner-yellow-only {
4628
- border-color: #f4b400; }
4629
-
4630
- .spinner-green, .spinner-green-only {
4631
- border-color: #0f9d58; }
4632
-
4633
- /**
4634
- * IMPORTANT NOTE ABOUT CSS ANIMATION PROPERTIES (keanulee):
4635
- *
4636
- * iOS Safari (tested on iOS 8.1) does not handle animation-delay very well - it doesn't
4637
- * guarantee that the animation will start _exactly_ after that value. So we avoid using
4638
- * animation-delay and instead set custom keyframes for each color (as redundant as it
4639
- * seems).
4640
- *
4641
- * We write out each animation in full (instead of separating animation-name,
4642
- * animation-duration, etc.) because under the polyfill, Safari does not recognize those
4643
- * specific properties properly, treats them as -webkit-animation, and overrides the
4644
- * other animation rules. See https://github.com/Polymer/platform/issues/53.
4645
- */
4646
- .active .spinner-layer.spinner-blue {
4647
- /* durations: 4 * ARCTIME */
4648
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
4649
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; }
4650
-
4651
- .active .spinner-layer.spinner-red {
4652
- /* durations: 4 * ARCTIME */
4653
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
4654
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; }
4655
-
4656
- .active .spinner-layer.spinner-yellow {
4657
- /* durations: 4 * ARCTIME */
4658
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
4659
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; }
4660
-
4661
- .active .spinner-layer.spinner-green {
4662
- /* durations: 4 * ARCTIME */
4663
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
4664
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; }
4665
-
4666
- .active .spinner-layer.spinner-blue-only, .active .spinner-layer.spinner-red-only, .active .spinner-layer.spinner-yellow-only, .active .spinner-layer.spinner-green-only {
4667
- /* durations: 4 * ARCTIME */
4668
- -ms-filter: "progid:DXImageTransform@mixin Microsoft@mixin Alpha(Opacity=${iefactor})";
4669
- filter: "alpha(opacity=(${iefactor}))";
4670
- -moz-opacity: 1;
4671
- -khtml-opacity: 1;
4672
- opacity: 1;
4673
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
4674
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; }
4675
-
4676
- @-webkit-keyframes fill-unfill-rotate {
4677
- /* 0.5 * ARCSIZE */
4678
- /* 1 * ARCSIZE */
4679
- /* 1.5 * ARCSIZE */
4680
- /* 2 * ARCSIZE */
4681
- /* 2.5 * ARCSIZE */
4682
- /* 3 * ARCSIZE */
4683
- /* 3.5 * ARCSIZE */
4684
- /* 4 * ARCSIZE */
4685
- 12.5% {
4686
- -webkit-transform: rotate(135deg); }
4687
-
4688
- 25% {
4689
- -webkit-transform: rotate(270deg); }
4690
-
4691
- 37.5% {
4692
- -webkit-transform: rotate(405deg); }
4693
-
4694
- 50% {
4695
- -webkit-transform: rotate(540deg); }
4696
-
4697
- 62.5% {
4698
- -webkit-transform: rotate(675deg); }
4699
-
4700
- 75% {
4701
- -webkit-transform: rotate(810deg); }
4702
-
4703
- 87.5% {
4704
- -webkit-transform: rotate(945deg); }
4705
-
4706
- to {
4707
- -webkit-transform: rotate(1080deg); } }
4708
-
4709
- @keyframes fill-unfill-rotate {
4710
- /* 0.5 * ARCSIZE */
4711
- /* 1 * ARCSIZE */
4712
- /* 1.5 * ARCSIZE */
4713
- /* 2 * ARCSIZE */
4714
- /* 2.5 * ARCSIZE */
4715
- /* 3 * ARCSIZE */
4716
- /* 3.5 * ARCSIZE */
4717
- /* 4 * ARCSIZE */
4718
- 12.5% {
4719
- transform: rotate(135deg); }
4720
-
4721
- 25% {
4722
- transform: rotate(270deg); }
4723
-
4724
- 37.5% {
4725
- transform: rotate(405deg); }
4726
-
4727
- 50% {
4728
- transform: rotate(540deg); }
4729
-
4730
- 62.5% {
4731
- transform: rotate(675deg); }
4732
-
4733
- 75% {
4734
- transform: rotate(810deg); }
4735
-
4736
- 87.5% {
4737
- transform: rotate(945deg); }
4738
-
4739
- to {
4740
- transform: rotate(1080deg); } }
4741
-
4742
- @-webkit-keyframes blue-fade-in-out {
4743
- from {
4744
- opacity: 1; }
4745
-
4746
- 25% {
4747
- opacity: 1; }
4748
-
4749
- 26% {
4750
- opacity: 0; }
4751
-
4752
- 89% {
4753
- opacity: 0; }
4754
-
4755
- 90% {
4756
- opacity: 1; }
4757
-
4758
- 100% {
4759
- opacity: 1; } }
4760
-
4761
- @keyframes blue-fade-in-out {
4762
- from {
4763
- opacity: 1; }
4764
-
4765
- 25% {
4766
- opacity: 1; }
4767
-
4768
- 26% {
4769
- opacity: 0; }
4770
-
4771
- 89% {
4772
- opacity: 0; }
4773
-
4774
- 90% {
4775
- opacity: 1; }
4776
-
4777
- 100% {
4778
- opacity: 1; } }
4779
-
4780
- @-webkit-keyframes red-fade-in-out {
4781
- from {
4782
- opacity: 0; }
4783
-
4784
- 15% {
4785
- opacity: 0; }
4786
-
4787
- 25% {
4788
- opacity: 1; }
4789
-
4790
- 50% {
4791
- opacity: 1; }
4792
-
4793
- 51% {
4794
- opacity: 0; } }
4795
-
4796
- @keyframes red-fade-in-out {
4797
- from {
4798
- opacity: 0; }
4799
-
4800
- 15% {
4801
- opacity: 0; }
4802
-
4803
- 25% {
4804
- opacity: 1; }
4805
-
4806
- 50% {
4807
- opacity: 1; }
4808
-
4809
- 51% {
4810
- opacity: 0; } }
4811
-
4812
- @-webkit-keyframes yellow-fade-in-out {
4813
- from {
4814
- opacity: 0; }
4815
-
4816
- 40% {
4817
- opacity: 0; }
4818
-
4819
- 50% {
4820
- opacity: 1; }
4821
-
4822
- 75% {
4823
- opacity: 1; }
4824
-
4825
- 76% {
4826
- opacity: 0; } }
4827
-
4828
- @keyframes yellow-fade-in-out {
4829
- from {
4830
- opacity: 0; }
4831
-
4832
- 40% {
4833
- opacity: 0; }
4834
-
4835
- 50% {
4836
- opacity: 1; }
4837
-
4838
- 75% {
4839
- opacity: 1; }
4840
-
4841
- 76% {
4842
- opacity: 0; } }
4843
-
4844
- @-webkit-keyframes green-fade-in-out {
4845
- from {
4846
- opacity: 0; }
4847
-
4848
- 65% {
4849
- opacity: 0; }
4850
-
4851
- 75% {
4852
- opacity: 1; }
4853
-
4854
- 90% {
4855
- opacity: 1; }
4856
-
4857
- 100% {
4858
- opacity: 0; } }
4859
-
4860
- @keyframes green-fade-in-out {
4861
- from {
4862
- opacity: 0; }
4863
-
4864
- 65% {
4865
- opacity: 0; }
4866
-
4867
- 75% {
4868
- opacity: 1; }
4869
-
4870
- 90% {
4871
- opacity: 1; }
4872
-
4873
- 100% {
4874
- opacity: 0; } }
4875
-
4876
- /**
4877
- * Patch the gap that appear between the two adjacent div.circle-clipper while the
4878
- * spinner is rotating (appears on Chrome 38, Safari 7.1, and IE 11).
4879
- */
4880
- .gap-patch {
4881
- position: absolute;
4882
- box-sizing: border-box;
4883
- top: 0;
4884
- left: 45%;
4885
- width: 10%;
4886
- height: 100%;
4887
- overflow: hidden;
4888
- border-color: inherit; }
4889
-
4890
- .gap-patch .circle {
4891
- width: 1000%;
4892
- left: -450%; }
4893
-
4894
- .circle-clipper {
4895
- display: inline-block;
4896
- position: relative;
4897
- width: 50%;
4898
- height: 100%;
4899
- overflow: hidden;
4900
- border-color: inherit; }
4901
- .circle-clipper .circle {
4902
- width: 200%;
4903
- box-sizing: border-box;
4904
- height: 100%;
4905
- border-width: 3px;
4906
- /* STROKEWIDTH */
4907
- border-style: solid;
4908
- border-color: inherit;
4909
- border-bottom-color: transparent !important;
4910
- border-radius: 50%;
4911
- -webkit-animation: none;
4912
- animation: none;
4913
- position: absolute;
4914
- top: 0;
4915
- right: 0;
4916
- bottom: 0; }
4917
- .circle-clipper.left .circle {
4918
- left: 0;
4919
- border-right-color: transparent !important;
4920
- -webkit-transform: rotate(129deg);
4921
- transform: rotate(129deg); }
4922
- .circle-clipper.right .circle {
4923
- left: -100%;
4924
- border-left-color: transparent !important;
4925
- -webkit-transform: rotate(-129deg);
4926
- transform: rotate(-129deg); }
4927
-
4928
- .active .circle-clipper.left .circle {
4929
- /* duration: ARCTIME */
4930
- -webkit-animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
4931
- animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; }
4932
-
4933
- .active .circle-clipper.right .circle {
4934
- /* duration: ARCTIME */
4935
- -webkit-animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
4936
- animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both; }
4937
-
4938
- @-webkit-keyframes left-spin {
4939
- from {
4940
- -webkit-transform: rotate(130deg); }
4941
-
4942
- 50% {
4943
- -webkit-transform: rotate(-5deg); }
4944
-
4945
- to {
4946
- -webkit-transform: rotate(130deg); } }
4947
-
4948
- @keyframes left-spin {
4949
- from {
4950
- transform: rotate(130deg); }
4951
-
4952
- 50% {
4953
- transform: rotate(-5deg); }
4954
-
4955
- to {
4956
- transform: rotate(130deg); } }
4957
-
4958
- @-webkit-keyframes right-spin {
4959
- from {
4960
- -webkit-transform: rotate(-130deg); }
4961
-
4962
- 50% {
4963
- -webkit-transform: rotate(5deg); }
4964
-
4965
- to {
4966
- -webkit-transform: rotate(-130deg); } }
4967
-
4968
- @keyframes right-spin {
4969
- from {
4970
- transform: rotate(-130deg); }
4971
-
4972
- 50% {
4973
- transform: rotate(5deg); }
4974
-
4975
- to {
4976
- transform: rotate(-130deg); } }
4977
-
4978
- #spinnerContainer.cooldown {
4979
- /* duration: SHRINK_TIME */
4980
- -webkit-animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);
4981
- animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1); }
4982
-
4983
- @-webkit-keyframes fade-out {
4984
- from {
4985
- opacity: 1; }
4986
-
4987
- to {
4988
- opacity: 0; } }
4989
-
4990
- @keyframes fade-out {
4991
- from {
4992
- opacity: 1; }
4993
-
4994
- to {
4995
- opacity: 0; } }
4996
-
4997
- .slider {
4998
- position: relative;
4999
- height: 440px;
5000
- width: 100%; }
5001
- .slider.fullscreen {
5002
- height: 100%;
5003
- width: 100%;
5004
- position: absolute;
5005
- top: 0;
5006
- left: 0;
5007
- right: 0;
5008
- bottom: 0; }
5009
- .slider.fullscreen ul.slides {
5010
- height: 100%; }
5011
- .slider.fullscreen ul.indicators {
5012
- z-index: 2;
5013
- bottom: 30px; }
5014
- .slider ul.slides {
5015
- background-color: #9e9e9e;
5016
- margin: 0;
5017
- height: 400px; }
5018
- .slider ul.slides li {
5019
- -ms-filter: "progid:DXImageTransform@mixin Microsoft@mixin Alpha(Opacity=${iefactor})";
5020
- filter: "alpha(opacity=(${iefactor}))";
5021
- -moz-opacity: 0;
5022
- -khtml-opacity: 0;
5023
- opacity: 0;
5024
- position: absolute;
5025
- top: 0;
5026
- left: 0;
5027
- z-index: 1;
5028
- width: 100%;
5029
- height: inherit;
5030
- overflow: hidden; }
5031
- .slider ul.slides li img {
5032
- height: 100%;
5033
- width: 100%;
5034
- background-size: cover;
5035
- background-position: center; }
5036
- .slider ul.slides li .caption {
5037
- color: #fff;
5038
- position: absolute;
5039
- top: 15%;
5040
- left: 15%;
5041
- width: 70%;
5042
- -ms-filter: "progid:DXImageTransform@mixin Microsoft@mixin Alpha(Opacity=${iefactor})";
5043
- filter: "alpha(opacity=(${iefactor}))";
5044
- -moz-opacity: 0;
5045
- -khtml-opacity: 0;
5046
- opacity: 0; }
5047
- .slider ul.slides li .caption p {
5048
- color: #e0e0e0; }
5049
- .slider ul.slides li.active {
5050
- z-index: 2; }
5051
- .slider ul.indicators {
5052
- position: absolute;
5053
- text-align: center;
5054
- left: 0;
5055
- right: 0;
5056
- bottom: 0;
5057
- margin: 0; }
5058
- .slider ul.indicators li.indicator-item {
5059
- display: inline-block;
5060
- position: relative;
5061
- cursor: pointer;
5062
- height: 16px;
5063
- width: 16px;
5064
- margin: 0 12px;
5065
- background-color: #e0e0e0;
5066
- -webkit-transition: background-color 0.3s;
5067
- -moz-transition: background-color 0.3s;
5068
- -o-transition: background-color 0.3s;
5069
- -ms-transition: background-color 0.3s;
5070
- transition: background-color 0.3s;
5071
- -webkit-border-radius: 50%;
5072
- -moz-border-radius: 50%;
5073
- border-radius: 50%;
5074
- background-clip: padding-box; }
5075
- .slider ul.indicators li.indicator-item.active {
5076
- background-color: #4CAF50; }
5077
-
5078
- /* ==========================================================================
5079
- $BASE-PICKER
5080
- ========================================================================== */
5081
- /**
5082
- * Note: the root picker element should *NOT* be styled more than what's here.
5083
- */
5084
- .picker {
5085
- font-size: 16px;
5086
- text-align: left;
5087
- line-height: 1.2;
5088
- color: #000000;
5089
- position: absolute;
5090
- z-index: 10000;
5091
- -webkit-user-select: none;
5092
- -moz-user-select: none;
5093
- -ms-user-select: none;
5094
- user-select: none; }
5095
-
5096
- /**
5097
- * The picker input element.
5098
- */
5099
- .picker__input {
5100
- cursor: default; }
5101
-
5102
- /**
5103
- * When the picker is opened, the input element is "activated".
5104
- */
5105
- .picker__input.picker__input--active {
5106
- border-color: #0089ec; }
5107
-
5108
- /**
5109
- * The holder is the only "scrollable" top-level container element.
5110
- */
5111
- .picker__holder {
5112
- width: 100%;
5113
- overflow-y: auto;
5114
- -webkit-overflow-scrolling: touch; }
5115
-
5116
- /*!
5117
- * Default mobile-first, responsive styling for pickadate.js
5118
- * Demo: http://amsul.github.io/pickadate.js
5119
- */
5120
- /**
5121
- * Note: the root picker element should *NOT* be styled more than what's here.
5122
- */
5123
- /**
5124
- * Make the holder and frame fullscreen.
5125
- */
5126
- .picker__holder, .picker__frame {
5127
- bottom: 0;
5128
- left: 0;
5129
- right: 0;
5130
- top: 100%; }
5131
-
5132
- /**
5133
- * The holder should overlay the entire screen.
5134
- */
5135
- .picker__holder {
5136
- position: fixed;
5137
- -webkit-transition: background 0.15s ease-out, top 0s 0.15s;
5138
- -moz-transition: background 0.15s ease-out, top 0s 0.15s;
5139
- transition: background 0.15s ease-out, top 0s 0.15s;
5140
- -webkit-backface-visibility: hidden; }
5141
-
5142
- /**
5143
- * The frame that bounds the box contents of the picker.
5144
- */
5145
- .picker__frame {
5146
- position: absolute;
5147
- margin: 0 auto;
5148
- min-width: 256px;
5149
- max-width: 300px;
5150
- max-height: 350px;
5151
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
5152
- filter: alpha(opacity=0);
5153
- -moz-opacity: 0;
5154
- opacity: 0;
5155
- -webkit-transition: all 0.15s ease-out;
5156
- -moz-transition: all 0.15s ease-out;
5157
- transition: all 0.15s ease-out; }
5158
-
5159
- @media (min-height: 28.875em) {
5160
- .picker__frame {
5161
- overflow: visible;
5162
- top: auto;
5163
- bottom: -100%;
5164
- max-height: 80%; }
5165
- }
5166
-
5167
- @media (min-height: 40.125em) {
5168
- .picker__frame {
5169
- margin-bottom: 7.5%; }
5170
- }
5171
-
5172
- /**
5173
- * The wrapper sets the stage to vertically align the box contents.
5174
- */
5175
- .picker__wrap {
5176
- display: table;
5177
- width: 100%;
5178
- height: 100%; }
5179
-
5180
- @media (min-height: 28.875em) {
5181
- .picker__wrap {
5182
- display: block; }
5183
- }
5184
-
5185
- /**
5186
- * The box contains all the picker contents.
5187
- */
5188
- .picker__box {
5189
- background: #ffffff;
5190
- display: table-cell;
5191
- vertical-align: middle; }
5192
-
5193
- @media (min-height: 28.875em) {
5194
- .picker__box {
5195
- display: block;
5196
- border: 1px solid #777777;
5197
- border-top-color: #898989;
5198
- border-bottom-width: 0;
5199
- -webkit-border-radius: 5px 5px 0 0;
5200
- -moz-border-radius: 5px 5px 0 0;
5201
- border-radius: 5px 5px 0 0;
5202
- -webkit-box-shadow: 0 12px 36px 16px rgba(0, 0, 0, 0.24);
5203
- -moz-box-shadow: 0 12px 36px 16px rgba(0, 0, 0, 0.24);
5204
- box-shadow: 0 12px 36px 16px rgba(0, 0, 0, 0.24); }
5205
- }
5206
-
5207
- /**
5208
- * When the picker opens...
5209
- */
5210
- .picker--opened .picker__holder {
5211
- top: 0;
5212
- background: transparent;
5213
- -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#1E000000,endColorstr=#1E000000)";
5214
- zoom: 1;
5215
- background: rgba(0, 0, 0, 0.32);
5216
- -webkit-transition: background 0.15s ease-out;
5217
- -moz-transition: background 0.15s ease-out;
5218
- transition: background 0.15s ease-out; }
5219
-
5220
- .picker--opened .picker__frame {
5221
- top: 0;
5222
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
5223
- filter: alpha(opacity=100);
5224
- -moz-opacity: 1;
5225
- opacity: 1; }
5226
-
5227
- @media (min-height: 35.875em) {
5228
- .picker--opened .picker__frame {
5229
- top: 10%;
5230
- bottom: 20% auto; }
5231
- }
5232
-
5233
- /**
5234
- * For `large` screens, transform into an inline picker.
5235
- */
5236
- /* ==========================================================================
5237
- CUSTOM MATERIALIZE STYLES
5238
- ========================================================================== */
5239
- .picker__input.picker__input--active {
5240
- border-color: #E3F2FD; }
5241
-
5242
- .picker__frame {
5243
- margin: 0 auto;
5244
- max-width: 325px; }
5245
-
5246
- @media (min-height: 38.875em) {
5247
- .picker--opened .picker__frame {
5248
- top: 10%;
5249
- bottom: auto; }
5250
- }
5251
-
5252
- /* ==========================================================================
5253
- $BASE-DATE-PICKER
5254
- ========================================================================== */
5255
- /**
5256
- * The picker box.
5257
- */
5258
- .picker__box {
5259
- padding: 0 1em; }
5260
-
5261
- /**
5262
- * The header containing the month and year stuff.
5263
- */
5264
- .picker__header {
5265
- text-align: center;
5266
- position: relative;
5267
- margin-top: 0.75em; }
5268
-
5269
- /**
5270
- * The month and year labels.
5271
- */
5272
- .picker__month, .picker__year {
5273
- display: inline-block;
5274
- margin-left: 0.25em;
5275
- margin-right: 0.25em; }
5276
-
5277
- /**
5278
- * The month and year selectors.
5279
- */
5280
- .picker__select--month, .picker__select--year {
5281
- height: 2em;
5282
- padding: 0.5em;
5283
- margin-left: 0.25em;
5284
- margin-right: 0.25em; }
5285
-
5286
- @media (min-width: 24.5em) {
5287
- .picker__select--month, .picker__select--year {
5288
- margin-top: -0.5em; }
5289
- }
5290
-
5291
- .picker__select--month.browser-default {
5292
- display: inline;
5293
- background-color: #FFFFFF;
5294
- width: 40%; }
5295
-
5296
- .picker__select--year.browser-default {
5297
- display: inline;
5298
- background-color: #FFFFFF;
5299
- width: 25%; }
5300
-
5301
- .picker__select--month:focus, .picker__select--year:focus {
5302
- border-color: rgba(0, 0, 0, 0.05); }
5303
-
5304
- /**
5305
- * The month navigation buttons.
5306
- */
5307
- .picker__nav--prev, .picker__nav--next {
5308
- position: absolute;
5309
- padding: 0.5em 1.25em;
5310
- width: 1em;
5311
- height: 1em;
5312
- box-sizing: content-box;
5313
- top: -0.25em; }
5314
-
5315
- .picker__nav--prev {
5316
- left: -1em;
5317
- padding-right: 1.25em; }
5318
-
5319
- .picker__nav--next {
5320
- right: -1em;
5321
- padding-left: 1.25em; }
5322
-
5323
- .picker__nav--disabled, .picker__nav--disabled:hover, .picker__nav--disabled:before, .picker__nav--disabled:before:hover {
5324
- cursor: default;
5325
- background: none;
5326
- border-right-color: #f5f5f5;
5327
- border-left-color: #f5f5f5; }
5328
-
5329
- /**
5330
- * The calendar table of dates
5331
- */
5332
- .picker__table {
5333
- text-align: center;
5334
- border-collapse: collapse;
5335
- border-spacing: 0;
5336
- table-layout: fixed;
5337
- font-size: 1rem;
5338
- width: 100%;
5339
- margin-top: 0.75em;
5340
- margin-bottom: 0.5em; }
5341
-
5342
- .picker__table th, .picker__table td {
5343
- text-align: center; }
5344
-
5345
- .picker__table td {
5346
- margin: 0;
5347
- padding: 0; }
5348
-
5349
- /**
5350
- * The weekday labels
5351
- */
5352
- .picker__weekday {
5353
- width: 14.285714286%;
5354
- font-size: 0.75em;
5355
- padding-bottom: 0.25em;
5356
- color: #999999;
5357
- font-weight: 500;
5358
- /* Increase the spacing a tad */ }
5359
-
5360
- @media (min-height: 33.875em) {
5361
- .picker__weekday {
5362
- padding-bottom: 0.5em; }
5363
- }
5364
-
5365
- /**
5366
- * The days on the calendar
5367
- */
5368
- .picker__day--today {
5369
- position: relative;
5370
- color: #595959;
5371
- letter-spacing: -0.3;
5372
- padding: 0.75rem 0;
5373
- font-weight: 400;
5374
- border: 1px solid transparent; }
5375
-
5376
- .picker__day--disabled:before {
5377
- border-top-color: #aaaaaa; }
5378
-
5379
- .picker__day--infocus:hover {
5380
- cursor: pointer;
5381
- color: #000;
5382
- font-weight: 500; }
5383
-
5384
- .picker__day--outfocus {
5385
- padding: 0.75rem 0;
5386
- color: #fff; }
5387
-
5388
- .picker__day--outfocus:hover {
5389
- cursor: pointer;
5390
- color: #dddddd;
5391
- font-weight: 500; }
5392
-
5393
- .picker__day--highlighted:hover, .picker--focused .picker__day--highlighted {
5394
- cursor: pointer; }
5395
-
5396
- .picker__day--selected, .picker__day--selected:hover, .picker--focused .picker__day--selected {
5397
- border-radius: 50%;
5398
- -webkit-transform: scale(0.75);
5399
- -moz-transform: scale(0.75);
5400
- -ms-transform: scale(0.75);
5401
- -o-transform: scale(0.75);
5402
- transform: scale(0.75);
5403
- background: #0089ec;
5404
- color: #ffffff; }
5405
-
5406
- .picker__day--disabled, .picker__day--disabled:hover, .picker--focused .picker__day--disabled {
5407
- background: #f5f5f5;
5408
- border-color: #f5f5f5;
5409
- color: #dddddd;
5410
- cursor: default; }
5411
-
5412
- .picker__day--highlighted.picker__day--disabled, .picker__day--highlighted.picker__day--disabled:hover {
5413
- background: #bbbbbb; }
5414
-
5415
- /**
5416
- * The footer containing the "today", "clear", and "close" buttons.
5417
- */
5418
- .picker__footer {
5419
- text-align: center;
5420
- display: flex;
5421
- align-items: center;
5422
- justify-content: space-between; }
5423
-
5424
- .picker__button--today, .picker__button--clear, .picker__button--close {
5425
- border: 1px solid #ffffff;
5426
- background: #ffffff;
5427
- font-size: 0.8em;
5428
- padding: 0.66em 0;
5429
- font-weight: bold;
5430
- width: 33%;
5431
- display: inline-block;
5432
- vertical-align: bottom; }
5433
-
5434
- .picker__button--today:hover, .picker__button--clear:hover, .picker__button--close:hover {
5435
- cursor: pointer;
5436
- color: #000000;
5437
- background: #b1dcfb;
5438
- border-bottom-color: #b1dcfb; }
5439
-
5440
- .picker__button--today:focus, .picker__button--clear:focus, .picker__button--close:focus {
5441
- background: #b1dcfb;
5442
- border-color: rgba(0, 0, 0, 0.05);
5443
- outline: none; }
5444
-
5445
- .picker__button--today:before, .picker__button--clear:before, .picker__button--close:before {
5446
- position: relative;
5447
- display: inline-block;
5448
- height: 0; }
5449
-
5450
- .picker__button--today:before, .picker__button--clear:before {
5451
- content: " ";
5452
- margin-right: 0.45em; }
5453
-
5454
- .picker__button--today:before {
5455
- top: -0.05em;
5456
- width: 0;
5457
- border-top: 0.66em solid #0059bc;
5458
- border-left: 0.66em solid transparent; }
5459
-
5460
- .picker__button--clear:before {
5461
- top: -0.25em;
5462
- width: 0.66em;
5463
- border-top: 3px solid #ee2200; }
5464
-
5465
- .picker__button--close:before {
5466
- content: "\D7";
5467
- top: -0.1em;
5468
- vertical-align: top;
5469
- font-size: 1.1em;
5470
- margin-right: 0.35em;
5471
- color: #777777; }
5472
-
5473
- .picker__button--today[disabled], .picker__button--today[disabled]:hover {
5474
- background: #f5f5f5;
5475
- border-color: #f5f5f5;
5476
- color: #dddddd;
5477
- cursor: default; }
5478
-
5479
- .picker__button--today[disabled]:before {
5480
- border-top-color: #aaaaaa; }
5481
-
5482
- /* ==========================================================================
5483
- CUSTOM MATERIALIZE STYLES
5484
- ========================================================================== */
5485
- .picker__box {
5486
- border-radius: 2px;
5487
- overflow: hidden; }
5488
-
5489
- .picker__date-display {
5490
- text-align: center;
5491
- background-color: #26a69a;
5492
- color: #fff;
5493
- padding-bottom: 15px;
5494
- font-weight: 300; }
5495
-
5496
- .picker__nav--prev:hover, .picker__nav--next:hover {
5497
- cursor: pointer;
5498
- color: #000000;
5499
- background: #a1ded8; }
5500
-
5501
- .picker__weekday-display {
5502
- background-color: #1f897f;
5503
- padding: 10px;
5504
- font-weight: 200;
5505
- letter-spacing: 0.5;
5506
- font-size: 1rem;
5507
- margin-bottom: 15px; }
5508
-
5509
- .picker__month-display {
5510
- text-transform: uppercase;
5511
- font-size: 2rem; }
5512
-
5513
- .picker__day-display {
5514
- font-size: 4.5rem;
5515
- font-weight: 400; }
5516
-
5517
- .picker__year-display {
5518
- font-size: 1.8rem;
5519
- color: rgba(255, 255, 255, 0.4); }
5520
-
5521
- .picker__box {
5522
- padding: 0; }
5523
-
5524
- .picker__calendar-container {
5525
- padding: 0 1rem; }
5526
- .picker__calendar-container thead {
5527
- border: none; }
5528
-
5529
- .picker__table {
5530
- margin-top: 0;
5531
- margin-bottom: 0.5em; }
5532
-
5533
- .picker__day--infocus {
5534
- color: #595959;
5535
- letter-spacing: -0.3;
5536
- padding: 0.75rem 0;
5537
- font-weight: 400;
5538
- border: 1px solid transparent; }
5539
-
5540
- .picker__day.picker__day--today {
5541
- color: #26a69a; }
5542
-
5543
- .picker__day.picker__day--today.picker__day--selected {
5544
- color: #fff; }
5545
-
5546
- .picker__weekday {
5547
- font-size: 0.9rem; }
5548
-
5549
- .picker__day--selected, .picker__day--selected:hover, .picker--focused .picker__day--selected {
5550
- border-radius: 50%;
5551
- -webkit-transform: scale(0.9);
5552
- -moz-transform: scale(0.9);
5553
- -ms-transform: scale(0.9);
5554
- -o-transform: scale(0.9);
5555
- transform: scale(0.9);
5556
- background-color: #26a69a;
5557
- color: #ffffff; }
5558
- .picker__day--selected.picker__day--outfocus, .picker__day--selected:hover.picker__day--outfocus, .picker--focused .picker__day--selected.picker__day--outfocus {
5559
- background-color: #a1ded8; }
5560
-
5561
- .picker__footer {
5562
- text-align: right;
5563
- padding: 5px 10px; }
5564
-
5565
- .picker__close, .picker__today {
5566
- font-size: 1.1rem;
5567
- padding: 0 1rem;
5568
- color: #26a69a; }
5569
-
5570
- .picker__nav--prev:before, .picker__nav--next:before {
5571
- content: " ";
5572
- border-top: 0.5em solid transparent;
5573
- border-bottom: 0.5em solid transparent;
5574
- border-right: 0.75em solid #676767;
5575
- width: 0;
5576
- height: 0;
5577
- display: block;
5578
- margin: 0 auto; }
5579
-
5580
- .picker__nav--next:before {
5581
- border-right: 0;
5582
- border-left: 0.75em solid #676767; }
5583
-
5584
- button.picker__today:focus, button.picker__clear:focus, button.picker__close:focus {
5585
- background-color: #a1ded8; }
5586
-
5587
- /* ==========================================================================
5588
- $BASE-TIME-PICKER
5589
- ========================================================================== */
5590
- /**
5591
- * The list of times.
5592
- */
5593
- .picker__list {
5594
- list-style: none;
5595
- padding: 0.75em 0 4.2em;
5596
- margin: 0; }
5597
-
5598
- /**
5599
- * The times on the clock.
5600
- */
5601
- .picker__list-item {
5602
- border-bottom: 1px solid #dddddd;
5603
- border-top: 1px solid #dddddd;
5604
- margin-bottom: -1px;
5605
- position: relative;
5606
- background: #ffffff;
5607
- padding: 0.75em 1.25em; }
5608
-
5609
- @media (min-height: 46.75em) {
5610
- .picker__list-item {
5611
- padding: 0.5em 1em; }
5612
- }
5613
-
5614
- /* Hovered time */
5615
- .picker__list-item:hover {
5616
- cursor: pointer;
5617
- color: #000000;
5618
- background: #b1dcfb;
5619
- border-color: #0089ec;
5620
- z-index: 10; }
5621
-
5622
- /* Highlighted and hovered/focused time */
5623
- .picker__list-item--highlighted {
5624
- border-color: #0089ec;
5625
- z-index: 10; }
5626
-
5627
- .picker__list-item--highlighted:hover, .picker--focused .picker__list-item--highlighted {
5628
- cursor: pointer;
5629
- color: #000000;
5630
- background: #b1dcfb; }
5631
-
5632
- /* Selected and hovered/focused time */
5633
- .picker__list-item--selected, .picker__list-item--selected:hover, .picker--focused .picker__list-item--selected {
5634
- background: #0089ec;
5635
- color: #ffffff;
5636
- z-index: 10; }
5637
-
5638
- /* Disabled time */
5639
- .picker__list-item--disabled, .picker__list-item--disabled:hover, .picker--focused .picker__list-item--disabled {
5640
- background: #f5f5f5;
5641
- border-color: #f5f5f5;
5642
- color: #dddddd;
5643
- cursor: default;
5644
- border-color: #dddddd;
5645
- z-index: auto; }
5646
-
5647
- /**
5648
- * The clear button
5649
- */
5650
- .picker--time .picker__button--clear {
5651
- display: block;
5652
- width: 80%;
5653
- margin: 1em auto 0;
5654
- padding: 1em 1.25em;
5655
- background: none;
5656
- border: 0;
5657
- font-weight: 500;
5658
- font-size: 0.67em;
5659
- text-align: center;
5660
- text-transform: uppercase;
5661
- color: #666; }
5662
-
5663
- .picker--time .picker__button--clear:hover, .picker--time .picker__button--clear:focus {
5664
- color: #000000;
5665
- background: #b1dcfb;
5666
- background: #ee2200;
5667
- border-color: #ee2200;
5668
- cursor: pointer;
5669
- color: #ffffff;
5670
- outline: none; }
5671
-
5672
- .picker--time .picker__button--clear:before {
5673
- top: -0.25em;
5674
- color: #666;
5675
- font-size: 1.25em;
5676
- font-weight: bold; }
5677
-
5678
- .picker--time .picker__button--clear:hover:before, .picker--time .picker__button--clear:focus:before {
5679
- color: #ffffff; }
5680
-
5681
- /* ==========================================================================
5682
- $DEFAULT-TIME-PICKER
5683
- ========================================================================== */
5684
- /**
5685
- * The frame the bounds the time picker.
5686
- */
5687
- .picker--time .picker__frame {
5688
- min-width: 256px;
5689
- max-width: 320px; }
5690
-
5691
- /**
5692
- * The picker box.
5693
- */
5694
- .picker--time .picker__box {
5695
- font-size: 1em;
5696
- background: #f2f2f2;
5697
- padding: 0; }
5698
-
5699
- @media (min-height: 40.125em) {
5700
- .picker--time .picker__box {
5701
- margin-bottom: 5em; }
5702
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/css/style.css DELETED
@@ -1,1482 +0,0 @@
1
- @charset "UTF-8";
2
-
3
- @font-face {
4
- font-family: "modula-icons";
5
- src:url("../font/modula/modula-icons.eot");
6
- src:url("../font/modula/modula-icons.eot?#iefix") format("embedded-opentype"),
7
- url("../font/modula/modula-icons.woff") format("woff"),
8
- url("../font/modula/modula-icons.ttf") format("truetype"),
9
- url("../font/modula/modula-icons.svg#modula-icons") format("svg");
10
- font-weight: normal;
11
- font-style: normal;
12
-
13
- }
14
-
15
- @font-face {
16
- font-family: 'Roboto';
17
- src: url('../font/roboto/Roboto-Regular-webfont.eot');
18
- src: url('../font/roboto/Roboto-Regular-webfont.eot?#iefix') format('embedded-opentype'),
19
- url('../font/roboto/Roboto-Regular-webfont.woff') format('woff'),
20
- url('../font/roboto/Roboto-Regular-webfont.ttf') format('truetype'),
21
- url('../font/roboto/Roboto-Regular-webfont.svg#robotoregular') format('svg');
22
- font-weight: normal;
23
- font-style: normal;
24
-
25
- }
26
-
27
-
28
-
29
- [data-icon]:before {
30
- font-family: "modula-icons" !important;
31
- content: attr(data-icon);
32
- font-style: normal !important;
33
- font-weight: normal !important;
34
- font-variant: normal !important;
35
- text-transform: none !important;
36
- speak: none;
37
- line-height: 1;
38
- -webkit-font-smoothing: antialiased;
39
- -moz-osx-font-smoothing: grayscale;
40
- }
41
-
42
- [class^="icon-"]:before,
43
- [class*=" icon-"]:before {
44
- font-family: "modula-icons" !important;
45
- font-style: normal !important;
46
- font-weight: normal !important;
47
- font-variant: normal !important;
48
- text-transform: none !important;
49
- speak: none;
50
- line-height: 1;
51
- -webkit-font-smoothing: antialiased;
52
- -moz-osx-font-smoothing: grayscale;
53
- }
54
-
55
- .icon-facebook:before {
56
- content: "a";
57
- }
58
- .icon-pinterest:before {
59
- content: "b";
60
- }
61
- .icon-twitter:before {
62
- content: "c";
63
- }
64
- .icon-google-plus:before {
65
- content: "d";
66
- }
67
- .icon-save-disk:before {
68
- content: "e";
69
- }
70
- .icon-angle-up:before {
71
- content: "f";
72
- }
73
- .icon-plus:before {
74
- content: "g";
75
- }
76
- .icon-check-mark-2:before {
77
- content: "h";
78
- }
79
- .icon-chevron-right:before {
80
- content: "i";
81
- }
82
- .dark-content{
83
- opacity: 0.5;
84
- }
85
- body
86
- {
87
- margin:0px;
88
- padding-bottom: 65px;
89
- float: left;
90
- width: 100%;
91
- overflow: visible!important;
92
- }
93
- .image-size-section
94
- {
95
- margin: 10px;
96
- padding: 5px;
97
- }
98
- strong {
99
- font-weight:700;
100
- }
101
-
102
- /*.shortcode-section
103
- {
104
- margin: 48px 0;
105
- padding-left: 43px;
106
- font-size: 1rem;
107
- }*/
108
-
109
- .image-size-section select{
110
- margin-top: 5px;
111
- width: 100%;
112
- }
113
- .page-footer .progress {
114
- display: none;
115
- }
116
- .hide
117
- {
118
- display: none;
119
- }
120
- .editimage-right
121
- {
122
- float:right;
123
- width:60%;
124
- display: block;
125
- margin-left:5px;
126
- }
127
- #image-panel textarea
128
- {
129
- color:black;
130
- }
131
- #image-panel select:not([name=halign]):not([name=valign])
132
- {
133
- width:100%;
134
- }
135
- #image-panel select
136
- {
137
- color:black;
138
- }
139
- .text-input
140
- {
141
- border:1px solid #aaa;
142
- width: 100%;
143
- display: block;
144
- }
145
- .label-text
146
- {
147
- color:black;
148
- font-size: 1rem;
149
- margin: 0px 5px 0px 0px;
150
- font-weight: bold;
151
- }
152
- .label-panel
153
- {
154
- width: 80px;
155
- float:left;
156
- }
157
- .shortpixel {
158
- display: block;
159
- }
160
- .shortpixel img {
161
- position:relative;
162
- top:5px;
163
- }
164
- .dropdown-menu
165
- {
166
- width: 100%;
167
- }
168
- #modula-wizard {
169
- margin: 40px auto;
170
- padding: 20px;
171
- max-width: 600px;
172
- box-shadow: #ccc 0px 0px 40px;
173
- border-radius: 4px;
174
- background: #fff;
175
- }
176
- #modula-wizard fieldset {
177
- border: 0;
178
- display: none;
179
- }
180
- #modula-wizard fieldset:first-of-type {
181
- display: block;
182
- }
183
- #modula-wizard fieldset select {
184
- height: 3rem;
185
- }
186
- #modula-wizard h1 {
187
- font-size: 32px;
188
- text-transform: uppercase;
189
- text-align: center;
190
- margin: 0;
191
- }
192
- #modula-wizard h1 small {
193
- font-size: 12px;
194
- }
195
- #modula-wizard h2 {
196
- font-size: 16px;
197
- text-transform: uppercase;
198
- text-align: center;
199
- margin: 0;
200
- margin-bottom: 50px;
201
- line-height: 1;
202
- }
203
- #modula-wizard h5 {
204
- margin-bottom: 20px;
205
- }
206
- #modula-wizard .field {
207
- margin-bottom: 40px;
208
- }
209
- #modula-wizard .images {
210
- padding: 10px;
211
- max-height: 300px;
212
- overflow: auto;
213
- }
214
- #modula-wizard .images .tile {
215
- margin: 0 10px 10px 0;
216
- width: 23%;
217
- display: inline-block;
218
- position: relative;
219
- }
220
- #modula-wizard .images .tile img {
221
- width: 100%;
222
- }
223
- #modula-wizard .images .tile a {
224
- position: absolute;
225
- top: -5px;
226
- right: -5px;
227
- z-index: 10;
228
- display: none;
229
- width: 26px;
230
- height: 26px;
231
- line-height: 26px;
232
- }
233
-
234
- #modula-wizard .images .tile a i {
235
- line-height: 26px;
236
- font-size: 1.2rem;
237
- }
238
- #modula-wizard .images .tile:hover a {
239
- display: block;
240
- }
241
- #modula-wizard .images .tile:nth-child(4n) {
242
- margin-right: 0;
243
- }
244
- #modula-wizard footer {
245
- background: transparent;
246
- text-align: right;
247
- }
248
- #modula-wizard footer .prev {
249
- visibility: hidden;
250
- }
251
- #wpcontent {
252
- padding-left: 0;
253
- }
254
- #gallery-list {
255
- margin-top: 2rem;
256
- }
257
- #gallery-list .card {
258
- background-color: #6C838B;
259
- padding: 0;
260
- border: none !important;
261
- }
262
- #gallery-list .card .data {
263
- background-size: cover;
264
- background-position: 50% 50%;
265
- }
266
-
267
- .waves-light.btn {
268
- color: #fff;
269
- }
270
- .waves-light.btn:hover {
271
- color: #fff;
272
- }
273
- .card {
274
- padding: 0;
275
- min-width: 0;
276
- max-width: 999em;
277
- }
278
- #top {
279
- padding: 1rem 0 3rem 40px;
280
- /*background-image: url('../images/colors.jpg');*/
281
- background-repeat: repeat-x;
282
- background-position: left bottom;
283
- font-family: Roboto, 'sans-serif';
284
- }
285
- #top h1 {
286
- color: #fff;
287
- font-size: 3.4rem;
288
- margin: 16px 0 25px 0;
289
- font-weight: 300;
290
- }
291
- #top h1 small {
292
- font-size: 1rem;
293
- }
294
- #top h4 {
295
- margin: 17px 0 13px 0;
296
- }
297
- #support-page {
298
- background: #fff;
299
- font-family: Roboto, 'sans-serif';
300
- padding: 40px;
301
- }
302
- .widefat .edit_image_form td {
303
- border-bottom: 0;
304
- border-top: 0;
305
- }
306
-
307
- .widefat th, .widefat td {
308
- overflow: visible;
309
- }
310
-
311
- .widefat tfoot th:first-of-type {
312
- -webkit-border-bottom-left-radius: 0;
313
- border-bottom-left-radius: 0;
314
- }
315
- .widefat tfoot th:last-of-type {
316
- -webkit-border-bottom-right-radius: 0;
317
- border-bottom-rigth-radius: 0;
318
- }
319
- .widefat thead th:first-of-type {
320
- -webkit-border-top-left-radius: 0;
321
- border-bottom-top-radius: 0;
322
- }
323
- .widefat thead th:last-of-type {
324
- -webkit-border-top-rigth-radius: 0;
325
- border-top-right-radius: 0;
326
- }
327
-
328
- #wpcontent {
329
- margin-left: 146px;
330
- padding-left: 20px;
331
- }
332
- #support-page p {
333
- font-size: 16px;
334
- color: #666;
335
- }
336
- #support-page ul {
337
- margin: 40px 20px;
338
- }
339
- #support-page ul li {
340
- list-style-type: circle;
341
- font-size: 18px;
342
- line-height: 1.5;
343
- }
344
- #support-page .buttons {
345
- margin-top: 40px;
346
- }
347
- .ui-dialog.noTitle .ui-dialog-titlebar {
348
- display: none;
349
- }
350
- .modula-header
351
- {
352
- background-color: #51AD31;
353
- margin-left:-10px;
354
- }
355
-
356
- .modula-header h1
357
- {
358
- font-weight: bolder !important;
359
- }
360
- .modula-header h4
361
- {
362
- color: white;
363
- }
364
-
365
- .ui-dialog .loading {
366
- background: url(../loading.gif) no-repeat;
367
- width: 220px;
368
- height: 19px;
369
- margin:50px auto 0 auto;
370
- }
371
- .collapsible {
372
- padding:20px 70px 0px 40px !important;
373
- border: none !important;
374
- box-shadow: none !important;
375
- }
376
- .bd .gallery-hd {
377
- margin: 60px 0;
378
- }
379
- .bd .gallery-hd code {
380
- font-size: 1rem;
381
- }
382
- .input-field {
383
- margin-bottom: 20px;
384
- }
385
- .input-field label {
386
- left: 0;
387
- }
388
- #ftg-wizard {
389
- margin: 40px auto;
390
- padding: 20px;
391
- max-width: 600px;
392
- box-shadow: #ccc 0px 0px 40px;
393
- border-radius: 4px;
394
- background: #fff;
395
- }
396
- #ftg-wizard fieldset {
397
- border: 0;
398
- display: none;
399
- }
400
- #ftg-wizard fieldset:first-of-type {
401
- display: block;
402
- }
403
- #ftg-wizard fieldset select {
404
- height: 3rem;
405
- }
406
- #ftg-wizard h1 {
407
- font-size: 32px;
408
- text-transform: uppercase;
409
- text-align: center;
410
- margin: 0;
411
- }
412
- #ftg-wizard h1 small {
413
- font-size: 12px;
414
- }
415
- #ftg-wizard h2 {
416
- font-size: 16px;
417
- text-transform: uppercase;
418
- text-align: center;
419
- margin: 0;
420
- margin-bottom: 50px;
421
- line-height: 1;
422
- }
423
- #ftg-wizard h5 {
424
- margin-bottom: 20px;
425
- }
426
- #ftg-wizard .field {
427
- margin-bottom: 40px;
428
- }
429
- #ftg-wizard .images {
430
- padding: 10px;
431
- max-height: 300px;
432
- overflow: auto;
433
- }
434
- #ftg-wizard .images .tile {
435
- margin: 0 10px 10px 0;
436
- width: 23%;
437
- display: inline-block;
438
- position: relative;
439
- }
440
- #ftg-wizard .images .tile img {
441
- width: 100%;
442
- }
443
- #ftg-wizard .images .tile a {
444
- position: absolute;
445
- top: -5px;
446
- right: -5px;
447
- z-index: 10;
448
- display: none;
449
- width: 26px;
450
- height: 26px;
451
- line-height: 26px;
452
- }
453
- #ftg-wizard .images .tile a i {
454
- line-height: 26px;
455
- font-size: 1.2rem;
456
- }
457
- #ftg-wizard .images .tile:hover a {
458
- display: block;
459
- }
460
- #ftg-wizard .images .tile:nth-child(4n) {
461
- margin-right: 0;
462
- }
463
- #ftg-wizard footer {
464
- background: transparent;
465
- text-align: right;
466
- }
467
- #ftg-wizard footer .prev {
468
- visibility: hidden;
469
- }
470
- #ftg-wizard .loading {
471
- display: none;
472
- }
473
- .modal p {
474
- font-size: 16px;
475
- }
476
- .modal #modal-close
477
- {
478
- float: right;
479
- }
480
- .modal .code {
481
- display: block;
482
- margin: 20px;
483
- padding: 10px;
484
- font-size: 16px;
485
- }
486
- .modal a {
487
- outline: 0;
488
- }
489
- .modal .modal-content,
490
- .modal .modal-footer {
491
- background: #fff;
492
- }
493
- #gallery-list .card p {
494
- height: 40px;
495
- overflow: hidden;
496
- padding: 4px 8px;
497
- border-radius: 4px;
498
- }
499
- #gallery-list .card .card-action {
500
- padding: 5px 5px;
501
- text-align: center;
502
- border:0;
503
- }
504
- #gallery-list .card.with-image .card-action a {
505
- transition:all .2s;
506
- }
507
- #gallery-list .card .card-action a {
508
- margin: 0 10px;
509
- font-size: 20px;
510
- color: #fff;
511
- padding: 4px;
512
- }
513
- #gallery-list .card .card-image {
514
- display: inline-block;
515
- width: 150px;
516
- height: 150px;
517
- overflow: hidden;
518
- }
519
- #gallery-list .card .card-content {
520
- height: 180px;
521
- cursor: pointer;
522
- letter-spacing: 0.3px;
523
- }
524
- #gallery-list .card.with-image .card-action,
525
- #gallery-list .card.with-image .card-content {
526
- background: rgba(0, 0, 0, .30);
527
- transition:background .4s;
528
- }
529
- #gallery-list .card.with-image:hover .card-action,
530
- #gallery-list .card.with-image:hover .card-content {
531
- background: rgba(0, 0, 0, .60);
532
- }
533
- #gallery-list .card .card-title {
534
- line-height: 32px;
535
- margin-bottom: 18px;
536
- display: block;
537
- font-weight: 400;
538
- padding: 4px 8px;
539
- border-radius: 4px;
540
- }
541
-
542
- #edit-gallery .tab {
543
- padding: 20px;
544
- }
545
- #edit-gallery label {
546
- color: #333;
547
- font-size: 1rem;
548
- top: 0.1rem;
549
- height: auto;
550
- }
551
- #edit-gallery .input-field {
552
- margin-bottom: 0;
553
- }
554
- #edit-gallery .input-field input[type=text],
555
- #edit-gallery .input-field input[type=password],
556
- #edit-gallery .input-field input[type=email],
557
- #edit-gallery .input-field input[type=url],
558
- #edit-gallery .input-field input[type=date],
559
- #edit-gallery .input-field input[type=tel],
560
- #edit-gallery .input-field input[type=number],
561
- #edit-gallery .input-field input[type=search],
562
- #edit-gallery .input-field textarea.materialize-textarea {
563
- font-size: 2rem;
564
- }
565
- #edit-gallery select {
566
- font-size: 1rem;
567
- background: #fff;
568
- }
569
- #edit-gallery .jump-head {
570
- border-bottom: 2px solid rgba(0, 0, 0, 0.3);
571
- padding: 20px 0;
572
- }
573
- #edit-gallery .jump-head select {
574
- height: 2rem;
575
- display: inline;
576
- }
577
- #edit-gallery .jump {
578
- width: auto;
579
- }
580
- .jump-head
581
- {
582
- padding: 40px 0px 40px 10px;
583
- }
584
- .bullet-menu {
585
- position: fixed;
586
- bottom: 20px;
587
- right: 50px;
588
- }
589
- .update-gallery {
590
- position: fixed;
591
- bottom: 20px;
592
- right: 20px;
593
- }
594
- .collapsible li {
595
- margin-bottom: 7px;
596
- margin-left:-20px;
597
- }
598
- .collapsible li .alternate {
599
- background: transparent;
600
- }
601
- .collapsible li .collapsible-header {
602
- font-size: 2rem;
603
- height: 5rem;
604
- line-height: 5rem;
605
- }
606
- .collapsible li .collapsible-header .fa-chevron-right{
607
- float: right;
608
- color: darkgray;
609
- }
610
- .collapsible li .collapsible-header i {
611
- color: #51AD31;
612
- line-height: 5rem;
613
- }
614
- .collapsible li .collapsible-header span{
615
- color: #51AD31;
616
- }
617
- .collapsible li .field .text {
618
- background: #fff;
619
- padding: 20px;
620
- }
621
- .collapsible li .field .text .pickColor {
622
- height: auto;
623
- }
624
- .collapsible li .field .text .wp-color-result {
625
- border-radius: 0;
626
- -webkit-border-radius: 0;
627
- height: 24px;
628
- }
629
- .collapsible li .field .text .wp-color-result::after {
630
- border-radius: 0;
631
- -webkit-border-radius: 0;
632
- }
633
- .collapsible li textarea {
634
- height: 100px;
635
- }
636
- .collapsible li th,
637
- .collapsible li td {
638
- vertical-align: baseline;
639
- }
640
- .collapsible li th {
641
- border-radius: 0;
642
- }
643
- .collapsible li th[scope=row] {
644
- width: 200px;
645
- }
646
- .collapsible li tr.ui-slider {
647
- height: auto;
648
- }
649
- .collapsible li tr.filter {
650
- float: none;
651
- margin: 0;
652
- }
653
- .collapsible li .toggle div.help {
654
- display: none;
655
- }
656
- .collapsible li .toggle div.help strong {
657
- font-weight: bold;
658
- }
659
-
660
- .collapsible li .toggle [type="checkbox"]:not(:checked) + label:before {
661
- top: 4px;
662
- }
663
-
664
- .checkbox, .checkbox-light, .radio, .radio-light {
665
- background: url("../images/checkbox/square.png") 0 0 no-repeat;
666
- color: #dddddd;
667
- cursor: pointer;
668
- padding: 1px 0 3px 25px;
669
- position: relative; }
670
- .checkbox:hover, .checkbox-light:hover, .radio:hover, .radio-light:hover {
671
- background-position: 0 -26px;
672
- color: white; }
673
- .checkbox.checked, .checked.checkbox-light, .checked.radio, .checked.radio-light {
674
- background-position: 0 -53px; }
675
- .checkbox.checked:hover, .checked.checkbox-light:hover, .checked.radio:hover, .checked.radio-light:hover {
676
- background-position: 0 -80px; }
677
-
678
- .checkbox-light {
679
- background-image: url("../images/checkbox/square-light.png"); }
680
- .collapsible li div.help {
681
- background: rgba(255, 255, 255, 0.5);
682
- border-top-left-radius: 0;
683
- border-top-right-radius: 0;
684
- border-bottom-left-radius: 6px;
685
- border-bottom-right-radius: 6px;
686
- padding: 10px;
687
- color: #666;
688
- }
689
- .collapsible li .custom_isf td th {
690
- background: #333;
691
- color: #fff;
692
- }
693
- .collapsible li .custom_isf td td input[type=text] {
694
- background: #fff;
695
- }
696
- .collapsible li .dynamic-table tr {
697
- background: #fff;
698
- }
699
- .collapsible li .dynamic-table .btn {
700
- outline: 0;
701
- color: #fff;
702
- }
703
- .collapsible li .dynamic-table .btn:hover {
704
- color: #fff;
705
- }
706
- .collapsible li .dynamic-table .btn.add {
707
- width: 100%;
708
- }
709
- .collapsible li .dynamic-table .del {
710
- width: 50px;
711
- padding-left: 10px;
712
- padding-top: 18px;
713
- }
714
- .collapsible li td .filters .text p {
715
- padding: 0;
716
- }
717
- .collapsible li td .filters .text p a {
718
- display: inline-block;
719
- margin-right: 20px;
720
- }
721
- .collapsible li td .filters .text p input[type=text] {
722
- width: 77%;
723
- }
724
- #tutorial h5 {
725
- margin: 60px 0 20px;
726
- }
727
- #images .item
728
- {
729
- width:160px;
730
- padding:0px 10px 0px 0px;
731
- /*background:#333;*/
732
- /*border:1px solid #111;*/
733
- float:left;
734
- height:295px;
735
- margin:10px 10px 0 0;
736
- position: relative;
737
- }
738
-
739
- #images .item .size {
740
- position: absolute;
741
- bottom: 6px;
742
- left: 10px;
743
- background: #333;
744
- color: #ccc;
745
- padding: 4px;
746
- display: block;
747
- font-size: 9px;
748
- font-family: monaco,courier, monospace;
749
- }
750
- #images .item .name {
751
- position:absolute;
752
- top:35px;
753
- width:150px;
754
- background: rgba(0,0,0,.5);
755
- color: #fff;
756
- font-size:10px;
757
- left:10px;
758
- z-index:100;
759
- height:20px;
760
- overflow: hidden;
761
- }
762
- #images .item .del {
763
- position: absolute;
764
- top:4px;
765
- right:4px;
766
- width: 20px;
767
- height: 20px;
768
- text-decoration: none;
769
- color: #000;
770
- display: none;
771
- background:#111;
772
- }
773
- #images .item .icons {
774
- /*border-bottom: 1px solid #222;*/
775
- margin-bottom: 9px;
776
- }
777
- #images .item .selection {
778
- float: right;
779
- margin-top: 5px;
780
- height: 12px;
781
- }
782
-
783
- #images .figure {
784
- margin:0;
785
- padding: 0;
786
- width:90%;
787
- height: 120px;
788
- overflow: hidden;
789
- display: table-cell;
790
- vertical-align: middle;
791
- text-align: center;
792
- background-size: cover;
793
- }
794
- #images .figure img {
795
- width:160px;
796
- cursor: pointer;
797
- }
798
- #images .item .data {
799
- display: none;
800
- }
801
-
802
- #image-panel {
803
- background: white;
804
- width:700px;
805
- height:auto;
806
- margin-left: -300px;
807
- position: absolute;
808
- top: 30%;
809
- left: 50%;
810
- z-index: 1001;
811
- box-shadow: #000 0px 0px 20px;
812
- /*border:4px solid #111;*/
813
- padding: 10px;
814
- }
815
- #image-panel .filters {
816
- clear: both;
817
- margin-top: 10px;
818
- }
819
- #image-panel .filters .checkbox {
820
- float: left;
821
- margin-right: 20px;
822
- padding-left: 20px;
823
- }
824
- #image-panel .left {
825
- float:left;
826
- }
827
- #image-panel .figure {
828
- width:200px;
829
- height:200px;
830
- overflow:hidden;
831
- padding: 0;
832
- margin: 0 0 10px 0;
833
- padding: 2px;
834
- border: 1px solid #999;
835
- background: white;
836
- }
837
- #image-panel .figure img {
838
- width:100%;
839
- }
840
- #image-panel .right {
841
- float:left;
842
- margin-left:20px;
843
- }
844
- #image-panel .field {
845
- padding-bottom: 5px;
846
- color: #aaa;
847
- /*border-bottom: 1px solid #555;*/
848
- margin-bottom: 5px;
849
- }
850
- #image-panel .field:last-of-type {
851
- border-bottom: 0;
852
- }
853
- #image-panel .field label {
854
- margin-bottom: 5px;
855
- display: block;
856
- font-weight: bold;
857
- color: black;
858
- }
859
- #image-panel .field textarea {
860
- width: 100%;
861
- height: 60px;
862
- }
863
- #image-panel .actions li {
864
- height: 22px;
865
- margin:0;
866
- }
867
- #image-panel .close {
868
- position: absolute;
869
- top:0;
870
- right:0;
871
- display: block;
872
- background: white;
873
- border-bottom-left-radius: 30px;
874
- width: 30px;
875
- height: 30px;
876
- line-height: 24px;
877
- text-indent: 15px;
878
- text-decoration: none;
879
- color: #fff;
880
- font-family: arial;
881
- font-weight: bold;
882
- }
883
-
884
- #images .actions {
885
- padding: 10px 10px 10px 10px;
886
- background: #242521;
887
- }
888
- #images .bulk ,
889
- #images .actions {
890
- background: #FAFAFA;
891
- border:1px solid #EEE;
892
- padding: 25px;
893
- margin: 10px;
894
- }
895
- #images .bulk h4 {
896
- margin:0 0 4px 0;
897
- color: #fff;
898
- }
899
- #images .bulk .checkbox {
900
- display: inline-block;
901
- padding-left: 20px;
902
- margin-right: 15px;
903
- }
904
- #images .bulk .options a {
905
- display: inline-block;
906
- margin-right: 10px;
907
- color: #fff;
908
- text-decoration: none;
909
- }
910
- #images .bulk .options a:hover {
911
- /*color: #fff;*/
912
- }
913
- #images .bulk .panel {
914
- display: none;
915
- padding: 12px;
916
- background: transparent;
917
- margin-top: 5px;
918
- /*border: 1px solid #333222;*/
919
- }
920
- #images .bulk .panel strong {
921
- color: black;
922
- display: block;
923
- margin-bottom: 4px;
924
- }
925
-
926
- #images .bulk .panel p {
927
- padding: 10px 0px 10px 0px;
928
- margin-bottom: 0;
929
- color: black;
930
- }
931
- #images .tips {
932
- margin-bottom: 15px;
933
- }
934
- #images .tip {
935
- background: url('../images/tip.png') no-repeat;
936
- text-indent: 21px;
937
- display: block;
938
- margin: 0 0 0 15px;
939
- }
940
- #images .shortpixel {
941
-
942
- }
943
- #images .btn.action {
944
- margin-bottom: 0;
945
- }
946
-
947
- .clearfix:after {
948
- content: ".";
949
- display: block;
950
- clear: both;
951
- visibility: hidden;
952
- line-height: 0;
953
- height: 0;
954
- }
955
- #image-panel .buttons {
956
- text-align: right;
957
- margin-top: 10px;
958
- clear: both;
959
- }
960
- #image-panel .buttons a {
961
- margin-left: 10px;
962
- }
963
-
964
- #images .actions label {
965
- font-weight: bold;
966
- cursor: default;
967
- display: block;
968
- margin-bottom: 10px;
969
- }
970
- #images .actions label span {
971
- font-weight: normal;
972
- padding-left: 10px;
973
- }
974
- #images .actions .row {
975
- margin: 0 0 10px 0;
976
- }
977
- #images .actions .bulk .panel {
978
- display: none;
979
- }
980
- #images p label{
981
- display: inline-block;
982
- margin-right: 30px;
983
- padding-left: 28px;
984
- }
985
- #image-panel .filters label
986
- {
987
- margin-right: 30px;
988
- padding-left:28px;
989
- color: #333;
990
- float:left;
991
- font-size: 1rem;
992
- top: .1rem;
993
- height: auto;
994
- }
995
- .filters-bulk-label {
996
- display: inline-block;
997
- margin-right: 30px;
998
- line-height: 30px;
999
- padding-left: 28px;
1000
- }
1001
- #images .actions .bulk .panel p {
1002
- padding: 1rem 0;
1003
- }
1004
- #images .actions .tips {
1005
- font-style: italic;
1006
- color: #777;
1007
- padding: 5px 10px;
1008
- background: rgba(255, 255, 255, 0.7);
1009
- border-radius: 4px;
1010
- }
1011
- #images .actions .tips strong {
1012
- font-weight: 700;
1013
- }
1014
- #image-panel-model[data-source=posts] {
1015
- width: 300px;
1016
- }
1017
- #image-panel-model[data-source=posts] .right-side {
1018
- display: none;
1019
- }
1020
- #image-panel-model .right-side {
1021
- margin-left: 170px;
1022
- }
1023
- #image-panel-model .right-side textarea {
1024
- height: 3.75rem;
1025
- }
1026
- #image-panel-model .right-side input[type=text],
1027
- #image-panel-model .right-side textarea {
1028
- border: 1px solid #9E9E9E;
1029
- }
1030
- #image-panel-model .right-side .filters {
1031
- margin-top: 15px;
1032
- }
1033
- #image-panel-model .right-side .filters label {
1034
- margin-right: 30px;
1035
- padding-left: 28px;
1036
- }
1037
- #video-panel-model textarea {
1038
- height: 160px;
1039
- }
1040
- #image-list .card.selected {
1041
- border: 2px solid #000;
1042
- }
1043
- #image-list .card .card-image {
1044
- cursor: move;
1045
- }
1046
- #image-list .card .card-image iframe {
1047
- width: 100%;
1048
- }
1049
- #image-list .card p {
1050
- padding: 0;
1051
- min-height: 20px;
1052
- }
1053
- #image-list .card .filters {
1054
- position: absolute;
1055
- top: 10px;
1056
- left: 0px;
1057
- }
1058
- #image-list .card .filters li {
1059
- background: #fff;
1060
- color: #666;
1061
- padding: 2px 10px;
1062
- margin: 0 0 2px 0;
1063
- border-top-right-radius: 4px;
1064
- }
1065
- #delete-gallery-modal span {
1066
- color: #ff8a0b;
1067
- font-weight: bold;
1068
- }
1069
- #spinner {
1070
- display: none;
1071
- position: fixed;
1072
- top: 50px;
1073
- right: 50px;
1074
- }
1075
- #spinner.shown {
1076
- display: block;
1077
- }
1078
- .pro-cell {
1079
- padding: 15px 25px;
1080
- border: 1px solid #EEE;
1081
- background-color: #FAFAFA;
1082
- display: inline-block;
1083
- }
1084
- .button-bg {
1085
- background: #DAA308;
1086
- }
1087
- .btn.button-bg:hover {
1088
- background: #bc8f15;
1089
- }
1090
- .btn:hover {
1091
- color:#fff;
1092
- }
1093
- .pro-cell:hover {
1094
- opacity: .8;
1095
- }
1096
- .pro-cell a {
1097
- transition: all .3s;
1098
- color: #fff;
1099
- }
1100
- /**
1101
- * For modern browsers
1102
- * 1. The space content is one way to avoid an Opera bug when the
1103
- * contenteditable attribute is included anywhere else in the document.
1104
- * Otherwise it causes space to appear at the top and bottom of elements
1105
- * that are clearfixed.
1106
- * 2. The use of `table` rather than `block` is only necessary if using
1107
- * `:before` to contain the top-margins of child elements.
1108
- */
1109
- .cf:before,
1110
- .cf:after {
1111
- content: " ";
1112
- /* 1 */
1113
- display: table;
1114
- /* 2 */
1115
- }
1116
- .cf:after {
1117
- clear: both;
1118
- }
1119
- /**
1120
- * For IE 6/7 only
1121
- * Include this rule to trigger hasLayout and contain floats.
1122
- */
1123
- .cf {
1124
- *zoom: 1;
1125
- }
1126
-
1127
- .li
1128
- {
1129
- cursor:pointer;
1130
- font-size:16px;
1131
- display:inline;
1132
- float:left;
1133
- margin-left:7px;
1134
- }
1135
-
1136
- .listview
1137
- {
1138
- font-size:16px;
1139
- display:inline;
1140
- float:left;
1141
- margin-left:7px;
1142
- }
1143
-
1144
- .menu_activ
1145
- {
1146
- cursor: pointer;
1147
- font-size:16px;
1148
- display:inline;
1149
- float:left;
1150
- margin-left:7px;
1151
- color:red;
1152
- }
1153
- /*.hide
1154
- {
1155
- display:none;
1156
- }
1157
- .padd
1158
- {
1159
- padding:2px;
1160
- }*/
1161
-
1162
- #image-list .small .card-title
1163
- {
1164
- display: none;
1165
- }
1166
-
1167
- #image-list .small .card-content
1168
- {
1169
- display: none;
1170
- }
1171
-
1172
- #image-list .small .card-action
1173
- {
1174
- background-color:#402723;
1175
- padding:5px;
1176
- text-align: center;
1177
- }
1178
-
1179
-
1180
- #image-list .medium .card-action i
1181
- {
1182
- text-align: center;
1183
- display: none;
1184
- }
1185
-
1186
- #image-list .big .card-action i
1187
- {
1188
- text-align: center;
1189
-
1190
- display: none;
1191
- }
1192
-
1193
-
1194
- #image-list .small .card-action a span
1195
- {
1196
- display:none;
1197
- }
1198
- #image-list .small .card-action .remove span
1199
- {
1200
- display: none;
1201
- }
1202
-
1203
- {
1204
- display:none;
1205
- }
1206
- #image-list .small .card-action a i
1207
- {
1208
- color:white;
1209
- }
1210
-
1211
- .filter-list
1212
- {
1213
- border-radius: 3px;
1214
- margin-left: 10px;
1215
- margin-right: 10px;
1216
- padding: 12px;
1217
- background-color: #FFF9F0;
1218
- }
1219
-
1220
- .list-view
1221
- {
1222
- float: left;
1223
- font-size: 16px;
1224
- }
1225
-
1226
- .filter-select-control{
1227
- float: left;
1228
- }
1229
- .filter-item
1230
- {
1231
- cursor: pointer;
1232
- display: inline;
1233
- float: left;
1234
- font-size: 16px;
1235
- margin-left: 10px !important;
1236
- }
1237
-
1238
- .menu-activ
1239
- {
1240
- color: red;
1241
- }
1242
-
1243
- .import-export
1244
- {
1245
- padding-left: 42px;
1246
- margin-top: 20px;
1247
- padding-bottom: 50px;
1248
- }
1249
- .import-export a
1250
- {
1251
- display: block;
1252
- padding: 10px 21px 11px 49px;
1253
- width: 145px;
1254
- float: left;
1255
- margin-right: 15px;
1256
- color: #ADACAC;
1257
- background-color: white;
1258
- }
1259
-
1260
- .import-export a:hover
1261
- {
1262
- background-color: #51AD31;
1263
- color: white;
1264
- }
1265
-
1266
- #import-modal textarea, #export-modal textarea
1267
- {
1268
- height: 100px;
1269
- }
1270
-
1271
- .collapsible .active .collapsible-header
1272
- {
1273
- background-color: #51AD31 !important;
1274
- }
1275
- .collapsible .active .collapsible-header span,
1276
- .collapsible .active .collapsible-header i
1277
- {
1278
- color: white;
1279
- }
1280
-
1281
- .collapsible .active .collapsible-body
1282
- {
1283
- background-color: white;
1284
- }
1285
-
1286
- .backdrop
1287
- {
1288
- background: green;
1289
- }
1290
-
1291
- .select-effect
1292
- {
1293
- display: block;
1294
- width: 34%;
1295
- height: 50px !important;
1296
- border-radius: 5px;
1297
- }
1298
-
1299
-
1300
- #hover-effect th
1301
- {
1302
- display: none;
1303
- }
1304
- #hover-effect .panel {
1305
- padding: 20px;
1306
- background: #fafafa;
1307
- }
1308
- #hover-effect .effect-description
1309
- {
1310
- display: block;
1311
- color: #51AD31;
1312
- padding-bottom: 12px;
1313
- font-size: 18px;
1314
- font-weight: normal;
1315
- }
1316
-
1317
- #hover-effect .help
1318
- {
1319
- display: none;
1320
- }
1321
-
1322
- #hover-effect .effect-color
1323
- {
1324
- display: block !important;
1325
- }
1326
- #hover-effect .effect-img
1327
- {
1328
- padding: 17px 0px;
1329
- float: left;
1330
- }
1331
-
1332
- #hover-effect .effect-compatibility
1333
- {
1334
- margin-left: 430px;
1335
- }
1336
-
1337
- #hover-effect .effect-compatibility label
1338
- {
1339
- display: block;
1340
- margin-bottom: 5px;
1341
- }
1342
-
1343
- #hover-effect .effect-compatibility label span
1344
- {
1345
- display: block;
1346
- font-size: 14px;
1347
- margin: 10px;
1348
- }
1349
-
1350
- #hover-effect .jump-head
1351
- {
1352
- display: none;
1353
- }
1354
-
1355
- #hover-effect .fa-check
1356
- {
1357
- color: green;
1358
- }
1359
- #hover-effect .fa-times
1360
- {
1361
- color: red;
1362
- }
1363
- #hover-effect .preview {
1364
- float: none;
1365
- }
1366
- #hover-effect .preview .item {
1367
- width:400px;
1368
- height:267px;
1369
- overflow: hidden;
1370
- position: relative;
1371
- float: left;
1372
- }
1373
- #hover-effect .preview .item img {
1374
- position: absolute;
1375
- }
1376
- .modula .items .item .figc {
1377
- display: flex;
1378
- align-items: center;
1379
- justify-content: center;
1380
- color: #fff;
1381
- font-size: 11px;
1382
- text-align: center;
1383
- position: absolute;
1384
- left: 0;
1385
- width: 100%;
1386
- padding: 0;
1387
- }
1388
- .modula .items .item .figc {
1389
- width:400px;
1390
- height:267px;
1391
- color: #fff;
1392
- font-size: 11px;
1393
- text-align: center;
1394
- position: absolute;
1395
- left: 0;
1396
- width: 100%;
1397
- padding: 0;
1398
- }
1399
- .modula .items .item .figc h2 {
1400
- font-size: 21px;
1401
- color:#fff;
1402
- }
1403
- .modula .items .item .figc p {
1404
- color:#fff;
1405
- font-size: 15px;
1406
- font-style: normal;
1407
- }
1408
- .modula .item .jtg-social a {
1409
- font-size: 17px;
1410
- }
1411
- .all-effects {
1412
- display: inline-block;
1413
- margin: 20px 0;
1414
- color:#fff;
1415
- font-size: 16px;
1416
- background: #DAA308;
1417
- padding: 6px 12px;
1418
- transition:all .2s;
1419
- }
1420
- .all-effects:hover {
1421
- opacity: .8;
1422
- color:#fff;
1423
- }
1424
- .setting
1425
- {
1426
- color: #ADACAC;
1427
- padding-left: 45px;
1428
- margin-bottom: 15px;
1429
- }
1430
-
1431
- #other-galleries .cta {
1432
- width:170px;
1433
- text-align: right;
1434
- }
1435
- #other-galleries .text {
1436
- font-size: 17px;
1437
- width:calc(100% - 180px);
1438
- padding-right: 20px;
1439
- height: 150px;
1440
- }
1441
- #other-galleries .text h4 {
1442
- font-size: 19px;
1443
- font-weight: bold;
1444
- }
1445
- #other-galleries .text,
1446
- #other-galleries .cta {
1447
- display: inline-block;
1448
- vertical-align: top;
1449
- }
1450
- #other-galleries .cta a {
1451
- margin-right: 0;
1452
- margin-top: 69px;
1453
- }
1454
- #other-galleries * {
1455
- outline: 0;
1456
- }
1457
- #adminmenu .wp-submenu .modula-jump-pro-menu {
1458
- color:#22e34f;
1459
- font-weight: bold;
1460
- }
1461
- #external-galleries input[type=checkbox] {
1462
- position: static;
1463
- }
1464
-
1465
- /* Added in 1.2.0 */
1466
- #toplevel_page_modula-lite-admin ul li:last-of-type a {
1467
- color: #7cc048 !important;
1468
- }
1469
-
1470
- body .modula-wrap .wp-badge {
1471
- background: url('../images/modula-logo.jpg') center 35px no-repeat #50ad31;
1472
- padding-top: 160px;
1473
- height: 0;
1474
- background-size: 80px 80px;
1475
- }
1476
-
1477
- .shortpixel {
1478
- display: block;
1479
- background: #fafafa;
1480
- border: 1px solid #DDD;
1481
- padding: 20px;
1482
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/edit-gallery.php DELETED
@@ -1,393 +0,0 @@
1
- <?php
2
- if ( preg_match( '#' . basename( __FILE__ ) . '#', $_SERVER['PHP_SELF'] ) ) {
3
- die( _e( 'You are not allowed to call this page directly.', 'modula-gallery' ) );
4
- }
5
-
6
- function modula_print_value( $gallery, $field, $default = null ) {
7
- if ( $gallery == null || $gallery->$field === null ) {
8
- if ( $default === null ) {
9
- print "";
10
- } else {
11
- print esc_html( $default );
12
- }
13
- } else {
14
- print esc_html( $gallery->$field );
15
- }
16
- }
17
-
18
- $galleryResults = $this->ModulaDB->getGalleries();
19
-
20
- $gallery = $this->loadedData;
21
- $tg_subtitle = "Edit Gallery: " . $gallery->name;
22
-
23
- include( "header.php" );
24
-
25
- ?>
26
-
27
- <script>
28
- var modula_wp_caption_field = '<?php modula_print_value( $gallery, "wp_field_caption" ) ?>';
29
- </script>
30
- <div class="container">
31
- <div class="row collapsible">
32
- <div class="card-panel light-green lighten-4">
33
- <span> <?php echo esc_html__( 'Shortcode', 'modula-gallery' ); ?>: </span>
34
- <input type="text" readonly value="[Modula id='<?php print $gallery->id; ?>']"> </input>
35
- </div>
36
- </div>
37
- </div>
38
-
39
- <div class="container">
40
- <div class="row">
41
- <ul class="collapsible" data-collapsible="accordion">
42
- <?php foreach ( $modula_fields as $section => $s ): ?>
43
- <li id="<?php echo strtolower( str_replace( ' ', '-', $section ) ); ?>">
44
- <div class="collapsible-header white-text darken-2">
45
- <i class="<?php echo esc_attr( $s["icon"] ); ?>"></i>
46
- <span><?php echo esc_html( $section ) ?> </span> <i class="fa fa-chevron-right"></i>
47
- </div>
48
-
49
- <div class="collapsible-body lighten-5 tab form-fields">
50
-
51
- <input type="hidden" id="wp_caption" value="<?php echo esc_attr( $gallery->wp_field_caption ); ?>">
52
- <input type="hidden" id="wp_title" value="<?php echo esc_attr( $gallery->wp_field_title ); ?>">
53
-
54
- <form name="gallery_form" id="gallery_form" action="<?php echo str_replace( '%7E', '~', $_SERVER['REQUEST_URI'] ); ?>" method="post">
55
- <?php wp_nonce_field( 'Modula', 'Modula' ); ?>
56
- <input type="hidden" name="ftg_gallery_edit" id="gallery-id" value="<?php echo esc_attr( $gallery->id ); ?>"/>
57
- <table class="widefat post fixed" cellspacing="0">
58
- </tbody>
59
- </table>
60
- </form>
61
-
62
- <table>
63
- <tbody>
64
- <?php foreach ( $s["fields"] as $f => $data ) : ?><?php if ( is_array( $data["excludeFrom"] ) && ! in_array( $modula_parent_page, $data["excludeFrom"] ) ) : ?>
65
- <tr class="row-<?php echo esc_attr( $f ); ?> <?php echo esc_attr( $data["type"] ); ?>">
66
- <th scope="row">
67
- <label class="label-text"><?php echo esc_html( $data["name"] ); ?>
68
- <?php if ( isset( $data["mu"] ) ) : ?>
69
- (<?php echo esc_html( $data["mu"] ) ?>)
70
- <?php endif ?>
71
- </label>
72
- </th>
73
- <td>
74
- <div class="field">
75
- <?php if ( $data["type"] == "text" ) : ?>
76
- <div class="text">
77
- <input type="text" size="30" name="tg_<?php echo esc_attr( $f ); ?>" value="<?php echo esc_attr( $gallery->$f ); ?>"/>
78
- </div>
79
- <?php elseif ( $data["type"] == "select" ) : ?>
80
-
81
- <div class="text">
82
- <select class="browser-default dropdown-menu" name="tg_<?php echo esc_attr( $f ); ?>">
83
- <?php foreach ( array_keys( $data["values"] ) as $optgroup ) : ?>
84
- <optgroup label="<?php echo esc_attr( $optgroup ); ?>">
85
- <?php foreach ( $data["values"][ $optgroup ] as $option ) : ?><?php $v = explode( "|", $option ); ?>
86
- <option value="<?php echo esc_attr( $v[0] ); ?>" <?php echo $v[0] == $gallery->$f ? "selected" : "" ?> ><?php echo esc_html( $v[1] ); ?></option>
87
- <?php endforeach ?>
88
- </optgroup>
89
- <?php endforeach ?>
90
- <?php if ( isset( $data["disabled"] ) ) : ?><?php foreach ( array_keys( $data["disabled"] ) as $optgroup ) : ?>
91
- <optgroup label="<?php echo esc_attr( $optgroup ); ?>">
92
- <?php foreach ( $data["disabled"][ $optgroup ] as $option ) : ?>
93
-
94
- <?php $v = explode( "|", $option ); ?>
95
- <option disabled><?php echo esc_html( $v[1] ) ?></option>
96
- <?php endforeach ?>
97
- </optgroup>
98
- <?php endforeach ?>
99
-
100
- <?php endif ?>
101
- </select>
102
- </div>
103
- <?php elseif ( $data["type"] == "toggle" ) : ?>
104
- <div class="text">
105
- <input type="checkbox" id="ftg_<?php echo esc_attr( $f ); ?>" name="tg_<?php echo esc_attr( $f ); ?>" value="<?php echo esc_attr( $gallery->$f ); ?>" <?php echo $gallery->$f == 'T' ? 'checked' : '' ?> />
106
- <label for="ftg_<?php echo esc_attr( $f ); ?>"><?php echo esc_html( $data["description"] ); ?></label>
107
- </div>
108
-
109
- <?php elseif ( $data["type"] == "ui-slider" || $data['type'] == 'slider' ) : ?>
110
- <div class="text">
111
- <label class="effect-description"><?php echo esc_html( $data['description'] ); ?></label>
112
- <p class="range-field">
113
- <input name="tg_<?php echo esc_attr( $f ); ?>" value="<?php echo esc_attr( $gallery->$f ); ?>" type="range" min="<?php echo esc_attr( $data["min"] ); ?>" max="<?php echo esc_attr( $data["max"] ); ?>"/>
114
- </p>
115
- </div>
116
-
117
- <?php elseif ( $data["type"] == "number" ) : ?>
118
- <div class="text">
119
- <input type="text" name="tg_<?php echo esc_attr( $f ); ?>" class="integer-only" value="<?php echo esc_attr( $gallery->$f ); ?>">
120
- </div>
121
-
122
- <?php elseif ( $data["type"] == "color" ) : ?>
123
- <div class="text">
124
- <label class="effect-description effect-color" style="display:none;"> <?php echo esc_html( $data['description'] ); ?></label>
125
- <input type="text" size="6" data-default-color="<?php echo esc_attr( $data["default"] ); ?>" name="tg_<?php echo esc_attr( $f ); ?>" value="<?php echo esc_attr( $gallery->$f ); ?>" class='pickColor'/>
126
- </div>
127
- <?php elseif ( $data["type"] == "PRO_FEATURE" ) : ?>
128
-
129
- <div class="pro-cell">
130
- <h6><?php echo esc_html__( 'This feature is available only in the PRO version of Modula', 'modula-gallery' ); ?></h6>
131
- <br/>
132
- <a class="button button-secondary" href="<?php echo esc_url( admin_url( 'admin.php?page=modula-lite-gallery-upgrade&tab=comparison_table' ) ); ?>" target="_blank">
133
- <?php echo esc_html__( 'See LITE vs PRO Differences', 'modula-gallery' ); ?></a>
134
- <a class="button button-primary" href="https://wp-modula.com/?utm_source=modulalite_inst&utm_medium=banner&utm_campaign=Modula%20Lite#buy" target="_blank"><span class="dashicons dashicons-cart"></span>
135
- <?php echo esc_html__( 'Get Modula Pro!', 'modula-gallery' ); ?>
136
- </a>
137
- </div>
138
-
139
- <?php elseif ( $data["type"] == "textarea" ) : ?>
140
- <div class="text">
141
- <textarea name="tg_<?php echo esc_attr( $f ); ?>"><?php echo esc_html( $gallery->$f ); ?></textarea>
142
- </div>
143
- <?php elseif ( $data["type"] == "hover-effect" ): ?>
144
-
145
- <div class="text">
146
- <label class="effect-description"> <?php print $data['description']; ?> </label>
147
- <select name="tg_hoverEffect" class="select-effect">
148
- <?php $hoverEffectIdx = 0 ?>
149
- <option value="none"><?php echo esc_html__( 'None', 'modula-gallery' ); ?></option>
150
- <option <?php selected( 'pufrobo', $gallery->hoverEffect ) ?> value="pufrobo">Pufrobo</option>
151
- <optgroup label="Buy a PRO license to unlock all hover effects">
152
- <?php foreach ( $this->hoverEffects as $effect ) : if ( 'none' == $effect->code || 'pufrobo' == $effect->code ) { continue; } ?>
153
- <option disabled value="<?php echo esc_attr( $effect->code ); ?>"><?php echo esc_attr( $effect->name ); ?></option>
154
- <?php endforeach ?>
155
- </optgroup>
156
- </select>
157
- <a class="all-effects" href="https://wp-modula.com/demo/effects/appear/?utm_source=modulalite_inst&utm_campaign=Modula%20Lite&utm_medium=banner&utm_term=all%20effects" target="_blank"><i class="mdi mdi-comment-alert-outline"></i>
158
- <?php echo esc_html__( 'Click to see all available effects', 'modula-gallery' ); ?>
159
- </a>
160
-
161
- <!-- all effects preview -->
162
- <div class="preview modula">
163
- <div class="panel panel-pufrobo items clearfix">
164
- <!-- show preview -->
165
-
166
- <div class="item effect-pufrobo">
167
- <img src="<?php echo plugins_url( 'admin/images/effect.jpg', dirname(__FILE__) ) ?>" class="pic">
168
- <div class="figc">
169
- <div class="figc-inner">
170
-
171
- <h2>Lorem ipsum</h2>
172
- <p class="description">Quisque diam erat, mollis
173
- vitae enim eget</p>
174
- <div class="jtg-social">
175
- <a class="fa fa-twitter" href="#"></a>
176
- <a class="fa fa-facebook" href="#"></a>
177
- <a class="fa fa-google-plus" href="#"></a>
178
- <a class="fa fa-pinterest" href="#"></a>
179
- </div>
180
- </div>
181
- </div>
182
- </div>
183
-
184
- <div class="effect-compatibility">
185
-
186
- <label class="effect-description"> <?php echo esc_html( 'This effect is compatible with:', 'modula-gallery' ); ?>
187
- <span><i class="fa fa-check"></i> <?php echo esc_html( 'Title', 'modula-gallery' ); ?></span>
188
- <span><i class="fa fa-check"></i> <?php echo esc_html( 'Subtitle', 'modula-gallery' ); ?> </span>
189
- <span><i class="fa fa-check"></i> <?php echo esc_html( 'Social Icons', 'modula-gallery' ); ?> </span>
190
- </label>
191
-
192
- </div>
193
- </div>
194
- </div>
195
- <input type="hidden" name="ftg_hoverColor" value="#000">
196
- <input type="hidden" name="ftg_hoverOpacity" value="#.8"> <br/>
197
- <div class="pro-cell">
198
- <h6><?php echo esc_html__( 'The PRO version of Modula bundles over 12 different hover effects.', 'modula-gallery' ); ?></h6>
199
- <br/>
200
- <a class="button button-secondary" href="<?php echo esc_url( admin_url( 'admin.php?page=modula-lite-gallery-upgrade&tab=comparison_table' ) ); ?>" target="_blank">
201
- <?php echo esc_html__( 'See LITE vs PRO Differences', 'modula-gallery' ); ?>
202
- </a>
203
- <a class="button button-primary" href="https://wp-modula.com/?utm_source=modulalite_inst&utm_medium=banner&utm_campaign=Modula%20Lite#buy" target="_blank"><span class="dashicons dashicons-cart"></span>
204
- <?php echo esc_html__( 'Get Modula Pro!', 'modula-gallery' ); ?>
205
- </a>
206
- </div>
207
- </div>
208
- <?php endif ?>
209
- <div class="help">
210
- <?php _e( $data["description"] ); ?>
211
- </div>
212
-
213
- </div>
214
- </td>
215
- </tr>
216
- <?php endif ?><?php endforeach ?>
217
-
218
- </tbody>
219
- </table>
220
- </div>
221
- </li>
222
- <?php endforeach; ?>
223
-
224
- <li id="images">
225
- <div class="collapsible-header white-text white darken-2">
226
- <i class="mdi mdi-image-filter"></i>
227
- <span><?php echo esc_html__( 'Images', 'Modula-gallery' ) ?> </span>
228
- <i class="fa fa-chevron-right"></i>
229
- </div>
230
-
231
- <div class="collapsible-body white lighten-5">
232
-
233
- <div class="image-size-section">
234
- <div>
235
- <div class="tips">
236
-
237
- <span class="shortpixel">
238
- <img src="<?php echo plugins_url( '', __file__ ) ?>/images/icon-shortpixel.png" alt="ShortPixel">
239
- <a target="_blank" href="https://shortpixel.com/h/af/HUOYEBB31472"><?php echo esc_html__( 'We suggest using the ShortPixel image optimization plugin to optimize your images and get the best possible SEO results & load speed..', 'modula-gallery' ) ?></a>
240
- </span>
241
-
242
- </div>
243
- </div>
244
- </div>
245
-
246
- <div>
247
- <div class="pro-cell">
248
- <h6><?php echo esc_html__( 'Add more than 20 images per gallery. Upgrade to PRO', 'modula-gallery' ); ?></h6>
249
- <br/>
250
- <a class="button button-secondary" href="<?php echo esc_url( admin_url( 'admin.php?page=modula-lite-gallery-upgrade&tab=comparison_table' ) ); ?>" target="_blank">See
251
- <?php echo esc_html__( 'LITE vs PRO Differences', 'modula-gallery' ); ?></a>
252
- <a class="button button-primary" href="https://wp-modula.com/?utm_source=modulalite_inst&utm_medium=banner&utm_campaign=Modula%20Lite#buy" target="_blank"><span class="dashicons dashicons-cart"></span>
253
- <?php echo esc_html__( 'Get Modula Pro!', 'modula-gallery' ); ?></a>
254
- </div>
255
-
256
- <div class="actions row">
257
- <label class="label-text row"><?php echo esc_html__( 'Add Images', 'modula-gallery' ) ?></label>
258
- <a href="#" class="open-media-panel waves-effect button-bg waves-light btn action"><i class="mdi-image-photo"></i> <?php echo esc_html__( 'Add images', 'modula-gallery' ) ?>
259
- </a>
260
- </div>
261
-
262
- <div class="bulk row">
263
- <label class="label-text row"><?php echo esc_html__( 'Bulk Actions', 'modula-gallery' ) ?></label>
264
- <div class="options">
265
- <a class="btn button-bg waves-effect waves-light" href="#" data-action="select"><?php echo esc_html__( 'Select all', 'modula-gallery' ) ?></a>
266
- <a class="btn button-bg waves-effect waves-light" href="#" data-action="deselect"><?php echo esc_html__( 'Deselect all', 'modula-gallery' ) ?></a>
267
- <a class="btn button-bg waves-effect waves-light" href="#" data-action="toggle"><?php echo esc_html__( 'Toggle selection', 'modula-gallery' ) ?></a>
268
- <a class="btn button-bg waves-effect waves-light" href="#" data-action="remove"><?php echo esc_html__( 'Remove', 'modula-gallery' ) ?></a>
269
- </div>
270
- <div class="panel">
271
- <strong></strong>
272
- <p class="text"></p>
273
- <p class="buttons">
274
- <a class="btn deep-orange darken-2 mrm cancel" href="#"><?php echo esc_html__( 'Cancel', 'modula-gallery' ) ?></a>
275
- <a class="btn green mrm proceed firm" href="#"><?php echo esc_html__( 'Proceed', 'modula-gallery' ) ?></a>
276
- </p>
277
- </div>
278
- </div>
279
-
280
- <div class="row">
281
- <span class="tip"><?php echo esc_html__( 'Drag images to change order.', 'modula-gallery' ) ?></span>
282
- </div>
283
-
284
- <div id="image-list"></div>
285
-
286
- <!-- image panel -->
287
- <div id="image-panel-model" style="display:none">
288
- <a href="#" class="close" title="Close">X</a>
289
- <h4> <?php _e( 'Edit Image', 'modula-gallery' ) ?> </h4>
290
- <div class="clearfix">
291
- <div class="left">
292
- <div class="figure"></div>
293
- </div>
294
- <div class="editimage-right">
295
- <div class="field">
296
- <label><?php echo esc_html__( 'Title', 'modula-gallery' ) ?></label>
297
- <div class="text">
298
- <textarea id="item-title" name="title"></textarea>
299
- </div>
300
- <label><?php echo esc_html__( 'Caption', 'modula-gallery' ) ?></label>
301
- <div class="text">
302
- <textarea id="item-description" name="description"></textarea>
303
- </div>
304
- </div>
305
-
306
- <div class="field">
307
- <label for="alignment"><?php echo esc_html__( 'Alignment', 'modula-gallery' ) ?></label>
308
- <select name="halign">
309
- <option><?php _e( 'left', 'modula-gallery' ) ?></option>
310
- <option selected><?php _e( 'center', 'modula-gallery' ) ?></option>
311
- <option><?php _e( 'right', 'modula-gallery' ) ?></option>
312
- </select> <select name="valign">
313
- <option><?php _e( 'top', 'modula-gallery' ) ?></option>
314
- <option selected><?php _e( 'middle', 'modula-gallery' ) ?></option>
315
- <option><?php _e( 'bottom', 'modula-gallery' ) ?></option>
316
- </select>
317
- </div>
318
- <div class="field">
319
- <label><?php _e( 'Link', 'modula-gallery' ) ?></label>
320
- <div class="text">
321
- <!-- <input type="text" name="link" value="" class="text-input row"> -->
322
- <textarea id="item-link" name="link"></textarea> <select name="target">
323
- <option value=""><?php echo esc_html__( 'Default target', 'modula-gallery' ) ?></option>
324
- <option value="_self"><?php echo esc_html__( 'Open in same page', 'modula-gallery' ) ?></option>
325
- <option value="_blank"><?php echo esc_html__( 'Open in new page', 'modula-gallery' ) ?></option>
326
- </select>
327
- </div>
328
- </div>
329
- <div class="field filters clearfix"></div>
330
- </div>
331
- </div>
332
- <div class="field buttons">
333
- <a href="#" data-action="cancel" class="action modal-action modal-close waves-effect waves-yellow btn-flat"><i class="mdi-content-reply"></i> <?php echo esc_html__( 'Cancel', 'modula-gallery' ) ?>
334
- </a>
335
- <a href="#" data-action="save" class="action modal-action modal-close waves-effect waves-green btn-flat"><i class="fa fa-save"></i> <?php echo esc_html__( 'Save', 'modula-gallery' ) ?>
336
- </a>
337
- </div>
338
- </div>
339
- </div>
340
- </div>
341
- </li>
342
- </ul>
343
- </div>
344
- </div>
345
-
346
- <a id="edit-gallery" data-tooltip="Update gallery" data-position="top" data-delay="10" class="tooltipped btn-floating btn-large waves-effect waves-light green update-gallery">
347
- <i class="icon icon-save-disk"> </i> </a>
348
-
349
- <div class="preloader-wrapper big active" id="spinner">
350
- <div class="spinner-layer spinner-blue-only">
351
- <div class="circle-clipper left">
352
- <div class="circle"></div>
353
- </div>
354
- <div class="gap-patch">
355
- <div class="circle"></div>
356
- </div>
357
- <div class="circle-clipper right">
358
- <div class="circle"></div>
359
- </div>
360
- </div>
361
- </div>
362
-
363
- <div id="import-modal" class="modal">
364
- <div class="modal-content">
365
- <h3><?php echo esc_html__( 'Import Configuration', 'modula-gallery' ); ?></h3>
366
- <p><?php echo esc_html__( 'Paste here the configuration code', 'modula-gallery' ); ?></p>
367
- <textarea> </textarea>
368
-
369
- </div>
370
- <div class="modal-footer">
371
- <a id="save" href="#!" class=" modal-action modal-close waves-effect waves-green btn-flat"><?php _e( 'Import', 'modula-gallery' ) ?></a>
372
-
373
- <a href="#!" class=" modal-action modal-close waves-effect waves-green btn-flat"><?php _e( 'Close', 'modula-gallery' ) ?></a>
374
- </div>
375
- </div>
376
-
377
- <div id="export-modal" class="modal">
378
- <div class="modal-content">
379
- <h3><?php echo esc_html__( 'Export Configuration', 'modula-gallery' ); ?></h3>
380
- <p><?php echo esc_html__( 'Copy the configuration code', 'modula-gallery' ); ?></p>
381
- <textarea readonly></textarea>
382
- </div>
383
- <div class="modal-footer">
384
- <a href="#!" class=" modal-action modal-close waves-effect waves-green btn-flat"><?php _e( 'OK', 'modula-gallery' ) ?></a>
385
- </div>
386
- </div>
387
-
388
- <script>
389
- (function( $ ) {
390
- TG.load_images();
391
- TG.init_gallery();
392
- })( jQuery );
393
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/fancybox/jquery.fancybox.css DELETED
@@ -1,771 +0,0 @@
1
- body.compensate-for-scrollbar {
2
- overflow: hidden; }
3
-
4
- .fancybox-active {
5
- height: auto; }
6
-
7
- .fancybox-is-hidden {
8
- left: -9999px;
9
- margin: 0;
10
- position: absolute !important;
11
- top: -9999px;
12
- visibility: hidden; }
13
-
14
- .fancybox-container {
15
- -webkit-backface-visibility: hidden;
16
- height: 100%;
17
- left: 0;
18
- outline: none;
19
- position: fixed;
20
- -webkit-tap-highlight-color: transparent;
21
- top: 0;
22
- -ms-touch-action: manipulation;
23
- touch-action: manipulation;
24
- -webkit-transform: translateZ(0);
25
- transform: translateZ(0);
26
- width: 100%;
27
- z-index: 99992; }
28
-
29
- .fancybox-container * {
30
- box-sizing: border-box; }
31
-
32
- .fancybox-outer,
33
- .fancybox-inner,
34
- .fancybox-bg,
35
- .fancybox-stage {
36
- bottom: 0;
37
- left: 0;
38
- position: absolute;
39
- right: 0;
40
- top: 0; }
41
-
42
- .fancybox-outer {
43
- -webkit-overflow-scrolling: touch;
44
- overflow-y: auto; }
45
-
46
- .fancybox-bg {
47
- background: #1e1e1e;
48
- opacity: 0;
49
- transition-duration: inherit;
50
- transition-property: opacity;
51
- transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71); }
52
-
53
- .fancybox-is-open .fancybox-bg {
54
- opacity: .9;
55
- transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }
56
-
57
- .fancybox-infobar,
58
- .fancybox-toolbar,
59
- .fancybox-caption,
60
- .fancybox-navigation .fancybox-button {
61
- direction: ltr;
62
- opacity: 0;
63
- position: absolute;
64
- transition: opacity .25s ease, visibility 0s ease .25s;
65
- visibility: hidden;
66
- z-index: 99997; }
67
-
68
- .fancybox-show-infobar .fancybox-infobar,
69
- .fancybox-show-toolbar .fancybox-toolbar,
70
- .fancybox-show-caption .fancybox-caption,
71
- .fancybox-show-nav .fancybox-navigation .fancybox-button {
72
- opacity: 1;
73
- transition: opacity .25s ease 0s, visibility 0s ease 0s;
74
- visibility: visible; }
75
-
76
- .fancybox-infobar {
77
- color: #ccc;
78
- font-size: 13px;
79
- -webkit-font-smoothing: subpixel-antialiased;
80
- height: 44px;
81
- left: 0;
82
- line-height: 44px;
83
- min-width: 44px;
84
- mix-blend-mode: difference;
85
- padding: 0 10px;
86
- pointer-events: none;
87
- top: 0;
88
- -webkit-touch-callout: none;
89
- -webkit-user-select: none;
90
- -moz-user-select: none;
91
- -ms-user-select: none;
92
- user-select: none; }
93
-
94
- .fancybox-toolbar {
95
- right: 0;
96
- top: 0; }
97
-
98
- .fancybox-stage {
99
- direction: ltr;
100
- overflow: visible;
101
- -webkit-transform: translateZ(0);
102
- transform: translateZ(0);
103
- z-index: 99994; }
104
-
105
- .fancybox-is-open .fancybox-stage {
106
- overflow: hidden; }
107
-
108
- .fancybox-slide {
109
- -webkit-backface-visibility: hidden;
110
- /* Using without prefix would break IE11 */
111
- display: none;
112
- height: 100%;
113
- left: 0;
114
- outline: none;
115
- overflow: auto;
116
- -webkit-overflow-scrolling: touch;
117
- padding: 44px;
118
- position: absolute;
119
- text-align: center;
120
- top: 0;
121
- transition-property: opacity, -webkit-transform;
122
- transition-property: transform, opacity;
123
- transition-property: transform, opacity, -webkit-transform;
124
- white-space: normal;
125
- width: 100%;
126
- z-index: 99994; }
127
-
128
- .fancybox-slide::before {
129
- content: '';
130
- display: inline-block;
131
- font-size: 0;
132
- height: 100%;
133
- vertical-align: middle;
134
- width: 0; }
135
-
136
- .fancybox-is-sliding .fancybox-slide,
137
- .fancybox-slide--previous,
138
- .fancybox-slide--current,
139
- .fancybox-slide--next {
140
- display: block; }
141
-
142
- .fancybox-slide--image {
143
- overflow: hidden;
144
- padding: 44px 0; }
145
-
146
- .fancybox-slide--image::before {
147
- display: none; }
148
-
149
- .fancybox-slide--html {
150
- padding: 6px; }
151
-
152
- .fancybox-content {
153
- background: #fff;
154
- display: inline-block;
155
- margin: 0;
156
- max-width: 100%;
157
- overflow: auto;
158
- -webkit-overflow-scrolling: touch;
159
- padding: 44px;
160
- position: relative;
161
- text-align: left;
162
- vertical-align: middle; }
163
-
164
- .fancybox-slide--image .fancybox-content {
165
- -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
166
- animation-timing-function: cubic-bezier(0.5, 0, 0.14, 1);
167
- -webkit-backface-visibility: hidden;
168
- background: transparent;
169
- background-repeat: no-repeat;
170
- background-size: 100% 100%;
171
- left: 0;
172
- max-width: none;
173
- overflow: visible;
174
- padding: 0;
175
- position: absolute;
176
- top: 0;
177
- -webkit-transform-origin: top left;
178
- -ms-transform-origin: top left;
179
- transform-origin: top left;
180
- transition-property: opacity, -webkit-transform;
181
- transition-property: transform, opacity;
182
- transition-property: transform, opacity, -webkit-transform;
183
- -webkit-user-select: none;
184
- -moz-user-select: none;
185
- -ms-user-select: none;
186
- user-select: none;
187
- z-index: 99995; }
188
-
189
- .fancybox-can-zoomOut .fancybox-content {
190
- cursor: -webkit-zoom-out;
191
- cursor: zoom-out; }
192
-
193
- .fancybox-can-zoomIn .fancybox-content {
194
- cursor: -webkit-zoom-in;
195
- cursor: zoom-in; }
196
-
197
- .fancybox-can-swipe .fancybox-content,
198
- .fancybox-can-pan .fancybox-content {
199
- cursor: -webkit-grab;
200
- cursor: grab; }
201
-
202
- .fancybox-is-grabbing .fancybox-content {
203
- cursor: -webkit-grabbing;
204
- cursor: grabbing; }
205
-
206
- .fancybox-container [data-selectable='true'] {
207
- cursor: text; }
208
-
209
- .fancybox-image,
210
- .fancybox-spaceball {
211
- background: transparent;
212
- border: 0;
213
- height: 100%;
214
- left: 0;
215
- margin: 0;
216
- max-height: none;
217
- max-width: none;
218
- padding: 0;
219
- position: absolute;
220
- top: 0;
221
- -webkit-user-select: none;
222
- -moz-user-select: none;
223
- -ms-user-select: none;
224
- user-select: none;
225
- width: 100%; }
226
-
227
- .fancybox-spaceball {
228
- z-index: 1; }
229
-
230
- .fancybox-slide--video .fancybox-content,
231
- .fancybox-slide--map .fancybox-content,
232
- .fancybox-slide--pdf .fancybox-content,
233
- .fancybox-slide--iframe .fancybox-content {
234
- height: 100%;
235
- overflow: visible;
236
- padding: 0;
237
- width: 100%; }
238
-
239
- .fancybox-slide--video .fancybox-content {
240
- background: #000; }
241
-
242
- .fancybox-slide--map .fancybox-content {
243
- background: #e5e3df; }
244
-
245
- .fancybox-slide--iframe .fancybox-content {
246
- background: #fff; }
247
-
248
- .fancybox-video,
249
- .fancybox-iframe {
250
- background: transparent;
251
- border: 0;
252
- display: block;
253
- height: 100%;
254
- margin: 0;
255
- overflow: hidden;
256
- padding: 0;
257
- width: 100%; }
258
-
259
- /* Fix iOS */
260
- .fancybox-iframe {
261
- left: 0;
262
- position: absolute;
263
- top: 0; }
264
-
265
- .fancybox-error {
266
- background: #fff;
267
- cursor: default;
268
- max-width: 400px;
269
- padding: 40px;
270
- width: 100%; }
271
-
272
- .fancybox-error p {
273
- color: #444;
274
- font-size: 16px;
275
- line-height: 20px;
276
- margin: 0;
277
- padding: 0; }
278
-
279
- /* Buttons */
280
- .fancybox-button {
281
- background: rgba(30, 30, 30, 0.6);
282
- border: 0;
283
- border-radius: 0;
284
- box-shadow: none;
285
- cursor: pointer;
286
- display: inline-block;
287
- height: 44px;
288
- margin: 0;
289
- padding: 10px;
290
- position: relative;
291
- transition: color .2s;
292
- vertical-align: top;
293
- visibility: inherit;
294
- width: 44px; }
295
-
296
- .fancybox-button,
297
- .fancybox-button:visited,
298
- .fancybox-button:link {
299
- color: #ccc; }
300
-
301
- .fancybox-button:hover {
302
- color: #fff; }
303
-
304
- .fancybox-button:focus {
305
- outline: none; }
306
-
307
- .fancybox-button.fancybox-focus {
308
- outline: 1px dotted; }
309
-
310
- .fancybox-button[disabled],
311
- .fancybox-button[disabled]:hover {
312
- color: #888;
313
- cursor: default;
314
- outline: none; }
315
-
316
- /* Fix IE11 */
317
- .fancybox-button div {
318
- height: 100%; }
319
-
320
- .fancybox-button svg {
321
- display: block;
322
- height: 100%;
323
- overflow: visible;
324
- position: relative;
325
- width: 100%; }
326
-
327
- .fancybox-button svg path {
328
- fill: currentColor;
329
- stroke-width: 0; }
330
-
331
- .fancybox-button--play svg:nth-child(2),
332
- .fancybox-button--fsenter svg:nth-child(2) {
333
- display: none; }
334
-
335
- .fancybox-button--pause svg:nth-child(1),
336
- .fancybox-button--fsexit svg:nth-child(1) {
337
- display: none; }
338
-
339
- .fancybox-progress {
340
- background: #ff5268;
341
- height: 2px;
342
- left: 0;
343
- position: absolute;
344
- right: 0;
345
- top: 0;
346
- -webkit-transform: scaleX(0);
347
- -ms-transform: scaleX(0);
348
- transform: scaleX(0);
349
- -webkit-transform-origin: 0;
350
- -ms-transform-origin: 0;
351
- transform-origin: 0;
352
- transition-property: -webkit-transform;
353
- transition-property: transform;
354
- transition-property: transform, -webkit-transform;
355
- transition-timing-function: linear;
356
- z-index: 99998; }
357
-
358
- /* Close button on the top right corner of html content */
359
- .fancybox-close-small {
360
- background: transparent;
361
- border: 0;
362
- border-radius: 0;
363
- color: #ccc;
364
- cursor: pointer;
365
- opacity: .8;
366
- padding: 8px;
367
- position: absolute;
368
- right: -12px;
369
- top: -44px;
370
- z-index: 401; }
371
-
372
- .fancybox-close-small:hover {
373
- color: #fff;
374
- opacity: 1; }
375
-
376
- .fancybox-slide--html .fancybox-close-small {
377
- color: currentColor;
378
- padding: 10px;
379
- right: 0;
380
- top: 0; }
381
-
382
- .fancybox-slide--image.fancybox-is-scaling .fancybox-content {
383
- overflow: hidden; }
384
-
385
- .fancybox-is-scaling .fancybox-close-small,
386
- .fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {
387
- display: none; }
388
-
389
- /* Navigation arrows */
390
- .fancybox-navigation .fancybox-button {
391
- background-clip: content-box;
392
- height: 100px;
393
- opacity: 0;
394
- position: absolute;
395
- top: calc(50% - 50px);
396
- width: 70px; }
397
-
398
- .fancybox-navigation .fancybox-button div {
399
- padding: 7px; }
400
-
401
- .fancybox-navigation .fancybox-button--arrow_left {
402
- left: 0;
403
- padding: 31px 26px 31px 6px; }
404
-
405
- .fancybox-navigation .fancybox-button--arrow_right {
406
- padding: 31px 6px 31px 26px;
407
- right: 0; }
408
-
409
- /* Caption */
410
- .fancybox-caption {
411
- bottom: 0;
412
- color: #eee;
413
- font-size: 14px;
414
- font-weight: 400;
415
- left: 0;
416
- line-height: 1.5;
417
- padding: 25px 44px 25px 44px;
418
- right: 0;
419
- text-align: center;
420
- z-index: 99996; }
421
-
422
- .fancybox-caption::before {
423
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAD6CAQAAADKSeXYAAAAYklEQVQoz42RwQ3AMAgDjfcfup8WoRykfBAK5mQHKSz5rbXJPis1hjiV3CIqgG0hLZPkVkA4p4x5oR1bVeDrdCLrW2Q0D5bcwY3TGMHbdw3mPRuOtaspYP1w//G1OIcW148H0DMCqI/3mMMAAAAASUVORK5CYII=);
424
- background-repeat: repeat-x;
425
- background-size: contain;
426
- bottom: 0;
427
- content: '';
428
- display: block;
429
- left: 0;
430
- pointer-events: none;
431
- position: absolute;
432
- right: 0;
433
- top: -44px;
434
- z-index: -1; }
435
-
436
- .fancybox-caption a,
437
- .fancybox-caption a:link,
438
- .fancybox-caption a:visited {
439
- color: #ccc;
440
- text-decoration: none; }
441
-
442
- .fancybox-caption a:hover {
443
- color: #fff;
444
- text-decoration: underline; }
445
-
446
- /* Loading indicator */
447
- .fancybox-loading {
448
- -webkit-animation: fancybox-rotate 1s linear infinite;
449
- animation: fancybox-rotate 1s linear infinite;
450
- background: transparent;
451
- border: 4px solid #888;
452
- border-bottom-color: #fff;
453
- border-radius: 50%;
454
- height: 50px;
455
- left: 50%;
456
- margin: -25px 0 0 -25px;
457
- opacity: .7;
458
- padding: 0;
459
- position: absolute;
460
- top: 50%;
461
- width: 50px;
462
- z-index: 99999; }
463
-
464
- @-webkit-keyframes fancybox-rotate {
465
- 100% {
466
- -webkit-transform: rotate(360deg);
467
- transform: rotate(360deg); } }
468
-
469
- @keyframes fancybox-rotate {
470
- 100% {
471
- -webkit-transform: rotate(360deg);
472
- transform: rotate(360deg); } }
473
-
474
- /* Transition effects */
475
- .fancybox-animated {
476
- transition-timing-function: cubic-bezier(0, 0, 0.25, 1); }
477
-
478
- /* transitionEffect: slide */
479
- .fancybox-fx-slide.fancybox-slide--previous {
480
- opacity: 0;
481
- -webkit-transform: translate3d(-100%, 0, 0);
482
- transform: translate3d(-100%, 0, 0); }
483
-
484
- .fancybox-fx-slide.fancybox-slide--next {
485
- opacity: 0;
486
- -webkit-transform: translate3d(100%, 0, 0);
487
- transform: translate3d(100%, 0, 0); }
488
-
489
- .fancybox-fx-slide.fancybox-slide--current {
490
- opacity: 1;
491
- -webkit-transform: translate3d(0, 0, 0);
492
- transform: translate3d(0, 0, 0); }
493
-
494
- /* transitionEffect: fade */
495
- .fancybox-fx-fade.fancybox-slide--previous,
496
- .fancybox-fx-fade.fancybox-slide--next {
497
- opacity: 0;
498
- transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
499
-
500
- .fancybox-fx-fade.fancybox-slide--current {
501
- opacity: 1; }
502
-
503
- /* transitionEffect: zoom-in-out */
504
- .fancybox-fx-zoom-in-out.fancybox-slide--previous {
505
- opacity: 0;
506
- -webkit-transform: scale3d(1.5, 1.5, 1.5);
507
- transform: scale3d(1.5, 1.5, 1.5); }
508
-
509
- .fancybox-fx-zoom-in-out.fancybox-slide--next {
510
- opacity: 0;
511
- -webkit-transform: scale3d(0.5, 0.5, 0.5);
512
- transform: scale3d(0.5, 0.5, 0.5); }
513
-
514
- .fancybox-fx-zoom-in-out.fancybox-slide--current {
515
- opacity: 1;
516
- -webkit-transform: scale3d(1, 1, 1);
517
- transform: scale3d(1, 1, 1); }
518
-
519
- /* transitionEffect: rotate */
520
- .fancybox-fx-rotate.fancybox-slide--previous {
521
- opacity: 0;
522
- -webkit-transform: rotate(-360deg);
523
- -ms-transform: rotate(-360deg);
524
- transform: rotate(-360deg); }
525
-
526
- .fancybox-fx-rotate.fancybox-slide--next {
527
- opacity: 0;
528
- -webkit-transform: rotate(360deg);
529
- -ms-transform: rotate(360deg);
530
- transform: rotate(360deg); }
531
-
532
- .fancybox-fx-rotate.fancybox-slide--current {
533
- opacity: 1;
534
- -webkit-transform: rotate(0deg);
535
- -ms-transform: rotate(0deg);
536
- transform: rotate(0deg); }
537
-
538
- /* transitionEffect: circular */
539
- .fancybox-fx-circular.fancybox-slide--previous {
540
- opacity: 0;
541
- -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
542
- transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0); }
543
-
544
- .fancybox-fx-circular.fancybox-slide--next {
545
- opacity: 0;
546
- -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
547
- transform: scale3d(0, 0, 0) translate3d(100%, 0, 0); }
548
-
549
- .fancybox-fx-circular.fancybox-slide--current {
550
- opacity: 1;
551
- -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
552
- transform: scale3d(1, 1, 1) translate3d(0, 0, 0); }
553
-
554
- /* transitionEffect: tube */
555
- .fancybox-fx-tube.fancybox-slide--previous {
556
- -webkit-transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
557
- transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg); }
558
-
559
- .fancybox-fx-tube.fancybox-slide--next {
560
- -webkit-transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
561
- transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg); }
562
-
563
- .fancybox-fx-tube.fancybox-slide--current {
564
- -webkit-transform: translate3d(0, 0, 0) scale(1);
565
- transform: translate3d(0, 0, 0) scale(1); }
566
-
567
- /* Styling for Small-Screen Devices */
568
- @media all and (max-height: 576px) {
569
- .fancybox-caption {
570
- padding: 12px; }
571
- .fancybox-slide {
572
- padding-left: 6px;
573
- padding-right: 6px; }
574
- .fancybox-slide--image {
575
- padding: 6px 0; }
576
- .fancybox-close-small {
577
- right: -6px; }
578
- .fancybox-slide--image .fancybox-close-small {
579
- background: #4e4e4e;
580
- color: #f2f4f6;
581
- height: 36px;
582
- opacity: 1;
583
- padding: 6px;
584
- right: 0;
585
- top: 0;
586
- width: 36px; } }
587
-
588
- /* Share */
589
- .fancybox-share {
590
- background: #f4f4f4;
591
- border-radius: 3px;
592
- max-width: 90%;
593
- padding: 30px;
594
- text-align: center; }
595
-
596
- .fancybox-share h1 {
597
- color: #222;
598
- font-size: 35px;
599
- font-weight: 700;
600
- margin: 0 0 20px 0; }
601
-
602
- .fancybox-share p {
603
- margin: 0;
604
- padding: 0; }
605
-
606
- .fancybox-share__button {
607
- border: 0;
608
- border-radius: 3px;
609
- display: inline-block;
610
- font-size: 14px;
611
- font-weight: 700;
612
- line-height: 40px;
613
- margin: 0 5px 10px 5px;
614
- min-width: 130px;
615
- padding: 0 15px;
616
- text-decoration: none;
617
- transition: all .2s;
618
- -webkit-user-select: none;
619
- -moz-user-select: none;
620
- -ms-user-select: none;
621
- user-select: none;
622
- white-space: nowrap; }
623
-
624
- .fancybox-share__button:visited,
625
- .fancybox-share__button:link {
626
- color: #fff; }
627
-
628
- .fancybox-share__button:hover {
629
- text-decoration: none; }
630
-
631
- .fancybox-share__button--fb {
632
- background: #3b5998; }
633
-
634
- .fancybox-share__button--fb:hover {
635
- background: #344e86; }
636
-
637
- .fancybox-share__button--pt {
638
- background: #bd081d; }
639
-
640
- .fancybox-share__button--pt:hover {
641
- background: #aa0719; }
642
-
643
- .fancybox-share__button--tw {
644
- background: #1da1f2; }
645
-
646
- .fancybox-share__button--tw:hover {
647
- background: #0d95e8; }
648
-
649
- .fancybox-share__button svg {
650
- height: 25px;
651
- margin-right: 7px;
652
- position: relative;
653
- top: -1px;
654
- vertical-align: middle;
655
- width: 25px; }
656
-
657
- .fancybox-share__button svg path {
658
- fill: #fff; }
659
-
660
- .fancybox-share__input {
661
- background: transparent;
662
- border: 0;
663
- border-bottom: 1px solid #d7d7d7;
664
- border-radius: 0;
665
- color: #5d5b5b;
666
- font-size: 14px;
667
- margin: 10px 0 0 0;
668
- outline: none;
669
- padding: 10px 15px;
670
- width: 100%; }
671
-
672
- /* Thumbs */
673
- .fancybox-thumbs {
674
- background: #ddd;
675
- bottom: 0;
676
- display: none;
677
- margin: 0;
678
- -webkit-overflow-scrolling: touch;
679
- -ms-overflow-style: -ms-autohiding-scrollbar;
680
- padding: 2px 2px 4px 2px;
681
- position: absolute;
682
- right: 0;
683
- -webkit-tap-highlight-color: transparent;
684
- top: 0;
685
- width: 212px;
686
- z-index: 99995; }
687
-
688
- .fancybox-thumbs-x {
689
- overflow-x: auto;
690
- overflow-y: hidden; }
691
-
692
- .fancybox-show-thumbs .fancybox-thumbs {
693
- display: block; }
694
-
695
- .fancybox-show-thumbs .fancybox-inner {
696
- right: 212px; }
697
-
698
- .fancybox-thumbs__list {
699
- font-size: 0;
700
- height: 100%;
701
- list-style: none;
702
- margin: 0;
703
- overflow-x: hidden;
704
- overflow-y: auto;
705
- padding: 0;
706
- position: absolute;
707
- position: relative;
708
- white-space: nowrap;
709
- width: 100%; }
710
-
711
- .fancybox-thumbs-x .fancybox-thumbs__list {
712
- overflow: hidden; }
713
-
714
- .fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {
715
- width: 7px; }
716
-
717
- .fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {
718
- background: #fff;
719
- border-radius: 10px;
720
- box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); }
721
-
722
- .fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {
723
- background: #2a2a2a;
724
- border-radius: 10px; }
725
-
726
- .fancybox-thumbs__list a {
727
- -webkit-backface-visibility: hidden;
728
- backface-visibility: hidden;
729
- background-color: rgba(0, 0, 0, 0.1);
730
- background-position: center center;
731
- background-repeat: no-repeat;
732
- background-size: cover;
733
- cursor: pointer;
734
- float: left;
735
- height: 75px;
736
- margin: 2px;
737
- max-height: calc(100% - 8px);
738
- max-width: calc(50% - 4px);
739
- outline: none;
740
- overflow: hidden;
741
- padding: 0;
742
- position: relative;
743
- -webkit-tap-highlight-color: transparent;
744
- width: 100px; }
745
-
746
- .fancybox-thumbs__list a::before {
747
- border: 6px solid #ff5268;
748
- bottom: 0;
749
- content: '';
750
- left: 0;
751
- opacity: 0;
752
- position: absolute;
753
- right: 0;
754
- top: 0;
755
- transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
756
- z-index: 99991; }
757
-
758
- .fancybox-thumbs__list a:focus::before {
759
- opacity: .5; }
760
-
761
- .fancybox-thumbs__list a.fancybox-thumbs-active::before {
762
- opacity: 1; }
763
-
764
- /* Styling for Small-Screen Devices */
765
- @media all and (max-width: 576px) {
766
- .fancybox-thumbs {
767
- width: 110px; }
768
- .fancybox-show-thumbs .fancybox-inner {
769
- right: 110px; }
770
- .fancybox-thumbs__list a {
771
- max-width: calc(100% - 10px); } }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/fancybox/jquery.fancybox.js DELETED
@@ -1,5629 +0,0 @@
1
- // ==================================================
2
- // fancyBox v3.5.2
3
- //
4
- // Licensed GPLv3 for open source use
5
- // or fancyBox Commercial License for commercial use
6
- //
7
- // http://fancyapps.com/fancybox/
8
- // Copyright 2018 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.fancybox) {
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:
114
- '<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" allowfullscreen allow="autoplay; fullscreen" src=""></iframe>',
115
-
116
- // Preload iframe before displaying it
117
- // This allows to calculate iframe content width and height
118
- // (note: Due to "Same Origin Policy", you can't get cross domain data).
119
- preload: true,
120
-
121
- // Custom CSS styling for iframe wrapping element
122
- // You can use this to set custom iframe dimensions
123
- css: {},
124
-
125
- // Iframe tag attributes
126
- attr: {
127
- scrolling: "auto"
128
- }
129
- },
130
-
131
- // For HTML5 video only
132
- video: {
133
- tpl:
134
- '<video class="fancybox-video" controls controlsList="nodownload" poster="{{poster}}">' +
135
- '<source src="{{src}}" type="{{format}}" />' +
136
- 'Sorry, your browser doesn\'t support embedded videos, <a href="{{src}}">download</a> and watch with your favorite video player!' +
137
- "</video>",
138
- format: "", // custom video format
139
- autoStart: true
140
- },
141
-
142
- // Default content type if cannot be detected automatically
143
- defaultType: "image",
144
-
145
- // Open/close animation type
146
- // Possible values:
147
- // false - disable
148
- // "zoom" - zoom images from/to thumbnail
149
- // "fade"
150
- // "zoom-in-out"
151
- //
152
- animationEffect: "zoom",
153
-
154
- // Duration in ms for open/close animation
155
- animationDuration: 366,
156
-
157
- // Should image change opacity while zooming
158
- // If opacity is "auto", then opacity will be changed if image and thumbnail have different aspect ratios
159
- zoomOpacity: "auto",
160
-
161
- // Transition effect between slides
162
- //
163
- // Possible values:
164
- // false - disable
165
- // "fade'
166
- // "slide'
167
- // "circular'
168
- // "tube'
169
- // "zoom-in-out'
170
- // "rotate'
171
- //
172
- transitionEffect: "fade",
173
-
174
- // Duration in ms for transition animation
175
- transitionDuration: 366,
176
-
177
- // Custom CSS class for slide element
178
- slideClass: "",
179
-
180
- // Custom CSS class for layout
181
- baseClass: "",
182
-
183
- // Base template for layout
184
- baseTpl:
185
- '<div class="fancybox-container" role="dialog" tabindex="-1">' +
186
- '<div class="fancybox-bg"></div>' +
187
- '<div class="fancybox-inner">' +
188
- '<div class="fancybox-infobar"><span data-fancybox-index></span>&nbsp;/&nbsp;<span data-fancybox-count></span></div>' +
189
- '<div class="fancybox-toolbar">{{buttons}}</div>' +
190
- '<div class="fancybox-navigation">{{arrows}}</div>' +
191
- '<div class="fancybox-stage"></div>' +
192
- '<div class="fancybox-caption"></div>' +
193
- "</div>" +
194
- "</div>",
195
-
196
- // Loading indicator template
197
- spinnerTpl: '<div class="fancybox-loading"></div>',
198
-
199
- // Error message template
200
- errorTpl: '<div class="fancybox-error"><p>{{ERROR}}</p></div>',
201
-
202
- btnTpl: {
203
- download:
204
- '<a download data-fancybox-download class="fancybox-button fancybox-button--download" title="{{DOWNLOAD}}" href="javascript:;">' +
205
- '<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>' +
206
- "</a>",
207
-
208
- zoom:
209
- '<button data-fancybox-zoom class="fancybox-button fancybox-button--zoom" title="{{ZOOM}}">' +
210
- '<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>' +
211
- "</button>",
212
-
213
- close:
214
- '<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}">' +
215
- '<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>' +
216
- "</button>",
217
-
218
- // Arrows
219
- arrowLeft:
220
- '<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}">' +
221
- '<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>' +
222
- "</button>",
223
-
224
- arrowRight:
225
- '<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}">' +
226
- '<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>' +
227
- "</button>",
228
-
229
- // This small close button will be appended to your html/inline/ajax content by default,
230
- // if "smallBtn" option is not set to false
231
- smallBtn:
232
- '<button type="button" data-fancybox-close class="fancybox-button fancybox-close-small" title="{{CLOSE}}">' +
233
- '<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>' +
234
- "</button>"
235
- },
236
-
237
- // Container is injected into this element
238
- parentEl: "body",
239
-
240
- // Hide browser vertical scrollbars; use at your own risk
241
- hideScrollbar: true,
242
-
243
- // Focus handling
244
- // ==============
245
-
246
- // Try to focus on the first focusable element after opening
247
- autoFocus: true,
248
-
249
- // Put focus back to active element after closing
250
- backFocus: true,
251
-
252
- // Do not let user to focus on element outside modal content
253
- trapFocus: true,
254
-
255
- // Module specific options
256
- // =======================
257
-
258
- fullScreen: {
259
- autoStart: false
260
- },
261
-
262
- // Set `touch: false` to disable panning/swiping
263
- touch: {
264
- vertical: true, // Allow to drag content vertically
265
- momentum: true // Continue movement after releasing mouse/touch when panning
266
- },
267
-
268
- // Hash value when initializing manually,
269
- // set `false` to disable hash change
270
- hash: null,
271
-
272
- // Customize or add new media types
273
- // Example:
274
- /*
275
- media : {
276
- youtube : {
277
- params : {
278
- autoplay : 0
279
- }
280
- }
281
- }
282
- */
283
- media: {},
284
-
285
- slideShow: {
286
- autoStart: false,
287
- speed: 3000
288
- },
289
-
290
- thumbs: {
291
- autoStart: false, // Display thumbnails on opening
292
- hideOnClose: true, // Hide thumbnail grid when closing animation starts
293
- parentEl: ".fancybox-container", // Container is injected into this element
294
- axis: "y" // Vertical (y) or horizontal (x) scrolling
295
- },
296
-
297
- // Use mousewheel to navigate gallery
298
- // If 'auto' - enabled for images only
299
- wheel: "auto",
300
-
301
- // Callbacks
302
- //==========
303
-
304
- // See Documentation/API/Events for more information
305
- // Example:
306
- /*
307
- afterShow: function( instance, current ) {
308
- console.info( 'Clicked element:' );
309
- console.info( current.opts.$orig );
310
- }
311
- */
312
-
313
- onInit: $.noop, // When instance has been initialized
314
-
315
- beforeLoad: $.noop, // Before the content of a slide is being loaded
316
- afterLoad: $.noop, // When the content of a slide is done loading
317
-
318
- beforeShow: $.noop, // Before open animation starts
319
- afterShow: $.noop, // When content is done loading and animating
320
-
321
- beforeClose: $.noop, // Before the instance attempts to close. Return false to cancel the close.
322
- afterClose: $.noop, // After instance has been closed
323
-
324
- onActivate: $.noop, // When instance is brought to front
325
- onDeactivate: $.noop, // When other instance has been activated
326
-
327
- // Interaction
328
- // ===========
329
-
330
- // Use options below to customize taken action when user clicks or double clicks on the fancyBox area,
331
- // each option can be string or method that returns value.
332
- //
333
- // Possible values:
334
- // "close" - close instance
335
- // "next" - move to next gallery item
336
- // "nextOrClose" - move to next gallery item or close if gallery has only one item
337
- // "toggleControls" - show/hide controls
338
- // "zoom" - zoom image (if loaded)
339
- // false - do nothing
340
-
341
- // Clicked on the content
342
- clickContent: function(current, event) {
343
- return current.type === "image" ? "zoom" : false;
344
- },
345
-
346
- // Clicked on the slide
347
- clickSlide: "close",
348
-
349
- // Clicked on the background (backdrop) element;
350
- // if you have not changed the layout, then most likely you need to use `clickSlide` option
351
- clickOutside: "close",
352
-
353
- // Same as previous two, but for double click
354
- dblclickContent: false,
355
- dblclickSlide: false,
356
- dblclickOutside: false,
357
-
358
- // Custom options when mobile device is detected
359
- // =============================================
360
-
361
- mobile: {
362
- preventCaptionOverlap: false,
363
- idleTime: false,
364
- clickContent: function(current, event) {
365
- return current.type === "image" ? "toggleControls" : false;
366
- },
367
- clickSlide: function(current, event) {
368
- return current.type === "image" ? "toggleControls" : "close";
369
- },
370
- dblclickContent: function(current, event) {
371
- return current.type === "image" ? "zoom" : false;
372
- },
373
- dblclickSlide: function(current, event) {
374
- return current.type === "image" ? "zoom" : false;
375
- }
376
- },
377
-
378
- // Internationalization
379
- // ====================
380
-
381
- lang: "en",
382
- i18n: {
383
- en: {
384
- CLOSE: "Close",
385
- NEXT: "Next",
386
- PREV: "Previous",
387
- ERROR: "The requested content cannot be loaded. <br/> Please try again later.",
388
- PLAY_START: "Start slideshow",
389
- PLAY_STOP: "Pause slideshow",
390
- FULL_SCREEN: "Full screen",
391
- THUMBS: "Thumbnails",
392
- DOWNLOAD: "Download",
393
- SHARE: "Share",
394
- ZOOM: "Zoom"
395
- },
396
- de: {
397
- CLOSE: "Schliessen",
398
- NEXT: "Weiter",
399
- PREV: "Zurück",
400
- ERROR: "Die angeforderten Daten konnten nicht geladen werden. <br/> Bitte versuchen Sie es später nochmal.",
401
- PLAY_START: "Diaschau starten",
402
- PLAY_STOP: "Diaschau beenden",
403
- FULL_SCREEN: "Vollbild",
404
- THUMBS: "Vorschaubilder",
405
- DOWNLOAD: "Herunterladen",
406
- SHARE: "Teilen",
407
- ZOOM: "Maßstab"
408
- }
409
- }
410
- };
411
-
412
- // Few useful variables and methods
413
- // ================================
414
-
415
- var $W = $(window);
416
- var $D = $(document);
417
-
418
- var called = 0;
419
-
420
- // Check if an object is a jQuery object and not a native JavaScript object
421
- // ========================================================================
422
- var isQuery = function(obj) {
423
- return obj && obj.hasOwnProperty && obj instanceof $;
424
- };
425
-
426
- // Handle multiple browsers for "requestAnimationFrame" and "cancelAnimationFrame"
427
- // ===============================================================================
428
- var requestAFrame = (function() {
429
- return (
430
- window.requestAnimationFrame ||
431
- window.webkitRequestAnimationFrame ||
432
- window.mozRequestAnimationFrame ||
433
- window.oRequestAnimationFrame ||
434
- // if all else fails, use setTimeout
435
- function(callback) {
436
- return window.setTimeout(callback, 1000 / 60);
437
- }
438
- );
439
- })();
440
-
441
- var cancelAFrame = (function() {
442
- return (
443
- window.cancelAnimationFrame ||
444
- window.webkitCancelAnimationFrame ||
445
- window.mozCancelAnimationFrame ||
446
- window.oCancelAnimationFrame ||
447
- function(id) {
448
- window.clearTimeout(id);
449
- }
450
- );
451
- })();
452
-
453
- // Detect the supported transition-end event property name
454
- // =======================================================
455
- var transitionEnd = (function() {
456
- var el = document.createElement("fakeelement"),
457
- t;
458
-
459
- var transitions = {
460
- transition: "transitionend",
461
- OTransition: "oTransitionEnd",
462
- MozTransition: "transitionend",
463
- WebkitTransition: "webkitTransitionEnd"
464
- };
465
-
466
- for (t in transitions) {
467
- if (el.style[t] !== undefined) {
468
- return transitions[t];
469
- }
470
- }
471
-
472
- return "transitionend";
473
- })();
474
-
475
- // Force redraw on an element.
476
- // This helps in cases where the browser doesn't redraw an updated element properly
477
- // ================================================================================
478
- var forceRedraw = function($el) {
479
- return $el && $el.length && $el[0].offsetHeight;
480
- };
481
-
482
- // Exclude array (`buttons`) options from deep merging
483
- // ===================================================
484
- var mergeOpts = function(opts1, opts2) {
485
- var rez = $.extend(true, {}, opts1, opts2);
486
-
487
- $.each(opts2, function(key, value) {
488
- if ($.isArray(value)) {
489
- rez[key] = value;
490
- }
491
- });
492
-
493
- return rez;
494
- };
495
-
496
- // How much of an element is visible in viewport
497
- // =============================================
498
-
499
- var inViewport = function(elem) {
500
- var elemCenter, rez;
501
-
502
- if (!elem || elem.ownerDocument !== document) {
503
- return false;
504
- }
505
-
506
- $(".fancybox-container").css("pointer-events", "none");
507
-
508
- elemCenter = {
509
- x: elem.getBoundingClientRect().left + elem.offsetWidth / 2,
510
- y: elem.getBoundingClientRect().top + elem.offsetHeight / 2
511
- };
512
-
513
- rez = document.elementFromPoint(elemCenter.x, elemCenter.y) === elem;
514
-
515
- $(".fancybox-container").css("pointer-events", "");
516
-
517
- return rez;
518
- };
519
-
520
- // Class definition
521
- // ================
522
-
523
- var FancyBox = function(content, opts, index) {
524
- var self = this;
525
-
526
- self.opts = mergeOpts({index: index}, $.fancybox.defaults);
527
-
528
- if ($.isPlainObject(opts)) {
529
- self.opts = mergeOpts(self.opts, opts);
530
- }
531
-
532
- if ($.fancybox.isMobile) {
533
- self.opts = mergeOpts(self.opts, self.opts.mobile);
534
- }
535
-
536
- self.id = self.opts.id || ++called;
537
-
538
- self.currIndex = parseInt(self.opts.index, 10) || 0;
539
- self.prevIndex = null;
540
-
541
- self.prevPos = null;
542
- self.currPos = 0;
543
-
544
- self.firstRun = true;
545
-
546
- // All group items
547
- self.group = [];
548
-
549
- // Existing slides (for current, next and previous gallery items)
550
- self.slides = {};
551
-
552
- // Create group elements
553
- self.addContent(content);
554
-
555
- if (!self.group.length) {
556
- return;
557
- }
558
-
559
- self.init();
560
- };
561
-
562
- $.extend(FancyBox.prototype, {
563
- // Create DOM structure
564
- // ====================
565
-
566
- init: function() {
567
- var self = this,
568
- firstItem = self.group[self.currIndex],
569
- firstItemOpts = firstItem.opts,
570
- $container,
571
- buttonStr;
572
-
573
- if (firstItemOpts.closeExisting) {
574
- $.fancybox.close(true);
575
- }
576
-
577
- // Hide scrollbars
578
- // ===============
579
-
580
- $("body").addClass("fancybox-active");
581
-
582
- if (
583
- !$.fancybox.getInstance() &&
584
- firstItemOpts.hideScrollbar !== false &&
585
- !$.fancybox.isMobile &&
586
- document.body.scrollHeight > window.innerHeight
587
- ) {
588
- $("head").append(
589
- '<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar{margin-right:' +
590
- (window.innerWidth - document.documentElement.clientWidth) +
591
- "px;}</style>"
592
- );
593
-
594
- $("body").addClass("compensate-for-scrollbar");
595
- }
596
-
597
- // Build html markup and set references
598
- // ====================================
599
-
600
- // Build html code for buttons and insert into main template
601
- buttonStr = "";
602
-
603
- $.each(firstItemOpts.buttons, function(index, value) {
604
- buttonStr += firstItemOpts.btnTpl[value] || "";
605
- });
606
-
607
- // Create markup from base template, it will be initially hidden to
608
- // avoid unnecessary work like painting while initializing is not complete
609
- $container = $(
610
- self.translate(
611
- self,
612
- firstItemOpts.baseTpl
613
- .replace("{{buttons}}", buttonStr)
614
- .replace("{{arrows}}", firstItemOpts.btnTpl.arrowLeft + firstItemOpts.btnTpl.arrowRight)
615
- )
616
- )
617
- .attr("id", "fancybox-container-" + self.id)
618
- .addClass(firstItemOpts.baseClass)
619
- .data("FancyBox", self)
620
- .appendTo(firstItemOpts.parentEl);
621
-
622
- // Create object holding references to jQuery wrapped nodes
623
- self.$refs = {
624
- container: $container
625
- };
626
-
627
- ["bg", "inner", "infobar", "toolbar", "stage", "caption", "navigation"].forEach(function(item) {
628
- self.$refs[item] = $container.find(".fancybox-" + item);
629
- });
630
-
631
- self.trigger("onInit");
632
-
633
- // Enable events, deactive previous instances
634
- self.activate();
635
-
636
- // Build slides, load and reveal content
637
- self.jumpTo(self.currIndex);
638
- },
639
-
640
- // Simple i18n support - replaces object keys found in template
641
- // with corresponding values
642
- // ============================================================
643
-
644
- translate: function(obj, str) {
645
- var arr = obj.opts.i18n[obj.opts.lang] || obj.opts.i18n.en;
646
-
647
- return str.replace(/\{\{(\w+)\}\}/g, function(match, n) {
648
- var value = arr[n];
649
-
650
- if (value === undefined) {
651
- return match;
652
- }
653
-
654
- return value;
655
- });
656
- },
657
-
658
- // Populate current group with fresh content
659
- // Check if each object has valid type and content
660
- // ===============================================
661
-
662
- addContent: function(content) {
663
- var self = this,
664
- items = $.makeArray(content),
665
- thumbs;
666
-
667
- $.each(items, function(i, item) {
668
- var obj = {},
669
- opts = {},
670
- $item,
671
- type,
672
- found,
673
- src,
674
- srcParts;
675
-
676
- // Step 1 - Make sure we have an object
677
- // ====================================
678
-
679
- if ($.isPlainObject(item)) {
680
- // We probably have manual usage here, something like
681
- // $.fancybox.open( [ { src : "image.jpg", type : "image" } ] )
682
-
683
- obj = item;
684
- opts = item.opts || item;
685
- } else if ($.type(item) === "object" && $(item).length) {
686
- // Here we probably have jQuery collection returned by some selector
687
- $item = $(item);
688
-
689
- // Support attributes like `data-options='{"touch" : false}'` and `data-touch='false'`
690
- opts = $item.data() || {};
691
- opts = $.extend(true, {}, opts, opts.options);
692
-
693
- // Here we store clicked element
694
- opts.$orig = $item;
695
-
696
- obj.src = self.opts.src || opts.src || $item.attr("href");
697
-
698
- // Assume that simple syntax is used, for example:
699
- // `$.fancybox.open( $("#test"), {} );`
700
- if (!obj.type && !obj.src) {
701
- obj.type = "inline";
702
- obj.src = item;
703
- }
704
- } else {
705
- // Assume we have a simple html code, for example:
706
- // $.fancybox.open( '<div><h1>Hi!</h1></div>' );
707
- obj = {
708
- type: "html",
709
- src: item + ""
710
- };
711
- }
712
-
713
- // Each gallery object has full collection of options
714
- obj.opts = $.extend(true, {}, self.opts, opts);
715
-
716
- // Do not merge buttons array
717
- if ($.isArray(opts.buttons)) {
718
- obj.opts.buttons = opts.buttons;
719
- }
720
-
721
- if ($.fancybox.isMobile && obj.opts.mobile) {
722
- obj.opts = mergeOpts(obj.opts, obj.opts.mobile);
723
- }
724
-
725
- // Step 2 - Make sure we have content type, if not - try to guess
726
- // ==============================================================
727
-
728
- type = obj.type || obj.opts.type;
729
- src = obj.src || "";
730
-
731
- if (!type && src) {
732
- if ((found = src.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))) {
733
- type = "video";
734
-
735
- if (!obj.opts.video.format) {
736
- obj.opts.video.format = "video/" + (found[1] === "ogv" ? "ogg" : found[1]);
737
- }
738
- } else if (src.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)) {
739
- type = "image";
740
- } else if (src.match(/\.(pdf)((\?|#).*)?$/i)) {
741
- type = "iframe";
742
- obj = $.extend(true, obj, {contentType: "pdf", opts: {iframe: {preload: false}}});
743
- } else if (src.charAt(0) === "#") {
744
- type = "inline";
745
- }
746
- }
747
-
748
- if (type) {
749
- obj.type = type;
750
- } else {
751
- self.trigger("objectNeedsType", obj);
752
- }
753
-
754
- if (!obj.contentType) {
755
- obj.contentType = $.inArray(obj.type, ["html", "inline", "ajax"]) > -1 ? "html" : obj.type;
756
- }
757
-
758
- // Step 3 - Some adjustments
759
- // =========================
760
-
761
- obj.index = self.group.length;
762
-
763
- if (obj.opts.smallBtn == "auto") {
764
- obj.opts.smallBtn = $.inArray(obj.type, ["html", "inline", "ajax"]) > -1;
765
- }
766
-
767
- if (obj.opts.toolbar === "auto") {
768
- obj.opts.toolbar = !obj.opts.smallBtn;
769
- }
770
-
771
- // Find thumbnail image, check if exists and if is in the viewport
772
- obj.$thumb = obj.opts.$thumb || null;
773
-
774
- if (obj.opts.$trigger && obj.index === self.opts.index) {
775
- obj.$thumb = obj.opts.$trigger.find("img:first");
776
-
777
- if (obj.$thumb.length) {
778
- obj.opts.$orig = obj.opts.$trigger;
779
- }
780
- }
781
-
782
- if (!(obj.$thumb && obj.$thumb.length) && obj.opts.$orig) {
783
- obj.$thumb = obj.opts.$orig.find("img:first");
784
- }
785
-
786
- if (obj.$thumb && !obj.$thumb.length) {
787
- obj.$thumb = null;
788
- }
789
-
790
- obj.thumb = obj.opts.thumb || (obj.$thumb ? obj.$thumb[0].src : null);
791
-
792
- // "caption" is a "special" option, it can be used to customize caption per gallery item
793
- if ($.type(obj.opts.caption) === "function") {
794
- obj.opts.caption = obj.opts.caption.apply(item, [self, obj]);
795
- }
796
-
797
- if ($.type(self.opts.caption) === "function") {
798
- obj.opts.caption = self.opts.caption.apply(item, [self, obj]);
799
- }
800
-
801
- // Make sure we have caption as a string or jQuery object
802
- if (!(obj.opts.caption instanceof $)) {
803
- obj.opts.caption = obj.opts.caption === undefined ? "" : obj.opts.caption + "";
804
- }
805
-
806
- // Check if url contains "filter" used to filter the content
807
- // Example: "ajax.html #something"
808
- if (obj.type === "ajax") {
809
- srcParts = src.split(/\s+/, 2);
810
-
811
- if (srcParts.length > 1) {
812
- obj.src = srcParts.shift();
813
-
814
- obj.opts.filter = srcParts.shift();
815
- }
816
- }
817
-
818
- // Hide all buttons and disable interactivity for modal items
819
- if (obj.opts.modal) {
820
- obj.opts = $.extend(true, obj.opts, {
821
- trapFocus: true,
822
- // Remove buttons
823
- infobar: 0,
824
- toolbar: 0,
825
-
826
- smallBtn: 0,
827
-
828
- // Disable keyboard navigation
829
- keyboard: 0,
830
-
831
- // Disable some modules
832
- slideShow: 0,
833
- fullScreen: 0,
834
- thumbs: 0,
835
- touch: 0,
836
-
837
- // Disable click event handlers
838
- clickContent: false,
839
- clickSlide: false,
840
- clickOutside: false,
841
- dblclickContent: false,
842
- dblclickSlide: false,
843
- dblclickOutside: false
844
- });
845
- }
846
-
847
- // Step 4 - Add processed object to group
848
- // ======================================
849
-
850
- self.group.push(obj);
851
- });
852
-
853
- // Update controls if gallery is already opened
854
- if (Object.keys(self.slides).length) {
855
- self.updateControls();
856
-
857
- // Update thumbnails, if needed
858
- thumbs = self.Thumbs;
859
-
860
- if (thumbs && thumbs.isActive) {
861
- thumbs.create();
862
-
863
- thumbs.focus();
864
- }
865
- }
866
- },
867
-
868
- // Attach an event handler functions for:
869
- // - navigation buttons
870
- // - browser scrolling, resizing;
871
- // - focusing
872
- // - keyboard
873
- // - detecting inactivity
874
- // ======================================
875
-
876
- addEvents: function() {
877
- var self = this;
878
-
879
- self.removeEvents();
880
-
881
- // Make navigation elements clickable
882
- // ==================================
883
-
884
- self.$refs.container
885
- .on("click.fb-close", "[data-fancybox-close]", function(e) {
886
- e.stopPropagation();
887
- e.preventDefault();
888
-
889
- self.close(e);
890
- })
891
- .on("touchstart.fb-prev click.fb-prev", "[data-fancybox-prev]", function(e) {
892
- e.stopPropagation();
893
- e.preventDefault();
894
-
895
- self.previous();
896
- })
897
- .on("touchstart.fb-next click.fb-next", "[data-fancybox-next]", function(e) {
898
- e.stopPropagation();
899
- e.preventDefault();
900
-
901
- self.next();
902
- })
903
- .on("click.fb", "[data-fancybox-zoom]", function(e) {
904
- // Click handler for zoom button
905
- self[self.isScaledDown() ? "scaleToActual" : "scaleToFit"]();
906
- });
907
-
908
- // Handle page scrolling and browser resizing
909
- // ==========================================
910
-
911
- $W.on("orientationchange.fb resize.fb", function(e) {
912
- if (e && e.originalEvent && e.originalEvent.type === "resize") {
913
- if (self.requestId) {
914
- cancelAFrame(self.requestId);
915
- }
916
-
917
- self.requestId = requestAFrame(function() {
918
- self.update(e);
919
- });
920
- } else {
921
- if (self.current && self.current.type === "iframe") {
922
- self.$refs.stage.hide();
923
- }
924
-
925
- setTimeout(function() {
926
- self.$refs.stage.show();
927
-
928
- self.update(e);
929
- }, $.fancybox.isMobile ? 600 : 250);
930
- }
931
- });
932
-
933
- $D.on("keydown.fb", function(e) {
934
- var instance = $.fancybox ? $.fancybox.getInstance() : null,
935
- current = instance.current,
936
- keycode = e.keyCode || e.which;
937
-
938
- // Trap keyboard focus inside of the modal
939
- // =======================================
940
-
941
- if (keycode == 9) {
942
- if (current.opts.trapFocus) {
943
- self.focus(e);
944
- }
945
-
946
- return;
947
- }
948
-
949
- // Enable keyboard navigation
950
- // ==========================
951
-
952
- if (!current.opts.keyboard || e.ctrlKey || e.altKey || e.shiftKey || $(e.target).is("input") || $(e.target).is("textarea")) {
953
- return;
954
- }
955
-
956
- // Backspace and Esc keys
957
- if (keycode === 8 || keycode === 27) {
958
- e.preventDefault();
959
-
960
- self.close(e);
961
-
962
- return;
963
- }
964
-
965
- // Left arrow and Up arrow
966
- if (keycode === 37 || keycode === 38) {
967
- e.preventDefault();
968
-
969
- self.previous();
970
-
971
- return;
972
- }
973
-
974
- // Righ arrow and Down arrow
975
- if (keycode === 39 || keycode === 40) {
976
- e.preventDefault();
977
-
978
- self.next();
979
-
980
- return;
981
- }
982
-
983
- self.trigger("afterKeydown", e, keycode);
984
- });
985
-
986
- // Hide controls after some inactivity period
987
- if (self.group[self.currIndex].opts.idleTime) {
988
- self.idleSecondsCounter = 0;
989
-
990
- $D.on(
991
- "mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",
992
- function(e) {
993
- self.idleSecondsCounter = 0;
994
-
995
- if (self.isIdle) {
996
- self.showControls();
997
- }
998
-
999
- self.isIdle = false;
1000
- }
1001
- );
1002
-
1003
- self.idleInterval = window.setInterval(function() {
1004
- self.idleSecondsCounter++;
1005
-
1006
- if (self.idleSecondsCounter >= self.group[self.currIndex].opts.idleTime && !self.isDragging) {
1007
- self.isIdle = true;
1008
- self.idleSecondsCounter = 0;
1009
-
1010
- self.hideControls();
1011
- }
1012
- }, 1000);
1013
- }
1014
- },
1015
-
1016
- // Remove events added by the core
1017
- // ===============================
1018
-
1019
- removeEvents: function() {
1020
- var self = this;
1021
-
1022
- $W.off("orientationchange.fb resize.fb");
1023
- $D.off("keydown.fb .fb-idle");
1024
-
1025
- this.$refs.container.off(".fb-close .fb-prev .fb-next");
1026
-
1027
- if (self.idleInterval) {
1028
- window.clearInterval(self.idleInterval);
1029
-
1030
- self.idleInterval = null;
1031
- }
1032
- },
1033
-
1034
- // Change to previous gallery item
1035
- // ===============================
1036
-
1037
- previous: function(duration) {
1038
- return this.jumpTo(this.currPos - 1, duration);
1039
- },
1040
-
1041
- // Change to next gallery item
1042
- // ===========================
1043
-
1044
- next: function(duration) {
1045
- return this.jumpTo(this.currPos + 1, duration);
1046
- },
1047
-
1048
- // Switch to selected gallery item
1049
- // ===============================
1050
-
1051
- jumpTo: function(pos, duration) {
1052
- var self = this,
1053
- groupLen = self.group.length,
1054
- firstRun,
1055
- isMoved,
1056
- loop,
1057
- current,
1058
- previous,
1059
- slidePos,
1060
- stagePos,
1061
- prop,
1062
- diff;
1063
-
1064
- if (self.isDragging || self.isClosing || (self.isAnimating && self.firstRun)) {
1065
- return;
1066
- }
1067
-
1068
- // Should loop?
1069
- pos = parseInt(pos, 10);
1070
- loop = self.current ? self.current.opts.loop : self.opts.loop;
1071
-
1072
- if (!loop && (pos < 0 || pos >= groupLen)) {
1073
- return false;
1074
- }
1075
-
1076
- // Check if opening for the first time; this helps to speed things up
1077
- firstRun = self.firstRun = !Object.keys(self.slides).length;
1078
-
1079
- // Create slides
1080
- previous = self.current;
1081
-
1082
- self.prevIndex = self.currIndex;
1083
- self.prevPos = self.currPos;
1084
-
1085
- current = self.createSlide(pos);
1086
-
1087
- if (groupLen > 1) {
1088
- if (loop || current.index < groupLen - 1) {
1089
- self.createSlide(pos + 1);
1090
- }
1091
-
1092
- if (loop || current.index > 0) {
1093
- self.createSlide(pos - 1);
1094
- }
1095
- }
1096
-
1097
- self.current = current;
1098
- self.currIndex = current.index;
1099
- self.currPos = current.pos;
1100
-
1101
- self.trigger("beforeShow", firstRun);
1102
-
1103
- self.updateControls();
1104
-
1105
- // Validate duration length
1106
- current.forcedDuration = undefined;
1107
-
1108
- if ($.isNumeric(duration)) {
1109
- current.forcedDuration = duration;
1110
- } else {
1111
- duration = current.opts[firstRun ? "animationDuration" : "transitionDuration"];
1112
- }
1113
-
1114
- duration = parseInt(duration, 10);
1115
-
1116
- // Check if user has swiped the slides or if still animating
1117
- isMoved = self.isMoved(current);
1118
-
1119
- // Make sure current slide is visible
1120
- current.$slide.addClass("fancybox-slide--current");
1121
-
1122
- // Fresh start - reveal container, current slide and start loading content
1123
- if (firstRun) {
1124
- if (current.opts.animationEffect && duration) {
1125
- self.$refs.container.css("transition-duration", duration + "ms");
1126
- }
1127
-
1128
- self.$refs.container.addClass("fancybox-is-open").trigger("focus");
1129
-
1130
- // Attempt to load content into slide
1131
- // This will later call `afterLoad` -> `revealContent`
1132
- self.loadSlide(current);
1133
-
1134
- self.preload("image");
1135
-
1136
- return;
1137
- }
1138
-
1139
- // Get actual slide/stage positions (before cleaning up)
1140
- slidePos = $.fancybox.getTranslate(previous.$slide);
1141
- stagePos = $.fancybox.getTranslate(self.$refs.stage);
1142
-
1143
- // Clean up all slides
1144
- $.each(self.slides, function(index, slide) {
1145
- $.fancybox.stop(slide.$slide, true);
1146
- });
1147
-
1148
- if (previous.pos !== current.pos) {
1149
- previous.isComplete = false;
1150
- }
1151
-
1152
- previous.$slide.removeClass("fancybox-slide--complete fancybox-slide--current");
1153
-
1154
- // If slides are out of place, then animate them to correct position
1155
- if (isMoved) {
1156
- // Calculate horizontal swipe distance
1157
- diff = slidePos.left - (previous.pos * slidePos.width + previous.pos * previous.opts.gutter);
1158
-
1159
- $.each(self.slides, function(index, slide) {
1160
- slide.$slide.removeClass("fancybox-animated").removeClass(function(index, className) {
1161
- return (className.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" ");
1162
- });
1163
-
1164
- // Make sure that each slide is in equal distance
1165
- // This is mostly needed for freshly added slides, because they are not yet positioned
1166
- var leftPos = slide.pos * slidePos.width + slide.pos * slide.opts.gutter;
1167
-
1168
- $.fancybox.setTranslate(slide.$slide, {top: 0, left: leftPos - stagePos.left + diff});
1169
-
1170
- if (slide.pos !== current.pos) {
1171
- slide.$slide.addClass("fancybox-slide--" + (slide.pos > current.pos ? "next" : "previous"));
1172
- }
1173
-
1174
- // Redraw to make sure that transition will start
1175
- forceRedraw(slide.$slide);
1176
-
1177
- // Animate the slide
1178
- $.fancybox.animate(
1179
- slide.$slide,
1180
- {
1181
- top: 0,
1182
- left: (slide.pos - current.pos) * slidePos.width + (slide.pos - current.pos) * slide.opts.gutter
1183
- },
1184
- duration,
1185
- function() {
1186
- slide.$slide
1187
- .css({
1188
- transform: "",
1189
- opacity: ""
1190
- })
1191
- .removeClass("fancybox-slide--next fancybox-slide--previous");
1192
-
1193
- if (slide.pos === self.currPos) {
1194
- self.complete();
1195
- }
1196
- }
1197
- );
1198
- });
1199
- } else if (duration && current.opts.transitionEffect) {
1200
- // Set transition effect for previously active slide
1201
- prop = "fancybox-animated fancybox-fx-" + current.opts.transitionEffect;
1202
-
1203
- previous.$slide.addClass("fancybox-slide--" + (previous.pos > current.pos ? "next" : "previous"));
1204
-
1205
- $.fancybox.animate(
1206
- previous.$slide,
1207
- prop,
1208
- duration,
1209
- function() {
1210
- previous.$slide.removeClass(prop).removeClass("fancybox-slide--next fancybox-slide--previous");
1211
- },
1212
- false
1213
- );
1214
- }
1215
-
1216
- if (current.isLoaded) {
1217
- self.revealContent(current);
1218
- } else {
1219
- self.loadSlide(current);
1220
- }
1221
-
1222
- self.preload("image");
1223
- },
1224
-
1225
- // Create new "slide" element
1226
- // These are gallery items that are actually added to DOM
1227
- // =======================================================
1228
-
1229
- createSlide: function(pos) {
1230
- var self = this,
1231
- $slide,
1232
- index;
1233
-
1234
- index = pos % self.group.length;
1235
- index = index < 0 ? self.group.length + index : index;
1236
-
1237
- if (!self.slides[pos] && self.group[index]) {
1238
- $slide = $('<div class="fancybox-slide"></div>').appendTo(self.$refs.stage);
1239
-
1240
- self.slides[pos] = $.extend(true, {}, self.group[index], {
1241
- pos: pos,
1242
- $slide: $slide,
1243
- isLoaded: false
1244
- });
1245
-
1246
- self.updateSlide(self.slides[pos]);
1247
- }
1248
-
1249
- return self.slides[pos];
1250
- },
1251
-
1252
- // Scale image to the actual size of the image;
1253
- // x and y values should be relative to the slide
1254
- // ==============================================
1255
-
1256
- scaleToActual: function(x, y, duration) {
1257
- var self = this,
1258
- current = self.current,
1259
- $content = current.$content,
1260
- canvasWidth = $.fancybox.getTranslate(current.$slide).width,
1261
- canvasHeight = $.fancybox.getTranslate(current.$slide).height,
1262
- newImgWidth = current.width,
1263
- newImgHeight = current.height,
1264
- imgPos,
1265
- posX,
1266
- posY,
1267
- scaleX,
1268
- scaleY;
1269
-
1270
- if (self.isAnimating || self.isMoved() || !$content || !(current.type == "image" && current.isLoaded && !current.hasError)) {
1271
- return;
1272
- }
1273
-
1274
- self.isAnimating = true;
1275
-
1276
- $.fancybox.stop($content);
1277
-
1278
- x = x === undefined ? canvasWidth * 0.5 : x;
1279
- y = y === undefined ? canvasHeight * 0.5 : y;
1280
-
1281
- imgPos = $.fancybox.getTranslate($content);
1282
-
1283
- imgPos.top -= $.fancybox.getTranslate(current.$slide).top;
1284
- imgPos.left -= $.fancybox.getTranslate(current.$slide).left;
1285
-
1286
- scaleX = newImgWidth / imgPos.width;
1287
- scaleY = newImgHeight / imgPos.height;
1288
-
1289
- // Get center position for original image
1290
- posX = canvasWidth * 0.5 - newImgWidth * 0.5;
1291
- posY = canvasHeight * 0.5 - newImgHeight * 0.5;
1292
-
1293
- // Make sure image does not move away from edges
1294
- if (newImgWidth > canvasWidth) {
1295
- posX = imgPos.left * scaleX - (x * scaleX - x);
1296
-
1297
- if (posX > 0) {
1298
- posX = 0;
1299
- }
1300
-
1301
- if (posX < canvasWidth - newImgWidth) {
1302
- posX = canvasWidth - newImgWidth;
1303
- }
1304
- }
1305
-
1306
- if (newImgHeight > canvasHeight) {
1307
- posY = imgPos.top * scaleY - (y * scaleY - y);
1308
-
1309
- if (posY > 0) {
1310
- posY = 0;
1311
- }
1312
-
1313
- if (posY < canvasHeight - newImgHeight) {
1314
- posY = canvasHeight - newImgHeight;
1315
- }
1316
- }
1317
-
1318
- self.updateCursor(newImgWidth, newImgHeight);
1319
-
1320
- $.fancybox.animate(
1321
- $content,
1322
- {
1323
- top: posY,
1324
- left: posX,
1325
- scaleX: scaleX,
1326
- scaleY: scaleY
1327
- },
1328
- duration || 330,
1329
- function() {
1330
- self.isAnimating = false;
1331
- }
1332
- );
1333
-
1334
- // Stop slideshow
1335
- if (self.SlideShow && self.SlideShow.isActive) {
1336
- self.SlideShow.stop();
1337
- }
1338
- },
1339
-
1340
- // Scale image to fit inside parent element
1341
- // ========================================
1342
-
1343
- scaleToFit: function(duration) {
1344
- var self = this,
1345
- current = self.current,
1346
- $content = current.$content,
1347
- end;
1348
-
1349
- if (self.isAnimating || self.isMoved() || !$content || !(current.type == "image" && current.isLoaded && !current.hasError)) {
1350
- return;
1351
- }
1352
-
1353
- self.isAnimating = true;
1354
-
1355
- $.fancybox.stop($content);
1356
-
1357
- end = self.getFitPos(current);
1358
-
1359
- self.updateCursor(end.width, end.height);
1360
-
1361
- $.fancybox.animate(
1362
- $content,
1363
- {
1364
- top: end.top,
1365
- left: end.left,
1366
- scaleX: end.width / $content.width(),
1367
- scaleY: end.height / $content.height()
1368
- },
1369
- duration || 330,
1370
- function() {
1371
- self.isAnimating = false;
1372
- }
1373
- );
1374
- },
1375
-
1376
- // Calculate image size to fit inside viewport
1377
- // ===========================================
1378
-
1379
- getFitPos: function(slide) {
1380
- var self = this,
1381
- $content = slide.$content,
1382
- $slide = slide.$slide,
1383
- width = slide.width || slide.opts.width,
1384
- height = slide.height || slide.opts.height,
1385
- maxWidth,
1386
- maxHeight,
1387
- minRatio,
1388
- aspectRatio,
1389
- rez = {};
1390
-
1391
- if (!slide.isLoaded || !$content || !$content.length) {
1392
- return false;
1393
- }
1394
-
1395
- maxWidth = $.fancybox.getTranslate(self.$refs.stage).width;
1396
- maxHeight = $.fancybox.getTranslate(self.$refs.stage).height;
1397
-
1398
- maxWidth -=
1399
- parseFloat($slide.css("paddingLeft")) +
1400
- parseFloat($slide.css("paddingRight")) +
1401
- parseFloat($content.css("marginLeft")) +
1402
- parseFloat($content.css("marginRight"));
1403
-
1404
- maxHeight -=
1405
- parseFloat($slide.css("paddingTop")) +
1406
- parseFloat($slide.css("paddingBottom")) +
1407
- parseFloat($content.css("marginTop")) +
1408
- parseFloat($content.css("marginBottom"));
1409
-
1410
- if (!width || !height) {
1411
- width = maxWidth;
1412
- height = maxHeight;
1413
- }
1414
-
1415
- minRatio = Math.min(1, maxWidth / width, maxHeight / height);
1416
-
1417
- width = minRatio * width;
1418
- height = minRatio * height;
1419
-
1420
- // Adjust width/height to precisely fit into container
1421
- if (width > maxWidth - 0.5) {
1422
- width = maxWidth;
1423
- }
1424
-
1425
- if (height > maxHeight - 0.5) {
1426
- height = maxHeight;
1427
- }
1428
-
1429
- if (slide.type === "image") {
1430
- rez.top = Math.floor((maxHeight - height) * 0.5) + parseFloat($slide.css("paddingTop"));
1431
- rez.left = Math.floor((maxWidth - width) * 0.5) + parseFloat($slide.css("paddingLeft"));
1432
- } else if (slide.contentType === "video") {
1433
- // Force aspect ratio for the video
1434
- // "I say the whole world must learn of our peaceful ways… by force!"
1435
- aspectRatio = slide.opts.width && slide.opts.height ? width / height : slide.opts.ratio || 16 / 9;
1436
-
1437
- if (height > width / aspectRatio) {
1438
- height = width / aspectRatio;
1439
- } else if (width > height * aspectRatio) {
1440
- width = height * aspectRatio;
1441
- }
1442
- }
1443
-
1444
- rez.width = width;
1445
- rez.height = height;
1446
-
1447
- return rez;
1448
- },
1449
-
1450
- // Update content size and position for all slides
1451
- // ==============================================
1452
-
1453
- update: function(e) {
1454
- var self = this;
1455
-
1456
- $.each(self.slides, function(key, slide) {
1457
- self.updateSlide(slide, e);
1458
- });
1459
- },
1460
-
1461
- // Update slide content position and size
1462
- // ======================================
1463
-
1464
- updateSlide: function(slide, e) {
1465
- var self = this,
1466
- $content = slide && slide.$content,
1467
- width = slide.width || slide.opts.width,
1468
- height = slide.height || slide.opts.height,
1469
- $slide = slide.$slide;
1470
-
1471
- // First, prevent caption overlap, if needed
1472
- self.adjustCaption(slide);
1473
-
1474
- // Then resize content to fit inside the slide
1475
- if ($content && (width || height || slide.contentType === "video") && !slide.hasError) {
1476
- $.fancybox.stop($content);
1477
-
1478
- $.fancybox.setTranslate($content, self.getFitPos(slide));
1479
-
1480
- if (slide.pos === self.currPos) {
1481
- self.isAnimating = false;
1482
-
1483
- self.updateCursor();
1484
- }
1485
- }
1486
-
1487
- // Then some adjustments
1488
- self.adjustLayout(slide);
1489
-
1490
- if ($slide.length) {
1491
- $slide.trigger("refresh");
1492
-
1493
- if (slide.pos === self.currPos) {
1494
- self.$refs.toolbar
1495
- .add(self.$refs.navigation.find(".fancybox-button--arrow_right"))
1496
- .toggleClass("compensate-for-scrollbar", $slide.get(0).scrollHeight > $slide.get(0).clientHeight);
1497
- }
1498
- }
1499
-
1500
- self.trigger("onUpdate", slide, e);
1501
- },
1502
-
1503
- // Horizontally center slide
1504
- // =========================
1505
-
1506
- centerSlide: function(duration) {
1507
- var self = this,
1508
- current = self.current,
1509
- $slide = current.$slide;
1510
-
1511
- if (self.isClosing || !current) {
1512
- return;
1513
- }
1514
-
1515
- $slide.siblings().css({
1516
- transform: "",
1517
- opacity: ""
1518
- });
1519
-
1520
- $slide
1521
- .parent()
1522
- .children()
1523
- .removeClass("fancybox-slide--previous fancybox-slide--next");
1524
-
1525
- $.fancybox.animate(
1526
- $slide,
1527
- {
1528
- top: 0,
1529
- left: 0,
1530
- opacity: 1
1531
- },
1532
- duration === undefined ? 0 : duration,
1533
- function() {
1534
- // Clean up
1535
- $slide.css({
1536
- transform: "",
1537
- opacity: ""
1538
- });
1539
-
1540
- if (!current.isComplete) {
1541
- self.complete();
1542
- }
1543
- },
1544
- false
1545
- );
1546
- },
1547
-
1548
- // Check if current slide is moved (swiped)
1549
- // ========================================
1550
-
1551
- isMoved: function(slide) {
1552
- var current = slide || this.current,
1553
- slidePos,
1554
- stagePos;
1555
-
1556
- if (!current) {
1557
- return false;
1558
- }
1559
-
1560
- stagePos = $.fancybox.getTranslate(this.$refs.stage);
1561
- slidePos = $.fancybox.getTranslate(current.$slide);
1562
-
1563
- return (
1564
- !current.$slide.hasClass("fancybox-animated") &&
1565
- (Math.abs(slidePos.top - stagePos.top) > 0.5 || Math.abs(slidePos.left - stagePos.left) > 0.5)
1566
- );
1567
- },
1568
-
1569
- // Update cursor style depending if content can be zoomed
1570
- // ======================================================
1571
-
1572
- updateCursor: function(nextWidth, nextHeight) {
1573
- var self = this,
1574
- current = self.current,
1575
- $container = self.$refs.container,
1576
- canPan,
1577
- isZoomable;
1578
-
1579
- if (!current || self.isClosing || !self.Guestures) {
1580
- return;
1581
- }
1582
-
1583
- $container.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan");
1584
-
1585
- canPan = self.canPan(nextWidth, nextHeight);
1586
-
1587
- isZoomable = canPan ? true : self.isZoomable();
1588
-
1589
- $container.toggleClass("fancybox-is-zoomable", isZoomable);
1590
-
1591
- $("[data-fancybox-zoom]").prop("disabled", !isZoomable);
1592
-
1593
- if (canPan) {
1594
- $container.addClass("fancybox-can-pan");
1595
- } else if (
1596
- isZoomable &&
1597
- (current.opts.clickContent === "zoom" || ($.isFunction(current.opts.clickContent) && current.opts.clickContent(current) == "zoom"))
1598
- ) {
1599
- $container.addClass("fancybox-can-zoomIn");
1600
- } else if (current.opts.touch && (current.opts.touch.vertical || self.group.length > 1) && current.contentType !== "video") {
1601
- $container.addClass("fancybox-can-swipe");
1602
- }
1603
- },
1604
-
1605
- // Check if current slide is zoomable
1606
- // ==================================
1607
-
1608
- isZoomable: function() {
1609
- var self = this,
1610
- current = self.current,
1611
- fitPos;
1612
-
1613
- // Assume that slide is zoomable if:
1614
- // - image is still loading
1615
- // - actual size of the image is smaller than available area
1616
- if (current && !self.isClosing && current.type === "image" && !current.hasError) {
1617
- if (!current.isLoaded) {
1618
- return true;
1619
- }
1620
-
1621
- fitPos = self.getFitPos(current);
1622
-
1623
- if (fitPos && (current.width > fitPos.width || current.height > fitPos.height)) {
1624
- return true;
1625
- }
1626
- }
1627
-
1628
- return false;
1629
- },
1630
-
1631
- // Check if current image dimensions are smaller than actual
1632
- // =========================================================
1633
-
1634
- isScaledDown: function(nextWidth, nextHeight) {
1635
- var self = this,
1636
- rez = false,
1637
- current = self.current,
1638
- $content = current.$content;
1639
-
1640
- if (nextWidth !== undefined && nextHeight !== undefined) {
1641
- rez = nextWidth < current.width && nextHeight < current.height;
1642
- } else if ($content) {
1643
- rez = $.fancybox.getTranslate($content);
1644
- rez = rez.width < current.width && rez.height < current.height;
1645
- }
1646
-
1647
- return rez;
1648
- },
1649
-
1650
- // Check if image dimensions exceed parent element
1651
- // ===============================================
1652
-
1653
- canPan: function(nextWidth, nextHeight) {
1654
- var self = this,
1655
- current = self.current,
1656
- pos = null,
1657
- rez = false;
1658
-
1659
- if (current.type === "image" && (current.isComplete || (nextWidth && nextHeight)) && !current.hasError) {
1660
- rez = self.getFitPos(current);
1661
-
1662
- if (nextWidth !== undefined && nextHeight !== undefined) {
1663
- pos = {width: nextWidth, height: nextHeight};
1664
- } else if (current.isComplete) {
1665
- pos = $.fancybox.getTranslate(current.$content);
1666
- }
1667
-
1668
- if (pos && rez) {
1669
- rez = Math.abs(pos.width - rez.width) > 1.5 || Math.abs(pos.height - rez.height) > 1.5;
1670
- }
1671
- }
1672
-
1673
- return rez;
1674
- },
1675
-
1676
- // Load content into the slide
1677
- // ===========================
1678
-
1679
- loadSlide: function(slide) {
1680
- var self = this,
1681
- type,
1682
- $slide,
1683
- ajaxLoad;
1684
-
1685
- if (slide.isLoading || slide.isLoaded) {
1686
- return;
1687
- }
1688
-
1689
- slide.isLoading = true;
1690
-
1691
- if (self.trigger("beforeLoad", slide) === false) {
1692
- slide.isLoading = false;
1693
-
1694
- return false;
1695
- }
1696
-
1697
- type = slide.type;
1698
- $slide = slide.$slide;
1699
-
1700
- $slide
1701
- .off("refresh")
1702
- .trigger("onReset")
1703
- .addClass(slide.opts.slideClass);
1704
-
1705
- // Create content depending on the type
1706
- switch (type) {
1707
- case "image":
1708
- self.setImage(slide);
1709
-
1710
- break;
1711
-
1712
- case "iframe":
1713
- self.setIframe(slide);
1714
-
1715
- break;
1716
-
1717
- case "html":
1718
- self.setContent(slide, slide.src || slide.content);
1719
-
1720
- break;
1721
-
1722
- case "video":
1723
- self.setContent(
1724
- slide,
1725
- slide.opts.video.tpl
1726
- .replace(/\{\{src\}\}/gi, slide.src)
1727
- .replace("{{format}}", slide.opts.videoFormat || slide.opts.video.format || "")
1728
- .replace("{{poster}}", slide.thumb || "")
1729
- );
1730
-
1731
- break;
1732
-
1733
- case "inline":
1734
- if ($(slide.src).length) {
1735
- self.setContent(slide, $(slide.src));
1736
- } else {
1737
- self.setError(slide);
1738
- }
1739
-
1740
- break;
1741
-
1742
- case "ajax":
1743
- self.showLoading(slide);
1744
-
1745
- ajaxLoad = $.ajax(
1746
- $.extend({}, slide.opts.ajax.settings, {
1747
- url: slide.src,
1748
- success: function(data, textStatus) {
1749
- if (textStatus === "success") {
1750
- self.setContent(slide, data);
1751
- }
1752
- },
1753
- error: function(jqXHR, textStatus) {
1754
- if (jqXHR && textStatus !== "abort") {
1755
- self.setError(slide);
1756
- }
1757
- }
1758
- })
1759
- );
1760
-
1761
- $slide.one("onReset", function() {
1762
- ajaxLoad.abort();
1763
- });
1764
-
1765
- break;
1766
-
1767
- default:
1768
- self.setError(slide);
1769
-
1770
- break;
1771
- }
1772
-
1773
- return true;
1774
- },
1775
-
1776
- // Use thumbnail image, if possible
1777
- // ================================
1778
-
1779
- setImage: function(slide) {
1780
- var self = this,
1781
- ghost;
1782
-
1783
- // Check if need to show loading icon
1784
- setTimeout(function() {
1785
- var $img = slide.$image;
1786
-
1787
- if (!self.isClosing && slide.isLoading && (!$img || !$img.length || !$img[0].complete) && !slide.hasError) {
1788
- self.showLoading(slide);
1789
- }
1790
- }, 50);
1791
-
1792
- //Check if image has srcset
1793
- self.checkSrcset(slide);
1794
-
1795
- // This will be wrapper containing both ghost and actual image
1796
- slide.$content = $('<div class="fancybox-content"></div>')
1797
- .addClass("fancybox-is-hidden")
1798
- .appendTo(slide.$slide.addClass("fancybox-slide--image"));
1799
-
1800
- // If we have a thumbnail, we can display it while actual image is loading
1801
- // Users will not stare at black screen and actual image will appear gradually
1802
- if (slide.opts.preload !== false && slide.opts.width && slide.opts.height && slide.thumb) {
1803
- slide.width = slide.opts.width;
1804
- slide.height = slide.opts.height;
1805
-
1806
- ghost = document.createElement("img");
1807
-
1808
- ghost.onerror = function() {
1809
- $(this).remove();
1810
-
1811
- slide.$ghost = null;
1812
- };
1813
-
1814
- ghost.onload = function() {
1815
- self.afterLoad(slide);
1816
- };
1817
-
1818
- slide.$ghost = $(ghost)
1819
- .addClass("fancybox-image")
1820
- .appendTo(slide.$content)
1821
- .attr("src", slide.thumb);
1822
- }
1823
-
1824
- // Start loading actual image
1825
- self.setBigImage(slide);
1826
- },
1827
-
1828
- // Check if image has srcset and get the source
1829
- // ============================================
1830
- checkSrcset: function(slide) {
1831
- var srcset = slide.opts.srcset || slide.opts.image.srcset,
1832
- found,
1833
- temp,
1834
- pxRatio,
1835
- windowWidth;
1836
-
1837
- // If we have "srcset", then we need to find first matching "src" value.
1838
- // This is necessary, because when you set an src attribute, the browser will preload the image
1839
- // before any javascript or even CSS is applied.
1840
- if (srcset) {
1841
- pxRatio = window.devicePixelRatio || 1;
1842
- windowWidth = window.innerWidth * pxRatio;
1843
-
1844
- temp = srcset.split(",").map(function(el) {
1845
- var ret = {};
1846
-
1847
- el.trim()
1848
- .split(/\s+/)
1849
- .forEach(function(el, i) {
1850
- var value = parseInt(el.substring(0, el.length - 1), 10);
1851
-
1852
- if (i === 0) {
1853
- return (ret.url = el);
1854
- }
1855
-
1856
- if (value) {
1857
- ret.value = value;
1858
- ret.postfix = el[el.length - 1];
1859
- }
1860
- });
1861
-
1862
- return ret;
1863
- });
1864
-
1865
- // Sort by value
1866
- temp.sort(function(a, b) {
1867
- return a.value - b.value;
1868
- });
1869
-
1870
- // Ok, now we have an array of all srcset values
1871
- for (var j = 0; j < temp.length; j++) {
1872
- var el = temp[j];
1873
-
1874
- if ((el.postfix === "w" && el.value >= windowWidth) || (el.postfix === "x" && el.value >= pxRatio)) {
1875
- found = el;
1876
- break;
1877
- }
1878
- }
1879
-
1880
- // If not found, take the last one
1881
- if (!found && temp.length) {
1882
- found = temp[temp.length - 1];
1883
- }
1884
-
1885
- if (found) {
1886
- slide.src = found.url;
1887
-
1888
- // If we have default width/height values, we can calculate height for matching source
1889
- if (slide.width && slide.height && found.postfix == "w") {
1890
- slide.height = (slide.width / slide.height) * found.value;
1891
- slide.width = found.value;
1892
- }
1893
-
1894
- slide.opts.srcset = srcset;
1895
- }
1896
- }
1897
- },
1898
-
1899
- // Create full-size image
1900
- // ======================
1901
-
1902
- setBigImage: function(slide) {
1903
- var self = this,
1904
- img = document.createElement("img"),
1905
- $img = $(img);
1906
-
1907
- slide.$image = $img
1908
- .one("error", function() {
1909
- self.setError(slide);
1910
- })
1911
- .one("load", function() {
1912
- var sizes;
1913
-
1914
- if (!slide.$ghost) {
1915
- self.resolveImageSlideSize(slide, this.naturalWidth, this.naturalHeight);
1916
-
1917
- self.afterLoad(slide);
1918
- }
1919
-
1920
- if (self.isClosing) {
1921
- return;
1922
- }
1923
-
1924
- if (slide.opts.srcset) {
1925
- sizes = slide.opts.sizes;
1926
-
1927
- if (!sizes || sizes === "auto") {
1928
- sizes =
1929
- (slide.width / slide.height > 1 && $W.width() / $W.height() > 1 ? "100" : Math.round((slide.width / slide.height) * 100)) +
1930
- "vw";
1931
- }
1932
-
1933
- $img.attr("sizes", sizes).attr("srcset", slide.opts.srcset);
1934
- }
1935
-
1936
- // Hide temporary image after some delay
1937
- if (slide.$ghost) {
1938
- setTimeout(function() {
1939
- if (slide.$ghost && !self.isClosing) {
1940
- slide.$ghost.hide();
1941
- }
1942
- }, Math.min(300, Math.max(1000, slide.height / 1600)));
1943
- }
1944
-
1945
- self.hideLoading(slide);
1946
- })
1947
- .addClass("fancybox-image")
1948
- .attr("src", slide.src)
1949
- .appendTo(slide.$content);
1950
-
1951
- if ((img.complete || img.readyState == "complete") && $img.naturalWidth && $img.naturalHeight) {
1952
- $img.trigger("load");
1953
- } else if (img.error) {
1954
- $img.trigger("error");
1955
- }
1956
- },
1957
-
1958
- // Computes the slide size from image size and maxWidth/maxHeight
1959
- // ==============================================================
1960
-
1961
- resolveImageSlideSize: function(slide, imgWidth, imgHeight) {
1962
- var maxWidth = parseInt(slide.opts.width, 10),
1963
- maxHeight = parseInt(slide.opts.height, 10);
1964
-
1965
- // Sets the default values from the image
1966
- slide.width = imgWidth;
1967
- slide.height = imgHeight;
1968
-
1969
- if (maxWidth > 0) {
1970
- slide.width = maxWidth;
1971
- slide.height = Math.floor((maxWidth * imgHeight) / imgWidth);
1972
- }
1973
-
1974
- if (maxHeight > 0) {
1975
- slide.width = Math.floor((maxHeight * imgWidth) / imgHeight);
1976
- slide.height = maxHeight;
1977
- }
1978
- },
1979
-
1980
- // Create iframe wrapper, iframe and bindings
1981
- // ==========================================
1982
-
1983
- setIframe: function(slide) {
1984
- var self = this,
1985
- opts = slide.opts.iframe,
1986
- $slide = slide.$slide,
1987
- $iframe;
1988
-
1989
- // Fix responsive iframes on iOS (along with `position:absolute;` for iframe element)
1990
- if ($.fancybox.isMobile) {
1991
- opts.css.overflow = "scroll";
1992
- }
1993
-
1994
- slide.$content = $('<div class="fancybox-content' + (opts.preload ? " fancybox-is-hidden" : "") + '"></div>')
1995
- .css(opts.css)
1996
- .appendTo($slide);
1997
-
1998
- $slide.addClass("fancybox-slide--" + slide.contentType);
1999
-
2000
- slide.$iframe = $iframe = $(opts.tpl.replace(/\{rnd\}/g, new Date().getTime()))
2001
- .attr(opts.attr)
2002
- .appendTo(slide.$content);
2003
-
2004
- if (opts.preload) {
2005
- self.showLoading(slide);
2006
-
2007
- // Unfortunately, it is not always possible to determine if iframe is successfully loaded
2008
- // (due to browser security policy)
2009
-
2010
- $iframe.on("load.fb error.fb", function(e) {
2011
- this.isReady = 1;
2012
-
2013
- slide.$slide.trigger("refresh");
2014
-
2015
- self.afterLoad(slide);
2016
- });
2017
-
2018
- // Recalculate iframe content size
2019
- // ===============================
2020
-
2021
- $slide.on("refresh.fb", function() {
2022
- var $content = slide.$content,
2023
- frameWidth = opts.css.width,
2024
- frameHeight = opts.css.height,
2025
- $contents,
2026
- $body;
2027
-
2028
- if ($iframe[0].isReady !== 1) {
2029
- return;
2030
- }
2031
-
2032
- try {
2033
- $contents = $iframe.contents();
2034
- $body = $contents.find("body");
2035
- } catch (ignore) {}
2036
-
2037
- // Calculate contnet dimensions if it is accessible
2038
- if ($body && $body.length && $body.children().length) {
2039
- // Avoid scrolling to top (if multiple instances)
2040
- $slide.css("overflow", "visible");
2041
-
2042
- $content.css({
2043
- width: "100%",
2044
- "max-width": "100%",
2045
- height: "9999px"
2046
- });
2047
-
2048
- if (frameWidth === undefined) {
2049
- frameWidth = Math.ceil(Math.max($body[0].clientWidth, $body.outerWidth(true)));
2050
- }
2051
-
2052
- $content.css("width", frameWidth ? frameWidth : "").css("max-width", "");
2053
-
2054
- if (frameHeight === undefined) {
2055
- frameHeight = Math.ceil(Math.max($body[0].clientHeight, $body.outerHeight(true)));
2056
- }
2057
-
2058
- $content.css("height", frameHeight ? frameHeight : "");
2059
-
2060
- $slide.css("overflow", "auto");
2061
- }
2062
-
2063
- $content.removeClass("fancybox-is-hidden");
2064
- });
2065
- } else {
2066
- self.afterLoad(slide);
2067
- }
2068
-
2069
- $iframe.attr("src", slide.src);
2070
-
2071
- // Remove iframe if closing or changing gallery item
2072
- $slide.one("onReset", function() {
2073
- // This helps IE not to throw errors when closing
2074
- try {
2075
- $(this)
2076
- .find("iframe")
2077
- .hide()
2078
- .unbind()
2079
- .attr("src", "//about:blank");
2080
- } catch (ignore) {}
2081
-
2082
- $(this)
2083
- .off("refresh.fb")
2084
- .empty();
2085
-
2086
- slide.isLoaded = false;
2087
- slide.isRevealed = false;
2088
- });
2089
- },
2090
-
2091
- // Wrap and append content to the slide
2092
- // ======================================
2093
-
2094
- setContent: function(slide, content) {
2095
- var self = this;
2096
-
2097
- if (self.isClosing) {
2098
- return;
2099
- }
2100
-
2101
- self.hideLoading(slide);
2102
-
2103
- if (slide.$content) {
2104
- $.fancybox.stop(slide.$content);
2105
- }
2106
-
2107
- slide.$slide.empty();
2108
-
2109
- // If content is a jQuery object, then it will be moved to the slide.
2110
- // The placeholder is created so we will know where to put it back.
2111
- if (isQuery(content) && content.parent().length) {
2112
- // Make sure content is not already moved to fancyBox
2113
- if (content.hasClass("fancybox-content") || content.parent().hasClass("fancybox-content")) {
2114
- content.parents(".fancybox-slide").trigger("onReset");
2115
- }
2116
-
2117
- // Create temporary element marking original place of the content
2118
- slide.$placeholder = $("<div>")
2119
- .hide()
2120
- .insertAfter(content);
2121
-
2122
- // Make sure content is visible
2123
- content.css("display", "inline-block");
2124
- } else if (!slide.hasError) {
2125
- // If content is just a plain text, try to convert it to html
2126
- if ($.type(content) === "string") {
2127
- content = $("<div>")
2128
- .append($.trim(content))
2129
- .contents();
2130
- }
2131
-
2132
- // If "filter" option is provided, then filter content
2133
- if (slide.opts.filter) {
2134
- content = $("<div>")
2135
- .html(content)
2136
- .find(slide.opts.filter);
2137
- }
2138
- }
2139
-
2140
- slide.$slide.one("onReset", function() {
2141
- // Pause all html5 video/audio
2142
- $(this)
2143
- .find("video,audio")
2144
- .trigger("pause");
2145
-
2146
- // Put content back
2147
- if (slide.$placeholder) {
2148
- slide.$placeholder.after(content.removeClass("fancybox-content").hide()).remove();
2149
-
2150
- slide.$placeholder = null;
2151
- }
2152
-
2153
- // Remove custom close button
2154
- if (slide.$smallBtn) {
2155
- slide.$smallBtn.remove();
2156
-
2157
- slide.$smallBtn = null;
2158
- }
2159
-
2160
- // Remove content and mark slide as not loaded
2161
- if (!slide.hasError) {
2162
- $(this).empty();
2163
-
2164
- slide.isLoaded = false;
2165
- slide.isRevealed = false;
2166
- }
2167
- });
2168
-
2169
- $(content).appendTo(slide.$slide);
2170
-
2171
- if ($(content).is("video,audio")) {
2172
- $(content).addClass("fancybox-video");
2173
-
2174
- $(content).wrap("<div></div>");
2175
-
2176
- slide.contentType = "video";
2177
-
2178
- slide.opts.width = slide.opts.width || $(content).attr("width");
2179
- slide.opts.height = slide.opts.height || $(content).attr("height");
2180
- }
2181
-
2182
- slide.$content = slide.$slide
2183
- .children()
2184
- .filter("div,form,main,video,audio,article,.fancybox-content")
2185
- .first();
2186
-
2187
- slide.$content.siblings().hide();
2188
-
2189
- // Re-check if there is a valid content
2190
- // (in some cases, ajax response can contain various elements or plain text)
2191
- if (!slide.$content.length) {
2192
- slide.$content = slide.$slide
2193
- .wrapInner("<div></div>")
2194
- .children()
2195
- .first();
2196
- }
2197
-
2198
- slide.$content.addClass("fancybox-content");
2199
-
2200
- slide.$slide.addClass("fancybox-slide--" + slide.contentType);
2201
-
2202
- self.afterLoad(slide);
2203
- },
2204
-
2205
- // Display error message
2206
- // =====================
2207
-
2208
- setError: function(slide) {
2209
- slide.hasError = true;
2210
-
2211
- slide.$slide
2212
- .trigger("onReset")
2213
- .removeClass("fancybox-slide--" + slide.contentType)
2214
- .addClass("fancybox-slide--error");
2215
-
2216
- slide.contentType = "html";
2217
-
2218
- this.setContent(slide, this.translate(slide, slide.opts.errorTpl));
2219
-
2220
- if (slide.pos === this.currPos) {
2221
- this.isAnimating = false;
2222
- }
2223
- },
2224
-
2225
- // Show loading icon inside the slide
2226
- // ==================================
2227
-
2228
- showLoading: function(slide) {
2229
- var self = this;
2230
-
2231
- slide = slide || self.current;
2232
-
2233
- if (slide && !slide.$spinner) {
2234
- slide.$spinner = $(self.translate(self, self.opts.spinnerTpl))
2235
- .appendTo(slide.$slide)
2236
- .hide()
2237
- .fadeIn("fast");
2238
- }
2239
- },
2240
-
2241
- // Remove loading icon from the slide
2242
- // ==================================
2243
-
2244
- hideLoading: function(slide) {
2245
- var self = this;
2246
-
2247
- slide = slide || self.current;
2248
-
2249
- if (slide && slide.$spinner) {
2250
- slide.$spinner.stop().remove();
2251
-
2252
- delete slide.$spinner;
2253
- }
2254
- },
2255
-
2256
- // Adjustments after slide content has been loaded
2257
- // ===============================================
2258
-
2259
- afterLoad: function(slide) {
2260
- var self = this;
2261
-
2262
- if (self.isClosing) {
2263
- return;
2264
- }
2265
-
2266
- slide.isLoading = false;
2267
- slide.isLoaded = true;
2268
-
2269
- self.trigger("afterLoad", slide);
2270
-
2271
- self.hideLoading(slide);
2272
-
2273
- // Add small close button
2274
- if (slide.opts.smallBtn && (!slide.$smallBtn || !slide.$smallBtn.length)) {
2275
- slide.$smallBtn = $(self.translate(slide, slide.opts.btnTpl.smallBtn)).appendTo(slide.$content);
2276
- }
2277
-
2278
- // Disable right click
2279
- if (slide.opts.protect && slide.$content && !slide.hasError) {
2280
- slide.$content.on("contextmenu.fb", function(e) {
2281
- if (e.button == 2) {
2282
- e.preventDefault();
2283
- }
2284
-
2285
- return true;
2286
- });
2287
-
2288
- // Add fake element on top of the image
2289
- // This makes a bit harder for user to select image
2290
- if (slide.type === "image") {
2291
- $('<div class="fancybox-spaceball"></div>').appendTo(slide.$content);
2292
- }
2293
- }
2294
-
2295
- self.adjustCaption(slide);
2296
-
2297
- self.adjustLayout(slide);
2298
-
2299
- if (slide.pos === self.currPos) {
2300
- self.updateCursor();
2301
- }
2302
-
2303
- self.revealContent(slide);
2304
- },
2305
-
2306
- // Prevent caption overlap,
2307
- // fix css inconsistency across browsers
2308
- // =====================================
2309
-
2310
- adjustCaption: function(slide) {
2311
- var self = this,
2312
- current = slide || self.current,
2313
- caption = current.opts.caption,
2314
- $caption = self.$refs.caption,
2315
- captionH = false;
2316
-
2317
- if (current.opts.preventCaptionOverlap && caption && caption.length) {
2318
- if (current.pos !== self.currPos) {
2319
- $caption = $caption
2320
- .clone()
2321
- .empty()
2322
- .appendTo($caption.parent());
2323
-
2324
- $caption.html(caption);
2325
-
2326
- captionH = $caption.outerHeight(true);
2327
-
2328
- $caption.empty().remove();
2329
- } else if (self.$caption) {
2330
- captionH = self.$caption.outerHeight(true);
2331
- }
2332
-
2333
- current.$slide.css("padding-bottom", captionH || "");
2334
- }
2335
- },
2336
-
2337
- // Simple hack to fix inconsistency across browsers, described here (affects Edge, too):
2338
- // https://bugzilla.mozilla.org/show_bug.cgi?id=748518
2339
- // ====================================================================================
2340
-
2341
- adjustLayout: function(slide) {
2342
- var self = this,
2343
- current = slide || self.current,
2344
- scrollHeight,
2345
- marginBottom,
2346
- inlinePadding,
2347
- actualPadding;
2348
-
2349
- if (current.isLoaded && current.opts.disableLayoutFix !== true) {
2350
- current.$content.css("margin-bottom", "");
2351
-
2352
- // If we would always set margin-bottom for the content,
2353
- // then it would potentially break vertical align
2354
- if (current.$content.outerHeight() > current.$slide.height() + 0.5) {
2355
- inlinePadding = current.$slide[0].style["padding-bottom"];
2356
- actualPadding = current.$slide.css("padding-bottom");
2357
-
2358
- if (parseFloat(actualPadding) > 0) {
2359
- scrollHeight = current.$slide[0].scrollHeight;
2360
-
2361
- current.$slide.css("padding-bottom", 0);
2362
-
2363
- if (Math.abs(scrollHeight - current.$slide[0].scrollHeight) < 1) {
2364
- marginBottom = actualPadding;
2365
- }
2366
-
2367
- current.$slide.css("padding-bottom", inlinePadding);
2368
- }
2369
- }
2370
-
2371
- current.$content.css("margin-bottom", marginBottom);
2372
- }
2373
- },
2374
-
2375
- // Make content visible
2376
- // This method is called right after content has been loaded or
2377
- // user navigates gallery and transition should start
2378
- // ============================================================
2379
-
2380
- revealContent: function(slide) {
2381
- var self = this,
2382
- $slide = slide.$slide,
2383
- end = false,
2384
- start = false,
2385
- isMoved = self.isMoved(slide),
2386
- isRevealed = slide.isRevealed,
2387
- effect,
2388
- effectClassName,
2389
- duration,
2390
- opacity;
2391
-
2392
- slide.isRevealed = true;
2393
-
2394
- effect = slide.opts[self.firstRun ? "animationEffect" : "transitionEffect"];
2395
- duration = slide.opts[self.firstRun ? "animationDuration" : "transitionDuration"];
2396
-
2397
- duration = parseInt(slide.forcedDuration === undefined ? duration : slide.forcedDuration, 10);
2398
-
2399
- if (isMoved || slide.pos !== self.currPos || !duration) {
2400
- effect = false;
2401
- }
2402
-
2403
- // Check if can zoom
2404
- if (effect === "zoom") {
2405
- if (slide.pos === self.currPos && duration && slide.type === "image" && !slide.hasError && (start = self.getThumbPos(slide))) {
2406
- end = self.getFitPos(slide);
2407
- } else {
2408
- effect = "fade";
2409
- }
2410
- }
2411
-
2412
- // Zoom animation
2413
- // ==============
2414
- if (effect === "zoom") {
2415
- self.isAnimating = true;
2416
-
2417
- end.scaleX = end.width / start.width;
2418
- end.scaleY = end.height / start.height;
2419
-
2420
- // Check if we need to animate opacity
2421
- opacity = slide.opts.zoomOpacity;
2422
-
2423
- if (opacity == "auto") {
2424
- opacity = Math.abs(slide.width / slide.height - start.width / start.height) > 0.1;
2425
- }
2426
-
2427
- if (opacity) {
2428
- start.opacity = 0.1;
2429
- end.opacity = 1;
2430
- }
2431
-
2432
- // Draw image at start position
2433
- $.fancybox.setTranslate(slide.$content.removeClass("fancybox-is-hidden"), start);
2434
-
2435
- forceRedraw(slide.$content);
2436
-
2437
- // Start animation
2438
- $.fancybox.animate(slide.$content, end, duration, function() {
2439
- self.isAnimating = false;
2440
-
2441
- self.complete();
2442
- });
2443
-
2444
- return;
2445
- }
2446
-
2447
- self.updateSlide(slide);
2448
-
2449
- // Simply show content if no effect
2450
- // ================================
2451
- if (!effect) {
2452
- slide.$content.removeClass("fancybox-is-hidden");
2453
-
2454
- if (!isRevealed && isMoved && slide.type === "image" && !slide.hasError) {
2455
- slide.$content.hide().fadeIn("fast");
2456
- }
2457
-
2458
- if (slide.pos === self.currPos) {
2459
- self.complete();
2460
- }
2461
-
2462
- return;
2463
- }
2464
-
2465
- // Prepare for CSS transiton
2466
- // =========================
2467
- $.fancybox.stop($slide);
2468
-
2469
- //effectClassName = "fancybox-animated fancybox-slide--" + (slide.pos >= self.prevPos ? "next" : "previous") + " fancybox-fx-" + effect;
2470
- effectClassName = "fancybox-slide--" + (slide.pos >= self.prevPos ? "next" : "previous") + " fancybox-animated fancybox-fx-" + effect;
2471
-
2472
- $slide.addClass(effectClassName).removeClass("fancybox-slide--current"); //.addClass(effectClassName);
2473
-
2474
- slide.$content.removeClass("fancybox-is-hidden");
2475
-
2476
- // Force reflow
2477
- forceRedraw($slide);
2478
-
2479
- if (slide.type !== "image") {
2480
- slide.$content.hide().show(0);
2481
- }
2482
-
2483
- $.fancybox.animate(
2484
- $slide,
2485
- "fancybox-slide--current",
2486
- duration,
2487
- function() {
2488
- $slide.removeClass(effectClassName).css({
2489
- transform: "",
2490
- opacity: ""
2491
- });
2492
-
2493
- if (slide.pos === self.currPos) {
2494
- self.complete();
2495
- }
2496
- },
2497
- true
2498
- );
2499
- },
2500
-
2501
- // Check if we can and have to zoom from thumbnail
2502
- //================================================
2503
-
2504
- getThumbPos: function(slide) {
2505
- var rez = false,
2506
- $thumb = slide.$thumb,
2507
- thumbPos,
2508
- btw,
2509
- brw,
2510
- bbw,
2511
- blw;
2512
-
2513
- if (!$thumb || !inViewport($thumb[0])) {
2514
- return false;
2515
- }
2516
-
2517
- thumbPos = $.fancybox.getTranslate($thumb);
2518
-
2519
- btw = parseFloat($thumb.css("border-top-width") || 0);
2520
- brw = parseFloat($thumb.css("border-right-width") || 0);
2521
- bbw = parseFloat($thumb.css("border-bottom-width") || 0);
2522
- blw = parseFloat($thumb.css("border-left-width") || 0);
2523
-
2524
- rez = {
2525
- top: thumbPos.top + btw,
2526
- left: thumbPos.left + blw,
2527
- width: thumbPos.width - brw - blw,
2528
- height: thumbPos.height - btw - bbw,
2529
- scaleX: 1,
2530
- scaleY: 1
2531
- };
2532
-
2533
- return thumbPos.width > 0 && thumbPos.height > 0 ? rez : false;
2534
- },
2535
-
2536
- // Final adjustments after current gallery item is moved to position
2537
- // and it`s content is loaded
2538
- // ==================================================================
2539
-
2540
- complete: function() {
2541
- var self = this,
2542
- current = self.current,
2543
- slides = {},
2544
- $el;
2545
-
2546
- if (self.isMoved() || !current.isLoaded) {
2547
- return;
2548
- }
2549
-
2550
- if (!current.isComplete) {
2551
- current.isComplete = true;
2552
-
2553
- current.$slide.siblings().trigger("onReset");
2554
-
2555
- self.preload("inline");
2556
-
2557
- // Trigger any CSS transiton inside the slide
2558
- forceRedraw(current.$slide);
2559
-
2560
- current.$slide.addClass("fancybox-slide--complete");
2561
-
2562
- // Remove unnecessary slides
2563
- $.each(self.slides, function(key, slide) {
2564
- if (slide.pos >= self.currPos - 1 && slide.pos <= self.currPos + 1) {
2565
- slides[slide.pos] = slide;
2566
- } else if (slide) {
2567
- $.fancybox.stop(slide.$slide);
2568
-
2569
- slide.$slide.off().remove();
2570
- }
2571
- });
2572
-
2573
- self.slides = slides;
2574
- }
2575
-
2576
- self.isAnimating = false;
2577
-
2578
- self.updateCursor();
2579
-
2580
- self.trigger("afterShow");
2581
-
2582
- // Autoplay first html5 video/audio
2583
- if (!!current.opts.video.autoStart) {
2584
- current.$slide
2585
- .find("video,audio")
2586
- .filter(":visible:first")
2587
- .trigger("play")
2588
- .one("ended", function() {
2589
- if (this.webkitExitFullscreen) {
2590
- this.webkitExitFullscreen();
2591
- }
2592
-
2593
- self.next();
2594
- });
2595
- }
2596
-
2597
- // Try to focus on the first focusable element
2598
- if (current.opts.autoFocus && current.contentType === "html") {
2599
- // Look for the first input with autofocus attribute
2600
- $el = current.$content.find("input[autofocus]:enabled:visible:first");
2601
-
2602
- if ($el.length) {
2603
- $el.trigger("focus");
2604
- } else {
2605
- self.focus(null, true);
2606
- }
2607
- }
2608
-
2609
- // Avoid jumping
2610
- current.$slide.scrollTop(0).scrollLeft(0);
2611
- },
2612
-
2613
- // Preload next and previous slides
2614
- // ================================
2615
-
2616
- preload: function(type) {
2617
- var self = this,
2618
- prev,
2619
- next;
2620
-
2621
- if (self.group.length < 2) {
2622
- return;
2623
- }
2624
-
2625
- next = self.slides[self.currPos + 1];
2626
- prev = self.slides[self.currPos - 1];
2627
-
2628
- if (prev && prev.type === type) {
2629
- self.loadSlide(prev);
2630
- }
2631
-
2632
- if (next && next.type === type) {
2633
- self.loadSlide(next);
2634
- }
2635
- },
2636
-
2637
- // Try to find and focus on the first focusable element
2638
- // ====================================================
2639
-
2640
- focus: function(e, firstRun) {
2641
- var self = this,
2642
- focusableStr = [
2643
- "a[href]",
2644
- "area[href]",
2645
- 'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',
2646
- "select:not([disabled]):not([aria-hidden])",
2647
- "textarea:not([disabled]):not([aria-hidden])",
2648
- "button:not([disabled]):not([aria-hidden])",
2649
- "iframe",
2650
- "object",
2651
- "embed",
2652
- "[contenteditable]",
2653
- '[tabindex]:not([tabindex^="-"])'
2654
- ].join(","),
2655
- focusableItems,
2656
- focusedItemIndex;
2657
-
2658
- if (self.isClosing) {
2659
- return;
2660
- }
2661
-
2662
- if (e || !self.current || !self.current.isComplete) {
2663
- // Focus on any element inside fancybox
2664
- focusableItems = self.$refs.container.find("*:visible");
2665
- } else {
2666
- // Focus inside current slide
2667
- focusableItems = self.current.$slide.find("*:visible" + (firstRun ? ":not(.fancybox-close-small)" : ""));
2668
- }
2669
-
2670
- focusableItems = focusableItems.filter(focusableStr).filter(function() {
2671
- return $(this).css("visibility") !== "hidden" && !$(this).hasClass("disabled");
2672
- });
2673
-
2674
- if (focusableItems.length) {
2675
- focusedItemIndex = focusableItems.index(document.activeElement);
2676
-
2677
- if (e && e.shiftKey) {
2678
- // Back tab
2679
- if (focusedItemIndex < 0 || focusedItemIndex == 0) {
2680
- e.preventDefault();
2681
-
2682
- focusableItems.eq(focusableItems.length - 1).trigger("focus");
2683
- }
2684
- } else {
2685
- // Outside or Forward tab
2686
- if (focusedItemIndex < 0 || focusedItemIndex == focusableItems.length - 1) {
2687
- if (e) {
2688
- e.preventDefault();
2689
- }
2690
-
2691
- focusableItems.eq(0).trigger("focus");
2692
- }
2693
- }
2694
- } else {
2695
- self.$refs.container.trigger("focus");
2696
- }
2697
- },
2698
-
2699
- // Activates current instance - brings container to the front and enables keyboard,
2700
- // notifies other instances about deactivating
2701
- // =================================================================================
2702
-
2703
- activate: function() {
2704
- var self = this;
2705
-
2706
- // Deactivate all instances
2707
- $(".fancybox-container").each(function() {
2708
- var instance = $(this).data("FancyBox");
2709
-
2710
- // Skip self and closing instances
2711
- if (instance && instance.id !== self.id && !instance.isClosing) {
2712
- instance.trigger("onDeactivate");
2713
-
2714
- instance.removeEvents();
2715
-
2716
- instance.isVisible = false;
2717
- }
2718
- });
2719
-
2720
- self.isVisible = true;
2721
-
2722
- if (self.current || self.isIdle) {
2723
- self.update();
2724
-
2725
- self.updateControls();
2726
- }
2727
-
2728
- self.trigger("onActivate");
2729
-
2730
- self.addEvents();
2731
- },
2732
-
2733
- // Start closing procedure
2734
- // This will start "zoom-out" animation if needed and clean everything up afterwards
2735
- // =================================================================================
2736
-
2737
- close: function(e, d) {
2738
- var self = this,
2739
- current = self.current,
2740
- effect,
2741
- duration,
2742
- $content,
2743
- domRect,
2744
- opacity,
2745
- start,
2746
- end;
2747
-
2748
- var done = function() {
2749
- self.cleanUp(e);
2750
- };
2751
-
2752
- if (self.isClosing) {
2753
- return false;
2754
- }
2755
-
2756
- self.isClosing = true;
2757
-
2758
- // If beforeClose callback prevents closing, make sure content is centered
2759
- if (self.trigger("beforeClose", e) === false) {
2760
- self.isClosing = false;
2761
-
2762
- requestAFrame(function() {
2763
- self.update();
2764
- });
2765
-
2766
- return false;
2767
- }
2768
-
2769
- // Remove all events
2770
- // If there are multiple instances, they will be set again by "activate" method
2771
- self.removeEvents();
2772
-
2773
- $content = current.$content;
2774
- effect = current.opts.animationEffect;
2775
- duration = $.isNumeric(d) ? d : effect ? current.opts.animationDuration : 0;
2776
-
2777
- current.$slide.removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated");
2778
-
2779
- if (e !== true) {
2780
- $.fancybox.stop(current.$slide);
2781
- } else {
2782
- effect = false;
2783
- }
2784
-
2785
- // Remove other slides
2786
- current.$slide
2787
- .siblings()
2788
- .trigger("onReset")
2789
- .remove();
2790
-
2791
- // Trigger animations
2792
- if (duration) {
2793
- self.$refs.container
2794
- .removeClass("fancybox-is-open")
2795
- .addClass("fancybox-is-closing")
2796
- .css("transition-duration", duration + "ms");
2797
- }
2798
-
2799
- // Clean up
2800
- self.hideLoading(current);
2801
-
2802
- self.hideControls(true);
2803
-
2804
- self.updateCursor();
2805
-
2806
- // Check if possible to zoom-out
2807
- if (
2808
- effect === "zoom" &&
2809
- !($content && duration && current.type === "image" && !self.isMoved() && !current.hasError && (end = self.getThumbPos(current)))
2810
- ) {
2811
- effect = "fade";
2812
- }
2813
-
2814
- if (effect === "zoom") {
2815
- $.fancybox.stop($content);
2816
-
2817
- domRect = $.fancybox.getTranslate($content);
2818
-
2819
- start = {
2820
- top: domRect.top,
2821
- left: domRect.left,
2822
- scaleX: domRect.width / end.width,
2823
- scaleY: domRect.height / end.height,
2824
- width: end.width,
2825
- height: end.height
2826
- };
2827
-
2828
- // Check if we need to animate opacity
2829
- opacity = current.opts.zoomOpacity;
2830
-
2831
- if (opacity == "auto") {
2832
- opacity = Math.abs(current.width / current.height - end.width / end.height) > 0.1;
2833
- }
2834
-
2835
- if (opacity) {
2836
- end.opacity = 0;
2837
- }
2838
-
2839
- $.fancybox.setTranslate($content, start);
2840
-
2841
- forceRedraw($content);
2842
-
2843
- $.fancybox.animate($content, end, duration, done);
2844
-
2845
- return true;
2846
- }
2847
-
2848
- if (effect && duration) {
2849
- $.fancybox.animate(
2850
- current.$slide.addClass("fancybox-slide--previous").removeClass("fancybox-slide--current"),
2851
- "fancybox-animated fancybox-fx-" + effect,
2852
- duration,
2853
- done
2854
- );
2855
- } else {
2856
- // If skip animation
2857
- if (e === true) {
2858
- setTimeout(done, duration);
2859
- } else {
2860
- done();
2861
- }
2862
- }
2863
-
2864
- return true;
2865
- },
2866
-
2867
- // Final adjustments after removing the instance
2868
- // =============================================
2869
-
2870
- cleanUp: function(e) {
2871
- var self = this,
2872
- instance,
2873
- $focus = self.current.opts.$orig,
2874
- x,
2875
- y;
2876
-
2877
- self.current.$slide.trigger("onReset");
2878
-
2879
- self.$refs.container.empty().remove();
2880
-
2881
- self.trigger("afterClose", e);
2882
-
2883
- // Place back focus
2884
- if (!!self.current.opts.backFocus) {
2885
- if (!$focus || !$focus.length || !$focus.is(":visible")) {
2886
- $focus = self.$trigger;
2887
- }
2888
-
2889
- if ($focus && $focus.length) {
2890
- x = window.scrollX;
2891
- y = window.scrollY;
2892
-
2893
- $focus.trigger("focus");
2894
-
2895
- $("html, body")
2896
- .scrollTop(y)
2897
- .scrollLeft(x);
2898
- }
2899
- }
2900
-
2901
- self.current = null;
2902
-
2903
- // Check if there are other instances
2904
- instance = $.fancybox.getInstance();
2905
-
2906
- if (instance) {
2907
- instance.activate();
2908
- } else {
2909
- $("body").removeClass("fancybox-active compensate-for-scrollbar");
2910
-
2911
- $("#fancybox-style-noscroll").remove();
2912
- }
2913
- },
2914
-
2915
- // Call callback and trigger an event
2916
- // ==================================
2917
-
2918
- trigger: function(name, slide) {
2919
- var args = Array.prototype.slice.call(arguments, 1),
2920
- self = this,
2921
- obj = slide && slide.opts ? slide : self.current,
2922
- rez;
2923
-
2924
- if (obj) {
2925
- args.unshift(obj);
2926
- } else {
2927
- obj = self;
2928
- }
2929
-
2930
- args.unshift(self);
2931
-
2932
- if ($.isFunction(obj.opts[name])) {
2933
- rez = obj.opts[name].apply(obj, args);
2934
- }
2935
-
2936
- if (rez === false) {
2937
- return rez;
2938
- }
2939
-
2940
- if (name === "afterClose" || !self.$refs) {
2941
- $D.trigger(name + ".fb", args);
2942
- } else {
2943
- self.$refs.container.trigger(name + ".fb", args);
2944
- }
2945
- },
2946
-
2947
- // Update infobar values, navigation button states and reveal caption
2948
- // ==================================================================
2949
-
2950
- updateControls: function() {
2951
- var self = this,
2952
- current = self.current,
2953
- index = current.index,
2954
- $container = self.$refs.container,
2955
- $caption = self.$refs.caption,
2956
- caption = current.opts.caption;
2957
-
2958
- // Recalculate content dimensions
2959
- current.$slide.trigger("refresh");
2960
-
2961
- self.$caption = caption && caption.length ? $caption.html(caption) : null;
2962
-
2963
- if (!self.hasHiddenControls && !self.isIdle) {
2964
- self.showControls();
2965
- }
2966
-
2967
- // Update info and navigation elements
2968
- $container.find("[data-fancybox-count]").html(self.group.length);
2969
- $container.find("[data-fancybox-index]").html(index + 1);
2970
-
2971
- $container.find("[data-fancybox-prev]").prop("disabled", !current.opts.loop && index <= 0);
2972
- $container.find("[data-fancybox-next]").prop("disabled", !current.opts.loop && index >= self.group.length - 1);
2973
-
2974
- if (current.type === "image") {
2975
- // Re-enable buttons; update download button source
2976
- $container
2977
- .find("[data-fancybox-zoom]")
2978
- .show()
2979
- .end()
2980
- .find("[data-fancybox-download]")
2981
- .attr("href", current.opts.image.src || current.src)
2982
- .show();
2983
- } else if (current.opts.toolbar) {
2984
- $container.find("[data-fancybox-download],[data-fancybox-zoom]").hide();
2985
- }
2986
-
2987
- // Make sure focus is not on disabled button/element
2988
- if ($(document.activeElement).is(":hidden,[disabled]")) {
2989
- self.$refs.container.trigger("focus");
2990
- }
2991
- },
2992
-
2993
- // Hide toolbar and caption
2994
- // ========================
2995
-
2996
- hideControls: function(andCaption) {
2997
- var self = this,
2998
- arr = ["infobar", "toolbar", "nav"];
2999
-
3000
- if (andCaption || !self.current.opts.preventCaptionOverlap) {
3001
- arr.push("caption");
3002
- }
3003
-
3004
- this.$refs.container.removeClass(
3005
- arr
3006
- .map(function(i) {
3007
- return "fancybox-show-" + i;
3008
- })
3009
- .join(" ")
3010
- );
3011
-
3012
- this.hasHiddenControls = true;
3013
- },
3014
-
3015
- showControls: function() {
3016
- var self = this,
3017
- opts = self.current ? self.current.opts : self.opts,
3018
- $container = self.$refs.container;
3019
-
3020
- self.hasHiddenControls = false;
3021
- self.idleSecondsCounter = 0;
3022
-
3023
- $container
3024
- .toggleClass("fancybox-show-toolbar", !!(opts.toolbar && opts.buttons))
3025
- .toggleClass("fancybox-show-infobar", !!(opts.infobar && self.group.length > 1))
3026
- .toggleClass("fancybox-show-caption", !!self.$caption)
3027
- .toggleClass("fancybox-show-nav", !!(opts.arrows && self.group.length > 1))
3028
- .toggleClass("fancybox-is-modal", !!opts.modal);
3029
- },
3030
-
3031
- // Toggle toolbar and caption
3032
- // ==========================
3033
-
3034
- toggleControls: function() {
3035
- if (this.hasHiddenControls) {
3036
- this.showControls();
3037
- } else {
3038
- this.hideControls();
3039
- }
3040
- }
3041
- });
3042
-
3043
- $.fancybox = {
3044
- version: "3.5.2",
3045
- defaults: defaults,
3046
-
3047
- // Get current instance and execute a command.
3048
- //
3049
- // Examples of usage:
3050
- //
3051
- // $instance = $.fancybox.getInstance();
3052
- // $.fancybox.getInstance().jumpTo( 1 );
3053
- // $.fancybox.getInstance( 'jumpTo', 1 );
3054
- // $.fancybox.getInstance( function() {
3055
- // console.info( this.currIndex );
3056
- // });
3057
- // ======================================================
3058
-
3059
- getInstance: function(command) {
3060
- var instance = $('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"),
3061
- args = Array.prototype.slice.call(arguments, 1);
3062
-
3063
- if (instance instanceof FancyBox) {
3064
- if ($.type(command) === "string") {
3065
- instance[command].apply(instance, args);
3066
- } else if ($.type(command) === "function") {
3067
- command.apply(instance, args);
3068
- }
3069
-
3070
- return instance;
3071
- }
3072
-
3073
- return false;
3074
- },
3075
-
3076
- // Create new instance
3077
- // ===================
3078
-
3079
- open: function(items, opts, index) {
3080
- return new FancyBox(items, opts, index);
3081
- },
3082
-
3083
- // Close current or all instances
3084
- // ==============================
3085
-
3086
- close: function(all) {
3087
- var instance = this.getInstance();
3088
-
3089
- if (instance) {
3090
- instance.close();
3091
-
3092
- // Try to find and close next instance
3093
- if (all === true) {
3094
- this.close(all);
3095
- }
3096
- }
3097
- },
3098
-
3099
- // Close all instances and unbind all events
3100
- // =========================================
3101
-
3102
- destroy: function() {
3103
- this.close(true);
3104
-
3105
- $D.add("body").off("click.fb-start", "**");
3106
- },
3107
-
3108
- // Try to detect mobile devices
3109
- // ============================
3110
-
3111
- isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),
3112
-
3113
- // Detect if 'translate3d' support is available
3114
- // ============================================
3115
-
3116
- use3d: (function() {
3117
- var div = document.createElement("div");
3118
-
3119
- return (
3120
- window.getComputedStyle &&
3121
- window.getComputedStyle(div) &&
3122
- window.getComputedStyle(div).getPropertyValue("transform") &&
3123
- !(document.documentMode && document.documentMode < 11)
3124
- );
3125
- })(),
3126
-
3127
- // Helper function to get current visual state of an element
3128
- // returns array[ top, left, horizontal-scale, vertical-scale, opacity ]
3129
- // =====================================================================
3130
-
3131
- getTranslate: function($el) {
3132
- var domRect;
3133
-
3134
- if (!$el || !$el.length) {
3135
- return false;
3136
- }
3137
-
3138
- domRect = $el[0].getBoundingClientRect();
3139
-
3140
- return {
3141
- top: domRect.top || 0,
3142
- left: domRect.left || 0,
3143
- width: domRect.width,
3144
- height: domRect.height,
3145
- opacity: parseFloat($el.css("opacity"))
3146
- };
3147
- },
3148
-
3149
- // Shortcut for setting "translate3d" properties for element
3150
- // Can set be used to set opacity, too
3151
- // ========================================================
3152
-
3153
- setTranslate: function($el, props) {
3154
- var str = "",
3155
- css = {};
3156
-
3157
- if (!$el || !props) {
3158
- return;
3159
- }
3160
-
3161
- if (props.left !== undefined || props.top !== undefined) {
3162
- str =
3163
- (props.left === undefined ? $el.position().left : props.left) +
3164
- "px, " +
3165
- (props.top === undefined ? $el.position().top : props.top) +
3166
- "px";
3167
-
3168
- if (this.use3d) {
3169
- str = "translate3d(" + str + ", 0px)";
3170
- } else {
3171
- str = "translate(" + str + ")";
3172
- }
3173
- }
3174
-
3175
- if (props.scaleX !== undefined && props.scaleY !== undefined) {
3176
- str += " scale(" + props.scaleX + ", " + props.scaleY + ")";
3177
- } else if (props.scaleX !== undefined) {
3178
- str += " scaleX(" + props.scaleX + ")";
3179
- }
3180
-
3181
- if (str.length) {
3182
- css.transform = str;
3183
- }
3184
-
3185
- if (props.opacity !== undefined) {
3186
- css.opacity = props.opacity;
3187
- }
3188
-
3189
- if (props.width !== undefined) {
3190
- css.width = props.width;
3191
- }
3192
-
3193
- if (props.height !== undefined) {
3194
- css.height = props.height;
3195
- }
3196
-
3197
- return $el.css(css);
3198
- },
3199
-
3200
- // Simple CSS transition handler
3201
- // =============================
3202
-
3203
- animate: function($el, to, duration, callback, leaveAnimationName) {
3204
- var self = this,
3205
- from;
3206
-
3207
- if ($.isFunction(duration)) {
3208
- callback = duration;
3209
- duration = null;
3210
- }
3211
-
3212
- self.stop($el);
3213
-
3214
- from = self.getTranslate($el);
3215
-
3216
- $el.on(transitionEnd, function(e) {
3217
- // Skip events from child elements and z-index change
3218
- if (e && e.originalEvent && (!$el.is(e.originalEvent.target) || e.originalEvent.propertyName == "z-index")) {
3219
- return;
3220
- }
3221
-
3222
- self.stop($el);
3223
-
3224
- if ($.isNumeric(duration)) {
3225
- $el.css("transition-duration", "");
3226
- }
3227
-
3228
- if ($.isPlainObject(to)) {
3229
- if (to.scaleX !== undefined && to.scaleY !== undefined) {
3230
- self.setTranslate($el, {
3231
- top: to.top,
3232
- left: to.left,
3233
- width: from.width * to.scaleX,
3234
- height: from.height * to.scaleY,
3235
- scaleX: 1,
3236
- scaleY: 1
3237
- });
3238
- }
3239
- } else if (leaveAnimationName !== true) {
3240
- $el.removeClass(to);
3241
- }
3242
-
3243
- if ($.isFunction(callback)) {
3244
- callback(e);
3245
- }
3246
- });
3247
-
3248
- if ($.isNumeric(duration)) {
3249
- $el.css("transition-duration", duration + "ms");
3250
- }
3251
-
3252
- // Start animation by changing CSS properties or class name
3253
- if ($.isPlainObject(to)) {
3254
- if (to.scaleX !== undefined && to.scaleY !== undefined) {
3255
- delete to.width;
3256
- delete to.height;
3257
-
3258
- if ($el.parent().hasClass("fancybox-slide--image")) {
3259
- $el.parent().addClass("fancybox-is-scaling");
3260
- }
3261
- }
3262
-
3263
- $.fancybox.setTranslate($el, to);
3264
- } else {
3265
- $el.addClass(to);
3266
- }
3267
-
3268
- // Make sure that `transitionend` callback gets fired
3269
- $el.data(
3270
- "timer",
3271
- setTimeout(function() {
3272
- $el.trigger(transitionEnd);
3273
- }, duration + 33)
3274
- );
3275
- },
3276
-
3277
- stop: function($el, callCallback) {
3278
- if ($el && $el.length) {
3279
- clearTimeout($el.data("timer"));
3280
-
3281
- if (callCallback) {
3282
- $el.trigger(transitionEnd);
3283
- }
3284
-
3285
- $el.off(transitionEnd).css("transition-duration", "");
3286
-
3287
- $el.parent().removeClass("fancybox-is-scaling");
3288
- }
3289
- }
3290
- };
3291
-
3292
- // Default click handler for "fancyboxed" links
3293
- // ============================================
3294
-
3295
- function _run(e, opts) {
3296
- var items = [],
3297
- index = 0,
3298
- $target,
3299
- value,
3300
- instance;
3301
-
3302
- // Avoid opening multiple times
3303
- if (e && e.isDefaultPrevented()) {
3304
- return;
3305
- }
3306
-
3307
- e.preventDefault();
3308
-
3309
- opts = opts || {};
3310
-
3311
- if (e && e.data) {
3312
- opts = mergeOpts(e.data.options, opts);
3313
- }
3314
-
3315
- $target = opts.$target || $(e.currentTarget).trigger("blur");
3316
- instance = $.fancybox.getInstance();
3317
-
3318
- if (instance && instance.$trigger && instance.$trigger.is($target)) {
3319
- return;
3320
- }
3321
-
3322
- if (opts.selector) {
3323
- items = $(opts.selector);
3324
- } else {
3325
- // Get all related items and find index for clicked one
3326
- value = $target.attr("data-fancybox") || "";
3327
-
3328
- if (value) {
3329
- items = e.data ? e.data.items : [];
3330
- items = items.length ? items.filter('[data-fancybox="' + value + '"]') : $('[data-fancybox="' + value + '"]');
3331
- } else {
3332
- items = [$target];
3333
- }
3334
- }
3335
-
3336
- index = $(items).index($target);
3337
-
3338
- // Sometimes current item can not be found
3339
- if (index < 0) {
3340
- index = 0;
3341
- }
3342
-
3343
- instance = $.fancybox.open(items, opts, index);
3344
-
3345
- // Save last active element
3346
- instance.$trigger = $target;
3347
- }
3348
-
3349
- // Create a jQuery plugin
3350
- // ======================
3351
-
3352
- $.fn.fancybox = function(options) {
3353
- var selector;
3354
-
3355
- options = options || {};
3356
- selector = options.selector || false;
3357
-
3358
- if (selector) {
3359
- // Use body element instead of document so it executes first
3360
- $("body")
3361
- .off("click.fb-start", selector)
3362
- .on("click.fb-start", selector, {options: options}, _run);
3363
- } else {
3364
- this.off("click.fb-start").on(
3365
- "click.fb-start",
3366
- {
3367
- items: this,
3368
- options: options
3369
- },
3370
- _run
3371
- );
3372
- }
3373
-
3374
- return this;
3375
- };
3376
-
3377
- // Self initializing plugin for all elements having `data-fancybox` attribute
3378
- // ==========================================================================
3379
-
3380
- $D.on("click.fb-start", "[data-fancybox]", _run);
3381
-
3382
- // Enable "trigger elements"
3383
- // =========================
3384
-
3385
- $D.on("click.fb-start", "[data-fancybox-trigger]", function(e) {
3386
- $('[data-fancybox="' + $(this).attr("data-fancybox-trigger") + '"]')
3387
- .eq($(this).attr("data-fancybox-index") || 0)
3388
- .trigger("click.fb-start", {
3389
- $trigger: $(this)
3390
- });
3391
- });
3392
-
3393
- // Track focus event for better accessibility styling
3394
- // ==================================================
3395
- (function() {
3396
- var buttonStr = ".fancybox-button",
3397
- focusStr = "fancybox-focus",
3398
- $pressed = null;
3399
-
3400
- $D.on("mousedown mouseup focus blur", buttonStr, function(e) {
3401
- switch (e.type) {
3402
- case "mousedown":
3403
- $pressed = $(this);
3404
- break;
3405
- case "mouseup":
3406
- $pressed = null;
3407
- break;
3408
- case "focusin":
3409
- $(buttonStr).removeClass(focusStr);
3410
-
3411
- if (!$(this).is($pressed) && !$(this).is("[disabled]")) {
3412
- $(this).addClass(focusStr);
3413
- }
3414
- break;
3415
- case "focusout":
3416
- $(buttonStr).removeClass(focusStr);
3417
- break;
3418
- }
3419
- });
3420
- })();
3421
- })(window, document, jQuery);
3422
-
3423
- // ==========================================================================
3424
- //
3425
- // Media
3426
- // Adds additional media type support
3427
- //
3428
- // ==========================================================================
3429
- (function($) {
3430
- "use strict";
3431
-
3432
- // Object containing properties for each media type
3433
- var defaults = {
3434
- youtube: {
3435
- matcher: /(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,
3436
- params: {
3437
- autoplay: 1,
3438
- autohide: 1,
3439
- fs: 1,
3440
- rel: 0,
3441
- hd: 1,
3442
- wmode: "transparent",
3443
- enablejsapi: 1,
3444
- html5: 1
3445
- },
3446
- paramPlace: 8,
3447
- type: "iframe",
3448
- url: "//www.youtube-nocookie.com/embed/$4",
3449
- thumb: "//img.youtube.com/vi/$4/hqdefault.jpg"
3450
- },
3451
-
3452
- vimeo: {
3453
- matcher: /^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,
3454
- params: {
3455
- autoplay: 1,
3456
- hd: 1,
3457
- show_title: 1,
3458
- show_byline: 1,
3459
- show_portrait: 0,
3460
- fullscreen: 1
3461
- },
3462
- paramPlace: 3,
3463
- type: "iframe",
3464
- url: "//player.vimeo.com/video/$2"
3465
- },
3466
-
3467
- instagram: {
3468
- matcher: /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,
3469
- type: "image",
3470
- url: "//$1/p/$2/media/?size=l"
3471
- },
3472
-
3473
- // Examples:
3474
- // http://maps.google.com/?ll=48.857995,2.294297&spn=0.007666,0.021136&t=m&z=16
3475
- // https://www.google.com/maps/@37.7852006,-122.4146355,14.65z
3476
- // https://www.google.com/maps/@52.2111123,2.9237542,6.61z?hl=en
3477
- // https://www.google.com/maps/place/Googleplex/@37.4220041,-122.0833494,17z/data=!4m5!3m4!1s0x0:0x6c296c66619367e0!8m2!3d37.4219998!4d-122.0840572
3478
- gmap_place: {
3479
- matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,
3480
- type: "iframe",
3481
- url: function(rez) {
3482
- return (
3483
- "//maps.google." +
3484
- rez[2] +
3485
- "/?ll=" +
3486
- (rez[9] ? rez[9] + "&z=" + Math.floor(rez[10]) + (rez[12] ? rez[12].replace(/^\//, "&") : "") : rez[12] + "").replace(/\?/, "&") +
3487
- "&output=" +
3488
- (rez[12] && rez[12].indexOf("layer=c") > 0 ? "svembed" : "embed")
3489
- );
3490
- }
3491
- },
3492
-
3493
- // Examples:
3494
- // https://www.google.com/maps/search/Empire+State+Building/
3495
- // https://www.google.com/maps/search/?api=1&query=centurylink+field
3496
- // https://www.google.com/maps/search/?api=1&query=47.5951518,-122.3316393
3497
- gmap_search: {
3498
- matcher: /(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,
3499
- type: "iframe",
3500
- url: function(rez) {
3501
- return "//maps.google." + rez[2] + "/maps?q=" + rez[5].replace("query=", "q=").replace("api=1", "") + "&output=embed";
3502
- }
3503
- }
3504
- };
3505
-
3506
- // Formats matching url to final form
3507
- var format = function(url, rez, params) {
3508
- if (!url) {
3509
- return;
3510
- }
3511
-
3512
- params = params || "";
3513
-
3514
- if ($.type(params) === "object") {
3515
- params = $.param(params, true);
3516
- }
3517
-
3518
- $.each(rez, function(key, value) {
3519
- url = url.replace("$" + key, value || "");
3520
- });
3521
-
3522
- if (params.length) {
3523
- url += (url.indexOf("?") > 0 ? "&" : "?") + params;
3524
- }
3525
-
3526
- return url;
3527
- };
3528
-
3529
- $(document).on("objectNeedsType.fb", function(e, instance, item) {
3530
- var url = item.src || "",
3531
- type = false,
3532
- media,
3533
- thumb,
3534
- rez,
3535
- params,
3536
- urlParams,
3537
- paramObj,
3538
- provider;
3539
-
3540
- media = $.extend(true, {}, defaults, item.opts.media);
3541
-
3542
- // Look for any matching media type
3543
- $.each(media, function(providerName, providerOpts) {
3544
- rez = url.match(providerOpts.matcher);
3545
-
3546
- if (!rez) {
3547
- return;
3548
- }
3549
-
3550
- type = providerOpts.type;
3551
- provider = providerName;
3552
- paramObj = {};
3553
-
3554
- if (providerOpts.paramPlace && rez[providerOpts.paramPlace]) {
3555
- urlParams = rez[providerOpts.paramPlace];
3556
-
3557
- if (urlParams[0] == "?") {
3558
- urlParams = urlParams.substring(1);
3559
- }
3560
-
3561
- urlParams = urlParams.split("&");
3562
-
3563
- for (var m = 0; m < urlParams.length; ++m) {
3564
- var p = urlParams[m].split("=", 2);
3565
-
3566
- if (p.length == 2) {
3567
- paramObj[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
3568
- }
3569
- }
3570
- }
3571
-
3572
- params = $.extend(true, {}, providerOpts.params, item.opts[providerName], paramObj);
3573
-
3574
- url =
3575
- $.type(providerOpts.url) === "function" ? providerOpts.url.call(this, rez, params, item) : format(providerOpts.url, rez, params);
3576
-
3577
- thumb =
3578
- $.type(providerOpts.thumb) === "function" ? providerOpts.thumb.call(this, rez, params, item) : format(providerOpts.thumb, rez);
3579
-
3580
- if (providerName === "youtube") {
3581
- url = url.replace(/&t=((\d+)m)?(\d+)s/, function(match, p1, m, s) {
3582
- return "&start=" + ((m ? parseInt(m, 10) * 60 : 0) + parseInt(s, 10));
3583
- });
3584
- } else if (providerName === "vimeo") {
3585
- url = url.replace("&%23", "#");
3586
- }
3587
-
3588
- return false;
3589
- });
3590
-
3591
- // If it is found, then change content type and update the url
3592
-
3593
- if (type) {
3594
- if (!item.opts.thumb && !(item.opts.$thumb && item.opts.$thumb.length)) {
3595
- item.opts.thumb = thumb;
3596
- }
3597
-
3598
- if (type === "iframe") {
3599
- item.opts = $.extend(true, item.opts, {
3600
- iframe: {
3601
- preload: false,
3602
- attr: {
3603
- scrolling: "no"
3604
- }
3605
- }
3606
- });
3607
- }
3608
-
3609
- $.extend(item, {
3610
- type: type,
3611
- src: url,
3612
- origSrc: item.src,
3613
- contentSource: provider,
3614
- contentType: type === "image" ? "image" : provider == "gmap_place" || provider == "gmap_search" ? "map" : "video"
3615
- });
3616
- } else if (url) {
3617
- item.type = item.opts.defaultType;
3618
- }
3619
- });
3620
-
3621
- // Load YouTube/Video API on request to detect when video finished playing
3622
- var VideoAPILoader = {
3623
- youtube: {
3624
- src: "https://www.youtube.com/iframe_api",
3625
- class: "YT",
3626
- loading: false,
3627
- loaded: false
3628
- },
3629
-
3630
- vimeo: {
3631
- src: "https://player.vimeo.com/api/player.js",
3632
- class: "Vimeo",
3633
- loading: false,
3634
- loaded: false
3635
- },
3636
-
3637
- load: function(vendor) {
3638
- var _this = this,
3639
- script;
3640
-
3641
- if (this[vendor].loaded) {
3642
- setTimeout(function() {
3643
- _this.done(vendor);
3644
- });
3645
- return;
3646
- }
3647
-
3648
- if (this[vendor].loading) {
3649
- return;
3650
- }
3651
-
3652
- this[vendor].loading = true;
3653
-
3654
- script = document.createElement("script");
3655
- script.type = "text/javascript";
3656
- script.src = this[vendor].src;
3657
-
3658
- if (vendor === "youtube") {
3659
- window.onYouTubeIframeAPIReady = function() {
3660
- _this[vendor].loaded = true;
3661
- _this.done(vendor);
3662
- };
3663
- } else {
3664
- script.onload = function() {
3665
- _this[vendor].loaded = true;
3666
- _this.done(vendor);
3667
- };
3668
- }
3669
-
3670
- document.body.appendChild(script);
3671
- },
3672
- done: function(vendor) {
3673
- var instance, $el, player;
3674
-
3675
- if (vendor === "youtube") {
3676
- delete window.onYouTubeIframeAPIReady;
3677
- }
3678
-
3679
- instance = $.fancybox.getInstance();
3680
-
3681
- if (instance) {
3682
- $el = instance.current.$content.find("iframe");
3683
-
3684
- if (vendor === "youtube" && YT !== undefined && YT) {
3685
- player = new YT.Player($el.attr("id"), {
3686
- events: {
3687
- onStateChange: function(e) {
3688
- if (e.data == 0) {
3689
- instance.next();
3690
- }
3691
- }
3692
- }
3693
- });
3694
- } else if (vendor === "vimeo" && Vimeo !== undefined && Vimeo) {
3695
- player = new Vimeo.Player($el);
3696
-
3697
- player.on("ended", function() {
3698
- instance.next();
3699
- });
3700
- }
3701
- }
3702
- }
3703
- };
3704
-
3705
- $(document).on({
3706
- "afterShow.fb": function(e, instance, current) {
3707
- if (instance.group.length > 1 && (current.contentSource === "youtube" || current.contentSource === "vimeo")) {
3708
- VideoAPILoader.load(current.contentSource);
3709
- }
3710
- }
3711
- });
3712
- })(jQuery);
3713
-
3714
- // ==========================================================================
3715
- //
3716
- // Guestures
3717
- // Adds touch guestures, handles click and tap events
3718
- //
3719
- // ==========================================================================
3720
- (function(window, document, $) {
3721
- "use strict";
3722
-
3723
- var requestAFrame = (function() {
3724
- return (
3725
- window.requestAnimationFrame ||
3726
- window.webkitRequestAnimationFrame ||
3727
- window.mozRequestAnimationFrame ||
3728
- window.oRequestAnimationFrame ||
3729
- // if all else fails, use setTimeout
3730
- function(callback) {
3731
- return window.setTimeout(callback, 1000 / 60);
3732
- }
3733
- );
3734
- })();
3735
-
3736
- var cancelAFrame = (function() {
3737
- return (
3738
- window.cancelAnimationFrame ||
3739
- window.webkitCancelAnimationFrame ||
3740
- window.mozCancelAnimationFrame ||
3741
- window.oCancelAnimationFrame ||
3742
- function(id) {
3743
- window.clearTimeout(id);
3744
- }
3745
- );
3746
- })();
3747
-
3748
- var getPointerXY = function(e) {
3749
- var result = [];
3750
-
3751
- e = e.originalEvent || e || window.e;
3752
- e = e.touches && e.touches.length ? e.touches : e.changedTouches && e.changedTouches.length ? e.changedTouches : [e];
3753
-
3754
- for (var key in e) {
3755
- if (e[key].pageX) {
3756
- result.push({
3757
- x: e[key].pageX,
3758
- y: e[key].pageY
3759
- });
3760
- } else if (e[key].clientX) {
3761
- result.push({
3762
- x: e[key].clientX,
3763
- y: e[key].clientY
3764
- });
3765
- }
3766
- }
3767
-
3768
- return result;
3769
- };
3770
-
3771
- var distance = function(point2, point1, what) {
3772
- if (!point1 || !point2) {
3773
- return 0;
3774
- }
3775
-
3776
- if (what === "x") {
3777
- return point2.x - point1.x;
3778
- } else if (what === "y") {
3779
- return point2.y - point1.y;
3780
- }
3781
-
3782
- return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2));
3783
- };
3784
-
3785
- var isClickable = function($el) {
3786
- if (
3787
- $el.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe') ||
3788
- $.isFunction($el.get(0).onclick) ||
3789
- $el.data("selectable")
3790
- ) {
3791
- return true;
3792
- }
3793
-
3794
- // Check for attributes like data-fancybox-next or data-fancybox-close
3795
- for (var i = 0, atts = $el[0].attributes, n = atts.length; i < n; i++) {
3796
- if (atts[i].nodeName.substr(0, 14) === "data-fancybox-") {
3797
- return true;
3798
- }
3799
- }
3800
-
3801
- return false;
3802
- };
3803
-
3804
- var hasScrollbars = function(el) {
3805
- var overflowY = window.getComputedStyle(el)["overflow-y"],
3806
- overflowX = window.getComputedStyle(el)["overflow-x"],
3807
- vertical = (overflowY === "scroll" || overflowY === "auto") && el.scrollHeight > el.clientHeight,
3808
- horizontal = (overflowX === "scroll" || overflowX === "auto") && el.scrollWidth > el.clientWidth;
3809
-
3810
- return vertical || horizontal;
3811
- };
3812
-
3813
- var isScrollable = function($el) {
3814
- var rez = false;
3815
-
3816
- while (true) {
3817
- rez = hasScrollbars($el.get(0));
3818
-
3819
- if (rez) {
3820
- break;
3821
- }
3822
-
3823
- $el = $el.parent();
3824
-
3825
- if (!$el.length || $el.hasClass("fancybox-stage") || $el.is("body")) {
3826
- break;
3827
- }
3828
- }
3829
-
3830
- return rez;
3831
- };
3832
-
3833
- var Guestures = function(instance) {
3834
- var self = this;
3835
-
3836
- self.instance = instance;
3837
-
3838
- self.$bg = instance.$refs.bg;
3839
- self.$stage = instance.$refs.stage;
3840
- self.$container = instance.$refs.container;
3841
-
3842
- self.destroy();
3843
-
3844
- self.$container.on("touchstart.fb.touch mousedown.fb.touch", $.proxy(self, "ontouchstart"));
3845
- };
3846
-
3847
- Guestures.prototype.destroy = function() {
3848
- var self = this;
3849
-
3850
- self.$container.off(".fb.touch");
3851
-
3852
- $(document).off(".fb.touch");
3853
-
3854
- if (self.requestId) {
3855
- cancelAFrame(self.requestId);
3856
- self.requestId = null;
3857
- }
3858
-
3859
- if (self.tapped) {
3860
- clearTimeout(self.tapped);
3861
- self.tapped = null;
3862
- }
3863
- };
3864
-
3865
- Guestures.prototype.ontouchstart = function(e) {
3866
- var self = this,
3867
- $target = $(e.target),
3868
- instance = self.instance,
3869
- current = instance.current,
3870
- $slide = current.$slide,
3871
- $content = current.$content,
3872
- isTouchDevice = e.type == "touchstart";
3873
-
3874
- // Do not respond to both (touch and mouse) events
3875
- if (isTouchDevice) {
3876
- self.$container.off("mousedown.fb.touch");
3877
- }
3878
-
3879
- // Ignore right click
3880
- if (e.originalEvent && e.originalEvent.button == 2) {
3881
- return;
3882
- }
3883
-
3884
- // Ignore taping on links, buttons, input elements
3885
- if (!$slide.length || !$target.length || isClickable($target) || isClickable($target.parent())) {
3886
- return;
3887
- }
3888
- // Ignore clicks on the scrollbar
3889
- if (!$target.is("img") && e.originalEvent.clientX > $target[0].clientWidth + $target.offset().left) {
3890
- return;
3891
- }
3892
-
3893
- // Ignore clicks while zooming or closing
3894
- if (!current || instance.isAnimating || current.$slide.hasClass("fancybox-animated")) {
3895
- e.stopPropagation();
3896
- e.preventDefault();
3897
-
3898
- return;
3899
- }
3900
-
3901
- self.realPoints = self.startPoints = getPointerXY(e);
3902
-
3903
- if (!self.startPoints.length) {
3904
- return;
3905
- }
3906
-
3907
- // Allow other scripts to catch touch event if "touch" is set to false
3908
- if (current.touch) {
3909
- e.stopPropagation();
3910
- }
3911
-
3912
- self.startEvent = e;
3913
-
3914
- self.canTap = true;
3915
- self.$target = $target;
3916
- self.$content = $content;
3917
- self.opts = current.opts.touch;
3918
-
3919
- self.isPanning = false;
3920
- self.isSwiping = false;
3921
- self.isZooming = false;
3922
- self.isScrolling = false;
3923
- self.canPan = instance.canPan();
3924
-
3925
- self.startTime = new Date().getTime();
3926
- self.distanceX = self.distanceY = self.distance = 0;
3927
-
3928
- self.canvasWidth = Math.round($slide[0].clientWidth);
3929
- self.canvasHeight = Math.round($slide[0].clientHeight);
3930
-
3931
- self.contentLastPos = null;
3932
- self.contentStartPos = $.fancybox.getTranslate(self.$content) || {top: 0, left: 0};
3933
- self.sliderStartPos = $.fancybox.getTranslate($slide);
3934
-
3935
- // Since position will be absolute, but we need to make it relative to the stage
3936
- self.stagePos = $.fancybox.getTranslate(instance.$refs.stage);
3937
-
3938
- self.sliderStartPos.top -= self.stagePos.top;
3939
- self.sliderStartPos.left -= self.stagePos.left;
3940
-
3941
- self.contentStartPos.top -= self.stagePos.top;
3942
- self.contentStartPos.left -= self.stagePos.left;
3943
-
3944
- $(document)
3945
- .off(".fb.touch")
3946
- .on(isTouchDevice ? "touchend.fb.touch touchcancel.fb.touch" : "mouseup.fb.touch mouseleave.fb.touch", $.proxy(self, "ontouchend"))
3947
- .on(isTouchDevice ? "touchmove.fb.touch" : "mousemove.fb.touch", $.proxy(self, "ontouchmove"));
3948
-
3949
- if ($.fancybox.isMobile) {
3950
- document.addEventListener("scroll", self.onscroll, true);
3951
- }
3952
-
3953
- // Skip if clicked outside the sliding area
3954
- if (!(self.opts || self.canPan) || !($target.is(self.$stage) || self.$stage.find($target).length)) {
3955
- if ($target.is(".fancybox-image")) {
3956
- e.preventDefault();
3957
- }
3958
-
3959
- if (!($.fancybox.isMobile && $target.hasClass("fancybox-caption"))) {
3960
- return;
3961
- }
3962
- }
3963
-
3964
- self.isScrollable = isScrollable($target) || isScrollable($target.parent());
3965
-
3966
- // Check if element is scrollable and try to prevent default behavior (scrolling)
3967
- if (!($.fancybox.isMobile && self.isScrollable)) {
3968
- e.preventDefault();
3969
- }
3970
-
3971
- // One finger or mouse click - swipe or pan an image
3972
- if (self.startPoints.length === 1 || current.hasError) {
3973
- if (self.canPan) {
3974
- $.fancybox.stop(self.$content);
3975
-
3976
- self.isPanning = true;
3977
- } else {
3978
- self.isSwiping = true;
3979
- }
3980
-
3981
- self.$container.addClass("fancybox-is-grabbing");
3982
- }
3983
-
3984
- // Two fingers - zoom image
3985
- if (self.startPoints.length === 2 && current.type === "image" && (current.isLoaded || current.$ghost)) {
3986
- self.canTap = false;
3987
- self.isSwiping = false;
3988
- self.isPanning = false;
3989
-
3990
- self.isZooming = true;
3991
-
3992
- $.fancybox.stop(self.$content);
3993
-
3994
- self.centerPointStartX = (self.startPoints[0].x + self.startPoints[1].x) * 0.5 - $(window).scrollLeft();
3995
- self.centerPointStartY = (self.startPoints[0].y + self.startPoints[1].y) * 0.5 - $(window).scrollTop();
3996
-
3997
- self.percentageOfImageAtPinchPointX = (self.centerPointStartX - self.contentStartPos.left) / self.contentStartPos.width;
3998
- self.percentageOfImageAtPinchPointY = (self.centerPointStartY - self.contentStartPos.top) / self.contentStartPos.height;
3999
-
4000
- self.startDistanceBetweenFingers = distance(self.startPoints[0], self.startPoints[1]);
4001
- }
4002
- };
4003
-
4004
- Guestures.prototype.onscroll = function(e) {
4005
- var self = this;
4006
-
4007
- self.isScrolling = true;
4008
-
4009
- document.removeEventListener("scroll", self.onscroll, true);
4010
- };
4011
-
4012
- Guestures.prototype.ontouchmove = function(e) {
4013
- var self = this;
4014
-
4015
- // Make sure user has not released over iframe or disabled element
4016
- if (e.originalEvent.buttons !== undefined && e.originalEvent.buttons === 0) {
4017
- self.ontouchend(e);
4018
- return;
4019
- }
4020
-
4021
- if (self.isScrolling) {
4022
- self.canTap = false;
4023
- return;
4024
- }
4025
-
4026
- self.newPoints = getPointerXY(e);
4027
-
4028
- if (!(self.opts || self.canPan) || !self.newPoints.length || !self.newPoints.length) {
4029
- return;
4030
- }
4031
-
4032
- if (!(self.isSwiping && self.isSwiping === true)) {
4033
- e.preventDefault();
4034
- }
4035
-
4036
- self.distanceX = distance(self.newPoints[0], self.startPoints[0], "x");
4037
- self.distanceY = distance(self.newPoints[0], self.startPoints[0], "y");
4038
-
4039
- self.distance = distance(self.newPoints[0], self.startPoints[0]);
4040
-
4041
- // Skip false ontouchmove events (Chrome)
4042
- if (self.distance > 0) {
4043
- if (self.isSwiping) {
4044
- self.onSwipe(e);
4045
- } else if (self.isPanning) {
4046
- self.onPan();
4047
- } else if (self.isZooming) {
4048
- self.onZoom();
4049
- }
4050
- }
4051
- };
4052
-
4053
- Guestures.prototype.onSwipe = function(e) {
4054
- var self = this,
4055
- instance = self.instance,
4056
- swiping = self.isSwiping,
4057
- left = self.sliderStartPos.left || 0,
4058
- angle;
4059
-
4060
- // If direction is not yet determined
4061
- if (swiping === true) {
4062
- // We need at least 10px distance to correctly calculate an angle
4063
- if (Math.abs(self.distance) > 10) {
4064
- self.canTap = false;
4065
-
4066
- if (instance.group.length < 2 && self.opts.vertical) {
4067
- self.isSwiping = "y";
4068
- } else if (instance.isDragging || self.opts.vertical === false || (self.opts.vertical === "auto" && $(window).width() > 800)) {
4069
- self.isSwiping = "x";
4070
- } else {
4071
- angle = Math.abs((Math.atan2(self.distanceY, self.distanceX) * 180) / Math.PI);
4072
-
4073
- self.isSwiping = angle > 45 && angle < 135 ? "y" : "x";
4074
- }
4075
-
4076
- if (self.isSwiping === "y" && $.fancybox.isMobile && self.isScrollable) {
4077
- self.isScrolling = true;
4078
-
4079
- return;
4080
- }
4081
-
4082
- instance.isDragging = self.isSwiping;
4083
-
4084
- // Reset points to avoid jumping, because we dropped first swipes to calculate the angle
4085
- self.startPoints = self.newPoints;
4086
-
4087
- $.each(instance.slides, function(index, slide) {
4088
- var slidePos, stagePos;
4089
-
4090
- $.fancybox.stop(slide.$slide);
4091
-
4092
- slidePos = $.fancybox.getTranslate(slide.$slide);
4093
- stagePos = $.fancybox.getTranslate(instance.$refs.stage);
4094
-
4095
- slide.$slide
4096
- .css({
4097
- transform: "",
4098
- opacity: "",
4099
- "transition-duration": ""
4100
- })
4101
- .removeClass("fancybox-animated")
4102
- .removeClass(function(index, className) {
4103
- return (className.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" ");
4104
- });
4105
-
4106
- if (slide.pos === instance.current.pos) {
4107
- self.sliderStartPos.top = slidePos.top - stagePos.top;
4108
- self.sliderStartPos.left = slidePos.left - stagePos.left;
4109
- }
4110
-
4111
- $.fancybox.setTranslate(slide.$slide, {
4112
- top: slidePos.top - stagePos.top,
4113
- left: slidePos.left - stagePos.left
4114
- });
4115
- });
4116
-
4117
- // Stop slideshow
4118
- if (instance.SlideShow && instance.SlideShow.isActive) {
4119
- instance.SlideShow.stop();
4120
- }
4121
- }
4122
-
4123
- return;
4124
- }
4125
-
4126
- // Sticky edges
4127
- if (swiping == "x") {
4128
- if (
4129
- self.distanceX > 0 &&
4130
- (self.instance.group.length < 2 || (self.instance.current.index === 0 && !self.instance.current.opts.loop))
4131
- ) {
4132
- left = left + Math.pow(self.distanceX, 0.8);
4133
- } else if (
4134
- self.distanceX < 0 &&
4135
- (self.instance.group.length < 2 ||
4136
- (self.instance.current.index === self.instance.group.length - 1 && !self.instance.current.opts.loop))
4137
- ) {
4138
- left = left - Math.pow(-self.distanceX, 0.8);
4139
- } else {
4140
- left = left + self.distanceX;
4141
- }
4142
- }
4143
-
4144
- self.sliderLastPos = {
4145
- top: swiping == "x" ? 0 : self.sliderStartPos.top + self.distanceY,
4146
- left: left
4147
- };
4148
-
4149
- if (self.requestId) {
4150
- cancelAFrame(self.requestId);
4151
-
4152
- self.requestId = null;
4153
- }
4154
-
4155
- self.requestId = requestAFrame(function() {
4156
- if (self.sliderLastPos) {
4157
- $.each(self.instance.slides, function(index, slide) {
4158
- var pos = slide.pos - self.instance.currPos;
4159
-
4160
- $.fancybox.setTranslate(slide.$slide, {
4161
- top: self.sliderLastPos.top,
4162
- left: self.sliderLastPos.left + pos * self.canvasWidth + pos * slide.opts.gutter
4163
- });
4164
- });
4165
-
4166
- self.$container.addClass("fancybox-is-sliding");
4167
- }
4168
- });
4169
- };
4170
-
4171
- Guestures.prototype.onPan = function() {
4172
- var self = this;
4173
-
4174
- // Prevent accidental movement (sometimes, when tapping casually, finger can move a bit)
4175
- if (distance(self.newPoints[0], self.realPoints[0]) < ($.fancybox.isMobile ? 10 : 5)) {
4176
- self.startPoints = self.newPoints;
4177
- return;
4178
- }
4179
-
4180
- self.canTap = false;
4181
-
4182
- self.contentLastPos = self.limitMovement();
4183
-
4184
- if (self.requestId) {
4185
- cancelAFrame(self.requestId);
4186
- }
4187
-
4188
- self.requestId = requestAFrame(function() {
4189
- $.fancybox.setTranslate(self.$content, self.contentLastPos);
4190
- });
4191
- };
4192
-
4193
- // Make panning sticky to the edges
4194
- Guestures.prototype.limitMovement = function() {
4195
- var self = this;
4196
-
4197
- var canvasWidth = self.canvasWidth;
4198
- var canvasHeight = self.canvasHeight;
4199
-
4200
- var distanceX = self.distanceX;
4201
- var distanceY = self.distanceY;
4202
-
4203
- var contentStartPos = self.contentStartPos;
4204
-
4205
- var currentOffsetX = contentStartPos.left;
4206
- var currentOffsetY = contentStartPos.top;
4207
-
4208
- var currentWidth = contentStartPos.width;
4209
- var currentHeight = contentStartPos.height;
4210
-
4211
- var minTranslateX, minTranslateY, maxTranslateX, maxTranslateY, newOffsetX, newOffsetY;
4212
-
4213
- if (currentWidth > canvasWidth) {
4214
- newOffsetX = currentOffsetX + distanceX;
4215
- } else {
4216
- newOffsetX = currentOffsetX;
4217
- }
4218
-
4219
- newOffsetY = currentOffsetY + distanceY;
4220
-
4221
- // Slow down proportionally to traveled distance
4222
- minTranslateX = Math.max(0, canvasWidth * 0.5 - currentWidth * 0.5);
4223
- minTranslateY = Math.max(0, canvasHeight * 0.5 - currentHeight * 0.5);
4224
-
4225
- maxTranslateX = Math.min(canvasWidth - currentWidth, canvasWidth * 0.5 - currentWidth * 0.5);
4226
- maxTranslateY = Math.min(canvasHeight - currentHeight, canvasHeight * 0.5 - currentHeight * 0.5);
4227
-
4228
- // ->
4229
- if (distanceX > 0 && newOffsetX > minTranslateX) {
4230
- newOffsetX = minTranslateX - 1 + Math.pow(-minTranslateX + currentOffsetX + distanceX, 0.8) || 0;
4231
- }
4232
-
4233
- // <-
4234
- if (distanceX < 0 && newOffsetX < maxTranslateX) {
4235
- newOffsetX = maxTranslateX + 1 - Math.pow(maxTranslateX - currentOffsetX - distanceX, 0.8) || 0;
4236
- }
4237
-
4238
- // \/
4239
- if (distanceY > 0 && newOffsetY > minTranslateY) {
4240
- newOffsetY = minTranslateY - 1 + Math.pow(-minTranslateY + currentOffsetY + distanceY, 0.8) || 0;
4241
- }
4242
-
4243
- // /\
4244
- if (distanceY < 0 && newOffsetY < maxTranslateY) {
4245
- newOffsetY = maxTranslateY + 1 - Math.pow(maxTranslateY - currentOffsetY - distanceY, 0.8) || 0;
4246
- }
4247
-
4248
- return {
4249
- top: newOffsetY,
4250
- left: newOffsetX
4251
- };
4252
- };
4253
-
4254
- Guestures.prototype.limitPosition = function(newOffsetX, newOffsetY, newWidth, newHeight) {
4255
- var self = this;
4256
-
4257
- var canvasWidth = self.canvasWidth;
4258
- var canvasHeight = self.canvasHeight;
4259
-
4260
- if (newWidth > canvasWidth) {
4261
- newOffsetX = newOffsetX > 0 ? 0 : newOffsetX;
4262
- newOffsetX = newOffsetX < canvasWidth - newWidth ? canvasWidth - newWidth : newOffsetX;
4263
- } else {
4264
- // Center horizontally
4265
- newOffsetX = Math.max(0, canvasWidth / 2 - newWidth / 2);
4266
- }
4267
-
4268
- if (newHeight > canvasHeight) {
4269
- newOffsetY = newOffsetY > 0 ? 0 : newOffsetY;
4270
- newOffsetY = newOffsetY < canvasHeight - newHeight ? canvasHeight - newHeight : newOffsetY;
4271
- } else {
4272
- // Center vertically
4273
- newOffsetY = Math.max(0, canvasHeight / 2 - newHeight / 2);
4274
- }
4275
-
4276
- return {
4277
- top: newOffsetY,
4278
- left: newOffsetX
4279
- };
4280
- };
4281
-
4282
- Guestures.prototype.onZoom = function() {
4283
- var self = this;
4284
-
4285
- // Calculate current distance between points to get pinch ratio and new width and height
4286
- var contentStartPos = self.contentStartPos;
4287
-
4288
- var currentWidth = contentStartPos.width;
4289
- var currentHeight = contentStartPos.height;
4290
-
4291
- var currentOffsetX = contentStartPos.left;
4292
- var currentOffsetY = contentStartPos.top;
4293
-
4294
- var endDistanceBetweenFingers = distance(self.newPoints[0], self.newPoints[1]);
4295
-
4296
- var pinchRatio = endDistanceBetweenFingers / self.startDistanceBetweenFingers;
4297
-
4298
- var newWidth = Math.floor(currentWidth * pinchRatio);
4299
- var newHeight = Math.floor(currentHeight * pinchRatio);
4300
-
4301
- // This is the translation due to pinch-zooming
4302
- var translateFromZoomingX = (currentWidth - newWidth) * self.percentageOfImageAtPinchPointX;
4303
- var translateFromZoomingY = (currentHeight - newHeight) * self.percentageOfImageAtPinchPointY;
4304
-
4305
- // Point between the two touches
4306
- var centerPointEndX = (self.newPoints[0].x + self.newPoints[1].x) / 2 - $(window).scrollLeft();
4307
- var centerPointEndY = (self.newPoints[0].y + self.newPoints[1].y) / 2 - $(window).scrollTop();
4308
-
4309
- // And this is the translation due to translation of the centerpoint
4310
- // between the two fingers
4311
- var translateFromTranslatingX = centerPointEndX - self.centerPointStartX;
4312
- var translateFromTranslatingY = centerPointEndY - self.centerPointStartY;
4313
-
4314
- // The new offset is the old/current one plus the total translation
4315
- var newOffsetX = currentOffsetX + (translateFromZoomingX + translateFromTranslatingX);
4316
- var newOffsetY = currentOffsetY + (translateFromZoomingY + translateFromTranslatingY);
4317
-
4318
- var newPos = {
4319
- top: newOffsetY,
4320
- left: newOffsetX,
4321
- scaleX: pinchRatio,
4322
- scaleY: pinchRatio
4323
- };
4324
-
4325
- self.canTap = false;
4326
-
4327
- self.newWidth = newWidth;
4328
- self.newHeight = newHeight;
4329
-
4330
- self.contentLastPos = newPos;
4331
-
4332
- if (self.requestId) {
4333
- cancelAFrame(self.requestId);
4334
- }
4335
-
4336
- self.requestId = requestAFrame(function() {
4337
- $.fancybox.setTranslate(self.$content, self.contentLastPos);
4338
- });
4339
- };
4340
-
4341
- Guestures.prototype.ontouchend = function(e) {
4342
- var self = this;
4343
-
4344
- var swiping = self.isSwiping;
4345
- var panning = self.isPanning;
4346
- var zooming = self.isZooming;
4347
- var scrolling = self.isScrolling;
4348
-
4349
- self.endPoints = getPointerXY(e);
4350
- self.dMs = Math.max(new Date().getTime() - self.startTime, 1);
4351
-
4352
- self.$container.removeClass("fancybox-is-grabbing");
4353
-
4354
- $(document).off(".fb.touch");
4355
-
4356
- document.removeEventListener("scroll", self.onscroll, true);
4357
-
4358
- if (self.requestId) {
4359
- cancelAFrame(self.requestId);
4360
-
4361
- self.requestId = null;
4362
- }
4363
-
4364
- self.isSwiping = false;
4365
- self.isPanning = false;
4366
- self.isZooming = false;
4367
- self.isScrolling = false;
4368
-
4369
- self.instance.isDragging = false;
4370
-
4371
- if (self.canTap) {
4372
- return self.onTap(e);
4373
- }
4374
-
4375
- self.speed = 100;
4376
-
4377
- // Speed in px/ms
4378
- self.velocityX = (self.distanceX / self.dMs) * 0.5;
4379
- self.velocityY = (self.distanceY / self.dMs) * 0.5;
4380
-
4381
- if (panning) {
4382
- self.endPanning();
4383
- } else if (zooming) {
4384
- self.endZooming();
4385
- } else {
4386
- self.endSwiping(swiping, scrolling);
4387
- }
4388
-
4389
- return;
4390
- };
4391
-
4392
- Guestures.prototype.endSwiping = function(swiping, scrolling) {
4393
- var self = this,
4394
- ret = false,
4395
- len = self.instance.group.length,
4396
- distanceX = Math.abs(self.distanceX),
4397
- canAdvance = swiping == "x" && len > 1 && ((self.dMs > 130 && distanceX > 10) || distanceX > 50),
4398
- speedX = 300;
4399
-
4400
- self.sliderLastPos = null;
4401
-
4402
- // Close if swiped vertically / navigate if horizontally
4403
- if (swiping == "y" && !scrolling && Math.abs(self.distanceY) > 50) {
4404
- // Continue vertical movement
4405
- $.fancybox.animate(
4406
- self.instance.current.$slide,
4407
- {
4408
- top: self.sliderStartPos.top + self.distanceY + self.velocityY * 150,
4409
- opacity: 0
4410
- },
4411
- 200
4412
- );
4413
- ret = self.instance.close(true, 250);
4414
- } else if (canAdvance && self.distanceX > 0) {
4415
- ret = self.instance.previous(speedX);
4416
- } else if (canAdvance && self.distanceX < 0) {
4417
- ret = self.instance.next(speedX);
4418
- }
4419
-
4420
- if (ret === false && (swiping == "x" || swiping == "y")) {
4421
- self.instance.centerSlide(200);
4422
- }
4423
-
4424
- self.$container.removeClass("fancybox-is-sliding");
4425
- };
4426
-
4427
- // Limit panning from edges
4428
- // ========================
4429
- Guestures.prototype.endPanning = function() {
4430
- var self = this,
4431
- newOffsetX,
4432
- newOffsetY,
4433
- newPos;
4434
-
4435
- if (!self.contentLastPos) {
4436
- return;
4437
- }
4438
-
4439
- if (self.opts.momentum === false || self.dMs > 350) {
4440
- newOffsetX = self.contentLastPos.left;
4441
- newOffsetY = self.contentLastPos.top;
4442
- } else {
4443
- // Continue movement
4444
- newOffsetX = self.contentLastPos.left + self.velocityX * 500;
4445
- newOffsetY = self.contentLastPos.top + self.velocityY * 500;
4446
- }
4447
-
4448
- newPos = self.limitPosition(newOffsetX, newOffsetY, self.contentStartPos.width, self.contentStartPos.height);
4449
-
4450
- newPos.width = self.contentStartPos.width;
4451
- newPos.height = self.contentStartPos.height;
4452
-
4453
- $.fancybox.animate(self.$content, newPos, 330);
4454
- };
4455
-
4456
- Guestures.prototype.endZooming = function() {
4457
- var self = this;
4458
-
4459
- var current = self.instance.current;
4460
-
4461
- var newOffsetX, newOffsetY, newPos, reset;
4462
-
4463
- var newWidth = self.newWidth;
4464
- var newHeight = self.newHeight;
4465
-
4466
- if (!self.contentLastPos) {
4467
- return;
4468
- }
4469
-
4470
- newOffsetX = self.contentLastPos.left;
4471
- newOffsetY = self.contentLastPos.top;
4472
-
4473
- reset = {
4474
- top: newOffsetY,
4475
- left: newOffsetX,
4476
- width: newWidth,
4477
- height: newHeight,
4478
- scaleX: 1,
4479
- scaleY: 1
4480
- };
4481
-
4482
- // Reset scalex/scaleY values; this helps for perfomance and does not break animation
4483
- $.fancybox.setTranslate(self.$content, reset);
4484
-
4485
- if (newWidth < self.canvasWidth && newHeight < self.canvasHeight) {
4486
- self.instance.scaleToFit(150);
4487
- } else if (newWidth > current.width || newHeight > current.height) {
4488
- self.instance.scaleToActual(self.centerPointStartX, self.centerPointStartY, 150);
4489
- } else {
4490
- newPos = self.limitPosition(newOffsetX, newOffsetY, newWidth, newHeight);
4491
-
4492
- $.fancybox.animate(self.$content, newPos, 150);
4493
- }
4494
- };
4495
-
4496
- Guestures.prototype.onTap = function(e) {
4497
- var self = this;
4498
- var $target = $(e.target);
4499
-
4500
- var instance = self.instance;
4501
- var current = instance.current;
4502
-
4503
- var endPoints = (e && getPointerXY(e)) || self.startPoints;
4504
-
4505
- var tapX = endPoints[0] ? endPoints[0].x - $(window).scrollLeft() - self.stagePos.left : 0;
4506
- var tapY = endPoints[0] ? endPoints[0].y - $(window).scrollTop() - self.stagePos.top : 0;
4507
-
4508
- var where;
4509
-
4510
- var process = function(prefix) {
4511
- var action = current.opts[prefix];
4512
-
4513
- if ($.isFunction(action)) {
4514
- action = action.apply(instance, [current, e]);
4515
- }
4516
-
4517
- if (!action) {
4518
- return;
4519
- }
4520
-
4521
- switch (action) {
4522
- case "close":
4523
- instance.close(self.startEvent);
4524
-
4525
- break;
4526
-
4527
- case "toggleControls":
4528
- instance.toggleControls();
4529
-
4530
- break;
4531
-
4532
- case "next":
4533
- instance.next();
4534
-
4535
- break;
4536
-
4537
- case "nextOrClose":
4538
- if (instance.group.length > 1) {
4539
- instance.next();
4540
- } else {
4541
- instance.close(self.startEvent);
4542
- }
4543
-
4544
- break;
4545
-
4546
- case "zoom":
4547
- if (current.type == "image" && (current.isLoaded || current.$ghost)) {
4548
- if (instance.canPan()) {
4549
- instance.scaleToFit();
4550
- } else if (instance.isScaledDown()) {
4551
- instance.scaleToActual(tapX, tapY);
4552
- } else if (instance.group.length < 2) {
4553
- instance.close(self.startEvent);
4554
- }
4555
- }
4556
-
4557
- break;
4558
- }
4559
- };
4560
-
4561
- // Ignore right click
4562
- if (e.originalEvent && e.originalEvent.button == 2) {
4563
- return;
4564
- }
4565
-
4566
- // Skip if clicked on the scrollbar
4567
- if (!$target.is("img") && tapX > $target[0].clientWidth + $target.offset().left) {
4568
- return;
4569
- }
4570
-
4571
- // Check where is clicked
4572
- if ($target.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container")) {
4573
- where = "Outside";
4574
- } else if ($target.is(".fancybox-slide")) {
4575
- where = "Slide";
4576
- } else if (
4577
- instance.current.$content &&
4578
- instance.current.$content
4579
- .find($target)
4580
- .addBack()
4581
- .filter($target).length
4582
- ) {
4583
- where = "Content";
4584
- } else {
4585
- return;
4586
- }
4587
-
4588
- // Check if this is a double tap
4589
- if (self.tapped) {
4590
- // Stop previously created single tap
4591
- clearTimeout(self.tapped);
4592
- self.tapped = null;
4593
-
4594
- // Skip if distance between taps is too big
4595
- if (Math.abs(tapX - self.tapX) > 50 || Math.abs(tapY - self.tapY) > 50) {
4596
- return this;
4597
- }
4598
-
4599
- // OK, now we assume that this is a double-tap
4600
- process("dblclick" + where);
4601
- } else {
4602
- // Single tap will be processed if user has not clicked second time within 300ms
4603
- // or there is no need to wait for double-tap
4604
- self.tapX = tapX;
4605
- self.tapY = tapY;
4606
-
4607
- if (current.opts["dblclick" + where] && current.opts["dblclick" + where] !== current.opts["click" + where]) {
4608
- self.tapped = setTimeout(function() {
4609
- self.tapped = null;
4610
-
4611
- if (!instance.isAnimating) {
4612
- process("click" + where);
4613
- }
4614
- }, 500);
4615
- } else {
4616
- process("click" + where);
4617
- }
4618
- }
4619
-
4620
- return this;
4621
- };
4622
-
4623
- $(document)
4624
- .on("onActivate.fb", function(e, instance) {
4625
- if (instance && !instance.Guestures) {
4626
- instance.Guestures = new Guestures(instance);
4627
- }
4628
- })
4629
- .on("beforeClose.fb", function(e, instance) {
4630
- if (instance && instance.Guestures) {
4631
- instance.Guestures.destroy();
4632
- }
4633
- });
4634
- })(window, document, jQuery);
4635
-
4636
- // ==========================================================================
4637
- //
4638
- // SlideShow
4639
- // Enables slideshow functionality
4640
- //
4641
- // Example of usage:
4642
- // $.fancybox.getInstance().SlideShow.start()
4643
- //
4644
- // ==========================================================================
4645
- (function(document, $) {
4646
- "use strict";
4647
-
4648
- $.extend(true, $.fancybox.defaults, {
4649
- btnTpl: {
4650
- slideShow:
4651
- '<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}">' +
4652
- '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.5 5.4v13.2l11-6.6z"/></svg>' +
4653
- '<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>' +
4654
- "</button>"
4655
- },
4656
- slideShow: {
4657
- autoStart: false,
4658
- speed: 3000,
4659
- progress: true
4660
- }
4661
- });
4662
-
4663
- var SlideShow = function(instance) {
4664
- this.instance = instance;
4665
- this.init();
4666
- };
4667
-
4668
- $.extend(SlideShow.prototype, {
4669
- timer: null,
4670
- isActive: false,
4671
- $button: null,
4672
-
4673
- init: function() {
4674
- var self = this,
4675
- instance = self.instance,
4676
- opts = instance.group[instance.currIndex].opts.slideShow;
4677
-
4678
- self.$button = instance.$refs.toolbar.find("[data-fancybox-play]").on("click", function() {
4679
- self.toggle();
4680
- });
4681
-
4682
- if (instance.group.length < 2 || !opts) {
4683
- self.$button.hide();
4684
- } else if (opts.progress) {
4685
- self.$progress = $('<div class="fancybox-progress"></div>').appendTo(instance.$refs.inner);
4686
- }
4687
- },
4688
-
4689
- set: function(force) {
4690
- var self = this,
4691
- instance = self.instance,
4692
- current = instance.current;
4693
-
4694
- // Check if reached last element
4695
- if (current && (force === true || current.opts.loop || instance.currIndex < instance.group.length - 1)) {
4696
- if (self.isActive && current.contentType !== "video") {
4697
- if (self.$progress) {
4698
- $.fancybox.animate(self.$progress.show(), {scaleX: 1}, current.opts.slideShow.speed);
4699
- }
4700
-
4701
- self.timer = setTimeout(function() {
4702
- if (!instance.current.opts.loop && instance.current.index == instance.group.length - 1) {
4703
- instance.jumpTo(0);
4704
- } else {
4705
- instance.next();
4706
- }
4707
- }, current.opts.slideShow.speed);
4708
- }
4709
- } else {
4710
- self.stop();
4711
- instance.idleSecondsCounter = 0;
4712
- instance.showControls();
4713
- }
4714
- },
4715
-
4716
- clear: function() {
4717
- var self = this;
4718
-
4719
- clearTimeout(self.timer);
4720
-
4721
- self.timer = null;
4722
-
4723
- if (self.$progress) {
4724
- self.$progress.removeAttr("style").hide();
4725
- }
4726
- },
4727
-
4728
- start: function() {
4729
- var self = this,
4730
- current = self.instance.current;
4731
-
4732
- if (current) {
4733
- self.$button
4734
- .attr("title", (current.opts.i18n[current.opts.lang] || current.opts.i18n.en).PLAY_STOP)
4735
- .removeClass("fancybox-button--play")
4736
- .addClass("fancybox-button--pause");
4737
-
4738
- self.isActive = true;
4739
-
4740
- if (current.isComplete) {
4741
- self.set(true);
4742
- }
4743
-
4744
- self.instance.trigger("onSlideShowChange", true);
4745
- }
4746
- },
4747
-
4748
- stop: function() {
4749
- var self = this,
4750
- current = self.instance.current;
4751
-
4752
- self.clear();
4753
-
4754
- self.$button
4755
- .attr("title", (current.opts.i18n[current.opts.lang] || current.opts.i18n.en).PLAY_START)
4756
- .removeClass("fancybox-button--pause")
4757
- .addClass("fancybox-button--play");
4758
-
4759
- self.isActive = false;
4760
-
4761
- self.instance.trigger("onSlideShowChange", false);
4762
-
4763
- if (self.$progress) {
4764
- self.$progress.removeAttr("style").hide();
4765
- }
4766
- },
4767
-
4768
- toggle: function() {
4769
- var self = this;
4770
-
4771
- if (self.isActive) {
4772
- self.stop();
4773
- } else {
4774
- self.start();
4775
- }
4776
- }
4777
- });
4778
-
4779
- $(document).on({
4780
- "onInit.fb": function(e, instance) {
4781
- if (instance && !instance.SlideShow) {
4782
- instance.SlideShow = new SlideShow(instance);
4783
- }
4784
- },
4785
-
4786
- "beforeShow.fb": function(e, instance, current, firstRun) {
4787
- var SlideShow = instance && instance.SlideShow;
4788
-
4789
- if (firstRun) {
4790
- if (SlideShow && current.opts.slideShow.autoStart) {
4791
- SlideShow.start();
4792
- }
4793
- } else if (SlideShow && SlideShow.isActive) {
4794
- SlideShow.clear();
4795
- }
4796
- },
4797
-
4798
- "afterShow.fb": function(e, instance, current) {
4799
- var SlideShow = instance && instance.SlideShow;
4800
-
4801
- if (SlideShow && SlideShow.isActive) {
4802
- SlideShow.set();
4803
- }
4804
- },
4805
-
4806
- "afterKeydown.fb": function(e, instance, current, keypress, keycode) {
4807
- var SlideShow = instance && instance.SlideShow;
4808
-
4809
- // "P" or Spacebar
4810
- if (SlideShow && current.opts.slideShow && (keycode === 80 || keycode === 32) && !$(document.activeElement).is("button,a,input")) {
4811
- keypress.preventDefault();
4812
-
4813
- SlideShow.toggle();
4814
- }
4815
- },
4816
-
4817
- "beforeClose.fb onDeactivate.fb": function(e, instance) {
4818
- var SlideShow = instance && instance.SlideShow;
4819
-
4820
- if (SlideShow) {
4821
- SlideShow.stop();
4822
- }
4823
- }
4824
- });
4825
-
4826
- // Page Visibility API to pause slideshow when window is not active
4827
- $(document).on("visibilitychange", function() {
4828
- var instance = $.fancybox.getInstance(),
4829
- SlideShow = instance && instance.SlideShow;
4830
-
4831
- if (SlideShow && SlideShow.isActive) {
4832
- if (document.hidden) {
4833
- SlideShow.clear();
4834
- } else {
4835
- SlideShow.set();
4836
- }
4837
- }
4838
- });
4839
- })(document, jQuery);
4840
-
4841
- // ==========================================================================
4842
- //
4843
- // FullScreen
4844
- // Adds fullscreen functionality
4845
- //
4846
- // ==========================================================================
4847
- (function(document, $) {
4848
- "use strict";
4849
-
4850
- // Collection of methods supported by user browser
4851
- var fn = (function() {
4852
- var fnMap = [
4853
- ["requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror"],
4854
- // new WebKit
4855
- [
4856
- "webkitRequestFullscreen",
4857
- "webkitExitFullscreen",
4858
- "webkitFullscreenElement",
4859
- "webkitFullscreenEnabled",
4860
- "webkitfullscreenchange",
4861
- "webkitfullscreenerror"
4862
- ],
4863
- // old WebKit (Safari 5.1)
4864
- [
4865
- "webkitRequestFullScreen",
4866
- "webkitCancelFullScreen",
4867
- "webkitCurrentFullScreenElement",
4868
- "webkitCancelFullScreen",
4869
- "webkitfullscreenchange",
4870
- "webkitfullscreenerror"
4871
- ],
4872
- [
4873
- "mozRequestFullScreen",
4874
- "mozCancelFullScreen",
4875
- "mozFullScreenElement",
4876
- "mozFullScreenEnabled",
4877
- "mozfullscreenchange",
4878
- "mozfullscreenerror"
4879
- ],
4880
- ["msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError"]
4881
- ];
4882
-
4883
- var ret = {};
4884
-
4885
- for (var i = 0; i < fnMap.length; i++) {
4886
- var val = fnMap[i];
4887
-
4888
- if (val && val[1] in document) {
4889
- for (var j = 0; j < val.length; j++) {
4890
- ret[fnMap[0][j]] = val[j];
4891
- }
4892
-
4893
- return ret;
4894
- }
4895
- }
4896
-
4897
- return false;
4898
- })();
4899
-
4900
- if (fn) {
4901
- var FullScreen = {
4902
- request: function(elem) {
4903
- elem = elem || document.documentElement;
4904
-
4905
- elem[fn.requestFullscreen](elem.ALLOW_KEYBOARD_INPUT);
4906
- },
4907
- exit: function() {
4908
- document[fn.exitFullscreen]();
4909
- },
4910
- toggle: function(elem) {
4911
- elem = elem || document.documentElement;
4912
-
4913
- if (this.isFullscreen()) {
4914
- this.exit();
4915
- } else {
4916
- this.request(elem);
4917
- }
4918
- },
4919
- isFullscreen: function() {
4920
- return Boolean(document[fn.fullscreenElement]);
4921
- },
4922
- enabled: function() {
4923
- return Boolean(document[fn.fullscreenEnabled]);
4924
- }
4925
- };
4926
-
4927
- $.extend(true, $.fancybox.defaults, {
4928
- btnTpl: {
4929
- fullScreen:
4930
- '<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fsenter" title="{{FULL_SCREEN}}">' +
4931
- '<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>' +
4932
- '<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>' +
4933
- "</button>"
4934
- },
4935
- fullScreen: {
4936
- autoStart: false
4937
- }
4938
- });
4939
-
4940
- $(document).on(fn.fullscreenchange, function() {
4941
- var isFullscreen = FullScreen.isFullscreen(),
4942
- instance = $.fancybox.getInstance();
4943
-
4944
- if (instance) {
4945
- // If image is zooming, then force to stop and reposition properly
4946
- if (instance.current && instance.current.type === "image" && instance.isAnimating) {
4947
- instance.current.$content.css("transition", "none");
4948
-
4949
- instance.isAnimating = false;
4950
-
4951
- instance.update(true, true, 0);
4952
- }
4953
-
4954
- instance.trigger("onFullscreenChange", isFullscreen);
4955
-
4956
- instance.$refs.container.toggleClass("fancybox-is-fullscreen", isFullscreen);
4957
-
4958
- instance.$refs.toolbar
4959
- .find("[data-fancybox-fullscreen]")
4960
- .toggleClass("fancybox-button--fsenter", !isFullscreen)
4961
- .toggleClass("fancybox-button--fsexit", isFullscreen);
4962
- }
4963
- });
4964
- }
4965
-
4966
- $(document).on({
4967
- "onInit.fb": function(e, instance) {
4968
- var $container;
4969
-
4970
- if (!fn) {
4971
- instance.$refs.toolbar.find("[data-fancybox-fullscreen]").remove();
4972
-
4973
- return;
4974
- }
4975
-
4976
- if (instance && instance.group[instance.currIndex].opts.fullScreen) {
4977
- $container = instance.$refs.container;
4978
-
4979
- $container.on("click.fb-fullscreen", "[data-fancybox-fullscreen]", function(e) {
4980
- e.stopPropagation();
4981
- e.preventDefault();
4982
-
4983
- FullScreen.toggle();
4984
- });
4985
-
4986
- if (instance.opts.fullScreen && instance.opts.fullScreen.autoStart === true) {
4987
- FullScreen.request();
4988
- }
4989
-
4990
- // Expose API
4991
- instance.FullScreen = FullScreen;
4992
- } else if (instance) {
4993
- instance.$refs.toolbar.find("[data-fancybox-fullscreen]").hide();
4994
- }
4995
- },
4996
-
4997
- "afterKeydown.fb": function(e, instance, current, keypress, keycode) {
4998
- // "F"
4999
- if (instance && instance.FullScreen && keycode === 70) {
5000
- keypress.preventDefault();
5001
-
5002
- instance.FullScreen.toggle();
5003
- }
5004
- },
5005
-
5006
- "beforeClose.fb": function(e, instance) {
5007
- if (instance && instance.FullScreen && instance.$refs.container.hasClass("fancybox-is-fullscreen")) {
5008
- FullScreen.exit();
5009
- }
5010
- }
5011
- });
5012
- })(document, jQuery);
5013
-
5014
- // ==========================================================================
5015
- //
5016
- // Thumbs
5017
- // Displays thumbnails in a grid
5018
- //
5019
- // ==========================================================================
5020
- (function(document, $) {
5021
- "use strict";
5022
-
5023
- var CLASS = "fancybox-thumbs",
5024
- CLASS_ACTIVE = CLASS + "-active";
5025
-
5026
- // Make sure there are default values
5027
- $.fancybox.defaults = $.extend(
5028
- true,
5029
- {
5030
- btnTpl: {
5031
- thumbs:
5032
- '<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}">' +
5033
- '<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>' +
5034
- "</button>"
5035
- },
5036
- thumbs: {
5037
- autoStart: false, // Display thumbnails on opening
5038
- hideOnClose: true, // Hide thumbnail grid when closing animation starts
5039
- parentEl: ".fancybox-container", // Container is injected into this element
5040
- axis: "y" // Vertical (y) or horizontal (x) scrolling
5041
- }
5042
- },
5043
- $.fancybox.defaults
5044
- );
5045
-
5046
- var FancyThumbs = function(instance) {
5047
- this.init(instance);
5048
- };
5049
-
5050
- $.extend(FancyThumbs.prototype, {
5051
- $button: null,
5052
- $grid: null,
5053
- $list: null,
5054
- isVisible: false,
5055
- isActive: false,
5056
-
5057
- init: function(instance) {
5058
- var self = this,
5059
- group = instance.group,
5060
- enabled = 0;
5061
-
5062
- self.instance = instance;
5063
- self.opts = group[instance.currIndex].opts.thumbs;
5064
-
5065
- instance.Thumbs = self;
5066
-
5067
- self.$button = instance.$refs.toolbar.find("[data-fancybox-thumbs]");
5068
-
5069
- // Enable thumbs if at least two group items have thumbnails
5070
- for (var i = 0, len = group.length; i < len; i++) {
5071
- if (group[i].thumb) {
5072
- enabled++;
5073
- }
5074
-
5075
- if (enabled > 1) {
5076
- break;
5077
- }
5078
- }
5079
-
5080
- if (enabled > 1 && !!self.opts) {
5081
- self.$button.removeAttr("style").on("click", function() {
5082
- self.toggle();
5083
- });
5084
-
5085
- self.isActive = true;
5086
- } else {
5087
- self.$button.hide();
5088
- }
5089
- },
5090
-
5091
- create: function() {
5092
- var self = this,
5093
- instance = self.instance,
5094
- parentEl = self.opts.parentEl,
5095
- list = [],
5096
- src;
5097
-
5098
- if (!self.$grid) {
5099
- // Create main element
5100
- self.$grid = $('<div class="' + CLASS + " " + CLASS + "-" + self.opts.axis + '"></div>').appendTo(
5101
- instance.$refs.container
5102
- .find(parentEl)
5103
- .addBack()
5104
- .filter(parentEl)
5105
- );
5106
-
5107
- // Add "click" event that performs gallery navigation
5108
- self.$grid.on("click", "a", function() {
5109
- instance.jumpTo($(this).attr("data-index"));
5110
- });
5111
- }
5112
-
5113
- // Build the list
5114
- if (!self.$list) {
5115
- self.$list = $('<div class="' + CLASS + '__list">').appendTo(self.$grid);
5116
- }
5117
-
5118
- $.each(instance.group, function(i, item) {
5119
- src = item.thumb;
5120
-
5121
- if (!src && item.type === "image") {
5122
- src = item.src;
5123
- }
5124
-
5125
- list.push(
5126
- '<a href="javascript:;" tabindex="0" data-index="' +
5127
- i +
5128
- '"' +
5129
- (src && src.length ? ' style="background-image:url(' + src + ')"' : 'class="fancybox-thumbs-missing"') +
5130
- "></a>"
5131
- );
5132
- });
5133
-
5134
- self.$list[0].innerHTML = list.join("");
5135
-
5136
- if (self.opts.axis === "x") {
5137
- // Set fixed width for list element to enable horizontal scrolling
5138
- self.$list.width(
5139
- parseInt(self.$grid.css("padding-right"), 10) +
5140
- instance.group.length *
5141
- self.$list
5142
- .children()
5143
- .eq(0)
5144
- .outerWidth(true)
5145
- );
5146
- }
5147
- },
5148
-
5149
- focus: function(duration) {
5150
- var self = this,
5151
- $list = self.$list,
5152
- $grid = self.$grid,
5153
- thumb,
5154
- thumbPos;
5155
-
5156
- if (!self.instance.current) {
5157
- return;
5158
- }
5159
-
5160
- thumb = $list
5161
- .children()
5162
- .removeClass(CLASS_ACTIVE)
5163
- .filter('[data-index="' + self.instance.current.index + '"]')
5164
- .addClass(CLASS_ACTIVE);
5165
-
5166
- thumbPos = thumb.position();
5167
-
5168
- // Check if need to scroll to make current thumb visible
5169
- if (self.opts.axis === "y" && (thumbPos.top < 0 || thumbPos.top > $list.height() - thumb.outerHeight())) {
5170
- $list.stop().animate(
5171
- {
5172
- scrollTop: $list.scrollTop() + thumbPos.top
5173
- },
5174
- duration
5175
- );
5176
- } else if (
5177
- self.opts.axis === "x" &&
5178
- (thumbPos.left < $grid.scrollLeft() || thumbPos.left > $grid.scrollLeft() + ($grid.width() - thumb.outerWidth()))
5179
- ) {
5180
- $list
5181
- .parent()
5182
- .stop()
5183
- .animate(
5184
- {
5185
- scrollLeft: thumbPos.left
5186
- },
5187
- duration
5188
- );
5189
- }
5190
- },
5191
-
5192
- update: function() {
5193
- var that = this;
5194
- that.instance.$refs.container.toggleClass("fancybox-show-thumbs", this.isVisible);
5195
-
5196
- if (that.isVisible) {
5197
- if (!that.$grid) {
5198
- that.create();
5199
- }
5200
-
5201
- that.instance.trigger("onThumbsShow");
5202
-
5203
- that.focus(0);
5204
- } else if (that.$grid) {
5205
- that.instance.trigger("onThumbsHide");
5206
- }
5207
-
5208
- // Update content position
5209
- that.instance.update();
5210
- },
5211
-
5212
- hide: function() {
5213
- this.isVisible = false;
5214
- this.update();
5215
- },
5216
-
5217
- show: function() {
5218
- this.isVisible = true;
5219
- this.update();
5220
- },
5221
-
5222
- toggle: function() {
5223
- this.isVisible = !this.isVisible;
5224
- this.update();
5225
- }
5226
- });
5227
-
5228
- $(document).on({
5229
- "onInit.fb": function(e, instance) {
5230
- var Thumbs;
5231
-
5232
- if (instance && !instance.Thumbs) {
5233
- Thumbs = new FancyThumbs(instance);
5234
-
5235
- if (Thumbs.isActive && Thumbs.opts.autoStart === true) {
5236
- Thumbs.show();
5237
- }
5238
- }
5239
- },
5240
-
5241
- "beforeShow.fb": function(e, instance, item, firstRun) {
5242
- var Thumbs = instance && instance.Thumbs;
5243
-
5244
- if (Thumbs && Thumbs.isVisible) {
5245
- Thumbs.focus(firstRun ? 0 : 250);
5246
- }
5247
- },
5248
-
5249
- "afterKeydown.fb": function(e, instance, current, keypress, keycode) {
5250
- var Thumbs = instance && instance.Thumbs;
5251
-
5252
- // "G"
5253
- if (Thumbs && Thumbs.isActive && keycode === 71) {
5254
- keypress.preventDefault();
5255
-
5256
- Thumbs.toggle();
5257
- }
5258
- },
5259
-
5260
- "beforeClose.fb": function(e, instance) {
5261
- var Thumbs = instance && instance.Thumbs;
5262
-
5263
- if (Thumbs && Thumbs.isVisible && Thumbs.opts.hideOnClose !== false) {
5264
- Thumbs.$grid.hide();
5265
- }
5266
- }
5267
- });
5268
- })(document, jQuery);
5269
-
5270
- //// ==========================================================================
5271
- //
5272
- // Share
5273
- // Displays simple form for sharing current url
5274
- //
5275
- // ==========================================================================
5276
- (function(document, $) {
5277
- "use strict";
5278
-
5279
- $.extend(true, $.fancybox.defaults, {
5280
- btnTpl: {
5281
- share:
5282
- '<button data-fancybox-share class="fancybox-button fancybox-button--share" title="{{SHARE}}">' +
5283
- '<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>' +
5284
- "</button>"
5285
- },
5286
- share: {
5287
- url: function(instance, item) {
5288
- return (
5289
- (!instance.currentHash && !(item.type === "inline" || item.type === "html") ? item.origSrc || item.src : false) || window.location
5290
- );
5291
- },
5292
- tpl:
5293
- '<div class="fancybox-share">' +
5294
- "<h1>{{SHARE}}</h1>" +
5295
- "<p>" +
5296
- '<a class="fancybox-share__button fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}">' +
5297
- '<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>' +
5298
- "<span>Facebook</span>" +
5299
- "</a>" +
5300
- '<a class="fancybox-share__button fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&text={{descr}}">' +
5301
- '<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>' +
5302
- "<span>Twitter</span>" +
5303
- "</a>" +
5304
- '<a class="fancybox-share__button fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&description={{descr}}&media={{media}}">' +
5305
- '<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>' +
5306
- "<span>Pinterest</span>" +
5307
- "</a>" +
5308
- "</p>" +
5309
- '<p><input class="fancybox-share__input" type="text" value="{{url_raw}}" onclick="select()" /></p>' +
5310
- "</div>"
5311
- }
5312
- });
5313
-
5314
- function escapeHtml(string) {
5315
- var entityMap = {
5316
- "&": "&amp;",
5317
- "<": "&lt;",
5318
- ">": "&gt;",
5319
- '"': "&quot;",
5320
- "'": "&#39;",
5321
- "/": "&#x2F;",
5322
- "`": "&#x60;",
5323
- "=": "&#x3D;"
5324
- };
5325
-
5326
- return String(string).replace(/[&<>"'`=\/]/g, function(s) {
5327
- return entityMap[s];
5328
- });
5329
- }
5330
-
5331
- $(document).on("click", "[data-fancybox-share]", function() {
5332
- var instance = $.fancybox.getInstance(),
5333
- current = instance.current || null,
5334
- url,
5335
- tpl;
5336
-
5337
- if (!current) {
5338
- return;
5339
- }
5340
-
5341
- if ($.type(current.opts.share.url) === "function") {
5342
- url = current.opts.share.url.apply(current, [instance, current]);
5343
- }
5344
-
5345
- tpl = current.opts.share.tpl
5346
- .replace(/\{\{media\}\}/g, current.type === "image" ? encodeURIComponent(current.src) : "")
5347
- .replace(/\{\{url\}\}/g, encodeURIComponent(url))
5348
- .replace(/\{\{url_raw\}\}/g, escapeHtml(url))
5349
- .replace(/\{\{descr\}\}/g, instance.$caption ? encodeURIComponent(instance.$caption.text()) : "");
5350
-
5351
- $.fancybox.open({
5352
- src: instance.translate(instance, tpl),
5353
- type: "html",
5354
- opts: {
5355
- touch: false,
5356
- animationEffect: false,
5357
- afterLoad: function(shareInstance, shareCurrent) {
5358
- // Close self if parent instance is closing
5359
- instance.$refs.container.one("beforeClose.fb", function() {
5360
- shareInstance.close(null, 0);
5361
- });
5362
-
5363
- // Opening links in a popup window
5364
- shareCurrent.$content.find(".fancybox-share__button").click(function() {
5365
- window.open(this.href, "Share", "width=550, height=450");
5366
- return false;
5367
- });
5368
- },
5369
- mobile: {
5370
- autoFocus: false
5371
- }
5372
- }
5373
- });
5374
- });
5375
- })(document, jQuery);
5376
-
5377
- // ==========================================================================
5378
- //
5379
- // Hash
5380
- // Enables linking to each modal
5381
- //
5382
- // ==========================================================================
5383
- (function(window, document, $) {
5384
- "use strict";
5385
-
5386
- // Simple $.escapeSelector polyfill (for jQuery prior v3)
5387
- if (!$.escapeSelector) {
5388
- $.escapeSelector = function(sel) {
5389
- var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
5390
- var fcssescape = function(ch, asCodePoint) {
5391
- if (asCodePoint) {
5392
- // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
5393
- if (ch === "\0") {
5394
- return "\uFFFD";
5395
- }
5396
-
5397
- // Control characters and (dependent upon position) numbers get escaped as code points
5398
- return ch.slice(0, -1) + "\\" + ch.charCodeAt(ch.length - 1).toString(16) + " ";
5399
- }
5400
-
5401
- // Other potentially-special ASCII characters get backslash-escaped
5402
- return "\\" + ch;
5403
- };
5404
-
5405
- return (sel + "").replace(rcssescape, fcssescape);
5406
- };
5407
- }
5408
-
5409
- // Get info about gallery name and current index from url
5410
- function parseUrl() {
5411
- var hash = window.location.hash.substr(1),
5412
- rez = hash.split("-"),
5413
- index = rez.length > 1 && /^\+?\d+$/.test(rez[rez.length - 1]) ? parseInt(rez.pop(-1), 10) || 1 : 1,
5414
- gallery = rez.join("-");
5415
-
5416
- return {
5417
- hash: hash,
5418
- /* Index is starting from 1 */
5419
- index: index < 1 ? 1 : index,
5420
- gallery: gallery
5421
- };
5422
- }
5423
-
5424
- // Trigger click evnt on links to open new fancyBox instance
5425
- function triggerFromUrl(url) {
5426
- if (url.gallery !== "") {
5427
- // If we can find element matching 'data-fancybox' atribute,
5428
- // then triggering click event should start fancyBox
5429
- $("[data-fancybox='" + $.escapeSelector(url.gallery) + "']")
5430
- .eq(url.index - 1)
5431
- .focus()
5432
- .trigger("click.fb-start");
5433
- }
5434
- }
5435
-
5436
- // Get gallery name from current instance
5437
- function getGalleryID(instance) {
5438
- var opts, ret;
5439
-
5440
- if (!instance) {
5441
- return false;
5442
- }
5443
-
5444
- opts = instance.current ? instance.current.opts : instance.opts;
5445
- ret = opts.hash || (opts.$orig ? opts.$orig.data("fancybox") || opts.$orig.data("fancybox-trigger") : "");
5446
-
5447
- return ret === "" ? false : ret;
5448
- }
5449
-
5450
- // Start when DOM becomes ready
5451
- $(function() {
5452
- // Check if user has disabled this module
5453
- if ($.fancybox.defaults.hash === false) {
5454
- return;
5455
- }
5456
-
5457
- // Update hash when opening/closing fancyBox
5458
- $(document).on({
5459
- "onInit.fb": function(e, instance) {
5460
- var url, gallery;
5461
-
5462
- if (instance.group[instance.currIndex].opts.hash === false) {
5463
- return;
5464
- }
5465
-
5466
- url = parseUrl();
5467
- gallery = getGalleryID(instance);
5468
-
5469
- // Make sure gallery start index matches index from hash
5470
- if (gallery && url.gallery && gallery == url.gallery) {
5471
- instance.currIndex = url.index - 1;
5472
- }
5473
- },
5474
-
5475
- "beforeShow.fb": function(e, instance, current, firstRun) {
5476
- var gallery;
5477
-
5478
- if (!current || current.opts.hash === false) {
5479
- return;
5480
- }
5481
-
5482
- // Check if need to update window hash
5483
- gallery = getGalleryID(instance);
5484
-
5485
- if (!gallery) {
5486
- return;
5487
- }
5488
-
5489
- // Variable containing last hash value set by fancyBox
5490
- // It will be used to determine if fancyBox needs to close after hash change is detected
5491
- instance.currentHash = gallery + (instance.group.length > 1 ? "-" + (current.index + 1) : "");
5492
-
5493
- // If current hash is the same (this instance most likely is opened by hashchange), then do nothing
5494
- if (window.location.hash === "#" + instance.currentHash) {
5495
- return;
5496
- }
5497
-
5498
- if (firstRun && !instance.origHash) {
5499
- instance.origHash = window.location.hash;
5500
- }
5501
-
5502
- if (instance.hashTimer) {
5503
- clearTimeout(instance.hashTimer);
5504
- }
5505
-
5506
- // Update hash
5507
- instance.hashTimer = setTimeout(function() {
5508
- if ("replaceState" in window.history) {
5509
- window.history[firstRun ? "pushState" : "replaceState"](
5510
- {},
5511
- document.title,
5512
- window.location.pathname + window.location.search + "#" + instance.currentHash
5513
- );
5514
-
5515
- if (firstRun) {
5516
- instance.hasCreatedHistory = true;
5517
- }
5518
- } else {
5519
- window.location.hash = instance.currentHash;
5520
- }
5521
-
5522
- instance.hashTimer = null;
5523
- }, 300);
5524
- },
5525
-
5526
- "beforeClose.fb": function(e, instance, current) {
5527
- if (current.opts.hash === false) {
5528
- return;
5529
- }
5530
-
5531
- clearTimeout(instance.hashTimer);
5532
-
5533
- // Goto previous history entry
5534
- if (instance.currentHash && instance.hasCreatedHistory) {
5535
- window.history.back();
5536
- } else if (instance.currentHash) {
5537
- if ("replaceState" in window.history) {
5538
- window.history.replaceState({}, document.title, window.location.pathname + window.location.search + (instance.origHash || ""));
5539
- } else {
5540
- window.location.hash = instance.origHash;
5541
- }
5542
- }
5543
-
5544
- instance.currentHash = null;
5545
- }
5546
- });
5547
-
5548
- // Check if need to start/close after url has changed
5549
- $(window).on("hashchange.fb", function() {
5550
- var url = parseUrl(),
5551
- fb = null;
5552
-
5553
- // Find last fancyBox instance that has "hash"
5554
- $.each(
5555
- $(".fancybox-container")
5556
- .get()
5557
- .reverse(),
5558
- function(index, value) {
5559
- var tmp = $(value).data("FancyBox");
5560
-
5561
- if (tmp && tmp.currentHash) {
5562
- fb = tmp;
5563
- return false;
5564
- }
5565
- }
5566
- );
5567
-
5568
- if (fb) {
5569
- // Now, compare hash values
5570
- if (fb.currentHash !== url.gallery + "-" + url.index && !(url.index === 1 && fb.currentHash == url.gallery)) {
5571
- fb.currentHash = null;
5572
-
5573
- fb.close();
5574
- }
5575
- } else if (url.gallery !== "") {
5576
- triggerFromUrl(url);
5577
- }
5578
- });
5579
-
5580
- // Check current hash and trigger click event on matching element to start fancyBox, if needed
5581
- setTimeout(function() {
5582
- if (!$.fancybox.getInstance()) {
5583
- triggerFromUrl(parseUrl());
5584
- }
5585
- }, 50);
5586
- });
5587
- })(window, document, jQuery);
5588
-
5589
- // ==========================================================================
5590
- //
5591
- // Wheel
5592
- // Basic mouse weheel support for gallery navigation
5593
- //
5594
- // ==========================================================================
5595
- (function(document, $) {
5596
- "use strict";
5597
-
5598
- var prevTime = new Date().getTime();
5599
-
5600
- $(document).on({
5601
- "onInit.fb": function(e, instance, current) {
5602
- instance.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll", function(e) {
5603
- var current = instance.current,
5604
- currTime = new Date().getTime();
5605
-
5606
- if (instance.group.length < 2 || current.opts.wheel === false || (current.opts.wheel === "auto" && current.type !== "image")) {
5607
- return;
5608
- }
5609
-
5610
- e.preventDefault();
5611
- e.stopPropagation();
5612
-
5613
- if (current.$slide.hasClass("fancybox-animated")) {
5614
- return;
5615
- }
5616
-
5617
- e = e.originalEvent || e;
5618
-
5619
- if (currTime - prevTime < 250) {
5620
- return;
5621
- }
5622
-
5623
- prevTime = currTime;
5624
-
5625
- instance[(-e.deltaY || -e.deltaX || e.wheelDelta || -e.detail) < 0 ? "next" : "previous"]();
5626
- });
5627
- }
5628
- });
5629
- })(document, jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/fancybox/jquery.fancybox.min.css DELETED
@@ -1 +0,0 @@
1
- body.compensate-for-scrollbar{overflow:hidden}.fancybox-active{height:auto}.fancybox-is-hidden{left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}.fancybox-container{-webkit-backface-visibility:hidden;height:100%;left:0;outline:none;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-transform:translateZ(0);transform:translateZ(0);width:100%;z-index:99992}.fancybox-container *{box-sizing:border-box}.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage{bottom:0;left:0;position:absolute;right:0;top:0}.fancybox-outer{-webkit-overflow-scrolling:touch;overflow-y:auto}.fancybox-bg{background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}.fancybox-is-open .fancybox-bg{opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}.fancybox-caption,.fancybox-infobar,.fancybox-navigation .fancybox-button,.fancybox-toolbar{direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}.fancybox-show-caption .fancybox-caption,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-nav .fancybox-navigation .fancybox-button,.fancybox-show-toolbar .fancybox-toolbar{opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}.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}.fancybox-toolbar{right:0;top:0}.fancybox-stage{direction:ltr;overflow:visible;-webkit-transform:translateZ(0);transform:translateZ(0);z-index:99994}.fancybox-is-open .fancybox-stage{overflow:hidden}.fancybox-slide{-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;white-space:normal;width:100%;z-index:99994}.fancybox-slide:before{content:"";display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous{display:block}.fancybox-slide--image{overflow:hidden;padding:44px 0}.fancybox-slide--image:before{display:none}.fancybox-slide--html{padding:6px}.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}.fancybox-slide--image .fancybox-content{-webkit-animation-timing-function:cubic-bezier(.5,0,.14,1);animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:transparent;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;-webkit-transform-origin:top left;transform-origin:top left;transition-property:opacity,-webkit-transform;transition-property:transform,opacity;transition-property:transform,opacity,-webkit-transform;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}.fancybox-can-zoomOut .fancybox-content{cursor:zoom-out}.fancybox-can-zoomIn .fancybox-content{cursor:zoom-in}.fancybox-can-pan .fancybox-content,.fancybox-can-swipe .fancybox-content{cursor:-webkit-grab;cursor:grab}.fancybox-is-grabbing .fancybox-content{cursor:-webkit-grabbing;cursor:grabbing}.fancybox-container [data-selectable=true]{cursor:text}.fancybox-image,.fancybox-spaceball{background:transparent;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%}.fancybox-spaceball{z-index:1}.fancybox-slide--iframe .fancybox-content,.fancybox-slide--map .fancybox-content,.fancybox-slide--pdf .fancybox-content,.fancybox-slide--video .fancybox-content{height:100%;overflow:visible;padding:0;width:100%}.fancybox-slide--video .fancybox-content{background:#000}.fancybox-slide--map .fancybox-content{background:#e5e3df}.fancybox-slide--iframe .fancybox-content{background:#fff}.fancybox-iframe,.fancybox-video{background:transparent;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}.fancybox-iframe{left:0;position:absolute;top:0}.fancybox-error{background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}.fancybox-error p{color:#444;font-size:16px;line-height:20px;margin:0;padding:0}.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}.fancybox-button,.fancybox-button:link,.fancybox-button:visited{color:#ccc}.fancybox-button:hover{color:#fff}.fancybox-button:focus{outline:none}.fancybox-button.fancybox-focus{outline:1px dotted}.fancybox-button[disabled],.fancybox-button[disabled]:hover{color:#888;cursor:default;outline:none}.fancybox-button div{height:100%}.fancybox-button svg{display:block;height:100%;overflow:visible;position:relative;width:100%}.fancybox-button svg path{fill:currentColor;stroke-width:0}.fancybox-button--fsenter svg:nth-child(2),.fancybox-button--fsexit svg:nth-child(1),.fancybox-button--pause svg:nth-child(1),.fancybox-button--play svg:nth-child(2){display:none}.fancybox-progress{background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transform-origin:0;transform-origin:0;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;transition-timing-function:linear;z-index:99998}.fancybox-close-small{background:transparent;border:0;border-radius:0;color:#ccc;cursor:pointer;opacity:.8;padding:8px;position:absolute;right:-12px;top:-44px;z-index:401}.fancybox-close-small:hover{color:#fff;opacity:1}.fancybox-slide--html .fancybox-close-small{color:currentColor;padding:10px;right:0;top:0}.fancybox-slide--image.fancybox-is-scaling .fancybox-content{overflow:hidden}.fancybox-is-scaling .fancybox-close-small,.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small{display:none}.fancybox-navigation .fancybox-button{background-clip:content-box;height:100px;opacity:0;position:absolute;top:calc(50% - 50px);width:70px}.fancybox-navigation .fancybox-button div{padding:7px}.fancybox-navigation .fancybox-button--arrow_left{left:0;padding:31px 26px 31px 6px}.fancybox-navigation .fancybox-button--arrow_right{padding:31px 6px 31px 26px;right:0}.fancybox-caption{bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:25px 44px;right:0;text-align:center;z-index:99996}.fancybox-caption:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAD6CAQAAADKSeXYAAAAYklEQVQoz42RwQ3AMAgDjfcfup8WoRykfBAK5mQHKSz5rbXJPis1hjiV3CIqgG0hLZPkVkA4p4x5oR1bVeDrdCLrW2Q0D5bcwY3TGMHbdw3mPRuOtaspYP1w//G1OIcW148H0DMCqI/3mMMAAAAASUVORK5CYII=);background-repeat:repeat-x;background-size:contain;bottom:0;content:"";display:block;left:0;pointer-events:none;position:absolute;right:0;top:-44px;z-index:-1}.fancybox-caption a,.fancybox-caption a:link,.fancybox-caption a:visited{color:#ccc;text-decoration:none}.fancybox-caption a:hover{color:#fff;text-decoration:underline}.fancybox-loading{-webkit-animation:a 1s linear infinite;animation:a 1s linear infinite;background:transparent;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}@-webkit-keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes a{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fancybox-animated{transition-timing-function:cubic-bezier(0,0,.25,1)}.fancybox-fx-slide.fancybox-slide--previous{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.fancybox-fx-slide.fancybox-slide--next{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.fancybox-fx-slide.fancybox-slide--current{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous{opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}.fancybox-fx-fade.fancybox-slide--current{opacity:1}.fancybox-fx-zoom-in-out.fancybox-slide--previous{opacity:0;-webkit-transform:scale3d(1.5,1.5,1.5);transform:scale3d(1.5,1.5,1.5)}.fancybox-fx-zoom-in-out.fancybox-slide--next{opacity:0;-webkit-transform:scale3d(.5,.5,.5);transform:scale3d(.5,.5,.5)}.fancybox-fx-zoom-in-out.fancybox-slide--current{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}.fancybox-fx-rotate.fancybox-slide--previous{opacity:0;-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}.fancybox-fx-rotate.fancybox-slide--next{opacity:0;-webkit-transform:rotate(1turn);transform:rotate(1turn)}.fancybox-fx-rotate.fancybox-slide--current{opacity:1;-webkit-transform:rotate(0deg);transform:rotate(0deg)}.fancybox-fx-circular.fancybox-slide--previous{opacity:0;-webkit-transform:scale3d(0,0,0) translate3d(-100%,0,0);transform:scale3d(0,0,0) translate3d(-100%,0,0)}.fancybox-fx-circular.fancybox-slide--next{opacity:0;-webkit-transform:scale3d(0,0,0) translate3d(100%,0,0);transform:scale3d(0,0,0) translate3d(100%,0,0)}.fancybox-fx-circular.fancybox-slide--current{opacity:1;-webkit-transform:scaleX(1) translateZ(0);transform:scaleX(1) translateZ(0)}.fancybox-fx-tube.fancybox-slide--previous{-webkit-transform:translate3d(-100%,0,0) scale(.1) skew(-10deg);transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}.fancybox-fx-tube.fancybox-slide--next{-webkit-transform:translate3d(100%,0,0) scale(.1) skew(10deg);transform:translate3d(100%,0,0) scale(.1) skew(10deg)}.fancybox-fx-tube.fancybox-slide--current{-webkit-transform:translateZ(0) scale(1);transform:translateZ(0) scale(1)}@media (max-height:576px){.fancybox-caption{padding:12px}.fancybox-slide{padding-left:6px;padding-right:6px}.fancybox-slide--image{padding:6px 0}.fancybox-close-small{right:-6px}.fancybox-slide--image .fancybox-close-small{background:#4e4e4e;color:#f2f4f6;height:36px;opacity:1;padding:6px;right:0;top:0;width:36px}}.fancybox-share{background:#f4f4f4;border-radius:3px;max-width:90%;padding:30px;text-align:center}.fancybox-share h1{color:#222;font-size:35px;font-weight:700;margin:0 0 20px}.fancybox-share p{margin:0;padding:0}.fancybox-share__button{border:0;border-radius:3px;display:inline-block;font-size:14px;font-weight:700;line-height:40px;margin:0 5px 10px;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}.fancybox-share__button:link,.fancybox-share__button:visited{color:#fff}.fancybox-share__button:hover{text-decoration:none}.fancybox-share__button--fb{background:#3b5998}.fancybox-share__button--fb:hover{background:#344e86}.fancybox-share__button--pt{background:#bd081d}.fancybox-share__button--pt:hover{background:#aa0719}.fancybox-share__button--tw{background:#1da1f2}.fancybox-share__button--tw:hover{background:#0d95e8}.fancybox-share__button svg{height:25px;margin-right:7px;position:relative;top:-1px;vertical-align:middle;width:25px}.fancybox-share__button svg path{fill:#fff}.fancybox-share__input{background:transparent;border:0;border-bottom:1px solid #d7d7d7;border-radius:0;color:#5d5b5b;font-size:14px;margin:10px 0 0;outline:none;padding:10px 15px;width:100%}.fancybox-thumbs{background:#ddd;bottom:0;display:none;margin:0;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;padding:2px 2px 4px;position:absolute;right:0;-webkit-tap-highlight-color:transparent;top:0;width:212px;z-index:99995}.fancybox-thumbs-x{overflow-x:auto;overflow-y:hidden}.fancybox-show-thumbs .fancybox-thumbs{display:block}.fancybox-show-thumbs .fancybox-inner{right:212px}.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%}.fancybox-thumbs-x .fancybox-thumbs__list{overflow:hidden}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar{width:7px}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track{background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:10px}.fancybox-thumbs__list a{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:rgba(0,0,0,.1);background-position:50%;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:none;overflow:hidden;padding:0;position:relative;-webkit-tap-highlight-color:transparent;width:100px}.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}.fancybox-thumbs__list a:focus:before{opacity:.5}.fancybox-thumbs__list a.fancybox-thumbs-active:before{opacity:1}@media (max-width:576px){.fancybox-thumbs{width:110px}.fancybox-show-thumbs .fancybox-inner{right:110px}.fancybox-thumbs__list a{max-width:calc(100% - 10px)}}
 
admin/fancybox/jquery.fancybox.min.js DELETED
@@ -1,13 +0,0 @@
1
- // ==================================================
2
- // fancyBox v3.5.2
3
- //
4
- // Licensed GPLv3 for open source use
5
- // or fancyBox Commercial License for commercial use
6
- //
7
- // http://fancyapps.com/fancybox/
8
- // Copyright 2018 fancyApps
9
- //
10
- // ==================================================
11
- !function(t,e,n,o){"use strict";function a(t,e){var o,a,i,s=[],r=0;t&&t.isDefaultPrevented()||(t.preventDefault(),e=e||{},t&&t.data&&(e=h(t.data.options,e)),o=e.$target||n(t.currentTarget).trigger("blur"),i=n.fancybox.getInstance(),i&&i.$trigger&&i.$trigger.is(o)||(e.selector?s=n(e.selector):(a=o.attr("data-fancybox")||"",a?(s=t.data?t.data.items:[],s=s.length?s.filter('[data-fancybox="'+a+'"]'):n('[data-fancybox="'+a+'"]')):s=[o]),r=n(s).index(o),r<0&&(r=0),i=n.fancybox.open(s,e,r),i.$trigger=o))}if(t.console=t.console||{info:function(t){}},n){if(n.fn.fancybox)return void console.info("fancyBox already initialized");var i={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="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" allowfullscreen allow="autoplay; fullscreen" src=""></iframe>',preload:!0,css:{},attr:{scrolling:"auto"}},video:{tpl:'<video class="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="fancybox-container" role="dialog" tabindex="-1"><div class="fancybox-bg"></div><div class="fancybox-inner"><div class="fancybox-infobar"><span data-fancybox-index></span>&nbsp;/&nbsp;<span data-fancybox-count></span></div><div class="fancybox-toolbar">{{buttons}}</div><div class="fancybox-navigation">{{arrows}}</div><div class="fancybox-stage"></div><div class="fancybox-caption"></div></div></div>',spinnerTpl:'<div class="fancybox-loading"></div>',errorTpl:'<div class="fancybox-error"><p>{{ERROR}}</p></div>',btnTpl:{download:'<a download data-fancybox-download class="fancybox-button 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="fancybox-button 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="fancybox-button 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="fancybox-button 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="fancybox-button 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="fancybox-button 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>'},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:".fancybox-container",axis:"y"},wheel:"auto",onInit:n.noop,beforeLoad:n.noop,afterLoad:n.noop,beforeShow:n.noop,afterShow:n.noop,beforeClose:n.noop,afterClose:n.noop,onActivate:n.noop,onDeactivate:n.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:"Schliessen",NEXT:"Weiter",PREV:"Zurück",ERROR:"Die angeforderten Daten konnten nicht geladen werden. <br/> Bitte versuchen Sie es später nochmal.",PLAY_START:"Diaschau starten",PLAY_STOP:"Diaschau beenden",FULL_SCREEN:"Vollbild",THUMBS:"Vorschaubilder",DOWNLOAD:"Herunterladen",SHARE:"Teilen",ZOOM:"Maßstab"}}},s=n(t),r=n(e),c=0,l=function(t){return t&&t.hasOwnProperty&&t instanceof n},d=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),u=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e)}}(),f=function(){var t,n=e.createElement("fakeelement"),a={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(t in a)if(n.style[t]!==o)return a[t];return"transitionend"}(),p=function(t){return t&&t.length&&t[0].offsetHeight},h=function(t,e){var o=n.extend(!0,{},t,e);return n.each(e,function(t,e){n.isArray(e)&&(o[t]=e)}),o},g=function(t){var o,a;return!(!t||t.ownerDocument!==e)&&(n(".fancybox-container").css("pointer-events","none"),o={x:t.getBoundingClientRect().left+t.offsetWidth/2,y:t.getBoundingClientRect().top+t.offsetHeight/2},a=e.elementFromPoint(o.x,o.y)===t,n(".fancybox-container").css("pointer-events",""),a)},b=function(t,e,o){var a=this;a.opts=h({index:o},n.fancybox.defaults),n.isPlainObject(e)&&(a.opts=h(a.opts,e)),n.fancybox.isMobile&&(a.opts=h(a.opts,a.opts.mobile)),a.id=a.opts.id||++c,a.currIndex=parseInt(a.opts.index,10)||0,a.prevIndex=null,a.prevPos=null,a.currPos=0,a.firstRun=!0,a.group=[],a.slides={},a.addContent(t),a.group.length&&a.init()};n.extend(b.prototype,{init:function(){var o,a,i=this,s=i.group[i.currIndex],r=s.opts;r.closeExisting&&n.fancybox.close(!0),n("body").addClass("fancybox-active"),!n.fancybox.getInstance()&&r.hideScrollbar!==!1&&!n.fancybox.isMobile&&e.body.scrollHeight>t.innerHeight&&(n("head").append('<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar{margin-right:'+(t.innerWidth-e.documentElement.clientWidth)+"px;}</style>"),n("body").addClass("compensate-for-scrollbar")),a="",n.each(r.buttons,function(t,e){a+=r.btnTpl[e]||""}),o=n(i.translate(i,r.baseTpl.replace("{{buttons}}",a).replace("{{arrows}}",r.btnTpl.arrowLeft+r.btnTpl.arrowRight))).attr("id","fancybox-container-"+i.id).addClass(r.baseClass).data("FancyBox",i).appendTo(r.parentEl),i.$refs={container:o},["bg","inner","infobar","toolbar","stage","caption","navigation"].forEach(function(t){i.$refs[t]=o.find(".fancybox-"+t)}),i.trigger("onInit"),i.activate(),i.jumpTo(i.currIndex)},translate:function(t,e){var n=t.opts.i18n[t.opts.lang]||t.opts.i18n.en;return e.replace(/\{\{(\w+)\}\}/g,function(t,e){var a=n[e];return a===o?t:a})},addContent:function(t){var e,a=this,i=n.makeArray(t);n.each(i,function(t,e){var i,s,r,c,l,d={},u={};n.isPlainObject(e)?(d=e,u=e.opts||e):"object"===n.type(e)&&n(e).length?(i=n(e),u=i.data()||{},u=n.extend(!0,{},u,u.options),u.$orig=i,d.src=a.opts.src||u.src||i.attr("href"),d.type||d.src||(d.type="inline",d.src=e)):d={type:"html",src:e+""},d.opts=n.extend(!0,{},a.opts,u),n.isArray(u.buttons)&&(d.opts.buttons=u.buttons),n.fancybox.isMobile&&d.opts.mobile&&(d.opts=h(d.opts,d.opts.mobile)),s=d.type||d.opts.type,c=d.src||"",!s&&c&&((r=c.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(s="video",d.opts.video.format||(d.opts.video.format="video/"+("ogv"===r[1]?"ogg":r[1]))):c.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?s="image":c.match(/\.(pdf)((\?|#).*)?$/i)?(s="iframe",d=n.extend(!0,d,{contentType:"pdf",opts:{iframe:{preload:!1}}})):"#"===c.charAt(0)&&(s="inline")),s?d.type=s:a.trigger("objectNeedsType",d),d.contentType||(d.contentType=n.inArray(d.type,["html","inline","ajax"])>-1?"html":d.type),d.index=a.group.length,"auto"==d.opts.smallBtn&&(d.opts.smallBtn=n.inArray(d.type,["html","inline","ajax"])>-1),"auto"===d.opts.toolbar&&(d.opts.toolbar=!d.opts.smallBtn),d.$thumb=d.opts.$thumb||null,d.opts.$trigger&&d.index===a.opts.index&&(d.$thumb=d.opts.$trigger.find("img:first"),d.$thumb.length&&(d.opts.$orig=d.opts.$trigger)),d.$thumb&&d.$thumb.length||!d.opts.$orig||(d.$thumb=d.opts.$orig.find("img:first")),d.$thumb&&!d.$thumb.length&&(d.$thumb=null),d.thumb=d.opts.thumb||(d.$thumb?d.$thumb[0].src:null),"function"===n.type(d.opts.caption)&&(d.opts.caption=d.opts.caption.apply(e,[a,d])),"function"===n.type(a.opts.caption)&&(d.opts.caption=a.opts.caption.apply(e,[a,d])),d.opts.caption instanceof n||(d.opts.caption=d.opts.caption===o?"":d.opts.caption+""),"ajax"===d.type&&(l=c.split(/\s+/,2),l.length>1&&(d.src=l.shift(),d.opts.filter=l.shift())),d.opts.modal&&(d.opts=n.extend(!0,d.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})),a.group.push(d)}),Object.keys(a.slides).length&&(a.updateControls(),e=a.Thumbs,e&&e.isActive&&(e.create(),e.focus()))},addEvents:function(){var e=this;e.removeEvents(),e.$refs.container.on("click.fb-close","[data-fancybox-close]",function(t){t.stopPropagation(),t.preventDefault(),e.close(t)}).on("touchstart.fb-prev click.fb-prev","[data-fancybox-prev]",function(t){t.stopPropagation(),t.preventDefault(),e.previous()}).on("touchstart.fb-next click.fb-next","[data-fancybox-next]",function(t){t.stopPropagation(),t.preventDefault(),e.next()}).on("click.fb","[data-fancybox-zoom]",function(t){e[e.isScaledDown()?"scaleToActual":"scaleToFit"]()}),s.on("orientationchange.fb resize.fb",function(t){t&&t.originalEvent&&"resize"===t.originalEvent.type?(e.requestId&&u(e.requestId),e.requestId=d(function(){e.update(t)})):(e.current&&"iframe"===e.current.type&&e.$refs.stage.hide(),setTimeout(function(){e.$refs.stage.show(),e.update(t)},n.fancybox.isMobile?600:250))}),r.on("keydown.fb",function(t){var o=n.fancybox?n.fancybox.getInstance():null,a=o.current,i=t.keyCode||t.which;if(9==i)return void(a.opts.trapFocus&&e.focus(t));if(!(!a.opts.keyboard||t.ctrlKey||t.altKey||t.shiftKey||n(t.target).is("input")||n(t.target).is("textarea")))return 8===i||27===i?(t.preventDefault(),void e.close(t)):37===i||38===i?(t.preventDefault(),void e.previous()):39===i||40===i?(t.preventDefault(),void e.next()):void e.trigger("afterKeydown",t,i)}),e.group[e.currIndex].opts.idleTime&&(e.idleSecondsCounter=0,r.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",function(t){e.idleSecondsCounter=0,e.isIdle&&e.showControls(),e.isIdle=!1}),e.idleInterval=t.setInterval(function(){e.idleSecondsCounter++,e.idleSecondsCounter>=e.group[e.currIndex].opts.idleTime&&!e.isDragging&&(e.isIdle=!0,e.idleSecondsCounter=0,e.hideControls())},1e3))},removeEvents:function(){var e=this;s.off("orientationchange.fb resize.fb"),r.off("keydown.fb .fb-idle"),this.$refs.container.off(".fb-close .fb-prev .fb-next"),e.idleInterval&&(t.clearInterval(e.idleInterval),e.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,e){var a,i,s,r,c,l,d,u,f,h=this,g=h.group.length;if(!(h.isDragging||h.isClosing||h.isAnimating&&h.firstRun)){if(t=parseInt(t,10),s=h.current?h.current.opts.loop:h.opts.loop,!s&&(t<0||t>=g))return!1;if(a=h.firstRun=!Object.keys(h.slides).length,c=h.current,h.prevIndex=h.currIndex,h.prevPos=h.currPos,r=h.createSlide(t),g>1&&((s||r.index<g-1)&&h.createSlide(t+1),(s||r.index>0)&&h.createSlide(t-1)),h.current=r,h.currIndex=r.index,h.currPos=r.pos,h.trigger("beforeShow",a),h.updateControls(),r.forcedDuration=o,n.isNumeric(e)?r.forcedDuration=e:e=r.opts[a?"animationDuration":"transitionDuration"],e=parseInt(e,10),i=h.isMoved(r),r.$slide.addClass("fancybox-slide--current"),a)return r.opts.animationEffect&&e&&h.$refs.container.css("transition-duration",e+"ms"),h.$refs.container.addClass("fancybox-is-open").trigger("focus"),h.loadSlide(r),void h.preload("image");l=n.fancybox.getTranslate(c.$slide),d=n.fancybox.getTranslate(h.$refs.stage),n.each(h.slides,function(t,e){n.fancybox.stop(e.$slide,!0)}),c.pos!==r.pos&&(c.isComplete=!1),c.$slide.removeClass("fancybox-slide--complete fancybox-slide--current"),i?(f=l.left-(c.pos*l.width+c.pos*c.opts.gutter),n.each(h.slides,function(t,o){o.$slide.removeClass("fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")});var a=o.pos*l.width+o.pos*o.opts.gutter;n.fancybox.setTranslate(o.$slide,{top:0,left:a-d.left+f}),o.pos!==r.pos&&o.$slide.addClass("fancybox-slide--"+(o.pos>r.pos?"next":"previous")),p(o.$slide),n.fancybox.animate(o.$slide,{top:0,left:(o.pos-r.pos)*l.width+(o.pos-r.pos)*o.opts.gutter},e,function(){o.$slide.css({transform:"",opacity:""}).removeClass("fancybox-slide--next fancybox-slide--previous"),o.pos===h.currPos&&h.complete()})})):e&&r.opts.transitionEffect&&(u="fancybox-animated fancybox-fx-"+r.opts.transitionEffect,c.$slide.addClass("fancybox-slide--"+(c.pos>r.pos?"next":"previous")),n.fancybox.animate(c.$slide,u,e,function(){c.$slide.removeClass(u).removeClass("fancybox-slide--next fancybox-slide--previous")},!1)),r.isLoaded?h.revealContent(r):h.loadSlide(r),h.preload("image")}},createSlide:function(t){var e,o,a=this;return o=t%a.group.length,o=o<0?a.group.length+o:o,!a.slides[t]&&a.group[o]&&(e=n('<div class="fancybox-slide"></div>').appendTo(a.$refs.stage),a.slides[t]=n.extend(!0,{},a.group[o],{pos:t,$slide:e,isLoaded:!1}),a.updateSlide(a.slides[t])),a.slides[t]},scaleToActual:function(t,e,a){var i,s,r,c,l,d=this,u=d.current,f=u.$content,p=n.fancybox.getTranslate(u.$slide).width,h=n.fancybox.getTranslate(u.$slide).height,g=u.width,b=u.height;d.isAnimating||d.isMoved()||!f||"image"!=u.type||!u.isLoaded||u.hasError||(d.isAnimating=!0,n.fancybox.stop(f),t=t===o?.5*p:t,e=e===o?.5*h:e,i=n.fancybox.getTranslate(f),i.top-=n.fancybox.getTranslate(u.$slide).top,i.left-=n.fancybox.getTranslate(u.$slide).left,c=g/i.width,l=b/i.height,s=.5*p-.5*g,r=.5*h-.5*b,g>p&&(s=i.left*c-(t*c-t),s>0&&(s=0),s<p-g&&(s=p-g)),b>h&&(r=i.top*l-(e*l-e),r>0&&(r=0),r<h-b&&(r=h-b)),d.updateCursor(g,b),n.fancybox.animate(f,{top:r,left:s,scaleX:c,scaleY:l},a||330,function(){d.isAnimating=!1}),d.SlideShow&&d.SlideShow.isActive&&d.SlideShow.stop())},scaleToFit:function(t){var e,o=this,a=o.current,i=a.$content;o.isAnimating||o.isMoved()||!i||"image"!=a.type||!a.isLoaded||a.hasError||(o.isAnimating=!0,n.fancybox.stop(i),e=o.getFitPos(a),o.updateCursor(e.width,e.height),n.fancybox.animate(i,{top:e.top,left:e.left,scaleX:e.width/i.width(),scaleY:e.height/i.height()},t||330,function(){o.isAnimating=!1}))},getFitPos:function(t){var e,o,a,i,s=this,r=t.$content,c=t.$slide,l=t.width||t.opts.width,d=t.height||t.opts.height,u={};return!!(t.isLoaded&&r&&r.length)&&(e=n.fancybox.getTranslate(s.$refs.stage).width,o=n.fancybox.getTranslate(s.$refs.stage).height,e-=parseFloat(c.css("paddingLeft"))+parseFloat(c.css("paddingRight"))+parseFloat(r.css("marginLeft"))+parseFloat(r.css("marginRight")),o-=parseFloat(c.css("paddingTop"))+parseFloat(c.css("paddingBottom"))+parseFloat(r.css("marginTop"))+parseFloat(r.css("marginBottom")),l&&d||(l=e,d=o),a=Math.min(1,e/l,o/d),l=a*l,d=a*d,l>e-.5&&(l=e),d>o-.5&&(d=o),"image"===t.type?(u.top=Math.floor(.5*(o-d))+parseFloat(c.css("paddingTop")),u.left=Math.floor(.5*(e-l))+parseFloat(c.css("paddingLeft"))):"video"===t.contentType&&(i=t.opts.width&&t.opts.height?l/d:t.opts.ratio||16/9,d>l/i?d=l/i:l>d*i&&(l=d*i)),u.width=l,u.height=d,u)},update:function(t){var e=this;n.each(e.slides,function(n,o){e.updateSlide(o,t)})},updateSlide:function(t,e){var o=this,a=t&&t.$content,i=t.width||t.opts.width,s=t.height||t.opts.height,r=t.$slide;o.adjustCaption(t),a&&(i||s||"video"===t.contentType)&&!t.hasError&&(n.fancybox.stop(a),n.fancybox.setTranslate(a,o.getFitPos(t)),t.pos===o.currPos&&(o.isAnimating=!1,o.updateCursor())),o.adjustLayout(t),r.length&&(r.trigger("refresh"),t.pos===o.currPos&&o.$refs.toolbar.add(o.$refs.navigation.find(".fancybox-button--arrow_right")).toggleClass("compensate-for-scrollbar",r.get(0).scrollHeight>r.get(0).clientHeight)),o.trigger("onUpdate",t,e)},centerSlide:function(t){var e=this,a=e.current,i=a.$slide;!e.isClosing&&a&&(i.siblings().css({transform:"",opacity:""}),i.parent().children().removeClass("fancybox-slide--previous fancybox-slide--next"),n.fancybox.animate(i,{top:0,left:0,opacity:1},t===o?0:t,function(){i.css({transform:"",opacity:""}),a.isComplete||e.complete()},!1))},isMoved:function(t){var e,o,a=t||this.current;return!!a&&(o=n.fancybox.getTranslate(this.$refs.stage),e=n.fancybox.getTranslate(a.$slide),!a.$slide.hasClass("fancybox-animated")&&(Math.abs(e.top-o.top)>.5||Math.abs(e.left-o.left)>.5))},updateCursor:function(t,e){var o,a,i=this,s=i.current,r=i.$refs.container;s&&!i.isClosing&&i.Guestures&&(r.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan"),o=i.canPan(t,e),a=!!o||i.isZoomable(),r.toggleClass("fancybox-is-zoomable",a),n("[data-fancybox-zoom]").prop("disabled",!a),o?r.addClass("fancybox-can-pan"):a&&("zoom"===s.opts.clickContent||n.isFunction(s.opts.clickContent)&&"zoom"==s.opts.clickContent(s))?r.addClass("fancybox-can-zoomIn"):s.opts.touch&&(s.opts.touch.vertical||i.group.length>1)&&"video"!==s.contentType&&r.addClass("fancybox-can-swipe"))},isZoomable:function(){var t,e=this,n=e.current;if(n&&!e.isClosing&&"image"===n.type&&!n.hasError){if(!n.isLoaded)return!0;if(t=e.getFitPos(n),t&&(n.width>t.width||n.height>t.height))return!0}return!1},isScaledDown:function(t,e){var a=this,i=!1,s=a.current,r=s.$content;return t!==o&&e!==o?i=t<s.width&&e<s.height:r&&(i=n.fancybox.getTranslate(r),i=i.width<s.width&&i.height<s.height),i},canPan:function(t,e){var a=this,i=a.current,s=null,r=!1;return"image"===i.type&&(i.isComplete||t&&e)&&!i.hasError&&(r=a.getFitPos(i),t!==o&&e!==o?s={width:t,height:e}:i.isComplete&&(s=n.fancybox.getTranslate(i.$content)),s&&r&&(r=Math.abs(s.width-r.width)>1.5||Math.abs(s.height-r.height)>1.5)),r},loadSlide:function(t){var e,o,a,i=this;if(!t.isLoading&&!t.isLoaded){if(t.isLoading=!0,i.trigger("beforeLoad",t)===!1)return t.isLoading=!1,!1;switch(e=t.type,o=t.$slide,o.off("refresh").trigger("onReset").addClass(t.opts.slideClass),e){case"image":i.setImage(t);break;case"iframe":i.setIframe(t);break;case"html":i.setContent(t,t.src||t.content);break;case"video":i.setContent(t,t.opts.video.tpl.replace(/\{\{src\}\}/gi,t.src).replace("{{format}}",t.opts.videoFormat||t.opts.video.format||"").replace("{{poster}}",t.thumb||""));break;case"inline":n(t.src).length?i.setContent(t,n(t.src)):i.setError(t);break;case"ajax":i.showLoading(t),a=n.ajax(n.extend({},t.opts.ajax.settings,{url:t.src,success:function(e,n){"success"===n&&i.setContent(t,e)},error:function(e,n){e&&"abort"!==n&&i.setError(t)}})),o.one("onReset",function(){a.abort()});break;default:i.setError(t)}return!0}},setImage:function(t){var o,a=this;setTimeout(function(){var e=t.$image;a.isClosing||!t.isLoading||e&&e.length&&e[0].complete||t.hasError||a.showLoading(t)},50),a.checkSrcset(t),t.$content=n('<div class="fancybox-content"></div>').addClass("fancybox-is-hidden").appendTo(t.$slide.addClass("fancybox-slide--image")),t.opts.preload!==!1&&t.opts.width&&t.opts.height&&t.thumb&&(t.width=t.opts.width,t.height=t.opts.height,o=e.createElement("img"),o.onerror=function(){n(this).remove(),t.$ghost=null},o.onload=function(){a.afterLoad(t)},t.$ghost=n(o).addClass("fancybox-image").appendTo(t.$content).attr("src",t.thumb)),a.setBigImage(t)},checkSrcset:function(e){var n,o,a,i,s=e.opts.srcset||e.opts.image.srcset;if(s){a=t.devicePixelRatio||1,i=t.innerWidth*a,o=s.split(",").map(function(t){var e={};return t.trim().split(/\s+/).forEach(function(t,n){var o=parseInt(t.substring(0,t.length-1),10);return 0===n?e.url=t:void(o&&(e.value=o,e.postfix=t[t.length-1]))}),e}),o.sort(function(t,e){return t.value-e.value});for(var r=0;r<o.length;r++){var c=o[r];if("w"===c.postfix&&c.value>=i||"x"===c.postfix&&c.value>=a){n=c;break}}!n&&o.length&&(n=o[o.length-1]),n&&(e.src=n.url,e.width&&e.height&&"w"==n.postfix&&(e.height=e.width/e.height*n.value,e.width=n.value),e.opts.srcset=s)}},setBigImage:function(t){var o=this,a=e.createElement("img"),i=n(a);t.$image=i.one("error",function(){o.setError(t)}).one("load",function(){var e;t.$ghost||(o.resolveImageSlideSize(t,this.naturalWidth,this.naturalHeight),o.afterLoad(t)),o.isClosing||(t.opts.srcset&&(e=t.opts.sizes,e&&"auto"!==e||(e=(t.width/t.height>1&&s.width()/s.height()>1?"100":Math.round(t.width/t.height*100))+"vw"),i.attr("sizes",e).attr("srcset",t.opts.srcset)),t.$ghost&&setTimeout(function(){t.$ghost&&!o.isClosing&&t.$ghost.hide()},Math.min(300,Math.max(1e3,t.height/1600))),o.hideLoading(t))}).addClass("fancybox-image").attr("src",t.src).appendTo(t.$content),(a.complete||"complete"==a.readyState)&&i.naturalWidth&&i.naturalHeight?i.trigger("load"):a.error&&i.trigger("error")},resolveImageSlideSize:function(t,e,n){var o=parseInt(t.opts.width,10),a=parseInt(t.opts.height,10);t.width=e,t.height=n,o>0&&(t.width=o,t.height=Math.floor(o*n/e)),a>0&&(t.width=Math.floor(a*e/n),t.height=a)},setIframe:function(t){var e,a=this,i=t.opts.iframe,s=t.$slide;n.fancybox.isMobile&&(i.css.overflow="scroll"),t.$content=n('<div class="fancybox-content'+(i.preload?" fancybox-is-hidden":"")+'"></div>').css(i.css).appendTo(s),s.addClass("fancybox-slide--"+t.contentType),t.$iframe=e=n(i.tpl.replace(/\{rnd\}/g,(new Date).getTime())).attr(i.attr).appendTo(t.$content),i.preload?(a.showLoading(t),e.on("load.fb error.fb",function(e){this.isReady=1,t.$slide.trigger("refresh"),a.afterLoad(t)}),s.on("refresh.fb",function(){var n,a,r=t.$content,c=i.css.width,l=i.css.height;if(1===e[0].isReady){try{n=e.contents(),a=n.find("body")}catch(t){}a&&a.length&&a.children().length&&(s.css("overflow","visible"),r.css({width:"100%","max-width":"100%",height:"9999px"}),c===o&&(c=Math.ceil(Math.max(a[0].clientWidth,a.outerWidth(!0)))),r.css("width",c?c:"").css("max-width",""),l===o&&(l=Math.ceil(Math.max(a[0].clientHeight,a.outerHeight(!0)))),r.css("height",l?l:""),s.css("overflow","auto")),r.removeClass("fancybox-is-hidden")}})):a.afterLoad(t),e.attr("src",t.src),s.one("onReset",function(){try{n(this).find("iframe").hide().unbind().attr("src","//about:blank")}catch(t){}n(this).off("refresh.fb").empty(),t.isLoaded=!1,t.isRevealed=!1})},setContent:function(t,e){var o=this;o.isClosing||(o.hideLoading(t),t.$content&&n.fancybox.stop(t.$content),t.$slide.empty(),l(e)&&e.parent().length?((e.hasClass("fancybox-content")||e.parent().hasClass("fancybox-content"))&&e.parents(".fancybox-slide").trigger("onReset"),t.$placeholder=n("<div>").hide().insertAfter(e),e.css("display","inline-block")):t.hasError||("string"===n.type(e)&&(e=n("<div>").append(n.trim(e)).contents()),t.opts.filter&&(e=n("<div>").html(e).find(t.opts.filter))),t.$slide.one("onReset",function(){n(this).find("video,audio").trigger("pause"),t.$placeholder&&(t.$placeholder.after(e.removeClass("fancybox-content").hide()).remove(),t.$placeholder=null),t.$smallBtn&&(t.$smallBtn.remove(),t.$smallBtn=null),t.hasError||(n(this).empty(),t.isLoaded=!1,t.isRevealed=!1)}),n(e).appendTo(t.$slide),n(e).is("video,audio")&&(n(e).addClass("fancybox-video"),n(e).wrap("<div></div>"),t.contentType="video",t.opts.width=t.opts.width||n(e).attr("width"),t.opts.height=t.opts.height||n(e).attr("height")),t.$content=t.$slide.children().filter("div,form,main,video,audio,article,.fancybox-content").first(),t.$content.siblings().hide(),t.$content.length||(t.$content=t.$slide.wrapInner("<div></div>").children().first()),t.$content.addClass("fancybox-content"),t.$slide.addClass("fancybox-slide--"+t.contentType),o.afterLoad(t))},setError:function(t){t.hasError=!0,t.$slide.trigger("onReset").removeClass("fancybox-slide--"+t.contentType).addClass("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){var e=this;t=t||e.current,t&&!t.$spinner&&(t.$spinner=n(e.translate(e,e.opts.spinnerTpl)).appendTo(t.$slide).hide().fadeIn("fast"))},hideLoading:function(t){var e=this;t=t||e.current,t&&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=n(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&&n('<div class="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=this,n=t||e.current,o=n.opts.caption,a=e.$refs.caption,i=!1;n.opts.preventCaptionOverlap&&o&&o.length&&(n.pos!==e.currPos?(a=a.clone().empty().appendTo(a.parent()),a.html(o),i=a.outerHeight(!0),a.empty().remove()):e.$caption&&(i=e.$caption.outerHeight(!0)),n.$slide.css("padding-bottom",i||""))},adjustLayout:function(t){var e,n,o,a,i=this,s=t||i.current;s.isLoaded&&s.opts.disableLayoutFix!==!0&&(s.$content.css("margin-bottom",""),s.$content.outerHeight()>s.$slide.height()+.5&&(o=s.$slide[0].style["padding-bottom"],a=s.$slide.css("padding-bottom"),parseFloat(a)>0&&(e=s.$slide[0].scrollHeight,s.$slide.css("padding-bottom",0),Math.abs(e-s.$slide[0].scrollHeight)<1&&(n=a),s.$slide.css("padding-bottom",o))),s.$content.css("margin-bottom",n))},revealContent:function(t){var e,a,i,s,r=this,c=t.$slide,l=!1,d=!1,u=r.isMoved(t),f=t.isRevealed;return t.isRevealed=!0,e=t.opts[r.firstRun?"animationEffect":"transitionEffect"],i=t.opts[r.firstRun?"animationDuration":"transitionDuration"],i=parseInt(t.forcedDuration===o?i:t.forcedDuration,10),!u&&t.pos===r.currPos&&i||(e=!1),"zoom"===e&&(t.pos===r.currPos&&i&&"image"===t.type&&!t.hasError&&(d=r.getThumbPos(t))?l=r.getFitPos(t):e="fade"),"zoom"===e?(r.isAnimating=!0,l.scaleX=l.width/d.width,l.scaleY=l.height/d.height,s=t.opts.zoomOpacity,"auto"==s&&(s=Math.abs(t.width/t.height-d.width/d.height)>.1),s&&(d.opacity=.1,l.opacity=1),n.fancybox.setTranslate(t.$content.removeClass("fancybox-is-hidden"),d),p(t.$content),void n.fancybox.animate(t.$content,l,i,function(){r.isAnimating=!1,r.complete()})):(r.updateSlide(t),e?(n.fancybox.stop(c),a="fancybox-slide--"+(t.pos>=r.prevPos?"next":"previous")+" fancybox-animated fancybox-fx-"+e,c.addClass(a).removeClass("fancybox-slide--current"),t.$content.removeClass("fancybox-is-hidden"),p(c),"image"!==t.type&&t.$content.hide().show(0),void n.fancybox.animate(c,"fancybox-slide--current",i,function(){c.removeClass(a).css({transform:"",opacity:""}),t.pos===r.currPos&&r.complete()},!0)):(t.$content.removeClass("fancybox-is-hidden"),f||!u||"image"!==t.type||t.hasError||t.$content.hide().fadeIn("fast"),void(t.pos===r.currPos&&r.complete())))},getThumbPos:function(t){var e,o,a,i,s,r=!1,c=t.$thumb;return!(!c||!g(c[0]))&&(e=n.fancybox.getTranslate(c),o=parseFloat(c.css("border-top-width")||0),a=parseFloat(c.css("border-right-width")||0),i=parseFloat(c.css("border-bottom-width")||0),s=parseFloat(c.css("border-left-width")||0),r={top:e.top+o,left:e.left+s,width:e.width-a-s,height:e.height-o-i,scaleX:1,scaleY:1},e.width>0&&e.height>0&&r)},complete:function(){var t,e=this,o=e.current,a={};!e.isMoved()&&o.isLoaded&&(o.isComplete||(o.isComplete=!0,o.$slide.siblings().trigger("onReset"),e.preload("inline"),p(o.$slide),o.$slide.addClass("fancybox-slide--complete"),n.each(e.slides,function(t,o){o.pos>=e.currPos-1&&o.pos<=e.currPos+1?a[o.pos]=o:o&&(n.fancybox.stop(o.$slide),o.$slide.off().remove())}),e.slides=a),e.isAnimating=!1,e.updateCursor(),e.trigger("afterShow"),o.opts.video.autoStart&&o.$slide.find("video,audio").filter(":visible:first").trigger("play").one("ended",function(){this.webkitExitFullscreen&&this.webkitExitFullscreen(),e.next()}),o.opts.autoFocus&&"html"===o.contentType&&(t=o.$content.find("input[autofocus]:enabled:visible:first"),t.length?t.trigger("focus"):e.focus(null,!0)),o.$slide.scrollTop(0).scrollLeft(0))},preload:function(t){var e,n,o=this;o.group.length<2||(n=o.slides[o.currPos+1],e=o.slides[o.currPos-1],e&&e.type===t&&o.loadSlide(e),n&&n.type===t&&o.loadSlide(n))},focus:function(t,o){var a,i,s=this,r=["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","[contenteditable]",'[tabindex]:not([tabindex^="-"])'].join(",");s.isClosing||(a=!t&&s.current&&s.current.isComplete?s.current.$slide.find("*:visible"+(o?":not(.fancybox-close-small)":"")):s.$refs.container.find("*:visible"),a=a.filter(r).filter(function(){return"hidden"!==n(this).css("visibility")&&!n(this).hasClass("disabled")}),a.length?(i=a.index(e.activeElement),t&&t.shiftKey?(i<0||0==i)&&(t.preventDefault(),a.eq(a.length-1).trigger("focus")):(i<0||i==a.length-1)&&(t&&t.preventDefault(),a.eq(0).trigger("focus"))):s.$refs.container.trigger("focus"))},activate:function(){var t=this;n(".fancybox-container").each(function(){var e=n(this).data("FancyBox");e&&e.id!==t.id&&!e.isClosing&&(e.trigger("onDeactivate"),e.removeEvents(),e.isVisible=!1)}),t.isVisible=!0,(t.current||t.isIdle)&&(t.update(),t.updateControls()),t.trigger("onActivate"),t.addEvents()},close:function(t,e){var o,a,i,s,r,c,l,u=this,f=u.current,h=function(){u.cleanUp(t)};return!u.isClosing&&(u.isClosing=!0,u.trigger("beforeClose",t)===!1?(u.isClosing=!1,d(function(){u.update()}),!1):(u.removeEvents(),i=f.$content,o=f.opts.animationEffect,a=n.isNumeric(e)?e:o?f.opts.animationDuration:0,f.$slide.removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"),t!==!0?n.fancybox.stop(f.$slide):o=!1,f.$slide.siblings().trigger("onReset").remove(),a&&u.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing").css("transition-duration",a+"ms"),u.hideLoading(f),u.hideControls(!0),u.updateCursor(),"zoom"!==o||i&&a&&"image"===f.type&&!u.isMoved()&&!f.hasError&&(l=u.getThumbPos(f))||(o="fade"),"zoom"===o?(n.fancybox.stop(i),s=n.fancybox.getTranslate(i),c={top:s.top,left:s.left,scaleX:s.width/l.width,scaleY:s.height/l.height,width:l.width,height:l.height},r=f.opts.zoomOpacity,"auto"==r&&(r=Math.abs(f.width/f.height-l.width/l.height)>.1),r&&(l.opacity=0),n.fancybox.setTranslate(i,c),p(i),n.fancybox.animate(i,l,a,h),!0):(o&&a?n.fancybox.animate(f.$slide.addClass("fancybox-slide--previous").removeClass("fancybox-slide--current"),"fancybox-animated fancybox-fx-"+o,a,h):t===!0?setTimeout(h,a):h(),
12
- !0)))},cleanUp:function(e){var o,a,i,s=this,r=s.current.opts.$orig;s.current.$slide.trigger("onReset"),s.$refs.container.empty().remove(),s.trigger("afterClose",e),s.current.opts.backFocus&&(r&&r.length&&r.is(":visible")||(r=s.$trigger),r&&r.length&&(a=t.scrollX,i=t.scrollY,r.trigger("focus"),n("html, body").scrollTop(i).scrollLeft(a))),s.current=null,o=n.fancybox.getInstance(),o?o.activate():(n("body").removeClass("fancybox-active compensate-for-scrollbar"),n("#fancybox-style-noscroll").remove())},trigger:function(t,e){var o,a=Array.prototype.slice.call(arguments,1),i=this,s=e&&e.opts?e:i.current;return s?a.unshift(s):s=i,a.unshift(i),n.isFunction(s.opts[t])&&(o=s.opts[t].apply(s,a)),o===!1?o:void("afterClose"!==t&&i.$refs?i.$refs.container.trigger(t+".fb",a):r.trigger(t+".fb",a))},updateControls:function(){var t=this,o=t.current,a=o.index,i=t.$refs.container,s=t.$refs.caption,r=o.opts.caption;o.$slide.trigger("refresh"),t.$caption=r&&r.length?s.html(r):null,t.hasHiddenControls||t.isIdle||t.showControls(),i.find("[data-fancybox-count]").html(t.group.length),i.find("[data-fancybox-index]").html(a+1),i.find("[data-fancybox-prev]").prop("disabled",!o.opts.loop&&a<=0),i.find("[data-fancybox-next]").prop("disabled",!o.opts.loop&&a>=t.group.length-1),"image"===o.type?i.find("[data-fancybox-zoom]").show().end().find("[data-fancybox-download]").attr("href",o.opts.image.src||o.src).show():o.opts.toolbar&&i.find("[data-fancybox-download],[data-fancybox-zoom]").hide(),n(e.activeElement).is(":hidden,[disabled]")&&t.$refs.container.trigger("focus")},hideControls:function(t){var e=this,n=["infobar","toolbar","nav"];!t&&e.current.opts.preventCaptionOverlap||n.push("caption"),this.$refs.container.removeClass(n.map(function(t){return"fancybox-show-"+t}).join(" ")),this.hasHiddenControls=!0},showControls:function(){var t=this,e=t.current?t.current.opts:t.opts,n=t.$refs.container;t.hasHiddenControls=!1,t.idleSecondsCounter=0,n.toggleClass("fancybox-show-toolbar",!(!e.toolbar||!e.buttons)).toggleClass("fancybox-show-infobar",!!(e.infobar&&t.group.length>1)).toggleClass("fancybox-show-caption",!!t.$caption).toggleClass("fancybox-show-nav",!!(e.arrows&&t.group.length>1)).toggleClass("fancybox-is-modal",!!e.modal)},toggleControls:function(){this.hasHiddenControls?this.showControls():this.hideControls()}}),n.fancybox={version:"3.5.2",defaults:i,getInstance:function(t){var e=n('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"),o=Array.prototype.slice.call(arguments,1);return e instanceof b&&("string"===n.type(t)?e[t].apply(e,o):"function"===n.type(t)&&t.apply(e,o),e)},open:function(t,e,n){return new b(t,e,n)},close:function(t){var e=this.getInstance();e&&(e.close(),t===!0&&this.close(t))},destroy:function(){this.close(!0),r.add("body").off("click.fb-start","**")},isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),use3d:function(){var n=e.createElement("div");return t.getComputedStyle&&t.getComputedStyle(n)&&t.getComputedStyle(n).getPropertyValue("transform")&&!(e.documentMode&&e.documentMode<11)}(),getTranslate:function(t){var e;return!(!t||!t.length)&&(e=t[0].getBoundingClientRect(),{top:e.top||0,left:e.left||0,width:e.width,height:e.height,opacity:parseFloat(t.css("opacity"))})},setTranslate:function(t,e){var n="",a={};if(t&&e)return e.left===o&&e.top===o||(n=(e.left===o?t.position().left:e.left)+"px, "+(e.top===o?t.position().top:e.top)+"px",n=this.use3d?"translate3d("+n+", 0px)":"translate("+n+")"),e.scaleX!==o&&e.scaleY!==o?n+=" scale("+e.scaleX+", "+e.scaleY+")":e.scaleX!==o&&(n+=" scaleX("+e.scaleX+")"),n.length&&(a.transform=n),e.opacity!==o&&(a.opacity=e.opacity),e.width!==o&&(a.width=e.width),e.height!==o&&(a.height=e.height),t.css(a)},animate:function(t,e,a,i,s){var r,c=this;n.isFunction(a)&&(i=a,a=null),c.stop(t),r=c.getTranslate(t),t.on(f,function(l){(!l||!l.originalEvent||t.is(l.originalEvent.target)&&"z-index"!=l.originalEvent.propertyName)&&(c.stop(t),n.isNumeric(a)&&t.css("transition-duration",""),n.isPlainObject(e)?e.scaleX!==o&&e.scaleY!==o&&c.setTranslate(t,{top:e.top,left:e.left,width:r.width*e.scaleX,height:r.height*e.scaleY,scaleX:1,scaleY:1}):s!==!0&&t.removeClass(e),n.isFunction(i)&&i(l))}),n.isNumeric(a)&&t.css("transition-duration",a+"ms"),n.isPlainObject(e)?(e.scaleX!==o&&e.scaleY!==o&&(delete e.width,delete e.height,t.parent().hasClass("fancybox-slide--image")&&t.parent().addClass("fancybox-is-scaling")),n.fancybox.setTranslate(t,e)):t.addClass(e),t.data("timer",setTimeout(function(){t.trigger(f)},a+33))},stop:function(t,e){t&&t.length&&(clearTimeout(t.data("timer")),e&&t.trigger(f),t.off(f).css("transition-duration",""),t.parent().removeClass("fancybox-is-scaling"))}},n.fn.fancybox=function(t){var e;return t=t||{},e=t.selector||!1,e?n("body").off("click.fb-start",e).on("click.fb-start",e,{options:t},a):this.off("click.fb-start").on("click.fb-start",{items:this,options:t},a),this},r.on("click.fb-start","[data-fancybox]",a),r.on("click.fb-start","[data-fancybox-trigger]",function(t){n('[data-fancybox="'+n(this).attr("data-fancybox-trigger")+'"]').eq(n(this).attr("data-fancybox-index")||0).trigger("click.fb-start",{$trigger:n(this)})}),function(){var t=".fancybox-button",e="fancybox-focus",o=null;r.on("mousedown mouseup focus blur",t,function(a){switch(a.type){case"mousedown":o=n(this);break;case"mouseup":o=null;break;case"focusin":n(t).removeClass(e),n(this).is(o)||n(this).is("[disabled]")||n(this).addClass(e);break;case"focusout":n(t).removeClass(e)}})}()}}(window,document,jQuery),function(t){"use strict";var e={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:"//www.youtube-nocookie.com/embed/$4",thumb:"//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]&&t[12].indexOf("layer=c")>0?"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"}}},n=function(e,n,o){if(e)return o=o||"","object"===t.type(o)&&(o=t.param(o,!0)),t.each(n,function(t,n){e=e.replace("$"+t,n||"")}),o.length&&(e+=(e.indexOf("?")>0?"&":"?")+o),e};t(document).on("objectNeedsType.fb",function(o,a,i){var s,r,c,l,d,u,f,p=i.src||"",h=!1;s=t.extend(!0,{},e,i.opts.media),t.each(s,function(e,o){if(c=p.match(o.matcher)){if(h=o.type,f=e,u={},o.paramPlace&&c[o.paramPlace]){d=c[o.paramPlace],"?"==d[0]&&(d=d.substring(1)),d=d.split("&");for(var a=0;a<d.length;++a){var s=d[a].split("=",2);2==s.length&&(u[s[0]]=decodeURIComponent(s[1].replace(/\+/g," ")))}}return l=t.extend(!0,{},o.params,i.opts[e],u),p="function"===t.type(o.url)?o.url.call(this,c,l,i):n(o.url,c,l),r="function"===t.type(o.thumb)?o.thumb.call(this,c,l,i):n(o.thumb,c),"youtube"===e?p=p.replace(/&t=((\d+)m)?(\d+)s/,function(t,e,n,o){return"&start="+((n?60*parseInt(n,10):0)+parseInt(o,10))}):"vimeo"===e&&(p=p.replace("&%23","#")),!1}}),h?(i.opts.thumb||i.opts.$thumb&&i.opts.$thumb.length||(i.opts.thumb=r),"iframe"===h&&(i.opts=t.extend(!0,i.opts,{iframe:{preload:!1,attr:{scrolling:"no"}}})),t.extend(i,{type:h,src:p,origSrc:i.src,contentSource:f,contentType:"image"===h?"image":"gmap_place"==f||"gmap_search"==f?"map":"video"})):p&&(i.type=i.opts.defaultType)});var o={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,n=this;return this[t].loaded?void setTimeout(function(){n.done(t)}):void(this[t].loading||(this[t].loading=!0,e=document.createElement("script"),e.type="text/javascript",e.src=this[t].src,"youtube"===t?window.onYouTubeIframeAPIReady=function(){n[t].loaded=!0,n.done(t)}:e.onload=function(){n[t].loaded=!0,n.done(t)},document.body.appendChild(e)))},done:function(e){var n,o,a;"youtube"===e&&delete window.onYouTubeIframeAPIReady,n=t.fancybox.getInstance(),n&&(o=n.current.$content.find("iframe"),"youtube"===e&&void 0!==YT&&YT?a=new YT.Player(o.attr("id"),{events:{onStateChange:function(t){0==t.data&&n.next()}}}):"vimeo"===e&&void 0!==Vimeo&&Vimeo&&(a=new Vimeo.Player(o),a.on("ended",function(){n.next()})))}};t(document).on({"afterShow.fb":function(t,e,n){e.group.length>1&&("youtube"===n.contentSource||"vimeo"===n.contentSource)&&o.load(n.contentSource)}})}(jQuery),function(t,e,n){"use strict";var o=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),a=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e)}}(),i=function(e){var n=[];e=e.originalEvent||e||t.e,e=e.touches&&e.touches.length?e.touches:e.changedTouches&&e.changedTouches.length?e.changedTouches:[e];for(var o in e)e[o].pageX?n.push({x:e[o].pageX,y:e[o].pageY}):e[o].clientX&&n.push({x:e[o].clientX,y:e[o].clientY});return n},s=function(t,e,n){return e&&t?"x"===n?t.x-e.x:"y"===n?t.y-e.y:Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)):0},r=function(t){if(t.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe')||n.isFunction(t.get(0).onclick)||t.data("selectable"))return!0;for(var e=0,o=t[0].attributes,a=o.length;e<a;e++)if("data-fancybox-"===o[e].nodeName.substr(0,14))return!0;return!1},c=function(e){var n=t.getComputedStyle(e)["overflow-y"],o=t.getComputedStyle(e)["overflow-x"],a=("scroll"===n||"auto"===n)&&e.scrollHeight>e.clientHeight,i=("scroll"===o||"auto"===o)&&e.scrollWidth>e.clientWidth;return a||i},l=function(t){for(var e=!1;;){if(e=c(t.get(0)))break;if(t=t.parent(),!t.length||t.hasClass("fancybox-stage")||t.is("body"))break}return e},d=function(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",n.proxy(e,"ontouchstart"))};d.prototype.destroy=function(){var t=this;t.$container.off(".fb.touch"),n(e).off(".fb.touch"),t.requestId&&(a(t.requestId),t.requestId=null),t.tapped&&(clearTimeout(t.tapped),t.tapped=null)},d.prototype.ontouchstart=function(o){var a=this,c=n(o.target),d=a.instance,u=d.current,f=u.$slide,p=u.$content,h="touchstart"==o.type;if(h&&a.$container.off("mousedown.fb.touch"),(!o.originalEvent||2!=o.originalEvent.button)&&f.length&&c.length&&!r(c)&&!r(c.parent())&&(c.is("img")||!(o.originalEvent.clientX>c[0].clientWidth+c.offset().left))){if(!u||d.isAnimating||u.$slide.hasClass("fancybox-animated"))return o.stopPropagation(),void o.preventDefault();a.realPoints=a.startPoints=i(o),a.startPoints.length&&(u.touch&&o.stopPropagation(),a.startEvent=o,a.canTap=!0,a.$target=c,a.$content=p,a.opts=u.opts.touch,a.isPanning=!1,a.isSwiping=!1,a.isZooming=!1,a.isScrolling=!1,a.canPan=d.canPan(),a.startTime=(new Date).getTime(),a.distanceX=a.distanceY=a.distance=0,a.canvasWidth=Math.round(f[0].clientWidth),a.canvasHeight=Math.round(f[0].clientHeight),a.contentLastPos=null,a.contentStartPos=n.fancybox.getTranslate(a.$content)||{top:0,left:0},a.sliderStartPos=n.fancybox.getTranslate(f),a.stagePos=n.fancybox.getTranslate(d.$refs.stage),a.sliderStartPos.top-=a.stagePos.top,a.sliderStartPos.left-=a.stagePos.left,a.contentStartPos.top-=a.stagePos.top,a.contentStartPos.left-=a.stagePos.left,n(e).off(".fb.touch").on(h?"touchend.fb.touch touchcancel.fb.touch":"mouseup.fb.touch mouseleave.fb.touch",n.proxy(a,"ontouchend")).on(h?"touchmove.fb.touch":"mousemove.fb.touch",n.proxy(a,"ontouchmove")),n.fancybox.isMobile&&e.addEventListener("scroll",a.onscroll,!0),((a.opts||a.canPan)&&(c.is(a.$stage)||a.$stage.find(c).length)||(c.is(".fancybox-image")&&o.preventDefault(),n.fancybox.isMobile&&c.hasClass("fancybox-caption")))&&(a.isScrollable=l(c)||l(c.parent()),n.fancybox.isMobile&&a.isScrollable||o.preventDefault(),(1===a.startPoints.length||u.hasError)&&(a.canPan?(n.fancybox.stop(a.$content),a.isPanning=!0):a.isSwiping=!0,a.$container.addClass("fancybox-is-grabbing")),2===a.startPoints.length&&"image"===u.type&&(u.isLoaded||u.$ghost)&&(a.canTap=!1,a.isSwiping=!1,a.isPanning=!1,a.isZooming=!0,n.fancybox.stop(a.$content),a.centerPointStartX=.5*(a.startPoints[0].x+a.startPoints[1].x)-n(t).scrollLeft(),a.centerPointStartY=.5*(a.startPoints[0].y+a.startPoints[1].y)-n(t).scrollTop(),a.percentageOfImageAtPinchPointX=(a.centerPointStartX-a.contentStartPos.left)/a.contentStartPos.width,a.percentageOfImageAtPinchPointY=(a.centerPointStartY-a.contentStartPos.top)/a.contentStartPos.height,a.startDistanceBetweenFingers=s(a.startPoints[0],a.startPoints[1]))))}},d.prototype.onscroll=function(t){var n=this;n.isScrolling=!0,e.removeEventListener("scroll",n.onscroll,!0)},d.prototype.ontouchmove=function(t){var e=this;return void 0!==t.originalEvent.buttons&&0===t.originalEvent.buttons?void e.ontouchend(t):e.isScrolling?void(e.canTap=!1):(e.newPoints=i(t),void((e.opts||e.canPan)&&e.newPoints.length&&e.newPoints.length&&(e.isSwiping&&e.isSwiping===!0||t.preventDefault(),e.distanceX=s(e.newPoints[0],e.startPoints[0],"x"),e.distanceY=s(e.newPoints[0],e.startPoints[0],"y"),e.distance=s(e.newPoints[0],e.startPoints[0]),e.distance>0&&(e.isSwiping?e.onSwipe(t):e.isPanning?e.onPan():e.isZooming&&e.onZoom()))))},d.prototype.onSwipe=function(e){var i,s=this,r=s.instance,c=s.isSwiping,l=s.sliderStartPos.left||0;if(c!==!0)"x"==c&&(s.distanceX>0&&(s.instance.group.length<2||0===s.instance.current.index&&!s.instance.current.opts.loop)?l+=Math.pow(s.distanceX,.8):s.distanceX<0&&(s.instance.group.length<2||s.instance.current.index===s.instance.group.length-1&&!s.instance.current.opts.loop)?l-=Math.pow(-s.distanceX,.8):l+=s.distanceX),s.sliderLastPos={top:"x"==c?0:s.sliderStartPos.top+s.distanceY,left:l},s.requestId&&(a(s.requestId),s.requestId=null),s.requestId=o(function(){s.sliderLastPos&&(n.each(s.instance.slides,function(t,e){var o=e.pos-s.instance.currPos;n.fancybox.setTranslate(e.$slide,{top:s.sliderLastPos.top,left:s.sliderLastPos.left+o*s.canvasWidth+o*e.opts.gutter})}),s.$container.addClass("fancybox-is-sliding"))});else if(Math.abs(s.distance)>10){if(s.canTap=!1,r.group.length<2&&s.opts.vertical?s.isSwiping="y":r.isDragging||s.opts.vertical===!1||"auto"===s.opts.vertical&&n(t).width()>800?s.isSwiping="x":(i=Math.abs(180*Math.atan2(s.distanceY,s.distanceX)/Math.PI),s.isSwiping=i>45&&i<135?"y":"x"),"y"===s.isSwiping&&n.fancybox.isMobile&&s.isScrollable)return void(s.isScrolling=!0);r.isDragging=s.isSwiping,s.startPoints=s.newPoints,n.each(r.slides,function(t,e){var o,a;n.fancybox.stop(e.$slide),o=n.fancybox.getTranslate(e.$slide),a=n.fancybox.getTranslate(r.$refs.stage),e.$slide.css({transform:"",opacity:"","transition-duration":""}).removeClass("fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")}),e.pos===r.current.pos&&(s.sliderStartPos.top=o.top-a.top,s.sliderStartPos.left=o.left-a.left),n.fancybox.setTranslate(e.$slide,{top:o.top-a.top,left:o.left-a.left})}),r.SlideShow&&r.SlideShow.isActive&&r.SlideShow.stop()}},d.prototype.onPan=function(){var t=this;return s(t.newPoints[0],t.realPoints[0])<(n.fancybox.isMobile?10:5)?void(t.startPoints=t.newPoints):(t.canTap=!1,t.contentLastPos=t.limitMovement(),t.requestId&&a(t.requestId),void(t.requestId=o(function(){n.fancybox.setTranslate(t.$content,t.contentLastPos)})))},d.prototype.limitMovement=function(){var t,e,n,o,a,i,s=this,r=s.canvasWidth,c=s.canvasHeight,l=s.distanceX,d=s.distanceY,u=s.contentStartPos,f=u.left,p=u.top,h=u.width,g=u.height;return a=h>r?f+l:f,i=p+d,t=Math.max(0,.5*r-.5*h),e=Math.max(0,.5*c-.5*g),n=Math.min(r-h,.5*r-.5*h),o=Math.min(c-g,.5*c-.5*g),l>0&&a>t&&(a=t-1+Math.pow(-t+f+l,.8)||0),l<0&&a<n&&(a=n+1-Math.pow(n-f-l,.8)||0),d>0&&i>e&&(i=e-1+Math.pow(-e+p+d,.8)||0),d<0&&i<o&&(i=o+1-Math.pow(o-p-d,.8)||0),{top:i,left:a}},d.prototype.limitPosition=function(t,e,n,o){var a=this,i=a.canvasWidth,s=a.canvasHeight;return n>i?(t=t>0?0:t,t=t<i-n?i-n:t):t=Math.max(0,i/2-n/2),o>s?(e=e>0?0:e,e=e<s-o?s-o:e):e=Math.max(0,s/2-o/2),{top:e,left:t}},d.prototype.onZoom=function(){var e=this,i=e.contentStartPos,r=i.width,c=i.height,l=i.left,d=i.top,u=s(e.newPoints[0],e.newPoints[1]),f=u/e.startDistanceBetweenFingers,p=Math.floor(r*f),h=Math.floor(c*f),g=(r-p)*e.percentageOfImageAtPinchPointX,b=(c-h)*e.percentageOfImageAtPinchPointY,m=(e.newPoints[0].x+e.newPoints[1].x)/2-n(t).scrollLeft(),v=(e.newPoints[0].y+e.newPoints[1].y)/2-n(t).scrollTop(),y=m-e.centerPointStartX,x=v-e.centerPointStartY,w=l+(g+y),$=d+(b+x),S={top:$,left:w,scaleX:f,scaleY:f};e.canTap=!1,e.newWidth=p,e.newHeight=h,e.contentLastPos=S,e.requestId&&a(e.requestId),e.requestId=o(function(){n.fancybox.setTranslate(e.$content,e.contentLastPos)})},d.prototype.ontouchend=function(t){var o=this,s=o.isSwiping,r=o.isPanning,c=o.isZooming,l=o.isScrolling;return o.endPoints=i(t),o.dMs=Math.max((new Date).getTime()-o.startTime,1),o.$container.removeClass("fancybox-is-grabbing"),n(e).off(".fb.touch"),e.removeEventListener("scroll",o.onscroll,!0),o.requestId&&(a(o.requestId),o.requestId=null),o.isSwiping=!1,o.isPanning=!1,o.isZooming=!1,o.isScrolling=!1,o.instance.isDragging=!1,o.canTap?o.onTap(t):(o.speed=100,o.velocityX=o.distanceX/o.dMs*.5,o.velocityY=o.distanceY/o.dMs*.5,void(r?o.endPanning():c?o.endZooming():o.endSwiping(s,l)))},d.prototype.endSwiping=function(t,e){var o=this,a=!1,i=o.instance.group.length,s=Math.abs(o.distanceX),r="x"==t&&i>1&&(o.dMs>130&&s>10||s>50),c=300;o.sliderLastPos=null,"y"==t&&!e&&Math.abs(o.distanceY)>50?(n.fancybox.animate(o.instance.current.$slide,{top:o.sliderStartPos.top+o.distanceY+150*o.velocityY,opacity:0},200),a=o.instance.close(!0,250)):r&&o.distanceX>0?a=o.instance.previous(c):r&&o.distanceX<0&&(a=o.instance.next(c)),a!==!1||"x"!=t&&"y"!=t||o.instance.centerSlide(200),o.$container.removeClass("fancybox-is-sliding")},d.prototype.endPanning=function(){var t,e,o,a=this;a.contentLastPos&&(a.opts.momentum===!1||a.dMs>350?(t=a.contentLastPos.left,e=a.contentLastPos.top):(t=a.contentLastPos.left+500*a.velocityX,e=a.contentLastPos.top+500*a.velocityY),o=a.limitPosition(t,e,a.contentStartPos.width,a.contentStartPos.height),o.width=a.contentStartPos.width,o.height=a.contentStartPos.height,n.fancybox.animate(a.$content,o,330))},d.prototype.endZooming=function(){var t,e,o,a,i=this,s=i.instance.current,r=i.newWidth,c=i.newHeight;i.contentLastPos&&(t=i.contentLastPos.left,e=i.contentLastPos.top,a={top:e,left:t,width:r,height:c,scaleX:1,scaleY:1},n.fancybox.setTranslate(i.$content,a),r<i.canvasWidth&&c<i.canvasHeight?i.instance.scaleToFit(150):r>s.width||c>s.height?i.instance.scaleToActual(i.centerPointStartX,i.centerPointStartY,150):(o=i.limitPosition(t,e,r,c),n.fancybox.animate(i.$content,o,150)))},d.prototype.onTap=function(e){var o,a=this,s=n(e.target),r=a.instance,c=r.current,l=e&&i(e)||a.startPoints,d=l[0]?l[0].x-n(t).scrollLeft()-a.stagePos.left:0,u=l[0]?l[0].y-n(t).scrollTop()-a.stagePos.top:0,f=function(t){var o=c.opts[t];if(n.isFunction(o)&&(o=o.apply(r,[c,e])),o)switch(o){case"close":r.close(a.startEvent);break;case"toggleControls":r.toggleControls();break;case"next":r.next();break;case"nextOrClose":r.group.length>1?r.next():r.close(a.startEvent);break;case"zoom":"image"==c.type&&(c.isLoaded||c.$ghost)&&(r.canPan()?r.scaleToFit():r.isScaledDown()?r.scaleToActual(d,u):r.group.length<2&&r.close(a.startEvent))}};if((!e.originalEvent||2!=e.originalEvent.button)&&(s.is("img")||!(d>s[0].clientWidth+s.offset().left))){if(s.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container"))o="Outside";else if(s.is(".fancybox-slide"))o="Slide";else{if(!r.current.$content||!r.current.$content.find(s).addBack().filter(s).length)return;o="Content"}if(a.tapped){if(clearTimeout(a.tapped),a.tapped=null,Math.abs(d-a.tapX)>50||Math.abs(u-a.tapY)>50)return this;f("dblclick"+o)}else a.tapX=d,a.tapY=u,c.opts["dblclick"+o]&&c.opts["dblclick"+o]!==c.opts["click"+o]?a.tapped=setTimeout(function(){a.tapped=null,r.isAnimating||f("click"+o)},500):f("click"+o);return this}},n(e).on("onActivate.fb",function(t,e){e&&!e.Guestures&&(e.Guestures=new d(e))}).on("beforeClose.fb",function(t,e){e&&e.Guestures&&e.Guestures.destroy()})}(window,document,jQuery),function(t,e){"use strict";e.extend(!0,e.fancybox.defaults,{btnTpl:{slideShow:'<button data-fancybox-play class="fancybox-button 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}});var n=function(t){this.instance=t,this.init()};e.extend(n.prototype,{timer:null,isActive:!1,$button:null,init:function(){var t=this,n=t.instance,o=n.group[n.currIndex].opts.slideShow;t.$button=n.$refs.toolbar.find("[data-fancybox-play]").on("click",function(){t.toggle()}),n.group.length<2||!o?t.$button.hide():o.progress&&(t.$progress=e('<div class="fancybox-progress"></div>').appendTo(n.$refs.inner))},set:function(t){var n=this,o=n.instance,a=o.current;a&&(t===!0||a.opts.loop||o.currIndex<o.group.length-1)?n.isActive&&"video"!==a.contentType&&(n.$progress&&e.fancybox.animate(n.$progress.show(),{scaleX:1},a.opts.slideShow.speed),n.timer=setTimeout(function(){o.current.opts.loop||o.current.index!=o.group.length-1?o.next():o.jumpTo(0)},a.opts.slideShow.speed)):(n.stop(),o.idleSecondsCounter=0,o.showControls())},clear:function(){var t=this;clearTimeout(t.timer),t.timer=null,t.$progress&&t.$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("fancybox-button--play").addClass("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("fancybox-button--pause").addClass("fancybox-button--play"),t.isActive=!1,t.instance.trigger("onSlideShowChange",!1),t.$progress&&t.$progress.removeAttr("style").hide()},toggle:function(){var t=this;t.isActive?t.stop():t.start()}}),e(t).on({"onInit.fb":function(t,e){e&&!e.SlideShow&&(e.SlideShow=new n(e))},"beforeShow.fb":function(t,e,n,o){var a=e&&e.SlideShow;o?a&&n.opts.slideShow.autoStart&&a.start():a&&a.isActive&&a.clear()},"afterShow.fb":function(t,e,n){var o=e&&e.SlideShow;o&&o.isActive&&o.set()},"afterKeydown.fb":function(n,o,a,i,s){var r=o&&o.SlideShow;!r||!a.opts.slideShow||80!==s&&32!==s||e(t.activeElement).is("button,a,input")||(i.preventDefault(),r.toggle())},"beforeClose.fb onDeactivate.fb":function(t,e){var n=e&&e.SlideShow;n&&n.stop()}}),e(t).on("visibilitychange",function(){var n=e.fancybox.getInstance(),o=n&&n.SlideShow;o&&o.isActive&&(t.hidden?o.clear():o.set())})}(document,jQuery),function(t,e){"use strict";var n=function(){for(var e=[["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"]],n={},o=0;o<e.length;o++){var a=e[o];if(a&&a[1]in t){for(var i=0;i<a.length;i++)n[e[0][i]]=a[i];return n}}return!1}();if(n){var o={request:function(e){e=e||t.documentElement,e[n.requestFullscreen](e.ALLOW_KEYBOARD_INPUT)},exit:function(){t[n.exitFullscreen]()},toggle:function(e){e=e||t.documentElement,this.isFullscreen()?this.exit():this.request(e)},isFullscreen:function(){return Boolean(t[n.fullscreenElement])},enabled:function(){return Boolean(t[n.fullscreenEnabled])}};e.extend(!0,e.fancybox.defaults,{btnTpl:{fullScreen:'<button data-fancybox-fullscreen class="fancybox-button 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}}),e(t).on(n.fullscreenchange,function(){var t=o.isFullscreen(),n=e.fancybox.getInstance();n&&(n.current&&"image"===n.current.type&&n.isAnimating&&(n.current.$content.css("transition","none"),n.isAnimating=!1,n.update(!0,!0,0)),n.trigger("onFullscreenChange",t),n.$refs.container.toggleClass("fancybox-is-fullscreen",t),n.$refs.toolbar.find("[data-fancybox-fullscreen]").toggleClass("fancybox-button--fsenter",!t).toggleClass("fancybox-button--fsexit",t))})}e(t).on({"onInit.fb":function(t,e){var a;return n?void(e&&e.group[e.currIndex].opts.fullScreen?(a=e.$refs.container,a.on("click.fb-fullscreen","[data-fancybox-fullscreen]",function(t){t.stopPropagation(),t.preventDefault(),o.toggle()}),e.opts.fullScreen&&e.opts.fullScreen.autoStart===!0&&o.request(),e.FullScreen=o):e&&e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide()):void e.$refs.toolbar.find("[data-fancybox-fullscreen]").remove()},"afterKeydown.fb":function(t,e,n,o,a){e&&e.FullScreen&&70===a&&(o.preventDefault(),e.FullScreen.toggle())},"beforeClose.fb":function(t,e){e&&e.FullScreen&&e.$refs.container.hasClass("fancybox-is-fullscreen")&&o.exit()}})}(document,jQuery),function(t,e){"use strict";var n="fancybox-thumbs",o=n+"-active";e.fancybox.defaults=e.extend(!0,{btnTpl:{thumbs:'<button data-fancybox-thumbs class="fancybox-button 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:".fancybox-container",axis:"y"}},e.fancybox.defaults);var a=function(t){this.init(t)};e.extend(a.prototype,{$button:null,$grid:null,$list:null,isVisible:!1,isActive:!1,init:function(t){var e=this,n=t.group,o=0;e.instance=t,e.opts=n[t.currIndex].opts.thumbs,t.Thumbs=e,e.$button=t.$refs.toolbar.find("[data-fancybox-thumbs]");for(var a=0,i=n.length;a<i&&(n[a].thumb&&o++,!(o>1));a++);o>1&&e.opts?(e.$button.removeAttr("style").on("click",function(){e.toggle()}),e.isActive=!0):e.$button.hide()},create:function(){var t,o=this,a=o.instance,i=o.opts.parentEl,s=[];o.$grid||(o.$grid=e('<div class="'+n+" "+n+"-"+o.opts.axis+'"></div>').appendTo(a.$refs.container.find(i).addBack().filter(i)),o.$grid.on("click","a",function(){a.jumpTo(e(this).attr("data-index"))})),o.$list||(o.$list=e('<div class="'+n+'__list">').appendTo(o.$grid)),e.each(a.group,function(e,n){t=n.thumb,t||"image"!==n.type||(t=n.src),s.push('<a href="javascript:;" tabindex="0" data-index="'+e+'"'+(t&&t.length?' style="background-image:url('+t+')"':'class="fancybox-thumbs-missing"')+"></a>")}),o.$list[0].innerHTML=s.join(""),"x"===o.opts.axis&&o.$list.width(parseInt(o.$grid.css("padding-right"),10)+a.group.length*o.$list.children().eq(0).outerWidth(!0))},focus:function(t){var e,n,a=this,i=a.$list,s=a.$grid;a.instance.current&&(e=i.children().removeClass(o).filter('[data-index="'+a.instance.current.index+'"]').addClass(o),n=e.position(),"y"===a.opts.axis&&(n.top<0||n.top>i.height()-e.outerHeight())?i.stop().animate({scrollTop:i.scrollTop()+n.top},t):"x"===a.opts.axis&&(n.left<s.scrollLeft()||n.left>s.scrollLeft()+(s.width()-e.outerWidth()))&&i.parent().stop().animate({scrollLeft:n.left},t))},update:function(){var t=this;t.instance.$refs.container.toggleClass("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()}}),e(t).on({"onInit.fb":function(t,e){var n;e&&!e.Thumbs&&(n=new a(e),n.isActive&&n.opts.autoStart===!0&&n.show())},"beforeShow.fb":function(t,e,n,o){var a=e&&e.Thumbs;a&&a.isVisible&&a.focus(o?0:250)},"afterKeydown.fb":function(t,e,n,o,a){var i=e&&e.Thumbs;i&&i.isActive&&71===a&&(o.preventDefault(),i.toggle())},"beforeClose.fb":function(t,e){var n=e&&e.Thumbs;n&&n.isVisible&&n.opts.hideOnClose!==!1&&n.$grid.hide()}})}(document,jQuery),function(t,e){"use strict";function n(t){var e={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};return String(t).replace(/[&<>"'`=\/]/g,function(t){return e[t]})}e.extend(!0,e.fancybox.defaults,{btnTpl:{share:'<button data-fancybox-share class="fancybox-button 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},tpl:'<div class="fancybox-share"><h1>{{SHARE}}</h1><p><a class="fancybox-share__button fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}"><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><a class="fancybox-share__button fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&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><a class="fancybox-share__button fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&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></p><p><input class="fancybox-share__input" type="text" value="{{url_raw}}" onclick="select()" /></p></div>'
13
- }}),e(t).on("click","[data-fancybox-share]",function(){var t,o,a=e.fancybox.getInstance(),i=a.current||null;i&&("function"===e.type(i.opts.share.url)&&(t=i.opts.share.url.apply(i,[a,i])),o=i.opts.share.tpl.replace(/\{\{media\}\}/g,"image"===i.type?encodeURIComponent(i.src):"").replace(/\{\{url\}\}/g,encodeURIComponent(t)).replace(/\{\{url_raw\}\}/g,n(t)).replace(/\{\{descr\}\}/g,a.$caption?encodeURIComponent(a.$caption.text()):""),e.fancybox.open({src:a.translate(a,o),type:"html",opts:{touch:!1,animationEffect:!1,afterLoad:function(t,e){a.$refs.container.one("beforeClose.fb",function(){t.close(null,0)}),e.$content.find(".fancybox-share__button").click(function(){return window.open(this.href,"Share","width=550, height=450"),!1})},mobile:{autoFocus:!1}}}))})}(document,jQuery),function(t,e,n){"use strict";function o(){var e=t.location.hash.substr(1),n=e.split("-"),o=n.length>1&&/^\+?\d+$/.test(n[n.length-1])?parseInt(n.pop(-1),10)||1:1,a=n.join("-");return{hash:e,index:o<1?1:o,gallery:a}}function a(t){""!==t.gallery&&n("[data-fancybox='"+n.escapeSelector(t.gallery)+"']").eq(t.index-1).focus().trigger("click.fb-start")}function i(t){var e,n;return!!t&&(e=t.current?t.current.opts:t.opts,n=e.hash||(e.$orig?e.$orig.data("fancybox")||e.$orig.data("fancybox-trigger"):""),""!==n&&n)}n.escapeSelector||(n.escapeSelector=function(t){var e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,n=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t};return(t+"").replace(e,n)}),n(function(){n.fancybox.defaults.hash!==!1&&(n(e).on({"onInit.fb":function(t,e){var n,a;e.group[e.currIndex].opts.hash!==!1&&(n=o(),a=i(e),a&&n.gallery&&a==n.gallery&&(e.currIndex=n.index-1))},"beforeShow.fb":function(n,o,a,s){var r;a&&a.opts.hash!==!1&&(r=i(o),r&&(o.currentHash=r+(o.group.length>1?"-"+(a.index+1):""),t.location.hash!=="#"+o.currentHash&&(s&&!o.origHash&&(o.origHash=t.location.hash),o.hashTimer&&clearTimeout(o.hashTimer),o.hashTimer=setTimeout(function(){"replaceState"in t.history?(t.history[s?"pushState":"replaceState"]({},e.title,t.location.pathname+t.location.search+"#"+o.currentHash),s&&(o.hasCreatedHistory=!0)):t.location.hash=o.currentHash,o.hashTimer=null},300))))},"beforeClose.fb":function(n,o,a){a.opts.hash!==!1&&(clearTimeout(o.hashTimer),o.currentHash&&o.hasCreatedHistory?t.history.back():o.currentHash&&("replaceState"in t.history?t.history.replaceState({},e.title,t.location.pathname+t.location.search+(o.origHash||"")):t.location.hash=o.origHash),o.currentHash=null)}}),n(t).on("hashchange.fb",function(){var t=o(),e=null;n.each(n(".fancybox-container").get().reverse(),function(t,o){var a=n(o).data("FancyBox");if(a&&a.currentHash)return e=a,!1}),e?e.currentHash===t.gallery+"-"+t.index||1===t.index&&e.currentHash==t.gallery||(e.currentHash=null,e.close()):""!==t.gallery&&a(t)}),setTimeout(function(){n.fancybox.getInstance()||a(o())},50))})}(window,document,jQuery),function(t,e){"use strict";var n=(new Date).getTime();e(t).on({"onInit.fb":function(t,e,o){e.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll",function(t){var o=e.current,a=(new Date).getTime();e.group.length<2||o.opts.wheel===!1||"auto"===o.opts.wheel&&"image"!==o.type||(t.preventDefault(),t.stopPropagation(),o.$slide.hasClass("fancybox-animated")||(t=t.originalEvent||t,a-n<250||(n=a,e[(-t.deltaY||-t.deltaX||t.wheelDelta||-t.detail)<0?"next":"previous"]())))})}})}(document,jQuery);
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/fix.php DELETED
@@ -1,109 +0,0 @@
1
- <?php
2
- if ( preg_match( '#' . basename( __FILE__ ) . '#', $_SERVER['PHP_SELF'] ) ) {
3
- die( _e( 'You are not allowed to call this page directly.', 'modula-gallery' ) );
4
- }
5
-
6
- $nobanner = true;
7
- if ( empty( $tg_subtitle ) ) {
8
- $tg_subtitle = "Fix images";
9
- }
10
-
11
- $imageUrl = null;
12
- foreach ( $this->ModulaDB->getGalleries() as $gallery ) {
13
- $gid = $gallery->Id;
14
- $images = $this->ModulaDB->getImagesByGalleryId( $gid );
15
- if ( count( $images ) > 0 ) {
16
- $imageUrl = $images[0]->imagePath;
17
- break;
18
- }
19
- }
20
- $oldUrl = "&lt;OLD URL&gt;";
21
- if ( strpos( $imageUrl, '/wp-content' ) > 0 ) {
22
- $oldUrl = strtolower( substr( $imageUrl, 0, strpos( $imageUrl, '/wp-content' ) ) );
23
- }
24
-
25
- ?>
26
-
27
- <?php include( "header.php" ); ?>
28
- <style>
29
- #fix-panel h2 {
30
- font-size: 18px;
31
- font-weight: bold;
32
- margin-bottom: 4px;
33
- padding-bottom: 0;
34
- line-height: 1;
35
- }
36
-
37
- #fix-panel pre {
38
- background: #fff;
39
- padding: 10px;
40
- }
41
- </style>
42
- <?php if ( isset( $_GET['fix'] ) && $_GET['fix'] == '1' ) : ?>
43
-
44
- <?php
45
-
46
- $lines = array();
47
- foreach ( $this->ModulaDB->getGalleries() as $gallery ) {
48
- $gid = $gallery->Id;
49
- $images = $this->ModulaDB->getImagesByGalleryId( $gid );
50
- foreach ( $images as $image ) {
51
- if ( strpos( strtolower( $image->imagePath ), $oldUrl ) === 0 ) {
52
- $lines [] = $image->imagePath;
53
- }
54
- }
55
- }
56
-
57
- ?>
58
- <div class="row">
59
- <div class="col">
60
- <div class="card-panel lime lighten-4" id="fix-panel">
61
- <?php echo count( $lines ) ?> <?php echo esc_html__( 'image to be processed:', 'modula-gallery' ); ?>
62
- <pre><?php echo implode( "\n", $lines ) ?></pre>
63
-
64
- <?php
65
- $dir = wp_upload_dir();
66
- file_put_contents( $dir['basedir'] . "/old-images.txt", implode( "\n", $lines ) );
67
-
68
- $res = $wpdb->query( 'UPDATE ' . $wpdb->prefix . 'modula_images SET imagePath=REPLACE(imagePath, "' . $oldUrl . '", "' . site_url() . '")' );
69
- add_option( 'Modula_skip_fix', true );
70
- ?>
71
-
72
- <?php if ( $res > 0 ) : ?>
73
- <h2><?php echo esc_html__( 'Fix completed successfully!', 'modula-gallery' ); ?></h2>
74
- <?php else : ?>
75
- <h2><?php echo esc_html__( 'No images where updated', 'modula-gallery' ); ?></h2>
76
- <?php endif ?>
77
- <a class="btn" href="?page=modula-lite-admin"><?php echo esc_html__( 'Go to dashboard', 'modula-gallery' ); ?></a>
78
- </div>
79
- </div>
80
- </div>
81
- <?php else : ?>
82
-
83
- <div class="row">
84
- <div class="col">
85
- <div class="card-panel lime lighten-4" id="fix-panel">
86
- <strong>FIX</strong>: version 1.1.0 introduced a new way to resize images, now you can choose a custom
87
- image size for your galleries, regardless the sizes defined by your theme.<br> Although we thoroughly
88
- tested the new feature, <strong>some website may encounter an issue where images don't appear
89
- anymore</strong>.<br>
90
- <h2>For tech savvy:</h2>
91
- The cause is a wrong url inside the MySQL table <strong><?php echo $wpdb->prefix ?>
92
- modula_images</strong><br> If you know how to do it, you can easily fix the wrong urls inside the
93
- field <strong>imagePath</strong>. The query to use is:
94
- <pre>UPDATE <?php echo $wpdb->prefix ?>modula_images REPLACE(imagePath, '<?php echo $oldUrl ?>
95
- ', '<?php echo site_url() ?>');</pre>
96
-
97
- <?php if ( $oldUrl == "&lt;OLD URL&gt;" ) : ?>
98
- where &lt;old URL&gt; is the previous URL of this site.
99
- <?php endif ?>
100
- <h2>For everyone:</h2>
101
- If you have updated the plugin and you have run into this issue then you can use the <strong>Fix
102
- tool</strong> by clicking the following button: <br> <br>
103
- <a href="?page=modula-lite-gallery-fix&fix=1" class="btn">Fix image paths</a> <br> <strong>If you're
104
- unsure about what to do then please contact
105
- <a href="mailto:diego@greentreelabs.net?subject=Help with Modula fix tool">diego@greentreelabs.net</a></strong>.
106
- </div>
107
- </div>
108
- </div>
109
- <?php endif ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/font/roboto/Roboto-Bold-webfont.eot DELETED
Binary file
admin/font/roboto/Roboto-Bold-webfont.svg DELETED
@@ -1,593 +0,0 @@
1
- <?xml version="1.0" standalone="no"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
- <svg xmlns="http://www.w3.org/2000/svg">
4
- <metadata></metadata>
5
- <defs>
6
- <font id="robotobold" horiz-adv-x="1156" >
7
- <font-face units-per-em="2048" ascent="1638" descent="-410" />
8
- <missing-glyph horiz-adv-x="510" />
9
- <glyph unicode="&#xfb01;" horiz-adv-x="1249" d="M20 877v205h161v74q0 204 124.5 314.5t350.5 110.5q78 0 154 -15.5t176 -44.5l-42 -230q-73 22 -132.5 34t-136.5 12q-101 0 -151.5 -46t-50.5 -135v-74h213v-205h-213v-877h-292v877h-161zM829 0v1082h292v-1082h-292z" />
10
- <glyph horiz-adv-x="2048" />
11
- <glyph horiz-adv-x="2048" />
12
- <glyph unicode="&#xd;" horiz-adv-x="510" />
13
- <glyph unicode=" " horiz-adv-x="510" />
14
- <glyph unicode="&#x09;" horiz-adv-x="510" />
15
- <glyph unicode="&#xa0;" horiz-adv-x="510" />
16
- <glyph unicode="!" horiz-adv-x="557" d="M134 0v256h292v-256h-292zM134 502v954h292v-954h-292z" />
17
- <glyph unicode="&#x22;" horiz-adv-x="656" d="M50 1039v524h230v-275l-102 -249h-128zM376 1039v524h230v-275l-102 -249h-128z" />
18
- <glyph unicode="#" horiz-adv-x="1219" d="M48 410v169h256l51 290h-232v171h262l73 416h183l-73 -416h192l74 416h183l-73 -416h220v-171h-250l-51 -290h225v-169h-254l-72 -410h-184l72 410h-192l-71 -410h-184l72 410h-227zM488 579h191l51 290h-192z" />
19
- <glyph unicode="$" horiz-adv-x="1175" d="M96 449l2 5h285q0 -134 61.5 -192t156.5 -58q91 0 139.5 48.5t48.5 130.5q0 81 -46.5 132t-159.5 95q-222 81 -329.5 180.5t-107.5 280.5q0 168 107.5 275.5t289.5 126.5v215h159v-217q176 -26 276.5 -147t98.5 -314l-3 -5h-285q0 118 -48.5 182t-132.5 64 q-86 0 -128 -49.5t-42 -131.5q0 -78 44.5 -126.5t163.5 -95.5q221 -87 327.5 -186t106.5 -277q0 -174 -107 -278t-291 -123v-198h-159v197q-187 19 -309 132.5t-118 333.5z" />
20
- <glyph unicode="%" horiz-adv-x="1513" d="M95 1099v77q0 129 83.5 215t232.5 86q151 0 234 -85.5t83 -215.5v-77q0 -129 -83 -214t-232 -85q-150 0 -234 85t-84 214zM289 1099q0 -58 32 -97.5t92 -39.5q58 0 89.5 39.5t31.5 97.5v77q0 58 -32 98.5t-91 40.5t-90.5 -40.5t-31.5 -98.5v-77zM319 184l711 1138 l142 -75l-711 -1138zM791 280v77q0 128 84 214t233 86q150 0 233.5 -85.5t83.5 -214.5v-77q0 -130 -83 -215t-232 -85q-150 0 -234.5 85.5t-84.5 214.5zM985 280q0 -57 34.5 -97.5t90.5 -40.5q65 0 93 37.5t28 100.5v77q0 57 -32 97.5t-91 40.5q-60 0 -91.5 -40.5 t-31.5 -97.5v-77z" />
21
- <glyph unicode="&#x26;" horiz-adv-x="1346" d="M61 392q0 118 65 203.5t198 178.5q-68 92 -101.5 168t-33.5 155q0 173 108 276.5t289 103.5q159 0 258.5 -98.5t99.5 -238.5q0 -98 -49 -179t-134 -142l-93 -66l276 -322q36 60 56 130t20 148h218q0 -138 -34 -254t-104 -206l208 -244l-2 -5h-324l-77 89 q-85 -55 -175 -82.5t-193 -27.5q-218 0 -347 114.5t-129 298.5zM353 407q0 -89 55 -146.5t144 -57.5q53 0 106 13.5t102 40.5l-300 348l-19 -13q-51 -48 -69.5 -93.5t-18.5 -91.5zM450 1100q0 -43 21.5 -88.5t64.5 -100.5l86 56q56 36 75.5 74t19.5 83q0 50 -36.5 89 t-95.5 39q-65 0 -100 -43.5t-35 -108.5z" />
22
- <glyph unicode="'" horiz-adv-x="330" d="M50 1008v552h230v-269l-102 -283h-128z" />
23
- <glyph unicode="(" horiz-adv-x="711" d="M124 570v22q0 392 152 665.5t344 354.5h6l53 -146q-131 -98 -220 -316t-89 -556v-26q0 -339 89 -556.5t220 -318.5l-53 -143h-6q-192 81 -344 354t-152 666z" />
24
- <glyph unicode=")" horiz-adv-x="713" d="M31 -307q129 98 219 317t90 558v26q0 336 -91 556.5t-218 319.5l54 142h6q194 -80 352.5 -359t158.5 -661v-22q0 -383 -158.5 -661.5t-352.5 -358.5h-6z" />
25
- <glyph unicode="*" horiz-adv-x="908" d="M27 1055l57 177l297 -123l-18 347h187l-19 -353l291 120l56 -180l-306 -89l200 -265l-152 -110l-174 290l-173 -281l-153 106l209 272z" />
26
- <glyph unicode="+" horiz-adv-x="1117" d="M56 560v252h362v394h276v-394h360v-252h-360v-414h-276v414h-362z" />
27
- <glyph unicode="," horiz-adv-x="528" d="M63 -302l70 324v228h284v-237l-159 -315h-195z" />
28
- <glyph unicode="-" horiz-adv-x="801" d="M113 510v225h564v-225h-564z" />
29
- <glyph unicode="." horiz-adv-x="596" d="M144 0v256h292v-256h-292z" />
30
- <glyph unicode="/" horiz-adv-x="825" d="M-14 -125l534 1581h284l-534 -1581h-284z" />
31
- <glyph unicode="0" horiz-adv-x="1175" d="M95 567v321q0 288 132.5 438.5t359.5 150.5q226 0 359.5 -150.5t133.5 -438.5v-321q0 -289 -132.5 -438.5t-358.5 -149.5q-228 0 -361 149.5t-133 438.5zM386 539q0 -176 51.5 -256t151.5 -80q98 0 149 80t51 256v379q0 173 -52 253.5t-150 80.5q-99 0 -150 -80t-51 -254 v-379z" />
32
- <glyph unicode="1" horiz-adv-x="1175" d="M171 1198v206l588 52v-1456h-292v1198h-296z" />
33
- <glyph unicode="2" horiz-adv-x="1175" d="M76 1007q-5 197 129.5 333.5t362.5 136.5q225 0 353.5 -117t128.5 -312q0 -132 -72.5 -243.5t-239.5 -292.5l-259 -283l2 -5h612v-224h-994v191l471 505q102 117 145 197.5t43 149.5q0 92 -49.5 150.5t-140.5 58.5q-101 0 -153.5 -68.5t-52.5 -182.5h-284z" />
34
- <glyph unicode="3" horiz-adv-x="1175" d="M70 390l2 6h283q0 -84 60 -138.5t152 -54.5q101 0 159.5 56t58.5 152q0 115 -57.5 168.5t-169.5 53.5h-164v219h164q104 0 154 54.5t50 151.5q0 88 -50 141t-145 53q-82 0 -138 -48t-56 -126h-283l-2 6q-6 171 131 282t340 111q226 0 360.5 -108t134.5 -308 q0 -95 -60 -180.5t-165 -133.5q121 -43 184.5 -132t63.5 -207q0 -200 -145.5 -314.5t-372.5 -114.5q-203 0 -348.5 107.5t-140.5 303.5z" />
35
- <glyph unicode="4" horiz-adv-x="1175" d="M57 491l604 965h294v-914h165v-226h-165v-316h-291v316h-594zM329 542h335v524l-6 2l-23 -41z" />
36
- <glyph unicode="5" horiz-adv-x="1175" d="M110 390l2 5l281 14q0 -97 55 -151.5t144 -54.5q102 0 150.5 72.5t48.5 189.5q0 126 -52 202t-154 76q-84 0 -128.5 -31t-63.5 -84l-257 17l84 811h812v-234h-573l-40 -336q40 30 97 49.5t126 20.5q210 3 325.5 -127t115.5 -362q0 -210 -126.5 -349t-364.5 -139 q-201 0 -344 109.5t-138 301.5z" />
37
- <glyph unicode="6" horiz-adv-x="1175" d="M99 569v284q0 286 165 455t420 169q82 0 151.5 -15.5t139.5 -45.5l-52 -214q-66 23 -117.5 34.5t-119.5 11.5q-133 0 -213.5 -99.5t-74.5 -275.5l3 -5q49 51 124 80t169 29q195 0 305.5 -138.5t110.5 -353.5q0 -220 -136.5 -363t-353.5 -143q-231 0 -376 156.5 t-145 433.5zM391 562q0 -173 62.5 -266t166.5 -93q90 0 144.5 82.5t54.5 199.5q0 121 -55 196t-147 75q-81 0 -138 -26t-88 -71v-97z" />
38
- <glyph unicode="7" horiz-adv-x="1175" d="M60 1231v225h1029v-225q-234 -274 -319.5 -511t-122.5 -572l-14 -148h-292l14 148q34 321 146 589.5t307 493.5h-748z" />
39
- <glyph unicode="8" horiz-adv-x="1175" d="M91 398q0 118 66.5 208.5t183.5 140.5q-102 47 -159 130.5t-57 192.5q0 194 127 300.5t335 106.5q207 0 335 -106.5t128 -300.5q0 -109 -57.5 -193t-158.5 -131q116 -49 183 -140t67 -208q0 -202 -137 -310.5t-358 -108.5q-223 0 -360.5 108.5t-137.5 310.5zM384 418 q0 -100 56 -157.5t149 -57.5q91 0 147 58t56 157q0 98 -57 157t-148 59q-92 0 -147.5 -59t-55.5 -157zM417 1057q0 -91 45.5 -144.5t126.5 -53.5q79 0 124.5 53.5t45.5 144.5q0 88 -46.5 141.5t-125.5 53.5q-80 0 -125 -52.5t-45 -142.5z" />
40
- <glyph unicode="9" horiz-adv-x="1175" d="M82 970q0 218 138 362.5t351 144.5q223 0 362 -153.5t139 -431.5v-344q0 -265 -155.5 -417t-396.5 -152q-76 0 -156.5 15.5t-149.5 45.5l34 211q65 -25 128.5 -36.5t143.5 -11.5q115 0 187.5 85.5t72.5 244.5v72q-49 -62 -116.5 -94t-145.5 -32q-203 0 -319.5 132.5 t-116.5 358.5zM373 970q0 -124 50.5 -200.5t143.5 -76.5q72 0 126 27t87 72v134q0 160 -56 243t-152 83q-88 0 -143.5 -82t-55.5 -200z" />
41
- <glyph unicode=":" horiz-adv-x="582" d="M144 0v256h292v-256h-292zM144 876v256h292v-256h-292z" />
42
- <glyph unicode=";" horiz-adv-x="562" d="M114 -302l70 324v228h284v-237l-159 -315h-195zM145 876v256h292v-256h-292z" />
43
- <glyph unicode="&#x3c;" horiz-adv-x="1043" d="M54 436v227l862 366v-272l-577 -207v-6l577 -203v-272z" />
44
- <glyph unicode="=" horiz-adv-x="1181" d="M136 332v229h896v-229h-896zM136 763v229h896v-229h-896z" />
45
- <glyph unicode="&#x3e;" horiz-adv-x="1058" d="M119 69v270l586 209v6l-586 206v269l872 -366v-227z" />
46
- <glyph unicode="?" horiz-adv-x="1021" d="M32 1081q-3 192 126.5 294t337.5 102q224 0 351.5 -113.5t127.5 -308.5q0 -127 -74.5 -235t-186.5 -181q-61 -47 -80 -94.5t-19 -130.5h-291q1 140 41.5 205t161.5 158q71 58 113.5 125t42.5 150q0 92 -48.5 144t-138.5 52q-74 0 -125.5 -44t-52.5 -129h-284zM323 0v250 h294v-250h-294z" />
47
- <glyph unicode="@" horiz-adv-x="1817" d="M66 478q18 427 255.5 683.5t625.5 256.5q387 0 593 -242.5t190 -662.5q-9 -218 -128 -376t-356 -158q-78 0 -135 44t-81 123q-44 -82 -109.5 -123t-153.5 -41q-141 0 -216.5 119t-55.5 315q25 254 143.5 407t287.5 153q116 0 186.5 -26t154.5 -80l-3 -4h5l-51 -573 q-7 -95 14 -130t57 -35q115 0 184.5 109t77.5 276q16 353 -136.5 551t-471.5 198q-303 0 -484 -213t-196 -571q-17 -355 146 -560t469 -205q85 0 175.5 20t155.5 50l38 -147q-67 -42 -170.5 -65.5t-202.5 -23.5q-396 0 -610.5 249t-197.5 682zM720 416q-10 -127 18.5 -192.5 t92.5 -65.5q56 0 101.5 26t81.5 96v6.5t1 6.5l44 496q-23 7 -46 11t-48 4q-111 0 -169 -96.5t-76 -291.5z" />
48
- <glyph unicode="A" horiz-adv-x="1311" d="M12 0l501 1456h299l499 -1456h-295l-99 314h-511l-99 -314h-295zM478 543h367l-180 572h-6z" />
49
- <glyph unicode="B" horiz-adv-x="1314" d="M136 0v1456h492q257 0 401 -100t144 -299q0 -101 -53.5 -180.5t-155.5 -119.5q131 -28 196.5 -120t65.5 -213q0 -209 -138 -316.5t-391 -107.5h-561zM428 224h269q116 0 177 50.5t61 149.5q0 107 -52 163.5t-164 56.5h-291v-420zM428 846h210q117 0 180 48t63 140 q0 101 -63.5 149t-189.5 48h-200v-385z" />
50
- <glyph unicode="C" horiz-adv-x="1309" d="M93 583v289q0 265 160 435t416 170q270 -1 422 -139q148 -135 148 -365v-12l-2 -6h-284q0 144 -69 220.5t-215 76.5q-131 0 -208 -106.5t-77 -271.5v-291q0 -167 81 -273.5t219 -106.5q137 0 202.5 73.5t65.5 218.5h283l2 -6v-12q1 -227 -143 -361q-148 -138 -410 -137 q-263 0 -427 169t-164 435z" />
51
- <glyph unicode="D" horiz-adv-x="1342" d="M136 0v1456h500q267 0 440 -170.5t173 -437.5v-241q0 -268 -173 -437.5t-440 -169.5h-500zM428 224h193q157 0 246 106t89 277v243q0 169 -89 275t-246 106h-193v-1007z" />
52
- <glyph unicode="E" horiz-adv-x="1176" d="M136 0v1456h995v-225h-703v-366h603v-225h-603v-416h705v-224h-997z" />
53
- <glyph unicode="F" horiz-adv-x="1182" d="M136 0v1456h1004v-225h-712v-401h610v-225h-610v-605h-292z" />
54
- <glyph unicode="G" horiz-adv-x="1369" d="M99 576v304q0 264 162.5 430.5t418.5 166.5q266 0 407.5 -129.5t144.5 -340.5l-2 -6h-275q-8 116 -74 183.5t-193 67.5q-134 0 -216 -103.5t-82 -266.5v-306q0 -166 85 -269.5t229 -103.5q102 0 164 21t94 52v270h-258v202h550v-549q-65 -86 -202.5 -153t-347.5 -67 q-267 0 -436 166t-169 431z" />
55
- <glyph unicode="H" horiz-adv-x="1450" d="M136 0v1456h292v-626h594v626h291v-1456h-291v605h-594v-605h-292z" />
56
- <glyph unicode="I" horiz-adv-x="601" d="M154 0v1456h292v-1456h-292z" />
57
- <glyph unicode="J" horiz-adv-x="1169" d="M63 417l2 6h284q0 -115 55 -167.5t148 -52.5q81 0 137.5 62.5t56.5 171.5v1019h291v-1019q0 -211 -137.5 -334.5t-347.5 -123.5q-228 0 -361 111q-128 107 -128 311v16z" />
58
- <glyph unicode="K" horiz-adv-x="1323" d="M136 0v1456h292v-595h127l386 595h357l-490 -678l529 -778h-356l-391 608h-162v-608h-292z" />
59
- <glyph unicode="L" horiz-adv-x="1108" d="M136 0v1456h292v-1232h648v-224h-940z" />
60
- <glyph unicode="M" horiz-adv-x="1787" d="M136 0v1456h381l371 -1073h6l374 1073h382v-1456h-292v434l28 643l-6 1l-390 -1078h-196l-388 1074l-6 -1l28 -639v-434h-292z" />
61
- <glyph unicode="N" horiz-adv-x="1450" d="M136 0v1456h292l588 -994l6 1v993h291v-1456h-291l-588 995l-6 -1v-994h-292z" />
62
- <glyph unicode="O" horiz-adv-x="1399" d="M92 597v262q0 267 167.5 442.5t436.5 175.5q271 0 441 -175.5t170 -442.5v-262q0 -268 -169.5 -443t-440.5 -175q-269 0 -437 175t-168 443zM383 597q0 -173 83 -282t231 -109q150 0 234 109t84 282v264q0 170 -85 279t-234 109t-231 -108.5t-82 -279.5v-264z" />
63
- <glyph unicode="P" horiz-adv-x="1334" d="M136 0v1456h580q251 0 395 -128t144 -337t-144 -336t-395 -127h-288v-528h-292zM428 753h288q122 0 185 66.5t63 169.5q0 105 -62.5 173.5t-185.5 68.5h-288v-478z" />
64
- <glyph unicode="Q" horiz-adv-x="1433" d="M92 597v262q0 267 167.5 442.5t436.5 175.5q271 0 441 -175.5t170 -442.5v-262q0 -132 -43 -244.5t-123 -195.5l241 -236l-191 -156l-262 254q-54 -19 -112 -29.5t-120 -10.5q-269 0 -437 175t-168 443zM383 597q0 -173 83 -282t231 -109q150 0 234 109t84 282v264 q0 170 -85 279t-234 109t-231 -108.5t-82 -279.5v-264z" />
65
- <glyph unicode="R" horiz-adv-x="1354" d="M136 0v1456h549q249 0 389.5 -113.5t140.5 -316.5q0 -113 -59 -194t-173 -131q129 -38 185.5 -127t56.5 -220v-107q0 -61 16.5 -127.5t56.5 -98.5v-21h-301q-40 32 -52 107t-12 142v103q0 109 -59.5 169.5t-167.5 60.5h-278v-582h-292zM428 807h252q123 0 183.5 52 t60.5 154q0 100 -60.5 159t-178.5 59h-257v-424z" />
66
- <glyph unicode="S" horiz-adv-x="1299" d="M90 445l2 6h284q0 -130 79.5 -190.5t221.5 -60.5q119 0 182 49t63 131q0 84 -59.5 135t-208.5 96q-260 75 -393 178t-133 282t152.5 292.5t389.5 113.5q240 1 391 -127q146 -123 146 -303v-12l-2 -6h-283q0 101 -67.5 163.5t-189.5 62.5q-117 0 -181 -52t-64 -133 q0 -74 68.5 -121.5t236.5 -100.5q241 -67 365 -177t124 -289q0 -187 -147.5 -295t-389.5 -108q-238 1 -415 123q-172 119 -172 331v12z" />
67
- <glyph unicode="T" horiz-adv-x="1169" d="M28 1231v225h1114v-225h-412v-1231h-292v1231h-410z" />
68
- <glyph unicode="U" horiz-adv-x="1407" d="M120 490v966h293v-966q0 -144 77 -215.5t212 -71.5q137 0 215 71t78 216v966h293v-966q0 -245 -162 -378t-424 -133q-261 0 -421.5 133t-160.5 378z" />
69
- <glyph unicode="V" horiz-adv-x="1303" d="M7 1456h308l315 -1069l18 -79h6l17 77l317 1071h308l-495 -1456h-300z" />
70
- <glyph unicode="W" horiz-adv-x="1815" d="M24 1456h286l209 -997l6 -1l273 998h215l275 -998h6l208 998h285l-340 -1456h-271l-267 961h-6l-267 -961h-271z" />
71
- <glyph unicode="X" horiz-adv-x="1303" d="M31 0l443 734l-432 722h338l269 -516l273 516h340l-432 -722l457 -734h-353l-281 525l-281 -525h-341z" />
72
- <glyph unicode="Y" horiz-adv-x="1292" d="M5 1456h320l318 -671h6l318 671h320l-500 -944v-512h-291v527z" />
73
- <glyph unicode="Z" horiz-adv-x="1206" d="M77 0v152l692 1079h-691v225h1047v-146l-695 -1086h712v-224h-1065z" />
74
- <glyph unicode="[" horiz-adv-x="570" d="M119 -336v2027h434v-216h-141v-1595h141v-216h-434z" />
75
- <glyph unicode="\" horiz-adv-x="863" d="M2 1456h289l608 -1581h-289z" />
76
- <glyph unicode="]" horiz-adv-x="570" d="M13 -120h142v1595h-142v216h434v-2027h-434v216z" />
77
- <glyph unicode="^" horiz-adv-x="896" d="M44 729l299 727h212l299 -727h-231l-165 413l-8 34h-6l-7 -34l-162 -413h-231z" />
78
- <glyph unicode="_" horiz-adv-x="914" d="M1 0h910v-219h-910v219z" />
79
- <glyph unicode="`" horiz-adv-x="678" d="M77 1472l2 6h309l197 -266h-237z" />
80
- <glyph unicode="a" horiz-adv-x="1100" d="M55 305q0 159 122.5 246.5t357.5 87.5h163v86q0 78 -41 121t-121 43q-71 0 -109.5 -34.5t-38.5 -95.5l-282 1l-1 6v14q0 128 119 222q126 100 331 100q194 0 315 -98.5t121 -280.5v-447q0 -76 11.5 -143t36.5 -133h-292q-16 37 -27.5 78t-16.5 84q-45 -79 -118.5 -131 t-175.5 -52q-170 0 -262 87.5t-92 238.5zM346 315q0 -54 36 -87t98 -33q77 0 137 38t81 88v153h-163q-93 0 -141 -46.5t-48 -112.5z" />
81
- <glyph unicode="b" d="M112 0v1560h291v-593q47 65 112.5 100t150.5 35q206 0 314 -155.5t108 -414.5v-21q0 -242 -108 -387t-312 -145q-94 0 -164.5 39.5t-119.5 115.5l-22 -134h-250zM403 307q27 -49 74.5 -75t116.5 -26q113 0 158 79.5t45 225.5v21q0 158 -46.5 250.5t-158.5 92.5 q-68 0 -115 -28.5t-74 -81.5v-458z" />
82
- <glyph unicode="c" horiz-adv-x="1060" d="M62 525v30q0 239 130.5 393t372.5 154q201 0 323 -114q119 -110 118 -288v-12l-2 -6h-266q0 84 -46 139.5t-127 55.5q-116 0 -163.5 -90t-47.5 -232v-30q0 -145 47.5 -233.5t164.5 -88.5q78 0 125 45.5t47 121.5h265l3 -6v-10q0 -156 -124 -264q-128 -110 -316 -111 q-242 0 -373 153t-131 393z" />
83
- <glyph unicode="d" d="M67 511v21q0 256 110.5 413t311.5 157q81 0 146 -35t114 -100v593h293v-1560h-251l-24 132q-51 -75 -120.5 -114t-159.5 -39q-199 0 -309.5 146t-110.5 386zM358 511q0 -142 48 -223.5t156 -81.5q63 0 110 25.5t77 74.5v461q-30 51 -76.5 79.5t-108.5 28.5 q-107 0 -156.5 -95t-49.5 -248v-21z" />
84
- <glyph unicode="e" horiz-adv-x="1084" d="M77 510v40q1 241 133 397q132 155 352 155h3q219 0 340 -132t121 -357v-159h-646l-2 -6q8 -107 71.5 -176t172.5 -69q97 0 161 19.5t140 61.5l79 -180q-66 -54 -173 -89.5t-238 -35.5q-234 0 -374 150t-140 381zM379 652l3 -5h358v26q0 93 -43.5 148.5t-131.5 55.5 q-81 0 -128 -62t-58 -163z" />
85
- <glyph unicode="f" horiz-adv-x="732" d="M27 877v205h161v120q0 182 105 280.5t295 98.5q37 0 75.5 -5.5t84.5 -15.5l-25 -217q-24 4 -46.5 7t-52.5 3q-71 0 -107.5 -39t-36.5 -112v-120h215v-205h-215v-877h-292v877h-161z" />
86
- <glyph unicode="g" d="M67 511v21q0 256 111.5 413t312.5 157q91 0 160 -41t118 -117l23 138h252v-1077q0 -211 -138.5 -326.5t-385.5 -115.5q-82 0 -174 22.5t-170 61.5l54 218q67 -32 136.5 -48.5t151.5 -16.5q120 0 176.5 50t56.5 156v98q-48 -61 -113 -93t-149 -32q-199 0 -310.5 146.5 t-111.5 385.5zM359 511q0 -142 48 -223.5t156 -81.5q67 0 113.5 24.5t74.5 71.5v470q-28 49 -74.5 76t-111.5 27q-107 0 -156.5 -95t-49.5 -248v-21z" />
87
- <glyph unicode="h" d="M105 0v1560h292v-615q51 74 125 115.5t164 41.5q169 0 265.5 -112.5t96.5 -347.5v-642h-292v644q0 126 -44.5 178.5t-132.5 52.5q-60 0 -106 -21.5t-76 -60.5v-793h-292z" />
88
- <glyph unicode="i" horiz-adv-x="547" d="M127 0v1082h292v-1082h-292zM127 1341v219h292v-219h-292z" />
89
- <glyph unicode="j" horiz-adv-x="543" d="M-98 -420l14 223q23 -6 46 -9t49 -3q59 0 91 41.5t32 127.5v1122h293v-1122q0 -190 -101 -293.5t-281 -103.5q-40 0 -73 4t-70 13zM128 1343v217h293v-217h-293z" />
90
- <glyph unicode="k" horiz-adv-x="1097" d="M112 0v1560h292v-885h72l251 407h338l-346 -490l399 -592h-335l-299 453h-80v-453h-292z" />
91
- <glyph unicode="l" horiz-adv-x="547" d="M127 0v1560h292v-1560h-292z" />
92
- <glyph unicode="m" horiz-adv-x="1772" d="M112 0v1082h271l12 -143q52 78 130.5 120.5t181.5 42.5q104 0 178 -46t112 -139q50 87 130 136t188 49q160 0 252.5 -110.5t92.5 -336.5v-655h-292v656q0 123 -40 171t-119 48q-62 0 -107.5 -27.5t-72.5 -76.5q0 -19 1 -32.5t1 -27.5v-711h-291v656q0 120 -40 169.5 t-120 49.5q-59 0 -103.5 -22.5t-73.5 -63.5v-789h-291z" />
93
- <glyph unicode="n" d="M107 0v1082h272l13 -155q54 83 133 129t177 46q164 0 256 -103t92 -323v-676h-293v675q0 109 -44 154.5t-133 45.5q-58 0 -104 -23.5t-77 -66.5v-785h-292z" />
94
- <glyph unicode="o" d="M67 530v21q0 242 135 396.5t374 154.5q240 0 376 -154t136 -397v-21q0 -244 -135.5 -397.5t-374.5 -153.5q-240 0 -375.5 153.5t-135.5 397.5zM358 530q0 -148 52 -237.5t168 -89.5q113 0 165.5 90t52.5 237v21q0 144 -53 235t-167 91q-113 0 -165.5 -91.5t-52.5 -234.5 v-21z" />
95
- <glyph unicode="p" d="M112 -416v1498h263l17 -128q48 71 115.5 109.5t157.5 38.5q201 0 312 -157t111 -413v-21q0 -240 -111 -386t-310 -146q-85 0 -151 31.5t-113 92.5v-519h-291zM403 297q27 -46 73.5 -70t114.5 -24q106 0 155.5 83t49.5 225v21q0 153 -51 248t-156 95q-66 0 -112.5 -27 t-73.5 -77v-474z" />
96
- <glyph unicode="q" d="M67 511v21q0 256 110.5 413t311.5 157q90 0 158 -39.5t117 -113.5l27 133h248v-1498h-292v517q-48 -60 -112.5 -91t-147.5 -31q-199 0 -309.5 146t-110.5 386zM358 511q0 -142 48 -225t156 -83q64 0 110 24t75 70v480q-29 48 -74.5 74t-108.5 26q-107 0 -156.5 -96 t-49.5 -249v-21z" />
97
- <glyph unicode="r" horiz-adv-x="717" d="M112 0v1082h271l13 -160q38 85 98.5 132.5t139.5 47.5q22 0 40.5 -3.5t37.5 -8.5l-31 -259l-107 3q-65 0 -107 -27t-64 -76v-731h-291z" />
98
- <glyph unicode="s" horiz-adv-x="1056" d="M64 338l2 6h267q3 -87 57 -126t141 -39q81 0 123.5 32t42.5 87q0 48 -46.5 83t-172.5 62q-192 39 -289.5 115.5t-97.5 208.5q0 140 117.5 237.5t314.5 97.5q207 0 329 -97q118 -93 118 -233v-12l-2 -6h-282q0 65 -41.5 106t-121.5 41q-71 0 -111.5 -34.5t-40.5 -86.5 q0 -50 42.5 -82t172.5 -57q200 -40 297 -117.5t97 -213.5q0 -146 -125 -238.5t-330 -92.5q-215 -1 -341 109q-120 105 -120 237v13z" />
99
- <glyph unicode="t" horiz-adv-x="715" d="M9 877v205h158v265h292v-265h182v-205h-182v-551q0 -63 26 -90t70 -27q23 0 39.5 2.5t38.5 8.5l25 -211q-44 -15 -86 -22.5t-91 -7.5q-151 0 -232.5 83t-81.5 263v552h-158z" />
100
- <glyph unicode="u" d="M105 429v653h291v-655q0 -118 40 -169.5t118 -51.5q70 0 120 22.5t82 66.5v787h292v-1082h-249l-26 156q-50 -85 -127 -131t-177 -46q-171 0 -267.5 109.5t-96.5 340.5z" />
101
- <glyph unicode="v" horiz-adv-x="1046" d="M16 1082h305l182 -679l19 -100h6l20 100l178 679h305l-368 -1082h-279z" />
102
- <glyph unicode="w" horiz-adv-x="1507" d="M29 1082h274l143 -693h6l202 693h195l204 -695h6l141 695h274l-275 -1082h-244l-201 644h-6l-201 -644h-243z" />
103
- <glyph unicode="x" horiz-adv-x="1046" d="M19 0l337 547l-327 535h328l162 -344h6l166 344h330l-326 -535l337 -547h-329l-177 359l-177 -359h-330z" />
104
- <glyph unicode="y" horiz-adv-x="1046" d="M5 1082h314l183 -628l12 -60h6l207 688h314l-439 -1244q-46 -116 -125 -195.5t-237 -79.5q-37 0 -68.5 6t-76.5 17l34 213q13 -2 28 -4t27 -2q72 0 111 35.5t60 88.5l34 84z" />
105
- <glyph unicode="z" horiz-adv-x="1046" d="M75 0v172l515 684h-499v226h866v-167l-519 -691h536v-224h-899z" />
106
- <glyph unicode="{" horiz-adv-x="676" d="M48 518v201q90 0 133.5 54.5t43.5 155.5v203q0 171 82.5 290.5t277.5 174.5l56 -157q-85 -31 -120 -110.5t-35 -197.5v-203q0 -104 -44.5 -184.5t-134.5 -125.5q90 -47 134.5 -127.5t44.5 -182.5v-203q0 -118 35 -197.5t120 -110.5l-56 -158q-195 55 -277.5 175 t-82.5 291v203q0 99 -43.5 154t-133.5 55z" />
107
- <glyph unicode="|" horiz-adv-x="519" d="M173 -270v1726h176v-1726h-176z" />
108
- <glyph unicode="}" horiz-adv-x="676" d="M34 -202q85 31 120 110.5t35 197.5v203q0 104 46 184t140 125q-94 45 -140 125.5t-46 185.5v203q0 118 -35 197.5t-120 110.5l56 157q194 -55 277 -174.5t83 -290.5v-203q0 -101 43 -155.5t135 -54.5v-201q-92 0 -135 -55t-43 -154v-203q0 -171 -83 -291t-277 -175z" />
109
- <glyph unicode="~" horiz-adv-x="1327" d="M105 448q0 162 86.5 269.5t223.5 107.5q83 0 158.5 -33.5t151.5 -99.5q49 -45 86.5 -64.5t81.5 -19.5q50 0 87 52t37 125l203 -27q0 -161 -88.5 -270.5t-223.5 -109.5q-85 0 -157 31.5t-150 101.5q-52 44 -89.5 64t-81.5 20q-52 0 -87.5 -51t-35.5 -122z" />
110
- <glyph unicode="&#xa1;" horiz-adv-x="580" d="M142 -374v953h292v-953h-292zM142 825v257h292v-257h-292z" />
111
- <glyph unicode="&#xa2;" horiz-adv-x="1181" d="M72 525v30q0 218 110.5 367.5t317.5 174.5v221h200v-229q148 -34 235 -141.5t87 -265.5h-274q0 84 -46 139.5t-127 55.5q-116 0 -163.5 -90t-47.5 -232v-30q0 -145 47.5 -233.5t164.5 -88.5q78 0 125 45.5t47 121.5h267l2 -5q3 -135 -85.5 -237t-231.5 -135v-238h-200 v229q-207 23 -317.5 172.5t-110.5 368.5z" />
112
- <glyph unicode="&#xa3;" horiz-adv-x="1216" d="M92 588v225h155l-8 214q0 210 120.5 330t322.5 120q215 0 333.5 -111.5t114.5 -294.5l-2 -6h-284q0 96 -46 141.5t-117 45.5q-70 0 -110 -58.5t-40 -166.5l10 -214h355v-225h-345l4 -85q0 -78 -30 -150t-86 -129h713v-224h-996v224h10q47 12 70.5 95t23.5 171l-4 98h-164 z" />
113
- <glyph unicode="&#xa4;" horiz-adv-x="1417" d="M80 118l135 137q-49 76 -74.5 165.5t-25.5 187.5q0 101 28 194t81 171l-144 147l141 144l142 -145q74 55 162.5 85t185.5 30q96 0 185 -30.5t164 -86.5l144 148l142 -145l-148 -151q51 -78 79 -169.5t28 -191.5q0 -97 -25.5 -185.5t-72.5 -163.5l139 -141l-142 -145 l-132 134q-77 -62 -169 -94.5t-192 -32.5q-101 0 -193.5 32.5t-167.5 93.5l-129 -132zM301 608q0 -185 119 -312t291 -127q170 0 289.5 127.5t119.5 311.5q0 183 -119.5 310t-289.5 127q-172 0 -291 -127t-119 -310z" />
114
- <glyph unicode="&#xa5;" horiz-adv-x="1253" d="M22 1456h321l280 -608h6l281 608h320l-382 -714h244v-200h-324v-110h324v-200h-324v-232h-292v232h-339v200h339v110h-339v200h267z" />
115
- <glyph unicode="&#xa6;" horiz-adv-x="517" d="M127 -270v795h262v-795h-262zM127 698v758h262v-758h-262z" />
116
- <glyph unicode="&#xa7;" horiz-adv-x="1287" d="M94 536q0 89 42 158t121 113q-69 50 -103 120.5t-34 168.5q0 172 141.5 276.5t378.5 104.5q243 0 380.5 -111t132.5 -311l-2 -6h-283q0 88 -60 145.5t-168 57.5q-114 0 -171 -43.5t-57 -110.5q0 -75 55.5 -113.5t232.5 -86.5q247 -64 363.5 -157.5t116.5 -265.5 q0 -91 -42 -159t-121 -111q68 -51 102.5 -121t34.5 -168q0 -177 -140 -277t-377 -100q-232 0 -387.5 99.5t-150.5 317.5l2 6l283 1q0 -106 72.5 -152t180.5 -46q107 0 166.5 41.5t59.5 108.5t-61 107.5t-230 90.5q-244 64 -361 157.5t-117 265.5zM385 562q0 -80 55.5 -121.5 t232.5 -93.5q34 -10 68.5 -20t69.5 -21q39 22 60.5 59t21.5 85q0 71 -62 116t-232 97q-40 10 -74 21t-65 22q-38 -22 -56.5 -59t-18.5 -85z" />
117
- <glyph unicode="&#xa8;" horiz-adv-x="1090" d="M156 1252v204h266v-204h-266zM656 1252v204h266v-204h-266z" />
118
- <glyph unicode="&#xa9;" horiz-adv-x="1606" d="M86 729q0 315 207 531t503 216q295 0 502.5 -216t207.5 -531q0 -316 -208 -533t-502 -217q-296 0 -503 217t-207 533zM208 729q0 -264 171.5 -444.5t416.5 -180.5q244 0 415.5 180.5t171.5 444.5q0 263 -171.5 442.5t-415.5 179.5q-246 0 -417 -179.5t-171 -442.5z M433 669v119q0 173 94.5 280t254.5 107q157 0 245.5 -79.5t84.5 -228.5l-2 -6h-148q0 94 -45 136.5t-135 42.5q-94 0 -144 -69t-50 -182v-120q0 -115 50 -183.5t144 -68.5q90 0 134.5 41.5t44.5 137.5h148l2 -6q4 -151 -84 -229.5t-245 -78.5q-160 0 -254.5 106t-94.5 281z " />
119
- <glyph unicode="&#xaa;" horiz-adv-x="909" d="M112 920q0 111 84.5 171t246.5 60h137v51q0 62 -29.5 94.5t-86.5 32.5q-66 0 -102 -26t-36 -73l-165 13l-1 6q-6 98 79 163t225 65q134 0 212.5 -71t78.5 -205v-314q0 -51 6 -95t20 -86h-177q-8 21 -13 44.5t-8 49.5q-33 -47 -88.5 -77.5t-133.5 -30.5q-119 0 -184 61 t-65 167zM287 924q0 -43 29 -65.5t88 -22.5q51 0 105 30t71 65v103h-136q-74 0 -115.5 -32t-41.5 -78z" />
120
- <glyph unicode="&#xab;" horiz-adv-x="1025" d="M98 507v19l280 390h187l-240 -400l240 -399h-187zM432 507v19l280 390h187l-240 -400l240 -399h-187z" />
121
- <glyph unicode="&#xac;" horiz-adv-x="1129" d="M126 634v171h835v-431h-200v260h-635z" />
122
- <glyph unicode="&#xad;" horiz-adv-x="801" d="M113 510v225h564v-225h-564z" />
123
- <glyph unicode="&#xae;" horiz-adv-x="1606" d="M86 729q0 315 207 531t503 216q295 0 502.5 -216t207.5 -531q0 -316 -208 -533t-502 -217q-296 0 -503 217t-207 533zM208 729q0 -264 171.5 -444.5t416.5 -180.5q244 0 415.5 180.5t171.5 444.5q0 263 -171.5 442.5t-415.5 179.5q-246 0 -417 -179.5t-171 -442.5z M501 316v850h281q151 0 238 -68t87 -194q0 -58 -29 -101.5t-85 -74.5q58 -30 84.5 -84.5t26.5 -128.5v-56q0 -41 3.5 -73.5t13.5 -53.5v-16h-155q-9 21 -11 61.5t-2 82.5v54q0 71 -33.5 105t-109.5 34h-158v-337h-151zM652 787h135q71 0 120.5 30t49.5 86q0 72 -39 101 t-136 29h-130v-246z" />
124
- <glyph unicode="&#xaf;" horiz-adv-x="1028" d="M148 1292v165h731v-165h-731z" />
125
- <glyph unicode="&#xb0;" horiz-adv-x="796" d="M126 1203q0 112 80.5 193t192.5 81q110 0 189 -81t79 -193q0 -113 -79 -192t-189 -79q-113 0 -193 79t-80 192zM273 1203q0 -53 37 -88.5t89 -35.5q51 0 86 35t35 89t-35 91t-86 37q-52 0 -89 -37t-37 -91z" />
126
- <glyph unicode="&#xb1;" horiz-adv-x="1101" d="M90 715v232h333v363h256v-363h327v-232h-327v-383h-256v383h-333zM114 -43v228h834v-228h-834z" />
127
- <glyph unicode="&#xb2;" horiz-adv-x="860" d="M108 1223q-6 106 82.5 181t236.5 75q144 0 223 -65t79 -183q0 -82 -53.5 -144.5t-178.5 -165.5l-109 -93l2 -6h346v-155h-622v155l309 252q60 50 77.5 83.5t17.5 74.5q0 39 -23.5 65.5t-72.5 26.5q-55 0 -83 -30t-28 -77h-201z" />
128
- <glyph unicode="&#xb3;" horiz-adv-x="856" d="M95 893l2 6h201q0 -42 31.5 -65.5t91.5 -23.5q56 0 90 24t34 68q0 50 -35 77t-102 27h-111v133h111q62 0 92 24.5t30 70.5q0 38 -28.5 63.5t-83.5 25.5q-51 0 -79.5 -22t-28.5 -53h-200l-2 6q-6 101 82 162.5t222 61.5q152 0 240.5 -59.5t88.5 -169.5q0 -55 -35.5 -100.5 t-96.5 -70.5q70 -24 107.5 -71.5t37.5 -115.5q0 -112 -89.5 -174t-241.5 -62q-146 0 -240 62.5t-88 175.5z" />
129
- <glyph unicode="&#xb4;" horiz-adv-x="727" d="M108 1212l199 266h309l2 -6l-277 -260h-233z" />
130
- <glyph unicode="&#xb5;" horiz-adv-x="1264" d="M139 -416v1498h291v-620q0 -149 45 -202.5t135 -53.5q75 0 125 27.5t78 79.5v769h292v-1082h-272l-6 67q-44 -43 -100.5 -65.5t-123.5 -22.5q-51 0 -94.5 10.5t-78.5 33.5v-439h-291z" />
131
- <glyph unicode="&#xb6;" horiz-adv-x="1078" d="M61 988q0 207 129.5 337.5t362.5 130.5h375v-1456h-292v520h-83q-233 0 -362.5 129.5t-129.5 338.5z" />
132
- <glyph unicode="&#xb7;" horiz-adv-x="619" d="M159 568v260h292v-260h-292z" />
133
- <glyph unicode="&#xb8;" horiz-adv-x="549" d="M97 -136l31 142h219l-11 -57q64 -11 107 -52t43 -121q0 -107 -91.5 -171t-259.5 -64l-7 161q51 0 81 20.5t30 62.5q0 41 -32 57.5t-110 21.5z" />
134
- <glyph unicode="&#xb9;" horiz-adv-x="573" d="M78 1295v159l338 23v-812h-211v630h-127z" />
135
- <glyph unicode="&#xba;" horiz-adv-x="937" d="M118 1025v117q0 148 94 241.5t252 93.5t252.5 -93.5t94.5 -241.5v-117q0 -149 -94 -241.5t-251 -92.5q-159 0 -253.5 92.5t-94.5 241.5zM293 1025q0 -85 44 -136.5t129 -51.5q82 0 126 51.5t44 136.5v117q0 83 -44.5 135t-127.5 52q-84 0 -127.5 -52t-43.5 -135v-117z " />
136
- <glyph unicode="&#xbb;" horiz-adv-x="1025" d="M102 151l239 399l-239 400h188l280 -390v-19l-280 -390h-188zM448 151l239 399l-239 400h188l280 -390v-19l-280 -390h-188z" />
137
- <glyph unicode="&#xbc;" horiz-adv-x="1493" d="M167 1294v159l338 23v-812h-211v630h-127zM309 192l711 1138l142 -75l-711 -1138zM762 265l424 536h211v-505h101v-157h-101v-139h-211v139h-410zM978 296h208v257l-6 2l-13 -20z" />
138
- <glyph unicode="&#xbd;" horiz-adv-x="1553" d="M167 1294v159l338 23v-812h-211v630h-127zM322 192l711 1138l142 -75l-711 -1138zM919 556q-6 106 82.5 181t236.5 75q144 0 223 -65t79 -183q0 -82 -53.5 -144.5t-178.5 -165.5l-109 -93l2 -6h346v-155h-622v155l309 252q60 50 77.5 83.5t17.5 74.5q0 39 -23.5 65.5 t-72.5 26.5q-55 0 -83 -30t-28 -77h-201z" />
139
- <glyph unicode="&#xbe;" horiz-adv-x="1717" d="M111 894l2 6h201q0 -42 31.5 -65.5t91.5 -23.5q56 0 90 24t34 68q0 50 -35 77t-102 27h-111v133h111q62 0 92 24.5t30 70.5q0 38 -28.5 63.5t-83.5 25.5q-51 0 -79.5 -22t-28.5 -53h-200l-2 6q-6 101 82 162.5t222 61.5q152 0 240.5 -59.5t88.5 -169.5 q0 -55 -35.5 -100.5t-96.5 -70.5q70 -24 107.5 -71.5t37.5 -115.5q0 -112 -89.5 -174t-241.5 -62q-146 0 -240 62.5t-88 175.5zM492 192l711 1138l142 -75l-711 -1138zM951 265l424 536h211v-505h101v-157h-101v-139h-211v139h-410zM1167 296h208v257l-6 2l-13 -20z" />
140
- <glyph unicode="&#xbf;" horiz-adv-x="1037" d="M75 27q0 125 74 233t187 183q60 45 79.5 92.5t19.5 132.5h291q-2 -141 -42.5 -206.5t-159.5 -157.5q-72 -58 -114.5 -125.5t-42.5 -149.5q0 -90 48.5 -142t139.5 -52q73 0 124 43t54 128h283l2 -6q2 -191 -127.5 -292.5t-335.5 -101.5q-226 0 -353 113t-127 308zM433 831 v251h294v-251h-294z" />
141
- <glyph unicode="&#xc0;" horiz-adv-x="1311" d="M12 0l501 1456h299l499 -1456h-295l-99 314h-511l-99 -314h-295zM307 1820l2 6h309l197 -266h-237zM478 543h367l-180 572h-6z" />
142
- <glyph unicode="&#xc1;" horiz-adv-x="1311" d="M12 0l501 1456h299l499 -1456h-295l-99 314h-511l-99 -314h-295zM478 543h367l-180 572h-6zM519 1560l199 266h309l2 -6l-277 -260h-233z" />
143
- <glyph unicode="&#xc2;" horiz-adv-x="1311" d="M12 0l501 1456h299l499 -1456h-295l-99 314h-511l-99 -314h-295zM286 1592v26l282 240h169l287 -243v-23h-232l-140 133l-139 -133h-227zM478 543h367l-180 572h-6z" />
144
- <glyph unicode="&#xc3;" horiz-adv-x="1311" d="M12 0l501 1456h299l499 -1456h-295l-99 314h-511l-99 -314h-295zM281 1644q0 94 59.5 163.5t149.5 69.5q56 0 152 -43.5t148 -43.5q34 0 60 32t26 79l154 -45q0 -96 -59.5 -163.5t-150.5 -67.5q-70 0 -158.5 43.5t-140.5 43.5q-36 0 -60 -32.5t-24 -77.5zM478 543h367 l-180 572h-6z" />
145
- <glyph unicode="&#xc4;" horiz-adv-x="1311" d="M12 0l501 1456h299l499 -1456h-295l-99 314h-511l-99 -314h-295zM272 1601v204h266v-204h-266zM478 543h367l-180 572h-6zM772 1601v204h266v-204h-266z" />
146
- <glyph unicode="&#xc5;" horiz-adv-x="1311" d="M12 0l501 1456h299l499 -1456h-295l-99 314h-511l-99 -314h-295zM444 1739q0 83 61.5 139.5t151.5 56.5q88 0 149 -56.5t61 -139.5q0 -84 -60.5 -138t-149.5 -54q-90 0 -151.5 54t-61.5 138zM478 543h367l-180 572h-6zM560 1739q0 -43 28 -70.5t69 -27.5t67.5 27.5 t26.5 70.5q0 44 -26.5 72t-67.5 28q-42 0 -69.5 -28.5t-27.5 -71.5z" />
147
- <glyph unicode="&#xc6;" horiz-adv-x="1925" d="M3 0l784 1456h1016v-228h-596l16 -366h499v-227h-490l17 -408h616v-227h-898l-14 335h-440l-168 -335h-342zM633 575h310l-23 559l-6 1z" />
148
- <glyph unicode="&#xc7;" horiz-adv-x="1309" d="M93 583v289q0 265 160 435t416 170q270 0 422 -138.5t148 -377.5l-2 -6h-284q0 144 -69 220.5t-215 76.5q-131 0 -208 -106.5t-77 -271.5v-291q0 -167 81 -273.5t219 -106.5q137 0 202.5 73.5t65.5 218.5h283l2 -6q4 -235 -143.5 -372.5t-409.5 -137.5q-263 0 -427 169 t-164 435zM524 -137l31 142h219l-11 -57q64 -11 107 -52t43 -121q0 -107 -91.5 -171t-259.5 -64l-7 161q51 0 81 20.5t30 62.5q0 41 -32 57.5t-110 21.5z" />
149
- <glyph unicode="&#xc8;" horiz-adv-x="1176" d="M136 0v1456h995v-225h-703v-366h603v-225h-603v-416h705v-224h-997zM244 1820l2 6h309l197 -266h-237z" />
150
- <glyph unicode="&#xc9;" horiz-adv-x="1176" d="M136 0v1456h995v-225h-703v-366h603v-225h-603v-416h705v-224h-997zM456 1560l199 266h309l2 -6l-277 -260h-233z" />
151
- <glyph unicode="&#xca;" horiz-adv-x="1176" d="M136 0v1456h995v-225h-703v-366h603v-225h-603v-416h705v-224h-997zM238 1592v26l282 240h169l287 -243v-23h-232l-140 133l-139 -133h-227z" />
152
- <glyph unicode="&#xcb;" horiz-adv-x="1176" d="M136 0v1456h995v-225h-703v-366h603v-225h-603v-416h705v-224h-997zM221 1601v204h266v-204h-266zM721 1601v204h266v-204h-266z" />
153
- <glyph unicode="&#xcc;" horiz-adv-x="601" d="M-58 1820l2 6h309l197 -266h-237zM154 0v1456h292v-1456h-292z" />
154
- <glyph unicode="&#xcd;" horiz-adv-x="601" d="M152 1560l199 266h309l2 -6l-277 -260h-233zM154 0v1456h292v-1456h-292z" />
155
- <glyph unicode="&#xce;" horiz-adv-x="601" d="M-64 1592v26l282 240h169l287 -243v-23h-232l-140 133l-139 -133h-227zM154 0v1456h292v-1456h-292z" />
156
- <glyph unicode="&#xcf;" horiz-adv-x="601" d="M-81 1601v204h266v-204h-266zM154 0v1456h292v-1456h-292zM419 1601v204h266v-204h-266z" />
157
- <glyph unicode="&#xd0;" horiz-adv-x="1372" d="M31 652v181h135v623h500q267 0 440 -170.5t173 -437.5v-241q0 -268 -173 -437.5t-440 -169.5h-500v652h-135zM458 224h193q157 0 246 106t89 277v243q0 169 -89 275t-246 106h-193v-398h244v-181h-244v-428z" />
158
- <glyph unicode="&#xd1;" horiz-adv-x="1450" d="M136 0v1456h292l588 -994l6 1v993h291v-1456h-291l-588 995l-6 -1v-994h-292zM349 1644q0 94 59.5 163.5t149.5 69.5q56 0 152 -43.5t148 -43.5q34 0 60 32t26 79l154 -45q0 -96 -59.5 -163.5t-150.5 -67.5q-70 0 -158.5 43.5t-140.5 43.5q-36 0 -60 -32.5t-24 -77.5z " />
159
- <glyph unicode="&#xd2;" horiz-adv-x="1399" d="M92 597v262q0 267 167.5 442.5t436.5 175.5q271 0 441 -175.5t170 -442.5v-262q0 -268 -169.5 -443t-440.5 -175q-269 0 -437 175t-168 443zM339 1820l2 6h309l197 -266h-237zM383 597q0 -173 83 -282t231 -109q150 0 234 109t84 282v264q0 170 -85 279t-234 109 t-231 -108.5t-82 -279.5v-264z" />
160
- <glyph unicode="&#xd3;" horiz-adv-x="1399" d="M92 597v262q0 267 167.5 442.5t436.5 175.5q271 0 441 -175.5t170 -442.5v-262q0 -268 -169.5 -443t-440.5 -175q-269 0 -437 175t-168 443zM383 597q0 -173 83 -282t231 -109q150 0 234 109t84 282v264q0 170 -85 279t-234 109t-231 -108.5t-82 -279.5v-264zM551 1581 l199 266h309l2 -6l-277 -260h-233z" />
161
- <glyph unicode="&#xd4;" horiz-adv-x="1399" d="M92 597v262q0 267 167.5 442.5t436.5 175.5q271 0 441 -175.5t170 -442.5v-262q0 -268 -169.5 -443t-440.5 -175q-269 0 -437 175t-168 443zM333 1613v26l282 240h169l287 -243v-23h-232l-140 133l-139 -133h-227zM383 597q0 -173 83 -282t231 -109q150 0 234 109t84 282 v264q0 170 -85 279t-234 109t-231 -108.5t-82 -279.5v-264z" />
162
- <glyph unicode="&#xd5;" horiz-adv-x="1399" d="M92 597v262q0 267 167.5 442.5t436.5 175.5q271 0 441 -175.5t170 -442.5v-262q0 -268 -169.5 -443t-440.5 -175q-269 0 -437 175t-168 443zM324 1665q0 94 59.5 163.5t149.5 69.5q56 0 152 -43.5t148 -43.5q34 0 60 32t26 79l154 -45q0 -96 -59.5 -163.5t-150.5 -67.5 q-70 0 -158.5 43.5t-140.5 43.5q-36 0 -60 -32.5t-24 -77.5zM383 597q0 -173 83 -282t231 -109q150 0 234 109t84 282v264q0 170 -85 279t-234 109t-231 -108.5t-82 -279.5v-264z" />
163
- <glyph unicode="&#xd6;" horiz-adv-x="1399" d="M92 597v262q0 267 167.5 442.5t436.5 175.5q271 0 441 -175.5t170 -442.5v-262q0 -268 -169.5 -443t-440.5 -175q-269 0 -437 175t-168 443zM316 1622v204h266v-204h-266zM383 597q0 -173 83 -282t231 -109q150 0 234 109t84 282v264q0 170 -85 279t-234 109t-231 -108.5 t-82 -279.5v-264zM816 1622v204h266v-204h-266z" />
164
- <glyph unicode="&#xd7;" horiz-adv-x="1088" d="M64 371l309 315l-309 315l172 164l303 -310l304 310l172 -164l-309 -315l309 -315l-172 -164l-304 309l-303 -309z" />
165
- <glyph unicode="&#xd8;" horiz-adv-x="1410" d="M92 597v262q0 267 167.5 442.5t436.5 175.5q100 0 188.5 -26.5t162.5 -74.5l83 142h143l-130 -223q79 -83 121.5 -195t42.5 -241v-262q0 -268 -169.5 -443t-440.5 -175q-79 0 -151 16t-133 47l-80 -137h-143l119 204q-104 83 -160.5 209.5t-56.5 278.5zM383 597 q0 -74 15.5 -137.5t45.5 -107.5l6 -1l468 803q-42 45 -98 70t-124 25q-149 0 -231 -108.5t-82 -279.5v-264zM535 251q33 -22 74 -33.5t88 -11.5q150 0 234 109t84 282v264q0 45 -7 87t-18 73l-6 1z" />
166
- <glyph unicode="&#xd9;" horiz-adv-x="1407" d="M120 490v966h293v-966q0 -144 77 -215.5t212 -71.5q137 0 215 71t78 216v966h293v-966q0 -245 -162 -378t-424 -133q-261 0 -421.5 133t-160.5 378zM344 1820l2 6h309l197 -266h-237z" />
167
- <glyph unicode="&#xda;" horiz-adv-x="1407" d="M120 490v966h293v-966q0 -144 77 -215.5t212 -71.5q137 0 215 71t78 216v966h293v-966q0 -245 -162 -378t-424 -133q-261 0 -421.5 133t-160.5 378zM556 1560l199 266h309l2 -6l-277 -260h-233z" />
168
- <glyph unicode="&#xdb;" horiz-adv-x="1407" d="M120 490v966h293v-966q0 -144 77 -215.5t212 -71.5q137 0 215 71t78 216v966h293v-966q0 -245 -162 -378t-424 -133q-261 0 -421.5 133t-160.5 378zM338 1592v26l282 240h169l287 -243v-23h-232l-140 133l-139 -133h-227z" />
169
- <glyph unicode="&#xdc;" horiz-adv-x="1407" d="M120 490v966h293v-966q0 -144 77 -215.5t212 -71.5q137 0 215 71t78 216v966h293v-966q0 -245 -162 -378t-424 -133q-261 0 -421.5 133t-160.5 378zM321 1601v204h266v-204h-266zM821 1601v204h266v-204h-266z" />
170
- <glyph unicode="&#xdd;" horiz-adv-x="1292" d="M5 1456h320l318 -671h6l318 671h320l-500 -944v-512h-291v527zM504 1560l199 266h309l2 -6l-277 -260h-233z" />
171
- <glyph unicode="&#xde;" horiz-adv-x="1247" d="M132 0v1456h292v-270h221q254 0 396 -124t142 -324q0 -201 -142 -325t-396 -124h-221v-289h-292zM424 514h221q123 0 184.5 63.5t61.5 158.5t-61.5 160t-184.5 65h-221v-447z" />
172
- <glyph unicode="&#xdf;" horiz-adv-x="1294" d="M135 0v1101q0 226 129 349t352 123q180 0 299 -95.5t119 -271.5q0 -108 -53.5 -205.5t-53.5 -165.5q0 -56 150 -197.5t150 -281.5q0 -189 -115 -283t-332 -94q-81 0 -160.5 15t-118.5 41l55 223q39 -22 96 -38.5t122 -16.5q76 0 119 38t43 103q0 71 -150 205.5 t-150 276.5q0 90 54.5 190t54.5 175q0 68 -45 113t-103 45q-76 0 -123.5 -67.5t-47.5 -184.5v-1097h-291z" />
173
- <glyph unicode="&#xe0;" horiz-adv-x="1100" d="M55 305q0 159 122.5 246.5t357.5 87.5h163v86q0 78 -41 121t-121 43q-71 0 -109.5 -34.5t-38.5 -95.5l-282 1l-1 6q-7 137 119 236.5t331 99.5q194 0 315 -98.5t121 -280.5v-447q0 -76 11.5 -143t36.5 -133h-292q-16 37 -27.5 78t-16.5 84q-45 -79 -118.5 -131 t-175.5 -52q-170 0 -262 87.5t-92 238.5zM184 1492l2 6h309l197 -266h-237zM346 315q0 -54 36 -87t98 -33q77 0 137 38t81 88v153h-163q-93 0 -141 -46.5t-48 -112.5z" />
174
- <glyph unicode="&#xe1;" horiz-adv-x="1100" d="M55 305q0 159 122.5 246.5t357.5 87.5h163v86q0 78 -41 121t-121 43q-71 0 -109.5 -34.5t-38.5 -95.5l-282 1l-1 6q-7 137 119 236.5t331 99.5q194 0 315 -98.5t121 -280.5v-447q0 -76 11.5 -143t36.5 -133h-292q-16 37 -27.5 78t-16.5 84q-45 -79 -118.5 -131 t-175.5 -52q-170 0 -262 87.5t-92 238.5zM346 315q0 -54 36 -87t98 -33q77 0 137 38t81 88v153h-163q-93 0 -141 -46.5t-48 -112.5zM396 1232l199 266h309l2 -6l-277 -260h-233z" />
175
- <glyph unicode="&#xe2;" horiz-adv-x="1100" d="M55 305q0 159 122.5 246.5t357.5 87.5h163v86q0 78 -41 121t-121 43q-71 0 -109.5 -34.5t-38.5 -95.5l-282 1l-1 6q-7 137 119 236.5t331 99.5q194 0 315 -98.5t121 -280.5v-447q0 -76 11.5 -143t36.5 -133h-292q-16 37 -27.5 78t-16.5 84q-45 -79 -118.5 -131 t-175.5 -52q-170 0 -262 87.5t-92 238.5zM178 1270v26l282 240h169l287 -243v-23h-232l-140 133l-139 -133h-227zM346 315q0 -54 36 -87t98 -33q77 0 137 38t81 88v153h-163q-93 0 -141 -46.5t-48 -112.5z" />
176
- <glyph unicode="&#xe3;" horiz-adv-x="1100" d="M55 305q0 159 122.5 246.5t357.5 87.5h163v86q0 78 -41 121t-121 43q-71 0 -109.5 -34.5t-38.5 -95.5l-282 1l-1 6q-7 137 119 236.5t331 99.5q194 0 315 -98.5t121 -280.5v-447q0 -76 11.5 -143t36.5 -133h-292q-16 37 -27.5 78t-16.5 84q-45 -79 -118.5 -131 t-175.5 -52q-170 0 -262 87.5t-92 238.5zM169 1322q0 94 59.5 163.5t149.5 69.5q56 0 152 -43.5t148 -43.5q34 0 60 32t26 79l154 -45q0 -96 -59.5 -163.5t-150.5 -67.5q-70 0 -158.5 43.5t-140.5 43.5q-36 0 -60 -32.5t-24 -77.5zM346 315q0 -54 36 -87t98 -33q77 0 137 38 t81 88v153h-163q-93 0 -141 -46.5t-48 -112.5z" />
177
- <glyph unicode="&#xe4;" horiz-adv-x="1100" d="M55 305q0 159 122.5 246.5t357.5 87.5h163v86q0 78 -41 121t-121 43q-71 0 -109.5 -34.5t-38.5 -95.5l-282 1l-1 6q-7 137 119 236.5t331 99.5q194 0 315 -98.5t121 -280.5v-447q0 -76 11.5 -143t36.5 -133h-292q-16 37 -27.5 78t-16.5 84q-45 -79 -118.5 -131 t-175.5 -52q-170 0 -262 87.5t-92 238.5zM161 1279v204h266v-204h-266zM346 315q0 -54 36 -87t98 -33q77 0 137 38t81 88v153h-163q-93 0 -141 -46.5t-48 -112.5zM661 1279v204h266v-204h-266z" />
178
- <glyph unicode="&#xe5;" horiz-adv-x="1100" d="M55 305q0 159 122.5 246.5t357.5 87.5h163v86q0 78 -41 121t-121 43q-71 0 -109.5 -34.5t-38.5 -95.5l-282 1l-1 6q-7 137 119 236.5t331 99.5q194 0 315 -98.5t121 -280.5v-447q0 -76 11.5 -143t36.5 -133h-292q-16 37 -27.5 78t-16.5 84q-45 -79 -118.5 -131 t-175.5 -52q-170 0 -262 87.5t-92 238.5zM332 1417q0 83 61.5 139.5t151.5 56.5q88 0 149 -56.5t61 -139.5q0 -84 -60.5 -138t-149.5 -54q-90 0 -151.5 54t-61.5 138zM346 315q0 -54 36 -87t98 -33q77 0 137 38t81 88v153h-163q-93 0 -141 -46.5t-48 -112.5zM448 1417 q0 -43 28 -70.5t69 -27.5t67.5 27.5t26.5 70.5q0 44 -26.5 72t-67.5 28q-42 0 -69.5 -28.5t-27.5 -71.5z" />
179
- <glyph unicode="&#xe6;" horiz-adv-x="1729" d="M46 317q0 159 127 245t370 86h181v59q0 79 -41 124.5t-115 45.5q-81 0 -127 -37.5t-46 -93.5l-283 18l-2 6q-6 144 121.5 238t339.5 94q102 0 186 -27.5t143 -79.5q61 52 142.5 79.5t180.5 27.5q212 0 333 -132t121 -358v-158h-650l-2 -6q4 -112 66 -178.5t186 -66.5 q92 0 154 20t140 61l77 -184q-62 -48 -169 -84.5t-233 -36.5q-129 0 -229.5 40.5t-167.5 116.5q-60 -68 -161.5 -112.5t-240.5 -44.5q-192 0 -296.5 90.5t-104.5 247.5zM338 313q0 -59 41.5 -93.5t123.5 -34.5q58 0 121 30.5t100 72.5v176h-179q-98 0 -152.5 -44t-54.5 -107 zM1027 649l2 -5h362v28q0 94 -42.5 149.5t-125.5 55.5q-95 0 -142 -61.5t-54 -166.5z" />
180
- <glyph unicode="&#xe7;" horiz-adv-x="1060" d="M62 525v30q0 239 130.5 393t372.5 154q200 0 322.5 -114t118.5 -300l-2 -6h-266q0 84 -46 139.5t-127 55.5q-116 0 -163.5 -90t-47.5 -232v-30q0 -145 47.5 -233.5t164.5 -88.5q78 0 125 45.5t47 121.5h265l3 -6q4 -164 -123.5 -274.5t-316.5 -110.5q-242 0 -373 153 t-131 393zM415 -137l31 142h219l-11 -57q64 -11 107 -52t43 -121q0 -107 -91.5 -171t-259.5 -64l-7 161q51 0 81 20.5t30 62.5q0 41 -32 57.5t-110 21.5z" />
181
- <glyph unicode="&#xe8;" horiz-adv-x="1084" d="M77 510v40q0 241 132.5 397t355.5 155q219 0 340 -132t121 -357v-159h-646l-2 -6q8 -107 71.5 -176t172.5 -69q97 0 161 19.5t140 61.5l79 -180q-66 -54 -173 -89.5t-238 -35.5q-234 0 -374 150t-140 381zM186 1498l2 6h309l197 -266h-237zM379 652l3 -5h358v26 q0 93 -43.5 148.5t-131.5 55.5q-81 0 -128 -62t-58 -163z" />
182
- <glyph unicode="&#xe9;" horiz-adv-x="1084" d="M77 510v40q0 241 132.5 397t355.5 155q219 0 340 -132t121 -357v-159h-646l-2 -6q8 -107 71.5 -176t172.5 -69q97 0 161 19.5t140 61.5l79 -180q-66 -54 -173 -89.5t-238 -35.5q-234 0 -374 150t-140 381zM379 652l3 -5h358v26q0 93 -43.5 148.5t-131.5 55.5 q-81 0 -128 -62t-58 -163zM398 1238l199 266h309l2 -6l-277 -260h-233z" />
183
- <glyph unicode="&#xea;" horiz-adv-x="1084" d="M77 510v40q0 241 132.5 397t355.5 155q219 0 340 -132t121 -357v-159h-646l-2 -6q8 -107 71.5 -176t172.5 -69q97 0 161 19.5t140 61.5l79 -180q-66 -54 -173 -89.5t-238 -35.5q-234 0 -374 150t-140 381zM180 1271v26l282 240h169l287 -243v-23h-232l-140 133l-139 -133 h-227zM379 652l3 -5h358v26q0 93 -43.5 148.5t-131.5 55.5q-81 0 -128 -62t-58 -163z" />
184
- <glyph unicode="&#xeb;" horiz-adv-x="1084" d="M77 510v40q0 241 132.5 397t355.5 155q219 0 340 -132t121 -357v-159h-646l-2 -6q8 -107 71.5 -176t172.5 -69q97 0 161 19.5t140 61.5l79 -180q-66 -54 -173 -89.5t-238 -35.5q-234 0 -374 150t-140 381zM163 1280v204h266v-204h-266zM379 652l3 -5h358v26 q0 93 -43.5 148.5t-131.5 55.5q-81 0 -128 -62t-58 -163zM663 1280v204h266v-204h-266z" />
185
- <glyph unicode="&#xec;" horiz-adv-x="562" d="M-78 1498l2 6h309l197 -266h-237zM133 0v1082h292v-1082h-292z" />
186
- <glyph unicode="&#xed;" horiz-adv-x="562" d="M132 1217l199 266h309l2 -6l-277 -260h-233zM133 0v1082h292v-1082h-292z" />
187
- <glyph unicode="&#xee;" horiz-adv-x="562" d="M-84 1251v26l282 240h169l287 -243v-23h-232l-140 133l-139 -133h-227zM133 0v1082h292v-1082h-292z" />
188
- <glyph unicode="&#xef;" horiz-adv-x="562" d="M-101 1258v204h266v-204h-266zM133 0v1082h292v-1082h-292zM399 1258v204h266v-204h-266z" />
189
- <glyph unicode="&#xf0;" horiz-adv-x="1218" d="M48 468q0 226 134.5 362.5t365.5 136.5q81 0 153 -25.5t124 -70.5l4 4q-14 83 -54 153.5t-100 125.5l-245 -136l-78 113l192 106l-1 6q-31 16 -68 30t-77 26l92 218q88 -19 168.5 -52.5t149.5 -80.5l198 109l77 -113l-162 -90q102 -106 158.5 -245t56.5 -303v-196 q0 -250 -157 -408.5t-392 -158.5q-238 0 -388.5 140.5t-150.5 348.5zM340 468q0 -112 68 -188.5t183 -76.5q116 0 184.5 96.5t68.5 246.5v118q-35 39 -99 65t-151 26q-122 0 -188 -79t-66 -208z" />
190
- <glyph unicode="&#xf1;" d="M107 0v1082h272l13 -155q54 83 133 129t177 46q164 0 256 -103t92 -323v-676h-293v675q0 109 -44 154.5t-133 45.5q-58 0 -104 -23.5t-77 -66.5v-785h-292zM202 1322q0 94 59.5 163.5t149.5 69.5q56 0 152 -43.5t148 -43.5q34 0 60 32t26 79l154 -45q0 -96 -59.5 -163.5 t-150.5 -67.5q-70 0 -158.5 43.5t-140.5 43.5q-36 0 -60 -32.5t-24 -77.5z" />
191
- <glyph unicode="&#xf2;" d="M67 530v21q0 242 135 396.5t374 154.5q240 0 376 -154t136 -397v-21q0 -244 -135.5 -397.5t-374.5 -153.5q-240 0 -375.5 153.5t-135.5 397.5zM217 1498l2 6h309l197 -266h-237zM358 530q0 -148 52 -237.5t168 -89.5q113 0 165.5 90t52.5 237v21q0 144 -53 235t-167 91 q-113 0 -165.5 -91.5t-52.5 -234.5v-21z" />
192
- <glyph unicode="&#xf3;" d="M67 530v21q0 242 135 396.5t374 154.5q240 0 376 -154t136 -397v-21q0 -244 -135.5 -397.5t-374.5 -153.5q-240 0 -375.5 153.5t-135.5 397.5zM358 530q0 -148 52 -237.5t168 -89.5q113 0 165.5 90t52.5 237v21q0 144 -53 235t-167 91q-113 0 -165.5 -91.5t-52.5 -234.5 v-21zM429 1238l199 266h309l2 -6l-277 -260h-233z" />
193
- <glyph unicode="&#xf4;" d="M67 530v21q0 242 135 396.5t374 154.5q240 0 376 -154t136 -397v-21q0 -244 -135.5 -397.5t-374.5 -153.5q-240 0 -375.5 153.5t-135.5 397.5zM211 1270v26l282 240h169l287 -243v-23h-232l-140 133l-139 -133h-227zM358 530q0 -148 52 -237.5t168 -89.5q113 0 165.5 90 t52.5 237v21q0 144 -53 235t-167 91q-113 0 -165.5 -91.5t-52.5 -234.5v-21z" />
194
- <glyph unicode="&#xf5;" d="M67 530v21q0 242 135 396.5t374 154.5q240 0 376 -154t136 -397v-21q0 -244 -135.5 -397.5t-374.5 -153.5q-240 0 -375.5 153.5t-135.5 397.5zM202 1322q0 94 59.5 163.5t149.5 69.5q56 0 152 -43.5t148 -43.5q34 0 60 32t26 79l154 -45q0 -96 -59.5 -163.5t-150.5 -67.5 q-70 0 -158.5 43.5t-140.5 43.5q-36 0 -60 -32.5t-24 -77.5zM358 530q0 -148 52 -237.5t168 -89.5q113 0 165.5 90t52.5 237v21q0 144 -53 235t-167 91q-113 0 -165.5 -91.5t-52.5 -234.5v-21z" />
195
- <glyph unicode="&#xf6;" d="M67 530v21q0 242 135 396.5t374 154.5q240 0 376 -154t136 -397v-21q0 -244 -135.5 -397.5t-374.5 -153.5q-240 0 -375.5 153.5t-135.5 397.5zM194 1279v204h266v-204h-266zM358 530q0 -148 52 -237.5t168 -89.5q113 0 165.5 90t52.5 237v21q0 144 -53 235t-167 91 q-113 0 -165.5 -91.5t-52.5 -234.5v-21zM694 1279v204h266v-204h-266z" />
196
- <glyph unicode="&#xf7;" horiz-adv-x="1168" d="M63 573v227h1029v-227h-1029zM432 164v233h293v-233h-293zM432 973v233h293v-233h-293z" />
197
- <glyph unicode="&#xf8;" d="M67 530v21q0 242 135 396.5t374 154.5q50 0 96.5 -8t90.5 -22l70 143h161l-103 -211q95 -74 146 -191.5t51 -261.5v-21q0 -244 -135.5 -397.5t-374.5 -153.5q-48 0 -92 7t-84 19l-71 -146h-161l103 211q-101 71 -153.5 190.5t-52.5 269.5zM358 530q0 -62 8.5 -114 t26.5 -86l6 -1l260 531q-19 8 -39.5 12.5t-43.5 4.5q-113 0 -165.5 -91.5t-52.5 -234.5v-21zM505 215q15 -7 33.5 -9.5t39.5 -2.5q113 0 165.5 90t52.5 237v21q0 54 -8 102t-22 82l-6 1z" />
198
- <glyph unicode="&#xf9;" d="M105 429v653h291v-655q0 -118 40 -169.5t118 -51.5q70 0 120 22.5t82 66.5v787h292v-1082h-249l-26 156q-50 -85 -127 -131t-177 -46q-171 0 -267.5 109.5t-96.5 340.5zM216 1477l2 6h309l197 -266h-237z" />
199
- <glyph unicode="&#xfa;" d="M105 429v653h291v-655q0 -118 40 -169.5t118 -51.5q70 0 120 22.5t82 66.5v787h292v-1082h-249l-26 156q-50 -85 -127 -131t-177 -46q-171 0 -267.5 109.5t-96.5 340.5zM428 1217l199 266h309l2 -6l-277 -260h-233z" />
200
- <glyph unicode="&#xfb;" d="M105 429v653h291v-655q0 -118 40 -169.5t118 -51.5q70 0 120 22.5t82 66.5v787h292v-1082h-249l-26 156q-50 -85 -127 -131t-177 -46q-171 0 -267.5 109.5t-96.5 340.5zM210 1251v26l282 240h169l287 -243v-23h-232l-140 133l-139 -133h-227z" />
201
- <glyph unicode="&#xfc;" d="M105 429v653h291v-655q0 -118 40 -169.5t118 -51.5q70 0 120 22.5t82 66.5v787h292v-1082h-249l-26 156q-50 -85 -127 -131t-177 -46q-171 0 -267.5 109.5t-96.5 340.5zM193 1258v204h266v-204h-266zM693 1258v204h266v-204h-266z" />
202
- <glyph unicode="&#xfd;" horiz-adv-x="1046" d="M5 1082h314l183 -628l12 -60h6l207 688h314l-439 -1244q-46 -116 -125 -195.5t-237 -79.5q-37 0 -68.5 6t-76.5 17l34 213q13 -2 28 -4t27 -2q72 0 111 35.5t60 88.5l34 84zM375 1217l199 266h309l2 -6l-277 -260h-233z" />
203
- <glyph unicode="&#xfe;" horiz-adv-x="1162" d="M121 0v1560h292v-591q47 64 112 98.5t150 34.5q201 0 312 -157t111 -413v-21q0 -240 -111 -386t-310 -146q-85 0 -151 31.5t-113 92.5v-519h-291v416h-1zM413 297q27 -46 73.5 -70t114.5 -24q106 0 155.5 83t49.5 225v21q0 153 -51 248t-156 95q-66 0 -112.5 -27 t-73.5 -77v-474z" />
204
- <glyph unicode="&#xff;" horiz-adv-x="1046" d="M5 1082h314l183 -628l12 -60h6l207 688h314l-439 -1244q-46 -116 -125 -195.5t-237 -79.5q-37 0 -68.5 6t-76.5 17l34 213q13 -2 28 -4t27 -2q72 0 111 35.5t60 88.5l34 84zM142 1258v204h266v-204h-266zM642 1258v204h266v-204h-266z" />
205
- <glyph unicode="&#x152;" horiz-adv-x="1984" d="M97 576v304q0 265 167 431t437 166q69 0 140 -6t150 -15h865v-225h-703v-366h603v-225h-603v-416h705v-224h-867q-92 -10 -156.5 -15.5t-131.5 -5.5q-270 0 -438 165.5t-168 431.5zM388 576q0 -182 83.5 -277t231.5 -95q40 0 79.5 2t78.5 7v1030q-45 4 -83.5 6.5 t-76.5 2.5q-148 0 -230.5 -94.5t-82.5 -275.5v-306z" />
206
- <glyph unicode="&#x153;" horiz-adv-x="1848" d="M67 530v21q0 242 135 396.5t374 154.5q127 0 227 -46.5t167 -129.5q65 84 159.5 130t213.5 46q219 0 340 -132t121 -357v-159h-646l-2 -6q8 -107 71.5 -176t172.5 -69q97 0 161 19.5t140 61.5l79 -180q-66 -54 -173 -89.5t-238 -35.5q-127 0 -228 46t-169 131 q-67 -85 -167 -131t-227 -46q-240 0 -375.5 153.5t-135.5 397.5zM358 530q0 -148 52 -237.5t168 -89.5q113 0 165.5 90t52.5 237v21q0 144 -53 235t-167 91q-113 0 -165.5 -91.5t-52.5 -234.5v-21zM1157 652l3 -5h358v26q0 93 -43.5 148.5t-131.5 55.5q-81 0 -128 -62 t-58 -163z" />
207
- <glyph unicode="&#x178;" horiz-adv-x="1292" d="M5 1456h320l318 -671h6l318 671h320l-500 -944v-512h-291v527zM269 1601v204h266v-204h-266zM769 1601v204h266v-204h-266z" />
208
- <glyph unicode="&#x2c6;" horiz-adv-x="1016" d="M137 1252v26l282 240h169l287 -243v-23h-232l-140 133l-139 -133h-227z" />
209
- <glyph unicode="&#x2dc;" horiz-adv-x="986" d="M119 1272q0 94 59.5 163.5t149.5 69.5q56 0 152 -43.5t148 -43.5q34 0 60 32t26 79l154 -45q0 -96 -59.5 -163.5t-150.5 -67.5q-70 0 -158.5 43.5t-140.5 43.5q-36 0 -60 -32.5t-24 -77.5z" />
210
- <glyph unicode="&#x2000;" horiz-adv-x="967" />
211
- <glyph unicode="&#x2001;" horiz-adv-x="1935" />
212
- <glyph unicode="&#x2002;" horiz-adv-x="967" />
213
- <glyph unicode="&#x2003;" horiz-adv-x="1935" />
214
- <glyph unicode="&#x2004;" horiz-adv-x="645" />
215
- <glyph unicode="&#x2005;" horiz-adv-x="483" />
216
- <glyph unicode="&#x2006;" horiz-adv-x="322" />
217
- <glyph unicode="&#x2007;" horiz-adv-x="322" />
218
- <glyph unicode="&#x2008;" horiz-adv-x="241" />
219
- <glyph unicode="&#x2009;" horiz-adv-x="387" />
220
- <glyph unicode="&#x200a;" horiz-adv-x="107" />
221
- <glyph unicode="&#x2010;" horiz-adv-x="801" d="M113 510v225h564v-225h-564z" />
222
- <glyph unicode="&#x2011;" horiz-adv-x="801" d="M113 510v225h564v-225h-564z" />
223
- <glyph unicode="&#x2012;" horiz-adv-x="801" d="M113 510v225h564v-225h-564z" />
224
- <glyph unicode="&#x2013;" horiz-adv-x="1413" d="M141 601v228h1084v-228h-1084z" />
225
- <glyph unicode="&#x2014;" horiz-adv-x="1670" d="M106 601v228h1334v-228h-1334z" />
226
- <glyph unicode="&#x2018;" horiz-adv-x="405" d="M50 1015v192l162 353h143l-60 -352v-193h-245z" />
227
- <glyph unicode="&#x2019;" horiz-adv-x="405" d="M57 1016l60 349v195h246v-194l-162 -350h-144z" />
228
- <glyph unicode="&#x201a;" horiz-adv-x="406" d="M50 -263l60 266v284h246v-268l-147 -282h-159z" />
229
- <glyph unicode="&#x201c;" horiz-adv-x="742" d="M50 1015v192l162 353h143l-60 -352v-193h-245zM379 1015v192l162 353h143l-60 -352v-193h-245z" />
230
- <glyph unicode="&#x201d;" horiz-adv-x="750" d="M57 1016l60 349v195h246v-194l-162 -350h-144zM394 1016l60 349v195h246v-194l-162 -350h-144z" />
231
- <glyph unicode="&#x201e;" horiz-adv-x="732" d="M50 -225l60 268v255h230v-243l-162 -280h-128zM391 -225l60 276v247h231v-243l-162 -280h-129z" />
232
- <glyph unicode="&#x2022;" horiz-adv-x="737" d="M135 716v90q0 100 65 164t172 64q110 0 175 -63.5t65 -164.5v-90q0 -101 -64.5 -163t-173.5 -62t-174 62.5t-65 162.5z" />
233
- <glyph unicode="&#x2026;" horiz-adv-x="1519" d="M144 0v256h292v-256h-292zM587 0v256h292v-256h-292zM1007 0v256h292v-256h-292z" />
234
- <glyph unicode="&#x202f;" horiz-adv-x="387" />
235
- <glyph unicode="&#x2039;" horiz-adv-x="639" d="M108 541v19l280 390h187l-240 -400l240 -399h-187z" />
236
- <glyph unicode="&#x203a;" horiz-adv-x="619" d="M80 151l239 399l-239 400h188l280 -390v-19l-280 -390h-188z" />
237
- <glyph unicode="&#x205f;" horiz-adv-x="483" />
238
- <glyph unicode="&#x20ac;" horiz-adv-x="1116" d="M71 455v200h146v116h-146v200h146v13q0 203 150.5 348t394.5 145q60 0 117.5 -8t125.5 -23l-21 -229q-53 16 -109.5 25.5t-112.5 9.5q-118 0 -185.5 -80.5t-67.5 -185.5v-15h428v-200h-428v-116h428v-200h-428v-8q0 -99 67.5 -171.5t187.5 -72.5q58 0 113.5 8.5 t106.5 25.5l21 -227q-57 -15 -118 -23t-123 -8q-245 0 -396 137.5t-151 330.5v8h-146z" />
239
- <glyph unicode="&#x2122;" horiz-adv-x="1294" d="M96 1351v105h398v-105h-128v-434h-144v434h-126zM565 915v541h159l119 -362h6l120 362h154v-541h-129v282l-6 1l-105 -283h-73l-110 298l-6 -1v-297h-129z" />
240
- <glyph unicode="&#xe000;" horiz-adv-x="1080" d="M0 0v1080h1080v-1080h-1080z" />
241
- <glyph unicode="&#xfb02;" horiz-adv-x="1279" d="M27 877v205h161v120q0 182 105 280.5t295 98.5q37 0 75.5 -5.5t84.5 -15.5l-25 -217q-24 4 -46.5 7t-52.5 3q-71 0 -107.5 -39t-36.5 -112v-120h215v-205h-215v-877h-292v877h-161zM859 0v1560h292v-1560h-292z" />
242
- <glyph unicode="&#xfb03;" horiz-adv-x="1981" d="M27 877v205h161v120q0 182 105 280.5t295 98.5q37 0 75.5 -5.5t84.5 -15.5l-25 -217q-24 4 -46.5 7t-52.5 3q-71 0 -107.5 -39t-36.5 -112v-120h215v-205h-215v-877h-292v877h-161zM752 877v205h161v74q0 204 124.5 314.5t350.5 110.5q78 0 154 -15.5t176 -44.5l-42 -230 q-73 22 -132.5 34t-136.5 12q-101 0 -151.5 -46t-50.5 -135v-74h213v-205h-213v-877h-292v877h-161zM1561 0v1082h292v-1082h-292z" />
243
- <glyph unicode="&#xfb04;" horiz-adv-x="2011" d="M27 877v205h161v120q0 182 105 280.5t295 98.5q37 0 75.5 -5.5t84.5 -15.5l-25 -217q-24 4 -46.5 7t-52.5 3q-71 0 -107.5 -39t-36.5 -112v-120h215v-205h-215v-877h-292v877h-161zM759 877v205h161v120q0 182 105 280.5t295 98.5q37 0 75.5 -5.5t84.5 -15.5l-25 -217 q-24 4 -46.5 7t-52.5 3q-71 0 -107.5 -39t-36.5 -112v-120h215v-205h-215v-877h-292v877h-161zM1591 0v1560h292v-1560h-292z" />
244
- <hkern u1="&#x22;" u2="w" k="-12" />
245
- <hkern u1="&#x27;" u2="w" k="-12" />
246
- <hkern u1="&#x28;" u2="&#x178;" k="-25" />
247
- <hkern u1="&#x28;" u2="&#xdd;" k="-25" />
248
- <hkern u1="&#x28;" u2="Y" k="-25" />
249
- <hkern u1="&#x28;" u2="W" k="-26" />
250
- <hkern u1="&#x28;" u2="V" k="-23" />
251
- <hkern u1="A" u2="w" k="39" />
252
- <hkern u1="A" u2="t" k="20" />
253
- <hkern u1="A" u2="&#x3f;" k="77" />
254
- <hkern u1="C" u2="&#x29;" k="30" />
255
- <hkern u1="D" u2="&#xc6;" k="61" />
256
- <hkern u1="E" u2="w" k="25" />
257
- <hkern u1="F" u2="&#x2026;" k="325" />
258
- <hkern u1="F" u2="&#x201e;" k="325" />
259
- <hkern u1="F" u2="&#x201a;" k="325" />
260
- <hkern u1="F" u2="&#x153;" k="52" />
261
- <hkern u1="F" u2="&#xff;" k="28" />
262
- <hkern u1="F" u2="&#xfd;" k="28" />
263
- <hkern u1="F" u2="&#xfc;" k="25" />
264
- <hkern u1="F" u2="&#xfb;" k="25" />
265
- <hkern u1="F" u2="&#xfa;" k="25" />
266
- <hkern u1="F" u2="&#xf9;" k="25" />
267
- <hkern u1="F" u2="&#xf6;" k="54" />
268
- <hkern u1="F" u2="&#xf5;" k="54" />
269
- <hkern u1="F" u2="&#xf4;" k="54" />
270
- <hkern u1="F" u2="&#xf3;" k="54" />
271
- <hkern u1="F" u2="&#xf2;" k="54" />
272
- <hkern u1="F" u2="&#xeb;" k="52" />
273
- <hkern u1="F" u2="&#xea;" k="52" />
274
- <hkern u1="F" u2="&#xe9;" k="52" />
275
- <hkern u1="F" u2="&#xe8;" k="52" />
276
- <hkern u1="F" u2="&#xe7;" k="52" />
277
- <hkern u1="F" u2="&#xe5;" k="68" />
278
- <hkern u1="F" u2="&#xe4;" k="68" />
279
- <hkern u1="F" u2="&#xe3;" k="68" />
280
- <hkern u1="F" u2="&#xe2;" k="68" />
281
- <hkern u1="F" u2="&#xe1;" k="68" />
282
- <hkern u1="F" u2="&#xe0;" k="68" />
283
- <hkern u1="F" u2="&#xc5;" k="163" />
284
- <hkern u1="F" u2="&#xc4;" k="163" />
285
- <hkern u1="F" u2="&#xc3;" k="163" />
286
- <hkern u1="F" u2="&#xc2;" k="163" />
287
- <hkern u1="F" u2="&#xc1;" k="163" />
288
- <hkern u1="F" u2="&#xc0;" k="163" />
289
- <hkern u1="F" u2="y" k="28" />
290
- <hkern u1="F" u2="v" k="28" />
291
- <hkern u1="F" u2="u" k="25" />
292
- <hkern u1="F" u2="r" k="30" />
293
- <hkern u1="F" u2="q" k="52" />
294
- <hkern u1="F" u2="o" k="54" />
295
- <hkern u1="F" u2="g" k="52" />
296
- <hkern u1="F" u2="e" k="52" />
297
- <hkern u1="F" u2="d" k="52" />
298
- <hkern u1="F" u2="c" k="52" />
299
- <hkern u1="F" u2="a" k="68" />
300
- <hkern u1="F" u2="T" k="-20" />
301
- <hkern u1="F" u2="A" k="163" />
302
- <hkern u1="F" u2="&#x3a;" k="325" />
303
- <hkern u1="F" u2="&#x2e;" k="325" />
304
- <hkern u1="F" u2="&#x2c;" k="325" />
305
- <hkern u1="K" u2="w" k="74" />
306
- <hkern u1="L" u2="w" k="104" />
307
- <hkern u1="O" u2="&#xc6;" k="61" />
308
- <hkern u1="P" u2="&#xc6;" k="165" />
309
- <hkern u1="P" u2="t" k="-16" />
310
- <hkern u1="Q" u2="&#x178;" k="71" />
311
- <hkern u1="Q" u2="&#xdd;" k="71" />
312
- <hkern u1="Q" u2="Y" k="71" />
313
- <hkern u1="Q" u2="W" k="23" />
314
- <hkern u1="Q" u2="V" k="33" />
315
- <hkern u1="Q" u2="T" k="39" />
316
- <hkern u1="R" u2="&#x178;" k="57" />
317
- <hkern u1="R" u2="&#xdd;" k="57" />
318
- <hkern u1="R" u2="Y" k="57" />
319
- <hkern u1="R" u2="V" k="22" />
320
- <hkern u1="R" u2="T" k="31" />
321
- <hkern u1="T" u2="&#xf8;" k="112" />
322
- <hkern u1="T" u2="&#xe6;" k="99" />
323
- <hkern u1="T" u2="&#xc6;" k="195" />
324
- <hkern u1="T" u2="&#xbb;" k="173" />
325
- <hkern u1="T" u2="&#xab;" k="175" />
326
- <hkern u1="T" u2="w" k="55" />
327
- <hkern u1="T" u2="r" k="77" />
328
- <hkern u1="V" u2="&#x7d;" k="-22" />
329
- <hkern u1="V" u2="r" k="35" />
330
- <hkern u1="V" u2="]" k="-20" />
331
- <hkern u1="V" u2="&#x29;" k="-23" />
332
- <hkern u1="W" u2="&#x7d;" k="-16" />
333
- <hkern u1="W" u2="r" k="24" />
334
- <hkern u1="W" u2="]" k="-14" />
335
- <hkern u1="W" u2="&#x29;" k="-17" />
336
- <hkern u1="Y" u2="&#x2022;" k="105" />
337
- <hkern u1="Y" u2="&#xf8;" k="91" />
338
- <hkern u1="Y" u2="&#xe6;" k="89" />
339
- <hkern u1="Y" u2="&#xc6;" k="136" />
340
- <hkern u1="Y" u2="&#xbb;" k="60" />
341
- <hkern u1="Y" u2="&#xab;" k="119" />
342
- <hkern u1="Y" u2="&#x7d;" k="-22" />
343
- <hkern u1="Y" u2="t" k="33" />
344
- <hkern u1="Y" u2="r" k="62" />
345
- <hkern u1="Y" u2="f" k="40" />
346
- <hkern u1="Y" u2="]" k="-21" />
347
- <hkern u1="Y" u2="&#x2a;" k="88" />
348
- <hkern u1="Y" u2="&#x29;" k="-23" />
349
- <hkern u1="Y" u2="&#x26;" k="57" />
350
- <hkern u1="Z" u2="w" k="31" />
351
- <hkern u1="[" u2="&#xdc;" k="21" />
352
- <hkern u1="[" u2="&#xdb;" k="21" />
353
- <hkern u1="[" u2="&#xda;" k="21" />
354
- <hkern u1="[" u2="&#xd9;" k="21" />
355
- <hkern u1="[" u2="U" k="21" />
356
- <hkern u1="[" u2="J" k="21" />
357
- <hkern u1="f" u2="&#x201d;" k="-34" />
358
- <hkern u1="f" u2="&#x201c;" k="-34" />
359
- <hkern u1="f" u2="&#x2019;" k="-34" />
360
- <hkern u1="f" u2="&#x2018;" k="-34" />
361
- <hkern u1="f" u2="&#x7d;" k="-37" />
362
- <hkern u1="f" u2="]" k="-66" />
363
- <hkern u1="f" u2="&#x29;" k="-53" />
364
- <hkern u1="f" u2="&#x27;" k="-34" />
365
- <hkern u1="f" u2="&#x22;" k="-34" />
366
- <hkern u1="k" u2="&#x153;" k="23" />
367
- <hkern u1="k" u2="&#xeb;" k="23" />
368
- <hkern u1="k" u2="&#xea;" k="23" />
369
- <hkern u1="k" u2="&#xe9;" k="23" />
370
- <hkern u1="k" u2="&#xe8;" k="23" />
371
- <hkern u1="k" u2="&#xe7;" k="23" />
372
- <hkern u1="k" u2="q" k="23" />
373
- <hkern u1="k" u2="g" k="23" />
374
- <hkern u1="k" u2="e" k="23" />
375
- <hkern u1="k" u2="d" k="23" />
376
- <hkern u1="k" u2="c" k="23" />
377
- <hkern u1="r" u2="w" k="-27" />
378
- <hkern u1="r" u2="t" k="-27" />
379
- <hkern u1="r" u2="f" k="-24" />
380
- <hkern u1="v" u2="f" k="-15" />
381
- <hkern u1="w" u2="&#x2026;" k="72" />
382
- <hkern u1="w" u2="&#x201e;" k="72" />
383
- <hkern u1="w" u2="&#x201a;" k="72" />
384
- <hkern u1="w" u2="&#x3a;" k="72" />
385
- <hkern u1="w" u2="&#x2e;" k="72" />
386
- <hkern u1="w" u2="&#x2c;" k="72" />
387
- <hkern u1="y" u2="f" k="-15" />
388
- <hkern u1="&#x7b;" u2="&#xdc;" k="23" />
389
- <hkern u1="&#x7b;" u2="&#xdb;" k="23" />
390
- <hkern u1="&#x7b;" u2="&#xda;" k="23" />
391
- <hkern u1="&#x7b;" u2="&#xd9;" k="23" />
392
- <hkern u1="&#x7b;" u2="U" k="23" />
393
- <hkern u1="&#x7b;" u2="J" k="23" />
394
- <hkern u1="&#xc0;" u2="w" k="39" />
395
- <hkern u1="&#xc0;" u2="t" k="20" />
396
- <hkern u1="&#xc0;" u2="&#x3f;" k="77" />
397
- <hkern u1="&#xc1;" u2="w" k="39" />
398
- <hkern u1="&#xc1;" u2="t" k="20" />
399
- <hkern u1="&#xc1;" u2="&#x3f;" k="77" />
400
- <hkern u1="&#xc2;" u2="w" k="39" />
401
- <hkern u1="&#xc2;" u2="t" k="20" />
402
- <hkern u1="&#xc2;" u2="&#x3f;" k="77" />
403
- <hkern u1="&#xc3;" u2="w" k="39" />
404
- <hkern u1="&#xc3;" u2="t" k="20" />
405
- <hkern u1="&#xc3;" u2="&#x3f;" k="77" />
406
- <hkern u1="&#xc4;" u2="w" k="39" />
407
- <hkern u1="&#xc4;" u2="t" k="20" />
408
- <hkern u1="&#xc4;" u2="&#x3f;" k="77" />
409
- <hkern u1="&#xc5;" u2="w" k="39" />
410
- <hkern u1="&#xc5;" u2="t" k="20" />
411
- <hkern u1="&#xc5;" u2="&#x3f;" k="77" />
412
- <hkern u1="&#xc7;" u2="&#x29;" k="30" />
413
- <hkern u1="&#xc8;" u2="w" k="25" />
414
- <hkern u1="&#xc9;" u2="w" k="25" />
415
- <hkern u1="&#xca;" u2="w" k="25" />
416
- <hkern u1="&#xcb;" u2="w" k="25" />
417
- <hkern u1="&#xd0;" u2="&#xc6;" k="61" />
418
- <hkern u1="&#xd2;" u2="&#xc6;" k="61" />
419
- <hkern u1="&#xd3;" u2="&#xc6;" k="61" />
420
- <hkern u1="&#xd4;" u2="&#xc6;" k="61" />
421
- <hkern u1="&#xd5;" u2="&#xc6;" k="61" />
422
- <hkern u1="&#xd6;" u2="&#xc6;" k="61" />
423
- <hkern u1="&#xdd;" u2="&#x2022;" k="105" />
424
- <hkern u1="&#xdd;" u2="&#xf8;" k="91" />
425
- <hkern u1="&#xdd;" u2="&#xe6;" k="89" />
426
- <hkern u1="&#xdd;" u2="&#xc6;" k="136" />
427
- <hkern u1="&#xdd;" u2="&#xbb;" k="60" />
428
- <hkern u1="&#xdd;" u2="&#xab;" k="119" />
429
- <hkern u1="&#xdd;" u2="&#x7d;" k="-22" />
430
- <hkern u1="&#xdd;" u2="t" k="33" />
431
- <hkern u1="&#xdd;" u2="r" k="62" />
432
- <hkern u1="&#xdd;" u2="f" k="40" />
433
- <hkern u1="&#xdd;" u2="]" k="-21" />
434
- <hkern u1="&#xdd;" u2="&#x2a;" k="88" />
435
- <hkern u1="&#xdd;" u2="&#x29;" k="-23" />
436
- <hkern u1="&#xdd;" u2="&#x26;" k="57" />
437
- <hkern u1="&#xfd;" u2="f" k="-15" />
438
- <hkern u1="&#xff;" u2="f" k="-15" />
439
- <hkern u1="&#x178;" u2="&#x2022;" k="105" />
440
- <hkern u1="&#x178;" u2="&#xf8;" k="91" />
441
- <hkern u1="&#x178;" u2="&#xe6;" k="89" />
442
- <hkern u1="&#x178;" u2="&#xc6;" k="136" />
443
- <hkern u1="&#x178;" u2="&#xbb;" k="60" />
444
- <hkern u1="&#x178;" u2="&#xab;" k="119" />
445
- <hkern u1="&#x178;" u2="&#x7d;" k="-22" />
446
- <hkern u1="&#x178;" u2="t" k="33" />
447
- <hkern u1="&#x178;" u2="r" k="62" />
448
- <hkern u1="&#x178;" u2="f" k="40" />
449
- <hkern u1="&#x178;" u2="]" k="-21" />
450
- <hkern u1="&#x178;" u2="&#x2a;" k="88" />
451
- <hkern u1="&#x178;" u2="&#x29;" k="-23" />
452
- <hkern u1="&#x178;" u2="&#x26;" k="57" />
453
- <hkern u1="&#x2018;" u2="w" k="-12" />
454
- <hkern u1="&#x2019;" u2="w" k="-12" />
455
- <hkern u1="&#x201c;" u2="w" k="-12" />
456
- <hkern u1="&#x201d;" u2="w" k="-12" />
457
- <hkern g1="comma,period,colon,quotesinglbase,quotedblbase,ellipsis" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="285" />
458
- <hkern g1="B" g2="T" k="31" />
459
- <hkern g1="B" g2="V" k="28" />
460
- <hkern g1="B" g2="Y,Yacute,Ydieresis" k="130" />
461
- <hkern g1="C,Ccedilla" g2="T" k="34" />
462
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="24" />
463
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="T" k="31" />
464
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="V" k="25" />
465
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="Y,Yacute,Ydieresis" k="50" />
466
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="comma,period,colon,quotesinglbase,quotedblbase,ellipsis" k="88" />
467
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="X" k="25" />
468
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="Z" k="26" />
469
- <hkern g1="E,Egrave,Eacute,Ecircumflex,Edieresis" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="13" />
470
- <hkern g1="E,Egrave,Eacute,Ecircumflex,Edieresis" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="22" />
471
- <hkern g1="E,Egrave,Eacute,Ecircumflex,Edieresis" g2="T" k="-20" />
472
- <hkern g1="E,Egrave,Eacute,Ecircumflex,Edieresis" g2="u,ugrave,uacute,ucircumflex,udieresis" k="20" />
473
- <hkern g1="E,Egrave,Eacute,Ecircumflex,Edieresis" g2="v,y,yacute,ydieresis" k="30" />
474
- <hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="25" />
475
- <hkern g1="K" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="30" />
476
- <hkern g1="K" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="31" />
477
- <hkern g1="K" g2="u,ugrave,uacute,ucircumflex,udieresis" k="26" />
478
- <hkern g1="K" g2="v,y,yacute,ydieresis" k="47" />
479
- <hkern g1="K" g2="hyphen,uni00AD,endash,emdash" k="168" />
480
- <hkern g1="K" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="58" />
481
- <hkern g1="L" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="298" />
482
- <hkern g1="L" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-22" />
483
- <hkern g1="L" g2="T" k="213" />
484
- <hkern g1="L" g2="V" k="215" />
485
- <hkern g1="L" g2="Y,Yacute,Ydieresis" k="267" />
486
- <hkern g1="L" g2="u,ugrave,uacute,ucircumflex,udieresis" k="16" />
487
- <hkern g1="L" g2="v,y,yacute,ydieresis" k="140" />
488
- <hkern g1="L" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="59" />
489
- <hkern g1="L" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="28" />
490
- <hkern g1="L" g2="W" k="117" />
491
- <hkern g1="P" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="168" />
492
- <hkern g1="P" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring" k="12" />
493
- <hkern g1="P" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="15" />
494
- <hkern g1="P" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="15" />
495
- <hkern g1="P" g2="comma,period,colon,quotesinglbase,quotedblbase,ellipsis" k="382" />
496
- <hkern g1="P" g2="X" k="77" />
497
- <hkern g1="P" g2="Z" k="39" />
498
- <hkern g1="P" g2="v,y,yacute,ydieresis" k="-17" />
499
- <hkern g1="T" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="100" />
500
- <hkern g1="T" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring" k="98" />
501
- <hkern g1="T" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="105" />
502
- <hkern g1="T" g2="m,n,p,ntilde" k="83" />
503
- <hkern g1="T" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="93" />
504
- <hkern g1="T" g2="s" k="90" />
505
- <hkern g1="T" g2="T" k="-19" />
506
- <hkern g1="T" g2="V" k="-19" />
507
- <hkern g1="T" g2="Y,Yacute,Ydieresis" k="-19" />
508
- <hkern g1="T" g2="comma,period,colon,quotesinglbase,quotedblbase,ellipsis" k="203" />
509
- <hkern g1="T" g2="u,ugrave,uacute,ucircumflex,udieresis" k="77" />
510
- <hkern g1="T" g2="v,y,yacute,ydieresis" k="97" />
511
- <hkern g1="T" g2="hyphen,uni00AD,endash,emdash" k="200" />
512
- <hkern g1="T" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="33" />
513
- <hkern g1="T" g2="W" k="-17" />
514
- <hkern g1="T" g2="S" k="19" />
515
- <hkern g1="T" g2="x" k="91" />
516
- <hkern g1="T" g2="z" k="71" />
517
- <hkern g1="V" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="141" />
518
- <hkern g1="V" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring" k="54" />
519
- <hkern g1="V" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="52" />
520
- <hkern g1="V" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="54" />
521
- <hkern g1="V" g2="comma,period,colon,quotesinglbase,quotedblbase,ellipsis" k="215" />
522
- <hkern g1="V" g2="u,ugrave,uacute,ucircumflex,udieresis" k="33" />
523
- <hkern g1="V" g2="v,y,yacute,ydieresis" k="12" />
524
- <hkern g1="V" g2="hyphen,uni00AD,endash,emdash" k="73" />
525
- <hkern g1="V" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="30" />
526
- <hkern g1="W" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="73" />
527
- <hkern g1="W" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring" k="39" />
528
- <hkern g1="W" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="36" />
529
- <hkern g1="W" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="36" />
530
- <hkern g1="W" g2="T" k="-16" />
531
- <hkern g1="W" g2="comma,period,colon,quotesinglbase,quotedblbase,ellipsis" k="169" />
532
- <hkern g1="W" g2="u,ugrave,uacute,ucircumflex,udieresis" k="22" />
533
- <hkern g1="W" g2="hyphen,uni00AD,endash,emdash" k="101" />
534
- <hkern g1="X" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="30" />
535
- <hkern g1="X" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="32" />
536
- <hkern g1="X" g2="V" k="-16" />
537
- <hkern g1="X" g2="u,ugrave,uacute,ucircumflex,udieresis" k="24" />
538
- <hkern g1="X" g2="v,y,yacute,ydieresis" k="51" />
539
- <hkern g1="X" g2="hyphen,uni00AD,endash,emdash" k="186" />
540
- <hkern g1="X" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="37" />
541
- <hkern g1="Y,Yacute,Ydieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="159" />
542
- <hkern g1="Y,Yacute,Ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring" k="96" />
543
- <hkern g1="Y,Yacute,Ydieresis" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="129" />
544
- <hkern g1="Y,Yacute,Ydieresis" g2="m,n,p,ntilde" k="77" />
545
- <hkern g1="Y,Yacute,Ydieresis" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="144" />
546
- <hkern g1="Y,Yacute,Ydieresis" g2="s" k="121" />
547
- <hkern g1="Y,Yacute,Ydieresis" g2="T" k="-20" />
548
- <hkern g1="Y,Yacute,Ydieresis" g2="V" k="-21" />
549
- <hkern g1="Y,Yacute,Ydieresis" g2="Y,Yacute,Ydieresis" k="-21" />
550
- <hkern g1="Y,Yacute,Ydieresis" g2="comma,period,colon,quotesinglbase,quotedblbase,ellipsis" k="247" />
551
- <hkern g1="Y,Yacute,Ydieresis" g2="u,ugrave,uacute,ucircumflex,udieresis" k="75" />
552
- <hkern g1="Y,Yacute,Ydieresis" g2="v,y,yacute,ydieresis" k="23" />
553
- <hkern g1="Y,Yacute,Ydieresis" g2="hyphen,uni00AD,endash,emdash" k="131" />
554
- <hkern g1="Y,Yacute,Ydieresis" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="34" />
555
- <hkern g1="Y,Yacute,Ydieresis" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="61" />
556
- <hkern g1="Y,Yacute,Ydieresis" g2="W" k="-20" />
557
- <hkern g1="Y,Yacute,Ydieresis" g2="S" k="19" />
558
- <hkern g1="Y,Yacute,Ydieresis" g2="x" k="34" />
559
- <hkern g1="Y,Yacute,Ydieresis" g2="z" k="42" />
560
- <hkern g1="Y,Yacute,Ydieresis" g2="J" k="159" />
561
- <hkern g1="Z" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-15" />
562
- <hkern g1="Z" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="24" />
563
- <hkern g1="Z" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="24" />
564
- <hkern g1="Z" g2="u,ugrave,uacute,ucircumflex,udieresis" k="22" />
565
- <hkern g1="Z" g2="v,y,yacute,ydieresis" k="31" />
566
- <hkern g1="Z" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="30" />
567
- <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="50" />
568
- <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="v,y,yacute,ydieresis" k="17" />
569
- <hkern g1="b,p,thorn" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="49" />
570
- <hkern g1="b,p,thorn" g2="v,y,yacute,ydieresis" k="12" />
571
- <hkern g1="b,p,thorn" g2="x" k="17" />
572
- <hkern g1="b,p,thorn" g2="z" k="17" />
573
- <hkern g1="c,ccedilla" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="42" />
574
- <hkern g1="e,egrave,eacute,ecircumflex,edieresis" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="38" />
575
- <hkern g1="e,egrave,eacute,ecircumflex,edieresis" g2="v,y,yacute,ydieresis" k="15" />
576
- <hkern g1="h,m,n,ntilde" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="56" />
577
- <hkern g1="o,ograve,oacute,ocircumflex,otilde,odieresis" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="61" />
578
- <hkern g1="o,ograve,oacute,ocircumflex,otilde,odieresis" g2="v,y,yacute,ydieresis" k="17" />
579
- <hkern g1="o,ograve,oacute,ocircumflex,otilde,odieresis" g2="x" k="32" />
580
- <hkern g1="o,ograve,oacute,ocircumflex,otilde,odieresis" g2="z" k="19" />
581
- <hkern g1="r" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="-19" />
582
- <hkern g1="r" g2="comma,period,colon,quotesinglbase,quotedblbase,ellipsis" k="146" />
583
- <hkern g1="r" g2="v,y,yacute,ydieresis" k="-28" />
584
- <hkern g1="v,y,yacute,ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring" k="17" />
585
- <hkern g1="v,y,yacute,ydieresis" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="15" />
586
- <hkern g1="v,y,yacute,ydieresis" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="17" />
587
- <hkern g1="v,y,yacute,ydieresis" g2="comma,period,colon,quotesinglbase,quotedblbase,ellipsis" k="140" />
588
- <hkern g1="x" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="23" />
589
- <hkern g1="x" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="28" />
590
- <hkern g1="z" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="19" />
591
- <hkern g1="z" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="19" />
592
- </font>
593
- </defs></svg>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/font/roboto/Roboto-Bold-webfont.ttf DELETED
Binary file
admin/font/roboto/Roboto-Bold-webfont.woff DELETED
Binary file
admin/font/roboto/Roboto-Light-webfont.eot DELETED
Binary file
admin/font/roboto/Roboto-Light-webfont.svg DELETED
@@ -1,641 +0,0 @@
1
- <?xml version="1.0" standalone="no"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
- <svg xmlns="http://www.w3.org/2000/svg">
4
- <metadata></metadata>
5
- <defs>
6
- <font id="robotolight" horiz-adv-x="1140" >
7
- <font-face units-per-em="2048" ascent="1638" descent="-410" />
8
- <missing-glyph horiz-adv-x="498" />
9
- <glyph unicode="&#xfb01;" horiz-adv-x="1100" d="M48 984v98h180v138q0 172 95 266.5t264 94.5q67 0 136 -15t140 -44l-20 -103q-61 25 -118 39t-130 14q-122 0 -184.5 -65t-62.5 -187v-138h253v-98h-253v-984h-120v984h-180zM808 0v1082h120v-1082h-120z" />
10
- <glyph horiz-adv-x="2048" />
11
- <glyph horiz-adv-x="2048" />
12
- <glyph unicode="&#xd;" horiz-adv-x="498" />
13
- <glyph unicode=" " horiz-adv-x="498" />
14
- <glyph unicode="&#x09;" horiz-adv-x="498" />
15
- <glyph unicode="&#xa0;" horiz-adv-x="498" />
16
- <glyph unicode="!" horiz-adv-x="462" d="M158 0v167h142v-167h-142zM169 478v978h119v-978h-119z" />
17
- <glyph unicode="&#x22;" horiz-adv-x="588" d="M127 1083l3 255v222h102v-216l-33 -261h-72zM366 1083l4 258v219h101v-216l-33 -261h-72z" />
18
- <glyph unicode="#" horiz-adv-x="1270" d="M67 410v93h272l83 441h-279v96h297l79 416h100l-79 -416h314l79 416h100l-79 -416h229v-96h-247l-83 -441h255v-93h-273l-77 -410h-100l77 410h-313l-77 -410h-100l77 410h-255zM439 503h314l83 441h-314z" />
19
- <glyph unicode="$" horiz-adv-x="1135" d="M120 412l3 6h112q0 -177 101 -255t244 -78q148 0 234.5 77.5t86.5 196.5q0 110 -72 180t-254 135q-208 66 -308 159t-100 262q0 162 100 264t272 116v202h102v-202q175 -16 271 -131t94 -311l-3 -5h-112q0 152 -80 247t-224 95q-148 0 -224.5 -77.5t-76.5 -195.5 q0 -114 68 -183.5t261 -133.5q207 -69 306.5 -160.5t99.5 -258.5q0 -166 -104 -265.5t-280 -113.5v-190h-101v189q-181 11 -300.5 115.5t-115.5 315.5z" />
20
- <glyph unicode="%" horiz-adv-x="1514" d="M110 1099v77q0 127 78.5 214t206.5 87q127 0 205.5 -87t78.5 -214v-77q0 -126 -78 -212.5t-204 -86.5q-129 0 -208 86.5t-79 212.5zM206 1099q0 -88 49.5 -150t141.5 -62q89 0 137.5 62t48.5 150v77q0 88 -49 151t-139 63t-139.5 -63t-49.5 -151v-77zM386 169l711 1138 l74 -48l-711 -1138zM842 278v78q0 126 78.5 213t206.5 87q127 0 206 -87t79 -213v-78q0 -126 -78.5 -212.5t-204.5 -86.5q-129 0 -208 86.5t-79 212.5zM939 278q0 -88 49 -150t141 -62q89 0 137.5 62t48.5 150v78q0 91 -49 152t-139 61t-139 -61.5t-49 -151.5v-78z" />
21
- <glyph unicode="&#x26;" horiz-adv-x="1260" d="M91 371q0 120 72.5 216.5t209.5 196.5l15 11q-81 100 -120 182.5t-39 169.5q0 158 89 244t244 86q144 0 228.5 -81t84.5 -204q0 -90 -45 -155t-130 -130l-159 -122l412 -481q49 71 76 159t27 188h110q0 -128 -36.5 -235.5t-105.5 -194.5l185 -216l-2 -5h-137l-122 141 q-85 -78 -186 -120t-218 -42q-209 0 -331 107t-122 285zM211 371q0 -124 85.5 -207.5t247.5 -83.5q92 0 179.5 36t157.5 103l-414 482l-8.5 8.5t-5.5 7.5l-47 -36q-116 -94 -155.5 -170t-39.5 -140zM349 1149q0 -66 31.5 -137t96.5 -151l177 132q58 45 82.5 94t24.5 105 q0 79 -52.5 131t-146.5 52q-102 0 -157.5 -65t-55.5 -161z" />
22
- <glyph unicode="'" horiz-adv-x="348" d="M116 1090l8 266v204h102v-195l-38 -275h-72z" />
23
- <glyph unicode="(" horiz-adv-x="640" d="M140 573v15q0 363 139 651t310 386l6 -1l26 -73q-145 -103 -253 -366t-108 -594v-20q0 -331 108 -594t253 -370l-26 -70h-6q-173 100 -311 382t-138 654z" />
24
- <glyph unicode=")" horiz-adv-x="652" d="M18 -393q144 102 252.5 367t108.5 597v20q0 329 -110.5 595.5t-250.5 368.5l26 70h6q170 -98 309 -386t139 -651v-15q0 -372 -138 -654t-310 -382h-6z" />
25
- <glyph unicode="*" horiz-adv-x="869" d="M29 1108l32 101l332 -123l-4 370h104l-8 -373l324 127l33 -101l-333 -115l223 -294l-85 -63l-214 305l-204 -303l-85 61l217 300z" />
26
- <glyph unicode="+" horiz-adv-x="1156" d="M75 628v112h434v466h121v-466h443v-112h-443v-482h-121v482h-434z" />
27
- <glyph unicode="," horiz-adv-x="392" d="M83 -258l69 279v167h119v-170l-106 -276h-82z" />
28
- <glyph unicode="-" horiz-adv-x="586" d="M49 570v101h479v-101h-479z" />
29
- <glyph unicode="." horiz-adv-x="489" d="M167 0v164h137v-164h-137z" />
30
- <glyph unicode="/" horiz-adv-x="813" d="M30 -125l608 1581h108l-607 -1581h-109z" />
31
- <glyph unicode="0" horiz-adv-x="1194" d="M135 565v325q0 281 122 434t339 153t340 -153t123 -434v-325q0 -282 -122 -434t-339 -152q-216 0 -339.5 152.5t-123.5 433.5zM255 547q0 -222 88.5 -344.5t254.5 -122.5t253.5 122t87.5 345v363q0 224 -88 344.5t-255 120.5t-254 -120.5t-87 -344.5v-363z" />
32
- <glyph unicode="1" horiz-adv-x="1135" d="M188 1288v84l490 88v-1467h-120v1338z" />
33
- <glyph unicode="2" horiz-adv-x="1135" d="M111 1043q-5 182 118 308t333 126q188 0 301 -108t113 -290q0 -120 -75.5 -243.5t-210.5 -275.5l-401 -454l2 -5h750v-101h-904v92l477 541q132 149 186.5 249.5t54.5 192.5q0 136 -76.5 218t-216.5 82q-166 0 -252 -92t-86 -246h-111z" />
34
- <glyph unicode="3" horiz-adv-x="1135" d="M104 389l2 6h112q0 -139 96.5 -227t249.5 -88q155 0 242 80.5t87 230.5q0 153 -91 226.5t-260 73.5h-139v102h139q159 0 241 79.5t82 204.5q0 136 -77 217t-229 81q-140 0 -229.5 -82.5t-89.5 -217.5h-112l-2 6q-5 170 119 283t314 113q195 0 310.5 -107t115.5 -297 q0 -103 -64 -193.5t-180 -134.5q136 -39 203.5 -131.5t67.5 -218.5q0 -194 -125.5 -305t-322.5 -111q-191 0 -328 108.5t-132 301.5z" />
35
- <glyph unicode="4" horiz-adv-x="1135" d="M69 368v68l671 1020h131v-987h228v-101h-228v-368h-119v368h-683zM211 469h541v830l-6 2l-51 -109z" />
36
- <glyph unicode="5" horiz-adv-x="1135" d="M174 377l2 6h107q0 -147 83.5 -225t222.5 -78q162 0 242.5 98t80.5 284q0 163 -80.5 261.5t-225.5 98.5q-140 0 -213.5 -44.5t-106.5 -134.5l-97 16l81 797h707v-111h-605l-54 -519q55 50 121 77t179 30q186 3 300 -125t114 -344q0 -221 -110.5 -353t-332.5 -132 q-180 0 -300 100.5t-115 297.5z" />
37
- <glyph unicode="6" horiz-adv-x="1135" d="M152 540v367q0 252 143 411t352 159q75 0 148 -17t130 -49l-31 -98q-57 32 -113 47t-134 15q-162 0 -268.5 -126t-106.5 -331v-129q60 78 153 125t206 47q196 0 310 -135t114 -352q0 -215 -122.5 -355t-318.5 -140q-201 0 -331.5 150t-130.5 411zM272 531q0 -209 96 -330 t246 -121q146 0 233.5 114.5t87.5 279.5q0 175 -85 282t-243 107q-121 0 -211.5 -63t-123.5 -162v-107z" />
38
- <glyph unicode="7" horiz-adv-x="1135" d="M77 1354v102h955v-102q-236 -280 -361 -568.5t-167 -663.5l-11 -122h-120l11 122q42 370 174 669.5t350 562.5h-831z" />
39
- <glyph unicode="8" horiz-adv-x="1135" d="M100 386q0 129 79 224.5t212 136.5q-115 40 -182.5 128t-67.5 206q0 188 118.5 292t307.5 104q188 0 308.5 -104.5t120.5 -291.5q0 -118 -69 -206.5t-184 -128.5q133 -41 213.5 -136.5t80.5 -223.5q0 -196 -131 -301.5t-337 -105.5q-210 0 -339.5 105t-129.5 302z M219 385q0 -143 97 -224t253 -81q152 0 250 81.5t98 223.5q0 138 -100 224.5t-250 86.5q-152 0 -250 -86.5t-98 -224.5zM260 1082q0 -129 86.5 -206.5t222.5 -77.5q133 0 220 77.5t87 206.5q0 126 -88.5 209.5t-220.5 83.5q-135 0 -221 -80t-86 -213z" />
40
- <glyph unicode="9" horiz-adv-x="1135" d="M89 958q0 221 127.5 370t315.5 149q211 0 338 -137.5t127 -399.5v-429q0 -253 -134 -392.5t-352 -139.5q-78 0 -156.5 15t-149.5 46l22 100q68 -32 134.5 -46t149.5 -14q166 0 264 111t98 318v146q-53 -92 -142.5 -142t-199.5 -50q-199 0 -320.5 138t-121.5 357zM213 958 q0 -168 86 -281t232 -113q130 0 217.5 66.5t124.5 164.5v154q0 207 -90.5 316.5t-245.5 109.5q-141 0 -232.5 -122t-91.5 -295z" />
41
- <glyph unicode=":" horiz-adv-x="434" d="M154 0v164h137v-164h-137zM154 916v164h137v-164h-137z" />
42
- <glyph unicode=";" horiz-adv-x="438" d="M106 -258l69 279v167h119v-170l-106 -276h-82zM158 918v164h137v-164h-137z" />
43
- <glyph unicode="&#x3c;" horiz-adv-x="1047" d="M77 501v97l827 378v-126l-614 -272l-108 -28v-6l108 -28l614 -268v-126z" />
44
- <glyph unicode="=" horiz-adv-x="1147" d="M149 422v106h834v-106h-834zM149 833v106h834v-106h-834z" />
45
- <glyph unicode="&#x3e;" horiz-adv-x="1061" d="M124 122v124l632 274l108 27v6l-108 29l-632 271v123l845 -378v-97z" />
46
- <glyph unicode="?" horiz-adv-x="930" d="M81 1122q-3 165 104 260t273 95q179 0 280.5 -101t101.5 -273q0 -135 -66.5 -239.5t-188.5 -218.5q-62 -53 -75.5 -99t-13.5 -142h-119q1 131 22 182.5t114 136.5q108 112 157.5 187.5t49.5 191.5q0 128 -68 198t-194 70q-118 0 -190 -68.5t-73 -185.5h-112zM373 0v154 h139v-154h-139z" />
47
- <glyph unicode="@" horiz-adv-x="1870" d="M122 478q18 424 252.5 683t609.5 259q391 0 587.5 -241.5t179.5 -665.5q-10 -216 -117 -375t-313 -159q-78 0 -130.5 51t-69.5 142q-53 -96 -131 -144.5t-180 -48.5q-131 0 -199 120t-49 317q23 254 141 407.5t286 153.5q94 0 151 -26.5t126 -81.5l-2 -2h3l-50 -574 q-10 -132 30 -180t95 -48q142 0 224.5 124.5t93.5 323.5q18 389 -150 604.5t-530 215.5q-323 0 -533 -235.5t-227 -619.5q-19 -379 163.5 -612.5t519.5 -233.5q88 0 178 22t152 57l31 -75q-64 -41 -167 -65t-198 -24q-380 0 -588 249.5t-189 681.5zM672 416 q-16 -155 26 -247t138 -92q86 0 156.5 43t122.5 157v8.5t1 7.5l47 544q-32 23 -71 36t-87 13q-134 0 -222 -119t-111 -351z" />
48
- <glyph unicode="A" horiz-adv-x="1279" d="M32 0l553 1456h113l549 -1456h-124l-150 406h-667l-150 -406h-124zM346 513h588l-290 788h-6z" />
49
- <glyph unicode="B" horiz-adv-x="1269" d="M191 0v1456h425q227 0 353.5 -95.5t126.5 -287.5q0 -112 -63.5 -195t-172.5 -115q133 -24 216 -125t83 -233q0 -195 -126.5 -300t-338.5 -105h-503zM310 101h384q161 0 253 79.5t92 222.5q0 131 -83.5 215t-242.5 84h-403v-601zM310 803h335q158 0 244.5 69.5t86.5 204.5 q0 138 -92 207.5t-268 69.5h-306v-551z" />
50
- <glyph unicode="C" horiz-adv-x="1313" d="M132 609v237q0 278 149 454.5t392 176.5q232 0 368 -123t155 -346l-2 -6h-112q-24 181 -124.5 277t-284.5 96q-191 0 -306.5 -148t-115.5 -379v-239q0 -234 115.5 -381.5t306.5 -147.5q184 0 285 94t124 281h112l2 -6q-19 -219 -156 -344.5t-367 -125.5 q-243 0 -392 175.5t-149 454.5z" />
51
- <glyph unicode="D" horiz-adv-x="1344" d="M191 0v1456h423q267 0 441 -178t174 -457v-187q0 -280 -174 -457t-441 -177h-423zM310 101h304q216 0 355.5 151t139.5 382v190q0 228 -140 379t-355 151h-304v-1253z" />
52
- <glyph unicode="E" horiz-adv-x="1180" d="M191 0v1456h917v-102h-798v-547h701v-102h-701v-604h803v-101h-922z" />
53
- <glyph unicode="F" horiz-adv-x="1181" d="M191 0v1456h929v-102h-810v-569h708v-103h-708v-682h-119z" />
54
- <glyph unicode="G" horiz-adv-x="1401" d="M146 600v267q0 270 154.5 440t400.5 170q235 0 367.5 -117.5t153.5 -305.5l-2 -6h-111q-26 146 -123 236.5t-285 90.5q-196 0 -315.5 -142t-119.5 -364v-269q0 -228 127 -374t332 -146q145 0 246.5 40.5t138.5 88.5v380h-387v102h507v-518q-49 -71 -178.5 -132.5 t-326.5 -61.5q-254 0 -416.5 173t-162.5 448z" />
55
- <glyph unicode="H" horiz-adv-x="1448" d="M191 0v1456h119v-684h828v684h119v-1456h-119v670h-828v-670h-119z" />
56
- <glyph unicode="I" horiz-adv-x="554" d="M217 0v1456h120v-1456h-120z" />
57
- <glyph unicode="J" horiz-adv-x="1127" d="M82 395l2 6h112q0 -158 84 -239.5t240 -81.5q133 0 219 90.5t86 242.5v1043h120v-1043q0 -199 -118.5 -316.5t-306.5 -117.5q-205 0 -324 106q-114 102 -114 294v16z" />
58
- <glyph unicode="K" horiz-adv-x="1308" d="M191 0v1456h119v-670h199l573 670h135l2 -5l-602 -711l645 -735l-2 -5h-142l-608 685h-200v-685h-119z" />
59
- <glyph unicode="L" horiz-adv-x="1079" d="M191 0v1456h120v-1355h720v-101h-840z" />
60
- <glyph unicode="M" horiz-adv-x="1775" d="M191 0v1456h157l535 -1282h6l537 1282h158v-1456h-119v643l10 637l-6 2l-541 -1282h-83l-540 1276l-6 -1l11 -632v-643h-119z" />
61
- <glyph unicode="N" horiz-adv-x="1454" d="M191 0v1456h120l827 -1250l6 1v1249h119v-1456h-119l-827 1252l-6 -1v-1251h-120z" />
62
- <glyph unicode="O" horiz-adv-x="1378" d="M124 609v237q0 281 152 456t408 175q260 0 415 -175t155 -456v-237q0 -282 -154.5 -456t-414.5 -174q-256 0 -408.5 174t-152.5 456zM244 609q0 -238 116.5 -382t324.5 -144q213 0 331.5 143.5t118.5 382.5v239q0 236 -119.5 380t-331.5 144q-208 0 -324 -144t-116 -380 v-239z" />
63
- <glyph unicode="P" horiz-adv-x="1267" d="M191 0v1456h501q229 0 354.5 -116.5t125.5 -308.5q0 -194 -125.5 -310t-354.5 -116h-382v-605h-119zM310 707h382q180 0 270.5 91.5t90.5 230.5q0 140 -90 232.5t-271 92.5h-382v-647z" />
64
- <glyph unicode="Q" horiz-adv-x="1379" d="M124 609v237q0 281 152 456t408 175q260 0 415 -175t155 -456v-237q0 -164 -54.5 -295.5t-155.5 -214.5l250 -236l-83 -75l-264 249q-59 -29 -124.5 -43.5t-137.5 -14.5q-256 0 -408.5 174t-152.5 456zM244 609q0 -238 116.5 -382t324.5 -144q213 0 331.5 143.5 t118.5 382.5v239q0 236 -119.5 380t-331.5 144q-208 0 -324 -144t-116 -380v-239z" />
65
- <glyph unicode="R" horiz-adv-x="1348" d="M188 0v1455h493q234 0 359 -102.5t125 -299.5q0 -116 -67 -207.5t-189 -133.5q135 -34 194.5 -121.5t59.5 -219.5v-137q0 -68 16 -122t53 -88v-24h-122q-37 36 -52 101t-15 135v133q0 134 -86.5 211.5t-241.5 77.5h-408v-658h-119zM307 760h359q197 0 288 79.5t91 214.5 q0 144 -90.5 221.5t-273.5 77.5h-374v-593z" />
66
- <glyph unicode="S" horiz-adv-x="1231" d="M100 408l2 6h110q0 -170 127 -252t299 -82q173 0 279.5 76t106.5 201q0 119 -89 194.5t-310 133.5q-239 60 -362 156t-123 259q0 167 137.5 272t353.5 105q225 0 363 -125q134 -121 134 -295v-10l-3 -6h-110q0 146 -103.5 240t-280.5 94q-175 0 -273.5 -78t-98.5 -194 q0 -110 91 -183.5t314 -129.5q235 -60 357.5 -162t122.5 -269q0 -174 -142.5 -277t-363.5 -103q-218 -1 -380 109q-158 106 -158 308v12z" />
67
- <glyph unicode="T" horiz-adv-x="1213" d="M45 1354v102h1122v-102h-501v-1354h-120v1354h-501z" />
68
- <glyph unicode="U" horiz-adv-x="1374" d="M167 469v987h120v-987q0 -186 110 -287.5t287 -101.5q180 0 293 101t113 288v987h119v-987q0 -238 -145.5 -364t-379.5 -126q-231 0 -374 126.5t-143 363.5z" />
69
- <glyph unicode="V" horiz-adv-x="1263" d="M32 1456h130l438 -1210l29 -97h6l29 97l437 1210h130l-543 -1456h-113z" />
70
- <glyph unicode="W" horiz-adv-x="1834" d="M57 1456h123l265 -1044l44 -223l6 -1l55 224l308 1044h113l308 -1044l53 -225l6 1l47 224l263 1044h122l-374 -1456h-113l-327 1117l-38 153h-6l-37 -153l-330 -1117h-114z" />
71
- <glyph unicode="X" horiz-adv-x="1256" d="M59 0l500 738l-485 718h145l409 -622l411 622h145l-484 -718l500 -738h-143l-427 642l-426 -642h-145z" />
72
- <glyph unicode="Y" horiz-adv-x="1244" d="M33 1456h139l448 -809l451 809h139l-531 -924v-532h-119v539z" />
73
- <glyph unicode="Z" horiz-adv-x="1224" d="M95 0v92l858 1262h-831v102h977v-87l-861 -1268h893v-101h-1036z" />
74
- <glyph unicode="[" horiz-adv-x="491" d="M163 -312v1976h330v-102h-210v-1772h210v-102h-330z" />
75
- <glyph unicode="\" horiz-adv-x="807" d="M48 1456h117l608 -1581h-117z" />
76
- <glyph unicode="]" horiz-adv-x="491" d="M0 -210h211v1772h-211v102h331v-1976h-331v102z" />
77
- <glyph unicode="^" horiz-adv-x="852" d="M77 729l299 727h90l298 -727h-116l-196 484l-30 106h-6l-30 -106l-193 -484h-116z" />
78
- <glyph unicode="_" horiz-adv-x="884" d="M1 0h881v-101h-881v101z" />
79
- <glyph unicode="`" horiz-adv-x="585" d="M93 1471l2 5h154l202 -266h-117z" />
80
- <glyph unicode="a" horiz-adv-x="1101" d="M103 288q0 150 129.5 240t349.5 90h239v134q0 116 -74.5 182t-208.5 66q-125 0 -207.5 -63t-82.5 -154l-110 1l-2 6v12q0 114 110 204q116 96 297 96q179 0 288 -91t109 -261v-532q0 -57 6.5 -111t21.5 -107h-125q-12 55 -17 95t-5 81q-60 -85 -160 -141t-225 -56 q-158 0 -245.5 84t-87.5 225zM222 284q0 -88 60.5 -143.5t167.5 -55.5q129 0 228 60.5t143 154.5v226h-241q-163 0 -260.5 -69.5t-97.5 -172.5z" />
81
- <glyph unicode="b" d="M157 0v1560h120v-648q54 91 138 140.5t200 49.5q195 0 305 -155.5t110 -414.5v-21q0 -243 -110 -387.5t-303 -144.5q-119 0 -205 47.5t-139 136.5l-13 -163h-103zM277 288q40 -94 119.5 -149.5t197.5 -55.5q157 0 236 116t79 312v21q0 207 -80 336.5t-237 129.5 q-125 0 -201.5 -62t-113.5 -159v-489z" />
82
- <glyph unicode="c" horiz-adv-x="1061" d="M97 520v42q0 236 121 388t340 152q178 0 296 -105q115 -102 115 -265v-11l-2 -6h-107q0 130 -87.5 207.5t-214.5 77.5q-174 0 -257.5 -124.5t-83.5 -313.5v-42q0 -192 83 -316t259 -124q119 0 210 68t91 189h106l2 -6v-11q0 -142 -120 -240q-125 -101 -289 -101 q-221 0 -341.5 151.5t-120.5 389.5z" />
83
- <glyph unicode="d" d="M111 511v21q0 259 109.5 414.5t305.5 155.5q113 0 196 -48t138 -136v642h119v-1560h-106l-10 157q-54 -86 -139 -132t-200 -46q-194 0 -303.5 144.5t-109.5 387.5zM231 511q0 -196 78.5 -312t236.5 -116q116 0 193.5 52t120.5 144v508q-41 94 -116 152.5t-196 58.5 q-158 0 -237.5 -129.5t-79.5 -336.5v-21z" />
84
- <glyph unicode="e" horiz-adv-x="1055" d="M92 509v55q0 232 133.5 385t323.5 153q199 0 313 -126t114 -336v-102h-764v-29q0 -183 97 -306t255 -123q112 0 191 31t135 89l51 -82q-61 -64 -154.5 -101.5t-222.5 -37.5q-203 0 -337.5 150t-134.5 380zM221 644l2 -5h634v30q0 141 -83 236t-225 95q-133 0 -223 -101.5 t-105 -254.5z" />
85
- <glyph unicode="f" horiz-adv-x="673" d="M66 984v98h179v158q0 163 81.5 252t228.5 89q33 0 67 -5t69 -14l-15 -99q-24 6 -49.5 9.5t-59.5 3.5q-98 0 -150 -62t-52 -174v-158h258v-98h-258v-984h-120v984h-179z" />
86
- <glyph unicode="g" horiz-adv-x="1141" d="M111 511v21q0 259 110.5 414.5t307.5 155.5q115 0 199 -50.5t139 -142.5l14 173h101v-1068q0 -209 -115.5 -330t-321.5 -121q-78 0 -166 19t-154 52l31 101q64 -32 135 -48.5t152 -16.5q158 0 238.5 91t80.5 253v136q-55 -82 -139 -126.5t-196 -44.5q-195 0 -305.5 145 t-110.5 387zM231 511q0 -195 80 -311.5t238 -116.5q116 0 193.5 53t119.5 146v502q-39 94 -114.5 154t-196.5 60q-158 0 -239 -130t-81 -336v-21z" />
87
- <glyph unicode="h" d="M158 0v1560h120v-663q54 97 144 151t210 54q171 0 262.5 -106t91.5 -329v-667h-120v669q0 176 -69.5 252.5t-191.5 76.5q-123 0 -205.5 -64.5t-121.5 -171.5v-762h-120z" />
88
- <glyph unicode="i" horiz-adv-x="465" d="M173 0v1082h119v-1082h-119zM173 1392v168h119v-168h-119z" />
89
- <glyph unicode="j" horiz-adv-x="484" d="M-115 -418l13 101q16 -5 44 -10t49 -5q89 0 139 61.5t50 181.5v1171h119v-1171q0 -167 -80 -257.5t-222 -90.5q-30 0 -56.5 5t-55.5 14zM174 1396v164h119v-164h-119z" />
90
- <glyph unicode="k" horiz-adv-x="1006" d="M159 0v1560h120v-930h126l402 452h140l2 -5l-433 -488l478 -584l-3 -5h-137l-437 527h-138v-527h-120z" />
91
- <glyph unicode="l" horiz-adv-x="465" d="M173 0v1560h119v-1560h-119z" />
92
- <glyph unicode="m" horiz-adv-x="1815" d="M152 0v1082h107l11 -179q52 95 138.5 147t206.5 52q124 0 207.5 -60t119.5 -183q49 114 139.5 178.5t220.5 64.5q173 0 267 -115t94 -356v-631h-120v633q0 200 -70.5 282.5t-196.5 82.5q-139 0 -215 -87t-94 -223q0 -7 0.5 -20t0.5 -19v-649h-121v633q0 196 -71.5 280.5 t-196.5 84.5q-127 0 -201.5 -64.5t-104.5 -173.5v-760h-121z" />
93
- <glyph unicode="n" d="M158 0v1082h106l11 -189q52 100 140.5 154.5t209.5 54.5q176 0 268 -107.5t92 -335.5v-659h-120v658q0 186 -69.5 263t-197.5 77q-126 0 -205.5 -66.5t-114.5 -176.5v-755h-120z" />
94
- <glyph unicode="o" d="M91 524v33q0 239 131 392t347 153q217 0 348 -153t131 -392v-33q0 -240 -130.5 -392.5t-346.5 -152.5q-218 0 -349 152.5t-131 392.5zM211 524q0 -188 95 -316t265 -128q167 0 262.5 128t95.5 316v33q0 185 -96 314t-264 129t-263 -129t-95 -314v-33z" />
95
- <glyph unicode="p" d="M157 -416v1498h101l15 -168q54 90 139.5 139t201.5 49q195 0 305 -155.5t110 -414.5v-21q0 -243 -110 -387.5t-303 -144.5q-114 0 -199.5 43t-139.5 123v-561h-120zM277 271q41 -89 118.5 -140t193.5 -51q157 0 238.5 118t81.5 313v21q0 206 -82 336t-240 130 q-121 0 -196.5 -57.5t-113.5 -149.5v-520z" />
96
- <glyph unicode="q" d="M111 511v21q0 259 109.5 414.5t305.5 155.5q111 0 194.5 -46.5t137.5 -132.5l12 159h104v-1498h-119v558q-55 -79 -138 -121t-193 -42q-194 0 -303.5 144.5t-109.5 387.5zM231 511q0 -196 78.5 -313.5t236.5 -117.5q112 0 188.5 50.5t120.5 137.5v530 q-41 89 -116.5 145.5t-190.5 56.5q-158 0 -237.5 -130.5t-79.5 -337.5v-21z" />
97
- <glyph unicode="r" horiz-adv-x="697" d="M158 0v1082h105l15 -180v-12q47 100 126 156t188 56q23 0 44.5 -3.5t35.5 -7.5l-16 -112l-89 6q-113 0 -185.5 -63.5t-103.5 -174.5v-747h-120z" />
98
- <glyph unicode="s" horiz-adv-x="1043" d="M110 297l2 6h110q7 -117 95.5 -170t208.5 -53q130 0 205 57t75 138q0 76 -62.5 133t-225.5 93q-194 42 -286.5 111t-92.5 195q0 124 104.5 209.5t276.5 85.5q183 0 290 -90q102 -86 102 -215v-12l-2 -6h-111q0 89 -75.5 155t-203.5 66q-131 0 -196.5 -56.5t-65.5 -132.5 q0 -75 56.5 -124t225.5 -86q193 -43 289 -117.5t96 -202.5q0 -135 -109.5 -218.5t-289.5 -83.5q-198 0 -310 94q-107 89 -106 211v13z" />
99
- <glyph unicode="t" horiz-adv-x="680" d="M38 984v98h187v277h121v-277h238v-98h-238v-705q0 -106 38.5 -150.5t102.5 -44.5q29 0 56.5 2.5t63.5 8.5l18 -89q-30 -13 -73 -20t-86 -7q-114 0 -177.5 72t-63.5 228v705h-187z" />
100
- <glyph unicode="u" d="M154 455v627h120v-629q0 -198 67.5 -284t191.5 -86q136 0 217 61t113 168v770h120v-1082h-106l-10 177q-52 -95 -140 -146.5t-208 -51.5q-171 0 -268 116t-97 360z" />
101
- <glyph unicode="v" horiz-adv-x="1002" d="M44 1082h124l298 -811l35 -127h6l38 127l294 811h124l-411 -1082h-96z" />
102
- <glyph unicode="w" horiz-adv-x="1550" d="M65 1082h124l202 -731l41 -193h6l51 193l230 731h103l230 -731l52 -198h6l45 198l197 731h124l-315 -1082h-102l-240 740l-47 187h-6l-48 -187l-236 -740h-103z" />
103
- <glyph unicode="x" horiz-adv-x="1002" d="M50 0l383 551l-367 531h141l291 -442l293 442h142l-367 -531l382 -551h-140l-308 461l-308 -461h-142z" />
104
- <glyph unicode="y" horiz-adv-x="1002" d="M35 1082h133l297 -789l38 -129h6l327 918h134l-470 -1255q-42 -110 -109 -187t-196 -77q-21 0 -51 4.5t-44 9.5l14 100q12 -2 38.5 -4.5t38.5 -2.5q78 0 125 55.5t80 142.5l57 146z" />
105
- <glyph unicode="z" horiz-adv-x="1002" d="M90 0v88l652 891h-632v103h783v-89l-655 -892h703v-101h-851z" />
106
- <glyph unicode="{" horiz-adv-x="676" d="M68 543v104q118 0 174.5 67t56.5 190v228q0 171 77.5 290.5t260.5 174.5l26 -79q-127 -41 -185.5 -142t-58.5 -244v-228q0 -110 -45.5 -191t-138.5 -118q93 -39 138.5 -120.5t45.5 -190.5v-226q0 -143 59.5 -241.5t187.5 -140.5l-29 -80q-183 55 -260.5 173.5 t-77.5 288.5v226q0 122 -56.5 190.5t-174.5 68.5z" />
107
- <glyph unicode="|" horiz-adv-x="452" d="M178 -270v1726h101v-1726h-101z" />
108
- <glyph unicode="}" horiz-adv-x="676" d="M9 -324q127 42 187 140.5t60 241.5v226q0 112 47 193t146 117q-99 35 -146 116t-47 194v228q0 144 -58.5 244.5t-185.5 141.5l26 79q182 -55 260 -174.5t78 -290.5v-228q0 -122 56 -189.5t175 -67.5v-104q-119 0 -175 -68.5t-56 -190.5v-226q0 -170 -77.5 -288.5 t-260.5 -173.5z" />
109
- <glyph unicode="~" horiz-adv-x="1402" d="M143 474q0 131 79 222t202 91q87 0 160.5 -37t162.5 -113q63 -57 116.5 -82.5t110.5 -25.5q77 0 131 64t54 162l98 -15q0 -129 -81 -223t-202 -94q-88 0 -160.5 35.5t-160.5 114.5q-64 54 -118.5 80.5t-110.5 26.5q-79 0 -131.5 -60.5t-52.5 -160.5z" />
110
- <glyph unicode="&#xa1;" horiz-adv-x="452" d="M145 898v184h142v-184h-142zM156 -374v978h120v-978h-120z" />
111
- <glyph unicode="&#xa2;" horiz-adv-x="1115" d="M122 520v42q0 217 103 364.5t292 171.5v220h120v-219q158 -17 259.5 -119t98.5 -259l-3 -6h-107q0 130 -87.5 207.5t-214.5 77.5q-174 0 -257.5 -124.5t-83.5 -313.5v-42q0 -192 83 -316t259 -124q119 0 210 68t91 189h107l2 -6q4 -137 -102 -234t-255 -115v-227h-120 v228q-190 23 -292.5 170.5t-102.5 366.5z" />
112
- <glyph unicode="&#xa3;" horiz-adv-x="1170" d="M67 642v102h203l-11 296q0 204 106 320.5t284 116.5q187 0 281 -103.5t91 -277.5l-3 -6h-112q0 148 -68.5 216.5t-188.5 68.5q-125 0 -197.5 -88t-72.5 -247l11 -296h450v-102h-447l7 -176q0 -107 -25.5 -204t-71.5 -161h769v-101h-941v101h10q70 15 105 130t35 235 l-7 176h-207z" />
113
- <glyph unicode="&#xa4;" horiz-adv-x="1481" d="M109 60l159 161q-60 81 -92 179t-32 208q0 112 34.5 214t98.5 184l-168 171l85 87l167 -170q78 67 175 103.5t204 36.5q106 0 203 -37.5t176 -104.5l170 173l86 -88l-171 -175q62 -82 96 -182.5t34 -211.5q0 -108 -32 -206t-90 -178l163 -164l-86 -87l-158 160 q-80 -74 -180.5 -113.5t-210.5 -39.5q-111 0 -211.5 39.5t-179.5 112.5l-155 -158zM257 608q0 -215 141.5 -366t341.5 -151q198 0 339.5 151t141.5 366q0 213 -141.5 363.5t-339.5 150.5q-200 0 -341.5 -150.5t-141.5 -363.5z" />
114
- <glyph unicode="&#xa5;" horiz-adv-x="1223" d="M45 1456h139l423 -723l424 723h139l-455 -751h371v-102h-421v-175h421v-102h-421v-326h-119v326h-416v102h416v175h-416v102h370z" />
115
- <glyph unicode="&#xa6;" horiz-adv-x="444" d="M159 -270v771h120v-771h-120zM159 698v758h120v-758h-120z" />
116
- <glyph unicode="&#xa7;" horiz-adv-x="1239" d="M108 -70l2 6l112 2q0 -173 113 -252t271 -79q163 0 255.5 70.5t92.5 181.5q0 106 -77 166t-292 121q-243 61 -360 149.5t-117 255.5q0 98 58.5 169t164.5 105q-90 49 -134 119.5t-44 175.5q0 161 128 259t343 98q222 0 346.5 -111.5t120.5 -313.5l-2 -6h-112 q0 141 -94 235t-259 94q-173 0 -262 -71t-89 -181q0 -114 74 -173t299 -122q247 -65 360 -148.5t113 -248.5q0 -98 -61 -168.5t-171 -103.5q94 -50 141 -120.5t47 -177.5q0 -166 -127.5 -261t-341.5 -95q-213 0 -358 102.5t-140 322.5zM228 553q0 -116 79 -175t323 -127 q34 -10 65 -19t60 -18q115 13 179.5 71.5t64.5 142.5q0 108 -85 170.5t-318 130.5q-40 9 -75.5 19.5t-66.5 22.5q-112 -14 -169 -73t-57 -145z" />
117
- <glyph unicode="&#xa8;" horiz-adv-x="959" d="M162 1299v157h174v-157h-174zM632 1299v157h173v-157h-173z" />
118
- <glyph unicode="&#xa9;" horiz-adv-x="1637" d="M107 729q0 315 207 531t503 216q295 0 502 -216t207 -531q0 -316 -207.5 -533t-501.5 -217q-296 0 -503 217t-207 533zM192 729q0 -279 182.5 -471.5t442.5 -192.5q257 0 440.5 192.5t183.5 471.5q0 277 -183 468.5t-441 191.5q-260 0 -442.5 -191.5t-182.5 -468.5z M474 669v119q0 172 91 279.5t242 107.5q147 0 230 -79t79 -228l-2 -6h-91q0 113 -55 168t-161 55q-110 0 -172 -83.5t-62 -212.5v-120q0 -132 61.5 -214.5t172.5 -82.5q107 0 161 54t54 170h91l2 -6q4 -150 -78.5 -229t-229.5 -79q-151 0 -242 106.5t-91 280.5z" />
119
- <glyph unicode="&#xaa;" horiz-adv-x="906" d="M135 920q0 105 79 163t229 58h182v61q0 85 -41 131.5t-120 46.5q-92 0 -142.5 -37.5t-50.5 -108.5l-99 9l-2 6q-5 98 77 163t217 65q123 0 196.5 -71.5t73.5 -204.5v-314q0 -48 6 -92.5t20 -88.5h-111q-9 25 -14.5 52.5t-7.5 55.5q-37 -53 -98.5 -87.5t-144.5 -34.5 q-119 0 -184 61t-65 167zM243 924q0 -66 39.5 -101.5t121.5 -35.5q70 0 135.5 38t85.5 85v147h-181q-96 0 -148.5 -38.5t-52.5 -94.5z" />
120
- <glyph unicode="&#xab;" horiz-adv-x="933" d="M123 541v19l295 379h105l-276 -389l276 -388h-105zM432 541v19l295 379h105l-276 -389l276 -388h-105z" />
121
- <glyph unicode="&#xac;" horiz-adv-x="1117" d="M124 670v106h812v-390h-120v284h-692z" />
122
- <glyph unicode="&#xad;" horiz-adv-x="586" d="M49 570v101h479v-101h-479z" />
123
- <glyph unicode="&#xae;" horiz-adv-x="1642" d="M102 729q0 315 207 531t503 216q295 0 502.5 -216t207.5 -531q0 -316 -207.5 -533t-502.5 -217q-296 0 -503 217t-207 533zM187 729q0 -279 183 -471.5t442 -192.5q258 0 441 192.5t183 471.5q0 277 -183 468.5t-441 191.5q-259 0 -442 -191.5t-183 -468.5zM552 316v850 h258q147 0 226 -63t79 -185q0 -68 -36.5 -117.5t-104.5 -79.5q68 -25 98 -78t30 -128v-56q0 -40 4 -73t13 -54v-16h-102q-10 21 -12 61.5t-2 82.5v54q0 84 -38 121t-127 37h-188v-356h-98zM650 763h181q79 0 132.5 40.5t53.5 112.5q0 85 -46 122t-161 37h-160v-312z" />
124
- <glyph unicode="&#xaf;" horiz-adv-x="874" d="M106 1359v97h670v-97h-670z" />
125
- <glyph unicode="&#xb0;" horiz-adv-x="774" d="M143 1227q0 102 72 176t173 74q99 0 170.5 -74t71.5 -176q0 -104 -71 -175.5t-171 -71.5q-101 0 -173 72t-72 175zM233 1227q0 -68 44.5 -112t110.5 -44q65 0 108.5 44t43.5 112t-43.5 113.5t-108.5 45.5q-66 0 -110.5 -46t-44.5 -113z" />
126
- <glyph unicode="&#xb1;" horiz-adv-x="1086" d="M85 728v101h414v438h110v-438h392v-101h-392v-439h-110v439h-414zM193 48v102h835v-102h-835z" />
127
- <glyph unicode="&#xb2;" horiz-adv-x="835" d="M118 667v90l315 282q77 71 104 115.5t27 91.5q0 64 -39 103t-118 39q-87 0 -134 -42t-47 -108h-100l-2 6q-6 97 72.5 166t210.5 69q124 0 195 -60.5t71 -173.5q0 -75 -47 -136t-150 -158l-214 -188l2 -6h423v-90h-569z" />
128
- <glyph unicode="&#xb3;" horiz-adv-x="852" d="M120 882l2 6h101q0 -63 51 -103t135 -40q90 0 140.5 38t50.5 103q0 75 -46.5 109.5t-139.5 34.5h-122v89h122q88 0 130.5 35t42.5 99q0 59 -45 96.5t-133 37.5q-75 0 -124.5 -35.5t-49.5 -93.5h-99l-2 6q-6 94 74.5 154t200.5 60q132 0 209 -58.5t77 -166.5 q0 -58 -35.5 -105t-98.5 -72q72 -22 110 -70.5t38 -119.5q0 -109 -83.5 -170t-216.5 -61q-121 0 -207.5 58.5t-81.5 168.5z" />
129
- <glyph unicode="&#xb4;" horiz-adv-x="576" d="M116 1212l207 266h147l3 -6l-249 -260h-108z" />
130
- <glyph unicode="&#xb5;" d="M162 -416v1498h119v-633q0 -207 71 -288t192 -81q137 0 212 59.5t103 170.5v772h120v-1082h-103l-11 155q-48 -85 -126 -130.5t-187 -45.5q-88 0 -157 30t-114 96v-521h-119z" />
131
- <glyph unicode="&#xb6;" horiz-adv-x="973" d="M82 988q0 207 129.5 337.5t362.5 130.5h226v-1456h-120v520h-106q-233 0 -362.5 129.5t-129.5 338.5z" />
132
- <glyph unicode="&#xb7;" horiz-adv-x="503" d="M166 624v180h155v-180h-155z" />
133
- <glyph unicode="&#xb8;" horiz-adv-x="498" d="M98 -357q90 0 151.5 30.5t61.5 89.5q0 57 -41.5 79.5t-145.5 30.5l29 127h93l-12 -64q79 -9 127.5 -48.5t48.5 -122.5q0 -91 -79 -145.5t-226 -54.5z" />
134
- <glyph unicode="&#xb9;" horiz-adv-x="511" d="M87 1361v93l257 23v-812h-109v703z" />
135
- <glyph unicode="&#xba;" horiz-adv-x="922" d="M135 1026v116q0 148 87.5 241.5t235.5 93.5t236 -93.5t88 -241.5v-116q0 -149 -87.5 -241.5t-234.5 -92.5q-149 0 -237 92.5t-88 241.5zM243 1026q0 -107 54.5 -173t162.5 -66q103 0 158.5 66.5t55.5 172.5v116q0 104 -56 171t-160 67t-159.5 -67t-55.5 -171v-116z" />
136
- <glyph unicode="&#xbb;" horiz-adv-x="928" d="M130 162l276 388l-276 389h105l295 -379v-19l-295 -379h-105zM445 162l276 388l-276 389h105l295 -379v-19l-295 -379h-105z" />
137
- <glyph unicode="&#xbc;" horiz-adv-x="1561" d="M160 1360v93l257 23v-812h-109v703zM326 177l711 1138l74 -48l-711 -1138zM771 237l429 564h113v-541h153v-90h-153v-170h-108v170h-430zM900 260h305v402l-6 1l-25 -43z" />
138
- <glyph unicode="&#xbd;" horiz-adv-x="1567" d="M160 1360v93l257 23v-812h-109v703zM338 177l711 1138l74 -48l-711 -1138zM912 0v90l315 282q77 71 104 115.5t27 91.5q0 64 -39 103t-118 39q-87 0 -134 -42t-47 -108h-100l-2 6q-6 97 72.5 166t210.5 69q124 0 195 -60.5t71 -173.5q0 -75 -47 -136t-150 -158l-214 -188 l2 -6h423v-90h-569z" />
139
- <glyph unicode="&#xbe;" horiz-adv-x="1712" d="M145 883l2 6h101q0 -63 51 -103t135 -40q90 0 140.5 38t50.5 103q0 75 -46.5 109.5t-139.5 34.5h-122v89h122q88 0 130.5 35t42.5 99q0 59 -45 96.5t-133 37.5q-75 0 -124.5 -35.5t-49.5 -93.5h-99l-2 6q-6 94 74.5 154t200.5 60q132 0 209 -58.5t77 -166.5 q0 -58 -35.5 -105t-98.5 -72q72 -22 110 -70.5t38 -119.5q0 -109 -83.5 -170t-216.5 -61q-121 0 -207.5 58.5t-81.5 168.5zM533 177l711 1138l74 -48l-711 -1138zM980 237l429 564h113v-541h153v-90h-153v-170h-108v170h-430zM1109 260h305v402l-6 1l-25 -43z" />
140
- <glyph unicode="&#xbf;" horiz-adv-x="958" d="M108 -20q0 133 66 237.5t189 219.5q61 52 75 98.5t14 142.5h120q-2 -131 -23.5 -183t-113.5 -136q-109 -113 -158 -188.5t-49 -189.5q0 -128 67.5 -198t194.5 -70q117 0 189 68.5t74 185.5h112l2 -6q2 -165 -105 -260t-272 -95q-180 0 -281 101t-101 273zM436 928v155 h139v-155h-139z" />
141
- <glyph unicode="&#xc0;" horiz-adv-x="1279" d="M32 0l553 1456h113l549 -1456h-124l-150 406h-667l-150 -406h-124zM346 513h588l-290 788h-6zM370 1822l2 5h154l202 -266h-117z" />
142
- <glyph unicode="&#xc1;" horiz-adv-x="1279" d="M32 0l553 1456h113l549 -1456h-124l-150 406h-667l-150 -406h-124zM346 513h588l-290 788h-6zM583 1557l207 266h147l3 -6l-249 -260h-108z" />
143
- <glyph unicode="&#xc2;" horiz-adv-x="1279" d="M32 0l553 1456h113l549 -1456h-124l-150 406h-667l-150 -406h-124zM346 513h588l-290 788h-6zM382 1601v21l227 221h98l230 -224v-18h-112l-167 168l-166 -168h-110z" />
144
- <glyph unicode="&#xc3;" horiz-adv-x="1279" d="M32 0l553 1456h113l549 -1456h-124l-150 406h-667l-150 -406h-124zM313 1622q0 86 54 144.5t137 58.5q65 0 147 -55t135 -55q46 0 79 36t33 91l80 -20q0 -88 -55 -146t-137 -58q-74 0 -151 55t-131 55q-47 0 -79 -35t-32 -89zM346 513h588l-290 788h-6z" />
145
- <glyph unicode="&#xc4;" horiz-adv-x="1279" d="M32 0l553 1456h113l549 -1456h-124l-150 406h-667l-150 -406h-124zM341 1641v157h174v-157h-174zM346 513h588l-290 788h-6zM811 1641v157h173v-157h-173z" />
146
- <glyph unicode="&#xc5;" horiz-adv-x="1279" d="M32 0l553 1456h113l549 -1456h-124l-150 406h-667l-150 -406h-124zM346 513h588l-290 788h-6zM487 1730q0 69 49.5 117.5t119.5 48.5q68 0 117 -48.5t49 -117.5q0 -71 -48.5 -117t-117.5 -46q-71 0 -120 46t-49 117zM565 1730q0 -39 26.5 -65t64.5 -26q37 0 62.5 25.5 t25.5 65.5t-25.5 66.5t-62.5 26.5q-38 0 -64.5 -27t-26.5 -66z" />
147
- <glyph unicode="&#xc6;" horiz-adv-x="1865" d="M17 0l881 1456h864v-102h-694l23 -545h589v-102h-585l26 -606h702v-101h-817l-17 389h-597l-229 -389h-146zM459 502h526l-35 839l-6 1l-15 -44z" />
148
- <glyph unicode="&#xc7;" horiz-adv-x="1313" d="M132 609v237q0 278 149 454.5t392 176.5q232 0 368 -123t155 -346l-2 -6h-112q-24 181 -124.5 277t-284.5 96q-191 0 -306.5 -148t-115.5 -379v-239q0 -234 115.5 -381.5t306.5 -147.5q184 0 285 94t124 281h112l2 -6q-19 -219 -156 -344.5t-367 -125.5 q-243 0 -392 175.5t-149 454.5zM580 -365q90 0 151.5 30.5t61.5 89.5q0 57 -41.5 79.5t-145.5 30.5l29 127h93l-12 -64q79 -9 127.5 -48.5t48.5 -122.5q0 -91 -79 -145.5t-226 -54.5z" />
149
- <glyph unicode="&#xc8;" horiz-adv-x="1180" d="M191 0v1456h917v-102h-798v-547h701v-102h-701v-604h803v-101h-922zM335 1822l2 5h154l202 -266h-117z" />
150
- <glyph unicode="&#xc9;" horiz-adv-x="1180" d="M191 0v1456h917v-102h-798v-547h701v-102h-701v-604h803v-101h-922zM548 1557l207 266h147l3 -6l-249 -260h-108z" />
151
- <glyph unicode="&#xca;" horiz-adv-x="1180" d="M191 0v1456h917v-102h-798v-547h701v-102h-701v-604h803v-101h-922zM347 1601v21l227 221h98l230 -224v-18h-112l-167 168l-166 -168h-110z" />
152
- <glyph unicode="&#xcb;" horiz-adv-x="1180" d="M191 0v1456h917v-102h-798v-547h701v-102h-701v-604h803v-101h-922zM306 1641v157h174v-157h-174zM776 1641v157h173v-157h-173z" />
153
- <glyph unicode="&#xcc;" horiz-adv-x="554" d="M-9 1822l2 5h154l202 -266h-117zM217 0v1456h120v-1456h-120z" />
154
- <glyph unicode="&#xcd;" horiz-adv-x="554" d="M202 1557l207 266h147l3 -6l-249 -260h-108zM217 0v1456h120v-1456h-120z" />
155
- <glyph unicode="&#xce;" horiz-adv-x="554" d="M3 1601v21l227 221h98l230 -224v-18h-112l-167 168l-166 -168h-110zM217 0v1456h120v-1456h-120z" />
156
- <glyph unicode="&#xcf;" horiz-adv-x="554" d="M-38 1641v157h174v-157h-174zM217 0v1456h120v-1456h-120zM432 1641v157h173v-157h-173z" />
157
- <glyph unicode="&#xd0;" horiz-adv-x="1374" d="M68 689v102h153v665h423q267 0 441 -178t174 -457v-187q0 -280 -174 -457t-441 -177h-423v689h-153zM340 101h304q216 0 355.5 151t139.5 382v190q0 228 -140 379t-355 151h-304v-563h340v-102h-340v-588z" />
158
- <glyph unicode="&#xd1;" horiz-adv-x="1454" d="M191 0v1456h120l827 -1250l6 1v1249h119v-1456h-119l-827 1252l-6 -1v-1251h-120zM382 1622q0 86 54 144.5t137 58.5q65 0 147 -55t135 -55q46 0 79 36t33 91l80 -20q0 -88 -55 -146t-137 -58q-74 0 -151 55t-131 55q-47 0 -79 -35t-32 -89z" />
159
- <glyph unicode="&#xd2;" horiz-adv-x="1378" d="M124 609v237q0 281 152 456t408 175q260 0 415 -175t155 -456v-237q0 -282 -154.5 -456t-414.5 -174q-256 0 -408.5 174t-152.5 456zM244 609q0 -238 116.5 -382t324.5 -144q213 0 331.5 143.5t118.5 382.5v239q0 236 -119.5 380t-331.5 144q-208 0 -324 -144t-116 -380 v-239zM398 1843l2 5h154l202 -266h-117z" />
160
- <glyph unicode="&#xd3;" horiz-adv-x="1378" d="M124 609v237q0 281 152 456t408 175q260 0 415 -175t155 -456v-237q0 -282 -154.5 -456t-414.5 -174q-256 0 -408.5 174t-152.5 456zM244 609q0 -238 116.5 -382t324.5 -144q213 0 331.5 143.5t118.5 382.5v239q0 236 -119.5 380t-331.5 144q-208 0 -324 -144t-116 -380 v-239zM611 1578l207 266h147l3 -6l-249 -260h-108z" />
161
- <glyph unicode="&#xd4;" horiz-adv-x="1378" d="M124 609v237q0 281 152 456t408 175q260 0 415 -175t155 -456v-237q0 -282 -154.5 -456t-414.5 -174q-256 0 -408.5 174t-152.5 456zM244 609q0 -238 116.5 -382t324.5 -144q213 0 331.5 143.5t118.5 382.5v239q0 236 -119.5 380t-331.5 144q-208 0 -324 -144t-116 -380 v-239zM410 1622v21l227 221h98l230 -224v-18h-112l-167 168l-166 -168h-110z" />
162
- <glyph unicode="&#xd5;" horiz-adv-x="1378" d="M124 609v237q0 281 152 456t408 175q260 0 415 -175t155 -456v-237q0 -282 -154.5 -456t-414.5 -174q-256 0 -408.5 174t-152.5 456zM244 609q0 -238 116.5 -382t324.5 -144q213 0 331.5 143.5t118.5 382.5v239q0 236 -119.5 380t-331.5 144q-208 0 -324 -144t-116 -380 v-239zM341 1643q0 86 54 144.5t137 58.5q65 0 147 -55t135 -55q46 0 79 36t33 91l80 -20q0 -88 -55 -146t-137 -58q-74 0 -151 55t-131 55q-47 0 -79 -35t-32 -89z" />
163
- <glyph unicode="&#xd6;" horiz-adv-x="1378" d="M124 609v237q0 281 152 456t408 175q260 0 415 -175t155 -456v-237q0 -282 -154.5 -456t-414.5 -174q-256 0 -408.5 174t-152.5 456zM244 609q0 -238 116.5 -382t324.5 -144q213 0 331.5 143.5t118.5 382.5v239q0 236 -119.5 380t-331.5 144q-208 0 -324 -144t-116 -380 v-239zM369 1662v157h174v-157h-174zM839 1662v157h173v-157h-173z" />
164
- <glyph unicode="&#xd7;" horiz-adv-x="1072" d="M93 318l358 365l-343 350l79 80l342 -350l343 350l79 -80l-343 -350l358 -365l-79 -79l-358 364l-357 -364z" />
165
- <glyph unicode="&#xd8;" horiz-adv-x="1379" d="M124 609v237q0 281 152 456t408 175q109 0 201.5 -33t165.5 -95l96 156h104l-136 -222q67 -84 103 -195.5t36 -241.5v-237q0 -282 -154.5 -456t-414.5 -174q-92 0 -171.5 23.5t-144.5 68.5l-96 -155h-104l131 212q-86 84 -131 207.5t-45 273.5zM244 609 q0 -118 29.5 -214.5t85.5 -160.5l6 -1l627 1021q-58 57 -135.5 87.5t-172.5 30.5q-208 0 -324 -144t-116 -380v-239zM426 164q51 -40 116.5 -60.5t142.5 -20.5q213 0 331.5 143.5t118.5 382.5v239q0 97 -21.5 180.5t-60.5 144.5h-6z" />
166
- <glyph unicode="&#xd9;" horiz-adv-x="1374" d="M167 469v987h120v-987q0 -186 110 -287.5t287 -101.5q180 0 293 101t113 288v987h119v-987q0 -238 -145.5 -364t-379.5 -126q-231 0 -374 126.5t-143 363.5zM409 1822l2 5h154l202 -266h-117z" />
167
- <glyph unicode="&#xda;" horiz-adv-x="1374" d="M167 469v987h120v-987q0 -186 110 -287.5t287 -101.5q180 0 293 101t113 288v987h119v-987q0 -238 -145.5 -364t-379.5 -126q-231 0 -374 126.5t-143 363.5zM622 1557l207 266h147l3 -6l-249 -260h-108z" />
168
- <glyph unicode="&#xdb;" horiz-adv-x="1374" d="M167 469v987h120v-987q0 -186 110 -287.5t287 -101.5q180 0 293 101t113 288v987h119v-987q0 -238 -145.5 -364t-379.5 -126q-231 0 -374 126.5t-143 363.5zM421 1601v21l227 221h98l230 -224v-18h-112l-167 168l-166 -168h-110z" />
169
- <glyph unicode="&#xdc;" horiz-adv-x="1374" d="M167 469v987h120v-987q0 -186 110 -287.5t287 -101.5q180 0 293 101t113 288v987h119v-987q0 -238 -145.5 -364t-379.5 -126q-231 0 -374 126.5t-143 363.5zM380 1641v157h174v-157h-174zM850 1641v157h173v-157h-173z" />
170
- <glyph unicode="&#xdd;" horiz-adv-x="1244" d="M33 1456h139l448 -809l451 809h139l-531 -924v-532h-119v539zM545 1550l207 266h147l3 -6l-249 -260h-108z" />
171
- <glyph unicode="&#xde;" horiz-adv-x="1214" d="M183 0v1456h120v-304h324q221 0 345 -115.5t124 -298.5q0 -185 -124 -299.5t-345 -114.5h-324v-324h-120zM303 425h324q173 0 261 92t88 219q0 130 -88 222.5t-261 92.5h-324v-626z" />
172
- <glyph unicode="&#xdf;" horiz-adv-x="1200" d="M151 0v1082q0 204 102.5 317t273.5 113q140 0 232 -79.5t92 -222.5q0 -109 -61.5 -215.5t-61.5 -184.5q0 -86 184 -228t184 -287q0 -153 -110 -234.5t-266 -81.5q-86 0 -176.5 23.5t-129.5 56.5l34 101q41 -31 114.5 -55.5t143.5 -24.5q125 0 197.5 60t72.5 155 q0 99 -184 240.5t-184 276.5q0 93 63 201.5t63 190.5q0 92 -60 149.5t-137 57.5q-121 0 -193.5 -85.5t-72.5 -243.5v-1082h-120z" />
173
- <glyph unicode="&#xe0;" horiz-adv-x="1101" d="M103 288q0 150 129.5 240t349.5 90h239v134q0 116 -74.5 182t-208.5 66q-125 0 -207.5 -63t-82.5 -154l-110 1l-2 6q-6 121 110.5 216.5t296.5 95.5q179 0 288 -91t109 -261v-532q0 -57 6.5 -111t21.5 -107h-125q-12 55 -17 95t-5 81q-60 -85 -160 -141t-225 -56 q-158 0 -245.5 84t-87.5 225zM222 284q0 -88 60.5 -143.5t167.5 -55.5q129 0 228 60.5t143 154.5v226h-241q-163 0 -260.5 -69.5t-97.5 -172.5zM255 1501l2 5h154l202 -266h-117z" />
174
- <glyph unicode="&#xe1;" horiz-adv-x="1101" d="M103 288q0 150 129.5 240t349.5 90h239v134q0 116 -74.5 182t-208.5 66q-125 0 -207.5 -63t-82.5 -154l-110 1l-2 6q-6 121 110.5 216.5t296.5 95.5q179 0 288 -91t109 -261v-532q0 -57 6.5 -111t21.5 -107h-125q-12 55 -17 95t-5 81q-60 -85 -160 -141t-225 -56 q-158 0 -245.5 84t-87.5 225zM222 284q0 -88 60.5 -143.5t167.5 -55.5q129 0 228 60.5t143 154.5v226h-241q-163 0 -260.5 -69.5t-97.5 -172.5zM468 1236l207 266h147l3 -6l-249 -260h-108z" />
175
- <glyph unicode="&#xe2;" horiz-adv-x="1101" d="M103 288q0 150 129.5 240t349.5 90h239v134q0 116 -74.5 182t-208.5 66q-125 0 -207.5 -63t-82.5 -154l-110 1l-2 6q-6 121 110.5 216.5t296.5 95.5q179 0 288 -91t109 -261v-532q0 -57 6.5 -111t21.5 -107h-125q-12 55 -17 95t-5 81q-60 -85 -160 -141t-225 -56 q-158 0 -245.5 84t-87.5 225zM222 284q0 -88 60.5 -143.5t167.5 -55.5q129 0 228 60.5t143 154.5v226h-241q-163 0 -260.5 -69.5t-97.5 -172.5zM267 1280v21l227 221h98l230 -224v-18h-112l-167 168l-166 -168h-110z" />
176
- <glyph unicode="&#xe3;" horiz-adv-x="1101" d="M103 288q0 150 129.5 240t349.5 90h239v134q0 116 -74.5 182t-208.5 66q-125 0 -207.5 -63t-82.5 -154l-110 1l-2 6q-6 121 110.5 216.5t296.5 95.5q179 0 288 -91t109 -261v-532q0 -57 6.5 -111t21.5 -107h-125q-12 55 -17 95t-5 81q-60 -85 -160 -141t-225 -56 q-158 0 -245.5 84t-87.5 225zM198 1301q0 86 54 144.5t137 58.5q65 0 147 -55t135 -55q46 0 79 36t33 91l80 -20q0 -88 -55 -146t-137 -58q-74 0 -151 55t-131 55q-47 0 -79 -35t-32 -89zM222 284q0 -88 60.5 -143.5t167.5 -55.5q129 0 228 60.5t143 154.5v226h-241 q-163 0 -260.5 -69.5t-97.5 -172.5z" />
177
- <glyph unicode="&#xe4;" horiz-adv-x="1101" d="M103 288q0 150 129.5 240t349.5 90h239v134q0 116 -74.5 182t-208.5 66q-125 0 -207.5 -63t-82.5 -154l-110 1l-2 6q-6 121 110.5 216.5t296.5 95.5q179 0 288 -91t109 -261v-532q0 -57 6.5 -111t21.5 -107h-125q-12 55 -17 95t-5 81q-60 -85 -160 -141t-225 -56 q-158 0 -245.5 84t-87.5 225zM222 284q0 -88 60.5 -143.5t167.5 -55.5q129 0 228 60.5t143 154.5v226h-241q-163 0 -260.5 -69.5t-97.5 -172.5zM226 1320v157h174v-157h-174zM696 1320v157h173v-157h-173z" />
178
- <glyph unicode="&#xe5;" horiz-adv-x="1101" d="M103 288q0 150 129.5 240t349.5 90h239v134q0 116 -74.5 182t-208.5 66q-125 0 -207.5 -63t-82.5 -154l-110 1l-2 6q-6 121 110.5 216.5t296.5 95.5q179 0 288 -91t109 -261v-532q0 -57 6.5 -111t21.5 -107h-125q-12 55 -17 95t-5 81q-60 -85 -160 -141t-225 -56 q-158 0 -245.5 84t-87.5 225zM222 284q0 -88 60.5 -143.5t167.5 -55.5q129 0 228 60.5t143 154.5v226h-241q-163 0 -260.5 -69.5t-97.5 -172.5zM372 1409q0 69 49.5 117.5t119.5 48.5q68 0 117 -48.5t49 -117.5q0 -71 -48.5 -117t-117.5 -46q-71 0 -120 46t-49 117z M450 1409q0 -39 26.5 -65t64.5 -26q37 0 62.5 25.5t25.5 65.5t-25.5 66.5t-62.5 26.5q-38 0 -64.5 -27t-26.5 -66z" />
179
- <glyph unicode="&#xe6;" horiz-adv-x="1732" d="M77 293q0 158 113 248.5t326 90.5h262v88q0 134 -63 207t-187 73q-135 0 -213.5 -67t-78.5 -168l-110 12l-2 6q-5 138 106.5 228.5t297.5 90.5q124 0 212.5 -54t128.5 -157q61 99 156.5 155t209.5 56q200 0 311.5 -124t111.5 -340v-100h-754v-29q0 -191 89.5 -310 t271.5 -119q103 0 181.5 32.5t142.5 86.5l47 -87q-60 -55 -148.5 -94t-222.5 -39q-138 0 -241 55.5t-163 157.5q-49 -87 -159.5 -150t-269.5 -63q-170 0 -262.5 84.5t-92.5 229.5zM197 289q0 -97 65 -153.5t187 -56.5q102 0 197.5 53.5t131.5 115.5v288h-260 q-155 0 -238 -71t-83 -176zM912 641l2 -5h625v31q0 146 -77.5 239.5t-226.5 93.5q-138 0 -224 -101.5t-99 -257.5z" />
180
- <glyph unicode="&#xe7;" horiz-adv-x="1061" d="M97 520v42q0 236 121 388t340 152q178 0 296.5 -105t114.5 -276l-2 -6h-107q0 130 -87.5 207.5t-214.5 77.5q-174 0 -257.5 -124.5t-83.5 -313.5v-42q0 -192 83 -316t259 -124q119 0 210 68t91 189h106l2 -6q5 -150 -120 -251t-289 -101q-221 0 -341.5 151.5 t-120.5 389.5zM444 -365q90 0 151.5 30.5t61.5 89.5q0 57 -41.5 79.5t-145.5 30.5l29 127h93l-12 -64q79 -9 127.5 -48.5t48.5 -122.5q0 -91 -79 -145.5t-226 -54.5z" />
181
- <glyph unicode="&#xe8;" horiz-adv-x="1055" d="M92 509v55q0 232 133.5 385t323.5 153q199 0 313 -126t114 -336v-102h-764v-29q0 -183 97 -306t255 -123q112 0 191 31t135 89l51 -82q-61 -64 -154.5 -101.5t-222.5 -37.5q-203 0 -337.5 150t-134.5 380zM221 644l2 -5h634v30q0 141 -83 236t-225 95q-133 0 -223 -101.5 t-105 -254.5zM274 1501l2 5h154l202 -266h-117z" />
182
- <glyph unicode="&#xe9;" horiz-adv-x="1055" d="M92 509v55q0 232 133.5 385t323.5 153q199 0 313 -126t114 -336v-102h-764v-29q0 -183 97 -306t255 -123q112 0 191 31t135 89l51 -82q-61 -64 -154.5 -101.5t-222.5 -37.5q-203 0 -337.5 150t-134.5 380zM221 644l2 -5h634v30q0 141 -83 236t-225 95q-133 0 -223 -101.5 t-105 -254.5zM487 1236l207 266h147l3 -6l-249 -260h-108z" />
183
- <glyph unicode="&#xea;" horiz-adv-x="1055" d="M92 509v55q0 232 133.5 385t323.5 153q199 0 313 -126t114 -336v-102h-764v-29q0 -183 97 -306t255 -123q112 0 191 31t135 89l51 -82q-61 -64 -154.5 -101.5t-222.5 -37.5q-203 0 -337.5 150t-134.5 380zM221 644l2 -5h634v30q0 141 -83 236t-225 95q-133 0 -223 -101.5 t-105 -254.5zM286 1280v21l227 221h98l230 -224v-18h-112l-167 168l-166 -168h-110z" />
184
- <glyph unicode="&#xeb;" horiz-adv-x="1055" d="M92 509v55q0 232 133.5 385t323.5 153q199 0 313 -126t114 -336v-102h-764v-29q0 -183 97 -306t255 -123q112 0 191 31t135 89l51 -82q-61 -64 -154.5 -101.5t-222.5 -37.5q-203 0 -337.5 150t-134.5 380zM221 644l2 -5h634v30q0 141 -83 236t-225 95q-133 0 -223 -101.5 t-105 -254.5zM245 1320v157h174v-157h-174zM715 1320v157h173v-157h-173z" />
185
- <glyph unicode="&#xec;" horiz-adv-x="456" d="M-58 1479l2 5h154l202 -266h-117zM168 0v1082h120v-1082h-120z" />
186
- <glyph unicode="&#xed;" horiz-adv-x="456" d="M153 1214l207 266h147l3 -6l-249 -260h-108zM168 0v1082h120v-1082h-120z" />
187
- <glyph unicode="&#xee;" horiz-adv-x="456" d="M-46 1258v21l227 221h98l230 -224v-18h-112l-167 168l-166 -168h-110zM168 0v1082h120v-1082h-120z" />
188
- <glyph unicode="&#xef;" horiz-adv-x="456" d="M-87 1299v157h174v-157h-174zM168 0v1082h120v-1082h-120zM383 1299v157h173v-157h-173z" />
189
- <glyph unicode="&#xf0;" horiz-adv-x="1191" d="M99 455q0 235 130 372.5t348 137.5q104 0 193 -40t143 -107l4 5q-18 131 -68 234t-126 182l-308 -176l-50 74l287 164q-45 33 -94.5 61t-103.5 51l39 104q77 -30 144 -68t124 -85l257 147l51 -74l-241 -138q111 -120 169 -288.5t58 -387.5v-88q0 -245 -137 -400.5 t-344 -155.5q-208 0 -341.5 137t-133.5 339zM219 455q0 -149 97 -261t262 -112q158 0 257.5 127.5t99.5 325.5v90q0 9 -0.5 27.5t-0.5 28.5q-38 76 -128 128t-229 52q-173 0 -265.5 -115t-92.5 -291z" />
190
- <glyph unicode="&#xf1;" d="M158 0v1082h106l11 -189q52 100 140.5 154.5t209.5 54.5q176 0 268 -107.5t92 -335.5v-659h-120v658q0 186 -69.5 263t-197.5 77q-126 0 -205.5 -66.5t-114.5 -176.5v-755h-120zM233 1300q0 86 54 144.5t137 58.5q65 0 147 -55t135 -55q46 0 79 36t33 91l80 -20 q0 -88 -55 -146t-137 -58q-74 0 -151 55t-131 55q-47 0 -79 -35t-32 -89z" />
191
- <glyph unicode="&#xf2;" d="M91 524v33q0 239 131 392t347 153q217 0 348 -153t131 -392v-33q0 -240 -130.5 -392.5t-346.5 -152.5q-218 0 -349 152.5t-131 392.5zM211 524q0 -188 95 -316t265 -128q167 0 262.5 128t95.5 316v33q0 185 -96 314t-264 129t-263 -129t-95 -314v-33zM294 1500l2 5h154 l202 -266h-117z" />
192
- <glyph unicode="&#xf3;" d="M91 524v33q0 239 131 392t347 153q217 0 348 -153t131 -392v-33q0 -240 -130.5 -392.5t-346.5 -152.5q-218 0 -349 152.5t-131 392.5zM211 524q0 -188 95 -316t265 -128q167 0 262.5 128t95.5 316v33q0 185 -96 314t-264 129t-263 -129t-95 -314v-33zM507 1235l207 266 h147l3 -6l-249 -260h-108z" />
193
- <glyph unicode="&#xf4;" d="M91 524v33q0 239 131 392t347 153q217 0 348 -153t131 -392v-33q0 -240 -130.5 -392.5t-346.5 -152.5q-218 0 -349 152.5t-131 392.5zM211 524q0 -188 95 -316t265 -128q167 0 262.5 128t95.5 316v33q0 185 -96 314t-264 129t-263 -129t-95 -314v-33zM306 1279v21 l227 221h98l230 -224v-18h-112l-167 168l-166 -168h-110z" />
194
- <glyph unicode="&#xf5;" d="M91 524v33q0 239 131 392t347 153q217 0 348 -153t131 -392v-33q0 -240 -130.5 -392.5t-346.5 -152.5q-218 0 -349 152.5t-131 392.5zM211 524q0 -188 95 -316t265 -128q167 0 262.5 128t95.5 316v33q0 185 -96 314t-264 129t-263 -129t-95 -314v-33zM237 1300 q0 86 54 144.5t137 58.5q65 0 147 -55t135 -55q46 0 79 36t33 91l80 -20q0 -88 -55 -146t-137 -58q-74 0 -151 55t-131 55q-47 0 -79 -35t-32 -89z" />
195
- <glyph unicode="&#xf6;" d="M91 524v33q0 239 131 392t347 153q217 0 348 -153t131 -392v-33q0 -240 -130.5 -392.5t-346.5 -152.5q-218 0 -349 152.5t-131 392.5zM211 524q0 -188 95 -316t265 -128q167 0 262.5 128t95.5 316v33q0 185 -96 314t-264 129t-263 -129t-95 -314v-33zM265 1319v157h174 v-157h-174zM735 1319v157h173v-157h-173z" />
196
- <glyph unicode="&#xf7;" horiz-adv-x="1164" d="M72 644v116h998v-116h-998zM506 212v160h142v-160h-142zM506 1010v160h142v-160h-142z" />
197
- <glyph unicode="&#xf8;" horiz-adv-x="1141" d="M91 524v33q0 239 131 392t347 153q60 0 114 -12.5t102 -36.5l79 161h93l-101 -207q91 -72 141.5 -189t50.5 -261v-33q0 -240 -130.5 -392.5t-346.5 -152.5q-55 0 -104.5 10.5t-94.5 30.5l-78 -160h-93l99 202q-100 70 -154.5 190.5t-54.5 271.5zM211 524q0 -112 35 -206 t100 -149h6l385 787q-36 21 -78.5 32.5t-89.5 11.5q-168 0 -263 -129t-95 -314v-33zM418 114q33 -17 71.5 -25.5t81.5 -8.5q167 0 262.5 128t95.5 316v33q0 102 -32 192t-89 147h-6z" />
198
- <glyph unicode="&#xf9;" d="M154 455v627h120v-629q0 -198 67.5 -284t191.5 -86q136 0 217 61t113 168v770h120v-1082h-106l-10 177q-52 -95 -140 -146.5t-208 -51.5q-171 0 -268 116t-97 360zM292 1479l2 5h154l202 -266h-117z" />
199
- <glyph unicode="&#xfa;" d="M154 455v627h120v-629q0 -198 67.5 -284t191.5 -86q136 0 217 61t113 168v770h120v-1082h-106l-10 177q-52 -95 -140 -146.5t-208 -51.5q-171 0 -268 116t-97 360zM505 1214l207 266h147l3 -6l-249 -260h-108z" />
200
- <glyph unicode="&#xfb;" d="M154 455v627h120v-629q0 -198 67.5 -284t191.5 -86q136 0 217 61t113 168v770h120v-1082h-106l-10 177q-52 -95 -140 -146.5t-208 -51.5q-171 0 -268 116t-97 360zM304 1258v21l227 221h98l230 -224v-18h-112l-167 168l-166 -168h-110z" />
201
- <glyph unicode="&#xfc;" d="M154 455v627h120v-629q0 -198 67.5 -284t191.5 -86q136 0 217 61t113 168v770h120v-1082h-106l-10 177q-52 -95 -140 -146.5t-208 -51.5q-171 0 -268 116t-97 360zM263 1299v157h174v-157h-174zM733 1299v157h173v-157h-173z" />
202
- <glyph unicode="&#xfd;" horiz-adv-x="1002" d="M35 1082h133l297 -789l38 -129h6l327 918h134l-470 -1255q-42 -110 -109 -187t-196 -77q-21 0 -51 4.5t-44 9.5l14 100q12 -2 38.5 -4.5t38.5 -2.5q78 0 125 55.5t80 142.5l57 146zM439 1214l207 266h147l3 -6l-249 -260h-108z" />
203
- <glyph unicode="&#xfe;" horiz-adv-x="1151" d="M161 -416v1976h120v-640q54 87 138.5 134.5t198.5 47.5q195 0 305 -155.5t110 -414.5v-21q0 -243 -110 -387.5t-303 -144.5q-114 0 -199.5 43t-139.5 123v-561h-120zM281 271q41 -89 118.5 -140t193.5 -51q157 0 238.5 118t81.5 313v21q0 206 -82 336t-240 130 q-121 0 -196.5 -57.5t-113.5 -149.5v-520z" />
204
- <glyph unicode="&#xff;" horiz-adv-x="1002" d="M35 1082h133l297 -789l38 -129h6l327 918h134l-470 -1255q-42 -110 -109 -187t-196 -77q-21 0 -51 4.5t-44 9.5l14 100q12 -2 38.5 -4.5t38.5 -2.5q78 0 125 55.5t80 142.5l57 146zM197 1299v157h174v-157h-174zM667 1299v157h173v-157h-173z" />
205
- <glyph unicode="&#x152;" horiz-adv-x="1913" d="M108 576v304q0 264 148.5 430.5t387.5 166.5q75 0 152 -6t161 -15h862v-102h-798v-547h701v-102h-701v-604h803v-101h-867q-97 -10 -167.5 -15.5t-143.5 -5.5q-239 0 -388.5 166t-149.5 431zM228 576q0 -228 113.5 -361.5t304.5 -133.5q66 0 131.5 3.5t124.5 11.5v1264 q-60 7 -125 11t-133 4q-192 0 -304 -132t-112 -361v-306z" />
206
- <glyph unicode="&#x153;" horiz-adv-x="1892" d="M94 524v33q0 239 131 392t347 153q146 0 255.5 -72.5t168.5 -199.5q59 125 166 198.5t234 73.5q199 0 313 -126t114 -336v-102h-764v-29q0 -183 97 -306t255 -123q112 0 190.5 31t134.5 89l52 -82q-61 -64 -154.5 -101.5t-222.5 -37.5q-139 0 -248.5 71.5t-168.5 197.5 q-58 -126 -167 -197.5t-253 -71.5q-218 0 -349 152.5t-131 392.5zM214 524q0 -188 95 -316t265 -128q167 0 262 128t95 316v33q0 185 -95.5 314t-263.5 129t-263 -129t-95 -314v-33zM1068 644l2 -5h633v30q0 141 -82.5 236t-224.5 95q-133 0 -223 -101.5t-105 -254.5z" />
207
- <glyph unicode="&#x178;" horiz-adv-x="1244" d="M33 1456h139l448 -809l451 809h139l-531 -924v-532h-119v539zM303 1634v157h174v-157h-174zM773 1634v157h173v-157h-173z" />
208
- <glyph unicode="&#x2c6;" horiz-adv-x="880" d="M160 1252v21l227 221h98l230 -224v-18h-112l-167 168l-166 -168h-110z" />
209
- <glyph unicode="&#x2dc;" horiz-adv-x="892" d="M102 1281q0 86 54 144.5t137 58.5q65 0 147 -55t135 -55q46 0 79 36t33 91l80 -20q0 -88 -55 -146t-137 -58q-74 0 -151 55t-131 55q-47 0 -79 -35t-32 -89z" />
210
- <glyph unicode="&#x2000;" horiz-adv-x="948" />
211
- <glyph unicode="&#x2001;" horiz-adv-x="1896" />
212
- <glyph unicode="&#x2002;" horiz-adv-x="948" />
213
- <glyph unicode="&#x2003;" horiz-adv-x="1896" />
214
- <glyph unicode="&#x2004;" horiz-adv-x="632" />
215
- <glyph unicode="&#x2005;" horiz-adv-x="474" />
216
- <glyph unicode="&#x2006;" horiz-adv-x="316" />
217
- <glyph unicode="&#x2007;" horiz-adv-x="316" />
218
- <glyph unicode="&#x2008;" horiz-adv-x="237" />
219
- <glyph unicode="&#x2009;" horiz-adv-x="379" />
220
- <glyph unicode="&#x200a;" horiz-adv-x="105" />
221
- <glyph unicode="&#x2010;" horiz-adv-x="586" d="M49 570v101h479v-101h-479z" />
222
- <glyph unicode="&#x2011;" horiz-adv-x="586" d="M49 570v101h479v-101h-479z" />
223
- <glyph unicode="&#x2012;" horiz-adv-x="586" d="M49 570v101h479v-101h-479z" />
224
- <glyph unicode="&#x2013;" horiz-adv-x="1414" d="M165 686v102h1086v-102h-1086z" />
225
- <glyph unicode="&#x2014;" horiz-adv-x="1667" d="M136 686v102h1336v-102h-1336z" />
226
- <glyph unicode="&#x2018;" horiz-adv-x="364" d="M91 1074v174l111 312h71l-63 -312v-174h-119z" />
227
- <glyph unicode="&#x2019;" horiz-adv-x="364" d="M91 1074l63 304v182h119v-179l-111 -307h-71z" />
228
- <glyph unicode="&#x201a;" horiz-adv-x="353" d="M91 -211l52 266v204h119v-194l-100 -276h-71z" />
229
- <glyph unicode="&#x201c;" horiz-adv-x="612" d="M91 1074v174l111 312h71l-63 -312v-174h-119zM338 1074v174l111 312h71l-63 -312v-174h-119z" />
230
- <glyph unicode="&#x201d;" horiz-adv-x="617" d="M91 1074l63 304v182h119v-179l-111 -307h-71zM343 1074l63 304v182h119v-179l-111 -307h-71z" />
231
- <glyph unicode="&#x201e;" horiz-adv-x="593" d="M91 -202l51 295v181h120v-175l-100 -301h-71zM330 -202l52 299v177h120v-175l-100 -301h-72z" />
232
- <glyph unicode="&#x2022;" horiz-adv-x="662" d="M146 717v65q0 78 50.5 128.5t134.5 50.5q85 0 135.5 -50.5t50.5 -128.5v-65q0 -79 -50.5 -128t-134.5 -49q-85 0 -135.5 49t-50.5 128z" />
233
- <glyph unicode="&#x2026;" horiz-adv-x="1313" d="M188 0v164h137v-164h-137zM598 0v164h137v-164h-137zM990 0v164h137v-164h-137z" />
234
- <glyph unicode="&#x202f;" horiz-adv-x="379" />
235
- <glyph unicode="&#x2039;" horiz-adv-x="609" d="M108 541v19l295 379h105l-276 -389l276 -388h-105z" />
236
- <glyph unicode="&#x203a;" horiz-adv-x="609" d="M101 162l276 388l-276 389h105l295 -379v-19l-295 -379h-105z" />
237
- <glyph unicode="&#x205f;" horiz-adv-x="474" />
238
- <glyph unicode="&#x20ac;" horiz-adv-x="1073" d="M80 533v102h169v168h-169v102h169v37q0 244 135.5 389.5t355.5 145.5q57 0 112.5 -8t119.5 -23l-9 -106q-54 16 -110.5 25.5t-112.5 9.5q-172 0 -272 -116t-100 -315v-39h547v-102h-547v-168h547v-102h-547v-19q0 -198 101.5 -316t272.5 -118q57 0 113 8.5t108 25.5 l9 -104q-54 -15 -112.5 -23t-117.5 -8q-220 0 -356.5 145t-136.5 390v19h-169z" />
239
- <glyph unicode="&#x2122;" horiz-adv-x="1264" d="M96 1387v69h384v-69h-152v-468h-74v468h-158zM558 919v537h94l171 -423h6l174 423h88v-537h-73v383l-6 1l-160 -384h-51l-165 399l-6 -1v-398h-72z" />
240
- <glyph unicode="&#xe000;" horiz-adv-x="1080" d="M0 0v1080h1080v-1080h-1080z" />
241
- <glyph unicode="&#xfb02;" horiz-adv-x="1138" d="M66 984v98h179v158q0 163 81.5 252t228.5 89q33 0 67 -5t69 -14l-15 -99q-24 6 -49.5 9.5t-59.5 3.5q-98 0 -150 -62t-52 -174v-158h258v-98h-258v-984h-120v984h-179zM846 0v1560h119v-1560h-119z" />
242
- <glyph unicode="&#xfb03;" horiz-adv-x="1773" d="M66 984v98h179v158q0 163 81.5 252t228.5 89q33 0 67 -5t69 -14l-15 -99q-24 6 -49.5 9.5t-59.5 3.5q-98 0 -150 -62t-52 -174v-158h258v-98h-258v-984h-120v984h-179zM721 984v98h180v138q0 172 95 266.5t264 94.5q67 0 136 -15t140 -44l-20 -103q-61 25 -118 39 t-130 14q-122 0 -184.5 -65t-62.5 -187v-138h253v-98h-253v-984h-120v984h-180zM1481 0v1082h120v-1082h-120z" />
243
- <glyph unicode="&#xfb04;" horiz-adv-x="1811" d="M66 984v98h179v158q0 163 81.5 252t228.5 89q33 0 67 -5t69 -14l-15 -99q-24 6 -49.5 9.5t-59.5 3.5q-98 0 -150 -62t-52 -174v-158h258v-98h-258v-984h-120v984h-179zM739 984v98h179v158q0 163 81.5 252t228.5 89q33 0 67 -5t69 -14l-15 -99q-24 6 -49.5 9.5t-59.5 3.5 q-98 0 -150 -62t-52 -174v-158h258v-98h-258v-984h-120v984h-179zM1519 0v1560h119v-1560h-119z" />
244
- <hkern u1="&#x22;" u2="w" k="-11" />
245
- <hkern u1="&#x27;" u2="w" k="-11" />
246
- <hkern u1="&#x28;" u2="&#x178;" k="-22" />
247
- <hkern u1="&#x28;" u2="&#xdd;" k="-22" />
248
- <hkern u1="&#x28;" u2="Y" k="-22" />
249
- <hkern u1="&#x28;" u2="W" k="-18" />
250
- <hkern u1="&#x28;" u2="V" k="-20" />
251
- <hkern u1="&#x2f;" u2="&#x2f;" k="224" />
252
- <hkern u1="A" u2="w" k="33" />
253
- <hkern u1="A" u2="t" k="17" />
254
- <hkern u1="A" u2="&#x3f;" k="61" />
255
- <hkern u1="C" u2="&#x7d;" k="17" />
256
- <hkern u1="C" u2="]" k="12" />
257
- <hkern u1="C" u2="&#x29;" k="26" />
258
- <hkern u1="D" u2="&#xc6;" k="33" />
259
- <hkern u1="E" u2="w" k="22" />
260
- <hkern u1="E" u2="f" k="18" />
261
- <hkern u1="F" u2="&#x2026;" k="234" />
262
- <hkern u1="F" u2="&#x201e;" k="234" />
263
- <hkern u1="F" u2="&#x201a;" k="234" />
264
- <hkern u1="F" u2="&#x153;" k="21" />
265
- <hkern u1="F" u2="&#xff;" k="24" />
266
- <hkern u1="F" u2="&#xfd;" k="24" />
267
- <hkern u1="F" u2="&#xfc;" k="22" />
268
- <hkern u1="F" u2="&#xfb;" k="22" />
269
- <hkern u1="F" u2="&#xfa;" k="22" />
270
- <hkern u1="F" u2="&#xf9;" k="22" />
271
- <hkern u1="F" u2="&#xf6;" k="21" />
272
- <hkern u1="F" u2="&#xf5;" k="21" />
273
- <hkern u1="F" u2="&#xf4;" k="21" />
274
- <hkern u1="F" u2="&#xf3;" k="21" />
275
- <hkern u1="F" u2="&#xf2;" k="21" />
276
- <hkern u1="F" u2="&#xeb;" k="21" />
277
- <hkern u1="F" u2="&#xea;" k="21" />
278
- <hkern u1="F" u2="&#xe9;" k="21" />
279
- <hkern u1="F" u2="&#xe8;" k="21" />
280
- <hkern u1="F" u2="&#xe7;" k="21" />
281
- <hkern u1="F" u2="&#xe5;" k="34" />
282
- <hkern u1="F" u2="&#xe4;" k="34" />
283
- <hkern u1="F" u2="&#xe3;" k="34" />
284
- <hkern u1="F" u2="&#xe2;" k="34" />
285
- <hkern u1="F" u2="&#xe1;" k="34" />
286
- <hkern u1="F" u2="&#xe0;" k="34" />
287
- <hkern u1="F" u2="&#xc5;" k="59" />
288
- <hkern u1="F" u2="&#xc4;" k="59" />
289
- <hkern u1="F" u2="&#xc3;" k="59" />
290
- <hkern u1="F" u2="&#xc2;" k="59" />
291
- <hkern u1="F" u2="&#xc1;" k="59" />
292
- <hkern u1="F" u2="&#xc0;" k="59" />
293
- <hkern u1="F" u2="y" k="24" />
294
- <hkern u1="F" u2="v" k="24" />
295
- <hkern u1="F" u2="u" k="22" />
296
- <hkern u1="F" u2="r" k="26" />
297
- <hkern u1="F" u2="q" k="21" />
298
- <hkern u1="F" u2="o" k="21" />
299
- <hkern u1="F" u2="g" k="21" />
300
- <hkern u1="F" u2="e" k="21" />
301
- <hkern u1="F" u2="d" k="21" />
302
- <hkern u1="F" u2="c" k="21" />
303
- <hkern u1="F" u2="a" k="34" />
304
- <hkern u1="F" u2="T" k="-20" />
305
- <hkern u1="F" u2="J" k="264" />
306
- <hkern u1="F" u2="A" k="59" />
307
- <hkern u1="F" u2="&#x2e;" k="234" />
308
- <hkern u1="F" u2="&#x2c;" k="234" />
309
- <hkern u1="K" u2="w" k="63" />
310
- <hkern u1="L" u2="w" k="92" />
311
- <hkern u1="O" u2="&#xc6;" k="33" />
312
- <hkern u1="P" u2="&#xc6;" k="97" />
313
- <hkern u1="P" u2="t" k="-14" />
314
- <hkern u1="Q" u2="&#x178;" k="35" />
315
- <hkern u1="Q" u2="&#xdd;" k="35" />
316
- <hkern u1="Q" u2="Y" k="35" />
317
- <hkern u1="Q" u2="W" k="20" />
318
- <hkern u1="Q" u2="V" k="28" />
319
- <hkern u1="Q" u2="T" k="43" />
320
- <hkern u1="R" u2="&#x178;" k="48" />
321
- <hkern u1="R" u2="&#xdd;" k="48" />
322
- <hkern u1="R" u2="Y" k="48" />
323
- <hkern u1="R" u2="V" k="19" />
324
- <hkern u1="R" u2="T" k="80" />
325
- <hkern u1="T" u2="&#xf8;" k="95" />
326
- <hkern u1="T" u2="&#xe6;" k="114" />
327
- <hkern u1="T" u2="&#xc6;" k="179" />
328
- <hkern u1="T" u2="&#xbb;" k="216" />
329
- <hkern u1="T" u2="&#xab;" k="328" />
330
- <hkern u1="T" u2="w" k="57" />
331
- <hkern u1="T" u2="r" k="75" />
332
- <hkern u1="V" u2="&#x7d;" k="-19" />
333
- <hkern u1="V" u2="r" k="30" />
334
- <hkern u1="V" u2="]" k="-17" />
335
- <hkern u1="V" u2="&#x29;" k="-20" />
336
- <hkern u1="W" u2="&#x7d;" k="-14" />
337
- <hkern u1="W" u2="r" k="21" />
338
- <hkern u1="W" u2="]" k="-12" />
339
- <hkern u1="W" u2="&#x29;" k="-15" />
340
- <hkern u1="Y" u2="&#x2022;" k="45" />
341
- <hkern u1="Y" u2="&#xf8;" k="64" />
342
- <hkern u1="Y" u2="&#xe6;" k="63" />
343
- <hkern u1="Y" u2="&#xc6;" k="96" />
344
- <hkern u1="Y" u2="&#xbb;" k="51" />
345
- <hkern u1="Y" u2="&#xab;" k="82" />
346
- <hkern u1="Y" u2="&#x7d;" k="-19" />
347
- <hkern u1="Y" u2="t" k="22" />
348
- <hkern u1="Y" u2="r" k="40" />
349
- <hkern u1="Y" u2="f" k="22" />
350
- <hkern u1="Y" u2="]" k="-18" />
351
- <hkern u1="Y" u2="&#x2a;" k="49" />
352
- <hkern u1="Y" u2="&#x29;" k="-20" />
353
- <hkern u1="Y" u2="&#x26;" k="30" />
354
- <hkern u1="Z" u2="w" k="27" />
355
- <hkern u1="[" u2="&#xdc;" k="18" />
356
- <hkern u1="[" u2="&#xdb;" k="18" />
357
- <hkern u1="[" u2="&#xda;" k="18" />
358
- <hkern u1="[" u2="&#xd9;" k="18" />
359
- <hkern u1="[" u2="U" k="18" />
360
- <hkern u1="[" u2="J" k="18" />
361
- <hkern u1="f" u2="&#x201d;" k="-16" />
362
- <hkern u1="f" u2="&#x201c;" k="-16" />
363
- <hkern u1="f" u2="&#x2019;" k="-16" />
364
- <hkern u1="f" u2="&#x2018;" k="-16" />
365
- <hkern u1="f" u2="&#x153;" k="24" />
366
- <hkern u1="f" u2="&#xeb;" k="24" />
367
- <hkern u1="f" u2="&#xea;" k="24" />
368
- <hkern u1="f" u2="&#xe9;" k="24" />
369
- <hkern u1="f" u2="&#xe8;" k="24" />
370
- <hkern u1="f" u2="&#xe7;" k="24" />
371
- <hkern u1="f" u2="&#x7d;" k="-19" />
372
- <hkern u1="f" u2="q" k="24" />
373
- <hkern u1="f" u2="g" k="24" />
374
- <hkern u1="f" u2="e" k="24" />
375
- <hkern u1="f" u2="d" k="24" />
376
- <hkern u1="f" u2="c" k="24" />
377
- <hkern u1="f" u2="]" k="-18" />
378
- <hkern u1="f" u2="&#x29;" k="-20" />
379
- <hkern u1="f" u2="&#x27;" k="-16" />
380
- <hkern u1="f" u2="&#x22;" k="-16" />
381
- <hkern u1="k" u2="&#x153;" k="20" />
382
- <hkern u1="k" u2="&#xeb;" k="20" />
383
- <hkern u1="k" u2="&#xea;" k="20" />
384
- <hkern u1="k" u2="&#xe9;" k="20" />
385
- <hkern u1="k" u2="&#xe8;" k="20" />
386
- <hkern u1="k" u2="&#xe7;" k="20" />
387
- <hkern u1="k" u2="q" k="20" />
388
- <hkern u1="k" u2="g" k="20" />
389
- <hkern u1="k" u2="e" k="20" />
390
- <hkern u1="k" u2="d" k="20" />
391
- <hkern u1="k" u2="c" k="20" />
392
- <hkern u1="r" u2="w" k="-17" />
393
- <hkern u1="r" u2="t" k="-32" />
394
- <hkern u1="r" u2="f" k="-15" />
395
- <hkern u1="t" u2="&#xf6;" k="20" />
396
- <hkern u1="t" u2="&#xf5;" k="20" />
397
- <hkern u1="t" u2="&#xf4;" k="20" />
398
- <hkern u1="t" u2="&#xf3;" k="20" />
399
- <hkern u1="t" u2="&#xf2;" k="20" />
400
- <hkern u1="t" u2="o" k="20" />
401
- <hkern u1="v" u2="f" k="-13" />
402
- <hkern u1="w" u2="&#x2026;" k="124" />
403
- <hkern u1="w" u2="&#x201e;" k="124" />
404
- <hkern u1="w" u2="&#x201a;" k="124" />
405
- <hkern u1="w" u2="&#x2e;" k="124" />
406
- <hkern u1="w" u2="&#x2c;" k="124" />
407
- <hkern u1="y" u2="f" k="-13" />
408
- <hkern u1="&#x7b;" u2="&#xdc;" k="20" />
409
- <hkern u1="&#x7b;" u2="&#xdb;" k="20" />
410
- <hkern u1="&#x7b;" u2="&#xda;" k="20" />
411
- <hkern u1="&#x7b;" u2="&#xd9;" k="20" />
412
- <hkern u1="&#x7b;" u2="U" k="20" />
413
- <hkern u1="&#x7b;" u2="J" k="20" />
414
- <hkern u1="&#xc0;" u2="w" k="33" />
415
- <hkern u1="&#xc0;" u2="t" k="17" />
416
- <hkern u1="&#xc0;" u2="&#x3f;" k="61" />
417
- <hkern u1="&#xc1;" u2="w" k="33" />
418
- <hkern u1="&#xc1;" u2="t" k="17" />
419
- <hkern u1="&#xc1;" u2="&#x3f;" k="61" />
420
- <hkern u1="&#xc2;" u2="w" k="33" />
421
- <hkern u1="&#xc2;" u2="t" k="17" />
422
- <hkern u1="&#xc2;" u2="&#x3f;" k="61" />
423
- <hkern u1="&#xc3;" u2="w" k="33" />
424
- <hkern u1="&#xc3;" u2="t" k="17" />
425
- <hkern u1="&#xc3;" u2="&#x3f;" k="61" />
426
- <hkern u1="&#xc4;" u2="w" k="33" />
427
- <hkern u1="&#xc4;" u2="t" k="17" />
428
- <hkern u1="&#xc4;" u2="&#x3f;" k="61" />
429
- <hkern u1="&#xc5;" u2="w" k="33" />
430
- <hkern u1="&#xc5;" u2="t" k="17" />
431
- <hkern u1="&#xc5;" u2="&#x3f;" k="61" />
432
- <hkern u1="&#xc7;" u2="&#x7d;" k="17" />
433
- <hkern u1="&#xc7;" u2="]" k="12" />
434
- <hkern u1="&#xc7;" u2="&#x29;" k="26" />
435
- <hkern u1="&#xc8;" u2="w" k="22" />
436
- <hkern u1="&#xc8;" u2="f" k="18" />
437
- <hkern u1="&#xc9;" u2="w" k="22" />
438
- <hkern u1="&#xc9;" u2="f" k="18" />
439
- <hkern u1="&#xca;" u2="w" k="22" />
440
- <hkern u1="&#xca;" u2="f" k="18" />
441
- <hkern u1="&#xcb;" u2="w" k="22" />
442
- <hkern u1="&#xcb;" u2="f" k="18" />
443
- <hkern u1="&#xd0;" u2="&#xc6;" k="33" />
444
- <hkern u1="&#xd2;" u2="&#xc6;" k="33" />
445
- <hkern u1="&#xd3;" u2="&#xc6;" k="33" />
446
- <hkern u1="&#xd4;" u2="&#xc6;" k="33" />
447
- <hkern u1="&#xd5;" u2="&#xc6;" k="33" />
448
- <hkern u1="&#xd6;" u2="&#xc6;" k="33" />
449
- <hkern u1="&#xdd;" u2="&#x2022;" k="45" />
450
- <hkern u1="&#xdd;" u2="&#xf8;" k="64" />
451
- <hkern u1="&#xdd;" u2="&#xe6;" k="63" />
452
- <hkern u1="&#xdd;" u2="&#xc6;" k="96" />
453
- <hkern u1="&#xdd;" u2="&#xbb;" k="51" />
454
- <hkern u1="&#xdd;" u2="&#xab;" k="82" />
455
- <hkern u1="&#xdd;" u2="&#x7d;" k="-19" />
456
- <hkern u1="&#xdd;" u2="t" k="22" />
457
- <hkern u1="&#xdd;" u2="r" k="40" />
458
- <hkern u1="&#xdd;" u2="f" k="22" />
459
- <hkern u1="&#xdd;" u2="]" k="-18" />
460
- <hkern u1="&#xdd;" u2="&#x2a;" k="49" />
461
- <hkern u1="&#xdd;" u2="&#x29;" k="-20" />
462
- <hkern u1="&#xdd;" u2="&#x26;" k="30" />
463
- <hkern u1="&#xfd;" u2="f" k="-13" />
464
- <hkern u1="&#xff;" u2="f" k="-13" />
465
- <hkern u1="&#x178;" u2="&#x2022;" k="45" />
466
- <hkern u1="&#x178;" u2="&#xf8;" k="64" />
467
- <hkern u1="&#x178;" u2="&#xe6;" k="63" />
468
- <hkern u1="&#x178;" u2="&#xc6;" k="96" />
469
- <hkern u1="&#x178;" u2="&#xbb;" k="51" />
470
- <hkern u1="&#x178;" u2="&#xab;" k="82" />
471
- <hkern u1="&#x178;" u2="&#x7d;" k="-19" />
472
- <hkern u1="&#x178;" u2="t" k="22" />
473
- <hkern u1="&#x178;" u2="r" k="40" />
474
- <hkern u1="&#x178;" u2="f" k="22" />
475
- <hkern u1="&#x178;" u2="]" k="-18" />
476
- <hkern u1="&#x178;" u2="&#x2a;" k="49" />
477
- <hkern u1="&#x178;" u2="&#x29;" k="-20" />
478
- <hkern u1="&#x178;" u2="&#x26;" k="30" />
479
- <hkern u1="&#x2018;" u2="w" k="-11" />
480
- <hkern u1="&#x2019;" u2="w" k="-11" />
481
- <hkern u1="&#x201c;" u2="w" k="-11" />
482
- <hkern u1="&#x201d;" u2="w" k="-11" />
483
- <hkern g1="comma,period,quotesinglbase,quotedblbase,ellipsis" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="170" />
484
- <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="120" />
485
- <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="12" />
486
- <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="11" />
487
- <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="T" k="129" />
488
- <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="17" />
489
- <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="V" k="87" />
490
- <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="W" k="69" />
491
- <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="Y,Yacute,Ydieresis" k="94" />
492
- <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="u,ugrave,uacute,ucircumflex,udieresis" k="11" />
493
- <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="v,y,yacute,ydieresis" k="50" />
494
- <hkern g1="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" g2="z" k="-12" />
495
- <hkern g1="B" g2="T" k="27" />
496
- <hkern g1="B" g2="V" k="24" />
497
- <hkern g1="B" g2="Y,Yacute,Ydieresis" k="55" />
498
- <hkern g1="C,Ccedilla" g2="T" k="29" />
499
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="21" />
500
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="T" k="27" />
501
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="V" k="22" />
502
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="Y,Yacute,Ydieresis" k="43" />
503
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="102" />
504
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="X" k="22" />
505
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="Z" k="23" />
506
- <hkern g1="E,Egrave,Eacute,Ecircumflex,Edieresis" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="19" />
507
- <hkern g1="E,Egrave,Eacute,Ecircumflex,Edieresis" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="19" />
508
- <hkern g1="E,Egrave,Eacute,Ecircumflex,Edieresis" g2="T" k="-20" />
509
- <hkern g1="E,Egrave,Eacute,Ecircumflex,Edieresis" g2="u,ugrave,uacute,ucircumflex,udieresis" k="17" />
510
- <hkern g1="E,Egrave,Eacute,Ecircumflex,Edieresis" g2="v,y,yacute,ydieresis" k="26" />
511
- <hkern g1="H,I,M,N,Igrave,Iacute,Icircumflex,Idieresis,Ntilde" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-18" />
512
- <hkern g1="H,I,M,N,Igrave,Iacute,Icircumflex,Idieresis,Ntilde" g2="T" k="29" />
513
- <hkern g1="H,I,M,N,Igrave,Iacute,Icircumflex,Idieresis,Ntilde" g2="Y,Yacute,Ydieresis" k="28" />
514
- <hkern g1="H,I,M,N,Igrave,Iacute,Icircumflex,Idieresis,Ntilde" g2="X" k="-17" />
515
- <hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="22" />
516
- <hkern g1="K" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="26" />
517
- <hkern g1="K" g2="m,n,p,ntilde" k="23" />
518
- <hkern g1="K" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="27" />
519
- <hkern g1="K" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="31" />
520
- <hkern g1="K" g2="u,ugrave,uacute,ucircumflex,udieresis" k="23" />
521
- <hkern g1="K" g2="v,y,yacute,ydieresis" k="40" />
522
- <hkern g1="K" g2="hyphen,uni00AD,endash,emdash" k="64" />
523
- <hkern g1="L" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="138" />
524
- <hkern g1="L" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-19" />
525
- <hkern g1="L" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="65" />
526
- <hkern g1="L" g2="T" k="275" />
527
- <hkern g1="L" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="54" />
528
- <hkern g1="L" g2="V" k="175" />
529
- <hkern g1="L" g2="W" k="143" />
530
- <hkern g1="L" g2="Y,Yacute,Ydieresis" k="239" />
531
- <hkern g1="L" g2="u,ugrave,uacute,ucircumflex,udieresis" k="44" />
532
- <hkern g1="L" g2="v,y,yacute,ydieresis" k="133" />
533
- <hkern g1="P" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="138" />
534
- <hkern g1="P" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring" k="11" />
535
- <hkern g1="P" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="13" />
536
- <hkern g1="P" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="13" />
537
- <hkern g1="P" g2="v,y,yacute,ydieresis" k="-15" />
538
- <hkern g1="P" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="324" />
539
- <hkern g1="P" g2="X" k="31" />
540
- <hkern g1="P" g2="Z" k="26" />
541
- <hkern g1="P" g2="J" k="200" />
542
- <hkern g1="T" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="79" />
543
- <hkern g1="T" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring" k="113" />
544
- <hkern g1="T" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="99" />
545
- <hkern g1="T" g2="m,n,p,ntilde" k="109" />
546
- <hkern g1="T" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="99" />
547
- <hkern g1="T" g2="s" k="116" />
548
- <hkern g1="T" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="28" />
549
- <hkern g1="T" g2="T" k="-16" />
550
- <hkern g1="T" g2="V" k="-16" />
551
- <hkern g1="T" g2="W" k="-15" />
552
- <hkern g1="T" g2="Y,Yacute,Ydieresis" k="-16" />
553
- <hkern g1="T" g2="u,ugrave,uacute,ucircumflex,udieresis" k="95" />
554
- <hkern g1="T" g2="v,y,yacute,ydieresis" k="72" />
555
- <hkern g1="T" g2="z" k="60" />
556
- <hkern g1="T" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="218" />
557
- <hkern g1="T" g2="hyphen,uni00AD,endash,emdash" k="232" />
558
- <hkern g1="T" g2="J" k="240" />
559
- <hkern g1="T" g2="S" k="16" />
560
- <hkern g1="T" g2="x" k="77" />
561
- <hkern g1="V" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="75" />
562
- <hkern g1="V" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring" k="46" />
563
- <hkern g1="V" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="44" />
564
- <hkern g1="V" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="46" />
565
- <hkern g1="V" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="13" />
566
- <hkern g1="V" g2="u,ugrave,uacute,ucircumflex,udieresis" k="28" />
567
- <hkern g1="V" g2="v,y,yacute,ydieresis" k="11" />
568
- <hkern g1="V" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="225" />
569
- <hkern g1="V" g2="hyphen,uni00AD,endash,emdash" k="37" />
570
- <hkern g1="W" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="43" />
571
- <hkern g1="W" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring" k="33" />
572
- <hkern g1="W" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="31" />
573
- <hkern g1="W" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="31" />
574
- <hkern g1="W" g2="T" k="-14" />
575
- <hkern g1="W" g2="u,ugrave,uacute,ucircumflex,udieresis" k="19" />
576
- <hkern g1="W" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="123" />
577
- <hkern g1="W" g2="hyphen,uni00AD,endash,emdash" k="60" />
578
- <hkern g1="X" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="26" />
579
- <hkern g1="X" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="21" />
580
- <hkern g1="X" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="25" />
581
- <hkern g1="X" g2="V" k="-14" />
582
- <hkern g1="X" g2="u,ugrave,uacute,ucircumflex,udieresis" k="21" />
583
- <hkern g1="X" g2="v,y,yacute,ydieresis" k="31" />
584
- <hkern g1="X" g2="hyphen,uni00AD,endash,emdash" k="46" />
585
- <hkern g1="Y,Yacute,Ydieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="94" />
586
- <hkern g1="Y,Yacute,Ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring" k="73" />
587
- <hkern g1="Y,Yacute,Ydieresis" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="65" />
588
- <hkern g1="Y,Yacute,Ydieresis" g2="m,n,p,ntilde" k="40" />
589
- <hkern g1="Y,Yacute,Ydieresis" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="65" />
590
- <hkern g1="Y,Yacute,Ydieresis" g2="s" k="58" />
591
- <hkern g1="Y,Yacute,Ydieresis" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="29" />
592
- <hkern g1="Y,Yacute,Ydieresis" g2="T" k="-17" />
593
- <hkern g1="Y,Yacute,Ydieresis" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="96" />
594
- <hkern g1="Y,Yacute,Ydieresis" g2="V" k="-18" />
595
- <hkern g1="Y,Yacute,Ydieresis" g2="W" k="-17" />
596
- <hkern g1="Y,Yacute,Ydieresis" g2="Y,Yacute,Ydieresis" k="-18" />
597
- <hkern g1="Y,Yacute,Ydieresis" g2="u,ugrave,uacute,ucircumflex,udieresis" k="39" />
598
- <hkern g1="Y,Yacute,Ydieresis" g2="v,y,yacute,ydieresis" k="20" />
599
- <hkern g1="Y,Yacute,Ydieresis" g2="z" k="30" />
600
- <hkern g1="Y,Yacute,Ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="211" />
601
- <hkern g1="Y,Yacute,Ydieresis" g2="X" k="-13" />
602
- <hkern g1="Y,Yacute,Ydieresis" g2="hyphen,uni00AD,endash,emdash" k="52" />
603
- <hkern g1="Y,Yacute,Ydieresis" g2="J" k="96" />
604
- <hkern g1="Y,Yacute,Ydieresis" g2="S" k="16" />
605
- <hkern g1="Y,Yacute,Ydieresis" g2="x" k="23" />
606
- <hkern g1="Z" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-13" />
607
- <hkern g1="Z" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="21" />
608
- <hkern g1="Z" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="21" />
609
- <hkern g1="Z" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="26" />
610
- <hkern g1="Z" g2="u,ugrave,uacute,ucircumflex,udieresis" k="19" />
611
- <hkern g1="Z" g2="v,y,yacute,ydieresis" k="27" />
612
- <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="67" />
613
- <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="v,y,yacute,ydieresis" k="15" />
614
- <hkern g1="b,p,thorn" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="29" />
615
- <hkern g1="b,p,thorn" g2="v,y,yacute,ydieresis" k="11" />
616
- <hkern g1="b,p,thorn" g2="z" k="15" />
617
- <hkern g1="b,p,thorn" g2="x" k="15" />
618
- <hkern g1="c,ccedilla" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="11" />
619
- <hkern g1="e,egrave,eacute,ecircumflex,edieresis" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="14" />
620
- <hkern g1="e,egrave,eacute,ecircumflex,edieresis" g2="v,y,yacute,ydieresis" k="13" />
621
- <hkern g1="h,m,n,ntilde" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="16" />
622
- <hkern g1="o,ograve,oacute,ocircumflex,otilde,odieresis" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="20" />
623
- <hkern g1="o,ograve,oacute,ocircumflex,otilde,odieresis" g2="v,y,yacute,ydieresis" k="15" />
624
- <hkern g1="o,ograve,oacute,ocircumflex,otilde,odieresis" g2="z" k="16" />
625
- <hkern g1="o,ograve,oacute,ocircumflex,otilde,odieresis" g2="x" k="21" />
626
- <hkern g1="r" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="-16" />
627
- <hkern g1="r" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="19" />
628
- <hkern g1="r" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="20" />
629
- <hkern g1="r" g2="v,y,yacute,ydieresis" k="-18" />
630
- <hkern g1="r" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="123" />
631
- <hkern g1="v,y,yacute,ydieresis" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="-15" />
632
- <hkern g1="v,y,yacute,ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring" k="15" />
633
- <hkern g1="v,y,yacute,ydieresis" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="13" />
634
- <hkern g1="v,y,yacute,ydieresis" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="15" />
635
- <hkern g1="v,y,yacute,ydieresis" g2="comma,period,quotesinglbase,quotedblbase,ellipsis" k="107" />
636
- <hkern g1="x" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="20" />
637
- <hkern g1="x" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="20" />
638
- <hkern g1="z" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="16" />
639
- <hkern g1="z" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="16" />
640
- </font>
641
- </defs></svg>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/font/roboto/Roboto-Light-webfont.ttf DELETED
Binary file
admin/font/roboto/Roboto-Light-webfont.woff DELETED
Binary file
admin/font/roboto/Roboto-Regular-webfont.eot DELETED
Binary file
admin/font/roboto/Roboto-Regular-webfont.svg DELETED
@@ -1,621 +0,0 @@
1
- <?xml version="1.0" standalone="no"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
3
- <svg xmlns="http://www.w3.org/2000/svg">
4
- <metadata></metadata>
5
- <defs>
6
- <font id="robotoregular" horiz-adv-x="1164" >
7
- <font-face units-per-em="2048" ascent="1638" descent="-410" />
8
- <missing-glyph horiz-adv-x="509" />
9
- <glyph unicode="&#xfb01;" horiz-adv-x="1140" d="M28 936v146h170v117q0 182 106.5 282t295.5 100q67 0 132 -15.5t153 -45.5l-34 -160q-53 21 -113 36t-123 15q-117 0 -168.5 -52t-51.5 -160v-117h215v-146h-215v-936h-197v936h-170zM783 0v1082h198v-1082h-198z" />
10
- <glyph horiz-adv-x="2048" />
11
- <glyph horiz-adv-x="2048" />
12
- <glyph unicode="&#xd;" horiz-adv-x="509" />
13
- <glyph unicode=" " horiz-adv-x="509" />
14
- <glyph unicode="&#x09;" horiz-adv-x="509" />
15
- <glyph unicode="&#xa0;" horiz-adv-x="509" />
16
- <glyph unicode="!" horiz-adv-x="539" d="M171 0v204h198v-204h-198zM171 478v978h197v-978h-197z" />
17
- <glyph unicode="&#x22;" horiz-adv-x="668" d="M80 1040l1 240v280h197v-270l-101 -250h-97zM389 1040l1 248v272h197v-270l-101 -250h-97z" />
18
- <glyph unicode="#" horiz-adv-x="1276" d="M70 410v140h264l68 348h-256v142h284l82 416h151l-82 -416h255l82 416h151l-82 -416h199v-142h-226l-68 -348h219v-140h-247l-80 -410h-152l80 410h-255l-80 -410h-151l80 410h-236zM485 550h255l68 348h-255z" />
19
- <glyph unicode="$" horiz-adv-x="1153" d="M114 424l2 5h190q0 -154 77.5 -219.5t190.5 -65.5q129 0 201.5 61.5t72.5 170.5q0 89 -64 153t-210 114q-202 61 -305 163t-103 272q0 165 94.5 269t260.5 125v221h158v-222q168 -24 260.5 -143.5t92.5 -320.5h-196q0 136 -63 220t-175 84q-118 0 -176.5 -61.5 t-58.5 -168.5q0 -97 60.5 -157t218.5 -114q205 -66 304 -164.5t99 -267.5q0 -172 -103 -273.5t-283 -120.5v-192h-157v191q-172 18 -282 125.5t-106 315.5z" />
20
- <glyph unicode="%" horiz-adv-x="1498" d="M104 1099v77q0 127 82 214t219 87t219 -86.5t82 -214.5v-77q0 -127 -81.5 -213t-217.5 -86q-138 0 -220.5 86t-82.5 213zM250 1099q0 -74 40.5 -125.5t116.5 -51.5q73 0 113 51t40 126v77q0 74 -40.5 126.5t-114.5 52.5q-75 0 -115 -52.5t-40 -126.5v-77zM349 177 l711 1138l109 -67l-711 -1138zM809 279v78q0 127 82 213.5t219 86.5q136 0 218.5 -86.5t82.5 -213.5v-78q0 -128 -82 -214t-217 -86q-138 0 -220.5 86t-82.5 214zM955 279q0 -75 40.5 -126.5t116.5 -51.5q73 0 113 51.5t40 126.5v78q0 74 -41 126t-114 52q-74 0 -114.5 -52 t-40.5 -126v-78z" />
21
- <glyph unicode="&#x26;" horiz-adv-x="1276" d="M64 392q0 122 70.5 213.5t210.5 183.5q-78 99 -116 176.5t-38 159.5q0 169 97.5 260.5t268.5 91.5q158 0 257 -91t99 -219q0 -98 -52.5 -169.5t-155.5 -146.5l-109 -80l340 -409q41 65 64 144t23 167h176q0 -132 -39 -244t-113 -201l185 -223l-2 -5h-229l-85 102 q-80 -60 -177 -91.5t-201 -31.5q-217 0 -345.5 115t-128.5 298zM261 392q0 -113 71 -186t206 -73q72 0 142 24.5t132 70.5l-361 435l-40 -29q-91 -68 -120.5 -130t-29.5 -112zM388 1127q0 -53 27 -110.5t81 -125.5l138 95q57 38 77.5 82.5t20.5 98.5q0 61 -48.5 108 t-126.5 47q-81 0 -125 -56.5t-44 -138.5z" />
22
- <glyph unicode="'" horiz-adv-x="359" d="M80 1055l1 265v240h197v-223l-101 -282h-97z" />
23
- <glyph unicode="(" horiz-adv-x="679" d="M132 582v9q0 394 159 673t334 372l6 -1l38 -116q-137 -107 -238.5 -343t-101.5 -583v-13q0 -347 101 -583t239 -352l-38 -108h-6q-175 93 -334 371.5t-159 673.5z" />
24
- <glyph unicode=")" horiz-adv-x="687" d="M6 -355q135 105 237.5 345.5t102.5 589.5v13q0 342 -105.5 583.5t-234.5 351.5l38 108h6q174 -93 333.5 -372t159.5 -673v-9q0 -395 -159.5 -673.5t-333.5 -371.5h-6z" />
25
- <glyph unicode="*" horiz-adv-x="884" d="M28 1071l49 154l296 -111l-10 342h161l-10 -348l293 110l48 -156l-302 -89l193 -270l-131 -96l-181 287l-176 -279l-132 93l198 274z" />
26
- <glyph unicode="+" horiz-adv-x="1162" d="M78 605v178h402v423h197v-423h399v-178h-399v-459h-197v459h-402z" />
27
- <glyph unicode="," horiz-adv-x="404" d="M48 -258l70 316v163h197v-173l-150 -306h-117z" />
28
- <glyph unicode="-" horiz-adv-x="561" d="M35 538v154h490v-154h-490z" />
29
- <glyph unicode="." horiz-adv-x="548" d="M161 0v202h197v-202h-197z" />
30
- <glyph unicode="/" horiz-adv-x="850" d="M16 -125l608 1581h167l-607 -1581h-168z" />
31
- <glyph unicode="0" horiz-adv-x="1154" d="M113 555v345q0 278 124.5 427.5t338.5 149.5q215 0 339.5 -149.5t124.5 -427.5v-345q0 -279 -123.5 -427.5t-338.5 -148.5t-340 149t-125 427zM310 515q0 -189 69 -285.5t199 -96.5t197.5 96t67.5 286v427q0 189 -68.5 284.5t-198.5 95.5t-198 -95.5t-68 -284.5v-427z " />
32
- <glyph unicode="1" horiz-adv-x="1153" d="M186 1260v142l495 54v-1456h-197v1264z" />
33
- <glyph unicode="2" horiz-adv-x="1153" d="M97 1033q-5 188 125 316t360 128q196 0 312.5 -114.5t116.5 -291.5q0 -119 -70.5 -238.5t-197.5 -256.5l-383 -417l2 -5h700v-154h-944v135l477 530q128 143 173.5 227t45.5 172q0 109 -63.5 183.5t-168.5 74.5q-151 0 -222.5 -77.5t-71.5 -217.5h-189z" />
34
- <glyph unicode="3" horiz-adv-x="1153" d="M100 378l3 6h188q0 -115 70.5 -183t193.5 -68q125 0 196 68t71 201q0 135 -63 199t-199 64h-172v154h172q131 0 185.5 65.5t54.5 182.5q0 125 -62 190t-183 65q-115 0 -184.5 -67.5t-69.5 -179.5h-189l-2 6q-5 165 119.5 280.5t325.5 115.5q202 0 322 -107.5t120 -306.5 q0 -90 -54.5 -179.5t-163.5 -136.5q131 -43 185.5 -135t54.5 -206q0 -199 -130.5 -313t-333.5 -114q-199 0 -329.5 107.5t-125.5 291.5z" />
35
- <glyph unicode="4" horiz-adv-x="1153" d="M55 336v111l642 1009h208v-966h201v-154h-201v-336h-196v336h-654zM265 490h444v683l-6 1l-19 -50z" />
36
- <glyph unicode="5" horiz-adv-x="1153" d="M157 377l2 6h178q0 -119 68.5 -184.5t177.5 -65.5q125 0 194 88t69 241q0 140 -70 230t-193 90q-116 0 -168 -35t-76 -107l-164 17l84 799h729v-175h-562l-48 -409q46 34 102.5 56.5t130.5 24.5q201 2 316.5 -131t115.5 -358q0 -219 -117.5 -352t-342.5 -133 q-185 0 -308 101t-118 297z" />
37
- <glyph unicode="6" horiz-adv-x="1153" d="M132 571v278q0 280 156 454t387 174q75 0 148.5 -17t121.5 -43l-42 -151q-49 25 -102.5 40.5t-125.5 15.5q-156 0 -251.5 -125t-95.5 -326v-23q64 56 146.5 87.5t177.5 31.5q195 0 311 -135t116 -342q0 -226 -123.5 -368.5t-329.5 -142.5q-214 0 -354 155t-140 437z M328 552q0 -201 85 -310t213 -109q121 0 188.5 102.5t67.5 254.5q0 144 -72.5 237t-201.5 93q-101 0 -172 -41t-108 -109v-118z" />
38
- <glyph unicode="7" horiz-adv-x="1153" d="M77 1301v155h985v-155q-264 -314 -356.5 -556.5t-133.5 -587.5l-16 -157h-197l16 157q42 344 163 615t331 529h-792z" />
39
- <glyph unicode="8" horiz-adv-x="1153" d="M102 394q0 123 74 217t200 138q-109 42 -171 127.5t-62 199.5q0 192 118.5 296.5t313.5 104.5q192 0 313.5 -104.5t121.5 -296.5q0 -114 -64 -199.5t-173 -127.5q126 -44 201.5 -138t75.5 -217q0 -202 -131.5 -308.5t-341.5 -106.5q-214 0 -344.5 106.5t-130.5 308.5z M299 398q0 -124 76 -194.5t202 -70.5q123 0 200 71t77 194q0 120 -79 197t-200 77q-123 0 -199.5 -77t-76.5 -197zM340 1072q0 -111 65.5 -178t171.5 -67q104 0 170 67t66 178q0 108 -67.5 179t-170.5 71q-105 0 -170 -68.5t-65 -181.5z" />
40
- <glyph unicode="9" horiz-adv-x="1153" d="M83 978q0 219 131.5 359t319.5 140q228 0 359.5 -142.5t131.5 -419.5v-347q0 -285 -142.5 -437t-371.5 -152q-77 0 -156.5 14.5t-142.5 44.5l30 151q59 -31 122.5 -43.5t146.5 -12.5q144 0 230.5 109t86.5 324v66q-49 -71 -122.5 -107.5t-163.5 -36.5q-211 0 -335 130.5 t-124 359.5zM280 978q0 -150 70.5 -243t191.5 -93q109 0 181.5 47t104.5 120v126q0 191 -73.5 289t-214.5 98q-108 0 -184 -96.5t-76 -247.5z" />
41
- <glyph unicode=":" horiz-adv-x="517" d="M161 0v202h197v-202h-197zM161 876v202h197v-202h-197z" />
42
- <glyph unicode=";" horiz-adv-x="525" d="M99 -258l70 316v163h197v-173l-150 -306h-117zM162 876v202h197v-202h-197z" />
43
- <glyph unicode="&#x3c;" horiz-adv-x="1040" d="M71 466v149l816 378v-201l-559 -233l-85 -18v-6l85 -19l559 -228v-201z" />
44
- <glyph unicode="=" horiz-adv-x="1153" d="M152 407v164h834v-164h-834zM152 823v164h834v-164h-834z" />
45
- <glyph unicode="&#x3e;" horiz-adv-x="1072" d="M136 87v196l598 238l85 17v6l-85 20l-598 234v195l856 -378v-149z" />
46
- <glyph unicode="?" horiz-adv-x="974" d="M61 1122q-3 161 113.5 258t296.5 97q197 0 306 -100.5t109 -280.5q0 -129 -70.5 -236t-186.5 -219q-54 -54 -65.5 -97t-11.5 -134h-197q1 145 25 201t126 148q99 117 141 180t42 152q0 106 -56.5 163t-161.5 57q-91 0 -155 -49.5t-64 -145.5h-188zM353 0v208h206v-208 h-206z" />
47
- <glyph unicode="@" horiz-adv-x="1833" d="M114 478q19 423 249 688t602 265q379 0 581.5 -250t185.5 -679q-9 -214 -120 -368.5t-332 -154.5q-73 0 -126 41.5t-76 117.5q-50 -80 -122 -119.5t-168 -39.5q-125 0 -194 120.5t-51 316.5q23 259 137.5 415.5t279.5 156.5q105 0 169 -26t139 -80l-4 -4h6l-51 -585 q-9 -110 21.5 -151.5t81.5 -41.5q123 0 197 113.5t82 288.5q16 382 -144 595.5t-496 213.5q-308 0 -495.5 -231t-202.5 -602q-18 -376 150 -594.5t482 -218.5q88 0 178.5 21.5t152.5 56.5l38 -107q-67 -42 -170.5 -65.5t-202.5 -23.5q-380 0 -587.5 249.5t-189.5 681.5z M720 416q-11 -142 21.5 -216t106.5 -74q64 0 117 24.5t97 87.5q-1 12 -0.5 25.5t2.5 29.5l47 538q-26 12 -54.5 19t-59.5 7q-125 0 -191 -109.5t-86 -331.5z" />
48
- <glyph unicode="A" horiz-adv-x="1326" d="M20 0l563 1456h169l554 -1456h-201l-136 375h-610l-138 -375h-201zM420 540h490l-240 663h-6z" />
49
- <glyph unicode="B" horiz-adv-x="1309" d="M180 0v1456h475q228 0 357 -98.5t129 -295.5q0 -97 -62 -173.5t-163 -113.5q132 -28 207.5 -129t75.5 -235q0 -200 -129.5 -305.5t-351.5 -105.5h-538zM377 154h341q134 0 209 66.5t75 188.5q0 128 -62.5 201t-192.5 73h-370v-529zM377 837h319q110 0 179 60.5t69 168.5 q0 118 -74.5 176.5t-214.5 58.5h-278v-464z" />
50
- <glyph unicode="C" horiz-adv-x="1297" d="M118 598v259q0 269 155.5 444.5t402.5 175.5q247 1 393 -131q142 -128 142 -337v-12l-2 -6h-189q0 153 -90 242t-254 89q-165 0 -263 -133t-98 -330v-261q0 -199 98 -332t263 -133q164 0 254 88.5t90 244.5h189l2 -6v-11q0 -198 -144 -332q-148 -138 -391 -138 q-247 0 -402.5 175t-155.5 444z" />
51
- <glyph unicode="D" horiz-adv-x="1349" d="M180 0v1456h447q286 0 459 -175.5t173 -453.5v-199q0 -279 -173 -453.5t-459 -174.5h-447zM377 154h250q202 0 318.5 133t116.5 341v201q0 206 -116.5 339t-318.5 133h-250v-1147z" />
52
- <glyph unicode="E" horiz-adv-x="1197" d="M180 0v1456h955v-155h-758v-471h667v-155h-667v-521h769v-154h-966z" />
53
- <glyph unicode="F" horiz-adv-x="1193" d="M180 0v1456h963v-155h-766v-502h664v-155h-664v-644h-197z" />
54
- <glyph unicode="G" horiz-adv-x="1396" d="M120 578v300q0 265 159 432t410 167q250 0 393 -123t146 -317l-2 -6h-188q-9 127 -96.5 209t-252.5 82q-167 0 -269 -125t-102 -317v-302q0 -194 114 -319.5t290 -125.5q124 0 203 33t113 75v331h-319v155h516v-534q-52 -80 -180.5 -147t-332.5 -67q-261 0 -431.5 167 t-170.5 432z" />
55
- <glyph unicode="H" horiz-adv-x="1461" d="M180 0v1456h197v-658h707v658h197v-1456h-197v643h-707v-643h-197z" />
56
- <glyph unicode="I" horiz-adv-x="579" d="M190 0v1456h198v-1456h-198z" />
57
- <glyph unicode="J" horiz-adv-x="1130" d="M66 395l2 6h189q0 -135 68.5 -201.5t193.5 -66.5q109 0 178 73.5t69 196.5v1053h197v-1053q0 -195 -123.5 -309.5t-320.5 -114.5q-210 0 -334 107q-119 102 -119 293v16z" />
58
- <glyph unicode="K" horiz-adv-x="1317" d="M180 0v1456h197v-644h152l521 644h218l3 -5l-565 -699l606 -747l-3 -5h-235l-527 657h-170v-657h-197z" />
59
- <glyph unicode="L" horiz-adv-x="1106" d="M180 0v1456h197v-1302h689v-154h-886z" />
60
- <glyph unicode="M" horiz-adv-x="1799" d="M180 0v1456h252l464 -1183h6l464 1183h252v-1456h-197v576l20 592l-5 1l-472 -1169h-131l-470 1166l-5 -1l19 -589v-576h-197z" />
61
- <glyph unicode="N" horiz-adv-x="1461" d="M180 0v1456h197l701 -1124l6 2v1122h197v-1456h-197l-701 1126l-6 -2v-1124h-197z" />
62
- <glyph unicode="O" horiz-adv-x="1396" d="M113 598v259q0 266 159.5 443t414.5 177q264 0 429.5 -176.5t165.5 -443.5v-259q0 -267 -165.5 -443t-429.5 -176q-255 0 -414.5 176t-159.5 443zM310 598q0 -202 102.5 -330t274.5 -128q183 0 290.5 127.5t107.5 330.5v261q0 200 -108 328t-290 128q-172 0 -274.5 -128 t-102.5 -328v-261z" />
63
- <glyph unicode="P" horiz-adv-x="1312" d="M180 0v1456h557q233 0 362 -120t129 -316q0 -199 -129 -317.5t-362 -118.5h-360v-584h-197zM377 738h360q148 0 221 79.5t73 200.5t-73.5 202t-220.5 81h-360v-563z" />
64
- <glyph unicode="Q" horiz-adv-x="1396" d="M113 598v259q0 266 159.5 443t414.5 177q264 0 429.5 -176.5t165.5 -443.5v-259q0 -142 -50 -263t-140 -205l247 -233l-135 -129l-276 257q-56 -23 -116.5 -34.5t-124.5 -11.5q-255 0 -414.5 176t-159.5 443zM310 598q0 -202 102.5 -330t274.5 -128q183 0 290.5 127.5 t107.5 330.5v261q0 200 -108 328t-290 128q-172 0 -274.5 -128t-102.5 -328v-261z" />
65
- <glyph unicode="R" horiz-adv-x="1357" d="M180 0v1455h527q239 0 365 -106t126 -308q0 -112 -58.5 -195t-170.5 -132q120 -39 172.5 -126.5t52.5 -216.5v-137q0 -68 15 -122t52 -88v-24h-203q-39 34 -50 100t-11 136v133q0 118 -69 190t-185 72h-366v-631h-197zM377 786h310q167 0 240.5 63.5t73.5 193.5 q0 123 -71.5 190.5t-222.5 67.5h-330v-515z" />
66
- <glyph unicode="S" horiz-adv-x="1277" d="M102 413l2 6h188q0 -140 103 -213t255 -73q149 0 236 63t87 171q0 100 -75 167.5t-266 113.5q-231 55 -360.5 162t-129.5 269q0 170 139.5 284t361.5 114q239 0 381 -131q137 -127 136 -292v-12l-2 -6h-188q0 128 -84.5 207t-242.5 79q-147 0 -225.5 -66.5t-78.5 -173.5 q0 -95 85 -158.5t276 -111.5q230 -57 350 -168t120 -275q0 -176 -144 -283t-376 -107q-218 0 -386 118q-163 115 -162 305v11z" />
67
- <glyph unicode="T" horiz-adv-x="1200" d="M34 1301v155h1132v-155h-468v-1301h-197v1301h-467z" />
68
- <glyph unicode="U" horiz-adv-x="1386" d="M147 469v987h197v-987q0 -165 94 -250.5t248 -85.5q162 0 261.5 85.5t99.5 250.5v987h197v-987q0 -238 -154.5 -364t-403.5 -126q-240 0 -389.5 126.5t-149.5 363.5z" />
69
- <glyph unicode="V" horiz-adv-x="1295" d="M22 1456h214l376 -1094l33 -115h6l33 115l376 1094h213l-541 -1456h-169z" />
70
- <glyph unicode="W" horiz-adv-x="1809" d="M54 1456h196l222 -952l27 -182l6 -1l39 183l267 952h174l269 -952l40 -187h6l29 187l217 952h197l-351 -1456h-176l-287 1010l-26 131h-6l-25 -131l-292 -1010h-176z" />
71
- <glyph unicode="X" horiz-adv-x="1295" d="M66 0l472 734l-462 722h236l338 -568l340 568h238l-462 -722l472 -734h-235l-349 578l-350 -578h-238z" />
72
- <glyph unicode="Y" horiz-adv-x="1250" d="M20 1456h225l380 -740l380 740h225l-511 -944v-512h-196v525z" />
73
- <glyph unicode="Z" horiz-adv-x="1225" d="M97 0v146l778 1155h-767v155h992v-141l-781 -1161h814v-154h-1036z" />
74
- <glyph unicode="[" horiz-adv-x="552" d="M143 -312v1976h385v-155h-188v-1666h188v-155h-385z" />
75
- <glyph unicode="\" horiz-adv-x="846" d="M39 1456h186l608 -1581h-186z" />
76
- <glyph unicode="]" horiz-adv-x="552" d="M11 -157h189v1666h-189v155h386v-1976h-386v155z" />
77
- <glyph unicode="^" horiz-adv-x="856" d="M61 729l299 727h134l298 -727h-181l-166 419l-16 70h-6l-16 -70l-163 -419h-183z" />
78
- <glyph unicode="_" horiz-adv-x="931" d="M4 0h923v-154h-923v154z" />
79
- <glyph unicode="`" horiz-adv-x="641" d="M82 1471l3 6h230l175 -266h-158z" />
80
- <glyph unicode="a" horiz-adv-x="1126" d="M106 304q0 155 125.5 242.5t340.5 87.5h214v107q0 95 -58 150.5t-164 55.5q-95 0 -154.5 -48.5t-59.5 -116.5h-188l-2 6v11q0 111 112 205q118 98 303 98q184 0 296 -93.5t112 -269.5v-521q0 -58 6 -112t22 -106h-203q-10 49 -15.5 86.5t-6.5 75.5q-55 -78 -143.5 -130.5 t-190.5 -52.5q-169 0 -257.5 86.5t-88.5 238.5zM303 300q0 -72 45 -114t133 -42q107 0 193 55t112 126v176h-221q-119 0 -190.5 -60t-71.5 -141z" />
81
- <glyph unicode="b" d="M143 0v1560h197v-606q51 72 126.5 110t176.5 38q200 0 312 -160t112 -421v-21q0 -234 -112.5 -377.5t-309.5 -143.5q-107 0 -186 41.5t-131 122.5l-24 -143h-161zM340 309q38 -80 99.5 -125t155.5 -45q139 0 207 99t68 262v21q0 186 -68.5 303.5t-208.5 117.5 q-91 0 -153.5 -44.5t-99.5 -119.5v-469z" />
82
- <glyph unicode="c" horiz-adv-x="1087" d="M97 520v42q0 231 125.5 385.5t360.5 154.5q191 0 311 -112q117 -108 116 -265v-10l-2 -6h-178q0 99 -70 168.5t-177 69.5q-155 0 -221.5 -111.5t-66.5 -273.5v-42q0 -166 66 -276.5t222 -110.5q98 0 172.5 60.5t74.5 148.5h177l2 -6v-10q-1 -134 -125 -238 q-130 -108 -301 -109q-236 0 -361 154t-125 387z" />
83
- <glyph unicode="d" d="M98 500v21q0 261 111.5 421t312.5 160q95 0 168.5 -35t125.5 -102v595h197v-1560h-161l-23 133q-53 -76 -130 -115t-179 -39q-198 0 -310 143.5t-112 377.5zM295 500q0 -164 67 -262.5t208 -98.5q88 0 148 40t98 112v505q-38 67 -98.5 106.5t-145.5 39.5 q-142 0 -209.5 -117t-67.5 -304v-21z" />
84
- <glyph unicode="e" horiz-adv-x="1083" d="M99 520v44q0 231 137.5 384.5t325.5 153.5q219 0 331 -132t112 -352v-123h-702l-3 -5q3 -156 79 -256.5t213 -100.5q100 0 175.5 28.5t130.5 78.5l77 -128q-58 -57 -153 -95t-230 -38q-226 0 -359.5 150.5t-133.5 390.5zM307 654l2 -5h499v26q0 116 -62 194t-184 78 q-99 0 -169 -83.5t-86 -209.5z" />
85
- <glyph unicode="f" horiz-adv-x="707" d="M56 936v146h169v137q0 173 90.5 267.5t252.5 94.5q34 0 68.5 -5.5t76.5 -15.5l-24 -150q-18 4 -43.5 7t-53.5 3q-86 0 -128 -51.5t-42 -149.5v-137h225v-146h-225v-936h-197v936h-169z" />
86
- <glyph unicode="g" d="M100 500v21q0 261 114 421t315 160q103 0 181 -41.5t130 -119.5l24 141h157v-1088q0 -208 -121 -319.5t-349 -111.5q-78 0 -168.5 21.5t-159.5 58.5l50 153q53 -30 128 -48.5t148 -18.5q144 0 209.5 65.5t65.5 199.5v122q-53 -68 -127 -102.5t-170 -34.5q-199 0 -313 144 t-114 377zM297 500q0 -163 69 -262t210 -99q89 0 149 40.5t99 114.5v498q-38 69 -99 109.5t-147 40.5q-141 0 -211 -118t-70 -303v-21z" />
87
- <glyph unicode="h" d="M143 0v1560h197v-623q56 78 137.5 121.5t180.5 43.5q173 0 269.5 -104t96.5 -320v-678h-197v680q0 134 -57.5 198t-171.5 64q-82 0 -148.5 -38.5t-109.5 -104.5v-799h-197z" />
88
- <glyph unicode="i" horiz-adv-x="516" d="M159 0v1082h197v-1082h-197zM159 1359v201h197v-201h-197z" />
89
- <glyph unicode="j" horiz-adv-x="530" d="M-66 -419l14 155q14 -5 40 -8.5t43 -3.5q65 0 103.5 44t38.5 143v1171h197v-1171q0 -167 -86 -257.5t-239 -90.5q-31 0 -56.5 4.5t-54.5 13.5zM167 1363v197h197v-197h-197z" />
90
- <glyph unicode="k" horiz-adv-x="1050" d="M144 0v1560h197v-904h126l296 426h236l-370 -492l423 -590h-232l-351 499h-128v-499h-197z" />
91
- <glyph unicode="l" horiz-adv-x="516" d="M159 0v1560h197v-1560h-197z" />
92
- <glyph unicode="m" horiz-adv-x="1790" d="M143 0v1082h176l14 -142q53 77 134.5 119.5t189.5 42.5t185.5 -50t116.5 -150q51 92 135 146t196 54q165 0 261 -113.5t96 -341.5v-647h-197v649q0 160 -55 226.5t-164 66.5q-101 0 -163.5 -70t-73.5 -177v-8v-687h-198v649q0 152 -56.5 222.5t-162.5 70.5 q-90 0 -148 -37t-89 -104v-801h-197z" />
93
- <glyph unicode="n" d="M143 0v1082h176l14 -161q54 86 135.5 133.5t185.5 47.5q175 0 271 -102.5t96 -316.5v-683h-197v679q0 143 -56.5 203t-172.5 60q-85 0 -150.5 -41t-104.5 -112v-789h-197z" />
94
- <glyph unicode="o" d="M97 529v22q0 240 130 395.5t353 155.5q225 0 355.5 -155t130.5 -396v-22q0 -242 -130 -396t-354 -154t-354.5 154.5t-130.5 395.5zM294 529q0 -172 72.5 -284t215.5 -112q141 0 214 112t73 284v22q0 170 -73.5 283t-215.5 113q-141 0 -213.5 -113t-72.5 -283v-22z" />
95
- <glyph unicode="p" d="M143 -416v1498h151l31 -140q53 78 132 119t184 41q201 0 312.5 -159.5t111.5 -421.5v-21q0 -234 -112 -377.5t-309 -143.5q-100 0 -175.5 33.5t-128.5 100.5v-529h-197zM340 275q37 -67 97 -104.5t147 -37.5q140 0 212 102.5t72 264.5v21q0 184 -72.5 302.5t-213.5 118.5 q-85 0 -145 -38.5t-97 -105.5v-523z" />
96
- <glyph unicode="q" d="M98 500v21q0 261 111.5 421t312.5 160q99 0 174 -37.5t127 -109.5l29 127h150v-1498h-197v518q-52 -61 -123 -92t-162 -31q-198 0 -310 143.5t-112 377.5zM295 500q0 -164 67.5 -265.5t207.5 -101.5q81 0 138.5 36t96.5 101v546q-39 61 -96.5 96t-136.5 35 q-141 0 -209 -119.5t-68 -306.5v-21z" />
97
- <glyph unicode="r" horiz-adv-x="702" d="M143 0v1082h176l19 -158q46 84 113.5 131t155.5 47q22 0 42 -3.5t33 -7.5l-27 -183l-101 6q-78 0 -131.5 -37t-82.5 -104v-773h-197z" />
98
- <glyph unicode="s" horiz-adv-x="1071" d="M109 329l2 6h188q5 -105 78 -153.5t171 -48.5q105 0 164.5 42.5t59.5 111.5q0 65 -49.5 107t-187.5 73q-197 43 -296.5 116.5t-99.5 200.5q0 132 112 225t292 93q189 0 301 -97q107 -93 106 -224v-12l-2 -6h-188q0 71 -59.5 127.5t-157.5 56.5q-105 0 -156 -46t-51 -111 q0 -64 45 -101t183 -66q205 -44 305 -119.5t100 -202.5q0 -144 -116.5 -233t-304.5 -89q-207 0 -326 105q-113 100 -113 232v13z" />
99
- <glyph unicode="t" horiz-adv-x="708" d="M34 936v146h172v261h197v-261h205v-146h-205v-657q0 -76 31.5 -107t83.5 -31q17 0 37.5 4t36.5 10l26 -135q-22 -18 -64.5 -29.5t-85.5 -11.5q-120 0 -191 72.5t-71 227.5v657h-172z" />
100
- <glyph unicode="u" d="M139 444v638h197v-640q0 -173 51 -238t159 -65q105 0 173.5 42.5t103.5 120.5v780h197v-1082h-177l-13 160q-51 -87 -131 -134t-185 -47q-177 0 -276 113t-99 352z" />
101
- <glyph unicode="v" horiz-adv-x="1030" d="M46 1082h202l256 -763l17 -76h6l19 76l249 763h201l-398 -1082h-149z" />
102
- <glyph unicode="w" horiz-adv-x="1550" d="M45 1082h196l179 -688l23 -131h6l28 131l216 688h158l217 -688l31 -146h6l29 146l170 688h196l-314 -1082h-159l-209 659l-45 184l-6 -1l-43 -183l-206 -659h-159z" />
103
- <glyph unicode="x" horiz-adv-x="1030" d="M46 0l361 547l-351 535h227l227 -399l230 399h230l-351 -535l361 -547h-226l-240 409l-240 -409h-228z" />
104
- <glyph unicode="y" horiz-adv-x="1030" d="M26 1082h220l228 -681l35 -136h6l266 817h219l-455 -1248q-41 -109 -117.5 -190t-206.5 -81q-24 0 -61 5.5t-57 10.5l20 155q-6 1 35.5 -2t52.5 -3q63 0 103 56t67 124l47 113z" />
105
- <glyph unicode="z" horiz-adv-x="1030" d="M94 0v138l585 788h-578v156h819v-134l-591 -794h625v-154h-860z" />
106
- <glyph unicode="{" horiz-adv-x="696" d="M63 543v147q106 0 157.5 61.5t51.5 174.5v206q0 171 82 290.5t277 174.5l40 -117q-110 -35 -156 -125.5t-46 -222.5v-206q0 -105 -42.5 -185t-127.5 -125q85 -46 127.5 -126.5t42.5 -183.5v-205q0 -132 46 -221.5t156 -125.5l-40 -118q-195 55 -277 175t-82 290v205 q0 112 -51.5 174.5t-157.5 62.5z" />
107
- <glyph unicode="|" horiz-adv-x="507" d="M175 -270v1726h158v-1726h-158z" />
108
- <glyph unicode="}" horiz-adv-x="696" d="M21 -246q109 36 156 125.5t47 221.5v205q0 107 45 187t139 123q-94 41 -139 121t-45 189v206q0 132 -47 222.5t-156 125.5l41 117q194 -55 276.5 -174.5t82.5 -290.5v-206q0 -113 50.5 -174.5t158.5 -61.5v-147q-108 0 -158.5 -62.5t-50.5 -174.5v-205q0 -170 -82.5 -290 t-276.5 -175z" />
109
- <glyph unicode="~" horiz-adv-x="1391" d="M128 474q0 136 85.5 232.5t217.5 96.5q88 0 163 -34.5t160 -104.5q58 -51 106 -74t100 -23q66 0 114.5 57t48.5 134l141 -18q0 -137 -87 -238t-217 -101q-90 0 -163.5 33t-158.5 107q-59 48 -108 72t-99 24q-67 0 -114.5 -53t-47.5 -128z" />
110
- <glyph unicode="&#xa1;" horiz-adv-x="507" d="M144 -374v978h197v-978h-197zM144 876v206h197v-206h-197z" />
111
- <glyph unicode="&#xa2;" horiz-adv-x="1122" d="M107 520v42q0 199 95 344.5t276 183.5v228h198v-223q157 -24 252.5 -130.5t92.5 -250.5l-2 -5h-179q0 99 -70 168.5t-177 69.5q-155 0 -221.5 -111.5t-66.5 -273.5v-42q0 -166 66 -276.5t222 -110.5q98 0 172.5 60.5t74.5 148.5h178l3 -6q3 -122 -98 -223t-247 -126v-232 h-198v236q-182 36 -276.5 182t-94.5 347z" />
112
- <glyph unicode="&#xa3;" horiz-adv-x="1194" d="M70 615v155h158l-10 270q0 204 112 320.5t300 116.5q200 0 310 -104.5t106 -276.5l-2 -6h-190q0 118 -63 175t-161 57q-99 0 -157 -74.5t-58 -207.5l10 -270h418v-155h-413l6 -149q0 -90 -15.5 -171.5t-44.5 -140.5h735l-1 -154h-976v154h10q48 13 72 111t24 201l-6 149 h-164z" />
113
- <glyph unicode="&#xa4;" horiz-adv-x="1456" d="M104 112l138 140q-50 76 -76.5 166.5t-26.5 189.5q0 102 28.5 196t82.5 172l-146 149l139 139l143 -146q74 55 163 85.5t185 30.5q97 0 186 -31t164 -87l146 149l140 -140l-150 -153q52 -78 80.5 -170.5t28.5 -193.5q0 -98 -26.5 -187.5t-74.5 -165.5l142 -143l-140 -139 l-133 135q-77 -62 -169.5 -95t-193.5 -33t-193.5 32.5t-167.5 93.5l-130 -132zM321 608q0 -188 120.5 -320.5t292.5 -132.5q170 0 290.5 132.5t120.5 320.5q0 186 -120.5 318t-290.5 132q-172 0 -292.5 -132t-120.5 -318z" />
114
- <glyph unicode="&#xa5;" horiz-adv-x="1243" d="M30 1456h226l359 -663l360 663h224l-418 -718h312v-155h-383v-135h383v-155h-383v-293h-197v293h-375v155h375v135h-375v155h311z" />
115
- <glyph unicode="&#xa6;" horiz-adv-x="499" d="M145 -270v792h197v-792h-197zM145 698v758h197v-758h-197z" />
116
- <glyph unicode="&#xa7;" horiz-adv-x="1259" d="M94 551q0 91 47 161.5t134 111.5q-68 50 -102 119.5t-34 166.5q0 166 134 266.5t358 100.5q233 0 363 -111.5t126 -313.5l-3 -6h-188q0 118 -79 197t-219 79q-145 0 -220 -59.5t-75 -150.5q0 -99 67 -148.5t278 -107.5q244 -69 355.5 -159.5t111.5 -265.5q0 -94 -48 -164 t-135 -110q69 -51 104 -119t35 -166q0 -172 -133 -269.5t-358 -97.5q-221 0 -372 102.5t-146 322.5l2 6l188 2q0 -143 96.5 -210.5t231.5 -67.5q137 0 215.5 59.5t78.5 150.5t-72 141.5t-276 113.5q-239 63 -352 156t-113 270zM291 553q0 -100 68 -151.5t278 -110.5 q56 -17 93 -28t70 -23q72 20 112 69.5t40 118.5q0 91 -73.5 144.5t-275.5 116.5q-47 12 -88.5 24.5t-77.5 27.5q-73 -19 -109.5 -69t-36.5 -119z" />
117
- <glyph unicode="&#xa8;" horiz-adv-x="1021" d="M170 1256v200h219v-200h-219zM640 1256v200h219v-200h-219z" />
118
- <glyph unicode="&#xa9;" horiz-adv-x="1604" d="M88 729q0 315 207 531t503 216q295 0 502 -216t207 -531q0 -316 -207.5 -533t-501.5 -217q-296 0 -503 217t-207 533zM209 729q0 -265 171.5 -447t417.5 -182q245 0 417 182t172 447q0 263 -172 444t-417 181q-246 0 -417.5 -181t-171.5 -444zM436 669v119q0 173 94 280 t254 107q157 0 245.5 -79t84.5 -228l-2 -6h-146q0 95 -45.5 138.5t-136.5 43.5q-94 0 -145 -70.5t-51 -184.5v-120q0 -117 51 -187t145 -70q91 0 136 43t45 141h146l2 -6q4 -151 -84 -229.5t-245 -78.5q-160 0 -254 106.5t-94 280.5z" />
119
- <glyph unicode="&#xaa;" horiz-adv-x="917" d="M120 920q0 110 84.5 170t245.5 60h139v52q0 63 -30 97t-88 34q-67 0 -103.5 -27t-36.5 -76l-162 13l-1 6q-6 98 78.5 163t224.5 65q134 0 212 -71t78 -205v-314q0 -50 6 -94t20 -87h-174q-8 21 -13 45t-8 50q-33 -47 -89.5 -78t-133.5 -31q-119 0 -184 61t-65 167z M293 924q0 -45 29 -69t89 -24q51 0 105.5 30t72.5 65v110h-138q-75 0 -116.5 -33t-41.5 -79z" />
120
- <glyph unicode="&#xab;" horiz-adv-x="966" d="M98 507v19l295 389h148l-255 -399l255 -398h-148zM432 507v19l295 389h148l-255 -399l255 -398h-148z" />
121
- <glyph unicode="&#xac;" horiz-adv-x="1137" d="M127 637v165h835v-427h-198v262h-637z" />
122
- <glyph unicode="&#xad;" horiz-adv-x="561" d="M35 538v154h490v-154h-490z" />
123
- <glyph unicode="&#xae;" horiz-adv-x="1604" d="M88 729q0 315 207 531t503 216q295 0 502 -216t207 -531q0 -316 -207.5 -533t-501.5 -217q-296 0 -503 217t-207 533zM209 729q0 -266 171.5 -447.5t417.5 -181.5q244 0 416 182t172 447q0 264 -171.5 444.5t-416.5 180.5q-246 0 -417.5 -180.5t-171.5 -444.5zM504 316 v850h280q152 0 238.5 -65.5t86.5 -191.5q0 -62 -33 -109t-96 -78q66 -26 95.5 -79t29.5 -128v-56q0 -41 3.5 -73.5t13.5 -53.5v-16h-153q-9 21 -11 61.5t-2 82.5v54q0 72 -33.5 106t-110.5 34h-159v-338h-149zM653 784h152q65 1 110.5 32.5t45.5 87.5q0 73 -39.5 102.5 t-137.5 29.5h-131v-252z" />
124
- <glyph unicode="&#xaf;" horiz-adv-x="950" d="M123 1310v146h721v-146h-721z" />
125
- <glyph unicode="&#xb0;" horiz-adv-x="763" d="M128 1216q0 106 76 183.5t181 77.5q103 0 177.5 -77.5t74.5 -183.5q0 -108 -74 -182.5t-178 -74.5q-106 0 -181.5 74.5t-75.5 182.5zM259 1216q0 -55 36.5 -91t89.5 -36q52 0 87.5 36t35.5 91t-36 92.5t-87 37.5q-53 0 -89.5 -37.5t-36.5 -92.5z" />
126
- <glyph unicode="&#xb1;" horiz-adv-x="1097" d="M99 702v154h381v411h177v-411h358v-154h-358v-413h-177v413h-381zM136 4v155h835v-155h-835z" />
127
- <glyph unicode="&#xb2;" horiz-adv-x="868" d="M119 1240q-6 99 78 169t225 70q135 0 211 -64t76 -180q0 -80 -44.5 -136t-160.5 -161l-153 -135l2 -6h361v-130h-592v130l302 262q69 60 91 97.5t22 79.5q0 50 -28.5 81t-86.5 31q-67 0 -103.5 -32t-36.5 -82h-161z" />
128
- <glyph unicode="&#xb3;" horiz-adv-x="876" d="M112 882l1 6h163q0 -46 37.5 -74.5t100.5 -28.5q72 0 114 29.5t42 77.5q0 62 -36.5 90.5t-109.5 28.5h-132v126h132q67 0 99.5 28.5t32.5 80.5q0 43 -36.5 72t-105.5 29q-56 0 -90.5 -24t-34.5 -64h-162l-2 6q-6 94 78.5 153.5t210.5 59.5q145 0 229 -59.5t84 -169.5 q0 -55 -35.5 -100.5t-97.5 -71.5q70 -23 108 -71t38 -116q0 -111 -90 -173t-236 -62q-127 0 -217.5 58t-84.5 169z" />
129
- <glyph unicode="&#xb4;" horiz-adv-x="654" d="M131 1211l185 266h230l2 -6l-270 -260h-147z" />
130
- <glyph unicode="&#xb5;" d="M153 -416v1498h196v-642q2 -178 57.5 -242.5t155.5 -64.5q98 0 158.5 36t92.5 106v807h197v-1082h-177l-9 108q-44 -63 -107.5 -96t-146.5 -33q-72 0 -126.5 16.5t-94.5 51.5v-463h-196z" />
131
- <glyph unicode="&#xb6;" horiz-adv-x="1006" d="M63 988q0 207 129.5 337.5t362.5 130.5h281v-1456h-197v520h-84q-233 0 -362.5 129.5t-129.5 338.5z" />
132
- <glyph unicode="&#xb7;" horiz-adv-x="540" d="M161 624v212h198v-212h-198z" />
133
- <glyph unicode="&#xb8;" horiz-adv-x="509" d="M119 -326q72 0 116 24.5t44 73.5q0 48 -36 67t-123 26l32 135h140l-12 -52q65 -11 108 -52t43 -121q0 -96 -79 -153t-226 -57z" />
134
- <glyph unicode="&#xb9;" horiz-adv-x="557" d="M95 1320v134l301 23v-812h-174v655h-127z" />
135
- <glyph unicode="&#xba;" horiz-adv-x="933" d="M120 1025v117q0 148 94 241.5t251 93.5q158 0 252 -93.5t94 -241.5v-117q0 -149 -93.5 -241.5t-250.5 -92.5q-158 0 -252.5 92.5t-94.5 241.5zM293 1025q0 -88 44 -140.5t130 -52.5q83 0 127.5 53t44.5 140v117q0 84 -45 137.5t-129 53.5t-128 -53.5t-44 -137.5v-117z " />
136
- <glyph unicode="&#xbb;" horiz-adv-x="966" d="M110 152l255 398l-255 399h148l295 -389v-19l-295 -389h-148zM456 152l255 398l-255 399h148l295 -389v-19l-295 -389h-148z" />
137
- <glyph unicode="&#xbc;" horiz-adv-x="1595" d="M184 1319v134l301 23v-812h-174v655h-127zM339 185l711 1138l109 -67l-711 -1138zM785 254l422 547h173v-519h126v-130h-126v-152h-170v152h-417zM967 282h243v310l-6 1l-13 -22z" />
138
- <glyph unicode="&#xbd;" horiz-adv-x="1708" d="M184 1319v134l301 23v-812h-174v655h-127zM352 185l711 1138l109 -67l-711 -1138zM930 573q-6 99 78 169t225 70q135 0 211 -64t76 -180q0 -80 -44.5 -136t-160.5 -161l-153 -135l2 -6h361v-130h-592v130l302 262q69 60 91 97.5t22 79.5q0 50 -28.5 81t-86.5 31 q-67 0 -103.5 -32t-36.5 -82h-161z" />
139
- <glyph unicode="&#xbe;" horiz-adv-x="1781" d="M128 883l1 6h163q0 -46 37.5 -74.5t100.5 -28.5q72 0 114 29.5t42 77.5q0 62 -36.5 90.5t-109.5 28.5h-132v126h132q67 0 99.5 28.5t32.5 80.5q0 43 -36.5 72t-105.5 29q-56 0 -90.5 -24t-34.5 -64h-162l-2 6q-6 94 78.5 153.5t210.5 59.5q145 0 229 -59.5t84 -169.5 q0 -55 -35.5 -100.5t-97.5 -71.5q70 -23 108 -71t38 -116q0 -111 -90 -173t-236 -62q-127 0 -217.5 58t-84.5 169zM522 185l711 1138l109 -67l-711 -1138zM974 254l422 547h173v-519h126v-130h-126v-152h-170v152h-417zM1156 282h243v310l-6 1l-13 -22z" />
140
- <glyph unicode="&#xbf;" horiz-adv-x="1013" d="M114 -13q0 127 70 233.5t187 220.5q53 53 65 96t12 135h197q-2 -146 -26 -202t-125 -147q-100 -118 -141.5 -181t-41.5 -150q0 -106 56 -163t162 -57q90 0 154.5 49.5t64.5 145.5h188l3 -6q2 -161 -114.5 -258t-295.5 -97q-198 0 -306.5 100.5t-108.5 280.5zM441 874v209 h206v-209h-206z" />
141
- <glyph unicode="&#xc0;" horiz-adv-x="1326" d="M20 0l563 1456h169l554 -1456h-201l-136 375h-610l-138 -375h-201zM378 1820l3 6h230l175 -266h-158zM420 540h490l-240 663h-6z" />
142
- <glyph unicode="&#xc1;" horiz-adv-x="1326" d="M20 0l563 1456h169l554 -1456h-201l-136 375h-610l-138 -375h-201zM420 540h490l-240 663h-6zM613 1556l185 266h230l2 -6l-270 -260h-147z" />
143
- <glyph unicode="&#xc2;" horiz-adv-x="1326" d="M20 0l563 1456h169l554 -1456h-201l-136 375h-610l-138 -375h-201zM356 1601v26l246 237h120l248 -238v-25h-161l-147 148l-146 -148h-160zM420 540h490l-240 663h-6z" />
144
- <glyph unicode="&#xc3;" horiz-adv-x="1326" d="M20 0l563 1456h169l554 -1456h-201l-136 375h-610l-138 -375h-201zM316 1628q0 93 59 161.5t150 68.5q56 0 140 -47t136 -47q41 0 71 32.5t30 79.5l108 -32q0 -94 -59.5 -159t-149.5 -65q-71 0 -148 46.5t-128 46.5q-43 0 -72 -32.5t-29 -78.5zM420 540h490l-240 663h-6z " />
145
- <glyph unicode="&#xc4;" horiz-adv-x="1326" d="M20 0l563 1456h169l554 -1456h-201l-136 375h-610l-138 -375h-201zM319 1605v200h219v-200h-219zM420 540h490l-240 663h-6zM789 1605v200h219v-200h-219z" />
146
- <glyph unicode="&#xc5;" horiz-adv-x="1326" d="M20 0l563 1456h169l554 -1456h-201l-136 375h-610l-138 -375h-201zM420 540h490l-240 663h-6zM457 1734q0 84 60.5 141t147.5 57q85 0 145 -56.5t60 -141.5q0 -86 -59.5 -140t-145.5 -54q-87 0 -147.5 54t-60.5 140zM560 1734q0 -43 31 -73.5t74 -30.5q42 0 72 29.5 t30 74.5t-30 76t-72 31q-43 0 -74 -31t-31 -76z" />
147
- <glyph unicode="&#xc6;" horiz-adv-x="1922" d="M-20 0l880 1456h967v-155h-691l20 -466h590v-155h-584l22 -526h705v-154h-895l-15 350h-557l-202 -350h-240zM525 529h447l-31 710l-5 2z" />
148
- <glyph unicode="&#xc7;" horiz-adv-x="1297" d="M118 598v259q0 269 155.5 444.5t402.5 175.5t393 -131.5t142 -348.5l-2 -6h-189q0 153 -90 242t-254 89q-165 0 -263 -133t-98 -330v-261q0 -199 98 -332t263 -133q164 0 254 88.5t90 244.5h189l2 -6q4 -205 -144 -343t-391 -138q-247 0 -402.5 175t-155.5 444zM581 -334 q72 0 116 24.5t44 73.5q0 48 -36 67t-123 26l32 135h140l-12 -52q65 -11 108 -52t43 -121q0 -96 -79 -153t-226 -57z" />
149
- <glyph unicode="&#xc8;" horiz-adv-x="1197" d="M180 0v1456h955v-155h-758v-471h667v-155h-667v-521h769v-154h-966zM303 1820l3 6h230l175 -266h-158z" />
150
- <glyph unicode="&#xc9;" horiz-adv-x="1197" d="M180 0v1456h955v-155h-758v-471h667v-155h-667v-521h769v-154h-966zM538 1556l185 266h230l2 -6l-270 -260h-147z" />
151
- <glyph unicode="&#xca;" horiz-adv-x="1197" d="M180 0v1456h955v-155h-758v-471h667v-155h-667v-521h769v-154h-966zM322 1601v26l246 237h120l248 -238v-25h-161l-147 148l-146 -148h-160z" />
152
- <glyph unicode="&#xcb;" horiz-adv-x="1197" d="M180 0v1456h955v-155h-758v-471h667v-155h-667v-521h769v-154h-966zM284 1605v200h219v-200h-219zM754 1605v200h219v-200h-219z" />
153
- <glyph unicode="&#xcc;" horiz-adv-x="579" d="M-34 1820l3 6h230l175 -266h-158zM190 0v1456h198v-1456h-198z" />
154
- <glyph unicode="&#xcd;" horiz-adv-x="579" d="M190 0v1456h198v-1456h-198zM199 1556l185 266h230l2 -6l-270 -260h-147z" />
155
- <glyph unicode="&#xce;" horiz-adv-x="579" d="M-15 1601v26l246 237h120l248 -238v-25h-161l-147 148l-146 -148h-160zM190 0v1456h198v-1456h-198z" />
156
- <glyph unicode="&#xcf;" horiz-adv-x="579" d="M-53 1605v200h219v-200h-219zM190 0v1456h198v-1456h-198zM417 1605v200h219v-200h-219z" />
157
- <glyph unicode="&#xd0;" horiz-adv-x="1379" d="M42 663v155h168v638h447q286 0 459 -175.5t173 -453.5v-199q0 -279 -173 -453.5t-459 -174.5h-447v663h-168zM407 154h250q202 0 318.5 133t116.5 341v201q0 206 -116.5 339t-318.5 133h-250v-483h276v-155h-276v-509z" />
158
- <glyph unicode="&#xd1;" horiz-adv-x="1461" d="M180 0v1456h197l701 -1124l6 2v1122h197v-1456h-197l-701 1126l-6 -2v-1124h-197zM381 1628q0 93 59 161.5t150 68.5q56 0 140 -47t136 -47q41 0 71 32.5t30 79.5l108 -32q0 -94 -59.5 -159t-149.5 -65q-71 0 -148 46.5t-128 46.5q-43 0 -72 -32.5t-29 -78.5z" />
159
- <glyph unicode="&#xd2;" horiz-adv-x="1396" d="M113 598v259q0 266 159.5 443t414.5 177q264 0 429.5 -176.5t165.5 -443.5v-259q0 -267 -165.5 -443t-429.5 -176q-255 0 -414.5 176t-159.5 443zM310 598q0 -202 102.5 -330t274.5 -128q183 0 290.5 127.5t107.5 330.5v261q0 200 -108 328t-290 128q-172 0 -274.5 -128 t-102.5 -328v-261zM373 1841l3 6h230l175 -266h-158z" />
160
- <glyph unicode="&#xd3;" horiz-adv-x="1396" d="M113 598v259q0 266 159.5 443t414.5 177q264 0 429.5 -176.5t165.5 -443.5v-259q0 -267 -165.5 -443t-429.5 -176q-255 0 -414.5 176t-159.5 443zM310 598q0 -202 102.5 -330t274.5 -128q183 0 290.5 127.5t107.5 330.5v261q0 200 -108 328t-290 128q-172 0 -274.5 -128 t-102.5 -328v-261zM608 1577l185 266h230l2 -6l-270 -260h-147z" />
161
- <glyph unicode="&#xd4;" horiz-adv-x="1396" d="M113 598v259q0 266 159.5 443t414.5 177q264 0 429.5 -176.5t165.5 -443.5v-259q0 -267 -165.5 -443t-429.5 -176q-255 0 -414.5 176t-159.5 443zM310 598q0 -202 102.5 -330t274.5 -128q183 0 290.5 127.5t107.5 330.5v261q0 200 -108 328t-290 128q-172 0 -274.5 -128 t-102.5 -328v-261zM392 1622v26l246 237h120l248 -238v-25h-161l-147 148l-146 -148h-160z" />
162
- <glyph unicode="&#xd5;" horiz-adv-x="1396" d="M113 598v259q0 266 159.5 443t414.5 177q264 0 429.5 -176.5t165.5 -443.5v-259q0 -267 -165.5 -443t-429.5 -176q-255 0 -414.5 176t-159.5 443zM310 598q0 -202 102.5 -330t274.5 -128q183 0 290.5 127.5t107.5 330.5v261q0 200 -108 328t-290 128q-172 0 -274.5 -128 t-102.5 -328v-261zM351 1649q0 93 59 161.5t150 68.5q56 0 140 -47t136 -47q41 0 71 32.5t30 79.5l108 -32q0 -94 -59.5 -159t-149.5 -65q-71 0 -148 46.5t-128 46.5q-43 0 -72 -32.5t-29 -78.5z" />
163
- <glyph unicode="&#xd6;" horiz-adv-x="1396" d="M113 598v259q0 266 159.5 443t414.5 177q264 0 429.5 -176.5t165.5 -443.5v-259q0 -267 -165.5 -443t-429.5 -176q-255 0 -414.5 176t-159.5 443zM310 598q0 -202 102.5 -330t274.5 -128q183 0 290.5 127.5t107.5 330.5v261q0 200 -108 328t-290 128q-172 0 -274.5 -128 t-102.5 -328v-261zM354 1626v200h219v-200h-219zM824 1626v200h219v-200h-219z" />
164
- <glyph unicode="&#xd7;" horiz-adv-x="1096" d="M88 351l327 334l-327 334l126 126l326 -333l327 333l126 -126l-328 -334l328 -334l-126 -126l-327 332l-326 -332z" />
165
- <glyph unicode="&#xd8;" horiz-adv-x="1396" d="M113 598v259q0 266 159.5 443t414.5 177q94 0 178.5 -25.5t156.5 -71.5l81 137h149l-132 -221q77 -84 119.5 -197t42.5 -242v-259q0 -267 -165.5 -443t-429.5 -176q-85 0 -160.5 20.5t-139.5 60.5l-91 -154h-149l139 234q-84 84 -128.5 202t-44.5 256zM310 598 q0 -85 19 -158t54 -125l6 -1l544 916q-50 41 -112 63t-134 22q-172 0 -274.5 -128t-102.5 -328v-261zM475 208q44 -34 97 -51t115 -17q183 0 290.5 127.5t107.5 330.5v261q0 75 -16.5 142t-46.5 117l-6 1z" />
166
- <glyph unicode="&#xd9;" horiz-adv-x="1386" d="M147 469v987h197v-987q0 -165 94 -250.5t248 -85.5q162 0 261.5 85.5t99.5 250.5v987h197v-987q0 -238 -154.5 -364t-403.5 -126q-240 0 -389.5 126.5t-149.5 363.5zM372 1820l3 6h230l175 -266h-158z" />
167
- <glyph unicode="&#xda;" horiz-adv-x="1386" d="M147 469v987h197v-987q0 -165 94 -250.5t248 -85.5q162 0 261.5 85.5t99.5 250.5v987h197v-987q0 -238 -154.5 -364t-403.5 -126q-240 0 -389.5 126.5t-149.5 363.5zM607 1556l185 266h230l2 -6l-270 -260h-147z" />
168
- <glyph unicode="&#xdb;" horiz-adv-x="1386" d="M147 469v987h197v-987q0 -165 94 -250.5t248 -85.5q162 0 261.5 85.5t99.5 250.5v987h197v-987q0 -238 -154.5 -364t-403.5 -126q-240 0 -389.5 126.5t-149.5 363.5zM391 1601v26l246 237h120l248 -238v-25h-161l-147 148l-146 -148h-160z" />
169
- <glyph unicode="&#xdc;" horiz-adv-x="1386" d="M147 469v987h197v-987q0 -165 94 -250.5t248 -85.5q162 0 261.5 85.5t99.5 250.5v987h197v-987q0 -238 -154.5 -364t-403.5 -126q-240 0 -389.5 126.5t-149.5 363.5zM353 1605v200h219v-200h-219zM823 1605v200h219v-200h-219z" />
170
- <glyph unicode="&#xdd;" horiz-adv-x="1250" d="M20 1456h225l380 -740l380 740h225l-511 -944v-512h-196v525zM535 1555l185 266h230l2 -6l-270 -260h-147z" />
171
- <glyph unicode="&#xde;" horiz-adv-x="1209" d="M163 0v1456h197v-293h269q232 0 362 -118t130 -307q0 -190 -130 -307.5t-362 -117.5h-269v-313h-197zM360 467h269q147 0 220.5 78t73.5 191q0 114 -73.5 193.5t-220.5 79.5h-269v-542z" />
172
- <glyph unicode="&#xdf;" horiz-adv-x="1221" d="M137 0v1082q0 223 117.5 348t300.5 125q161 0 262 -86t101 -253q0 -118 -64.5 -228t-64.5 -167q0 -82 173.5 -224t173.5 -281q0 -167 -104.5 -252t-282.5 -85q-84 0 -172.5 20.5t-125.5 50.5l44 159q43 -28 108 -52t126 -24q108 0 159 47.5t51 125.5q0 84 -173.5 227.5 t-173.5 289.5q0 80 70.5 190.5t70.5 186.5q0 93 -51 147t-117 54q-104 0 -168 -83.5t-64 -235.5v-1082h-196z" />
173
- <glyph unicode="&#xe0;" horiz-adv-x="1126" d="M106 304q0 155 125.5 242.5t340.5 87.5h214v107q0 95 -58 150.5t-164 55.5q-95 0 -154.5 -48.5t-59.5 -116.5h-188l-2 6q-6 118 111.5 216t303.5 98q184 0 296 -93.5t112 -269.5v-521q0 -58 6 -112t22 -106h-203q-10 49 -15.5 86.5t-6.5 75.5q-55 -78 -143.5 -130.5 t-190.5 -52.5q-169 0 -257.5 86.5t-88.5 238.5zM230 1498l3 6h230l175 -266h-158zM303 300q0 -72 45 -114t133 -42q107 0 193 55t112 126v176h-221q-119 0 -190.5 -60t-71.5 -141z" />
174
- <glyph unicode="&#xe1;" horiz-adv-x="1126" d="M106 304q0 155 125.5 242.5t340.5 87.5h214v107q0 95 -58 150.5t-164 55.5q-95 0 -154.5 -48.5t-59.5 -116.5h-188l-2 6q-6 118 111.5 216t303.5 98q184 0 296 -93.5t112 -269.5v-521q0 -58 6 -112t22 -106h-203q-10 49 -15.5 86.5t-6.5 75.5q-55 -78 -143.5 -130.5 t-190.5 -52.5q-169 0 -257.5 86.5t-88.5 238.5zM303 300q0 -72 45 -114t133 -42q107 0 193 55t112 126v176h-221q-119 0 -190.5 -60t-71.5 -141zM465 1234l185 266h230l2 -6l-270 -260h-147z" />
175
- <glyph unicode="&#xe2;" horiz-adv-x="1126" d="M106 304q0 155 125.5 242.5t340.5 87.5h214v107q0 95 -58 150.5t-164 55.5q-95 0 -154.5 -48.5t-59.5 -116.5h-188l-2 6q-6 118 111.5 216t303.5 98q184 0 296 -93.5t112 -269.5v-521q0 -58 6 -112t22 -106h-203q-10 49 -15.5 86.5t-6.5 75.5q-55 -78 -143.5 -130.5 t-190.5 -52.5q-169 0 -257.5 86.5t-88.5 238.5zM249 1279v26l246 237h120l248 -238v-25h-161l-147 148l-146 -148h-160zM303 300q0 -72 45 -114t133 -42q107 0 193 55t112 126v176h-221q-119 0 -190.5 -60t-71.5 -141z" />
176
- <glyph unicode="&#xe3;" horiz-adv-x="1126" d="M106 304q0 155 125.5 242.5t340.5 87.5h214v107q0 95 -58 150.5t-164 55.5q-95 0 -154.5 -48.5t-59.5 -116.5h-188l-2 6q-6 118 111.5 216t303.5 98q184 0 296 -93.5t112 -269.5v-521q0 -58 6 -112t22 -106h-203q-10 49 -15.5 86.5t-6.5 75.5q-55 -78 -143.5 -130.5 t-190.5 -52.5q-169 0 -257.5 86.5t-88.5 238.5zM208 1306q0 93 59 161.5t150 68.5q56 0 140 -47t136 -47q41 0 71 32.5t30 79.5l108 -32q0 -94 -59.5 -159t-149.5 -65q-71 0 -148 46.5t-128 46.5q-43 0 -72 -32.5t-29 -78.5zM303 300q0 -72 45 -114t133 -42q107 0 193 55 t112 126v176h-221q-119 0 -190.5 -60t-71.5 -141z" />
177
- <glyph unicode="&#xe4;" horiz-adv-x="1126" d="M106 304q0 155 125.5 242.5t340.5 87.5h214v107q0 95 -58 150.5t-164 55.5q-95 0 -154.5 -48.5t-59.5 -116.5h-188l-2 6q-6 118 111.5 216t303.5 98q184 0 296 -93.5t112 -269.5v-521q0 -58 6 -112t22 -106h-203q-10 49 -15.5 86.5t-6.5 75.5q-55 -78 -143.5 -130.5 t-190.5 -52.5q-169 0 -257.5 86.5t-88.5 238.5zM211 1283v200h219v-200h-219zM303 300q0 -72 45 -114t133 -42q107 0 193 55t112 126v176h-221q-119 0 -190.5 -60t-71.5 -141zM681 1283v200h219v-200h-219z" />
178
- <glyph unicode="&#xe5;" horiz-adv-x="1126" d="M106 304q0 155 125.5 242.5t340.5 87.5h214v107q0 95 -58 150.5t-164 55.5q-95 0 -154.5 -48.5t-59.5 -116.5h-188l-2 6q-6 118 111.5 216t303.5 98q184 0 296 -93.5t112 -269.5v-521q0 -58 6 -112t22 -106h-203q-10 49 -15.5 86.5t-6.5 75.5q-55 -78 -143.5 -130.5 t-190.5 -52.5q-169 0 -257.5 86.5t-88.5 238.5zM303 300q0 -72 45 -114t133 -42q107 0 193 55t112 126v176h-221q-119 0 -190.5 -60t-71.5 -141zM346 1412q0 84 60.5 141t147.5 57q85 0 145 -56.5t60 -141.5q0 -86 -59.5 -140t-145.5 -54q-87 0 -147.5 54t-60.5 140z M449 1412q0 -43 31 -73.5t74 -30.5q42 0 72 29.5t30 74.5t-30 76t-72 31q-43 0 -74 -31t-31 -76z" />
179
- <glyph unicode="&#xe6;" horiz-adv-x="1729" d="M58 304q0 158 115 244.5t335 86.5h229v85q0 106 -51.5 166.5t-149.5 60.5q-103 0 -164 -55t-61 -133l-188 18l-2 6q-5 138 109.5 228.5t305.5 90.5q114 0 201.5 -40.5t137.5 -117.5q64 75 151.5 116.5t188.5 41.5q214 0 329.5 -130t115.5 -358v-119h-709l-2 -5 q1 -159 79.5 -258t233.5 -99q103 0 169.5 27.5t144.5 78.5l67 -138q-53 -44 -147 -83t-234 -39q-136 0 -240 48.5t-170 138.5q-56 -79 -167.5 -133t-271.5 -54q-170 0 -262.5 87t-92.5 238zM255 300q0 -74 50 -120.5t147 -46.5q76 0 159 43.5t126 100.5v216h-227 q-120 0 -187.5 -56t-67.5 -137zM953 645l2 -5h508v31q0 122 -60 199t-188 77q-113 0 -182 -84.5t-80 -217.5z" />
180
- <glyph unicode="&#xe7;" horiz-adv-x="1087" d="M97 520v42q0 231 125.5 385.5t360.5 154.5q190 0 310.5 -112t116.5 -275l-2 -6h-178q0 99 -70 168.5t-177 69.5q-155 0 -221.5 -111.5t-66.5 -273.5v-42q0 -166 66 -276.5t222 -110.5q98 0 172.5 60.5t74.5 148.5h177l2 -6q5 -140 -124.5 -248.5t-301.5 -108.5 q-236 0 -361 154t-125 387zM440 -334q72 0 116 24.5t44 73.5q0 48 -36 67t-123 26l32 135h140l-12 -52q65 -11 108 -52t43 -121q0 -96 -79 -153t-226 -57z" />
181
- <glyph unicode="&#xe8;" horiz-adv-x="1083" d="M99 520v44q0 231 137.5 384.5t325.5 153.5q219 0 331 -132t112 -352v-123h-702l-3 -5q3 -156 79 -256.5t213 -100.5q100 0 175.5 28.5t130.5 78.5l77 -128q-58 -57 -153 -95t-230 -38q-226 0 -359.5 150.5t-133.5 390.5zM233 1499l3 6h230l175 -266h-158zM307 654l2 -5 h499v26q0 116 -62 194t-184 78q-99 0 -169 -83.5t-86 -209.5z" />
182
- <glyph unicode="&#xe9;" horiz-adv-x="1083" d="M99 520v44q0 231 137.5 384.5t325.5 153.5q219 0 331 -132t112 -352v-123h-702l-3 -5q3 -156 79 -256.5t213 -100.5q100 0 175.5 28.5t130.5 78.5l77 -128q-58 -57 -153 -95t-230 -38q-226 0 -359.5 150.5t-133.5 390.5zM307 654l2 -5h499v26q0 116 -62 194t-184 78 q-99 0 -169 -83.5t-86 -209.5zM468 1235l185 266h230l2 -6l-270 -260h-147z" />
183
- <glyph unicode="&#xea;" horiz-adv-x="1083" d="M99 520v44q0 231 137.5 384.5t325.5 153.5q219 0 331 -132t112 -352v-123h-702l-3 -5q3 -156 79 -256.5t213 -100.5q100 0 175.5 28.5t130.5 78.5l77 -128q-58 -57 -153 -95t-230 -38q-226 0 -359.5 150.5t-133.5 390.5zM252 1280v26l246 237h120l248 -238v-25h-161 l-147 148l-146 -148h-160zM307 654l2 -5h499v26q0 116 -62 194t-184 78q-99 0 -169 -83.5t-86 -209.5z" />
184
- <glyph unicode="&#xeb;" horiz-adv-x="1083" d="M99 520v44q0 231 137.5 384.5t325.5 153.5q219 0 331 -132t112 -352v-123h-702l-3 -5q3 -156 79 -256.5t213 -100.5q100 0 175.5 28.5t130.5 78.5l77 -128q-58 -57 -153 -95t-230 -38q-226 0 -359.5 150.5t-133.5 390.5zM214 1284v200h219v-200h-219zM307 654l2 -5h499 v26q0 116 -62 194t-184 78q-99 0 -169 -83.5t-86 -209.5zM684 1284v200h219v-200h-219z" />
185
- <glyph unicode="&#xec;" horiz-adv-x="515" d="M-71 1477l3 6h230l175 -266h-158zM153 0v1082h197v-1082h-197z" />
186
- <glyph unicode="&#xed;" horiz-adv-x="515" d="M153 0v1082h197v-1082h-197zM162 1213l185 266h230l2 -6l-270 -260h-147z" />
187
- <glyph unicode="&#xee;" horiz-adv-x="515" d="M-52 1258v26l246 237h120l248 -238v-25h-161l-147 148l-146 -148h-160zM153 0v1082h197v-1082h-197z" />
188
- <glyph unicode="&#xef;" horiz-adv-x="515" d="M-90 1262v200h219v-200h-219zM153 0v1082h197v-1082h-197zM380 1262v200h219v-200h-219z" />
189
- <glyph unicode="&#xf0;" horiz-adv-x="1202" d="M72 466q0 228 138 370t351 142q90 0 169.5 -37t131.5 -97l4 5q-9 109 -51.5 197t-110.5 154l-290 -165l-77 102l256 146q-39 22 -80.5 39t-85.5 31l60 164q79 -19 151 -52t135 -79l218 125l77 -102l-195 -112q95 -104 147 -241.5t52 -300.5v-220q0 -245 -144 -400.5 t-359 -155.5q-218 0 -357.5 140t-139.5 347zM269 466q0 -132 82 -232.5t222 -100.5q133 0 217.5 114t84.5 288v148q-35 59 -115.5 99.5t-198.5 40.5q-131 0 -211.5 -104t-80.5 -253z" />
190
- <glyph unicode="&#xf1;" d="M143 0v1082h176l14 -161q54 86 135.5 133.5t185.5 47.5q175 0 271 -102.5t96 -316.5v-683h-197v679q0 143 -56.5 203t-172.5 60q-85 0 -150.5 -41t-104.5 -112v-789h-197zM231 1306q0 93 59 161.5t150 68.5q56 0 140 -47t136 -47q41 0 71 32.5t30 79.5l108 -32 q0 -94 -59.5 -159t-149.5 -65q-71 0 -148 46.5t-128 46.5q-43 0 -72 -32.5t-29 -78.5z" />
191
- <glyph unicode="&#xf2;" d="M97 529v22q0 240 130 395.5t353 155.5q225 0 355.5 -155t130.5 -396v-22q0 -242 -130 -396t-354 -154t-354.5 154.5t-130.5 395.5zM257 1498l3 6h230l175 -266h-158zM294 529q0 -172 72.5 -284t215.5 -112q141 0 214 112t73 284v22q0 170 -73.5 283t-215.5 113 q-141 0 -213.5 -113t-72.5 -283v-22z" />
192
- <glyph unicode="&#xf3;" d="M97 529v22q0 240 130 395.5t353 155.5q225 0 355.5 -155t130.5 -396v-22q0 -242 -130 -396t-354 -154t-354.5 154.5t-130.5 395.5zM294 529q0 -172 72.5 -284t215.5 -112q141 0 214 112t73 284v22q0 170 -73.5 283t-215.5 113q-141 0 -213.5 -113t-72.5 -283v-22z M492 1234l185 266h230l2 -6l-270 -260h-147z" />
193
- <glyph unicode="&#xf4;" d="M97 529v22q0 240 130 395.5t353 155.5q225 0 355.5 -155t130.5 -396v-22q0 -242 -130 -396t-354 -154t-354.5 154.5t-130.5 395.5zM276 1279v26l246 237h120l248 -238v-25h-161l-147 148l-146 -148h-160zM294 529q0 -172 72.5 -284t215.5 -112q141 0 214 112t73 284v22 q0 170 -73.5 283t-215.5 113q-141 0 -213.5 -113t-72.5 -283v-22z" />
194
- <glyph unicode="&#xf5;" d="M97 529v22q0 240 130 395.5t353 155.5q225 0 355.5 -155t130.5 -396v-22q0 -242 -130 -396t-354 -154t-354.5 154.5t-130.5 395.5zM235 1306q0 93 59 161.5t150 68.5q56 0 140 -47t136 -47q41 0 71 32.5t30 79.5l108 -32q0 -94 -59.5 -159t-149.5 -65q-71 0 -148 46.5 t-128 46.5q-43 0 -72 -32.5t-29 -78.5zM294 529q0 -172 72.5 -284t215.5 -112q141 0 214 112t73 284v22q0 170 -73.5 283t-215.5 113q-141 0 -213.5 -113t-72.5 -283v-22z" />
195
- <glyph unicode="&#xf6;" d="M97 529v22q0 240 130 395.5t353 155.5q225 0 355.5 -155t130.5 -396v-22q0 -242 -130 -396t-354 -154t-354.5 154.5t-130.5 395.5zM238 1283v200h219v-200h-219zM294 529q0 -172 72.5 -284t215.5 -112q141 0 214 112t73 284v22q0 170 -73.5 283t-215.5 113 q-141 0 -213.5 -113t-72.5 -283v-22zM708 1283v200h219v-200h-219z" />
196
- <glyph unicode="&#xf7;" horiz-adv-x="1170" d="M71 597v188h998v-188h-998zM472 180v203h198v-203h-198zM472 999v203h198v-203h-198z" />
197
- <glyph unicode="&#xf8;" d="M97 529v22q0 240 130 395.5t353 155.5q56 0 107.5 -11t97.5 -31l74 149h129l-104 -211q88 -74 135 -190t47 -257v-22q0 -242 -130 -396t-354 -154q-51 0 -97 8.5t-88 24.5l-72 -147h-129l100 204q-96 71 -147.5 191t-51.5 269zM294 529q0 -91 20 -166.5t61 -123.5h6 l332 674q-29 16 -62.5 25t-70.5 9q-141 0 -213.5 -113t-72.5 -283v-22zM469 156q24 -12 52 -17.5t61 -5.5q141 0 214 112t73 284v22q0 80 -17.5 150.5t-49.5 117.5h-6z" />
198
- <glyph unicode="&#xf9;" d="M139 444v638h197v-640q0 -173 51 -238t159 -65q105 0 173.5 42.5t103.5 120.5v780h197v-1082h-177l-13 160q-51 -87 -131 -134t-185 -47q-177 0 -276 113t-99 352zM255 1477l3 6h230l175 -266h-158z" />
199
- <glyph unicode="&#xfa;" d="M139 444v638h197v-640q0 -173 51 -238t159 -65q105 0 173.5 42.5t103.5 120.5v780h197v-1082h-177l-13 160q-51 -87 -131 -134t-185 -47q-177 0 -276 113t-99 352zM490 1213l185 266h230l2 -6l-270 -260h-147z" />
200
- <glyph unicode="&#xfb;" d="M139 444v638h197v-640q0 -173 51 -238t159 -65q105 0 173.5 42.5t103.5 120.5v780h197v-1082h-177l-13 160q-51 -87 -131 -134t-185 -47q-177 0 -276 113t-99 352zM274 1258v26l246 237h120l248 -238v-25h-161l-147 148l-146 -148h-160z" />
201
- <glyph unicode="&#xfc;" d="M139 444v638h197v-640q0 -173 51 -238t159 -65q105 0 173.5 42.5t103.5 120.5v780h197v-1082h-177l-13 160q-51 -87 -131 -134t-185 -47q-177 0 -276 113t-99 352zM236 1262v200h219v-200h-219zM706 1262v200h219v-200h-219z" />
202
- <glyph unicode="&#xfd;" horiz-adv-x="1030" d="M26 1082h220l228 -681l35 -136h6l266 817h219l-455 -1248q-41 -109 -117.5 -190t-206.5 -81q-24 0 -61 5.5t-57 10.5l20 155q-6 1 35.5 -2t52.5 -3q63 0 103 56t67 124l47 113zM424 1213l185 266h230l2 -6l-270 -260h-147z" />
203
- <glyph unicode="&#xfe;" horiz-adv-x="1186" d="M153 -416v1976h197v-598q53 68 128 104t173 36q201 0 312.5 -159.5t111.5 -421.5v-21q0 -234 -112 -377.5t-309 -143.5q-100 0 -175.5 33.5t-128.5 100.5v-529h-197zM350 275q37 -67 97 -104.5t147 -37.5q140 0 212 102.5t72 264.5v21q0 184 -72.5 302.5t-213.5 118.5 q-85 0 -145 -38.5t-97 -105.5v-523z" />
204
- <glyph unicode="&#xff;" horiz-adv-x="1030" d="M26 1082h220l228 -681l35 -136h6l266 817h219l-455 -1248q-41 -109 -117.5 -190t-206.5 -81q-24 0 -61 5.5t-57 10.5l20 155q-6 1 35.5 -2t52.5 -3q63 0 103 56t67 124l47 113zM170 1262v200h219v-200h-219zM640 1262v200h219v-200h-219z" />
205
- <glyph unicode="&#x152;" horiz-adv-x="1960" d="M104 576v304q0 265 154.5 431t403.5 166q69 0 140.5 -6t150.5 -15h907v-155h-758v-471h667v-155h-667v-521h769v-154h-918q-92 -10 -157 -15.5t-132 -5.5q-249 0 -404.5 166t-155.5 431zM301 576q0 -214 97 -328t266 -114q61 0 122 4.5t119 13.5v1151q-61 8 -122 13.5 t-121 5.5q-169 0 -265 -113.5t-96 -326.5v-306z" />
206
- <glyph unicode="&#x153;" horiz-adv-x="1854" d="M97 529v22q0 240 130 395.5t353 155.5q130 0 230 -54.5t164 -152.5q65 97 161.5 152t204.5 55q219 0 331 -132t112 -352v-123h-702l-3 -5q3 -156 79 -256.5t213 -100.5q100 0 175.5 28.5t130.5 78.5l77 -128q-58 -57 -153 -95t-230 -38q-131 0 -232.5 52.5t-166.5 148.5 q-64 -96 -163 -148.5t-226 -52.5q-224 0 -354.5 154.5t-130.5 395.5zM294 529q0 -172 72.5 -284t215.5 -112q141 0 214 112t73 284v22q0 170 -73.5 283t-215.5 113q-141 0 -213.5 -113t-72.5 -283v-22zM1085 654l2 -5h499v26q0 116 -62 194t-184 78q-99 0 -169 -83.5 t-86 -209.5z" />
207
- <glyph unicode="&#x178;" horiz-adv-x="1250" d="M20 1456h225l380 -740l380 740h225l-511 -944v-512h-196v525zM281 1604v200h219v-200h-219zM751 1604v200h219v-200h-219z" />
208
- <glyph unicode="&#x2c6;" horiz-adv-x="979" d="M171 1252v26l246 237h120l248 -238v-25h-161l-147 148l-146 -148h-160z" />
209
- <glyph unicode="&#x2dc;" horiz-adv-x="979" d="M135 1275q0 93 59 161.5t150 68.5q56 0 140 -47t136 -47q41 0 71 32.5t30 79.5l108 -32q0 -94 -59.5 -159t-149.5 -65q-71 0 -148 46.5t-128 46.5q-43 0 -72 -32.5t-29 -78.5z" />
210
- <glyph unicode="&#x2000;" horiz-adv-x="966" />
211
- <glyph unicode="&#x2001;" horiz-adv-x="1932" />
212
- <glyph unicode="&#x2002;" horiz-adv-x="966" />
213
- <glyph unicode="&#x2003;" horiz-adv-x="1932" />
214
- <glyph unicode="&#x2004;" horiz-adv-x="644" />
215
- <glyph unicode="&#x2005;" horiz-adv-x="483" />
216
- <glyph unicode="&#x2006;" horiz-adv-x="322" />
217
- <glyph unicode="&#x2007;" horiz-adv-x="322" />
218
- <glyph unicode="&#x2008;" horiz-adv-x="241" />
219
- <glyph unicode="&#x2009;" horiz-adv-x="386" />
220
- <glyph unicode="&#x200a;" horiz-adv-x="107" />
221
- <glyph unicode="&#x2010;" horiz-adv-x="561" d="M35 538v154h490v-154h-490z" />
222
- <glyph unicode="&#x2011;" horiz-adv-x="561" d="M35 538v154h490v-154h-490z" />
223
- <glyph unicode="&#x2012;" horiz-adv-x="561" d="M35 538v154h490v-154h-490z" />
224
- <glyph unicode="&#x2013;" horiz-adv-x="1416" d="M169 648v155h1086v-155h-1086z" />
225
- <glyph unicode="&#x2014;" horiz-adv-x="1660" d="M141 648v155h1336v-155h-1336z" />
226
- <glyph unicode="&#x2018;" horiz-adv-x="418" d="M80 1020v184l160 356h97l-60 -362v-178h-197z" />
227
- <glyph unicode="&#x2019;" horiz-adv-x="418" d="M80 1021l60 343v196h197v-193l-160 -346h-97z" />
228
- <glyph unicode="&#x201a;" horiz-adv-x="417" d="M80 -255l60 263v241h197v-223l-160 -281h-97z" />
229
- <glyph unicode="&#x201c;" horiz-adv-x="744" d="M80 1020v184l160 356h97l-60 -362v-178h-197zM409 1020v184l160 356h97l-60 -362v-178h-197z" />
230
- <glyph unicode="&#x201d;" horiz-adv-x="752" d="M80 1021l60 343v196h197v-193l-160 -346h-97zM417 1021l60 343v196h197v-193l-160 -346h-97z" />
231
- <glyph unicode="&#x201e;" horiz-adv-x="726" d="M80 -239l60 325v194h197v-184l-160 -335h-97zM388 -239l60 333v186h197v-184l-160 -335h-97z" />
232
- <glyph unicode="&#x2022;" horiz-adv-x="695" d="M137 733v60q0 88 56 144t150 56q95 0 151.5 -56t56.5 -144v-60q0 -89 -56 -143.5t-151 -54.5t-151 55t-56 143z" />
233
- <glyph unicode="&#x2026;" horiz-adv-x="1380" d="M161 0v202h197v-202h-197zM604 0v202h197v-202h-197zM1024 0v202h197v-202h-197z" />
234
- <glyph unicode="&#x202f;" horiz-adv-x="386" />
235
- <glyph unicode="&#x2039;" horiz-adv-x="615" d="M108 541v19l295 389h148l-255 -399l255 -398h-148z" />
236
- <glyph unicode="&#x203a;" horiz-adv-x="615" d="M88 152l255 398l-255 399h148l295 -389v-19l-295 -389h-148z" />
237
- <glyph unicode="&#x205f;" horiz-adv-x="483" />
238
- <glyph unicode="&#x20ac;" horiz-adv-x="1088" d="M79 481v155h146v136h-146v155h146v15q0 244 141.5 389.5t372.5 145.5q59 0 117.5 -8t124.5 -23l-19 -159q-54 16 -110.5 25.5t-112.5 9.5q-146 0 -231.5 -103t-85.5 -275v-17h492v-155h-492v-136h492v-155h-485l-2 -5q-4 -138 81.5 -240.5t232.5 -102.5q57 0 113 8.5 t108 25.5l19 -157q-56 -15 -117.5 -23t-122.5 -8q-231 0 -373.5 144.5t-142.5 357.5h-146z" />
239
- <glyph unicode="&#x2122;" horiz-adv-x="1284" d="M103 1374v82h384v-82h-145v-455h-94v455h-145zM565 919v537h116l161 -390h6l162 390h110v-537h-93v343l-6 2l-150 -345h-51l-156 359l-6 -2v-357h-93z" />
240
- <glyph unicode="&#xe000;" horiz-adv-x="1080" d="M0 0v1080h1080v-1080h-1080z" />
241
- <glyph unicode="&#xfb02;" horiz-adv-x="1223" d="M56 936v146h169v137q0 173 90.5 267.5t252.5 94.5q34 0 68.5 -5.5t76.5 -15.5l-24 -150q-18 4 -43.5 7t-53.5 3q-86 0 -128 -51.5t-42 -149.5v-137h225v-146h-225v-936h-197v936h-169zM866 0v1560h197v-1560h-197z" />
242
- <glyph unicode="&#xfb03;" horiz-adv-x="1847" d="M56 936v146h169v137q0 173 90.5 267.5t252.5 94.5q34 0 68.5 -5.5t76.5 -15.5l-24 -150q-18 4 -43.5 7t-53.5 3q-86 0 -128 -51.5t-42 -149.5v-137h225v-146h-225v-936h-197v936h-169zM735 936v146h170v117q0 182 106.5 282t295.5 100q67 0 132 -15.5t153 -45.5l-34 -160 q-53 21 -113 36t-123 15q-117 0 -168.5 -52t-51.5 -160v-117h215v-146h-215v-936h-197v936h-170zM1490 0v1082h198v-1082h-198z" />
243
- <glyph unicode="&#xfb04;" horiz-adv-x="1930" d="M56 936v146h169v137q0 173 90.5 267.5t252.5 94.5q34 0 68.5 -5.5t76.5 -15.5l-24 -150q-18 4 -43.5 7t-53.5 3q-86 0 -128 -51.5t-42 -149.5v-137h225v-146h-225v-936h-197v936h-169zM763 936v146h169v137q0 173 90.5 267.5t252.5 94.5q34 0 68.5 -5.5t76.5 -15.5 l-24 -150q-18 4 -43.5 7t-53.5 3q-86 0 -128 -51.5t-42 -149.5v-137h225v-146h-225v-936h-197v936h-169zM1573 0v1560h197v-1560h-197z" />
244
- <hkern u1="&#x22;" u2="w" k="-11" />
245
- <hkern u1="&#x27;" u2="w" k="-11" />
246
- <hkern u1="&#x28;" u2="&#x178;" k="-22" />
247
- <hkern u1="&#x28;" u2="&#xdd;" k="-22" />
248
- <hkern u1="&#x28;" u2="Y" k="-22" />
249
- <hkern u1="&#x28;" u2="W" k="-37" />
250
- <hkern u1="&#x28;" u2="V" k="-20" />
251
- <hkern u1="A" u2="w" k="33" />
252
- <hkern u1="A" u2="t" k="17" />
253
- <hkern u1="A" u2="&#x3f;" k="80" />
254
- <hkern u1="C" u2="&#x7d;" k="17" />
255
- <hkern u1="C" u2="]" k="12" />
256
- <hkern u1="C" u2="&#x29;" k="26" />
257
- <hkern u1="D" u2="&#xc6;" k="33" />
258
- <hkern u1="E" u2="w" k="22" />
259
- <hkern u1="E" u2="f" k="18" />
260
- <hkern u1="F" u2="&#x2026;" k="273" />
261
- <hkern u1="F" u2="&#x201e;" k="273" />
262
- <hkern u1="F" u2="&#x201a;" k="273" />
263
- <hkern u1="F" u2="&#x153;" k="21" />
264
- <hkern u1="F" u2="&#xff;" k="24" />
265
- <hkern u1="F" u2="&#xfd;" k="24" />
266
- <hkern u1="F" u2="&#xfc;" k="22" />
267
- <hkern u1="F" u2="&#xfb;" k="22" />
268
- <hkern u1="F" u2="&#xfa;" k="22" />
269
- <hkern u1="F" u2="&#xf9;" k="22" />
270
- <hkern u1="F" u2="&#xf6;" k="21" />
271
- <hkern u1="F" u2="&#xf5;" k="21" />
272
- <hkern u1="F" u2="&#xf4;" k="21" />
273
- <hkern u1="F" u2="&#xf3;" k="21" />
274
- <hkern u1="F" u2="&#xf2;" k="21" />
275
- <hkern u1="F" u2="&#xeb;" k="21" />
276
- <hkern u1="F" u2="&#xea;" k="21" />
277
- <hkern u1="F" u2="&#xe9;" k="21" />
278
- <hkern u1="F" u2="&#xe8;" k="21" />
279
- <hkern u1="F" u2="&#xe7;" k="21" />
280
- <hkern u1="F" u2="&#xe5;" k="34" />
281
- <hkern u1="F" u2="&#xe4;" k="34" />
282
- <hkern u1="F" u2="&#xe3;" k="34" />
283
- <hkern u1="F" u2="&#xe2;" k="34" />
284
- <hkern u1="F" u2="&#xe1;" k="34" />
285
- <hkern u1="F" u2="&#xe0;" k="34" />
286
- <hkern u1="F" u2="&#xc5;" k="59" />
287
- <hkern u1="F" u2="&#xc4;" k="59" />
288
- <hkern u1="F" u2="&#xc3;" k="59" />
289
- <hkern u1="F" u2="&#xc2;" k="59" />
290
- <hkern u1="F" u2="&#xc1;" k="59" />
291
- <hkern u1="F" u2="&#xc0;" k="59" />
292
- <hkern u1="F" u2="y" k="24" />
293
- <hkern u1="F" u2="v" k="24" />
294
- <hkern u1="F" u2="u" k="22" />
295
- <hkern u1="F" u2="r" k="26" />
296
- <hkern u1="F" u2="q" k="21" />
297
- <hkern u1="F" u2="o" k="21" />
298
- <hkern u1="F" u2="g" k="21" />
299
- <hkern u1="F" u2="e" k="21" />
300
- <hkern u1="F" u2="d" k="21" />
301
- <hkern u1="F" u2="c" k="21" />
302
- <hkern u1="F" u2="a" k="34" />
303
- <hkern u1="F" u2="T" k="-20" />
304
- <hkern u1="F" u2="A" k="59" />
305
- <hkern u1="F" u2="&#x3a;" k="273" />
306
- <hkern u1="F" u2="&#x2e;" k="273" />
307
- <hkern u1="F" u2="&#x2c;" k="273" />
308
- <hkern u1="K" u2="w" k="63" />
309
- <hkern u1="L" u2="w" k="52" />
310
- <hkern u1="O" u2="&#xc6;" k="33" />
311
- <hkern u1="P" u2="&#xc6;" k="293" />
312
- <hkern u1="P" u2="t" k="-14" />
313
- <hkern u1="Q" u2="&#x178;" k="35" />
314
- <hkern u1="Q" u2="&#xdd;" k="35" />
315
- <hkern u1="Q" u2="Y" k="35" />
316
- <hkern u1="Q" u2="W" k="20" />
317
- <hkern u1="Q" u2="V" k="28" />
318
- <hkern u1="Q" u2="T" k="33" />
319
- <hkern u1="R" u2="&#x178;" k="48" />
320
- <hkern u1="R" u2="&#xdd;" k="48" />
321
- <hkern u1="R" u2="Y" k="48" />
322
- <hkern u1="R" u2="V" k="19" />
323
- <hkern u1="R" u2="T" k="50" />
324
- <hkern u1="T" u2="&#xf8;" k="95" />
325
- <hkern u1="T" u2="&#xe6;" k="84" />
326
- <hkern u1="T" u2="&#xc6;" k="188" />
327
- <hkern u1="T" u2="&#xbb;" k="147" />
328
- <hkern u1="T" u2="&#xab;" k="151" />
329
- <hkern u1="T" u2="w" k="47" />
330
- <hkern u1="T" u2="r" k="65" />
331
- <hkern u1="V" u2="&#x7d;" k="-19" />
332
- <hkern u1="V" u2="r" k="30" />
333
- <hkern u1="V" u2="]" k="-17" />
334
- <hkern u1="V" u2="&#x29;" k="-20" />
335
- <hkern u1="W" u2="&#x7d;" k="-14" />
336
- <hkern u1="W" u2="r" k="21" />
337
- <hkern u1="W" u2="]" k="-12" />
338
- <hkern u1="W" u2="&#x29;" k="-15" />
339
- <hkern u1="Y" u2="&#x2022;" k="45" />
340
- <hkern u1="Y" u2="&#xf8;" k="64" />
341
- <hkern u1="Y" u2="&#xe6;" k="63" />
342
- <hkern u1="Y" u2="&#xc6;" k="96" />
343
- <hkern u1="Y" u2="&#xbb;" k="51" />
344
- <hkern u1="Y" u2="&#xab;" k="82" />
345
- <hkern u1="Y" u2="&#x7d;" k="-19" />
346
- <hkern u1="Y" u2="t" k="22" />
347
- <hkern u1="Y" u2="r" k="40" />
348
- <hkern u1="Y" u2="f" k="22" />
349
- <hkern u1="Y" u2="]" k="-18" />
350
- <hkern u1="Y" u2="&#x2a;" k="49" />
351
- <hkern u1="Y" u2="&#x29;" k="-20" />
352
- <hkern u1="Y" u2="&#x26;" k="30" />
353
- <hkern u1="Z" u2="w" k="27" />
354
- <hkern u1="[" u2="&#xdc;" k="18" />
355
- <hkern u1="[" u2="&#xdb;" k="18" />
356
- <hkern u1="[" u2="&#xda;" k="18" />
357
- <hkern u1="[" u2="&#xd9;" k="18" />
358
- <hkern u1="[" u2="U" k="18" />
359
- <hkern u1="[" u2="J" k="18" />
360
- <hkern u1="f" u2="&#x201d;" k="-16" />
361
- <hkern u1="f" u2="&#x201c;" k="-16" />
362
- <hkern u1="f" u2="&#x2019;" k="-16" />
363
- <hkern u1="f" u2="&#x2018;" k="-16" />
364
- <hkern u1="f" u2="&#x153;" k="24" />
365
- <hkern u1="f" u2="&#xeb;" k="24" />
366
- <hkern u1="f" u2="&#xea;" k="24" />
367
- <hkern u1="f" u2="&#xe9;" k="24" />
368
- <hkern u1="f" u2="&#xe8;" k="24" />
369
- <hkern u1="f" u2="&#xe7;" k="24" />
370
- <hkern u1="f" u2="&#x7d;" k="-19" />
371
- <hkern u1="f" u2="q" k="24" />
372
- <hkern u1="f" u2="g" k="24" />
373
- <hkern u1="f" u2="e" k="24" />
374
- <hkern u1="f" u2="d" k="24" />
375
- <hkern u1="f" u2="c" k="24" />
376
- <hkern u1="f" u2="]" k="-18" />
377
- <hkern u1="f" u2="&#x29;" k="-20" />
378
- <hkern u1="f" u2="&#x27;" k="-16" />
379
- <hkern u1="f" u2="&#x22;" k="-16" />
380
- <hkern u1="k" u2="&#x153;" k="20" />
381
- <hkern u1="k" u2="&#xeb;" k="20" />
382
- <hkern u1="k" u2="&#xea;" k="20" />
383
- <hkern u1="k" u2="&#xe9;" k="20" />
384
- <hkern u1="k" u2="&#xe8;" k="20" />
385
- <hkern u1="k" u2="&#xe7;" k="20" />
386
- <hkern u1="k" u2="q" k="20" />
387
- <hkern u1="k" u2="g" k="20" />
388
- <hkern u1="k" u2="e" k="20" />
389
- <hkern u1="k" u2="d" k="20" />
390
- <hkern u1="k" u2="c" k="20" />
391
- <hkern u1="r" u2="w" k="-17" />
392
- <hkern u1="r" u2="t" k="-17" />
393
- <hkern u1="r" u2="f" k="-15" />
394
- <hkern u1="v" u2="f" k="-13" />
395
- <hkern u1="w" u2="&#x2026;" k="124" />
396
- <hkern u1="w" u2="&#x201e;" k="124" />
397
- <hkern u1="w" u2="&#x201a;" k="124" />
398
- <hkern u1="w" u2="&#x3a;" k="124" />
399
- <hkern u1="w" u2="&#x2e;" k="124" />
400
- <hkern u1="w" u2="&#x2c;" k="124" />
401
- <hkern u1="y" u2="f" k="-13" />
402
- <hkern u1="&#x7b;" u2="&#xdc;" k="20" />
403
- <hkern u1="&#x7b;" u2="&#xdb;" k="20" />
404
- <hkern u1="&#x7b;" u2="&#xda;" k="20" />
405
- <hkern u1="&#x7b;" u2="&#xd9;" k="20" />
406
- <hkern u1="&#x7b;" u2="U" k="20" />
407
- <hkern u1="&#x7b;" u2="J" k="20" />
408
- <hkern u1="&#xc0;" u2="w" k="33" />
409
- <hkern u1="&#xc0;" u2="t" k="17" />
410
- <hkern u1="&#xc0;" u2="&#x3f;" k="80" />
411
- <hkern u1="&#xc1;" u2="w" k="33" />
412
- <hkern u1="&#xc1;" u2="t" k="17" />
413
- <hkern u1="&#xc1;" u2="&#x3f;" k="80" />
414
- <hkern u1="&#xc2;" u2="w" k="33" />
415
- <hkern u1="&#xc2;" u2="t" k="17" />
416
- <hkern u1="&#xc2;" u2="&#x3f;" k="80" />
417
- <hkern u1="&#xc3;" u2="w" k="33" />
418
- <hkern u1="&#xc3;" u2="t" k="17" />
419
- <hkern u1="&#xc3;" u2="&#x3f;" k="80" />
420
- <hkern u1="&#xc4;" u2="w" k="33" />
421
- <hkern u1="&#xc4;" u2="t" k="17" />
422
- <hkern u1="&#xc4;" u2="&#x3f;" k="80" />
423
- <hkern u1="&#xc5;" u2="w" k="33" />
424
- <hkern u1="&#xc5;" u2="t" k="17" />
425
- <hkern u1="&#xc5;" u2="&#x3f;" k="80" />
426
- <hkern u1="&#xc7;" u2="&#x7d;" k="17" />
427
- <hkern u1="&#xc7;" u2="]" k="12" />
428
- <hkern u1="&#xc7;" u2="&#x29;" k="26" />
429
- <hkern u1="&#xc8;" u2="w" k="22" />
430
- <hkern u1="&#xc8;" u2="f" k="18" />
431
- <hkern u1="&#xc9;" u2="w" k="22" />
432
- <hkern u1="&#xc9;" u2="f" k="18" />
433
- <hkern u1="&#xca;" u2="w" k="22" />
434
- <hkern u1="&#xca;" u2="f" k="18" />
435
- <hkern u1="&#xcb;" u2="w" k="22" />
436
- <hkern u1="&#xcb;" u2="f" k="18" />
437
- <hkern u1="&#xd0;" u2="&#xc6;" k="33" />
438
- <hkern u1="&#xd2;" u2="&#xc6;" k="33" />
439
- <hkern u1="&#xd3;" u2="&#xc6;" k="33" />
440
- <hkern u1="&#xd4;" u2="&#xc6;" k="33" />
441
- <hkern u1="&#xd5;" u2="&#xc6;" k="33" />
442
- <hkern u1="&#xd6;" u2="&#xc6;" k="33" />
443
- <hkern u1="&#xdd;" u2="&#x2022;" k="45" />
444
- <hkern u1="&#xdd;" u2="&#xf8;" k="64" />
445
- <hkern u1="&#xdd;" u2="&#xe6;" k="63" />
446
- <hkern u1="&#xdd;" u2="&#xc6;" k="96" />
447
- <hkern u1="&#xdd;" u2="&#xbb;" k="51" />
448
- <hkern u1="&#xdd;" u2="&#xab;" k="82" />
449
- <hkern u1="&#xdd;" u2="&#x7d;" k="-19" />
450
- <hkern u1="&#xdd;" u2="t" k="22" />
451
- <hkern u1="&#xdd;" u2="r" k="40" />
452
- <hkern u1="&#xdd;" u2="f" k="22" />
453
- <hkern u1="&#xdd;" u2="]" k="-18" />
454
- <hkern u1="&#xdd;" u2="&#x2a;" k="49" />
455
- <hkern u1="&#xdd;" u2="&#x29;" k="-20" />
456
- <hkern u1="&#xdd;" u2="&#x26;" k="30" />
457
- <hkern u1="&#xfd;" u2="f" k="-13" />
458
- <hkern u1="&#xff;" u2="f" k="-13" />
459
- <hkern u1="&#x178;" u2="&#x2022;" k="45" />
460
- <hkern u1="&#x178;" u2="&#xf8;" k="64" />
461
- <hkern u1="&#x178;" u2="&#xe6;" k="63" />
462
- <hkern u1="&#x178;" u2="&#xc6;" k="96" />
463
- <hkern u1="&#x178;" u2="&#xbb;" k="51" />
464
- <hkern u1="&#x178;" u2="&#xab;" k="82" />
465
- <hkern u1="&#x178;" u2="&#x7d;" k="-19" />
466
- <hkern u1="&#x178;" u2="t" k="22" />
467
- <hkern u1="&#x178;" u2="r" k="40" />
468
- <hkern u1="&#x178;" u2="f" k="22" />
469
- <hkern u1="&#x178;" u2="]" k="-18" />
470
- <hkern u1="&#x178;" u2="&#x2a;" k="49" />
471
- <hkern u1="&#x178;" u2="&#x29;" k="-20" />
472
- <hkern u1="&#x178;" u2="&#x26;" k="30" />
473
- <hkern u1="&#x2018;" u2="w" k="-11" />
474
- <hkern u1="&#x2019;" u2="w" k="-11" />
475
- <hkern u1="&#x201c;" u2="w" k="-11" />
476
- <hkern u1="&#x201d;" u2="w" k="-11" />
477
- <hkern g1="comma,period,colon,quotesinglbase,quotedblbase,ellipsis" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="282" />
478
- <hkern g1="B" g2="T" k="27" />
479
- <hkern g1="B" g2="V" k="24" />
480
- <hkern g1="B" g2="Y,Yacute,Ydieresis" k="55" />
481
- <hkern g1="C,Ccedilla" g2="T" k="29" />
482
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="21" />
483
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="T" k="27" />
484
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="V" k="22" />
485
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="Y,Yacute,Ydieresis" k="43" />
486
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="comma,period,colon,quotesinglbase,quotedblbase,ellipsis" k="121" />
487
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="X" k="22" />
488
- <hkern g1="D,O,Eth,Ograve,Oacute,Ocircumflex,Otilde,Odieresis" g2="Z" k="23" />
489
- <hkern g1="E,Egrave,Eacute,Ecircumflex,Edieresis" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="19" />
490
- <hkern g1="E,Egrave,Eacute,Ecircumflex,Edieresis" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="19" />
491
- <hkern g1="E,Egrave,Eacute,Ecircumflex,Edieresis" g2="T" k="-20" />
492
- <hkern g1="E,Egrave,Eacute,Ecircumflex,Edieresis" g2="u,ugrave,uacute,ucircumflex,udieresis" k="17" />
493
- <hkern g1="E,Egrave,Eacute,Ecircumflex,Edieresis" g2="v,y,yacute,ydieresis" k="26" />
494
- <hkern g1="H,I,M,N,Igrave,Iacute,Icircumflex,Idieresis,Ntilde" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-18" />
495
- <hkern g1="H,I,M,N,Igrave,Iacute,Icircumflex,Idieresis,Ntilde" g2="T" k="29" />
496
- <hkern g1="H,I,M,N,Igrave,Iacute,Icircumflex,Idieresis,Ntilde" g2="Y,Yacute,Ydieresis" k="28" />
497
- <hkern g1="H,I,M,N,Igrave,Iacute,Icircumflex,Idieresis,Ntilde" g2="X" k="-17" />
498
- <hkern g1="J,U,Ugrave,Uacute,Ucircumflex,Udieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="22" />
499
- <hkern g1="K" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="26" />
500
- <hkern g1="K" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="27" />
501
- <hkern g1="K" g2="u,ugrave,uacute,ucircumflex,udieresis" k="23" />
502
- <hkern g1="K" g2="v,y,yacute,ydieresis" k="40" />
503
- <hkern g1="K" g2="hyphen,uni00AD,endash,emdash" k="162" />
504
- <hkern g1="K" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="31" />
505
- <hkern g1="L" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="255" />
506
- <hkern g1="L" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-19" />
507
- <hkern g1="L" g2="T" k="206" />
508
- <hkern g1="L" g2="V" k="205" />
509
- <hkern g1="L" g2="Y,Yacute,Ydieresis" k="278" />
510
- <hkern g1="L" g2="u,ugrave,uacute,ucircumflex,udieresis" k="14" />
511
- <hkern g1="L" g2="v,y,yacute,ydieresis" k="123" />
512
- <hkern g1="L" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="25" />
513
- <hkern g1="L" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="24" />
514
- <hkern g1="L" g2="W" k="93" />
515
- <hkern g1="P" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="177" />
516
- <hkern g1="P" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring" k="11" />
517
- <hkern g1="P" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="13" />
518
- <hkern g1="P" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="13" />
519
- <hkern g1="P" g2="comma,period,colon,quotesinglbase,quotedblbase,ellipsis" k="402" />
520
- <hkern g1="P" g2="X" k="50" />
521
- <hkern g1="P" g2="Z" k="35" />
522
- <hkern g1="P" g2="v,y,yacute,ydieresis" k="-15" />
523
- <hkern g1="T" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="108" />
524
- <hkern g1="T" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring" k="83" />
525
- <hkern g1="T" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="89" />
526
- <hkern g1="T" g2="m,n,p,ntilde" k="89" />
527
- <hkern g1="T" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="79" />
528
- <hkern g1="T" g2="s" k="76" />
529
- <hkern g1="T" g2="T" k="-16" />
530
- <hkern g1="T" g2="V" k="-16" />
531
- <hkern g1="T" g2="Y,Yacute,Ydieresis" k="-16" />
532
- <hkern g1="T" g2="comma,period,colon,quotesinglbase,quotedblbase,ellipsis" k="257" />
533
- <hkern g1="T" g2="u,ugrave,uacute,ucircumflex,udieresis" k="65" />
534
- <hkern g1="T" g2="v,y,yacute,ydieresis" k="81" />
535
- <hkern g1="T" g2="hyphen,uni00AD,endash,emdash" k="271" />
536
- <hkern g1="T" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="28" />
537
- <hkern g1="T" g2="W" k="-15" />
538
- <hkern g1="T" g2="S" k="16" />
539
- <hkern g1="T" g2="x" k="77" />
540
- <hkern g1="T" g2="z" k="60" />
541
- <hkern g1="V" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="75" />
542
- <hkern g1="V" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring" k="46" />
543
- <hkern g1="V" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="44" />
544
- <hkern g1="V" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="46" />
545
- <hkern g1="V" g2="comma,period,colon,quotesinglbase,quotedblbase,ellipsis" k="215" />
546
- <hkern g1="V" g2="u,ugrave,uacute,ucircumflex,udieresis" k="28" />
547
- <hkern g1="V" g2="v,y,yacute,ydieresis" k="11" />
548
- <hkern g1="V" g2="hyphen,uni00AD,endash,emdash" k="154" />
549
- <hkern g1="V" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="13" />
550
- <hkern g1="W" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="43" />
551
- <hkern g1="W" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring" k="33" />
552
- <hkern g1="W" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="31" />
553
- <hkern g1="W" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="31" />
554
- <hkern g1="W" g2="T" k="-14" />
555
- <hkern g1="W" g2="comma,period,colon,quotesinglbase,quotedblbase,ellipsis" k="142" />
556
- <hkern g1="W" g2="u,ugrave,uacute,ucircumflex,udieresis" k="19" />
557
- <hkern g1="W" g2="hyphen,uni00AD,endash,emdash" k="60" />
558
- <hkern g1="X" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="26" />
559
- <hkern g1="X" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="21" />
560
- <hkern g1="X" g2="V" k="-14" />
561
- <hkern g1="X" g2="u,ugrave,uacute,ucircumflex,udieresis" k="21" />
562
- <hkern g1="X" g2="v,y,yacute,ydieresis" k="31" />
563
- <hkern g1="X" g2="hyphen,uni00AD,endash,emdash" k="153" />
564
- <hkern g1="X" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="25" />
565
- <hkern g1="Y,Yacute,Ydieresis" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="148" />
566
- <hkern g1="Y,Yacute,Ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring" k="63" />
567
- <hkern g1="Y,Yacute,Ydieresis" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="65" />
568
- <hkern g1="Y,Yacute,Ydieresis" g2="m,n,p,ntilde" k="40" />
569
- <hkern g1="Y,Yacute,Ydieresis" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="65" />
570
- <hkern g1="Y,Yacute,Ydieresis" g2="s" k="58" />
571
- <hkern g1="Y,Yacute,Ydieresis" g2="T" k="-17" />
572
- <hkern g1="Y,Yacute,Ydieresis" g2="V" k="-18" />
573
- <hkern g1="Y,Yacute,Ydieresis" g2="Y,Yacute,Ydieresis" k="-18" />
574
- <hkern g1="Y,Yacute,Ydieresis" g2="comma,period,colon,quotesinglbase,quotedblbase,ellipsis" k="230" />
575
- <hkern g1="Y,Yacute,Ydieresis" g2="X" k="-13" />
576
- <hkern g1="Y,Yacute,Ydieresis" g2="u,ugrave,uacute,ucircumflex,udieresis" k="39" />
577
- <hkern g1="Y,Yacute,Ydieresis" g2="v,y,yacute,ydieresis" k="20" />
578
- <hkern g1="Y,Yacute,Ydieresis" g2="hyphen,uni00AD,endash,emdash" k="150" />
579
- <hkern g1="Y,Yacute,Ydieresis" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="29" />
580
- <hkern g1="Y,Yacute,Ydieresis" g2="U,Ugrave,Uacute,Ucircumflex,Udieresis" k="96" />
581
- <hkern g1="Y,Yacute,Ydieresis" g2="W" k="-17" />
582
- <hkern g1="Y,Yacute,Ydieresis" g2="S" k="16" />
583
- <hkern g1="Y,Yacute,Ydieresis" g2="x" k="23" />
584
- <hkern g1="Y,Yacute,Ydieresis" g2="z" k="30" />
585
- <hkern g1="Y,Yacute,Ydieresis" g2="J" k="96" />
586
- <hkern g1="Z" g2="A,Agrave,Aacute,Acircumflex,Atilde,Adieresis,Aring" k="-13" />
587
- <hkern g1="Z" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="21" />
588
- <hkern g1="Z" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="21" />
589
- <hkern g1="Z" g2="u,ugrave,uacute,ucircumflex,udieresis" k="19" />
590
- <hkern g1="Z" g2="v,y,yacute,ydieresis" k="27" />
591
- <hkern g1="Z" g2="C,G,O,Q,Ccedilla,Ograve,Oacute,Ocircumflex,Otilde,Odieresis,Oslash,OE" k="26" />
592
- <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="17" />
593
- <hkern g1="a,agrave,aacute,acircumflex,atilde,adieresis,aring" g2="v,y,yacute,ydieresis" k="15" />
594
- <hkern g1="b,p,thorn" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="29" />
595
- <hkern g1="b,p,thorn" g2="v,y,yacute,ydieresis" k="11" />
596
- <hkern g1="b,p,thorn" g2="x" k="15" />
597
- <hkern g1="b,p,thorn" g2="z" k="15" />
598
- <hkern g1="c,ccedilla" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="11" />
599
- <hkern g1="e,egrave,eacute,ecircumflex,edieresis" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="14" />
600
- <hkern g1="e,egrave,eacute,ecircumflex,edieresis" g2="v,y,yacute,ydieresis" k="13" />
601
- <hkern g1="h,m,n,ntilde" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="16" />
602
- <hkern g1="o,ograve,oacute,ocircumflex,otilde,odieresis" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="20" />
603
- <hkern g1="o,ograve,oacute,ocircumflex,otilde,odieresis" g2="v,y,yacute,ydieresis" k="15" />
604
- <hkern g1="o,ograve,oacute,ocircumflex,otilde,odieresis" g2="x" k="21" />
605
- <hkern g1="o,ograve,oacute,ocircumflex,otilde,odieresis" g2="z" k="16" />
606
- <hkern g1="r" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="-16" />
607
- <hkern g1="r" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="19" />
608
- <hkern g1="r" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="20" />
609
- <hkern g1="r" g2="comma,period,colon,quotesinglbase,quotedblbase,ellipsis" k="172" />
610
- <hkern g1="r" g2="v,y,yacute,ydieresis" k="-18" />
611
- <hkern g1="v,y,yacute,ydieresis" g2="quotedbl,quotesingle,quoteleft,quoteright,quotedblleft,quotedblright" k="-15" />
612
- <hkern g1="v,y,yacute,ydieresis" g2="a,agrave,aacute,acircumflex,atilde,adieresis,aring" k="15" />
613
- <hkern g1="v,y,yacute,ydieresis" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="13" />
614
- <hkern g1="v,y,yacute,ydieresis" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="15" />
615
- <hkern g1="v,y,yacute,ydieresis" g2="comma,period,colon,quotesinglbase,quotedblbase,ellipsis" k="165" />
616
- <hkern g1="x" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="20" />
617
- <hkern g1="x" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="39" />
618
- <hkern g1="z" g2="c,d,e,g,q,ccedilla,egrave,eacute,ecircumflex,edieresis,oe" k="16" />
619
- <hkern g1="z" g2="o,ograve,oacute,ocircumflex,otilde,odieresis" k="16" />
620
- </font>
621
- </defs></svg>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/font/roboto/Roboto-Regular-webfont.ttf DELETED
Binary file
admin/font/roboto/Roboto-Regular-webfont.woff DELETED
Binary file
admin/header.php DELETED
@@ -1,4 +0,0 @@
1
- <header id="top" class="modula-header" >
2
- <h1 class="header center-on-small-only"><?php echo esc_html__( 'Modula Lite', 'modula-gallery' ); ?></h1>
3
- <h4 class="light text-lighten-4 center-on-small-only"><?php print $tg_subtitle ?></h4>
4
- </header>
 
 
 
 
admin/images/captions-settings.jpg DELETED
Binary file
admin/images/circles.jpg DELETED
Binary file
admin/images/creative-gallery-settings.jpg DELETED
Binary file
admin/images/custom-grid-settings.jpg DELETED
Binary file
admin/images/customizations-settings.jpg DELETED
Binary file
admin/images/drag-and-drop-upload.jpg DELETED
Binary file
admin/images/final.jpg DELETED
Binary file
admin/images/galleries-list.jpg DELETED
Binary file
admin/images/gallery-edit.jpg DELETED
Binary file
admin/images/helper-grid.jpg DELETED
Binary file
admin/images/hover-effects-settings.jpg DELETED
Binary file
admin/images/icon-shortpixel.png DELETED
Binary file
admin/images/landscape-portrait.jpg DELETED
Binary file
admin/images/live-preview.jpg DELETED
Binary file
admin/images/loading-effects-settings.jpg DELETED
Binary file
admin/images/material-design.gif DELETED
Binary file
admin/images/modula-logo.jpg DELETED
Binary file
admin/images/modula-v2-custom-grid.png DELETED
Binary file
admin/images/modula-v2-drag-and-drop-upload.png DELETED
Binary file
admin/images/modula-v2-familiar-dashboard.png DELETED
Binary file
admin/images/modula-v2-helper-grid.png DELETED
Binary file
admin/images/modula-v2-intuitive-settings.png DELETED
Binary file
admin/images/modula-v2-landscape-or-portrait.png DELETED
Binary file
admin/images/modula-v2-live-preview.png DELETED
Binary file
admin/images/modula.svg DELETED
@@ -1,48 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!-- Generator: Adobe Illustrator 23.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
- <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
- viewBox="0 0 713.4 224.4" xml:space="preserve" fill="#fff">
5
- <g>
6
- <path d="M237,71c7,0,13.9,0,20.9,0c7.7,12.4,15.3,24.7,23.1,37.2c7.8-12.5,15.4-24.9,23.1-37.2c6.9,0,13.8,0,20.7,0
7
- c0.2,0.8,0.3,86.6,0.1,88.2c-6.3,0-12.6,0-19,0c-0.2-2.4-0.1-4.8-0.1-7.2c0-2.4,0-4.7,0-7.1c0-2.4,0-4.8,0-7.2c0-2.4,0-4.7,0-7.1
8
- c0-2.4,0-4.8,0-7.2c0-2.4,0-4.7,0-7.1c0-2.4,0-4.8,0-7.2c0-2.3,0-4.7,0-7c-0.1,0-0.2-0.1-0.3-0.1c-0.2,0.3-0.5,0.7-0.7,1
9
- c-7.7,11.7-15.3,23.3-23,35c-1.1,1.7-1.1,1.7-2.2,0c-7.6-11.5-15.1-23-22.7-34.5c-0.2-0.4-0.5-0.7-0.9-1.3
10
- c-0.1,0.6-0.1,0.9-0.1,1.2c0,2.7,0,5.4,0,8.1c0,15.3,0,30.7,0,46c0,0.5,0,1,0,1.5c-6.4,0-12.6,0-18.9,0C237,129.8,237,100.5,237,71
11
- z"/>
12
- <path d="M476.3,100.1c0-10.9,0-21.8,0-32.8c6.4,0,12.7,0,18.9,0c0.2,0.8,0.4,89.6,0.1,91.9c-6.3,0-12.6,0-19,0c0-3.1,0-6.1,0-9.4
13
- c-0.4,0.5-0.6,0.7-0.8,0.9c-1.1,1.2-2.2,2.5-3.4,3.6c-3.8,3.6-8.3,5.7-13.6,6.2c-8.4,0.7-16-1.4-22.5-7c-4.3-3.7-7.2-8.3-9.1-13.6
14
- c-2.1-5.6-2.6-11.3-2.3-17.2c0.3-5.2,1.4-10.2,3.7-14.9c1.6-3.2,3.5-6.2,6.1-8.8c5-5.1,11.1-7.8,18.1-8.4c3.3-0.3,6.6-0.1,9.8,0.6
15
- c4.2,0.9,7.6,3.2,10.7,6c1.1,0.9,2,2,3,3C476.1,100.1,476.2,100.1,476.3,100.1z M476.6,125.5c0.1-4.2-0.9-8.1-3.2-11.6
16
- c-3.6-5.7-10-8.3-16.5-6.9c-5.1,1.1-8.6,4.2-10.9,8.7c-1.3,2.5-1.9,5.1-2.1,7.9c-0.3,4.8,0.5,9.3,3.2,13.3c3.8,5.6,9.2,8,16,7
17
- c4.9-0.8,8.4-3.6,10.9-7.9C475.8,132.8,476.7,129.3,476.6,125.5z"/>
18
- <path d="M377,90.4c7.2,0,13.5,1.5,19.3,4.8c10,5.8,15.9,14.5,17.3,26c2.3,19.3-10.5,34.7-27.3,38.5c-10.2,2.3-20,1.1-29-4.4
19
- c-9.3-5.7-14.8-14.2-16.2-25c-2.5-20,11-35.4,27.9-39C371.8,90.7,374.6,90.4,377,90.4z M394.9,125.7c0-0.4,0-0.9,0-1.3
20
- c-0.5-10-8-16.9-16.3-17.5c-7.8-0.5-14.1,3.2-17,9.8c-1.6,3.6-2,7.4-1.7,11.3c0.9,8.8,8.4,16.9,18.9,16.2c5.8-0.4,10.3-3,13.4-8
21
- C394.1,133,394.9,129.5,394.9,125.7z"/>
22
- <path d="M668.5,120.7c0.1-2.3-0.1-4.4-0.9-6.4c-1-2.6-2.9-4.4-5.4-5.5c-2.1-0.9-4.3-1.3-6.5-1.4c-6.6-0.3-12.9,0.9-19.1,3.2
23
- c-0.4,0.1-0.7,0.2-1.2,0.4c-1.6-4.9-3.2-9.7-4.8-14.5c0.4-0.2,0.7-0.4,1-0.5c4.6-1.9,9.4-3.5,14.3-4.2c7.2-1,14.3-1.3,21.5,0.4
24
- c1.8,0.4,3.6,1,5.2,1.8c6.9,3.1,11.1,8.4,13,15.7c0.8,3,1.2,6.1,1.2,9.2c0,13.2,0,26.4,0,39.5c0,0.3,0,0.6-0.1,1
25
- c-6.1,0-12.2,0-18.3,0c-0.1-2.3,0-4.5-0.1-6.9c-0.5,0.1-0.7,0.5-1,0.7c-3.3,3.1-7,5.5-11.4,6.5c-6.1,1.4-12.1,1.4-18-0.8
26
- c-7.2-2.7-11.6-7.8-12.8-15.4c-0.7-4.7-0.3-9.3,1.9-13.6c2.4-4.7,6.2-7.6,11-9.5c4.2-1.6,8.6-2.2,13.1-2.3c5.5-0.1,10.8,0.6,16,2.3
27
- C667.5,120.4,667.9,120.6,668.5,120.7z M668.7,132c-0.2-0.1-0.3-0.2-0.5-0.3c-4.7-2-9.5-2.6-14.5-2.1c-1.5,0.2-3.1,0.5-4.6,1.1
28
- c-4.1,1.5-5.9,4.4-5.8,8.7c0.1,2.7,1.2,4.8,3.5,6.1c0.9,0.5,1.8,0.9,2.8,1.2c2,0.6,4.1,0.6,6.2,0.4c3-0.2,5.9-1.1,8.3-2.9
29
- c2-1.4,3.4-3.3,4.1-5.6C669,136.5,668.8,134.3,668.7,132z"/>
30
- <path d="M554.7,91.8c6.4,0,12.7,0,19.1,0c0,22.5,0,44.9,0,67.3c-0.9,0.2-17.7,0.3-19,0c0-3,0-6,0-9.3c-0.4,0.4-0.6,0.6-0.8,0.8
31
- c-1.8,2.2-3.7,4.2-6,5.8c-3.7,2.6-7.8,4-12.4,4c-2.6,0-5.3-0.2-7.8-0.8c-6.6-1.8-11.1-6-13.7-12.3c-1.6-3.9-2-8-2-12.1
32
- c0-14,0-28.1,0-42.1c0-0.4,0-0.8,0-1.3c6.4,0,12.7,0,19.1,0c0,0.5,0,1,0,1.4c0,11.8,0,23.7,0,35.5c0,2,0.1,4.1,0.6,6.1
33
- c1.3,5.1,5,8.1,10.3,8.2c1.4,0,2.8,0,4.1-0.4c4.5-1.1,7.1-4.1,8-8.5c0.4-1.7,0.5-3.5,0.5-5.3c0-11.8,0-23.7,0-35.5
34
- C554.7,92.9,554.7,92.4,554.7,91.8z"/>
35
- <path d="M610.8,159.2c-6.3,0-12.6,0-19,0c0-30.6,0-61.2,0-91.8c0.8-0.3,17.1-0.3,19-0.1C610.8,97.9,610.8,128.5,610.8,159.2z"/>
36
- <path d="M61.9,169.5c-14.3-4.3-28.6-8.5-43-12.8c14.3-21.4,28.6-42.8,42.8-64.1c0.1,0,0.1,0,0.2,0.1
37
- C61.9,118.2,61.9,143.8,61.9,169.5z"/>
38
- <path d="M144.7,134.3c-1-25.5-1.9-51-2.9-76.7c14.5,3.7,28.9,7.4,43.5,11.2c-13.5,22-26.9,43.8-40.3,65.7
39
- C144.9,134.3,144.8,134.3,144.7,134.3z"/>
40
- <path d="M185.3,160.9c-25.8-1.1-51.5-2.1-77.2-3.2c0-0.1,0-0.2-0.1-0.3c21.9-13.3,43.8-26.5,65.9-39.9
41
- C177.7,132,181.5,146.4,185.3,160.9z"/>
42
- <path d="M23.1,63c25.9,1.4,51.4,2.7,77,4c0.1,0.1,0.1,0.2,0.1,0.2c0,0,0,0.1,0,0.1c-0.4,0.2-0.7,0.5-1.1,0.7
43
- c-21.6,12.8-43.3,25.5-65,38.4C30.3,92,26.7,77.6,23.1,63z"/>
44
- <path d="M100.3,206c-12.2-22.7-24.4-45.3-36.6-67.9c1,0.2,66.5,35.1,68.1,36.2C121.3,184.8,110.9,195.3,100.3,206z"/>
45
- <path d="M73.9,50.3c10.6-10.4,21.2-20.8,31.8-31.2c0.6,0.6,34.8,66.2,35.6,68.2c0,0-0.1,0.1-0.1,0.1c0,0-0.1,0-0.1,0
46
- c-22.3-12.3-44.6-24.5-66.8-36.8C74.2,50.6,74.1,50.5,73.9,50.3z"/>
47
- </g>
48
- </svg>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/images/social-settings.jpg DELETED
Binary file
admin/images/square.gif DELETED
Binary file
admin/images/style-settings.jpg DELETED
Binary file
admin/images/survey.png DELETED
Binary file
admin/images/tip.png DELETED
Binary file
admin/import.php DELETED
@@ -1,81 +0,0 @@
1
- <?php
2
- if ( preg_match( '#' . basename( __FILE__ ) . '#', $_SERVER['PHP_SELF'] ) ) {
3
- die( _e( 'You are not allowed to call this page directly.', 'modula-gallery' ) );
4
- }
5
-
6
- if ( empty( $tg_subtitle ) ) {
7
- $tg_subtitle = esc_html__( 'Import galleries', 'modula-gallery' );
8
- }
9
-
10
- ?>
11
- <?php include( "header.php" ); ?>
12
-
13
- <div id="modula-wizard" class="import">
14
- <h2> <?php echo esc_html__( 'Import galleries', 'modula-gallery' ); ?> </h2>
15
- <form action="#" method="post" onsubmit="return false;">
16
- <?php wp_nonce_field( 'Modula', 'Modula' ); ?>
17
-
18
- <fieldset data-step="1">
19
- <div class="row">
20
- <div class="input-field">
21
- <p><?php echo esc_html__( 'Select an external source from which you want to import existing galleries', 'modula-gallery' ); ?></p>
22
- <select class="import-source">
23
- <option value=""><?php _e( 'Choose a source', 'modula-gallery' ) ?></option>
24
- <?php if ( class_exists( "Envira_Gallery_Lite" ) || class_exists( "Envira_Gallery" ) ) : ?>
25
- <option>Envira</option>
26
- <?php endif ?>
27
- <?php if ( class_exists( "nggGallery" ) ) : ?>
28
- <option>NextGen</option>
29
- <?php endif ?>
30
- </select>
31
- </div>
32
- </div>
33
- </fieldset>
34
- <fieldset data-step="2" data-branch="galleries">
35
- <div class="field">
36
- <h5><?php echo esc_html__( 'List of galleries', 'modula-gallery' ) ?></h5>
37
- <div id="external-galleries">
38
- <ul></ul>
39
- <button class="waves-effect button-bg green lighten-3 waves-light btn js-select-all"><?php echo esc_html__( 'Select all', 'modula-gallery' ); ?>
40
- </button>
41
- </div>
42
- </div>
43
- </fieldset>
44
- <fieldset data-step="3" data-save="true">
45
- <h5><?php echo esc_html__( 'You are going to import ', 'modula-gallery' ) ?>
46
- <strong class="galleries-count"></strong> <?php echo esc_html__( 'galleries.', 'modula-gallery' ) ?>
47
- </h5>
48
- </fieldset>
49
-
50
- <footer class="page-footer">
51
- <div class="progress loading hide">
52
- <div class="indeterminate"></div>
53
- </div>
54
-
55
- <a class="waves-effect waves-yellow btn-flat prev"><?php echo esc_html__( 'Previous', 'modula-gallery' ) ?></a>
56
- <a class="waves-effect waves-green btn-flat next"><?php echo esc_html__( 'Next', 'modula-gallery' ) ?></a>
57
- </footer>
58
-
59
- </form>
60
- <div id="success" class="modal">
61
- <div class="modal-content">
62
- <h4><?php echo esc_html__( 'Success!', 'modula-gallery' ) ?></h4>
63
- <p><?php echo esc_html__( 'All selected galleries have been imported!', 'modula-gallery' ) ?></p>
64
- <p> <?php printf( esc_html__( 'Go to the %s and copy the shortcode to paste inside your
65
- pages and posts', 'medzone' ), '<a href="?page=ModulaLite-admin">' . esc_html__( 'dashboard page', 'modula-gallery' ) . '</a>' ); ?></p>
66
- </div>
67
- <div class="modal-'footer">
68
- <a href="?page=modula-lite-admin" id="modal-close" class="waves-effect waves-green btn-flat modal-action"><?php echo esc_html__( 'Close', 'modula-gallery' ) ?></a>
69
- </div>
70
- </div>
71
-
72
- <div id="error" class="modal">
73
- <div class="modal-content">
74
- <h4><?php echo esc_html__( 'Error!', 'modula-gallery' ) ?></h4>
75
- <p><?php echo esc_html__( 'For some reason it was not possible to import one or more galleries', 'modula-gallery' ) ?></p>
76
- </div>
77
- <div class="modal-footer">
78
- <a href="?page=modula-lite-admin" class="waves-effect waves-green btn-flat modal-action"><?php echo esc_html__( 'Close', 'modula-gallery' ) ?></a>
79
- </div>
80
- </div>
81
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/include/image-list.php DELETED
@@ -1,69 +0,0 @@
1
- <?php
2
- $default_options = get_option('modula_options');
3
- foreach($imageResults as $image) {
4
- $sizes = ModulaLiteTools::get_image_size_links($image->imageId);
5
- $thumb = array_key_exists("150x150", $sizes) ? $sizes["150x150"] : $image->imagePath;
6
- ?>
7
- <div class='item card' data-image-id="<?php echo absint($image->imageId) ?>" data-id="<?php echo absint($image->Id) ?>">
8
- <input type="hidden" name="filter-list" value="<?php echo absint($image->imageId) ?>">
9
- <div class="figure card-image" style="background-image: url('<?php echo esc_url($thumb) ?>');">
10
- <img class="thumb" src="<?php echo plugins_url('../images/square.gif', __FILE__) ?>" />
11
-
12
- <?php
13
- if(!empty($image->filters))
14
- {
15
- echo "<ul class='filters'>";
16
-
17
- foreach(explode('|', $image->filters) as $f)
18
- {
19
- if(in_array($f, $active_filters))
20
- {
21
- echo '<li>' . esc_html( $f ) . '</li>';
22
- }
23
- }
24
-
25
- echo "</ul>";
26
-
27
- echo '<input type="hidden" class ="current_image_filter" value=' . esc_attr($image->filters) . '>';
28
-
29
- }
30
-
31
-
32
- ?>
33
-
34
- </div>
35
- <div class="card-content">
36
- <p class="truncate">
37
- <?php echo (isset($image->title) && !empty($image->title)) ? esc_html($image->title) : esc_html($image->description) ?>
38
- </p>
39
- <div class="data">
40
- <input class="copy" type="hidden" name="id" value="<?php echo absint($image->Id); ?>" />
41
- <input class="copy" type="hidden" name="img_id" value="<?php echo absint($image->imageId); ?>" />
42
- <input class="copy" type="hidden" name="sortOrder" value="<?php echo absint($image->sortOrder); ?>" />
43
- <input class="copy" type="hidden" name="filters" value="<?php echo esc_attr($image->filters); ?>" />
44
- <select name="img_url" class="select">
45
- <?php foreach($sizes as $k => $v) : ?>
46
- <option <?php echo $v == $image->imagePath ? "selected" : "" ?> value="<?php echo esc_attr($v) ?>"><?php echo esc_html($k) ?></option>
47
- <?php endforeach ?>
48
- </select>
49
- <input type="hidden" name="link" value="<?php echo esc_attr($image->link) ?>" />
50
- <input type="hidden" name="target" value="<?php echo esc_attr($image->target) ?>" />
51
- <input type="hidden" name="valign" value="<?php echo esc_attr($image->valign) ?>" />
52
- <input type="hidden" name="halign" value="<?php echo esc_attr($image->halign) ?>" />
53
- <input type="hidden" name="sortOrder" value="<?php echo absint($image->sortOrder) ?>" />
54
- <pre><?php echo wp_kses_post($image->description) ?></pre>
55
- <input id="img-title" value="<?php echo htmlentities($image->title) ?>">
56
- </div>
57
- </div>
58
-
59
- <div class="card-action">
60
- <a href="#" class="edit">
61
- <span><?php echo esc_html__( 'Edit', 'modula-gallery' ) ?></span>
62
- </a>
63
- <a href="#" class="remove">
64
- <span><?php echo esc_html__( 'Remove', 'modula-gallery' ) ?></span>
65
- </a>
66
- </div>
67
-
68
- </div>
69
- <?php } ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/include/tinymce-galleries.php DELETED
@@ -1,83 +0,0 @@
1
- <?php global $wp_version, $wpdb, $wp_post_types; ?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml">
4
- <head>
5
- <title> <?php _e( 'Modula Grid Gallery', 'modula-gallery' ) ?> </title>
6
- <!--<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>-->
7
- <script>
8
- var wpColorPickerL10n = {"clear":"Clear","defaultString":"Default","pick":"Select Color","current":"Current Color"};
9
- </script>
10
- <script type="text/javascript" src="<?php echo $admin_url ?>/load-scripts.php?c=1&load%5B%5D=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-draggable,jquery-ui-slider,jquery-tou&load%5B%5D=ch-punch,iris,wp-color-picker"></script>
11
- <link rel="stylesheet" href="<?php echo admin_url( 'load-styles.php?c=1&dir=ltr&load=buttons,wp-admin,iris,wp-color-picker'); ?>" type="text/css" media="all">
12
- <link rel="stylesheet" href="<?php echo $css_path ?>">
13
- <script language="javascript" type="text/javascript" src="<?php echo includes_url( 'js/tinymce/tiny_mce_popup.js' ).'?ver='.$wp_version; ?>"></script>
14
- <style type="text/css">
15
- h1
16
- {
17
- color: black;
18
- }
19
- body {
20
- overflow-y:scroll;
21
- padding: 5px 20px 100px 20px;
22
- height: auto;
23
- }
24
- #galleries{
25
- width: 100%;
26
- border-collapse: collapse;
27
- }
28
- tr:nth-child(1){
29
- background-color: #90caf9;
30
- }
31
- tr{
32
- background-color: #e3f2fd;
33
- cursor: pointer;
34
- }
35
- tr:not(:nth-child(1)):hover{
36
- background-color: #bbdefb;
37
- }
38
-
39
- #galleries td, #galleries th{
40
- border: 1px solid white;
41
- padding: 10px;
42
- }
43
- </style>
44
- </head>
45
- <body class="popup">
46
- <h1> <?php _e( 'YOUR GALLERIES', 'modula-gallery' ) ?>: </h1>
47
- <br>
48
- <table id="galleries">
49
- <!-- list here galleries -->
50
- <!-- loop variable $galleries -->
51
- <tr>
52
- <td>
53
- <b> <?php _e( 'ID', 'modula-gallery' ) ?> </b>
54
- </td>
55
-
56
- <td>
57
- <b> <?php _e( 'Name', 'modula-gallery' ) ?> </b>
58
- </td>
59
-
60
-
61
- </tr>
62
- <?php foreach($galleries as $gallery): ?>
63
- <?php $gid = $gallery->Id; $gallery = json_decode($gallery->configuration); ?>
64
- <tr>
65
- <td>
66
- <?php echo absint($gid) ?>
67
- </td>
68
- <td>
69
- <label id="<?php echo 'gall_' . absint($gid) ?>"> <?php echo esc_html($gallery->name) ?> </label>
70
- </td>
71
- </tr>
72
- <?php endforeach ?>
73
- </table>
74
- <script>
75
- jQuery("#galleries tr").click(function (e) {
76
- var id = jQuery(this).find('label').attr('id').split('gall_');
77
- id.shift();
78
- top.tinymce.activeEditor.insertContent('[Modula id="'+ id +'"]');
79
- top.tinymce.activeEditor.windowManager.close();
80
- });
81
- </script>
82
- </body>
83
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/modula-v2.php DELETED
@@ -1,99 +0,0 @@
1
-
2
- <div class="wrap about-wrap modula-wrap">
3
- <style type="text/css">
4
- .center {
5
- text-align: center;
6
- }
7
- a.modula-video {
8
- text-decoration: none;
9
- font-size: 20px;
10
- margin-left: 20px;
11
- line-height: 46px;
12
- color: #23282d;
13
- }
14
- .modula-video span.dashicons.dashicons-video-alt3 {
15
- line-height: 46px;
16
- width: auto;
17
- height: auto;
18
- font-size: 26px;
19
- vertical-align: middle;
20
- }
21
- </style>
22
- <div class="feature-section one-col">
23
- <div class="col">
24
- <h2 style="font-size: 2.5em;"><?php echo __( 'Meet The New Modula', 'modula-gallery' ); ?></h2>
25
- <p><?php echo __( 'We’ve been working on an awesome update to Modula over the last few months and can’t wait to release it to the public. But, before that can happen, we need the help of amazing users in the WordPress community (just like you) to improve Modula 2.0’s first beta.', 'modula-gallery' ); ?></p>
26
- <div class="center">
27
- <br>
28
- <a href="https://machothemes.com/downloads/modula-2.0.0.zip" target="_blank" class="button button-primary button-hero"><?php echo __( 'Download Modula 2.0 Beta', 'modula-gallery' ); ?></a>
29
- <a href="https://www.youtube.com/watch?v=NxrTXQNExh4" data-fancybox class="modula-video"><span class="dashicons dashicons-video-alt3"></span> See Video</a>
30
- <br><br>
31
- <p><?php echo __( 'Not convinced yet? Keep scrolling to take a look at what’s in store for Modula 2.0…', 'modula-gallery' ); ?></p>
32
- </div>
33
- </div>
34
- </div>
35
- <div class="inline-svg">
36
- <picture>
37
- <img src="<?php echo plugin_dir_url( __FILE__ ) ?>/images/modula-v2-custom-grid.png" alt="">
38
- </picture>
39
- </div>
40
- <div class="feature-section">
41
- <h2>Introducing <strong>Custom Grids</strong></h2>
42
- </div>
43
- <div class="three-col">
44
- <div class="col">
45
- <a href="<?php echo plugin_dir_url( __FILE__ ) ?>/images/landscape-portrait.jpg" data-caption="Take Full Control" data-fancybox="custom-grids"><img src="<?php echo plugin_dir_url( __FILE__ ) ?>/images/modula-v2-landscape-or-portrait.png" alt=""></a>
46
- <h4>Take Full Control</h4>
47
- <p>We’re proud to introduce custom grids to give you greater flexibility over how you display the images on your website. With Modula 2.0’s new custom grid functionality you have full control over the size of images on your website.</p>
48
- </div>
49
- <div class="col">
50
- <a href="<?php echo plugin_dir_url( __FILE__ ) ?>/images/helper-grid.jpg" data-caption="Guidelines to Help you Make the Perfect Gallery" data-fancybox="custom-grids"><img src="<?php echo plugin_dir_url( __FILE__ ) ?>/images/modula-v2-helper-grid.png" alt=""></a>
51
- <h4>Guidelines to Help you Make the Perfect Gallery</h4>
52
- <p>As a guideline and to make it easier for you to create the perfect grid, we’ve included the helper grid which appears behind your images to indicate every potential layout you could design.</p>
53
- </div>
54
- <div class="col">
55
- <a href="<?php echo plugin_dir_url( __FILE__ ) ?>/images/live-preview.jpg" data-caption="Preview your Gallery Without the Hassle" data-fancybox="custom-grids"><img src="<?php echo plugin_dir_url( __FILE__ ) ?>/images/modula-v2-live-preview.png" alt=""></a>
56
- <h4>Preview your Gallery Without the Hassle</h4>
57
- <p>And, of course, there’s no need to check the front-end every time you make a change, because you can easily preview the changes you make to your gallery in the WordPress admin area.</p>
58
- </div>
59
- </div>
60
- <div class="center">
61
- <br>
62
- <a href="https://machothemes.com/downloads/modula-2.0.0.zip" target="_blank" class="button button-primary button-hero"><?php echo __( 'Download Modula 2.0 Beta', 'modula-gallery' ); ?></a>
63
- <br><br>
64
- </div>
65
- <div class="feature-section">
66
- <h2>Modula 2.0’s new (yet familiar) user interface</h2>
67
- </div>
68
- <div class="three-col">
69
- <div class="col">
70
- <a href="<?php echo plugin_dir_url( __FILE__ ) ?>/images/galleries-list.jpg" data-caption="Galleries List Screen" data-fancybox="modula-dashboard"><img src="<?php echo plugin_dir_url( __FILE__ ) ?>/images/modula-v2-familiar-dashboard.png" alt=""></a>
71
- <a href="<?php echo plugin_dir_url( __FILE__ ) ?>/images/gallery-edit.jpg" data-caption="Gallery Edit Screen" data-fancybox="modula-dashboard"></a>
72
- <h4>Modula 2.0 Blends in With WordPress</h4>
73
- <p>In order to create a more intuitive user interface, we’ve blended our admin dashboard with that of WordPress together.</p>
74
- </div>
75
- <div class="col">
76
- <a href="<?php echo plugin_dir_url( __FILE__ ) ?>/images/drag-and-drop-upload.jpg" data-caption="Drag and Drop to Upload" data-fancybox="modula-drag-and-drop"><img src="<?php echo plugin_dir_url( __FILE__ ) ?>/images/modula-v2-drag-and-drop-upload.png" alt=""></a>
77
- <h4>Drag and Drop to Upload</h4>
78
- <p>Easily drag images into the WordPress admin to add them directly to your gallery</p>
79
- </div>
80
- <div class="col">
81
- <a href="<?php echo plugin_dir_url( __FILE__ ) ?>/images/custom-grid-settings.jpg" data-caption="Custom Grid Settings" data-fancybox="modula-settings"><img src="<?php echo plugin_dir_url( __FILE__ ) ?>/images/modula-v2-intuitive-settings.png" alt=""></a>
82
- <a href="<?php echo plugin_dir_url( __FILE__ ) ?>/images/creative-gallery-settings.jpg" data-caption="Creative Gallery Settings" data-fancybox="modula-settings"></a>
83
- <a href="<?php echo plugin_dir_url( __FILE__ ) ?>/images/captions-settings.jpg" data-caption="Captions Settings" data-fancybox="modula-settings"></a>
84
- <a href="<?php echo plugin_dir_url( __FILE__ ) ?>/images/social-settings.jpg" data-caption="Social Settings" data-fancybox="modula-settings"></a>
85
- <a href="<?php echo plugin_dir_url( __FILE__ ) ?>/images/loading-effects-settings.jpg" data-caption="Loading Effects Settings" data-fancybox="modula-settings"></a>
86
- <a href="<?php echo plugin_dir_url( __FILE__ ) ?>/images/hover-effects-settings.jpg" data-caption="Hover Effects Settings" data-fancybox="modula-settings"></a>
87
- <a href="<?php echo plugin_dir_url( __FILE__ ) ?>/images/style-settings.jpg" data-caption="Style Settings" data-fancybox="modula-settings"></a>
88
- <a href="<?php echo plugin_dir_url( __FILE__ ) ?>/images/customizations-settings.jpg" data-caption="Customizations Settings" data-fancybox="modula-settings"></a>
89
- <h4>Intuitive Settings</h4>
90
- <p>Our settings panel has been redesigned to make everything you need easier to access quickly.</p>
91
- </div>
92
- </div>
93
- <div class="center">
94
- <br>
95
- <a href="https://machothemes.com/downloads/modula-2.0.0.zip" target="_blank" class="button button-primary button-hero"><?php echo __( 'Download Modula 2.0 Beta', 'modula-gallery' ); ?></a>
96
- <br><br>
97
- </div>
98
-
99
- </div> <!--/.about-wrap-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/overview.php DELETED
@@ -1,177 +0,0 @@
1
- <?php
2
- if ( preg_match( '#' . basename( __FILE__ ) . '#', $_SERVER['PHP_SELF'] ) ) {
3
- die( _e( 'You are not allowed to call this page directly.', 'modula-gallery' ) );
4
- }
5
-
6
- if ( empty( $tg_subtitle ) ) {
7
- $tg_subtitle = "Dashboard";
8
- }
9
-
10
- $galleries = $this->ModulaDB->getGalleries();
11
-
12
- $idx = 0;
13
- ?>
14
-
15
-
16
- <?php include( "header.php" ); ?>
17
-
18
- <div class="bd">
19
-
20
- <?php if ( isset( $redir ) && $redir ) : ?>
21
- <div class="row ">
22
- <div class="col s12 m6 l4">
23
- <div class="card-panel light-green lighten-4">
24
- <h5 class="cyan-text text-darken-3"><?php echo esc_html__( 'Redirecting....', 'modula-gallery' ) ?></h5>
25
- <p>
26
- <?php echo esc_html__( 'Click a gallery to edit', 'modula-gallery' ) ?>. </p>
27
- </div>
28
- </div>
29
- </div>
30
- <script>location.href = '?page=modula-lite-admin';</script>
31
- <?php endif ?>
32
-
33
- <?php if ( count( $galleries ) == 0 ) : ?>
34
- <div class="row ">
35
- <div class="col s12 m6 l4">
36
- <div class="card-panel light-green lighten-4">
37
- <h5 class="cyan-text text-darken-3"><?php echo esc_html__( 'Welcome to Modula Gallery!', 'modula-gallery' ) ?></h5>
38
- <p>
39
- <?php echo esc_html__( 'Create your first awesome gallery, click', 'modula-gallery' ) ?>
40
- <a href="?page=modula-lite-add"><?php echo esc_html__( 'here', 'modula-gallery' ) ?></a>. </p>
41
- </div>
42
- </div>
43
- </div>
44
- <?php else : ?>
45
-
46
- <div id="gallery-list" class="row">
47
- <?php foreach ( $galleries as $gallery ) : ?><?php
48
- $gid = $gallery->Id;
49
- $images = $this->ModulaDB->getImagesByGalleryId( $gid );
50
- $bg = count( $images ) ? "url('" . $images[0]->imagePath . "')" : "none";
51
- $gallery = json_decode( $gallery->configuration );
52
- ?><?php wp_nonce_field( 'Modula', 'Modula' ); ?>
53
- <div class="col s12 m6 l4">
54
- <div class="card <?php echo count( $images ) ? "with-image" : "" ?>" id="gallery-<?php echo esc_attr( $gid ); ?>" data-gid="<?php echo esc_attr( $gid ); ?>">
55
-
56
- <div class="data" style="background-image:<?php echo esc_attr( $bg ); ?>">
57
- <div class="card-content white-text">
58
- <span class="card-title"><?php echo esc_html( $gallery->name ); ?></span> <br>
59
- <?php if ( strlen( $gallery->description ) ) : ?>
60
- <p><?php echo esc_html( $gallery->description ) ?></p>
61
- <?php endif ?>
62
- </div>
63
- <div class="card-action darken-4">
64
- <a href="#" data-tooltip="Show shortcode" data-position="top" data-delay="10" class="tooltipped waves-effect show-shortcode" data-gid="<?php echo esc_attr( $gid ); ?>"><i class="mdi mdi-code-array"></i></a>
65
- <a href="?page=modula-lite-edit&galleryId=<?php echo absint( $gid ); ?>" data-tooltip="Edit gallery" data-position="top" data-delay="10" class="tooltipped
66
- waves-effect waves"><i class="mdi mdi-pencil"></i></a>
67
- <a data-tooltip="Clone gallery" data-position="top" data-delay="10" class="tooltipped waves-effect waves clone-gallery" data-gid="<?php echo esc_attr( $gid ); ?>"><i class="mdi mdi-content-copy"></i></a>
68
-
69
- <a data-tooltip="Delete gallery" datacolor="red" data-position="top" data-delay="10" class="tooltipped waves-effect waves delete-gallery" data-gid="<?php echo esc_attr( $gid ); ?>"><i class="mdi mdi-delete"></i></a>
70
- </div>
71
- </div>
72
- </div>
73
- </div>
74
- <?php endforeach ?>
75
- </div>
76
- <?php endif ?>
77
-
78
- <!-- Delete gallery modal -->
79
- <div id="delete-gallery-modal" class="modal">
80
- <div class="modal-content">
81
- <h4><?php echo esc_html__( 'Confirmation', 'modula-gallery' ) ?></h4>
82
- <p><?php echo esc_html__( 'Do you really want to delete the gallery', 'modula-gallery' ) ?> <span></span> ?
83
- </p>
84
- </div>
85
- <div class="modal-footer">
86
- <a href="#!" class=" modal-action modal-close waves-effect waves-green btn-flat yes"><?php echo esc_html__( 'Yes', 'modula-gallery' ) ?></a>
87
- <a href="#!" class=" modal-action modal-close waves-effect waves-green btn-flat"><?php echo esc_html__( 'No', 'modula-gallery' ) ?></a>
88
- </div>
89
- </div>
90
-
91
- <!-- Shortcode gallery modal -->
92
- <div id="shortcode-gallery-modal" class="modal">
93
- <div class="modal-content">
94
- <h4></h4>
95
- <p><?php echo esc_html__( 'Copy and paste the following shortcode inside a post, page or widget:', 'modula-gallery' ) ?></p>
96
- <code></code>
97
- </div>
98
- <div class="modal-footer">
99
- <a href="#!" class=" modal-action modal-close waves-effect waves-green btn-flat"><?php echo esc_html__( 'Close', 'modula-gallery' ) ?></a>
100
- </div>
101
- </div>
102
-
103
- <div class="preloader-wrapper big active" id="spinner">
104
- <div class="spinner-layer spinner-blue-only">
105
- <div class="circle-clipper left">
106
- <div class="circle"></div>
107
- </div>
108
- <div class="gap-patch">
109
- <div class="circle"></div>
110
- </div>
111
- <div class="circle-clipper right">
112
- <div class="circle"></div>
113
- </div>
114
- </div>
115
- </div>
116
-
117
- <script>
118
- (function( $ ) {
119
- var galleryId;
120
- var galleryName;
121
-
122
- $( '.card .card-content' ).click( function() {
123
- var id = $( this ).parents( '.card' ).data( 'gid' );
124
- location.href = '?page=modula-lite-edit&galleryId=' + id;
125
- } );
126
-
127
- $( '.delete-gallery' ).click( function( e ) {
128
- e.preventDefault();
129
- galleryId = $( this ).data( 'gid' );
130
- galleryName = $( this ).parents( '.data' ).find( '.card-title' ).text();
131
- $( '#delete-gallery-modal span' ).text( galleryName );
132
- $( '#delete-gallery-modal' ).modal();
133
- $( '#delete-gallery-modal' ).modal( 'open' );
134
- } );
135
-
136
- $( '.clone-gallery' ).click( function( e ) {
137
- e.preventDefault();
138
- var id = $( this ).data( 'gid' );
139
- var name = $( this ).parents( '.data' ).find( '.card-title' ).text();
140
-
141
- var data = { 'action': 'modula_clone_gallery', 'gid': id, 'Modula': $( '#Modula' ).val() };
142
- TG.show_loading();
143
- jQuery.post( ajaxurl, data, function( response ) {
144
- Materialize.toast( 'Gallery "' + name + '" cloned', 2000 );
145
- location.reload();
146
- TG.hide_loading();
147
-
148
- } );
149
-
150
- } );
151
-
152
- $( '.show-shortcode' ).click( function( e ) {
153
- e.preventDefault();
154
-
155
- var id = $( this ).data( 'gid' );
156
- var name = $( this ).parents( '.data' ).find( '.card-title' ).text();
157
- $( '#shortcode-gallery-modal h4' ).text( name );
158
- $( '#shortcode-gallery-modal code' ).text( '[Modula id=\'' + id + '\']' );
159
- $( '#shortcode-gallery-modal' ).modal();
160
- $( '#shortcode-gallery-modal' ).modal( 'open' );
161
- } );
162
-
163
- $( 'body' ).on( 'click', '#delete-gallery-modal .yes', function() {
164
-
165
- var data = { 'action': 'modula_delete_gallery', 'gid': galleryId, 'Modula': $( '#Modula' ).val() };
166
- TG.show_loading();
167
-
168
- jQuery.post( ajaxurl, data, function( response ) {
169
- Materialize.toast( 'Gallery "' + galleryName + '" deleted', 2000 );
170
- $( '#gallery-' + galleryId ).remove();
171
- TG.hide_loading();
172
- location.reload();
173
- } );
174
-
175
- } );
176
- })( jQuery );
177
- </script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/scripts/editor-plugin.js DELETED
@@ -1,32 +0,0 @@
1
- (function() {
2
- tinymce.create('tinymce.plugins.Modula', {
3
- init : function(ed, url)
4
- {
5
- ed.addCommand('mtg_shortcode_editor_button', function()
6
- {
7
- ed.windowManager.open(
8
- {
9
- file: ajaxurl + '?action=mtg_shortcode_editor',
10
- width : 900 + parseInt(ed.getLang('button.delta_width', 0)),
11
- height : 500 + parseInt(ed.getLang('button.delta_height', 0)),
12
- inline : 1
13
- }, {
14
- plugin_url : url
15
- });
16
- });
17
-
18
- ed.addButton('mtg_shortcode_editor', {title : 'Modula', cmd : 'mtg_shortcode_editor_button', image: url.substring(0,url.lastIndexOf("/admin/scripts")) + '/admin/icon.png' });
19
- },
20
- getInfo : function()
21
- {
22
- return {
23
- longname : 'Modula',
24
- author : 'GreenTreeLabs',
25
- authorurl : 'http://greentreelabs.net',
26
- infourl : 'http://greentreelabs.net',
27
- version : tinymce.majorVersion + "." + tinymce.minorVersion
28
- };
29
- }
30
- });
31
- tinymce.PluginManager.add('mtg_shortcode_editor', tinymce.plugins.Modula);
32
- })();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
admin/scripts/materialize.js DELETED
@@ -1,10021 +0,0 @@
1
- /*!
2
- * Materialize v0.100.2 (http://materializecss.com)
3
- * Copyright 2014-2017 Materialize
4
- * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
5
- */
6
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
7
-
8
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
-
10
- // Check for jQuery.
11
- if (typeof jQuery === 'undefined') {
12
- // Check if require is a defined function.
13
- if (typeof require === 'function') {
14
- jQuery = $ = require('jquery');
15
- // Else use the dollar sign alias.
16
- } else {
17
- jQuery = $;
18
- }
19
- }
20
- ; /*
21
- * jQuery Easing v1.4.0 - http://gsgd.co.uk/sandbox/jquery/easing/
22
- * Open source under the BSD License.
23
- * Copyright © 2008 George McGinley Smith
24
- * All rights reserved.
25
- * https://raw.github.com/gdsmith/jquery-easing/master/LICENSE
26
- */
27
-
28
- (function (factory) {
29
- if (typeof define === "function" && define.amd) {
30
- define(['jquery'], function ($) {
31
- return factory($);
32
- });
33
- } else if (typeof module === "object" && typeof module.exports === "object") {
34
- exports = factory(require('jquery'));
35
- } else {
36
- factory(jQuery);
37
- }
38
- })(function ($) {
39
-
40
- // Preserve the original jQuery "swing" easing as "jswing"
41
- $.easing['jswing'] = $.easing['swing'];
42
-
43
- var pow = Math.pow,
44
- sqrt = Math.sqrt,
45
- sin = Math.sin,
46
- cos = Math.cos,
47
- PI = Math.PI,
48
- c1 = 1.70158,
49
- c2 = c1 * 1.525,
50
- c3 = c1 + 1,
51
- c4 = 2 * PI / 3,
52
- c5 = 2 * PI / 4.5;
53
-
54
- // x is the fraction of animation progress, in the range 0..1
55
- function bounceOut(x) {
56
- var n1 = 7.5625,
57
- d1 = 2.75;
58
- if (x < 1 / d1) {
59
- return n1 * x * x;
60
- } else if (x < 2 / d1) {
61
- return n1 * (x -= 1.5 / d1) * x + .75;
62
- } else if (x < 2.5 / d1) {
63
- return n1 * (x -= 2.25 / d1) * x + .9375;
64
- } else {
65
- return n1 * (x -= 2.625 / d1) * x + .984375;
66
- }
67
- }
68
-
69
- $.extend($.easing, {
70
- def: 'easeOutQuad',
71
- swing: function (x) {
72
- return $.easing[$.easing.def](x);
73
- },
74
- easeInQuad: function (x) {
75
- return x * x;
76
- },
77
- easeOutQuad: function (x) {
78
- return 1 - (1 - x) * (1 - x);
79
- },
80
- easeInOutQuad: function (x) {
81
- return x < 0.5 ? 2 * x * x : 1 - pow(-2 * x + 2, 2) / 2;
82
- },
83
- easeInCubic: function (x) {
84
- return x * x * x;
85
- },
86
- easeOutCubic: function (x) {
87
- return 1 - pow(1 - x, 3);
88
- },
89
- easeInOutCubic: function (x) {
90
- return x < 0.5 ? 4 * x * x * x : 1 - pow(-2 * x + 2, 3) / 2;
91
- },
92
- easeInQuart: function (x) {
93
- return x * x * x * x;
94
- },
95
- easeOutQuart: function (x) {
96
- return 1 - pow(1 - x, 4);
97
- },
98
- easeInOutQuart: function (x) {
99
- return x < 0.5 ? 8 * x * x * x * x : 1 - pow(-2 * x + 2, 4) / 2;
100
- },
101
- easeInQuint: function (x) {
102
- return x * x * x * x * x;
103
- },
104
- easeOutQuint: function (x) {
105
- return 1 - pow(1 - x, 5);
106
- },
107
- easeInOutQuint: function (x) {
108
- return x < 0.5 ? 16 * x * x * x * x * x : 1 - pow(-2 * x + 2, 5) / 2;
109
- },
110
- easeInSine: function (x) {
111
- return 1 - cos(x * PI / 2);
112
- },
113
- easeOutSine: function (x) {
114
- return sin(x * PI / 2);
115
- },
116
- easeInOutSine: function (x) {
117
- return -(cos(PI * x) - 1) / 2;
118
- },
119
- easeInExpo: function (x) {
120
- return x === 0 ? 0 : pow(2, 10 * x - 10);
121
- },
122
- easeOutExpo: function (x) {
123
- return x === 1 ? 1 : 1 - pow(2, -10 * x);
124
- },
125
- easeInOutExpo: function (x) {
126
- return x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? pow(2, 20 * x - 10) / 2 : (2 - pow(2, -20 * x + 10)) / 2;
127
- },
128
- easeInCirc: function (x) {
129
- return 1 - sqrt(1 - pow(x, 2));
130
- },
131
- easeOutCirc: function (x) {
132
- return sqrt(1 - pow(x - 1, 2));
133
- },
134
- easeInOutCirc: function (x) {
135
- return x < 0.5 ? (1 - sqrt(1 - pow(2 * x, 2))) / 2 : (sqrt(1 - pow(-2 * x + 2, 2)) + 1) / 2;
136
- },
137
- easeInElastic: function (x) {
138
- return x === 0 ? 0 : x === 1 ? 1 : -pow(2, 10 * x - 10) * sin((x * 10 - 10.75) * c4);
139
- },
140
- easeOutElastic: function (x) {
141
- return x === 0 ? 0 : x === 1 ? 1 : pow(2, -10 * x) * sin((x * 10 - 0.75) * c4) + 1;
142
- },
143
- easeInOutElastic: function (x) {
144
- return x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? -(pow(2, 20 * x - 10) * sin((20 * x - 11.125) * c5)) / 2 : pow(2, -20 * x + 10) * sin((20 * x - 11.125) * c5) / 2 + 1;
145
- },
146
- easeInBack: function (x) {
147
- return c3 * x * x * x - c1 * x * x;
148
- },
149
- easeOutBack: function (x) {
150
- return 1 + c3 * pow(x - 1, 3) + c1 * pow(x - 1, 2);
151
- },
152
- easeInOutBack: function (x) {
153
- return x < 0.5 ? pow(2 * x, 2) * ((c2 + 1) * 2 * x - c2) / 2 : (pow(2 * x - 2, 2) * ((c2 + 1) * (x * 2 - 2) + c2) + 2) / 2;
154
- },
155
- easeInBounce: function (x) {
156
- return 1 - bounceOut(1 - x);
157
- },
158
- easeOutBounce: bounceOut,
159
- easeInOutBounce: function (x) {
160
- return x < 0.5 ? (1 - bounceOut(1 - 2 * x)) / 2 : (1 + bounceOut(2 * x - 1)) / 2;
161
- }
162
- });
163
- });; // Custom Easing
164
- jQuery.extend(jQuery.easing, {
165
- easeInOutMaterial: function (x, t, b, c, d) {
166
- if ((t /= d / 2) < 1) return c / 2 * t * t + b;
167
- return c / 4 * ((t -= 2) * t * t + 2) + b;
168
- }
169
- });; /*! VelocityJS.org (1.2.3). (C) 2014 Julian Shapiro. MIT @license: en.wikipedia.org/wiki/MIT_License */
170
- /*! VelocityJS.org jQuery Shim (1.0.1). (C) 2014 The jQuery Foundation. MIT @license: en.wikipedia.org/wiki/MIT_License. */
171
- /*! Note that this has been modified by Materialize to confirm that Velocity is not already being imported. */
172
- jQuery.Velocity ? console.log("Velocity is already loaded. You may be needlessly importing Velocity again; note that Materialize includes Velocity.") : (!function (e) {
173
- function t(e) {
174
- var t = e.length,
175
- a = r.type(e);return "function" === a || r.isWindow(e) ? !1 : 1 === e.nodeType && t ? !0 : "array" === a || 0 === t || "number" == typeof t && t > 0 && t - 1 in e;
176
- }if (!e.jQuery) {
177
- var r = function (e, t) {
178
- return new r.fn.init(e, t);
179
- };r.isWindow = function (e) {
180
- return null != e && e == e.window;
181
- }, r.type = function (e) {
182
- return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? n[i.call(e)] || "object" : typeof e;
183
- }, r.isArray = Array.isArray || function (e) {
184
- return "array" === r.type(e);
185
- }, r.isPlainObject = function (e) {
186
- var t;if (!e || "object" !== r.type(e) || e.nodeType || r.isWindow(e)) return !1;try {
187
- if (e.constructor && !o.call(e, "constructor") && !o.call(e.constructor.prototype, "isPrototypeOf")) return !1;
188
- } catch (a) {
189
- return !1;
190
- }for (t in e) {}return void 0 === t || o.call(e, t);
191
- }, r.each = function (e, r, a) {
192
- var n,
193
- o = 0,
194
- i = e.length,
195
- s = t(e);if (a) {
196
- if (s) for (; i > o && (n = r.apply(e[o], a), n !== !1); o++) {} else for (o in e) {
197
- if (n = r.apply(e[o], a), n === !1) break;
198
- }
199
- } else if (s) for (; i > o && (n = r.call(e[o], o, e[o]), n !== !1); o++) {} else for (o in e) {
200
- if (n = r.call(e[o], o, e[o]), n === !1) break;
201
- }return e;
202
- }, r.data = function (e, t, n) {
203
- if (void 0 === n) {
204
- var o = e[r.expando],
205
- i = o && a[o];if (void 0 === t) return i;if (i && t in i) return i[t];
206
- } else if (void 0 !== t) {
207
- var o = e[r.expando] || (e[r.expando] = ++r.uuid);return a[o] = a[o] || {}, a[o][t] = n, n;
208
- }
209
- }, r.removeData = function (e, t) {
210
- var n = e[r.expando],
211
- o = n && a[n];o && r.each(t, function (e, t) {
212
- delete o[t];
213
- });
214
- }, r.extend = function () {
215
- var e,
216
- t,
217
- a,
218
- n,
219
- o,
220
- i,
221
- s = arguments[0] || {},
222
- l = 1,
223
- u = arguments.length,
224
- c = !1;for ("boolean" == typeof s && (c = s, s = arguments[l] || {}, l++), "object" != typeof s && "function" !== r.type(s) && (s = {}), l === u && (s = this, l--); u > l; l++) {
225
- if (null != (o = arguments[l])) for (n in o) {
226
- e = s[n], a = o[n], s !== a && (c && a && (r.isPlainObject(a) || (t = r.isArray(a))) ? (t ? (t = !1, i = e && r.isArray(e) ? e : []) : i = e && r.isPlainObject(e) ? e : {}, s[n] = r.extend(c, i, a)) : void 0 !== a && (s[n] = a));
227
- }
228
- }return s;
229
- }, r.queue = function (e, a, n) {
230
- function o(e, r) {
231
- var a = r || [];return null != e && (t(Object(e)) ? !function (e, t) {
232
- for (var r = +t.length, a = 0, n = e.length; r > a;) {
233
- e[n++] = t[a++];
234
- }if (r !== r) for (; void 0 !== t[a];) {
235
- e[n++] = t[a++];
236
- }return e.length = n, e;
237
- }(a, "string" == typeof e ? [e] : e) : [].push.call(a, e)), a;
238
- }if (e) {
239
- a = (a || "fx") + "queue";var i = r.data(e, a);return n ? (!i || r.isArray(n) ? i = r.data(e, a, o(n)) : i.push(n), i) : i || [];
240
- }
241
- }, r.dequeue = function (e, t) {
242
- r.each(e.nodeType ? [e] : e, function (e, a) {
243
- t = t || "fx";var n = r.queue(a, t),
244
- o = n.shift();"inprogress" === o && (o = n.shift()), o && ("fx" === t && n.unshift("inprogress"), o.call(a, function () {
245
- r.dequeue(a, t);
246
- }));
247
- });
248
- }, r.fn = r.prototype = { init: function (e) {
249
- if (e.nodeType) return this[0] = e, this;throw new Error("Not a DOM node.");
250
- }, offset: function () {
251
- var t = this[0].getBoundingClientRect ? this[0].getBoundingClientRect() : { top: 0, left: 0 };return { top: t.top + (e.pageYOffset || document.scrollTop || 0) - (document.clientTop || 0), left: t.left + (e.pageXOffset || document.scrollLeft || 0) - (document.clientLeft || 0) };
252
- }, position: function () {
253
- function e() {
254
- for (var e = this.offsetParent || document; e && "html" === !e.nodeType.toLowerCase && "static" === e.style.position;) {
255
- e = e.offsetParent;
256
- }return e || document;
257
- }var t = this[0],
258
- e = e.apply(t),
259
- a = this.offset(),
260
- n = /^(?:body|html)$/i.test(e.nodeName) ? { top: 0, left: 0 } : r(e).offset();return a.top -= parseFloat(t.style.marginTop) || 0, a.left -= parseFloat(t.style.marginLeft) || 0, e.style && (n.top += parseFloat(e.style.borderTopWidth) || 0, n.left += parseFloat(e.style.borderLeftWidth) || 0), { top: a.top - n.top, left: a.left - n.left };
261
- } };var a = {};r.expando = "velocity" + new Date().getTime(), r.uuid = 0;for (var n = {}, o = n.hasOwnProperty, i = n.toString, s = "Boolean Number String Function Array Date RegExp Object Error".split(" "), l = 0; l < s.length; l++) {
262
- n["[object " + s[l] + "]"] = s[l].toLowerCase();
263
- }r.fn.init.prototype = r.fn, e.Velocity = { Utilities: r };
264
- }
265
- }(window), function (e) {
266
- "object" == typeof module && "object" == typeof module.exports ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : e();
267
- }(function () {
268
- return function (e, t, r, a) {
269
- function n(e) {
270
- for (var t = -1, r = e ? e.length : 0, a = []; ++t < r;) {
271
- var n = e[t];n && a.push(n);
272
- }return a;
273
- }function o(e) {
274
- return m.isWrapped(e) ? e = [].slice.call(e) : m.isNode(e) && (e = [e]), e;
275
- }function i(e) {
276
- var t = f.data(e, "velocity");return null === t ? a : t;
277
- }function s(e) {
278
- return function (t) {
279
- return Math.round(t * e) * (1 / e);
280
- };
281
- }function l(e, r, a, n) {
282
- function o(e, t) {
283
- return 1 - 3 * t + 3 * e;
284
- }function i(e, t) {
285
- return 3 * t - 6 * e;
286
- }function s(e) {
287
- return 3 * e;
288
- }function l(e, t, r) {
289
- return ((o(t, r) * e + i(t, r)) * e + s(t)) * e;
290
- }function u(e, t, r) {
291
- return 3 * o(t, r) * e * e + 2 * i(t, r) * e + s(t);
292
- }function c(t, r) {
293
- for (var n = 0; m > n; ++n) {
294
- var o = u(r, e, a);if (0 === o) return r;var i = l(r, e, a) - t;r -= i / o;
295
- }return r;
296
- }function p() {
297
- for (var t = 0; b > t; ++t) {
298
- w[t] = l(t * x, e, a);
299
- }
300
- }function f(t, r, n) {
301
- var o,
302
- i,
303
- s = 0;do {
304
- i = r + (n - r) / 2, o = l(i, e, a) - t, o > 0 ? n = i : r = i;
305
- } while (Math.abs(o) > h && ++s < v);return i;
306
- }function d(t) {
307
- for (var r = 0, n = 1, o = b - 1; n != o && w[n] <= t; ++n) {
308
- r += x;
309
- }--n;var i = (t - w[n]) / (w[n + 1] - w[n]),
310
- s = r + i * x,
311
- l = u(s, e, a);return l >= y ? c(t, s) : 0 == l ? s : f(t, r, r + x);
312
- }function g() {
313
- V = !0, (e != r || a != n) && p();
314
- }var m = 4,
315
- y = .001,
316
- h = 1e-7,
317
- v = 10,
318
- b = 11,
319
- x = 1 / (b - 1),
320
- S = "Float32Array" in t;if (4 !== arguments.length) return !1;for (var P = 0; 4 > P; ++P) {
321
- if ("number" != typeof arguments[P] || isNaN(arguments[P]) || !isFinite(arguments[P])) return !1;
322
- }e = Math.min(e, 1), a = Math.min(a, 1), e = Math.max(e, 0), a = Math.max(a, 0);var w = S ? new Float32Array(b) : new Array(b),
323
- V = !1,
324
- C = function (t) {
325
- return V || g(), e === r && a === n ? t : 0 === t ? 0 : 1 === t ? 1 : l(d(t), r, n);
326
- };C.getControlPoints = function () {
327
- return [{ x: e, y: r }, { x: a, y: n }];
328
- };var T = "generateBezier(" + [e, r, a, n] + ")";return C.toString = function () {
329
- return T;
330
- }, C;
331
- }function u(e, t) {
332
- var r = e;return m.isString(e) ? b.Easings[e] || (r = !1) : r = m.isArray(e) && 1 === e.length ? s.apply(null, e) : m.isArray(e) && 2 === e.length ? x.apply(null, e.concat([t])) : m.isArray(e) && 4 === e.length ? l.apply(null, e) : !1, r === !1 && (r = b.Easings[b.defaults.easing] ? b.defaults.easing : v), r;
333
- }function c(e) {
334
- if (e) {
335
- var t = new Date().getTime(),
336
- r = b.State.calls.length;r > 1e4 && (b.State.calls = n(b.State.calls));for (var o = 0; r > o; o++) {
337
- if (b.State.calls[o]) {
338
- var s = b.State.calls[o],
339
- l = s[0],
340
- u = s[2],
341
- d = s[3],
342
- g = !!d,
343
- y = null;d || (d = b.State.calls[o][3] = t - 16);for (var h = Math.min((t - d) / u.duration, 1), v = 0, x = l.length; x > v; v++) {
344
- var P = l[v],
345
- V = P.element;if (i(V)) {
346
- var C = !1;if (u.display !== a && null !== u.display && "none" !== u.display) {
347
- if ("flex" === u.display) {
348
- var T = ["-webkit-box", "-moz-box", "-ms-flexbox", "-webkit-flex"];f.each(T, function (e, t) {
349
- S.setPropertyValue(V, "display", t);
350
- });
351
- }S.setPropertyValue(V, "display", u.display);
352
- }u.visibility !== a && "hidden" !== u.visibility && S.setPropertyValue(V, "visibility", u.visibility);for (var k in P) {
353
- if ("element" !== k) {
354
- var A,
355
- F = P[k],
356
- j = m.isString(F.easing) ? b.Easings[F.easing] : F.easing;if (1 === h) A = F.endValue;else {
357
- var E = F.endValue - F.startValue;if (A = F.startValue + E * j(h, u, E), !g && A === F.currentValue) continue;
358
- }if (F.currentValue = A, "tween" === k) y = A;else {
359
- if (S.Hooks.registered[k]) {
360
- var H = S.Hooks.getRoot(k),
361
- N = i(V).rootPropertyValueCache[H];N && (F.rootPropertyValue = N);
362
- }var L = S.setPropertyValue(V, k, F.currentValue + (0 === parseFloat(A) ? "" : F.unitType), F.rootPropertyValue, F.scrollData);S.Hooks.registered[k] && (i(V).rootPropertyValueCache[H] = S.Normalizations.registered[H] ? S.Normalizations.registered[H]("extract", null, L[1]) : L[1]), "transform" === L[0] && (C = !0);
363
- }
364
- }
365
- }u.mobileHA && i(V).transformCache.translate3d === a && (i(V).transformCache.translate3d = "(0px, 0px, 0px)", C = !0), C && S.flushTransformCache(V);
366
- }
367
- }u.display !== a && "none" !== u.display && (b.State.calls[o][2].display = !1), u.visibility !== a && "hidden" !== u.visibility && (b.State.calls[o][2].visibility = !1), u.progress && u.progress.call(s[1], s[1], h, Math.max(0, d + u.duration - t), d, y), 1 === h && p(o);
368
- }
369
- }
370
- }b.State.isTicking && w(c);
371
- }function p(e, t) {
372
- if (!b.State.calls[e]) return !1;for (var r = b.State.calls[e][0], n = b.State.calls[e][1], o = b.State.calls[e][2], s = b.State.calls[e][4], l = !1, u = 0, c = r.length; c > u; u++) {
373
- var p = r[u].element;if (t || o.loop || ("none" === o.display && S.setPropertyValue(p, "display", o.display), "hidden" === o.visibility && S.setPropertyValue(p, "visibility", o.visibility)), o.loop !== !0 && (f.queue(p)[1] === a || !/\.velocityQueueEntryFlag/i.test(f.queue(p)[1])) && i(p)) {
374
- i(p).isAnimating = !1, i(p).rootPropertyValueCache = {};var d = !1;f.each(S.Lists.transforms3D, function (e, t) {
375
- var r = /^scale/.test(t) ? 1 : 0,
376
- n = i(p).transformCache[t];i(p).transformCache[t] !== a && new RegExp("^\\(" + r + "[^.]").test(n) && (d = !0, delete i(p).transformCache[t]);
377
- }), o.mobileHA && (d = !0, delete i(p).transformCache.translate3d), d && S.flushTransformCache(p), S.Values.removeClass(p, "velocity-animating");
378
- }if (!t && o.complete && !o.loop && u === c - 1) try {
379
- o.complete.call(n, n);
380
- } catch (g) {
381
- setTimeout(function () {
382
- throw g;
383
- }, 1);
384
- }s && o.loop !== !0 && s(n), i(p) && o.loop === !0 && !t && (f.each(i(p).tweensContainer, function (e, t) {
385
- /^rotate/.test(e) && 360 === parseFloat(t.endValue) && (t.endValue = 0, t.startValue = 360), /^backgroundPosition/.test(e) && 100 === parseFloat(t.endValue) && "%" === t.unitType && (t.endValue = 0, t.startValue = 100);
386
- }), b(p, "reverse", { loop: !0, delay: o.delay })), o.queue !== !1 && f.dequeue(p, o.queue);
387
- }b.State.calls[e] = !1;for (var m = 0, y = b.State.calls.length; y > m; m++) {
388
- if (b.State.calls[m] !== !1) {
389
- l = !0;break;
390
- }
391
- }l === !1 && (b.State.isTicking = !1, delete b.State.calls, b.State.calls = []);
392
- }var f,
393
- d = function () {
394
- if (r.documentMode) return r.documentMode;for (var e = 7; e > 4; e--) {
395
- var t = r.createElement("div");if (t.innerHTML = "<!--[if IE " + e + "]><span></span><![endif]-->", t.getElementsByTagName("span").length) return t = null, e;
396
- }return a;
397
- }(),
398
- g = function () {
399
- var e = 0;return t.webkitRequestAnimationFrame || t.mozRequestAnimationFrame || function (t) {
400
- var r,
401
- a = new Date().getTime();return r = Math.max(0, 16 - (a - e)), e = a + r, setTimeout(function () {
402
- t(a + r);
403
- }, r);
404
- };
405
- }(),
406
- m = { isString: function (e) {
407
- return "string" == typeof e;
408
- }, isArray: Array.isArray || function (e) {
409
- return "[object Array]" === Object.prototype.toString.call(e);
410
- }, isFunction: function (e) {
411
- return "[object Function]" === Object.prototype.toString.call(e);
412
- }, isNode: function (e) {
413
- return e && e.nodeType;
414
- }, isNodeList: function (e) {
415
- return "object" == typeof e && /^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(e)) && e.length !== a && (0 === e.length || "object" == typeof e[0] && e[0].nodeType > 0);
416
- }, isWrapped: function (e) {
417
- return e && (e.jquery || t.Zepto && t.Zepto.zepto.isZ(e));
418
- }, isSVG: function (e) {
419
- return t.SVGElement && e instanceof t.SVGElement;
420
- }, isEmptyObject: function (e) {
421
- for (var t in e) {
422
- return !1;
423
- }return !0;
424
- } },
425
- y = !1;if (e.fn && e.fn.jquery ? (f = e, y = !0) : f = t.Velocity.Utilities, 8 >= d && !y) throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity.");if (7 >= d) return void (jQuery.fn.velocity = jQuery.fn.animate);var h = 400,
426
- v = "swing",
427
- b = { State: { isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent), isAndroid: /Android/i.test(navigator.userAgent), isGingerbread: /Android 2\.3\.[3-7]/i.test(navigator.userAgent), isChrome: t.chrome, isFirefox: /Firefox/i.test(navigator.userAgent), prefixElement: r.createElement("div"), prefixMatches: {}, scrollAnchor: null, scrollPropertyLeft: null, scrollPropertyTop: null, isTicking: !1, calls: [] }, CSS: {}, Utilities: f, Redirects: {}, Easings: {}, Promise: t.Promise, defaults: { queue: "", duration: h, easing: v, begin: a, complete: a, progress: a, display: a, visibility: a, loop: !1, delay: !1, mobileHA: !0, _cacheValues: !0 }, init: function (e) {
428
- f.data(e, "velocity", { isSVG: m.isSVG(e), isAnimating: !1, computedStyle: null, tweensContainer: null, rootPropertyValueCache: {}, transformCache: {} });
429
- }, hook: null, mock: !1, version: { major: 1, minor: 2, patch: 2 }, debug: !1 };t.pageYOffset !== a ? (b.State.scrollAnchor = t, b.State.scrollPropertyLeft = "pageXOffset", b.State.scrollPropertyTop = "pageYOffset") : (b.State.scrollAnchor = r.documentElement || r.body.parentNode || r.body, b.State.scrollPropertyLeft = "scrollLeft", b.State.scrollPropertyTop = "scrollTop");var x = function () {
430
- function e(e) {
431
- return -e.tension * e.x - e.friction * e.v;
432
- }function t(t, r, a) {
433
- var n = { x: t.x + a.dx * r, v: t.v + a.dv * r, tension: t.tension, friction: t.friction };return { dx: n.v, dv: e(n) };
434
- }function r(r, a) {
435
- var n = { dx: r.v, dv: e(r) },
436
- o = t(r, .5 * a, n),
437
- i = t(r, .5 * a, o),
438
- s = t(r, a, i),
439
- l = 1 / 6 * (n.dx + 2 * (o.dx + i.dx) + s.dx),
440
- u = 1 / 6 * (n.dv + 2 * (o.dv + i.dv) + s.dv);return r.x = r.x + l * a, r.v = r.v + u * a, r;
441
- }return function a(e, t, n) {
442
- var o,
443
- i,
444
- s,
445
- l = { x: -1, v: 0, tension: null, friction: null },
446
- u = [0],
447
- c = 0,
448
- p = 1e-4,
449
- f = .016;for (e = parseFloat(e) || 500, t = parseFloat(t) || 20, n = n || null, l.tension = e, l.friction = t, o = null !== n, o ? (c = a(e, t), i = c / n * f) : i = f; s = r(s || l, i), u.push(1 + s.x), c += 16, Math.abs(s.x) > p && Math.abs(s.v) > p;) {}return o ? function (e) {
450
- return u[e * (u.length - 1) | 0];
451
- } : c;
452
- };
453
- }();b.Easings = { linear: function (e) {
454
- return e;
455
- }, swing: function (e) {
456
- return .5 - Math.cos(e * Math.PI) / 2;
457
- }, spring: function (e) {
458
- return 1 - Math.cos(4.5 * e * Math.PI) * Math.exp(6 * -e);
459
- } }, f.each([["ease", [.25, .1, .25, 1]], ["ease-in", [.42, 0, 1, 1]], ["ease-out", [0, 0, .58, 1]], ["ease-in-out", [.42, 0, .58, 1]], ["easeInSine", [.47, 0, .745, .715]], ["easeOutSine", [.39, .575, .565, 1]], ["easeInOutSine", [.445, .05, .55, .95]], ["easeInQuad", [.55, .085, .68, .53]], ["easeOutQuad", [.25, .46, .45, .94]], ["easeInOutQuad", [.455, .03, .515, .955]], ["easeInCubic", [.55, .055, .675, .19]], ["easeOutCubic", [.215, .61, .355, 1]], ["easeInOutCubic", [.645, .045, .355, 1]], ["easeInQuart", [.895, .03, .685, .22]], ["easeOutQuart", [.165, .84, .44, 1]], ["easeInOutQuart", [.77, 0, .175, 1]], ["easeInQuint", [.755, .05, .855, .06]], ["easeOutQuint", [.23, 1, .32, 1]], ["easeInOutQuint", [.86, 0, .07, 1]], ["easeInExpo", [.95, .05, .795, .035]], ["easeOutExpo", [.19, 1, .22, 1]], ["easeInOutExpo", [1, 0, 0, 1]], ["easeInCirc", [.6, .04, .98, .335]], ["easeOutCirc", [.075, .82, .165, 1]], ["easeInOutCirc", [.785, .135, .15, .86]]], function (e, t) {
460
- b.Easings[t[0]] = l.apply(null, t[1]);
461
- });var S = b.CSS = { RegEx: { isHex: /^#([A-f\d]{3}){1,2}$/i, valueUnwrap: /^[A-z]+\((.*)\)$/i, wrappedValueAlreadyExtracted: /[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/, valueSplit: /([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi }, Lists: { colors: ["fill", "stroke", "stopColor", "color", "backgroundColor", "borderColor", "borderTopColor", "borderRightColor", "borderBottomColor", "borderLeftColor", "outlineColor"], transformsBase: ["translateX", "translateY", "scale", "scaleX", "scaleY", "skewX", "skewY", "rotateZ"], transforms3D: ["transformPerspective", "translateZ", "scaleZ", "rotateX", "rotateY"] }, Hooks: { templates: { textShadow: ["Color X Y Blur", "black 0px 0px 0px"], boxShadow: ["Color X Y Blur Spread", "black 0px 0px 0px 0px"], clip: ["Top Right Bottom Left", "0px 0px 0px 0px"], backgroundPosition: ["X Y", "0% 0%"], transformOrigin: ["X Y Z", "50% 50% 0px"], perspectiveOrigin: ["X Y", "50% 50%"] }, registered: {}, register: function () {
462
- for (var e = 0; e < S.Lists.colors.length; e++) {
463
- var t = "color" === S.Lists.colors[e] ? "0 0 0 1" : "255 255 255 1";S.Hooks.templates[S.Lists.colors[e]] = ["Red Green Blue Alpha", t];
464
- }var r, a, n;if (d) for (r in S.Hooks.templates) {
465
- a = S.Hooks.templates[r], n = a[0].split(" ");var o = a[1].match(S.RegEx.valueSplit);"Color" === n[0] && (n.push(n.shift()), o.push(o.shift()), S.Hooks.templates[r] = [n.join(" "), o.join(" ")]);
466
- }for (r in S.Hooks.templates) {
467
- a = S.Hooks.templates[r], n = a[0].split(" ");for (var e in n) {
468
- var i = r + n[e],
469
- s = e;S.Hooks.registered[i] = [r, s];
470
- }
471
- }
472
- }, getRoot: function (e) {
473
- var t = S.Hooks.registered[e];return t ? t[0] : e;
474
- }, cleanRootPropertyValue: function (e, t) {
475
- return S.RegEx.valueUnwrap.test(t) && (t = t.match(S.RegEx.valueUnwrap)[1]), S.Values.isCSSNullValue(t) && (t = S.Hooks.templates[e][1]), t;
476
- }, extractValue: function (e, t) {
477
- var r = S.Hooks.registered[e];if (r) {
478
- var a = r[0],
479
- n = r[1];return t = S.Hooks.cleanRootPropertyValue(a, t), t.toString().match(S.RegEx.valueSplit)[n];
480
- }return t;
481
- }, injectValue: function (e, t, r) {
482
- var a = S.Hooks.registered[e];if (a) {
483
- var n,
484
- o,
485
- i = a[0],
486
- s = a[1];return r = S.Hooks.cleanRootPropertyValue(i, r), n = r.toString().match(S.RegEx.valueSplit), n[s] = t, o = n.join(" ");
487
- }return r;
488
- } }, Normalizations: { registered: { clip: function (e, t, r) {
489
- switch (e) {case "name":
490
- return "clip";case "extract":
491
- var a;return S.RegEx.wrappedValueAlreadyExtracted.test(r) ? a = r : (a = r.toString().match(S.RegEx.valueUnwrap), a = a ? a[1].replace(/,(\s+)?/g, " ") : r), a;case "inject":
492
- return "rect(" + r + ")";}
493
- }, blur: function (e, t, r) {
494
- switch (e) {case "name":
495
- return b.State.isFirefox ? "filter" : "-webkit-filter";case "extract":
496
- var a = parseFloat(r);if (!a && 0 !== a) {
497
- var n = r.toString().match(/blur\(([0-9]+[A-z]+)\)/i);a = n ? n[1] : 0;
498
- }return a;case "inject":
499
- return parseFloat(r) ? "blur(" + r + ")" : "none";}
500
- }, opacity: function (e, t, r) {
501
- if (8 >= d) switch (e) {case "name":
502
- return "filter";case "extract":
503
- var a = r.toString().match(/alpha\(opacity=(.*)\)/i);return r = a ? a[1] / 100 : 1;case "inject":
504
- return t.style.zoom = 1, parseFloat(r) >= 1 ? "" : "alpha(opacity=" + parseInt(100 * parseFloat(r), 10) + ")";} else switch (e) {case "name":
505
- return "opacity";case "extract":
506
- return r;case "inject":
507
- return r;}
508
- } }, register: function () {
509
- 9 >= d || b.State.isGingerbread || (S.Lists.transformsBase = S.Lists.transformsBase.concat(S.Lists.transforms3D));for (var e = 0; e < S.Lists.transformsBase.length; e++) {
510
- !function () {
511
- var t = S.Lists.transformsBase[e];S.Normalizations.registered[t] = function (e, r, n) {
512
- switch (e) {case "name":
513
- return "transform";case "extract":
514
- return i(r) === a || i(r).transformCache[t] === a ? /^scale/i.test(t) ? 1 : 0 : i(r).transformCache[t].replace(/[()]/g, "");case "inject":
515
- var o = !1;switch (t.substr(0, t.length - 1)) {case "translate":
516
- o = !/(%|px|em|rem|vw|vh|\d)$/i.test(n);break;case "scal":case "scale":
517
- b.State.isAndroid && i(r).transformCache[t] === a && 1 > n && (n = 1), o = !/(\d)$/i.test(n);break;case "skew":
518
- o = !/(deg|\d)$/i.test(n);break;case "rotate":
519
- o = !/(deg|\d)$/i.test(n);}return o || (i(r).transformCache[t] = "(" + n + ")"), i(r).transformCache[t];}
520
- };
521
- }();
522
- }for (var e = 0; e < S.Lists.colors.length; e++) {
523
- !function () {
524
- var t = S.Lists.colors[e];S.Normalizations.registered[t] = function (e, r, n) {
525
- switch (e) {case "name":
526
- return t;case "extract":
527
- var o;if (S.RegEx.wrappedValueAlreadyExtracted.test(n)) o = n;else {
528
- var i,
529
- s = { black: "rgb(0, 0, 0)", blue: "rgb(0, 0, 255)", gray: "rgb(128, 128, 128)", green: "rgb(0, 128, 0)", red: "rgb(255, 0, 0)", white: "rgb(255, 255, 255)" };/^[A-z]+$/i.test(n) ? i = s[n] !== a ? s[n] : s.black : S.RegEx.isHex.test(n) ? i = "rgb(" + S.Values.hexToRgb(n).join(" ") + ")" : /^rgba?\(/i.test(n) || (i = s.black), o = (i || n).toString().match(S.RegEx.valueUnwrap)[1].replace(/,(\s+)?/g, " ");
530
- }return 8 >= d || 3 !== o.split(" ").length || (o += " 1"), o;case "inject":
531
- return 8 >= d ? 4 === n.split(" ").length && (n = n.split(/\s+/).slice(0, 3).join(" ")) : 3 === n.split(" ").length && (n += " 1"), (8 >= d ? "rgb" : "rgba") + "(" + n.replace(/\s+/g, ",").replace(/\.(\d)+(?=,)/g, "") + ")";}
532
- };
533
- }();
534
- }
535
- } }, Names: { camelCase: function (e) {
536
- return e.replace(/-(\w)/g, function (e, t) {
537
- return t.toUpperCase();
538
- });
539
- }, SVGAttribute: function (e) {
540
- var t = "width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";return (d || b.State.isAndroid && !b.State.isChrome) && (t += "|transform"), new RegExp("^(" + t + ")$", "i").test(e);
541
- }, prefixCheck: function (e) {
542
- if (b.State.prefixMatches[e]) return [b.State.prefixMatches[e], !0];for (var t = ["", "Webkit", "Moz", "ms", "O"], r = 0, a = t.length; a > r; r++) {
543
- var n;if (n = 0 === r ? e : t[r] + e.replace(/^\w/, function (e) {
544
- return e.toUpperCase();
545
- }), m.isString(b.State.prefixElement.style[n])) return b.State.prefixMatches[e] = n, [n, !0];
546
- }return [e, !1];
547
- } }, Values: { hexToRgb: function (e) {
548
- var t,
549
- r = /^#?([a-f\d])([a-f\d])([a-f\d])$/i,
550
- a = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;return e = e.replace(r, function (e, t, r, a) {
551
- return t + t + r + r + a + a;
552
- }), t = a.exec(e), t ? [parseInt(t[1], 16), parseInt(t[2], 16), parseInt(t[3], 16)] : [0, 0, 0];
553
- }, isCSSNullValue: function (e) {
554
- return 0 == e || /^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(e);
555
- }, getUnitType: function (e) {
556
- return (/^(rotate|skew)/i.test(e) ? "deg" : /(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(e) ? "" : "px"
557
- );
558
- }, getDisplayType: function (e) {
559
- var t = e && e.tagName.toString().toLowerCase();return (/^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(t) ? "inline" : /^(li)$/i.test(t) ? "list-item" : /^(tr)$/i.test(t) ? "table-row" : /^(table)$/i.test(t) ? "table" : /^(tbody)$/i.test(t) ? "table-row-group" : "block"
560
- );
561
- }, addClass: function (e, t) {
562
- e.classList ? e.classList.add(t) : e.className += (e.className.length ? " " : "") + t;
563
- }, removeClass: function (e, t) {
564
- e.classList ? e.classList.remove(t) : e.className = e.className.toString().replace(new RegExp("(^|\\s)" + t.split(" ").join("|") + "(\\s|$)", "gi"), " ");
565
- } }, getPropertyValue: function (e, r, n, o) {
566
- function s(e, r) {
567
- function n() {
568
- u && S.setPropertyValue(e, "display", "none");
569
- }var l = 0;if (8 >= d) l = f.css(e, r);else {
570
- var u = !1;if (/^(width|height)$/.test(r) && 0 === S.getPropertyValue(e, "display") && (u = !0, S.setPropertyValue(e, "display", S.Values.getDisplayType(e))), !o) {
571
- if ("height" === r && "border-box" !== S.getPropertyValue(e, "boxSizing").toString().toLowerCase()) {
572
- var c = e.offsetHeight - (parseFloat(S.getPropertyValue(e, "borderTopWidth")) || 0) - (parseFloat(S.getPropertyValue(e, "borderBottomWidth")) || 0) - (parseFloat(S.getPropertyValue(e, "paddingTop")) || 0) - (parseFloat(S.getPropertyValue(e, "paddingBottom")) || 0);return n(), c;
573
- }if ("width" === r && "border-box" !== S.getPropertyValue(e, "boxSizing").toString().toLowerCase()) {
574
- var p = e.offsetWidth - (parseFloat(S.getPropertyValue(e, "borderLeftWidth")) || 0) - (parseFloat(S.getPropertyValue(e, "borderRightWidth")) || 0) - (parseFloat(S.getPropertyValue(e, "paddingLeft")) || 0) - (parseFloat(S.getPropertyValue(e, "paddingRight")) || 0);return n(), p;
575
- }
576
- }var g;g = i(e) === a ? t.getComputedStyle(e, null) : i(e).computedStyle ? i(e).computedStyle : i(e).computedStyle = t.getComputedStyle(e, null), "borderColor" === r && (r = "borderTopColor"), l = 9 === d && "filter" === r ? g.getPropertyValue(r) : g[r], ("" === l || null === l) && (l = e.style[r]), n();
577
- }if ("auto" === l && /^(top|right|bottom|left)$/i.test(r)) {
578
- var m = s(e, "position");("fixed" === m || "absolute" === m && /top|left/i.test(r)) && (l = f(e).position()[r] + "px");
579
- }return l;
580
- }var l;if (S.Hooks.registered[r]) {
581
- var u = r,
582
- c = S.Hooks.getRoot(u);n === a && (n = S.getPropertyValue(e, S.Names.prefixCheck(c)[0])), S.Normalizations.registered[c] && (n = S.Normalizations.registered[c]("extract", e, n)), l = S.Hooks.extractValue(u, n);
583
- } else if (S.Normalizations.registered[r]) {
584
- var p, g;p = S.Normalizations.registered[r]("name", e), "transform" !== p && (g = s(e, S.Names.prefixCheck(p)[0]), S.Values.isCSSNullValue(g) && S.Hooks.templates[r] && (g = S.Hooks.templates[r][1])), l = S.Normalizations.registered[r]("extract", e, g);
585
- }if (!/^[\d-]/.test(l)) if (i(e) && i(e).isSVG && S.Names.SVGAttribute(r)) {
586
- if (/^(height|width)$/i.test(r)) try {
587
- l = e.getBBox()[r];
588
- } catch (m) {
589
- l = 0;
590
- } else l = e.getAttribute(r);
591
- } else l = s(e, S.Names.prefixCheck(r)[0]);return S.Values.isCSSNullValue(l) && (l = 0), b.debug >= 2 && console.log("Get " + r + ": " + l), l;
592
- }, setPropertyValue: function (e, r, a, n, o) {
593
- var s = r;if ("scroll" === r) o.container ? o.container["scroll" + o.direction] = a : "Left" === o.direction ? t.scrollTo(a, o.alternateValue) : t.scrollTo(o.alternateValue, a);else if (S.Normalizations.registered[r] && "transform" === S.Normalizations.registered[r]("name", e)) S.Normalizations.registered[r]("inject", e, a), s = "transform", a = i(e).transformCache[r];else {
594
- if (S.Hooks.registered[r]) {
595
- var l = r,
596
- u = S.Hooks.getRoot(r);n = n || S.getPropertyValue(e, u), a = S.Hooks.injectValue(l, a, n), r = u;
597
- }if (S.Normalizations.registered[r] && (a = S.Normalizations.registered[r]("inject", e, a), r = S.Normalizations.registered[r]("name", e)), s = S.Names.prefixCheck(r)[0], 8 >= d) try {
598
- e.style[s] = a;
599
- } catch (c) {
600
- b.debug && console.log("Browser does not support [" + a + "] for [" + s + "]");
601
- } else i(e) && i(e).isSVG && S.Names.SVGAttribute(r) ? e.setAttribute(r, a) : e.style[s] = a;b.debug >= 2 && console.log("Set " + r + " (" + s + "): " + a);
602
- }return [s, a];
603
- }, flushTransformCache: function (e) {
604
- function t(t) {
605
- return parseFloat(S.getPropertyValue(e, t));
606
- }var r = "";if ((d || b.State.isAndroid && !b.State.isChrome) && i(e).isSVG) {
607
- var a = { translate: [t("translateX"), t("translateY")], skewX: [t("skewX")], skewY: [t("skewY")], scale: 1 !== t("scale") ? [t("scale"), t("scale")] : [t("scaleX"), t("scaleY")], rotate: [t("rotateZ"), 0, 0] };f.each(i(e).transformCache, function (e) {
608
- /^translate/i.test(e) ? e = "translate" : /^scale/i.test(e) ? e = "scale" : /^rotate/i.test(e) && (e = "rotate"), a[e] && (r += e + "(" + a[e].join(" ") + ") ", delete a[e]);
609
- });
610
- } else {
611
- var n, o;f.each(i(e).transformCache, function (t) {
612
- return n = i(e).transformCache[t], "transformPerspective" === t ? (o = n, !0) : (9 === d && "rotateZ" === t && (t = "rotate"), void (r += t + n + " "));
613
- }), o && (r = "perspective" + o + " " + r);
614
- }S.setPropertyValue(e, "transform", r);
615
- } };S.Hooks.register(), S.Normalizations.register(), b.hook = function (e, t, r) {
616
- var n = a;return e = o(e), f.each(e, function (e, o) {
617
- if (i(o) === a && b.init(o), r === a) n === a && (n = b.CSS.getPropertyValue(o, t));else {
618
- var s = b.CSS.setPropertyValue(o, t, r);"transform" === s[0] && b.CSS.flushTransformCache(o), n = s;
619
- }
620
- }), n;
621
- };var P = function () {
622
- function e() {
623
- return s ? k.promise || null : l;
624
- }function n() {
625
- function e(e) {
626
- function p(e, t) {
627
- var r = a,
628
- n = a,
629
- i = a;return m.isArray(e) ? (r = e[0], !m.isArray(e[1]) && /^[\d-]/.test(e[1]) || m.isFunction(e[1]) || S.RegEx.isHex.test(e[1]) ? i = e[1] : (m.isString(e[1]) && !S.RegEx.isHex.test(e[1]) || m.isArray(e[1])) && (n = t ? e[1] : u(e[1], s.duration), e[2] !== a && (i = e[2]))) : r = e, t || (n = n || s.easing), m.isFunction(r) && (r = r.call(o, V, w)), m.isFunction(i) && (i = i.call(o, V, w)), [r || 0, n, i];
630
- }function d(e, t) {
631
- var r, a;return a = (t || "0").toString().toLowerCase().replace(/[%A-z]+$/, function (e) {
632
- return r = e, "";
633
- }), r || (r = S.Values.getUnitType(e)), [a, r];
634
- }function h() {
635
- var e = { myParent: o.parentNode || r.body, position: S.getPropertyValue(o, "position"), fontSize: S.getPropertyValue(o, "fontSize") },
636
- a = e.position === L.lastPosition && e.myParent === L.lastParent,
637
- n = e.fontSize === L.lastFontSize;L.lastParent = e.myParent, L.lastPosition = e.position, L.lastFontSize = e.fontSize;var s = 100,
638
- l = {};if (n && a) l.emToPx = L.lastEmToPx, l.percentToPxWidth = L.lastPercentToPxWidth, l.percentToPxHeight = L.lastPercentToPxHeight;else {
639
- var u = i(o).isSVG ? r.createElementNS("http://www.w3.org/2000/svg", "rect") : r.createElement("div");b.init(u), e.myParent.appendChild(u), f.each(["overflow", "overflowX", "overflowY"], function (e, t) {
640
- b.CSS.setPropertyValue(u, t, "hidden");
641
- }), b.CSS.setPropertyValue(u, "position", e.position), b.CSS.setPropertyValue(u, "fontSize", e.fontSize), b.CSS.setPropertyValue(u, "boxSizing", "content-box"), f.each(["minWidth", "maxWidth", "width", "minHeight", "maxHeight", "height"], function (e, t) {
642
- b.CSS.setPropertyValue(u, t, s + "%");
643
- }), b.CSS.setPropertyValue(u, "paddingLeft", s + "em"), l.percentToPxWidth = L.lastPercentToPxWidth = (parseFloat(S.getPropertyValue(u, "width", null, !0)) || 1) / s, l.percentToPxHeight = L.lastPercentToPxHeight = (parseFloat(S.getPropertyValue(u, "height", null, !0)) || 1) / s, l.emToPx = L.lastEmToPx = (parseFloat(S.getPropertyValue(u, "paddingLeft")) || 1) / s, e.myParent.removeChild(u);
644
- }return null === L.remToPx && (L.remToPx = parseFloat(S.getPropertyValue(r.body, "fontSize")) || 16), null === L.vwToPx && (L.vwToPx = parseFloat(t.innerWidth) / 100, L.vhToPx = parseFloat(t.innerHeight) / 100), l.remToPx = L.remToPx, l.vwToPx = L.vwToPx, l.vhToPx = L.vhToPx, b.debug >= 1 && console.log("Unit ratios: " + JSON.stringify(l), o), l;
645
- }if (s.begin && 0 === V) try {
646
- s.begin.call(g, g);
647
- } catch (x) {
648
- setTimeout(function () {
649
- throw x;
650
- }, 1);
651
- }if ("scroll" === A) {
652
- var P,
653
- C,
654
- T,
655
- F = /^x$/i.test(s.axis) ? "Left" : "Top",
656
- j = parseFloat(s.offset) || 0;s.container ? m.isWrapped(s.container) || m.isNode(s.container) ? (s.container = s.container[0] || s.container, P = s.container["scroll" + F], T = P + f(o).position()[F.toLowerCase()] + j) : s.container = null : (P = b.State.scrollAnchor[b.State["scrollProperty" + F]], C = b.State.scrollAnchor[b.State["scrollProperty" + ("Left" === F ? "Top" : "Left")]], T = f(o).offset()[F.toLowerCase()] + j), l = { scroll: { rootPropertyValue: !1, startValue: P, currentValue: P, endValue: T, unitType: "", easing: s.easing, scrollData: { container: s.container, direction: F, alternateValue: C } }, element: o }, b.debug && console.log("tweensContainer (scroll): ", l.scroll, o);
657
- } else if ("reverse" === A) {
658
- if (!i(o).tweensContainer) return void f.dequeue(o, s.queue);"none" === i(o).opts.display && (i(o).opts.display = "auto"), "hidden" === i(o).opts.visibility && (i(o).opts.visibility = "visible"), i(o).opts.loop = !1, i(o).opts.begin = null, i(o).opts.complete = null, v.easing || delete s.easing, v.duration || delete s.duration, s = f.extend({}, i(o).opts, s);var E = f.extend(!0, {}, i(o).tweensContainer);for (var H in E) {
659
- if ("element" !== H) {
660
- var N = E[H].startValue;E[H].startValue = E[H].currentValue = E[H].endValue, E[H].endValue = N, m.isEmptyObject(v) || (E[H].easing = s.easing), b.debug && console.log("reverse tweensContainer (" + H + "): " + JSON.stringify(E[H]), o);
661
- }
662
- }l = E;
663
- } else if ("start" === A) {
664
- var E;i(o).tweensContainer && i(o).isAnimating === !0 && (E = i(o).tweensContainer), f.each(y, function (e, t) {
665
- if (RegExp("^" + S.Lists.colors.join("$|^") + "$").test(e)) {
666
- var r = p(t, !0),
667
- n = r[0],
668
- o = r[1],
669
- i = r[2];if (S.RegEx.isHex.test(n)) {
670
- for (var s = ["Red", "Green", "Blue"], l = S.Values.hexToRgb(n), u = i ? S.Values.hexToRgb(i) : a, c = 0; c < s.length; c++) {
671
- var f = [l[c]];o && f.push(o), u !== a && f.push(u[c]), y[e + s[c]] = f;
672
- }delete y[e];
673
- }
674
- }
675
- });for (var z in y) {
676
- var O = p(y[z]),
677
- q = O[0],
678
- $ = O[1],
679
- M = O[2];z = S.Names.camelCase(z);var I = S.Hooks.getRoot(z),
680
- B = !1;if (i(o).isSVG || "tween" === I || S.Names.prefixCheck(I)[1] !== !1 || S.Normalizations.registered[I] !== a) {
681
- (s.display !== a && null !== s.display && "none" !== s.display || s.visibility !== a && "hidden" !== s.visibility) && /opacity|filter/.test(z) && !M && 0 !== q && (M = 0), s._cacheValues && E && E[z] ? (M === a && (M = E[z].endValue + E[z].unitType), B = i(o).rootPropertyValueCache[I]) : S.Hooks.registered[z] ? M === a ? (B = S.getPropertyValue(o, I), M = S.getPropertyValue(o, z, B)) : B = S.Hooks.templates[I][1] : M === a && (M = S.getPropertyValue(o, z));var W,
682
- G,
683
- Y,
684
- D = !1;if (W = d(z, M), M = W[0], Y = W[1], W = d(z, q), q = W[0].replace(/^([+-\/*])=/, function (e, t) {
685
- return D = t, "";
686
- }), G = W[1], M = parseFloat(M) || 0, q = parseFloat(q) || 0, "%" === G && (/^(fontSize|lineHeight)$/.test(z) ? (q /= 100, G = "em") : /^scale/.test(z) ? (q /= 100, G = "") : /(Red|Green|Blue)$/i.test(z) && (q = q / 100 * 255, G = "")), /[\/*]/.test(D)) G = Y;else if (Y !== G && 0 !== M) if (0 === q) G = Y;else {
687
- n = n || h();var Q = /margin|padding|left|right|width|text|word|letter/i.test(z) || /X$/.test(z) || "x" === z ? "x" : "y";switch (Y) {case "%":
688
- M *= "x" === Q ? n.percentToPxWidth : n.percentToPxHeight;break;case "px":
689
- break;default:
690
- M *= n[Y + "ToPx"];}switch (G) {case "%":
691
- M *= 1 / ("x" === Q ? n.percentToPxWidth : n.percentToPxHeight);break;case "px":
692
- break;default:
693
- M *= 1 / n[G + "ToPx"];}
694
- }switch (D) {case "+":
695
- q = M + q;break;case "-":
696
- q = M - q;break;case "*":
697
- q = M * q;break;case "/":
698
- q = M / q;}l[z] = { rootPropertyValue: B, startValue: M, currentValue: M, endValue: q, unitType: G, easing: $ }, b.debug && console.log("tweensContainer (" + z + "): " + JSON.stringify(l[z]), o);
699
- } else b.debug && console.log("Skipping [" + I + "] due to a lack of browser support.");
700
- }l.element = o;
701
- }l.element && (S.Values.addClass(o, "velocity-animating"), R.push(l), "" === s.queue && (i(o).tweensContainer = l, i(o).opts = s), i(o).isAnimating = !0, V === w - 1 ? (b.State.calls.push([R, g, s, null, k.resolver]), b.State.isTicking === !1 && (b.State.isTicking = !0, c())) : V++);
702
- }var n,
703
- o = this,
704
- s = f.extend({}, b.defaults, v),
705
- l = {};switch (i(o) === a && b.init(o), parseFloat(s.delay) && s.queue !== !1 && f.queue(o, s.queue, function (e) {
706
- b.velocityQueueEntryFlag = !0, i(o).delayTimer = { setTimeout: setTimeout(e, parseFloat(s.delay)), next: e };
707
- }), s.duration.toString().toLowerCase()) {case "fast":
708
- s.duration = 200;break;case "normal":
709
- s.duration = h;break;case "slow":
710
- s.duration = 600;break;default:
711
- s.duration = parseFloat(s.duration) || 1;}b.mock !== !1 && (b.mock === !0 ? s.duration = s.delay = 1 : (s.duration *= parseFloat(b.mock) || 1, s.delay *= parseFloat(b.mock) || 1)), s.easing = u(s.easing, s.duration), s.begin && !m.isFunction(s.begin) && (s.begin = null), s.progress && !m.isFunction(s.progress) && (s.progress = null), s.complete && !m.isFunction(s.complete) && (s.complete = null), s.display !== a && null !== s.display && (s.display = s.display.toString().toLowerCase(), "auto" === s.display && (s.display = b.CSS.Values.getDisplayType(o))), s.visibility !== a && null !== s.visibility && (s.visibility = s.visibility.toString().toLowerCase()), s.mobileHA = s.mobileHA && b.State.isMobile && !b.State.isGingerbread, s.queue === !1 ? s.delay ? setTimeout(e, s.delay) : e() : f.queue(o, s.queue, function (t, r) {
712
- return r === !0 ? (k.promise && k.resolver(g), !0) : (b.velocityQueueEntryFlag = !0, void e(t));
713
- }), "" !== s.queue && "fx" !== s.queue || "inprogress" === f.queue(o)[0] || f.dequeue(o);
714
- }var s,
715
- l,
716
- d,
717
- g,
718
- y,
719
- v,
720
- x = arguments[0] && (arguments[0].p || f.isPlainObject(arguments[0].properties) && !arguments[0].properties.names || m.isString(arguments[0].properties));if (m.isWrapped(this) ? (s = !1, d = 0, g = this, l = this) : (s = !0, d = 1, g = x ? arguments[0].elements || arguments[0].e : arguments[0]), g = o(g)) {
721
- x ? (y = arguments[0].properties || arguments[0].p, v = arguments[0].options || arguments[0].o) : (y = arguments[d], v = arguments[d + 1]);var w = g.length,
722
- V = 0;if (!/^(stop|finish)$/i.test(y) && !f.isPlainObject(v)) {
723
- var C = d + 1;v = {};for (var T = C; T < arguments.length; T++) {
724
- m.isArray(arguments[T]) || !/^(fast|normal|slow)$/i.test(arguments[T]) && !/^\d/.test(arguments[T]) ? m.isString(arguments[T]) || m.isArray(arguments[T]) ? v.easing = arguments[T] : m.isFunction(arguments[T]) && (v.complete = arguments[T]) : v.duration = arguments[T];
725
- }
726
- }var k = { promise: null, resolver: null, rejecter: null };s && b.Promise && (k.promise = new b.Promise(function (e, t) {
727
- k.resolver = e, k.rejecter = t;
728
- }));var A;switch (y) {case "scroll":
729
- A = "scroll";break;case "reverse":
730
- A = "reverse";break;case "finish":case "stop":
731
- f.each(g, function (e, t) {
732
- i(t) && i(t).delayTimer && (clearTimeout(i(t).delayTimer.setTimeout), i(t).delayTimer.next && i(t).delayTimer.next(), delete i(t).delayTimer);
733
- });var F = [];return f.each(b.State.calls, function (e, t) {
734
- t && f.each(t[1], function (r, n) {
735
- var o = v === a ? "" : v;return o === !0 || t[2].queue === o || v === a && t[2].queue === !1 ? void f.each(g, function (r, a) {
736
- a === n && ((v === !0 || m.isString(v)) && (f.each(f.queue(a, m.isString(v) ? v : ""), function (e, t) {
737
- m.isFunction(t) && t(null, !0);
738
- }), f.queue(a, m.isString(v) ? v : "", [])), "stop" === y ? (i(a) && i(a).tweensContainer && o !== !1 && f.each(i(a).tweensContainer, function (e, t) {
739
- t.endValue = t.currentValue;
740
- }), F.push(e)) : "finish" === y && (t[2].duration = 1));
741
- }) : !0;
742
- });
743
- }), "stop" === y && (f.each(F, function (e, t) {
744
- p(t, !0);
745
- }), k.promise && k.resolver(g)), e();default:
746
- if (!f.isPlainObject(y) || m.isEmptyObject(y)) {
747
- if (m.isString(y) && b.Redirects[y]) {
748
- var j = f.extend({}, v),
749
- E = j.duration,
750
- H = j.delay || 0;return j.backwards === !0 && (g = f.extend(!0, [], g).reverse()), f.each(g, function (e, t) {
751
- parseFloat(j.stagger) ? j.delay = H + parseFloat(j.stagger) * e : m.isFunction(j.stagger) && (j.delay = H + j.stagger.call(t, e, w)), j.drag && (j.duration = parseFloat(E) || (/^(callout|transition)/.test(y) ? 1e3 : h), j.duration = Math.max(j.duration * (j.backwards ? 1 - e / w : (e + 1) / w), .75 * j.duration, 200)), b.Redirects[y].call(t, t, j || {}, e, w, g, k.promise ? k : a);
752
- }), e();
753
- }var N = "Velocity: First argument (" + y + ") was not a property map, a known action, or a registered redirect. Aborting.";return k.promise ? k.rejecter(new Error(N)) : console.log(N), e();
754
- }A = "start";}var L = { lastParent: null, lastPosition: null, lastFontSize: null, lastPercentToPxWidth: null, lastPercentToPxHeight: null, lastEmToPx: null, remToPx: null, vwToPx: null, vhToPx: null },
755
- R = [];f.each(g, function (e, t) {
756
- m.isNode(t) && n.call(t);
757
- });var z,
758
- j = f.extend({}, b.defaults, v);if (j.loop = parseInt(j.loop), z = 2 * j.loop - 1, j.loop) for (var O = 0; z > O; O++) {
759
- var q = { delay: j.delay, progress: j.progress };O === z - 1 && (q.display = j.display, q.visibility = j.visibility, q.complete = j.complete), P(g, "reverse", q);
760
- }return e();
761
- }
762
- };b = f.extend(P, b), b.animate = P;var w = t.requestAnimationFrame || g;return b.State.isMobile || r.hidden === a || r.addEventListener("visibilitychange", function () {
763
- r.hidden ? (w = function (e) {
764
- return setTimeout(function () {
765
- e(!0);
766
- }, 16);
767
- }, c()) : w = t.requestAnimationFrame || g;
768
- }), e.Velocity = b, e !== t && (e.fn.velocity = P, e.fn.velocity.defaults = b.defaults), f.each(["Down", "Up"], function (e, t) {
769
- b.Redirects["slide" + t] = function (e, r, n, o, i, s) {
770
- var l = f.extend({}, r),
771
- u = l.begin,
772
- c = l.complete,
773
- p = { height: "", marginTop: "", marginBottom: "", paddingTop: "", paddingBottom: "" },
774
- d = {};l.display === a && (l.display = "Down" === t ? "inline" === b.CSS.Values.getDisplayType(e) ? "inline-block" : "block" : "none"), l.begin = function () {
775
- u && u.call(i, i);for (var r in p) {
776
- d[r] = e.style[r];var a = b.CSS.getPropertyValue(e, r);p[r] = "Down" === t ? [a, 0] : [0, a];
777
- }d.overflow = e.style.overflow, e.style.overflow = "hidden";
778
- }, l.complete = function () {
779
- for (var t in d) {
780
- e.style[t] = d[t];
781
- }c && c.call(i, i), s && s.resolver(i);
782
- }, b(e, p, l);
783
- };
784
- }), f.each(["In", "Out"], function (e, t) {
785
- b.Redirects["fade" + t] = function (e, r, n, o, i, s) {
786
- var l = f.extend({}, r),
787
- u = { opacity: "In" === t ? 1 : 0 },
788
- c = l.complete;l.complete = n !== o - 1 ? l.begin = null : function () {
789
- c && c.call(i, i), s && s.resolver(i);
790
- }, l.display === a && (l.display = "In" === t ? "auto" : "none"), b(this, u, l);
791
- };
792
- }), b;
793
- }(window.jQuery || window.Zepto || window, window, document);
794
- }));
795
- ;!function (a, b, c, d) {
796
- "use strict";
797
- function k(a, b, c) {
798
- return setTimeout(q(a, c), b);
799
- }function l(a, b, c) {
800
- return Array.isArray(a) ? (m(a, c[b], c), !0) : !1;
801
- }function m(a, b, c) {
802
- var e;if (a) if (a.forEach) a.forEach(b, c);else if (a.length !== d) for (e = 0; e < a.length;) {
803
- b.call(c, a[e], e, a), e++;
804
- } else for (e in a) {
805
- a.hasOwnProperty(e) && b.call(c, a[e], e, a);
806
- }
807
- }function n(a, b, c) {
808
- for (var e = Object.keys(b), f = 0; f < e.length;) {
809
- (!c || c && a[e[f]] === d) && (a[e[f]] = b[e[f]]), f++;
810
- }return a;
811
- }function o(a, b) {
812
- return n(a, b, !0);
813
- }function p(a, b, c) {
814
- var e,
815
- d = b.prototype;e = a.prototype = Object.create(d), e.constructor = a, e._super = d, c && n(e, c);
816
- }function q(a, b) {
817
- return function () {
818
- return a.apply(b, arguments);
819
- };
820
- }function r(a, b) {
821
- return typeof a == g ? a.apply(b ? b[0] || d : d, b) : a;
822
- }function s(a, b) {
823
- return a === d ? b : a;
824
- }function t(a, b, c) {
825
- m(x(b), function (b) {
826
- a.addEventListener(b, c, !1);
827
- });
828
- }function u(a, b, c) {
829
- m(x(b), function (b) {
830
- a.removeEventListener(b, c, !1);
831
- });
832
- }function v(a, b) {
833
- for (; a;) {
834
- if (a == b) return !0;a = a.parentNode;
835
- }return !1;
836
- }function w(a, b) {
837
- return a.indexOf(b) > -1;
838
- }function x(a) {
839
- return a.trim().split(/\s+/g);
840
- }function y(a, b, c) {
841
- if (a.indexOf && !c) return a.indexOf(b);for (var d = 0; d < a.length;) {
842
- if (c && a[d][c] == b || !c && a[d] === b) return d;d++;
843
- }return -1;
844
- }function z(a) {
845
- return Array.prototype.slice.call(a, 0);
846
- }function A(a, b, c) {
847
- for (var d = [], e = [], f = 0; f < a.length;) {
848
- var g = b ? a[f][b] : a[f];y(e, g) < 0 && d.push(a[f]), e[f] = g, f++;
849
- }return c && (d = b ? d.sort(function (a, c) {
850
- return a[b] > c[b];
851
- }) : d.sort()), d;
852
- }function B(a, b) {
853
- for (var c, f, g = b[0].toUpperCase() + b.slice(1), h = 0; h < e.length;) {
854
- if (c = e[h], f = c ? c + g : b, f in a) return f;h++;
855
- }return d;
856
- }function D() {
857
- return C++;
858
- }function E(a) {
859
- var b = a.ownerDocument;return b.defaultView || b.parentWindow;
860
- }function ab(a, b) {
861
- var c = this;this.manager = a, this.callback = b, this.element = a.element, this.target = a.options.inputTarget, this.domHandler = function (b) {
862
- r(a.options.enable, [a]) && c.handler(b);
863
- }, this.init();
864
- }function bb(a) {
865
- var b,
866
- c = a.options.inputClass;return b = c ? c : H ? wb : I ? Eb : G ? Gb : rb, new b(a, cb);
867
- }function cb(a, b, c) {
868
- var d = c.pointers.length,
869
- e = c.changedPointers.length,
870
- f = b & O && 0 === d - e,
871
- g = b & (Q | R) && 0 === d - e;c.isFirst = !!f, c.isFinal = !!g, f && (a.session = {}), c.eventType = b, db(a, c), a.emit("hammer.input", c), a.recognize(c), a.session.prevInput = c;
872
- }function db(a, b) {
873
- var c = a.session,
874
- d = b.pointers,
875
- e = d.length;c.firstInput || (c.firstInput = gb(b)), e > 1 && !c.firstMultiple ? c.firstMultiple = gb(b) : 1 === e && (c.firstMultiple = !1);var f = c.firstInput,
876
- g = c.firstMultiple,
877
- h = g ? g.center : f.center,
878
- i = b.center = hb(d);b.timeStamp = j(), b.deltaTime = b.timeStamp - f.timeStamp, b.angle = lb(h, i), b.distance = kb(h, i), eb(c, b), b.offsetDirection = jb(b.deltaX, b.deltaY), b.scale = g ? nb(g.pointers, d) : 1, b.rotation = g ? mb(g.pointers, d) : 0, fb(c, b);var k = a.element;v(b.srcEvent.target, k) && (k = b.srcEvent.target), b.target = k;
879
- }function eb(a, b) {
880
- var c = b.center,
881
- d = a.offsetDelta || {},
882
- e = a.prevDelta || {},
883
- f = a.prevInput || {};(b.eventType === O || f.eventType === Q) && (e = a.prevDelta = { x: f.deltaX || 0, y: f.deltaY || 0 }, d = a.offsetDelta = { x: c.x, y: c.y }), b.deltaX = e.x + (c.x - d.x), b.deltaY = e.y + (c.y - d.y);
884
- }function fb(a, b) {
885
- var f,
886
- g,
887
- h,
888
- j,
889
- c = a.lastInterval || b,
890
- e = b.timeStamp - c.timeStamp;if (b.eventType != R && (e > N || c.velocity === d)) {
891
- var k = c.deltaX - b.deltaX,
892
- l = c.deltaY - b.deltaY,
893
- m = ib(e, k, l);g = m.x, h = m.y, f = i(m.x) > i(m.y) ? m.x : m.y, j = jb(k, l), a.lastInterval = b;
894
- } else f = c.velocity, g = c.velocityX, h = c.velocityY, j = c.direction;b.velocity = f, b.velocityX = g, b.velocityY = h, b.direction = j;
895
- }function gb(a) {
896
- for (var b = [], c = 0; c < a.pointers.length;) {
897
- b[c] = { clientX: h(a.pointers[c].clientX), clientY: h(a.pointers[c].clientY) }, c++;
898
- }return { timeStamp: j(), pointers: b, center: hb(b), deltaX: a.deltaX, deltaY: a.deltaY };
899
- }function hb(a) {
900
- var b = a.length;if (1 === b) return { x: h(a[0].clientX), y: h(a[0].clientY) };for (var c = 0, d = 0, e = 0; b > e;) {
901
- c += a[e].clientX, d += a[e].clientY, e++;
902
- }return { x: h(c / b), y: h(d / b) };
903
- }function ib(a, b, c) {
904
- return { x: b / a || 0, y: c / a || 0 };
905
- }function jb(a, b) {
906
- return a === b ? S : i(a) >= i(b) ? a > 0 ? T : U : b > 0 ? V : W;
907
- }function kb(a, b, c) {
908
- c || (c = $);var d = b[c[0]] - a[c[0]],
909
- e = b[c[1]] - a[c[1]];return Math.sqrt(d * d + e * e);
910
- }function lb(a, b, c) {
911
- c || (c = $);var d = b[c[0]] - a[c[0]],
912
- e = b[c[1]] - a[c[1]];return 180 * Math.atan2(e, d) / Math.PI;
913
- }function mb(a, b) {
914
- return lb(b[1], b[0], _) - lb(a[1], a[0], _);
915
- }function nb(a, b) {
916
- return kb(b[0], b[1], _) / kb(a[0], a[1], _);
917
- }function rb() {
918
- this.evEl = pb, this.evWin = qb, this.allow = !0, this.pressed = !1, ab.apply(this, arguments);
919
- }function wb() {
920
- this.evEl = ub, this.evWin = vb, ab.apply(this, arguments), this.store = this.manager.session.pointerEvents = [];
921
- }function Ab() {
922
- this.evTarget = yb, this.evWin = zb, this.started = !1, ab.apply(this, arguments);
923
- }function Bb(a, b) {
924
- var c = z(a.touches),
925
- d = z(a.changedTouches);return b & (Q | R) && (c = A(c.concat(d), "identifier", !0)), [c, d];
926
- }function Eb() {
927
- this.evTarget = Db, this.targetIds = {}, ab.apply(this, arguments);
928
- }function Fb(a, b) {
929
- var c = z(a.touches),
930
- d = this.targetIds;if (b & (O | P) && 1 === c.length) return d[c[0].identifier] = !0, [c, c];var e,
931
- f,
932
- g = z(a.changedTouches),
933
- h = [],
934
- i = this.target;if (f = c.filter(function (a) {
935
- return v(a.target, i);
936
- }), b === O) for (e = 0; e < f.length;) {
937
- d[f[e].identifier] = !0, e++;
938
- }for (e = 0; e < g.length;) {
939
- d[g[e].identifier] && h.push(g[e]), b & (Q | R) && delete d[g[e].identifier], e++;
940
- }return h.length ? [A(f.concat(h), "identifier", !0), h] : void 0;
941
- }function Gb() {
942
- ab.apply(this, arguments);var a = q(this.handler, this);this.touch = new Eb(this.manager, a), this.mouse = new rb(this.manager, a);
943
- }function Pb(a, b) {
944
- this.manager = a, this.set(b);
945
- }function Qb(a) {
946
- if (w(a, Mb)) return Mb;var b = w(a, Nb),
947
- c = w(a, Ob);return b && c ? Nb + " " + Ob : b || c ? b ? Nb : Ob : w(a, Lb) ? Lb : Kb;
948
- }function Yb(a) {
949
- this.id = D(), this.manager = null, this.options = o(a || {}, this.defaults), this.options.enable = s(this.options.enable, !0), this.state = Rb, this.simultaneous = {}, this.requireFail = [];
950
- }function Zb(a) {
951
- return a & Wb ? "cancel" : a & Ub ? "end" : a & Tb ? "move" : a & Sb ? "start" : "";
952
- }function $b(a) {
953
- return a == W ? "down" : a == V ? "up" : a == T ? "left" : a == U ? "right" : "";
954
- }function _b(a, b) {
955
- var c = b.manager;return c ? c.get(a) : a;
956
- }function ac() {
957
- Yb.apply(this, arguments);
958
- }function bc() {
959
- ac.apply(this, arguments), this.pX = null, this.pY = null;
960
- }function cc() {
961
- ac.apply(this, arguments);
962
- }function dc() {
963
- Yb.apply(this, arguments), this._timer = null, this._input = null;
964
- }function ec() {
965
- ac.apply(this, arguments);
966
- }function fc() {
967
- ac.apply(this, arguments);
968
- }function gc() {
969
- Yb.apply(this, arguments), this.pTime = !1, this.pCenter = !1, this._timer = null, this._input = null, this.count = 0;
970
- }function hc(a, b) {
971
- return b = b || {}, b.recognizers = s(b.recognizers, hc.defaults.preset), new kc(a, b);
972
- }function kc(a, b) {
973
- b = b || {}, this.options = o(b, hc.defaults), this.options.inputTarget = this.options.inputTarget || a, this.handlers = {}, this.session = {}, this.recognizers = [], this.element = a, this.input = bb(this), this.touchAction = new Pb(this, this.options.touchAction), lc(this, !0), m(b.recognizers, function (a) {
974
- var b = this.add(new a[0](a[1]));a[2] && b.recognizeWith(a[2]), a[3] && b.requireFailure(a[3]);
975
- }, this);
976
- }function lc(a, b) {
977
- var c = a.element;m(a.options.cssProps, function (a, d) {
978
- c.style[B(c.style, d)] = b ? a : "";
979
- });
980
- }function mc(a, c) {
981
- var d = b.createEvent("Event");d.initEvent(a, !0, !0), d.gesture = c, c.target.dispatchEvent(d);
982
- }var e = ["", "webkit", "moz", "MS", "ms", "o"],
983
- f = b.createElement("div"),
984
- g = "function",
985
- h = Math.round,
986
- i = Math.abs,
987
- j = Date.now,
988
- C = 1,
989
- F = /mobile|tablet|ip(ad|hone|od)|android/i,
990
- G = "ontouchstart" in a,
991
- H = B(a, "PointerEvent") !== d,
992
- I = G && F.test(navigator.userAgent),
993
- J = "touch",
994
- K = "pen",
995
- L = "mouse",
996
- M = "kinect",
997
- N = 25,
998
- O = 1,
999
- P = 2,
1000
- Q = 4,
1001
- R = 8,
1002
- S = 1,
1003
- T = 2,
1004
- U = 4,
1005
- V = 8,
1006
- W = 16,
1007
- X = T | U,
1008
- Y = V | W,
1009
- Z = X | Y,
1010
- $ = ["x", "y"],
1011
- _ = ["clientX", "clientY"];ab.prototype = { handler: function () {}, init: function () {
1012
- this.evEl && t(this.element, this.evEl, this.domHandler), this.evTarget && t(this.target, this.evTarget, this.domHandler), this.evWin && t(E(this.element), this.evWin, this.domHandler);
1013
- }, destroy: function () {
1014
- this.evEl && u(this.element, this.evEl, this.domHandler), this.evTarget && u(this.target, this.evTarget, this.domHandler), this.evWin && u(E(this.element), this.evWin, this.domHandler);
1015
- } };var ob = { mousedown: O, mousemove: P, mouseup: Q },
1016
- pb = "mousedown",
1017
- qb = "mousemove mouseup";p(rb, ab, { handler: function (a) {
1018
- var b = ob[a.type];b & O && 0 === a.button && (this.pressed = !0), b & P && 1 !== a.which && (b = Q), this.pressed && this.allow && (b & Q && (this.pressed = !1), this.callback(this.manager, b, { pointers: [a], changedPointers: [a], pointerType: L, srcEvent: a }));
1019
- } });var sb = { pointerdown: O, pointermove: P, pointerup: Q, pointercancel: R, pointerout: R },
1020
- tb = { 2: J, 3: K, 4: L, 5: M },
1021
- ub = "pointerdown",
1022
- vb = "pointermove pointerup pointercancel";a.MSPointerEvent && (ub = "MSPointerDown", vb = "MSPointerMove MSPointerUp MSPointerCancel"), p(wb, ab, { handler: function (a) {
1023
- var b = this.store,
1024
- c = !1,
1025
- d = a.type.toLowerCase().replace("ms", ""),
1026
- e = sb[d],
1027
- f = tb[a.pointerType] || a.pointerType,
1028
- g = f == J,
1029
- h = y(b, a.pointerId, "pointerId");e & O && (0 === a.button || g) ? 0 > h && (b.push(a), h = b.length - 1) : e & (Q | R) && (c = !0), 0 > h || (b[h] = a, this.callback(this.manager, e, { pointers: b, changedPointers: [a], pointerType: f, srcEvent: a }), c && b.splice(h, 1));
1030
- } });var xb = { touchstart: O, touchmove: P, touchend: Q, touchcancel: R },
1031
- yb = "touchstart",
1032
- zb = "touchstart touchmove touchend touchcancel";p(Ab, ab, { handler: function (a) {
1033
- var b = xb[a.type];if (b === O && (this.started = !0), this.started) {
1034
- var c = Bb.call(this, a, b);b & (Q | R) && 0 === c[0].length - c[1].length && (this.started = !1), this.callback(this.manager, b, { pointers: c[0], changedPointers: c[1], pointerType: J, srcEvent: a });
1035
- }
1036
- } });var Cb = { touchstart: O, touchmove: P, touchend: Q, touchcancel: R },
1037
- Db = "touchstart touchmove touchend touchcancel";p(Eb, ab, { handler: function (a) {
1038
- var b = Cb[a.type],
1039
- c = Fb.call(this, a, b);c && this.callback(this.manager, b, { pointers: c[0], changedPointers: c[1], pointerType: J, srcEvent: a });
1040
- } }), p(Gb, ab, { handler: function (a, b, c) {
1041
- var d = c.pointerType == J,
1042
- e = c.pointerType == L;if (d) this.mouse.allow = !1;else if (e && !this.mouse.allow) return;b & (Q | R) && (this.mouse.allow = !0), this.callback(a, b, c);
1043
- }, destroy: function () {
1044
- this.touch.destroy(), this.mouse.destroy();
1045
- } });var Hb = B(f.style, "touchAction"),
1046
- Ib = Hb !== d,
1047
- Jb = "compute",
1048
- Kb = "auto",
1049
- Lb = "manipulation",
1050
- Mb = "none",
1051
- Nb = "pan-x",
1052
- Ob = "pan-y";Pb.prototype = { set: function (a) {
1053
- a == Jb && (a = this.compute()), Ib && (this.manager.element.style[Hb] = a), this.actions = a.toLowerCase().trim();
1054
- }, update: function () {
1055
- this.set(this.manager.options.touchAction);
1056
- }, compute: function () {
1057
- var a = [];return m(this.manager.recognizers, function (b) {
1058
- r(b.options.enable, [b]) && (a = a.concat(b.getTouchAction()));
1059
- }), Qb(a.join(" "));
1060
- }, preventDefaults: function (a) {
1061
- if (!Ib) {
1062
- var b = a.srcEvent,
1063
- c = a.offsetDirection;if (this.manager.session.prevented) return b.preventDefault(), void 0;var d = this.actions,
1064
- e = w(d, Mb),
1065
- f = w(d, Ob),
1066
- g = w(d, Nb);return e || f && c & X || g && c & Y ? this.preventSrc(b) : void 0;
1067
- }
1068
- }, preventSrc: function (a) {
1069
- this.manager.session.prevented = !0, a.preventDefault();
1070
- } };var Rb = 1,
1071
- Sb = 2,
1072
- Tb = 4,
1073
- Ub = 8,
1074
- Vb = Ub,
1075
- Wb = 16,
1076
- Xb = 32;Yb.prototype = { defaults: {}, set: function (a) {
1077
- return n(this.options, a), this.manager && this.manager.touchAction.update(), this;
1078
- }, recognizeWith: function (a) {
1079
- if (l(a, "recognizeWith", this)) return this;var b = this.simultaneous;return a = _b(a, this), b[a.id] || (b[a.id] = a, a.recognizeWith(this)), this;
1080
- }, dropRecognizeWith: function (a) {
1081
- return l(a, "dropRecognizeWith", this) ? this : (a = _b(a, this), delete this.simultaneous[a.id], this);
1082
- }, requireFailure: function (a) {
1083
- if (l(a, "requireFailure", this)) return this;var b = this.requireFail;return a = _b(a, this), -1 === y(b, a) && (b.push(a), a.requireFailure(this)), this;
1084
- }, dropRequireFailure: function (a) {
1085
- if (l(a, "dropRequireFailure", this)) return this;a = _b(a, this);var b = y(this.requireFail, a);return b > -1 && this.requireFail.splice(b, 1), this;
1086
- }, hasRequireFailures: function () {
1087
- return this.requireFail.length > 0;
1088
- }, canRecognizeWith: function (a) {
1089
- return !!this.simultaneous[a.id];
1090
- }, emit: function (a) {
1091
- function d(d) {
1092
- b.manager.emit(b.options.event + (d ? Zb(c) : ""), a);
1093
- }var b = this,
1094
- c = this.state;Ub > c && d(!0), d(), c >= Ub && d(!0);
1095
- }, tryEmit: function (a) {
1096
- return this.canEmit() ? this.emit(a) : (this.state = Xb, void 0);
1097
- }, canEmit: function () {
1098
- for (var a = 0; a < this.requireFail.length;) {
1099
- if (!(this.requireFail[a].state & (Xb | Rb))) return !1;a++;
1100
- }return !0;
1101
- }, recognize: function (a) {
1102
- var b = n({}, a);return r(this.options.enable, [this, b]) ? (this.state & (Vb | Wb | Xb) && (this.state = Rb), this.state = this.process(b), this.state & (Sb | Tb | Ub | Wb) && this.tryEmit(b), void 0) : (this.reset(), this.state = Xb, void 0);
1103
- }, process: function () {}, getTouchAction: function () {}, reset: function () {} }, p(ac, Yb, { defaults: { pointers: 1 }, attrTest: function (a) {
1104
- var b = this.options.pointers;return 0 === b || a.pointers.length === b;
1105
- }, process: function (a) {
1106
- var b = this.state,
1107
- c = a.eventType,
1108
- d = b & (Sb | Tb),
1109
- e = this.attrTest(a);return d && (c & R || !e) ? b | Wb : d || e ? c & Q ? b | Ub : b & Sb ? b | Tb : Sb : Xb;
1110
- } }), p(bc, ac, { defaults: { event: "pan", threshold: 10, pointers: 1, direction: Z }, getTouchAction: function () {
1111
- var a = this.options.direction,
1112
- b = [];return a & X && b.push(Ob), a & Y && b.push(Nb), b;
1113
- }, directionTest: function (a) {
1114
- var b = this.options,
1115
- c = !0,
1116
- d = a.distance,
1117
- e = a.direction,
1118
- f = a.deltaX,
1119
- g = a.deltaY;return e & b.direction || (b.direction & X ? (e = 0 === f ? S : 0 > f ? T : U, c = f != this.pX, d = Math.abs(a.deltaX)) : (e = 0 === g ? S : 0 > g ? V : W, c = g != this.pY, d = Math.abs(a.deltaY))), a.direction = e, c && d > b.threshold && e & b.direction;
1120
- }, attrTest: function (a) {
1121
- return ac.prototype.attrTest.call(this, a) && (this.state & Sb || !(this.state & Sb) && this.directionTest(a));
1122
- }, emit: function (a) {
1123
- this.pX = a.deltaX, this.pY = a.deltaY;var b = $b(a.direction);b && this.manager.emit(this.options.event + b, a), this._super.emit.call(this, a);
1124
- } }), p(cc, ac, { defaults: { event: "pinch", threshold: 0, pointers: 2 }, getTouchAction: function () {
1125
- return [Mb];
1126
- }, attrTest: function (a) {
1127
- return this._super.attrTest.call(this, a) && (Math.abs(a.scale - 1) > this.options.threshold || this.state & Sb);
1128
- }, emit: function (a) {
1129
- if (this._super.emit.call(this, a), 1 !== a.scale) {
1130
- var b = a.scale < 1 ? "in" : "out";this.manager.emit(this.options.event + b, a);
1131
- }
1132
- } }), p(dc, Yb, { defaults: { event: "press", pointers: 1, time: 500, threshold: 5 }, getTouchAction: function () {
1133
- return [Kb];
1134
- }, process: function (a) {
1135
- var b = this.options,
1136
- c = a.pointers.length === b.pointers,
1137
- d = a.distance < b.threshold,
1138
- e = a.deltaTime > b.time;if (this._input = a, !d || !c || a.eventType & (Q | R) && !e) this.reset();else if (a.eventType & O) this.reset(), this._timer = k(function () {
1139
- this.state = Vb, this.tryEmit();
1140
- }, b.time, this);else if (a.eventType & Q) return Vb;return Xb;
1141
- }, reset: function () {
1142
- clearTimeout(this._timer);
1143
- }, emit: function (a) {
1144
- this.state === Vb && (a && a.eventType & Q ? this.manager.emit(this.options.event + "up", a) : (this._input.timeStamp = j(), this.manager.emit(this.options.event, this._input)));
1145
- } }), p(ec, ac, { defaults: { event: "rotate", threshold: 0, pointers: 2 }, getTouchAction: function () {
1146
- return [Mb];
1147
- }, attrTest: function (a) {
1148
- return this._super.attrTest.call(this, a) && (Math.abs(a.rotation) > this.options.threshold || this.state & Sb);
1149
- } }), p(fc, ac, { defaults: { event: "swipe", threshold: 10, velocity: .65, direction: X | Y, pointers: 1 }, getTouchAction: function () {
1150
- return bc.prototype.getTouchAction.call(this);
1151
- }, attrTest: function (a) {
1152
- var c,
1153
- b = this.options.direction;return b & (X | Y) ? c = a.velocity : b & X ? c = a.velocityX : b & Y && (c = a.velocityY), this._super.attrTest.call(this, a) && b & a.direction && a.distance > this.options.threshold && i(c) > this.options.velocity && a.eventType & Q;
1154
- }, emit: function (a) {
1155
- var b = $b(a.direction);b && this.manager.emit(this.options.event + b, a), this.manager.emit(this.options.event, a);
1156
- } }), p(gc, Yb, { defaults: { event: "tap", pointers: 1, taps: 1, interval: 300, time: 250, threshold: 2, posThreshold: 10 }, getTouchAction: function () {
1157
- return [Lb];
1158
- }, process: function (a) {
1159
- var b = this.options,
1160
- c = a.pointers.length === b.pointers,
1161
- d = a.distance < b.threshold,
1162
- e = a.deltaTime < b.time;if (this.reset(), a.eventType & O && 0 === this.count) return this.failTimeout();if (d && e && c) {
1163
- if (a.eventType != Q) return this.failTimeout();var f = this.pTime ? a.timeStamp - this.pTime < b.interval : !0,
1164
- g = !this.pCenter || kb(this.pCenter, a.center) < b.posThreshold;this.pTime = a.timeStamp, this.pCenter = a.center, g && f ? this.count += 1 : this.count = 1, this._input = a;var h = this.count % b.taps;if (0 === h) return this.hasRequireFailures() ? (this._timer = k(function () {
1165
- this.state = Vb, this.tryEmit();
1166
- }, b.interval, this), Sb) : Vb;
1167
- }return Xb;
1168
- }, failTimeout: function () {
1169
- return this._timer = k(function () {
1170
- this.state = Xb;
1171
- }, this.options.interval, this), Xb;
1172
- }, reset: function () {
1173
- clearTimeout(this._timer);
1174
- }, emit: function () {
1175
- this.state == Vb && (this._input.tapCount = this.count, this.manager.emit(this.options.event, this._input));
1176
- } }), hc.VERSION = "2.0.4", hc.defaults = { domEvents: !1, touchAction: Jb, enable: !0, inputTarget: null, inputClass: null, preset: [[ec, { enable: !1 }], [cc, { enable: !1 }, ["rotate"]], [fc, { direction: X }], [bc, { direction: X }, ["swipe"]], [gc], [gc, { event: "doubletap", taps: 2 }, ["tap"]], [dc]], cssProps: { userSelect: "default", touchSelect: "none", touchCallout: "none", contentZooming: "none", userDrag: "none", tapHighlightColor: "rgba(0,0,0,0)" } };var ic = 1,
1177
- jc = 2;kc.prototype = { set: function (a) {
1178
- return n(this.options, a), a.touchAction && this.touchAction.update(), a.inputTarget && (this.input.destroy(), this.input.target = a.inputTarget, this.input.init()), this;
1179
- }, stop: function (a) {
1180
- this.session.stopped = a ? jc : ic;
1181
- }, recognize: function (a) {
1182
- var b = this.session;if (!b.stopped) {
1183
- this.touchAction.preventDefaults(a);var c,
1184
- d = this.recognizers,
1185
- e = b.curRecognizer;(!e || e && e.state & Vb) && (e = b.curRecognizer = null);for (var f = 0; f < d.length;) {
1186
- c = d[f], b.stopped === jc || e && c != e && !c.canRecognizeWith(e) ? c.reset() : c.recognize(a), !e && c.state & (Sb | Tb | Ub) && (e = b.curRecognizer = c), f++;
1187
- }
1188
- }
1189
- }, get: function (a) {
1190
- if (a instanceof Yb) return a;for (var b = this.recognizers, c = 0; c < b.length; c++) {
1191
- if (b[c].options.event == a) return b[c];
1192
- }return null;
1193
- }, add: function (a) {
1194
- if (l(a, "add", this)) return this;var b = this.get(a.options.event);return b && this.remove(b), this.recognizers.push(a), a.manager = this, this.touchAction.update(), a;
1195
- }, remove: function (a) {
1196
- if (l(a, "remove", this)) return this;var b = this.recognizers;return a = this.get(a), b.splice(y(b, a), 1), this.touchAction.update(), this;
1197
- }, on: function (a, b) {
1198
- var c = this.handlers;return m(x(a), function (a) {
1199
- c[a] = c[a] || [], c[a].push(b);
1200
- }), this;
1201
- }, off: function (a, b) {
1202
- var c = this.handlers;return m(x(a), function (a) {
1203
- b ? c[a].splice(y(c[a], b), 1) : delete c[a];
1204
- }), this;
1205
- }, emit: function (a, b) {
1206
- this.options.domEvents && mc(a, b);var c = this.handlers[a] && this.handlers[a].slice();if (c && c.length) {
1207
- b.type = a, b.preventDefault = function () {
1208
- b.srcEvent.preventDefault();
1209
- };for (var d = 0; d < c.length;) {
1210
- c[d](b), d++;
1211
- }
1212
- }
1213
- }, destroy: function () {
1214
- this.element && lc(this, !1), this.handlers = {}, this.session = {}, this.input.destroy(), this.element = null;
1215
- } }, n(hc, { INPUT_START: O, INPUT_MOVE: P, INPUT_END: Q, INPUT_CANCEL: R, STATE_POSSIBLE: Rb, STATE_BEGAN: Sb, STATE_CHANGED: Tb, STATE_ENDED: Ub, STATE_RECOGNIZED: Vb, STATE_CANCELLED: Wb, STATE_FAILED: Xb, DIRECTION_NONE: S, DIRECTION_LEFT: T, DIRECTION_RIGHT: U, DIRECTION_UP: V, DIRECTION_DOWN: W, DIRECTION_HORIZONTAL: X, DIRECTION_VERTICAL: Y, DIRECTION_ALL: Z, Manager: kc, Input: ab, TouchAction: Pb, TouchInput: Eb, MouseInput: rb, PointerEventInput: wb, TouchMouseInput: Gb, SingleTouchInput: Ab, Recognizer: Yb, AttrRecognizer: ac, Tap: gc, Pan: bc, Swipe: fc, Pinch: cc, Rotate: ec, Press: dc, on: t, off: u, each: m, merge: o, extend: n, inherit: p, bindFn: q, prefixed: B }), typeof define == g && define.amd ? define(function () {
1216
- return hc;
1217
- }) : "undefined" != typeof module && module.exports ? module.exports = hc : a[c] = hc;
1218
- }(window, document, "Hammer");;(function (factory) {
1219
- if (typeof define === 'function' && define.amd) {
1220
- define(['jquery', 'hammerjs'], factory);
1221
- } else if (typeof exports === 'object') {
1222
- factory(require('jquery'), require('hammerjs'));
1223
- } else {
1224
- factory(jQuery, Hammer);
1225
- }
1226
- })(function ($, Hammer) {
1227
- function hammerify(el, options) {
1228
- var $el = $(el);
1229
- if (!$el.data("hammer")) {
1230
- $el.data("hammer", new Hammer($el[0], options));
1231
- }
1232
- }
1233
-
1234
- $.fn.hammer = function (options) {
1235
- return this.each(function () {
1236
- hammerify(this, options);
1237
- });
1238
- };
1239
-
1240
- // extend the emit method to also trigger jQuery events
1241
- Hammer.Manager.prototype.emit = function (originalEmit) {
1242
- return function (type, data) {
1243
- originalEmit.call(this, type, data);
1244
- $(this.element).trigger({
1245
- type: type,
1246
- gesture: data
1247
- });
1248
- };
1249
- }(Hammer.Manager.prototype.emit);
1250
- });
1251
- ; // Required for Meteor package, the use of window prevents export by Meteor
1252
- (function (window) {
1253
- if (window.Package) {
1254
- Materialize = {};
1255
- } else {
1256
- window.Materialize = {};
1257
- }
1258
- })(window);
1259
-
1260
- if (typeof exports !== 'undefined' && !exports.nodeType) {
1261
- if (typeof module !== 'undefined' && !module.nodeType && module.exports) {
1262
- exports = module.exports = Materialize;
1263
- }
1264
- exports.default = Materialize;
1265
- }
1266
-
1267
- /*
1268
- * raf.js
1269
- * https://github.com/ngryman/raf.js
1270
- *
1271
- * original requestAnimationFrame polyfill by Erik Möller
1272
- * inspired from paul_irish gist and post
1273
- *
1274
- * Copyright (c) 2013 ngryman
1275
- * Licensed under the MIT license.
1276
- */
1277
- (function (window) {
1278
- var lastTime = 0,
1279
- vendors = ['webkit', 'moz'],
1280
- requestAnimationFrame = window.requestAnimationFrame,
1281
- cancelAnimationFrame = window.cancelAnimationFrame,
1282
- i = vendors.length;
1283
-
1284
- // try to un-prefix existing raf
1285
- while (--i >= 0 && !requestAnimationFrame) {
1286
- requestAnimationFrame = window[vendors[i] + 'RequestAnimationFrame'];
1287
- cancelAnimationFrame = window[vendors[i] + 'CancelRequestAnimationFrame'];
1288
- }
1289
-
1290
- // polyfill with setTimeout fallback
1291
- // heavily inspired from @darius gist mod: https://gist.github.com/paulirish/1579671#comment-837945
1292
- if (!requestAnimationFrame || !cancelAnimationFrame) {
1293
- requestAnimationFrame = function (callback) {
1294
- var now = +Date.now(),
1295
- nextTime = Math.max(lastTime + 16, now);
1296
- return setTimeout(function () {
1297
- callback(lastTime = nextTime);
1298
- }, nextTime - now);
1299
- };
1300
-
1301
- cancelAnimationFrame = clearTimeout;
1302
- }
1303
-
1304
- // export to window
1305
- window.requestAnimationFrame = requestAnimationFrame;
1306
- window.cancelAnimationFrame = cancelAnimationFrame;
1307
- })(window);
1308
-
1309
- /**
1310
- * Generate approximated selector string for a jQuery object
1311
- * @param {jQuery} obj jQuery object to be parsed
1312
- * @returns {string}
1313
- */
1314
- Materialize.objectSelectorString = function (obj) {
1315
- var tagStr = obj.prop('tagName') || '';
1316
- var idStr = obj.attr('id') || '';
1317
- var classStr = obj.attr('class') || '';
1318
- return (tagStr + idStr + classStr).replace(/\s/g, '');
1319
- };
1320
-
1321
- // Unique Random ID
1322
- Materialize.guid = function () {
1323
- function s4() {
1324
- return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
1325
- }
1326
- return function () {
1327
- return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();
1328
- };
1329
- }();
1330
-
1331
- /**
1332
- * Escapes hash from special characters
1333
- * @param {string} hash String returned from this.hash
1334
- * @returns {string}
1335
- */
1336
- Materialize.escapeHash = function (hash) {
1337
- return hash.replace(/(:|\.|\[|\]|,|=)/g, "\\$1");
1338
- };
1339
-
1340
- Materialize.elementOrParentIsFixed = function (element) {
1341
- var $element = $(element);
1342
- var $checkElements = $element.add($element.parents());
1343
- var isFixed = false;
1344
- $checkElements.each(function () {
1345
- if ($(this).css("position") === "fixed") {
1346
- isFixed = true;
1347
- return false;
1348
- }
1349
- });
1350
- return isFixed;
1351
- };
1352
-
1353
- /**
1354
- * Get time in ms
1355
- * @license https://raw.github.com/jashkenas/underscore/master/LICENSE
1356
- * @type {function}
1357
- * @return {number}
1358
- */
1359
- var getTime = Date.now || function () {
1360
- return new Date().getTime();
1361
- };
1362
-
1363
- /**
1364
- * Returns a function, that, when invoked, will only be triggered at most once
1365
- * during a given window of time. Normally, the throttled function will run
1366
- * as much as it can, without ever going more than once per `wait` duration;
1367
- * but if you'd like to disable the execution on the leading edge, pass
1368
- * `{leading: false}`. To disable execution on the trailing edge, ditto.
1369
- * @license https://raw.github.com/jashkenas/underscore/master/LICENSE
1370
- * @param {function} func
1371
- * @param {number} wait
1372
- * @param {Object=} options
1373
- * @returns {Function}
1374
- */
1375
- Materialize.throttle = function (func, wait, options) {
1376
- var context, args, result;
1377
- var timeout = null;
1378
- var previous = 0;
1379
- options || (options = {});
1380
- var later = function () {
1381
- previous = options.leading === false ? 0 : getTime();
1382
- timeout = null;
1383
- result = func.apply(context, args);
1384
- context = args = null;
1385
- };
1386
- return function () {
1387
- var now = getTime();
1388
- if (!previous && options.leading === false) previous = now;
1389
- var remaining = wait - (now - previous);
1390
- context = this;
1391
- args = arguments;
1392
- if (remaining <= 0) {
1393
- clearTimeout(timeout);
1394
- timeout = null;
1395
- previous = now;
1396
- result = func.apply(context, args);
1397
- context = args = null;
1398
- } else if (!timeout && options.trailing !== false) {
1399
- timeout = setTimeout(later, remaining);
1400
- }
1401
- return result;
1402
- };
1403
- };
1404
-
1405
- // Velocity has conflicts when loaded with jQuery, this will check for it
1406
- // First, check if in noConflict mode
1407
- var Vel;
1408
- if (jQuery) {
1409
- Vel = jQuery.Velocity;
1410
- } else if ($) {
1411
- Vel = $.Velocity;
1412
- } else {
1413
- Vel = Velocity;
1414
- }
1415
-
1416
- if (Vel) {
1417
- Materialize.Vel = Vel;
1418
- } else {
1419
- Materialize.Vel = Velocity;
1420
- }
1421
- ;(function ($) {
1422
- $.fn.collapsible = function (options, methodParam) {
1423
- var defaults = {
1424
- accordion: undefined,
1425
- onOpen: undefined,
1426
- onClose: undefined
1427
- };
1428
-
1429
- var methodName = options;
1430
- options = $.extend(defaults, options);
1431
-
1432
- return this.each(function () {
1433
-
1434
- var $this = $(this);
1435
-
1436
- var $panel_headers = $(this).find('> li > .collapsible-header');
1437
-
1438
- var collapsible_type = $this.data("collapsible");
1439
-
1440
- /****************
1441
- Helper Functions
1442
- ****************/
1443
-
1444
- // Accordion Open
1445
- function accordionOpen(object) {
1446
- $panel_headers = $this.find('> li > .collapsible-header');
1447
- if (object.hasClass('active')) {
1448
- object.parent().addClass('active');
1449
- } else {
1450
- object.parent().removeClass('active');
1451
- }
1452
- if (object.parent().hasClass('active')) {
1453
- object.siblings('.collapsible-body').stop(true, false).slideDown({ duration: 350, easing: "easeOutQuart", queue: false, complete: function () {
1454
- $(this).css('height', '');
1455
- } });
1456
- } else {
1457
- object.siblings('.collapsible-body').stop(true, false).slideUp({ duration: 350, easing: "easeOutQuart", queue: false, complete: function () {
1458
- $(this).css('height', '');
1459
- } });
1460
- }
1461
-
1462
- $panel_headers.not(object).removeClass('active').parent().removeClass('active');
1463
-
1464
- // Close previously open accordion elements.
1465
- $panel_headers.not(object).parent().children('.collapsible-body').stop(true, false).each(function () {
1466
- if ($(this).is(':visible')) {
1467
- $(this).slideUp({
1468
- duration: 350,
1469
- easing: "easeOutQuart",
1470
- queue: false,
1471
- complete: function () {
1472
- $(this).css('height', '');
1473
- execCallbacks($(this).siblings('.collapsible-header'));
1474
- }
1475
- });
1476
- }
1477
- });
1478
- }
1479
-
1480
- // Expandable Open
1481
- function expandableOpen(object) {
1482
- if (object.hasClass('active')) {
1483
- object.parent().addClass('active');
1484
- } else {
1485
- object.parent().removeClass('active');
1486
- }
1487
- if (object.parent().hasClass('active')) {
1488
- object.siblings('.collapsible-body').stop(true, false).slideDown({ duration: 350, easing: "easeOutQuart", queue: false, complete: function () {
1489
- $(this).css('height', '');
1490
- } });
1491
- } else {
1492
- object.siblings('.collapsible-body').stop(true, false).slideUp({ duration: 350, easing: "easeOutQuart", queue: false, complete: function () {
1493
- $(this).css('height', '');
1494
- } });
1495
- }
1496
- }
1497
-
1498
- // Open collapsible. object: .collapsible-header
1499
- function collapsibleOpen(object, noToggle) {
1500
- if (!noToggle) {
1501
- object.toggleClass('active');
1502
- }
1503
-
1504
- if (options.accordion || collapsible_type === "accordion" || collapsible_type === undefined) {
1505
- // Handle Accordion
1506
- accordionOpen(object);
1507
- } else {
1508
- // Handle Expandables
1509
- expandableOpen(object);
1510
- }
1511
-
1512
- execCallbacks(object);
1513
- }
1514
-
1515
- // Handle callbacks
1516
- function execCallbacks(object) {
1517
- if (object.hasClass('active')) {
1518
- if (typeof options.onOpen === "function") {
1519
- options.onOpen.call(this, object.parent());
1520
- }
1521
- } else {
1522
- if (typeof options.onClose === "function") {
1523
- options.onClose.call(this, object.parent());
1524
- }
1525
- }
1526
- }
1527
-
1528
- /**
1529
- * Check if object is children of panel header
1530
- * @param {Object} object Jquery object
1531
- * @return {Boolean} true if it is children
1532
- */
1533
- function isChildrenOfPanelHeader(object) {
1534
-
1535
- var panelHeader = getPanelHeader(object);
1536
-
1537
- return panelHeader.length > 0;
1538
- }
1539
-
1540
- /**
1541
- * Get panel header from a children element
1542
- * @param {Object} object Jquery object
1543
- * @return {Object} panel header object
1544
- */
1545
- function getPanelHeader(object) {
1546
-
1547
- return object.closest('li > .collapsible-header');
1548
- }
1549
-
1550
- // Turn off any existing event handlers
1551
- function removeEventHandlers() {
1552
- $this.off('click.collapse', '> li > .collapsible-header');
1553
- }
1554
-
1555
- /***** End Helper Functions *****/
1556
-
1557
- // Methods
1558
- if (methodName === 'destroy') {
1559
- removeEventHandlers();
1560
- return;
1561
- } else if (methodParam >= 0 && methodParam < $panel_headers.length) {
1562
- var $curr_header = $panel_headers.eq(methodParam);
1563
- if ($curr_header.length && (methodName === 'open' || methodName === 'close' && $curr_header.hasClass('active'))) {
1564
- collapsibleOpen($curr_header);
1565
- }
1566
- return;
1567
- }
1568
-
1569
- removeEventHandlers();
1570
-
1571
- // Add click handler to only direct collapsible header children
1572
- $this.on('click.collapse', '> li > .collapsible-header', function (e) {
1573
- var element = $(e.target);
1574
-
1575
- if (isChildrenOfPanelHeader(element)) {
1576
- element = getPanelHeader(element);
1577
- }
1578
-
1579
- collapsibleOpen(element);
1580
- });
1581
-
1582
- // Open first active
1583
- if (options.accordion || collapsible_type === "accordion" || collapsible_type === undefined) {
1584
- // Handle Accordion
1585
- collapsibleOpen($panel_headers.filter('.active').first(), true);
1586
- } else {
1587
- // Handle Expandables
1588
- $panel_headers.filter('.active').each(function () {
1589
- collapsibleOpen($(this), true);
1590
- });
1591
- }
1592
- });
1593
- };
1594
-
1595
- $(document).ready(function () {
1596
- $('.collapsible').collapsible();
1597
- });
1598
- })(jQuery);;(function ($) {
1599
-
1600
- // Add posibility to scroll to selected option
1601
- // usefull for select for example
1602
- $.fn.scrollTo = function (elem) {
1603
- $(this).scrollTop($(this).scrollTop() - $(this).offset().top + $(elem).offset().top);
1604
- return this;
1605
- };
1606
-
1607
- $.fn.dropdown = function (options) {
1608
- var defaults = {
1609
- inDuration: 300,
1610
- outDuration: 225,
1611
- constrainWidth: true, // Constrains width of dropdown to the activator
1612
- hover: false,
1613
- gutter: 0, // Spacing from edge
1614
- belowOrigin: false,
1615
- alignment: 'left',
1616
- stopPropagation: false
1617
- };
1618
-
1619
- // Open dropdown.
1620
- if (options === "open") {
1621
- this.each(function () {
1622
- $(this).trigger('open');
1623
- });
1624
- return false;
1625
- }
1626
-
1627
- // Close dropdown.
1628
- if (options === "close") {
1629
- this.each(function () {
1630
- $(this).trigger('close');
1631
- });
1632
- return false;
1633
- }
1634
-
1635
- this.each(function () {
1636
- var origin = $(this);
1637
- var curr_options = $.extend({}, defaults, options);
1638
- var isFocused = false;
1639
-
1640
- // Dropdown menu
1641
- var activates = $("#" + origin.attr('data-activates'));
1642
-
1643
- function updateOptions() {
1644
- if (origin.data('induration') !== undefined) curr_options.inDuration = origin.data('induration');
1645
- if (origin.data('outduration') !== undefined) curr_options.outDuration = origin.data('outduration');
1646
- if (origin.data('constrainwidth') !== undefined) curr_options.constrainWidth = origin.data('constrainwidth');
1647
- if (origin.data('hover') !== undefined) curr_options.hover = origin.data('hover');
1648
- if (origin.data('gutter') !== undefined) curr_options.gutter = origin.data('gutter');
1649
- if (origin.data('beloworigin') !== undefined) curr_options.belowOrigin = origin.data('beloworigin');
1650
- if (origin.data('alignment') !== undefined) curr_options.alignment = origin.data('alignment');
1651
- if (origin.data('stoppropagation') !== undefined) curr_options.stopPropagation = origin.data('stoppropagation');
1652
- }
1653
-
1654
- updateOptions();
1655
-
1656
- // Attach dropdown to its activator
1657
- origin.after(activates);
1658
-
1659
- /*
1660
- Helper function to position and resize dropdown.
1661
- Used in hover and click handler.
1662
- */
1663
- function placeDropdown(eventType) {
1664
- // Check for simultaneous focus and click events.
1665
- if (eventType === 'focus') {
1666
- isFocused = true;
1667
- }
1668
-
1669
- // Check html data attributes
1670
- updateOptions();
1671
-
1672
- // Set Dropdown state
1673
- activates.addClass('active');
1674
- origin.addClass('active');
1675
-
1676
- var originWidth = origin[0].getBoundingClientRect().width;
1677
-
1678
- // Constrain width
1679
- if (curr_options.constrainWidth === true) {
1680
- activates.css('width', originWidth);
1681
- } else {
1682
- activates.css('white-space', 'nowrap');
1683
- }
1684
-
1685
- // Offscreen detection
1686
- var windowHeight = window.innerHeight;
1687
- var originHeight = origin.innerHeight();
1688
- var offsetLeft = origin.offset().left;
1689
- var offsetTop = origin.offset().top - $(window).scrollTop();
1690
- var currAlignment = curr_options.alignment;
1691
- var gutterSpacing = 0;
1692
- var leftPosition = 0;
1693
-
1694
- // Below Origin
1695
- var verticalOffset = 0;
1696
- if (curr_options.belowOrigin === true) {
1697
- verticalOffset = originHeight;
1698
- }
1699
-
1700
- // Check for scrolling positioned container.
1701
- var scrollYOffset = 0;
1702
- var scrollXOffset = 0;
1703
- var wrapper = origin.parent();
1704
- if (!wrapper.is('body')) {
1705
- if (wrapper[0].scrollHeight > wrapper[0].clientHeight) {
1706
- scrollYOffset = wrapper[0].scrollTop;
1707
- }
1708
- if (wrapper[0].scrollWidth > wrapper[0].clientWidth) {
1709
- scrollXOffset = wrapper[0].scrollLeft;
1710
- }
1711
- }
1712
-
1713
- if (offsetLeft + activates.innerWidth() > $(window).width()) {
1714
- // Dropdown goes past screen on right, force right alignment
1715
- currAlignment = 'right';
1716
- } else if (offsetLeft - activates.innerWidth() + origin.innerWidth() < 0) {
1717
- // Dropdown goes past screen on left, force left alignment
1718
- currAlignment = 'left';
1719
- }
1720
- // Vertical bottom offscreen detection
1721
- if (offsetTop + activates.innerHeight() > windowHeight) {
1722
- // If going upwards still goes offscreen, just crop height of dropdown.
1723
- if (offsetTop + originHeight - activates.innerHeight() < 0) {
1724
- var adjustedHeight = windowHeight - offsetTop - verticalOffset;
1725
- activates.css('max-height', adjustedHeight);
1726
- } else {
1727
- // Flow upwards.
1728
- if (!verticalOffset) {
1729
- verticalOffset += originHeight;
1730
- }
1731
- verticalOffset -= activates.innerHeight();
1732
- }
1733
- }
1734
-
1735
- // Handle edge alignment
1736
- if (currAlignment === 'left') {
1737
- gutterSpacing = curr_options.gutter;
1738
- leftPosition = origin.position().left + gutterSpacing;
1739
- } else if (currAlignment === 'right') {
1740
- // Material icons fix
1741
- activates.stop(true, true).css({
1742
- opacity: 0,
1743
- left: 0
1744
- });
1745
-
1746
- var offsetRight = origin.position().left + originWidth - activates.width();
1747
- gutterSpacing = -curr_options.gutter;
1748
- leftPosition = offsetRight + gutterSpacing;
1749
- }
1750
-
1751
- // Position dropdown
1752
- activates.css({
1753
- position: 'absolute',
1754
- top: origin.position().top + verticalOffset + scrollYOffset,
1755
- left: leftPosition + scrollXOffset
1756
- });
1757
-
1758
- // Show dropdown
1759
- activates.slideDown({
1760
- queue: false,
1761
- duration: curr_options.inDuration,
1762
- easing: 'easeOutCubic',
1763
- complete: function () {
1764
- $(this).css('height', '');
1765
- }
1766
- }).animate({ opacity: 1 }, { queue: false, duration: curr_options.inDuration, easing: 'easeOutSine' });
1767
-
1768
- // Add click close handler to document
1769
- setTimeout(function () {
1770
- $(document).on('click.' + activates.attr('id'), function (e) {
1771
- hideDropdown();
1772
- $(document).off('click.' + activates.attr('id'));
1773
- });
1774
- }, 0);
1775
- }
1776
-
1777
- function hideDropdown() {
1778
- // Check for simultaneous focus and click events.
1779
- isFocused = false;
1780
- activates.fadeOut(curr_options.outDuration);
1781
- activates.removeClass('active');
1782
- origin.removeClass('active');
1783
- $(document).off('click.' + activates.attr('id'));
1784
- setTimeout(function () {
1785
- activates.css('max-height', '');
1786
- }, curr_options.outDuration);
1787
- }
1788
-
1789
- // Hover
1790
- if (curr_options.hover) {
1791
- var open = false;
1792
- origin.off('click.' + origin.attr('id'));
1793
- // Hover handler to show dropdown
1794
- origin.on('mouseenter', function (e) {
1795
- // Mouse over
1796
- if (open === false) {
1797
- placeDropdown();
1798
- open = true;
1799
- }
1800
- });
1801
- origin.on('mouseleave', function (e) {
1802
- // If hover on origin then to something other than dropdown content, then close
1803
- var toEl = e.toElement || e.relatedTarget; // added browser compatibility for target element
1804
- if (!$(toEl).closest('.dropdown-content').is(activates)) {
1805
- activates.stop(true, true);
1806
- hideDropdown();
1807
- open = false;
1808
- }
1809
- });
1810
-
1811
- activates.on('mouseleave', function (e) {
1812
- // Mouse out
1813
- var toEl = e.toElement || e.relatedTarget;
1814
- if (!$(toEl).closest('.dropdown-button').is(origin)) {
1815
- activates.stop(true, true);
1816
- hideDropdown();
1817
- open = false;
1818
- }
1819
- });
1820
-
1821
- // Click
1822
- } else {
1823
- // Click handler to show dropdown
1824
- origin.off('click.' + origin.attr('id'));
1825
- origin.on('click.' + origin.attr('id'), function (e) {
1826
- if (!isFocused) {
1827
- if (origin[0] == e.currentTarget && !origin.hasClass('active') && $(e.target).closest('.dropdown-content').length === 0) {
1828
- e.preventDefault(); // Prevents button click from moving window
1829
- if (curr_options.stopPropagation) {
1830
- e.stopPropagation();
1831
- }
1832
- placeDropdown('click');
1833
- }
1834
- // If origin is clicked and menu is open, close menu
1835
- else if (origin.hasClass('active')) {
1836
- hideDropdown();
1837
- $(document).off('click.' + activates.attr('id'));
1838
- }
1839
- }
1840
- });
1841
- } // End else
1842
-
1843
- // Listen to open and close event - useful for select component
1844
- origin.on('open', function (e, eventType) {
1845
- placeDropdown(eventType);
1846
- });
1847
- origin.on('close', hideDropdown);
1848
- });
1849
- }; // End dropdown plugin
1850
-
1851
- $(document).ready(function () {
1852
- $('.dropdown-button').dropdown();
1853
- });
1854
- })(jQuery);
1855
- ;(function ($, Vel) {
1856
- 'use strict';
1857
-
1858
- var _defaults = {
1859
- opacity: 0.5,
1860
- inDuration: 250,
1861
- outDuration: 250,
1862
- ready: undefined,
1863
- complete: undefined,
1864
- dismissible: true,
1865
- startingTop: '4%',
1866
- endingTop: '10%'
1867
- };
1868
-
1869
- /**
1870
- * @class
1871
- *
1872
- */
1873
-
1874
- var Modal = function () {
1875
- /**
1876
- * Construct Modal instance and set up overlay
1877
- * @constructor
1878
- * @param {jQuery} $el
1879
- * @param {Object} options
1880
- */
1881
- function Modal($el, options) {
1882
- _classCallCheck(this, Modal);
1883
-
1884
- // If exists, destroy and reinitialize
1885
- if (!!$el[0].M_Modal) {
1886
- $el[0].M_Modal.destroy();
1887
- }
1888
-
1889
- /**
1890
- * The jQuery element
1891
- * @type {jQuery}
1892
- */
1893
- this.$el = $el;
1894
-
1895
- /**
1896
- * Options for the modal
1897
- * @member Modal#options
1898
- * @prop {Number} [opacity=0.5] - Opacity of the modal overlay
1899
- * @prop {Number} [inDuration=250] - Length in ms of enter transition
1900
- * @prop {Number} [outDuration=250] - Length in ms of exit transition
1901
- * @prop {Function} ready - Callback function called when modal is finished entering
1902
- * @prop {Function} complete - Callback function called when modal is finished exiting
1903
- * @prop {Boolean} [dismissible=true] - Allow modal to be dismissed by keyboard or overlay click
1904
- * @prop {String} [startingTop='4%'] - startingTop
1905
- * @prop {String} [endingTop='10%'] - endingTop
1906
- */
1907
- this.options = $.extend({}, Modal.defaults, options);
1908
-
1909
- /**
1910
- * Describes open/close state of modal
1911
- * @type {Boolean}
1912
- */
1913
- this.isOpen = false;
1914
-
1915
- this.$el[0].M_Modal = this;
1916
- this.id = $el.attr('id');
1917
- this.openingTrigger = undefined;
1918
- this.$overlay = $('<div class="modal-overlay"></div>');
1919
-
1920
- Modal._increment++;
1921
- Modal._count++;
1922
- this.$overlay[0].style.zIndex = 1000 + Modal._increment * 2;
1923
- this.$el[0].style.zIndex = 1000 + Modal._increment * 2 + 1;
1924
- this.setupEventHandlers();
1925
- }
1926
-
1927
- _createClass(Modal, [{
1928
- key: 'getInstance',
1929
-
1930
-
1931
- /**
1932
- * Get Instance
1933
- */
1934
- value: function getInstance() {
1935
- return this;
1936
- }
1937
-
1938
- /**
1939
- * Teardown component
1940
- */
1941
-
1942
- }, {
1943
- key: 'destroy',
1944
- value: function destroy() {
1945
- this.removeEventHandlers();
1946
- this.$el[0].removeAttribute('style');
1947
- if (!!this.$overlay[0].parentNode) {
1948
- this.$overlay[0].parentNode.removeChild(this.$overlay[0]);
1949
- }
1950
- this.$el[0].M_Modal = undefined;
1951
- Modal._count--;
1952
- }
1953
-
1954
- /**
1955
- * Setup Event Handlers
1956
- */
1957
-
1958
- }, {
1959
- key: 'setupEventHandlers',
1960
- value: function setupEventHandlers() {
1961
- this.handleOverlayClickBound = this.handleOverlayClick.bind(this);
1962
- this.handleModalCloseClickBound = this.handleModalCloseClick.bind(this);
1963
-
1964
- if (Modal._count === 1) {
1965
- document.body.addEventListener('click', this.handleTriggerClick);
1966
- }
1967
- this.$overlay[0].addEventListener('click', this.handleOverlayClickBound);
1968
- this.$el[0].addEventListener('click', this.handleModalCloseClickBound);
1969
- }
1970
-
1971
- /**
1972
- * Remove Event Handlers
1973
- */
1974
-
1975
- }, {
1976
- key: 'removeEventHandlers',
1977
- value: function removeEventHandlers() {
1978
- if (Modal._count === 0) {
1979
- document.body.removeEventListener('click', this.handleTriggerClick);
1980
- }
1981
- this.$overlay[0].removeEventListener('click', this.handleOverlayClickBound);
1982
- this.$el[0].removeEventListener('click', this.handleModalCloseClickBound);
1983
- }
1984
-
1985
- /**
1986
- * Handle Trigger Click
1987
- * @param {Event} e
1988
- */
1989
-
1990
- }, {
1991
- key: 'handleTriggerClick',
1992
- value: function handleTriggerClick(e) {
1993
- var $trigger = $(e.target).closest('.modal-trigger');
1994
- if (e.target && $trigger.length) {
1995
- var modalId = $trigger[0].getAttribute('href');
1996
- if (modalId) {
1997
- modalId = modalId.slice(1);
1998
- } else {
1999
- modalId = $trigger[0].getAttribute('data-target');
2000
- }
2001
- var modalInstance = document.getElementById(modalId).M_Modal;
2002
- if (modalInstance) {
2003
- modalInstance.open($trigger);
2004
- }
2005
- e.preventDefault();
2006
- }
2007
- }
2008
-
2009
- /**
2010
- * Handle Overlay Click
2011
- */
2012
-
2013
- }, {
2014
- key: 'handleOverlayClick',
2015
- value: function handleOverlayClick() {
2016
- if (this.options.dismissible) {
2017
- this.close();
2018
- }
2019
- }
2020
-
2021
- /**
2022
- * Handle Modal Close Click
2023
- * @param {Event} e
2024
- */
2025
-
2026
- }, {
2027
- key: 'handleModalCloseClick',
2028
- value: function handleModalCloseClick(e) {
2029
- var $closeTrigger = $(e.target).closest('.modal-close');
2030
- if (e.target && $closeTrigger.length) {
2031
- this.close();
2032
- }
2033
- }
2034
-
2035
- /**
2036
- * Handle Keydown
2037
- * @param {Event} e
2038
- */
2039
-
2040
- }, {
2041
- key: 'handleKeydown',
2042
- value: function handleKeydown(e) {
2043
- // ESC key
2044
- if (e.keyCode === 27 && this.options.dismissible) {
2045
- this.close();
2046
- }
2047
- }
2048
-
2049
- /**
2050
- * Animate in modal
2051
- */
2052
-
2053
- }, {
2054
- key: 'animateIn',
2055
- value: function animateIn() {
2056
- var _this = this;
2057
-
2058
- // Set initial styles
2059
- $.extend(this.$el[0].style, {
2060
- display: 'block',
2061
- opacity: 0
2062
- });
2063
- $.extend(this.$overlay[0].style, {
2064
- display: 'block',
2065
- opacity: 0
2066
- });
2067
-
2068
- // Animate overlay
2069
- Vel(this.$overlay[0], { opacity: this.options.opacity }, { duration: this.options.inDuration, queue: false, ease: 'easeOutCubic' });
2070
-
2071
- // Define modal animation options
2072
- var enterVelocityOptions = {
2073
- duration: this.options.inDuration,
2074
- queue: false,
2075
- ease: 'easeOutCubic',
2076
- // Handle modal ready callback
2077
- complete: function () {
2078
- if (typeof _this.options.ready === 'function') {
2079
- _this.options.ready.call(_this, _this.$el, _this.openingTrigger);
2080
- }
2081
- }
2082
- };
2083
-
2084
- // Bottom sheet animation
2085
- if (this.$el[0].classList.contains('bottom-sheet')) {
2086
- Vel(this.$el[0], { bottom: 0, opacity: 1 }, enterVelocityOptions);
2087
-
2088
- // Normal modal animation
2089
- } else {
2090
- Vel.hook(this.$el[0], 'scaleX', 0.7);
2091
- this.$el[0].style.top = this.options.startingTop;
2092
- Vel(this.$el[0], { top: this.options.endingTop, opacity: 1, scaleX: 1 }, enterVelocityOptions);
2093
- }
2094
- }
2095
-
2096
- /**
2097
- * Animate out modal
2098
- */
2099
-
2100
- }, {
2101
- key: 'animateOut',
2102
- value: function animateOut() {
2103
- var _this2 = this;
2104
-
2105
- // Animate overlay
2106
- Vel(this.$overlay[0], { opacity: 0 }, { duration: this.options.outDuration, queue: false, ease: 'easeOutQuart' });
2107
-
2108
- // Define modal animation options
2109
- var exitVelocityOptions = {
2110
- duration: this.options.outDuration,
2111
- queue: false,
2112
- ease: 'easeOutCubic',
2113
- // Handle modal ready callback
2114
- complete: function () {
2115
- _this2.$el[0].style.display = 'none';
2116
- // Call complete callback
2117
- if (typeof _this2.options.complete === 'function') {
2118
- _this2.options.complete.call(_this2, _this2.$el);
2119
- }
2120
- _this2.$overlay[0].parentNode.removeChild(_this2.$overlay[0]);
2121
- }
2122
- };
2123
-
2124
- // Bottom sheet animation
2125
- if (this.$el[0].classList.contains('bottom-sheet')) {
2126
- Vel(this.$el[0], { bottom: '-100%', opacity: 0 }, exitVelocityOptions);
2127
-
2128
- // Normal modal animation
2129
- } else {
2130
- Vel(this.$el[0], { top: this.options.startingTop, opacity: 0, scaleX: 0.7 }, exitVelocityOptions);
2131
- }
2132
- }
2133
-
2134
- /**
2135
- * Open Modal
2136
- * @param {jQuery} [$trigger]
2137
- */
2138
-
2139
- }, {
2140
- key: 'open',
2141
- value: function open($trigger) {
2142
- if (this.isOpen) {
2143
- return;
2144
- }
2145
-
2146
- this.isOpen = true;
2147
- var body = document.body;
2148
- body.style.overflow = 'hidden';
2149
- this.$el[0].classList.add('open');
2150
- body.appendChild(this.$overlay[0]);
2151
-
2152
- // Set opening trigger, undefined indicates modal was opened by javascript
2153
- this.openingTrigger = !!$trigger ? $trigger : undefined;
2154
-
2155
- if (this.options.dismissible) {
2156
- this.handleKeydownBound = this.handleKeydown.bind(this);
2157
- document.addEventListener('keydown', this.handleKeydownBound);
2158
- }
2159
-
2160
- this.animateIn();
2161
-
2162
- return this;
2163
- }
2164
-
2165
- /**
2166
- * Close Modal
2167
- */
2168
-
2169
- }, {
2170
- key: 'close',
2171
- value: function close() {
2172
- if (!this.isOpen) {
2173
- return;
2174
- }
2175
-
2176
- this.isOpen = false;
2177
- this.$el[0].classList.remove('open');
2178
- document.body.style.overflow = '';
2179
-
2180
- if (this.options.dismissible) {
2181
- document.removeEventListener('keydown', this.handleKeydownBound);
2182
- }
2183
-
2184
- this.animateOut();
2185
-
2186
- return this;
2187
- }
2188
- }], [{
2189
- key: 'init',
2190
- value: function init($els, options) {
2191
- var arr = [];
2192
- $els.each(function () {
2193
- arr.push(new Modal($(this), options));
2194
- });
2195
- return arr;
2196
- }
2197
- }, {
2198
- key: 'defaults',
2199
- get: function () {
2200
- return _defaults;
2201
- }
2202
- }]);
2203
-
2204
- return Modal;
2205
- }();
2206
-
2207
- /**
2208
- * @static
2209
- * @memberof Modal
2210
- */
2211
-
2212
-
2213
- Modal._increment = 0;
2214
-
2215
- /**
2216
- * @static
2217
- * @memberof Modal
2218
- */
2219
- Modal._count = 0;
2220
-
2221
- Materialize.Modal = Modal;
2222
-
2223
- $.fn.modal = function (methodOrOptions) {
2224
- // Call plugin method if valid method name is passed in
2225
- if (Modal.prototype[methodOrOptions]) {
2226
- // Getter methods
2227
- if (methodOrOptions.slice(0, 3) === 'get') {
2228
- return this.first()[0].M_Modal[methodOrOptions]();
2229
-
2230
- // Void methods
2231
- } else {
2232
- return this.each(function () {
2233
- this.M_Modal[methodOrOptions]();
2234
- });
2235
- }
2236
-
2237
- // Initialize plugin if options or no argument is passed in
2238
- } else if (typeof methodOrOptions === 'object' || !methodOrOptions) {
2239
- Modal.init(this, arguments[0]);
2240
- return this;
2241
-
2242
- // Return error if an unrecognized method name is passed in
2243
- } else {
2244
- $.error('Method ' + methodOrOptions + ' does not exist on jQuery.modal');
2245
- }
2246
- };
2247
- })(jQuery, Materialize.Vel);
2248
- ;(function ($) {
2249
-
2250
- $.fn.materialbox = function () {
2251
-
2252
- return this.each(function () {
2253
-
2254
- if ($(this).hasClass('initialized')) {
2255
- return;
2256
- }
2257
-
2258
- $(this).addClass('initialized');
2259
-
2260
- var overlayActive = false;
2261
- var doneAnimating = true;
2262
- var inDuration = 275;
2263
- var outDuration = 200;
2264
- var origin = $(this);
2265
- var placeholder = $('<div></div>').addClass('material-placeholder');
2266
- var originalWidth = 0;
2267
- var originalHeight = 0;
2268
- var ancestorsChanged;
2269
- var ancestor;
2270
- var originInlineStyles = origin.attr('style');
2271
- origin.wrap(placeholder);
2272
-
2273
- // Start click handler
2274
- origin.on('click', function () {
2275
- var placeholder = origin.parent('.material-placeholder');
2276
- var windowWidth = window.innerWidth;
2277
- var windowHeight = window.innerHeight;
2278
- var originalWidth = origin.width();
2279
- var originalHeight = origin.height();
2280
-
2281
- // If already modal, return to original
2282
- if (doneAnimating === false) {
2283
- returnToOriginal();
2284
- return false;
2285
- } else if (overlayActive && doneAnimating === true) {
2286
- returnToOriginal();
2287
- return false;
2288
- }
2289
-
2290
- // Set states
2291
- doneAnimating = false;
2292
- origin.addClass('active');
2293
- overlayActive = true;
2294
-
2295
- // Set positioning for placeholder
2296
- placeholder.css({
2297
- width: placeholder[0].getBoundingClientRect().width,
2298
- height: placeholder[0].getBoundingClientRect().height,
2299
- position: 'relative',
2300
- top: 0,
2301
- left: 0
2302
- });
2303
-
2304
- // Find ancestor with overflow: hidden; and remove it
2305
- ancestorsChanged = undefined;
2306
- ancestor = placeholder[0].parentNode;
2307
- var count = 0;
2308
- while (ancestor !== null && !$(ancestor).is(document)) {
2309
- var curr = $(ancestor);
2310
- if (curr.css('overflow') !== 'visible') {
2311
- curr.css('overflow', 'visible');
2312
- if (ancestorsChanged === undefined) {
2313
- ancestorsChanged = curr;
2314
- } else {
2315
- ancestorsChanged = ancestorsChanged.add(curr);
2316
- }
2317
- }
2318
- ancestor = ancestor.parentNode;
2319
- }
2320
-
2321
- // Set css on origin
2322
- origin.css({
2323
- position: 'absolute',
2324
- 'z-index': 1000,
2325
- 'will-change': 'left, top, width, height'
2326
- }).data('width', originalWidth).data('height', originalHeight);
2327
-
2328
- // Add overlay
2329
- var overlay = $('<div id="materialbox-overlay"></div>').css({
2330
- opacity: 0
2331
- }).click(function () {
2332
- if (doneAnimating === true) returnToOriginal();
2333
- });
2334
-
2335
- // Put before in origin image to preserve z-index layering.
2336
- origin.before(overlay);
2337
-
2338
- // Set dimensions if needed
2339
- var overlayOffset = overlay[0].getBoundingClientRect();
2340
- overlay.css({
2341
- width: windowWidth,
2342
- height: windowHeight,
2343
- left: -1 * overlayOffset.left,
2344
- top: -1 * overlayOffset.top
2345
- });
2346
-
2347
- // Animate Overlay
2348
- overlay.velocity({ opacity: 1 }, { duration: inDuration, queue: false, easing: 'easeOutQuad' });
2349
-
2350
- // Add and animate caption if it exists
2351
- if (origin.data('caption') !== "") {
2352
- var $photo_caption = $('<div class="materialbox-caption"></div>');
2353
- $photo_caption.text(origin.data('caption'));
2354
- $('body').append($photo_caption);
2355
- $photo_caption.css({ "display": "inline" });
2356
- $photo_caption.velocity({ opacity: 1 }, { duration: inDuration, queue: false, easing: 'easeOutQuad' });
2357
- }
2358
-
2359
- // Resize Image
2360
- var ratio = 0;
2361
- var widthPercent = originalWidth / windowWidth;
2362
- var heightPercent = originalHeight / windowHeight;
2363
- var newWidth = 0;
2364
- var newHeight = 0;
2365
-
2366
- if (widthPercent > heightPercent) {
2367
- ratio = originalHeight / originalWidth;
2368
- newWidth = windowWidth * 0.9;
2369
- newHeight = windowWidth * 0.9 * ratio;
2370
- } else {
2371
- ratio = originalWidth / originalHeight;
2372
- newWidth = windowHeight * 0.9 * ratio;
2373
- newHeight = windowHeight * 0.9;
2374
- }
2375
-
2376
- // Animate image + set z-index
2377
- if (origin.hasClass('responsive-img')) {
2378
- origin.velocity({ 'max-width': newWidth, 'width': originalWidth }, { duration: 0, queue: false,
2379
- complete: function () {
2380
- origin.css({ left: 0, top: 0 }).velocity({
2381
- height: newHeight,
2382
- width: newWidth,
2383
- left: $(document).scrollLeft() + windowWidth / 2 - origin.parent('.material-placeholder').offset().left - newWidth / 2,
2384
- top: $(document).scrollTop() + windowHeight / 2 - origin.parent('.material-placeholder').offset().top - newHeight / 2
2385
- }, {
2386
- duration: inDuration,
2387
- queue: false,
2388
- easing: 'easeOutQuad',
2389
- complete: function () {
2390
- doneAnimating = true;
2391
- }
2392
- });
2393
- } // End Complete
2394
- }); // End Velocity
2395
- } else {
2396
- origin.css('left', 0).css('top', 0).velocity({
2397
- height: newHeight,
2398
- width: newWidth,
2399
- left: $(document).scrollLeft() + windowWidth / 2 - origin.parent('.material-placeholder').offset().left - newWidth / 2,
2400
- top: $(document).scrollTop() + windowHeight / 2 - origin.parent('.material-placeholder').offset().top - newHeight / 2
2401
- }, {
2402
- duration: inDuration,
2403
- queue: false,
2404
- easing: 'easeOutQuad',
2405
- complete: function () {
2406
- doneAnimating = true;
2407
- }
2408
- }); // End Velocity
2409
- }
2410
-
2411
- // Handle Exit triggers
2412
- $(window).on('scroll.materialbox', function () {
2413
- if (overlayActive) {
2414
- returnToOriginal();
2415
- }
2416
- });
2417
-
2418
- $(window).on('resize.materialbox', function () {
2419
- if (overlayActive) {
2420
- returnToOriginal();
2421
- }
2422
- });
2423
-
2424
- $(document).on('keyup.materialbox', function (e) {
2425
- // ESC key
2426
- if (e.keyCode === 27 && doneAnimating === true && overlayActive) {
2427
- returnToOriginal();
2428
- }
2429
- });
2430
- }); // End click handler
2431
-
2432
-
2433
- // This function returns the modaled image to the original spot
2434
- function returnToOriginal() {
2435
-
2436
- doneAnimating = false;
2437
-
2438
- var placeholder = origin.parent('.material-placeholder');
2439
- var windowWidth = window.innerWidth;
2440
- var windowHeight = window.innerHeight;
2441
- var originalWidth = origin.data('width');
2442
- var originalHeight = origin.data('height');
2443
-
2444
- origin.velocity("stop", true);
2445
- $('#materialbox-overlay').velocity("stop", true);
2446
- $('.materialbox-caption').velocity("stop", true);
2447
-
2448
- // disable exit handlers
2449
- $(window).off('scroll.materialbox');
2450
- $(document).off('keyup.materialbox');
2451
- $(window).off('resize.materialbox');
2452
-
2453
- $('#materialbox-overlay').velocity({ opacity: 0 }, {
2454
- duration: outDuration, // Delay prevents animation overlapping
2455
- queue: false, easing: 'easeOutQuad',
2456
- complete: function () {
2457
- // Remove Overlay
2458
- overlayActive = false;
2459
- $(this).remove();
2460
- }
2461
- });
2462
-
2463
- // Resize Image
2464
- origin.velocity({
2465
- width: originalWidth,
2466
- height: originalHeight,
2467
- left: 0,
2468
- top: 0
2469
- }, {
2470
- duration: outDuration,
2471
- queue: false, easing: 'easeOutQuad',
2472
- complete: function () {
2473
- placeholder.css({
2474
- height: '',
2475
- width: '',
2476
- position: '',
2477
- top: '',
2478
- left: ''
2479
- });
2480
-
2481
- origin.removeAttr('style');
2482
- origin.attr('style', originInlineStyles);
2483
-
2484
- // Remove class
2485
- origin.removeClass('active');
2486
- doneAnimating = true;
2487
-
2488
- // Remove overflow overrides on ancestors
2489
- if (ancestorsChanged) {
2490
- ancestorsChanged.css('overflow', '');
2491
- }
2492
- }
2493
- });
2494
-
2495
- // Remove Caption + reset css settings on image
2496
- $('.materialbox-caption').velocity({ opacity: 0 }, {
2497
- duration: outDuration, // Delay prevents animation overlapping
2498
- queue: false, easing: 'easeOutQuad',
2499
- complete: function () {
2500
- $(this).remove();
2501
- }
2502
- });
2503
- }
2504
- });
2505
- };
2506
-
2507
- $(document).ready(function () {
2508
- $('.materialboxed').materialbox();
2509
- });
2510
- })(jQuery);
2511
- ;(function ($) {
2512
-
2513
- $.fn.parallax = function () {
2514
- var window_width = $(window).width();
2515
- // Parallax Scripts
2516
- return this.each(function (i) {
2517
- var $this = $(this);
2518
- $this.addClass('parallax');
2519
-
2520
- function updateParallax(initial) {
2521
- var container_height;
2522
- if (window_width < 601) {
2523
- container_height = $this.height() > 0 ? $this.height() : $this.children("img").height();
2524
- } else {
2525
- container_height = $this.height() > 0 ? $this.height() : 500;
2526
- }
2527
- var $img = $this.children("img").first();
2528
- var img_height = $img.height();
2529
- var parallax_dist = img_height - container_height;
2530
- var bottom = $this.offset().top + container_height;
2531
- var top = $this.offset().top;
2532
- var scrollTop = $(window).scrollTop();
2533
- var windowHeight = window.innerHeight;
2534
- var windowBottom = scrollTop + windowHeight;
2535
- var percentScrolled = (windowBottom - top) / (container_height + windowHeight);
2536
- var parallax = Math.round(parallax_dist * percentScrolled);
2537
-
2538
- if (initial) {
2539
- $img.css('display', 'block');
2540
- }
2541
- if (bottom > scrollTop && top < scrollTop + windowHeight) {
2542
- $img.css('transform', "translate3D(-50%," + parallax + "px, 0)");
2543
- }
2544
- }
2545
-
2546
- // Wait for image load
2547
- $this.children("img").one("load", function () {
2548
- updateParallax(true);
2549
- }).each(function () {
2550
- if (this.complete) $(this).trigger("load");
2551
- });
2552
-
2553
- $(window).scroll(function () {
2554
- window_width = $(window).width();
2555
- updateParallax(false);
2556
- });
2557
-
2558
- $(window).resize(function () {
2559
- window_width = $(window).width();
2560
- updateParallax(false);
2561
- });
2562
- });
2563
- };
2564
- })(jQuery);
2565
- ;(function ($) {
2566
-
2567
- var methods = {
2568
- init: function (options) {
2569
- var defaults = {
2570
- onShow: null,
2571
- swipeable: false,
2572
- responsiveThreshold: Infinity // breakpoint for swipeable
2573
- };
2574
- options = $.extend(defaults, options);
2575
- var namespace = Materialize.objectSelectorString($(this));
2576
-
2577
- return this.each(function (i) {
2578
-
2579
- var uniqueNamespace = namespace + i;
2580
-
2581
- // For each set of tabs, we want to keep track of
2582
- // which tab is active and its associated content
2583
- var $this = $(this),
2584
- window_width = $(window).width();
2585
-
2586
- var $active,
2587
- $content,
2588
- $links = $this.find('li.tab a'),
2589
- $tabs_width = $this.width(),
2590
- $tabs_content = $(),
2591
- $tabs_wrapper,
2592
- $tab_width = Math.max($tabs_width, $this[0].scrollWidth) / $links.length,
2593
- $indicator,
2594
- index = 0,
2595
- prev_index = 0,
2596
- clicked = false,
2597
- clickedTimeout,
2598
- transition = 300;
2599
-
2600
- // Finds right attribute for indicator based on active tab.
2601
- // el: jQuery Object
2602
- var calcRightPos = function (el) {
2603
- return Math.ceil($tabs_width - el.position().left - el[0].getBoundingClientRect().width - $this.scrollLeft());
2604
- };
2605
-
2606
- // Finds left attribute for indicator based on active tab.
2607
- // el: jQuery Object
2608
- var calcLeftPos = function (el) {
2609
- return Math.floor(el.position().left + $this.scrollLeft());
2610
- };
2611
-
2612
- // Animates Indicator to active tab.
2613
- // prev_index: Number
2614
- var animateIndicator = function (prev_index) {
2615
- if (index - prev_index >= 0) {
2616
- $indicator.velocity({ "right": calcRightPos($active) }, { duration: transition, queue: false, easing: 'easeOutQuad' });
2617
- $indicator.velocity({ "left": calcLeftPos($active) }, { duration: transition, queue: false, easing: 'easeOutQuad', delay: 90 });
2618
- } else {
2619
- $indicator.velocity({ "left": calcLeftPos($active) }, { duration: transition, queue: false, easing: 'easeOutQuad' });
2620
- $indicator.velocity({ "right": calcRightPos($active) }, { duration: transition, queue: false, easing: 'easeOutQuad', delay: 90 });
2621
- }
2622
- };
2623
-
2624
- // Change swipeable according to responsive threshold
2625
- if (options.swipeable) {
2626
- if (window_width > options.responsiveThreshold) {
2627
- options.swipeable = false;
2628
- }
2629
- }
2630
-
2631
- // If the location.hash matches one of the links, use that as the active tab.
2632
- $active = $($links.filter('[href="' + location.hash + '"]'));
2633
-
2634
- // If no match is found, use the first link or any with class 'active' as the initial active tab.
2635
- if ($active.length === 0) {
2636
- $active = $(this).find('li.tab a.active').first();
2637
- }
2638
- if ($active.length === 0) {
2639
- $active = $(this).find('li.tab a').first();
2640
- }
2641
-
2642
- $active.addClass('active');
2643
- index = $links.index($active);
2644
- if (index < 0) {
2645
- index = 0;
2646
- }
2647
-
2648
- if ($active[0] !== undefined) {
2649
- $content = $($active[0].hash);
2650
- $content.addClass('active');
2651
- }
2652
-
2653
- // append indicator then set indicator width to tab width
2654
- if (!$this.find('.indicator').length) {
2655
- $this.append('<li class="indicator"></li>');
2656
- }
2657
- $indicator = $this.find('.indicator');
2658
-
2659
- // we make sure that the indicator is at the end of the tabs
2660
- $this.append($indicator);
2661
-
2662
- if ($this.is(":visible")) {
2663
- // $indicator.css({"right": $tabs_width - ((index + 1) * $tab_width)});
2664
- // $indicator.css({"left": index * $tab_width});
2665
- setTimeout(function () {
2666
- $indicator.css({ "right": calcRightPos($active) });
2667
- $indicator.css({ "left": calcLeftPos($active) });
2668
- }, 0);
2669
- }
2670
- $(window).off('resize.tabs-' + uniqueNamespace).on('resize.tabs-' + uniqueNamespace, function () {
2671
- $tabs_width = $this.width();
2672
- $tab_width = Math.max($tabs_width, $this[0].scrollWidth) / $links.length;
2673
- if (index < 0) {
2674
- index = 0;
2675
- }
2676
- if ($tab_width !== 0 && $tabs_width !== 0) {
2677
- $indicator.css({ "right": calcRightPos($active) });
2678
- $indicator.css({ "left": calcLeftPos($active) });
2679
- }
2680
- });
2681
-
2682
- // Initialize Tabs Content.
2683
- if (options.swipeable) {
2684
- // TODO: Duplicate calls with swipeable? handle multiple div wrapping.
2685
- $links.each(function () {
2686
- var $curr_content = $(Materialize.escapeHash(this.hash));
2687
- $curr_content.addClass('carousel-item');
2688
- $tabs_content = $tabs_content.add($curr_content);
2689
- });
2690
- $tabs_wrapper = $tabs_content.wrapAll('<div class="tabs-content carousel"></div>');
2691
- $tabs_content.css('display', '');
2692
- $('.tabs-content.carousel').carousel({
2693
- fullWidth: true,
2694
- noWrap: true,
2695
- onCycleTo: function (item) {
2696
- if (!clicked) {
2697
- var prev_index = index;
2698
- index = $tabs_wrapper.index(item);
2699
- $active.removeClass('active');
2700
- $active = $links.eq(index);
2701
- $active.addClass('active');
2702
- animateIndicator(prev_index);
2703
- if (typeof options.onShow === "function") {
2704
- options.onShow.call($this[0], $content);
2705
- }
2706
- }
2707
- }
2708
- });
2709
- } else {
2710
- // Hide the remaining content
2711
- $links.not($active).each(function () {
2712
- $(Materialize.escapeHash(this.hash)).hide();
2713
- });
2714
- }
2715
-
2716
- // Bind the click event handler
2717
- $this.off('click.tabs').on('click.tabs', 'a', function (e) {
2718
- if ($(this).parent().hasClass('disabled')) {
2719
- e.preventDefault();
2720
- return;
2721
- }
2722
-
2723
- // Act as regular link if target attribute is specified.
2724
- if (!!$(this).attr("target")) {
2725
- return;
2726
- }
2727
-
2728
- clicked = true;
2729
- $tabs_width = $this.width();
2730
- $tab_width = Math.max($tabs_width, $this[0].scrollWidth) / $links.length;
2731
-
2732
- // Make the old tab inactive.
2733
- $active.removeClass('active');
2734
- var $oldContent = $content;
2735
-
2736
- // Update the variables with the new link and content
2737
- $active = $(this);
2738
- $content = $(Materialize.escapeHash(this.hash));
2739
- $links = $this.find('li.tab a');
2740
- var activeRect = $active.position();
2741
-
2742
- // Make the tab active.
2743
- $active.addClass('active');
2744
- prev_index = index;
2745
- index = $links.index($(this));
2746
- if (index < 0) {
2747
- index = 0;
2748
- }
2749
- // Change url to current tab
2750
- // window.location.hash = $active.attr('href');
2751
-
2752
- // Swap content
2753
- if (options.swipeable) {
2754
- if ($tabs_content.length) {
2755
- $tabs_content.carousel('set', index, function () {
2756
- if (typeof options.onShow === "function") {
2757
- options.onShow.call($this[0], $content);
2758
- }
2759
- });
2760
- }
2761
- } else {
2762
- if ($content !== undefined) {
2763
- $content.show();
2764
- $content.addClass('active');
2765
- if (typeof options.onShow === "function") {
2766
- options.onShow.call(this, $content);
2767
- }
2768
- }
2769
-
2770
- if ($oldContent !== undefined && !$oldContent.is($content)) {
2771
- $oldContent.hide();
2772
- $oldContent.removeClass('active');
2773
- }
2774
- }
2775
-
2776
- // Reset clicked state
2777
- clickedTimeout = setTimeout(function () {
2778
- clicked = false;
2779
- }, transition);
2780
-
2781
- // Update indicator
2782
- animateIndicator(prev_index);
2783
-
2784
- // Prevent the anchor's default click action
2785
- e.preventDefault();
2786
- });
2787
- });
2788
- },
2789
- select_tab: function (id) {
2790
- this.find('a[href="#' + id + '"]').trigger('click');
2791
- }
2792
- };
2793
-
2794
- $.fn.tabs = function (methodOrOptions) {
2795
- if (methods[methodOrOptions]) {
2796
- return methods[methodOrOptions].apply(this, Array.prototype.slice.call(arguments, 1));
2797
- } else if (typeof methodOrOptions === 'object' || !methodOrOptions) {
2798
- // Default to "init"
2799
- return methods.init.apply(this, arguments);
2800
- } else {
2801
- $.error('Method ' + methodOrOptions + ' does not exist on jQuery.tabs');
2802
- }
2803
- };
2804
-
2805
- $(document).ready(function () {
2806
- $('ul.tabs').tabs();
2807
- });
2808
- })(jQuery);
2809
- ;(function ($) {
2810
- $.fn.tooptipZ = function (options) {
2811
- var timeout = null,
2812
- margin = 5;
2813
-
2814
- // Defaults
2815
- var defaults = {
2816
- delay: 350,
2817
- tooltip: '',
2818
- position: 'bottom',
2819
- html: false
2820
- };
2821
-
2822
- // Remove tooltip from the activator
2823
- if (options === "remove") {
2824
- this.each(function () {
2825
- $('#' + $(this).attr('data-tooltip-id')).remove();
2826
- $(this).removeAttr('data-tooltip-id');
2827
- $(this).off('mouseenter.tooltip mouseleave.tooltip');
2828
- });
2829
- return false;
2830
- }
2831
-
2832
- options = $.extend(defaults, options);
2833
-
2834
- return this.each(function () {
2835
- var tooltipId = Materialize.guid();
2836
- var origin = $(this);
2837
-
2838
- // Destroy old tooltip
2839
- if (origin.attr('data-tooltip-id')) {
2840
- $('#' + origin.attr('data-tooltip-id')).remove();
2841
- }
2842
-
2843
- origin.attr('data-tooltip-id', tooltipId);
2844
-
2845
- // Get attributes.
2846
- var allowHtml, tooltipDelay, tooltipPosition, tooltipText, tooltipEl, backdrop;
2847
- var setAttributes = function () {
2848
- allowHtml = origin.attr('data-html') ? origin.attr('data-html') === 'true' : options.html;
2849
- tooltipDelay = origin.attr('data-delay');
2850
- tooltipDelay = tooltipDelay === undefined || tooltipDelay === '' ? options.delay : tooltipDelay;
2851
- tooltipPosition = origin.attr('data-position');
2852
- tooltipPosition = tooltipPosition === undefined || tooltipPosition === '' ? options.position : tooltipPosition;
2853
- tooltipText = origin.attr('data-tooltip');
2854
- tooltipText = tooltipText === undefined || tooltipText === '' ? options.tooltip : tooltipText;
2855
- };
2856
- setAttributes();
2857
-
2858
- var renderTooltipEl = function () {
2859
- var tooltip = $('<div class="material-tooltip"></div>');
2860
-
2861
- // Create Text span
2862
- if (allowHtml) {
2863
- tooltipText = $('<span></span>').html(tooltipText);
2864
- } else {
2865
- tooltipText = $('<span></span>').text(tooltipText);
2866
- }
2867
-
2868
- // Create tooltip
2869
- tooltip.append(tooltipText).appendTo($('body')).attr('id', tooltipId);
2870
-
2871
- // Create backdrop
2872
- backdrop = $('<div class="backdrop"></div>');
2873
- backdrop.appendTo(tooltip);
2874
- return tooltip;
2875
- };
2876
- tooltipEl = renderTooltipEl();
2877
-
2878
- // Destroy previously binded events
2879
- origin.off('mouseenter.tooltip mouseleave.tooltip');
2880
- // Mouse In
2881
- var started = false,
2882
- timeoutRef;
2883
- origin.on({ 'mouseenter.tooltip': function (e) {
2884
- var showTooltip = function () {
2885
- setAttributes();
2886
- started = true;
2887
- tooltipEl.velocity('stop');
2888
- backdrop.velocity('stop');
2889
- tooltipEl.css({ visibility: 'visible', left: '0px', top: '0px' });
2890
-
2891
- // Tooltip positioning
2892
- var originWidth = origin.outerWidth();
2893
- var originHeight = origin.outerHeight();
2894
- var tooltipHeight = tooltipEl.outerHeight();
2895
- var tooltipWidth = tooltipEl.outerWidth();
2896
- var tooltipVerticalMovement = '0px';
2897
- var tooltipHorizontalMovement = '0px';
2898
- var backdropOffsetWidth = backdrop[0].offsetWidth;
2899
- var backdropOffsetHeight = backdrop[0].offsetHeight;
2900
- var scaleXFactor = 8;
2901
- var scaleYFactor = 8;
2902
- var scaleFactor = 0;
2903
- var targetTop, targetLeft, newCoordinates;
2904
-
2905
- if (tooltipPosition === "top") {
2906
- // Top Position
2907
- targetTop = origin.offset().top - tooltipHeight - margin;
2908
- targetLeft = origin.offset().left + originWidth / 2 - tooltipWidth / 2;
2909
- newCoordinates = repositionWithinScreen(targetLeft, targetTop, tooltipWidth, tooltipHeight);
2910
- tooltipVerticalMovement = '-10px';
2911
- backdrop.css({
2912
- bottom: 0,
2913
- left: 0,
2914
- borderRadius: '14px 14px 0 0',
2915
- transformOrigin: '50% 100%',
2916
- marginTop: tooltipHeight,
2917
- marginLeft: tooltipWidth / 2 - backdropOffsetWidth / 2
2918
- });
2919
- }
2920
- // Left Position
2921
- else if (tooltipPosition === "left") {
2922
- targetTop = origin.offset().top + originHeight / 2 - tooltipHeight / 2;
2923
- targetLeft = origin.offset().left - tooltipWidth - margin;
2924
- newCoordinates = repositionWithinScreen(targetLeft, targetTop, tooltipWidth, tooltipHeight);
2925
-
2926
- tooltipHorizontalMovement = '-10px';
2927
- backdrop.css({
2928
- top: '-7px',
2929
- right: 0,
2930
- width: '14px',
2931
- height: '14px',
2932
- borderRadius: '14px 0 0 14px',
2933
- transformOrigin: '95% 50%',
2934
- marginTop: tooltipHeight / 2,
2935
- marginLeft: tooltipWidth
2936
- });
2937
- }
2938
- // Right Position
2939
- else if (tooltipPosition === "right") {
2940
- targetTop = origin.offset().top + originHeight / 2 - tooltipHeight / 2;
2941
- targetLeft = origin.offset().left + originWidth + margin;
2942
- newCoordinates = repositionWithinScreen(targetLeft, targetTop, tooltipWidth, tooltipHeight);
2943
-
2944
- tooltipHorizontalMovement = '+10px';
2945
- backdrop.css({
2946
- top: '-7px',
2947
- left: 0,
2948
- width: '14px',
2949
- height: '14px',
2950
- borderRadius: '0 14px 14px 0',
2951
- transformOrigin: '5% 50%',
2952
- marginTop: tooltipHeight / 2,
2953
- marginLeft: '0px'
2954
- });
2955
- } else {
2956
- // Bottom Position
2957
- targetTop = origin.offset().top + origin.outerHeight() + margin;
2958
- targetLeft = origin.offset().left + originWidth / 2 - tooltipWidth / 2;
2959
- newCoordinates = repositionWithinScreen(targetLeft, targetTop, tooltipWidth, tooltipHeight);
2960
- tooltipVerticalMovement = '+10px';
2961
- backdrop.css({
2962
- top: 0,
2963
- left: 0,
2964
- marginLeft: tooltipWidth / 2 - backdropOffsetWidth / 2
2965
- });
2966
- }
2967
-
2968
- // Set tooptip css placement
2969
- tooltipEl.css({
2970
- top: newCoordinates.y,
2971
- left: newCoordinates.x
2972
- });
2973
-
2974
- // Calculate Scale to fill
2975
- scaleXFactor = Math.SQRT2 * tooltipWidth / parseInt(backdropOffsetWidth);
2976
- scaleYFactor = Math.SQRT2 * tooltipHeight / parseInt(backdropOffsetHeight);
2977
- scaleFactor = Math.max(scaleXFactor, scaleYFactor);
2978
-
2979
- tooltipEl.velocity({ translateY: tooltipVerticalMovement, translateX: tooltipHorizontalMovement }, { duration: 350, queue: false }).velocity({ opacity: 1 }, { duration: 300, delay: 50, queue: false });
2980
- backdrop.css({ visibility: 'visible' }).velocity({ opacity: 1 }, { duration: 55, delay: 0, queue: false }).velocity({ scaleX: scaleFactor, scaleY: scaleFactor }, { duration: 300, delay: 0, queue: false, easing: 'easeInOutQuad' });
2981
- };
2982
-
2983
- timeoutRef = setTimeout(showTooltip, tooltipDelay); // End Interval
2984
-
2985
- // Mouse Out
2986
- },
2987
- 'mouseleave.tooltip': function () {
2988
- // Reset State
2989
- started = false;
2990
- clearTimeout(timeoutRef);
2991
-
2992
- // Animate back
2993
- setTimeout(function () {
2994
- if (started !== true) {
2995
- tooltipEl.velocity({
2996
- opacity: 0, translateY: 0, translateX: 0 }, { duration: 225, queue: false });
2997
- backdrop.velocity({ opacity: 0, scaleX: 1, scaleY: 1 }, {
2998
- duration: 225,
2999
- queue: false,
3000
- complete: function () {
3001
- backdrop.css({ visibility: 'hidden' });
3002
- tooltipEl.css({ visibility: 'hidden' });
3003
- started = false;
3004
- }
3005
- });
3006
- }
3007
- }, 225);
3008
- }
3009
- });
3010
- });
3011
- };
3012
-
3013
- var repositionWithinScreen = function (x, y, width, height) {
3014
- var newX = x;
3015
- var newY = y;
3016
-
3017
- if (newX < 0) {
3018
- newX = 4;
3019
- } else if (newX + width > window.innerWidth) {
3020
- newX -= newX + width - window.innerWidth;
3021
- }
3022
-
3023
- if (newY < 0) {
3024
- newY = 4;
3025
- } else if (newY + height > window.innerHeight + $(window).scrollTop) {
3026
- newY -= newY + height - window.innerHeight;
3027
- }
3028
-
3029
- return { x: newX, y: newY };
3030
- };
3031
-
3032
- $(document).ready(function () {
3033
- $('.tooltipped').tooptipZ();
3034
- });
3035
- })(jQuery);
3036
- ; /*!
3037
- * Waves v0.6.4
3038
- * http://fian.my.id/Waves
3039
- *
3040
- * Copyright 2014 Alfiana E. Sibuea and other contributors
3041
- * Released under the MIT license
3042
- * https://github.com/fians/Waves/blob/master/LICENSE
3043
- */
3044
-
3045
- ;(function (window) {
3046
- 'use strict';
3047
-
3048
- var Waves = Waves || {};
3049
- var $$ = document.querySelectorAll.bind(document);
3050
-
3051
- // Find exact position of element
3052
- function isWindow(obj) {
3053
- return obj !== null && obj === obj.window;
3054
- }
3055
-
3056
- function getWindow(elem) {
3057
- return isWindow(elem) ? elem : elem.nodeType === 9 && elem.defaultView;
3058
- }
3059
-
3060
- function offset(elem) {
3061
- var docElem,
3062
- win,
3063
- box = { top: 0, left: 0 },
3064
- doc = elem && elem.ownerDocument;
3065
-
3066
- docElem = doc.documentElement;
3067
-
3068
- if (typeof elem.getBoundingClientRect !== typeof undefined) {
3069
- box = elem.getBoundingClientRect();
3070
- }
3071
- win = getWindow(doc);
3072
- return {
3073
- top: box.top + win.pageYOffset - docElem.clientTop,
3074
- left: box.left + win.pageXOffset - docElem.clientLeft
3075
- };
3076
- }
3077
-
3078
- function convertStyle(obj) {
3079
- var style = '';
3080
-
3081
- for (var a in obj) {
3082
- if (obj.hasOwnProperty(a)) {
3083
- style += a + ':' + obj[a] + ';';
3084
- }
3085
- }
3086
-
3087
- return style;
3088
- }
3089
-
3090
- var Effect = {
3091
-
3092
- // Effect delay
3093
- duration: 750,
3094
-
3095
- show: function (e, element) {
3096
-
3097
- // Disable right click
3098
- if (e.button === 2) {
3099
- return false;
3100
- }
3101
-
3102
- var el = element || this;
3103
-
3104
- // Create ripple
3105
- var ripple = document.createElement('div');
3106
- ripple.className = 'waves-ripple';
3107
- el.appendChild(ripple);
3108
-
3109
- // Get click coordinate and element witdh
3110
- var pos = offset(el);
3111
- var relativeY = e.pageY - pos.top;
3112
- var relativeX = e.pageX - pos.left;
3113
- var scale = 'scale(' + el.clientWidth / 100 * 10 + ')';
3114
-
3115
- // Support for touch devices
3116
- if ('touches' in e) {
3117
- relativeY = e.touches[0].pageY - pos.top;
3118
- relativeX = e.touches[0].pageX - pos.left;
3119
- }
3120
-
3121
- // Attach data to element
3122
- ripple.setAttribute('data-hold', Date.now());
3123
- ripple.setAttribute('data-scale', scale);
3124
- ripple.setAttribute('data-x', relativeX);
3125
- ripple.setAttribute('data-y', relativeY);
3126
-
3127
- // Set ripple position
3128
- var rippleStyle = {
3129
- 'top': relativeY + 'px',
3130
- 'left': relativeX + 'px'
3131
- };
3132
-
3133
- ripple.className = ripple.className + ' waves-notransition';
3134
- ripple.setAttribute('style', convertStyle(rippleStyle));
3135
- ripple.className = ripple.className.replace('waves-notransition', '');
3136
-
3137
- // Scale the ripple
3138
- rippleStyle['-webkit-transform'] = scale;
3139
- rippleStyle['-moz-transform'] = scale;
3140
- rippleStyle['-ms-transform'] = scale;
3141
- rippleStyle['-o-transform'] = scale;
3142
- rippleStyle.transform = scale;
3143
- rippleStyle.opacity = '1';
3144
-
3145
- rippleStyle['-webkit-transition-duration'] = Effect.duration + 'ms';
3146
- rippleStyle['-moz-transition-duration'] = Effect.duration + 'ms';
3147
- rippleStyle['-o-transition-duration'] = Effect.duration + 'ms';
3148
- rippleStyle['transition-duration'] = Effect.duration + 'ms';
3149
-
3150
- rippleStyle['-webkit-transition-timing-function'] = 'cubic-bezier(0.250, 0.460, 0.450, 0.940)';
3151
- rippleStyle['-moz-transition-timing-function'] = 'cubic-bezier(0.250, 0.460, 0.450, 0.940)';
3152
- rippleStyle['-o-transition-timing-function'] = 'cubic-bezier(0.250, 0.460, 0.450, 0.940)';
3153
- rippleStyle['transition-timing-function'] = 'cubic-bezier(0.250, 0.460, 0.450, 0.940)';
3154
-
3155
- ripple.setAttribute('style', convertStyle(rippleStyle));
3156
- },
3157
-
3158
- hide: function (e) {
3159
- TouchHandler.touchup(e);
3160
-
3161
- var el = this;
3162
- var width = el.clientWidth * 1.4;
3163
-
3164
- // Get first ripple
3165
- var ripple = null;
3166
- var ripples = el.getElementsByClassName('waves-ripple');
3167
- if (ripples.length > 0) {
3168
- ripple = ripples[ripples.length - 1];
3169
- } else {
3170
- return false;
3171
- }
3172
-
3173
- var relativeX = ripple.getAttribute('data-x');
3174
- var relativeY = ripple.getAttribute('data-y');
3175
- var scale = ripple.getAttribute('data-scale');
3176
-
3177
- // Get delay beetween mousedown and mouse leave
3178
- var diff = Date.now() - Number(ripple.getAttribute('data-hold'));
3179
- var delay = 350 - diff;
3180
-
3181
- if (delay < 0) {
3182
- delay = 0;
3183
- }
3184
-
3185
- // Fade out ripple after delay
3186
- setTimeout(function () {
3187
- var style = {
3188
- 'top': relativeY + 'px',
3189
- 'left': relativeX + 'px',
3190
- 'opacity': '0',
3191
-
3192
- // Duration
3193
- '-webkit-transition-duration': Effect.duration + 'ms',
3194
- '-moz-transition-duration': Effect.duration + 'ms',
3195
- '-o-transition-duration': Effect.duration + 'ms',
3196
- 'transition-duration': Effect.duration + 'ms',
3197
- '-webkit-transform': scale,
3198
- '-moz-transform': scale,
3199
- '-ms-transform': scale,
3200
- '-o-transform': scale,
3201
- 'transform': scale
3202
- };
3203
-
3204
- ripple.setAttribute('style', convertStyle(style));
3205
-
3206
- setTimeout(function () {
3207
- try {
3208
- el.removeChild(ripple);
3209
- } catch (e) {
3210
- return false;
3211
- }
3212
- }, Effect.duration);
3213
- }, delay);
3214
- },
3215
-
3216
- // Little hack to make <input> can perform waves effect
3217
- wrapInput: function (elements) {
3218
- for (var a = 0; a < elements.length; a++) {
3219
- var el = elements[a];
3220
-
3221
- if (el.tagName.toLowerCase() === 'input') {
3222
- var parent = el.parentNode;
3223
-
3224
- // If input already have parent just pass through
3225
- if (parent.tagName.toLowerCase() === 'i' && parent.className.indexOf('waves-effect') !== -1) {
3226
- continue;
3227
- }
3228
-
3229
- // Put element class and style to the specified parent
3230
- var wrapper = document.createElement('i');
3231
- wrapper.className = el.className + ' waves-input-wrapper';
3232
-
3233
- var elementStyle = el.getAttribute('style');
3234
-
3235
- if (!elementStyle) {
3236
- elementStyle = '';
3237
- }
3238
-
3239
- wrapper.setAttribute('style', elementStyle);
3240
-
3241
- el.className = 'waves-button-input';
3242
- el.removeAttribute('style');
3243
-
3244
- // Put element as child
3245
- parent.replaceChild(wrapper, el);
3246
- wrapper.appendChild(el);
3247
- }
3248
- }
3249
- }
3250
- };
3251
-
3252
- /**
3253
- * Disable mousedown event for 500ms during and after touch
3254
- */
3255
- var TouchHandler = {
3256
- /* uses an integer rather than bool so there's no issues with
3257
- * needing to clear timeouts if another touch event occurred
3258
- * within the 500ms. Cannot mouseup between touchstart and
3259
- * touchend, nor in the 500ms after touchend. */
3260
- touches: 0,
3261
- allowEvent: function (e) {
3262
- var allow = true;
3263
-
3264
- if (e.type === 'touchstart') {
3265
- TouchHandler.touches += 1; //push
3266
- } else if (e.type === 'touchend' || e.type === 'touchcancel') {
3267
- setTimeout(function () {
3268
- if (TouchHandler.touches > 0) {
3269
- TouchHandler.touches -= 1; //pop after 500ms
3270
- }
3271
- }, 500);
3272
- } else if (e.type === 'mousedown' && TouchHandler.touches > 0) {
3273
- allow = false;
3274
- }
3275
-
3276
- return allow;
3277
- },
3278
- touchup: function (e) {
3279
- TouchHandler.allowEvent(e);
3280
- }
3281
- };
3282
-
3283
- /**
3284
- * Delegated click handler for .waves-effect element.
3285
- * returns null when .waves-effect element not in "click tree"
3286
- */
3287
- function getWavesEffectElement(e) {
3288
- if (TouchHandler.allowEvent(e) === false) {
3289
- return null;
3290
- }
3291
-
3292
- var element = null;
3293
- var target = e.target || e.srcElement;
3294
-
3295
- while (target.parentNode !== null) {
3296
- if (!(target instanceof SVGElement) && target.className.indexOf('waves-effect') !== -1) {
3297
- element = target;
3298
- break;
3299
- }
3300
- target = target.parentNode;
3301
- }
3302
- return element;
3303
- }
3304
-
3305
- /**
3306
- * Bubble the click and show effect if .waves-effect elem was found
3307
- */
3308
- function showEffect(e) {
3309
- var element = getWavesEffectElement(e);
3310
-
3311
- if (element !== null) {
3312
- Effect.show(e, element);
3313
-
3314
- if ('ontouchstart' in window) {
3315
- element.addEventListener('touchend', Effect.hide, false);
3316
- element.addEventListener('touchcancel', Effect.hide, false);
3317
- }
3318
-
3319
- element.addEventListener('mouseup', Effect.hide, false);
3320
- element.addEventListener('mouseleave', Effect.hide, false);
3321
- element.addEventListener('dragend', Effect.hide, false);
3322
- }
3323
- }
3324
-
3325
- Waves.displayEffect = function (options) {
3326
- options = options || {};
3327
-
3328
- if ('duration' in options) {
3329
- Effect.duration = options.duration;
3330
- }
3331
-
3332
- //Wrap input inside <i> tag
3333
- Effect.wrapInput($$('.waves-effect'));
3334
-
3335
- if ('ontouchstart' in window) {
3336
- document.body.addEventListener('touchstart', showEffect, false);
3337
- }
3338
-
3339
- document.body.addEventListener('mousedown', showEffect, false);
3340
- };
3341
-
3342
- /**
3343
- * Attach Waves to an input element (or any element which doesn't
3344
- * bubble mouseup/mousedown events).
3345
- * Intended to be used with dynamically loaded forms/inputs, or
3346
- * where the user doesn't want a delegated click handler.
3347
- */
3348
- Waves.attach = function (element) {
3349
- //FUTURE: automatically add waves classes and allow users
3350
- // to specify them with an options param? Eg. light/classic/button
3351
- if (element.tagName.toLowerCase() === 'input') {
3352
- Effect.wrapInput([element]);
3353
- element = element.parentNode;
3354
- }
3355
-
3356
- if ('ontouchstart' in window) {
3357
- element.addEventListener('touchstart', showEffect, false);
3358
- }
3359
-
3360
- element.addEventListener('mousedown', showEffect, false);
3361
- };
3362
-
3363
- window.Waves = Waves;
3364
-
3365
- document.addEventListener('DOMContentLoaded', function () {
3366
- Waves.displayEffect();
3367
- }, false);
3368
- })(window);
3369
- ;(function ($, Vel) {
3370
- 'use strict';
3371
-
3372
- var _defaults = {
3373
- displayLength: Infinity,
3374
- inDuration: 300,
3375
- outDuration: 375,
3376
- className: undefined,
3377
- completeCallback: undefined,
3378
- activationPercent: 0.8
3379
- };
3380
-
3381
- var Toast = function () {
3382
- function Toast(message, displayLength, className, completeCallback) {
3383
- _classCallCheck(this, Toast);
3384
-
3385
- if (!message) {
3386
- return;
3387
- }
3388
-
3389
- /**
3390
- * Options for the toast
3391
- * @member Toast#options
3392
- */
3393
- this.options = {
3394
- displayLength: displayLength,
3395
- className: className,
3396
- completeCallback: completeCallback
3397
- };
3398
-
3399
- this.options = $.extend({}, Toast.defaults, this.options);
3400
- this.message = message;
3401
-
3402
- /**
3403
- * Describes current pan state toast
3404
- * @type {Boolean}
3405
- */
3406
- this.panning = false;
3407
-
3408
- /**
3409
- * Time remaining until toast is removed
3410
- */
3411
- this.timeRemaining = this.options.displayLength;
3412
-
3413
- if (Toast._toasts.length === 0) {
3414
- Toast._createContainer();
3415
- }
3416
-
3417
- // Create new toast
3418
- Toast._toasts.push(this);
3419
- var toastElement = this.createToast();
3420
- toastElement.M_Toast = this;
3421
- this.el = toastElement;
3422
- this._animateIn();
3423
- this.setTimer();
3424
- }
3425
-
3426
- _createClass(Toast, [{
3427
- key: 'createToast',
3428
-
3429
-
3430
- /**
3431
- * Create toast and append it to toast container
3432
- */
3433
- value: function createToast() {
3434
- var toast = document.createElement('div');
3435
- toast.classList.add('toast');
3436
-
3437
- // Add custom classes onto toast
3438
- if (this.options.className) {
3439
- var classes = this.options.className.split(' ');
3440
- var i = void 0,
3441
- count = void 0;
3442
- for (i = 0, count = classes.length; i < count; i++) {
3443
- toast.classList.add(classes[i]);
3444
- }
3445
- }
3446
-
3447
- // Set content
3448
- if (typeof HTMLElement === 'object' ? this.message instanceof HTMLElement : this.message && typeof this.message === 'object' && this.message !== null && this.message.nodeType === 1 && typeof this.message.nodeName === 'string') {
3449
- toast.appendChild(this.message);
3450
-
3451
- // Check if it is jQuery object
3452
- } else if (this.message instanceof jQuery) {
3453
- $(toast).append(this.message);
3454
-
3455
- // Insert as text;
3456
- } else {
3457
- toast.innerHTML = this.message;
3458
- }
3459
-
3460
- // Append toasft
3461
- Toast._container.appendChild(toast);
3462
- return toast;
3463
- }
3464
-
3465
- /**
3466
- * Animate in toast
3467
- */
3468
-
3469
- }, {
3470
- key: '_animateIn',
3471
- value: function _animateIn() {
3472
- // Animate toast in
3473
- Vel(this.el, { top: 0, opacity: 1 }, {
3474
- duration: 300,
3475
- easing: 'easeOutCubic',
3476
- queue: false
3477
- });
3478
- }
3479
-
3480
- /**
3481
- * Create setInterval which automatically removes toast when timeRemaining >= 0
3482
- * has been reached
3483
- */
3484
-
3485
- }, {
3486
- key: 'setTimer',
3487
- value: function setTimer() {
3488
- var _this3 = this;
3489
-
3490
- if (this.timeRemaining !== Infinity) {
3491
- this.counterInterval = setInterval(function () {
3492
- // If toast is not being dragged, decrease its time remaining
3493
- if (!_this3.panning) {
3494
- _this3.timeRemaining -= 20;
3495
- }
3496
-
3497
- // Animate toast out
3498
- if (_this3.timeRemaining <= 0) {
3499
- _this3.remove();
3500
- }
3501
- }, 20);
3502
- }
3503
- }
3504
-
3505
- /**
3506
- * Dismiss toast with animation
3507
- */
3508
-
3509
- }, {
3510
- key: 'remove',
3511
- value: function remove() {
3512
- var _this4 = this;
3513
-
3514
- window.clearInterval(this.counterInterval);
3515
- var activationDistance = this.el.offsetWidth * this.options.activationPercent;
3516
-
3517
- if (this.wasSwiped) {
3518
- this.el.style.transition = 'transform .05s, opacity .05s';
3519
- this.el.style.transform = 'translateX(' + activationDistance + 'px)';
3520
- this.el.style.opacity = 0;
3521
- }
3522
-
3523
- Vel(this.el, { opacity: 0, marginTop: '-40px' }, {
3524
- duration: this.options.outDuration,
3525
- easing: 'easeOutExpo',
3526
- queue: false,
3527
- complete: function () {
3528
- // Call the optional callback
3529
- if (typeof _this4.options.completeCallback === 'function') {
3530
- _this4.options.completeCallback();
3531
- }
3532
- // Remove toast from DOM
3533
- _this4.el.parentNode.removeChild(_this4.el);
3534
- Toast._toasts.splice(Toast._toasts.indexOf(_this4), 1);
3535
- if (Toast._toasts.length === 0) {
3536
- Toast._removeContainer();
3537
- }
3538
- }
3539
- });
3540
- }
3541
- }], [{
3542
- key: '_createContainer',
3543
-
3544
-
3545
- /**
3546
- * Append toast container and add event handlers
3547
- */
3548
- value: function _createContainer() {
3549
- var container = document.createElement('div');
3550
- container.setAttribute('id', 'toast-container');
3551
-
3552
- // Add event handler
3553
- container.addEventListener('touchstart', Toast._onDragStart);
3554
- container.addEventListener('touchmove', Toast._onDragMove);
3555
- container.addEventListener('touchend', Toast._onDragEnd);
3556
-
3557
- container.addEventListener('mousedown', Toast._onDragStart);
3558
- document.addEventListener('mousemove', Toast._onDragMove);
3559
- document.addEventListener('mouseup', Toast._onDragEnd);
3560
-
3561
- document.body.appendChild(container);
3562
- Toast._container = container;
3563
- }
3564
-
3565
- /**
3566
- * Remove toast container and event handlers
3567
- */
3568
-
3569
- }, {
3570
- key: '_removeContainer',
3571
- value: function _removeContainer() {
3572
- // Add event handler
3573
- document.removeEventListener('mousemove', Toast._onDragMove);
3574
- document.removeEventListener('mouseup', Toast._onDragEnd);
3575
-
3576
- Toast._container.parentNode.removeChild(Toast._container);
3577
- Toast._container = null;
3578
- }
3579
-
3580
- /**
3581
- * Begin drag handler
3582
- * @param {Event} e
3583
- */
3584
-
3585
- }, {
3586
- key: '_onDragStart',
3587
- value: function _onDragStart(e) {
3588
- if (e.target && $(e.target).closest('.toast').length) {
3589
- var $toast = $(e.target).closest('.toast');
3590
- var toast = $toast[0].M_Toast;
3591
- toast.panning = true;
3592
- Toast._draggedToast = toast;
3593
- toast.el.classList.add('panning');
3594
- toast.el.style.transition = '';
3595
- toast.startingXPos = Toast._xPos(e);
3596
- toast.time = Date.now();
3597
- toast.xPos = Toast._xPos(e);
3598
- }
3599
- }
3600
-
3601
- /**
3602
- * Drag move handler
3603
- * @param {Event} e
3604
- */
3605
-
3606
- }, {
3607
- key: '_onDragMove',
3608
- value: function _onDragMove(e) {
3609
- if (!!Toast._draggedToast) {
3610
- e.preventDefault();
3611
- var toast = Toast._draggedToast;
3612
- toast.deltaX = Math.abs(toast.xPos - Toast._xPos(e));
3613
- toast.xPos = Toast._xPos(e);
3614
- toast.velocityX = toast.deltaX / (Date.now() - toast.time);
3615
- toast.time = Date.now();
3616
-
3617
- var totalDeltaX = toast.xPos - toast.startingXPos;
3618
- var activationDistance = toast.el.offsetWidth * toast.options.activationPercent;
3619
- toast.el.style.transform = 'translateX(' + totalDeltaX + 'px)';
3620
- toast.el.style.opacity = 1 - Math.abs(totalDeltaX / activationDistance);
3621
- }
3622
- }
3623
-
3624
- /**
3625
- * End drag handler
3626
- * @param {Event} e
3627
- */
3628
-
3629
- }, {
3630
- key: '_onDragEnd',
3631
- value: function _onDragEnd(e) {
3632
- if (!!Toast._draggedToast) {
3633
- var toast = Toast._draggedToast;
3634
- toast.panning = false;
3635
- toast.el.classList.remove('panning');
3636
-
3637
- var totalDeltaX = toast.xPos - toast.startingXPos;
3638
- var activationDistance = toast.el.offsetWidth * toast.options.activationPercent;
3639
- var shouldBeDismissed = Math.abs(totalDeltaX) > activationDistance || toast.velocityX > 1;
3640
-
3641
- // Remove toast
3642
- if (shouldBeDismissed) {
3643
- toast.wasSwiped = true;
3644
- toast.remove();
3645
-
3646
- // Animate toast back to original position
3647
- } else {
3648
- toast.el.style.transition = 'transform .2s, opacity .2s';
3649
- toast.el.style.transform = '';
3650
- toast.el.style.opacity = '';
3651
- }
3652
- Toast._draggedToast = null;
3653
- }
3654
- }
3655
-
3656
- /**
3657
- * Get x position of mouse or touch event
3658
- * @param {Event} e
3659
- */
3660
-
3661
- }, {
3662
- key: '_xPos',
3663
- value: function _xPos(e) {
3664
- if (e.targetTouches && e.targetTouches.length >= 1) {
3665
- return e.targetTouches[0].clientX;
3666
- }
3667
- // mouse event
3668
- return e.clientX;
3669
- }
3670
-
3671
- /**
3672
- * Remove all toasts
3673
- */
3674
-
3675
- }, {
3676
- key: 'removeAll',
3677
- value: function removeAll() {
3678
- for (var toastIndex in Toast._toasts) {
3679
- Toast._toasts[toastIndex].remove();
3680
- }
3681
- }
3682
- }, {
3683
- key: 'defaults',
3684
- get: function () {
3685
- return _defaults;
3686
- }
3687
- }]);
3688
-
3689
- return Toast;
3690
- }();
3691
-
3692
- /**
3693
- * @static
3694
- * @memberof Toast
3695
- * @type {Array.<Toast>}
3696
- */
3697
-
3698
-
3699
- Toast._toasts = [];
3700
-
3701
- /**
3702
- * @static
3703
- * @memberof Toast
3704
- */
3705
- Toast._container = null;
3706
-
3707
- /**
3708
- * @static
3709
- * @memberof Toast
3710
- * @type {Toast}
3711
- */
3712
- Toast._draggedToast = null;
3713
-
3714
- Materialize.Toast = Toast;
3715
- Materialize.toast = function (message, displayLength, className, completeCallback) {
3716
- return new Toast(message, displayLength, className, completeCallback);
3717
- };
3718
- })(jQuery, Materialize.Vel);
3719
- ;(function ($) {
3720
-
3721
- var methods = {
3722
- init: function (options) {
3723
- var defaults = {
3724
- menuWidth: 300,
3725
- edge: 'left',
3726
- closeOnClick: false,
3727
- draggable: true,
3728
- onOpen: null,
3729
- onClose: null
3730
- };
3731
- options = $.extend(defaults, options);
3732
-
3733
- $(this).each(function () {
3734
- var $this = $(this);
3735
- var menuId = $this.attr('data-activates');
3736
- var menu = $("#" + menuId);
3737
-
3738
- // Set to width
3739
- if (options.menuWidth != 300) {
3740
- menu.css('width', options.menuWidth);
3741
- }
3742
-
3743
- // Add Touch Area
3744
- var $dragTarget = $('.drag-target[data-sidenav="' + menuId + '"]');
3745
- if (options.draggable) {
3746
- // Regenerate dragTarget
3747
- if ($dragTarget.length) {
3748
- $dragTarget.remove();
3749
- }
3750
-
3751
- $dragTarget = $('<div class="drag-target"></div>').attr('data-sidenav', menuId);
3752
- $('body').append($dragTarget);
3753
- } else {
3754
- $dragTarget = $();
3755
- }
3756
-
3757
- if (options.edge == 'left') {
3758
- menu.css('transform', 'translateX(-100%)');
3759
- $dragTarget.css({ 'left': 0 }); // Add Touch Area
3760
- } else {
3761
- menu.addClass('right-aligned') // Change text-alignment to right
3762
- .css('transform', 'translateX(100%)');
3763
- $dragTarget.css({ 'right': 0 }); // Add Touch Area
3764
- }
3765
-
3766
- // If fixed sidenav, bring menu out
3767
- if (menu.hasClass('fixed')) {
3768
- if (window.innerWidth > 992) {
3769
- menu.css('transform', 'translateX(0)');
3770
- }
3771
- }
3772
-
3773
- // Window resize to reset on large screens fixed
3774
- if (menu.hasClass('fixed')) {
3775
- $(window).resize(function () {
3776
- if (window.innerWidth > 992) {
3777
- // Close menu if window is resized bigger than 992 and user has fixed sidenav
3778
- if ($('#sidenav-overlay').length !== 0 && menuOut) {
3779
- removeMenu(true);
3780
- } else {
3781
- // menu.removeAttr('style');
3782
- menu.css('transform', 'translateX(0%)');
3783
- // menu.css('width', options.menuWidth);
3784
- }
3785
- } else if (menuOut === false) {
3786
- if (options.edge === 'left') {
3787
- menu.css('transform', 'translateX(-100%)');
3788
- } else {
3789
- menu.css('transform', 'translateX(100%)');
3790
- }
3791
- }
3792
- });
3793
- }
3794
-
3795
- // if closeOnClick, then add close event for all a tags in side sideNav
3796
- if (options.closeOnClick === true) {
3797
- menu.on("click.itemclick", "a:not(.collapsible-header)", function () {
3798
- if (!(window.innerWidth > 992 && menu.hasClass('fixed'))) {
3799
- removeMenu();
3800
- }
3801
- });
3802
- }
3803
-
3804
- var removeMenu = function (restoreNav) {
3805
- panning = false;
3806
- menuOut = false;
3807
- // Reenable scrolling
3808
- $('body').css({
3809
- overflow: '',
3810
- width: ''
3811
- });
3812
-
3813
- $('#sidenav-overlay').velocity({ opacity: 0 }, { duration: 200,
3814
- queue: false, easing: 'easeOutQuad',
3815
- complete: function () {
3816
- $(this).remove();
3817
- } });
3818
- if (options.edge === 'left') {
3819
- // Reset phantom div
3820
- $dragTarget.css({ width: '', right: '', left: '0' });
3821
- menu.velocity({ 'translateX': '-100%' }, { duration: 200,
3822
- queue: false,
3823
- easing: 'easeOutCubic',
3824
- complete: function () {
3825
- if (restoreNav === true) {
3826
- // Restore Fixed sidenav
3827
- menu.removeAttr('style');
3828
- menu.css('width', options.menuWidth);
3829
- }
3830
- }
3831
-
3832
- });
3833
- } else {
3834
- // Reset phantom div
3835
- $dragTarget.css({ width: '', right: '0', left: '' });
3836
- menu.velocity({ 'translateX': '100%' }, { duration: 200,
3837
- queue: false,
3838
- easing: 'easeOutCubic',
3839
- complete: function () {
3840
- if (restoreNav === true) {
3841
- // Restore Fixed sidenav
3842
- menu.removeAttr('style');
3843
- menu.css('width', options.menuWidth);
3844
- }
3845
- }
3846
- });
3847
- }
3848
-
3849
- // Callback
3850
- if (typeof options.onClose === 'function') {
3851
- options.onClose.call(this, menu);
3852
- }
3853
- };
3854
-
3855
- // Touch Event
3856
- var panning = false;
3857
- var menuOut = false;
3858
-
3859
- if (options.draggable) {
3860
- $dragTarget.on('click', function () {
3861
- if (menuOut) {
3862
- removeMenu();
3863
- }
3864
- });
3865
-
3866
- $dragTarget.hammer({
3867
- prevent_default: false
3868
- }).on('pan', function (e) {
3869
-
3870
- if (e.gesture.pointerType == "touch") {
3871
-
3872
- var direction = e.gesture.direction;
3873
- var x = e.gesture.center.x;
3874
- var y = e.gesture.center.y;
3875
- var velocityX = e.gesture.velocityX;
3876
-
3877
- // Vertical scroll bugfix
3878
- if (x === 0 && y === 0) {
3879
- return;
3880
- }
3881
-
3882
- // Disable Scrolling
3883
- var $body = $('body');
3884
- var $overlay = $('#sidenav-overlay');
3885
- var oldWidth = $body.innerWidth();
3886
- $body.css('overflow', 'hidden');
3887
- $body.width(oldWidth);
3888
-
3889
- // If overlay does not exist, create one and if it is clicked, close menu
3890
- if ($overlay.length === 0) {
3891
- $overlay = $('<div id="sidenav-overlay"></div>');
3892
- $overlay.css('opacity', 0).click(function () {
3893
- removeMenu();
3894
- });
3895
-
3896
- // Run 'onOpen' when sidenav is opened via touch/swipe if applicable
3897
- if (typeof options.onOpen === 'function') {
3898
- options.onOpen.call(this, menu);
3899
- }
3900
-
3901
- $('body').append($overlay);
3902
- }
3903
-
3904
- // Keep within boundaries
3905
- if (options.edge === 'left') {
3906
- if (x > options.menuWidth) {
3907
- x = options.menuWidth;
3908
- } else if (x < 0) {
3909
- x = 0;
3910
- }
3911
- }
3912
-
3913
- if (options.edge === 'left') {
3914
- // Left Direction
3915
- if (x < options.menuWidth / 2) {
3916
- menuOut = false;
3917
- }
3918
- // Right Direction
3919
- else if (x >= options.menuWidth / 2) {
3920
- menuOut = true;
3921
- }
3922
- menu.css('transform', 'translateX(' + (x - options.menuWidth) + 'px)');
3923
- } else {
3924
- // Left Direction
3925
- if (x < window.innerWidth - options.menuWidth / 2) {
3926
- menuOut = true;
3927
- }
3928
- // Right Direction
3929
- else if (x >= window.innerWidth - options.menuWidth / 2) {
3930
- menuOut = false;
3931
- }
3932
- var rightPos = x - options.menuWidth / 2;
3933
- if (rightPos < 0) {
3934
- rightPos = 0;
3935
- }
3936
-
3937
- menu.css('transform', 'translateX(' + rightPos + 'px)');
3938
- }
3939
-
3940
- // Percentage overlay
3941
- var overlayPerc;
3942
- if (options.edge === 'left') {
3943
- overlayPerc = x / options.menuWidth;
3944
- $overlay.velocity({ opacity: overlayPerc }, { duration: 10, queue: false, easing: 'easeOutQuad' });
3945
- } else {
3946
- overlayPerc = Math.abs((x - window.innerWidth) / options.menuWidth);
3947
- $overlay.velocity({ opacity: overlayPerc }, { duration: 10, queue: false, easing: 'easeOutQuad' });
3948
- }
3949
- }
3950
- }).on('panend', function (e) {
3951
-
3952
- if (e.gesture.pointerType == "touch") {
3953
- var $overlay = $('#sidenav-overlay');
3954
- var velocityX = e.gesture.velocityX;
3955
- var x = e.gesture.center.x;
3956
- var leftPos = x - options.menuWidth;
3957
- var rightPos = x - options.menuWidth / 2;
3958
- if (leftPos > 0) {
3959
- leftPos = 0;
3960
- }
3961
- if (rightPos < 0) {
3962
- rightPos = 0;
3963
- }
3964
- panning = false;
3965
-
3966
- if (options.edge === 'left') {
3967
- // If velocityX <= 0.3 then the user is flinging the menu closed so ignore menuOut
3968
- if (menuOut && velocityX <= 0.3 || velocityX < -0.5) {
3969
- // Return menu to open
3970
- if (leftPos !== 0) {
3971
- menu.velocity({ 'translateX': [0, leftPos] }, { duration: 300, queue: false, easing: 'easeOutQuad' });
3972
- }
3973
-
3974
- $overlay.velocity({ opacity: 1 }, { duration: 50, queue: false, easing: 'easeOutQuad' });
3975
- $dragTarget.css({ width: '50%', right: 0, left: '' });
3976
- menuOut = true;
3977
- } else if (!menuOut || velocityX > 0.3) {
3978
- // Enable Scrolling
3979
- $('body').css({
3980
- overflow: '',
3981
- width: ''
3982
- });
3983
- // Slide menu closed
3984
- menu.velocity({ 'translateX': [-1 * options.menuWidth - 10, leftPos] }, { duration: 200, queue: false, easing: 'easeOutQuad' });
3985
- $overlay.velocity({ opacity: 0 }, { duration: 200, queue: false, easing: 'easeOutQuad',
3986
- complete: function () {
3987
- // Run 'onClose' when sidenav is closed via touch/swipe if applicable
3988
- if (typeof options.onClose === 'function') {
3989
- options.onClose.call(this, menu);
3990
- }
3991
-
3992
- $(this).remove();
3993
- } });
3994
- $dragTarget.css({ width: '10px', right: '', left: 0 });
3995
- }
3996
- } else {
3997
- if (menuOut && velocityX >= -0.3 || velocityX > 0.5) {
3998
- // Return menu to open
3999
- if (rightPos !== 0) {
4000
- menu.velocity({ 'translateX': [0, rightPos] }, { duration: 300, queue: false, easing: 'easeOutQuad' });
4001
- }
4002
-
4003
- $overlay.velocity({ opacity: 1 }, { duration: 50, queue: false, easing: 'easeOutQuad' });
4004
- $dragTarget.css({ width: '50%', right: '', left: 0 });
4005
- menuOut = true;
4006
- } else if (!menuOut || velocityX < -0.3) {
4007
- // Enable Scrolling
4008
- $('body').css({
4009
- overflow: '',
4010
- width: ''
4011
- });
4012
-
4013
- // Slide menu closed
4014
- menu.velocity({ 'translateX': [options.menuWidth + 10, rightPos] }, { duration: 200, queue: false, easing: 'easeOutQuad' });
4015
- $overlay.velocity({ opacity: 0 }, { duration: 200, queue: false, easing: 'easeOutQuad',
4016
- complete: function () {
4017
- // Run 'onClose' when sidenav is closed via touch/swipe if applicable
4018
- if (typeof options.onClose === 'function') {
4019
- options.onClose.call(this, menu);
4020
- }
4021
-
4022
- $(this).remove();
4023
- } });
4024
- $dragTarget.css({ width: '10px', right: 0, left: '' });
4025
- }
4026
- }
4027
- }
4028
- });
4029
- }
4030
-
4031
- $this.off('click.sidenav').on('click.sidenav', function () {
4032
- if (menuOut === true) {
4033
- menuOut = false;
4034
- panning = false;
4035
- removeMenu();
4036
- } else {
4037
-
4038
- // Disable Scrolling
4039
- var $body = $('body');
4040
- var $overlay = $('<div id="sidenav-overlay"></div>');
4041
- var oldWidth = $body.innerWidth();
4042
- $body.css('overflow', 'hidden');
4043
- $body.width(oldWidth);
4044
-
4045
- // Push current drag target on top of DOM tree
4046
- $('body').append($dragTarget);
4047
-
4048
- if (options.edge === 'left') {
4049
- $dragTarget.css({ width: '50%', right: 0, left: '' });
4050
- menu.velocity({ 'translateX': [0, -1 * options.menuWidth] }, { duration: 300, queue: false, easing: 'easeOutQuad' });
4051
- } else {
4052
- $dragTarget.css({ width: '50%', right: '', left: 0 });
4053
- menu.velocity({ 'translateX': [0, options.menuWidth] }, { duration: 300, queue: false, easing: 'easeOutQuad' });
4054
- }
4055
-
4056
- // Overlay close on click
4057
- $overlay.css('opacity', 0).click(function () {
4058
- menuOut = false;
4059
- panning = false;
4060
- removeMenu();
4061
- $overlay.velocity({ opacity: 0 }, { duration: 300, queue: false, easing: 'easeOutQuad',
4062
- complete: function () {
4063
- $(this).remove();
4064
- }
4065
- });
4066
- });
4067
-
4068
- // Append body
4069
- $('body').append($overlay);
4070
- $overlay.velocity({ opacity: 1 }, { duration: 300, queue: false, easing: 'easeOutQuad',
4071
- complete: function () {
4072
- menuOut = true;
4073
- panning = false;
4074
- }
4075
- });
4076
-
4077
- // Callback
4078
- if (typeof options.onOpen === 'function') {
4079
- options.onOpen.call(this, menu);
4080
- }
4081
- }
4082
-
4083
- return false;
4084
- });
4085
- });
4086
- },
4087
- destroy: function () {
4088
- var $overlay = $('#sidenav-overlay');
4089
- var $dragTarget = $('.drag-target[data-sidenav="' + $(this).attr('data-activates') + '"]');
4090
- $overlay.trigger('click');
4091
- $dragTarget.remove();
4092
- $(this).off('click');
4093
- $overlay.remove();
4094
- },
4095
- show: function () {
4096
- this.trigger('click');
4097
- },
4098
- hide: function () {
4099
- $('#sidenav-overlay').trigger('click');
4100
- }
4101
- };
4102
-
4103
- $.fn.sideNav = function (methodOrOptions) {
4104
- if (methods[methodOrOptions]) {
4105
- return methods[methodOrOptions].apply(this, Array.prototype.slice.call(arguments, 1));
4106
- } else if (typeof methodOrOptions === 'object' || !methodOrOptions) {
4107
- // Default to "init"
4108
- return methods.init.apply(this, arguments);
4109
- } else {
4110
- $.error('Method ' + methodOrOptions + ' does not exist on jQuery.sideNav');
4111
- }
4112
- }; // Plugin end
4113
- })(jQuery);
4114
- ; /**
4115
- * Extend jquery with a scrollspy plugin.
4116
- * This watches the window scroll and fires events when elements are scrolled into viewport.
4117
- *
4118
- * throttle() and getTime() taken from Underscore.js
4119
- * https://github.com/jashkenas/underscore
4120
- *
4121
- * @author Copyright 2013 John Smart
4122
- * @license https://raw.github.com/thesmart/jquery-scrollspy/master/LICENSE
4123
- * @see https://github.com/thesmart
4124
- * @version 0.1.2
4125
- */
4126
- (function ($) {
4127
-
4128
- var jWindow = $(window);
4129
- var elements = [];
4130
- var elementsInView = [];
4131
- var isSpying = false;
4132
- var ticks = 0;
4133
- var unique_id = 1;
4134
- var offset = {
4135
- top: 0,
4136
- right: 0,
4137
- bottom: 0,
4138
- left: 0
4139
-
4140
- /**
4141
- * Find elements that are within the boundary
4142
- * @param {number} top
4143
- * @param {number} right
4144
- * @param {number} bottom
4145
- * @param {number} left
4146
- * @return {jQuery} A collection of elements
4147
- */
4148
- };function findElements(top, right, bottom, left) {
4149
- var hits = $();
4150
- $.each(elements, function (i, element) {
4151
- if (element.height() > 0) {
4152
- var elTop = element.offset().top,
4153
- elLeft = element.offset().left,
4154
- elRight = elLeft + element.width(),
4155
- elBottom = elTop + element.height();
4156
-
4157
- var isIntersect = !(elLeft > right || elRight < left || elTop > bottom || elBottom < top);
4158
-
4159
- if (isIntersect) {
4160
- hits.push(element);
4161
- }
4162
- }
4163
- });
4164
-
4165
- return hits;
4166
- }
4167
-
4168
- /**
4169
- * Called when the user scrolls the window
4170
- */
4171
- function onScroll(scrollOffset) {
4172
- // unique tick id
4173
- ++ticks;
4174
-
4175
- // viewport rectangle
4176
- var top = jWindow.scrollTop(),
4177
- left = jWindow.scrollLeft(),
4178
- right = left + jWindow.width(),
4179
- bottom = top + jWindow.height();
4180
-
4181
- // determine which elements are in view
4182
- var intersections = findElements(top + offset.top + scrollOffset || 200, right + offset.right, bottom + offset.bottom, left + offset.left);
4183
- $.each(intersections, function (i, element) {
4184
-
4185
- var lastTick = element.data('scrollSpy:ticks');
4186
- if (typeof lastTick != 'number') {
4187
- // entered into view
4188
- element.triggerHandler('scrollSpy:enter');
4189
- }
4190
-
4191
- // update tick id
4192
- element.data('scrollSpy:ticks', ticks);
4193
- });
4194
-
4195
- // determine which elements are no longer in view
4196
- $.each(elementsInView, function (i, element) {
4197
- var lastTick = element.data('scrollSpy:ticks');
4198
- if (typeof lastTick == 'number' && lastTick !== ticks) {
4199
- // exited from view
4200
- element.triggerHandler('scrollSpy:exit');
4201
- element.data('scrollSpy:ticks', null);
4202
- }
4203
- });
4204
-
4205
- // remember elements in view for next tick
4206
- elementsInView = intersections;
4207
- }
4208
-
4209
- /**
4210
- * Called when window is resized
4211
- */
4212
- function onWinSize() {
4213
- jWindow.trigger('scrollSpy:winSize');
4214
- }
4215
-
4216
- /**
4217
- * Enables ScrollSpy using a selector
4218
- * @param {jQuery|string} selector The elements collection, or a selector
4219
- * @param {Object=} options Optional.
4220
- throttle : number -> scrollspy throttling. Default: 100 ms
4221
- offsetTop : number -> offset from top. Default: 0
4222
- offsetRight : number -> offset from right. Default: 0
4223
- offsetBottom : number -> offset from bottom. Default: 0
4224
- offsetLeft : number -> offset from left. Default: 0
4225
- activeClass : string -> Class name to be added to the active link. Default: active
4226
- * @returns {jQuery}
4227
- */
4228
- $.scrollSpy = function (selector, options) {
4229
- var defaults = {
4230
- throttle: 100,
4231
- scrollOffset: 200, // offset - 200 allows elements near bottom of page to scroll
4232
- activeClass: 'active',
4233
- getActiveElement: function (id) {
4234
- return 'a[href="#' + id + '"]';
4235
- }
4236
- };
4237
- options = $.extend(defaults, options);
4238
-
4239
- var visible = [];
4240
- selector = $(selector);
4241
- selector.each(function (i, element) {
4242
- elements.push($(element));
4243
- $(element).data("scrollSpy:id", i);
4244
- // Smooth scroll to section
4245
- $('a[href="#' + $(element).attr('id') + '"]').click(function (e) {
4246
- e.preventDefault();
4247
- var offset = $(Materialize.escapeHash(this.hash)).offset().top + 1;
4248
- $('html, body').animate({ scrollTop: offset - options.scrollOffset }, { duration: 400, queue: false, easing: 'easeOutCubic' });
4249
- });
4250
- });
4251
-
4252
- offset.top = options.offsetTop || 0;
4253
- offset.right = options.offsetRight || 0;
4254
- offset.bottom = options.offsetBottom || 0;
4255
- offset.left = options.offsetLeft || 0;
4256
-
4257
- var throttledScroll = Materialize.throttle(function () {
4258
- onScroll(options.scrollOffset);
4259
- }, options.throttle || 100);
4260
- var readyScroll = function () {
4261
- $(document).ready(throttledScroll);
4262
- };
4263
-
4264
- if (!isSpying) {
4265
- jWindow.on('scroll', readyScroll);
4266
- jWindow.on('resize', readyScroll);
4267
- isSpying = true;
4268
- }
4269
-
4270
- // perform a scan once, after current execution context, and after dom is ready
4271
- setTimeout(readyScroll, 0);
4272
-
4273
- selector.on('scrollSpy:enter', function () {
4274
- visible = $.grep(visible, function (value) {
4275
- return value.height() != 0;
4276
- });
4277
-
4278
- var $this = $(this);
4279
-
4280
- if (visible[0]) {
4281
- $(options.getActiveElement(visible[0].attr('id'))).removeClass(options.activeClass);
4282
- if ($this.data('scrollSpy:id') < visible[0].data('scrollSpy:id')) {
4283
- visible.unshift($(this));
4284
- } else {
4285
- visible.push($(this));
4286
- }
4287
- } else {
4288
- visible.push($(this));
4289
- }
4290
-
4291
- $(options.getActiveElement(visible[0].attr('id'))).addClass(options.activeClass);
4292
- });
4293
- selector.on('scrollSpy:exit', function () {
4294
- visible = $.grep(visible, function (value) {
4295
- return value.height() != 0;
4296
- });
4297
-
4298
- if (visible[0]) {
4299
- $(options.getActiveElement(visible[0].attr('id'))).removeClass(options.activeClass);
4300
- var $this = $(this);
4301
- visible = $.grep(visible, function (value) {
4302
- return value.attr('id') != $this.attr('id');
4303
- });
4304
- if (visible[0]) {
4305
- // Check if empty
4306
- $(options.getActiveElement(visible[0].attr('id'))).addClass(options.activeClass);
4307
- }
4308
- }
4309
- });
4310
-
4311
- return selector;
4312
- };
4313
-
4314
- /**
4315
- * Listen for window resize events
4316
- * @param {Object=} options Optional. Set { throttle: number } to change throttling. Default: 100 ms
4317
- * @returns {jQuery} $(window)
4318
- */
4319
- $.winSizeSpy = function (options) {
4320
- $.winSizeSpy = function () {
4321
- return jWindow;
4322
- }; // lock from multiple calls
4323
- options = options || {
4324
- throttle: 100
4325
- };
4326
- return jWindow.on('resize', Materialize.throttle(onWinSize, options.throttle || 100));
4327
- };
4328
-
4329
- /**
4330
- * Enables ScrollSpy on a collection of elements
4331
- * e.g. $('.scrollSpy').scrollSpy()
4332
- * @param {Object=} options Optional.
4333
- throttle : number -> scrollspy throttling. Default: 100 ms
4334
- offsetTop : number -> offset from top. Default: 0
4335
- offsetRight : number -> offset from right. Default: 0
4336
- offsetBottom : number -> offset from bottom. Default: 0
4337
- offsetLeft : number -> offset from left. Default: 0
4338
- * @returns {jQuery}
4339
- */
4340
- $.fn.scrollSpy = function (options) {
4341
- return $.scrollSpy($(this), options);
4342
- };
4343
- })(jQuery);
4344
- ;(function ($) {
4345
- $(document).ready(function () {
4346
-
4347
- // Function to update labels of text fields
4348
- Materialize.updateTextFields = function () {
4349
- var input_selector = 'input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea';
4350
- $(input_selector).each(function (index, element) {
4351
- var $this = $(this);
4352
- if ($(element).val().length > 0 || $(element).is(':focus') || element.autofocus || $this.attr('placeholder') !== undefined) {
4353
- $this.siblings('label').addClass('active');
4354
- } else if ($(element)[0].validity) {
4355
- $this.siblings('label').toggleClass('active', $(element)[0].validity.badInput === true);
4356
- } else {
4357
- $this.siblings('label').removeClass('active');
4358
- }
4359
- });
4360
- };
4361
-
4362
- // Text based inputs
4363
- var input_selector = 'input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea';
4364
-
4365
- // Add active if form auto complete
4366
- $(document).on('change', input_selector, function () {
4367
- if ($(this).val().length !== 0 || $(this).attr('placeholder') !== undefined) {
4368
- $(this).siblings('label').addClass('active');
4369
- }
4370
- validate_field($(this));
4371
- });
4372
-
4373
- // Add active if input element has been pre-populated on document ready
4374
- $(document).ready(function () {
4375
- Materialize.updateTextFields();
4376
- });
4377
-
4378
- // HTML DOM FORM RESET handling
4379
- $(document).on('reset', function (e) {
4380
- var formReset = $(e.target);
4381
- if (formReset.is('form')) {
4382
- formReset.find(input_selector).removeClass('valid').removeClass('invalid');
4383
- formReset.find(input_selector).each(function () {
4384
- if ($(this).attr('value') === '') {
4385
- $(this).siblings('label').removeClass('active');
4386
- }
4387
- });
4388
-
4389
- // Reset select
4390
- formReset.find('select.initialized').each(function () {
4391
- var reset_text = formReset.find('option[selected]').text();
4392
- formReset.siblings('input.select-dropdown').val(reset_text);
4393
- });
4394
- }
4395
- });
4396
-
4397
- // Add active when element has focus
4398
- $(document).on('focus', input_selector, function () {
4399
- $(this).siblings('label, .prefix').addClass('active');
4400
- });
4401
-
4402
- $(document).on('blur', input_selector, function () {
4403
- var $inputElement = $(this);
4404
- var selector = ".prefix";
4405
-
4406
- if ($inputElement.val().length === 0 && $inputElement[0].validity.badInput !== true && $inputElement.attr('placeholder') === undefined) {
4407
- selector += ", label";
4408
- }
4409
-
4410
- $inputElement.siblings(selector).removeClass('active');
4411
-
4412
- validate_field($inputElement);
4413
- });
4414
-
4415
- window.validate_field = function (object) {
4416
- var hasLength = object.attr('data-length') !== undefined;
4417
- var lenAttr = parseInt(object.attr('data-length'));
4418
- var len = object.val().length;
4419
-
4420
- if (object.val().length === 0 && object[0].validity.badInput === false && !object.is(':required')) {
4421
- if (object.hasClass('validate')) {
4422
- object.removeClass('valid');
4423
- object.removeClass('invalid');
4424
- }
4425
- } else {
4426
- if (object.hasClass('validate')) {
4427
- // Check for character counter attributes
4428
- if (object.is(':valid') && hasLength && len <= lenAttr || object.is(':valid') && !hasLength) {
4429
- object.removeClass('invalid');
4430
- object.addClass('valid');
4431
- } else {
4432
- object.removeClass('valid');
4433
- object.addClass('invalid');
4434
- }
4435
- }
4436
- }
4437
- };
4438
-
4439
- // Radio and Checkbox focus class
4440
- var radio_checkbox = 'input[type=radio], input[type=checkbox]';
4441
- $(document).on('keyup.radio', radio_checkbox, function (e) {
4442
- // TAB, check if tabbing to radio or checkbox.
4443
- if (e.which === 9) {
4444
- $(this).addClass('tabbed');
4445
- var $this = $(this);
4446
- $this.one('blur', function (e) {
4447
-
4448
- $(this).removeClass('tabbed');
4449
- });
4450
- return;
4451
- }
4452
- });
4453
-
4454
- // Textarea Auto Resize
4455
- var hiddenDiv = $('.hiddendiv').first();
4456
- if (!hiddenDiv.length) {
4457
- hiddenDiv = $('<div class="hiddendiv common"></div>');
4458
- $('body').append(hiddenDiv);
4459
- }
4460
- var text_area_selector = '.materialize-textarea';
4461
-
4462
- function textareaAutoResize($textarea) {
4463
- // Set font properties of hiddenDiv
4464
-
4465
- var fontFamily = $textarea.css('font-family');
4466
- var fontSize = $textarea.css('font-size');
4467
- var lineHeight = $textarea.css('line-height');
4468
- var padding = $textarea.css('padding');
4469
-
4470
- if (fontSize) {
4471
- hiddenDiv.css('font-size', fontSize);
4472
- }
4473
- if (fontFamily) {
4474
- hiddenDiv.css('font-family', fontFamily);
4475
- }
4476
- if (lineHeight) {
4477
- hiddenDiv.css('line-height', lineHeight);
4478
- }
4479
- if (padding) {
4480
- hiddenDiv.css('padding', padding);
4481
- }
4482
-
4483
- // Set original-height, if none
4484
- if (!$textarea.data('original-height')) {
4485
- $textarea.data('original-height', $textarea.height());
4486
- }
4487
-
4488
- if ($textarea.attr('wrap') === 'off') {
4489
- hiddenDiv.css('overflow-wrap', 'normal').css('white-space', 'pre');
4490
- }
4491
-
4492
- hiddenDiv.text($textarea.val() + '\n');
4493
- var content = hiddenDiv.html().replace(/\n/g, '<br>');
4494
- hiddenDiv.html(content);
4495
-
4496
- // When textarea is hidden, width goes crazy.
4497
- // Approximate with half of window size
4498
-
4499
- if ($textarea.is(':visible')) {
4500
- hiddenDiv.css('width', $textarea.width());
4501
- } else {
4502
- hiddenDiv.css('width', $(window).width() / 2);
4503
- }
4504
-
4505
- /**
4506
- * Resize if the new height is greater than the
4507
- * original height of the textarea
4508
- */
4509
- if ($textarea.data('original-height') <= hiddenDiv.height()) {
4510
- $textarea.css('height', hiddenDiv.height());
4511
- } else if ($textarea.val().length < $textarea.data('previous-length')) {
4512
- /**
4513
- * In case the new height is less than original height, it
4514
- * means the textarea has less text than before
4515
- * So we set the height to the original one
4516
- */
4517
- $textarea.css('height', $textarea.data('original-height'));
4518
- }
4519
- $textarea.data('previous-length', $textarea.val().length);
4520
- }
4521
-
4522
- $(text_area_selector).each(function () {
4523
- var $textarea = $(this);
4524
- /**
4525
- * Instead of resizing textarea on document load,
4526
- * store the original height and the original length
4527
- */
4528
- $textarea.data('original-height', $textarea.height());
4529
- $textarea.data('previous-length', $textarea.val().length);
4530
- });
4531
-
4532
- $('body').on('keyup keydown autoresize', text_area_selector, function () {
4533
- textareaAutoResize($(this));
4534
- });
4535
-
4536
- // File Input Path
4537
- $(document).on('change', '.file-field input[type="file"]', function () {
4538
- var file_field = $(this).closest('.file-field');
4539
- var path_input = file_field.find('input.file-path');
4540
- var files = $(this)[0].files;
4541
- var file_names = [];
4542
- for (var i = 0; i < files.length; i++) {
4543
- file_names.push(files[i].name);
4544
- }
4545
- path_input.val(file_names.join(", "));
4546
- path_input.trigger('change');
4547
- });
4548
-
4549
- /****************
4550
- * Range Input *
4551
- ****************/
4552
-
4553
- var range_type = 'input[type=range]';
4554
- var range_mousedown = false;
4555
- var left;
4556
-
4557
- $(range_type).each(function () {
4558
- var thumb = $('<span class="thumb"><span class="value"></span></span>');
4559
- $(this).after(thumb);
4560
- });
4561
-
4562
- var showRangeBubble = function (thumb) {
4563
- var paddingLeft = parseInt(thumb.parent().css('padding-left'));
4564
- var marginLeft = -7 + paddingLeft + 'px';
4565
- thumb.velocity({ height: "30px", width: "30px", top: "-30px", marginLeft: marginLeft }, { duration: 300, easing: 'easeOutExpo' });
4566
- };
4567
-
4568
- var calcRangeOffset = function (range) {
4569
- var width = range.width() - 15;
4570
- var max = parseFloat(range.attr('max'));
4571
- var min = parseFloat(range.attr('min'));
4572
- var percent = (parseFloat(range.val()) - min) / (max - min);
4573
- return percent * width;
4574
- };
4575
-
4576
- var range_wrapper = '.range-field';
4577
- $(document).on('change', range_type, function (e) {
4578
- var thumb = $(this).siblings('.thumb');
4579
- thumb.find('.value').html($(this).val());
4580
-
4581
- if (!thumb.hasClass('active')) {
4582
- showRangeBubble(thumb);
4583
- }
4584
-
4585
- var offsetLeft = calcRangeOffset($(this));
4586
- thumb.addClass('active').css('left', offsetLeft);
4587
- });
4588
-
4589
- $(document).on('mousedown touchstart', range_type, function (e) {
4590
- var thumb = $(this).siblings('.thumb');
4591
-
4592
- // If thumb indicator does not exist yet, create it
4593
- if (thumb.length <= 0) {
4594
- thumb = $('<span class="thumb"><span class="value"></span></span>');
4595
- $(this).after(thumb);
4596
- }
4597
-
4598
- // Set indicator value
4599
- thumb.find('.value').html($(this).val());
4600
-
4601
- range_mousedown = true;
4602
- $(this).addClass('active');
4603
-
4604
- if (!thumb.hasClass('active')) {
4605
- showRangeBubble(thumb);
4606
- }
4607
-
4608
- if (e.type !== 'input') {
4609
- var offsetLeft = calcRangeOffset($(this));
4610
- thumb.addClass('active').css('left', offsetLeft);
4611
- }
4612
- });
4613
-
4614
- $(document).on('mouseup touchend', range_wrapper, function () {
4615
- range_mousedown = false;
4616
- $(this).removeClass('active');
4617
- });
4618
-
4619
- $(document).on('input mousemove touchmove', range_wrapper, function (e) {
4620
- var thumb = $(this).children('.thumb');
4621
- var left;
4622
- var input = $(this).find(range_type);
4623
-
4624
- if (range_mousedown) {
4625
- if (!thumb.hasClass('active')) {
4626
- showRangeBubble(thumb);
4627
- }
4628
-
4629
- var offsetLeft = calcRangeOffset(input);
4630
- thumb.addClass('active').css('left', offsetLeft);
4631
- thumb.find('.value').html(thumb.siblings(range_type).val());
4632
- }
4633
- });
4634
-
4635
- $(document).on('mouseout touchleave', range_wrapper, function () {
4636
- if (!range_mousedown) {
4637
-
4638
- var thumb = $(this).children('.thumb');
4639
- var paddingLeft = parseInt($(this).css('padding-left'));
4640
- var marginLeft = 7 + paddingLeft + 'px';
4641
-
4642
- if (thumb.hasClass('active')) {
4643
- thumb.velocity({ height: '0', width: '0', top: '10px', marginLeft: marginLeft }, { duration: 100 });
4644
- }
4645
- thumb.removeClass('active');
4646
- }
4647
- });
4648
-
4649
- /**************************
4650
- * Auto complete plugin *
4651
- *************************/
4652
- $.fn.autocomplete = function (options) {
4653
- // Defaults
4654
- var defaults = {
4655
- data: {},
4656
- limit: Infinity,
4657
- onAutocomplete: null,
4658
- minLength: 1
4659
- };
4660
-
4661
- options = $.extend(defaults, options);
4662
-
4663
- return this.each(function () {
4664
- var $input = $(this);
4665
- var data = options.data,
4666
- count = 0,
4667
- activeIndex = -1,
4668
- oldVal,
4669
- $inputDiv = $input.closest('.input-field'); // Div to append on
4670
-
4671
- // Check if data isn't empty
4672
- if (!$.isEmptyObject(data)) {
4673
- var $autocomplete = $('<ul class="autocomplete-content dropdown-content"></ul>');
4674
- var $oldAutocomplete;
4675
-
4676
- // Append autocomplete element.
4677
- // Prevent double structure init.
4678
- if ($inputDiv.length) {
4679
- $oldAutocomplete = $inputDiv.children('.autocomplete-content.dropdown-content').first();
4680
- if (!$oldAutocomplete.length) {
4681
- $inputDiv.append($autocomplete); // Set ul in body
4682
- }
4683
- } else {
4684
- $oldAutocomplete = $input.next('.autocomplete-content.dropdown-content');
4685
- if (!$oldAutocomplete.length) {
4686
- $input.after($autocomplete);
4687
- }
4688
- }
4689
- if ($oldAutocomplete.length) {
4690
- $autocomplete = $oldAutocomplete;
4691
- }
4692
-
4693
- // Highlight partial match.
4694
- var highlight = function (string, $el) {
4695
- var img = $el.find('img');
4696
- var matchStart = $el.text().toLowerCase().indexOf("" + string.toLowerCase() + ""),
4697
- matchEnd = matchStart + string.length - 1,
4698
- beforeMatch = $el.text().slice(0, matchStart),
4699
- matchText = $el.text().slice(matchStart, matchEnd + 1),
4700
- afterMatch = $el.text().slice(matchEnd + 1);
4701
- $el.html("<span>" + beforeMatch + "<span class='highlight'>" + matchText + "</span>" + afterMatch + "</span>");
4702
- if (img.length) {
4703
- $el.prepend(img);
4704
- }
4705
- };
4706
-
4707
- // Reset current element position
4708
- var resetCurrentElement = function () {
4709
- activeIndex = -1;
4710
- $autocomplete.find('.active').removeClass('active');
4711
- };
4712
-
4713
- // Remove autocomplete elements
4714
- var removeAutocomplete = function () {
4715
- $autocomplete.empty();
4716
- resetCurrentElement();
4717
- oldVal = undefined;
4718
- };
4719
-
4720
- $input.off('blur.autocomplete').on('blur.autocomplete', function () {
4721
- removeAutocomplete();
4722
- });
4723
-
4724
- // Perform search
4725
- $input.off('keyup.autocomplete focus.autocomplete').on('keyup.autocomplete focus.autocomplete', function (e) {
4726
- // Reset count.
4727
- count = 0;
4728
- var val = $input.val().toLowerCase();
4729
-
4730
- // Don't capture enter or arrow key usage.
4731
- if (e.which === 13 || e.which === 38 || e.which === 40) {
4732
- return;
4733
- }
4734
-
4735
- // Check if the input isn't empty
4736
- if (oldVal !== val) {
4737
- removeAutocomplete();
4738
-
4739
- if (val.length >= options.minLength) {
4740
- for (var key in data) {
4741
- if (data.hasOwnProperty(key) && key.toLowerCase().indexOf(val) !== -1) {
4742
- // Break if past limit
4743
- if (count >= options.limit) {
4744
- break;
4745
- }
4746
-
4747
- var autocompleteOption = $('<li></li>');
4748
- if (!!data[key]) {
4749
- autocompleteOption.append('<img src="' + data[key] + '" class="right circle"><span>' + key + '</span>');
4750
- } else {
4751
- autocompleteOption.append('<span>' + key + '</span>');
4752
- }
4753
-
4754
- $autocomplete.append(autocompleteOption);
4755
- highlight(val, autocompleteOption);
4756
- count++;
4757
- }
4758
- }
4759
- }
4760
- }
4761
-
4762
- // Update oldVal
4763
- oldVal = val;
4764
- });
4765
-
4766
- $input.off('keydown.autocomplete').on('keydown.autocomplete', function (e) {
4767
- // Arrow keys and enter key usage
4768
- var keyCode = e.which,
4769
- liElement,
4770
- numItems = $autocomplete.children('li').length,
4771
- $active = $autocomplete.children('.active').first();
4772
-
4773
- // select element on Enter
4774
- if (keyCode === 13 && activeIndex >= 0) {
4775
- liElement = $autocomplete.children('li').eq(activeIndex);
4776
- if (liElement.length) {
4777
- liElement.trigger('mousedown.autocomplete');
4778
- e.preventDefault();
4779
- }
4780
- return;
4781
- }
4782
-
4783
- // Capture up and down key
4784
- if (keyCode === 38 || keyCode === 40) {
4785
- e.preventDefault();
4786
-
4787
- if (keyCode === 38 && activeIndex > 0) {
4788
- activeIndex--;
4789
- }
4790
-
4791
- if (keyCode === 40 && activeIndex < numItems - 1) {
4792
- activeIndex++;
4793
- }
4794
-
4795
- $active.removeClass('active');
4796
- if (activeIndex >= 0) {
4797
- $autocomplete.children('li').eq(activeIndex).addClass('active');
4798
- }
4799
- }
4800
- });
4801
-
4802
- // Set input value
4803
- $autocomplete.off('mousedown.autocomplete touchstart.autocomplete').on('mousedown.autocomplete touchstart.autocomplete', 'li', function () {
4804
- var text = $(this).text().trim();
4805
- $input.val(text);
4806
- $input.trigger('change');
4807
- removeAutocomplete();
4808
-
4809
- // Handle onAutocomplete callback.
4810
- if (typeof options.onAutocomplete === "function") {
4811
- options.onAutocomplete.call(this, text);
4812
- }
4813
- });
4814
-
4815
- // Empty data
4816
- } else {
4817
- $input.off('keyup.autocomplete focus.autocomplete');
4818
- }
4819
- });
4820
- };
4821
- }); // End of $(document).ready
4822
-
4823
- /*******************
4824
- * Select Plugin *
4825
- ******************/
4826
- $.fn.material_select = function (callback) {
4827
- $(this).each(function () {
4828
- var $select = $(this);
4829
-
4830
- if ($select.hasClass('browser-default')) {
4831
- return; // Continue to next (return false breaks out of entire loop)
4832
- }
4833
-
4834
- var multiple = $select.attr('multiple') ? true : false,
4835
- lastID = $select.attr('data-select-id'); // Tear down structure if Select needs to be rebuilt
4836
-
4837
- if (lastID) {
4838
- $select.parent().find('span.caret').remove();
4839
- $select.parent().find('input').remove();
4840
-
4841
- $select.unwrap();
4842
- $('ul#select-options-' + lastID).remove();
4843
- }
4844
-
4845
- // If destroying the select, remove the selelct-id and reset it to it's uninitialized state.
4846
- if (callback === 'destroy') {
4847
- $select.removeAttr('data-select-id').removeClass('initialized');
4848
- $(window).off('click.select');
4849
- return;
4850
- }
4851
-
4852
- var uniqueID = Materialize.guid();
4853
- $select.attr('data-select-id', uniqueID);
4854
- var wrapper = $('<div class="select-wrapper"></div>');
4855
- wrapper.addClass($select.attr('class'));
4856
- if ($select.is(':disabled')) wrapper.addClass('disabled');
4857
- var options = $('<ul id="select-options-' + uniqueID + '" class="dropdown-content select-dropdown ' + (multiple ? 'multiple-select-dropdown' : '') + '"></ul>'),
4858
- selectChildren = $select.children('option, optgroup'),
4859
- valuesSelected = [],
4860
- optionsHover = false;
4861
-
4862
- var label = $select.find('option:selected').html() || $select.find('option:first').html() || "";
4863
-
4864
- // Function that renders and appends the option taking into
4865
- // account type and possible image icon.
4866
- var appendOptionWithIcon = function (select, option, type) {
4867
- // Add disabled attr if disabled
4868
- var disabledClass = option.is(':disabled') ? 'disabled ' : '';
4869
- var optgroupClass = type === 'optgroup-option' ? 'optgroup-option ' : '';
4870
- var multipleCheckbox = multiple ? '<input type="checkbox"' + disabledClass + '/><label></label>' : '';
4871
-
4872
- // add icons
4873
- var icon_url = option.data('icon');
4874
- var classes = option.attr('class');
4875
- if (!!icon_url) {
4876
- var classString = '';
4877
- if (!!classes) classString = ' class="' + classes + '"';
4878
-
4879
- // Check for multiple type.
4880
- options.append($('<li class="' + disabledClass + optgroupClass + '"><img alt="" src="' + icon_url + '"' + classString + '><span>' + multipleCheckbox + option.html() + '</span></li>'));
4881
- return true;
4882
- }
4883
-
4884
- // Check for multiple type.
4885
- options.append($('<li class="' + disabledClass + optgroupClass + '"><span>' + multipleCheckbox + option.html() + '</span></li>'));
4886
- };
4887
-
4888
- /* Create dropdown structure. */
4889
- if (selectChildren.length) {
4890
- selectChildren.each(function () {
4891
- if ($(this).is('option')) {
4892
- // Direct descendant option.
4893
- if (multiple) {
4894
- appendOptionWithIcon($select, $(this), 'multiple');
4895
- } else {
4896
- appendOptionWithIcon($select, $(this));
4897
- }
4898
- } else if ($(this).is('optgroup')) {
4899
- // Optgroup.
4900
- var selectOptions = $(this).children('option');
4901
- options.append($('<li class="optgroup"><span>' + $(this).attr('label') + '</span></li>'));
4902
-
4903
- selectOptions.each(function () {
4904
- appendOptionWithIcon($select, $(this), 'optgroup-option');
4905
- });
4906
- }
4907
- });
4908
- }
4909
-
4910
- options.find('li:not(.optgroup)').each(function (i) {
4911
- $(this).click(function (e) {
4912
- // Check if option element is disabled
4913
- if (!$(this).hasClass('disabled') && !$(this).hasClass('optgroup')) {
4914
- var selected = true;
4915
-
4916
- if (multiple) {
4917
- $('input[type="checkbox"]', this).prop('checked', function (i, v) {
4918
- return !v;
4919
- });
4920
- selected = toggleEntryFromArray(valuesSelected, i, $select);
4921
- $newSelect.trigger('focus');
4922
- } else {
4923
- options.find('li').removeClass('active');
4924
- $(this).toggleClass('active');
4925
- $newSelect.val($(this).text());
4926
- }
4927
-
4928
- activateOption(options, $(this));
4929
- $select.find('option').eq(i).prop('selected', selected);
4930
- // Trigger onchange() event
4931
- $select.trigger('change');
4932
- if (typeof callback !== 'undefined') callback();
4933
- }
4934
-
4935
- e.stopPropagation();
4936
- });
4937
- });
4938
-
4939
- // Wrap Elements
4940
- $select.wrap(wrapper);
4941
- // Add Select Display Element
4942
- var dropdownIcon = $('<span class="caret">&#9660;</span>');
4943
-
4944
- // escape double quotes
4945
- var sanitizedLabelHtml = label.replace(/"/g, '&quot;');
4946
-
4947
- var $newSelect = $('<input type="text" class="select-dropdown" readonly="true" ' + ($select.is(':disabled') ? 'disabled' : '') + ' data-activates="select-options-' + uniqueID + '" value="' + sanitizedLabelHtml + '"/>');
4948
- $select.before($newSelect);
4949
- $newSelect.before(dropdownIcon);
4950
-
4951
- $newSelect.after(options);
4952
- // Check if section element is disabled
4953
- if (!$select.is(':disabled')) {
4954
- $newSelect.dropdown({ 'hover': false });
4955
- }
4956
-
4957
- // Copy tabindex
4958
- if ($select.attr('tabindex')) {
4959
- $($newSelect[0]).attr('tabindex', $select.attr('tabindex'));
4960
- }
4961
-
4962
- $select.addClass('initialized');
4963
-
4964
- $newSelect.on({
4965
- 'focus': function () {
4966
- if ($('ul.select-dropdown').not(options[0]).is(':visible')) {
4967
- $('input.select-dropdown').trigger('close');
4968
- $(window).off('click.select');
4969
- }
4970
- if (!options.is(':visible')) {
4971
- $(this).trigger('open', ['focus']);
4972
- var label = $(this).val();
4973
- if (multiple && label.indexOf(',') >= 0) {
4974
- label = label.split(',')[0];
4975
- }
4976
-
4977
- var selectedOption = options.find('li').filter(function () {
4978
- return $(this).text().toLowerCase() === label.toLowerCase();
4979
- })[0];
4980
- activateOption(options, selectedOption, true);
4981
-
4982
- $(window).off('click.select').on('click.select', function () {
4983
- multiple && (optionsHover || $newSelect.trigger('close'));
4984
- $(window).off('click.select');
4985
- });
4986
- }
4987
- },
4988
- 'click': function (e) {
4989
- e.stopPropagation();
4990
- }
4991
- });
4992
-
4993
- $newSelect.on('blur', function () {
4994
- if (!multiple) {
4995
- $(this).trigger('close');
4996
- $(window).off('click.select');
4997
- }
4998
- options.find('li.selected').removeClass('selected');
4999
- });
5000
-
5001
- options.hover(function () {
5002
- optionsHover = true;
5003
- }, function () {
5004
- optionsHover = false;
5005
- });
5006
-
5007
- // Add initial multiple selections.
5008
- if (multiple) {
5009
- $select.find("option:selected:not(:disabled)").each(function () {
5010
- var index = this.index;
5011
-
5012
- toggleEntryFromArray(valuesSelected, index, $select);
5013
- options.find("li:not(.optgroup)").eq(index).find(":checkbox").prop("checked", true);
5014
- });
5015
- }
5016
-
5017
- /**
5018
- * Make option as selected and scroll to selected position
5019
- * @param {jQuery} collection Select options jQuery element
5020
- * @param {Element} newOption element of the new option
5021
- * @param {Boolean} firstActivation If on first activation of select
5022
- */
5023
- var activateOption = function (collection, newOption, firstActivation) {
5024
- if (newOption) {
5025
- collection.find('li.selected').removeClass('selected');
5026
- var option = $(newOption);
5027
- option.addClass('selected');
5028
- if (!multiple || !!firstActivation) {
5029
- options.scrollTo(option);
5030
- }
5031
- }
5032
- };
5033
-
5034
- // Allow user to search by typing
5035
- // this array is cleared after 1 second
5036
- var filterQuery = [],
5037
- onKeyDown = function (e) {
5038
- // TAB - switch to another input
5039
- if (e.which == 9) {
5040
- $newSelect.trigger('close');
5041
- return;
5042
- }
5043
-
5044
- // ARROW DOWN WHEN SELECT IS CLOSED - open select options
5045
- if (e.which == 40 && !options.is(':visible')) {
5046
- $newSelect.trigger('open');
5047
- return;
5048
- }
5049
-
5050
- // ENTER WHEN SELECT IS CLOSED - submit form
5051
- if (e.which == 13 && !options.is(':visible')) {
5052
- return;
5053
- }
5054
-
5055
- e.preventDefault();
5056
-
5057
- // CASE WHEN USER TYPE LETTERS
5058
- var letter = String.fromCharCode(e.which).toLowerCase(),
5059
- nonLetters = [9, 13, 27, 38, 40];
5060
- if (letter && nonLetters.indexOf(e.which) === -1) {
5061
- filterQuery.push(letter);
5062
-
5063
- var string = filterQuery.join(''),
5064
- newOption = options.find('li').filter(function () {
5065
- return $(this).text().toLowerCase().indexOf(string) === 0;
5066
- })[0];
5067
-
5068
- if (newOption) {
5069
- activateOption(options, newOption);
5070
- }
5071
- }
5072
-
5073
- // ENTER - select option and close when select options are opened
5074
- if (e.which == 13) {
5075
- var activeOption = options.find('li.selected:not(.disabled)')[0];
5076
- if (activeOption) {
5077
- $(activeOption).trigger('click');
5078
- if (!multiple) {
5079
- $newSelect.trigger('close');
5080
- }
5081
- }
5082
- }
5083
-
5084
- // ARROW DOWN - move to next not disabled option
5085
- if (e.which == 40) {
5086
- if (options.find('li.selected').length) {
5087
- newOption = options.find('li.selected').next('li:not(.disabled)')[0];
5088
- } else {
5089
- newOption = options.find('li:not(.disabled)')[0];
5090
- }
5091
- activateOption(options, newOption);
5092
- }
5093
-
5094
- // ESC - close options
5095
- if (e.which == 27) {
5096
- $newSelect.trigger('close');
5097
- }
5098
-
5099
- // ARROW UP - move to previous not disabled option
5100
- if (e.which == 38) {
5101
- newOption = options.find('li.selected').prev('li:not(.disabled)')[0];
5102
- if (newOption) activateOption(options, newOption);
5103
- }
5104
-
5105
- // Automaticaly clean filter query so user can search again by starting letters
5106
- setTimeout(function () {
5107
- filterQuery = [];
5108
- }, 1000);
5109
- };
5110
-
5111
- $newSelect.on('keydown', onKeyDown);
5112
- });
5113
-
5114
- function toggleEntryFromArray(entriesArray, entryIndex, select) {
5115
- var index = entriesArray.indexOf(entryIndex),
5116
- notAdded = index === -1;
5117
-
5118
- if (notAdded) {
5119
- entriesArray.push(entryIndex);
5120
- } else {
5121
- entriesArray.splice(index, 1);
5122
- }
5123
-
5124
- select.siblings('ul.dropdown-content').find('li:not(.optgroup)').eq(entryIndex).toggleClass('active');
5125
-
5126
- // use notAdded instead of true (to detect if the option is selected or not)
5127
- select.find('option').eq(entryIndex).prop('selected', notAdded);
5128
- setValueToInput(entriesArray, select);
5129
-
5130
- return notAdded;
5131
- }
5132
-
5133
- function setValueToInput(entriesArray, select) {
5134
- var value = '';
5135
-
5136
- for (var i = 0, count = entriesArray.length; i < count; i++) {
5137
- var text = select.find('option').eq(entriesArray[i]).text();
5138
-
5139
- i === 0 ? value += text : value += ', ' + text;
5140
- }
5141
-
5142
- if (value === '') {
5143
- value = select.find('option:disabled').eq(0).text();
5144
- }
5145
-
5146
- select.siblings('input.select-dropdown').val(value);
5147
- }
5148
- };
5149
- })(jQuery);
5150
- ;(function ($) {
5151
-
5152
- var methods = {
5153
-
5154
- init: function (options) {
5155
- var defaults = {
5156
- indicators: true,
5157
- height: 400,
5158
- transition: 500,
5159
- interval: 6000
5160
- };
5161
- options = $.extend(defaults, options);
5162
-
5163
- return this.each(function () {
5164
-
5165
- // For each slider, we want to keep track of
5166
- // which slide is active and its associated content
5167
- var $this = $(this);
5168
- var $slider = $this.find('ul.slides').first();
5169
- var $slides = $slider.find('> li');
5170
- var $active_index = $slider.find('.active').index();
5171
- var $active, $indicators, $interval;
5172
- if ($active_index != -1) {
5173
- $active = $slides.eq($active_index);
5174
- }
5175
-
5176
- // Transitions the caption depending on alignment
5177
- function captionTransition(caption, duration) {
5178
- if (caption.hasClass("center-align")) {
5179
- caption.velocity({ opacity: 0, translateY: -100 }, { duration: duration, queue: false });
5180
- } else if (caption.hasClass("right-align")) {
5181
- caption.velocity({ opacity: 0, translateX: 100 }, { duration: duration, queue: false });
5182
- } else if (caption.hasClass("left-align")) {
5183
- caption.velocity({ opacity: 0, translateX: -100 }, { duration: duration, queue: false });
5184
- }
5185
- }
5186
-
5187
- // This function will transition the slide to any index of the next slide
5188
- function moveToSlide(index) {
5189
- // Wrap around indices.
5190
- if (index >= $slides.length) index = 0;else if (index < 0) index = $slides.length - 1;
5191
-
5192
- $active_index = $slider.find('.active').index();
5193
-
5194
- // Only do if index changes
5195
- if ($active_index != index) {
5196
- $active = $slides.eq($active_index);
5197
- $caption = $active.find('.caption');
5198
-
5199
- $active.removeClass('active');
5200
- $active.velocity({ opacity: 0 }, { duration: options.transition, queue: false, easing: 'easeOutQuad',
5201
- complete: function () {
5202
- $slides.not('.active').velocity({ opacity: 0, translateX: 0, translateY: 0 }, { duration: 0, queue: false });
5203
- } });
5204
- captionTransition($caption, options.transition);
5205
-
5206
- // Update indicators
5207
- if (options.indicators) {
5208
- $indicators.eq($active_index).removeClass('active');
5209
- }
5210
-
5211
- $slides.eq(index).velocity({ opacity: 1 }, { duration: options.transition, queue: false, easing: 'easeOutQuad' });
5212
- $slides.eq(index).find('.caption').velocity({ opacity: 1, translateX: 0, translateY: 0 }, { duration: options.transition, delay: options.transition, queue: false, easing: 'easeOutQuad' });
5213
- $slides.eq(index).addClass('active');
5214
-
5215
- // Update indicators
5216
- if (options.indicators) {
5217
- $indicators.eq(index).addClass('active');
5218
- }
5219
- }
5220
- }
5221
-
5222
- // Set height of slider
5223
- // If fullscreen, do nothing
5224
- if (!$this.hasClass('fullscreen')) {
5225
- if (options.indicators) {
5226
- // Add height if indicators are present
5227
- $this.height(options.height + 40);
5228
- } else {
5229
- $this.height(options.height);
5230
- }
5231
- $slider.height(options.height);
5232
- }
5233
-
5234
- // Set initial positions of captions
5235
- $slides.find('.caption').each(function () {
5236
- captionTransition($(this), 0);
5237
- });
5238
-
5239
- // Move img src into background-image
5240
- $slides.find('img').each(function () {
5241
- var placeholderBase64 = 'data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';
5242
- if ($(this).attr('src') !== placeholderBase64) {
5243
- $(this).css('background-image', 'url("' + $(this).attr('src') + '")');
5244
- $(this).attr('src', placeholderBase64);
5245
- }
5246
- });
5247
-
5248
- // dynamically add indicators
5249
- if (options.indicators) {
5250
- $indicators = $('<ul class="indicators"></ul>');
5251
- $slides.each(function (index) {
5252
- var $indicator = $('<li class="indicator-item"></li>');
5253
-
5254
- // Handle clicks on indicators
5255
- $indicator.click(function () {
5256
- var $parent = $slider.parent();
5257
- var curr_index = $parent.find($(this)).index();
5258
- moveToSlide(curr_index);
5259
-
5260
- // reset interval
5261
- clearInterval($interval);
5262
- $interval = setInterval(function () {
5263
- $active_index = $slider.find('.active').index();
5264
- if ($slides.length == $active_index + 1) $active_index = 0; // loop to start
5265
- else $active_index += 1;
5266
-
5267
- moveToSlide($active_index);
5268
- }, options.transition + options.interval);
5269
- });
5270
- $indicators.append($indicator);
5271
- });
5272
- $this.append($indicators);
5273
- $indicators = $this.find('ul.indicators').find('li.indicator-item');
5274
- }
5275
-
5276
- if ($active) {
5277
- $active.show();
5278
- } else {
5279
- $slides.first().addClass('active').velocity({ opacity: 1 }, { duration: options.transition, queue: false, easing: 'easeOutQuad' });
5280
-
5281
- $active_index = 0;
5282
- $active = $slides.eq($active_index);
5283
-
5284
- // Update indicators
5285
- if (options.indicators) {
5286
- $indicators.eq($active_index).addClass('active');
5287
- }
5288
- }
5289
-
5290
- // Adjust height to current slide
5291
- $active.find('img').each(function () {
5292
- $active.find('.caption').velocity({ opacity: 1, translateX: 0, translateY: 0 }, { duration: options.transition, queue: false, easing: 'easeOutQuad' });
5293
- });
5294
-
5295
- // auto scroll
5296
- $interval = setInterval(function () {
5297
- $active_index = $slider.find('.active').index();
5298
- moveToSlide($active_index + 1);
5299
- }, options.transition + options.interval);
5300
-
5301
- // HammerJS, Swipe navigation
5302
-
5303
- // Touch Event
5304
- var panning = false;
5305
- var swipeLeft = false;
5306
- var swipeRight = false;
5307
-
5308
- $this.hammer({
5309
- prevent_default: false
5310
- }).on('pan', function (e) {
5311
- if (e.gesture.pointerType === "touch") {
5312
-
5313
- // reset interval
5314
- clearInterval($interval);
5315
-
5316
- var direction = e.gesture.direction;
5317
- var x = e.gesture.deltaX;
5318
- var velocityX = e.gesture.velocityX;
5319
- var velocityY = e.gesture.velocityY;
5320
-
5321
- $curr_slide = $slider.find('.active');
5322
- if (Math.abs(velocityX) > Math.abs(velocityY)) {
5323
- $curr_slide.velocity({ translateX: x
5324
- }, { duration: 50, queue: false, easing: 'easeOutQuad' });
5325
- }
5326
-
5327
- // Swipe Left
5328
- if (direction === 4 && (x > $this.innerWidth() / 2 || velocityX < -0.65)) {
5329
- swipeRight = true;
5330
- }
5331
- // Swipe Right
5332
- else if (direction === 2 && (x < -1 * $this.innerWidth() / 2 || velocityX > 0.65)) {
5333
- swipeLeft = true;
5334
- }
5335
-
5336
- // Make Slide Behind active slide visible
5337
- var next_slide;
5338
- if (swipeLeft) {
5339
- next_slide = $curr_slide.next();
5340
- if (next_slide.length === 0) {
5341
- next_slide = $slides.first();
5342
- }
5343
- next_slide.velocity({ opacity: 1
5344
- }, { duration: 300, queue: false, easing: 'easeOutQuad' });
5345
- }
5346
- if (swipeRight) {
5347
- next_slide = $curr_slide.prev();
5348
- if (next_slide.length === 0) {
5349
- next_slide = $slides.last();
5350
- }
5351
- next_slide.velocity({ opacity: 1
5352
- }, { duration: 300, queue: false, easing: 'easeOutQuad' });
5353
- }
5354
- }
5355
- }).on('panend', function (e) {
5356
- if (e.gesture.pointerType === "touch") {
5357
-
5358
- $curr_slide = $slider.find('.active');
5359
- panning = false;
5360
- curr_index = $slider.find('.active').index();
5361
-
5362
- if (!swipeRight && !swipeLeft || $slides.length <= 1) {
5363
- // Return to original spot
5364
- $curr_slide.velocity({ translateX: 0
5365
- }, { duration: 300, queue: false, easing: 'easeOutQuad' });
5366
- } else if (swipeLeft) {
5367
- moveToSlide(curr_index + 1);
5368
- $curr_slide.velocity({ translateX: -1 * $this.innerWidth() }, { duration: 300, queue: false, easing: 'easeOutQuad',
5369
- complete: function () {
5370
- $curr_slide.velocity({ opacity: 0, translateX: 0 }, { duration: 0, queue: false });
5371
- } });
5372
- } else if (swipeRight) {
5373
- moveToSlide(curr_index - 1);
5374
- $curr_slide.velocity({ translateX: $this.innerWidth() }, { duration: 300, queue: false, easing: 'easeOutQuad',
5375
- complete: function () {
5376
- $curr_slide.velocity({ opacity: 0, translateX: 0 }, { duration: 0, queue: false });
5377
- } });
5378
- }
5379
- swipeLeft = false;
5380
- swipeRight = false;
5381
-
5382
- // Restart interval
5383
- clearInterval($interval);
5384
- $interval = setInterval(function () {
5385
- $active_index = $slider.find('.active').index();
5386
- if ($slides.length == $active_index + 1) $active_index = 0; // loop to start
5387
- else $active_index += 1;
5388
-
5389
- moveToSlide($active_index);
5390
- }, options.transition + options.interval);
5391
- }
5392
- });
5393
-
5394
- $this.on('sliderPause', function () {
5395
- clearInterval($interval);
5396
- });
5397
-
5398
- $this.on('sliderStart', function () {
5399
- clearInterval($interval);
5400
- $interval = setInterval(function () {
5401
- $active_index = $slider.find('.active').index();
5402
- if ($slides.length == $active_index + 1) $active_index = 0; // loop to start
5403
- else $active_index += 1;
5404
-
5405
- moveToSlide($active_index);
5406
- }, options.transition + options.interval);
5407
- });
5408
-
5409
- $this.on('sliderNext', function () {
5410
- $active_index = $slider.find('.active').index();
5411
- moveToSlide($active_index + 1);
5412
- });
5413
-
5414
- $this.on('sliderPrev', function () {
5415
- $active_index = $slider.find('.active').index();
5416
- moveToSlide($active_index - 1);
5417
- });
5418
- });
5419
- },
5420
- pause: function () {
5421
- $(this).trigger('sliderPause');
5422
- },
5423
- start: function () {
5424
- $(this).trigger('sliderStart');
5425
- },
5426
- next: function () {
5427
- $(this).trigger('sliderNext');
5428
- },
5429
- prev: function () {
5430
- $(this).trigger('sliderPrev');
5431
- }
5432
- };
5433
-
5434
- $.fn.sliderZ = function (methodOrOptions) {
5435
- if (methods[methodOrOptions]) {
5436
- return methods[methodOrOptions].apply(this, Array.prototype.slice.call(arguments, 1));
5437
- } else if (typeof methodOrOptions === 'object' || !methodOrOptions) {
5438
- // Default to "init"
5439
- return methods.init.apply(this, arguments);
5440
- } else {
5441
- $.error('Method ' + methodOrOptions + ' does not exist on jQuery.tooltip');
5442
- }
5443
- }; // Plugin end
5444
- })(jQuery);
5445
- ;(function ($) {
5446
- $(document).ready(function () {
5447
-
5448
- $(document).on('click.card', '.card', function (e) {
5449
- if ($(this).find('> .card-reveal').length) {
5450
- var $card = $(e.target).closest('.card');
5451
- if ($card.data('initialOverflow') === undefined) {
5452
- $card.data('initialOverflow', $card.css('overflow') === undefined ? '' : $card.css('overflow'));
5453
- }
5454
- if ($(e.target).is($('.card-reveal .card-title')) || $(e.target).is($('.card-reveal .card-title i'))) {
5455
- // Make Reveal animate down and display none
5456
- $(this).find('.card-reveal').velocity({ translateY: 0 }, {
5457
- duration: 225,
5458
- queue: false,
5459
- easing: 'easeInOutQuad',
5460
- complete: function () {
5461
- $(this).css({ display: 'none' });
5462
- $card.css('overflow', $card.data('initialOverflow'));
5463
- }
5464
- });
5465
- } else if ($(e.target).is($('.card .activator')) || $(e.target).is($('.card .activator i'))) {
5466
- $card.css('overflow', 'hidden');
5467
- $(this).find('.card-reveal').css({ display: 'block' }).velocity("stop", false).velocity({ translateY: '-100%' }, { duration: 300, queue: false, easing: 'easeInOutQuad' });
5468
- }
5469
- }
5470
- });
5471
- });
5472
- })(jQuery);
5473
- ;(function ($) {
5474
- var materialChipsDefaults = {
5475
- data: [],
5476
- placeholder: '',
5477
- secondaryPlaceholder: '',
5478
- autocompleteOptions: {}
5479
- };
5480
-
5481
- $(document).ready(function () {
5482
- // Handle removal of static chips.
5483
- $(document).on('click', '.chip .close', function (e) {
5484
- var $chips = $(this).closest('.chips');
5485
- if ($chips.attr('data-initialized')) {
5486
- return;
5487
- }
5488
- $(this).closest('.chip').remove();
5489
- });
5490
- });
5491
-
5492
- $.fn.material_chip = function (options) {
5493
- var self = this;
5494
- this.$el = $(this);
5495
- this.$document = $(document);
5496
- this.SELS = {
5497
- CHIPS: '.chips',
5498
- CHIP: '.chip',
5499
- INPUT: 'input',
5500
- DELETE: '.material-icons',
5501
- SELECTED_CHIP: '.selected'
5502
- };
5503
-
5504
- if ('data' === options) {
5505
- return this.$el.data('chips');
5506
- }
5507
-
5508
- var curr_options = $.extend({}, materialChipsDefaults, options);
5509
- self.hasAutocomplete = !$.isEmptyObject(curr_options.autocompleteOptions.data);
5510
-
5511
- // Initialize
5512
- this.init = function () {
5513
- var i = 0;
5514
- var chips;
5515
- self.$el.each(function () {
5516
- var $chips = $(this);
5517
- var chipId = Materialize.guid();
5518
- self.chipId = chipId;
5519
-
5520
- if (!curr_options.data || !(curr_options.data instanceof Array)) {
5521
- curr_options.data = [];
5522
- }
5523
- $chips.data('chips', curr_options.data);
5524
- $chips.attr('data-index', i);
5525
- $chips.attr('data-initialized', true);
5526
-
5527
- if (!$chips.hasClass(self.SELS.CHIPS)) {
5528
- $chips.addClass('chips');
5529
- }
5530
-
5531
- self.chips($chips, chipId);
5532
- i++;
5533
- });
5534
- };
5535
-
5536
- this.handleEvents = function () {
5537
- var SELS = self.SELS;
5538
-
5539
- self.$document.off('click.chips-focus', SELS.CHIPS).on('click.chips-focus', SELS.CHIPS, function (e) {
5540
- $(e.target).find(SELS.INPUT).focus();
5541
- });
5542
-
5543
- self.$document.off('click.chips-select', SELS.CHIP).on('click.chips-select', SELS.CHIP, function (e) {
5544
- var $chip = $(e.target);
5545
- if ($chip.length) {
5546
- var wasSelected = $chip.hasClass('selected');
5547
- var $chips = $chip.closest(SELS.CHIPS);
5548
- $(SELS.CHIP).removeClass('selected');
5549
-
5550
- if (!wasSelected) {
5551
- self.selectChip($chip.index(), $chips);
5552
- }
5553
- }
5554
- });
5555
-
5556
- self.$document.off('keydown.chips').on('keydown.chips', function (e) {
5557
- if ($(e.target).is('input, textarea')) {
5558
- return;
5559
- }
5560
-
5561
- // delete
5562
- var $chip = self.$document.find(SELS.CHIP + SELS.SELECTED_CHIP);
5563
- var $chips = $chip.closest(SELS.CHIPS);
5564
- var length = $chip.siblings(SELS.CHIP).length;
5565
- var index;
5566
-
5567
- if (!$chip.length) {
5568
- return;
5569
- }
5570
-
5571
- if (e.which === 8 || e.which === 46) {
5572
- e.preventDefault();
5573
-
5574
- index = $chip.index();
5575
- self.deleteChip(index, $chips);
5576
-
5577
- var selectIndex = null;
5578
- if (index + 1 < length) {
5579
- selectIndex = index;
5580
- } else if (index === length || index + 1 === length) {
5581
- selectIndex = length - 1;
5582
- }
5583
-
5584
- if (selectIndex < 0) selectIndex = null;
5585
-
5586
- if (null !== selectIndex) {
5587
- self.selectChip(selectIndex, $chips);
5588
- }
5589
- if (!length) $chips.find('input').focus();
5590
-
5591
- // left
5592
- } else if (e.which === 37) {
5593
- index = $chip.index() - 1;
5594
- if (index < 0) {
5595
- return;
5596
- }
5597
- $(SELS.CHIP).removeClass('selected');
5598
- self.selectChip(index, $chips);
5599
-
5600
- // right
5601
- } else if (e.which === 39) {
5602
- index = $chip.index() + 1;
5603
- $(SELS.CHIP).removeClass('selected');
5604
- if (index > length) {
5605
- $chips.find('input').focus();
5606
- return;
5607
- }
5608
- self.selectChip(index, $chips);
5609
- }
5610
- });
5611
-
5612
- self.$document.off('focusin.chips', SELS.CHIPS + ' ' + SELS.INPUT).on('focusin.chips', SELS.CHIPS + ' ' + SELS.INPUT, function (e) {
5613
- var $currChips = $(e.target).closest(SELS.CHIPS);
5614
- $currChips.addClass('focus');
5615
- $currChips.siblings('label, .prefix').addClass('active');
5616
- $(SELS.CHIP).removeClass('selected');
5617
- });
5618
-
5619
- self.$document.off('focusout.chips', SELS.CHIPS + ' ' + SELS.INPUT).on('focusout.chips', SELS.CHIPS + ' ' + SELS.INPUT, function (e) {
5620
- var $currChips = $(e.target).closest(SELS.CHIPS);
5621
- $currChips.removeClass('focus');
5622
-
5623
- // Remove active if empty
5624
- if ($currChips.data('chips') === undefined || !$currChips.data('chips').length) {
5625
- $currChips.siblings('label').removeClass('active');
5626
- }
5627
- $currChips.siblings('.prefix').removeClass('active');
5628
- });
5629
-
5630
- self.$document.off('keydown.chips-add', SELS.CHIPS + ' ' + SELS.INPUT).on('keydown.chips-add', SELS.CHIPS + ' ' + SELS.INPUT, function (e) {
5631
- var $target = $(e.target);
5632
- var $chips = $target.closest(SELS.CHIPS);
5633
- var chipsLength = $chips.children(SELS.CHIP).length;
5634
-
5635
- // enter
5636
- if (13 === e.which) {
5637
- // Override enter if autocompleting.
5638
- if (self.hasAutocomplete && $chips.find('.autocomplete-content.dropdown-content').length && $chips.find('.autocomplete-content.dropdown-content').children().length) {
5639
- return;
5640
- }
5641
-
5642
- e.preventDefault();
5643
- self.addChip({ tag: $target.val() }, $chips);
5644
- $target.val('');
5645
- return;
5646
- }
5647
-
5648
- // delete or left
5649
- if ((8 === e.keyCode || 37 === e.keyCode) && '' === $target.val() && chipsLength) {
5650
- e.preventDefault();
5651
- self.selectChip(chipsLength - 1, $chips);
5652
- $target.blur();
5653
- return;
5654
- }
5655
- });
5656
-
5657
- // Click on delete icon in chip.
5658
- self.$document.off('click.chips-delete', SELS.CHIPS + ' ' + SELS.DELETE).on('click.chips-delete', SELS.CHIPS + ' ' + SELS.DELETE, function (e) {
5659
- var $target = $(e.target);
5660
- var $chips = $target.closest(SELS.CHIPS);
5661
- var $chip = $target.closest(SELS.CHIP);
5662
- e.stopPropagation();
5663
- self.deleteChip($chip.index(), $chips);
5664
- $chips.find('input').focus();
5665
- });
5666
- };
5667
-
5668
- this.chips = function ($chips, chipId) {
5669
- $chips.empty();
5670
- $chips.data('chips').forEach(function (elem) {
5671
- $chips.append(self.renderChip(elem));
5672
- });
5673
- $chips.append($('<input id="' + chipId + '" class="input" placeholder="">'));
5674
- self.setPlaceholder($chips);
5675
-
5676
- // Set for attribute for label
5677
- var label = $chips.next('label');
5678
- if (label.length) {
5679
- label.attr('for', chipId);
5680
-
5681
- if ($chips.data('chips') !== undefined && $chips.data('chips').length) {
5682
- label.addClass('active');
5683
- }
5684
- }
5685
-
5686
- // Setup autocomplete if needed.
5687
- var input = $('#' + chipId);
5688
- if (self.hasAutocomplete) {
5689
- curr_options.autocompleteOptions.onAutocomplete = function (val) {
5690
- self.addChip({ tag: val }, $chips);
5691
- input.val('');
5692
- input.focus();
5693
- };
5694
- input.autocomplete(curr_options.autocompleteOptions);
5695
- }
5696
- };
5697
-
5698
- /**
5699
- * Render chip jQuery element.
5700
- * @param {Object} elem
5701
- * @return {jQuery}
5702
- */
5703
- this.renderChip = function (elem) {
5704
- if (!elem.tag) return;
5705
-
5706
- var $renderedChip = $('<div class="chip"></div>');
5707
- $renderedChip.text(elem.tag);
5708
- if (elem.image) {
5709
- $renderedChip.prepend($('<img />').attr('src', elem.image));
5710
- }
5711
- $renderedChip.append($('<i class="material-icons close">close</i>'));
5712
- return $renderedChip;
5713
- };
5714
-
5715
- this.setPlaceholder = function ($chips) {
5716
- if ($chips.data('chips') !== undefined && !$chips.data('chips').length && curr_options.placeholder) {
5717
- $chips.find('input').prop('placeholder', curr_options.placeholder);
5718
- } else if (($chips.data('chips') === undefined || !!$chips.data('chips').length) && curr_options.secondaryPlaceholder) {
5719
- $chips.find('input').prop('placeholder', curr_options.secondaryPlaceholder);
5720
- }
5721
- };
5722
-
5723
- this.isValid = function ($chips, elem) {
5724
- var chips = $chips.data('chips');
5725
- var exists = false;
5726
- for (var i = 0; i < chips.length; i++) {
5727
- if (chips[i].tag === elem.tag) {
5728
- exists = true;
5729
- return;
5730
- }
5731
- }
5732
- return '' !== elem.tag && !exists;
5733
- };
5734
-
5735
- this.addChip = function (elem, $chips) {
5736
- if (!self.isValid($chips, elem)) {
5737
- return;
5738
- }
5739
- var $renderedChip = self.renderChip(elem);
5740
- var newData = [];
5741
- var oldData = $chips.data('chips');
5742
- for (var i = 0; i < oldData.length; i++) {
5743
- newData.push(oldData[i]);
5744
- }
5745
- newData.push(elem);
5746
-
5747
- $chips.data('chips', newData);
5748
- $renderedChip.insertBefore($chips.find('input'));
5749
- $chips.trigger('chip.add', elem);
5750
- self.setPlaceholder($chips);
5751
- };
5752
-
5753
- this.deleteChip = function (chipIndex, $chips) {
5754
- var chip = $chips.data('chips')[chipIndex];
5755
- $chips.find('.chip').eq(chipIndex).remove();
5756
-
5757
- var newData = [];
5758
- var oldData = $chips.data('chips');
5759
- for (var i = 0; i < oldData.length; i++) {
5760
- if (i !== chipIndex) {
5761
- newData.push(oldData[i]);
5762
- }
5763
- }
5764
-
5765
- $chips.data('chips', newData);
5766
- $chips.trigger('chip.delete', chip);
5767
- self.setPlaceholder($chips);
5768
- };
5769
-
5770
- this.selectChip = function (chipIndex, $chips) {
5771
- var $chip = $chips.find('.chip').eq(chipIndex);
5772
- if ($chip && false === $chip.hasClass('selected')) {
5773
- $chip.addClass('selected');
5774
- $chips.trigger('chip.select', $chips.data('chips')[chipIndex]);
5775
- }
5776
- };
5777
-
5778
- this.getChipsElement = function (index, $chips) {
5779
- return $chips.eq(index);
5780
- };
5781
-
5782
- // init
5783
- this.init();
5784
-
5785
- this.handleEvents();
5786
- };
5787
- })(jQuery);
5788
- ;(function ($) {
5789
- $.fn.pushpin = function (options) {
5790
- // Defaults
5791
- var defaults = {
5792
- top: 0,
5793
- bottom: Infinity,
5794
- offset: 0
5795
- };
5796
-
5797
- // Remove pushpin event and classes
5798
- if (options === "remove") {
5799
- this.each(function () {
5800
- if (id = $(this).data('pushpin-id')) {
5801
- $(window).off('scroll.' + id);
5802
- $(this).removeData('pushpin-id').removeClass('pin-top pinned pin-bottom').removeAttr('style');
5803
- }
5804
- });
5805
- return false;
5806
- }
5807
-
5808
- options = $.extend(defaults, options);
5809
-
5810
- $index = 0;
5811
- return this.each(function () {
5812
- var $uniqueId = Materialize.guid(),
5813
- $this = $(this),
5814
- $original_offset = $(this).offset().top;
5815
-
5816
- function removePinClasses(object) {
5817
- object.removeClass('pin-top');
5818
- object.removeClass('pinned');
5819
- object.removeClass('pin-bottom');
5820
- }
5821
-
5822
- function updateElements(objects, scrolled) {
5823
- objects.each(function () {
5824
- // Add position fixed (because its between top and bottom)
5825
- if (options.top <= scrolled && options.bottom >= scrolled && !$(this).hasClass('pinned')) {
5826
- removePinClasses($(this));
5827
- $(this).css('top', options.offset);
5828
- $(this).addClass('pinned');
5829
- }
5830
-
5831
- // Add pin-top (when scrolled position is above top)
5832
- if (scrolled < options.top && !$(this).hasClass('pin-top')) {
5833
- removePinClasses($(this));
5834
- $(this).css('top', 0);
5835
- $(this).addClass('pin-top');
5836
- }
5837
-
5838
- // Add pin-bottom (when scrolled position is below bottom)
5839
- if (scrolled > options.bottom && !$(this).hasClass('pin-bottom')) {
5840
- removePinClasses($(this));
5841
- $(this).addClass('pin-bottom');
5842
- $(this).css('top', options.bottom - $original_offset);
5843
- }
5844
- });
5845
- }
5846
-
5847
- $(this).data('pushpin-id', $uniqueId);
5848
- updateElements($this, $(window).scrollTop());
5849
- $(window).on('scroll.' + $uniqueId, function () {
5850
- var $scrolled = $(window).scrollTop() + options.offset;
5851
- updateElements($this, $scrolled);
5852
- });
5853
- });
5854
- };
5855
- })(jQuery);;(function ($) {
5856
- $(document).ready(function () {
5857
-
5858
- // jQuery reverse
5859
- $.fn.reverse = [].reverse;
5860
-
5861
- // Hover behaviour: make sure this doesn't work on .click-to-toggle FABs!
5862
- $(document).on('mouseenter.fixedActionBtn', '.fixed-action-btn:not(.click-to-toggle):not(.toolbar)', function (e) {
5863
- var $this = $(this);
5864
- openFABMenu($this);
5865
- });
5866
- $(document).on('mouseleave.fixedActionBtn', '.fixed-action-btn:not(.click-to-toggle):not(.toolbar)', function (e) {
5867
- var $this = $(this);
5868
- closeFABMenu($this);
5869
- });
5870
-
5871
- // Toggle-on-click behaviour.
5872
- $(document).on('click.fabClickToggle', '.fixed-action-btn.click-to-toggle > a', function (e) {
5873
- var $this = $(this);
5874
- var $menu = $this.parent();
5875
- if ($menu.hasClass('active')) {
5876
- closeFABMenu($menu);
5877
- } else {
5878
- openFABMenu($menu);
5879
- }
5880
- });
5881
-
5882
- // Toolbar transition behaviour.
5883
- $(document).on('click.fabToolbar', '.fixed-action-btn.toolbar > a', function (e) {
5884
- var $this = $(this);
5885
- var $menu = $this.parent();
5886
- FABtoToolbar($menu);
5887
- });
5888
- });
5889
-
5890
- $.fn.extend({
5891
- openFAB: function () {
5892
- openFABMenu($(this));
5893
- },
5894
- closeFAB: function () {
5895
- closeFABMenu($(this));
5896
- },
5897
- openToolbar: function () {
5898
- FABtoToolbar($(this));
5899
- },
5900
- closeToolbar: function () {
5901
- toolbarToFAB($(this));
5902
- }
5903
- });
5904
-
5905
- var openFABMenu = function (btn) {
5906
- var $this = btn;
5907
- if ($this.hasClass('active') === false) {
5908
-
5909
- // Get direction option
5910
- var horizontal = $this.hasClass('horizontal');
5911
- var offsetY, offsetX;
5912
-
5913
- if (horizontal === true) {
5914
- offsetX = 40;
5915
- } else {
5916
- offsetY = 40;
5917
- }
5918
-
5919
- $this.addClass('active');
5920
- $this.find('ul .btn-floating').velocity({ scaleY: ".4", scaleX: ".4", translateY: offsetY + 'px', translateX: offsetX + 'px' }, { duration: 0 });
5921
-
5922
- var time = 0;
5923
- $this.find('ul .btn-floating').reverse().each(function () {
5924
- $(this).velocity({ opacity: "1", scaleX: "1", scaleY: "1", translateY: "0", translateX: '0' }, { duration: 80, delay: time });
5925
- time += 40;
5926
- });
5927
- }
5928
- };
5929
-
5930
- var closeFABMenu = function (btn) {
5931
- var $this = btn;
5932
- // Get direction option
5933
- var horizontal = $this.hasClass('horizontal');
5934
- var offsetY, offsetX;
5935
-
5936
- if (horizontal === true) {
5937
- offsetX = 40;
5938
- } else {
5939
- offsetY = 40;
5940
- }
5941
-
5942
- $this.removeClass('active');
5943
- var time = 0;
5944
- $this.find('ul .btn-floating').velocity("stop", true);
5945
- $this.find('ul .btn-floating').velocity({ opacity: "0", scaleX: ".4", scaleY: ".4", translateY: offsetY + 'px', translateX: offsetX + 'px' }, { duration: 80 });
5946
- };
5947
-
5948
- /**
5949
- * Transform FAB into toolbar
5950
- * @param {Object} object jQuery object
5951
- */
5952
- var FABtoToolbar = function (btn) {
5953
- if (btn.attr('data-open') === "true") {
5954
- return;
5955
- }
5956
-
5957
- var offsetX, offsetY, scaleFactor;
5958
- var windowWidth = window.innerWidth;
5959
- var windowHeight = window.innerHeight;
5960
- var btnRect = btn[0].getBoundingClientRect();
5961
- var anchor = btn.find('> a').first();
5962
- var menu = btn.find('> ul').first();
5963
- var backdrop = $('<div class="fab-backdrop"></div>');
5964
- var fabColor = anchor.css('background-color');
5965
- anchor.append(backdrop);
5966
-
5967
- offsetX = btnRect.left - windowWidth / 2 + btnRect.width / 2;
5968
- offsetY = windowHeight - btnRect.bottom;
5969
- scaleFactor = windowWidth / backdrop.width();
5970
- btn.attr('data-origin-bottom', btnRect.bottom);
5971
- btn.attr('data-origin-left', btnRect.left);
5972
- btn.attr('data-origin-width', btnRect.width);
5973
-
5974
- // Set initial state
5975
- btn.addClass('active');
5976
- btn.attr('data-open', true);
5977
- btn.css({
5978
- 'text-align': 'center',
5979
- width: '100%',
5980
- bottom: 0,
5981
- left: 0,
5982
- transform: 'translateX(' + offsetX + 'px)',
5983
- transition: 'none'
5984
- });
5985
- anchor.css({
5986
- transform: 'translateY(' + -offsetY + 'px)',
5987
- transition: 'none'
5988
- });
5989
- backdrop.css({
5990
- 'background-color': fabColor
5991
- });
5992
-
5993
- setTimeout(function () {
5994
- btn.css({
5995
- transform: '',
5996
- transition: 'transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s'
5997
- });
5998
- anchor.css({
5999
- overflow: 'visible',
6000
- transform: '',
6001
- transition: 'transform .2s'
6002
- });
6003
-
6004
- setTimeout(function () {
6005
- btn.css({
6006
- overflow: 'hidden',
6007
- 'background-color': fabColor
6008
- });
6009
- backdrop.css({
6010
- transform: 'scale(' + scaleFactor + ')',
6011
- transition: 'transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)'
6012
- });
6013
- menu.find('> li > a').css({
6014
- opacity: 1
6015
- });
6016
-
6017
- // Scroll to close.
6018
- $(window).on('scroll.fabToolbarClose', function () {
6019
- toolbarToFAB(btn);
6020
- $(window).off('scroll.fabToolbarClose');
6021
- $(document).off('click.fabToolbarClose');
6022
- });
6023
-
6024
- $(document).on('click.fabToolbarClose', function (e) {
6025
- if (!$(e.target).closest(menu).length) {
6026
- toolbarToFAB(btn);
6027
- $(window).off('scroll.fabToolbarClose');
6028
- $(document).off('click.fabToolbarClose');
6029
- }
6030
- });
6031
- }, 100);
6032
- }, 0);
6033
- };
6034
-
6035
- /**
6036
- * Transform toolbar back into FAB
6037
- * @param {Object} object jQuery object
6038
- */
6039
- var toolbarToFAB = function (btn) {
6040
- if (btn.attr('data-open') !== "true") {
6041
- return;
6042
- }
6043
-
6044
- var offsetX, offsetY, scaleFactor;
6045
- var windowWidth = window.innerWidth;
6046
- var windowHeight = window.innerHeight;
6047
- var btnWidth = btn.attr('data-origin-width');
6048
- var btnBottom = btn.attr('data-origin-bottom');
6049
- var btnLeft = btn.attr('data-origin-left');
6050
- var anchor = btn.find('> .btn-floating').first();
6051
- var menu = btn.find('> ul').first();
6052
- var backdrop = btn.find('.fab-backdrop');
6053
- var fabColor = anchor.css('background-color');
6054
-
6055
- offsetX = btnLeft - windowWidth / 2 + btnWidth / 2;
6056
- offsetY = windowHeight - btnBottom;
6057
- scaleFactor = windowWidth / backdrop.width();
6058
-
6059
- // Hide backdrop
6060
- btn.removeClass('active');
6061
- btn.attr('data-open', false);
6062
- btn.css({
6063
- 'background-color': 'transparent',
6064
- transition: 'none'
6065
- });
6066
- anchor.css({
6067
- transition: 'none'
6068
- });
6069
- backdrop.css({
6070
- transform: 'scale(0)',
6071
- 'background-color': fabColor
6072
- });
6073
- menu.find('> li > a').css({
6074
- opacity: ''
6075
- });
6076
-
6077
- setTimeout(function () {
6078
- backdrop.remove();
6079
-
6080
- // Set initial state.
6081
- btn.css({
6082
- 'text-align': '',
6083
- width: '',
6084
- bottom: '',
6085
- left: '',
6086
- overflow: '',
6087
- 'background-color': '',
6088
- transform: 'translate3d(' + -offsetX + 'px,0,0)'
6089
- });
6090
- anchor.css({
6091
- overflow: '',
6092
- transform: 'translate3d(0,' + offsetY + 'px,0)'
6093
- });
6094
-
6095
- setTimeout(function () {
6096
- btn.css({
6097
- transform: 'translate3d(0,0,0)',
6098
- transition: 'transform .2s'
6099
- });
6100
- anchor.css({
6101
- transform: 'translate3d(0,0,0)',
6102
- transition: 'transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)'
6103
- });
6104
- }, 20);
6105
- }, 200);
6106
- };
6107
- })(jQuery);
6108
- ;(function ($) {
6109
- // Image transition function
6110
- Materialize.fadeInImage = function (selectorOrEl) {
6111
- var element;
6112
- if (typeof selectorOrEl === 'string') {
6113
- element = $(selectorOrEl);
6114
- } else if (typeof selectorOrEl === 'object') {
6115
- element = selectorOrEl;
6116
- } else {
6117
- return;
6118
- }
6119
- element.css({ opacity: 0 });
6120
- $(element).velocity({ opacity: 1 }, {
6121
- duration: 650,
6122
- queue: false,
6123
- easing: 'easeOutSine'
6124
- });
6125
- $(element).velocity({ opacity: 1 }, {
6126
- duration: 1300,
6127
- queue: false,
6128
- easing: 'swing',
6129
- step: function (now, fx) {
6130
- fx.start = 100;
6131
- var grayscale_setting = now / 100;
6132
- var brightness_setting = 150 - (100 - now) / 1.75;
6133
-
6134
- if (brightness_setting < 100) {
6135
- brightness_setting = 100;
6136
- }
6137
- if (now >= 0) {
6138
- $(this).css({
6139
- "-webkit-filter": "grayscale(" + grayscale_setting + ")" + "brightness(" + brightness_setting + "%)",
6140
- "filter": "grayscale(" + grayscale_setting + ")" + "brightness(" + brightness_setting + "%)"
6141
- });
6142
- }
6143
- }
6144
- });
6145
- };
6146
-
6147
- // Horizontal staggered list
6148
- Materialize.showStaggeredList = function (selectorOrEl) {
6149
- var element;
6150
- if (typeof selectorOrEl === 'string') {
6151
- element = $(selectorOrEl);
6152
- } else if (typeof selectorOrEl === 'object') {
6153
- element = selectorOrEl;
6154
- } else {
6155
- return;
6156
- }
6157
- var time = 0;
6158
- element.find('li').velocity({ translateX: "-100px" }, { duration: 0 });
6159
-
6160
- element.find('li').each(function () {
6161
- $(this).velocity({ opacity: "1", translateX: "0" }, { duration: 800, delay: time, easing: [60, 10] });
6162
- time += 120;
6163
- });
6164
- };
6165
-
6166
- $(document).ready(function () {
6167
- // Hardcoded .staggered-list scrollFire
6168
- // var staggeredListOptions = [];
6169
- // $('ul.staggered-list').each(function (i) {
6170
-
6171
- // var label = 'scrollFire-' + i;
6172
- // $(this).addClass(label);
6173
- // staggeredListOptions.push(
6174
- // {selector: 'ul.staggered-list.' + label,
6175
- // offset: 200,
6176
- // callback: 'showStaggeredList("ul.staggered-list.' + label + '")'});
6177
- // });
6178
- // scrollFire(staggeredListOptions);
6179
-
6180
- // HammerJS, Swipe navigation
6181
-
6182
- // Touch Event
6183
- var swipeLeft = false;
6184
- var swipeRight = false;
6185
-
6186
- // Dismissible Collections
6187
- $('.dismissable').each(function () {
6188
- $(this).hammer({
6189
- prevent_default: false
6190
- }).on('pan', function (e) {
6191
- if (e.gesture.pointerType === "touch") {
6192
- var $this = $(this);
6193
- var direction = e.gesture.direction;
6194
- var x = e.gesture.deltaX;
6195
- var velocityX = e.gesture.velocityX;
6196
-
6197
- $this.velocity({ translateX: x
6198
- }, { duration: 50, queue: false, easing: 'easeOutQuad' });
6199
-
6200
- // Swipe Left
6201
- if (direction === 4 && (x > $this.innerWidth() / 2 || velocityX < -0.75)) {
6202
- swipeLeft = true;
6203
- }
6204
-
6205
- // Swipe Right
6206
- if (direction === 2 && (x < -1 * $this.innerWidth() / 2 || velocityX > 0.75)) {
6207
- swipeRight = true;
6208
- }
6209
- }
6210
- }).on('panend', function (e) {
6211
- // Reset if collection is moved back into original position
6212
- if (Math.abs(e.gesture.deltaX) < $(this).innerWidth() / 2) {
6213
- swipeRight = false;
6214
- swipeLeft = false;
6215
- }
6216
-
6217
- if (e.gesture.pointerType === "touch") {
6218
- var $this = $(this);
6219
- if (swipeLeft || swipeRight) {
6220
- var fullWidth;
6221
- if (swipeLeft) {
6222
- fullWidth = $this.innerWidth();
6223
- } else {
6224
- fullWidth = -1 * $this.innerWidth();
6225
- }
6226
-
6227
- $this.velocity({ translateX: fullWidth
6228
- }, { duration: 100, queue: false, easing: 'easeOutQuad', complete: function () {
6229
- $this.css('border', 'none');
6230
- $this.velocity({ height: 0, padding: 0
6231
- }, { duration: 200, queue: false, easing: 'easeOutQuad', complete: function () {
6232
- $this.remove();
6233
- }
6234
- });
6235
- }
6236
- });
6237
- } else {
6238
- $this.velocity({ translateX: 0
6239
- }, { duration: 100, queue: false, easing: 'easeOutQuad' });
6240
- }
6241
- swipeLeft = false;
6242
- swipeRight = false;
6243
- }
6244
- });
6245
- });
6246
-
6247
- // time = 0
6248
- // // Vertical Staggered list
6249
- // $('ul.staggered-list.vertical li').velocity(
6250
- // { translateY: "100px"},
6251
- // { duration: 0 });
6252
-
6253
- // $('ul.staggered-list.vertical li').each(function() {
6254
- // $(this).velocity(
6255
- // { opacity: "1", translateY: "0"},
6256
- // { duration: 800, delay: time, easing: [60, 25] });
6257
- // time += 120;
6258
- // });
6259
-
6260
- // // Fade in and Scale
6261
- // $('.fade-in.scale').velocity(
6262
- // { scaleX: .4, scaleY: .4, translateX: -600},
6263
- // { duration: 0});
6264
- // $('.fade-in').each(function() {
6265
- // $(this).velocity(
6266
- // { opacity: "1", scaleX: 1, scaleY: 1, translateX: 0},
6267
- // { duration: 800, easing: [60, 10] });
6268
- // });
6269
- });
6270
- })(jQuery);
6271
- ;(function ($) {
6272
-
6273
- var scrollFireEventsHandled = false;
6274
-
6275
- // Input: Array of JSON objects {selector, offset, callback}
6276
- Materialize.scrollFire = function (options) {
6277
- var onScroll = function () {
6278
- var windowScroll = window.pageYOffset + window.innerHeight;
6279
-
6280
- for (var i = 0; i < options.length; i++) {
6281
- // Get options from each line
6282
- var value = options[i];
6283
- var selector = value.selector,
6284
- offset = value.offset,
6285
- callback = value.callback;
6286
-
6287
- var currentElement = document.querySelector(selector);
6288
- if (currentElement !== null) {
6289
- var elementOffset = currentElement.getBoundingClientRect().top + window.pageYOffset;
6290
-
6291
- if (windowScroll > elementOffset + offset) {
6292
- if (value.done !== true) {
6293
- if (typeof callback === 'function') {
6294
- callback.call(this, currentElement);
6295
- } else if (typeof callback === 'string') {
6296
- var callbackFunc = new Function(callback);
6297
- callbackFunc(currentElement);
6298
- }
6299
- value.done = true;
6300
- }
6301
- }
6302
- }
6303
- }
6304
- };
6305
-
6306
- var throttledScroll = Materialize.throttle(function () {
6307
- onScroll();
6308
- }, options.throttle || 100);
6309
-
6310
- if (!scrollFireEventsHandled) {
6311
- window.addEventListener("scroll", throttledScroll);
6312
- window.addEventListener("resize", throttledScroll);
6313
- scrollFireEventsHandled = true;
6314
- }
6315
-
6316
- // perform a scan once, after current execution context, and after dom is ready
6317
- setTimeout(throttledScroll, 0);
6318
- };
6319
- })(jQuery);
6320
- ; /*!
6321
- * pickadate.js v3.5.0, 2014/04/13
6322
- * By Amsul, http://amsul.ca
6323
- * Hosted on http://amsul.github.io/pickadate.js
6324
- * Licensed under MIT
6325
- */
6326
-
6327
- (function (factory) {
6328
-
6329
- Materialize.Picker = factory(jQuery);
6330
- })(function ($) {
6331
-
6332
- var $window = $(window);
6333
- var $document = $(document);
6334
- var $html = $(document.documentElement);
6335
-
6336
- /**
6337
- * The picker constructor that creates a blank picker.
6338
- */
6339
- function PickerConstructor(ELEMENT, NAME, COMPONENT, OPTIONS) {
6340
-
6341
- // If there’s no element, return the picker constructor.
6342
- if (!ELEMENT) return PickerConstructor;
6343
-
6344
- var IS_DEFAULT_THEME = false,
6345
-
6346
-
6347
- // The state of the picker.
6348
- STATE = {
6349
- id: ELEMENT.id || 'P' + Math.abs(~~(Math.random() * new Date()))
6350
- },
6351
-
6352
-
6353
- // Merge the defaults and options passed.
6354
- SETTINGS = COMPONENT ? $.extend(true, {}, COMPONENT.defaults, OPTIONS) : OPTIONS || {},
6355
-
6356
-
6357
- // Merge the default classes with the settings classes.
6358
- CLASSES = $.extend({}, PickerConstructor.klasses(), SETTINGS.klass),
6359
-
6360
-
6361
- // The element node wrapper into a jQuery object.
6362
- $ELEMENT = $(ELEMENT),
6363
-
6364
-
6365
- // Pseudo picker constructor.
6366
- PickerInstance = function () {
6367
- return this.start();
6368
- },
6369
-
6370
-
6371
- // The picker prototype.
6372
- P = PickerInstance.prototype = {
6373
-
6374
- constructor: PickerInstance,
6375
-
6376
- $node: $ELEMENT,
6377
-
6378
- /**
6379
- * Initialize everything
6380
- */
6381
- start: function () {
6382
-
6383
- // If it’s already started, do nothing.
6384
- if (STATE && STATE.start) return P;
6385
-
6386
- // Update the picker states.
6387
- STATE.methods = {};
6388
- STATE.start = true;
6389
- STATE.open = false;
6390
- STATE.type = ELEMENT.type;
6391
-
6392
- // Confirm focus state, convert into text input to remove UA stylings,
6393
- // and set as readonly to prevent keyboard popup.
6394
- ELEMENT.autofocus = ELEMENT == getActiveElement();
6395
- ELEMENT.readOnly = !SETTINGS.editable;
6396
- ELEMENT.id = ELEMENT.id || STATE.id;
6397
- if (ELEMENT.type != 'text') {
6398
- ELEMENT.type = 'text';
6399
- }
6400
-
6401
- // Create a new picker component with the settings.
6402
- P.component = new COMPONENT(P, SETTINGS);
6403
-
6404
- // Create the picker root with a holder and then prepare it.
6405
- P.$root = $(PickerConstructor._.node('div', createWrappedComponent(), CLASSES.picker, 'id="' + ELEMENT.id + '_root" tabindex="0"'));
6406
- prepareElementRoot();
6407
-
6408
- // If there’s a format for the hidden input element, create the element.
6409
- if (SETTINGS.formatSubmit) {
6410
- prepareElementHidden();
6411
- }
6412
-
6413
- // Prepare the input element.
6414
- prepareElement();
6415
-
6416
- // Insert the root as specified in the settings.
6417
- if (SETTINGS.container) $(SETTINGS.container).append(P.$root);else $ELEMENT.before(P.$root);
6418
-
6419
- // Bind the default component and settings events.
6420
- P.on({
6421
- start: P.component.onStart,
6422
- render: P.component.onRender,
6423
- stop: P.component.onStop,
6424
- open: P.component.onOpen,
6425
- close: P.component.onClose,
6426
- set: P.component.onSet
6427
- }).on({
6428
- start: SETTINGS.onStart,
6429
- render: SETTINGS.onRender,
6430
- stop: SETTINGS.onStop,
6431
- open: SETTINGS.onOpen,
6432
- close: SETTINGS.onClose,
6433
- set: SETTINGS.onSet
6434
- });
6435
-
6436
- // Once we’re all set, check the theme in use.
6437
- IS_DEFAULT_THEME = isUsingDefaultTheme(P.$root.children()[0]);
6438
-
6439
- // If the element has autofocus, open the picker.
6440
- if (ELEMENT.autofocus) {
6441
- P.open();
6442
- }
6443
-
6444
- // Trigger queued the “start” and “render” events.
6445
- return P.trigger('start').trigger('render');
6446
- }, //start
6447
-
6448
-
6449
- /**
6450
- * Render a new picker
6451
- */
6452
- render: function (entireComponent) {
6453
-
6454
- // Insert a new component holder in the root or box.
6455
- if (entireComponent) P.$root.html(createWrappedComponent());else P.$root.find('.' + CLASSES.box).html(P.component.nodes(STATE.open));
6456
-
6457
- // Trigger the queued “render” events.
6458
- return P.trigger('render');
6459
- }, //render
6460
-
6461
-
6462
- /**
6463
- * Destroy everything
6464
- */
6465
- stop: function () {
6466
-
6467
- // If it’s already stopped, do nothing.
6468
- if (!STATE.start) return P;
6469
-
6470
- // Then close the picker.
6471
- P.close();
6472
-
6473
- // Remove the hidden field.
6474
- if (P._hidden) {
6475
- P._hidden.parentNode.removeChild(P._hidden);
6476
- }
6477
-
6478
- // Remove the root.
6479
- P.$root.remove();
6480
-
6481
- // Remove the input class, remove the stored data, and unbind
6482
- // the events (after a tick for IE - see `P.close`).
6483
- $ELEMENT.removeClass(CLASSES.input).removeData(NAME);
6484
- setTimeout(function () {
6485
- $ELEMENT.off('.' + STATE.id);
6486
- }, 0);
6487
-
6488
- // Restore the element state
6489
- ELEMENT.type = STATE.type;
6490
- ELEMENT.readOnly = false;
6491
-
6492
- // Trigger the queued “stop” events.
6493
- P.trigger('stop');
6494
-
6495
- // Reset the picker states.
6496
- STATE.methods = {};
6497
- STATE.start = false;
6498
-
6499
- return P;
6500
- }, //stop
6501
-
6502
-
6503
- /**
6504
- * Open up the picker
6505
- */
6506
- open: function (dontGiveFocus) {
6507
-
6508
- // If it’s already open, do nothing.
6509
- if (STATE.open) return P;
6510
-
6511
- // Add the “active” class.
6512
- $ELEMENT.addClass(CLASSES.active);
6513
- aria(ELEMENT, 'expanded', true);
6514
-
6515
- // * A Firefox bug, when `html` has `overflow:hidden`, results in
6516
- // killing transitions :(. So add the “opened” state on the next tick.
6517
- // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=625289
6518
- setTimeout(function () {
6519
-
6520
- // Add the “opened” class to the picker root.
6521
- P.$root.addClass(CLASSES.opened);
6522
- aria(P.$root[0], 'hidden', false);
6523
- }, 0);
6524
-
6525
- // If we have to give focus, bind the element and doc events.
6526
- if (dontGiveFocus !== false) {
6527
-
6528
- // Set it as open.
6529
- STATE.open = true;
6530
-
6531
- // Prevent the page from scrolling.
6532
- if (IS_DEFAULT_THEME) {
6533
- $html.css('overflow', 'hidden').css('padding-right', '+=' + getScrollbarWidth());
6534
- }
6535
-
6536
- // Pass focus to the root element’s jQuery object.
6537
- // * Workaround for iOS8 to bring the picker’s root into view.
6538
- P.$root.eq(0).focus();
6539
-
6540
- // Bind the document events.
6541
- $document.on('click.' + STATE.id + ' focusin.' + STATE.id, function (event) {
6542
-
6543
- var target = event.target;
6544
-
6545
- // If the target of the event is not the element, close the picker picker.
6546
- // * Don’t worry about clicks or focusins on the root because those don’t bubble up.
6547
- // Also, for Firefox, a click on an `option` element bubbles up directly
6548
- // to the doc. So make sure the target wasn't the doc.
6549
- // * In Firefox stopPropagation() doesn’t prevent right-click events from bubbling,
6550
- // which causes the picker to unexpectedly close when right-clicking it. So make
6551
- // sure the event wasn’t a right-click.
6552
- if (target != ELEMENT && target != document && event.which != 3) {
6553
-
6554
- // If the target was the holder that covers the screen,
6555
- // keep the element focused to maintain tabindex.
6556
- P.close(target === P.$root.children()[0]);
6557
- }
6558
- }).on('keydown.' + STATE.id, function (event) {
6559
-
6560
- var
6561
- // Get the keycode.
6562
- keycode = event.keyCode,
6563
-
6564
-
6565
- // Translate that to a selection change.
6566
- keycodeToMove = P.component.key[keycode],
6567
-
6568
-
6569
- // Grab the target.
6570
- target = event.target;
6571
-
6572
- // On escape, close the picker and give focus.
6573
- if (keycode == 27) {
6574
- P.close(true);
6575
- }
6576
-
6577
- // Check if there is a key movement or “enter” keypress on the element.
6578
- else if (target == P.$root[0] && (keycodeToMove || keycode == 13)) {
6579
-
6580
- // Prevent the default action to stop page movement.
6581
- event.preventDefault();
6582
-
6583
- // Trigger the key movement action.
6584
- if (keycodeToMove) {
6585
- PickerConstructor._.trigger(P.component.key.go, P, [PickerConstructor._.trigger(keycodeToMove)]);
6586
- }
6587
-
6588
- // On “enter”, if the highlighted item isn’t disabled, set the value and close.
6589
- else if (!P.$root.find('.' + CLASSES.highlighted).hasClass(CLASSES.disabled)) {
6590
- P.set('select', P.component.item.highlight);
6591
- if (SETTINGS.closeOnSelect) {
6592
- P.close(true);
6593
- }
6594
- }
6595
- }
6596
-
6597
- // If the target is within the root and “enter” is pressed,
6598
- // prevent the default action and trigger a click on the target instead.
6599
- else if ($.contains(P.$root[0], target) && keycode == 13) {
6600
- event.preventDefault();
6601
- target.click();
6602
- }
6603
- });
6604
- }
6605
-
6606
- // Trigger the queued “open” events.
6607
- return P.trigger('open');
6608
- }, //open
6609
-
6610
-
6611
- /**
6612
- * Close the picker
6613
- */
6614
- close: function (giveFocus) {
6615
-
6616
- // If we need to give focus, do it before changing states.
6617
- if (giveFocus) {
6618
- // ....ah yes! It would’ve been incomplete without a crazy workaround for IE :|
6619
- // The focus is triggered *after* the close has completed - causing it
6620
- // to open again. So unbind and rebind the event at the next tick.
6621
- P.$root.off('focus.toOpen').eq(0).focus();
6622
- setTimeout(function () {
6623
- P.$root.on('focus.toOpen', handleFocusToOpenEvent);
6624
- }, 0);
6625
- }
6626
-
6627
- // Remove the “active” class.
6628
- $ELEMENT.removeClass(CLASSES.active);
6629
- aria(ELEMENT, 'expanded', false);
6630
-
6631
- // * A Firefox bug, when `html` has `overflow:hidden`, results in
6632
- // killing transitions :(. So remove the “opened” state on the next tick.
6633
- // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=625289
6634
- setTimeout(function () {
6635
-
6636
- // Remove the “opened” and “focused” class from the picker root.
6637
- P.$root.removeClass(CLASSES.opened + ' ' + CLASSES.focused);
6638
- aria(P.$root[0], 'hidden', true);
6639
- }, 0);
6640
-
6641
- // If it’s already closed, do nothing more.
6642
- if (!STATE.open) return P;
6643
-
6644
- // Set it as closed.
6645
- STATE.open = false;
6646
-
6647
- // Allow the page to scroll.
6648
- if (IS_DEFAULT_THEME) {
6649
- $html.css('overflow', '').css('padding-right', '-=' + getScrollbarWidth());
6650
- }
6651
-
6652
- // Unbind the document events.
6653
- $document.off('.' + STATE.id);
6654
-
6655
- // Trigger the queued “close” events.
6656
- return P.trigger('close');
6657
- }, //close
6658
-
6659
-
6660
- /**
6661
- * Clear the values
6662
- */
6663
- clear: function (options) {
6664
- return P.set('clear', null, options);
6665
- }, //clear
6666
-
6667
-
6668
- /**
6669
- * Set something
6670
- */
6671
- set: function (thing, value, options) {
6672
-
6673
- var thingItem,
6674
- thingValue,
6675
- thingIsObject = $.isPlainObject(thing),
6676
- thingObject = thingIsObject ? thing : {};
6677
-
6678
- // Make sure we have usable options.
6679
- options = thingIsObject && $.isPlainObject(value) ? value : options || {};
6680
-
6681
- if (thing) {
6682
-
6683
- // If the thing isn’t an object, make it one.
6684
- if (!thingIsObject) {
6685
- thingObject[thing] = value;
6686
- }
6687
-
6688
- // Go through the things of items to set.
6689
- for (thingItem in thingObject) {
6690
-
6691
- // Grab the value of the thing.
6692
- thingValue = thingObject[thingItem];
6693
-
6694
- // First, if the item exists and there’s a value, set it.
6695
- if (thingItem in P.component.item) {
6696
- if (thingValue === undefined) thingValue = null;
6697
- P.component.set(thingItem, thingValue, options);
6698
- }
6699
-
6700
- // Then, check to update the element value and broadcast a change.
6701
- if (thingItem == 'select' || thingItem == 'clear') {
6702
- $ELEMENT.val(thingItem == 'clear' ? '' : P.get(thingItem, SETTINGS.format)).trigger('change');
6703
- }
6704
- }
6705
-
6706
- // Render a new picker.
6707
- P.render();
6708
- }
6709
-
6710
- // When the method isn’t muted, trigger queued “set” events and pass the `thingObject`.
6711
- return options.muted ? P : P.trigger('set', thingObject);
6712
- }, //set
6713
-
6714
-
6715
- /**
6716
- * Get something
6717
- */
6718
- get: function (thing, format) {
6719
-
6720
- // Make sure there’s something to get.
6721
- thing = thing || 'value';
6722
-
6723
- // If a picker state exists, return that.
6724
- if (STATE[thing] != null) {
6725
- return STATE[thing];
6726
- }
6727
-
6728
- // Return the submission value, if that.
6729
- if (thing == 'valueSubmit') {
6730
- if (P._hidden) {
6731
- return P._hidden.value;
6732
- }
6733
- thing = 'value';
6734
- }
6735
-
6736
- // Return the value, if that.
6737
- if (thing == 'value') {
6738
- return ELEMENT.value;
6739
- }
6740
-
6741
- // Check if a component item exists, return that.
6742
- if (thing in P.component.item) {
6743
- if (typeof format == 'string') {
6744
- var thingValue = P.component.get(thing);
6745
- return thingValue ? PickerConstructor._.trigger(P.component.formats.toString, P.component, [format, thingValue]) : '';
6746
- }
6747
- return P.component.get(thing);
6748
- }
6749
- }, //get
6750
-
6751
-
6752
- /**
6753
- * Bind events on the things.
6754
- */
6755
- on: function (thing, method, internal) {
6756
-
6757
- var thingName,
6758
- thingMethod,
6759
- thingIsObject = $.isPlainObject(thing),
6760
- thingObject = thingIsObject ? thing : {};
6761
-
6762
- if (thing) {
6763
-
6764
- // If the thing isn’t an object, make it one.
6765
- if (!thingIsObject) {
6766
- thingObject[thing] = method;
6767
- }
6768
-
6769
- // Go through the things to bind to.
6770
- for (thingName in thingObject) {
6771
-
6772
- // Grab the method of the thing.
6773
- thingMethod = thingObject[thingName];
6774
-
6775
- // If it was an internal binding, prefix it.
6776
- if (internal) {
6777
- thingName = '_' + thingName;
6778
- }
6779
-
6780
- // Make sure the thing methods collection exists.
6781
- STATE.methods[thingName] = STATE.methods[thingName] || [];
6782
-
6783
- // Add the method to the relative method collection.
6784
- STATE.methods[thingName].push(thingMethod);
6785
- }
6786
- }
6787
-
6788
- return P;
6789
- }, //on
6790
-
6791
-
6792
- /**
6793
- * Unbind events on the things.
6794
- */
6795
- off: function () {
6796
- var i,
6797
- thingName,
6798
- names = arguments;
6799
- for (i = 0, namesCount = names.length; i < namesCount; i += 1) {
6800
- thingName = names[i];
6801
- if (thingName in STATE.methods) {
6802
- delete STATE.methods[thingName];
6803
- }
6804
- }
6805
- return P;
6806
- },
6807
-
6808
- /**
6809
- * Fire off method events.
6810
- */
6811
- trigger: function (name, data) {
6812
- var _trigger = function (name) {
6813
- var methodList = STATE.methods[name];
6814
- if (methodList) {
6815
- methodList.map(function (method) {
6816
- PickerConstructor._.trigger(method, P, [data]);
6817
- });
6818
- }
6819
- };
6820
- _trigger('_' + name);
6821
- _trigger(name);
6822
- return P;
6823
- } //trigger
6824
- //PickerInstance.prototype
6825
-
6826
-
6827
- /**
6828
- * Wrap the picker holder components together.
6829
- */
6830
- };function createWrappedComponent() {
6831
-
6832
- // Create a picker wrapper holder
6833
- return PickerConstructor._.node('div',
6834
-
6835
- // Create a picker wrapper node
6836
- PickerConstructor._.node('div',
6837
-
6838
- // Create a picker frame
6839
- PickerConstructor._.node('div',
6840
-
6841
- // Create a picker box node
6842
- PickerConstructor._.node('div',
6843
-
6844
- // Create the components nodes.
6845
- P.component.nodes(STATE.open),
6846
-
6847
- // The picker box class
6848
- CLASSES.box),
6849
-
6850
- // Picker wrap class
6851
- CLASSES.wrap),
6852
-
6853
- // Picker frame class
6854
- CLASSES.frame),
6855
-
6856
- // Picker holder class
6857
- CLASSES.holder); //endreturn
6858
- } //createWrappedComponent
6859
-
6860
-
6861
- /**
6862
- * Prepare the input element with all bindings.
6863
- */
6864
- function prepareElement() {
6865
-
6866
- $ELEMENT.
6867
-
6868
- // Store the picker data by component name.
6869
- data(NAME, P).
6870
-
6871
- // Add the “input” class name.
6872
- addClass(CLASSES.input).
6873
-
6874
- // Remove the tabindex.
6875
- attr('tabindex', -1).
6876
-
6877
- // If there’s a `data-value`, update the value of the element.
6878
- val($ELEMENT.data('value') ? P.get('select', SETTINGS.format) : ELEMENT.value);
6879
-
6880
- // Only bind keydown events if the element isn’t editable.
6881
- if (!SETTINGS.editable) {
6882
-
6883
- $ELEMENT.
6884
-
6885
- // On focus/click, focus onto the root to open it up.
6886
- on('focus.' + STATE.id + ' click.' + STATE.id, function (event) {
6887
- event.preventDefault();
6888
- P.$root.eq(0).focus();
6889
- }).
6890
-
6891
- // Handle keyboard event based on the picker being opened or not.
6892
- on('keydown.' + STATE.id, handleKeydownEvent);
6893
- }
6894
-
6895
- // Update the aria attributes.
6896
- aria(ELEMENT, {
6897
- haspopup: true,
6898
- expanded: false,
6899
- readonly: false,
6900
- owns: ELEMENT.id + '_root'
6901
- });
6902
- }
6903
-
6904
- /**
6905
- * Prepare the root picker element with all bindings.
6906
- */
6907
- function prepareElementRoot() {
6908
-
6909
- P.$root.on({
6910
-
6911
- // For iOS8.
6912
- keydown: handleKeydownEvent,
6913
-
6914
- // When something within the root is focused, stop from bubbling
6915
- // to the doc and remove the “focused” state from the root.
6916
- focusin: function (event) {
6917
- P.$root.removeClass(CLASSES.focused);
6918
- event.stopPropagation();
6919
- },
6920
-
6921
- // When something within the root holder is clicked, stop it
6922
- // from bubbling to the doc.
6923
- 'mousedown click': function (event) {
6924
-
6925
- var target = event.target;
6926
-
6927
- // Make sure the target isn’t the root holder so it can bubble up.
6928
- if (target != P.$root.children()[0]) {
6929
-
6930
- event.stopPropagation();
6931
-
6932
- // * For mousedown events, cancel the default action in order to
6933
- // prevent cases where focus is shifted onto external elements
6934
- // when using things like jQuery mobile or MagnificPopup (ref: #249 & #120).
6935
- // Also, for Firefox, don’t prevent action on the `option` element.
6936
- if (event.type == 'mousedown' && !$(target).is('input, select, textarea, button, option')) {
6937
-
6938
- event.preventDefault();
6939
-
6940
- // Re-focus onto the root so that users can click away
6941
- // from elements focused within the picker.
6942
- P.$root.eq(0).focus();
6943
- }
6944
- }
6945
- }
6946
- }).
6947
-
6948
- // Add/remove the “target” class on focus and blur.
6949
- on({
6950
- focus: function () {
6951
- $ELEMENT.addClass(CLASSES.target);
6952
- },
6953
- blur: function () {
6954
- $ELEMENT.removeClass(CLASSES.target);
6955
- }
6956
- }).
6957
-
6958
- // Open the picker and adjust the root “focused” state
6959
- on('focus.toOpen', handleFocusToOpenEvent).
6960
-
6961
- // If there’s a click on an actionable element, carry out the actions.
6962
- on('click', '[data-pick], [data-nav], [data-clear], [data-close]', function () {
6963
-
6964
- var $target = $(this),
6965
- targetData = $target.data(),
6966
- targetDisabled = $target.hasClass(CLASSES.navDisabled) || $target.hasClass(CLASSES.disabled),
6967
-
6968
-
6969
- // * For IE, non-focusable elements can be active elements as well
6970
- // (http://stackoverflow.com/a/2684561).
6971
- activeElement = getActiveElement();
6972
- activeElement = activeElement && (activeElement.type || activeElement.href) && activeElement;
6973
-
6974
- // If it’s disabled or nothing inside is actively focused, re-focus the element.
6975
- if (targetDisabled || activeElement && !$.contains(P.$root[0], activeElement)) {
6976
- P.$root.eq(0).focus();
6977
- }
6978
-
6979
- // If something is superficially changed, update the `highlight` based on the `nav`.
6980
- if (!targetDisabled && targetData.nav) {
6981
- P.set('highlight', P.component.item.highlight, { nav: targetData.nav });
6982
- }
6983
-
6984
- // If something is picked, set `select` then close with focus.
6985
- else if (!targetDisabled && 'pick' in targetData) {
6986
- P.set('select', targetData.pick);
6987
- if (SETTINGS.closeOnSelect) {
6988
- P.close(true);
6989
- }
6990
- }
6991
-
6992
- // If a “clear” button is pressed, empty the values and close with focus.
6993
- else if (targetData.clear) {
6994
- P.clear();
6995
- if (SETTINGS.closeOnSelect) {
6996
- P.close(true);
6997
- }
6998
- } else if (targetData.close) {
6999
- P.close(true);
7000
- }
7001
- }); //P.$root
7002
-
7003
- aria(P.$root[0], 'hidden', true);
7004
- }
7005
-
7006
- /**
7007
- * Prepare the hidden input element along with all bindings.
7008
- */
7009
- function prepareElementHidden() {
7010
-
7011
- var name;
7012
-
7013
- if (SETTINGS.hiddenName === true) {
7014
- name = ELEMENT.name;
7015
- ELEMENT.name = '';
7016
- } else {
7017
- name = [typeof SETTINGS.hiddenPrefix == 'string' ? SETTINGS.hiddenPrefix : '', typeof SETTINGS.hiddenSuffix == 'string' ? SETTINGS.hiddenSuffix : '_submit'];
7018
- name = name[0] + ELEMENT.name + name[1];
7019
- }
7020
-
7021
- P._hidden = $('<input ' + 'type=hidden ' +
7022
-
7023
- // Create the name using the original input’s with a prefix and suffix.
7024
- 'name="' + name + '"' + (
7025
-
7026
- // If the element has a value, set the hidden value as well.
7027
- $ELEMENT.data('value') || ELEMENT.value ? ' value="' + P.get('select', SETTINGS.formatSubmit) + '"' : '') + '>')[0];
7028
-
7029
- $ELEMENT.
7030
-
7031
- // If the value changes, update the hidden input with the correct format.
7032
-