Maintenance - Version 2.2.1

Version Description

  • New: default background image
  • Improvements: blur off by default
  • Bug fix: Label styles
Download this release

Release Info

Developer fruitfulcode
Plugin Icon 128x128 Maintenance
Version 2.2.1
Comparing to
See all releases

Code changes from version 2.1.2 to 2.2.1

css/admin.css CHANGED
@@ -28,11 +28,17 @@
28
  #maintenance-options input#page_title,
29
  #maintenance-options input#heading,
30
  #maintenance-options textarea { width:100%; }
 
31
  #maintenance-options input[type="checkbox"] { margin:0 5px 0 0; }
32
  #maintenance-options #poststuff .metabox-holder .postbox-container.column-1 {float: left; width: 65%;}
33
  #maintenance-options #poststuff .metabox-holder .postbox-container.column-2 {float: right; width: 28%; min-width:300px;}
34
  #maintenance-options.wrap form p.submit {clear:both;}
35
 
 
 
 
 
 
36
 
37
  @media screen and (max-width: 1024px) {
38
  #maintenance-options #poststuff .metabox-holder .postbox-container.column-1 {float: left; width: 100%;}
28
  #maintenance-options input#page_title,
29
  #maintenance-options input#heading,
30
  #maintenance-options textarea { width:100%; }
31
+ #maintenance-options input.social-input {width:50%;}
32
  #maintenance-options input[type="checkbox"] { margin:0 5px 0 0; }
33
  #maintenance-options #poststuff .metabox-holder .postbox-container.column-1 {float: left; width: 65%;}
34
  #maintenance-options #poststuff .metabox-holder .postbox-container.column-2 {float: right; width: 28%; min-width:300px;}
35
  #maintenance-options.wrap form p.submit {clear:both;}
36
 
37
+ #get-lists { margin: 0 0 0 10px; }
38
+ #maintenance-maillists .mailing_fields input[type="text"] { min-width:35%; }
39
+
40
+ .start-date, .end-date {float:left; display:inline-block; margin:0 20px 0 0;}
41
+ .start-date label, .end-date label {margin:0 10px 0 0;}
42
 
43
  @media screen and (max-width: 1024px) {
44
  #maintenance-options #poststuff .metabox-holder .postbox-container.column-1 {float: left; width: 100%;}
images/mt-sample-background.jpg ADDED
Binary file
includes/admin.php CHANGED
@@ -46,6 +46,9 @@
46
  wp_enqueue_style ('arvo', 'http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700|Arvo:400,400italic,700,700italic' );
47
  wp_enqueue_style ('wp-color-picker' );
48
 
 
 
 
49
  wp_enqueue_script ('uplaods_', MAINTENANCE_URI .'js/uploads_.min.js' );
50
  wp_enqueue_script ('maintenance', MAINTENANCE_URI .'js/init.min.js', array( 'wp-color-picker' ), false, true );
51
  wp_enqueue_style ('maintenance', MAINTENANCE_URI .'css/admin.css' );
@@ -81,8 +84,8 @@
81
  </div>
82
 
83
  </div>
 
84
  </div>
85
- <?php submit_button(__('Save changes', 'maintenance'), 'primary'); ?>
86
  </form>
87
  </div>
88
  <?php
46
  wp_enqueue_style ('arvo', 'http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700|Arvo:400,400italic,700,700italic' );
47
  wp_enqueue_style ('wp-color-picker' );
48
 
49
+ wp_enqueue_script ('select2', MAINTENANCE_URI .'js/select2/select2.min.js' );
50
+ wp_enqueue_style ('select2', MAINTENANCE_URI .'js/select2/select2.css' );
51
+
52
  wp_enqueue_script ('uplaods_', MAINTENANCE_URI .'js/uploads_.min.js' );
53
  wp_enqueue_script ('maintenance', MAINTENANCE_URI .'js/init.min.js', array( 'wp-color-picker' ), false, true );
54
  wp_enqueue_style ('maintenance', MAINTENANCE_URI .'css/admin.css' );
84
  </div>
85
 
86
  </div>
87
+ <?php submit_button(__('Save changes', 'maintenance'), 'primary'); ?>
88
  </div>
 
89
  </form>
90
  </div>
91
  <?php
includes/fonts/googlefonts.html ADDED
@@ -0,0 +1 @@
 
1
+ <optgroup label="Google Webfonts"><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="ABeeZee">ABeeZee</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Abel">Abel</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Abril Fatface">Abril Fatface</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Aclonica">Aclonica</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Acme">Acme</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Actor">Actor</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Adamina">Adamina</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22100%22%2C%22name%22%3A%22Ultra-Light+100%22%7D%2C%7B%22id%22%3A%22200%22%2C%22name%22%3A%22Light+200%22%7D%2C%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22500%22%2C%22name%22%3A%22Medium+500%22%7D%2C%7B%22id%22%3A%22600%22%2C%22name%22%3A%22Semi-Bold+600%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%5D%7D" data-google="true" value="Advent Pro">Advent Pro</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Aguafina Script">Aguafina Script</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Akronim">Akronim</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Aladin">Aladin</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Aldrich">Aldrich</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Alef">Alef</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%2C%7B%22id%22%3A%22900italic%22%2C%22name%22%3A%22Ultra-Bold+900+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Alegreya">Alegreya</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%2C%7B%22id%22%3A%22900italic%22%2C%22name%22%3A%22Ultra-Bold+900+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Alegreya SC">Alegreya SC</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22100%22%2C%22name%22%3A%22Ultra-Light+100%22%7D%2C%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22500%22%2C%22name%22%3A%22Medium+500%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22800%22%2C%22name%22%3A%22Extra-Bold+800%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%2C%7B%22id%22%3A%22100italic%22%2C%22name%22%3A%22Ultra-Light+100+Italic%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22500italic%22%2C%22name%22%3A%22Medium+500+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%2C%7B%22id%22%3A%22800italic%22%2C%22name%22%3A%22Extra-Bold+800+Italic%22%7D%2C%7B%22id%22%3A%22900italic%22%2C%22name%22%3A%22Ultra-Bold+900+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22vietnamese%22%2C%22name%22%3A%22Vietnamese%22%7D%5D%7D" data-google="true" value="Alegreya Sans">Alegreya Sans</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22100%22%2C%22name%22%3A%22Ultra-Light+100%22%7D%2C%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22500%22%2C%22name%22%3A%22Medium+500%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22800%22%2C%22name%22%3A%22Extra-Bold+800%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%2C%7B%22id%22%3A%22100italic%22%2C%22name%22%3A%22Ultra-Light+100+Italic%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22500italic%22%2C%22name%22%3A%22Medium+500+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%2C%7B%22id%22%3A%22800italic%22%2C%22name%22%3A%22Extra-Bold+800+Italic%22%7D%2C%7B%22id%22%3A%22900italic%22%2C%22name%22%3A%22Ultra-Bold+900+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22vietnamese%22%2C%22name%22%3A%22Vietnamese%22%7D%5D%7D" data-google="true" value="Alegreya Sans SC">Alegreya Sans SC</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Alex Brush">Alex Brush</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Alfa Slab One">Alfa Slab One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Alice">Alice</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Alike">Alike</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Alike Angular">Alike Angular</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Allan">Allan</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Allerta">Allerta</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Allerta Stencil">Allerta Stencil</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Allura">Allura</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Almendra">Almendra</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Almendra Display">Almendra Display</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Almendra SC">Almendra SC</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Amarante">Amarante</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Amaranth">Amaranth</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Amatic SC">Amatic SC</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Amethysta">Amethysta</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Anaheim">Anaheim</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Andada">Andada</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%5D%7D" data-google="true" value="Andika">Andika</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Angkor">Angkor</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Annie Use Your Telescope">Annie Use Your Telescope</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Anonymous Pro">Anonymous Pro</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Antic">Antic</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Antic Didone">Antic Didone</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Antic Slab">Antic Slab</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Anton">Anton</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Arapey">Arapey</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Arbutus">Arbutus</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Arbutus Slab">Arbutus Slab</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Architects Daughter">Architects Daughter</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Archivo Black">Archivo Black</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Archivo Narrow">Archivo Narrow</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22vietnamese%22%2C%22name%22%3A%22Vietnamese%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Arimo">Arimo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Arizonia">Arizonia</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Armata">Armata</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Artifika">Artifika</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Arvo">Arvo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Asap">Asap</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Asset">Asset</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Astloch">Astloch</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Asul">Asul</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Atomic Age">Atomic Age</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Aubrey">Aubrey</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Audiowide">Audiowide</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Autour One">Autour One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Average">Average</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Average Sans">Average Sans</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Averia Gruesa Libre">Averia Gruesa Libre</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Averia Libre">Averia Libre</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Averia Sans Libre">Averia Sans Libre</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Averia Serif Libre">Averia Serif Libre</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Bad Script">Bad Script</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Balthazar">Balthazar</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Bangers">Bangers</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Basic">Basic</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Battambang">Battambang</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Baumans">Baumans</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Bayon">Bayon</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Belgrano">Belgrano</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Belleza">Belleza</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="BenchNine">BenchNine</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Bentham">Bentham</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Berkshire Swash">Berkshire Swash</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Bevan">Bevan</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Bigelow Rules">Bigelow Rules</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Bigshot One">Bigshot One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Bilbo">Bilbo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Bilbo Swash Caps">Bilbo Swash Caps</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Bitter">Bitter</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Black Ops One">Black Ops One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Bokor">Bokor</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Bonbon">Bonbon</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Boogaloo">Boogaloo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Bowlby One">Bowlby One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Bowlby One SC">Bowlby One SC</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Brawler">Brawler</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Bree Serif">Bree Serif</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Bubblegum Sans">Bubblegum Sans</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Bubbler One">Bubbler One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Buda">Buda</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Buenard">Buenard</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Butcherman">Butcherman</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Butterfly Kids">Butterfly Kids</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22500%22%2C%22name%22%3A%22Medium+500%22%7D%2C%7B%22id%22%3A%22600%22%2C%22name%22%3A%22Semi-Bold+600%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22500italic%22%2C%22name%22%3A%22Medium+500+Italic%22%7D%2C%7B%22id%22%3A%22600italic%22%2C%22name%22%3A%22Semi-Bold+600+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Cabin">Cabin</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22500%22%2C%22name%22%3A%22Medium+500%22%7D%2C%7B%22id%22%3A%22600%22%2C%22name%22%3A%22Semi-Bold+600%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Cabin Condensed">Cabin Condensed</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Cabin Sketch">Cabin Sketch</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Caesar Dressing">Caesar Dressing</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Cagliostro">Cagliostro</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Calligraffitti">Calligraffitti</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Cambo">Cambo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Candal">Candal</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Cantarell">Cantarell</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Cantata One">Cantata One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Cantora One">Cantora One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Capriola">Capriola</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Cardo">Cardo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Carme">Carme</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Carrois Gothic">Carrois Gothic</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Carrois Gothic SC">Carrois Gothic SC</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Carter One">Carter One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Caudex">Caudex</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Cedarville Cursive">Cedarville Cursive</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Ceviche One">Ceviche One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Changa One">Changa One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Chango">Chango</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Chau Philomene One">Chau Philomene One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Chela One">Chela One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Chelsea Market">Chelsea Market</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Chenla">Chenla</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Cherry Cream Soda">Cherry Cream Soda</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Cherry Swash">Cherry Swash</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Chewy">Chewy</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Chicle">Chicle</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22900italic%22%2C%22name%22%3A%22Ultra-Bold+900+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Chivo">Chivo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Cinzel">Cinzel</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Cinzel Decorative">Cinzel Decorative</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Clicker Script">Clicker Script</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22800%22%2C%22name%22%3A%22Extra-Bold+800%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Coda">Coda</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22800%22%2C%22name%22%3A%22Extra-Bold+800%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Coda Caption">Coda Caption</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Codystar">Codystar</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Combo">Combo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%5D%7D" data-google="true" value="Comfortaa">Comfortaa</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Coming Soon">Coming Soon</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Concert One">Concert One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Condiment">Condiment</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Content">Content</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Contrail One">Contrail One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Convergence">Convergence</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Cookie">Cookie</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Copse">Copse</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Corben">Corben</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Courgette">Courgette</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22vietnamese%22%2C%22name%22%3A%22Vietnamese%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Cousine">Cousine</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Coustard">Coustard</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Covered By Your Grace">Covered By Your Grace</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Crafty Girls">Crafty Girls</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Creepster">Creepster</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Crete Round">Crete Round</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22600%22%2C%22name%22%3A%22Semi-Bold+600%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22600italic%22%2C%22name%22%3A%22Semi-Bold+600+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Crimson Text">Crimson Text</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Croissant One">Croissant One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Crushed">Crushed</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Cuprum">Cuprum</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Cutive">Cutive</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Cutive Mono">Cutive Mono</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Damion">Damion</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Dancing Script">Dancing Script</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Dangrek">Dangrek</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Dawning of a New Day">Dawning of a New Day</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Days One">Days One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Delius">Delius</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Delius Swash Caps">Delius Swash Caps</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Delius Unicase">Delius Unicase</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Della Respira">Della Respira</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Denk One">Denk One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Devonshire">Devonshire</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Didact Gothic">Didact Gothic</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Diplomata">Diplomata</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Diplomata SC">Diplomata SC</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Domine">Domine</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Donegal One">Donegal One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Doppio One">Doppio One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Dorsa">Dorsa</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22200%22%2C%22name%22%3A%22Light+200%22%7D%2C%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22500%22%2C%22name%22%3A%22Medium+500%22%7D%2C%7B%22id%22%3A%22600%22%2C%22name%22%3A%22Semi-Bold+600%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22800%22%2C%22name%22%3A%22Extra-Bold+800%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Dosis">Dosis</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Dr Sugiyama">Dr Sugiyama</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Droid Sans">Droid Sans</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Droid Sans Mono">Droid Sans Mono</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Droid Serif">Droid Serif</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Duru Sans">Duru Sans</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Dynalight">Dynalight</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22vietnamese%22%2C%22name%22%3A%22Vietnamese%22%7D%5D%7D" data-google="true" value="EB Garamond">EB Garamond</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Eagle Lake">Eagle Lake</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Eater">Eater</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Economica">Economica</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Electrolize">Electrolize</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Elsie">Elsie</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Elsie Swash Caps">Elsie Swash Caps</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Emblema One">Emblema One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Emilys Candy">Emilys Candy</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Engagement">Engagement</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Englebert">Englebert</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Enriqueta">Enriqueta</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Erica One">Erica One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Esteban">Esteban</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Euphoria Script">Euphoria Script</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Ewert">Ewert</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22100%22%2C%22name%22%3A%22Ultra-Light+100%22%7D%2C%7B%22id%22%3A%22200%22%2C%22name%22%3A%22Light+200%22%7D%2C%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22500%22%2C%22name%22%3A%22Medium+500%22%7D%2C%7B%22id%22%3A%22600%22%2C%22name%22%3A%22Semi-Bold+600%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22800%22%2C%22name%22%3A%22Extra-Bold+800%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%2C%7B%22id%22%3A%22100italic%22%2C%22name%22%3A%22Ultra-Light+100+Italic%22%7D%2C%7B%22id%22%3A%22200italic%22%2C%22name%22%3A%22Light+200+Italic%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22500italic%22%2C%22name%22%3A%22Medium+500+Italic%22%7D%2C%7B%22id%22%3A%22600italic%22%2C%22name%22%3A%22Semi-Bold+600+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%2C%7B%22id%22%3A%22800italic%22%2C%22name%22%3A%22Extra-Bold+800+Italic%22%7D%2C%7B%22id%22%3A%22900italic%22%2C%22name%22%3A%22Ultra-Bold+900+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Exo">Exo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22100%22%2C%22name%22%3A%22Ultra-Light+100%22%7D%2C%7B%22id%22%3A%22200%22%2C%22name%22%3A%22Light+200%22%7D%2C%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22500%22%2C%22name%22%3A%22Medium+500%22%7D%2C%7B%22id%22%3A%22600%22%2C%22name%22%3A%22Semi-Bold+600%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22800%22%2C%22name%22%3A%22Extra-Bold+800%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%2C%7B%22id%22%3A%22100italic%22%2C%22name%22%3A%22Ultra-Light+100+Italic%22%7D%2C%7B%22id%22%3A%22200italic%22%2C%22name%22%3A%22Light+200+Italic%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22500italic%22%2C%22name%22%3A%22Medium+500+Italic%22%7D%2C%7B%22id%22%3A%22600italic%22%2C%22name%22%3A%22Semi-Bold+600+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%2C%7B%22id%22%3A%22800italic%22%2C%22name%22%3A%22Extra-Bold+800+Italic%22%7D%2C%7B%22id%22%3A%22900italic%22%2C%22name%22%3A%22Ultra-Bold+900+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Exo 2">Exo 2</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22500%22%2C%22name%22%3A%22Medium+500%22%7D%2C%7B%22id%22%3A%22600%22%2C%22name%22%3A%22Semi-Bold+600%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22500italic%22%2C%22name%22%3A%22Medium+500+Italic%22%7D%2C%7B%22id%22%3A%22600italic%22%2C%22name%22%3A%22Semi-Bold+600+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Expletus Sans">Expletus Sans</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Fanwood Text">Fanwood Text</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Fascinate">Fascinate</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Fascinate Inline">Fascinate Inline</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Faster One">Faster One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Fasthand">Fasthand</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Fauna One">Fauna One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Federant">Federant</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Federo">Federo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Felipa">Felipa</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Fenix">Fenix</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Finger Paint">Finger Paint</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Fjalla One">Fjalla One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Fjord One">Fjord One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Flamenco">Flamenco</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Flavors">Flavors</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Fondamento">Fondamento</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Fontdiner Swanky">Fontdiner Swanky</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%5D%7D" data-google="true" value="Forum">Forum</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Francois One">Francois One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Freckle Face">Freckle Face</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Fredericka the Great">Fredericka the Great</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Fredoka One">Fredoka One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Freehand">Freehand</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Fresca">Fresca</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Frijole">Frijole</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Fruktur">Fruktur</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Fugaz One">Fugaz One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%5D%7D" data-google="true" value="GFS Didot">GFS Didot</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%5D%7D" data-google="true" value="GFS Neohellenic">GFS Neohellenic</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Gabriela">Gabriela</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Gafata">Gafata</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Galdeano">Galdeano</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Galindo">Galindo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Gentium Basic">Gentium Basic</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Gentium Book Basic">Gentium Book Basic</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Geo">Geo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Geostar">Geostar</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Geostar Fill">Geostar Fill</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Germania One">Germania One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Gilda Display">Gilda Display</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Give You Glory">Give You Glory</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Glass Antiqua">Glass Antiqua</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Glegoo">Glegoo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Gloria Hallelujah">Gloria Hallelujah</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Goblin One">Goblin One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Gochi Hand">Gochi Hand</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Gorditas">Gorditas</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Goudy Bookletter 1911">Goudy Bookletter 1911</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Graduate">Graduate</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Grand Hotel">Grand Hotel</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Gravitas One">Gravitas One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Great Vibes">Great Vibes</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Griffy">Griffy</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Gruppo">Gruppo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Gudea">Gudea</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Habibi">Habibi</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Hammersmith One">Hammersmith One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Hanalei">Hanalei</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Hanalei Fill">Hanalei Fill</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Handlee">Handlee</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Hanuman">Hanuman</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Happy Monkey">Happy Monkey</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Headland One">Headland One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Henny Penny">Henny Penny</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Herr Von Muellerhoff">Herr Von Muellerhoff</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Holtwood One SC">Holtwood One SC</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Homemade Apple">Homemade Apple</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Homenaje">Homenaje</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="IM Fell DW Pica">IM Fell DW Pica</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="IM Fell DW Pica SC">IM Fell DW Pica SC</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="IM Fell Double Pica">IM Fell Double Pica</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="IM Fell Double Pica SC">IM Fell Double Pica SC</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="IM Fell English">IM Fell English</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="IM Fell English SC">IM Fell English SC</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="IM Fell French Canon">IM Fell French Canon</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="IM Fell French Canon SC">IM Fell French Canon SC</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="IM Fell Great Primer">IM Fell Great Primer</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="IM Fell Great Primer SC">IM Fell Great Primer SC</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Iceberg">Iceberg</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Iceland">Iceland</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Imprima">Imprima</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Inconsolata">Inconsolata</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Inder">Inder</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Indie Flower">Indie Flower</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Inika">Inika</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Irish Grover">Irish Grover</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%5D%7D" data-google="true" value="Istok Web">Istok Web</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Italiana">Italiana</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Italianno">Italianno</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Jacques Francois">Jacques Francois</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Jacques Francois Shadow">Jacques Francois Shadow</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Jim Nightshade">Jim Nightshade</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Jockey One">Jockey One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Jolly Lodger">Jolly Lodger</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22100%22%2C%22name%22%3A%22Ultra-Light+100%22%7D%2C%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22600%22%2C%22name%22%3A%22Semi-Bold+600%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22100italic%22%2C%22name%22%3A%22Ultra-Light+100+Italic%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22600italic%22%2C%22name%22%3A%22Semi-Bold+600+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Josefin Sans">Josefin Sans</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22100%22%2C%22name%22%3A%22Ultra-Light+100%22%7D%2C%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22600%22%2C%22name%22%3A%22Semi-Bold+600%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22100italic%22%2C%22name%22%3A%22Ultra-Light+100+Italic%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22600italic%22%2C%22name%22%3A%22Semi-Bold+600+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Josefin Slab">Josefin Slab</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Joti One">Joti One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Judson">Judson</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Julee">Julee</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Julius Sans One">Julius Sans One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Junge">Junge</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22500%22%2C%22name%22%3A%22Medium+500%22%7D%2C%7B%22id%22%3A%22600%22%2C%22name%22%3A%22Semi-Bold+600%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Jura">Jura</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Just Another Hand">Just Another Hand</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Just Me Again Down Here">Just Me Again Down Here</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Kameron">Kameron</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Kantumruy">Kantumruy</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Karla">Karla</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Kaushan Script">Kaushan Script</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Kavoon">Kavoon</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Kdam Thmor">Kdam Thmor</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Keania One">Keania One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Kelly Slab">Kelly Slab</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Kenia">Kenia</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Khmer">Khmer</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Kite One">Kite One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Knewave">Knewave</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Kotta One">Kotta One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Koulen">Koulen</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Kranky">Kranky</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Kreon">Kreon</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Kristi">Kristi</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Krona One">Krona One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="La Belle Aurore">La Belle Aurore</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Lancelot">Lancelot</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22100%22%2C%22name%22%3A%22Ultra-Light+100%22%7D%2C%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%2C%7B%22id%22%3A%22100italic%22%2C%22name%22%3A%22Ultra-Light+100+Italic%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%2C%7B%22id%22%3A%22900italic%22%2C%22name%22%3A%22Ultra-Bold+900+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Lato">Lato</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="League Script">League Script</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Leckerli One">Leckerli One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Ledger">Ledger</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Lekton">Lekton</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Lemon">Lemon</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Libre Baskerville">Libre Baskerville</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Life Savers">Life Savers</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Lilita One">Lilita One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Lily Script One">Lily Script One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Limelight">Limelight</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Linden Hill">Linden Hill</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%5D%7D" data-google="true" value="Lobster">Lobster</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Lobster Two">Lobster Two</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Londrina Outline">Londrina Outline</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Londrina Shadow">Londrina Shadow</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Londrina Sketch">Londrina Sketch</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Londrina Solid">Londrina Solid</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Lora">Lora</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Love Ya Like A Sister">Love Ya Like A Sister</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Loved by the King">Loved by the King</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Lovers Quarrel">Lovers Quarrel</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Luckiest Guy">Luckiest Guy</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Lusitana">Lusitana</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Lustria">Lustria</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Macondo">Macondo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Macondo Swash Caps">Macondo Swash Caps</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Magra">Magra</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Maiden Orange">Maiden Orange</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Mako">Mako</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Marcellus">Marcellus</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Marcellus SC">Marcellus SC</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Marck Script">Marck Script</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Margarine">Margarine</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Marko One">Marko One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Marmelad">Marmelad</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Marvel">Marvel</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Mate">Mate</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Mate SC">Mate SC</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22500%22%2C%22name%22%3A%22Medium+500%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Maven Pro">Maven Pro</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="McLaren">McLaren</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Meddon">Meddon</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="MedievalSharp">MedievalSharp</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Medula One">Medula One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Megrim">Megrim</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Meie Script">Meie Script</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Merienda">Merienda</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Merienda One">Merienda One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%2C%7B%22id%22%3A%22900italic%22%2C%22name%22%3A%22Ultra-Bold+900+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Merriweather">Merriweather</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22800%22%2C%22name%22%3A%22Extra-Bold+800%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%2C%7B%22id%22%3A%22800italic%22%2C%22name%22%3A%22Extra-Bold+800+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Merriweather Sans">Merriweather Sans</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Metal">Metal</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Metal Mania">Metal Mania</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Metamorphous">Metamorphous</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Metrophobic">Metrophobic</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Michroma">Michroma</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Milonga">Milonga</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Miltonian">Miltonian</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Miltonian Tattoo">Miltonian Tattoo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Miniver">Miniver</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Miss Fajardose">Miss Fajardose</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Modern Antiqua">Modern Antiqua</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Molengo">Molengo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Molle">Molle</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Monda">Monda</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Monofett">Monofett</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Monoton">Monoton</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Monsieur La Doulaise">Monsieur La Doulaise</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Montaga">Montaga</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Montez">Montez</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Montserrat">Montserrat</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Montserrat Alternates">Montserrat Alternates</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Montserrat Subrayada">Montserrat Subrayada</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Moul">Moul</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Moulpali">Moulpali</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Mountains of Christmas">Mountains of Christmas</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Mouse Memoirs">Mouse Memoirs</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Mr Bedfort">Mr Bedfort</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Mr Dafoe">Mr Dafoe</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Mr De Haviland">Mr De Haviland</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Mrs Saint Delafield">Mrs Saint Delafield</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Mrs Sheppards">Mrs Sheppards</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Muli">Muli</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Mystery Quest">Mystery Quest</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Neucha">Neucha</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22200%22%2C%22name%22%3A%22Light+200%22%7D%2C%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22800%22%2C%22name%22%3A%22Extra-Bold+800%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Neuton">Neuton</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="New Rocker">New Rocker</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="News Cycle">News Cycle</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Niconne">Niconne</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Nixie One">Nixie One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Nobile">Nobile</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Nokora">Nokora</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Norican">Norican</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Nosifer">Nosifer</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Nothing You Could Do">Nothing You Could Do</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22vietnamese%22%2C%22name%22%3A%22Vietnamese%22%7D%5D%7D" data-google="true" value="Noticia Text">Noticia Text</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22devanagari%22%2C%22name%22%3A%22Devanagari%22%7D%2C%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22vietnamese%22%2C%22name%22%3A%22Vietnamese%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Noto Sans">Noto Sans</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22vietnamese%22%2C%22name%22%3A%22Vietnamese%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Noto Serif">Noto Serif</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Nova Cut">Nova Cut</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Nova Flat">Nova Flat</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%5D%7D" data-google="true" value="Nova Mono">Nova Mono</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Nova Oval">Nova Oval</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Nova Round">Nova Round</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Nova Script">Nova Script</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Nova Slim">Nova Slim</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Nova Square">Nova Square</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Numans">Numans</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Nunito">Nunito</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Odor Mean Chey">Odor Mean Chey</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Offside">Offside</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Old Standard TT">Old Standard TT</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Oldenburg">Oldenburg</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Oleo Script">Oleo Script</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Oleo Script Swash Caps">Oleo Script Swash Caps</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22600%22%2C%22name%22%3A%22Semi-Bold+600%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22800%22%2C%22name%22%3A%22Extra-Bold+800%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22600italic%22%2C%22name%22%3A%22Semi-Bold+600+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%2C%7B%22id%22%3A%22800italic%22%2C%22name%22%3A%22Extra-Bold+800+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22devanagari%22%2C%22name%22%3A%22Devanagari%22%7D%2C%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22vietnamese%22%2C%22name%22%3A%22Vietnamese%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Open Sans">Open Sans</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22vietnamese%22%2C%22name%22%3A%22Vietnamese%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Open Sans Condensed">Open Sans Condensed</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%5D%7D" data-google="true" value="Oranienbaum">Oranienbaum</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22500%22%2C%22name%22%3A%22Medium+500%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Orbitron">Orbitron</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Oregano">Oregano</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Orienta">Orienta</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Original Surfer">Original Surfer</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Oswald">Oswald</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Over the Rainbow">Over the Rainbow</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%2C%7B%22id%22%3A%22900italic%22%2C%22name%22%3A%22Ultra-Bold+900+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Overlock">Overlock</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Overlock SC">Overlock SC</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Ovo">Ovo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Oxygen">Oxygen</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Oxygen Mono">Oxygen Mono</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%5D%7D" data-google="true" value="PT Mono">PT Mono</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%5D%7D" data-google="true" value="PT Sans">PT Sans</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%5D%7D" data-google="true" value="PT Sans Caption">PT Sans Caption</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%5D%7D" data-google="true" value="PT Sans Narrow">PT Sans Narrow</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%5D%7D" data-google="true" value="PT Serif">PT Serif</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%5D%7D" data-google="true" value="PT Serif Caption">PT Serif Caption</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Pacifico">Pacifico</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Paprika">Paprika</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Parisienne">Parisienne</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Passero One">Passero One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Passion One">Passion One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Pathway Gothic One">Pathway Gothic One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22vietnamese%22%2C%22name%22%3A%22Vietnamese%22%7D%5D%7D" data-google="true" value="Patrick Hand">Patrick Hand</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22vietnamese%22%2C%22name%22%3A%22Vietnamese%22%7D%5D%7D" data-google="true" value="Patrick Hand SC">Patrick Hand SC</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Patua One">Patua One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Paytone One">Paytone One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Peralta">Peralta</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Permanent Marker">Permanent Marker</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Petit Formal Script">Petit Formal Script</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Petrona">Petrona</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Philosopher">Philosopher</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Piedra">Piedra</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Pinyon Script">Pinyon Script</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Pirata One">Pirata One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Plaster">Plaster</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Play">Play</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Playball">Playball</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%2C%7B%22id%22%3A%22900italic%22%2C%22name%22%3A%22Ultra-Bold+900+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Playfair Display">Playfair Display</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%2C%7B%22id%22%3A%22900italic%22%2C%22name%22%3A%22Ultra-Bold+900+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Playfair Display SC">Playfair Display SC</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Podkova">Podkova</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Poiret One">Poiret One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Poller One">Poller One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Poly">Poly</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Pompiere">Pompiere</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Pontano Sans">Pontano Sans</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Port Lligat Sans">Port Lligat Sans</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Port Lligat Slab">Port Lligat Slab</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Prata">Prata</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Preahvihear">Preahvihear</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%5D%7D" data-google="true" value="Press Start 2P">Press Start 2P</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Princess Sofia">Princess Sofia</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Prociono">Prociono</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Prosto One">Prosto One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Puritan">Puritan</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Purple Purse">Purple Purse</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Quando">Quando</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Quantico">Quantico</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Quattrocento">Quattrocento</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Quattrocento Sans">Quattrocento Sans</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Questrial">Questrial</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Quicksand">Quicksand</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Quintessential">Quintessential</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Qwigley">Qwigley</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Racing Sans One">Racing Sans One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Radley">Radley</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22100%22%2C%22name%22%3A%22Ultra-Light+100%22%7D%2C%7B%22id%22%3A%22200%22%2C%22name%22%3A%22Light+200%22%7D%2C%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22500%22%2C%22name%22%3A%22Medium+500%22%7D%2C%7B%22id%22%3A%22600%22%2C%22name%22%3A%22Semi-Bold+600%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22800%22%2C%22name%22%3A%22Extra-Bold+800%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Raleway">Raleway</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Raleway Dots">Raleway Dots</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Rambla">Rambla</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Rammetto One">Rammetto One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Ranchers">Ranchers</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Rancho">Rancho</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Rationale">Rationale</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Redressed">Redressed</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Reenie Beanie">Reenie Beanie</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Revalia">Revalia</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Ribeye">Ribeye</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Ribeye Marrow">Ribeye Marrow</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Righteous">Righteous</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Risque">Risque</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22100%22%2C%22name%22%3A%22Ultra-Light+100%22%7D%2C%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22500%22%2C%22name%22%3A%22Medium+500%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%2C%7B%22id%22%3A%22100italic%22%2C%22name%22%3A%22Ultra-Light+100+Italic%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22500italic%22%2C%22name%22%3A%22Medium+500+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%2C%7B%22id%22%3A%22900italic%22%2C%22name%22%3A%22Ultra-Bold+900+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22vietnamese%22%2C%22name%22%3A%22Vietnamese%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Roboto">Roboto</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22vietnamese%22%2C%22name%22%3A%22Vietnamese%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Roboto Condensed">Roboto Condensed</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22100%22%2C%22name%22%3A%22Ultra-Light+100%22%7D%2C%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22vietnamese%22%2C%22name%22%3A%22Vietnamese%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Roboto Slab">Roboto Slab</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Rochester">Rochester</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Rock Salt">Rock Salt</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Rokkitt">Rokkitt</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Romanesco">Romanesco</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Ropa Sans">Ropa Sans</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Rosario">Rosario</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Rosarivo">Rosarivo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Rouge Script">Rouge Script</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Ruda">Ruda</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Rufina">Rufina</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Ruge Boogie">Ruge Boogie</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Ruluko">Ruluko</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Rum Raisin">Rum Raisin</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%5D%7D" data-google="true" value="Ruslan Display">Ruslan Display</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Russo One">Russo One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Ruthie">Ruthie</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Rye">Rye</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Sacramento">Sacramento</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Sail">Sail</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Salsa">Salsa</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Sanchez">Sanchez</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Sancreek">Sancreek</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Sansita One">Sansita One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Sarina">Sarina</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Satisfy">Satisfy</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Scada">Scada</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Schoolbell">Schoolbell</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Seaweed Script">Seaweed Script</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Sevillana">Sevillana</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Seymour One">Seymour One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Shadows Into Light">Shadows Into Light</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Shadows Into Light Two">Shadows Into Light Two</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Shanti">Shanti</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Share">Share</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Share Tech">Share Tech</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Share Tech Mono">Share Tech Mono</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Shojumaru">Shojumaru</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Short Stack">Short Stack</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Siemreap">Siemreap</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Sigmar One">Sigmar One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22600%22%2C%22name%22%3A%22Semi-Bold+600%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Signika">Signika</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22600%22%2C%22name%22%3A%22Semi-Bold+600%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Signika Negative">Signika Negative</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22900italic%22%2C%22name%22%3A%22Ultra-Bold+900+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Simonetta">Simonetta</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Sintony">Sintony</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Sirin Stencil">Sirin Stencil</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Six Caps">Six Caps</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Skranji">Skranji</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Slackey">Slackey</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Smokum">Smokum</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Smythe">Smythe</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22800%22%2C%22name%22%3A%22Extra-Bold+800%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Sniglet">Sniglet</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Snippet">Snippet</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Snowburst One">Snowburst One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Sofadi One">Sofadi One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Sofia">Sofia</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Sonsie One">Sonsie One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Sorts Mill Goudy">Sorts Mill Goudy</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22200%22%2C%22name%22%3A%22Light+200%22%7D%2C%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22500%22%2C%22name%22%3A%22Medium+500%22%7D%2C%7B%22id%22%3A%22600%22%2C%22name%22%3A%22Semi-Bold+600%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Source Code Pro">Source Code Pro</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22200%22%2C%22name%22%3A%22Light+200%22%7D%2C%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22600%22%2C%22name%22%3A%22Semi-Bold+600%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%2C%7B%22id%22%3A%22200italic%22%2C%22name%22%3A%22Light+200+Italic%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22600italic%22%2C%22name%22%3A%22Semi-Bold+600+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%2C%7B%22id%22%3A%22900italic%22%2C%22name%22%3A%22Ultra-Bold+900+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22vietnamese%22%2C%22name%22%3A%22Vietnamese%22%7D%5D%7D" data-google="true" value="Source Sans Pro">Source Sans Pro</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Special Elite">Special Elite</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Spicy Rice">Spicy Rice</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Spinnaker">Spinnaker</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Spirax">Spirax</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Squada One">Squada One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Stalemate">Stalemate</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Stalinist One">Stalinist One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Stardos Stencil">Stardos Stencil</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Stint Ultra Condensed">Stint Ultra Condensed</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Stint Ultra Expanded">Stint Ultra Expanded</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Stoke">Stoke</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Strait">Strait</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Sue Ellen Francisco">Sue Ellen Francisco</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Sunshiney">Sunshiney</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Supermercado One">Supermercado One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Suwannaphum">Suwannaphum</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Swanky and Moo Moo">Swanky and Moo Moo</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Syncopate">Syncopate</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Tangerine">Tangerine</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22khmer%22%2C%22name%22%3A%22Khmer%22%7D%5D%7D" data-google="true" value="Taprom">Taprom</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Tauri">Tauri</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Telex">Telex</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%5D%7D" data-google="true" value="Tenor Sans">Tenor Sans</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Text Me One">Text Me One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="The Girl Next Door">The Girl Next Door</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Tienne">Tienne</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22vietnamese%22%2C%22name%22%3A%22Vietnamese%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Tinos">Tinos</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Titan One">Titan One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22200%22%2C%22name%22%3A%22Light+200%22%7D%2C%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22600%22%2C%22name%22%3A%22Semi-Bold+600%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22900%22%2C%22name%22%3A%22Ultra-Bold+900%22%7D%2C%7B%22id%22%3A%22200italic%22%2C%22name%22%3A%22Light+200+Italic%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22600italic%22%2C%22name%22%3A%22Semi-Bold+600+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Titillium Web">Titillium Web</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Trade Winds">Trade Winds</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Trocchi">Trocchi</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Trochut">Trochut</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Trykker">Trykker</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Tulpen One">Tulpen One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22500%22%2C%22name%22%3A%22Medium+500%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22300italic%22%2C%22name%22%3A%22Book+300+Italic%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22500italic%22%2C%22name%22%3A%22Medium+500+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Ubuntu">Ubuntu</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Ubuntu Condensed">Ubuntu Condensed</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%2C%7B%22id%22%3A%22cyrillic-ext%22%2C%22name%22%3A%22Cyrillic+Extended%22%7D%2C%7B%22id%22%3A%22greek%22%2C%22name%22%3A%22Greek%22%7D%2C%7B%22id%22%3A%22greek-ext%22%2C%22name%22%3A%22Greek+Extended%22%7D%5D%7D" data-google="true" value="Ubuntu Mono">Ubuntu Mono</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Ultra">Ultra</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Uncial Antiqua">Uncial Antiqua</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Underdog">Underdog</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Unica One">Unica One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="UnifrakturCook">UnifrakturCook</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="UnifrakturMaguntia">UnifrakturMaguntia</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Unkempt">Unkempt</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Unlock">Unlock</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Unna">Unna</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="VT323">VT323</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Vampiro One">Vampiro One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Varela">Varela</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Varela Round">Varela Round</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Vast Shadow">Vast Shadow</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Vibur">Vibur</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Vidaloka">Vidaloka</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Viga">Viga</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Voces">Voces</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Volkhov">Volkhov</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%2C%7B%22id%22%3A%22400italic%22%2C%22name%22%3A%22Normal+400+Italic%22%7D%2C%7B%22id%22%3A%22700italic%22%2C%22name%22%3A%22Bold+700+Italic%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Vollkorn">Vollkorn</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Voltaire">Voltaire</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Waiting for the Sunrise">Waiting for the Sunrise</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Wallpoet">Wallpoet</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Walter Turncoat">Walter Turncoat</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Warnes">Warnes</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Wellfleet">Wellfleet</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Wendy One">Wendy One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Wire One">Wire One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22200%22%2C%22name%22%3A%22Light+200%22%7D%2C%7B%22id%22%3A%22300%22%2C%22name%22%3A%22Book+300%22%7D%2C%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%2C%7B%22id%22%3A%22700%22%2C%22name%22%3A%22Bold+700%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Yanone Kaffeesatz">Yanone Kaffeesatz</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Yellowtail">Yellowtail</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22cyrillic%22%2C%22name%22%3A%22Cyrillic%22%7D%2C%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%2C%7B%22id%22%3A%22latin-ext%22%2C%22name%22%3A%22Latin+Extended%22%7D%5D%7D" data-google="true" value="Yeseva One">Yeseva One</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Yesteryear">Yesteryear</option><option data-details="%7B%22variants%22%3A%5B%7B%22id%22%3A%22400%22%2C%22name%22%3A%22Normal+400%22%7D%5D%2C%22subsets%22%3A%5B%7B%22id%22%3A%22latin%22%2C%22name%22%3A%22Latin%22%7D%5D%7D" data-google="true" value="Zeyada">Zeyada</option></optgroup>
includes/fonts/googlefonts.json ADDED
@@ -0,0 +1 @@
 
1
+ {"ABeeZee":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Abel":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Abril Fatface":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Aclonica":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Acme":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Actor":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Adamina":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Advent Pro":{"variants":[{"id":"100","name":"Ultra-Light 100"},{"id":"200","name":"Light 200"},{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"500","name":"Medium 500"},{"id":"600","name":"Semi-Bold 600"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"greek","name":"Greek"}]},"Aguafina Script":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Akronim":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Aladin":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Aldrich":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Alef":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Alegreya":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"900","name":"Ultra-Bold 900"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"},{"id":"900italic","name":"Ultra-Bold 900 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Alegreya SC":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"900","name":"Ultra-Bold 900"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"},{"id":"900italic","name":"Ultra-Bold 900 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Alegreya Sans":{"variants":[{"id":"100","name":"Ultra-Light 100"},{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"500","name":"Medium 500"},{"id":"700","name":"Bold 700"},{"id":"800","name":"Extra-Bold 800"},{"id":"900","name":"Ultra-Bold 900"},{"id":"100italic","name":"Ultra-Light 100 Italic"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"500italic","name":"Medium 500 Italic"},{"id":"700italic","name":"Bold 700 Italic"},{"id":"800italic","name":"Extra-Bold 800 Italic"},{"id":"900italic","name":"Ultra-Bold 900 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"vietnamese","name":"Vietnamese"}]},"Alegreya Sans SC":{"variants":[{"id":"100","name":"Ultra-Light 100"},{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"500","name":"Medium 500"},{"id":"700","name":"Bold 700"},{"id":"800","name":"Extra-Bold 800"},{"id":"900","name":"Ultra-Bold 900"},{"id":"100italic","name":"Ultra-Light 100 Italic"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"500italic","name":"Medium 500 Italic"},{"id":"700italic","name":"Bold 700 Italic"},{"id":"800italic","name":"Extra-Bold 800 Italic"},{"id":"900italic","name":"Ultra-Bold 900 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"vietnamese","name":"Vietnamese"}]},"Alex Brush":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Alfa Slab One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Alice":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Alike":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Alike Angular":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Allan":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Allerta":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Allerta Stencil":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Allura":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Almendra":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Almendra Display":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Almendra SC":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Amarante":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Amaranth":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Amatic SC":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Amethysta":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Anaheim":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Andada":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Andika":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"}]},"Angkor":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Annie Use Your Telescope":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Anonymous Pro":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"greek","name":"Greek"},{"id":"greek-ext","name":"Greek Extended"}]},"Antic":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Antic Didone":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Antic Slab":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Anton":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Arapey":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Arbutus":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Arbutus Slab":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Architects Daughter":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Archivo Black":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Archivo Narrow":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Arimo":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"greek","name":"Greek"},{"id":"vietnamese","name":"Vietnamese"},{"id":"greek-ext","name":"Greek Extended"}]},"Arizonia":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Armata":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Artifika":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Arvo":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Asap":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Asset":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Astloch":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Asul":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Atomic Age":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Aubrey":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Audiowide":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Autour One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Average":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Average Sans":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Averia Gruesa Libre":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Averia Libre":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Averia Sans Libre":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Averia Serif Libre":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Bad Script":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"}]},"Balthazar":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Bangers":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Basic":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Battambang":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Baumans":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Bayon":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Belgrano":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Belleza":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"BenchNine":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Bentham":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Berkshire Swash":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Bevan":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Bigelow Rules":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Bigshot One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Bilbo":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Bilbo Swash Caps":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Bitter":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Black Ops One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Bokor":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Bonbon":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Boogaloo":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Bowlby One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Bowlby One SC":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Brawler":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Bree Serif":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Bubblegum Sans":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Bubbler One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Buda":{"variants":[{"id":"300","name":"Book 300"}],"subsets":[{"id":"latin","name":"Latin"}]},"Buenard":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Butcherman":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Butterfly Kids":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Cabin":{"variants":[{"id":"400","name":"Normal 400"},{"id":"500","name":"Medium 500"},{"id":"600","name":"Semi-Bold 600"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"500italic","name":"Medium 500 Italic"},{"id":"600italic","name":"Semi-Bold 600 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Cabin Condensed":{"variants":[{"id":"400","name":"Normal 400"},{"id":"500","name":"Medium 500"},{"id":"600","name":"Semi-Bold 600"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Cabin Sketch":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Caesar Dressing":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Cagliostro":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Calligraffitti":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Cambo":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Candal":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Cantarell":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Cantata One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Cantora One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Capriola":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Cardo":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"greek","name":"Greek"},{"id":"greek-ext","name":"Greek Extended"}]},"Carme":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Carrois Gothic":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Carrois Gothic SC":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Carter One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Caudex":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"greek","name":"Greek"},{"id":"greek-ext","name":"Greek Extended"}]},"Cedarville Cursive":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Ceviche One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Changa One":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Chango":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Chau Philomene One":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Chela One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Chelsea Market":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Chenla":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Cherry Cream Soda":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Cherry Swash":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Chewy":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Chicle":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Chivo":{"variants":[{"id":"400","name":"Normal 400"},{"id":"900","name":"Ultra-Bold 900"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"900italic","name":"Ultra-Bold 900 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Cinzel":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"900","name":"Ultra-Bold 900"}],"subsets":[{"id":"latin","name":"Latin"}]},"Cinzel Decorative":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"900","name":"Ultra-Bold 900"}],"subsets":[{"id":"latin","name":"Latin"}]},"Clicker Script":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Coda":{"variants":[{"id":"400","name":"Normal 400"},{"id":"800","name":"Extra-Bold 800"}],"subsets":[{"id":"latin","name":"Latin"}]},"Coda Caption":{"variants":[{"id":"800","name":"Extra-Bold 800"}],"subsets":[{"id":"latin","name":"Latin"}]},"Codystar":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Combo":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Comfortaa":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"greek","name":"Greek"}]},"Coming Soon":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Concert One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Condiment":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Content":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Contrail One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Convergence":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Cookie":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Copse":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Corben":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Courgette":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Cousine":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"greek","name":"Greek"},{"id":"vietnamese","name":"Vietnamese"},{"id":"greek-ext","name":"Greek Extended"}]},"Coustard":{"variants":[{"id":"400","name":"Normal 400"},{"id":"900","name":"Ultra-Bold 900"}],"subsets":[{"id":"latin","name":"Latin"}]},"Covered By Your Grace":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Crafty Girls":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Creepster":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Crete Round":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Crimson Text":{"variants":[{"id":"400","name":"Normal 400"},{"id":"600","name":"Semi-Bold 600"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"600italic","name":"Semi-Bold 600 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Croissant One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Crushed":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Cuprum":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Cutive":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Cutive Mono":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Damion":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Dancing Script":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Dangrek":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Dawning of a New Day":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Days One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Delius":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Delius Swash Caps":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Delius Unicase":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Della Respira":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Denk One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Devonshire":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Didact Gothic":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"greek","name":"Greek"},{"id":"greek-ext","name":"Greek Extended"}]},"Diplomata":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Diplomata SC":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Domine":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Donegal One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Doppio One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Dorsa":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Dosis":{"variants":[{"id":"200","name":"Light 200"},{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"500","name":"Medium 500"},{"id":"600","name":"Semi-Bold 600"},{"id":"700","name":"Bold 700"},{"id":"800","name":"Extra-Bold 800"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Dr Sugiyama":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Droid Sans":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Droid Sans Mono":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Droid Serif":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Duru Sans":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Dynalight":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"EB Garamond":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"vietnamese","name":"Vietnamese"}]},"Eagle Lake":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Eater":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Economica":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Electrolize":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Elsie":{"variants":[{"id":"400","name":"Normal 400"},{"id":"900","name":"Ultra-Bold 900"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Elsie Swash Caps":{"variants":[{"id":"400","name":"Normal 400"},{"id":"900","name":"Ultra-Bold 900"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Emblema One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Emilys Candy":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Engagement":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Englebert":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Enriqueta":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Erica One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Esteban":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Euphoria Script":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Ewert":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Exo":{"variants":[{"id":"100","name":"Ultra-Light 100"},{"id":"200","name":"Light 200"},{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"500","name":"Medium 500"},{"id":"600","name":"Semi-Bold 600"},{"id":"700","name":"Bold 700"},{"id":"800","name":"Extra-Bold 800"},{"id":"900","name":"Ultra-Bold 900"},{"id":"100italic","name":"Ultra-Light 100 Italic"},{"id":"200italic","name":"Light 200 Italic"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"500italic","name":"Medium 500 Italic"},{"id":"600italic","name":"Semi-Bold 600 Italic"},{"id":"700italic","name":"Bold 700 Italic"},{"id":"800italic","name":"Extra-Bold 800 Italic"},{"id":"900italic","name":"Ultra-Bold 900 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Exo 2":{"variants":[{"id":"100","name":"Ultra-Light 100"},{"id":"200","name":"Light 200"},{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"500","name":"Medium 500"},{"id":"600","name":"Semi-Bold 600"},{"id":"700","name":"Bold 700"},{"id":"800","name":"Extra-Bold 800"},{"id":"900","name":"Ultra-Bold 900"},{"id":"100italic","name":"Ultra-Light 100 Italic"},{"id":"200italic","name":"Light 200 Italic"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"500italic","name":"Medium 500 Italic"},{"id":"600italic","name":"Semi-Bold 600 Italic"},{"id":"700italic","name":"Bold 700 Italic"},{"id":"800italic","name":"Extra-Bold 800 Italic"},{"id":"900italic","name":"Ultra-Bold 900 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Expletus Sans":{"variants":[{"id":"400","name":"Normal 400"},{"id":"500","name":"Medium 500"},{"id":"600","name":"Semi-Bold 600"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"500italic","name":"Medium 500 Italic"},{"id":"600italic","name":"Semi-Bold 600 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Fanwood Text":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Fascinate":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Fascinate Inline":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Faster One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Fasthand":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Fauna One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Federant":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Federo":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Felipa":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Fenix":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Finger Paint":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Fjalla One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Fjord One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Flamenco":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Flavors":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Fondamento":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Fontdiner Swanky":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Forum":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"}]},"Francois One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Freckle Face":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Fredericka the Great":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Fredoka One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Freehand":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Fresca":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Frijole":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Fruktur":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Fugaz One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"GFS Didot":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"greek","name":"Greek"}]},"GFS Neohellenic":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"greek","name":"Greek"}]},"Gabriela":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Gafata":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Galdeano":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Galindo":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Gentium Basic":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Gentium Book Basic":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Geo":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Geostar":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Geostar Fill":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Germania One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Gilda Display":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Give You Glory":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Glass Antiqua":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Glegoo":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Gloria Hallelujah":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Goblin One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Gochi Hand":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Gorditas":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Goudy Bookletter 1911":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Graduate":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Grand Hotel":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Gravitas One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Great Vibes":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Griffy":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Gruppo":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Gudea":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Habibi":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Hammersmith One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Hanalei":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Hanalei Fill":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Handlee":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Hanuman":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Happy Monkey":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Headland One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Henny Penny":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Herr Von Muellerhoff":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Holtwood One SC":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Homemade Apple":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Homenaje":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"IM Fell DW Pica":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"IM Fell DW Pica SC":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"IM Fell Double Pica":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"IM Fell Double Pica SC":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"IM Fell English":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"IM Fell English SC":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"IM Fell French Canon":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"IM Fell French Canon SC":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"IM Fell Great Primer":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"IM Fell Great Primer SC":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Iceberg":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Iceland":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Imprima":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Inconsolata":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Inder":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Indie Flower":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Inika":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Irish Grover":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Istok Web":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"}]},"Italiana":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Italianno":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Jacques Francois":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Jacques Francois Shadow":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Jim Nightshade":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Jockey One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Jolly Lodger":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Josefin Sans":{"variants":[{"id":"100","name":"Ultra-Light 100"},{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"600","name":"Semi-Bold 600"},{"id":"700","name":"Bold 700"},{"id":"100italic","name":"Ultra-Light 100 Italic"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"600italic","name":"Semi-Bold 600 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Josefin Slab":{"variants":[{"id":"100","name":"Ultra-Light 100"},{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"600","name":"Semi-Bold 600"},{"id":"700","name":"Bold 700"},{"id":"100italic","name":"Ultra-Light 100 Italic"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"600italic","name":"Semi-Bold 600 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Joti One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Judson":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Julee":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Julius Sans One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Junge":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Jura":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"500","name":"Medium 500"},{"id":"600","name":"Semi-Bold 600"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"greek","name":"Greek"},{"id":"greek-ext","name":"Greek Extended"}]},"Just Another Hand":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Just Me Again Down Here":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Kameron":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Kantumruy":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Karla":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Kaushan Script":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Kavoon":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Kdam Thmor":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Keania One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Kelly Slab":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Kenia":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Khmer":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Kite One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Knewave":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Kotta One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Koulen":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Kranky":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Kreon":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Kristi":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Krona One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"La Belle Aurore":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Lancelot":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Lato":{"variants":[{"id":"100","name":"Ultra-Light 100"},{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"900","name":"Ultra-Bold 900"},{"id":"100italic","name":"Ultra-Light 100 Italic"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"},{"id":"900italic","name":"Ultra-Bold 900 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"League Script":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Leckerli One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Ledger":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Lekton":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Lemon":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Libre Baskerville":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Life Savers":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Lilita One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Lily Script One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Limelight":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Linden Hill":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Lobster":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"}]},"Lobster Two":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Londrina Outline":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Londrina Shadow":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Londrina Sketch":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Londrina Solid":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Lora":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Love Ya Like A Sister":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Loved by the King":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Lovers Quarrel":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Luckiest Guy":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Lusitana":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Lustria":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Macondo":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Macondo Swash Caps":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Magra":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Maiden Orange":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Mako":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Marcellus":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Marcellus SC":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Marck Script":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Margarine":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Marko One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Marmelad":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Marvel":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Mate":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Mate SC":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Maven Pro":{"variants":[{"id":"400","name":"Normal 400"},{"id":"500","name":"Medium 500"},{"id":"700","name":"Bold 700"},{"id":"900","name":"Ultra-Bold 900"}],"subsets":[{"id":"latin","name":"Latin"}]},"McLaren":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Meddon":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"MedievalSharp":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Medula One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Megrim":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Meie Script":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Merienda":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Merienda One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Merriweather":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"900","name":"Ultra-Bold 900"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"},{"id":"900italic","name":"Ultra-Bold 900 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Merriweather Sans":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"800","name":"Extra-Bold 800"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"},{"id":"800italic","name":"Extra-Bold 800 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Metal":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Metal Mania":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Metamorphous":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Metrophobic":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Michroma":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Milonga":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Miltonian":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Miltonian Tattoo":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Miniver":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Miss Fajardose":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Modern Antiqua":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Molengo":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Molle":{"variants":[{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Monda":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Monofett":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Monoton":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Monsieur La Doulaise":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Montaga":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Montez":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Montserrat":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Montserrat Alternates":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Montserrat Subrayada":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Moul":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Moulpali":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Mountains of Christmas":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Mouse Memoirs":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Mr Bedfort":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Mr Dafoe":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Mr De Haviland":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Mrs Saint Delafield":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Mrs Sheppards":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Muli":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Mystery Quest":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Neucha":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"}]},"Neuton":{"variants":[{"id":"200","name":"Light 200"},{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"800","name":"Extra-Bold 800"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"New Rocker":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"News Cycle":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Niconne":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Nixie One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Nobile":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Nokora":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Norican":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Nosifer":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Nothing You Could Do":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Noticia Text":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"vietnamese","name":"Vietnamese"}]},"Noto Sans":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"devanagari","name":"Devanagari"},{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"greek","name":"Greek"},{"id":"vietnamese","name":"Vietnamese"},{"id":"greek-ext","name":"Greek Extended"}]},"Noto Serif":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"greek","name":"Greek"},{"id":"vietnamese","name":"Vietnamese"},{"id":"greek-ext","name":"Greek Extended"}]},"Nova Cut":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Nova Flat":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Nova Mono":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"greek","name":"Greek"}]},"Nova Oval":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Nova Round":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Nova Script":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Nova Slim":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Nova Square":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Numans":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Nunito":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Odor Mean Chey":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Offside":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Old Standard TT":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Oldenburg":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Oleo Script":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Oleo Script Swash Caps":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Open Sans":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"600","name":"Semi-Bold 600"},{"id":"700","name":"Bold 700"},{"id":"800","name":"Extra-Bold 800"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"600italic","name":"Semi-Bold 600 Italic"},{"id":"700italic","name":"Bold 700 Italic"},{"id":"800italic","name":"Extra-Bold 800 Italic"}],"subsets":[{"id":"devanagari","name":"Devanagari"},{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"greek","name":"Greek"},{"id":"vietnamese","name":"Vietnamese"},{"id":"greek-ext","name":"Greek Extended"}]},"Open Sans Condensed":{"variants":[{"id":"300","name":"Book 300"},{"id":"700","name":"Bold 700"},{"id":"300italic","name":"Book 300 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"greek","name":"Greek"},{"id":"vietnamese","name":"Vietnamese"},{"id":"greek-ext","name":"Greek Extended"}]},"Oranienbaum":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"}]},"Orbitron":{"variants":[{"id":"400","name":"Normal 400"},{"id":"500","name":"Medium 500"},{"id":"700","name":"Bold 700"},{"id":"900","name":"Ultra-Bold 900"}],"subsets":[{"id":"latin","name":"Latin"}]},"Oregano":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Orienta":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Original Surfer":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Oswald":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Over the Rainbow":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Overlock":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"900","name":"Ultra-Bold 900"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"},{"id":"900italic","name":"Ultra-Bold 900 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Overlock SC":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Ovo":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Oxygen":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Oxygen Mono":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"PT Mono":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"}]},"PT Sans":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"}]},"PT Sans Caption":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"}]},"PT Sans Narrow":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"}]},"PT Serif":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"}]},"PT Serif Caption":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"}]},"Pacifico":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Paprika":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Parisienne":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Passero One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Passion One":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"900","name":"Ultra-Bold 900"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Pathway Gothic One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Patrick Hand":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"vietnamese","name":"Vietnamese"}]},"Patrick Hand SC":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"vietnamese","name":"Vietnamese"}]},"Patua One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Paytone One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Peralta":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Permanent Marker":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Petit Formal Script":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Petrona":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Philosopher":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"}]},"Piedra":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Pinyon Script":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Pirata One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Plaster":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Play":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"greek","name":"Greek"},{"id":"greek-ext","name":"Greek Extended"}]},"Playball":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Playfair Display":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"900","name":"Ultra-Bold 900"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"},{"id":"900italic","name":"Ultra-Bold 900 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Playfair Display SC":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"900","name":"Ultra-Bold 900"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"},{"id":"900italic","name":"Ultra-Bold 900 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Podkova":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Poiret One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Poller One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Poly":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Pompiere":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Pontano Sans":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Port Lligat Sans":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Port Lligat Slab":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Prata":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Preahvihear":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Press Start 2P":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"greek","name":"Greek"}]},"Princess Sofia":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Prociono":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Prosto One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Puritan":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Purple Purse":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Quando":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Quantico":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Quattrocento":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Quattrocento Sans":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Questrial":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Quicksand":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Quintessential":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Qwigley":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Racing Sans One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Radley":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Raleway":{"variants":[{"id":"100","name":"Ultra-Light 100"},{"id":"200","name":"Light 200"},{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"500","name":"Medium 500"},{"id":"600","name":"Semi-Bold 600"},{"id":"700","name":"Bold 700"},{"id":"800","name":"Extra-Bold 800"},{"id":"900","name":"Ultra-Bold 900"}],"subsets":[{"id":"latin","name":"Latin"}]},"Raleway Dots":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Rambla":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Rammetto One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Ranchers":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Rancho":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Rationale":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Redressed":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Reenie Beanie":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Revalia":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Ribeye":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Ribeye Marrow":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Righteous":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Risque":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Roboto":{"variants":[{"id":"100","name":"Ultra-Light 100"},{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"500","name":"Medium 500"},{"id":"700","name":"Bold 700"},{"id":"900","name":"Ultra-Bold 900"},{"id":"100italic","name":"Ultra-Light 100 Italic"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"500italic","name":"Medium 500 Italic"},{"id":"700italic","name":"Bold 700 Italic"},{"id":"900italic","name":"Ultra-Bold 900 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"greek","name":"Greek"},{"id":"vietnamese","name":"Vietnamese"},{"id":"greek-ext","name":"Greek Extended"}]},"Roboto Condensed":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"greek","name":"Greek"},{"id":"vietnamese","name":"Vietnamese"},{"id":"greek-ext","name":"Greek Extended"}]},"Roboto Slab":{"variants":[{"id":"100","name":"Ultra-Light 100"},{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"greek","name":"Greek"},{"id":"vietnamese","name":"Vietnamese"},{"id":"greek-ext","name":"Greek Extended"}]},"Rochester":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Rock Salt":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Rokkitt":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Romanesco":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Ropa Sans":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Rosario":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Rosarivo":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Rouge Script":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Ruda":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"900","name":"Ultra-Bold 900"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Rufina":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Ruge Boogie":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Ruluko":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Rum Raisin":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Ruslan Display":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"}]},"Russo One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Ruthie":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Rye":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Sacramento":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Sail":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Salsa":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Sanchez":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Sancreek":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Sansita One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Sarina":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Satisfy":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Scada":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Schoolbell":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Seaweed Script":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Sevillana":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Seymour One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Shadows Into Light":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Shadows Into Light Two":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Shanti":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Share":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Share Tech":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Share Tech Mono":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Shojumaru":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Short Stack":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Siemreap":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Sigmar One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Signika":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"600","name":"Semi-Bold 600"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Signika Negative":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"600","name":"Semi-Bold 600"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Simonetta":{"variants":[{"id":"400","name":"Normal 400"},{"id":"900","name":"Ultra-Bold 900"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"900italic","name":"Ultra-Bold 900 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Sintony":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Sirin Stencil":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Six Caps":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Skranji":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Slackey":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Smokum":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Smythe":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Sniglet":{"variants":[{"id":"400","name":"Normal 400"},{"id":"800","name":"Extra-Bold 800"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Snippet":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Snowburst One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Sofadi One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Sofia":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Sonsie One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Sorts Mill Goudy":{"variants":[{"id":"400","name":"Normal 400"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Source Code Pro":{"variants":[{"id":"200","name":"Light 200"},{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"500","name":"Medium 500"},{"id":"600","name":"Semi-Bold 600"},{"id":"700","name":"Bold 700"},{"id":"900","name":"Ultra-Bold 900"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Source Sans Pro":{"variants":[{"id":"200","name":"Light 200"},{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"600","name":"Semi-Bold 600"},{"id":"700","name":"Bold 700"},{"id":"900","name":"Ultra-Bold 900"},{"id":"200italic","name":"Light 200 Italic"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"600italic","name":"Semi-Bold 600 Italic"},{"id":"700italic","name":"Bold 700 Italic"},{"id":"900italic","name":"Ultra-Bold 900 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"vietnamese","name":"Vietnamese"}]},"Special Elite":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Spicy Rice":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Spinnaker":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Spirax":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Squada One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Stalemate":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Stalinist One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Stardos Stencil":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Stint Ultra Condensed":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Stint Ultra Expanded":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Stoke":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Strait":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Sue Ellen Francisco":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Sunshiney":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Supermercado One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Suwannaphum":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Swanky and Moo Moo":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Syncopate":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Tangerine":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Taprom":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"khmer","name":"Khmer"}]},"Tauri":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Telex":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Tenor Sans":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"}]},"Text Me One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"The Girl Next Door":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Tienne":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"900","name":"Ultra-Bold 900"}],"subsets":[{"id":"latin","name":"Latin"}]},"Tinos":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"greek","name":"Greek"},{"id":"vietnamese","name":"Vietnamese"},{"id":"greek-ext","name":"Greek Extended"}]},"Titan One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Titillium Web":{"variants":[{"id":"200","name":"Light 200"},{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"600","name":"Semi-Bold 600"},{"id":"700","name":"Bold 700"},{"id":"900","name":"Ultra-Bold 900"},{"id":"200italic","name":"Light 200 Italic"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"600italic","name":"Semi-Bold 600 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Trade Winds":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Trocchi":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Trochut":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Trykker":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Tulpen One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Ubuntu":{"variants":[{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"500","name":"Medium 500"},{"id":"700","name":"Bold 700"},{"id":"300italic","name":"Book 300 Italic"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"500italic","name":"Medium 500 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"greek","name":"Greek"},{"id":"greek-ext","name":"Greek Extended"}]},"Ubuntu Condensed":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"greek","name":"Greek"},{"id":"greek-ext","name":"Greek Extended"}]},"Ubuntu Mono":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"},{"id":"cyrillic-ext","name":"Cyrillic Extended"},{"id":"greek","name":"Greek"},{"id":"greek-ext","name":"Greek Extended"}]},"Ultra":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Uncial Antiqua":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Underdog":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Unica One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"UnifrakturCook":{"variants":[{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"UnifrakturMaguntia":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Unkempt":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"}]},"Unlock":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Unna":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"VT323":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Vampiro One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Varela":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Varela Round":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Vast Shadow":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Vibur":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Vidaloka":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Viga":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Voces":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Volkhov":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Vollkorn":{"variants":[{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"},{"id":"400italic","name":"Normal 400 Italic"},{"id":"700italic","name":"Bold 700 Italic"}],"subsets":[{"id":"latin","name":"Latin"}]},"Voltaire":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Waiting for the Sunrise":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Wallpoet":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Walter Turncoat":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Warnes":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Wellfleet":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Wendy One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Wire One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Yanone Kaffeesatz":{"variants":[{"id":"200","name":"Light 200"},{"id":"300","name":"Book 300"},{"id":"400","name":"Normal 400"},{"id":"700","name":"Bold 700"}],"subsets":[{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Yellowtail":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Yeseva One":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"cyrillic","name":"Cyrillic"},{"id":"latin","name":"Latin"},{"id":"latin-ext","name":"Latin Extended"}]},"Yesteryear":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]},"Zeyada":{"variants":[{"id":"400","name":"Normal 400"}],"subsets":[{"id":"latin","name":"Latin"}]}}
includes/functions.php CHANGED
@@ -1,4 +1,25 @@
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
  function mt_get_plugin_options($is_current = false) {
4
  $saved = (array) get_option('maintenance_options');
@@ -98,10 +119,73 @@
98
  $out_filed .= '</tr>';
99
  echo $out_filed;
100
  }
101
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
  function maintenance_page_create_meta_boxes() {
103
  global $maintenance_variable;
104
- add_meta_box( 'maintenance-general', __( 'General Settings', 'maintenance' ), 'add_data_fields', $maintenance_variable->options_page, 'normal', 'default');
 
105
  }
106
  add_action('add_meta_boxes', 'maintenance_page_create_meta_boxes', 10);
107
 
@@ -119,14 +203,18 @@
119
 
120
  function add_data_fields ($object, $box) {
121
  $mt_option = mt_get_plugin_options(true);
122
- echo '<table class="form-table">';
123
- echo '<tbody>';
 
 
 
124
  generate_input_filed(__('Page title', 'maintenance'), 'page_title', 'page_title', wp_kses_post($mt_option['page_title']));
125
  generate_input_filed(__('Headline', 'maintenance'), 'heading', 'heading', wp_kses_post($mt_option['heading']));
126
  generate_textarea_filed(__('Description', 'maintenance'), 'description', 'description', wp_kses_post($mt_option['description']));
127
  generate_image_filed(__('Logo', 'maintenance'), 'logo', 'logo', intval($mt_option['logo']), 'boxes box-logo', __('Upload Logo', 'maintenance'), 'upload_logo upload_btn button');
128
  do_action('maintenance_background_field');
129
  do_action('maintenance_color_fields');
 
130
  generate_check_filed(__('Admin bar', 'maintenance'), __('Show admin bar', 'maintenance'), 'admin_bar_enabled', 'admin_bar_enabled', isset($mt_option['admin_bar_enabled']));
131
  generate_check_filed(__('503', 'maintenance'), __('Service temporarily unavailable', 'maintenance'), '503_enabled', '503_enabled', isset($mt_option['503_enabled']));
132
 
@@ -134,14 +222,32 @@
134
  if (!empty($mt_option['gg_analytics_id'])) {
135
  $gg_analytics_id = esc_attr($mt_option['gg_analytics_id']);
136
  }
 
137
  generate_input_filed(__('Google Analytics ID', 'maintenance'), 'gg_analytics_id', 'gg_analytics_id', $gg_analytics_id, __('UA-XXXXX-X', 'maintenance'));
138
  generate_input_filed(__('Blur intensity', 'maintenance'), 'blur_intensity', 'blur_intensity', intval($mt_option['blur_intensity']));
139
- generate_check_filed(__('Background blur', 'maintenance'), __('Apply a blur', 'maintenance'), 'is_blur', 'is_blur', isset($mt_option['is_blur']));
 
 
 
 
 
140
  generate_check_filed(__('Login On / Off', 'maintenance'), '', 'is_login', 'is_login', isset($mt_option['is_login']));
141
- echo '</tbody>';
142
- echo '</table>';
 
 
143
  }
144
 
 
 
 
 
 
 
 
 
 
 
145
  function get_background_fileds_action() {
146
  $mt_option = mt_get_plugin_options(true);
147
  generate_image_filed(__('Background image', 'maintenance'), 'body_bg', 'body_bg', esc_attr($mt_option['body_bg']), 'boxes box-bg', __('Upload Background', 'maintenance'), 'upload_background upload_btn button');
@@ -150,12 +256,19 @@
150
 
151
  function get_color_fileds_action() {
152
  $mt_option = mt_get_plugin_options(true);
153
- get_color_field(__('Background color', 'maintenance'), 'body_bg_color', 'body_bg_color', esc_attr($mt_option['body_bg_color']), '#333333');
154
  get_color_field(__('Font color', 'maintenance'), 'font_color', 'font_color', esc_attr($mt_option['font_color']), '#ffffff');
155
  }
156
  add_action ('maintenance_color_fields', 'get_color_fileds_action', 10);
157
 
158
 
 
 
 
 
 
 
 
159
  function maintenanace_contact_support() {
160
  $promo_text = '';
161
  $promo_text .= '<div class="sidebar-promo" id="sidebar-promo">';
@@ -182,22 +295,23 @@
182
  $promo_text .= '</div>';
183
  echo $promo_text;
184
  }
 
185
  function load_maintenance_page() {
186
  global $mt_options;
187
- $vCurrDate = '';
188
  $mt_options = mt_get_plugin_options(true);
189
  if (!is_user_logged_in()) {
190
  if ($mt_options['state']) {
191
- if (!empty($mt_options['expiry_date'])) {
192
- $vCurrDate = DateTime::createFromFormat('d/m/Y', $mt_options['expiry_date']);
193
- list( $date, $time ) = explode( ' ', current($vCurrDate));
194
- list( $year, $month, $day ) = explode( '-', $date );
195
- list( $hour, $minute, $second ) = explode ( ':', $time );
196
- $timestamp = mktime( $hour, $minute, $second, $month, $day, $year );
197
 
198
- if ((time() > $timestamp) && (!empty($mt_options['is_down']))) {
199
- return true;
 
200
  }
 
201
  }
202
 
203
  if ( file_exists (MAINTENANCE_LOAD . 'index.php')) {
@@ -253,6 +367,48 @@
253
  $rgb = array($r, $g, $b);
254
  return implode(",", $rgb);
255
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
256
 
257
  function mt_get_default_array() {
258
  return array(
@@ -261,15 +417,16 @@
261
  'heading' => __('Maintenance mode is on', 'maintenance'),
262
  'description' => __('Website will be available soon', 'maintenance'),
263
  'logo' => '',
264
- 'body_bg' => '',
265
- 'body_bg_color' => '#333333',
266
  'font_color' => '#ffffff',
 
267
  'is_blur' => false,
268
  'blur_intensity' => 5,
269
  'admin_bar_enabled' => true,
270
  '503_enabled' => true,
271
  'gg_analytics_id' => '',
272
- 'is_login' => true
273
-
274
  );
275
  }
1
  <?php
2
+ global $standart_fonts;
3
+ $standart_fonts = array(
4
+ "Arial, Helvetica, sans-serif" => "Arial, Helvetica, sans-serif",
5
+ "Arial Black, Gadget, sans-serif" => "Arial Black, Gadget, sans-serif",
6
+ "Bookman Old Style, serif" => "Bookman Old Style, serif",
7
+ "Comic Sans MS, cursive" => "Comic Sans MS, cursive",
8
+ "Courier, monospace" => "Courier, monospace",
9
+ "Garamond, serif" => "Garamond, serif",
10
+ "Georgia, serif" => "Georgia, serif",
11
+ "Impact, Charcoal, sans-serif" => "Impact, Charcoal, sans-serif",
12
+ "Lucida Console, Monaco, monospace" => "Lucida Console, Monaco, monospace",
13
+ "Lucida Sans Unicode, Lucida Grande, sans-serif" => "Lucida Sans Unicode, Lucida Grande, sans-serif",
14
+ "MS Sans Serif, Geneva, sans-serif" => "MS Sans Serif, Geneva, sans-serif",
15
+ "MS Serif, New York, sans-serif" => "MS Serif, New York, sans-serif",
16
+ "Palatino Linotype, Book Antiqua, Palatino, serif" => "Palatino Linotype, Book Antiqua, Palatino, serif",
17
+ "Tahoma,Geneva, sans-serif" => "Tahoma, Geneva, sans-serif",
18
+ "Times New Roman, Times,serif" => "Times New Roman, Times, serif",
19
+ "Trebuchet MS, Helvetica, sans-serif" => "Trebuchet MS, Helvetica, sans-serif",
20
+ "Verdana, Geneva, sans-serif" => "Verdana, Geneva, sans-serif",
21
+ );
22
+
23
 
24
  function mt_get_plugin_options($is_current = false) {
25
  $saved = (array) get_option('maintenance_options');
119
  $out_filed .= '</tr>';
120
  echo $out_filed;
121
  }
122
+
123
+ function mt_get_google_font($font = null) {
124
+ $font_params = $full_link = $gg_fonts = '';
125
+
126
+ if (file_exists(MAINTENANCE_INCLUDES .'fonts/googlefonts.json')) {
127
+ $gg_fonts = json_decode(file_get_contents(MAINTENANCE_INCLUDES .'fonts/googlefonts.json'));
128
+ }
129
+
130
+ if (property_exists ($gg_fonts, $font)) {
131
+ $curr_font = $gg_fonts->{$font};
132
+ if (!empty($curr_font)) {
133
+ $name_font = str_replace(' ','+',$font);
134
+ foreach ($curr_font->variants as $values) {
135
+ $font_params .= $values->id . ',';
136
+ }
137
+
138
+ $font_params = trim($font_params, ",");
139
+ $full_link = $name_font . ':' . $font_params;
140
+ $full_link = 'http'. ( is_ssl() ? 's' : '' ) .'://fonts.googleapis.com/css?family=' . $full_link;
141
+ }
142
+ }
143
+
144
+ return $full_link;
145
+ }
146
+
147
+ function get_fonts_field($title, $id, $name, $value) {
148
+ global $standart_fonts;
149
+ $out_items = $gg_fonts = '';
150
+
151
+ if (file_exists(MAINTENANCE_INCLUDES .'fonts/googlefonts.json')) {
152
+ $gg_fonts = json_decode(file_get_contents(MAINTENANCE_INCLUDES .'fonts/googlefonts.json'));
153
+ }
154
+
155
+ $out_filed = '';
156
+ $out_filed .= '<tr valign="top">';
157
+ $out_filed .= '<th scope="row">'. esc_attr($title) .'</th>';
158
+ $out_filed .= '<td>';
159
+ $out_filed .= '<filedset>';
160
+ if(!empty($standart_fonts)) {
161
+ $out_items .= '<optgroup label="' . __('Standard Fonts', 'anaglyph-framework') . '">';
162
+ foreach ($standart_fonts as $key => $options) {
163
+ $out_items .= '<option value="'.$key.'" '. selected( $value, $key, false ) .'>'.$options.'</option>';
164
+ }
165
+ }
166
+
167
+ if (!empty($gg_fonts)) {
168
+ $out_items .= '<optgroup label="' . __('Google Web Fonts', 'anaglyph-framework') . '">';
169
+ foreach ($gg_fonts as $key => $options) {
170
+ $out_items .= '<option value="'.$key .'" '. selected( $value, $key, false ) .'>'.$key.'</option>';
171
+ }
172
+ }
173
+
174
+ if (!empty($out_items)) {
175
+ $out_filed .= '<select class="select2_customize" name="lib_options['.$name.']" id="'.esc_attr($id).'">';
176
+ $out_filed .= $out_items;
177
+ $out_filed .= '</select>';
178
+ }
179
+ $out_filed .= '<filedset>';
180
+ $out_filed .= '</td>';
181
+ $out_filed .= '</tr>';
182
+ return $out_filed;
183
+ }
184
+
185
  function maintenance_page_create_meta_boxes() {
186
  global $maintenance_variable;
187
+ add_meta_box( 'maintenance-general', __( 'General Settings', 'maintenance' ), 'add_data_fields', $maintenance_variable->options_page, 'normal', 'default');
188
+ add_meta_box( 'maintenance-css', __( 'Custom CSS', 'maintenance' ), 'add_css_fields', $maintenance_variable->options_page, 'normal', 'default');
189
  }
190
  add_action('add_meta_boxes', 'maintenance_page_create_meta_boxes', 10);
191
 
203
 
204
  function add_data_fields ($object, $box) {
205
  $mt_option = mt_get_plugin_options(true);
206
+ $is_blur = false;
207
+ ?>
208
+ <table class="form-table">
209
+ <tbody>
210
+ <?php
211
  generate_input_filed(__('Page title', 'maintenance'), 'page_title', 'page_title', wp_kses_post($mt_option['page_title']));
212
  generate_input_filed(__('Headline', 'maintenance'), 'heading', 'heading', wp_kses_post($mt_option['heading']));
213
  generate_textarea_filed(__('Description', 'maintenance'), 'description', 'description', wp_kses_post($mt_option['description']));
214
  generate_image_filed(__('Logo', 'maintenance'), 'logo', 'logo', intval($mt_option['logo']), 'boxes box-logo', __('Upload Logo', 'maintenance'), 'upload_logo upload_btn button');
215
  do_action('maintenance_background_field');
216
  do_action('maintenance_color_fields');
217
+ do_action('maintenance_font_fields');
218
  generate_check_filed(__('Admin bar', 'maintenance'), __('Show admin bar', 'maintenance'), 'admin_bar_enabled', 'admin_bar_enabled', isset($mt_option['admin_bar_enabled']));
219
  generate_check_filed(__('503', 'maintenance'), __('Service temporarily unavailable', 'maintenance'), '503_enabled', '503_enabled', isset($mt_option['503_enabled']));
220
 
222
  if (!empty($mt_option['gg_analytics_id'])) {
223
  $gg_analytics_id = esc_attr($mt_option['gg_analytics_id']);
224
  }
225
+
226
  generate_input_filed(__('Google Analytics ID', 'maintenance'), 'gg_analytics_id', 'gg_analytics_id', $gg_analytics_id, __('UA-XXXXX-X', 'maintenance'));
227
  generate_input_filed(__('Blur intensity', 'maintenance'), 'blur_intensity', 'blur_intensity', intval($mt_option['blur_intensity']));
228
+
229
+ if (isset($mt_option['is_blur'])) {
230
+ if ($mt_option['is_blur']) $is_blur = true;
231
+ }
232
+
233
+ generate_check_filed(__('Background blur', 'maintenance'), __('Apply a blur', 'maintenance'), 'is_blur', 'is_blur', $is_blur);
234
  generate_check_filed(__('Login On / Off', 'maintenance'), '', 'is_login', 'is_login', isset($mt_option['is_login']));
235
+ ?>
236
+ </tbody>
237
+ </table>
238
+ <?php
239
  }
240
 
241
+
242
+ function add_css_fields() {
243
+ $mt_option = mt_get_plugin_options(true);
244
+ echo '<table class="form-table">';
245
+ echo '<tbody>';
246
+ generate_textarea_filed(__('CSS Code', 'maintenance'), 'custom_css', 'custom_css', wp_kses_stripslashes($mt_option['custom_css']));
247
+ echo '</tbody>';
248
+ echo '</table>';
249
+ }
250
+
251
  function get_background_fileds_action() {
252
  $mt_option = mt_get_plugin_options(true);
253
  generate_image_filed(__('Background image', 'maintenance'), 'body_bg', 'body_bg', esc_attr($mt_option['body_bg']), 'boxes box-bg', __('Upload Background', 'maintenance'), 'upload_background upload_btn button');
256
 
257
  function get_color_fileds_action() {
258
  $mt_option = mt_get_plugin_options(true);
259
+ get_color_field(__('Background color', 'maintenance'), 'body_bg_color', 'body_bg_color', esc_attr($mt_option['body_bg_color']), '#1111111');
260
  get_color_field(__('Font color', 'maintenance'), 'font_color', 'font_color', esc_attr($mt_option['font_color']), '#ffffff');
261
  }
262
  add_action ('maintenance_color_fields', 'get_color_fileds_action', 10);
263
 
264
 
265
+ function get_font_fileds_action() {
266
+ $mt_option = mt_get_plugin_options(true);
267
+ echo get_fonts_field(__('Font family', 'maintenance'), 'body_font_family', 'body_font_family', esc_attr($mt_option['body_font_family']));
268
+ }
269
+ add_action ('maintenance_font_fields', 'get_font_fileds_action', 10);
270
+
271
+
272
  function maintenanace_contact_support() {
273
  $promo_text = '';
274
  $promo_text .= '<div class="sidebar-promo" id="sidebar-promo">';
295
  $promo_text .= '</div>';
296
  echo $promo_text;
297
  }
298
+
299
  function load_maintenance_page() {
300
  global $mt_options;
301
+ $vCurrDate_start = $vCurrDate_end = $vCurrTime = '';
302
  $mt_options = mt_get_plugin_options(true);
303
  if (!is_user_logged_in()) {
304
  if ($mt_options['state']) {
305
+ if (!empty($mt_options['expiry_date_start']) && !empty($mt_options['expiry_date_end'])) {
306
+ $vCurrTime = strtotime(current_time('mysql', 1));
307
+ $vCurrDate_start = strtotime($mt_options['expiry_date_start']);
308
+ $vCurrDate_end = strtotime($mt_options['expiry_date_end']);
 
 
309
 
310
+ if ($vCurrTime < $vCurrDate_start) return true;
311
+ if ($vCurrTime >= $vCurrDate_end) {
312
+ if (!empty($mt_options['is_down'])) return true;
313
  }
314
+
315
  }
316
 
317
  if ( file_exists (MAINTENANCE_LOAD . 'index.php')) {
367
  $rgb = array($r, $g, $b);
368
  return implode(",", $rgb);
369
  }
370
+
371
+
372
+ function mt_insert_attach_sample_files() {
373
+ global $wpdb;
374
+ $title = '';
375
+ $attach_id = 0;
376
+ $is_attach_exists = $wpdb->get_results( "SELECT p.ID FROM $wpdb->posts p WHERE p.post_title LIKE '%mt-sample-background%'", OBJECT );
377
+ if (!empty($is_attach_exists)) {
378
+ $attach_id = current($is_attach_exists)->ID;
379
+ } else {
380
+ require_once(ABSPATH . 'wp-admin/includes/image.php');
381
+ $upload_dir = wp_upload_dir();
382
+ $image_url = MAINTENANCE_URI . 'images/mt-sample-background.jpg';
383
+ $file_name = basename( $image_url );
384
+ $upload = wp_upload_bits( $file_name, null, file_get_contents($image_url), current_time( 'mysql', $gmt = 0 ));
385
+
386
+ if ($upload['error'] == '') {
387
+ $title = preg_replace('/\.[^.]+$/', '', basename($image_url));
388
+
389
+ $wp_filetype = wp_check_filetype(basename($upload['file']), null );
390
+ $attachment = array(
391
+ 'guid' => $upload['url'],
392
+ 'post_mime_type' => $wp_filetype['type'],
393
+ 'post_title' => $title,
394
+ 'post_content' => '',
395
+ 'post_status' => 'inherit'
396
+ );
397
+
398
+ $attach_id = wp_insert_attachment($attachment, $upload['file']);
399
+ $attach_data = wp_generate_attachment_metadata($attach_id, $upload['file']);
400
+ wp_update_attachment_metadata($attach_id, $attach_data);
401
+
402
+ }
403
+ }
404
+
405
+ if (!empty($attach_id)) {
406
+ return $attach_id;
407
+ } else {
408
+ return '';
409
+ }
410
+ }
411
+
412
 
413
  function mt_get_default_array() {
414
  return array(
417
  'heading' => __('Maintenance mode is on', 'maintenance'),
418
  'description' => __('Website will be available soon', 'maintenance'),
419
  'logo' => '',
420
+ 'body_bg' => mt_insert_attach_sample_files(),
421
+ 'body_bg_color' => '#111111',
422
  'font_color' => '#ffffff',
423
+ 'body_font_family' => 'Open Sans',
424
  'is_blur' => false,
425
  'blur_intensity' => 5,
426
  'admin_bar_enabled' => true,
427
  '503_enabled' => true,
428
  'gg_analytics_id' => '',
429
+ 'is_login' => true,
430
+ 'custom_css' => ''
431
  );
432
  }
js/init.js CHANGED
@@ -31,16 +31,20 @@ jQuery(window).ready(function(){
31
  };
32
 
33
  jQuery('#state').tzCheckbox({labels:['On','Off']});
34
- var vColorPickerOptions = {
35
- defaultColor: false,
36
- change: function(event, ui){},
37
- clear: function() {},
38
- hide: true,
39
- palettes: true
40
- };
41
-
42
  jQuery('#body_bg_color, #font_color, #body_bg_blur_color').wpColorPicker(vColorPickerOptions);
43
 
 
 
 
 
44
 
45
  if (jQuery('#503_enabled').length > 0) {
46
  if (jQuery('#503_enabled').prop("checked")) {
31
  };
32
 
33
  jQuery('#state').tzCheckbox({labels:['On','Off']});
34
+ var vColorPickerOptions = {
35
+ defaultColor: false,
36
+ change: function(event, ui){},
37
+ clear: function() {},
38
+ hide: true,
39
+ palettes: true
40
+ };
41
+
42
  jQuery('#body_bg_color, #font_color, #body_bg_blur_color').wpColorPicker(vColorPickerOptions);
43
 
44
+ if (jQuery('.select2_customize').length > 0) {
45
+ jQuery('.select2_customize').select2({});
46
+ }
47
+
48
 
49
  if (jQuery('#503_enabled').length > 0) {
50
  if (jQuery('#503_enabled').prop("checked")) {
js/init.min.js CHANGED
@@ -1 +1,3 @@
1
- jQuery(window).ready(function(){jQuery.fn.tzCheckbox=function(e){e=jQuery.extend({labels:["ON","OFF"]},e);return this.each(function(){var t=jQuery(this),n=[];if(t.data("on")){n[0]=t.data("on");n[1]=t.data("off")}else n=e.labels;var r=jQuery("<span>");r.addClass(this.checked?" tzCheckBox checked":"tzCheckBox");r.prepend('<span class="tzCBContent">'+n[this.checked?0:1]+'</span><span class="tzCBPart"></span>');r.insertAfter(t.hide());r.click(function(){r.toggleClass("checked");var e=r.hasClass("checked");t.attr("checked",e);r.find(".tzCBContent").html(n[e?0:1])});t.bind("change",function(){r.click()})})};jQuery("#state").tzCheckbox({labels:["On","Off"]});var e={defaultColor:false,change:function(e,t){},clear:function(){},hide:true,palettes:true};jQuery("#body_bg_color, #font_color, #body_bg_blur_color").wpColorPicker(e);if(jQuery("#503_enabled").length>0){if(jQuery("#503_enabled").prop("checked")){jQuery("#gg_analytics_id").prop("disabled",true)}else{jQuery("#gg_analytics_id").prop("disabled",false)}}jQuery("#503_enabled").on("change",function(){if(jQuery(this).prop("checked")){jQuery("#gg_analytics_id").prop("disabled",true)}else{jQuery("#gg_analytics_id").prop("disabled",false)}})})
 
 
1
+ jQuery(window).ready(function(){jQuery.fn.tzCheckbox=function(options){options=jQuery.extend({labels:["ON","OFF"]},options);return this.each(function(){var originalCheckBox=jQuery(this),labels=[];if(originalCheckBox.data("on")){labels[0]=originalCheckBox.data("on");labels[1]=originalCheckBox.data("off")}else labels=options.labels;var checkBox=jQuery("<span>");checkBox.addClass(this.checked?" tzCheckBox checked":"tzCheckBox");checkBox.prepend('<span class="tzCBContent">'+labels[this.checked?0:1]+'</span><span class="tzCBPart"></span>');
2
+ checkBox.insertAfter(originalCheckBox.hide());checkBox.click(function(){checkBox.toggleClass("checked");var isChecked=checkBox.hasClass("checked");originalCheckBox.attr("checked",isChecked);checkBox.find(".tzCBContent").html(labels[isChecked?0:1])});originalCheckBox.bind("change",function(){checkBox.click()})})};jQuery("#state").tzCheckbox({labels:["On","Off"]});var vColorPickerOptions={defaultColor:false,change:function(event,ui){},clear:function(){},hide:true,palettes:true};jQuery("#body_bg_color, #font_color, #body_bg_blur_color").wpColorPicker(vColorPickerOptions);
3
+ if(jQuery(".select2_customize").length>0)jQuery(".select2_customize").select2({});if(jQuery("#503_enabled").length>0)if(jQuery("#503_enabled").prop("checked"))jQuery("#gg_analytics_id").prop("disabled",true);else jQuery("#gg_analytics_id").prop("disabled",false);jQuery("#503_enabled").on("change",function(){if(jQuery(this).prop("checked"))jQuery("#gg_analytics_id").prop("disabled",true);else jQuery("#gg_analytics_id").prop("disabled",false)})});
js/select2/select2-bootstrap.css ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .form-control .select2-choice {
2
+ border: 0;
3
+ border-radius: 2px;
4
+ }
5
+
6
+ .form-control .select2-choice .select2-arrow {
7
+ border-radius: 0 2px 2px 0;
8
+ }
9
+
10
+ .form-control.select2-container {
11
+ height: auto !important;
12
+ padding: 0;
13
+ }
14
+
15
+ .form-control.select2-container.select2-dropdown-open {
16
+ border-color: #5897FB;
17
+ border-radius: 3px 3px 0 0;
18
+ }
19
+
20
+ .form-control .select2-container.select2-dropdown-open .select2-choices {
21
+ border-radius: 3px 3px 0 0;
22
+ }
23
+
24
+ .form-control.select2-container .select2-choices {
25
+ border: 0 !important;
26
+ border-radius: 3px;
27
+ }
28
+
29
+ .control-group.warning .select2-container .select2-choice,
30
+ .control-group.warning .select2-container .select2-choices,
31
+ .control-group.warning .select2-container-active .select2-choice,
32
+ .control-group.warning .select2-container-active .select2-choices,
33
+ .control-group.warning .select2-dropdown-open.select2-drop-above .select2-choice,
34
+ .control-group.warning .select2-dropdown-open.select2-drop-above .select2-choices,
35
+ .control-group.warning .select2-container-multi.select2-container-active .select2-choices {
36
+ border: 1px solid #C09853 !important;
37
+ }
38
+
39
+ .control-group.warning .select2-container .select2-choice div {
40
+ border-left: 1px solid #C09853 !important;
41
+ background: #FCF8E3 !important;
42
+ }
43
+
44
+ .control-group.error .select2-container .select2-choice,
45
+ .control-group.error .select2-container .select2-choices,
46
+ .control-group.error .select2-container-active .select2-choice,
47
+ .control-group.error .select2-container-active .select2-choices,
48
+ .control-group.error .select2-dropdown-open.select2-drop-above .select2-choice,
49
+ .control-group.error .select2-dropdown-open.select2-drop-above .select2-choices,
50
+ .control-group.error .select2-container-multi.select2-container-active .select2-choices {
51
+ border: 1px solid #B94A48 !important;
52
+ }
53
+
54
+ .control-group.error .select2-container .select2-choice div {
55
+ border-left: 1px solid #B94A48 !important;
56
+ background: #F2DEDE !important;
57
+ }
58
+
59
+ .control-group.info .select2-container .select2-choice,
60
+ .control-group.info .select2-container .select2-choices,
61
+ .control-group.info .select2-container-active .select2-choice,
62
+ .control-group.info .select2-container-active .select2-choices,
63
+ .control-group.info .select2-dropdown-open.select2-drop-above .select2-choice,
64
+ .control-group.info .select2-dropdown-open.select2-drop-above .select2-choices,
65
+ .control-group.info .select2-container-multi.select2-container-active .select2-choices {
66
+ border: 1px solid #3A87AD !important;
67
+ }
68
+
69
+ .control-group.info .select2-container .select2-choice div {
70
+ border-left: 1px solid #3A87AD !important;
71
+ background: #D9EDF7 !important;
72
+ }
73
+
74
+ .control-group.success .select2-container .select2-choice,
75
+ .control-group.success .select2-container .select2-choices,
76
+ .control-group.success .select2-container-active .select2-choice,
77
+ .control-group.success .select2-container-active .select2-choices,
78
+ .control-group.success .select2-dropdown-open.select2-drop-above .select2-choice,
79
+ .control-group.success .select2-dropdown-open.select2-drop-above .select2-choices,
80
+ .control-group.success .select2-container-multi.select2-container-active .select2-choices {
81
+ border: 1px solid #468847 !important;
82
+ }
83
+
84
+ .control-group.success .select2-container .select2-choice div {
85
+ border-left: 1px solid #468847 !important;
86
+ background: #DFF0D8 !important;
87
+ }
js/select2/select2-spinner.gif ADDED
Binary file
js/select2/select2.css ADDED
@@ -0,0 +1,647 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Version: 3.4.6 Timestamp: Sat Mar 22 22:30:15 EDT 2014
3
+ */
4
+ .select2-container {
5
+ margin: 0;
6
+ position: relative;
7
+ display: inline-block;
8
+ /* inline-block for ie7 */
9
+ zoom: 1;
10
+ *display: inline;
11
+ vertical-align: middle;
12
+ min-width:50%;
13
+ }
14
+
15
+ .select2-container,
16
+ .select2-drop,
17
+ .select2-search,
18
+ .select2-search input {
19
+ /*
20
+ Force border-box so that % widths fit the parent
21
+ container without overlap because of margin/padding.
22
+ More Info : http://www.quirksmode.org/css/box.html
23
+ */
24
+ -webkit-box-sizing: border-box; /* webkit */
25
+ -moz-box-sizing: border-box; /* firefox */
26
+ box-sizing: border-box; /* css3 */
27
+ }
28
+
29
+ .select2-container .select2-choice {
30
+ display: block;
31
+ height: 26px;
32
+ padding: 0 0 0 8px;
33
+ overflow: hidden;
34
+ position: relative;
35
+
36
+ border: 1px solid #aaa;
37
+ white-space: nowrap;
38
+ line-height: 26px;
39
+ color: #444;
40
+ text-decoration: none;
41
+
42
+ border-radius: 4px;
43
+
44
+ background-clip: padding-box;
45
+
46
+ -webkit-touch-callout: none;
47
+ -webkit-user-select: none;
48
+ -moz-user-select: none;
49
+ -ms-user-select: none;
50
+ user-select: none;
51
+
52
+ background-color: #fff;
53
+ background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.5, #fff));
54
+ background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 50%);
55
+ background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 50%);
56
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#eeeeee', GradientType = 0);
57
+ background-image: linear-gradient(to top, #eee 0%, #fff 50%);
58
+ }
59
+
60
+ .select2-container.select2-drop-above .select2-choice {
61
+ border-bottom-color: #aaa;
62
+
63
+ border-radius: 0 0 4px 4px;
64
+
65
+ background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eee), color-stop(0.9, #fff));
66
+ background-image: -webkit-linear-gradient(center bottom, #eee 0%, #fff 90%);
67
+ background-image: -moz-linear-gradient(center bottom, #eee 0%, #fff 90%);
68
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eeeeee', GradientType=0);
69
+ background-image: linear-gradient(to bottom, #eee 0%, #fff 90%);
70
+ }
71
+
72
+ .select2-container.select2-allowclear .select2-choice .select2-chosen {
73
+ margin-right: 42px;
74
+ }
75
+
76
+ .select2-container .select2-choice > .select2-chosen {
77
+ margin-right: 26px;
78
+ display: block;
79
+ overflow: hidden;
80
+
81
+ white-space: nowrap;
82
+
83
+ text-overflow: ellipsis;
84
+ float: none;
85
+ width: auto;
86
+ }
87
+
88
+ .select2-container .select2-choice abbr {
89
+ display: none;
90
+ width: 12px;
91
+ height: 12px;
92
+ position: absolute;
93
+ right: 24px;
94
+ top: 8px;
95
+
96
+ font-size: 1px;
97
+ text-decoration: none;
98
+
99
+ border: 0;
100
+ background: url('select2.png') right top no-repeat;
101
+ cursor: pointer;
102
+ outline: 0;
103
+ }
104
+
105
+ .select2-container.select2-allowclear .select2-choice abbr {
106
+ display: inline-block;
107
+ }
108
+
109
+ .select2-container .select2-choice abbr:hover {
110
+ background-position: right -11px;
111
+ cursor: pointer;
112
+ }
113
+
114
+ .select2-drop-mask {
115
+ border: 0;
116
+ margin: 0;
117
+ padding: 0;
118
+ position: fixed;
119
+ left: 0;
120
+ top: 0;
121
+ min-height: 100%;
122
+ min-width: 100%;
123
+ height: auto;
124
+ width: auto;
125
+ opacity: 0;
126
+ z-index: 9998;
127
+ /* styles required for IE to work */
128
+ background-color: #fff;
129
+ filter: alpha(opacity=0);
130
+ }
131
+
132
+ .select2-drop {
133
+ width: 100%;
134
+ margin-top: -1px;
135
+ position: absolute;
136
+ z-index: 9999;
137
+ top: 100%;
138
+
139
+ background: #fff;
140
+ color: #000;
141
+ border: 1px solid #aaa;
142
+ border-top: 0;
143
+
144
+ border-radius: 0 0 4px 4px;
145
+
146
+ -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
147
+ box-shadow: 0 4px 5px rgba(0, 0, 0, .15);
148
+ }
149
+
150
+ .select2-drop.select2-drop-above {
151
+ margin-top: 1px;
152
+ border-top: 1px solid #aaa;
153
+ border-bottom: 0;
154
+
155
+ border-radius: 4px 4px 0 0;
156
+
157
+ -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
158
+ box-shadow: 0 -4px 5px rgba(0, 0, 0, .15);
159
+ }
160
+
161
+ .select2-drop-active {
162
+ border: 1px solid #5897fb;
163
+ border-top: none;
164
+ }
165
+
166
+ .select2-drop.select2-drop-above.select2-drop-active {
167
+ border-top: 1px solid #5897fb;
168
+ }
169
+
170
+ .select2-drop-auto-width {
171
+ border-top: 1px solid #aaa;
172
+ width: auto;
173
+ }
174
+
175
+ .select2-drop-auto-width .select2-search {
176
+ padding-top: 4px;
177
+ }
178
+
179
+ .select2-container .select2-choice .select2-arrow {
180
+ display: inline-block;
181
+ width: 18px;
182
+ height: 100%;
183
+ position: absolute;
184
+ right: 0;
185
+ top: 0;
186
+
187
+ border-left: 1px solid #aaa;
188
+ border-radius: 0 4px 4px 0;
189
+
190
+ background-clip: padding-box;
191
+
192
+ background: #ccc;
193
+ background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));
194
+ background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);
195
+ background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
196
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#eeeeee', endColorstr = '#cccccc', GradientType = 0);
197
+ background-image: linear-gradient(to top, #ccc 0%, #eee 60%);
198
+ }
199
+
200
+ .select2-container .select2-choice .select2-arrow b {
201
+ display: block;
202
+ width: 100%;
203
+ height: 100%;
204
+ background: url('select2.png') no-repeat 0 1px;
205
+ }
206
+
207
+ .select2-search {
208
+ display: inline-block;
209
+ width: 100%;
210
+ min-height: 26px;
211
+ margin: 0;
212
+ padding-left: 4px;
213
+ padding-right: 4px;
214
+
215
+ position: relative;
216
+ z-index: 10000;
217
+
218
+ white-space: nowrap;
219
+ }
220
+
221
+ .select2-search input {
222
+ width: 100%;
223
+ height: auto !important;
224
+ min-height: 26px;
225
+ padding: 4px 20px 4px 5px;
226
+ margin: 0;
227
+
228
+ outline: 0;
229
+ font-family: sans-serif;
230
+ font-size: 1em;
231
+
232
+ border: 1px solid #aaa;
233
+ border-radius: 0;
234
+
235
+ -webkit-box-shadow: none;
236
+ box-shadow: none;
237
+
238
+ background: #fff url('select2.png') no-repeat 100% -22px;
239
+ background: url('select2.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
240
+ background: url('select2.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
241
+ background: url('select2.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
242
+ background: url('select2.png') no-repeat 100% -22px, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
243
+ }
244
+
245
+ .select2-drop.select2-drop-above .select2-search input {
246
+ margin-top: 4px;
247
+ }
248
+
249
+ .select2-search input.select2-active {
250
+ background: #fff url('select2-spinner.gif') no-repeat 100%;
251
+ background: url('select2-spinner.gif') no-repeat 100%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
252
+ background: url('select2-spinner.gif') no-repeat 100%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
253
+ background: url('select2-spinner.gif') no-repeat 100%, -moz-linear-gradient(center bottom, #fff 85%, #eee 99%);
254
+ background: url('select2-spinner.gif') no-repeat 100%, linear-gradient(to bottom, #fff 85%, #eee 99%) 0 0;
255
+ }
256
+
257
+ .select2-container-active .select2-choice,
258
+ .select2-container-active .select2-choices {
259
+ border: 1px solid #5897fb;
260
+ outline: none;
261
+
262
+ -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
263
+ box-shadow: 0 0 5px rgba(0, 0, 0, .3);
264
+ }
265
+
266
+ .select2-dropdown-open .select2-choice {
267
+ border-bottom-color: transparent;
268
+ -webkit-box-shadow: 0 1px 0 #fff inset;
269
+ box-shadow: 0 1px 0 #fff inset;
270
+
271
+ border-bottom-left-radius: 0;
272
+ border-bottom-right-radius: 0;
273
+
274
+ background-color: #eee;
275
+ background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.5, #eee));
276
+ background-image: -webkit-linear-gradient(center bottom, #fff 0%, #eee 50%);
277
+ background-image: -moz-linear-gradient(center bottom, #fff 0%, #eee 50%);
278
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
279
+ background-image: linear-gradient(to top, #fff 0%, #eee 50%);
280
+ }
281
+
282
+ .select2-dropdown-open.select2-drop-above .select2-choice,
283
+ .select2-dropdown-open.select2-drop-above .select2-choices {
284
+ border: 1px solid #5897fb;
285
+ border-top-color: transparent;
286
+
287
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(0.5, #eee));
288
+ background-image: -webkit-linear-gradient(center top, #fff 0%, #eee 50%);
289
+ background-image: -moz-linear-gradient(center top, #fff 0%, #eee 50%);
290
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#ffffff', GradientType=0);
291
+ background-image: linear-gradient(to bottom, #fff 0%, #eee 50%);
292
+ }
293
+
294
+ .select2-dropdown-open .select2-choice .select2-arrow {
295
+ background: transparent;
296
+ border-left: none;
297
+ filter: none;
298
+ }
299
+ .select2-dropdown-open .select2-choice .select2-arrow b {
300
+ background-position: -18px 1px;
301
+ }
302
+
303
+ .select2-hidden-accessible {
304
+ border: 0;
305
+ clip: rect(0 0 0 0);
306
+ height: 1px;
307
+ margin: -1px;
308
+ overflow: hidden;
309
+ padding: 0;
310
+ position: absolute;
311
+ width: 1px;
312
+ }
313
+
314
+ /* results */
315
+ .select2-results {
316
+ max-height: 200px;
317
+ padding: 0 0 0 4px;
318
+ margin: 4px 4px 4px 0;
319
+ position: relative;
320
+ overflow-x: hidden;
321
+ overflow-y: auto;
322
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
323
+ }
324
+
325
+ .select2-results ul.select2-result-sub {
326
+ margin: 0;
327
+ padding-left: 0;
328
+ }
329
+
330
+ .select2-results ul.select2-result-sub > li .select2-result-label { padding-left: 20px }
331
+ .select2-results ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 40px }
332
+ .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 60px }
333
+ .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 80px }
334
+ .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 100px }
335
+ .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 110px }
336
+ .select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label { padding-left: 120px }
337
+
338
+ .select2-results li {
339
+ list-style: none;
340
+ display: list-item;
341
+ background-image: none;
342
+ }
343
+
344
+ .select2-results li.select2-result-with-children > .select2-result-label {
345
+ font-weight: bold;
346
+ }
347
+
348
+ .select2-results .select2-result-label {
349
+ padding: 3px 7px 4px;
350
+ margin: 0;
351
+ cursor: pointer;
352
+
353
+ min-height: 1em;
354
+
355
+ -webkit-touch-callout: none;
356
+ -webkit-user-select: none;
357
+ -moz-user-select: none;
358
+ -ms-user-select: none;
359
+ user-select: none;
360
+ }
361
+
362
+ .select2-results .select2-highlighted {
363
+ background: #3875d7;
364
+ color: #fff;
365
+ }
366
+
367
+ .select2-results li em {
368
+ background: #feffde;
369
+ font-style: normal;
370
+ }
371
+
372
+ .select2-results .select2-highlighted em {
373
+ background: transparent;
374
+ }
375
+
376
+ .select2-results .select2-highlighted ul {
377
+ background: #fff;
378
+ color: #000;
379
+ }
380
+
381
+
382
+ .select2-results .select2-no-results,
383
+ .select2-results .select2-searching,
384
+ .select2-results .select2-selection-limit {
385
+ background: #f4f4f4;
386
+ display: list-item;
387
+ padding-left: 5px;
388
+ }
389
+
390
+ /*
391
+ disabled look for disabled choices in the results dropdown
392
+ */
393
+ .select2-results .select2-disabled.select2-highlighted {
394
+ color: #666;
395
+ background: #f4f4f4;
396
+ display: list-item;
397
+ cursor: default;
398
+ }
399
+ .select2-results .select2-disabled {
400
+ background: #f4f4f4;
401
+ display: list-item;
402
+ cursor: default;
403
+ }
404
+
405
+ .select2-results .select2-selected {
406
+ display: none;
407
+ }
408
+
409
+ .select2-more-results.select2-active {
410
+ background: #f4f4f4 url('select2-spinner.gif') no-repeat 100%;
411
+ }
412
+
413
+ .select2-more-results {
414
+ background: #f4f4f4;
415
+ display: list-item;
416
+ }
417
+
418
+ /* disabled styles */
419
+
420
+ .select2-container.select2-container-disabled .select2-choice {
421
+ background-color: #f4f4f4;
422
+ background-image: none;
423
+ border: 1px solid #ddd;
424
+ cursor: default;
425
+ }
426
+
427
+ .select2-container.select2-container-disabled .select2-choice .select2-arrow {
428
+ background-color: #f4f4f4;
429
+ background-image: none;
430
+ border-left: 0;
431
+ }
432
+
433
+ .select2-container.select2-container-disabled .select2-choice abbr {
434
+ display: none;
435
+ }
436
+
437
+
438
+ /* multiselect */
439
+
440
+ .select2-container-multi .select2-choices {
441
+ height: auto !important;
442
+ height: 1%;
443
+ margin: 0;
444
+ padding: 0;
445
+ position: relative;
446
+
447
+ border: 1px solid #aaa;
448
+ cursor: text;
449
+ overflow: hidden;
450
+
451
+ background-color: #fff;
452
+ background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eee), color-stop(15%, #fff));
453
+ background-image: -webkit-linear-gradient(top, #eee 1%, #fff 15%);
454
+ background-image: -moz-linear-gradient(top, #eee 1%, #fff 15%);
455
+ background-image: linear-gradient(to bottom, #eee 1%, #fff 15%);
456
+ }
457
+
458
+ .select2-locked {
459
+ padding: 3px 5px 3px 5px !important;
460
+ }
461
+
462
+ .select2-container-multi .select2-choices {
463
+ min-height: 26px;
464
+ }
465
+
466
+ .select2-container-multi.select2-container-active .select2-choices {
467
+ border: 1px solid #5897fb;
468
+ outline: none;
469
+
470
+ -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .3);
471
+ box-shadow: 0 0 5px rgba(0, 0, 0, .3);
472
+ }
473
+ .select2-container-multi .select2-choices li {
474
+ float: left;
475
+ list-style: none;
476
+ }
477
+ html[dir="rtl"] .select2-container-multi .select2-choices li
478
+ {
479
+ float: right;
480
+ }
481
+ .select2-container-multi .select2-choices .select2-search-field {
482
+ margin: 0;
483
+ padding: 0;
484
+ white-space: nowrap;
485
+ }
486
+
487
+ .select2-container-multi .select2-choices .select2-search-field input {
488
+ padding: 5px;
489
+ margin: 1px 0;
490
+
491
+ font-family: sans-serif;
492
+ font-size: 100%;
493
+ color: #666;
494
+ outline: 0;
495
+ border: 0;
496
+ -webkit-box-shadow: none;
497
+ box-shadow: none;
498
+ background: transparent !important;
499
+ }
500
+
501
+ .select2-container-multi .select2-choices .select2-search-field input.select2-active {
502
+ background: #fff url('select2-spinner.gif') no-repeat 100% !important;
503
+ }
504
+
505
+ .select2-default {
506
+ color: #999 !important;
507
+ }
508
+
509
+ .select2-container-multi .select2-choices .select2-search-choice {
510
+ padding: 3px 5px 3px 18px;
511
+ margin: 3px 0 3px 5px;
512
+ position: relative;
513
+
514
+ line-height: 13px;
515
+ color: #333;
516
+ cursor: default;
517
+ border: 1px solid #aaaaaa;
518
+
519
+ border-radius: 3px;
520
+
521
+ -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
522
+ box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05);
523
+
524
+ background-clip: padding-box;
525
+
526
+ -webkit-touch-callout: none;
527
+ -webkit-user-select: none;
528
+ -moz-user-select: none;
529
+ -ms-user-select: none;
530
+ user-select: none;
531
+
532
+ background-color: #e4e4e4;
533
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0);
534
+ background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee));
535
+ background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
536
+ background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
537
+ background-image: linear-gradient(to top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
538
+ }
539
+ html[dir="rtl"] .select2-container-multi .select2-choices .select2-search-choice
540
+ {
541
+ margin-left: 0;
542
+ margin-right: 5px;
543
+ }
544
+ .select2-container-multi .select2-choices .select2-search-choice .select2-chosen {
545
+ cursor: default;
546
+ }
547
+ .select2-container-multi .select2-choices .select2-search-choice-focus {
548
+ background: #d4d4d4;
549
+ }
550
+
551
+ .select2-search-choice-close {
552
+ display: block;
553
+ width: 12px;
554
+ height: 13px;
555
+ position: absolute;
556
+ right: 3px;
557
+ top: 4px;
558
+
559
+ font-size: 1px;
560
+ outline: none;
561
+ background: url('select2.png') right top no-repeat;
562
+ }
563
+ html[dir="rtl"] .select2-search-choice-close {
564
+ right: auto;
565
+ left: 3px;
566
+ }
567
+
568
+ .select2-container-multi .select2-search-choice-close {
569
+ left: 3px;
570
+ }
571
+
572
+ .select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover {
573
+ background-position: right -11px;
574
+ }
575
+ .select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close {
576
+ background-position: right -11px;
577
+ }
578
+
579
+ /* disabled styles */
580
+ .select2-container-multi.select2-container-disabled .select2-choices {
581
+ background-color: #f4f4f4;
582
+ background-image: none;
583
+ border: 1px solid #ddd;
584
+ cursor: default;
585
+ }
586
+
587
+ .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
588
+ padding: 3px 5px 3px 5px;
589
+ border: 1px solid #ddd;
590
+ background-image: none;
591
+ background-color: #f4f4f4;
592
+ }
593
+
594
+ .select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close { display: none;
595
+ background: none;
596
+ }
597
+ /* end multiselect */
598
+
599
+
600
+ .select2-result-selectable .select2-match,
601
+ .select2-result-unselectable .select2-match {
602
+ text-decoration: underline;
603
+ }
604
+
605
+ .select2-offscreen, .select2-offscreen:focus {
606
+ clip: rect(0 0 0 0) !important;
607
+ width: 1px !important;
608
+ height: 1px !important;
609
+ border: 0 !important;
610
+ margin: 0 !important;
611
+ padding: 0 !important;
612
+ overflow: hidden !important;
613
+ position: absolute !important;
614
+ outline: 0 !important;
615
+ left: 0px !important;
616
+ top: 0px !important;
617
+ }
618
+
619
+ .select2-display-none {
620
+ display: none;
621
+ }
622
+
623
+ .select2-measure-scrollbar {
624
+ position: absolute;
625
+ top: -10000px;
626
+ left: -10000px;
627
+ width: 100px;
628
+ height: 100px;
629
+ overflow: scroll;
630
+ }
631
+
632
+ /* Retina-ize icons */
633
+
634
+ @media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 2dppx) {
635
+ .select2-search input,
636
+ .select2-search-choice-close,
637
+ .select2-container .select2-choice abbr,
638
+ .select2-container .select2-choice .select2-arrow b {
639
+ background-image: url('select2x2.png') !important;
640
+ background-repeat: no-repeat !important;
641
+ background-size: 60px 40px !important;
642
+ }
643
+
644
+ .select2-search input {
645
+ background-position: 100% -21px !important;
646
+ }
647
+ }
js/select2/select2.js ADDED
@@ -0,0 +1,3397 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Copyright 2012 Igor Vaynberg
3
+
4
+ Version: 3.4.6 Timestamp: Sat Mar 22 22:30:15 EDT 2014
5
+
6
+ This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
7
+ General Public License version 2 (the "GPL License"). You may choose either license to govern your
8
+ use of this software only upon the condition that you accept all of the terms of either the Apache
9
+ License or the GPL License.
10
+
11
+ You may obtain a copy of the Apache License and the GPL License at:
12
+
13
+ http://www.apache.org/licenses/LICENSE-2.0
14
+ http://www.gnu.org/licenses/gpl-2.0.html
15
+
16
+ Unless required by applicable law or agreed to in writing, software distributed under the
17
+ Apache License or the GPL License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
18
+ CONDITIONS OF ANY KIND, either express or implied. See the Apache License and the GPL License for
19
+ the specific language governing permissions and limitations under the Apache License and the GPL License.
20
+ */
21
+ (function ($) {
22
+ if(typeof $.fn.each2 == "undefined") {
23
+ $.extend($.fn, {
24
+ /*
25
+ * 4-10 times faster .each replacement
26
+ * use it carefully, as it overrides jQuery context of element on each iteration
27
+ */
28
+ each2 : function (c) {
29
+ var j = $([0]), i = -1, l = this.length;
30
+ while (
31
+ ++i < l
32
+ && (j.context = j[0] = this[i])
33
+ && c.call(j[0], i, j) !== false //"this"=DOM, i=index, j=jQuery object
34
+ );
35
+ return this;
36
+ }
37
+ });
38
+ }
39
+ })(jQuery);
40
+
41
+ (function ($, undefined) {
42
+ "use strict";
43
+ /*global document, window, jQuery, console */
44
+
45
+ if (window.Select2 !== undefined) {
46
+ return;
47
+ }
48
+
49
+ var KEY, AbstractSelect2, SingleSelect2, MultiSelect2, nextUid, sizer,
50
+ lastMousePosition={x:0,y:0}, $document, scrollBarDimensions,
51
+
52
+ KEY = {
53
+ TAB: 9,
54
+ ENTER: 13,
55
+ ESC: 27,
56
+ SPACE: 32,
57
+ LEFT: 37,
58
+ UP: 38,
59
+ RIGHT: 39,
60
+ DOWN: 40,
61
+ SHIFT: 16,
62
+ CTRL: 17,
63
+ ALT: 18,
64
+ PAGE_UP: 33,
65
+ PAGE_DOWN: 34,
66
+ HOME: 36,
67
+ END: 35,
68
+ BACKSPACE: 8,
69
+ DELETE: 46,
70
+ isArrow: function (k) {
71
+ k = k.which ? k.which : k;
72
+ switch (k) {
73
+ case KEY.LEFT:
74
+ case KEY.RIGHT:
75
+ case KEY.UP:
76
+ case KEY.DOWN:
77
+ return true;
78
+ }
79
+ return false;
80
+ },
81
+ isControl: function (e) {
82
+ var k = e.which;
83
+ switch (k) {
84
+ case KEY.SHIFT:
85
+ case KEY.CTRL:
86
+ case KEY.ALT:
87
+ return true;
88
+ }
89
+
90
+ if (e.metaKey) return true;
91
+
92
+ return false;
93
+ },
94
+ isFunctionKey: function (k) {
95
+ k = k.which ? k.which : k;
96
+ return k >= 112 && k <= 123;
97
+ }
98
+ },
99
+ MEASURE_SCROLLBAR_TEMPLATE = "<div class='select2-measure-scrollbar'></div>",
100
+
101
+ DIACRITICS = {"\u24B6":"A","\uFF21":"A","\u00C0":"A","\u00C1":"A","\u00C2":"A","\u1EA6":"A","\u1EA4":"A","\u1EAA":"A","\u1EA8":"A","\u00C3":"A","\u0100":"A","\u0102":"A","\u1EB0":"A","\u1EAE":"A","\u1EB4":"A","\u1EB2":"A","\u0226":"A","\u01E0":"A","\u00C4":"A","\u01DE":"A","\u1EA2":"A","\u00C5":"A","\u01FA":"A","\u01CD":"A","\u0200":"A","\u0202":"A","\u1EA0":"A","\u1EAC":"A","\u1EB6":"A","\u1E00":"A","\u0104":"A","\u023A":"A","\u2C6F":"A","\uA732":"AA","\u00C6":"AE","\u01FC":"AE","\u01E2":"AE","\uA734":"AO","\uA736":"AU","\uA738":"AV","\uA73A":"AV","\uA73C":"AY","\u24B7":"B","\uFF22":"B","\u1E02":"B","\u1E04":"B","\u1E06":"B","\u0243":"B","\u0182":"B","\u0181":"B","\u24B8":"C","\uFF23":"C","\u0106":"C","\u0108":"C","\u010A":"C","\u010C":"C","\u00C7":"C","\u1E08":"C","\u0187":"C","\u023B":"C","\uA73E":"C","\u24B9":"D","\uFF24":"D","\u1E0A":"D","\u010E":"D","\u1E0C":"D","\u1E10":"D","\u1E12":"D","\u1E0E":"D","\u0110":"D","\u018B":"D","\u018A":"D","\u0189":"D","\uA779":"D","\u01F1":"DZ","\u01C4":"DZ","\u01F2":"Dz","\u01C5":"Dz","\u24BA":"E","\uFF25":"E","\u00C8":"E","\u00C9":"E","\u00CA":"E","\u1EC0":"E","\u1EBE":"E","\u1EC4":"E","\u1EC2":"E","\u1EBC":"E","\u0112":"E","\u1E14":"E","\u1E16":"E","\u0114":"E","\u0116":"E","\u00CB":"E","\u1EBA":"E","\u011A":"E","\u0204":"E","\u0206":"E","\u1EB8":"E","\u1EC6":"E","\u0228":"E","\u1E1C":"E","\u0118":"E","\u1E18":"E","\u1E1A":"E","\u0190":"E","\u018E":"E","\u24BB":"F","\uFF26":"F","\u1E1E":"F","\u0191":"F","\uA77B":"F","\u24BC":"G","\uFF27":"G","\u01F4":"G","\u011C":"G","\u1E20":"G","\u011E":"G","\u0120":"G","\u01E6":"G","\u0122":"G","\u01E4":"G","\u0193":"G","\uA7A0":"G","\uA77D":"G","\uA77E":"G","\u24BD":"H","\uFF28":"H","\u0124":"H","\u1E22":"H","\u1E26":"H","\u021E":"H","\u1E24":"H","\u1E28":"H","\u1E2A":"H","\u0126":"H","\u2C67":"H","\u2C75":"H","\uA78D":"H","\u24BE":"I","\uFF29":"I","\u00CC":"I","\u00CD":"I","\u00CE":"I","\u0128":"I","\u012A":"I","\u012C":"I","\u0130":"I","\u00CF":"I","\u1E2E":"I","\u1EC8":"I","\u01CF":"I","\u0208":"I","\u020A":"I","\u1ECA":"I","\u012E":"I","\u1E2C":"I","\u0197":"I","\u24BF":"J","\uFF2A":"J","\u0134":"J","\u0248":"J","\u24C0":"K","\uFF2B":"K","\u1E30":"K","\u01E8":"K","\u1E32":"K","\u0136":"K","\u1E34":"K","\u0198":"K","\u2C69":"K","\uA740":"K","\uA742":"K","\uA744":"K","\uA7A2":"K","\u24C1":"L","\uFF2C":"L","\u013F":"L","\u0139":"L","\u013D":"L","\u1E36":"L","\u1E38":"L","\u013B":"L","\u1E3C":"L","\u1E3A":"L","\u0141":"L","\u023D":"L","\u2C62":"L","\u2C60":"L","\uA748":"L","\uA746":"L","\uA780":"L","\u01C7":"LJ","\u01C8":"Lj","\u24C2":"M","\uFF2D":"M","\u1E3E":"M","\u1E40":"M","\u1E42":"M","\u2C6E":"M","\u019C":"M","\u24C3":"N","\uFF2E":"N","\u01F8":"N","\u0143":"N","\u00D1":"N","\u1E44":"N","\u0147":"N","\u1E46":"N","\u0145":"N","\u1E4A":"N","\u1E48":"N","\u0220":"N","\u019D":"N","\uA790":"N","\uA7A4":"N","\u01CA":"NJ","\u01CB":"Nj","\u24C4":"O","\uFF2F":"O","\u00D2":"O","\u00D3":"O","\u00D4":"O","\u1ED2":"O","\u1ED0":"O","\u1ED6":"O","\u1ED4":"O","\u00D5":"O","\u1E4C":"O","\u022C":"O","\u1E4E":"O","\u014C":"O","\u1E50":"O","\u1E52":"O","\u014E":"O","\u022E":"O","\u0230":"O","\u00D6":"O","\u022A":"O","\u1ECE":"O","\u0150":"O","\u01D1":"O","\u020C":"O","\u020E":"O","\u01A0":"O","\u1EDC":"O","\u1EDA":"O","\u1EE0":"O","\u1EDE":"O","\u1EE2":"O","\u1ECC":"O","\u1ED8":"O","\u01EA":"O","\u01EC":"O","\u00D8":"O","\u01FE":"O","\u0186":"O","\u019F":"O","\uA74A":"O","\uA74C":"O","\u01A2":"OI","\uA74E":"OO","\u0222":"OU","\u24C5":"P","\uFF30":"P","\u1E54":"P","\u1E56":"P","\u01A4":"P","\u2C63":"P","\uA750":"P","\uA752":"P","\uA754":"P","\u24C6":"Q","\uFF31":"Q","\uA756":"Q","\uA758":"Q","\u024A":"Q","\u24C7":"R","\uFF32":"R","\u0154":"R","\u1E58":"R","\u0158":"R","\u0210":"R","\u0212":"R","\u1E5A":"R","\u1E5C":"R","\u0156":"R","\u1E5E":"R","\u024C":"R","\u2C64":"R","\uA75A":"R","\uA7A6":"R","\uA782":"R","\u24C8":"S","\uFF33":"S","\u1E9E":"S","\u015A":"S","\u1E64":"S","\u015C":"S","\u1E60":"S","\u0160":"S","\u1E66":"S","\u1E62":"S","\u1E68":"S","\u0218":"S","\u015E":"S","\u2C7E":"S","\uA7A8":"S","\uA784":"S","\u24C9":"T","\uFF34":"T","\u1E6A":"T","\u0164":"T","\u1E6C":"T","\u021A":"T","\u0162":"T","\u1E70":"T","\u1E6E":"T","\u0166":"T","\u01AC":"T","\u01AE":"T","\u023E":"T","\uA786":"T","\uA728":"TZ","\u24CA":"U","\uFF35":"U","\u00D9":"U","\u00DA":"U","\u00DB":"U","\u0168":"U","\u1E78":"U","\u016A":"U","\u1E7A":"U","\u016C":"U","\u00DC":"U","\u01DB":"U","\u01D7":"U","\u01D5":"U","\u01D9":"U","\u1EE6":"U","\u016E":"U","\u0170":"U","\u01D3":"U","\u0214":"U","\u0216":"U","\u01AF":"U","\u1EEA":"U","\u1EE8":"U","\u1EEE":"U","\u1EEC":"U","\u1EF0":"U","\u1EE4":"U","\u1E72":"U","\u0172":"U","\u1E76":"U","\u1E74":"U","\u0244":"U","\u24CB":"V","\uFF36":"V","\u1E7C":"V","\u1E7E":"V","\u01B2":"V","\uA75E":"V","\u0245":"V","\uA760":"VY","\u24CC":"W","\uFF37":"W","\u1E80":"W","\u1E82":"W","\u0174":"W","\u1E86":"W","\u1E84":"W","\u1E88":"W","\u2C72":"W","\u24CD":"X","\uFF38":"X","\u1E8A":"X","\u1E8C":"X","\u24CE":"Y","\uFF39":"Y","\u1EF2":"Y","\u00DD":"Y","\u0176":"Y","\u1EF8":"Y","\u0232":"Y","\u1E8E":"Y","\u0178":"Y","\u1EF6":"Y","\u1EF4":"Y","\u01B3":"Y","\u024E":"Y","\u1EFE":"Y","\u24CF":"Z","\uFF3A":"Z","\u0179":"Z","\u1E90":"Z","\u017B":"Z","\u017D":"Z","\u1E92":"Z","\u1E94":"Z","\u01B5":"Z","\u0224":"Z","\u2C7F":"Z","\u2C6B":"Z","\uA762":"Z","\u24D0":"a","\uFF41":"a","\u1E9A":"a","\u00E0":"a","\u00E1":"a","\u00E2":"a","\u1EA7":"a","\u1EA5":"a","\u1EAB":"a","\u1EA9":"a","\u00E3":"a","\u0101":"a","\u0103":"a","\u1EB1":"a","\u1EAF":"a","\u1EB5":"a","\u1EB3":"a","\u0227":"a","\u01E1":"a","\u00E4":"a","\u01DF":"a","\u1EA3":"a","\u00E5":"a","\u01FB":"a","\u01CE":"a","\u0201":"a","\u0203":"a","\u1EA1":"a","\u1EAD":"a","\u1EB7":"a","\u1E01":"a","\u0105":"a","\u2C65":"a","\u0250":"a","\uA733":"aa","\u00E6":"ae","\u01FD":"ae","\u01E3":"ae","\uA735":"ao","\uA737":"au","\uA739":"av","\uA73B":"av","\uA73D":"ay","\u24D1":"b","\uFF42":"b","\u1E03":"b","\u1E05":"b","\u1E07":"b","\u0180":"b","\u0183":"b","\u0253":"b","\u24D2":"c","\uFF43":"c","\u0107":"c","\u0109":"c","\u010B":"c","\u010D":"c","\u00E7":"c","\u1E09":"c","\u0188":"c","\u023C":"c","\uA73F":"c","\u2184":"c","\u24D3":"d","\uFF44":"d","\u1E0B":"d","\u010F":"d","\u1E0D":"d","\u1E11":"d","\u1E13":"d","\u1E0F":"d","\u0111":"d","\u018C":"d","\u0256":"d","\u0257":"d","\uA77A":"d","\u01F3":"dz","\u01C6":"dz","\u24D4":"e","\uFF45":"e","\u00E8":"e","\u00E9":"e","\u00EA":"e","\u1EC1":"e","\u1EBF":"e","\u1EC5":"e","\u1EC3":"e","\u1EBD":"e","\u0113":"e","\u1E15":"e","\u1E17":"e","\u0115":"e","\u0117":"e","\u00EB":"e","\u1EBB":"e","\u011B":"e","\u0205":"e","\u0207":"e","\u1EB9":"e","\u1EC7":"e","\u0229":"e","\u1E1D":"e","\u0119":"e","\u1E19":"e","\u1E1B":"e","\u0247":"e","\u025B":"e","\u01DD":"e","\u24D5":"f","\uFF46":"f","\u1E1F":"f","\u0192":"f","\uA77C":"f","\u24D6":"g","\uFF47":"g","\u01F5":"g","\u011D":"g","\u1E21":"g","\u011F":"g","\u0121":"g","\u01E7":"g","\u0123":"g","\u01E5":"g","\u0260":"g","\uA7A1":"g","\u1D79":"g","\uA77F":"g","\u24D7":"h","\uFF48":"h","\u0125":"h","\u1E23":"h","\u1E27":"h","\u021F":"h","\u1E25":"h","\u1E29":"h","\u1E2B":"h","\u1E96":"h","\u0127":"h","\u2C68":"h","\u2C76":"h","\u0265":"h","\u0195":"hv","\u24D8":"i","\uFF49":"i","\u00EC":"i","\u00ED":"i","\u00EE":"i","\u0129":"i","\u012B":"i","\u012D":"i","\u00EF":"i","\u1E2F":"i","\u1EC9":"i","\u01D0":"i","\u0209":"i","\u020B":"i","\u1ECB":"i","\u012F":"i","\u1E2D":"i","\u0268":"i","\u0131":"i","\u24D9":"j","\uFF4A":"j","\u0135":"j","\u01F0":"j","\u0249":"j","\u24DA":"k","\uFF4B":"k","\u1E31":"k","\u01E9":"k","\u1E33":"k","\u0137":"k","\u1E35":"k","\u0199":"k","\u2C6A":"k","\uA741":"k","\uA743":"k","\uA745":"k","\uA7A3":"k","\u24DB":"l","\uFF4C":"l","\u0140":"l","\u013A":"l","\u013E":"l","\u1E37":"l","\u1E39":"l","\u013C":"l","\u1E3D":"l","\u1E3B":"l","\u017F":"l","\u0142":"l","\u019A":"l","\u026B":"l","\u2C61":"l","\uA749":"l","\uA781":"l","\uA747":"l","\u01C9":"lj","\u24DC":"m","\uFF4D":"m","\u1E3F":"m","\u1E41":"m","\u1E43":"m","\u0271":"m","\u026F":"m","\u24DD":"n","\uFF4E":"n","\u01F9":"n","\u0144":"n","\u00F1":"n","\u1E45":"n","\u0148":"n","\u1E47":"n","\u0146":"n","\u1E4B":"n","\u1E49":"n","\u019E":"n","\u0272":"n","\u0149":"n","\uA791":"n","\uA7A5":"n","\u01CC":"nj","\u24DE":"o","\uFF4F":"o","\u00F2":"o","\u00F3":"o","\u00F4":"o","\u1ED3":"o","\u1ED1":"o","\u1ED7":"o","\u1ED5":"o","\u00F5":"o","\u1E4D":"o","\u022D":"o","\u1E4F":"o","\u014D":"o","\u1E51":"o","\u1E53":"o","\u014F":"o","\u022F":"o","\u0231":"o","\u00F6":"o","\u022B":"o","\u1ECF":"o","\u0151":"o","\u01D2":"o","\u020D":"o","\u020F":"o","\u01A1":"o","\u1EDD":"o","\u1EDB":"o","\u1EE1":"o","\u1EDF":"o","\u1EE3":"o","\u1ECD":"o","\u1ED9":"o","\u01EB":"o","\u01ED":"o","\u00F8":"o","\u01FF":"o","\u0254":"o","\uA74B":"o","\uA74D":"o","\u0275":"o","\u01A3":"oi","\u0223":"ou","\uA74F":"oo","\u24DF":"p","\uFF50":"p","\u1E55":"p","\u1E57":"p","\u01A5":"p","\u1D7D":"p","\uA751":"p","\uA753":"p","\uA755":"p","\u24E0":"q","\uFF51":"q","\u024B":"q","\uA757":"q","\uA759":"q","\u24E1":"r","\uFF52":"r","\u0155":"r","\u1E59":"r","\u0159":"r","\u0211":"r","\u0213":"r","\u1E5B":"r","\u1E5D":"r","\u0157":"r","\u1E5F":"r","\u024D":"r","\u027D":"r","\uA75B":"r","\uA7A7":"r","\uA783":"r","\u24E2":"s","\uFF53":"s","\u00DF":"s","\u015B":"s","\u1E65":"s","\u015D":"s","\u1E61":"s","\u0161":"s","\u1E67":"s","\u1E63":"s","\u1E69":"s","\u0219":"s","\u015F":"s","\u023F":"s","\uA7A9":"s","\uA785":"s","\u1E9B":"s","\u24E3":"t","\uFF54":"t","\u1E6B":"t","\u1E97":"t","\u0165":"t","\u1E6D":"t","\u021B":"t","\u0163":"t","\u1E71":"t","\u1E6F":"t","\u0167":"t","\u01AD":"t","\u0288":"t","\u2C66":"t","\uA787":"t","\uA729":"tz","\u24E4":"u","\uFF55":"u","\u00F9":"u","\u00FA":"u","\u00FB":"u","\u0169":"u","\u1E79":"u","\u016B":"u","\u1E7B":"u","\u016D":"u","\u00FC":"u","\u01DC":"u","\u01D8":"u","\u01D6":"u","\u01DA":"u","\u1EE7":"u","\u016F":"u","\u0171":"u","\u01D4":"u","\u0215":"u","\u0217":"u","\u01B0":"u","\u1EEB":"u","\u1EE9":"u","\u1EEF":"u","\u1EED":"u","\u1EF1":"u","\u1EE5":"u","\u1E73":"u","\u0173":"u","\u1E77":"u","\u1E75":"u","\u0289":"u","\u24E5":"v","\uFF56":"v","\u1E7D":"v","\u1E7F":"v","\u028B":"v","\uA75F":"v","\u028C":"v","\uA761":"vy","\u24E6":"w","\uFF57":"w","\u1E81":"w","\u1E83":"w","\u0175":"w","\u1E87":"w","\u1E85":"w","\u1E98":"w","\u1E89":"w","\u2C73":"w","\u24E7":"x","\uFF58":"x","\u1E8B":"x","\u1E8D":"x","\u24E8":"y","\uFF59":"y","\u1EF3":"y","\u00FD":"y","\u0177":"y","\u1EF9":"y","\u0233":"y","\u1E8F":"y","\u00FF":"y","\u1EF7":"y","\u1E99":"y","\u1EF5":"y","\u01B4":"y","\u024F":"y","\u1EFF":"y","\u24E9":"z","\uFF5A":"z","\u017A":"z","\u1E91":"z","\u017C":"z","\u017E":"z","\u1E93":"z","\u1E95":"z","\u01B6":"z","\u0225":"z","\u0240":"z","\u2C6C":"z","\uA763":"z"};
102
+
103
+ $document = $(document);
104
+
105
+ nextUid=(function() { var counter=1; return function() { return counter++; }; }());
106
+
107
+
108
+ function reinsertElement(element) {
109
+ var placeholder = $(document.createTextNode(''));
110
+
111
+ element.before(placeholder);
112
+ placeholder.before(element);
113
+ placeholder.remove();
114
+ }
115
+
116
+ function stripDiacritics(str) {
117
+ var ret, i, l, c;
118
+
119
+ if (!str || str.length < 1) return str;
120
+
121
+ ret = "";
122
+ for (i = 0, l = str.length; i < l; i++) {
123
+ c = str.charAt(i);
124
+ ret += DIACRITICS[c] || c;
125
+ }
126
+ return ret;
127
+ }
128
+
129
+ function indexOf(value, array) {
130
+ var i = 0, l = array.length;
131
+ for (; i < l; i = i + 1) {
132
+ if (equal(value, array[i])) return i;
133
+ }
134
+ return -1;
135
+ }
136
+
137
+ function measureScrollbar () {
138
+ var $template = $( MEASURE_SCROLLBAR_TEMPLATE );
139
+ $template.appendTo('body');
140
+
141
+ var dim = {
142
+ width: $template.width() - $template[0].clientWidth,
143
+ height: $template.height() - $template[0].clientHeight
144
+ };
145
+ $template.remove();
146
+
147
+ return dim;
148
+ }
149
+
150
+ /**
151
+ * Compares equality of a and b
152
+ * @param a
153
+ * @param b
154
+ */
155
+ function equal(a, b) {
156
+ if (a === b) return true;
157
+ if (a === undefined || b === undefined) return false;
158
+ if (a === null || b === null) return false;
159
+ // Check whether 'a' or 'b' is a string (primitive or object).
160
+ // The concatenation of an empty string (+'') converts its argument to a string's primitive.
161
+ if (a.constructor === String) return a+'' === b+''; // a+'' - in case 'a' is a String object
162
+ if (b.constructor === String) return b+'' === a+''; // b+'' - in case 'b' is a String object
163
+ return false;
164
+ }
165
+
166
+ /**
167
+ * Splits the string into an array of values, trimming each value. An empty array is returned for nulls or empty
168
+ * strings
169
+ * @param string
170
+ * @param separator
171
+ */
172
+ function splitVal(string, separator) {
173
+ var val, i, l;
174
+ if (string === null || string.length < 1) return [];
175
+ val = string.split(separator);
176
+ for (i = 0, l = val.length; i < l; i = i + 1) val[i] = $.trim(val[i]);
177
+ return val;
178
+ }
179
+
180
+ function getSideBorderPadding(element) {
181
+ return element.outerWidth(false) - element.width();
182
+ }
183
+
184
+ function installKeyUpChangeEvent(element) {
185
+ var key="keyup-change-value";
186
+ element.on("keydown", function () {
187
+ if ($.data(element, key) === undefined) {
188
+ $.data(element, key, element.val());
189
+ }
190
+ });
191
+ element.on("keyup", function () {
192
+ var val= $.data(element, key);
193
+ if (val !== undefined && element.val() !== val) {
194
+ $.removeData(element, key);
195
+ element.trigger("keyup-change");
196
+ }
197
+ });
198
+ }
199
+
200
+ $document.on("mousemove", function (e) {
201
+ lastMousePosition.x = e.pageX;
202
+ lastMousePosition.y = e.pageY;
203
+ });
204
+
205
+ /**
206
+ * filters mouse events so an event is fired only if the mouse moved.
207
+ *
208
+ * filters out mouse events that occur when mouse is stationary but
209
+ * the elements under the pointer are scrolled.
210
+ */
211
+ function installFilteredMouseMove(element) {
212
+ element.on("mousemove", function (e) {
213
+ var lastpos = lastMousePosition;
214
+ if (lastpos === undefined || lastpos.x !== e.pageX || lastpos.y !== e.pageY) {
215
+ $(e.target).trigger("mousemove-filtered", e);
216
+ }
217
+ });
218
+ }
219
+
220
+ /**
221
+ * Debounces a function. Returns a function that calls the original fn function only if no invocations have been made
222
+ * within the last quietMillis milliseconds.
223
+ *
224
+ * @param quietMillis number of milliseconds to wait before invoking fn
225
+ * @param fn function to be debounced
226
+ * @param ctx object to be used as this reference within fn
227
+ * @return debounced version of fn
228
+ */
229
+ function debounce(quietMillis, fn, ctx) {
230
+ ctx = ctx || undefined;
231
+ var timeout;
232
+ return function () {
233
+ var args = arguments;
234
+ window.clearTimeout(timeout);
235
+ timeout = window.setTimeout(function() {
236
+ fn.apply(ctx, args);
237
+ }, quietMillis);
238
+ };
239
+ }
240
+
241
+ /**
242
+ * A simple implementation of a thunk
243
+ * @param formula function used to lazily initialize the thunk
244
+ * @return {Function}
245
+ */
246
+ function thunk(formula) {
247
+ var evaluated = false,
248
+ value;
249
+ return function() {
250
+ if (evaluated === false) { value = formula(); evaluated = true; }
251
+ return value;
252
+ };
253
+ };
254
+
255
+ function installDebouncedScroll(threshold, element) {
256
+ var notify = debounce(threshold, function (e) { element.trigger("scroll-debounced", e);});
257
+ element.on("scroll", function (e) {
258
+ if (indexOf(e.target, element.get()) >= 0) notify(e);
259
+ });
260
+ }
261
+
262
+ function focus($el) {
263
+ if ($el[0] === document.activeElement) return;
264
+
265
+ /* set the focus in a 0 timeout - that way the focus is set after the processing
266
+ of the current event has finished - which seems like the only reliable way
267
+ to set focus */
268
+ window.setTimeout(function() {
269
+ var el=$el[0], pos=$el.val().length, range;
270
+
271
+ $el.focus();
272
+
273
+ /* make sure el received focus so we do not error out when trying to manipulate the caret.
274
+ sometimes modals or others listeners may steal it after its set */
275
+ var isVisible = (el.offsetWidth > 0 || el.offsetHeight > 0);
276
+ if (isVisible && el === document.activeElement) {
277
+
278
+ /* after the focus is set move the caret to the end, necessary when we val()
279
+ just before setting focus */
280
+ if(el.setSelectionRange)
281
+ {
282
+ el.setSelectionRange(pos, pos);
283
+ }
284
+ else if (el.createTextRange) {
285
+ range = el.createTextRange();
286
+ range.collapse(false);
287
+ range.select();
288
+ }
289
+ }
290
+ }, 0);
291
+ }
292
+
293
+ function getCursorInfo(el) {
294
+ el = $(el)[0];
295
+ var offset = 0;
296
+ var length = 0;
297
+ if ('selectionStart' in el) {
298
+ offset = el.selectionStart;
299
+ length = el.selectionEnd - offset;
300
+ } else if ('selection' in document) {
301
+ el.focus();
302
+ var sel = document.selection.createRange();
303
+ length = document.selection.createRange().text.length;
304
+ sel.moveStart('character', -el.value.length);
305
+ offset = sel.text.length - length;
306
+ }
307
+ return { offset: offset, length: length };
308
+ }
309
+
310
+ function killEvent(event) {
311
+ event.preventDefault();
312
+ event.stopPropagation();
313
+ }
314
+ function killEventImmediately(event) {
315
+ event.preventDefault();
316
+ event.stopImmediatePropagation();
317
+ }
318
+
319
+ function measureTextWidth(e) {
320
+ if (!sizer){
321
+ var style = e[0].currentStyle || window.getComputedStyle(e[0], null);
322
+ sizer = $(document.createElement("div")).css({
323
+ position: "absolute",
324
+ left: "-10000px",
325
+ top: "-10000px",
326
+ display: "none",
327
+ fontSize: style.fontSize,
328
+ fontFamily: style.fontFamily,
329
+ fontStyle: style.fontStyle,
330
+ fontWeight: style.fontWeight,
331
+ letterSpacing: style.letterSpacing,
332
+ textTransform: style.textTransform,
333
+ whiteSpace: "nowrap"
334
+ });
335
+ sizer.attr("class","select2-sizer");
336
+ $("body").append(sizer);
337
+ }
338
+ sizer.text(e.val());
339
+ return sizer.width();
340
+ }
341
+
342
+ function syncCssClasses(dest, src, adapter) {
343
+ var classes, replacements = [], adapted;
344
+
345
+ classes = dest.attr("class");
346
+ if (classes) {
347
+ classes = '' + classes; // for IE which returns object
348
+ $(classes.split(" ")).each2(function() {
349
+ if (this.indexOf("select2-") === 0) {
350
+ replacements.push(this);
351
+ }
352
+ });
353
+ }
354
+ classes = src.attr("class");
355
+ if (classes) {
356
+ classes = '' + classes; // for IE which returns object
357
+ $(classes.split(" ")).each2(function() {
358
+ if (this.indexOf("select2-") !== 0) {
359
+ adapted = adapter(this);
360
+ if (adapted) {
361
+ replacements.push(adapted);
362
+ }
363
+ }
364
+ });
365
+ }
366
+ dest.attr("class", replacements.join(" "));
367
+ }
368
+
369
+
370
+ function markMatch(text, term, markup, escapeMarkup) {
371
+ var match=stripDiacritics(text.toUpperCase()).indexOf(stripDiacritics(term.toUpperCase())),
372
+ tl=term.length;
373
+
374
+ if (match<0) {
375
+ markup.push(escapeMarkup(text));
376
+ return;
377
+ }
378
+
379
+ markup.push(escapeMarkup(text.substring(0, match)));
380
+ markup.push("<span class='select2-match'>");
381
+ markup.push(escapeMarkup(text.substring(match, match + tl)));
382
+ markup.push("</span>");
383
+ markup.push(escapeMarkup(text.substring(match + tl, text.length)));
384
+ }
385
+
386
+ function defaultEscapeMarkup(markup) {
387
+ var replace_map = {
388
+ '\\': '&#92;',
389
+ '&': '&amp;',
390
+ '<': '&lt;',
391
+ '>': '&gt;',
392
+ '"': '&quot;',
393
+ "'": '&#39;',
394
+ "/": '&#47;'
395
+ };
396
+
397
+ return String(markup).replace(/[&<>"'\/\\]/g, function (match) {
398
+ return replace_map[match];
399
+ });
400
+ }
401
+
402
+ /**
403
+ * Produces an ajax-based query function
404
+ *
405
+ * @param options object containing configuration parameters
406
+ * @param options.params parameter map for the transport ajax call, can contain such options as cache, jsonpCallback, etc. see $.ajax
407
+ * @param options.transport function that will be used to execute the ajax request. must be compatible with parameters supported by $.ajax
408
+ * @param options.url url for the data
409
+ * @param options.data a function(searchTerm, pageNumber, context) that should return an object containing query string parameters for the above url.
410
+ * @param options.dataType request data type: ajax, jsonp, other datatypes supported by jQuery's $.ajax function or the transport function if specified
411
+ * @param options.quietMillis (optional) milliseconds to wait before making the ajaxRequest, helps debounce the ajax function if invoked too often
412
+ * @param options.results a function(remoteData, pageNumber) that converts data returned form the remote request to the format expected by Select2.
413
+ * The expected format is an object containing the following keys:
414
+ * results array of objects that will be used as choices
415
+ * more (optional) boolean indicating whether there are more results available
416
+ * Example: {results:[{id:1, text:'Red'},{id:2, text:'Blue'}], more:true}
417
+ */
418
+ function ajax(options) {
419
+ var timeout, // current scheduled but not yet executed request
420
+ handler = null,
421
+ quietMillis = options.quietMillis || 100,
422
+ ajaxUrl = options.url,
423
+ self = this;
424
+
425
+ return function (query) {
426
+ window.clearTimeout(timeout);
427
+ timeout = window.setTimeout(function () {
428
+ var data = options.data, // ajax data function
429
+ url = ajaxUrl, // ajax url string or function
430
+ transport = options.transport || $.fn.select2.ajaxDefaults.transport,
431
+ // deprecated - to be removed in 4.0 - use params instead
432
+ deprecated = {
433
+ type: options.type || 'GET', // set type of request (GET or POST)
434
+ cache: options.cache || false,
435
+ jsonpCallback: options.jsonpCallback||undefined,
436
+ dataType: options.dataType||"json"
437
+ },
438
+ params = $.extend({}, $.fn.select2.ajaxDefaults.params, deprecated);
439
+
440
+ data = data ? data.call(self, query.term, query.page, query.context) : null;
441
+ url = (typeof url === 'function') ? url.call(self, query.term, query.page, query.context) : url;
442
+
443
+ if (handler && typeof handler.abort === "function") { handler.abort(); }
444
+
445
+ if (options.params) {
446
+ if ($.isFunction(options.params)) {
447
+ $.extend(params, options.params.call(self));
448
+ } else {
449
+ $.extend(params, options.params);
450
+ }
451
+ }
452
+
453
+ $.extend(params, {
454
+ url: url,
455
+ dataType: options.dataType,
456
+ data: data,
457
+ success: function (data) {
458
+ // TODO - replace query.page with query so users have access to term, page, etc.
459
+ var results = options.results(data, query.page);
460
+ query.callback(results);
461
+ }
462
+ });
463
+ handler = transport.call(self, params);
464
+ }, quietMillis);
465
+ };
466
+ }
467
+
468
+ /**
469
+ * Produces a query function that works with a local array
470
+ *
471
+ * @param options object containing configuration parameters. The options parameter can either be an array or an
472
+ * object.
473
+ *
474
+ * If the array form is used it is assumed that it contains objects with 'id' and 'text' keys.
475
+ *
476
+ * If the object form is used ti is assumed that it contains 'data' and 'text' keys. The 'data' key should contain
477
+ * an array of objects that will be used as choices. These objects must contain at least an 'id' key. The 'text'
478
+ * key can either be a String in which case it is expected that each element in the 'data' array has a key with the
479
+ * value of 'text' which will be used to match choices. Alternatively, text can be a function(item) that can extract
480
+ * the text.
481
+ */
482
+ function local(options) {
483
+ var data = options, // data elements
484
+ dataText,
485
+ tmp,
486
+ text = function (item) { return ""+item.text; }; // function used to retrieve the text portion of a data item that is matched against the search
487
+
488
+ if ($.isArray(data)) {
489
+ tmp = data;
490
+ data = { results: tmp };
491
+ }
492
+
493
+ if ($.isFunction(data) === false) {
494
+ tmp = data;
495
+ data = function() { return tmp; };
496
+ }
497
+
498
+ var dataItem = data();
499
+ if (dataItem.text) {
500
+ text = dataItem.text;
501
+ // if text is not a function we assume it to be a key name
502
+ if (!$.isFunction(text)) {
503
+ dataText = dataItem.text; // we need to store this in a separate variable because in the next step data gets reset and data.text is no longer available
504
+ text = function (item) { return item[dataText]; };
505
+ }
506
+ }
507
+
508
+ return function (query) {
509
+ var t = query.term, filtered = { results: [] }, process;
510
+ if (t === "") {
511
+ query.callback(data());
512
+ return;
513
+ }
514
+
515
+ process = function(datum, collection) {
516
+ var group, attr;
517
+ datum = datum[0];
518
+ if (datum.children) {
519
+ group = {};
520
+ for (attr in datum) {
521
+ if (datum.hasOwnProperty(attr)) group[attr]=datum[attr];
522
+ }
523
+ group.children=[];
524
+ $(datum.children).each2(function(i, childDatum) { process(childDatum, group.children); });
525
+ if (group.children.length || query.matcher(t, text(group), datum)) {
526
+ collection.push(group);
527
+ }
528
+ } else {
529
+ if (query.matcher(t, text(datum), datum)) {
530
+ collection.push(datum);
531
+ }
532
+ }
533
+ };
534
+
535
+ $(data().results).each2(function(i, datum) { process(datum, filtered.results); });
536
+ query.callback(filtered);
537
+ };
538
+ }
539
+
540
+ // TODO javadoc
541
+ function tags(data) {
542
+ var isFunc = $.isFunction(data);
543
+ return function (query) {
544
+ var t = query.term, filtered = {results: []};
545
+ $(isFunc ? data() : data).each(function () {
546
+ var isObject = this.text !== undefined,
547
+ text = isObject ? this.text : this;
548
+ if (t === "" || query.matcher(t, text)) {
549
+ filtered.results.push(isObject ? this : {id: this, text: this});
550
+ }
551
+ });
552
+ query.callback(filtered);
553
+ };
554
+ }
555
+
556
+ /**
557
+ * Checks if the formatter function should be used.
558
+ *
559
+ * Throws an error if it is not a function. Returns true if it should be used,
560
+ * false if no formatting should be performed.
561
+ *
562
+ * @param formatter
563
+ */
564
+ function checkFormatter(formatter, formatterName) {
565
+ if ($.isFunction(formatter)) return true;
566
+ if (!formatter) return false;
567
+ if (typeof(formatter) === 'string') return true;
568
+ throw new Error(formatterName +" must be a string, function, or falsy value");
569
+ }
570
+
571
+ function evaluate(val) {
572
+ if ($.isFunction(val)) {
573
+ var args = Array.prototype.slice.call(arguments, 1);
574
+ return val.apply(null, args);
575
+ }
576
+ return val;
577
+ }
578
+
579
+ function countResults(results) {
580
+ var count = 0;
581
+ $.each(results, function(i, item) {
582
+ if (item.children) {
583
+ count += countResults(item.children);
584
+ } else {
585
+ count++;
586
+ }
587
+ });
588
+ return count;
589
+ }
590
+
591
+ /**
592
+ * Default tokenizer. This function uses breaks the input on substring match of any string from the
593
+ * opts.tokenSeparators array and uses opts.createSearchChoice to create the choice object. Both of those
594
+ * two options have to be defined in order for the tokenizer to work.
595
+ *
596
+ * @param input text user has typed so far or pasted into the search field
597
+ * @param selection currently selected choices
598
+ * @param selectCallback function(choice) callback tho add the choice to selection
599
+ * @param opts select2's opts
600
+ * @return undefined/null to leave the current input unchanged, or a string to change the input to the returned value
601
+ */
602
+ function defaultTokenizer(input, selection, selectCallback, opts) {
603
+ var original = input, // store the original so we can compare and know if we need to tell the search to update its text
604
+ dupe = false, // check for whether a token we extracted represents a duplicate selected choice
605
+ token, // token
606
+ index, // position at which the separator was found
607
+ i, l, // looping variables
608
+ separator; // the matched separator
609
+
610
+ if (!opts.createSearchChoice || !opts.tokenSeparators || opts.tokenSeparators.length < 1) return undefined;
611
+
612
+ while (true) {
613
+ index = -1;
614
+
615
+ for (i = 0, l = opts.tokenSeparators.length; i < l; i++) {
616
+ separator = opts.tokenSeparators[i];
617
+ index = input.indexOf(separator);
618
+ if (index >= 0) break;
619
+ }
620
+
621
+ if (index < 0) break; // did not find any token separator in the input string, bail
622
+
623
+ token = input.substring(0, index);
624
+ input = input.substring(index + separator.length);
625
+
626
+ if (token.length > 0) {
627
+ token = opts.createSearchChoice.call(this, token, selection);
628
+ if (token !== undefined && token !== null && opts.id(token) !== undefined && opts.id(token) !== null) {
629
+ dupe = false;
630
+ for (i = 0, l = selection.length; i < l; i++) {
631
+ if (equal(opts.id(token), opts.id(selection[i]))) {
632
+ dupe = true; break;
633
+ }
634
+ }
635
+
636
+ if (!dupe) selectCallback(token);
637
+ }
638
+ }
639
+ }
640
+
641
+ if (original!==input) return input;
642
+ }
643
+
644
+ /**
645
+ * Creates a new class
646
+ *
647
+ * @param superClass
648
+ * @param methods
649
+ */
650
+ function clazz(SuperClass, methods) {
651
+ var constructor = function () {};
652
+ constructor.prototype = new SuperClass;
653
+ constructor.prototype.constructor = constructor;
654
+ constructor.prototype.parent = SuperClass.prototype;
655
+ constructor.prototype = $.extend(constructor.prototype, methods);
656
+ return constructor;
657
+ }
658
+
659
+ AbstractSelect2 = clazz(Object, {
660
+
661
+ // abstract
662
+ bind: function (func) {
663
+ var self = this;
664
+ return function () {
665
+ func.apply(self, arguments);
666
+ };
667
+ },
668
+
669
+ // abstract
670
+ init: function (opts) {
671
+ var results, search, resultsSelector = ".select2-results";
672
+
673
+ // prepare options
674
+ this.opts = opts = this.prepareOpts(opts);
675
+
676
+ this.id=opts.id;
677
+
678
+ // destroy if called on an existing component
679
+ if (opts.element.data("select2") !== undefined &&
680
+ opts.element.data("select2") !== null) {
681
+ opts.element.data("select2").destroy();
682
+ }
683
+
684
+ this.container = this.createContainer();
685
+
686
+ this.liveRegion = $("<span>", {
687
+ role: "status",
688
+ "aria-live": "polite"
689
+ })
690
+ .addClass("select2-hidden-accessible")
691
+ .appendTo(document.body);
692
+
693
+ this.containerId="s2id_"+(opts.element.attr("id") || "autogen"+nextUid()).replace(/([;&,\-\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g, '\\$1');
694
+ this.containerSelector="#"+this.containerId;
695
+ this.container.attr("id", this.containerId);
696
+
697
+ // cache the body so future lookups are cheap
698
+ this.body = thunk(function() { return opts.element.closest("body"); });
699
+
700
+ syncCssClasses(this.container, this.opts.element, this.opts.adaptContainerCssClass);
701
+
702
+ this.container.attr("style", opts.element.attr("style"));
703
+ this.container.css(evaluate(opts.containerCss));
704
+ this.container.addClass(evaluate(opts.containerCssClass));
705
+
706
+ this.elementTabIndex = this.opts.element.attr("tabindex");
707
+
708
+ // swap container for the element
709
+ this.opts.element
710
+ .data("select2", this)
711
+ .attr("tabindex", "-1")
712
+ .before(this.container)
713
+ .on("click.select2", killEvent); // do not leak click events
714
+
715
+ this.container.data("select2", this);
716
+
717
+ this.dropdown = this.container.find(".select2-drop");
718
+
719
+ syncCssClasses(this.dropdown, this.opts.element, this.opts.adaptDropdownCssClass);
720
+
721
+ this.dropdown.addClass(evaluate(opts.dropdownCssClass));
722
+ this.dropdown.data("select2", this);
723
+ this.dropdown.on("click", killEvent);
724
+
725
+ this.results = results = this.container.find(resultsSelector);
726
+ this.search = search = this.container.find("input.select2-input");
727
+
728
+ this.queryCount = 0;
729
+ this.resultsPage = 0;
730
+ this.context = null;
731
+
732
+ // initialize the container
733
+ this.initContainer();
734
+
735
+ this.container.on("click", killEvent);
736
+
737
+ installFilteredMouseMove(this.results);
738
+ this.dropdown.on("mousemove-filtered touchstart touchmove touchend", resultsSelector, this.bind(this.highlightUnderEvent));
739
+ this.dropdown.on("touchend", resultsSelector, this.bind(this.selectHighlighted));
740
+ this.dropdown.on("touchmove", resultsSelector, this.bind(this.touchMoved));
741
+ this.dropdown.on("touchstart touchend", resultsSelector, this.bind(this.clearTouchMoved));
742
+
743
+ installDebouncedScroll(80, this.results);
744
+ this.dropdown.on("scroll-debounced", resultsSelector, this.bind(this.loadMoreIfNeeded));
745
+
746
+ // do not propagate change event from the search field out of the component
747
+ $(this.container).on("change", ".select2-input", function(e) {e.stopPropagation();});
748
+ $(this.dropdown).on("change", ".select2-input", function(e) {e.stopPropagation();});
749
+
750
+ // if jquery.mousewheel plugin is installed we can prevent out-of-bounds scrolling of results via mousewheel
751
+ if ($.fn.mousewheel) {
752
+ results.mousewheel(function (e, delta, deltaX, deltaY) {
753
+ var top = results.scrollTop();
754
+ if (deltaY > 0 && top - deltaY <= 0) {
755
+ results.scrollTop(0);
756
+ killEvent(e);
757
+ } else if (deltaY < 0 && results.get(0).scrollHeight - results.scrollTop() + deltaY <= results.height()) {
758
+ results.scrollTop(results.get(0).scrollHeight - results.height());
759
+ killEvent(e);
760
+ }
761
+ });
762
+ }
763
+
764
+ installKeyUpChangeEvent(search);
765
+ search.on("keyup-change input paste", this.bind(this.updateResults));
766
+ search.on("focus", function () { search.addClass("select2-focused"); });
767
+ search.on("blur", function () { search.removeClass("select2-focused");});
768
+
769
+ this.dropdown.on("mouseup", resultsSelector, this.bind(function (e) {
770
+ if ($(e.target).closest(".select2-result-selectable").length > 0) {
771
+ this.highlightUnderEvent(e);
772
+ this.selectHighlighted(e);
773
+ }
774
+ }));
775
+
776
+ // trap all mouse events from leaving the dropdown. sometimes there may be a modal that is listening
777
+ // for mouse events outside of itself so it can close itself. since the dropdown is now outside the select2's
778
+ // dom it will trigger the popup close, which is not what we want
779
+ // focusin can cause focus wars between modals and select2 since the dropdown is outside the modal.
780
+ this.dropdown.on("click mouseup mousedown focusin", function (e) { e.stopPropagation(); });
781
+
782
+ this.nextSearchTerm = undefined;
783
+
784
+ if ($.isFunction(this.opts.initSelection)) {
785
+ // initialize selection based on the current value of the source element
786
+ this.initSelection();
787
+
788
+ // if the user has provided a function that can set selection based on the value of the source element
789
+ // we monitor the change event on the element and trigger it, allowing for two way synchronization
790
+ this.monitorSource();
791
+ }
792
+
793
+ if (opts.maximumInputLength !== null) {
794
+ this.search.attr("maxlength", opts.maximumInputLength);
795
+ }
796
+
797
+ var disabled = opts.element.prop("disabled");
798
+ if (disabled === undefined) disabled = false;
799
+ this.enable(!disabled);
800
+
801
+ var readonly = opts.element.prop("readonly");
802
+ if (readonly === undefined) readonly = false;
803
+ this.readonly(readonly);
804
+
805
+ // Calculate size of scrollbar
806
+ scrollBarDimensions = scrollBarDimensions || measureScrollbar();
807
+
808
+ this.autofocus = opts.element.prop("autofocus");
809
+ opts.element.prop("autofocus", false);
810
+ if (this.autofocus) this.focus();
811
+
812
+ this.search.attr("placeholder", opts.searchInputPlaceholder);
813
+ },
814
+
815
+ // abstract
816
+ destroy: function () {
817
+ var element=this.opts.element, select2 = element.data("select2");
818
+
819
+ this.close();
820
+
821
+ if (this.propertyObserver) { delete this.propertyObserver; this.propertyObserver = null; }
822
+
823
+ if (select2 !== undefined) {
824
+ select2.container.remove();
825
+ select2.liveRegion.remove();
826
+ select2.dropdown.remove();
827
+ element
828
+ .removeClass("select2-offscreen")
829
+ .removeData("select2")
830
+ .off(".select2")
831
+ .prop("autofocus", this.autofocus || false);
832
+ if (this.elementTabIndex) {
833
+ element.attr({tabindex: this.elementTabIndex});
834
+ } else {
835
+ element.removeAttr("tabindex");
836
+ }
837
+ element.show();
838
+ }
839
+ },
840
+
841
+ // abstract
842
+ optionToData: function(element) {
843
+ if (element.is("option")) {
844
+ return {
845
+ id:element.prop("value"),
846
+ text:element.text(),
847
+ element: element.get(),
848
+ css: element.attr("class"),
849
+ disabled: element.prop("disabled"),
850
+ locked: equal(element.attr("locked"), "locked") || equal(element.data("locked"), true)
851
+ };
852
+ } else if (element.is("optgroup")) {
853
+ return {
854
+ text:element.attr("label"),
855
+ children:[],
856
+ element: element.get(),
857
+ css: element.attr("class")
858
+ };
859
+ }
860
+ },
861
+
862
+ // abstract
863
+ prepareOpts: function (opts) {
864
+ var element, select, idKey, ajaxUrl, self = this;
865
+
866
+ element = opts.element;
867
+
868
+ if (element.get(0).tagName.toLowerCase() === "select") {
869
+ this.select = select = opts.element;
870
+ }
871
+
872
+ if (select) {
873
+ // these options are not allowed when attached to a select because they are picked up off the element itself
874
+ $.each(["id", "multiple", "ajax", "query", "createSearchChoice", "initSelection", "data", "tags"], function () {
875
+ if (this in opts) {
876
+ throw new Error("Option '" + this + "' is not allowed for Select2 when attached to a <select> element.");
877
+ }
878
+ });
879
+ }
880
+
881
+ opts = $.extend({}, {
882
+ populateResults: function(container, results, query) {
883
+ var populate, id=this.opts.id, liveRegion=this.liveRegion;
884
+
885
+ populate=function(results, container, depth) {
886
+
887
+ var i, l, result, selectable, disabled, compound, node, label, innerContainer, formatted;
888
+
889
+ results = opts.sortResults(results, container, query);
890
+
891
+ for (i = 0, l = results.length; i < l; i = i + 1) {
892
+
893
+ result=results[i];
894
+
895
+ disabled = (result.disabled === true);
896
+ selectable = (!disabled) && (id(result) !== undefined);
897
+
898
+ compound=result.children && result.children.length > 0;
899
+
900
+ node=$("<li></li>");
901
+ node.addClass("select2-results-dept-"+depth);
902
+ node.addClass("select2-result");
903
+ node.addClass(selectable ? "select2-result-selectable" : "select2-result-unselectable");
904
+ if (disabled) { node.addClass("select2-disabled"); }
905
+ if (compound) { node.addClass("select2-result-with-children"); }
906
+ node.addClass(self.opts.formatResultCssClass(result));
907
+ node.attr("role", "presentation");
908
+
909
+ label=$(document.createElement("div"));
910
+ label.addClass("select2-result-label");
911
+ label.attr("id", "select2-result-label-" + nextUid());
912
+ label.attr("role", "option");
913
+
914
+ formatted=opts.formatResult(result, label, query, self.opts.escapeMarkup);
915
+ if (formatted!==undefined) {
916
+ label.html(formatted);
917
+ node.append(label);
918
+ }
919
+
920
+
921
+ if (compound) {
922
+
923
+ innerContainer=$("<ul></ul>");
924
+ innerContainer.addClass("select2-result-sub");
925
+ populate(result.children, innerContainer, depth+1);
926
+ node.append(innerContainer);
927
+ }
928
+
929
+ node.data("select2-data", result);
930
+ container.append(node);
931
+ }
932
+
933
+ liveRegion.text(opts.formatMatches(results.length));
934
+ };
935
+
936
+ populate(results, container, 0);
937
+ }
938
+ }, $.fn.select2.defaults, opts);
939
+
940
+ if (typeof(opts.id) !== "function") {
941
+ idKey = opts.id;
942
+ opts.id = function (e) { return e[idKey]; };
943
+ }
944
+
945
+ if ($.isArray(opts.element.data("select2Tags"))) {
946
+ if ("tags" in opts) {
947
+ throw "tags specified as both an attribute 'data-select2-tags' and in options of Select2 " + opts.element.attr("id");
948
+ }
949
+ opts.tags=opts.element.data("select2Tags");
950
+ }
951
+
952
+ if (select) {
953
+ opts.query = this.bind(function (query) {
954
+ var data = { results: [], more: false },
955
+ term = query.term,
956
+ children, placeholderOption, process;
957
+
958
+ process=function(element, collection) {
959
+ var group;
960
+ if (element.is("option")) {
961
+ if (query.matcher(term, element.text(), element)) {
962
+ collection.push(self.optionToData(element));
963
+ }
964
+ } else if (element.is("optgroup")) {
965
+ group=self.optionToData(element);
966
+ element.children().each2(function(i, elm) { process(elm, group.children); });
967
+ if (group.children.length>0) {
968
+ collection.push(group);
969
+ }
970
+ }
971
+ };
972
+
973
+ children=element.children();
974
+
975
+ // ignore the placeholder option if there is one
976
+ if (this.getPlaceholder() !== undefined && children.length > 0) {
977
+ placeholderOption = this.getPlaceholderOption();
978
+ if (placeholderOption) {
979
+ children=children.not(placeholderOption);
980
+ }
981
+ }
982
+
983
+ children.each2(function(i, elm) { process(elm, data.results); });
984
+
985
+ query.callback(data);
986
+ });
987
+ // this is needed because inside val() we construct choices from options and there id is hardcoded
988
+ opts.id=function(e) { return e.id; };
989
+ } else {
990
+ if (!("query" in opts)) {
991
+
992
+ if ("ajax" in opts) {
993
+ ajaxUrl = opts.element.data("ajax-url");
994
+ if (ajaxUrl && ajaxUrl.length > 0) {
995
+ opts.ajax.url = ajaxUrl;
996
+ }
997
+ opts.query = ajax.call(opts.element, opts.ajax);
998
+ } else if ("data" in opts) {
999
+ opts.query = local(opts.data);
1000
+ } else if ("tags" in opts) {
1001
+ opts.query = tags(opts.tags);
1002
+ if (opts.createSearchChoice === undefined) {
1003
+ opts.createSearchChoice = function (term) { return {id: $.trim(term), text: $.trim(term)}; };
1004
+ }
1005
+ if (opts.initSelection === undefined) {
1006
+ opts.initSelection = function (element, callback) {
1007
+ var data = [];
1008
+ $(splitVal(element.val(), opts.separator)).each(function () {
1009
+ var obj = { id: this, text: this },
1010
+ tags = opts.tags;
1011
+ if ($.isFunction(tags)) tags=tags();
1012
+ $(tags).each(function() { if (equal(this.id, obj.id)) { obj = this; return false; } });
1013
+ data.push(obj);
1014
+ });
1015
+
1016
+ callback(data);
1017
+ };
1018
+ }
1019
+ }
1020
+ }
1021
+ }
1022
+ if (typeof(opts.query) !== "function") {
1023
+ throw "query function not defined for Select2 " + opts.element.attr("id");
1024
+ }
1025
+
1026
+ if (opts.createSearchChoicePosition === 'top') {
1027
+ opts.createSearchChoicePosition = function(list, item) { list.unshift(item); };
1028
+ }
1029
+ else if (opts.createSearchChoicePosition === 'bottom') {
1030
+ opts.createSearchChoicePosition = function(list, item) { list.push(item); };
1031
+ }
1032
+ else if (typeof(opts.createSearchChoicePosition) !== "function") {
1033
+ throw "invalid createSearchChoicePosition option must be 'top', 'bottom' or a custom function";
1034
+ }
1035
+
1036
+ return opts;
1037
+ },
1038
+
1039
+ /**
1040
+ * Monitor the original element for changes and update select2 accordingly
1041
+ */
1042
+ // abstract
1043
+ monitorSource: function () {
1044
+ var el = this.opts.element, sync, observer;
1045
+
1046
+ el.on("change.select2", this.bind(function (e) {
1047
+ if (this.opts.element.data("select2-change-triggered") !== true) {
1048
+ this.initSelection();
1049
+ }
1050
+ }));
1051
+
1052
+ sync = this.bind(function () {
1053
+
1054
+ // sync enabled state
1055
+ var disabled = el.prop("disabled");
1056
+ if (disabled === undefined) disabled = false;
1057
+ this.enable(!disabled);
1058
+
1059
+ var readonly = el.prop("readonly");
1060
+ if (readonly === undefined) readonly = false;
1061
+ this.readonly(readonly);
1062
+
1063
+ syncCssClasses(this.container, this.opts.element, this.opts.adaptContainerCssClass);
1064
+ this.container.addClass(evaluate(this.opts.containerCssClass));
1065
+
1066
+ syncCssClasses(this.dropdown, this.opts.element, this.opts.adaptDropdownCssClass);
1067
+ this.dropdown.addClass(evaluate(this.opts.dropdownCssClass));
1068
+
1069
+ });
1070
+
1071
+ // IE8-10
1072
+ el.on("propertychange.select2", sync);
1073
+
1074
+ // hold onto a reference of the callback to work around a chromium bug
1075
+ if (this.mutationCallback === undefined) {
1076
+ this.mutationCallback = function (mutations) {
1077
+ mutations.forEach(sync);
1078
+ }
1079
+ }
1080
+
1081
+ // safari, chrome, firefox, IE11
1082
+ observer = window.MutationObserver || window.WebKitMutationObserver|| window.MozMutationObserver;
1083
+ if (observer !== undefined) {
1084
+ if (this.propertyObserver) { delete this.propertyObserver; this.propertyObserver = null; }
1085
+ this.propertyObserver = new observer(this.mutationCallback);
1086
+ this.propertyObserver.observe(el.get(0), { attributes:true, subtree:false });
1087
+ }
1088
+ },
1089
+
1090
+ // abstract
1091
+ triggerSelect: function(data) {
1092
+ var evt = $.Event("select2-selecting", { val: this.id(data), object: data });
1093
+ this.opts.element.trigger(evt);
1094
+ return !evt.isDefaultPrevented();
1095
+ },
1096
+
1097
+ /**
1098
+ * Triggers the change event on the source element
1099
+ */
1100
+ // abstract
1101
+ triggerChange: function (details) {
1102
+
1103
+ details = details || {};
1104
+ details= $.extend({}, details, { type: "change", val: this.val() });
1105
+ // prevents recursive triggering
1106
+ this.opts.element.data("select2-change-triggered", true);
1107
+ this.opts.element.trigger(details);
1108
+ this.opts.element.data("select2-change-triggered", false);
1109
+
1110
+ // some validation frameworks ignore the change event and listen instead to keyup, click for selects
1111
+ // so here we trigger the click event manually
1112
+ this.opts.element.click();
1113
+
1114
+ // ValidationEngine ignores the change event and listens instead to blur
1115
+ // so here we trigger the blur event manually if so desired
1116
+ if (this.opts.blurOnChange)
1117
+ this.opts.element.blur();
1118
+ },
1119
+
1120
+ //abstract
1121
+ isInterfaceEnabled: function()
1122
+ {
1123
+ return this.enabledInterface === true;
1124
+ },
1125
+
1126
+ // abstract
1127
+ enableInterface: function() {
1128
+ var enabled = this._enabled && !this._readonly,
1129
+ disabled = !enabled;
1130
+
1131
+ if (enabled === this.enabledInterface) return false;
1132
+
1133
+ this.container.toggleClass("select2-container-disabled", disabled);
1134
+ this.close();
1135
+ this.enabledInterface = enabled;
1136
+
1137
+ return true;
1138
+ },
1139
+
1140
+ // abstract
1141
+ enable: function(enabled) {
1142
+ if (enabled === undefined) enabled = true;
1143
+ if (this._enabled === enabled) return;
1144
+ this._enabled = enabled;
1145
+
1146
+ this.opts.element.prop("disabled", !enabled);
1147
+ this.enableInterface();
1148
+ },
1149
+
1150
+ // abstract
1151
+ disable: function() {
1152
+ this.enable(false);
1153
+ },
1154
+
1155
+ // abstract
1156
+ readonly: function(enabled) {
1157
+ if (enabled === undefined) enabled = false;
1158
+ if (this._readonly === enabled) return;
1159
+ this._readonly = enabled;
1160
+
1161
+ this.opts.element.prop("readonly", enabled);
1162
+ this.enableInterface();
1163
+ },
1164
+
1165
+ // abstract
1166
+ opened: function () {
1167
+ return this.container.hasClass("select2-dropdown-open");
1168
+ },
1169
+
1170
+ // abstract
1171
+ positionDropdown: function() {
1172
+ var $dropdown = this.dropdown,
1173
+ offset = this.container.offset(),
1174
+ height = this.container.outerHeight(false),
1175
+ width = this.container.outerWidth(false),
1176
+ dropHeight = $dropdown.outerHeight(false),
1177
+ $window = $(window),
1178
+ windowWidth = $window.width(),
1179
+ windowHeight = $window.height(),
1180
+ viewPortRight = $window.scrollLeft() + windowWidth,
1181
+ viewportBottom = $window.scrollTop() + windowHeight,
1182
+ dropTop = offset.top + height,
1183
+ dropLeft = offset.left,
1184
+ enoughRoomBelow = dropTop + dropHeight <= viewportBottom,
1185
+ enoughRoomAbove = (offset.top - dropHeight) >= $window.scrollTop(),
1186
+ dropWidth = $dropdown.outerWidth(false),
1187
+ enoughRoomOnRight = dropLeft + dropWidth <= viewPortRight,
1188
+ aboveNow = $dropdown.hasClass("select2-drop-above"),
1189
+ bodyOffset,
1190
+ above,
1191
+ changeDirection,
1192
+ css,
1193
+ resultsListNode;
1194
+
1195
+ // always prefer the current above/below alignment, unless there is not enough room
1196
+ if (aboveNow) {
1197
+ above = true;
1198
+ if (!enoughRoomAbove && enoughRoomBelow) {
1199
+ changeDirection = true;
1200
+ above = false;
1201
+ }
1202
+ } else {
1203
+ above = false;
1204
+ if (!enoughRoomBelow && enoughRoomAbove) {
1205
+ changeDirection = true;
1206
+ above = true;
1207
+ }
1208
+ }
1209
+
1210
+ //if we are changing direction we need to get positions when dropdown is hidden;
1211
+ if (changeDirection) {
1212
+ $dropdown.hide();
1213
+ offset = this.container.offset();
1214
+ height = this.container.outerHeight(false);
1215
+ width = this.container.outerWidth(false);
1216
+ dropHeight = $dropdown.outerHeight(false);
1217
+ viewPortRight = $window.scrollLeft() + windowWidth;
1218
+ viewportBottom = $window.scrollTop() + windowHeight;
1219
+ dropTop = offset.top + height;
1220
+ dropLeft = offset.left;
1221
+ dropWidth = $dropdown.outerWidth(false);
1222
+ enoughRoomOnRight = dropLeft + dropWidth <= viewPortRight;
1223
+ $dropdown.show();
1224
+ }
1225
+
1226
+ if (this.opts.dropdownAutoWidth) {
1227
+ resultsListNode = $('.select2-results', $dropdown)[0];
1228
+ $dropdown.addClass('select2-drop-auto-width');
1229
+ $dropdown.css('width', '');
1230
+ // Add scrollbar width to dropdown if vertical scrollbar is present
1231
+ dropWidth = $dropdown.outerWidth(false) + (resultsListNode.scrollHeight === resultsListNode.clientHeight ? 0 : scrollBarDimensions.width);
1232
+ dropWidth > width ? width = dropWidth : dropWidth = width;
1233
+ enoughRoomOnRight = dropLeft + dropWidth <= viewPortRight;
1234
+ }
1235
+ else {
1236
+ this.container.removeClass('select2-drop-auto-width');
1237
+ }
1238
+
1239
+ //console.log("below/ droptop:", dropTop, "dropHeight", dropHeight, "sum", (dropTop+dropHeight)+" viewport bottom", viewportBottom, "enough?", enoughRoomBelow);
1240
+ //console.log("above/ offset.top", offset.top, "dropHeight", dropHeight, "top", (offset.top-dropHeight), "scrollTop", this.body().scrollTop(), "enough?", enoughRoomAbove);
1241
+
1242
+ // fix positioning when body has an offset and is not position: static
1243
+ if (this.body().css('position') !== 'static') {
1244
+ bodyOffset = this.body().offset();
1245
+ dropTop -= bodyOffset.top;
1246
+ dropLeft -= bodyOffset.left;
1247
+ }
1248
+
1249
+ if (!enoughRoomOnRight) {
1250
+ dropLeft = offset.left + this.container.outerWidth(false) - dropWidth;
1251
+ }
1252
+
1253
+ css = {
1254
+ left: dropLeft,
1255
+ width: width
1256
+ };
1257
+
1258
+ if (above) {
1259
+ css.top = offset.top - dropHeight;
1260
+ css.bottom = 'auto';
1261
+ this.container.addClass("select2-drop-above");
1262
+ $dropdown.addClass("select2-drop-above");
1263
+ }
1264
+ else {
1265
+ css.top = dropTop;
1266
+ css.bottom = 'auto';
1267
+ this.container.removeClass("select2-drop-above");
1268
+ $dropdown.removeClass("select2-drop-above");
1269
+ }
1270
+ css = $.extend(css, evaluate(this.opts.dropdownCss));
1271
+
1272
+ $dropdown.css(css);
1273
+ },
1274
+
1275
+ // abstract
1276
+ shouldOpen: function() {
1277
+ var event;
1278
+
1279
+ if (this.opened()) return false;
1280
+
1281
+ if (this._enabled === false || this._readonly === true) return false;
1282
+
1283
+ event = $.Event("select2-opening");
1284
+ this.opts.element.trigger(event);
1285
+ return !event.isDefaultPrevented();
1286
+ },
1287
+
1288
+ // abstract
1289
+ clearDropdownAlignmentPreference: function() {
1290
+ // clear the classes used to figure out the preference of where the dropdown should be opened
1291
+ this.container.removeClass("select2-drop-above");
1292
+ this.dropdown.removeClass("select2-drop-above");
1293
+ },
1294
+
1295
+ /**
1296
+ * Opens the dropdown
1297
+ *
1298
+ * @return {Boolean} whether or not dropdown was opened. This method will return false if, for example,
1299
+ * the dropdown is already open, or if the 'open' event listener on the element called preventDefault().
1300
+ */
1301
+ // abstract
1302
+ open: function () {
1303
+
1304
+ if (!this.shouldOpen()) return false;
1305
+
1306
+ this.opening();
1307
+
1308
+ return true;
1309
+ },
1310
+
1311
+ /**
1312
+ * Performs the opening of the dropdown
1313
+ */
1314
+ // abstract
1315
+ opening: function() {
1316
+ var cid = this.containerId,
1317
+ scroll = "scroll." + cid,
1318
+ resize = "resize."+cid,
1319
+ orient = "orientationchange."+cid,
1320
+ mask;
1321
+
1322
+ this.container.addClass("select2-dropdown-open").addClass("select2-container-active");
1323
+
1324
+ this.clearDropdownAlignmentPreference();
1325
+
1326
+ if(this.dropdown[0] !== this.body().children().last()[0]) {
1327
+ this.dropdown.detach().appendTo(this.body());
1328
+ }
1329
+
1330
+ // create the dropdown mask if doesn't already exist
1331
+ mask = $("#select2-drop-mask");
1332
+ if (mask.length == 0) {
1333
+ mask = $(document.createElement("div"));
1334
+ mask.attr("id","select2-drop-mask").attr("class","select2-drop-mask");
1335
+ mask.hide();
1336
+ mask.appendTo(this.body());
1337
+ mask.on("mousedown touchstart click", function (e) {
1338
+ // Prevent IE from generating a click event on the body
1339
+ reinsertElement(mask);
1340
+
1341
+ var dropdown = $("#select2-drop"), self;
1342
+ if (dropdown.length > 0) {
1343
+ self=dropdown.data("select2");
1344
+ if (self.opts.selectOnBlur) {
1345
+ self.selectHighlighted({noFocus: true});
1346
+ }
1347
+ self.close();
1348
+ e.preventDefault();
1349
+ e.stopPropagation();
1350
+ }
1351
+ });
1352
+ }
1353
+
1354
+ // ensure the mask is always right before the dropdown
1355
+ if (this.dropdown.prev()[0] !== mask[0]) {
1356
+ this.dropdown.before(mask);
1357
+ }
1358
+
1359
+ // move the global id to the correct dropdown
1360
+ $("#select2-drop").removeAttr("id");
1361
+ this.dropdown.attr("id", "select2-drop");
1362
+
1363
+ // show the elements
1364
+ mask.show();
1365
+
1366
+ this.positionDropdown();
1367
+ this.dropdown.show();
1368
+ this.positionDropdown();
1369
+
1370
+ this.dropdown.addClass("select2-drop-active");
1371
+
1372
+ // attach listeners to events that can change the position of the container and thus require
1373
+ // the position of the dropdown to be updated as well so it does not come unglued from the container
1374
+ var that = this;
1375
+ this.container.parents().add(window).each(function () {
1376
+ $(this).on(resize+" "+scroll+" "+orient, function (e) {
1377
+ that.positionDropdown();
1378
+ });
1379
+ });
1380
+
1381
+
1382
+ },
1383
+
1384
+ // abstract
1385
+ close: function () {
1386
+ if (!this.opened()) return;
1387
+
1388
+ var cid = this.containerId,
1389
+ scroll = "scroll." + cid,
1390
+ resize = "resize."+cid,
1391
+ orient = "orientationchange."+cid;
1392
+
1393
+ // unbind event listeners
1394
+ this.container.parents().add(window).each(function () { $(this).off(scroll).off(resize).off(orient); });
1395
+
1396
+ this.clearDropdownAlignmentPreference();
1397
+
1398
+ $("#select2-drop-mask").hide();
1399
+ this.dropdown.removeAttr("id"); // only the active dropdown has the select2-drop id
1400
+ this.dropdown.hide();
1401
+ this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active");
1402
+ this.results.empty();
1403
+
1404
+
1405
+ this.clearSearch();
1406
+ this.search.removeClass("select2-active");
1407
+ this.opts.element.trigger($.Event("select2-close"));
1408
+ },
1409
+
1410
+ /**
1411
+ * Opens control, sets input value, and updates results.
1412
+ */
1413
+ // abstract
1414
+ externalSearch: function (term) {
1415
+ this.open();
1416
+ this.search.val(term);
1417
+ this.updateResults(false);
1418
+ },
1419
+
1420
+ // abstract
1421
+ clearSearch: function () {
1422
+
1423
+ },
1424
+
1425
+ //abstract
1426
+ getMaximumSelectionSize: function() {
1427
+ return evaluate(this.opts.maximumSelectionSize);
1428
+ },
1429
+
1430
+ // abstract
1431
+ ensureHighlightVisible: function () {
1432
+ var results = this.results, children, index, child, hb, rb, y, more;
1433
+
1434
+ index = this.highlight();
1435
+
1436
+ if (index < 0) return;
1437
+
1438
+ if (index == 0) {
1439
+
1440
+ // if the first element is highlighted scroll all the way to the top,
1441
+ // that way any unselectable headers above it will also be scrolled
1442
+ // into view
1443
+
1444
+ results.scrollTop(0);
1445
+ return;
1446
+ }
1447
+
1448
+ children = this.findHighlightableChoices().find('.select2-result-label');
1449
+
1450
+ child = $(children[index]);
1451
+
1452
+ hb = child.offset().top + child.outerHeight(true);
1453
+
1454
+ // if this is the last child lets also make sure select2-more-results is visible
1455
+ if (index === children.length - 1) {
1456
+ more = results.find("li.select2-more-results");
1457
+ if (more.length > 0) {
1458
+ hb = more.offset().top + more.outerHeight(true);
1459
+ }
1460
+ }
1461
+
1462
+ rb = results.offset().top + results.outerHeight(true);
1463
+ if (hb > rb) {
1464
+ results.scrollTop(results.scrollTop() + (hb - rb));
1465
+ }
1466
+ y = child.offset().top - results.offset().top;
1467
+
1468
+ // make sure the top of the element is visible
1469
+ if (y < 0 && child.css('display') != 'none' ) {
1470
+ results.scrollTop(results.scrollTop() + y); // y is negative
1471
+ }
1472
+ },
1473
+
1474
+ // abstract
1475
+ findHighlightableChoices: function() {
1476
+ return this.results.find(".select2-result-selectable:not(.select2-disabled):not(.select2-selected)");
1477
+ },
1478
+
1479
+ // abstract
1480
+ moveHighlight: function (delta) {
1481
+ var choices = this.findHighlightableChoices(),
1482
+ index = this.highlight();
1483
+
1484
+ while (index > -1 && index < choices.length) {
1485
+ index += delta;
1486
+ var choice = $(choices[index]);
1487
+ if (choice.hasClass("select2-result-selectable") && !choice.hasClass("select2-disabled") && !choice.hasClass("select2-selected")) {
1488
+ this.highlight(index);
1489
+ break;
1490
+ }
1491
+ }
1492
+ },
1493
+
1494
+ // abstract
1495
+ highlight: function (index) {
1496
+ var choices = this.findHighlightableChoices(),
1497
+ choice,
1498
+ data;
1499
+
1500
+ if (arguments.length === 0) {
1501
+ return indexOf(choices.filter(".select2-highlighted")[0], choices.get());
1502
+ }
1503
+
1504
+ if (index >= choices.length) index = choices.length - 1;
1505
+ if (index < 0) index = 0;
1506
+
1507
+ this.removeHighlight();
1508
+
1509
+ choice = $(choices[index]);
1510
+ choice.addClass("select2-highlighted");
1511
+
1512
+ // ensure assistive technology can determine the active choice
1513
+ this.search.attr("aria-activedescendant", choice.find(".select2-result-label").attr("id"));
1514
+
1515
+ this.ensureHighlightVisible();
1516
+
1517
+ this.liveRegion.text(choice.text());
1518
+
1519
+ data = choice.data("select2-data");
1520
+ if (data) {
1521
+ this.opts.element.trigger({ type: "select2-highlight", val: this.id(data), choice: data });
1522
+ }
1523
+ },
1524
+
1525
+ removeHighlight: function() {
1526
+ this.results.find(".select2-highlighted").removeClass("select2-highlighted");
1527
+ },
1528
+
1529
+ touchMoved: function() {
1530
+ this._touchMoved = true;
1531
+ },
1532
+
1533
+ clearTouchMoved: function() {
1534
+ this._touchMoved = false;
1535
+ },
1536
+
1537
+ // abstract
1538
+ countSelectableResults: function() {
1539
+ return this.findHighlightableChoices().length;
1540
+ },
1541
+
1542
+ // abstract
1543
+ highlightUnderEvent: function (event) {
1544
+ var el = $(event.target).closest(".select2-result-selectable");
1545
+ if (el.length > 0 && !el.is(".select2-highlighted")) {
1546
+ var choices = this.findHighlightableChoices();
1547
+ this.highlight(choices.index(el));
1548
+ } else if (el.length == 0) {
1549
+ // if we are over an unselectable item remove all highlights
1550
+ this.removeHighlight();
1551
+ }
1552
+ },
1553
+
1554
+ // abstract
1555
+ loadMoreIfNeeded: function () {
1556
+ var results = this.results,
1557
+ more = results.find("li.select2-more-results"),
1558
+ below, // pixels the element is below the scroll fold, below==0 is when the element is starting to be visible
1559
+ page = this.resultsPage + 1,
1560
+ self=this,
1561
+ term=this.search.val(),
1562
+ context=this.context;
1563
+
1564
+ if (more.length === 0) return;
1565
+ below = more.offset().top - results.offset().top - results.height();
1566
+
1567
+ if (below <= this.opts.loadMorePadding) {
1568
+ more.addClass("select2-active");
1569
+ this.opts.query({
1570
+ element: this.opts.element,
1571
+ term: term,
1572
+ page: page,
1573
+ context: context,
1574
+ matcher: this.opts.matcher,
1575
+ callback: this.bind(function (data) {
1576
+
1577
+ // ignore a response if the select2 has been closed before it was received
1578
+ if (!self.opened()) return;
1579
+
1580
+
1581
+ self.opts.populateResults.call(this, results, data.results, {term: term, page: page, context:context});
1582
+ self.postprocessResults(data, false, false);
1583
+
1584
+ if (data.more===true) {
1585
+ more.detach().appendTo(results).text(evaluate(self.opts.formatLoadMore, page+1));
1586
+ window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10);
1587
+ } else {
1588
+ more.remove();
1589
+ }
1590
+ self.positionDropdown();
1591
+ self.resultsPage = page;
1592
+ self.context = data.context;
1593
+ this.opts.element.trigger({ type: "select2-loaded", items: data });
1594
+ })});
1595
+ }
1596
+ },
1597
+
1598
+ /**
1599
+ * Default tokenizer function which does nothing
1600
+ */
1601
+ tokenize: function() {
1602
+
1603
+ },
1604
+
1605
+ /**
1606
+ * @param initial whether or not this is the call to this method right after the dropdown has been opened
1607
+ */
1608
+ // abstract
1609
+ updateResults: function (initial) {
1610
+ var search = this.search,
1611
+ results = this.results,
1612
+ opts = this.opts,
1613
+ data,
1614
+ self = this,
1615
+ input,
1616
+ term = search.val(),
1617
+ lastTerm = $.data(this.container, "select2-last-term"),
1618
+ // sequence number used to drop out-of-order responses
1619
+ queryNumber;
1620
+
1621
+ // prevent duplicate queries against the same term
1622
+ if (initial !== true && lastTerm && equal(term, lastTerm)) return;
1623
+
1624
+ $.data(this.container, "select2-last-term", term);
1625
+
1626
+ // if the search is currently hidden we do not alter the results
1627
+ if (initial !== true && (this.showSearchInput === false || !this.opened())) {
1628
+ return;
1629
+ }
1630
+
1631
+ function postRender() {
1632
+ search.removeClass("select2-active");
1633
+ self.positionDropdown();
1634
+ if (results.find('.select2-no-results,.select2-selection-limit,.select2-searching').length) {
1635
+ self.liveRegion.text(results.text());
1636
+ }
1637
+ else {
1638
+ self.liveRegion.text(self.opts.formatMatches(results.find('.select2-result-selectable').length));
1639
+ }
1640
+ }
1641
+
1642
+ function render(html) {
1643
+ results.html(html);
1644
+ postRender();
1645
+ }
1646
+
1647
+ queryNumber = ++this.queryCount;
1648
+
1649
+ var maxSelSize = this.getMaximumSelectionSize();
1650
+ if (maxSelSize >=1) {
1651
+ data = this.data();
1652
+ if ($.isArray(data) && data.length >= maxSelSize && checkFormatter(opts.formatSelectionTooBig, "formatSelectionTooBig")) {
1653
+ render("<li class='select2-selection-limit'>" + evaluate(opts.formatSelectionTooBig, maxSelSize) + "</li>");
1654
+ return;
1655
+ }
1656
+ }
1657
+
1658
+ if (search.val().length < opts.minimumInputLength) {
1659
+ if (checkFormatter(opts.formatInputTooShort, "formatInputTooShort")) {
1660
+ render("<li class='select2-no-results'>" + evaluate(opts.formatInputTooShort, search.val(), opts.minimumInputLength) + "</li>");
1661
+ } else {
1662
+ render("");
1663
+ }
1664
+ if (initial && this.showSearch) this.showSearch(true);
1665
+ return;
1666
+ }
1667
+
1668
+ if (opts.maximumInputLength && search.val().length > opts.maximumInputLength) {
1669
+ if (checkFormatter(opts.formatInputTooLong, "formatInputTooLong")) {
1670
+ render("<li class='select2-no-results'>" + evaluate(opts.formatInputTooLong, search.val(), opts.maximumInputLength) + "</li>");
1671
+ } else {
1672
+ render("");
1673
+ }
1674
+ return;
1675
+ }
1676
+
1677
+ if (opts.formatSearching && this.findHighlightableChoices().length === 0) {
1678
+ render("<li class='select2-searching'>" + evaluate(opts.formatSearching) + "</li>");
1679
+ }
1680
+
1681
+ search.addClass("select2-active");
1682
+
1683
+ this.removeHighlight();
1684
+
1685
+ // give the tokenizer a chance to pre-process the input
1686
+ input = this.tokenize();
1687
+ if (input != undefined && input != null) {
1688
+ search.val(input);
1689
+ }
1690
+
1691
+ this.resultsPage = 1;
1692
+
1693
+ opts.query({
1694
+ element: opts.element,
1695
+ term: search.val(),
1696
+ page: this.resultsPage,
1697
+ context: null,
1698
+ matcher: opts.matcher,
1699
+ callback: this.bind(function (data) {
1700
+ var def; // default choice
1701
+
1702
+ // ignore old responses
1703
+ if (queryNumber != this.queryCount) {
1704
+ return;
1705
+ }
1706
+
1707
+ // ignore a response if the select2 has been closed before it was received
1708
+ if (!this.opened()) {
1709
+ this.search.removeClass("select2-active");
1710
+ return;
1711
+ }
1712
+
1713
+ // save context, if any
1714
+ this.context = (data.context===undefined) ? null : data.context;
1715
+ // create a default choice and prepend it to the list
1716
+ if (this.opts.createSearchChoice && search.val() !== "") {
1717
+ def = this.opts.createSearchChoice.call(self, search.val(), data.results);
1718
+ if (def !== undefined && def !== null && self.id(def) !== undefined && self.id(def) !== null) {
1719
+ if ($(data.results).filter(
1720
+ function () {
1721
+ return equal(self.id(this), self.id(def));
1722
+ }).length === 0) {
1723
+ this.opts.createSearchChoicePosition(data.results, def);
1724
+ }
1725
+ }
1726
+ }
1727
+
1728
+ if (data.results.length === 0 && checkFormatter(opts.formatNoMatches, "formatNoMatches")) {
1729
+ render("<li class='select2-no-results'>" + evaluate(opts.formatNoMatches, search.val()) + "</li>");
1730
+ return;
1731
+ }
1732
+
1733
+ results.empty();
1734
+ self.opts.populateResults.call(this, results, data.results, {term: search.val(), page: this.resultsPage, context:null});
1735
+
1736
+ if (data.more === true && checkFormatter(opts.formatLoadMore, "formatLoadMore")) {
1737
+ results.append("<li class='select2-more-results'>" + self.opts.escapeMarkup(evaluate(opts.formatLoadMore, this.resultsPage)) + "</li>");
1738
+ window.setTimeout(function() { self.loadMoreIfNeeded(); }, 10);
1739
+ }
1740
+
1741
+ this.postprocessResults(data, initial);
1742
+
1743
+ postRender();
1744
+
1745
+ this.opts.element.trigger({ type: "select2-loaded", items: data });
1746
+ })});
1747
+ },
1748
+
1749
+ // abstract
1750
+ cancel: function () {
1751
+ this.close();
1752
+ },
1753
+
1754
+ // abstract
1755
+ blur: function () {
1756
+ // if selectOnBlur == true, select the currently highlighted option
1757
+ if (this.opts.selectOnBlur)
1758
+ this.selectHighlighted({noFocus: true});
1759
+
1760
+ this.close();
1761
+ this.container.removeClass("select2-container-active");
1762
+ // synonymous to .is(':focus'), which is available in jquery >= 1.6
1763
+ if (this.search[0] === document.activeElement) { this.search.blur(); }
1764
+ this.clearSearch();
1765
+ this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
1766
+ },
1767
+
1768
+ // abstract
1769
+ focusSearch: function () {
1770
+ focus(this.search);
1771
+ },
1772
+
1773
+ // abstract
1774
+ selectHighlighted: function (options) {
1775
+ if (this._touchMoved) {
1776
+ this.clearTouchMoved();
1777
+ return;
1778
+ }
1779
+ var index=this.highlight(),
1780
+ highlighted=this.results.find(".select2-highlighted"),
1781
+ data = highlighted.closest('.select2-result').data("select2-data");
1782
+
1783
+ if (data) {
1784
+ this.highlight(index);
1785
+ this.onSelect(data, options);
1786
+ } else if (options && options.noFocus) {
1787
+ this.close();
1788
+ }
1789
+ },
1790
+
1791
+ // abstract
1792
+ getPlaceholder: function () {
1793
+ var placeholderOption;
1794
+ return this.opts.element.attr("placeholder") ||
1795
+ this.opts.element.attr("data-placeholder") || // jquery 1.4 compat
1796
+ this.opts.element.data("placeholder") ||
1797
+ this.opts.placeholder ||
1798
+ ((placeholderOption = this.getPlaceholderOption()) !== undefined ? placeholderOption.text() : undefined);
1799
+ },
1800
+
1801
+ // abstract
1802
+ getPlaceholderOption: function() {
1803
+ if (this.select) {
1804
+ var firstOption = this.select.children('option').first();
1805
+ if (this.opts.placeholderOption !== undefined ) {
1806
+ //Determine the placeholder option based on the specified placeholderOption setting
1807
+ return (this.opts.placeholderOption === "first" && firstOption) ||
1808
+ (typeof this.opts.placeholderOption === "function" && this.opts.placeholderOption(this.select));
1809
+ } else if (firstOption.text() === "" && firstOption.val() === "") {
1810
+ //No explicit placeholder option specified, use the first if it's blank
1811
+ return firstOption;
1812
+ }
1813
+ }
1814
+ },
1815
+
1816
+ /**
1817
+ * Get the desired width for the container element. This is
1818
+ * derived first from option `width` passed to select2, then
1819
+ * the inline 'style' on the original element, and finally
1820
+ * falls back to the jQuery calculated element width.
1821
+ */
1822
+ // abstract
1823
+ initContainerWidth: function () {
1824
+ function resolveContainerWidth() {
1825
+ var style, attrs, matches, i, l, attr;
1826
+
1827
+ if (this.opts.width === "off") {
1828
+ return null;
1829
+ } else if (this.opts.width === "element"){
1830
+ return this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px';
1831
+ } else if (this.opts.width === "copy" || this.opts.width === "resolve") {
1832
+ // check if there is inline style on the element that contains width
1833
+ style = this.opts.element.attr('style');
1834
+ if (style !== undefined) {
1835
+ attrs = style.split(';');
1836
+ for (i = 0, l = attrs.length; i < l; i = i + 1) {
1837
+ attr = attrs[i].replace(/\s/g, '');
1838
+ matches = attr.match(/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i);
1839
+ if (matches !== null && matches.length >= 1)
1840
+ return matches[1];
1841
+ }
1842
+ }
1843
+
1844
+ if (this.opts.width === "resolve") {
1845
+ // next check if css('width') can resolve a width that is percent based, this is sometimes possible
1846
+ // when attached to input type=hidden or elements hidden via css
1847
+ style = this.opts.element.css('width');
1848
+ if (style.indexOf("%") > 0) return style;
1849
+
1850
+ // finally, fallback on the calculated width of the element
1851
+ return (this.opts.element.outerWidth(false) === 0 ? 'auto' : this.opts.element.outerWidth(false) + 'px');
1852
+ }
1853
+
1854
+ return null;
1855
+ } else if ($.isFunction(this.opts.width)) {
1856
+ return this.opts.width();
1857
+ } else {
1858
+ return this.opts.width;
1859
+ }
1860
+ };
1861
+
1862
+ var width = resolveContainerWidth.call(this);
1863
+ if (width !== null) {
1864
+ this.container.css("width", width);
1865
+ }
1866
+ }
1867
+ });
1868
+
1869
+ SingleSelect2 = clazz(AbstractSelect2, {
1870
+
1871
+ // single
1872
+
1873
+ createContainer: function () {
1874
+ var container = $(document.createElement("div")).attr({
1875
+ "class": "select2-container"
1876
+ }).html([
1877
+ "<a href='javascript:void(0)' class='select2-choice' tabindex='-1'>",
1878
+ " <span class='select2-chosen'>&nbsp;</span><abbr class='select2-search-choice-close'></abbr>",
1879
+ " <span class='select2-arrow' role='presentation'><b role='presentation'></b></span>",
1880
+ "</a>",
1881
+ "<label for='' class='select2-offscreen'></label>",
1882
+ "<input class='select2-focusser select2-offscreen' type='text' aria-haspopup='true' role='button' />",
1883
+ "<div class='select2-drop select2-display-none'>",
1884
+ " <div class='select2-search'>",
1885
+ " <label for='' class='select2-offscreen'></label>",
1886
+ " <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input' role='combobox' aria-expanded='true'",
1887
+ " aria-autocomplete='list' />",
1888
+ " </div>",
1889
+ " <ul class='select2-results' role='listbox'>",
1890
+ " </ul>",
1891
+ "</div>"].join(""));
1892
+ return container;
1893
+ },
1894
+
1895
+ // single
1896
+ enableInterface: function() {
1897
+ if (this.parent.enableInterface.apply(this, arguments)) {
1898
+ this.focusser.prop("disabled", !this.isInterfaceEnabled());
1899
+ }
1900
+ },
1901
+
1902
+ // single
1903
+ opening: function () {
1904
+ var el, range, len;
1905
+
1906
+ if (this.opts.minimumResultsForSearch >= 0) {
1907
+ this.showSearch(true);
1908
+ }
1909
+
1910
+ this.parent.opening.apply(this, arguments);
1911
+
1912
+ if (this.showSearchInput !== false) {
1913
+ // IE appends focusser.val() at the end of field :/ so we manually insert it at the beginning using a range
1914
+ // all other browsers handle this just fine
1915
+
1916
+ this.search.val(this.focusser.val());
1917
+ }
1918
+ this.search.focus();
1919
+ // move the cursor to the end after focussing, otherwise it will be at the beginning and
1920
+ // new text will appear *before* focusser.val()
1921
+ el = this.search.get(0);
1922
+ if (el.createTextRange) {
1923
+ range = el.createTextRange();
1924
+ range.collapse(false);
1925
+ range.select();
1926
+ } else if (el.setSelectionRange) {
1927
+ len = this.search.val().length;
1928
+ el.setSelectionRange(len, len);
1929
+ }
1930
+
1931
+ // initializes search's value with nextSearchTerm (if defined by user)
1932
+ // ignore nextSearchTerm if the dropdown is opened by the user pressing a letter
1933
+ if(this.search.val() === "") {
1934
+ if(this.nextSearchTerm != undefined){
1935
+ this.search.val(this.nextSearchTerm);
1936
+ this.search.select();
1937
+ }
1938
+ }
1939
+
1940
+ this.focusser.prop("disabled", true).val("");
1941
+ this.updateResults(true);
1942
+ this.opts.element.trigger($.Event("select2-open"));
1943
+ },
1944
+
1945
+ // single
1946
+ close: function () {
1947
+ if (!this.opened()) return;
1948
+ this.parent.close.apply(this, arguments);
1949
+
1950
+ this.focusser.prop("disabled", false);
1951
+
1952
+ if (this.opts.shouldFocusInput(this)) {
1953
+ this.focusser.focus();
1954
+ }
1955
+ },
1956
+
1957
+ // single
1958
+ focus: function () {
1959
+ if (this.opened()) {
1960
+ this.close();
1961
+ } else {
1962
+ this.focusser.prop("disabled", false);
1963
+ if (this.opts.shouldFocusInput(this)) {
1964
+ this.focusser.focus();
1965
+ }
1966
+ }
1967
+ },
1968
+
1969
+ // single
1970
+ isFocused: function () {
1971
+ return this.container.hasClass("select2-container-active");
1972
+ },
1973
+
1974
+ // single
1975
+ cancel: function () {
1976
+ this.parent.cancel.apply(this, arguments);
1977
+ this.focusser.prop("disabled", false);
1978
+
1979
+ if (this.opts.shouldFocusInput(this)) {
1980
+ this.focusser.focus();
1981
+ }
1982
+ },
1983
+
1984
+ // single
1985
+ destroy: function() {
1986
+ $("label[for='" + this.focusser.attr('id') + "']")
1987
+ .attr('for', this.opts.element.attr("id"));
1988
+ this.parent.destroy.apply(this, arguments);
1989
+ },
1990
+
1991
+ // single
1992
+ initContainer: function () {
1993
+
1994
+ var selection,
1995
+ container = this.container,
1996
+ dropdown = this.dropdown,
1997
+ idSuffix = nextUid(),
1998
+ elementLabel;
1999
+
2000
+ if (this.opts.minimumResultsForSearch < 0) {
2001
+ this.showSearch(false);
2002
+ } else {
2003
+ this.showSearch(true);
2004
+ }
2005
+
2006
+ this.selection = selection = container.find(".select2-choice");
2007
+
2008
+ this.focusser = container.find(".select2-focusser");
2009
+
2010
+ // add aria associations
2011
+ selection.find(".select2-chosen").attr("id", "select2-chosen-"+idSuffix);
2012
+ this.focusser.attr("aria-labelledby", "select2-chosen-"+idSuffix);
2013
+ this.results.attr("id", "select2-results-"+idSuffix);
2014
+ this.search.attr("aria-owns", "select2-results-"+idSuffix);
2015
+
2016
+ // rewrite labels from original element to focusser
2017
+ this.focusser.attr("id", "s2id_autogen"+idSuffix);
2018
+
2019
+ elementLabel = $("label[for='" + this.opts.element.attr("id") + "']");
2020
+
2021
+ this.focusser.prev()
2022
+ .text(elementLabel.text())
2023
+ .attr('for', this.focusser.attr('id'));
2024
+
2025
+ // Ensure the original element retains an accessible name
2026
+ var originalTitle = this.opts.element.attr("title");
2027
+ this.opts.element.attr("title", (originalTitle || elementLabel.text()));
2028
+
2029
+ this.focusser.attr("tabindex", this.elementTabIndex);
2030
+
2031
+ // write label for search field using the label from the focusser element
2032
+ this.search.attr("id", this.focusser.attr('id') + '_search');
2033
+
2034
+ this.search.prev()
2035
+ .text($("label[for='" + this.focusser.attr('id') + "']").text())
2036
+ .attr('for', this.search.attr('id'));
2037
+
2038
+ this.search.on("keydown", this.bind(function (e) {
2039
+ if (!this.isInterfaceEnabled()) return;
2040
+
2041
+ if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
2042
+ // prevent the page from scrolling
2043
+ killEvent(e);
2044
+ return;
2045
+ }
2046
+
2047
+ switch (e.which) {
2048
+ case KEY.UP:
2049
+ case KEY.DOWN:
2050
+ this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
2051
+ killEvent(e);
2052
+ return;
2053
+ case KEY.ENTER:
2054
+ this.selectHighlighted();
2055
+ killEvent(e);
2056
+ return;
2057
+ case KEY.TAB:
2058
+ this.selectHighlighted({noFocus: true});
2059
+ return;
2060
+ case KEY.ESC:
2061
+ this.cancel(e);
2062
+ killEvent(e);
2063
+ return;
2064
+ }
2065
+ }));
2066
+
2067
+ this.search.on("blur", this.bind(function(e) {
2068
+ // a workaround for chrome to keep the search field focussed when the scroll bar is used to scroll the dropdown.
2069
+ // without this the search field loses focus which is annoying
2070
+ if (document.activeElement === this.body().get(0)) {
2071
+ window.setTimeout(this.bind(function() {
2072
+ if (this.opened()) {
2073
+ this.search.focus();
2074
+ }
2075
+ }), 0);
2076
+ }
2077
+ }));
2078
+
2079
+ this.focusser.on("keydown", this.bind(function (e) {
2080
+ if (!this.isInterfaceEnabled()) return;
2081
+
2082
+ if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e) || e.which === KEY.ESC) {
2083
+ return;
2084
+ }
2085
+
2086
+ if (this.opts.openOnEnter === false && e.which === KEY.ENTER) {
2087
+ killEvent(e);
2088
+ return;
2089
+ }
2090
+
2091
+ if (e.which == KEY.DOWN || e.which == KEY.UP
2092
+ || (e.which == KEY.ENTER && this.opts.openOnEnter)) {
2093
+
2094
+ if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) return;
2095
+
2096
+ this.open();
2097
+ killEvent(e);
2098
+ return;
2099
+ }
2100
+
2101
+ if (e.which == KEY.DELETE || e.which == KEY.BACKSPACE) {
2102
+ if (this.opts.allowClear) {
2103
+ this.clear();
2104
+ }
2105
+ killEvent(e);
2106
+ return;
2107
+ }
2108
+ }));
2109
+
2110
+
2111
+ installKeyUpChangeEvent(this.focusser);
2112
+ this.focusser.on("keyup-change input", this.bind(function(e) {
2113
+ if (this.opts.minimumResultsForSearch >= 0) {
2114
+ e.stopPropagation();
2115
+ if (this.opened()) return;
2116
+ this.open();
2117
+ }
2118
+ }));
2119
+
2120
+ selection.on("mousedown touchstart", "abbr", this.bind(function (e) {
2121
+ if (!this.isInterfaceEnabled()) return;
2122
+ this.clear();
2123
+ killEventImmediately(e);
2124
+ this.close();
2125
+ this.selection.focus();
2126
+ }));
2127
+
2128
+ selection.on("mousedown touchstart", this.bind(function (e) {
2129
+ // Prevent IE from generating a click event on the body
2130
+ reinsertElement(selection);
2131
+
2132
+ if (!this.container.hasClass("select2-container-active")) {
2133
+ this.opts.element.trigger($.Event("select2-focus"));
2134
+ }
2135
+
2136
+ if (this.opened()) {
2137
+ this.close();
2138
+ } else if (this.isInterfaceEnabled()) {
2139
+ this.open();
2140
+ }
2141
+
2142
+ killEvent(e);
2143
+ }));
2144
+
2145
+ dropdown.on("mousedown touchstart", this.bind(function() { this.search.focus(); }));
2146
+
2147
+ selection.on("focus", this.bind(function(e) {
2148
+ killEvent(e);
2149
+ }));
2150
+
2151
+ this.focusser.on("focus", this.bind(function(){
2152
+ if (!this.container.hasClass("select2-container-active")) {
2153
+ this.opts.element.trigger($.Event("select2-focus"));
2154
+ }
2155
+ this.container.addClass("select2-container-active");
2156
+ })).on("blur", this.bind(function() {
2157
+ if (!this.opened()) {
2158
+ this.container.removeClass("select2-container-active");
2159
+ this.opts.element.trigger($.Event("select2-blur"));
2160
+ }
2161
+ }));
2162
+ this.search.on("focus", this.bind(function(){
2163
+ if (!this.container.hasClass("select2-container-active")) {
2164
+ this.opts.element.trigger($.Event("select2-focus"));
2165
+ }
2166
+ this.container.addClass("select2-container-active");
2167
+ }));
2168
+
2169
+ this.initContainerWidth();
2170
+ this.opts.element.addClass("select2-offscreen");
2171
+ this.setPlaceholder();
2172
+
2173
+ },
2174
+
2175
+ // single
2176
+ clear: function(triggerChange) {
2177
+ var data=this.selection.data("select2-data");
2178
+ if (data) { // guard against queued quick consecutive clicks
2179
+ var evt = $.Event("select2-clearing");
2180
+ this.opts.element.trigger(evt);
2181
+ if (evt.isDefaultPrevented()) {
2182
+ return;
2183
+ }
2184
+ var placeholderOption = this.getPlaceholderOption();
2185
+ this.opts.element.val(placeholderOption ? placeholderOption.val() : "");
2186
+ this.selection.find(".select2-chosen").empty();
2187
+ this.selection.removeData("select2-data");
2188
+ this.setPlaceholder();
2189
+
2190
+ if (triggerChange !== false){
2191
+ this.opts.element.trigger({ type: "select2-removed", val: this.id(data), choice: data });
2192
+ this.triggerChange({removed:data});
2193
+ }
2194
+ }
2195
+ },
2196
+
2197
+ /**
2198
+ * Sets selection based on source element's value
2199
+ */
2200
+ // single
2201
+ initSelection: function () {
2202
+ var selected;
2203
+ if (this.isPlaceholderOptionSelected()) {
2204
+ this.updateSelection(null);
2205
+ this.close();
2206
+ this.setPlaceholder();
2207
+ } else {
2208
+ var self = this;
2209
+ this.opts.initSelection.call(null, this.opts.element, function(selected){
2210
+ if (selected !== undefined && selected !== null) {
2211
+ self.updateSelection(selected);
2212
+ self.close();
2213
+ self.setPlaceholder();
2214
+ self.nextSearchTerm = self.opts.nextSearchTerm(selected, self.search.val());
2215
+ }
2216
+ });
2217
+ }
2218
+ },
2219
+
2220
+ isPlaceholderOptionSelected: function() {
2221
+ var placeholderOption;
2222
+ if (!this.getPlaceholder()) return false; // no placeholder specified so no option should be considered
2223
+ return ((placeholderOption = this.getPlaceholderOption()) !== undefined && placeholderOption.prop("selected"))
2224
+ || (this.opts.element.val() === "")
2225
+ || (this.opts.element.val() === undefined)
2226
+ || (this.opts.element.val() === null);
2227
+ },
2228
+
2229
+ // single
2230
+ prepareOpts: function () {
2231
+ var opts = this.parent.prepareOpts.apply(this, arguments),
2232
+ self=this;
2233
+
2234
+ if (opts.element.get(0).tagName.toLowerCase() === "select") {
2235
+ // install the selection initializer
2236
+ opts.initSelection = function (element, callback) {
2237
+ var selected = element.find("option").filter(function() { return this.selected && !this.disabled });
2238
+ // a single select box always has a value, no need to null check 'selected'
2239
+ callback(self.optionToData(selected));
2240
+ };
2241
+ } else if ("data" in opts) {
2242
+ // install default initSelection when applied to hidden input and data is local
2243
+ opts.initSelection = opts.initSelection || function (element, callback) {
2244
+ var id = element.val();
2245
+ //search in data by id, storing the actual matching item
2246
+ var match = null;
2247
+ opts.query({
2248
+ matcher: function(term, text, el){
2249
+ var is_match = equal(id, opts.id(el));
2250
+ if (is_match) {
2251
+ match = el;
2252
+ }
2253
+ return is_match;
2254
+ },
2255
+ callback: !$.isFunction(callback) ? $.noop : function() {
2256
+ callback(match);
2257
+ }
2258
+ });
2259
+ };
2260
+ }
2261
+
2262
+ return opts;
2263
+ },
2264
+
2265
+ // single
2266
+ getPlaceholder: function() {
2267
+ // if a placeholder is specified on a single select without a valid placeholder option ignore it
2268
+ if (this.select) {
2269
+ if (this.getPlaceholderOption() === undefined) {
2270
+ return undefined;
2271
+ }
2272
+ }
2273
+
2274
+ return this.parent.getPlaceholder.apply(this, arguments);
2275
+ },
2276
+
2277
+ // single
2278
+ setPlaceholder: function () {
2279
+ var placeholder = this.getPlaceholder();
2280
+
2281
+ if (this.isPlaceholderOptionSelected() && placeholder !== undefined) {
2282
+
2283
+ // check for a placeholder option if attached to a select
2284
+ if (this.select && this.getPlaceholderOption() === undefined) return;
2285
+
2286
+ this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(placeholder));
2287
+
2288
+ this.selection.addClass("select2-default");
2289
+
2290
+ this.container.removeClass("select2-allowclear");
2291
+ }
2292
+ },
2293
+
2294
+ // single
2295
+ postprocessResults: function (data, initial, noHighlightUpdate) {
2296
+ var selected = 0, self = this, showSearchInput = true;
2297
+
2298
+ // find the selected element in the result list
2299
+
2300
+ this.findHighlightableChoices().each2(function (i, elm) {
2301
+ if (equal(self.id(elm.data("select2-data")), self.opts.element.val())) {
2302
+ selected = i;
2303
+ return false;
2304
+ }
2305
+ });
2306
+
2307
+ // and highlight it
2308
+ if (noHighlightUpdate !== false) {
2309
+ if (initial === true && selected >= 0) {
2310
+ this.highlight(selected);
2311
+ } else {
2312
+ this.highlight(0);
2313
+ }
2314
+ }
2315
+
2316
+ // hide the search box if this is the first we got the results and there are enough of them for search
2317
+
2318
+ if (initial === true) {
2319
+ var min = this.opts.minimumResultsForSearch;
2320
+ if (min >= 0) {
2321
+ this.showSearch(countResults(data.results) >= min);
2322
+ }
2323
+ }
2324
+ },
2325
+
2326
+ // single
2327
+ showSearch: function(showSearchInput) {
2328
+ if (this.showSearchInput === showSearchInput) return;
2329
+
2330
+ this.showSearchInput = showSearchInput;
2331
+
2332
+ this.dropdown.find(".select2-search").toggleClass("select2-search-hidden", !showSearchInput);
2333
+ this.dropdown.find(".select2-search").toggleClass("select2-offscreen", !showSearchInput);
2334
+ //add "select2-with-searchbox" to the container if search box is shown
2335
+ $(this.dropdown, this.container).toggleClass("select2-with-searchbox", showSearchInput);
2336
+ },
2337
+
2338
+ // single
2339
+ onSelect: function (data, options) {
2340
+
2341
+ if (!this.triggerSelect(data)) { return; }
2342
+
2343
+ var old = this.opts.element.val(),
2344
+ oldData = this.data();
2345
+
2346
+ this.opts.element.val(this.id(data));
2347
+ this.updateSelection(data);
2348
+
2349
+ this.opts.element.trigger({ type: "select2-selected", val: this.id(data), choice: data });
2350
+
2351
+ this.nextSearchTerm = this.opts.nextSearchTerm(data, this.search.val());
2352
+ this.close();
2353
+
2354
+ if ((!options || !options.noFocus) && this.opts.shouldFocusInput(this)) {
2355
+ this.focusser.focus();
2356
+ }
2357
+
2358
+ if (!equal(old, this.id(data))) {
2359
+ this.triggerChange({ added: data, removed: oldData });
2360
+ }
2361
+ },
2362
+
2363
+ // single
2364
+ updateSelection: function (data) {
2365
+
2366
+ var container=this.selection.find(".select2-chosen"), formatted, cssClass;
2367
+
2368
+ this.selection.data("select2-data", data);
2369
+
2370
+ container.empty();
2371
+ if (data !== null) {
2372
+ formatted=this.opts.formatSelection(data, container, this.opts.escapeMarkup);
2373
+ }
2374
+ if (formatted !== undefined) {
2375
+ container.append(formatted);
2376
+ }
2377
+ cssClass=this.opts.formatSelectionCssClass(data, container);
2378
+ if (cssClass !== undefined) {
2379
+ container.addClass(cssClass);
2380
+ }
2381
+
2382
+ this.selection.removeClass("select2-default");
2383
+
2384
+ if (this.opts.allowClear && this.getPlaceholder() !== undefined) {
2385
+ this.container.addClass("select2-allowclear");
2386
+ }
2387
+ },
2388
+
2389
+ // single
2390
+ val: function () {
2391
+ var val,
2392
+ triggerChange = false,
2393
+ data = null,
2394
+ self = this,
2395
+ oldData = this.data();
2396
+
2397
+ if (arguments.length === 0) {
2398
+ return this.opts.element.val();
2399
+ }
2400
+
2401
+ val = arguments[0];
2402
+
2403
+ if (arguments.length > 1) {
2404
+ triggerChange = arguments[1];
2405
+ }
2406
+
2407
+ if (this.select) {
2408
+ this.select
2409
+ .val(val)
2410
+ .find("option").filter(function() { return this.selected }).each2(function (i, elm) {
2411
+ data = self.optionToData(elm);
2412
+ return false;
2413
+ });
2414
+ this.updateSelection(data);
2415
+ this.setPlaceholder();
2416
+ if (triggerChange) {
2417
+ this.triggerChange({added: data, removed:oldData});
2418
+ }
2419
+ } else {
2420
+ // val is an id. !val is true for [undefined,null,'',0] - 0 is legal
2421
+ if (!val && val !== 0) {
2422
+ this.clear(triggerChange);
2423
+ return;
2424
+ }
2425
+ if (this.opts.initSelection === undefined) {
2426
+ throw new Error("cannot call val() if initSelection() is not defined");
2427
+ }
2428
+ this.opts.element.val(val);
2429
+ this.opts.initSelection(this.opts.element, function(data){
2430
+ self.opts.element.val(!data ? "" : self.id(data));
2431
+ self.updateSelection(data);
2432
+ self.setPlaceholder();
2433
+ if (triggerChange) {
2434
+ self.triggerChange({added: data, removed:oldData});
2435
+ }
2436
+ });
2437
+ }
2438
+ },
2439
+
2440
+ // single
2441
+ clearSearch: function () {
2442
+ this.search.val("");
2443
+ this.focusser.val("");
2444
+ },
2445
+
2446
+ // single
2447
+ data: function(value) {
2448
+ var data,
2449
+ triggerChange = false;
2450
+
2451
+ if (arguments.length === 0) {
2452
+ data = this.selection.data("select2-data");
2453
+ if (data == undefined) data = null;
2454
+ return data;
2455
+ } else {
2456
+ if (arguments.length > 1) {
2457
+ triggerChange = arguments[1];
2458
+ }
2459
+ if (!value) {
2460
+ this.clear(triggerChange);
2461
+ } else {
2462
+ data = this.data();
2463
+ this.opts.element.val(!value ? "" : this.id(value));
2464
+ this.updateSelection(value);
2465
+ if (triggerChange) {
2466
+ this.triggerChange({added: value, removed:data});
2467
+ }
2468
+ }
2469
+ }
2470
+ }
2471
+ });
2472
+
2473
+ MultiSelect2 = clazz(AbstractSelect2, {
2474
+
2475
+ // multi
2476
+ createContainer: function () {
2477
+ var container = $(document.createElement("div")).attr({
2478
+ "class": "select2-container select2-container-multi"
2479
+ }).html([
2480
+ "<ul class='select2-choices'>",
2481
+ " <li class='select2-search-field'>",
2482
+ " <label for='' class='select2-offscreen'></label>",
2483
+ " <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'>",
2484
+ " </li>",
2485
+ "</ul>",
2486
+ "<div class='select2-drop select2-drop-multi select2-display-none'>",
2487
+ " <ul class='select2-results'>",
2488
+ " </ul>",
2489
+ "</div>"].join(""));
2490
+ return container;
2491
+ },
2492
+
2493
+ // multi
2494
+ prepareOpts: function () {
2495
+ var opts = this.parent.prepareOpts.apply(this, arguments),
2496
+ self=this;
2497
+
2498
+ // TODO validate placeholder is a string if specified
2499
+
2500
+ if (opts.element.get(0).tagName.toLowerCase() === "select") {
2501
+ // install the selection initializer
2502
+ opts.initSelection = function (element, callback) {
2503
+
2504
+ var data = [];
2505
+
2506
+ element.find("option").filter(function() { return this.selected && !this.disabled }).each2(function (i, elm) {
2507
+ data.push(self.optionToData(elm));
2508
+ });
2509
+ callback(data);
2510
+ };
2511
+ } else if ("data" in opts) {
2512
+ // install default initSelection when applied to hidden input and data is local
2513
+ opts.initSelection = opts.initSelection || function (element, callback) {
2514
+ var ids = splitVal(element.val(), opts.separator);
2515
+ //search in data by array of ids, storing matching items in a list
2516
+ var matches = [];
2517
+ opts.query({
2518
+ matcher: function(term, text, el){
2519
+ var is_match = $.grep(ids, function(id) {
2520
+ return equal(id, opts.id(el));
2521
+ }).length;
2522
+ if (is_match) {
2523
+ matches.push(el);
2524
+ }
2525
+ return is_match;
2526
+ },
2527
+ callback: !$.isFunction(callback) ? $.noop : function() {
2528
+ // reorder matches based on the order they appear in the ids array because right now
2529
+ // they are in the order in which they appear in data array
2530
+ var ordered = [];
2531
+ for (var i = 0; i < ids.length; i++) {
2532
+ var id = ids[i];
2533
+ for (var j = 0; j < matches.length; j++) {
2534
+ var match = matches[j];
2535
+ if (equal(id, opts.id(match))) {
2536
+ ordered.push(match);
2537
+ matches.splice(j, 1);
2538
+ break;
2539
+ }
2540
+ }
2541
+ }
2542
+ callback(ordered);
2543
+ }
2544
+ });
2545
+ };
2546
+ }
2547
+
2548
+ return opts;
2549
+ },
2550
+
2551
+ // multi
2552
+ selectChoice: function (choice) {
2553
+
2554
+ var selected = this.container.find(".select2-search-choice-focus");
2555
+ if (selected.length && choice && choice[0] == selected[0]) {
2556
+
2557
+ } else {
2558
+ if (selected.length) {
2559
+ this.opts.element.trigger("choice-deselected", selected);
2560
+ }
2561
+ selected.removeClass("select2-search-choice-focus");
2562
+ if (choice && choice.length) {
2563
+ this.close();
2564
+ choice.addClass("select2-search-choice-focus");
2565
+ this.opts.element.trigger("choice-selected", choice);
2566
+ }
2567
+ }
2568
+ },
2569
+
2570
+ // multi
2571
+ destroy: function() {
2572
+ $("label[for='" + this.search.attr('id') + "']")
2573
+ .attr('for', this.opts.element.attr("id"));
2574
+ this.parent.destroy.apply(this, arguments);
2575
+ },
2576
+
2577
+ // multi
2578
+ initContainer: function () {
2579
+
2580
+ var selector = ".select2-choices", selection;
2581
+
2582
+ this.searchContainer = this.container.find(".select2-search-field");
2583
+ this.selection = selection = this.container.find(selector);
2584
+
2585
+ var _this = this;
2586
+ this.selection.on("click", ".select2-search-choice:not(.select2-locked)", function (e) {
2587
+ //killEvent(e);
2588
+ _this.search[0].focus();
2589
+ _this.selectChoice($(this));
2590
+ });
2591
+
2592
+ // rewrite labels from original element to focusser
2593
+ this.search.attr("id", "s2id_autogen"+nextUid());
2594
+
2595
+ this.search.prev()
2596
+ .text($("label[for='" + this.opts.element.attr("id") + "']").text())
2597
+ .attr('for', this.search.attr('id'));
2598
+
2599
+ this.search.on("input paste", this.bind(function() {
2600
+ if (!this.isInterfaceEnabled()) return;
2601
+ if (!this.opened()) {
2602
+ this.open();
2603
+ }
2604
+ }));
2605
+
2606
+ this.search.attr("tabindex", this.elementTabIndex);
2607
+
2608
+ this.keydowns = 0;
2609
+ this.search.on("keydown", this.bind(function (e) {
2610
+ if (!this.isInterfaceEnabled()) return;
2611
+
2612
+ ++this.keydowns;
2613
+ var selected = selection.find(".select2-search-choice-focus");
2614
+ var prev = selected.prev(".select2-search-choice:not(.select2-locked)");
2615
+ var next = selected.next(".select2-search-choice:not(.select2-locked)");
2616
+ var pos = getCursorInfo(this.search);
2617
+
2618
+ if (selected.length &&
2619
+ (e.which == KEY.LEFT || e.which == KEY.RIGHT || e.which == KEY.BACKSPACE || e.which == KEY.DELETE || e.which == KEY.ENTER)) {
2620
+ var selectedChoice = selected;
2621
+ if (e.which == KEY.LEFT && prev.length) {
2622
+ selectedChoice = prev;
2623
+ }
2624
+ else if (e.which == KEY.RIGHT) {
2625
+ selectedChoice = next.length ? next : null;
2626
+ }
2627
+ else if (e.which === KEY.BACKSPACE) {
2628
+ if (this.unselect(selected.first())) {
2629
+ this.search.width(10);
2630
+ selectedChoice = prev.length ? prev : next;
2631
+ }
2632
+ } else if (e.which == KEY.DELETE) {
2633
+ if (this.unselect(selected.first())) {
2634
+ this.search.width(10);
2635
+ selectedChoice = next.length ? next : null;
2636
+ }
2637
+ } else if (e.which == KEY.ENTER) {
2638
+ selectedChoice = null;
2639
+ }
2640
+
2641
+ this.selectChoice(selectedChoice);
2642
+ killEvent(e);
2643
+ if (!selectedChoice || !selectedChoice.length) {
2644
+ this.open();
2645
+ }
2646
+ return;
2647
+ } else if (((e.which === KEY.BACKSPACE && this.keydowns == 1)
2648
+ || e.which == KEY.LEFT) && (pos.offset == 0 && !pos.length)) {
2649
+
2650
+ this.selectChoice(selection.find(".select2-search-choice:not(.select2-locked)").last());
2651
+ killEvent(e);
2652
+ return;
2653
+ } else {
2654
+ this.selectChoice(null);
2655
+ }
2656
+
2657
+ if (this.opened()) {
2658
+ switch (e.which) {
2659
+ case KEY.UP:
2660
+ case KEY.DOWN:
2661
+ this.moveHighlight((e.which === KEY.UP) ? -1 : 1);
2662
+ killEvent(e);
2663
+ return;
2664
+ case KEY.ENTER:
2665
+ this.selectHighlighted();
2666
+ killEvent(e);
2667
+ return;
2668
+ case KEY.TAB:
2669
+ this.selectHighlighted({noFocus:true});
2670
+ this.close();
2671
+ return;
2672
+ case KEY.ESC:
2673
+ this.cancel(e);
2674
+ killEvent(e);
2675
+ return;
2676
+ }
2677
+ }
2678
+
2679
+ if (e.which === KEY.TAB || KEY.isControl(e) || KEY.isFunctionKey(e)
2680
+ || e.which === KEY.BACKSPACE || e.which === KEY.ESC) {
2681
+ return;
2682
+ }
2683
+
2684
+ if (e.which === KEY.ENTER) {
2685
+ if (this.opts.openOnEnter === false) {
2686
+ return;
2687
+ } else if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) {
2688
+ return;
2689
+ }
2690
+ }
2691
+
2692
+ this.open();
2693
+
2694
+ if (e.which === KEY.PAGE_UP || e.which === KEY.PAGE_DOWN) {
2695
+ // prevent the page from scrolling
2696
+ killEvent(e);
2697
+ }
2698
+
2699
+ if (e.which === KEY.ENTER) {
2700
+ // prevent form from being submitted
2701
+ killEvent(e);
2702
+ }
2703
+
2704
+ }));
2705
+
2706
+ this.search.on("keyup", this.bind(function (e) {
2707
+ this.keydowns = 0;
2708
+ this.resizeSearch();
2709
+ })
2710
+ );
2711
+
2712
+ this.search.on("blur", this.bind(function(e) {
2713
+ this.container.removeClass("select2-container-active");
2714
+ this.search.removeClass("select2-focused");
2715
+ this.selectChoice(null);
2716
+ if (!this.opened()) this.clearSearch();
2717
+ e.stopImmediatePropagation();
2718
+ this.opts.element.trigger($.Event("select2-blur"));
2719
+ }));
2720
+
2721
+ this.container.on("click", selector, this.bind(function (e) {
2722
+ if (!this.isInterfaceEnabled()) return;
2723
+ if ($(e.target).closest(".select2-search-choice").length > 0) {
2724
+ // clicked inside a select2 search choice, do not open
2725
+ return;
2726
+ }
2727
+ this.selectChoice(null);
2728
+ this.clearPlaceholder();
2729
+ if (!this.container.hasClass("select2-container-active")) {
2730
+ this.opts.element.trigger($.Event("select2-focus"));
2731
+ }
2732
+ this.open();
2733
+ this.focusSearch();
2734
+ e.preventDefault();
2735
+ }));
2736
+
2737
+ this.container.on("focus", selector, this.bind(function () {
2738
+ if (!this.isInterfaceEnabled()) return;
2739
+ if (!this.container.hasClass("select2-container-active")) {
2740
+ this.opts.element.trigger($.Event("select2-focus"));
2741
+ }
2742
+ this.container.addClass("select2-container-active");
2743
+ this.dropdown.addClass("select2-drop-active");
2744
+ this.clearPlaceholder();
2745
+ }));
2746
+
2747
+ this.initContainerWidth();
2748
+ this.opts.element.addClass("select2-offscreen");
2749
+
2750
+ // set the placeholder if necessary
2751
+ this.clearSearch();
2752
+ },
2753
+
2754
+ // multi
2755
+ enableInterface: function() {
2756
+ if (this.parent.enableInterface.apply(this, arguments)) {
2757
+ this.search.prop("disabled", !this.isInterfaceEnabled());
2758
+ }
2759
+ },
2760
+
2761
+ // multi
2762
+ initSelection: function () {
2763
+ var data;
2764
+ if (this.opts.element.val() === "" && this.opts.element.text() === "") {
2765
+ this.updateSelection([]);
2766
+ this.close();
2767
+ // set the placeholder if necessary
2768
+ this.clearSearch();
2769
+ }
2770
+ if (this.select || this.opts.element.val() !== "") {
2771
+ var self = this;
2772
+ this.opts.initSelection.call(null, this.opts.element, function(data){
2773
+ if (data !== undefined && data !== null) {
2774
+ self.updateSelection(data);
2775
+ self.close();
2776
+ // set the placeholder if necessary
2777
+ self.clearSearch();
2778
+ }
2779
+ });
2780
+ }
2781
+ },
2782
+
2783
+ // multi
2784
+ clearSearch: function () {
2785
+ var placeholder = this.getPlaceholder(),
2786
+ maxWidth = this.getMaxSearchWidth();
2787
+
2788
+ if (placeholder !== undefined && this.getVal().length === 0 && this.search.hasClass("select2-focused") === false) {
2789
+ this.search.val(placeholder).addClass("select2-default");
2790
+ // stretch the search box to full width of the container so as much of the placeholder is visible as possible
2791
+ // we could call this.resizeSearch(), but we do not because that requires a sizer and we do not want to create one so early because of a firefox bug, see #944
2792
+ this.search.width(maxWidth > 0 ? maxWidth : this.container.css("width"));
2793
+ } else {
2794
+ this.search.val("").width(10);
2795
+ }
2796
+ },
2797
+
2798
+ // multi
2799
+ clearPlaceholder: function () {
2800
+ if (this.search.hasClass("select2-default")) {
2801
+ this.search.val("").removeClass("select2-default");
2802
+ }
2803
+ },
2804
+
2805
+ // multi
2806
+ opening: function () {
2807
+ this.clearPlaceholder(); // should be done before super so placeholder is not used to search
2808
+ this.resizeSearch();
2809
+
2810
+ this.parent.opening.apply(this, arguments);
2811
+
2812
+ this.focusSearch();
2813
+
2814
+ // initializes search's value with nextSearchTerm (if defined by user)
2815
+ // ignore nextSearchTerm if the dropdown is opened by the user pressing a letter
2816
+ if(this.search.val() === "") {
2817
+ if(this.nextSearchTerm != undefined){
2818
+ this.search.val(this.nextSearchTerm);
2819
+ this.search.select();
2820
+ }
2821
+ }
2822
+
2823
+ this.updateResults(true);
2824
+ this.search.focus();
2825
+ this.opts.element.trigger($.Event("select2-open"));
2826
+ },
2827
+
2828
+ // multi
2829
+ close: function () {
2830
+ if (!this.opened()) return;
2831
+ this.parent.close.apply(this, arguments);
2832
+ },
2833
+
2834
+ // multi
2835
+ focus: function () {
2836
+ this.close();
2837
+ this.search.focus();
2838
+ },
2839
+
2840
+ // multi
2841
+ isFocused: function () {
2842
+ return this.search.hasClass("select2-focused");
2843
+ },
2844
+
2845
+ // multi
2846
+ updateSelection: function (data) {
2847
+ var ids = [], filtered = [], self = this;
2848
+
2849
+ // filter out duplicates
2850
+ $(data).each(function () {
2851
+ if (indexOf(self.id(this), ids) < 0) {
2852
+ ids.push(self.id(this));
2853
+ filtered.push(this);
2854
+ }
2855
+ });
2856
+ data = filtered;
2857
+
2858
+ this.selection.find(".select2-search-choice").remove();
2859
+ $(data).each(function () {
2860
+ self.addSelectedChoice(this);
2861
+ });
2862
+ self.postprocessResults();
2863
+ },
2864
+
2865
+ // multi
2866
+ tokenize: function() {
2867
+ var input = this.search.val();
2868
+ input = this.opts.tokenizer.call(this, input, this.data(), this.bind(this.onSelect), this.opts);
2869
+ if (input != null && input != undefined) {
2870
+ this.search.val(input);
2871
+ if (input.length > 0) {
2872
+ this.open();
2873
+ }
2874
+ }
2875
+
2876
+ },
2877
+
2878
+ // multi
2879
+ onSelect: function (data, options) {
2880
+
2881
+ if (!this.triggerSelect(data)) { return; }
2882
+
2883
+ this.addSelectedChoice(data);
2884
+
2885
+ this.opts.element.trigger({ type: "selected", val: this.id(data), choice: data });
2886
+
2887
+ // keep track of the search's value before it gets cleared
2888
+ this.nextSearchTerm = this.opts.nextSearchTerm(data, this.search.val());
2889
+
2890
+ this.clearSearch();
2891
+ this.updateResults();
2892
+
2893
+ if (this.select || !this.opts.closeOnSelect) this.postprocessResults(data, false, this.opts.closeOnSelect===true);
2894
+
2895
+ if (this.opts.closeOnSelect) {
2896
+ this.close();
2897
+ this.search.width(10);
2898
+ } else {
2899
+ if (this.countSelectableResults()>0) {
2900
+ this.search.width(10);
2901
+ this.resizeSearch();
2902
+ if (this.getMaximumSelectionSize() > 0 && this.val().length >= this.getMaximumSelectionSize()) {
2903
+ // if we reached max selection size repaint the results so choices
2904
+ // are replaced with the max selection reached message
2905
+ this.updateResults(true);
2906
+ } else {
2907
+ // initializes search's value with nextSearchTerm and update search result
2908
+ if(this.nextSearchTerm != undefined){
2909
+ this.search.val(this.nextSearchTerm);
2910
+ this.updateResults();
2911
+ this.search.select();
2912
+ }
2913
+ }
2914
+ this.positionDropdown();
2915
+ } else {
2916
+ // if nothing left to select close
2917
+ this.close();
2918
+ this.search.width(10);
2919
+ }
2920
+ }
2921
+
2922
+ // since its not possible to select an element that has already been
2923
+ // added we do not need to check if this is a new element before firing change
2924
+ this.triggerChange({ added: data });
2925
+
2926
+ if (!options || !options.noFocus)
2927
+ this.focusSearch();
2928
+ },
2929
+
2930
+ // multi
2931
+ cancel: function () {
2932
+ this.close();
2933
+ this.focusSearch();
2934
+ },
2935
+
2936
+ addSelectedChoice: function (data) {
2937
+ var enableChoice = !data.locked,
2938
+ enabledItem = $(
2939
+ "<li class='select2-search-choice'>" +
2940
+ " <div></div>" +
2941
+ " <a href='#' class='select2-search-choice-close' tabindex='-1'></a>" +
2942
+ "</li>"),
2943
+ disabledItem = $(
2944
+ "<li class='select2-search-choice select2-locked'>" +
2945
+ "<div></div>" +
2946
+ "</li>");
2947
+ var choice = enableChoice ? enabledItem : disabledItem,
2948
+ id = this.id(data),
2949
+ val = this.getVal(),
2950
+ formatted,
2951
+ cssClass;
2952
+
2953
+ formatted=this.opts.formatSelection(data, choice.find("div"), this.opts.escapeMarkup);
2954
+ if (formatted != undefined) {
2955
+ choice.find("div").replaceWith("<div>"+formatted+"</div>");
2956
+ }
2957
+ cssClass=this.opts.formatSelectionCssClass(data, choice.find("div"));
2958
+ if (cssClass != undefined) {
2959
+ choice.addClass(cssClass);
2960
+ }
2961
+
2962
+ if(enableChoice){
2963
+ choice.find(".select2-search-choice-close")
2964
+ .on("mousedown", killEvent)
2965
+ .on("click dblclick", this.bind(function (e) {
2966
+ if (!this.isInterfaceEnabled()) return;
2967
+
2968
+ this.unselect($(e.target));
2969
+ this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus");
2970
+ killEvent(e);
2971
+ this.close();
2972
+ this.focusSearch();
2973
+ })).on("focus", this.bind(function () {
2974
+ if (!this.isInterfaceEnabled()) return;
2975
+ this.container.addClass("select2-container-active");
2976
+ this.dropdown.addClass("select2-drop-active");
2977
+ }));
2978
+ }
2979
+
2980
+ choice.data("select2-data", data);
2981
+ choice.insertBefore(this.searchContainer);
2982
+
2983
+ val.push(id);
2984
+ this.setVal(val);
2985
+ },
2986
+
2987
+ // multi
2988
+ unselect: function (selected) {
2989
+ var val = this.getVal(),
2990
+ data,
2991
+ index;
2992
+ selected = selected.closest(".select2-search-choice");
2993
+
2994
+ if (selected.length === 0) {
2995
+ throw "Invalid argument: " + selected + ". Must be .select2-search-choice";
2996
+ }
2997
+
2998
+ data = selected.data("select2-data");
2999
+
3000
+ if (!data) {
3001
+ // prevent a race condition when the 'x' is clicked really fast repeatedly the event can be queued
3002
+ // and invoked on an element already removed
3003
+ return;
3004
+ }
3005
+
3006
+ var evt = $.Event("select2-removing");
3007
+ evt.val = this.id(data);
3008
+ evt.choice = data;
3009
+ this.opts.element.trigger(evt);
3010
+
3011
+ if (evt.isDefaultPrevented()) {
3012
+ return false;
3013
+ }
3014
+
3015
+ while((index = indexOf(this.id(data), val)) >= 0) {
3016
+ val.splice(index, 1);
3017
+ this.setVal(val);
3018
+ if (this.select) this.postprocessResults();
3019
+ }
3020
+
3021
+ selected.remove();
3022
+
3023
+ this.opts.element.trigger({ type: "select2-removed", val: this.id(data), choice: data });
3024
+ this.triggerChange({ removed: data });
3025
+
3026
+ return true;
3027
+ },
3028
+
3029
+ // multi
3030
+ postprocessResults: function (data, initial, noHighlightUpdate) {
3031
+ var val = this.getVal(),
3032
+ choices = this.results.find(".select2-result"),
3033
+ compound = this.results.find(".select2-result-with-children"),
3034
+ self = this;
3035
+
3036
+ choices.each2(function (i, choice) {
3037
+ var id = self.id(choice.data("select2-data"));
3038
+ if (indexOf(id, val) >= 0) {
3039
+ choice.addClass("select2-selected");
3040
+ // mark all children of the selected parent as selected
3041
+ choice.find(".select2-result-selectable").addClass("select2-selected");
3042
+ }
3043
+ });
3044
+
3045
+ compound.each2(function(i, choice) {
3046
+ // hide an optgroup if it doesn't have any selectable children
3047
+ if (!choice.is('.select2-result-selectable')
3048
+ && choice.find(".select2-result-selectable:not(.select2-selected)").length === 0) {
3049
+ choice.addClass("select2-selected");
3050
+ }
3051
+ });
3052
+
3053
+ if (this.highlight() == -1 && noHighlightUpdate !== false){
3054
+ self.highlight(0);
3055
+ }
3056
+
3057
+ //If all results are chosen render formatNoMatches
3058
+ if(!this.opts.createSearchChoice && !choices.filter('.select2-result:not(.select2-selected)').length > 0){
3059
+ if(!data || data && !data.more && this.results.find(".select2-no-results").length === 0) {
3060
+ if (checkFormatter(self.opts.formatNoMatches, "formatNoMatches")) {
3061
+ this.results.append("<li class='select2-no-results'>" + evaluate(self.opts.formatNoMatches, self.search.val()) + "</li>");
3062
+ }
3063
+ }
3064
+ }
3065
+
3066
+ },
3067
+
3068
+ // multi
3069
+ getMaxSearchWidth: function() {
3070
+ return this.selection.width() - getSideBorderPadding(this.search);
3071
+ },
3072
+
3073
+ // multi
3074
+ resizeSearch: function () {
3075
+ var minimumWidth, left, maxWidth, containerLeft, searchWidth,
3076
+ sideBorderPadding = getSideBorderPadding(this.search);
3077
+
3078
+ minimumWidth = measureTextWidth(this.search) + 10;
3079
+
3080
+ left = this.search.offset().left;
3081
+
3082
+ maxWidth = this.selection.width();
3083
+ containerLeft = this.selection.offset().left;
3084
+
3085
+ searchWidth = maxWidth - (left - containerLeft) - sideBorderPadding;
3086
+
3087
+ if (searchWidth < minimumWidth) {
3088
+ searchWidth = maxWidth - sideBorderPadding;
3089
+ }
3090
+
3091
+ if (searchWidth < 40) {
3092
+ searchWidth = maxWidth - sideBorderPadding;
3093
+ }
3094
+
3095
+ if (searchWidth <= 0) {
3096
+ searchWidth = minimumWidth;
3097
+ }
3098
+
3099
+ this.search.width(Math.floor(searchWidth));
3100
+ },
3101
+
3102
+ // multi
3103
+ getVal: function () {
3104
+ var val;
3105
+ if (this.select) {
3106
+ val = this.select.val();
3107
+ return val === null ? [] : val;
3108
+ } else {
3109
+ val = this.opts.element.val();
3110
+ return splitVal(val, this.opts.separator);
3111
+ }
3112
+ },
3113
+
3114
+ // multi
3115
+ setVal: function (val) {
3116
+ var unique;
3117
+ if (this.select) {
3118
+ this.select.val(val);
3119
+ } else {
3120
+ unique = [];
3121
+ // filter out duplicates
3122
+ $(val).each(function () {
3123
+ if (indexOf(this, unique) < 0) unique.push(this);
3124
+ });
3125
+ this.opts.element.val(unique.length === 0 ? "" : unique.join(this.opts.separator));
3126
+ }
3127
+ },
3128
+
3129
+ // multi
3130
+ buildChangeDetails: function (old, current) {
3131
+ var current = current.slice(0),
3132
+ old = old.slice(0);
3133
+
3134
+ // remove intersection from each array
3135
+ for (var i = 0; i < current.length; i++) {
3136
+ for (var j = 0; j < old.length; j++) {
3137
+ if (equal(this.opts.id(current[i]), this.opts.id(old[j]))) {
3138
+ current.splice(i, 1);
3139
+ if(i>0){
3140
+ i--;
3141
+ }
3142
+ old.splice(j, 1);
3143
+ j--;
3144
+ }
3145
+ }
3146
+ }
3147
+
3148
+ return {added: current, removed: old};
3149
+ },
3150
+
3151
+
3152
+ // multi
3153
+ val: function (val, triggerChange) {
3154
+ var oldData, self=this;
3155
+
3156
+ if (arguments.length === 0) {
3157
+ return this.getVal();
3158
+ }
3159
+
3160
+ oldData=this.data();
3161
+ if (!oldData.length) oldData=[];
3162
+
3163
+ // val is an id. !val is true for [undefined,null,'',0] - 0 is legal
3164
+ if (!val && val !== 0) {
3165
+ this.opts.element.val("");
3166
+ this.updateSelection([]);
3167
+ this.clearSearch();
3168
+ if (triggerChange) {
3169
+ this.triggerChange({added: this.data(), removed: oldData});
3170
+ }
3171
+ return;
3172
+ }
3173
+
3174
+ // val is a list of ids
3175
+ this.setVal(val);
3176
+
3177
+ if (this.select) {
3178
+ this.opts.initSelection(this.select, this.bind(this.updateSelection));
3179
+ if (triggerChange) {
3180
+ this.triggerChange(this.buildChangeDetails(oldData, this.data()));
3181
+ }
3182
+ } else {
3183
+ if (this.opts.initSelection === undefined) {
3184
+ throw new Error("val() cannot be called if initSelection() is not defined");
3185
+ }
3186
+
3187
+ this.opts.initSelection(this.opts.element, function(data){
3188
+ var ids=$.map(data, self.id);
3189
+ self.setVal(ids);
3190
+ self.updateSelection(data);
3191
+ self.clearSearch();
3192
+ if (triggerChange) {
3193
+ self.triggerChange(self.buildChangeDetails(oldData, self.data()));
3194
+ }
3195
+ });
3196
+ }
3197
+ this.clearSearch();
3198
+ },
3199
+
3200
+ // multi
3201
+ onSortStart: function() {
3202
+ if (this.select) {
3203
+ throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");
3204
+ }
3205
+
3206
+ // collapse search field into 0 width so its container can be collapsed as well
3207
+ this.search.width(0);
3208
+ // hide the container
3209
+ this.searchContainer.hide();
3210
+ },
3211
+
3212
+ // multi
3213
+ onSortEnd:function() {
3214
+
3215
+ var val=[], self=this;
3216
+
3217
+ // show search and move it to the end of the list
3218
+ this.searchContainer.show();
3219
+ // make sure the search container is the last item in the list
3220
+ this.searchContainer.appendTo(this.searchContainer.parent());
3221
+ // since we collapsed the width in dragStarted, we resize it here
3222
+ this.resizeSearch();
3223
+
3224
+ // update selection
3225
+ this.selection.find(".select2-search-choice").each(function() {
3226
+ val.push(self.opts.id($(this).data("select2-data")));
3227
+ });
3228
+ this.setVal(val);
3229
+ this.triggerChange();
3230
+ },
3231
+
3232
+ // multi
3233
+ data: function(values, triggerChange) {
3234
+ var self=this, ids, old;
3235
+ if (arguments.length === 0) {
3236
+ return this.selection
3237
+ .children(".select2-search-choice")
3238
+ .map(function() { return $(this).data("select2-data"); })
3239
+ .get();
3240
+ } else {
3241
+ old = this.data();
3242
+ if (!values) { values = []; }
3243
+ ids = $.map(values, function(e) { return self.opts.id(e); });
3244
+ this.setVal(ids);
3245
+ this.updateSelection(values);
3246
+ this.clearSearch();
3247
+ if (triggerChange) {
3248
+ this.triggerChange(this.buildChangeDetails(old, this.data()));
3249
+ }
3250
+ }
3251
+ }
3252
+ });
3253
+
3254
+ $.fn.select2 = function () {
3255
+
3256
+ var args = Array.prototype.slice.call(arguments, 0),
3257
+ opts,
3258
+ select2,
3259
+ method, value, multiple,
3260
+ allowedMethods = ["val", "destroy", "opened", "open", "close", "focus", "isFocused", "container", "dropdown", "onSortStart", "onSortEnd", "enable", "disable", "readonly", "positionDropdown", "data", "search"],
3261
+ valueMethods = ["opened", "isFocused", "container", "dropdown"],
3262
+ propertyMethods = ["val", "data"],
3263
+ methodsMap = { search: "externalSearch" };
3264
+
3265
+ this.each(function () {
3266
+ if (args.length === 0 || typeof(args[0]) === "object") {
3267
+ opts = args.length === 0 ? {} : $.extend({}, args[0]);
3268
+ opts.element = $(this);
3269
+
3270
+ if (opts.element.get(0).tagName.toLowerCase() === "select") {
3271
+ multiple = opts.element.prop("multiple");
3272
+ } else {
3273
+ multiple = opts.multiple || false;
3274
+ if ("tags" in opts) {opts.multiple = multiple = true;}
3275
+ }
3276
+
3277
+ select2 = multiple ? new window.Select2["class"].multi() : new window.Select2["class"].single();
3278
+ select2.init(opts);
3279
+ } else if (typeof(args[0]) === "string") {
3280
+
3281
+ if (indexOf(args[0], allowedMethods) < 0) {
3282
+ throw "Unknown method: " + args[0];
3283
+ }
3284
+
3285
+ value = undefined;
3286
+ select2 = $(this).data("select2");
3287
+ if (select2 === undefined) return;
3288
+
3289
+ method=args[0];
3290
+
3291
+ if (method === "container") {
3292
+ value = select2.container;
3293
+ } else if (method === "dropdown") {
3294
+ value = select2.dropdown;
3295
+ } else {
3296
+ if (methodsMap[method]) method = methodsMap[method];
3297
+
3298
+ value = select2[method].apply(select2, args.slice(1));
3299
+ }
3300
+ if (indexOf(args[0], valueMethods) >= 0
3301
+ || (indexOf(args[0], propertyMethods) && args.length == 1)) {
3302
+ return false; // abort the iteration, ready to return first matched value
3303
+ }
3304
+ } else {
3305
+ throw "Invalid arguments to select2 plugin: " + args;
3306
+ }
3307
+ });
3308
+ return (value === undefined) ? this : value;
3309
+ };
3310
+
3311
+ // plugin defaults, accessible to users
3312
+ $.fn.select2.defaults = {
3313
+ width: "copy",
3314
+ loadMorePadding: 0,
3315
+ closeOnSelect: true,
3316
+ openOnEnter: true,
3317
+ containerCss: {},
3318
+ dropdownCss: {},
3319
+ containerCssClass: "",
3320
+ dropdownCssClass: "",
3321
+ formatResult: function(result, container, query, escapeMarkup) {
3322
+ var markup=[];
3323
+ markMatch(result.text, query.term, markup, escapeMarkup);
3324
+ return markup.join("");
3325
+ },
3326
+ formatSelection: function (data, container, escapeMarkup) {
3327
+ return data ? escapeMarkup(data.text) : undefined;
3328
+ },
3329
+ sortResults: function (results, container, query) {
3330
+ return results;
3331
+ },
3332
+ formatResultCssClass: function(data) {return data.css;},
3333
+ formatSelectionCssClass: function(data, container) {return undefined;},
3334
+ formatMatches: function (matches) { return matches + " results are available, use up and down arrow keys to navigate."; },
3335
+ formatNoMatches: function () { return "No matches found"; },
3336
+ formatInputTooShort: function (input, min) { var n = min - input.length; return "Please enter " + n + " or more character" + (n == 1? "" : "s"); },
3337
+ formatInputTooLong: function (input, max) { var n = input.length - max; return "Please delete " + n + " character" + (n == 1? "" : "s"); },
3338
+ formatSelectionTooBig: function (limit) { return "You can only select " + limit + " item" + (limit == 1 ? "" : "s"); },
3339
+ formatLoadMore: function (pageNumber) { return "Loading more results…"; },
3340
+ formatSearching: function () { return "Searching…"; },
3341
+ minimumResultsForSearch: 0,
3342
+ minimumInputLength: 0,
3343
+ maximumInputLength: null,
3344
+ maximumSelectionSize: 0,
3345
+ id: function (e) { return e == undefined ? null : e.id; },
3346
+ matcher: function(term, text) {
3347
+ return stripDiacritics(''+text).toUpperCase().indexOf(stripDiacritics(''+term).toUpperCase()) >= 0;
3348
+ },
3349
+ separator: ",",
3350
+ tokenSeparators: [],
3351
+ tokenizer: defaultTokenizer,
3352
+ escapeMarkup: defaultEscapeMarkup,
3353
+ blurOnChange: false,
3354
+ selectOnBlur: false,
3355
+ adaptContainerCssClass: function(c) { return c; },
3356
+ adaptDropdownCssClass: function(c) { return null; },
3357
+ nextSearchTerm: function(selectedObject, currentSearchTerm) { return undefined; },
3358
+ searchInputPlaceholder: '',
3359
+ createSearchChoicePosition: 'top',
3360
+ shouldFocusInput: function (instance) {
3361
+ // Never focus the input if search is disabled
3362
+ if (instance.opts.minimumResultsForSearch < 0) {
3363
+ return false;
3364
+ }
3365
+
3366
+ return true;
3367
+ }
3368
+ };
3369
+
3370
+ $.fn.select2.ajaxDefaults = {
3371
+ transport: $.ajax,
3372
+ params: {
3373
+ type: "GET",
3374
+ cache: false,
3375
+ dataType: "json"
3376
+ }
3377
+ };
3378
+
3379
+ // exports
3380
+ window.Select2 = {
3381
+ query: {
3382
+ ajax: ajax,
3383
+ local: local,
3384
+ tags: tags
3385
+ }, util: {
3386
+ debounce: debounce,
3387
+ markMatch: markMatch,
3388
+ escapeMarkup: defaultEscapeMarkup,
3389
+ stripDiacritics: stripDiacritics
3390
+ }, "class": {
3391
+ "abstract": AbstractSelect2,
3392
+ "single": SingleSelect2,
3393
+ "multi": MultiSelect2
3394
+ }
3395
+ };
3396
+
3397
+ }(jQuery));
js/select2/select2.min.js ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Copyright 2014 Igor Vaynberg
3
+
4
+ Version: 3.4.6 Timestamp: Sat Mar 22 22:30:15 EDT 2014
5
+
6
+ This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
7
+ General Public License version 2 (the "GPL License"). You may choose either license to govern your
8
+ use of this software only upon the condition that you accept all of the terms of either the Apache
9
+ License or the GPL License.
10
+
11
+ You may obtain a copy of the Apache License and the GPL License at:
12
+
13
+ http://www.apache.org/licenses/LICENSE-2.0
14
+ http://www.gnu.org/licenses/gpl-2.0.html
15
+
16
+ Unless required by applicable law or agreed to in writing, software distributed under the Apache License
17
+ or the GPL Licesnse is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
18
+ either express or implied. See the Apache License and the GPL License for the specific language governing
19
+ permissions and limitations under the Apache License and the GPL License.
20
+ */
21
+ !function(a){"undefined"==typeof a.fn.each2&&a.extend(a.fn,{each2:function(b){for(var c=a([0]),d=-1,e=this.length;++d<e&&(c.context=c[0]=this[d])&&b.call(c[0],d,c)!==!1;);return this}})}(jQuery),function(a,b){"use strict";function n(b){var c=a(document.createTextNode(""));b.before(c),c.before(b),c.remove()}function o(a){var b,c,d,e;if(!a||a.length<1)return a;for(b="",c=0,d=a.length;d>c;c++)e=a.charAt(c),b+=m[e]||e;return b}function p(a,b){for(var c=0,d=b.length;d>c;c+=1)if(r(a,b[c]))return c;return-1}function q(){var b=a(l);b.appendTo("body");var c={width:b.width()-b[0].clientWidth,height:b.height()-b[0].clientHeight};return b.remove(),c}function r(a,c){return a===c?!0:a===b||c===b?!1:null===a||null===c?!1:a.constructor===String?a+""==c+"":c.constructor===String?c+""==a+"":!1}function s(b,c){var d,e,f;if(null===b||b.length<1)return[];for(d=b.split(c),e=0,f=d.length;f>e;e+=1)d[e]=a.trim(d[e]);return d}function t(a){return a.outerWidth(!1)-a.width()}function u(c){var d="keyup-change-value";c.on("keydown",function(){a.data(c,d)===b&&a.data(c,d,c.val())}),c.on("keyup",function(){var e=a.data(c,d);e!==b&&c.val()!==e&&(a.removeData(c,d),c.trigger("keyup-change"))})}function v(c){c.on("mousemove",function(c){var d=i;(d===b||d.x!==c.pageX||d.y!==c.pageY)&&a(c.target).trigger("mousemove-filtered",c)})}function w(a,c,d){d=d||b;var e;return function(){var b=arguments;window.clearTimeout(e),e=window.setTimeout(function(){c.apply(d,b)},a)}}function x(a){var c,b=!1;return function(){return b===!1&&(c=a(),b=!0),c}}function y(a,b){var c=w(a,function(a){b.trigger("scroll-debounced",a)});b.on("scroll",function(a){p(a.target,b.get())>=0&&c(a)})}function z(a){a[0]!==document.activeElement&&window.setTimeout(function(){var d,b=a[0],c=a.val().length;a.focus();var e=b.offsetWidth>0||b.offsetHeight>0;e&&b===document.activeElement&&(b.setSelectionRange?b.setSelectionRange(c,c):b.createTextRange&&(d=b.createTextRange(),d.collapse(!1),d.select()))},0)}function A(b){b=a(b)[0];var c=0,d=0;if("selectionStart"in b)c=b.selectionStart,d=b.selectionEnd-c;else if("selection"in document){b.focus();var e=document.selection.createRange();d=document.selection.createRange().text.length,e.moveStart("character",-b.value.length),c=e.text.length-d}return{offset:c,length:d}}function B(a){a.preventDefault(),a.stopPropagation()}function C(a){a.preventDefault(),a.stopImmediatePropagation()}function D(b){if(!h){var c=b[0].currentStyle||window.getComputedStyle(b[0],null);h=a(document.createElement("div")).css({position:"absolute",left:"-10000px",top:"-10000px",display:"none",fontSize:c.fontSize,fontFamily:c.fontFamily,fontStyle:c.fontStyle,fontWeight:c.fontWeight,letterSpacing:c.letterSpacing,textTransform:c.textTransform,whiteSpace:"nowrap"}),h.attr("class","select2-sizer"),a("body").append(h)}return h.text(b.val()),h.width()}function E(b,c,d){var e,g,f=[];e=b.attr("class"),e&&(e=""+e,a(e.split(" ")).each2(function(){0===this.indexOf("select2-")&&f.push(this)})),e=c.attr("class"),e&&(e=""+e,a(e.split(" ")).each2(function(){0!==this.indexOf("select2-")&&(g=d(this),g&&f.push(g))})),b.attr("class",f.join(" "))}function F(a,b,c,d){var e=o(a.toUpperCase()).indexOf(o(b.toUpperCase())),f=b.length;return 0>e?(c.push(d(a)),void 0):(c.push(d(a.substring(0,e))),c.push("<span class='select2-match'>"),c.push(d(a.substring(e,e+f))),c.push("</span>"),c.push(d(a.substring(e+f,a.length))),void 0)}function G(a){var b={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})}function H(c){var d,e=null,f=c.quietMillis||100,g=c.url,h=this;return function(i){window.clearTimeout(d),d=window.setTimeout(function(){var d=c.data,f=g,j=c.transport||a.fn.select2.ajaxDefaults.transport,k={type:c.type||"GET",cache:c.cache||!1,jsonpCallback:c.jsonpCallback||b,dataType:c.dataType||"json"},l=a.extend({},a.fn.select2.ajaxDefaults.params,k);d=d?d.call(h,i.term,i.page,i.context):null,f="function"==typeof f?f.call(h,i.term,i.page,i.context):f,e&&"function"==typeof e.abort&&e.abort(),c.params&&(a.isFunction(c.params)?a.extend(l,c.params.call(h)):a.extend(l,c.params)),a.extend(l,{url:f,dataType:c.dataType,data:d,success:function(a){var b=c.results(a,i.page);i.callback(b)}}),e=j.call(h,l)},f)}}function I(b){var d,e,c=b,f=function(a){return""+a.text};a.isArray(c)&&(e=c,c={results:e}),a.isFunction(c)===!1&&(e=c,c=function(){return e});var g=c();return g.text&&(f=g.text,a.isFunction(f)||(d=g.text,f=function(a){return a[d]})),function(b){var g,d=b.term,e={results:[]};return""===d?(b.callback(c()),void 0):(g=function(c,e){var h,i;if(c=c[0],c.children){h={};for(i in c)c.hasOwnProperty(i)&&(h[i]=c[i]);h.children=[],a(c.children).each2(function(a,b){g(b,h.children)}),(h.children.length||b.matcher(d,f(h),c))&&e.push(h)}else b.matcher(d,f(c),c)&&e.push(c)},a(c().results).each2(function(a,b){g(b,e.results)}),b.callback(e),void 0)}}function J(c){var d=a.isFunction(c);return function(e){var f=e.term,g={results:[]};a(d?c():c).each(function(){var a=this.text!==b,c=a?this.text:this;(""===f||e.matcher(f,c))&&g.results.push(a?this:{id:this,text:this})}),e.callback(g)}}function K(b,c){if(a.isFunction(b))return!0;if(!b)return!1;if("string"==typeof b)return!0;throw new Error(c+" must be a string, function, or falsy value")}function L(b){if(a.isFunction(b)){var c=Array.prototype.slice.call(arguments,1);return b.apply(null,c)}return b}function M(b){var c=0;return a.each(b,function(a,b){b.children?c+=M(b.children):c++}),c}function N(a,c,d,e){var h,i,j,k,l,f=a,g=!1;if(!e.createSearchChoice||!e.tokenSeparators||e.tokenSeparators.length<1)return b;for(;;){for(i=-1,j=0,k=e.tokenSeparators.length;k>j&&(l=e.tokenSeparators[j],i=a.indexOf(l),!(i>=0));j++);if(0>i)break;if(h=a.substring(0,i),a=a.substring(i+l.length),h.length>0&&(h=e.createSearchChoice.call(this,h,c),h!==b&&null!==h&&e.id(h)!==b&&null!==e.id(h))){for(g=!1,j=0,k=c.length;k>j;j++)if(r(e.id(h),e.id(c[j]))){g=!0;break}g||d(h)}}return f!==a?a:void 0}function O(b,c){var d=function(){};return d.prototype=new b,d.prototype.constructor=d,d.prototype.parent=b.prototype,d.prototype=a.extend(d.prototype,c),d}if(window.Select2===b){var c,d,e,f,g,h,j,k,i={x:0,y:0},c={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,isArrow:function(a){switch(a=a.which?a.which:a){case c.LEFT:case c.RIGHT:case c.UP:case c.DOWN:return!0}return!1},isControl:function(a){var b=a.which;switch(b){case c.SHIFT:case c.CTRL:case c.ALT:return!0}return a.metaKey?!0:!1},isFunctionKey:function(a){return a=a.which?a.which:a,a>=112&&123>=a}},l="<div class='select2-measure-scrollbar'></div>",m={"\u24b6":"A","\uff21":"A","\xc0":"A","\xc1":"A","\xc2":"A","\u1ea6":"A","\u1ea4":"A","\u1eaa":"A","\u1ea8":"A","\xc3":"A","\u0100":"A","\u0102":"A","\u1eb0":"A","\u1eae":"A","\u1eb4":"A","\u1eb2":"A","\u0226":"A","\u01e0":"A","\xc4":"A","\u01de":"A","\u1ea2":"A","\xc5":"A","\u01fa":"A","\u01cd":"A","\u0200":"A","\u0202":"A","\u1ea0":"A","\u1eac":"A","\u1eb6":"A","\u1e00":"A","\u0104":"A","\u023a":"A","\u2c6f":"A","\ua732":"AA","\xc6":"AE","\u01fc":"AE","\u01e2":"AE","\ua734":"AO","\ua736":"AU","\ua738":"AV","\ua73a":"AV","\ua73c":"AY","\u24b7":"B","\uff22":"B","\u1e02":"B","\u1e04":"B","\u1e06":"B","\u0243":"B","\u0182":"B","\u0181":"B","\u24b8":"C","\uff23":"C","\u0106":"C","\u0108":"C","\u010a":"C","\u010c":"C","\xc7":"C","\u1e08":"C","\u0187":"C","\u023b":"C","\ua73e":"C","\u24b9":"D","\uff24":"D","\u1e0a":"D","\u010e":"D","\u1e0c":"D","\u1e10":"D","\u1e12":"D","\u1e0e":"D","\u0110":"D","\u018b":"D","\u018a":"D","\u0189":"D","\ua779":"D","\u01f1":"DZ","\u01c4":"DZ","\u01f2":"Dz","\u01c5":"Dz","\u24ba":"E","\uff25":"E","\xc8":"E","\xc9":"E","\xca":"E","\u1ec0":"E","\u1ebe":"E","\u1ec4":"E","\u1ec2":"E","\u1ebc":"E","\u0112":"E","\u1e14":"E","\u1e16":"E","\u0114":"E","\u0116":"E","\xcb":"E","\u1eba":"E","\u011a":"E","\u0204":"E","\u0206":"E","\u1eb8":"E","\u1ec6":"E","\u0228":"E","\u1e1c":"E","\u0118":"E","\u1e18":"E","\u1e1a":"E","\u0190":"E","\u018e":"E","\u24bb":"F","\uff26":"F","\u1e1e":"F","\u0191":"F","\ua77b":"F","\u24bc":"G","\uff27":"G","\u01f4":"G","\u011c":"G","\u1e20":"G","\u011e":"G","\u0120":"G","\u01e6":"G","\u0122":"G","\u01e4":"G","\u0193":"G","\ua7a0":"G","\ua77d":"G","\ua77e":"G","\u24bd":"H","\uff28":"H","\u0124":"H","\u1e22":"H","\u1e26":"H","\u021e":"H","\u1e24":"H","\u1e28":"H","\u1e2a":"H","\u0126":"H","\u2c67":"H","\u2c75":"H","\ua78d":"H","\u24be":"I","\uff29":"I","\xcc":"I","\xcd":"I","\xce":"I","\u0128":"I","\u012a":"I","\u012c":"I","\u0130":"I","\xcf":"I","\u1e2e":"I","\u1ec8":"I","\u01cf":"I","\u0208":"I","\u020a":"I","\u1eca":"I","\u012e":"I","\u1e2c":"I","\u0197":"I","\u24bf":"J","\uff2a":"J","\u0134":"J","\u0248":"J","\u24c0":"K","\uff2b":"K","\u1e30":"K","\u01e8":"K","\u1e32":"K","\u0136":"K","\u1e34":"K","\u0198":"K","\u2c69":"K","\ua740":"K","\ua742":"K","\ua744":"K","\ua7a2":"K","\u24c1":"L","\uff2c":"L","\u013f":"L","\u0139":"L","\u013d":"L","\u1e36":"L","\u1e38":"L","\u013b":"L","\u1e3c":"L","\u1e3a":"L","\u0141":"L","\u023d":"L","\u2c62":"L","\u2c60":"L","\ua748":"L","\ua746":"L","\ua780":"L","\u01c7":"LJ","\u01c8":"Lj","\u24c2":"M","\uff2d":"M","\u1e3e":"M","\u1e40":"M","\u1e42":"M","\u2c6e":"M","\u019c":"M","\u24c3":"N","\uff2e":"N","\u01f8":"N","\u0143":"N","\xd1":"N","\u1e44":"N","\u0147":"N","\u1e46":"N","\u0145":"N","\u1e4a":"N","\u1e48":"N","\u0220":"N","\u019d":"N","\ua790":"N","\ua7a4":"N","\u01ca":"NJ","\u01cb":"Nj","\u24c4":"O","\uff2f":"O","\xd2":"O","\xd3":"O","\xd4":"O","\u1ed2":"O","\u1ed0":"O","\u1ed6":"O","\u1ed4":"O","\xd5":"O","\u1e4c":"O","\u022c":"O","\u1e4e":"O","\u014c":"O","\u1e50":"O","\u1e52":"O","\u014e":"O","\u022e":"O","\u0230":"O","\xd6":"O","\u022a":"O","\u1ece":"O","\u0150":"O","\u01d1":"O","\u020c":"O","\u020e":"O","\u01a0":"O","\u1edc":"O","\u1eda":"O","\u1ee0":"O","\u1ede":"O","\u1ee2":"O","\u1ecc":"O","\u1ed8":"O","\u01ea":"O","\u01ec":"O","\xd8":"O","\u01fe":"O","\u0186":"O","\u019f":"O","\ua74a":"O","\ua74c":"O","\u01a2":"OI","\ua74e":"OO","\u0222":"OU","\u24c5":"P","\uff30":"P","\u1e54":"P","\u1e56":"P","\u01a4":"P","\u2c63":"P","\ua750":"P","\ua752":"P","\ua754":"P","\u24c6":"Q","\uff31":"Q","\ua756":"Q","\ua758":"Q","\u024a":"Q","\u24c7":"R","\uff32":"R","\u0154":"R","\u1e58":"R","\u0158":"R","\u0210":"R","\u0212":"R","\u1e5a":"R","\u1e5c":"R","\u0156":"R","\u1e5e":"R","\u024c":"R","\u2c64":"R","\ua75a":"R","\ua7a6":"R","\ua782":"R","\u24c8":"S","\uff33":"S","\u1e9e":"S","\u015a":"S","\u1e64":"S","\u015c":"S","\u1e60":"S","\u0160":"S","\u1e66":"S","\u1e62":"S","\u1e68":"S","\u0218":"S","\u015e":"S","\u2c7e":"S","\ua7a8":"S","\ua784":"S","\u24c9":"T","\uff34":"T","\u1e6a":"T","\u0164":"T","\u1e6c":"T","\u021a":"T","\u0162":"T","\u1e70":"T","\u1e6e":"T","\u0166":"T","\u01ac":"T","\u01ae":"T","\u023e":"T","\ua786":"T","\ua728":"TZ","\u24ca":"U","\uff35":"U","\xd9":"U","\xda":"U","\xdb":"U","\u0168":"U","\u1e78":"U","\u016a":"U","\u1e7a":"U","\u016c":"U","\xdc":"U","\u01db":"U","\u01d7":"U","\u01d5":"U","\u01d9":"U","\u1ee6":"U","\u016e":"U","\u0170":"U","\u01d3":"U","\u0214":"U","\u0216":"U","\u01af":"U","\u1eea":"U","\u1ee8":"U","\u1eee":"U","\u1eec":"U","\u1ef0":"U","\u1ee4":"U","\u1e72":"U","\u0172":"U","\u1e76":"U","\u1e74":"U","\u0244":"U","\u24cb":"V","\uff36":"V","\u1e7c":"V","\u1e7e":"V","\u01b2":"V","\ua75e":"V","\u0245":"V","\ua760":"VY","\u24cc":"W","\uff37":"W","\u1e80":"W","\u1e82":"W","\u0174":"W","\u1e86":"W","\u1e84":"W","\u1e88":"W","\u2c72":"W","\u24cd":"X","\uff38":"X","\u1e8a":"X","\u1e8c":"X","\u24ce":"Y","\uff39":"Y","\u1ef2":"Y","\xdd":"Y","\u0176":"Y","\u1ef8":"Y","\u0232":"Y","\u1e8e":"Y","\u0178":"Y","\u1ef6":"Y","\u1ef4":"Y","\u01b3":"Y","\u024e":"Y","\u1efe":"Y","\u24cf":"Z","\uff3a":"Z","\u0179":"Z","\u1e90":"Z","\u017b":"Z","\u017d":"Z","\u1e92":"Z","\u1e94":"Z","\u01b5":"Z","\u0224":"Z","\u2c7f":"Z","\u2c6b":"Z","\ua762":"Z","\u24d0":"a","\uff41":"a","\u1e9a":"a","\xe0":"a","\xe1":"a","\xe2":"a","\u1ea7":"a","\u1ea5":"a","\u1eab":"a","\u1ea9":"a","\xe3":"a","\u0101":"a","\u0103":"a","\u1eb1":"a","\u1eaf":"a","\u1eb5":"a","\u1eb3":"a","\u0227":"a","\u01e1":"a","\xe4":"a","\u01df":"a","\u1ea3":"a","\xe5":"a","\u01fb":"a","\u01ce":"a","\u0201":"a","\u0203":"a","\u1ea1":"a","\u1ead":"a","\u1eb7":"a","\u1e01":"a","\u0105":"a","\u2c65":"a","\u0250":"a","\ua733":"aa","\xe6":"ae","\u01fd":"ae","\u01e3":"ae","\ua735":"ao","\ua737":"au","\ua739":"av","\ua73b":"av","\ua73d":"ay","\u24d1":"b","\uff42":"b","\u1e03":"b","\u1e05":"b","\u1e07":"b","\u0180":"b","\u0183":"b","\u0253":"b","\u24d2":"c","\uff43":"c","\u0107":"c","\u0109":"c","\u010b":"c","\u010d":"c","\xe7":"c","\u1e09":"c","\u0188":"c","\u023c":"c","\ua73f":"c","\u2184":"c","\u24d3":"d","\uff44":"d","\u1e0b":"d","\u010f":"d","\u1e0d":"d","\u1e11":"d","\u1e13":"d","\u1e0f":"d","\u0111":"d","\u018c":"d","\u0256":"d","\u0257":"d","\ua77a":"d","\u01f3":"dz","\u01c6":"dz","\u24d4":"e","\uff45":"e","\xe8":"e","\xe9":"e","\xea":"e","\u1ec1":"e","\u1ebf":"e","\u1ec5":"e","\u1ec3":"e","\u1ebd":"e","\u0113":"e","\u1e15":"e","\u1e17":"e","\u0115":"e","\u0117":"e","\xeb":"e","\u1ebb":"e","\u011b":"e","\u0205":"e","\u0207":"e","\u1eb9":"e","\u1ec7":"e","\u0229":"e","\u1e1d":"e","\u0119":"e","\u1e19":"e","\u1e1b":"e","\u0247":"e","\u025b":"e","\u01dd":"e","\u24d5":"f","\uff46":"f","\u1e1f":"f","\u0192":"f","\ua77c":"f","\u24d6":"g","\uff47":"g","\u01f5":"g","\u011d":"g","\u1e21":"g","\u011f":"g","\u0121":"g","\u01e7":"g","\u0123":"g","\u01e5":"g","\u0260":"g","\ua7a1":"g","\u1d79":"g","\ua77f":"g","\u24d7":"h","\uff48":"h","\u0125":"h","\u1e23":"h","\u1e27":"h","\u021f":"h","\u1e25":"h","\u1e29":"h","\u1e2b":"h","\u1e96":"h","\u0127":"h","\u2c68":"h","\u2c76":"h","\u0265":"h","\u0195":"hv","\u24d8":"i","\uff49":"i","\xec":"i","\xed":"i","\xee":"i","\u0129":"i","\u012b":"i","\u012d":"i","\xef":"i","\u1e2f":"i","\u1ec9":"i","\u01d0":"i","\u0209":"i","\u020b":"i","\u1ecb":"i","\u012f":"i","\u1e2d":"i","\u0268":"i","\u0131":"i","\u24d9":"j","\uff4a":"j","\u0135":"j","\u01f0":"j","\u0249":"j","\u24da":"k","\uff4b":"k","\u1e31":"k","\u01e9":"k","\u1e33":"k","\u0137":"k","\u1e35":"k","\u0199":"k","\u2c6a":"k","\ua741":"k","\ua743":"k","\ua745":"k","\ua7a3":"k","\u24db":"l","\uff4c":"l","\u0140":"l","\u013a":"l","\u013e":"l","\u1e37":"l","\u1e39":"l","\u013c":"l","\u1e3d":"l","\u1e3b":"l","\u017f":"l","\u0142":"l","\u019a":"l","\u026b":"l","\u2c61":"l","\ua749":"l","\ua781":"l","\ua747":"l","\u01c9":"lj","\u24dc":"m","\uff4d":"m","\u1e3f":"m","\u1e41":"m","\u1e43":"m","\u0271":"m","\u026f":"m","\u24dd":"n","\uff4e":"n","\u01f9":"n","\u0144":"n","\xf1":"n","\u1e45":"n","\u0148":"n","\u1e47":"n","\u0146":"n","\u1e4b":"n","\u1e49":"n","\u019e":"n","\u0272":"n","\u0149":"n","\ua791":"n","\ua7a5":"n","\u01cc":"nj","\u24de":"o","\uff4f":"o","\xf2":"o","\xf3":"o","\xf4":"o","\u1ed3":"o","\u1ed1":"o","\u1ed7":"o","\u1ed5":"o","\xf5":"o","\u1e4d":"o","\u022d":"o","\u1e4f":"o","\u014d":"o","\u1e51":"o","\u1e53":"o","\u014f":"o","\u022f":"o","\u0231":"o","\xf6":"o","\u022b":"o","\u1ecf":"o","\u0151":"o","\u01d2":"o","\u020d":"o","\u020f":"o","\u01a1":"o","\u1edd":"o","\u1edb":"o","\u1ee1":"o","\u1edf":"o","\u1ee3":"o","\u1ecd":"o","\u1ed9":"o","\u01eb":"o","\u01ed":"o","\xf8":"o","\u01ff":"o","\u0254":"o","\ua74b":"o","\ua74d":"o","\u0275":"o","\u01a3":"oi","\u0223":"ou","\ua74f":"oo","\u24df":"p","\uff50":"p","\u1e55":"p","\u1e57":"p","\u01a5":"p","\u1d7d":"p","\ua751":"p","\ua753":"p","\ua755":"p","\u24e0":"q","\uff51":"q","\u024b":"q","\ua757":"q","\ua759":"q","\u24e1":"r","\uff52":"r","\u0155":"r","\u1e59":"r","\u0159":"r","\u0211":"r","\u0213":"r","\u1e5b":"r","\u1e5d":"r","\u0157":"r","\u1e5f":"r","\u024d":"r","\u027d":"r","\ua75b":"r","\ua7a7":"r","\ua783":"r","\u24e2":"s","\uff53":"s","\xdf":"s","\u015b":"s","\u1e65":"s","\u015d":"s","\u1e61":"s","\u0161":"s","\u1e67":"s","\u1e63":"s","\u1e69":"s","\u0219":"s","\u015f":"s","\u023f":"s","\ua7a9":"s","\ua785":"s","\u1e9b":"s","\u24e3":"t","\uff54":"t","\u1e6b":"t","\u1e97":"t","\u0165":"t","\u1e6d":"t","\u021b":"t","\u0163":"t","\u1e71":"t","\u1e6f":"t","\u0167":"t","\u01ad":"t","\u0288":"t","\u2c66":"t","\ua787":"t","\ua729":"tz","\u24e4":"u","\uff55":"u","\xf9":"u","\xfa":"u","\xfb":"u","\u0169":"u","\u1e79":"u","\u016b":"u","\u1e7b":"u","\u016d":"u","\xfc":"u","\u01dc":"u","\u01d8":"u","\u01d6":"u","\u01da":"u","\u1ee7":"u","\u016f":"u","\u0171":"u","\u01d4":"u","\u0215":"u","\u0217":"u","\u01b0":"u","\u1eeb":"u","\u1ee9":"u","\u1eef":"u","\u1eed":"u","\u1ef1":"u","\u1ee5":"u","\u1e73":"u","\u0173":"u","\u1e77":"u","\u1e75":"u","\u0289":"u","\u24e5":"v","\uff56":"v","\u1e7d":"v","\u1e7f":"v","\u028b":"v","\ua75f":"v","\u028c":"v","\ua761":"vy","\u24e6":"w","\uff57":"w","\u1e81":"w","\u1e83":"w","\u0175":"w","\u1e87":"w","\u1e85":"w","\u1e98":"w","\u1e89":"w","\u2c73":"w","\u24e7":"x","\uff58":"x","\u1e8b":"x","\u1e8d":"x","\u24e8":"y","\uff59":"y","\u1ef3":"y","\xfd":"y","\u0177":"y","\u1ef9":"y","\u0233":"y","\u1e8f":"y","\xff":"y","\u1ef7":"y","\u1e99":"y","\u1ef5":"y","\u01b4":"y","\u024f":"y","\u1eff":"y","\u24e9":"z","\uff5a":"z","\u017a":"z","\u1e91":"z","\u017c":"z","\u017e":"z","\u1e93":"z","\u1e95":"z","\u01b6":"z","\u0225":"z","\u0240":"z","\u2c6c":"z","\ua763":"z"};j=a(document),g=function(){var a=1;return function(){return a++}}(),j.on("mousemove",function(a){i.x=a.pageX,i.y=a.pageY}),d=O(Object,{bind:function(a){var b=this;return function(){a.apply(b,arguments)}},init:function(c){var d,e,f=".select2-results";this.opts=c=this.prepareOpts(c),this.id=c.id,c.element.data("select2")!==b&&null!==c.element.data("select2")&&c.element.data("select2").destroy(),this.container=this.createContainer(),this.liveRegion=a("<span>",{role:"status","aria-live":"polite"}).addClass("select2-hidden-accessible").appendTo(document.body),this.containerId="s2id_"+(c.element.attr("id")||"autogen"+g()).replace(/([;&,\-\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1"),this.containerSelector="#"+this.containerId,this.container.attr("id",this.containerId),this.body=x(function(){return c.element.closest("body")}),E(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.attr("style",c.element.attr("style")),this.container.css(L(c.containerCss)),this.container.addClass(L(c.containerCssClass)),this.elementTabIndex=this.opts.element.attr("tabindex"),this.opts.element.data("select2",this).attr("tabindex","-1").before(this.container).on("click.select2",B),this.container.data("select2",this),this.dropdown=this.container.find(".select2-drop"),E(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(L(c.dropdownCssClass)),this.dropdown.data("select2",this),this.dropdown.on("click",B),this.results=d=this.container.find(f),this.search=e=this.container.find("input.select2-input"),this.queryCount=0,this.resultsPage=0,this.context=null,this.initContainer(),this.container.on("click",B),v(this.results),this.dropdown.on("mousemove-filtered touchstart touchmove touchend",f,this.bind(this.highlightUnderEvent)),this.dropdown.on("touchend",f,this.bind(this.selectHighlighted)),this.dropdown.on("touchmove",f,this.bind(this.touchMoved)),this.dropdown.on("touchstart touchend",f,this.bind(this.clearTouchMoved)),y(80,this.results),this.dropdown.on("scroll-debounced",f,this.bind(this.loadMoreIfNeeded)),a(this.container).on("change",".select2-input",function(a){a.stopPropagation()}),a(this.dropdown).on("change",".select2-input",function(a){a.stopPropagation()}),a.fn.mousewheel&&d.mousewheel(function(a,b,c,e){var f=d.scrollTop();e>0&&0>=f-e?(d.scrollTop(0),B(a)):0>e&&d.get(0).scrollHeight-d.scrollTop()+e<=d.height()&&(d.scrollTop(d.get(0).scrollHeight-d.height()),B(a))}),u(e),e.on("keyup-change input paste",this.bind(this.updateResults)),e.on("focus",function(){e.addClass("select2-focused")}),e.on("blur",function(){e.removeClass("select2-focused")}),this.dropdown.on("mouseup",f,this.bind(function(b){a(b.target).closest(".select2-result-selectable").length>0&&(this.highlightUnderEvent(b),this.selectHighlighted(b))})),this.dropdown.on("click mouseup mousedown focusin",function(a){a.stopPropagation()}),this.nextSearchTerm=b,a.isFunction(this.opts.initSelection)&&(this.initSelection(),this.monitorSource()),null!==c.maximumInputLength&&this.search.attr("maxlength",c.maximumInputLength);var h=c.element.prop("disabled");h===b&&(h=!1),this.enable(!h);var i=c.element.prop("readonly");i===b&&(i=!1),this.readonly(i),k=k||q(),this.autofocus=c.element.prop("autofocus"),c.element.prop("autofocus",!1),this.autofocus&&this.focus(),this.search.attr("placeholder",c.searchInputPlaceholder)},destroy:function(){var a=this.opts.element,c=a.data("select2");this.close(),this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),c!==b&&(c.container.remove(),c.liveRegion.remove(),c.dropdown.remove(),a.removeClass("select2-offscreen").removeData("select2").off(".select2").prop("autofocus",this.autofocus||!1),this.elementTabIndex?a.attr({tabindex:this.elementTabIndex}):a.removeAttr("tabindex"),a.show())},optionToData:function(a){return a.is("option")?{id:a.prop("value"),text:a.text(),element:a.get(),css:a.attr("class"),disabled:a.prop("disabled"),locked:r(a.attr("locked"),"locked")||r(a.data("locked"),!0)}:a.is("optgroup")?{text:a.attr("label"),children:[],element:a.get(),css:a.attr("class")}:void 0},prepareOpts:function(c){var d,e,f,h,i=this;if(d=c.element,"select"===d.get(0).tagName.toLowerCase()&&(this.select=e=c.element),e&&a.each(["id","multiple","ajax","query","createSearchChoice","initSelection","data","tags"],function(){if(this in c)throw new Error("Option '"+this+"' is not allowed for Select2 when attached to a <select> element.")}),c=a.extend({},{populateResults:function(d,e,f){var h,j=this.opts.id,k=this.liveRegion;h=function(d,e,l){var m,n,o,p,q,r,s,t,u,v;for(d=c.sortResults(d,e,f),m=0,n=d.length;n>m;m+=1)o=d[m],q=o.disabled===!0,p=!q&&j(o)!==b,r=o.children&&o.children.length>0,s=a("<li></li>"),s.addClass("select2-results-dept-"+l),s.addClass("select2-result"),s.addClass(p?"select2-result-selectable":"select2-result-unselectable"),q&&s.addClass("select2-disabled"),r&&s.addClass("select2-result-with-children"),s.addClass(i.opts.formatResultCssClass(o)),s.attr("role","presentation"),t=a(document.createElement("div")),t.addClass("select2-result-label"),t.attr("id","select2-result-label-"+g()),t.attr("role","option"),v=c.formatResult(o,t,f,i.opts.escapeMarkup),v!==b&&(t.html(v),s.append(t)),r&&(u=a("<ul></ul>"),u.addClass("select2-result-sub"),h(o.children,u,l+1),s.append(u)),s.data("select2-data",o),e.append(s);k.text(c.formatMatches(d.length))},h(e,d,0)}},a.fn.select2.defaults,c),"function"!=typeof c.id&&(f=c.id,c.id=function(a){return a[f]}),a.isArray(c.element.data("select2Tags"))){if("tags"in c)throw"tags specified as both an attribute 'data-select2-tags' and in options of Select2 "+c.element.attr("id");c.tags=c.element.data("select2Tags")}if(e?(c.query=this.bind(function(a){var f,g,h,c={results:[],more:!1},e=a.term;h=function(b,c){var d;b.is("option")?a.matcher(e,b.text(),b)&&c.push(i.optionToData(b)):b.is("optgroup")&&(d=i.optionToData(b),b.children().each2(function(a,b){h(b,d.children)}),d.children.length>0&&c.push(d))},f=d.children(),this.getPlaceholder()!==b&&f.length>0&&(g=this.getPlaceholderOption(),g&&(f=f.not(g))),f.each2(function(a,b){h(b,c.results)}),a.callback(c)}),c.id=function(a){return a.id}):"query"in c||("ajax"in c?(h=c.element.data("ajax-url"),h&&h.length>0&&(c.ajax.url=h),c.query=H.call(c.element,c.ajax)):"data"in c?c.query=I(c.data):"tags"in c&&(c.query=J(c.tags),c.createSearchChoice===b&&(c.createSearchChoice=function(b){return{id:a.trim(b),text:a.trim(b)}}),c.initSelection===b&&(c.initSelection=function(b,d){var e=[];a(s(b.val(),c.separator)).each(function(){var b={id:this,text:this},d=c.tags;a.isFunction(d)&&(d=d()),a(d).each(function(){return r(this.id,b.id)?(b=this,!1):void 0}),e.push(b)}),d(e)}))),"function"!=typeof c.query)throw"query function not defined for Select2 "+c.element.attr("id");if("top"===c.createSearchChoicePosition)c.createSearchChoicePosition=function(a,b){a.unshift(b)};else if("bottom"===c.createSearchChoicePosition)c.createSearchChoicePosition=function(a,b){a.push(b)};else if("function"!=typeof c.createSearchChoicePosition)throw"invalid createSearchChoicePosition option must be 'top', 'bottom' or a custom function";return c},monitorSource:function(){var c,d,a=this.opts.element;a.on("change.select2",this.bind(function(){this.opts.element.data("select2-change-triggered")!==!0&&this.initSelection()})),c=this.bind(function(){var c=a.prop("disabled");c===b&&(c=!1),this.enable(!c);var d=a.prop("readonly");d===b&&(d=!1),this.readonly(d),E(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.addClass(L(this.opts.containerCssClass)),E(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(L(this.opts.dropdownCssClass))}),a.on("propertychange.select2",c),this.mutationCallback===b&&(this.mutationCallback=function(a){a.forEach(c)}),d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,d!==b&&(this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),this.propertyObserver=new d(this.mutationCallback),this.propertyObserver.observe(a.get(0),{attributes:!0,subtree:!1}))},triggerSelect:function(b){var c=a.Event("select2-selecting",{val:this.id(b),object:b});return this.opts.element.trigger(c),!c.isDefaultPrevented()},triggerChange:function(b){b=b||{},b=a.extend({},b,{type:"change",val:this.val()}),this.opts.element.data("select2-change-triggered",!0),this.opts.element.trigger(b),this.opts.element.data("select2-change-triggered",!1),this.opts.element.click(),this.opts.blurOnChange&&this.opts.element.blur()},isInterfaceEnabled:function(){return this.enabledInterface===!0},enableInterface:function(){var a=this._enabled&&!this._readonly,b=!a;return a===this.enabledInterface?!1:(this.container.toggleClass("select2-container-disabled",b),this.close(),this.enabledInterface=a,!0)},enable:function(a){a===b&&(a=!0),this._enabled!==a&&(this._enabled=a,this.opts.element.prop("disabled",!a),this.enableInterface())},disable:function(){this.enable(!1)},readonly:function(a){a===b&&(a=!1),this._readonly!==a&&(this._readonly=a,this.opts.element.prop("readonly",a),this.enableInterface())},opened:function(){return this.container.hasClass("select2-dropdown-open")},positionDropdown:function(){var t,u,v,w,x,b=this.dropdown,c=this.container.offset(),d=this.container.outerHeight(!1),e=this.container.outerWidth(!1),f=b.outerHeight(!1),g=a(window),h=g.width(),i=g.height(),j=g.scrollLeft()+h,l=g.scrollTop()+i,m=c.top+d,n=c.left,o=l>=m+f,p=c.top-f>=g.scrollTop(),q=b.outerWidth(!1),r=j>=n+q,s=b.hasClass("select2-drop-above");s?(u=!0,!p&&o&&(v=!0,u=!1)):(u=!1,!o&&p&&(v=!0,u=!0)),v&&(b.hide(),c=this.container.offset(),d=this.container.outerHeight(!1),e=this.container.outerWidth(!1),f=b.outerHeight(!1),j=g.scrollLeft()+h,l=g.scrollTop()+i,m=c.top+d,n=c.left,q=b.outerWidth(!1),r=j>=n+q,b.show()),this.opts.dropdownAutoWidth?(x=a(".select2-results",b)[0],b.addClass("select2-drop-auto-width"),b.css("width",""),q=b.outerWidth(!1)+(x.scrollHeight===x.clientHeight?0:k.width),q>e?e=q:q=e,r=j>=n+q):this.container.removeClass("select2-drop-auto-width"),"static"!==this.body().css("position")&&(t=this.body().offset(),m-=t.top,n-=t.left),r||(n=c.left+this.container.outerWidth(!1)-q),w={left:n,width:e},u?(w.top=c.top-f,w.bottom="auto",this.container.addClass("select2-drop-above"),b.addClass("select2-drop-above")):(w.top=m,w.bottom="auto",this.container.removeClass("select2-drop-above"),b.removeClass("select2-drop-above")),w=a.extend(w,L(this.opts.dropdownCss)),b.css(w)},shouldOpen:function(){var b;return this.opened()?!1:this._enabled===!1||this._readonly===!0?!1:(b=a.Event("select2-opening"),this.opts.element.trigger(b),!b.isDefaultPrevented())},clearDropdownAlignmentPreference:function(){this.container.removeClass("select2-drop-above"),this.dropdown.removeClass("select2-drop-above")},open:function(){return this.shouldOpen()?(this.opening(),!0):!1},opening:function(){var f,b=this.containerId,c="scroll."+b,d="resize."+b,e="orientationchange."+b;this.container.addClass("select2-dropdown-open").addClass("select2-container-active"),this.clearDropdownAlignmentPreference(),this.dropdown[0]!==this.body().children().last()[0]&&this.dropdown.detach().appendTo(this.body()),f=a("#select2-drop-mask"),0==f.length&&(f=a(document.createElement("div")),f.attr("id","select2-drop-mask").attr("class","select2-drop-mask"),f.hide(),f.appendTo(this.body()),f.on("mousedown touchstart click",function(b){n(f);var d,c=a("#select2-drop");c.length>0&&(d=c.data("select2"),d.opts.selectOnBlur&&d.selectHighlighted({noFocus:!0}),d.close(),b.preventDefault(),b.stopPropagation())})),this.dropdown.prev()[0]!==f[0]&&this.dropdown.before(f),a("#select2-drop").removeAttr("id"),this.dropdown.attr("id","select2-drop"),f.show(),this.positionDropdown(),this.dropdown.show(),this.positionDropdown(),this.dropdown.addClass("select2-drop-active");var g=this;this.container.parents().add(window).each(function(){a(this).on(d+" "+c+" "+e,function(){g.positionDropdown()})})},close:function(){if(this.opened()){var b=this.containerId,c="scroll."+b,d="resize."+b,e="orientationchange."+b;this.container.parents().add(window).each(function(){a(this).off(c).off(d).off(e)}),this.clearDropdownAlignmentPreference(),a("#select2-drop-mask").hide(),this.dropdown.removeAttr("id"),this.dropdown.hide(),this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active"),this.results.empty(),this.clearSearch(),this.search.removeClass("select2-active"),this.opts.element.trigger(a.Event("select2-close"))}},externalSearch:function(a){this.open(),this.search.val(a),this.updateResults(!1)},clearSearch:function(){},getMaximumSelectionSize:function(){return L(this.opts.maximumSelectionSize)},ensureHighlightVisible:function(){var c,d,e,f,g,h,i,b=this.results;if(d=this.highlight(),!(0>d)){if(0==d)return b.scrollTop(0),void 0;c=this.findHighlightableChoices().find(".select2-result-label"),e=a(c[d]),f=e.offset().top+e.outerHeight(!0),d===c.length-1&&(i=b.find("li.select2-more-results"),i.length>0&&(f=i.offset().top+i.outerHeight(!0))),g=b.offset().top+b.outerHeight(!0),f>g&&b.scrollTop(b.scrollTop()+(f-g)),h=e.offset().top-b.offset().top,0>h&&"none"!=e.css("display")&&b.scrollTop(b.scrollTop()+h)}},findHighlightableChoices:function(){return this.results.find(".select2-result-selectable:not(.select2-disabled):not(.select2-selected)")},moveHighlight:function(b){for(var c=this.findHighlightableChoices(),d=this.highlight();d>-1&&d<c.length;){d+=b;var e=a(c[d]);if(e.hasClass("select2-result-selectable")&&!e.hasClass("select2-disabled")&&!e.hasClass("select2-selected")){this.highlight(d);break}}},highlight:function(b){var d,e,c=this.findHighlightableChoices();return 0===arguments.length?p(c.filter(".select2-highlighted")[0],c.get()):(b>=c.length&&(b=c.length-1),0>b&&(b=0),this.removeHighlight(),d=a(c[b]),d.addClass("select2-highlighted"),this.search.attr("aria-activedescendant",d.find(".select2-result-label").attr("id")),this.ensureHighlightVisible(),this.liveRegion.text(d.text()),e=d.data("select2-data"),e&&this.opts.element.trigger({type:"select2-highlight",val:this.id(e),choice:e}),void 0)},removeHighlight:function(){this.results.find(".select2-highlighted").removeClass("select2-highlighted")},touchMoved:function(){this._touchMoved=!0},clearTouchMoved:function(){this._touchMoved=!1},countSelectableResults:function(){return this.findHighlightableChoices().length},highlightUnderEvent:function(b){var c=a(b.target).closest(".select2-result-selectable");if(c.length>0&&!c.is(".select2-highlighted")){var d=this.findHighlightableChoices();this.highlight(d.index(c))}else 0==c.length&&this.removeHighlight()},loadMoreIfNeeded:function(){var c,a=this.results,b=a.find("li.select2-more-results"),d=this.resultsPage+1,e=this,f=this.search.val(),g=this.context;
22
+ 0!==b.length&&(c=b.offset().top-a.offset().top-a.height(),c<=this.opts.loadMorePadding&&(b.addClass("select2-active"),this.opts.query({element:this.opts.element,term:f,page:d,context:g,matcher:this.opts.matcher,callback:this.bind(function(c){e.opened()&&(e.opts.populateResults.call(this,a,c.results,{term:f,page:d,context:g}),e.postprocessResults(c,!1,!1),c.more===!0?(b.detach().appendTo(a).text(L(e.opts.formatLoadMore,d+1)),window.setTimeout(function(){e.loadMoreIfNeeded()},10)):b.remove(),e.positionDropdown(),e.resultsPage=d,e.context=c.context,this.opts.element.trigger({type:"select2-loaded",items:c}))})})))},tokenize:function(){},updateResults:function(c){function m(){d.removeClass("select2-active"),h.positionDropdown(),e.find(".select2-no-results,.select2-selection-limit,.select2-searching").length?h.liveRegion.text(e.text()):h.liveRegion.text(h.opts.formatMatches(e.find(".select2-result-selectable").length))}function n(a){e.html(a),m()}var g,i,l,d=this.search,e=this.results,f=this.opts,h=this,j=d.val(),k=a.data(this.container,"select2-last-term");if((c===!0||!k||!r(j,k))&&(a.data(this.container,"select2-last-term",j),c===!0||this.showSearchInput!==!1&&this.opened())){l=++this.queryCount;var o=this.getMaximumSelectionSize();if(o>=1&&(g=this.data(),a.isArray(g)&&g.length>=o&&K(f.formatSelectionTooBig,"formatSelectionTooBig")))return n("<li class='select2-selection-limit'>"+L(f.formatSelectionTooBig,o)+"</li>"),void 0;if(d.val().length<f.minimumInputLength)return K(f.formatInputTooShort,"formatInputTooShort")?n("<li class='select2-no-results'>"+L(f.formatInputTooShort,d.val(),f.minimumInputLength)+"</li>"):n(""),c&&this.showSearch&&this.showSearch(!0),void 0;if(f.maximumInputLength&&d.val().length>f.maximumInputLength)return K(f.formatInputTooLong,"formatInputTooLong")?n("<li class='select2-no-results'>"+L(f.formatInputTooLong,d.val(),f.maximumInputLength)+"</li>"):n(""),void 0;f.formatSearching&&0===this.findHighlightableChoices().length&&n("<li class='select2-searching'>"+L(f.formatSearching)+"</li>"),d.addClass("select2-active"),this.removeHighlight(),i=this.tokenize(),i!=b&&null!=i&&d.val(i),this.resultsPage=1,f.query({element:f.element,term:d.val(),page:this.resultsPage,context:null,matcher:f.matcher,callback:this.bind(function(g){var i;if(l==this.queryCount){if(!this.opened())return this.search.removeClass("select2-active"),void 0;if(this.context=g.context===b?null:g.context,this.opts.createSearchChoice&&""!==d.val()&&(i=this.opts.createSearchChoice.call(h,d.val(),g.results),i!==b&&null!==i&&h.id(i)!==b&&null!==h.id(i)&&0===a(g.results).filter(function(){return r(h.id(this),h.id(i))}).length&&this.opts.createSearchChoicePosition(g.results,i)),0===g.results.length&&K(f.formatNoMatches,"formatNoMatches"))return n("<li class='select2-no-results'>"+L(f.formatNoMatches,d.val())+"</li>"),void 0;e.empty(),h.opts.populateResults.call(this,e,g.results,{term:d.val(),page:this.resultsPage,context:null}),g.more===!0&&K(f.formatLoadMore,"formatLoadMore")&&(e.append("<li class='select2-more-results'>"+h.opts.escapeMarkup(L(f.formatLoadMore,this.resultsPage))+"</li>"),window.setTimeout(function(){h.loadMoreIfNeeded()},10)),this.postprocessResults(g,c),m(),this.opts.element.trigger({type:"select2-loaded",items:g})}})})}},cancel:function(){this.close()},blur:function(){this.opts.selectOnBlur&&this.selectHighlighted({noFocus:!0}),this.close(),this.container.removeClass("select2-container-active"),this.search[0]===document.activeElement&&this.search.blur(),this.clearSearch(),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus")},focusSearch:function(){z(this.search)},selectHighlighted:function(a){if(this._touchMoved)return this.clearTouchMoved(),void 0;var b=this.highlight(),c=this.results.find(".select2-highlighted"),d=c.closest(".select2-result").data("select2-data");d?(this.highlight(b),this.onSelect(d,a)):a&&a.noFocus&&this.close()},getPlaceholder:function(){var a;return this.opts.element.attr("placeholder")||this.opts.element.attr("data-placeholder")||this.opts.element.data("placeholder")||this.opts.placeholder||((a=this.getPlaceholderOption())!==b?a.text():b)},getPlaceholderOption:function(){if(this.select){var a=this.select.children("option").first();if(this.opts.placeholderOption!==b)return"first"===this.opts.placeholderOption&&a||"function"==typeof this.opts.placeholderOption&&this.opts.placeholderOption(this.select);if(""===a.text()&&""===a.val())return a}},initContainerWidth:function(){function c(){var c,d,e,f,g,h;if("off"===this.opts.width)return null;if("element"===this.opts.width)return 0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px";if("copy"===this.opts.width||"resolve"===this.opts.width){if(c=this.opts.element.attr("style"),c!==b)for(d=c.split(";"),f=0,g=d.length;g>f;f+=1)if(h=d[f].replace(/\s/g,""),e=h.match(/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i),null!==e&&e.length>=1)return e[1];return"resolve"===this.opts.width?(c=this.opts.element.css("width"),c.indexOf("%")>0?c:0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px"):null}return a.isFunction(this.opts.width)?this.opts.width():this.opts.width}var d=c.call(this);null!==d&&this.container.css("width",d)}}),e=O(d,{createContainer:function(){var b=a(document.createElement("div")).attr({"class":"select2-container"}).html(["<a href='javascript:void(0)' class='select2-choice' tabindex='-1'>"," <span class='select2-chosen'>&nbsp;</span><abbr class='select2-search-choice-close'></abbr>"," <span class='select2-arrow' role='presentation'><b role='presentation'></b></span>","</a>","<label for='' class='select2-offscreen'></label>","<input class='select2-focusser select2-offscreen' type='text' aria-haspopup='true' role='button' />","<div class='select2-drop select2-display-none'>"," <div class='select2-search'>"," <label for='' class='select2-offscreen'></label>"," <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input' role='combobox' aria-expanded='true'"," aria-autocomplete='list' />"," </div>"," <ul class='select2-results' role='listbox'>"," </ul>","</div>"].join(""));return b},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.focusser.prop("disabled",!this.isInterfaceEnabled())},opening:function(){var c,d,e;this.opts.minimumResultsForSearch>=0&&this.showSearch(!0),this.parent.opening.apply(this,arguments),this.showSearchInput!==!1&&this.search.val(this.focusser.val()),this.search.focus(),c=this.search.get(0),c.createTextRange?(d=c.createTextRange(),d.collapse(!1),d.select()):c.setSelectionRange&&(e=this.search.val().length,c.setSelectionRange(e,e)),""===this.search.val()&&this.nextSearchTerm!=b&&(this.search.val(this.nextSearchTerm),this.search.select()),this.focusser.prop("disabled",!0).val(""),this.updateResults(!0),this.opts.element.trigger(a.Event("select2-open"))},close:function(){this.opened()&&(this.parent.close.apply(this,arguments),this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},focus:function(){this.opened()?this.close():(this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},isFocused:function(){return this.container.hasClass("select2-container-active")},cancel:function(){this.parent.cancel.apply(this,arguments),this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus()},destroy:function(){a("label[for='"+this.focusser.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments)},initContainer:function(){var b,h,d=this.container,e=this.dropdown,f=g();this.opts.minimumResultsForSearch<0?this.showSearch(!1):this.showSearch(!0),this.selection=b=d.find(".select2-choice"),this.focusser=d.find(".select2-focusser"),b.find(".select2-chosen").attr("id","select2-chosen-"+f),this.focusser.attr("aria-labelledby","select2-chosen-"+f),this.results.attr("id","select2-results-"+f),this.search.attr("aria-owns","select2-results-"+f),this.focusser.attr("id","s2id_autogen"+f),h=a("label[for='"+this.opts.element.attr("id")+"']"),this.focusser.prev().text(h.text()).attr("for",this.focusser.attr("id"));var i=this.opts.element.attr("title");this.opts.element.attr("title",i||h.text()),this.focusser.attr("tabindex",this.elementTabIndex),this.search.attr("id",this.focusser.attr("id")+"_search"),this.search.prev().text(a("label[for='"+this.focusser.attr("id")+"']").text()).attr("for",this.search.attr("id")),this.search.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()){if(a.which===c.PAGE_UP||a.which===c.PAGE_DOWN)return B(a),void 0;switch(a.which){case c.UP:case c.DOWN:return this.moveHighlight(a.which===c.UP?-1:1),B(a),void 0;case c.ENTER:return this.selectHighlighted(),B(a),void 0;case c.TAB:return this.selectHighlighted({noFocus:!0}),void 0;case c.ESC:return this.cancel(a),B(a),void 0}}})),this.search.on("blur",this.bind(function(){document.activeElement===this.body().get(0)&&window.setTimeout(this.bind(function(){this.opened()&&this.search.focus()}),0)})),this.focusser.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()&&a.which!==c.TAB&&!c.isControl(a)&&!c.isFunctionKey(a)&&a.which!==c.ESC){if(this.opts.openOnEnter===!1&&a.which===c.ENTER)return B(a),void 0;if(a.which==c.DOWN||a.which==c.UP||a.which==c.ENTER&&this.opts.openOnEnter){if(a.altKey||a.ctrlKey||a.shiftKey||a.metaKey)return;return this.open(),B(a),void 0}return a.which==c.DELETE||a.which==c.BACKSPACE?(this.opts.allowClear&&this.clear(),B(a),void 0):void 0}})),u(this.focusser),this.focusser.on("keyup-change input",this.bind(function(a){if(this.opts.minimumResultsForSearch>=0){if(a.stopPropagation(),this.opened())return;this.open()}})),b.on("mousedown touchstart","abbr",this.bind(function(a){this.isInterfaceEnabled()&&(this.clear(),C(a),this.close(),this.selection.focus())})),b.on("mousedown touchstart",this.bind(function(c){n(b),this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.opened()?this.close():this.isInterfaceEnabled()&&this.open(),B(c)})),e.on("mousedown touchstart",this.bind(function(){this.search.focus()})),b.on("focus",this.bind(function(a){B(a)})),this.focusser.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})).on("blur",this.bind(function(){this.opened()||(this.container.removeClass("select2-container-active"),this.opts.element.trigger(a.Event("select2-blur")))})),this.search.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.setPlaceholder()},clear:function(b){var c=this.selection.data("select2-data");if(c){var d=a.Event("select2-clearing");if(this.opts.element.trigger(d),d.isDefaultPrevented())return;var e=this.getPlaceholderOption();this.opts.element.val(e?e.val():""),this.selection.find(".select2-chosen").empty(),this.selection.removeData("select2-data"),this.setPlaceholder(),b!==!1&&(this.opts.element.trigger({type:"select2-removed",val:this.id(c),choice:c}),this.triggerChange({removed:c}))}},initSelection:function(){if(this.isPlaceholderOptionSelected())this.updateSelection(null),this.close(),this.setPlaceholder();else{var c=this;this.opts.initSelection.call(null,this.opts.element,function(a){a!==b&&null!==a&&(c.updateSelection(a),c.close(),c.setPlaceholder(),c.nextSearchTerm=c.opts.nextSearchTerm(a,c.search.val()))})}},isPlaceholderOptionSelected:function(){var a;return this.getPlaceholder()?(a=this.getPlaceholderOption())!==b&&a.prop("selected")||""===this.opts.element.val()||this.opts.element.val()===b||null===this.opts.element.val():!1},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=a.find("option").filter(function(){return this.selected&&!this.disabled});b(c.optionToData(d))}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=c.val(),f=null;b.query({matcher:function(a,c,d){var g=r(e,b.id(d));return g&&(f=d),g},callback:a.isFunction(d)?function(){d(f)}:a.noop})}),b},getPlaceholder:function(){return this.select&&this.getPlaceholderOption()===b?b:this.parent.getPlaceholder.apply(this,arguments)},setPlaceholder:function(){var a=this.getPlaceholder();if(this.isPlaceholderOptionSelected()&&a!==b){if(this.select&&this.getPlaceholderOption()===b)return;this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(a)),this.selection.addClass("select2-default"),this.container.removeClass("select2-allowclear")}},postprocessResults:function(a,b,c){var d=0,e=this;if(this.findHighlightableChoices().each2(function(a,b){return r(e.id(b.data("select2-data")),e.opts.element.val())?(d=a,!1):void 0}),c!==!1&&(b===!0&&d>=0?this.highlight(d):this.highlight(0)),b===!0){var g=this.opts.minimumResultsForSearch;g>=0&&this.showSearch(M(a.results)>=g)}},showSearch:function(b){this.showSearchInput!==b&&(this.showSearchInput=b,this.dropdown.find(".select2-search").toggleClass("select2-search-hidden",!b),this.dropdown.find(".select2-search").toggleClass("select2-offscreen",!b),a(this.dropdown,this.container).toggleClass("select2-with-searchbox",b))},onSelect:function(a,b){if(this.triggerSelect(a)){var c=this.opts.element.val(),d=this.data();this.opts.element.val(this.id(a)),this.updateSelection(a),this.opts.element.trigger({type:"select2-selected",val:this.id(a),choice:a}),this.nextSearchTerm=this.opts.nextSearchTerm(a,this.search.val()),this.close(),b&&b.noFocus||!this.opts.shouldFocusInput(this)||this.focusser.focus(),r(c,this.id(a))||this.triggerChange({added:a,removed:d})}},updateSelection:function(a){var d,e,c=this.selection.find(".select2-chosen");this.selection.data("select2-data",a),c.empty(),null!==a&&(d=this.opts.formatSelection(a,c,this.opts.escapeMarkup)),d!==b&&c.append(d),e=this.opts.formatSelectionCssClass(a,c),e!==b&&c.addClass(e),this.selection.removeClass("select2-default"),this.opts.allowClear&&this.getPlaceholder()!==b&&this.container.addClass("select2-allowclear")},val:function(){var a,c=!1,d=null,e=this,f=this.data();if(0===arguments.length)return this.opts.element.val();if(a=arguments[0],arguments.length>1&&(c=arguments[1]),this.select)this.select.val(a).find("option").filter(function(){return this.selected}).each2(function(a,b){return d=e.optionToData(b),!1}),this.updateSelection(d),this.setPlaceholder(),c&&this.triggerChange({added:d,removed:f});else{if(!a&&0!==a)return this.clear(c),void 0;if(this.opts.initSelection===b)throw new Error("cannot call val() if initSelection() is not defined");this.opts.element.val(a),this.opts.initSelection(this.opts.element,function(a){e.opts.element.val(a?e.id(a):""),e.updateSelection(a),e.setPlaceholder(),c&&e.triggerChange({added:a,removed:f})})}},clearSearch:function(){this.search.val(""),this.focusser.val("")},data:function(a){var c,d=!1;return 0===arguments.length?(c=this.selection.data("select2-data"),c==b&&(c=null),c):(arguments.length>1&&(d=arguments[1]),a?(c=this.data(),this.opts.element.val(a?this.id(a):""),this.updateSelection(a),d&&this.triggerChange({added:a,removed:c})):this.clear(d),void 0)}}),f=O(d,{createContainer:function(){var b=a(document.createElement("div")).attr({"class":"select2-container select2-container-multi"}).html(["<ul class='select2-choices'>"," <li class='select2-search-field'>"," <label for='' class='select2-offscreen'></label>"," <input type='text' autocomplete='off' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'>"," </li>","</ul>","<div class='select2-drop select2-drop-multi select2-display-none'>"," <ul class='select2-results'>"," </ul>","</div>"].join(""));return b},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=[];a.find("option").filter(function(){return this.selected&&!this.disabled}).each2(function(a,b){d.push(c.optionToData(b))}),b(d)}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=s(c.val(),b.separator),f=[];b.query({matcher:function(c,d,g){var h=a.grep(e,function(a){return r(a,b.id(g))}).length;return h&&f.push(g),h},callback:a.isFunction(d)?function(){for(var a=[],c=0;c<e.length;c++)for(var g=e[c],h=0;h<f.length;h++){var i=f[h];if(r(g,b.id(i))){a.push(i),f.splice(h,1);break}}d(a)}:a.noop})}),b},selectChoice:function(a){var b=this.container.find(".select2-search-choice-focus");b.length&&a&&a[0]==b[0]||(b.length&&this.opts.element.trigger("choice-deselected",b),b.removeClass("select2-search-choice-focus"),a&&a.length&&(this.close(),a.addClass("select2-search-choice-focus"),this.opts.element.trigger("choice-selected",a)))},destroy:function(){a("label[for='"+this.search.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments)},initContainer:function(){var d,b=".select2-choices";this.searchContainer=this.container.find(".select2-search-field"),this.selection=d=this.container.find(b);var e=this;this.selection.on("click",".select2-search-choice:not(.select2-locked)",function(){e.search[0].focus(),e.selectChoice(a(this))}),this.search.attr("id","s2id_autogen"+g()),this.search.prev().text(a("label[for='"+this.opts.element.attr("id")+"']").text()).attr("for",this.search.attr("id")),this.search.on("input paste",this.bind(function(){this.isInterfaceEnabled()&&(this.opened()||this.open())})),this.search.attr("tabindex",this.elementTabIndex),this.keydowns=0,this.search.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()){++this.keydowns;var b=d.find(".select2-search-choice-focus"),e=b.prev(".select2-search-choice:not(.select2-locked)"),f=b.next(".select2-search-choice:not(.select2-locked)"),g=A(this.search);if(b.length&&(a.which==c.LEFT||a.which==c.RIGHT||a.which==c.BACKSPACE||a.which==c.DELETE||a.which==c.ENTER)){var h=b;return a.which==c.LEFT&&e.length?h=e:a.which==c.RIGHT?h=f.length?f:null:a.which===c.BACKSPACE?this.unselect(b.first())&&(this.search.width(10),h=e.length?e:f):a.which==c.DELETE?this.unselect(b.first())&&(this.search.width(10),h=f.length?f:null):a.which==c.ENTER&&(h=null),this.selectChoice(h),B(a),h&&h.length||this.open(),void 0}if((a.which===c.BACKSPACE&&1==this.keydowns||a.which==c.LEFT)&&0==g.offset&&!g.length)return this.selectChoice(d.find(".select2-search-choice:not(.select2-locked)").last()),B(a),void 0;if(this.selectChoice(null),this.opened())switch(a.which){case c.UP:case c.DOWN:return this.moveHighlight(a.which===c.UP?-1:1),B(a),void 0;case c.ENTER:return this.selectHighlighted(),B(a),void 0;case c.TAB:return this.selectHighlighted({noFocus:!0}),this.close(),void 0;case c.ESC:return this.cancel(a),B(a),void 0}if(a.which!==c.TAB&&!c.isControl(a)&&!c.isFunctionKey(a)&&a.which!==c.BACKSPACE&&a.which!==c.ESC){if(a.which===c.ENTER){if(this.opts.openOnEnter===!1)return;if(a.altKey||a.ctrlKey||a.shiftKey||a.metaKey)return}this.open(),(a.which===c.PAGE_UP||a.which===c.PAGE_DOWN)&&B(a),a.which===c.ENTER&&B(a)}}})),this.search.on("keyup",this.bind(function(){this.keydowns=0,this.resizeSearch()})),this.search.on("blur",this.bind(function(b){this.container.removeClass("select2-container-active"),this.search.removeClass("select2-focused"),this.selectChoice(null),this.opened()||this.clearSearch(),b.stopImmediatePropagation(),this.opts.element.trigger(a.Event("select2-blur"))})),this.container.on("click",b,this.bind(function(b){this.isInterfaceEnabled()&&(a(b.target).closest(".select2-search-choice").length>0||(this.selectChoice(null),this.clearPlaceholder(),this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.open(),this.focusSearch(),b.preventDefault()))})),this.container.on("focus",b,this.bind(function(){this.isInterfaceEnabled()&&(this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"),this.clearPlaceholder())})),this.initContainerWidth(),this.opts.element.addClass("select2-offscreen"),this.clearSearch()},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.search.prop("disabled",!this.isInterfaceEnabled())},initSelection:function(){if(""===this.opts.element.val()&&""===this.opts.element.text()&&(this.updateSelection([]),this.close(),this.clearSearch()),this.select||""!==this.opts.element.val()){var c=this;this.opts.initSelection.call(null,this.opts.element,function(a){a!==b&&null!==a&&(c.updateSelection(a),c.close(),c.clearSearch())})}},clearSearch:function(){var a=this.getPlaceholder(),c=this.getMaxSearchWidth();a!==b&&0===this.getVal().length&&this.search.hasClass("select2-focused")===!1?(this.search.val(a).addClass("select2-default"),this.search.width(c>0?c:this.container.css("width"))):this.search.val("").width(10)},clearPlaceholder:function(){this.search.hasClass("select2-default")&&this.search.val("").removeClass("select2-default")},opening:function(){this.clearPlaceholder(),this.resizeSearch(),this.parent.opening.apply(this,arguments),this.focusSearch(),""===this.search.val()&&this.nextSearchTerm!=b&&(this.search.val(this.nextSearchTerm),this.search.select()),this.updateResults(!0),this.search.focus(),this.opts.element.trigger(a.Event("select2-open"))},close:function(){this.opened()&&this.parent.close.apply(this,arguments)},focus:function(){this.close(),this.search.focus()},isFocused:function(){return this.search.hasClass("select2-focused")},updateSelection:function(b){var c=[],d=[],e=this;a(b).each(function(){p(e.id(this),c)<0&&(c.push(e.id(this)),d.push(this))}),b=d,this.selection.find(".select2-search-choice").remove(),a(b).each(function(){e.addSelectedChoice(this)}),e.postprocessResults()},tokenize:function(){var a=this.search.val();a=this.opts.tokenizer.call(this,a,this.data(),this.bind(this.onSelect),this.opts),null!=a&&a!=b&&(this.search.val(a),a.length>0&&this.open())},onSelect:function(a,c){this.triggerSelect(a)&&(this.addSelectedChoice(a),this.opts.element.trigger({type:"selected",val:this.id(a),choice:a}),this.nextSearchTerm=this.opts.nextSearchTerm(a,this.search.val()),this.clearSearch(),this.updateResults(),(this.select||!this.opts.closeOnSelect)&&this.postprocessResults(a,!1,this.opts.closeOnSelect===!0),this.opts.closeOnSelect?(this.close(),this.search.width(10)):this.countSelectableResults()>0?(this.search.width(10),this.resizeSearch(),this.getMaximumSelectionSize()>0&&this.val().length>=this.getMaximumSelectionSize()?this.updateResults(!0):this.nextSearchTerm!=b&&(this.search.val(this.nextSearchTerm),this.updateResults(),this.search.select()),this.positionDropdown()):(this.close(),this.search.width(10)),this.triggerChange({added:a}),c&&c.noFocus||this.focusSearch())},cancel:function(){this.close(),this.focusSearch()},addSelectedChoice:function(c){var j,k,d=!c.locked,e=a("<li class='select2-search-choice'> <div></div> <a href='#' class='select2-search-choice-close' tabindex='-1'></a></li>"),f=a("<li class='select2-search-choice select2-locked'><div></div></li>"),g=d?e:f,h=this.id(c),i=this.getVal();j=this.opts.formatSelection(c,g.find("div"),this.opts.escapeMarkup),j!=b&&g.find("div").replaceWith("<div>"+j+"</div>"),k=this.opts.formatSelectionCssClass(c,g.find("div")),k!=b&&g.addClass(k),d&&g.find(".select2-search-choice-close").on("mousedown",B).on("click dblclick",this.bind(function(b){this.isInterfaceEnabled()&&(this.unselect(a(b.target)),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"),B(b),this.close(),this.focusSearch())})).on("focus",this.bind(function(){this.isInterfaceEnabled()&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"))})),g.data("select2-data",c),g.insertBefore(this.searchContainer),i.push(h),this.setVal(i)},unselect:function(b){var d,e,c=this.getVal();if(b=b.closest(".select2-search-choice"),0===b.length)throw"Invalid argument: "+b+". Must be .select2-search-choice";if(d=b.data("select2-data")){var f=a.Event("select2-removing");if(f.val=this.id(d),f.choice=d,this.opts.element.trigger(f),f.isDefaultPrevented())return!1;for(;(e=p(this.id(d),c))>=0;)c.splice(e,1),this.setVal(c),this.select&&this.postprocessResults();return b.remove(),this.opts.element.trigger({type:"select2-removed",val:this.id(d),choice:d}),this.triggerChange({removed:d}),!0}},postprocessResults:function(a,b,c){var d=this.getVal(),e=this.results.find(".select2-result"),f=this.results.find(".select2-result-with-children"),g=this;e.each2(function(a,b){var c=g.id(b.data("select2-data"));p(c,d)>=0&&(b.addClass("select2-selected"),b.find(".select2-result-selectable").addClass("select2-selected"))}),f.each2(function(a,b){b.is(".select2-result-selectable")||0!==b.find(".select2-result-selectable:not(.select2-selected)").length||b.addClass("select2-selected")}),-1==this.highlight()&&c!==!1&&g.highlight(0),!this.opts.createSearchChoice&&!e.filter(".select2-result:not(.select2-selected)").length>0&&(!a||a&&!a.more&&0===this.results.find(".select2-no-results").length)&&K(g.opts.formatNoMatches,"formatNoMatches")&&this.results.append("<li class='select2-no-results'>"+L(g.opts.formatNoMatches,g.search.val())+"</li>")},getMaxSearchWidth:function(){return this.selection.width()-t(this.search)},resizeSearch:function(){var a,b,c,d,e,f=t(this.search);a=D(this.search)+10,b=this.search.offset().left,c=this.selection.width(),d=this.selection.offset().left,e=c-(b-d)-f,a>e&&(e=c-f),40>e&&(e=c-f),0>=e&&(e=a),this.search.width(Math.floor(e))},getVal:function(){var a;return this.select?(a=this.select.val(),null===a?[]:a):(a=this.opts.element.val(),s(a,this.opts.separator))},setVal:function(b){var c;this.select?this.select.val(b):(c=[],a(b).each(function(){p(this,c)<0&&c.push(this)}),this.opts.element.val(0===c.length?"":c.join(this.opts.separator)))},buildChangeDetails:function(a,b){for(var b=b.slice(0),a=a.slice(0),c=0;c<b.length;c++)for(var d=0;d<a.length;d++)r(this.opts.id(b[c]),this.opts.id(a[d]))&&(b.splice(c,1),c>0&&c--,a.splice(d,1),d--);return{added:b,removed:a}},val:function(c,d){var e,f=this;if(0===arguments.length)return this.getVal();if(e=this.data(),e.length||(e=[]),!c&&0!==c)return this.opts.element.val(""),this.updateSelection([]),this.clearSearch(),d&&this.triggerChange({added:this.data(),removed:e}),void 0;if(this.setVal(c),this.select)this.opts.initSelection(this.select,this.bind(this.updateSelection)),d&&this.triggerChange(this.buildChangeDetails(e,this.data()));else{if(this.opts.initSelection===b)throw new Error("val() cannot be called if initSelection() is not defined");this.opts.initSelection(this.opts.element,function(b){var c=a.map(b,f.id);f.setVal(c),f.updateSelection(b),f.clearSearch(),d&&f.triggerChange(f.buildChangeDetails(e,f.data()))})}this.clearSearch()},onSortStart:function(){if(this.select)throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");this.search.width(0),this.searchContainer.hide()},onSortEnd:function(){var b=[],c=this;this.searchContainer.show(),this.searchContainer.appendTo(this.searchContainer.parent()),this.resizeSearch(),this.selection.find(".select2-search-choice").each(function(){b.push(c.opts.id(a(this).data("select2-data")))}),this.setVal(b),this.triggerChange()},data:function(b,c){var e,f,d=this;return 0===arguments.length?this.selection.children(".select2-search-choice").map(function(){return a(this).data("select2-data")}).get():(f=this.data(),b||(b=[]),e=a.map(b,function(a){return d.opts.id(a)}),this.setVal(e),this.updateSelection(b),this.clearSearch(),c&&this.triggerChange(this.buildChangeDetails(f,this.data())),void 0)}}),a.fn.select2=function(){var d,e,f,g,h,c=Array.prototype.slice.call(arguments,0),i=["val","destroy","opened","open","close","focus","isFocused","container","dropdown","onSortStart","onSortEnd","enable","disable","readonly","positionDropdown","data","search"],j=["opened","isFocused","container","dropdown"],k=["val","data"],l={search:"externalSearch"};return this.each(function(){if(0===c.length||"object"==typeof c[0])d=0===c.length?{}:a.extend({},c[0]),d.element=a(this),"select"===d.element.get(0).tagName.toLowerCase()?h=d.element.prop("multiple"):(h=d.multiple||!1,"tags"in d&&(d.multiple=h=!0)),e=h?new window.Select2["class"].multi:new window.Select2["class"].single,e.init(d);else{if("string"!=typeof c[0])throw"Invalid arguments to select2 plugin: "+c;if(p(c[0],i)<0)throw"Unknown method: "+c[0];if(g=b,e=a(this).data("select2"),e===b)return;if(f=c[0],"container"===f?g=e.container:"dropdown"===f?g=e.dropdown:(l[f]&&(f=l[f]),g=e[f].apply(e,c.slice(1))),p(c[0],j)>=0||p(c[0],k)&&1==c.length)return!1}}),g===b?this:g},a.fn.select2.defaults={width:"copy",loadMorePadding:0,closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:"",dropdownCssClass:"",formatResult:function(a,b,c,d){var e=[];return F(a.text,c.term,e,d),e.join("")},formatSelection:function(a,c,d){return a?d(a.text):b},sortResults:function(a){return a},formatResultCssClass:function(a){return a.css},formatSelectionCssClass:function(){return b},formatMatches:function(a){return a+" results are available, use up and down arrow keys to navigate."},formatNoMatches:function(){return"No matches found"},formatInputTooShort:function(a,b){var c=b-a.length;return"Please enter "+c+" or more character"+(1==c?"":"s")},formatInputTooLong:function(a,b){var c=a.length-b;return"Please delete "+c+" character"+(1==c?"":"s")},formatSelectionTooBig:function(a){return"You can only select "+a+" item"+(1==a?"":"s")},formatLoadMore:function(){return"Loading more results\u2026"},formatSearching:function(){return"Searching\u2026"},minimumResultsForSearch:0,minimumInputLength:0,maximumInputLength:null,maximumSelectionSize:0,id:function(a){return a==b?null:a.id},matcher:function(a,b){return o(""+b).toUpperCase().indexOf(o(""+a).toUpperCase())>=0},separator:",",tokenSeparators:[],tokenizer:N,escapeMarkup:G,blurOnChange:!1,selectOnBlur:!1,adaptContainerCssClass:function(a){return a},adaptDropdownCssClass:function(){return null},nextSearchTerm:function(){return b},searchInputPlaceholder:"",createSearchChoicePosition:"top",shouldFocusInput:function(a){return a.opts.minimumResultsForSearch<0?!1:!0}},a.fn.select2.ajaxDefaults={transport:a.ajax,params:{type:"GET",cache:!1,dataType:"json"}},window.Select2={query:{ajax:H,local:I,tags:J},util:{debounce:w,markMatch:F,escapeMarkup:G,stripDiacritics:o},"class":{"abstract":d,single:e,multi:f}}}}(jQuery);
js/select2/select2.png ADDED
Binary file
js/select2/select2x2.png ADDED
Binary file
languages/maintenance-it_IT.mo ADDED
Binary file
languages/maintenance-it_IT.po ADDED
@@ -0,0 +1,249 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: maintenance\n"
4
+ "POT-Creation-Date: 2014-02-18 12:25+0200\n"
5
+ "PO-Revision-Date: 2014-05-11 12:08+0100\n"
6
+ "Last-Translator: René Maurer <rene.maurer@jamos.ch>\n"
7
+ "Language-Team: Massimo Pacifici <pacifici@eumed.it>\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=UTF-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "X-Generator: Poedit 1.6.5\n"
12
+ "X-Poedit-KeywordsList: _;_e;__;_x\n"
13
+ "X-Poedit-Basepath: .\n"
14
+ "X-Poedit-SourceCharset: UTF-8\n"
15
+ "Language: it_IT\n"
16
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
17
+
18
+ #: /includes/admin.php:84
19
+ msgid "Save changes"
20
+ msgstr "Salva le modifiche"
21
+
22
+ #: /includes/functions.php:104
23
+ msgid "General Settings"
24
+ msgstr "Impostazioni generali"
25
+
26
+ #: /includes/functions.php:110
27
+ msgid "Pro version"
28
+ msgstr "Versione Pro"
29
+
30
+ #: /includes/functions.php:116
31
+ msgid "Support"
32
+ msgstr "Assistenza"
33
+
34
+ #: /includes/functions.php:124
35
+ msgid "Page title"
36
+ msgstr "Titolo della pagina"
37
+
38
+ #: /includes/functions.php:125
39
+ msgid "Headline"
40
+ msgstr "Intestazione"
41
+
42
+ #: /includes/functions.php:126
43
+ msgid "Description"
44
+ msgstr "Descrizione"
45
+
46
+ #: /includes/functions.php:127
47
+ msgid "Logo"
48
+ msgstr "Logo"
49
+
50
+ #: /includes/functions.php:127
51
+ msgid "Upload Logo"
52
+ msgstr "Carica logo"
53
+
54
+ #: /includes/functions.php:130
55
+ msgid "Admin bar"
56
+ msgstr "Barra di Amministrazione"
57
+
58
+ #: /includes/functions.php:130
59
+ msgid "Show admin bar"
60
+ msgstr "Mostra la barra di Amministrazione"
61
+
62
+ #: /includes/functions.php:131
63
+ msgid "503"
64
+ msgstr "503"
65
+
66
+ #: /includes/functions.php:131
67
+ msgid "Service temporarily unavailable"
68
+ msgstr "Servizio temporaneamente non disponibile"
69
+
70
+ #: /includes/functions.php:132
71
+ msgid "Google Analytics ID"
72
+ msgstr "Google Analytics ID"
73
+
74
+ #: /includes/functions.php:132
75
+ msgid "UA-XXXXX-X"
76
+ msgstr "UA-XXXXX-X"
77
+
78
+ #: /includes/functions.php:133
79
+ msgid "Blur intensity"
80
+ msgstr "Intensità sfocatura"
81
+
82
+ #: /includes/functions.php:134
83
+ msgid "Background blur"
84
+ msgstr "Sfondo sfocato"
85
+
86
+ #: /includes/functions.php:134
87
+ msgid "Apply a blur"
88
+ msgstr "Attiva sfocatura"
89
+
90
+ #: /includes/functions.php:135
91
+ msgid "Login On / Off"
92
+ msgstr "Login Sì / No"
93
+
94
+ #: /includes/functions.php:142
95
+ msgid "Background image"
96
+ msgstr "Immagine di sfondo"
97
+
98
+ #: /includes/functions.php:142
99
+ msgid "Upload Background"
100
+ msgstr "Carica sfondo"
101
+
102
+ #: /includes/functions.php:148
103
+ msgid "Background color"
104
+ msgstr "Colore dello sfondo"
105
+
106
+ #: /includes/functions.php:149
107
+ msgid "Font color"
108
+ msgstr "Colore del testo"
109
+
110
+ #: /includes/functions.php:157
111
+ msgid "Have any questions?"
112
+ msgstr "Hai domande?"
113
+
114
+ #: /includes/functions.php:158
115
+ #, php-format
116
+ msgid ""
117
+ "You may find answers to your questions at <a target=\"_blank\" href=\"http://"
118
+ "wordpress.org/support/plugin/maintenance\">support forum</a><br>You may <a "
119
+ "target=\"_blank\" href=\"mailto:mail@fruitfulcode.com?subject=Maintenance "
120
+ "plugin\">contact us</a> with customization requests and suggestions.<br> "
121
+ "Please visit our website to learn about us and our services <a href=\"%1$s\" "
122
+ "title=\"%2$s\">%2$s</a>"
123
+ msgstr ""
124
+ "Puoi trovare risposte alle tue domande nel <a target=\"_blank\" href="
125
+ "\"http://wordpress.org/support/plugin/maintenance\">Forum di Assistenza</a>."
126
+ "<br>Puoi <a target=\"_blank\" href=\"mailto:mail@fruitfulcode.com?"
127
+ "subject=Maintenance plugin\">contattarci</a> per richieste di "
128
+ "personalizzazioni e suggerimenti.<br> Visita il nostro sito per saperne di "
129
+ "più su di noi e i nostri servizi <a href=\"%1$s\" title=\"%2$s\">%2$s</a> "
130
+
131
+ #: /includes/functions.php:169
132
+ msgid "Extended functionality"
133
+ msgstr "Funzionalità estese"
134
+
135
+ #: /includes/functions.php:170
136
+ #, php-format
137
+ msgid ""
138
+ "Purchase <a href=\"http://codecanyon.net/item/maintenance-wordpress-"
139
+ "plugin/2781350?ref=fruitfulcode\" target=\"_blank\">PRO</a> version with "
140
+ "extended functionality. %1$s If you like our plugin please <a target=\"_blank"
141
+ "\" href=\"http://wordpress.org/support/view/plugin-reviews/maintenance?"
142
+ "filter=5\">rate it</a>, <a title=\"leave feedbacks\" href=\"%2$s\" target="
143
+ "\"_blank\">leave feedbacks</a>."
144
+ msgstr ""
145
+ "Acquista la versione <a href=\"http://codecanyon.net/item/maintenance-"
146
+ "wordpress-plugin/2781350?ref=fruitfulcode\" target=\"_blank\">PRO</a> con "
147
+ "funzionalità estese. %1$s Se il nostro plugin ti piace <a target=\"_blank\" "
148
+ "href=\"http://wordpress.org/support/view/plugin-reviews/maintenance?"
149
+ "filter=5\">votalo</a> e <a title=\"\" href=\"%2$s\" target=\"_blank\">lascia "
150
+ "un commento</a>."
151
+
152
+ #: /includes/functions.php:174
153
+ msgid "Demo website"
154
+ msgstr "Sito web dimostrativo"
155
+
156
+ #: /includes/functions.php:232
157
+ msgid "Maintenance"
158
+ msgstr "Manutenzione"
159
+
160
+ #: /includes/functions.php:255
161
+ msgid "Website is under construction"
162
+ msgstr "Il sito web è in costruzione"
163
+
164
+ #: /includes/functions.php:256
165
+ msgid "Maintenance mode is on"
166
+ msgstr "La modalità di manutenzione è attiva"
167
+
168
+ #: /includes/functions.php:257
169
+ msgid "Website will be available soon"
170
+ msgstr "Il sito web sarà disponibile a breve"
171
+
172
+ #: /load/functions.php:37
173
+ msgid "Permission access denied!"
174
+ msgstr "Accesso negato!"
175
+
176
+ #: /load/functions.php:45
177
+ msgid "You entered your login are incorrect!"
178
+ msgstr "Hai inserito un nome utente errato!"
179
+
180
+ #: /load/functions.php:49
181
+ msgid "You entered your password are incorrect!"
182
+ msgstr "Hai inserito una password errata!"
183
+
184
+ #: /load/functions.php:52
185
+ msgid "You entered your login and password are incorrect!"
186
+ msgstr "Hai inserito nome utente e password errati!"
187
+
188
+ #: /load/functions.php:223
189
+ msgid "Username"
190
+ msgstr "Username"
191
+
192
+ #: /load/functions.php:224
193
+ msgid "Password"
194
+ msgstr "Password"
195
+
196
+ #: /load/functions.php:225
197
+ msgid "Sign In"
198
+ msgstr "Entra"
199
+
200
+ #, fuzzy
201
+ #~ msgid "maintenance"
202
+ #~ msgstr "Manutenção"
203
+
204
+ #~ msgid "Contact support"
205
+ #~ msgstr "Contatar suporte"
206
+
207
+ #~ msgid ""
208
+ #~ "If you faced with any problems, have a question or suggestion you always "
209
+ #~ "can contact us with any request on our website <a href=\"%1$s\" title="
210
+ #~ "\"%2$s\">%2$s</a>"
211
+ #~ msgstr ""
212
+ #~ "Se você viu algum problem, tem alguma dúvida ou sugestão, você pode nos "
213
+ #~ "contatar em nosso site <a href=\"%1$s\" title=\"%2$s\">%2$s</a>"
214
+
215
+ #~ msgid ""
216
+ #~ "If you like our plugin please rate it, %1$s <a title=\"leave feedback\" "
217
+ #~ "href=\"%2$s\" target=\"_blank\">leave feedback</a> or purchase extended "
218
+ #~ "version %1$s with more other features."
219
+ #~ msgstr ""
220
+ #~ "Se você gostou de nosso plugin, por-favor avalie-o, %1$s <a title=\"deixe "
221
+ #~ "um comentário\" href=\"%2$s\" target=\"_blank\">deixe um comentário</a> "
222
+ #~ "ou adquira a versão extendida %1$s com mais funcionalidades."
223
+
224
+ #~ msgid "Purchase"
225
+ #~ msgstr "Comprar"
226
+
227
+ #~ msgid "We have time until launch"
228
+ #~ msgstr "Осталось времени до запуска"
229
+
230
+ #~ msgid "Be first of your friends who will know when the website goes live."
231
+ #~ msgstr "Будь первым из твоих друзей, кто узнает о запуске сайта."
232
+
233
+ #~ msgid "Check out our extended version of plugin with new features"
234
+ #~ msgstr "Проверьте возможности расширенной версии плагина"
235
+
236
+ #~ msgid "Your session has expired."
237
+ #~ msgstr "Ваша сессия истекла."
238
+
239
+ #~ msgid "Customer login"
240
+ #~ msgstr "Вход для клиентов"
241
+
242
+ #~ msgid "Please login to see website"
243
+ #~ msgstr "Пожалуйста авторезируйтесь"
244
+
245
+ #~ msgid "User roles"
246
+ #~ msgstr "Роли пользователей"
247
+
248
+ #~ msgid "Choose users access permissions in maintenance mode."
249
+ #~ msgstr "Выберите права доступа пользователей в режиме обслуживания."
languages/maintenance-ru_RU.mo CHANGED
Binary file
languages/maintenance-ru_RU.po CHANGED
@@ -1,116 +1,137 @@
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: maintenance\n"
4
- "POT-Creation-Date: 2014-02-18 12:25+0200\n"
5
- "PO-Revision-Date: 2014-02-18 12:27+0200\n"
6
- "Last-Translator: \n"
7
  "Language-Team: fruitfulcode\n"
 
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
- "X-Generator: Poedit 1.5.4\n"
12
  "X-Poedit-KeywordsList: _;_e;__;_x\n"
13
  "X-Poedit-Basepath: .\n"
14
  "X-Poedit-SourceCharset: UTF-8\n"
15
 
16
- #: /includes/admin.php:84
17
  msgid "Save changes"
18
  msgstr "Сохранить"
19
 
20
- #: /includes/functions.php:104
 
 
 
 
 
 
 
 
21
  msgid "General Settings"
22
  msgstr "Общие настройки"
23
 
24
- #: /includes/functions.php:110
 
 
 
 
25
  #, fuzzy
26
  msgid "Pro version"
27
  msgstr "Премиум версия"
28
 
29
- #: /includes/functions.php:116
30
  msgid "Support"
31
- msgstr ""
32
 
33
- #: /includes/functions.php:124
34
  msgid "Page title"
35
  msgstr "Заголовок страницы"
36
 
37
- #: /includes/functions.php:125
38
  msgid "Headline"
39
  msgstr "Заголовок"
40
 
41
- #: /includes/functions.php:126
42
  msgid "Description"
43
  msgstr "Описание"
44
 
45
- #: /includes/functions.php:127
46
  msgid "Logo"
47
  msgstr "Логотип"
48
 
49
- #: /includes/functions.php:127
50
  msgid "Upload Logo"
51
  msgstr "Загрузить логотип"
52
 
53
- #: /includes/functions.php:130
54
  msgid "Admin bar"
55
  msgstr "Админ-панель"
56
 
57
- #: /includes/functions.php:130
58
  msgid "Show admin bar"
59
  msgstr "Показать админ-панель"
60
 
61
- #: /includes/functions.php:131
62
  msgid "503"
63
  msgstr ""
64
 
65
- #: /includes/functions.php:131
66
  msgid "Service temporarily unavailable"
67
  msgstr "Сервис врменно недоступен"
68
 
69
- #: /includes/functions.php:132
70
  msgid "Google Analytics ID"
71
  msgstr ""
72
 
73
- #: /includes/functions.php:132
74
  msgid "UA-XXXXX-X"
75
  msgstr ""
76
 
77
- #: /includes/functions.php:133
78
  msgid "Blur intensity"
79
  msgstr "Интенсивность размытия"
80
 
81
- #: /includes/functions.php:134
82
  msgid "Background blur"
83
  msgstr "Размытие фона"
84
 
85
- #: /includes/functions.php:134
86
  msgid "Apply a blur"
87
  msgstr "Применить размытие"
88
 
89
- #: /includes/functions.php:135
90
  msgid "Login On / Off"
91
  msgstr ""
92
 
93
- #: /includes/functions.php:142
 
 
 
 
94
  msgid "Background image"
95
  msgstr "Фоновое изображение"
96
 
97
- #: /includes/functions.php:142
98
  msgid "Upload Background"
99
  msgstr "Загрузить фон"
100
 
101
- #: /includes/functions.php:148
102
  msgid "Background color"
103
  msgstr "Цвет фона"
104
 
105
- #: /includes/functions.php:149
106
  msgid "Font color"
107
  msgstr "Цвет шрифта"
108
 
109
- #: /includes/functions.php:157
 
 
 
 
110
  msgid "Have any questions?"
111
  msgstr ""
112
 
113
- #: /includes/functions.php:158
114
  #, php-format
115
  msgid ""
116
  "You may find answers to your questions at <a target=\"_blank\" href=\"http://"
@@ -121,12 +142,12 @@ msgid ""
121
  "title=\"%2$s\">%2$s</a>"
122
  msgstr ""
123
 
124
- #: /includes/functions.php:169
125
  #, fuzzy
126
  msgid "Extended functionality"
127
  msgstr "Расширенная версия"
128
 
129
- #: /includes/functions.php:170
130
  #, php-format
131
  msgid ""
132
  "Purchase <a href=\"http://codecanyon.net/item/maintenance-wordpress-"
@@ -137,54 +158,67 @@ msgid ""
137
  "\"_blank\">leave feedbacks</a>."
138
  msgstr ""
139
 
140
- #: /includes/functions.php:174
141
  msgid "Demo website"
142
  msgstr ""
143
 
144
- #: /includes/functions.php:232
145
  #, fuzzy
146
  msgid "Maintenance"
147
  msgstr "Режим обслуживания включен"
148
 
149
- #: /includes/functions.php:255
150
  msgid "Website is under construction"
151
  msgstr "Сайт находится в стадии разработки"
152
 
153
- #: /includes/functions.php:256
154
  msgid "Maintenance mode is on"
155
  msgstr "Режим обслуживания включен"
156
 
157
- #: /includes/functions.php:257
158
  msgid "Website will be available soon"
159
  msgstr "Сайт скоро бдует доступен "
160
 
161
- #: /load/functions.php:37
162
  msgid "Permission access denied!"
163
  msgstr "Доступ запрещен!"
164
 
165
- #: /load/functions.php:45
166
  msgid "You entered your login are incorrect!"
167
  msgstr "Вы ввели неверный логин! "
168
 
169
- #: /load/functions.php:49
170
  msgid "You entered your password are incorrect!"
171
  msgstr "Вы ввели неверный пароль!"
172
 
173
- #: /load/functions.php:52
174
  msgid "You entered your login and password are incorrect!"
175
  msgstr "Вы ввели неверный логин или пароль!"
176
 
177
- #: /load/functions.php:223
 
 
 
 
 
178
  msgid "Username"
179
  msgstr "Логин"
180
 
181
- #: /load/functions.php:224
182
  msgid "Password"
183
  msgstr "Пароль"
184
 
185
- #: /load/functions.php:225
186
- msgid "Sign In"
187
- msgstr "Войти"
 
 
 
 
 
 
 
 
188
 
189
  #~ msgid "Contact support"
190
  #~ msgstr "Служба поддержки"
@@ -222,9 +256,6 @@ msgstr "Войти"
222
  #~ msgid "Your session has expired."
223
  #~ msgstr "Ваша сессия истекла."
224
 
225
- #~ msgid "Customer login"
226
- #~ msgstr "Вход для клиентов"
227
-
228
  #~ msgid "Please login to see website"
229
  #~ msgstr "Пожалуйста авторезируйтесь"
230
 
1
  msgid ""
2
  msgstr ""
3
  "Project-Id-Version: maintenance\n"
4
+ "POT-Creation-Date: 2014-07-08 11:10+0200\n"
5
+ "PO-Revision-Date: 2014-07-08 11:11+0200\n"
6
+ "Last-Translator: fruitfulcode <mail@fruitfulcode.com>\n"
7
  "Language-Team: fruitfulcode\n"
8
+ "Language: ru_RU\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.6.6\n"
13
  "X-Poedit-KeywordsList: _;_e;__;_x\n"
14
  "X-Poedit-Basepath: .\n"
15
  "X-Poedit-SourceCharset: UTF-8\n"
16
 
17
+ #: includes/admin.php:88
18
  msgid "Save changes"
19
  msgstr "Сохранить"
20
 
21
+ #: includes/functions.php:161
22
+ msgid "Standard Fonts"
23
+ msgstr "Стандартные шрифты"
24
+
25
+ #: includes/functions.php:168
26
+ msgid "Google Web Fonts"
27
+ msgstr ""
28
+
29
+ #: includes/functions.php:187
30
  msgid "General Settings"
31
  msgstr "Общие настройки"
32
 
33
+ #: includes/functions.php:188
34
+ msgid "Custom CSS"
35
+ msgstr ""
36
+
37
+ #: includes/functions.php:194
38
  #, fuzzy
39
  msgid "Pro version"
40
  msgstr "Премиум версия"
41
 
42
+ #: includes/functions.php:200
43
  msgid "Support"
44
+ msgstr "Поддержка"
45
 
46
+ #: includes/functions.php:208
47
  msgid "Page title"
48
  msgstr "Заголовок страницы"
49
 
50
+ #: includes/functions.php:209
51
  msgid "Headline"
52
  msgstr "Заголовок"
53
 
54
+ #: includes/functions.php:210
55
  msgid "Description"
56
  msgstr "Описание"
57
 
58
+ #: includes/functions.php:211
59
  msgid "Logo"
60
  msgstr "Логотип"
61
 
62
+ #: includes/functions.php:211
63
  msgid "Upload Logo"
64
  msgstr "Загрузить логотип"
65
 
66
+ #: includes/functions.php:215
67
  msgid "Admin bar"
68
  msgstr "Админ-панель"
69
 
70
+ #: includes/functions.php:215
71
  msgid "Show admin bar"
72
  msgstr "Показать админ-панель"
73
 
74
+ #: includes/functions.php:216
75
  msgid "503"
76
  msgstr ""
77
 
78
+ #: includes/functions.php:216
79
  msgid "Service temporarily unavailable"
80
  msgstr "Сервис врменно недоступен"
81
 
82
+ #: includes/functions.php:222
83
  msgid "Google Analytics ID"
84
  msgstr ""
85
 
86
+ #: includes/functions.php:222
87
  msgid "UA-XXXXX-X"
88
  msgstr ""
89
 
90
+ #: includes/functions.php:223
91
  msgid "Blur intensity"
92
  msgstr "Интенсивность размытия"
93
 
94
+ #: includes/functions.php:224
95
  msgid "Background blur"
96
  msgstr "Размытие фона"
97
 
98
+ #: includes/functions.php:224
99
  msgid "Apply a blur"
100
  msgstr "Применить размытие"
101
 
102
+ #: includes/functions.php:225
103
  msgid "Login On / Off"
104
  msgstr ""
105
 
106
+ #: includes/functions.php:235
107
+ msgid "CSS Code"
108
+ msgstr ""
109
+
110
+ #: includes/functions.php:242
111
  msgid "Background image"
112
  msgstr "Фоновое изображение"
113
 
114
+ #: includes/functions.php:242
115
  msgid "Upload Background"
116
  msgstr "Загрузить фон"
117
 
118
+ #: includes/functions.php:248
119
  msgid "Background color"
120
  msgstr "Цвет фона"
121
 
122
+ #: includes/functions.php:249
123
  msgid "Font color"
124
  msgstr "Цвет шрифта"
125
 
126
+ #: includes/functions.php:256
127
+ msgid "Font family"
128
+ msgstr ""
129
+
130
+ #: includes/functions.php:264
131
  msgid "Have any questions?"
132
  msgstr ""
133
 
134
+ #: includes/functions.php:265
135
  #, php-format
136
  msgid ""
137
  "You may find answers to your questions at <a target=\"_blank\" href=\"http://"
142
  "title=\"%2$s\">%2$s</a>"
143
  msgstr ""
144
 
145
+ #: includes/functions.php:276
146
  #, fuzzy
147
  msgid "Extended functionality"
148
  msgstr "Расширенная версия"
149
 
150
+ #: includes/functions.php:277
151
  #, php-format
152
  msgid ""
153
  "Purchase <a href=\"http://codecanyon.net/item/maintenance-wordpress-"
158
  "\"_blank\">leave feedbacks</a>."
159
  msgstr ""
160
 
161
+ #: includes/functions.php:281
162
  msgid "Demo website"
163
  msgstr ""
164
 
165
+ #: includes/functions.php:340
166
  #, fuzzy
167
  msgid "Maintenance"
168
  msgstr "Режим обслуживания включен"
169
 
170
+ #: includes/functions.php:363
171
  msgid "Website is under construction"
172
  msgstr "Сайт находится в стадии разработки"
173
 
174
+ #: includes/functions.php:364
175
  msgid "Maintenance mode is on"
176
  msgstr "Режим обслуживания включен"
177
 
178
+ #: includes/functions.php:365
179
  msgid "Website will be available soon"
180
  msgstr "Сайт скоро бдует доступен "
181
 
182
+ #: load/functions.php:37
183
  msgid "Permission access denied!"
184
  msgstr "Доступ запрещен!"
185
 
186
+ #: load/functions.php:45
187
  msgid "You entered your login are incorrect!"
188
  msgstr "Вы ввели неверный логин! "
189
 
190
+ #: load/functions.php:49
191
  msgid "You entered your password are incorrect!"
192
  msgstr "Вы ввели неверный пароль!"
193
 
194
+ #: load/functions.php:52
195
  msgid "You entered your login and password are incorrect!"
196
  msgstr "Вы ввели неверный логин или пароль!"
197
 
198
+ #: load/functions.php:259
199
+ #, fuzzy
200
+ msgid "User Login"
201
+ msgstr "Вход для клиентов"
202
+
203
+ #: load/functions.php:260
204
  msgid "Username"
205
  msgstr "Логин"
206
 
207
+ #: load/functions.php:261
208
  msgid "Password"
209
  msgstr "Пароль"
210
 
211
+ #: load/functions.php:262
212
+ #, fuzzy
213
+ msgid "Lost Password"
214
+ msgstr "Пароль"
215
+
216
+ #: load/functions.php:263
217
+ msgid "Login"
218
+ msgstr ""
219
+
220
+ #~ msgid "Sign In"
221
+ #~ msgstr "Войти"
222
 
223
  #~ msgid "Contact support"
224
  #~ msgstr "Служба поддержки"
256
  #~ msgid "Your session has expired."
257
  #~ msgstr "Ваша сессия истекла."
258
 
 
 
 
259
  #~ msgid "Please login to see website"
260
  #~ msgstr "Пожалуйста авторезируйтесь"
261
 
load/functions.php CHANGED
@@ -69,11 +69,21 @@ function get_custom_login_code() {
69
 
70
  function add_custom_style() {
71
  global $wp_styles;
72
- wp_register_style('_opensans','http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800&subset=latin,cyrillic-ext');
 
 
 
 
 
 
 
 
 
 
73
  wp_register_style('_iconstyle', MAINTENANCE_URI .'load/images/fonts-icon/icons.style.css');
74
  wp_register_style('_style', MAINTENANCE_URI .'load/style.css');
75
  $wp_styles->do_items('_iconstyle');
76
- $wp_styles->do_items('_opensans');
77
  /*Add inline custom style*/
78
  get_options_style();
79
  $wp_styles->do_items('_style');
@@ -121,10 +131,11 @@ function get_custom_login_code() {
121
  $options_style .= '.preloader {background-color: '. esc_attr($mt_options['body_bg_color']) .'}';
122
  }
123
 
124
- if (!isset($mt_options['is_login'])) {
125
- $options_style .= '.logo { display: block; float: none; margin: 0; text-align: center; width: 100%;} ';
126
  }
127
 
 
128
  if ( !empty($mt_options['font_color']) ) {
129
  $font_color = esc_attr($mt_options['font_color']);
130
  $options_style .= '.site-title {color: '. $font_color .'} ';
@@ -132,10 +143,16 @@ function get_custom_login_code() {
132
  $options_style .= '.login-form {color: '. $font_color .'} ';
133
  $options_style .= '.ie7 .login-form input[type="text"], .ie7 .login-form input[type="password"], .ie7 .login-form input[type="submit"] {color: '. $font_color .'} ';
134
  $options_style .= '.site-content {color: '. $font_color .'} ';
 
 
135
  $options_style .= 'footer {color: '. $font_color .'} ';
136
  $options_style .= '.ie7 .company-name {color: '. $font_color .'} ';
137
  }
138
 
 
 
 
 
139
  wp_add_inline_style( '_style', $options_style );
140
  }
141
  //add_action('options_style', 'get_options_style', 10);
@@ -143,16 +160,18 @@ function get_custom_login_code() {
143
  function get_logo_box() {
144
  $mt_options = mt_get_plugin_options(true);
145
  $out_html = '';
146
- $out_html = '<a class="logo" rel="home" href="'.esc_url(site_url('')) .'">';
147
  if ( !empty($mt_options['logo']) ) {
148
- $logo = wp_get_attachment_image_src( $mt_options['logo'], 'full');
149
- $out_html .= '<div class="img-inner">';
150
  $out_html .= '<img src="'. esc_url($logo[0]) .'" alt="logo"/>';
151
- $out_html .= '</div>';
152
  } else {
153
- $out_html .= '<h1 class="site-title">'. get_bloginfo( 'name' ) .'</h1>';
 
154
  }
155
- $out_html .= '</a>';
 
156
  echo $out_html;
157
  }
158
  add_action ('logo_box', 'get_logo_box', 10);
@@ -184,7 +203,11 @@ function get_custom_login_code() {
184
  $out_ .= 'jQuery(document).ready(function() { ' . "\r\n";
185
  if (!empty($mt_options['body_bg'])) {
186
  $bg = wp_get_attachment_image_src( $mt_options['body_bg'], 'full');
187
- $out_ .= 'jQuery.backstretch("'. esc_url($bg[0]) .'");' . "\r\n" ;
 
 
 
 
188
  }
189
 
190
  if (!empty($mt_options['is_blur'])) {
@@ -212,6 +235,16 @@ function get_custom_login_code() {
212
  }
213
  add_action('footer_section', 'get_footer_section', 10);
214
 
 
 
 
 
 
 
 
 
 
 
215
  function do_login_form($user_login, $class_login, $class_password) {
216
  $mt_options = mt_get_plugin_options(true);
217
  $out_login_form = $form_error = '';
@@ -220,9 +253,11 @@ function get_custom_login_code() {
220
  }
221
 
222
  $out_login_form .= '<form name="login-form" id="login-form" class="login-form'.$form_error.'" method="post">';
 
223
  $out_login_form .= '<span class="licon '.$class_login.'"><input type="text" name="log" id="log" value="'. $user_login .'" size="20" class="input username" placeholder="'. __('Username', 'maintenance') .'"/></span>';
224
  $out_login_form .= '<span class="picon '.$class_password.'"><input type="password" name="pwd" id="login_password" value="" size="20" class="input password" placeholder="'. __('Password', 'maintenance') .'" /></span>';
225
- $out_login_form .= '<input type="submit" class="button" name="submit" id="submit" value="'.__('Sign In','maintenance') .'" tabindex="4" />';
 
226
  $out_login_form .= '<input type="hidden" name="is_custom_login" value="1" />';
227
  $out_login_form .= '</form>';
228
 
@@ -238,21 +273,6 @@ function get_custom_login_code() {
238
  }
239
  add_action('before_content_section', 'get_preloader_element', 5);
240
 
241
- function maintenance_fruitful_metadevice() {
242
- $browser = '';
243
- $browser_ip = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
244
- $browser_an = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
245
- $browser_ipad = strpos($_SERVER['HTTP_USER_AGENT'],"iPad");
246
-
247
- if ($browser_ip == true) { $browser = 'iphone'; }
248
- if ($browser_an == true) { $browser = 'android'; }
249
- if ($browser_ipad == true) { $browser = 'ipad'; }
250
-
251
- if($browser == 'iphone') { echo '<meta name="viewport" content="width=device-width, initial-scale=1.0" />'; }
252
- if($browser == 'android') { echo '<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width" />'; }
253
- if($browser == 'ipad') { echo '<meta name="viewport" content="width=768px, minimum-scale=1.0, maximum-scale=1.0" />'; }
254
- }
255
-
256
  function maintenance_gg_analytics_code() {
257
  $mt_options = mt_get_plugin_options(true);
258
  if (!isset($mt_options['503_enabled']) && (isset($mt_options['gg_analytics_id']))) {
@@ -283,21 +303,13 @@ function get_custom_login_code() {
283
  $protocol = "HTTP/1.1";
284
  header( "$protocol 503 Service Unavailable", true, 503 );
285
 
286
- if ($mt_options['state']) {
287
- if (!empty($mt_options['expiry_date'])) {
288
- $vCurrDate = DateTime::createFromFormat('d/m/Y', $mt_options['expiry_date']);
289
- list( $date, $time ) = explode( ' ', current($vCurrDate));
290
- list( $year, $month, $day ) = explode( '-', $date );
291
- list( $hour, $minute, $second ) = explode ( ':', $time );
292
- $timestamp = mktime( $hour, $minute, $second, $month, $day, $year );
293
-
294
-
295
- if ( time() < $timestamp ) {
296
- header( "Retry-After: " . gmdate("M d Y H:i:s", $timestamp) );
297
  } else {
298
  header( "Retry-After: 3600" );
299
  }
300
- }
301
  } else {
302
  header( "Retry-After: 3600" );
303
  }
69
 
70
  function add_custom_style() {
71
  global $wp_styles;
72
+ $mt_options = mt_get_plugin_options(true);
73
+
74
+ if (!empty($mt_options['body_font_family'])) {
75
+ $font_link = '';
76
+ $font_link = mt_get_google_font(esc_attr($mt_options['body_font_family']));
77
+ if ($font_link != '') {
78
+ wp_register_style('_custom_fonts', $font_link);
79
+ $wp_styles->do_items('_custom_fonts');
80
+ }
81
+ }
82
+
83
  wp_register_style('_iconstyle', MAINTENANCE_URI .'load/images/fonts-icon/icons.style.css');
84
  wp_register_style('_style', MAINTENANCE_URI .'load/style.css');
85
  $wp_styles->do_items('_iconstyle');
86
+
87
  /*Add inline custom style*/
88
  get_options_style();
89
  $wp_styles->do_items('_style');
131
  $options_style .= '.preloader {background-color: '. esc_attr($mt_options['body_bg_color']) .'}';
132
  }
133
 
134
+ if (!empty($mt_options['body_font_family'])) {
135
+ $options_style .= 'body {font-family: '. esc_attr($mt_options['body_font_family']) .'; }';
136
  }
137
 
138
+
139
  if ( !empty($mt_options['font_color']) ) {
140
  $font_color = esc_attr($mt_options['font_color']);
141
  $options_style .= '.site-title {color: '. $font_color .'} ';
143
  $options_style .= '.login-form {color: '. $font_color .'} ';
144
  $options_style .= '.ie7 .login-form input[type="text"], .ie7 .login-form input[type="password"], .ie7 .login-form input[type="submit"] {color: '. $font_color .'} ';
145
  $options_style .= '.site-content {color: '. $font_color .'} ';
146
+ $options_style .= '.user-content-wrapper, .user-content {color: '. $font_color .'} ';
147
+ $options_style .= 'a.close-user-content, #mailchimp-box form input[type="submit"] {border-color:'. $font_color .'} ';
148
  $options_style .= 'footer {color: '. $font_color .'} ';
149
  $options_style .= '.ie7 .company-name {color: '. $font_color .'} ';
150
  }
151
 
152
+ if (!empty($mt_options['custom_css'])) {
153
+ $options_style .= wp_kses_stripslashes($mt_options['custom_css']);
154
+ }
155
+
156
  wp_add_inline_style( '_style', $options_style );
157
  }
158
  //add_action('options_style', 'get_options_style', 10);
160
  function get_logo_box() {
161
  $mt_options = mt_get_plugin_options(true);
162
  $out_html = '';
163
+
164
  if ( !empty($mt_options['logo']) ) {
165
+ $logo = wp_get_attachment_image_src( $mt_options['logo'], 'full');
166
+ $out_html = '<a class="logo" rel="home" href="'.esc_url(site_url('')) .'" style="width:'.$logo[1].'px">';
167
  $out_html .= '<img src="'. esc_url($logo[0]) .'" alt="logo"/>';
168
+ $out_html .= '</a>';
169
  } else {
170
+ $out_html = '<a class="logo istext" rel="home" href="'.esc_url(site_url('')) .'">';
171
+ $out_html .= '<h1 class="site-title">'. get_bloginfo( 'name' ) .'</h1>';
172
  }
173
+ $out_html .= '</a>';
174
+
175
  echo $out_html;
176
  }
177
  add_action ('logo_box', 'get_logo_box', 10);
203
  $out_ .= 'jQuery(document).ready(function() { ' . "\r\n";
204
  if (!empty($mt_options['body_bg'])) {
205
  $bg = wp_get_attachment_image_src( $mt_options['body_bg'], 'full');
206
+ $out_ .= 'if (jQuery(window).height() < 768) {'. "\r\n" ;
207
+ $out_ .= 'jQuery("body").backstretch("'. esc_url($bg[0]) .'");' . "\r\n" ;
208
+ $out_ .= '} else {'. "\r\n" ;
209
+ $out_ .= 'jQuery(".main-container").backstretch("'. esc_url($bg[0]) .'");' . "\r\n" ;
210
+ $out_ .= '}'. "\r\n" ;
211
  }
212
 
213
  if (!empty($mt_options['is_blur'])) {
235
  }
236
  add_action('footer_section', 'get_footer_section', 10);
237
 
238
+
239
+ function do_button_login_form($error = -1) {
240
+ ?>
241
+ <div id="btn-open-login-form" class="btn-open-login-form">
242
+ <i class="foundicon-lock"></i>
243
+ </div>
244
+ <?php
245
+
246
+ }
247
+
248
  function do_login_form($user_login, $class_login, $class_password) {
249
  $mt_options = mt_get_plugin_options(true);
250
  $out_login_form = $form_error = '';
253
  }
254
 
255
  $out_login_form .= '<form name="login-form" id="login-form" class="login-form'.$form_error.'" method="post">';
256
+ $out_login_form .= '<label for="">'. __('User Login', 'maintenance') .'</label>';
257
  $out_login_form .= '<span class="licon '.$class_login.'"><input type="text" name="log" id="log" value="'. $user_login .'" size="20" class="input username" placeholder="'. __('Username', 'maintenance') .'"/></span>';
258
  $out_login_form .= '<span class="picon '.$class_password.'"><input type="password" name="pwd" id="login_password" value="" size="20" class="input password" placeholder="'. __('Password', 'maintenance') .'" /></span>';
259
+ $out_login_form .= '<a class="lost-pass" href="'.esc_url(wp_lostpassword_url()).'" title="'.__('Lost Password', 'maintenance') .'">'.__('Lost Password', 'maintenance') .'</a>';
260
+ $out_login_form .= '<input type="submit" class="button" name="submit" id="submit" value="'.__('Login','maintenance') .'" tabindex="4" />';
261
  $out_login_form .= '<input type="hidden" name="is_custom_login" value="1" />';
262
  $out_login_form .= '</form>';
263
 
273
  }
274
  add_action('before_content_section', 'get_preloader_element', 5);
275
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
276
  function maintenance_gg_analytics_code() {
277
  $mt_options = mt_get_plugin_options(true);
278
  if (!isset($mt_options['503_enabled']) && (isset($mt_options['gg_analytics_id']))) {
303
  $protocol = "HTTP/1.1";
304
  header( "$protocol 503 Service Unavailable", true, 503 );
305
 
306
+ if (($mt_options['state']) && (!empty($mt_options['expiry_date_end']))) {
307
+ $vCurrDate = strtotime($mt_options['expiry_date_end']);
308
+ if ( strtotime( current_time('mysql', 1)) < $vCurrDate ) {
309
+ header( "Retry-After: " . gmdate("D, d M Y H:i:s", $vCurrDate) );
 
 
 
 
 
 
 
310
  } else {
311
  header( "Retry-After: 3600" );
312
  }
 
313
  } else {
314
  header( "Retry-After: 3600" );
315
  }
load/images/fonts-icon/icons.style.css CHANGED
@@ -18,4 +18,26 @@
18
  url("general_foundicons.svg#GeneralFoundicons") format("svg");
19
  font-weight: normal;
20
  font-style: normal;
21
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  url("general_foundicons.svg#GeneralFoundicons") format("svg");
19
  font-weight: normal;
20
  font-style: normal;
21
+ }
22
+
23
+ /* global foundicon styles */
24
+ [class*="foundicon-"] {
25
+ display: inline;
26
+ width: auto;
27
+ height: auto;
28
+ line-height: inherit;
29
+ vertical-align: baseline;
30
+ background-image: none;
31
+ background-position: 0 0;
32
+ background-repeat: repeat;
33
+ }
34
+
35
+ [class*="foundicon-"]:before {
36
+ font-family: "GeneralFoundicons";
37
+ font-weight: normal;
38
+ font-style: normal;
39
+ text-decoration: inherit;
40
+ }
41
+
42
+ /* icons */
43
+ .foundicon-settings:before { content: "\f000"; } .foundicon-heart:before { content: "\f001"; } .foundicon-star:before { content: "\f002"; } .foundicon-plus:before { content: "\f003"; } .foundicon-minus:before { content: "\f004"; } .foundicon-checkmark:before { content: "\f005"; } .foundicon-remove:before { content: "\f006"; } .foundicon-mail:before { content: "\f007"; } .foundicon-calendar:before { content: "\f008"; } .foundicon-page:before { content: "\f009"; } .foundicon-tools:before { content: "\f00a"; } .foundicon-globe:before { content: "\f00b"; } .foundicon-home:before { content: "\f00c"; } .foundicon-quote:before { content: "\f00d"; } .foundicon-people:before { content: "\f00e"; } .foundicon-monitor:before { content: "\f00f"; } .foundicon-laptop:before { content: "\f010"; } .foundicon-phone:before { content: "\f011"; } .foundicon-cloud:before { content: "\f012"; } .foundicon-error:before { content: "\f013"; } .foundicon-right-arrow:before { content: "\f014"; } .foundicon-left-arrow:before { content: "\f015"; } .foundicon-up-arrow:before { content: "\f016"; } .foundicon-down-arrow:before { content: "\f017"; } .foundicon-trash:before { content: "\f018"; } .foundicon-add-doc:before { content: "\f019"; } .foundicon-edit:before { content: "\f01a"; } .foundicon-lock:before { content: "\f01b"; } .foundicon-unlock:before { content: "\f01c"; } .foundicon-refresh:before { content: "\f01d"; } .foundicon-paper-clip:before { content: "\f01e"; } .foundicon-video:before { content: "\f01f"; } .foundicon-photo:before { content: "\f020"; } .foundicon-graph:before { content: "\f021"; } .foundicon-idea:before { content: "\f022"; } .foundicon-mic:before { content: "\f023"; } .foundicon-cart:before { content: "\f024"; } .foundicon-address-book:before { content: "\f025"; } .foundicon-compass:before { content: "\f026"; } .foundicon-flag:before { content: "\f027"; } .foundicon-location:before { content: "\f028"; } .foundicon-clock:before { content: "\f029"; } .foundicon-folder:before { content: "\f02a"; } .foundicon-inbox:before { content: "\f02b"; } .foundicon-website:before { content: "\f02c"; } .foundicon-smiley:before { content: "\f02d"; } .foundicon-search:before { content: "\f02e"; }
load/index.php CHANGED
@@ -1,6 +1,10 @@
1
  <?php
2
  $mess_arr = array();
 
3
  $mess_arr = get_custom_login_code();
 
 
 
4
  ?>
5
  <!DOCTYPE html>
6
  <!--[if IE 7]>
@@ -15,7 +19,7 @@
15
  <head>
16
  <meta charset="<?php bloginfo( 'charset' ); ?>" />
17
  <?php get_page_title(esc_attr($mess_arr[0])); ?>
18
- <?php maintenance_fruitful_metadevice(); ?>
19
  <link rel="profile" href="http://gmpg.org/xfn/11" />
20
  <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
21
  <?php do_action('load_custom_scripts'); ?>
@@ -23,29 +27,40 @@
23
  <?php do_action('add_single_backstretch_background'); ?>
24
  <?php do_action('add_gg_analytics_code'); ?>
25
  </head>
26
- <body>
27
- <?php do_action('before_content_section'); ?>
28
- <div id="wrapper">
29
- <div class="center">
30
- <header>
31
- <?php do_action('logo_box'); ?>
32
- <?php do_login_form(esc_attr($mess_arr[3]), esc_attr($mess_arr[1]), esc_attr($mess_arr[2])); ?>
33
- </header>
34
- </div>
 
 
 
 
 
 
 
35
 
36
- <div id="content" class="site-content">
 
37
  <div class="center">
38
- <?php do_action('content_section'); ?>
39
- </div>
40
- </div>
 
 
 
 
 
41
 
42
- </div> <!-- end wrapper -->
43
- <footer role="contentinfo">
44
- <div class="center">
45
- <?php do_action('footer_section'); ?>
46
- </div>
47
- </footer>
48
 
49
- <?php do_action('after_content_section'); ?>
50
  </body>
51
  </html>
1
  <?php
2
  $mess_arr = array();
3
+ $ebody_class = '';
4
  $mess_arr = get_custom_login_code();
5
+ if (!empty($mess_arr[0])) $ebody_class = 'error';
6
+ $mt_options = mt_get_plugin_options(true);
7
+
8
  ?>
9
  <!DOCTYPE html>
10
  <!--[if IE 7]>
19
  <head>
20
  <meta charset="<?php bloginfo( 'charset' ); ?>" />
21
  <?php get_page_title(esc_attr($mess_arr[0])); ?>
22
+ <meta name="viewport" content="width=device-width, user-scalable=no, maximum-scale=1, initial-scale=1, minimum-scale=1">
23
  <link rel="profile" href="http://gmpg.org/xfn/11" />
24
  <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
25
  <?php do_action('load_custom_scripts'); ?>
27
  <?php do_action('add_single_backstretch_background'); ?>
28
  <?php do_action('add_gg_analytics_code'); ?>
29
  </head>
30
+ <body <?php body_class('maintenance ' . $ebody_class); ?>>
31
+ <?php do_action('before_main_container'); ?>
32
+ <div class="main-container">
33
+ <?php do_action('before_content_section'); ?>
34
+ <div id="wrapper">
35
+ <div class="center">
36
+ <header>
37
+ <?php do_action('logo_box'); ?>
38
+ </header>
39
+ </div>
40
+
41
+ <div id="content" class="site-content">
42
+ <div class="center">
43
+ <?php do_action('content_section'); ?>
44
+ </div>
45
+ </div>
46
 
47
+ </div> <!-- end wrapper -->
48
+ <footer role="contentinfo">
49
  <div class="center">
50
+ <?php do_action('footer_section'); ?>
51
+ </div>
52
+ </footer>
53
+ <?php do_action('after_content_section'); ?>
54
+ <?php do_action('user_content_section'); ?>
55
+ </div>
56
+ <?php do_action('after_main_container'); ?>
57
+ <?php if (isset($mt_options['is_login'])) { ?>
58
 
59
+ <div class="login-form-container">
60
+ <?php do_login_form(esc_attr($mess_arr[3]), esc_attr($mess_arr[1]), esc_attr($mess_arr[2])); ?>
61
+ <?php do_button_login_form(); ?>
62
+ </div>
63
+ <?php } ?>
 
64
 
 
65
  </body>
66
  </html>
load/js/jquery.frontend.js CHANGED
@@ -6,65 +6,58 @@
6
 
7
  jQuery(document).ready(function() {
8
  jQuery('input[placeholder], textarea[placeholder]').placeholder();
9
- jQuery('#login-form').submit(function() {
10
- if (!jQuery(this).hasClass('active')) {
11
- jQuery(this).find('span.licon').fadeIn(300);
12
- jQuery(this).find('span.picon').fadeIn(300);
13
- jQuery(this).addClass('active');
14
- jQuery(this).find('input[type="text"]').focus();
15
- return false;
16
- }
17
- });
18
-
19
- if (jQuery('#login-form').hasClass('error')){
20
- jQuery('#login-form').find('span.licon').fadeIn(100);
21
- jQuery('#login-form').find('span.picon').fadeIn(100);
22
- jQuery('#login-form').find('input[type="text"]').focus();
23
- }
24
-
25
  jQuery(window).resize();
26
- jQuery('body > div:not(".preloader")').each(function() {
27
  jQuery(this).css({'visibility': 'hidden'});
28
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  });
30
 
31
  jQuery(window).load(function() {
32
  var isiPhone = /iphone/i.test(navigator.userAgent.toLowerCase());
33
- var isiPad = /ipad/i.test(navigator.userAgent.toLowerCase());
34
 
35
  if (!isiPhone && !isiPad) {
36
  jQuery('#content').center();
37
  }
38
 
39
- jQuery('body > div:not(".preloader")').each(function() {
40
  jQuery(this).css({'visibility': 'visible'});
41
  });
42
- setInterval( function() { jQuery('body > .preloader').fadeOut(300); }, 1000);
 
 
 
43
  });
44
 
45
  jQuery(window).resize(function() {
46
- if ((jQuery(window).width() < 1025) || (jQuery(window).width() < 769)) {
47
- jQuery('#login-form').find('span.licon').fadeIn(300);
48
- jQuery('#login-form').find('span.picon').fadeIn(300);
49
- jQuery('#login-form').addClass('active');
50
- } else {
51
- if (!jQuery('#login-form').hasClass('error')) {
52
- jQuery('#login-form').find('span.licon').fadeOut(300);
53
- jQuery('#login-form').find('span.picon').fadeOut(300);
54
- jQuery('#login-form').removeClass('active');
55
- }
56
- }
57
-
58
  var isiPhone = /iphone/i.test(navigator.userAgent.toLowerCase());
59
  var isiPad = /ipad/i.test(navigator.userAgent.toLowerCase());
60
-
61
- if (!isiPhone && !isiPad) {
62
- jQuery('#content').center();
63
- }
64
  });
65
 
66
  jQuery.fn.center = function () {
67
- this.css("position","absolute");
68
- this.css("top", Math.max(0, ((jQuery(window).height() - jQuery(this).outerHeight()) / 2) + jQuery(window).scrollTop()) + "px");
69
- return this;
 
 
 
 
 
70
  }
6
 
7
  jQuery(document).ready(function() {
8
  jQuery('input[placeholder], textarea[placeholder]').placeholder();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  jQuery(window).resize();
10
+ jQuery('.main-container > div:not(".preloader")').each(function() {
11
  jQuery(this).css({'visibility': 'hidden'});
12
  });
13
+
14
+ if (jQuery('#btn-open-login-form').length > 0) {
15
+ jQuery('#btn-open-login-form').on('click', function() {
16
+ jQuery('body').toggleClass('open-login-form');
17
+
18
+ if (jQuery(this).find('i').hasClass('foundicon-lock')) {
19
+ jQuery(this).find('i').removeClass();
20
+ jQuery(this).find('i').addClass('foundicon-unlock');
21
+ } else {
22
+ jQuery(this).find('i').removeClass();
23
+ jQuery(this).find('i').addClass('foundicon-lock');
24
+ }
25
+
26
+ });
27
+ }
28
+
29
  });
30
 
31
  jQuery(window).load(function() {
32
  var isiPhone = /iphone/i.test(navigator.userAgent.toLowerCase());
33
+ var isiPad = /ipad/i.test(navigator.userAgent.toLowerCase());
34
 
35
  if (!isiPhone && !isiPad) {
36
  jQuery('#content').center();
37
  }
38
 
39
+ jQuery('.main-container > div:not(".preloader")').each(function() {
40
  jQuery(this).css({'visibility': 'visible'});
41
  });
42
+
43
+ setTimeout( function() { jQuery('.main-container > .preloader').fadeOut(300, function() {
44
+ jQuery('.login-form-container').fadeIn(600);
45
+ }); }, 1000);
46
  });
47
 
48
  jQuery(window).resize(function() {
 
 
 
 
 
 
 
 
 
 
 
 
49
  var isiPhone = /iphone/i.test(navigator.userAgent.toLowerCase());
50
  var isiPad = /ipad/i.test(navigator.userAgent.toLowerCase());
51
+ if (!isiPhone && !isiPad) jQuery('#content').center();
 
 
 
52
  });
53
 
54
  jQuery.fn.center = function () {
55
+ if (jQuery(window).width() > 767) {
56
+ this.css("position","absolute");
57
+ this.css("top", Math.max(0, ((jQuery(window).height() - jQuery(this).outerHeight()) / 2) + jQuery(window).scrollTop()) + "px");
58
+ } else {
59
+ this.css("position","relative");
60
+ this.css("top","0");
61
+ }
62
+ return this;
63
  }
load/js/jquery.frontend.min.js CHANGED
@@ -1 +1 @@
1
- (function(e){jQuery.browser.mobile=/android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i.test(e.substr(0,4))})(navigator.userAgent||navigator.vendor||window.opera);jQuery(document).ready(function(){jQuery("input[placeholder], textarea[placeholder]").placeholder();jQuery("#login-form").submit(function(){if(!jQuery(this).hasClass("active")){jQuery(this).find("span.licon").fadeIn(300);jQuery(this).find("span.picon").fadeIn(300);jQuery(this).addClass("active");jQuery(this).find('input[type="text"]').focus();return false}});if(jQuery("#login-form").hasClass("error")){jQuery("#login-form").find("span.licon").fadeIn(100);jQuery("#login-form").find("span.picon").fadeIn(100);jQuery("#login-form").find('input[type="text"]').focus()}jQuery(window).resize();jQuery('body > div:not(".preloader")').each(function(){jQuery(this).css({visibility:"hidden"})})});jQuery(window).load(function(){var e=/iphone/i.test(navigator.userAgent.toLowerCase());var t=/ipad/i.test(navigator.userAgent.toLowerCase());if(!e&&!t){jQuery("#content").center()}jQuery('body > div:not(".preloader")').each(function(){jQuery(this).css({visibility:"visible"})});setInterval(function(){jQuery("body > .preloader").fadeOut(300)},1e3)});jQuery(window).resize(function(){if(jQuery(window).width()<1025||jQuery(window).width()<769){jQuery("#login-form").find("span.licon").fadeIn(300);jQuery("#login-form").find("span.picon").fadeIn(300);jQuery("#login-form").addClass("active")}else{if(!jQuery("#login-form").hasClass("error")){jQuery("#login-form").find("span.licon").fadeOut(300);jQuery("#login-form").find("span.picon").fadeOut(300);jQuery("#login-form").removeClass("active")}}var e=/iphone/i.test(navigator.userAgent.toLowerCase());var t=/ipad/i.test(navigator.userAgent.toLowerCase());if(!e&&!t){jQuery("#content").center()}});jQuery.fn.center=function(){this.css("position","absolute");this.css("top",Math.max(0,(jQuery(window).height()-jQuery(this).outerHeight())/2+jQuery(window).scrollTop())+"px");return this}
1
+ (function(a){jQuery.browser.mobile=/android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))})(navigator.userAgent||navigator.vendor||window.opera);jQuery(document).ready(function(){jQuery("input[placeholder], textarea[placeholder]").placeholder();jQuery(window).resize();jQuery('.main-container > div:not(".preloader")').each(function(){jQuery(this).css({"visibility":"hidden"})});if(jQuery("#btn-open-login-form").length>0)jQuery("#btn-open-login-form").on("click",function(){jQuery("body").toggleClass("open-login-form");if(jQuery(this).find("i").hasClass("foundicon-lock")){jQuery(this).find("i").removeClass();jQuery(this).find("i").addClass("foundicon-unlock")}else{jQuery(this).find("i").removeClass();jQuery(this).find("i").addClass("foundicon-lock")}})});jQuery(window).load(function(){var isiPhone=/iphone/i.test(navigator.userAgent.toLowerCase());var isiPad=/ipad/i.test(navigator.userAgent.toLowerCase());if(!isiPhone&&!isiPad)jQuery("#content").center();jQuery('.main-container > div:not(".preloader")').each(function(){jQuery(this).css({"visibility":"visible"})});setTimeout(function(){jQuery(".main-container > .preloader").fadeOut(300,function(){jQuery(".login-form-container").fadeIn(600)})},1E3)});jQuery(window).resize(function(){var isiPhone=/iphone/i.test(navigator.userAgent.toLowerCase());var isiPad=/ipad/i.test(navigator.userAgent.toLowerCase());if(!isiPhone&&!isiPad)jQuery("#content").center()});jQuery.fn.center=function(){if(jQuery(window).width()>767){this.css("position","absolute");this.css("top",Math.max(0,(jQuery(window).height()-jQuery(this).outerHeight())/2+jQuery(window).scrollTop())+"px")}else{this.css("position","relative");this.css("top","0")}return this};
load/style.css CHANGED
@@ -5,49 +5,123 @@
5
 
6
  html {
7
  height:100%;
8
- width: 100%;
9
- overflow:hidden;
10
  }
11
 
12
  body {
13
- font-family:"Open Sans", sans-serif;
14
  height:100%;
15
- width: 100%;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  }
17
 
18
- body > #wrapper {height: auto; min-height: 100%; width:100%;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
 
20
- .center {clear: both;
 
21
  content: "";
22
  display: block;
23
  margin: 0 auto;
24
  max-width: 1020px;
25
- min-width: 640px;
26
  width: 100%;
 
27
  }
28
 
29
  #wrapper {
30
  width:100%;
31
  height:100%;
32
  position:relative;
33
- min-width:640px;
34
  }
35
 
36
  header {
37
  position:relative;
38
- display:block;
39
- width:95%;
40
- float:left;
41
- padding:25px 20px;
42
- max-width:980px
43
- min-width:640px;
44
- z-index:9999999;
45
  }
46
 
47
  .site-content {
48
  position:relative;
49
- float:left;
50
- display:block;
51
  width:100%;
52
  left:0;
53
  top:0;
@@ -82,59 +156,69 @@ header {
82
 
83
  footer {
84
  position: relative;
85
- margin-top: -100px;
86
  height: 100px;
87
- clear:both;
88
- display:block;
89
  width:100%;
90
- float:left;
91
  color:#fff;
92
  }
93
 
94
-
95
  .company-name {
96
  width:100%;
97
  display:block;
98
  text-decoration:none;
99
- font-family: 'Open Sans';
100
  font-weight:bold;
101
  color:inherit;
102
  font-size:16px;
103
  text-align:center;
104
- float:left;
105
  }
106
 
107
  .logo {
108
- font-family: 'Open Sans', sans-serif;
109
  font-weight:normal;
110
  text-decoration:none;
111
- float:left;
 
 
 
 
 
 
 
 
 
112
  }
113
 
114
- .logo .img-inner {
115
- max-width:200px;
116
- max-height:200px;
117
- margin: 0 auto;
118
- display:block;
119
- }
120
 
121
  .logo img {
122
- float:left;
123
  height:100%;
124
  width:100%;
125
  }
126
 
127
  .site-title {
128
- font-family: 'Open Sans', sans-serif;
129
  font-weight:lighter;
 
 
 
130
  }
131
 
132
 
133
  .login-form {
134
- float:right;
135
- display:block;
136
- width:auto;
137
- margin:7px 0 0 0;
 
 
 
 
 
 
 
 
 
138
  }
139
 
140
  .login-form input[type="text"],
@@ -144,17 +228,17 @@ footer {
144
  background-position: 14px center;
145
  background-repeat: no-repeat;
146
  float: left;
147
- font-family: 'Open Sans',sans-serif;
148
  font-size: 20px;
149
  font-weight: 400;
150
  line-height: 20px;
151
- margin: 0 14px 0 0;
152
- max-width: 100px;
153
  padding: 5px 16px 5px 40px;
154
- width: 100px;
155
  display:block;
156
  line-height: 28px;
157
  outline:none;
 
158
  }
159
 
160
 
@@ -170,18 +254,7 @@ footer {
170
  .login-form .licon,
171
  .login-form .picon {
172
  position:relative;
173
- float:left;
174
- display:none;
175
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
176
- filter: alpha(opacity=50);
177
- -moz-opacity: .5;
178
- -khtml-opacity: .5;
179
- opacity: .5;
180
- -webkit-transition: opacity .3s ease-in-out;
181
- -moz-transition: opacity .3s ease-in-out;
182
- -ms-transition: opacity .3s ease-in-out;
183
- -o-transition: opacity .3s ease-in-out;
184
- transition: opacity .3s ease-in-out;
185
  }
186
 
187
  .ie7 .login-form .licon,
@@ -231,28 +304,46 @@ footer {
231
  color:red;
232
  }
233
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
234
  .login-form input[type="submit"] {
235
  color:inherit;
236
- font-size:25px;
237
- font-family: 'Open Sans', sans-serif;
238
  background:none;
239
  font-weight:bold;
240
  float: left;
241
  cursor:pointer;
242
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
243
- filter: alpha(opacity=50);
244
- -moz-opacity: .5;
245
- -khtml-opacity: .5;
246
- opacity: .5;
247
- -webkit-transition: opacity .3s ease-in-out;
248
- -moz-transition: opacity .3s ease-in-out;
249
- -ms-transition: opacity .3s ease-in-out;
250
- -o-transition: opacity .3s ease-in-out;
251
- transition: opacity .3s ease-in-out;
252
  }
253
- .login-form.active:hover .licon,
254
- .login-form.active:hover .picon,
255
- .login-form.active:hover input[type="submit"] {
256
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
257
  filter: alpha(opacity=100);
258
  -moz-opacity: 1;
@@ -268,7 +359,6 @@ footer {
268
  z-index: 99999991;
269
  }
270
 
271
-
272
  .preloader i {
273
  background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
274
  display: block;
@@ -340,25 +430,25 @@ footer {
340
  ::-webkit-input-placeholder { /* WebKit browsers */
341
  font-size:20px;
342
  color:inherit;
343
- font-family: 'Open Sans', sans-serif;
344
  opacity:1;
345
  }
346
  :-moz-placeholder { /* Mozilla Firefox 4 to 18 */
347
  font-size:20px;
348
  color:inherit;
349
- font-family: 'Open Sans', sans-serif;
350
  opacity:1;
351
  }
352
  ::-moz-placeholder { /* Mozilla Firefox 19+ */
353
  font-size:20px;
354
  color:inherit;
355
- font-family: 'Open Sans', sans-serif;
356
  opacity:1;
357
  }
358
  :-ms-input-placeholder { /* Internet Explorer 10+ */
359
  font-size:20px;
360
  color:inherit;
361
- font-family: 'Open Sans', sans-serif;
362
  opacity:1;
363
  }
364
 
@@ -368,93 +458,172 @@ footer {
368
  display:inline;
369
  }
370
 
371
- @media screen and (max-width: 768px) {
372
- .logo {width:100%; text-align:center; margin:0 0 20px 0;}
373
- header {padding:25px 0;}
374
- .login-form { margin:0 auto; float:none; width:100%; max-width:430px;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
375
  }
376
 
377
- @media only screen and (min-device-width : 320px) and (max-device-width : 568px) {
378
- .logo {width:100%; text-align:center; margin:0 0 20px 0;}
379
- .logo img {float:left; max-width:200px; max-height:200px;}
380
- header {padding:25px 0;}
381
- .login-form { margin:0 auto; float:none; width:100%; max-width:430px;}
382
  }
383
 
384
- @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
385
- .logo {width:100%; text-align:center; margin:0 0 20px 0;}
386
- header {padding:25px 0;}
387
- .login-form { margin:0 auto; float:none; width:100%; max-width:430px;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
388
 
389
- html { overflow: auto;}
390
- #wrapper { min-width: 100%; }
391
- .center { min-width:100%; }
392
- .site-content { margin: 30px 0; position: inherit !important; top: 0 !important; }
393
- header {width: 100%;}
394
- footer {margin:0;}
395
- footer .company-name {margin: 0 0 10px 0;}
396
- .user-content {padding:0 15px; width:auto;}
397
- }
398
-
399
- @media screen and (max-width: 480px) {
400
- html { overflow: auto;}
401
- body > #wrapper { min-width: 0; min-height: 0;}
402
- .center { min-width:0 }
403
- .site-content { margin: 30px 0; position: inherit !important; top: 0 !important; }
404
- .social { width:auto !important; margin:0 0 20px 0 !important; padding: 0 5px;}
405
- .social .socialicon {margin: 0 0 10px 20px;}
406
- .site-content h2, .site-content h3 { display: block; padding: 0 5px; width: auto; }
407
- #countdown {max-width:298px;}
408
- #countdown .countDevider { height: 192px; }
409
- header {width: 100%;}
410
- footer {margin:0;}
411
- footer .company-name {margin: 0 0 10px 0;}
412
- .site-content h2.heading { font-size: 32px; }
413
- .site-content h3.description { font-size: 26px; }
414
- #mailchimp-box h3 { font-size: 16px; }
415
- .login-form { display: block; margin: 0 auto; max-width: 328px;}
416
- .login-form input[type="submit"] { margin: 15px 118px 0; }
417
- #mailchimp-box form {width:304px;}
418
- #mailchimp-box form input[type="email"] { max-width: 242px; }
419
- #mailchimp-box form input[type="submit"] { margin: 5px 85px 0; }
420
- .login-form input[type="password"] { margin:0; }
421
- .user-content {padding:0 5px; width:auto;}
422
- #countdown .countDevider.countDiv1 {width:1px;}
423
- }
424
-
425
-
426
- @media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : portrait) {
427
- html { overflow: auto; }
428
- body > #wrapper { min-width: 0; min-height: 0;}
429
- .center { min-width:0 }
430
- .site-content { margin: 30px 0; position: inherit !important; top: 0 !important; }
431
- .social { width:auto !important; margin:0 0 20px 0 !important; padding: 0 5px;}
432
- .social .socialicon {margin: 0 0 10px 20px;}
433
- .site-content h2, .site-content h3 { display: block; padding: 0 5px; width: auto; }
434
- #countdown {max-width:298px;}
435
- header {width: 100%;}
436
- footer {margin:0;}
437
- footer .company-name {margin: 0 0 10px 0; float:left; display:block;}
438
- .site-content h2.heading { font-size: 26px; }
439
- .site-content h3.description { font-size: 20px; }
440
- #mailchimp-box h3 { font-size: 16px; }
441
- .login-form { display: block; margin: 0 auto; max-width: 310px;}
442
- .login-form input[type="submit"] { margin: 15px 118px 0; }
443
- #mailchimp-box form input[type="email"] { max-width: 242px; }
444
- #mailchimp-box form input[type="submit"] { margin: 5px 85px 0; }
445
- .login-form input[type="text"], .login-form input[type="password"] { max-width: 90px; width: 90px; }
446
- .login-form input[type="password"] { margin:0; }
447
- .user-content {padding:0 5px; width:auto;}
448
- #countdown .countDevider.countDiv1 {width:1px;}
449
- }
450
-
451
- @media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) {
452
- .site-content h2.heading { font-size: 36px; }
453
- .site-content h3.description { font-size: 28px; }
454
- }
455
-
456
- @media screen and (max-height: 768px) {
457
- html { overflow: auto; }
458
- .site-content { margin: 30px 0; position: inherit !important; top: 0 !important; }
459
- footer {margin:0;}
460
  }
5
 
6
  html {
7
  height:100%;
 
 
8
  }
9
 
10
  body {
 
11
  height:100%;
12
+ -webkit-perspective: 1000px;
13
+ perspective: 1000px;
14
+ box-sizing: border-box;
15
+ min-height: 100%;
16
+ min-width: 100%;
17
+ position: relative;
18
+ z-index: 1;
19
+ margin:0;
20
+ padding:0;
21
+ overflow: hidden;
22
+ }
23
+
24
+ body > #wrapper {
25
+ height: 100%;
26
+ min-height: 100%;
27
+ width:100%;
28
+ display: inline-block;
29
+ }
30
+
31
+ body > .main-container {
32
+ height: 100%;
33
+ min-height: 100%;
34
+ min-width: 100%;
35
+ transition: all .6s ease-in-out;
36
+ -webkit-transition: all .6s ease-in-out;
37
+ -moz-transition: all .6s ease-in-out;
38
+ -o-transition: all .6s ease-in-out;
39
+ z-index:0;
40
+ overflow:hidden;
41
+ position:relative;
42
  }
43
 
44
+ body > .login-form-container {
45
+ background: none repeat scroll 0 0 rgba(0, 0, 0, 0.8);
46
+ display:none;
47
+ height: 100%;
48
+ min-height: 100%;
49
+ min-width: 308px;
50
+ max-width: 308px;
51
+ width:100%;
52
+ position: fixed;
53
+ right: -308px;
54
+ top: 0;
55
+ z-index: 0;
56
+ transition: all .6s ease-in-out;
57
+ -webkit-transition: all .6s ease-in-out;
58
+ -moz-transition: all .6s ease-in-out;
59
+ -o-transition: all .6s ease-in-out;
60
+ z-index:999;
61
+ }
62
+
63
+ body.open-login-form > .login-form-container {
64
+ right: 0;
65
+ }
66
+
67
+ body.open-login-form > .main-container {
68
+ -ms-transform-origin: 0 50%;
69
+ -o-transform-origin: 0 50%;
70
+ -moz-transform-origin: 0 50%;
71
+ -webkit-transform-origin: 0 50%;
72
+ transform-origin: 0 50%;
73
+ -ms-transform: rotateY(8deg);
74
+ -webkit-transform: rotateY(8deg);
75
+ transform: rotateY(8deg);
76
+ }
77
+
78
+ .btn-open-login-form {
79
+ background: none repeat scroll 0 0 rgba(0, 0, 0, 0.8);
80
+ color: #fff;
81
+ font-size: 30px;
82
+ left: -54px;
83
+ padding: 10px 12px 8px;
84
+ position: absolute;
85
+ top: 23%;
86
+ -webkit-border-top-left-radius: 4px;
87
+ -webkit-border-bottom-left-radius: 4px;
88
+ -moz-border-radius-topleft: 4px;
89
+ -moz-border-radius-bottomleft: 4px;
90
+ border-top-left-radius: 4px;
91
+ border-bottom-left-radius: 4px;
92
+ cursor:pointer;
93
+ }
94
+
95
+ body.error .btn-open-login-form {
96
+ color:red;
97
+ }
98
 
99
+ .center {
100
+ clear: both;
101
  content: "";
102
  display: block;
103
  margin: 0 auto;
104
  max-width: 1020px;
 
105
  width: 100%;
106
+ padding:0 10px;
107
  }
108
 
109
  #wrapper {
110
  width:100%;
111
  height:100%;
112
  position:relative;
113
+ display: inline-block;
114
  }
115
 
116
  header {
117
  position:relative;
118
+ display:inline-block;
119
+ width:100%;
 
 
 
 
 
120
  }
121
 
122
  .site-content {
123
  position:relative;
124
+ display:inline-block;
 
125
  width:100%;
126
  left:0;
127
  top:0;
156
 
157
  footer {
158
  position: relative;
159
+ top: -120px;
160
  height: 100px;
161
+ display:inline-block;
 
162
  width:100%;
 
163
  color:#fff;
164
  }
165
 
 
166
  .company-name {
167
  width:100%;
168
  display:block;
169
  text-decoration:none;
170
+ font-family: inherit;
171
  font-weight:bold;
172
  color:inherit;
173
  font-size:16px;
174
  text-align:center;
 
175
  }
176
 
177
  .logo {
178
+ font-family: inherit;
179
  font-weight:normal;
180
  text-decoration:none;
181
+ max-width: 220px;
182
+ margin-left:auto;
183
+ margin-right:auto;
184
+ display: block;
185
+ padding: 30px 0;
186
+ }
187
+
188
+ .logo.istext {
189
+ max-width: 100%;
190
+ padding: 30px 60px;
191
  }
192
 
 
 
 
 
 
 
193
 
194
  .logo img {
 
195
  height:100%;
196
  width:100%;
197
  }
198
 
199
  .site-title {
200
+ font-family: inherit;
201
  font-weight:lighter;
202
+ text-align:center;
203
+ padding:20px 0;
204
+ vertical-align:middle;
205
  }
206
 
207
 
208
  .login-form {
209
+ display: inline-block;
210
+ margin: 25px 0 0;
211
+ padding: 20px;
212
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
213
+ filter: alpha(opacity=50);
214
+ -moz-opacity: .5;
215
+ -khtml-opacity: .5;
216
+ opacity: .5;
217
+ -webkit-transition: opacity .3s ease-in-out;
218
+ -moz-transition: opacity .3s ease-in-out;
219
+ -ms-transition: opacity .3s ease-in-out;
220
+ -o-transition: opacity .3s ease-in-out;
221
+ transition: opacity .3s ease-in-out;
222
  }
223
 
224
  .login-form input[type="text"],
228
  background-position: 14px center;
229
  background-repeat: no-repeat;
230
  float: left;
231
+ font-family: inherit;
232
  font-size: 20px;
233
  font-weight: 400;
234
  line-height: 20px;
235
+ margin: 0 0 10px 0;
 
236
  padding: 5px 16px 5px 40px;
237
+ width: 100%;
238
  display:block;
239
  line-height: 28px;
240
  outline:none;
241
+ max-width:210px;
242
  }
243
 
244
 
254
  .login-form .licon,
255
  .login-form .picon {
256
  position:relative;
257
+ display:inline-block;
 
 
 
 
 
 
 
 
 
 
 
258
  }
259
 
260
  .ie7 .login-form .licon,
304
  color:red;
305
  }
306
 
307
+
308
+ .login-form a.lost-pass {
309
+ color:#f1f1f1;
310
+ float:left;
311
+ display:inline-block;
312
+ text-decoration:none;
313
+ }
314
+
315
+ .login-form a.lost-pass:hover {
316
+ text-decoration:underline;
317
+ }
318
+
319
+ .login-form label {
320
+ color: inherit;
321
+ float: left;
322
+ font-family: inherit;
323
+ font-size: 25px;
324
+ padding: 0 0 10px;
325
+ width: 100%;
326
+ }
327
+
328
  .login-form input[type="submit"] {
329
  color:inherit;
330
+ font-size:20px;
331
+ font-family: inherit;
332
  background:none;
333
  font-weight:bold;
334
  float: left;
335
  cursor:pointer;
336
+ border:2px solid #fff;
337
+ padding:5px 10px;
338
+ font-weight: bold;
339
+ margin: 10px 0 0;
340
+ padding: 5px 10px;
341
+ text-align: center;
342
+ float:right;
343
+ display:inline-block;
 
 
344
  }
345
+
346
+ .login-form:hover {
 
347
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
348
  filter: alpha(opacity=100);
349
  -moz-opacity: 1;
359
  z-index: 99999991;
360
  }
361
 
 
362
  .preloader i {
363
  background: none repeat scroll 0 0 rgba(0, 0, 0, 0);
364
  display: block;
430
  ::-webkit-input-placeholder { /* WebKit browsers */
431
  font-size:20px;
432
  color:inherit;
433
+ font-family: inherit;
434
  opacity:1;
435
  }
436
  :-moz-placeholder { /* Mozilla Firefox 4 to 18 */
437
  font-size:20px;
438
  color:inherit;
439
+ font-family: inherit;
440
  opacity:1;
441
  }
442
  ::-moz-placeholder { /* Mozilla Firefox 19+ */
443
  font-size:20px;
444
  color:inherit;
445
+ font-family: inherit;
446
  opacity:1;
447
  }
448
  :-ms-input-placeholder { /* Internet Explorer 10+ */
449
  font-size:20px;
450
  color:inherit;
451
+ font-family: inherit;
452
  opacity:1;
453
  }
454
 
458
  display:inline;
459
  }
460
 
461
+
462
+ /* iPads (landscape) ----------- */
463
+ @media only screen
464
+ and (min-device-width : 768px)
465
+ and (max-device-width : 1024px)
466
+ and (orientation : landscape) {
467
+ body.open-login-form > .main-container {
468
+ -ms-transform-origin: 0 50%;
469
+ -o-transform-origin: 0 50%;
470
+ -moz-transform-origin: 0 50%;
471
+ -webkit-transform-origin: 0 50%;
472
+ transform-origin: 0 50%;
473
+ -ms-transform: rotateY(0deg);
474
+ -webkit-transform: rotateY(0deg);
475
+ transform: rotateY(0deg);
476
+ }
477
+
478
+ body > .main-container {
479
+ overflow-y:scroll !important;
480
+ }
481
+
482
+ #wrapper {
483
+ height:auto;
484
+ }
485
+
486
+ footer {
487
+ top:0;
488
+ botom:0;
489
+ margin: 40px 0 0 0;
490
+ }
491
+
492
+ .center {
493
+ max-width:1004px;
494
+ }
495
+ }
496
+
497
+ @media screen and (max-width: 640px) {
498
+ body.open-login-form > .main-container {
499
+ -ms-transform-origin: 0 50%;
500
+ -o-transform-origin: 0 50%;
501
+ -moz-transform-origin: 0 50%;
502
+ -webkit-transform-origin: 0 50%;
503
+ transform-origin: 0 50%;
504
+ -ms-transform: rotateY(0deg);
505
+ -webkit-transform: rotateY(0deg);
506
+ transform: rotateY(0deg);
507
+ }
508
+
509
+ body > .main-container {
510
+ overflow-y:scroll !important;
511
+ }
512
+
513
+ #wrapper {
514
+ height:auto;
515
+ }
516
+
517
+ footer {
518
+ top:0;
519
+ botom:0;
520
+ margin: 40px 0 0 0;
521
+ }
522
+
523
+ .center {
524
+ max-width:620px;
525
+ }
526
+
527
+ }
528
+
529
+ @media screen and (max-width: 480px) {
530
+
531
+ body > .main-container {
532
+ overflow-y:scroll !important;
533
+ }
534
+
535
+ .center {
536
+ max-width:460px;
537
+ }
538
+
539
+ .site-content h2.heading {
540
+ font-size: 24px;
541
+ }
542
+ .site-content h3.description {
543
+ font-size: 18px;
544
+ }
545
+
546
+ .logo {
547
+ max-width:100px;
548
+ max-height:100px;
549
+ }
550
+
551
+ .btn-open-login-form {
552
+ top:10%;
553
+ font-size: 20px;
554
+ left: -44px;
555
+ }
556
+
557
+ body > .login-form-container {
558
+ min-width: 266px;
559
+ max-width: 266px;
560
+ right:-266px;
561
+ }
562
+
563
+ .login-form input[type="text"],
564
+ .login-form input[type="password"] {
565
+ max-width: 170px;
566
+ }
567
+
568
+ #wrapper {
569
+ height:auto;
570
+ }
571
+
572
+ footer {
573
+ top:0;
574
+ botom:0;
575
+ margin: 40px 0 0 0;
576
+ }
577
+
578
  }
579
 
580
+ @media screen and (max-width: 360px) {
581
+ .center {
582
+ max-width:340px;
583
+ }
 
584
  }
585
 
586
+ @media screen and (max-width: 320px) {
587
+ .center {
588
+ max-width:300px;
589
+ }
590
+ .site-content h2.heading {
591
+ font-size: 24px;
592
+ }
593
+ .site-content h3.description {
594
+ font-size: 18px;
595
+ }
596
+
597
+ .logo {
598
+ max-width:100px;
599
+ max-height:100px;
600
+ padding:20px 0;
601
+ }
602
+
603
+ .btn-open-login-form {
604
+ top:10%;
605
+ font-size: 20px;
606
+ left: -44px;
607
+ }
608
+
609
+ body > .login-form-container {
610
+ min-width: 266px;
611
+ max-width: 266px;
612
+ right:-266px;
613
+ }
614
+
615
+ .login-form input[type="text"],
616
+ .login-form input[type="password"] {
617
+ max-width: 170px;
618
+ }
619
+
620
+ #wrapper {
621
+ height:auto;
622
+ }
623
 
624
+ footer {
625
+ top:0;
626
+ botom:0;
627
+ margin: 40px 0 0 0;
628
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
629
  }
maintenance.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Maintenance
4
  Plugin URI: http://wordpress.org/plugins/maintenance/
5
  Description: Take your website for maintenance away from public view. Use maintenance plugin if your website is in development or you need to change a few things, run an upgrade. Make it only accessible by login and password. Plugin has a options to add a logo, background, headline, message, colors, login, etc. Extended PRO with more features version is available for purchase.
6
- Version: 2.1.2
7
  Author: fruitfulcode
8
  Author URI: http://fruitfulcode.com
9
  License: GPL2
3
  Plugin Name: Maintenance
4
  Plugin URI: http://wordpress.org/plugins/maintenance/
5
  Description: Take your website for maintenance away from public view. Use maintenance plugin if your website is in development or you need to change a few things, run an upgrade. Make it only accessible by login and password. Plugin has a options to add a logo, background, headline, message, colors, login, etc. Extended PRO with more features version is available for purchase.
6
+ Version: 2.2.1
7
  Author: fruitfulcode
8
  Author URI: http://fruitfulcode.com
9
  License: GPL2
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://fruitfulcode.com/
4
  Tags: maintenance, coming soon, under-construction, 503 error, administration, login, customize page, background, fullscreen, blur
5
  Requires at least: 3.0
6
  Tested up to: 3.9
7
- Stable tag: 2.1.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -105,6 +105,18 @@ You can check <a href="http://wordpress.org/support/plugin/maintenance">support
105
 
106
  == Change log ==
107
 
 
 
 
 
 
 
 
 
 
 
 
 
108
  = 2.1.2 =
109
  * New translation Deutch (de_DE)
110
  * New translation Finnish (fi_FI)
4
  Tags: maintenance, coming soon, under-construction, 503 error, administration, login, customize page, background, fullscreen, blur
5
  Requires at least: 3.0
6
  Tested up to: 3.9
7
+ Stable tag: 2.2.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
105
 
106
  == Change log ==
107
 
108
+ = 2.2.1 =
109
+ * New: default background image
110
+ * Improvements: blur off by default
111
+ * Bug fix: Label styles
112
+
113
+ = 2.2 =
114
+ * New options: Custom css
115
+ * New options: Font family
116
+ * New login form
117
+ * Improvements: Responsive version
118
+ * Bug fix: PHP 5.2 support
119
+
120
  = 2.1.2 =
121
  * New translation Deutch (de_DE)
122
  * New translation Finnish (fi_FI)
screenshot-1.png ADDED
Binary file