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 | |
| Version | 2.0.1 |
| Comparing to | |
| See all releases | |
Code changes from version 1.3.7 to 2.0.1
- Modula.php +37 -1422
- README.txt +15 -24
- admin/add-gallery.php +0 -121
- admin/css/colors.css +0 -0
- admin/css/materialize.css +0 -5702
- admin/css/style.css +0 -1482
- admin/edit-gallery.php +0 -393
- admin/fancybox/jquery.fancybox.css +0 -771
- admin/fancybox/jquery.fancybox.js +0 -5629
- admin/fancybox/jquery.fancybox.min.css +0 -1
- admin/fancybox/jquery.fancybox.min.js +0 -13
- admin/fix.php +0 -109
- admin/font/roboto/Roboto-Bold-webfont.eot +0 -0
- admin/font/roboto/Roboto-Bold-webfont.svg +0 -593
- admin/font/roboto/Roboto-Bold-webfont.ttf +0 -0
- admin/font/roboto/Roboto-Bold-webfont.woff +0 -0
- admin/font/roboto/Roboto-Light-webfont.eot +0 -0
- admin/font/roboto/Roboto-Light-webfont.svg +0 -641
- admin/font/roboto/Roboto-Light-webfont.ttf +0 -0
- admin/font/roboto/Roboto-Light-webfont.woff +0 -0
- admin/font/roboto/Roboto-Regular-webfont.eot +0 -0
- admin/font/roboto/Roboto-Regular-webfont.svg +0 -621
- admin/font/roboto/Roboto-Regular-webfont.ttf +0 -0
- admin/font/roboto/Roboto-Regular-webfont.woff +0 -0
- admin/header.php +0 -4
- admin/images/captions-settings.jpg +0 -0
- admin/images/circles.jpg +0 -0
- admin/images/creative-gallery-settings.jpg +0 -0
- admin/images/custom-grid-settings.jpg +0 -0
- admin/images/customizations-settings.jpg +0 -0
- admin/images/drag-and-drop-upload.jpg +0 -0
- admin/images/final.jpg +0 -0
- admin/images/galleries-list.jpg +0 -0
- admin/images/gallery-edit.jpg +0 -0
- admin/images/helper-grid.jpg +0 -0
- admin/images/hover-effects-settings.jpg +0 -0
- admin/images/icon-shortpixel.png +0 -0
- admin/images/landscape-portrait.jpg +0 -0
- admin/images/live-preview.jpg +0 -0
- admin/images/loading-effects-settings.jpg +0 -0
- admin/images/material-design.gif +0 -0
- admin/images/modula-logo.jpg +0 -0
- admin/images/modula-v2-custom-grid.png +0 -0
- admin/images/modula-v2-drag-and-drop-upload.png +0 -0
- admin/images/modula-v2-familiar-dashboard.png +0 -0
- admin/images/modula-v2-helper-grid.png +0 -0
- admin/images/modula-v2-intuitive-settings.png +0 -0
- admin/images/modula-v2-landscape-or-portrait.png +0 -0
- admin/images/modula-v2-live-preview.png +0 -0
- admin/images/modula.svg +0 -48
- admin/images/social-settings.jpg +0 -0
- admin/images/square.gif +0 -0
- admin/images/style-settings.jpg +0 -0
- admin/images/survey.png +0 -0
- admin/images/tip.png +0 -0
- admin/import.php +0 -81
- admin/include/image-list.php +0 -69
- admin/include/tinymce-galleries.php +0 -83
- admin/modula-v2.php +0 -99
- admin/overview.php +0 -177
- admin/scripts/editor-plugin.js +0 -32
- 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:
|
| 9 |
* Author URI: https://www.machothemes.com/
|
| 10 |
*/
|
| 11 |
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
define( '
|
| 18 |
-
define( '
|
| 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 <style></style> 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">★★★★★</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 |
-
|
| 1356 |
-
|
| 1357 |
-
|
| 1358 |
-
|
| 1359 |
-
|
| 1360 |
-
|
| 1361 |
-
|
| 1362 |
-
|
| 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 |
-
|
| 1397 |
-
|
| 1398 |
-
check_ajax_referer( 'modula-beta-testing', 'security' );
|
| 1399 |
|
| 1400 |
-
|
| 1401 |
-
|
|
|
|
|
|
|
|
|
|
| 1402 |
|
| 1403 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1404 |
|
| 1405 |
-
|
|
|
|
| 1406 |
|
| 1407 |
}
|
| 1408 |
|
| 1409 |
-
|
| 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:
|
| 6 |
-
Stable tag:
|
| 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=
|
| 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.
|
| 167 |
-
2.
|
| 168 |
-
3.
|
| 169 |
-
4.
|
| 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> / <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 |
-
"&": "&",
|
| 5317 |
-
"<": "<",
|
| 5318 |
-
">": ">",
|
| 5319 |
-
'"': """,
|
| 5320 |
-
"'": "'",
|
| 5321 |
-
"/": "/",
|
| 5322 |
-
"`": "`",
|
| 5323 |
-
"=": "="
|
| 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> / <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={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/","`":"`","=":"="};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 = "<OLD URL>";
|
| 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 == "<OLD URL>" ) : ?>
|
| 98 |
-
where <old URL> 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="fi" 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="
" horiz-adv-x="510" />
|
| 13 |
-
<glyph unicode=" " horiz-adv-x="510" />
|
| 14 |
-
<glyph unicode="	" horiz-adv-x="510" />
|
| 15 |
-
<glyph unicode=" " horiz-adv-x="510" />
|
| 16 |
-
<glyph unicode="!" horiz-adv-x="557" d="M134 0v256h292v-256h-292zM134 502v954h292v-954h-292z" />
|
| 17 |
-
<glyph unicode=""" 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="&" 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="<" 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=">" 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="¡" horiz-adv-x="580" d="M142 -374v953h292v-953h-292zM142 825v257h292v-257h-292z" />
|
| 111 |
-
<glyph unicode="¢" 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="£" 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="¤" 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="¥" horiz-adv-x="1253" d="M22 1456h321l280 -608h6l281 608h320l-382 -714h244v-200h-324v-110h324v-200h-324v-232h-292v232h-339v200h339v110h-339v200h267z" />
|
| 115 |
-
<glyph unicode="¦" horiz-adv-x="517" d="M127 -270v795h262v-795h-262zM127 698v758h262v-758h-262z" />
|
| 116 |
-
<glyph unicode="§" 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="¨" horiz-adv-x="1090" d="M156 1252v204h266v-204h-266zM656 1252v204h266v-204h-266z" />
|
| 118 |
-
<glyph unicode="©" 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="ª" 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="«" horiz-adv-x="1025" d="M98 507v19l280 390h187l-240 -400l240 -399h-187zM432 507v19l280 390h187l-240 -400l240 -399h-187z" />
|
| 121 |
-
<glyph unicode="¬" horiz-adv-x="1129" d="M126 634v171h835v-431h-200v260h-635z" />
|
| 122 |
-
<glyph unicode="­" horiz-adv-x="801" d="M113 510v225h564v-225h-564z" />
|
| 123 |
-
<glyph unicode="®" 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="¯" horiz-adv-x="1028" d="M148 1292v165h731v-165h-731z" />
|
| 125 |
-
<glyph unicode="°" 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="±" horiz-adv-x="1101" d="M90 715v232h333v363h256v-363h327v-232h-327v-383h-256v383h-333zM114 -43v228h834v-228h-834z" />
|
| 127 |
-
<glyph unicode="²" 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="³" 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="´" horiz-adv-x="727" d="M108 1212l199 266h309l2 -6l-277 -260h-233z" />
|
| 130 |
-
<glyph unicode="µ" 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="¶" 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="·" horiz-adv-x="619" d="M159 568v260h292v-260h-292z" />
|
| 133 |
-
<glyph unicode="¸" 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="¹" horiz-adv-x="573" d="M78 1295v159l338 23v-812h-211v630h-127z" />
|
| 135 |
-
<glyph unicode="º" 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="»" 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="¼" 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="½" 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="¾" 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="¿" 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="À" 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="Á" 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="Â" 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="Ã" 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="Ä" 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="Å" 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="Æ" 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="Ç" 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="È" horiz-adv-x="1176" d="M136 0v1456h995v-225h-703v-366h603v-225h-603v-416h705v-224h-997zM244 1820l2 6h309l197 -266h-237z" />
|
| 150 |
-
<glyph unicode="É" horiz-adv-x="1176" d="M136 0v1456h995v-225h-703v-366h603v-225h-603v-416h705v-224h-997zM456 1560l199 266h309l2 -6l-277 -260h-233z" />
|
| 151 |
-
<glyph unicode="Ê" 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="Ë" horiz-adv-x="1176" d="M136 0v1456h995v-225h-703v-366h603v-225h-603v-416h705v-224h-997zM221 1601v204h266v-204h-266zM721 1601v204h266v-204h-266z" />
|
| 153 |
-
<glyph unicode="Ì" horiz-adv-x="601" d="M-58 1820l2 6h309l197 -266h-237zM154 0v1456h292v-1456h-292z" />
|
| 154 |
-
<glyph unicode="Í" horiz-adv-x="601" d="M152 1560l199 266h309l2 -6l-277 -260h-233zM154 0v1456h292v-1456h-292z" />
|
| 155 |
-
<glyph unicode="Î" horiz-adv-x="601" d="M-64 1592v26l282 240h169l287 -243v-23h-232l-140 133l-139 -133h-227zM154 0v1456h292v-1456h-292z" />
|
| 156 |
-
<glyph unicode="Ï" horiz-adv-x="601" d="M-81 1601v204h266v-204h-266zM154 0v1456h292v-1456h-292zM419 1601v204h266v-204h-266z" />
|
| 157 |
-
<glyph unicode="Ð" 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="Ñ" 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="Ò" 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="Ó" 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="Ô" 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="Õ" 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="Ö" 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="×" 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="Ø" 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="Ù" 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="Ú" 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="Û" 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="Ü" 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="Ý" horiz-adv-x="1292" d="M5 1456h320l318 -671h6l318 671h320l-500 -944v-512h-291v527zM504 1560l199 266h309l2 -6l-277 -260h-233z" />
|
| 171 |
-
<glyph unicode="Þ" 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="ß" 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="à" 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="á" 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="â" 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="ã" 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="ä" 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="å" 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="æ" 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="ç" 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="è" 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="é" 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="ê" 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="ë" 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="ì" horiz-adv-x="562" d="M-78 1498l2 6h309l197 -266h-237zM133 0v1082h292v-1082h-292z" />
|
| 186 |
-
<glyph unicode="í" horiz-adv-x="562" d="M132 1217l199 266h309l2 -6l-277 -260h-233zM133 0v1082h292v-1082h-292z" />
|
| 187 |
-
<glyph unicode="î" horiz-adv-x="562" d="M-84 1251v26l282 240h169l287 -243v-23h-232l-140 133l-139 -133h-227zM133 0v1082h292v-1082h-292z" />
|
| 188 |
-
<glyph unicode="ï" horiz-adv-x="562" d="M-101 1258v204h266v-204h-266zM133 0v1082h292v-1082h-292zM399 1258v204h266v-204h-266z" />
|
| 189 |
-
<glyph unicode="ð" 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="ñ" 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="ò" 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="ó" 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="ô" 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="õ" 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="ö" 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="÷" horiz-adv-x="1168" d="M63 573v227h1029v-227h-1029zM432 164v233h293v-233h-293zM432 973v233h293v-233h-293z" />
|
| 197 |
-
<glyph unicode="ø" 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="ù" 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="ú" 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="û" 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="ü" 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="ý" 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="þ" 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="ÿ" 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="Œ" 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="œ" 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="Ÿ" horiz-adv-x="1292" d="M5 1456h320l318 -671h6l318 671h320l-500 -944v-512h-291v527zM269 1601v204h266v-204h-266zM769 1601v204h266v-204h-266z" />
|
| 208 |
-
<glyph unicode="ˆ" horiz-adv-x="1016" d="M137 1252v26l282 240h169l287 -243v-23h-232l-140 133l-139 -133h-227z" />
|
| 209 |
-
<glyph unicode="˜" 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=" " horiz-adv-x="967" />
|
| 211 |
-
<glyph unicode=" " horiz-adv-x="1935" />
|
| 212 |
-
<glyph unicode=" " horiz-adv-x="967" />
|
| 213 |
-
<glyph unicode=" " horiz-adv-x="1935" />
|
| 214 |
-
<glyph unicode=" " horiz-adv-x="645" />
|
| 215 |
-
<glyph unicode=" " horiz-adv-x="483" />
|
| 216 |
-
<glyph unicode=" " horiz-adv-x="322" />
|
| 217 |
-
<glyph unicode=" " horiz-adv-x="322" />
|
| 218 |
-
<glyph unicode=" " horiz-adv-x="241" />
|
| 219 |
-
<glyph unicode=" " horiz-adv-x="387" />
|
| 220 |
-
<glyph unicode=" " horiz-adv-x="107" />
|
| 221 |
-
<glyph unicode="‐" horiz-adv-x="801" d="M113 510v225h564v-225h-564z" />
|
| 222 |
-
<glyph unicode="‑" horiz-adv-x="801" d="M113 510v225h564v-225h-564z" />
|
| 223 |
-
<glyph unicode="‒" horiz-adv-x="801" d="M113 510v225h564v-225h-564z" />
|
| 224 |
-
<glyph unicode="–" horiz-adv-x="1413" d="M141 601v228h1084v-228h-1084z" />
|
| 225 |
-
<glyph unicode="—" horiz-adv-x="1670" d="M106 601v228h1334v-228h-1334z" />
|
| 226 |
-
<glyph unicode="‘" horiz-adv-x="405" d="M50 1015v192l162 353h143l-60 -352v-193h-245z" />
|
| 227 |
-
<glyph unicode="’" horiz-adv-x="405" d="M57 1016l60 349v195h246v-194l-162 -350h-144z" />
|
| 228 |
-
<glyph unicode="‚" horiz-adv-x="406" d="M50 -263l60 266v284h246v-268l-147 -282h-159z" />
|
| 229 |
-
<glyph unicode="“" horiz-adv-x="742" d="M50 1015v192l162 353h143l-60 -352v-193h-245zM379 1015v192l162 353h143l-60 -352v-193h-245z" />
|
| 230 |
-
<glyph unicode="”" horiz-adv-x="750" d="M57 1016l60 349v195h246v-194l-162 -350h-144zM394 1016l60 349v195h246v-194l-162 -350h-144z" />
|
| 231 |
-
<glyph unicode="„" horiz-adv-x="732" d="M50 -225l60 268v255h230v-243l-162 -280h-128zM391 -225l60 276v247h231v-243l-162 -280h-129z" />
|
| 232 |
-
<glyph unicode="•" 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="…" horiz-adv-x="1519" d="M144 0v256h292v-256h-292zM587 0v256h292v-256h-292zM1007 0v256h292v-256h-292z" />
|
| 234 |
-
<glyph unicode=" " horiz-adv-x="387" />
|
| 235 |
-
<glyph unicode="‹" horiz-adv-x="639" d="M108 541v19l280 390h187l-240 -400l240 -399h-187z" />
|
| 236 |
-
<glyph unicode="›" horiz-adv-x="619" d="M80 151l239 399l-239 400h188l280 -390v-19l-280 -390h-188z" />
|
| 237 |
-
<glyph unicode=" " horiz-adv-x="483" />
|
| 238 |
-
<glyph unicode="€" 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="™" 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="" horiz-adv-x="1080" d="M0 0v1080h1080v-1080h-1080z" />
|
| 241 |
-
<glyph unicode="fl" 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="ffi" 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="ffl" 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=""" u2="w" k="-12" />
|
| 245 |
-
<hkern u1="'" u2="w" k="-12" />
|
| 246 |
-
<hkern u1="(" u2="Ÿ" k="-25" />
|
| 247 |
-
<hkern u1="(" u2="Ý" k="-25" />
|
| 248 |
-
<hkern u1="(" u2="Y" k="-25" />
|
| 249 |
-
<hkern u1="(" u2="W" k="-26" />
|
| 250 |
-
<hkern u1="(" 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="?" k="77" />
|
| 254 |
-
<hkern u1="C" u2=")" k="30" />
|
| 255 |
-
<hkern u1="D" u2="Æ" k="61" />
|
| 256 |
-
<hkern u1="E" u2="w" k="25" />
|
| 257 |
-
<hkern u1="F" u2="…" k="325" />
|
| 258 |
-
<hkern u1="F" u2="„" k="325" />
|
| 259 |
-
<hkern u1="F" u2="‚" k="325" />
|
| 260 |
-
<hkern u1="F" u2="œ" k="52" />
|
| 261 |
-
<hkern u1="F" u2="ÿ" k="28" />
|
| 262 |
-
<hkern u1="F" u2="ý" k="28" />
|
| 263 |
-
<hkern u1="F" u2="ü" k="25" />
|
| 264 |
-
<hkern u1="F" u2="û" k="25" />
|
| 265 |
-
<hkern u1="F" u2="ú" k="25" />
|
| 266 |
-
<hkern u1="F" u2="ù" k="25" />
|
| 267 |
-
<hkern u1="F" u2="ö" k="54" />
|
| 268 |
-
<hkern u1="F" u2="õ" k="54" />
|
| 269 |
-
<hkern u1="F" u2="ô" k="54" />
|
| 270 |
-
<hkern u1="F" u2="ó" k="54" />
|
| 271 |
-
<hkern u1="F" u2="ò" k="54" />
|
| 272 |
-
<hkern u1="F" u2="ë" k="52" />
|
| 273 |
-
<hkern u1="F" u2="ê" k="52" />
|
| 274 |
-
<hkern u1="F" u2="é" k="52" />
|
| 275 |
-
<hkern u1="F" u2="è" k="52" />
|
| 276 |
-
<hkern u1="F" u2="ç" k="52" />
|
| 277 |
-
<hkern u1="F" u2="å" k="68" />
|
| 278 |
-
<hkern u1="F" u2="ä" k="68" />
|
| 279 |
-
<hkern u1="F" u2="ã" k="68" />
|
| 280 |
-
<hkern u1="F" u2="â" k="68" />
|
| 281 |
-
<hkern u1="F" u2="á" k="68" />
|
| 282 |
-
<hkern u1="F" u2="à" k="68" />
|
| 283 |
-
<hkern u1="F" u2="Å" k="163" />
|
| 284 |
-
<hkern u1="F" u2="Ä" k="163" />
|
| 285 |
-
<hkern u1="F" u2="Ã" k="163" />
|
| 286 |
-
<hkern u1="F" u2="Â" k="163" />
|
| 287 |
-
<hkern u1="F" u2="Á" k="163" />
|
| 288 |
-
<hkern u1="F" u2="À" 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=":" k="325" />
|
| 303 |
-
<hkern u1="F" u2="." k="325" />
|
| 304 |
-
<hkern u1="F" u2="," k="325" />
|
| 305 |
-
<hkern u1="K" u2="w" k="74" />
|
| 306 |
-
<hkern u1="L" u2="w" k="104" />
|
| 307 |
-
<hkern u1="O" u2="Æ" k="61" />
|
| 308 |
-
<hkern u1="P" u2="Æ" k="165" />
|
| 309 |
-
<hkern u1="P" u2="t" k="-16" />
|
| 310 |
-
<hkern u1="Q" u2="Ÿ" k="71" />
|
| 311 |
-
<hkern u1="Q" u2="Ý" 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="Ÿ" k="57" />
|
| 317 |
-
<hkern u1="R" u2="Ý" 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="ø" k="112" />
|
| 322 |
-
<hkern u1="T" u2="æ" k="99" />
|
| 323 |
-
<hkern u1="T" u2="Æ" k="195" />
|
| 324 |
-
<hkern u1="T" u2="»" k="173" />
|
| 325 |
-
<hkern u1="T" u2="«" k="175" />
|
| 326 |
-
<hkern u1="T" u2="w" k="55" />
|
| 327 |
-
<hkern u1="T" u2="r" k="77" />
|
| 328 |
-
<hkern u1="V" u2="}" k="-22" />
|
| 329 |
-
<hkern u1="V" u2="r" k="35" />
|
| 330 |
-
<hkern u1="V" u2="]" k="-20" />
|
| 331 |
-
<hkern u1="V" u2=")" k="-23" />
|
| 332 |
-
<hkern u1="W" u2="}" k="-16" />
|
| 333 |
-
<hkern u1="W" u2="r" k="24" />
|
| 334 |
-
<hkern u1="W" u2="]" k="-14" />
|
| 335 |
-
<hkern u1="W" u2=")" k="-17" />
|
| 336 |
-
<hkern u1="Y" u2="•" k="105" />
|
| 337 |
-
<hkern u1="Y" u2="ø" k="91" />
|
| 338 |
-
<hkern u1="Y" u2="æ" k="89" />
|
| 339 |
-
<hkern u1="Y" u2="Æ" k="136" />
|
| 340 |
-
<hkern u1="Y" u2="»" k="60" />
|
| 341 |
-
<hkern u1="Y" u2="«" k="119" />
|
| 342 |
-
<hkern u1="Y" u2="}" 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="*" k="88" />
|
| 348 |
-
<hkern u1="Y" u2=")" k="-23" />
|
| 349 |
-
<hkern u1="Y" u2="&" k="57" />
|
| 350 |
-
<hkern u1="Z" u2="w" k="31" />
|
| 351 |
-
<hkern u1="[" u2="Ü" k="21" />
|
| 352 |
-
<hkern u1="[" u2="Û" k="21" />
|
| 353 |
-
<hkern u1="[" u2="Ú" k="21" />
|
| 354 |
-
<hkern u1="[" u2="Ù" k="21" />
|
| 355 |
-
<hkern u1="[" u2="U" k="21" />
|
| 356 |
-
<hkern u1="[" u2="J" k="21" />
|
| 357 |
-
<hkern u1="f" u2="”" k="-34" />
|
| 358 |
-
<hkern u1="f" u2="“" k="-34" />
|
| 359 |
-
<hkern u1="f" u2="’" k="-34" />
|
| 360 |
-
<hkern u1="f" u2="‘" k="-34" />
|
| 361 |
-
<hkern u1="f" u2="}" k="-37" />
|
| 362 |
-
<hkern u1="f" u2="]" k="-66" />
|
| 363 |
-
<hkern u1="f" u2=")" k="-53" />
|
| 364 |
-
<hkern u1="f" u2="'" k="-34" />
|
| 365 |
-
<hkern u1="f" u2=""" k="-34" />
|
| 366 |
-
<hkern u1="k" u2="œ" k="23" />
|
| 367 |
-
<hkern u1="k" u2="ë" k="23" />
|
| 368 |
-
<hkern u1="k" u2="ê" k="23" />
|
| 369 |
-
<hkern u1="k" u2="é" k="23" />
|
| 370 |
-
<hkern u1="k" u2="è" k="23" />
|
| 371 |
-
<hkern u1="k" u2="ç" 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="…" k="72" />
|
| 382 |
-
<hkern u1="w" u2="„" k="72" />
|
| 383 |
-
<hkern u1="w" u2="‚" k="72" />
|
| 384 |
-
<hkern u1="w" u2=":" k="72" />
|
| 385 |
-
<hkern u1="w" u2="." k="72" />
|
| 386 |
-
<hkern u1="w" u2="," k="72" />
|
| 387 |
-
<hkern u1="y" u2="f" k="-15" />
|
| 388 |
-
<hkern u1="{" u2="Ü" k="23" />
|
| 389 |
-
<hkern u1="{" u2="Û" k="23" />
|
| 390 |
-
<hkern u1="{" u2="Ú" k="23" />
|
| 391 |
-
<hkern u1="{" u2="Ù" k="23" />
|
| 392 |
-
<hkern u1="{" u2="U" k="23" />
|
| 393 |
-
<hkern u1="{" u2="J" k="23" />
|
| 394 |
-
<hkern u1="À" u2="w" k="39" />
|
| 395 |
-
<hkern u1="À" u2="t" k="20" />
|
| 396 |
-
<hkern u1="À" u2="?" k="77" />
|
| 397 |
-
<hkern u1="Á" u2="w" k="39" />
|
| 398 |
-
<hkern u1="Á" u2="t" k="20" />
|
| 399 |
-
<hkern u1="Á" u2="?" k="77" />
|
| 400 |
-
<hkern u1="Â" u2="w" k="39" />
|
| 401 |
-
<hkern u1="Â" u2="t" k="20" />
|
| 402 |
-
<hkern u1="Â" u2="?" k="77" />
|
| 403 |
-
<hkern u1="Ã" u2="w" k="39" />
|
| 404 |
-
<hkern u1="Ã" u2="t" k="20" />
|
| 405 |
-
<hkern u1="Ã" u2="?" k="77" />
|
| 406 |
-
<hkern u1="Ä" u2="w" k="39" />
|
| 407 |
-
<hkern u1="Ä" u2="t" k="20" />
|
| 408 |
-
<hkern u1="Ä" u2="?" k="77" />
|
| 409 |
-
<hkern u1="Å" u2="w" k="39" />
|
| 410 |
-
<hkern u1="Å" u2="t" k="20" />
|
| 411 |
-
<hkern u1="Å" u2="?" k="77" />
|
| 412 |
-
<hkern u1="Ç" u2=")" k="30" />
|
| 413 |
-
<hkern u1="È" u2="w" k="25" />
|
| 414 |
-
<hkern u1="É" u2="w" k="25" />
|
| 415 |
-
<hkern u1="Ê" u2="w" k="25" />
|
| 416 |
-
<hkern u1="Ë" u2="w" k="25" />
|
| 417 |
-
<hkern u1="Ð" u2="Æ" k="61" />
|
| 418 |
-
<hkern u1="Ò" u2="Æ" k="61" />
|
| 419 |
-
<hkern u1="Ó" u2="Æ" k="61" />
|
| 420 |
-
<hkern u1="Ô" u2="Æ" k="61" />
|
| 421 |
-
<hkern u1="Õ" u2="Æ" k="61" />
|
| 422 |
-
<hkern u1="Ö" u2="Æ" k="61" />
|
| 423 |
-
<hkern u1="Ý" u2="•" k="105" />
|
| 424 |
-
<hkern u1="Ý" u2="ø" k="91" />
|
| 425 |
-
<hkern u1="Ý" u2="æ" k="89" />
|
| 426 |
-
<hkern u1="Ý" u2="Æ" k="136" />
|
| 427 |
-
<hkern u1="Ý" u2="»" k="60" />
|
| 428 |
-
<hkern u1="Ý" u2="«" k="119" />
|
| 429 |
-
<hkern u1="Ý" u2="}" k="-22" />
|
| 430 |
-
<hkern u1="Ý" u2="t" k="33" />
|
| 431 |
-
<hkern u1="Ý" u2="r" k="62" />
|
| 432 |
-
<hkern u1="Ý" u2="f" k="40" />
|
| 433 |
-
<hkern u1="Ý" u2="]" k="-21" />
|
| 434 |
-
<hkern u1="Ý" u2="*" k="88" />
|
| 435 |
-
<hkern u1="Ý" u2=")" k="-23" />
|
| 436 |
-
<hkern u1="Ý" u2="&" k="57" />
|
| 437 |
-
<hkern u1="ý" u2="f" k="-15" />
|
| 438 |
-
<hkern u1="ÿ" u2="f" k="-15" />
|
| 439 |
-
<hkern u1="Ÿ" u2="•" k="105" />
|
| 440 |
-
<hkern u1="Ÿ" u2="ø" k="91" />
|
| 441 |
-
<hkern u1="Ÿ" u2="æ" k="89" />
|
| 442 |
-
<hkern u1="Ÿ" u2="Æ" k="136" />
|
| 443 |
-
<hkern u1="Ÿ" u2="»" k="60" />
|
| 444 |
-
<hkern u1="Ÿ" u2="«" k="119" />
|
| 445 |
-
<hkern u1="Ÿ" u2="}" k="-22" />
|
| 446 |
-
<hkern u1="Ÿ" u2="t" k="33" />
|
| 447 |
-
<hkern u1="Ÿ" u2="r" k="62" />
|
| 448 |
-
<hkern u1="Ÿ" u2="f" k="40" />
|
| 449 |
-
<hkern u1="Ÿ" u2="]" k="-21" />
|
| 450 |
-
<hkern u1="Ÿ" u2="*" k="88" />
|
| 451 |
-
<hkern u1="Ÿ" u2=")" k="-23" />
|
| 452 |
-
<hkern u1="Ÿ" u2="&" k="57" />
|
| 453 |
-
<hkern u1="‘" u2="w" k="-12" />
|
| 454 |
-
<hkern u1="’" u2="w" k="-12" />
|
| 455 |
-
<hkern u1="“" u2="w" k="-12" />
|
| 456 |
-
<hkern u1="”" 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="fi" 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="
" horiz-adv-x="498" />
|
| 13 |
-
<glyph unicode=" " horiz-adv-x="498" />
|
| 14 |
-
<glyph unicode="	" horiz-adv-x="498" />
|
| 15 |
-
<glyph unicode=" " horiz-adv-x="498" />
|
| 16 |
-
<glyph unicode="!" horiz-adv-x="462" d="M158 0v167h142v-167h-142zM169 478v978h119v-978h-119z" />
|
| 17 |
-
<glyph unicode=""" 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="&" 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="<" 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=">" 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="¡" horiz-adv-x="452" d="M145 898v184h142v-184h-142zM156 -374v978h120v-978h-120z" />
|
| 111 |
-
<glyph unicode="¢" 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="£" 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="¤" 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="¥" horiz-adv-x="1223" d="M45 1456h139l423 -723l424 723h139l-455 -751h371v-102h-421v-175h421v-102h-421v-326h-119v326h-416v102h416v175h-416v102h370z" />
|
| 115 |
-
<glyph unicode="¦" horiz-adv-x="444" d="M159 -270v771h120v-771h-120zM159 698v758h120v-758h-120z" />
|
| 116 |
-
<glyph unicode="§" 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="¨" horiz-adv-x="959" d="M162 1299v157h174v-157h-174zM632 1299v157h173v-157h-173z" />
|
| 118 |
-
<glyph unicode="©" 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="ª" 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="«" horiz-adv-x="933" d="M123 541v19l295 379h105l-276 -389l276 -388h-105zM432 541v19l295 379h105l-276 -389l276 -388h-105z" />
|
| 121 |
-
<glyph unicode="¬" horiz-adv-x="1117" d="M124 670v106h812v-390h-120v284h-692z" />
|
| 122 |
-
<glyph unicode="­" horiz-adv-x="586" d="M49 570v101h479v-101h-479z" />
|
| 123 |
-
<glyph unicode="®" 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="¯" horiz-adv-x="874" d="M106 1359v97h670v-97h-670z" />
|
| 125 |
-
<glyph unicode="°" 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="±" horiz-adv-x="1086" d="M85 728v101h414v438h110v-438h392v-101h-392v-439h-110v439h-414zM193 48v102h835v-102h-835z" />
|
| 127 |
-
<glyph unicode="²" 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="³" 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="´" horiz-adv-x="576" d="M116 1212l207 266h147l3 -6l-249 -260h-108z" />
|
| 130 |
-
<glyph unicode="µ" 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="¶" 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="·" horiz-adv-x="503" d="M166 624v180h155v-180h-155z" />
|
| 133 |
-
<glyph unicode="¸" 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="¹" horiz-adv-x="511" d="M87 1361v93l257 23v-812h-109v703z" />
|
| 135 |
-
<glyph unicode="º" 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="»" 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="¼" 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="½" 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="¾" 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="¿" 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="À" 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="Á" 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="Â" 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="Ã" 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="Ä" 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="Å" 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="Æ" 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="Ç" 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="È" horiz-adv-x="1180" d="M191 0v1456h917v-102h-798v-547h701v-102h-701v-604h803v-101h-922zM335 1822l2 5h154l202 -266h-117z" />
|
| 150 |
-
<glyph unicode="É" horiz-adv-x="1180" d="M191 0v1456h917v-102h-798v-547h701v-102h-701v-604h803v-101h-922zM548 1557l207 266h147l3 -6l-249 -260h-108z" />
|
| 151 |
-
<glyph unicode="Ê" 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="Ë" horiz-adv-x="1180" d="M191 0v1456h917v-102h-798v-547h701v-102h-701v-604h803v-101h-922zM306 1641v157h174v-157h-174zM776 1641v157h173v-157h-173z" />
|
| 153 |
-
<glyph unicode="Ì" horiz-adv-x="554" d="M-9 1822l2 5h154l202 -266h-117zM217 0v1456h120v-1456h-120z" />
|
| 154 |
-
<glyph unicode="Í" horiz-adv-x="554" d="M202 1557l207 266h147l3 -6l-249 -260h-108zM217 0v1456h120v-1456h-120z" />
|
| 155 |
-
<glyph unicode="Î" horiz-adv-x="554" d="M3 1601v21l227 221h98l230 -224v-18h-112l-167 168l-166 -168h-110zM217 0v1456h120v-1456h-120z" />
|
| 156 |
-
<glyph unicode="Ï" horiz-adv-x="554" d="M-38 1641v157h174v-157h-174zM217 0v1456h120v-1456h-120zM432 1641v157h173v-157h-173z" />
|
| 157 |
-
<glyph unicode="Ð" 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="Ñ" 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="Ò" 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="Ó" 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="Ô" 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="Õ" 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="Ö" 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="×" 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="Ø" 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="Ù" 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="Ú" 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="Û" 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="Ü" 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="Ý" horiz-adv-x="1244" d="M33 1456h139l448 -809l451 809h139l-531 -924v-532h-119v539zM545 1550l207 266h147l3 -6l-249 -260h-108z" />
|
| 171 |
-
<glyph unicode="Þ" 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="ß" 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="à" 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="á" 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="â" 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="ã" 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="ä" 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="å" 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="æ" 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="ç" 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="è" 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="é" 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="ê" 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="ë" 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="ì" horiz-adv-x="456" d="M-58 1479l2 5h154l202 -266h-117zM168 0v1082h120v-1082h-120z" />
|
| 186 |
-
<glyph unicode="í" horiz-adv-x="456" d="M153 1214l207 266h147l3 -6l-249 -260h-108zM168 0v1082h120v-1082h-120z" />
|
| 187 |
-
<glyph unicode="î" horiz-adv-x="456" d="M-46 1258v21l227 221h98l230 -224v-18h-112l-167 168l-166 -168h-110zM168 0v1082h120v-1082h-120z" />
|
| 188 |
-
<glyph unicode="ï" horiz-adv-x="456" d="M-87 1299v157h174v-157h-174zM168 0v1082h120v-1082h-120zM383 1299v157h173v-157h-173z" />
|
| 189 |
-
<glyph unicode="ð" 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="ñ" 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="ò" 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="ó" 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="ô" 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="õ" 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="ö" 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="÷" horiz-adv-x="1164" d="M72 644v116h998v-116h-998zM506 212v160h142v-160h-142zM506 1010v160h142v-160h-142z" />
|
| 197 |
-
<glyph unicode="ø" 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="ù" 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="ú" 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="û" 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="ü" 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="ý" 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="þ" 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="ÿ" 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="Œ" 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="œ" 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="Ÿ" horiz-adv-x="1244" d="M33 1456h139l448 -809l451 809h139l-531 -924v-532h-119v539zM303 1634v157h174v-157h-174zM773 1634v157h173v-157h-173z" />
|
| 208 |
-
<glyph unicode="ˆ" horiz-adv-x="880" d="M160 1252v21l227 221h98l230 -224v-18h-112l-167 168l-166 -168h-110z" />
|
| 209 |
-
<glyph unicode="˜" 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=" " horiz-adv-x="948" />
|
| 211 |
-
<glyph unicode=" " horiz-adv-x="1896" />
|
| 212 |
-
<glyph unicode=" " horiz-adv-x="948" />
|
| 213 |
-
<glyph unicode=" " horiz-adv-x="1896" />
|
| 214 |
-
<glyph unicode=" " horiz-adv-x="632" />
|
| 215 |
-
<glyph unicode=" " horiz-adv-x="474" />
|
| 216 |
-
<glyph unicode=" " horiz-adv-x="316" />
|
| 217 |
-
<glyph unicode=" " horiz-adv-x="316" />
|
| 218 |
-
<glyph unicode=" " horiz-adv-x="237" />
|
| 219 |
-
<glyph unicode=" " horiz-adv-x="379" />
|
| 220 |
-
<glyph unicode=" " horiz-adv-x="105" />
|
| 221 |
-
<glyph unicode="‐" horiz-adv-x="586" d="M49 570v101h479v-101h-479z" />
|
| 222 |
-
<glyph unicode="‑" horiz-adv-x="586" d="M49 570v101h479v-101h-479z" />
|
| 223 |
-
<glyph unicode="‒" horiz-adv-x="586" d="M49 570v101h479v-101h-479z" />
|
| 224 |
-
<glyph unicode="–" horiz-adv-x="1414" d="M165 686v102h1086v-102h-1086z" />
|
| 225 |
-
<glyph unicode="—" horiz-adv-x="1667" d="M136 686v102h1336v-102h-1336z" />
|
| 226 |
-
<glyph unicode="‘" horiz-adv-x="364" d="M91 1074v174l111 312h71l-63 -312v-174h-119z" />
|
| 227 |
-
<glyph unicode="’" horiz-adv-x="364" d="M91 1074l63 304v182h119v-179l-111 -307h-71z" />
|
| 228 |
-
<glyph unicode="‚" horiz-adv-x="353" d="M91 -211l52 266v204h119v-194l-100 -276h-71z" />
|
| 229 |
-
<glyph unicode="“" horiz-adv-x="612" d="M91 1074v174l111 312h71l-63 -312v-174h-119zM338 1074v174l111 312h71l-63 -312v-174h-119z" />
|
| 230 |
-
<glyph unicode="”" horiz-adv-x="617" d="M91 1074l63 304v182h119v-179l-111 -307h-71zM343 1074l63 304v182h119v-179l-111 -307h-71z" />
|
| 231 |
-
<glyph unicode="„" horiz-adv-x="593" d="M91 -202l51 295v181h120v-175l-100 -301h-71zM330 -202l52 299v177h120v-175l-100 -301h-72z" />
|
| 232 |
-
<glyph unicode="•" 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="…" horiz-adv-x="1313" d="M188 0v164h137v-164h-137zM598 0v164h137v-164h-137zM990 0v164h137v-164h-137z" />
|
| 234 |
-
<glyph unicode=" " horiz-adv-x="379" />
|
| 235 |
-
<glyph unicode="‹" horiz-adv-x="609" d="M108 541v19l295 379h105l-276 -389l276 -388h-105z" />
|
| 236 |
-
<glyph unicode="›" horiz-adv-x="609" d="M101 162l276 388l-276 389h105l295 -379v-19l-295 -379h-105z" />
|
| 237 |
-
<glyph unicode=" " horiz-adv-x="474" />
|
| 238 |
-
<glyph unicode="€" 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="™" 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="" horiz-adv-x="1080" d="M0 0v1080h1080v-1080h-1080z" />
|
| 241 |
-
<glyph unicode="fl" 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="ffi" 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="ffl" 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=""" u2="w" k="-11" />
|
| 245 |
-
<hkern u1="'" u2="w" k="-11" />
|
| 246 |
-
<hkern u1="(" u2="Ÿ" k="-22" />
|
| 247 |
-
<hkern u1="(" u2="Ý" k="-22" />
|
| 248 |
-
<hkern u1="(" u2="Y" k="-22" />
|
| 249 |
-
<hkern u1="(" u2="W" k="-18" />
|
| 250 |
-
<hkern u1="(" u2="V" k="-20" />
|
| 251 |
-
<hkern u1="/" u2="/" k="224" />
|
| 252 |
-
<hkern u1="A" u2="w" k="33" />
|
| 253 |
-
<hkern u1="A" u2="t" k="17" />
|
| 254 |
-
<hkern u1="A" u2="?" k="61" />
|
| 255 |
-
<hkern u1="C" u2="}" k="17" />
|
| 256 |
-
<hkern u1="C" u2="]" k="12" />
|
| 257 |
-
<hkern u1="C" u2=")" k="26" />
|
| 258 |
-
<hkern u1="D" u2="Æ" k="33" />
|
| 259 |
-
<hkern u1="E" u2="w" k="22" />
|
| 260 |
-
<hkern u1="E" u2="f" k="18" />
|
| 261 |
-
<hkern u1="F" u2="…" k="234" />
|
| 262 |
-
<hkern u1="F" u2="„" k="234" />
|
| 263 |
-
<hkern u1="F" u2="‚" k="234" />
|
| 264 |
-
<hkern u1="F" u2="œ" k="21" />
|
| 265 |
-
<hkern u1="F" u2="ÿ" k="24" />
|
| 266 |
-
<hkern u1="F" u2="ý" k="24" />
|
| 267 |
-
<hkern u1="F" u2="ü" k="22" />
|
| 268 |
-
<hkern u1="F" u2="û" k="22" />
|
| 269 |
-
<hkern u1="F" u2="ú" k="22" />
|
| 270 |
-
<hkern u1="F" u2="ù" k="22" />
|
| 271 |
-
<hkern u1="F" u2="ö" k="21" />
|
| 272 |
-
<hkern u1="F" u2="õ" k="21" />
|
| 273 |
-
<hkern u1="F" u2="ô" k="21" />
|
| 274 |
-
<hkern u1="F" u2="ó" k="21" />
|
| 275 |
-
<hkern u1="F" u2="ò" k="21" />
|
| 276 |
-
<hkern u1="F" u2="ë" k="21" />
|
| 277 |
-
<hkern u1="F" u2="ê" k="21" />
|
| 278 |
-
<hkern u1="F" u2="é" k="21" />
|
| 279 |
-
<hkern u1="F" u2="è" k="21" />
|
| 280 |
-
<hkern u1="F" u2="ç" k="21" />
|
| 281 |
-
<hkern u1="F" u2="å" k="34" />
|
| 282 |
-
<hkern u1="F" u2="ä" k="34" />
|
| 283 |
-
<hkern u1="F" u2="ã" k="34" />
|
| 284 |
-
<hkern u1="F" u2="â" k="34" />
|
| 285 |
-
<hkern u1="F" u2="á" k="34" />
|
| 286 |
-
<hkern u1="F" u2="à" k="34" />
|
| 287 |
-
<hkern u1="F" u2="Å" k="59" />
|
| 288 |
-
<hkern u1="F" u2="Ä" k="59" />
|
| 289 |
-
<hkern u1="F" u2="Ã" k="59" />
|
| 290 |
-
<hkern u1="F" u2="Â" k="59" />
|
| 291 |
-
<hkern u1="F" u2="Á" k="59" />
|
| 292 |
-
<hkern u1="F" u2="À" 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="." k="234" />
|
| 308 |
-
<hkern u1="F" u2="," k="234" />
|
| 309 |
-
<hkern u1="K" u2="w" k="63" />
|
| 310 |
-
<hkern u1="L" u2="w" k="92" />
|
| 311 |
-
<hkern u1="O" u2="Æ" k="33" />
|
| 312 |
-
<hkern u1="P" u2="Æ" k="97" />
|
| 313 |
-
<hkern u1="P" u2="t" k="-14" />
|
| 314 |
-
<hkern u1="Q" u2="Ÿ" k="35" />
|
| 315 |
-
<hkern u1="Q" u2="Ý" 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="Ÿ" k="48" />
|
| 321 |
-
<hkern u1="R" u2="Ý" 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="ø" k="95" />
|
| 326 |
-
<hkern u1="T" u2="æ" k="114" />
|
| 327 |
-
<hkern u1="T" u2="Æ" k="179" />
|
| 328 |
-
<hkern u1="T" u2="»" k="216" />
|
| 329 |
-
<hkern u1="T" u2="«" k="328" />
|
| 330 |
-
<hkern u1="T" u2="w" k="57" />
|
| 331 |
-
<hkern u1="T" u2="r" k="75" />
|
| 332 |
-
<hkern u1="V" u2="}" k="-19" />
|
| 333 |
-
<hkern u1="V" u2="r" k="30" />
|
| 334 |
-
<hkern u1="V" u2="]" k="-17" />
|
| 335 |
-
<hkern u1="V" u2=")" k="-20" />
|
| 336 |
-
<hkern u1="W" u2="}" k="-14" />
|
| 337 |
-
<hkern u1="W" u2="r" k="21" />
|
| 338 |
-
<hkern u1="W" u2="]" k="-12" />
|
| 339 |
-
<hkern u1="W" u2=")" k="-15" />
|
| 340 |
-
<hkern u1="Y" u2="•" k="45" />
|
| 341 |
-
<hkern u1="Y" u2="ø" k="64" />
|
| 342 |
-
<hkern u1="Y" u2="æ" k="63" />
|
| 343 |
-
<hkern u1="Y" u2="Æ" k="96" />
|
| 344 |
-
<hkern u1="Y" u2="»" k="51" />
|
| 345 |
-
<hkern u1="Y" u2="«" k="82" />
|
| 346 |
-
<hkern u1="Y" u2="}" 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="*" k="49" />
|
| 352 |
-
<hkern u1="Y" u2=")" k="-20" />
|
| 353 |
-
<hkern u1="Y" u2="&" k="30" />
|
| 354 |
-
<hkern u1="Z" u2="w" k="27" />
|
| 355 |
-
<hkern u1="[" u2="Ü" k="18" />
|
| 356 |
-
<hkern u1="[" u2="Û" k="18" />
|
| 357 |
-
<hkern u1="[" u2="Ú" k="18" />
|
| 358 |
-
<hkern u1="[" u2="Ù" k="18" />
|
| 359 |
-
<hkern u1="[" u2="U" k="18" />
|
| 360 |
-
<hkern u1="[" u2="J" k="18" />
|
| 361 |
-
<hkern u1="f" u2="”" k="-16" />
|
| 362 |
-
<hkern u1="f" u2="“" k="-16" />
|
| 363 |
-
<hkern u1="f" u2="’" k="-16" />
|
| 364 |
-
<hkern u1="f" u2="‘" k="-16" />
|
| 365 |
-
<hkern u1="f" u2="œ" k="24" />
|
| 366 |
-
<hkern u1="f" u2="ë" k="24" />
|
| 367 |
-
<hkern u1="f" u2="ê" k="24" />
|
| 368 |
-
<hkern u1="f" u2="é" k="24" />
|
| 369 |
-
<hkern u1="f" u2="è" k="24" />
|
| 370 |
-
<hkern u1="f" u2="ç" k="24" />
|
| 371 |
-
<hkern u1="f" u2="}" 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=")" k="-20" />
|
| 379 |
-
<hkern u1="f" u2="'" k="-16" />
|
| 380 |
-
<hkern u1="f" u2=""" k="-16" />
|
| 381 |
-
<hkern u1="k" u2="œ" k="20" />
|
| 382 |
-
<hkern u1="k" u2="ë" k="20" />
|
| 383 |
-
<hkern u1="k" u2="ê" k="20" />
|
| 384 |
-
<hkern u1="k" u2="é" k="20" />
|
| 385 |
-
<hkern u1="k" u2="è" k="20" />
|
| 386 |
-
<hkern u1="k" u2="ç" 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="ö" k="20" />
|
| 396 |
-
<hkern u1="t" u2="õ" k="20" />
|
| 397 |
-
<hkern u1="t" u2="ô" k="20" />
|
| 398 |
-
<hkern u1="t" u2="ó" k="20" />
|
| 399 |
-
<hkern u1="t" u2="ò" k="20" />
|
| 400 |
-
<hkern u1="t" u2="o" k="20" />
|
| 401 |
-
<hkern u1="v" u2="f" k="-13" />
|
| 402 |
-
<hkern u1="w" u2="…" k="124" />
|
| 403 |
-
<hkern u1="w" u2="„" k="124" />
|
| 404 |
-
<hkern u1="w" u2="‚" k="124" />
|
| 405 |
-
<hkern u1="w" u2="." k="124" />
|
| 406 |
-
<hkern u1="w" u2="," k="124" />
|
| 407 |
-
<hkern u1="y" u2="f" k="-13" />
|
| 408 |
-
<hkern u1="{" u2="Ü" k="20" />
|
| 409 |
-
<hkern u1="{" u2="Û" k="20" />
|
| 410 |
-
<hkern u1="{" u2="Ú" k="20" />
|
| 411 |
-
<hkern u1="{" u2="Ù" k="20" />
|
| 412 |
-
<hkern u1="{" u2="U" k="20" />
|
| 413 |
-
<hkern u1="{" u2="J" k="20" />
|
| 414 |
-
<hkern u1="À" u2="w" k="33" />
|
| 415 |
-
<hkern u1="À" u2="t" k="17" />
|
| 416 |
-
<hkern u1="À" u2="?" k="61" />
|
| 417 |
-
<hkern u1="Á" u2="w" k="33" />
|
| 418 |
-
<hkern u1="Á" u2="t" k="17" />
|
| 419 |
-
<hkern u1="Á" u2="?" k="61" />
|
| 420 |
-
<hkern u1="Â" u2="w" k="33" />
|
| 421 |
-
<hkern u1="Â" u2="t" k="17" />
|
| 422 |
-
<hkern u1="Â" u2="?" k="61" />
|
| 423 |
-
<hkern u1="Ã" u2="w" k="33" />
|
| 424 |
-
<hkern u1="Ã" u2="t" k="17" />
|
| 425 |
-
<hkern u1="Ã" u2="?" k="61" />
|
| 426 |
-
<hkern u1="Ä" u2="w" k="33" />
|
| 427 |
-
<hkern u1="Ä" u2="t" k="17" />
|
| 428 |
-
<hkern u1="Ä" u2="?" k="61" />
|
| 429 |
-
<hkern u1="Å" u2="w" k="33" />
|
| 430 |
-
<hkern u1="Å" u2="t" k="17" />
|
| 431 |
-
<hkern u1="Å" u2="?" k="61" />
|
| 432 |
-
<hkern u1="Ç" u2="}" k="17" />
|
| 433 |
-
<hkern u1="Ç" u2="]" k="12" />
|
| 434 |
-
<hkern u1="Ç" u2=")" k="26" />
|
| 435 |
-
<hkern u1="È" u2="w" k="22" />
|
| 436 |
-
<hkern u1="È" u2="f" k="18" />
|
| 437 |
-
<hkern u1="É" u2="w" k="22" />
|
| 438 |
-
<hkern u1="É" u2="f" k="18" />
|
| 439 |
-
<hkern u1="Ê" u2="w" k="22" />
|
| 440 |
-
<hkern u1="Ê" u2="f" k="18" />
|
| 441 |
-
<hkern u1="Ë" u2="w" k="22" />
|
| 442 |
-
<hkern u1="Ë" u2="f" k="18" />
|
| 443 |
-
<hkern u1="Ð" u2="Æ" k="33" />
|
| 444 |
-
<hkern u1="Ò" u2="Æ" k="33" />
|
| 445 |
-
<hkern u1="Ó" u2="Æ" k="33" />
|
| 446 |
-
<hkern u1="Ô" u2="Æ" k="33" />
|
| 447 |
-
<hkern u1="Õ" u2="Æ" k="33" />
|
| 448 |
-
<hkern u1="Ö" u2="Æ" k="33" />
|
| 449 |
-
<hkern u1="Ý" u2="•" k="45" />
|
| 450 |
-
<hkern u1="Ý" u2="ø" k="64" />
|
| 451 |
-
<hkern u1="Ý" u2="æ" k="63" />
|
| 452 |
-
<hkern u1="Ý" u2="Æ" k="96" />
|
| 453 |
-
<hkern u1="Ý" u2="»" k="51" />
|
| 454 |
-
<hkern u1="Ý" u2="«" k="82" />
|
| 455 |
-
<hkern u1="Ý" u2="}" k="-19" />
|
| 456 |
-
<hkern u1="Ý" u2="t" k="22" />
|
| 457 |
-
<hkern u1="Ý" u2="r" k="40" />
|
| 458 |
-
<hkern u1="Ý" u2="f" k="22" />
|
| 459 |
-
<hkern u1="Ý" u2="]" k="-18" />
|
| 460 |
-
<hkern u1="Ý" u2="*" k="49" />
|
| 461 |
-
<hkern u1="Ý" u2=")" k="-20" />
|
| 462 |
-
<hkern u1="Ý" u2="&" k="30" />
|
| 463 |
-
<hkern u1="ý" u2="f" k="-13" />
|
| 464 |
-
<hkern u1="ÿ" u2="f" k="-13" />
|
| 465 |
-
<hkern u1="Ÿ" u2="•" k="45" />
|
| 466 |
-
<hkern u1="Ÿ" u2="ø" k="64" />
|
| 467 |
-
<hkern u1="Ÿ" u2="æ" k="63" />
|
| 468 |
-
<hkern u1="Ÿ" u2="Æ" k="96" />
|
| 469 |
-
<hkern u1="Ÿ" u2="»" k="51" />
|
| 470 |
-
<hkern u1="Ÿ" u2="«" k="82" />
|
| 471 |
-
<hkern u1="Ÿ" u2="}" k="-19" />
|
| 472 |
-
<hkern u1="Ÿ" u2="t" k="22" />
|
| 473 |
-
<hkern u1="Ÿ" u2="r" k="40" />
|
| 474 |
-
<hkern u1="Ÿ" u2="f" k="22" />
|
| 475 |
-
<hkern u1="Ÿ" u2="]" k="-18" />
|
| 476 |
-
<hkern u1="Ÿ" u2="*" k="49" />
|
| 477 |
-
<hkern u1="Ÿ" u2=")" k="-20" />
|
| 478 |
-
<hkern u1="Ÿ" u2="&" k="30" />
|
| 479 |
-
<hkern u1="‘" u2="w" k="-11" />
|
| 480 |
-
<hkern u1="’" u2="w" k="-11" />
|
| 481 |
-
<hkern u1="“" u2="w" k="-11" />
|
| 482 |
-
<hkern u1="”" 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="fi" 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="
" horiz-adv-x="509" />
|
| 13 |
-
<glyph unicode=" " horiz-adv-x="509" />
|
| 14 |
-
<glyph unicode="	" horiz-adv-x="509" />
|
| 15 |
-
<glyph unicode=" " horiz-adv-x="509" />
|
| 16 |
-
<glyph unicode="!" horiz-adv-x="539" d="M171 0v204h198v-204h-198zM171 478v978h197v-978h-197z" />
|
| 17 |
-
<glyph unicode=""" 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="&" 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="<" 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=">" 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="¡" horiz-adv-x="507" d="M144 -374v978h197v-978h-197zM144 876v206h197v-206h-197z" />
|
| 111 |
-
<glyph unicode="¢" 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="£" 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="¤" 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="¥" horiz-adv-x="1243" d="M30 1456h226l359 -663l360 663h224l-418 -718h312v-155h-383v-135h383v-155h-383v-293h-197v293h-375v155h375v135h-375v155h311z" />
|
| 115 |
-
<glyph unicode="¦" horiz-adv-x="499" d="M145 -270v792h197v-792h-197zM145 698v758h197v-758h-197z" />
|
| 116 |
-
<glyph unicode="§" 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="¨" horiz-adv-x="1021" d="M170 1256v200h219v-200h-219zM640 1256v200h219v-200h-219z" />
|
| 118 |
-
<glyph unicode="©" 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="ª" 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="«" horiz-adv-x="966" d="M98 507v19l295 389h148l-255 -399l255 -398h-148zM432 507v19l295 389h148l-255 -399l255 -398h-148z" />
|
| 121 |
-
<glyph unicode="¬" horiz-adv-x="1137" d="M127 637v165h835v-427h-198v262h-637z" />
|
| 122 |
-
<glyph unicode="­" horiz-adv-x="561" d="M35 538v154h490v-154h-490z" />
|
| 123 |
-
<glyph unicode="®" 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="¯" horiz-adv-x="950" d="M123 1310v146h721v-146h-721z" />
|
| 125 |
-
<glyph unicode="°" 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="±" horiz-adv-x="1097" d="M99 702v154h381v411h177v-411h358v-154h-358v-413h-177v413h-381zM136 4v155h835v-155h-835z" />
|
| 127 |
-
<glyph unicode="²" 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="³" 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="´" horiz-adv-x="654" d="M131 1211l185 266h230l2 -6l-270 -260h-147z" />
|
| 130 |
-
<glyph unicode="µ" 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="¶" 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="·" horiz-adv-x="540" d="M161 624v212h198v-212h-198z" />
|
| 133 |
-
<glyph unicode="¸" 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="¹" horiz-adv-x="557" d="M95 1320v134l301 23v-812h-174v655h-127z" />
|
| 135 |
-
<glyph unicode="º" 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="»" 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="¼" 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="½" 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="¾" 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="¿" 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="À" 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="Á" 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="Â" 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="Ã" 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="Ä" 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="Å" 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="Æ" 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="Ç" 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="È" horiz-adv-x="1197" d="M180 0v1456h955v-155h-758v-471h667v-155h-667v-521h769v-154h-966zM303 1820l3 6h230l175 -266h-158z" />
|
| 150 |
-
<glyph unicode="É" horiz-adv-x="1197" d="M180 0v1456h955v-155h-758v-471h667v-155h-667v-521h769v-154h-966zM538 1556l185 266h230l2 -6l-270 -260h-147z" />
|
| 151 |
-
<glyph unicode="Ê" 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="Ë" horiz-adv-x="1197" d="M180 0v1456h955v-155h-758v-471h667v-155h-667v-521h769v-154h-966zM284 1605v200h219v-200h-219zM754 1605v200h219v-200h-219z" />
|
| 153 |
-
<glyph unicode="Ì" horiz-adv-x="579" d="M-34 1820l3 6h230l175 -266h-158zM190 0v1456h198v-1456h-198z" />
|
| 154 |
-
<glyph unicode="Í" horiz-adv-x="579" d="M190 0v1456h198v-1456h-198zM199 1556l185 266h230l2 -6l-270 -260h-147z" />
|
| 155 |
-
<glyph unicode="Î" horiz-adv-x="579" d="M-15 1601v26l246 237h120l248 -238v-25h-161l-147 148l-146 -148h-160zM190 0v1456h198v-1456h-198z" />
|
| 156 |
-
<glyph unicode="Ï" horiz-adv-x="579" d="M-53 1605v200h219v-200h-219zM190 0v1456h198v-1456h-198zM417 1605v200h219v-200h-219z" />
|
| 157 |
-
<glyph unicode="Ð" 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="Ñ" 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="Ò" 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="Ó" 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="Ô" 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="Õ" 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="Ö" 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="×" 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="Ø" 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="Ù" 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="Ú" 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="Û" 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="Ü" 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="Ý" horiz-adv-x="1250" d="M20 1456h225l380 -740l380 740h225l-511 -944v-512h-196v525zM535 1555l185 266h230l2 -6l-270 -260h-147z" />
|
| 171 |
-
<glyph unicode="Þ" 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="ß" 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="à" 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="á" 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="â" 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="ã" 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="ä" 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="å" 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="æ" 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="ç" 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="è" 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="é" 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="ê" 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="ë" 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="ì" horiz-adv-x="515" d="M-71 1477l3 6h230l175 -266h-158zM153 0v1082h197v-1082h-197z" />
|
| 186 |
-
<glyph unicode="í" horiz-adv-x="515" d="M153 0v1082h197v-1082h-197zM162 1213l185 266h230l2 -6l-270 -260h-147z" />
|
| 187 |
-
<glyph unicode="î" horiz-adv-x="515" d="M-52 1258v26l246 237h120l248 -238v-25h-161l-147 148l-146 -148h-160zM153 0v1082h197v-1082h-197z" />
|
| 188 |
-
<glyph unicode="ï" horiz-adv-x="515" d="M-90 1262v200h219v-200h-219zM153 0v1082h197v-1082h-197zM380 1262v200h219v-200h-219z" />
|
| 189 |
-
<glyph unicode="ð" 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="ñ" 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="ò" 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="ó" 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="ô" 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="õ" 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="ö" 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="÷" horiz-adv-x="1170" d="M71 597v188h998v-188h-998zM472 180v203h198v-203h-198zM472 999v203h198v-203h-198z" />
|
| 197 |
-
<glyph unicode="ø" 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="ù" 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="ú" 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="û" 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="ü" 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="ý" 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="þ" 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="ÿ" 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="Œ" 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="œ" 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="Ÿ" horiz-adv-x="1250" d="M20 1456h225l380 -740l380 740h225l-511 -944v-512h-196v525zM281 1604v200h219v-200h-219zM751 1604v200h219v-200h-219z" />
|
| 208 |
-
<glyph unicode="ˆ" horiz-adv-x="979" d="M171 1252v26l246 237h120l248 -238v-25h-161l-147 148l-146 -148h-160z" />
|
| 209 |
-
<glyph unicode="˜" 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=" " horiz-adv-x="966" />
|
| 211 |
-
<glyph unicode=" " horiz-adv-x="1932" />
|
| 212 |
-
<glyph unicode=" " horiz-adv-x="966" />
|
| 213 |
-
<glyph unicode=" " horiz-adv-x="1932" />
|
| 214 |
-
<glyph unicode=" " horiz-adv-x="644" />
|
| 215 |
-
<glyph unicode=" " horiz-adv-x="483" />
|
| 216 |
-
<glyph unicode=" " horiz-adv-x="322" />
|
| 217 |
-
<glyph unicode=" " horiz-adv-x="322" />
|
| 218 |
-
<glyph unicode=" " horiz-adv-x="241" />
|
| 219 |
-
<glyph unicode=" " horiz-adv-x="386" />
|
| 220 |
-
<glyph unicode=" " horiz-adv-x="107" />
|
| 221 |
-
<glyph unicode="‐" horiz-adv-x="561" d="M35 538v154h490v-154h-490z" />
|
| 222 |
-
<glyph unicode="‑" horiz-adv-x="561" d="M35 538v154h490v-154h-490z" />
|
| 223 |
-
<glyph unicode="‒" horiz-adv-x="561" d="M35 538v154h490v-154h-490z" />
|
| 224 |
-
<glyph unicode="–" horiz-adv-x="1416" d="M169 648v155h1086v-155h-1086z" />
|
| 225 |
-
<glyph unicode="—" horiz-adv-x="1660" d="M141 648v155h1336v-155h-1336z" />
|
| 226 |
-
<glyph unicode="‘" horiz-adv-x="418" d="M80 1020v184l160 356h97l-60 -362v-178h-197z" />
|
| 227 |
-
<glyph unicode="’" horiz-adv-x="418" d="M80 1021l60 343v196h197v-193l-160 -346h-97z" />
|
| 228 |
-
<glyph unicode="‚" horiz-adv-x="417" d="M80 -255l60 263v241h197v-223l-160 -281h-97z" />
|
| 229 |
-
<glyph unicode="“" horiz-adv-x="744" d="M80 1020v184l160 356h97l-60 -362v-178h-197zM409 1020v184l160 356h97l-60 -362v-178h-197z" />
|
| 230 |
-
<glyph unicode="”" horiz-adv-x="752" d="M80 1021l60 343v196h197v-193l-160 -346h-97zM417 1021l60 343v196h197v-193l-160 -346h-97z" />
|
| 231 |
-
<glyph unicode="„" horiz-adv-x="726" d="M80 -239l60 325v194h197v-184l-160 -335h-97zM388 -239l60 333v186h197v-184l-160 -335h-97z" />
|
| 232 |
-
<glyph unicode="•" 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="…" horiz-adv-x="1380" d="M161 0v202h197v-202h-197zM604 0v202h197v-202h-197zM1024 0v202h197v-202h-197z" />
|
| 234 |
-
<glyph unicode=" " horiz-adv-x="386" />
|
| 235 |
-
<glyph unicode="‹" horiz-adv-x="615" d="M108 541v19l295 389h148l-255 -399l255 -398h-148z" />
|
| 236 |
-
<glyph unicode="›" horiz-adv-x="615" d="M88 152l255 398l-255 399h148l295 -389v-19l-295 -389h-148z" />
|
| 237 |
-
<glyph unicode=" " horiz-adv-x="483" />
|
| 238 |
-
<glyph unicode="€" 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="™" 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="" horiz-adv-x="1080" d="M0 0v1080h1080v-1080h-1080z" />
|
| 241 |
-
<glyph unicode="fl" 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="ffi" 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="ffl" 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=""" u2="w" k="-11" />
|
| 245 |
-
<hkern u1="'" u2="w" k="-11" />
|
| 246 |
-
<hkern u1="(" u2="Ÿ" k="-22" />
|
| 247 |
-
<hkern u1="(" u2="Ý" k="-22" />
|
| 248 |
-
<hkern u1="(" u2="Y" k="-22" />
|
| 249 |
-
<hkern u1="(" u2="W" k="-37" />
|
| 250 |
-
<hkern u1="(" 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="?" k="80" />
|
| 254 |
-
<hkern u1="C" u2="}" k="17" />
|
| 255 |
-
<hkern u1="C" u2="]" k="12" />
|
| 256 |
-
<hkern u1="C" u2=")" k="26" />
|
| 257 |
-
<hkern u1="D" u2="Æ" k="33" />
|
| 258 |
-
<hkern u1="E" u2="w" k="22" />
|
| 259 |
-
<hkern u1="E" u2="f" k="18" />
|
| 260 |
-
<hkern u1="F" u2="…" k="273" />
|
| 261 |
-
<hkern u1="F" u2="„" k="273" />
|
| 262 |
-
<hkern u1="F" u2="‚" k="273" />
|
| 263 |
-
<hkern u1="F" u2="œ" k="21" />
|
| 264 |
-
<hkern u1="F" u2="ÿ" k="24" />
|
| 265 |
-
<hkern u1="F" u2="ý" k="24" />
|
| 266 |
-
<hkern u1="F" u2="ü" k="22" />
|
| 267 |
-
<hkern u1="F" u2="û" k="22" />
|
| 268 |
-
<hkern u1="F" u2="ú" k="22" />
|
| 269 |
-
<hkern u1="F" u2="ù" k="22" />
|
| 270 |
-
<hkern u1="F" u2="ö" k="21" />
|
| 271 |
-
<hkern u1="F" u2="õ" k="21" />
|
| 272 |
-
<hkern u1="F" u2="ô" k="21" />
|
| 273 |
-
<hkern u1="F" u2="ó" k="21" />
|
| 274 |
-
<hkern u1="F" u2="ò" k="21" />
|
| 275 |
-
<hkern u1="F" u2="ë" k="21" />
|
| 276 |
-
<hkern u1="F" u2="ê" k="21" />
|
| 277 |
-
<hkern u1="F" u2="é" k="21" />
|
| 278 |
-
<hkern u1="F" u2="è" k="21" />
|
| 279 |
-
<hkern u1="F" u2="ç" k="21" />
|
| 280 |
-
<hkern u1="F" u2="å" k="34" />
|
| 281 |
-
<hkern u1="F" u2="ä" k="34" />
|
| 282 |
-
<hkern u1="F" u2="ã" k="34" />
|
| 283 |
-
<hkern u1="F" u2="â" k="34" />
|
| 284 |
-
<hkern u1="F" u2="á" k="34" />
|
| 285 |
-
<hkern u1="F" u2="à" k="34" />
|
| 286 |
-
<hkern u1="F" u2="Å" k="59" />
|
| 287 |
-
<hkern u1="F" u2="Ä" k="59" />
|
| 288 |
-
<hkern u1="F" u2="Ã" k="59" />
|
| 289 |
-
<hkern u1="F" u2="Â" k="59" />
|
| 290 |
-
<hkern u1="F" u2="Á" k="59" />
|
| 291 |
-
<hkern u1="F" u2="À" 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=":" k="273" />
|
| 306 |
-
<hkern u1="F" u2="." k="273" />
|
| 307 |
-
<hkern u1="F" u2="," k="273" />
|
| 308 |
-
<hkern u1="K" u2="w" k="63" />
|
| 309 |
-
<hkern u1="L" u2="w" k="52" />
|
| 310 |
-
<hkern u1="O" u2="Æ" k="33" />
|
| 311 |
-
<hkern u1="P" u2="Æ" k="293" />
|
| 312 |
-
<hkern u1="P" u2="t" k="-14" />
|
| 313 |
-
<hkern u1="Q" u2="Ÿ" k="35" />
|
| 314 |
-
<hkern u1="Q" u2="Ý" 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="Ÿ" k="48" />
|
| 320 |
-
<hkern u1="R" u2="Ý" 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="ø" k="95" />
|
| 325 |
-
<hkern u1="T" u2="æ" k="84" />
|
| 326 |
-
<hkern u1="T" u2="Æ" k="188" />
|
| 327 |
-
<hkern u1="T" u2="»" k="147" />
|
| 328 |
-
<hkern u1="T" u2="«" k="151" />
|
| 329 |
-
<hkern u1="T" u2="w" k="47" />
|
| 330 |
-
<hkern u1="T" u2="r" k="65" />
|
| 331 |
-
<hkern u1="V" u2="}" k="-19" />
|
| 332 |
-
<hkern u1="V" u2="r" k="30" />
|
| 333 |
-
<hkern u1="V" u2="]" k="-17" />
|
| 334 |
-
<hkern u1="V" u2=")" k="-20" />
|
| 335 |
-
<hkern u1="W" u2="}" k="-14" />
|
| 336 |
-
<hkern u1="W" u2="r" k="21" />
|
| 337 |
-
<hkern u1="W" u2="]" k="-12" />
|
| 338 |
-
<hkern u1="W" u2=")" k="-15" />
|
| 339 |
-
<hkern u1="Y" u2="•" k="45" />
|
| 340 |
-
<hkern u1="Y" u2="ø" k="64" />
|
| 341 |
-
<hkern u1="Y" u2="æ" k="63" />
|
| 342 |
-
<hkern u1="Y" u2="Æ" k="96" />
|
| 343 |
-
<hkern u1="Y" u2="»" k="51" />
|
| 344 |
-
<hkern u1="Y" u2="«" k="82" />
|
| 345 |
-
<hkern u1="Y" u2="}" 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="*" k="49" />
|
| 351 |
-
<hkern u1="Y" u2=")" k="-20" />
|
| 352 |
-
<hkern u1="Y" u2="&" k="30" />
|
| 353 |
-
<hkern u1="Z" u2="w" k="27" />
|
| 354 |
-
<hkern u1="[" u2="Ü" k="18" />
|
| 355 |
-
<hkern u1="[" u2="Û" k="18" />
|
| 356 |
-
<hkern u1="[" u2="Ú" k="18" />
|
| 357 |
-
<hkern u1="[" u2="Ù" k="18" />
|
| 358 |
-
<hkern u1="[" u2="U" k="18" />
|
| 359 |
-
<hkern u1="[" u2="J" k="18" />
|
| 360 |
-
<hkern u1="f" u2="”" k="-16" />
|
| 361 |
-
<hkern u1="f" u2="“" k="-16" />
|
| 362 |
-
<hkern u1="f" u2="’" k="-16" />
|
| 363 |
-
<hkern u1="f" u2="‘" k="-16" />
|
| 364 |
-
<hkern u1="f" u2="œ" k="24" />
|
| 365 |
-
<hkern u1="f" u2="ë" k="24" />
|
| 366 |
-
<hkern u1="f" u2="ê" k="24" />
|
| 367 |
-
<hkern u1="f" u2="é" k="24" />
|
| 368 |
-
<hkern u1="f" u2="è" k="24" />
|
| 369 |
-
<hkern u1="f" u2="ç" k="24" />
|
| 370 |
-
<hkern u1="f" u2="}" 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=")" k="-20" />
|
| 378 |
-
<hkern u1="f" u2="'" k="-16" />
|
| 379 |
-
<hkern u1="f" u2=""" k="-16" />
|
| 380 |
-
<hkern u1="k" u2="œ" k="20" />
|
| 381 |
-
<hkern u1="k" u2="ë" k="20" />
|
| 382 |
-
<hkern u1="k" u2="ê" k="20" />
|
| 383 |
-
<hkern u1="k" u2="é" k="20" />
|
| 384 |
-
<hkern u1="k" u2="è" k="20" />
|
| 385 |
-
<hkern u1="k" u2="ç" 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="…" k="124" />
|
| 396 |
-
<hkern u1="w" u2="„" k="124" />
|
| 397 |
-
<hkern u1="w" u2="‚" k="124" />
|
| 398 |
-
<hkern u1="w" u2=":" k="124" />
|
| 399 |
-
<hkern u1="w" u2="." k="124" />
|
| 400 |
-
<hkern u1="w" u2="," k="124" />
|
| 401 |
-
<hkern u1="y" u2="f" k="-13" />
|
| 402 |
-
<hkern u1="{" u2="Ü" k="20" />
|
| 403 |
-
<hkern u1="{" u2="Û" k="20" />
|
| 404 |
-
<hkern u1="{" u2="Ú" k="20" />
|
| 405 |
-
<hkern u1="{" u2="Ù" k="20" />
|
| 406 |
-
<hkern u1="{" u2="U" k="20" />
|
| 407 |
-
<hkern u1="{" u2="J" k="20" />
|
| 408 |
-
<hkern u1="À" u2="w" k="33" />
|
| 409 |
-
<hkern u1="À" u2="t" k="17" />
|
| 410 |
-
<hkern u1="À" u2="?" k="80" />
|
| 411 |
-
<hkern u1="Á" u2="w" k="33" />
|
| 412 |
-
<hkern u1="Á" u2="t" k="17" />
|
| 413 |
-
<hkern u1="Á" u2="?" k="80" />
|
| 414 |
-
<hkern u1="Â" u2="w" k="33" />
|
| 415 |
-
<hkern u1="Â" u2="t" k="17" />
|
| 416 |
-
<hkern u1="Â" u2="?" k="80" />
|
| 417 |
-
<hkern u1="Ã" u2="w" k="33" />
|
| 418 |
-
<hkern u1="Ã" u2="t" k="17" />
|
| 419 |
-
<hkern u1="Ã" u2="?" k="80" />
|
| 420 |
-
<hkern u1="Ä" u2="w" k="33" />
|
| 421 |
-
<hkern u1="Ä" u2="t" k="17" />
|
| 422 |
-
<hkern u1="Ä" u2="?" k="80" />
|
| 423 |
-
<hkern u1="Å" u2="w" k="33" />
|
| 424 |
-
<hkern u1="Å" u2="t" k="17" />
|
| 425 |
-
<hkern u1="Å" u2="?" k="80" />
|
| 426 |
-
<hkern u1="Ç" u2="}" k="17" />
|
| 427 |
-
<hkern u1="Ç" u2="]" k="12" />
|
| 428 |
-
<hkern u1="Ç" u2=")" k="26" />
|
| 429 |
-
<hkern u1="È" u2="w" k="22" />
|
| 430 |
-
<hkern u1="È" u2="f" k="18" />
|
| 431 |
-
<hkern u1="É" u2="w" k="22" />
|
| 432 |
-
<hkern u1="É" u2="f" k="18" />
|
| 433 |
-
<hkern u1="Ê" u2="w" k="22" />
|
| 434 |
-
<hkern u1="Ê" u2="f" k="18" />
|
| 435 |
-
<hkern u1="Ë" u2="w" k="22" />
|
| 436 |
-
<hkern u1="Ë" u2="f" k="18" />
|
| 437 |
-
<hkern u1="Ð" u2="Æ" k="33" />
|
| 438 |
-
<hkern u1="Ò" u2="Æ" k="33" />
|
| 439 |
-
<hkern u1="Ó" u2="Æ" k="33" />
|
| 440 |
-
<hkern u1="Ô" u2="Æ" k="33" />
|
| 441 |
-
<hkern u1="Õ" u2="Æ" k="33" />
|
| 442 |
-
<hkern u1="Ö" u2="Æ" k="33" />
|
| 443 |
-
<hkern u1="Ý" u2="•" k="45" />
|
| 444 |
-
<hkern u1="Ý" u2="ø" k="64" />
|
| 445 |
-
<hkern u1="Ý" u2="æ" k="63" />
|
| 446 |
-
<hkern u1="Ý" u2="Æ" k="96" />
|
| 447 |
-
<hkern u1="Ý" u2="»" k="51" />
|
| 448 |
-
<hkern u1="Ý" u2="«" k="82" />
|
| 449 |
-
<hkern u1="Ý" u2="}" k="-19" />
|
| 450 |
-
<hkern u1="Ý" u2="t" k="22" />
|
| 451 |
-
<hkern u1="Ý" u2="r" k="40" />
|
| 452 |
-
<hkern u1="Ý" u2="f" k="22" />
|
| 453 |
-
<hkern u1="Ý" u2="]" k="-18" />
|
| 454 |
-
<hkern u1="Ý" u2="*" k="49" />
|
| 455 |
-
<hkern u1="Ý" u2=")" k="-20" />
|
| 456 |
-
<hkern u1="Ý" u2="&" k="30" />
|
| 457 |
-
<hkern u1="ý" u2="f" k="-13" />
|
| 458 |
-
<hkern u1="ÿ" u2="f" k="-13" />
|
| 459 |
-
<hkern u1="Ÿ" u2="•" k="45" />
|
| 460 |
-
<hkern u1="Ÿ" u2="ø" k="64" />
|
| 461 |
-
<hkern u1="Ÿ" u2="æ" k="63" />
|
| 462 |
-
<hkern u1="Ÿ" u2="Æ" k="96" />
|
| 463 |
-
<hkern u1="Ÿ" u2="»" k="51" />
|
| 464 |
-
<hkern u1="Ÿ" u2="«" k="82" />
|
| 465 |
-
<hkern u1="Ÿ" u2="}" k="-19" />
|
| 466 |
-
<hkern u1="Ÿ" u2="t" k="22" />
|
| 467 |
-
<hkern u1="Ÿ" u2="r" k="40" />
|
| 468 |
-
<hkern u1="Ÿ" u2="f" k="22" />
|
| 469 |
-
<hkern u1="Ÿ" u2="]" k="-18" />
|
| 470 |
-
<hkern u1="Ÿ" u2="*" k="49" />
|
| 471 |
-
<hkern u1="Ÿ" u2=")" k="-20" />
|
| 472 |
-
<hkern u1="Ÿ" u2="&" k="30" />
|
| 473 |
-
<hkern u1="‘" u2="w" k="-11" />
|
| 474 |
-
<hkern u1="’" u2="w" k="-11" />
|
| 475 |
-
<hkern u1="“" u2="w" k="-11" />
|
| 476 |
-
<hkern u1="”" 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">▼</span>');
|
| 4943 |
-
|
| 4944 |
-
// escape double quotes
|
| 4945 |
-
var sanitizedLabelHtml = label.replace(/"/g, '"');
|
| 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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
