Easy Google Fonts - Version 1.4.4

Version Description

  • WordPress 5.0 compatibility update =
  • Updated webfonts.json with the latest google fonts.
  • Last minor update before major rewrite.
Download this release

Release Info

Developer sunny_johal
Plugin Icon 128x128 Easy Google Fonts
Version 1.4.4
Comparing to
See all releases

Version 1.4.4

Files changed (96) hide show
  1. assets/css/admin.css +423 -0
  2. assets/css/chosen.css +437 -0
  3. assets/css/customizer.css +700 -0
  4. assets/css/index.php +2 -0
  5. assets/fonts/index.php +2 -0
  6. assets/fonts/webfonts.json +19022 -0
  7. assets/images/chosen-sprite.png +0 -0
  8. assets/images/chosen-sprite@2x.png +0 -0
  9. assets/images/index.php +2 -0
  10. assets/index.php +2 -0
  11. assets/js/admin.js +689 -0
  12. assets/js/chosen.jquery.js +1271 -0
  13. assets/js/customize-controls.js +1112 -0
  14. assets/js/customize-preview.js +712 -0
  15. assets/js/index.php +1 -0
  16. assets/js/tag-it.js +611 -0
  17. class-easy-google-fonts.php +430 -0
  18. easy-google-fonts.php +103 -0
  19. includes/class-easy-google-fonts-admin.php +443 -0
  20. includes/class-egf-admin-controller.php +515 -0
  21. includes/class-egf-ajax.php +349 -0
  22. includes/class-egf-font-utilities.php +501 -0
  23. includes/class-egf-frontend.php +583 -0
  24. includes/class-egf-posttype.php +519 -0
  25. includes/class-egf-register-options.php +971 -0
  26. includes/controls/class-egf-font-control.php +379 -0
  27. includes/controls/index.php +2 -0
  28. includes/customizer/class-egf-customize-manager.php +600 -0
  29. includes/index.php +2 -0
  30. index.php +2 -0
  31. languages/easy-google-fonts-en.mo +0 -0
  32. languages/easy-google-fonts-en.po +798 -0
  33. languages/index.php +2 -0
  34. licence.txt +0 -0
  35. readme.txt +202 -0
  36. uninstall.php +21 -0
  37. views/admin-page/advanced-screen.php +63 -0
  38. views/admin-page/create-screen.php +125 -0
  39. views/admin-page/dialog-deleted.php +24 -0
  40. views/admin-page/dialog-updated.php +26 -0
  41. views/admin-page/edit-screen.php +167 -0
  42. views/admin-page/form-manage-control.php +37 -0
  43. views/admin-page/index.php +2 -0
  44. views/admin-page/manage-screen.php +123 -0
  45. views/admin-page/page-end.php +17 -0
  46. views/admin-page/page-start.php +36 -0
  47. views/admin-page/tabs.php +13 -0
  48. views/customizer/control/appearance/background-color.php +25 -0
  49. views/customizer/control/appearance/font-color.php +25 -0
  50. views/customizer/control/appearance/font-size.php +35 -0
  51. views/customizer/control/appearance/index.php +2 -0
  52. views/customizer/control/appearance/letter-spacing.php +32 -0
  53. views/customizer/control/appearance/line-height.php +32 -0
  54. views/customizer/control/control-end.php +17 -0
  55. views/customizer/control/control-start.php +20 -0
  56. views/customizer/control/control-tab-panes.php +23 -0
  57. views/customizer/control/control-tabs.php +26 -0
  58. views/customizer/control/control-title.php +25 -0
  59. views/customizer/control/control-toggle.php +23 -0
  60. views/customizer/control/index.php +2 -0
  61. views/customizer/control/positioning/border-radius/bottom.php +32 -0
  62. views/customizer/control/positioning/border-radius/end.php +18 -0
  63. views/customizer/control/positioning/border-radius/index.php +2 -0
  64. views/customizer/control/positioning/border-radius/left.php +32 -0
  65. views/customizer/control/positioning/border-radius/right.php +32 -0
  66. views/customizer/control/positioning/border-radius/start.php +21 -0
  67. views/customizer/control/positioning/border-radius/top.php +32 -0
  68. views/customizer/control/positioning/border/bottom.php +57 -0
  69. views/customizer/control/positioning/border/end.php +18 -0
  70. views/customizer/control/positioning/border/index.php +2 -0
  71. views/customizer/control/positioning/border/left.php +57 -0
  72. views/customizer/control/positioning/border/right.php +57 -0
  73. views/customizer/control/positioning/border/start.php +28 -0
  74. views/customizer/control/positioning/border/top.php +57 -0
  75. views/customizer/control/positioning/display.php +36 -0
  76. views/customizer/control/positioning/index.php +2 -0
  77. views/customizer/control/positioning/margin/bottom.php +32 -0
  78. views/customizer/control/positioning/margin/end.php +18 -0
  79. views/customizer/control/positioning/margin/index.php +2 -0
  80. views/customizer/control/positioning/margin/left.php +32 -0
  81. views/customizer/control/positioning/margin/right.php +32 -0
  82. views/customizer/control/positioning/margin/start.php +21 -0
  83. views/customizer/control/positioning/margin/top.php +32 -0
  84. views/customizer/control/positioning/padding/bottom.php +32 -0
  85. views/customizer/control/positioning/padding/end.php +18 -0
  86. views/customizer/control/positioning/padding/index.php +2 -0
  87. views/customizer/control/positioning/padding/left.php +32 -0
  88. views/customizer/control/positioning/padding/right.php +32 -0
  89. views/customizer/control/positioning/padding/start.php +21 -0
  90. views/customizer/control/positioning/padding/top.php +32 -0
  91. views/customizer/control/properties-end.php +18 -0
  92. views/customizer/control/properties-start.php +18 -0
  93. views/customizer/control/styles/font-family.php +45 -0
  94. views/customizer/control/styles/font-weight.php +38 -0
  95. views/customizer/control/styles/index.php +2 -0
  96. views/customizer/control/styles/subsets.php +12 -0
assets/css/admin.css ADDED
@@ -0,0 +1,423 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WordPress Administration Custom Font Menu Settings
3
+ * Interface CSS Styles.
4
+ *
5
+ * @package WordPress
6
+ * @subpackage WordPress_Google_Fonts
7
+ * @author Sunny Johal - Titanium Themes
8
+ * @copyright Copyright (c) 2016, Titanium Themes
9
+ * @version 1.4.0
10
+ *
11
+ */
12
+ /**
13
+ * Global Styles
14
+ */
15
+ .clear, .clearfix {
16
+ clear: both;
17
+ }
18
+
19
+ .howto {
20
+ display: block;
21
+ font-style: italic;
22
+ }
23
+ textarea, input, select {
24
+ font-size: 14px;
25
+ }
26
+ #contextual-help-columns a {
27
+ outline: none !important;
28
+ }
29
+
30
+ .spinner.egf-visible {
31
+ visibility: visible;
32
+ }
33
+
34
+
35
+ /* Admin Dialog Styles */
36
+ #message {
37
+ display: none;
38
+ }
39
+
40
+ .manage-controls {
41
+ overflow: hidden;
42
+ margin-top: 23px;
43
+ padding: 10px;
44
+ border: 1px solid #EEEEEE;
45
+ -webkit-border-radius: 3px;
46
+ border-radius: 3px;
47
+ background-clip: border-box;
48
+ background-origin: padding-box;
49
+ background-size: auto;
50
+ -webkit-background-size: auto;
51
+ background: none repeat scroll 0 0 #FBFBFB;
52
+ }
53
+
54
+ .manage-controls form {
55
+ margin-bottom: 0;
56
+ }
57
+
58
+ .manage-controls select {
59
+ *height: 111;
60
+ margin-left: 6px;
61
+ margin-right: 6px;
62
+ }
63
+
64
+ .manage-controls.no-controls label {
65
+ margin-top: 5px;
66
+ display: inline-block;
67
+ }
68
+
69
+ /**
70
+ * Edit Controls Screen
71
+ * ====================
72
+ *
73
+ * The following styles are used for the Edit
74
+ * Controls screen
75
+ *
76
+ * @version 1.1.1
77
+ *
78
+ */
79
+
80
+ /* Screen Dialog */
81
+ #delete_message {
82
+ }
83
+
84
+ #update_message a {
85
+ color: #382b14;
86
+ text-decoration: underline;
87
+ }
88
+
89
+ .manage-controls {
90
+ overflow: hidden;
91
+ margin-top: 23px;
92
+ padding: 10px;
93
+ border: 1px solid #ddd;
94
+ -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.05);
95
+ box-shadow: 0 1px 2px rgba(0,0,0,.05);
96
+ -webkit-border-radius: 0;
97
+ border-radius: 0;
98
+ background: none repeat scroll 0 0 #FBFBFB;
99
+ }
100
+
101
+ .manage-controls form {
102
+ margin-bottom: 0;
103
+ }
104
+
105
+ .add-new-control-action {
106
+ display: inline-block;
107
+ margin-left: 4px;
108
+ }
109
+
110
+ label.menu-name-label {
111
+ float: left;
112
+ }
113
+
114
+ input.custom-control-name {
115
+ margin-top: 3px;
116
+ margin-left: 4px;
117
+ }
118
+
119
+ .manage-label {
120
+ display: inline-block;
121
+ margin-top: 4px;
122
+ }
123
+
124
+ .manage-controls select {
125
+ *height: 111;
126
+ margin-left: 6px;
127
+ margin-right: 6px;
128
+ }
129
+
130
+ #edit-controls-wrap {
131
+ margin-top: 23px;
132
+ border: 1px solid #ddd;
133
+ -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.05);
134
+ box-shadow: 0 1px 2px rgba(0,0,0,.05);
135
+ }
136
+
137
+ .control-edit {
138
+ background: #FFFFFF;
139
+ -webkit-border-radius: 0px;
140
+ -moz-border-radius: 0px;
141
+ border-radius: 0px;
142
+ }
143
+
144
+ /* Header and Footer */
145
+ #edit-control-header,
146
+ #edit-control-footer {
147
+ background: #F5F5F5;
148
+ line-height: 1.4em;
149
+ padding: 0 10px;
150
+ }
151
+ #edit-control-header {
152
+ border-bottom: 1px solid #DFDFDF;
153
+ }
154
+
155
+ #edit-control-footer {
156
+ border-top: 1px solid #FFFFFF;
157
+ }
158
+
159
+ #edit-control-footer .delete-action {
160
+ float: left;
161
+ margin-top: 6px;
162
+ }
163
+
164
+ #edit-control-footer .delete-action a {
165
+ margin: 4px 0;
166
+ }
167
+
168
+ #edit-control-header .publishing-action,
169
+ #edit-control-footer .publishing-action {
170
+ float: right;
171
+ margin: 2px 0 1px;
172
+ text-align: right;
173
+ line-height: 23px;
174
+ }
175
+
176
+ .control-edit .major-publishing-actions {
177
+ clear: both;
178
+ padding: 3px 0 5px;
179
+ }
180
+
181
+ .control-edit .spinner {
182
+ float: left;
183
+ }
184
+
185
+ .control-edit #post-body {
186
+ background: #FFFFFF;
187
+ border-bottom: 1px solid #DFDFDF;
188
+ padding: 0 10px 10px;
189
+ }
190
+
191
+ .control-edit #post-body-content {
192
+ float: none;
193
+ }
194
+ #control-force-styles {
195
+ margin-bottom: 10px;
196
+ }
197
+ /**
198
+ * Tag it Plugin
199
+ * =============
200
+ *
201
+ * The following styles are used for the Tag
202
+ * selection plugin.
203
+ *
204
+ * @version 1.1.1
205
+ *
206
+ */
207
+ ul.tagit {
208
+ padding: 1px 5px;
209
+ overflow: auto;
210
+ margin-left: inherit; /* usually we don't want the regular ul margins. */
211
+ margin-right: inherit;
212
+ margin-bottom: 30px;
213
+ }
214
+ ul.tagit li {
215
+ display: block;
216
+ float: left;
217
+ margin: 2px 5px 2px 0;
218
+ }
219
+ ul.tagit li.tagit-choice {
220
+ position: relative;
221
+ line-height: inherit;
222
+ }
223
+
224
+ ul.tagit li.tagit-choice-read-only {
225
+ padding: .2em .5em .2em .5em;
226
+ }
227
+
228
+ ul.tagit li.tagit-choice-editable {
229
+ padding: .2em 18px .2em .5em;
230
+ }
231
+
232
+ ul.tagit li.tagit-new {
233
+ padding: .25em 4px .25em 0;
234
+ }
235
+
236
+ ul.tagit li.tagit-choice a.tagit-label {
237
+ cursor: pointer;
238
+ text-decoration: none;
239
+ }
240
+ ul.tagit li.tagit-choice .tagit-close {
241
+ cursor: pointer;
242
+ position: absolute;
243
+ right: .1em;
244
+ top: 50%;
245
+ margin-top: -8px;
246
+ line-height: 17px;
247
+ }
248
+
249
+ /* used for some custom themes that don't need image icons */
250
+ ul.tagit li.tagit-choice .tagit-close .text-icon {
251
+ display: none;
252
+ }
253
+
254
+ ul.tagit li.tagit-choice input {
255
+ display: block;
256
+ float: left;
257
+ margin: 2px 5px 2px 0;
258
+ }
259
+ ul.tagit input[type="text"] {
260
+ -moz-box-sizing: border-box;
261
+ -webkit-box-sizing: border-box;
262
+ box-sizing: border-box;
263
+
264
+ -moz-box-shadow: none;
265
+ -webkit-box-shadow: none;
266
+ box-shadow: none;
267
+
268
+ border: none;
269
+ margin: 0;
270
+ padding: 0;
271
+ width: inherit;
272
+ background-color: inherit;
273
+ outline: none;
274
+ }
275
+ ul.tagit {
276
+ border: 1px solid #e8e8e8;
277
+ max-width: 100%;
278
+ background: inherit;
279
+ }
280
+ ul.tagit li.tagit-choice {
281
+ -moz-border-radius: 0px;
282
+ border-radius: 0px;
283
+ -webkit-border-radius: 0px;
284
+ border: 1px solid #CAD8F3;
285
+
286
+ background: none;
287
+ background-color: #DEE7F8;
288
+
289
+ font-weight: normal;
290
+ }
291
+ ul.tagit li.tagit-choice .tagit-label:not(a) {
292
+ color: #555;
293
+ }
294
+ ul.tagit li.tagit-choice a.tagit-close {
295
+ text-decoration: none;
296
+ }
297
+ ul.tagit li.tagit-choice .tagit-close {
298
+ right: .4em;
299
+ }
300
+ ul.tagit li.tagit-choice .ui-icon {
301
+ display: none;
302
+ }
303
+ ul.tagit li.tagit-choice .tagit-close .text-icon {
304
+ display: inline;
305
+ font-size: 16px;
306
+ line-height: 16px;
307
+ color: #444444;
308
+ color: rgba(0,0,0,0.5);
309
+ font-weight: bold;
310
+
311
+ }
312
+ ul.tagit li.tagit-choice:hover, ul.tagit li.tagit-choice.remove {
313
+ background-color: #bbcef1;
314
+ border-color: #6d95e0;
315
+ }
316
+ ul.tagit li.tagit-choice a.tagLabel:hover,
317
+ ul.tagit li.tagit-choice a.tagit-close .text-icon:hover {
318
+ color: #222;
319
+ }
320
+ ul.tagit input[type="text"] {
321
+ color: #333333;
322
+ color: rgba(0,0,0,0.6);
323
+ background: none;
324
+ }
325
+ .ui-widget {
326
+ font-size: 1.1em;
327
+ }
328
+
329
+ /**
330
+ * Manage Font Controls Page
331
+ * ==================================
332
+ *
333
+ * The following styles are used for the Manage
334
+ * Font Controls Screen.
335
+ *
336
+ * @version 1.1.1
337
+ *
338
+ */
339
+ .manage-controls .new-label {
340
+ display: none;
341
+ }
342
+
343
+ .manage-controls.control-dialog {
344
+ margin-bottom: 20px;
345
+ }
346
+
347
+ .manage-controls #create_new_control {
348
+ margin-left: 10px;
349
+ }
350
+
351
+ #font-controls-table.widefat {
352
+ max-width: 960px;
353
+ }
354
+
355
+ #font-controls-table tr.deleting {
356
+ background: #FF6666;
357
+ }
358
+
359
+ #font-controls-table tr.success {
360
+ background: #E0FFE1;
361
+ }
362
+
363
+ #font-controls-table .spinner {
364
+
365
+ }
366
+
367
+ #delete_all_controls {
368
+ margin-top: 10px;
369
+ color: #BC0B0B;
370
+ display: inline-block;
371
+ }
372
+
373
+ /**
374
+ * Advanced Font Controls Page
375
+ * ==================================
376
+ *
377
+ * The following styles are used for the Advanced
378
+ * Font Controls Screen.
379
+ *
380
+ * @version 1.1.1
381
+ *
382
+ */
383
+ #egf-google-api-key {
384
+ width: 225px;
385
+ }
386
+
387
+ .manage-controls.manage-google-key {
388
+ width: 230px;
389
+ margin-bottom: 20px;
390
+ }
391
+
392
+ .manage-controls.manage-google-key.valid-key {
393
+ background: #dff0d8;
394
+ border-color: #d6e9c6;
395
+ }
396
+ .manage-controls.manage-google-key.valid-key p {
397
+ color: #468847;
398
+ }
399
+
400
+ .manage-controls.manage-google-key.valid-key .invalid-key {
401
+ display: none;
402
+ }
403
+
404
+ .manage-controls.manage-google-key.invalid-key .valid-key {
405
+ display: none;
406
+ }
407
+
408
+ .manage-controls.manage-google-key.loading {
409
+ width: 265px
410
+ }
411
+ .spinner.spinner-left {
412
+ float:left;
413
+ }
414
+ #egf_save_api_key {
415
+ float: left;
416
+ }
417
+
418
+ .key-feedback {
419
+ margin-bottom: 0;
420
+ }
421
+ .key-feedback span {
422
+ display: block;
423
+ }
assets/css/chosen.css ADDED
@@ -0,0 +1,437 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ Chosen, a Select Box Enhancer for jQuery and Prototype
3
+ by Patrick Filler for Harvest, http://getharvest.com
4
+
5
+ Version 1.3.0
6
+ Full source at https://github.com/harvesthq/chosen
7
+ Copyright (c) 2011-2014 Harvest http://getharvest.com
8
+
9
+ MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
10
+ This file is generated by `grunt build`, do not edit it by hand.
11
+ */
12
+
13
+ /* @group Base */
14
+ .chosen-container {
15
+ position: relative;
16
+ display: inline-block;
17
+ vertical-align: middle;
18
+ font-size: 13px;
19
+ zoom: 1;
20
+ *display: inline;
21
+ -webkit-user-select: none;
22
+ -moz-user-select: none;
23
+ user-select: none;
24
+ }
25
+ .chosen-container * {
26
+ -webkit-box-sizing: border-box;
27
+ -moz-box-sizing: border-box;
28
+ box-sizing: border-box;
29
+ }
30
+ .chosen-container .chosen-drop {
31
+ position: absolute;
32
+ top: 100%;
33
+ left: -9999px;
34
+ z-index: 1010;
35
+ width: 100%;
36
+ border: 1px solid #aaa;
37
+ border-top: 0;
38
+ background: #fff;
39
+ box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
40
+ }
41
+ .chosen-container.chosen-with-drop .chosen-drop {
42
+ left: 0;
43
+ }
44
+ .chosen-container a {
45
+ cursor: pointer;
46
+ }
47
+
48
+ /* @end */
49
+ /* @group Single Chosen */
50
+ .chosen-container-single .chosen-single {
51
+ position: relative;
52
+ display: block;
53
+ overflow: hidden;
54
+ padding: 0 0 0 8px;
55
+ height: 25px;
56
+ border: 1px solid #aaa;
57
+ border-radius: 5px;
58
+ background-color: #fff;
59
+ background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4));
60
+ background: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
61
+ background: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
62
+ background: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
63
+ background: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
64
+ background-clip: padding-box;
65
+ box-shadow: 0 0 3px white inset, 0 1px 1px rgba(0, 0, 0, 0.1);
66
+ color: #444;
67
+ text-decoration: none;
68
+ white-space: nowrap;
69
+ line-height: 24px;
70
+ }
71
+ .chosen-container-single .chosen-default {
72
+ color: #999;
73
+ }
74
+ .chosen-container-single .chosen-single span {
75
+ display: block;
76
+ overflow: hidden;
77
+ margin-right: 26px;
78
+ text-overflow: ellipsis;
79
+ white-space: nowrap;
80
+ }
81
+ .chosen-container-single .chosen-single-with-deselect span {
82
+ margin-right: 38px;
83
+ }
84
+ .chosen-container-single .chosen-single abbr {
85
+ position: absolute;
86
+ top: 6px;
87
+ right: 26px;
88
+ display: block;
89
+ width: 12px;
90
+ height: 12px;
91
+ background: url('../images/chosen-sprite.png') -42px 1px no-repeat;
92
+ font-size: 1px;
93
+ }
94
+ .chosen-container-single .chosen-single abbr:hover {
95
+ background-position: -42px -10px;
96
+ }
97
+ .chosen-container-single.chosen-disabled .chosen-single abbr:hover {
98
+ background-position: -42px -10px;
99
+ }
100
+ .chosen-container-single .chosen-single div {
101
+ position: absolute;
102
+ top: 0;
103
+ right: 0;
104
+ display: block;
105
+ width: 18px;
106
+ height: 100%;
107
+ }
108
+ .chosen-container-single .chosen-single div b {
109
+ display: block;
110
+ width: 100%;
111
+ height: 100%;
112
+ background: url('../images/chosen-sprite.png') no-repeat 0px 2px;
113
+ }
114
+ .chosen-container-single .chosen-search {
115
+ position: relative;
116
+ z-index: 1010;
117
+ margin: 0;
118
+ padding: 3px 4px;
119
+ white-space: nowrap;
120
+ }
121
+ .chosen-container-single .chosen-search input[type="text"] {
122
+ margin: 1px 0;
123
+ padding: 4px 20px 4px 5px;
124
+ width: 100%;
125
+ height: auto;
126
+ outline: 0;
127
+ border: 1px solid #aaa;
128
+ background: white url('../images/chosen-sprite.png') no-repeat 100% -20px;
129
+ background: url('../images/chosen-sprite.png') no-repeat 100% -20px;
130
+ font-size: 1em;
131
+ font-family: sans-serif;
132
+ line-height: normal;
133
+ border-radius: 0;
134
+ }
135
+ .chosen-container-single .chosen-drop {
136
+ margin-top: -1px;
137
+ border-radius: 0 0 4px 4px;
138
+ background-clip: padding-box;
139
+ }
140
+ .chosen-container-single.chosen-container-single-nosearch .chosen-search {
141
+ position: absolute;
142
+ left: -9999px;
143
+ }
144
+
145
+ /* @end */
146
+ /* @group Results */
147
+ .chosen-container .chosen-results {
148
+ color: #444;
149
+ position: relative;
150
+ overflow-x: hidden;
151
+ overflow-y: auto;
152
+ margin: 0 4px 4px 0;
153
+ padding: 0 0 0 4px;
154
+ max-height: 240px;
155
+ -webkit-overflow-scrolling: touch;
156
+ }
157
+ .chosen-container .chosen-results li {
158
+ display: none;
159
+ margin: 0;
160
+ padding: 5px 6px;
161
+ list-style: none;
162
+ line-height: 15px;
163
+ word-wrap: break-word;
164
+ -webkit-touch-callout: none;
165
+ }
166
+ .chosen-container .chosen-results li.active-result {
167
+ display: list-item;
168
+ cursor: pointer;
169
+ }
170
+ .chosen-container .chosen-results li.disabled-result {
171
+ display: list-item;
172
+ color: #ccc;
173
+ cursor: default;
174
+ }
175
+ .chosen-container .chosen-results li.highlighted {
176
+ background-color: #3875d7;
177
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #3875d7), color-stop(90%, #2a62bc));
178
+ background-image: -webkit-linear-gradient(#3875d7 20%, #2a62bc 90%);
179
+ background-image: -moz-linear-gradient(#3875d7 20%, #2a62bc 90%);
180
+ background-image: -o-linear-gradient(#3875d7 20%, #2a62bc 90%);
181
+ background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
182
+ color: #fff;
183
+ }
184
+ .chosen-container .chosen-results li.no-results {
185
+ color: #777;
186
+ display: list-item;
187
+ background: #f4f4f4;
188
+ }
189
+ .chosen-container .chosen-results li.group-result {
190
+ display: list-item;
191
+ font-weight: bold;
192
+ cursor: default;
193
+ }
194
+ .chosen-container .chosen-results li.group-option {
195
+ padding-left: 15px;
196
+ }
197
+ .chosen-container .chosen-results li em {
198
+ font-style: normal;
199
+ text-decoration: underline;
200
+ }
201
+
202
+ /* @end */
203
+ /* @group Multi Chosen */
204
+ .chosen-container-multi .chosen-choices {
205
+ position: relative;
206
+ overflow: hidden;
207
+ margin: 0;
208
+ padding: 0 5px;
209
+ width: 100%;
210
+ height: auto !important;
211
+ height: 1%;
212
+ border: 1px solid #aaa;
213
+ background-color: #fff;
214
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
215
+ background-image: -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%);
216
+ background-image: -moz-linear-gradient(#eeeeee 1%, #ffffff 15%);
217
+ background-image: -o-linear-gradient(#eeeeee 1%, #ffffff 15%);
218
+ background-image: linear-gradient(#eeeeee 1%, #ffffff 15%);
219
+ cursor: text;
220
+ }
221
+ .chosen-container-multi .chosen-choices li {
222
+ float: left;
223
+ list-style: none;
224
+ }
225
+ .chosen-container-multi .chosen-choices li.search-field {
226
+ margin: 0;
227
+ padding: 0;
228
+ white-space: nowrap;
229
+ }
230
+ .chosen-container-multi .chosen-choices li.search-field input[type="text"] {
231
+ margin: 1px 0;
232
+ padding: 0;
233
+ height: 25px;
234
+ outline: 0;
235
+ border: 0 !important;
236
+ background: transparent !important;
237
+ box-shadow: none;
238
+ color: #999;
239
+ font-size: 100%;
240
+ font-family: sans-serif;
241
+ line-height: normal;
242
+ border-radius: 0;
243
+ }
244
+ .chosen-container-multi .chosen-choices li.search-choice {
245
+ position: relative;
246
+ margin: 3px 5px 3px 0;
247
+ padding: 3px 20px 3px 5px;
248
+ border: 1px solid #aaa;
249
+ max-width: 100%;
250
+ border-radius: 3px;
251
+ background-color: #eeeeee;
252
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
253
+ background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
254
+ background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
255
+ background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
256
+ background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
257
+ background-size: 100% 19px;
258
+ background-repeat: repeat-x;
259
+ background-clip: padding-box;
260
+ box-shadow: 0 0 2px white inset, 0 1px 0 rgba(0, 0, 0, 0.05);
261
+ color: #333;
262
+ line-height: 13px;
263
+ cursor: default;
264
+ }
265
+ .chosen-container-multi .chosen-choices li.search-choice span {
266
+ word-wrap: break-word;
267
+ }
268
+ .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
269
+ position: absolute;
270
+ top: 4px;
271
+ right: 3px;
272
+ display: block;
273
+ width: 12px;
274
+ height: 12px;
275
+ background: url('../images/chosen-sprite.png') -42px 1px no-repeat;
276
+ font-size: 1px;
277
+ }
278
+ .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
279
+ background-position: -42px -10px;
280
+ }
281
+ .chosen-container-multi .chosen-choices li.search-choice-disabled {
282
+ padding-right: 5px;
283
+ border: 1px solid #ccc;
284
+ background-color: #e4e4e4;
285
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
286
+ background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
287
+ background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
288
+ background-image: -o-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
289
+ background-image: linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
290
+ color: #666;
291
+ }
292
+ .chosen-container-multi .chosen-choices li.search-choice-focus {
293
+ background: #d4d4d4;
294
+ }
295
+ .chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
296
+ background-position: -42px -10px;
297
+ }
298
+ .chosen-container-multi .chosen-results {
299
+ margin: 0;
300
+ padding: 0;
301
+ }
302
+ .chosen-container-multi .chosen-drop .result-selected {
303
+ display: list-item;
304
+ color: #ccc;
305
+ cursor: default;
306
+ }
307
+
308
+ /* @end */
309
+ /* @group Active */
310
+ .chosen-container-active .chosen-single {
311
+ border: 1px solid #5897fb;
312
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
313
+ }
314
+ .chosen-container-active.chosen-with-drop .chosen-single {
315
+ border: 1px solid #aaa;
316
+ -moz-border-radius-bottomright: 0;
317
+ border-bottom-right-radius: 0;
318
+ -moz-border-radius-bottomleft: 0;
319
+ border-bottom-left-radius: 0;
320
+ background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #eeeeee), color-stop(80%, #ffffff));
321
+ background-image: -webkit-linear-gradient(#eeeeee 20%, #ffffff 80%);
322
+ background-image: -moz-linear-gradient(#eeeeee 20%, #ffffff 80%);
323
+ background-image: -o-linear-gradient(#eeeeee 20%, #ffffff 80%);
324
+ background-image: linear-gradient(#eeeeee 20%, #ffffff 80%);
325
+ box-shadow: 0 1px 0 #fff inset;
326
+ }
327
+ .chosen-container-active.chosen-with-drop .chosen-single div {
328
+ border-left: none;
329
+ background: transparent;
330
+ }
331
+ .chosen-container-active.chosen-with-drop .chosen-single div b {
332
+ background-position: -18px 2px;
333
+ }
334
+ .chosen-container-active .chosen-choices {
335
+ border: 1px solid #5897fb;
336
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
337
+ }
338
+ .chosen-container-active .chosen-choices li.search-field input[type="text"] {
339
+ color: #222 !important;
340
+ }
341
+
342
+ /* @end */
343
+ /* @group Disabled Support */
344
+ .chosen-disabled {
345
+ opacity: 0.5 !important;
346
+ cursor: default;
347
+ }
348
+ .chosen-disabled .chosen-single {
349
+ cursor: default;
350
+ }
351
+ .chosen-disabled .chosen-choices .search-choice .search-choice-close {
352
+ cursor: default;
353
+ }
354
+
355
+ /* @end */
356
+ /* @group Right to Left */
357
+ .chosen-rtl {
358
+ text-align: right;
359
+ }
360
+ .chosen-rtl .chosen-single {
361
+ overflow: visible;
362
+ padding: 0 8px 0 0;
363
+ }
364
+ .chosen-rtl .chosen-single span {
365
+ margin-right: 0;
366
+ margin-left: 26px;
367
+ direction: rtl;
368
+ }
369
+ .chosen-rtl .chosen-single-with-deselect span {
370
+ margin-left: 38px;
371
+ }
372
+ .chosen-rtl .chosen-single div {
373
+ right: auto;
374
+ left: 3px;
375
+ }
376
+ .chosen-rtl .chosen-single abbr {
377
+ right: auto;
378
+ left: 26px;
379
+ }
380
+ .chosen-rtl .chosen-choices li {
381
+ float: right;
382
+ }
383
+ .chosen-rtl .chosen-choices li.search-field input[type="text"] {
384
+ direction: rtl;
385
+ }
386
+ .chosen-rtl .chosen-choices li.search-choice {
387
+ margin: 3px 5px 3px 0;
388
+ padding: 3px 5px 3px 19px;
389
+ }
390
+ .chosen-rtl .chosen-choices li.search-choice .search-choice-close {
391
+ right: auto;
392
+ left: 4px;
393
+ }
394
+ .chosen-rtl.chosen-container-single-nosearch .chosen-search,
395
+ .chosen-rtl .chosen-drop {
396
+ left: 9999px;
397
+ }
398
+ .chosen-rtl.chosen-container-single .chosen-results {
399
+ margin: 0 0 4px 4px;
400
+ padding: 0 4px 0 0;
401
+ }
402
+ .chosen-rtl .chosen-results li.group-option {
403
+ padding-right: 15px;
404
+ padding-left: 0;
405
+ }
406
+ .chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div {
407
+ border-right: none;
408
+ }
409
+ .chosen-rtl .chosen-search input[type="text"] {
410
+ padding: 4px 5px 4px 20px;
411
+ background: white url('../images/chosen-sprite.png') no-repeat -30px -20px;
412
+ background: url('../images/chosen-sprite.png') no-repeat -30px -20px;
413
+ direction: rtl;
414
+ }
415
+ .chosen-rtl.chosen-container-single .chosen-single div b {
416
+ background-position: 6px 2px;
417
+ }
418
+ .chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b {
419
+ background-position: -12px 2px;
420
+ }
421
+
422
+ /* @end */
423
+ /* @group Retina compatibility */
424
+ @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 144dpi) {
425
+ .chosen-rtl .chosen-search input[type="text"],
426
+ .chosen-container-single .chosen-single abbr,
427
+ .chosen-container-single .chosen-single div b,
428
+ .chosen-container-single .chosen-search input[type="text"],
429
+ .chosen-container-multi .chosen-choices .search-choice .search-choice-close,
430
+ .chosen-container .chosen-results-scroll-down span,
431
+ .chosen-container .chosen-results-scroll-up span {
432
+ background-image: url('../images/chosen-sprite@2x.png') !important;
433
+ background-size: 52px 37px !important;
434
+ background-repeat: no-repeat !important;
435
+ }
436
+ }
437
+ /* @end */
assets/css/customizer.css ADDED
@@ -0,0 +1,700 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * WordPress Administration Theme Customizer Screen
3
+ * Interface CSS Styles.
4
+ *
5
+ * NOTE: Please take care when adding styles to this
6
+ * stylesheet to ensure that you dont affect the live
7
+ * site preview. This stylesheet is only designed to
8
+ * style the custom controls on the customizer screen
9
+ * therefore specifity should be used as appropriate
10
+ * to ensure no conflicts with the live site preview.
11
+ *
12
+ * @package Easy_Google_Fonts
13
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
14
+ * @license GPL-2.0+
15
+ * @link http://wordpress.org/plugins/easy-google-fonts/
16
+ * @copyright Copyright (c) 2016, Titanium Themes
17
+ * @version 1.4.4
18
+ *
19
+ */
20
+ .accordion-section-content a {
21
+ outline: none!important;
22
+ }
23
+
24
+ .accordion-section-content select {
25
+ width: 100%;
26
+ }
27
+
28
+ .egf-clear {
29
+ clear: both;
30
+ }
31
+
32
+ /**
33
+ * 1. Font title, reset, description
34
+ * ======================================
35
+ */
36
+ .egf-font-control-title {
37
+ margin-bottom: 5px;
38
+ }
39
+
40
+ .egf-font-control-title .customize-control-title {
41
+ float: left;
42
+ width: 185px;
43
+ }
44
+
45
+ .egf-reset-font {
46
+ float: right;
47
+ font-weight: bold;
48
+ line-height: 24px;
49
+ display: none;
50
+ }
51
+
52
+ .egf-active .egf-reset-font {
53
+ display: block;
54
+ }
55
+
56
+ .customize-control-description.egf-control-description {
57
+ margin-bottom: 12px;
58
+ }
59
+
60
+ /**
61
+ * 2. Font control toggle
62
+ * ======================================
63
+ */
64
+ .egf-font-toggle-trigger {
65
+ float: left;
66
+ display: block;
67
+ position: relative;
68
+ cursor: pointer;
69
+ background: #FFFFFF;
70
+ border: 1px solid #DDDDDD;
71
+ }
72
+
73
+ .egf-trigger-content {
74
+ overflow: hidden;
75
+ float: left;
76
+ min-width: 30px;
77
+ height: 16px;
78
+ line-height: 16px;
79
+ margin-right: 20px;
80
+ padding: 4px 5px;
81
+ border: 2px solid #FFFFFF;
82
+ -webkit-user-select: none;
83
+ -moz-user-select: none;
84
+ -ms-user-select: none;
85
+ user-select: none;
86
+ }
87
+
88
+ .egf-trigger-label{
89
+ color: #333;
90
+ background: #FFFFFF;
91
+ display: none;
92
+ max-width: 200px;
93
+ }
94
+
95
+ .egf-dropdown-arrow {
96
+ position: absolute;
97
+ top: 4px;
98
+ bottom: 0;
99
+ right: 2px;
100
+ width: 20px;
101
+ }
102
+
103
+ .egf-dropdown-arrow:after {
104
+ content: "\f140";
105
+ font: normal 20px/1 'dashicons';
106
+ speak: none;
107
+ display: block;
108
+ padding: 0;
109
+ text-indent: 0;
110
+ text-align: center;
111
+ position: relative;
112
+ -webkit-font-smoothing: antialiased;
113
+ -moz-osx-font-smoothing: grayscale;
114
+ text-decoration: none !important;
115
+ color: #333;
116
+ }
117
+
118
+ .egf-active .egf-dropdown-arrow:after {
119
+ content: "\f143";
120
+ }
121
+
122
+ /**
123
+ * 3. Font Properties and Tabs
124
+ * ======================================
125
+ */
126
+ .egf-active .egf-font-properties {
127
+ display: block;
128
+ }
129
+
130
+ .egf-font-properties {
131
+ display: none;
132
+ margin-top: 10px;
133
+ }
134
+
135
+ /* Tabs */
136
+ .egf-customizer-tabs ul {
137
+ border-bottom: 1px solid #DFDFDF;
138
+ float: left;
139
+ width: 100%;
140
+ margin-left: 0;
141
+ margin-bottom: 0;
142
+ padding-bottom: 0;
143
+ }
144
+
145
+ .egf-customizer-tabs ul li {
146
+ border-color: transparent;
147
+ border-color: rgba(0, 0, 0, 0);
148
+ border-style: solid;
149
+ border-width: 1px 1px 0;
150
+ color: #999999;
151
+ float: left;
152
+ margin: 0;
153
+ padding: 3px 8px;
154
+ cursor: pointer;
155
+ outline: none!important;
156
+ }
157
+
158
+ .egf-customizer-tabs ul li.selected {
159
+ background: none repeat scroll 0 0 #EEEEEE;
160
+ border-color: #DFDFDF;
161
+ border-radius: 2px 2px 0 0;
162
+ color: #777777;
163
+ margin-bottom: -1px;
164
+ padding-bottom: 4px;
165
+ font-weight: bold;
166
+ }
167
+
168
+ .egf-font-properties {
169
+ display: none;
170
+ padding-bottom: 5px;
171
+ }
172
+
173
+ .egf-font-content {
174
+ display: none;
175
+ padding: 8px;
176
+ padding-top: 12px;
177
+ font-size: 13px;
178
+ }
179
+
180
+ .egf-font-properties.selected,
181
+ .egf-font-content.selected {
182
+ display: block;
183
+ }
184
+
185
+ .egf-font-content .customize-control-title,
186
+ .egf-font-content select {
187
+ font-size: 13px;
188
+ }
189
+
190
+ /**
191
+ * 3. Font Control Fields: Styles
192
+ * ======================================
193
+ */
194
+ .egf-font-content.font-styles .customize-control-title {
195
+ margin-bottom: 4px;
196
+ }
197
+
198
+ .egf-font-subsets,
199
+ .egf-font-family,
200
+ .egf-font-weight,
201
+ .egf-text-decoration,
202
+ .chosen-container {
203
+ margin-bottom: 8px;
204
+ }
205
+
206
+ .egf-font-weight {
207
+ text-transform: capitalize;
208
+ }
209
+
210
+ /* Chosen Styles */
211
+ .egf-font-content .chosen-container-single .chosen-single {
212
+ border-radius: 0px;
213
+ height: 28px;
214
+ background: #FFF;
215
+ border-color: #DDDDDD;
216
+ line-height: 28px;
217
+ -webkit-box-shadow: inset 0px 1px 1px rgba(0,0,0,0.06);
218
+ box-shadow: inset 0px 1px 1px rgba(0,0,0,0.06);
219
+ }
220
+
221
+ .egf-font-content .chosen-container-single .chosen-single div {
222
+ top: 2px;
223
+ right: -2px;
224
+ }
225
+
226
+ .egf-font-content .chosen-container .chosen-drop {
227
+ border-color: #D2D2D2;
228
+ }
229
+
230
+ /**
231
+ * 4. Font Control Fields: Appearance
232
+ * ======================================
233
+ */
234
+
235
+ /* Background & Color Controls
236
+ ----------------------------------*/
237
+ .egf-font-color-container,
238
+ .egf-background-color-container {
239
+ margin-bottom: 5px;
240
+ }
241
+
242
+ .egf-font-color-container input.wp-color-picker,
243
+ .egf-background-color-container input.wp-color-picker,
244
+ .egf-border-top-controls input.wp-color-picker,
245
+ .egf-border-bottom-controls input.wp-color-picker,
246
+ .egf-border-left-controls input.wp-color-picker,
247
+ .egf-border-right-controls input.wp-color-picker {
248
+ width: 65px;
249
+ -webkit-border-radius: 3px 0 0 3px;
250
+ border-radius: 3px 0 0 3px;
251
+ height: 24px;
252
+ }
253
+ .egf-font-color-container .wp-picker-clear,
254
+ .egf-font-color-container .wp-picker-default,
255
+ .egf-background-color-container .wp-picker-clear,
256
+ .egf-background-color-container .wp-picker-default
257
+ .egf-border-top-controls .wp-picker-clear,
258
+ .egf-border-top-controls .wp-picker-default,
259
+ .egf-border-bottom-controls .wp-picker-clear,
260
+ .egf-border-bottom-controls .wp-picker-default,
261
+ .egf-border-left-controls .wp-picker-clear,
262
+ .egf-border-left-controls .wp-picker-default,
263
+ .egf-border-right-controls .wp-picker-clear,
264
+ .egf-border-right-controls .wp-picker-default {
265
+ -webkit-border-radius: 0 3px 3px 0;
266
+ border-radius: 0 3px 3px 0;
267
+ }
268
+
269
+ .egf-font-control .wp-picker-container .ui-widget-content {
270
+ border: medium none;
271
+ }
272
+
273
+ .egf-font-control .wp-picker-container .iris-picker {
274
+ border-color: transparent;
275
+ background: transparent;
276
+ margin-left: -11px;
277
+ }
278
+
279
+ .egf-font-content.font-positioning,
280
+ .egf-font-content-fullwidth {
281
+ padding-left: 0;
282
+ padding-right: 0;
283
+ }
284
+
285
+ /**
286
+ * 5. Font Control Fields: Positioning
287
+ * ======================================
288
+ */
289
+ .margin-slider,
290
+ .padding-slider {
291
+ margin-bottom: 20px;
292
+ }
293
+
294
+ .egf-margin-top-slider,
295
+ .egf-margin-bottom-slider,
296
+ .egf-margin-left-slider {
297
+ margin-bottom: 12px;
298
+ }
299
+
300
+ .egf-padding-top-slider,
301
+ .egf-padding-bottom-slider,
302
+ .egf-padding-left-slider {
303
+ margin-bottom: 12px;
304
+ }
305
+
306
+ .egf-border-radius-top-left-slider,
307
+ .egf-border-radius-top-right-slider,
308
+ .egf-border-radius-bottom-left-slider {
309
+ margin-bottom: 12px;
310
+ }
311
+
312
+ .egf-border-top-controls,
313
+ .egf-border-bottom-controls,
314
+ .egf-border-left-controls,
315
+ .egf-border-right-controls {
316
+ display: none;
317
+ }
318
+
319
+ .egf-border-top-controls.selected,
320
+ .egf-border-bottom-controls.selected,
321
+ .egf-border-left-controls.selected,
322
+ .egf-border-right-controls.selected {
323
+ display: block;
324
+ }
325
+
326
+ .egf-switch-border-control {
327
+ margin-bottom: 15px;
328
+ }
329
+
330
+ .egf-border-style {
331
+ margin-bottom: 12px;
332
+ }
333
+
334
+ .egf-border-top-controls .egf-font-slider-control,
335
+ .egf-border-bottom-controls .egf-font-slider-control,
336
+ .egf-border-left-controls .egf-font-slider-control,
337
+ .egf-border-right-controls .egf-font-slider-control {
338
+ margin-bottom: 6px;
339
+ }
340
+
341
+ /**
342
+ * 6. jQuery UI Slider
343
+ * ======================================
344
+ */
345
+
346
+ /* Fields: Slider
347
+ ----------------------------------*/
348
+ .egf-font-size-slider,
349
+ .egf-line-height-slider {
350
+ margin-bottom: 10px;
351
+ }
352
+
353
+ .egf-slider {
354
+ margin-top: 3px;
355
+ }
356
+
357
+ .egf-slider {
358
+ width: 100%;
359
+ float: left;
360
+ margin-top: 12px;
361
+ margin-bottom: 5px;
362
+ }
363
+
364
+ .egf-slider-title {
365
+ display: inline-block;
366
+ position: relative;
367
+ max-width: 120px;
368
+ line-height: 1.5;
369
+ float: left;
370
+ font-weight: bold;
371
+ }
372
+
373
+ .egf-font-slider-display {
374
+ margin-left: 10px;
375
+ float:right;
376
+ line-height: 1.5;
377
+ font-weight: bold;
378
+ }
379
+
380
+ .egf-font-slider-clear {
381
+ font-size: 11px;
382
+ line-height: 1;
383
+ margin-top: 2px;
384
+ }
385
+
386
+ .egf-font-control .ui-slider {
387
+ position: relative;
388
+ text-align: left;
389
+ }
390
+ .egf-font-control .ui-slider .ui-slider-handle {
391
+ position: absolute;
392
+ z-index: 2;
393
+ width: 1.2em;
394
+ height: 1.2em;
395
+ cursor: pointer;
396
+ -webkit-box-shadow: inset 0 1px 1px rgba(255,255,255,0.5);
397
+ -moz-box-shadow: inset 0 1px 1px rgba(255,255,255,0.5);
398
+ box-shadow: inset 0 1px 1px rgba(255,255,255,0.5);
399
+ }
400
+
401
+ .egf-font-control .ui-slider .ui-slider-handle.ui-state-hover {
402
+ border-color: #BBBBBB;
403
+ }
404
+
405
+ .egf-font-control .ui-slider .ui-slider-range {
406
+ position: absolute;
407
+ z-index: 1;
408
+ font-size: .7em;
409
+ display: block;
410
+ border: 0;
411
+ background-position: 0 0;
412
+ }
413
+
414
+ /* Interaction states
415
+ ----------------------------------*/
416
+ .egf-font-control .ui-state-default,
417
+ .egf-font-control .ui-widget-content .ui-state-default,
418
+ .egf-font-control .ui-widget-header .ui-state-default {
419
+ border: 1px solid #d3d3d3;
420
+ background: #F5F5F5;
421
+
422
+ background-image: -webkit-linear-gradient(to top, #EEEEEE, #F5F5F5);
423
+ background-image: -moz-linear-gradient(to top, #EEEEEE, #F5F5F5);
424
+ background-image: -o-linear-gradient(to top, #EEEEEE, #F5F5F5);
425
+ background-image: -ms-linear-gradient(to top, #EEEEEE, #F5F5F5);
426
+ background-image: linear-gradient(to top, #EEEEEE, #F5F5F5);
427
+ font-weight: normal;
428
+ color: #555555;
429
+ }
430
+
431
+
432
+ .egf-font-control .ui-state-default a,
433
+ .egf-font-control .ui-state-default a:link,
434
+ .egf-font-control .ui-state-default a:visited {
435
+ color: #555555;
436
+ text-decoration: none;
437
+ }
438
+ .egf-font-control .ui-state-hover,
439
+ .egf-font-control .ui-widget-content .ui-state-hover,
440
+ .egf-font-control .ui-widget-header .ui-state-hover,
441
+ .egf-font-control .ui-state-focus,
442
+ .egf-font-control .ui-widget-content .ui-state-focus,
443
+ .egf-font-control .ui-widget-header .ui-state-focus {
444
+ border: 1px solid #CFCFCF;
445
+ background: #EEEEEE;
446
+ background-image: -webkit-linear-gradient(to top, #EEEEEE, #F5F5F5);
447
+ background-image: -moz-linear-gradient(to top, #EEEEEE, #F5F5F5);
448
+ background-image: -o-linear-gradient(to top, #EEEEEE, #F5F5F5);
449
+ background-image: -ms-linear-gradient(to top, #EEEEEE, #F5F5F5);
450
+ background-image: linear-gradient(to top, #EEEEEE, #F5F5F5);
451
+ font-weight: normal;
452
+ color: #212121;
453
+ }
454
+ .egf-font-control .ui-state-hover a,
455
+ .egf-font-control .ui-state-hover a:hover,
456
+ .egf-font-control .ui-state-hover a:link,
457
+ .egf-font-control .ui-state-hover a:visited {
458
+ color: #212121;
459
+ text-decoration: none;
460
+ }
461
+ .egf-font-control .ui-state-active,
462
+ .egf-font-control .ui-widget-content .ui-state-active,
463
+ .egf-font-control .ui-widget-header .ui-state-active {
464
+ border: 1px solid #BBBBBB;
465
+ background: #EEEEEE;
466
+ font-weight: normal;
467
+ color: #212121;
468
+ }
469
+ .egf-font-control .ui-state-active a,
470
+ .egf-font-control .ui-state-active a:link,
471
+ .egf-font-control .ui-state-active a:visited {
472
+ color: #212121;
473
+ text-decoration: none;
474
+ }
475
+
476
+ /* Interaction Cues
477
+ ----------------------------------*/
478
+ .egf-font-control .ui-state-highlight,
479
+ .egf-font-control .ui-widget-content .ui-state-highlight,
480
+ .egf-font-control .ui-widget-header .ui-state-highlight {
481
+ border: 1px solid #fcefa1;
482
+ background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x;
483
+ color: #363636;
484
+ }
485
+ .egf-font-control .ui-state-highlight a,
486
+ .egf-font-control .ui-widget-content .ui-state-highlight a,
487
+ .egf-font-control .ui-widget-header .ui-state-highlight a {
488
+ color: #363636;
489
+ }
490
+ .egf-font-control .ui-state-error,
491
+ .egf-font-control .ui-widget-content .ui-state-error,
492
+ .egf-font-control .ui-widget-header .ui-state-error {
493
+ border: 1px solid #cd0a0a;
494
+ background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;
495
+ color: #cd0a0a;
496
+ }
497
+ .egf-font-control .ui-state-error a,
498
+ .egf-font-control .ui-widget-content .ui-state-error a,
499
+ .egf-font-control .ui-widget-header .ui-state-error a {
500
+ color: #cd0a0a;
501
+ }
502
+ .egf-font-control .ui-state-error-text,
503
+ .egf-font-control .ui-widget-content .ui-state-error-text,
504
+ .egf-font-control .ui-widget-header .ui-state-error-text {
505
+ color: #cd0a0a;
506
+ }
507
+ .egf-font-control .ui-priority-primary,
508
+ .egf-font-control .ui-widget-content .ui-priority-primary,
509
+ .egf-font-control .ui-widget-header .ui-priority-primary {
510
+ font-weight: bold;
511
+ }
512
+ .egf-font-control .ui-priority-secondary,
513
+ .egf-font-control .ui-widget-content .ui-priority-secondary,
514
+ .egf-font-control .ui-widget-header .ui-priority-secondary {
515
+ opacity: .7;
516
+ filter:Alpha(Opacity=70);
517
+ font-weight: normal;
518
+ }
519
+ .egf-font-control .ui-state-disabled,
520
+ .egf-font-control .ui-widget-content .ui-state-disabled,
521
+ .egf-font-control .ui-widget-header .ui-state-disabled {
522
+ opacity: .35;
523
+ filter:Alpha(Opacity=35);
524
+ background-image: none;
525
+ }
526
+
527
+ /* Component containers
528
+ ----------------------------------*/
529
+ .egf-font-control .ui-widget {
530
+ font-family: Verdana,Arial,sans-serif;
531
+ font-size: 1.1em;
532
+ }
533
+ .egf-font-control .ui-widget .ui-widget {
534
+ font-size: 1em;
535
+ }
536
+ .egf-font-control .ui-widget input,
537
+ .egf-font-control .ui-widget select,
538
+ .egf-font-control .ui-widget textarea,
539
+ .egf-font-control .ui-widget button {
540
+ font-family: Verdana,Arial,sans-serif;
541
+ font-size: 1em;
542
+ }
543
+ .egf-font-control .ui-widget-content {
544
+ border: 1px solid #dfdfdf;
545
+ color: #222222;
546
+ }
547
+ .egf-font-control .ui-widget-content a {
548
+ color: #222222;
549
+ }
550
+ .egf-font-control .ui-widget-header {
551
+ border: 1px solid #aaaaaa;
552
+ background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x;
553
+ color: #222222;
554
+ font-weight: bold;
555
+ }
556
+ .egf-font-control .ui-widget-header a {
557
+ color: #222222;
558
+ }
559
+
560
+ /* Misc visuals
561
+ ----------------------------------*/
562
+
563
+ /* Corner radius */
564
+ .egf-font-control .ui-corner-all,
565
+ .egf-font-control .ui-corner-top,
566
+ .egf-font-control .ui-corner-left,
567
+ .egf-font-control .ui-corner-tl {
568
+ border-top-left-radius: 2px;
569
+ }
570
+
571
+ .egf-font-control .ui-corner-all,
572
+ .egf-font-control .ui-corner-top,
573
+ .egf-font-control .ui-corner-right,
574
+ .egf-font-control .ui-corner-tr {
575
+ border-top-right-radius: 2px;
576
+ }
577
+
578
+ .egf-font-control .ui-corner-all,
579
+ .egf-font-control .ui-corner-bottom,
580
+ .egf-font-control .ui-corner-left,
581
+ .egf-font-control .ui-corner-bl {
582
+ border-bottom-left-radius: 2px;
583
+ }
584
+
585
+ .egf-font-control .ui-corner-all,
586
+ .egf-font-control .ui-corner-bottom,
587
+ .egf-font-control .ui-corner-right,
588
+ .egf-font-control .ui-corner-br {
589
+ border-bottom-right-radius: 2px;
590
+ }
591
+
592
+
593
+ /* Overlays */
594
+ .egf-font-control .ui-widget-overlay {
595
+ background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
596
+ opacity: .3;
597
+ filter: Alpha(Opacity=30);
598
+ }
599
+ .egf-font-control .ui-widget-shadow {
600
+ margin: -8px 0 0 -8px;
601
+ padding: 8px;
602
+ background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
603
+ opacity: .3;
604
+ filter: Alpha(Opacity=30);
605
+ border-radius: 8px;
606
+ }
607
+
608
+
609
+ /* For IE8 - See #6727 */
610
+ .egf-font-control .ui-slider.ui-state-disabled .ui-slider-handle,
611
+ .egf-font-control .ui-slider.ui-state-disabled .ui-slider-range {
612
+ filter: inherit;
613
+ }
614
+
615
+ .egf-font-control .ui-slider-horizontal {
616
+ height: .8em;
617
+ background: #FFFFFF;
618
+ }
619
+ .egf-font-control .ui-slider-horizontal .ui-slider-handle {
620
+ top: -.3em;
621
+ margin-left: -.6em;
622
+ }
623
+ .egf-font-control .ui-slider-horizontal .ui-slider-range {
624
+ top: 0;
625
+ height: 100%;
626
+ }
627
+ .egf-font-control .ui-slider-horizontal .ui-slider-range-min {
628
+ left: 0;
629
+ }
630
+ .egf-font-control .ui-slider-horizontal .ui-slider-range-max {
631
+ right: 0;
632
+ }
633
+
634
+ /* Fields: Font Positioning Tab
635
+ ----------------------------------*/
636
+ .egf-font-toggle {
637
+ border: 1px solid #DDDDDD;
638
+ margin-bottom: 6px;
639
+ }
640
+
641
+ .egf-font-toggle .customize-control-title.inner-control-title {
642
+ -webkit-touch-callout: none;
643
+ -webkit-user-select: none;
644
+ -khtml-user-select: none;
645
+ -moz-user-select: none;
646
+ -ms-user-select: none;
647
+ user-select: none;
648
+ margin: 0;
649
+ padding: 8px;
650
+ }
651
+
652
+ .egf-font-toggle .customize-control-title.inner-control-title:hover {
653
+ background: #F5F5F5;
654
+ cursor: pointer;
655
+ }
656
+
657
+ .egf-font-toggle .customize-control-title.inner-control-title:after {
658
+ float: right;
659
+ position: absolute;
660
+ right: 10px;
661
+ top: 2px;
662
+ z-index: 1;
663
+ background: none repeat scroll 0 center rgba(0, 0, 0, 0);
664
+ border: 0 none;
665
+ content: "\f140";
666
+ display: block;
667
+ font: 400 20px/1 dashicons;
668
+ padding: 0;
669
+ position: relative;
670
+ right: 0;
671
+ text-align: center;
672
+ text-decoration: none !important;
673
+ text-indent: 0;
674
+ color: #AAAAAA;
675
+ }
676
+
677
+ .egf-font-toggle .customize-control-title.inner-control-title:hover:after {
678
+ color: #555555;
679
+ }
680
+
681
+ .egf-font-toggle.selected .customize-control-title.inner-control-title {
682
+ background: #F5F5F5;
683
+ }
684
+
685
+ .egf-font-toggle.selected .customize-control-title.inner-control-title:after {
686
+ color: #555555;
687
+ content: "\f142";
688
+ font: 400 20px/1 dashicons;
689
+ }
690
+
691
+ .toggle-section-content {
692
+ padding: 10px 15px;
693
+ border-top: 1px solid #DDDDDD;
694
+ display: none;
695
+ }
696
+
697
+ .egf-font-toggle.selected .toggle-section-content {
698
+ display: block;
699
+ background-color: #FBFBFB;
700
+ }
assets/css/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
assets/fonts/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
assets/fonts/webfonts.json ADDED
@@ -0,0 +1,19022 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "kind": "webfonts#webfontList",
3
+ "items": [
4
+ {
5
+ "kind": "webfonts#webfont",
6
+ "family": "ABeeZee",
7
+ "category": "sans-serif",
8
+ "variants": [
9
+ "regular",
10
+ "italic"
11
+ ],
12
+ "subsets": [
13
+ "latin"
14
+ ],
15
+ "version": "v12",
16
+ "lastModified": "2019-01-15",
17
+ "files": {
18
+ "regular": "http://fonts.gstatic.com/s/abeezee/v12/esDR31xSG-6AGleN6tKukbcHCpE.ttf",
19
+ "italic": "http://fonts.gstatic.com/s/abeezee/v12/esDT31xSG-6AGleN2tCklZUCGpG-GQ.ttf"
20
+ }
21
+ },
22
+ {
23
+ "kind": "webfonts#webfont",
24
+ "family": "Abel",
25
+ "category": "sans-serif",
26
+ "variants": [
27
+ "regular"
28
+ ],
29
+ "subsets": [
30
+ "latin"
31
+ ],
32
+ "version": "v8",
33
+ "lastModified": "2017-10-10",
34
+ "files": {
35
+ "regular": "http://fonts.gstatic.com/s/abel/v8/MwQ5bhbm2POE6Vg.ttf"
36
+ }
37
+ },
38
+ {
39
+ "kind": "webfonts#webfont",
40
+ "family": "Abhaya Libre",
41
+ "category": "serif",
42
+ "variants": [
43
+ "regular",
44
+ "500",
45
+ "600",
46
+ "700",
47
+ "800"
48
+ ],
49
+ "subsets": [
50
+ "latin-ext",
51
+ "sinhala",
52
+ "latin"
53
+ ],
54
+ "version": "v4",
55
+ "lastModified": "2019-01-10",
56
+ "files": {
57
+ "500": "http://fonts.gstatic.com/s/abhayalibre/v4/e3t5euGtX-Co5MNzeAOqinEYj2ryqtxI6oYtBA.ttf",
58
+ "600": "http://fonts.gstatic.com/s/abhayalibre/v4/e3t5euGtX-Co5MNzeAOqinEYo23yqtxI6oYtBA.ttf",
59
+ "700": "http://fonts.gstatic.com/s/abhayalibre/v4/e3t5euGtX-Co5MNzeAOqinEYx2zyqtxI6oYtBA.ttf",
60
+ "800": "http://fonts.gstatic.com/s/abhayalibre/v4/e3t5euGtX-Co5MNzeAOqinEY22_yqtxI6oYtBA.ttf",
61
+ "regular": "http://fonts.gstatic.com/s/abhayalibre/v4/e3tmeuGtX-Co5MNzeAOqinEge0PWovdU4w.ttf"
62
+ }
63
+ },
64
+ {
65
+ "kind": "webfonts#webfont",
66
+ "family": "Abril Fatface",
67
+ "category": "display",
68
+ "variants": [
69
+ "regular"
70
+ ],
71
+ "subsets": [
72
+ "latin-ext",
73
+ "latin"
74
+ ],
75
+ "version": "v9",
76
+ "lastModified": "2017-10-10",
77
+ "files": {
78
+ "regular": "http://fonts.gstatic.com/s/abrilfatface/v9/zOL64pLDlL1D99S8g8PtiKchm-A.ttf"
79
+ }
80
+ },
81
+ {
82
+ "kind": "webfonts#webfont",
83
+ "family": "Aclonica",
84
+ "category": "sans-serif",
85
+ "variants": [
86
+ "regular"
87
+ ],
88
+ "subsets": [
89
+ "latin"
90
+ ],
91
+ "version": "v9",
92
+ "lastModified": "2019-01-15",
93
+ "files": {
94
+ "regular": "http://fonts.gstatic.com/s/aclonica/v9/K2FyfZJVlfNNSEBXGb7TCI6oBjLz.ttf"
95
+ }
96
+ },
97
+ {
98
+ "kind": "webfonts#webfont",
99
+ "family": "Acme",
100
+ "category": "sans-serif",
101
+ "variants": [
102
+ "regular"
103
+ ],
104
+ "subsets": [
105
+ "latin"
106
+ ],
107
+ "version": "v7",
108
+ "lastModified": "2017-10-10",
109
+ "files": {
110
+ "regular": "http://fonts.gstatic.com/s/acme/v7/RrQfboBx-C5_bx0.ttf"
111
+ }
112
+ },
113
+ {
114
+ "kind": "webfonts#webfont",
115
+ "family": "Actor",
116
+ "category": "sans-serif",
117
+ "variants": [
118
+ "regular"
119
+ ],
120
+ "subsets": [
121
+ "latin"
122
+ ],
123
+ "version": "v8",
124
+ "lastModified": "2019-01-15",
125
+ "files": {
126
+ "regular": "http://fonts.gstatic.com/s/actor/v8/wEOzEBbCkc5cO3ekXygtUMIO.ttf"
127
+ }
128
+ },
129
+ {
130
+ "kind": "webfonts#webfont",
131
+ "family": "Adamina",
132
+ "category": "serif",
133
+ "variants": [
134
+ "regular"
135
+ ],
136
+ "subsets": [
137
+ "latin"
138
+ ],
139
+ "version": "v12",
140
+ "lastModified": "2019-01-15",
141
+ "files": {
142
+ "regular": "http://fonts.gstatic.com/s/adamina/v12/j8_r6-DH1bjoc-dwu-reETl4Bno.ttf"
143
+ }
144
+ },
145
+ {
146
+ "kind": "webfonts#webfont",
147
+ "family": "Advent Pro",
148
+ "category": "sans-serif",
149
+ "variants": [
150
+ "100",
151
+ "200",
152
+ "300",
153
+ "regular",
154
+ "500",
155
+ "600",
156
+ "700"
157
+ ],
158
+ "subsets": [
159
+ "latin-ext",
160
+ "greek",
161
+ "latin"
162
+ ],
163
+ "version": "v9",
164
+ "lastModified": "2019-01-15",
165
+ "files": {
166
+ "100": "http://fonts.gstatic.com/s/adventpro/v9/V8mCoQfxVT4Dvddr_yOwjVmtLZxcBtItFw.ttf",
167
+ "200": "http://fonts.gstatic.com/s/adventpro/v9/V8mDoQfxVT4Dvddr_yOwjfWMDbZyCts0DqQ.ttf",
168
+ "300": "http://fonts.gstatic.com/s/adventpro/v9/V8mDoQfxVT4Dvddr_yOwjZGPDbZyCts0DqQ.ttf",
169
+ "500": "http://fonts.gstatic.com/s/adventpro/v9/V8mDoQfxVT4Dvddr_yOwjcmODbZyCts0DqQ.ttf",
170
+ "600": "http://fonts.gstatic.com/s/adventpro/v9/V8mDoQfxVT4Dvddr_yOwjeWJDbZyCts0DqQ.ttf",
171
+ "700": "http://fonts.gstatic.com/s/adventpro/v9/V8mDoQfxVT4Dvddr_yOwjYGIDbZyCts0DqQ.ttf",
172
+ "regular": "http://fonts.gstatic.com/s/adventpro/v9/V8mAoQfxVT4Dvddr_yOwtT2nKb5ZFtI.ttf"
173
+ }
174
+ },
175
+ {
176
+ "kind": "webfonts#webfont",
177
+ "family": "Aguafina Script",
178
+ "category": "handwriting",
179
+ "variants": [
180
+ "regular"
181
+ ],
182
+ "subsets": [
183
+ "latin-ext",
184
+ "latin"
185
+ ],
186
+ "version": "v7",
187
+ "lastModified": "2019-01-10",
188
+ "files": {
189
+ "regular": "http://fonts.gstatic.com/s/aguafinascript/v7/If2QXTv_ZzSxGIO30LemWEOmt1bHqs4pgicOrg.ttf"
190
+ }
191
+ },
192
+ {
193
+ "kind": "webfonts#webfont",
194
+ "family": "Akronim",
195
+ "category": "display",
196
+ "variants": [
197
+ "regular"
198
+ ],
199
+ "subsets": [
200
+ "latin-ext",
201
+ "latin"
202
+ ],
203
+ "version": "v8",
204
+ "lastModified": "2018-12-13",
205
+ "files": {
206
+ "regular": "http://fonts.gstatic.com/s/akronim/v8/fdN-9sqWtWZZlHRp-gBxkFYN-a8.ttf"
207
+ }
208
+ },
209
+ {
210
+ "kind": "webfonts#webfont",
211
+ "family": "Aladin",
212
+ "category": "handwriting",
213
+ "variants": [
214
+ "regular"
215
+ ],
216
+ "subsets": [
217
+ "latin-ext",
218
+ "latin"
219
+ ],
220
+ "version": "v7",
221
+ "lastModified": "2019-01-10",
222
+ "files": {
223
+ "regular": "http://fonts.gstatic.com/s/aladin/v7/ZgNSjPJFPrvJV5f16Sf4pGT2Ng.ttf"
224
+ }
225
+ },
226
+ {
227
+ "kind": "webfonts#webfont",
228
+ "family": "Aldrich",
229
+ "category": "sans-serif",
230
+ "variants": [
231
+ "regular"
232
+ ],
233
+ "subsets": [
234
+ "latin"
235
+ ],
236
+ "version": "v9",
237
+ "lastModified": "2019-01-15",
238
+ "files": {
239
+ "regular": "http://fonts.gstatic.com/s/aldrich/v9/MCoTzAn-1s3IGyJMZaAS3pP5H_E.ttf"
240
+ }
241
+ },
242
+ {
243
+ "kind": "webfonts#webfont",
244
+ "family": "Alef",
245
+ "category": "sans-serif",
246
+ "variants": [
247
+ "regular",
248
+ "700"
249
+ ],
250
+ "subsets": [
251
+ "hebrew",
252
+ "latin"
253
+ ],
254
+ "version": "v10",
255
+ "lastModified": "2019-01-15",
256
+ "files": {
257
+ "700": "http://fonts.gstatic.com/s/alef/v10/FeVQS0NQpLYglo50L5la2bxii28.ttf",
258
+ "regular": "http://fonts.gstatic.com/s/alef/v10/FeVfS0NQpLYgrjJbC5FxxbU.ttf"
259
+ }
260
+ },
261
+ {
262
+ "kind": "webfonts#webfont",
263
+ "family": "Alegreya",
264
+ "category": "serif",
265
+ "variants": [
266
+ "regular",
267
+ "italic",
268
+ "500",
269
+ "500italic",
270
+ "700",
271
+ "700italic",
272
+ "800",
273
+ "800italic",
274
+ "900",
275
+ "900italic"
276
+ ],
277
+ "subsets": [
278
+ "latin-ext",
279
+ "greek-ext",
280
+ "cyrillic-ext",
281
+ "cyrillic",
282
+ "greek",
283
+ "vietnamese",
284
+ "latin"
285
+ ],
286
+ "version": "v12",
287
+ "lastModified": "2019-01-15",
288
+ "files": {
289
+ "500": "http://fonts.gstatic.com/s/alegreya/v12/4UaGrEBBsBhlBjvfkSoS5I3JyJ98KhtH.ttf",
290
+ "700": "http://fonts.gstatic.com/s/alegreya/v12/4UaGrEBBsBhlBjvfkSpa4o3JyJ98KhtH.ttf",
291
+ "800": "http://fonts.gstatic.com/s/alegreya/v12/4UaGrEBBsBhlBjvfkSpG4Y3JyJ98KhtH.ttf",
292
+ "900": "http://fonts.gstatic.com/s/alegreya/v12/4UaGrEBBsBhlBjvfkSpi4I3JyJ98KhtH.ttf",
293
+ "regular": "http://fonts.gstatic.com/s/alegreya/v12/4UaBrEBBsBhlBjvfkRLmzanB44N1.ttf",
294
+ "italic": "http://fonts.gstatic.com/s/alegreya/v12/4UaHrEBBsBhlBjvfkSLkx63j5pN1MwI.ttf",
295
+ "500italic": "http://fonts.gstatic.com/s/alegreya/v12/4UaErEBBsBhlBjvfkSLk_1nKwpteLwtHJlc.ttf",
296
+ "700italic": "http://fonts.gstatic.com/s/alegreya/v12/4UaErEBBsBhlBjvfkSLk_xHMwpteLwtHJlc.ttf",
297
+ "800italic": "http://fonts.gstatic.com/s/alegreya/v12/4UaErEBBsBhlBjvfkSLk_w3PwpteLwtHJlc.ttf",
298
+ "900italic": "http://fonts.gstatic.com/s/alegreya/v12/4UaErEBBsBhlBjvfkSLk_ynOwpteLwtHJlc.ttf"
299
+ }
300
+ },
301
+ {
302
+ "kind": "webfonts#webfont",
303
+ "family": "Alegreya SC",
304
+ "category": "serif",
305
+ "variants": [
306
+ "regular",
307
+ "italic",
308
+ "500",
309
+ "500italic",
310
+ "700",
311
+ "700italic",
312
+ "800",
313
+ "800italic",
314
+ "900",
315
+ "900italic"
316
+ ],
317
+ "subsets": [
318
+ "latin-ext",
319
+ "greek-ext",
320
+ "cyrillic-ext",
321
+ "cyrillic",
322
+ "greek",
323
+ "vietnamese",
324
+ "latin"
325
+ ],
326
+ "version": "v10",
327
+ "lastModified": "2019-01-10",
328
+ "files": {
329
+ "500": "http://fonts.gstatic.com/s/alegreyasc/v10/taiTGmRtCJ62-O0HhNEa-ZZc-rUxQqu2FXKD.ttf",
330
+ "700": "http://fonts.gstatic.com/s/alegreyasc/v10/taiTGmRtCJ62-O0HhNEa-ZYU_LUxQqu2FXKD.ttf",
331
+ "800": "http://fonts.gstatic.com/s/alegreyasc/v10/taiTGmRtCJ62-O0HhNEa-ZYI_7UxQqu2FXKD.ttf",
332
+ "900": "http://fonts.gstatic.com/s/alegreyasc/v10/taiTGmRtCJ62-O0HhNEa-ZYs_rUxQqu2FXKD.ttf",
333
+ "regular": "http://fonts.gstatic.com/s/alegreyasc/v10/taiOGmRtCJ62-O0HhNEa-a6o05E5abe_.ttf",
334
+ "italic": "http://fonts.gstatic.com/s/alegreyasc/v10/taiMGmRtCJ62-O0HhNEa-Z6q2ZUbbKe_DGs.ttf",
335
+ "500italic": "http://fonts.gstatic.com/s/alegreyasc/v10/taiRGmRtCJ62-O0HhNEa-Z6q4WEySK-UEGKDBz4.ttf",
336
+ "700italic": "http://fonts.gstatic.com/s/alegreyasc/v10/taiRGmRtCJ62-O0HhNEa-Z6q4Sk0SK-UEGKDBz4.ttf",
337
+ "800italic": "http://fonts.gstatic.com/s/alegreyasc/v10/taiRGmRtCJ62-O0HhNEa-Z6q4TU3SK-UEGKDBz4.ttf",
338
+ "900italic": "http://fonts.gstatic.com/s/alegreyasc/v10/taiRGmRtCJ62-O0HhNEa-Z6q4RE2SK-UEGKDBz4.ttf"
339
+ }
340
+ },
341
+ {
342
+ "kind": "webfonts#webfont",
343
+ "family": "Alegreya Sans",
344
+ "category": "sans-serif",
345
+ "variants": [
346
+ "100",
347
+ "100italic",
348
+ "300",
349
+ "300italic",
350
+ "regular",
351
+ "italic",
352
+ "500",
353
+ "500italic",
354
+ "700",
355
+ "700italic",
356
+ "800",
357
+ "800italic",
358
+ "900",
359
+ "900italic"
360
+ ],
361
+ "subsets": [
362
+ "latin-ext",
363
+ "greek-ext",
364
+ "cyrillic-ext",
365
+ "cyrillic",
366
+ "greek",
367
+ "vietnamese",
368
+ "latin"
369
+ ],
370
+ "version": "v9",
371
+ "lastModified": "2019-01-15",
372
+ "files": {
373
+ "100": "http://fonts.gstatic.com/s/alegreyasans/v9/5aUt9_-1phKLFgshYDvh6Vwt5TltuGdShm5bsg.ttf",
374
+ "300": "http://fonts.gstatic.com/s/alegreyasans/v9/5aUu9_-1phKLFgshYDvh6Vwt5fFPmE18imdCqxI.ttf",
375
+ "500": "http://fonts.gstatic.com/s/alegreyasans/v9/5aUu9_-1phKLFgshYDvh6Vwt5alOmE18imdCqxI.ttf",
376
+ "700": "http://fonts.gstatic.com/s/alegreyasans/v9/5aUu9_-1phKLFgshYDvh6Vwt5eFImE18imdCqxI.ttf",
377
+ "800": "http://fonts.gstatic.com/s/alegreyasans/v9/5aUu9_-1phKLFgshYDvh6Vwt5f1LmE18imdCqxI.ttf",
378
+ "900": "http://fonts.gstatic.com/s/alegreyasans/v9/5aUu9_-1phKLFgshYDvh6Vwt5dlKmE18imdCqxI.ttf",
379
+ "100italic": "http://fonts.gstatic.com/s/alegreyasans/v9/5aUv9_-1phKLFgshYDvh6Vwt7V9V3G1WpGtLsgu7.ttf",
380
+ "300italic": "http://fonts.gstatic.com/s/alegreyasans/v9/5aUo9_-1phKLFgshYDvh6Vwt7V9VFE92jkVHuxKiBA.ttf",
381
+ "regular": "http://fonts.gstatic.com/s/alegreyasans/v9/5aUz9_-1phKLFgshYDvh6Vwt3V1nvEVXlm4.ttf",
382
+ "italic": "http://fonts.gstatic.com/s/alegreyasans/v9/5aUt9_-1phKLFgshYDvh6Vwt7V9tuGdShm5bsg.ttf",
383
+ "500italic": "http://fonts.gstatic.com/s/alegreyasans/v9/5aUo9_-1phKLFgshYDvh6Vwt7V9VTE52jkVHuxKiBA.ttf",
384
+ "700italic": "http://fonts.gstatic.com/s/alegreyasans/v9/5aUo9_-1phKLFgshYDvh6Vwt7V9VBEh2jkVHuxKiBA.ttf",
385
+ "800italic": "http://fonts.gstatic.com/s/alegreyasans/v9/5aUo9_-1phKLFgshYDvh6Vwt7V9VGEt2jkVHuxKiBA.ttf",
386
+ "900italic": "http://fonts.gstatic.com/s/alegreyasans/v9/5aUo9_-1phKLFgshYDvh6Vwt7V9VPEp2jkVHuxKiBA.ttf"
387
+ }
388
+ },
389
+ {
390
+ "kind": "webfonts#webfont",
391
+ "family": "Alegreya Sans SC",
392
+ "category": "sans-serif",
393
+ "variants": [
394
+ "100",
395
+ "100italic",
396
+ "300",
397
+ "300italic",
398
+ "regular",
399
+ "italic",
400
+ "500",
401
+ "500italic",
402
+ "700",
403
+ "700italic",
404
+ "800",
405
+ "800italic",
406
+ "900",
407
+ "900italic"
408
+ ],
409
+ "subsets": [
410
+ "latin-ext",
411
+ "greek-ext",
412
+ "cyrillic-ext",
413
+ "cyrillic",
414
+ "greek",
415
+ "vietnamese",
416
+ "latin"
417
+ ],
418
+ "version": "v8",
419
+ "lastModified": "2019-01-15",
420
+ "files": {
421
+ "100": "http://fonts.gstatic.com/s/alegreyasanssc/v8/mtGn4-RGJqfMvt7P8FUr0Q1j-Hf1Dipl8g5FPYtmMg.ttf",
422
+ "300": "http://fonts.gstatic.com/s/alegreyasanssc/v8/mtGm4-RGJqfMvt7P8FUr0Q1j-Hf1DuJH0iRrMYJ_K-4.ttf",
423
+ "500": "http://fonts.gstatic.com/s/alegreyasanssc/v8/mtGm4-RGJqfMvt7P8FUr0Q1j-Hf1DrpG0iRrMYJ_K-4.ttf",
424
+ "700": "http://fonts.gstatic.com/s/alegreyasanssc/v8/mtGm4-RGJqfMvt7P8FUr0Q1j-Hf1DvJA0iRrMYJ_K-4.ttf",
425
+ "800": "http://fonts.gstatic.com/s/alegreyasanssc/v8/mtGm4-RGJqfMvt7P8FUr0Q1j-Hf1Du5D0iRrMYJ_K-4.ttf",
426
+ "900": "http://fonts.gstatic.com/s/alegreyasanssc/v8/mtGm4-RGJqfMvt7P8FUr0Q1j-Hf1DspC0iRrMYJ_K-4.ttf",
427
+ "100italic": "http://fonts.gstatic.com/s/alegreyasanssc/v8/mtGl4-RGJqfMvt7P8FUr0Q1j-Hf1BkxdlgRBH452Mvds.ttf",
428
+ "300italic": "http://fonts.gstatic.com/s/alegreyasanssc/v8/mtGk4-RGJqfMvt7P8FUr0Q1j-Hf1BkxdXiZhNaB6O-51OA.ttf",
429
+ "regular": "http://fonts.gstatic.com/s/alegreyasanssc/v8/mtGh4-RGJqfMvt7P8FUr0Q1j-Hf1Nk5v9ixALYs.ttf",
430
+ "italic": "http://fonts.gstatic.com/s/alegreyasanssc/v8/mtGn4-RGJqfMvt7P8FUr0Q1j-Hf1Bkxl8g5FPYtmMg.ttf",
431
+ "500italic": "http://fonts.gstatic.com/s/alegreyasanssc/v8/mtGk4-RGJqfMvt7P8FUr0Q1j-Hf1BkxdBidhNaB6O-51OA.ttf",
432
+ "700italic": "http://fonts.gstatic.com/s/alegreyasanssc/v8/mtGk4-RGJqfMvt7P8FUr0Q1j-Hf1BkxdTiFhNaB6O-51OA.ttf",
433
+ "800italic": "http://fonts.gstatic.com/s/alegreyasanssc/v8/mtGk4-RGJqfMvt7P8FUr0Q1j-Hf1BkxdUiJhNaB6O-51OA.ttf",
434
+ "900italic": "http://fonts.gstatic.com/s/alegreyasanssc/v8/mtGk4-RGJqfMvt7P8FUr0Q1j-Hf1BkxddiNhNaB6O-51OA.ttf"
435
+ }
436
+ },
437
+ {
438
+ "kind": "webfonts#webfont",
439
+ "family": "Aleo",
440
+ "category": "serif",
441
+ "variants": [
442
+ "300",
443
+ "300italic",
444
+ "regular",
445
+ "italic",
446
+ "700",
447
+ "700italic"
448
+ ],
449
+ "subsets": [
450
+ "latin-ext",
451
+ "latin"
452
+ ],
453
+ "version": "v2",
454
+ "lastModified": "2019-01-10",
455
+ "files": {
456
+ "300": "http://fonts.gstatic.com/s/aleo/v2/c4mg1nF8G8_syKbr9DVDno985KM.ttf",
457
+ "700": "http://fonts.gstatic.com/s/aleo/v2/c4mg1nF8G8_syLbs9DVDno985KM.ttf",
458
+ "300italic": "http://fonts.gstatic.com/s/aleo/v2/c4mi1nF8G8_swAjxeDdJmq159KOnWA.ttf",
459
+ "regular": "http://fonts.gstatic.com/s/aleo/v2/c4mv1nF8G8_s8ArD0D1ogoY.ttf",
460
+ "italic": "http://fonts.gstatic.com/s/aleo/v2/c4mh1nF8G8_swAjJ1B9tkoZl_Q.ttf",
461
+ "700italic": "http://fonts.gstatic.com/s/aleo/v2/c4mi1nF8G8_swAjxaDBJmq159KOnWA.ttf"
462
+ }
463
+ },
464
+ {
465
+ "kind": "webfonts#webfont",
466
+ "family": "Alex Brush",
467
+ "category": "handwriting",
468
+ "variants": [
469
+ "regular"
470
+ ],
471
+ "subsets": [
472
+ "latin-ext",
473
+ "latin"
474
+ ],
475
+ "version": "v10",
476
+ "lastModified": "2019-01-15",
477
+ "files": {
478
+ "regular": "http://fonts.gstatic.com/s/alexbrush/v10/SZc83FzrJKuqFbwMKk6EtUL57DtOmCc.ttf"
479
+ }
480
+ },
481
+ {
482
+ "kind": "webfonts#webfont",
483
+ "family": "Alfa Slab One",
484
+ "category": "display",
485
+ "variants": [
486
+ "regular"
487
+ ],
488
+ "subsets": [
489
+ "latin-ext",
490
+ "vietnamese",
491
+ "latin"
492
+ ],
493
+ "version": "v8",
494
+ "lastModified": "2019-01-15",
495
+ "files": {
496
+ "regular": "http://fonts.gstatic.com/s/alfaslabone/v8/6NUQ8FmMKwSEKjnm5-4v-4Jh6dVretWvYmE.ttf"
497
+ }
498
+ },
499
+ {
500
+ "kind": "webfonts#webfont",
501
+ "family": "Alice",
502
+ "category": "serif",
503
+ "variants": [
504
+ "regular"
505
+ ],
506
+ "subsets": [
507
+ "cyrillic-ext",
508
+ "cyrillic",
509
+ "latin"
510
+ ],
511
+ "version": "v10",
512
+ "lastModified": "2019-01-15",
513
+ "files": {
514
+ "regular": "http://fonts.gstatic.com/s/alice/v10/OpNCnoEEmtHa6FcJpA_chzJ0.ttf"
515
+ }
516
+ },
517
+ {
518
+ "kind": "webfonts#webfont",
519
+ "family": "Alike",
520
+ "category": "serif",
521
+ "variants": [
522
+ "regular"
523
+ ],
524
+ "subsets": [
525
+ "latin"
526
+ ],
527
+ "version": "v11",
528
+ "lastModified": "2019-01-10",
529
+ "files": {
530
+ "regular": "http://fonts.gstatic.com/s/alike/v11/HI_EiYEYI6BIoEjBSZXAQ4-d.ttf"
531
+ }
532
+ },
533
+ {
534
+ "kind": "webfonts#webfont",
535
+ "family": "Alike Angular",
536
+ "category": "serif",
537
+ "variants": [
538
+ "regular"
539
+ ],
540
+ "subsets": [
541
+ "latin"
542
+ ],
543
+ "version": "v9",
544
+ "lastModified": "2018-12-13",
545
+ "files": {
546
+ "regular": "http://fonts.gstatic.com/s/alikeangular/v9/3qTrojWunjGQtEBlIcwMbSoI3kM6bB7FKjE.ttf"
547
+ }
548
+ },
549
+ {
550
+ "kind": "webfonts#webfont",
551
+ "family": "Allan",
552
+ "category": "display",
553
+ "variants": [
554
+ "regular",
555
+ "700"
556
+ ],
557
+ "subsets": [
558
+ "latin-ext",
559
+ "latin"
560
+ ],
561
+ "version": "v11",
562
+ "lastModified": "2019-01-10",
563
+ "files": {
564
+ "700": "http://fonts.gstatic.com/s/allan/v11/ea8aadU7WuTxEu5KEPCN2WpNgEKU.ttf",
565
+ "regular": "http://fonts.gstatic.com/s/allan/v11/ea8XadU7WuTxEtb2P9SF8nZE.ttf"
566
+ }
567
+ },
568
+ {
569
+ "kind": "webfonts#webfont",
570
+ "family": "Allerta",
571
+ "category": "sans-serif",
572
+ "variants": [
573
+ "regular"
574
+ ],
575
+ "subsets": [
576
+ "latin"
577
+ ],
578
+ "version": "v9",
579
+ "lastModified": "2019-01-15",
580
+ "files": {
581
+ "regular": "http://fonts.gstatic.com/s/allerta/v9/TwMO-IAHRlkbx940UnEdSQqO5uY.ttf"
582
+ }
583
+ },
584
+ {
585
+ "kind": "webfonts#webfont",
586
+ "family": "Allerta Stencil",
587
+ "category": "sans-serif",
588
+ "variants": [
589
+ "regular"
590
+ ],
591
+ "subsets": [
592
+ "latin"
593
+ ],
594
+ "version": "v9",
595
+ "lastModified": "2019-01-15",
596
+ "files": {
597
+ "regular": "http://fonts.gstatic.com/s/allertastencil/v9/HTx0L209KT-LmIE9N7OR6eiycOeF-zz313DuvQ.ttf"
598
+ }
599
+ },
600
+ {
601
+ "kind": "webfonts#webfont",
602
+ "family": "Allura",
603
+ "category": "handwriting",
604
+ "variants": [
605
+ "regular"
606
+ ],
607
+ "subsets": [
608
+ "latin-ext",
609
+ "latin"
610
+ ],
611
+ "version": "v7",
612
+ "lastModified": "2019-01-15",
613
+ "files": {
614
+ "regular": "http://fonts.gstatic.com/s/allura/v7/9oRPNYsQpS4zjuAPjAIXPtrrGA.ttf"
615
+ }
616
+ },
617
+ {
618
+ "kind": "webfonts#webfont",
619
+ "family": "Almendra",
620
+ "category": "serif",
621
+ "variants": [
622
+ "regular",
623
+ "italic",
624
+ "700",
625
+ "700italic"
626
+ ],
627
+ "subsets": [
628
+ "latin-ext",
629
+ "latin"
630
+ ],
631
+ "version": "v11",
632
+ "lastModified": "2018-12-13",
633
+ "files": {
634
+ "700": "http://fonts.gstatic.com/s/almendra/v11/H4cjBXKAlMnTn0Cskx6G7Zu4qKK-aihq.ttf",
635
+ "regular": "http://fonts.gstatic.com/s/almendra/v11/H4ckBXKAlMnTn0CskyY6wr-wg763.ttf",
636
+ "italic": "http://fonts.gstatic.com/s/almendra/v11/H4ciBXKAlMnTn0CskxY4yLuShq63czE.ttf",
637
+ "700italic": "http://fonts.gstatic.com/s/almendra/v11/H4chBXKAlMnTn0CskxY48Ae9oqacbzhqDtg.ttf"
638
+ }
639
+ },
640
+ {
641
+ "kind": "webfonts#webfont",
642
+ "family": "Almendra Display",
643
+ "category": "display",
644
+ "variants": [
645
+ "regular"
646
+ ],
647
+ "subsets": [
648
+ "latin-ext",
649
+ "latin"
650
+ ],
651
+ "version": "v9",
652
+ "lastModified": "2018-11-29",
653
+ "files": {
654
+ "regular": "http://fonts.gstatic.com/s/almendradisplay/v9/0FlPVOGWl1Sb4O3tETtADHRRlZhzXS_eTyer338.ttf"
655
+ }
656
+ },
657
+ {
658
+ "kind": "webfonts#webfont",
659
+ "family": "Almendra SC",
660
+ "category": "serif",
661
+ "variants": [
662
+ "regular"
663
+ ],
664
+ "subsets": [
665
+ "latin"
666
+ ],
667
+ "version": "v9",
668
+ "lastModified": "2018-11-29",
669
+ "files": {
670
+ "regular": "http://fonts.gstatic.com/s/almendrasc/v9/Iure6Yx284eebowr7hbyTZZJprVA4XQ0.ttf"
671
+ }
672
+ },
673
+ {
674
+ "kind": "webfonts#webfont",
675
+ "family": "Amarante",
676
+ "category": "display",
677
+ "variants": [
678
+ "regular"
679
+ ],
680
+ "subsets": [
681
+ "latin-ext",
682
+ "latin"
683
+ ],
684
+ "version": "v6",
685
+ "lastModified": "2018-12-13",
686
+ "files": {
687
+ "regular": "http://fonts.gstatic.com/s/amarante/v6/xMQXuF1KTa6EvGx9bq-3C3rAmD-b.ttf"
688
+ }
689
+ },
690
+ {
691
+ "kind": "webfonts#webfont",
692
+ "family": "Amaranth",
693
+ "category": "sans-serif",
694
+ "variants": [
695
+ "regular",
696
+ "italic",
697
+ "700",
698
+ "700italic"
699
+ ],
700
+ "subsets": [
701
+ "latin"
702
+ ],
703
+ "version": "v9",
704
+ "lastModified": "2019-01-15",
705
+ "files": {
706
+ "700": "http://fonts.gstatic.com/s/amaranth/v9/KtkpALODe433f0j1zMF-OPWi6WDfFpuc.ttf",
707
+ "regular": "http://fonts.gstatic.com/s/amaranth/v9/KtkuALODe433f0j1zPnCF9GqwnzW.ttf",
708
+ "italic": "http://fonts.gstatic.com/s/amaranth/v9/KtkoALODe433f0j1zMnAHdWIx2zWD4I.ttf",
709
+ "700italic": "http://fonts.gstatic.com/s/amaranth/v9/KtkrALODe433f0j1zMnAJWmn42T9E4ucRY8.ttf"
710
+ }
711
+ },
712
+ {
713
+ "kind": "webfonts#webfont",
714
+ "family": "Amatic SC",
715
+ "category": "handwriting",
716
+ "variants": [
717
+ "regular",
718
+ "700"
719
+ ],
720
+ "subsets": [
721
+ "hebrew",
722
+ "latin-ext",
723
+ "cyrillic",
724
+ "vietnamese",
725
+ "latin"
726
+ ],
727
+ "version": "v11",
728
+ "lastModified": "2017-11-07",
729
+ "files": {
730
+ "700": "http://fonts.gstatic.com/s/amaticsc/v11/TUZ3zwprpvBS1izr_vOMscG6eQ.ttf",
731
+ "regular": "http://fonts.gstatic.com/s/amaticsc/v11/TUZyzwprpvBS1izr_vO0DQ.ttf"
732
+ }
733
+ },
734
+ {
735
+ "kind": "webfonts#webfont",
736
+ "family": "Amethysta",
737
+ "category": "serif",
738
+ "variants": [
739
+ "regular"
740
+ ],
741
+ "subsets": [
742
+ "latin"
743
+ ],
744
+ "version": "v7",
745
+ "lastModified": "2019-01-10",
746
+ "files": {
747
+ "regular": "http://fonts.gstatic.com/s/amethysta/v7/rP2Fp2K15kgb_F3ibfWIGDWCBl0O8Q.ttf"
748
+ }
749
+ },
750
+ {
751
+ "kind": "webfonts#webfont",
752
+ "family": "Amiko",
753
+ "category": "sans-serif",
754
+ "variants": [
755
+ "regular",
756
+ "600",
757
+ "700"
758
+ ],
759
+ "subsets": [
760
+ "latin-ext",
761
+ "devanagari",
762
+ "latin"
763
+ ],
764
+ "version": "v3",
765
+ "lastModified": "2019-01-10",
766
+ "files": {
767
+ "600": "http://fonts.gstatic.com/s/amiko/v3/WwkdxPq1DFK04uJ9XXrEGoQAUco5.ttf",
768
+ "700": "http://fonts.gstatic.com/s/amiko/v3/WwkdxPq1DFK04uIZXHrEGoQAUco5.ttf",
769
+ "regular": "http://fonts.gstatic.com/s/amiko/v3/WwkQxPq1DFK04tqlc17MMZgJ.ttf"
770
+ }
771
+ },
772
+ {
773
+ "kind": "webfonts#webfont",
774
+ "family": "Amiri",
775
+ "category": "serif",
776
+ "variants": [
777
+ "regular",
778
+ "italic",
779
+ "700",
780
+ "700italic"
781
+ ],
782
+ "subsets": [
783
+ "arabic",
784
+ "latin-ext",
785
+ "latin"
786
+ ],
787
+ "version": "v12",
788
+ "lastModified": "2019-01-15",
789
+ "files": {
790
+ "700": "http://fonts.gstatic.com/s/amiri/v12/J7acnpd8CGxBHp2VkZY4xJ9CGyAa.ttf",
791
+ "regular": "http://fonts.gstatic.com/s/amiri/v12/J7aRnpd8CGxBHqUpvrIw74NL.ttf",
792
+ "italic": "http://fonts.gstatic.com/s/amiri/v12/J7afnpd8CGxBHpUrtLYS6pNLAjk.ttf",
793
+ "700italic": "http://fonts.gstatic.com/s/amiri/v12/J7aanpd8CGxBHpUrjAo9zptgHjAavCA.ttf"
794
+ }
795
+ },
796
+ {
797
+ "kind": "webfonts#webfont",
798
+ "family": "Amita",
799
+ "category": "handwriting",
800
+ "variants": [
801
+ "regular",
802
+ "700"
803
+ ],
804
+ "subsets": [
805
+ "latin-ext",
806
+ "devanagari",
807
+ "latin"
808
+ ],
809
+ "version": "v4",
810
+ "lastModified": "2019-01-10",
811
+ "files": {
812
+ "700": "http://fonts.gstatic.com/s/amita/v4/HhyXU5si9Om7PTHTLtCCOopCTKkI.ttf",
813
+ "regular": "http://fonts.gstatic.com/s/amita/v4/HhyaU5si9Om7PQlvAfSKEZZL.ttf"
814
+ }
815
+ },
816
+ {
817
+ "kind": "webfonts#webfont",
818
+ "family": "Anaheim",
819
+ "category": "sans-serif",
820
+ "variants": [
821
+ "regular"
822
+ ],
823
+ "subsets": [
824
+ "latin-ext",
825
+ "latin"
826
+ ],
827
+ "version": "v6",
828
+ "lastModified": "2019-01-10",
829
+ "files": {
830
+ "regular": "http://fonts.gstatic.com/s/anaheim/v6/8vII7w042Wp87g4G0UTUEE5eK_w.ttf"
831
+ }
832
+ },
833
+ {
834
+ "kind": "webfonts#webfont",
835
+ "family": "Andada",
836
+ "category": "serif",
837
+ "variants": [
838
+ "regular"
839
+ ],
840
+ "subsets": [
841
+ "latin-ext",
842
+ "latin"
843
+ ],
844
+ "version": "v10",
845
+ "lastModified": "2019-01-10",
846
+ "files": {
847
+ "regular": "http://fonts.gstatic.com/s/andada/v10/uK_y4riWaego3w9RCh0TMv6EXw.ttf"
848
+ }
849
+ },
850
+ {
851
+ "kind": "webfonts#webfont",
852
+ "family": "Andika",
853
+ "category": "sans-serif",
854
+ "variants": [
855
+ "regular"
856
+ ],
857
+ "subsets": [
858
+ "latin-ext",
859
+ "cyrillic-ext",
860
+ "cyrillic",
861
+ "vietnamese",
862
+ "latin"
863
+ ],
864
+ "version": "v10",
865
+ "lastModified": "2019-01-10",
866
+ "files": {
867
+ "regular": "http://fonts.gstatic.com/s/andika/v10/mem_Ya6iyW-LwqgAbbwRWrwGVA.ttf"
868
+ }
869
+ },
870
+ {
871
+ "kind": "webfonts#webfont",
872
+ "family": "Angkor",
873
+ "category": "display",
874
+ "variants": [
875
+ "regular"
876
+ ],
877
+ "subsets": [
878
+ "khmer"
879
+ ],
880
+ "version": "v11",
881
+ "lastModified": "2018-12-13",
882
+ "files": {
883
+ "regular": "http://fonts.gstatic.com/s/angkor/v11/H4cmBXyAlsPdnlb-8iw-4Lqggw.ttf"
884
+ }
885
+ },
886
+ {
887
+ "kind": "webfonts#webfont",
888
+ "family": "Annie Use Your Telescope",
889
+ "category": "handwriting",
890
+ "variants": [
891
+ "regular"
892
+ ],
893
+ "subsets": [
894
+ "latin"
895
+ ],
896
+ "version": "v9",
897
+ "lastModified": "2019-01-10",
898
+ "files": {
899
+ "regular": "http://fonts.gstatic.com/s/annieuseyourtelescope/v9/daaLSS4tI2qYYl3Jq9s_Hu74xwktnlKxH6osGVGjlDfB3UUVZA.ttf"
900
+ }
901
+ },
902
+ {
903
+ "kind": "webfonts#webfont",
904
+ "family": "Anonymous Pro",
905
+ "category": "monospace",
906
+ "variants": [
907
+ "regular",
908
+ "italic",
909
+ "700",
910
+ "700italic"
911
+ ],
912
+ "subsets": [
913
+ "latin-ext",
914
+ "cyrillic",
915
+ "greek",
916
+ "latin"
917
+ ],
918
+ "version": "v12",
919
+ "lastModified": "2019-01-15",
920
+ "files": {
921
+ "700": "http://fonts.gstatic.com/s/anonymouspro/v12/rP2cp2a15UIB7Un-bOeISG3pFuAT0CnW7KOywKo.ttf",
922
+ "regular": "http://fonts.gstatic.com/s/anonymouspro/v12/rP2Bp2a15UIB7Un-bOeISG3pLlw89CH98Ko.ttf",
923
+ "italic": "http://fonts.gstatic.com/s/anonymouspro/v12/rP2fp2a15UIB7Un-bOeISG3pHl428AP44Kqr2Q.ttf",
924
+ "700italic": "http://fonts.gstatic.com/s/anonymouspro/v12/rP2ap2a15UIB7Un-bOeISG3pHl4OTCzc6IG30KqB9Q.ttf"
925
+ }
926
+ },
927
+ {
928
+ "kind": "webfonts#webfont",
929
+ "family": "Antic",
930
+ "category": "sans-serif",
931
+ "variants": [
932
+ "regular"
933
+ ],
934
+ "subsets": [
935
+ "latin"
936
+ ],
937
+ "version": "v10",
938
+ "lastModified": "2019-01-10",
939
+ "files": {
940
+ "regular": "http://fonts.gstatic.com/s/antic/v10/TuGfUVB8XY5DRaZLodgzydtk.ttf"
941
+ }
942
+ },
943
+ {
944
+ "kind": "webfonts#webfont",
945
+ "family": "Antic Didone",
946
+ "category": "serif",
947
+ "variants": [
948
+ "regular"
949
+ ],
950
+ "subsets": [
951
+ "latin"
952
+ ],
953
+ "version": "v7",
954
+ "lastModified": "2018-12-13",
955
+ "files": {
956
+ "regular": "http://fonts.gstatic.com/s/anticdidone/v7/RWmPoKKX6u8sp8fIWdnDKqDiqYsGBGBzCw.ttf"
957
+ }
958
+ },
959
+ {
960
+ "kind": "webfonts#webfont",
961
+ "family": "Antic Slab",
962
+ "category": "serif",
963
+ "variants": [
964
+ "regular"
965
+ ],
966
+ "subsets": [
967
+ "latin"
968
+ ],
969
+ "version": "v7",
970
+ "lastModified": "2019-01-15",
971
+ "files": {
972
+ "regular": "http://fonts.gstatic.com/s/anticslab/v7/bWt97fPFfRzkCa9Jlp6IWcJWXW5p5Qo.ttf"
973
+ }
974
+ },
975
+ {
976
+ "kind": "webfonts#webfont",
977
+ "family": "Anton",
978
+ "category": "sans-serif",
979
+ "variants": [
980
+ "regular"
981
+ ],
982
+ "subsets": [
983
+ "latin-ext",
984
+ "vietnamese",
985
+ "latin"
986
+ ],
987
+ "version": "v9",
988
+ "lastModified": "2017-10-10",
989
+ "files": {
990
+ "regular": "http://fonts.gstatic.com/s/anton/v9/1Ptgg87LROyAm0K0.ttf"
991
+ }
992
+ },
993
+ {
994
+ "kind": "webfonts#webfont",
995
+ "family": "Arapey",
996
+ "category": "serif",
997
+ "variants": [
998
+ "regular",
999
+ "italic"
1000
+ ],
1001
+ "subsets": [
1002
+ "latin"
1003
+ ],
1004
+ "version": "v7",
1005
+ "lastModified": "2019-01-15",
1006
+ "files": {
1007
+ "regular": "http://fonts.gstatic.com/s/arapey/v7/-W__XJn-UDDA2RC6Z9AcZkIzeg.ttf",
1008
+ "italic": "http://fonts.gstatic.com/s/arapey/v7/-W_9XJn-UDDA2RCKZdoYREcjeo0k.ttf"
1009
+ }
1010
+ },
1011
+ {
1012
+ "kind": "webfonts#webfont",
1013
+ "family": "Arbutus",
1014
+ "category": "display",
1015
+ "variants": [
1016
+ "regular"
1017
+ ],
1018
+ "subsets": [
1019
+ "latin-ext",
1020
+ "latin"
1021
+ ],
1022
+ "version": "v8",
1023
+ "lastModified": "2018-12-13",
1024
+ "files": {
1025
+ "regular": "http://fonts.gstatic.com/s/arbutus/v8/NaPYcZ7dG_5J3poob9JtryO8fMU.ttf"
1026
+ }
1027
+ },
1028
+ {
1029
+ "kind": "webfonts#webfont",
1030
+ "family": "Arbutus Slab",
1031
+ "category": "serif",
1032
+ "variants": [
1033
+ "regular"
1034
+ ],
1035
+ "subsets": [
1036
+ "latin-ext",
1037
+ "latin"
1038
+ ],
1039
+ "version": "v7",
1040
+ "lastModified": "2019-01-15",
1041
+ "files": {
1042
+ "regular": "http://fonts.gstatic.com/s/arbutusslab/v7/oY1Z8e7OuLXkJGbXtr5ba7ZVa68dJlaFAQ.ttf"
1043
+ }
1044
+ },
1045
+ {
1046
+ "kind": "webfonts#webfont",
1047
+ "family": "Architects Daughter",
1048
+ "category": "handwriting",
1049
+ "variants": [
1050
+ "regular"
1051
+ ],
1052
+ "subsets": [
1053
+ "latin"
1054
+ ],
1055
+ "version": "v9",
1056
+ "lastModified": "2019-01-15",
1057
+ "files": {
1058
+ "regular": "http://fonts.gstatic.com/s/architectsdaughter/v9/KtkxAKiDZI_td1Lkx62xHZHDtgO_Y-bvfY5q4szgE-Q.ttf"
1059
+ }
1060
+ },
1061
+ {
1062
+ "kind": "webfonts#webfont",
1063
+ "family": "Archivo",
1064
+ "category": "sans-serif",
1065
+ "variants": [
1066
+ "regular",
1067
+ "italic",
1068
+ "500",
1069
+ "500italic",
1070
+ "600",
1071
+ "600italic",
1072
+ "700",
1073
+ "700italic"
1074
+ ],
1075
+ "subsets": [
1076
+ "latin-ext",
1077
+ "vietnamese",
1078
+ "latin"
1079
+ ],
1080
+ "version": "v4",
1081
+ "lastModified": "2019-01-15",
1082
+ "files": {
1083
+ "500": "http://fonts.gstatic.com/s/archivo/v4/k3kVo8UDI-1M0wlSdSrLC0HrLaqM6Q4.ttf",
1084
+ "600": "http://fonts.gstatic.com/s/archivo/v4/k3kVo8UDI-1M0wlSdQbMC0HrLaqM6Q4.ttf",
1085
+ "700": "http://fonts.gstatic.com/s/archivo/v4/k3kVo8UDI-1M0wlSdWLNC0HrLaqM6Q4.ttf",
1086
+ "regular": "http://fonts.gstatic.com/s/archivo/v4/k3kQo8UDI-1M0wlSTd7iL0nAMaM.ttf",
1087
+ "italic": "http://fonts.gstatic.com/s/archivo/v4/k3kSo8UDI-1M0wlSfdzoK2vFIaOV8A.ttf",
1088
+ "500italic": "http://fonts.gstatic.com/s/archivo/v4/k3kXo8UDI-1M0wlSfdzQ30LhKYiJ-Q7m8w.ttf",
1089
+ "600italic": "http://fonts.gstatic.com/s/archivo/v4/k3kXo8UDI-1M0wlSfdzQ80XhKYiJ-Q7m8w.ttf",
1090
+ "700italic": "http://fonts.gstatic.com/s/archivo/v4/k3kXo8UDI-1M0wlSfdzQl0ThKYiJ-Q7m8w.ttf"
1091
+ }
1092
+ },
1093
+ {
1094
+ "kind": "webfonts#webfont",
1095
+ "family": "Archivo Black",
1096
+ "category": "sans-serif",
1097
+ "variants": [
1098
+ "regular"
1099
+ ],
1100
+ "subsets": [
1101
+ "latin-ext",
1102
+ "latin"
1103
+ ],
1104
+ "version": "v8",
1105
+ "lastModified": "2019-01-15",
1106
+ "files": {
1107
+ "regular": "http://fonts.gstatic.com/s/archivoblack/v8/HTxqL289NzCGg4MzN6KJ7eW6OYuP_x7yx3A.ttf"
1108
+ }
1109
+ },
1110
+ {
1111
+ "kind": "webfonts#webfont",
1112
+ "family": "Archivo Narrow",
1113
+ "category": "sans-serif",
1114
+ "variants": [
1115
+ "regular",
1116
+ "italic",
1117
+ "500",
1118
+ "500italic",
1119
+ "600",
1120
+ "600italic",
1121
+ "700",
1122
+ "700italic"
1123
+ ],
1124
+ "subsets": [
1125
+ "latin-ext",
1126
+ "latin"
1127
+ ],
1128
+ "version": "v8",
1129
+ "lastModified": "2017-10-10",
1130
+ "files": {
1131
+ "500": "http://fonts.gstatic.com/s/archivonarrow/v8/tss3ApVBdCYD5Q7hcxTE1ArZ0b4Dqlla.ttf",
1132
+ "600": "http://fonts.gstatic.com/s/archivonarrow/v8/tss3ApVBdCYD5Q7hcxTE1ArZ0b4vrVla.ttf",
1133
+ "700": "http://fonts.gstatic.com/s/archivonarrow/v8/tss3ApVBdCYD5Q7hcxTE1ArZ0b5LrFla.ttf",
1134
+ "regular": "http://fonts.gstatic.com/s/archivonarrow/v8/tss0ApVBdCYD5Q7hcxTE1ArZ0Yb3.ttf",
1135
+ "italic": "http://fonts.gstatic.com/s/archivonarrow/v8/tss2ApVBdCYD5Q7hcxTE1ArZ0bb1iXk.ttf",
1136
+ "500italic": "http://fonts.gstatic.com/s/archivonarrow/v8/tssxApVBdCYD5Q7hcxTE1ArZ0bb1sY1Z-9c.ttf",
1137
+ "600italic": "http://fonts.gstatic.com/s/archivonarrow/v8/tssxApVBdCYD5Q7hcxTE1ArZ0bb1saFe-9c.ttf",
1138
+ "700italic": "http://fonts.gstatic.com/s/archivonarrow/v8/tssxApVBdCYD5Q7hcxTE1ArZ0bb1scVf-9c.ttf"
1139
+ }
1140
+ },
1141
+ {
1142
+ "kind": "webfonts#webfont",
1143
+ "family": "Aref Ruqaa",
1144
+ "category": "serif",
1145
+ "variants": [
1146
+ "regular",
1147
+ "700"
1148
+ ],
1149
+ "subsets": [
1150
+ "arabic",
1151
+ "latin"
1152
+ ],
1153
+ "version": "v7",
1154
+ "lastModified": "2019-01-10",
1155
+ "files": {
1156
+ "700": "http://fonts.gstatic.com/s/arefruqaa/v7/WwkYxPW1E165rajQKDulKDwNcNIS2N_7Bdk.ttf",
1157
+ "regular": "http://fonts.gstatic.com/s/arefruqaa/v7/WwkbxPW1E165rajQKDulEIAiVNo5xNY.ttf"
1158
+ }
1159
+ },
1160
+ {
1161
+ "kind": "webfonts#webfont",
1162
+ "family": "Arima Madurai",
1163
+ "category": "display",
1164
+ "variants": [
1165
+ "100",
1166
+ "200",
1167
+ "300",
1168
+ "regular",
1169
+ "500",
1170
+ "700",
1171
+ "800",
1172
+ "900"
1173
+ ],
1174
+ "subsets": [
1175
+ "latin-ext",
1176
+ "tamil",
1177
+ "vietnamese",
1178
+ "latin"
1179
+ ],
1180
+ "version": "v4",
1181
+ "lastModified": "2019-01-10",
1182
+ "files": {
1183
+ "100": "http://fonts.gstatic.com/s/arimamadurai/v4/t5t4IRoeKYORG0WNMgnC3seB1V3PqrGCch4Drg.ttf",
1184
+ "200": "http://fonts.gstatic.com/s/arimamadurai/v4/t5t7IRoeKYORG0WNMgnC3seB1fHuipusfhcat2c.ttf",
1185
+ "300": "http://fonts.gstatic.com/s/arimamadurai/v4/t5t7IRoeKYORG0WNMgnC3seB1ZXtipusfhcat2c.ttf",
1186
+ "500": "http://fonts.gstatic.com/s/arimamadurai/v4/t5t7IRoeKYORG0WNMgnC3seB1c3sipusfhcat2c.ttf",
1187
+ "700": "http://fonts.gstatic.com/s/arimamadurai/v4/t5t7IRoeKYORG0WNMgnC3seB1YXqipusfhcat2c.ttf",
1188
+ "800": "http://fonts.gstatic.com/s/arimamadurai/v4/t5t7IRoeKYORG0WNMgnC3seB1Znpipusfhcat2c.ttf",
1189
+ "900": "http://fonts.gstatic.com/s/arimamadurai/v4/t5t7IRoeKYORG0WNMgnC3seB1b3oipusfhcat2c.ttf",
1190
+ "regular": "http://fonts.gstatic.com/s/arimamadurai/v4/t5tmIRoeKYORG0WNMgnC3seB7TnFrpOHYh4.ttf"
1191
+ }
1192
+ },
1193
+ {
1194
+ "kind": "webfonts#webfont",
1195
+ "family": "Arimo",
1196
+ "category": "sans-serif",
1197
+ "variants": [
1198
+ "regular",
1199
+ "italic",
1200
+ "700",
1201
+ "700italic"
1202
+ ],
1203
+ "subsets": [
1204
+ "hebrew",
1205
+ "latin-ext",
1206
+ "greek-ext",
1207
+ "cyrillic-ext",
1208
+ "cyrillic",
1209
+ "greek",
1210
+ "vietnamese",
1211
+ "latin"
1212
+ ],
1213
+ "version": "v11",
1214
+ "lastModified": "2017-10-11",
1215
+ "files": {
1216
+ "700": "http://fonts.gstatic.com/s/arimo/v11/P5sBzZCDf9_T_1Wi4QRE.ttf",
1217
+ "regular": "http://fonts.gstatic.com/s/arimo/v11/P5sMzZCDf9_T_20e.ttf",
1218
+ "italic": "http://fonts.gstatic.com/s/arimo/v11/P5sCzZCDf9_T_10cxCQ.ttf",
1219
+ "700italic": "http://fonts.gstatic.com/s/arimo/v11/P5sHzZCDf9_T_10c_JhBrZc.ttf"
1220
+ }
1221
+ },
1222
+ {
1223
+ "kind": "webfonts#webfont",
1224
+ "family": "Arizonia",
1225
+ "category": "handwriting",
1226
+ "variants": [
1227
+ "regular"
1228
+ ],
1229
+ "subsets": [
1230
+ "latin-ext",
1231
+ "latin"
1232
+ ],
1233
+ "version": "v9",
1234
+ "lastModified": "2019-01-10",
1235
+ "files": {
1236
+ "regular": "http://fonts.gstatic.com/s/arizonia/v9/neIIzCemt4A5qa7mv6WGHK06UY30.ttf"
1237
+ }
1238
+ },
1239
+ {
1240
+ "kind": "webfonts#webfont",
1241
+ "family": "Armata",
1242
+ "category": "sans-serif",
1243
+ "variants": [
1244
+ "regular"
1245
+ ],
1246
+ "subsets": [
1247
+ "latin-ext",
1248
+ "latin"
1249
+ ],
1250
+ "version": "v10",
1251
+ "lastModified": "2019-01-15",
1252
+ "files": {
1253
+ "regular": "http://fonts.gstatic.com/s/armata/v10/gokvH63_HV5jQ-E9lD53Q2u_mQ.ttf"
1254
+ }
1255
+ },
1256
+ {
1257
+ "kind": "webfonts#webfont",
1258
+ "family": "Arsenal",
1259
+ "category": "sans-serif",
1260
+ "variants": [
1261
+ "regular",
1262
+ "italic",
1263
+ "700",
1264
+ "700italic"
1265
+ ],
1266
+ "subsets": [
1267
+ "latin-ext",
1268
+ "cyrillic-ext",
1269
+ "cyrillic",
1270
+ "vietnamese",
1271
+ "latin"
1272
+ ],
1273
+ "version": "v3",
1274
+ "lastModified": "2019-01-10",
1275
+ "files": {
1276
+ "700": "http://fonts.gstatic.com/s/arsenal/v3/wXKuE3kQtZQ4pF3D7-P5JeQAmX8yrdk.ttf",
1277
+ "regular": "http://fonts.gstatic.com/s/arsenal/v3/wXKrE3kQtZQ4pF3D11_WAewrhXY.ttf",
1278
+ "italic": "http://fonts.gstatic.com/s/arsenal/v3/wXKpE3kQtZQ4pF3D513cBc4ulXYrtA.ttf",
1279
+ "700italic": "http://fonts.gstatic.com/s/arsenal/v3/wXKsE3kQtZQ4pF3D513kueEKnV03vdnKjw.ttf"
1280
+ }
1281
+ },
1282
+ {
1283
+ "kind": "webfonts#webfont",
1284
+ "family": "Artifika",
1285
+ "category": "serif",
1286
+ "variants": [
1287
+ "regular"
1288
+ ],
1289
+ "subsets": [
1290
+ "latin"
1291
+ ],
1292
+ "version": "v9",
1293
+ "lastModified": "2019-01-10",
1294
+ "files": {
1295
+ "regular": "http://fonts.gstatic.com/s/artifika/v9/VEMyRoxzronptCuxu6Wt5jDtreOL.ttf"
1296
+ }
1297
+ },
1298
+ {
1299
+ "kind": "webfonts#webfont",
1300
+ "family": "Arvo",
1301
+ "category": "serif",
1302
+ "variants": [
1303
+ "regular",
1304
+ "italic",
1305
+ "700",
1306
+ "700italic"
1307
+ ],
1308
+ "subsets": [
1309
+ "latin"
1310
+ ],
1311
+ "version": "v10",
1312
+ "lastModified": "2017-10-10",
1313
+ "files": {
1314
+ "700": "http://fonts.gstatic.com/s/arvo/v10/tDbM2oWUg0MKoZw1yLQ.ttf",
1315
+ "regular": "http://fonts.gstatic.com/s/arvo/v10/tDbD2oWUg0MKmSA.ttf",
1316
+ "italic": "http://fonts.gstatic.com/s/arvo/v10/tDbN2oWUg0MKqSIQ6A.ttf",
1317
+ "700italic": "http://fonts.gstatic.com/s/arvo/v10/tDbO2oWUg0MKqSIoVLHK9g.ttf"
1318
+ }
1319
+ },
1320
+ {
1321
+ "kind": "webfonts#webfont",
1322
+ "family": "Arya",
1323
+ "category": "sans-serif",
1324
+ "variants": [
1325
+ "regular",
1326
+ "700"
1327
+ ],
1328
+ "subsets": [
1329
+ "latin-ext",
1330
+ "devanagari",
1331
+ "latin"
1332
+ ],
1333
+ "version": "v4",
1334
+ "lastModified": "2018-12-13",
1335
+ "files": {
1336
+ "700": "http://fonts.gstatic.com/s/arya/v4/ga6NawNG-HJdzfra3b-BaFg3dRE.ttf",
1337
+ "regular": "http://fonts.gstatic.com/s/arya/v4/ga6CawNG-HJd9Ub1-beqdFE.ttf"
1338
+ }
1339
+ },
1340
+ {
1341
+ "kind": "webfonts#webfont",
1342
+ "family": "Asap",
1343
+ "category": "sans-serif",
1344
+ "variants": [
1345
+ "regular",
1346
+ "italic",
1347
+ "500",
1348
+ "500italic",
1349
+ "600",
1350
+ "600italic",
1351
+ "700",
1352
+ "700italic"
1353
+ ],
1354
+ "subsets": [
1355
+ "latin-ext",
1356
+ "vietnamese",
1357
+ "latin"
1358
+ ],
1359
+ "version": "v8",
1360
+ "lastModified": "2018-10-08",
1361
+ "files": {
1362
+ "500": "http://fonts.gstatic.com/s/asap/v8/KFOnCniXp96aw8g9xUw.ttf",
1363
+ "600": "http://fonts.gstatic.com/s/asap/v8/KFOnCniXp96aw-Q6xUw.ttf",
1364
+ "700": "http://fonts.gstatic.com/s/asap/v8/KFOnCniXp96aw4A7xUw.ttf",
1365
+ "regular": "http://fonts.gstatic.com/s/asap/v8/KFOoCniXp96a-zw.ttf",
1366
+ "italic": "http://fonts.gstatic.com/s/asap/v8/KFOmCniXp96ayz4e5Q.ttf",
1367
+ "500italic": "http://fonts.gstatic.com/s/asap/v8/KFOlCniXp96ayz4mEU9vAw.ttf",
1368
+ "600italic": "http://fonts.gstatic.com/s/asap/v8/KFOlCniXp96ayz4mPUhvAw.ttf",
1369
+ "700italic": "http://fonts.gstatic.com/s/asap/v8/KFOlCniXp96ayz4mWUlvAw.ttf"
1370
+ }
1371
+ },
1372
+ {
1373
+ "kind": "webfonts#webfont",
1374
+ "family": "Asap Condensed",
1375
+ "category": "sans-serif",
1376
+ "variants": [
1377
+ "regular",
1378
+ "italic",
1379
+ "500",
1380
+ "500italic",
1381
+ "600",
1382
+ "600italic",
1383
+ "700",
1384
+ "700italic"
1385
+ ],
1386
+ "subsets": [
1387
+ "latin-ext",
1388
+ "vietnamese",
1389
+ "latin"
1390
+ ],
1391
+ "version": "v3",
1392
+ "lastModified": "2019-01-10",
1393
+ "files": {
1394
+ "500": "http://fonts.gstatic.com/s/asapcondensed/v3/pxieypY1o9NHyXh3WvSbGSggdO9_S2lEgGqgp-pO.ttf",
1395
+ "600": "http://fonts.gstatic.com/s/asapcondensed/v3/pxieypY1o9NHyXh3WvSbGSggdO9TTGlEgGqgp-pO.ttf",
1396
+ "700": "http://fonts.gstatic.com/s/asapcondensed/v3/pxieypY1o9NHyXh3WvSbGSggdO83TWlEgGqgp-pO.ttf",
1397
+ "regular": "http://fonts.gstatic.com/s/asapcondensed/v3/pxidypY1o9NHyXh3WvSbGSggdNeLYk1Mq3ap.ttf",
1398
+ "italic": "http://fonts.gstatic.com/s/asapcondensed/v3/pxifypY1o9NHyXh3WvSbGSggdOeJaElurmapvvM.ttf",
1399
+ "500italic": "http://fonts.gstatic.com/s/asapcondensed/v3/pxiYypY1o9NHyXh3WvSbGSggdOeJUL1Him6CovpOkXA.ttf",
1400
+ "600italic": "http://fonts.gstatic.com/s/asapcondensed/v3/pxiYypY1o9NHyXh3WvSbGSggdOeJUJFAim6CovpOkXA.ttf",
1401
+ "700italic": "http://fonts.gstatic.com/s/asapcondensed/v3/pxiYypY1o9NHyXh3WvSbGSggdOeJUPVBim6CovpOkXA.ttf"
1402
+ }
1403
+ },
1404
+ {
1405
+ "kind": "webfonts#webfont",
1406
+ "family": "Asar",
1407
+ "category": "serif",
1408
+ "variants": [
1409
+ "regular"
1410
+ ],
1411
+ "subsets": [
1412
+ "latin-ext",
1413
+ "devanagari",
1414
+ "latin"
1415
+ ],
1416
+ "version": "v6",
1417
+ "lastModified": "2018-11-29",
1418
+ "files": {
1419
+ "regular": "http://fonts.gstatic.com/s/asar/v6/sZlLdRyI6TBIXkYQDLlTW6E.ttf"
1420
+ }
1421
+ },
1422
+ {
1423
+ "kind": "webfonts#webfont",
1424
+ "family": "Asset",
1425
+ "category": "display",
1426
+ "variants": [
1427
+ "regular"
1428
+ ],
1429
+ "subsets": [
1430
+ "latin"
1431
+ ],
1432
+ "version": "v9",
1433
+ "lastModified": "2018-12-13",
1434
+ "files": {
1435
+ "regular": "http://fonts.gstatic.com/s/asset/v9/SLXGc1na-mM4cWImRJqExst1.ttf"
1436
+ }
1437
+ },
1438
+ {
1439
+ "kind": "webfonts#webfont",
1440
+ "family": "Assistant",
1441
+ "category": "sans-serif",
1442
+ "variants": [
1443
+ "200",
1444
+ "300",
1445
+ "regular",
1446
+ "600",
1447
+ "700",
1448
+ "800"
1449
+ ],
1450
+ "subsets": [
1451
+ "hebrew",
1452
+ "latin"
1453
+ ],
1454
+ "version": "v2",
1455
+ "lastModified": "2017-10-10",
1456
+ "files": {
1457
+ "200": "http://fonts.gstatic.com/s/assistant/v2/2sDZZGJYnIjSi6H75xk7p0ScAw.ttf",
1458
+ "300": "http://fonts.gstatic.com/s/assistant/v2/2sDZZGJYnIjSi6H75xk7w0ecAw.ttf",
1459
+ "600": "http://fonts.gstatic.com/s/assistant/v2/2sDZZGJYnIjSi6H75xk7t0GcAw.ttf",
1460
+ "700": "http://fonts.gstatic.com/s/assistant/v2/2sDZZGJYnIjSi6H75xk700CcAw.ttf",
1461
+ "800": "http://fonts.gstatic.com/s/assistant/v2/2sDZZGJYnIjSi6H75xk7z0OcAw.ttf",
1462
+ "regular": "http://fonts.gstatic.com/s/assistant/v2/2sDcZGJYnIjSi6H75xkDbw.ttf"
1463
+ }
1464
+ },
1465
+ {
1466
+ "kind": "webfonts#webfont",
1467
+ "family": "Astloch",
1468
+ "category": "display",
1469
+ "variants": [
1470
+ "regular",
1471
+ "700"
1472
+ ],
1473
+ "subsets": [
1474
+ "latin"
1475
+ ],
1476
+ "version": "v9",
1477
+ "lastModified": "2018-12-13",
1478
+ "files": {
1479
+ "700": "http://fonts.gstatic.com/s/astloch/v9/TuGUUVJ8QI5GSeUjk2A-6MNPA10xLMQ.ttf",
1480
+ "regular": "http://fonts.gstatic.com/s/astloch/v9/TuGRUVJ8QI5GSeUjq9wRzMtkH1Q.ttf"
1481
+ }
1482
+ },
1483
+ {
1484
+ "kind": "webfonts#webfont",
1485
+ "family": "Asul",
1486
+ "category": "sans-serif",
1487
+ "variants": [
1488
+ "regular",
1489
+ "700"
1490
+ ],
1491
+ "subsets": [
1492
+ "latin"
1493
+ ],
1494
+ "version": "v8",
1495
+ "lastModified": "2018-12-13",
1496
+ "files": {
1497
+ "700": "http://fonts.gstatic.com/s/asul/v8/VuJxdNjKxYr40U8qeKbXOIFneRo.ttf",
1498
+ "regular": "http://fonts.gstatic.com/s/asul/v8/VuJ-dNjKxYr46fMFXK78JIg.ttf"
1499
+ }
1500
+ },
1501
+ {
1502
+ "kind": "webfonts#webfont",
1503
+ "family": "Athiti",
1504
+ "category": "sans-serif",
1505
+ "variants": [
1506
+ "200",
1507
+ "300",
1508
+ "regular",
1509
+ "500",
1510
+ "600",
1511
+ "700"
1512
+ ],
1513
+ "subsets": [
1514
+ "latin-ext",
1515
+ "thai",
1516
+ "vietnamese",
1517
+ "latin"
1518
+ ],
1519
+ "version": "v3",
1520
+ "lastModified": "2019-01-10",
1521
+ "files": {
1522
+ "200": "http://fonts.gstatic.com/s/athiti/v3/pe0sMISdLIZIv1wAxDNyAv2-C99ycg.ttf",
1523
+ "300": "http://fonts.gstatic.com/s/athiti/v3/pe0sMISdLIZIv1wAoDByAv2-C99ycg.ttf",
1524
+ "500": "http://fonts.gstatic.com/s/athiti/v3/pe0sMISdLIZIv1wA-DFyAv2-C99ycg.ttf",
1525
+ "600": "http://fonts.gstatic.com/s/athiti/v3/pe0sMISdLIZIv1wA1DZyAv2-C99ycg.ttf",
1526
+ "700": "http://fonts.gstatic.com/s/athiti/v3/pe0sMISdLIZIv1wAsDdyAv2-C99ycg.ttf",
1527
+ "regular": "http://fonts.gstatic.com/s/athiti/v3/pe0vMISdLIZIv1w4DBhWCtaiAg.ttf"
1528
+ }
1529
+ },
1530
+ {
1531
+ "kind": "webfonts#webfont",
1532
+ "family": "Atma",
1533
+ "category": "display",
1534
+ "variants": [
1535
+ "300",
1536
+ "regular",
1537
+ "500",
1538
+ "600",
1539
+ "700"
1540
+ ],
1541
+ "subsets": [
1542
+ "latin-ext",
1543
+ "bengali",
1544
+ "latin"
1545
+ ],
1546
+ "version": "v4",
1547
+ "lastModified": "2018-12-13",
1548
+ "files": {
1549
+ "300": "http://fonts.gstatic.com/s/atma/v4/uK_z4rqWc-Eoo8JzKjc9PvedRkM.ttf",
1550
+ "500": "http://fonts.gstatic.com/s/atma/v4/uK_z4rqWc-Eoo5pyKjc9PvedRkM.ttf",
1551
+ "600": "http://fonts.gstatic.com/s/atma/v4/uK_z4rqWc-Eoo7Z1Kjc9PvedRkM.ttf",
1552
+ "700": "http://fonts.gstatic.com/s/atma/v4/uK_z4rqWc-Eoo9J0Kjc9PvedRkM.ttf",
1553
+ "regular": "http://fonts.gstatic.com/s/atma/v4/uK_84rqWc-Eom25bDj8WIv4.ttf"
1554
+ }
1555
+ },
1556
+ {
1557
+ "kind": "webfonts#webfont",
1558
+ "family": "Atomic Age",
1559
+ "category": "display",
1560
+ "variants": [
1561
+ "regular"
1562
+ ],
1563
+ "subsets": [
1564
+ "latin"
1565
+ ],
1566
+ "version": "v11",
1567
+ "lastModified": "2018-11-29",
1568
+ "files": {
1569
+ "regular": "http://fonts.gstatic.com/s/atomicage/v11/f0Xz0eug6sdmRFkYZZGL58Ht9a8GYeA.ttf"
1570
+ }
1571
+ },
1572
+ {
1573
+ "kind": "webfonts#webfont",
1574
+ "family": "Aubrey",
1575
+ "category": "display",
1576
+ "variants": [
1577
+ "regular"
1578
+ ],
1579
+ "subsets": [
1580
+ "latin"
1581
+ ],
1582
+ "version": "v11",
1583
+ "lastModified": "2018-11-29",
1584
+ "files": {
1585
+ "regular": "http://fonts.gstatic.com/s/aubrey/v11/q5uGsou7NPBw-p7vugNsCxVEgA.ttf"
1586
+ }
1587
+ },
1588
+ {
1589
+ "kind": "webfonts#webfont",
1590
+ "family": "Audiowide",
1591
+ "category": "display",
1592
+ "variants": [
1593
+ "regular"
1594
+ ],
1595
+ "subsets": [
1596
+ "latin-ext",
1597
+ "latin"
1598
+ ],
1599
+ "version": "v7",
1600
+ "lastModified": "2019-01-15",
1601
+ "files": {
1602
+ "regular": "http://fonts.gstatic.com/s/audiowide/v7/l7gdbjpo0cum0ckerWCtkQXPExpQBw.ttf"
1603
+ }
1604
+ },
1605
+ {
1606
+ "kind": "webfonts#webfont",
1607
+ "family": "Autour One",
1608
+ "category": "display",
1609
+ "variants": [
1610
+ "regular"
1611
+ ],
1612
+ "subsets": [
1613
+ "latin-ext",
1614
+ "latin"
1615
+ ],
1616
+ "version": "v8",
1617
+ "lastModified": "2018-12-13",
1618
+ "files": {
1619
+ "regular": "http://fonts.gstatic.com/s/autourone/v8/UqyVK80cP25l3fJgbdfbk5lWVscxdKE.ttf"
1620
+ }
1621
+ },
1622
+ {
1623
+ "kind": "webfonts#webfont",
1624
+ "family": "Average",
1625
+ "category": "serif",
1626
+ "variants": [
1627
+ "regular"
1628
+ ],
1629
+ "subsets": [
1630
+ "latin-ext",
1631
+ "latin"
1632
+ ],
1633
+ "version": "v7",
1634
+ "lastModified": "2019-01-10",
1635
+ "files": {
1636
+ "regular": "http://fonts.gstatic.com/s/average/v7/fC1hPYBHe23MxA7rIeJwVWytTyk.ttf"
1637
+ }
1638
+ },
1639
+ {
1640
+ "kind": "webfonts#webfont",
1641
+ "family": "Average Sans",
1642
+ "category": "sans-serif",
1643
+ "variants": [
1644
+ "regular"
1645
+ ],
1646
+ "subsets": [
1647
+ "latin-ext",
1648
+ "latin"
1649
+ ],
1650
+ "version": "v7",
1651
+ "lastModified": "2019-01-10",
1652
+ "files": {
1653
+ "regular": "http://fonts.gstatic.com/s/averagesans/v7/1Ptpg8fLXP2dlAXR-HlJJNJPBdqazVoK4A.ttf"
1654
+ }
1655
+ },
1656
+ {
1657
+ "kind": "webfonts#webfont",
1658
+ "family": "Averia Gruesa Libre",
1659
+ "category": "display",
1660
+ "variants": [
1661
+ "regular"
1662
+ ],
1663
+ "subsets": [
1664
+ "latin-ext",
1665
+ "latin"
1666
+ ],
1667
+ "version": "v7",
1668
+ "lastModified": "2018-12-13",
1669
+ "files": {
1670
+ "regular": "http://fonts.gstatic.com/s/averiagruesalibre/v7/NGSov4nEGEktOaDRKsY-1dhh8eEtIx3ZUmmJw0SLRA8.ttf"
1671
+ }
1672
+ },
1673
+ {
1674
+ "kind": "webfonts#webfont",
1675
+ "family": "Averia Libre",
1676
+ "category": "display",
1677
+ "variants": [
1678
+ "300",
1679
+ "300italic",
1680
+ "regular",
1681
+ "italic",
1682
+ "700",
1683
+ "700italic"
1684
+ ],
1685
+ "subsets": [
1686
+ "latin"
1687
+ ],
1688
+ "version": "v7",
1689
+ "lastModified": "2018-12-13",
1690
+ "files": {
1691
+ "300": "http://fonts.gstatic.com/s/averialibre/v7/2V0FKIcMGZEnV6xygz7eNjEarovtb07t-pQgTw.ttf",
1692
+ "700": "http://fonts.gstatic.com/s/averialibre/v7/2V0FKIcMGZEnV6xygz7eNjEavoztb07t-pQgTw.ttf",
1693
+ "300italic": "http://fonts.gstatic.com/s/averialibre/v7/2V0HKIcMGZEnV6xygz7eNjESAJFhbUTp2JEwT4Sk.ttf",
1694
+ "regular": "http://fonts.gstatic.com/s/averialibre/v7/2V0aKIcMGZEnV6xygz7eNjEiAqPJZ2Xx8w.ttf",
1695
+ "italic": "http://fonts.gstatic.com/s/averialibre/v7/2V0EKIcMGZEnV6xygz7eNjESAKnNRWDh8405.ttf",
1696
+ "700italic": "http://fonts.gstatic.com/s/averialibre/v7/2V0HKIcMGZEnV6xygz7eNjESAJFxakTp2JEwT4Sk.ttf"
1697
+ }
1698
+ },
1699
+ {
1700
+ "kind": "webfonts#webfont",
1701
+ "family": "Averia Sans Libre",
1702
+ "category": "display",
1703
+ "variants": [
1704
+ "300",
1705
+ "300italic",
1706
+ "regular",
1707
+ "italic",
1708
+ "700",
1709
+ "700italic"
1710
+ ],
1711
+ "subsets": [
1712
+ "latin"
1713
+ ],
1714
+ "version": "v7",
1715
+ "lastModified": "2019-01-10",
1716
+ "files": {
1717
+ "300": "http://fonts.gstatic.com/s/averiasanslibre/v7/ga6SaxZG_G5OvCf_rt7FH3B6BHLMEd3lMKcQJZP1LmD9.ttf",
1718
+ "700": "http://fonts.gstatic.com/s/averiasanslibre/v7/ga6SaxZG_G5OvCf_rt7FH3B6BHLMEd31N6cQJZP1LmD9.ttf",
1719
+ "300italic": "http://fonts.gstatic.com/s/averiasanslibre/v7/ga6caxZG_G5OvCf_rt7FH3B6BHLMEdVLKisSL5fXK3D9qtg.ttf",
1720
+ "regular": "http://fonts.gstatic.com/s/averiasanslibre/v7/ga6XaxZG_G5OvCf_rt7FH3B6BHLMEeVJGIMYDo_8.ttf",
1721
+ "italic": "http://fonts.gstatic.com/s/averiasanslibre/v7/ga6RaxZG_G5OvCf_rt7FH3B6BHLMEdVLEoc6C5_8N3k.ttf",
1722
+ "700italic": "http://fonts.gstatic.com/s/averiasanslibre/v7/ga6caxZG_G5OvCf_rt7FH3B6BHLMEdVLKjsVL5fXK3D9qtg.ttf"
1723
+ }
1724
+ },
1725
+ {
1726
+ "kind": "webfonts#webfont",
1727
+ "family": "Averia Serif Libre",
1728
+ "category": "display",
1729
+ "variants": [
1730
+ "300",
1731
+ "300italic",
1732
+ "regular",
1733
+ "italic",
1734
+ "700",
1735
+ "700italic"
1736
+ ],
1737
+ "subsets": [
1738
+ "latin"
1739
+ ],
1740
+ "version": "v8",
1741
+ "lastModified": "2019-01-10",
1742
+ "files": {
1743
+ "300": "http://fonts.gstatic.com/s/averiaseriflibre/v8/neIVzD2ms4wxr6GvjeD0X88SHPyX2xYGCSmqwacqdrKvbQ.ttf",
1744
+ "700": "http://fonts.gstatic.com/s/averiaseriflibre/v8/neIVzD2ms4wxr6GvjeD0X88SHPyX2xYGGS6qwacqdrKvbQ.ttf",
1745
+ "300italic": "http://fonts.gstatic.com/s/averiaseriflibre/v8/neIbzD2ms4wxr6GvjeD0X88SHPyX2xYOpzMmw60uVLe_bXHq.ttf",
1746
+ "regular": "http://fonts.gstatic.com/s/averiaseriflibre/v8/neIWzD2ms4wxr6GvjeD0X88SHPyX2xY-pQGOyYw2fw.ttf",
1747
+ "italic": "http://fonts.gstatic.com/s/averiaseriflibre/v8/neIUzD2ms4wxr6GvjeD0X88SHPyX2xYOpwuK64kmf6u2.ttf",
1748
+ "700italic": "http://fonts.gstatic.com/s/averiaseriflibre/v8/neIbzD2ms4wxr6GvjeD0X88SHPyX2xYOpzM2xK0uVLe_bXHq.ttf"
1749
+ }
1750
+ },
1751
+ {
1752
+ "kind": "webfonts#webfont",
1753
+ "family": "B612",
1754
+ "category": "sans-serif",
1755
+ "variants": [
1756
+ "regular",
1757
+ "italic",
1758
+ "700",
1759
+ "700italic"
1760
+ ],
1761
+ "subsets": [
1762
+ "latin"
1763
+ ],
1764
+ "version": "v2",
1765
+ "lastModified": "2019-01-10",
1766
+ "files": {
1767
+ "700": "http://fonts.gstatic.com/s/b612/v2/3Jn9SDDxiSz34oWXPDCLTXUETuE.ttf",
1768
+ "regular": "http://fonts.gstatic.com/s/b612/v2/3JnySDDxiSz32jm4GDigUXw.ttf",
1769
+ "italic": "http://fonts.gstatic.com/s/b612/v2/3Jn8SDDxiSz36juyHBqlQXwdVw.ttf",
1770
+ "700italic": "http://fonts.gstatic.com/s/b612/v2/3Jn_SDDxiSz36juKoDWBSVcBXuFb0Q.ttf"
1771
+ }
1772
+ },
1773
+ {
1774
+ "kind": "webfonts#webfont",
1775
+ "family": "B612 Mono",
1776
+ "category": "monospace",
1777
+ "variants": [
1778
+ "regular",
1779
+ "italic",
1780
+ "700",
1781
+ "700italic"
1782
+ ],
1783
+ "subsets": [
1784
+ "latin"
1785
+ ],
1786
+ "version": "v2",
1787
+ "lastModified": "2019-01-10",
1788
+ "files": {
1789
+ "700": "http://fonts.gstatic.com/s/b612mono/v2/kmK6Zq85QVWbN1eW6lJdayv4os9Pv7JGSg.ttf",
1790
+ "regular": "http://fonts.gstatic.com/s/b612mono/v2/kmK_Zq85QVWbN1eW6lJl1wTcquRTtg.ttf",
1791
+ "italic": "http://fonts.gstatic.com/s/b612mono/v2/kmK5Zq85QVWbN1eW6lJV1Q7YiOFDtqtf.ttf",
1792
+ "700italic": "http://fonts.gstatic.com/s/b612mono/v2/kmKkZq85QVWbN1eW6lJV1TZkp8VLnbdWSg4x.ttf"
1793
+ }
1794
+ },
1795
+ {
1796
+ "kind": "webfonts#webfont",
1797
+ "family": "Bad Script",
1798
+ "category": "handwriting",
1799
+ "variants": [
1800
+ "regular"
1801
+ ],
1802
+ "subsets": [
1803
+ "cyrillic",
1804
+ "latin"
1805
+ ],
1806
+ "version": "v7",
1807
+ "lastModified": "2019-01-15",
1808
+ "files": {
1809
+ "regular": "http://fonts.gstatic.com/s/badscript/v7/6NUT8F6PJgbFWQn47_x7lOwuzd1AZtw.ttf"
1810
+ }
1811
+ },
1812
+ {
1813
+ "kind": "webfonts#webfont",
1814
+ "family": "Bahiana",
1815
+ "category": "display",
1816
+ "variants": [
1817
+ "regular"
1818
+ ],
1819
+ "subsets": [
1820
+ "latin-ext",
1821
+ "latin"
1822
+ ],
1823
+ "version": "v3",
1824
+ "lastModified": "2018-12-13",
1825
+ "files": {
1826
+ "regular": "http://fonts.gstatic.com/s/bahiana/v3/uU9PCBUV4YenPWJU7xPb3vyHmlI.ttf"
1827
+ }
1828
+ },
1829
+ {
1830
+ "kind": "webfonts#webfont",
1831
+ "family": "Bai Jamjuree",
1832
+ "category": "sans-serif",
1833
+ "variants": [
1834
+ "200",
1835
+ "200italic",
1836
+ "300",
1837
+ "300italic",
1838
+ "regular",
1839
+ "italic",
1840
+ "500",
1841
+ "500italic",
1842
+ "600",
1843
+ "600italic",
1844
+ "700",
1845
+ "700italic"
1846
+ ],
1847
+ "subsets": [
1848
+ "latin-ext",
1849
+ "thai",
1850
+ "vietnamese",
1851
+ "latin"
1852
+ ],
1853
+ "version": "v2",
1854
+ "lastModified": "2019-01-10",
1855
+ "files": {
1856
+ "200": "http://fonts.gstatic.com/s/baijamjuree/v2/LDIqapSCOBt_aeQQ7ftydoa0kePuk5A1-yiSgA.ttf",
1857
+ "300": "http://fonts.gstatic.com/s/baijamjuree/v2/LDIqapSCOBt_aeQQ7ftydoa09eDuk5A1-yiSgA.ttf",
1858
+ "500": "http://fonts.gstatic.com/s/baijamjuree/v2/LDIqapSCOBt_aeQQ7ftydoa0reHuk5A1-yiSgA.ttf",
1859
+ "600": "http://fonts.gstatic.com/s/baijamjuree/v2/LDIqapSCOBt_aeQQ7ftydoa0gebuk5A1-yiSgA.ttf",
1860
+ "700": "http://fonts.gstatic.com/s/baijamjuree/v2/LDIqapSCOBt_aeQQ7ftydoa05efuk5A1-yiSgA.ttf",
1861
+ "200italic": "http://fonts.gstatic.com/s/baijamjuree/v2/LDIoapSCOBt_aeQQ7ftydoa8W_oGkpox2S2CgOva.ttf",
1862
+ "300italic": "http://fonts.gstatic.com/s/baijamjuree/v2/LDIoapSCOBt_aeQQ7ftydoa8W_pikZox2S2CgOva.ttf",
1863
+ "regular": "http://fonts.gstatic.com/s/baijamjuree/v2/LDI1apSCOBt_aeQQ7ftydoaMWcjKm7sp8g.ttf",
1864
+ "italic": "http://fonts.gstatic.com/s/baijamjuree/v2/LDIrapSCOBt_aeQQ7ftydoa8W8LOub458jGL.ttf",
1865
+ "500italic": "http://fonts.gstatic.com/s/baijamjuree/v2/LDIoapSCOBt_aeQQ7ftydoa8W_o6kJox2S2CgOva.ttf",
1866
+ "600italic": "http://fonts.gstatic.com/s/baijamjuree/v2/LDIoapSCOBt_aeQQ7ftydoa8W_oWl5ox2S2CgOva.ttf",
1867
+ "700italic": "http://fonts.gstatic.com/s/baijamjuree/v2/LDIoapSCOBt_aeQQ7ftydoa8W_pylpox2S2CgOva.ttf"
1868
+ }
1869
+ },
1870
+ {
1871
+ "kind": "webfonts#webfont",
1872
+ "family": "Baloo",
1873
+ "category": "display",
1874
+ "variants": [
1875
+ "regular"
1876
+ ],
1877
+ "subsets": [
1878
+ "latin-ext",
1879
+ "devanagari",
1880
+ "vietnamese",
1881
+ "latin"
1882
+ ],
1883
+ "version": "v4",
1884
+ "lastModified": "2019-01-15",
1885
+ "files": {
1886
+ "regular": "http://fonts.gstatic.com/s/baloo/v4/6xKhdSpJJ92I9PWIAG_5LWwJ.ttf"
1887
+ }
1888
+ },
1889
+ {
1890
+ "kind": "webfonts#webfont",
1891
+ "family": "Baloo Bhai",
1892
+ "category": "display",
1893
+ "variants": [
1894
+ "regular"
1895
+ ],
1896
+ "subsets": [
1897
+ "latin-ext",
1898
+ "gujarati",
1899
+ "vietnamese",
1900
+ "latin"
1901
+ ],
1902
+ "version": "v4",
1903
+ "lastModified": "2018-12-13",
1904
+ "files": {
1905
+ "regular": "http://fonts.gstatic.com/s/baloobhai/v4/ZgNWjP5GM7bCUdmXgWyVjGXEM4COoE4.ttf"
1906
+ }
1907
+ },
1908
+ {
1909
+ "kind": "webfonts#webfont",
1910
+ "family": "Baloo Bhaijaan",
1911
+ "category": "display",
1912
+ "variants": [
1913
+ "regular"
1914
+ ],
1915
+ "subsets": [
1916
+ "arabic",
1917
+ "latin-ext",
1918
+ "vietnamese",
1919
+ "latin"
1920
+ ],
1921
+ "version": "v5",
1922
+ "lastModified": "2019-01-10",
1923
+ "files": {
1924
+ "regular": "http://fonts.gstatic.com/s/baloobhaijaan/v5/RWmRoKCU5fcqq8fOWNzFLqSjx4ECJmVjC0-V.ttf"
1925
+ }
1926
+ },
1927
+ {
1928
+ "kind": "webfonts#webfont",
1929
+ "family": "Baloo Bhaina",
1930
+ "category": "display",
1931
+ "variants": [
1932
+ "regular"
1933
+ ],
1934
+ "subsets": [
1935
+ "latin-ext",
1936
+ "oriya",
1937
+ "vietnamese",
1938
+ "latin"
1939
+ ],
1940
+ "version": "v4",
1941
+ "lastModified": "2019-01-10",
1942
+ "files": {
1943
+ "regular": "http://fonts.gstatic.com/s/baloobhaina/v4/Noa16Uzzzp2FIkfhq5vm9thxPAR9mhHobg.ttf"
1944
+ }
1945
+ },
1946
+ {
1947
+ "kind": "webfonts#webfont",
1948
+ "family": "Baloo Chettan",
1949
+ "category": "display",
1950
+ "variants": [
1951
+ "regular"
1952
+ ],
1953
+ "subsets": [
1954
+ "latin-ext",
1955
+ "malayalam",
1956
+ "vietnamese",
1957
+ "latin"
1958
+ ],
1959
+ "version": "v4",
1960
+ "lastModified": "2018-12-13",
1961
+ "files": {
1962
+ "regular": "http://fonts.gstatic.com/s/baloochettan/v4/0QImMXRN8o2gTC2YTr4665DA07z8_ApHqqk.ttf"
1963
+ }
1964
+ },
1965
+ {
1966
+ "kind": "webfonts#webfont",
1967
+ "family": "Baloo Da",
1968
+ "category": "display",
1969
+ "variants": [
1970
+ "regular"
1971
+ ],
1972
+ "subsets": [
1973
+ "latin-ext",
1974
+ "vietnamese",
1975
+ "bengali",
1976
+ "latin"
1977
+ ],
1978
+ "version": "v4",
1979
+ "lastModified": "2018-12-13",
1980
+ "files": {
1981
+ "regular": "http://fonts.gstatic.com/s/balooda/v4/LhWmMVnXOfIZO795FXkfSvtVM8mZ.ttf"
1982
+ }
1983
+ },
1984
+ {
1985
+ "kind": "webfonts#webfont",
1986
+ "family": "Baloo Paaji",
1987
+ "category": "display",
1988
+ "variants": [
1989
+ "regular"
1990
+ ],
1991
+ "subsets": [
1992
+ "latin-ext",
1993
+ "gurmukhi",
1994
+ "vietnamese",
1995
+ "latin"
1996
+ ],
1997
+ "version": "v5",
1998
+ "lastModified": "2019-01-10",
1999
+ "files": {
2000
+ "regular": "http://fonts.gstatic.com/s/baloopaaji/v5/8AttGsyxM5KQQU-Y4MTwVZnToxvQBiot.ttf"
2001
+ }
2002
+ },
2003
+ {
2004
+ "kind": "webfonts#webfont",
2005
+ "family": "Baloo Tamma",
2006
+ "category": "display",
2007
+ "variants": [
2008
+ "regular"
2009
+ ],
2010
+ "subsets": [
2011
+ "latin-ext",
2012
+ "kannada",
2013
+ "vietnamese",
2014
+ "latin"
2015
+ ],
2016
+ "version": "v5",
2017
+ "lastModified": "2019-01-10",
2018
+ "files": {
2019
+ "regular": "http://fonts.gstatic.com/s/balootamma/v5/JTUTjIk68Cy27gWhOWIghE5B5Arr-s50.ttf"
2020
+ }
2021
+ },
2022
+ {
2023
+ "kind": "webfonts#webfont",
2024
+ "family": "Baloo Tammudu",
2025
+ "category": "display",
2026
+ "variants": [
2027
+ "regular"
2028
+ ],
2029
+ "subsets": [
2030
+ "latin-ext",
2031
+ "telugu",
2032
+ "vietnamese",
2033
+ "latin"
2034
+ ],
2035
+ "version": "v5",
2036
+ "lastModified": "2018-12-13",
2037
+ "files": {
2038
+ "regular": "http://fonts.gstatic.com/s/balootammudu/v5/mFT3Wb8Qza7c_Z5HTsC_5nxW8EpQl9RWxD8.ttf"
2039
+ }
2040
+ },
2041
+ {
2042
+ "kind": "webfonts#webfont",
2043
+ "family": "Baloo Thambi",
2044
+ "category": "display",
2045
+ "variants": [
2046
+ "regular"
2047
+ ],
2048
+ "subsets": [
2049
+ "latin-ext",
2050
+ "tamil",
2051
+ "vietnamese",
2052
+ "latin"
2053
+ ],
2054
+ "version": "v4",
2055
+ "lastModified": "2018-12-13",
2056
+ "files": {
2057
+ "regular": "http://fonts.gstatic.com/s/baloothambi/v4/va9B4kXJzNhTFoA7CYcS8sHuQR37fF3Wlg.ttf"
2058
+ }
2059
+ },
2060
+ {
2061
+ "kind": "webfonts#webfont",
2062
+ "family": "Balthazar",
2063
+ "category": "serif",
2064
+ "variants": [
2065
+ "regular"
2066
+ ],
2067
+ "subsets": [
2068
+ "latin"
2069
+ ],
2070
+ "version": "v8",
2071
+ "lastModified": "2019-01-10",
2072
+ "files": {
2073
+ "regular": "http://fonts.gstatic.com/s/balthazar/v8/d6lKkaajS8Gm4CVQjFEvyRTo39l8hw.ttf"
2074
+ }
2075
+ },
2076
+ {
2077
+ "kind": "webfonts#webfont",
2078
+ "family": "Bangers",
2079
+ "category": "display",
2080
+ "variants": [
2081
+ "regular"
2082
+ ],
2083
+ "subsets": [
2084
+ "latin-ext",
2085
+ "vietnamese",
2086
+ "latin"
2087
+ ],
2088
+ "version": "v11",
2089
+ "lastModified": "2019-01-15",
2090
+ "files": {
2091
+ "regular": "http://fonts.gstatic.com/s/bangers/v11/FeVQS0BTqb0h60ACL5la2bxii28.ttf"
2092
+ }
2093
+ },
2094
+ {
2095
+ "kind": "webfonts#webfont",
2096
+ "family": "Barlow",
2097
+ "category": "sans-serif",
2098
+ "variants": [
2099
+ "100",
2100
+ "100italic",
2101
+ "200",
2102
+ "200italic",
2103
+ "300",
2104
+ "300italic",
2105
+ "regular",
2106
+ "italic",
2107
+ "500",
2108
+ "500italic",
2109
+ "600",
2110
+ "600italic",
2111
+ "700",
2112
+ "700italic",
2113
+ "800",
2114
+ "800italic",
2115
+ "900",
2116
+ "900italic"
2117
+ ],
2118
+ "subsets": [
2119
+ "latin-ext",
2120
+ "vietnamese",
2121
+ "latin"
2122
+ ],
2123
+ "version": "v3",
2124
+ "lastModified": "2019-01-15",
2125
+ "files": {
2126
+ "100": "http://fonts.gstatic.com/s/barlow/v3/7cHrv4kjgoGqM7E3b8s8yn4hnCci.ttf",
2127
+ "200": "http://fonts.gstatic.com/s/barlow/v3/7cHqv4kjgoGqM7E3w-oc4FAtlT47dw.ttf",
2128
+ "300": "http://fonts.gstatic.com/s/barlow/v3/7cHqv4kjgoGqM7E3p-kc4FAtlT47dw.ttf",
2129
+ "500": "http://fonts.gstatic.com/s/barlow/v3/7cHqv4kjgoGqM7E3_-gc4FAtlT47dw.ttf",
2130
+ "600": "http://fonts.gstatic.com/s/barlow/v3/7cHqv4kjgoGqM7E30-8c4FAtlT47dw.ttf",
2131
+ "700": "http://fonts.gstatic.com/s/barlow/v3/7cHqv4kjgoGqM7E3t-4c4FAtlT47dw.ttf",
2132
+ "800": "http://fonts.gstatic.com/s/barlow/v3/7cHqv4kjgoGqM7E3q-0c4FAtlT47dw.ttf",
2133
+ "900": "http://fonts.gstatic.com/s/barlow/v3/7cHqv4kjgoGqM7E3j-wc4FAtlT47dw.ttf",
2134
+ "100italic": "http://fonts.gstatic.com/s/barlow/v3/7cHtv4kjgoGqM7E_CfNYwHoDmTcibrA.ttf",
2135
+ "200italic": "http://fonts.gstatic.com/s/barlow/v3/7cHsv4kjgoGqM7E_CfP04Voptzsrd6m9.ttf",
2136
+ "300italic": "http://fonts.gstatic.com/s/barlow/v3/7cHsv4kjgoGqM7E_CfOQ4loptzsrd6m9.ttf",
2137
+ "regular": "http://fonts.gstatic.com/s/barlow/v3/7cHpv4kjgoGqM7EPC8E46HsxnA.ttf",
2138
+ "italic": "http://fonts.gstatic.com/s/barlow/v3/7cHrv4kjgoGqM7E_Ccs8yn4hnCci.ttf",
2139
+ "500italic": "http://fonts.gstatic.com/s/barlow/v3/7cHsv4kjgoGqM7E_CfPI41optzsrd6m9.ttf",
2140
+ "600italic": "http://fonts.gstatic.com/s/barlow/v3/7cHsv4kjgoGqM7E_CfPk5Foptzsrd6m9.ttf",
2141
+ "700italic": "http://fonts.gstatic.com/s/barlow/v3/7cHsv4kjgoGqM7E_CfOA5Voptzsrd6m9.ttf",
2142
+ "800italic": "http://fonts.gstatic.com/s/barlow/v3/7cHsv4kjgoGqM7E_CfOc5loptzsrd6m9.ttf",
2143
+ "900italic": "http://fonts.gstatic.com/s/barlow/v3/7cHsv4kjgoGqM7E_CfO451optzsrd6m9.ttf"
2144
+ }
2145
+ },
2146
+ {
2147
+ "kind": "webfonts#webfont",
2148
+ "family": "Barlow Condensed",
2149
+ "category": "sans-serif",
2150
+ "variants": [
2151
+ "100",
2152
+ "100italic",
2153
+ "200",
2154
+ "200italic",
2155
+ "300",
2156
+ "300italic",
2157
+ "regular",
2158
+ "italic",
2159
+ "500",
2160
+ "500italic",
2161
+ "600",
2162
+ "600italic",
2163
+ "700",
2164
+ "700italic",
2165
+ "800",
2166
+ "800italic",
2167
+ "900",
2168
+ "900italic"
2169
+ ],
2170
+ "subsets": [
2171
+ "latin-ext",
2172
+ "vietnamese",
2173
+ "latin"
2174
+ ],
2175
+ "version": "v3",
2176
+ "lastModified": "2019-01-15",
2177
+ "files": {
2178
+ "100": "http://fonts.gstatic.com/s/barlowcondensed/v3/HTxxL3I-JCGChYJ8VI-L6OO_au7B43LT31vytKgbaw.ttf",
2179
+ "200": "http://fonts.gstatic.com/s/barlowcondensed/v3/HTxwL3I-JCGChYJ8VI-L6OO_au7B497y_3HcuKECcrs.ttf",
2180
+ "300": "http://fonts.gstatic.com/s/barlowcondensed/v3/HTxwL3I-JCGChYJ8VI-L6OO_au7B47rx_3HcuKECcrs.ttf",
2181
+ "500": "http://fonts.gstatic.com/s/barlowcondensed/v3/HTxwL3I-JCGChYJ8VI-L6OO_au7B4-Lw_3HcuKECcrs.ttf",
2182
+ "600": "http://fonts.gstatic.com/s/barlowcondensed/v3/HTxwL3I-JCGChYJ8VI-L6OO_au7B4873_3HcuKECcrs.ttf",
2183
+ "700": "http://fonts.gstatic.com/s/barlowcondensed/v3/HTxwL3I-JCGChYJ8VI-L6OO_au7B46r2_3HcuKECcrs.ttf",
2184
+ "800": "http://fonts.gstatic.com/s/barlowcondensed/v3/HTxwL3I-JCGChYJ8VI-L6OO_au7B47b1_3HcuKECcrs.ttf",
2185
+ "900": "http://fonts.gstatic.com/s/barlowcondensed/v3/HTxwL3I-JCGChYJ8VI-L6OO_au7B45L0_3HcuKECcrs.ttf",
2186
+ "100italic": "http://fonts.gstatic.com/s/barlowcondensed/v3/HTxzL3I-JCGChYJ8VI-L6OO_au7B6xTru1H2lq0La6JN.ttf",
2187
+ "200italic": "http://fonts.gstatic.com/s/barlowcondensed/v3/HTxyL3I-JCGChYJ8VI-L6OO_au7B6xTrF3DWvIMHYrtUxg.ttf",
2188
+ "300italic": "http://fonts.gstatic.com/s/barlowcondensed/v3/HTxyL3I-JCGChYJ8VI-L6OO_au7B6xTrc3PWvIMHYrtUxg.ttf",
2189
+ "regular": "http://fonts.gstatic.com/s/barlowcondensed/v3/HTx3L3I-JCGChYJ8VI-L6OO_au7B2xbZ23n3pKg.ttf",
2190
+ "italic": "http://fonts.gstatic.com/s/barlowcondensed/v3/HTxxL3I-JCGChYJ8VI-L6OO_au7B6xTT31vytKgbaw.ttf",
2191
+ "500italic": "http://fonts.gstatic.com/s/barlowcondensed/v3/HTxyL3I-JCGChYJ8VI-L6OO_au7B6xTrK3LWvIMHYrtUxg.ttf",
2192
+ "600italic": "http://fonts.gstatic.com/s/barlowcondensed/v3/HTxyL3I-JCGChYJ8VI-L6OO_au7B6xTrB3XWvIMHYrtUxg.ttf",
2193
+ "700italic": "http://fonts.gstatic.com/s/barlowcondensed/v3/HTxyL3I-JCGChYJ8VI-L6OO_au7B6xTrY3TWvIMHYrtUxg.ttf",
2194
+ "800italic": "http://fonts.gstatic.com/s/barlowcondensed/v3/HTxyL3I-JCGChYJ8VI-L6OO_au7B6xTrf3fWvIMHYrtUxg.ttf",
2195
+ "900italic": "http://fonts.gstatic.com/s/barlowcondensed/v3/HTxyL3I-JCGChYJ8VI-L6OO_au7B6xTrW3bWvIMHYrtUxg.ttf"
2196
+ }
2197
+ },
2198
+ {
2199
+ "kind": "webfonts#webfont",
2200
+ "family": "Barlow Semi Condensed",
2201
+ "category": "sans-serif",
2202
+ "variants": [
2203
+ "100",
2204
+ "100italic",
2205
+ "200",
2206
+ "200italic",
2207
+ "300",
2208
+ "300italic",
2209
+ "regular",
2210
+ "italic",
2211
+ "500",
2212
+ "500italic",
2213
+ "600",
2214
+ "600italic",
2215
+ "700",
2216
+ "700italic",
2217
+ "800",
2218
+ "800italic",
2219
+ "900",
2220
+ "900italic"
2221
+ ],
2222
+ "subsets": [
2223
+ "latin-ext",
2224
+ "vietnamese",
2225
+ "latin"
2226
+ ],
2227
+ "version": "v4",
2228
+ "lastModified": "2019-01-15",
2229
+ "files": {
2230
+ "100": "http://fonts.gstatic.com/s/barlowsemicondensed/v4/wlphgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRfG4qvKk8ogoSP.ttf",
2231
+ "200": "http://fonts.gstatic.com/s/barlowsemicondensed/v4/wlpigxjLBV1hqnzfr-F8sEYMB0Yybp0mudRft6uPAGEki52WfA.ttf",
2232
+ "300": "http://fonts.gstatic.com/s/barlowsemicondensed/v4/wlpigxjLBV1hqnzfr-F8sEYMB0Yybp0mudRf06iPAGEki52WfA.ttf",
2233
+ "500": "http://fonts.gstatic.com/s/barlowsemicondensed/v4/wlpigxjLBV1hqnzfr-F8sEYMB0Yybp0mudRfi6mPAGEki52WfA.ttf",
2234
+ "600": "http://fonts.gstatic.com/s/barlowsemicondensed/v4/wlpigxjLBV1hqnzfr-F8sEYMB0Yybp0mudRfp66PAGEki52WfA.ttf",
2235
+ "700": "http://fonts.gstatic.com/s/barlowsemicondensed/v4/wlpigxjLBV1hqnzfr-F8sEYMB0Yybp0mudRfw6-PAGEki52WfA.ttf",
2236
+ "800": "http://fonts.gstatic.com/s/barlowsemicondensed/v4/wlpigxjLBV1hqnzfr-F8sEYMB0Yybp0mudRf36yPAGEki52WfA.ttf",
2237
+ "900": "http://fonts.gstatic.com/s/barlowsemicondensed/v4/wlpigxjLBV1hqnzfr-F8sEYMB0Yybp0mudRf-62PAGEki52WfA.ttf",
2238
+ "100italic": "http://fonts.gstatic.com/s/barlowsemicondensed/v4/wlpjgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRXfbLLIEsKh5SPZWs.ttf",
2239
+ "200italic": "http://fonts.gstatic.com/s/barlowsemicondensed/v4/wlpkgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRXfbJnAWsgqZiGfHK5.ttf",
2240
+ "300italic": "http://fonts.gstatic.com/s/barlowsemicondensed/v4/wlpkgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRXfbIDAmsgqZiGfHK5.ttf",
2241
+ "regular": "http://fonts.gstatic.com/s/barlowsemicondensed/v4/wlpvgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRnf4CrCEo4gg.ttf",
2242
+ "italic": "http://fonts.gstatic.com/s/barlowsemicondensed/v4/wlphgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRXfYqvKk8ogoSP.ttf",
2243
+ "500italic": "http://fonts.gstatic.com/s/barlowsemicondensed/v4/wlpkgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRXfbJbA2sgqZiGfHK5.ttf",
2244
+ "600italic": "http://fonts.gstatic.com/s/barlowsemicondensed/v4/wlpkgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRXfbJ3BGsgqZiGfHK5.ttf",
2245
+ "700italic": "http://fonts.gstatic.com/s/barlowsemicondensed/v4/wlpkgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRXfbITBWsgqZiGfHK5.ttf",
2246
+ "800italic": "http://fonts.gstatic.com/s/barlowsemicondensed/v4/wlpkgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRXfbIPBmsgqZiGfHK5.ttf",
2247
+ "900italic": "http://fonts.gstatic.com/s/barlowsemicondensed/v4/wlpkgxjLBV1hqnzfr-F8sEYMB0Yybp0mudRXfbIrB2sgqZiGfHK5.ttf"
2248
+ }
2249
+ },
2250
+ {
2251
+ "kind": "webfonts#webfont",
2252
+ "family": "Barrio",
2253
+ "category": "display",
2254
+ "variants": [
2255
+ "regular"
2256
+ ],
2257
+ "subsets": [
2258
+ "latin-ext",
2259
+ "latin"
2260
+ ],
2261
+ "version": "v3",
2262
+ "lastModified": "2018-12-13",
2263
+ "files": {
2264
+ "regular": "http://fonts.gstatic.com/s/barrio/v3/wEO8EBXBk8hBIDiEdQYhWdsX1Q.ttf"
2265
+ }
2266
+ },
2267
+ {
2268
+ "kind": "webfonts#webfont",
2269
+ "family": "Basic",
2270
+ "category": "sans-serif",
2271
+ "variants": [
2272
+ "regular"
2273
+ ],
2274
+ "subsets": [
2275
+ "latin-ext",
2276
+ "latin"
2277
+ ],
2278
+ "version": "v8",
2279
+ "lastModified": "2019-01-15",
2280
+ "files": {
2281
+ "regular": "http://fonts.gstatic.com/s/basic/v8/xfu_0WLxV2_XKQN34lDVyR7D.ttf"
2282
+ }
2283
+ },
2284
+ {
2285
+ "kind": "webfonts#webfont",
2286
+ "family": "Battambang",
2287
+ "category": "display",
2288
+ "variants": [
2289
+ "regular",
2290
+ "700"
2291
+ ],
2292
+ "subsets": [
2293
+ "khmer"
2294
+ ],
2295
+ "version": "v12",
2296
+ "lastModified": "2019-01-10",
2297
+ "files": {
2298
+ "700": "http://fonts.gstatic.com/s/battambang/v12/uk-lEGe7raEw-HjkzZabNsmMxyRa8oZK9I0.ttf",
2299
+ "regular": "http://fonts.gstatic.com/s/battambang/v12/uk-mEGe7raEw-HjkzZabDnWj4yxx7o8.ttf"
2300
+ }
2301
+ },
2302
+ {
2303
+ "kind": "webfonts#webfont",
2304
+ "family": "Baumans",
2305
+ "category": "display",
2306
+ "variants": [
2307
+ "regular"
2308
+ ],
2309
+ "subsets": [
2310
+ "latin"
2311
+ ],
2312
+ "version": "v8",
2313
+ "lastModified": "2019-01-10",
2314
+ "files": {
2315
+ "regular": "http://fonts.gstatic.com/s/baumans/v8/-W_-XJj9QyTd3QfpR_oyaksqY5Q.ttf"
2316
+ }
2317
+ },
2318
+ {
2319
+ "kind": "webfonts#webfont",
2320
+ "family": "Bayon",
2321
+ "category": "display",
2322
+ "variants": [
2323
+ "regular"
2324
+ ],
2325
+ "subsets": [
2326
+ "khmer"
2327
+ ],
2328
+ "version": "v12",
2329
+ "lastModified": "2018-12-13",
2330
+ "files": {
2331
+ "regular": "http://fonts.gstatic.com/s/bayon/v12/9XUrlJNmn0LPFl-pOhYEd2NJ.ttf"
2332
+ }
2333
+ },
2334
+ {
2335
+ "kind": "webfonts#webfont",
2336
+ "family": "Belgrano",
2337
+ "category": "serif",
2338
+ "variants": [
2339
+ "regular"
2340
+ ],
2341
+ "subsets": [
2342
+ "latin"
2343
+ ],
2344
+ "version": "v9",
2345
+ "lastModified": "2019-01-10",
2346
+ "files": {
2347
+ "regular": "http://fonts.gstatic.com/s/belgrano/v9/55xvey5tM9rwKWrJZcMFirl08KDJ.ttf"
2348
+ }
2349
+ },
2350
+ {
2351
+ "kind": "webfonts#webfont",
2352
+ "family": "Bellefair",
2353
+ "category": "serif",
2354
+ "variants": [
2355
+ "regular"
2356
+ ],
2357
+ "subsets": [
2358
+ "hebrew",
2359
+ "latin-ext",
2360
+ "latin"
2361
+ ],
2362
+ "version": "v4",
2363
+ "lastModified": "2018-12-13",
2364
+ "files": {
2365
+ "regular": "http://fonts.gstatic.com/s/bellefair/v4/kJExBuYY6AAuhiXUxG19__A2pOdvDA.ttf"
2366
+ }
2367
+ },
2368
+ {
2369
+ "kind": "webfonts#webfont",
2370
+ "family": "Belleza",
2371
+ "category": "sans-serif",
2372
+ "variants": [
2373
+ "regular"
2374
+ ],
2375
+ "subsets": [
2376
+ "latin-ext",
2377
+ "latin"
2378
+ ],
2379
+ "version": "v7",
2380
+ "lastModified": "2019-01-10",
2381
+ "files": {
2382
+ "regular": "http://fonts.gstatic.com/s/belleza/v7/0nkoC9_pNeMfhX4BtcbyawzruP8.ttf"
2383
+ }
2384
+ },
2385
+ {
2386
+ "kind": "webfonts#webfont",
2387
+ "family": "BenchNine",
2388
+ "category": "sans-serif",
2389
+ "variants": [
2390
+ "300",
2391
+ "regular",
2392
+ "700"
2393
+ ],
2394
+ "subsets": [
2395
+ "latin-ext",
2396
+ "latin"
2397
+ ],
2398
+ "version": "v7",
2399
+ "lastModified": "2019-01-15",
2400
+ "files": {
2401
+ "300": "http://fonts.gstatic.com/s/benchnine/v7/ahcev8612zF4jxrwMosT--tRhWa8q0v8ag.ttf",
2402
+ "700": "http://fonts.gstatic.com/s/benchnine/v7/ahcev8612zF4jxrwMosT6-xRhWa8q0v8ag.ttf",
2403
+ "regular": "http://fonts.gstatic.com/s/benchnine/v7/ahcbv8612zF4jxrwMosrV8N1jU2gog.ttf"
2404
+ }
2405
+ },
2406
+ {
2407
+ "kind": "webfonts#webfont",
2408
+ "family": "Bentham",
2409
+ "category": "serif",
2410
+ "variants": [
2411
+ "regular"
2412
+ ],
2413
+ "subsets": [
2414
+ "latin"
2415
+ ],
2416
+ "version": "v9",
2417
+ "lastModified": "2019-01-10",
2418
+ "files": {
2419
+ "regular": "http://fonts.gstatic.com/s/bentham/v9/VdGeAZQPEpYfmHglKWw7CJaK_y4.ttf"
2420
+ }
2421
+ },
2422
+ {
2423
+ "kind": "webfonts#webfont",
2424
+ "family": "Berkshire Swash",
2425
+ "category": "handwriting",
2426
+ "variants": [
2427
+ "regular"
2428
+ ],
2429
+ "subsets": [
2430
+ "latin-ext",
2431
+ "latin"
2432
+ ],
2433
+ "version": "v7",
2434
+ "lastModified": "2019-01-10",
2435
+ "files": {
2436
+ "regular": "http://fonts.gstatic.com/s/berkshireswash/v7/ptRRTi-cavZOGqCvnNJDl5m5XmNPrcQybX4pQA.ttf"
2437
+ }
2438
+ },
2439
+ {
2440
+ "kind": "webfonts#webfont",
2441
+ "family": "Bevan",
2442
+ "category": "display",
2443
+ "variants": [
2444
+ "regular"
2445
+ ],
2446
+ "subsets": [
2447
+ "latin-ext",
2448
+ "vietnamese",
2449
+ "latin"
2450
+ ],
2451
+ "version": "v10",
2452
+ "lastModified": "2019-01-15",
2453
+ "files": {
2454
+ "regular": "http://fonts.gstatic.com/s/bevan/v10/4iCj6KZ0a9NXjF8aUir7tlSJ.ttf"
2455
+ }
2456
+ },
2457
+ {
2458
+ "kind": "webfonts#webfont",
2459
+ "family": "Bigelow Rules",
2460
+ "category": "display",
2461
+ "variants": [
2462
+ "regular"
2463
+ ],
2464
+ "subsets": [
2465
+ "latin-ext",
2466
+ "latin"
2467
+ ],
2468
+ "version": "v7",
2469
+ "lastModified": "2018-11-29",
2470
+ "files": {
2471
+ "regular": "http://fonts.gstatic.com/s/bigelowrules/v7/RrQWboly8iR_I3KWSzeRuN0zT4cCH8WAJVk.ttf"
2472
+ }
2473
+ },
2474
+ {
2475
+ "kind": "webfonts#webfont",
2476
+ "family": "Bigshot One",
2477
+ "category": "display",
2478
+ "variants": [
2479
+ "regular"
2480
+ ],
2481
+ "subsets": [
2482
+ "latin"
2483
+ ],
2484
+ "version": "v9",
2485
+ "lastModified": "2018-12-13",
2486
+ "files": {
2487
+ "regular": "http://fonts.gstatic.com/s/bigshotone/v9/u-470qukhRkkO6BD_7cM_gxuUQJBXv_-.ttf"
2488
+ }
2489
+ },
2490
+ {
2491
+ "kind": "webfonts#webfont",
2492
+ "family": "Bilbo",
2493
+ "category": "handwriting",
2494
+ "variants": [
2495
+ "regular"
2496
+ ],
2497
+ "subsets": [
2498
+ "latin-ext",
2499
+ "latin"
2500
+ ],
2501
+ "version": "v8",
2502
+ "lastModified": "2018-12-13",
2503
+ "files": {
2504
+ "regular": "http://fonts.gstatic.com/s/bilbo/v8/o-0EIpgpwWwZ210hpIRz4wxE.ttf"
2505
+ }
2506
+ },
2507
+ {
2508
+ "kind": "webfonts#webfont",
2509
+ "family": "Bilbo Swash Caps",
2510
+ "category": "handwriting",
2511
+ "variants": [
2512
+ "regular"
2513
+ ],
2514
+ "subsets": [
2515
+ "latin-ext",
2516
+ "latin"
2517
+ ],
2518
+ "version": "v11",
2519
+ "lastModified": "2019-01-10",
2520
+ "files": {
2521
+ "regular": "http://fonts.gstatic.com/s/bilboswashcaps/v11/zrf-0GXbz-H3Wb4XBsGrTgq2PVmdqAPopiRfKp8.ttf"
2522
+ }
2523
+ },
2524
+ {
2525
+ "kind": "webfonts#webfont",
2526
+ "family": "BioRhyme",
2527
+ "category": "serif",
2528
+ "variants": [
2529
+ "200",
2530
+ "300",
2531
+ "regular",
2532
+ "700",
2533
+ "800"
2534
+ ],
2535
+ "subsets": [
2536
+ "latin-ext",
2537
+ "latin"
2538
+ ],
2539
+ "version": "v3",
2540
+ "lastModified": "2018-12-13",
2541
+ "files": {
2542
+ "200": "http://fonts.gstatic.com/s/biorhyme/v3/1cX3aULHBpDMsHYW_ESOjnGAq8Sk1PoH.ttf",
2543
+ "300": "http://fonts.gstatic.com/s/biorhyme/v3/1cX3aULHBpDMsHYW_ETqjXGAq8Sk1PoH.ttf",
2544
+ "700": "http://fonts.gstatic.com/s/biorhyme/v3/1cX3aULHBpDMsHYW_ET6inGAq8Sk1PoH.ttf",
2545
+ "800": "http://fonts.gstatic.com/s/biorhyme/v3/1cX3aULHBpDMsHYW_ETmiXGAq8Sk1PoH.ttf",
2546
+ "regular": "http://fonts.gstatic.com/s/biorhyme/v3/1cXwaULHBpDMsHYW_HxGpVWIgNit.ttf"
2547
+ }
2548
+ },
2549
+ {
2550
+ "kind": "webfonts#webfont",
2551
+ "family": "BioRhyme Expanded",
2552
+ "category": "serif",
2553
+ "variants": [
2554
+ "200",
2555
+ "300",
2556
+ "regular",
2557
+ "700",
2558
+ "800"
2559
+ ],
2560
+ "subsets": [
2561
+ "latin-ext",
2562
+ "latin"
2563
+ ],
2564
+ "version": "v4",
2565
+ "lastModified": "2018-11-08",
2566
+ "files": {
2567
+ "200": "http://fonts.gstatic.com/s/biorhymeexpanded/v4/i7dVIE1zZzytGswgU577CDY9LjbffxxcblSHSdTXrb_z.ttf",
2568
+ "300": "http://fonts.gstatic.com/s/biorhymeexpanded/v4/i7dVIE1zZzytGswgU577CDY9Ljbffxw4bVSHSdTXrb_z.ttf",
2569
+ "700": "http://fonts.gstatic.com/s/biorhymeexpanded/v4/i7dVIE1zZzytGswgU577CDY9LjbffxwoalSHSdTXrb_z.ttf",
2570
+ "800": "http://fonts.gstatic.com/s/biorhymeexpanded/v4/i7dVIE1zZzytGswgU577CDY9Ljbffxw0aVSHSdTXrb_z.ttf",
2571
+ "regular": "http://fonts.gstatic.com/s/biorhymeexpanded/v4/i7dQIE1zZzytGswgU577CDY9LjbffySURXCPYsje.ttf"
2572
+ }
2573
+ },
2574
+ {
2575
+ "kind": "webfonts#webfont",
2576
+ "family": "Biryani",
2577
+ "category": "sans-serif",
2578
+ "variants": [
2579
+ "200",
2580
+ "300",
2581
+ "regular",
2582
+ "600",
2583
+ "700",
2584
+ "800",
2585
+ "900"
2586
+ ],
2587
+ "subsets": [
2588
+ "latin-ext",
2589
+ "devanagari",
2590
+ "latin"
2591
+ ],
2592
+ "version": "v4",
2593
+ "lastModified": "2019-01-15",
2594
+ "files": {
2595
+ "200": "http://fonts.gstatic.com/s/biryani/v4/hv-TlzNxIFoO84YddYQyGTBSU-J-RxQ.ttf",
2596
+ "300": "http://fonts.gstatic.com/s/biryani/v4/hv-TlzNxIFoO84YddeAxGTBSU-J-RxQ.ttf",
2597
+ "600": "http://fonts.gstatic.com/s/biryani/v4/hv-TlzNxIFoO84YddZQ3GTBSU-J-RxQ.ttf",
2598
+ "700": "http://fonts.gstatic.com/s/biryani/v4/hv-TlzNxIFoO84YddfA2GTBSU-J-RxQ.ttf",
2599
+ "800": "http://fonts.gstatic.com/s/biryani/v4/hv-TlzNxIFoO84Yddew1GTBSU-J-RxQ.ttf",
2600
+ "900": "http://fonts.gstatic.com/s/biryani/v4/hv-TlzNxIFoO84Yddcg0GTBSU-J-RxQ.ttf",
2601
+ "regular": "http://fonts.gstatic.com/s/biryani/v4/hv-WlzNxIFoO84YdTUwZPTh5T-s.ttf"
2602
+ }
2603
+ },
2604
+ {
2605
+ "kind": "webfonts#webfont",
2606
+ "family": "Bitter",
2607
+ "category": "serif",
2608
+ "variants": [
2609
+ "regular",
2610
+ "italic",
2611
+ "700"
2612
+ ],
2613
+ "subsets": [
2614
+ "latin-ext",
2615
+ "latin"
2616
+ ],
2617
+ "version": "v13",
2618
+ "lastModified": "2018-10-08",
2619
+ "files": {
2620
+ "700": "http://fonts.gstatic.com/s/bitter/v13/rax_HiqOu8IVPmnzxKlMBA.ttf",
2621
+ "regular": "http://fonts.gstatic.com/s/bitter/v13/rax8HiqOu8IVPmnLeA.ttf",
2622
+ "italic": "http://fonts.gstatic.com/s/bitter/v13/rax-HiqOu8IVPmn7eoxs.ttf"
2623
+ }
2624
+ },
2625
+ {
2626
+ "kind": "webfonts#webfont",
2627
+ "family": "Black And White Picture",
2628
+ "category": "sans-serif",
2629
+ "variants": [
2630
+ "regular"
2631
+ ],
2632
+ "subsets": [
2633
+ "korean",
2634
+ "latin"
2635
+ ],
2636
+ "version": "v5",
2637
+ "lastModified": "2018-11-29",
2638
+ "files": {
2639
+ "regular": "http://fonts.gstatic.com/s/blackandwhitepicture/v5/TwMe-JAERlQd3ooUHBUXGmrmioKjjnRSFO-NqI5HbcMi-yWY.ttf"
2640
+ }
2641
+ },
2642
+ {
2643
+ "kind": "webfonts#webfont",
2644
+ "family": "Black Han Sans",
2645
+ "category": "sans-serif",
2646
+ "variants": [
2647
+ "regular"
2648
+ ],
2649
+ "subsets": [
2650
+ "korean",
2651
+ "latin"
2652
+ ],
2653
+ "version": "v5",
2654
+ "lastModified": "2018-12-13",
2655
+ "files": {
2656
+ "regular": "http://fonts.gstatic.com/s/blackhansans/v5/ea8Aad44WunzF9a-dL6toA8r8nqVIXSkH-Hc.ttf"
2657
+ }
2658
+ },
2659
+ {
2660
+ "kind": "webfonts#webfont",
2661
+ "family": "Black Ops One",
2662
+ "category": "display",
2663
+ "variants": [
2664
+ "regular"
2665
+ ],
2666
+ "subsets": [
2667
+ "latin-ext",
2668
+ "latin"
2669
+ ],
2670
+ "version": "v10",
2671
+ "lastModified": "2019-01-15",
2672
+ "files": {
2673
+ "regular": "http://fonts.gstatic.com/s/blackopsone/v10/qWcsB6-ypo7xBdr6Xshe96H3WDzRtjkho4M.ttf"
2674
+ }
2675
+ },
2676
+ {
2677
+ "kind": "webfonts#webfont",
2678
+ "family": "Bokor",
2679
+ "category": "display",
2680
+ "variants": [
2681
+ "regular"
2682
+ ],
2683
+ "subsets": [
2684
+ "khmer"
2685
+ ],
2686
+ "version": "v11",
2687
+ "lastModified": "2018-12-13",
2688
+ "files": {
2689
+ "regular": "http://fonts.gstatic.com/s/bokor/v11/m8JcjfpeeaqTiR2WdInbcaxE.ttf"
2690
+ }
2691
+ },
2692
+ {
2693
+ "kind": "webfonts#webfont",
2694
+ "family": "Bonbon",
2695
+ "category": "handwriting",
2696
+ "variants": [
2697
+ "regular"
2698
+ ],
2699
+ "subsets": [
2700
+ "latin"
2701
+ ],
2702
+ "version": "v10",
2703
+ "lastModified": "2018-11-29",
2704
+ "files": {
2705
+ "regular": "http://fonts.gstatic.com/s/bonbon/v10/0FlVVPeVlFec4ee_cDEAbQY5-A.ttf"
2706
+ }
2707
+ },
2708
+ {
2709
+ "kind": "webfonts#webfont",
2710
+ "family": "Boogaloo",
2711
+ "category": "display",
2712
+ "variants": [
2713
+ "regular"
2714
+ ],
2715
+ "subsets": [
2716
+ "latin"
2717
+ ],
2718
+ "version": "v10",
2719
+ "lastModified": "2019-01-15",
2720
+ "files": {
2721
+ "regular": "http://fonts.gstatic.com/s/boogaloo/v10/kmK-Zq45GAvOdnaW6x1F_SrQo_1K.ttf"
2722
+ }
2723
+ },
2724
+ {
2725
+ "kind": "webfonts#webfont",
2726
+ "family": "Bowlby One",
2727
+ "category": "display",
2728
+ "variants": [
2729
+ "regular"
2730
+ ],
2731
+ "subsets": [
2732
+ "latin"
2733
+ ],
2734
+ "version": "v10",
2735
+ "lastModified": "2019-01-10",
2736
+ "files": {
2737
+ "regular": "http://fonts.gstatic.com/s/bowlbyone/v10/taiPGmVuC4y96PFeqp8smo6C_Z0wcK4.ttf"
2738
+ }
2739
+ },
2740
+ {
2741
+ "kind": "webfonts#webfont",
2742
+ "family": "Bowlby One SC",
2743
+ "category": "display",
2744
+ "variants": [
2745
+ "regular"
2746
+ ],
2747
+ "subsets": [
2748
+ "latin-ext",
2749
+ "latin"
2750
+ ],
2751
+ "version": "v10",
2752
+ "lastModified": "2019-01-15",
2753
+ "files": {
2754
+ "regular": "http://fonts.gstatic.com/s/bowlbyonesc/v10/DtVlJxerQqQm37tzN3wMug9Pzgj8owhNjuE.ttf"
2755
+ }
2756
+ },
2757
+ {
2758
+ "kind": "webfonts#webfont",
2759
+ "family": "Brawler",
2760
+ "category": "serif",
2761
+ "variants": [
2762
+ "regular"
2763
+ ],
2764
+ "subsets": [
2765
+ "latin"
2766
+ ],
2767
+ "version": "v9",
2768
+ "lastModified": "2019-01-10",
2769
+ "files": {
2770
+ "regular": "http://fonts.gstatic.com/s/brawler/v9/xn7gYHE3xXewAscGsgC7S9XdZN8.ttf"
2771
+ }
2772
+ },
2773
+ {
2774
+ "kind": "webfonts#webfont",
2775
+ "family": "Bree Serif",
2776
+ "category": "serif",
2777
+ "variants": [
2778
+ "regular"
2779
+ ],
2780
+ "subsets": [
2781
+ "latin-ext",
2782
+ "latin"
2783
+ ],
2784
+ "version": "v7",
2785
+ "lastModified": "2017-10-10",
2786
+ "files": {
2787
+ "regular": "http://fonts.gstatic.com/s/breeserif/v7/4UaHrEJCrhhnVA3DgluAx60.ttf"
2788
+ }
2789
+ },
2790
+ {
2791
+ "kind": "webfonts#webfont",
2792
+ "family": "Bubblegum Sans",
2793
+ "category": "display",
2794
+ "variants": [
2795
+ "regular"
2796
+ ],
2797
+ "subsets": [
2798
+ "latin-ext",
2799
+ "latin"
2800
+ ],
2801
+ "version": "v7",
2802
+ "lastModified": "2019-01-10",
2803
+ "files": {
2804
+ "regular": "http://fonts.gstatic.com/s/bubblegumsans/v7/AYCSpXb_Z9EORv1M5QTjEzMEtdaHzoPPb7R4.ttf"
2805
+ }
2806
+ },
2807
+ {
2808
+ "kind": "webfonts#webfont",
2809
+ "family": "Bubbler One",
2810
+ "category": "sans-serif",
2811
+ "variants": [
2812
+ "regular"
2813
+ ],
2814
+ "subsets": [
2815
+ "latin-ext",
2816
+ "latin"
2817
+ ],
2818
+ "version": "v7",
2819
+ "lastModified": "2018-12-13",
2820
+ "files": {
2821
+ "regular": "http://fonts.gstatic.com/s/bubblerone/v7/f0Xy0eqj68ppQV9KBLmAouHH26MPePkt.ttf"
2822
+ }
2823
+ },
2824
+ {
2825
+ "kind": "webfonts#webfont",
2826
+ "family": "Buda",
2827
+ "category": "display",
2828
+ "variants": [
2829
+ "300"
2830
+ ],
2831
+ "subsets": [
2832
+ "latin"
2833
+ ],
2834
+ "version": "v9",
2835
+ "lastModified": "2018-12-13",
2836
+ "files": {
2837
+ "300": "http://fonts.gstatic.com/s/buda/v9/GFDqWAN8mnyIJSSrG7UBr7pZKA0.ttf"
2838
+ }
2839
+ },
2840
+ {
2841
+ "kind": "webfonts#webfont",
2842
+ "family": "Buenard",
2843
+ "category": "serif",
2844
+ "variants": [
2845
+ "regular",
2846
+ "700"
2847
+ ],
2848
+ "subsets": [
2849
+ "latin-ext",
2850
+ "latin"
2851
+ ],
2852
+ "version": "v10",
2853
+ "lastModified": "2019-01-10",
2854
+ "files": {
2855
+ "700": "http://fonts.gstatic.com/s/buenard/v10/OD5GuM6Cyma8FnnsB4vSjGCWALepwss.ttf",
2856
+ "regular": "http://fonts.gstatic.com/s/buenard/v10/OD5DuM6Cyma8FnnsPzf9qGi9HL4.ttf"
2857
+ }
2858
+ },
2859
+ {
2860
+ "kind": "webfonts#webfont",
2861
+ "family": "Bungee",
2862
+ "category": "display",
2863
+ "variants": [
2864
+ "regular"
2865
+ ],
2866
+ "subsets": [
2867
+ "latin-ext",
2868
+ "vietnamese",
2869
+ "latin"
2870
+ ],
2871
+ "version": "v4",
2872
+ "lastModified": "2019-01-10",
2873
+ "files": {
2874
+ "regular": "http://fonts.gstatic.com/s/bungee/v4/N0bU2SZBIuF2PU_ECn50Kd_PmA.ttf"
2875
+ }
2876
+ },
2877
+ {
2878
+ "kind": "webfonts#webfont",
2879
+ "family": "Bungee Hairline",
2880
+ "category": "display",
2881
+ "variants": [
2882
+ "regular"
2883
+ ],
2884
+ "subsets": [
2885
+ "latin-ext",
2886
+ "vietnamese",
2887
+ "latin"
2888
+ ],
2889
+ "version": "v4",
2890
+ "lastModified": "2018-11-29",
2891
+ "files": {
2892
+ "regular": "http://fonts.gstatic.com/s/bungeehairline/v4/snfys0G548t04270a_ljTLUVrv-7YB2dQ5ZPqQ.ttf"
2893
+ }
2894
+ },
2895
+ {
2896
+ "kind": "webfonts#webfont",
2897
+ "family": "Bungee Inline",
2898
+ "category": "display",
2899
+ "variants": [
2900
+ "regular"
2901
+ ],
2902
+ "subsets": [
2903
+ "latin-ext",
2904
+ "vietnamese",
2905
+ "latin"
2906
+ ],
2907
+ "version": "v4",
2908
+ "lastModified": "2019-01-10",
2909
+ "files": {
2910
+ "regular": "http://fonts.gstatic.com/s/bungeeinline/v4/Gg8zN58UcgnlCweMrih332VuDGJ1-FEglsc.ttf"
2911
+ }
2912
+ },
2913
+ {
2914
+ "kind": "webfonts#webfont",
2915
+ "family": "Bungee Outline",
2916
+ "category": "display",
2917
+ "variants": [
2918
+ "regular"
2919
+ ],
2920
+ "subsets": [
2921
+ "latin-ext",
2922
+ "vietnamese",
2923
+ "latin"
2924
+ ],
2925
+ "version": "v4",
2926
+ "lastModified": "2018-11-29",
2927
+ "files": {
2928
+ "regular": "http://fonts.gstatic.com/s/bungeeoutline/v4/_6_mEDvmVP24UvU2MyiGDslL3Qg3YhJqPXxo.ttf"
2929
+ }
2930
+ },
2931
+ {
2932
+ "kind": "webfonts#webfont",
2933
+ "family": "Bungee Shade",
2934
+ "category": "display",
2935
+ "variants": [
2936
+ "regular"
2937
+ ],
2938
+ "subsets": [
2939
+ "latin-ext",
2940
+ "vietnamese",
2941
+ "latin"
2942
+ ],
2943
+ "version": "v4",
2944
+ "lastModified": "2018-12-13",
2945
+ "files": {
2946
+ "regular": "http://fonts.gstatic.com/s/bungeeshade/v4/DtVkJxarWL0t2KdzK3oI_jks7iLSrwFUlw.ttf"
2947
+ }
2948
+ },
2949
+ {
2950
+ "kind": "webfonts#webfont",
2951
+ "family": "Butcherman",
2952
+ "category": "display",
2953
+ "variants": [
2954
+ "regular"
2955
+ ],
2956
+ "subsets": [
2957
+ "latin-ext",
2958
+ "latin"
2959
+ ],
2960
+ "version": "v10",
2961
+ "lastModified": "2018-11-29",
2962
+ "files": {
2963
+ "regular": "http://fonts.gstatic.com/s/butcherman/v10/2EbiL-thF0loflXUBOdb1zWzq_5uT84.ttf"
2964
+ }
2965
+ },
2966
+ {
2967
+ "kind": "webfonts#webfont",
2968
+ "family": "Butterfly Kids",
2969
+ "category": "handwriting",
2970
+ "variants": [
2971
+ "regular"
2972
+ ],
2973
+ "subsets": [
2974
+ "latin-ext",
2975
+ "latin"
2976
+ ],
2977
+ "version": "v7",
2978
+ "lastModified": "2018-11-29",
2979
+ "files": {
2980
+ "regular": "http://fonts.gstatic.com/s/butterflykids/v7/ll8lK2CWTjuqAsXDqlnIbMNs5S4arxFrAX1D.ttf"
2981
+ }
2982
+ },
2983
+ {
2984
+ "kind": "webfonts#webfont",
2985
+ "family": "Cabin",
2986
+ "category": "sans-serif",
2987
+ "variants": [
2988
+ "regular",
2989
+ "italic",
2990
+ "500",
2991
+ "500italic",
2992
+ "600",
2993
+ "600italic",
2994
+ "700",
2995
+ "700italic"
2996
+ ],
2997
+ "subsets": [
2998
+ "latin-ext",
2999
+ "vietnamese",
3000
+ "latin"
3001
+ ],
3002
+ "version": "v12",
3003
+ "lastModified": "2017-10-10",
3004
+ "files": {
3005
+ "500": "http://fonts.gstatic.com/s/cabin/v12/u-480qWljRw-PdfD3Nhi.ttf",
3006
+ "600": "http://fonts.gstatic.com/s/cabin/v12/u-480qWljRw-Pdfv29hi.ttf",
3007
+ "700": "http://fonts.gstatic.com/s/cabin/v12/u-480qWljRw-PdeL2thi.ttf",
3008
+ "regular": "http://fonts.gstatic.com/s/cabin/v12/u-4x0qWljRw-Pe83.ttf",
3009
+ "italic": "http://fonts.gstatic.com/s/cabin/v12/u-4_0qWljRw-Pd81__g.ttf",
3010
+ "500italic": "http://fonts.gstatic.com/s/cabin/v12/u-460qWljRw-Pd81xwxhuyw.ttf",
3011
+ "600italic": "http://fonts.gstatic.com/s/cabin/v12/u-460qWljRw-Pd81xyBmuyw.ttf",
3012
+ "700italic": "http://fonts.gstatic.com/s/cabin/v12/u-460qWljRw-Pd81x0Rnuyw.ttf"
3013
+ }
3014
+ },
3015
+ {
3016
+ "kind": "webfonts#webfont",
3017
+ "family": "Cabin Condensed",
3018
+ "category": "sans-serif",
3019
+ "variants": [
3020
+ "regular",
3021
+ "500",
3022
+ "600",
3023
+ "700"
3024
+ ],
3025
+ "subsets": [
3026
+ "latin-ext",
3027
+ "vietnamese",
3028
+ "latin"
3029
+ ],
3030
+ "version": "v12",
3031
+ "lastModified": "2019-01-15",
3032
+ "files": {
3033
+ "500": "http://fonts.gstatic.com/s/cabincondensed/v12/nwpJtK6mNhBK2err_hqkYhHRqmwilMH97F15-K1oqQ.ttf",
3034
+ "600": "http://fonts.gstatic.com/s/cabincondensed/v12/nwpJtK6mNhBK2err_hqkYhHRqmwiuMb97F15-K1oqQ.ttf",
3035
+ "700": "http://fonts.gstatic.com/s/cabincondensed/v12/nwpJtK6mNhBK2err_hqkYhHRqmwi3Mf97F15-K1oqQ.ttf",
3036
+ "regular": "http://fonts.gstatic.com/s/cabincondensed/v12/nwpMtK6mNhBK2err_hqkYhHRqmwaYOjZ5HZl8Q.ttf"
3037
+ }
3038
+ },
3039
+ {
3040
+ "kind": "webfonts#webfont",
3041
+ "family": "Cabin Sketch",
3042
+ "category": "display",
3043
+ "variants": [
3044
+ "regular",
3045
+ "700"
3046
+ ],
3047
+ "subsets": [
3048
+ "latin"
3049
+ ],
3050
+ "version": "v12",
3051
+ "lastModified": "2019-01-15",
3052
+ "files": {
3053
+ "700": "http://fonts.gstatic.com/s/cabinsketch/v12/QGY2z_kZZAGCONcK2A4bGOj0I_1o4dLyI4CMFw.ttf",
3054
+ "regular": "http://fonts.gstatic.com/s/cabinsketch/v12/QGYpz_kZZAGCONcK2A4bGOjMn9JM6fnuKg.ttf"
3055
+ }
3056
+ },
3057
+ {
3058
+ "kind": "webfonts#webfont",
3059
+ "family": "Caesar Dressing",
3060
+ "category": "display",
3061
+ "variants": [
3062
+ "regular"
3063
+ ],
3064
+ "subsets": [
3065
+ "latin"
3066
+ ],
3067
+ "version": "v7",
3068
+ "lastModified": "2018-12-13",
3069
+ "files": {
3070
+ "regular": "http://fonts.gstatic.com/s/caesardressing/v7/yYLx0hLa3vawqtwdswbotmK4vrR3cbb6LZttyg.ttf"
3071
+ }
3072
+ },
3073
+ {
3074
+ "kind": "webfonts#webfont",
3075
+ "family": "Cagliostro",
3076
+ "category": "sans-serif",
3077
+ "variants": [
3078
+ "regular"
3079
+ ],
3080
+ "subsets": [
3081
+ "latin"
3082
+ ],
3083
+ "version": "v7",
3084
+ "lastModified": "2018-12-13",
3085
+ "files": {
3086
+ "regular": "http://fonts.gstatic.com/s/cagliostro/v7/ZgNWjP5HM73BV5amnX-TjGXEM4COoE4.ttf"
3087
+ }
3088
+ },
3089
+ {
3090
+ "kind": "webfonts#webfont",
3091
+ "family": "Cairo",
3092
+ "category": "sans-serif",
3093
+ "variants": [
3094
+ "200",
3095
+ "300",
3096
+ "regular",
3097
+ "600",
3098
+ "700",
3099
+ "900"
3100
+ ],
3101
+ "subsets": [
3102
+ "arabic",
3103
+ "latin-ext",
3104
+ "latin"
3105
+ ],
3106
+ "version": "v4",
3107
+ "lastModified": "2018-08-01",
3108
+ "files": {
3109
+ "200": "http://fonts.gstatic.com/s/cairo/v4/SLXLc1nY6Hkvalrub76M.ttf",
3110
+ "300": "http://fonts.gstatic.com/s/cairo/v4/SLXLc1nY6HkvalqKbL6M.ttf",
3111
+ "600": "http://fonts.gstatic.com/s/cairo/v4/SLXLc1nY6Hkvalr-ar6M.ttf",
3112
+ "700": "http://fonts.gstatic.com/s/cairo/v4/SLXLc1nY6Hkvalqaa76M.ttf",
3113
+ "900": "http://fonts.gstatic.com/s/cairo/v4/SLXLc1nY6Hkvalqiab6M.ttf",
3114
+ "regular": "http://fonts.gstatic.com/s/cairo/v4/SLXGc1nY6HkvamIm.ttf"
3115
+ }
3116
+ },
3117
+ {
3118
+ "kind": "webfonts#webfont",
3119
+ "family": "Calligraffitti",
3120
+ "category": "handwriting",
3121
+ "variants": [
3122
+ "regular"
3123
+ ],
3124
+ "subsets": [
3125
+ "latin"
3126
+ ],
3127
+ "version": "v10",
3128
+ "lastModified": "2019-01-10",
3129
+ "files": {
3130
+ "regular": "http://fonts.gstatic.com/s/calligraffitti/v10/46k2lbT3XjDVqJw3DCmCFjE0vnFZM5ZBpYN-.ttf"
3131
+ }
3132
+ },
3133
+ {
3134
+ "kind": "webfonts#webfont",
3135
+ "family": "Cambay",
3136
+ "category": "sans-serif",
3137
+ "variants": [
3138
+ "regular",
3139
+ "italic",
3140
+ "700",
3141
+ "700italic"
3142
+ ],
3143
+ "subsets": [
3144
+ "latin-ext",
3145
+ "devanagari",
3146
+ "latin"
3147
+ ],
3148
+ "version": "v5",
3149
+ "lastModified": "2019-01-10",
3150
+ "files": {
3151
+ "700": "http://fonts.gstatic.com/s/cambay/v5/SLXKc1rY6H0_ZDs-0pusx_lwYX99kA.ttf",
3152
+ "regular": "http://fonts.gstatic.com/s/cambay/v5/SLXJc1rY6H0_ZDsGbrSIz9JsaA.ttf",
3153
+ "italic": "http://fonts.gstatic.com/s/cambay/v5/SLXLc1rY6H0_ZDs2bL6M7dd8aGZk.ttf",
3154
+ "700italic": "http://fonts.gstatic.com/s/cambay/v5/SLXMc1rY6H0_ZDs2bIYwwvN0Q3ptkDMN.ttf"
3155
+ }
3156
+ },
3157
+ {
3158
+ "kind": "webfonts#webfont",
3159
+ "family": "Cambo",
3160
+ "category": "serif",
3161
+ "variants": [
3162
+ "regular"
3163
+ ],
3164
+ "subsets": [
3165
+ "latin"
3166
+ ],
3167
+ "version": "v7",
3168
+ "lastModified": "2019-01-10",
3169
+ "files": {
3170
+ "regular": "http://fonts.gstatic.com/s/cambo/v7/IFSqHeNEk8FJk416ok7xkPm8.ttf"
3171
+ }
3172
+ },
3173
+ {
3174
+ "kind": "webfonts#webfont",
3175
+ "family": "Candal",
3176
+ "category": "sans-serif",
3177
+ "variants": [
3178
+ "regular"
3179
+ ],
3180
+ "subsets": [
3181
+ "latin"
3182
+ ],
3183
+ "version": "v8",
3184
+ "lastModified": "2019-01-10",
3185
+ "files": {
3186
+ "regular": "http://fonts.gstatic.com/s/candal/v8/XoHn2YH6T7-t_8cNAR4Jt9Yxlw.ttf"
3187
+ }
3188
+ },
3189
+ {
3190
+ "kind": "webfonts#webfont",
3191
+ "family": "Cantarell",
3192
+ "category": "sans-serif",
3193
+ "variants": [
3194
+ "regular",
3195
+ "italic",
3196
+ "700",
3197
+ "700italic"
3198
+ ],
3199
+ "subsets": [
3200
+ "latin"
3201
+ ],
3202
+ "version": "v8",
3203
+ "lastModified": "2019-01-15",
3204
+ "files": {
3205
+ "700": "http://fonts.gstatic.com/s/cantarell/v8/B50IF7ZDq37KMUvlO01xN4dOFISeJY8GgQ.ttf",
3206
+ "regular": "http://fonts.gstatic.com/s/cantarell/v8/B50NF7ZDq37KMUvlO01Ji6hqHK-CLA.ttf",
3207
+ "italic": "http://fonts.gstatic.com/s/cantarell/v8/B50LF7ZDq37KMUvlO015iaJuPqqSLJYf.ttf",
3208
+ "700italic": "http://fonts.gstatic.com/s/cantarell/v8/B50WF7ZDq37KMUvlO015iZrSEY6aB4oWgWHB.ttf"
3209
+ }
3210
+ },
3211
+ {
3212
+ "kind": "webfonts#webfont",
3213
+ "family": "Cantata One",
3214
+ "category": "serif",
3215
+ "variants": [
3216
+ "regular"
3217
+ ],
3218
+ "subsets": [
3219
+ "latin-ext",
3220
+ "latin"
3221
+ ],
3222
+ "version": "v8",
3223
+ "lastModified": "2019-01-15",
3224
+ "files": {
3225
+ "regular": "http://fonts.gstatic.com/s/cantataone/v8/PlI5Fl60Nb5obNzNe2jslVxEt8CwfGaD.ttf"
3226
+ }
3227
+ },
3228
+ {
3229
+ "kind": "webfonts#webfont",
3230
+ "family": "Cantora One",
3231
+ "category": "sans-serif",
3232
+ "variants": [
3233
+ "regular"
3234
+ ],
3235
+ "subsets": [
3236
+ "latin-ext",
3237
+ "latin"
3238
+ ],
3239
+ "version": "v8",
3240
+ "lastModified": "2019-01-10",
3241
+ "files": {
3242
+ "regular": "http://fonts.gstatic.com/s/cantoraone/v8/gyB4hws1JdgnKy56GB_JX6zdZ4vZVbgZ.ttf"
3243
+ }
3244
+ },
3245
+ {
3246
+ "kind": "webfonts#webfont",
3247
+ "family": "Capriola",
3248
+ "category": "sans-serif",
3249
+ "variants": [
3250
+ "regular"
3251
+ ],
3252
+ "subsets": [
3253
+ "latin-ext",
3254
+ "latin"
3255
+ ],
3256
+ "version": "v6",
3257
+ "lastModified": "2019-01-10",
3258
+ "files": {
3259
+ "regular": "http://fonts.gstatic.com/s/capriola/v6/wXKoE3YSppcvo1PDln_8L-AinG8y.ttf"
3260
+ }
3261
+ },
3262
+ {
3263
+ "kind": "webfonts#webfont",
3264
+ "family": "Cardo",
3265
+ "category": "serif",
3266
+ "variants": [
3267
+ "regular",
3268
+ "italic",
3269
+ "700"
3270
+ ],
3271
+ "subsets": [
3272
+ "latin-ext",
3273
+ "greek-ext",
3274
+ "greek",
3275
+ "latin"
3276
+ ],
3277
+ "version": "v10",
3278
+ "lastModified": "2019-01-15",
3279
+ "files": {
3280
+ "700": "http://fonts.gstatic.com/s/cardo/v10/wlpygwjKBV1pqhND-aQR82JHaTBX.ttf",
3281
+ "regular": "http://fonts.gstatic.com/s/cardo/v10/wlp_gwjKBV1pqiv_1oAZ2H5O.ttf",
3282
+ "italic": "http://fonts.gstatic.com/s/cardo/v10/wlpxgwjKBV1pqhv93IQ73W5OcCk.ttf"
3283
+ }
3284
+ },
3285
+ {
3286
+ "kind": "webfonts#webfont",
3287
+ "family": "Carme",
3288
+ "category": "sans-serif",
3289
+ "variants": [
3290
+ "regular"
3291
+ ],
3292
+ "subsets": [
3293
+ "latin"
3294
+ ],
3295
+ "version": "v9",
3296
+ "lastModified": "2019-01-10",
3297
+ "files": {
3298
+ "regular": "http://fonts.gstatic.com/s/carme/v9/ptRHTiWdbvZIDOjGxLNrxfbZ.ttf"
3299
+ }
3300
+ },
3301
+ {
3302
+ "kind": "webfonts#webfont",
3303
+ "family": "Carrois Gothic",
3304
+ "category": "sans-serif",
3305
+ "variants": [
3306
+ "regular"
3307
+ ],
3308
+ "subsets": [
3309
+ "latin"
3310
+ ],
3311
+ "version": "v9",
3312
+ "lastModified": "2019-01-10",
3313
+ "files": {
3314
+ "regular": "http://fonts.gstatic.com/s/carroisgothic/v9/Z9XPDmFATg-N1PLtLOOxvIHl9ZmD3i7ajcJ-.ttf"
3315
+ }
3316
+ },
3317
+ {
3318
+ "kind": "webfonts#webfont",
3319
+ "family": "Carrois Gothic SC",
3320
+ "category": "sans-serif",
3321
+ "variants": [
3322
+ "regular"
3323
+ ],
3324
+ "subsets": [
3325
+ "latin"
3326
+ ],
3327
+ "version": "v8",
3328
+ "lastModified": "2019-01-10",
3329
+ "files": {
3330
+ "regular": "http://fonts.gstatic.com/s/carroisgothicsc/v8/ZgNJjOVHM6jfUZCmyUqT2A2HVKjc-28nNHabY4dN.ttf"
3331
+ }
3332
+ },
3333
+ {
3334
+ "kind": "webfonts#webfont",
3335
+ "family": "Carter One",
3336
+ "category": "display",
3337
+ "variants": [
3338
+ "regular"
3339
+ ],
3340
+ "subsets": [
3341
+ "latin"
3342
+ ],
3343
+ "version": "v10",
3344
+ "lastModified": "2019-01-15",
3345
+ "files": {
3346
+ "regular": "http://fonts.gstatic.com/s/carterone/v10/q5uCsoe5IOB2-pXv9UcNIxR2hYxREMs.ttf"
3347
+ }
3348
+ },
3349
+ {
3350
+ "kind": "webfonts#webfont",
3351
+ "family": "Catamaran",
3352
+ "category": "sans-serif",
3353
+ "variants": [
3354
+ "100",
3355
+ "200",
3356
+ "300",
3357
+ "regular",
3358
+ "500",
3359
+ "600",
3360
+ "700",
3361
+ "800",
3362
+ "900"
3363
+ ],
3364
+ "subsets": [
3365
+ "latin-ext",
3366
+ "tamil",
3367
+ "latin"
3368
+ ],
3369
+ "version": "v4",
3370
+ "lastModified": "2017-11-21",
3371
+ "files": {
3372
+ "100": "http://fonts.gstatic.com/s/catamaran/v4/o-0OIpQoyXQa2RxT7-5jhjRF.ttf",
3373
+ "200": "http://fonts.gstatic.com/s/catamaran/v4/o-0NIpQoyXQa2RxT7-5jKhVlYw.ttf",
3374
+ "300": "http://fonts.gstatic.com/s/catamaran/v4/o-0NIpQoyXQa2RxT7-5jThZlYw.ttf",
3375
+ "500": "http://fonts.gstatic.com/s/catamaran/v4/o-0NIpQoyXQa2RxT7-5jFhdlYw.ttf",
3376
+ "600": "http://fonts.gstatic.com/s/catamaran/v4/o-0NIpQoyXQa2RxT7-5jOhBlYw.ttf",
3377
+ "700": "http://fonts.gstatic.com/s/catamaran/v4/o-0NIpQoyXQa2RxT7-5jXhFlYw.ttf",
3378
+ "800": "http://fonts.gstatic.com/s/catamaran/v4/o-0NIpQoyXQa2RxT7-5jQhJlYw.ttf",
3379
+ "900": "http://fonts.gstatic.com/s/catamaran/v4/o-0NIpQoyXQa2RxT7-5jZhNlYw.ttf",
3380
+ "regular": "http://fonts.gstatic.com/s/catamaran/v4/o-0IIpQoyXQa2RxT7-5b4g.ttf"
3381
+ }
3382
+ },
3383
+ {
3384
+ "kind": "webfonts#webfont",
3385
+ "family": "Caudex",
3386
+ "category": "serif",
3387
+ "variants": [
3388
+ "regular",
3389
+ "italic",
3390
+ "700",
3391
+ "700italic"
3392
+ ],
3393
+ "subsets": [
3394
+ "latin-ext",
3395
+ "greek-ext",
3396
+ "greek",
3397
+ "latin"
3398
+ ],
3399
+ "version": "v8",
3400
+ "lastModified": "2019-01-10",
3401
+ "files": {
3402
+ "700": "http://fonts.gstatic.com/s/caudex/v8/esDT311QOP6BJUrwdteklZUCGpG-GQ.ttf",
3403
+ "regular": "http://fonts.gstatic.com/s/caudex/v8/esDQ311QOP6BJUrIyviAnb4eEw.ttf",
3404
+ "italic": "http://fonts.gstatic.com/s/caudex/v8/esDS311QOP6BJUr4yPKEv7sOE4in.ttf",
3405
+ "700italic": "http://fonts.gstatic.com/s/caudex/v8/esDV311QOP6BJUr4yMo4kJ8GOJSuGdLB.ttf"
3406
+ }
3407
+ },
3408
+ {
3409
+ "kind": "webfonts#webfont",
3410
+ "family": "Caveat",
3411
+ "category": "handwriting",
3412
+ "variants": [
3413
+ "regular",
3414
+ "700"
3415
+ ],
3416
+ "subsets": [
3417
+ "latin-ext",
3418
+ "cyrillic",
3419
+ "latin"
3420
+ ],
3421
+ "version": "v5",
3422
+ "lastModified": "2019-01-15",
3423
+ "files": {
3424
+ "700": "http://fonts.gstatic.com/s/caveat/v5/Wnz5HAc5bAfYB2Qz3RM9oiTQNAuxjA.ttf",
3425
+ "regular": "http://fonts.gstatic.com/s/caveat/v5/Wnz6HAc5bAfYB2QLYTwZqg_MPQ.ttf"
3426
+ }
3427
+ },
3428
+ {
3429
+ "kind": "webfonts#webfont",
3430
+ "family": "Caveat Brush",
3431
+ "category": "handwriting",
3432
+ "variants": [
3433
+ "regular"
3434
+ ],
3435
+ "subsets": [
3436
+ "latin-ext",
3437
+ "latin"
3438
+ ],
3439
+ "version": "v4",
3440
+ "lastModified": "2019-01-15",
3441
+ "files": {
3442
+ "regular": "http://fonts.gstatic.com/s/caveatbrush/v4/EYq0maZfwr9S9-ETZc3fKXtMW7mT03pdQw.ttf"
3443
+ }
3444
+ },
3445
+ {
3446
+ "kind": "webfonts#webfont",
3447
+ "family": "Cedarville Cursive",
3448
+ "category": "handwriting",
3449
+ "variants": [
3450
+ "regular"
3451
+ ],
3452
+ "subsets": [
3453
+ "latin"
3454
+ ],
3455
+ "version": "v10",
3456
+ "lastModified": "2019-01-10",
3457
+ "files": {
3458
+ "regular": "http://fonts.gstatic.com/s/cedarvillecursive/v10/yYL00g_a2veiudhUmxjo5VKkoqA-B_neJbBxw8BeTg.ttf"
3459
+ }
3460
+ },
3461
+ {
3462
+ "kind": "webfonts#webfont",
3463
+ "family": "Ceviche One",
3464
+ "category": "display",
3465
+ "variants": [
3466
+ "regular"
3467
+ ],
3468
+ "subsets": [
3469
+ "latin-ext",
3470
+ "latin"
3471
+ ],
3472
+ "version": "v9",
3473
+ "lastModified": "2019-01-10",
3474
+ "files": {
3475
+ "regular": "http://fonts.gstatic.com/s/cevicheone/v9/gyB4hws1IcA6JzR-GB_JX6zdZ4vZVbgZ.ttf"
3476
+ }
3477
+ },
3478
+ {
3479
+ "kind": "webfonts#webfont",
3480
+ "family": "Chakra Petch",
3481
+ "category": "sans-serif",
3482
+ "variants": [
3483
+ "300",
3484
+ "300italic",
3485
+ "regular",
3486
+ "italic",
3487
+ "500",
3488
+ "500italic",
3489
+ "600",
3490
+ "600italic",
3491
+ "700",
3492
+ "700italic"
3493
+ ],
3494
+ "subsets": [
3495
+ "latin-ext",
3496
+ "thai",
3497
+ "vietnamese",
3498
+ "latin"
3499
+ ],
3500
+ "version": "v2",
3501
+ "lastModified": "2018-11-29",
3502
+ "files": {
3503
+ "300": "http://fonts.gstatic.com/s/chakrapetch/v2/cIflMapbsEk7TDLdtEz1BwkeNIhFQJXE3AY00g.ttf",
3504
+ "500": "http://fonts.gstatic.com/s/chakrapetch/v2/cIflMapbsEk7TDLdtEz1BwkebIlFQJXE3AY00g.ttf",
3505
+ "600": "http://fonts.gstatic.com/s/chakrapetch/v2/cIflMapbsEk7TDLdtEz1BwkeQI5FQJXE3AY00g.ttf",
3506
+ "700": "http://fonts.gstatic.com/s/chakrapetch/v2/cIflMapbsEk7TDLdtEz1BwkeJI9FQJXE3AY00g.ttf",
3507
+ "300italic": "http://fonts.gstatic.com/s/chakrapetch/v2/cIfnMapbsEk7TDLdtEz1BwkWmpLJQp_A_gMk0izH.ttf",
3508
+ "regular": "http://fonts.gstatic.com/s/chakrapetch/v2/cIf6MapbsEk7TDLdtEz1BwkmmKBhSL7Y1Q.ttf",
3509
+ "italic": "http://fonts.gstatic.com/s/chakrapetch/v2/cIfkMapbsEk7TDLdtEz1BwkWmqplarvI1R8t.ttf",
3510
+ "500italic": "http://fonts.gstatic.com/s/chakrapetch/v2/cIfnMapbsEk7TDLdtEz1BwkWmpKRQ5_A_gMk0izH.ttf",
3511
+ "600italic": "http://fonts.gstatic.com/s/chakrapetch/v2/cIfnMapbsEk7TDLdtEz1BwkWmpK9RJ_A_gMk0izH.ttf",
3512
+ "700italic": "http://fonts.gstatic.com/s/chakrapetch/v2/cIfnMapbsEk7TDLdtEz1BwkWmpLZRZ_A_gMk0izH.ttf"
3513
+ }
3514
+ },
3515
+ {
3516
+ "kind": "webfonts#webfont",
3517
+ "family": "Changa",
3518
+ "category": "sans-serif",
3519
+ "variants": [
3520
+ "200",
3521
+ "300",
3522
+ "regular",
3523
+ "500",
3524
+ "600",
3525
+ "700",
3526
+ "800"
3527
+ ],
3528
+ "subsets": [
3529
+ "arabic",
3530
+ "latin-ext",
3531
+ "latin"
3532
+ ],
3533
+ "version": "v6",
3534
+ "lastModified": "2019-01-15",
3535
+ "files": {
3536
+ "200": "http://fonts.gstatic.com/s/changa/v6/2-cl9JNi2YuVOUcsqb2bUsT5rZhaZg.ttf",
3537
+ "300": "http://fonts.gstatic.com/s/changa/v6/2-cl9JNi2YuVOUcszb6bUsT5rZhaZg.ttf",
3538
+ "500": "http://fonts.gstatic.com/s/changa/v6/2-cl9JNi2YuVOUcslb-bUsT5rZhaZg.ttf",
3539
+ "600": "http://fonts.gstatic.com/s/changa/v6/2-cl9JNi2YuVOUcsubibUsT5rZhaZg.ttf",
3540
+ "700": "http://fonts.gstatic.com/s/changa/v6/2-cl9JNi2YuVOUcs3bmbUsT5rZhaZg.ttf",
3541
+ "800": "http://fonts.gstatic.com/s/changa/v6/2-cl9JNi2YuVOUcswbqbUsT5rZhaZg.ttf",
3542
+ "regular": "http://fonts.gstatic.com/s/changa/v6/2-cm9JNi2YuVOUcUYZa_Wu_lpA.ttf"
3543
+ }
3544
+ },
3545
+ {
3546
+ "kind": "webfonts#webfont",
3547
+ "family": "Changa One",
3548
+ "category": "display",
3549
+ "variants": [
3550
+ "regular",
3551
+ "italic"
3552
+ ],
3553
+ "subsets": [
3554
+ "latin"
3555
+ ],
3556
+ "version": "v11",
3557
+ "lastModified": "2019-01-10",
3558
+ "files": {
3559
+ "regular": "http://fonts.gstatic.com/s/changaone/v11/xfu00W3wXn3QLUJXhzq46AbouLfbK64.ttf",
3560
+ "italic": "http://fonts.gstatic.com/s/changaone/v11/xfu20W3wXn3QLUJXhzq42ATivJXeO67ISw.ttf"
3561
+ }
3562
+ },
3563
+ {
3564
+ "kind": "webfonts#webfont",
3565
+ "family": "Chango",
3566
+ "category": "display",
3567
+ "variants": [
3568
+ "regular"
3569
+ ],
3570
+ "subsets": [
3571
+ "latin-ext",
3572
+ "latin"
3573
+ ],
3574
+ "version": "v7",
3575
+ "lastModified": "2018-12-13",
3576
+ "files": {
3577
+ "regular": "http://fonts.gstatic.com/s/chango/v7/2V0cKI0OB5U7WaJyz324TFUaAw.ttf"
3578
+ }
3579
+ },
3580
+ {
3581
+ "kind": "webfonts#webfont",
3582
+ "family": "Charm",
3583
+ "category": "handwriting",
3584
+ "variants": [
3585
+ "regular",
3586
+ "700"
3587
+ ],
3588
+ "subsets": [
3589
+ "latin-ext",
3590
+ "thai",
3591
+ "vietnamese",
3592
+ "latin"
3593
+ ],
3594
+ "version": "v3",
3595
+ "lastModified": "2018-12-13",
3596
+ "files": {
3597
+ "700": "http://fonts.gstatic.com/s/charm/v3/7cHrv4oii5K0Md6TDss8yn4hnCci.ttf",
3598
+ "regular": "http://fonts.gstatic.com/s/charm/v3/7cHmv4oii5K0MeYvIe804WIo.ttf"
3599
+ }
3600
+ },
3601
+ {
3602
+ "kind": "webfonts#webfont",
3603
+ "family": "Charmonman",
3604
+ "category": "handwriting",
3605
+ "variants": [
3606
+ "regular",
3607
+ "700"
3608
+ ],
3609
+ "subsets": [
3610
+ "latin-ext",
3611
+ "thai",
3612
+ "vietnamese",
3613
+ "latin"
3614
+ ],
3615
+ "version": "v2",
3616
+ "lastModified": "2018-12-13",
3617
+ "files": {
3618
+ "700": "http://fonts.gstatic.com/s/charmonman/v2/MjQAmiR3vP_nuxDv47jiYC2HmL9K9OhmGnY.ttf",
3619
+ "regular": "http://fonts.gstatic.com/s/charmonman/v2/MjQDmiR3vP_nuxDv47jiWJGovLdh6OE.ttf"
3620
+ }
3621
+ },
3622
+ {
3623
+ "kind": "webfonts#webfont",
3624
+ "family": "Chathura",
3625
+ "category": "sans-serif",
3626
+ "variants": [
3627
+ "100",
3628
+ "300",
3629
+ "regular",
3630
+ "700",
3631
+ "800"
3632
+ ],
3633
+ "subsets": [
3634
+ "telugu",
3635
+ "latin"
3636
+ ],
3637
+ "version": "v4",
3638
+ "lastModified": "2018-12-13",
3639
+ "files": {
3640
+ "100": "http://fonts.gstatic.com/s/chathura/v4/_gP91R7-rzUuVjim42dEq0SbTvZyuDo.ttf",
3641
+ "300": "http://fonts.gstatic.com/s/chathura/v4/_gP81R7-rzUuVjim42eMiWSxYPp7oSNy.ttf",
3642
+ "700": "http://fonts.gstatic.com/s/chathura/v4/_gP81R7-rzUuVjim42ecjmSxYPp7oSNy.ttf",
3643
+ "800": "http://fonts.gstatic.com/s/chathura/v4/_gP81R7-rzUuVjim42eAjWSxYPp7oSNy.ttf",
3644
+ "regular": "http://fonts.gstatic.com/s/chathura/v4/_gP71R7-rzUuVjim418goUC5S-Zy.ttf"
3645
+ }
3646
+ },
3647
+ {
3648
+ "kind": "webfonts#webfont",
3649
+ "family": "Chau Philomene One",
3650
+ "category": "sans-serif",
3651
+ "variants": [
3652
+ "regular",
3653
+ "italic"
3654
+ ],
3655
+ "subsets": [
3656
+ "latin-ext",
3657
+ "latin"
3658
+ ],
3659
+ "version": "v8",
3660
+ "lastModified": "2018-12-13",
3661
+ "files": {
3662
+ "regular": "http://fonts.gstatic.com/s/chauphilomeneone/v8/55xxezRsPtfie1vPY49qzdgSlJiHRQFsnIx7QMISdQ.ttf",
3663
+ "italic": "http://fonts.gstatic.com/s/chauphilomeneone/v8/55xzezRsPtfie1vPY49qzdgSlJiHRQFcnoZ_YscCdXQB.ttf"
3664
+ }
3665
+ },
3666
+ {
3667
+ "kind": "webfonts#webfont",
3668
+ "family": "Chela One",
3669
+ "category": "display",
3670
+ "variants": [
3671
+ "regular"
3672
+ ],
3673
+ "subsets": [
3674
+ "latin-ext",
3675
+ "latin"
3676
+ ],
3677
+ "version": "v7",
3678
+ "lastModified": "2018-12-13",
3679
+ "files": {
3680
+ "regular": "http://fonts.gstatic.com/s/chelaone/v7/6ae-4KC7Uqgdz_JZdPIy31vWNTMwoQ.ttf"
3681
+ }
3682
+ },
3683
+ {
3684
+ "kind": "webfonts#webfont",
3685
+ "family": "Chelsea Market",
3686
+ "category": "display",
3687
+ "variants": [
3688
+ "regular"
3689
+ ],
3690
+ "subsets": [
3691
+ "latin-ext",
3692
+ "latin"
3693
+ ],
3694
+ "version": "v6",
3695
+ "lastModified": "2019-01-10",
3696
+ "files": {
3697
+ "regular": "http://fonts.gstatic.com/s/chelseamarket/v6/BCawqZsHqfr89WNP_IApC8tzKBhlLA4uKkWk.ttf"
3698
+ }
3699
+ },
3700
+ {
3701
+ "kind": "webfonts#webfont",
3702
+ "family": "Chenla",
3703
+ "category": "display",
3704
+ "variants": [
3705
+ "regular"
3706
+ ],
3707
+ "subsets": [
3708
+ "khmer"
3709
+ ],
3710
+ "version": "v11",
3711
+ "lastModified": "2018-11-29",
3712
+ "files": {
3713
+ "regular": "http://fonts.gstatic.com/s/chenla/v11/SZc43FDpIKu8WZ9eXxfonUPL6Q.ttf"
3714
+ }
3715
+ },
3716
+ {
3717
+ "kind": "webfonts#webfont",
3718
+ "family": "Cherry Cream Soda",
3719
+ "category": "display",
3720
+ "variants": [
3721
+ "regular"
3722
+ ],
3723
+ "subsets": [
3724
+ "latin"
3725
+ ],
3726
+ "version": "v9",
3727
+ "lastModified": "2018-12-13",
3728
+ "files": {
3729
+ "regular": "http://fonts.gstatic.com/s/cherrycreamsoda/v9/UMBIrOxBrW6w2FFyi9paG0fdVdRciTd6Cd47DJ7G.ttf"
3730
+ }
3731
+ },
3732
+ {
3733
+ "kind": "webfonts#webfont",
3734
+ "family": "Cherry Swash",
3735
+ "category": "display",
3736
+ "variants": [
3737
+ "regular",
3738
+ "700"
3739
+ ],
3740
+ "subsets": [
3741
+ "latin-ext",
3742
+ "latin"
3743
+ ],
3744
+ "version": "v7",
3745
+ "lastModified": "2019-01-10",
3746
+ "files": {
3747
+ "700": "http://fonts.gstatic.com/s/cherryswash/v7/i7dSIFByZjaNAMxtZcnfAy5E_FeaGy6QZ3WfYg.ttf",
3748
+ "regular": "http://fonts.gstatic.com/s/cherryswash/v7/i7dNIFByZjaNAMxtZcnfAy58QHi-EwWMbg.ttf"
3749
+ }
3750
+ },
3751
+ {
3752
+ "kind": "webfonts#webfont",
3753
+ "family": "Chewy",
3754
+ "category": "display",
3755
+ "variants": [
3756
+ "regular"
3757
+ ],
3758
+ "subsets": [
3759
+ "latin"
3760
+ ],
3761
+ "version": "v10",
3762
+ "lastModified": "2019-01-15",
3763
+ "files": {
3764
+ "regular": "http://fonts.gstatic.com/s/chewy/v10/uK_94ruUb-k-wk5xIDMfO-ed.ttf"
3765
+ }
3766
+ },
3767
+ {
3768
+ "kind": "webfonts#webfont",
3769
+ "family": "Chicle",
3770
+ "category": "display",
3771
+ "variants": [
3772
+ "regular"
3773
+ ],
3774
+ "subsets": [
3775
+ "latin-ext",
3776
+ "latin"
3777
+ ],
3778
+ "version": "v7",
3779
+ "lastModified": "2018-12-13",
3780
+ "files": {
3781
+ "regular": "http://fonts.gstatic.com/s/chicle/v7/lJwG-pw9i2dqU-BDyWKuobYSxw.ttf"
3782
+ }
3783
+ },
3784
+ {
3785
+ "kind": "webfonts#webfont",
3786
+ "family": "Chivo",
3787
+ "category": "sans-serif",
3788
+ "variants": [
3789
+ "300",
3790
+ "300italic",
3791
+ "regular",
3792
+ "italic",
3793
+ "700",
3794
+ "700italic",
3795
+ "900",
3796
+ "900italic"
3797
+ ],
3798
+ "subsets": [
3799
+ "latin-ext",
3800
+ "latin"
3801
+ ],
3802
+ "version": "v10",
3803
+ "lastModified": "2019-01-15",
3804
+ "files": {
3805
+ "300": "http://fonts.gstatic.com/s/chivo/v10/va9F4kzIxd1KFrjDY8Z_uqzGQC_-.ttf",
3806
+ "700": "http://fonts.gstatic.com/s/chivo/v10/va9F4kzIxd1KFrjTZMZ_uqzGQC_-.ttf",
3807
+ "900": "http://fonts.gstatic.com/s/chivo/v10/va9F4kzIxd1KFrjrZsZ_uqzGQC_-.ttf",
3808
+ "300italic": "http://fonts.gstatic.com/s/chivo/v10/va9D4kzIxd1KFrBteUp9sKjkRT_-bF0.ttf",
3809
+ "regular": "http://fonts.gstatic.com/s/chivo/v10/va9I4kzIxd1KFoBvS-J3kbDP.ttf",
3810
+ "italic": "http://fonts.gstatic.com/s/chivo/v10/va9G4kzIxd1KFrBtQeZVlKDPWTY.ttf",
3811
+ "700italic": "http://fonts.gstatic.com/s/chivo/v10/va9D4kzIxd1KFrBteVp6sKjkRT_-bF0.ttf",
3812
+ "900italic": "http://fonts.gstatic.com/s/chivo/v10/va9D4kzIxd1KFrBteWJ4sKjkRT_-bF0.ttf"
3813
+ }
3814
+ },
3815
+ {
3816
+ "kind": "webfonts#webfont",
3817
+ "family": "Chonburi",
3818
+ "category": "display",
3819
+ "variants": [
3820
+ "regular"
3821
+ ],
3822
+ "subsets": [
3823
+ "latin-ext",
3824
+ "thai",
3825
+ "vietnamese",
3826
+ "latin"
3827
+ ],
3828
+ "version": "v3",
3829
+ "lastModified": "2019-01-10",
3830
+ "files": {
3831
+ "regular": "http://fonts.gstatic.com/s/chonburi/v3/8AtqGs-wOpGRTBq66IWaFr3biAfZ.ttf"
3832
+ }
3833
+ },
3834
+ {
3835
+ "kind": "webfonts#webfont",
3836
+ "family": "Cinzel",
3837
+ "category": "serif",
3838
+ "variants": [
3839
+ "regular",
3840
+ "700",
3841
+ "900"
3842
+ ],
3843
+ "subsets": [
3844
+ "latin-ext",
3845
+ "latin"
3846
+ ],
3847
+ "version": "v7",
3848
+ "lastModified": "2017-10-10",
3849
+ "files": {
3850
+ "700": "http://fonts.gstatic.com/s/cinzel/v7/8vIK7ww63mVu7gtzTUHeFA.ttf",
3851
+ "900": "http://fonts.gstatic.com/s/cinzel/v7/8vIK7ww63mVu7gtzdUPeFA.ttf",
3852
+ "regular": "http://fonts.gstatic.com/s/cinzel/v7/8vIJ7ww63mVu7gtL8Q.ttf"
3853
+ }
3854
+ },
3855
+ {
3856
+ "kind": "webfonts#webfont",
3857
+ "family": "Cinzel Decorative",
3858
+ "category": "display",
3859
+ "variants": [
3860
+ "regular",
3861
+ "700",
3862
+ "900"
3863
+ ],
3864
+ "subsets": [
3865
+ "latin"
3866
+ ],
3867
+ "version": "v7",
3868
+ "lastModified": "2019-01-10",
3869
+ "files": {
3870
+ "700": "http://fonts.gstatic.com/s/cinzeldecorative/v7/daaHSScvJGqLYhG8nNt8KPPswUAPniZoaelDQzCLlQXE.ttf",
3871
+ "900": "http://fonts.gstatic.com/s/cinzeldecorative/v7/daaHSScvJGqLYhG8nNt8KPPswUAPniZQa-lDQzCLlQXE.ttf",
3872
+ "regular": "http://fonts.gstatic.com/s/cinzeldecorative/v7/daaCSScvJGqLYhG8nNt8KPPswUAPnh7URs1LaCyC.ttf"
3873
+ }
3874
+ },
3875
+ {
3876
+ "kind": "webfonts#webfont",
3877
+ "family": "Clicker Script",
3878
+ "category": "handwriting",
3879
+ "variants": [
3880
+ "regular"
3881
+ ],
3882
+ "subsets": [
3883
+ "latin-ext",
3884
+ "latin"
3885
+ ],
3886
+ "version": "v6",
3887
+ "lastModified": "2019-01-10",
3888
+ "files": {
3889
+ "regular": "http://fonts.gstatic.com/s/clickerscript/v6/raxkHiKPvt8CMH6ZWP8PdlEq72rY2zqUKafv.ttf"
3890
+ }
3891
+ },
3892
+ {
3893
+ "kind": "webfonts#webfont",
3894
+ "family": "Coda",
3895
+ "category": "display",
3896
+ "variants": [
3897
+ "regular",
3898
+ "800"
3899
+ ],
3900
+ "subsets": [
3901
+ "latin-ext",
3902
+ "latin"
3903
+ ],
3904
+ "version": "v14",
3905
+ "lastModified": "2019-01-15",
3906
+ "files": {
3907
+ "800": "http://fonts.gstatic.com/s/coda/v14/SLXIc1jY5nQ8HeIgTp6mw9t1cX8.ttf",
3908
+ "regular": "http://fonts.gstatic.com/s/coda/v14/SLXHc1jY5nQ8JUIMapaN39I.ttf"
3909
+ }
3910
+ },
3911
+ {
3912
+ "kind": "webfonts#webfont",
3913
+ "family": "Coda Caption",
3914
+ "category": "sans-serif",
3915
+ "variants": [
3916
+ "800"
3917
+ ],
3918
+ "subsets": [
3919
+ "latin-ext",
3920
+ "latin"
3921
+ ],
3922
+ "version": "v12",
3923
+ "lastModified": "2019-01-10",
3924
+ "files": {
3925
+ "800": "http://fonts.gstatic.com/s/codacaption/v12/ieVm2YRII2GMY7SyXSoDRiQGqcx6x_-fACIgaw.ttf"
3926
+ }
3927
+ },
3928
+ {
3929
+ "kind": "webfonts#webfont",
3930
+ "family": "Codystar",
3931
+ "category": "display",
3932
+ "variants": [
3933
+ "300",
3934
+ "regular"
3935
+ ],
3936
+ "subsets": [
3937
+ "latin-ext",
3938
+ "latin"
3939
+ ],
3940
+ "version": "v6",
3941
+ "lastModified": "2019-01-10",
3942
+ "files": {
3943
+ "300": "http://fonts.gstatic.com/s/codystar/v6/FwZf7-Q1xVk-40qxOuYsyuyrj0e29bfC.ttf",
3944
+ "regular": "http://fonts.gstatic.com/s/codystar/v6/FwZY7-Q1xVk-40qxOt6A4sijpFu_.ttf"
3945
+ }
3946
+ },
3947
+ {
3948
+ "kind": "webfonts#webfont",
3949
+ "family": "Coiny",
3950
+ "category": "display",
3951
+ "variants": [
3952
+ "regular"
3953
+ ],
3954
+ "subsets": [
3955
+ "latin-ext",
3956
+ "tamil",
3957
+ "vietnamese",
3958
+ "latin"
3959
+ ],
3960
+ "version": "v4",
3961
+ "lastModified": "2018-12-13",
3962
+ "files": {
3963
+ "regular": "http://fonts.gstatic.com/s/coiny/v4/gyByhwU1K989PXwbElSvO5Tc.ttf"
3964
+ }
3965
+ },
3966
+ {
3967
+ "kind": "webfonts#webfont",
3968
+ "family": "Combo",
3969
+ "category": "display",
3970
+ "variants": [
3971
+ "regular"
3972
+ ],
3973
+ "subsets": [
3974
+ "latin-ext",
3975
+ "latin"
3976
+ ],
3977
+ "version": "v7",
3978
+ "lastModified": "2018-11-29",
3979
+ "files": {
3980
+ "regular": "http://fonts.gstatic.com/s/combo/v7/BXRlvF3Jh_fIhg0iBu9y8Hf0.ttf"
3981
+ }
3982
+ },
3983
+ {
3984
+ "kind": "webfonts#webfont",
3985
+ "family": "Comfortaa",
3986
+ "category": "display",
3987
+ "variants": [
3988
+ "300",
3989
+ "regular",
3990
+ "700"
3991
+ ],
3992
+ "subsets": [
3993
+ "latin-ext",
3994
+ "cyrillic-ext",
3995
+ "cyrillic",
3996
+ "greek",
3997
+ "vietnamese",
3998
+ "latin"
3999
+ ],
4000
+ "version": "v12",
4001
+ "lastModified": "2017-11-07",
4002
+ "files": {
4003
+ "300": "http://fonts.gstatic.com/s/comfortaa/v12/1Ptpg8LJRfWJmhDAuUsw5qNPBQ.ttf",
4004
+ "700": "http://fonts.gstatic.com/s/comfortaa/v12/1Ptpg8LJRfWJmhDAuUsw9qRPBQ.ttf",
4005
+ "regular": "http://fonts.gstatic.com/s/comfortaa/v12/1Ptsg8LJRfWJmhDAuUsISg.ttf"
4006
+ }
4007
+ },
4008
+ {
4009
+ "kind": "webfonts#webfont",
4010
+ "family": "Coming Soon",
4011
+ "category": "handwriting",
4012
+ "variants": [
4013
+ "regular"
4014
+ ],
4015
+ "subsets": [
4016
+ "latin"
4017
+ ],
4018
+ "version": "v9",
4019
+ "lastModified": "2019-01-15",
4020
+ "files": {
4021
+ "regular": "http://fonts.gstatic.com/s/comingsoon/v9/qWcuB6mzpYL7AJ2VfdQR1u-SUjjzsykh.ttf"
4022
+ }
4023
+ },
4024
+ {
4025
+ "kind": "webfonts#webfont",
4026
+ "family": "Concert One",
4027
+ "category": "display",
4028
+ "variants": [
4029
+ "regular"
4030
+ ],
4031
+ "subsets": [
4032
+ "latin-ext",
4033
+ "latin"
4034
+ ],
4035
+ "version": "v9",
4036
+ "lastModified": "2019-01-15",
4037
+ "files": {
4038
+ "regular": "http://fonts.gstatic.com/s/concertone/v9/VEM1Ro9xs5PjtzCu-srDqRTlhv-CuVAQ.ttf"
4039
+ }
4040
+ },
4041
+ {
4042
+ "kind": "webfonts#webfont",
4043
+ "family": "Condiment",
4044
+ "category": "handwriting",
4045
+ "variants": [
4046
+ "regular"
4047
+ ],
4048
+ "subsets": [
4049
+ "latin-ext",
4050
+ "latin"
4051
+ ],
4052
+ "version": "v6",
4053
+ "lastModified": "2019-01-10",
4054
+ "files": {
4055
+ "regular": "http://fonts.gstatic.com/s/condiment/v6/pONk1hggFNmwvXALyH6Sq4n4o1vyCQ.ttf"
4056
+ }
4057
+ },
4058
+ {
4059
+ "kind": "webfonts#webfont",
4060
+ "family": "Content",
4061
+ "category": "display",
4062
+ "variants": [
4063
+ "regular",
4064
+ "700"
4065
+ ],
4066
+ "subsets": [
4067
+ "khmer"
4068
+ ],
4069
+ "version": "v11",
4070
+ "lastModified": "2018-12-13",
4071
+ "files": {
4072
+ "700": "http://fonts.gstatic.com/s/content/v11/zrfg0HLayePhU_AwaRzdBirfWCHvkAI.ttf",
4073
+ "regular": "http://fonts.gstatic.com/s/content/v11/zrfl0HLayePhU_AwUaDyIiL0RCg.ttf"
4074
+ }
4075
+ },
4076
+ {
4077
+ "kind": "webfonts#webfont",
4078
+ "family": "Contrail One",
4079
+ "category": "display",
4080
+ "variants": [
4081
+ "regular"
4082
+ ],
4083
+ "subsets": [
4084
+ "latin"
4085
+ ],
4086
+ "version": "v8",
4087
+ "lastModified": "2019-01-10",
4088
+ "files": {
4089
+ "regular": "http://fonts.gstatic.com/s/contrailone/v8/eLGbP-j_JA-kG0_Zo51noafdZUvt_c092w.ttf"
4090
+ }
4091
+ },
4092
+ {
4093
+ "kind": "webfonts#webfont",
4094
+ "family": "Convergence",
4095
+ "category": "sans-serif",
4096
+ "variants": [
4097
+ "regular"
4098
+ ],
4099
+ "subsets": [
4100
+ "latin"
4101
+ ],
4102
+ "version": "v7",
4103
+ "lastModified": "2019-01-10",
4104
+ "files": {
4105
+ "regular": "http://fonts.gstatic.com/s/convergence/v7/rax5HiePvdgXPmmMHcIPYRhasU7Q8Cad.ttf"
4106
+ }
4107
+ },
4108
+ {
4109
+ "kind": "webfonts#webfont",
4110
+ "family": "Cookie",
4111
+ "category": "handwriting",
4112
+ "variants": [
4113
+ "regular"
4114
+ ],
4115
+ "subsets": [
4116
+ "latin"
4117
+ ],
4118
+ "version": "v10",
4119
+ "lastModified": "2019-01-15",
4120
+ "files": {
4121
+ "regular": "http://fonts.gstatic.com/s/cookie/v10/syky-y18lb0tSbfNlQCT9tPdpw.ttf"
4122
+ }
4123
+ },
4124
+ {
4125
+ "kind": "webfonts#webfont",
4126
+ "family": "Copse",
4127
+ "category": "serif",
4128
+ "variants": [
4129
+ "regular"
4130
+ ],
4131
+ "subsets": [
4132
+ "latin"
4133
+ ],
4134
+ "version": "v8",
4135
+ "lastModified": "2019-01-10",
4136
+ "files": {
4137
+ "regular": "http://fonts.gstatic.com/s/copse/v8/11hPGpDKz1rGb0djHkihUb-A.ttf"
4138
+ }
4139
+ },
4140
+ {
4141
+ "kind": "webfonts#webfont",
4142
+ "family": "Corben",
4143
+ "category": "display",
4144
+ "variants": [
4145
+ "regular",
4146
+ "700"
4147
+ ],
4148
+ "subsets": [
4149
+ "latin-ext",
4150
+ "latin"
4151
+ ],
4152
+ "version": "v12",
4153
+ "lastModified": "2019-01-10",
4154
+ "files": {
4155
+ "700": "http://fonts.gstatic.com/s/corben/v12/LYjAdGzzklQtCMpFHCZgrXArXN7HWQ.ttf",
4156
+ "regular": "http://fonts.gstatic.com/s/corben/v12/LYjDdGzzklQtCMp9oAlEpVs3VQ.ttf"
4157
+ }
4158
+ },
4159
+ {
4160
+ "kind": "webfonts#webfont",
4161
+ "family": "Cormorant",
4162
+ "category": "serif",
4163
+ "variants": [
4164
+ "300",
4165
+ "300italic",
4166
+ "regular",
4167
+ "italic",
4168
+ "500",
4169
+ "500italic",
4170
+ "600",
4171
+ "600italic",
4172
+ "700",
4173
+ "700italic"
4174
+ ],
4175
+ "subsets": [
4176
+ "latin-ext",
4177
+ "cyrillic-ext",
4178
+ "cyrillic",
4179
+ "vietnamese",
4180
+ "latin"
4181
+ ],
4182
+ "version": "v7",
4183
+ "lastModified": "2019-01-15",
4184
+ "files": {
4185
+ "300": "http://fonts.gstatic.com/s/cormorant/v7/H4cgBXOCl9bbnla_nHIiRLmYgoyyYzFzFw.ttf",
4186
+ "500": "http://fonts.gstatic.com/s/cormorant/v7/H4cgBXOCl9bbnla_nHIiHLiYgoyyYzFzFw.ttf",
4187
+ "600": "http://fonts.gstatic.com/s/cormorant/v7/H4cgBXOCl9bbnla_nHIiML-YgoyyYzFzFw.ttf",
4188
+ "700": "http://fonts.gstatic.com/s/cormorant/v7/H4cgBXOCl9bbnla_nHIiVL6YgoyyYzFzFw.ttf",
4189
+ "300italic": "http://fonts.gstatic.com/s/cormorant/v7/H4c-BXOCl9bbnla_nHIq6qMUgIa2QTRjF8ER.ttf",
4190
+ "regular": "http://fonts.gstatic.com/s/cormorant/v7/H4clBXOCl9bbnla_nHIa6JG8iqeuag.ttf",
4191
+ "italic": "http://fonts.gstatic.com/s/cormorant/v7/H4cjBXOCl9bbnla_nHIq6pu4qKK-aihq.ttf",
4192
+ "500italic": "http://fonts.gstatic.com/s/cormorant/v7/H4c-BXOCl9bbnla_nHIq6qNMgYa2QTRjF8ER.ttf",
4193
+ "600italic": "http://fonts.gstatic.com/s/cormorant/v7/H4c-BXOCl9bbnla_nHIq6qNghoa2QTRjF8ER.ttf",
4194
+ "700italic": "http://fonts.gstatic.com/s/cormorant/v7/H4c-BXOCl9bbnla_nHIq6qMEh4a2QTRjF8ER.ttf"
4195
+ }
4196
+ },
4197
+ {
4198
+ "kind": "webfonts#webfont",
4199
+ "family": "Cormorant Garamond",
4200
+ "category": "serif",
4201
+ "variants": [
4202
+ "300",
4203
+ "300italic",
4204
+ "regular",
4205
+ "italic",
4206
+ "500",
4207
+ "500italic",
4208
+ "600",
4209
+ "600italic",
4210
+ "700",
4211
+ "700italic"
4212
+ ],
4213
+ "subsets": [
4214
+ "latin-ext",
4215
+ "cyrillic-ext",
4216
+ "cyrillic",
4217
+ "vietnamese",
4218
+ "latin"
4219
+ ],
4220
+ "version": "v6",
4221
+ "lastModified": "2019-01-15",
4222
+ "files": {
4223
+ "300": "http://fonts.gstatic.com/s/cormorantgaramond/v6/co3YmX5slCNuHLi8bLeY9MK7whWMhyjQAllvuQWJ5heb_w.ttf",
4224
+ "500": "http://fonts.gstatic.com/s/cormorantgaramond/v6/co3YmX5slCNuHLi8bLeY9MK7whWMhyjQWlhvuQWJ5heb_w.ttf",
4225
+ "600": "http://fonts.gstatic.com/s/cormorantgaramond/v6/co3YmX5slCNuHLi8bLeY9MK7whWMhyjQdl9vuQWJ5heb_w.ttf",
4226
+ "700": "http://fonts.gstatic.com/s/cormorantgaramond/v6/co3YmX5slCNuHLi8bLeY9MK7whWMhyjQEl5vuQWJ5heb_w.ttf",
4227
+ "300italic": "http://fonts.gstatic.com/s/cormorantgaramond/v6/co3WmX5slCNuHLi8bLeY9MK7whWMhyjYrEPjuw-NxBKL_y94.ttf",
4228
+ "regular": "http://fonts.gstatic.com/s/cormorantgaramond/v6/co3bmX5slCNuHLi8bLeY9MK7whWMhyjornFLsS6V7w.ttf",
4229
+ "italic": "http://fonts.gstatic.com/s/cormorantgaramond/v6/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrHtPkyuF7w6C.ttf",
4230
+ "500italic": "http://fonts.gstatic.com/s/cormorantgaramond/v6/co3WmX5slCNuHLi8bLeY9MK7whWMhyjYrEO7ug-NxBKL_y94.ttf",
4231
+ "600italic": "http://fonts.gstatic.com/s/cormorantgaramond/v6/co3WmX5slCNuHLi8bLeY9MK7whWMhyjYrEOXvQ-NxBKL_y94.ttf",
4232
+ "700italic": "http://fonts.gstatic.com/s/cormorantgaramond/v6/co3WmX5slCNuHLi8bLeY9MK7whWMhyjYrEPzvA-NxBKL_y94.ttf"
4233
+ }
4234
+ },
4235
+ {
4236
+ "kind": "webfonts#webfont",
4237
+ "family": "Cormorant Infant",
4238
+ "category": "serif",
4239
+ "variants": [
4240
+ "300",
4241
+ "300italic",
4242
+ "regular",
4243
+ "italic",
4244
+ "500",
4245
+ "500italic",
4246
+ "600",
4247
+ "600italic",
4248
+ "700",
4249
+ "700italic"
4250
+ ],
4251
+ "subsets": [
4252
+ "latin-ext",
4253
+ "cyrillic-ext",
4254
+ "cyrillic",
4255
+ "vietnamese",
4256
+ "latin"
4257
+ ],
4258
+ "version": "v7",
4259
+ "lastModified": "2019-01-10",
4260
+ "files": {
4261
+ "300": "http://fonts.gstatic.com/s/cormorantinfant/v7/HhyIU44g9vKiM1sORYSiWeAsLN9951w3_DMrQqcdJrk.ttf",
4262
+ "500": "http://fonts.gstatic.com/s/cormorantinfant/v7/HhyIU44g9vKiM1sORYSiWeAsLN995wQ2_DMrQqcdJrk.ttf",
4263
+ "600": "http://fonts.gstatic.com/s/cormorantinfant/v7/HhyIU44g9vKiM1sORYSiWeAsLN995ygx_DMrQqcdJrk.ttf",
4264
+ "700": "http://fonts.gstatic.com/s/cormorantinfant/v7/HhyIU44g9vKiM1sORYSiWeAsLN9950ww_DMrQqcdJrk.ttf",
4265
+ "300italic": "http://fonts.gstatic.com/s/cormorantinfant/v7/HhyKU44g9vKiM1sORYSiWeAsLN997_ItcDEhRoUYNrn_Ig.ttf",
4266
+ "regular": "http://fonts.gstatic.com/s/cormorantinfant/v7/HhyPU44g9vKiM1sORYSiWeAsLN993_Af2DsAXq4.ttf",
4267
+ "italic": "http://fonts.gstatic.com/s/cormorantinfant/v7/HhyJU44g9vKiM1sORYSiWeAsLN997_IV3BkFTq4EPw.ttf",
4268
+ "500italic": "http://fonts.gstatic.com/s/cormorantinfant/v7/HhyKU44g9vKiM1sORYSiWeAsLN997_ItKDAhRoUYNrn_Ig.ttf",
4269
+ "600italic": "http://fonts.gstatic.com/s/cormorantinfant/v7/HhyKU44g9vKiM1sORYSiWeAsLN997_ItBDchRoUYNrn_Ig.ttf",
4270
+ "700italic": "http://fonts.gstatic.com/s/cormorantinfant/v7/HhyKU44g9vKiM1sORYSiWeAsLN997_ItYDYhRoUYNrn_Ig.ttf"
4271
+ }
4272
+ },
4273
+ {
4274
+ "kind": "webfonts#webfont",
4275
+ "family": "Cormorant SC",
4276
+ "category": "serif",
4277
+ "variants": [
4278
+ "300",
4279
+ "regular",
4280
+ "500",
4281
+ "600",
4282
+ "700"
4283
+ ],
4284
+ "subsets": [
4285
+ "latin-ext",
4286
+ "cyrillic-ext",
4287
+ "cyrillic",
4288
+ "vietnamese",
4289
+ "latin"
4290
+ ],
4291
+ "version": "v7",
4292
+ "lastModified": "2019-01-10",
4293
+ "files": {
4294
+ "300": "http://fonts.gstatic.com/s/cormorantsc/v7/0ybmGD4kxqXBmOVLG30OGwsmABIU_R3y8DOWGA.ttf",
4295
+ "500": "http://fonts.gstatic.com/s/cormorantsc/v7/0ybmGD4kxqXBmOVLG30OGwsmWBMU_R3y8DOWGA.ttf",
4296
+ "600": "http://fonts.gstatic.com/s/cormorantsc/v7/0ybmGD4kxqXBmOVLG30OGwsmdBQU_R3y8DOWGA.ttf",
4297
+ "700": "http://fonts.gstatic.com/s/cormorantsc/v7/0ybmGD4kxqXBmOVLG30OGwsmEBUU_R3y8DOWGA.ttf",
4298
+ "regular": "http://fonts.gstatic.com/s/cormorantsc/v7/0yb5GD4kxqXBmOVLG30OGwserDow9Tbu-Q.ttf"
4299
+ }
4300
+ },
4301
+ {
4302
+ "kind": "webfonts#webfont",
4303
+ "family": "Cormorant Unicase",
4304
+ "category": "serif",
4305
+ "variants": [
4306
+ "300",
4307
+ "regular",
4308
+ "500",
4309
+ "600",
4310
+ "700"
4311
+ ],
4312
+ "subsets": [
4313
+ "latin-ext",
4314
+ "cyrillic-ext",
4315
+ "cyrillic",
4316
+ "vietnamese",
4317
+ "latin"
4318
+ ],
4319
+ "version": "v7",
4320
+ "lastModified": "2018-12-13",
4321
+ "files": {
4322
+ "300": "http://fonts.gstatic.com/s/cormorantunicase/v7/HI_ViZUaILtOqhqgDeXoF_n1_fTGX9N_tucv7Gy0DRzS.ttf",
4323
+ "500": "http://fonts.gstatic.com/s/cormorantunicase/v7/HI_ViZUaILtOqhqgDeXoF_n1_fTGX9Mnt-cv7Gy0DRzS.ttf",
4324
+ "600": "http://fonts.gstatic.com/s/cormorantunicase/v7/HI_ViZUaILtOqhqgDeXoF_n1_fTGX9MLsOcv7Gy0DRzS.ttf",
4325
+ "700": "http://fonts.gstatic.com/s/cormorantunicase/v7/HI_ViZUaILtOqhqgDeXoF_n1_fTGX9Nvsecv7Gy0DRzS.ttf",
4326
+ "regular": "http://fonts.gstatic.com/s/cormorantunicase/v7/HI_QiZUaILtOqhqgDeXoF_n1_fTGX-vTnsMnx3C9.ttf"
4327
+ }
4328
+ },
4329
+ {
4330
+ "kind": "webfonts#webfont",
4331
+ "family": "Cormorant Upright",
4332
+ "category": "serif",
4333
+ "variants": [
4334
+ "300",
4335
+ "regular",
4336
+ "500",
4337
+ "600",
4338
+ "700"
4339
+ ],
4340
+ "subsets": [
4341
+ "latin-ext",
4342
+ "vietnamese",
4343
+ "latin"
4344
+ ],
4345
+ "version": "v5",
4346
+ "lastModified": "2019-01-10",
4347
+ "files": {
4348
+ "300": "http://fonts.gstatic.com/s/cormorantupright/v5/VuJudM3I2Y35poFONtLdafkUCHw1y1N5phDsU9X6RPzQ.ttf",
4349
+ "500": "http://fonts.gstatic.com/s/cormorantupright/v5/VuJudM3I2Y35poFONtLdafkUCHw1y1MhpxDsU9X6RPzQ.ttf",
4350
+ "600": "http://fonts.gstatic.com/s/cormorantupright/v5/VuJudM3I2Y35poFONtLdafkUCHw1y1MNoBDsU9X6RPzQ.ttf",
4351
+ "700": "http://fonts.gstatic.com/s/cormorantupright/v5/VuJudM3I2Y35poFONtLdafkUCHw1y1NpoRDsU9X6RPzQ.ttf",
4352
+ "regular": "http://fonts.gstatic.com/s/cormorantupright/v5/VuJrdM3I2Y35poFONtLdafkUCHw1y2vVjjTkeMnz.ttf"
4353
+ }
4354
+ },
4355
+ {
4356
+ "kind": "webfonts#webfont",
4357
+ "family": "Courgette",
4358
+ "category": "handwriting",
4359
+ "variants": [
4360
+ "regular"
4361
+ ],
4362
+ "subsets": [
4363
+ "latin-ext",
4364
+ "latin"
4365
+ ],
4366
+ "version": "v6",
4367
+ "lastModified": "2019-01-15",
4368
+ "files": {
4369
+ "regular": "http://fonts.gstatic.com/s/courgette/v6/wEO_EBrAnc9BLjLQAUkFUfAL3EsHiA.ttf"
4370
+ }
4371
+ },
4372
+ {
4373
+ "kind": "webfonts#webfont",
4374
+ "family": "Cousine",
4375
+ "category": "monospace",
4376
+ "variants": [
4377
+ "regular",
4378
+ "italic",
4379
+ "700",
4380
+ "700italic"
4381
+ ],
4382
+ "subsets": [
4383
+ "hebrew",
4384
+ "latin-ext",
4385
+ "greek-ext",
4386
+ "cyrillic-ext",
4387
+ "cyrillic",
4388
+ "greek",
4389
+ "vietnamese",
4390
+ "latin"
4391
+ ],
4392
+ "version": "v13",
4393
+ "lastModified": "2019-01-15",
4394
+ "files": {
4395
+ "700": "http://fonts.gstatic.com/s/cousine/v13/d6lNkaiiRdih4SpP9Z8K6T7G09BlnmQ.ttf",
4396
+ "regular": "http://fonts.gstatic.com/s/cousine/v13/d6lIkaiiRdih4SpPzSMlzTbtz9k.ttf",
4397
+ "italic": "http://fonts.gstatic.com/s/cousine/v13/d6lKkaiiRdih4SpP_SEvyRTo39l8hw.ttf",
4398
+ "700italic": "http://fonts.gstatic.com/s/cousine/v13/d6lPkaiiRdih4SpP_SEXdTvM1_JgjmRpOA.ttf"
4399
+ }
4400
+ },
4401
+ {
4402
+ "kind": "webfonts#webfont",
4403
+ "family": "Coustard",
4404
+ "category": "serif",
4405
+ "variants": [
4406
+ "regular",
4407
+ "900"
4408
+ ],
4409
+ "subsets": [
4410
+ "latin"
4411
+ ],
4412
+ "version": "v9",
4413
+ "lastModified": "2019-01-15",
4414
+ "files": {
4415
+ "900": "http://fonts.gstatic.com/s/coustard/v9/3XFuErgg3YsZ5fqUU-2LkEHmb_jU3eRL.ttf",
4416
+ "regular": "http://fonts.gstatic.com/s/coustard/v9/3XFpErgg3YsZ5fqUU9UPvWXuROTd.ttf"
4417
+ }
4418
+ },
4419
+ {
4420
+ "kind": "webfonts#webfont",
4421
+ "family": "Covered By Your Grace",
4422
+ "category": "handwriting",
4423
+ "variants": [
4424
+ "regular"
4425
+ ],
4426
+ "subsets": [
4427
+ "latin"
4428
+ ],
4429
+ "version": "v8",
4430
+ "lastModified": "2019-01-15",
4431
+ "files": {
4432
+ "regular": "http://fonts.gstatic.com/s/coveredbyyourgrace/v8/QGYwz-AZahWOJJI9kykWW9mD6opopoqXSOS0FgItq6bFIg.ttf"
4433
+ }
4434
+ },
4435
+ {
4436
+ "kind": "webfonts#webfont",
4437
+ "family": "Crafty Girls",
4438
+ "category": "handwriting",
4439
+ "variants": [
4440
+ "regular"
4441
+ ],
4442
+ "subsets": [
4443
+ "latin"
4444
+ ],
4445
+ "version": "v8",
4446
+ "lastModified": "2019-01-10",
4447
+ "files": {
4448
+ "regular": "http://fonts.gstatic.com/s/craftygirls/v8/va9B4kXI39VaDdlPJo8N_NvuQR37fF3Wlg.ttf"
4449
+ }
4450
+ },
4451
+ {
4452
+ "kind": "webfonts#webfont",
4453
+ "family": "Creepster",
4454
+ "category": "display",
4455
+ "variants": [
4456
+ "regular"
4457
+ ],
4458
+ "subsets": [
4459
+ "latin"
4460
+ ],
4461
+ "version": "v7",
4462
+ "lastModified": "2019-01-10",
4463
+ "files": {
4464
+ "regular": "http://fonts.gstatic.com/s/creepster/v7/AlZy_zVUqJz4yMrniH4hdXf4XB0Tow.ttf"
4465
+ }
4466
+ },
4467
+ {
4468
+ "kind": "webfonts#webfont",
4469
+ "family": "Crete Round",
4470
+ "category": "serif",
4471
+ "variants": [
4472
+ "regular",
4473
+ "italic"
4474
+ ],
4475
+ "subsets": [
4476
+ "latin-ext",
4477
+ "latin"
4478
+ ],
4479
+ "version": "v6",
4480
+ "lastModified": "2017-10-10",
4481
+ "files": {
4482
+ "regular": "http://fonts.gstatic.com/s/creteround/v6/55xoey1sJNPjPiv1ZZZrxJ18.ttf",
4483
+ "italic": "http://fonts.gstatic.com/s/creteround/v6/55xqey1sJNPjPiv1ZZZrxK1-0bg.ttf"
4484
+ }
4485
+ },
4486
+ {
4487
+ "kind": "webfonts#webfont",
4488
+ "family": "Crimson Text",
4489
+ "category": "serif",
4490
+ "variants": [
4491
+ "regular",
4492
+ "italic",
4493
+ "600",
4494
+ "600italic",
4495
+ "700",
4496
+ "700italic"
4497
+ ],
4498
+ "subsets": [
4499
+ "latin"
4500
+ ],
4501
+ "version": "v8",
4502
+ "lastModified": "2017-10-10",
4503
+ "files": {
4504
+ "600": "http://fonts.gstatic.com/s/crimsontext/v8/wlppgwHKFkZgtmSR3NB0oRJXsCx2Cw.ttf",
4505
+ "700": "http://fonts.gstatic.com/s/crimsontext/v8/wlppgwHKFkZgtmSR3NB0oRJX1C12Cw.ttf",
4506
+ "regular": "http://fonts.gstatic.com/s/crimsontext/v8/wlp2gwHKFkZgtmSR3NB0oRJvaA.ttf",
4507
+ "italic": "http://fonts.gstatic.com/s/crimsontext/v8/wlpogwHKFkZgtmSR3NB0oRJfaghW.ttf",
4508
+ "600italic": "http://fonts.gstatic.com/s/crimsontext/v8/wlprgwHKFkZgtmSR3NB0oRJfajCOD9NV.ttf",
4509
+ "700italic": "http://fonts.gstatic.com/s/crimsontext/v8/wlprgwHKFkZgtmSR3NB0oRJfajDqDtNV.ttf"
4510
+ }
4511
+ },
4512
+ {
4513
+ "kind": "webfonts#webfont",
4514
+ "family": "Croissant One",
4515
+ "category": "display",
4516
+ "variants": [
4517
+ "regular"
4518
+ ],
4519
+ "subsets": [
4520
+ "latin-ext",
4521
+ "latin"
4522
+ ],
4523
+ "version": "v6",
4524
+ "lastModified": "2018-12-13",
4525
+ "files": {
4526
+ "regular": "http://fonts.gstatic.com/s/croissantone/v6/3y9n6bU9bTPg4m8NDy3Kq24UM3pqn5cdJ-4.ttf"
4527
+ }
4528
+ },
4529
+ {
4530
+ "kind": "webfonts#webfont",
4531
+ "family": "Crushed",
4532
+ "category": "display",
4533
+ "variants": [
4534
+ "regular"
4535
+ ],
4536
+ "subsets": [
4537
+ "latin"
4538
+ ],
4539
+ "version": "v9",
4540
+ "lastModified": "2019-01-10",
4541
+ "files": {
4542
+ "regular": "http://fonts.gstatic.com/s/crushed/v9/U9Mc6dym6WXImTlFT1kfuIqyLzA.ttf"
4543
+ }
4544
+ },
4545
+ {
4546
+ "kind": "webfonts#webfont",
4547
+ "family": "Cuprum",
4548
+ "category": "sans-serif",
4549
+ "variants": [
4550
+ "regular",
4551
+ "italic",
4552
+ "700",
4553
+ "700italic"
4554
+ ],
4555
+ "subsets": [
4556
+ "latin-ext",
4557
+ "cyrillic-ext",
4558
+ "cyrillic",
4559
+ "vietnamese",
4560
+ "latin"
4561
+ ],
4562
+ "version": "v10",
4563
+ "lastModified": "2019-01-15",
4564
+ "files": {
4565
+ "700": "http://fonts.gstatic.com/s/cuprum/v10/dg4n_pLmvrkcOkBFnc5nj5YpQwM-gg.ttf",
4566
+ "regular": "http://fonts.gstatic.com/s/cuprum/v10/dg4k_pLmvrkcOkB9IeFDh701Sg.ttf",
4567
+ "italic": "http://fonts.gstatic.com/s/cuprum/v10/dg4m_pLmvrkcOkBNI-tHpbglShon.ttf",
4568
+ "700italic": "http://fonts.gstatic.com/s/cuprum/v10/dg4h_pLmvrkcOkBNI9P7ipwtYQYugjW4.ttf"
4569
+ }
4570
+ },
4571
+ {
4572
+ "kind": "webfonts#webfont",
4573
+ "family": "Cute Font",
4574
+ "category": "display",
4575
+ "variants": [
4576
+ "regular"
4577
+ ],
4578
+ "subsets": [
4579
+ "korean",
4580
+ "latin"
4581
+ ],
4582
+ "version": "v5",
4583
+ "lastModified": "2018-11-08",
4584
+ "files": {
4585
+ "regular": "http://fonts.gstatic.com/s/cutefont/v5/Noaw6Uny2oWPbSHMrY6vmJNVNC9hkw.ttf"
4586
+ }
4587
+ },
4588
+ {
4589
+ "kind": "webfonts#webfont",
4590
+ "family": "Cutive",
4591
+ "category": "serif",
4592
+ "variants": [
4593
+ "regular"
4594
+ ],
4595
+ "subsets": [
4596
+ "latin-ext",
4597
+ "latin"
4598
+ ],
4599
+ "version": "v10",
4600
+ "lastModified": "2019-01-10",
4601
+ "files": {
4602
+ "regular": "http://fonts.gstatic.com/s/cutive/v10/NaPZcZ_fHOhV3Ip7T_hDoyqlZQ.ttf"
4603
+ }
4604
+ },
4605
+ {
4606
+ "kind": "webfonts#webfont",
4607
+ "family": "Cutive Mono",
4608
+ "category": "monospace",
4609
+ "variants": [
4610
+ "regular"
4611
+ ],
4612
+ "subsets": [
4613
+ "latin-ext",
4614
+ "latin"
4615
+ ],
4616
+ "version": "v7",
4617
+ "lastModified": "2019-01-10",
4618
+ "files": {
4619
+ "regular": "http://fonts.gstatic.com/s/cutivemono/v7/m8JWjfRfY7WVjVi2E-K9H5RFRG-K3Mud.ttf"
4620
+ }
4621
+ },
4622
+ {
4623
+ "kind": "webfonts#webfont",
4624
+ "family": "Damion",
4625
+ "category": "handwriting",
4626
+ "variants": [
4627
+ "regular"
4628
+ ],
4629
+ "subsets": [
4630
+ "latin"
4631
+ ],
4632
+ "version": "v8",
4633
+ "lastModified": "2019-01-15",
4634
+ "files": {
4635
+ "regular": "http://fonts.gstatic.com/s/damion/v8/hv-XlzJ3KEUe_YZUbWY3MTFgVg.ttf"
4636
+ }
4637
+ },
4638
+ {
4639
+ "kind": "webfonts#webfont",
4640
+ "family": "Dancing Script",
4641
+ "category": "handwriting",
4642
+ "variants": [
4643
+ "regular",
4644
+ "700"
4645
+ ],
4646
+ "subsets": [
4647
+ "latin-ext",
4648
+ "vietnamese",
4649
+ "latin"
4650
+ ],
4651
+ "version": "v9",
4652
+ "lastModified": "2017-10-10",
4653
+ "files": {
4654
+ "700": "http://fonts.gstatic.com/s/dancingscript/v9/If2SXTr6YS-zF4S-kcSWSVi_szpbr8Qt.ttf",
4655
+ "regular": "http://fonts.gstatic.com/s/dancingscript/v9/If2RXTr6YS-zF4S-kcSWSVi_swLn.ttf"
4656
+ }
4657
+ },
4658
+ {
4659
+ "kind": "webfonts#webfont",
4660
+ "family": "Dangrek",
4661
+ "category": "display",
4662
+ "variants": [
4663
+ "regular"
4664
+ ],
4665
+ "subsets": [
4666
+ "khmer"
4667
+ ],
4668
+ "version": "v10",
4669
+ "lastModified": "2018-12-13",
4670
+ "files": {
4671
+ "regular": "http://fonts.gstatic.com/s/dangrek/v10/LYjCdG30nEgoH8E2gCNqqVIuTN4.ttf"
4672
+ }
4673
+ },
4674
+ {
4675
+ "kind": "webfonts#webfont",
4676
+ "family": "David Libre",
4677
+ "category": "serif",
4678
+ "variants": [
4679
+ "regular",
4680
+ "500",
4681
+ "700"
4682
+ ],
4683
+ "subsets": [
4684
+ "hebrew",
4685
+ "latin-ext",
4686
+ "vietnamese",
4687
+ "latin"
4688
+ ],
4689
+ "version": "v3",
4690
+ "lastModified": "2019-01-10",
4691
+ "files": {
4692
+ "500": "http://fonts.gstatic.com/s/davidlibre/v3/snfzs0W_99N64iuYSvp4W8GIw7qbSjORSo9W.ttf",
4693
+ "700": "http://fonts.gstatic.com/s/davidlibre/v3/snfzs0W_99N64iuYSvp4W8HAxbqbSjORSo9W.ttf",
4694
+ "regular": "http://fonts.gstatic.com/s/davidlibre/v3/snfus0W_99N64iuYSvp4W_l86p6TYS-Y.ttf"
4695
+ }
4696
+ },
4697
+ {
4698
+ "kind": "webfonts#webfont",
4699
+ "family": "Dawning of a New Day",
4700
+ "category": "handwriting",
4701
+ "variants": [
4702
+ "regular"
4703
+ ],
4704
+ "subsets": [
4705
+ "latin"
4706
+ ],
4707
+ "version": "v9",
4708
+ "lastModified": "2019-01-10",
4709
+ "files": {
4710
+ "regular": "http://fonts.gstatic.com/s/dawningofanewday/v9/t5t_IQMbOp2SEwuncwLRjMfIg1yYit_nAz8bhWJGNoBE.ttf"
4711
+ }
4712
+ },
4713
+ {
4714
+ "kind": "webfonts#webfont",
4715
+ "family": "Days One",
4716
+ "category": "sans-serif",
4717
+ "variants": [
4718
+ "regular"
4719
+ ],
4720
+ "subsets": [
4721
+ "latin"
4722
+ ],
4723
+ "version": "v8",
4724
+ "lastModified": "2019-01-10",
4725
+ "files": {
4726
+ "regular": "http://fonts.gstatic.com/s/daysone/v8/mem9YaCnxnKRiYZOCLYVeLkWVNBt.ttf"
4727
+ }
4728
+ },
4729
+ {
4730
+ "kind": "webfonts#webfont",
4731
+ "family": "Dekko",
4732
+ "category": "handwriting",
4733
+ "variants": [
4734
+ "regular"
4735
+ ],
4736
+ "subsets": [
4737
+ "latin-ext",
4738
+ "devanagari",
4739
+ "latin"
4740
+ ],
4741
+ "version": "v5",
4742
+ "lastModified": "2019-01-10",
4743
+ "files": {
4744
+ "regular": "http://fonts.gstatic.com/s/dekko/v5/46khlb_wWjfSrttFR0vsfl1B.ttf"
4745
+ }
4746
+ },
4747
+ {
4748
+ "kind": "webfonts#webfont",
4749
+ "family": "Delius",
4750
+ "category": "handwriting",
4751
+ "variants": [
4752
+ "regular"
4753
+ ],
4754
+ "subsets": [
4755
+ "latin"
4756
+ ],
4757
+ "version": "v8",
4758
+ "lastModified": "2019-01-10",
4759
+ "files": {
4760
+ "regular": "http://fonts.gstatic.com/s/delius/v8/PN_xRfK0pW_9e1rtYcI-jT3L_w.ttf"
4761
+ }
4762
+ },
4763
+ {
4764
+ "kind": "webfonts#webfont",
4765
+ "family": "Delius Swash Caps",
4766
+ "category": "handwriting",
4767
+ "variants": [
4768
+ "regular"
4769
+ ],
4770
+ "subsets": [
4771
+ "latin"
4772
+ ],
4773
+ "version": "v10",
4774
+ "lastModified": "2019-01-10",
4775
+ "files": {
4776
+ "regular": "http://fonts.gstatic.com/s/deliusswashcaps/v10/oY1E8fPLr7v4JWCExZpWebxVKORpXXedKmeBvEYs.ttf"
4777
+ }
4778
+ },
4779
+ {
4780
+ "kind": "webfonts#webfont",
4781
+ "family": "Delius Unicase",
4782
+ "category": "handwriting",
4783
+ "variants": [
4784
+ "regular",
4785
+ "700"
4786
+ ],
4787
+ "subsets": [
4788
+ "latin"
4789
+ ],
4790
+ "version": "v12",
4791
+ "lastModified": "2018-12-13",
4792
+ "files": {
4793
+ "700": "http://fonts.gstatic.com/s/deliusunicase/v12/845CNMEwEIOVT8BmgfSzIr_6mlp7WMr_BmmlS5aw.ttf",
4794
+ "regular": "http://fonts.gstatic.com/s/deliusunicase/v12/845BNMEwEIOVT8BmgfSzIr_6mmLHd-73LXWs.ttf"
4795
+ }
4796
+ },
4797
+ {
4798
+ "kind": "webfonts#webfont",
4799
+ "family": "Della Respira",
4800
+ "category": "serif",
4801
+ "variants": [
4802
+ "regular"
4803
+ ],
4804
+ "subsets": [
4805
+ "latin"
4806
+ ],
4807
+ "version": "v6",
4808
+ "lastModified": "2018-12-13",
4809
+ "files": {
4810
+ "regular": "http://fonts.gstatic.com/s/dellarespira/v6/RLp5K5v44KaueWI6iEJQBiGPRfkSu6EuTHo.ttf"
4811
+ }
4812
+ },
4813
+ {
4814
+ "kind": "webfonts#webfont",
4815
+ "family": "Denk One",
4816
+ "category": "sans-serif",
4817
+ "variants": [
4818
+ "regular"
4819
+ ],
4820
+ "subsets": [
4821
+ "latin-ext",
4822
+ "latin"
4823
+ ],
4824
+ "version": "v6",
4825
+ "lastModified": "2019-01-10",
4826
+ "files": {
4827
+ "regular": "http://fonts.gstatic.com/s/denkone/v6/dg4m_pzhrqcFb2IzROtHpbglShon.ttf"
4828
+ }
4829
+ },
4830
+ {
4831
+ "kind": "webfonts#webfont",
4832
+ "family": "Devonshire",
4833
+ "category": "handwriting",
4834
+ "variants": [
4835
+ "regular"
4836
+ ],
4837
+ "subsets": [
4838
+ "latin-ext",
4839
+ "latin"
4840
+ ],
4841
+ "version": "v7",
4842
+ "lastModified": "2018-11-29",
4843
+ "files": {
4844
+ "regular": "http://fonts.gstatic.com/s/devonshire/v7/46kqlbDwWirWr4gtBD2BX0Vq01lYAZM.ttf"
4845
+ }
4846
+ },
4847
+ {
4848
+ "kind": "webfonts#webfont",
4849
+ "family": "Dhurjati",
4850
+ "category": "sans-serif",
4851
+ "variants": [
4852
+ "regular"
4853
+ ],
4854
+ "subsets": [
4855
+ "telugu",
4856
+ "latin"
4857
+ ],
4858
+ "version": "v6",
4859
+ "lastModified": "2018-11-29",
4860
+ "files": {
4861
+ "regular": "http://fonts.gstatic.com/s/dhurjati/v6/_6_8ED3gSeatXfFiFX3ySKQtuTA2.ttf"
4862
+ }
4863
+ },
4864
+ {
4865
+ "kind": "webfonts#webfont",
4866
+ "family": "Didact Gothic",
4867
+ "category": "sans-serif",
4868
+ "variants": [
4869
+ "regular"
4870
+ ],
4871
+ "subsets": [
4872
+ "latin-ext",
4873
+ "greek-ext",
4874
+ "cyrillic-ext",
4875
+ "cyrillic",
4876
+ "greek",
4877
+ "latin"
4878
+ ],
4879
+ "version": "v12",
4880
+ "lastModified": "2019-01-15",
4881
+ "files": {
4882
+ "regular": "http://fonts.gstatic.com/s/didactgothic/v12/ahcfv8qz1zt6hCC5G4F_P4ASpUySp0LlcyQ.ttf"
4883
+ }
4884
+ },
4885
+ {
4886
+ "kind": "webfonts#webfont",
4887
+ "family": "Diplomata",
4888
+ "category": "display",
4889
+ "variants": [
4890
+ "regular"
4891
+ ],
4892
+ "subsets": [
4893
+ "latin-ext",
4894
+ "latin"
4895
+ ],
4896
+ "version": "v10",
4897
+ "lastModified": "2018-12-13",
4898
+ "files": {
4899
+ "regular": "http://fonts.gstatic.com/s/diplomata/v10/Cn-0JtiMXwhNwp-wKxyfYGxYrdM9Sg.ttf"
4900
+ }
4901
+ },
4902
+ {
4903
+ "kind": "webfonts#webfont",
4904
+ "family": "Diplomata SC",
4905
+ "category": "display",
4906
+ "variants": [
4907
+ "regular"
4908
+ ],
4909
+ "subsets": [
4910
+ "latin-ext",
4911
+ "latin"
4912
+ ],
4913
+ "version": "v7",
4914
+ "lastModified": "2018-12-13",
4915
+ "files": {
4916
+ "regular": "http://fonts.gstatic.com/s/diplomatasc/v7/buExpoi3ecvs3kidKgBJo2kf-P5Oaiw4cw.ttf"
4917
+ }
4918
+ },
4919
+ {
4920
+ "kind": "webfonts#webfont",
4921
+ "family": "Do Hyeon",
4922
+ "category": "sans-serif",
4923
+ "variants": [
4924
+ "regular"
4925
+ ],
4926
+ "subsets": [
4927
+ "korean",
4928
+ "latin"
4929
+ ],
4930
+ "version": "v8",
4931
+ "lastModified": "2019-01-10",
4932
+ "files": {
4933
+ "regular": "http://fonts.gstatic.com/s/dohyeon/v8/TwMN-I8CRRU2zM86HFE3ZwaH__-C.ttf"
4934
+ }
4935
+ },
4936
+ {
4937
+ "kind": "webfonts#webfont",
4938
+ "family": "Dokdo",
4939
+ "category": "handwriting",
4940
+ "variants": [
4941
+ "regular"
4942
+ ],
4943
+ "subsets": [
4944
+ "korean",
4945
+ "latin"
4946
+ ],
4947
+ "version": "v5",
4948
+ "lastModified": "2018-11-08",
4949
+ "files": {
4950
+ "regular": "http://fonts.gstatic.com/s/dokdo/v5/esDf315XNuCBLxLo4NaMlKcH.ttf"
4951
+ }
4952
+ },
4953
+ {
4954
+ "kind": "webfonts#webfont",
4955
+ "family": "Domine",
4956
+ "category": "serif",
4957
+ "variants": [
4958
+ "regular",
4959
+ "700"
4960
+ ],
4961
+ "subsets": [
4962
+ "latin-ext",
4963
+ "latin"
4964
+ ],
4965
+ "version": "v5",
4966
+ "lastModified": "2017-10-10",
4967
+ "files": {
4968
+ "700": "http://fonts.gstatic.com/s/domine/v5/L0x_DFMnlVwD4h3pAN-CTQ.ttf",
4969
+ "regular": "http://fonts.gstatic.com/s/domine/v5/L0x8DFMnlVwD4h3RvA.ttf"
4970
+ }
4971
+ },
4972
+ {
4973
+ "kind": "webfonts#webfont",
4974
+ "family": "Donegal One",
4975
+ "category": "serif",
4976
+ "variants": [
4977
+ "regular"
4978
+ ],
4979
+ "subsets": [
4980
+ "latin-ext",
4981
+ "latin"
4982
+ ],
4983
+ "version": "v6",
4984
+ "lastModified": "2018-12-13",
4985
+ "files": {
4986
+ "regular": "http://fonts.gstatic.com/s/donegalone/v6/m8JWjfRYea-ZnFz6fsK9FZRFRG-K3Mud.ttf"
4987
+ }
4988
+ },
4989
+ {
4990
+ "kind": "webfonts#webfont",
4991
+ "family": "Doppio One",
4992
+ "category": "sans-serif",
4993
+ "variants": [
4994
+ "regular"
4995
+ ],
4996
+ "subsets": [
4997
+ "latin-ext",
4998
+ "latin"
4999
+ ],
5000
+ "version": "v6",
5001
+ "lastModified": "2019-01-10",
5002
+ "files": {
5003
+ "regular": "http://fonts.gstatic.com/s/doppioone/v6/Gg8wN5gSaBfyBw2MqCh-lgshKGpe5Fg.ttf"
5004
+ }
5005
+ },
5006
+ {
5007
+ "kind": "webfonts#webfont",
5008
+ "family": "Dorsa",
5009
+ "category": "sans-serif",
5010
+ "variants": [
5011
+ "regular"
5012
+ ],
5013
+ "subsets": [
5014
+ "latin"
5015
+ ],
5016
+ "version": "v9",
5017
+ "lastModified": "2018-12-13",
5018
+ "files": {
5019
+ "regular": "http://fonts.gstatic.com/s/dorsa/v9/yYLn0hjd0OGwqo493XCFxAnQ.ttf"
5020
+ }
5021
+ },
5022
+ {
5023
+ "kind": "webfonts#webfont",
5024
+ "family": "Dosis",
5025
+ "category": "sans-serif",
5026
+ "variants": [
5027
+ "200",
5028
+ "300",
5029
+ "regular",
5030
+ "500",
5031
+ "600",
5032
+ "700",
5033
+ "800"
5034
+ ],
5035
+ "subsets": [
5036
+ "latin-ext",
5037
+ "latin"
5038
+ ],
5039
+ "version": "v7",
5040
+ "lastModified": "2017-10-10",
5041
+ "files": {
5042
+ "200": "http://fonts.gstatic.com/s/dosis/v7/HhyXU5sn9vOmLzGnKtCC.ttf",
5043
+ "300": "http://fonts.gstatic.com/s/dosis/v7/HhyXU5sn9vOmLzHDKdCC.ttf",
5044
+ "500": "http://fonts.gstatic.com/s/dosis/v7/HhyXU5sn9vOmLzGbKNCC.ttf",
5045
+ "600": "http://fonts.gstatic.com/s/dosis/v7/HhyXU5sn9vOmLzG3L9CC.ttf",
5046
+ "700": "http://fonts.gstatic.com/s/dosis/v7/HhyXU5sn9vOmLzHTLtCC.ttf",
5047
+ "800": "http://fonts.gstatic.com/s/dosis/v7/HhyXU5sn9vOmLzHPLdCC.ttf",
5048
+ "regular": "http://fonts.gstatic.com/s/dosis/v7/HhyaU5sn9vOmLwlv.ttf"
5049
+ }
5050
+ },
5051
+ {
5052
+ "kind": "webfonts#webfont",
5053
+ "family": "Dr Sugiyama",
5054
+ "category": "handwriting",
5055
+ "variants": [
5056
+ "regular"
5057
+ ],
5058
+ "subsets": [
5059
+ "latin-ext",
5060
+ "latin"
5061
+ ],
5062
+ "version": "v8",
5063
+ "lastModified": "2018-12-13",
5064
+ "files": {
5065
+ "regular": "http://fonts.gstatic.com/s/drsugiyama/v8/HTxoL2k4N3O9n5I1boGI7abRM4-t-g7y.ttf"
5066
+ }
5067
+ },
5068
+ {
5069
+ "kind": "webfonts#webfont",
5070
+ "family": "Duru Sans",
5071
+ "category": "sans-serif",
5072
+ "variants": [
5073
+ "regular"
5074
+ ],
5075
+ "subsets": [
5076
+ "latin-ext",
5077
+ "latin"
5078
+ ],
5079
+ "version": "v12",
5080
+ "lastModified": "2019-01-10",
5081
+ "files": {
5082
+ "regular": "http://fonts.gstatic.com/s/durusans/v12/xn7iYH8xwmSyTvEV_HOxT_fYdN-WZw.ttf"
5083
+ }
5084
+ },
5085
+ {
5086
+ "kind": "webfonts#webfont",
5087
+ "family": "Dynalight",
5088
+ "category": "display",
5089
+ "variants": [
5090
+ "regular"
5091
+ ],
5092
+ "subsets": [
5093
+ "latin-ext",
5094
+ "latin"
5095
+ ],
5096
+ "version": "v7",
5097
+ "lastModified": "2018-12-13",
5098
+ "files": {
5099
+ "regular": "http://fonts.gstatic.com/s/dynalight/v7/1Ptsg8LOU_aOmQvTsF4ISotrDfGGxA.ttf"
5100
+ }
5101
+ },
5102
+ {
5103
+ "kind": "webfonts#webfont",
5104
+ "family": "EB Garamond",
5105
+ "category": "serif",
5106
+ "variants": [
5107
+ "regular",
5108
+ "italic",
5109
+ "500",
5110
+ "500italic",
5111
+ "600",
5112
+ "600italic",
5113
+ "700",
5114
+ "700italic",
5115
+ "800",
5116
+ "800italic"
5117
+ ],
5118
+ "subsets": [
5119
+ "latin-ext",
5120
+ "greek-ext",
5121
+ "cyrillic-ext",
5122
+ "cyrillic",
5123
+ "greek",
5124
+ "vietnamese",
5125
+ "latin"
5126
+ ],
5127
+ "version": "v9",
5128
+ "lastModified": "2017-11-07",
5129
+ "files": {
5130
+ "500": "http://fonts.gstatic.com/s/ebgaramond/v9/SlGJmQSNjdsmc35JDF1K5GyGaxwV.ttf",
5131
+ "600": "http://fonts.gstatic.com/s/ebgaramond/v9/SlGJmQSNjdsmc35JDF1K5GyqbBwV.ttf",
5132
+ "700": "http://fonts.gstatic.com/s/ebgaramond/v9/SlGJmQSNjdsmc35JDF1K5GzObRwV.ttf",
5133
+ "800": "http://fonts.gstatic.com/s/ebgaramond/v9/SlGJmQSNjdsmc35JDF1K5GzSbhwV.ttf",
5134
+ "regular": "http://fonts.gstatic.com/s/ebgaramond/v9/SlGUmQSNjdsmc35JDF1K5FRy.ttf",
5135
+ "italic": "http://fonts.gstatic.com/s/ebgaramond/v9/SlGWmQSNjdsmc35JDF1K5GRwSDw.ttf",
5136
+ "500italic": "http://fonts.gstatic.com/s/ebgaramond/v9/SlGLmQSNjdsmc35JDF1K5GRwcMgWQgs.ttf",
5137
+ "600italic": "http://fonts.gstatic.com/s/ebgaramond/v9/SlGLmQSNjdsmc35JDF1K5GRwcOQRQgs.ttf",
5138
+ "700italic": "http://fonts.gstatic.com/s/ebgaramond/v9/SlGLmQSNjdsmc35JDF1K5GRwcIAQQgs.ttf",
5139
+ "800italic": "http://fonts.gstatic.com/s/ebgaramond/v9/SlGLmQSNjdsmc35JDF1K5GRwcJwTQgs.ttf"
5140
+ }
5141
+ },
5142
+ {
5143
+ "kind": "webfonts#webfont",
5144
+ "family": "Eagle Lake",
5145
+ "category": "handwriting",
5146
+ "variants": [
5147
+ "regular"
5148
+ ],
5149
+ "subsets": [
5150
+ "latin-ext",
5151
+ "latin"
5152
+ ],
5153
+ "version": "v6",
5154
+ "lastModified": "2018-12-13",
5155
+ "files": {
5156
+ "regular": "http://fonts.gstatic.com/s/eaglelake/v6/ptRMTiqbbuNJDOiKj9wG5O7yKQNute8.ttf"
5157
+ }
5158
+ },
5159
+ {
5160
+ "kind": "webfonts#webfont",
5161
+ "family": "East Sea Dokdo",
5162
+ "category": "handwriting",
5163
+ "variants": [
5164
+ "regular"
5165
+ ],
5166
+ "subsets": [
5167
+ "korean",
5168
+ "latin"
5169
+ ],
5170
+ "version": "v5",
5171
+ "lastModified": "2018-11-29",
5172
+ "files": {
5173
+ "regular": "http://fonts.gstatic.com/s/eastseadokdo/v5/xfuo0Wn2V2_KanASqXSZp22m05_aGavYS18y.ttf"
5174
+ }
5175
+ },
5176
+ {
5177
+ "kind": "webfonts#webfont",
5178
+ "family": "Eater",
5179
+ "category": "display",
5180
+ "variants": [
5181
+ "regular"
5182
+ ],
5183
+ "subsets": [
5184
+ "latin-ext",
5185
+ "latin"
5186
+ ],
5187
+ "version": "v7",
5188
+ "lastModified": "2019-01-10",
5189
+ "files": {
5190
+ "regular": "http://fonts.gstatic.com/s/eater/v7/mtG04_FCK7bOvpu2u3FwsXsR.ttf"
5191
+ }
5192
+ },
5193
+ {
5194
+ "kind": "webfonts#webfont",
5195
+ "family": "Economica",
5196
+ "category": "sans-serif",
5197
+ "variants": [
5198
+ "regular",
5199
+ "italic",
5200
+ "700",
5201
+ "700italic"
5202
+ ],
5203
+ "subsets": [
5204
+ "latin-ext",
5205
+ "latin"
5206
+ ],
5207
+ "version": "v6",
5208
+ "lastModified": "2019-01-15",
5209
+ "files": {
5210
+ "700": "http://fonts.gstatic.com/s/economica/v6/Qw3aZQZaHCLgIWa29ZBTjeckCnZ5dHw8iw.ttf",
5211
+ "regular": "http://fonts.gstatic.com/s/economica/v6/Qw3fZQZaHCLgIWa29ZBrMcgAAl1lfQ.ttf",
5212
+ "italic": "http://fonts.gstatic.com/s/economica/v6/Qw3ZZQZaHCLgIWa29ZBbM8IEIFh1fWUl.ttf",
5213
+ "700italic": "http://fonts.gstatic.com/s/economica/v6/Qw3EZQZaHCLgIWa29ZBbM_q4D3x9Vnksi4M7.ttf"
5214
+ }
5215
+ },
5216
+ {
5217
+ "kind": "webfonts#webfont",
5218
+ "family": "Eczar",
5219
+ "category": "serif",
5220
+ "variants": [
5221
+ "regular",
5222
+ "500",
5223
+ "600",
5224
+ "700",
5225
+ "800"
5226
+ ],
5227
+ "subsets": [
5228
+ "latin-ext",
5229
+ "devanagari",
5230
+ "latin"
5231
+ ],
5232
+ "version": "v7",
5233
+ "lastModified": "2019-01-10",
5234
+ "files": {
5235
+ "500": "http://fonts.gstatic.com/s/eczar/v7/BXRovF3Pi-DLmzXWL8t622v9WNjW.ttf",
5236
+ "600": "http://fonts.gstatic.com/s/eczar/v7/BXRovF3Pi-DLmzX6KMt622v9WNjW.ttf",
5237
+ "700": "http://fonts.gstatic.com/s/eczar/v7/BXRovF3Pi-DLmzWeKct622v9WNjW.ttf",
5238
+ "800": "http://fonts.gstatic.com/s/eczar/v7/BXRovF3Pi-DLmzWCKst622v9WNjW.ttf",
5239
+ "regular": "http://fonts.gstatic.com/s/eczar/v7/BXRlvF3Pi-DLmw0iBu9y8Hf0.ttf"
5240
+ }
5241
+ },
5242
+ {
5243
+ "kind": "webfonts#webfont",
5244
+ "family": "El Messiri",
5245
+ "category": "sans-serif",
5246
+ "variants": [
5247
+ "regular",
5248
+ "500",
5249
+ "600",
5250
+ "700"
5251
+ ],
5252
+ "subsets": [
5253
+ "arabic",
5254
+ "cyrillic",
5255
+ "latin"
5256
+ ],
5257
+ "version": "v5",
5258
+ "lastModified": "2019-01-15",
5259
+ "files": {
5260
+ "500": "http://fonts.gstatic.com/s/elmessiri/v5/K2F3fZBRmr9vQ1pHEey6On6jJyrYYWOMluQ.ttf",
5261
+ "600": "http://fonts.gstatic.com/s/elmessiri/v5/K2F3fZBRmr9vQ1pHEey6OlKkJyrYYWOMluQ.ttf",
5262
+ "700": "http://fonts.gstatic.com/s/elmessiri/v5/K2F3fZBRmr9vQ1pHEey6OjalJyrYYWOMluQ.ttf",
5263
+ "regular": "http://fonts.gstatic.com/s/elmessiri/v5/K2F0fZBRmr9vQ1pHEey6AoqKAyLzfWo.ttf"
5264
+ }
5265
+ },
5266
+ {
5267
+ "kind": "webfonts#webfont",
5268
+ "family": "Electrolize",
5269
+ "category": "sans-serif",
5270
+ "variants": [
5271
+ "regular"
5272
+ ],
5273
+ "subsets": [
5274
+ "latin"
5275
+ ],
5276
+ "version": "v7",
5277
+ "lastModified": "2019-01-15",
5278
+ "files": {
5279
+ "regular": "http://fonts.gstatic.com/s/electrolize/v7/cIf5Ma1dtE0zSiGSiED7AUEGso5tQafB.ttf"
5280
+ }
5281
+ },
5282
+ {
5283
+ "kind": "webfonts#webfont",
5284
+ "family": "Elsie",
5285
+ "category": "display",
5286
+ "variants": [
5287
+ "regular",
5288
+ "900"
5289
+ ],
5290
+ "subsets": [
5291
+ "latin-ext",
5292
+ "latin"
5293
+ ],
5294
+ "version": "v8",
5295
+ "lastModified": "2019-01-10",
5296
+ "files": {
5297
+ "900": "http://fonts.gstatic.com/s/elsie/v8/BCaqqZABrez54x6q2-1IU6QeXSBk.ttf",
5298
+ "regular": "http://fonts.gstatic.com/s/elsie/v8/BCanqZABrez54yYu9slAeLgX.ttf"
5299
+ }
5300
+ },
5301
+ {
5302
+ "kind": "webfonts#webfont",
5303
+ "family": "Elsie Swash Caps",
5304
+ "category": "display",
5305
+ "variants": [
5306
+ "regular",
5307
+ "900"
5308
+ ],
5309
+ "subsets": [
5310
+ "latin-ext",
5311
+ "latin"
5312
+ ],
5313
+ "version": "v7",
5314
+ "lastModified": "2018-12-13",
5315
+ "files": {
5316
+ "900": "http://fonts.gstatic.com/s/elsieswashcaps/v7/845ENN8xGZyVX5MVo_upKf7KnjK0RW74DG2HToawrdU.ttf",
5317
+ "regular": "http://fonts.gstatic.com/s/elsieswashcaps/v7/845DNN8xGZyVX5MVo_upKf7KnjK0ferVKGWsUo8.ttf"
5318
+ }
5319
+ },
5320
+ {
5321
+ "kind": "webfonts#webfont",
5322
+ "family": "Emblema One",
5323
+ "category": "display",
5324
+ "variants": [
5325
+ "regular"
5326
+ ],
5327
+ "subsets": [
5328
+ "latin-ext",
5329
+ "latin"
5330
+ ],
5331
+ "version": "v7",
5332
+ "lastModified": "2018-11-29",
5333
+ "files": {
5334
+ "regular": "http://fonts.gstatic.com/s/emblemaone/v7/nKKT-GQ0F5dSY8vzG0rOEIRBHl57G_f_.ttf"
5335
+ }
5336
+ },
5337
+ {
5338
+ "kind": "webfonts#webfont",
5339
+ "family": "Emilys Candy",
5340
+ "category": "display",
5341
+ "variants": [
5342
+ "regular"
5343
+ ],
5344
+ "subsets": [
5345
+ "latin-ext",
5346
+ "latin"
5347
+ ],
5348
+ "version": "v6",
5349
+ "lastModified": "2019-01-10",
5350
+ "files": {
5351
+ "regular": "http://fonts.gstatic.com/s/emilyscandy/v6/2EbgL-1mD1Rnb0OGKudbk0y5r9xrX84JjA.ttf"
5352
+ }
5353
+ },
5354
+ {
5355
+ "kind": "webfonts#webfont",
5356
+ "family": "Encode Sans",
5357
+ "category": "sans-serif",
5358
+ "variants": [
5359
+ "100",
5360
+ "200",
5361
+ "300",
5362
+ "regular",
5363
+ "500",
5364
+ "600",
5365
+ "700",
5366
+ "800",
5367
+ "900"
5368
+ ],
5369
+ "subsets": [
5370
+ "latin-ext",
5371
+ "vietnamese",
5372
+ "latin"
5373
+ ],
5374
+ "version": "v3",
5375
+ "lastModified": "2019-01-10",
5376
+ "files": {
5377
+ "100": "http://fonts.gstatic.com/s/encodesans/v3/LDI0apOFNxEwR-Bd1O9uYPvIeeLkl7Iw6yg.ttf",
5378
+ "200": "http://fonts.gstatic.com/s/encodesans/v3/LDIrapOFNxEwR-Bd1O9uYPtkWMLOub458jGL.ttf",
5379
+ "300": "http://fonts.gstatic.com/s/encodesans/v3/LDIrapOFNxEwR-Bd1O9uYPsAW8LOub458jGL.ttf",
5380
+ "500": "http://fonts.gstatic.com/s/encodesans/v3/LDIrapOFNxEwR-Bd1O9uYPtYWsLOub458jGL.ttf",
5381
+ "600": "http://fonts.gstatic.com/s/encodesans/v3/LDIrapOFNxEwR-Bd1O9uYPt0XcLOub458jGL.ttf",
5382
+ "700": "http://fonts.gstatic.com/s/encodesans/v3/LDIrapOFNxEwR-Bd1O9uYPsQXMLOub458jGL.ttf",
5383
+ "800": "http://fonts.gstatic.com/s/encodesans/v3/LDIrapOFNxEwR-Bd1O9uYPsMX8LOub458jGL.ttf",
5384
+ "900": "http://fonts.gstatic.com/s/encodesans/v3/LDIrapOFNxEwR-Bd1O9uYPsoXsLOub458jGL.ttf",
5385
+ "regular": "http://fonts.gstatic.com/s/encodesans/v3/LDI2apOFNxEwR-Bd1O9uYMOsc-bGkqIw.ttf"
5386
+ }
5387
+ },
5388
+ {
5389
+ "kind": "webfonts#webfont",
5390
+ "family": "Encode Sans Condensed",
5391
+ "category": "sans-serif",
5392
+ "variants": [
5393
+ "100",
5394
+ "200",
5395
+ "300",
5396
+ "regular",
5397
+ "500",
5398
+ "600",
5399
+ "700",
5400
+ "800",
5401
+ "900"
5402
+ ],
5403
+ "subsets": [
5404
+ "latin-ext",
5405
+ "vietnamese",
5406
+ "latin"
5407
+ ],
5408
+ "version": "v2",
5409
+ "lastModified": "2017-11-21",
5410
+ "files": {
5411
+ "100": "http://fonts.gstatic.com/s/encodesanscondensed/v2/j8_76_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-5a-J.ttf",
5412
+ "200": "http://fonts.gstatic.com/s/encodesanscondensed/v2/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-SY6pBw.ttf",
5413
+ "300": "http://fonts.gstatic.com/s/encodesanscondensed/v2/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-LY2pBw.ttf",
5414
+ "500": "http://fonts.gstatic.com/s/encodesanscondensed/v2/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-dYypBw.ttf",
5415
+ "600": "http://fonts.gstatic.com/s/encodesanscondensed/v2/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-WYupBw.ttf",
5416
+ "700": "http://fonts.gstatic.com/s/encodesanscondensed/v2/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-PYqpBw.ttf",
5417
+ "800": "http://fonts.gstatic.com/s/encodesanscondensed/v2/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-IYmpBw.ttf",
5418
+ "900": "http://fonts.gstatic.com/s/encodesanscondensed/v2/j8_46_LD37rqfuwxyIuaZhE6cRXOLtm2gfT-BYipBw.ttf",
5419
+ "regular": "http://fonts.gstatic.com/s/encodesanscondensed/v2/j8_16_LD37rqfuwxyIuaZhE6cRXOLtm2gfTGgQ.ttf"
5420
+ }
5421
+ },
5422
+ {
5423
+ "kind": "webfonts#webfont",
5424
+ "family": "Encode Sans Expanded",
5425
+ "category": "sans-serif",
5426
+ "variants": [
5427
+ "100",
5428
+ "200",
5429
+ "300",
5430
+ "regular",
5431
+ "500",
5432
+ "600",
5433
+ "700",
5434
+ "800",
5435
+ "900"
5436
+ ],
5437
+ "subsets": [
5438
+ "latin-ext",
5439
+ "vietnamese",
5440
+ "latin"
5441
+ ],
5442
+ "version": "v3",
5443
+ "lastModified": "2018-12-13",
5444
+ "files": {
5445
+ "100": "http://fonts.gstatic.com/s/encodesansexpanded/v3/c4mx1mF4GcnstG_Jh1QH6ac4hNLeNyeYUpJGKQNicoAbJlw.ttf",
5446
+ "200": "http://fonts.gstatic.com/s/encodesansexpanded/v3/c4mw1mF4GcnstG_Jh1QH6ac4hNLeNyeYUpLqCCNIXIwSP0XD.ttf",
5447
+ "300": "http://fonts.gstatic.com/s/encodesansexpanded/v3/c4mw1mF4GcnstG_Jh1QH6ac4hNLeNyeYUpKOCyNIXIwSP0XD.ttf",
5448
+ "500": "http://fonts.gstatic.com/s/encodesansexpanded/v3/c4mw1mF4GcnstG_Jh1QH6ac4hNLeNyeYUpLWCiNIXIwSP0XD.ttf",
5449
+ "600": "http://fonts.gstatic.com/s/encodesansexpanded/v3/c4mw1mF4GcnstG_Jh1QH6ac4hNLeNyeYUpL6DSNIXIwSP0XD.ttf",
5450
+ "700": "http://fonts.gstatic.com/s/encodesansexpanded/v3/c4mw1mF4GcnstG_Jh1QH6ac4hNLeNyeYUpKeDCNIXIwSP0XD.ttf",
5451
+ "800": "http://fonts.gstatic.com/s/encodesansexpanded/v3/c4mw1mF4GcnstG_Jh1QH6ac4hNLeNyeYUpKCDyNIXIwSP0XD.ttf",
5452
+ "900": "http://fonts.gstatic.com/s/encodesansexpanded/v3/c4mw1mF4GcnstG_Jh1QH6ac4hNLeNyeYUpKmDiNIXIwSP0XD.ttf",
5453
+ "regular": "http://fonts.gstatic.com/s/encodesansexpanded/v3/c4m_1mF4GcnstG_Jh1QH6ac4hNLeNyeYUqoiIwdAd5Ab.ttf"
5454
+ }
5455
+ },
5456
+ {
5457
+ "kind": "webfonts#webfont",
5458
+ "family": "Encode Sans Semi Condensed",
5459
+ "category": "sans-serif",
5460
+ "variants": [
5461
+ "100",
5462
+ "200",
5463
+ "300",
5464
+ "regular",
5465
+ "500",
5466
+ "600",
5467
+ "700",
5468
+ "800",
5469
+ "900"
5470
+ ],
5471
+ "subsets": [
5472
+ "latin-ext",
5473
+ "vietnamese",
5474
+ "latin"
5475
+ ],
5476
+ "version": "v3",
5477
+ "lastModified": "2018-12-13",
5478
+ "files": {
5479
+ "100": "http://fonts.gstatic.com/s/encodesanssemicondensed/v3/3qT6oiKqnDuUtQUEHMoXcmspmy55SFWrXFRp9FTOG1T19MFtQ9jpVUA.ttf",
5480
+ "200": "http://fonts.gstatic.com/s/encodesanssemicondensed/v3/3qT7oiKqnDuUtQUEHMoXcmspmy55SFWrXFRp9FTOG1RZ1eFHbdTgTFmr.ttf",
5481
+ "300": "http://fonts.gstatic.com/s/encodesanssemicondensed/v3/3qT7oiKqnDuUtQUEHMoXcmspmy55SFWrXFRp9FTOG1Q91uFHbdTgTFmr.ttf",
5482
+ "500": "http://fonts.gstatic.com/s/encodesanssemicondensed/v3/3qT7oiKqnDuUtQUEHMoXcmspmy55SFWrXFRp9FTOG1Rl1-FHbdTgTFmr.ttf",
5483
+ "600": "http://fonts.gstatic.com/s/encodesanssemicondensed/v3/3qT7oiKqnDuUtQUEHMoXcmspmy55SFWrXFRp9FTOG1RJ0OFHbdTgTFmr.ttf",
5484
+ "700": "http://fonts.gstatic.com/s/encodesanssemicondensed/v3/3qT7oiKqnDuUtQUEHMoXcmspmy55SFWrXFRp9FTOG1Qt0eFHbdTgTFmr.ttf",
5485
+ "800": "http://fonts.gstatic.com/s/encodesanssemicondensed/v3/3qT7oiKqnDuUtQUEHMoXcmspmy55SFWrXFRp9FTOG1Qx0uFHbdTgTFmr.ttf",
5486
+ "900": "http://fonts.gstatic.com/s/encodesanssemicondensed/v3/3qT7oiKqnDuUtQUEHMoXcmspmy55SFWrXFRp9FTOG1QV0-FHbdTgTFmr.ttf",
5487
+ "regular": "http://fonts.gstatic.com/s/encodesanssemicondensed/v3/3qT4oiKqnDuUtQUEHMoXcmspmy55SFWrXFRp9FTOG2yR_sVPRsjp.ttf"
5488
+ }
5489
+ },
5490
+ {
5491
+ "kind": "webfonts#webfont",
5492
+ "family": "Encode Sans Semi Expanded",
5493
+ "category": "sans-serif",
5494
+ "variants": [
5495
+ "100",
5496
+ "200",
5497
+ "300",
5498
+ "regular",
5499
+ "500",
5500
+ "600",
5501
+ "700",
5502
+ "800",
5503
+ "900"
5504
+ ],
5505
+ "subsets": [
5506
+ "latin-ext",
5507
+ "vietnamese",
5508
+ "latin"
5509
+ ],
5510
+ "version": "v4",
5511
+ "lastModified": "2018-12-13",
5512
+ "files": {
5513
+ "100": "http://fonts.gstatic.com/s/encodesanssemiexpanded/v4/ke8xOhAPMEZs-BDuzwftTNJ85JvwMOzE9d9Cca5TM-41KwrlKXeOEA.ttf",
5514
+ "200": "http://fonts.gstatic.com/s/encodesanssemiexpanded/v4/ke8yOhAPMEZs-BDuzwftTNJ85JvwMOzE9d9Cca5TM0IUCyDLJX6XCWU.ttf",
5515
+ "300": "http://fonts.gstatic.com/s/encodesanssemiexpanded/v4/ke8yOhAPMEZs-BDuzwftTNJ85JvwMOzE9d9Cca5TMyYXCyDLJX6XCWU.ttf",
5516
+ "500": "http://fonts.gstatic.com/s/encodesanssemiexpanded/v4/ke8yOhAPMEZs-BDuzwftTNJ85JvwMOzE9d9Cca5TM34WCyDLJX6XCWU.ttf",
5517
+ "600": "http://fonts.gstatic.com/s/encodesanssemiexpanded/v4/ke8yOhAPMEZs-BDuzwftTNJ85JvwMOzE9d9Cca5TM1IRCyDLJX6XCWU.ttf",
5518
+ "700": "http://fonts.gstatic.com/s/encodesanssemiexpanded/v4/ke8yOhAPMEZs-BDuzwftTNJ85JvwMOzE9d9Cca5TMzYQCyDLJX6XCWU.ttf",
5519
+ "800": "http://fonts.gstatic.com/s/encodesanssemiexpanded/v4/ke8yOhAPMEZs-BDuzwftTNJ85JvwMOzE9d9Cca5TMyoTCyDLJX6XCWU.ttf",
5520
+ "900": "http://fonts.gstatic.com/s/encodesanssemiexpanded/v4/ke8yOhAPMEZs-BDuzwftTNJ85JvwMOzE9d9Cca5TMw4SCyDLJX6XCWU.ttf",
5521
+ "regular": "http://fonts.gstatic.com/s/encodesanssemiexpanded/v4/ke83OhAPMEZs-BDuzwftTNJ85JvwMOzE9d9Cca5TC4o_LyjgOXc.ttf"
5522
+ }
5523
+ },
5524
+ {
5525
+ "kind": "webfonts#webfont",
5526
+ "family": "Engagement",
5527
+ "category": "handwriting",
5528
+ "variants": [
5529
+ "regular"
5530
+ ],
5531
+ "subsets": [
5532
+ "latin"
5533
+ ],
5534
+ "version": "v8",
5535
+ "lastModified": "2018-12-13",
5536
+ "files": {
5537
+ "regular": "http://fonts.gstatic.com/s/engagement/v8/x3dlckLDZbqa7RUs9MFVXNossybsHQI.ttf"
5538
+ }
5539
+ },
5540
+ {
5541
+ "kind": "webfonts#webfont",
5542
+ "family": "Englebert",
5543
+ "category": "sans-serif",
5544
+ "variants": [
5545
+ "regular"
5546
+ ],
5547
+ "subsets": [
5548
+ "latin-ext",
5549
+ "latin"
5550
+ ],
5551
+ "version": "v6",
5552
+ "lastModified": "2018-12-13",
5553
+ "files": {
5554
+ "regular": "http://fonts.gstatic.com/s/englebert/v6/xn7iYH8w2XGrC8AR4HSxT_fYdN-WZw.ttf"
5555
+ }
5556
+ },
5557
+ {
5558
+ "kind": "webfonts#webfont",
5559
+ "family": "Enriqueta",
5560
+ "category": "serif",
5561
+ "variants": [
5562
+ "regular",
5563
+ "700"
5564
+ ],
5565
+ "subsets": [
5566
+ "latin-ext",
5567
+ "latin"
5568
+ ],
5569
+ "version": "v7",
5570
+ "lastModified": "2019-01-15",
5571
+ "files": {
5572
+ "700": "http://fonts.gstatic.com/s/enriqueta/v7/gokpH6L7AUFrRvV44HVr92-HmNZEq6TTFw.ttf",
5573
+ "regular": "http://fonts.gstatic.com/s/enriqueta/v7/goksH6L7AUFrRvV44HVTS0CjkP1Yog.ttf"
5574
+ }
5575
+ },
5576
+ {
5577
+ "kind": "webfonts#webfont",
5578
+ "family": "Erica One",
5579
+ "category": "display",
5580
+ "variants": [
5581
+ "regular"
5582
+ ],
5583
+ "subsets": [
5584
+ "latin-ext",
5585
+ "latin"
5586
+ ],
5587
+ "version": "v9",
5588
+ "lastModified": "2018-11-29",
5589
+ "files": {
5590
+ "regular": "http://fonts.gstatic.com/s/ericaone/v9/WBLnrEXccV9VGrOKmGD1W0_MJMGxiQ.ttf"
5591
+ }
5592
+ },
5593
+ {
5594
+ "kind": "webfonts#webfont",
5595
+ "family": "Esteban",
5596
+ "category": "serif",
5597
+ "variants": [
5598
+ "regular"
5599
+ ],
5600
+ "subsets": [
5601
+ "latin-ext",
5602
+ "latin"
5603
+ ],
5604
+ "version": "v7",
5605
+ "lastModified": "2018-12-13",
5606
+ "files": {
5607
+ "regular": "http://fonts.gstatic.com/s/esteban/v7/r05bGLZE-bdGdN-GdOuD5jokU8E.ttf"
5608
+ }
5609
+ },
5610
+ {
5611
+ "kind": "webfonts#webfont",
5612
+ "family": "Euphoria Script",
5613
+ "category": "handwriting",
5614
+ "variants": [
5615
+ "regular"
5616
+ ],
5617
+ "subsets": [
5618
+ "latin-ext",
5619
+ "latin"
5620
+ ],
5621
+ "version": "v7",
5622
+ "lastModified": "2019-01-10",
5623
+ "files": {
5624
+ "regular": "http://fonts.gstatic.com/s/euphoriascript/v7/mFTpWb0X2bLb_cx6To2B8GpKoD5ak_ZT1D8x7Q.ttf"
5625
+ }
5626
+ },
5627
+ {
5628
+ "kind": "webfonts#webfont",
5629
+ "family": "Ewert",
5630
+ "category": "display",
5631
+ "variants": [
5632
+ "regular"
5633
+ ],
5634
+ "subsets": [
5635
+ "latin-ext",
5636
+ "latin"
5637
+ ],
5638
+ "version": "v6",
5639
+ "lastModified": "2018-12-13",
5640
+ "files": {
5641
+ "regular": "http://fonts.gstatic.com/s/ewert/v6/va9I4kzO2tFODYBvS-J3kbDP.ttf"
5642
+ }
5643
+ },
5644
+ {
5645
+ "kind": "webfonts#webfont",
5646
+ "family": "Exo",
5647
+ "category": "sans-serif",
5648
+ "variants": [
5649
+ "100",
5650
+ "100italic",
5651
+ "200",
5652
+ "200italic",
5653
+ "300",
5654
+ "300italic",
5655
+ "regular",
5656
+ "italic",
5657
+ "500",
5658
+ "500italic",
5659
+ "600",
5660
+ "600italic",
5661
+ "700",
5662
+ "700italic",
5663
+ "800",
5664
+ "800italic",
5665
+ "900",
5666
+ "900italic"
5667
+ ],
5668
+ "subsets": [
5669
+ "latin-ext",
5670
+ "vietnamese",
5671
+ "latin"
5672
+ ],
5673
+ "version": "v7",
5674
+ "lastModified": "2018-09-19",
5675
+ "files": {
5676
+ "100": "http://fonts.gstatic.com/s/exo/v7/4UaMrEtFpBIaEH6m.ttf",
5677
+ "200": "http://fonts.gstatic.com/s/exo/v7/4UaDrEtFpBIavF-G8A.ttf",
5678
+ "300": "http://fonts.gstatic.com/s/exo/v7/4UaDrEtFpBIa2FyG8A.ttf",
5679
+ "500": "http://fonts.gstatic.com/s/exo/v7/4UaDrEtFpBIagF2G8A.ttf",
5680
+ "600": "http://fonts.gstatic.com/s/exo/v7/4UaDrEtFpBIarFqG8A.ttf",
5681
+ "700": "http://fonts.gstatic.com/s/exo/v7/4UaDrEtFpBIayFuG8A.ttf",
5682
+ "800": "http://fonts.gstatic.com/s/exo/v7/4UaDrEtFpBIa1FiG8A.ttf",
5683
+ "900": "http://fonts.gstatic.com/s/exo/v7/4UaDrEtFpBIa8FmG8A.ttf",
5684
+ "100italic": "http://fonts.gstatic.com/s/exo/v7/4UaCrEtFpBISdkbC0DI.ttf",
5685
+ "200italic": "http://fonts.gstatic.com/s/exo/v7/4UaBrEtFpBISdkZu8RLm.ttf",
5686
+ "300italic": "http://fonts.gstatic.com/s/exo/v7/4UaBrEtFpBISdkYK8hLm.ttf",
5687
+ "regular": "http://fonts.gstatic.com/s/exo/v7/4UaOrEtFpBIidA.ttf",
5688
+ "italic": "http://fonts.gstatic.com/s/exo/v7/4UaMrEtFpBISdn6m.ttf",
5689
+ "500italic": "http://fonts.gstatic.com/s/exo/v7/4UaBrEtFpBISdkZS8xLm.ttf",
5690
+ "600italic": "http://fonts.gstatic.com/s/exo/v7/4UaBrEtFpBISdkZ-9BLm.ttf",
5691
+ "700italic": "http://fonts.gstatic.com/s/exo/v7/4UaBrEtFpBISdkYa9RLm.ttf",
5692
+ "800italic": "http://fonts.gstatic.com/s/exo/v7/4UaBrEtFpBISdkYG9hLm.ttf",
5693
+ "900italic": "http://fonts.gstatic.com/s/exo/v7/4UaBrEtFpBISdkYi9xLm.ttf"
5694
+ }
5695
+ },
5696
+ {
5697
+ "kind": "webfonts#webfont",
5698
+ "family": "Exo 2",
5699
+ "category": "sans-serif",
5700
+ "variants": [
5701
+ "100",
5702
+ "100italic",
5703
+ "200",
5704
+ "200italic",
5705
+ "300",
5706
+ "300italic",
5707
+ "regular",
5708
+ "italic",
5709
+ "500",
5710
+ "500italic",
5711
+ "600",
5712
+ "600italic",
5713
+ "700",
5714
+ "700italic",
5715
+ "800",
5716
+ "800italic",
5717
+ "900",
5718
+ "900italic"
5719
+ ],
5720
+ "subsets": [
5721
+ "latin-ext",
5722
+ "cyrillic",
5723
+ "latin"
5724
+ ],
5725
+ "version": "v4",
5726
+ "lastModified": "2017-10-10",
5727
+ "files": {
5728
+ "100": "http://fonts.gstatic.com/s/exo2/v4/7cHov4okm5zmbt5LK-s.ttf",
5729
+ "200": "http://fonts.gstatic.com/s/exo2/v4/7cHrv4okm5zmbt7nCss8.ttf",
5730
+ "300": "http://fonts.gstatic.com/s/exo2/v4/7cHrv4okm5zmbt6DCcs8.ttf",
5731
+ "500": "http://fonts.gstatic.com/s/exo2/v4/7cHrv4okm5zmbt7bCMs8.ttf",
5732
+ "600": "http://fonts.gstatic.com/s/exo2/v4/7cHrv4okm5zmbt73D8s8.ttf",
5733
+ "700": "http://fonts.gstatic.com/s/exo2/v4/7cHrv4okm5zmbt6TDss8.ttf",
5734
+ "800": "http://fonts.gstatic.com/s/exo2/v4/7cHrv4okm5zmbt6PDcs8.ttf",
5735
+ "900": "http://fonts.gstatic.com/s/exo2/v4/7cHrv4okm5zmbt6rDMs8.ttf",
5736
+ "100italic": "http://fonts.gstatic.com/s/exo2/v4/7cHqv4okm5zmbtYtE48c4A.ttf",
5737
+ "200italic": "http://fonts.gstatic.com/s/exo2/v4/7cHtv4okm5zmbtYtEyM9wHo.ttf",
5738
+ "300italic": "http://fonts.gstatic.com/s/exo2/v4/7cHtv4okm5zmbtYtE0c-wHo.ttf",
5739
+ "regular": "http://fonts.gstatic.com/s/exo2/v4/7cHmv4okm5zmbuYv.ttf",
5740
+ "italic": "http://fonts.gstatic.com/s/exo2/v4/7cHov4okm5zmbtYtK-s.ttf",
5741
+ "500italic": "http://fonts.gstatic.com/s/exo2/v4/7cHtv4okm5zmbtYtEx8_wHo.ttf",
5742
+ "600italic": "http://fonts.gstatic.com/s/exo2/v4/7cHtv4okm5zmbtYtEzM4wHo.ttf",
5743
+ "700italic": "http://fonts.gstatic.com/s/exo2/v4/7cHtv4okm5zmbtYtE1c5wHo.ttf",
5744
+ "800italic": "http://fonts.gstatic.com/s/exo2/v4/7cHtv4okm5zmbtYtE0s6wHo.ttf",
5745
+ "900italic": "http://fonts.gstatic.com/s/exo2/v4/7cHtv4okm5zmbtYtE287wHo.ttf"
5746
+ }
5747
+ },
5748
+ {
5749
+ "kind": "webfonts#webfont",
5750
+ "family": "Expletus Sans",
5751
+ "category": "display",
5752
+ "variants": [
5753
+ "regular",
5754
+ "italic",
5755
+ "500",
5756
+ "500italic",
5757
+ "600",
5758
+ "600italic",
5759
+ "700",
5760
+ "700italic"
5761
+ ],
5762
+ "subsets": [
5763
+ "latin"
5764
+ ],
5765
+ "version": "v12",
5766
+ "lastModified": "2019-01-10",
5767
+ "files": {
5768
+ "500": "http://fonts.gstatic.com/s/expletussans/v12/RLpkK5v5_bqufTYdnhFzDj2dfQ07n6kFUHPIFaU.ttf",
5769
+ "600": "http://fonts.gstatic.com/s/expletussans/v12/RLpkK5v5_bqufTYdnhFzDj2dfSE8n6kFUHPIFaU.ttf",
5770
+ "700": "http://fonts.gstatic.com/s/expletussans/v12/RLpkK5v5_bqufTYdnhFzDj2dfUU9n6kFUHPIFaU.ttf",
5771
+ "regular": "http://fonts.gstatic.com/s/expletussans/v12/RLp5K5v5_bqufTYdnhFzDj2dRfkSu6EuTHo.ttf",
5772
+ "italic": "http://fonts.gstatic.com/s/expletussans/v12/RLpnK5v5_bqufTYdnhFzDj2ddfsYv4MrXHrRDA.ttf",
5773
+ "500italic": "http://fonts.gstatic.com/s/expletussans/v12/RLpiK5v5_bqufTYdnhFzDj2ddfsgS6oPVFHNBaVImA.ttf",
5774
+ "600italic": "http://fonts.gstatic.com/s/expletussans/v12/RLpiK5v5_bqufTYdnhFzDj2ddfsgZ60PVFHNBaVImA.ttf",
5775
+ "700italic": "http://fonts.gstatic.com/s/expletussans/v12/RLpiK5v5_bqufTYdnhFzDj2ddfsgA6wPVFHNBaVImA.ttf"
5776
+ }
5777
+ },
5778
+ {
5779
+ "kind": "webfonts#webfont",
5780
+ "family": "Fahkwang",
5781
+ "category": "sans-serif",
5782
+ "variants": [
5783
+ "200",
5784
+ "200italic",
5785
+ "300",
5786
+ "300italic",
5787
+ "regular",
5788
+ "italic",
5789
+ "500",
5790
+ "500italic",
5791
+ "600",
5792
+ "600italic",
5793
+ "700",
5794
+ "700italic"
5795
+ ],
5796
+ "subsets": [
5797
+ "latin-ext",
5798
+ "thai",
5799
+ "vietnamese",
5800
+ "latin"
5801
+ ],
5802
+ "version": "v2",
5803
+ "lastModified": "2018-11-29",
5804
+ "files": {
5805
+ "200": "http://fonts.gstatic.com/s/fahkwang/v2/Noa26Uj3zpmBOgbNpOJHmZlRFipxkwjx.ttf",
5806
+ "300": "http://fonts.gstatic.com/s/fahkwang/v2/Noa26Uj3zpmBOgbNpOIjmplRFipxkwjx.ttf",
5807
+ "500": "http://fonts.gstatic.com/s/fahkwang/v2/Noa26Uj3zpmBOgbNpOJ7m5lRFipxkwjx.ttf",
5808
+ "600": "http://fonts.gstatic.com/s/fahkwang/v2/Noa26Uj3zpmBOgbNpOJXnJlRFipxkwjx.ttf",
5809
+ "700": "http://fonts.gstatic.com/s/fahkwang/v2/Noa26Uj3zpmBOgbNpOIznZlRFipxkwjx.ttf",
5810
+ "200italic": "http://fonts.gstatic.com/s/fahkwang/v2/Noa06Uj3zpmBOgbNpOqNgHFQHC5Tlhjxdw4.ttf",
5811
+ "300italic": "http://fonts.gstatic.com/s/fahkwang/v2/Noa06Uj3zpmBOgbNpOqNgBVTHC5Tlhjxdw4.ttf",
5812
+ "regular": "http://fonts.gstatic.com/s/fahkwang/v2/Noax6Uj3zpmBOgbNpNqPsr1ZPTZ4.ttf",
5813
+ "italic": "http://fonts.gstatic.com/s/fahkwang/v2/Noa36Uj3zpmBOgbNpOqNuLl7OCZ4ihE.ttf",
5814
+ "500italic": "http://fonts.gstatic.com/s/fahkwang/v2/Noa06Uj3zpmBOgbNpOqNgE1SHC5Tlhjxdw4.ttf",
5815
+ "600italic": "http://fonts.gstatic.com/s/fahkwang/v2/Noa06Uj3zpmBOgbNpOqNgGFVHC5Tlhjxdw4.ttf",
5816
+ "700italic": "http://fonts.gstatic.com/s/fahkwang/v2/Noa06Uj3zpmBOgbNpOqNgAVUHC5Tlhjxdw4.ttf"
5817
+ }
5818
+ },
5819
+ {
5820
+ "kind": "webfonts#webfont",
5821
+ "family": "Fanwood Text",
5822
+ "category": "serif",
5823
+ "variants": [
5824
+ "regular",
5825
+ "italic"
5826
+ ],
5827
+ "subsets": [
5828
+ "latin"
5829
+ ],
5830
+ "version": "v8",
5831
+ "lastModified": "2019-01-10",
5832
+ "files": {
5833
+ "regular": "http://fonts.gstatic.com/s/fanwoodtext/v8/3XFtErwl05Ad_vSCF6Fq7xXGRdbY1P1Sbg.ttf",
5834
+ "italic": "http://fonts.gstatic.com/s/fanwoodtext/v8/3XFzErwl05Ad_vSCF6Fq7xX2R9zc9vhCblye.ttf"
5835
+ }
5836
+ },
5837
+ {
5838
+ "kind": "webfonts#webfont",
5839
+ "family": "Farsan",
5840
+ "category": "display",
5841
+ "variants": [
5842
+ "regular"
5843
+ ],
5844
+ "subsets": [
5845
+ "latin-ext",
5846
+ "gujarati",
5847
+ "vietnamese",
5848
+ "latin"
5849
+ ],
5850
+ "version": "v4",
5851
+ "lastModified": "2018-12-13",
5852
+ "files": {
5853
+ "regular": "http://fonts.gstatic.com/s/farsan/v4/VEMwRoJ0vY_zsyz62q-pxDX9rQ.ttf"
5854
+ }
5855
+ },
5856
+ {
5857
+ "kind": "webfonts#webfont",
5858
+ "family": "Fascinate",
5859
+ "category": "display",
5860
+ "variants": [
5861
+ "regular"
5862
+ ],
5863
+ "subsets": [
5864
+ "latin"
5865
+ ],
5866
+ "version": "v7",
5867
+ "lastModified": "2018-11-29",
5868
+ "files": {
5869
+ "regular": "http://fonts.gstatic.com/s/fascinate/v7/z7NWdRrufC8XJK0IIEli1LbQRPyNrw.ttf"
5870
+ }
5871
+ },
5872
+ {
5873
+ "kind": "webfonts#webfont",
5874
+ "family": "Fascinate Inline",
5875
+ "category": "display",
5876
+ "variants": [
5877
+ "regular"
5878
+ ],
5879
+ "subsets": [
5880
+ "latin"
5881
+ ],
5882
+ "version": "v8",
5883
+ "lastModified": "2018-12-13",
5884
+ "files": {
5885
+ "regular": "http://fonts.gstatic.com/s/fascinateinline/v8/jVyR7mzzB3zc-jp6QCAu60poNqIy1g3CfRXxWZQ.ttf"
5886
+ }
5887
+ },
5888
+ {
5889
+ "kind": "webfonts#webfont",
5890
+ "family": "Faster One",
5891
+ "category": "display",
5892
+ "variants": [
5893
+ "regular"
5894
+ ],
5895
+ "subsets": [
5896
+ "latin"
5897
+ ],
5898
+ "version": "v10",
5899
+ "lastModified": "2019-01-10",
5900
+ "files": {
5901
+ "regular": "http://fonts.gstatic.com/s/fasterone/v10/H4ciBXCHmdfClFb-vWhfyLuShq63czE.ttf"
5902
+ }
5903
+ },
5904
+ {
5905
+ "kind": "webfonts#webfont",
5906
+ "family": "Fasthand",
5907
+ "category": "serif",
5908
+ "variants": [
5909
+ "regular"
5910
+ ],
5911
+ "subsets": [
5912
+ "khmer"
5913
+ ],
5914
+ "version": "v9",
5915
+ "lastModified": "2018-11-29",
5916
+ "files": {
5917
+ "regular": "http://fonts.gstatic.com/s/fasthand/v9/0yb9GDohyKTYn_ZEESkuYkw2rQg1.ttf"
5918
+ }
5919
+ },
5920
+ {
5921
+ "kind": "webfonts#webfont",
5922
+ "family": "Fauna One",
5923
+ "category": "serif",
5924
+ "variants": [
5925
+ "regular"
5926
+ ],
5927
+ "subsets": [
5928
+ "latin-ext",
5929
+ "latin"
5930
+ ],
5931
+ "version": "v6",
5932
+ "lastModified": "2019-01-15",
5933
+ "files": {
5934
+ "regular": "http://fonts.gstatic.com/s/faunaone/v6/wlpzgwTPBVpjpCuwkuEx2UxLYClOCg.ttf"
5935
+ }
5936
+ },
5937
+ {
5938
+ "kind": "webfonts#webfont",
5939
+ "family": "Faustina",
5940
+ "category": "serif",
5941
+ "variants": [
5942
+ "regular",
5943
+ "italic",
5944
+ "500",
5945
+ "500italic",
5946
+ "600",
5947
+ "600italic",
5948
+ "700",
5949
+ "700italic"
5950
+ ],
5951
+ "subsets": [
5952
+ "latin-ext",
5953
+ "vietnamese",
5954
+ "latin"
5955
+ ],
5956
+ "version": "v3",
5957
+ "lastModified": "2019-01-10",
5958
+ "files": {
5959
+ "500": "http://fonts.gstatic.com/s/faustina/v3/XLYiIZPxYpJfTbZAFVdMPulCjHMmTGFt.ttf",
5960
+ "600": "http://fonts.gstatic.com/s/faustina/v3/XLYiIZPxYpJfTbZAFVdgOelCjHMmTGFt.ttf",
5961
+ "700": "http://fonts.gstatic.com/s/faustina/v3/XLYiIZPxYpJfTbZAFVcEOOlCjHMmTGFt.ttf",
5962
+ "regular": "http://fonts.gstatic.com/s/faustina/v3/XLYlIZPxYpJfTbZAFW-4F81Kp28v.ttf",
5963
+ "italic": "http://fonts.gstatic.com/s/faustina/v3/XLYjIZPxYpJfTbZAFV-6Hcloon8vVXg.ttf",
5964
+ "500italic": "http://fonts.gstatic.com/s/faustina/v3/XLYgIZPxYpJfTbZAFV-6JT1BhncESXFtUsM.ttf",
5965
+ "600italic": "http://fonts.gstatic.com/s/faustina/v3/XLYgIZPxYpJfTbZAFV-6JRFGhncESXFtUsM.ttf",
5966
+ "700italic": "http://fonts.gstatic.com/s/faustina/v3/XLYgIZPxYpJfTbZAFV-6JXVHhncESXFtUsM.ttf"
5967
+ }
5968
+ },
5969
+ {
5970
+ "kind": "webfonts#webfont",
5971
+ "family": "Federant",
5972
+ "category": "display",
5973
+ "variants": [
5974
+ "regular"
5975
+ ],
5976
+ "subsets": [
5977
+ "latin"
5978
+ ],
5979
+ "version": "v10",
5980
+ "lastModified": "2018-11-29",
5981
+ "files": {
5982
+ "regular": "http://fonts.gstatic.com/s/federant/v10/2sDdZGNfip_eirT0_U0jRUG0AqUc.ttf"
5983
+ }
5984
+ },
5985
+ {
5986
+ "kind": "webfonts#webfont",
5987
+ "family": "Federo",
5988
+ "category": "sans-serif",
5989
+ "variants": [
5990
+ "regular"
5991
+ ],
5992
+ "subsets": [
5993
+ "latin"
5994
+ ],
5995
+ "version": "v10",
5996
+ "lastModified": "2019-01-10",
5997
+ "files": {
5998
+ "regular": "http://fonts.gstatic.com/s/federo/v10/iJWFBX-cbD_ETsbmjVOe2WTG7Q.ttf"
5999
+ }
6000
+ },
6001
+ {
6002
+ "kind": "webfonts#webfont",
6003
+ "family": "Felipa",
6004
+ "category": "handwriting",
6005
+ "variants": [
6006
+ "regular"
6007
+ ],
6008
+ "subsets": [
6009
+ "latin-ext",
6010
+ "latin"
6011
+ ],
6012
+ "version": "v6",
6013
+ "lastModified": "2018-12-13",
6014
+ "files": {
6015
+ "regular": "http://fonts.gstatic.com/s/felipa/v6/FwZa7-owz1Eu4F_wSNSEwM2zpA.ttf"
6016
+ }
6017
+ },
6018
+ {
6019
+ "kind": "webfonts#webfont",
6020
+ "family": "Fenix",
6021
+ "category": "serif",
6022
+ "variants": [
6023
+ "regular"
6024
+ ],
6025
+ "subsets": [
6026
+ "latin-ext",
6027
+ "latin"
6028
+ ],
6029
+ "version": "v6",
6030
+ "lastModified": "2019-01-10",
6031
+ "files": {
6032
+ "regular": "http://fonts.gstatic.com/s/fenix/v6/XoHo2YL_S7-g5ostKzAFvs8o.ttf"
6033
+ }
6034
+ },
6035
+ {
6036
+ "kind": "webfonts#webfont",
6037
+ "family": "Finger Paint",
6038
+ "category": "display",
6039
+ "variants": [
6040
+ "regular"
6041
+ ],
6042
+ "subsets": [
6043
+ "latin"
6044
+ ],
6045
+ "version": "v8",
6046
+ "lastModified": "2018-12-13",
6047
+ "files": {
6048
+ "regular": "http://fonts.gstatic.com/s/fingerpaint/v8/0QInMXVJ-o-oRn_7dron8YWO85bS8ANesw.ttf"
6049
+ }
6050
+ },
6051
+ {
6052
+ "kind": "webfonts#webfont",
6053
+ "family": "Fira Mono",
6054
+ "category": "monospace",
6055
+ "variants": [
6056
+ "regular",
6057
+ "500",
6058
+ "700"
6059
+ ],
6060
+ "subsets": [
6061
+ "latin-ext",
6062
+ "greek-ext",
6063
+ "cyrillic-ext",
6064
+ "cyrillic",
6065
+ "greek",
6066
+ "latin"
6067
+ ],
6068
+ "version": "v7",
6069
+ "lastModified": "2019-01-10",
6070
+ "files": {
6071
+ "500": "http://fonts.gstatic.com/s/firamono/v7/N0bS2SlFPv1weGeLZDto1d33mf3VaZBRBQ.ttf",
6072
+ "700": "http://fonts.gstatic.com/s/firamono/v7/N0bS2SlFPv1weGeLZDtondv3mf3VaZBRBQ.ttf",
6073
+ "regular": "http://fonts.gstatic.com/s/firamono/v7/N0bX2SlFPv1weGeLZDtQIfTTkdbJYA.ttf"
6074
+ }
6075
+ },
6076
+ {
6077
+ "kind": "webfonts#webfont",
6078
+ "family": "Fira Sans",
6079
+ "category": "sans-serif",
6080
+ "variants": [
6081
+ "100",
6082
+ "100italic",
6083
+ "200",
6084
+ "200italic",
6085
+ "300",
6086
+ "300italic",
6087
+ "regular",
6088
+ "italic",
6089
+ "500",
6090
+ "500italic",
6091
+ "600",
6092
+ "600italic",
6093
+ "700",
6094
+ "700italic",
6095
+ "800",
6096
+ "800italic",
6097
+ "900",
6098
+ "900italic"
6099
+ ],
6100
+ "subsets": [
6101
+ "latin-ext",
6102
+ "greek-ext",
6103
+ "cyrillic-ext",
6104
+ "cyrillic",
6105
+ "greek",
6106
+ "vietnamese",
6107
+ "latin"
6108
+ ],
6109
+ "version": "v8",
6110
+ "lastModified": "2017-10-10",
6111
+ "files": {
6112
+ "100": "http://fonts.gstatic.com/s/firasans/v8/va9C4kDNxMZdWfMOD5Vn9IjO.ttf",
6113
+ "200": "http://fonts.gstatic.com/s/firasans/v8/va9B4kDNxMZdWfMOD5VnWKnuQQ.ttf",
6114
+ "300": "http://fonts.gstatic.com/s/firasans/v8/va9B4kDNxMZdWfMOD5VnPKruQQ.ttf",
6115
+ "500": "http://fonts.gstatic.com/s/firasans/v8/va9B4kDNxMZdWfMOD5VnZKvuQQ.ttf",
6116
+ "600": "http://fonts.gstatic.com/s/firasans/v8/va9B4kDNxMZdWfMOD5VnSKzuQQ.ttf",
6117
+ "700": "http://fonts.gstatic.com/s/firasans/v8/va9B4kDNxMZdWfMOD5VnLK3uQQ.ttf",
6118
+ "800": "http://fonts.gstatic.com/s/firasans/v8/va9B4kDNxMZdWfMOD5VnMK7uQQ.ttf",
6119
+ "900": "http://fonts.gstatic.com/s/firasans/v8/va9B4kDNxMZdWfMOD5VnFK_uQQ.ttf",
6120
+ "100italic": "http://fonts.gstatic.com/s/firasans/v8/va9A4kDNxMZdWfMOD5VvkrCqYTc.ttf",
6121
+ "200italic": "http://fonts.gstatic.com/s/firasans/v8/va9f4kDNxMZdWfMOD5VvkrAGQBf_.ttf",
6122
+ "300italic": "http://fonts.gstatic.com/s/firasans/v8/va9f4kDNxMZdWfMOD5VvkrBiQxf_.ttf",
6123
+ "regular": "http://fonts.gstatic.com/s/firasans/v8/va9E4kDNxMZdWfMOD5VfkA.ttf",
6124
+ "italic": "http://fonts.gstatic.com/s/firasans/v8/va9C4kDNxMZdWfMOD5VvkojO.ttf",
6125
+ "500italic": "http://fonts.gstatic.com/s/firasans/v8/va9f4kDNxMZdWfMOD5VvkrA6Qhf_.ttf",
6126
+ "600italic": "http://fonts.gstatic.com/s/firasans/v8/va9f4kDNxMZdWfMOD5VvkrAWRRf_.ttf",
6127
+ "700italic": "http://fonts.gstatic.com/s/firasans/v8/va9f4kDNxMZdWfMOD5VvkrByRBf_.ttf",
6128
+ "800italic": "http://fonts.gstatic.com/s/firasans/v8/va9f4kDNxMZdWfMOD5VvkrBuRxf_.ttf",
6129
+ "900italic": "http://fonts.gstatic.com/s/firasans/v8/va9f4kDNxMZdWfMOD5VvkrBKRhf_.ttf"
6130
+ }
6131
+ },
6132
+ {
6133
+ "kind": "webfonts#webfont",
6134
+ "family": "Fira Sans Condensed",
6135
+ "category": "sans-serif",
6136
+ "variants": [
6137
+ "100",
6138
+ "100italic",
6139
+ "200",
6140
+ "200italic",
6141
+ "300",
6142
+ "300italic",
6143
+ "regular",
6144
+ "italic",
6145
+ "500",
6146
+ "500italic",
6147
+ "600",
6148
+ "600italic",
6149
+ "700",
6150
+ "700italic",
6151
+ "800",
6152
+ "800italic",
6153
+ "900",
6154
+ "900italic"
6155
+ ],
6156
+ "subsets": [
6157
+ "latin-ext",
6158
+ "greek-ext",
6159
+ "cyrillic-ext",
6160
+ "cyrillic",
6161
+ "greek",
6162
+ "vietnamese",
6163
+ "latin"
6164
+ ],
6165
+ "version": "v2",
6166
+ "lastModified": "2017-10-10",
6167
+ "files": {
6168
+ "100": "http://fonts.gstatic.com/s/firasanscondensed/v2/wEOjEADFm8hSaQTFG18FErVhsC9x-tarWZXtqA.ttf",
6169
+ "200": "http://fonts.gstatic.com/s/firasanscondensed/v2/wEOsEADFm8hSaQTFG18FErVhsC9x-tarWTnMiMM.ttf",
6170
+ "300": "http://fonts.gstatic.com/s/firasanscondensed/v2/wEOsEADFm8hSaQTFG18FErVhsC9x-tarWV3PiMM.ttf",
6171
+ "500": "http://fonts.gstatic.com/s/firasanscondensed/v2/wEOsEADFm8hSaQTFG18FErVhsC9x-tarWQXOiMM.ttf",
6172
+ "600": "http://fonts.gstatic.com/s/firasanscondensed/v2/wEOsEADFm8hSaQTFG18FErVhsC9x-tarWSnJiMM.ttf",
6173
+ "700": "http://fonts.gstatic.com/s/firasanscondensed/v2/wEOsEADFm8hSaQTFG18FErVhsC9x-tarWU3IiMM.ttf",
6174
+ "800": "http://fonts.gstatic.com/s/firasanscondensed/v2/wEOsEADFm8hSaQTFG18FErVhsC9x-tarWVHLiMM.ttf",
6175
+ "900": "http://fonts.gstatic.com/s/firasanscondensed/v2/wEOsEADFm8hSaQTFG18FErVhsC9x-tarWXXKiMM.ttf",
6176
+ "100italic": "http://fonts.gstatic.com/s/firasanscondensed/v2/wEOtEADFm8hSaQTFG18FErVhsC9x-tarUfPVzONU.ttf",
6177
+ "200italic": "http://fonts.gstatic.com/s/firasanscondensed/v2/wEOuEADFm8hSaQTFG18FErVhsC9x-tarUfPVYMJ0dw.ttf",
6178
+ "300italic": "http://fonts.gstatic.com/s/firasanscondensed/v2/wEOuEADFm8hSaQTFG18FErVhsC9x-tarUfPVBMF0dw.ttf",
6179
+ "regular": "http://fonts.gstatic.com/s/firasanscondensed/v2/wEOhEADFm8hSaQTFG18FErVhsC9x-tarYfE.ttf",
6180
+ "italic": "http://fonts.gstatic.com/s/firasanscondensed/v2/wEOjEADFm8hSaQTFG18FErVhsC9x-tarUfPtqA.ttf",
6181
+ "500italic": "http://fonts.gstatic.com/s/firasanscondensed/v2/wEOuEADFm8hSaQTFG18FErVhsC9x-tarUfPVXMB0dw.ttf",
6182
+ "600italic": "http://fonts.gstatic.com/s/firasanscondensed/v2/wEOuEADFm8hSaQTFG18FErVhsC9x-tarUfPVcMd0dw.ttf",
6183
+ "700italic": "http://fonts.gstatic.com/s/firasanscondensed/v2/wEOuEADFm8hSaQTFG18FErVhsC9x-tarUfPVFMZ0dw.ttf",
6184
+ "800italic": "http://fonts.gstatic.com/s/firasanscondensed/v2/wEOuEADFm8hSaQTFG18FErVhsC9x-tarUfPVCMV0dw.ttf",
6185
+ "900italic": "http://fonts.gstatic.com/s/firasanscondensed/v2/wEOuEADFm8hSaQTFG18FErVhsC9x-tarUfPVLMR0dw.ttf"
6186
+ }
6187
+ },
6188
+ {
6189
+ "kind": "webfonts#webfont",
6190
+ "family": "Fira Sans Extra Condensed",
6191
+ "category": "sans-serif",
6192
+ "variants": [
6193
+ "100",
6194
+ "100italic",
6195
+ "200",
6196
+ "200italic",
6197
+ "300",
6198
+ "300italic",
6199
+ "regular",
6200
+ "italic",
6201
+ "500",
6202
+ "500italic",
6203
+ "600",
6204
+ "600italic",
6205
+ "700",
6206
+ "700italic",
6207
+ "800",
6208
+ "800italic",
6209
+ "900",
6210
+ "900italic"
6211
+ ],
6212
+ "subsets": [
6213
+ "latin-ext",
6214
+ "greek-ext",
6215
+ "cyrillic-ext",
6216
+ "cyrillic",
6217
+ "greek",
6218
+ "vietnamese",
6219
+ "latin"
6220
+ ],
6221
+ "version": "v3",
6222
+ "lastModified": "2019-01-15",
6223
+ "files": {
6224
+ "100": "http://fonts.gstatic.com/s/firasansextracondensed/v3/NaPMcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda3Zyuv1WarE9ncg.ttf",
6225
+ "200": "http://fonts.gstatic.com/s/firasansextracondensed/v3/NaPPcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda3TCPn3-0oEZ-a2Q.ttf",
6226
+ "300": "http://fonts.gstatic.com/s/firasansextracondensed/v3/NaPPcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda3VSMn3-0oEZ-a2Q.ttf",
6227
+ "500": "http://fonts.gstatic.com/s/firasansextracondensed/v3/NaPPcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda3QyNn3-0oEZ-a2Q.ttf",
6228
+ "600": "http://fonts.gstatic.com/s/firasansextracondensed/v3/NaPPcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda3SCKn3-0oEZ-a2Q.ttf",
6229
+ "700": "http://fonts.gstatic.com/s/firasansextracondensed/v3/NaPPcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda3USLn3-0oEZ-a2Q.ttf",
6230
+ "800": "http://fonts.gstatic.com/s/firasansextracondensed/v3/NaPPcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda3ViIn3-0oEZ-a2Q.ttf",
6231
+ "900": "http://fonts.gstatic.com/s/firasansextracondensed/v3/NaPPcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda3XyJn3-0oEZ-a2Q.ttf",
6232
+ "100italic": "http://fonts.gstatic.com/s/firasansextracondensed/v3/NaPOcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda1fqW21-ejkp3cn22.ttf",
6233
+ "200italic": "http://fonts.gstatic.com/s/firasansextracondensed/v3/NaPxcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda1fqWd36-pGR7e2SvJQ.ttf",
6234
+ "300italic": "http://fonts.gstatic.com/s/firasansextracondensed/v3/NaPxcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda1fqWE32-pGR7e2SvJQ.ttf",
6235
+ "regular": "http://fonts.gstatic.com/s/firasansextracondensed/v3/NaPKcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda5fiku3efvE8.ttf",
6236
+ "italic": "http://fonts.gstatic.com/s/firasansextracondensed/v3/NaPMcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda1fquv1WarE9ncg.ttf",
6237
+ "500italic": "http://fonts.gstatic.com/s/firasansextracondensed/v3/NaPxcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda1fqWS3y-pGR7e2SvJQ.ttf",
6238
+ "600italic": "http://fonts.gstatic.com/s/firasansextracondensed/v3/NaPxcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda1fqWZ3u-pGR7e2SvJQ.ttf",
6239
+ "700italic": "http://fonts.gstatic.com/s/firasansextracondensed/v3/NaPxcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda1fqWA3q-pGR7e2SvJQ.ttf",
6240
+ "800italic": "http://fonts.gstatic.com/s/firasansextracondensed/v3/NaPxcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda1fqWH3m-pGR7e2SvJQ.ttf",
6241
+ "900italic": "http://fonts.gstatic.com/s/firasansextracondensed/v3/NaPxcYDaAO5dirw6IaFn7lPJFqXmS-M9Atn3wgda1fqWO3i-pGR7e2SvJQ.ttf"
6242
+ }
6243
+ },
6244
+ {
6245
+ "kind": "webfonts#webfont",
6246
+ "family": "Fjalla One",
6247
+ "category": "sans-serif",
6248
+ "variants": [
6249
+ "regular"
6250
+ ],
6251
+ "subsets": [
6252
+ "latin-ext",
6253
+ "latin"
6254
+ ],
6255
+ "version": "v5",
6256
+ "lastModified": "2017-10-10",
6257
+ "files": {
6258
+ "regular": "http://fonts.gstatic.com/s/fjallaone/v5/Yq6R-LCAWCX3-6Ky7FAFnOY.ttf"
6259
+ }
6260
+ },
6261
+ {
6262
+ "kind": "webfonts#webfont",
6263
+ "family": "Fjord One",
6264
+ "category": "serif",
6265
+ "variants": [
6266
+ "regular"
6267
+ ],
6268
+ "subsets": [
6269
+ "latin"
6270
+ ],
6271
+ "version": "v7",
6272
+ "lastModified": "2019-01-10",
6273
+ "files": {
6274
+ "regular": "http://fonts.gstatic.com/s/fjordone/v7/zOL-4pbEnKBY_9S1jNKr6e5As-FeiQ.ttf"
6275
+ }
6276
+ },
6277
+ {
6278
+ "kind": "webfonts#webfont",
6279
+ "family": "Flamenco",
6280
+ "category": "display",
6281
+ "variants": [
6282
+ "300",
6283
+ "regular"
6284
+ ],
6285
+ "subsets": [
6286
+ "latin"
6287
+ ],
6288
+ "version": "v9",
6289
+ "lastModified": "2018-12-13",
6290
+ "files": {
6291
+ "300": "http://fonts.gstatic.com/s/flamenco/v9/neIPzCehqYguo67ssZ0qNIkyepH9qGsf.ttf",
6292
+ "regular": "http://fonts.gstatic.com/s/flamenco/v9/neIIzCehqYguo67ssaWGHK06UY30.ttf"
6293
+ }
6294
+ },
6295
+ {
6296
+ "kind": "webfonts#webfont",
6297
+ "family": "Flavors",
6298
+ "category": "display",
6299
+ "variants": [
6300
+ "regular"
6301
+ ],
6302
+ "subsets": [
6303
+ "latin"
6304
+ ],
6305
+ "version": "v7",
6306
+ "lastModified": "2018-12-13",
6307
+ "files": {
6308
+ "regular": "http://fonts.gstatic.com/s/flavors/v7/FBV2dDrhxqmveJTpbkzlNqkG9UY.ttf"
6309
+ }
6310
+ },
6311
+ {
6312
+ "kind": "webfonts#webfont",
6313
+ "family": "Fondamento",
6314
+ "category": "handwriting",
6315
+ "variants": [
6316
+ "regular",
6317
+ "italic"
6318
+ ],
6319
+ "subsets": [
6320
+ "latin-ext",
6321
+ "latin"
6322
+ ],
6323
+ "version": "v9",
6324
+ "lastModified": "2019-01-10",
6325
+ "files": {
6326
+ "regular": "http://fonts.gstatic.com/s/fondamento/v9/4UaHrEJGsxNmFTPDnkaJx63j5pN1MwI.ttf",
6327
+ "italic": "http://fonts.gstatic.com/s/fondamento/v9/4UaFrEJGsxNmFTPDnkaJ96_p4rFwIwJePw.ttf"
6328
+ }
6329
+ },
6330
+ {
6331
+ "kind": "webfonts#webfont",
6332
+ "family": "Fontdiner Swanky",
6333
+ "category": "display",
6334
+ "variants": [
6335
+ "regular"
6336
+ ],
6337
+ "subsets": [
6338
+ "latin"
6339
+ ],
6340
+ "version": "v9",
6341
+ "lastModified": "2019-01-10",
6342
+ "files": {
6343
+ "regular": "http://fonts.gstatic.com/s/fontdinerswanky/v9/ijwOs4XgRNsiaI5-hcVb4hQgMvCD4uEfKiGvxts.ttf"
6344
+ }
6345
+ },
6346
+ {
6347
+ "kind": "webfonts#webfont",
6348
+ "family": "Forum",
6349
+ "category": "display",
6350
+ "variants": [
6351
+ "regular"
6352
+ ],
6353
+ "subsets": [
6354
+ "latin-ext",
6355
+ "cyrillic-ext",
6356
+ "cyrillic",
6357
+ "latin"
6358
+ ],
6359
+ "version": "v9",
6360
+ "lastModified": "2019-01-15",
6361
+ "files": {
6362
+ "regular": "http://fonts.gstatic.com/s/forum/v9/6aey4Ky-Vb8Ew_IWMJMa3mnT.ttf"
6363
+ }
6364
+ },
6365
+ {
6366
+ "kind": "webfonts#webfont",
6367
+ "family": "Francois One",
6368
+ "category": "sans-serif",
6369
+ "variants": [
6370
+ "regular"
6371
+ ],
6372
+ "subsets": [
6373
+ "latin-ext",
6374
+ "vietnamese",
6375
+ "latin"
6376
+ ],
6377
+ "version": "v12",
6378
+ "lastModified": "2018-10-08",
6379
+ "files": {
6380
+ "regular": "http://fonts.gstatic.com/s/francoisone/v12/_Xmr-H4zszafZw3A-KPSZutNxg.ttf"
6381
+ }
6382
+ },
6383
+ {
6384
+ "kind": "webfonts#webfont",
6385
+ "family": "Frank Ruhl Libre",
6386
+ "category": "serif",
6387
+ "variants": [
6388
+ "300",
6389
+ "regular",
6390
+ "500",
6391
+ "700",
6392
+ "900"
6393
+ ],
6394
+ "subsets": [
6395
+ "hebrew",
6396
+ "latin-ext",
6397
+ "latin"
6398
+ ],
6399
+ "version": "v4",
6400
+ "lastModified": "2019-01-15",
6401
+ "files": {
6402
+ "300": "http://fonts.gstatic.com/s/frankruhllibre/v4/j8_36_fAw7jrcalD7oKYNX0QfAnPUxvHxJDMhYeIHw8.ttf",
6403
+ "500": "http://fonts.gstatic.com/s/frankruhllibre/v4/j8_36_fAw7jrcalD7oKYNX0QfAnPU0PGxJDMhYeIHw8.ttf",
6404
+ "700": "http://fonts.gstatic.com/s/frankruhllibre/v4/j8_36_fAw7jrcalD7oKYNX0QfAnPUwvAxJDMhYeIHw8.ttf",
6405
+ "900": "http://fonts.gstatic.com/s/frankruhllibre/v4/j8_36_fAw7jrcalD7oKYNX0QfAnPUzPCxJDMhYeIHw8.ttf",
6406
+ "regular": "http://fonts.gstatic.com/s/frankruhllibre/v4/j8_w6_fAw7jrcalD7oKYNX0QfAnPa7fv4JjnmY4.ttf"
6407
+ }
6408
+ },
6409
+ {
6410
+ "kind": "webfonts#webfont",
6411
+ "family": "Freckle Face",
6412
+ "category": "display",
6413
+ "variants": [
6414
+ "regular"
6415
+ ],
6416
+ "subsets": [
6417
+ "latin-ext",
6418
+ "latin"
6419
+ ],
6420
+ "version": "v7",
6421
+ "lastModified": "2019-01-10",
6422
+ "files": {
6423
+ "regular": "http://fonts.gstatic.com/s/freckleface/v7/AMOWz4SXrmKHCvXTohxY-YI0U1K2w9lb4g.ttf"
6424
+ }
6425
+ },
6426
+ {
6427
+ "kind": "webfonts#webfont",
6428
+ "family": "Fredericka the Great",
6429
+ "category": "display",
6430
+ "variants": [
6431
+ "regular"
6432
+ ],
6433
+ "subsets": [
6434
+ "latin"
6435
+ ],
6436
+ "version": "v7",
6437
+ "lastModified": "2019-01-15",
6438
+ "files": {
6439
+ "regular": "http://fonts.gstatic.com/s/frederickathegreat/v7/9Bt33CxNwt7aOctW2xjbCstzwVKsIBVV-9Skz7Ylch2L.ttf"
6440
+ }
6441
+ },
6442
+ {
6443
+ "kind": "webfonts#webfont",
6444
+ "family": "Fredoka One",
6445
+ "category": "display",
6446
+ "variants": [
6447
+ "regular"
6448
+ ],
6449
+ "subsets": [
6450
+ "latin"
6451
+ ],
6452
+ "version": "v6",
6453
+ "lastModified": "2019-01-15",
6454
+ "files": {
6455
+ "regular": "http://fonts.gstatic.com/s/fredokaone/v6/k3kUo8kEI-tA1RRcTZGmTmHBA6aF8Bf_.ttf"
6456
+ }
6457
+ },
6458
+ {
6459
+ "kind": "webfonts#webfont",
6460
+ "family": "Freehand",
6461
+ "category": "display",
6462
+ "variants": [
6463
+ "regular"
6464
+ ],
6465
+ "subsets": [
6466
+ "khmer"
6467
+ ],
6468
+ "version": "v10",
6469
+ "lastModified": "2018-11-29",
6470
+ "files": {
6471
+ "regular": "http://fonts.gstatic.com/s/freehand/v10/cIf-Ma5eqk01VjKTgAmBTmUOmZJk.ttf"
6472
+ }
6473
+ },
6474
+ {
6475
+ "kind": "webfonts#webfont",
6476
+ "family": "Fresca",
6477
+ "category": "sans-serif",
6478
+ "variants": [
6479
+ "regular"
6480
+ ],
6481
+ "subsets": [
6482
+ "latin-ext",
6483
+ "latin"
6484
+ ],
6485
+ "version": "v7",
6486
+ "lastModified": "2018-12-13",
6487
+ "files": {
6488
+ "regular": "http://fonts.gstatic.com/s/fresca/v7/6ae94K--SKgCzbM2Gr0W13DKPA.ttf"
6489
+ }
6490
+ },
6491
+ {
6492
+ "kind": "webfonts#webfont",
6493
+ "family": "Frijole",
6494
+ "category": "display",
6495
+ "variants": [
6496
+ "regular"
6497
+ ],
6498
+ "subsets": [
6499
+ "latin"
6500
+ ],
6501
+ "version": "v7",
6502
+ "lastModified": "2018-12-13",
6503
+ "files": {
6504
+ "regular": "http://fonts.gstatic.com/s/frijole/v7/uU9PCBUR8oakM2BQ7xPb3vyHmlI.ttf"
6505
+ }
6506
+ },
6507
+ {
6508
+ "kind": "webfonts#webfont",
6509
+ "family": "Fruktur",
6510
+ "category": "display",
6511
+ "variants": [
6512
+ "regular"
6513
+ ],
6514
+ "subsets": [
6515
+ "latin-ext",
6516
+ "latin"
6517
+ ],
6518
+ "version": "v11",
6519
+ "lastModified": "2018-11-29",
6520
+ "files": {
6521
+ "regular": "http://fonts.gstatic.com/s/fruktur/v11/SZc53FHsOru5QYsMfz3GkUrS8DI.ttf"
6522
+ }
6523
+ },
6524
+ {
6525
+ "kind": "webfonts#webfont",
6526
+ "family": "Fugaz One",
6527
+ "category": "display",
6528
+ "variants": [
6529
+ "regular"
6530
+ ],
6531
+ "subsets": [
6532
+ "latin"
6533
+ ],
6534
+ "version": "v8",
6535
+ "lastModified": "2019-01-15",
6536
+ "files": {
6537
+ "regular": "http://fonts.gstatic.com/s/fugazone/v8/rax_HiWKp9EAITukFslMBBJek0vA8A.ttf"
6538
+ }
6539
+ },
6540
+ {
6541
+ "kind": "webfonts#webfont",
6542
+ "family": "GFS Didot",
6543
+ "category": "serif",
6544
+ "variants": [
6545
+ "regular"
6546
+ ],
6547
+ "subsets": [
6548
+ "greek"
6549
+ ],
6550
+ "version": "v8",
6551
+ "lastModified": "2019-01-10",
6552
+ "files": {
6553
+ "regular": "http://fonts.gstatic.com/s/gfsdidot/v8/Jqzh5TybZ9vZMWFssvwiF-fGFSCGAA.ttf"
6554
+ }
6555
+ },
6556
+ {
6557
+ "kind": "webfonts#webfont",
6558
+ "family": "GFS Neohellenic",
6559
+ "category": "sans-serif",
6560
+ "variants": [
6561
+ "regular",
6562
+ "italic",
6563
+ "700",
6564
+ "700italic"
6565
+ ],
6566
+ "subsets": [
6567
+ "greek"
6568
+ ],
6569
+ "version": "v11",
6570
+ "lastModified": "2018-12-13",
6571
+ "files": {
6572
+ "700": "http://fonts.gstatic.com/s/gfsneohellenic/v11/8QIUdiDOrfiq0b7R8O1Iw9WLcY5rkYdr644fWsRO9w.ttf",
6573
+ "regular": "http://fonts.gstatic.com/s/gfsneohellenic/v11/8QIRdiDOrfiq0b7R8O1Iw9WLcY5TLahP46UDUw.ttf",
6574
+ "italic": "http://fonts.gstatic.com/s/gfsneohellenic/v11/8QITdiDOrfiq0b7R8O1Iw9WLcY5jL6JLwaATU91X.ttf",
6575
+ "700italic": "http://fonts.gstatic.com/s/gfsneohellenic/v11/8QIWdiDOrfiq0b7R8O1Iw9WLcY5jL5r37oQbeMFe985V.ttf"
6576
+ }
6577
+ },
6578
+ {
6579
+ "kind": "webfonts#webfont",
6580
+ "family": "Gabriela",
6581
+ "category": "serif",
6582
+ "variants": [
6583
+ "regular"
6584
+ ],
6585
+ "subsets": [
6586
+ "cyrillic-ext",
6587
+ "cyrillic",
6588
+ "latin"
6589
+ ],
6590
+ "version": "v7",
6591
+ "lastModified": "2019-01-10",
6592
+ "files": {
6593
+ "regular": "http://fonts.gstatic.com/s/gabriela/v7/qkBWXvsO6sreR8E-b_m-zrpHmRzC.ttf"
6594
+ }
6595
+ },
6596
+ {
6597
+ "kind": "webfonts#webfont",
6598
+ "family": "Gaegu",
6599
+ "category": "handwriting",
6600
+ "variants": [
6601
+ "300",
6602
+ "regular",
6603
+ "700"
6604
+ ],
6605
+ "subsets": [
6606
+ "korean",
6607
+ "latin"
6608
+ ],
6609
+ "version": "v5",
6610
+ "lastModified": "2018-12-13",
6611
+ "files": {
6612
+ "300": "http://fonts.gstatic.com/s/gaegu/v5/TuGSUVB6Up9NU57nifw74sdtBk0x.ttf",
6613
+ "700": "http://fonts.gstatic.com/s/gaegu/v5/TuGSUVB6Up9NU573jvw74sdtBk0x.ttf",
6614
+ "regular": "http://fonts.gstatic.com/s/gaegu/v5/TuGfUVB6Up9NU6ZLodgzydtk.ttf"
6615
+ }
6616
+ },
6617
+ {
6618
+ "kind": "webfonts#webfont",
6619
+ "family": "Gafata",
6620
+ "category": "sans-serif",
6621
+ "variants": [
6622
+ "regular"
6623
+ ],
6624
+ "subsets": [
6625
+ "latin-ext",
6626
+ "latin"
6627
+ ],
6628
+ "version": "v7",
6629
+ "lastModified": "2019-01-10",
6630
+ "files": {
6631
+ "regular": "http://fonts.gstatic.com/s/gafata/v7/XRXV3I6Cn0VJKon4MuyAbsrVcA.ttf"
6632
+ }
6633
+ },
6634
+ {
6635
+ "kind": "webfonts#webfont",
6636
+ "family": "Galada",
6637
+ "category": "display",
6638
+ "variants": [
6639
+ "regular"
6640
+ ],
6641
+ "subsets": [
6642
+ "bengali",
6643
+ "latin"
6644
+ ],
6645
+ "version": "v4",
6646
+ "lastModified": "2018-12-13",
6647
+ "files": {
6648
+ "regular": "http://fonts.gstatic.com/s/galada/v4/H4cmBXyGmcjXlUX-8iw-4Lqggw.ttf"
6649
+ }
6650
+ },
6651
+ {
6652
+ "kind": "webfonts#webfont",
6653
+ "family": "Galdeano",
6654
+ "category": "sans-serif",
6655
+ "variants": [
6656
+ "regular"
6657
+ ],
6658
+ "subsets": [
6659
+ "latin"
6660
+ ],
6661
+ "version": "v8",
6662
+ "lastModified": "2018-12-13",
6663
+ "files": {
6664
+ "regular": "http://fonts.gstatic.com/s/galdeano/v8/uU9MCBoQ4YOqOW1boDPx8PCOg0uX.ttf"
6665
+ }
6666
+ },
6667
+ {
6668
+ "kind": "webfonts#webfont",
6669
+ "family": "Galindo",
6670
+ "category": "display",
6671
+ "variants": [
6672
+ "regular"
6673
+ ],
6674
+ "subsets": [
6675
+ "latin-ext",
6676
+ "latin"
6677
+ ],
6678
+ "version": "v6",
6679
+ "lastModified": "2018-12-13",
6680
+ "files": {
6681
+ "regular": "http://fonts.gstatic.com/s/galindo/v6/HI_KiYMeLqVKqwyuQ5HiRp-dhpQ.ttf"
6682
+ }
6683
+ },
6684
+ {
6685
+ "kind": "webfonts#webfont",
6686
+ "family": "Gamja Flower",
6687
+ "category": "handwriting",
6688
+ "variants": [
6689
+ "regular"
6690
+ ],
6691
+ "subsets": [
6692
+ "korean",
6693
+ "latin"
6694
+ ],
6695
+ "version": "v5",
6696
+ "lastModified": "2018-11-29",
6697
+ "files": {
6698
+ "regular": "http://fonts.gstatic.com/s/gamjaflower/v5/6NUR8FiKJg-Pa0rM6uN40Z4kyf9Fdty2ew.ttf"
6699
+ }
6700
+ },
6701
+ {
6702
+ "kind": "webfonts#webfont",
6703
+ "family": "Gentium Basic",
6704
+ "category": "serif",
6705
+ "variants": [
6706
+ "regular",
6707
+ "italic",
6708
+ "700",
6709
+ "700italic"
6710
+ ],
6711
+ "subsets": [
6712
+ "latin-ext",
6713
+ "latin"
6714
+ ],
6715
+ "version": "v10",
6716
+ "lastModified": "2019-01-15",
6717
+ "files": {
6718
+ "700": "http://fonts.gstatic.com/s/gentiumbasic/v10/WnzgHAw9aB_JD2VGQVR80We3JLasrToUbIqIfBU.ttf",
6719
+ "regular": "http://fonts.gstatic.com/s/gentiumbasic/v10/Wnz9HAw9aB_JD2VGQVR80We3HAqDiTI_cIM.ttf",
6720
+ "italic": "http://fonts.gstatic.com/s/gentiumbasic/v10/WnzjHAw9aB_JD2VGQVR80We3LAiJjRA6YIORZQ.ttf",
6721
+ "700italic": "http://fonts.gstatic.com/s/gentiumbasic/v10/WnzmHAw9aB_JD2VGQVR80We3LAixMT8eaKiNbBVWkw.ttf"
6722
+ }
6723
+ },
6724
+ {
6725
+ "kind": "webfonts#webfont",
6726
+ "family": "Gentium Book Basic",
6727
+ "category": "serif",
6728
+ "variants": [
6729
+ "regular",
6730
+ "italic",
6731
+ "700",
6732
+ "700italic"
6733
+ ],
6734
+ "subsets": [
6735
+ "latin-ext",
6736
+ "latin"
6737
+ ],
6738
+ "version": "v9",
6739
+ "lastModified": "2019-01-15",
6740
+ "files": {
6741
+ "700": "http://fonts.gstatic.com/s/gentiumbookbasic/v9/pe0wMJCbPYBVokB1LHA9bbyaQb8ZGjcw65Rfy43Y0V4kvg.ttf",
6742
+ "regular": "http://fonts.gstatic.com/s/gentiumbookbasic/v9/pe0zMJCbPYBVokB1LHA9bbyaQb8ZGjcIV7t7w6bE2A.ttf",
6743
+ "italic": "http://fonts.gstatic.com/s/gentiumbookbasic/v9/pe0xMJCbPYBVokB1LHA9bbyaQb8ZGjc4VbF_4aPU2Ec9.ttf",
6744
+ "700italic": "http://fonts.gstatic.com/s/gentiumbookbasic/v9/pe0-MJCbPYBVokB1LHA9bbyaQb8ZGjc4VYnDzofc81s0voO3.ttf"
6745
+ }
6746
+ },
6747
+ {
6748
+ "kind": "webfonts#webfont",
6749
+ "family": "Geo",
6750
+ "category": "sans-serif",
6751
+ "variants": [
6752
+ "regular",
6753
+ "italic"
6754
+ ],
6755
+ "subsets": [
6756
+ "latin"
6757
+ ],
6758
+ "version": "v10",
6759
+ "lastModified": "2019-01-10",
6760
+ "files": {
6761
+ "regular": "http://fonts.gstatic.com/s/geo/v10/CSRz4zRZlufVL3BmQjlCbQ.ttf",
6762
+ "italic": "http://fonts.gstatic.com/s/geo/v10/CSRx4zRZluflLXpiYDxSbf8r.ttf"
6763
+ }
6764
+ },
6765
+ {
6766
+ "kind": "webfonts#webfont",
6767
+ "family": "Geostar",
6768
+ "category": "display",
6769
+ "variants": [
6770
+ "regular"
6771
+ ],
6772
+ "subsets": [
6773
+ "latin"
6774
+ ],
6775
+ "version": "v9",
6776
+ "lastModified": "2018-11-29",
6777
+ "files": {
6778
+ "regular": "http://fonts.gstatic.com/s/geostar/v9/sykz-yx4n701VLOftSq9-trEvlQ.ttf"
6779
+ }
6780
+ },
6781
+ {
6782
+ "kind": "webfonts#webfont",
6783
+ "family": "Geostar Fill",
6784
+ "category": "display",
6785
+ "variants": [
6786
+ "regular"
6787
+ ],
6788
+ "subsets": [
6789
+ "latin"
6790
+ ],
6791
+ "version": "v9",
6792
+ "lastModified": "2018-11-29",
6793
+ "files": {
6794
+ "regular": "http://fonts.gstatic.com/s/geostarfill/v9/AMOWz4SWuWiXFfjEohxQ9os0U1K2w9lb4g.ttf"
6795
+ }
6796
+ },
6797
+ {
6798
+ "kind": "webfonts#webfont",
6799
+ "family": "Germania One",
6800
+ "category": "display",
6801
+ "variants": [
6802
+ "regular"
6803
+ ],
6804
+ "subsets": [
6805
+ "latin"
6806
+ ],
6807
+ "version": "v6",
6808
+ "lastModified": "2018-12-13",
6809
+ "files": {
6810
+ "regular": "http://fonts.gstatic.com/s/germaniaone/v6/Fh4yPjrqIyv2ucM2qzBjeS3ezAJONau6ew.ttf"
6811
+ }
6812
+ },
6813
+ {
6814
+ "kind": "webfonts#webfont",
6815
+ "family": "Gidugu",
6816
+ "category": "sans-serif",
6817
+ "variants": [
6818
+ "regular"
6819
+ ],
6820
+ "subsets": [
6821
+ "telugu",
6822
+ "latin"
6823
+ ],
6824
+ "version": "v5",
6825
+ "lastModified": "2018-11-29",
6826
+ "files": {
6827
+ "regular": "http://fonts.gstatic.com/s/gidugu/v5/L0x8DFMkk1Uf6w3RvPCmRSlUig.ttf"
6828
+ }
6829
+ },
6830
+ {
6831
+ "kind": "webfonts#webfont",
6832
+ "family": "Gilda Display",
6833
+ "category": "serif",
6834
+ "variants": [
6835
+ "regular"
6836
+ ],
6837
+ "subsets": [
6838
+ "latin-ext",
6839
+ "latin"
6840
+ ],
6841
+ "version": "v6",
6842
+ "lastModified": "2019-01-10",
6843
+ "files": {
6844
+ "regular": "http://fonts.gstatic.com/s/gildadisplay/v6/t5tmIRoYMoaYG0WEOh7HwMeR7TnFrpOHYh4.ttf"
6845
+ }
6846
+ },
6847
+ {
6848
+ "kind": "webfonts#webfont",
6849
+ "family": "Give You Glory",
6850
+ "category": "handwriting",
6851
+ "variants": [
6852
+ "regular"
6853
+ ],
6854
+ "subsets": [
6855
+ "latin"
6856
+ ],
6857
+ "version": "v8",
6858
+ "lastModified": "2019-01-10",
6859
+ "files": {
6860
+ "regular": "http://fonts.gstatic.com/s/giveyouglory/v8/8QIQdiHOgt3vv4LR7ahjw9-XYc1zB4ZD6rwa.ttf"
6861
+ }
6862
+ },
6863
+ {
6864
+ "kind": "webfonts#webfont",
6865
+ "family": "Glass Antiqua",
6866
+ "category": "display",
6867
+ "variants": [
6868
+ "regular"
6869
+ ],
6870
+ "subsets": [
6871
+ "latin-ext",
6872
+ "latin"
6873
+ ],
6874
+ "version": "v6",
6875
+ "lastModified": "2018-12-13",
6876
+ "files": {
6877
+ "regular": "http://fonts.gstatic.com/s/glassantiqua/v6/xfu30Wr0Wn3NOQM2piC0uXOjnL_wN6fRUkY.ttf"
6878
+ }
6879
+ },
6880
+ {
6881
+ "kind": "webfonts#webfont",
6882
+ "family": "Glegoo",
6883
+ "category": "serif",
6884
+ "variants": [
6885
+ "regular",
6886
+ "700"
6887
+ ],
6888
+ "subsets": [
6889
+ "latin-ext",
6890
+ "devanagari",
6891
+ "latin"
6892
+ ],
6893
+ "version": "v8",
6894
+ "lastModified": "2019-01-15",
6895
+ "files": {
6896
+ "700": "http://fonts.gstatic.com/s/glegoo/v8/_Xmu-HQyrTKWaw2xN4a9CKRpzimMsg.ttf",
6897
+ "regular": "http://fonts.gstatic.com/s/glegoo/v8/_Xmt-HQyrTKWaw2Ji6mZAI91xw.ttf"
6898
+ }
6899
+ },
6900
+ {
6901
+ "kind": "webfonts#webfont",
6902
+ "family": "Gloria Hallelujah",
6903
+ "category": "handwriting",
6904
+ "variants": [
6905
+ "regular"
6906
+ ],
6907
+ "subsets": [
6908
+ "latin"
6909
+ ],
6910
+ "version": "v9",
6911
+ "lastModified": "2017-10-10",
6912
+ "files": {
6913
+ "regular": "http://fonts.gstatic.com/s/gloriahallelujah/v9/LYjYdHv3kUk9BMV96EIswT9DIbW-MLSy.ttf"
6914
+ }
6915
+ },
6916
+ {
6917
+ "kind": "webfonts#webfont",
6918
+ "family": "Goblin One",
6919
+ "category": "display",
6920
+ "variants": [
6921
+ "regular"
6922
+ ],
6923
+ "subsets": [
6924
+ "latin"
6925
+ ],
6926
+ "version": "v8",
6927
+ "lastModified": "2018-12-13",
6928
+ "files": {
6929
+ "regular": "http://fonts.gstatic.com/s/goblinone/v8/CSR64z1ZnOqZRjRCBVY_TOcATNt_pOU.ttf"
6930
+ }
6931
+ },
6932
+ {
6933
+ "kind": "webfonts#webfont",
6934
+ "family": "Gochi Hand",
6935
+ "category": "handwriting",
6936
+ "variants": [
6937
+ "regular"
6938
+ ],
6939
+ "subsets": [
6940
+ "latin"
6941
+ ],
6942
+ "version": "v9",
6943
+ "lastModified": "2019-01-15",
6944
+ "files": {
6945
+ "regular": "http://fonts.gstatic.com/s/gochihand/v9/hES06XlsOjtJsgCkx1PkTo71-n0nXWA.ttf"
6946
+ }
6947
+ },
6948
+ {
6949
+ "kind": "webfonts#webfont",
6950
+ "family": "Gorditas",
6951
+ "category": "display",
6952
+ "variants": [
6953
+ "regular",
6954
+ "700"
6955
+ ],
6956
+ "subsets": [
6957
+ "latin"
6958
+ ],
6959
+ "version": "v6",
6960
+ "lastModified": "2018-11-29",
6961
+ "files": {
6962
+ "700": "http://fonts.gstatic.com/s/gorditas/v6/ll84K2aTVD26DsPEtThUIooIvAoShA1i.ttf",
6963
+ "regular": "http://fonts.gstatic.com/s/gorditas/v6/ll8_K2aTVD26DsPEtQDoDa4AlxYb.ttf"
6964
+ }
6965
+ },
6966
+ {
6967
+ "kind": "webfonts#webfont",
6968
+ "family": "Gothic A1",
6969
+ "category": "sans-serif",
6970
+ "variants": [
6971
+ "100",
6972
+ "200",
6973
+ "300",
6974
+ "regular",
6975
+ "500",
6976
+ "600",
6977
+ "700",
6978
+ "800",
6979
+ "900"
6980
+ ],
6981
+ "subsets": [
6982
+ "korean",
6983
+ "latin"
6984
+ ],
6985
+ "version": "v5",
6986
+ "lastModified": "2019-01-15",
6987
+ "files": {
6988
+ "100": "http://fonts.gstatic.com/s/gothica1/v5/CSR74z5ZnPydRjlCCwlCCMcqYtd2vfwk.ttf",
6989
+ "200": "http://fonts.gstatic.com/s/gothica1/v5/CSR44z5ZnPydRjlCCwlCpOYKSPl6tOU9Eg.ttf",
6990
+ "300": "http://fonts.gstatic.com/s/gothica1/v5/CSR44z5ZnPydRjlCCwlCwOUKSPl6tOU9Eg.ttf",
6991
+ "500": "http://fonts.gstatic.com/s/gothica1/v5/CSR44z5ZnPydRjlCCwlCmOQKSPl6tOU9Eg.ttf",
6992
+ "600": "http://fonts.gstatic.com/s/gothica1/v5/CSR44z5ZnPydRjlCCwlCtOMKSPl6tOU9Eg.ttf",
6993
+ "700": "http://fonts.gstatic.com/s/gothica1/v5/CSR44z5ZnPydRjlCCwlC0OIKSPl6tOU9Eg.ttf",
6994
+ "800": "http://fonts.gstatic.com/s/gothica1/v5/CSR44z5ZnPydRjlCCwlCzOEKSPl6tOU9Eg.ttf",
6995
+ "900": "http://fonts.gstatic.com/s/gothica1/v5/CSR44z5ZnPydRjlCCwlC6OAKSPl6tOU9Eg.ttf",
6996
+ "regular": "http://fonts.gstatic.com/s/gothica1/v5/CSR94z5ZnPydRjlCCwl6bM0uQNJmvQ.ttf"
6997
+ }
6998
+ },
6999
+ {
7000
+ "kind": "webfonts#webfont",
7001
+ "family": "Goudy Bookletter 1911",
7002
+ "category": "serif",
7003
+ "variants": [
7004
+ "regular"
7005
+ ],
7006
+ "subsets": [
7007
+ "latin"
7008
+ ],
7009
+ "version": "v8",
7010
+ "lastModified": "2019-01-10",
7011
+ "files": {
7012
+ "regular": "http://fonts.gstatic.com/s/goudybookletter1911/v8/sykt-z54laciWfKv-kX8krex0jDiD2HbY6I5tRbXZ4IXAA.ttf"
7013
+ }
7014
+ },
7015
+ {
7016
+ "kind": "webfonts#webfont",
7017
+ "family": "Graduate",
7018
+ "category": "display",
7019
+ "variants": [
7020
+ "regular"
7021
+ ],
7022
+ "subsets": [
7023
+ "latin"
7024
+ ],
7025
+ "version": "v6",
7026
+ "lastModified": "2019-01-10",
7027
+ "files": {
7028
+ "regular": "http://fonts.gstatic.com/s/graduate/v6/C8cg4cs3o2n15t_2YxgR6X2NZAn2.ttf"
7029
+ }
7030
+ },
7031
+ {
7032
+ "kind": "webfonts#webfont",
7033
+ "family": "Grand Hotel",
7034
+ "category": "handwriting",
7035
+ "variants": [
7036
+ "regular"
7037
+ ],
7038
+ "subsets": [
7039
+ "latin-ext",
7040
+ "latin"
7041
+ ],
7042
+ "version": "v6",
7043
+ "lastModified": "2019-01-15",
7044
+ "files": {
7045
+ "regular": "http://fonts.gstatic.com/s/grandhotel/v6/7Au7p_IgjDKdCRWuR1azpmQNEl0O0kEx.ttf"
7046
+ }
7047
+ },
7048
+ {
7049
+ "kind": "webfonts#webfont",
7050
+ "family": "Gravitas One",
7051
+ "category": "display",
7052
+ "variants": [
7053
+ "regular"
7054
+ ],
7055
+ "subsets": [
7056
+ "latin"
7057
+ ],
7058
+ "version": "v8",
7059
+ "lastModified": "2019-01-10",
7060
+ "files": {
7061
+ "regular": "http://fonts.gstatic.com/s/gravitasone/v8/5h1diZ4hJ3cblKy3LWakKQmaDWRNr3DzbQ.ttf"
7062
+ }
7063
+ },
7064
+ {
7065
+ "kind": "webfonts#webfont",
7066
+ "family": "Great Vibes",
7067
+ "category": "handwriting",
7068
+ "variants": [
7069
+ "regular"
7070
+ ],
7071
+ "subsets": [
7072
+ "latin-ext",
7073
+ "latin"
7074
+ ],
7075
+ "version": "v6",
7076
+ "lastModified": "2019-01-15",
7077
+ "files": {
7078
+ "regular": "http://fonts.gstatic.com/s/greatvibes/v6/RWmMoKWR9v4ksMfaWd_JN-XCg6UKDXlq.ttf"
7079
+ }
7080
+ },
7081
+ {
7082
+ "kind": "webfonts#webfont",
7083
+ "family": "Griffy",
7084
+ "category": "display",
7085
+ "variants": [
7086
+ "regular"
7087
+ ],
7088
+ "subsets": [
7089
+ "latin-ext",
7090
+ "latin"
7091
+ ],
7092
+ "version": "v7",
7093
+ "lastModified": "2018-12-13",
7094
+ "files": {
7095
+ "regular": "http://fonts.gstatic.com/s/griffy/v7/FwZa7-ox2FQh9kfwSNSEwM2zpA.ttf"
7096
+ }
7097
+ },
7098
+ {
7099
+ "kind": "webfonts#webfont",
7100
+ "family": "Gruppo",
7101
+ "category": "display",
7102
+ "variants": [
7103
+ "regular"
7104
+ ],
7105
+ "subsets": [
7106
+ "latin-ext",
7107
+ "latin"
7108
+ ],
7109
+ "version": "v9",
7110
+ "lastModified": "2019-01-10",
7111
+ "files": {
7112
+ "regular": "http://fonts.gstatic.com/s/gruppo/v9/WwkfxPmzE06v_ZWFWXDAOIEQUQ.ttf"
7113
+ }
7114
+ },
7115
+ {
7116
+ "kind": "webfonts#webfont",
7117
+ "family": "Gudea",
7118
+ "category": "sans-serif",
7119
+ "variants": [
7120
+ "regular",
7121
+ "italic",
7122
+ "700"
7123
+ ],
7124
+ "subsets": [
7125
+ "latin-ext",
7126
+ "latin"
7127
+ ],
7128
+ "version": "v8",
7129
+ "lastModified": "2019-01-15",
7130
+ "files": {
7131
+ "700": "http://fonts.gstatic.com/s/gudea/v8/neIIzCqgsI0mp9gz26WGHK06UY30.ttf",
7132
+ "regular": "http://fonts.gstatic.com/s/gudea/v8/neIFzCqgsI0mp-CP9IGON7Ez.ttf",
7133
+ "italic": "http://fonts.gstatic.com/s/gudea/v8/neILzCqgsI0mp9CN_oWsMqEzSJQ.ttf"
7134
+ }
7135
+ },
7136
+ {
7137
+ "kind": "webfonts#webfont",
7138
+ "family": "Gugi",
7139
+ "category": "display",
7140
+ "variants": [
7141
+ "regular"
7142
+ ],
7143
+ "subsets": [
7144
+ "korean",
7145
+ "latin"
7146
+ ],
7147
+ "version": "v5",
7148
+ "lastModified": "2018-12-13",
7149
+ "files": {
7150
+ "regular": "http://fonts.gstatic.com/s/gugi/v5/A2BVn5dXywshVA6A9DEfgqM.ttf"
7151
+ }
7152
+ },
7153
+ {
7154
+ "kind": "webfonts#webfont",
7155
+ "family": "Gurajada",
7156
+ "category": "serif",
7157
+ "variants": [
7158
+ "regular"
7159
+ ],
7160
+ "subsets": [
7161
+ "telugu",
7162
+ "latin"
7163
+ ],
7164
+ "version": "v6",
7165
+ "lastModified": "2019-01-10",
7166
+ "files": {
7167
+ "regular": "http://fonts.gstatic.com/s/gurajada/v6/FwZY7-Qx308m-l-0Kd6A4sijpFu_.ttf"
7168
+ }
7169
+ },
7170
+ {
7171
+ "kind": "webfonts#webfont",
7172
+ "family": "Habibi",
7173
+ "category": "serif",
7174
+ "variants": [
7175
+ "regular"
7176
+ ],
7177
+ "subsets": [
7178
+ "latin-ext",
7179
+ "latin"
7180
+ ],
7181
+ "version": "v7",
7182
+ "lastModified": "2018-12-13",
7183
+ "files": {
7184
+ "regular": "http://fonts.gstatic.com/s/habibi/v7/CSR-4zFWkuqcTTNCShJeZOYySQ.ttf"
7185
+ }
7186
+ },
7187
+ {
7188
+ "kind": "webfonts#webfont",
7189
+ "family": "Halant",
7190
+ "category": "serif",
7191
+ "variants": [
7192
+ "300",
7193
+ "regular",
7194
+ "500",
7195
+ "600",
7196
+ "700"
7197
+ ],
7198
+ "subsets": [
7199
+ "latin-ext",
7200
+ "devanagari",
7201
+ "latin"
7202
+ ],
7203
+ "version": "v6",
7204
+ "lastModified": "2019-01-10",
7205
+ "files": {
7206
+ "300": "http://fonts.gstatic.com/s/halant/v6/u-490qaujRI2Pbsvc_pCmwZqcwdRXg.ttf",
7207
+ "500": "http://fonts.gstatic.com/s/halant/v6/u-490qaujRI2PbsvK_tCmwZqcwdRXg.ttf",
7208
+ "600": "http://fonts.gstatic.com/s/halant/v6/u-490qaujRI2PbsvB_xCmwZqcwdRXg.ttf",
7209
+ "700": "http://fonts.gstatic.com/s/halant/v6/u-490qaujRI2PbsvY_1CmwZqcwdRXg.ttf",
7210
+ "regular": "http://fonts.gstatic.com/s/halant/v6/u-4-0qaujRI2PbsX39Jmky12eg.ttf"
7211
+ }
7212
+ },
7213
+ {
7214
+ "kind": "webfonts#webfont",
7215
+ "family": "Hammersmith One",
7216
+ "category": "sans-serif",
7217
+ "variants": [
7218
+ "regular"
7219
+ ],
7220
+ "subsets": [
7221
+ "latin-ext",
7222
+ "latin"
7223
+ ],
7224
+ "version": "v9",
7225
+ "lastModified": "2019-01-15",
7226
+ "files": {
7227
+ "regular": "http://fonts.gstatic.com/s/hammersmithone/v9/qWcyB624q4L_C4jGQ9IK0O_dFlnbshsks4MRXw.ttf"
7228
+ }
7229
+ },
7230
+ {
7231
+ "kind": "webfonts#webfont",
7232
+ "family": "Hanalei",
7233
+ "category": "display",
7234
+ "variants": [
7235
+ "regular"
7236
+ ],
7237
+ "subsets": [
7238
+ "latin-ext",
7239
+ "latin"
7240
+ ],
7241
+ "version": "v8",
7242
+ "lastModified": "2018-11-08",
7243
+ "files": {
7244
+ "regular": "http://fonts.gstatic.com/s/hanalei/v8/E21n_dD8iufIjBRHXzgmVydREus.ttf"
7245
+ }
7246
+ },
7247
+ {
7248
+ "kind": "webfonts#webfont",
7249
+ "family": "Hanalei Fill",
7250
+ "category": "display",
7251
+ "variants": [
7252
+ "regular"
7253
+ ],
7254
+ "subsets": [
7255
+ "latin-ext",
7256
+ "latin"
7257
+ ],
7258
+ "version": "v7",
7259
+ "lastModified": "2019-01-10",
7260
+ "files": {
7261
+ "regular": "http://fonts.gstatic.com/s/hanaleifill/v7/fC1mPYtObGbfyQznIaQzPQiMVwLBplm9aw.ttf"
7262
+ }
7263
+ },
7264
+ {
7265
+ "kind": "webfonts#webfont",
7266
+ "family": "Handlee",
7267
+ "category": "handwriting",
7268
+ "variants": [
7269
+ "regular"
7270
+ ],
7271
+ "subsets": [
7272
+ "latin"
7273
+ ],
7274
+ "version": "v7",
7275
+ "lastModified": "2019-01-15",
7276
+ "files": {
7277
+ "regular": "http://fonts.gstatic.com/s/handlee/v7/-F6xfjBsISg9aMakDmr6oilJ3ik.ttf"
7278
+ }
7279
+ },
7280
+ {
7281
+ "kind": "webfonts#webfont",
7282
+ "family": "Hanuman",
7283
+ "category": "serif",
7284
+ "variants": [
7285
+ "regular",
7286
+ "700"
7287
+ ],
7288
+ "subsets": [
7289
+ "khmer"
7290
+ ],
7291
+ "version": "v12",
7292
+ "lastModified": "2019-01-15",
7293
+ "files": {
7294
+ "700": "http://fonts.gstatic.com/s/hanuman/v12/VuJ0dNvD15HhpJJBQBr4HIlMZRNcp0o.ttf",
7295
+ "regular": "http://fonts.gstatic.com/s/hanuman/v12/VuJxdNvD15HhpJJBeKbXOIFneRo.ttf"
7296
+ }
7297
+ },
7298
+ {
7299
+ "kind": "webfonts#webfont",
7300
+ "family": "Happy Monkey",
7301
+ "category": "display",
7302
+ "variants": [
7303
+ "regular"
7304
+ ],
7305
+ "subsets": [
7306
+ "latin-ext",
7307
+ "latin"
7308
+ ],
7309
+ "version": "v7",
7310
+ "lastModified": "2019-01-10",
7311
+ "files": {
7312
+ "regular": "http://fonts.gstatic.com/s/happymonkey/v7/K2F2fZZcl-9SXwl5F_C4R_OABwD2bWqVjw.ttf"
7313
+ }
7314
+ },
7315
+ {
7316
+ "kind": "webfonts#webfont",
7317
+ "family": "Harmattan",
7318
+ "category": "sans-serif",
7319
+ "variants": [
7320
+ "regular"
7321
+ ],
7322
+ "subsets": [
7323
+ "arabic",
7324
+ "latin"
7325
+ ],
7326
+ "version": "v5",
7327
+ "lastModified": "2019-01-10",
7328
+ "files": {
7329
+ "regular": "http://fonts.gstatic.com/s/harmattan/v5/goksH6L2DkFvVvRp9XpTS0CjkP1Yog.ttf"
7330
+ }
7331
+ },
7332
+ {
7333
+ "kind": "webfonts#webfont",
7334
+ "family": "Headland One",
7335
+ "category": "serif",
7336
+ "variants": [
7337
+ "regular"
7338
+ ],
7339
+ "subsets": [
7340
+ "latin-ext",
7341
+ "latin"
7342
+ ],
7343
+ "version": "v6",
7344
+ "lastModified": "2019-01-10",
7345
+ "files": {
7346
+ "regular": "http://fonts.gstatic.com/s/headlandone/v6/yYLu0hHR2vKnp89Tk1TCq3Tx0PlTeZ3mJA.ttf"
7347
+ }
7348
+ },
7349
+ {
7350
+ "kind": "webfonts#webfont",
7351
+ "family": "Heebo",
7352
+ "category": "sans-serif",
7353
+ "variants": [
7354
+ "100",
7355
+ "300",
7356
+ "regular",
7357
+ "500",
7358
+ "700",
7359
+ "800",
7360
+ "900"
7361
+ ],
7362
+ "subsets": [
7363
+ "hebrew",
7364
+ "latin"
7365
+ ],
7366
+ "version": "v3",
7367
+ "lastModified": "2017-10-10",
7368
+ "files": {
7369
+ "100": "http://fonts.gstatic.com/s/heebo/v3/NGS0v5_NC0k9P9mVTbQ.ttf",
7370
+ "300": "http://fonts.gstatic.com/s/heebo/v3/NGS3v5_NC0k9P9ldb5RL.ttf",
7371
+ "500": "http://fonts.gstatic.com/s/heebo/v3/NGS3v5_NC0k9P9kFbpRL.ttf",
7372
+ "700": "http://fonts.gstatic.com/s/heebo/v3/NGS3v5_NC0k9P9lNaJRL.ttf",
7373
+ "800": "http://fonts.gstatic.com/s/heebo/v3/NGS3v5_NC0k9P9lRa5RL.ttf",
7374
+ "900": "http://fonts.gstatic.com/s/heebo/v3/NGS3v5_NC0k9P9l1apRL.ttf",
7375
+ "regular": "http://fonts.gstatic.com/s/heebo/v3/NGS6v5_NC0k9P-Hx.ttf"
7376
+ }
7377
+ },
7378
+ {
7379
+ "kind": "webfonts#webfont",
7380
+ "family": "Henny Penny",
7381
+ "category": "display",
7382
+ "variants": [
7383
+ "regular"
7384
+ ],
7385
+ "subsets": [
7386
+ "latin"
7387
+ ],
7388
+ "version": "v6",
7389
+ "lastModified": "2018-12-13",
7390
+ "files": {
7391
+ "regular": "http://fonts.gstatic.com/s/hennypenny/v6/wXKvE3UZookzsxz_kjGSfMQqt3M7tMDT.ttf"
7392
+ }
7393
+ },
7394
+ {
7395
+ "kind": "webfonts#webfont",
7396
+ "family": "Herr Von Muellerhoff",
7397
+ "category": "handwriting",
7398
+ "variants": [
7399
+ "regular"
7400
+ ],
7401
+ "subsets": [
7402
+ "latin-ext",
7403
+ "latin"
7404
+ ],
7405
+ "version": "v8",
7406
+ "lastModified": "2019-01-10",
7407
+ "files": {
7408
+ "regular": "http://fonts.gstatic.com/s/herrvonmuellerhoff/v8/WBL6rFjRZkREW8WqmCWYLgCkQKXb4CAft3c6_qJY3QPQ.ttf"
7409
+ }
7410
+ },
7411
+ {
7412
+ "kind": "webfonts#webfont",
7413
+ "family": "Hi Melody",
7414
+ "category": "handwriting",
7415
+ "variants": [
7416
+ "regular"
7417
+ ],
7418
+ "subsets": [
7419
+ "korean",
7420
+ "latin"
7421
+ ],
7422
+ "version": "v5",
7423
+ "lastModified": "2018-11-29",
7424
+ "files": {
7425
+ "regular": "http://fonts.gstatic.com/s/himelody/v5/46ktlbP8Vnz0pJcqCTbEf29E31BBGA.ttf"
7426
+ }
7427
+ },
7428
+ {
7429
+ "kind": "webfonts#webfont",
7430
+ "family": "Hind",
7431
+ "category": "sans-serif",
7432
+ "variants": [
7433
+ "300",
7434
+ "regular",
7435
+ "500",
7436
+ "600",
7437
+ "700"
7438
+ ],
7439
+ "subsets": [
7440
+ "latin-ext",
7441
+ "devanagari",
7442
+ "latin"
7443
+ ],
7444
+ "version": "v8",
7445
+ "lastModified": "2017-10-10",
7446
+ "files": {
7447
+ "300": "http://fonts.gstatic.com/s/hind/v8/5aU19_a8oxmIfMJaIRs.ttf",
7448
+ "500": "http://fonts.gstatic.com/s/hind/v8/5aU19_a8oxmIfJpbIRs.ttf",
7449
+ "600": "http://fonts.gstatic.com/s/hind/v8/5aU19_a8oxmIfLZcIRs.ttf",
7450
+ "700": "http://fonts.gstatic.com/s/hind/v8/5aU19_a8oxmIfNJdIRs.ttf",
7451
+ "regular": "http://fonts.gstatic.com/s/hind/v8/5aU69_a8oxmIRG4.ttf"
7452
+ }
7453
+ },
7454
+ {
7455
+ "kind": "webfonts#webfont",
7456
+ "family": "Hind Guntur",
7457
+ "category": "sans-serif",
7458
+ "variants": [
7459
+ "300",
7460
+ "regular",
7461
+ "500",
7462
+ "600",
7463
+ "700"
7464
+ ],
7465
+ "subsets": [
7466
+ "latin-ext",
7467
+ "telugu",
7468
+ "latin"
7469
+ ],
7470
+ "version": "v4",
7471
+ "lastModified": "2019-01-15",
7472
+ "files": {
7473
+ "300": "http://fonts.gstatic.com/s/hindguntur/v4/wXKyE3UZrok56nvamSuJd_yGn1czn9zaj5Ju.ttf",
7474
+ "500": "http://fonts.gstatic.com/s/hindguntur/v4/wXKyE3UZrok56nvamSuJd_zenlczn9zaj5Ju.ttf",
7475
+ "600": "http://fonts.gstatic.com/s/hindguntur/v4/wXKyE3UZrok56nvamSuJd_zymVczn9zaj5Ju.ttf",
7476
+ "700": "http://fonts.gstatic.com/s/hindguntur/v4/wXKyE3UZrok56nvamSuJd_yWmFczn9zaj5Ju.ttf",
7477
+ "regular": "http://fonts.gstatic.com/s/hindguntur/v4/wXKvE3UZrok56nvamSuJd8Qqt3M7tMDT.ttf"
7478
+ }
7479
+ },
7480
+ {
7481
+ "kind": "webfonts#webfont",
7482
+ "family": "Hind Madurai",
7483
+ "category": "sans-serif",
7484
+ "variants": [
7485
+ "300",
7486
+ "regular",
7487
+ "500",
7488
+ "600",
7489
+ "700"
7490
+ ],
7491
+ "subsets": [
7492
+ "latin-ext",
7493
+ "tamil",
7494
+ "latin"
7495
+ ],
7496
+ "version": "v3",
7497
+ "lastModified": "2017-10-10",
7498
+ "files": {
7499
+ "300": "http://fonts.gstatic.com/s/hindmadurai/v3/f0Xu0e2p98ZvDXdZQIOcpqjfXaUneQ.ttf",
7500
+ "500": "http://fonts.gstatic.com/s/hindmadurai/v3/f0Xu0e2p98ZvDXdZQIOcpqjfBaQneQ.ttf",
7501
+ "600": "http://fonts.gstatic.com/s/hindmadurai/v3/f0Xu0e2p98ZvDXdZQIOcpqjfKaMneQ.ttf",
7502
+ "700": "http://fonts.gstatic.com/s/hindmadurai/v3/f0Xu0e2p98ZvDXdZQIOcpqjfTaIneQ.ttf",
7503
+ "regular": "http://fonts.gstatic.com/s/hindmadurai/v3/f0Xx0e2p98ZvDXdZQIOcpqjn8Q.ttf"
7504
+ }
7505
+ },
7506
+ {
7507
+ "kind": "webfonts#webfont",
7508
+ "family": "Hind Siliguri",
7509
+ "category": "sans-serif",
7510
+ "variants": [
7511
+ "300",
7512
+ "regular",
7513
+ "500",
7514
+ "600",
7515
+ "700"
7516
+ ],
7517
+ "subsets": [
7518
+ "latin-ext",
7519
+ "bengali",
7520
+ "latin"
7521
+ ],
7522
+ "version": "v4",
7523
+ "lastModified": "2017-10-10",
7524
+ "files": {
7525
+ "300": "http://fonts.gstatic.com/s/hindsiliguri/v4/ijwOs5juQtsyLLR5jN4cxBEoRDf44uE.ttf",
7526
+ "500": "http://fonts.gstatic.com/s/hindsiliguri/v4/ijwOs5juQtsyLLR5jN4cxBEoRG_54uE.ttf",
7527
+ "600": "http://fonts.gstatic.com/s/hindsiliguri/v4/ijwOs5juQtsyLLR5jN4cxBEoREP-4uE.ttf",
7528
+ "700": "http://fonts.gstatic.com/s/hindsiliguri/v4/ijwOs5juQtsyLLR5jN4cxBEoRCf_4uE.ttf",
7529
+ "regular": "http://fonts.gstatic.com/s/hindsiliguri/v4/ijwTs5juQtsyLLR5jN4cxBEofJs.ttf"
7530
+ }
7531
+ },
7532
+ {
7533
+ "kind": "webfonts#webfont",
7534
+ "family": "Hind Vadodara",
7535
+ "category": "sans-serif",
7536
+ "variants": [
7537
+ "300",
7538
+ "regular",
7539
+ "500",
7540
+ "600",
7541
+ "700"
7542
+ ],
7543
+ "subsets": [
7544
+ "latin-ext",
7545
+ "gujarati",
7546
+ "latin"
7547
+ ],
7548
+ "version": "v5",
7549
+ "lastModified": "2019-01-15",
7550
+ "files": {
7551
+ "300": "http://fonts.gstatic.com/s/hindvadodara/v5/neIQzCKvrIcn5pbuuuriV9tTSDn3iXM0oSOL2Yw.ttf",
7552
+ "500": "http://fonts.gstatic.com/s/hindvadodara/v5/neIQzCKvrIcn5pbuuuriV9tTSGH2iXM0oSOL2Yw.ttf",
7553
+ "600": "http://fonts.gstatic.com/s/hindvadodara/v5/neIQzCKvrIcn5pbuuuriV9tTSE3xiXM0oSOL2Yw.ttf",
7554
+ "700": "http://fonts.gstatic.com/s/hindvadodara/v5/neIQzCKvrIcn5pbuuuriV9tTSCnwiXM0oSOL2Yw.ttf",
7555
+ "regular": "http://fonts.gstatic.com/s/hindvadodara/v5/neINzCKvrIcn5pbuuuriV9tTcJXfrXsfvSo.ttf"
7556
+ }
7557
+ },
7558
+ {
7559
+ "kind": "webfonts#webfont",
7560
+ "family": "Holtwood One SC",
7561
+ "category": "serif",
7562
+ "variants": [
7563
+ "regular"
7564
+ ],
7565
+ "subsets": [
7566
+ "latin"
7567
+ ],
7568
+ "version": "v9",
7569
+ "lastModified": "2018-12-13",
7570
+ "files": {
7571
+ "regular": "http://fonts.gstatic.com/s/holtwoodonesc/v9/yYLx0hLR0P-3vMFSk1TCq3Txg5B3cbb6LZttyg.ttf"
7572
+ }
7573
+ },
7574
+ {
7575
+ "kind": "webfonts#webfont",
7576
+ "family": "Homemade Apple",
7577
+ "category": "handwriting",
7578
+ "variants": [
7579
+ "regular"
7580
+ ],
7581
+ "subsets": [
7582
+ "latin"
7583
+ ],
7584
+ "version": "v9",
7585
+ "lastModified": "2019-01-15",
7586
+ "files": {
7587
+ "regular": "http://fonts.gstatic.com/s/homemadeapple/v9/Qw3EZQFXECDrI2q789EKQZJob3x9Vnksi4M7.ttf"
7588
+ }
7589
+ },
7590
+ {
7591
+ "kind": "webfonts#webfont",
7592
+ "family": "Homenaje",
7593
+ "category": "sans-serif",
7594
+ "variants": [
7595
+ "regular"
7596
+ ],
7597
+ "subsets": [
7598
+ "latin"
7599
+ ],
7600
+ "version": "v8",
7601
+ "lastModified": "2019-01-10",
7602
+ "files": {
7603
+ "regular": "http://fonts.gstatic.com/s/homenaje/v8/FwZY7-Q-xVAi_l-6Ld6A4sijpFu_.ttf"
7604
+ }
7605
+ },
7606
+ {
7607
+ "kind": "webfonts#webfont",
7608
+ "family": "IBM Plex Mono",
7609
+ "category": "monospace",
7610
+ "variants": [
7611
+ "100",
7612
+ "100italic",
7613
+ "200",
7614
+ "200italic",
7615
+ "300",
7616
+ "300italic",
7617
+ "regular",
7618
+ "italic",
7619
+ "500",
7620
+ "500italic",
7621
+ "600",
7622
+ "600italic",
7623
+ "700",
7624
+ "700italic"
7625
+ ],
7626
+ "subsets": [
7627
+ "latin-ext",
7628
+ "cyrillic-ext",
7629
+ "cyrillic",
7630
+ "vietnamese",
7631
+ "latin"
7632
+ ],
7633
+ "version": "v4",
7634
+ "lastModified": "2019-01-10",
7635
+ "files": {
7636
+ "100": "http://fonts.gstatic.com/s/ibmplexmono/v4/-F6pfjptAgt5VM-kVkqdyU8n3kwq0n1hj-sNFQ.ttf",
7637
+ "200": "http://fonts.gstatic.com/s/ibmplexmono/v4/-F6qfjptAgt5VM-kVkqdyU8n3uAL8ldPg-IUDNg.ttf",
7638
+ "300": "http://fonts.gstatic.com/s/ibmplexmono/v4/-F6qfjptAgt5VM-kVkqdyU8n3oQI8ldPg-IUDNg.ttf",
7639
+ "500": "http://fonts.gstatic.com/s/ibmplexmono/v4/-F6qfjptAgt5VM-kVkqdyU8n3twJ8ldPg-IUDNg.ttf",
7640
+ "600": "http://fonts.gstatic.com/s/ibmplexmono/v4/-F6qfjptAgt5VM-kVkqdyU8n3vAO8ldPg-IUDNg.ttf",
7641
+ "700": "http://fonts.gstatic.com/s/ibmplexmono/v4/-F6qfjptAgt5VM-kVkqdyU8n3pQP8ldPg-IUDNg.ttf",
7642
+ "100italic": "http://fonts.gstatic.com/s/ibmplexmono/v4/-F6rfjptAgt5VM-kVkqdyU8n1ioStndlre4dFcFh.ttf",
7643
+ "200italic": "http://fonts.gstatic.com/s/ibmplexmono/v4/-F6sfjptAgt5VM-kVkqdyU8n1ioSGlZFh8ARHNh4zg.ttf",
7644
+ "300italic": "http://fonts.gstatic.com/s/ibmplexmono/v4/-F6sfjptAgt5VM-kVkqdyU8n1ioSflVFh8ARHNh4zg.ttf",
7645
+ "regular": "http://fonts.gstatic.com/s/ibmplexmono/v4/-F63fjptAgt5VM-kVkqdyU8n5igg1l9kn-s.ttf",
7646
+ "italic": "http://fonts.gstatic.com/s/ibmplexmono/v4/-F6pfjptAgt5VM-kVkqdyU8n1ioq0n1hj-sNFQ.ttf",
7647
+ "500italic": "http://fonts.gstatic.com/s/ibmplexmono/v4/-F6sfjptAgt5VM-kVkqdyU8n1ioSJlRFh8ARHNh4zg.ttf",
7648
+ "600italic": "http://fonts.gstatic.com/s/ibmplexmono/v4/-F6sfjptAgt5VM-kVkqdyU8n1ioSClNFh8ARHNh4zg.ttf",
7649
+ "700italic": "http://fonts.gstatic.com/s/ibmplexmono/v4/-F6sfjptAgt5VM-kVkqdyU8n1ioSblJFh8ARHNh4zg.ttf"
7650
+ }
7651
+ },
7652
+ {
7653
+ "kind": "webfonts#webfont",
7654
+ "family": "IBM Plex Sans",
7655
+ "category": "sans-serif",
7656
+ "variants": [
7657
+ "100",
7658
+ "100italic",
7659
+ "200",
7660
+ "200italic",
7661
+ "300",
7662
+ "300italic",
7663
+ "regular",
7664
+ "italic",
7665
+ "500",
7666
+ "500italic",
7667
+ "600",
7668
+ "600italic",
7669
+ "700",
7670
+ "700italic"
7671
+ ],
7672
+ "subsets": [
7673
+ "latin-ext",
7674
+ "cyrillic-ext",
7675
+ "cyrillic",
7676
+ "vietnamese",
7677
+ "latin"
7678
+ ],
7679
+ "version": "v4",
7680
+ "lastModified": "2019-01-15",
7681
+ "files": {
7682
+ "100": "http://fonts.gstatic.com/s/ibmplexsans/v4/zYX-KVElMYYaJe8bpLHnCwDKjbLeEKxIedbzDw.ttf",
7683
+ "200": "http://fonts.gstatic.com/s/ibmplexsans/v4/zYX9KVElMYYaJe8bpLHnCwDKjR7_MIZmdd_qFmo.ttf",
7684
+ "300": "http://fonts.gstatic.com/s/ibmplexsans/v4/zYX9KVElMYYaJe8bpLHnCwDKjXr8MIZmdd_qFmo.ttf",
7685
+ "500": "http://fonts.gstatic.com/s/ibmplexsans/v4/zYX9KVElMYYaJe8bpLHnCwDKjSL9MIZmdd_qFmo.ttf",
7686
+ "600": "http://fonts.gstatic.com/s/ibmplexsans/v4/zYX9KVElMYYaJe8bpLHnCwDKjQ76MIZmdd_qFmo.ttf",
7687
+ "700": "http://fonts.gstatic.com/s/ibmplexsans/v4/zYX9KVElMYYaJe8bpLHnCwDKjWr7MIZmdd_qFmo.ttf",
7688
+ "100italic": "http://fonts.gstatic.com/s/ibmplexsans/v4/zYX8KVElMYYaJe8bpLHnCwDKhdTmdKZMW9PjD3N8.ttf",
7689
+ "200italic": "http://fonts.gstatic.com/s/ibmplexsans/v4/zYX7KVElMYYaJe8bpLHnCwDKhdTm2Idscf3vBmpl8A.ttf",
7690
+ "300italic": "http://fonts.gstatic.com/s/ibmplexsans/v4/zYX7KVElMYYaJe8bpLHnCwDKhdTmvIRscf3vBmpl8A.ttf",
7691
+ "regular": "http://fonts.gstatic.com/s/ibmplexsans/v4/zYXgKVElMYYaJe8bpLHnCwDKtdbUFI5NadY.ttf",
7692
+ "italic": "http://fonts.gstatic.com/s/ibmplexsans/v4/zYX-KVElMYYaJe8bpLHnCwDKhdTeEKxIedbzDw.ttf",
7693
+ "500italic": "http://fonts.gstatic.com/s/ibmplexsans/v4/zYX7KVElMYYaJe8bpLHnCwDKhdTm5IVscf3vBmpl8A.ttf",
7694
+ "600italic": "http://fonts.gstatic.com/s/ibmplexsans/v4/zYX7KVElMYYaJe8bpLHnCwDKhdTmyIJscf3vBmpl8A.ttf",
7695
+ "700italic": "http://fonts.gstatic.com/s/ibmplexsans/v4/zYX7KVElMYYaJe8bpLHnCwDKhdTmrINscf3vBmpl8A.ttf"
7696
+ }
7697
+ },
7698
+ {
7699
+ "kind": "webfonts#webfont",
7700
+ "family": "IBM Plex Sans Condensed",
7701
+ "category": "sans-serif",
7702
+ "variants": [
7703
+ "100",
7704
+ "100italic",
7705
+ "200",
7706
+ "200italic",
7707
+ "300",
7708
+ "300italic",
7709
+ "regular",
7710
+ "italic",
7711
+ "500",
7712
+ "500italic",
7713
+ "600",
7714
+ "600italic",
7715
+ "700",
7716
+ "700italic"
7717
+ ],
7718
+ "subsets": [
7719
+ "latin-ext",
7720
+ "vietnamese",
7721
+ "latin"
7722
+ ],
7723
+ "version": "v5",
7724
+ "lastModified": "2018-12-13",
7725
+ "files": {
7726
+ "100": "http://fonts.gstatic.com/s/ibmplexsanscondensed/v5/Gg8nN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHY7KyKvBgYsMDhM.ttf",
7727
+ "200": "http://fonts.gstatic.com/s/ibmplexsanscondensed/v5/Gg8gN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHY5m6Yvrr4cFFwq5.ttf",
7728
+ "300": "http://fonts.gstatic.com/s/ibmplexsanscondensed/v5/Gg8gN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHY4C6ovrr4cFFwq5.ttf",
7729
+ "500": "http://fonts.gstatic.com/s/ibmplexsanscondensed/v5/Gg8gN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHY5a64vrr4cFFwq5.ttf",
7730
+ "600": "http://fonts.gstatic.com/s/ibmplexsanscondensed/v5/Gg8gN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHY527Ivrr4cFFwq5.ttf",
7731
+ "700": "http://fonts.gstatic.com/s/ibmplexsanscondensed/v5/Gg8gN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHY4S7Yvrr4cFFwq5.ttf",
7732
+ "100italic": "http://fonts.gstatic.com/s/ibmplexsanscondensed/v5/Gg8hN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHYas8M_LhakJHhOgBg.ttf",
7733
+ "200italic": "http://fonts.gstatic.com/s/ibmplexsanscondensed/v5/Gg8iN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHYas8GPqpYMnEhq5H1w.ttf",
7734
+ "300italic": "http://fonts.gstatic.com/s/ibmplexsanscondensed/v5/Gg8iN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHYas8AfppYMnEhq5H1w.ttf",
7735
+ "regular": "http://fonts.gstatic.com/s/ibmplexsanscondensed/v5/Gg8lN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHbauwq_jhJsM.ttf",
7736
+ "italic": "http://fonts.gstatic.com/s/ibmplexsanscondensed/v5/Gg8nN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHYasyKvBgYsMDhM.ttf",
7737
+ "500italic": "http://fonts.gstatic.com/s/ibmplexsanscondensed/v5/Gg8iN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHYas8F_opYMnEhq5H1w.ttf",
7738
+ "600italic": "http://fonts.gstatic.com/s/ibmplexsanscondensed/v5/Gg8iN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHYas8HPvpYMnEhq5H1w.ttf",
7739
+ "700italic": "http://fonts.gstatic.com/s/ibmplexsanscondensed/v5/Gg8iN4UfRSqiPg7Jn2ZI12V4DCEwkj1E4LVeHYas8BfupYMnEhq5H1w.ttf"
7740
+ }
7741
+ },
7742
+ {
7743
+ "kind": "webfonts#webfont",
7744
+ "family": "IBM Plex Serif",
7745
+ "category": "serif",
7746
+ "variants": [
7747
+ "100",
7748
+ "100italic",
7749
+ "200",
7750
+ "200italic",
7751
+ "300",
7752
+ "300italic",
7753
+ "regular",
7754
+ "italic",
7755
+ "500",
7756
+ "500italic",
7757
+ "600",
7758
+ "600italic",
7759
+ "700",
7760
+ "700italic"
7761
+ ],
7762
+ "subsets": [
7763
+ "latin-ext",
7764
+ "cyrillic-ext",
7765
+ "cyrillic",
7766
+ "vietnamese",
7767
+ "latin"
7768
+ ],
7769
+ "version": "v5",
7770
+ "lastModified": "2019-01-15",
7771
+ "files": {
7772
+ "100": "http://fonts.gstatic.com/s/ibmplexserif/v5/jizBREVNn1dOx-zrZ2X3pZvkTi182zIZj1bIkNo.ttf",
7773
+ "200": "http://fonts.gstatic.com/s/ibmplexserif/v5/jizAREVNn1dOx-zrZ2X3pZvkTi3Q-hIzoVrBicOg.ttf",
7774
+ "300": "http://fonts.gstatic.com/s/ibmplexserif/v5/jizAREVNn1dOx-zrZ2X3pZvkTi20-RIzoVrBicOg.ttf",
7775
+ "500": "http://fonts.gstatic.com/s/ibmplexserif/v5/jizAREVNn1dOx-zrZ2X3pZvkTi3s-BIzoVrBicOg.ttf",
7776
+ "600": "http://fonts.gstatic.com/s/ibmplexserif/v5/jizAREVNn1dOx-zrZ2X3pZvkTi3A_xIzoVrBicOg.ttf",
7777
+ "700": "http://fonts.gstatic.com/s/ibmplexserif/v5/jizAREVNn1dOx-zrZ2X3pZvkTi2k_hIzoVrBicOg.ttf",
7778
+ "100italic": "http://fonts.gstatic.com/s/ibmplexserif/v5/jizHREVNn1dOx-zrZ2X3pZvkTiUa41YTi3TNgNq55w.ttf",
7779
+ "200italic": "http://fonts.gstatic.com/s/ibmplexserif/v5/jizGREVNn1dOx-zrZ2X3pZvkTiUa4_oyq17jjNOg_oc.ttf",
7780
+ "300italic": "http://fonts.gstatic.com/s/ibmplexserif/v5/jizGREVNn1dOx-zrZ2X3pZvkTiUa454xq17jjNOg_oc.ttf",
7781
+ "regular": "http://fonts.gstatic.com/s/ibmplexserif/v5/jizDREVNn1dOx-zrZ2X3pZvkThUY0TY7ikbI.ttf",
7782
+ "italic": "http://fonts.gstatic.com/s/ibmplexserif/v5/jizBREVNn1dOx-zrZ2X3pZvkTiUa2zIZj1bIkNo.ttf",
7783
+ "500italic": "http://fonts.gstatic.com/s/ibmplexserif/v5/jizGREVNn1dOx-zrZ2X3pZvkTiUa48Ywq17jjNOg_oc.ttf",
7784
+ "600italic": "http://fonts.gstatic.com/s/ibmplexserif/v5/jizGREVNn1dOx-zrZ2X3pZvkTiUa4-o3q17jjNOg_oc.ttf",
7785
+ "700italic": "http://fonts.gstatic.com/s/ibmplexserif/v5/jizGREVNn1dOx-zrZ2X3pZvkTiUa4442q17jjNOg_oc.ttf"
7786
+ }
7787
+ },
7788
+ {
7789
+ "kind": "webfonts#webfont",
7790
+ "family": "IM Fell DW Pica",
7791
+ "category": "serif",
7792
+ "variants": [
7793
+ "regular",
7794
+ "italic"
7795
+ ],
7796
+ "subsets": [
7797
+ "latin"
7798
+ ],
7799
+ "version": "v8",
7800
+ "lastModified": "2019-01-10",
7801
+ "files": {
7802
+ "regular": "http://fonts.gstatic.com/s/imfelldwpica/v8/2sDGZGRQotv9nbn2qSl0TxXVYNw9ZAPUvi88MQ.ttf",
7803
+ "italic": "http://fonts.gstatic.com/s/imfelldwpica/v8/2sDEZGRQotv9nbn2qSl0TxXVYNwNZgnQnCosMXm0.ttf"
7804
+ }
7805
+ },
7806
+ {
7807
+ "kind": "webfonts#webfont",
7808
+ "family": "IM Fell DW Pica SC",
7809
+ "category": "serif",
7810
+ "variants": [
7811
+ "regular"
7812
+ ],
7813
+ "subsets": [
7814
+ "latin"
7815
+ ],
7816
+ "version": "v8",
7817
+ "lastModified": "2018-12-13",
7818
+ "files": {
7819
+ "regular": "http://fonts.gstatic.com/s/imfelldwpicasc/v8/0ybjGCAu5PfqkvtGVU15aBhXz3EUrnTW-BiKEUiBGA.ttf"
7820
+ }
7821
+ },
7822
+ {
7823
+ "kind": "webfonts#webfont",
7824
+ "family": "IM Fell Double Pica",
7825
+ "category": "serif",
7826
+ "variants": [
7827
+ "regular",
7828
+ "italic"
7829
+ ],
7830
+ "subsets": [
7831
+ "latin"
7832
+ ],
7833
+ "version": "v8",
7834
+ "lastModified": "2019-01-10",
7835
+ "files": {
7836
+ "regular": "http://fonts.gstatic.com/s/imfelldoublepica/v8/3XF2EqMq_94s9PeKF7Fg4gOKINyMtZ8rT0S1UL5Ayp0.ttf",
7837
+ "italic": "http://fonts.gstatic.com/s/imfelldoublepica/v8/3XF0EqMq_94s9PeKF7Fg4gOKINyMtZ8rf0a_VJxF2p2G8g.ttf"
7838
+ }
7839
+ },
7840
+ {
7841
+ "kind": "webfonts#webfont",
7842
+ "family": "IM Fell Double Pica SC",
7843
+ "category": "serif",
7844
+ "variants": [
7845
+ "regular"
7846
+ ],
7847
+ "subsets": [
7848
+ "latin"
7849
+ ],
7850
+ "version": "v8",
7851
+ "lastModified": "2018-11-29",
7852
+ "files": {
7853
+ "regular": "http://fonts.gstatic.com/s/imfelldoublepicasc/v8/neIazDmuiMkFo6zj_sHpQ8teNbWlwBB_hXjJ4Y0Eeru2dGg.ttf"
7854
+ }
7855
+ },
7856
+ {
7857
+ "kind": "webfonts#webfont",
7858
+ "family": "IM Fell English",
7859
+ "category": "serif",
7860
+ "variants": [
7861
+ "regular",
7862
+ "italic"
7863
+ ],
7864
+ "subsets": [
7865
+ "latin"
7866
+ ],
7867
+ "version": "v8",
7868
+ "lastModified": "2019-01-10",
7869
+ "files": {
7870
+ "regular": "http://fonts.gstatic.com/s/imfellenglish/v8/Ktk1ALSLW8zDe0rthJysWrnLsAz3F6mZVY9Y5w.ttf",
7871
+ "italic": "http://fonts.gstatic.com/s/imfellenglish/v8/Ktk3ALSLW8zDe0rthJysWrnLsAzHFaOdd4pI59zg.ttf"
7872
+ }
7873
+ },
7874
+ {
7875
+ "kind": "webfonts#webfont",
7876
+ "family": "IM Fell English SC",
7877
+ "category": "serif",
7878
+ "variants": [
7879
+ "regular"
7880
+ ],
7881
+ "subsets": [
7882
+ "latin"
7883
+ ],
7884
+ "version": "v8",
7885
+ "lastModified": "2019-01-10",
7886
+ "files": {
7887
+ "regular": "http://fonts.gstatic.com/s/imfellenglishsc/v8/a8IENpD3CDX-4zrWfr1VY879qFF05pZLO4gOg0shzA.ttf"
7888
+ }
7889
+ },
7890
+ {
7891
+ "kind": "webfonts#webfont",
7892
+ "family": "IM Fell French Canon",
7893
+ "category": "serif",
7894
+ "variants": [
7895
+ "regular",
7896
+ "italic"
7897
+ ],
7898
+ "subsets": [
7899
+ "latin"
7900
+ ],
7901
+ "version": "v8",
7902
+ "lastModified": "2018-12-13",
7903
+ "files": {
7904
+ "regular": "http://fonts.gstatic.com/s/imfellfrenchcanon/v8/-F6ufiNtDWYfYc-tDiyiw08rrghJszkK6coVPt1ozoPz.ttf",
7905
+ "italic": "http://fonts.gstatic.com/s/imfellfrenchcanon/v8/-F6gfiNtDWYfYc-tDiyiw08rrghJszkK6foXNNlKy5PzzrU.ttf"
7906
+ }
7907
+ },
7908
+ {
7909
+ "kind": "webfonts#webfont",
7910
+ "family": "IM Fell French Canon SC",
7911
+ "category": "serif",
7912
+ "variants": [
7913
+ "regular"
7914
+ ],
7915
+ "subsets": [
7916
+ "latin"
7917
+ ],
7918
+ "version": "v8",
7919
+ "lastModified": "2018-12-13",
7920
+ "files": {
7921
+ "regular": "http://fonts.gstatic.com/s/imfellfrenchcanonsc/v8/FBVmdCru5-ifcor2bgq9V89khWcmQghEURY7H3c0UBCVIVqH.ttf"
7922
+ }
7923
+ },
7924
+ {
7925
+ "kind": "webfonts#webfont",
7926
+ "family": "IM Fell Great Primer",
7927
+ "category": "serif",
7928
+ "variants": [
7929
+ "regular",
7930
+ "italic"
7931
+ ],
7932
+ "subsets": [
7933
+ "latin"
7934
+ ],
7935
+ "version": "v8",
7936
+ "lastModified": "2018-12-13",
7937
+ "files": {
7938
+ "regular": "http://fonts.gstatic.com/s/imfellgreatprimer/v8/bx6aNwSJtayYxOkbYFsT6hMsLzX7u85rJorXvDo3SQY1.ttf",
7939
+ "italic": "http://fonts.gstatic.com/s/imfellgreatprimer/v8/bx6UNwSJtayYxOkbYFsT6hMsLzX7u85rJrrVtj4VTBY1N6U.ttf"
7940
+ }
7941
+ },
7942
+ {
7943
+ "kind": "webfonts#webfont",
7944
+ "family": "IM Fell Great Primer SC",
7945
+ "category": "serif",
7946
+ "variants": [
7947
+ "regular"
7948
+ ],
7949
+ "subsets": [
7950
+ "latin"
7951
+ ],
7952
+ "version": "v8",
7953
+ "lastModified": "2018-12-13",
7954
+ "files": {
7955
+ "regular": "http://fonts.gstatic.com/s/imfellgreatprimersc/v8/ga6daxBOxyt6sCqz3fjZCTFCTUDMHagsQKdDTLf9BXz0s8FG.ttf"
7956
+ }
7957
+ },
7958
+ {
7959
+ "kind": "webfonts#webfont",
7960
+ "family": "Iceberg",
7961
+ "category": "display",
7962
+ "variants": [
7963
+ "regular"
7964
+ ],
7965
+ "subsets": [
7966
+ "latin"
7967
+ ],
7968
+ "version": "v6",
7969
+ "lastModified": "2018-12-13",
7970
+ "files": {
7971
+ "regular": "http://fonts.gstatic.com/s/iceberg/v6/8QIJdijAiM7o-qnZuIgOq7jkAOw.ttf"
7972
+ }
7973
+ },
7974
+ {
7975
+ "kind": "webfonts#webfont",
7976
+ "family": "Iceland",
7977
+ "category": "display",
7978
+ "variants": [
7979
+ "regular"
7980
+ ],
7981
+ "subsets": [
7982
+ "latin"
7983
+ ],
7984
+ "version": "v7",
7985
+ "lastModified": "2019-01-10",
7986
+ "files": {
7987
+ "regular": "http://fonts.gstatic.com/s/iceland/v7/rax9HiuFsdMNOnWPWKxGADBbg0s.ttf"
7988
+ }
7989
+ },
7990
+ {
7991
+ "kind": "webfonts#webfont",
7992
+ "family": "Imprima",
7993
+ "category": "sans-serif",
7994
+ "variants": [
7995
+ "regular"
7996
+ ],
7997
+ "subsets": [
7998
+ "latin-ext",
7999
+ "latin"
8000
+ ],
8001
+ "version": "v7",
8002
+ "lastModified": "2019-01-10",
8003
+ "files": {
8004
+ "regular": "http://fonts.gstatic.com/s/imprima/v7/VEMxRoN7sY3yuy-7-oWHyDzktPo.ttf"
8005
+ }
8006
+ },
8007
+ {
8008
+ "kind": "webfonts#webfont",
8009
+ "family": "Inconsolata",
8010
+ "category": "monospace",
8011
+ "variants": [
8012
+ "regular",
8013
+ "700"
8014
+ ],
8015
+ "subsets": [
8016
+ "latin-ext",
8017
+ "vietnamese",
8018
+ "latin"
8019
+ ],
8020
+ "version": "v16",
8021
+ "lastModified": "2017-10-10",
8022
+ "files": {
8023
+ "700": "http://fonts.gstatic.com/s/inconsolata/v16/QldXNThLqRwH-OJ1UHjlKGHiw41u.ttf",
8024
+ "regular": "http://fonts.gstatic.com/s/inconsolata/v16/QldKNThLqRwH-OJ1UHjlKFle.ttf"
8025
+ }
8026
+ },
8027
+ {
8028
+ "kind": "webfonts#webfont",
8029
+ "family": "Inder",
8030
+ "category": "sans-serif",
8031
+ "variants": [
8032
+ "regular"
8033
+ ],
8034
+ "subsets": [
8035
+ "latin-ext",
8036
+ "latin"
8037
+ ],
8038
+ "version": "v7",
8039
+ "lastModified": "2019-01-10",
8040
+ "files": {
8041
+ "regular": "http://fonts.gstatic.com/s/inder/v7/w8gUH2YoQe8_4vq6pw-P3U4O.ttf"
8042
+ }
8043
+ },
8044
+ {
8045
+ "kind": "webfonts#webfont",
8046
+ "family": "Indie Flower",
8047
+ "category": "handwriting",
8048
+ "variants": [
8049
+ "regular"
8050
+ ],
8051
+ "subsets": [
8052
+ "latin"
8053
+ ],
8054
+ "version": "v9",
8055
+ "lastModified": "2017-10-11",
8056
+ "files": {
8057
+ "regular": "http://fonts.gstatic.com/s/indieflower/v9/m8JVjfNVeKWVnh3QMuKkFcZlbg.ttf"
8058
+ }
8059
+ },
8060
+ {
8061
+ "kind": "webfonts#webfont",
8062
+ "family": "Inika",
8063
+ "category": "serif",
8064
+ "variants": [
8065
+ "regular",
8066
+ "700"
8067
+ ],
8068
+ "subsets": [
8069
+ "latin-ext",
8070
+ "latin"
8071
+ ],
8072
+ "version": "v7",
8073
+ "lastModified": "2018-12-13",
8074
+ "files": {
8075
+ "700": "http://fonts.gstatic.com/s/inika/v7/rnCr-x5X3QP-pix7auM-mHnOSOuk.ttf",
8076
+ "regular": "http://fonts.gstatic.com/s/inika/v7/rnCm-x5X3QP-phTHRcc2s2XH.ttf"
8077
+ }
8078
+ },
8079
+ {
8080
+ "kind": "webfonts#webfont",
8081
+ "family": "Inknut Antiqua",
8082
+ "category": "serif",
8083
+ "variants": [
8084
+ "300",
8085
+ "regular",
8086
+ "500",
8087
+ "600",
8088
+ "700",
8089
+ "800",
8090
+ "900"
8091
+ ],
8092
+ "subsets": [
8093
+ "latin-ext",
8094
+ "devanagari",
8095
+ "latin"
8096
+ ],
8097
+ "version": "v4",
8098
+ "lastModified": "2018-12-13",
8099
+ "files": {
8100
+ "300": "http://fonts.gstatic.com/s/inknutantiqua/v4/Y4GRYax7VC4ot_qNB4nYpBdaKU2vwrj5bBoIYJNf.ttf",
8101
+ "500": "http://fonts.gstatic.com/s/inknutantiqua/v4/Y4GRYax7VC4ot_qNB4nYpBdaKU33w7j5bBoIYJNf.ttf",
8102
+ "600": "http://fonts.gstatic.com/s/inknutantiqua/v4/Y4GRYax7VC4ot_qNB4nYpBdaKU3bxLj5bBoIYJNf.ttf",
8103
+ "700": "http://fonts.gstatic.com/s/inknutantiqua/v4/Y4GRYax7VC4ot_qNB4nYpBdaKU2_xbj5bBoIYJNf.ttf",
8104
+ "800": "http://fonts.gstatic.com/s/inknutantiqua/v4/Y4GRYax7VC4ot_qNB4nYpBdaKU2jxrj5bBoIYJNf.ttf",
8105
+ "900": "http://fonts.gstatic.com/s/inknutantiqua/v4/Y4GRYax7VC4ot_qNB4nYpBdaKU2Hx7j5bBoIYJNf.ttf",
8106
+ "regular": "http://fonts.gstatic.com/s/inknutantiqua/v4/Y4GSYax7VC4ot_qNB4nYpBdaKXUD6pzxRwYB.ttf"
8107
+ }
8108
+ },
8109
+ {
8110
+ "kind": "webfonts#webfont",
8111
+ "family": "Irish Grover",
8112
+ "category": "display",
8113
+ "variants": [
8114
+ "regular"
8115
+ ],
8116
+ "subsets": [
8117
+ "latin"
8118
+ ],
8119
+ "version": "v9",
8120
+ "lastModified": "2018-12-13",
8121
+ "files": {
8122
+ "regular": "http://fonts.gstatic.com/s/irishgrover/v9/buExpoi6YtLz2QW7LA4flVgf-P5Oaiw4cw.ttf"
8123
+ }
8124
+ },
8125
+ {
8126
+ "kind": "webfonts#webfont",
8127
+ "family": "Istok Web",
8128
+ "category": "sans-serif",
8129
+ "variants": [
8130
+ "regular",
8131
+ "italic",
8132
+ "700",
8133
+ "700italic"
8134
+ ],
8135
+ "subsets": [
8136
+ "latin-ext",
8137
+ "cyrillic-ext",
8138
+ "cyrillic",
8139
+ "latin"
8140
+ ],
8141
+ "version": "v12",
8142
+ "lastModified": "2018-10-08",
8143
+ "files": {
8144
+ "700": "http://fonts.gstatic.com/s/istokweb/v12/3qTqojGmgSyUukBzKslhvU5a_g.ttf",
8145
+ "regular": "http://fonts.gstatic.com/s/istokweb/v12/3qTvojGmgSyUukBzKslZAQ.ttf",
8146
+ "italic": "http://fonts.gstatic.com/s/istokweb/v12/3qTpojGmgSyUukBzKslpA2t6.ttf",
8147
+ "700italic": "http://fonts.gstatic.com/s/istokweb/v12/3qT0ojGmgSyUukBzKslpA1PG-2MQ.ttf"
8148
+ }
8149
+ },
8150
+ {
8151
+ "kind": "webfonts#webfont",
8152
+ "family": "Italiana",
8153
+ "category": "serif",
8154
+ "variants": [
8155
+ "regular"
8156
+ ],
8157
+ "subsets": [
8158
+ "latin"
8159
+ ],
8160
+ "version": "v7",
8161
+ "lastModified": "2018-12-13",
8162
+ "files": {
8163
+ "regular": "http://fonts.gstatic.com/s/italiana/v7/QldNNTtLsx4E__B0XTmRY31Wx7Vv.ttf"
8164
+ }
8165
+ },
8166
+ {
8167
+ "kind": "webfonts#webfont",
8168
+ "family": "Italianno",
8169
+ "category": "handwriting",
8170
+ "variants": [
8171
+ "regular"
8172
+ ],
8173
+ "subsets": [
8174
+ "latin-ext",
8175
+ "latin"
8176
+ ],
8177
+ "version": "v8",
8178
+ "lastModified": "2019-01-15",
8179
+ "files": {
8180
+ "regular": "http://fonts.gstatic.com/s/italianno/v8/dg4n_p3sv6gCJkwzT6Rnj5YpQwM-gg.ttf"
8181
+ }
8182
+ },
8183
+ {
8184
+ "kind": "webfonts#webfont",
8185
+ "family": "Itim",
8186
+ "category": "handwriting",
8187
+ "variants": [
8188
+ "regular"
8189
+ ],
8190
+ "subsets": [
8191
+ "latin-ext",
8192
+ "thai",
8193
+ "vietnamese",
8194
+ "latin"
8195
+ ],
8196
+ "version": "v3",
8197
+ "lastModified": "2019-01-15",
8198
+ "files": {
8199
+ "regular": "http://fonts.gstatic.com/s/itim/v3/0nknC9ziJOYewARKkc7ZdwU.ttf"
8200
+ }
8201
+ },
8202
+ {
8203
+ "kind": "webfonts#webfont",
8204
+ "family": "Jacques Francois",
8205
+ "category": "serif",
8206
+ "variants": [
8207
+ "regular"
8208
+ ],
8209
+ "subsets": [
8210
+ "latin"
8211
+ ],
8212
+ "version": "v6",
8213
+ "lastModified": "2018-11-29",
8214
+ "files": {
8215
+ "regular": "http://fonts.gstatic.com/s/jacquesfrancois/v6/ZXu9e04ZvKeOOHIe1TMahbcIU2cgmcPqoeRWfbs.ttf"
8216
+ }
8217
+ },
8218
+ {
8219
+ "kind": "webfonts#webfont",
8220
+ "family": "Jacques Francois Shadow",
8221
+ "category": "display",
8222
+ "variants": [
8223
+ "regular"
8224
+ ],
8225
+ "subsets": [
8226
+ "latin"
8227
+ ],
8228
+ "version": "v7",
8229
+ "lastModified": "2018-12-13",
8230
+ "files": {
8231
+ "regular": "http://fonts.gstatic.com/s/jacquesfrancoisshadow/v7/KR1FBtOz8PKTMk-kqdkLVrvR0ECFrB6Pin-2_q8VsHuV5ULS.ttf"
8232
+ }
8233
+ },
8234
+ {
8235
+ "kind": "webfonts#webfont",
8236
+ "family": "Jaldi",
8237
+ "category": "sans-serif",
8238
+ "variants": [
8239
+ "regular",
8240
+ "700"
8241
+ ],
8242
+ "subsets": [
8243
+ "latin-ext",
8244
+ "devanagari",
8245
+ "latin"
8246
+ ],
8247
+ "version": "v5",
8248
+ "lastModified": "2019-01-15",
8249
+ "files": {
8250
+ "700": "http://fonts.gstatic.com/s/jaldi/v5/or3hQ67z0_CI33voSbT3LLQ1niPn.ttf",
8251
+ "regular": "http://fonts.gstatic.com/s/jaldi/v5/or3sQ67z0_CI30NUZpD_B6g8.ttf"
8252
+ }
8253
+ },
8254
+ {
8255
+ "kind": "webfonts#webfont",
8256
+ "family": "Jim Nightshade",
8257
+ "category": "handwriting",
8258
+ "variants": [
8259
+ "regular"
8260
+ ],
8261
+ "subsets": [
8262
+ "latin-ext",
8263
+ "latin"
8264
+ ],
8265
+ "version": "v6",
8266
+ "lastModified": "2018-12-13",
8267
+ "files": {
8268
+ "regular": "http://fonts.gstatic.com/s/jimnightshade/v6/PlIkFlu9Pb08Q8HLM1PxmB0g-OS4V3qKaMxD.ttf"
8269
+ }
8270
+ },
8271
+ {
8272
+ "kind": "webfonts#webfont",
8273
+ "family": "Jockey One",
8274
+ "category": "sans-serif",
8275
+ "variants": [
8276
+ "regular"
8277
+ ],
8278
+ "subsets": [
8279
+ "latin-ext",
8280
+ "latin"
8281
+ ],
8282
+ "version": "v8",
8283
+ "lastModified": "2019-01-10",
8284
+ "files": {
8285
+ "regular": "http://fonts.gstatic.com/s/jockeyone/v8/HTxpL2g2KjCFj4x8WI6ArIb7HYOk4xc.ttf"
8286
+ }
8287
+ },
8288
+ {
8289
+ "kind": "webfonts#webfont",
8290
+ "family": "Jolly Lodger",
8291
+ "category": "display",
8292
+ "variants": [
8293
+ "regular"
8294
+ ],
8295
+ "subsets": [
8296
+ "latin-ext",
8297
+ "latin"
8298
+ ],
8299
+ "version": "v6",
8300
+ "lastModified": "2018-12-13",
8301
+ "files": {
8302
+ "regular": "http://fonts.gstatic.com/s/jollylodger/v6/BXRsvFTAh_bGkA1uQ48dlB3VWerT3ZyuqA.ttf"
8303
+ }
8304
+ },
8305
+ {
8306
+ "kind": "webfonts#webfont",
8307
+ "family": "Jomhuria",
8308
+ "category": "display",
8309
+ "variants": [
8310
+ "regular"
8311
+ ],
8312
+ "subsets": [
8313
+ "arabic",
8314
+ "latin-ext",
8315
+ "latin"
8316
+ ],
8317
+ "version": "v6",
8318
+ "lastModified": "2018-11-29",
8319
+ "files": {
8320
+ "regular": "http://fonts.gstatic.com/s/jomhuria/v6/Dxxp8j-TMXf-llKur2b1MOGbC3Dh.ttf"
8321
+ }
8322
+ },
8323
+ {
8324
+ "kind": "webfonts#webfont",
8325
+ "family": "Josefin Sans",
8326
+ "category": "sans-serif",
8327
+ "variants": [
8328
+ "100",
8329
+ "100italic",
8330
+ "300",
8331
+ "300italic",
8332
+ "regular",
8333
+ "italic",
8334
+ "600",
8335
+ "600italic",
8336
+ "700",
8337
+ "700italic"
8338
+ ],
8339
+ "subsets": [
8340
+ "latin-ext",
8341
+ "vietnamese",
8342
+ "latin"
8343
+ ],
8344
+ "version": "v12",
8345
+ "lastModified": "2017-10-10",
8346
+ "files": {
8347
+ "100": "http://fonts.gstatic.com/s/josefinsans/v12/Qw3EZQNVED7rKGKxtqIqX5Ecbnx9.ttf",
8348
+ "300": "http://fonts.gstatic.com/s/josefinsans/v12/Qw3FZQNVED7rKGKxtqIqX5Ecpl5dfA.ttf",
8349
+ "600": "http://fonts.gstatic.com/s/josefinsans/v12/Qw3FZQNVED7rKGKxtqIqX5Ec0lhdfA.ttf",
8350
+ "700": "http://fonts.gstatic.com/s/josefinsans/v12/Qw3FZQNVED7rKGKxtqIqX5EctlldfA.ttf",
8351
+ "100italic": "http://fonts.gstatic.com/s/josefinsans/v12/Qw3GZQNVED7rKGKxtqIqX5EUCEQZXH0.ttf",
8352
+ "300italic": "http://fonts.gstatic.com/s/josefinsans/v12/Qw3HZQNVED7rKGKxtqIqX5EUCETRfl0k.ttf",
8353
+ "regular": "http://fonts.gstatic.com/s/josefinsans/v12/Qw3aZQNVED7rKGKxtqIqX5EkCg.ttf",
8354
+ "italic": "http://fonts.gstatic.com/s/josefinsans/v12/Qw3EZQNVED7rKGKxtqIqX5EUCHx9.ttf",
8355
+ "600italic": "http://fonts.gstatic.com/s/josefinsans/v12/Qw3HZQNVED7rKGKxtqIqX5EUCESleF0k.ttf",
8356
+ "700italic": "http://fonts.gstatic.com/s/josefinsans/v12/Qw3HZQNVED7rKGKxtqIqX5EUCETBeV0k.ttf"
8357
+ }
8358
+ },
8359
+ {
8360
+ "kind": "webfonts#webfont",
8361
+ "family": "Josefin Slab",
8362
+ "category": "serif",
8363
+ "variants": [
8364
+ "100",
8365
+ "100italic",
8366
+ "300",
8367
+ "300italic",
8368
+ "regular",
8369
+ "italic",
8370
+ "600",
8371
+ "600italic",
8372
+ "700",
8373
+ "700italic"
8374
+ ],
8375
+ "subsets": [
8376
+ "latin"
8377
+ ],
8378
+ "version": "v9",
8379
+ "lastModified": "2019-01-15",
8380
+ "files": {
8381
+ "100": "http://fonts.gstatic.com/s/josefinslab/v9/lW-nwjwOK3Ps5GSJlNNkMalvyQ6qBM7oPxMX.ttf",
8382
+ "300": "http://fonts.gstatic.com/s/josefinslab/v9/lW-mwjwOK3Ps5GSJlNNkMalvASyKLuDkNgoO7g.ttf",
8383
+ "600": "http://fonts.gstatic.com/s/josefinslab/v9/lW-mwjwOK3Ps5GSJlNNkMalvdSqKLuDkNgoO7g.ttf",
8384
+ "700": "http://fonts.gstatic.com/s/josefinslab/v9/lW-mwjwOK3Ps5GSJlNNkMalvESuKLuDkNgoO7g.ttf",
8385
+ "100italic": "http://fonts.gstatic.com/s/josefinslab/v9/lW-lwjwOK3Ps5GSJlNNkMalnrzbODsrKOgMX95A.ttf",
8386
+ "300italic": "http://fonts.gstatic.com/s/josefinslab/v9/lW-kwjwOK3Ps5GSJlNNkMalnrzYGLOrgFA8e7onu.ttf",
8387
+ "regular": "http://fonts.gstatic.com/s/josefinslab/v9/lW-5wjwOK3Ps5GSJlNNkMalXrQSuJsv4Pw.ttf",
8388
+ "italic": "http://fonts.gstatic.com/s/josefinslab/v9/lW-nwjwOK3Ps5GSJlNNkMalnrw6qBM7oPxMX.ttf",
8389
+ "600italic": "http://fonts.gstatic.com/s/josefinslab/v9/lW-kwjwOK3Ps5GSJlNNkMalnrzZyKurgFA8e7onu.ttf",
8390
+ "700italic": "http://fonts.gstatic.com/s/josefinslab/v9/lW-kwjwOK3Ps5GSJlNNkMalnrzYWK-rgFA8e7onu.ttf"
8391
+ }
8392
+ },
8393
+ {
8394
+ "kind": "webfonts#webfont",
8395
+ "family": "Joti One",
8396
+ "category": "display",
8397
+ "variants": [
8398
+ "regular"
8399
+ ],
8400
+ "subsets": [
8401
+ "latin-ext",
8402
+ "latin"
8403
+ ],
8404
+ "version": "v7",
8405
+ "lastModified": "2018-12-13",
8406
+ "files": {
8407
+ "regular": "http://fonts.gstatic.com/s/jotione/v7/Z9XVDmdJQAmWm9TwaYTe4u2El6GC.ttf"
8408
+ }
8409
+ },
8410
+ {
8411
+ "kind": "webfonts#webfont",
8412
+ "family": "Jua",
8413
+ "category": "sans-serif",
8414
+ "variants": [
8415
+ "regular"
8416
+ ],
8417
+ "subsets": [
8418
+ "korean",
8419
+ "latin"
8420
+ ],
8421
+ "version": "v5",
8422
+ "lastModified": "2019-01-10",
8423
+ "files": {
8424
+ "regular": "http://fonts.gstatic.com/s/jua/v5/co3KmW9ljjAjc-DZCsKgsg.ttf"
8425
+ }
8426
+ },
8427
+ {
8428
+ "kind": "webfonts#webfont",
8429
+ "family": "Judson",
8430
+ "category": "serif",
8431
+ "variants": [
8432
+ "regular",
8433
+ "italic",
8434
+ "700"
8435
+ ],
8436
+ "subsets": [
8437
+ "latin-ext",
8438
+ "vietnamese",
8439
+ "latin"
8440
+ ],
8441
+ "version": "v11",
8442
+ "lastModified": "2019-01-10",
8443
+ "files": {
8444
+ "700": "http://fonts.gstatic.com/s/judson/v11/FeVSS0Fbvbc14Vxps5xQ3Z5nm29Gww.ttf",
8445
+ "regular": "http://fonts.gstatic.com/s/judson/v11/FeVRS0Fbvbc14VxRD7N01bV7kg.ttf",
8446
+ "italic": "http://fonts.gstatic.com/s/judson/v11/FeVTS0Fbvbc14VxhDblw97BrknZf.ttf"
8447
+ }
8448
+ },
8449
+ {
8450
+ "kind": "webfonts#webfont",
8451
+ "family": "Julee",
8452
+ "category": "handwriting",
8453
+ "variants": [
8454
+ "regular"
8455
+ ],
8456
+ "subsets": [
8457
+ "latin"
8458
+ ],
8459
+ "version": "v8",
8460
+ "lastModified": "2018-12-13",
8461
+ "files": {
8462
+ "regular": "http://fonts.gstatic.com/s/julee/v8/TuGfUVB3RpZPQ6ZLodgzydtk.ttf"
8463
+ }
8464
+ },
8465
+ {
8466
+ "kind": "webfonts#webfont",
8467
+ "family": "Julius Sans One",
8468
+ "category": "sans-serif",
8469
+ "variants": [
8470
+ "regular"
8471
+ ],
8472
+ "subsets": [
8473
+ "latin-ext",
8474
+ "latin"
8475
+ ],
8476
+ "version": "v7",
8477
+ "lastModified": "2019-01-15",
8478
+ "files": {
8479
+ "regular": "http://fonts.gstatic.com/s/juliussansone/v7/1Pt2g8TAX_SGgBGUi0tGOYEga5W-xXEW6aGXHw.ttf"
8480
+ }
8481
+ },
8482
+ {
8483
+ "kind": "webfonts#webfont",
8484
+ "family": "Junge",
8485
+ "category": "serif",
8486
+ "variants": [
8487
+ "regular"
8488
+ ],
8489
+ "subsets": [
8490
+ "latin"
8491
+ ],
8492
+ "version": "v6",
8493
+ "lastModified": "2018-12-13",
8494
+ "files": {
8495
+ "regular": "http://fonts.gstatic.com/s/junge/v6/gokgH670Gl1lUqAdvhB7SnKm.ttf"
8496
+ }
8497
+ },
8498
+ {
8499
+ "kind": "webfonts#webfont",
8500
+ "family": "Jura",
8501
+ "category": "sans-serif",
8502
+ "variants": [
8503
+ "300",
8504
+ "regular",
8505
+ "500",
8506
+ "600",
8507
+ "700"
8508
+ ],
8509
+ "subsets": [
8510
+ "latin-ext",
8511
+ "greek-ext",
8512
+ "cyrillic-ext",
8513
+ "cyrillic",
8514
+ "greek",
8515
+ "vietnamese",
8516
+ "latin"
8517
+ ],
8518
+ "version": "v10",
8519
+ "lastModified": "2019-01-15",
8520
+ "files": {
8521
+ "300": "http://fonts.gstatic.com/s/jura/v10/z7NUdRfiaC4VVW9rdCxo0JTVVPw.ttf",
8522
+ "500": "http://fonts.gstatic.com/s/jura/v10/z7NUdRfiaC4VVTdqdCxo0JTVVPw.ttf",
8523
+ "600": "http://fonts.gstatic.com/s/jura/v10/z7NUdRfiaC4VVRttdCxo0JTVVPw.ttf",
8524
+ "700": "http://fonts.gstatic.com/s/jura/v10/z7NUdRfiaC4VVX9sdCxo0JTVVPw.ttf",
8525
+ "regular": "http://fonts.gstatic.com/s/jura/v10/z7NbdRfiaC4VbcNDUCRDzJ0.ttf"
8526
+ }
8527
+ },
8528
+ {
8529
+ "kind": "webfonts#webfont",
8530
+ "family": "Just Another Hand",
8531
+ "category": "handwriting",
8532
+ "variants": [
8533
+ "regular"
8534
+ ],
8535
+ "subsets": [
8536
+ "latin"
8537
+ ],
8538
+ "version": "v10",
8539
+ "lastModified": "2019-01-15",
8540
+ "files": {
8541
+ "regular": "http://fonts.gstatic.com/s/justanotherhand/v10/845CNN4-AJyIGvIou-6yJKyptyOpOcr_BmmlS5aw.ttf"
8542
+ }
8543
+ },
8544
+ {
8545
+ "kind": "webfonts#webfont",
8546
+ "family": "Just Me Again Down Here",
8547
+ "category": "handwriting",
8548
+ "variants": [
8549
+ "regular"
8550
+ ],
8551
+ "subsets": [
8552
+ "latin-ext",
8553
+ "latin"
8554
+ ],
8555
+ "version": "v10",
8556
+ "lastModified": "2019-01-10",
8557
+ "files": {
8558
+ "regular": "http://fonts.gstatic.com/s/justmeagaindownhere/v10/MwQmbgXtz-Wc6RUEGNMc0QpRrfUh2hSdBBMoAuwHvqDwc_fg.ttf"
8559
+ }
8560
+ },
8561
+ {
8562
+ "kind": "webfonts#webfont",
8563
+ "family": "K2D",
8564
+ "category": "sans-serif",
8565
+ "variants": [
8566
+ "100",
8567
+ "100italic",
8568
+ "200",
8569
+ "200italic",
8570
+ "300",
8571
+ "300italic",
8572
+ "regular",
8573
+ "italic",
8574
+ "500",
8575
+ "500italic",
8576
+ "600",
8577
+ "600italic",
8578
+ "700",
8579
+ "700italic",
8580
+ "800",
8581
+ "800italic"
8582
+ ],
8583
+ "subsets": [
8584
+ "latin-ext",
8585
+ "thai",
8586
+ "vietnamese",
8587
+ "latin"
8588
+ ],
8589
+ "version": "v2",
8590
+ "lastModified": "2019-01-10",
8591
+ "files": {
8592
+ "100": "http://fonts.gstatic.com/s/k2d/v2/J7aRnpF2V0ErE6UpvrIw74NL.ttf",
8593
+ "200": "http://fonts.gstatic.com/s/k2d/v2/J7aenpF2V0Erv4QJlJw85ppSGw.ttf",
8594
+ "300": "http://fonts.gstatic.com/s/k2d/v2/J7aenpF2V0Er24cJlJw85ppSGw.ttf",
8595
+ "500": "http://fonts.gstatic.com/s/k2d/v2/J7aenpF2V0Erg4YJlJw85ppSGw.ttf",
8596
+ "600": "http://fonts.gstatic.com/s/k2d/v2/J7aenpF2V0Err4EJlJw85ppSGw.ttf",
8597
+ "700": "http://fonts.gstatic.com/s/k2d/v2/J7aenpF2V0Ery4AJlJw85ppSGw.ttf",
8598
+ "800": "http://fonts.gstatic.com/s/k2d/v2/J7aenpF2V0Er14MJlJw85ppSGw.ttf",
8599
+ "100italic": "http://fonts.gstatic.com/s/k2d/v2/J7afnpF2V0EjdZ1NtLYS6pNLAjk.ttf",
8600
+ "200italic": "http://fonts.gstatic.com/s/k2d/v2/J7acnpF2V0EjdZ3hlZY4xJ9CGyAa.ttf",
8601
+ "300italic": "http://fonts.gstatic.com/s/k2d/v2/J7acnpF2V0EjdZ2FlpY4xJ9CGyAa.ttf",
8602
+ "regular": "http://fonts.gstatic.com/s/k2d/v2/J7aTnpF2V0ETd68tnLcg7w.ttf",
8603
+ "italic": "http://fonts.gstatic.com/s/k2d/v2/J7aRnpF2V0EjdaUpvrIw74NL.ttf",
8604
+ "500italic": "http://fonts.gstatic.com/s/k2d/v2/J7acnpF2V0EjdZ3dl5Y4xJ9CGyAa.ttf",
8605
+ "600italic": "http://fonts.gstatic.com/s/k2d/v2/J7acnpF2V0EjdZ3xkJY4xJ9CGyAa.ttf",
8606
+ "700italic": "http://fonts.gstatic.com/s/k2d/v2/J7acnpF2V0EjdZ2VkZY4xJ9CGyAa.ttf",
8607
+ "800italic": "http://fonts.gstatic.com/s/k2d/v2/J7acnpF2V0EjdZ2JkpY4xJ9CGyAa.ttf"
8608
+ }
8609
+ },
8610
+ {
8611
+ "kind": "webfonts#webfont",
8612
+ "family": "Kadwa",
8613
+ "category": "serif",
8614
+ "variants": [
8615
+ "regular",
8616
+ "700"
8617
+ ],
8618
+ "subsets": [
8619
+ "devanagari",
8620
+ "latin"
8621
+ ],
8622
+ "version": "v3",
8623
+ "lastModified": "2019-01-10",
8624
+ "files": {
8625
+ "700": "http://fonts.gstatic.com/s/kadwa/v3/rnCr-x5V0g7ipix7auM-mHnOSOuk.ttf",
8626
+ "regular": "http://fonts.gstatic.com/s/kadwa/v3/rnCm-x5V0g7iphTHRcc2s2XH.ttf"
8627
+ }
8628
+ },
8629
+ {
8630
+ "kind": "webfonts#webfont",
8631
+ "family": "Kalam",
8632
+ "category": "handwriting",
8633
+ "variants": [
8634
+ "300",
8635
+ "regular",
8636
+ "700"
8637
+ ],
8638
+ "subsets": [
8639
+ "latin-ext",
8640
+ "devanagari",
8641
+ "latin"
8642
+ ],
8643
+ "version": "v9",
8644
+ "lastModified": "2019-01-15",
8645
+ "files": {
8646
+ "300": "http://fonts.gstatic.com/s/kalam/v9/YA9Qr0Wd4kDdMtD6GgLLmCUItqGt.ttf",
8647
+ "700": "http://fonts.gstatic.com/s/kalam/v9/YA9Qr0Wd4kDdMtDqHQLLmCUItqGt.ttf",
8648
+ "regular": "http://fonts.gstatic.com/s/kalam/v9/YA9dr0Wd4kDdMuhWMibDszkB.ttf"
8649
+ }
8650
+ },
8651
+ {
8652
+ "kind": "webfonts#webfont",
8653
+ "family": "Kameron",
8654
+ "category": "serif",
8655
+ "variants": [
8656
+ "regular",
8657
+ "700"
8658
+ ],
8659
+ "subsets": [
8660
+ "latin"
8661
+ ],
8662
+ "version": "v9",
8663
+ "lastModified": "2019-01-15",
8664
+ "files": {
8665
+ "700": "http://fonts.gstatic.com/s/kameron/v9/vm8zdR7vXErQxuzniAIfC-3jfHb--NY.ttf",
8666
+ "regular": "http://fonts.gstatic.com/s/kameron/v9/vm82dR7vXErQxuznsL4wL-XIYH8.ttf"
8667
+ }
8668
+ },
8669
+ {
8670
+ "kind": "webfonts#webfont",
8671
+ "family": "Kanit",
8672
+ "category": "sans-serif",
8673
+ "variants": [
8674
+ "100",
8675
+ "100italic",
8676
+ "200",
8677
+ "200italic",
8678
+ "300",
8679
+ "300italic",
8680
+ "regular",
8681
+ "italic",
8682
+ "500",
8683
+ "500italic",
8684
+ "600",
8685
+ "600italic",
8686
+ "700",
8687
+ "700italic",
8688
+ "800",
8689
+ "800italic",
8690
+ "900",
8691
+ "900italic"
8692
+ ],
8693
+ "subsets": [
8694
+ "latin-ext",
8695
+ "thai",
8696
+ "vietnamese",
8697
+ "latin"
8698
+ ],
8699
+ "version": "v3",
8700
+ "lastModified": "2017-10-10",
8701
+ "files": {
8702
+ "100": "http://fonts.gstatic.com/s/kanit/v3/nKKX-Go6G5tXcr72GwU.ttf",
8703
+ "200": "http://fonts.gstatic.com/s/kanit/v3/nKKU-Go6G5tXcr5aOiWg.ttf",
8704
+ "300": "http://fonts.gstatic.com/s/kanit/v3/nKKU-Go6G5tXcr4-OSWg.ttf",
8705
+ "500": "http://fonts.gstatic.com/s/kanit/v3/nKKU-Go6G5tXcr5mOCWg.ttf",
8706
+ "600": "http://fonts.gstatic.com/s/kanit/v3/nKKU-Go6G5tXcr5KPyWg.ttf",
8707
+ "700": "http://fonts.gstatic.com/s/kanit/v3/nKKU-Go6G5tXcr4uPiWg.ttf",
8708
+ "800": "http://fonts.gstatic.com/s/kanit/v3/nKKU-Go6G5tXcr4yPSWg.ttf",
8709
+ "900": "http://fonts.gstatic.com/s/kanit/v3/nKKU-Go6G5tXcr4WPCWg.ttf",
8710
+ "100italic": "http://fonts.gstatic.com/s/kanit/v3/nKKV-Go6G5tXcraQI2GAdQ.ttf",
8711
+ "200italic": "http://fonts.gstatic.com/s/kanit/v3/nKKS-Go6G5tXcraQI82hVaQ.ttf",
8712
+ "300italic": "http://fonts.gstatic.com/s/kanit/v3/nKKS-Go6G5tXcraQI6miVaQ.ttf",
8713
+ "regular": "http://fonts.gstatic.com/s/kanit/v3/nKKZ-Go6G5tXcoaS.ttf",
8714
+ "italic": "http://fonts.gstatic.com/s/kanit/v3/nKKX-Go6G5tXcraQGwU.ttf",
8715
+ "500italic": "http://fonts.gstatic.com/s/kanit/v3/nKKS-Go6G5tXcraQI_GjVaQ.ttf",
8716
+ "600italic": "http://fonts.gstatic.com/s/kanit/v3/nKKS-Go6G5tXcraQI92kVaQ.ttf",
8717
+ "700italic": "http://fonts.gstatic.com/s/kanit/v3/nKKS-Go6G5tXcraQI7mlVaQ.ttf",
8718
+ "800italic": "http://fonts.gstatic.com/s/kanit/v3/nKKS-Go6G5tXcraQI6WmVaQ.ttf",
8719
+ "900italic": "http://fonts.gstatic.com/s/kanit/v3/nKKS-Go6G5tXcraQI4GnVaQ.ttf"
8720
+ }
8721
+ },
8722
+ {
8723
+ "kind": "webfonts#webfont",
8724
+ "family": "Kantumruy",
8725
+ "category": "sans-serif",
8726
+ "variants": [
8727
+ "300",
8728
+ "regular",
8729
+ "700"
8730
+ ],
8731
+ "subsets": [
8732
+ "khmer"
8733
+ ],
8734
+ "version": "v5",
8735
+ "lastModified": "2018-12-13",
8736
+ "files": {
8737
+ "300": "http://fonts.gstatic.com/s/kantumruy/v5/syk0-yJ0m7wyVb-f4FOPUtDlpn-UJ1H6Uw.ttf",
8738
+ "700": "http://fonts.gstatic.com/s/kantumruy/v5/syk0-yJ0m7wyVb-f4FOPQtflpn-UJ1H6Uw.ttf",
8739
+ "regular": "http://fonts.gstatic.com/s/kantumruy/v5/sykx-yJ0m7wyVb-f4FO3_vjBrlSILg.ttf"
8740
+ }
8741
+ },
8742
+ {
8743
+ "kind": "webfonts#webfont",
8744
+ "family": "Karla",
8745
+ "category": "sans-serif",
8746
+ "variants": [
8747
+ "regular",
8748
+ "italic",
8749
+ "700",
8750
+ "700italic"
8751
+ ],
8752
+ "subsets": [
8753
+ "latin-ext",
8754
+ "latin"
8755
+ ],
8756
+ "version": "v6",
8757
+ "lastModified": "2017-10-10",
8758
+ "files": {
8759
+ "700": "http://fonts.gstatic.com/s/karla/v6/qkBWXvYC6trAT7zuC_m-.ttf",
8760
+ "regular": "http://fonts.gstatic.com/s/karla/v6/qkBbXvYC6trAT4RS.ttf",
8761
+ "italic": "http://fonts.gstatic.com/s/karla/v6/qkBVXvYC6trAT7RQLtk.ttf",
8762
+ "700italic": "http://fonts.gstatic.com/s/karla/v6/qkBQXvYC6trAT7RQFmW7xL4.ttf"
8763
+ }
8764
+ },
8765
+ {
8766
+ "kind": "webfonts#webfont",
8767
+ "family": "Karma",
8768
+ "category": "serif",
8769
+ "variants": [
8770
+ "300",
8771
+ "regular",
8772
+ "500",
8773
+ "600",
8774
+ "700"
8775
+ ],
8776
+ "subsets": [
8777
+ "latin-ext",
8778
+ "devanagari",
8779
+ "latin"
8780
+ ],
8781
+ "version": "v9",
8782
+ "lastModified": "2019-01-15",
8783
+ "files": {
8784
+ "300": "http://fonts.gstatic.com/s/karma/v9/va9F4kzAzMZRGLjDY8Z_uqzGQC_-.ttf",
8785
+ "500": "http://fonts.gstatic.com/s/karma/v9/va9F4kzAzMZRGLibYsZ_uqzGQC_-.ttf",
8786
+ "600": "http://fonts.gstatic.com/s/karma/v9/va9F4kzAzMZRGLi3ZcZ_uqzGQC_-.ttf",
8787
+ "700": "http://fonts.gstatic.com/s/karma/v9/va9F4kzAzMZRGLjTZMZ_uqzGQC_-.ttf",
8788
+ "regular": "http://fonts.gstatic.com/s/karma/v9/va9I4kzAzMZRGIBvS-J3kbDP.ttf"
8789
+ }
8790
+ },
8791
+ {
8792
+ "kind": "webfonts#webfont",
8793
+ "family": "Katibeh",
8794
+ "category": "display",
8795
+ "variants": [
8796
+ "regular"
8797
+ ],
8798
+ "subsets": [
8799
+ "arabic",
8800
+ "latin-ext",
8801
+ "latin"
8802
+ ],
8803
+ "version": "v6",
8804
+ "lastModified": "2019-01-10",
8805
+ "files": {
8806
+ "regular": "http://fonts.gstatic.com/s/katibeh/v6/ZGjXol5MQJog4bxDaC1RVDNdGDs.ttf"
8807
+ }
8808
+ },
8809
+ {
8810
+ "kind": "webfonts#webfont",
8811
+ "family": "Kaushan Script",
8812
+ "category": "handwriting",
8813
+ "variants": [
8814
+ "regular"
8815
+ ],
8816
+ "subsets": [
8817
+ "latin-ext",
8818
+ "latin"
8819
+ ],
8820
+ "version": "v7",
8821
+ "lastModified": "2019-01-15",
8822
+ "files": {
8823
+ "regular": "http://fonts.gstatic.com/s/kaushanscript/v7/vm8vdRfvXFLG3OLnsO15WYS5DF7_ytN3M48a.ttf"
8824
+ }
8825
+ },
8826
+ {
8827
+ "kind": "webfonts#webfont",
8828
+ "family": "Kavivanar",
8829
+ "category": "handwriting",
8830
+ "variants": [
8831
+ "regular"
8832
+ ],
8833
+ "subsets": [
8834
+ "latin-ext",
8835
+ "tamil",
8836
+ "latin"
8837
+ ],
8838
+ "version": "v4",
8839
+ "lastModified": "2018-12-13",
8840
+ "files": {
8841
+ "regular": "http://fonts.gstatic.com/s/kavivanar/v4/o-0IIpQgyXYSwhxP7_Jb4j5Ba_2c7A.ttf"
8842
+ }
8843
+ },
8844
+ {
8845
+ "kind": "webfonts#webfont",
8846
+ "family": "Kavoon",
8847
+ "category": "display",
8848
+ "variants": [
8849
+ "regular"
8850
+ ],
8851
+ "subsets": [
8852
+ "latin-ext",
8853
+ "latin"
8854
+ ],
8855
+ "version": "v7",
8856
+ "lastModified": "2018-12-13",
8857
+ "files": {
8858
+ "regular": "http://fonts.gstatic.com/s/kavoon/v7/pxiFyp4_scRYhlU4NLr6f1pdEQ.ttf"
8859
+ }
8860
+ },
8861
+ {
8862
+ "kind": "webfonts#webfont",
8863
+ "family": "Kdam Thmor",
8864
+ "category": "display",
8865
+ "variants": [
8866
+ "regular"
8867
+ ],
8868
+ "subsets": [
8869
+ "khmer"
8870
+ ],
8871
+ "version": "v6",
8872
+ "lastModified": "2018-11-29",
8873
+ "files": {
8874
+ "regular": "http://fonts.gstatic.com/s/kdamthmor/v6/MwQzbhjs3veF6QwJVf0JkGMViblPtXs.ttf"
8875
+ }
8876
+ },
8877
+ {
8878
+ "kind": "webfonts#webfont",
8879
+ "family": "Keania One",
8880
+ "category": "display",
8881
+ "variants": [
8882
+ "regular"
8883
+ ],
8884
+ "subsets": [
8885
+ "latin-ext",
8886
+ "latin"
8887
+ ],
8888
+ "version": "v6",
8889
+ "lastModified": "2018-12-13",
8890
+ "files": {
8891
+ "regular": "http://fonts.gstatic.com/s/keaniaone/v6/zOL54pXJk65E8pXardnuycRuv-hHkOs.ttf"
8892
+ }
8893
+ },
8894
+ {
8895
+ "kind": "webfonts#webfont",
8896
+ "family": "Kelly Slab",
8897
+ "category": "display",
8898
+ "variants": [
8899
+ "regular"
8900
+ ],
8901
+ "subsets": [
8902
+ "latin-ext",
8903
+ "cyrillic",
8904
+ "latin"
8905
+ ],
8906
+ "version": "v9",
8907
+ "lastModified": "2019-01-10",
8908
+ "files": {
8909
+ "regular": "http://fonts.gstatic.com/s/kellyslab/v9/-W_7XJX0Rz3cxUnJC5t6TkMBf50kbiM.ttf"
8910
+ }
8911
+ },
8912
+ {
8913
+ "kind": "webfonts#webfont",
8914
+ "family": "Kenia",
8915
+ "category": "display",
8916
+ "variants": [
8917
+ "regular"
8918
+ ],
8919
+ "subsets": [
8920
+ "latin"
8921
+ ],
8922
+ "version": "v10",
8923
+ "lastModified": "2018-12-13",
8924
+ "files": {
8925
+ "regular": "http://fonts.gstatic.com/s/kenia/v10/jizURE5PuHQH9qCONUGswfGM.ttf"
8926
+ }
8927
+ },
8928
+ {
8929
+ "kind": "webfonts#webfont",
8930
+ "family": "Khand",
8931
+ "category": "sans-serif",
8932
+ "variants": [
8933
+ "300",
8934
+ "regular",
8935
+ "500",
8936
+ "600",
8937
+ "700"
8938
+ ],
8939
+ "subsets": [
8940
+ "latin-ext",
8941
+ "devanagari",
8942
+ "latin"
8943
+ ],
8944
+ "version": "v7",
8945
+ "lastModified": "2019-01-15",
8946
+ "files": {
8947
+ "300": "http://fonts.gstatic.com/s/khand/v7/TwMN-IINQlQQ0bL5cFE3ZwaH__-C.ttf",
8948
+ "500": "http://fonts.gstatic.com/s/khand/v7/TwMN-IINQlQQ0bKhcVE3ZwaH__-C.ttf",
8949
+ "600": "http://fonts.gstatic.com/s/khand/v7/TwMN-IINQlQQ0bKNdlE3ZwaH__-C.ttf",
8950
+ "700": "http://fonts.gstatic.com/s/khand/v7/TwMN-IINQlQQ0bLpd1E3ZwaH__-C.ttf",
8951
+ "regular": "http://fonts.gstatic.com/s/khand/v7/TwMA-IINQlQQ0YpVWHU_TBqO.ttf"
8952
+ }
8953
+ },
8954
+ {
8955
+ "kind": "webfonts#webfont",
8956
+ "family": "Khmer",
8957
+ "category": "display",
8958
+ "variants": [
8959
+ "regular"
8960
+ ],
8961
+ "subsets": [
8962
+ "khmer"
8963
+ ],
8964
+ "version": "v11",
8965
+ "lastModified": "2018-12-13",
8966
+ "files": {
8967
+ "regular": "http://fonts.gstatic.com/s/khmer/v11/MjQImit_vPPwpF-BpN2EeYmD.ttf"
8968
+ }
8969
+ },
8970
+ {
8971
+ "kind": "webfonts#webfont",
8972
+ "family": "Khula",
8973
+ "category": "sans-serif",
8974
+ "variants": [
8975
+ "300",
8976
+ "regular",
8977
+ "600",
8978
+ "700",
8979
+ "800"
8980
+ ],
8981
+ "subsets": [
8982
+ "latin-ext",
8983
+ "devanagari",
8984
+ "latin"
8985
+ ],
8986
+ "version": "v4",
8987
+ "lastModified": "2019-01-15",
8988
+ "files": {
8989
+ "300": "http://fonts.gstatic.com/s/khula/v4/OpNPnoEOns3V7G-ljCvUrC59XwXD.ttf",
8990
+ "600": "http://fonts.gstatic.com/s/khula/v4/OpNPnoEOns3V7G_RiivUrC59XwXD.ttf",
8991
+ "700": "http://fonts.gstatic.com/s/khula/v4/OpNPnoEOns3V7G-1iyvUrC59XwXD.ttf",
8992
+ "800": "http://fonts.gstatic.com/s/khula/v4/OpNPnoEOns3V7G-piCvUrC59XwXD.ttf",
8993
+ "regular": "http://fonts.gstatic.com/s/khula/v4/OpNCnoEOns3V7FcJpA_chzJ0.ttf"
8994
+ }
8995
+ },
8996
+ {
8997
+ "kind": "webfonts#webfont",
8998
+ "family": "Kirang Haerang",
8999
+ "category": "display",
9000
+ "variants": [
9001
+ "regular"
9002
+ ],
9003
+ "subsets": [
9004
+ "korean",
9005
+ "latin"
9006
+ ],
9007
+ "version": "v5",
9008
+ "lastModified": "2018-12-13",
9009
+ "files": {
9010
+ "regular": "http://fonts.gstatic.com/s/kiranghaerang/v5/E21-_dn_gvvIjhYON1lpIU4-bcqvWPaJq4no.ttf"
9011
+ }
9012
+ },
9013
+ {
9014
+ "kind": "webfonts#webfont",
9015
+ "family": "Kite One",
9016
+ "category": "sans-serif",
9017
+ "variants": [
9018
+ "regular"
9019
+ ],
9020
+ "subsets": [
9021
+ "latin"
9022
+ ],
9023
+ "version": "v6",
9024
+ "lastModified": "2018-12-13",
9025
+ "files": {
9026
+ "regular": "http://fonts.gstatic.com/s/kiteone/v6/70lQu7shLnA_E02vyq1b6HnGO4uA.ttf"
9027
+ }
9028
+ },
9029
+ {
9030
+ "kind": "webfonts#webfont",
9031
+ "family": "Knewave",
9032
+ "category": "display",
9033
+ "variants": [
9034
+ "regular"
9035
+ ],
9036
+ "subsets": [
9037
+ "latin-ext",
9038
+ "latin"
9039
+ ],
9040
+ "version": "v7",
9041
+ "lastModified": "2019-01-10",
9042
+ "files": {
9043
+ "regular": "http://fonts.gstatic.com/s/knewave/v7/sykz-yx0lLcxQaSItSq9-trEvlQ.ttf"
9044
+ }
9045
+ },
9046
+ {
9047
+ "kind": "webfonts#webfont",
9048
+ "family": "KoHo",
9049
+ "category": "sans-serif",
9050
+ "variants": [
9051
+ "200",
9052
+ "200italic",
9053
+ "300",
9054
+ "300italic",
9055
+ "regular",
9056
+ "italic",
9057
+ "500",
9058
+ "500italic",
9059
+ "600",
9060
+ "600italic",
9061
+ "700",
9062
+ "700italic"
9063
+ ],
9064
+ "subsets": [
9065
+ "latin-ext",
9066
+ "thai",
9067
+ "vietnamese",
9068
+ "latin"
9069
+ ],
9070
+ "version": "v2",
9071
+ "lastModified": "2018-11-29",
9072
+ "files": {
9073
+ "200": "http://fonts.gstatic.com/s/koho/v2/K2FxfZ5fmddNPuE1WJ75JoKhHys.ttf",
9074
+ "300": "http://fonts.gstatic.com/s/koho/v2/K2FxfZ5fmddNPoU2WJ75JoKhHys.ttf",
9075
+ "500": "http://fonts.gstatic.com/s/koho/v2/K2FxfZ5fmddNPt03WJ75JoKhHys.ttf",
9076
+ "600": "http://fonts.gstatic.com/s/koho/v2/K2FxfZ5fmddNPvEwWJ75JoKhHys.ttf",
9077
+ "700": "http://fonts.gstatic.com/s/koho/v2/K2FxfZ5fmddNPpUxWJ75JoKhHys.ttf",
9078
+ "200italic": "http://fonts.gstatic.com/s/koho/v2/K2FzfZ5fmddNNisssJ_zIqCkDyvqZA.ttf",
9079
+ "300italic": "http://fonts.gstatic.com/s/koho/v2/K2FzfZ5fmddNNiss1JzzIqCkDyvqZA.ttf",
9080
+ "regular": "http://fonts.gstatic.com/s/koho/v2/K2F-fZ5fmddNBikefJbSOos.ttf",
9081
+ "italic": "http://fonts.gstatic.com/s/koho/v2/K2FwfZ5fmddNNisUeLTXKou4Bg.ttf",
9082
+ "500italic": "http://fonts.gstatic.com/s/koho/v2/K2FzfZ5fmddNNissjJ3zIqCkDyvqZA.ttf",
9083
+ "600italic": "http://fonts.gstatic.com/s/koho/v2/K2FzfZ5fmddNNissoJrzIqCkDyvqZA.ttf",
9084
+ "700italic": "http://fonts.gstatic.com/s/koho/v2/K2FzfZ5fmddNNissxJvzIqCkDyvqZA.ttf"
9085
+ }
9086
+ },
9087
+ {
9088
+ "kind": "webfonts#webfont",
9089
+ "family": "Kodchasan",
9090
+ "category": "sans-serif",
9091
+ "variants": [
9092
+ "200",
9093
+ "200italic",
9094
+ "300",
9095
+ "300italic",
9096
+ "regular",
9097
+ "italic",
9098
+ "500",
9099
+ "500italic",
9100
+ "600",
9101
+ "600italic",
9102
+ "700",
9103
+ "700italic"
9104
+ ],
9105
+ "subsets": [
9106
+ "latin-ext",
9107
+ "thai",
9108
+ "vietnamese",
9109
+ "latin"
9110
+ ],
9111
+ "version": "v2",
9112
+ "lastModified": "2018-11-29",
9113
+ "files": {
9114
+ "200": "http://fonts.gstatic.com/s/kodchasan/v2/1cX0aUPOAJv9sG4I-DJeR1Cggeqo3eMeoA.ttf",
9115
+ "300": "http://fonts.gstatic.com/s/kodchasan/v2/1cX0aUPOAJv9sG4I-DJeI1Oggeqo3eMeoA.ttf",
9116
+ "500": "http://fonts.gstatic.com/s/kodchasan/v2/1cX0aUPOAJv9sG4I-DJee1Kggeqo3eMeoA.ttf",
9117
+ "600": "http://fonts.gstatic.com/s/kodchasan/v2/1cX0aUPOAJv9sG4I-DJeV1Wggeqo3eMeoA.ttf",
9118
+ "700": "http://fonts.gstatic.com/s/kodchasan/v2/1cX0aUPOAJv9sG4I-DJeM1Sggeqo3eMeoA.ttf",
9119
+ "200italic": "http://fonts.gstatic.com/s/kodchasan/v2/1cXqaUPOAJv9sG4I-DJWjUlIgOCs_-YOoIgN.ttf",
9120
+ "300italic": "http://fonts.gstatic.com/s/kodchasan/v2/1cXqaUPOAJv9sG4I-DJWjUksg-Cs_-YOoIgN.ttf",
9121
+ "regular": "http://fonts.gstatic.com/s/kodchasan/v2/1cXxaUPOAJv9sG4I-DJmj3uEicG01A.ttf",
9122
+ "italic": "http://fonts.gstatic.com/s/kodchasan/v2/1cX3aUPOAJv9sG4I-DJWjXGAq8Sk1PoH.ttf",
9123
+ "500italic": "http://fonts.gstatic.com/s/kodchasan/v2/1cXqaUPOAJv9sG4I-DJWjUl0guCs_-YOoIgN.ttf",
9124
+ "600italic": "http://fonts.gstatic.com/s/kodchasan/v2/1cXqaUPOAJv9sG4I-DJWjUlYheCs_-YOoIgN.ttf",
9125
+ "700italic": "http://fonts.gstatic.com/s/kodchasan/v2/1cXqaUPOAJv9sG4I-DJWjUk8hOCs_-YOoIgN.ttf"
9126
+ }
9127
+ },
9128
+ {
9129
+ "kind": "webfonts#webfont",
9130
+ "family": "Kosugi",
9131
+ "category": "sans-serif",
9132
+ "variants": [
9133
+ "regular"
9134
+ ],
9135
+ "subsets": [
9136
+ "japanese",
9137
+ "cyrillic",
9138
+ "latin"
9139
+ ],
9140
+ "version": "v3",
9141
+ "lastModified": "2018-12-05",
9142
+ "files": {
9143
+ "regular": "http://fonts.gstatic.com/s/kosugi/v3/pxiFyp4_v8FCjlI4NLr6f1pdEQ.ttf"
9144
+ }
9145
+ },
9146
+ {
9147
+ "kind": "webfonts#webfont",
9148
+ "family": "Kosugi Maru",
9149
+ "category": "sans-serif",
9150
+ "variants": [
9151
+ "regular"
9152
+ ],
9153
+ "subsets": [
9154
+ "japanese",
9155
+ "cyrillic",
9156
+ "latin"
9157
+ ],
9158
+ "version": "v3",
9159
+ "lastModified": "2018-12-13",
9160
+ "files": {
9161
+ "regular": "http://fonts.gstatic.com/s/kosugimaru/v3/0nksC9PgP_wGh21A2KeqGiTqivr9iBq_.ttf"
9162
+ }
9163
+ },
9164
+ {
9165
+ "kind": "webfonts#webfont",
9166
+ "family": "Kotta One",
9167
+ "category": "serif",
9168
+ "variants": [
9169
+ "regular"
9170
+ ],
9171
+ "subsets": [
9172
+ "latin-ext",
9173
+ "latin"
9174
+ ],
9175
+ "version": "v6",
9176
+ "lastModified": "2018-12-13",
9177
+ "files": {
9178
+ "regular": "http://fonts.gstatic.com/s/kottaone/v6/S6u_w41LXzPc_jlfNWqPHA3s5dwt7w.ttf"
9179
+ }
9180
+ },
9181
+ {
9182
+ "kind": "webfonts#webfont",
9183
+ "family": "Koulen",
9184
+ "category": "display",
9185
+ "variants": [
9186
+ "regular"
9187
+ ],
9188
+ "subsets": [
9189
+ "khmer"
9190
+ ],
9191
+ "version": "v12",
9192
+ "lastModified": "2018-12-13",
9193
+ "files": {
9194
+ "regular": "http://fonts.gstatic.com/s/koulen/v12/AMOQz46as3KIBPeWgnA9kuYMUg.ttf"
9195
+ }
9196
+ },
9197
+ {
9198
+ "kind": "webfonts#webfont",
9199
+ "family": "Kranky",
9200
+ "category": "display",
9201
+ "variants": [
9202
+ "regular"
9203
+ ],
9204
+ "subsets": [
9205
+ "latin"
9206
+ ],
9207
+ "version": "v9",
9208
+ "lastModified": "2018-12-13",
9209
+ "files": {
9210
+ "regular": "http://fonts.gstatic.com/s/kranky/v9/hESw6XVgJzlPsFnMpheEZo_H_w.ttf"
9211
+ }
9212
+ },
9213
+ {
9214
+ "kind": "webfonts#webfont",
9215
+ "family": "Kreon",
9216
+ "category": "serif",
9217
+ "variants": [
9218
+ "300",
9219
+ "regular",
9220
+ "700"
9221
+ ],
9222
+ "subsets": [
9223
+ "latin"
9224
+ ],
9225
+ "version": "v13",
9226
+ "lastModified": "2019-01-15",
9227
+ "files": {
9228
+ "300": "http://fonts.gstatic.com/s/kreon/v13/t5tjIRIUKY-TFH1sUU23hqLgzCHu.ttf",
9229
+ "700": "http://fonts.gstatic.com/s/kreon/v13/t5tjIRIUKY-TFH18Vk23hqLgzCHu.ttf",
9230
+ "regular": "http://fonts.gstatic.com/s/kreon/v13/t5tuIRIUKY-TFEXAeWm_rb7p.ttf"
9231
+ }
9232
+ },
9233
+ {
9234
+ "kind": "webfonts#webfont",
9235
+ "family": "Kristi",
9236
+ "category": "handwriting",
9237
+ "variants": [
9238
+ "regular"
9239
+ ],
9240
+ "subsets": [
9241
+ "latin"
9242
+ ],
9243
+ "version": "v10",
9244
+ "lastModified": "2019-01-10",
9245
+ "files": {
9246
+ "regular": "http://fonts.gstatic.com/s/kristi/v10/uK_y4ricdeU6zwdRCh0TMv6EXw.ttf"
9247
+ }
9248
+ },
9249
+ {
9250
+ "kind": "webfonts#webfont",
9251
+ "family": "Krona One",
9252
+ "category": "sans-serif",
9253
+ "variants": [
9254
+ "regular"
9255
+ ],
9256
+ "subsets": [
9257
+ "latin-ext",
9258
+ "latin"
9259
+ ],
9260
+ "version": "v7",
9261
+ "lastModified": "2019-01-10",
9262
+ "files": {
9263
+ "regular": "http://fonts.gstatic.com/s/kronaone/v7/jAnEgHdjHcjgfIb1ZcUCMY-h3cWkWg.ttf"
9264
+ }
9265
+ },
9266
+ {
9267
+ "kind": "webfonts#webfont",
9268
+ "family": "Krub",
9269
+ "category": "sans-serif",
9270
+ "variants": [
9271
+ "200",
9272
+ "200italic",
9273
+ "300",
9274
+ "300italic",
9275
+ "regular",
9276
+ "italic",
9277
+ "500",
9278
+ "500italic",
9279
+ "600",
9280
+ "600italic",
9281
+ "700",
9282
+ "700italic"
9283
+ ],
9284
+ "subsets": [
9285
+ "latin-ext",
9286
+ "thai",
9287
+ "vietnamese",
9288
+ "latin"
9289
+ ],
9290
+ "version": "v2",
9291
+ "lastModified": "2018-12-13",
9292
+ "files": {
9293
+ "200": "http://fonts.gstatic.com/s/krub/v2/sZlEdRyC6CRYZo47KLF4R6gWaf8.ttf",
9294
+ "300": "http://fonts.gstatic.com/s/krub/v2/sZlEdRyC6CRYZuo4KLF4R6gWaf8.ttf",
9295
+ "500": "http://fonts.gstatic.com/s/krub/v2/sZlEdRyC6CRYZrI5KLF4R6gWaf8.ttf",
9296
+ "600": "http://fonts.gstatic.com/s/krub/v2/sZlEdRyC6CRYZp4-KLF4R6gWaf8.ttf",
9297
+ "700": "http://fonts.gstatic.com/s/krub/v2/sZlEdRyC6CRYZvo_KLF4R6gWaf8.ttf",
9298
+ "200italic": "http://fonts.gstatic.com/s/krub/v2/sZlGdRyC6CRYbkQiwLByQ4oTef_6gQ.ttf",
9299
+ "300italic": "http://fonts.gstatic.com/s/krub/v2/sZlGdRyC6CRYbkQipLNyQ4oTef_6gQ.ttf",
9300
+ "regular": "http://fonts.gstatic.com/s/krub/v2/sZlLdRyC6CRYXkYQDLlTW6E.ttf",
9301
+ "italic": "http://fonts.gstatic.com/s/krub/v2/sZlFdRyC6CRYbkQaCJtWS6EPcA.ttf",
9302
+ "500italic": "http://fonts.gstatic.com/s/krub/v2/sZlGdRyC6CRYbkQi_LJyQ4oTef_6gQ.ttf",
9303
+ "600italic": "http://fonts.gstatic.com/s/krub/v2/sZlGdRyC6CRYbkQi0LVyQ4oTef_6gQ.ttf",
9304
+ "700italic": "http://fonts.gstatic.com/s/krub/v2/sZlGdRyC6CRYbkQitLRyQ4oTef_6gQ.ttf"
9305
+ }
9306
+ },
9307
+ {
9308
+ "kind": "webfonts#webfont",
9309
+ "family": "Kumar One",
9310
+ "category": "display",
9311
+ "variants": [
9312
+ "regular"
9313
+ ],
9314
+ "subsets": [
9315
+ "latin-ext",
9316
+ "gujarati",
9317
+ "latin"
9318
+ ],
9319
+ "version": "v3",
9320
+ "lastModified": "2018-12-13",
9321
+ "files": {
9322
+ "regular": "http://fonts.gstatic.com/s/kumarone/v3/bMr1mS-P958wYi6YaGeGNO6WU3oT0g.ttf"
9323
+ }
9324
+ },
9325
+ {
9326
+ "kind": "webfonts#webfont",
9327
+ "family": "Kumar One Outline",
9328
+ "category": "display",
9329
+ "variants": [
9330
+ "regular"
9331
+ ],
9332
+ "subsets": [
9333
+ "latin-ext",
9334
+ "gujarati",
9335
+ "latin"
9336
+ ],
9337
+ "version": "v4",
9338
+ "lastModified": "2018-11-29",
9339
+ "files": {
9340
+ "regular": "http://fonts.gstatic.com/s/kumaroneoutline/v4/Noao6VH62pyLP0fsrZ-v18wlUEcX9zDwRQu8EGKF.ttf"
9341
+ }
9342
+ },
9343
+ {
9344
+ "kind": "webfonts#webfont",
9345
+ "family": "Kurale",
9346
+ "category": "serif",
9347
+ "variants": [
9348
+ "regular"
9349
+ ],
9350
+ "subsets": [
9351
+ "latin-ext",
9352
+ "cyrillic-ext",
9353
+ "cyrillic",
9354
+ "devanagari",
9355
+ "latin"
9356
+ ],
9357
+ "version": "v4",
9358
+ "lastModified": "2018-10-29",
9359
+ "files": {
9360
+ "regular": "http://fonts.gstatic.com/s/kurale/v4/4iCs6KV9e9dXjho6eAT3v02QFg.ttf"
9361
+ }
9362
+ },
9363
+ {
9364
+ "kind": "webfonts#webfont",
9365
+ "family": "La Belle Aurore",
9366
+ "category": "handwriting",
9367
+ "variants": [
9368
+ "regular"
9369
+ ],
9370
+ "subsets": [
9371
+ "latin"
9372
+ ],
9373
+ "version": "v9",
9374
+ "lastModified": "2019-01-10",
9375
+ "files": {
9376
+ "regular": "http://fonts.gstatic.com/s/labelleaurore/v9/RrQIbot8-mNYKnGNDkWlocovHeIIG-eFNVmULg.ttf"
9377
+ }
9378
+ },
9379
+ {
9380
+ "kind": "webfonts#webfont",
9381
+ "family": "Laila",
9382
+ "category": "serif",
9383
+ "variants": [
9384
+ "300",
9385
+ "regular",
9386
+ "500",
9387
+ "600",
9388
+ "700"
9389
+ ],
9390
+ "subsets": [
9391
+ "latin-ext",
9392
+ "devanagari",
9393
+ "latin"
9394
+ ],
9395
+ "version": "v5",
9396
+ "lastModified": "2019-01-10",
9397
+ "files": {
9398
+ "300": "http://fonts.gstatic.com/s/laila/v5/LYjBdG_8nE8jDLzxogNAh14nVcfe.ttf",
9399
+ "500": "http://fonts.gstatic.com/s/laila/v5/LYjBdG_8nE8jDLypowNAh14nVcfe.ttf",
9400
+ "600": "http://fonts.gstatic.com/s/laila/v5/LYjBdG_8nE8jDLyFpANAh14nVcfe.ttf",
9401
+ "700": "http://fonts.gstatic.com/s/laila/v5/LYjBdG_8nE8jDLzhpQNAh14nVcfe.ttf",
9402
+ "regular": "http://fonts.gstatic.com/s/laila/v5/LYjMdG_8nE8jDIRdiidIrEIu.ttf"
9403
+ }
9404
+ },
9405
+ {
9406
+ "kind": "webfonts#webfont",
9407
+ "family": "Lakki Reddy",
9408
+ "category": "handwriting",
9409
+ "variants": [
9410
+ "regular"
9411
+ ],
9412
+ "subsets": [
9413
+ "telugu",
9414
+ "latin"
9415
+ ],
9416
+ "version": "v5",
9417
+ "lastModified": "2018-11-29",
9418
+ "files": {
9419
+ "regular": "http://fonts.gstatic.com/s/lakkireddy/v5/S6u5w49MUSzD9jlCPmvLZQfox9k97-xZ.ttf"
9420
+ }
9421
+ },
9422
+ {
9423
+ "kind": "webfonts#webfont",
9424
+ "family": "Lalezar",
9425
+ "category": "display",
9426
+ "variants": [
9427
+ "regular"
9428
+ ],
9429
+ "subsets": [
9430
+ "arabic",
9431
+ "latin-ext",
9432
+ "vietnamese",
9433
+ "latin"
9434
+ ],
9435
+ "version": "v5",
9436
+ "lastModified": "2019-01-15",
9437
+ "files": {
9438
+ "regular": "http://fonts.gstatic.com/s/lalezar/v5/zrfl0HLVx-HwTP82UaDyIiL0RCg.ttf"
9439
+ }
9440
+ },
9441
+ {
9442
+ "kind": "webfonts#webfont",
9443
+ "family": "Lancelot",
9444
+ "category": "display",
9445
+ "variants": [
9446
+ "regular"
9447
+ ],
9448
+ "subsets": [
9449
+ "latin-ext",
9450
+ "latin"
9451
+ ],
9452
+ "version": "v8",
9453
+ "lastModified": "2018-12-13",
9454
+ "files": {
9455
+ "regular": "http://fonts.gstatic.com/s/lancelot/v8/J7acnppxBGtQEulG4JY4xJ9CGyAa.ttf"
9456
+ }
9457
+ },
9458
+ {
9459
+ "kind": "webfonts#webfont",
9460
+ "family": "Lateef",
9461
+ "category": "handwriting",
9462
+ "variants": [
9463
+ "regular"
9464
+ ],
9465
+ "subsets": [
9466
+ "arabic",
9467
+ "latin"
9468
+ ],
9469
+ "version": "v14",
9470
+ "lastModified": "2019-01-10",
9471
+ "files": {
9472
+ "regular": "http://fonts.gstatic.com/s/lateef/v14/hESw6XVnNCxEvkbMpheEZo_H_w.ttf"
9473
+ }
9474
+ },
9475
+ {
9476
+ "kind": "webfonts#webfont",
9477
+ "family": "Lato",
9478
+ "category": "sans-serif",
9479
+ "variants": [
9480
+ "100",
9481
+ "100italic",
9482
+ "300",
9483
+ "300italic",
9484
+ "regular",
9485
+ "italic",
9486
+ "700",
9487
+ "700italic",
9488
+ "900",
9489
+ "900italic"
9490
+ ],
9491
+ "subsets": [
9492
+ "latin-ext",
9493
+ "latin"
9494
+ ],
9495
+ "version": "v14",
9496
+ "lastModified": "2017-10-11",
9497
+ "files": {
9498
+ "100": "http://fonts.gstatic.com/s/lato/v14/S6u8w4BMUTPHh30wWw.ttf",
9499
+ "300": "http://fonts.gstatic.com/s/lato/v14/S6u9w4BMUTPHh7USew8.ttf",
9500
+ "700": "http://fonts.gstatic.com/s/lato/v14/S6u9w4BMUTPHh6UVew8.ttf",
9501
+ "900": "http://fonts.gstatic.com/s/lato/v14/S6u9w4BMUTPHh50Xew8.ttf",
9502
+ "100italic": "http://fonts.gstatic.com/s/lato/v14/S6u-w4BMUTPHjxsIPy-v.ttf",
9503
+ "300italic": "http://fonts.gstatic.com/s/lato/v14/S6u_w4BMUTPHjxsI9w2PHA.ttf",
9504
+ "regular": "http://fonts.gstatic.com/s/lato/v14/S6uyw4BMUTPHvxk.ttf",
9505
+ "italic": "http://fonts.gstatic.com/s/lato/v14/S6u8w4BMUTPHjxswWw.ttf",
9506
+ "700italic": "http://fonts.gstatic.com/s/lato/v14/S6u_w4BMUTPHjxsI5wqPHA.ttf",
9507
+ "900italic": "http://fonts.gstatic.com/s/lato/v14/S6u_w4BMUTPHjxsI3wiPHA.ttf"
9508
+ }
9509
+ },
9510
+ {
9511
+ "kind": "webfonts#webfont",
9512
+ "family": "League Script",
9513
+ "category": "handwriting",
9514
+ "variants": [
9515
+ "regular"
9516
+ ],
9517
+ "subsets": [
9518
+ "latin"
9519
+ ],
9520
+ "version": "v9",
9521
+ "lastModified": "2018-12-13",
9522
+ "files": {
9523
+ "regular": "http://fonts.gstatic.com/s/leaguescript/v9/CSR54zpSlumSWj9CGVsoBZdeaNNUuOwkC2s.ttf"
9524
+ }
9525
+ },
9526
+ {
9527
+ "kind": "webfonts#webfont",
9528
+ "family": "Leckerli One",
9529
+ "category": "handwriting",
9530
+ "variants": [
9531
+ "regular"
9532
+ ],
9533
+ "subsets": [
9534
+ "latin"
9535
+ ],
9536
+ "version": "v9",
9537
+ "lastModified": "2019-01-15",
9538
+ "files": {
9539
+ "regular": "http://fonts.gstatic.com/s/leckerlione/v9/V8mCoQH8VCsNttEnxnGQ-1itLZxcBtItFw.ttf"
9540
+ }
9541
+ },
9542
+ {
9543
+ "kind": "webfonts#webfont",
9544
+ "family": "Ledger",
9545
+ "category": "serif",
9546
+ "variants": [
9547
+ "regular"
9548
+ ],
9549
+ "subsets": [
9550
+ "latin-ext",
9551
+ "cyrillic",
9552
+ "latin"
9553
+ ],
9554
+ "version": "v6",
9555
+ "lastModified": "2019-01-10",
9556
+ "files": {
9557
+ "regular": "http://fonts.gstatic.com/s/ledger/v6/j8_q6-HK1L3if_sxm8DwHTBhHw.ttf"
9558
+ }
9559
+ },
9560
+ {
9561
+ "kind": "webfonts#webfont",
9562
+ "family": "Lekton",
9563
+ "category": "sans-serif",
9564
+ "variants": [
9565
+ "regular",
9566
+ "italic",
9567
+ "700"
9568
+ ],
9569
+ "subsets": [
9570
+ "latin-ext",
9571
+ "latin"
9572
+ ],
9573
+ "version": "v9",
9574
+ "lastModified": "2019-01-10",
9575
+ "files": {
9576
+ "700": "http://fonts.gstatic.com/s/lekton/v9/SZc73FDmLaWmWpBm4zjMlWjX4DJXgQ.ttf",
9577
+ "regular": "http://fonts.gstatic.com/s/lekton/v9/SZc43FDmLaWmWpBeXxfonUPL6Q.ttf",
9578
+ "italic": "http://fonts.gstatic.com/s/lekton/v9/SZc63FDmLaWmWpBuXR3sv0bb6StO.ttf"
9579
+ }
9580
+ },
9581
+ {
9582
+ "kind": "webfonts#webfont",
9583
+ "family": "Lemon",
9584
+ "category": "display",
9585
+ "variants": [
9586
+ "regular"
9587
+ ],
9588
+ "subsets": [
9589
+ "latin"
9590
+ ],
9591
+ "version": "v7",
9592
+ "lastModified": "2019-01-10",
9593
+ "files": {
9594
+ "regular": "http://fonts.gstatic.com/s/lemon/v7/HI_EiYEVKqRMq0jBSZXAQ4-d.ttf"
9595
+ }
9596
+ },
9597
+ {
9598
+ "kind": "webfonts#webfont",
9599
+ "family": "Lemonada",
9600
+ "category": "display",
9601
+ "variants": [
9602
+ "300",
9603
+ "regular",
9604
+ "600",
9605
+ "700"
9606
+ ],
9607
+ "subsets": [
9608
+ "arabic",
9609
+ "latin-ext",
9610
+ "vietnamese",
9611
+ "latin"
9612
+ ],
9613
+ "version": "v6",
9614
+ "lastModified": "2019-01-10",
9615
+ "files": {
9616
+ "300": "http://fonts.gstatic.com/s/lemonada/v6/0QIkMXFD9oygTWy_R8PindGu2bje-RpH.ttf",
9617
+ "600": "http://fonts.gstatic.com/s/lemonada/v6/0QIkMXFD9oygTWy_R8OWm9Gu2bje-RpH.ttf",
9618
+ "700": "http://fonts.gstatic.com/s/lemonada/v6/0QIkMXFD9oygTWy_R8PymtGu2bje-RpH.ttf",
9619
+ "regular": "http://fonts.gstatic.com/s/lemonada/v6/0QIjMXFD9oygTWy_R_tOtfWm8qTX.ttf"
9620
+ }
9621
+ },
9622
+ {
9623
+ "kind": "webfonts#webfont",
9624
+ "family": "Libre Barcode 128",
9625
+ "category": "display",
9626
+ "variants": [
9627
+ "regular"
9628
+ ],
9629
+ "subsets": [
9630
+ "latin"
9631
+ ],
9632
+ "version": "v8",
9633
+ "lastModified": "2018-11-29",
9634
+ "files": {
9635
+ "regular": "http://fonts.gstatic.com/s/librebarcode128/v8/cIfnMbdUsUoiW3O_hVviCwVjuLtXeJ_A_gMk0izH.ttf"
9636
+ }
9637
+ },
9638
+ {
9639
+ "kind": "webfonts#webfont",
9640
+ "family": "Libre Barcode 128 Text",
9641
+ "category": "display",
9642
+ "variants": [
9643
+ "regular"
9644
+ ],
9645
+ "subsets": [
9646
+ "latin"
9647
+ ],
9648
+ "version": "v8",
9649
+ "lastModified": "2018-11-08",
9650
+ "files": {
9651
+ "regular": "http://fonts.gstatic.com/s/librebarcode128text/v8/fdNv9tubt3ZEnz1Gu3I4-zppwZ9CWZ16Z0w5cV3Y6M90w4k.ttf"
9652
+ }
9653
+ },
9654
+ {
9655
+ "kind": "webfonts#webfont",
9656
+ "family": "Libre Barcode 39",
9657
+ "category": "display",
9658
+ "variants": [
9659
+ "regular"
9660
+ ],
9661
+ "subsets": [
9662
+ "latin"
9663
+ ],
9664
+ "version": "v8",
9665
+ "lastModified": "2018-11-08",
9666
+ "files": {
9667
+ "regular": "http://fonts.gstatic.com/s/librebarcode39/v8/-nFnOHM08vwC6h8Li1eQnP_AHzI2K_d709jy92k.ttf"
9668
+ }
9669
+ },
9670
+ {
9671
+ "kind": "webfonts#webfont",
9672
+ "family": "Libre Barcode 39 Extended",
9673
+ "category": "display",
9674
+ "variants": [
9675
+ "regular"
9676
+ ],
9677
+ "subsets": [
9678
+ "latin"
9679
+ ],
9680
+ "version": "v7",
9681
+ "lastModified": "2018-11-29",
9682
+ "files": {
9683
+ "regular": "http://fonts.gstatic.com/s/librebarcode39extended/v7/8At7Gt6_O5yNS0-K4Nf5U922qSzhJ3dUdfJpwNUgfNRCOZ1GOBw.ttf"
9684
+ }
9685
+ },
9686
+ {
9687
+ "kind": "webfonts#webfont",
9688
+ "family": "Libre Barcode 39 Extended Text",
9689
+ "category": "display",
9690
+ "variants": [
9691
+ "regular"
9692
+ ],
9693
+ "subsets": [
9694
+ "latin"
9695
+ ],
9696
+ "version": "v7",
9697
+ "lastModified": "2018-11-29",
9698
+ "files": {
9699
+ "regular": "http://fonts.gstatic.com/s/librebarcode39extendedtext/v7/eLG1P_rwIgOiDA7yrs9LoKaYRVLQ1YldrrOnnL7xPO4jNP68fLIiPopNNA.ttf"
9700
+ }
9701
+ },
9702
+ {
9703
+ "kind": "webfonts#webfont",
9704
+ "family": "Libre Barcode 39 Text",
9705
+ "category": "display",
9706
+ "variants": [
9707
+ "regular"
9708
+ ],
9709
+ "subsets": [
9710
+ "latin"
9711
+ ],
9712
+ "version": "v8",
9713
+ "lastModified": "2018-11-29",
9714
+ "files": {
9715
+ "regular": "http://fonts.gstatic.com/s/librebarcode39text/v8/sJoa3KhViNKANw_E3LwoDXvs5Un0HQ1vT-031RRL-9rYaw.ttf"
9716
+ }
9717
+ },
9718
+ {
9719
+ "kind": "webfonts#webfont",
9720
+ "family": "Libre Baskerville",
9721
+ "category": "serif",
9722
+ "variants": [
9723
+ "regular",
9724
+ "italic",
9725
+ "700"
9726
+ ],
9727
+ "subsets": [
9728
+ "latin-ext",
9729
+ "latin"
9730
+ ],
9731
+ "version": "v5",
9732
+ "lastModified": "2017-10-10",
9733
+ "files": {
9734
+ "700": "http://fonts.gstatic.com/s/librebaskerville/v5/kmKiZrc3Hgbbcjq75U4uslyuy4kn0qviTjYw.ttf",
9735
+ "regular": "http://fonts.gstatic.com/s/librebaskerville/v5/kmKnZrc3Hgbbcjq75U4uslyuy4kn0pNe.ttf",
9736
+ "italic": "http://fonts.gstatic.com/s/librebaskerville/v5/kmKhZrc3Hgbbcjq75U4uslyuy4kn0qNcaxY.ttf"
9737
+ }
9738
+ },
9739
+ {
9740
+ "kind": "webfonts#webfont",
9741
+ "family": "Libre Franklin",
9742
+ "category": "sans-serif",
9743
+ "variants": [
9744
+ "100",
9745
+ "100italic",
9746
+ "200",
9747
+ "200italic",
9748
+ "300",
9749
+ "300italic",
9750
+ "regular",
9751
+ "italic",
9752
+ "500",
9753
+ "500italic",
9754
+ "600",
9755
+ "600italic",
9756
+ "700",
9757
+ "700italic",
9758
+ "800",
9759
+ "800italic",
9760
+ "900",
9761
+ "900italic"
9762
+ ],
9763
+ "subsets": [
9764
+ "latin-ext",
9765
+ "latin"
9766
+ ],
9767
+ "version": "v2",
9768
+ "lastModified": "2017-10-10",
9769
+ "files": {
9770
+ "100": "http://fonts.gstatic.com/s/librefranklin/v2/jizBREVItHgc8qDIbSTKq4XkRi182zI.ttf",
9771
+ "200": "http://fonts.gstatic.com/s/librefranklin/v2/jizAREVItHgc8qDIbSTKq4XkRi3Q-hIz.ttf",
9772
+ "300": "http://fonts.gstatic.com/s/librefranklin/v2/jizAREVItHgc8qDIbSTKq4XkRi20-RIz.ttf",
9773
+ "500": "http://fonts.gstatic.com/s/librefranklin/v2/jizAREVItHgc8qDIbSTKq4XkRi3s-BIz.ttf",
9774
+ "600": "http://fonts.gstatic.com/s/librefranklin/v2/jizAREVItHgc8qDIbSTKq4XkRi3A_xIz.ttf",
9775
+ "700": "http://fonts.gstatic.com/s/librefranklin/v2/jizAREVItHgc8qDIbSTKq4XkRi2k_hIz.ttf",
9776
+ "800": "http://fonts.gstatic.com/s/librefranklin/v2/jizAREVItHgc8qDIbSTKq4XkRi24_RIz.ttf",
9777
+ "900": "http://fonts.gstatic.com/s/librefranklin/v2/jizAREVItHgc8qDIbSTKq4XkRi2c_BIz.ttf",
9778
+ "100italic": "http://fonts.gstatic.com/s/librefranklin/v2/jizHREVItHgc8qDIbSTKq4XkRiUa41YTiw.ttf",
9779
+ "200italic": "http://fonts.gstatic.com/s/librefranklin/v2/jizGREVItHgc8qDIbSTKq4XkRiUa4_oyq14.ttf",
9780
+ "300italic": "http://fonts.gstatic.com/s/librefranklin/v2/jizGREVItHgc8qDIbSTKq4XkRiUa454xq14.ttf",
9781
+ "regular": "http://fonts.gstatic.com/s/librefranklin/v2/jizDREVItHgc8qDIbSTKq4XkRhUY.ttf",
9782
+ "italic": "http://fonts.gstatic.com/s/librefranklin/v2/jizBREVItHgc8qDIbSTKq4XkRiUa2zI.ttf",
9783
+ "500italic": "http://fonts.gstatic.com/s/librefranklin/v2/jizGREVItHgc8qDIbSTKq4XkRiUa48Ywq14.ttf",
9784
+ "600italic": "http://fonts.gstatic.com/s/librefranklin/v2/jizGREVItHgc8qDIbSTKq4XkRiUa4-o3q14.ttf",
9785
+ "700italic": "http://fonts.gstatic.com/s/librefranklin/v2/jizGREVItHgc8qDIbSTKq4XkRiUa4442q14.ttf",
9786
+ "800italic": "http://fonts.gstatic.com/s/librefranklin/v2/jizGREVItHgc8qDIbSTKq4XkRiUa45I1q14.ttf",
9787
+ "900italic": "http://fonts.gstatic.com/s/librefranklin/v2/jizGREVItHgc8qDIbSTKq4XkRiUa47Y0q14.ttf"
9788
+ }
9789
+ },
9790
+ {
9791
+ "kind": "webfonts#webfont",
9792
+ "family": "Life Savers",
9793
+ "category": "display",
9794
+ "variants": [
9795
+ "regular",
9796
+ "700"
9797
+ ],
9798
+ "subsets": [
9799
+ "latin-ext",
9800
+ "latin"
9801
+ ],
9802
+ "version": "v8",
9803
+ "lastModified": "2019-01-10",
9804
+ "files": {
9805
+ "700": "http://fonts.gstatic.com/s/lifesavers/v8/ZXu_e1UftKKabUQMgxAal8HXOS5Tk8fIpPRW.ttf",
9806
+ "regular": "http://fonts.gstatic.com/s/lifesavers/v8/ZXuie1UftKKabUQMgxAal_lrFgpbuNvB.ttf"
9807
+ }
9808
+ },
9809
+ {
9810
+ "kind": "webfonts#webfont",
9811
+ "family": "Lilita One",
9812
+ "category": "display",
9813
+ "variants": [
9814
+ "regular"
9815
+ ],
9816
+ "subsets": [
9817
+ "latin-ext",
9818
+ "latin"
9819
+ ],
9820
+ "version": "v6",
9821
+ "lastModified": "2019-01-15",
9822
+ "files": {
9823
+ "regular": "http://fonts.gstatic.com/s/lilitaone/v6/i7dPIFZ9Zz-WBtRtedDbUEZ2RFq7AwU.ttf"
9824
+ }
9825
+ },
9826
+ {
9827
+ "kind": "webfonts#webfont",
9828
+ "family": "Lily Script One",
9829
+ "category": "display",
9830
+ "variants": [
9831
+ "regular"
9832
+ ],
9833
+ "subsets": [
9834
+ "latin-ext",
9835
+ "latin"
9836
+ ],
9837
+ "version": "v6",
9838
+ "lastModified": "2019-01-10",
9839
+ "files": {
9840
+ "regular": "http://fonts.gstatic.com/s/lilyscriptone/v6/LhW9MV7ZMfIPdMxeBjBvFN8SXLS4gsSjQNsRMg.ttf"
9841
+ }
9842
+ },
9843
+ {
9844
+ "kind": "webfonts#webfont",
9845
+ "family": "Limelight",
9846
+ "category": "display",
9847
+ "variants": [
9848
+ "regular"
9849
+ ],
9850
+ "subsets": [
9851
+ "latin-ext",
9852
+ "latin"
9853
+ ],
9854
+ "version": "v9",
9855
+ "lastModified": "2019-01-10",
9856
+ "files": {
9857
+ "regular": "http://fonts.gstatic.com/s/limelight/v9/XLYkIZL7aopJVbZJHDuYPeNGrnY2TA.ttf"
9858
+ }
9859
+ },
9860
+ {
9861
+ "kind": "webfonts#webfont",
9862
+ "family": "Linden Hill",
9863
+ "category": "serif",
9864
+ "variants": [
9865
+ "regular",
9866
+ "italic"
9867
+ ],
9868
+ "subsets": [
9869
+ "latin"
9870
+ ],
9871
+ "version": "v8",
9872
+ "lastModified": "2018-12-13",
9873
+ "files": {
9874
+ "regular": "http://fonts.gstatic.com/s/lindenhill/v8/-F61fjxoKSg9Yc3hZgO8ygFI7CwC009k.ttf",
9875
+ "italic": "http://fonts.gstatic.com/s/lindenhill/v8/-F63fjxoKSg9Yc3hZgO8yjFK5igg1l9kn-s.ttf"
9876
+ }
9877
+ },
9878
+ {
9879
+ "kind": "webfonts#webfont",
9880
+ "family": "Lobster",
9881
+ "category": "display",
9882
+ "variants": [
9883
+ "regular"
9884
+ ],
9885
+ "subsets": [
9886
+ "latin-ext",
9887
+ "cyrillic-ext",
9888
+ "cyrillic",
9889
+ "vietnamese",
9890
+ "latin"
9891
+ ],
9892
+ "version": "v20",
9893
+ "lastModified": "2017-11-07",
9894
+ "files": {
9895
+ "regular": "http://fonts.gstatic.com/s/lobster/v20/neILzCirqoswsqX9_oU.ttf"
9896
+ }
9897
+ },
9898
+ {
9899
+ "kind": "webfonts#webfont",
9900
+ "family": "Lobster Two",
9901
+ "category": "display",
9902
+ "variants": [
9903
+ "regular",
9904
+ "italic",
9905
+ "700",
9906
+ "700italic"
9907
+ ],
9908
+ "subsets": [
9909
+ "latin"
9910
+ ],
9911
+ "version": "v11",
9912
+ "lastModified": "2019-01-15",
9913
+ "files": {
9914
+ "700": "http://fonts.gstatic.com/s/lobstertwo/v11/BngRUXZGTXPUvIoyV6yN5-92w4CByxyKeuDp.ttf",
9915
+ "regular": "http://fonts.gstatic.com/s/lobstertwo/v11/BngMUXZGTXPUvIoyV6yN59fK7KSJ4ACD.ttf",
9916
+ "italic": "http://fonts.gstatic.com/s/lobstertwo/v11/BngOUXZGTXPUvIoyV6yN5-fI5qCr5RCDY_k.ttf",
9917
+ "700italic": "http://fonts.gstatic.com/s/lobstertwo/v11/BngTUXZGTXPUvIoyV6yN5-fI3hyEwRiof_DpXMY.ttf"
9918
+ }
9919
+ },
9920
+ {
9921
+ "kind": "webfonts#webfont",
9922
+ "family": "Londrina Outline",
9923
+ "category": "display",
9924
+ "variants": [
9925
+ "regular"
9926
+ ],
9927
+ "subsets": [
9928
+ "latin"
9929
+ ],
9930
+ "version": "v9",
9931
+ "lastModified": "2019-01-10",
9932
+ "files": {
9933
+ "regular": "http://fonts.gstatic.com/s/londrinaoutline/v9/C8c44dM8vmb14dfsZxhetg3pDH-SfuoxrSKMDvI.ttf"
9934
+ }
9935
+ },
9936
+ {
9937
+ "kind": "webfonts#webfont",
9938
+ "family": "Londrina Shadow",
9939
+ "category": "display",
9940
+ "variants": [
9941
+ "regular"
9942
+ ],
9943
+ "subsets": [
9944
+ "latin"
9945
+ ],
9946
+ "version": "v8",
9947
+ "lastModified": "2018-11-29",
9948
+ "files": {
9949
+ "regular": "http://fonts.gstatic.com/s/londrinashadow/v8/oPWX_kB4kOQoWNJmjxLV5JuoCUlXRlaSxkrMCQ.ttf"
9950
+ }
9951
+ },
9952
+ {
9953
+ "kind": "webfonts#webfont",
9954
+ "family": "Londrina Sketch",
9955
+ "category": "display",
9956
+ "variants": [
9957
+ "regular"
9958
+ ],
9959
+ "subsets": [
9960
+ "latin"
9961
+ ],
9962
+ "version": "v7",
9963
+ "lastModified": "2018-11-29",
9964
+ "files": {
9965
+ "regular": "http://fonts.gstatic.com/s/londrinasketch/v7/c4m41npxGMTnomOHtRU68eIJn8qfWWn5Pos6CA.ttf"
9966
+ }
9967
+ },
9968
+ {
9969
+ "kind": "webfonts#webfont",
9970
+ "family": "Londrina Solid",
9971
+ "category": "display",
9972
+ "variants": [
9973
+ "100",
9974
+ "300",
9975
+ "regular",
9976
+ "900"
9977
+ ],
9978
+ "subsets": [
9979
+ "latin"
9980
+ ],
9981
+ "version": "v8",
9982
+ "lastModified": "2019-01-10",
9983
+ "files": {
9984
+ "100": "http://fonts.gstatic.com/s/londrinasolid/v8/flUjRq6sw40kQEJxWNgkLuudGfs9KBYesZHhV64.ttf",
9985
+ "300": "http://fonts.gstatic.com/s/londrinasolid/v8/flUiRq6sw40kQEJxWNgkLuudGfv1CjY0n53oTrcL.ttf",
9986
+ "900": "http://fonts.gstatic.com/s/londrinasolid/v8/flUiRq6sw40kQEJxWNgkLuudGfvdDzY0n53oTrcL.ttf",
9987
+ "regular": "http://fonts.gstatic.com/s/londrinasolid/v8/flUhRq6sw40kQEJxWNgkLuudGcNZIhI8tIHh.ttf"
9988
+ }
9989
+ },
9990
+ {
9991
+ "kind": "webfonts#webfont",
9992
+ "family": "Lora",
9993
+ "category": "serif",
9994
+ "variants": [
9995
+ "regular",
9996
+ "italic",
9997
+ "700",
9998
+ "700italic"
9999
+ ],
10000
+ "subsets": [
10001
+ "latin-ext",
10002
+ "cyrillic-ext",
10003
+ "cyrillic",
10004
+ "vietnamese",
10005
+ "latin"
10006
+ ],
10007
+ "version": "v12",
10008
+ "lastModified": "2017-11-07",
10009
+ "files": {
10010
+ "700": "http://fonts.gstatic.com/s/lora/v12/0QIgMX1D_JOuO7HeBts.ttf",
10011
+ "regular": "http://fonts.gstatic.com/s/lora/v12/0QIvMX1D_JOuAw0.ttf",
10012
+ "italic": "http://fonts.gstatic.com/s/lora/v12/0QIhMX1D_JOuMw_7Jg.ttf",
10013
+ "700italic": "http://fonts.gstatic.com/s/lora/v12/0QIiMX1D_JOuMw_Dmt5unw.ttf"
10014
+ }
10015
+ },
10016
+ {
10017
+ "kind": "webfonts#webfont",
10018
+ "family": "Love Ya Like A Sister",
10019
+ "category": "display",
10020
+ "variants": [
10021
+ "regular"
10022
+ ],
10023
+ "subsets": [
10024
+ "latin"
10025
+ ],
10026
+ "version": "v9",
10027
+ "lastModified": "2019-01-10",
10028
+ "files": {
10029
+ "regular": "http://fonts.gstatic.com/s/loveyalikeasister/v9/R70EjzUBlOqPeouhFDfR80-0FhOqJubN-Be78nZcsGGycA.ttf"
10030
+ }
10031
+ },
10032
+ {
10033
+ "kind": "webfonts#webfont",
10034
+ "family": "Loved by the King",
10035
+ "category": "handwriting",
10036
+ "variants": [
10037
+ "regular"
10038
+ ],
10039
+ "subsets": [
10040
+ "latin"
10041
+ ],
10042
+ "version": "v8",
10043
+ "lastModified": "2019-01-10",
10044
+ "files": {
10045
+ "regular": "http://fonts.gstatic.com/s/lovedbytheking/v8/Gw6gwdP76VDVJNXerebZxUMeRXUF2PiNlXFu2R64.ttf"
10046
+ }
10047
+ },
10048
+ {
10049
+ "kind": "webfonts#webfont",
10050
+ "family": "Lovers Quarrel",
10051
+ "category": "handwriting",
10052
+ "variants": [
10053
+ "regular"
10054
+ ],
10055
+ "subsets": [
10056
+ "latin-ext",
10057
+ "latin"
10058
+ ],
10059
+ "version": "v6",
10060
+ "lastModified": "2018-12-13",
10061
+ "files": {
10062
+ "regular": "http://fonts.gstatic.com/s/loversquarrel/v6/Yq6N-LSKXTL-5bCy8ksBzpQ_-zAsY7pO6siz.ttf"
10063
+ }
10064
+ },
10065
+ {
10066
+ "kind": "webfonts#webfont",
10067
+ "family": "Luckiest Guy",
10068
+ "category": "display",
10069
+ "variants": [
10070
+ "regular"
10071
+ ],
10072
+ "subsets": [
10073
+ "latin"
10074
+ ],
10075
+ "version": "v9",
10076
+ "lastModified": "2019-01-15",
10077
+ "files": {
10078
+ "regular": "http://fonts.gstatic.com/s/luckiestguy/v9/_gP_1RrxsjcxVyin9l9n_j2RStR3qDpraA.ttf"
10079
+ }
10080
+ },
10081
+ {
10082
+ "kind": "webfonts#webfont",
10083
+ "family": "Lusitana",
10084
+ "category": "serif",
10085
+ "variants": [
10086
+ "regular",
10087
+ "700"
10088
+ ],
10089
+ "subsets": [
10090
+ "latin"
10091
+ ],
10092
+ "version": "v6",
10093
+ "lastModified": "2019-01-15",
10094
+ "files": {
10095
+ "700": "http://fonts.gstatic.com/s/lusitana/v6/CSR74z9ShvucWzsMKyDmaccqYtd2vfwk.ttf",
10096
+ "regular": "http://fonts.gstatic.com/s/lusitana/v6/CSR84z9ShvucWzsMKxhaRuMiSct_.ttf"
10097
+ }
10098
+ },
10099
+ {
10100
+ "kind": "webfonts#webfont",
10101
+ "family": "Lustria",
10102
+ "category": "serif",
10103
+ "variants": [
10104
+ "regular"
10105
+ ],
10106
+ "subsets": [
10107
+ "latin"
10108
+ ],
10109
+ "version": "v6",
10110
+ "lastModified": "2019-01-15",
10111
+ "files": {
10112
+ "regular": "http://fonts.gstatic.com/s/lustria/v6/9oRONYodvDEyjuhOrCg5MtPyAcg.ttf"
10113
+ }
10114
+ },
10115
+ {
10116
+ "kind": "webfonts#webfont",
10117
+ "family": "M PLUS 1p",
10118
+ "category": "sans-serif",
10119
+ "variants": [
10120
+ "100",
10121
+ "300",
10122
+ "regular",
10123
+ "500",
10124
+ "700",
10125
+ "800",
10126
+ "900"
10127
+ ],
10128
+ "subsets": [
10129
+ "hebrew",
10130
+ "japanese",
10131
+ "latin-ext",
10132
+ "greek-ext",
10133
+ "cyrillic-ext",
10134
+ "cyrillic",
10135
+ "greek",
10136
+ "vietnamese",
10137
+ "latin"
10138
+ ],
10139
+ "version": "v16",
10140
+ "lastModified": "2019-01-15",
10141
+ "files": {
10142
+ "100": "http://fonts.gstatic.com/s/mplus1p/v16/e3tleuShHdiFyPFzBRrQnDQAUW3aq-5N.ttf",
10143
+ "300": "http://fonts.gstatic.com/s/mplus1p/v16/e3tmeuShHdiFyPFzBRrQVBYge0PWovdU4w.ttf",
10144
+ "500": "http://fonts.gstatic.com/s/mplus1p/v16/e3tmeuShHdiFyPFzBRrQDBcge0PWovdU4w.ttf",
10145
+ "700": "http://fonts.gstatic.com/s/mplus1p/v16/e3tmeuShHdiFyPFzBRrQRBEge0PWovdU4w.ttf",
10146
+ "800": "http://fonts.gstatic.com/s/mplus1p/v16/e3tmeuShHdiFyPFzBRrQWBIge0PWovdU4w.ttf",
10147
+ "900": "http://fonts.gstatic.com/s/mplus1p/v16/e3tmeuShHdiFyPFzBRrQfBMge0PWovdU4w.ttf",
10148
+ "regular": "http://fonts.gstatic.com/s/mplus1p/v16/e3tjeuShHdiFyPFzBRro-D4Ec2jKqw.ttf"
10149
+ }
10150
+ },
10151
+ {
10152
+ "kind": "webfonts#webfont",
10153
+ "family": "M PLUS Rounded 1c",
10154
+ "category": "sans-serif",
10155
+ "variants": [
10156
+ "100",
10157
+ "300",
10158
+ "regular",
10159
+ "500",
10160
+ "700",
10161
+ "800",
10162
+ "900"
10163
+ ],
10164
+ "subsets": [
10165
+ "hebrew",
10166
+ "japanese",
10167
+ "latin-ext",
10168
+ "greek-ext",
10169
+ "cyrillic-ext",
10170
+ "cyrillic",
10171
+ "greek",
10172
+ "vietnamese",
10173
+ "latin"
10174
+ ],
10175
+ "version": "v7",
10176
+ "lastModified": "2019-01-10",
10177
+ "files": {
10178
+ "100": "http://fonts.gstatic.com/s/mplusrounded1c/v7/VdGCAYIAV6gnpUpoWwNkYvrugw9RuM3ixLsg6-av1x0.ttf",
10179
+ "300": "http://fonts.gstatic.com/s/mplusrounded1c/v7/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM0q5psKxeqmzgRK.ttf",
10180
+ "500": "http://fonts.gstatic.com/s/mplusrounded1c/v7/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM1y55sKxeqmzgRK.ttf",
10181
+ "700": "http://fonts.gstatic.com/s/mplusrounded1c/v7/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM064ZsKxeqmzgRK.ttf",
10182
+ "800": "http://fonts.gstatic.com/s/mplusrounded1c/v7/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM0m4psKxeqmzgRK.ttf",
10183
+ "900": "http://fonts.gstatic.com/s/mplusrounded1c/v7/VdGBAYIAV6gnpUpoWwNkYvrugw9RuM0C45sKxeqmzgRK.ttf",
10184
+ "regular": "http://fonts.gstatic.com/s/mplusrounded1c/v7/VdGEAYIAV6gnpUpoWwNkYvrugw9RuPWGzr8C7vav.ttf"
10185
+ }
10186
+ },
10187
+ {
10188
+ "kind": "webfonts#webfont",
10189
+ "family": "Macondo",
10190
+ "category": "display",
10191
+ "variants": [
10192
+ "regular"
10193
+ ],
10194
+ "subsets": [
10195
+ "latin"
10196
+ ],
10197
+ "version": "v7",
10198
+ "lastModified": "2018-12-13",
10199
+ "files": {
10200
+ "regular": "http://fonts.gstatic.com/s/macondo/v7/RrQQboN9-iB1IXmOS2XO0LBBd4Y.ttf"
10201
+ }
10202
+ },
10203
+ {
10204
+ "kind": "webfonts#webfont",
10205
+ "family": "Macondo Swash Caps",
10206
+ "category": "display",
10207
+ "variants": [
10208
+ "regular"
10209
+ ],
10210
+ "subsets": [
10211
+ "latin"
10212
+ ],
10213
+ "version": "v6",
10214
+ "lastModified": "2018-11-29",
10215
+ "files": {
10216
+ "regular": "http://fonts.gstatic.com/s/macondoswashcaps/v6/6NUL8EaAJgGKZA7lpt941Z9s6ZYgDq6Oekoa_mm5bA.ttf"
10217
+ }
10218
+ },
10219
+ {
10220
+ "kind": "webfonts#webfont",
10221
+ "family": "Mada",
10222
+ "category": "sans-serif",
10223
+ "variants": [
10224
+ "200",
10225
+ "300",
10226
+ "regular",
10227
+ "500",
10228
+ "600",
10229
+ "700",
10230
+ "900"
10231
+ ],
10232
+ "subsets": [
10233
+ "arabic",
10234
+ "latin"
10235
+ ],
10236
+ "version": "v7",
10237
+ "lastModified": "2019-01-10",
10238
+ "files": {
10239
+ "200": "http://fonts.gstatic.com/s/mada/v7/7Au_p_0qnzeSdf3nCCL8zkwMIFg.ttf",
10240
+ "300": "http://fonts.gstatic.com/s/mada/v7/7Au_p_0qnzeSdZnkCCL8zkwMIFg.ttf",
10241
+ "500": "http://fonts.gstatic.com/s/mada/v7/7Au_p_0qnzeSdcHlCCL8zkwMIFg.ttf",
10242
+ "600": "http://fonts.gstatic.com/s/mada/v7/7Au_p_0qnzeSde3iCCL8zkwMIFg.ttf",
10243
+ "700": "http://fonts.gstatic.com/s/mada/v7/7Au_p_0qnzeSdYnjCCL8zkwMIFg.ttf",
10244
+ "900": "http://fonts.gstatic.com/s/mada/v7/7Au_p_0qnzeSdbHhCCL8zkwMIFg.ttf",
10245
+ "regular": "http://fonts.gstatic.com/s/mada/v7/7Auwp_0qnzeSTTXMLCrX0kU.ttf"
10246
+ }
10247
+ },
10248
+ {
10249
+ "kind": "webfonts#webfont",
10250
+ "family": "Magra",
10251
+ "category": "sans-serif",
10252
+ "variants": [
10253
+ "regular",
10254
+ "700"
10255
+ ],
10256
+ "subsets": [
10257
+ "latin-ext",
10258
+ "latin"
10259
+ ],
10260
+ "version": "v7",
10261
+ "lastModified": "2019-01-15",
10262
+ "files": {
10263
+ "700": "http://fonts.gstatic.com/s/magra/v7/uK_w4ruaZus72nbNDxcXEPuUX1ow.ttf",
10264
+ "regular": "http://fonts.gstatic.com/s/magra/v7/uK_94ruaZus72k5xIDMfO-ed.ttf"
10265
+ }
10266
+ },
10267
+ {
10268
+ "kind": "webfonts#webfont",
10269
+ "family": "Maiden Orange",
10270
+ "category": "display",
10271
+ "variants": [
10272
+ "regular"
10273
+ ],
10274
+ "subsets": [
10275
+ "latin"
10276
+ ],
10277
+ "version": "v9",
10278
+ "lastModified": "2018-12-13",
10279
+ "files": {
10280
+ "regular": "http://fonts.gstatic.com/s/maidenorange/v9/kJE1BuIX7AUmhi2V4m08kb1XjOZdCZS8FY8.ttf"
10281
+ }
10282
+ },
10283
+ {
10284
+ "kind": "webfonts#webfont",
10285
+ "family": "Maitree",
10286
+ "category": "serif",
10287
+ "variants": [
10288
+ "200",
10289
+ "300",
10290
+ "regular",
10291
+ "500",
10292
+ "600",
10293
+ "700"
10294
+ ],
10295
+ "subsets": [
10296
+ "latin-ext",
10297
+ "thai",
10298
+ "vietnamese",
10299
+ "latin"
10300
+ ],
10301
+ "version": "v3",
10302
+ "lastModified": "2019-01-10",
10303
+ "files": {
10304
+ "200": "http://fonts.gstatic.com/s/maitree/v3/MjQDmil5tffhpBrklhGNWJGovLdh6OE.ttf",
10305
+ "300": "http://fonts.gstatic.com/s/maitree/v3/MjQDmil5tffhpBrklnWOWJGovLdh6OE.ttf",
10306
+ "500": "http://fonts.gstatic.com/s/maitree/v3/MjQDmil5tffhpBrkli2PWJGovLdh6OE.ttf",
10307
+ "600": "http://fonts.gstatic.com/s/maitree/v3/MjQDmil5tffhpBrklgGIWJGovLdh6OE.ttf",
10308
+ "700": "http://fonts.gstatic.com/s/maitree/v3/MjQDmil5tffhpBrklmWJWJGovLdh6OE.ttf",
10309
+ "regular": "http://fonts.gstatic.com/s/maitree/v3/MjQGmil5tffhpBrkrtmmfJmDoL4.ttf"
10310
+ }
10311
+ },
10312
+ {
10313
+ "kind": "webfonts#webfont",
10314
+ "family": "Major Mono Display",
10315
+ "category": "monospace",
10316
+ "variants": [
10317
+ "regular"
10318
+ ],
10319
+ "subsets": [
10320
+ "latin-ext",
10321
+ "vietnamese",
10322
+ "latin"
10323
+ ],
10324
+ "version": "v2",
10325
+ "lastModified": "2019-01-10",
10326
+ "files": {
10327
+ "regular": "http://fonts.gstatic.com/s/majormonodisplay/v2/RWmVoLyb5fEqtsfBX9PDZIGr2tFubRhLCn2QIndPww.ttf"
10328
+ }
10329
+ },
10330
+ {
10331
+ "kind": "webfonts#webfont",
10332
+ "family": "Mako",
10333
+ "category": "sans-serif",
10334
+ "variants": [
10335
+ "regular"
10336
+ ],
10337
+ "subsets": [
10338
+ "latin"
10339
+ ],
10340
+ "version": "v10",
10341
+ "lastModified": "2019-01-10",
10342
+ "files": {
10343
+ "regular": "http://fonts.gstatic.com/s/mako/v10/H4coBX6Mmc_Z0ST09g478Lo.ttf"
10344
+ }
10345
+ },
10346
+ {
10347
+ "kind": "webfonts#webfont",
10348
+ "family": "Mali",
10349
+ "category": "handwriting",
10350
+ "variants": [
10351
+ "200",
10352
+ "200italic",
10353
+ "300",
10354
+ "300italic",
10355
+ "regular",
10356
+ "italic",
10357
+ "500",
10358
+ "500italic",
10359
+ "600",
10360
+ "600italic",
10361
+ "700",
10362
+ "700italic"
10363
+ ],
10364
+ "subsets": [
10365
+ "latin-ext",
10366
+ "thai",
10367
+ "vietnamese",
10368
+ "latin"
10369
+ ],
10370
+ "version": "v2",
10371
+ "lastModified": "2018-12-13",
10372
+ "files": {
10373
+ "200": "http://fonts.gstatic.com/s/mali/v2/N0bV2SRONuN4QOLlKlRaJdbWgdY.ttf",
10374
+ "300": "http://fonts.gstatic.com/s/mali/v2/N0bV2SRONuN4QIbmKlRaJdbWgdY.ttf",
10375
+ "500": "http://fonts.gstatic.com/s/mali/v2/N0bV2SRONuN4QN7nKlRaJdbWgdY.ttf",
10376
+ "600": "http://fonts.gstatic.com/s/mali/v2/N0bV2SRONuN4QPLgKlRaJdbWgdY.ttf",
10377
+ "700": "http://fonts.gstatic.com/s/mali/v2/N0bV2SRONuN4QJbhKlRaJdbWgdY.ttf",
10378
+ "200italic": "http://fonts.gstatic.com/s/mali/v2/N0bX2SRONuN4SCj8wlVQIfTTkdbJYA.ttf",
10379
+ "300italic": "http://fonts.gstatic.com/s/mali/v2/N0bX2SRONuN4SCj8plZQIfTTkdbJYA.ttf",
10380
+ "regular": "http://fonts.gstatic.com/s/mali/v2/N0ba2SRONuN4eCrODlxxOd8.ttf",
10381
+ "italic": "http://fonts.gstatic.com/s/mali/v2/N0bU2SRONuN4SCjECn50Kd_PmA.ttf",
10382
+ "500italic": "http://fonts.gstatic.com/s/mali/v2/N0bX2SRONuN4SCj8_ldQIfTTkdbJYA.ttf",
10383
+ "600italic": "http://fonts.gstatic.com/s/mali/v2/N0bX2SRONuN4SCj80lBQIfTTkdbJYA.ttf",
10384
+ "700italic": "http://fonts.gstatic.com/s/mali/v2/N0bX2SRONuN4SCj8tlFQIfTTkdbJYA.ttf"
10385
+ }
10386
+ },
10387
+ {
10388
+ "kind": "webfonts#webfont",
10389
+ "family": "Mallanna",
10390
+ "category": "sans-serif",
10391
+ "variants": [
10392
+ "regular"
10393
+ ],
10394
+ "subsets": [
10395
+ "telugu",
10396
+ "latin"
10397
+ ],
10398
+ "version": "v6",
10399
+ "lastModified": "2019-01-10",
10400
+ "files": {
10401
+ "regular": "http://fonts.gstatic.com/s/mallanna/v6/hv-Vlzx-KEQb84YaDGwzEzRwVvJ-.ttf"
10402
+ }
10403
+ },
10404
+ {
10405
+ "kind": "webfonts#webfont",
10406
+ "family": "Mandali",
10407
+ "category": "sans-serif",
10408
+ "variants": [
10409
+ "regular"
10410
+ ],
10411
+ "subsets": [
10412
+ "telugu",
10413
+ "latin"
10414
+ ],
10415
+ "version": "v7",
10416
+ "lastModified": "2018-12-13",
10417
+ "files": {
10418
+ "regular": "http://fonts.gstatic.com/s/mandali/v7/LhWlMVbYOfASNfNUVFk1ZPdcKtA.ttf"
10419
+ }
10420
+ },
10421
+ {
10422
+ "kind": "webfonts#webfont",
10423
+ "family": "Manuale",
10424
+ "category": "serif",
10425
+ "variants": [
10426
+ "regular",
10427
+ "italic",
10428
+ "500",
10429
+ "500italic",
10430
+ "600",
10431
+ "600italic",
10432
+ "700",
10433
+ "700italic"
10434
+ ],
10435
+ "subsets": [
10436
+ "latin-ext",
10437
+ "vietnamese",
10438
+ "latin"
10439
+ ],
10440
+ "version": "v3",
10441
+ "lastModified": "2018-12-13",
10442
+ "files": {
10443
+ "500": "http://fonts.gstatic.com/s/manuale/v3/f0Xz0eas_8Z-TFZdPALt58Ht9a8GYeA.ttf",
10444
+ "600": "http://fonts.gstatic.com/s/manuale/v3/f0Xz0eas_8Z-TFZdPC7q58Ht9a8GYeA.ttf",
10445
+ "700": "http://fonts.gstatic.com/s/manuale/v3/f0Xz0eas_8Z-TFZdPErr58Ht9a8GYeA.ttf",
10446
+ "regular": "http://fonts.gstatic.com/s/manuale/v3/f0X20eas_8Z-TFZdBPbEw8nG6aY.ttf",
10447
+ "italic": "http://fonts.gstatic.com/s/manuale/v3/f0X00eas_8Z-TFZdNPTOx-vD-aYfeA.ttf",
10448
+ "500italic": "http://fonts.gstatic.com/s/manuale/v3/f0Xx0eas_8Z-TFZdNPT2M8Ln8Y0DceA0OQ.ttf",
10449
+ "600italic": "http://fonts.gstatic.com/s/manuale/v3/f0Xx0eas_8Z-TFZdNPT2H8Xn8Y0DceA0OQ.ttf",
10450
+ "700italic": "http://fonts.gstatic.com/s/manuale/v3/f0Xx0eas_8Z-TFZdNPT2e8Tn8Y0DceA0OQ.ttf"
10451
+ }
10452
+ },
10453
+ {
10454
+ "kind": "webfonts#webfont",
10455
+ "family": "Marcellus",
10456
+ "category": "serif",
10457
+ "variants": [
10458
+ "regular"
10459
+ ],
10460
+ "subsets": [
10461
+ "latin-ext",
10462
+ "latin"
10463
+ ],
10464
+ "version": "v6",
10465
+ "lastModified": "2019-01-15",
10466
+ "files": {
10467
+ "regular": "http://fonts.gstatic.com/s/marcellus/v6/wEO_EBrOk8hQLDvIAF8FUfAL3EsHiA.ttf"
10468
+ }
10469
+ },
10470
+ {
10471
+ "kind": "webfonts#webfont",
10472
+ "family": "Marcellus SC",
10473
+ "category": "serif",
10474
+ "variants": [
10475
+ "regular"
10476
+ ],
10477
+ "subsets": [
10478
+ "latin-ext",
10479
+ "latin"
10480
+ ],
10481
+ "version": "v6",
10482
+ "lastModified": "2019-01-10",
10483
+ "files": {
10484
+ "regular": "http://fonts.gstatic.com/s/marcellussc/v6/ke8iOgUHP1dg-Rmi6RWjbLEPgdydGKikhA.ttf"
10485
+ }
10486
+ },
10487
+ {
10488
+ "kind": "webfonts#webfont",
10489
+ "family": "Marck Script",
10490
+ "category": "handwriting",
10491
+ "variants": [
10492
+ "regular"
10493
+ ],
10494
+ "subsets": [
10495
+ "latin-ext",
10496
+ "cyrillic",
10497
+ "latin"
10498
+ ],
10499
+ "version": "v9",
10500
+ "lastModified": "2019-01-15",
10501
+ "files": {
10502
+ "regular": "http://fonts.gstatic.com/s/marckscript/v9/nwpTtK2oNgBA3Or78gapdwuCzyI-aMPF7Q.ttf"
10503
+ }
10504
+ },
10505
+ {
10506
+ "kind": "webfonts#webfont",
10507
+ "family": "Margarine",
10508
+ "category": "display",
10509
+ "variants": [
10510
+ "regular"
10511
+ ],
10512
+ "subsets": [
10513
+ "latin-ext",
10514
+ "latin"
10515
+ ],
10516
+ "version": "v7",
10517
+ "lastModified": "2018-11-29",
10518
+ "files": {
10519
+ "regular": "http://fonts.gstatic.com/s/margarine/v7/qkBXXvoE6trLT9Y7YLye5JRLkAXbMQ.ttf"
10520
+ }
10521
+ },
10522
+ {
10523
+ "kind": "webfonts#webfont",
10524
+ "family": "Markazi Text",
10525
+ "category": "serif",
10526
+ "variants": [
10527
+ "regular",
10528
+ "500",
10529
+ "600",
10530
+ "700"
10531
+ ],
10532
+ "subsets": [
10533
+ "arabic",
10534
+ "latin-ext",
10535
+ "vietnamese",
10536
+ "latin"
10537
+ ],
10538
+ "version": "v4",
10539
+ "lastModified": "2018-12-13",
10540
+ "files": {
10541
+ "500": "http://fonts.gstatic.com/s/markazitext/v4/sykh-ydym6AtQaiEtX7yhqb_rV1k_81ZVYYZtcaQT4M.ttf",
10542
+ "600": "http://fonts.gstatic.com/s/markazitext/v4/sykh-ydym6AtQaiEtX7yhqb_rV1k_81ZVYYZtSqXT4M.ttf",
10543
+ "700": "http://fonts.gstatic.com/s/markazitext/v4/sykh-ydym6AtQaiEtX7yhqb_rV1k_81ZVYYZtROXT4M.ttf",
10544
+ "regular": "http://fonts.gstatic.com/s/markazitext/v4/sykh-ydym6AtQaiEtX7yhqb_rV1k_81ZVYYZtfSQT4M.ttf"
10545
+ }
10546
+ },
10547
+ {
10548
+ "kind": "webfonts#webfont",
10549
+ "family": "Marko One",
10550
+ "category": "serif",
10551
+ "variants": [
10552
+ "regular"
10553
+ ],
10554
+ "subsets": [
10555
+ "latin"
10556
+ ],
10557
+ "version": "v8",
10558
+ "lastModified": "2018-12-13",
10559
+ "files": {
10560
+ "regular": "http://fonts.gstatic.com/s/markoone/v8/9Btq3DFG0cnVM5lw1haaKpUfrHPzUw.ttf"
10561
+ }
10562
+ },
10563
+ {
10564
+ "kind": "webfonts#webfont",
10565
+ "family": "Marmelad",
10566
+ "category": "sans-serif",
10567
+ "variants": [
10568
+ "regular"
10569
+ ],
10570
+ "subsets": [
10571
+ "latin-ext",
10572
+ "cyrillic",
10573
+ "latin"
10574
+ ],
10575
+ "version": "v8",
10576
+ "lastModified": "2019-01-10",
10577
+ "files": {
10578
+ "regular": "http://fonts.gstatic.com/s/marmelad/v8/Qw3eZQdSHj_jK2e-8tFLG-YMC0R8.ttf"
10579
+ }
10580
+ },
10581
+ {
10582
+ "kind": "webfonts#webfont",
10583
+ "family": "Martel",
10584
+ "category": "serif",
10585
+ "variants": [
10586
+ "200",
10587
+ "300",
10588
+ "regular",
10589
+ "600",
10590
+ "700",
10591
+ "800",
10592
+ "900"
10593
+ ],
10594
+ "subsets": [
10595
+ "latin-ext",
10596
+ "devanagari",
10597
+ "latin"
10598
+ ],
10599
+ "version": "v3",
10600
+ "lastModified": "2019-01-15",
10601
+ "files": {
10602
+ "200": "http://fonts.gstatic.com/s/martel/v3/PN_yRfK9oXHga0XVqekahRbX9vnDzw.ttf",
10603
+ "300": "http://fonts.gstatic.com/s/martel/v3/PN_yRfK9oXHga0XVzeoahRbX9vnDzw.ttf",
10604
+ "600": "http://fonts.gstatic.com/s/martel/v3/PN_yRfK9oXHga0XVuewahRbX9vnDzw.ttf",
10605
+ "700": "http://fonts.gstatic.com/s/martel/v3/PN_yRfK9oXHga0XV3e0ahRbX9vnDzw.ttf",
10606
+ "800": "http://fonts.gstatic.com/s/martel/v3/PN_yRfK9oXHga0XVwe4ahRbX9vnDzw.ttf",
10607
+ "900": "http://fonts.gstatic.com/s/martel/v3/PN_yRfK9oXHga0XV5e8ahRbX9vnDzw.ttf",
10608
+ "regular": "http://fonts.gstatic.com/s/martel/v3/PN_xRfK9oXHga0XtYcI-jT3L_w.ttf"
10609
+ }
10610
+ },
10611
+ {
10612
+ "kind": "webfonts#webfont",
10613
+ "family": "Martel Sans",
10614
+ "category": "sans-serif",
10615
+ "variants": [
10616
+ "200",
10617
+ "300",
10618
+ "regular",
10619
+ "600",
10620
+ "700",
10621
+ "800",
10622
+ "900"
10623
+ ],
10624
+ "subsets": [
10625
+ "latin-ext",
10626
+ "devanagari",
10627
+ "latin"
10628
+ ],
10629
+ "version": "v5",
10630
+ "lastModified": "2019-01-10",
10631
+ "files": {
10632
+ "200": "http://fonts.gstatic.com/s/martelsans/v5/h0GxssGi7VdzDgKjM-4d8hAX5suHFUknqMxQ.ttf",
10633
+ "300": "http://fonts.gstatic.com/s/martelsans/v5/h0GxssGi7VdzDgKjM-4d8hBz5cuHFUknqMxQ.ttf",
10634
+ "600": "http://fonts.gstatic.com/s/martelsans/v5/h0GxssGi7VdzDgKjM-4d8hAH48uHFUknqMxQ.ttf",
10635
+ "700": "http://fonts.gstatic.com/s/martelsans/v5/h0GxssGi7VdzDgKjM-4d8hBj4suHFUknqMxQ.ttf",
10636
+ "800": "http://fonts.gstatic.com/s/martelsans/v5/h0GxssGi7VdzDgKjM-4d8hB_4cuHFUknqMxQ.ttf",
10637
+ "900": "http://fonts.gstatic.com/s/martelsans/v5/h0GxssGi7VdzDgKjM-4d8hBb4MuHFUknqMxQ.ttf",
10638
+ "regular": "http://fonts.gstatic.com/s/martelsans/v5/h0GsssGi7VdzDgKjM-4d8ijfze-PPlUu.ttf"
10639
+ }
10640
+ },
10641
+ {
10642
+ "kind": "webfonts#webfont",
10643
+ "family": "Marvel",
10644
+ "category": "sans-serif",
10645
+ "variants": [
10646
+ "regular",
10647
+ "italic",
10648
+ "700",
10649
+ "700italic"
10650
+ ],
10651
+ "subsets": [
10652
+ "latin"
10653
+ ],
10654
+ "version": "v8",
10655
+ "lastModified": "2019-01-10",
10656
+ "files": {
10657
+ "700": "http://fonts.gstatic.com/s/marvel/v8/nwpWtKeoNgBV0qawLXHgB1WmxwkiYQ.ttf",
10658
+ "regular": "http://fonts.gstatic.com/s/marvel/v8/nwpVtKeoNgBV0qaIkV7ED366zg.ttf",
10659
+ "italic": "http://fonts.gstatic.com/s/marvel/v8/nwpXtKeoNgBV0qa4k1TALXuqzhA7.ttf",
10660
+ "700italic": "http://fonts.gstatic.com/s/marvel/v8/nwpQtKeoNgBV0qa4k2x8Al-i5QwyYdrc.ttf"
10661
+ }
10662
+ },
10663
+ {
10664
+ "kind": "webfonts#webfont",
10665
+ "family": "Mate",
10666
+ "category": "serif",
10667
+ "variants": [
10668
+ "regular",
10669
+ "italic"
10670
+ ],
10671
+ "subsets": [
10672
+ "latin"
10673
+ ],
10674
+ "version": "v7",
10675
+ "lastModified": "2019-01-10",
10676
+ "files": {
10677
+ "regular": "http://fonts.gstatic.com/s/mate/v7/m8JdjftRd7WZ2z28WoXSaLU.ttf",
10678
+ "italic": "http://fonts.gstatic.com/s/mate/v7/m8JTjftRd7WZ6z-2XqfXeLVdbw.ttf"
10679
+ }
10680
+ },
10681
+ {
10682
+ "kind": "webfonts#webfont",
10683
+ "family": "Mate SC",
10684
+ "category": "serif",
10685
+ "variants": [
10686
+ "regular"
10687
+ ],
10688
+ "subsets": [
10689
+ "latin"
10690
+ ],
10691
+ "version": "v7",
10692
+ "lastModified": "2018-12-13",
10693
+ "files": {
10694
+ "regular": "http://fonts.gstatic.com/s/matesc/v7/-nF8OGQ1-uoVr2wKyiXZ95OkJwA.ttf"
10695
+ }
10696
+ },
10697
+ {
10698
+ "kind": "webfonts#webfont",
10699
+ "family": "Maven Pro",
10700
+ "category": "sans-serif",
10701
+ "variants": [
10702
+ "regular",
10703
+ "500",
10704
+ "700",
10705
+ "900"
10706
+ ],
10707
+ "subsets": [
10708
+ "latin-ext",
10709
+ "vietnamese",
10710
+ "latin"
10711
+ ],
10712
+ "version": "v11",
10713
+ "lastModified": "2017-11-21",
10714
+ "files": {
10715
+ "500": "http://fonts.gstatic.com/s/mavenpro/v11/7Au4p_AqnyWWAxW2Wk3OPkctOA.ttf",
10716
+ "700": "http://fonts.gstatic.com/s/mavenpro/v11/7Au4p_AqnyWWAxW2Wk3OdkEtOA.ttf",
10717
+ "900": "http://fonts.gstatic.com/s/mavenpro/v11/7Au4p_AqnyWWAxW2Wk3OTkMtOA.ttf",
10718
+ "regular": "http://fonts.gstatic.com/s/mavenpro/v11/7Au9p_AqnyWWAxW2Wk32yg.ttf"
10719
+ }
10720
+ },
10721
+ {
10722
+ "kind": "webfonts#webfont",
10723
+ "family": "McLaren",
10724
+ "category": "display",
10725
+ "variants": [
10726
+ "regular"
10727
+ ],
10728
+ "subsets": [
10729
+ "latin-ext",
10730
+ "latin"
10731
+ ],
10732
+ "version": "v6",
10733
+ "lastModified": "2019-01-10",
10734
+ "files": {
10735
+ "regular": "http://fonts.gstatic.com/s/mclaren/v6/2EbnL-ZuAXFqZFXISYYf8z2Yt_c.ttf"
10736
+ }
10737
+ },
10738
+ {
10739
+ "kind": "webfonts#webfont",
10740
+ "family": "Meddon",
10741
+ "category": "handwriting",
10742
+ "variants": [
10743
+ "regular"
10744
+ ],
10745
+ "subsets": [
10746
+ "latin"
10747
+ ],
10748
+ "version": "v11",
10749
+ "lastModified": "2019-01-10",
10750
+ "files": {
10751
+ "regular": "http://fonts.gstatic.com/s/meddon/v11/kmK8ZqA2EgDNeHTZhBdB3y_Aow.ttf"
10752
+ }
10753
+ },
10754
+ {
10755
+ "kind": "webfonts#webfont",
10756
+ "family": "MedievalSharp",
10757
+ "category": "display",
10758
+ "variants": [
10759
+ "regular"
10760
+ ],
10761
+ "subsets": [
10762
+ "latin-ext",
10763
+ "latin"
10764
+ ],
10765
+ "version": "v11",
10766
+ "lastModified": "2018-12-13",
10767
+ "files": {
10768
+ "regular": "http://fonts.gstatic.com/s/medievalsharp/v11/EvOJzAlL3oU5AQl2mP5KdgptAq96MwvXLDk.ttf"
10769
+ }
10770
+ },
10771
+ {
10772
+ "kind": "webfonts#webfont",
10773
+ "family": "Medula One",
10774
+ "category": "display",
10775
+ "variants": [
10776
+ "regular"
10777
+ ],
10778
+ "subsets": [
10779
+ "latin"
10780
+ ],
10781
+ "version": "v8",
10782
+ "lastModified": "2019-01-10",
10783
+ "files": {
10784
+ "regular": "http://fonts.gstatic.com/s/medulaone/v8/YA9Wr0qb5kjJM6l2V0yukiEqs7GtlvY.ttf"
10785
+ }
10786
+ },
10787
+ {
10788
+ "kind": "webfonts#webfont",
10789
+ "family": "Meera Inimai",
10790
+ "category": "sans-serif",
10791
+ "variants": [
10792
+ "regular"
10793
+ ],
10794
+ "subsets": [
10795
+ "tamil",
10796
+ "latin"
10797
+ ],
10798
+ "version": "v3",
10799
+ "lastModified": "2018-12-13",
10800
+ "files": {
10801
+ "regular": "http://fonts.gstatic.com/s/meerainimai/v3/845fNMM5EIqOW5MPuvO3ILep_2jDVevnLQ.ttf"
10802
+ }
10803
+ },
10804
+ {
10805
+ "kind": "webfonts#webfont",
10806
+ "family": "Megrim",
10807
+ "category": "display",
10808
+ "variants": [
10809
+ "regular"
10810
+ ],
10811
+ "subsets": [
10812
+ "latin"
10813
+ ],
10814
+ "version": "v9",
10815
+ "lastModified": "2019-01-10",
10816
+ "files": {
10817
+ "regular": "http://fonts.gstatic.com/s/megrim/v9/46kulbz5WjvLqJZlbWXgd0RY1g.ttf"
10818
+ }
10819
+ },
10820
+ {
10821
+ "kind": "webfonts#webfont",
10822
+ "family": "Meie Script",
10823
+ "category": "handwriting",
10824
+ "variants": [
10825
+ "regular"
10826
+ ],
10827
+ "subsets": [
10828
+ "latin-ext",
10829
+ "latin"
10830
+ ],
10831
+ "version": "v6",
10832
+ "lastModified": "2018-12-13",
10833
+ "files": {
10834
+ "regular": "http://fonts.gstatic.com/s/meiescript/v6/_LOImzDK7erRjhunIspaMjxn5IXg0WDz.ttf"
10835
+ }
10836
+ },
10837
+ {
10838
+ "kind": "webfonts#webfont",
10839
+ "family": "Merienda",
10840
+ "category": "handwriting",
10841
+ "variants": [
10842
+ "regular",
10843
+ "700"
10844
+ ],
10845
+ "subsets": [
10846
+ "latin-ext",
10847
+ "latin"
10848
+ ],
10849
+ "version": "v7",
10850
+ "lastModified": "2019-01-15",
10851
+ "files": {
10852
+ "700": "http://fonts.gstatic.com/s/merienda/v7/gNMAW3x8Qoy5_mf8uWu-Fa-y1sfpPES4.ttf",
10853
+ "regular": "http://fonts.gstatic.com/s/merienda/v7/gNMHW3x8Qoy5_mf8uVMCOou6_dvg.ttf"
10854
+ }
10855
+ },
10856
+ {
10857
+ "kind": "webfonts#webfont",
10858
+ "family": "Merienda One",
10859
+ "category": "handwriting",
10860
+ "variants": [
10861
+ "regular"
10862
+ ],
10863
+ "subsets": [
10864
+ "latin"
10865
+ ],
10866
+ "version": "v9",
10867
+ "lastModified": "2019-01-10",
10868
+ "files": {
10869
+ "regular": "http://fonts.gstatic.com/s/meriendaone/v9/H4cgBXaMndbflEq6kyZ1ht6YgoyyYzFzFw.ttf"
10870
+ }
10871
+ },
10872
+ {
10873
+ "kind": "webfonts#webfont",
10874
+ "family": "Merriweather",
10875
+ "category": "serif",
10876
+ "variants": [
10877
+ "300",
10878
+ "300italic",
10879
+ "regular",
10880
+ "italic",
10881
+ "700",
10882
+ "700italic",
10883
+ "900",
10884
+ "900italic"
10885
+ ],
10886
+ "subsets": [
10887
+ "latin-ext",
10888
+ "cyrillic-ext",
10889
+ "cyrillic",
10890
+ "vietnamese",
10891
+ "latin"
10892
+ ],
10893
+ "version": "v19",
10894
+ "lastModified": "2017-11-07",
10895
+ "files": {
10896
+ "300": "http://fonts.gstatic.com/s/merriweather/v19/u-4n0qyriQwlOrhSvowK_l521wRpXw.ttf",
10897
+ "700": "http://fonts.gstatic.com/s/merriweather/v19/u-4n0qyriQwlOrhSvowK_l52xwNpXw.ttf",
10898
+ "900": "http://fonts.gstatic.com/s/merriweather/v19/u-4n0qyriQwlOrhSvowK_l52_wFpXw.ttf",
10899
+ "300italic": "http://fonts.gstatic.com/s/merriweather/v19/u-4l0qyriQwlOrhSvowK_l5-eR7lXcf_.ttf",
10900
+ "regular": "http://fonts.gstatic.com/s/merriweather/v19/u-440qyriQwlOrhSvowK_l5Oew.ttf",
10901
+ "italic": "http://fonts.gstatic.com/s/merriweather/v19/u-4m0qyriQwlOrhSvowK_l5-eSZJ.ttf",
10902
+ "700italic": "http://fonts.gstatic.com/s/merriweather/v19/u-4l0qyriQwlOrhSvowK_l5-eR71Wsf_.ttf",
10903
+ "900italic": "http://fonts.gstatic.com/s/merriweather/v19/u-4l0qyriQwlOrhSvowK_l5-eR7NWMf_.ttf"
10904
+ }
10905
+ },
10906
+ {
10907
+ "kind": "webfonts#webfont",
10908
+ "family": "Merriweather Sans",
10909
+ "category": "sans-serif",
10910
+ "variants": [
10911
+ "300",
10912
+ "300italic",
10913
+ "regular",
10914
+ "italic",
10915
+ "700",
10916
+ "700italic",
10917
+ "800",
10918
+ "800italic"
10919
+ ],
10920
+ "subsets": [
10921
+ "latin-ext",
10922
+ "latin"
10923
+ ],
10924
+ "version": "v9",
10925
+ "lastModified": "2017-10-10",
10926
+ "files": {
10927
+ "300": "http://fonts.gstatic.com/s/merriweathersans/v9/2-c49IRs1JiJN1FRAMjTN5zd9vgsFH1eYBDD.ttf",
10928
+ "700": "http://fonts.gstatic.com/s/merriweathersans/v9/2-c49IRs1JiJN1FRAMjTN5zd9vgsFH1OZxDD.ttf",
10929
+ "800": "http://fonts.gstatic.com/s/merriweathersans/v9/2-c49IRs1JiJN1FRAMjTN5zd9vgsFH1SZBDD.ttf",
10930
+ "300italic": "http://fonts.gstatic.com/s/merriweathersans/v9/2-c29IRs1JiJN1FRAMjTN5zd9vgsFHXwepzB0hM.ttf",
10931
+ "regular": "http://fonts.gstatic.com/s/merriweathersans/v9/2-c99IRs1JiJN1FRAMjTN5zd9vgsFEXy.ttf",
10932
+ "italic": "http://fonts.gstatic.com/s/merriweathersans/v9/2-c79IRs1JiJN1FRAMjTN5zd9vgsFHXwQjA.ttf",
10933
+ "700italic": "http://fonts.gstatic.com/s/merriweathersans/v9/2-c29IRs1JiJN1FRAMjTN5zd9vgsFHXweozG0hM.ttf",
10934
+ "800italic": "http://fonts.gstatic.com/s/merriweathersans/v9/2-c29IRs1JiJN1FRAMjTN5zd9vgsFHXwepDF0hM.ttf"
10935
+ }
10936
+ },
10937
+ {
10938
+ "kind": "webfonts#webfont",
10939
+ "family": "Metal",
10940
+ "category": "display",
10941
+ "variants": [
10942
+ "regular"
10943
+ ],
10944
+ "subsets": [
10945
+ "khmer"
10946
+ ],
10947
+ "version": "v11",
10948
+ "lastModified": "2018-11-29",
10949
+ "files": {
10950
+ "regular": "http://fonts.gstatic.com/s/metal/v11/lW-wwjUJIXTo7i3nnoQAUdN2.ttf"
10951
+ }
10952
+ },
10953
+ {
10954
+ "kind": "webfonts#webfont",
10955
+ "family": "Metal Mania",
10956
+ "category": "display",
10957
+ "variants": [
10958
+ "regular"
10959
+ ],
10960
+ "subsets": [
10961
+ "latin-ext",
10962
+ "latin"
10963
+ ],
10964
+ "version": "v8",
10965
+ "lastModified": "2018-12-13",
10966
+ "files": {
10967
+ "regular": "http://fonts.gstatic.com/s/metalmania/v8/RWmMoKWb4e8kqMfBUdPFJeXCg6UKDXlq.ttf"
10968
+ }
10969
+ },
10970
+ {
10971
+ "kind": "webfonts#webfont",
10972
+ "family": "Metamorphous",
10973
+ "category": "display",
10974
+ "variants": [
10975
+ "regular"
10976
+ ],
10977
+ "subsets": [
10978
+ "latin-ext",
10979
+ "latin"
10980
+ ],
10981
+ "version": "v9",
10982
+ "lastModified": "2019-01-10",
10983
+ "files": {
10984
+ "regular": "http://fonts.gstatic.com/s/metamorphous/v9/Wnz8HA03aAXcC39ZEX5y1330PCCthTsmaQ.ttf"
10985
+ }
10986
+ },
10987
+ {
10988
+ "kind": "webfonts#webfont",
10989
+ "family": "Metrophobic",
10990
+ "category": "sans-serif",
10991
+ "variants": [
10992
+ "regular"
10993
+ ],
10994
+ "subsets": [
10995
+ "latin"
10996
+ ],
10997
+ "version": "v11",
10998
+ "lastModified": "2019-01-10",
10999
+ "files": {
11000
+ "regular": "http://fonts.gstatic.com/s/metrophobic/v11/sJoA3LZUhMSAPV_u0qwiAT-J737FPEEL.ttf"
11001
+ }
11002
+ },
11003
+ {
11004
+ "kind": "webfonts#webfont",
11005
+ "family": "Michroma",
11006
+ "category": "sans-serif",
11007
+ "variants": [
11008
+ "regular"
11009
+ ],
11010
+ "subsets": [
11011
+ "latin"
11012
+ ],
11013
+ "version": "v9",
11014
+ "lastModified": "2019-01-15",
11015
+ "files": {
11016
+ "regular": "http://fonts.gstatic.com/s/michroma/v9/PN_zRfy9qWD8fEagAMg6rzjb_-Da.ttf"
11017
+ }
11018
+ },
11019
+ {
11020
+ "kind": "webfonts#webfont",
11021
+ "family": "Milonga",
11022
+ "category": "display",
11023
+ "variants": [
11024
+ "regular"
11025
+ ],
11026
+ "subsets": [
11027
+ "latin-ext",
11028
+ "latin"
11029
+ ],
11030
+ "version": "v6",
11031
+ "lastModified": "2018-12-13",
11032
+ "files": {
11033
+ "regular": "http://fonts.gstatic.com/s/milonga/v6/SZc53FHnIaK9W5kffz3GkUrS8DI.ttf"
11034
+ }
11035
+ },
11036
+ {
11037
+ "kind": "webfonts#webfont",
11038
+ "family": "Miltonian",
11039
+ "category": "display",
11040
+ "variants": [
11041
+ "regular"
11042
+ ],
11043
+ "subsets": [
11044
+ "latin"
11045
+ ],
11046
+ "version": "v12",
11047
+ "lastModified": "2018-11-29",
11048
+ "files": {
11049
+ "regular": "http://fonts.gstatic.com/s/miltonian/v12/zOL-4pbPn6Ne9JqTg9mr6e5As-FeiQ.ttf"
11050
+ }
11051
+ },
11052
+ {
11053
+ "kind": "webfonts#webfont",
11054
+ "family": "Miltonian Tattoo",
11055
+ "category": "display",
11056
+ "variants": [
11057
+ "regular"
11058
+ ],
11059
+ "subsets": [
11060
+ "latin"
11061
+ ],
11062
+ "version": "v14",
11063
+ "lastModified": "2018-12-13",
11064
+ "files": {
11065
+ "regular": "http://fonts.gstatic.com/s/miltoniantattoo/v14/EvOUzBRL0o0kCxF-lcMCQxlpVsA_FwP8MDBku-s.ttf"
11066
+ }
11067
+ },
11068
+ {
11069
+ "kind": "webfonts#webfont",
11070
+ "family": "Mina",
11071
+ "category": "sans-serif",
11072
+ "variants": [
11073
+ "regular",
11074
+ "700"
11075
+ ],
11076
+ "subsets": [
11077
+ "latin-ext",
11078
+ "bengali",
11079
+ "latin"
11080
+ ],
11081
+ "version": "v2",
11082
+ "lastModified": "2018-12-13",
11083
+ "files": {
11084
+ "700": "http://fonts.gstatic.com/s/mina/v2/-nF8OGc18vARl4NMyiXZ95OkJwA.ttf",
11085
+ "regular": "http://fonts.gstatic.com/s/mina/v2/-nFzOGc18vARrz9j7i3y65o.ttf"
11086
+ }
11087
+ },
11088
+ {
11089
+ "kind": "webfonts#webfont",
11090
+ "family": "Miniver",
11091
+ "category": "display",
11092
+ "variants": [
11093
+ "regular"
11094
+ ],
11095
+ "subsets": [
11096
+ "latin"
11097
+ ],
11098
+ "version": "v7",
11099
+ "lastModified": "2018-12-13",
11100
+ "files": {
11101
+ "regular": "http://fonts.gstatic.com/s/miniver/v7/eLGcP-PxIg-5H0vC770Cy8r8fWA.ttf"
11102
+ }
11103
+ },
11104
+ {
11105
+ "kind": "webfonts#webfont",
11106
+ "family": "Miriam Libre",
11107
+ "category": "sans-serif",
11108
+ "variants": [
11109
+ "regular",
11110
+ "700"
11111
+ ],
11112
+ "subsets": [
11113
+ "hebrew",
11114
+ "latin-ext",
11115
+ "latin"
11116
+ ],
11117
+ "version": "v5",
11118
+ "lastModified": "2019-01-10",
11119
+ "files": {
11120
+ "700": "http://fonts.gstatic.com/s/miriamlibre/v5/DdT-798HsHwubBAqfkcBTL_X3LbbRcC7_-Z7Hg.ttf",
11121
+ "regular": "http://fonts.gstatic.com/s/miriamlibre/v5/DdTh798HsHwubBAqfkcBTL_vYJn_Teun9g.ttf"
11122
+ }
11123
+ },
11124
+ {
11125
+ "kind": "webfonts#webfont",
11126
+ "family": "Mirza",
11127
+ "category": "display",
11128
+ "variants": [
11129
+ "regular",
11130
+ "500",
11131
+ "600",
11132
+ "700"
11133
+ ],
11134
+ "subsets": [
11135
+ "arabic",
11136
+ "latin-ext",
11137
+ "latin"
11138
+ ],
11139
+ "version": "v6",
11140
+ "lastModified": "2019-01-10",
11141
+ "files": {
11142
+ "500": "http://fonts.gstatic.com/s/mirza/v6/co3FmWlikiN5EtIpAeO4mafBomDi.ttf",
11143
+ "600": "http://fonts.gstatic.com/s/mirza/v6/co3FmWlikiN5EtIFBuO4mafBomDi.ttf",
11144
+ "700": "http://fonts.gstatic.com/s/mirza/v6/co3FmWlikiN5EtJhB-O4mafBomDi.ttf",
11145
+ "regular": "http://fonts.gstatic.com/s/mirza/v6/co3ImWlikiN5EurdKMewsrvI.ttf"
11146
+ }
11147
+ },
11148
+ {
11149
+ "kind": "webfonts#webfont",
11150
+ "family": "Miss Fajardose",
11151
+ "category": "handwriting",
11152
+ "variants": [
11153
+ "regular"
11154
+ ],
11155
+ "subsets": [
11156
+ "latin-ext",
11157
+ "latin"
11158
+ ],
11159
+ "version": "v8",
11160
+ "lastModified": "2018-11-29",
11161
+ "files": {
11162
+ "regular": "http://fonts.gstatic.com/s/missfajardose/v8/E21-_dn5gvrawDdPFVl-N0Ajb8qvWPaJq4no.ttf"
11163
+ }
11164
+ },
11165
+ {
11166
+ "kind": "webfonts#webfont",
11167
+ "family": "Mitr",
11168
+ "category": "sans-serif",
11169
+ "variants": [
11170
+ "200",
11171
+ "300",
11172
+ "regular",
11173
+ "500",
11174
+ "600",
11175
+ "700"
11176
+ ],
11177
+ "subsets": [
11178
+ "latin-ext",
11179
+ "thai",
11180
+ "vietnamese",
11181
+ "latin"
11182
+ ],
11183
+ "version": "v4",
11184
+ "lastModified": "2019-01-15",
11185
+ "files": {
11186
+ "200": "http://fonts.gstatic.com/s/mitr/v4/pxiEypw5ucZF8fMZFJDUc1NECPY.ttf",
11187
+ "300": "http://fonts.gstatic.com/s/mitr/v4/pxiEypw5ucZF8ZcaFJDUc1NECPY.ttf",
11188
+ "500": "http://fonts.gstatic.com/s/mitr/v4/pxiEypw5ucZF8c8bFJDUc1NECPY.ttf",
11189
+ "600": "http://fonts.gstatic.com/s/mitr/v4/pxiEypw5ucZF8eMcFJDUc1NECPY.ttf",
11190
+ "700": "http://fonts.gstatic.com/s/mitr/v4/pxiEypw5ucZF8YcdFJDUc1NECPY.ttf",
11191
+ "regular": "http://fonts.gstatic.com/s/mitr/v4/pxiLypw5ucZFyTsyMJj_b1o.ttf"
11192
+ }
11193
+ },
11194
+ {
11195
+ "kind": "webfonts#webfont",
11196
+ "family": "Modak",
11197
+ "category": "display",
11198
+ "variants": [
11199
+ "regular"
11200
+ ],
11201
+ "subsets": [
11202
+ "latin-ext",
11203
+ "devanagari",
11204
+ "latin"
11205
+ ],
11206
+ "version": "v4",
11207
+ "lastModified": "2018-12-13",
11208
+ "files": {
11209
+ "regular": "http://fonts.gstatic.com/s/modak/v4/EJRYQgs1XtIEsnMH8BVZ76KU.ttf"
11210
+ }
11211
+ },
11212
+ {
11213
+ "kind": "webfonts#webfont",
11214
+ "family": "Modern Antiqua",
11215
+ "category": "display",
11216
+ "variants": [
11217
+ "regular"
11218
+ ],
11219
+ "subsets": [
11220
+ "latin-ext",
11221
+ "latin"
11222
+ ],
11223
+ "version": "v8",
11224
+ "lastModified": "2018-12-13",
11225
+ "files": {
11226
+ "regular": "http://fonts.gstatic.com/s/modernantiqua/v8/NGStv5TIAUg6Iq_RLNo_2dp1sI1Ea2u0c3Gi.ttf"
11227
+ }
11228
+ },
11229
+ {
11230
+ "kind": "webfonts#webfont",
11231
+ "family": "Mogra",
11232
+ "category": "display",
11233
+ "variants": [
11234
+ "regular"
11235
+ ],
11236
+ "subsets": [
11237
+ "latin-ext",
11238
+ "gujarati",
11239
+ "latin"
11240
+ ],
11241
+ "version": "v5",
11242
+ "lastModified": "2018-12-13",
11243
+ "files": {
11244
+ "regular": "http://fonts.gstatic.com/s/mogra/v5/f0X40eSs8c95TBo4DvLmxtnG.ttf"
11245
+ }
11246
+ },
11247
+ {
11248
+ "kind": "webfonts#webfont",
11249
+ "family": "Molengo",
11250
+ "category": "sans-serif",
11251
+ "variants": [
11252
+ "regular"
11253
+ ],
11254
+ "subsets": [
11255
+ "latin-ext",
11256
+ "latin"
11257
+ ],
11258
+ "version": "v9",
11259
+ "lastModified": "2019-01-15",
11260
+ "files": {
11261
+ "regular": "http://fonts.gstatic.com/s/molengo/v9/I_uuMpWeuBzZNBtQbbRQkiCvs5Y.ttf"
11262
+ }
11263
+ },
11264
+ {
11265
+ "kind": "webfonts#webfont",
11266
+ "family": "Molle",
11267
+ "category": "handwriting",
11268
+ "variants": [
11269
+ "italic"
11270
+ ],
11271
+ "subsets": [
11272
+ "latin-ext",
11273
+ "latin"
11274
+ ],
11275
+ "version": "v7",
11276
+ "lastModified": "2018-12-13",
11277
+ "files": {
11278
+ "italic": "http://fonts.gstatic.com/s/molle/v7/E21n_dL5hOXFhWEsXzgmVydREus.ttf"
11279
+ }
11280
+ },
11281
+ {
11282
+ "kind": "webfonts#webfont",
11283
+ "family": "Monda",
11284
+ "category": "sans-serif",
11285
+ "variants": [
11286
+ "regular",
11287
+ "700"
11288
+ ],
11289
+ "subsets": [
11290
+ "latin-ext",
11291
+ "latin"
11292
+ ],
11293
+ "version": "v8",
11294
+ "lastModified": "2019-01-15",
11295
+ "files": {
11296
+ "700": "http://fonts.gstatic.com/s/monda/v8/TK3gWkYFABsmjsLaGz8Dl-tPKo2t.ttf",
11297
+ "regular": "http://fonts.gstatic.com/s/monda/v8/TK3tWkYFABsmjvpmNBsLvPdG.ttf"
11298
+ }
11299
+ },
11300
+ {
11301
+ "kind": "webfonts#webfont",
11302
+ "family": "Monofett",
11303
+ "category": "display",
11304
+ "variants": [
11305
+ "regular"
11306
+ ],
11307
+ "subsets": [
11308
+ "latin"
11309
+ ],
11310
+ "version": "v8",
11311
+ "lastModified": "2018-12-13",
11312
+ "files": {
11313
+ "regular": "http://fonts.gstatic.com/s/monofett/v8/mFTyWbofw6zc9NtnW43SuRwr0VJ7.ttf"
11314
+ }
11315
+ },
11316
+ {
11317
+ "kind": "webfonts#webfont",
11318
+ "family": "Monoton",
11319
+ "category": "display",
11320
+ "variants": [
11321
+ "regular"
11322
+ ],
11323
+ "subsets": [
11324
+ "latin"
11325
+ ],
11326
+ "version": "v8",
11327
+ "lastModified": "2019-01-15",
11328
+ "files": {
11329
+ "regular": "http://fonts.gstatic.com/s/monoton/v8/5h1aiZUrOngCibe4fkbBQ2S7FU8.ttf"
11330
+ }
11331
+ },
11332
+ {
11333
+ "kind": "webfonts#webfont",
11334
+ "family": "Monsieur La Doulaise",
11335
+ "category": "handwriting",
11336
+ "variants": [
11337
+ "regular"
11338
+ ],
11339
+ "subsets": [
11340
+ "latin-ext",
11341
+ "latin"
11342
+ ],
11343
+ "version": "v7",
11344
+ "lastModified": "2018-12-13",
11345
+ "files": {
11346
+ "regular": "http://fonts.gstatic.com/s/monsieurladoulaise/v7/_Xmz-GY4rjmCbQfc-aPRaa4pqV340p7EZl5ewkEU4HTy.ttf"
11347
+ }
11348
+ },
11349
+ {
11350
+ "kind": "webfonts#webfont",
11351
+ "family": "Montaga",
11352
+ "category": "serif",
11353
+ "variants": [
11354
+ "regular"
11355
+ ],
11356
+ "subsets": [
11357
+ "latin"
11358
+ ],
11359
+ "version": "v6",
11360
+ "lastModified": "2018-12-13",
11361
+ "files": {
11362
+ "regular": "http://fonts.gstatic.com/s/montaga/v6/H4cnBX2Ml8rCkEO_0gYQ7LO5mqc.ttf"
11363
+ }
11364
+ },
11365
+ {
11366
+ "kind": "webfonts#webfont",
11367
+ "family": "Montez",
11368
+ "category": "handwriting",
11369
+ "variants": [
11370
+ "regular"
11371
+ ],
11372
+ "subsets": [
11373
+ "latin"
11374
+ ],
11375
+ "version": "v9",
11376
+ "lastModified": "2019-01-10",
11377
+ "files": {
11378
+ "regular": "http://fonts.gstatic.com/s/montez/v9/845ZNMk5GoGIX8lm1LDeSd-R_g.ttf"
11379
+ }
11380
+ },
11381
+ {
11382
+ "kind": "webfonts#webfont",
11383
+ "family": "Montserrat",
11384
+ "category": "sans-serif",
11385
+ "variants": [
11386
+ "100",
11387
+ "100italic",
11388
+ "200",
11389
+ "200italic",
11390
+ "300",
11391
+ "300italic",
11392
+ "regular",
11393
+ "italic",
11394
+ "500",
11395
+ "500italic",
11396
+ "600",
11397
+ "600italic",
11398
+ "700",
11399
+ "700italic",
11400
+ "800",
11401
+ "800italic",
11402
+ "900",
11403
+ "900italic"
11404
+ ],
11405
+ "subsets": [
11406
+ "latin-ext",
11407
+ "cyrillic-ext",
11408
+ "cyrillic",
11409
+ "vietnamese",
11410
+ "latin"
11411
+ ],
11412
+ "version": "v12",
11413
+ "lastModified": "2017-11-07",
11414
+ "files": {
11415
+ "100": "http://fonts.gstatic.com/s/montserrat/v12/JTUQjIg1_i6t8kCHKm45_Qphzg.ttf",
11416
+ "200": "http://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_aZA7g4.ttf",
11417
+ "300": "http://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_cJD7g4.ttf",
11418
+ "500": "http://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_ZpC7g4.ttf",
11419
+ "600": "http://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_bZF7g4.ttf",
11420
+ "700": "http://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_dJE7g4.ttf",
11421
+ "800": "http://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_c5H7g4.ttf",
11422
+ "900": "http://fonts.gstatic.com/s/montserrat/v12/JTURjIg1_i6t8kCHKm45_epG7g4.ttf",
11423
+ "100italic": "http://fonts.gstatic.com/s/montserrat/v12/JTUOjIg1_i6t8kCHKm459WxZqi7j.ttf",
11424
+ "200italic": "http://fonts.gstatic.com/s/montserrat/v12/JTUPjIg1_i6t8kCHKm459WxZBg_D-w.ttf",
11425
+ "300italic": "http://fonts.gstatic.com/s/montserrat/v12/JTUPjIg1_i6t8kCHKm459WxZYgzD-w.ttf",
11426
+ "regular": "http://fonts.gstatic.com/s/montserrat/v12/JTUSjIg1_i6t8kCHKm45xW4.ttf",
11427
+ "italic": "http://fonts.gstatic.com/s/montserrat/v12/JTUQjIg1_i6t8kCHKm459Wxhzg.ttf",
11428
+ "500italic": "http://fonts.gstatic.com/s/montserrat/v12/JTUPjIg1_i6t8kCHKm459WxZOg3D-w.ttf",
11429
+ "600italic": "http://fonts.gstatic.com/s/montserrat/v12/JTUPjIg1_i6t8kCHKm459WxZFgrD-w.ttf",
11430
+ "700italic": "http://fonts.gstatic.com/s/montserrat/v12/JTUPjIg1_i6t8kCHKm459WxZcgvD-w.ttf",
11431
+ "800italic": "http://fonts.gstatic.com/s/montserrat/v12/JTUPjIg1_i6t8kCHKm459WxZbgjD-w.ttf",
11432
+ "900italic": "http://fonts.gstatic.com/s/montserrat/v12/JTUPjIg1_i6t8kCHKm459WxZSgnD-w.ttf"
11433
+ }
11434
+ },
11435
+ {
11436
+ "kind": "webfonts#webfont",
11437
+ "family": "Montserrat Alternates",
11438
+ "category": "sans-serif",
11439
+ "variants": [
11440
+ "100",
11441
+ "100italic",
11442
+ "200",
11443
+ "200italic",
11444
+ "300",
11445
+ "300italic",
11446
+ "regular",
11447
+ "italic",
11448
+ "500",
11449
+ "500italic",
11450
+ "600",
11451
+ "600italic",
11452
+ "700",
11453
+ "700italic",
11454
+ "800",
11455
+ "800italic",
11456
+ "900",
11457
+ "900italic"
11458
+ ],
11459
+ "subsets": [
11460
+ "latin-ext",
11461
+ "cyrillic-ext",
11462
+ "cyrillic",
11463
+ "vietnamese",
11464
+ "latin"
11465
+ ],
11466
+ "version": "v10",
11467
+ "lastModified": "2019-01-15",
11468
+ "files": {
11469
+ "100": "http://fonts.gstatic.com/s/montserratalternates/v10/mFThWacfw6zH4dthXcyms1lPpC8I_b0juU0xiKfVKphL03l4.ttf",
11470
+ "200": "http://fonts.gstatic.com/s/montserratalternates/v10/mFTiWacfw6zH4dthXcyms1lPpC8I_b0juU0xJIb1ALZH2mBhkw.ttf",
11471
+ "300": "http://fonts.gstatic.com/s/montserratalternates/v10/mFTiWacfw6zH4dthXcyms1lPpC8I_b0juU0xQIX1ALZH2mBhkw.ttf",
11472
+ "500": "http://fonts.gstatic.com/s/montserratalternates/v10/mFTiWacfw6zH4dthXcyms1lPpC8I_b0juU0xGIT1ALZH2mBhkw.ttf",
11473
+ "600": "http://fonts.gstatic.com/s/montserratalternates/v10/mFTiWacfw6zH4dthXcyms1lPpC8I_b0juU0xNIP1ALZH2mBhkw.ttf",
11474
+ "700": "http://fonts.gstatic.com/s/montserratalternates/v10/mFTiWacfw6zH4dthXcyms1lPpC8I_b0juU0xUIL1ALZH2mBhkw.ttf",
11475
+ "800": "http://fonts.gstatic.com/s/montserratalternates/v10/mFTiWacfw6zH4dthXcyms1lPpC8I_b0juU0xTIH1ALZH2mBhkw.ttf",
11476
+ "900": "http://fonts.gstatic.com/s/montserratalternates/v10/mFTiWacfw6zH4dthXcyms1lPpC8I_b0juU0xaID1ALZH2mBhkw.ttf",
11477
+ "100italic": "http://fonts.gstatic.com/s/montserratalternates/v10/mFTjWacfw6zH4dthXcyms1lPpC8I_b0juU057p-xIJxp1ml4imo.ttf",
11478
+ "200italic": "http://fonts.gstatic.com/s/montserratalternates/v10/mFTkWacfw6zH4dthXcyms1lPpC8I_b0juU057p8dAbxD-GVxk3Nd.ttf",
11479
+ "300italic": "http://fonts.gstatic.com/s/montserratalternates/v10/mFTkWacfw6zH4dthXcyms1lPpC8I_b0juU057p95ArxD-GVxk3Nd.ttf",
11480
+ "regular": "http://fonts.gstatic.com/s/montserratalternates/v10/mFTvWacfw6zH4dthXcyms1lPpC8I_b0juU0J7K3RCJ1b0w.ttf",
11481
+ "italic": "http://fonts.gstatic.com/s/montserratalternates/v10/mFThWacfw6zH4dthXcyms1lPpC8I_b0juU057qfVKphL03l4.ttf",
11482
+ "500italic": "http://fonts.gstatic.com/s/montserratalternates/v10/mFTkWacfw6zH4dthXcyms1lPpC8I_b0juU057p8hA7xD-GVxk3Nd.ttf",
11483
+ "600italic": "http://fonts.gstatic.com/s/montserratalternates/v10/mFTkWacfw6zH4dthXcyms1lPpC8I_b0juU057p8NBLxD-GVxk3Nd.ttf",
11484
+ "700italic": "http://fonts.gstatic.com/s/montserratalternates/v10/mFTkWacfw6zH4dthXcyms1lPpC8I_b0juU057p9pBbxD-GVxk3Nd.ttf",
11485
+ "800italic": "http://fonts.gstatic.com/s/montserratalternates/v10/mFTkWacfw6zH4dthXcyms1lPpC8I_b0juU057p91BrxD-GVxk3Nd.ttf",
11486
+ "900italic": "http://fonts.gstatic.com/s/montserratalternates/v10/mFTkWacfw6zH4dthXcyms1lPpC8I_b0juU057p9RB7xD-GVxk3Nd.ttf"
11487
+ }
11488
+ },
11489
+ {
11490
+ "kind": "webfonts#webfont",
11491
+ "family": "Montserrat Subrayada",
11492
+ "category": "sans-serif",
11493
+ "variants": [
11494
+ "regular",
11495
+ "700"
11496
+ ],
11497
+ "subsets": [
11498
+ "latin"
11499
+ ],
11500
+ "version": "v8",
11501
+ "lastModified": "2018-12-13",
11502
+ "files": {
11503
+ "700": "http://fonts.gstatic.com/s/montserratsubrayada/v8/U9MM6c-o9H7PgjlTHThBnNHGVUORwteQQHe3TcMWg3j36Ebz.ttf",
11504
+ "regular": "http://fonts.gstatic.com/s/montserratsubrayada/v8/U9MD6c-o9H7PgjlTHThBnNHGVUORwteQQE8LYuceqGT-.ttf"
11505
+ }
11506
+ },
11507
+ {
11508
+ "kind": "webfonts#webfont",
11509
+ "family": "Moul",
11510
+ "category": "display",
11511
+ "variants": [
11512
+ "regular"
11513
+ ],
11514
+ "subsets": [
11515
+ "khmer"
11516
+ ],
11517
+ "version": "v10",
11518
+ "lastModified": "2018-12-13",
11519
+ "files": {
11520
+ "regular": "http://fonts.gstatic.com/s/moul/v10/nuF2D__FSo_3E-RYiJCy-00.ttf"
11521
+ }
11522
+ },
11523
+ {
11524
+ "kind": "webfonts#webfont",
11525
+ "family": "Moulpali",
11526
+ "category": "display",
11527
+ "variants": [
11528
+ "regular"
11529
+ ],
11530
+ "subsets": [
11531
+ "khmer"
11532
+ ],
11533
+ "version": "v11",
11534
+ "lastModified": "2018-11-29",
11535
+ "files": {
11536
+ "regular": "http://fonts.gstatic.com/s/moulpali/v11/H4ckBXKMl9HagUWymyY6wr-wg763.ttf"
11537
+ }
11538
+ },
11539
+ {
11540
+ "kind": "webfonts#webfont",
11541
+ "family": "Mountains of Christmas",
11542
+ "category": "display",
11543
+ "variants": [
11544
+ "regular",
11545
+ "700"
11546
+ ],
11547
+ "subsets": [
11548
+ "latin"
11549
+ ],
11550
+ "version": "v11",
11551
+ "lastModified": "2019-01-10",
11552
+ "files": {
11553
+ "700": "http://fonts.gstatic.com/s/mountainsofchristmas/v11/3y9z6a4zcCnn5X0FDyrKi2ZRUBIy8uxoUo7eBGqJFPtCOp6IaEA.ttf",
11554
+ "regular": "http://fonts.gstatic.com/s/mountainsofchristmas/v11/3y9w6a4zcCnn5X0FDyrKi2ZRUBIy8uxoUo7ePNamMPNpJpc.ttf"
11555
+ }
11556
+ },
11557
+ {
11558
+ "kind": "webfonts#webfont",
11559
+ "family": "Mouse Memoirs",
11560
+ "category": "sans-serif",
11561
+ "variants": [
11562
+ "regular"
11563
+ ],
11564
+ "subsets": [
11565
+ "latin-ext",
11566
+ "latin"
11567
+ ],
11568
+ "version": "v6",
11569
+ "lastModified": "2019-01-10",
11570
+ "files": {
11571
+ "regular": "http://fonts.gstatic.com/s/mousememoirs/v6/t5tmIRoSNJ-PH0WNNgDYxdSb7TnFrpOHYh4.ttf"
11572
+ }
11573
+ },
11574
+ {
11575
+ "kind": "webfonts#webfont",
11576
+ "family": "Mr Bedfort",
11577
+ "category": "handwriting",
11578
+ "variants": [
11579
+ "regular"
11580
+ ],
11581
+ "subsets": [
11582
+ "latin-ext",
11583
+ "latin"
11584
+ ],
11585
+ "version": "v7",
11586
+ "lastModified": "2018-11-29",
11587
+ "files": {
11588
+ "regular": "http://fonts.gstatic.com/s/mrbedfort/v7/MQpR-WCtNZSWAdTMwBicliq0XZe_Iy8.ttf"
11589
+ }
11590
+ },
11591
+ {
11592
+ "kind": "webfonts#webfont",
11593
+ "family": "Mr Dafoe",
11594
+ "category": "handwriting",
11595
+ "variants": [
11596
+ "regular"
11597
+ ],
11598
+ "subsets": [
11599
+ "latin-ext",
11600
+ "latin"
11601
+ ],
11602
+ "version": "v7",
11603
+ "lastModified": "2019-01-15",
11604
+ "files": {
11605
+ "regular": "http://fonts.gstatic.com/s/mrdafoe/v7/lJwE-pIzkS5NXuMMrGiqg7MCxz_C.ttf"
11606
+ }
11607
+ },
11608
+ {
11609
+ "kind": "webfonts#webfont",
11610
+ "family": "Mr De Haviland",
11611
+ "category": "handwriting",
11612
+ "variants": [
11613
+ "regular"
11614
+ ],
11615
+ "subsets": [
11616
+ "latin-ext",
11617
+ "latin"
11618
+ ],
11619
+ "version": "v7",
11620
+ "lastModified": "2019-01-10",
11621
+ "files": {
11622
+ "regular": "http://fonts.gstatic.com/s/mrdehaviland/v7/OpNVnooIhJj96FdB73296ksbOj3C4ULVNTlB.ttf"
11623
+ }
11624
+ },
11625
+ {
11626
+ "kind": "webfonts#webfont",
11627
+ "family": "Mrs Saint Delafield",
11628
+ "category": "handwriting",
11629
+ "variants": [
11630
+ "regular"
11631
+ ],
11632
+ "subsets": [
11633
+ "latin-ext",
11634
+ "latin"
11635
+ ],
11636
+ "version": "v6",
11637
+ "lastModified": "2018-12-13",
11638
+ "files": {
11639
+ "regular": "http://fonts.gstatic.com/s/mrssaintdelafield/v6/v6-IGZDIOVXH9xtmTZfRagunqBw5WC62cK4tLsubB2w.ttf"
11640
+ }
11641
+ },
11642
+ {
11643
+ "kind": "webfonts#webfont",
11644
+ "family": "Mrs Sheppards",
11645
+ "category": "handwriting",
11646
+ "variants": [
11647
+ "regular"
11648
+ ],
11649
+ "subsets": [
11650
+ "latin-ext",
11651
+ "latin"
11652
+ ],
11653
+ "version": "v7",
11654
+ "lastModified": "2018-11-29",
11655
+ "files": {
11656
+ "regular": "http://fonts.gstatic.com/s/mrssheppards/v7/PN_2Rfm9snC0XUGoEZhb91ig3vjxynMix4Y.ttf"
11657
+ }
11658
+ },
11659
+ {
11660
+ "kind": "webfonts#webfont",
11661
+ "family": "Mukta",
11662
+ "category": "sans-serif",
11663
+ "variants": [
11664
+ "200",
11665
+ "300",
11666
+ "regular",
11667
+ "500",
11668
+ "600",
11669
+ "700",
11670
+ "800"
11671
+ ],
11672
+ "subsets": [
11673
+ "latin-ext",
11674
+ "devanagari",
11675
+ "latin"
11676
+ ],
11677
+ "version": "v5",
11678
+ "lastModified": "2017-11-21",
11679
+ "files": {
11680
+ "200": "http://fonts.gstatic.com/s/mukta/v5/iJWHBXyXfDDVXbEOjFma.ttf",
11681
+ "300": "http://fonts.gstatic.com/s/mukta/v5/iJWHBXyXfDDVXbFqj1ma.ttf",
11682
+ "500": "http://fonts.gstatic.com/s/mukta/v5/iJWHBXyXfDDVXbEyjlma.ttf",
11683
+ "600": "http://fonts.gstatic.com/s/mukta/v5/iJWHBXyXfDDVXbEeiVma.ttf",
11684
+ "700": "http://fonts.gstatic.com/s/mukta/v5/iJWHBXyXfDDVXbF6iFma.ttf",
11685
+ "800": "http://fonts.gstatic.com/s/mukta/v5/iJWHBXyXfDDVXbFmi1ma.ttf",
11686
+ "regular": "http://fonts.gstatic.com/s/mukta/v5/iJWKBXyXfDDVXYnG.ttf"
11687
+ }
11688
+ },
11689
+ {
11690
+ "kind": "webfonts#webfont",
11691
+ "family": "Mukta Mahee",
11692
+ "category": "sans-serif",
11693
+ "variants": [
11694
+ "200",
11695
+ "300",
11696
+ "regular",
11697
+ "500",
11698
+ "600",
11699
+ "700",
11700
+ "800"
11701
+ ],
11702
+ "subsets": [
11703
+ "latin-ext",
11704
+ "gurmukhi",
11705
+ "latin"
11706
+ ],
11707
+ "version": "v4",
11708
+ "lastModified": "2018-12-13",
11709
+ "files": {
11710
+ "200": "http://fonts.gstatic.com/s/muktamahee/v4/XRXN3IOIi0hcP8iVU67hA9MFcBoHJndqZCsW.ttf",
11711
+ "300": "http://fonts.gstatic.com/s/muktamahee/v4/XRXN3IOIi0hcP8iVU67hA9NhcxoHJndqZCsW.ttf",
11712
+ "500": "http://fonts.gstatic.com/s/muktamahee/v4/XRXN3IOIi0hcP8iVU67hA9M5choHJndqZCsW.ttf",
11713
+ "600": "http://fonts.gstatic.com/s/muktamahee/v4/XRXN3IOIi0hcP8iVU67hA9MVdRoHJndqZCsW.ttf",
11714
+ "700": "http://fonts.gstatic.com/s/muktamahee/v4/XRXN3IOIi0hcP8iVU67hA9NxdBoHJndqZCsW.ttf",
11715
+ "800": "http://fonts.gstatic.com/s/muktamahee/v4/XRXN3IOIi0hcP8iVU67hA9NtdxoHJndqZCsW.ttf",
11716
+ "regular": "http://fonts.gstatic.com/s/muktamahee/v4/XRXQ3IOIi0hcP8iVU67hA-vNWz4PDWtj.ttf"
11717
+ }
11718
+ },
11719
+ {
11720
+ "kind": "webfonts#webfont",
11721
+ "family": "Mukta Malar",
11722
+ "category": "sans-serif",
11723
+ "variants": [
11724
+ "200",
11725
+ "300",
11726
+ "regular",
11727
+ "500",
11728
+ "600",
11729
+ "700",
11730
+ "800"
11731
+ ],
11732
+ "subsets": [
11733
+ "latin-ext",
11734
+ "tamil",
11735
+ "latin"
11736
+ ],
11737
+ "version": "v5",
11738
+ "lastModified": "2019-01-10",
11739
+ "files": {
11740
+ "200": "http://fonts.gstatic.com/s/muktamalar/v5/MCoKzAXyz8LOE2FpJMxZqIMwBtAB62ruoAZW.ttf",
11741
+ "300": "http://fonts.gstatic.com/s/muktamalar/v5/MCoKzAXyz8LOE2FpJMxZqINUBdAB62ruoAZW.ttf",
11742
+ "500": "http://fonts.gstatic.com/s/muktamalar/v5/MCoKzAXyz8LOE2FpJMxZqIMMBNAB62ruoAZW.ttf",
11743
+ "600": "http://fonts.gstatic.com/s/muktamalar/v5/MCoKzAXyz8LOE2FpJMxZqIMgA9AB62ruoAZW.ttf",
11744
+ "700": "http://fonts.gstatic.com/s/muktamalar/v5/MCoKzAXyz8LOE2FpJMxZqINEAtAB62ruoAZW.ttf",
11745
+ "800": "http://fonts.gstatic.com/s/muktamalar/v5/MCoKzAXyz8LOE2FpJMxZqINYAdAB62ruoAZW.ttf",
11746
+ "regular": "http://fonts.gstatic.com/s/muktamalar/v5/MCoXzAXyz8LOE2FpJMxZqLv4LfQJwHbn.ttf"
11747
+ }
11748
+ },
11749
+ {
11750
+ "kind": "webfonts#webfont",
11751
+ "family": "Mukta Vaani",
11752
+ "category": "sans-serif",
11753
+ "variants": [
11754
+ "200",
11755
+ "300",
11756
+ "regular",
11757
+ "500",
11758
+ "600",
11759
+ "700",
11760
+ "800"
11761
+ ],
11762
+ "subsets": [
11763
+ "latin-ext",
11764
+ "gujarati",
11765
+ "latin"
11766
+ ],
11767
+ "version": "v6",
11768
+ "lastModified": "2019-01-10",
11769
+ "files": {
11770
+ "200": "http://fonts.gstatic.com/s/muktavaani/v6/3JnkSD_-ynaxmxnEfVHPIGXNV8BD-u97MW1a.ttf",
11771
+ "300": "http://fonts.gstatic.com/s/muktavaani/v6/3JnkSD_-ynaxmxnEfVHPIGWpVMBD-u97MW1a.ttf",
11772
+ "500": "http://fonts.gstatic.com/s/muktavaani/v6/3JnkSD_-ynaxmxnEfVHPIGXxVcBD-u97MW1a.ttf",
11773
+ "600": "http://fonts.gstatic.com/s/muktavaani/v6/3JnkSD_-ynaxmxnEfVHPIGXdUsBD-u97MW1a.ttf",
11774
+ "700": "http://fonts.gstatic.com/s/muktavaani/v6/3JnkSD_-ynaxmxnEfVHPIGW5U8BD-u97MW1a.ttf",
11775
+ "800": "http://fonts.gstatic.com/s/muktavaani/v6/3JnkSD_-ynaxmxnEfVHPIGWlUMBD-u97MW1a.ttf",
11776
+ "regular": "http://fonts.gstatic.com/s/muktavaani/v6/3Jn5SD_-ynaxmxnEfVHPIF0FfORL0fNy.ttf"
11777
+ }
11778
+ },
11779
+ {
11780
+ "kind": "webfonts#webfont",
11781
+ "family": "Muli",
11782
+ "category": "sans-serif",
11783
+ "variants": [
11784
+ "200",
11785
+ "200italic",
11786
+ "300",
11787
+ "300italic",
11788
+ "regular",
11789
+ "italic",
11790
+ "600",
11791
+ "600italic",
11792
+ "700",
11793
+ "700italic",
11794
+ "800",
11795
+ "800italic",
11796
+ "900",
11797
+ "900italic"
11798
+ ],
11799
+ "subsets": [
11800
+ "latin-ext",
11801
+ "vietnamese",
11802
+ "latin"
11803
+ ],
11804
+ "version": "v12",
11805
+ "lastModified": "2018-10-08",
11806
+ "files": {
11807
+ "200": "http://fonts.gstatic.com/s/muli/v12/7Au_p_0qiz-adf3nCCI.ttf",
11808
+ "300": "http://fonts.gstatic.com/s/muli/v12/7Au_p_0qiz-adZnkCCI.ttf",
11809
+ "600": "http://fonts.gstatic.com/s/muli/v12/7Au_p_0qiz-ade3iCCI.ttf",
11810
+ "700": "http://fonts.gstatic.com/s/muli/v12/7Au_p_0qiz-adYnjCCI.ttf",
11811
+ "800": "http://fonts.gstatic.com/s/muli/v12/7Au_p_0qiz-adZXgCCI.ttf",
11812
+ "900": "http://fonts.gstatic.com/s/muli/v12/7Au_p_0qiz-adbHhCCI.ttf",
11813
+ "200italic": "http://fonts.gstatic.com/s/muli/v12/7Au9p_0qiz-afTf-4CP2yg.ttf",
11814
+ "300italic": "http://fonts.gstatic.com/s/muli/v12/7Au9p_0qiz-afTf-hCD2yg.ttf",
11815
+ "regular": "http://fonts.gstatic.com/s/muli/v12/7Auwp_0qiz-aTTU.ttf",
11816
+ "italic": "http://fonts.gstatic.com/s/muli/v12/7Au-p_0qiz-afTfGKA.ttf",
11817
+ "600italic": "http://fonts.gstatic.com/s/muli/v12/7Au9p_0qiz-afTf-8Cb2yg.ttf",
11818
+ "700italic": "http://fonts.gstatic.com/s/muli/v12/7Au9p_0qiz-afTf-lCf2yg.ttf",
11819
+ "800italic": "http://fonts.gstatic.com/s/muli/v12/7Au9p_0qiz-afTf-iCT2yg.ttf",
11820
+ "900italic": "http://fonts.gstatic.com/s/muli/v12/7Au9p_0qiz-afTf-rCX2yg.ttf"
11821
+ }
11822
+ },
11823
+ {
11824
+ "kind": "webfonts#webfont",
11825
+ "family": "Mystery Quest",
11826
+ "category": "display",
11827
+ "variants": [
11828
+ "regular"
11829
+ ],
11830
+ "subsets": [
11831
+ "latin-ext",
11832
+ "latin"
11833
+ ],
11834
+ "version": "v6",
11835
+ "lastModified": "2018-12-13",
11836
+ "files": {
11837
+ "regular": "http://fonts.gstatic.com/s/mysteryquest/v6/-nF6OG414u0E6k0wynSGlujRHwElD_9Qz9E.ttf"
11838
+ }
11839
+ },
11840
+ {
11841
+ "kind": "webfonts#webfont",
11842
+ "family": "NTR",
11843
+ "category": "sans-serif",
11844
+ "variants": [
11845
+ "regular"
11846
+ ],
11847
+ "subsets": [
11848
+ "telugu",
11849
+ "latin"
11850
+ ],
11851
+ "version": "v6",
11852
+ "lastModified": "2019-01-10",
11853
+ "files": {
11854
+ "regular": "http://fonts.gstatic.com/s/ntr/v6/RLpzK5Xy0ZjiGGhs5TA4bg.ttf"
11855
+ }
11856
+ },
11857
+ {
11858
+ "kind": "webfonts#webfont",
11859
+ "family": "Nanum Brush Script",
11860
+ "category": "handwriting",
11861
+ "variants": [
11862
+ "regular"
11863
+ ],
11864
+ "subsets": [
11865
+ "korean",
11866
+ "latin"
11867
+ ],
11868
+ "version": "v14",
11869
+ "lastModified": "2019-01-10",
11870
+ "files": {
11871
+ "regular": "http://fonts.gstatic.com/s/nanumbrushscript/v14/wXK2E2wfpokopxzthSqPbcR5_gVaxazyjqBr1lO97Q.ttf"
11872
+ }
11873
+ },
11874
+ {
11875
+ "kind": "webfonts#webfont",
11876
+ "family": "Nanum Gothic",
11877
+ "category": "sans-serif",
11878
+ "variants": [
11879
+ "regular",
11880
+ "700",
11881
+ "800"
11882
+ ],
11883
+ "subsets": [
11884
+ "korean",
11885
+ "latin"
11886
+ ],
11887
+ "version": "v13",
11888
+ "lastModified": "2018-10-16",
11889
+ "files": {
11890
+ "700": "http://fonts.gstatic.com/s/nanumgothic/v13/PN_oRfi-oW3hYwmKDpxS7F_LQv37zg.ttf",
11891
+ "800": "http://fonts.gstatic.com/s/nanumgothic/v13/PN_oRfi-oW3hYwmKDpxS7F_LXv77zg.ttf",
11892
+ "regular": "http://fonts.gstatic.com/s/nanumgothic/v13/PN_3Rfi-oW3hYwmKDpxS7F_z_g.ttf"
11893
+ }
11894
+ },
11895
+ {
11896
+ "kind": "webfonts#webfont",
11897
+ "family": "Nanum Gothic Coding",
11898
+ "category": "monospace",
11899
+ "variants": [
11900
+ "regular",
11901
+ "700"
11902
+ ],
11903
+ "subsets": [
11904
+ "korean",
11905
+ "latin"
11906
+ ],
11907
+ "version": "v11",
11908
+ "lastModified": "2019-01-15",
11909
+ "files": {
11910
+ "700": "http://fonts.gstatic.com/s/nanumgothiccoding/v11/8QIYdjzHisX_8vv59_xMxtPFW4IXROws8xgecsV88t5V9r4.ttf",
11911
+ "regular": "http://fonts.gstatic.com/s/nanumgothiccoding/v11/8QIVdjzHisX_8vv59_xMxtPFW4IXROwsy6QxVs1X7tc.ttf"
11912
+ }
11913
+ },
11914
+ {
11915
+ "kind": "webfonts#webfont",
11916
+ "family": "Nanum Myeongjo",
11917
+ "category": "serif",
11918
+ "variants": [
11919
+ "regular",
11920
+ "700",
11921
+ "800"
11922
+ ],
11923
+ "subsets": [
11924
+ "korean",
11925
+ "latin"
11926
+ ],
11927
+ "version": "v12",
11928
+ "lastModified": "2019-01-15",
11929
+ "files": {
11930
+ "700": "http://fonts.gstatic.com/s/nanummyeongjo/v12/9Bty3DZF0dXLMZlywRbVRNhxy2pXV1A0pfCs5Kos.ttf",
11931
+ "800": "http://fonts.gstatic.com/s/nanummyeongjo/v12/9Bty3DZF0dXLMZlywRbVRNhxy2pLVFA0pfCs5Kos.ttf",
11932
+ "regular": "http://fonts.gstatic.com/s/nanummyeongjo/v12/9Btx3DZF0dXLMZlywRbVRNhxy1LreHQ8juyl.ttf"
11933
+ }
11934
+ },
11935
+ {
11936
+ "kind": "webfonts#webfont",
11937
+ "family": "Nanum Pen Script",
11938
+ "category": "handwriting",
11939
+ "variants": [
11940
+ "regular"
11941
+ ],
11942
+ "subsets": [
11943
+ "korean",
11944
+ "latin"
11945
+ ],
11946
+ "version": "v12",
11947
+ "lastModified": "2019-01-15",
11948
+ "files": {
11949
+ "regular": "http://fonts.gstatic.com/s/nanumpenscript/v12/daaDSSYiLGqEal3MvdA_FOL_3FkN2z7-aMFCcTU.ttf"
11950
+ }
11951
+ },
11952
+ {
11953
+ "kind": "webfonts#webfont",
11954
+ "family": "Neucha",
11955
+ "category": "handwriting",
11956
+ "variants": [
11957
+ "regular"
11958
+ ],
11959
+ "subsets": [
11960
+ "cyrillic",
11961
+ "latin"
11962
+ ],
11963
+ "version": "v10",
11964
+ "lastModified": "2019-01-15",
11965
+ "files": {
11966
+ "regular": "http://fonts.gstatic.com/s/neucha/v10/q5uGsou0JOdh94bvugNsCxVEgA.ttf"
11967
+ }
11968
+ },
11969
+ {
11970
+ "kind": "webfonts#webfont",
11971
+ "family": "Neuton",
11972
+ "category": "serif",
11973
+ "variants": [
11974
+ "200",
11975
+ "300",
11976
+ "regular",
11977
+ "italic",
11978
+ "700",
11979
+ "800"
11980
+ ],
11981
+ "subsets": [
11982
+ "latin-ext",
11983
+ "latin"
11984
+ ],
11985
+ "version": "v11",
11986
+ "lastModified": "2019-01-15",
11987
+ "files": {
11988
+ "200": "http://fonts.gstatic.com/s/neuton/v11/UMBQrPtMoH62xUZKAKkfegD5Drog6Q.ttf",
11989
+ "300": "http://fonts.gstatic.com/s/neuton/v11/UMBQrPtMoH62xUZKZKofegD5Drog6Q.ttf",
11990
+ "700": "http://fonts.gstatic.com/s/neuton/v11/UMBQrPtMoH62xUZKdK0fegD5Drog6Q.ttf",
11991
+ "800": "http://fonts.gstatic.com/s/neuton/v11/UMBQrPtMoH62xUZKaK4fegD5Drog6Q.ttf",
11992
+ "regular": "http://fonts.gstatic.com/s/neuton/v11/UMBTrPtMoH62xUZyyII7civlBw.ttf",
11993
+ "italic": "http://fonts.gstatic.com/s/neuton/v11/UMBRrPtMoH62xUZCyog_UC71B6M5.ttf"
11994
+ }
11995
+ },
11996
+ {
11997
+ "kind": "webfonts#webfont",
11998
+ "family": "New Rocker",
11999
+ "category": "display",
12000
+ "variants": [
12001
+ "regular"
12002
+ ],
12003
+ "subsets": [
12004
+ "latin-ext",
12005
+ "latin"
12006
+ ],
12007
+ "version": "v7",
12008
+ "lastModified": "2018-12-13",
12009
+ "files": {
12010
+ "regular": "http://fonts.gstatic.com/s/newrocker/v7/MwQzbhjp3-HImzcCU_cJkGMViblPtXs.ttf"
12011
+ }
12012
+ },
12013
+ {
12014
+ "kind": "webfonts#webfont",
12015
+ "family": "News Cycle",
12016
+ "category": "sans-serif",
12017
+ "variants": [
12018
+ "regular",
12019
+ "700"
12020
+ ],
12021
+ "subsets": [
12022
+ "latin-ext",
12023
+ "latin"
12024
+ ],
12025
+ "version": "v15",
12026
+ "lastModified": "2019-01-15",
12027
+ "files": {
12028
+ "700": "http://fonts.gstatic.com/s/newscycle/v15/CSR54z1Qlv-GDxkbKVQ_dFsvaNNUuOwkC2s.ttf",
12029
+ "regular": "http://fonts.gstatic.com/s/newscycle/v15/CSR64z1Qlv-GDxkbKVQ_TOcATNt_pOU.ttf"
12030
+ }
12031
+ },
12032
+ {
12033
+ "kind": "webfonts#webfont",
12034
+ "family": "Niconne",
12035
+ "category": "handwriting",
12036
+ "variants": [
12037
+ "regular"
12038
+ ],
12039
+ "subsets": [
12040
+ "latin-ext",
12041
+ "latin"
12042
+ ],
12043
+ "version": "v8",
12044
+ "lastModified": "2019-01-15",
12045
+ "files": {
12046
+ "regular": "http://fonts.gstatic.com/s/niconne/v8/w8gaH2QvRug1_rTfrQut2F4OuOo.ttf"
12047
+ }
12048
+ },
12049
+ {
12050
+ "kind": "webfonts#webfont",
12051
+ "family": "Niramit",
12052
+ "category": "sans-serif",
12053
+ "variants": [
12054
+ "200",
12055
+ "200italic",
12056
+ "300",
12057
+ "300italic",
12058
+ "regular",
12059
+ "italic",
12060
+ "500",
12061
+ "500italic",
12062
+ "600",
12063
+ "600italic",
12064
+ "700",
12065
+ "700italic"
12066
+ ],
12067
+ "subsets": [
12068
+ "latin-ext",
12069
+ "thai",
12070
+ "vietnamese",
12071
+ "latin"
12072
+ ],
12073
+ "version": "v3",
12074
+ "lastModified": "2018-11-29",
12075
+ "files": {
12076
+ "200": "http://fonts.gstatic.com/s/niramit/v3/I_urMpWdvgLdNxVLVXx7tiiEr5_BdZ8.ttf",
12077
+ "300": "http://fonts.gstatic.com/s/niramit/v3/I_urMpWdvgLdNxVLVRh4tiiEr5_BdZ8.ttf",
12078
+ "500": "http://fonts.gstatic.com/s/niramit/v3/I_urMpWdvgLdNxVLVUB5tiiEr5_BdZ8.ttf",
12079
+ "600": "http://fonts.gstatic.com/s/niramit/v3/I_urMpWdvgLdNxVLVWx-tiiEr5_BdZ8.ttf",
12080
+ "700": "http://fonts.gstatic.com/s/niramit/v3/I_urMpWdvgLdNxVLVQh_tiiEr5_BdZ8.ttf",
12081
+ "200italic": "http://fonts.gstatic.com/s/niramit/v3/I_upMpWdvgLdNxVLXbZiXimOq73EZZ_f6w.ttf",
12082
+ "300italic": "http://fonts.gstatic.com/s/niramit/v3/I_upMpWdvgLdNxVLXbZiOiqOq73EZZ_f6w.ttf",
12083
+ "regular": "http://fonts.gstatic.com/s/niramit/v3/I_uuMpWdvgLdNxVLbbRQkiCvs5Y.ttf",
12084
+ "italic": "http://fonts.gstatic.com/s/niramit/v3/I_usMpWdvgLdNxVLXbZalgKqo5bYbA.ttf",
12085
+ "500italic": "http://fonts.gstatic.com/s/niramit/v3/I_upMpWdvgLdNxVLXbZiYiuOq73EZZ_f6w.ttf",
12086
+ "600italic": "http://fonts.gstatic.com/s/niramit/v3/I_upMpWdvgLdNxVLXbZiTiyOq73EZZ_f6w.ttf",
12087
+ "700italic": "http://fonts.gstatic.com/s/niramit/v3/I_upMpWdvgLdNxVLXbZiKi2Oq73EZZ_f6w.ttf"
12088
+ }
12089
+ },
12090
+ {
12091
+ "kind": "webfonts#webfont",
12092
+ "family": "Nixie One",
12093
+ "category": "display",
12094
+ "variants": [
12095
+ "regular"
12096
+ ],
12097
+ "subsets": [
12098
+ "latin"
12099
+ ],
12100
+ "version": "v9",
12101
+ "lastModified": "2019-01-10",
12102
+ "files": {
12103
+ "regular": "http://fonts.gstatic.com/s/nixieone/v9/lW-8wjkKLXjg5y2o2uUoUOFzpS-yLw.ttf"
12104
+ }
12105
+ },
12106
+ {
12107
+ "kind": "webfonts#webfont",
12108
+ "family": "Nobile",
12109
+ "category": "sans-serif",
12110
+ "variants": [
12111
+ "regular",
12112
+ "italic",
12113
+ "500",
12114
+ "500italic",
12115
+ "700",
12116
+ "700italic"
12117
+ ],
12118
+ "subsets": [
12119
+ "latin-ext",
12120
+ "latin"
12121
+ ],
12122
+ "version": "v10",
12123
+ "lastModified": "2019-01-15",
12124
+ "files": {
12125
+ "500": "http://fonts.gstatic.com/s/nobile/v10/m8JQjflSeaOVl1iOqo7zcJ5BZmqa3A.ttf",
12126
+ "700": "http://fonts.gstatic.com/s/nobile/v10/m8JQjflSeaOVl1iO4ojzcJ5BZmqa3A.ttf",
12127
+ "regular": "http://fonts.gstatic.com/s/nobile/v10/m8JTjflSeaOVl1i2XqfXeLVdbw.ttf",
12128
+ "italic": "http://fonts.gstatic.com/s/nobile/v10/m8JRjflSeaOVl1iGXK3TWrBNb3OD.ttf",
12129
+ "500italic": "http://fonts.gstatic.com/s/nobile/v10/m8JWjflSeaOVl1iGXJUnc5RFRG-K3Mud.ttf",
12130
+ "700italic": "http://fonts.gstatic.com/s/nobile/v10/m8JWjflSeaOVl1iGXJVvdZRFRG-K3Mud.ttf"
12131
+ }
12132
+ },
12133
+ {
12134
+ "kind": "webfonts#webfont",
12135
+ "family": "Nokora",
12136
+ "category": "serif",
12137
+ "variants": [
12138
+ "regular",
12139
+ "700"
12140
+ ],
12141
+ "subsets": [
12142
+ "khmer"
12143
+ ],
12144
+ "version": "v12",
12145
+ "lastModified": "2018-12-13",
12146
+ "files": {
12147
+ "700": "http://fonts.gstatic.com/s/nokora/v12/hYkLPuwgTubzaWxohxUrqt18-B9Uuw.ttf",
12148
+ "regular": "http://fonts.gstatic.com/s/nokora/v12/hYkIPuwgTubzaWxQOzoPovZg8Q.ttf"
12149
+ }
12150
+ },
12151
+ {
12152
+ "kind": "webfonts#webfont",
12153
+ "family": "Norican",
12154
+ "category": "handwriting",
12155
+ "variants": [
12156
+ "regular"
12157
+ ],
12158
+ "subsets": [
12159
+ "latin-ext",
12160
+ "latin"
12161
+ ],
12162
+ "version": "v7",
12163
+ "lastModified": "2019-01-10",
12164
+ "files": {
12165
+ "regular": "http://fonts.gstatic.com/s/norican/v7/MwQ2bhXp1eSBqjkPGJJRtGs-lbA.ttf"
12166
+ }
12167
+ },
12168
+ {
12169
+ "kind": "webfonts#webfont",
12170
+ "family": "Nosifer",
12171
+ "category": "display",
12172
+ "variants": [
12173
+ "regular"
12174
+ ],
12175
+ "subsets": [
12176
+ "latin-ext",
12177
+ "latin"
12178
+ ],
12179
+ "version": "v7",
12180
+ "lastModified": "2018-12-13",
12181
+ "files": {
12182
+ "regular": "http://fonts.gstatic.com/s/nosifer/v7/ZGjXol5JTp0g5bxZaC1RVDNdGDs.ttf"
12183
+ }
12184
+ },
12185
+ {
12186
+ "kind": "webfonts#webfont",
12187
+ "family": "Notable",
12188
+ "category": "sans-serif",
12189
+ "variants": [
12190
+ "regular"
12191
+ ],
12192
+ "subsets": [
12193
+ "latin"
12194
+ ],
12195
+ "version": "v3",
12196
+ "lastModified": "2018-11-08",
12197
+ "files": {
12198
+ "regular": "http://fonts.gstatic.com/s/notable/v3/gNMEW3N_SIqx-WX9-HMoFIez5MI.ttf"
12199
+ }
12200
+ },
12201
+ {
12202
+ "kind": "webfonts#webfont",
12203
+ "family": "Nothing You Could Do",
12204
+ "category": "handwriting",
12205
+ "variants": [
12206
+ "regular"
12207
+ ],
12208
+ "subsets": [
12209
+ "latin"
12210
+ ],
12211
+ "version": "v8",
12212
+ "lastModified": "2019-01-15",
12213
+ "files": {
12214
+ "regular": "http://fonts.gstatic.com/s/nothingyoucoulddo/v8/oY1B8fbBpaP5OX3DtrRYf_Q2BPB1SnfZb0OJl1ol2Ymo.ttf"
12215
+ }
12216
+ },
12217
+ {
12218
+ "kind": "webfonts#webfont",
12219
+ "family": "Noticia Text",
12220
+ "category": "serif",
12221
+ "variants": [
12222
+ "regular",
12223
+ "italic",
12224
+ "700",
12225
+ "700italic"
12226
+ ],
12227
+ "subsets": [
12228
+ "latin-ext",
12229
+ "vietnamese",
12230
+ "latin"
12231
+ ],
12232
+ "version": "v8",
12233
+ "lastModified": "2019-01-15",
12234
+ "files": {
12235
+ "700": "http://fonts.gstatic.com/s/noticiatext/v8/VuJpdNDF2Yv9qppOePKYRP1-3R59v2HRrDH0eA.ttf",
12236
+ "regular": "http://fonts.gstatic.com/s/noticiatext/v8/VuJ2dNDF2Yv9qppOePKYRP1GYTFZt0rNpQ.ttf",
12237
+ "italic": "http://fonts.gstatic.com/s/noticiatext/v8/VuJodNDF2Yv9qppOePKYRP12YztdlU_dpSjt.ttf",
12238
+ "700italic": "http://fonts.gstatic.com/s/noticiatext/v8/VuJrdNDF2Yv9qppOePKYRP12YwPhumvVjjTkeMnz.ttf"
12239
+ }
12240
+ },
12241
+ {
12242
+ "kind": "webfonts#webfont",
12243
+ "family": "Noto Sans",
12244
+ "category": "sans-serif",
12245
+ "variants": [
12246
+ "regular",
12247
+ "italic",
12248
+ "700",
12249
+ "700italic"
12250
+ ],
12251
+ "subsets": [
12252
+ "latin-ext",
12253
+ "greek-ext",
12254
+ "cyrillic-ext",
12255
+ "cyrillic",
12256
+ "greek",
12257
+ "devanagari",
12258
+ "vietnamese",
12259
+ "latin"
12260
+ ],
12261
+ "version": "v7",
12262
+ "lastModified": "2017-10-11",
12263
+ "files": {
12264
+ "700": "http://fonts.gstatic.com/s/notosans/v7/o-0NIpQlx3QUlC5A4PNjXhFlYw.ttf",
12265
+ "regular": "http://fonts.gstatic.com/s/notosans/v7/o-0IIpQlx3QUlC5A4PNb4g.ttf",
12266
+ "italic": "http://fonts.gstatic.com/s/notosans/v7/o-0OIpQlx3QUlC5A4PNr4DRF.ttf",
12267
+ "700italic": "http://fonts.gstatic.com/s/notosans/v7/o-0TIpQlx3QUlC5A4PNr4Az5ZtyE.ttf"
12268
+ }
12269
+ },
12270
+ {
12271
+ "kind": "webfonts#webfont",
12272
+ "family": "Noto Sans JP",
12273
+ "category": "sans-serif",
12274
+ "variants": [
12275
+ "100",
12276
+ "300",
12277
+ "regular",
12278
+ "500",
12279
+ "700",
12280
+ "900"
12281
+ ],
12282
+ "subsets": [
12283
+ "japanese",
12284
+ "latin"
12285
+ ],
12286
+ "version": "v20",
12287
+ "lastModified": "2018-12-05",
12288
+ "files": {
12289
+ "100": "http://fonts.gstatic.com/s/notosansjp/v20/-F6ofjtqLzI2JPCgQBnw7HFQoggM.otf",
12290
+ "300": "http://fonts.gstatic.com/s/notosansjp/v20/-F6pfjtqLzI2JPCgQBnw7HFQaioq1A.otf",
12291
+ "500": "http://fonts.gstatic.com/s/notosansjp/v20/-F6pfjtqLzI2JPCgQBnw7HFQMisq1A.otf",
12292
+ "700": "http://fonts.gstatic.com/s/notosansjp/v20/-F6pfjtqLzI2JPCgQBnw7HFQei0q1A.otf",
12293
+ "900": "http://fonts.gstatic.com/s/notosansjp/v20/-F6pfjtqLzI2JPCgQBnw7HFQQi8q1A.otf",
12294
+ "regular": "http://fonts.gstatic.com/s/notosansjp/v20/-F62fjtqLzI2JPCgQBnw7HFowA.otf"
12295
+ }
12296
+ },
12297
+ {
12298
+ "kind": "webfonts#webfont",
12299
+ "family": "Noto Sans KR",
12300
+ "category": "sans-serif",
12301
+ "variants": [
12302
+ "100",
12303
+ "300",
12304
+ "regular",
12305
+ "500",
12306
+ "700",
12307
+ "900"
12308
+ ],
12309
+ "subsets": [
12310
+ "korean",
12311
+ "latin"
12312
+ ],
12313
+ "version": "v8",
12314
+ "lastModified": "2018-10-16",
12315
+ "files": {
12316
+ "100": "http://fonts.gstatic.com/s/notosanskr/v8/Pby6FmXiEBPT4ITbgNA5CgmOsn7u.otf",
12317
+ "300": "http://fonts.gstatic.com/s/notosanskr/v8/Pby7FmXiEBPT4ITbgNA5CgmOelzI7g.otf",
12318
+ "500": "http://fonts.gstatic.com/s/notosanskr/v8/Pby7FmXiEBPT4ITbgNA5CgmOIl3I7g.otf",
12319
+ "700": "http://fonts.gstatic.com/s/notosanskr/v8/Pby7FmXiEBPT4ITbgNA5CgmOalvI7g.otf",
12320
+ "900": "http://fonts.gstatic.com/s/notosanskr/v8/Pby7FmXiEBPT4ITbgNA5CgmOUlnI7g.otf",
12321
+ "regular": "http://fonts.gstatic.com/s/notosanskr/v8/PbykFmXiEBPT4ITbgNA5Cgm20A.otf"
12322
+ }
12323
+ },
12324
+ {
12325
+ "kind": "webfonts#webfont",
12326
+ "family": "Noto Sans SC",
12327
+ "category": "sans-serif",
12328
+ "variants": [
12329
+ "100",
12330
+ "300",
12331
+ "regular",
12332
+ "500",
12333
+ "700",
12334
+ "900"
12335
+ ],
12336
+ "subsets": [
12337
+ "japanese",
12338
+ "chinese-simplified",
12339
+ "cyrillic",
12340
+ "vietnamese",
12341
+ "latin"
12342
+ ],
12343
+ "version": "v4",
12344
+ "lastModified": "2018-12-05",
12345
+ "files": {
12346
+ "100": "http://fonts.gstatic.com/s/notosanssc/v4/k3kJo84MPvpLmixcA63oeALZTYKL2wv287Sb.otf",
12347
+ "300": "http://fonts.gstatic.com/s/notosanssc/v4/k3kIo84MPvpLmixcA63oeALZhaCt9yX6-q2CGg.otf",
12348
+ "500": "http://fonts.gstatic.com/s/notosanssc/v4/k3kIo84MPvpLmixcA63oeALZ3aGt9yX6-q2CGg.otf",
12349
+ "700": "http://fonts.gstatic.com/s/notosanssc/v4/k3kIo84MPvpLmixcA63oeALZlaet9yX6-q2CGg.otf",
12350
+ "900": "http://fonts.gstatic.com/s/notosanssc/v4/k3kIo84MPvpLmixcA63oeALZraWt9yX6-q2CGg.otf",
12351
+ "regular": "http://fonts.gstatic.com/s/notosanssc/v4/k3kXo84MPvpLmixcA63oeALhL4iJ-Q7m8w.otf"
12352
+ }
12353
+ },
12354
+ {
12355
+ "kind": "webfonts#webfont",
12356
+ "family": "Noto Sans TC",
12357
+ "category": "sans-serif",
12358
+ "variants": [
12359
+ "100",
12360
+ "300",
12361
+ "regular",
12362
+ "500",
12363
+ "700",
12364
+ "900"
12365
+ ],
12366
+ "subsets": [
12367
+ "japanese",
12368
+ "chinese-traditional",
12369
+ "latin"
12370
+ ],
12371
+ "version": "v4",
12372
+ "lastModified": "2018-12-05",
12373
+ "files": {
12374
+ "100": "http://fonts.gstatic.com/s/notosanstc/v4/-nFlOG829Oofr2wohFbTp9i9WyEJIfNZ1sjy.otf",
12375
+ "300": "http://fonts.gstatic.com/s/notosanstc/v4/-nFkOG829Oofr2wohFbTp9i9kwMvDd1V39Hr7g.otf",
12376
+ "500": "http://fonts.gstatic.com/s/notosanstc/v4/-nFkOG829Oofr2wohFbTp9i9ywIvDd1V39Hr7g.otf",
12377
+ "700": "http://fonts.gstatic.com/s/notosanstc/v4/-nFkOG829Oofr2wohFbTp9i9gwQvDd1V39Hr7g.otf",
12378
+ "900": "http://fonts.gstatic.com/s/notosanstc/v4/-nFkOG829Oofr2wohFbTp9i9uwYvDd1V39Hr7g.otf",
12379
+ "regular": "http://fonts.gstatic.com/s/notosanstc/v4/-nF7OG829Oofr2wohFbTp9iFOSsLA_ZJ1g.otf"
12380
+ }
12381
+ },
12382
+ {
12383
+ "kind": "webfonts#webfont",
12384
+ "family": "Noto Serif",
12385
+ "category": "serif",
12386
+ "variants": [
12387
+ "regular",
12388
+ "italic",
12389
+ "700",
12390
+ "700italic"
12391
+ ],
12392
+ "subsets": [
12393
+ "latin-ext",
12394
+ "greek-ext",
12395
+ "cyrillic-ext",
12396
+ "cyrillic",
12397
+ "greek",
12398
+ "vietnamese",
12399
+ "latin"
12400
+ ],
12401
+ "version": "v6",
12402
+ "lastModified": "2017-11-21",
12403
+ "files": {
12404
+ "700": "http://fonts.gstatic.com/s/notoserif/v6/ga6Law1J5X9T9RW6j9bNdOwzTRA.ttf",
12405
+ "regular": "http://fonts.gstatic.com/s/notoserif/v6/ga6Iaw1J5X9T9RW6j9bNTFA.ttf",
12406
+ "italic": "http://fonts.gstatic.com/s/notoserif/v6/ga6Kaw1J5X9T9RW6j9bNfFIWbQ.ttf",
12407
+ "700italic": "http://fonts.gstatic.com/s/notoserif/v6/ga6Vaw1J5X9T9RW6j9bNfFIu0RWedA.ttf"
12408
+ }
12409
+ },
12410
+ {
12411
+ "kind": "webfonts#webfont",
12412
+ "family": "Noto Serif JP",
12413
+ "category": "serif",
12414
+ "variants": [
12415
+ "200",
12416
+ "300",
12417
+ "regular",
12418
+ "500",
12419
+ "600",
12420
+ "700",
12421
+ "900"
12422
+ ],
12423
+ "subsets": [
12424
+ "japanese",
12425
+ "latin"
12426
+ ],
12427
+ "version": "v4",
12428
+ "lastModified": "2019-01-10",
12429
+ "files": {
12430
+ "200": "http://fonts.gstatic.com/s/notoserifjp/v4/xn77YHs72GKoTvER4Gn3b5eMZBaPRkgfU8fEwb0.otf",
12431
+ "300": "http://fonts.gstatic.com/s/notoserifjp/v4/xn77YHs72GKoTvER4Gn3b5eMZHKMRkgfU8fEwb0.otf",
12432
+ "500": "http://fonts.gstatic.com/s/notoserifjp/v4/xn77YHs72GKoTvER4Gn3b5eMZCqNRkgfU8fEwb0.otf",
12433
+ "600": "http://fonts.gstatic.com/s/notoserifjp/v4/xn77YHs72GKoTvER4Gn3b5eMZAaKRkgfU8fEwb0.otf",
12434
+ "700": "http://fonts.gstatic.com/s/notoserifjp/v4/xn77YHs72GKoTvER4Gn3b5eMZGKLRkgfU8fEwb0.otf",
12435
+ "900": "http://fonts.gstatic.com/s/notoserifjp/v4/xn77YHs72GKoTvER4Gn3b5eMZFqJRkgfU8fEwb0.otf",
12436
+ "regular": "http://fonts.gstatic.com/s/notoserifjp/v4/xn7mYHs72GKoTvER4Gn3b5eMXNikYkY0T84.otf"
12437
+ }
12438
+ },
12439
+ {
12440
+ "kind": "webfonts#webfont",
12441
+ "family": "Noto Serif KR",
12442
+ "category": "serif",
12443
+ "variants": [
12444
+ "200",
12445
+ "300",
12446
+ "regular",
12447
+ "500",
12448
+ "600",
12449
+ "700",
12450
+ "900"
12451
+ ],
12452
+ "subsets": [
12453
+ "korean",
12454
+ "latin"
12455
+ ],
12456
+ "version": "v3",
12457
+ "lastModified": "2018-12-13",
12458
+ "files": {
12459
+ "200": "http://fonts.gstatic.com/s/notoserifkr/v3/3JnmSDn90Gmq2mr3blnHaTZXTihC8O1ZNH1ahck.otf",
12460
+ "300": "http://fonts.gstatic.com/s/notoserifkr/v3/3JnmSDn90Gmq2mr3blnHaTZXTkxB8O1ZNH1ahck.otf",
12461
+ "500": "http://fonts.gstatic.com/s/notoserifkr/v3/3JnmSDn90Gmq2mr3blnHaTZXThRA8O1ZNH1ahck.otf",
12462
+ "600": "http://fonts.gstatic.com/s/notoserifkr/v3/3JnmSDn90Gmq2mr3blnHaTZXTjhH8O1ZNH1ahck.otf",
12463
+ "700": "http://fonts.gstatic.com/s/notoserifkr/v3/3JnmSDn90Gmq2mr3blnHaTZXTlxG8O1ZNH1ahck.otf",
12464
+ "900": "http://fonts.gstatic.com/s/notoserifkr/v3/3JnmSDn90Gmq2mr3blnHaTZXTmRE8O1ZNH1ahck.otf",
12465
+ "regular": "http://fonts.gstatic.com/s/notoserifkr/v3/3Jn7SDn90Gmq2mr3blnHaTZXduZp1ONyKHQ.otf"
12466
+ }
12467
+ },
12468
+ {
12469
+ "kind": "webfonts#webfont",
12470
+ "family": "Noto Serif SC",
12471
+ "category": "serif",
12472
+ "variants": [
12473
+ "200",
12474
+ "300",
12475
+ "regular",
12476
+ "500",
12477
+ "600",
12478
+ "700",
12479
+ "900"
12480
+ ],
12481
+ "subsets": [
12482
+ "japanese",
12483
+ "chinese-simplified",
12484
+ "cyrillic",
12485
+ "vietnamese",
12486
+ "latin"
12487
+ ],
12488
+ "version": "v2",
12489
+ "lastModified": "2018-12-13",
12490
+ "files": {
12491
+ "200": "http://fonts.gstatic.com/s/notoserifsc/v2/H4c8BXePl9DZ0Xe7gG9cyOj7mm63SzZBEtERe7U.otf",
12492
+ "300": "http://fonts.gstatic.com/s/notoserifsc/v2/H4c8BXePl9DZ0Xe7gG9cyOj7mgq0SzZBEtERe7U.otf",
12493
+ "500": "http://fonts.gstatic.com/s/notoserifsc/v2/H4c8BXePl9DZ0Xe7gG9cyOj7mlK1SzZBEtERe7U.otf",
12494
+ "600": "http://fonts.gstatic.com/s/notoserifsc/v2/H4c8BXePl9DZ0Xe7gG9cyOj7mn6ySzZBEtERe7U.otf",
12495
+ "700": "http://fonts.gstatic.com/s/notoserifsc/v2/H4c8BXePl9DZ0Xe7gG9cyOj7mhqzSzZBEtERe7U.otf",
12496
+ "900": "http://fonts.gstatic.com/s/notoserifsc/v2/H4c8BXePl9DZ0Xe7gG9cyOj7miKxSzZBEtERe7U.otf",
12497
+ "regular": "http://fonts.gstatic.com/s/notoserifsc/v2/H4chBXePl9DZ0Xe7gG9cyOj7oqCcbzhqDtg.otf"
12498
+ }
12499
+ },
12500
+ {
12501
+ "kind": "webfonts#webfont",
12502
+ "family": "Noto Serif TC",
12503
+ "category": "serif",
12504
+ "variants": [
12505
+ "200",
12506
+ "300",
12507
+ "regular",
12508
+ "500",
12509
+ "600",
12510
+ "700",
12511
+ "900"
12512
+ ],
12513
+ "subsets": [
12514
+ "japanese",
12515
+ "chinese-traditional",
12516
+ "cyrillic",
12517
+ "vietnamese",
12518
+ "latin"
12519
+ ],
12520
+ "version": "v2",
12521
+ "lastModified": "2018-12-13",
12522
+ "files": {
12523
+ "200": "http://fonts.gstatic.com/s/notoseriftc/v2/XLY9IZb5bJNDGYxLBibeHZ0Bvr8vbX9GTsoOAX4.otf",
12524
+ "300": "http://fonts.gstatic.com/s/notoseriftc/v2/XLY9IZb5bJNDGYxLBibeHZ0BvtssbX9GTsoOAX4.otf",
12525
+ "500": "http://fonts.gstatic.com/s/notoseriftc/v2/XLY9IZb5bJNDGYxLBibeHZ0BvoMtbX9GTsoOAX4.otf",
12526
+ "600": "http://fonts.gstatic.com/s/notoseriftc/v2/XLY9IZb5bJNDGYxLBibeHZ0Bvq8qbX9GTsoOAX4.otf",
12527
+ "700": "http://fonts.gstatic.com/s/notoseriftc/v2/XLY9IZb5bJNDGYxLBibeHZ0BvssrbX9GTsoOAX4.otf",
12528
+ "900": "http://fonts.gstatic.com/s/notoseriftc/v2/XLY9IZb5bJNDGYxLBibeHZ0BvvMpbX9GTsoOAX4.otf",
12529
+ "regular": "http://fonts.gstatic.com/s/notoseriftc/v2/XLYgIZb5bJNDGYxLBibeHZ0BhnEESXFtUsM.otf"
12530
+ }
12531
+ },
12532
+ {
12533
+ "kind": "webfonts#webfont",
12534
+ "family": "Nova Cut",
12535
+ "category": "display",
12536
+ "variants": [
12537
+ "regular"
12538
+ ],
12539
+ "subsets": [
12540
+ "latin"
12541
+ ],
12542
+ "version": "v10",
12543
+ "lastModified": "2018-11-29",
12544
+ "files": {
12545
+ "regular": "http://fonts.gstatic.com/s/novacut/v10/KFOkCnSYu8mL-39LkWxPKTM1K9nz.ttf"
12546
+ }
12547
+ },
12548
+ {
12549
+ "kind": "webfonts#webfont",
12550
+ "family": "Nova Flat",
12551
+ "category": "display",
12552
+ "variants": [
12553
+ "regular"
12554
+ ],
12555
+ "subsets": [
12556
+ "latin"
12557
+ ],
12558
+ "version": "v10",
12559
+ "lastModified": "2018-12-13",
12560
+ "files": {
12561
+ "regular": "http://fonts.gstatic.com/s/novaflat/v10/QdVUSTc-JgqpytEbVebEuStkm20oJA.ttf"
12562
+ }
12563
+ },
12564
+ {
12565
+ "kind": "webfonts#webfont",
12566
+ "family": "Nova Mono",
12567
+ "category": "monospace",
12568
+ "variants": [
12569
+ "regular"
12570
+ ],
12571
+ "subsets": [
12572
+ "greek",
12573
+ "latin"
12574
+ ],
12575
+ "version": "v9",
12576
+ "lastModified": "2019-01-10",
12577
+ "files": {
12578
+ "regular": "http://fonts.gstatic.com/s/novamono/v9/Cn-0JtiGWQ5Ajb--MRKfYGxYrdM9Sg.ttf"
12579
+ }
12580
+ },
12581
+ {
12582
+ "kind": "webfonts#webfont",
12583
+ "family": "Nova Oval",
12584
+ "category": "display",
12585
+ "variants": [
12586
+ "regular"
12587
+ ],
12588
+ "subsets": [
12589
+ "latin"
12590
+ ],
12591
+ "version": "v10",
12592
+ "lastModified": "2018-11-29",
12593
+ "files": {
12594
+ "regular": "http://fonts.gstatic.com/s/novaoval/v10/jAnEgHdmANHvPenMaswCMY-h3cWkWg.ttf"
12595
+ }
12596
+ },
12597
+ {
12598
+ "kind": "webfonts#webfont",
12599
+ "family": "Nova Round",
12600
+ "category": "display",
12601
+ "variants": [
12602
+ "regular"
12603
+ ],
12604
+ "subsets": [
12605
+ "latin"
12606
+ ],
12607
+ "version": "v10",
12608
+ "lastModified": "2018-12-13",
12609
+ "files": {
12610
+ "regular": "http://fonts.gstatic.com/s/novaround/v10/flU9Rqquw5UhEnlwTJYTYYfeeetYEBc.ttf"
12611
+ }
12612
+ },
12613
+ {
12614
+ "kind": "webfonts#webfont",
12615
+ "family": "Nova Script",
12616
+ "category": "display",
12617
+ "variants": [
12618
+ "regular"
12619
+ ],
12620
+ "subsets": [
12621
+ "latin"
12622
+ ],
12623
+ "version": "v11",
12624
+ "lastModified": "2018-11-29",
12625
+ "files": {
12626
+ "regular": "http://fonts.gstatic.com/s/novascript/v11/7Au7p_IpkSWSTWaFWkumvmQNEl0O0kEx.ttf"
12627
+ }
12628
+ },
12629
+ {
12630
+ "kind": "webfonts#webfont",
12631
+ "family": "Nova Slim",
12632
+ "category": "display",
12633
+ "variants": [
12634
+ "regular"
12635
+ ],
12636
+ "subsets": [
12637
+ "latin"
12638
+ ],
12639
+ "version": "v10",
12640
+ "lastModified": "2018-12-13",
12641
+ "files": {
12642
+ "regular": "http://fonts.gstatic.com/s/novaslim/v10/Z9XUDmZNQAuem8jyZcn-yMOInrib9Q.ttf"
12643
+ }
12644
+ },
12645
+ {
12646
+ "kind": "webfonts#webfont",
12647
+ "family": "Nova Square",
12648
+ "category": "display",
12649
+ "variants": [
12650
+ "regular"
12651
+ ],
12652
+ "subsets": [
12653
+ "latin"
12654
+ ],
12655
+ "version": "v11",
12656
+ "lastModified": "2019-01-10",
12657
+ "files": {
12658
+ "regular": "http://fonts.gstatic.com/s/novasquare/v11/RrQUbo9-9DV7b06QHgSWsZhARYMgGtWA.ttf"
12659
+ }
12660
+ },
12661
+ {
12662
+ "kind": "webfonts#webfont",
12663
+ "family": "Numans",
12664
+ "category": "sans-serif",
12665
+ "variants": [
12666
+ "regular"
12667
+ ],
12668
+ "subsets": [
12669
+ "latin"
12670
+ ],
12671
+ "version": "v8",
12672
+ "lastModified": "2018-12-13",
12673
+ "files": {
12674
+ "regular": "http://fonts.gstatic.com/s/numans/v8/SlGRmQmGupYAfH8IYRggiHVqaQ.ttf"
12675
+ }
12676
+ },
12677
+ {
12678
+ "kind": "webfonts#webfont",
12679
+ "family": "Nunito",
12680
+ "category": "sans-serif",
12681
+ "variants": [
12682
+ "200",
12683
+ "200italic",
12684
+ "300",
12685
+ "300italic",
12686
+ "regular",
12687
+ "italic",
12688
+ "600",
12689
+ "600italic",
12690
+ "700",
12691
+ "700italic",
12692
+ "800",
12693
+ "800italic",
12694
+ "900",
12695
+ "900italic"
12696
+ ],
12697
+ "subsets": [
12698
+ "latin-ext",
12699
+ "vietnamese",
12700
+ "latin"
12701
+ ],
12702
+ "version": "v9",
12703
+ "lastModified": "2017-10-10",
12704
+ "files": {
12705
+ "200": "http://fonts.gstatic.com/s/nunito/v9/XRXW3I6Li01BKofA-sekZg.ttf",
12706
+ "300": "http://fonts.gstatic.com/s/nunito/v9/XRXW3I6Li01BKofAnsSkZg.ttf",
12707
+ "600": "http://fonts.gstatic.com/s/nunito/v9/XRXW3I6Li01BKofA6sKkZg.ttf",
12708
+ "700": "http://fonts.gstatic.com/s/nunito/v9/XRXW3I6Li01BKofAjsOkZg.ttf",
12709
+ "800": "http://fonts.gstatic.com/s/nunito/v9/XRXW3I6Li01BKofAksCkZg.ttf",
12710
+ "900": "http://fonts.gstatic.com/s/nunito/v9/XRXW3I6Li01BKofAtsGkZg.ttf",
12711
+ "200italic": "http://fonts.gstatic.com/s/nunito/v9/XRXQ3I6Li01BKofIMN5MZ-vN.ttf",
12712
+ "300italic": "http://fonts.gstatic.com/s/nunito/v9/XRXQ3I6Li01BKofIMN4oZOvN.ttf",
12713
+ "regular": "http://fonts.gstatic.com/s/nunito/v9/XRXV3I6Li01BKof4Mg.ttf",
12714
+ "italic": "http://fonts.gstatic.com/s/nunito/v9/XRXX3I6Li01BKofIMOaE.ttf",
12715
+ "600italic": "http://fonts.gstatic.com/s/nunito/v9/XRXQ3I6Li01BKofIMN5cYuvN.ttf",
12716
+ "700italic": "http://fonts.gstatic.com/s/nunito/v9/XRXQ3I6Li01BKofIMN44Y-vN.ttf",
12717
+ "800italic": "http://fonts.gstatic.com/s/nunito/v9/XRXQ3I6Li01BKofIMN4kYOvN.ttf",
12718
+ "900italic": "http://fonts.gstatic.com/s/nunito/v9/XRXQ3I6Li01BKofIMN4AYevN.ttf"
12719
+ }
12720
+ },
12721
+ {
12722
+ "kind": "webfonts#webfont",
12723
+ "family": "Nunito Sans",
12724
+ "category": "sans-serif",
12725
+ "variants": [
12726
+ "200",
12727
+ "200italic",
12728
+ "300",
12729
+ "300italic",
12730
+ "regular",
12731
+ "italic",
12732
+ "600",
12733
+ "600italic",
12734
+ "700",
12735
+ "700italic",
12736
+ "800",
12737
+ "800italic",
12738
+ "900",
12739
+ "900italic"
12740
+ ],
12741
+ "subsets": [
12742
+ "latin-ext",
12743
+ "vietnamese",
12744
+ "latin"
12745
+ ],
12746
+ "version": "v3",
12747
+ "lastModified": "2017-10-10",
12748
+ "files": {
12749
+ "200": "http://fonts.gstatic.com/s/nunitosans/v3/pe03MImSLYBIv1o4X1M8cc9yAv5q.ttf",
12750
+ "300": "http://fonts.gstatic.com/s/nunitosans/v3/pe03MImSLYBIv1o4X1M8cc8WAf5q.ttf",
12751
+ "600": "http://fonts.gstatic.com/s/nunitosans/v3/pe03MImSLYBIv1o4X1M8cc9iB_5q.ttf",
12752
+ "700": "http://fonts.gstatic.com/s/nunitosans/v3/pe03MImSLYBIv1o4X1M8cc8GBv5q.ttf",
12753
+ "800": "http://fonts.gstatic.com/s/nunitosans/v3/pe03MImSLYBIv1o4X1M8cc8aBf5q.ttf",
12754
+ "900": "http://fonts.gstatic.com/s/nunitosans/v3/pe03MImSLYBIv1o4X1M8cc8-BP5q.ttf",
12755
+ "200italic": "http://fonts.gstatic.com/s/nunitosans/v3/pe01MImSLYBIv1o4X1M8cce4GxZrU1Q.ttf",
12756
+ "300italic": "http://fonts.gstatic.com/s/nunitosans/v3/pe01MImSLYBIv1o4X1M8cce4G3JoU1Q.ttf",
12757
+ "regular": "http://fonts.gstatic.com/s/nunitosans/v3/pe0qMImSLYBIv1o4X1M8cfe6.ttf",
12758
+ "italic": "http://fonts.gstatic.com/s/nunitosans/v3/pe0oMImSLYBIv1o4X1M8cce4I94.ttf",
12759
+ "600italic": "http://fonts.gstatic.com/s/nunitosans/v3/pe01MImSLYBIv1o4X1M8cce4GwZuU1Q.ttf",
12760
+ "700italic": "http://fonts.gstatic.com/s/nunitosans/v3/pe01MImSLYBIv1o4X1M8cce4G2JvU1Q.ttf",
12761
+ "800italic": "http://fonts.gstatic.com/s/nunitosans/v3/pe01MImSLYBIv1o4X1M8cce4G35sU1Q.ttf",
12762
+ "900italic": "http://fonts.gstatic.com/s/nunitosans/v3/pe01MImSLYBIv1o4X1M8cce4G1ptU1Q.ttf"
12763
+ }
12764
+ },
12765
+ {
12766
+ "kind": "webfonts#webfont",
12767
+ "family": "Odor Mean Chey",
12768
+ "category": "display",
12769
+ "variants": [
12770
+ "regular"
12771
+ ],
12772
+ "subsets": [
12773
+ "khmer"
12774
+ ],
12775
+ "version": "v10",
12776
+ "lastModified": "2018-12-13",
12777
+ "files": {
12778
+ "regular": "http://fonts.gstatic.com/s/odormeanchey/v10/raxkHiKDttkTe1aOGcJMR1A_4mrY2zqUKafv.ttf"
12779
+ }
12780
+ },
12781
+ {
12782
+ "kind": "webfonts#webfont",
12783
+ "family": "Offside",
12784
+ "category": "display",
12785
+ "variants": [
12786
+ "regular"
12787
+ ],
12788
+ "subsets": [
12789
+ "latin"
12790
+ ],
12791
+ "version": "v6",
12792
+ "lastModified": "2018-12-13",
12793
+ "files": {
12794
+ "regular": "http://fonts.gstatic.com/s/offside/v6/HI_KiYMWKa9QrAykQ5HiRp-dhpQ.ttf"
12795
+ }
12796
+ },
12797
+ {
12798
+ "kind": "webfonts#webfont",
12799
+ "family": "Old Standard TT",
12800
+ "category": "serif",
12801
+ "variants": [
12802
+ "regular",
12803
+ "italic",
12804
+ "700"
12805
+ ],
12806
+ "subsets": [
12807
+ "latin-ext",
12808
+ "cyrillic-ext",
12809
+ "cyrillic",
12810
+ "vietnamese",
12811
+ "latin"
12812
+ ],
12813
+ "version": "v11",
12814
+ "lastModified": "2019-01-15",
12815
+ "files": {
12816
+ "700": "http://fonts.gstatic.com/s/oldstandardtt/v11/MwQrbh3o1vLImiwAVvYawgcf2eVWEX-dTFxeb80flQ.ttf",
12817
+ "regular": "http://fonts.gstatic.com/s/oldstandardtt/v11/MwQubh3o1vLImiwAVvYawgcf2eVurVC5RHdCZg.ttf",
12818
+ "italic": "http://fonts.gstatic.com/s/oldstandardtt/v11/MwQsbh3o1vLImiwAVvYawgcf2eVer1q9ZnJSZtQG.ttf"
12819
+ }
12820
+ },
12821
+ {
12822
+ "kind": "webfonts#webfont",
12823
+ "family": "Oldenburg",
12824
+ "category": "display",
12825
+ "variants": [
12826
+ "regular"
12827
+ ],
12828
+ "subsets": [
12829
+ "latin-ext",
12830
+ "latin"
12831
+ ],
12832
+ "version": "v6",
12833
+ "lastModified": "2018-12-13",
12834
+ "files": {
12835
+ "regular": "http://fonts.gstatic.com/s/oldenburg/v6/fC1jPY5JYWzbywv7c4V6UU6oXyndrw.ttf"
12836
+ }
12837
+ },
12838
+ {
12839
+ "kind": "webfonts#webfont",
12840
+ "family": "Oleo Script",
12841
+ "category": "display",
12842
+ "variants": [
12843
+ "regular",
12844
+ "700"
12845
+ ],
12846
+ "subsets": [
12847
+ "latin-ext",
12848
+ "latin"
12849
+ ],
12850
+ "version": "v7",
12851
+ "lastModified": "2019-01-15",
12852
+ "files": {
12853
+ "700": "http://fonts.gstatic.com/s/oleoscript/v7/raxkHieDvtMOe0iICsUccCDmnmrY2zqUKafv.ttf",
12854
+ "regular": "http://fonts.gstatic.com/s/oleoscript/v7/rax5HieDvtMOe0iICsUccBhasU7Q8Cad.ttf"
12855
+ }
12856
+ },
12857
+ {
12858
+ "kind": "webfonts#webfont",
12859
+ "family": "Oleo Script Swash Caps",
12860
+ "category": "display",
12861
+ "variants": [
12862
+ "regular",
12863
+ "700"
12864
+ ],
12865
+ "subsets": [
12866
+ "latin-ext",
12867
+ "latin"
12868
+ ],
12869
+ "version": "v6",
12870
+ "lastModified": "2019-01-10",
12871
+ "files": {
12872
+ "700": "http://fonts.gstatic.com/s/oleoscriptswashcaps/v6/Noag6Vb-w5SFbTTAsZP_7JkCS08K-jCzDn_HCcaBbYUsn9T5dt0.ttf",
12873
+ "regular": "http://fonts.gstatic.com/s/oleoscriptswashcaps/v6/Noaj6Vb-w5SFbTTAsZP_7JkCS08K-jCzDn_HMXquSY0Hg90.ttf"
12874
+ }
12875
+ },
12876
+ {
12877
+ "kind": "webfonts#webfont",
12878
+ "family": "Open Sans",
12879
+ "category": "sans-serif",
12880
+ "variants": [
12881
+ "300",
12882
+ "300italic",
12883
+ "regular",
12884
+ "italic",
12885
+ "600",
12886
+ "600italic",
12887
+ "700",
12888
+ "700italic",
12889
+ "800",
12890
+ "800italic"
12891
+ ],
12892
+ "subsets": [
12893
+ "latin-ext",
12894
+ "greek-ext",
12895
+ "cyrillic-ext",
12896
+ "cyrillic",
12897
+ "greek",
12898
+ "vietnamese",
12899
+ "latin"
12900
+ ],
12901
+ "version": "v15",
12902
+ "lastModified": "2017-10-11",
12903
+ "files": {
12904
+ "300": "http://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN_r8-VQ.ttf",
12905
+ "600": "http://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UNirk-VQ.ttf",
12906
+ "700": "http://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN7rg-VQ.ttf",
12907
+ "800": "http://fonts.gstatic.com/s/opensans/v15/mem5YaGs126MiZpBA-UN8rs-VQ.ttf",
12908
+ "300italic": "http://fonts.gstatic.com/s/opensans/v15/memnYaGs126MiZpBA-UFUKWyV-hs.ttf",
12909
+ "regular": "http://fonts.gstatic.com/s/opensans/v15/mem8YaGs126MiZpBA-U1Ug.ttf",
12910
+ "italic": "http://fonts.gstatic.com/s/opensans/v15/mem6YaGs126MiZpBA-UFUJ0e.ttf",
12911
+ "600italic": "http://fonts.gstatic.com/s/opensans/v15/memnYaGs126MiZpBA-UFUKXGUehs.ttf",
12912
+ "700italic": "http://fonts.gstatic.com/s/opensans/v15/memnYaGs126MiZpBA-UFUKWiUOhs.ttf",
12913
+ "800italic": "http://fonts.gstatic.com/s/opensans/v15/memnYaGs126MiZpBA-UFUKW-U-hs.ttf"
12914
+ }
12915
+ },
12916
+ {
12917
+ "kind": "webfonts#webfont",
12918
+ "family": "Open Sans Condensed",
12919
+ "category": "sans-serif",
12920
+ "variants": [
12921
+ "300",
12922
+ "300italic",
12923
+ "700"
12924
+ ],
12925
+ "subsets": [
12926
+ "latin-ext",
12927
+ "greek-ext",
12928
+ "cyrillic-ext",
12929
+ "cyrillic",
12930
+ "greek",
12931
+ "vietnamese",
12932
+ "latin"
12933
+ ],
12934
+ "version": "v12",
12935
+ "lastModified": "2017-10-11",
12936
+ "files": {
12937
+ "300": "http://fonts.gstatic.com/s/opensanscondensed/v12/z7NFdQDnbTkabZAIOl9il_O6KJj73e7Ff1GhPuI.ttf",
12938
+ "700": "http://fonts.gstatic.com/s/opensanscondensed/v12/z7NFdQDnbTkabZAIOl9il_O6KJj73e7Ff0GmPuI.ttf",
12939
+ "300italic": "http://fonts.gstatic.com/s/opensanscondensed/v12/z7NHdQDnbTkabZAIOl9il_O6KJj73e7Fd_-7suDMQg.ttf"
12940
+ }
12941
+ },
12942
+ {
12943
+ "kind": "webfonts#webfont",
12944
+ "family": "Oranienbaum",
12945
+ "category": "serif",
12946
+ "variants": [
12947
+ "regular"
12948
+ ],
12949
+ "subsets": [
12950
+ "latin-ext",
12951
+ "cyrillic-ext",
12952
+ "cyrillic",
12953
+ "latin"
12954
+ ],
12955
+ "version": "v7",
12956
+ "lastModified": "2019-01-15",
12957
+ "files": {
12958
+ "regular": "http://fonts.gstatic.com/s/oranienbaum/v7/OZpHg_txtzZKMuXLIVrx-3zn7kz3dpHc.ttf"
12959
+ }
12960
+ },
12961
+ {
12962
+ "kind": "webfonts#webfont",
12963
+ "family": "Orbitron",
12964
+ "category": "sans-serif",
12965
+ "variants": [
12966
+ "regular",
12967
+ "500",
12968
+ "700",
12969
+ "900"
12970
+ ],
12971
+ "subsets": [
12972
+ "latin"
12973
+ ],
12974
+ "version": "v10",
12975
+ "lastModified": "2019-01-15",
12976
+ "files": {
12977
+ "500": "http://fonts.gstatic.com/s/orbitron/v10/yMJWMIlzdpvBhQQL_QJIVAhxoNFxW0Hz.ttf",
12978
+ "700": "http://fonts.gstatic.com/s/orbitron/v10/yMJWMIlzdpvBhQQL_QIAUghxoNFxW0Hz.ttf",
12979
+ "900": "http://fonts.gstatic.com/s/orbitron/v10/yMJWMIlzdpvBhQQL_QI4UAhxoNFxW0Hz.ttf",
12980
+ "regular": "http://fonts.gstatic.com/s/orbitron/v10/yMJRMIlzdpvBhQQL_Tq8fSx5i814.ttf"
12981
+ }
12982
+ },
12983
+ {
12984
+ "kind": "webfonts#webfont",
12985
+ "family": "Oregano",
12986
+ "category": "display",
12987
+ "variants": [
12988
+ "regular",
12989
+ "italic"
12990
+ ],
12991
+ "subsets": [
12992
+ "latin-ext",
12993
+ "latin"
12994
+ ],
12995
+ "version": "v6",
12996
+ "lastModified": "2019-01-10",
12997
+ "files": {
12998
+ "regular": "http://fonts.gstatic.com/s/oregano/v6/If2IXTPxciS3H4S2kZffPznO3yM.ttf",
12999
+ "italic": "http://fonts.gstatic.com/s/oregano/v6/If2KXTPxciS3H4S2oZXVOxvLzyP_qw.ttf"
13000
+ }
13001
+ },
13002
+ {
13003
+ "kind": "webfonts#webfont",
13004
+ "family": "Orienta",
13005
+ "category": "sans-serif",
13006
+ "variants": [
13007
+ "regular"
13008
+ ],
13009
+ "subsets": [
13010
+ "latin-ext",
13011
+ "latin"
13012
+ ],
13013
+ "version": "v6",
13014
+ "lastModified": "2019-01-10",
13015
+ "files": {
13016
+ "regular": "http://fonts.gstatic.com/s/orienta/v6/PlI9FlK4Jrl5Y9zNeyeo9HRFhcU.ttf"
13017
+ }
13018
+ },
13019
+ {
13020
+ "kind": "webfonts#webfont",
13021
+ "family": "Original Surfer",
13022
+ "category": "display",
13023
+ "variants": [
13024
+ "regular"
13025
+ ],
13026
+ "subsets": [
13027
+ "latin"
13028
+ ],
13029
+ "version": "v7",
13030
+ "lastModified": "2018-12-13",
13031
+ "files": {
13032
+ "regular": "http://fonts.gstatic.com/s/originalsurfer/v7/RWmQoKGZ9vIirYntXJ3_MbekzNMiDEtvAlaMKw.ttf"
13033
+ }
13034
+ },
13035
+ {
13036
+ "kind": "webfonts#webfont",
13037
+ "family": "Oswald",
13038
+ "category": "sans-serif",
13039
+ "variants": [
13040
+ "200",
13041
+ "300",
13042
+ "regular",
13043
+ "500",
13044
+ "600",
13045
+ "700"
13046
+ ],
13047
+ "subsets": [
13048
+ "latin-ext",
13049
+ "cyrillic",
13050
+ "vietnamese",
13051
+ "latin"
13052
+ ],
13053
+ "version": "v16",
13054
+ "lastModified": "2017-11-21",
13055
+ "files": {
13056
+ "200": "http://fonts.gstatic.com/s/oswald/v16/TK3hWkUHHAIjg75-1h4jvQ.ttf",
13057
+ "300": "http://fonts.gstatic.com/s/oswald/v16/TK3hWkUHHAIjg75-sh0jvQ.ttf",
13058
+ "500": "http://fonts.gstatic.com/s/oswald/v16/TK3hWkUHHAIjg75-6hwjvQ.ttf",
13059
+ "600": "http://fonts.gstatic.com/s/oswald/v16/TK3hWkUHHAIjg75-xhsjvQ.ttf",
13060
+ "700": "http://fonts.gstatic.com/s/oswald/v16/TK3hWkUHHAIjg75-ohojvQ.ttf",
13061
+ "regular": "http://fonts.gstatic.com/s/oswald/v16/TK3iWkUHHAIjg75GHg.ttf"
13062
+ }
13063
+ },
13064
+ {
13065
+ "kind": "webfonts#webfont",
13066
+ "family": "Over the Rainbow",
13067
+ "category": "handwriting",
13068
+ "variants": [
13069
+ "regular"
13070
+ ],
13071
+ "subsets": [
13072
+ "latin"
13073
+ ],
13074
+ "version": "v9",
13075
+ "lastModified": "2019-01-10",
13076
+ "files": {
13077
+ "regular": "http://fonts.gstatic.com/s/overtherainbow/v9/11haGoXG1k_HKhMLUWz7Mc7vvW5upvOm9NA2XG0.ttf"
13078
+ }
13079
+ },
13080
+ {
13081
+ "kind": "webfonts#webfont",
13082
+ "family": "Overlock",
13083
+ "category": "display",
13084
+ "variants": [
13085
+ "regular",
13086
+ "italic",
13087
+ "700",
13088
+ "700italic",
13089
+ "900",
13090
+ "900italic"
13091
+ ],
13092
+ "subsets": [
13093
+ "latin-ext",
13094
+ "latin"
13095
+ ],
13096
+ "version": "v8",
13097
+ "lastModified": "2019-01-15",
13098
+ "files": {
13099
+ "700": "http://fonts.gstatic.com/s/overlock/v8/Z9XSDmdMWRiN1_T9Z7xizcmMvL2L9TLT.ttf",
13100
+ "900": "http://fonts.gstatic.com/s/overlock/v8/Z9XSDmdMWRiN1_T9Z7xaz8mMvL2L9TLT.ttf",
13101
+ "regular": "http://fonts.gstatic.com/s/overlock/v8/Z9XVDmdMWRiN1_T9Z4Te4u2El6GC.ttf",
13102
+ "italic": "http://fonts.gstatic.com/s/overlock/v8/Z9XTDmdMWRiN1_T9Z7Tc6OmmkrGC7Cs.ttf",
13103
+ "700italic": "http://fonts.gstatic.com/s/overlock/v8/Z9XQDmdMWRiN1_T9Z7Tc0FWJtrmp8CLTlNs.ttf",
13104
+ "900italic": "http://fonts.gstatic.com/s/overlock/v8/Z9XQDmdMWRiN1_T9Z7Tc0G2Ltrmp8CLTlNs.ttf"
13105
+ }
13106
+ },
13107
+ {
13108
+ "kind": "webfonts#webfont",
13109
+ "family": "Overlock SC",
13110
+ "category": "display",
13111
+ "variants": [
13112
+ "regular"
13113
+ ],
13114
+ "subsets": [
13115
+ "latin-ext",
13116
+ "latin"
13117
+ ],
13118
+ "version": "v7",
13119
+ "lastModified": "2018-12-13",
13120
+ "files": {
13121
+ "regular": "http://fonts.gstatic.com/s/overlocksc/v7/1cX3aUHKGZrstGAY8nwVzHGAq8Sk1PoH.ttf"
13122
+ }
13123
+ },
13124
+ {
13125
+ "kind": "webfonts#webfont",
13126
+ "family": "Overpass",
13127
+ "category": "sans-serif",
13128
+ "variants": [
13129
+ "100",
13130
+ "100italic",
13131
+ "200",
13132
+ "200italic",
13133
+ "300",
13134
+ "300italic",
13135
+ "regular",
13136
+ "italic",
13137
+ "600",
13138
+ "600italic",
13139
+ "700",
13140
+ "700italic",
13141
+ "800",
13142
+ "800italic",
13143
+ "900",
13144
+ "900italic"
13145
+ ],
13146
+ "subsets": [
13147
+ "latin-ext",
13148
+ "latin"
13149
+ ],
13150
+ "version": "v3",
13151
+ "lastModified": "2019-01-15",
13152
+ "files": {
13153
+ "100": "http://fonts.gstatic.com/s/overpass/v3/qFdB35WCmI96Ajtm81nGU97gxhcJk1s.ttf",
13154
+ "200": "http://fonts.gstatic.com/s/overpass/v3/qFdA35WCmI96Ajtm81lqcv7K6BsAikI7.ttf",
13155
+ "300": "http://fonts.gstatic.com/s/overpass/v3/qFdA35WCmI96Ajtm81kOcf7K6BsAikI7.ttf",
13156
+ "600": "http://fonts.gstatic.com/s/overpass/v3/qFdA35WCmI96Ajtm81l6d_7K6BsAikI7.ttf",
13157
+ "700": "http://fonts.gstatic.com/s/overpass/v3/qFdA35WCmI96Ajtm81kedv7K6BsAikI7.ttf",
13158
+ "800": "http://fonts.gstatic.com/s/overpass/v3/qFdA35WCmI96Ajtm81kCdf7K6BsAikI7.ttf",
13159
+ "900": "http://fonts.gstatic.com/s/overpass/v3/qFdA35WCmI96Ajtm81kmdP7K6BsAikI7.ttf",
13160
+ "100italic": "http://fonts.gstatic.com/s/overpass/v3/qFdD35WCmI96Ajtm81Gga7rqwjUMg1siNQ.ttf",
13161
+ "200italic": "http://fonts.gstatic.com/s/overpass/v3/qFdC35WCmI96Ajtm81GgaxbL4h8ij1I7LLE.ttf",
13162
+ "300italic": "http://fonts.gstatic.com/s/overpass/v3/qFdC35WCmI96Ajtm81Gga3LI4h8ij1I7LLE.ttf",
13163
+ "regular": "http://fonts.gstatic.com/s/overpass/v3/qFdH35WCmI96Ajtm82GiWdrCwwcJ.ttf",
13164
+ "italic": "http://fonts.gstatic.com/s/overpass/v3/qFdB35WCmI96Ajtm81GgU97gxhcJk1s.ttf",
13165
+ "600italic": "http://fonts.gstatic.com/s/overpass/v3/qFdC35WCmI96Ajtm81GgawbO4h8ij1I7LLE.ttf",
13166
+ "700italic": "http://fonts.gstatic.com/s/overpass/v3/qFdC35WCmI96Ajtm81Gga2LP4h8ij1I7LLE.ttf",
13167
+ "800italic": "http://fonts.gstatic.com/s/overpass/v3/qFdC35WCmI96Ajtm81Gga37M4h8ij1I7LLE.ttf",
13168
+ "900italic": "http://fonts.gstatic.com/s/overpass/v3/qFdC35WCmI96Ajtm81Gga1rN4h8ij1I7LLE.ttf"
13169
+ }
13170
+ },
13171
+ {
13172
+ "kind": "webfonts#webfont",
13173
+ "family": "Overpass Mono",
13174
+ "category": "monospace",
13175
+ "variants": [
13176
+ "300",
13177
+ "regular",
13178
+ "600",
13179
+ "700"
13180
+ ],
13181
+ "subsets": [
13182
+ "latin-ext",
13183
+ "latin"
13184
+ ],
13185
+ "version": "v4",
13186
+ "lastModified": "2018-12-13",
13187
+ "files": {
13188
+ "300": "http://fonts.gstatic.com/s/overpassmono/v4/_Xm3-H86tzKDdAPa-KPQZ-AC3oSWk_edB3Zf8EQ.ttf",
13189
+ "600": "http://fonts.gstatic.com/s/overpassmono/v4/_Xm3-H86tzKDdAPa-KPQZ-AC3vCQk_edB3Zf8EQ.ttf",
13190
+ "700": "http://fonts.gstatic.com/s/overpassmono/v4/_Xm3-H86tzKDdAPa-KPQZ-AC3pSRk_edB3Zf8EQ.ttf",
13191
+ "regular": "http://fonts.gstatic.com/s/overpassmono/v4/_Xmq-H86tzKDdAPa-KPQZ-AC5ii-t_-2G38.ttf"
13192
+ }
13193
+ },
13194
+ {
13195
+ "kind": "webfonts#webfont",
13196
+ "family": "Ovo",
13197
+ "category": "serif",
13198
+ "variants": [
13199
+ "regular"
13200
+ ],
13201
+ "subsets": [
13202
+ "latin"
13203
+ ],
13204
+ "version": "v10",
13205
+ "lastModified": "2019-01-15",
13206
+ "files": {
13207
+ "regular": "http://fonts.gstatic.com/s/ovo/v10/yYLl0h7Wyfzjy4Q5_3WVxA.ttf"
13208
+ }
13209
+ },
13210
+ {
13211
+ "kind": "webfonts#webfont",
13212
+ "family": "Oxygen",
13213
+ "category": "sans-serif",
13214
+ "variants": [
13215
+ "300",
13216
+ "regular",
13217
+ "700"
13218
+ ],
13219
+ "subsets": [
13220
+ "latin-ext",
13221
+ "latin"
13222
+ ],
13223
+ "version": "v7",
13224
+ "lastModified": "2017-10-10",
13225
+ "files": {
13226
+ "300": "http://fonts.gstatic.com/s/oxygen/v7/2sDcZG1Wl4LcnbuCJW8Dbw.ttf",
13227
+ "700": "http://fonts.gstatic.com/s/oxygen/v7/2sDcZG1Wl4LcnbuCNWgDbw.ttf",
13228
+ "regular": "http://fonts.gstatic.com/s/oxygen/v7/2sDfZG1Wl4Lcnbu6iQ.ttf"
13229
+ }
13230
+ },
13231
+ {
13232
+ "kind": "webfonts#webfont",
13233
+ "family": "Oxygen Mono",
13234
+ "category": "monospace",
13235
+ "variants": [
13236
+ "regular"
13237
+ ],
13238
+ "subsets": [
13239
+ "latin-ext",
13240
+ "latin"
13241
+ ],
13242
+ "version": "v6",
13243
+ "lastModified": "2019-01-10",
13244
+ "files": {
13245
+ "regular": "http://fonts.gstatic.com/s/oxygenmono/v6/h0GsssGg9FxgDgCjLeAd7ijfze-PPlUu.ttf"
13246
+ }
13247
+ },
13248
+ {
13249
+ "kind": "webfonts#webfont",
13250
+ "family": "PT Mono",
13251
+ "category": "monospace",
13252
+ "variants": [
13253
+ "regular"
13254
+ ],
13255
+ "subsets": [
13256
+ "latin-ext",
13257
+ "cyrillic-ext",
13258
+ "cyrillic",
13259
+ "latin"
13260
+ ],
13261
+ "version": "v6",
13262
+ "lastModified": "2019-01-15",
13263
+ "files": {
13264
+ "regular": "http://fonts.gstatic.com/s/ptmono/v6/9oRONYoBnWILk-9ArCg5MtPyAcg.ttf"
13265
+ }
13266
+ },
13267
+ {
13268
+ "kind": "webfonts#webfont",
13269
+ "family": "PT Sans",
13270
+ "category": "sans-serif",
13271
+ "variants": [
13272
+ "regular",
13273
+ "italic",
13274
+ "700",
13275
+ "700italic"
13276
+ ],
13277
+ "subsets": [
13278
+ "latin-ext",
13279
+ "cyrillic-ext",
13280
+ "cyrillic",
13281
+ "latin"
13282
+ ],
13283
+ "version": "v9",
13284
+ "lastModified": "2017-10-11",
13285
+ "files": {
13286
+ "700": "http://fonts.gstatic.com/s/ptsans/v9/jizfRExUiTo99u79B_mh4Ok.ttf",
13287
+ "regular": "http://fonts.gstatic.com/s/ptsans/v9/jizaRExUiTo99u79P0U.ttf",
13288
+ "italic": "http://fonts.gstatic.com/s/ptsans/v9/jizYRExUiTo99u79D0eEwA.ttf",
13289
+ "700italic": "http://fonts.gstatic.com/s/ptsans/v9/jizdRExUiTo99u79D0e8fOytKA.ttf"
13290
+ }
13291
+ },
13292
+ {
13293
+ "kind": "webfonts#webfont",
13294
+ "family": "PT Sans Caption",
13295
+ "category": "sans-serif",
13296
+ "variants": [
13297
+ "regular",
13298
+ "700"
13299
+ ],
13300
+ "subsets": [
13301
+ "latin-ext",
13302
+ "cyrillic-ext",
13303
+ "cyrillic",
13304
+ "latin"
13305
+ ],
13306
+ "version": "v10",
13307
+ "lastModified": "2017-10-10",
13308
+ "files": {
13309
+ "700": "http://fonts.gstatic.com/s/ptsanscaption/v10/0FlJVP6Hrxmt7-fsUFhlFXNIlpcSwSrUSw.ttf",
13310
+ "regular": "http://fonts.gstatic.com/s/ptsanscaption/v10/0FlMVP6Hrxmt7-fsUFhlFXNIlpcqfQ.ttf"
13311
+ }
13312
+ },
13313
+ {
13314
+ "kind": "webfonts#webfont",
13315
+ "family": "PT Sans Narrow",
13316
+ "category": "sans-serif",
13317
+ "variants": [
13318
+ "regular",
13319
+ "700"
13320
+ ],
13321
+ "subsets": [
13322
+ "latin-ext",
13323
+ "cyrillic-ext",
13324
+ "cyrillic",
13325
+ "latin"
13326
+ ],
13327
+ "version": "v9",
13328
+ "lastModified": "2018-10-08",
13329
+ "files": {
13330
+ "700": "http://fonts.gstatic.com/s/ptsansnarrow/v9/BngSUXNadjH0qYEzV7ab-oWlsbg95DiC.ttf",
13331
+ "regular": "http://fonts.gstatic.com/s/ptsansnarrow/v9/BngRUXNadjH0qYEzV7ab-oWlsYCB.ttf"
13332
+ }
13333
+ },
13334
+ {
13335
+ "kind": "webfonts#webfont",
13336
+ "family": "PT Serif",
13337
+ "category": "serif",
13338
+ "variants": [
13339
+ "regular",
13340
+ "italic",
13341
+ "700",
13342
+ "700italic"
13343
+ ],
13344
+ "subsets": [
13345
+ "latin-ext",
13346
+ "cyrillic-ext",
13347
+ "cyrillic",
13348
+ "latin"
13349
+ ],
13350
+ "version": "v9",
13351
+ "lastModified": "2017-10-11",
13352
+ "files": {
13353
+ "700": "http://fonts.gstatic.com/s/ptserif/v9/EJRSQgYoZZY2vCFuvAnt65qV.ttf",
13354
+ "regular": "http://fonts.gstatic.com/s/ptserif/v9/EJRVQgYoZZY2vCFuvDFR.ttf",
13355
+ "italic": "http://fonts.gstatic.com/s/ptserif/v9/EJRTQgYoZZY2vCFuvAFTzro.ttf",
13356
+ "700italic": "http://fonts.gstatic.com/s/ptserif/v9/EJRQQgYoZZY2vCFuvAFT9gaQVy4.ttf"
13357
+ }
13358
+ },
13359
+ {
13360
+ "kind": "webfonts#webfont",
13361
+ "family": "PT Serif Caption",
13362
+ "category": "serif",
13363
+ "variants": [
13364
+ "regular",
13365
+ "italic"
13366
+ ],
13367
+ "subsets": [
13368
+ "latin-ext",
13369
+ "cyrillic-ext",
13370
+ "cyrillic",
13371
+ "latin"
13372
+ ],
13373
+ "version": "v10",
13374
+ "lastModified": "2019-01-15",
13375
+ "files": {
13376
+ "regular": "http://fonts.gstatic.com/s/ptserifcaption/v10/ieVl2ZhbGCW-JoW6S34pSDpqYKU059WxDCs5cvI.ttf",
13377
+ "italic": "http://fonts.gstatic.com/s/ptserifcaption/v10/ieVj2ZhbGCW-JoW6S34pSDpqYKU019e7CAk8YvJEeg.ttf"
13378
+ }
13379
+ },
13380
+ {
13381
+ "kind": "webfonts#webfont",
13382
+ "family": "Pacifico",
13383
+ "category": "handwriting",
13384
+ "variants": [
13385
+ "regular"
13386
+ ],
13387
+ "subsets": [
13388
+ "latin-ext",
13389
+ "cyrillic",
13390
+ "vietnamese",
13391
+ "latin"
13392
+ ],
13393
+ "version": "v12",
13394
+ "lastModified": "2017-11-07",
13395
+ "files": {
13396
+ "regular": "http://fonts.gstatic.com/s/pacifico/v12/FwZY7-Qmy14u9lezJ96A.ttf"
13397
+ }
13398
+ },
13399
+ {
13400
+ "kind": "webfonts#webfont",
13401
+ "family": "Padauk",
13402
+ "category": "sans-serif",
13403
+ "variants": [
13404
+ "regular",
13405
+ "700"
13406
+ ],
13407
+ "subsets": [
13408
+ "myanmar",
13409
+ "latin"
13410
+ ],
13411
+ "version": "v5",
13412
+ "lastModified": "2019-01-10",
13413
+ "files": {
13414
+ "700": "http://fonts.gstatic.com/s/padauk/v5/RrQSboJg-id7Onb512DE1JJEZ4YwGg.ttf",
13415
+ "regular": "http://fonts.gstatic.com/s/padauk/v5/RrQRboJg-id7OnbBa0_g3LlYbg.ttf"
13416
+ }
13417
+ },
13418
+ {
13419
+ "kind": "webfonts#webfont",
13420
+ "family": "Palanquin",
13421
+ "category": "sans-serif",
13422
+ "variants": [
13423
+ "100",
13424
+ "200",
13425
+ "300",
13426
+ "regular",
13427
+ "500",
13428
+ "600",
13429
+ "700"
13430
+ ],
13431
+ "subsets": [
13432
+ "latin-ext",
13433
+ "devanagari",
13434
+ "latin"
13435
+ ],
13436
+ "version": "v4",
13437
+ "lastModified": "2019-01-15",
13438
+ "files": {
13439
+ "100": "http://fonts.gstatic.com/s/palanquin/v4/9XUhlJ90n1fBFg7ceXwUEltI7rWmZzTH.ttf",
13440
+ "200": "http://fonts.gstatic.com/s/palanquin/v4/9XUilJ90n1fBFg7ceXwUvnpoxJuqbi3ezg.ttf",
13441
+ "300": "http://fonts.gstatic.com/s/palanquin/v4/9XUilJ90n1fBFg7ceXwU2nloxJuqbi3ezg.ttf",
13442
+ "500": "http://fonts.gstatic.com/s/palanquin/v4/9XUilJ90n1fBFg7ceXwUgnhoxJuqbi3ezg.ttf",
13443
+ "600": "http://fonts.gstatic.com/s/palanquin/v4/9XUilJ90n1fBFg7ceXwUrn9oxJuqbi3ezg.ttf",
13444
+ "700": "http://fonts.gstatic.com/s/palanquin/v4/9XUilJ90n1fBFg7ceXwUyn5oxJuqbi3ezg.ttf",
13445
+ "regular": "http://fonts.gstatic.com/s/palanquin/v4/9XUnlJ90n1fBFg7ceXwsdlFMzLC2Zw.ttf"
13446
+ }
13447
+ },
13448
+ {
13449
+ "kind": "webfonts#webfont",
13450
+ "family": "Palanquin Dark",
13451
+ "category": "sans-serif",
13452
+ "variants": [
13453
+ "regular",
13454
+ "500",
13455
+ "600",
13456
+ "700"
13457
+ ],
13458
+ "subsets": [
13459
+ "latin-ext",
13460
+ "devanagari",
13461
+ "latin"
13462
+ ],
13463
+ "version": "v5",
13464
+ "lastModified": "2019-01-10",
13465
+ "files": {
13466
+ "500": "http://fonts.gstatic.com/s/palanquindark/v5/xn76YHgl1nqmANMB-26xC7yuF8Z6ZW41fcvN2KT4.ttf",
13467
+ "600": "http://fonts.gstatic.com/s/palanquindark/v5/xn76YHgl1nqmANMB-26xC7yuF8ZWYm41fcvN2KT4.ttf",
13468
+ "700": "http://fonts.gstatic.com/s/palanquindark/v5/xn76YHgl1nqmANMB-26xC7yuF8YyY241fcvN2KT4.ttf",
13469
+ "regular": "http://fonts.gstatic.com/s/palanquindark/v5/xn75YHgl1nqmANMB-26xC7yuF_6OTEo9VtfE.ttf"
13470
+ }
13471
+ },
13472
+ {
13473
+ "kind": "webfonts#webfont",
13474
+ "family": "Pangolin",
13475
+ "category": "handwriting",
13476
+ "variants": [
13477
+ "regular"
13478
+ ],
13479
+ "subsets": [
13480
+ "latin-ext",
13481
+ "cyrillic-ext",
13482
+ "cyrillic",
13483
+ "vietnamese",
13484
+ "latin"
13485
+ ],
13486
+ "version": "v4",
13487
+ "lastModified": "2019-01-15",
13488
+ "files": {
13489
+ "regular": "http://fonts.gstatic.com/s/pangolin/v4/cY9GfjGcW0FPpi-tWPfK5d3aiLBG.ttf"
13490
+ }
13491
+ },
13492
+ {
13493
+ "kind": "webfonts#webfont",
13494
+ "family": "Paprika",
13495
+ "category": "display",
13496
+ "variants": [
13497
+ "regular"
13498
+ ],
13499
+ "subsets": [
13500
+ "latin"
13501
+ ],
13502
+ "version": "v6",
13503
+ "lastModified": "2018-12-13",
13504
+ "files": {
13505
+ "regular": "http://fonts.gstatic.com/s/paprika/v6/8QIJdijZitv49rDfuIgOq7jkAOw.ttf"
13506
+ }
13507
+ },
13508
+ {
13509
+ "kind": "webfonts#webfont",
13510
+ "family": "Parisienne",
13511
+ "category": "handwriting",
13512
+ "variants": [
13513
+ "regular"
13514
+ ],
13515
+ "subsets": [
13516
+ "latin-ext",
13517
+ "latin"
13518
+ ],
13519
+ "version": "v6",
13520
+ "lastModified": "2019-01-15",
13521
+ "files": {
13522
+ "regular": "http://fonts.gstatic.com/s/parisienne/v6/E21i_d3kivvAkxhLEVZpcy96DuKuavM.ttf"
13523
+ }
13524
+ },
13525
+ {
13526
+ "kind": "webfonts#webfont",
13527
+ "family": "Passero One",
13528
+ "category": "display",
13529
+ "variants": [
13530
+ "regular"
13531
+ ],
13532
+ "subsets": [
13533
+ "latin-ext",
13534
+ "latin"
13535
+ ],
13536
+ "version": "v10",
13537
+ "lastModified": "2018-11-29",
13538
+ "files": {
13539
+ "regular": "http://fonts.gstatic.com/s/passeroone/v10/JTUTjIko8DOq5FeaeEAjgE5B5Arr-s50.ttf"
13540
+ }
13541
+ },
13542
+ {
13543
+ "kind": "webfonts#webfont",
13544
+ "family": "Passion One",
13545
+ "category": "display",
13546
+ "variants": [
13547
+ "regular",
13548
+ "700",
13549
+ "900"
13550
+ ],
13551
+ "subsets": [
13552
+ "latin-ext",
13553
+ "latin"
13554
+ ],
13555
+ "version": "v9",
13556
+ "lastModified": "2019-01-15",
13557
+ "files": {
13558
+ "700": "http://fonts.gstatic.com/s/passionone/v9/Pby6FmL8HhTPqbjUzux3JEMq037owpYcuH8y.ttf",
13559
+ "900": "http://fonts.gstatic.com/s/passionone/v9/Pby6FmL8HhTPqbjUzux3JEMS0X7owpYcuH8y.ttf",
13560
+ "regular": "http://fonts.gstatic.com/s/passionone/v9/PbynFmL8HhTPqbjUzux3JHuW_Frg6YoV.ttf"
13561
+ }
13562
+ },
13563
+ {
13564
+ "kind": "webfonts#webfont",
13565
+ "family": "Pathway Gothic One",
13566
+ "category": "sans-serif",
13567
+ "variants": [
13568
+ "regular"
13569
+ ],
13570
+ "subsets": [
13571
+ "latin-ext",
13572
+ "latin"
13573
+ ],
13574
+ "version": "v7",
13575
+ "lastModified": "2019-01-15",
13576
+ "files": {
13577
+ "regular": "http://fonts.gstatic.com/s/pathwaygothicone/v7/MwQrbgD32-KAvjkYGNUUxAtW7pEBwx-dTFxeb80flQ.ttf"
13578
+ }
13579
+ },
13580
+ {
13581
+ "kind": "webfonts#webfont",
13582
+ "family": "Patrick Hand",
13583
+ "category": "handwriting",
13584
+ "variants": [
13585
+ "regular"
13586
+ ],
13587
+ "subsets": [
13588
+ "latin-ext",
13589
+ "vietnamese",
13590
+ "latin"
13591
+ ],
13592
+ "version": "v12",
13593
+ "lastModified": "2019-01-15",
13594
+ "files": {
13595
+ "regular": "http://fonts.gstatic.com/s/patrickhand/v12/LDI1apSQOAYtSuYWp8ZhfYeMWcjKm7sp8g.ttf"
13596
+ }
13597
+ },
13598
+ {
13599
+ "kind": "webfonts#webfont",
13600
+ "family": "Patrick Hand SC",
13601
+ "category": "handwriting",
13602
+ "variants": [
13603
+ "regular"
13604
+ ],
13605
+ "subsets": [
13606
+ "latin-ext",
13607
+ "vietnamese",
13608
+ "latin"
13609
+ ],
13610
+ "version": "v6",
13611
+ "lastModified": "2019-01-10",
13612
+ "files": {
13613
+ "regular": "http://fonts.gstatic.com/s/patrickhandsc/v6/0nkwC9f7MfsBiWcLtY65AWDK873ViSi6JQc7Vg.ttf"
13614
+ }
13615
+ },
13616
+ {
13617
+ "kind": "webfonts#webfont",
13618
+ "family": "Pattaya",
13619
+ "category": "sans-serif",
13620
+ "variants": [
13621
+ "regular"
13622
+ ],
13623
+ "subsets": [
13624
+ "latin-ext",
13625
+ "cyrillic",
13626
+ "thai",
13627
+ "vietnamese",
13628
+ "latin"
13629
+ ],
13630
+ "version": "v4",
13631
+ "lastModified": "2019-01-10",
13632
+ "files": {
13633
+ "regular": "http://fonts.gstatic.com/s/pattaya/v4/ea8ZadcqV_zkHY-XNdCn92ZEmVs.ttf"
13634
+ }
13635
+ },
13636
+ {
13637
+ "kind": "webfonts#webfont",
13638
+ "family": "Patua One",
13639
+ "category": "display",
13640
+ "variants": [
13641
+ "regular"
13642
+ ],
13643
+ "subsets": [
13644
+ "latin"
13645
+ ],
13646
+ "version": "v8",
13647
+ "lastModified": "2018-10-08",
13648
+ "files": {
13649
+ "regular": "http://fonts.gstatic.com/s/patuaone/v8/ZXuke1cDvLCKLDcimxBI5A.ttf"
13650
+ }
13651
+ },
13652
+ {
13653
+ "kind": "webfonts#webfont",
13654
+ "family": "Pavanam",
13655
+ "category": "sans-serif",
13656
+ "variants": [
13657
+ "regular"
13658
+ ],
13659
+ "subsets": [
13660
+ "latin-ext",
13661
+ "tamil",
13662
+ "latin"
13663
+ ],
13664
+ "version": "v3",
13665
+ "lastModified": "2018-12-13",
13666
+ "files": {
13667
+ "regular": "http://fonts.gstatic.com/s/pavanam/v3/BXRrvF_aiezLh0xPDOtQ9Wf0QcE.ttf"
13668
+ }
13669
+ },
13670
+ {
13671
+ "kind": "webfonts#webfont",
13672
+ "family": "Paytone One",
13673
+ "category": "sans-serif",
13674
+ "variants": [
13675
+ "regular"
13676
+ ],
13677
+ "subsets": [
13678
+ "latin-ext",
13679
+ "vietnamese",
13680
+ "latin"
13681
+ ],
13682
+ "version": "v11",
13683
+ "lastModified": "2019-01-15",
13684
+ "files": {
13685
+ "regular": "http://fonts.gstatic.com/s/paytoneone/v11/0nksC9P7MfYHj2oFtYm2CiTqivr9iBq_.ttf"
13686
+ }
13687
+ },
13688
+ {
13689
+ "kind": "webfonts#webfont",
13690
+ "family": "Peddana",
13691
+ "category": "serif",
13692
+ "variants": [
13693
+ "regular"
13694
+ ],
13695
+ "subsets": [
13696
+ "telugu",
13697
+ "latin"
13698
+ ],
13699
+ "version": "v6",
13700
+ "lastModified": "2018-11-29",
13701
+ "files": {
13702
+ "regular": "http://fonts.gstatic.com/s/peddana/v6/aFTU7PBhaX89UcKWhh2aBYyMcKw.ttf"
13703
+ }
13704
+ },
13705
+ {
13706
+ "kind": "webfonts#webfont",
13707
+ "family": "Peralta",
13708
+ "category": "display",
13709
+ "variants": [
13710
+ "regular"
13711
+ ],
13712
+ "subsets": [
13713
+ "latin-ext",
13714
+ "latin"
13715
+ ],
13716
+ "version": "v6",
13717
+ "lastModified": "2018-12-13",
13718
+ "files": {
13719
+ "regular": "http://fonts.gstatic.com/s/peralta/v6/hYkJPu0-RP_9d3kRGxAhrv956B8.ttf"
13720
+ }
13721
+ },
13722
+ {
13723
+ "kind": "webfonts#webfont",
13724
+ "family": "Permanent Marker",
13725
+ "category": "handwriting",
13726
+ "variants": [
13727
+ "regular"
13728
+ ],
13729
+ "subsets": [
13730
+ "latin"
13731
+ ],
13732
+ "version": "v7",
13733
+ "lastModified": "2017-10-10",
13734
+ "files": {
13735
+ "regular": "http://fonts.gstatic.com/s/permanentmarker/v7/Fh4uPib9Iyv2ucM6pGQMWimMp004Hao.ttf"
13736
+ }
13737
+ },
13738
+ {
13739
+ "kind": "webfonts#webfont",
13740
+ "family": "Petit Formal Script",
13741
+ "category": "handwriting",
13742
+ "variants": [
13743
+ "regular"
13744
+ ],
13745
+ "subsets": [
13746
+ "latin-ext",
13747
+ "latin"
13748
+ ],
13749
+ "version": "v6",
13750
+ "lastModified": "2019-01-10",
13751
+ "files": {
13752
+ "regular": "http://fonts.gstatic.com/s/petitformalscript/v6/B50TF6xQr2TXJBnGOFME6u5OR83oRP5qoHnqP4gZSiE.ttf"
13753
+ }
13754
+ },
13755
+ {
13756
+ "kind": "webfonts#webfont",
13757
+ "family": "Petrona",
13758
+ "category": "serif",
13759
+ "variants": [
13760
+ "regular"
13761
+ ],
13762
+ "subsets": [
13763
+ "latin"
13764
+ ],
13765
+ "version": "v7",
13766
+ "lastModified": "2018-12-13",
13767
+ "files": {
13768
+ "regular": "http://fonts.gstatic.com/s/petrona/v7/mtG64_NXL7bZo9XXsXVStGsRwCU.ttf"
13769
+ }
13770
+ },
13771
+ {
13772
+ "kind": "webfonts#webfont",
13773
+ "family": "Philosopher",
13774
+ "category": "sans-serif",
13775
+ "variants": [
13776
+ "regular",
13777
+ "italic",
13778
+ "700",
13779
+ "700italic"
13780
+ ],
13781
+ "subsets": [
13782
+ "cyrillic-ext",
13783
+ "cyrillic",
13784
+ "vietnamese",
13785
+ "latin"
13786
+ ],
13787
+ "version": "v10",
13788
+ "lastModified": "2019-01-15",
13789
+ "files": {
13790
+ "700": "http://fonts.gstatic.com/s/philosopher/v10/vEFI2_5QCwIS4_Dhez5jcWjVamgc-NaXXq7H.ttf",
13791
+ "regular": "http://fonts.gstatic.com/s/philosopher/v10/vEFV2_5QCwIS4_Dhez5jcVBpRUwU08qe.ttf",
13792
+ "italic": "http://fonts.gstatic.com/s/philosopher/v10/vEFX2_5QCwIS4_Dhez5jcWBrT0g21tqeR7c.ttf",
13793
+ "700italic": "http://fonts.gstatic.com/s/philosopher/v10/vEFK2_5QCwIS4_Dhez5jcWBrd_QZ8tK1W77HtMo.ttf"
13794
+ }
13795
+ },
13796
+ {
13797
+ "kind": "webfonts#webfont",
13798
+ "family": "Piedra",
13799
+ "category": "display",
13800
+ "variants": [
13801
+ "regular"
13802
+ ],
13803
+ "subsets": [
13804
+ "latin-ext",
13805
+ "latin"
13806
+ ],
13807
+ "version": "v7",
13808
+ "lastModified": "2018-11-29",
13809
+ "files": {
13810
+ "regular": "http://fonts.gstatic.com/s/piedra/v7/ke8kOg8aN0Bn7hTunEyHN_M3gA.ttf"
13811
+ }
13812
+ },
13813
+ {
13814
+ "kind": "webfonts#webfont",
13815
+ "family": "Pinyon Script",
13816
+ "category": "handwriting",
13817
+ "variants": [
13818
+ "regular"
13819
+ ],
13820
+ "subsets": [
13821
+ "latin"
13822
+ ],
13823
+ "version": "v8",
13824
+ "lastModified": "2019-01-15",
13825
+ "files": {
13826
+ "regular": "http://fonts.gstatic.com/s/pinyonscript/v8/6xKpdSJbL9-e9LuoeQiDRQR8aOLQO4bhiDY.ttf"
13827
+ }
13828
+ },
13829
+ {
13830
+ "kind": "webfonts#webfont",
13831
+ "family": "Pirata One",
13832
+ "category": "display",
13833
+ "variants": [
13834
+ "regular"
13835
+ ],
13836
+ "subsets": [
13837
+ "latin-ext",
13838
+ "latin"
13839
+ ],
13840
+ "version": "v7",
13841
+ "lastModified": "2018-12-13",
13842
+ "files": {
13843
+ "regular": "http://fonts.gstatic.com/s/pirataone/v7/I_urMpiDvgLdLh0fAtoftiiEr5_BdZ8.ttf"
13844
+ }
13845
+ },
13846
+ {
13847
+ "kind": "webfonts#webfont",
13848
+ "family": "Plaster",
13849
+ "category": "display",
13850
+ "variants": [
13851
+ "regular"
13852
+ ],
13853
+ "subsets": [
13854
+ "latin-ext",
13855
+ "latin"
13856
+ ],
13857
+ "version": "v10",
13858
+ "lastModified": "2018-12-13",
13859
+ "files": {
13860
+ "regular": "http://fonts.gstatic.com/s/plaster/v10/DdTm79QatW80eRh4Ei5JOtLOeLI.ttf"
13861
+ }
13862
+ },
13863
+ {
13864
+ "kind": "webfonts#webfont",
13865
+ "family": "Play",
13866
+ "category": "sans-serif",
13867
+ "variants": [
13868
+ "regular",
13869
+ "700"
13870
+ ],
13871
+ "subsets": [
13872
+ "latin-ext",
13873
+ "cyrillic-ext",
13874
+ "cyrillic",
13875
+ "greek",
13876
+ "vietnamese",
13877
+ "latin"
13878
+ ],
13879
+ "version": "v9",
13880
+ "lastModified": "2017-10-10",
13881
+ "files": {
13882
+ "700": "http://fonts.gstatic.com/s/play/v9/6ae84K2oVqwItm4TOpc.ttf",
13883
+ "regular": "http://fonts.gstatic.com/s/play/v9/6aez4K2oVqwIjtI.ttf"
13884
+ }
13885
+ },
13886
+ {
13887
+ "kind": "webfonts#webfont",
13888
+ "family": "Playball",
13889
+ "category": "display",
13890
+ "variants": [
13891
+ "regular"
13892
+ ],
13893
+ "subsets": [
13894
+ "latin-ext",
13895
+ "latin"
13896
+ ],
13897
+ "version": "v8",
13898
+ "lastModified": "2019-01-15",
13899
+ "files": {
13900
+ "regular": "http://fonts.gstatic.com/s/playball/v8/TK3gWksYAxQ7jbsKcj8Dl-tPKo2t.ttf"
13901
+ }
13902
+ },
13903
+ {
13904
+ "kind": "webfonts#webfont",
13905
+ "family": "Playfair Display",
13906
+ "category": "serif",
13907
+ "variants": [
13908
+ "regular",
13909
+ "italic",
13910
+ "700",
13911
+ "700italic",
13912
+ "900",
13913
+ "900italic"
13914
+ ],
13915
+ "subsets": [
13916
+ "latin-ext",
13917
+ "cyrillic",
13918
+ "vietnamese",
13919
+ "latin"
13920
+ ],
13921
+ "version": "v13",
13922
+ "lastModified": "2017-11-07",
13923
+ "files": {
13924
+ "700": "http://fonts.gstatic.com/s/playfairdisplay/v13/nuFlD-vYSZviVYUb_rj3ij__anPXBYf9pWk.ttf",
13925
+ "900": "http://fonts.gstatic.com/s/playfairdisplay/v13/nuFlD-vYSZviVYUb_rj3ij__anPXBb__pWk.ttf",
13926
+ "regular": "http://fonts.gstatic.com/s/playfairdisplay/v13/nuFiD-vYSZviVYUb_rj3ij__anPXPTs.ttf",
13927
+ "italic": "http://fonts.gstatic.com/s/playfairdisplay/v13/nuFkD-vYSZviVYUb_rj3ij__anPXDTnYhQ.ttf",
13928
+ "700italic": "http://fonts.gstatic.com/s/playfairdisplay/v13/nuFnD-vYSZviVYUb_rj3ij__anPXDTngOWwe4w.ttf",
13929
+ "900italic": "http://fonts.gstatic.com/s/playfairdisplay/v13/nuFnD-vYSZviVYUb_rj3ij__anPXDTngAW4e4w.ttf"
13930
+ }
13931
+ },
13932
+ {
13933
+ "kind": "webfonts#webfont",
13934
+ "family": "Playfair Display SC",
13935
+ "category": "serif",
13936
+ "variants": [
13937
+ "regular",
13938
+ "italic",
13939
+ "700",
13940
+ "700italic",
13941
+ "900",
13942
+ "900italic"
13943
+ ],
13944
+ "subsets": [
13945
+ "latin-ext",
13946
+ "cyrillic",
13947
+ "vietnamese",
13948
+ "latin"
13949
+ ],
13950
+ "version": "v8",
13951
+ "lastModified": "2019-01-15",
13952
+ "files": {
13953
+ "700": "http://fonts.gstatic.com/s/playfairdisplaysc/v8/ke80OhoaMkR6-hSn7kbHVoFf7ZfgMPr_nQIpNcsdL4IUMyE.ttf",
13954
+ "900": "http://fonts.gstatic.com/s/playfairdisplaysc/v8/ke80OhoaMkR6-hSn7kbHVoFf7ZfgMPr_nTorNcsdL4IUMyE.ttf",
13955
+ "regular": "http://fonts.gstatic.com/s/playfairdisplaysc/v8/ke85OhoaMkR6-hSn7kbHVoFf7ZfgMPr_pb4GEcM2M4s.ttf",
13956
+ "italic": "http://fonts.gstatic.com/s/playfairdisplaysc/v8/ke87OhoaMkR6-hSn7kbHVoFf7ZfgMPr_lbwMFeEzI4sNKg.ttf",
13957
+ "700italic": "http://fonts.gstatic.com/s/playfairdisplaysc/v8/ke82OhoaMkR6-hSn7kbHVoFf7ZfgMPr_lbw0qc4XK6ARIyH5IA.ttf",
13958
+ "900italic": "http://fonts.gstatic.com/s/playfairdisplaysc/v8/ke82OhoaMkR6-hSn7kbHVoFf7ZfgMPr_lbw0kcwXK6ARIyH5IA.ttf"
13959
+ }
13960
+ },
13961
+ {
13962
+ "kind": "webfonts#webfont",
13963
+ "family": "Podkova",
13964
+ "category": "serif",
13965
+ "variants": [
13966
+ "regular",
13967
+ "500",
13968
+ "600",
13969
+ "700",
13970
+ "800"
13971
+ ],
13972
+ "subsets": [
13973
+ "latin-ext",
13974
+ "cyrillic-ext",
13975
+ "cyrillic",
13976
+ "vietnamese",
13977
+ "latin"
13978
+ ],
13979
+ "version": "v12",
13980
+ "lastModified": "2019-01-10",
13981
+ "files": {
13982
+ "500": "http://fonts.gstatic.com/s/podkova/v12/K2F0fZ1EmftJSV9VYGrQAoqKAyLzfWo.ttf",
13983
+ "600": "http://fonts.gstatic.com/s/podkova/v12/K2F0fZ1EmftJSV9VYEbXAoqKAyLzfWo.ttf",
13984
+ "700": "http://fonts.gstatic.com/s/podkova/v12/K2F0fZ1EmftJSV9VYCLWAoqKAyLzfWo.ttf",
13985
+ "800": "http://fonts.gstatic.com/s/podkova/v12/K2F0fZ1EmftJSV9VYD7VAoqKAyLzfWo.ttf",
13986
+ "regular": "http://fonts.gstatic.com/s/podkova/v12/K2FxfZ1EmftJSV9VWJ75JoKhHys.ttf"
13987
+ }
13988
+ },
13989
+ {
13990
+ "kind": "webfonts#webfont",
13991
+ "family": "Poiret One",
13992
+ "category": "display",
13993
+ "variants": [
13994
+ "regular"
13995
+ ],
13996
+ "subsets": [
13997
+ "latin-ext",
13998
+ "cyrillic",
13999
+ "latin"
14000
+ ],
14001
+ "version": "v7",
14002
+ "lastModified": "2019-01-15",
14003
+ "files": {
14004
+ "regular": "http://fonts.gstatic.com/s/poiretone/v7/UqyVK80NJXN4zfRgbdfbk5lWVscxdKE.ttf"
14005
+ }
14006
+ },
14007
+ {
14008
+ "kind": "webfonts#webfont",
14009
+ "family": "Poller One",
14010
+ "category": "display",
14011
+ "variants": [
14012
+ "regular"
14013
+ ],
14014
+ "subsets": [
14015
+ "latin"
14016
+ ],
14017
+ "version": "v8",
14018
+ "lastModified": "2019-01-10",
14019
+ "files": {
14020
+ "regular": "http://fonts.gstatic.com/s/pollerone/v8/ahccv82n0TN3gia5E4Bud-lbgUS5u0s.ttf"
14021
+ }
14022
+ },
14023
+ {
14024
+ "kind": "webfonts#webfont",
14025
+ "family": "Poly",
14026
+ "category": "serif",
14027
+ "variants": [
14028
+ "regular",
14029
+ "italic"
14030
+ ],
14031
+ "subsets": [
14032
+ "latin"
14033
+ ],
14034
+ "version": "v9",
14035
+ "lastModified": "2019-01-10",
14036
+ "files": {
14037
+ "regular": "http://fonts.gstatic.com/s/poly/v9/MQpb-W6wKNitRLCAq2Lpris.ttf",
14038
+ "italic": "http://fonts.gstatic.com/s/poly/v9/MQpV-W6wKNitdLKKr0DsviuGWA.ttf"
14039
+ }
14040
+ },
14041
+ {
14042
+ "kind": "webfonts#webfont",
14043
+ "family": "Pompiere",
14044
+ "category": "display",
14045
+ "variants": [
14046
+ "regular"
14047
+ ],
14048
+ "subsets": [
14049
+ "latin"
14050
+ ],
14051
+ "version": "v8",
14052
+ "lastModified": "2019-01-10",
14053
+ "files": {
14054
+ "regular": "http://fonts.gstatic.com/s/pompiere/v8/VEMyRoxis5Dwuyeov6Wt5jDtreOL.ttf"
14055
+ }
14056
+ },
14057
+ {
14058
+ "kind": "webfonts#webfont",
14059
+ "family": "Pontano Sans",
14060
+ "category": "sans-serif",
14061
+ "variants": [
14062
+ "regular"
14063
+ ],
14064
+ "subsets": [
14065
+ "latin-ext",
14066
+ "latin"
14067
+ ],
14068
+ "version": "v6",
14069
+ "lastModified": "2019-01-15",
14070
+ "files": {
14071
+ "regular": "http://fonts.gstatic.com/s/pontanosans/v6/qFdD35GdgYR8EzR6oBLDHa3qwjUMg1siNQ.ttf"
14072
+ }
14073
+ },
14074
+ {
14075
+ "kind": "webfonts#webfont",
14076
+ "family": "Poor Story",
14077
+ "category": "display",
14078
+ "variants": [
14079
+ "regular"
14080
+ ],
14081
+ "subsets": [
14082
+ "korean",
14083
+ "latin"
14084
+ ],
14085
+ "version": "v5",
14086
+ "lastModified": "2018-12-13",
14087
+ "files": {
14088
+ "regular": "http://fonts.gstatic.com/s/poorstory/v5/jizfREFUsnUct9P6cDfd4OmnLD0Z4zM.ttf"
14089
+ }
14090
+ },
14091
+ {
14092
+ "kind": "webfonts#webfont",
14093
+ "family": "Poppins",
14094
+ "category": "sans-serif",
14095
+ "variants": [
14096
+ "100",
14097
+ "100italic",
14098
+ "200",
14099
+ "200italic",
14100
+ "300",
14101
+ "300italic",
14102
+ "regular",
14103
+ "italic",
14104
+ "500",
14105
+ "500italic",
14106
+ "600",
14107
+ "600italic",
14108
+ "700",
14109
+ "700italic",
14110
+ "800",
14111
+ "800italic",
14112
+ "900",
14113
+ "900italic"
14114
+ ],
14115
+ "subsets": [
14116
+ "latin-ext",
14117
+ "devanagari",
14118
+ "latin"
14119
+ ],
14120
+ "version": "v5",
14121
+ "lastModified": "2017-11-21",
14122
+ "files": {
14123
+ "100": "http://fonts.gstatic.com/s/poppins/v5/pxiGyp8kv8JHgFVrLPTedw.ttf",
14124
+ "200": "http://fonts.gstatic.com/s/poppins/v5/pxiByp8kv8JHgFVrLFj_V1s.ttf",
14125
+ "300": "http://fonts.gstatic.com/s/poppins/v5/pxiByp8kv8JHgFVrLDz8V1s.ttf",
14126
+ "500": "http://fonts.gstatic.com/s/poppins/v5/pxiByp8kv8JHgFVrLGT9V1s.ttf",
14127
+ "600": "http://fonts.gstatic.com/s/poppins/v5/pxiByp8kv8JHgFVrLEj6V1s.ttf",
14128
+ "700": "http://fonts.gstatic.com/s/poppins/v5/pxiByp8kv8JHgFVrLCz7V1s.ttf",
14129
+ "800": "http://fonts.gstatic.com/s/poppins/v5/pxiByp8kv8JHgFVrLDD4V1s.ttf",
14130
+ "900": "http://fonts.gstatic.com/s/poppins/v5/pxiByp8kv8JHgFVrLBT5V1s.ttf",
14131
+ "100italic": "http://fonts.gstatic.com/s/poppins/v5/pxiAyp8kv8JHgFVrJJLmE3tF.ttf",
14132
+ "200italic": "http://fonts.gstatic.com/s/poppins/v5/pxiDyp8kv8JHgFVrJJLmv1plEA.ttf",
14133
+ "300italic": "http://fonts.gstatic.com/s/poppins/v5/pxiDyp8kv8JHgFVrJJLm21llEA.ttf",
14134
+ "regular": "http://fonts.gstatic.com/s/poppins/v5/pxiEyp8kv8JHgFVrFJA.ttf",
14135
+ "italic": "http://fonts.gstatic.com/s/poppins/v5/pxiGyp8kv8JHgFVrJJLedw.ttf",
14136
+ "500italic": "http://fonts.gstatic.com/s/poppins/v5/pxiDyp8kv8JHgFVrJJLmg1hlEA.ttf",
14137
+ "600italic": "http://fonts.gstatic.com/s/poppins/v5/pxiDyp8kv8JHgFVrJJLmr19lEA.ttf",
14138
+ "700italic": "http://fonts.gstatic.com/s/poppins/v5/pxiDyp8kv8JHgFVrJJLmy15lEA.ttf",
14139
+ "800italic": "http://fonts.gstatic.com/s/poppins/v5/pxiDyp8kv8JHgFVrJJLm111lEA.ttf",
14140
+ "900italic": "http://fonts.gstatic.com/s/poppins/v5/pxiDyp8kv8JHgFVrJJLm81xlEA.ttf"
14141
+ }
14142
+ },
14143
+ {
14144
+ "kind": "webfonts#webfont",
14145
+ "family": "Port Lligat Sans",
14146
+ "category": "sans-serif",
14147
+ "variants": [
14148
+ "regular"
14149
+ ],
14150
+ "subsets": [
14151
+ "latin"
14152
+ ],
14153
+ "version": "v7",
14154
+ "lastModified": "2018-12-13",
14155
+ "files": {
14156
+ "regular": "http://fonts.gstatic.com/s/portlligatsans/v7/kmKmZrYrGBbdN1aV7Vokow6Lw4s4l7N0Tx4xEcQ.ttf"
14157
+ }
14158
+ },
14159
+ {
14160
+ "kind": "webfonts#webfont",
14161
+ "family": "Port Lligat Slab",
14162
+ "category": "serif",
14163
+ "variants": [
14164
+ "regular"
14165
+ ],
14166
+ "subsets": [
14167
+ "latin"
14168
+ ],
14169
+ "version": "v7",
14170
+ "lastModified": "2019-01-10",
14171
+ "files": {
14172
+ "regular": "http://fonts.gstatic.com/s/portlligatslab/v7/LDIpaoiQNgArA8kR7ulhZ8P_NYOss7ob9yGLmfI.ttf"
14173
+ }
14174
+ },
14175
+ {
14176
+ "kind": "webfonts#webfont",
14177
+ "family": "Pragati Narrow",
14178
+ "category": "sans-serif",
14179
+ "variants": [
14180
+ "regular",
14181
+ "700"
14182
+ ],
14183
+ "subsets": [
14184
+ "latin-ext",
14185
+ "devanagari",
14186
+ "latin"
14187
+ ],
14188
+ "version": "v4",
14189
+ "lastModified": "2019-01-15",
14190
+ "files": {
14191
+ "700": "http://fonts.gstatic.com/s/pragatinarrow/v4/vm8sdRf0T0bS1ffgsPB7WZ-mD2ZD5fd_GJMTlo_4.ttf",
14192
+ "regular": "http://fonts.gstatic.com/s/pragatinarrow/v4/vm8vdRf0T0bS1ffgsPB7WZ-mD17_ytN3M48a.ttf"
14193
+ }
14194
+ },
14195
+ {
14196
+ "kind": "webfonts#webfont",
14197
+ "family": "Prata",
14198
+ "category": "serif",
14199
+ "variants": [
14200
+ "regular"
14201
+ ],
14202
+ "subsets": [
14203
+ "cyrillic-ext",
14204
+ "cyrillic",
14205
+ "vietnamese",
14206
+ "latin"
14207
+ ],
14208
+ "version": "v9",
14209
+ "lastModified": "2019-01-15",
14210
+ "files": {
14211
+ "regular": "http://fonts.gstatic.com/s/prata/v9/6xKhdSpbNNCT-vWIAG_5LWwJ.ttf"
14212
+ }
14213
+ },
14214
+ {
14215
+ "kind": "webfonts#webfont",
14216
+ "family": "Preahvihear",
14217
+ "category": "display",
14218
+ "variants": [
14219
+ "regular"
14220
+ ],
14221
+ "subsets": [
14222
+ "khmer"
14223
+ ],
14224
+ "version": "v10",
14225
+ "lastModified": "2018-11-29",
14226
+ "files": {
14227
+ "regular": "http://fonts.gstatic.com/s/preahvihear/v10/6NUS8F-dNQeEYhzj7uluxswE49FJf8Wv.ttf"
14228
+ }
14229
+ },
14230
+ {
14231
+ "kind": "webfonts#webfont",
14232
+ "family": "Press Start 2P",
14233
+ "category": "display",
14234
+ "variants": [
14235
+ "regular"
14236
+ ],
14237
+ "subsets": [
14238
+ "latin-ext",
14239
+ "cyrillic-ext",
14240
+ "cyrillic",
14241
+ "greek",
14242
+ "latin"
14243
+ ],
14244
+ "version": "v7",
14245
+ "lastModified": "2019-01-15",
14246
+ "files": {
14247
+ "regular": "http://fonts.gstatic.com/s/pressstart2p/v7/e3t4euO8T-267oIAQAu6jDQyK0nSgPJE4580.ttf"
14248
+ }
14249
+ },
14250
+ {
14251
+ "kind": "webfonts#webfont",
14252
+ "family": "Pridi",
14253
+ "category": "serif",
14254
+ "variants": [
14255
+ "200",
14256
+ "300",
14257
+ "regular",
14258
+ "500",
14259
+ "600",
14260
+ "700"
14261
+ ],
14262
+ "subsets": [
14263
+ "latin-ext",
14264
+ "thai",
14265
+ "vietnamese",
14266
+ "latin"
14267
+ ],
14268
+ "version": "v4",
14269
+ "lastModified": "2019-01-15",
14270
+ "files": {
14271
+ "200": "http://fonts.gstatic.com/s/pridi/v4/2sDdZG5JnZLfkc1SiE0jRUG0AqUc.ttf",
14272
+ "300": "http://fonts.gstatic.com/s/pridi/v4/2sDdZG5JnZLfkc02i00jRUG0AqUc.ttf",
14273
+ "500": "http://fonts.gstatic.com/s/pridi/v4/2sDdZG5JnZLfkc1uik0jRUG0AqUc.ttf",
14274
+ "600": "http://fonts.gstatic.com/s/pridi/v4/2sDdZG5JnZLfkc1CjU0jRUG0AqUc.ttf",
14275
+ "700": "http://fonts.gstatic.com/s/pridi/v4/2sDdZG5JnZLfkc0mjE0jRUG0AqUc.ttf",
14276
+ "regular": "http://fonts.gstatic.com/s/pridi/v4/2sDQZG5JnZLfkfWao2krbl29.ttf"
14277
+ }
14278
+ },
14279
+ {
14280
+ "kind": "webfonts#webfont",
14281
+ "family": "Princess Sofia",
14282
+ "category": "handwriting",
14283
+ "variants": [
14284
+ "regular"
14285
+ ],
14286
+ "subsets": [
14287
+ "latin-ext",
14288
+ "latin"
14289
+ ],
14290
+ "version": "v7",
14291
+ "lastModified": "2018-12-13",
14292
+ "files": {
14293
+ "regular": "http://fonts.gstatic.com/s/princesssofia/v7/qWczB6yguIb8DZ_GXZst16n7GRz7mDUoupoI.ttf"
14294
+ }
14295
+ },
14296
+ {
14297
+ "kind": "webfonts#webfont",
14298
+ "family": "Prociono",
14299
+ "category": "serif",
14300
+ "variants": [
14301
+ "regular"
14302
+ ],
14303
+ "subsets": [
14304
+ "latin"
14305
+ ],
14306
+ "version": "v8",
14307
+ "lastModified": "2019-01-10",
14308
+ "files": {
14309
+ "regular": "http://fonts.gstatic.com/s/prociono/v8/r05YGLlR-KxAf9GGO8upyDYtStiJ.ttf"
14310
+ }
14311
+ },
14312
+ {
14313
+ "kind": "webfonts#webfont",
14314
+ "family": "Prompt",
14315
+ "category": "sans-serif",
14316
+ "variants": [
14317
+ "100",
14318
+ "100italic",
14319
+ "200",
14320
+ "200italic",
14321
+ "300",
14322
+ "300italic",
14323
+ "regular",
14324
+ "italic",
14325
+ "500",
14326
+ "500italic",
14327
+ "600",
14328
+ "600italic",
14329
+ "700",
14330
+ "700italic",
14331
+ "800",
14332
+ "800italic",
14333
+ "900",
14334
+ "900italic"
14335
+ ],
14336
+ "subsets": [
14337
+ "latin-ext",
14338
+ "thai",
14339
+ "vietnamese",
14340
+ "latin"
14341
+ ],
14342
+ "version": "v3",
14343
+ "lastModified": "2019-01-15",
14344
+ "files": {
14345
+ "100": "http://fonts.gstatic.com/s/prompt/v3/-W_9XJnvUD7dzB2CA9oYREcjeo0k.ttf",
14346
+ "200": "http://fonts.gstatic.com/s/prompt/v3/-W_8XJnvUD7dzB2Cr_s4bmkvc5Q9dw.ttf",
14347
+ "300": "http://fonts.gstatic.com/s/prompt/v3/-W_8XJnvUD7dzB2Cy_g4bmkvc5Q9dw.ttf",
14348
+ "500": "http://fonts.gstatic.com/s/prompt/v3/-W_8XJnvUD7dzB2Ck_k4bmkvc5Q9dw.ttf",
14349
+ "600": "http://fonts.gstatic.com/s/prompt/v3/-W_8XJnvUD7dzB2Cv_44bmkvc5Q9dw.ttf",
14350
+ "700": "http://fonts.gstatic.com/s/prompt/v3/-W_8XJnvUD7dzB2C2_84bmkvc5Q9dw.ttf",
14351
+ "800": "http://fonts.gstatic.com/s/prompt/v3/-W_8XJnvUD7dzB2Cx_w4bmkvc5Q9dw.ttf",
14352
+ "900": "http://fonts.gstatic.com/s/prompt/v3/-W_8XJnvUD7dzB2C4_04bmkvc5Q9dw.ttf",
14353
+ "100italic": "http://fonts.gstatic.com/s/prompt/v3/-W_7XJnvUD7dzB2KZeJ8TkMBf50kbiM.ttf",
14354
+ "200italic": "http://fonts.gstatic.com/s/prompt/v3/-W_6XJnvUD7dzB2KZeLQb2MrUZEtdzow.ttf",
14355
+ "300italic": "http://fonts.gstatic.com/s/prompt/v3/-W_6XJnvUD7dzB2KZeK0bGMrUZEtdzow.ttf",
14356
+ "regular": "http://fonts.gstatic.com/s/prompt/v3/-W__XJnvUD7dzB26Z9AcZkIzeg.ttf",
14357
+ "italic": "http://fonts.gstatic.com/s/prompt/v3/-W_9XJnvUD7dzB2KZdoYREcjeo0k.ttf",
14358
+ "500italic": "http://fonts.gstatic.com/s/prompt/v3/-W_6XJnvUD7dzB2KZeLsbWMrUZEtdzow.ttf",
14359
+ "600italic": "http://fonts.gstatic.com/s/prompt/v3/-W_6XJnvUD7dzB2KZeLAamMrUZEtdzow.ttf",
14360
+ "700italic": "http://fonts.gstatic.com/s/prompt/v3/-W_6XJnvUD7dzB2KZeKka2MrUZEtdzow.ttf",
14361
+ "800italic": "http://fonts.gstatic.com/s/prompt/v3/-W_6XJnvUD7dzB2KZeK4aGMrUZEtdzow.ttf",
14362
+ "900italic": "http://fonts.gstatic.com/s/prompt/v3/-W_6XJnvUD7dzB2KZeKcaWMrUZEtdzow.ttf"
14363
+ }
14364
+ },
14365
+ {
14366
+ "kind": "webfonts#webfont",
14367
+ "family": "Prosto One",
14368
+ "category": "display",
14369
+ "variants": [
14370
+ "regular"
14371
+ ],
14372
+ "subsets": [
14373
+ "latin-ext",
14374
+ "cyrillic",
14375
+ "latin"
14376
+ ],
14377
+ "version": "v7",
14378
+ "lastModified": "2019-01-15",
14379
+ "files": {
14380
+ "regular": "http://fonts.gstatic.com/s/prostoone/v7/OpNJno4VhNfK-RgpwWWxpipfWhXD00c.ttf"
14381
+ }
14382
+ },
14383
+ {
14384
+ "kind": "webfonts#webfont",
14385
+ "family": "Proza Libre",
14386
+ "category": "sans-serif",
14387
+ "variants": [
14388
+ "regular",
14389
+ "italic",
14390
+ "500",
14391
+ "500italic",
14392
+ "600",
14393
+ "600italic",
14394
+ "700",
14395
+ "700italic",
14396
+ "800",
14397
+ "800italic"
14398
+ ],
14399
+ "subsets": [
14400
+ "latin-ext",
14401
+ "latin"
14402
+ ],
14403
+ "version": "v3",
14404
+ "lastModified": "2019-01-10",
14405
+ "files": {
14406
+ "500": "http://fonts.gstatic.com/s/prozalibre/v3/LYjbdGHgj0k1DIQRyUEyyELbV__fcpC69i6N.ttf",
14407
+ "600": "http://fonts.gstatic.com/s/prozalibre/v3/LYjbdGHgj0k1DIQRyUEyyEL3UP_fcpC69i6N.ttf",
14408
+ "700": "http://fonts.gstatic.com/s/prozalibre/v3/LYjbdGHgj0k1DIQRyUEyyEKTUf_fcpC69i6N.ttf",
14409
+ "800": "http://fonts.gstatic.com/s/prozalibre/v3/LYjbdGHgj0k1DIQRyUEyyEKPUv_fcpC69i6N.ttf",
14410
+ "regular": "http://fonts.gstatic.com/s/prozalibre/v3/LYjGdGHgj0k1DIQRyUEyyHovftvXWYyz.ttf",
14411
+ "italic": "http://fonts.gstatic.com/s/prozalibre/v3/LYjEdGHgj0k1DIQRyUEyyEotdN_1XJyz7zc.ttf",
14412
+ "500italic": "http://fonts.gstatic.com/s/prozalibre/v3/LYjZdGHgj0k1DIQRyUEyyEotTCvceJSY8z6Np1k.ttf",
14413
+ "600italic": "http://fonts.gstatic.com/s/prozalibre/v3/LYjZdGHgj0k1DIQRyUEyyEotTAfbeJSY8z6Np1k.ttf",
14414
+ "700italic": "http://fonts.gstatic.com/s/prozalibre/v3/LYjZdGHgj0k1DIQRyUEyyEotTGPaeJSY8z6Np1k.ttf",
14415
+ "800italic": "http://fonts.gstatic.com/s/prozalibre/v3/LYjZdGHgj0k1DIQRyUEyyEotTH_ZeJSY8z6Np1k.ttf"
14416
+ }
14417
+ },
14418
+ {
14419
+ "kind": "webfonts#webfont",
14420
+ "family": "Puritan",
14421
+ "category": "sans-serif",
14422
+ "variants": [
14423
+ "regular",
14424
+ "italic",
14425
+ "700",
14426
+ "700italic"
14427
+ ],
14428
+ "subsets": [
14429
+ "latin"
14430
+ ],
14431
+ "version": "v10",
14432
+ "lastModified": "2019-01-10",
14433
+ "files": {
14434
+ "700": "http://fonts.gstatic.com/s/puritan/v10/845dNMgkAJ2VTtIozCbfYd6j-0rGRes.ttf",
14435
+ "regular": "http://fonts.gstatic.com/s/puritan/v10/845YNMgkAJ2VTtIo9JrwRdaI50M.ttf",
14436
+ "italic": "http://fonts.gstatic.com/s/puritan/v10/845aNMgkAJ2VTtIoxJj6QfSN90PfXA.ttf",
14437
+ "700italic": "http://fonts.gstatic.com/s/puritan/v10/845fNMgkAJ2VTtIoxJjC_dup_2jDVevnLQ.ttf"
14438
+ }
14439
+ },
14440
+ {
14441
+ "kind": "webfonts#webfont",
14442
+ "family": "Purple Purse",
14443
+ "category": "display",
14444
+ "variants": [
14445
+ "regular"
14446
+ ],
14447
+ "subsets": [
14448
+ "latin-ext",
14449
+ "latin"
14450
+ ],
14451
+ "version": "v7",
14452
+ "lastModified": "2018-12-13",
14453
+ "files": {
14454
+ "regular": "http://fonts.gstatic.com/s/purplepurse/v7/qWctB66gv53iAp-Vfs4My6qyeBb_ujA4ug.ttf"
14455
+ }
14456
+ },
14457
+ {
14458
+ "kind": "webfonts#webfont",
14459
+ "family": "Quando",
14460
+ "category": "serif",
14461
+ "variants": [
14462
+ "regular"
14463
+ ],
14464
+ "subsets": [
14465
+ "latin-ext",
14466
+ "latin"
14467
+ ],
14468
+ "version": "v7",
14469
+ "lastModified": "2019-01-10",
14470
+ "files": {
14471
+ "regular": "http://fonts.gstatic.com/s/quando/v7/xMQVuFNaVa6YuW0pC6WzKX_QmA.ttf"
14472
+ }
14473
+ },
14474
+ {
14475
+ "kind": "webfonts#webfont",
14476
+ "family": "Quantico",
14477
+ "category": "sans-serif",
14478
+ "variants": [
14479
+ "regular",
14480
+ "italic",
14481
+ "700",
14482
+ "700italic"
14483
+ ],
14484
+ "subsets": [
14485
+ "latin"
14486
+ ],
14487
+ "version": "v8",
14488
+ "lastModified": "2019-01-15",
14489
+ "files": {
14490
+ "700": "http://fonts.gstatic.com/s/quantico/v8/rax5HiSdp9cPL3KIF7TQARhasU7Q8Cad.ttf",
14491
+ "regular": "http://fonts.gstatic.com/s/quantico/v8/rax-HiSdp9cPL3KIF4xsLjxSmlLZ.ttf",
14492
+ "italic": "http://fonts.gstatic.com/s/quantico/v8/rax4HiSdp9cPL3KIF7xuJDhwn0LZ6T8.ttf",
14493
+ "700italic": "http://fonts.gstatic.com/s/quantico/v8/rax7HiSdp9cPL3KIF7xuHIRfu0ry9TadML4.ttf"
14494
+ }
14495
+ },
14496
+ {
14497
+ "kind": "webfonts#webfont",
14498
+ "family": "Quattrocento",
14499
+ "category": "serif",
14500
+ "variants": [
14501
+ "regular",
14502
+ "700"
14503
+ ],
14504
+ "subsets": [
14505
+ "latin-ext",
14506
+ "latin"
14507
+ ],
14508
+ "version": "v10",
14509
+ "lastModified": "2019-01-15",
14510
+ "files": {
14511
+ "700": "http://fonts.gstatic.com/s/quattrocento/v10/OZpbg_xvsDZQL_LKIF7q4jP_eE3fd6PZsXcM9w.ttf",
14512
+ "regular": "http://fonts.gstatic.com/s/quattrocento/v10/OZpEg_xvsDZQL_LKIF7q4jPHxGL7f4jFuA.ttf"
14513
+ }
14514
+ },
14515
+ {
14516
+ "kind": "webfonts#webfont",
14517
+ "family": "Quattrocento Sans",
14518
+ "category": "sans-serif",
14519
+ "variants": [
14520
+ "regular",
14521
+ "italic",
14522
+ "700",
14523
+ "700italic"
14524
+ ],
14525
+ "subsets": [
14526
+ "latin-ext",
14527
+ "latin"
14528
+ ],
14529
+ "version": "v11",
14530
+ "lastModified": "2019-01-15",
14531
+ "files": {
14532
+ "700": "http://fonts.gstatic.com/s/quattrocentosans/v11/va9Z4lja2NVIDdIAAoMR5MfuElaRB0RykmrWN33AiasJ.ttf",
14533
+ "regular": "http://fonts.gstatic.com/s/quattrocentosans/v11/va9c4lja2NVIDdIAAoMR5MfuElaRB3zOvU7eHGHJ.ttf",
14534
+ "italic": "http://fonts.gstatic.com/s/quattrocentosans/v11/va9a4lja2NVIDdIAAoMR5MfuElaRB0zMt0r8GXHJkLI.ttf",
14535
+ "700italic": "http://fonts.gstatic.com/s/quattrocentosans/v11/va9X4lja2NVIDdIAAoMR5MfuElaRB0zMj_bTPXnijLsJV7E.ttf"
14536
+ }
14537
+ },
14538
+ {
14539
+ "kind": "webfonts#webfont",
14540
+ "family": "Questrial",
14541
+ "category": "sans-serif",
14542
+ "variants": [
14543
+ "regular"
14544
+ ],
14545
+ "subsets": [
14546
+ "latin"
14547
+ ],
14548
+ "version": "v7",
14549
+ "lastModified": "2017-10-10",
14550
+ "files": {
14551
+ "regular": "http://fonts.gstatic.com/s/questrial/v7/QdVUSTchPBm7nuUeVf7EuQ.ttf"
14552
+ }
14553
+ },
14554
+ {
14555
+ "kind": "webfonts#webfont",
14556
+ "family": "Quicksand",
14557
+ "category": "sans-serif",
14558
+ "variants": [
14559
+ "300",
14560
+ "regular",
14561
+ "500",
14562
+ "700"
14563
+ ],
14564
+ "subsets": [
14565
+ "latin-ext",
14566
+ "vietnamese",
14567
+ "latin"
14568
+ ],
14569
+ "version": "v8",
14570
+ "lastModified": "2018-10-08",
14571
+ "files": {
14572
+ "300": "http://fonts.gstatic.com/s/quicksand/v8/6xKodSZaM9iE8KbpRA_pgHYoSA.ttf",
14573
+ "500": "http://fonts.gstatic.com/s/quicksand/v8/6xKodSZaM9iE8KbpRA_p2HcoSA.ttf",
14574
+ "700": "http://fonts.gstatic.com/s/quicksand/v8/6xKodSZaM9iE8KbpRA_pkHEoSA.ttf",
14575
+ "regular": "http://fonts.gstatic.com/s/quicksand/v8/6xKtdSZaM9iE8KbpRA_RLA.ttf"
14576
+ }
14577
+ },
14578
+ {
14579
+ "kind": "webfonts#webfont",
14580
+ "family": "Quintessential",
14581
+ "category": "handwriting",
14582
+ "variants": [
14583
+ "regular"
14584
+ ],
14585
+ "subsets": [
14586
+ "latin-ext",
14587
+ "latin"
14588
+ ],
14589
+ "version": "v6",
14590
+ "lastModified": "2018-12-13",
14591
+ "files": {
14592
+ "regular": "http://fonts.gstatic.com/s/quintessential/v6/fdNn9sOGq31Yjnh3qWU14DdtjY5wS7kmAyxM.ttf"
14593
+ }
14594
+ },
14595
+ {
14596
+ "kind": "webfonts#webfont",
14597
+ "family": "Qwigley",
14598
+ "category": "handwriting",
14599
+ "variants": [
14600
+ "regular"
14601
+ ],
14602
+ "subsets": [
14603
+ "latin-ext",
14604
+ "latin"
14605
+ ],
14606
+ "version": "v8",
14607
+ "lastModified": "2019-01-10",
14608
+ "files": {
14609
+ "regular": "http://fonts.gstatic.com/s/qwigley/v8/1cXzaU3UGJb5tGoCuVxsi1mBmcE.ttf"
14610
+ }
14611
+ },
14612
+ {
14613
+ "kind": "webfonts#webfont",
14614
+ "family": "Racing Sans One",
14615
+ "category": "display",
14616
+ "variants": [
14617
+ "regular"
14618
+ ],
14619
+ "subsets": [
14620
+ "latin-ext",
14621
+ "latin"
14622
+ ],
14623
+ "version": "v6",
14624
+ "lastModified": "2019-01-10",
14625
+ "files": {
14626
+ "regular": "http://fonts.gstatic.com/s/racingsansone/v6/sykr-yRtm7EvTrXNxkv5jfKKyDCwL3rmWpIBtA.ttf"
14627
+ }
14628
+ },
14629
+ {
14630
+ "kind": "webfonts#webfont",
14631
+ "family": "Radley",
14632
+ "category": "serif",
14633
+ "variants": [
14634
+ "regular",
14635
+ "italic"
14636
+ ],
14637
+ "subsets": [
14638
+ "latin-ext",
14639
+ "latin"
14640
+ ],
14641
+ "version": "v13",
14642
+ "lastModified": "2019-01-10",
14643
+ "files": {
14644
+ "regular": "http://fonts.gstatic.com/s/radley/v13/LYjDdGzinEIjCN19oAlEpVs3VQ.ttf",
14645
+ "italic": "http://fonts.gstatic.com/s/radley/v13/LYjBdGzinEIjCN1NogNAh14nVcfe.ttf"
14646
+ }
14647
+ },
14648
+ {
14649
+ "kind": "webfonts#webfont",
14650
+ "family": "Rajdhani",
14651
+ "category": "sans-serif",
14652
+ "variants": [
14653
+ "300",
14654
+ "regular",
14655
+ "500",
14656
+ "600",
14657
+ "700"
14658
+ ],
14659
+ "subsets": [
14660
+ "latin-ext",
14661
+ "devanagari",
14662
+ "latin"
14663
+ ],
14664
+ "version": "v7",
14665
+ "lastModified": "2017-10-10",
14666
+ "files": {
14667
+ "300": "http://fonts.gstatic.com/s/rajdhani/v7/LDI2apCSOBg7S-QT7pasEcOs.ttf",
14668
+ "500": "http://fonts.gstatic.com/s/rajdhani/v7/LDI2apCSOBg7S-QT7pb0EMOs.ttf",
14669
+ "600": "http://fonts.gstatic.com/s/rajdhani/v7/LDI2apCSOBg7S-QT7pbYF8Os.ttf",
14670
+ "700": "http://fonts.gstatic.com/s/rajdhani/v7/LDI2apCSOBg7S-QT7pa8FsOs.ttf",
14671
+ "regular": "http://fonts.gstatic.com/s/rajdhani/v7/LDIxapCSOBg7S-QT7q4A.ttf"
14672
+ }
14673
+ },
14674
+ {
14675
+ "kind": "webfonts#webfont",
14676
+ "family": "Rakkas",
14677
+ "category": "display",
14678
+ "variants": [
14679
+ "regular"
14680
+ ],
14681
+ "subsets": [
14682
+ "arabic",
14683
+ "latin-ext",
14684
+ "latin"
14685
+ ],
14686
+ "version": "v6",
14687
+ "lastModified": "2018-12-13",
14688
+ "files": {
14689
+ "regular": "http://fonts.gstatic.com/s/rakkas/v6/Qw3cZQlNHiblL3j_lttPOeMcCw.ttf"
14690
+ }
14691
+ },
14692
+ {
14693
+ "kind": "webfonts#webfont",
14694
+ "family": "Raleway",
14695
+ "category": "sans-serif",
14696
+ "variants": [
14697
+ "100",
14698
+ "100italic",
14699
+ "200",
14700
+ "200italic",
14701
+ "300",
14702
+ "300italic",
14703
+ "regular",
14704
+ "italic",
14705
+ "500",
14706
+ "500italic",
14707
+ "600",
14708
+ "600italic",
14709
+ "700",
14710
+ "700italic",
14711
+ "800",
14712
+ "800italic",
14713
+ "900",
14714
+ "900italic"
14715
+ ],
14716
+ "subsets": [
14717
+ "latin-ext",
14718
+ "latin"
14719
+ ],
14720
+ "version": "v12",
14721
+ "lastModified": "2017-10-11",
14722
+ "files": {
14723
+ "100": "http://fonts.gstatic.com/s/raleway/v12/1Ptsg8zYS_SKggPNwE4ISg.ttf",
14724
+ "200": "http://fonts.gstatic.com/s/raleway/v12/1Ptrg8zYS_SKggPNwOIpaqE.ttf",
14725
+ "300": "http://fonts.gstatic.com/s/raleway/v12/1Ptrg8zYS_SKggPNwIYqaqE.ttf",
14726
+ "500": "http://fonts.gstatic.com/s/raleway/v12/1Ptrg8zYS_SKggPNwN4raqE.ttf",
14727
+ "600": "http://fonts.gstatic.com/s/raleway/v12/1Ptrg8zYS_SKggPNwPIsaqE.ttf",
14728
+ "700": "http://fonts.gstatic.com/s/raleway/v12/1Ptrg8zYS_SKggPNwJYtaqE.ttf",
14729
+ "800": "http://fonts.gstatic.com/s/raleway/v12/1Ptrg8zYS_SKggPNwIouaqE.ttf",
14730
+ "900": "http://fonts.gstatic.com/s/raleway/v12/1Ptrg8zYS_SKggPNwK4vaqE.ttf",
14731
+ "100italic": "http://fonts.gstatic.com/s/raleway/v12/1Ptqg8zYS_SKggPNyCgwLoFv.ttf",
14732
+ "200italic": "http://fonts.gstatic.com/s/raleway/v12/1Ptpg8zYS_SKggPNyCgwgqBPBQ.ttf",
14733
+ "300italic": "http://fonts.gstatic.com/s/raleway/v12/1Ptpg8zYS_SKggPNyCgw5qNPBQ.ttf",
14734
+ "regular": "http://fonts.gstatic.com/s/raleway/v12/1Ptug8zYS_SKggPN-Co.ttf",
14735
+ "italic": "http://fonts.gstatic.com/s/raleway/v12/1Ptsg8zYS_SKggPNyCgISg.ttf",
14736
+ "500italic": "http://fonts.gstatic.com/s/raleway/v12/1Ptpg8zYS_SKggPNyCgwvqJPBQ.ttf",
14737
+ "600italic": "http://fonts.gstatic.com/s/raleway/v12/1Ptpg8zYS_SKggPNyCgwkqVPBQ.ttf",
14738
+ "700italic": "http://fonts.gstatic.com/s/raleway/v12/1Ptpg8zYS_SKggPNyCgw9qRPBQ.ttf",
14739
+ "800italic": "http://fonts.gstatic.com/s/raleway/v12/1Ptpg8zYS_SKggPNyCgw6qdPBQ.ttf",
14740
+ "900italic": "http://fonts.gstatic.com/s/raleway/v12/1Ptpg8zYS_SKggPNyCgwzqZPBQ.ttf"
14741
+ }
14742
+ },
14743
+ {
14744
+ "kind": "webfonts#webfont",
14745
+ "family": "Raleway Dots",
14746
+ "category": "display",
14747
+ "variants": [
14748
+ "regular"
14749
+ ],
14750
+ "subsets": [
14751
+ "latin-ext",
14752
+ "latin"
14753
+ ],
14754
+ "version": "v6",
14755
+ "lastModified": "2019-01-15",
14756
+ "files": {
14757
+ "regular": "http://fonts.gstatic.com/s/ralewaydots/v6/6NUR8FifJg6AfQvzpshgwJ8kyf9Fdty2ew.ttf"
14758
+ }
14759
+ },
14760
+ {
14761
+ "kind": "webfonts#webfont",
14762
+ "family": "Ramabhadra",
14763
+ "category": "sans-serif",
14764
+ "variants": [
14765
+ "regular"
14766
+ ],
14767
+ "subsets": [
14768
+ "telugu",
14769
+ "latin"
14770
+ ],
14771
+ "version": "v8",
14772
+ "lastModified": "2019-01-10",
14773
+ "files": {
14774
+ "regular": "http://fonts.gstatic.com/s/ramabhadra/v8/EYq2maBOwqRW9P1SQ83LehNGX5uWw3o.ttf"
14775
+ }
14776
+ },
14777
+ {
14778
+ "kind": "webfonts#webfont",
14779
+ "family": "Ramaraja",
14780
+ "category": "serif",
14781
+ "variants": [
14782
+ "regular"
14783
+ ],
14784
+ "subsets": [
14785
+ "telugu",
14786
+ "latin"
14787
+ ],
14788
+ "version": "v3",
14789
+ "lastModified": "2018-12-13",
14790
+ "files": {
14791
+ "regular": "http://fonts.gstatic.com/s/ramaraja/v3/SlGTmQearpYAYG1CABIkqnB6aSQU.ttf"
14792
+ }
14793
+ },
14794
+ {
14795
+ "kind": "webfonts#webfont",
14796
+ "family": "Rambla",
14797
+ "category": "sans-serif",
14798
+ "variants": [
14799
+ "regular",
14800
+ "italic",
14801
+ "700",
14802
+ "700italic"
14803
+ ],
14804
+ "subsets": [
14805
+ "latin-ext",
14806
+ "latin"
14807
+ ],
14808
+ "version": "v6",
14809
+ "lastModified": "2019-01-15",
14810
+ "files": {
14811
+ "700": "http://fonts.gstatic.com/s/rambla/v6/snfos0ip98hx6mrMn50qPvN4yJuDYQ.ttf",
14812
+ "regular": "http://fonts.gstatic.com/s/rambla/v6/snfrs0ip98hx6mr0I7IONthkwQ.ttf",
14813
+ "italic": "http://fonts.gstatic.com/s/rambla/v6/snfps0ip98hx6mrEIbgKFN10wYKa.ttf",
14814
+ "700italic": "http://fonts.gstatic.com/s/rambla/v6/snfus0ip98hx6mrEIYC2O_l86p6TYS-Y.ttf"
14815
+ }
14816
+ },
14817
+ {
14818
+ "kind": "webfonts#webfont",
14819
+ "family": "Rammetto One",
14820
+ "category": "display",
14821
+ "variants": [
14822
+ "regular"
14823
+ ],
14824
+ "subsets": [
14825
+ "latin-ext",
14826
+ "latin"
14827
+ ],
14828
+ "version": "v7",
14829
+ "lastModified": "2019-01-10",
14830
+ "files": {
14831
+ "regular": "http://fonts.gstatic.com/s/rammettoone/v7/LhWiMV3HOfMbMetJG3lQDpp9Mvuciu-_SQ.ttf"
14832
+ }
14833
+ },
14834
+ {
14835
+ "kind": "webfonts#webfont",
14836
+ "family": "Ranchers",
14837
+ "category": "display",
14838
+ "variants": [
14839
+ "regular"
14840
+ ],
14841
+ "subsets": [
14842
+ "latin-ext",
14843
+ "latin"
14844
+ ],
14845
+ "version": "v6",
14846
+ "lastModified": "2019-01-10",
14847
+ "files": {
14848
+ "regular": "http://fonts.gstatic.com/s/ranchers/v6/zrfm0H3Lx-P2Xvs2AoDYDC79XTHv.ttf"
14849
+ }
14850
+ },
14851
+ {
14852
+ "kind": "webfonts#webfont",
14853
+ "family": "Rancho",
14854
+ "category": "handwriting",
14855
+ "variants": [
14856
+ "regular"
14857
+ ],
14858
+ "subsets": [
14859
+ "latin"
14860
+ ],
14861
+ "version": "v9",
14862
+ "lastModified": "2019-01-15",
14863
+ "files": {
14864
+ "regular": "http://fonts.gstatic.com/s/rancho/v9/46kulbzmXjLaqZRlbWXgd0RY1g.ttf"
14865
+ }
14866
+ },
14867
+ {
14868
+ "kind": "webfonts#webfont",
14869
+ "family": "Ranga",
14870
+ "category": "display",
14871
+ "variants": [
14872
+ "regular",
14873
+ "700"
14874
+ ],
14875
+ "subsets": [
14876
+ "latin-ext",
14877
+ "devanagari",
14878
+ "latin"
14879
+ ],
14880
+ "version": "v4",
14881
+ "lastModified": "2019-01-10",
14882
+ "files": {
14883
+ "700": "http://fonts.gstatic.com/s/ranga/v4/C8cg4cYisGb28qY-AxgR6X2NZAn2.ttf",
14884
+ "regular": "http://fonts.gstatic.com/s/ranga/v4/C8ct4cYisGb28p6CLDwZwmGE.ttf"
14885
+ }
14886
+ },
14887
+ {
14888
+ "kind": "webfonts#webfont",
14889
+ "family": "Rasa",
14890
+ "category": "serif",
14891
+ "variants": [
14892
+ "300",
14893
+ "regular",
14894
+ "500",
14895
+ "600",
14896
+ "700"
14897
+ ],
14898
+ "subsets": [
14899
+ "latin-ext",
14900
+ "gujarati",
14901
+ "latin"
14902
+ ],
14903
+ "version": "v4",
14904
+ "lastModified": "2019-01-15",
14905
+ "files": {
14906
+ "300": "http://fonts.gstatic.com/s/rasa/v4/xn7gYHIn1mWmdg52sgC7S9XdZN8.ttf",
14907
+ "500": "http://fonts.gstatic.com/s/rasa/v4/xn7gYHIn1mWmdlZ3sgC7S9XdZN8.ttf",
14908
+ "600": "http://fonts.gstatic.com/s/rasa/v4/xn7gYHIn1mWmdnpwsgC7S9XdZN8.ttf",
14909
+ "700": "http://fonts.gstatic.com/s/rasa/v4/xn7gYHIn1mWmdh5xsgC7S9XdZN8.ttf",
14910
+ "regular": "http://fonts.gstatic.com/s/rasa/v4/xn7vYHIn1mWmTqJelgiQV9w.ttf"
14911
+ }
14912
+ },
14913
+ {
14914
+ "kind": "webfonts#webfont",
14915
+ "family": "Rationale",
14916
+ "category": "sans-serif",
14917
+ "variants": [
14918
+ "regular"
14919
+ ],
14920
+ "subsets": [
14921
+ "latin"
14922
+ ],
14923
+ "version": "v10",
14924
+ "lastModified": "2018-12-13",
14925
+ "files": {
14926
+ "regular": "http://fonts.gstatic.com/s/rationale/v10/9XUnlJ92n0_JFxHIfHcsdlFMzLC2Zw.ttf"
14927
+ }
14928
+ },
14929
+ {
14930
+ "kind": "webfonts#webfont",
14931
+ "family": "Ravi Prakash",
14932
+ "category": "display",
14933
+ "variants": [
14934
+ "regular"
14935
+ ],
14936
+ "subsets": [
14937
+ "telugu",
14938
+ "latin"
14939
+ ],
14940
+ "version": "v5",
14941
+ "lastModified": "2018-12-13",
14942
+ "files": {
14943
+ "regular": "http://fonts.gstatic.com/s/raviprakash/v5/gokpH6fsDkVrF9Bv9X8SOAKHmNZEq6TTFw.ttf"
14944
+ }
14945
+ },
14946
+ {
14947
+ "kind": "webfonts#webfont",
14948
+ "family": "Redressed",
14949
+ "category": "handwriting",
14950
+ "variants": [
14951
+ "regular"
14952
+ ],
14953
+ "subsets": [
14954
+ "latin"
14955
+ ],
14956
+ "version": "v9",
14957
+ "lastModified": "2018-12-13",
14958
+ "files": {
14959
+ "regular": "http://fonts.gstatic.com/s/redressed/v9/x3dickHUbrmJ7wMy9MsBfPACvy_1BA.ttf"
14960
+ }
14961
+ },
14962
+ {
14963
+ "kind": "webfonts#webfont",
14964
+ "family": "Reem Kufi",
14965
+ "category": "sans-serif",
14966
+ "variants": [
14967
+ "regular"
14968
+ ],
14969
+ "subsets": [
14970
+ "arabic",
14971
+ "latin"
14972
+ ],
14973
+ "version": "v6",
14974
+ "lastModified": "2019-01-10",
14975
+ "files": {
14976
+ "regular": "http://fonts.gstatic.com/s/reemkufi/v6/2sDcZGJLip7W2J7v7wQDb2-4C7wFZQ.ttf"
14977
+ }
14978
+ },
14979
+ {
14980
+ "kind": "webfonts#webfont",
14981
+ "family": "Reenie Beanie",
14982
+ "category": "handwriting",
14983
+ "variants": [
14984
+ "regular"
14985
+ ],
14986
+ "subsets": [
14987
+ "latin"
14988
+ ],
14989
+ "version": "v9",
14990
+ "lastModified": "2019-01-15",
14991
+ "files": {
14992
+ "regular": "http://fonts.gstatic.com/s/reeniebeanie/v9/z7NSdR76eDkaJKZJFkkjuvWxbP2_qoOgf_w.ttf"
14993
+ }
14994
+ },
14995
+ {
14996
+ "kind": "webfonts#webfont",
14997
+ "family": "Revalia",
14998
+ "category": "display",
14999
+ "variants": [
15000
+ "regular"
15001
+ ],
15002
+ "subsets": [
15003
+ "latin-ext",
15004
+ "latin"
15005
+ ],
15006
+ "version": "v6",
15007
+ "lastModified": "2018-12-13",
15008
+ "files": {
15009
+ "regular": "http://fonts.gstatic.com/s/revalia/v6/WwkexPimBE2-4ZPEeVruNIgJSNM.ttf"
15010
+ }
15011
+ },
15012
+ {
15013
+ "kind": "webfonts#webfont",
15014
+ "family": "Rhodium Libre",
15015
+ "category": "serif",
15016
+ "variants": [
15017
+ "regular"
15018
+ ],
15019
+ "subsets": [
15020
+ "latin-ext",
15021
+ "devanagari",
15022
+ "latin"
15023
+ ],
15024
+ "version": "v3",
15025
+ "lastModified": "2018-12-13",
15026
+ "files": {
15027
+ "regular": "http://fonts.gstatic.com/s/rhodiumlibre/v3/1q2AY5adA0tn_ukeHcQHqpx6pETLeo2gm2U.ttf"
15028
+ }
15029
+ },
15030
+ {
15031
+ "kind": "webfonts#webfont",
15032
+ "family": "Ribeye",
15033
+ "category": "display",
15034
+ "variants": [
15035
+ "regular"
15036
+ ],
15037
+ "subsets": [
15038
+ "latin-ext",
15039
+ "latin"
15040
+ ],
15041
+ "version": "v7",
15042
+ "lastModified": "2018-12-13",
15043
+ "files": {
15044
+ "regular": "http://fonts.gstatic.com/s/ribeye/v7/L0x8DFMxk1MP9R3RvPCmRSlUig.ttf"
15045
+ }
15046
+ },
15047
+ {
15048
+ "kind": "webfonts#webfont",
15049
+ "family": "Ribeye Marrow",
15050
+ "category": "display",
15051
+ "variants": [
15052
+ "regular"
15053
+ ],
15054
+ "subsets": [
15055
+ "latin-ext",
15056
+ "latin"
15057
+ ],
15058
+ "version": "v8",
15059
+ "lastModified": "2018-12-13",
15060
+ "files": {
15061
+ "regular": "http://fonts.gstatic.com/s/ribeyemarrow/v8/GFDsWApshnqMRO2JdtRZ2d0vEAwTVWgKdtw.ttf"
15062
+ }
15063
+ },
15064
+ {
15065
+ "kind": "webfonts#webfont",
15066
+ "family": "Righteous",
15067
+ "category": "display",
15068
+ "variants": [
15069
+ "regular"
15070
+ ],
15071
+ "subsets": [
15072
+ "latin-ext",
15073
+ "latin"
15074
+ ],
15075
+ "version": "v6",
15076
+ "lastModified": "2017-10-10",
15077
+ "files": {
15078
+ "regular": "http://fonts.gstatic.com/s/righteous/v6/1cXxaUPXBpj2rGoU7C9mjw.ttf"
15079
+ }
15080
+ },
15081
+ {
15082
+ "kind": "webfonts#webfont",
15083
+ "family": "Risque",
15084
+ "category": "display",
15085
+ "variants": [
15086
+ "regular"
15087
+ ],
15088
+ "subsets": [
15089
+ "latin-ext",
15090
+ "latin"
15091
+ ],
15092
+ "version": "v6",
15093
+ "lastModified": "2018-11-29",
15094
+ "files": {
15095
+ "regular": "http://fonts.gstatic.com/s/risque/v6/VdGfAZUfHosahXxoCUYVBJ-T5g.ttf"
15096
+ }
15097
+ },
15098
+ {
15099
+ "kind": "webfonts#webfont",
15100
+ "family": "Roboto",
15101
+ "category": "sans-serif",
15102
+ "variants": [
15103
+ "100",
15104
+ "100italic",
15105
+ "300",
15106
+ "300italic",
15107
+ "regular",
15108
+ "italic",
15109
+ "500",
15110
+ "500italic",
15111
+ "700",
15112
+ "700italic",
15113
+ "900",
15114
+ "900italic"
15115
+ ],
15116
+ "subsets": [
15117
+ "latin-ext",
15118
+ "greek-ext",
15119
+ "cyrillic-ext",
15120
+ "cyrillic",
15121
+ "greek",
15122
+ "vietnamese",
15123
+ "latin"
15124
+ ],
15125
+ "version": "v18",
15126
+ "lastModified": "2017-10-16",
15127
+ "files": {
15128
+ "100": "http://fonts.gstatic.com/s/roboto/v18/KFOkCnqEu92Fr1MmgWxP.ttf",
15129
+ "300": "http://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmSU5vAw.ttf",
15130
+ "500": "http://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmEU9vAw.ttf",
15131
+ "700": "http://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmWUlvAw.ttf",
15132
+ "900": "http://fonts.gstatic.com/s/roboto/v18/KFOlCnqEu92Fr1MmYUtvAw.ttf",
15133
+ "100italic": "http://fonts.gstatic.com/s/roboto/v18/KFOiCnqEu92Fr1Mu51QrIzc.ttf",
15134
+ "300italic": "http://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TjARc9.ttf",
15135
+ "regular": "http://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Me5Q.ttf",
15136
+ "italic": "http://fonts.gstatic.com/s/roboto/v18/KFOkCnqEu92Fr1Mu52xP.ttf",
15137
+ "500italic": "http://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51S7ABc9.ttf",
15138
+ "700italic": "http://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TzBhc9.ttf",
15139
+ "900italic": "http://fonts.gstatic.com/s/roboto/v18/KFOjCnqEu92Fr1Mu51TLBBc9.ttf"
15140
+ }
15141
+ },
15142
+ {
15143
+ "kind": "webfonts#webfont",
15144
+ "family": "Roboto Condensed",
15145
+ "category": "sans-serif",
15146
+ "variants": [
15147
+ "300",
15148
+ "300italic",
15149
+ "regular",
15150
+ "italic",
15151
+ "700",
15152
+ "700italic"
15153
+ ],
15154
+ "subsets": [
15155
+ "latin-ext",
15156
+ "greek-ext",
15157
+ "cyrillic-ext",
15158
+ "cyrillic",
15159
+ "greek",
15160
+ "vietnamese",
15161
+ "latin"
15162
+ ],
15163
+ "version": "v16",
15164
+ "lastModified": "2017-10-11",
15165
+ "files": {
15166
+ "300": "http://fonts.gstatic.com/s/robotocondensed/v16/ieVi2ZhZI2eCN5jzbjEETS9weq8-33mZKCM.ttf",
15167
+ "700": "http://fonts.gstatic.com/s/robotocondensed/v16/ieVi2ZhZI2eCN5jzbjEETS9weq8-32meKCM.ttf",
15168
+ "300italic": "http://fonts.gstatic.com/s/robotocondensed/v16/ieVg2ZhZI2eCN5jzbjEETS9weq8-19eDpCEYag.ttf",
15169
+ "regular": "http://fonts.gstatic.com/s/robotocondensed/v16/ieVl2ZhZI2eCN5jzbjEETS9weq8-59U.ttf",
15170
+ "italic": "http://fonts.gstatic.com/s/robotocondensed/v16/ieVj2ZhZI2eCN5jzbjEETS9weq8-19e7CA.ttf",
15171
+ "700italic": "http://fonts.gstatic.com/s/robotocondensed/v16/ieVg2ZhZI2eCN5jzbjEETS9weq8-19eDtCYYag.ttf"
15172
+ }
15173
+ },
15174
+ {
15175
+ "kind": "webfonts#webfont",
15176
+ "family": "Roboto Mono",
15177
+ "category": "monospace",
15178
+ "variants": [
15179
+ "100",
15180
+ "100italic",
15181
+ "300",
15182
+ "300italic",
15183
+ "regular",
15184
+ "italic",
15185
+ "500",
15186
+ "500italic",
15187
+ "700",
15188
+ "700italic"
15189
+ ],
15190
+ "subsets": [
15191
+ "latin-ext",
15192
+ "greek-ext",
15193
+ "cyrillic-ext",
15194
+ "cyrillic",
15195
+ "greek",
15196
+ "vietnamese",
15197
+ "latin"
15198
+ ],
15199
+ "version": "v5",
15200
+ "lastModified": "2017-10-10",
15201
+ "files": {
15202
+ "100": "http://fonts.gstatic.com/s/robotomono/v5/L0x7DF4xlVMF-BfR8bXMIjAoq3o.ttf",
15203
+ "300": "http://fonts.gstatic.com/s/robotomono/v5/L0xkDF4xlVMF-BfR8bXMIjDgiVq2.ttf",
15204
+ "500": "http://fonts.gstatic.com/s/robotomono/v5/L0xkDF4xlVMF-BfR8bXMIjC4iFq2.ttf",
15205
+ "700": "http://fonts.gstatic.com/s/robotomono/v5/L0xkDF4xlVMF-BfR8bXMIjDwjlq2.ttf",
15206
+ "100italic": "http://fonts.gstatic.com/s/robotomono/v5/L0xlDF4xlVMF-BfR8bXMIjhOkx6WXw.ttf",
15207
+ "300italic": "http://fonts.gstatic.com/s/robotomono/v5/L0xmDF4xlVMF-BfR8bXMIjhOk9a0f7o.ttf",
15208
+ "regular": "http://fonts.gstatic.com/s/robotomono/v5/L0x5DF4xlVMF-BfR8bXMIghM.ttf",
15209
+ "italic": "http://fonts.gstatic.com/s/robotomono/v5/L0x7DF4xlVMF-BfR8bXMIjhOq3o.ttf",
15210
+ "500italic": "http://fonts.gstatic.com/s/robotomono/v5/L0xmDF4xlVMF-BfR8bXMIjhOk461f7o.ttf",
15211
+ "700italic": "http://fonts.gstatic.com/s/robotomono/v5/L0xmDF4xlVMF-BfR8bXMIjhOk8azf7o.ttf"
15212
+ }
15213
+ },
15214
+ {
15215
+ "kind": "webfonts#webfont",
15216
+ "family": "Roboto Slab",
15217
+ "category": "serif",
15218
+ "variants": [
15219
+ "100",
15220
+ "300",
15221
+ "regular",
15222
+ "700"
15223
+ ],
15224
+ "subsets": [
15225
+ "latin-ext",
15226
+ "greek-ext",
15227
+ "cyrillic-ext",
15228
+ "cyrillic",
15229
+ "greek",
15230
+ "vietnamese",
15231
+ "latin"
15232
+ ],
15233
+ "version": "v7",
15234
+ "lastModified": "2017-10-11",
15235
+ "files": {
15236
+ "100": "http://fonts.gstatic.com/s/robotoslab/v7/BngOUXZYTXPIvIBgJJSb6u-u5qA.ttf",
15237
+ "300": "http://fonts.gstatic.com/s/robotoslab/v7/BngRUXZYTXPIvIBgJJSb6u9mxICB.ttf",
15238
+ "700": "http://fonts.gstatic.com/s/robotoslab/v7/BngRUXZYTXPIvIBgJJSb6u92w4CB.ttf",
15239
+ "regular": "http://fonts.gstatic.com/s/robotoslab/v7/BngMUXZYTXPIvIBgJJSb6tfK.ttf"
15240
+ }
15241
+ },
15242
+ {
15243
+ "kind": "webfonts#webfont",
15244
+ "family": "Rochester",
15245
+ "category": "handwriting",
15246
+ "variants": [
15247
+ "regular"
15248
+ ],
15249
+ "subsets": [
15250
+ "latin"
15251
+ ],
15252
+ "version": "v9",
15253
+ "lastModified": "2019-01-15",
15254
+ "files": {
15255
+ "regular": "http://fonts.gstatic.com/s/rochester/v9/6ae-4KCqVa4Zy6Fif-Uy31vWNTMwoQ.ttf"
15256
+ }
15257
+ },
15258
+ {
15259
+ "kind": "webfonts#webfont",
15260
+ "family": "Rock Salt",
15261
+ "category": "handwriting",
15262
+ "variants": [
15263
+ "regular"
15264
+ ],
15265
+ "subsets": [
15266
+ "latin"
15267
+ ],
15268
+ "version": "v9",
15269
+ "lastModified": "2019-01-15",
15270
+ "files": {
15271
+ "regular": "http://fonts.gstatic.com/s/rocksalt/v9/MwQ0bhv11fWD6QsAVOZbsEk7hbBWrA.ttf"
15272
+ }
15273
+ },
15274
+ {
15275
+ "kind": "webfonts#webfont",
15276
+ "family": "Rokkitt",
15277
+ "category": "serif",
15278
+ "variants": [
15279
+ "100",
15280
+ "200",
15281
+ "300",
15282
+ "regular",
15283
+ "500",
15284
+ "600",
15285
+ "700",
15286
+ "800",
15287
+ "900"
15288
+ ],
15289
+ "subsets": [
15290
+ "latin-ext",
15291
+ "vietnamese",
15292
+ "latin"
15293
+ ],
15294
+ "version": "v13",
15295
+ "lastModified": "2019-01-15",
15296
+ "files": {
15297
+ "100": "http://fonts.gstatic.com/s/rokkitt/v13/qFdG35qfgYFjGy5hmCWCc_TOyh4Qig.ttf",
15298
+ "200": "http://fonts.gstatic.com/s/rokkitt/v13/qFdB35qfgYFjGy5hmImjU97gxhcJk1s.ttf",
15299
+ "300": "http://fonts.gstatic.com/s/rokkitt/v13/qFdB35qfgYFjGy5hmO2gU97gxhcJk1s.ttf",
15300
+ "500": "http://fonts.gstatic.com/s/rokkitt/v13/qFdB35qfgYFjGy5hmLWhU97gxhcJk1s.ttf",
15301
+ "600": "http://fonts.gstatic.com/s/rokkitt/v13/qFdB35qfgYFjGy5hmJmmU97gxhcJk1s.ttf",
15302
+ "700": "http://fonts.gstatic.com/s/rokkitt/v13/qFdB35qfgYFjGy5hmP2nU97gxhcJk1s.ttf",
15303
+ "800": "http://fonts.gstatic.com/s/rokkitt/v13/qFdB35qfgYFjGy5hmOGkU97gxhcJk1s.ttf",
15304
+ "900": "http://fonts.gstatic.com/s/rokkitt/v13/qFdB35qfgYFjGy5hmMWlU97gxhcJk1s.ttf",
15305
+ "regular": "http://fonts.gstatic.com/s/rokkitt/v13/qFdE35qfgYFjGy5hoEGId9bL2h4.ttf"
15306
+ }
15307
+ },
15308
+ {
15309
+ "kind": "webfonts#webfont",
15310
+ "family": "Romanesco",
15311
+ "category": "handwriting",
15312
+ "variants": [
15313
+ "regular"
15314
+ ],
15315
+ "subsets": [
15316
+ "latin-ext",
15317
+ "latin"
15318
+ ],
15319
+ "version": "v7",
15320
+ "lastModified": "2018-11-29",
15321
+ "files": {
15322
+ "regular": "http://fonts.gstatic.com/s/romanesco/v7/w8gYH2ozQOY7_r_J7mSn3HwLqOqSBg.ttf"
15323
+ }
15324
+ },
15325
+ {
15326
+ "kind": "webfonts#webfont",
15327
+ "family": "Ropa Sans",
15328
+ "category": "sans-serif",
15329
+ "variants": [
15330
+ "regular",
15331
+ "italic"
15332
+ ],
15333
+ "subsets": [
15334
+ "latin-ext",
15335
+ "latin"
15336
+ ],
15337
+ "version": "v8",
15338
+ "lastModified": "2019-01-15",
15339
+ "files": {
15340
+ "regular": "http://fonts.gstatic.com/s/ropasans/v8/EYqxmaNOzLlWtsZSScyKWjloU5KP2g.ttf",
15341
+ "italic": "http://fonts.gstatic.com/s/ropasans/v8/EYq3maNOzLlWtsZSScy6WDNscZef2mNE.ttf"
15342
+ }
15343
+ },
15344
+ {
15345
+ "kind": "webfonts#webfont",
15346
+ "family": "Rosario",
15347
+ "category": "sans-serif",
15348
+ "variants": [
15349
+ "regular",
15350
+ "italic",
15351
+ "700",
15352
+ "700italic"
15353
+ ],
15354
+ "subsets": [
15355
+ "latin"
15356
+ ],
15357
+ "version": "v13",
15358
+ "lastModified": "2019-01-10",
15359
+ "files": {
15360
+ "700": "http://fonts.gstatic.com/s/rosario/v13/xfu00WDhWW_fOEoY0OjY6AbouLfbK64.ttf",
15361
+ "regular": "http://fonts.gstatic.com/s/rosario/v13/xfux0WDhWW_fOEoY6FT3zA7DpL4.ttf",
15362
+ "italic": "http://fonts.gstatic.com/s/rosario/v13/xfuz0WDhWW_fOEoY2Fb9yCzGtL7CMg.ttf",
15363
+ "700italic": "http://fonts.gstatic.com/s/rosario/v13/xfu20WDhWW_fOEoY2FbFdAPivJXeO67ISw.ttf"
15364
+ }
15365
+ },
15366
+ {
15367
+ "kind": "webfonts#webfont",
15368
+ "family": "Rosarivo",
15369
+ "category": "serif",
15370
+ "variants": [
15371
+ "regular",
15372
+ "italic"
15373
+ ],
15374
+ "subsets": [
15375
+ "latin-ext",
15376
+ "latin"
15377
+ ],
15378
+ "version": "v6",
15379
+ "lastModified": "2018-12-13",
15380
+ "files": {
15381
+ "regular": "http://fonts.gstatic.com/s/rosarivo/v6/PlI-Fl2lO6N9f8HaNAeC2nhMnNy5.ttf",
15382
+ "italic": "http://fonts.gstatic.com/s/rosarivo/v6/PlI4Fl2lO6N9f8HaNDeA0Hxumcy5ZX8.ttf"
15383
+ }
15384
+ },
15385
+ {
15386
+ "kind": "webfonts#webfont",
15387
+ "family": "Rouge Script",
15388
+ "category": "handwriting",
15389
+ "variants": [
15390
+ "regular"
15391
+ ],
15392
+ "subsets": [
15393
+ "latin"
15394
+ ],
15395
+ "version": "v7",
15396
+ "lastModified": "2019-01-10",
15397
+ "files": {
15398
+ "regular": "http://fonts.gstatic.com/s/rougescript/v7/LYjFdGbiklMoCIQOw1Ep3S4PVPXbUJWq9g.ttf"
15399
+ }
15400
+ },
15401
+ {
15402
+ "kind": "webfonts#webfont",
15403
+ "family": "Rozha One",
15404
+ "category": "serif",
15405
+ "variants": [
15406
+ "regular"
15407
+ ],
15408
+ "subsets": [
15409
+ "latin-ext",
15410
+ "devanagari",
15411
+ "latin"
15412
+ ],
15413
+ "version": "v6",
15414
+ "lastModified": "2019-01-10",
15415
+ "files": {
15416
+ "regular": "http://fonts.gstatic.com/s/rozhaone/v6/AlZy_zVFtYP12Zncg2khdXf4XB0Tow.ttf"
15417
+ }
15418
+ },
15419
+ {
15420
+ "kind": "webfonts#webfont",
15421
+ "family": "Rubik",
15422
+ "category": "sans-serif",
15423
+ "variants": [
15424
+ "300",
15425
+ "300italic",
15426
+ "regular",
15427
+ "italic",
15428
+ "500",
15429
+ "500italic",
15430
+ "700",
15431
+ "700italic",
15432
+ "900",
15433
+ "900italic"
15434
+ ],
15435
+ "subsets": [
15436
+ "hebrew",
15437
+ "latin-ext",
15438
+ "cyrillic",
15439
+ "latin"
15440
+ ],
15441
+ "version": "v7",
15442
+ "lastModified": "2017-11-21",
15443
+ "files": {
15444
+ "300": "http://fonts.gstatic.com/s/rubik/v7/iJWHBXyIfDnIV7Fqj1ma.ttf",
15445
+ "500": "http://fonts.gstatic.com/s/rubik/v7/iJWHBXyIfDnIV7Eyjlma.ttf",
15446
+ "700": "http://fonts.gstatic.com/s/rubik/v7/iJWHBXyIfDnIV7F6iFma.ttf",
15447
+ "900": "http://fonts.gstatic.com/s/rubik/v7/iJWHBXyIfDnIV7FCilma.ttf",
15448
+ "300italic": "http://fonts.gstatic.com/s/rubik/v7/iJWBBXyIfDnIV7nEldWY8WU.ttf",
15449
+ "regular": "http://fonts.gstatic.com/s/rubik/v7/iJWKBXyIfDnIV4nG.ttf",
15450
+ "italic": "http://fonts.gstatic.com/s/rubik/v7/iJWEBXyIfDnIV7nErXk.ttf",
15451
+ "500italic": "http://fonts.gstatic.com/s/rubik/v7/iJWBBXyIfDnIV7nElY2Z8WU.ttf",
15452
+ "700italic": "http://fonts.gstatic.com/s/rubik/v7/iJWBBXyIfDnIV7nElcWf8WU.ttf",
15453
+ "900italic": "http://fonts.gstatic.com/s/rubik/v7/iJWBBXyIfDnIV7nElf2d8WU.ttf"
15454
+ }
15455
+ },
15456
+ {
15457
+ "kind": "webfonts#webfont",
15458
+ "family": "Rubik Mono One",
15459
+ "category": "sans-serif",
15460
+ "variants": [
15461
+ "regular"
15462
+ ],
15463
+ "subsets": [
15464
+ "latin-ext",
15465
+ "cyrillic",
15466
+ "latin"
15467
+ ],
15468
+ "version": "v7",
15469
+ "lastModified": "2019-01-10",
15470
+ "files": {
15471
+ "regular": "http://fonts.gstatic.com/s/rubikmonoone/v7/UqyJK8kPP3hjw6ANTdfRk9YSN-8wRqQrc_j9.ttf"
15472
+ }
15473
+ },
15474
+ {
15475
+ "kind": "webfonts#webfont",
15476
+ "family": "Ruda",
15477
+ "category": "sans-serif",
15478
+ "variants": [
15479
+ "regular",
15480
+ "700",
15481
+ "900"
15482
+ ],
15483
+ "subsets": [
15484
+ "latin-ext",
15485
+ "latin"
15486
+ ],
15487
+ "version": "v10",
15488
+ "lastModified": "2019-01-15",
15489
+ "files": {
15490
+ "700": "http://fonts.gstatic.com/s/ruda/v10/k3kQo8YQJOpFosM4Td7iL0nAMaM.ttf",
15491
+ "900": "http://fonts.gstatic.com/s/ruda/v10/k3kQo8YQJOpFovs6Td7iL0nAMaM.ttf",
15492
+ "regular": "http://fonts.gstatic.com/s/ruda/v10/k3kfo8YQJOpFmn8XadbJM0A.ttf"
15493
+ }
15494
+ },
15495
+ {
15496
+ "kind": "webfonts#webfont",
15497
+ "family": "Rufina",
15498
+ "category": "serif",
15499
+ "variants": [
15500
+ "regular",
15501
+ "700"
15502
+ ],
15503
+ "subsets": [
15504
+ "latin-ext",
15505
+ "latin"
15506
+ ],
15507
+ "version": "v6",
15508
+ "lastModified": "2019-01-10",
15509
+ "files": {
15510
+ "700": "http://fonts.gstatic.com/s/rufina/v6/Yq6W-LyURyLy-aKKHztAvMxenxE0SA.ttf",
15511
+ "regular": "http://fonts.gstatic.com/s/rufina/v6/Yq6V-LyURyLy-aKyoxRktOdClg.ttf"
15512
+ }
15513
+ },
15514
+ {
15515
+ "kind": "webfonts#webfont",
15516
+ "family": "Ruge Boogie",
15517
+ "category": "handwriting",
15518
+ "variants": [
15519
+ "regular"
15520
+ ],
15521
+ "subsets": [
15522
+ "latin-ext",
15523
+ "latin"
15524
+ ],
15525
+ "version": "v9",
15526
+ "lastModified": "2018-11-29",
15527
+ "files": {
15528
+ "regular": "http://fonts.gstatic.com/s/rugeboogie/v9/JIA3UVFwbHRF_GIWSMhKNROiPzUveSxy.ttf"
15529
+ }
15530
+ },
15531
+ {
15532
+ "kind": "webfonts#webfont",
15533
+ "family": "Ruluko",
15534
+ "category": "sans-serif",
15535
+ "variants": [
15536
+ "regular"
15537
+ ],
15538
+ "subsets": [
15539
+ "latin-ext",
15540
+ "latin"
15541
+ ],
15542
+ "version": "v6",
15543
+ "lastModified": "2018-12-13",
15544
+ "files": {
15545
+ "regular": "http://fonts.gstatic.com/s/ruluko/v6/xMQVuFNZVaODtm0pC6WzKX_QmA.ttf"
15546
+ }
15547
+ },
15548
+ {
15549
+ "kind": "webfonts#webfont",
15550
+ "family": "Rum Raisin",
15551
+ "category": "sans-serif",
15552
+ "variants": [
15553
+ "regular"
15554
+ ],
15555
+ "subsets": [
15556
+ "latin-ext",
15557
+ "latin"
15558
+ ],
15559
+ "version": "v6",
15560
+ "lastModified": "2018-12-13",
15561
+ "files": {
15562
+ "regular": "http://fonts.gstatic.com/s/rumraisin/v6/nwpRtKu3Ih8D5avB4h2uJ3-IywA7eMM.ttf"
15563
+ }
15564
+ },
15565
+ {
15566
+ "kind": "webfonts#webfont",
15567
+ "family": "Ruslan Display",
15568
+ "category": "display",
15569
+ "variants": [
15570
+ "regular"
15571
+ ],
15572
+ "subsets": [
15573
+ "latin-ext",
15574
+ "cyrillic",
15575
+ "latin"
15576
+ ],
15577
+ "version": "v9",
15578
+ "lastModified": "2018-12-13",
15579
+ "files": {
15580
+ "regular": "http://fonts.gstatic.com/s/ruslandisplay/v9/Gw6jwczl81XcIZuckK_e3UpfdzxrldyFvm1n.ttf"
15581
+ }
15582
+ },
15583
+ {
15584
+ "kind": "webfonts#webfont",
15585
+ "family": "Russo One",
15586
+ "category": "sans-serif",
15587
+ "variants": [
15588
+ "regular"
15589
+ ],
15590
+ "subsets": [
15591
+ "latin-ext",
15592
+ "cyrillic",
15593
+ "latin"
15594
+ ],
15595
+ "version": "v7",
15596
+ "lastModified": "2019-01-15",
15597
+ "files": {
15598
+ "regular": "http://fonts.gstatic.com/s/russoone/v7/Z9XUDmZRWg6M1LvRYsH-yMOInrib9Q.ttf"
15599
+ }
15600
+ },
15601
+ {
15602
+ "kind": "webfonts#webfont",
15603
+ "family": "Ruthie",
15604
+ "category": "handwriting",
15605
+ "variants": [
15606
+ "regular"
15607
+ ],
15608
+ "subsets": [
15609
+ "latin-ext",
15610
+ "latin"
15611
+ ],
15612
+ "version": "v9",
15613
+ "lastModified": "2018-12-13",
15614
+ "files": {
15615
+ "regular": "http://fonts.gstatic.com/s/ruthie/v9/gokvH63sGkdqXuU9lD53Q2u_mQ.ttf"
15616
+ }
15617
+ },
15618
+ {
15619
+ "kind": "webfonts#webfont",
15620
+ "family": "Rye",
15621
+ "category": "display",
15622
+ "variants": [
15623
+ "regular"
15624
+ ],
15625
+ "subsets": [
15626
+ "latin-ext",
15627
+ "latin"
15628
+ ],
15629
+ "version": "v6",
15630
+ "lastModified": "2019-01-10",
15631
+ "files": {
15632
+ "regular": "http://fonts.gstatic.com/s/rye/v6/r05XGLJT86YDFpTsXOqx4w.ttf"
15633
+ }
15634
+ },
15635
+ {
15636
+ "kind": "webfonts#webfont",
15637
+ "family": "Sacramento",
15638
+ "category": "handwriting",
15639
+ "variants": [
15640
+ "regular"
15641
+ ],
15642
+ "subsets": [
15643
+ "latin-ext",
15644
+ "latin"
15645
+ ],
15646
+ "version": "v6",
15647
+ "lastModified": "2019-01-15",
15648
+ "files": {
15649
+ "regular": "http://fonts.gstatic.com/s/sacramento/v6/buEzpo6gcdjy0EiZMBUG0CoV_NxLeiw.ttf"
15650
+ }
15651
+ },
15652
+ {
15653
+ "kind": "webfonts#webfont",
15654
+ "family": "Sahitya",
15655
+ "category": "serif",
15656
+ "variants": [
15657
+ "regular",
15658
+ "700"
15659
+ ],
15660
+ "subsets": [
15661
+ "devanagari",
15662
+ "latin"
15663
+ ],
15664
+ "version": "v3",
15665
+ "lastModified": "2018-12-13",
15666
+ "files": {
15667
+ "700": "http://fonts.gstatic.com/s/sahitya/v3/6qLFKZkOuhnuqlJAUZsqGyQvEnvSexI.ttf",
15668
+ "regular": "http://fonts.gstatic.com/s/sahitya/v3/6qLAKZkOuhnuqlJAaScFPywEDnI.ttf"
15669
+ }
15670
+ },
15671
+ {
15672
+ "kind": "webfonts#webfont",
15673
+ "family": "Sail",
15674
+ "category": "display",
15675
+ "variants": [
15676
+ "regular"
15677
+ ],
15678
+ "subsets": [
15679
+ "latin-ext",
15680
+ "latin"
15681
+ ],
15682
+ "version": "v9",
15683
+ "lastModified": "2018-12-13",
15684
+ "files": {
15685
+ "regular": "http://fonts.gstatic.com/s/sail/v9/DPEjYwiBxwYJFBTDADYAbvw.ttf"
15686
+ }
15687
+ },
15688
+ {
15689
+ "kind": "webfonts#webfont",
15690
+ "family": "Saira",
15691
+ "category": "sans-serif",
15692
+ "variants": [
15693
+ "100",
15694
+ "200",
15695
+ "300",
15696
+ "regular",
15697
+ "500",
15698
+ "600",
15699
+ "700",
15700
+ "800",
15701
+ "900"
15702
+ ],
15703
+ "subsets": [
15704
+ "latin-ext",
15705
+ "vietnamese",
15706
+ "latin"
15707
+ ],
15708
+ "version": "v3",
15709
+ "lastModified": "2019-01-15",
15710
+ "files": {
15711
+ "100": "http://fonts.gstatic.com/s/saira/v3/mem-Ya2wxmKQyNFETZY_VrUfTck.ttf",
15712
+ "200": "http://fonts.gstatic.com/s/saira/v3/mem9Ya2wxmKQyNHobLYVeLkWVNBt.ttf",
15713
+ "300": "http://fonts.gstatic.com/s/saira/v3/mem9Ya2wxmKQyNGMb7YVeLkWVNBt.ttf",
15714
+ "500": "http://fonts.gstatic.com/s/saira/v3/mem9Ya2wxmKQyNHUbrYVeLkWVNBt.ttf",
15715
+ "600": "http://fonts.gstatic.com/s/saira/v3/mem9Ya2wxmKQyNH4abYVeLkWVNBt.ttf",
15716
+ "700": "http://fonts.gstatic.com/s/saira/v3/mem9Ya2wxmKQyNGcaLYVeLkWVNBt.ttf",
15717
+ "800": "http://fonts.gstatic.com/s/saira/v3/mem9Ya2wxmKQyNGAa7YVeLkWVNBt.ttf",
15718
+ "900": "http://fonts.gstatic.com/s/saira/v3/mem9Ya2wxmKQyNGkarYVeLkWVNBt.ttf",
15719
+ "regular": "http://fonts.gstatic.com/s/saira/v3/memwYa2wxmKQyOkgR5IdU6Uf.ttf"
15720
+ }
15721
+ },
15722
+ {
15723
+ "kind": "webfonts#webfont",
15724
+ "family": "Saira Condensed",
15725
+ "category": "sans-serif",
15726
+ "variants": [
15727
+ "100",
15728
+ "200",
15729
+ "300",
15730
+ "regular",
15731
+ "500",
15732
+ "600",
15733
+ "700",
15734
+ "800",
15735
+ "900"
15736
+ ],
15737
+ "subsets": [
15738
+ "latin-ext",
15739
+ "vietnamese",
15740
+ "latin"
15741
+ ],
15742
+ "version": "v4",
15743
+ "lastModified": "2019-01-10",
15744
+ "files": {
15745
+ "100": "http://fonts.gstatic.com/s/sairacondensed/v4/EJRMQgErUN8XuHNEtX81i9TmEkrnwetA2omSrzS8.ttf",
15746
+ "200": "http://fonts.gstatic.com/s/sairacondensed/v4/EJRLQgErUN8XuHNEtX81i9TmEkrnbcpg8Keepi2lHw.ttf",
15747
+ "300": "http://fonts.gstatic.com/s/sairacondensed/v4/EJRLQgErUN8XuHNEtX81i9TmEkrnCclg8Keepi2lHw.ttf",
15748
+ "500": "http://fonts.gstatic.com/s/sairacondensed/v4/EJRLQgErUN8XuHNEtX81i9TmEkrnUchg8Keepi2lHw.ttf",
15749
+ "600": "http://fonts.gstatic.com/s/sairacondensed/v4/EJRLQgErUN8XuHNEtX81i9TmEkrnfc9g8Keepi2lHw.ttf",
15750
+ "700": "http://fonts.gstatic.com/s/sairacondensed/v4/EJRLQgErUN8XuHNEtX81i9TmEkrnGc5g8Keepi2lHw.ttf",
15751
+ "800": "http://fonts.gstatic.com/s/sairacondensed/v4/EJRLQgErUN8XuHNEtX81i9TmEkrnBc1g8Keepi2lHw.ttf",
15752
+ "900": "http://fonts.gstatic.com/s/sairacondensed/v4/EJRLQgErUN8XuHNEtX81i9TmEkrnIcxg8Keepi2lHw.ttf",
15753
+ "regular": "http://fonts.gstatic.com/s/sairacondensed/v4/EJROQgErUN8XuHNEtX81i9TmEkrfpeFE-IyCrw.ttf"
15754
+ }
15755
+ },
15756
+ {
15757
+ "kind": "webfonts#webfont",
15758
+ "family": "Saira Extra Condensed",
15759
+ "category": "sans-serif",
15760
+ "variants": [
15761
+ "100",
15762
+ "200",
15763
+ "300",
15764
+ "regular",
15765
+ "500",
15766
+ "600",
15767
+ "700",
15768
+ "800",
15769
+ "900"
15770
+ ],
15771
+ "subsets": [
15772
+ "latin-ext",
15773
+ "vietnamese",
15774
+ "latin"
15775
+ ],
15776
+ "version": "v4",
15777
+ "lastModified": "2019-01-15",
15778
+ "files": {
15779
+ "100": "http://fonts.gstatic.com/s/sairaextracondensed/v4/-nFsOHYr-vcC7h8MklGBkrvmUG9rbpkisrTri0jx9i5ss3a3.ttf",
15780
+ "200": "http://fonts.gstatic.com/s/sairaextracondensed/v4/-nFvOHYr-vcC7h8MklGBkrvmUG9rbpkisrTrJ2nR3ABgum-uoQ.ttf",
15781
+ "300": "http://fonts.gstatic.com/s/sairaextracondensed/v4/-nFvOHYr-vcC7h8MklGBkrvmUG9rbpkisrTrQ2rR3ABgum-uoQ.ttf",
15782
+ "500": "http://fonts.gstatic.com/s/sairaextracondensed/v4/-nFvOHYr-vcC7h8MklGBkrvmUG9rbpkisrTrG2vR3ABgum-uoQ.ttf",
15783
+ "600": "http://fonts.gstatic.com/s/sairaextracondensed/v4/-nFvOHYr-vcC7h8MklGBkrvmUG9rbpkisrTrN2zR3ABgum-uoQ.ttf",
15784
+ "700": "http://fonts.gstatic.com/s/sairaextracondensed/v4/-nFvOHYr-vcC7h8MklGBkrvmUG9rbpkisrTrU23R3ABgum-uoQ.ttf",
15785
+ "800": "http://fonts.gstatic.com/s/sairaextracondensed/v4/-nFvOHYr-vcC7h8MklGBkrvmUG9rbpkisrTrT27R3ABgum-uoQ.ttf",
15786
+ "900": "http://fonts.gstatic.com/s/sairaextracondensed/v4/-nFvOHYr-vcC7h8MklGBkrvmUG9rbpkisrTra2_R3ABgum-uoQ.ttf",
15787
+ "regular": "http://fonts.gstatic.com/s/sairaextracondensed/v4/-nFiOHYr-vcC7h8MklGBkrvmUG9rbpkisrTT70L11Ct8sw.ttf"
15788
+ }
15789
+ },
15790
+ {
15791
+ "kind": "webfonts#webfont",
15792
+ "family": "Saira Semi Condensed",
15793
+ "category": "sans-serif",
15794
+ "variants": [
15795
+ "100",
15796
+ "200",
15797
+ "300",
15798
+ "regular",
15799
+ "500",
15800
+ "600",
15801
+ "700",
15802
+ "800",
15803
+ "900"
15804
+ ],
15805
+ "subsets": [
15806
+ "latin-ext",
15807
+ "vietnamese",
15808
+ "latin"
15809
+ ],
15810
+ "version": "v4",
15811
+ "lastModified": "2019-01-15",
15812
+ "files": {
15813
+ "100": "http://fonts.gstatic.com/s/sairasemicondensed/v4/U9MN6c-2-nnJkHxyCjRcnMHcWVWV1cWRRXdvaOM8rXT-8V8.ttf",
15814
+ "200": "http://fonts.gstatic.com/s/sairasemicondensed/v4/U9MM6c-2-nnJkHxyCjRcnMHcWVWV1cWRRXfDScMWg3j36Ebz.ttf",
15815
+ "300": "http://fonts.gstatic.com/s/sairasemicondensed/v4/U9MM6c-2-nnJkHxyCjRcnMHcWVWV1cWRRXenSsMWg3j36Ebz.ttf",
15816
+ "500": "http://fonts.gstatic.com/s/sairasemicondensed/v4/U9MM6c-2-nnJkHxyCjRcnMHcWVWV1cWRRXf_S8MWg3j36Ebz.ttf",
15817
+ "600": "http://fonts.gstatic.com/s/sairasemicondensed/v4/U9MM6c-2-nnJkHxyCjRcnMHcWVWV1cWRRXfTTMMWg3j36Ebz.ttf",
15818
+ "700": "http://fonts.gstatic.com/s/sairasemicondensed/v4/U9MM6c-2-nnJkHxyCjRcnMHcWVWV1cWRRXe3TcMWg3j36Ebz.ttf",
15819
+ "800": "http://fonts.gstatic.com/s/sairasemicondensed/v4/U9MM6c-2-nnJkHxyCjRcnMHcWVWV1cWRRXerTsMWg3j36Ebz.ttf",
15820
+ "900": "http://fonts.gstatic.com/s/sairasemicondensed/v4/U9MM6c-2-nnJkHxyCjRcnMHcWVWV1cWRRXePT8MWg3j36Ebz.ttf",
15821
+ "regular": "http://fonts.gstatic.com/s/sairasemicondensed/v4/U9MD6c-2-nnJkHxyCjRcnMHcWVWV1cWRRU8LYuceqGT-.ttf"
15822
+ }
15823
+ },
15824
+ {
15825
+ "kind": "webfonts#webfont",
15826
+ "family": "Salsa",
15827
+ "category": "display",
15828
+ "variants": [
15829
+ "regular"
15830
+ ],
15831
+ "subsets": [
15832
+ "latin"
15833
+ ],
15834
+ "version": "v8",
15835
+ "lastModified": "2019-01-10",
15836
+ "files": {
15837
+ "regular": "http://fonts.gstatic.com/s/salsa/v8/gNMKW3FiRpKj-imY8ncKEZez.ttf"
15838
+ }
15839
+ },
15840
+ {
15841
+ "kind": "webfonts#webfont",
15842
+ "family": "Sanchez",
15843
+ "category": "serif",
15844
+ "variants": [
15845
+ "regular",
15846
+ "italic"
15847
+ ],
15848
+ "subsets": [
15849
+ "latin-ext",
15850
+ "latin"
15851
+ ],
15852
+ "version": "v6",
15853
+ "lastModified": "2019-01-15",
15854
+ "files": {
15855
+ "regular": "http://fonts.gstatic.com/s/sanchez/v6/Ycm2sZJORluHnXbITm5b_BwE1l0.ttf",
15856
+ "italic": "http://fonts.gstatic.com/s/sanchez/v6/Ycm0sZJORluHnXbIfmxR-D4Bxl3gkw.ttf"
15857
+ }
15858
+ },
15859
+ {
15860
+ "kind": "webfonts#webfont",
15861
+ "family": "Sancreek",
15862
+ "category": "display",
15863
+ "variants": [
15864
+ "regular"
15865
+ ],
15866
+ "subsets": [
15867
+ "latin-ext",
15868
+ "latin"
15869
+ ],
15870
+ "version": "v9",
15871
+ "lastModified": "2018-12-13",
15872
+ "files": {
15873
+ "regular": "http://fonts.gstatic.com/s/sancreek/v9/pxiHypAnsdxUm159X7D-XV9NEe-K.ttf"
15874
+ }
15875
+ },
15876
+ {
15877
+ "kind": "webfonts#webfont",
15878
+ "family": "Sansita",
15879
+ "category": "sans-serif",
15880
+ "variants": [
15881
+ "regular",
15882
+ "italic",
15883
+ "700",
15884
+ "700italic",
15885
+ "800",
15886
+ "800italic",
15887
+ "900",
15888
+ "900italic"
15889
+ ],
15890
+ "subsets": [
15891
+ "latin-ext",
15892
+ "latin"
15893
+ ],
15894
+ "version": "v3",
15895
+ "lastModified": "2019-01-10",
15896
+ "files": {
15897
+ "700": "http://fonts.gstatic.com/s/sansita/v3/QldLNTRRphEb_-V7JKWUaXl0wqVv3_g.ttf",
15898
+ "800": "http://fonts.gstatic.com/s/sansita/v3/QldLNTRRphEb_-V7JLmXaXl0wqVv3_g.ttf",
15899
+ "900": "http://fonts.gstatic.com/s/sansita/v3/QldLNTRRphEb_-V7JJ2WaXl0wqVv3_g.ttf",
15900
+ "regular": "http://fonts.gstatic.com/s/sansita/v3/QldONTRRphEb_-V7HBm7TXFf3qw.ttf",
15901
+ "italic": "http://fonts.gstatic.com/s/sansita/v3/QldMNTRRphEb_-V7LBuxSVNazqx2xg.ttf",
15902
+ "700italic": "http://fonts.gstatic.com/s/sansita/v3/QldJNTRRphEb_-V7LBuJ9Xx-xodqz_joDQ.ttf",
15903
+ "800italic": "http://fonts.gstatic.com/s/sansita/v3/QldJNTRRphEb_-V7LBuJ6X9-xodqz_joDQ.ttf",
15904
+ "900italic": "http://fonts.gstatic.com/s/sansita/v3/QldJNTRRphEb_-V7LBuJzX5-xodqz_joDQ.ttf"
15905
+ }
15906
+ },
15907
+ {
15908
+ "kind": "webfonts#webfont",
15909
+ "family": "Sarabun",
15910
+ "category": "sans-serif",
15911
+ "variants": [
15912
+ "100",
15913
+ "100italic",
15914
+ "200",
15915
+ "200italic",
15916
+ "300",
15917
+ "300italic",
15918
+ "regular",
15919
+ "italic",
15920
+ "500",
15921
+ "500italic",
15922
+ "600",
15923
+ "600italic",
15924
+ "700",
15925
+ "700italic",
15926
+ "800",
15927
+ "800italic"
15928
+ ],
15929
+ "subsets": [
15930
+ "latin-ext",
15931
+ "thai",
15932
+ "vietnamese",
15933
+ "latin"
15934
+ ],
15935
+ "version": "v6",
15936
+ "lastModified": "2018-12-13",
15937
+ "files": {
15938
+ "100": "http://fonts.gstatic.com/s/sarabun/v6/DtVhJx26TKEr37c9YHZJmnYI5gnOpg.ttf",
15939
+ "200": "http://fonts.gstatic.com/s/sarabun/v6/DtVmJx26TKEr37c9YNpoulwm6gDXvwE.ttf",
15940
+ "300": "http://fonts.gstatic.com/s/sarabun/v6/DtVmJx26TKEr37c9YL5rulwm6gDXvwE.ttf",
15941
+ "500": "http://fonts.gstatic.com/s/sarabun/v6/DtVmJx26TKEr37c9YOZqulwm6gDXvwE.ttf",
15942
+ "600": "http://fonts.gstatic.com/s/sarabun/v6/DtVmJx26TKEr37c9YMptulwm6gDXvwE.ttf",
15943
+ "700": "http://fonts.gstatic.com/s/sarabun/v6/DtVmJx26TKEr37c9YK5sulwm6gDXvwE.ttf",
15944
+ "800": "http://fonts.gstatic.com/s/sarabun/v6/DtVmJx26TKEr37c9YLJvulwm6gDXvwE.ttf",
15945
+ "100italic": "http://fonts.gstatic.com/s/sarabun/v6/DtVnJx26TKEr37c9aBBx_nwMxAzephhN.ttf",
15946
+ "200italic": "http://fonts.gstatic.com/s/sarabun/v6/DtVkJx26TKEr37c9aBBxUl0s7iLSrwFUlw.ttf",
15947
+ "300italic": "http://fonts.gstatic.com/s/sarabun/v6/DtVkJx26TKEr37c9aBBxNl4s7iLSrwFUlw.ttf",
15948
+ "regular": "http://fonts.gstatic.com/s/sarabun/v6/DtVjJx26TKEr37c9WBJDnlQN9gk.ttf",
15949
+ "italic": "http://fonts.gstatic.com/s/sarabun/v6/DtVhJx26TKEr37c9aBBJmnYI5gnOpg.ttf",
15950
+ "500italic": "http://fonts.gstatic.com/s/sarabun/v6/DtVkJx26TKEr37c9aBBxbl8s7iLSrwFUlw.ttf",
15951
+ "600italic": "http://fonts.gstatic.com/s/sarabun/v6/DtVkJx26TKEr37c9aBBxQlgs7iLSrwFUlw.ttf",
15952
+ "700italic": "http://fonts.gstatic.com/s/sarabun/v6/DtVkJx26TKEr37c9aBBxJlks7iLSrwFUlw.ttf",
15953
+ "800italic": "http://fonts.gstatic.com/s/sarabun/v6/DtVkJx26TKEr37c9aBBxOlos7iLSrwFUlw.ttf"
15954
+ }
15955
+ },
15956
+ {
15957
+ "kind": "webfonts#webfont",
15958
+ "family": "Sarala",
15959
+ "category": "sans-serif",
15960
+ "variants": [
15961
+ "regular",
15962
+ "700"
15963
+ ],
15964
+ "subsets": [
15965
+ "latin-ext",
15966
+ "devanagari",
15967
+ "latin"
15968
+ ],
15969
+ "version": "v3",
15970
+ "lastModified": "2019-01-15",
15971
+ "files": {
15972
+ "700": "http://fonts.gstatic.com/s/sarala/v3/uK_x4riEZv4o1w9ptjI3OtWYVkMpXA.ttf",
15973
+ "regular": "http://fonts.gstatic.com/s/sarala/v3/uK_y4riEZv4o1w9RCh0TMv6EXw.ttf"
15974
+ }
15975
+ },
15976
+ {
15977
+ "kind": "webfonts#webfont",
15978
+ "family": "Sarina",
15979
+ "category": "display",
15980
+ "variants": [
15981
+ "regular"
15982
+ ],
15983
+ "subsets": [
15984
+ "latin-ext",
15985
+ "latin"
15986
+ ],
15987
+ "version": "v7",
15988
+ "lastModified": "2018-12-13",
15989
+ "files": {
15990
+ "regular": "http://fonts.gstatic.com/s/sarina/v7/-F6wfjF3ITQwasLhLkDUriBQxw.ttf"
15991
+ }
15992
+ },
15993
+ {
15994
+ "kind": "webfonts#webfont",
15995
+ "family": "Sarpanch",
15996
+ "category": "sans-serif",
15997
+ "variants": [
15998
+ "regular",
15999
+ "500",
16000
+ "600",
16001
+ "700",
16002
+ "800",
16003
+ "900"
16004
+ ],
16005
+ "subsets": [
16006
+ "latin-ext",
16007
+ "devanagari",
16008
+ "latin"
16009
+ ],
16010
+ "version": "v4",
16011
+ "lastModified": "2018-12-13",
16012
+ "files": {
16013
+ "500": "http://fonts.gstatic.com/s/sarpanch/v4/hES16Xt4NCpRuk6PziV0ba7f1HEuRHkM.ttf",
16014
+ "600": "http://fonts.gstatic.com/s/sarpanch/v4/hES16Xt4NCpRuk6PziVYaq7f1HEuRHkM.ttf",
16015
+ "700": "http://fonts.gstatic.com/s/sarpanch/v4/hES16Xt4NCpRuk6PziU8a67f1HEuRHkM.ttf",
16016
+ "800": "http://fonts.gstatic.com/s/sarpanch/v4/hES16Xt4NCpRuk6PziUgaK7f1HEuRHkM.ttf",
16017
+ "900": "http://fonts.gstatic.com/s/sarpanch/v4/hES16Xt4NCpRuk6PziUEaa7f1HEuRHkM.ttf",
16018
+ "regular": "http://fonts.gstatic.com/s/sarpanch/v4/hESy6Xt4NCpRuk6Pzh2ARIrX_20n.ttf"
16019
+ }
16020
+ },
16021
+ {
16022
+ "kind": "webfonts#webfont",
16023
+ "family": "Satisfy",
16024
+ "category": "handwriting",
16025
+ "variants": [
16026
+ "regular"
16027
+ ],
16028
+ "subsets": [
16029
+ "latin"
16030
+ ],
16031
+ "version": "v9",
16032
+ "lastModified": "2019-01-15",
16033
+ "files": {
16034
+ "regular": "http://fonts.gstatic.com/s/satisfy/v9/rP2Hp2yn6lkG50LoOZSCHBeHFl0.ttf"
16035
+ }
16036
+ },
16037
+ {
16038
+ "kind": "webfonts#webfont",
16039
+ "family": "Sawarabi Gothic",
16040
+ "category": "sans-serif",
16041
+ "variants": [
16042
+ "regular"
16043
+ ],
16044
+ "subsets": [
16045
+ "japanese",
16046
+ "latin-ext",
16047
+ "cyrillic",
16048
+ "vietnamese",
16049
+ "latin"
16050
+ ],
16051
+ "version": "v5",
16052
+ "lastModified": "2019-01-15",
16053
+ "files": {
16054
+ "regular": "http://fonts.gstatic.com/s/sawarabigothic/v5/x3d4ckfVaqqa-BEj-I9mE65u3k3NBSk3E2YljQ.ttf"
16055
+ }
16056
+ },
16057
+ {
16058
+ "kind": "webfonts#webfont",
16059
+ "family": "Sawarabi Mincho",
16060
+ "category": "sans-serif",
16061
+ "variants": [
16062
+ "regular"
16063
+ ],
16064
+ "subsets": [
16065
+ "japanese",
16066
+ "latin-ext",
16067
+ "latin"
16068
+ ],
16069
+ "version": "v7",
16070
+ "lastModified": "2019-01-15",
16071
+ "files": {
16072
+ "regular": "http://fonts.gstatic.com/s/sawarabimincho/v7/8QIRdiDaitzr7brc8ahpxt6GcIJTLahP46UDUw.ttf"
16073
+ }
16074
+ },
16075
+ {
16076
+ "kind": "webfonts#webfont",
16077
+ "family": "Scada",
16078
+ "category": "sans-serif",
16079
+ "variants": [
16080
+ "regular",
16081
+ "italic",
16082
+ "700",
16083
+ "700italic"
16084
+ ],
16085
+ "subsets": [
16086
+ "latin-ext",
16087
+ "cyrillic-ext",
16088
+ "cyrillic",
16089
+ "latin"
16090
+ ],
16091
+ "version": "v7",
16092
+ "lastModified": "2019-01-15",
16093
+ "files": {
16094
+ "700": "http://fonts.gstatic.com/s/scada/v7/RLp8K5Pv5qumeVrU6BEgRVfmZOE5.ttf",
16095
+ "regular": "http://fonts.gstatic.com/s/scada/v7/RLpxK5Pv5qumeWJoxzUobkvv.ttf",
16096
+ "italic": "http://fonts.gstatic.com/s/scada/v7/RLp_K5Pv5qumeVJqzTEKa1vvffg.ttf",
16097
+ "700italic": "http://fonts.gstatic.com/s/scada/v7/RLp6K5Pv5qumeVJq9Y0lT1PEYfE5p6g.ttf"
16098
+ }
16099
+ },
16100
+ {
16101
+ "kind": "webfonts#webfont",
16102
+ "family": "Scheherazade",
16103
+ "category": "serif",
16104
+ "variants": [
16105
+ "regular",
16106
+ "700"
16107
+ ],
16108
+ "subsets": [
16109
+ "arabic",
16110
+ "latin"
16111
+ ],
16112
+ "version": "v16",
16113
+ "lastModified": "2019-01-15",
16114
+ "files": {
16115
+ "700": "http://fonts.gstatic.com/s/scheherazade/v16/YA9Lr0yF4ETZN60keViq1kQYC7yMjt3V_dB0Yw.ttf",
16116
+ "regular": "http://fonts.gstatic.com/s/scheherazade/v16/YA9Ur0yF4ETZN60keViq1kQgt5OohvbJ9A.ttf"
16117
+ }
16118
+ },
16119
+ {
16120
+ "kind": "webfonts#webfont",
16121
+ "family": "Schoolbell",
16122
+ "category": "handwriting",
16123
+ "variants": [
16124
+ "regular"
16125
+ ],
16126
+ "subsets": [
16127
+ "latin"
16128
+ ],
16129
+ "version": "v9",
16130
+ "lastModified": "2019-01-10",
16131
+ "files": {
16132
+ "regular": "http://fonts.gstatic.com/s/schoolbell/v9/92zQtBZWOrcgoe-fgnJIVxIQ6mRqfiQ.ttf"
16133
+ }
16134
+ },
16135
+ {
16136
+ "kind": "webfonts#webfont",
16137
+ "family": "Scope One",
16138
+ "category": "serif",
16139
+ "variants": [
16140
+ "regular"
16141
+ ],
16142
+ "subsets": [
16143
+ "latin-ext",
16144
+ "latin"
16145
+ ],
16146
+ "version": "v5",
16147
+ "lastModified": "2019-01-10",
16148
+ "files": {
16149
+ "regular": "http://fonts.gstatic.com/s/scopeone/v5/WBLnrEXKYFlGHrOKmGD1W0_MJMGxiQ.ttf"
16150
+ }
16151
+ },
16152
+ {
16153
+ "kind": "webfonts#webfont",
16154
+ "family": "Seaweed Script",
16155
+ "category": "display",
16156
+ "variants": [
16157
+ "regular"
16158
+ ],
16159
+ "subsets": [
16160
+ "latin-ext",
16161
+ "latin"
16162
+ ],
16163
+ "version": "v6",
16164
+ "lastModified": "2019-01-10",
16165
+ "files": {
16166
+ "regular": "http://fonts.gstatic.com/s/seaweedscript/v6/bx6cNx6Tne2pxOATYE8C_Rsoe0WJ-KcGVbLW.ttf"
16167
+ }
16168
+ },
16169
+ {
16170
+ "kind": "webfonts#webfont",
16171
+ "family": "Secular One",
16172
+ "category": "sans-serif",
16173
+ "variants": [
16174
+ "regular"
16175
+ ],
16176
+ "subsets": [
16177
+ "hebrew",
16178
+ "latin-ext",
16179
+ "latin"
16180
+ ],
16181
+ "version": "v3",
16182
+ "lastModified": "2019-01-10",
16183
+ "files": {
16184
+ "regular": "http://fonts.gstatic.com/s/secularone/v3/8QINdiTajsj_87rMuMdKypDlMul7LJpK.ttf"
16185
+ }
16186
+ },
16187
+ {
16188
+ "kind": "webfonts#webfont",
16189
+ "family": "Sedgwick Ave",
16190
+ "category": "handwriting",
16191
+ "variants": [
16192
+ "regular"
16193
+ ],
16194
+ "subsets": [
16195
+ "latin-ext",
16196
+ "vietnamese",
16197
+ "latin"
16198
+ ],
16199
+ "version": "v4",
16200
+ "lastModified": "2019-01-10",
16201
+ "files": {
16202
+ "regular": "http://fonts.gstatic.com/s/sedgwickave/v4/uK_04rKEYuguzAcSYRdWTJq8Xmg1Vcf5JA.ttf"
16203
+ }
16204
+ },
16205
+ {
16206
+ "kind": "webfonts#webfont",
16207
+ "family": "Sedgwick Ave Display",
16208
+ "category": "handwriting",
16209
+ "variants": [
16210
+ "regular"
16211
+ ],
16212
+ "subsets": [
16213
+ "latin-ext",
16214
+ "vietnamese",
16215
+ "latin"
16216
+ ],
16217
+ "version": "v4",
16218
+ "lastModified": "2018-11-29",
16219
+ "files": {
16220
+ "regular": "http://fonts.gstatic.com/s/sedgwickavedisplay/v4/xfuu0XPgU3jZPUoUo3ScvmPi-NapQ8OxM2czd-YnOzUD.ttf"
16221
+ }
16222
+ },
16223
+ {
16224
+ "kind": "webfonts#webfont",
16225
+ "family": "Sevillana",
16226
+ "category": "display",
16227
+ "variants": [
16228
+ "regular"
16229
+ ],
16230
+ "subsets": [
16231
+ "latin-ext",
16232
+ "latin"
16233
+ ],
16234
+ "version": "v7",
16235
+ "lastModified": "2018-11-29",
16236
+ "files": {
16237
+ "regular": "http://fonts.gstatic.com/s/sevillana/v7/KFOlCnWFscmDt1Bfiy1vAx05IsDqlA.ttf"
16238
+ }
16239
+ },
16240
+ {
16241
+ "kind": "webfonts#webfont",
16242
+ "family": "Seymour One",
16243
+ "category": "sans-serif",
16244
+ "variants": [
16245
+ "regular"
16246
+ ],
16247
+ "subsets": [
16248
+ "latin-ext",
16249
+ "cyrillic",
16250
+ "latin"
16251
+ ],
16252
+ "version": "v6",
16253
+ "lastModified": "2018-12-13",
16254
+ "files": {
16255
+ "regular": "http://fonts.gstatic.com/s/seymourone/v6/4iCp6Khla9xbjQpoWGGd0myIPYBvgpUI.ttf"
16256
+ }
16257
+ },
16258
+ {
16259
+ "kind": "webfonts#webfont",
16260
+ "family": "Shadows Into Light",
16261
+ "category": "handwriting",
16262
+ "variants": [
16263
+ "regular"
16264
+ ],
16265
+ "subsets": [
16266
+ "latin"
16267
+ ],
16268
+ "version": "v7",
16269
+ "lastModified": "2017-10-10",
16270
+ "files": {
16271
+ "regular": "http://fonts.gstatic.com/s/shadowsintolight/v7/UqyNK9UOIntux_czAvDQx_ZcHqZXBNQDcg.ttf"
16272
+ }
16273
+ },
16274
+ {
16275
+ "kind": "webfonts#webfont",
16276
+ "family": "Shadows Into Light Two",
16277
+ "category": "handwriting",
16278
+ "variants": [
16279
+ "regular"
16280
+ ],
16281
+ "subsets": [
16282
+ "latin-ext",
16283
+ "latin"
16284
+ ],
16285
+ "version": "v6",
16286
+ "lastModified": "2019-01-15",
16287
+ "files": {
16288
+ "regular": "http://fonts.gstatic.com/s/shadowsintolighttwo/v6/4iC86LVlZsRSjQhpWGedwyOoW-0A6_kpsyNmlAvNGLNnIF0.ttf"
16289
+ }
16290
+ },
16291
+ {
16292
+ "kind": "webfonts#webfont",
16293
+ "family": "Shanti",
16294
+ "category": "sans-serif",
16295
+ "variants": [
16296
+ "regular"
16297
+ ],
16298
+ "subsets": [
16299
+ "latin"
16300
+ ],
16301
+ "version": "v10",
16302
+ "lastModified": "2019-01-10",
16303
+ "files": {
16304
+ "regular": "http://fonts.gstatic.com/s/shanti/v10/t5thIREMM4uSDgzgU0ezpKfwzA.ttf"
16305
+ }
16306
+ },
16307
+ {
16308
+ "kind": "webfonts#webfont",
16309
+ "family": "Share",
16310
+ "category": "display",
16311
+ "variants": [
16312
+ "regular",
16313
+ "italic",
16314
+ "700",
16315
+ "700italic"
16316
+ ],
16317
+ "subsets": [
16318
+ "latin-ext",
16319
+ "latin"
16320
+ ],
16321
+ "version": "v9",
16322
+ "lastModified": "2019-01-10",
16323
+ "files": {
16324
+ "700": "http://fonts.gstatic.com/s/share/v9/i7dJIFliZjKNF63xM56-WkJUQUq7.ttf",
16325
+ "regular": "http://fonts.gstatic.com/s/share/v9/i7dEIFliZjKNF5VNHLq2cV5d.ttf",
16326
+ "italic": "http://fonts.gstatic.com/s/share/v9/i7dKIFliZjKNF6VPFr6UdE5dWFM.ttf",
16327
+ "700italic": "http://fonts.gstatic.com/s/share/v9/i7dPIFliZjKNF6VPLgK7UEZ2RFq7AwU.ttf"
16328
+ }
16329
+ },
16330
+ {
16331
+ "kind": "webfonts#webfont",
16332
+ "family": "Share Tech",
16333
+ "category": "sans-serif",
16334
+ "variants": [
16335
+ "regular"
16336
+ ],
16337
+ "subsets": [
16338
+ "latin"
16339
+ ],
16340
+ "version": "v8",
16341
+ "lastModified": "2019-01-10",
16342
+ "files": {
16343
+ "regular": "http://fonts.gstatic.com/s/sharetech/v8/7cHtv4Uyi5K0OeZ7bohUwHoDmTcibrA.ttf"
16344
+ }
16345
+ },
16346
+ {
16347
+ "kind": "webfonts#webfont",
16348
+ "family": "Share Tech Mono",
16349
+ "category": "monospace",
16350
+ "variants": [
16351
+ "regular"
16352
+ ],
16353
+ "subsets": [
16354
+ "latin"
16355
+ ],
16356
+ "version": "v8",
16357
+ "lastModified": "2019-01-10",
16358
+ "files": {
16359
+ "regular": "http://fonts.gstatic.com/s/sharetechmono/v8/J7aHnp1uDWRBEqV98dVQztYldFc7pAsEIc3Xew.ttf"
16360
+ }
16361
+ },
16362
+ {
16363
+ "kind": "webfonts#webfont",
16364
+ "family": "Shojumaru",
16365
+ "category": "display",
16366
+ "variants": [
16367
+ "regular"
16368
+ ],
16369
+ "subsets": [
16370
+ "latin-ext",
16371
+ "latin"
16372
+ ],
16373
+ "version": "v6",
16374
+ "lastModified": "2019-01-10",
16375
+ "files": {
16376
+ "regular": "http://fonts.gstatic.com/s/shojumaru/v6/rax_HiWfutkLLnaKCtlMBBJek0vA8A.ttf"
16377
+ }
16378
+ },
16379
+ {
16380
+ "kind": "webfonts#webfont",
16381
+ "family": "Short Stack",
16382
+ "category": "handwriting",
16383
+ "variants": [
16384
+ "regular"
16385
+ ],
16386
+ "subsets": [
16387
+ "latin"
16388
+ ],
16389
+ "version": "v8",
16390
+ "lastModified": "2019-01-10",
16391
+ "files": {
16392
+ "regular": "http://fonts.gstatic.com/s/shortstack/v8/bMrzmS2X6p0jZC6EcmPFX-SScX8D0nq6.ttf"
16393
+ }
16394
+ },
16395
+ {
16396
+ "kind": "webfonts#webfont",
16397
+ "family": "Shrikhand",
16398
+ "category": "display",
16399
+ "variants": [
16400
+ "regular"
16401
+ ],
16402
+ "subsets": [
16403
+ "latin-ext",
16404
+ "gujarati",
16405
+ "latin"
16406
+ ],
16407
+ "version": "v4",
16408
+ "lastModified": "2019-01-15",
16409
+ "files": {
16410
+ "regular": "http://fonts.gstatic.com/s/shrikhand/v4/a8IbNovtLWfR7T7bMJwbBIiQ0zhMtA.ttf"
16411
+ }
16412
+ },
16413
+ {
16414
+ "kind": "webfonts#webfont",
16415
+ "family": "Siemreap",
16416
+ "category": "display",
16417
+ "variants": [
16418
+ "regular"
16419
+ ],
16420
+ "subsets": [
16421
+ "khmer"
16422
+ ],
16423
+ "version": "v11",
16424
+ "lastModified": "2018-12-13",
16425
+ "files": {
16426
+ "regular": "http://fonts.gstatic.com/s/siemreap/v11/Gg82N5oFbgLvHAfNl2YbnA8DLXpe.ttf"
16427
+ }
16428
+ },
16429
+ {
16430
+ "kind": "webfonts#webfont",
16431
+ "family": "Sigmar One",
16432
+ "category": "display",
16433
+ "variants": [
16434
+ "regular"
16435
+ ],
16436
+ "subsets": [
16437
+ "latin-ext",
16438
+ "vietnamese",
16439
+ "latin"
16440
+ ],
16441
+ "version": "v9",
16442
+ "lastModified": "2019-01-15",
16443
+ "files": {
16444
+ "regular": "http://fonts.gstatic.com/s/sigmarone/v9/co3DmWZ8kjZuErj9Ta3dk6Pjp3Di8U0.ttf"
16445
+ }
16446
+ },
16447
+ {
16448
+ "kind": "webfonts#webfont",
16449
+ "family": "Signika",
16450
+ "category": "sans-serif",
16451
+ "variants": [
16452
+ "300",
16453
+ "regular",
16454
+ "600",
16455
+ "700"
16456
+ ],
16457
+ "subsets": [
16458
+ "latin-ext",
16459
+ "latin"
16460
+ ],
16461
+ "version": "v8",
16462
+ "lastModified": "2017-10-10",
16463
+ "files": {
16464
+ "300": "http://fonts.gstatic.com/s/signika/v8/vEFU2_JTCgwQ5ejvE_oEI3A.ttf",
16465
+ "600": "http://fonts.gstatic.com/s/signika/v8/vEFU2_JTCgwQ5ejvE44CI3A.ttf",
16466
+ "700": "http://fonts.gstatic.com/s/signika/v8/vEFU2_JTCgwQ5ejvE-oDI3A.ttf",
16467
+ "regular": "http://fonts.gstatic.com/s/signika/v8/vEFR2_JTCgwQ5ejvK1Y.ttf"
16468
+ }
16469
+ },
16470
+ {
16471
+ "kind": "webfonts#webfont",
16472
+ "family": "Signika Negative",
16473
+ "category": "sans-serif",
16474
+ "variants": [
16475
+ "300",
16476
+ "regular",
16477
+ "600",
16478
+ "700"
16479
+ ],
16480
+ "subsets": [
16481
+ "latin-ext",
16482
+ "latin"
16483
+ ],
16484
+ "version": "v9",
16485
+ "lastModified": "2019-01-15",
16486
+ "files": {
16487
+ "300": "http://fonts.gstatic.com/s/signikanegative/v9/E217_cfngu7HiRpPX3ZpNE4kY5zKal6DipHD6z_iXAs.ttf",
16488
+ "600": "http://fonts.gstatic.com/s/signikanegative/v9/E217_cfngu7HiRpPX3ZpNE4kY5zKaiqFipHD6z_iXAs.ttf",
16489
+ "700": "http://fonts.gstatic.com/s/signikanegative/v9/E217_cfngu7HiRpPX3ZpNE4kY5zKak6EipHD6z_iXAs.ttf",
16490
+ "regular": "http://fonts.gstatic.com/s/signikanegative/v9/E218_cfngu7HiRpPX3ZpNE4kY5zKUvKrrpno9zY.ttf"
16491
+ }
16492
+ },
16493
+ {
16494
+ "kind": "webfonts#webfont",
16495
+ "family": "Simonetta",
16496
+ "category": "display",
16497
+ "variants": [
16498
+ "regular",
16499
+ "italic",
16500
+ "900",
16501
+ "900italic"
16502
+ ],
16503
+ "subsets": [
16504
+ "latin-ext",
16505
+ "latin"
16506
+ ],
16507
+ "version": "v8",
16508
+ "lastModified": "2018-12-13",
16509
+ "files": {
16510
+ "900": "http://fonts.gstatic.com/s/simonetta/v8/x3dnckHVYrCU5BU15c45-N0mtwTpDQIrGg.ttf",
16511
+ "regular": "http://fonts.gstatic.com/s/simonetta/v8/x3dickHVYrCU5BU15c4BfPACvy_1BA.ttf",
16512
+ "italic": "http://fonts.gstatic.com/s/simonetta/v8/x3dkckHVYrCU5BU15c4xfvoGnSrlBBsy.ttf",
16513
+ "900italic": "http://fonts.gstatic.com/s/simonetta/v8/x3d5ckHVYrCU5BU15c4xfsKCsA7tLwc7Gn88.ttf"
16514
+ }
16515
+ },
16516
+ {
16517
+ "kind": "webfonts#webfont",
16518
+ "family": "Sintony",
16519
+ "category": "sans-serif",
16520
+ "variants": [
16521
+ "regular",
16522
+ "700"
16523
+ ],
16524
+ "subsets": [
16525
+ "latin-ext",
16526
+ "latin"
16527
+ ],
16528
+ "version": "v6",
16529
+ "lastModified": "2019-01-15",
16530
+ "files": {
16531
+ "700": "http://fonts.gstatic.com/s/sintony/v6/XoHj2YDqR7-98cVUGYgIn9cDkjLp6C8.ttf",
16532
+ "regular": "http://fonts.gstatic.com/s/sintony/v6/XoHm2YDqR7-98cVUITQnu98ojjs.ttf"
16533
+ }
16534
+ },
16535
+ {
16536
+ "kind": "webfonts#webfont",
16537
+ "family": "Sirin Stencil",
16538
+ "category": "display",
16539
+ "variants": [
16540
+ "regular"
16541
+ ],
16542
+ "subsets": [
16543
+ "latin"
16544
+ ],
16545
+ "version": "v7",
16546
+ "lastModified": "2018-11-29",
16547
+ "files": {
16548
+ "regular": "http://fonts.gstatic.com/s/sirinstencil/v7/mem4YaWwznmLx-lzGfN7MdRydchGBq6al6o.ttf"
16549
+ }
16550
+ },
16551
+ {
16552
+ "kind": "webfonts#webfont",
16553
+ "family": "Six Caps",
16554
+ "category": "sans-serif",
16555
+ "variants": [
16556
+ "regular"
16557
+ ],
16558
+ "subsets": [
16559
+ "latin"
16560
+ ],
16561
+ "version": "v9",
16562
+ "lastModified": "2019-01-10",
16563
+ "files": {
16564
+ "regular": "http://fonts.gstatic.com/s/sixcaps/v9/6ae_4KGrU7VR7bNmabcS9XXaPCop.ttf"
16565
+ }
16566
+ },
16567
+ {
16568
+ "kind": "webfonts#webfont",
16569
+ "family": "Skranji",
16570
+ "category": "display",
16571
+ "variants": [
16572
+ "regular",
16573
+ "700"
16574
+ ],
16575
+ "subsets": [
16576
+ "latin-ext",
16577
+ "latin"
16578
+ ],
16579
+ "version": "v6",
16580
+ "lastModified": "2019-01-10",
16581
+ "files": {
16582
+ "700": "http://fonts.gstatic.com/s/skranji/v6/OZpGg_dtriVFNerMW4eBtlzNwED-b4g.ttf",
16583
+ "regular": "http://fonts.gstatic.com/s/skranji/v6/OZpDg_dtriVFNerMYzuuklTm3Ek.ttf"
16584
+ }
16585
+ },
16586
+ {
16587
+ "kind": "webfonts#webfont",
16588
+ "family": "Slabo 13px",
16589
+ "category": "serif",
16590
+ "variants": [
16591
+ "regular"
16592
+ ],
16593
+ "subsets": [
16594
+ "latin-ext",
16595
+ "latin"
16596
+ ],
16597
+ "version": "v6",
16598
+ "lastModified": "2019-01-10",
16599
+ "files": {
16600
+ "regular": "http://fonts.gstatic.com/s/slabo13px/v6/11hEGp_azEvXZUdSBzzRcKer2wkYnvI.ttf"
16601
+ }
16602
+ },
16603
+ {
16604
+ "kind": "webfonts#webfont",
16605
+ "family": "Slabo 27px",
16606
+ "category": "serif",
16607
+ "variants": [
16608
+ "regular"
16609
+ ],
16610
+ "subsets": [
16611
+ "latin-ext",
16612
+ "latin"
16613
+ ],
16614
+ "version": "v4",
16615
+ "lastModified": "2017-10-11",
16616
+ "files": {
16617
+ "regular": "http://fonts.gstatic.com/s/slabo27px/v4/mFT0WbgBwKPR_Z4hGN2qsxg.ttf"
16618
+ }
16619
+ },
16620
+ {
16621
+ "kind": "webfonts#webfont",
16622
+ "family": "Slackey",
16623
+ "category": "display",
16624
+ "variants": [
16625
+ "regular"
16626
+ ],
16627
+ "subsets": [
16628
+ "latin"
16629
+ ],
16630
+ "version": "v9",
16631
+ "lastModified": "2018-12-13",
16632
+ "files": {
16633
+ "regular": "http://fonts.gstatic.com/s/slackey/v9/N0bV2SdQO-5yM0-dKlRaJdbWgdY.ttf"
16634
+ }
16635
+ },
16636
+ {
16637
+ "kind": "webfonts#webfont",
16638
+ "family": "Smokum",
16639
+ "category": "display",
16640
+ "variants": [
16641
+ "regular"
16642
+ ],
16643
+ "subsets": [
16644
+ "latin"
16645
+ ],
16646
+ "version": "v9",
16647
+ "lastModified": "2018-11-29",
16648
+ "files": {
16649
+ "regular": "http://fonts.gstatic.com/s/smokum/v9/TK3iWkUbAhopmrdGHjUHte5fKg.ttf"
16650
+ }
16651
+ },
16652
+ {
16653
+ "kind": "webfonts#webfont",
16654
+ "family": "Smythe",
16655
+ "category": "display",
16656
+ "variants": [
16657
+ "regular"
16658
+ ],
16659
+ "subsets": [
16660
+ "latin"
16661
+ ],
16662
+ "version": "v9",
16663
+ "lastModified": "2018-12-13",
16664
+ "files": {
16665
+ "regular": "http://fonts.gstatic.com/s/smythe/v9/MwQ3bhT01--coT1BOLh_uGInjA.ttf"
16666
+ }
16667
+ },
16668
+ {
16669
+ "kind": "webfonts#webfont",
16670
+ "family": "Sniglet",
16671
+ "category": "display",
16672
+ "variants": [
16673
+ "regular",
16674
+ "800"
16675
+ ],
16676
+ "subsets": [
16677
+ "latin-ext",
16678
+ "latin"
16679
+ ],
16680
+ "version": "v10",
16681
+ "lastModified": "2019-01-10",
16682
+ "files": {
16683
+ "800": "http://fonts.gstatic.com/s/sniglet/v10/cIf4MaFLtkE3UjaJ_ImHRGEsnIJkWL4.ttf",
16684
+ "regular": "http://fonts.gstatic.com/s/sniglet/v10/cIf9MaFLtkE3UjaJxCmrYGkHgIs.ttf"
16685
+ }
16686
+ },
16687
+ {
16688
+ "kind": "webfonts#webfont",
16689
+ "family": "Snippet",
16690
+ "category": "sans-serif",
16691
+ "variants": [
16692
+ "regular"
16693
+ ],
16694
+ "subsets": [
16695
+ "latin"
16696
+ ],
16697
+ "version": "v8",
16698
+ "lastModified": "2018-12-13",
16699
+ "files": {
16700
+ "regular": "http://fonts.gstatic.com/s/snippet/v8/bWt47f7XfQH9Gupu2v_Afcp9QWc.ttf"
16701
+ }
16702
+ },
16703
+ {
16704
+ "kind": "webfonts#webfont",
16705
+ "family": "Snowburst One",
16706
+ "category": "display",
16707
+ "variants": [
16708
+ "regular"
16709
+ ],
16710
+ "subsets": [
16711
+ "latin-ext",
16712
+ "latin"
16713
+ ],
16714
+ "version": "v6",
16715
+ "lastModified": "2018-12-13",
16716
+ "files": {
16717
+ "regular": "http://fonts.gstatic.com/s/snowburstone/v6/MQpS-WezKdujBsXY3B7I-UT7eZ-UPyacPbo.ttf"
16718
+ }
16719
+ },
16720
+ {
16721
+ "kind": "webfonts#webfont",
16722
+ "family": "Sofadi One",
16723
+ "category": "display",
16724
+ "variants": [
16725
+ "regular"
16726
+ ],
16727
+ "subsets": [
16728
+ "latin"
16729
+ ],
16730
+ "version": "v7",
16731
+ "lastModified": "2018-11-29",
16732
+ "files": {
16733
+ "regular": "http://fonts.gstatic.com/s/sofadione/v7/JIA2UVBxdnVBuElZaMFGcDOIETkmYDU.ttf"
16734
+ }
16735
+ },
16736
+ {
16737
+ "kind": "webfonts#webfont",
16738
+ "family": "Sofia",
16739
+ "category": "handwriting",
16740
+ "variants": [
16741
+ "regular"
16742
+ ],
16743
+ "subsets": [
16744
+ "latin"
16745
+ ],
16746
+ "version": "v7",
16747
+ "lastModified": "2019-01-10",
16748
+ "files": {
16749
+ "regular": "http://fonts.gstatic.com/s/sofia/v7/8QIHdirahM3j_vu-sowsrqjk.ttf"
16750
+ }
16751
+ },
16752
+ {
16753
+ "kind": "webfonts#webfont",
16754
+ "family": "Song Myung",
16755
+ "category": "serif",
16756
+ "variants": [
16757
+ "regular"
16758
+ ],
16759
+ "subsets": [
16760
+ "korean",
16761
+ "latin"
16762
+ ],
16763
+ "version": "v5",
16764
+ "lastModified": "2018-12-13",
16765
+ "files": {
16766
+ "regular": "http://fonts.gstatic.com/s/songmyung/v5/1cX2aUDWAJH5-EIC7DIhr1GqhcitzeM.ttf"
16767
+ }
16768
+ },
16769
+ {
16770
+ "kind": "webfonts#webfont",
16771
+ "family": "Sonsie One",
16772
+ "category": "display",
16773
+ "variants": [
16774
+ "regular"
16775
+ ],
16776
+ "subsets": [
16777
+ "latin-ext",
16778
+ "latin"
16779
+ ],
16780
+ "version": "v7",
16781
+ "lastModified": "2018-12-13",
16782
+ "files": {
16783
+ "regular": "http://fonts.gstatic.com/s/sonsieone/v7/PbymFmP_EAnPqbKaoc18YVu80lbp8JM.ttf"
16784
+ }
16785
+ },
16786
+ {
16787
+ "kind": "webfonts#webfont",
16788
+ "family": "Sorts Mill Goudy",
16789
+ "category": "serif",
16790
+ "variants": [
16791
+ "regular",
16792
+ "italic"
16793
+ ],
16794
+ "subsets": [
16795
+ "latin-ext",
16796
+ "latin"
16797
+ ],
16798
+ "version": "v8",
16799
+ "lastModified": "2019-01-15",
16800
+ "files": {
16801
+ "regular": "http://fonts.gstatic.com/s/sortsmillgoudy/v8/Qw3GZR9MED_6PSuS_50nEaVrfzgEXH0OjpM75PE.ttf",
16802
+ "italic": "http://fonts.gstatic.com/s/sortsmillgoudy/v8/Qw3AZR9MED_6PSuS_50nEaVrfzgEbH8EirE-9PGLfQ.ttf"
16803
+ }
16804
+ },
16805
+ {
16806
+ "kind": "webfonts#webfont",
16807
+ "family": "Source Code Pro",
16808
+ "category": "monospace",
16809
+ "variants": [
16810
+ "200",
16811
+ "300",
16812
+ "regular",
16813
+ "500",
16814
+ "600",
16815
+ "700",
16816
+ "900"
16817
+ ],
16818
+ "subsets": [
16819
+ "latin-ext",
16820
+ "latin"
16821
+ ],
16822
+ "version": "v8",
16823
+ "lastModified": "2018-10-08",
16824
+ "files": {
16825
+ "200": "http://fonts.gstatic.com/s/sourcecodepro/v8/HI_XiYsKILxRpg3hIP6sJ7fM7Pqt8srztA.ttf",
16826
+ "300": "http://fonts.gstatic.com/s/sourcecodepro/v8/HI_XiYsKILxRpg3hIP6sJ7fM7PqtlsnztA.ttf",
16827
+ "500": "http://fonts.gstatic.com/s/sourcecodepro/v8/HI_XiYsKILxRpg3hIP6sJ7fM7PqtzsjztA.ttf",
16828
+ "600": "http://fonts.gstatic.com/s/sourcecodepro/v8/HI_XiYsKILxRpg3hIP6sJ7fM7Pqt4s_ztA.ttf",
16829
+ "700": "http://fonts.gstatic.com/s/sourcecodepro/v8/HI_XiYsKILxRpg3hIP6sJ7fM7Pqths7ztA.ttf",
16830
+ "900": "http://fonts.gstatic.com/s/sourcecodepro/v8/HI_XiYsKILxRpg3hIP6sJ7fM7PqtvszztA.ttf",
16831
+ "regular": "http://fonts.gstatic.com/s/sourcecodepro/v8/HI_SiYsKILxRpg3hIP6sJ7fM7PqVOg.ttf"
16832
+ }
16833
+ },
16834
+ {
16835
+ "kind": "webfonts#webfont",
16836
+ "family": "Source Sans Pro",
16837
+ "category": "sans-serif",
16838
+ "variants": [
16839
+ "200",
16840
+ "200italic",
16841
+ "300",
16842
+ "300italic",
16843
+ "regular",
16844
+ "italic",
16845
+ "600",
16846
+ "600italic",
16847
+ "700",
16848
+ "700italic",
16849
+ "900",
16850
+ "900italic"
16851
+ ],
16852
+ "subsets": [
16853
+ "latin-ext",
16854
+ "greek-ext",
16855
+ "cyrillic-ext",
16856
+ "cyrillic",
16857
+ "greek",
16858
+ "vietnamese",
16859
+ "latin"
16860
+ ],
16861
+ "version": "v11",
16862
+ "lastModified": "2017-10-11",
16863
+ "files": {
16864
+ "200": "http://fonts.gstatic.com/s/sourcesanspro/v11/6xKydSBYKcSV-LCoeQqfX1RYOo3i94_AkA.ttf",
16865
+ "300": "http://fonts.gstatic.com/s/sourcesanspro/v11/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zAkA.ttf",
16866
+ "600": "http://fonts.gstatic.com/s/sourcesanspro/v11/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rAkA.ttf",
16867
+ "700": "http://fonts.gstatic.com/s/sourcesanspro/v11/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vAkA.ttf",
16868
+ "900": "http://fonts.gstatic.com/s/sourcesanspro/v11/6xKydSBYKcSV-LCoeQqfX1RYOo3iu4nAkA.ttf",
16869
+ "200italic": "http://fonts.gstatic.com/s/sourcesanspro/v11/6xKwdSBYKcSV-LCoeQqfX1RYOo3qPZYokRdr.ttf",
16870
+ "300italic": "http://fonts.gstatic.com/s/sourcesanspro/v11/6xKwdSBYKcSV-LCoeQqfX1RYOo3qPZZMkhdr.ttf",
16871
+ "regular": "http://fonts.gstatic.com/s/sourcesanspro/v11/6xK3dSBYKcSV-LCoeQqfX1RYOo3aPw.ttf",
16872
+ "italic": "http://fonts.gstatic.com/s/sourcesanspro/v11/6xK1dSBYKcSV-LCoeQqfX1RYOo3qPa7g.ttf",
16873
+ "600italic": "http://fonts.gstatic.com/s/sourcesanspro/v11/6xKwdSBYKcSV-LCoeQqfX1RYOo3qPZY4lBdr.ttf",
16874
+ "700italic": "http://fonts.gstatic.com/s/sourcesanspro/v11/6xKwdSBYKcSV-LCoeQqfX1RYOo3qPZZclRdr.ttf",
16875
+ "900italic": "http://fonts.gstatic.com/s/sourcesanspro/v11/6xKwdSBYKcSV-LCoeQqfX1RYOo3qPZZklxdr.ttf"
16876
+ }
16877
+ },
16878
+ {
16879
+ "kind": "webfonts#webfont",
16880
+ "family": "Source Serif Pro",
16881
+ "category": "serif",
16882
+ "variants": [
16883
+ "regular",
16884
+ "600",
16885
+ "700"
16886
+ ],
16887
+ "subsets": [
16888
+ "latin-ext",
16889
+ "latin"
16890
+ ],
16891
+ "version": "v5",
16892
+ "lastModified": "2017-10-10",
16893
+ "files": {
16894
+ "600": "http://fonts.gstatic.com/s/sourceserifpro/v5/neIXzD-0qpwxpaWvjeD0X88SAOeasasahSs.ttf",
16895
+ "700": "http://fonts.gstatic.com/s/sourceserifpro/v5/neIXzD-0qpwxpaWvjeD0X88SAOeasc8bhSs.ttf",
16896
+ "regular": "http://fonts.gstatic.com/s/sourceserifpro/v5/neIQzD-0qpwxpaWvjeD0X88SAOeaiXM.ttf"
16897
+ }
16898
+ },
16899
+ {
16900
+ "kind": "webfonts#webfont",
16901
+ "family": "Space Mono",
16902
+ "category": "monospace",
16903
+ "variants": [
16904
+ "regular",
16905
+ "italic",
16906
+ "700",
16907
+ "700italic"
16908
+ ],
16909
+ "subsets": [
16910
+ "latin-ext",
16911
+ "vietnamese",
16912
+ "latin"
16913
+ ],
16914
+ "version": "v4",
16915
+ "lastModified": "2019-01-10",
16916
+ "files": {
16917
+ "700": "http://fonts.gstatic.com/s/spacemono/v4/i7dMIFZifjKcF5UAWdDRaPpZYFKQHwyVd3U.ttf",
16918
+ "regular": "http://fonts.gstatic.com/s/spacemono/v4/i7dPIFZifjKcF5UAWdDRUEZ2RFq7AwU.ttf",
16919
+ "italic": "http://fonts.gstatic.com/s/spacemono/v4/i7dNIFZifjKcF5UAWdDRYER8QHi-EwWMbg.ttf",
16920
+ "700italic": "http://fonts.gstatic.com/s/spacemono/v4/i7dSIFZifjKcF5UAWdDRYERE_FeaGy6QZ3WfYg.ttf"
16921
+ }
16922
+ },
16923
+ {
16924
+ "kind": "webfonts#webfont",
16925
+ "family": "Special Elite",
16926
+ "category": "display",
16927
+ "variants": [
16928
+ "regular"
16929
+ ],
16930
+ "subsets": [
16931
+ "latin"
16932
+ ],
16933
+ "version": "v9",
16934
+ "lastModified": "2019-01-15",
16935
+ "files": {
16936
+ "regular": "http://fonts.gstatic.com/s/specialelite/v9/XLYgIZbkc4JPUL5CVArUVL0nhncESXFtUsM.ttf"
16937
+ }
16938
+ },
16939
+ {
16940
+ "kind": "webfonts#webfont",
16941
+ "family": "Spectral",
16942
+ "category": "serif",
16943
+ "variants": [
16944
+ "200",
16945
+ "200italic",
16946
+ "300",
16947
+ "300italic",
16948
+ "regular",
16949
+ "italic",
16950
+ "500",
16951
+ "500italic",
16952
+ "600",
16953
+ "600italic",
16954
+ "700",
16955
+ "700italic",
16956
+ "800",
16957
+ "800italic"
16958
+ ],
16959
+ "subsets": [
16960
+ "latin-ext",
16961
+ "cyrillic",
16962
+ "vietnamese",
16963
+ "latin"
16964
+ ],
16965
+ "version": "v5",
16966
+ "lastModified": "2019-01-10",
16967
+ "files": {
16968
+ "200": "http://fonts.gstatic.com/s/spectral/v5/rnCs-xNNww_2s0amA9v2s13GY_etWWIJ.ttf",
16969
+ "300": "http://fonts.gstatic.com/s/spectral/v5/rnCs-xNNww_2s0amA9uSsF3GY_etWWIJ.ttf",
16970
+ "500": "http://fonts.gstatic.com/s/spectral/v5/rnCs-xNNww_2s0amA9vKsV3GY_etWWIJ.ttf",
16971
+ "600": "http://fonts.gstatic.com/s/spectral/v5/rnCs-xNNww_2s0amA9vmtl3GY_etWWIJ.ttf",
16972
+ "700": "http://fonts.gstatic.com/s/spectral/v5/rnCs-xNNww_2s0amA9uCt13GY_etWWIJ.ttf",
16973
+ "800": "http://fonts.gstatic.com/s/spectral/v5/rnCs-xNNww_2s0amA9uetF3GY_etWWIJ.ttf",
16974
+ "200italic": "http://fonts.gstatic.com/s/spectral/v5/rnCu-xNNww_2s0amA9M8qrXHafOPXHIJErY.ttf",
16975
+ "300italic": "http://fonts.gstatic.com/s/spectral/v5/rnCu-xNNww_2s0amA9M8qtHEafOPXHIJErY.ttf",
16976
+ "regular": "http://fonts.gstatic.com/s/spectral/v5/rnCr-xNNww_2s0amA-M-mHnOSOuk.ttf",
16977
+ "italic": "http://fonts.gstatic.com/s/spectral/v5/rnCt-xNNww_2s0amA9M8kn3sTfukQHs.ttf",
16978
+ "500italic": "http://fonts.gstatic.com/s/spectral/v5/rnCu-xNNww_2s0amA9M8qonFafOPXHIJErY.ttf",
16979
+ "600italic": "http://fonts.gstatic.com/s/spectral/v5/rnCu-xNNww_2s0amA9M8qqXCafOPXHIJErY.ttf",
16980
+ "700italic": "http://fonts.gstatic.com/s/spectral/v5/rnCu-xNNww_2s0amA9M8qsHDafOPXHIJErY.ttf",
16981
+ "800italic": "http://fonts.gstatic.com/s/spectral/v5/rnCu-xNNww_2s0amA9M8qt3AafOPXHIJErY.ttf"
16982
+ }
16983
+ },
16984
+ {
16985
+ "kind": "webfonts#webfont",
16986
+ "family": "Spectral SC",
16987
+ "category": "serif",
16988
+ "variants": [
16989
+ "200",
16990
+ "200italic",
16991
+ "300",
16992
+ "300italic",
16993
+ "regular",
16994
+ "italic",
16995
+ "500",
16996
+ "500italic",
16997
+ "600",
16998
+ "600italic",
16999
+ "700",
17000
+ "700italic",
17001
+ "800",
17002
+ "800italic"
17003
+ ],
17004
+ "subsets": [
17005
+ "latin-ext",
17006
+ "cyrillic",
17007
+ "vietnamese",
17008
+ "latin"
17009
+ ],
17010
+ "version": "v4",
17011
+ "lastModified": "2018-12-13",
17012
+ "files": {
17013
+ "200": "http://fonts.gstatic.com/s/spectralsc/v4/Ktk0ALCRZonmalTgyPmRfs1qwkTXPYeVXJZB.ttf",
17014
+ "300": "http://fonts.gstatic.com/s/spectralsc/v4/Ktk0ALCRZonmalTgyPmRfs0OwUTXPYeVXJZB.ttf",
17015
+ "500": "http://fonts.gstatic.com/s/spectralsc/v4/Ktk0ALCRZonmalTgyPmRfs1WwETXPYeVXJZB.ttf",
17016
+ "600": "http://fonts.gstatic.com/s/spectralsc/v4/Ktk0ALCRZonmalTgyPmRfs16x0TXPYeVXJZB.ttf",
17017
+ "700": "http://fonts.gstatic.com/s/spectralsc/v4/Ktk0ALCRZonmalTgyPmRfs0exkTXPYeVXJZB.ttf",
17018
+ "800": "http://fonts.gstatic.com/s/spectralsc/v4/Ktk0ALCRZonmalTgyPmRfs0CxUTXPYeVXJZB.ttf",
17019
+ "200italic": "http://fonts.gstatic.com/s/spectralsc/v4/Ktk2ALCRZonmalTgyPmRfsWg26zWN4O3WYZB_sU.ttf",
17020
+ "300italic": "http://fonts.gstatic.com/s/spectralsc/v4/Ktk2ALCRZonmalTgyPmRfsWg28jVN4O3WYZB_sU.ttf",
17021
+ "regular": "http://fonts.gstatic.com/s/spectralsc/v4/KtkpALCRZonmalTgyPmRfvWi6WDfFpuc.ttf",
17022
+ "italic": "http://fonts.gstatic.com/s/spectralsc/v4/KtkrALCRZonmalTgyPmRfsWg42T9E4ucRY8.ttf",
17023
+ "500italic": "http://fonts.gstatic.com/s/spectralsc/v4/Ktk2ALCRZonmalTgyPmRfsWg25DUN4O3WYZB_sU.ttf",
17024
+ "600italic": "http://fonts.gstatic.com/s/spectralsc/v4/Ktk2ALCRZonmalTgyPmRfsWg27zTN4O3WYZB_sU.ttf",
17025
+ "700italic": "http://fonts.gstatic.com/s/spectralsc/v4/Ktk2ALCRZonmalTgyPmRfsWg29jSN4O3WYZB_sU.ttf",
17026
+ "800italic": "http://fonts.gstatic.com/s/spectralsc/v4/Ktk2ALCRZonmalTgyPmRfsWg28TRN4O3WYZB_sU.ttf"
17027
+ }
17028
+ },
17029
+ {
17030
+ "kind": "webfonts#webfont",
17031
+ "family": "Spicy Rice",
17032
+ "category": "display",
17033
+ "variants": [
17034
+ "regular"
17035
+ ],
17036
+ "subsets": [
17037
+ "latin"
17038
+ ],
17039
+ "version": "v7",
17040
+ "lastModified": "2019-01-10",
17041
+ "files": {
17042
+ "regular": "http://fonts.gstatic.com/s/spicyrice/v7/uK_24rSEd-Uqwk4jY1RyGv-2WkowRcc.ttf"
17043
+ }
17044
+ },
17045
+ {
17046
+ "kind": "webfonts#webfont",
17047
+ "family": "Spinnaker",
17048
+ "category": "sans-serif",
17049
+ "variants": [
17050
+ "regular"
17051
+ ],
17052
+ "subsets": [
17053
+ "latin-ext",
17054
+ "latin"
17055
+ ],
17056
+ "version": "v10",
17057
+ "lastModified": "2019-01-15",
17058
+ "files": {
17059
+ "regular": "http://fonts.gstatic.com/s/spinnaker/v10/w8gYH2oyX-I0_rvR6Hmn3HwLqOqSBg.ttf"
17060
+ }
17061
+ },
17062
+ {
17063
+ "kind": "webfonts#webfont",
17064
+ "family": "Spirax",
17065
+ "category": "display",
17066
+ "variants": [
17067
+ "regular"
17068
+ ],
17069
+ "subsets": [
17070
+ "latin"
17071
+ ],
17072
+ "version": "v7",
17073
+ "lastModified": "2018-12-13",
17074
+ "files": {
17075
+ "regular": "http://fonts.gstatic.com/s/spirax/v7/buE3poKgYNLy0F3cXktt-Csn-Q.ttf"
17076
+ }
17077
+ },
17078
+ {
17079
+ "kind": "webfonts#webfont",
17080
+ "family": "Squada One",
17081
+ "category": "display",
17082
+ "variants": [
17083
+ "regular"
17084
+ ],
17085
+ "subsets": [
17086
+ "latin"
17087
+ ],
17088
+ "version": "v7",
17089
+ "lastModified": "2019-01-15",
17090
+ "files": {
17091
+ "regular": "http://fonts.gstatic.com/s/squadaone/v7/BCasqZ8XsOrx4mcOk6MtWaA8WDBkHgs.ttf"
17092
+ }
17093
+ },
17094
+ {
17095
+ "kind": "webfonts#webfont",
17096
+ "family": "Sree Krushnadevaraya",
17097
+ "category": "serif",
17098
+ "variants": [
17099
+ "regular"
17100
+ ],
17101
+ "subsets": [
17102
+ "telugu",
17103
+ "latin"
17104
+ ],
17105
+ "version": "v6",
17106
+ "lastModified": "2018-12-13",
17107
+ "files": {
17108
+ "regular": "http://fonts.gstatic.com/s/sreekrushnadevaraya/v6/R70FjzQeifmPepmyQQjQ9kvwMkWYPfTA_EWb2FhQuXir.ttf"
17109
+ }
17110
+ },
17111
+ {
17112
+ "kind": "webfonts#webfont",
17113
+ "family": "Sriracha",
17114
+ "category": "handwriting",
17115
+ "variants": [
17116
+ "regular"
17117
+ ],
17118
+ "subsets": [
17119
+ "latin-ext",
17120
+ "thai",
17121
+ "vietnamese",
17122
+ "latin"
17123
+ ],
17124
+ "version": "v3",
17125
+ "lastModified": "2019-01-10",
17126
+ "files": {
17127
+ "regular": "http://fonts.gstatic.com/s/sriracha/v3/0nkrC9D4IuYBgWcI9ObYRQDioeb0.ttf"
17128
+ }
17129
+ },
17130
+ {
17131
+ "kind": "webfonts#webfont",
17132
+ "family": "Srisakdi",
17133
+ "category": "display",
17134
+ "variants": [
17135
+ "regular",
17136
+ "700"
17137
+ ],
17138
+ "subsets": [
17139
+ "latin-ext",
17140
+ "thai",
17141
+ "vietnamese",
17142
+ "latin"
17143
+ ],
17144
+ "version": "v2",
17145
+ "lastModified": "2018-11-08",
17146
+ "files": {
17147
+ "700": "http://fonts.gstatic.com/s/srisakdi/v2/yMJWMIlvdpDbkB0A-gIAUghxoNFxW0Hz.ttf",
17148
+ "regular": "http://fonts.gstatic.com/s/srisakdi/v2/yMJRMIlvdpDbkB0A-jq8fSx5i814.ttf"
17149
+ }
17150
+ },
17151
+ {
17152
+ "kind": "webfonts#webfont",
17153
+ "family": "Staatliches",
17154
+ "category": "display",
17155
+ "variants": [
17156
+ "regular"
17157
+ ],
17158
+ "subsets": [
17159
+ "latin-ext",
17160
+ "latin"
17161
+ ],
17162
+ "version": "v2",
17163
+ "lastModified": "2019-01-10",
17164
+ "files": {
17165
+ "regular": "http://fonts.gstatic.com/s/staatliches/v2/HI_OiY8KO6hCsQSoAPmtMbectJG9O9PS.ttf"
17166
+ }
17167
+ },
17168
+ {
17169
+ "kind": "webfonts#webfont",
17170
+ "family": "Stalemate",
17171
+ "category": "handwriting",
17172
+ "variants": [
17173
+ "regular"
17174
+ ],
17175
+ "subsets": [
17176
+ "latin-ext",
17177
+ "latin"
17178
+ ],
17179
+ "version": "v6",
17180
+ "lastModified": "2018-12-13",
17181
+ "files": {
17182
+ "regular": "http://fonts.gstatic.com/s/stalemate/v6/taiIGmZ_EJq97-UfkZRpuqSs8ZQpaQ.ttf"
17183
+ }
17184
+ },
17185
+ {
17186
+ "kind": "webfonts#webfont",
17187
+ "family": "Stalinist One",
17188
+ "category": "display",
17189
+ "variants": [
17190
+ "regular"
17191
+ ],
17192
+ "subsets": [
17193
+ "latin-ext",
17194
+ "cyrillic",
17195
+ "latin"
17196
+ ],
17197
+ "version": "v20",
17198
+ "lastModified": "2018-11-29",
17199
+ "files": {
17200
+ "regular": "http://fonts.gstatic.com/s/stalinistone/v20/MQpS-WezM9W4Dd7D3B7I-UT7eZ-UPyacPbo.ttf"
17201
+ }
17202
+ },
17203
+ {
17204
+ "kind": "webfonts#webfont",
17205
+ "family": "Stardos Stencil",
17206
+ "category": "display",
17207
+ "variants": [
17208
+ "regular",
17209
+ "700"
17210
+ ],
17211
+ "subsets": [
17212
+ "latin"
17213
+ ],
17214
+ "version": "v8",
17215
+ "lastModified": "2019-01-10",
17216
+ "files": {
17217
+ "700": "http://fonts.gstatic.com/s/stardosstencil/v8/X7n44bcuGPC8hrvEOHXOgaKCc2TpU3tTvg-t29HSHw.ttf",
17218
+ "regular": "http://fonts.gstatic.com/s/stardosstencil/v8/X7n94bcuGPC8hrvEOHXOgaKCc2TR71R3tiSx0g.ttf"
17219
+ }
17220
+ },
17221
+ {
17222
+ "kind": "webfonts#webfont",
17223
+ "family": "Stint Ultra Condensed",
17224
+ "category": "display",
17225
+ "variants": [
17226
+ "regular"
17227
+ ],
17228
+ "subsets": [
17229
+ "latin-ext",
17230
+ "latin"
17231
+ ],
17232
+ "version": "v7",
17233
+ "lastModified": "2018-12-13",
17234
+ "files": {
17235
+ "regular": "http://fonts.gstatic.com/s/stintultracondensed/v7/-W_gXIrsVjjeyEnPC45qD2NoFPtBE0xCh2A-qhUO2cNvdg.ttf"
17236
+ }
17237
+ },
17238
+ {
17239
+ "kind": "webfonts#webfont",
17240
+ "family": "Stint Ultra Expanded",
17241
+ "category": "display",
17242
+ "variants": [
17243
+ "regular"
17244
+ ],
17245
+ "subsets": [
17246
+ "latin-ext",
17247
+ "latin"
17248
+ ],
17249
+ "version": "v6",
17250
+ "lastModified": "2018-12-13",
17251
+ "files": {
17252
+ "regular": "http://fonts.gstatic.com/s/stintultraexpanded/v6/CSRg4yNNh-GbW3o3JkwoDcdvMKMf0oBAd0qoATQkWwam.ttf"
17253
+ }
17254
+ },
17255
+ {
17256
+ "kind": "webfonts#webfont",
17257
+ "family": "Stoke",
17258
+ "category": "serif",
17259
+ "variants": [
17260
+ "300",
17261
+ "regular"
17262
+ ],
17263
+ "subsets": [
17264
+ "latin-ext",
17265
+ "latin"
17266
+ ],
17267
+ "version": "v8",
17268
+ "lastModified": "2018-12-13",
17269
+ "files": {
17270
+ "300": "http://fonts.gstatic.com/s/stoke/v8/z7NXdRb7aTMfKNvFVgxC_pjcTeWU.ttf",
17271
+ "regular": "http://fonts.gstatic.com/s/stoke/v8/z7NadRb7aTMfKONpfihK1YTV.ttf"
17272
+ }
17273
+ },
17274
+ {
17275
+ "kind": "webfonts#webfont",
17276
+ "family": "Strait",
17277
+ "category": "sans-serif",
17278
+ "variants": [
17279
+ "regular"
17280
+ ],
17281
+ "subsets": [
17282
+ "latin"
17283
+ ],
17284
+ "version": "v6",
17285
+ "lastModified": "2019-01-10",
17286
+ "files": {
17287
+ "regular": "http://fonts.gstatic.com/s/strait/v6/DtViJxy6WaEr1LZzeDhtkl0U7w.ttf"
17288
+ }
17289
+ },
17290
+ {
17291
+ "kind": "webfonts#webfont",
17292
+ "family": "Stylish",
17293
+ "category": "sans-serif",
17294
+ "variants": [
17295
+ "regular"
17296
+ ],
17297
+ "subsets": [
17298
+ "korean",
17299
+ "latin"
17300
+ ],
17301
+ "version": "v5",
17302
+ "lastModified": "2018-11-29",
17303
+ "files": {
17304
+ "regular": "http://fonts.gstatic.com/s/stylish/v5/m8JSjfhPYriQkk7-fo35dLxEdmo.ttf"
17305
+ }
17306
+ },
17307
+ {
17308
+ "kind": "webfonts#webfont",
17309
+ "family": "Sue Ellen Francisco",
17310
+ "category": "handwriting",
17311
+ "variants": [
17312
+ "regular"
17313
+ ],
17314
+ "subsets": [
17315
+ "latin"
17316
+ ],
17317
+ "version": "v9",
17318
+ "lastModified": "2019-01-10",
17319
+ "files": {
17320
+ "regular": "http://fonts.gstatic.com/s/sueellenfrancisco/v9/wXK3E20CsoJ9j1DDkjHcQ5ZL8xRaxru9ropF2lqk9H4.ttf"
17321
+ }
17322
+ },
17323
+ {
17324
+ "kind": "webfonts#webfont",
17325
+ "family": "Suez One",
17326
+ "category": "serif",
17327
+ "variants": [
17328
+ "regular"
17329
+ ],
17330
+ "subsets": [
17331
+ "hebrew",
17332
+ "latin-ext",
17333
+ "latin"
17334
+ ],
17335
+ "version": "v3",
17336
+ "lastModified": "2019-01-10",
17337
+ "files": {
17338
+ "regular": "http://fonts.gstatic.com/s/suezone/v3/taiJGmd_EZ6rqscQgNFJkIqg-I0w.ttf"
17339
+ }
17340
+ },
17341
+ {
17342
+ "kind": "webfonts#webfont",
17343
+ "family": "Sumana",
17344
+ "category": "serif",
17345
+ "variants": [
17346
+ "regular",
17347
+ "700"
17348
+ ],
17349
+ "subsets": [
17350
+ "latin-ext",
17351
+ "devanagari",
17352
+ "latin"
17353
+ ],
17354
+ "version": "v3",
17355
+ "lastModified": "2019-01-10",
17356
+ "files": {
17357
+ "700": "http://fonts.gstatic.com/s/sumana/v3/4UaArE5TqRBjGj--TDfG54fN6ppsKg.ttf",
17358
+ "regular": "http://fonts.gstatic.com/s/sumana/v3/4UaDrE5TqRBjGj-G8Bji76zR4w.ttf"
17359
+ }
17360
+ },
17361
+ {
17362
+ "kind": "webfonts#webfont",
17363
+ "family": "Sunflower",
17364
+ "category": "sans-serif",
17365
+ "variants": [
17366
+ "300",
17367
+ "500",
17368
+ "700"
17369
+ ],
17370
+ "subsets": [
17371
+ "korean",
17372
+ "latin"
17373
+ ],
17374
+ "version": "v6",
17375
+ "lastModified": "2019-01-10",
17376
+ "files": {
17377
+ "300": "http://fonts.gstatic.com/s/sunflower/v6/RWmPoKeF8fUjqIj7Vc-06MfiqYsGBGBzCw.ttf",
17378
+ "500": "http://fonts.gstatic.com/s/sunflower/v6/RWmPoKeF8fUjqIj7Vc-0sMbiqYsGBGBzCw.ttf",
17379
+ "700": "http://fonts.gstatic.com/s/sunflower/v6/RWmPoKeF8fUjqIj7Vc-0-MDiqYsGBGBzCw.ttf"
17380
+ }
17381
+ },
17382
+ {
17383
+ "kind": "webfonts#webfont",
17384
+ "family": "Sunshiney",
17385
+ "category": "handwriting",
17386
+ "variants": [
17387
+ "regular"
17388
+ ],
17389
+ "subsets": [
17390
+ "latin"
17391
+ ],
17392
+ "version": "v9",
17393
+ "lastModified": "2018-12-13",
17394
+ "files": {
17395
+ "regular": "http://fonts.gstatic.com/s/sunshiney/v9/LDIwapGTLBwsS-wT4vcgE8moUePWkg.ttf"
17396
+ }
17397
+ },
17398
+ {
17399
+ "kind": "webfonts#webfont",
17400
+ "family": "Supermercado One",
17401
+ "category": "display",
17402
+ "variants": [
17403
+ "regular"
17404
+ ],
17405
+ "subsets": [
17406
+ "latin"
17407
+ ],
17408
+ "version": "v8",
17409
+ "lastModified": "2018-11-29",
17410
+ "files": {
17411
+ "regular": "http://fonts.gstatic.com/s/supermercadoone/v8/OpNXnpQWg8jc_xps_Gi14kVVEXOn60b3MClBRTs.ttf"
17412
+ }
17413
+ },
17414
+ {
17415
+ "kind": "webfonts#webfont",
17416
+ "family": "Sura",
17417
+ "category": "serif",
17418
+ "variants": [
17419
+ "regular",
17420
+ "700"
17421
+ ],
17422
+ "subsets": [
17423
+ "latin-ext",
17424
+ "devanagari",
17425
+ "latin"
17426
+ ],
17427
+ "version": "v3",
17428
+ "lastModified": "2018-12-13",
17429
+ "files": {
17430
+ "700": "http://fonts.gstatic.com/s/sura/v3/SZc53FL5PbyzLUJ7fz3GkUrS8DI.ttf",
17431
+ "regular": "http://fonts.gstatic.com/s/sura/v3/SZc23FL5PbyzFf5UWzXtjUM.ttf"
17432
+ }
17433
+ },
17434
+ {
17435
+ "kind": "webfonts#webfont",
17436
+ "family": "Suranna",
17437
+ "category": "serif",
17438
+ "variants": [
17439
+ "regular"
17440
+ ],
17441
+ "subsets": [
17442
+ "telugu",
17443
+ "latin"
17444
+ ],
17445
+ "version": "v6",
17446
+ "lastModified": "2019-01-10",
17447
+ "files": {
17448
+ "regular": "http://fonts.gstatic.com/s/suranna/v6/gokuH6ztGkFjWe58tBRZT2KmgP0.ttf"
17449
+ }
17450
+ },
17451
+ {
17452
+ "kind": "webfonts#webfont",
17453
+ "family": "Suravaram",
17454
+ "category": "serif",
17455
+ "variants": [
17456
+ "regular"
17457
+ ],
17458
+ "subsets": [
17459
+ "telugu",
17460
+ "latin"
17461
+ ],
17462
+ "version": "v5",
17463
+ "lastModified": "2018-11-29",
17464
+ "files": {
17465
+ "regular": "http://fonts.gstatic.com/s/suravaram/v5/_gP61R_usiY7SCym4xIAi261Qv9roQ.ttf"
17466
+ }
17467
+ },
17468
+ {
17469
+ "kind": "webfonts#webfont",
17470
+ "family": "Suwannaphum",
17471
+ "category": "display",
17472
+ "variants": [
17473
+ "regular"
17474
+ ],
17475
+ "subsets": [
17476
+ "khmer"
17477
+ ],
17478
+ "version": "v12",
17479
+ "lastModified": "2018-12-13",
17480
+ "files": {
17481
+ "regular": "http://fonts.gstatic.com/s/suwannaphum/v12/jAnCgHV7GtDvc8jbe8hXXIWl_8C0Wg2V.ttf"
17482
+ }
17483
+ },
17484
+ {
17485
+ "kind": "webfonts#webfont",
17486
+ "family": "Swanky and Moo Moo",
17487
+ "category": "handwriting",
17488
+ "variants": [
17489
+ "regular"
17490
+ ],
17491
+ "subsets": [
17492
+ "latin"
17493
+ ],
17494
+ "version": "v8",
17495
+ "lastModified": "2018-12-13",
17496
+ "files": {
17497
+ "regular": "http://fonts.gstatic.com/s/swankyandmoomoo/v8/flUlRrKz24IuWVI_WJYTYcqbEsMUZ3kUtbPkR64SYQ.ttf"
17498
+ }
17499
+ },
17500
+ {
17501
+ "kind": "webfonts#webfont",
17502
+ "family": "Syncopate",
17503
+ "category": "sans-serif",
17504
+ "variants": [
17505
+ "regular",
17506
+ "700"
17507
+ ],
17508
+ "subsets": [
17509
+ "latin"
17510
+ ],
17511
+ "version": "v10",
17512
+ "lastModified": "2019-01-15",
17513
+ "files": {
17514
+ "700": "http://fonts.gstatic.com/s/syncopate/v10/pe0pMIuPIYBCpEV5eFdKvtKaA_Rue1UwVg.ttf",
17515
+ "regular": "http://fonts.gstatic.com/s/syncopate/v10/pe0sMIuPIYBCpEV5eFdyAv2-C99ycg.ttf"
17516
+ }
17517
+ },
17518
+ {
17519
+ "kind": "webfonts#webfont",
17520
+ "family": "Tajawal",
17521
+ "category": "sans-serif",
17522
+ "variants": [
17523
+ "200",
17524
+ "300",
17525
+ "regular",
17526
+ "500",
17527
+ "700",
17528
+ "800",
17529
+ "900"
17530
+ ],
17531
+ "subsets": [
17532
+ "arabic",
17533
+ "latin"
17534
+ ],
17535
+ "version": "v2",
17536
+ "lastModified": "2019-01-15",
17537
+ "files": {
17538
+ "200": "http://fonts.gstatic.com/s/tajawal/v2/Iurf6YBj_oCad4k1l_6gLrZjiLlJ-G0.ttf",
17539
+ "300": "http://fonts.gstatic.com/s/tajawal/v2/Iurf6YBj_oCad4k1l5qjLrZjiLlJ-G0.ttf",
17540
+ "500": "http://fonts.gstatic.com/s/tajawal/v2/Iurf6YBj_oCad4k1l8KiLrZjiLlJ-G0.ttf",
17541
+ "700": "http://fonts.gstatic.com/s/tajawal/v2/Iurf6YBj_oCad4k1l4qkLrZjiLlJ-G0.ttf",
17542
+ "800": "http://fonts.gstatic.com/s/tajawal/v2/Iurf6YBj_oCad4k1l5anLrZjiLlJ-G0.ttf",
17543
+ "900": "http://fonts.gstatic.com/s/tajawal/v2/Iurf6YBj_oCad4k1l7KmLrZjiLlJ-G0.ttf",
17544
+ "regular": "http://fonts.gstatic.com/s/tajawal/v2/Iura6YBj_oCad4k1rzaLCr5IlLA.ttf"
17545
+ }
17546
+ },
17547
+ {
17548
+ "kind": "webfonts#webfont",
17549
+ "family": "Tangerine",
17550
+ "category": "handwriting",
17551
+ "variants": [
17552
+ "regular",
17553
+ "700"
17554
+ ],
17555
+ "subsets": [
17556
+ "latin"
17557
+ ],
17558
+ "version": "v10",
17559
+ "lastModified": "2019-01-15",
17560
+ "files": {
17561
+ "700": "http://fonts.gstatic.com/s/tangerine/v10/Iurd6Y5j_oScZZow4VO5srNpjJtM6G0t9w.ttf",
17562
+ "regular": "http://fonts.gstatic.com/s/tangerine/v10/IurY6Y5j_oScZZow4VOBDpxNhLBQ4Q.ttf"
17563
+ }
17564
+ },
17565
+ {
17566
+ "kind": "webfonts#webfont",
17567
+ "family": "Taprom",
17568
+ "category": "display",
17569
+ "variants": [
17570
+ "regular"
17571
+ ],
17572
+ "subsets": [
17573
+ "khmer"
17574
+ ],
17575
+ "version": "v10",
17576
+ "lastModified": "2018-12-13",
17577
+ "files": {
17578
+ "regular": "http://fonts.gstatic.com/s/taprom/v10/UcCn3F82JHycULbFQyk3-0kvHg.ttf"
17579
+ }
17580
+ },
17581
+ {
17582
+ "kind": "webfonts#webfont",
17583
+ "family": "Tauri",
17584
+ "category": "sans-serif",
17585
+ "variants": [
17586
+ "regular"
17587
+ ],
17588
+ "subsets": [
17589
+ "latin-ext",
17590
+ "latin"
17591
+ ],
17592
+ "version": "v7",
17593
+ "lastModified": "2019-01-10",
17594
+ "files": {
17595
+ "regular": "http://fonts.gstatic.com/s/tauri/v7/TwMA-IISS0AM3IpVWHU_TBqO.ttf"
17596
+ }
17597
+ },
17598
+ {
17599
+ "kind": "webfonts#webfont",
17600
+ "family": "Taviraj",
17601
+ "category": "serif",
17602
+ "variants": [
17603
+ "100",
17604
+ "100italic",
17605
+ "200",
17606
+ "200italic",
17607
+ "300",
17608
+ "300italic",
17609
+ "regular",
17610
+ "italic",
17611
+ "500",
17612
+ "500italic",
17613
+ "600",
17614
+ "600italic",
17615
+ "700",
17616
+ "700italic",
17617
+ "800",
17618
+ "800italic",
17619
+ "900",
17620
+ "900italic"
17621
+ ],
17622
+ "subsets": [
17623
+ "latin-ext",
17624
+ "thai",
17625
+ "vietnamese",
17626
+ "latin"
17627
+ ],
17628
+ "version": "v4",
17629
+ "lastModified": "2019-01-15",
17630
+ "files": {
17631
+ "100": "http://fonts.gstatic.com/s/taviraj/v4/ahcbv8Cj3ylylTXzRIorV8N1jU2gog.ttf",
17632
+ "200": "http://fonts.gstatic.com/s/taviraj/v4/ahccv8Cj3ylylTXzRCYKd-lbgUS5u0s.ttf",
17633
+ "300": "http://fonts.gstatic.com/s/taviraj/v4/ahccv8Cj3ylylTXzREIJd-lbgUS5u0s.ttf",
17634
+ "500": "http://fonts.gstatic.com/s/taviraj/v4/ahccv8Cj3ylylTXzRBoId-lbgUS5u0s.ttf",
17635
+ "600": "http://fonts.gstatic.com/s/taviraj/v4/ahccv8Cj3ylylTXzRDYPd-lbgUS5u0s.ttf",
17636
+ "700": "http://fonts.gstatic.com/s/taviraj/v4/ahccv8Cj3ylylTXzRFIOd-lbgUS5u0s.ttf",
17637
+ "800": "http://fonts.gstatic.com/s/taviraj/v4/ahccv8Cj3ylylTXzRE4Nd-lbgUS5u0s.ttf",
17638
+ "900": "http://fonts.gstatic.com/s/taviraj/v4/ahccv8Cj3ylylTXzRGoMd-lbgUS5u0s.ttf",
17639
+ "100italic": "http://fonts.gstatic.com/s/taviraj/v4/ahcdv8Cj3ylylTXzTOwTM8lxr0iwolLl.ttf",
17640
+ "200italic": "http://fonts.gstatic.com/s/taviraj/v4/ahcev8Cj3ylylTXzTOwTn-hRhWa8q0v8ag.ttf",
17641
+ "300italic": "http://fonts.gstatic.com/s/taviraj/v4/ahcev8Cj3ylylTXzTOwT--tRhWa8q0v8ag.ttf",
17642
+ "regular": "http://fonts.gstatic.com/s/taviraj/v4/ahcZv8Cj3ylylTXzfO4hU-FwnU0.ttf",
17643
+ "italic": "http://fonts.gstatic.com/s/taviraj/v4/ahcbv8Cj3ylylTXzTOwrV8N1jU2gog.ttf",
17644
+ "500italic": "http://fonts.gstatic.com/s/taviraj/v4/ahcev8Cj3ylylTXzTOwTo-pRhWa8q0v8ag.ttf",
17645
+ "600italic": "http://fonts.gstatic.com/s/taviraj/v4/ahcev8Cj3ylylTXzTOwTj-1RhWa8q0v8ag.ttf",
17646
+ "700italic": "http://fonts.gstatic.com/s/taviraj/v4/ahcev8Cj3ylylTXzTOwT6-xRhWa8q0v8ag.ttf",
17647
+ "800italic": "http://fonts.gstatic.com/s/taviraj/v4/ahcev8Cj3ylylTXzTOwT9-9RhWa8q0v8ag.ttf",
17648
+ "900italic": "http://fonts.gstatic.com/s/taviraj/v4/ahcev8Cj3ylylTXzTOwT0-5RhWa8q0v8ag.ttf"
17649
+ }
17650
+ },
17651
+ {
17652
+ "kind": "webfonts#webfont",
17653
+ "family": "Teko",
17654
+ "category": "sans-serif",
17655
+ "variants": [
17656
+ "300",
17657
+ "regular",
17658
+ "500",
17659
+ "600",
17660
+ "700"
17661
+ ],
17662
+ "subsets": [
17663
+ "latin-ext",
17664
+ "devanagari",
17665
+ "latin"
17666
+ ],
17667
+ "version": "v7",
17668
+ "lastModified": "2017-10-10",
17669
+ "files": {
17670
+ "300": "http://fonts.gstatic.com/s/teko/v7/LYjCdG7kmE0gdQhfgCM.ttf",
17671
+ "500": "http://fonts.gstatic.com/s/teko/v7/LYjCdG7kmE0gdVBegCM.ttf",
17672
+ "600": "http://fonts.gstatic.com/s/teko/v7/LYjCdG7kmE0gdXxZgCM.ttf",
17673
+ "700": "http://fonts.gstatic.com/s/teko/v7/LYjCdG7kmE0gdRhYgCM.ttf",
17674
+ "regular": "http://fonts.gstatic.com/s/teko/v7/LYjNdG7kmE0gTaQ.ttf"
17675
+ }
17676
+ },
17677
+ {
17678
+ "kind": "webfonts#webfont",
17679
+ "family": "Telex",
17680
+ "category": "sans-serif",
17681
+ "variants": [
17682
+ "regular"
17683
+ ],
17684
+ "subsets": [
17685
+ "latin-ext",
17686
+ "latin"
17687
+ ],
17688
+ "version": "v7",
17689
+ "lastModified": "2019-01-10",
17690
+ "files": {
17691
+ "regular": "http://fonts.gstatic.com/s/telex/v7/ieVw2Y1fKWmIO9fTB1piKFIf.ttf"
17692
+ }
17693
+ },
17694
+ {
17695
+ "kind": "webfonts#webfont",
17696
+ "family": "Tenali Ramakrishna",
17697
+ "category": "sans-serif",
17698
+ "variants": [
17699
+ "regular"
17700
+ ],
17701
+ "subsets": [
17702
+ "telugu",
17703
+ "latin"
17704
+ ],
17705
+ "version": "v4",
17706
+ "lastModified": "2017-10-09",
17707
+ "files": {
17708
+ "regular": "http://fonts.gstatic.com/s/tenaliramakrishna/v4/raxgHj6Yt9gAN3LLKs0BZVMo8jmwn1-8KA.ttf"
17709
+ }
17710
+ },
17711
+ {
17712
+ "kind": "webfonts#webfont",
17713
+ "family": "Tenor Sans",
17714
+ "category": "sans-serif",
17715
+ "variants": [
17716
+ "regular"
17717
+ ],
17718
+ "subsets": [
17719
+ "latin-ext",
17720
+ "cyrillic",
17721
+ "latin"
17722
+ ],
17723
+ "version": "v10",
17724
+ "lastModified": "2019-01-10",
17725
+ "files": {
17726
+ "regular": "http://fonts.gstatic.com/s/tenorsans/v10/bx6ANxqUneKx06UkIXISr3JyC22IyqI.ttf"
17727
+ }
17728
+ },
17729
+ {
17730
+ "kind": "webfonts#webfont",
17731
+ "family": "Text Me One",
17732
+ "category": "sans-serif",
17733
+ "variants": [
17734
+ "regular"
17735
+ ],
17736
+ "subsets": [
17737
+ "latin-ext",
17738
+ "latin"
17739
+ ],
17740
+ "version": "v6",
17741
+ "lastModified": "2018-12-13",
17742
+ "files": {
17743
+ "regular": "http://fonts.gstatic.com/s/textmeone/v6/i7dOIFdlayuLUvgoFvHQFWZcalayGhyV.ttf"
17744
+ }
17745
+ },
17746
+ {
17747
+ "kind": "webfonts#webfont",
17748
+ "family": "Thasadith",
17749
+ "category": "sans-serif",
17750
+ "variants": [
17751
+ "regular",
17752
+ "italic",
17753
+ "700",
17754
+ "700italic"
17755
+ ],
17756
+ "subsets": [
17757
+ "latin-ext",
17758
+ "thai",
17759
+ "vietnamese",
17760
+ "latin"
17761
+ ],
17762
+ "version": "v2",
17763
+ "lastModified": "2018-12-13",
17764
+ "files": {
17765
+ "700": "http://fonts.gstatic.com/s/thasadith/v2/mtG94_1TIqPYrd_f5R1gDGYw2A6yHk9d8w.ttf",
17766
+ "regular": "http://fonts.gstatic.com/s/thasadith/v2/mtG44_1TIqPYrd_f5R1YsEkU0CWuFw.ttf",
17767
+ "italic": "http://fonts.gstatic.com/s/thasadith/v2/mtG-4_1TIqPYrd_f5R1oskMQ8iC-F1ZE.ttf",
17768
+ "700italic": "http://fonts.gstatic.com/s/thasadith/v2/mtGj4_1TIqPYrd_f5R1osnus3QS2PEpN8zxA.ttf"
17769
+ }
17770
+ },
17771
+ {
17772
+ "kind": "webfonts#webfont",
17773
+ "family": "The Girl Next Door",
17774
+ "category": "handwriting",
17775
+ "variants": [
17776
+ "regular"
17777
+ ],
17778
+ "subsets": [
17779
+ "latin"
17780
+ ],
17781
+ "version": "v9",
17782
+ "lastModified": "2019-01-10",
17783
+ "files": {
17784
+ "regular": "http://fonts.gstatic.com/s/thegirlnextdoor/v9/pe0zMJCIMIsBjFxqYBIcZ6_OI5oFHCYIV7t7w6bE2A.ttf"
17785
+ }
17786
+ },
17787
+ {
17788
+ "kind": "webfonts#webfont",
17789
+ "family": "Tienne",
17790
+ "category": "serif",
17791
+ "variants": [
17792
+ "regular",
17793
+ "700",
17794
+ "900"
17795
+ ],
17796
+ "subsets": [
17797
+ "latin"
17798
+ ],
17799
+ "version": "v11",
17800
+ "lastModified": "2019-01-10",
17801
+ "files": {
17802
+ "700": "http://fonts.gstatic.com/s/tienne/v11/AYCJpX7pe9YCRP0zLGzjQHhuzvef5Q.ttf",
17803
+ "900": "http://fonts.gstatic.com/s/tienne/v11/AYCJpX7pe9YCRP0zFG7jQHhuzvef5Q.ttf",
17804
+ "regular": "http://fonts.gstatic.com/s/tienne/v11/AYCKpX7pe9YCRP0LkEPHSFNyxw.ttf"
17805
+ }
17806
+ },
17807
+ {
17808
+ "kind": "webfonts#webfont",
17809
+ "family": "Tillana",
17810
+ "category": "handwriting",
17811
+ "variants": [
17812
+ "regular",
17813
+ "500",
17814
+ "600",
17815
+ "700",
17816
+ "800"
17817
+ ],
17818
+ "subsets": [
17819
+ "latin-ext",
17820
+ "devanagari",
17821
+ "latin"
17822
+ ],
17823
+ "version": "v4",
17824
+ "lastModified": "2018-12-13",
17825
+ "files": {
17826
+ "500": "http://fonts.gstatic.com/s/tillana/v4/VuJ0dNvf35P4qJ1OQFL-HIlMZRNcp0o.ttf",
17827
+ "600": "http://fonts.gstatic.com/s/tillana/v4/VuJ0dNvf35P4qJ1OQH75HIlMZRNcp0o.ttf",
17828
+ "700": "http://fonts.gstatic.com/s/tillana/v4/VuJ0dNvf35P4qJ1OQBr4HIlMZRNcp0o.ttf",
17829
+ "800": "http://fonts.gstatic.com/s/tillana/v4/VuJ0dNvf35P4qJ1OQAb7HIlMZRNcp0o.ttf",
17830
+ "regular": "http://fonts.gstatic.com/s/tillana/v4/VuJxdNvf35P4qJ1OeKbXOIFneRo.ttf"
17831
+ }
17832
+ },
17833
+ {
17834
+ "kind": "webfonts#webfont",
17835
+ "family": "Timmana",
17836
+ "category": "sans-serif",
17837
+ "variants": [
17838
+ "regular"
17839
+ ],
17840
+ "subsets": [
17841
+ "telugu",
17842
+ "latin"
17843
+ ],
17844
+ "version": "v3",
17845
+ "lastModified": "2018-12-13",
17846
+ "files": {
17847
+ "regular": "http://fonts.gstatic.com/s/timmana/v3/6xKvdShfL9yK-rvpCmvbKHwJUOM.ttf"
17848
+ }
17849
+ },
17850
+ {
17851
+ "kind": "webfonts#webfont",
17852
+ "family": "Tinos",
17853
+ "category": "serif",
17854
+ "variants": [
17855
+ "regular",
17856
+ "italic",
17857
+ "700",
17858
+ "700italic"
17859
+ ],
17860
+ "subsets": [
17861
+ "hebrew",
17862
+ "latin-ext",
17863
+ "greek-ext",
17864
+ "cyrillic-ext",
17865
+ "cyrillic",
17866
+ "greek",
17867
+ "vietnamese",
17868
+ "latin"
17869
+ ],
17870
+ "version": "v12",
17871
+ "lastModified": "2019-01-15",
17872
+ "files": {
17873
+ "700": "http://fonts.gstatic.com/s/tinos/v12/buE1poGnedXvwj1AW0Fp2i43-cxL.ttf",
17874
+ "regular": "http://fonts.gstatic.com/s/tinos/v12/buE4poGnedXvwgX8dGVh8TI-.ttf",
17875
+ "italic": "http://fonts.gstatic.com/s/tinos/v12/buE2poGnedXvwjX-fmFD9CI-4NU.ttf",
17876
+ "700italic": "http://fonts.gstatic.com/s/tinos/v12/buEzpoGnedXvwjX-Rt1s0CoV_NxLeiw.ttf"
17877
+ }
17878
+ },
17879
+ {
17880
+ "kind": "webfonts#webfont",
17881
+ "family": "Titan One",
17882
+ "category": "display",
17883
+ "variants": [
17884
+ "regular"
17885
+ ],
17886
+ "subsets": [
17887
+ "latin-ext",
17888
+ "latin"
17889
+ ],
17890
+ "version": "v6",
17891
+ "lastModified": "2019-01-15",
17892
+ "files": {
17893
+ "regular": "http://fonts.gstatic.com/s/titanone/v6/mFTzWbsGxbbS_J5cQcjykzIn2Etikg.ttf"
17894
+ }
17895
+ },
17896
+ {
17897
+ "kind": "webfonts#webfont",
17898
+ "family": "Titillium Web",
17899
+ "category": "sans-serif",
17900
+ "variants": [
17901
+ "200",
17902
+ "200italic",
17903
+ "300",
17904
+ "300italic",
17905
+ "regular",
17906
+ "italic",
17907
+ "600",
17908
+ "600italic",
17909
+ "700",
17910
+ "700italic",
17911
+ "900"
17912
+ ],
17913
+ "subsets": [
17914
+ "latin-ext",
17915
+ "latin"
17916
+ ],
17917
+ "version": "v6",
17918
+ "lastModified": "2017-10-11",
17919
+ "files": {
17920
+ "200": "http://fonts.gstatic.com/s/titilliumweb/v6/NaPDcZTIAOhVxoMyOr9n_E7ffAzHKIw.ttf",
17921
+ "300": "http://fonts.gstatic.com/s/titilliumweb/v6/NaPDcZTIAOhVxoMyOr9n_E7ffGjEKIw.ttf",
17922
+ "600": "http://fonts.gstatic.com/s/titilliumweb/v6/NaPDcZTIAOhVxoMyOr9n_E7ffBzCKIw.ttf",
17923
+ "700": "http://fonts.gstatic.com/s/titilliumweb/v6/NaPDcZTIAOhVxoMyOr9n_E7ffHjDKIw.ttf",
17924
+ "900": "http://fonts.gstatic.com/s/titilliumweb/v6/NaPDcZTIAOhVxoMyOr9n_E7ffEDBKIw.ttf",
17925
+ "200italic": "http://fonts.gstatic.com/s/titilliumweb/v6/NaPFcZTIAOhVxoMyOr9n_E7fdMbewI1zZg.ttf",
17926
+ "300italic": "http://fonts.gstatic.com/s/titilliumweb/v6/NaPFcZTIAOhVxoMyOr9n_E7fdMbepI5zZg.ttf",
17927
+ "regular": "http://fonts.gstatic.com/s/titilliumweb/v6/NaPecZTIAOhVxoMyOr9n_E7fRMQ.ttf",
17928
+ "italic": "http://fonts.gstatic.com/s/titilliumweb/v6/NaPAcZTIAOhVxoMyOr9n_E7fdMbmCA.ttf",
17929
+ "600italic": "http://fonts.gstatic.com/s/titilliumweb/v6/NaPFcZTIAOhVxoMyOr9n_E7fdMbe0IhzZg.ttf",
17930
+ "700italic": "http://fonts.gstatic.com/s/titilliumweb/v6/NaPFcZTIAOhVxoMyOr9n_E7fdMbetIlzZg.ttf"
17931
+ }
17932
+ },
17933
+ {
17934
+ "kind": "webfonts#webfont",
17935
+ "family": "Trade Winds",
17936
+ "category": "display",
17937
+ "variants": [
17938
+ "regular"
17939
+ ],
17940
+ "subsets": [
17941
+ "latin"
17942
+ ],
17943
+ "version": "v7",
17944
+ "lastModified": "2018-12-13",
17945
+ "files": {
17946
+ "regular": "http://fonts.gstatic.com/s/tradewinds/v7/AYCPpXPpYNIIT7h8-QenM3Jq7PKP5Z_G.ttf"
17947
+ }
17948
+ },
17949
+ {
17950
+ "kind": "webfonts#webfont",
17951
+ "family": "Trirong",
17952
+ "category": "serif",
17953
+ "variants": [
17954
+ "100",
17955
+ "100italic",
17956
+ "200",
17957
+ "200italic",
17958
+ "300",
17959
+ "300italic",
17960
+ "regular",
17961
+ "italic",
17962
+ "500",
17963
+ "500italic",
17964
+ "600",
17965
+ "600italic",
17966
+ "700",
17967
+ "700italic",
17968
+ "800",
17969
+ "800italic",
17970
+ "900",
17971
+ "900italic"
17972
+ ],
17973
+ "subsets": [
17974
+ "latin-ext",
17975
+ "thai",
17976
+ "vietnamese",
17977
+ "latin"
17978
+ ],
17979
+ "version": "v4",
17980
+ "lastModified": "2019-01-10",
17981
+ "files": {
17982
+ "100": "http://fonts.gstatic.com/s/trirong/v4/7r3EqXNgp8wxdOdOl-go3YRl6ujngw.ttf",
17983
+ "200": "http://fonts.gstatic.com/s/trirong/v4/7r3DqXNgp8wxdOdOl0QJ_a5L5uH-mts.ttf",
17984
+ "300": "http://fonts.gstatic.com/s/trirong/v4/7r3DqXNgp8wxdOdOlyAK_a5L5uH-mts.ttf",
17985
+ "500": "http://fonts.gstatic.com/s/trirong/v4/7r3DqXNgp8wxdOdOl3gL_a5L5uH-mts.ttf",
17986
+ "600": "http://fonts.gstatic.com/s/trirong/v4/7r3DqXNgp8wxdOdOl1QM_a5L5uH-mts.ttf",
17987
+ "700": "http://fonts.gstatic.com/s/trirong/v4/7r3DqXNgp8wxdOdOlzAN_a5L5uH-mts.ttf",
17988
+ "800": "http://fonts.gstatic.com/s/trirong/v4/7r3DqXNgp8wxdOdOlywO_a5L5uH-mts.ttf",
17989
+ "900": "http://fonts.gstatic.com/s/trirong/v4/7r3DqXNgp8wxdOdOlwgP_a5L5uH-mts.ttf",
17990
+ "100italic": "http://fonts.gstatic.com/s/trirong/v4/7r3CqXNgp8wxdOdOn44QuY5hyO33g8IY.ttf",
17991
+ "200italic": "http://fonts.gstatic.com/s/trirong/v4/7r3BqXNgp8wxdOdOn44QFa9B4sP7itsB5g.ttf",
17992
+ "300italic": "http://fonts.gstatic.com/s/trirong/v4/7r3BqXNgp8wxdOdOn44QcaxB4sP7itsB5g.ttf",
17993
+ "regular": "http://fonts.gstatic.com/s/trirong/v4/7r3GqXNgp8wxdOdOr4wi2aZg-ug.ttf",
17994
+ "italic": "http://fonts.gstatic.com/s/trirong/v4/7r3EqXNgp8wxdOdOn44o3YRl6ujngw.ttf",
17995
+ "500italic": "http://fonts.gstatic.com/s/trirong/v4/7r3BqXNgp8wxdOdOn44QKa1B4sP7itsB5g.ttf",
17996
+ "600italic": "http://fonts.gstatic.com/s/trirong/v4/7r3BqXNgp8wxdOdOn44QBapB4sP7itsB5g.ttf",
17997
+ "700italic": "http://fonts.gstatic.com/s/trirong/v4/7r3BqXNgp8wxdOdOn44QYatB4sP7itsB5g.ttf",
17998
+ "800italic": "http://fonts.gstatic.com/s/trirong/v4/7r3BqXNgp8wxdOdOn44QfahB4sP7itsB5g.ttf",
17999
+ "900italic": "http://fonts.gstatic.com/s/trirong/v4/7r3BqXNgp8wxdOdOn44QWalB4sP7itsB5g.ttf"
18000
+ }
18001
+ },
18002
+ {
18003
+ "kind": "webfonts#webfont",
18004
+ "family": "Trocchi",
18005
+ "category": "serif",
18006
+ "variants": [
18007
+ "regular"
18008
+ ],
18009
+ "subsets": [
18010
+ "latin-ext",
18011
+ "latin"
18012
+ ],
18013
+ "version": "v7",
18014
+ "lastModified": "2019-01-10",
18015
+ "files": {
18016
+ "regular": "http://fonts.gstatic.com/s/trocchi/v7/qWcqB6WkuIDxDZLcDrtUvMeTYD0.ttf"
18017
+ }
18018
+ },
18019
+ {
18020
+ "kind": "webfonts#webfont",
18021
+ "family": "Trochut",
18022
+ "category": "display",
18023
+ "variants": [
18024
+ "regular",
18025
+ "italic",
18026
+ "700"
18027
+ ],
18028
+ "subsets": [
18029
+ "latin"
18030
+ ],
18031
+ "version": "v6",
18032
+ "lastModified": "2018-11-29",
18033
+ "files": {
18034
+ "700": "http://fonts.gstatic.com/s/trochut/v6/CHymV-fDDlP9bDIw3sinWVokMnIllmA.ttf",
18035
+ "regular": "http://fonts.gstatic.com/s/trochut/v6/CHyjV-fDDlP9bDIw5nSIfVIPLns.ttf",
18036
+ "italic": "http://fonts.gstatic.com/s/trochut/v6/CHyhV-fDDlP9bDIw1naCeXAKPns8jw.ttf"
18037
+ }
18038
+ },
18039
+ {
18040
+ "kind": "webfonts#webfont",
18041
+ "family": "Trykker",
18042
+ "category": "serif",
18043
+ "variants": [
18044
+ "regular"
18045
+ ],
18046
+ "subsets": [
18047
+ "latin-ext",
18048
+ "latin"
18049
+ ],
18050
+ "version": "v7",
18051
+ "lastModified": "2018-12-13",
18052
+ "files": {
18053
+ "regular": "http://fonts.gstatic.com/s/trykker/v7/KtktALyWZJXudUPzhNnoOd2j22U.ttf"
18054
+ }
18055
+ },
18056
+ {
18057
+ "kind": "webfonts#webfont",
18058
+ "family": "Tulpen One",
18059
+ "category": "display",
18060
+ "variants": [
18061
+ "regular"
18062
+ ],
18063
+ "subsets": [
18064
+ "latin"
18065
+ ],
18066
+ "version": "v8",
18067
+ "lastModified": "2018-12-13",
18068
+ "files": {
18069
+ "regular": "http://fonts.gstatic.com/s/tulpenone/v8/dFa6ZfeC474skLgesc0CWj0w_HyIRlE.ttf"
18070
+ }
18071
+ },
18072
+ {
18073
+ "kind": "webfonts#webfont",
18074
+ "family": "Ubuntu",
18075
+ "category": "sans-serif",
18076
+ "variants": [
18077
+ "300",
18078
+ "300italic",
18079
+ "regular",
18080
+ "italic",
18081
+ "500",
18082
+ "500italic",
18083
+ "700",
18084
+ "700italic"
18085
+ ],
18086
+ "subsets": [
18087
+ "latin-ext",
18088
+ "greek-ext",
18089
+ "cyrillic-ext",
18090
+ "cyrillic",
18091
+ "greek",
18092
+ "latin"
18093
+ ],
18094
+ "version": "v12",
18095
+ "lastModified": "2018-08-01",
18096
+ "files": {
18097
+ "300": "http://fonts.gstatic.com/s/ubuntu/v12/4iCv6KVjbNBYlgoC1CzTtw.ttf",
18098
+ "500": "http://fonts.gstatic.com/s/ubuntu/v12/4iCv6KVjbNBYlgoCjC3Ttw.ttf",
18099
+ "700": "http://fonts.gstatic.com/s/ubuntu/v12/4iCv6KVjbNBYlgoCxCvTtw.ttf",
18100
+ "300italic": "http://fonts.gstatic.com/s/ubuntu/v12/4iCp6KVjbNBYlgoKejZftWyI.ttf",
18101
+ "regular": "http://fonts.gstatic.com/s/ubuntu/v12/4iCs6KVjbNBYlgo6eA.ttf",
18102
+ "italic": "http://fonts.gstatic.com/s/ubuntu/v12/4iCu6KVjbNBYlgoKeg7z.ttf",
18103
+ "500italic": "http://fonts.gstatic.com/s/ubuntu/v12/4iCp6KVjbNBYlgoKejYHtGyI.ttf",
18104
+ "700italic": "http://fonts.gstatic.com/s/ubuntu/v12/4iCp6KVjbNBYlgoKejZPsmyI.ttf"
18105
+ }
18106
+ },
18107
+ {
18108
+ "kind": "webfonts#webfont",
18109
+ "family": "Ubuntu Condensed",
18110
+ "category": "sans-serif",
18111
+ "variants": [
18112
+ "regular"
18113
+ ],
18114
+ "subsets": [
18115
+ "latin-ext",
18116
+ "greek-ext",
18117
+ "cyrillic-ext",
18118
+ "cyrillic",
18119
+ "greek",
18120
+ "latin"
18121
+ ],
18122
+ "version": "v8",
18123
+ "lastModified": "2017-10-10",
18124
+ "files": {
18125
+ "regular": "http://fonts.gstatic.com/s/ubuntucondensed/v8/u-4k0rCzjgs5J7oXnJcM_0kACGMtf-c.ttf"
18126
+ }
18127
+ },
18128
+ {
18129
+ "kind": "webfonts#webfont",
18130
+ "family": "Ubuntu Mono",
18131
+ "category": "monospace",
18132
+ "variants": [
18133
+ "regular",
18134
+ "italic",
18135
+ "700",
18136
+ "700italic"
18137
+ ],
18138
+ "subsets": [
18139
+ "latin-ext",
18140
+ "greek-ext",
18141
+ "cyrillic-ext",
18142
+ "cyrillic",
18143
+ "greek",
18144
+ "latin"
18145
+ ],
18146
+ "version": "v8",
18147
+ "lastModified": "2019-01-15",
18148
+ "files": {
18149
+ "700": "http://fonts.gstatic.com/s/ubuntumono/v8/KFO-CneDtsqEr0keqCMhbC-BL-Hyv4xGemO1.ttf",
18150
+ "regular": "http://fonts.gstatic.com/s/ubuntumono/v8/KFOjCneDtsqEr0keqCMhbBc9AMX6lJBP.ttf",
18151
+ "italic": "http://fonts.gstatic.com/s/ubuntumono/v8/KFOhCneDtsqEr0keqCMhbCc_CsHYkYBPY3o.ttf",
18152
+ "700italic": "http://fonts.gstatic.com/s/ubuntumono/v8/KFO8CneDtsqEr0keqCMhbCc_Mn33tYhkf3O1GVg.ttf"
18153
+ }
18154
+ },
18155
+ {
18156
+ "kind": "webfonts#webfont",
18157
+ "family": "Ultra",
18158
+ "category": "serif",
18159
+ "variants": [
18160
+ "regular"
18161
+ ],
18162
+ "subsets": [
18163
+ "latin"
18164
+ ],
18165
+ "version": "v11",
18166
+ "lastModified": "2019-01-15",
18167
+ "files": {
18168
+ "regular": "http://fonts.gstatic.com/s/ultra/v11/zOLy4prXmrtY-tT6yLOD6NxF.ttf"
18169
+ }
18170
+ },
18171
+ {
18172
+ "kind": "webfonts#webfont",
18173
+ "family": "Uncial Antiqua",
18174
+ "category": "display",
18175
+ "variants": [
18176
+ "regular"
18177
+ ],
18178
+ "subsets": [
18179
+ "latin"
18180
+ ],
18181
+ "version": "v6",
18182
+ "lastModified": "2018-12-13",
18183
+ "files": {
18184
+ "regular": "http://fonts.gstatic.com/s/uncialantiqua/v6/N0bM2S5WOex4OUbESzoESK-i-PfRS5VBBSSF.ttf"
18185
+ }
18186
+ },
18187
+ {
18188
+ "kind": "webfonts#webfont",
18189
+ "family": "Underdog",
18190
+ "category": "display",
18191
+ "variants": [
18192
+ "regular"
18193
+ ],
18194
+ "subsets": [
18195
+ "latin-ext",
18196
+ "cyrillic",
18197
+ "latin"
18198
+ ],
18199
+ "version": "v7",
18200
+ "lastModified": "2018-12-13",
18201
+ "files": {
18202
+ "regular": "http://fonts.gstatic.com/s/underdog/v7/CHygV-jCElj7diMroVSiU14GN2Il.ttf"
18203
+ }
18204
+ },
18205
+ {
18206
+ "kind": "webfonts#webfont",
18207
+ "family": "Unica One",
18208
+ "category": "display",
18209
+ "variants": [
18210
+ "regular"
18211
+ ],
18212
+ "subsets": [
18213
+ "latin-ext",
18214
+ "latin"
18215
+ ],
18216
+ "version": "v6",
18217
+ "lastModified": "2019-01-15",
18218
+ "files": {
18219
+ "regular": "http://fonts.gstatic.com/s/unicaone/v6/DPEuYwWHyAYGVTSmalshdtffuEY7FA.ttf"
18220
+ }
18221
+ },
18222
+ {
18223
+ "kind": "webfonts#webfont",
18224
+ "family": "UnifrakturCook",
18225
+ "category": "display",
18226
+ "variants": [
18227
+ "700"
18228
+ ],
18229
+ "subsets": [
18230
+ "latin"
18231
+ ],
18232
+ "version": "v10",
18233
+ "lastModified": "2018-12-13",
18234
+ "files": {
18235
+ "700": "http://fonts.gstatic.com/s/unifrakturcook/v10/IurA6Yli8YOdcoky-0PTTdkm56n05Uw13ILXs-h6.ttf"
18236
+ }
18237
+ },
18238
+ {
18239
+ "kind": "webfonts#webfont",
18240
+ "family": "UnifrakturMaguntia",
18241
+ "category": "display",
18242
+ "variants": [
18243
+ "regular"
18244
+ ],
18245
+ "subsets": [
18246
+ "latin"
18247
+ ],
18248
+ "version": "v9",
18249
+ "lastModified": "2019-01-10",
18250
+ "files": {
18251
+ "regular": "http://fonts.gstatic.com/s/unifrakturmaguntia/v9/WWXPlieVYwiGNomYU-ciRLRvEmK7oaVun2xNNgNa1A.ttf"
18252
+ }
18253
+ },
18254
+ {
18255
+ "kind": "webfonts#webfont",
18256
+ "family": "Unkempt",
18257
+ "category": "display",
18258
+ "variants": [
18259
+ "regular",
18260
+ "700"
18261
+ ],
18262
+ "subsets": [
18263
+ "latin"
18264
+ ],
18265
+ "version": "v10",
18266
+ "lastModified": "2019-01-10",
18267
+ "files": {
18268
+ "700": "http://fonts.gstatic.com/s/unkempt/v10/2EbiL-Z2DFZue0DScTow1zWzq_5uT84.ttf",
18269
+ "regular": "http://fonts.gstatic.com/s/unkempt/v10/2EbnL-Z2DFZue0DSSYYf8z2Yt_c.ttf"
18270
+ }
18271
+ },
18272
+ {
18273
+ "kind": "webfonts#webfont",
18274
+ "family": "Unlock",
18275
+ "category": "display",
18276
+ "variants": [
18277
+ "regular"
18278
+ ],
18279
+ "subsets": [
18280
+ "latin"
18281
+ ],
18282
+ "version": "v8",
18283
+ "lastModified": "2018-11-29",
18284
+ "files": {
18285
+ "regular": "http://fonts.gstatic.com/s/unlock/v8/7Au-p_8ykD-cDl7GKAjSwkUVOQ.ttf"
18286
+ }
18287
+ },
18288
+ {
18289
+ "kind": "webfonts#webfont",
18290
+ "family": "Unna",
18291
+ "category": "serif",
18292
+ "variants": [
18293
+ "regular",
18294
+ "italic",
18295
+ "700",
18296
+ "700italic"
18297
+ ],
18298
+ "subsets": [
18299
+ "latin-ext",
18300
+ "latin"
18301
+ ],
18302
+ "version": "v12",
18303
+ "lastModified": "2019-01-15",
18304
+ "files": {
18305
+ "700": "http://fonts.gstatic.com/s/unna/v12/AYCLpXzofN0NMiQusGnpRFpr3vc.ttf",
18306
+ "regular": "http://fonts.gstatic.com/s/unna/v12/AYCEpXzofN0NCpgBlGHCWFM.ttf",
18307
+ "italic": "http://fonts.gstatic.com/s/unna/v12/AYCKpXzofN0NOpoLkEPHSFNyxw.ttf",
18308
+ "700italic": "http://fonts.gstatic.com/s/unna/v12/AYCJpXzofN0NOpozLGzjQHhuzvef5Q.ttf"
18309
+ }
18310
+ },
18311
+ {
18312
+ "kind": "webfonts#webfont",
18313
+ "family": "VT323",
18314
+ "category": "monospace",
18315
+ "variants": [
18316
+ "regular"
18317
+ ],
18318
+ "subsets": [
18319
+ "latin-ext",
18320
+ "vietnamese",
18321
+ "latin"
18322
+ ],
18323
+ "version": "v10",
18324
+ "lastModified": "2019-01-15",
18325
+ "files": {
18326
+ "regular": "http://fonts.gstatic.com/s/vt323/v10/pxiKyp0ihIEF2hsYHpT2dkNE.ttf"
18327
+ }
18328
+ },
18329
+ {
18330
+ "kind": "webfonts#webfont",
18331
+ "family": "Vampiro One",
18332
+ "category": "display",
18333
+ "variants": [
18334
+ "regular"
18335
+ ],
18336
+ "subsets": [
18337
+ "latin-ext",
18338
+ "latin"
18339
+ ],
18340
+ "version": "v9",
18341
+ "lastModified": "2019-01-10",
18342
+ "files": {
18343
+ "regular": "http://fonts.gstatic.com/s/vampiroone/v9/gokqH6DoDl5yXvJytFsdLkqnsvhIor3K.ttf"
18344
+ }
18345
+ },
18346
+ {
18347
+ "kind": "webfonts#webfont",
18348
+ "family": "Varela",
18349
+ "category": "sans-serif",
18350
+ "variants": [
18351
+ "regular"
18352
+ ],
18353
+ "subsets": [
18354
+ "latin-ext",
18355
+ "latin"
18356
+ ],
18357
+ "version": "v9",
18358
+ "lastModified": "2019-01-15",
18359
+ "files": {
18360
+ "regular": "http://fonts.gstatic.com/s/varela/v9/DPEtYwqExx0AWHXJBBQFfvzDsQ.ttf"
18361
+ }
18362
+ },
18363
+ {
18364
+ "kind": "webfonts#webfont",
18365
+ "family": "Varela Round",
18366
+ "category": "sans-serif",
18367
+ "variants": [
18368
+ "regular"
18369
+ ],
18370
+ "subsets": [
18371
+ "hebrew",
18372
+ "latin-ext",
18373
+ "vietnamese",
18374
+ "latin"
18375
+ ],
18376
+ "version": "v10",
18377
+ "lastModified": "2018-10-08",
18378
+ "files": {
18379
+ "regular": "http://fonts.gstatic.com/s/varelaround/v10/w8gdH283Tvk__Lua32TysjIvoA.ttf"
18380
+ }
18381
+ },
18382
+ {
18383
+ "kind": "webfonts#webfont",
18384
+ "family": "Vast Shadow",
18385
+ "category": "display",
18386
+ "variants": [
18387
+ "regular"
18388
+ ],
18389
+ "subsets": [
18390
+ "latin"
18391
+ ],
18392
+ "version": "v8",
18393
+ "lastModified": "2019-01-10",
18394
+ "files": {
18395
+ "regular": "http://fonts.gstatic.com/s/vastshadow/v8/pe0qMImKOZ1V62ZwbVY9dfe6Kdpickwp.ttf"
18396
+ }
18397
+ },
18398
+ {
18399
+ "kind": "webfonts#webfont",
18400
+ "family": "Vesper Libre",
18401
+ "category": "serif",
18402
+ "variants": [
18403
+ "regular",
18404
+ "500",
18405
+ "700",
18406
+ "900"
18407
+ ],
18408
+ "subsets": [
18409
+ "latin-ext",
18410
+ "devanagari",
18411
+ "latin"
18412
+ ],
18413
+ "version": "v10",
18414
+ "lastModified": "2019-01-10",
18415
+ "files": {
18416
+ "500": "http://fonts.gstatic.com/s/vesperlibre/v10/bx6dNxyWnf-uxPdXDHUD_RdA-2ap0okKXKvPlw.ttf",
18417
+ "700": "http://fonts.gstatic.com/s/vesperlibre/v10/bx6dNxyWnf-uxPdXDHUD_RdAs2Cp0okKXKvPlw.ttf",
18418
+ "900": "http://fonts.gstatic.com/s/vesperlibre/v10/bx6dNxyWnf-uxPdXDHUD_RdAi2Kp0okKXKvPlw.ttf",
18419
+ "regular": "http://fonts.gstatic.com/s/vesperlibre/v10/bx6CNxyWnf-uxPdXDHUD_Rd4D0-N2qIWVQ.ttf"
18420
+ }
18421
+ },
18422
+ {
18423
+ "kind": "webfonts#webfont",
18424
+ "family": "Vibur",
18425
+ "category": "handwriting",
18426
+ "variants": [
18427
+ "regular"
18428
+ ],
18429
+ "subsets": [
18430
+ "latin"
18431
+ ],
18432
+ "version": "v9",
18433
+ "lastModified": "2019-01-10",
18434
+ "files": {
18435
+ "regular": "http://fonts.gstatic.com/s/vibur/v9/DPEiYwmEzw0QRjTpLjoJd-Xa.ttf"
18436
+ }
18437
+ },
18438
+ {
18439
+ "kind": "webfonts#webfont",
18440
+ "family": "Vidaloka",
18441
+ "category": "serif",
18442
+ "variants": [
18443
+ "regular"
18444
+ ],
18445
+ "subsets": [
18446
+ "latin"
18447
+ ],
18448
+ "version": "v11",
18449
+ "lastModified": "2019-01-15",
18450
+ "files": {
18451
+ "regular": "http://fonts.gstatic.com/s/vidaloka/v11/7cHrv4c3ipenMKlEass8yn4hnCci.ttf"
18452
+ }
18453
+ },
18454
+ {
18455
+ "kind": "webfonts#webfont",
18456
+ "family": "Viga",
18457
+ "category": "sans-serif",
18458
+ "variants": [
18459
+ "regular"
18460
+ ],
18461
+ "subsets": [
18462
+ "latin-ext",
18463
+ "latin"
18464
+ ],
18465
+ "version": "v7",
18466
+ "lastModified": "2019-01-15",
18467
+ "files": {
18468
+ "regular": "http://fonts.gstatic.com/s/viga/v7/xMQbuFFdSaiX_QIjD4e2OX8.ttf"
18469
+ }
18470
+ },
18471
+ {
18472
+ "kind": "webfonts#webfont",
18473
+ "family": "Voces",
18474
+ "category": "display",
18475
+ "variants": [
18476
+ "regular"
18477
+ ],
18478
+ "subsets": [
18479
+ "latin-ext",
18480
+ "latin"
18481
+ ],
18482
+ "version": "v8",
18483
+ "lastModified": "2019-01-10",
18484
+ "files": {
18485
+ "regular": "http://fonts.gstatic.com/s/voces/v8/-F6_fjJyLyU8d4PBBG7YpzlJ.ttf"
18486
+ }
18487
+ },
18488
+ {
18489
+ "kind": "webfonts#webfont",
18490
+ "family": "Volkhov",
18491
+ "category": "serif",
18492
+ "variants": [
18493
+ "regular",
18494
+ "italic",
18495
+ "700",
18496
+ "700italic"
18497
+ ],
18498
+ "subsets": [
18499
+ "latin"
18500
+ ],
18501
+ "version": "v10",
18502
+ "lastModified": "2019-01-15",
18503
+ "files": {
18504
+ "700": "http://fonts.gstatic.com/s/volkhov/v10/SlGVmQieoJcKemNeeY4hoHRYbDQUego.ttf",
18505
+ "regular": "http://fonts.gstatic.com/s/volkhov/v10/SlGQmQieoJcKemNeQTIOhHxzcD0.ttf",
18506
+ "italic": "http://fonts.gstatic.com/s/volkhov/v10/SlGSmQieoJcKemNecTAEgF52YD0NYw.ttf",
18507
+ "700italic": "http://fonts.gstatic.com/s/volkhov/v10/SlGXmQieoJcKemNecTA8PHFSaBYRagrQrA.ttf"
18508
+ }
18509
+ },
18510
+ {
18511
+ "kind": "webfonts#webfont",
18512
+ "family": "Vollkorn",
18513
+ "category": "serif",
18514
+ "variants": [
18515
+ "regular",
18516
+ "italic",
18517
+ "600",
18518
+ "600italic",
18519
+ "700",
18520
+ "700italic",
18521
+ "900",
18522
+ "900italic"
18523
+ ],
18524
+ "subsets": [
18525
+ "latin-ext",
18526
+ "cyrillic-ext",
18527
+ "cyrillic",
18528
+ "greek",
18529
+ "vietnamese",
18530
+ "latin"
18531
+ ],
18532
+ "version": "v8",
18533
+ "lastModified": "2017-11-21",
18534
+ "files": {
18535
+ "600": "http://fonts.gstatic.com/s/vollkorn/v8/0yb6GDoxxrvAnPhYGxH2TGg-.ttf",
18536
+ "700": "http://fonts.gstatic.com/s/vollkorn/v8/0yb6GDoxxrvAnPhYGxGSTWg-.ttf",
18537
+ "900": "http://fonts.gstatic.com/s/vollkorn/v8/0yb6GDoxxrvAnPhYGxGqT2g-.ttf",
18538
+ "regular": "http://fonts.gstatic.com/s/vollkorn/v8/0yb9GDoxxrvAnPhYGyku.ttf",
18539
+ "italic": "http://fonts.gstatic.com/s/vollkorn/v8/0yb7GDoxxrvAnPhYGxksaEg.ttf",
18540
+ "600italic": "http://fonts.gstatic.com/s/vollkorn/v8/0yb4GDoxxrvAnPhYGxksUJA6jBA.ttf",
18541
+ "700italic": "http://fonts.gstatic.com/s/vollkorn/v8/0yb4GDoxxrvAnPhYGxksUPQ7jBA.ttf",
18542
+ "900italic": "http://fonts.gstatic.com/s/vollkorn/v8/0yb4GDoxxrvAnPhYGxksUMw5jBA.ttf"
18543
+ }
18544
+ },
18545
+ {
18546
+ "kind": "webfonts#webfont",
18547
+ "family": "Vollkorn SC",
18548
+ "category": "serif",
18549
+ "variants": [
18550
+ "regular",
18551
+ "600",
18552
+ "700",
18553
+ "900"
18554
+ ],
18555
+ "subsets": [
18556
+ "latin-ext",
18557
+ "cyrillic-ext",
18558
+ "cyrillic",
18559
+ "vietnamese",
18560
+ "latin"
18561
+ ],
18562
+ "version": "v2",
18563
+ "lastModified": "2018-11-29",
18564
+ "files": {
18565
+ "600": "http://fonts.gstatic.com/s/vollkornsc/v2/j8_y6-zQ3rXpceZj9cqnVimhGluqYbPN5Yjn.ttf",
18566
+ "700": "http://fonts.gstatic.com/s/vollkornsc/v2/j8_y6-zQ3rXpceZj9cqnVinFG1uqYbPN5Yjn.ttf",
18567
+ "900": "http://fonts.gstatic.com/s/vollkornsc/v2/j8_y6-zQ3rXpceZj9cqnVin9GVuqYbPN5Yjn.ttf",
18568
+ "regular": "http://fonts.gstatic.com/s/vollkornsc/v2/j8_v6-zQ3rXpceZj9cqnVhF5NH-iSq_E.ttf"
18569
+ }
18570
+ },
18571
+ {
18572
+ "kind": "webfonts#webfont",
18573
+ "family": "Voltaire",
18574
+ "category": "sans-serif",
18575
+ "variants": [
18576
+ "regular"
18577
+ ],
18578
+ "subsets": [
18579
+ "latin"
18580
+ ],
18581
+ "version": "v8",
18582
+ "lastModified": "2019-01-10",
18583
+ "files": {
18584
+ "regular": "http://fonts.gstatic.com/s/voltaire/v8/1Pttg8PcRfSblAvGvQooYKVnBOif.ttf"
18585
+ }
18586
+ },
18587
+ {
18588
+ "kind": "webfonts#webfont",
18589
+ "family": "Waiting for the Sunrise",
18590
+ "category": "handwriting",
18591
+ "variants": [
18592
+ "regular"
18593
+ ],
18594
+ "subsets": [
18595
+ "latin"
18596
+ ],
18597
+ "version": "v9",
18598
+ "lastModified": "2019-01-10",
18599
+ "files": {
18600
+ "regular": "http://fonts.gstatic.com/s/waitingforthesunrise/v9/WBL1rFvOYl9CEv2i1mO6KUW8RKWJ2zoXoz5JsYZQ9h_ZYk5J.ttf"
18601
+ }
18602
+ },
18603
+ {
18604
+ "kind": "webfonts#webfont",
18605
+ "family": "Wallpoet",
18606
+ "category": "display",
18607
+ "variants": [
18608
+ "regular"
18609
+ ],
18610
+ "subsets": [
18611
+ "latin"
18612
+ ],
18613
+ "version": "v10",
18614
+ "lastModified": "2019-01-10",
18615
+ "files": {
18616
+ "regular": "http://fonts.gstatic.com/s/wallpoet/v10/f0X10em2_8RnXVVdUNbu7cXP8L8G.ttf"
18617
+ }
18618
+ },
18619
+ {
18620
+ "kind": "webfonts#webfont",
18621
+ "family": "Walter Turncoat",
18622
+ "category": "handwriting",
18623
+ "variants": [
18624
+ "regular"
18625
+ ],
18626
+ "subsets": [
18627
+ "latin"
18628
+ ],
18629
+ "version": "v9",
18630
+ "lastModified": "2019-01-10",
18631
+ "files": {
18632
+ "regular": "http://fonts.gstatic.com/s/walterturncoat/v9/snfys0Gs98ln43n0d-14ULoToe67YB2dQ5ZPqQ.ttf"
18633
+ }
18634
+ },
18635
+ {
18636
+ "kind": "webfonts#webfont",
18637
+ "family": "Warnes",
18638
+ "category": "display",
18639
+ "variants": [
18640
+ "regular"
18641
+ ],
18642
+ "subsets": [
18643
+ "latin-ext",
18644
+ "latin"
18645
+ ],
18646
+ "version": "v8",
18647
+ "lastModified": "2018-11-29",
18648
+ "files": {
18649
+ "regular": "http://fonts.gstatic.com/s/warnes/v8/pONn1hc0GsW6sW5OpiC2o6Lkqg.ttf"
18650
+ }
18651
+ },
18652
+ {
18653
+ "kind": "webfonts#webfont",
18654
+ "family": "Wellfleet",
18655
+ "category": "display",
18656
+ "variants": [
18657
+ "regular"
18658
+ ],
18659
+ "subsets": [
18660
+ "latin-ext",
18661
+ "latin"
18662
+ ],
18663
+ "version": "v6",
18664
+ "lastModified": "2018-12-13",
18665
+ "files": {
18666
+ "regular": "http://fonts.gstatic.com/s/wellfleet/v6/nuF7D_LfQJb3VYgX6eyT42aLDhO2HA.ttf"
18667
+ }
18668
+ },
18669
+ {
18670
+ "kind": "webfonts#webfont",
18671
+ "family": "Wendy One",
18672
+ "category": "sans-serif",
18673
+ "variants": [
18674
+ "regular"
18675
+ ],
18676
+ "subsets": [
18677
+ "latin-ext",
18678
+ "latin"
18679
+ ],
18680
+ "version": "v7",
18681
+ "lastModified": "2019-01-10",
18682
+ "files": {
18683
+ "regular": "http://fonts.gstatic.com/s/wendyone/v7/2sDcZGJOipXfgfXV5wgDb2-4C7wFZQ.ttf"
18684
+ }
18685
+ },
18686
+ {
18687
+ "kind": "webfonts#webfont",
18688
+ "family": "Wire One",
18689
+ "category": "sans-serif",
18690
+ "variants": [
18691
+ "regular"
18692
+ ],
18693
+ "subsets": [
18694
+ "latin"
18695
+ ],
18696
+ "version": "v9",
18697
+ "lastModified": "2019-01-10",
18698
+ "files": {
18699
+ "regular": "http://fonts.gstatic.com/s/wireone/v9/qFdH35Wah5htUhV75WGiWdrCwwcJ.ttf"
18700
+ }
18701
+ },
18702
+ {
18703
+ "kind": "webfonts#webfont",
18704
+ "family": "Work Sans",
18705
+ "category": "sans-serif",
18706
+ "variants": [
18707
+ "100",
18708
+ "200",
18709
+ "300",
18710
+ "regular",
18711
+ "500",
18712
+ "600",
18713
+ "700",
18714
+ "800",
18715
+ "900"
18716
+ ],
18717
+ "subsets": [
18718
+ "latin-ext",
18719
+ "latin"
18720
+ ],
18721
+ "version": "v3",
18722
+ "lastModified": "2017-10-10",
18723
+ "files": {
18724
+ "100": "http://fonts.gstatic.com/s/worksans/v3/QGYqz_wNahGAdqQ43Rh3H6Ds.ttf",
18725
+ "200": "http://fonts.gstatic.com/s/worksans/v3/QGYpz_wNahGAdqQ43Rh3s4HMnw.ttf",
18726
+ "300": "http://fonts.gstatic.com/s/worksans/v3/QGYpz_wNahGAdqQ43Rh314LMnw.ttf",
18727
+ "500": "http://fonts.gstatic.com/s/worksans/v3/QGYpz_wNahGAdqQ43Rh3j4PMnw.ttf",
18728
+ "600": "http://fonts.gstatic.com/s/worksans/v3/QGYpz_wNahGAdqQ43Rh3o4TMnw.ttf",
18729
+ "700": "http://fonts.gstatic.com/s/worksans/v3/QGYpz_wNahGAdqQ43Rh3x4XMnw.ttf",
18730
+ "800": "http://fonts.gstatic.com/s/worksans/v3/QGYpz_wNahGAdqQ43Rh324bMnw.ttf",
18731
+ "900": "http://fonts.gstatic.com/s/worksans/v3/QGYpz_wNahGAdqQ43Rh3_4fMnw.ttf",
18732
+ "regular": "http://fonts.gstatic.com/s/worksans/v3/QGYsz_wNahGAdqQ43RhPew.ttf"
18733
+ }
18734
+ },
18735
+ {
18736
+ "kind": "webfonts#webfont",
18737
+ "family": "Yanone Kaffeesatz",
18738
+ "category": "sans-serif",
18739
+ "variants": [
18740
+ "200",
18741
+ "300",
18742
+ "regular",
18743
+ "700"
18744
+ ],
18745
+ "subsets": [
18746
+ "latin-ext",
18747
+ "cyrillic",
18748
+ "vietnamese",
18749
+ "latin"
18750
+ ],
18751
+ "version": "v9",
18752
+ "lastModified": "2017-10-10",
18753
+ "files": {
18754
+ "200": "http://fonts.gstatic.com/s/yanonekaffeesatz/v9/3y9-6aknfjLm_3lMKjiMgmUUYBs04YfUPs-t.ttf",
18755
+ "300": "http://fonts.gstatic.com/s/yanonekaffeesatz/v9/3y9-6aknfjLm_3lMKjiMgmUUYBs04YewPc-t.ttf",
18756
+ "700": "http://fonts.gstatic.com/s/yanonekaffeesatz/v9/3y9-6aknfjLm_3lMKjiMgmUUYBs04YegOs-t.ttf",
18757
+ "regular": "http://fonts.gstatic.com/s/yanonekaffeesatz/v9/3y976aknfjLm_3lMKjiMgmUUYBs04b8c.ttf"
18758
+ }
18759
+ },
18760
+ {
18761
+ "kind": "webfonts#webfont",
18762
+ "family": "Yantramanav",
18763
+ "category": "sans-serif",
18764
+ "variants": [
18765
+ "100",
18766
+ "300",
18767
+ "regular",
18768
+ "500",
18769
+ "700",
18770
+ "900"
18771
+ ],
18772
+ "subsets": [
18773
+ "latin-ext",
18774
+ "devanagari",
18775
+ "latin"
18776
+ ],
18777
+ "version": "v4",
18778
+ "lastModified": "2019-01-15",
18779
+ "files": {
18780
+ "100": "http://fonts.gstatic.com/s/yantramanav/v4/flU-Rqu5zY00QEpyWJYWN5-QXeNzDB41rZg.ttf",
18781
+ "300": "http://fonts.gstatic.com/s/yantramanav/v4/flUhRqu5zY00QEpyWJYWN59Yf8NZIhI8tIHh.ttf",
18782
+ "500": "http://fonts.gstatic.com/s/yantramanav/v4/flUhRqu5zY00QEpyWJYWN58AfsNZIhI8tIHh.ttf",
18783
+ "700": "http://fonts.gstatic.com/s/yantramanav/v4/flUhRqu5zY00QEpyWJYWN59IeMNZIhI8tIHh.ttf",
18784
+ "900": "http://fonts.gstatic.com/s/yantramanav/v4/flUhRqu5zY00QEpyWJYWN59wesNZIhI8tIHh.ttf",
18785
+ "regular": "http://fonts.gstatic.com/s/yantramanav/v4/flU8Rqu5zY00QEpyWJYWN6f0V-dRCQ41.ttf"
18786
+ }
18787
+ },
18788
+ {
18789
+ "kind": "webfonts#webfont",
18790
+ "family": "Yatra One",
18791
+ "category": "display",
18792
+ "variants": [
18793
+ "regular"
18794
+ ],
18795
+ "subsets": [
18796
+ "latin-ext",
18797
+ "devanagari",
18798
+ "latin"
18799
+ ],
18800
+ "version": "v5",
18801
+ "lastModified": "2019-01-10",
18802
+ "files": {
18803
+ "regular": "http://fonts.gstatic.com/s/yatraone/v5/C8ch4copsHzj8p7NaF0xw1OBbRDvXw.ttf"
18804
+ }
18805
+ },
18806
+ {
18807
+ "kind": "webfonts#webfont",
18808
+ "family": "Yellowtail",
18809
+ "category": "handwriting",
18810
+ "variants": [
18811
+ "regular"
18812
+ ],
18813
+ "subsets": [
18814
+ "latin"
18815
+ ],
18816
+ "version": "v9",
18817
+ "lastModified": "2019-01-15",
18818
+ "files": {
18819
+ "regular": "http://fonts.gstatic.com/s/yellowtail/v9/OZpGg_pnoDtINPfRIlLotlzNwED-b4g.ttf"
18820
+ }
18821
+ },
18822
+ {
18823
+ "kind": "webfonts#webfont",
18824
+ "family": "Yeon Sung",
18825
+ "category": "display",
18826
+ "variants": [
18827
+ "regular"
18828
+ ],
18829
+ "subsets": [
18830
+ "korean",
18831
+ "latin"
18832
+ ],
18833
+ "version": "v5",
18834
+ "lastModified": "2018-11-08",
18835
+ "files": {
18836
+ "regular": "http://fonts.gstatic.com/s/yeonsung/v5/QldMNTpbohAGtsJvUn6xSVNazqx2xg.ttf"
18837
+ }
18838
+ },
18839
+ {
18840
+ "kind": "webfonts#webfont",
18841
+ "family": "Yeseva One",
18842
+ "category": "display",
18843
+ "variants": [
18844
+ "regular"
18845
+ ],
18846
+ "subsets": [
18847
+ "latin-ext",
18848
+ "cyrillic-ext",
18849
+ "cyrillic",
18850
+ "vietnamese",
18851
+ "latin"
18852
+ ],
18853
+ "version": "v13",
18854
+ "lastModified": "2019-01-10",
18855
+ "files": {
18856
+ "regular": "http://fonts.gstatic.com/s/yesevaone/v13/OpNJno4ck8vc-xYpwWWxpipfWhXD00c.ttf"
18857
+ }
18858
+ },
18859
+ {
18860
+ "kind": "webfonts#webfont",
18861
+ "family": "Yesteryear",
18862
+ "category": "handwriting",
18863
+ "variants": [
18864
+ "regular"
18865
+ ],
18866
+ "subsets": [
18867
+ "latin"
18868
+ ],
18869
+ "version": "v7",
18870
+ "lastModified": "2019-01-10",
18871
+ "files": {
18872
+ "regular": "http://fonts.gstatic.com/s/yesteryear/v7/dg4g_p78rroaKl8kRKo1r7wHTwonmyw.ttf"
18873
+ }
18874
+ },
18875
+ {
18876
+ "kind": "webfonts#webfont",
18877
+ "family": "Yrsa",
18878
+ "category": "serif",
18879
+ "variants": [
18880
+ "300",
18881
+ "regular",
18882
+ "500",
18883
+ "600",
18884
+ "700"
18885
+ ],
18886
+ "subsets": [
18887
+ "latin-ext",
18888
+ "latin"
18889
+ ],
18890
+ "version": "v4",
18891
+ "lastModified": "2019-01-15",
18892
+ "files": {
18893
+ "300": "http://fonts.gstatic.com/s/yrsa/v4/wlpxgwnQFlxs3af93IQ73W5OcCk.ttf",
18894
+ "500": "http://fonts.gstatic.com/s/yrsa/v4/wlpxgwnQFlxs3f_83IQ73W5OcCk.ttf",
18895
+ "600": "http://fonts.gstatic.com/s/yrsa/v4/wlpxgwnQFlxs3dP73IQ73W5OcCk.ttf",
18896
+ "700": "http://fonts.gstatic.com/s/yrsa/v4/wlpxgwnQFlxs3bf63IQ73W5OcCk.ttf",
18897
+ "regular": "http://fonts.gstatic.com/s/yrsa/v4/wlp-gwnQFlxs5QvV-IwQwWc.ttf"
18898
+ }
18899
+ },
18900
+ {
18901
+ "kind": "webfonts#webfont",
18902
+ "family": "ZCOOL KuaiLe",
18903
+ "category": "display",
18904
+ "variants": [
18905
+ "regular"
18906
+ ],
18907
+ "subsets": [
18908
+ "chinese-simplified",
18909
+ "latin"
18910
+ ],
18911
+ "version": "v2",
18912
+ "lastModified": "2019-01-10",
18913
+ "files": {
18914
+ "regular": "http://fonts.gstatic.com/s/zcoolkuaile/v2/tssqApdaRQokwFjFJjvM6h2WpozzoXhC2g.ttf"
18915
+ }
18916
+ },
18917
+ {
18918
+ "kind": "webfonts#webfont",
18919
+ "family": "ZCOOL QingKe HuangYou",
18920
+ "category": "display",
18921
+ "variants": [
18922
+ "regular"
18923
+ ],
18924
+ "subsets": [
18925
+ "chinese-simplified",
18926
+ "latin"
18927
+ ],
18928
+ "version": "v2",
18929
+ "lastModified": "2019-01-10",
18930
+ "files": {
18931
+ "regular": "http://fonts.gstatic.com/s/zcoolqingkehuangyou/v2/2Eb5L_R5IXJEWhD3AOhSvFC554MOOahI4mRIi_28c8bHWA.ttf"
18932
+ }
18933
+ },
18934
+ {
18935
+ "kind": "webfonts#webfont",
18936
+ "family": "ZCOOL XiaoWei",
18937
+ "category": "serif",
18938
+ "variants": [
18939
+ "regular"
18940
+ ],
18941
+ "subsets": [
18942
+ "chinese-simplified",
18943
+ "latin"
18944
+ ],
18945
+ "version": "v2",
18946
+ "lastModified": "2019-01-10",
18947
+ "files": {
18948
+ "regular": "http://fonts.gstatic.com/s/zcoolxiaowei/v2/i7dMIFFrTRywPpUVX9_RJyM1YFKQHwyVd3U.ttf"
18949
+ }
18950
+ },
18951
+ {
18952
+ "kind": "webfonts#webfont",
18953
+ "family": "Zeyada",
18954
+ "category": "handwriting",
18955
+ "variants": [
18956
+ "regular"
18957
+ ],
18958
+ "subsets": [
18959
+ "latin"
18960
+ ],
18961
+ "version": "v8",
18962
+ "lastModified": "2019-01-10",
18963
+ "files": {
18964
+ "regular": "http://fonts.gstatic.com/s/zeyada/v8/11hAGpPTxVPUbgZDNGatWKaZ3g.ttf"
18965
+ }
18966
+ },
18967
+ {
18968
+ "kind": "webfonts#webfont",
18969
+ "family": "Zilla Slab",
18970
+ "category": "serif",
18971
+ "variants": [
18972
+ "300",
18973
+ "300italic",
18974
+ "regular",
18975
+ "italic",
18976
+ "500",
18977
+ "500italic",
18978
+ "600",
18979
+ "600italic",
18980
+ "700",
18981
+ "700italic"
18982
+ ],
18983
+ "subsets": [
18984
+ "latin-ext",
18985
+ "latin"
18986
+ ],
18987
+ "version": "v4",
18988
+ "lastModified": "2019-01-15",
18989
+ "files": {
18990
+ "300": "http://fonts.gstatic.com/s/zillaslab/v4/dFa5ZfeM_74wlPZtksIFYpEY2HSjWlhzbaw.ttf",
18991
+ "500": "http://fonts.gstatic.com/s/zillaslab/v4/dFa5ZfeM_74wlPZtksIFYskZ2HSjWlhzbaw.ttf",
18992
+ "600": "http://fonts.gstatic.com/s/zillaslab/v4/dFa5ZfeM_74wlPZtksIFYuUe2HSjWlhzbaw.ttf",
18993
+ "700": "http://fonts.gstatic.com/s/zillaslab/v4/dFa5ZfeM_74wlPZtksIFYoEf2HSjWlhzbaw.ttf",
18994
+ "300italic": "http://fonts.gstatic.com/s/zillaslab/v4/dFanZfeM_74wlPZtksIFaj8CVHapXnp2fazkfg.ttf",
18995
+ "regular": "http://fonts.gstatic.com/s/zillaslab/v4/dFa6ZfeM_74wlPZtksIFWj0w_HyIRlE.ttf",
18996
+ "italic": "http://fonts.gstatic.com/s/zillaslab/v4/dFa4ZfeM_74wlPZtksIFaj86-F6NVlFqdA.ttf",
18997
+ "500italic": "http://fonts.gstatic.com/s/zillaslab/v4/dFanZfeM_74wlPZtksIFaj8CDHepXnp2fazkfg.ttf",
18998
+ "600italic": "http://fonts.gstatic.com/s/zillaslab/v4/dFanZfeM_74wlPZtksIFaj8CIHCpXnp2fazkfg.ttf",
18999
+ "700italic": "http://fonts.gstatic.com/s/zillaslab/v4/dFanZfeM_74wlPZtksIFaj8CRHGpXnp2fazkfg.ttf"
19000
+ }
19001
+ },
19002
+ {
19003
+ "kind": "webfonts#webfont",
19004
+ "family": "Zilla Slab Highlight",
19005
+ "category": "display",
19006
+ "variants": [
19007
+ "regular",
19008
+ "700"
19009
+ ],
19010
+ "subsets": [
19011
+ "latin-ext",
19012
+ "latin"
19013
+ ],
19014
+ "version": "v6",
19015
+ "lastModified": "2018-12-13",
19016
+ "files": {
19017
+ "700": "http://fonts.gstatic.com/s/zillaslabhighlight/v6/gNMUW2BrTpK8-inLtBJgMMfbm6uNVDvRxiP0TET4YmVF0Mb6.ttf",
19018
+ "regular": "http://fonts.gstatic.com/s/zillaslabhighlight/v6/gNMbW2BrTpK8-inLtBJgMMfbm6uNVDvRxhtIY2DwSXlM.ttf"
19019
+ }
19020
+ }
19021
+ ]
19022
+ }
assets/images/chosen-sprite.png ADDED
Binary file
assets/images/chosen-sprite@2x.png ADDED
Binary file
assets/images/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
assets/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
assets/js/admin.js ADDED
@@ -0,0 +1,689 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**===============================================================
2
+ * Easy Google Fonts Admin js
3
+ * ===============================================================
4
+ *
5
+ * This file contains all custom jQuery plugins and code used on
6
+ * the Admin Font Settings Screen. It contains all of the js
7
+ * code necessary to enable the custom controls used in the live
8
+ * previewer.
9
+ *
10
+ * Licensed under the Apache License, Version 2.0 (the "License");
11
+ * you may not use this file except in compliance with the License.
12
+ * You may obtain a copy of the License at
13
+ *
14
+ * http://www.apache.org/licenses/LICENSE-2.0
15
+ *
16
+ * Unless required by applicable law or agreed to in writing,
17
+ * software distributed under the License is distributed on an
18
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
19
+ * either express or implied. See the License for the specific
20
+ * language governing permissions and
21
+ * limitations under the License.
22
+ *
23
+ * PLEASE NOTE: The following jQuery plugin dependancies are required
24
+ * in order for this file to run correctly:
25
+ *
26
+ * 1. jQuery ( http://jquery.com/ )
27
+ * 2. jQuery UI ( http://jqueryui.com/ )
28
+ *
29
+ * @todo increase dependancy on JS in future releases.
30
+ *
31
+ * @since 1.2
32
+ * @version 1.4.4
33
+ *
34
+ * =============================================================== */
35
+
36
+ /**===============================================================
37
+ * TAG PLUGIN
38
+ * =============================================================== */
39
+ ;( function($, window, document, undefined) {
40
+ $.fn.themeFontManager = function() {
41
+ var api = this;
42
+
43
+ // Flag to listen for control changes
44
+ var controlChanged = false;
45
+
46
+ /**
47
+ * Setup Plugin
48
+ *
49
+ * @description - Calls all of the required plugins
50
+ * for the Font Controls Admin Screen.
51
+ *
52
+ * @since 1.2
53
+ * @version 1.4.4
54
+ *
55
+ */
56
+ api.init = function() {
57
+ api.setupInputWithDefaultTitle();
58
+ api.registerEditEvents();
59
+ api.registerManagementEvents();
60
+ api.registerAdvancedEvents();
61
+ api.unregisterChange();
62
+ // Add unload event
63
+ $(window).on( 'beforeunload', function() {
64
+ if ( controlChanged ) {
65
+ return ttFontl10n.confirmation;
66
+ }
67
+ });
68
+ };
69
+
70
+ /**
71
+ * Register Control Changes
72
+ *
73
+ * @description - Set the controlChanged variable to
74
+ * true to flag any unsaved changes in the admin
75
+ * interface.
76
+ *
77
+ * @since 1.2
78
+ * @version 1.4.4
79
+ *
80
+ */
81
+ api.registerChange = function() {
82
+ controlChanged = true;
83
+ };
84
+
85
+ /**
86
+ * Unregister Control Changes
87
+ *
88
+ * @description - Set the controlChanged variable to
89
+ * true to flag any unsaved changes in the admin
90
+ * interface.
91
+ *
92
+ * @since 1.2
93
+ * @version 1.4.4
94
+ *
95
+ */
96
+ api.unregisterChange = function() {
97
+ controlChanged = false;
98
+ };
99
+
100
+ /**
101
+ * Create Control Using AJAX
102
+ *
103
+ * Sends an AJAX request in order to create a new
104
+ * font control instance.
105
+ *
106
+ * @param {string} controlName - The font control name
107
+ * @param {function} processMethod - Function to run during an ajax request
108
+ * @param {function} callback - Function to run after a successful ajax request
109
+ *
110
+ * @since 1.2
111
+ * @version 1.4.4
112
+ *
113
+ */
114
+ api.createNewControl = function( controlName, processMethod, callback ) {
115
+ api.unregisterChange();
116
+
117
+ processMethod = processMethod || function(){};
118
+ callback = callback || function(){};
119
+ var nonce = $( '#tt_font_edit_control_instance_nonce' ).val();
120
+
121
+ var dataObj = {
122
+ 'action': 'tt_font_create_control_instance',
123
+ 'tt_font_edit_control_instance_nonce' : nonce,
124
+ 'control_name' : controlName
125
+ };
126
+
127
+ $.post( ajaxurl, dataObj, function() {
128
+ processMethod();
129
+ }).done( function(response) {
130
+ var newControlId;
131
+ var redirectUrl = $( '#create_control_header' ).attr( 'data-redirect-url' );
132
+
133
+ callback();
134
+
135
+ // Get new control ID
136
+ $(response).find('supplemental').each(function(){
137
+ newControlId = $(this).find('new_control_id').text();
138
+ redirectUrl += '&control=' + newControlId;
139
+ });
140
+
141
+ // Redirect the user to the newly created control
142
+ window.location = redirectUrl.replace( ' ', '+' );
143
+ });
144
+ };
145
+
146
+ /**
147
+ * Save Font Control Using AJAX
148
+ *
149
+ * @description - Sends an AJAX request in order to
150
+ * delete a specific font control with the id that
151
+ * matches the value passed into this function.
152
+ *
153
+ * @param {string} controlName - Font control name
154
+ * @param {string} controlId - Font control id
155
+ * @param {function} processMethod - Function to run during an ajax request
156
+ * @param {function} callback - Function to run after a successful ajax request
157
+ *
158
+ * @since 1.2
159
+ * @version 1.4.4
160
+ *
161
+ */
162
+ api.saveControl = function( controlName, controlId, turnOn, processMethod, callback ) {
163
+ api.unregisterChange();
164
+
165
+ controlName = controlName || '';
166
+ controlId = controlId || '0';
167
+ processMethod = processMethod || function(){};
168
+ callback = callback || function(){};
169
+ var nonce = $( '#tt_font_edit_control_instance_nonce' ).val();
170
+ var controlSelectors = {};
171
+ var position = 0;
172
+
173
+ $('#tt-font-tags li .tagit-label').each( function(e){
174
+ controlSelectors[position] = $(this).text();
175
+ position++;
176
+ });
177
+
178
+ var dataObj = {
179
+ 'action': 'tt_font_update_control_instance',
180
+ 'controlName' : controlName,
181
+ 'controlId': controlId,
182
+ 'force-styles': turnOn,
183
+ 'tt_font_edit_control_instance_nonce' : nonce,
184
+ 'control-selectors' : controlSelectors
185
+ };
186
+
187
+ $.post( ajaxurl, dataObj, function() {
188
+ processMethod();
189
+ }).done( function( response ) {
190
+ var newControlName;
191
+ // Get new control name
192
+ $(response).find('supplemental').each(function(){
193
+ newControlName = $(this).find('control_name').text();
194
+ });
195
+ callback( newControlName );
196
+ });
197
+ };
198
+
199
+ /**
200
+ * Delete Font Control Using AJAX
201
+ *
202
+ * @description - Sends an AJAX request in order to
203
+ * delete a specific control with the id that
204
+ * matches the value passed into this function.
205
+ *
206
+ * @param {string} controlId - The ID (post meta id not post id) of the control we want to delete
207
+ * @param {function} processMethod - Function to run during an ajax request
208
+ * @param {function} callback - Function to run after a successful ajax request
209
+ *
210
+ * @since 1.2
211
+ * @version 1.4.4
212
+ *
213
+ */
214
+ api.deleteControl = function( controlId, processMethod, callback ) {
215
+ api.unregisterChange();
216
+
217
+ processMethod = processMethod || function(){};
218
+ callback = callback || function(){};
219
+ var nonce = $( '#tt_font_delete_control_instance_nonce' ).val();
220
+
221
+ var dataObj = {
222
+ 'action': 'tt_font_delete_control_instance',
223
+ 'controlId': controlId,
224
+ 'tt_font_delete_control_instance_nonce' : nonce
225
+ };
226
+
227
+ $.post( ajaxurl, dataObj, function() {
228
+ processMethod();
229
+ }).done( function() {
230
+ callback();
231
+ });
232
+ };
233
+
234
+ /**
235
+ * Delete All Font Controls Using AJAX
236
+ *
237
+ * @description - Constructs an AJAX request to
238
+ * delete all control instances. Sends the
239
+ * WordPress generated nonce to ensure that
240
+ * this is a legitamate request.
241
+ *
242
+ * @param {Function} processMethod - Function to execute during request
243
+ * @param {Function} callback - Function to execute after successful AJAX reequest.
244
+ *
245
+ * @since 1.2
246
+ * @version 1.4.4
247
+ *
248
+ */
249
+ api.deleteAllControls = function( processMethod, callback ) {
250
+ api.unregisterChange();
251
+
252
+ processMethod = processMethod || function(){};
253
+ callback = callback || function(){};
254
+ var nonce = $( '#tt_font_delete_control_instance_nonce' ).val();
255
+
256
+ var dataObj = {
257
+ 'action': 'tt_font_delete_all_control_instances',
258
+ 'tt_font_delete_control_instance_nonce' : nonce
259
+ };
260
+
261
+ $.post( ajaxurl, dataObj, function() {
262
+ processMethod();
263
+ }).done( function() {
264
+ callback();
265
+ });
266
+ };
267
+
268
+ /**
269
+ * Turn Control Force Styles On/Off using AJAX
270
+ *
271
+ * @description - Constructs an AJAX request to
272
+ * turn force styles on/off for a control.
273
+ * Sends the WordPress generated nonce to
274
+ * ensure that this is a legitamate request.
275
+ *
276
+ * @param {string} controlId - ID of the Control
277
+ * @param {string} turnOn - true/false to turn on/off
278
+ * @param {Function} processMethod - Function to execute during request
279
+ * @param {Function} callback - Function to execute after successful AJAX reequest.
280
+ *
281
+ * @since 1.2
282
+ * @version 1.4.4
283
+ *
284
+ */
285
+ api.forceControls = function( controlId, turnOn, processMethod, callback ) {
286
+ api.unregisterChange();
287
+
288
+ processMethod = processMethod || function(){};
289
+ callback = callback || function(){};
290
+ var nonce = $( '#tt_font_edit_control_instance_nonce' ).val();
291
+
292
+ var dataObj = {
293
+ 'action': 'tt_font_control_force_styles',
294
+ 'controlId': controlId,
295
+ 'tt_font_edit_control_instance_nonce' : nonce,
296
+ 'force-styles': turnOn
297
+ };
298
+
299
+ $.post( ajaxurl, dataObj, function() {
300
+ processMethod();
301
+ }).done( function() {
302
+ callback();
303
+ });
304
+ };
305
+
306
+ api.updateGoogleApiKey = function( apiKey, processMethod, callback ) {
307
+ api.unregisterChange();
308
+
309
+ processMethod = processMethod || function(){};
310
+ callback = callback || function(){};
311
+ var nonce = $( '#tt_font_edit_control_instance_nonce' ).val();
312
+
313
+ var dataObj = {
314
+ 'action': 'tt_font_set_google_api_key',
315
+ 'apiKey': apiKey,
316
+ 'tt_font_edit_control_instance_nonce' : nonce
317
+ };
318
+
319
+ $.post( ajaxurl, dataObj, function() {
320
+ processMethod();
321
+ }).done( function() {
322
+ var redirectUrl = $( '#egf_save_api_key' ).data( 'redirect-url' );
323
+ callback( redirectUrl );
324
+ });
325
+ };
326
+
327
+ /**
328
+ * Set Input Placeholder Text
329
+ *
330
+ * @description - Provides a cross browser compatible
331
+ * way to set placeholder text for input fields.
332
+ *
333
+ * @since 1.2
334
+ * @version 1.4.4
335
+ *
336
+ */
337
+ api.setupInputWithDefaultTitle = function() {
338
+ var name = 'input-with-default-title';
339
+
340
+ $( '.' + name ).each( function(){
341
+ var $t = $(this);
342
+ var title = $t.attr('title');
343
+ var val = $t.val();
344
+ $t.data( name, title );
345
+
346
+ if( '' === val ) {
347
+ $t.val( title );
348
+ } else if( title === val ) {
349
+ return;
350
+ } else {
351
+ $t.removeClass( name );
352
+ }
353
+
354
+ // Add class on input focus event
355
+ $t.on( 'focus', function() {
356
+ if( $t.val() === $t.data(name) ) {
357
+ $t.val('').removeClass( name );
358
+ }
359
+ });
360
+
361
+ // Remove class on input blur event
362
+ $t.on( 'blur', function() {
363
+ if( '' === $t.val() ) {
364
+ $t.addClass( name ).val( $t.data(name) );
365
+ }
366
+ });
367
+
368
+ });
369
+
370
+ $( '.blank-slate .input-with-default-title' ).focus();
371
+ };
372
+
373
+ /**
374
+ * Register Edit Events
375
+ *
376
+ * @description - Registers all event handlers that
377
+ * exist on the Edit Font Controls page.
378
+ *
379
+ * @since 1.2
380
+ * @version 1.4.4
381
+ *
382
+ */
383
+ api.registerEditEvents = function() {
384
+
385
+ // Font Control change event listeners
386
+ $( '#custom-control-name, #tt-font-tags, #control-force-styles' ).on( 'change', function(){
387
+ api.registerChange();
388
+ });
389
+
390
+ /**
391
+ * Create Event
392
+ * Attach event listener in order to create a new font
393
+ * control instance.
394
+ */
395
+ $( '#create_control_header, #create_control_footer' ).on( 'click', function() {
396
+
397
+ var controlNameLabel = $( '.custom-control-label' );
398
+ var controlNameInput = $( '#custom-control-name' );
399
+ var spinner = $( '.control-edit .spinner' );
400
+
401
+ if ( controlNameInput.attr('title') === controlNameInput.val() ) {
402
+ controlNameLabel.addClass('form-invalid');
403
+ return false;
404
+
405
+ } else {
406
+ controlNameLabel.removeClass('form-invalid');
407
+ spinner.toggleClass( "egf-visible", 200 );
408
+ // spinner.fadeIn(200);
409
+ api.createNewControl( controlNameInput.val(), false );
410
+ }
411
+
412
+ return false;
413
+ });
414
+
415
+ /**
416
+ * Save/Update Event
417
+ * Attaches an event listener to the 'Save Font Control'
418
+ * buttons.
419
+ */
420
+ $( '#save_control_header, #save_control_footer' ).on( 'click', function() {
421
+
422
+ var controlName = $( '#custom-control-name' ).val();
423
+ var controlId = $(this).attr( 'data-control-id' );
424
+ var spinner = $( '.control-edit .spinner' );
425
+ var controlNameLabel = $( '.custom-control-label' );
426
+ var redirectUrl = $(this).attr( 'data-redirect-url' );
427
+ var forceStyles = $( '#control-force-styles' ).prop('checked');
428
+
429
+ var processMethod = function() {};
430
+ var callback = function( newControlName ) {
431
+
432
+ // Fade out spinner and redirect user
433
+ spinner.toggleClass( "egf-visible", 200 );
434
+ // spinner.fadeOut(200);
435
+ redirectUrl += '&name=' + newControlName;
436
+ window.location = redirectUrl.replace( ' ', '+' );
437
+ };
438
+
439
+ // Make sure a control name has been entered
440
+ if ( $( '#custom-control-name' ).attr( 'title' ) === controlName ) {
441
+ controlNameLabel.addClass('form-invalid');
442
+ return false;
443
+ }
444
+
445
+ controlNameLabel.removeClass('form-invalid');
446
+
447
+ spinner.toggleClass( "egf-visible", 150 );
448
+ // spinner.fadeIn(100);
449
+ api.saveControl( controlName, controlId, forceStyles, processMethod, callback );
450
+ return false;
451
+
452
+ });
453
+
454
+ /**
455
+ * Delete Font Control Event
456
+ * Attaches an event listener to each font control
457
+ * 'Delete Font Control' link.
458
+ */
459
+ $( '#delete-control' ).on( 'click', function() {
460
+
461
+ var confirmation = confirm( ttFontl10n.deleteWarning );
462
+ var controlId = $(this).attr( 'data-control-id' );
463
+ var spinner = $( '.control-edit .spinner' );
464
+ var redirectUrl = $(this).attr( 'data-redirect-url' );
465
+
466
+ var processMethod = function() {};
467
+ var callback = function() {
468
+ api.unregisterChange();
469
+ window.location = redirectUrl.replace( ' ', '+' );
470
+ };
471
+
472
+ // Delete control now that we have gained user consent
473
+ if( confirmation ) {
474
+ if( controlId !== '0' ) {
475
+ spinner.toggleClass( "egf-visible", 200 );
476
+ // spinner.fadeIn(200);
477
+ api.deleteControl( controlId, processMethod, callback );
478
+ } else {
479
+ callback();
480
+ }
481
+ }
482
+ return false;
483
+ });
484
+ };
485
+
486
+ /**
487
+ * Register Management Events
488
+ *
489
+ * @description - Registers all event handlers that
490
+ * exist on the Manage Font Controls page.
491
+ *
492
+ * @since 1.2
493
+ * @version 1.4.4
494
+ */
495
+ api.registerManagementEvents = function() {
496
+
497
+ /**
498
+ * Create New Control Event
499
+ * Attaches an event listener to the create new control button.
500
+ */
501
+ $( '#create_new_control' ).on( 'click', function() {
502
+ window.location = $(this).attr( 'data-create-control-url' );
503
+ return false;
504
+ });
505
+
506
+ /**
507
+ * Control Delete Control Link
508
+ * Attaches an event listener to the 'delete' link for
509
+ * each control.
510
+ */
511
+ $( '#font-controls-table a.control-delete-link' ).on( 'click', function() {
512
+ var confirmation = confirm( ttFontl10n.deleteWarning );
513
+ var row = $(this).closest('tr');
514
+ var spinner = row.find( '.spinner' );
515
+ var controlId = $(this).data( 'control-reference' );
516
+
517
+ var processMethod = function() {};
518
+ var callback = function() {
519
+ row.fadeOut(200, function() {
520
+ row.remove();
521
+
522
+ // Update dialog screen if there are no controls
523
+ if ( $( '#font-controls-table tbody tr' ).length === 0 ) {
524
+
525
+ // Fade out the table if there are no controls
526
+ $( '#font-controls-table' ).fadeOut(500);
527
+
528
+ // Update control dialog if there are no controls
529
+ $( '.control-dialog .manage-label' ).fadeOut(200, function(){
530
+ $( '.control-dialog .new-label' ).fadeIn(300);
531
+ });
532
+ }
533
+ });
534
+ };
535
+
536
+ // Delete control now that we have gained user consent.
537
+ if( confirmation ) {
538
+ spinner.toggleClass( "egf-visible", 200 );
539
+ // spinner.fadeIn();
540
+ row.addClass('deleting', 200);
541
+ api.deleteControl( controlId, processMethod, callback );
542
+ }
543
+
544
+ });
545
+
546
+ /**
547
+ * Control Force Styles
548
+ * @return {[type]} [description]
549
+ */
550
+ $( '#font-controls-table .tt-force-styles' ).on( 'change', function() {
551
+
552
+ var row = $(this).closest('tr');
553
+ var spinner = row.find( '.spinner' );
554
+ var controlId = $(this).data( 'control-reference' );
555
+ var checked = $(this).prop('checked');
556
+
557
+ var processMethod = function() {};
558
+ var callback = function() {
559
+ spinner.toggleClass( "egf-visible", 200 );
560
+ // spinner.fadeOut(200);
561
+ row.addClass('success', 200);
562
+ row.removeClass('success', 300);
563
+ };
564
+
565
+ spinner.toggleClass( "egf-visible", 200 );
566
+ // spinner.fadeIn();
567
+ api.forceControls( controlId, checked, processMethod, callback );
568
+
569
+ });
570
+
571
+ /**
572
+ * Control Delete All Event
573
+ * Attaches an event listener to the 'delete all' link.
574
+ */
575
+ $( '#delete_all_controls' ).on( 'click', function() {
576
+
577
+ var confirmation = confirm( ttFontl10n.deleteAllWarning );
578
+ var spinners = $( '#font-controls-table .spinner' );
579
+ var rows = $( '#font-controls-table tr' );
580
+
581
+ var processMethod = function() {};
582
+ var callback = function() {
583
+ rows.fadeOut(200);
584
+
585
+ // Fade out the table if there are no controls
586
+ $( '#font-controls-table, #delete_all_controls' ).fadeOut(500);
587
+
588
+ // Update control dialog if there are no controls
589
+ $( '.control-dialog .manage-label' ).fadeOut(200, function(){
590
+ $( '.control-dialog .new-label' ).fadeIn(300);
591
+ });
592
+ };
593
+
594
+ // Delete all controls now that we have gained user consent
595
+ if( confirmation ) {
596
+ spinners.fadeIn();
597
+ rows.addClass( 'deleting', 200 );
598
+ api.deleteAllControls( processMethod, callback );
599
+ }
600
+
601
+ return false;
602
+ });
603
+
604
+ /**
605
+ * Initialise the tag-it plugin
606
+ * Attaches an event listener to the tags and
607
+ * sets up the functionality.
608
+ */
609
+ $( '#tt-font-tags' ).tagit({
610
+ allowSpaces: true,
611
+ allowDuplicates: true,
612
+ removeConfirmation: true,
613
+ preprocessTag: function( value ) {
614
+ if ( ! value ) {
615
+ return '';
616
+ }
617
+ return value;
618
+ },
619
+ beforeTagAdded: function() {
620
+ api.registerChange();
621
+ },
622
+ afterTagRemoved: function() {
623
+ api.registerChange();
624
+ }
625
+ });
626
+
627
+ // Prevent form submit on input enter
628
+ $( 'li.tagit-new input' ).keypress(function(e){
629
+ var k = e.keyCode || e.which;
630
+ if( k==13 ){
631
+ e.preventDefault();
632
+ }
633
+ });
634
+ };
635
+
636
+ /**
637
+ * Register Advanced Events
638
+ *
639
+ * @description - Registers all event handlers that
640
+ * exist on the Advanced page.
641
+ *
642
+ * @since 1.2
643
+ * @version 1.4.4
644
+ *
645
+ */
646
+ api.registerAdvancedEvents = function() {
647
+
648
+ var container = $( '.manage-google-key' );
649
+ var spinner = $( '.spinner' );
650
+
651
+ $( '#egf-google-api-key' ).on( 'change', function() {
652
+ api.registerChange();
653
+ });
654
+
655
+ $( '#egf_save_api_key' ).on( 'click', function() {
656
+ var apiKey = $( '#egf-google-api-key' ).val();
657
+ var redirectUrl = $(this).data( 'redirect-url' );
658
+
659
+ var processMethod = function() {};
660
+ var callback = function( redirectUrl ) {
661
+ // Fade out spinner and redirect user
662
+ spinner.toggleClass( "egf-visible", 200 );
663
+ // spinner.fadeOut(200);
664
+ window.location = redirectUrl;
665
+ };
666
+
667
+ spinner.toggleClass( "egf-visible", 300 );
668
+ // spinner.fadeIn();
669
+
670
+ api.updateGoogleApiKey( apiKey, processMethod, callback );
671
+
672
+ return false;
673
+ });
674
+
675
+ };
676
+
677
+ // Initialise Plugin
678
+ api.init();
679
+
680
+ }; // END $.fn.themeFontManager
681
+ }(jQuery, window, document));
682
+
683
+ /**============================================================
684
+ * INITIALISE PLUGINS & JS ON DOCUMENT READY EVENT
685
+ * ============================================================ */
686
+ jQuery(document).ready(function($) {"use strict";
687
+ // Initialise Theme Font Admin Manager
688
+ $(this).themeFontManager();
689
+ });
assets/js/chosen.jquery.js ADDED
@@ -0,0 +1,1271 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Chosen Custom Build
3
+ *
4
+ * This is a fork of the chosen jQuery plugin that
5
+ * has been modified to enhance the Easy Google
6
+ * Fonts plugin. It is used to enhance the font
7
+ * family browsing experience in the Customizer.
8
+ *
9
+ * @author Sunny Johal - Titanium Themes
10
+ * @author Patrick Filler - Harvest (Original Plugin Author)
11
+ *
12
+ * @since 1.3.4
13
+ * @version 1.4.4
14
+ *
15
+ * Information about the Original Plugin:
16
+ *
17
+ * Chosen, a Select Box Enhancer for jQuery and Prototype
18
+ * by Patrick Filler for Harvest, http://getharvest.com
19
+ *
20
+ * Original Version 1.3.0
21
+ * Full source at https://github.com/harvesthq/chosen
22
+ * Copyright (c) 2011-2014 Harvest http://getharvest.com
23
+ *
24
+ * MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
25
+ *
26
+ */
27
+ (function() {
28
+ var $, AbstractChosen, Chosen, SelectParser, _ref,
29
+ __hasProp = {}.hasOwnProperty,
30
+ __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
31
+
32
+ SelectParser = (function() {
33
+ function SelectParser() {
34
+ this.options_index = 0;
35
+ this.parsed = [];
36
+ }
37
+
38
+ SelectParser.prototype.add_node = function(child) {
39
+ if (child.nodeName.toUpperCase() === "OPTGROUP") {
40
+ return this.add_group(child);
41
+ } else {
42
+ return this.add_option(child);
43
+ }
44
+ };
45
+
46
+ SelectParser.prototype.add_group = function(group) {
47
+ var group_position, option, _i, _len, _ref, _results;
48
+ group_position = this.parsed.length;
49
+ this.parsed.push({
50
+ array_index: group_position,
51
+ group: true,
52
+ label: this.escapeExpression(group.label),
53
+ children: 0,
54
+ disabled: group.disabled,
55
+ classes: group.className
56
+ });
57
+ _ref = group.childNodes;
58
+ _results = [];
59
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
60
+ option = _ref[_i];
61
+ _results.push(this.add_option(option, group_position, group.disabled));
62
+ }
63
+ return _results;
64
+ };
65
+
66
+ SelectParser.prototype.add_option = function(option, group_position, group_disabled) {
67
+ if (option.nodeName.toUpperCase() === "OPTION") {
68
+ if (option.text !== "") {
69
+ if (group_position != null) {
70
+ this.parsed[group_position].children += 1;
71
+ }
72
+ this.parsed.push({
73
+ array_index: this.parsed.length,
74
+ options_index: this.options_index,
75
+ value: option.value,
76
+ text: option.text,
77
+ html: option.innerHTML,
78
+ selected: option.selected,
79
+ disabled: group_disabled === true ? group_disabled : option.disabled,
80
+ group_array_index: group_position,
81
+ classes: option.className,
82
+ style: option.style.cssText
83
+ });
84
+ } else {
85
+ this.parsed.push({
86
+ array_index: this.parsed.length,
87
+ options_index: this.options_index,
88
+ empty: true
89
+ });
90
+ }
91
+ return this.options_index += 1;
92
+ }
93
+ };
94
+
95
+ SelectParser.prototype.escapeExpression = function(text) {
96
+ var map, unsafe_chars;
97
+ if ((text == null) || text === false) {
98
+ return "";
99
+ }
100
+ if (!/[\&\<\>\"\'\`]/.test(text)) {
101
+ return text;
102
+ }
103
+ map = {
104
+ "<": "&lt;",
105
+ ">": "&gt;",
106
+ '"': "&quot;",
107
+ "'": "&#x27;",
108
+ "`": "&#x60;"
109
+ };
110
+ unsafe_chars = /&(?!\w+;)|[\<\>\"\'\`]/g;
111
+ return text.replace(unsafe_chars, function(chr) {
112
+ return map[chr] || "&amp;";
113
+ });
114
+ };
115
+
116
+ return SelectParser;
117
+
118
+ })();
119
+
120
+ SelectParser.select_to_array = function(select) {
121
+ var child, parser, _i, _len, _ref;
122
+ parser = new SelectParser();
123
+ _ref = select.childNodes;
124
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
125
+ child = _ref[_i];
126
+ parser.add_node(child);
127
+ }
128
+ return parser.parsed;
129
+ };
130
+
131
+ AbstractChosen = (function() {
132
+ function AbstractChosen(form_field, options) {
133
+ this.form_field = form_field;
134
+ this.options = options != null ? options : {};
135
+ if (!AbstractChosen.browser_is_supported()) {
136
+ return;
137
+ }
138
+ this.is_multiple = this.form_field.multiple;
139
+ this.set_default_text();
140
+ this.set_default_values();
141
+ this.setup();
142
+ this.set_up_html();
143
+ this.register_observers();
144
+ this.on_ready();
145
+ }
146
+
147
+ AbstractChosen.prototype.set_default_values = function() {
148
+ var _this = this;
149
+ this.click_test_action = function(evt) {
150
+ return _this.test_active_click(evt);
151
+ };
152
+ this.activate_action = function(evt) {
153
+ return _this.activate_field(evt);
154
+ };
155
+ this.active_field = false;
156
+ this.mouse_on_container = false;
157
+ this.results_showing = false;
158
+ this.result_highlighted = null;
159
+ this.allow_single_deselect = (this.options.allow_single_deselect != null) && (this.form_field.options[0] != null) && this.form_field.options[0].text === "" ? this.options.allow_single_deselect : false;
160
+ this.disable_search_threshold = this.options.disable_search_threshold || 0;
161
+ this.disable_search = this.options.disable_search || false;
162
+ this.enable_split_word_search = this.options.enable_split_word_search != null ? this.options.enable_split_word_search : true;
163
+ this.group_search = this.options.group_search != null ? this.options.group_search : true;
164
+ this.search_contains = this.options.search_contains || false;
165
+ this.single_backstroke_delete = this.options.single_backstroke_delete != null ? this.options.single_backstroke_delete : true;
166
+ this.max_selected_options = this.options.max_selected_options || Infinity;
167
+ this.inherit_select_classes = this.options.inherit_select_classes || false;
168
+ this.display_selected_options = this.options.display_selected_options != null ? this.options.display_selected_options : true;
169
+
170
+ return this.display_disabled_options = this.options.display_disabled_options != null ? this.options.display_disabled_options : true;
171
+ };
172
+
173
+ AbstractChosen.prototype.set_default_text = function() {
174
+ if (this.form_field.getAttribute("data-placeholder")) {
175
+ this.default_text = this.form_field.getAttribute("data-placeholder");
176
+ } else if (this.is_multiple) {
177
+ this.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || AbstractChosen.default_multiple_text;
178
+ } else {
179
+ this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text;
180
+ }
181
+ return this.results_none_found = this.form_field.getAttribute("data-no_results_text") || this.options.no_results_text || AbstractChosen.default_no_result_text;
182
+ };
183
+
184
+ AbstractChosen.prototype.mouse_enter = function() {
185
+ return this.mouse_on_container = true;
186
+ };
187
+
188
+ AbstractChosen.prototype.mouse_leave = function() {
189
+ return this.mouse_on_container = false;
190
+ };
191
+
192
+ AbstractChosen.prototype.input_focus = function(evt) {
193
+ var _this = this;
194
+ if (this.is_multiple) {
195
+ if (!this.active_field) {
196
+ return setTimeout((function() {
197
+ return _this.container_mousedown();
198
+ }), 50);
199
+ }
200
+ } else {
201
+ if (!this.active_field) {
202
+ return this.activate_field();
203
+ }
204
+ }
205
+ };
206
+
207
+ AbstractChosen.prototype.input_blur = function(evt) {
208
+ var _this = this;
209
+ if (!this.mouse_on_container) {
210
+ this.active_field = false;
211
+ return setTimeout((function() {
212
+ return _this.blur_test();
213
+ }), 100);
214
+ }
215
+ };
216
+
217
+ AbstractChosen.prototype.results_option_build = function(options) {
218
+ var content, data, _i, _len, _ref;
219
+ content = '';
220
+ _ref = this.results_data;
221
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
222
+ data = _ref[_i];
223
+ if (data.group) {
224
+ content += this.result_add_group(data);
225
+ } else {
226
+ content += this.result_add_option(data);
227
+ }
228
+ if (options != null ? options.first : void 0) {
229
+ if (data.selected && this.is_multiple) {
230
+ this.choice_build(data);
231
+ } else if (data.selected && !this.is_multiple) {
232
+ this.single_set_selected_text(data.text);
233
+ }
234
+ }
235
+ }
236
+ return content;
237
+ };
238
+
239
+ AbstractChosen.prototype.result_add_option = function(option) {
240
+ var classes, option_el;
241
+ if (!option.search_match) {
242
+ return '';
243
+ }
244
+ if (!this.include_option_in_results(option)) {
245
+ return '';
246
+ }
247
+ classes = [];
248
+ if (!option.disabled && !(option.selected && this.is_multiple)) {
249
+ classes.push("active-result");
250
+ }
251
+ if (option.disabled && !(option.selected && this.is_multiple)) {
252
+ classes.push("disabled-result");
253
+ }
254
+ if (option.selected) {
255
+ classes.push("result-selected");
256
+ }
257
+ if (option.group_array_index != null) {
258
+ classes.push("group-option");
259
+ }
260
+ if (option.classes !== "") {
261
+ classes.push(option.classes);
262
+ }
263
+ option_el = document.createElement("li");
264
+ option_el.className = classes.join(" ");
265
+ option_el.style.cssText = option.style;
266
+ option_el.setAttribute("data-option-array-index", option.array_index);
267
+ option_el.innerHTML = option.search_text;
268
+ return this.outerHTML(option_el);
269
+ };
270
+
271
+ AbstractChosen.prototype.result_add_group = function(group) {
272
+ var classes, group_el;
273
+ if (!(group.search_match || group.group_match)) {
274
+ return '';
275
+ }
276
+ if (!(group.active_options > 0)) {
277
+ return '';
278
+ }
279
+ classes = [];
280
+ classes.push("group-result");
281
+ if (group.classes) {
282
+ classes.push(group.classes);
283
+ }
284
+ group_el = document.createElement("li");
285
+ group_el.className = classes.join(" ");
286
+ group_el.innerHTML = group.search_text;
287
+ return this.outerHTML(group_el);
288
+ };
289
+
290
+ AbstractChosen.prototype.results_update_field = function() {
291
+ this.set_default_text();
292
+ if (!this.is_multiple) {
293
+ this.results_reset_cleanup();
294
+ }
295
+ this.result_clear_highlight();
296
+ this.results_build();
297
+ if (this.results_showing) {
298
+ return this.winnow_results();
299
+ }
300
+ };
301
+
302
+ AbstractChosen.prototype.reset_single_select_options = function() {
303
+ var result, _i, _len, _ref, _results;
304
+ _ref = this.results_data;
305
+ _results = [];
306
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
307
+ result = _ref[_i];
308
+ if (result.selected) {
309
+ _results.push(result.selected = false);
310
+ } else {
311
+ _results.push(void 0);
312
+ }
313
+ }
314
+ return _results;
315
+ };
316
+
317
+ AbstractChosen.prototype.results_toggle = function() {
318
+ if (this.results_showing) {
319
+ return this.results_hide();
320
+ } else {
321
+ return this.results_show();
322
+ }
323
+ };
324
+
325
+ AbstractChosen.prototype.results_search = function(evt) {
326
+ if (this.results_showing) {
327
+ return this.winnow_results();
328
+ } else {
329
+ return this.results_show();
330
+ }
331
+ };
332
+
333
+ AbstractChosen.prototype.winnow_results = function() {
334
+ var escapedSearchText, option, regex, results, results_group, searchText, startpos, text, zregex, _i, _len, _ref;
335
+ this.no_results_clear();
336
+ results = 0;
337
+ searchText = this.get_search_text();
338
+ escapedSearchText = searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
339
+ zregex = new RegExp(escapedSearchText, 'i');
340
+ regex = this.get_search_regex(escapedSearchText);
341
+ _ref = this.results_data;
342
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
343
+ option = _ref[_i];
344
+ option.search_match = false;
345
+ results_group = null;
346
+ if (this.include_option_in_results(option)) {
347
+ if (option.group) {
348
+ option.group_match = false;
349
+ option.active_options = 0;
350
+ }
351
+ if ((option.group_array_index != null) && this.results_data[option.group_array_index]) {
352
+ results_group = this.results_data[option.group_array_index];
353
+ if (results_group.active_options === 0 && results_group.search_match) {
354
+ results += 1;
355
+ }
356
+ results_group.active_options += 1;
357
+ }
358
+ if (!(option.group && !this.group_search)) {
359
+ option.search_text = option.group ? option.label : option.text;
360
+ option.search_match = this.search_string_match(option.search_text, regex);
361
+ if (option.search_match && !option.group) {
362
+ results += 1;
363
+ }
364
+ if (option.search_match) {
365
+ if (searchText.length) {
366
+ startpos = option.search_text.search(zregex);
367
+ text = option.search_text.substr(0, startpos + searchText.length) + '</em>' + option.search_text.substr(startpos + searchText.length);
368
+ option.search_text = text.substr(0, startpos) + '<em>' + text.substr(startpos);
369
+ }
370
+ if (results_group != null) {
371
+ results_group.group_match = true;
372
+ }
373
+ } else if ((option.group_array_index != null) && this.results_data[option.group_array_index].search_match) {
374
+ option.search_match = true;
375
+ }
376
+ }
377
+ }
378
+ }
379
+ this.result_clear_highlight();
380
+ if (results < 1 && searchText.length) {
381
+ this.update_results_content("");
382
+ return this.no_results(searchText);
383
+ } else {
384
+ this.update_results_content(this.results_option_build());
385
+ return this.winnow_results_set_highlight();
386
+ }
387
+ };
388
+
389
+ AbstractChosen.prototype.get_search_regex = function(escaped_search_string) {
390
+ var regex_anchor;
391
+ regex_anchor = this.search_contains ? "" : "^";
392
+ return new RegExp(regex_anchor + escaped_search_string, 'i');
393
+ };
394
+
395
+ AbstractChosen.prototype.search_string_match = function(search_string, regex) {
396
+ var part, parts, _i, _len;
397
+ if (regex.test(search_string)) {
398
+ return true;
399
+ } else if (this.enable_split_word_search && (search_string.indexOf(" ") >= 0 || search_string.indexOf("[") === 0)) {
400
+ parts = search_string.replace(/\[|\]/g, "").split(" ");
401
+ if (parts.length) {
402
+ for (_i = 0, _len = parts.length; _i < _len; _i++) {
403
+ part = parts[_i];
404
+ if (regex.test(part)) {
405
+ return true;
406
+ }
407
+ }
408
+ }
409
+ }
410
+ };
411
+
412
+ AbstractChosen.prototype.choices_count = function() {
413
+ var option, _i, _len, _ref;
414
+ if (this.selected_option_count != null) {
415
+ return this.selected_option_count;
416
+ }
417
+ this.selected_option_count = 0;
418
+ _ref = this.form_field.options;
419
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
420
+ option = _ref[_i];
421
+ if (option.selected) {
422
+ this.selected_option_count += 1;
423
+ }
424
+ }
425
+ return this.selected_option_count;
426
+ };
427
+
428
+ AbstractChosen.prototype.choices_click = function(evt) {
429
+ evt.preventDefault();
430
+ if (!(this.results_showing || this.is_disabled)) {
431
+ return this.results_show();
432
+ }
433
+ };
434
+
435
+ AbstractChosen.prototype.keyup_checker = function(evt) {
436
+ var stroke, _ref;
437
+ stroke = (_ref = evt.which) != null ? _ref : evt.keyCode;
438
+ this.search_field_scale();
439
+ switch (stroke) {
440
+ case 8:
441
+ if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) {
442
+ return this.keydown_backstroke();
443
+ } else if (!this.pending_backstroke) {
444
+ this.result_clear_highlight();
445
+ return this.results_search();
446
+ }
447
+ break;
448
+ case 13:
449
+ evt.preventDefault();
450
+ if (this.results_showing) {
451
+ this.result_select(evt);
452
+ return this.results_hide();
453
+ }
454
+ break;
455
+ case 27:
456
+ if (this.results_showing) {
457
+ this.results_hide();
458
+ }
459
+ return true;
460
+ case 38:
461
+ if (this.results_showing) {
462
+ return this.result_select(evt);
463
+ }
464
+ break;
465
+
466
+ case 40:
467
+ if (this.results_showing) {
468
+ return this.result_select(evt);
469
+ }
470
+ break;
471
+
472
+ case 9:
473
+ case 16:
474
+ case 91:
475
+ case 17:
476
+ break;
477
+ default:
478
+ return this.results_search();
479
+ }
480
+ };
481
+
482
+ AbstractChosen.prototype.clipboard_event_checker = function(evt) {
483
+ var _this = this;
484
+ return setTimeout((function() {
485
+ return _this.results_search();
486
+ }), 50);
487
+ };
488
+
489
+ AbstractChosen.prototype.container_width = function() {
490
+ if (this.options.width != null) {
491
+ return this.options.width;
492
+ } else {
493
+ return "" + this.form_field.offsetWidth + "px";
494
+ }
495
+ };
496
+
497
+ AbstractChosen.prototype.include_option_in_results = function(option) {
498
+ if (this.is_multiple && (!this.display_selected_options && option.selected)) {
499
+ return false;
500
+ }
501
+ if (!this.display_disabled_options && option.disabled) {
502
+ return false;
503
+ }
504
+ if (option.empty) {
505
+ return false;
506
+ }
507
+ return true;
508
+ };
509
+
510
+ AbstractChosen.prototype.search_results_touchstart = function(evt) {
511
+ this.touch_started = true;
512
+ return this.search_results_mouseover(evt);
513
+ };
514
+
515
+ AbstractChosen.prototype.search_results_touchmove = function(evt) {
516
+ this.touch_started = false;
517
+ return this.search_results_mouseout(evt);
518
+ };
519
+
520
+ AbstractChosen.prototype.search_results_touchend = function(evt) {
521
+ if (this.touch_started) {
522
+ return this.search_results_mouseup(evt);
523
+ }
524
+ };
525
+
526
+ AbstractChosen.prototype.outerHTML = function(element) {
527
+ var tmp;
528
+ if (element.outerHTML) {
529
+ return element.outerHTML;
530
+ }
531
+ tmp = document.createElement("div");
532
+ tmp.appendChild(element);
533
+ return tmp.innerHTML;
534
+ };
535
+
536
+ AbstractChosen.browser_is_supported = function() {
537
+ if (window.navigator.appName === "Microsoft Internet Explorer") {
538
+ return document.documentMode >= 8;
539
+ }
540
+ if (/iP(od|hone)/i.test(window.navigator.userAgent)) {
541
+ return false;
542
+ }
543
+ if (/Android/i.test(window.navigator.userAgent)) {
544
+ if (/Mobile/i.test(window.navigator.userAgent)) {
545
+ return false;
546
+ }
547
+ }
548
+ return true;
549
+ };
550
+
551
+ AbstractChosen.default_multiple_text = "Select Some Options";
552
+
553
+ AbstractChosen.default_single_text = "Select an Option";
554
+
555
+ AbstractChosen.default_no_result_text = "No results match";
556
+
557
+ return AbstractChosen;
558
+
559
+ })();
560
+
561
+ $ = jQuery;
562
+
563
+ $.fn.extend({
564
+ chosen: function(options) {
565
+ if (!AbstractChosen.browser_is_supported()) {
566
+ return this;
567
+ }
568
+ return this.each(function(input_field) {
569
+ var $this, chosen;
570
+ $this = $(this);
571
+ chosen = $this.data('chosen');
572
+ if (options === 'destroy' && chosen instanceof Chosen) {
573
+ chosen.destroy();
574
+ } else if (!(chosen instanceof Chosen)) {
575
+ $this.data('chosen', new Chosen(this, options));
576
+ }
577
+ });
578
+ }
579
+ });
580
+
581
+ Chosen = (function(_super) {
582
+ __extends(Chosen, _super);
583
+
584
+ function Chosen() {
585
+ _ref = Chosen.__super__.constructor.apply(this, arguments);
586
+ return _ref;
587
+ }
588
+
589
+ Chosen.prototype.setup = function() {
590
+ this.form_field_jq = $(this.form_field);
591
+ this.current_selectedIndex = this.form_field.selectedIndex;
592
+ return this.is_rtl = this.form_field_jq.hasClass("chosen-rtl");
593
+ };
594
+
595
+ Chosen.prototype.set_up_html = function() {
596
+ var container_classes, container_props;
597
+ container_classes = ["chosen-container"];
598
+ container_classes.push("chosen-container-" + (this.is_multiple ? "multi" : "single"));
599
+ if (this.inherit_select_classes && this.form_field.className) {
600
+ container_classes.push(this.form_field.className);
601
+ }
602
+ if (this.is_rtl) {
603
+ container_classes.push("chosen-rtl");
604
+ }
605
+ container_props = {
606
+ 'class': container_classes.join(' '),
607
+ 'style': "width: " + (this.container_width()) + ";",
608
+ 'title': this.form_field.title
609
+ };
610
+ if (this.form_field.id.length) {
611
+ container_props.id = this.form_field.id.replace(/[^\w]/g, '_') + "_chosen";
612
+ }
613
+ this.container = $("<div />", container_props);
614
+ if (this.is_multiple) {
615
+ this.container.html('<ul class="chosen-choices"><li class="search-field"><input type="text" value="' + this.default_text + '" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chosen-drop"><ul class="chosen-results"></ul></div>');
616
+ } else {
617
+ this.container.html('<a class="chosen-single chosen-default" tabindex="-1"><span>' + this.default_text + '</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input type="text" autocomplete="off" /></div><ul class="chosen-results"></ul></div>');
618
+ }
619
+ this.form_field_jq.hide().after(this.container);
620
+ this.dropdown = this.container.find('div.chosen-drop').first();
621
+ this.search_field = this.container.find('input').first();
622
+ this.search_results = this.container.find('ul.chosen-results').first();
623
+ this.search_field_scale();
624
+ this.search_no_results = this.container.find('li.no-results').first();
625
+ if (this.is_multiple) {
626
+ this.search_choices = this.container.find('ul.chosen-choices').first();
627
+ this.search_container = this.container.find('li.search-field').first();
628
+ } else {
629
+ this.search_container = this.container.find('div.chosen-search').first();
630
+ this.selected_item = this.container.find('.chosen-single').first();
631
+ }
632
+ this.results_build();
633
+ this.set_tab_index();
634
+ return this.set_label_behavior();
635
+ };
636
+
637
+ Chosen.prototype.on_ready = function() {
638
+ return this.form_field_jq.trigger("chosen:ready", {
639
+ chosen: this
640
+ });
641
+ };
642
+
643
+ Chosen.prototype.register_observers = function() {
644
+ var _this = this;
645
+ this.container.bind('touchstart.chosen', function(evt) {
646
+ _this.container_mousedown(evt);
647
+ });
648
+ this.container.bind('touchend.chosen', function(evt) {
649
+ _this.container_mouseup(evt);
650
+ });
651
+ this.container.bind('mousedown.chosen', function(evt) {
652
+ _this.container_mousedown(evt);
653
+ });
654
+ this.container.bind('mouseup.chosen', function(evt) {
655
+ _this.container_mouseup(evt);
656
+ });
657
+ this.container.bind('mouseenter.chosen', function(evt) {
658
+ _this.mouse_enter(evt);
659
+ });
660
+ this.container.bind('mouseleave.chosen', function(evt) {
661
+ _this.mouse_leave(evt);
662
+ });
663
+ this.search_results.bind('mouseup.chosen', function(evt) {
664
+ _this.search_results_mouseup(evt);
665
+ });
666
+ this.search_results.bind('mouseover.chosen', function(evt) {
667
+ _this.search_results_mouseover(evt);
668
+ });
669
+ this.search_results.bind('mouseout.chosen', function(evt) {
670
+ _this.search_results_mouseout(evt);
671
+ });
672
+ this.search_results.bind('mousewheel.chosen DOMMouseScroll.chosen', function(evt) {
673
+ _this.search_results_mousewheel(evt);
674
+ });
675
+ this.search_results.bind('touchstart.chosen', function(evt) {
676
+ _this.search_results_touchstart(evt);
677
+ });
678
+ this.search_results.bind('touchmove.chosen', function(evt) {
679
+ _this.search_results_touchmove(evt);
680
+ });
681
+ this.search_results.bind('touchend.chosen', function(evt) {
682
+ _this.search_results_touchend(evt);
683
+ });
684
+ this.form_field_jq.bind("chosen:updated.chosen", function(evt) {
685
+ _this.results_update_field(evt);
686
+ });
687
+ this.form_field_jq.bind("chosen:activate.chosen", function(evt) {
688
+ _this.activate_field(evt);
689
+ });
690
+ this.form_field_jq.bind("chosen:open.chosen", function(evt) {
691
+ _this.container_mousedown(evt);
692
+ });
693
+ this.form_field_jq.bind("chosen:close.chosen", function(evt) {
694
+ _this.input_blur(evt);
695
+ });
696
+ this.search_field.bind('blur.chosen', function(evt) {
697
+ _this.input_blur(evt);
698
+ });
699
+ this.search_field.bind('keyup.chosen', function(evt) {
700
+ _this.keyup_checker(evt);
701
+ });
702
+ this.search_field.bind('keydown.chosen', function(evt) {
703
+ _this.keydown_checker(evt);
704
+ });
705
+ this.search_field.bind('focus.chosen', function(evt) {
706
+ _this.input_focus(evt);
707
+ });
708
+ this.search_field.bind('cut.chosen', function(evt) {
709
+ _this.clipboard_event_checker(evt);
710
+ });
711
+ this.search_field.bind('paste.chosen', function(evt) {
712
+ _this.clipboard_event_checker(evt);
713
+ });
714
+ if (this.is_multiple) {
715
+ return this.search_choices.bind('click.chosen', function(evt) {
716
+ _this.choices_click(evt);
717
+ });
718
+ } else {
719
+ return this.container.bind('click.chosen', function(evt) {
720
+ evt.preventDefault();
721
+ });
722
+ }
723
+ };
724
+
725
+ Chosen.prototype.destroy = function() {
726
+ $(this.container[0].ownerDocument).unbind("click.chosen", this.click_test_action);
727
+ if (this.search_field[0].tabIndex) {
728
+ this.form_field_jq[0].tabIndex = this.search_field[0].tabIndex;
729
+ }
730
+ this.container.remove();
731
+ this.form_field_jq.removeData('chosen');
732
+ return this.form_field_jq.show();
733
+ };
734
+
735
+ Chosen.prototype.search_field_disabled = function() {
736
+ this.is_disabled = this.form_field_jq[0].disabled;
737
+ if (this.is_disabled) {
738
+ this.container.addClass('chosen-disabled');
739
+ this.search_field[0].disabled = true;
740
+ if (!this.is_multiple) {
741
+ this.selected_item.unbind("focus.chosen", this.activate_action);
742
+ }
743
+ return this.close_field();
744
+ } else {
745
+ this.container.removeClass('chosen-disabled');
746
+ this.search_field[0].disabled = false;
747
+ if (!this.is_multiple) {
748
+ return this.selected_item.bind("focus.chosen", this.activate_action);
749
+ }
750
+ }
751
+ };
752
+
753
+ Chosen.prototype.container_mousedown = function(evt) {
754
+ if (!this.is_disabled) {
755
+ if (evt && evt.type === "mousedown" && !this.results_showing) {
756
+ evt.preventDefault();
757
+ }
758
+ if (!((evt != null) && ($(evt.target)).hasClass("search-choice-close"))) {
759
+ if (!this.active_field) {
760
+ if (this.is_multiple) {
761
+ this.search_field.val("");
762
+ }
763
+ $(this.container[0].ownerDocument).bind('click.chosen', this.click_test_action);
764
+ this.results_show();
765
+ } else if (!this.is_multiple && evt && (($(evt.target)[0] === this.selected_item[0]) || $(evt.target).parents("a.chosen-single").length)) {
766
+ evt.preventDefault();
767
+ this.results_toggle();
768
+ }
769
+ return this.activate_field();
770
+ }
771
+ }
772
+ };
773
+
774
+ Chosen.prototype.container_mouseup = function(evt) {
775
+ if (evt.target.nodeName === "ABBR" && !this.is_disabled) {
776
+ return this.results_reset(evt);
777
+ }
778
+ };
779
+
780
+ Chosen.prototype.search_results_mousewheel = function(evt) {
781
+ var delta;
782
+ if (evt.originalEvent) {
783
+ delta = evt.originalEvent.deltaY || -evt.originalEvent.wheelDelta || evt.originalEvent.detail;
784
+ }
785
+ if (delta != null) {
786
+ evt.preventDefault();
787
+ if (evt.type === 'DOMMouseScroll') {
788
+ delta = delta * 40;
789
+ }
790
+ return this.search_results.scrollTop(delta + this.search_results.scrollTop());
791
+ }
792
+ };
793
+
794
+ Chosen.prototype.blur_test = function(evt) {
795
+ if (!this.active_field && this.container.hasClass("chosen-container-active")) {
796
+ return this.close_field();
797
+ }
798
+ };
799
+
800
+ Chosen.prototype.close_field = function() {
801
+ $(this.container[0].ownerDocument).unbind("click.chosen", this.click_test_action);
802
+ this.active_field = false;
803
+ this.results_hide();
804
+ this.container.removeClass("chosen-container-active");
805
+ this.clear_backstroke();
806
+ this.show_search_field_default();
807
+ return this.search_field_scale();
808
+ };
809
+
810
+ Chosen.prototype.activate_field = function() {
811
+ this.container.addClass("chosen-container-active");
812
+ this.active_field = true;
813
+ this.search_field.val(this.search_field.val());
814
+ return this.search_field.focus();
815
+ };
816
+
817
+ Chosen.prototype.test_active_click = function(evt) {
818
+ var active_container;
819
+ active_container = $(evt.target).closest('.chosen-container');
820
+ if (active_container.length && this.container[0] === active_container[0]) {
821
+ return this.active_field = true;
822
+ } else {
823
+ return this.close_field();
824
+ }
825
+ };
826
+
827
+ Chosen.prototype.results_build = function() {
828
+ this.parsing = true;
829
+ this.selected_option_count = null;
830
+ this.results_data = SelectParser.select_to_array(this.form_field);
831
+ if (this.is_multiple) {
832
+ this.search_choices.find("li.search-choice").remove();
833
+ } else if (!this.is_multiple) {
834
+ this.single_set_selected_text();
835
+ if (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) {
836
+ this.search_field[0].readOnly = true;
837
+ this.container.addClass("chosen-container-single-nosearch");
838
+ } else {
839
+ this.search_field[0].readOnly = false;
840
+ this.container.removeClass("chosen-container-single-nosearch");
841
+ }
842
+ }
843
+ this.update_results_content(this.results_option_build({
844
+ first: true
845
+ }));
846
+ this.search_field_disabled();
847
+ this.show_search_field_default();
848
+ this.search_field_scale();
849
+ return this.parsing = false;
850
+ };
851
+
852
+ Chosen.prototype.result_do_highlight = function(el) {
853
+ var high_bottom, high_top, maxHeight, visible_bottom, visible_top;
854
+ if (el.length) {
855
+ this.result_clear_highlight();
856
+ this.result_highlight = el;
857
+ this.result_highlight.addClass("highlighted");
858
+ maxHeight = parseInt(this.search_results.css("maxHeight"), 10);
859
+ visible_top = this.search_results.scrollTop();
860
+ visible_bottom = maxHeight + visible_top;
861
+ high_top = this.result_highlight.position().top + this.search_results.scrollTop();
862
+ high_bottom = high_top + this.result_highlight.outerHeight();
863
+ if (high_bottom >= visible_bottom) {
864
+ return this.search_results.scrollTop((high_bottom - maxHeight) > 0 ? high_bottom - maxHeight : 0);
865
+ } else if (high_top < visible_top) {
866
+ return this.search_results.scrollTop(high_top);
867
+ }
868
+ }
869
+ };
870
+
871
+ Chosen.prototype.result_clear_highlight = function() {
872
+ if (this.result_highlight) {
873
+ this.result_highlight.removeClass("highlighted");
874
+ }
875
+ return this.result_highlight = null;
876
+ };
877
+
878
+ Chosen.prototype.results_show = function() {
879
+ if (this.is_multiple && this.max_selected_options <= this.choices_count()) {
880
+ this.form_field_jq.trigger("chosen:maxselected", {
881
+ chosen: this
882
+ });
883
+ return false;
884
+ }
885
+ this.container.addClass("chosen-with-drop");
886
+ this.results_showing = true;
887
+ this.search_field.focus();
888
+ this.search_field.val(this.search_field.val());
889
+ this.winnow_results();
890
+ return this.form_field_jq.trigger("chosen:showing_dropdown", {
891
+ chosen: this
892
+ });
893
+ };
894
+
895
+ Chosen.prototype.update_results_content = function(content) {
896
+ return this.search_results.html(content);
897
+ };
898
+
899
+ Chosen.prototype.results_hide = function() {
900
+ if (this.results_showing) {
901
+ this.result_clear_highlight();
902
+ this.container.removeClass("chosen-with-drop");
903
+ this.form_field_jq.trigger("chosen:hiding_dropdown", {
904
+ chosen: this
905
+ });
906
+ }
907
+ return this.results_showing = false;
908
+ };
909
+
910
+ Chosen.prototype.set_tab_index = function(el) {
911
+ var ti;
912
+ if (this.form_field.tabIndex) {
913
+ ti = this.form_field.tabIndex;
914
+ this.form_field.tabIndex = -1;
915
+ return this.search_field[0].tabIndex = ti;
916
+ }
917
+ };
918
+
919
+ Chosen.prototype.set_label_behavior = function() {
920
+ var _this = this;
921
+ this.form_field_label = this.form_field_jq.parents("label");
922
+ if (!this.form_field_label.length && this.form_field.id.length) {
923
+ this.form_field_label = $("label[for='" + this.form_field.id + "']");
924
+ }
925
+ if (this.form_field_label.length > 0) {
926
+ return this.form_field_label.bind('click.chosen', function(evt) {
927
+ if (_this.is_multiple) {
928
+ return _this.container_mousedown(evt);
929
+ } else {
930
+ return _this.activate_field();
931
+ }
932
+ });
933
+ }
934
+ };
935
+
936
+ Chosen.prototype.show_search_field_default = function() {
937
+ if (this.is_multiple && this.choices_count() < 1 && !this.active_field) {
938
+ this.search_field.val(this.default_text);
939
+ return this.search_field.addClass("default");
940
+ } else {
941
+ this.search_field.val("");
942
+ return this.search_field.removeClass("default");
943
+ }
944
+ };
945
+
946
+ Chosen.prototype.search_results_mouseup = function(evt) {
947
+ var target;
948
+ target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first();
949
+ if (target.length) {
950
+ this.result_highlight = target;
951
+ this.result_select(evt);
952
+ return this.search_field.focus();
953
+ }
954
+ };
955
+
956
+ Chosen.prototype.search_results_mouseover = function(evt) {
957
+ var target;
958
+ target = $(evt.target).hasClass("active-result") ? $(evt.target) : $(evt.target).parents(".active-result").first();
959
+ if (target) {
960
+ // Uncomment to enable preview on mouseover
961
+ // this.result_highlight = target;
962
+ // this.result_select(evt);
963
+ // this.result_do_highlight(target);
964
+ // return this.search_field.focus();
965
+
966
+ return this.result_do_highlight(target);
967
+ }
968
+ };
969
+
970
+ Chosen.prototype.search_results_mouseout = function(evt) {
971
+ if ($(evt.target).hasClass("active-result" || $(evt.target).parents('.active-result').first())) {
972
+ return this.result_clear_highlight();
973
+ }
974
+ };
975
+
976
+ Chosen.prototype.choice_build = function(item) {
977
+ var choice, close_link,
978
+ _this = this;
979
+ choice = $('<li />', {
980
+ "class": "search-choice"
981
+ }).html("<span>" + item.html + "</span>");
982
+ if (item.disabled) {
983
+ choice.addClass('search-choice-disabled');
984
+ } else {
985
+ close_link = $('<a />', {
986
+ "class": 'search-choice-close',
987
+ 'data-option-array-index': item.array_index
988
+ });
989
+ close_link.bind('click.chosen', function(evt) {
990
+ return _this.choice_destroy_link_click(evt);
991
+ });
992
+ choice.append(close_link);
993
+ }
994
+ return this.search_container.before(choice);
995
+ };
996
+
997
+ Chosen.prototype.choice_destroy_link_click = function(evt) {
998
+ evt.preventDefault();
999
+ evt.stopPropagation();
1000
+ if (!this.is_disabled) {
1001
+ return this.choice_destroy($(evt.target));
1002
+ }
1003
+ };
1004
+
1005
+ Chosen.prototype.choice_destroy = function(link) {
1006
+ if (this.result_deselect(link[0].getAttribute("data-option-array-index"))) {
1007
+ this.show_search_field_default();
1008
+ if (this.is_multiple && this.choices_count() > 0 && this.search_field.val().length < 1) {
1009
+ this.results_hide();
1010
+ }
1011
+ link.parents('li').first().remove();
1012
+ return this.search_field_scale();
1013
+ }
1014
+ };
1015
+
1016
+ Chosen.prototype.results_reset = function() {
1017
+ this.reset_single_select_options();
1018
+ this.form_field.options[0].selected = true;
1019
+ this.single_set_selected_text();
1020
+ this.show_search_field_default();
1021
+ this.results_reset_cleanup();
1022
+ this.form_field_jq.trigger("change");
1023
+ if (this.active_field) {
1024
+ return this.results_hide();
1025
+ }
1026
+ };
1027
+
1028
+ Chosen.prototype.results_reset_cleanup = function() {
1029
+ this.current_selectedIndex = this.form_field.selectedIndex;
1030
+ return this.selected_item.find("abbr").remove();
1031
+ };
1032
+
1033
+ Chosen.prototype.result_select = function(evt) {
1034
+ var high, item;
1035
+ if (this.result_highlight) {
1036
+ high = this.result_highlight;
1037
+ // this.result_clear_highlight();
1038
+ if (this.is_multiple && this.max_selected_options <= this.choices_count()) {
1039
+ this.form_field_jq.trigger("chosen:maxselected", {
1040
+ chosen: this
1041
+ });
1042
+ return false;
1043
+ }
1044
+ if (this.is_multiple) {
1045
+ high.removeClass("active-result");
1046
+ } else {
1047
+ this.reset_single_select_options();
1048
+ }
1049
+ item = this.results_data[high[0].getAttribute("data-option-array-index")];
1050
+ item.selected = true;
1051
+ this.form_field.options[item.options_index].selected = true;
1052
+ this.selected_option_count = null;
1053
+ if (this.is_multiple) {
1054
+ this.choice_build(item);
1055
+ } else {
1056
+ this.single_set_selected_text(item.text);
1057
+ }
1058
+ if (!((evt.metaKey || evt.ctrlKey) && this.is_multiple)) {
1059
+ // this.results_hide();
1060
+ }
1061
+ // this.search_field.val("");
1062
+ if (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) {
1063
+ this.form_field_jq.trigger("change", {
1064
+ 'selected': this.form_field.options[item.options_index].value
1065
+ });
1066
+ }
1067
+ this.current_selectedIndex = this.form_field.selectedIndex;
1068
+ return this.search_field_scale();
1069
+ }
1070
+ };
1071
+
1072
+ Chosen.prototype.single_set_selected_text = function(text) {
1073
+ if (text == null) {
1074
+ text = this.default_text;
1075
+ }
1076
+ if (text === this.default_text) {
1077
+ this.selected_item.addClass("chosen-default");
1078
+ } else {
1079
+ this.single_deselect_control_build();
1080
+ this.selected_item.removeClass("chosen-default");
1081
+ }
1082
+ return this.selected_item.find("span").text(text);
1083
+ };
1084
+
1085
+ Chosen.prototype.result_deselect = function(pos) {
1086
+ var result_data;
1087
+ result_data = this.results_data[pos];
1088
+ if (!this.form_field.options[result_data.options_index].disabled) {
1089
+ result_data.selected = false;
1090
+ this.form_field.options[result_data.options_index].selected = false;
1091
+ this.selected_option_count = null;
1092
+ this.result_clear_highlight();
1093
+ if (this.results_showing) {
1094
+ this.winnow_results();
1095
+ }
1096
+ this.form_field_jq.trigger("change", {
1097
+ deselected: this.form_field.options[result_data.options_index].value
1098
+ });
1099
+ this.search_field_scale();
1100
+ return true;
1101
+ } else {
1102
+ return false;
1103
+ }
1104
+ };
1105
+
1106
+ Chosen.prototype.single_deselect_control_build = function() {
1107
+ if (!this.allow_single_deselect) {
1108
+ return;
1109
+ }
1110
+ if (!this.selected_item.find("abbr").length) {
1111
+ this.selected_item.find("span").first().after("<abbr class=\"search-choice-close\"></abbr>");
1112
+ }
1113
+ return this.selected_item.addClass("chosen-single-with-deselect");
1114
+ };
1115
+
1116
+ Chosen.prototype.get_search_text = function() {
1117
+ if (this.search_field.val() === this.default_text) {
1118
+ return "";
1119
+ } else {
1120
+ return $('<div/>').text($.trim(this.search_field.val())).html();
1121
+ }
1122
+ };
1123
+
1124
+ Chosen.prototype.winnow_results_set_highlight = function() {
1125
+ var do_high, selected_results;
1126
+ selected_results = !this.is_multiple ? this.search_results.find(".result-selected.active-result") : [];
1127
+ do_high = selected_results.length ? selected_results.first() : this.search_results.find(".active-result").first();
1128
+ if (do_high != null) {
1129
+ return this.result_do_highlight(do_high);
1130
+ }
1131
+ };
1132
+
1133
+ Chosen.prototype.no_results = function(terms) {
1134
+ var no_results_html;
1135
+ no_results_html = $('<li class="no-results">' + this.results_none_found + ' "<span></span>"</li>');
1136
+ no_results_html.find("span").first().html(terms);
1137
+ this.search_results.append(no_results_html);
1138
+ return this.form_field_jq.trigger("chosen:no_results", {
1139
+ chosen: this
1140
+ });
1141
+ };
1142
+
1143
+ Chosen.prototype.no_results_clear = function() {
1144
+ return this.search_results.find(".no-results").remove();
1145
+ };
1146
+
1147
+ Chosen.prototype.keydown_arrow = function() {
1148
+ var next_sib;
1149
+ if (this.results_showing && this.result_highlight) {
1150
+ next_sib = this.result_highlight.nextAll("li.active-result").first();
1151
+ if (next_sib) {
1152
+ return this.result_do_highlight(next_sib);
1153
+ }
1154
+ } else {
1155
+ return this.results_show();
1156
+ }
1157
+ };
1158
+
1159
+ Chosen.prototype.keyup_arrow = function() {
1160
+ var prev_sibs;
1161
+ if (!this.results_showing && !this.is_multiple) {
1162
+ return this.results_show();
1163
+ } else if (this.result_highlight) {
1164
+ prev_sibs = this.result_highlight.prevAll("li.active-result");
1165
+ if (prev_sibs.length) {
1166
+ return this.result_do_highlight(prev_sibs.first());
1167
+ } else {
1168
+ if (this.choices_count() > 0) {
1169
+ this.results_hide();
1170
+ }
1171
+ return this.result_clear_highlight();
1172
+ }
1173
+ }
1174
+ };
1175
+
1176
+ Chosen.prototype.keydown_backstroke = function() {
1177
+ var next_available_destroy;
1178
+ if (this.pending_backstroke) {
1179
+ this.choice_destroy(this.pending_backstroke.find("a").first());
1180
+ return this.clear_backstroke();
1181
+ } else {
1182
+ next_available_destroy = this.search_container.siblings("li.search-choice").last();
1183
+ if (next_available_destroy.length && !next_available_destroy.hasClass("search-choice-disabled")) {
1184
+ this.pending_backstroke = next_available_destroy;
1185
+ if (this.single_backstroke_delete) {
1186
+ return this.keydown_backstroke();
1187
+ } else {
1188
+ return this.pending_backstroke.addClass("search-choice-focus");
1189
+ }
1190
+ }
1191
+ }
1192
+ };
1193
+
1194
+ Chosen.prototype.clear_backstroke = function() {
1195
+ if (this.pending_backstroke) {
1196
+ this.pending_backstroke.removeClass("search-choice-focus");
1197
+ }
1198
+ return this.pending_backstroke = null;
1199
+ };
1200
+
1201
+ Chosen.prototype.keydown_checker = function(evt) {
1202
+ var stroke, _ref1;
1203
+ stroke = (_ref1 = evt.which) != null ? _ref1 : evt.keyCode;
1204
+ this.search_field_scale();
1205
+ if (stroke !== 8 && this.pending_backstroke) {
1206
+ this.clear_backstroke();
1207
+ }
1208
+ switch (stroke) {
1209
+ case 8:
1210
+ this.backstroke_length = this.search_field.val().length;
1211
+ break;
1212
+ case 9:
1213
+ if (this.results_showing && !this.is_multiple) {
1214
+ this.result_select(evt);
1215
+ }
1216
+ this.mouse_on_container = false;
1217
+ break;
1218
+ case 13:
1219
+ if (this.results_showing) {
1220
+ evt.preventDefault();
1221
+ }
1222
+ break;
1223
+ case 32:
1224
+ if (this.disable_search) {
1225
+ evt.preventDefault();
1226
+ }
1227
+ break;
1228
+ case 38:
1229
+ evt.preventDefault();
1230
+ this.keyup_arrow();
1231
+ break;
1232
+ case 40:
1233
+ evt.preventDefault();
1234
+ this.keydown_arrow();
1235
+ break;
1236
+ }
1237
+ };
1238
+
1239
+ Chosen.prototype.search_field_scale = function() {
1240
+ var div, f_width, h, style, style_block, styles, w, _i, _len;
1241
+ if (this.is_multiple) {
1242
+ h = 0;
1243
+ w = 0;
1244
+ style_block = "position:absolute; left: -1000px; top: -1000px; display:none;";
1245
+ styles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing'];
1246
+ for (_i = 0, _len = styles.length; _i < _len; _i++) {
1247
+ style = styles[_i];
1248
+ style_block += style + ":" + this.search_field.css(style) + ";";
1249
+ }
1250
+ div = $('<div />', {
1251
+ 'style': style_block
1252
+ });
1253
+ div.text(this.search_field.val());
1254
+ $('body').append(div);
1255
+ w = div.width() + 25;
1256
+ div.remove();
1257
+ f_width = this.container.outerWidth();
1258
+ if (w > f_width - 10) {
1259
+ w = f_width - 10;
1260
+ }
1261
+ return this.search_field.css({
1262
+ 'width': w + 'px'
1263
+ });
1264
+ }
1265
+ };
1266
+
1267
+ return Chosen;
1268
+
1269
+ })(AbstractChosen);
1270
+
1271
+ }).call(this);
assets/js/customize-controls.js ADDED
@@ -0,0 +1,1112 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**===============================================================
2
+ * Customizer Controls
3
+ * ===============================================================
4
+ *
5
+ * This file contains all custom jQuery plugins and code used on
6
+ * the WordPress Customizer screen. It contains all of the js
7
+ * code necessary to enable the custom controls used in the live
8
+ * previewer. Big performance enhancement in this version, this
9
+ * file has been completely rewritten from the ground up.
10
+ *
11
+ * PLEASE NOTE: The following jQuery plugin dependancies are
12
+ * required in order for this file to run correctly:
13
+ *
14
+ * 1. jQuery ( http://jquery.com/ )
15
+ * 2. jQuery UI ( http://jqueryui.com/ )
16
+ * 3. Underscore JS
17
+ * 4. Backbone
18
+ *
19
+ * @since 1.3.4
20
+ * @version 1.4.4
21
+ *
22
+ * Note: this.renderContent(); is used to rerender the control
23
+ *
24
+ */
25
+
26
+ /**
27
+ * Font Subset Query Caching
28
+ * =========================
29
+ *
30
+ * By querying the list of google fonts once and
31
+ * storing it into the global window context we
32
+ * can benefit from a huge performance increase
33
+ * and we can also reference the query from the
34
+ * template files.
35
+ *
36
+ * @since 1.3.4
37
+ * @version 1.4.4
38
+ *
39
+ */
40
+ ;( function( api, $, window, document, undefined ) { "use strict"
41
+
42
+ // Bail if customizer object isn't in the DOM.
43
+ if ( ! wp || ! wp.customize ) {
44
+ return;
45
+ }
46
+
47
+ /**
48
+ * Get Font by Subset
49
+ *
50
+ * Helper function to get fonts with a
51
+ * particular subset. This function is
52
+ * referenced within template files.
53
+ *
54
+ * @param {string} subset - Subset to retrieve.
55
+ * @param {object} fonts - JSON object containing fonts.
56
+ * @return {object} matchingFonts - JSON object containing fonts with subset.
57
+ *
58
+ * @since 1.3.4
59
+ * @version 1.4.4
60
+ *
61
+ */
62
+ window.egfGetFontsBySubset = function ( subset, fonts ) {
63
+
64
+ // Return fonts if all subsets are selected.
65
+ if ( 'all' === subset || 'latin,all' === subset ) {
66
+ return fonts;
67
+ }
68
+
69
+ // Find matching fonts.
70
+ var matchingFonts = {};
71
+
72
+ _.each( fonts, function( font, id ) {
73
+ if ( _.contains( font.subsets, subset ) ) {
74
+ matchingFonts[ id ] = font;
75
+ }
76
+ });
77
+
78
+ // Return matching fonts.
79
+ return matchingFonts;
80
+ };
81
+
82
+ /**
83
+ * Cache Google Font Subsets Lookup Query
84
+ *
85
+ * @description - By looping through the fonts
86
+ * object once and caching the subsets we
87
+ * increase performance in the customizer.
88
+ *
89
+ * @since 1.3.4
90
+ * @version 1.4.4
91
+ *
92
+ */
93
+ var standard = {},
94
+ serif = {},
95
+ sansSerif = {},
96
+ display = {},
97
+ handwriting = {},
98
+ monospace = {};
99
+
100
+ // Filter fonts by subset.
101
+ var subsets = _.filter( egfAllFonts, function( value, key ) {
102
+ if ( "default" === value.font_type ) {
103
+ standard[ key ] = value;
104
+ } else {
105
+ switch( value.category ) {
106
+ case "serif":
107
+ serif[ key ] = value;
108
+ break;
109
+
110
+ case "sans-serif":
111
+ sansSerif[ key ] = value;
112
+ break;
113
+
114
+ case "display":
115
+ display[ key ] = value;
116
+ break;
117
+
118
+ case "handwriting":
119
+ handwriting[ key ] = value;
120
+ break;
121
+
122
+ case "monospace":
123
+ monospace[ key ] = value;
124
+ break;
125
+ }
126
+ }
127
+ });
128
+
129
+ /**
130
+ * Add the results as a json object in the
131
+ * global window context so that we can
132
+ * reference it in our control template.
133
+ *
134
+ */
135
+ window.egfAllFontsBySubset = {};
136
+ egfAllFontsBySubset["standard"] = standard;
137
+ egfAllFontsBySubset["serif"] = serif;
138
+ egfAllFontsBySubset["sansSerif"] = sansSerif;
139
+ egfAllFontsBySubset["display"] = display;
140
+ egfAllFontsBySubset["handwriting"] = handwriting;
141
+ egfAllFontsBySubset["monospace"] = monospace;
142
+
143
+ }( wp.customize, jQuery, window, document ) );
144
+
145
+ /**
146
+ * EGF Font Control Plugin
147
+ * =======================
148
+ *
149
+ * Extends the wp.customize.Control class and
150
+ * defines a custom control to use in the
151
+ * customizer that is completely client side
152
+ * driven. This plugin now utilises the new
153
+ * customizer js api.
154
+ *
155
+ * @since 1.3.4
156
+ * @version 1.4.4
157
+ *
158
+ */
159
+ ;( function( api, $, window, document, undefined ) { "use strict"
160
+
161
+ // Bail if customizer object isn't in the DOM.
162
+ if ( ! wp || ! wp.customize ) {
163
+ return;
164
+ }
165
+
166
+ /**
167
+ * An EGF Font Control
168
+ *
169
+ * @class
170
+ * @augments wp.customize.Control
171
+ * @augments wp.customize.Class
172
+ *
173
+ * @since 1.3.4
174
+ * @version 1.4.4
175
+ *
176
+ */
177
+ api.EGFFontControl = api.Control.extend({});
178
+ _.extend( api.EGFFontControl.prototype, {
179
+
180
+ /**
181
+ * Font Control Setup
182
+ *
183
+ * @description - Triggered when the control's
184
+ * markup has been injected into the DOM.
185
+ *
186
+ * @since 1.3.4
187
+ * @version 1.4.4
188
+ *
189
+ */
190
+ ready: function() {
191
+ var control = this;
192
+
193
+ // Shortcut so that we don't have to use
194
+ // _.bind every time we add a callback.
195
+ _.bindAll(
196
+ control,
197
+ 'changeProperty',
198
+ 'toggleProperties',
199
+ 'selectTabPane',
200
+ 'setupFontSearch',
201
+ 'focusFontFamilyInput',
202
+ 'reset',
203
+ 'initControls',
204
+ 'initFontChangeListeners',
205
+ 'setSubset',
206
+ 'setFontFamily',
207
+ 'setFontWeight',
208
+ 'setFontWeightField',
209
+ 'setTextDecoration',
210
+ 'setTextTransform',
211
+ 'setFontColor',
212
+ 'setBackgroundColor',
213
+ 'createSliderControl',
214
+ 'createColorControl',
215
+ 'setupFontSizeSlider',
216
+ 'setupLineHeightSlider',
217
+ 'setupLetterSpacingSlider',
218
+ 'setupMarginSliders',
219
+ 'setupPaddingSliders',
220
+ 'setDisplay',
221
+ 'setupBorderControls',
222
+ 'setupBorderVisibility',
223
+ 'setupBorderRadiusSliders'
224
+ );
225
+
226
+ // Inititialize the font control functionality.
227
+ control.container.on( 'click', '.egf-font-toggle-trigger', control.toggleProperties );
228
+ control.container.on( 'click', '.egf-customizer-tabs li', control.selectTab );
229
+ control.container.on( 'click', '.egf-customizer-tabs li', control.selectTabPane );
230
+ control.container.on( 'click', '.egf-font-toggle .toggle-section-title', control.togglePositioningAccordion );
231
+
232
+ // Initialise controls (lazy loaded for performance).
233
+ control.container.one( 'click', '.egf-font-toggle-trigger', control.initControls );
234
+ control.container.one( 'click', '.egf-font-toggle-trigger', control.initFontChangeListeners );
235
+
236
+ // Main reset event.
237
+ control.container.on( 'click', '.egf-reset-font', control.reset );
238
+
239
+ // Bind reset events to all of the controls
240
+ // within this control.
241
+ control.container.on( 'click', '.egf-reset-font', control.initControls );
242
+
243
+ // Border control <select> listeners
244
+ var positions = [ 'top', 'bottom', 'left', 'right' ];
245
+
246
+ _.each( positions, function( position ) {
247
+ control.container.on(
248
+ 'keyup change',
249
+ '.egf-border-' + position + '-controls .egf-border-style',
250
+ function() {
251
+ var property = {};
252
+ var borderStyle = control.container.find( '.egf-border-' + position + '-controls .egf-border-style' ).val();
253
+
254
+ // Get property.
255
+ property[ 'border_' + position + '_style' ] = borderStyle;
256
+
257
+ // Set property.
258
+ control.changeProperty( property );
259
+ }
260
+ );
261
+ });
262
+ },
263
+
264
+ /**
265
+ * Reset Font Control
266
+ *
267
+ * @description - Resets this font control to it's
268
+ * default values.
269
+ *
270
+ * @since 1.3.4
271
+ * @version 1.4.4
272
+ *
273
+ */
274
+ reset: function() {
275
+ this.setting.set( this.params.egf_defaults );
276
+ this.changeProperty( this.params.egf_defaults );
277
+ this.renderContent();
278
+ },
279
+
280
+ /**
281
+ * Initialise Controls
282
+ *
283
+ * @description - Sets up the sliders, color
284
+ * pickers and chosen js script required
285
+ * for this font control. Wrapped in a
286
+ * function so that it can be lazy
287
+ * loaded for performance.
288
+ *
289
+ * @since 1.3.4
290
+ * @version 1.4.4
291
+ *
292
+ */
293
+ initControls: function() {
294
+ var control = this;
295
+ control.setupFontSearch();
296
+ control.setFontColor();
297
+ control.setBackgroundColor();
298
+ control.setupFontSizeSlider();
299
+ control.setupLineHeightSlider();
300
+ control.setupLetterSpacingSlider();
301
+ control.setupMarginSliders();
302
+ control.setupPaddingSliders();
303
+ control.setupBorderControls();
304
+ control.setupBorderRadiusSliders();
305
+ },
306
+
307
+ /**
308
+ * Initialise Font Change Listeners
309
+ *
310
+ * @description - Sets up the listeners required
311
+ * to change the fonts in realtime. Wrapped
312
+ * in a function so that it can be lazy
313
+ * loaded for performance.
314
+ *
315
+ * @since 1.3.4
316
+ * @version 1.4.4
317
+ *
318
+ */
319
+ initFontChangeListeners: function() {
320
+ var control = this;
321
+ // Bind control listeners to all of the
322
+ // controls within this control.
323
+ control.container.on( 'keyup change', '.egf-font-subsets', control.setSubset );
324
+ control.container.on( 'keyup change', '.egf-font-subsets', control.setFontFamily );
325
+ control.container.on( 'keyup change', '.egf-font-subsets', control.focusFontFamilyInput );
326
+ control.container.on( 'keyup change', '.egf-font-subsets', control.initControls );
327
+ control.container.on( 'keyup change', '.egf-font-family', control.setFontFamily );
328
+ control.container.on( 'keyup change', '.egf-font-family', control.setFontWeight );
329
+ control.container.on( 'keyup change', '.egf-font-family', control.focusFontFamilyInput );
330
+ control.container.on( 'keyup change', '.egf-font-family', control.initControls );
331
+
332
+ control.container.on( 'keyup change', '.egf-font-weight', control.setFontWeight );
333
+ control.container.on( 'keyup change', '.egf-text-decoration', control.setTextDecoration );
334
+ control.container.on( 'keyup change', '.egf-text-transform', control.setTextTransform );
335
+ control.container.on( 'keyup change', '.egf-font-display-element', control.setDisplay );
336
+ control.container.on( 'keyup change', '.egf-switch-border-control', control.setupBorderVisibility );
337
+ },
338
+
339
+ /**
340
+ * Change Single Property
341
+ *
342
+ * @description - Changes a single property for
343
+ * this font control by parsing the new
344
+ * values with the current settings.
345
+ *
346
+ * @param {object} propertyObj - Object with properties and values to change.
347
+ *
348
+ * @since 1.3.4
349
+ * @version 1.4.4
350
+ *
351
+ */
352
+ changeProperty: function( propertyObj ) {
353
+ var control = this;
354
+ var id = control["id"];
355
+
356
+ // Send the updated property to the previewer.
357
+ _.each( propertyObj, function( value, key ) {
358
+ api.previewer.send( 'tt_font_theme_options[' + id + '][' + key + ']', value );
359
+ });
360
+
361
+ // Set the property.
362
+ this.setting.set( _.defaults( propertyObj, this.setting() ) );
363
+ },
364
+
365
+ /**
366
+ * Toggle Properties
367
+ *
368
+ * @description - Display/Hide the properties for
369
+ * this font control when the toggle trigger
370
+ * is clicked.
371
+ *
372
+ * @since 1.3.4
373
+ * @version 1.4.4
374
+ *
375
+ */
376
+ toggleProperties: function() {
377
+ this.container.toggleClass( 'egf-active' );
378
+ },
379
+
380
+ /**
381
+ * Initialize Tab Selection
382
+ *
383
+ * @param {object} e - Event object.
384
+ *
385
+ * @since 1.3.4
386
+ * @version 1.4.4
387
+ *
388
+ */
389
+ selectTab: function(e) {
390
+ $(this).addClass( 'selected' );
391
+ $(this).siblings().removeClass( 'selected' );
392
+ },
393
+
394
+ /**
395
+ * Select Tab Pane
396
+ *
397
+ * @description - Switches the tab pane content
398
+ * depending on the tab selected.
399
+ *
400
+ * @param {object} e - Event object.
401
+ *
402
+ * @since 1.3.4
403
+ * @version 1.4.4
404
+ *
405
+ */
406
+ selectTabPane: function(e) {
407
+ // Get selected tab pane id.
408
+ var id = this.container.find( '[data-customize-tab].selected' ).data( 'customize-tab' );
409
+
410
+ // Show/hide the appropriate tab panes.
411
+ this.container.find( "[data-customize-tab-pane]" ).removeClass( 'selected' );
412
+ this.container.find( "[data-customize-tab-pane=" + id + "]" ).addClass( 'selected' );
413
+ },
414
+
415
+ /**
416
+ * Setup Font Search
417
+ *
418
+ * @description - Initialises the chosen js script
419
+ * to allow a more user friendly way of
420
+ * searching the font list.
421
+ *
422
+ * @param {object} e - Event object.
423
+ *
424
+ * @since 1.3.4
425
+ * @version 1.4.4
426
+ *
427
+ */
428
+ setupFontSearch: function(e) {
429
+ this.container.find( '.egf-font-family' ).chosen({
430
+ width: "100%",
431
+ search_contains : true
432
+ });
433
+ },
434
+
435
+ /**
436
+ * Focus Font Search Input
437
+ *
438
+ * @description - Sets the focus back on the font
439
+ * family input when the controls are refreshed
440
+ * to improve usability.
441
+ *
442
+ * @since 1.3.4
443
+ * @version 1.4.4
444
+ *
445
+ */
446
+ focusFontFamilyInput: function() {
447
+ this.container.find( '.egf-font-family' ).trigger("chosen:open");
448
+ this.container.find( '.egf-font-family' ).trigger("chosen:activate");
449
+ },
450
+
451
+ /**
452
+ * Set Subset
453
+ *
454
+ * @description - Sets the subset value for this
455
+ * font control based on the users selection.
456
+ *
457
+ * @param {object} e - Event object.
458
+ *
459
+ * @since 1.3.4
460
+ * @version 1.4.4
461
+ *
462
+ */
463
+ setSubset: function(e) {
464
+ var subset = this.container.find( '.egf-font-subsets' ).val();
465
+ this.changeProperty({ subset: subset });
466
+ this.renderContent();
467
+ this.setupFontSearch();
468
+ },
469
+
470
+ /**
471
+ * Set Font Family
472
+ *
473
+ * @description - Sets the font family and the initial
474
+ * font weight for this font control (to the first
475
+ * available font weight) based on the users
476
+ * selection. Sets the following properties for
477
+ * this font control:
478
+ * - font_id
479
+ * - font_name
480
+ * - font_style
481
+ * - font_weight
482
+ * - font_weight_style
483
+ * - stylesheet_url
484
+ *
485
+ * @since 1.3.4
486
+ * @version 1.4.4
487
+ *
488
+ */
489
+ setFontFamily: function() {
490
+ // Get the id for the selected font.
491
+ var fontId = this.container.find( '.egf-font-family' ).val();
492
+ var subset = this.container.find( '.egf-font-subsets' ).val();
493
+
494
+ // Check for theme defaults.
495
+ if ( "" === fontId || "undefined" === typeof( egfAllFonts[ fontId ]["name"] ) ) {
496
+
497
+ // Revert to defaults.
498
+ this.changeProperty({
499
+ font_id : this.params.egf_defaults.font_id,
500
+ font_name : this.params.egf_defaults.font_name,
501
+ font_style : this.params.egf_defaults.font_style,
502
+ font_weight : this.params.egf_defaults.font_weight,
503
+ font_weight_style : this.params.egf_defaults.font_weight_style,
504
+ stylesheet_url : stylesheetUrl,
505
+ stylesheet_obj : {
506
+ 'url' : this.params.egf_defaults.stylesheet_url,
507
+ 'subset' : this.params.egf_defaults.subset
508
+ }
509
+ });
510
+
511
+ // Rerender the font weight control.
512
+ this.setFontWeightField();
513
+
514
+ // Exit function.
515
+ return;
516
+ }
517
+
518
+ // Get font family properties.
519
+ var fontName = egfAllFonts[ fontId ]["name"];
520
+ var fontWeightStyle = egfAllFonts[ fontId ]["font_weights"][0];
521
+ var weight = parseInt( fontWeightStyle, 10 );
522
+ var style = 'normal';
523
+ var stylesheetUrl = egfAllFonts[ fontId ]["urls"][ fontWeightStyle ];
524
+
525
+ // Set default font weight if weight is NaN
526
+ if ( ( ! weight ) || fontWeightStyle.indexOf( 'regular' ) !== -1 ) {
527
+ weight = 400;
528
+ }
529
+
530
+ // Set font style attribute if it is italic
531
+ if ( 'italic' === fontWeightStyle || fontWeightStyle.indexOf( 'italic' ) !== -1 ) {
532
+ style = 'italic';
533
+ }
534
+
535
+ // Change the setting
536
+ this.changeProperty({
537
+ font_id : fontId,
538
+ font_name : fontName,
539
+ font_style : style,
540
+ font_weight : weight,
541
+ font_weight_style : fontWeightStyle,
542
+ stylesheet_url : stylesheetUrl,
543
+ stylesheet_obj : {
544
+ 'url' : stylesheetUrl,
545
+ 'subset' : subset
546
+ }
547
+ });
548
+
549
+ // Rerender the font weight control.
550
+ this.setFontWeightField();
551
+ },
552
+
553
+ /**
554
+ * Set Font Weight
555
+ *
556
+ * @description - Sets the font weight and style
557
+ * for this font control based on the users
558
+ * selection. Sets the following properties
559
+ * for this font control:
560
+ * - font_style
561
+ * - font_weight
562
+ * - font_weight_style
563
+ * - stylesheet_url
564
+ *
565
+ * @since 1.3.4
566
+ * @version 1.4.4
567
+ *
568
+ */
569
+ setFontWeight: function() {
570
+ // Get selected font weight style.
571
+ var fontWeightStyle = this.container.find( '.egf-font-weight' ).val();
572
+ var subset = this.container.find( '.egf-font-subsets' ).val();
573
+
574
+ // Check for theme defaults.
575
+ if ( "" === fontWeightStyle ) {
576
+
577
+ // Revert to defaults.
578
+ this.changeProperty({
579
+ font_style : this.params.egf_defaults.font_style,
580
+ font_weight : this.params.egf_defaults.font_weight,
581
+ font_weight_style : this.params.egf_defaults.font_weight_style,
582
+ stylesheet_url : stylesheetUrl,
583
+ stylesheet_obj : {
584
+ 'url' : this.params.egf_defaults.stylesheet_url,
585
+ 'subset' : this.params.egf_defaults.subset
586
+ }
587
+ });
588
+
589
+ // Exit function.
590
+ return;
591
+ }
592
+
593
+ // Get font family properties.
594
+ var settings = this.setting();
595
+ var fontId = settings.font_id;
596
+ var weight = parseInt( fontWeightStyle, 10 );
597
+ var style = 'normal';
598
+ var stylesheetUrl = egfAllFonts[ fontId ]["urls"][ fontWeightStyle ];
599
+
600
+ // Set default font weight if weight is NaN.
601
+ if ( ( ! weight ) || fontWeightStyle.indexOf( 'regular' ) !== -1 ) {
602
+ weight = 400;
603
+ }
604
+
605
+ // Set font style attribute if it is italic.
606
+ if ( 'italic' === fontWeightStyle || fontWeightStyle.indexOf( 'italic' ) !== -1 ) {
607
+ style = 'italic';
608
+ }
609
+
610
+ // Change the setting.
611
+ this.changeProperty({
612
+ font_style : style,
613
+ font_weight : weight,
614
+ font_weight_style : fontWeightStyle,
615
+ stylesheet_url : stylesheetUrl,
616
+ stylesheet_obj : {
617
+ 'url' : stylesheetUrl,
618
+ 'subset' : subset
619
+ }
620
+ });
621
+
622
+ // Refocus input.
623
+ this.container.find( '.egf-font-weight' ).focus();
624
+ },
625
+
626
+ /**
627
+ * Get Font Weights
628
+ *
629
+ * @description - Sets the <option> values for the
630
+ * font weight <select> field. This function
631
+ * should only be called once the font family
632
+ * json object is set.
633
+ *
634
+ * @since 1.3.4
635
+ * @version 1.4.4
636
+ *
637
+ */
638
+ setFontWeightField: function() {
639
+ var settings = this.setting();
640
+ var fontId = settings.font_id;
641
+ var control = this.container.find( '.egf-font-weight' );
642
+ var output = '';
643
+
644
+ if ( typeof egfAllFonts[ fontId ] === "undefined" ) {
645
+ output += '<option value="">' + egfTranslation.themeDefault + '</option>';
646
+ } else {
647
+ _.each( egfAllFonts[ fontId ]['font_weights'], function( value ) {
648
+ output += '<option value="' + value + '">' + value + '</option>'
649
+ });
650
+ }
651
+
652
+ // Build the new control output.
653
+ control.empty().append( output );
654
+ },
655
+
656
+ /**
657
+ * Set Text Decoration
658
+ *
659
+ * @description - Sets the text decoration for this
660
+ * font control based on the users selection.
661
+ *
662
+ * @param {object} e - Event object.
663
+ *
664
+ * @since 1.3.4
665
+ * @version 1.4.4
666
+ *
667
+ */
668
+ setTextDecoration: function(e) {
669
+ var textDecoration = this.container.find( '.egf-text-decoration' ).val();
670
+ this.changeProperty({ text_decoration: textDecoration });
671
+ this.container.find( '.egf-text-decoration' ).focus();
672
+ },
673
+
674
+ /**
675
+ * Set Text Decoration
676
+ *
677
+ * @description - Sets the text decoration for this
678
+ * font control based on the users selection.
679
+ *
680
+ * @param {object} e - Event object.
681
+ *
682
+ * @since 1.3.4
683
+ * @version 1.4.4
684
+ *
685
+ */
686
+ setTextTransform: function(e) {
687
+ var textTransform = this.container.find( '.egf-text-transform' ).val();
688
+ this.changeProperty({ text_transform: textTransform });
689
+ this.container.find( '.egf-text-transform' ).focus();
690
+ },
691
+
692
+ /**
693
+ * Set Font Color
694
+ *
695
+ * @description - Initialises an iris color picker
696
+ * and sets the font color for this font control
697
+ * based on the users selection.
698
+ *
699
+ * @param {object} e - Event object.
700
+ *
701
+ * @since 1.3.4
702
+ * @version 1.4.4
703
+ *
704
+ */
705
+ setFontColor: function(e) {
706
+ this.createColorControl(
707
+ '.egf-font-color-container',
708
+ 'font_color'
709
+ );
710
+ },
711
+
712
+ /**
713
+ * Set Background Color
714
+ *
715
+ * @description - Initialises an iris color picker
716
+ * and sets the background color for this font
717
+ * control based on the users selection.
718
+ *
719
+ * @param {object} e - Event object.
720
+ *
721
+ * @since 1.3.4
722
+ * @version 1.4.4
723
+ *
724
+ */
725
+ setBackgroundColor: function(e) {
726
+ this.createColorControl(
727
+ '.egf-background-color-container',
728
+ 'background_color'
729
+ );
730
+ },
731
+
732
+ /**
733
+ * Create Slider Control
734
+ *
735
+ * @description - Utility function used to create
736
+ * a new automattic color picker iris control.
737
+ *
738
+ * @param {string} classname CSS class selector.
739
+ * @param {string} property Setting property key to update.
740
+ * @param {number} width Color picker width (default 250)
741
+ *
742
+ * @since 1.3.4
743
+ * @version 1.4.4
744
+ *
745
+ */
746
+ createColorControl: function( classname, property, width ) {
747
+
748
+ width = width || 255;
749
+
750
+ var control = this;
751
+ var propertyObj = {};
752
+ var picker = control.container.find( classname + ' .egf-color-picker-hex' );
753
+
754
+ var callback = function() {
755
+ var propertyObj = {};
756
+ propertyObj[ property ] = picker.wpColorPicker( 'color' );
757
+
758
+ // Update setting.
759
+ control.changeProperty( propertyObj );
760
+ };
761
+
762
+ var resetSetting = function() {
763
+ var propertyObj = {};
764
+ propertyObj[ property ] = false;
765
+
766
+ // Update setting.
767
+ control.changeProperty( propertyObj );
768
+ };
769
+
770
+ picker.wpColorPicker({
771
+ width : width,
772
+ change : callback,
773
+ clear : resetSetting
774
+ });
775
+ },
776
+
777
+ /**
778
+ * Create Slider Control
779
+ *
780
+ * @description - Utility function used to create
781
+ * a new jquery ui slider control. Handles
782
+ * settings with and without units.
783
+ *
784
+ * @param {string} classname CSS class selector.
785
+ * @param {string} property Setting property key to update.
786
+ * @param {string} prefix Property prefix.
787
+ *
788
+ * @since 1.3.4
789
+ * @version 1.4.4
790
+ *
791
+ */
792
+ createSliderControl: function( classname, property, prefix ) {
793
+
794
+ prefix = prefix || property;
795
+
796
+ var control = this;
797
+ var slider = this.container.find( classname + ' .egf-slider' );
798
+ var display = this.container.find( classname + ' .egf-font-slider-display span' );
799
+ var reset = this.container.find( classname + ' .egf-font-slider-reset' );
800
+ var settings = this.setting();
801
+ var properties = this.params.egf_properties;
802
+ var min = this.params.egf_properties[ prefix + '_min_range' ];
803
+ var max = this.params.egf_properties[ prefix + '_max_range' ];
804
+ var step = this.params.egf_properties[ prefix + '_step' ];
805
+ var value = _.isObject( settings[ property ] ) ? settings[ property ].amount : settings[ property ];
806
+
807
+ // Init defaults.
808
+ value = value || 0;
809
+ min = min || 0;
810
+ max = max || 100;
811
+ step = step || 1;
812
+
813
+ // Default callback function.
814
+ var callback = function( event, ui ) {
815
+ var text = ui.value;
816
+ var propertyObj = {};
817
+ propertyObj[ property ] = ui.value;
818
+
819
+ // Update callback functions if units have
820
+ // been passed in the parameter.
821
+ if ( _.isObject( control.params.egf_defaults[ property ] ) ) {
822
+ propertyObj[ property ] = {
823
+ amount: ui.value,
824
+ unit: control.params.egf_defaults[ property ].unit
825
+ };
826
+
827
+ text += control.params.egf_defaults[ property ].unit;
828
+ }
829
+
830
+ // Update display.
831
+ display.text( text );
832
+
833
+ // Update setting.
834
+ control.changeProperty( propertyObj );
835
+ };
836
+
837
+ // Default reset function
838
+ var resetSetting = function() {
839
+ var text = control.params.egf_defaults[ property ];
840
+ var value = control.params.egf_defaults[ property ];
841
+ var propertyObj = {};
842
+ propertyObj[ property ] = control.params.egf_defaults[ property ];
843
+
844
+ if ( _.isObject( control.params.egf_defaults[ property ] ) ) {
845
+
846
+ // Update value.
847
+ value = control.params.egf_defaults[ property ].amount;
848
+
849
+ // Update property.
850
+ propertyObj[ property ] = {
851
+ amount: control.params.egf_defaults[ property ].amount,
852
+ unit: control.params.egf_defaults[ property ].unit
853
+ };
854
+
855
+ // Update display text.
856
+ text = control.params.egf_defaults[ property ].amount + control.params.egf_defaults[ property ].unit;
857
+ }
858
+
859
+ // Update visual control.
860
+ slider.slider({ value : value });
861
+
862
+ // Update display.
863
+ display.text( text );
864
+
865
+ // Update setting.
866
+ control.changeProperty( propertyObj );
867
+ };
868
+
869
+ // Initialize slider.
870
+ slider.slider({
871
+ min: min,
872
+ max: max,
873
+ value: value,
874
+ slide: callback,
875
+ step: step
876
+ });
877
+
878
+ // Reset listener.
879
+ reset.on( 'click', function() {
880
+ resetSetting();
881
+ });
882
+ },
883
+
884
+ /**
885
+ * Setup Font Slider
886
+ *
887
+ * @description - Initialises a new jquery ui
888
+ * slider to set the font size for this font
889
+ * control based on the users selection.
890
+ *
891
+ * @since 1.3.4
892
+ * @version 1.4.4
893
+ *
894
+ */
895
+ setupFontSizeSlider: function() {
896
+ this.createSliderControl(
897
+ '.egf-font-size-slider',
898
+ 'font_size'
899
+ );
900
+ },
901
+
902
+ /**
903
+ * Setup Line Height Slider
904
+ *
905
+ * @description - Initialises a new jquery ui
906
+ * slider to set the line height for this
907
+ * font control based on the users selection.
908
+ *
909
+ * @since 1.3.4
910
+ * @version 1.4.4
911
+ *
912
+ */
913
+ setupLineHeightSlider: function() {
914
+ this.createSliderControl(
915
+ '.egf-line-height-slider',
916
+ 'line_height'
917
+ );
918
+ },
919
+
920
+ /**
921
+ * Setup Letter Spacing Slider
922
+ *
923
+ * @description - Initialises a new jquery ui
924
+ * slider to set the letter spacing for this
925
+ * font control based on the users selection.
926
+ *
927
+ * @since 1.3.4
928
+ * @version 1.4.4
929
+ *
930
+ */
931
+ setupLetterSpacingSlider: function() {
932
+ this.createSliderControl(
933
+ '.egf-letter-spacing-slider',
934
+ 'letter_spacing'
935
+ );
936
+ },
937
+
938
+ /**
939
+ * Setup Margin Sliders
940
+ *
941
+ * @description - Initialises a new jquery ui
942
+ * slider to set the margin for this font
943
+ * control based on the users selection.
944
+ *
945
+ * @since 1.3.4
946
+ * @version 1.4.4
947
+ *
948
+ */
949
+ setupMarginSliders: function() {
950
+ var control = this;
951
+ var positions = [ 'top', 'bottom', 'left', 'right' ];
952
+
953
+ _.each( positions, function( position ) {
954
+ control.createSliderControl(
955
+ '.egf-margin-' + position + '-slider',
956
+ 'margin_' + position,
957
+ 'margin'
958
+ );
959
+ });
960
+ },
961
+
962
+ /**
963
+ * Setup Padding Sliders
964
+ *
965
+ * @description - Initialises a new jquery ui
966
+ * slider to set the padding for this font
967
+ * control based on the users selection.
968
+ *
969
+ * @since 1.3.4
970
+ * @version 1.4.4
971
+ *
972
+ */
973
+ setupPaddingSliders: function() {
974
+ var control = this;
975
+ var positions = [ 'top', 'bottom', 'left', 'right' ];
976
+
977
+ _.each( positions, function( position ) {
978
+ control.createSliderControl(
979
+ '.egf-padding-' + position + '-slider',
980
+ 'padding_' + position,
981
+ 'padding'
982
+ );
983
+ });
984
+ },
985
+
986
+ /**
987
+ * Setup Padding Sliders
988
+ *
989
+ * @description - Initialises the accordion
990
+ * functionality in the positioning tab.
991
+ *
992
+ * @since 1.3.4
993
+ * @version 1.4.4
994
+ *
995
+ */
996
+ togglePositioningAccordion: function() {
997
+ $(this).parent().toggleClass( 'selected' );
998
+ $(this).parent().siblings().removeClass( 'selected' );
999
+ },
1000
+
1001
+ /**
1002
+ * Setup Display
1003
+ *
1004
+ * @description - Sets the display for this font
1005
+ * control based on the users selection.
1006
+ *
1007
+ * @since 1.3.4
1008
+ * @version 1.4.4
1009
+ *
1010
+ */
1011
+ setDisplay: function() {
1012
+ var display = this.container.find( '.egf-font-display-element' ).val();
1013
+ this.changeProperty({ display: display });
1014
+ this.container.find( '.egf-font-display-element' ).focus();
1015
+ },
1016
+
1017
+ /**
1018
+ * Setup Padding Sliders
1019
+ *
1020
+ * @description - Initialises the color picker
1021
+ * and jquery ui slider in order to control
1022
+ * the border color and width based on the
1023
+ * users selection.
1024
+ *
1025
+ * @since 1.3.4
1026
+ * @version 1.4.4
1027
+ *
1028
+ */
1029
+ setupBorderControls: function() {
1030
+ var control = this;
1031
+ var positions = [ 'top', 'bottom', 'left', 'right' ];
1032
+
1033
+ _.each( positions, function( position ) {
1034
+
1035
+ // Create border color control.
1036
+ control.createColorControl(
1037
+ '.egf-border-' + position + '-controls',
1038
+ 'border_' + position + '_color',
1039
+ 230
1040
+ );
1041
+
1042
+ // Create border width slider control.
1043
+ control.createSliderControl(
1044
+ '.egf-border-' + position + '-controls',
1045
+ 'border_' + position + '_width',
1046
+ 230
1047
+ );
1048
+
1049
+ });
1050
+ },
1051
+
1052
+ /**
1053
+ * Select Border Control Visibility
1054
+ *
1055
+ * @description - Switches the border control
1056
+ * depending on the option selected.
1057
+ *
1058
+ * @since 1.3.4
1059
+ * @version 1.4.4
1060
+ *
1061
+ */
1062
+ setupBorderVisibility: function() {
1063
+ var control = this;
1064
+ var position = control.container.find( '.egf-switch-border-control' ).val();
1065
+ $( '.egf-border-' + position + '-controls' ).addClass( 'selected' ).siblings().removeClass( 'selected' );
1066
+ },
1067
+
1068
+ /**
1069
+ * Setup Border Radius Sliders
1070
+ *
1071
+ * @description - Initialises a new jquery ui
1072
+ * slider to set the border radius for this
1073
+ * font control based on the users selection.
1074
+ *
1075
+ * @since 1.3.4
1076
+ * @version 1.4.4
1077
+ *
1078
+ */
1079
+ setupBorderRadiusSliders: function() {
1080
+ var control = this;
1081
+ var positions = [ 'top', 'bottom' ];
1082
+
1083
+ _.each( positions, function( position ) {
1084
+ control.createSliderControl(
1085
+ '.egf-border-radius-' + position + '-left-slider',
1086
+ 'border_radius_' + position + '_left',
1087
+ 'border_radius'
1088
+ );
1089
+ control.createSliderControl(
1090
+ '.egf-border-radius-' + position + '-right-slider',
1091
+ 'border_radius_' + position + '_right',
1092
+ 'border_radius'
1093
+ );
1094
+ });
1095
+ }
1096
+ });
1097
+
1098
+ console.log( api.EGFFontControl );
1099
+
1100
+ /**
1101
+ * Register Control constructor.
1102
+ *
1103
+ * @description - Registers our custom control with
1104
+ * the wp.customize.controlConstructor JSON
1105
+ * object.
1106
+ *
1107
+ * @since 1.3.4
1108
+ * @version 1.4.4
1109
+ *
1110
+ */
1111
+ api.controlConstructor.egf_font = api.EGFFontControl;
1112
+ }( wp.customize, jQuery, window, document ) );
assets/js/customize-preview.js ADDED
@@ -0,0 +1,712 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /** =================================================
2
+ * Customizer Controls
3
+ * =================================================
4
+ *
5
+ * This file contains all custom jQuery plugins and
6
+ * code used on the WordPress Customizer screen. It
7
+ * contains all of the js code necessary to enable
8
+ * the live previewer. Big performance enhancement
9
+ * in this version, this file has been completely
10
+ * rewritten from the ground up to leverage the new
11
+ * js customizer api.
12
+ *
13
+ * PLEASE NOTE: The following jQuery plugin
14
+ * dependancies are required in order for
15
+ * this file to run correctly:
16
+ *
17
+ * 1. jQuery ( http://jquery.com/ )
18
+ * 2. jQuery UI ( http://jqueryui.com/ )
19
+ * 3. Underscore JS
20
+ * 4. Backbone
21
+ *
22
+ * @since 1.3.4
23
+ * @version 1.4.4
24
+ *
25
+ * @todo - Leverage backbone templates to load
26
+ * <style> elements into the <head> instead
27
+ * of generating it on the fly.
28
+ *
29
+ */
30
+ ;( function( api, $, window, document, undefined ) {
31
+
32
+ // Current document object.
33
+ var preview = this;
34
+
35
+ // Cache <head> object.
36
+ var head = $( 'head' );
37
+
38
+ /**
39
+ * Init Live Preview for Font Controls
40
+ *
41
+ * @description - Gets all of the settings that
42
+ * have a font control, checks if the setting
43
+ * has live preview enabled and sets up the
44
+ * live previewer if the setting supports it.
45
+ *
46
+ * @uses object egfFontPreviewControls
47
+ *
48
+ * @since 1.3.4
49
+ * @version 1.4.4
50
+ *
51
+ */
52
+ preview.init = function() {
53
+ // console.log(egfFontPreviewControls);
54
+ // console.log('------------------------');
55
+ _.each( egfFontPreviewControls, function( value, id ) {
56
+
57
+ // console.log( "This is the id " + id );
58
+
59
+ // Get all of the properties for this setting.
60
+ var type = value["type"];
61
+ var transport = value.setting.transport;
62
+ var valueObj = value;
63
+ var importance = value.force_styles ? '!important' : '';
64
+ var selector = value.selector;
65
+
66
+ // Initialize the live preview.
67
+ if ( 'font' === type && 'postMessage' === transport ) {
68
+ api.bind( 'preview-ready', function() {
69
+
70
+ // Style preview elements.
71
+ preview.enqueueStylesheet( id );
72
+ preview.setFontFamily( id, selector, importance );
73
+ preview.setFontWeight( id, selector, importance );
74
+ preview.setFontStyle( id, selector, importance );
75
+ preview.setTextDecoration( id, selector, importance );
76
+ preview.setTextTransform( id, selector, importance );
77
+
78
+ // Appearance preview elements.
79
+ preview.setFontColor( id, selector, importance );
80
+ preview.setBackgroundColor( id, selector, importance );
81
+ preview.setFontSize( id, selector, importance );
82
+ preview.setLineHeight( id, selector, importance );
83
+ preview.setLetterSpacing( id, selector, importance );
84
+
85
+ // Positioning preview elements.
86
+ preview.setMargin( id, selector, importance );
87
+ preview.setPadding( id, selector, importance );
88
+ preview.setDisplay( id, selector, importance );
89
+ preview.setBorder( id, selector, importance );
90
+ preview.setBorderRadius( id, selector, importance );
91
+ });
92
+ }
93
+ });
94
+ };
95
+
96
+ /**
97
+ * Set Style Property
98
+ *
99
+ * @description - Utility function designed to set
100
+ * any css property and its value (without units)
101
+ * and inject the style into the <head> of the
102
+ * page.
103
+ *
104
+ * @param {string} id ID key, used to fetch this font control's properties.
105
+ * @param {string} setting Setting ID.
106
+ * @param {string} styleId Unique id for style tag.
107
+ * @param {string} selector Selector managed by this font control.
108
+ * @param {string} property CSS property to change.
109
+ * @param {string} importance Whether to force styles using !important.
110
+ * @param {boolean} withUnits Whether this CSS property value has units.
111
+ *
112
+ * @since 1.3.4
113
+ * @version 1.4.4
114
+ *
115
+ */
116
+ preview.setStyle = function( id, setting, styleId, selector, property, importance, withUnits ) {
117
+
118
+ // Check if this property has units.
119
+ withUnits = typeof withUnits !== "undefined" ? withUnits : false;
120
+
121
+ // Bind value change in the previewer.
122
+ api.preview.bind( setting, function( to ) {
123
+ if ( to === '' || typeof to === "undefined" ) {
124
+ $( '#' + styleId ).remove();
125
+ } else {
126
+
127
+ // Build inline style.
128
+ var style = '<style id="' + styleId + '" type="text/css">';
129
+
130
+ style += preview.getOpeningMediaQuery( id );
131
+
132
+ if ( withUnits ) {
133
+ style += selector +' { ' + property + ': ' + to.amount + to.unit + importance + '; }';
134
+ } else {
135
+ style += selector +' { ' + property + ': ' + to + importance + '; }';
136
+ }
137
+
138
+ style += preview.getClosingMediaQuery( id );
139
+ style += '</style>';
140
+
141
+ // Update previewer.
142
+ if ( $( '#' + styleId ).length !== 0 ) {
143
+ $( '#' + styleId ).replaceWith( style );
144
+ } else {
145
+ $( style ).appendTo( head );
146
+ }
147
+ }
148
+ });
149
+ };
150
+
151
+ /**
152
+ * Get Opening Media Query Markup
153
+ *
154
+ * @description - Returns the opening media
155
+ * query markup or an empty string if
156
+ * this font control has no media query
157
+ * settings.
158
+ *
159
+ * @param {string} id Control ID.
160
+ *
161
+ * @since 1.4.0
162
+ * @version 1.4.4
163
+ *
164
+ */
165
+ preview.getOpeningMediaQuery = function( id ) {
166
+ var output = '';
167
+
168
+ if ( typeof egfFontPreviewControls[ id ] !== "undefined" ) {
169
+
170
+ // Get the min and max properties for
171
+ // this font control.
172
+ var minScreen = egfFontPreviewControls[ id ].egf_properties.min_screen;
173
+ var maxScreen = egfFontPreviewControls[ id ].egf_properties.max_screen;
174
+
175
+ // Return the output if this option
176
+ // has no min and max value.
177
+ if ( "" === minScreen.amount && "" === maxScreen.amount ) {
178
+ return output;
179
+ }
180
+
181
+ // Build the output.
182
+ output += "@media ";
183
+
184
+ // Append min-width value if applicable.
185
+ if ( "" !== minScreen.amount ) {
186
+ output += "(min-width: " + minScreen.amount + minScreen.unit + ")";
187
+ }
188
+
189
+ // Append 'and' keyword if min and max value exists.
190
+ if ( "" !== minScreen.amount && "" !== maxScreen.amount ) {
191
+ output += " and ";
192
+ }
193
+
194
+ // Append max-width value if applicable.
195
+ if ( "" !== maxScreen.amount ) {
196
+ output += "(max-width: " + maxScreen.amount + maxScreen.unit + ")";
197
+ }
198
+
199
+ output += " {\n\t";
200
+ }
201
+
202
+ return output;
203
+ };
204
+
205
+ /**
206
+ * Get Closing Media Query Markup
207
+ *
208
+ * @description - Returns the closing { or an
209
+ * empty string if this font control has
210
+ * no media query settings.
211
+ *
212
+ * @param {string} id Control ID.
213
+ *
214
+ * @since 1.4.0
215
+ * @version 1.4.4
216
+ *
217
+ */
218
+ preview.getClosingMediaQuery = function( id ) {
219
+ if ( preview.getOpeningMediaQuery( id ) !== "" ) {
220
+ return "\n}\n";
221
+ } else {
222
+ return "";
223
+ }
224
+ };
225
+
226
+ /**
227
+ * Enqueue Font Stylesheet into <head>
228
+ *
229
+ * @description - Takes the font control object and
230
+ * injects the appropriate stylesheet in the <head>.
231
+ * Used to load the appropriate google fonts css
232
+ * stylesheet in the previewer.
233
+ *
234
+ *
235
+ * @param {string} id Control ID.
236
+ * @param {obj} obj Object containing all of the current settings.
237
+ *
238
+ * @since 1.3.4
239
+ * @version 1.4.4
240
+ *
241
+ */
242
+ preview.enqueueStylesheet = function( id ) {
243
+ var setting = 'tt_font_theme_options[' + id + '][stylesheet_obj]';
244
+
245
+ api.preview.bind( setting, function( to ) {
246
+
247
+ // Attempt to fetch the stylsheet if it is present.
248
+ var stylesheet = $( 'link[href="' + to.url + '"]' );
249
+
250
+ // Enqueue the stylesheet if it wasn't found.
251
+ if ( '' !== to.url && typeof to.url !== "undefined" && 0 === stylesheet.length ) {
252
+ $( '<link href="' + to.url + '&subset=' + to.subset + '" type="text/css" media="all" rel="stylesheet">' ).appendTo( head );
253
+ }
254
+ });
255
+ };
256
+
257
+ /**
258
+ * Set Font Family
259
+ *
260
+ * @description - Sets the font family css property for
261
+ * the selectors passed in the parameter and injects
262
+ * the styles into the <head> of the page.
263
+ *
264
+ * @param {string} id Control ID.
265
+ * @param {string} selector Selector managed by this font control.
266
+ * @param {string} importance Whether to force styles using !important.
267
+ *
268
+ * @since 1.3.4
269
+ * @version 1.4.4
270
+ *
271
+ */
272
+ preview.setFontFamily = function( id, selector, importance ) {
273
+ preview.setStyle(
274
+ id,
275
+ 'tt_font_theme_options[' + id + '][font_name]',
276
+ 'tt-font-' + id + '-font-family',
277
+ selector,
278
+ 'font-family',
279
+ importance
280
+ );
281
+ };
282
+
283
+ /**
284
+ * Set Font Weight
285
+ *
286
+ * @description - Sets the font weight css property for
287
+ * the selectors passed in the parameter and injects
288
+ * the styles into the <head> of the page.
289
+ *
290
+ * @param {string} id Control ID.
291
+ * @param {string} selector Selector managed by this font control.
292
+ * @param {string} importance Whether to force styles using !important.
293
+ *
294
+ * @since 1.3.4
295
+ * @version 1.4.4
296
+ *
297
+ */
298
+ preview.setFontWeight = function( id, selector, importance ) {
299
+ preview.setStyle(
300
+ id,
301
+ 'tt_font_theme_options[' + id + '][font_weight]',
302
+ 'tt-font-' + id + '-font-weight',
303
+ selector,
304
+ 'font-weight',
305
+ importance
306
+ );
307
+ };
308
+
309
+ /**
310
+ * Set Font Style
311
+ *
312
+ * @description - Sets the font style css property for
313
+ * the selectors passed in the parameter and injects
314
+ * the styles into the <head> of the page.
315
+ *
316
+ * @param {string} id Control ID.
317
+ * @param {string} selector Selector managed by this font control.
318
+ * @param {string} importance Whether to force styles using !important.
319
+ *
320
+ * @since 1.3.4
321
+ * @version 1.4.4
322
+ *
323
+ */
324
+ preview.setFontStyle = function( id, selector, importance ) {
325
+ preview.setStyle(
326
+ id,
327
+ 'tt_font_theme_options[' + id + '][font_style]',
328
+ 'tt-font-' + id + '-font-style',
329
+ selector,
330
+ 'font-style',
331
+ importance
332
+ );
333
+ };
334
+
335
+ /**
336
+ * Set Text Decoration
337
+ *
338
+ * @description - Sets the text decoration css property for
339
+ * the selectors passed in the parameter and injects
340
+ * the styles into the <head> of the page.
341
+ *
342
+ * @param {string} id Control ID.
343
+ * @param {string} selector Selector managed by this font control.
344
+ * @param {string} importance Whether to force styles using !important.
345
+ *
346
+ * @since 1.3.4
347
+ * @version 1.4.4
348
+ *
349
+ */
350
+ preview.setTextDecoration = function( id, selector, importance ) {
351
+ preview.setStyle(
352
+ id,
353
+ 'tt_font_theme_options[' + id + '][text_decoration]',
354
+ 'tt-font-' + id + '-text-decoration',
355
+ selector,
356
+ 'text-decoration',
357
+ importance
358
+ );
359
+ };
360
+
361
+ /**
362
+ * Set Text Transform
363
+ *
364
+ * @description - Sets the text transform css property for
365
+ * the selectors passed in the parameter and injects
366
+ * the styles into the <head> of the page.
367
+ *
368
+ * @param {string} id Control ID.
369
+ * @param {string} selector Selector managed by this font control.
370
+ * @param {string} importance Whether to force styles using !important.
371
+ *
372
+ * @since 1.3.4
373
+ * @version 1.4.4
374
+ *
375
+ */
376
+ preview.setTextTransform = function( id, selector, importance ) {
377
+ preview.setStyle(
378
+ id,
379
+ 'tt_font_theme_options[' + id + '][text_transform]',
380
+ 'tt-font-' + id + '-text-transform',
381
+ selector,
382
+ 'text-transform',
383
+ importance
384
+ );
385
+ };
386
+
387
+ /**
388
+ * Set Font Color
389
+ *
390
+ * @description - Sets the font color css property for
391
+ * the selectors passed in the parameter and injects
392
+ * the styles into the <head> of the page.
393
+ *
394
+ * @param {string} id Control ID.
395
+ * @param {string} selector Selector managed by this font control.
396
+ * @param {string} importance Whether to force styles using !important.
397
+ *
398
+ * @since 1.3.4
399
+ * @version 1.4.4
400
+ *
401
+ */
402
+ preview.setFontColor = function( id, selector, importance ) {
403
+ preview.setStyle(
404
+ id,
405
+ 'tt_font_theme_options[' + id + '][font_color]',
406
+ 'tt-font-' + id + '-color',
407
+ selector,
408
+ 'color',
409
+ importance
410
+ );
411
+ };
412
+
413
+ /**
414
+ * Set Background Color
415
+ *
416
+ * @description - Sets the background color css property for
417
+ * the selectors passed in the parameter and injects
418
+ * the styles into the <head> of the page.
419
+ *
420
+ * @param {string} id Control ID.
421
+ * @param {string} selector Selector managed by this font control.
422
+ * @param {string} importance Whether to force styles using !important.
423
+ *
424
+ * @since 1.3.4
425
+ * @version 1.4.4
426
+ *
427
+ */
428
+ preview.setBackgroundColor = function( id, selector, importance ) {
429
+ preview.setStyle(
430
+ id,
431
+ 'tt_font_theme_options[' + id + '][background_color]',
432
+ 'tt-font-' + id + '-background-color',
433
+ selector,
434
+ 'background-color',
435
+ importance
436
+ );
437
+ };
438
+
439
+ /**
440
+ * Set Font Size
441
+ *
442
+ * @description - Sets the font-size css property for
443
+ * the selectors passed in the parameter and injects
444
+ * the styles into the <head> of the page.
445
+ *
446
+ * @param {string} id Control ID.
447
+ * @param {string} selector Selector managed by this font control.
448
+ * @param {string} importance Whether to force styles using !important.
449
+ *
450
+ * @since 1.3.4
451
+ * @version 1.4.4
452
+ *
453
+ */
454
+ preview.setFontSize = function( id, selector, importance ) {
455
+ preview.setStyle(
456
+ id,
457
+ 'tt_font_theme_options[' + id + '][font_size]',
458
+ 'tt-font-' + id + '-font-size',
459
+ selector,
460
+ 'font-size',
461
+ importance,
462
+ true
463
+ );
464
+ };
465
+
466
+ /**
467
+ * Set Line Height
468
+ *
469
+ * @description - Sets the line-height css property for
470
+ * the selectors passed in the parameter and injects
471
+ * the styles into the <head> of the page.
472
+ *
473
+ * @param {string} id Control ID.
474
+ * @param {string} selector Selector managed by this font control.
475
+ * @param {string} importance Whether to force styles using !important.
476
+ *
477
+ * @since 1.3.4
478
+ * @version 1.4.4
479
+ *
480
+ */
481
+ preview.setLineHeight = function( id, selector, importance ) {
482
+ preview.setStyle(
483
+ id,
484
+ 'tt_font_theme_options[' + id + '][line_height]',
485
+ 'tt-font-' + id + '-line-height',
486
+ selector,
487
+ 'line-height',
488
+ importance
489
+ );
490
+ };
491
+
492
+ /**
493
+ * Set Letter Spacing
494
+ *
495
+ * @description - Sets the letter-spacing css property for
496
+ * the selectors passed in the parameter and injects
497
+ * the styles into the <head> of the page.
498
+ *
499
+ * @param {string} id Control ID.
500
+ * @param {string} selector Selector managed by this font control.
501
+ * @param {string} importance Whether to force styles using !important.
502
+ *
503
+ * @since 1.3.4
504
+ * @version 1.4.4
505
+ *
506
+ */
507
+ preview.setLetterSpacing = function( id, selector, importance ) {
508
+ preview.setStyle(
509
+ id,
510
+ 'tt_font_theme_options[' + id + '][letter_spacing]',
511
+ 'tt-font-' + id + '-letter-spacing',
512
+ selector,
513
+ 'letter-spacing',
514
+ importance,
515
+ true
516
+ );
517
+ };
518
+
519
+ /**
520
+ * Set Margin
521
+ *
522
+ * @description - Sets the margin-{position} css property for
523
+ * the selectors passed in the parameter and injects
524
+ * the styles into the <head> of the page.
525
+ *
526
+ * @param {string} id Control ID.
527
+ * @param {string} selector Selector managed by this font control.
528
+ * @param {string} importance Whether to force styles using !important.
529
+ *
530
+ * @since 1.3.4
531
+ * @version 1.4.4
532
+ *
533
+ */
534
+ preview.setMargin = function( id, selector, importance ) {
535
+
536
+ // Define the different positions.
537
+ var positions = [ 'top', 'bottom', 'left', 'right' ];
538
+
539
+ // Set up the margin preview for each position.
540
+ _.each( positions, function( position ) {
541
+ preview.setStyle(
542
+ id,
543
+ 'tt_font_theme_options[' + id + '][margin_' + position + ']',
544
+ 'tt-font-' + id + '-margin-' + position,
545
+ selector,
546
+ 'margin-' + position,
547
+ importance,
548
+ true
549
+ );
550
+ });
551
+ };
552
+
553
+ /**
554
+ * Set Padding
555
+ *
556
+ * @description - Sets the display css property for
557
+ * the selectors passed in the parameter and injects
558
+ * the styles into the <head> of the page.
559
+ *
560
+ * @param {string} id Control ID.
561
+ * @param {string} selector Selector managed by this font control.
562
+ * @param {string} importance Whether to force styles using !important.
563
+ *
564
+ * @since 1.3.4
565
+ * @version 1.4.4
566
+ *
567
+ */
568
+ preview.setPadding = function( id, selector, importance ) {
569
+
570
+ // Define the different positions.
571
+ var positions = [ 'top', 'bottom', 'left', 'right' ];
572
+
573
+ // Set up the padding preview for each position.
574
+ _.each( positions, function( position ) {
575
+ preview.setStyle(
576
+ id,
577
+ 'tt_font_theme_options[' + id + '][padding_' + position + ']',
578
+ 'tt-font-' + id + '-padding-' + position,
579
+ selector,
580
+ 'padding-' + position,
581
+ importance,
582
+ true
583
+ );
584
+ });
585
+ };
586
+
587
+ /**
588
+ * Set Border
589
+ *
590
+ * @description - Sets all of the border css properties for
591
+ * the selectors passed in the parameter and injects
592
+ * the styles into the <head> of the page.
593
+ *
594
+ * @param {string} id Control ID.
595
+ * @param {string} selector Selector managed by this font control.
596
+ * @param {string} importance Whether to force styles using !important.
597
+ *
598
+ * @since 1.3.4
599
+ * @version 1.4.4
600
+ *
601
+ */
602
+ preview.setBorder = function( id, selector, importance ) {
603
+ // Define the different positions.
604
+ var positions = [ 'top', 'bottom', 'left', 'right' ];
605
+
606
+ // Set up the border preview for each position.
607
+ _.each( positions, function( position ) {
608
+
609
+ // Set border color.
610
+ preview.setStyle(
611
+ id,
612
+ 'tt_font_theme_options[' + id + '][border_' + position + '_color]',
613
+ 'tt-font-' + id + '-border-' + position + '-color',
614
+ selector,
615
+ 'border-' + position + '-color',
616
+ importance
617
+ );
618
+
619
+ // Set border style.
620
+ preview.setStyle(
621
+ id,
622
+ 'tt_font_theme_options[' + id + '][border_' + position + '_style]',
623
+ 'tt-font-' + id + '-border-' + position + '-style',
624
+ selector,
625
+ 'border-' + position + '-style',
626
+ importance
627
+ );
628
+
629
+ // Set border width.
630
+ preview.setStyle(
631
+ id,
632
+ 'tt_font_theme_options[' + id + '][border_' + position + '_width]',
633
+ 'tt-font-' + id + '-border-' + position + '-width',
634
+ selector,
635
+ 'border-' + position + '-width',
636
+ importance,
637
+ true
638
+ );
639
+ });
640
+ };
641
+
642
+ /**
643
+ * Set Border Radius
644
+ *
645
+ * @description - Sets the border-radius css property for
646
+ * the selectors passed in the parameter and injects
647
+ * the styles into the <head> of the page.
648
+ *
649
+ * @param {string} id Control ID.
650
+ * @param {string} selector Selector managed by this font control.
651
+ * @param {string} importance Whether to force styles using !important.
652
+ *
653
+ * @since 1.3.4
654
+ * @version 1.4.4
655
+ *
656
+ */
657
+ preview.setBorderRadius = function( id, selector, importance ) {
658
+ // Define the different positions.
659
+ var positions = [ 'top', 'bottom' ];
660
+
661
+ _.each( positions, function( position ) {
662
+ preview.setStyle(
663
+ id,
664
+ 'tt_font_theme_options[' + id + '][border_radius_' + position + '_left]',
665
+ 'tt-font-' + id + '-border-' + position + '-left-radius',
666
+ selector,
667
+ 'border-' + position +'-left-radius',
668
+ importance,
669
+ true
670
+ );
671
+ preview.setStyle(
672
+ id,
673
+ 'tt_font_theme_options[' + id + '][border_radius_' + position + '_right]',
674
+ 'tt-font-' + id + '-border-' + position + '-right-radius',
675
+ selector,
676
+ 'border-' + position +'-right-radius',
677
+ importance,
678
+ true
679
+ );
680
+ });
681
+ };
682
+
683
+ /**
684
+ * Set Display
685
+ *
686
+ * @description - Sets the display css property for
687
+ * the selectors passed in the parameter and injects
688
+ * the styles into the <head> of the page.
689
+ *
690
+ * @param {string} id Control ID.
691
+ * @param {string} selector Selector managed by this font control.
692
+ * @param {string} importance Whether to force styles using !important.
693
+ *
694
+ * @since 1.3.4
695
+ * @version 1.4.4
696
+ *
697
+ */
698
+ preview.setDisplay = function( id, selector, importance ) {
699
+ preview.setStyle(
700
+ id,
701
+ 'tt_font_theme_options[' + id + '][display]',
702
+ 'tt-font-' + id + '-display',
703
+ selector,
704
+ 'display',
705
+ importance
706
+ );
707
+ };
708
+
709
+ // Initialize live preview.
710
+ preview.init();
711
+
712
+ }( wp.customize, jQuery, window, document ) );
assets/js/index.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php // Silence is golden
assets/js/tag-it.js ADDED
@@ -0,0 +1,611 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ * jQuery UI Tag-it!
3
+ *
4
+ * @version v2.0 (06/2011)
5
+ *
6
+ * Copyright 2011, Levy Carneiro Jr.
7
+ * Released under the MIT license.
8
+ * http://aehlke.github.com/tag-it/LICENSE
9
+ *
10
+ * Homepage:
11
+ * http://aehlke.github.com/tag-it/
12
+ *
13
+ * Authors:
14
+ * Levy Carneiro Jr.
15
+ * Martin Rehfeld
16
+ * Tobias Schmidt
17
+ * Skylar Challand
18
+ * Alex Ehlke
19
+ *
20
+ * Maintainer:
21
+ * Alex Ehlke - Twitter: @aehlke
22
+ *
23
+ * Dependencies:
24
+ * jQuery v1.4+
25
+ * jQuery UI v1.8+
26
+ */
27
+ (function($) {
28
+
29
+ $.widget('ui.tagit', {
30
+ options: {
31
+ allowDuplicates : false,
32
+ caseSensitive : true,
33
+ fieldName : 'tags',
34
+ placeholderText : null, // Sets `placeholder` attr on input field.
35
+ readOnly : false, // Disables editing.
36
+ removeConfirmation: false, // Require confirmation to remove tags.
37
+ tagLimit : null, // Max number of tags allowed (null for unlimited).
38
+
39
+ // Used for autocomplete, unless you override `autocomplete.source`.
40
+ availableTags : [],
41
+
42
+ // Use to override or add any options to the autocomplete widget.
43
+ //
44
+ // By default, autocomplete.source will map to availableTags,
45
+ // unless overridden.
46
+ autocomplete: {},
47
+
48
+ // Shows autocomplete before the user even types anything.
49
+ showAutocompleteOnFocus: false,
50
+
51
+ // When enabled, quotes are unneccesary for inputting multi-word tags.
52
+ allowSpaces: false,
53
+
54
+ // The below options are for using a single field instead of several
55
+ // for our form values.
56
+ //
57
+ // When enabled, will use a single hidden field for the form,
58
+ // rather than one per tag. It will delimit tags in the field
59
+ // with singleFieldDelimiter.
60
+ //
61
+ // The easiest way to use singleField is to just instantiate tag-it
62
+ // on an INPUT element, in which case singleField is automatically
63
+ // set to true, and singleFieldNode is set to that element. This
64
+ // way, you don't need to fiddle with these options.
65
+ singleField: false,
66
+
67
+ // This is just used when preloading data from the field, and for
68
+ // populating the field with delimited tags as the user adds them.
69
+ singleFieldDelimiter: ',',
70
+
71
+ // Set this to an input DOM node to use an existing form field.
72
+ // Any text in it will be erased on init. But it will be
73
+ // populated with the text of tags as they are created,
74
+ // delimited by singleFieldDelimiter.
75
+ //
76
+ // If this is not set, we create an input node for it,
77
+ // with the name given in settings.fieldName.
78
+ singleFieldNode: null,
79
+
80
+ // Whether to animate tag removals or not. (Changed)
81
+ animate: false,
82
+
83
+ // Optionally set a tabindex attribute on the input that gets
84
+ // created for tag-it.
85
+ tabIndex: null,
86
+
87
+ // Event callbacks.
88
+ beforeTagAdded : null,
89
+ afterTagAdded : null,
90
+
91
+ beforeTagRemoved : null,
92
+ afterTagRemoved : null,
93
+
94
+ onTagClicked : null,
95
+ onTagLimitExceeded : null,
96
+
97
+
98
+ // DEPRECATED:
99
+ //
100
+ // /!\ These event callbacks are deprecated and WILL BE REMOVED at some
101
+ // point in the future. They're here for backwards-compatibility.
102
+ // Use the above before/after event callbacks instead.
103
+ onTagAdded : null,
104
+ onTagRemoved: null,
105
+ // `autocomplete.source` is the replacement for tagSource.
106
+ tagSource: null
107
+ // Do not use the above deprecated options.
108
+ },
109
+
110
+ _create: function() {
111
+ // for handling static scoping inside callbacks
112
+ var that = this;
113
+
114
+ // There are 2 kinds of DOM nodes this widget can be instantiated on:
115
+ // 1. UL, OL, or some element containing either of these.
116
+ // 2. INPUT, in which case 'singleField' is overridden to true,
117
+ // a UL is created and the INPUT is hidden.
118
+ if (this.element.is('input')) {
119
+ this.tagList = $('<ul></ul>').insertAfter(this.element);
120
+ this.options.singleField = true;
121
+ this.options.singleFieldNode = this.element;
122
+ this.element.addClass('tagit-hidden-field');
123
+ } else {
124
+ this.tagList = this.element.find('ul, ol').andSelf().last();
125
+ }
126
+
127
+ this.tagInput = $('<input type="text" />').addClass('ui-widget-content');
128
+
129
+ if (this.options.readOnly) this.tagInput.attr('disabled', 'disabled');
130
+
131
+ if (this.options.tabIndex) {
132
+ this.tagInput.attr('tabindex', this.options.tabIndex);
133
+ }
134
+
135
+ if (this.options.placeholderText) {
136
+ this.tagInput.attr('placeholder', this.options.placeholderText);
137
+ }
138
+
139
+ if (!this.options.autocomplete.source) {
140
+ this.options.autocomplete.source = function(search, showChoices) {
141
+ var filter = search.term.toLowerCase();
142
+ var choices = $.grep(this.options.availableTags, function(element) {
143
+ // Only match autocomplete options that begin with the search term.
144
+ // (Case insensitive.)
145
+ return (element.toLowerCase().indexOf(filter) === 0);
146
+ });
147
+ if (!this.options.allowDuplicates) {
148
+ choices = this._subtractArray(choices, this.assignedTags());
149
+ }
150
+ showChoices(choices);
151
+ };
152
+ }
153
+
154
+ if (this.options.showAutocompleteOnFocus) {
155
+ this.tagInput.focus(function(event, ui) {
156
+ that._showAutocomplete();
157
+ });
158
+
159
+ if (typeof this.options.autocomplete.minLength === 'undefined') {
160
+ this.options.autocomplete.minLength = 0;
161
+ }
162
+ }
163
+
164
+ // Bind autocomplete.source callback functions to this context.
165
+ if ($.isFunction(this.options.autocomplete.source)) {
166
+ this.options.autocomplete.source = $.proxy(this.options.autocomplete.source, this);
167
+ }
168
+
169
+ // DEPRECATED.
170
+ if ($.isFunction(this.options.tagSource)) {
171
+ this.options.tagSource = $.proxy(this.options.tagSource, this);
172
+ }
173
+
174
+ this.tagList
175
+ .addClass('tagit')
176
+ .addClass('ui-widget ui-widget-content ui-corner-all')
177
+ // Create the input field.
178
+ .append($('<li class="tagit-new"></li>').append(this.tagInput))
179
+ .click(function(e) {
180
+ var target = $(e.target);
181
+ if (target.hasClass('tagit-label')) {
182
+ var tag = target.closest('.tagit-choice');
183
+ if (!tag.hasClass('removed')) {
184
+ that._trigger('onTagClicked', e, {tag: tag, tagLabel: that.tagLabel(tag)});
185
+ }
186
+ } else {
187
+ // Sets the focus() to the input field, if the user
188
+ // clicks anywhere inside the UL. This is needed
189
+ // because the input field needs to be of a small size.
190
+ that.tagInput.focus();
191
+ }
192
+ });
193
+
194
+ // Single field support.
195
+ var addedExistingFromSingleFieldNode = false;
196
+ if (this.options.singleField) {
197
+ if (this.options.singleFieldNode) {
198
+ // Add existing tags from the input field.
199
+ var node = $(this.options.singleFieldNode);
200
+ var tags = node.val().split(this.options.singleFieldDelimiter);
201
+ node.val('');
202
+ $.each(tags, function(index, tag) {
203
+ that.createTag(tag, null, true);
204
+ addedExistingFromSingleFieldNode = true;
205
+ });
206
+ } else {
207
+ // Create our single field input after our list.
208
+ this.options.singleFieldNode = $('<input type="hidden" style="display:none;" value="" name="' + this.options.fieldName + '" />');
209
+ this.tagList.after(this.options.singleFieldNode);
210
+ }
211
+ }
212
+
213
+ // Add existing tags from the list, if any.
214
+ if (!addedExistingFromSingleFieldNode) {
215
+ this.tagList.children('li').each(function() {
216
+ if (!$(this).hasClass('tagit-new')) {
217
+ that.createTag($(this).text(), $(this).attr('class'), true);
218
+ $(this).remove();
219
+ }
220
+ });
221
+ }
222
+
223
+ // Events.
224
+ this.tagInput
225
+ .keydown(function(event) {
226
+ // Backspace is not detected within a keypress, so it must use keydown.
227
+ if (event.which == $.ui.keyCode.BACKSPACE && that.tagInput.val() === '') {
228
+ var tag = that._lastTag();
229
+ if (!that.options.removeConfirmation || tag.hasClass('remove')) {
230
+ // When backspace is pressed, the last tag is deleted.
231
+ that.removeTag(tag);
232
+ } else if (that.options.removeConfirmation) {
233
+ tag.addClass('remove ui-state-highlight');
234
+ }
235
+ } else if (that.options.removeConfirmation) {
236
+ that._lastTag().removeClass('remove ui-state-highlight');
237
+ }
238
+
239
+ // Comma/Space/Enter are all valid delimiters for new tags,
240
+ // except when there is an open quote or if setting allowSpaces = true.
241
+ // Tab will also create a tag, unless the tag input is empty,
242
+ // in which case it isn't caught.
243
+ if (
244
+ (event.which === $.ui.keyCode.COMMA && event.shiftKey === false) ||
245
+ event.which === $.ui.keyCode.ENTER ||
246
+ (
247
+ event.which == $.ui.keyCode.TAB &&
248
+ that.tagInput.val() !== ''
249
+ ) ||
250
+ (
251
+ event.which == $.ui.keyCode.SPACE &&
252
+ that.options.allowSpaces !== true &&
253
+ (
254
+ $.trim(that.tagInput.val()).replace( /^s*/, '' ).charAt(0) != '"' ||
255
+ (
256
+ $.trim(that.tagInput.val()).charAt(0) == '"' &&
257
+ $.trim(that.tagInput.val()).charAt($.trim(that.tagInput.val()).length - 1) == '"' &&
258
+ $.trim(that.tagInput.val()).length - 1 !== 0
259
+ )
260
+ )
261
+ )
262
+ ) {
263
+ // Enter submits the form if there's no text in the input.
264
+ if (!(event.which === $.ui.keyCode.ENTER && that.tagInput.val() === '')) {
265
+ event.preventDefault();
266
+ }
267
+
268
+ // Autocomplete will create its own tag from a selection and close automatically.
269
+ if (!(that.options.autocomplete.autoFocus && that.tagInput.data('autocomplete-open'))) {
270
+ that.tagInput.autocomplete('close');
271
+ that.createTag(that._cleanedInput());
272
+ }
273
+ }
274
+ }).blur(function(e){
275
+ // Create a tag when the element loses focus.
276
+ // If autocomplete is enabled and suggestion was clicked, don't add it.
277
+ if (!that.tagInput.data('autocomplete-open')) {
278
+ that.createTag(that._cleanedInput());
279
+ }
280
+ });
281
+
282
+ // Autocomplete.
283
+ if (this.options.availableTags || this.options.tagSource || this.options.autocomplete.source) {
284
+ var autocompleteOptions = {
285
+ select: function(event, ui) {
286
+ that.createTag(ui.item.value);
287
+ // Preventing the tag input to be updated with the chosen value.
288
+ return false;
289
+ }
290
+ };
291
+ $.extend(autocompleteOptions, this.options.autocomplete);
292
+
293
+ // tagSource is deprecated, but takes precedence here since autocomplete.source is set by default,
294
+ // while tagSource is left null by default.
295
+ autocompleteOptions.source = this.options.tagSource || autocompleteOptions.source;
296
+
297
+ this.tagInput.autocomplete(autocompleteOptions).bind('autocompleteopen.tagit', function(event, ui) {
298
+ that.tagInput.data('autocomplete-open', true);
299
+ }).bind('autocompleteclose.tagit', function(event, ui) {
300
+ that.tagInput.data('autocomplete-open', false)
301
+ });
302
+
303
+ this.tagInput.autocomplete('widget').addClass('tagit-autocomplete');
304
+ }
305
+ },
306
+
307
+ destroy: function() {
308
+ $.Widget.prototype.destroy.call(this);
309
+
310
+ this.element.unbind('.tagit');
311
+ this.tagList.unbind('.tagit');
312
+
313
+ this.tagInput.removeData('autocomplete-open');
314
+
315
+ this.tagList.removeClass([
316
+ 'tagit',
317
+ 'ui-widget',
318
+ 'ui-widget-content',
319
+ 'ui-corner-all',
320
+ 'tagit-hidden-field'
321
+ ].join(' '));
322
+
323
+ if (this.element.is('input')) {
324
+ this.element.removeClass('tagit-hidden-field');
325
+ this.tagList.remove();
326
+ } else {
327
+ this.element.children('li').each(function() {
328
+ if ($(this).hasClass('tagit-new')) {
329
+ $(this).remove();
330
+ } else {
331
+ $(this).removeClass([
332
+ 'tagit-choice',
333
+ 'ui-widget-content',
334
+ 'ui-state-default',
335
+ 'ui-state-highlight',
336
+ 'ui-corner-all',
337
+ 'remove',
338
+ 'tagit-choice-editable',
339
+ 'tagit-choice-read-only'
340
+ ].join(' '));
341
+
342
+ $(this).text($(this).children('.tagit-label').text());
343
+ }
344
+ });
345
+
346
+ if (this.singleFieldNode) {
347
+ this.singleFieldNode.remove();
348
+ }
349
+ }
350
+
351
+ return this;
352
+ },
353
+
354
+ _cleanedInput: function() {
355
+ // Returns the contents of the tag input, cleaned and ready to be passed to createTag
356
+ return $.trim(this.tagInput.val().replace(/^"(.*)"$/, '$1'));
357
+ },
358
+
359
+ _lastTag: function() {
360
+ return this.tagList.find('.tagit-choice:last:not(.removed)');
361
+ },
362
+
363
+ _tags: function() {
364
+ return this.tagList.find('.tagit-choice:not(.removed)');
365
+ },
366
+
367
+ assignedTags: function() {
368
+ // Returns an array of tag string values
369
+ var that = this;
370
+ var tags = [];
371
+ if (this.options.singleField) {
372
+ tags = $(this.options.singleFieldNode).val().split(this.options.singleFieldDelimiter);
373
+ if (tags[0] === '') {
374
+ tags = [];
375
+ }
376
+ } else {
377
+ this._tags().each(function() {
378
+ tags.push(that.tagLabel(this));
379
+ });
380
+ }
381
+ return tags;
382
+ },
383
+
384
+ _updateSingleTagsField: function(tags) {
385
+ // Takes a list of tag string values, updates this.options.singleFieldNode.val to the tags delimited by this.options.singleFieldDelimiter
386
+ $(this.options.singleFieldNode).val(tags.join(this.options.singleFieldDelimiter)).trigger('change');
387
+ },
388
+
389
+ _subtractArray: function(a1, a2) {
390
+ var result = [];
391
+ for (var i = 0; i < a1.length; i++) {
392
+ if ($.inArray(a1[i], a2) == -1) {
393
+ result.push(a1[i]);
394
+ }
395
+ }
396
+ return result;
397
+ },
398
+
399
+ tagLabel: function(tag) {
400
+ // Returns the tag's string label.
401
+ if (this.options.singleField) {
402
+ return $(tag).find('.tagit-label:first').text();
403
+ } else {
404
+ return $(tag).find('input:first').val();
405
+ }
406
+ },
407
+
408
+ _showAutocomplete: function() {
409
+ this.tagInput.autocomplete('search', '');
410
+ },
411
+
412
+ _findTagByLabel: function(name) {
413
+ var that = this;
414
+ var tag = null;
415
+ this._tags().each(function(i) {
416
+ if (that._formatStr(name) == that._formatStr(that.tagLabel(this))) {
417
+ tag = $(this);
418
+ return false;
419
+ }
420
+ });
421
+ return tag;
422
+ },
423
+
424
+ _isNew: function(name) {
425
+ return !this._findTagByLabel(name);
426
+ },
427
+
428
+ _formatStr: function(str) {
429
+ if (this.options.caseSensitive) {
430
+ return str;
431
+ }
432
+ return $.trim(str.toLowerCase());
433
+ },
434
+
435
+ _effectExists: function(name) {
436
+ return Boolean($.effects && ($.effects[name] || ($.effects.effect && $.effects.effect[name])));
437
+ },
438
+
439
+ createTag: function(value, additionalClass, duringInitialization) {
440
+ var that = this;
441
+
442
+ // Sanitize value
443
+ value = $.trim(value);
444
+ value = value.replace( '{', '' );
445
+ value = value.replace( '}', '' );
446
+
447
+ if(this.options.preprocessTag) {
448
+ value = this.options.preprocessTag(value);
449
+ }
450
+
451
+ /**
452
+ * Plugin Modification
453
+ *
454
+ * @author Sunny Johal - Titanium Themes
455
+ * @type {[type]}
456
+ */
457
+ var values = value.split(",");
458
+
459
+ if ( values.length > 1 ) {
460
+ for ( var i=0; i<values.length; i++ ) {
461
+ if ( values[i] !== '' ) {
462
+ this.createTag( values[i], additionalClass );
463
+ }
464
+ }
465
+ } else {
466
+
467
+
468
+ if (value === '') {
469
+ return false;
470
+ }
471
+
472
+ if (!this.options.allowDuplicates && !this._isNew(value)) {
473
+ var existingTag = this._findTagByLabel(value);
474
+ if (this._trigger('onTagExists', null, {
475
+ existingTag: existingTag,
476
+ duringInitialization: duringInitialization
477
+ }) !== false) {
478
+ if (this._effectExists('highlight')) {
479
+ existingTag.effect('highlight');
480
+ }
481
+ }
482
+ return false;
483
+ }
484
+
485
+ if (this.options.tagLimit && this._tags().length >= this.options.tagLimit) {
486
+ this._trigger('onTagLimitExceeded', null, {duringInitialization: duringInitialization});
487
+ return false;
488
+ }
489
+
490
+ var label = $(this.options.onTagClicked ? '<a class="tagit-label"></a>' : '<span class="tagit-label"></span>').text(value);
491
+ // Create tag.
492
+ var tag = $('<li></li>')
493
+ .addClass('tagit-choice ui-widget-content ui-state-default ui-corner-all')
494
+ .addClass(additionalClass)
495
+ .append(label);
496
+
497
+ if (this.options.readOnly){
498
+ tag.addClass('tagit-choice-read-only');
499
+ } else {
500
+ tag.addClass('tagit-choice-editable');
501
+ // Button for removing the tag.
502
+ var removeTagIcon = $('<span></span>')
503
+ .addClass('ui-icon ui-icon-close');
504
+ var removeTag = $('<a><span class="text-icon">\xd7</span></a>') // \xd7 is an X
505
+ .addClass('tagit-close')
506
+ .append(removeTagIcon)
507
+ .click(function(e) {
508
+ // Removes a tag when the little 'x' is clicked.
509
+ that.removeTag(tag);
510
+ });
511
+ tag.append(removeTag);
512
+ }
513
+
514
+ // Unless options.singleField is set, each tag has a hidden input field inline.
515
+ if (!this.options.singleField) {
516
+ var escapedValue = label.html();
517
+ tag.append('<input type="hidden" value="' + escapedValue + '" name="' + this.options.fieldName + '" class="tagit-hidden-field" />');
518
+ }
519
+
520
+ if (this._trigger('beforeTagAdded', null, {
521
+ tag: tag,
522
+ tagLabel: this.tagLabel(tag),
523
+ duringInitialization: duringInitialization
524
+ }) === false) {
525
+ return;
526
+ }
527
+
528
+ if (this.options.singleField) {
529
+ var tags = this.assignedTags();
530
+ tags.push(value);
531
+ this._updateSingleTagsField(tags);
532
+ }
533
+
534
+ // DEPRECATED.
535
+ this._trigger('onTagAdded', null, tag);
536
+
537
+ this.tagInput.val('');
538
+
539
+ // Insert tag.
540
+ this.tagInput.parent().before(tag);
541
+
542
+ this._trigger('afterTagAdded', null, {
543
+ tag: tag,
544
+ tagLabel: this.tagLabel(tag),
545
+ duringInitialization: duringInitialization
546
+ });
547
+
548
+ if (this.options.showAutocompleteOnFocus && !duringInitialization) {
549
+ setTimeout(function () { that._showAutocomplete(); }, 0);
550
+ }
551
+
552
+ } //end if else
553
+ },
554
+
555
+ removeTag: function(tag, animate) {
556
+ animate = typeof animate === 'undefined' ? this.options.animate : animate;
557
+
558
+ tag = $(tag);
559
+
560
+ // DEPRECATED.
561
+ this._trigger('onTagRemoved', null, tag);
562
+
563
+ if (this._trigger('beforeTagRemoved', null, {tag: tag, tagLabel: this.tagLabel(tag)}) === false) {
564
+ return;
565
+ }
566
+
567
+ if (this.options.singleField) {
568
+ var tags = this.assignedTags();
569
+ var removedTagLabel = this.tagLabel(tag);
570
+ tags = $.grep(tags, function(el){
571
+ return el != removedTagLabel;
572
+ });
573
+ this._updateSingleTagsField(tags);
574
+ }
575
+
576
+ if (animate) {
577
+ tag.addClass('removed'); // Excludes this tag from _tags.
578
+ var hide_args = this._effectExists('blind') ? ['blind', {direction: 'horizontal'}, 'fast'] : ['fast'];
579
+
580
+ var thisTag = this;
581
+ hide_args.push(function() {
582
+ tag.remove();
583
+ thisTag._trigger('afterTagRemoved', null, {tag: tag, tagLabel: thisTag.tagLabel(tag)});
584
+ });
585
+
586
+ tag.fadeOut('fast').hide.apply(tag, hide_args).dequeue();
587
+ } else {
588
+ tag.remove();
589
+ this._trigger('afterTagRemoved', null, {tag: tag, tagLabel: this.tagLabel(tag)});
590
+ }
591
+
592
+ },
593
+
594
+ removeTagByLabel: function(tagLabel, animate) {
595
+ var toRemove = this._findTagByLabel(tagLabel);
596
+ if (!toRemove) {
597
+ throw "No such tag exists with the name '" + tagLabel + "'";
598
+ }
599
+ this.removeTag(toRemove, animate);
600
+ },
601
+
602
+ removeAll: function() {
603
+ // Removes all tags.
604
+ var that = this;
605
+ this._tags().each(function(index, tag) {
606
+ that.removeTag(tag, false);
607
+ });
608
+ }
609
+
610
+ });
611
+ })(jQuery);
class-easy-google-fonts.php ADDED
@@ -0,0 +1,430 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class: Easy_Google_Fonts
4
+ *
5
+ * The purpose of this class is to provide information
6
+ * about the file structure of this plugin, allowing
7
+ * the plugin folder name to be changed if necessary.
8
+ * It also contains the activation and deactivation
9
+ * functions that are triggered when the plugin is
10
+ * activated/deactivated.
11
+ *
12
+ * @package Easy_Google_Fonts
13
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
14
+ * @license GPL-2.0+
15
+ * @link http://wordpress.org/plugins/easy-google-fonts/
16
+ * @copyright Copyright (c) 2016, Titanium Themes
17
+ * @version 1.4.4
18
+ *
19
+ */
20
+ if ( ! class_exists( 'Easy_Google_Fonts' ) ) :
21
+ class Easy_Google_Fonts {
22
+
23
+ /**
24
+ * Plugin version, used for cache-busting
25
+ * of style and script file references.
26
+ *
27
+ * @var string
28
+ * @since 1.3
29
+ */
30
+ const VERSION = '1.4.0';
31
+
32
+ /**
33
+ * Instance of this class.
34
+ *
35
+ * @var object
36
+ * @since 1.3
37
+ *
38
+ */
39
+ protected static $instance = null;
40
+
41
+ /**
42
+ * Translation handle
43
+ *
44
+ * @var string
45
+ * @since 1.3
46
+ *
47
+ */
48
+ public $plugin_slug = 'easy-google-fonts';
49
+
50
+ /**
51
+ * Constructor Function
52
+ *
53
+ * Initialize the class and register all
54
+ * actions and filters.
55
+ *
56
+ * @since 1.3
57
+ * @version 1.4.4
58
+ *
59
+ */
60
+ function __construct() {
61
+
62
+ $this->plugin_slug = 'easy-google-fonts';
63
+ $this->register_actions();
64
+ $this->register_filters();
65
+ }
66
+
67
+ /**
68
+ * Return an instance of this class.
69
+ *
70
+ * @return object A single instance of this class.
71
+ *
72
+ * @since 1.3
73
+ * @version 1.4.4
74
+ *
75
+ */
76
+ public static function get_instance() {
77
+
78
+ // If the single instance hasn't been set, set it now.
79
+ if ( null == self::$instance ) {
80
+ self::$instance = new self;
81
+ }
82
+
83
+ return self::$instance;
84
+ }
85
+
86
+ /**
87
+ * Return the plugin slug.
88
+ *
89
+ * @return Plugin slug variable.
90
+ *
91
+ * @since 1.3
92
+ * @version 1.4.4
93
+ *
94
+ */
95
+ public function get_plugin_slug() {
96
+ return $this->plugin_slug;
97
+ }
98
+
99
+ /**
100
+ * Register Custom Actions
101
+ *
102
+ * Add any custom actions in this function.
103
+ *
104
+ * @since 1.3
105
+ * @version 1.4.4
106
+ *
107
+ */
108
+ public function register_actions() {
109
+ }
110
+
111
+ /**
112
+ * Register Custom Filters
113
+ *
114
+ * Add any custom filters in this function.
115
+ *
116
+ * @since 1.3
117
+ * @version 1.4.4
118
+ *
119
+ */
120
+ public function register_filters() {
121
+ }
122
+
123
+ /**
124
+ * Get CSS Directory URL
125
+ *
126
+ * Static function that returns the complete url of
127
+ * the css directory location. Returns the path without
128
+ * the trailing slash.
129
+ *
130
+ * @since 1.3
131
+ * @version 1.4.4
132
+ *
133
+ */
134
+ public static function get_css_url() {
135
+ return plugins_url( 'assets/css', __FILE__ );
136
+ }
137
+
138
+ /**
139
+ * Get CSS Directory Path
140
+ *
141
+ * Static function that returns the complete path of
142
+ * the css directory location. Returns the path without
143
+ * the trailing slash.
144
+ *
145
+ * @since 1.3
146
+ * @version 1.4.4
147
+ *
148
+ */
149
+ public static function get_css_path() {
150
+ return plugin_dir_path( __FILE__ ) . 'assets\css';
151
+ }
152
+
153
+ /**
154
+ * Get JavaScript Directory URL
155
+ *
156
+ * Static function that returns the complete url of
157
+ * the js directory location. Returns the path without
158
+ * the trailing slash.
159
+ *
160
+ * @since 1.3
161
+ * @version 1.4.4
162
+ *
163
+ */
164
+ public static function get_js_url() {
165
+ return plugins_url( 'assets/js', __FILE__ );
166
+ }
167
+
168
+ /**
169
+ * Get JavaScript Directory Path
170
+ *
171
+ * Static function that returns the complete path of
172
+ * the js directory location. Returns the path without
173
+ * the trailing slash.
174
+ *
175
+ * @since 1.3
176
+ * @version 1.4.4
177
+ *
178
+ */
179
+ public static function get_js_path() {
180
+ return plugin_dir_path( __FILE__ ) . 'assets\js';
181
+ }
182
+
183
+ /**
184
+ * Get Image Directory URL
185
+ *
186
+ * Static function that returns the complete url of
187
+ * the js directory location. Returns the url without
188
+ * the trailing slash.
189
+ *
190
+ * @since 1.3
191
+ * @version 1.4.4
192
+ *
193
+ */
194
+ public static function get_images_url() {
195
+ return plugins_url( 'assets/images', __FILE__ );
196
+ }
197
+
198
+ /**
199
+ * Get Image Directory Path
200
+ *
201
+ * Static function that returns the complete path of
202
+ * the js directory location. Returns the path without
203
+ * the trailing slash.
204
+ *
205
+ * @since 1.3
206
+ * @version 1.4.4
207
+ *
208
+ */
209
+ public static function get_images_path() {
210
+ return plugin_dir_path( __FILE__ ) . 'assets\images';
211
+ }
212
+
213
+ /**
214
+ * Get Includes Directory URL
215
+ *
216
+ * Static function that returns the complete url of
217
+ * the includes directory location. Returns the path without
218
+ * the trailing slash.
219
+ *
220
+ * @since 1.3
221
+ * @version 1.4.4
222
+ *
223
+ */
224
+ public static function get_includes_url() {
225
+ return plugins_url( 'includes', __FILE__ );
226
+ }
227
+
228
+ /**
229
+ * Get Includes Directory Path
230
+ *
231
+ * Static function that returns the complete url of
232
+ * the includes directory location. Returns the path without
233
+ * the trailing slash.
234
+ *
235
+ * @since 1.3
236
+ * @version 1.4.4
237
+ *
238
+ */
239
+ public static function get_includes_path() {
240
+ return plugin_dir_path( __FILE__ ) . 'includes' ;
241
+ }
242
+
243
+ /**
244
+ * Get Views Directory URL
245
+ *
246
+ * Static function that returns the complete url of
247
+ * the views directory location. Returns the path without
248
+ * the trailing slash.
249
+ *
250
+ * @since 1.3
251
+ * @version 1.4.4
252
+ *
253
+ */
254
+ public static function get_views_url() {
255
+ return plugins_url( 'views', __FILE__ );
256
+ }
257
+
258
+ /**
259
+ * Get Views Directory Path
260
+ *
261
+ * Static function that returns the complete url of
262
+ * the views directory location. Returns the path without
263
+ * the trailing slash.
264
+ *
265
+ * @since 1.3
266
+ * @version 1.4.4
267
+ *
268
+ */
269
+ public static function get_views_path() {
270
+ return plugin_dir_path( __FILE__ ) . 'views' ;
271
+ }
272
+
273
+ /**
274
+ * Activation Event
275
+ *
276
+ * Fired when the plugin is activated.
277
+ *
278
+ * @param boolean $network_wide True if WPMU superadmin uses
279
+ * "Network Activate" action, false if
280
+ * WPMU is disabled or plugin is
281
+ * activated on an individual blog.
282
+ *
283
+ * @since 1.3
284
+ * @version 1.4.4
285
+ *
286
+ */
287
+ public static function activate( $network_wide ) {
288
+
289
+ if ( function_exists( 'is_multisite' ) && is_multisite() ) {
290
+
291
+ if ( $network_wide ) {
292
+
293
+ // Get all blog ids
294
+ $blog_ids = self::get_blog_ids();
295
+
296
+ foreach ( $blog_ids as $blog_id ) {
297
+ switch_to_blog( $blog_id );
298
+ self::single_activate();
299
+ }
300
+
301
+ restore_current_blog();
302
+
303
+ } else {
304
+ self::single_activate();
305
+ }
306
+
307
+ } else {
308
+ self::single_activate();
309
+ }
310
+ }
311
+
312
+ /**
313
+ * Deactivation Event
314
+ *
315
+ * Fired when the plugin is deactivated.
316
+ *
317
+ * @param boolean $network_wide True if WPMU superadmin uses
318
+ * "Network Deactivate" action, false if
319
+ * WPMU is disabled or plugin is
320
+ * deactivated on an individual blog.
321
+ *
322
+ * @since 1.3
323
+ * @version 1.4.4
324
+ *
325
+ */
326
+ public static function deactivate( $network_wide ) {
327
+
328
+ if ( function_exists( 'is_multisite' ) && is_multisite() ) {
329
+
330
+ if ( $network_wide ) {
331
+
332
+ // Get all blog ids
333
+ $blog_ids = self::get_blog_ids();
334
+
335
+ foreach ( $blog_ids as $blog_id ) {
336
+
337
+ switch_to_blog( $blog_id );
338
+ self::single_deactivate();
339
+
340
+ }
341
+
342
+ restore_current_blog();
343
+
344
+ } else {
345
+ self::single_deactivate();
346
+ }
347
+
348
+ } else {
349
+ self::single_deactivate();
350
+ }
351
+ }
352
+
353
+ /**
354
+ * WMPU Activation Event
355
+ *
356
+ * Fired when a new site is activated with a WPMU environment.
357
+ *
358
+ * @param int $blog_id ID of the new blog.
359
+ *
360
+ * @since 1.3
361
+ * @version 1.4.4
362
+ *
363
+ */
364
+ public function activate_new_site( $blog_id ) {
365
+
366
+ if ( 1 !== did_action( 'wpmu_new_blog' ) ) {
367
+ return;
368
+ }
369
+
370
+ switch_to_blog( $blog_id );
371
+ self::single_activate();
372
+ restore_current_blog();
373
+ }
374
+
375
+ /**
376
+ * Get Blog Ids
377
+ *
378
+ * Get all blog ids of blogs in the current network that are:
379
+ * - not archived
380
+ * - not spam
381
+ * - not deleted
382
+ *
383
+ * @return array|false The blog ids, false if no matches.
384
+ *
385
+ * @since 1.3
386
+ * @version 1.4.4
387
+ *
388
+ */
389
+ private static function get_blog_ids() {
390
+
391
+ global $wpdb;
392
+
393
+ // get an array of blog ids
394
+ $sql = "SELECT blog_id FROM $wpdb->blogs
395
+ WHERE archived = '0' AND spam = '0'
396
+ AND deleted = '0'";
397
+
398
+ return $wpdb->get_col( $sql );
399
+ }
400
+
401
+ /**
402
+ * Define Activation Functionality
403
+ *
404
+ * Anything in this function is fired for each blog
405
+ * when the plugin is activated.
406
+ *
407
+ * @since 1.3
408
+ * @version 1.4.4
409
+ *
410
+ */
411
+ private static function single_activate() {
412
+ }
413
+
414
+ /**
415
+ * Define Deactivation Functionality
416
+ *
417
+ * Anything in this function is fired for each blog
418
+ * when the plugin is deactivated.
419
+ *
420
+ * @since 1.3
421
+ * @version 1.4.4
422
+ *
423
+ */
424
+ private static function single_deactivate() {
425
+ delete_transient( 'tt_font_default_fonts' );
426
+ delete_transient( 'tt_font_google_fonts_list' );
427
+ delete_transient( 'tt_font_google_fonts' );
428
+ }
429
+ }
430
+ endif;
easy-google-fonts.php ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Plugin Name: Easy Google Fonts
4
+ * Description: A simple and easy way to add google fonts to your WordPress theme.
5
+ * Version: 1.4.4
6
+ * Author: Titanium Themes
7
+ * Author URI: http://www.titaniumthemes.com
8
+ * License: GPL2
9
+ *
10
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
11
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
12
+ * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
13
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
14
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
15
+ * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+ */
17
+
18
+ /**
19
+ * Theme Font Generator
20
+ *
21
+ * This file is responsible for enabling custom google
22
+ * fonts to be generated in the WordPress Admin Area.
23
+ * This plugin has been completely rewritten from the
24
+ * ground up to boost performance.
25
+ *
26
+ * @package Easy_Google_Fonts
27
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
28
+ * @license GPL-2.0+
29
+ * @link http://wordpress.org/plugins/easy-google-fonts/
30
+ * @copyright Copyright (c) 2016, Titanium Themes
31
+ * @version 1.4.4
32
+ *
33
+ */
34
+
35
+ // If this file is called directly, abort.
36
+ if ( ! defined( 'WPINC' ) ) {
37
+ die;
38
+ }
39
+
40
+ /**
41
+ * Include Class Files
42
+ *
43
+ * Loads required classes for this plugin to function.
44
+ *
45
+ * @since 1.2
46
+ * @version 1.4.4
47
+ *
48
+ */
49
+ require_once( plugin_dir_path( __FILE__ ) . 'class-easy-google-fonts.php' );
50
+ require_once( plugin_dir_path( __FILE__ ) . 'includes/class-egf-font-utilities.php' );
51
+ require_once( plugin_dir_path( __FILE__ ) . 'includes/class-egf-posttype.php' );
52
+ require_once( plugin_dir_path( __FILE__ ) . 'includes/class-egf-register-options.php' );
53
+ require_once( plugin_dir_path( __FILE__ ) . 'includes/class-easy-google-fonts-admin.php' );
54
+ require_once( plugin_dir_path( __FILE__ ) . 'includes/customizer/class-egf-customize-manager.php' );
55
+ require_once( plugin_dir_path( __FILE__ ) . 'includes/class-egf-admin-controller.php' );
56
+ require_once( plugin_dir_path( __FILE__ ) . 'includes/class-egf-ajax.php' );
57
+ require_once( plugin_dir_path( __FILE__ ) . 'includes/class-egf-frontend.php' );
58
+
59
+ /**
60
+ * Load Plugin Text Domain
61
+ *
62
+ * Required in order to make this plugin translatable.
63
+ *
64
+ * @since 1.2
65
+ * @version 1.4.4
66
+ *
67
+ */
68
+ function easy_google_fonts_text_domain() {
69
+ load_plugin_textdomain( 'easy-google-fonts', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
70
+ }
71
+ add_action( 'plugins_loaded', 'easy_google_fonts_text_domain' );
72
+
73
+ /**
74
+ * Create Easy_Google_Fonts Instance
75
+ *
76
+ * Creates a new Easy_Google_Fonts class instance when
77
+ * the 'plugins_loaded' action is fired.
78
+ *
79
+ * @since 1.2
80
+ * @version 1.4.4
81
+ *
82
+ */
83
+ add_action( 'plugins_loaded', array( 'Easy_Google_Fonts', 'get_instance' ) );
84
+ add_action( 'plugins_loaded', array( 'EGF_Font_Utilities', 'get_instance' ) );
85
+ add_action( 'plugins_loaded', array( 'EGF_Posttype', 'get_instance' ) );
86
+ add_action( 'plugins_loaded', array( 'EGF_Register_Options', 'get_instance' ) );
87
+ add_action( 'plugins_loaded', array( 'EGF_Customize_Manager', 'get_instance' ) );
88
+ add_action( 'plugins_loaded', array( 'Easy_Google_Fonts_Admin', 'get_instance' ) );
89
+ add_action( 'plugins_loaded', array( 'EGF_Ajax', 'get_instance' ) );
90
+ add_action( 'plugins_loaded', array( 'EGF_Frontend', 'get_instance' ) );
91
+
92
+ /**
93
+ * Register Activation/Deactivation Hooks
94
+ *
95
+ * Register hooks that are fired when the plugin is activated or deactivated.
96
+ * When the plugin is deleted, the uninstall.php file is loaded.
97
+ *
98
+ * @since 1.2
99
+ * @version 1.4.4
100
+ *
101
+ */
102
+ register_activation_hook( __FILE__, array( 'Easy_Google_Fonts', 'activate' ) );
103
+ register_deactivation_hook( __FILE__, array( 'Easy_Google_Fonts', 'deactivate' ) );
includes/class-easy-google-fonts-admin.php ADDED
@@ -0,0 +1,443 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class: Easy_Google_Fonts_Admin
4
+ *
5
+ * This file initialises the admin functionality for this plugin.
6
+ * It is used to initialise the font control admin management page.
7
+ *
8
+ *
9
+ * @package Easy_Google_Fonts_Admin
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ if ( ! class_exists( 'Easy_Google_Fonts_Admin' ) ) :
18
+ class Easy_Google_Fonts_Admin {
19
+
20
+ /**
21
+ * Instance of this class.
22
+ *
23
+ * @var object
24
+ * @since 1.2
25
+ *
26
+ */
27
+ protected static $instance = null;
28
+
29
+ /**
30
+ * Slug of the plugin screen.
31
+ *
32
+ * @var string
33
+ * @since 1.2
34
+ *
35
+ */
36
+ protected $plugin_screen_hook_suffix = null;
37
+
38
+ /**
39
+ * Constructor Function
40
+ *
41
+ * Initialize the plugin by loading admin scripts & styles and adding a
42
+ * settings page and menu.
43
+ *
44
+ * @since 1.2
45
+ * @version 1.4.4
46
+ *
47
+ */
48
+ function __construct() {
49
+ /**
50
+ * Call $plugin_slug from public plugin class.
51
+ *
52
+ */
53
+ $plugin = Easy_Google_Fonts::get_instance();
54
+ $this->plugin_slug = $plugin->get_plugin_slug();
55
+ $this->register_actions();
56
+ $this->register_filters();
57
+ }
58
+
59
+ /**
60
+ * Return an instance of this class.
61
+ *
62
+ * @return object A single instance of this class.
63
+ *
64
+ * @since 1.2
65
+ * @version 1.4.4
66
+ *
67
+ */
68
+ public static function get_instance() {
69
+
70
+ // If the single instance hasn't been set, set it now.
71
+ if ( null == self::$instance ) {
72
+ self::$instance = new self;
73
+ }
74
+
75
+ return self::$instance;
76
+ }
77
+
78
+ /**
79
+ * Register Custom Actions
80
+ *
81
+ * Add any custom actions in this function.
82
+ *
83
+ * @since 1.2
84
+ * @version 1.4.4
85
+ *
86
+ */
87
+ public function register_actions() {
88
+ // Load admin style sheet and JavaScript.
89
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_styles' ) );
90
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) );
91
+
92
+ // Add the options page and menu item.
93
+ add_action( 'admin_menu', array( $this, 'add_plugin_admin_menu' ) );
94
+ }
95
+
96
+ /**
97
+ * Register Custom Filters
98
+ *
99
+ * Add any custom filters in this function.
100
+ *
101
+ * @since 1.2
102
+ * @version 1.4.4
103
+ *
104
+ */
105
+ public function register_filters() {
106
+ // Add an action link pointing to the options page.
107
+ $plugin_basename = plugin_basename( plugin_dir_path( dirname( __FILE__ ) ) . $this->plugin_slug . '.php' );
108
+ add_filter( 'plugin_action_links_' . $plugin_basename, array( $this, 'add_action_links' ) );
109
+ }
110
+
111
+ /**
112
+ * Register and enqueue admin-specific style sheet.
113
+ *
114
+ * @return null Return early if no settings page is registered.
115
+ *
116
+ * @since 1.2
117
+ * @version 1.4.4
118
+ *
119
+ */
120
+ public function enqueue_admin_styles() {
121
+
122
+ if ( ! isset( $this->plugin_screen_hook_suffix ) ) {
123
+ return;
124
+ }
125
+
126
+ $screen = get_current_screen();
127
+ if ( $this->plugin_screen_hook_suffix == $screen->id ) {
128
+ wp_deregister_style( $this->plugin_slug .'-admin-styles' );
129
+ wp_register_style(
130
+ $this->plugin_slug .'-admin-styles',
131
+ Easy_Google_Fonts::get_css_url() . '/admin.css',
132
+ array(),
133
+ Easy_Google_Fonts::VERSION
134
+ );
135
+ wp_enqueue_style( $this->plugin_slug .'-admin-styles' );
136
+ }
137
+ }
138
+
139
+ /**
140
+ * Register and enqueue admin-specific JavaScript.
141
+ *
142
+ * @return null Return early if no settings page is registered.
143
+ *
144
+ * @since 1.2
145
+ * @version 1.4.4
146
+ *
147
+ */
148
+ public function enqueue_admin_scripts() {
149
+
150
+ if ( ! isset( $this->plugin_screen_hook_suffix ) ) {
151
+ return;
152
+ }
153
+
154
+ $screen = get_current_screen();
155
+ if ( $this->plugin_screen_hook_suffix == $screen->id ) {
156
+
157
+ // Load jQuery and jQuery UI
158
+ wp_enqueue_script( 'jquery' );
159
+ wp_enqueue_script( 'utils' );
160
+ wp_enqueue_script( 'jquery-ui-core' );
161
+ wp_enqueue_script( 'jquery-effects-core' );
162
+ wp_enqueue_script( 'jquery-effects-fade' );
163
+ wp_enqueue_script( 'jquery-ui-sortable' );
164
+ wp_enqueue_script( 'jquery-ui-autocomplete' );
165
+ wp_enqueue_script( 'jquery-ui-position' );
166
+ wp_enqueue_script( 'jquery-ui-widget' );
167
+ wp_enqueue_script( 'jquery-ui-mouse' );
168
+ wp_enqueue_script( 'jquery-ui-draggable' );
169
+ wp_enqueue_script( 'jquery-ui-droppable' );
170
+
171
+ // Load PostBox
172
+ wp_enqueue_script( 'postbox' );
173
+
174
+ if ( wp_is_mobile() ) {
175
+ wp_enqueue_script( 'jquery-touch-punch' );
176
+ }
177
+
178
+ // Load Tag-it script
179
+ wp_deregister_script( $this->plugin_slug . '-tag-it-admin-script' );
180
+ wp_register_script(
181
+ $this->plugin_slug . '-tag-it-admin-script',
182
+ Easy_Google_Fonts::get_js_url() . '/tag-it.js',
183
+ array( 'jquery' ),
184
+ Easy_Google_Fonts::VERSION
185
+ );
186
+ wp_enqueue_script( $this->plugin_slug . '-tag-it-admin-script' );
187
+
188
+ // Load admin page js
189
+ wp_deregister_script( $this->plugin_slug . '-admin-script' );
190
+ wp_register_script(
191
+ $this->plugin_slug . '-admin-script',
192
+ Easy_Google_Fonts::get_js_url() . '/admin.js',
193
+ array( 'jquery','jquery-ui-core', 'jquery-ui-widget' ),
194
+ Easy_Google_Fonts::VERSION
195
+ );
196
+ wp_enqueue_script( $this->plugin_slug . '-admin-script' );
197
+
198
+ // Load in customizer control javascript object
199
+ wp_localize_script( $this->plugin_slug . '-admin-script', 'ttFontl10n', $this->get_l10n() );
200
+ }
201
+ }
202
+
203
+ /**
204
+ * Get Translation Object
205
+ *
206
+ * Returns an array of strings to be enqueued as a
207
+ * JSON object on the admin page. This allows the
208
+ * plugin to remain fully translatable. Developers
209
+ * can add/modify this array by hooking into the
210
+ * appropriate filter.
211
+ *
212
+ * Custom Filters:
213
+ * - tt_font_admin_l10n
214
+ *
215
+ *
216
+ * @return array $l10n - An array of translatable strings.
217
+ *
218
+ * @since 1.3.2
219
+ * @version 1.4.4
220
+ *
221
+ */
222
+ public function get_l10n() {
223
+ // Create an array of translatable strings
224
+ $l10n = array(
225
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
226
+ 'confirmation' => __( 'This page is asking you to confirm that you want to leave - data you have entered may not be saved.', 'easy-google-fonts' ),
227
+ 'deleteAllWarning' => __( "Warning! You are about to permanently delete all font controls. 'Cancel' to stop, 'OK' to delete.", 'easy-google-fonts' ),
228
+ 'deleteWarning' => __( "You are about to permanently delete this font control. 'Cancel' to stop, 'OK' to delete.", 'easy-google-fonts' ),
229
+ 'displayFontLabel' => __( 'Google Display Fonts', 'easy-google-fonts' ),
230
+ 'fallbackFontLabel' => __( 'Google Fonts', 'easy-google-fonts' ),
231
+ 'handwritingFontLabel' => __( 'Google Handwriting Fonts', 'easy-google-fonts' ),
232
+ 'monospaceFontLabel' => __( 'Google Monospace Fonts', 'easy-google-fonts' ),
233
+ 'serifFontLabel' => __( 'Google Serif Fonts', 'easy-google-fonts' ),
234
+ 'sansSerifFontLabel' => __( 'Google Sans Serif Fonts', 'easy-google-fonts' ),
235
+ 'standardFontLabel' => __( 'Standard Web Fonts', 'easy-google-fonts' ),
236
+ 'themeDefault' => __( '&mdash; Theme Default &mdash;', 'easy-google-fonts' ),
237
+ );
238
+
239
+ // Return the l10n array
240
+ return apply_filters( 'tt_font_admin_l10n', $l10n );
241
+ }
242
+
243
+ /**
244
+ * Add Admin Menu
245
+ *
246
+ * Register the administration menu for this plugin
247
+ * into the WordPress Dashboard menu.
248
+ *
249
+ * @link http://codex.wordpress.org/Administration_Menus Administration Menus
250
+ * @link http://codex.wordpress.org/Roles_and_Capabilities Roles and Capabilities
251
+ *
252
+ * @since 1.2
253
+ * @version 1.4.4
254
+ *
255
+ */
256
+ public function add_plugin_admin_menu() {
257
+
258
+ /**
259
+ * Add a settings page for this plugin to the Settings menu.
260
+ *
261
+ * NOTE: Alternative menu locations are available via WordPress administration menu functions.
262
+ *
263
+ * Administration Menus: http://codex.wordpress.org/Administration_Menus
264
+ *
265
+ * For reference: http://codex.wordpress.org/Roles_and_Capabilities
266
+ */
267
+ $this->plugin_screen_hook_suffix = add_options_page(
268
+ __( 'Easy Google Fonts', $this->plugin_slug ),
269
+ __( 'Google Fonts', $this->plugin_slug ),
270
+ 'edit_theme_options',
271
+ $this->plugin_slug,
272
+ array( $this, 'display_plugin_admin_page' )
273
+ );
274
+
275
+ /*
276
+ * Use the retrieved $this->plugin_screen_hook_suffix to hook the function that enqueues our
277
+ * contextual help tabs. This hook invokes the function only on our plugin administration screen,
278
+ * see: http://codex.wordpress.org/Administration_Menus#Page_Hook_Suffix
279
+ */
280
+ add_action( 'load-' . $this->plugin_screen_hook_suffix, array( $this, 'add_help_tabs' ) );
281
+ add_action( 'load-' . $this->plugin_screen_hook_suffix, array( $this, 'add_screen_option' ) );
282
+ }
283
+
284
+ /**
285
+ * Output Admin Page
286
+ *
287
+ * Render the settings page for this plugin.
288
+ *
289
+ * @since 1.2
290
+ * @version 1.4.4
291
+ *
292
+ */
293
+ public function display_plugin_admin_page() {
294
+ $controller = new EGF_Admin_Controller();
295
+ $controller->render();
296
+ }
297
+
298
+ /**
299
+ * Add Action Links
300
+ *
301
+ * Add settings action link to the plugins page.
302
+ *
303
+ * @since 1.2
304
+ * @version 1.4.4
305
+ *
306
+ */
307
+ public function add_action_links( $links ) {
308
+
309
+ return array_merge(
310
+ array(
311
+ 'settings' => '<a href="' . admin_url( 'options-general.php?page=' . $this->plugin_slug ) . '">' . __( 'Settings', $this->plugin_slug ) . '</a>'
312
+ ),
313
+ $links
314
+ );
315
+ }
316
+
317
+ /**
318
+ * Get Screen Tab Options
319
+ *
320
+ * This function has been created in order to give developers
321
+ * a hook by which to add their own screen options.
322
+ *
323
+ * @since 1.2
324
+ * @version 1.4.4
325
+ *
326
+ */
327
+ public function add_screen_option() {
328
+
329
+ // Bail if hook not defined
330
+ if ( ! isset( $this->plugin_screen_hook_suffix ) ) {
331
+ return;
332
+ }
333
+
334
+ $screen = get_current_screen();
335
+
336
+ if ( $this->plugin_screen_hook_suffix == $screen->id ) {
337
+ // Developers: Add Options Below
338
+ }
339
+ }
340
+
341
+ /**
342
+ * Add Help Tabs To The Font Generator Admin Page
343
+ *
344
+ * Adds contextual help tabs to the custom themes fonts page.
345
+ * This function is attached to an action that ensures that the
346
+ * help tabs are only displayed on the custom admin page.
347
+ *
348
+ * @since 1.2
349
+ * @version 1.4.4
350
+ *
351
+ */
352
+ public function add_help_tabs() {
353
+
354
+ // Bail if hook not defined
355
+ if ( ! isset( $this->plugin_screen_hook_suffix ) ) {
356
+ return;
357
+ }
358
+
359
+ $screen = get_current_screen();
360
+
361
+ if ( $this->plugin_screen_hook_suffix == $screen->id ) {
362
+
363
+ // Overview Tab
364
+ $overview = '<p>' . __( 'This screen is used for managing your custom font controls. It provides a way to create a custom font controls for any type of content in your theme.', 'easy-google-fonts' ) . '</p>';
365
+ $overview .= '<p>' . __( 'From this screen you can:' ) . '</p>';
366
+ $overview .= '<ul><li>' . __( 'Create, edit, and delete custom font controls.', 'easy-google-fonts' ) . '</li>';
367
+ $overview .= '<li>' . __( 'Manage all of your custom font controls.', 'easy-google-fonts' ) . '</li>';
368
+ $overview .= '<li>' . __( 'Add a Google API key in order to enable automatic font updates.', 'easy-google-fonts' ) . '</li></ul>';
369
+ $overview .= '<p><strong>' . __( 'Please Note: ', 'easy-google-fonts' ) . '</strong>';
370
+ $overview .= __( 'This screen is used to manage/create new font controls. To preview fonts for each control please visit the typography section in the ', 'easy-google-fonts' );
371
+ $overview .= '<a href="' . admin_url( 'customize.php' ) . '">' . __( 'customizer', 'easy-google-fonts' ) . '</a></p>';
372
+
373
+
374
+ $screen->add_help_tab( array(
375
+ 'id' => 'overview',
376
+ 'title' => __('Overview', 'easy-google-fonts'),
377
+ 'content' => $overview,
378
+ ) );
379
+
380
+ $edit_content = '';
381
+ $edit_content .= '<p>' . 'This screen is used for creating and managing individual custom font controls.' . '</p>';
382
+ $edit_content .= '<p>' . __( 'From this screen you can:' ) . '</p>';
383
+ $edit_content .= '<ul><li>' . __( 'Create, edit, and delete custom font controls.', 'easy-google-fonts' ) . '</li>';
384
+ $edit_content .= '<li>' . __( 'Add CSS Selectors: Add any CSS selectors/styles that you want this custom font control to manage.', 'easy-google-fonts' ) . '</li>';
385
+ $edit_content .= '<li>' . __( "Force Styles Override (Optional): If your theme is forcing any styles in it's stylesheet for any styles managed by this control then check this option to force a stylesheet override.", 'easy-google-fonts' ) . '</li></ul>';
386
+ $edit_content .= '<p><strong>' . __( 'Please Note: ', 'easy-google-fonts' ) . '</strong>';
387
+ $edit_content .= __( 'This screen is used to manage/create new font controls. To preview fonts for each control please visit the typography section in the ', 'easy-google-fonts' );
388
+ $edit_content .= '<a href="' . admin_url( 'customize.php' ) . '">' . __( 'customizer', 'easy-google-fonts' ) . '</a></p>';
389
+
390
+
391
+ $screen->add_help_tab( array(
392
+ 'id' => 'edit-controls',
393
+ 'title' => __( 'Edit Font Controls', 'easy-google-fonts'),
394
+ 'content' => $edit_content,
395
+ ) );
396
+
397
+ $manage_content = '';
398
+ $manage_content .= '<p>' . 'This screen is used for managing all of your custom font controls.' . '</p>';
399
+ $manage_content .= '<p>' . __( 'From this screen you can:' ) . '</p>';
400
+ $manage_content .= '<ul><li>' . __( 'View all of your custom font controls and the CSS selectors they are managing.', 'easy-google-fonts' ) . '</li>';
401
+ $manage_content .= '<li>' . __( 'Delete any/all custom font controls.', 'easy-google-fonts' ) . '</li>';
402
+ $manage_content .= '<li>' . __( "Force Styles Override (Optional): If your theme is forcing any styles in it's stylesheet for any styles managed by this control then check this option to force a stylesheet override.", 'easy-google-fonts' ) . '</li></ul>';
403
+ $manage_content .= '<p><strong>' . __( 'Please Note: ', 'easy-google-fonts' ) . '</strong>';
404
+ $manage_content .= __( 'This screen is used to manage/create new font controls. To preview fonts for each control please visit the typography section in the ', 'easy-google-fonts' );
405
+ $manage_content .= '<a href="' . admin_url( 'customize.php' ) . '">' . __( 'customizer', 'easy-google-fonts' ) . '</a></p>';
406
+
407
+ $screen->add_help_tab( array(
408
+ 'id' => 'manage-controls',
409
+ 'title' => __( 'Manage Font Controls', 'easy-google-fonts'),
410
+ 'content' => $manage_content,
411
+ ) );
412
+
413
+ $api_content = '<p><strong>' . __( 'How to get your Google API Key:', 'easy-google-fonts' ) . '</strong></p>';
414
+ $api_content .= '<p>';
415
+ $api_content .= '<ul>';
416
+ $api_content .= '<li>' . __( 'Visit the <a href="https://code.google.com/apis/console" target="_blank">Google APIs Console</a>.', 'easy-google-fonts' ) . '</li>';
417
+ $api_content .= '<li>' . __( 'Create a new project.', 'easy-google-fonts' ) . '</li>';
418
+ $api_content .= '<li>' . __( 'Select APIs Under the APIs & auth menu.', 'easy-google-fonts' ) . '</li>';
419
+ $api_content .= '<li>' . __( 'Turn on Web Fonts Developer API.', 'easy-google-fonts' ) . '</li>';
420
+ $api_content .= '<li>' . __( 'Select Credentials under the APIs & auth menu.', 'easy-google-fonts' ) . '</li>';
421
+ $api_content .= '<li>' . __( 'Create a new browser key and <strong>leave the referrer box empty</strong>.', 'easy-google-fonts' ) . '</li>';
422
+ $api_content .= '<li>' . __( 'Once you have an API key, you can enter it in the Google Fonts API Key text field on the "Advanced" settings page.', 'easy-google-fonts' ) . '</li>';
423
+ $api_content .= '</ul>';
424
+ $api_content .= '</p>';
425
+ $api_content .= '<p>' . __( 'Once you have entered a valid Google API key this plugin will automatically update itself with the latest fonts from google.', 'easy-google-fonts' ) . '</p>';
426
+
427
+ $screen->add_help_tab( array(
428
+ 'id' => 'api-key',
429
+ 'title' => __( 'Google API Key Instructions', 'easy-google-fonts'),
430
+ 'content' => $api_content,
431
+ ) );
432
+
433
+ $screen->set_help_sidebar(
434
+ '<p><strong>' . __('For more information:', 'easy-google-fonts') . '</strong></p>' .
435
+ '<p><a href="http://www.google.com/fonts#AboutPlace:about" target="_blank">' . __('Documentation on Google Fonts', 'easy-google-fonts') . '</a></p>' .
436
+ '<p><a href="https://console.developers.google.com/" target="_blank">' . __( 'Get Google Fonts API Key', 'easy-google-fonts' ) . '</a></p>'
437
+ );
438
+ }
439
+ }
440
+
441
+
442
+ }
443
+ endif;
includes/class-egf-admin-controller.php ADDED
@@ -0,0 +1,515 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class: EGF_Admin_Controller
4
+ *
5
+ * This controller class is used to build the admin page
6
+ * output. It includes the necessary views contained in
7
+ * the views/admin-page directory.
8
+ *
9
+ * @package Easy_Google_Fonts_Admin
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ if ( ! class_exists( 'EGF_Admin_Controller' ) ) :
18
+ class EGF_Admin_Controller {
19
+ /**
20
+ * Instance of this class.
21
+ *
22
+ * @var object
23
+ * @since 1.2
24
+ *
25
+ */
26
+ protected static $instance = null;
27
+
28
+ /**
29
+ * Slug of the plugin screen.
30
+ *
31
+ * @var string
32
+ * @since 1.2
33
+ *
34
+ */
35
+ protected $plugin_screen_hook_suffix = null;
36
+
37
+ /**
38
+ * Url variables used on the admin page
39
+ *
40
+ * @var string
41
+ * @since 1.2
42
+ *
43
+ */
44
+ protected $admin_url;
45
+ protected $create_url;
46
+ protected $manage_url;
47
+ protected $advanced_url;
48
+
49
+ /**
50
+ * Variables to keep track of current screen state
51
+ *
52
+ * @var boolean
53
+ * @since 1.2
54
+ */
55
+ protected $is_edit_screen;
56
+ protected $is_create_screen;
57
+ protected $is_manage_screen;
58
+ protected $is_advanced_screen;
59
+
60
+ /**
61
+ * Variables to keep track of the font control
62
+ * to load/edit.
63
+ *
64
+ * @var mixed
65
+ * @since 1.2
66
+ */
67
+ protected $font_controls;
68
+ protected $custom_controls;
69
+ protected $first_control;
70
+ protected $control_instance;
71
+ protected $no_controls;
72
+ protected $current_control_id;
73
+ protected $control_selected_id;
74
+
75
+ /**
76
+ * Constructor Function
77
+ *
78
+ * Initialize the plugin by loading admin scripts & styles and adding a
79
+ * settings page and menu.
80
+ *
81
+ * @uses Easy_Google_Fonts::get_instance() defined in \includes\class-easy-google-fonts.php
82
+ *
83
+ * @since 1.2
84
+ * @version 1.4.4
85
+ *
86
+ */
87
+ function __construct() {
88
+ /**
89
+ * Call $plugin_slug from public plugin class.
90
+ *
91
+ */
92
+ $plugin = Easy_Google_Fonts::get_instance();
93
+ $this->plugin_slug = $plugin->get_plugin_slug();
94
+
95
+ // Setup class variables
96
+ $this->set_urls();
97
+ $this->set_font_controls();
98
+ $this->set_screen_state();
99
+
100
+ // Register actions and filters
101
+ $this->register_actions();
102
+ $this->register_filters();
103
+ }
104
+
105
+ /**
106
+ * Return an instance of this class.
107
+ *
108
+ * @return object A single instance of this class.
109
+ *
110
+ * @since 1.2
111
+ * @version 1.4.4
112
+ *
113
+ */
114
+ public static function get_instance() {
115
+
116
+ // If the single instance hasn't been set, set it now.
117
+ if ( null == self::$instance ) {
118
+ self::$instance = new self;
119
+ }
120
+
121
+ return self::$instance;
122
+ }
123
+
124
+ /**
125
+ * Set URLs for Admin Page
126
+ *
127
+ * Sets the URL variables that are used throughout the
128
+ * admin settings page.
129
+ *
130
+ * @since 1.2
131
+ * @version 1.4.4
132
+ *
133
+ */
134
+ private function set_urls() {
135
+ $this->admin_url = esc_url( add_query_arg( array( 'page' => $this->plugin_slug ), admin_url( 'options-general.php' ) ) );
136
+ $this->manage_url = esc_url( add_query_arg( array( 'screen' => 'manage_controls' ), $this->admin_url ) );
137
+ $this->advanced_url = esc_url( add_query_arg( array( 'screen' => 'advanced' ), $this->admin_url ) );
138
+ $this->create_url = esc_url( add_query_arg( array( 'screen' => 'edit_controls', 'action' => 'create' ), $this->admin_url ) );
139
+ }
140
+
141
+ /**
142
+ * Set Font Control Variables
143
+ *
144
+ * Sets the font control variables that are used throughout the
145
+ * admin settings page.
146
+ *
147
+ * @since 1.2
148
+ * @version 1.4.4
149
+ *
150
+ */
151
+ public function set_font_controls() {
152
+ $this->font_controls = EGF_Posttype::get_all_font_controls();
153
+ $this->custom_controls = array();
154
+
155
+ // Set no control flag
156
+ $this->no_controls = $this->font_controls ? false : true;
157
+
158
+ if ( ! $this->no_controls ) {
159
+ $count = 0;
160
+
161
+ while ( $this->font_controls->have_posts() ) {
162
+ $this->font_controls->the_post();
163
+
164
+ // Add this control to the $custom_controls array
165
+ $id = get_post_meta( get_the_ID(), 'control_id', true );
166
+ $this->custom_controls[ $id ] = get_the_title();
167
+
168
+ // Set curent control id to the first control
169
+ if( 0 == $count ) {
170
+ $this->current_control_id = $id;
171
+ $this->first_control = EGF_Posttype::get_font_control( $id );
172
+ }
173
+
174
+ $count++;
175
+ }
176
+
177
+ // Restore original Post Data
178
+ wp_reset_postdata();
179
+
180
+ }
181
+
182
+ // Determine Screen via $_GET['action']
183
+ $action = isset( $_GET['action'] ) ? esc_attr( $_GET['action'] ) : false;
184
+
185
+ // Update current control id if it is passed in the URL
186
+ if ( isset( $_GET['control'] ) ) {
187
+ $this->current_control_id = esc_attr( $_GET['control'] );
188
+ }
189
+
190
+ // The control id of the current control being edited - Note this is a string representation of '0', not an integer
191
+ $this->control_selected_id = isset( $_GET['control'] ) ? esc_attr( $_GET['control'] ) : '0';
192
+
193
+ // Attempt to get a control instance if it exists
194
+ $this->control_instance = EGF_Posttype::get_font_control( $this->control_selected_id );
195
+
196
+ // Edit and and no control but has first control
197
+ if ( 'edit' == $action ) {
198
+ if ( ! isset( $_GET['control'] ) && $this->first_control ) {
199
+ $this->control_instance = $this->first_control;
200
+ }
201
+ }
202
+
203
+ /**
204
+ * Initialise screen action if no action has been set
205
+ * in the parameter.
206
+ */
207
+ if ( ! $action ) {
208
+ if ( $this->first_control ) {
209
+ $this->control_instance = $this->first_control;
210
+ $this->control_selected_id = get_post_meta( $this->control_instance->ID, 'control_id', true );
211
+ }
212
+ } elseif ( 'create' == $action ) {
213
+ $this->control_selected_id = '0';
214
+ }
215
+
216
+ }
217
+
218
+ /**
219
+ * Set Screen State
220
+ *
221
+ * Performs a set of checks/tests to determine what
222
+ * screen the user is currently on.
223
+ *
224
+ * @since 1.2
225
+ * @version 1.4.4
226
+ *
227
+ */
228
+ public function set_screen_state() {
229
+
230
+ $this->is_edit_screen = false;
231
+ $this->is_create_screen = false;
232
+ $this->is_manage_screen = false;
233
+ $this->is_advanced_screen = false;
234
+
235
+ // Determine Screen
236
+ if ( isset( $_GET['screen'] ) ) {
237
+ switch ( esc_attr( $_GET['screen'] ) ) {
238
+
239
+ case 'edit':
240
+ $this->is_edit_screen = true;
241
+ break;
242
+
243
+ case 'manage_controls':
244
+ $this->is_manage_screen = true;
245
+ break;
246
+
247
+ case 'advanced':
248
+ $this->is_advanced_screen = true;
249
+ break;
250
+ }
251
+ }
252
+
253
+ if ( ! $this->is_manage_screen && ! $this->is_advanced_screen ) {
254
+ // Determine Screen via $_GET['action']
255
+ $action = isset( $_GET['action'] ) ? esc_attr( $_GET['action'] ) : false;
256
+
257
+ if ( 'edit' == $action ) {
258
+ $this->is_edit_screen = true;
259
+ $this->is_create_screen = false;
260
+ }
261
+
262
+ if ( ! $action ) {
263
+ if ( $this->first_control ) {
264
+ $this->is_edit_screen = true;
265
+ $this->is_create_screen = false;
266
+ } else {
267
+ $this->is_edit_screen = false;
268
+ $this->is_create_screen = true;
269
+ }
270
+ } else {
271
+
272
+ /**
273
+ * PHP Switch to determine what action to take
274
+ * upon screen initialisation.
275
+ */
276
+ switch ( $action ) {
277
+ case 'edit':
278
+ // Change action if we are creating a new font control
279
+ if ( '0' == $this->control_selected_id ) {
280
+ $this->is_edit_screen = false;
281
+ $this->is_create_screen = true;
282
+ } else {
283
+
284
+ // Change action if the control instance doesn't exist
285
+ if ( ! $this->control_instance ) {
286
+ $this->is_edit_screen = false;
287
+ $this->is_create_screen = true;
288
+ }
289
+ }
290
+ break;
291
+
292
+ case 'create':
293
+ $this->is_edit_screen = false;
294
+ $this->is_create_screen = true;
295
+ break;
296
+ }
297
+ }
298
+ }
299
+ }
300
+
301
+
302
+ public function get_font_controls() {
303
+ return $this->font_controls;
304
+ }
305
+
306
+
307
+ /**
308
+ * Register Custom Actions
309
+ *
310
+ * Add any custom actions in this function.
311
+ *
312
+ * @since 1.2
313
+ * @version 1.4.4
314
+ *
315
+ */
316
+ public function register_actions() {
317
+ }
318
+
319
+ /**
320
+ * Register Custom Filters
321
+ *
322
+ * Add any custom filters in this function.
323
+ *
324
+ * @since 1.2
325
+ * @version 1.4.4
326
+ *
327
+ */
328
+ public function register_filters() {
329
+ }
330
+
331
+ /**
332
+ * Edit Font Controls Screen Check
333
+ *
334
+ * Boolean function to check if we are currently
335
+ * on the Edit Font Controls Screen.
336
+ *
337
+ * @return boolean true
338
+ *
339
+ * @since 1.2
340
+ * @version 1.4.4
341
+ *
342
+ */
343
+ public function is_edit_screen() {
344
+ return $this->is_edit_screen;
345
+ }
346
+
347
+ /**
348
+ * Create Font Controls Screen Check
349
+ *
350
+ * Boolean function to check if we are currently
351
+ * on the Edit Font Controls Screen and the action
352
+ * is set to create control.
353
+ *
354
+ * @return boolean true
355
+ *
356
+ * @since 1.2
357
+ * @version 1.4.4
358
+ *
359
+ */
360
+ public function is_create_screen() {
361
+ return $this->is_create_screen;
362
+ }
363
+
364
+ /**
365
+ * Manage Font Controls Screen Check
366
+ *
367
+ * Boolean function to check if we are currently
368
+ * on the Manage Font Controls Screen.
369
+ *
370
+ * @return boolean true
371
+ *
372
+ * @since 1.2
373
+ * @version 1.4.4
374
+ *
375
+ */
376
+ public function is_manage_screen() {
377
+ return $this->is_manage_screen;
378
+ }
379
+
380
+ /**
381
+ * Advanced Screen Check
382
+ *
383
+ * Boolean function to check if we are currently
384
+ * on the Advanced Screen.
385
+ *
386
+ * @return boolean true
387
+ *
388
+ * @since 1.2
389
+ * @version 1.4.4
390
+ *
391
+ */
392
+ public function is_advanced_screen() {
393
+ return $this->is_advanced_screen;
394
+ }
395
+
396
+
397
+ /**
398
+ * Get Page Container Opening Markup
399
+ *
400
+ * Gets the page container openining tag markup.
401
+ *
402
+ * @since 1.2
403
+ * @version 1.4.4
404
+ *
405
+ */
406
+ public function get_page_start() {
407
+ include_once( plugin_dir_path( dirname(__FILE__) ) . 'views/admin-page/page-start.php' );
408
+ }
409
+
410
+ /**
411
+ * Get Page Container Closing Markup
412
+ *
413
+ * Gets the page container closing tag markup.
414
+ *
415
+ * @since 1.2
416
+ * @version 1.4.4
417
+ *
418
+ */
419
+ public function get_page_end() {
420
+ include_once( plugin_dir_path( dirname(__FILE__) ) . 'views/admin-page/page-end.php' );
421
+ }
422
+
423
+ /**
424
+ * Get Page Tabs
425
+ *
426
+ * Gets the navigation tabs on the top of the
427
+ * settings page.
428
+ *
429
+ * @since 1.2
430
+ * @version 1.4.4
431
+ *
432
+ */
433
+ public function get_page_tabs() {
434
+ include_once( plugin_dir_path( dirname(__FILE__) ) . 'views/admin-page/tabs.php' );
435
+ }
436
+
437
+ public function get_deleted_dialog() {
438
+ include_once( plugin_dir_path( dirname(__FILE__) ) . 'views/admin-page/dialog-deleted.php' );
439
+ }
440
+
441
+ public function get_updated_dialog() {
442
+ include_once( plugin_dir_path( dirname(__FILE__) ) . 'views/admin-page/dialog-updated.php' );
443
+ }
444
+
445
+ public function get_manage_control_form() {
446
+ include_once( plugin_dir_path( dirname(__FILE__) ) . 'views/admin-page/form-manage-control.php' );
447
+ }
448
+
449
+ public function get_create_screen() {
450
+ $control_name = '';
451
+ $control_description = '';
452
+
453
+ include_once( plugin_dir_path( dirname(__FILE__) ) . 'views/admin-page/create-screen.php' );
454
+ }
455
+
456
+ public function get_edit_screen() {
457
+ $control_name = $this->control_instance->post_title;
458
+ $control_selectors = get_post_meta( $this->control_instance->ID, 'control_selectors', true );
459
+ $control_description = get_post_meta( $this->control_instance->ID, 'control_description', true );
460
+
461
+ include_once( plugin_dir_path( dirname(__FILE__) ) . 'views/admin-page/edit-screen.php' );
462
+ }
463
+
464
+ public function get_manage_screen() {
465
+ include_once( plugin_dir_path( dirname(__FILE__) ) . 'views/admin-page/manage-screen.php' );
466
+ }
467
+
468
+ public function get_advanced_screen() {
469
+ $api_key = EGF_Font_Utilities::get_google_api_key();
470
+ $validity = EGF_Font_Utilities::is_valid_google_api_key( $api_key ) ? 'valid-key' : 'invalid-key';
471
+ include_once( plugin_dir_path( dirname(__FILE__) ) . 'views/admin-page/advanced-screen.php' );
472
+ }
473
+
474
+
475
+ /**
476
+ * Render Admin Page Output
477
+ * @return [type] [description]
478
+ */
479
+ public function render() {
480
+
481
+ // Opening markup
482
+ $this->get_page_start();
483
+ $this->get_page_tabs();
484
+
485
+
486
+ // Load Appropriate Screen
487
+ if ( $this->is_create_screen() ) {
488
+ $this->get_deleted_dialog();
489
+ $this->get_updated_dialog();
490
+ $this->get_manage_control_form();
491
+ $this->get_create_screen();
492
+ }
493
+
494
+ // Load Appropriate Screen
495
+ if ( $this->is_edit_screen() ) {
496
+ $this->get_deleted_dialog();
497
+ $this->get_updated_dialog();
498
+ $this->get_manage_control_form();
499
+ $this->get_edit_screen();
500
+ }
501
+
502
+ // Load Appropriate Screen
503
+ if ( $this->is_manage_screen() ) {
504
+ $this->get_manage_screen();
505
+ }
506
+
507
+ if ( $this->is_advanced_screen() ) {
508
+ $this->get_advanced_screen();
509
+ }
510
+
511
+ // Closing container markup
512
+ $this->get_page_end();
513
+ }
514
+ }
515
+ endif;
includes/class-egf-ajax.php ADDED
@@ -0,0 +1,349 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class: EGF_Ajax
4
+ *
5
+ * This file initialises the admin functionality for this plugin.
6
+ * It initalises a posttype that acts as a data structure for
7
+ * the font controls. It also has useful static helper functions
8
+ * to get font controls.
9
+ *
10
+ *
11
+ * @package Easy_Google_Fonts_Admin
12
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
13
+ * @license GPL-2.0+
14
+ * @link http://wordpress.org/plugins/easy-google-fonts/
15
+ * @copyright Copyright (c) 2016, Titanium Themes
16
+ * @version 1.4.4
17
+ *
18
+ */
19
+ if ( ! class_exists( 'EGF_Ajax' ) ) :
20
+ class EGF_Ajax {
21
+ /**
22
+ * Instance of this class.
23
+ *
24
+ * @var object
25
+ * @since 1.2
26
+ *
27
+ */
28
+ protected static $instance = null;
29
+
30
+ /**
31
+ * Slug of the plugin screen.
32
+ *
33
+ * @var string
34
+ * @since 1.2
35
+ *
36
+ */
37
+ protected $plugin_screen_hook_suffix = null;
38
+
39
+ /**
40
+ * Constructor Function
41
+ *
42
+ * Initialize the plugin by loading admin scripts & styles and adding a
43
+ * settings page and menu.
44
+ *
45
+ * @since 1.2
46
+ * @version 1.4.4
47
+ *
48
+ */
49
+ function __construct() {
50
+ /**
51
+ * Call $plugin_slug from public plugin class.
52
+ *
53
+ */
54
+ $plugin = Easy_Google_Fonts::get_instance();
55
+ $this->plugin_slug = $plugin->get_plugin_slug();
56
+ $this->register_actions();
57
+ $this->register_filters();
58
+ }
59
+
60
+ /**
61
+ * Return an instance of this class.
62
+ *
63
+ * @return object A single instance of this class.
64
+ *
65
+ * @since 1.2
66
+ * @version 1.4.4
67
+ *
68
+ */
69
+ public static function get_instance() {
70
+
71
+ // If the single instance hasn't been set, set it now.
72
+ if ( null == self::$instance ) {
73
+ self::$instance = new self;
74
+ }
75
+
76
+ return self::$instance;
77
+ }
78
+
79
+ /**
80
+ * Register Custom Actions
81
+ *
82
+ * Add any custom actions in this function.
83
+ *
84
+ * @since 1.2
85
+ * @version 1.4.4
86
+ *
87
+ */
88
+ public function register_actions() {
89
+ add_action( 'wp_ajax_tt_font_set_google_api_key', array( $this, 'set_google_api_key' ) );
90
+ add_action( 'wp_ajax_tt_font_control_force_styles', array( $this, 'force_font_control_styles' ) );
91
+ add_action( 'wp_ajax_tt_font_create_control_instance', array( $this, 'create_control_instance' ) );
92
+ add_action( 'wp_ajax_tt_font_update_control_instance', array( $this, 'update_control_instance' ) );
93
+ add_action( 'wp_ajax_tt_font_delete_control_instance', array( $this, 'delete_control_instance' ) );
94
+ add_action( 'wp_ajax_tt_font_delete_all_control_instances', array( $this, 'delete_all_control_instances' ) );
95
+ }
96
+
97
+ /**
98
+ * Register Custom Filters
99
+ *
100
+ * Add any custom filters in this function.
101
+ *
102
+ * @since 1.2
103
+ * @version 1.4.4
104
+ *
105
+ */
106
+ public function register_filters() {
107
+
108
+ }
109
+
110
+ /**
111
+ * Set Google Fonts API Key - Ajax Function
112
+ *
113
+ * Checks WordPress nonce and upon successful validation
114
+ * updates the Google API key.
115
+ *
116
+ * @since 1.2
117
+ * @version 1.4.4
118
+ *
119
+ */
120
+ public function set_google_api_key() {
121
+ // Check admin nonce for security
122
+ check_ajax_referer( 'tt_font_edit_control_instance', 'tt_font_edit_control_instance_nonce' );
123
+
124
+ // Make sure user has the required access level
125
+ if ( ! current_user_can( 'edit_theme_options' ) ) {
126
+ wp_die( -1 );
127
+ }
128
+
129
+ if ( isset( $_POST['apiKey'] ) ) {
130
+ $apiKey = esc_attr( $_POST['apiKey'] );
131
+ EGF_Font_Utilities::set_google_api_key( $apiKey );
132
+ }
133
+
134
+ // Delete Font Transients
135
+ EGF_Font_Utilities::delete_font_transients();
136
+
137
+ wp_die();
138
+ }
139
+
140
+ /**
141
+ * Force Styles for Control - Ajax Function
142
+ *
143
+ * Updates the 'force_styles' meta option for a
144
+ * particular font control instance. If this is
145
+ * set to true then the !important modifer will
146
+ * be added to the styles upon output. Note: the
147
+ * js plugin passes the boolean true as the string
148
+ * 'true', therefore we need to do a string
149
+ * comparison to check the users intent.
150
+ *
151
+ * @since 1.2
152
+ * @version 1.4.4
153
+ *
154
+ */
155
+ public function force_font_control_styles() {
156
+ // Check admin nonce for security
157
+ check_ajax_referer( 'tt_font_edit_control_instance', 'tt_font_edit_control_instance_nonce' );
158
+
159
+ // Make sure user has the required access level
160
+ if ( ! current_user_can( 'edit_theme_options' ) ) {
161
+ wp_die( -1 );
162
+ }
163
+
164
+ if ( isset( $_POST['controlId'] ) ) {
165
+ $control_id = esc_attr( $_POST['controlId'] );
166
+ $switch = ( isset( $_POST['force-styles'] ) && 'true' == $_POST['force-styles'] ) ? true : false;
167
+ $control = EGF_Posttype::get_font_control( $control_id );
168
+
169
+ if ( $control ) {
170
+ update_post_meta( $control->ID, 'force_styles', $switch );
171
+ }
172
+ }
173
+
174
+ wp_die();
175
+ }
176
+
177
+ /**
178
+ * Create Font Control Instance - Ajax Function
179
+ *
180
+ * Checks WordPress nonce and upon successful validation
181
+ * creates a new font control instance. This function then
182
+ * constructs a new ajax response and sends it back to the
183
+ * client.
184
+ *
185
+ * @since 1.2
186
+ * @version 1.4.4
187
+ *
188
+ */
189
+ public function create_control_instance() {
190
+
191
+ // Check admin nonce for security
192
+ check_ajax_referer( 'tt_font_edit_control_instance', 'tt_font_edit_control_instance_nonce' );
193
+
194
+ // Make sure user has the required access level
195
+ if ( ! current_user_can( 'edit_theme_options' ) ) {
196
+ wp_die( -1 );
197
+ }
198
+
199
+ // Get Control Name
200
+ if( isset( $_POST['control_name'] ) ) {
201
+ $control_name = esc_attr( $_POST['control_name'] );
202
+ } else {
203
+ $control_name = __( 'Custom Font Control', $this->plugin_slug );
204
+ }
205
+
206
+ // Create the new font control and get the associated ID
207
+ $new_control = EGF_Posttype::update_font_control( '0', $control_name );
208
+ $new_control_id = get_post_meta( $new_control, 'control_id', true );
209
+
210
+ // Create array to hold additional xml data
211
+ $supplimental_data = array(
212
+ 'new_control_id' => $new_control_id
213
+ );
214
+
215
+ $data = array(
216
+ 'what' => 'new_control',
217
+ 'id' => 1,
218
+ 'data' => '',
219
+ 'supplemental' => $supplimental_data
220
+ );
221
+
222
+
223
+ // Create a new WP_Ajax_Response obj and send the request
224
+ $x = new WP_Ajax_Response( $data );
225
+ $x->send();
226
+
227
+ wp_die();
228
+ }
229
+
230
+ /**
231
+ * Update Font Control Instance - Ajax Function
232
+ *
233
+ * Checks WordPress nonce and upon successful validation
234
+ * updates a new font control instance. This function then
235
+ * constructs a new ajax response and sends it back to the
236
+ * client.
237
+ *
238
+ * @since 1.2
239
+ * @version 1.4.4
240
+ *
241
+ */
242
+ public function update_control_instance() {
243
+
244
+ // Check admin nonce for security
245
+ check_ajax_referer( 'tt_font_edit_control_instance', 'tt_font_edit_control_instance_nonce' );
246
+
247
+ // Make sure user has the required access level
248
+ if ( ! current_user_can( 'edit_theme_options' ) ) {
249
+ wp_die( -1 );
250
+ }
251
+
252
+ // Get control attributes
253
+ $control_id = isset( $_POST['controlId'] ) ? (string) esc_attr( $_POST['controlId'] ) : (string) '0';
254
+ $control_name = isset( $_POST['controlName'] ) ? (string) esc_attr( $_POST['controlName'] ) : __( 'Custom Font Control', $this->plugin_slug );
255
+ $force_styles = false;
256
+ $description = '';
257
+
258
+ $selectors = array();
259
+
260
+ if ( isset( $_POST['control-selectors'] ) ) {
261
+ $selectors = (array) $_POST['control-selectors'];
262
+ }
263
+
264
+ if ( isset( $_POST['force-styles'] ) ) {
265
+ $force_styles = ( 'true' == $_POST['force-styles'] ) ? true : false;
266
+ }
267
+
268
+ for ( $i=0; $i < count( $selectors ); $i++ ) {
269
+ while ( substr( $selectors[ $i ], -1 ) == ',' ) {
270
+ $selectors[ $i ] = rtrim( $selectors[ $i ], ',' );
271
+ }
272
+ }
273
+
274
+ // Update control or create a new one if it doesn't exist
275
+ $control = EGF_Posttype::update_font_control( $control_id, $control_name, $selectors, $description, $force_styles );
276
+
277
+ // Create array to hold additional xml data
278
+ $supplimental_data = array(
279
+ 'control_name' => get_the_title( $control )
280
+ );
281
+
282
+ $data = array(
283
+ 'what' => 'control',
284
+ 'id' => 1,
285
+ 'data' => '',
286
+ 'supplemental' => $supplimental_data
287
+ );
288
+
289
+ // Create a new WP_Ajax_Response obj and send the request
290
+ $x = new WP_Ajax_Response( $data );
291
+ $x->send();
292
+
293
+ wp_die();
294
+ }
295
+
296
+ /**
297
+ * Delete Font Control Instance - Ajax Function
298
+ *
299
+ * Checks WordPress nonce and upon successful validation
300
+ * it deletes the font control instance from the database.
301
+ *
302
+ * @since 1.0
303
+ * @version 1.1.1
304
+ *
305
+ */
306
+ public function delete_control_instance() {
307
+
308
+ // Check admin nonce for security
309
+ check_ajax_referer( 'tt_font_delete_control_instance', 'tt_font_delete_control_instance_nonce' );
310
+
311
+ // Make sure user has the required access level
312
+ if ( ! current_user_can( 'edit_theme_options' ) ) {
313
+ wp_die( -1 );
314
+ }
315
+
316
+ if ( isset( $_POST['controlId'] ) ) {
317
+ EGF_Posttype::delete_font_control( $_POST['controlId'] );
318
+ }
319
+
320
+ wp_die();
321
+ }
322
+
323
+ /**
324
+ * Delete All Font Control Instances - Ajax Function
325
+ *
326
+ * Checks WordPress nonce and upon successful validation
327
+ * it deletes all control instances from the database.
328
+ *
329
+ * @since 1.2
330
+ * @version 1.4.4
331
+ *
332
+ */
333
+ function delete_all_control_instances() {
334
+
335
+ // Check admin nonce for security
336
+ check_ajax_referer( 'tt_font_delete_control_instance', 'tt_font_delete_control_instance_nonce' );
337
+
338
+ // Make sure user has the required access level
339
+ if ( ! current_user_can( 'edit_theme_options' ) ) {
340
+ wp_die( -1 );
341
+ }
342
+
343
+ EGF_Posttype::delete_all_font_controls();
344
+
345
+ wp_die();
346
+ }
347
+
348
+ }
349
+ endif;
includes/class-egf-font-utilities.php ADDED
@@ -0,0 +1,501 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class: EGF_Font_Utilities
4
+ *
5
+ * This file initialises the admin functionality for this plugin.
6
+ * It initalises a posttype that acts as a data structure for
7
+ * the font controls. It also has useful static helper functions
8
+ * to get font controls.
9
+ *
10
+ *
11
+ * @package Easy_Google_Fonts_Admin
12
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
13
+ * @license GPL-2.0+
14
+ * @link http://wordpress.org/plugins/easy-google-fonts/
15
+ * @copyright Copyright (c) 2016, Titanium Themes
16
+ * @version 1.4.4
17
+ *
18
+ */
19
+ if ( ! class_exists( 'EGF_Font_Utilities' ) ) :
20
+ class EGF_Font_Utilities {
21
+ /**
22
+ * Instance of this class.
23
+ *
24
+ * @var object
25
+ * @since 1.2
26
+ *
27
+ */
28
+ protected static $instance = null;
29
+
30
+ /**
31
+ * Slug of the plugin screen.
32
+ *
33
+ * @var string
34
+ * @since 1.2
35
+ *
36
+ */
37
+ protected $plugin_screen_hook_suffix = null;
38
+
39
+ public static $plugin_slug = "easy-google-fonts";
40
+
41
+ /**
42
+ * Constructor Function
43
+ *
44
+ * Initialize the plugin by loading admin scripts & styles and adding a
45
+ * settings page and menu.
46
+ *
47
+ * @since 1.2
48
+ * @version 1.4.4
49
+ *
50
+ */
51
+ function __construct() {
52
+ /**
53
+ * Call $plugin_slug from public plugin class.
54
+ *
55
+ */
56
+ $plugin = Easy_Google_Fonts::get_instance();
57
+ self::$plugin_slug = $plugin->get_plugin_slug();
58
+ $this->register_actions();
59
+ $this->register_filters();
60
+ }
61
+
62
+ /**
63
+ * Return an instance of this class.
64
+ *
65
+ * @return object A single instance of this class.
66
+ *
67
+ * @since 1.2
68
+ * @version 1.4.4
69
+ *
70
+ */
71
+ public static function get_instance() {
72
+
73
+ // If the single instance hasn't been set, set it now.
74
+ if ( null == self::$instance ) {
75
+ self::$instance = new self;
76
+ }
77
+
78
+ return self::$instance;
79
+ }
80
+
81
+ /**
82
+ * Register Custom Actions
83
+ *
84
+ * Add any custom actions in this function.
85
+ *
86
+ * @since 1.2
87
+ * @version 1.4.4
88
+ *
89
+ */
90
+ public function register_actions() {
91
+ }
92
+
93
+ /**
94
+ * Register Custom Filters
95
+ *
96
+ * Add any custom filters in this function.
97
+ *
98
+ * @since 1.2
99
+ * @version 1.4.4
100
+ *
101
+ */
102
+ public function register_filters() {
103
+ }
104
+
105
+ /**
106
+ * Get Default Websafe Fonts
107
+ *
108
+ * Defines a list of default websafe fonts and generates
109
+ * an array with all of the necessary properties. Returns
110
+ * all of the fonts as an array to the user.
111
+ *
112
+ * Custom Filters:
113
+ * - 'tt_font_default_fonts_array'
114
+ * - 'tt_font_get_default_fonts'
115
+ *
116
+ * Transients:
117
+ * - 'tt_font_default_fonts'
118
+ *
119
+ * @return array $fonts - All websafe fonts with their properties
120
+ *
121
+ * @since 1.2
122
+ * @version 1.4.4
123
+ *
124
+ */
125
+ public static function get_default_fonts() {
126
+ if ( false === get_transient( 'tt_font_default_fonts' ) ) {
127
+
128
+ // Declare default font list
129
+ $font_list = array(
130
+ 'Arial' => array( 'weights' => array( '400', '400italic', '700', '700italic' ) ),
131
+ 'Century Gothic' => array( 'weights' => array( '400', '400italic', '700', '700italic' ) ),
132
+ 'Courier New' => array( 'weights' => array( '400', '400italic', '700', '700italic' ) ),
133
+ 'Georgia' => array( 'weights' => array( '400', '400italic', '700', '700italic' ) ),
134
+ 'Helvetica' => array( 'weights' => array( '400', '400italic', '700', '700italic' ) ),
135
+ 'Impact' => array( 'weights' => array( '400', '400italic', '700', '700italic' ) ),
136
+ 'Lucida Console' => array( 'weights' => array( '400', '400italic', '700', '700italic' ) ),
137
+ 'Lucida Sans Unicode' => array( 'weights' => array( '400', '400italic', '700', '700italic' ) ),
138
+ 'Palatino Linotype' => array( 'weights' => array( '400', '400italic', '700', '700italic' ) ),
139
+ 'sans-serif' => array( 'weights' => array( '400', '400italic', '700', '700italic' ) ),
140
+ 'serif' => array( 'weights' => array( '400', '400italic', '700', '700italic' ) ),
141
+ 'Tahoma' => array( 'weights' => array( '400', '400italic', '700', '700italic' ) ),
142
+ 'Trebuchet MS' => array( 'weights' => array( '400', '400italic', '700', '700italic' ) ),
143
+ 'Verdana' => array( 'weights' => array( '400', '400italic', '700', '700italic' ) ),
144
+ );
145
+
146
+ // Build font list to return
147
+ $fonts = array();
148
+ foreach ( $font_list as $font => $attributes ) {
149
+
150
+ $urls = array();
151
+
152
+ // Get font properties from json array.
153
+ foreach ( $attributes['weights'] as $variant ) {
154
+ $urls[ $variant ] = "";
155
+ }
156
+
157
+ // Create a font array containing it's properties and add it to the $fonts array
158
+ $atts = array(
159
+ 'name' => $font,
160
+ 'font_type' => 'default',
161
+ 'font_weights' => $attributes['weights'],
162
+ 'subsets' => array(),
163
+ 'files' => array(),
164
+ 'urls' => $urls,
165
+ );
166
+
167
+ // Add this font to all of the fonts
168
+ $id = strtolower( str_replace( ' ', '_', $font ) );
169
+ $fonts[ $id ] = $atts;
170
+ }
171
+
172
+ // Filter to allow us to modify the fonts array before saving the transient
173
+ $fonts = apply_filters( 'tt_font_default_fonts_array', $fonts );
174
+
175
+ // Set transient for google fonts (for 2 weeks)
176
+ set_transient( 'tt_font_default_fonts', $fonts, 14 * DAY_IN_SECONDS );
177
+
178
+ } else {
179
+ $fonts = get_transient( 'tt_font_default_fonts' );
180
+ }
181
+
182
+ // Return the font list
183
+ return apply_filters( 'tt_font_get_default_fonts', $fonts );
184
+ }
185
+
186
+ /**
187
+ * Get Default Google Fonts
188
+ *
189
+ * Fetches all of the current fonts as a JSON object using
190
+ * the google font API and outputs it as a PHP Array. This
191
+ * is an internal function designed to flag outdated and
192
+ * new fonts so that we can update the fonts array list
193
+ * accordingly. Falls back to retrieving a manual list if
194
+ * the json request was unsuccessful.
195
+ *
196
+ * DEVELOPER NOTE:
197
+ *
198
+ * For this function to work correctly you
199
+ * would need to sign up for a google API Key and enter it
200
+ * into the settings page.
201
+ *
202
+ * Custom Filters:
203
+ * - 'tt_font_google_fonts_array'
204
+ * - 'tt_font_get_google_fonts'
205
+ *
206
+ * Transients:
207
+ * - 'tt_font_google_fonts'
208
+ *
209
+ * @return array $fonts - All websafe fonts with their properties
210
+ *
211
+ * @since 1.2
212
+ * @version 1.4.4
213
+ *
214
+ */
215
+ public static function get_google_fonts() {
216
+ /**
217
+ * Google Fonts API Key
218
+ *
219
+ * Please enter the developer API Key for unlimited requests
220
+ * to google to retrieve all fonts. If you do not enter an API
221
+ * key google will
222
+ *
223
+ * {@link https://developers.google.com/fonts/docs/developer_api}
224
+ */
225
+
226
+ $api_key = self::get_google_api_key();
227
+ $api_url = $api_key ? "&key={$api_key}" : "";
228
+
229
+ // Variable to hold fonts;
230
+ $fonts = array();
231
+ $json = array();
232
+
233
+ // Check if transient is set
234
+ if ( false === get_transient( 'tt_font_google_fonts_list' ) ) {
235
+
236
+ /*
237
+ * First we want to try to update the font transient with the
238
+ * latest fonts if possible by sending an API request to google.
239
+ * If this is not possible then the theme will just use the
240
+ * current list of webfonts.
241
+ */
242
+
243
+ // Get list of fonts as a JSON Object from Google's server
244
+ $response = wp_remote_get( "https://www.googleapis.com/webfonts/v1/webfonts?sort=alpha{$api_url}", array( 'sslverify' => false ) );
245
+
246
+ /*
247
+ * Now we want to check that the request has a valid response
248
+ * from google. If the request is not valid then we fall back
249
+ * to the webfonts.json file.
250
+ */
251
+ // Check it is a valid request
252
+ if ( ! is_wp_error( $response ) ) {
253
+
254
+ $font_list = self::json_decode( $response['body'], true );
255
+
256
+ // Make sure that the valid response from google is not an error message
257
+ if ( ! isset( $font_list['error'] ) ) {
258
+ $json = $response['body'];
259
+
260
+ } else {
261
+ $json = wp_remote_fopen( plugins_url( self::$plugin_slug ) . '/assets/fonts/webfonts.json' );
262
+ }
263
+
264
+ } else {
265
+ $json = wp_remote_fopen( plugins_url( self::$plugin_slug ) . '/assets/fonts/webfonts.json' );
266
+ }
267
+
268
+ /**
269
+ * Pull in raw file from the WordPress subversion
270
+ * repository as a last resort.
271
+ *
272
+ */
273
+ if ( false == $json ) {
274
+ $fonts_from_repo = wp_remote_fopen( "https://plugins.svn.wordpress.org/easy-google-fonts/trunk/assets/fonts/webfonts.json", array( 'sslverify' => false ) );
275
+ $json = $fonts_from_repo;
276
+ }
277
+
278
+ $font_output = self::json_decode( $json, true );
279
+
280
+ foreach ( $font_output['items'] as $item ) {
281
+
282
+ $urls = array();
283
+
284
+ // Get font properties from json array.
285
+ foreach ( $item['variants'] as $variant ) {
286
+
287
+ $name = str_replace( ' ', '+', $item['family'] );
288
+ $urls[ $variant ] = "https://fonts.googleapis.com/css?family={$name}:{$variant}";
289
+
290
+ }
291
+
292
+ $atts = array(
293
+ 'name' => $item['family'],
294
+ 'category' => $item['category'],
295
+ 'font_type' => 'google',
296
+ 'font_weights' => $item['variants'],
297
+ 'subsets' => $item['subsets'],
298
+ 'files' => $item['files'],
299
+ 'urls' => $urls
300
+ );
301
+
302
+ // Add this font to the fonts array
303
+ $id = strtolower( str_replace( ' ', '_', $item['family'] ) );
304
+ $fonts[ $id ] = $atts;
305
+
306
+ }
307
+
308
+ // Filter to allow us to modify the fonts array before saving the transient
309
+ $fonts = apply_filters( 'tt_font_google_fonts_array', $fonts );
310
+
311
+ // Set transient for google fonts
312
+ set_transient( 'tt_font_google_fonts_list', $fonts, 14 * DAY_IN_SECONDS );
313
+
314
+ } else {
315
+ $fonts = get_transient( 'tt_font_google_fonts_list' );
316
+ }
317
+
318
+ return apply_filters( 'tt_font_get_google_fonts', $fonts );
319
+ }
320
+
321
+ /**
322
+ * Get All Fonts
323
+ *
324
+ * Merges the default system fonts and the google fonts
325
+ * into a single array and returns it
326
+ *
327
+ * @return array All fonts with their properties
328
+ *
329
+ * @since 1.2
330
+ * @version 1.4.4
331
+ *
332
+ */
333
+ public static function get_all_fonts() {
334
+ $default_fonts = self::get_default_fonts();
335
+ $google_fonts = self::get_google_fonts();
336
+
337
+ if ( ! $default_fonts ) {
338
+ $default_fonts = array();
339
+ }
340
+
341
+ if ( ! $google_fonts ) {
342
+ $google_fonts = array();
343
+ }
344
+
345
+ return array_merge( $default_fonts, $google_fonts );
346
+ }
347
+
348
+ /**
349
+ * Get Google Font API Key
350
+ *
351
+ * Returns the google api key if it has been set.
352
+ *
353
+ * @link http://codex.wordpress.org/Function_Reference/get_option get_option()
354
+ *
355
+ * Custom Filters:
356
+ * - 'tt_font_default_google_api_key'
357
+ *
358
+ * @return string $api_key - The Google API Key
359
+ *
360
+ * @since 1.2
361
+ * @version 1.4.4
362
+ *
363
+ */
364
+ public static function get_google_api_key() {
365
+ $api_key = "";
366
+ $api_key = get_option( 'tt-font-google-api-key', '' );
367
+ $api_key = apply_filters( 'tt_font_default_google_api_key', $api_key );
368
+ return trim( $api_key );
369
+ }
370
+
371
+ /**
372
+ * Set Google Font API Key
373
+ *
374
+ * Sets the google api key with the value passed in
375
+ * the parameter.
376
+ *
377
+ * @link http://codex.wordpress.org/Function_Reference/update_option update_option()
378
+ *
379
+ * @return string $api_key - The Google API Key
380
+ *
381
+ * @since 1.2
382
+ * @version 1.4.4
383
+ *
384
+ */
385
+ public static function set_google_api_key( $api_key ) {
386
+ update_option( 'tt-font-google-api-key', trim( $api_key ) );
387
+ }
388
+
389
+ /**
390
+ * Google Font API Key Validation
391
+ *
392
+ * Boolean function that checks the validity of a google
393
+ * api key and returns true if it is valid and false if
394
+ * it is not a valid api key.
395
+ *
396
+ * @link http://codex.wordpress.org/Function_Reference/wp_remote_get wp_remote_get()
397
+ *
398
+ * @return string $api_key - The Google API Key
399
+ *
400
+ * @since 1.2
401
+ * @version 1.4.4
402
+ *
403
+ */
404
+ public static function is_valid_google_api_key( $api_key = '' ) {
405
+ $api_url = $api_key ? "&key={$api_key}" : "";
406
+ $response = wp_remote_get( "https://www.googleapis.com/webfonts/v1/webfonts?sort=alpha{$api_url}", array( 'sslverify' => false ) );
407
+
408
+ // Check it is a valid request
409
+ if ( ! is_wp_error( $response ) ) {
410
+
411
+ $font_list = self::json_decode( $response['body'], true );
412
+
413
+ // Make sure that the valid response from google is not an error message
414
+ if ( ! isset( $font_list['error'] ) ) {
415
+ return true;
416
+ } else {
417
+ return false;
418
+ }
419
+
420
+ } else {
421
+ return false;
422
+ }
423
+ }
424
+
425
+ /**
426
+ * Delete Default Websafe Fonts
427
+ *
428
+ * Defines a list of default websafe fonts and generates
429
+ * an array with all of the necessary properties. Returns
430
+ * all of the fonts as an array to the user.
431
+ *
432
+ * @since 1.2
433
+ * @version 1.4.4
434
+ *
435
+ */
436
+ public static function delete_font_transients() {
437
+ delete_transient( 'tt_font_default_fonts' );
438
+ delete_transient( 'tt_font_google_fonts_list' );
439
+ delete_transient( 'tt_font_google_fonts' );
440
+ }
441
+
442
+ /**
443
+ * Get Individual Fonts
444
+ *
445
+ * Takes an id and returns the corresponding font.
446
+ *
447
+ * @link http://codex.wordpress.org/Function_Reference/apply_filters apply_filters()
448
+ *
449
+ * Custom Filters:
450
+ * - 'tt_font_get_font'
451
+ *
452
+ * @return array $fonts - All websafe fonts with their properties
453
+ *
454
+ * @since 1.2
455
+ * @version 1.4.4
456
+ *
457
+ */
458
+ public static function get_font( $id = '' ) {
459
+ // Get all fonts
460
+ $default_fonts = self::get_default_fonts();
461
+ $google_fonts = self::get_google_fonts();
462
+
463
+ // Check if it is set and return if found
464
+ if ( isset( $default_fonts[ $id ] ) ) {
465
+
466
+ // Return default font from array if set
467
+ return apply_filters( 'tt_font_get_font', $default_fonts[ $id ] );
468
+
469
+ } else if ( isset( $google_fonts[ $id ] ) ) {
470
+
471
+ // Return google font from array if set
472
+ return apply_filters( 'tt_font_get_font', $google_fonts[ $id ] );
473
+
474
+ } else {
475
+ return false;
476
+ }
477
+ }
478
+
479
+ /**
480
+ * Decode JSON
481
+ *
482
+ * Attempts to decode json into an array.
483
+ * This new function accounts for servers
484
+ * running an older version of PHP with
485
+ * magic quotes gpc enabled.
486
+ *
487
+ *
488
+ * @param string $str - JSON string to convert into an array
489
+ * @param boolean $accoc [- Whether to return an associative array
490
+ * @return array - Decoded JSON array
491
+ *
492
+ * @since 1.3.7
493
+ * @version 1.4.4
494
+ *
495
+ */
496
+ public static function json_decode( $str = '', $accoc = false ) {
497
+ $json_string = get_magic_quotes_gpc() ? stripslashes( $str ) : $str;
498
+ return json_decode( $json_string, $accoc );
499
+ }
500
+ }
501
+ endif;
includes/class-egf-frontend.php ADDED
@@ -0,0 +1,583 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class: EGF_Frontend
4
+ *
5
+ * This file is responsible for retrieving all of
6
+ * the options and outputting any appropriate styles
7
+ * for the theme.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ if ( ! class_exists( 'EGF_Frontend' ) ) :
18
+ class EGF_Frontend {
19
+
20
+ /**
21
+ * Instance of this class.
22
+ *
23
+ * @var object
24
+ * @since 1.2
25
+ *
26
+ */
27
+ protected static $instance = null;
28
+
29
+ /**
30
+ * Slug of the plugin screen.
31
+ *
32
+ * @var string
33
+ * @since 1.2
34
+ *
35
+ */
36
+ protected $plugin_screen_hook_suffix = null;
37
+
38
+ /**
39
+ * Constructor Function
40
+ *
41
+ * Initialize the plugin by loading admin scripts & styles and adding a
42
+ * settings page and menu.
43
+ *
44
+ * @since 1.2
45
+ * @version 1.4.4
46
+ *
47
+ */
48
+ function __construct() {
49
+ /**
50
+ * Call $plugin_slug from public plugin class.
51
+ *
52
+ */
53
+ $plugin = Easy_Google_Fonts::get_instance();
54
+ $this->plugin_slug = $plugin->get_plugin_slug();
55
+ $this->register_actions();
56
+ $this->register_filters();
57
+ }
58
+
59
+ /**
60
+ * Return an instance of this class.
61
+ *
62
+ * @return object A single instance of this class.
63
+ *
64
+ * @since 1.2
65
+ * @version 1.4.4
66
+ *
67
+ */
68
+ public static function get_instance() {
69
+
70
+ // If the single instance hasn't been set, set it now.
71
+ if ( null == self::$instance ) {
72
+ self::$instance = new self;
73
+ }
74
+
75
+ return self::$instance;
76
+ }
77
+
78
+ /**
79
+ * Register Custom Actions
80
+ *
81
+ * Add any custom actions in this function.
82
+ * We add a high action to wp_head to ensure
83
+ * that our styles are outputted as late as
84
+ * possible.
85
+ *
86
+ * @since 1.2
87
+ * @version 1.4.4
88
+ *
89
+ */
90
+ public function register_actions() {
91
+ add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_stylesheets' ) );
92
+ add_action( 'wp_head', array( $this, 'output_styles' ), 999 );
93
+ }
94
+
95
+ /**
96
+ * Register Custom Filters
97
+ *
98
+ * Add any custom filters in this function.
99
+ *
100
+ * @since 1.2
101
+ * @version 1.4.4
102
+ *
103
+ */
104
+ public function register_filters() {
105
+
106
+ }
107
+
108
+ /**
109
+ * Enqueue Font Stylesheets
110
+ *
111
+ * Enqueues the required stylesheet for the selected google
112
+ * fonts. By using wp_enqueue_style() we can ensure that
113
+ * the stylesheet for each font is only being included on
114
+ * the page once.
115
+ *
116
+ * Update: This function now combines the call to
117
+ * google in one http request. It now uses
118
+ * esc_url_raw()
119
+ *
120
+ * @link http://codex.wordpress.org/Function_Reference/wp_register_style wp_register_style()
121
+ *
122
+ * @global $wp_customize
123
+ * @since 1.2
124
+ * @version 1.4.4
125
+ *
126
+ */
127
+ public function enqueue_stylesheets() {
128
+ global $wp_customize;
129
+
130
+ $transient = isset( $wp_customize ) ? false : true;
131
+ $options = EGF_Register_Options::get_options( $transient );
132
+ $stylesheet_handle = 'tt-easy-google-fonts';
133
+ $font_families = array();
134
+ $font_family_sets = array();
135
+ $subsets = array();
136
+ $protocol = is_ssl() ? 'https' : 'http';
137
+
138
+ if ( $options ) {
139
+
140
+ foreach ( $options as $option ) {
141
+
142
+ /**
143
+ * Check Font Type:
144
+ *
145
+ * If the current font is a google font then we
146
+ * add it to the $font_families array and enqueue
147
+ * the font after we have gone through all of the
148
+ * $options. Otherwise, if this font is a custom
149
+ * font enqueued by a developer then we enqueue
150
+ * it straight away. This allows developers to hook
151
+ * into the custom filters in this plugin and make
152
+ * local fonts available in the customizer which
153
+ * will automatically enqueue on the frontend.
154
+ *
155
+ */
156
+ if ( ! empty( $option['stylesheet_url'] ) ) {
157
+
158
+ if ( strpos( $option['stylesheet_url'], 'fonts.googleapis' ) !== false ) {
159
+
160
+ // Generate array key
161
+ $key = str_replace( ' ', '+', $option['font_name'] );
162
+
163
+ // Initialise the font array if this is a new font
164
+ if ( ! isset( $font_families[ $key ] ) ) {
165
+ $font_families[ $key ] = array();
166
+ }
167
+
168
+ /**
169
+ * Add the font weight to the font family if
170
+ * it hasn't been added already.
171
+ */
172
+ if ( ! in_array( $option['font_weight_style'], $font_families[ $key ] ) ) {
173
+ $font_families[ $key ][] = $option['font_weight_style'];
174
+ }
175
+
176
+ // Populate subset
177
+ if ( ! empty( $option['subset'] ) && ! in_array( $option['subset'], $subsets ) ) {
178
+ $subsets[] = $option['subset'];
179
+ }
180
+
181
+ } else {
182
+
183
+ // Fallback enqueue method
184
+ $subset = empty( $option['subset'] ) ? '' : '&subset=' . $option['subset'];
185
+ $handle = "{$option['font_id']}-{$option['font_weight_style']}";
186
+
187
+ if ( ! empty( $option['subset'] ) ) {
188
+ $handle .= '-' . $option['subset'];
189
+ }
190
+
191
+ // Enqueue custom font using wp_enqueue_style()
192
+ wp_deregister_style( $handle );
193
+ wp_register_style( $handle, $option['stylesheet_url'] . $subset );
194
+ wp_enqueue_style( $handle );
195
+ }
196
+ }
197
+ }
198
+
199
+ /**
200
+ * Check if Google Fonts Exist:
201
+ *
202
+ * Checks if the user has selected any google fonts
203
+ * to enqueue on the frontend and requests the fonts
204
+ * from Google in a single http request.
205
+ *
206
+ */
207
+ if ( ! empty( $font_families ) && is_array( $font_families ) ) {
208
+
209
+ foreach ( $font_families as $font_family => $variants ) {
210
+ $font_family_sets[] = $font_family . ':' . implode( ',', $variants );
211
+ }
212
+
213
+ $query_args = array(
214
+ 'family' => implode( '|', $font_family_sets ),
215
+ 'subset' => implode( ',', array_unique( $subsets ) ),
216
+ );
217
+
218
+ $request_url = add_query_arg( $query_args, "{$protocol}://fonts.googleapis.com/css" );
219
+
220
+ // Temporarily removed esc_url_raw().
221
+ wp_deregister_style( $stylesheet_handle );
222
+ wp_register_style(
223
+ $stylesheet_handle,
224
+ str_replace( array( '|:', ':|' ), '', $request_url )
225
+ );
226
+ wp_enqueue_style( $stylesheet_handle );
227
+ }
228
+ }
229
+ }
230
+
231
+ /**
232
+ * Output Inline Styles in Head
233
+ *
234
+ * Hooks into the 'wp_head' action and outputs specific
235
+ * inline styles relevant to each font option.
236
+ *
237
+ * @link http://codex.wordpress.org/Function_Reference/add_action add_action()
238
+ *
239
+ * @since 1.2
240
+ * @version 1.4.4
241
+ *
242
+ */
243
+ public function output_styles() {
244
+
245
+ global $wp_customize;
246
+
247
+ // Fetch options and transients.
248
+ $transient = isset( $wp_customize ) ? false : true;
249
+ $options = EGF_Register_Options::get_options( $transient );
250
+ $default_options = EGF_Register_Options::get_option_parameters();
251
+
252
+ // @todo remove line
253
+ EGF_Register_Options::get_linked_controls();
254
+
255
+ // Output opening <style> tag if the
256
+ // customizer isn't running.
257
+ if ( ! isset( $wp_customize ) ) {
258
+ echo '<style id="tt-easy-google-font-styles" type="text/css">';
259
+ }
260
+
261
+ /**
262
+ * Loop through each font control and
263
+ * output the selector and the css
264
+ * styles in the <head>.
265
+ *
266
+ */
267
+ foreach ( $options as $key => $value ) {
268
+
269
+ // Check if css styles should be forced.
270
+ $force_styles = isset( $default_options[ $key ]['properties']['force_styles'] ) ? $default_options[ $key ]['properties']['force_styles'] : false;
271
+
272
+ // Echo css output in the <head>.
273
+ if ( isset( $wp_customize ) && ! empty( $options[ $key ] ) ) {
274
+ // Output styles differently if the
275
+ // customizer is running.
276
+ echo $this->generate_customizer_css( $options[ $key ], $default_options[ $key ]['properties']['selector'], $key, $force_styles );
277
+
278
+ } elseif ( ! empty( $default_options[ $key ] ) ) {
279
+
280
+ // Output media query, selector and styles
281
+ // for this font control.
282
+ echo $this->get_opening_media_query( $key );
283
+
284
+ // Only output styles if a selector exists.
285
+ if ( ! empty( $default_options[ $key ]['properties']['selector'] ) ) {
286
+ echo $default_options[ $key ]['properties']['selector'] . " { ";
287
+ echo $this->generate_css( $options[ $key ], $force_styles );
288
+ echo "}\n";
289
+ }
290
+
291
+ echo $this->get_closing_media_query( $key );
292
+ }
293
+ }
294
+
295
+ // Output closing </style> tag if the
296
+ // customizer isn't running.
297
+ if ( ! isset( $wp_customize ) ) {
298
+ echo '</style>';
299
+ }
300
+ }
301
+
302
+ /**
303
+ * Generate Inline Font CSS
304
+ *
305
+ * Takes a font option array as a parameter and
306
+ * return a string of inline styles.
307
+ *
308
+ * @param array $option Font option array
309
+ * @return string $output Inline styles
310
+ *
311
+ * @since 1.2
312
+ * @version 1.4.4
313
+ *
314
+ */
315
+ public function generate_css( $option, $force_styles = false ) {
316
+ $output = '';
317
+ $importance = $force_styles ? '!important' : '';
318
+ $properties = $this->get_css_properties();
319
+
320
+ /**
321
+ * Output CSS Styles
322
+ *
323
+ * Outputs each css style and appends it
324
+ * to $output.
325
+ *
326
+ */
327
+ foreach ( $properties as $id => $property ) {
328
+
329
+ // Bail if the option hasn't been set.
330
+ if ( empty( $option[ $id ] ) ) {
331
+ continue;
332
+ }
333
+
334
+ // Bail if poperty has units but is empty.
335
+ if ( $property['has_units'] && empty( $option[ $id ]['amount'] ) ) {
336
+ continue;
337
+ }
338
+
339
+ // Handle borders.
340
+ if ( ! empty( $property['is_border'] ) ) {
341
+
342
+ $output .= "{$property['property']}: ";
343
+ $output .= "{$option[ $key ]['width']['amount']}{$option[ $key ]['width']['unit']} ";
344
+ $output .= "{$option[ $key ]['style']} ";
345
+ $output .= "{$option[ $key ]['color']} ";
346
+ $output .= "{$importance}; ";
347
+ continue;
348
+ }
349
+
350
+ // Handle all other options.
351
+ if ( $property['has_units'] ) {
352
+ $output .= "{$property['property']}: {$option[ $id ]['amount']}{$option[ $id ]['unit']}{$importance}; ";
353
+ } elseif ( 'font-family' == $property['property'] ) {
354
+ $output .= "{$property['property']}: '{$option[ $id ]}'{$importance}; ";
355
+ } else {
356
+ $output .= "{$property['property']}: {$option[ $id ]}{$importance}; ";
357
+ }
358
+ }
359
+
360
+ // Return output
361
+ return $output;
362
+ }
363
+
364
+ /**
365
+ * Generate Customizer Preview Inline Font CSS
366
+ *
367
+ * Outputs compatible <style> tags that are necessary in
368
+ * order to facilitate the live preview. By outputting the
369
+ * styles in their own <style> tag we are able to use the
370
+ * font-customizer-preview.js to revert back to theme
371
+ * defaults without refreshing the page.
372
+ *
373
+ * @param array $option Font option array
374
+ * @return string $output Inline styles
375
+ *
376
+ * @since 1.2
377
+ * @version 1.4.4
378
+ *
379
+ */
380
+ public function generate_customizer_css( $option, $selector, $id = '', $force_styles = false ) {
381
+ $output = '';
382
+ $importance = $force_styles ? '!important' : '';
383
+ $properties = $this->get_css_properties();
384
+
385
+ /**
386
+ * Output CSS Styles
387
+ *
388
+ * Outputs each css style and appends it
389
+ * to $output.
390
+ *
391
+ */
392
+ foreach ( $properties as $key => $property ) {
393
+
394
+ // Bail if the option hasn't been set.
395
+ if ( empty( $option[ $key ] ) ) {
396
+ continue;
397
+ }
398
+
399
+ // Bail if poperty has units but is empty.
400
+ if ( $property['has_units'] && empty( $option[ $key ]['amount'] ) ) {
401
+ continue;
402
+ }
403
+
404
+ // Handle borders.
405
+ if ( ! empty( $property['is_border'] ) ) {
406
+
407
+ // Open <style> tag.
408
+ $output .= "<style id='tt-font-{$id}-{$property['property']}' type='text/css'>";
409
+ $output .= $this->get_opening_media_query( $id );
410
+ $output .= "{$selector} {";
411
+
412
+ // Output property.
413
+ $output .= "{$property['property']}: ";
414
+ $output .= "{$option[ $key ]['width']['amount']}{$option[ $key ]['width']['unit']} ";
415
+ $output .= "{$option[ $key ]['style']} ";
416
+ $output .= "{$option[ $key ]['color']} ";
417
+ $output .= "{$importance}; ";
418
+
419
+ // Close <style> tag.
420
+ $output .= "}";
421
+ $output .= $this->get_closing_media_query( $id );
422
+ $output .= "</style>";
423
+
424
+ // Exit loop iteration.
425
+ continue;
426
+ }
427
+
428
+ // Open <style> tag.
429
+ $output .= "<style id='tt-font-{$id}-{$property['property']}' type='text/css'>";
430
+ $output .= $this->get_opening_media_query( $id );
431
+ $output .= "{$selector} {";
432
+
433
+ // Handle all other options.
434
+ if ( $property['has_units'] ) {
435
+ $output .= "{$property['property']}: {$option[ $key ]['amount']}{$option[ $key ]['unit']}{$importance}; ";
436
+ } elseif ( 'font-family' == $property['property'] ) {
437
+ $output .= "{$property['property']}: '{$option[ $key ]}'{$importance}; ";
438
+ } else {
439
+ $output .= "{$property['property']}: {$option[ $key ]}{$importance}; ";
440
+ }
441
+
442
+ // Close <style> tag.
443
+ $output .= "}";
444
+ $output .= $this->get_closing_media_query( $id );
445
+ $output .= "</style>";
446
+ }
447
+
448
+ // Return output.
449
+ return $output;
450
+ }
451
+
452
+ /**
453
+ * Get Opening Media Query Markup
454
+ *
455
+ * Returns the opening media query markup or
456
+ * an empty string if this font control has
457
+ * no media query settings.
458
+ *
459
+ * @param string $option_key Font control id
460
+ * @return string $output The opening media query markup
461
+ *
462
+ * @since 1.4.0
463
+ * @version 1.4.4
464
+ *
465
+ */
466
+ public function get_opening_media_query( $option_key ) {
467
+ $output = "";
468
+ $default_options = EGF_Register_Options::get_option_parameters();
469
+
470
+ if ( ! empty( $default_options[ $option_key ]['properties'] ) ) {
471
+
472
+ // Get the min and max properties for
473
+ // this option.
474
+ $min_screen = $default_options[ $option_key ]['properties']['min_screen'];
475
+ $max_screen = $default_options[ $option_key ]['properties']['max_screen'];
476
+
477
+ // Return $output if this option has
478
+ // no min and max value.
479
+ if ( empty( $min_screen['amount'] ) && empty( $max_screen['amount'] ) ) {
480
+ return $output;
481
+ }
482
+
483
+ // Build the $output.
484
+ $output .= "@media ";
485
+
486
+ // Append min-width value if applicable.
487
+ if ( ! empty( $min_screen['amount'] ) ) {
488
+ $output .= "(min-width: {$min_screen['amount']}{$min_screen['unit']})";
489
+ }
490
+
491
+ // Append 'and' keyword if min and max value exists.
492
+ if ( ! empty( $min_screen['amount'] ) && ! empty( $max_screen['amount'] ) ) {
493
+ $output .= " and ";
494
+ }
495
+
496
+ // Append max-width value if applicable.
497
+ if ( ! empty( $max_screen['amount'] ) ) {
498
+ $output .= "(max-width: {$max_screen['amount']}{$max_screen['unit']})";
499
+ }
500
+
501
+ $output .= " {\n\t";
502
+ }
503
+
504
+ return $output;
505
+ }
506
+
507
+ /**
508
+ * Get Closing Media Query Markup
509
+ *
510
+ * Returns the closing media query markup or
511
+ * an empty string if this font control has
512
+ * no media query settings.
513
+ *
514
+ * @param string $option_key Font control id
515
+ * @return string $output The opening media query markup
516
+ *
517
+ * @since 1.4.0
518
+ * @version 1.4.4
519
+ *
520
+ */
521
+ public function get_closing_media_query( $option_key ) {
522
+ $media_query = $this->get_opening_media_query( $option_key );
523
+ return empty( $media_query ) ? "" : "}\n";
524
+ }
525
+
526
+ /**
527
+ * Get CSS Properties
528
+ *
529
+ * Returns an associative array containing the
530
+ * settings id and their respective css properties.
531
+ * Used by this class to output styles in the
532
+ * frontend.
533
+ *
534
+ * @return array $properties Array of settings with css properties.
535
+ *
536
+ * @since 1.3.4
537
+ * @version 1.4.4
538
+ *
539
+ */
540
+ public function get_css_properties() {
541
+ $properties = array(
542
+ 'background_color' => array( 'property' => 'background-color', 'has_units' => false ),
543
+ 'display' => array( 'property' => 'display', 'has_units' => false ),
544
+ 'font_color' => array( 'property' => 'color', 'has_units' => false ),
545
+ 'font_name' => array( 'property' => 'font-family', 'has_units' => false ),
546
+ 'font_size' => array( 'property' => 'font-size', 'has_units' => true ),
547
+ 'font_style' => array( 'property' => 'font-style', 'has_units' => false ),
548
+ 'font_weight' => array( 'property' => 'font-weight', 'has_units' => false ),
549
+ 'letter_spacing' => array( 'property' => 'letter-spacing', 'has_units' => true ),
550
+ 'line_height' => array( 'property' => 'line-height', 'has_units' => false ),
551
+ 'margin_top' => array( 'property' => 'margin-top', 'has_units' => true ),
552
+ 'margin_bottom' => array( 'property' => 'margin-bottom', 'has_units' => true ),
553
+ 'margin_left' => array( 'property' => 'margin-left', 'has_units' => true ),
554
+ 'margin_right' => array( 'property' => 'margin-right', 'has_units' => true ),
555
+ 'padding_top' => array( 'property' => 'padding-top', 'has_units' => true ),
556
+ 'padding_bottom' => array( 'property' => 'padding-bottom', 'has_units' => true ),
557
+ 'padding_left' => array( 'property' => 'padding-left', 'has_units' => true ),
558
+ 'padding_right' => array( 'property' => 'padding-right', 'has_units' => true ),
559
+ 'text_decoration' => array( 'property' => 'text-decoration', 'has_units' => false ),
560
+ 'text_transform' => array( 'property' => 'text-transform', 'has_units' => false ),
561
+ 'border_top_color' => array( 'property' => 'border-top-color', 'has_units' => false ),
562
+ 'border_top_style' => array( 'property' => 'border-top-style', 'has_units' => false ),
563
+ 'border_top_width' => array( 'property' => 'border-top-width', 'has_units' => true ),
564
+ 'border_bottom_color' => array( 'property' => 'border-bottom-color', 'has_units' => false ),
565
+ 'border_bottom_style' => array( 'property' => 'border-bottom-style', 'has_units' => false ),
566
+ 'border_bottom_width' => array( 'property' => 'border-bottom-width', 'has_units' => true ),
567
+ 'border_left_color' => array( 'property' => 'border-left-color', 'has_units' => false ),
568
+ 'border_left_style' => array( 'property' => 'border-left-style', 'has_units' => false ),
569
+ 'border_left_width' => array( 'property' => 'border-left-width', 'has_units' => true ),
570
+ 'border_right_color' => array( 'property' => 'border-right-color', 'has_units' => false ),
571
+ 'border_right_style' => array( 'property' => 'border-right-style', 'has_units' => false ),
572
+ 'border_right_width' => array( 'property' => 'border-right-width', 'has_units' => true ),
573
+ 'border_radius_top_left' => array( 'property' => 'border-top-left-radius', 'has_units' => true ),
574
+ 'border_radius_top_right' => array( 'property' => 'border-top-right-radius', 'has_units' => true ),
575
+ 'border_radius_bottom_right' => array( 'property' => 'border-bottom-right-radius', 'has_units' => true ),
576
+ 'border_radius_bottom_left' => array( 'property' => 'border-bottom-left-radius', 'has_units' => true ),
577
+ );
578
+
579
+ // Return properties.
580
+ return $properties;
581
+ }
582
+ }
583
+ endif;
includes/class-egf-posttype.php ADDED
@@ -0,0 +1,519 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class: EGF_Posttype
4
+ *
5
+ * This file initialises the admin functionality for this plugin.
6
+ * It initalises a posttype that acts as a data structure for
7
+ * the font controls. It also has useful static helper functions
8
+ * to get font controls.
9
+ *
10
+ *
11
+ * @package Easy_Google_Fonts_Admin
12
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
13
+ * @license GPL-2.0+
14
+ * @link http://wordpress.org/plugins/easy-google-fonts/
15
+ * @copyright Copyright (c) 2016, Titanium Themes
16
+ * @version 1.4.4
17
+ *
18
+ */
19
+ if ( ! class_exists( 'EGF_Posttype' ) ) :
20
+ class EGF_Posttype {
21
+
22
+ /**
23
+ * Instance of this class.
24
+ *
25
+ * @var object
26
+ * @since 1.2
27
+ *
28
+ */
29
+ protected static $instance = null;
30
+
31
+ /**
32
+ * Slug of the plugin screen.
33
+ *
34
+ * @var string
35
+ * @since 1.2
36
+ *
37
+ */
38
+ protected $plugin_screen_hook_suffix = null;
39
+
40
+ /**
41
+ * Constructor Function
42
+ *
43
+ * Initialize the plugin by loading admin scripts & styles and adding a
44
+ * settings page and menu.
45
+ *
46
+ * @since 1.2
47
+ * @version 1.4.4
48
+ *
49
+ */
50
+ function __construct() {
51
+ /**
52
+ * Call $plugin_slug from public plugin class.
53
+ *
54
+ */
55
+ $plugin = Easy_Google_Fonts::get_instance();
56
+ $this->plugin_slug = $plugin->get_plugin_slug();
57
+ $this->register_actions();
58
+ $this->register_filters();
59
+ }
60
+
61
+ /**
62
+ * Return an instance of this class.
63
+ *
64
+ * @return object A single instance of this class.
65
+ *
66
+ * @since 1.2
67
+ * @version 1.4.4
68
+ *
69
+ */
70
+ public static function get_instance() {
71
+
72
+ // If the single instance hasn't been set, set it now.
73
+ if ( null == self::$instance ) {
74
+ self::$instance = new self;
75
+ }
76
+
77
+ return self::$instance;
78
+ }
79
+
80
+ /**
81
+ * Register Custom Actions
82
+ *
83
+ * Add any custom actions in this function.
84
+ *
85
+ * @since 1.2
86
+ * @version 1.4.4
87
+ *
88
+ */
89
+ public function register_actions() {
90
+ add_action( 'init', array( $this, 'register_font_control_posttype' ) );
91
+ }
92
+
93
+ /**
94
+ * Register Custom Filters
95
+ *
96
+ * Add any custom filters in this function.
97
+ *
98
+ * @since 1.2
99
+ * @version 1.4.4
100
+ *
101
+ */
102
+ public function register_filters() {
103
+
104
+ }
105
+
106
+ /**
107
+ * Register Font Control Posttype
108
+ *
109
+ * Register the font control posttype in the same fashion that
110
+ * WordPress registers nav-menus internally. This will be used
111
+ * to store any font control instances. Created when the 'init'
112
+ * action is fired.
113
+ *
114
+ * @link http://codex.wordpress.org/Function_Reference/register_post_type register_post_type()
115
+ *
116
+ * @since 1.2
117
+ * @version 1.4.4
118
+ *
119
+ */
120
+ public function register_font_control_posttype() {
121
+ register_post_type( 'tt_font_control', array(
122
+ 'labels' => array(
123
+ 'name' => __( 'Google Font Controls', 'theme-translate' ),
124
+ 'singular_name' => __( 'Google Font Control', 'theme-translate' )
125
+ ),
126
+ 'public' => false,
127
+ 'hierarchical' => false,
128
+ 'rewrite' => false,
129
+ 'delete_with_user' => false,
130
+ 'query_var' => false
131
+ ) );
132
+ }
133
+
134
+ /**
135
+ * Add Custom Font Control
136
+ *
137
+ * Create a post for the 'tt_font_control' posttype which
138
+ * will use the custom post meta WordPress functionality to store
139
+ * all of the necessary attributes for each custom font control.
140
+ * Note: The control_id is different to the actual post id for each
141
+ * font control instance.
142
+ *
143
+ * @param string $control_name The name for this custom font control item.
144
+ * @param array $selectors An array of css selectors that will be managed by this font control
145
+ * @param string $description The description text for this font control.
146
+ *
147
+ * @return $post The ID of the post if the post is successfully added to the database or 0 on failure.
148
+ *
149
+ * @since 1.2
150
+ * @version 1.4.4
151
+ *
152
+ */
153
+ public static function add_font_control( $control_name, $selectors = array(), $description = '', $force_styles = false ) {
154
+
155
+ // Remove stale data
156
+ delete_transient( 'tt_font_theme_options' );
157
+
158
+ // Generate ID and make sure its unique
159
+ $control_count = rand( 1, 100 );
160
+ $control_id = 'tt-font-' . $control_count;
161
+
162
+ // Generate an array of existing font control ids and names
163
+ $existing_control_ids = array();
164
+ $existing_control_names = array();
165
+ $control_id_exists = true;
166
+ $control_name_exists = true;
167
+
168
+ $params = array(
169
+ 'post_type' => 'tt_font_control',
170
+ 'posts_per_page' => -1
171
+ );
172
+ $query = new WP_Query( $params );
173
+
174
+ while( $query->have_posts() ) {
175
+ $query->the_post();
176
+ $existing_control_ids[] = get_post_meta( get_the_ID(), 'control_id', true );
177
+ $existing_control_names[] = get_the_title();
178
+ }
179
+
180
+ // Make sure the ID doesn't already exist
181
+ while ( $control_id_exists ) {
182
+ if ( in_array( $control_id, $existing_control_ids ) ) {
183
+ $control_count++;
184
+ $control_id = "tt-font-{$control_count}";
185
+ } else {
186
+ $control_id_exists = false;
187
+ }
188
+ }
189
+
190
+ // Strip any unallowed characters from the post title
191
+ $control_name = str_replace( array( '#', "'", '"', '&', "{", "}" ), '', $control_name );
192
+
193
+ // Give the post a title if it is an empty string
194
+ if ( '' == $control_name ) {
195
+ $control_name = __( 'Font Control', 'theme-translate' );
196
+ }
197
+
198
+ // Make sure the name doesn't already exist
199
+ $name_count = 1;
200
+ $original_name = $control_name;
201
+
202
+ while ( $control_name_exists ) {
203
+ if ( in_array( $control_name, $existing_control_names ) ) {
204
+ $name_count++;
205
+ $control_name = "{$original_name} {$name_count}";
206
+ } else {
207
+ $control_name_exists = false;
208
+ }
209
+ }
210
+
211
+ $postarr = array(
212
+ 'post_type' => 'tt_font_control',
213
+ 'post_title' => $control_name,
214
+ 'post_status' => 'publish'
215
+ );
216
+ $post = wp_insert_post( $postarr );
217
+
218
+ /*
219
+ * Sanitize Selectors
220
+ */
221
+ for ( $i=0; $i < count( $selectors ); $i++ ) {
222
+ while ( substr( $selectors[ $i ], -1 ) == ',' ) {
223
+ $selectors[ $i ] = rtrim( $selectors[ $i ], ',' );
224
+ }
225
+ }
226
+
227
+ // Update the post meta to hold the custom font control properties
228
+ update_post_meta( $post, 'control_id', $control_id );
229
+ update_post_meta( $post, 'control_selectors', $selectors );
230
+ update_post_meta( $post, 'control_description', sanitize_text_field( $description ) );
231
+ update_post_meta( $post, 'force_styles', $force_styles );
232
+
233
+ return $post;
234
+ }
235
+
236
+ /**
237
+ * Update Font Control Instance
238
+ *
239
+ * Updates an existing font control instance with the values
240
+ * passed into the parameter. If a font control instance is
241
+ * not found a new font control instance would be created.
242
+ *
243
+ * @param string $control_id The ID for the control we wish to update. Note: This is NOT the post id but the control_id meta value.
244
+ * @param string $control_name The name for this custom font control item.
245
+ * @param array $selectors An array of css selectors that will be managed by this font control
246
+ * @param string $description The description text for this custom font control.
247
+ *
248
+ * @return string $post_id The post ID of the updated/created post.
249
+ *
250
+ * @since 1.2
251
+ * @version 1.4.4
252
+ *
253
+ */
254
+ public static function update_font_control( $control_id, $control_name, $selectors = array(), $description = '', $force_styles = false ) {
255
+ // Remove stale data
256
+ delete_transient( 'tt_font_theme_options' );
257
+
258
+ $params = array(
259
+ 'post_type' => 'tt_font_control',
260
+ 'meta_key' => 'control_id',
261
+ 'meta_value' => $control_id
262
+ );
263
+
264
+ $query = new WP_Query( $params );
265
+
266
+ // Strip any unallowed characters from the post title
267
+ $control_name = str_replace( array( '#', "'", '"', '&', "}", "{" ), '', $control_name );
268
+
269
+ // Give the post a title if it is an empty string
270
+ if ( '' == $control_name ) {
271
+ $control_name = __( 'Font Control', 'theme-translate' );
272
+ }
273
+
274
+ if( $query->found_posts > 0 ) {
275
+ $query->the_post();
276
+ $post_id = get_the_ID();
277
+
278
+ // Make sure no other font control has the same name
279
+ if ( self::font_control_exists( $control_name, $control_id ) ) {
280
+
281
+ $control_name_exists = true;
282
+ $name_count = 1;
283
+ $original_name = $control_name;
284
+
285
+ while ( $control_name_exists ) {
286
+
287
+ $control_name = "{$original_name} {$name_count}";
288
+
289
+ if ( self::font_control_exists( $control_name, $control_id ) ) {
290
+ $name_count++;
291
+ } else {
292
+ $control_name_exists = false;
293
+ }
294
+ }
295
+ }
296
+
297
+ // Update the post object
298
+ $post_arr = array(
299
+ 'ID' => $post_id,
300
+ 'post_title' => $control_name
301
+ );
302
+ wp_update_post( $post_arr );
303
+
304
+ } else {
305
+ $new_post = self::add_font_control( $control_name, $selectors, $description );
306
+ $post_id = $new_post;
307
+ }
308
+
309
+ // Reset the query globals
310
+ wp_reset_postdata();
311
+
312
+ /*
313
+ * Sanitize Selectors
314
+ */
315
+ for ( $i=0; $i < count( $selectors ); $i++ ) {
316
+ while ( substr( $selectors[ $i ], -1 ) == ',' ) {
317
+ $selectors[ $i ] = rtrim( $selectors[ $i ], ',' );
318
+ }
319
+ }
320
+
321
+ /*
322
+ * Update other post meta properties to hold
323
+ * the custom font control properties.
324
+ */
325
+ update_post_meta( $post_id, 'control_selectors', $selectors );
326
+ update_post_meta( $post_id, 'control_description', sanitize_text_field( $description ) );
327
+ update_post_meta( $post_id, 'force_styles', $force_styles );
328
+
329
+ return $post_id;
330
+ }
331
+
332
+ /**
333
+ * Font Control Name Exists
334
+ *
335
+ * Takes the font control name to check and the control id to
336
+ * exclude and returns true if there are any other font control
337
+ * instances that have this name. (Boolean Function)
338
+ *
339
+ * @param string $control_name The font control name we wish to check
340
+ * @param string $control_exclusion_id The font control id to exclude in the search
341
+ * @return boolean - true if there is another font control instance that has a matching $control_name
342
+ *
343
+ * @since 1.2
344
+ * @version 1.4.4
345
+ *
346
+ */
347
+ public static function font_control_exists( $name, $exclude_control_id ) {
348
+ $control_name_exists = false;
349
+
350
+ $params = array(
351
+ 'post_type' => 'tt_font_control',
352
+ 'posts_per_page' => -1
353
+ );
354
+ $query = new WP_Query( $params );
355
+
356
+ // Check if the font control name exists
357
+ while ( $query->have_posts() ) {
358
+
359
+ $query->the_post();
360
+ $control_id = get_post_meta( get_the_ID(), 'control_id', true );
361
+
362
+ if ( $control_id ) {
363
+ if ( $control_id != $exclude_control_id ) {
364
+ if ( $name == get_the_title() ) {
365
+ $control_name_exists = true;
366
+ }
367
+ }
368
+ }
369
+ }
370
+
371
+ wp_reset_postdata();
372
+
373
+ return $control_name_exists;
374
+ }
375
+
376
+ /**
377
+ * Get Font Control
378
+ *
379
+ * Takes the control id as a parameter and returns the
380
+ * post object if it's 'control_id' meta value matches
381
+ * the control id passed in the parameter. Returns false
382
+ * if no matches have been found.
383
+ *
384
+ * @param string $control_id The ID of the font control we wish to check
385
+ * @return post object if found otherwise false
386
+ *
387
+ * @since 1.2
388
+ * @version 1.4.4
389
+ *
390
+ */
391
+ public static function get_font_control( $control_id ) {
392
+ $params = array(
393
+ 'post_type' => 'tt_font_control',
394
+ 'meta_key' => 'control_id',
395
+ 'meta_value' => $control_id
396
+ );
397
+ $query = new WP_Query( $params );
398
+
399
+ if( $query->have_posts() ) {
400
+ $query->the_post();
401
+ return get_post( get_the_ID() );
402
+ } else {
403
+ return false;
404
+ }
405
+ }
406
+
407
+ /**
408
+ * Get All Font Control Posts
409
+ *
410
+ * Returns all of the 'tt_font_control' posttypes objects
411
+ * in alphabetical order by default. This function will return
412
+ * false if there are no 'tt_font_control' posts in the
413
+ * database.
414
+ *
415
+ * @return array $query if post exists and
416
+ * boolean if there are no posts.
417
+ *
418
+ * @since 1.2
419
+ * @version 1.4.4
420
+ *
421
+ */
422
+ public static function get_all_font_controls( $orderby = 'title', $order = 'ASC' ) {
423
+
424
+ $params = array(
425
+ 'post_type' => 'tt_font_control',
426
+ 'posts_per_page' => -1,
427
+ 'orderby' => $orderby,
428
+ 'order' => $order
429
+ );
430
+
431
+ $query = new WP_Query( $params );
432
+
433
+ if( $query->have_posts() ) {
434
+ return $query;
435
+ } else {
436
+ return false;
437
+ }
438
+ }
439
+
440
+ /**
441
+ * Delete Custom Font Control Instance
442
+ *
443
+ * Looks for a custom control instance with the id that is
444
+ * passed as a string in the parameter and deletes it.
445
+ * Returns false if no matches have been found.
446
+ *
447
+ * @param string $sidebar_id The id of the control we want to delete. Note: This is NOT the post id but the control_id meta value.
448
+ *
449
+ * @return boolean $deleted True if the control has been located and deleted, false otherwise.
450
+ *
451
+ * @since 1.2
452
+ * @version 1.4.4
453
+ *
454
+ */
455
+ public static function delete_font_control( $control_id ) {
456
+ // Remove stale data
457
+ delete_transient( 'tt_font_theme_options' );
458
+
459
+ $params = array(
460
+ 'post_type' => 'tt_font_control',
461
+ 'posts_per_page' => -1,
462
+ 'meta_key' => 'control_id',
463
+ 'meta_value' => $control_id
464
+ );
465
+ $query = new WP_Query( $params );
466
+ $deleted = false;
467
+
468
+ // If no posts are found set deleted to true as it doesn't exist
469
+ if ( 0 == $query->found_posts ) {
470
+ $deleted = true;
471
+ }
472
+
473
+ // Delete the post if it exists
474
+ while ( $query->have_posts() ) {
475
+ $query->the_post();
476
+ wp_delete_post( get_the_ID(), true );
477
+ $deleted = true;
478
+ }
479
+
480
+ // Reset postdata as we have used the_post()
481
+ wp_reset_postdata();
482
+
483
+ return $deleted;
484
+ }
485
+
486
+ /**
487
+ * Delete All Font Controls
488
+ *
489
+ * A function used to delete all posts in the 'tt_font_control'
490
+ * custom posttype, which will remove all custom font controls
491
+ * generated by the user.
492
+ *
493
+ * @since 1.2
494
+ * @version 1.4.4
495
+ *
496
+ */
497
+ public static function delete_all_font_controls() {
498
+
499
+ // Remove stale data
500
+ delete_transient( 'tt_font_theme_options' );
501
+
502
+ $params = array(
503
+ 'post_type' => 'tt_font_control',
504
+ 'posts_per_page' => -1
505
+ );
506
+
507
+ $query = new WP_Query($params);
508
+
509
+ while ( $query->have_posts() ) {
510
+ $query->the_post();
511
+ wp_delete_post( get_the_ID(), true );
512
+ }
513
+
514
+ // Reset postdata as we have used the_post()
515
+ wp_reset_postdata();
516
+ }
517
+
518
+ }
519
+ endif;
includes/class-egf-register-options.php ADDED
@@ -0,0 +1,971 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class: EGF_Register_Options
4
+ *
5
+ * This file defines the Options for this Theme. The theme options
6
+ * structure is heavily based on the theme options structure in Chip
7
+ * Bennett's Oenology Theme. We take the same stance as Automattic
8
+ * and exclusively use the Customizer for theme options instead of
9
+ * creating theme option pages.
10
+ *
11
+ * - Define Default Theme Options
12
+ * - Register/Initialize Theme Options
13
+ *
14
+ *
15
+ * @package Easy_Google_Fonts_Admin
16
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
17
+ * @license GPL-2.0+
18
+ * @link http://wordpress.org/plugins/easy-google-fonts/
19
+ * @copyright Copyright (c) 2016, Titanium Themes
20
+ * @version 1.4.4
21
+ *
22
+ */
23
+ if ( ! class_exists( 'EGF_Register_Options' ) ) :
24
+ class EGF_Register_Options {
25
+ /**
26
+ * Instance of this class.
27
+ *
28
+ * @var object
29
+ * @since 1.2
30
+ *
31
+ */
32
+ protected static $instance = null;
33
+
34
+ /**
35
+ * Slug of the plugin screen.
36
+ *
37
+ * @var null
38
+ * @since 1.2
39
+ *
40
+ */
41
+ protected $plugin_screen_hook_suffix = null;
42
+
43
+ /**
44
+ * Slug of the plugin screen.
45
+ *
46
+ * @var string
47
+ * @since 1.2
48
+ *
49
+ */
50
+ public static $slug = 'easy-google-fonts';
51
+
52
+ /**
53
+ * Validation Flag
54
+ *
55
+ * @var boolean
56
+ * @since 1.2
57
+ *
58
+ */
59
+ public $validated;
60
+
61
+ /**
62
+ * Validation Flag
63
+ *
64
+ * @var boolean
65
+ * @since 1.2
66
+ *
67
+ */
68
+ protected $default_options;
69
+
70
+ /**
71
+ * Constructor Function
72
+ *
73
+ * Initialize the plugin by loading admin scripts &
74
+ * styles and adding a settings page and menu.
75
+ *
76
+ * @since 1.2
77
+ * @version 1.4.4
78
+ *
79
+ */
80
+ function __construct() {
81
+ /**
82
+ * Call $plugin_slug from public plugin class.
83
+ *
84
+ */
85
+ $plugin = Easy_Google_Fonts::get_instance();
86
+ $this->plugin_slug = $plugin->get_plugin_slug();
87
+ $this->validated = false;
88
+ $this->register_actions();
89
+ $this->register_filters();
90
+ }
91
+
92
+ /**
93
+ * Return an instance of this class.
94
+ *
95
+ * @return object A single instance of this class.
96
+ *
97
+ * @since 1.2
98
+ * @version 1.4.4
99
+ *
100
+ */
101
+ public static function get_instance() {
102
+
103
+ // If the single instance hasn't been set, set it now.
104
+ if ( null == self::$instance ) {
105
+ self::$instance = new self;
106
+ }
107
+
108
+ return self::$instance;
109
+ }
110
+
111
+ /**
112
+ * Register Custom Actions
113
+ *
114
+ * Add any custom actions in this function.
115
+ *
116
+ * @since 1.2
117
+ * @version 1.4.4
118
+ *
119
+ */
120
+ public function register_actions() {
121
+ add_action( 'admin_init', array( $this, 'register_settings' ) );
122
+ add_action( 'admin_init', array( $this, 'add_settings_section' ) );
123
+ }
124
+
125
+ /**
126
+ * Register Custom Filters
127
+ *
128
+ * Add any custom filters in this function.
129
+ *
130
+ * @since 1.2
131
+ * @version 1.4.4
132
+ *
133
+ */
134
+ public function register_filters() {
135
+ add_filter( 'tt_font_get_option_parameters', array( $this, 'get_custom_option_parameters' ), 0 );
136
+ }
137
+
138
+ /**
139
+ * Register Typography Settings
140
+ *
141
+ * Registers the settings as a serialized array for
142
+ * a light footprint in the database.
143
+ *
144
+ * @link http://codex.wordpress.org/Function_Reference/register_setting register_setting()
145
+ *
146
+ * @since 1.2
147
+ * @version 1.4.4
148
+ *
149
+ */
150
+ public function register_settings() {
151
+ register_setting(
152
+ 'tt_font_theme_options',
153
+ 'tt_font_theme_options',
154
+ array( $this, 'validate_settings' )
155
+ );
156
+ }
157
+
158
+ /**
159
+ * Validate Settings
160
+ *
161
+ * @param array $input - The array of settings
162
+ * @return array $input - The array of settings after sanitization
163
+ *
164
+ * @todo Increase sanitization checks and reduce number
165
+ * of times this callback function is ran.
166
+ *
167
+ * @since 1.2
168
+ * @version 1.4.4
169
+ *
170
+ */
171
+ public function validate_settings( $input ) {
172
+
173
+ // Get default options
174
+ $all_options = array_merge( self::get_option_parameters(), self::get_custom_option_parameters( array() ) );
175
+
176
+ // Array of whitelisted values
177
+ $whitelist = array(
178
+ 'subset',
179
+ 'font_id',
180
+ 'font_name',
181
+ 'font_color',
182
+ 'font_weight',
183
+ 'font_style',
184
+ 'font_weight_style',
185
+ 'background_color',
186
+ 'stylesheet_url',
187
+ 'text_decoration',
188
+ 'text_transform',
189
+ 'line_height',
190
+ 'font_size',
191
+ 'display',
192
+ 'letter_spacing',
193
+ 'margin_top',
194
+ 'margin_right',
195
+ 'margin_bottom',
196
+ 'margin_left',
197
+ 'padding_top',
198
+ 'padding_right',
199
+ 'padding_bottom',
200
+ 'padding_left',
201
+ 'border_top_color',
202
+ 'border_top_style',
203
+ 'border_top_width',
204
+ 'border_bottom_color',
205
+ 'border_bottom_style',
206
+ 'border_bottom_width',
207
+ 'border_left_color',
208
+ 'border_left_style',
209
+ 'border_left_width',
210
+ 'border_right_color',
211
+ 'border_right_style',
212
+ 'border_right_width',
213
+ 'border_radius_top_left',
214
+ 'border_radius_top_right',
215
+ 'border_radius_bottom_left',
216
+ 'border_radius_bottom_right',
217
+ );
218
+
219
+ /**
220
+ * Remove any values from $input that
221
+ * are not in the safe $whitelist array
222
+ *
223
+ * $option is the option name
224
+ * $setting is all of the properties in the option
225
+ *
226
+ */
227
+
228
+ foreach ( $input as $option => $setting ) {
229
+
230
+ if ( ! isset( $all_options[ $option ] ) ) {
231
+ unset( $input[ $option ] );
232
+ continue;
233
+ }
234
+
235
+ $defaults = $all_options[ $option ]['default'];
236
+
237
+ // Parse setting into array if it is a json string
238
+ if ( is_string( $setting ) ) {
239
+ $setting = json_decode( $setting );
240
+ } elseif ( empty( $setting ) ) {
241
+ $setting = $defaults;
242
+ }
243
+
244
+ // Convert setting into array if it is StdClass Object
245
+
246
+ if ( is_object( $setting ) ) {
247
+ $setting = $this->object_to_array( $setting );
248
+ }
249
+
250
+ if ( is_array( $setting ) ) {
251
+ // Remove blacklisted values if they exist
252
+ foreach ( $setting as $key => $value ) {
253
+ if ( ! in_array( $key, $whitelist ) ) {
254
+ unset( $setting[ $key ] );
255
+ }
256
+ }
257
+ }
258
+
259
+ // Parse args with default
260
+ $input[ $option ] = wp_parse_args( $setting, $defaults );
261
+ }
262
+
263
+ /**
264
+ * Specific Validation
265
+ */
266
+
267
+ // Set validated flag
268
+ $this->validated = true;
269
+
270
+ return $input;
271
+ }
272
+
273
+ /**
274
+ * Recursive Function: Object to Array
275
+ *
276
+ * @param class $obj The object we want to convert
277
+ * @return array $arr The object converted into an associative array
278
+ *
279
+ * @since 1.2
280
+ * @version 1.4.4
281
+ *
282
+ */
283
+ public function object_to_array( $obj ) {
284
+ $arrObj = is_object( $obj ) ? get_object_vars( $obj ) : $obj;
285
+
286
+ $arr = array();
287
+
288
+ foreach ( $arrObj as $key => $val ) {
289
+ $val = ( is_array( $val ) || is_object( $val ) ) ? $this->object_to_array( $val ) : $val;
290
+ $arr[$key] = $val;
291
+ }
292
+ return $arr;
293
+ }
294
+
295
+ /**
296
+ * Add Settings Section
297
+ *
298
+ * @since 1.2
299
+ * @version 1.4.4
300
+ *
301
+ */
302
+ public function add_settings_section() {
303
+ $tabs = self::get_setting_tabs();
304
+
305
+ foreach ( $tabs as $tab ) {
306
+ $tab_name = $tab['name'];
307
+ $tab_sections = $tab['sections'];
308
+
309
+ foreach ( $tab_sections as $section ) {
310
+ $section_name = $section['name'];
311
+ $section_title = $section['title'];
312
+
313
+ // Add settings section
314
+ add_settings_section(
315
+ "tt_font_{$section_name}_section", // $sectionid
316
+ $section_title, // $title
317
+ array( $this, 'settings_section_callback'), // $callback
318
+ "tt_font_{$tab_name}_tab" // $pageid
319
+ );
320
+ }
321
+ }
322
+ }
323
+
324
+ /**
325
+ * Settings Section Callback
326
+ *
327
+ * Call add_settings_section() for each Settings
328
+ *
329
+ * Loop through each Theme Font Settings page tab, and add
330
+ * a new section to the Theme Settings page for each
331
+ * section specified for each tab.
332
+ *
333
+ * @since 1.2
334
+ * @version 1.4.4
335
+ *
336
+ */
337
+ public function settings_section_callback() {
338
+ $tabs = self::get_setting_tabs();
339
+
340
+ foreach ( $tabs as $tab_name => $tab ) {
341
+ $tab_sections = $tab['sections'];
342
+ foreach ( $tab_sections as $section_name => $section ) {
343
+ if ( "tt_font_{$section_name}_section" == $section_passed['id'] ) {
344
+ ?>
345
+ <p><?php echo $section['description']; ?></p>
346
+ <?php
347
+ }
348
+ }
349
+ }
350
+ }
351
+
352
+ /**
353
+ * Separate Settings By Tab
354
+ *
355
+ * Returns an array of tabs, each of which is an indexed
356
+ * array of settings included with the specified tab.
357
+ *
358
+ * @return array $settings_by_tab array of arrays of settings by tab
359
+ *
360
+ * @since 1.2
361
+ * @version 1.4.4
362
+ *
363
+ */
364
+ public static function get_settings_by_tab() {
365
+ // Get the list of settings page tabs
366
+ $tabs = self::get_setting_tabs();
367
+
368
+ // Initialize an array to hold an indexed array of tabnames
369
+ $settings_by_tab = array();
370
+
371
+ // Loop through the array of tabs
372
+ foreach ( $tabs as $tab ) {
373
+
374
+ // Add an indexed array key to the settings-by-tab
375
+ // array for each tab name
376
+ $tab_name = $tab['name'];
377
+ $settings_by_tab[] = $tab_name;
378
+ }
379
+
380
+ // Get the array of option parameters
381
+ $option_parameters = self::get_option_parameters();
382
+
383
+ // Loop through the option parameters array
384
+ foreach ( $option_parameters as $option_parameter ) {
385
+ $option_tab = $option_parameter['tab'];
386
+ $option_name = $option_parameter['name'];
387
+
388
+ /*
389
+ * Add an indexed array key to the settings-by-tab array
390
+ * for each setting associated with each tab
391
+ */
392
+ $settings_by_tab[ $option_tab ][] = $option_name;
393
+ $settings_by_tab['all'][] = $option_name;
394
+ }
395
+
396
+ return $settings_by_tab;
397
+ }
398
+
399
+ /**
400
+ * Get Setting Tabs
401
+ *
402
+ * Returns an array of tabs that will be used as sections
403
+ * in the WordPress customizer. Theme authors can now hook
404
+ * into this array filter and add their own sections to
405
+ * group a set of controls. Subsection support within a
406
+ * section will be added in future versions.
407
+ *
408
+ * Custom Filters:
409
+ * - tt_font_typography_panel_id
410
+ * - tt_font_typography_description
411
+ * - tt_font_custom_typography_panel_id
412
+ * - tt_font_custom_typography_description
413
+ * - tt_font_get_settings_page_tabs
414
+ *
415
+ *
416
+ * @return array $tabs - Array of tabs with their properties
417
+ *
418
+ * @since 1.2
419
+ * @version 1.4.4
420
+ *
421
+ */
422
+ public static function get_setting_tabs() {
423
+ // Tabs
424
+ $tabs = array(
425
+ 'typography'=> array(
426
+ 'name' => 'typography',
427
+ 'title' => __( 'Default Typography', 'easy-google-fonts' ),
428
+ 'panel' => apply_filters( 'tt_font_typography_panel_id', 'tt_font_typography_panel' ),
429
+ 'description' => apply_filters( 'tt_font_typography_description', __( 'Your theme has typography support. You can create custom font controls on the google fonts screen in the settings section.', 'easy-google-fonts' ) ),
430
+ 'sections' => array(
431
+ // Test section
432
+ 'default' => array(
433
+ 'name' => 'default',
434
+ 'title' => __( 'Default Theme Fonts', 'easy-google-fonts' ),
435
+ 'description' => __( 'Default theme font options', 'easy-google-fonts' ),
436
+ ),
437
+ )
438
+ ),
439
+
440
+ 'theme-typography'=> array(
441
+ 'name' => 'theme-typography',
442
+ 'title' => __( 'Theme Typography', 'easy-google-fonts' ),
443
+ 'panel' => apply_filters( 'tt_font_custom_typography_panel_id', 'tt_font_typography_panel' ),
444
+ 'description' => apply_filters( 'tt_font_custom_typography_description', __( 'Any custom font controls that you have created for your website will appear below. To create more controls visit the google fonts screen in the settings section.', 'easy-google-fonts' ) ),
445
+ 'sections' => array(
446
+ // Test section
447
+ 'custom' => array(
448
+ 'name' => 'custom',
449
+ 'title' => __( 'Custom Theme Fonts', 'easy-google-fonts' ),
450
+ 'description' => __( 'Custom theme font options', 'easy-google-fonts' ),
451
+ ),
452
+ )
453
+ ),
454
+ );
455
+
456
+ // Return tabs
457
+ return apply_filters( 'tt_font_get_settings_page_tabs', $tabs );
458
+ }
459
+
460
+ /**
461
+ * Get Panels
462
+ *
463
+ * Returns an array of panels that will be used as panels
464
+ * in the WordPress customizer. Theme authors can now hook
465
+ * into this array filter and add their own panels in
466
+ * the customizer.
467
+ *
468
+ * Custom Filters:
469
+ * - tt_font_get_panels
470
+ *
471
+ *
472
+ * @return array $panels - Array of panels with their properties
473
+ *
474
+ * @since 1.3.2
475
+ * @version 1.4.4
476
+ *
477
+ */
478
+ public static function get_panels() {
479
+ $panels = array(
480
+ 'tt_font_typography_panel' => array(
481
+ 'name' => 'tt_font_typography_panel',
482
+ 'title' => __( 'Typography', 'easy-google-fonts' ),
483
+ 'priority' => 10,
484
+ 'capability' => 'edit_theme_options',
485
+ 'description' => __( 'Your theme has typography support. You can create custom font controls on the google fonts screen in the settings section.', 'easy-google-fonts' ),
486
+ ),
487
+ );
488
+
489
+ $panels = apply_filters( 'tt_font_get_panels', $panels );
490
+
491
+ // Parse panels against defaults to ensure all $args are present.
492
+ foreach ( $panels as $id => $panel ) {
493
+ $font_controls[ $id ] = self::parse_customizer_panel( $panel );
494
+ }
495
+
496
+ // return panels
497
+ return $panels;
498
+ }
499
+
500
+ /**
501
+ * Parse Font Controls
502
+ *
503
+ * Parses any font controls against a set of defaults using
504
+ * wp_parse_args(). This allows developers to quickly add
505
+ * custom font controls without having to specify every
506
+ * property each time.
507
+ *
508
+ * Custom Filters:
509
+ * - tt_font_force_styles
510
+ * - tt_font_size_min_range
511
+ * - tt_font_size_max_range
512
+ * - tt_font_size_step
513
+ * - tt_font_line_height_min_range
514
+ * - tt_font_line_height_max_range
515
+ * - tt_font_line_height_step
516
+ * - tt_font_letter_spacing_min_range
517
+ * - tt_font_letter_spacing_max_range
518
+ * - tt_font_letter_spacing_step
519
+ * - tt_font_margin_min_range
520
+ * - tt_font_margin_max_range
521
+ * - tt_font_margin_step
522
+ * - tt_font_padding_min_range
523
+ * - tt_font_padding_max_range
524
+ * - tt_font_padding_step
525
+ * - tt_font_border_min_range
526
+ * - tt_font_border_max_range
527
+ * - tt_font_border_step
528
+ *
529
+ * @param array $args The properties of the current font control
530
+ * @return array $control The font control parsed with the default values
531
+ *
532
+ * @since 1.2
533
+ * @version 1.4.4
534
+ *
535
+ */
536
+ public static function parse_font_control_array( $args ) {
537
+ $defaults = array(
538
+ 'title' => __( 'Font Control', 'easy-google-fonts' ),
539
+ 'type' => 'font',
540
+ 'description' => __( "Edit Font", 'easy-google-fonts' ),
541
+ 'section' => 'default',
542
+ 'tab' => 'typography',
543
+ 'transport' => 'postMessage',
544
+ 'since' => '1.2',
545
+ 'properties' => array(
546
+ 'selector' => '',
547
+ 'force_styles' => apply_filters( 'tt_font_force_styles', false ),
548
+ 'font_size_min_range' => apply_filters( 'tt_font_size_min_range', 10 ),
549
+ 'font_size_max_range' => apply_filters( 'tt_font_size_max_range', 100 ),
550
+ 'font_size_step' => apply_filters( 'tt_font_size_step', 1 ),
551
+ 'line_height_min_range' => apply_filters( 'tt_font_line_height_min_range', 0.8 ),
552
+ 'line_height_max_range' => apply_filters( 'tt_font_line_height_max_range', 4 ),
553
+ 'line_height_step' => apply_filters( 'tt_font_line_height_step', 0.1 ),
554
+ 'letter_spacing_min_range' => apply_filters( 'tt_font_letter_spacing_min_range', -5 ),
555
+ 'letter_spacing_max_range' => apply_filters( 'tt_font_letter_spacing_max_range', 20 ),
556
+ 'letter_spacing_step' => apply_filters( 'tt_font_letter_spacing_step', 1 ),
557
+ 'margin_min_range' => apply_filters( 'tt_font_margin_min_range', 0 ),
558
+ 'margin_max_range' => apply_filters( 'tt_font_margin_max_range', 400 ),
559
+ 'margin_step' => apply_filters( 'tt_font_margin_step', 1 ),
560
+ 'padding_min_range' => apply_filters( 'tt_font_padding_min_range', 0 ),
561
+ 'padding_max_range' => apply_filters( 'tt_font_padding_max_range', 400 ),
562
+ 'padding_step' => apply_filters( 'tt_font_padding_step', 1 ),
563
+ 'border_min_range' => apply_filters( 'tt_font_border_min_range', 0 ),
564
+ 'border_max_range' => apply_filters( 'tt_font_border_max_range', 100 ),
565
+ 'border_step' => apply_filters( 'tt_font_border_step', 1 ),
566
+ 'border_radius_min_range' => apply_filters( 'tt_font_border_radius_min_range', 0 ),
567
+ 'border_radius_max_range' => apply_filters( 'tt_font_border_radius_max_range', 100 ),
568
+ 'border_radius_step' => apply_filters( 'tt_font_border_radius_step', 1 ),
569
+ 'min_screen' => array( 'amount' => '', 'unit' => 'px' ),
570
+ 'max_screen' => array( 'amount' => '', 'unit' => 'px' ),
571
+ 'linked_control_id' => false,
572
+ ),
573
+ 'default' => array(
574
+ 'subset' => 'latin,all',
575
+ 'font_id' => '',
576
+ 'font_name' => '',
577
+ 'font_color' => '',
578
+ 'font_weight' => '',
579
+ 'font_style' => '',
580
+ 'font_weight_style' => '',
581
+ 'background_color' => '',
582
+ 'stylesheet_url' => '',
583
+ 'text_decoration' => '',
584
+ 'text_transform' => '',
585
+ 'line_height' => '',
586
+ 'display' => '',
587
+ 'font_size' => array( 'amount' => '', 'unit' => 'px' ),
588
+ 'letter_spacing' => array( 'amount' => '', 'unit' => 'px' ),
589
+ 'margin_top' => array( 'amount' => '', 'unit' => 'px' ),
590
+ 'margin_right' => array( 'amount' => '', 'unit' => 'px' ),
591
+ 'margin_bottom' => array( 'amount' => '', 'unit' => 'px' ),
592
+ 'margin_left' => array( 'amount' => '', 'unit' => 'px' ),
593
+ 'padding_top' => array( 'amount' => '', 'unit' => 'px' ),
594
+ 'padding_right' => array( 'amount' => '', 'unit' => 'px' ),
595
+ 'padding_bottom' => array( 'amount' => '', 'unit' => 'px' ),
596
+ 'padding_left' => array( 'amount' => '', 'unit' => 'px' ),
597
+ 'border_radius_top_left' => array( 'amount' => '', 'unit' => 'px' ),
598
+ 'border_radius_top_right' => array( 'amount' => '', 'unit' => 'px' ),
599
+ 'border_radius_bottom_right' => array( 'amount' => '', 'unit' => 'px' ),
600
+ 'border_radius_bottom_left' => array( 'amount' => '', 'unit' => 'px' ),
601
+ 'border_top_color' => '',
602
+ 'border_top_style' => '',
603
+ 'border_top_width' => array( 'amount' => '', 'unit' => 'px' ),
604
+ 'border_bottom_color' => '',
605
+ 'border_bottom_style' => '',
606
+ 'border_bottom_width' => array( 'amount' => '', 'unit' => 'px' ),
607
+ 'border_left_color' => '',
608
+ 'border_left_style' => '',
609
+ 'border_left_width' => array( 'amount' => '', 'unit' => 'px' ),
610
+ 'border_right_color' => '',
611
+ 'border_right_style' => '',
612
+ 'border_right_width' => array( 'amount' => '', 'unit' => 'px' ),
613
+ ),
614
+ );
615
+
616
+ // Parse Properties
617
+ if ( isset( $args['properties'] ) ) {
618
+ $args['properties'] = wp_parse_args( $args['properties'], $defaults['properties'] );
619
+ }
620
+
621
+ // Parse default preset values
622
+ if ( isset( $args['default'] ) ) {
623
+ $args['default'] = wp_parse_args( $args['default'], $defaults['default'] );
624
+ }
625
+
626
+ // Parse complete control
627
+ $control = wp_parse_args( $args, $defaults );
628
+
629
+ return $control;
630
+ }
631
+
632
+ /**
633
+ * Parse Customizer Panel
634
+ *
635
+ * Parse any panels against a set of defaults using
636
+ * wp_parse_args(). This is to ensure that every
637
+ * panel property is populated in order for the
638
+ * plugin to function correctly.
639
+ *
640
+ * @param array $args [description]
641
+ * @return array [description]
642
+ *
643
+ * @since 1.0
644
+ * @version 1.0
645
+ *
646
+ */
647
+ public static function parse_customizer_panel( $args ) {
648
+ $defaults = array(
649
+ 'name' => 'tt_font_typography_panel',
650
+ 'title' => __( 'Typography', 'easy-google-fonts' ),
651
+ 'priority' => 10,
652
+ 'capability' => 'edit_theme_options',
653
+ 'description' => __( 'Your theme has typography support. You can create custom font controls on the Google Fonts screen in the Settings section.', 'easy-google-fonts' ),
654
+ );
655
+
656
+ // Parse the panel passed in the parameter with the defaults
657
+ $panel = wp_parse_args( $args, $defaults );
658
+
659
+ // Return the panel
660
+ return $panel;
661
+ }
662
+
663
+ /**
664
+ * Get Theme Font Option Parameters
665
+ *
666
+ * Array that holds parameters for all default font options in this theme.
667
+ * The 'type' key is used to generate the proper form field markup and to
668
+ * sanitize the user-input data properly. The 'tab' key determines the
669
+ * Settings Page on which the option appears, and the 'section' tab
670
+ * determines the section of the Settings Page tab in which the option
671
+ * appears.
672
+ *
673
+ * Custom Filters:
674
+ * - tt_font_get_option_parameters
675
+ *
676
+ * @return array $options array of arrays of option parameters
677
+ *
678
+ * @since 1.2
679
+ * @version 1.4.4
680
+ *
681
+ */
682
+ public static function get_option_parameters() {
683
+ $options = array(
684
+
685
+ /**
686
+ * Typography Tab Options
687
+ *
688
+ * The following options are used to register controls
689
+ * that will appear in the 'Typography' section in the
690
+ * Customizer
691
+ *
692
+ * @since 1.2
693
+ * @version 1.4.4
694
+ *
695
+ */
696
+ 'tt_default_body' => array(
697
+ 'name' => 'tt_default_body',
698
+ 'title' => __( 'Paragraphs', 'easy-google-fonts' ),
699
+ 'description' => __( "Please select a font for the theme's body and paragraph text", 'easy-google-fonts' ),
700
+ 'properties' => array( 'selector' => apply_filters( 'tt_default_body', 'p' ) ),
701
+ ),
702
+
703
+ 'tt_default_heading_1' => array(
704
+ 'name' => 'tt_default_heading_1',
705
+ 'title' => __( 'Heading 1', 'easy-google-fonts' ),
706
+ 'description' => __( "Please select a font for the theme's heading 1 styles", 'easy-google-fonts' ),
707
+ 'properties' => array( 'selector' => apply_filters( 'tt_default_heading_1', 'h1' ) ),
708
+ ),
709
+
710
+ 'tt_default_heading_2' => array(
711
+ 'name' => 'tt_default_heading_2',
712
+ 'title' => __( 'Heading 2', 'easy-google-fonts' ),
713
+ 'description' => __( "Please select a font for the theme's heading 2 styles", 'easy-google-fonts' ),
714
+ 'properties' => array( 'selector' => apply_filters( 'tt_default_heading_h2', 'h2' ) ),
715
+ ),
716
+
717
+ 'tt_default_heading_3' => array(
718
+ 'name' => 'tt_default_heading_3',
719
+ 'title' => __( 'Heading 3', 'easy-google-fonts' ),
720
+ 'description' => __( "Please select a font for the theme's heading 3 styles", 'easy-google-fonts' ),
721
+ 'properties' => array( 'selector' => apply_filters( 'tt_default_heading_h3', 'h3' ) ),
722
+ ),
723
+
724
+ 'tt_default_heading_4' => array(
725
+ 'name' => 'tt_default_heading_4',
726
+ 'title' => __( 'Heading 4', 'easy-google-fonts' ),
727
+ 'description' => __( "Please select a font for the theme's heading 4 styles", 'easy-google-fonts' ),
728
+ 'properties' => array( 'selector' => apply_filters( 'tt_default_heading_h4', 'h4' ) ),
729
+ ),
730
+
731
+ 'tt_default_heading_5' => array(
732
+ 'name' => 'tt_default_heading_5',
733
+ 'title' => __( 'Heading 5', 'easy-google-fonts' ),
734
+ 'description' => __( "Please select a font for the theme's heading 5 styles", 'easy-google-fonts' ),
735
+ 'properties' => array( 'selector' => apply_filters( 'tt_default_heading_h5', 'h5' ) ),
736
+ ),
737
+
738
+ 'tt_default_heading_6' => array(
739
+ 'name' => 'tt_default_heading_6',
740
+ 'title' => __( 'Heading 6', 'easy-google-fonts' ),
741
+ 'description' => __( "Please select a font for the theme's heading 6 styles", 'easy-google-fonts' ),
742
+ 'properties' => array( 'selector' => apply_filters( 'tt_default_heading_h6', 'h6' ) ),
743
+ ),
744
+ );
745
+
746
+ $font_controls = apply_filters( 'tt_font_get_option_parameters', $options );
747
+
748
+ foreach ( $font_controls as $id => $control ) {
749
+ $font_controls[ $id ] = self::parse_font_control_array( $control );
750
+ }
751
+
752
+ return $font_controls;
753
+ }
754
+
755
+ /**
756
+ * Get Custom Theme Font Option Parameters
757
+ *
758
+ * This function converts custom controls
759
+ * in the admin section to the internal
760
+ * font control.
761
+ *
762
+ * Array that holds parameters for all custom font options in this theme.
763
+ * The 'type' key is used to generate the proper form field markup and to
764
+ * sanitize the user-input data properly. The 'tab' key determines the
765
+ * Settings Page on which the option appears, and the 'section' tab
766
+ * determines the section of the Settings Page tab in which the option
767
+ * appears.
768
+ *
769
+ * @uses EGF_Posttype::get_all_font_controls() defined in \includes\class-egf=posttype.php
770
+ *
771
+ * @return array $options array of arrays of option parameters
772
+ *
773
+ * @since 1.2
774
+ * @version 1.4.4
775
+ *
776
+ */
777
+ public static function get_custom_option_parameters( $options ) {
778
+ $query = EGF_Posttype::get_all_font_controls();
779
+ $custom_options = array();
780
+
781
+ if ( $query ) {
782
+ while( $query->have_posts() ) {
783
+
784
+ $query->the_post();
785
+
786
+ // Extract font control properties
787
+ $control_id = get_post_meta( get_the_ID(), 'control_id', true );
788
+ $selectors_array = get_post_meta( get_the_ID(), 'control_selectors', true );
789
+ $description = get_post_meta( get_the_ID(), 'control_description', true );
790
+ $force_styles = get_post_meta( get_the_ID(), 'force_styles', true );
791
+
792
+ if ( empty( $force_styles ) ) {
793
+ $force_styles = false;
794
+ }
795
+
796
+ // Build selectors
797
+ $selectors = '';
798
+
799
+ if ( ! $selectors_array ) {
800
+ $selectors_array = array();
801
+ }
802
+
803
+ foreach ( $selectors_array as $selector ) {
804
+ $selectors .= $selector . ',';
805
+ }
806
+
807
+ while ( substr( $selectors, -1 ) == ',' ) {
808
+ $selectors = rtrim( $selectors, "," );
809
+ }
810
+
811
+ // Add control
812
+ if ( $control_id ) {
813
+ $custom_options[ $control_id ] = array(
814
+ 'name' => $control_id,
815
+ 'title' => get_the_title(),
816
+ 'type' => 'font',
817
+ 'description' => $description,
818
+ 'section' => 'default',
819
+ 'tab' => 'theme-typography',
820
+ 'transport' => 'postMessage',
821
+ 'since' => '1.0',
822
+ 'properties' => array(
823
+ 'selector' => $selectors,
824
+ 'force_styles' => $force_styles,
825
+ ),
826
+ );
827
+ }
828
+
829
+ } //endwhile
830
+
831
+ // Reset the query globals
832
+ wp_reset_postdata();
833
+ }
834
+
835
+ // Parse with defaults
836
+ foreach ( $custom_options as $id => $control ) {
837
+ $custom_options[ $id ] = self::parse_font_control_array( $control );
838
+ }
839
+
840
+ return array_merge( $options, $custom_options );
841
+ }
842
+
843
+ /**
844
+ * Theme Font Option Defaults
845
+ *
846
+ * Returns an associative array that holds all of the default
847
+ * values for all of the theme font options.
848
+ *
849
+ * @return array $defaults associative array of option defaults
850
+ *
851
+ * @since 1.2
852
+ * @version 1.4.4
853
+ *
854
+ */
855
+ public static function get_option_defaults() {
856
+
857
+ // Get the array that holds all theme
858
+ // font option parameters
859
+ $tt_font_parameters = self::get_option_parameters();
860
+
861
+ // Initialize the array to hold the default
862
+ // values for all of the font options
863
+ $tt_font_defaults = array();
864
+
865
+ // Loop through the font option parameters array
866
+ foreach ( $tt_font_parameters as $tt_font_parameter ) {
867
+
868
+ /*
869
+ * Add an associative array key to the defaults array for each
870
+ * option in the parameters array
871
+ */
872
+ $name = $tt_font_parameter['name'];
873
+ $tt_font_defaults[ $name ] = $tt_font_parameter['default'];
874
+ }
875
+
876
+ // Return the defaults array
877
+ return apply_filters( 'tt_font_option_defaults', $tt_font_defaults );
878
+ }
879
+
880
+ /**
881
+ * Get Theme Options
882
+ *
883
+ * Array that holds all of the defined values for the current
884
+ * theme options. If the user has not specified a value for a
885
+ * given Theme option, then the option's default value is
886
+ * used instead. This function uses the WordPress Transients API
887
+ * in order to increase speed performance. Please make sure
888
+ * that you refresh the transient if you modify this function.
889
+ *
890
+ * Uses the following transient: 'tt_font_theme_options'
891
+ *
892
+ * Note: In order to refresh the transient that is set in this
893
+ * function please visit the Customizer. This will automatically
894
+ * refresh the transient.
895
+ *
896
+ * @return array $tt_font_options current values for all Theme options
897
+ *
898
+ * @since 1.2
899
+ * @version 1.4.4
900
+ *
901
+ */
902
+ public static function get_options( $with_transient = true ) {
903
+ // Get the global customize variable
904
+ global $wp_customize;
905
+
906
+ // Get the option defaults
907
+ $option_defaults = self::get_option_defaults();
908
+
909
+ $tt_font_options = array();
910
+
911
+ // Check if a transient exists, if it doesn't or we are in customize mode then reset the transient
912
+ if ( ! $with_transient || isset( $wp_customize ) || false === ( $tt_font_options = get_transient( 'tt_font_theme_options' ) ) ) {
913
+
914
+ // Delete transient if it exists
915
+ delete_transient( 'tt_font_theme_options' );
916
+
917
+ // Parse the stored options with the defaults
918
+ $all_options = get_option( 'tt_font_theme_options', array() );
919
+ $tt_font_options = wp_parse_args( $all_options, $option_defaults );
920
+
921
+ // Remove redundant options
922
+ foreach ( $tt_font_options as $key => $value ) {
923
+
924
+ if ( ! isset( $option_defaults[ $key ] ) ) {
925
+ unset( $tt_font_options[ $key ] );
926
+ }
927
+ }
928
+
929
+ // Set the transient
930
+ set_transient( 'tt_font_theme_options', $tt_font_options, 0 );
931
+ }
932
+
933
+ // Return the parsed array
934
+ return wp_parse_args( $tt_font_options, $option_defaults );
935
+ }
936
+
937
+ /**
938
+ * Get Linked Controls
939
+ *
940
+ * Gets all of the controls linked to the control
941
+ * with the id passed in the parameter. Will return
942
+ * an array of linked control ids if applicable or
943
+ * an empty array if no controls were found.
944
+ *
945
+ * Note: if you want to get top level controls then
946
+ * pass in false in the parameter.
947
+ *
948
+ * @param $linked_control_id id to check, boolean/string
949
+ * @return $linked_controls array of linked control ids
950
+ *
951
+ * @since 1.4.0
952
+ * @version 1.4.4
953
+ *
954
+ */
955
+ public static function get_linked_controls( $linked_control_id = false ) {
956
+ $linked_controls = array();
957
+ $option_parameters = self::get_option_parameters();
958
+
959
+ // Add ids to $linked_controls.
960
+ foreach ( $option_parameters as $id => $option_parameter ) {
961
+ if ( $linked_control_id === $option_parameter['properties']['linked_control_id'] ) {
962
+ $linked_controls[] = $id;
963
+ }
964
+ }
965
+
966
+ return $linked_controls;
967
+ }
968
+
969
+
970
+ }
971
+ endif;
includes/controls/class-egf-font-control.php ADDED
@@ -0,0 +1,379 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class: EGF_Font_Control
4
+ *
5
+ * Google Font Options Theme Customizer Integration
6
+ *
7
+ * This file integrates the Theme Customizer for this Theme.
8
+ * All options in this theme are managed in the live customizer.
9
+ * We believe that themes should only alter the display of content
10
+ * and should not add any additional functionality that would be
11
+ * better suited for a plugin. Since all options are presentation
12
+ * centered, they should all be controllable by the Customizer.
13
+ *
14
+ *
15
+ * @package Easy_Google_Fonts_Admin
16
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
17
+ * @license GPL-2.0+
18
+ * @link http://wordpress.org/plugins/easy-google-fonts/
19
+ * @copyright Copyright (c) 2016, Titanium Themes
20
+ * @version 1.4.4
21
+ *
22
+ */
23
+ if ( ! class_exists( 'EGF_Font_Control' ) && class_exists( 'WP_Customize_Control' ) ) :
24
+ class EGF_Font_Control extends WP_Customize_Control {
25
+
26
+ /**
27
+ * Control type
28
+ *
29
+ * @access public
30
+ * @var string
31
+ *
32
+ * @since 1.3.4
33
+ * @version 1.4.4
34
+ */
35
+ public $type = 'egf_font';
36
+
37
+ /**
38
+ * JSON statuses
39
+ *
40
+ * @access public
41
+ * @var array
42
+ *
43
+ * @since 1.3.4
44
+ * @version 1.4.4
45
+ */
46
+ public $statuses;
47
+
48
+ protected $tabs = array();
49
+
50
+ /**
51
+ * Constructor Function
52
+ *
53
+ * Sets up the variables for this class
54
+ * instance.
55
+ *
56
+ * @since 1.3.4
57
+ * @version 1.4.4
58
+ *
59
+ */
60
+ function __construct( $manager, $id, $args = array() ) {
61
+ $this->plugin_slug = 'easy-google-fonts';
62
+ $this->manager = $manager;
63
+ $this->id = $id;
64
+ $this->args = $args;
65
+
66
+ // Call WP_Customize_Control parent constuctor.
67
+ parent::__construct( $this->manager, $this->id, $this->args );
68
+
69
+ // Define tabs for this font control.
70
+ $this->add_tab( 'font-styles', __( 'Styles', 'easy-google-fonts' ), array( $this, 'get_style_controls' ), true );
71
+ $this->add_tab( 'font-appearance', __( 'Appearance', 'easy-google-fonts' ), array( $this, 'get_appearance_controls' ) );
72
+ $this->add_tab( 'font-positioning', __( 'Positioning', 'easy-google-fonts' ), array( $this, 'get_positioning_controls' ) );
73
+ }
74
+
75
+ /**
76
+ * Add a tab to the control.
77
+ *
78
+ * @param string $id
79
+ * @param string $label
80
+ * @param mixed $callback
81
+ *
82
+ * @since 1.3.4
83
+ * @version 1.4.4
84
+ *
85
+ */
86
+ public function add_tab( $id, $label, $callback, $selected = false ) {
87
+ $this->tabs[ $id ] = array(
88
+ 'label' => $label,
89
+ 'callback' => $callback,
90
+ 'selected' => $selected,
91
+ );
92
+ }
93
+
94
+ /**
95
+ * Remove a tab from the control.
96
+ *
97
+ * @param string $id
98
+ *
99
+ * @since 1.3.4
100
+ * @version 1.4.4
101
+ *
102
+ */
103
+ public function remove_tab( $id ) {
104
+ unset( $this->tabs[ $id ] );
105
+ }
106
+
107
+ /**
108
+ * PHP Render Font Control
109
+ *
110
+ * Easy google fonts doesn't render the
111
+ * control content from PHP, as it's
112
+ * rendered via JS on load.
113
+ *
114
+ * @since 1.3.4
115
+ * @version 1.4.4
116
+ *
117
+ */
118
+ public function render_content() {
119
+ }
120
+
121
+ /**
122
+ * JS Render Font Control
123
+ *
124
+ * Render a JS template for the content
125
+ * of this font control.
126
+ *
127
+ * @since 1.3.4
128
+ * @version 1.4.4
129
+ *
130
+ */
131
+ public function content_template() {
132
+ // Get path to styles directory.
133
+ $path = Easy_Google_Fonts::get_views_path() . '/customizer/control';
134
+
135
+ // Include control elements.
136
+ include( "{$path}/control-title.php" );
137
+ include( "{$path}/control-start.php" );
138
+ include( "{$path}/control-toggle.php" );
139
+ include( "{$path}/properties-start.php" );
140
+ include( "{$path}/control-tabs.php" );
141
+ include( "{$path}/control-tab-panes.php" );
142
+ include( "{$path}/properties-end.php" );
143
+ include( "{$path}/control-end.php" );
144
+ }
145
+
146
+ /**
147
+ * Set Font Control JSON
148
+ *
149
+ * Refresh the parameters passed to the
150
+ * JavaScript via JSON.
151
+ *
152
+ * @since 1.3.4
153
+ * @version 1.4.4
154
+ *
155
+ */
156
+ public function to_json() {
157
+ parent::to_json();
158
+ $this->json['id'] = $this->id;
159
+
160
+ // Define additional json parameters.
161
+ $this->json['egf_properties'] = $this->args['option']['properties'];
162
+ $this->json['egf_defaults'] = $this->args['option']['default'];
163
+ $this->json['egf_subsets'] = $this->get_subsets();
164
+ $this->json['egf_text_decoration'] = $this->get_text_decoration_options();
165
+ $this->json['egf_text_transform'] = $this->get_text_transform_options();
166
+ $this->json['egf_display'] = $this->get_display_options();
167
+ $this->json['egf_border_styles'] = $this->get_border_style_options();
168
+ }
169
+
170
+ /**
171
+ * Get Style Controls
172
+ *
173
+ * Controls:
174
+ * - Font Family
175
+ * - Font Weight
176
+ * - Text Decoration
177
+ * - Text Transform
178
+ * - Display
179
+ *
180
+ * @uses EGF_Font_Utilities::get_google_fonts() defined in includes\class-egf-font-utilities
181
+ * @uses EGF_Font_Utilities::get_default_fonts() defined in includes\class-egf-font-utilities
182
+ *
183
+ * @since 1.3.4
184
+ * @version 1.4.4
185
+ *
186
+ */
187
+ public function get_style_controls() {
188
+ // Get path to styles directory.
189
+ $path = Easy_Google_Fonts::get_views_path() . '/customizer/control/styles';
190
+
191
+ // Include style controls.
192
+ include( "{$path}/subsets.php" );
193
+ include( "{$path}/font-family.php" );
194
+ include( "{$path}/font-weight.php" );
195
+ include( "{$path}/text-decoration.php" );
196
+ include( "{$path}/text-transform.php" );
197
+ }
198
+
199
+ /**
200
+ * Get Appearance Controls
201
+ *
202
+ * Controls:
203
+ * - Font Color
204
+ * - Background Color
205
+ * - Font Size
206
+ * - Line Height
207
+ * - Letter Spacing
208
+ *
209
+ * @since 1.3.4
210
+ * @version 1.4.4
211
+ *
212
+ */
213
+ public function get_appearance_controls() {
214
+ // Get path to styles directory.
215
+ $path = Easy_Google_Fonts::get_views_path() . '/customizer/control/appearance';
216
+
217
+ // Include appearance controls.
218
+ include( "{$path}/font-color.php" );
219
+ include( "{$path}/background-color.php" );
220
+ include( "{$path}/font-size.php" );
221
+ include( "{$path}/line-height.php" );
222
+ include( "{$path}/letter-spacing.php" );
223
+ }
224
+
225
+ /**
226
+ * Get Positioning Controls
227
+ *
228
+ * Controls:
229
+ * - Border ( Top, Bottom, Left, Right )
230
+ * - Margin ( Top, Bottom, Left, Right )
231
+ * - Padding ( Top, Bottom, Left, Right )
232
+ *
233
+ * @since 1.3.4
234
+ * @version 1.4.4
235
+ *
236
+ */
237
+ public function get_positioning_controls() {
238
+ // Get path to styles directory.
239
+ $path = Easy_Google_Fonts::get_views_path() . '/customizer/control/positioning';
240
+
241
+ $folders = array( 'margin', 'padding', 'border', 'border-radius' );
242
+ $file_names = array( 'start', 'top', 'bottom', 'left', 'right', 'end' );
243
+
244
+ // Include margin and padding controls.
245
+ foreach ( $folders as $folder ) {
246
+ foreach ($file_names as $file_name ) {
247
+ include( "{$path}/{$folder}/{$file_name}.php" );
248
+ }
249
+ }
250
+
251
+ // Include display control.
252
+ include( "{$path}/display.php" );
253
+ }
254
+
255
+ /**
256
+ * Get Subset Options
257
+ *
258
+ * Returns the array of subsets to be enqueued
259
+ * as a json object in the customizer.
260
+ *
261
+ * Custom Filters:
262
+ * - tt_font_subset_options
263
+ *
264
+ *
265
+ * @return array - Key/value array of available subsets.
266
+ *
267
+ * @since 1.3.4
268
+ * @version 1.4.4
269
+ *
270
+ */
271
+ public function get_subsets() {
272
+ // Font subset options
273
+ $font_subset_options = array(
274
+ 'all' => __( 'All Subsets', 'easy-google-fonts' ),
275
+ 'latin' => __( 'Latin', 'easy-google-fonts' ),
276
+ 'latin-ext' => __( 'Latin Extended', 'easy-google-fonts' ),
277
+ 'arabic' => __( 'Arabic', 'easy-google-fonts' ),
278
+ 'cyrillic' => __( 'Cyrillic', 'easy-google-fonts' ),
279
+ 'cyrillic-ext' => __( 'Cyrillic Extended', 'easy-google-fonts' ),
280
+ 'devanagari' => __( 'Devanagari', 'easy-google-fonts' ),
281
+ 'greek' => __( 'Greek', 'easy-google-fonts' ),
282
+ 'greek-ext' => __( 'Greek Extended', 'easy-google-fonts' ),
283
+ 'khmer' => __( 'Khmer', 'easy-google-fonts' ),
284
+ 'telugu' => __( 'Telugu', 'easy-google-fonts' ),
285
+ 'vietnamese' => __( 'Vietnamese', 'easy-google-fonts' ),
286
+ );
287
+
288
+ return apply_filters( 'tt_font_subset_options', $font_subset_options );
289
+ }
290
+
291
+ /**
292
+ * Get Text Decoration Options
293
+ *
294
+ * Returns the array of text decoration options
295
+ * to be enqueued as a json object in the
296
+ * customizer.
297
+ *
298
+ * Custom Filters:
299
+ * - tt_font_text_decoration_options
300
+ *
301
+ *
302
+ * @return array - Key/value array of available options.
303
+ *
304
+ * @since 1.3.4
305
+ * @version 1.4.4
306
+ *
307
+ */
308
+ public function get_text_decoration_options() {
309
+ // Text decoration options
310
+ $text_decoration_options = array(
311
+ 'none' => __( 'None', 'easy-google-fonts' ),
312
+ 'underline' => __( 'Underline', 'easy-google-fonts' ),
313
+ 'line-through' => __( 'Line-through', 'easy-google-fonts' ),
314
+ 'overline' => __( 'Overline', 'easy-google-fonts' ),
315
+ );
316
+
317
+ return apply_filters( 'tt_font_text_decoration_options', $text_decoration_options );
318
+ }
319
+
320
+ /**
321
+ * Get Text Transform Options
322
+ *
323
+ * @return [type] [description]
324
+ *
325
+ * @since 1.3.4
326
+ * @version 1.4.4
327
+ *
328
+ */
329
+ public function get_text_transform_options() {
330
+ $text_transform_options = array(
331
+ 'none' => __( 'None', 'easy-google-fonts' ),
332
+ 'uppercase' => __( 'Uppercase', 'easy-google-fonts' ),
333
+ 'lowercase' => __( 'Lowercase', 'easy-google-fonts' ),
334
+ 'capitalize' => __( 'Capitalize', 'easy-google-fonts' ),
335
+ );
336
+
337
+ return apply_filters( 'tt_font_text_transform_options', $text_transform_options );
338
+ }
339
+
340
+ /**
341
+ * Get Display Options
342
+ *
343
+ * @return [type] [description]
344
+ *
345
+ * @since 1.3.4
346
+ * @version 1.4.4
347
+ *
348
+ */
349
+ public function get_display_options() {
350
+ $display_options = array(
351
+ 'block' => __( 'Block', 'easy-google-fonts' ),
352
+ 'inline-block' => __( 'Inline Block', 'easy-google-fonts' ),
353
+ );
354
+
355
+ return apply_filters( 'tt_font_display_options', $display_options );
356
+ }
357
+
358
+ /**
359
+ * Get Border Style Options
360
+ *
361
+ * @return [type] [description]
362
+ *
363
+ * @since 1.3.4
364
+ * @version 1.4.4
365
+ *
366
+ */
367
+ public function get_border_style_options() {
368
+ $styles = array(
369
+ 'none' => __( 'None', 'easy-google-fonts' ),
370
+ 'solid' => __( 'Solid', 'easy-google-fonts' ),
371
+ 'dashed' => __( 'Dashed', 'easy-google-fonts' ),
372
+ 'dotted' => __( 'Dotted', 'easy-google-fonts' ),
373
+ 'double' => __( 'Double', 'easy-google-fonts' ),
374
+ );
375
+
376
+ return apply_filters( 'tt_font_border_style_options', $styles );
377
+ }
378
+ }
379
+ endif;
includes/controls/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
includes/customizer/class-egf-customize-manager.php ADDED
@@ -0,0 +1,600 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Class: EGF_Customize_Manager
4
+ *
5
+ * Google Font Options Theme Customizer Integration
6
+ *
7
+ * This file integrates the Theme Customizer for this Theme.
8
+ * All options in this theme are managed in the live customizer.
9
+ * We believe that themes should only alter the display of content
10
+ * and should not add any additional functionality that would be
11
+ * better suited for a plugin. Since all options are presentation
12
+ * centered, they should all be controllable by the Customizer.
13
+ *
14
+ *
15
+ * @package Easy_Google_Fonts_Admin
16
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
17
+ * @license GPL-2.0+
18
+ * @link http://wordpress.org/plugins/easy-google-fonts/
19
+ * @copyright Copyright (c) 2016, Titanium Themes
20
+ * @version 1.4.4
21
+ *
22
+ */
23
+ if ( ! class_exists( 'EGF_Customize_Manager' ) ) :
24
+ class EGF_Customize_Manager {
25
+
26
+ /**
27
+ * Instance of this class.
28
+ *
29
+ * @var object
30
+ * @since 1.3
31
+ *
32
+ */
33
+ protected static $instance = null;
34
+
35
+ /**
36
+ * Slug of the plugin screen.
37
+ *
38
+ * @var string
39
+ * @since 1.3
40
+ *
41
+ */
42
+ protected $plugin_screen_hook_suffix = null;
43
+
44
+ /**
45
+ * Plugin slug.
46
+ *
47
+ * @var string
48
+ * @since 1.3
49
+ *
50
+ */
51
+ public static $slug = 'easy-google-fonts';
52
+
53
+ /**
54
+ * Constructor Function
55
+ *
56
+ * Initialize the plugin by loading admin scripts & styles and adding a
57
+ * settings page and menu.
58
+ *
59
+ * @since 1.3
60
+ * @version 1.4.4
61
+ *
62
+ */
63
+ function __construct() {
64
+
65
+ $this->plugin_slug = 'easy-google-fonts';
66
+ $this->include_control_class();
67
+
68
+ /**
69
+ * We need to register the filter before the action here
70
+ * to filter the options before the customizer uses it.
71
+ */
72
+ $this->register_filters();
73
+ $this->register_actions();
74
+ }
75
+
76
+ /**
77
+ * Return an instance of this class.
78
+ *
79
+ * @return object A single instance of this class.
80
+ *
81
+ * @since 1.3
82
+ * @version 1.4.4
83
+ *
84
+ */
85
+ public static function get_instance() {
86
+
87
+ // If the single instance hasn't been set, set it now.
88
+ if ( null == self::$instance ) {
89
+ self::$instance = new self;
90
+ }
91
+
92
+ return self::$instance;
93
+ }
94
+
95
+ /**
96
+ * Register Custom Actions
97
+ *
98
+ * Add any custom actions in this function.
99
+ *
100
+ * @since 1.3
101
+ * @version 1.4.4
102
+ *
103
+ */
104
+ public function register_actions() {
105
+ add_action( 'customize_controls_enqueue_scripts', array( $this, 'customize_controls_enqueue_scripts' ) );
106
+ add_action( 'customize_preview_init', array( $this, 'customize_live_preview_scripts' ) );
107
+ add_action( 'customize_register', array( $this, 'customize_preview_styles' ) );
108
+ add_action( 'customize_register', array( $this, 'register_font_control_type' ) );
109
+ add_action( 'customize_register', array( $this, 'register_controls' ) );
110
+ add_action( 'customize_save_tt_font_theme_options', array( $this, 'customize_save_tt_font_theme_options' ) );
111
+ add_action( 'customize_save_after', array( $this, 'customize_save_after' ) );
112
+ }
113
+
114
+ /**
115
+ * Register Custom Filters
116
+ *
117
+ * Add any custom filters in this function.
118
+ *
119
+ * @since 1.3
120
+ * @version 1.4.4
121
+ *
122
+ */
123
+ public function register_filters() {
124
+ }
125
+
126
+ /**
127
+ * Include Required Control Classes
128
+ *
129
+ * Only includes the classes required for this
130
+ * control to function if they haven't been
131
+ * loaded yet.
132
+ *
133
+ * @since 1.3
134
+ * @version 1.4.4
135
+ *
136
+ */
137
+ public function include_control_class() {
138
+
139
+ if ( ! class_exists( 'WP_Customize_Control' ) ) {
140
+ include_once( ABSPATH . WPINC . '/class-wp-customize-control.php' );
141
+ }
142
+
143
+ if ( ! class_exists( 'EGF_Font_Control' ) ) {
144
+ include_once( Easy_Google_Fonts::get_includes_path() . '/controls/class-egf-font-control.php' );
145
+ }
146
+ }
147
+
148
+ /**
149
+ * Register Font Control
150
+ *
151
+ *
152
+ *
153
+ * @param [type] $wp_customize [description]
154
+ * @return [type] [description]
155
+ *
156
+ * @since 1.3.4
157
+ * @version 1.4.4
158
+ *
159
+ */
160
+ public function register_font_control_type( $wp_customize ) {
161
+ $wp_customize->register_control_type( 'EGF_Font_Control' );
162
+ }
163
+
164
+ /**
165
+ * Load All Fonts in Customizer
166
+ *
167
+ * Loads the required fonts as a json object for the live
168
+ * theme previewer and customizer. By enqueuing the fonts
169
+ * on the screen we redice the number of ajax requests which
170
+ * increases performance dramatically.
171
+ *
172
+ * @return array complete list of fonts
173
+ *
174
+ * @since 1.3
175
+ * @version 1.4.4
176
+ */
177
+ public function customize_load_all_fonts() {
178
+ return EGF_Font_Utilities::get_all_fonts();
179
+ }
180
+
181
+ /**
182
+ * Load Customizer Control Scripts
183
+ *
184
+ * Loads the required js for the custom controls in the live
185
+ * theme previewer. This is hooked into the live previewer
186
+ * using the action: 'customize_controls_enqueue_scripts'.
187
+ *
188
+ * @return void
189
+ *
190
+ * @since 1.2
191
+ * @version 1.4.4
192
+ *
193
+ */
194
+ public function customize_controls_enqueue_scripts() {
195
+
196
+ wp_enqueue_script( 'wp-color-picker' );
197
+ wp_enqueue_script( 'iris' );
198
+
199
+ // Load WordPress media lightbox
200
+ wp_enqueue_media();
201
+
202
+ // Load chosen script
203
+ wp_deregister_script( $this->plugin_slug . '-chosen' );
204
+ wp_register_script(
205
+ $this->plugin_slug . '-chosen',
206
+ Easy_Google_Fonts::get_js_url() . '/chosen.jquery.js',
207
+ array( 'customize-controls', 'iris', 'underscore', 'wp-util', 'jquery' ),
208
+ '1.3.0',
209
+ false
210
+ );
211
+ wp_enqueue_script( $this->plugin_slug . '-chosen' );
212
+
213
+ // Load js for live customizer control
214
+ wp_deregister_script( $this->plugin_slug . '-customize-controls-js' );
215
+ wp_register_script(
216
+ $this->plugin_slug . '-customize-controls-js',
217
+ Easy_Google_Fonts::get_js_url() . '/customize-controls.js',
218
+ array( 'customize-controls', 'iris', 'underscore', 'wp-util', 'jquery' ),
219
+ Easy_Google_Fonts::VERSION,
220
+ false
221
+ );
222
+ wp_enqueue_script( $this->plugin_slug . '-customize-controls-js' );
223
+
224
+ // Load translation json object.
225
+ $translationl10n = $this->customize_control_l10n();
226
+ wp_localize_script( $this->plugin_slug . '-customize-controls-js', 'egfTranslation', $translationl10n );
227
+
228
+ // Load in all fonts as a json object.
229
+ $all_fonts = $this->customize_load_all_fonts();
230
+ wp_localize_script( $this->plugin_slug . '-customize-controls-js', 'egfAllFonts', $all_fonts );
231
+ }
232
+
233
+ /**
234
+ * Load Customizer Live Preview Scripts
235
+ *
236
+ * Loads the required js for the live theme previewer. This
237
+ * is hooked into the live previewer using the action:
238
+ * 'customize_preview_init'. Updates options visually in the
239
+ * live previewer without refreshing the page.
240
+ *
241
+ * @return void
242
+ *
243
+ * @since 1.3
244
+ * @version 1.4.4
245
+ *
246
+ */
247
+ public function customize_live_preview_scripts() {
248
+ global $wp_customize;
249
+
250
+ // Load js for live customizer control
251
+ wp_deregister_script( $this->plugin_slug . '-customize-preview-js' );
252
+ wp_register_script(
253
+ $this->plugin_slug . '-customize-preview-js',
254
+ Easy_Google_Fonts::get_js_url() . '/customize-preview.js',
255
+ array( 'customize-preview' ),
256
+ Easy_Google_Fonts::VERSION,
257
+ false
258
+ );
259
+ wp_enqueue_script( $this->plugin_slug . '-customize-preview-js' );
260
+
261
+ $previewl10n = $this->customize_live_preview_l10n();
262
+ wp_localize_script( $this->plugin_slug . '-customize-preview-js', 'egfFontPreviewControls', $previewl10n );
263
+
264
+ $all_fonts = $this->customize_load_all_fonts();
265
+ wp_localize_script( $this->plugin_slug . '-customize-preview-js', 'egfAllFonts', $all_fonts );
266
+ }
267
+
268
+ /**
269
+ * Load Customizer Styles
270
+ *
271
+ * Loads the required css for the live theme previewer. It is used
272
+ * as a way to style the custom customizer controls on the live
273
+ * preview screen. This is hooked into the live previewer using the
274
+ * action: 'customize_register'.
275
+ *
276
+ * @return void
277
+ *
278
+ * @since 1.3
279
+ * @version 1.4.4
280
+ *
281
+ */
282
+ public function customize_preview_styles() {
283
+
284
+ wp_enqueue_style( 'wp-color-picker' );
285
+
286
+ // Load Chosen CSS
287
+ wp_register_style(
288
+ $this->plugin_slug . '-chosen-css',
289
+ Easy_Google_Fonts::get_css_url() . '/chosen.css',
290
+ false,
291
+ '1.3.0'
292
+ );
293
+ wp_enqueue_style( $this->plugin_slug . '-chosen-css' );
294
+
295
+ // Load CSS to style custom customizer controls
296
+ wp_register_style(
297
+ $this->plugin_slug . '-customizer-css',
298
+ Easy_Google_Fonts::get_css_url() . '/customizer.css',
299
+ false,
300
+ Easy_Google_Fonts::VERSION
301
+ );
302
+ wp_enqueue_style( $this->plugin_slug . '-customizer-css' );
303
+ }
304
+
305
+ /**
306
+ * Load Custom Customizer JS Object
307
+ *
308
+ * Major rewrite, now generates the array without
309
+ * referencing the customizer manager, which increases
310
+ * performance and prevents recursion.
311
+ *
312
+ * @return array $controls Control properties which will be enqueues as a JSON object on the page
313
+ *
314
+ * @since 1.3
315
+ * @version 1.4.4
316
+ *
317
+ */
318
+ public function customize_live_preview_l10n() {
319
+
320
+ $controls = array();
321
+ $font_controls = array_merge( EGF_Register_Options::get_option_parameters(), EGF_Register_Options::get_custom_option_parameters( array() ) );
322
+
323
+ foreach ( $font_controls as $key => $value ) {
324
+
325
+ $controls[ $key ] = array(
326
+ 'id' => $key,
327
+ 'label' => $value['title'],
328
+ 'type' => $value['type'],
329
+ 'section' => 'tt_font_typography',
330
+ 'egf_properties' => $value['properties'],
331
+ 'force_styles' => $value['properties']['force_styles'],
332
+ 'json' => array(),
333
+ 'selector' => $value['properties']['selector'],
334
+ 'setting' => array(
335
+ 'capability' => 'edit_theme_options',
336
+ 'id' => "tt_font_theme_options[{$key}]",
337
+ 'default' => $value['default'],
338
+ 'sanitize_callback' => '',
339
+ 'sanitize_js_callback' => '',
340
+ 'theme_supports' => '',
341
+ 'transport' => $value['transport'],
342
+ 'type' => 'option'
343
+ ),
344
+ );
345
+ }
346
+
347
+ return $controls;
348
+ }
349
+
350
+ /**
351
+ * Load Customizer Translation JS Object
352
+ *
353
+ * Loads in all of the strings defined in the array as
354
+ * as JSON object in the customizer.
355
+ *
356
+ * Custom Filters:
357
+ * - tt_font_customize_control_l10n
358
+ *
359
+ *
360
+ * @return array $translations - String variables
361
+ *
362
+ * @since 1.3
363
+ * @version 1.4.4
364
+ *
365
+ */
366
+ public function customize_control_l10n() {
367
+ // Build l10n array
368
+ $translations = array(
369
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
370
+ 'confirmation' => __( 'This page is asking you to confirm that you want to leave - data you have entered may not be saved.', 'easy-google-fonts' ),
371
+ 'deleteAllWarning' => __( "Warning! You are about to permanently delete all font controls. 'Cancel' to stop, 'OK' to delete.", 'easy-google-fonts' ),
372
+ 'deleteWarning' => __( "You are about to permanently delete this font control. 'Cancel' to stop, 'OK' to delete.", 'easy-google-fonts' ),
373
+ 'displayFontLabel' => __( 'Google Display Fonts', 'easy-google-fonts' ),
374
+ 'fallbackFontLabel' => __( 'Google Fonts', 'easy-google-fonts' ),
375
+ 'handwritingFontLabel' => __( 'Google Handwriting Fonts', 'easy-google-fonts' ),
376
+ 'monospaceFontLabel' => __( 'Google Monospace Fonts', 'easy-google-fonts' ),
377
+ 'serifFontLabel' => __( 'Google Serif Fonts', 'easy-google-fonts' ),
378
+ 'sansSerifFontLabel' => __( 'Google Sans Serif Fonts', 'easy-google-fonts' ),
379
+ 'standardFontLabel' => __( 'Standard Web Fonts', 'easy-google-fonts' ),
380
+ 'themeDefault' => '&mdash; ' . __( 'Theme Default', 'easy-google-fonts' ) . ' &mdash;',
381
+ );
382
+
383
+ return apply_filters( 'tt_font_customize_control_l10n', $translations );
384
+ }
385
+
386
+ /**
387
+ * Customizer Save Action Hook
388
+ *
389
+ * Specifically add code that you want to execute when
390
+ * the font setting is being saved.
391
+ *
392
+ * @since 1.3
393
+ * @version 1.4.4
394
+ *
395
+ */
396
+ public function customize_save_tt_font_theme_options() {
397
+ }
398
+
399
+ /**
400
+ * Customizer Save Action Hook
401
+ *
402
+ * Remove / refresh any stored tranients that have
403
+ * become stale due to the user changing options.
404
+ * This function can also be used to add any function
405
+ * that you wish to run after the options have been
406
+ * saved.
407
+ *
408
+ * @since 1.3
409
+ * @version 1.4.4
410
+ *
411
+ */
412
+ public function customize_save_after() {
413
+ delete_transient( 'tt_font_dynamic_styles' );
414
+ delete_transient( 'tt_font_theme_options' );
415
+ }
416
+
417
+ /**
418
+ * Theme Customizer Controls Implementation
419
+ *
420
+ * Implement the Theme Customizer for the Theme Settings
421
+ * in this theme.
422
+ *
423
+ * @link http://ottopress.com/2012/how-to-leverage-the-theme-customizer-in-your-own-themes/ Otto
424
+ *
425
+ * @see final class WP_Customize_Manager defined in \{root}\wp-includes\class-wp-customize-manager.php
426
+ *
427
+ * @param object $wp_customize Object that holds the customizer data
428
+ *
429
+ * @since 1.3
430
+ * @version 1.4.4
431
+ *
432
+ */
433
+ public function register_controls( $wp_customize ) {
434
+
435
+ if ( ! isset( $wp_customize ) ) {
436
+ return;
437
+ }
438
+
439
+ $tt_font_options = EGF_Register_Options::get_options( false );
440
+
441
+ // Get the array of option parameters
442
+ $option_parameters = EGF_Register_Options::get_option_parameters();
443
+
444
+ // Get customizer panels
445
+ $panels = EGF_Register_Options::get_panels();
446
+
447
+ // Get list of tabs
448
+ $tabs = EGF_Register_Options::get_setting_tabs();
449
+
450
+ /**
451
+ * 1. Add Panels
452
+ *
453
+ * Add the panels to the customizer:
454
+ * Add panels to the customizer based on each $panel
455
+ * from EGF_Register_Options::get_panels() using the
456
+ * new panels API in the customizer.
457
+ *
458
+ */
459
+ if ( method_exists( $wp_customize, 'add_panel' ) ) {
460
+ foreach ( $panels as $panel ) {
461
+ $wp_customize->add_panel( $panel['name'], array(
462
+ 'priority' => $panel['priority'],
463
+ 'capability' => $panel['capability'],
464
+ 'title' => $panel['title'],
465
+ 'description' => $panel['description']
466
+ ) );
467
+ }
468
+ }
469
+
470
+ /**
471
+ * 2. Register Sections
472
+ *
473
+ * Add Each Customizer Section:
474
+ * Add each customizer section based on each $tab section
475
+ * from EGF_Register_Options::get_setting_tabs()
476
+ *
477
+ */
478
+ foreach ( $tabs as $tab ) {
479
+ // Add $tab section
480
+ $wp_customize->add_section( 'tt_font_' . $tab['name'], array(
481
+ 'title' => $tab['title'],
482
+ 'description' => $tab['description'],
483
+ 'panel' => $tab['panel'],
484
+ ) );
485
+ }
486
+
487
+ /**
488
+ * 3. Add Settings to Sections
489
+ * 4. Register Control for Each Setting
490
+ *
491
+ */
492
+ $priority = 0;
493
+ foreach ( $option_parameters as $id => $option_parameter ) {
494
+
495
+ // error_log( $option_parameter['name'] );
496
+ // if ( empty( EGF_Register_Options::get_linked_controls( $option_parameter['name'] ) ) ) {
497
+ // error_log( 'this has no linked controls' );
498
+ // } else {
499
+ // error_log( 'this does have linked controls' );
500
+ // }
501
+
502
+ // Add the setting.
503
+ $this->add_setting( $wp_customize, $option_parameter );
504
+
505
+ // Set control $priority
506
+ $priority += 20;
507
+
508
+ // Add the control.
509
+ $this->add_control( $wp_customize, $option_parameter, $priority );
510
+
511
+ }
512
+ }
513
+
514
+ /**
515
+ * Add Setting
516
+ *
517
+ * @param [type] $wp_customize [description]
518
+ * @param [type] $option_parameter [description]
519
+ *
520
+ * @since 1.4.0
521
+ * @version 1.4.4
522
+ *
523
+ */
524
+ public function add_setting( $wp_customize, $option_parameter ) {
525
+ /**
526
+ * Set Transport Method:
527
+ *
528
+ * Default is to reload the iframe when the option is
529
+ * modified in the customizer.
530
+ *
531
+ * DEVELOPER NOTE: To change the transport type for each
532
+ * option modify the 'transport' value for the appropriate
533
+ * option in the $options array found in:
534
+ * tt_font_get_option_parameters()
535
+ *
536
+ */
537
+ $transport = empty( $option_parameter['transport'] ) ? 'refresh' : $option_parameter['transport'];
538
+
539
+ /**
540
+ * Add Setting To Customizer:
541
+ *
542
+ * Adds $option_parameter setting to
543
+ * the customizer.
544
+ *
545
+ */
546
+ $wp_customize->add_setting( 'tt_font_theme_options[' . $option_parameter['name'] . ']', array(
547
+ 'default' => $option_parameter['default'],
548
+ 'type' => 'option',
549
+ 'transport' => $transport,
550
+ ) );
551
+ }
552
+
553
+ /**
554
+ * Add Control
555
+ *
556
+ * @param [type] $wp_customize [description]
557
+ * @param [type] $option_parameter [description]
558
+ * @param integer $priority [description]
559
+ *
560
+ * @since 1.4.0
561
+ * @version 1.4.4
562
+ *
563
+ */
564
+ public function add_control( $wp_customize, $option_parameter, $priority = 10 ) {
565
+ /**
566
+ * Section Prefix:
567
+ *
568
+ * Add the 'tt_font_' prefix to prevent namespace
569
+ * collisions. Removes the prefix if we are adding
570
+ * this option to a default WordPress section.
571
+ *
572
+ */
573
+ $prefix = empty( $option_parameter['wp_section'] ) ? 'tt_font_' : '' ;
574
+
575
+ switch ( $option_parameter['type'] ) {
576
+ case 'font' :
577
+ $wp_customize->add_control(
578
+ new EGF_Font_Control(
579
+ $wp_customize,
580
+ $option_parameter['name'],
581
+ array(
582
+ 'id' => '',
583
+ 'label' => $option_parameter['title'],
584
+ 'section' => $prefix . $option_parameter['tab'],
585
+ 'settings' => 'tt_font_theme_options['. $option_parameter['name'] . ']',
586
+ 'priority' => $priority,
587
+ 'option' => $option_parameter,
588
+ )
589
+ )
590
+ );
591
+ break;
592
+
593
+ // Here in case we decide to implement
594
+ // an additional lightweight control.
595
+ case 'font_basic':
596
+ break;
597
+ }
598
+ }
599
+ }
600
+ endif;
includes/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
languages/easy-google-fonts-en.mo ADDED
Binary file
languages/easy-google-fonts-en.po ADDED
@@ -0,0 +1,798 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Easy Google Fonts\n"
4
+ "POT-Creation-Date: 2015-02-14 16:34-0000\n"
5
+ "PO-Revision-Date: 2015-02-14 16:34-0000\n"
6
+ "Last-Translator: Sunny Johal - Titanium Themes <support@titaniumthemes.com>\n"
7
+ "Language-Team: Sunny Johal - WordPress Gorilla <support@wordpressgorilla."
8
+ "com>\n"
9
+ "Language: en\n"
10
+ "MIME-Version: 1.0\n"
11
+ "Content-Type: text/plain; charset=UTF-8\n"
12
+ "Content-Transfer-Encoding: 8bit\n"
13
+ "X-Generator: Poedit 1.7.4\n"
14
+ "X-Poedit-Basepath: ..\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
17
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
18
+ "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
19
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
20
+ "X-Poedit-SearchPath-0: .\n"
21
+
22
+ #: includes/class-easy-google-fonts-admin.php:226
23
+ #: includes/customizer/class-egf-customize-manager.php:369
24
+ msgid ""
25
+ "This page is asking you to confirm that you want to leave - data you have "
26
+ "entered may not be saved."
27
+ msgstr ""
28
+
29
+ #: includes/class-easy-google-fonts-admin.php:227
30
+ #: includes/customizer/class-egf-customize-manager.php:370
31
+ msgid ""
32
+ "Warning! You are about to permanently delete all font controls. 'Cancel' to "
33
+ "stop, 'OK' to delete."
34
+ msgstr ""
35
+
36
+ #: includes/class-easy-google-fonts-admin.php:228
37
+ #: includes/customizer/class-egf-customize-manager.php:371
38
+ msgid ""
39
+ "You are about to permanently delete this font control. 'Cancel' to stop, "
40
+ "'OK' to delete."
41
+ msgstr ""
42
+
43
+ #: includes/class-easy-google-fonts-admin.php:229
44
+ #: includes/customizer/class-egf-customize-manager.php:372
45
+ msgid "Google Display Fonts"
46
+ msgstr ""
47
+
48
+ #: includes/class-easy-google-fonts-admin.php:230
49
+ #: includes/class-easy-google-fonts-admin.php:269
50
+ #: includes/customizer/class-egf-customize-manager.php:373
51
+ msgid "Google Fonts"
52
+ msgstr ""
53
+
54
+ #: includes/class-easy-google-fonts-admin.php:231
55
+ #: includes/customizer/class-egf-customize-manager.php:374
56
+ msgid "Google Handwriting Fonts"
57
+ msgstr ""
58
+
59
+ #: includes/class-easy-google-fonts-admin.php:232
60
+ #: includes/customizer/class-egf-customize-manager.php:375
61
+ msgid "Google Monospace Fonts"
62
+ msgstr ""
63
+
64
+ #: includes/class-easy-google-fonts-admin.php:233
65
+ #: includes/customizer/class-egf-customize-manager.php:376
66
+ msgid "Google Serif Fonts"
67
+ msgstr ""
68
+
69
+ #: includes/class-easy-google-fonts-admin.php:234
70
+ #: includes/customizer/class-egf-customize-manager.php:377
71
+ msgid "Google Sans Serif Fonts"
72
+ msgstr ""
73
+
74
+ #: includes/class-easy-google-fonts-admin.php:235
75
+ #: includes/customizer/class-egf-customize-manager.php:378
76
+ msgid "Standard Web Fonts"
77
+ msgstr ""
78
+
79
+ #: includes/class-easy-google-fonts-admin.php:236
80
+ msgid "&mdash; Theme Default &mdash;"
81
+ msgstr ""
82
+
83
+ #: includes/class-easy-google-fonts-admin.php:268
84
+ msgid "Easy Google Fonts"
85
+ msgstr ""
86
+
87
+ #: includes/class-easy-google-fonts-admin.php:311
88
+ msgid "Settings"
89
+ msgstr ""
90
+
91
+ #: includes/class-easy-google-fonts-admin.php:364
92
+ msgid ""
93
+ "This screen is used for managing your custom font controls. It provides a "
94
+ "way to create a custom font controls for any type of content in your theme."
95
+ msgstr ""
96
+
97
+ #: includes/class-easy-google-fonts-admin.php:365
98
+ #: includes/class-easy-google-fonts-admin.php:382
99
+ #: includes/class-easy-google-fonts-admin.php:399
100
+ msgid "From this screen you can:"
101
+ msgstr ""
102
+
103
+ #: includes/class-easy-google-fonts-admin.php:366
104
+ #: includes/class-easy-google-fonts-admin.php:383
105
+ msgid "Create, edit, and delete custom font controls."
106
+ msgstr ""
107
+
108
+ #: includes/class-easy-google-fonts-admin.php:367
109
+ msgid "Manage all of your custom font controls."
110
+ msgstr ""
111
+
112
+ #: includes/class-easy-google-fonts-admin.php:368
113
+ msgid "Add a Google API key in order to enable automatic font updates."
114
+ msgstr ""
115
+
116
+ #: includes/class-easy-google-fonts-admin.php:369
117
+ #: includes/class-easy-google-fonts-admin.php:386
118
+ #: includes/class-easy-google-fonts-admin.php:403
119
+ msgid "Please Note: "
120
+ msgstr ""
121
+
122
+ #: includes/class-easy-google-fonts-admin.php:370
123
+ #: includes/class-easy-google-fonts-admin.php:387
124
+ #: includes/class-easy-google-fonts-admin.php:404
125
+ msgid ""
126
+ "This screen is used to manage/create new font controls. To preview fonts for "
127
+ "each control please visit the typography section in the "
128
+ msgstr ""
129
+
130
+ #: includes/class-easy-google-fonts-admin.php:371
131
+ #: includes/class-easy-google-fonts-admin.php:388
132
+ #: includes/class-easy-google-fonts-admin.php:405
133
+ msgid "customizer"
134
+ msgstr ""
135
+
136
+ #: includes/class-easy-google-fonts-admin.php:376
137
+ msgid "Overview"
138
+ msgstr ""
139
+
140
+ #: includes/class-easy-google-fonts-admin.php:384
141
+ msgid ""
142
+ "Add CSS Selectors: Add any CSS selectors/styles that you want this custom "
143
+ "font control to manage."
144
+ msgstr ""
145
+
146
+ #: includes/class-easy-google-fonts-admin.php:385
147
+ #: includes/class-easy-google-fonts-admin.php:402
148
+ msgid ""
149
+ "Force Styles Override (Optional): If your theme is forcing any styles in "
150
+ "it's stylesheet for any styles managed by this control then check this "
151
+ "option to force a stylesheet override."
152
+ msgstr ""
153
+
154
+ #: includes/class-easy-google-fonts-admin.php:393 views/admin-page/tabs.php:5
155
+ msgid "Edit Font Controls"
156
+ msgstr ""
157
+
158
+ #: includes/class-easy-google-fonts-admin.php:400
159
+ msgid ""
160
+ "View all of your custom font controls and the CSS selectors they are "
161
+ "managing."
162
+ msgstr ""
163
+
164
+ #: includes/class-easy-google-fonts-admin.php:401
165
+ msgid "Delete any/all custom font controls."
166
+ msgstr ""
167
+
168
+ #: includes/class-easy-google-fonts-admin.php:409 views/admin-page/tabs.php:8
169
+ msgid "Manage Font Controls"
170
+ msgstr ""
171
+
172
+ #: includes/class-easy-google-fonts-admin.php:413
173
+ msgid "How to get your Google API Key:"
174
+ msgstr ""
175
+
176
+ #: includes/class-easy-google-fonts-admin.php:416
177
+ msgid ""
178
+ "Visit the <a href=\"https://code.google.com/apis/console\" target=\"_blank"
179
+ "\">Google APIs Console</a>."
180
+ msgstr ""
181
+
182
+ #: includes/class-easy-google-fonts-admin.php:417
183
+ msgid "Create a new project."
184
+ msgstr ""
185
+
186
+ #: includes/class-easy-google-fonts-admin.php:418
187
+ msgid "Select APIs Under the APIs & auth menu."
188
+ msgstr ""
189
+
190
+ #: includes/class-easy-google-fonts-admin.php:419
191
+ msgid "Turn on Web Fonts Developer API."
192
+ msgstr ""
193
+
194
+ #: includes/class-easy-google-fonts-admin.php:420
195
+ msgid "Select Credentials under the APIs & auth menu."
196
+ msgstr ""
197
+
198
+ #: includes/class-easy-google-fonts-admin.php:421
199
+ msgid ""
200
+ "Create a new browser key and <strong>leave the referrer box empty</strong>."
201
+ msgstr ""
202
+
203
+ #: includes/class-easy-google-fonts-admin.php:422
204
+ msgid ""
205
+ "Once you have an API key, you can enter it in the Google Fonts API Key text "
206
+ "field on the \"Advanced\" settings page."
207
+ msgstr ""
208
+
209
+ #: includes/class-easy-google-fonts-admin.php:425
210
+ msgid ""
211
+ "Once you have entered a valid Google API key this plugin will automatically "
212
+ "update itself with the latest fonts from google."
213
+ msgstr ""
214
+
215
+ #: includes/class-easy-google-fonts-admin.php:429
216
+ msgid "Google API Key Instructions"
217
+ msgstr ""
218
+
219
+ #: includes/class-easy-google-fonts-admin.php:434
220
+ msgid "For more information:"
221
+ msgstr ""
222
+
223
+ #: includes/class-easy-google-fonts-admin.php:435
224
+ msgid "Documentation on Google Fonts"
225
+ msgstr ""
226
+
227
+ #: includes/class-easy-google-fonts-admin.php:436
228
+ msgid "Get Google Fonts API Key"
229
+ msgstr ""
230
+
231
+ #: includes/class-egf-ajax.php:203
232
+ msgid "Custom Font Control"
233
+ msgstr ""
234
+
235
+ #: includes/class-egf-ajax.php:254
236
+ msgid "Custom Sidebar"
237
+ msgstr ""
238
+
239
+ #: includes/class-egf-posttype.php:123
240
+ msgid "Google Font Controls"
241
+ msgstr ""
242
+
243
+ #: includes/class-egf-posttype.php:124
244
+ msgid "Google Font Control"
245
+ msgstr ""
246
+
247
+ #: includes/class-egf-posttype.php:195 includes/class-egf-posttype.php:290
248
+ #: includes/class-egf-register-options.php:538
249
+ #: views/admin-page/dialog-deleted.php:19
250
+ #: views/admin-page/dialog-updated.php:19
251
+ msgid "Font Control"
252
+ msgstr ""
253
+
254
+ #: includes/class-egf-register-options.php:427
255
+ msgid "Default Typography"
256
+ msgstr ""
257
+
258
+ #: includes/class-egf-register-options.php:429
259
+ #: includes/class-egf-register-options.php:485
260
+ msgid ""
261
+ "Your theme has typography support. You can create custom font controls on "
262
+ "the google fonts screen in the settings section."
263
+ msgstr ""
264
+
265
+ #: includes/class-egf-register-options.php:434
266
+ msgid "Default Theme Fonts"
267
+ msgstr ""
268
+
269
+ #: includes/class-egf-register-options.php:435
270
+ msgid "Default theme font options"
271
+ msgstr ""
272
+
273
+ #: includes/class-egf-register-options.php:442
274
+ msgid "Theme Typography"
275
+ msgstr ""
276
+
277
+ #: includes/class-egf-register-options.php:444
278
+ msgid ""
279
+ "Any custom font controls that you have created for your website will appear "
280
+ "below. To create more controls visit the google fonts screen in the settings "
281
+ "section."
282
+ msgstr ""
283
+
284
+ #: includes/class-egf-register-options.php:449
285
+ msgid "Custom Theme Fonts"
286
+ msgstr ""
287
+
288
+ #: includes/class-egf-register-options.php:450
289
+ msgid "Custom theme font options"
290
+ msgstr ""
291
+
292
+ #: includes/class-egf-register-options.php:482
293
+ #: includes/class-egf-register-options.php:648
294
+ msgid "Typography"
295
+ msgstr ""
296
+
297
+ #: includes/class-egf-register-options.php:540
298
+ #: views/customizer/control/control-toggle.php:19
299
+ msgid "Edit Font"
300
+ msgstr ""
301
+
302
+ #: includes/class-egf-register-options.php:651
303
+ msgid ""
304
+ "Your theme has typography support. You can create custom font controls on "
305
+ "the Google Fonts screen in the Settings section."
306
+ msgstr ""
307
+
308
+ #: includes/class-egf-register-options.php:696
309
+ msgid "Paragraphs"
310
+ msgstr ""
311
+
312
+ #: includes/class-egf-register-options.php:697
313
+ msgid "Please select a font for the theme's body and paragraph text"
314
+ msgstr ""
315
+
316
+ #: includes/class-egf-register-options.php:703
317
+ msgid "Heading 1"
318
+ msgstr ""
319
+
320
+ #: includes/class-egf-register-options.php:704
321
+ msgid "Please select a font for the theme's heading 1 styles"
322
+ msgstr ""
323
+
324
+ #: includes/class-egf-register-options.php:710
325
+ msgid "Heading 2"
326
+ msgstr ""
327
+
328
+ #: includes/class-egf-register-options.php:711
329
+ msgid "Please select a font for the theme's heading 2 styles"
330
+ msgstr ""
331
+
332
+ #: includes/class-egf-register-options.php:717
333
+ msgid "Heading 3"
334
+ msgstr ""
335
+
336
+ #: includes/class-egf-register-options.php:718
337
+ msgid "Please select a font for the theme's heading 3 styles"
338
+ msgstr ""
339
+
340
+ #: includes/class-egf-register-options.php:724
341
+ msgid "Heading 4"
342
+ msgstr ""
343
+
344
+ #: includes/class-egf-register-options.php:725
345
+ msgid "Please select a font for the theme's heading 4 styles"
346
+ msgstr ""
347
+
348
+ #: includes/class-egf-register-options.php:731
349
+ msgid "Heading 5"
350
+ msgstr ""
351
+
352
+ #: includes/class-egf-register-options.php:732
353
+ msgid "Please select a font for the theme's heading 5 styles"
354
+ msgstr ""
355
+
356
+ #: includes/class-egf-register-options.php:738
357
+ msgid "Heading 6"
358
+ msgstr ""
359
+
360
+ #: includes/class-egf-register-options.php:739
361
+ msgid "Please select a font for the theme's heading 6 styles"
362
+ msgstr ""
363
+
364
+ #: includes/controls/class-egf-font-control.php:70
365
+ msgid "Styles"
366
+ msgstr ""
367
+
368
+ #: includes/controls/class-egf-font-control.php:71
369
+ msgid "Appearance"
370
+ msgstr ""
371
+
372
+ #: includes/controls/class-egf-font-control.php:72
373
+ msgid "Positioning"
374
+ msgstr ""
375
+
376
+ #: includes/controls/class-egf-font-control.php:274
377
+ msgid "All Subsets"
378
+ msgstr ""
379
+
380
+ #: includes/controls/class-egf-font-control.php:275
381
+ msgid "Latin"
382
+ msgstr ""
383
+
384
+ #: includes/controls/class-egf-font-control.php:276
385
+ msgid "Latin Extended"
386
+ msgstr ""
387
+
388
+ #: includes/controls/class-egf-font-control.php:277
389
+ msgid "Cyrillic"
390
+ msgstr ""
391
+
392
+ #: includes/controls/class-egf-font-control.php:278
393
+ msgid "Cyrillic Extended"
394
+ msgstr ""
395
+
396
+ #: includes/controls/class-egf-font-control.php:279
397
+ msgid "Greek"
398
+ msgstr ""
399
+
400
+ #: includes/controls/class-egf-font-control.php:280
401
+ msgid "Greek Extended"
402
+ msgstr ""
403
+
404
+ #: includes/controls/class-egf-font-control.php:281
405
+ msgid "Khmer"
406
+ msgstr ""
407
+
408
+ #: includes/controls/class-egf-font-control.php:282
409
+ msgid "Vietnamese"
410
+ msgstr ""
411
+
412
+ #: includes/controls/class-egf-font-control.php:308
413
+ #: includes/controls/class-egf-font-control.php:328
414
+ #: includes/controls/class-egf-font-control.php:366
415
+ msgid "None"
416
+ msgstr ""
417
+
418
+ #: includes/controls/class-egf-font-control.php:309
419
+ msgid "Underline"
420
+ msgstr ""
421
+
422
+ #: includes/controls/class-egf-font-control.php:310
423
+ msgid "Line-through"
424
+ msgstr ""
425
+
426
+ #: includes/controls/class-egf-font-control.php:311
427
+ msgid "Overline"
428
+ msgstr ""
429
+
430
+ #: includes/controls/class-egf-font-control.php:329
431
+ msgid "Uppercase"
432
+ msgstr ""
433
+
434
+ #: includes/controls/class-egf-font-control.php:330
435
+ msgid "Lowercase"
436
+ msgstr ""
437
+
438
+ #: includes/controls/class-egf-font-control.php:331
439
+ msgid "Capitalize"
440
+ msgstr ""
441
+
442
+ #: includes/controls/class-egf-font-control.php:348
443
+ msgid "Block"
444
+ msgstr ""
445
+
446
+ #: includes/controls/class-egf-font-control.php:349
447
+ msgid "Inline Block"
448
+ msgstr ""
449
+
450
+ #: includes/controls/class-egf-font-control.php:367
451
+ msgid "Solid"
452
+ msgstr ""
453
+
454
+ #: includes/controls/class-egf-font-control.php:368
455
+ msgid "Dashed"
456
+ msgstr ""
457
+
458
+ #: includes/controls/class-egf-font-control.php:369
459
+ msgid "Dotted"
460
+ msgstr ""
461
+
462
+ #: includes/controls/class-egf-font-control.php:370
463
+ msgid "Double"
464
+ msgstr ""
465
+
466
+ #: includes/customizer/class-egf-customize-manager.php:379
467
+ msgid "Theme Default"
468
+ msgstr ""
469
+
470
+ #: views/admin-page/advanced-screen.php:17
471
+ msgid "Google Fonts API Key"
472
+ msgstr ""
473
+
474
+ #: views/admin-page/advanced-screen.php:18
475
+ msgid ""
476
+ "Please enter your google fonts api key in the box below and click the Save "
477
+ "Google API Key button."
478
+ msgstr ""
479
+
480
+ #: views/admin-page/advanced-screen.php:23
481
+ msgid "Your Google API Key is valid and automatic font updates are enabled."
482
+ msgstr ""
483
+
484
+ #: views/admin-page/advanced-screen.php:24
485
+ msgid "Please enter a valid Google API Key"
486
+ msgstr ""
487
+
488
+ #: views/admin-page/advanced-screen.php:45
489
+ msgid "Save Google API Key"
490
+ msgstr ""
491
+
492
+ #: views/admin-page/advanced-screen.php:60
493
+ msgid "What happens after I enter a valid Google API key?"
494
+ msgstr ""
495
+
496
+ #: views/admin-page/advanced-screen.php:61
497
+ msgid ""
498
+ "Your theme will update itself with the latest google fonts automatically."
499
+ msgstr ""
500
+
501
+ #: views/admin-page/create-screen.php:9 views/admin-page/edit-screen.php:8
502
+ msgid "Control Name"
503
+ msgstr ""
504
+
505
+ #: views/admin-page/create-screen.php:10 views/admin-page/edit-screen.php:9
506
+ msgid "Enter control name here"
507
+ msgstr ""
508
+
509
+ #: views/admin-page/create-screen.php:38 views/admin-page/create-screen.php:93
510
+ msgid "Create Font Control"
511
+ msgstr ""
512
+
513
+ #: views/admin-page/create-screen.php:56
514
+ msgid "Give your font control a name above, then click Create Font Control."
515
+ msgstr ""
516
+
517
+ #: views/admin-page/create-screen.php:65 views/admin-page/edit-screen.php:105
518
+ msgid "Delete Control"
519
+ msgstr ""
520
+
521
+ #: views/admin-page/dialog-deleted.php:21
522
+ #, php-format
523
+ msgid "%1$s has been deleted."
524
+ msgstr ""
525
+
526
+ #: views/admin-page/dialog-updated.php:22
527
+ #, php-format
528
+ msgid "%1$s has been updated. Please visit the %2$s to manage this control."
529
+ msgstr ""
530
+
531
+ #: views/admin-page/edit-screen.php:38 views/admin-page/edit-screen.php:134
532
+ msgid "Save Font Control"
533
+ msgstr ""
534
+
535
+ #: views/admin-page/edit-screen.php:57
536
+ msgid "Add CSS Selectors"
537
+ msgstr ""
538
+
539
+ #: views/admin-page/edit-screen.php:59
540
+ msgid ""
541
+ "Type each CSS selector that you would like this font control to manage in "
542
+ "the box below. Use the tab key to separate each selector."
543
+ msgstr ""
544
+
545
+ #: views/admin-page/edit-screen.php:72
546
+ msgid "Force Styles Override (Optional)"
547
+ msgstr ""
548
+
549
+ #: views/admin-page/edit-screen.php:73
550
+ msgid ""
551
+ "Please check the box below if you wish to override all of the styles for the "
552
+ "selectors above that are forced in your theme's stylesheet."
553
+ msgstr ""
554
+
555
+ #: views/admin-page/form-manage-control.php:22
556
+ msgid "Select a font control to edit:"
557
+ msgstr ""
558
+
559
+ #: views/admin-page/form-manage-control.php:28
560
+ msgid "Select"
561
+ msgstr ""
562
+
563
+ #: views/admin-page/form-manage-control.php:30
564
+ msgid "create a new font control"
565
+ msgstr ""
566
+
567
+ #: views/admin-page/form-manage-control.php:33
568
+ msgid "Create a new Font Control."
569
+ msgstr ""
570
+
571
+ #: views/admin-page/manage-screen.php:28 views/admin-page/manage-screen.php:42
572
+ msgid "Create a new font control for your theme:"
573
+ msgstr ""
574
+
575
+ #: views/admin-page/manage-screen.php:29 views/admin-page/manage-screen.php:43
576
+ msgid "Create a New Font Control"
577
+ msgstr ""
578
+
579
+ #: views/admin-page/manage-screen.php:41
580
+ msgid "Manage your custom font controls here or:"
581
+ msgstr ""
582
+
583
+ #: views/admin-page/manage-screen.php:49
584
+ msgid "Font Control Name"
585
+ msgstr ""
586
+
587
+ #: views/admin-page/manage-screen.php:50
588
+ msgid "CSS Selectors"
589
+ msgstr ""
590
+
591
+ #: views/admin-page/manage-screen.php:51
592
+ msgid "Force Styles"
593
+ msgstr ""
594
+
595
+ #: views/admin-page/manage-screen.php:88
596
+ msgid "Edit"
597
+ msgstr ""
598
+
599
+ #: views/admin-page/manage-screen.php:88
600
+ msgid "Delete"
601
+ msgstr ""
602
+
603
+ #: views/admin-page/manage-screen.php:107
604
+ msgid "Delete All Controls"
605
+ msgstr ""
606
+
607
+ #: views/admin-page/page-start.php:33
608
+ msgid "Cheatin&#8217; uh?"
609
+ msgstr ""
610
+
611
+ #: views/admin-page/tabs.php:11
612
+ msgid "Advanced"
613
+ msgstr ""
614
+
615
+ #: views/customizer/control/appearance/background-color.php:22
616
+ msgid "Background Color"
617
+ msgstr ""
618
+
619
+ #: views/customizer/control/appearance/background-color.php:24
620
+ #: views/customizer/control/appearance/font-color.php:24
621
+ #: views/customizer/control/positioning/border/bottom.php:55
622
+ #: views/customizer/control/positioning/border/left.php:55
623
+ #: views/customizer/control/positioning/border/right.php:55
624
+ #: views/customizer/control/positioning/border/top.php:55
625
+ msgid "Hex Value"
626
+ msgstr ""
627
+
628
+ #: views/customizer/control/appearance/font-color.php:22
629
+ msgid "Font Color"
630
+ msgstr ""
631
+
632
+ #: views/customizer/control/appearance/font-size.php:23
633
+ msgid "Font Size"
634
+ msgstr ""
635
+
636
+ #: views/customizer/control/appearance/font-size.php:26
637
+ #: views/customizer/control/appearance/letter-spacing.php:25
638
+ #: views/customizer/control/appearance/line-height.php:25
639
+ #: views/customizer/control/control-title.php:19
640
+ #: views/customizer/control/positioning/border-radius/bottom.php:25
641
+ #: views/customizer/control/positioning/border-radius/left.php:25
642
+ #: views/customizer/control/positioning/border-radius/right.php:25
643
+ #: views/customizer/control/positioning/border-radius/top.php:25
644
+ #: views/customizer/control/positioning/border/bottom.php:43
645
+ #: views/customizer/control/positioning/border/left.php:43
646
+ #: views/customizer/control/positioning/border/right.php:43
647
+ #: views/customizer/control/positioning/border/top.php:43
648
+ #: views/customizer/control/positioning/margin/bottom.php:25
649
+ #: views/customizer/control/positioning/margin/left.php:25
650
+ #: views/customizer/control/positioning/margin/right.php:25
651
+ #: views/customizer/control/positioning/margin/top.php:25
652
+ #: views/customizer/control/positioning/padding/bottom.php:25
653
+ #: views/customizer/control/positioning/padding/left.php:25
654
+ #: views/customizer/control/positioning/padding/right.php:25
655
+ #: views/customizer/control/positioning/padding/top.php:25
656
+ msgid "Reset"
657
+ msgstr ""
658
+
659
+ #: views/customizer/control/appearance/letter-spacing.php:23
660
+ msgid "Letter Spacing"
661
+ msgstr ""
662
+
663
+ #: views/customizer/control/appearance/line-height.php:23
664
+ msgid "Line Height"
665
+ msgstr ""
666
+
667
+ #: views/customizer/control/positioning/border-radius/bottom.php:23
668
+ msgid "Top Right"
669
+ msgstr ""
670
+
671
+ #: views/customizer/control/positioning/border-radius/left.php:23
672
+ msgid "Bottom Left"
673
+ msgstr ""
674
+
675
+ #: views/customizer/control/positioning/border-radius/right.php:23
676
+ msgid "Bottom Right"
677
+ msgstr ""
678
+
679
+ #: views/customizer/control/positioning/border-radius/start.php:19
680
+ msgid "Border Radius"
681
+ msgstr ""
682
+
683
+ #: views/customizer/control/positioning/border-radius/top.php:23
684
+ msgid "Top Left"
685
+ msgstr ""
686
+
687
+ #: views/customizer/control/positioning/border/bottom.php:28
688
+ msgid "Bottom Style"
689
+ msgstr ""
690
+
691
+ #: views/customizer/control/positioning/border/bottom.php:41
692
+ msgid "Bottom Width"
693
+ msgstr ""
694
+
695
+ #: views/customizer/control/positioning/border/bottom.php:53
696
+ msgid "Bottom Color"
697
+ msgstr ""
698
+
699
+ #: views/customizer/control/positioning/border/left.php:28
700
+ msgid "Left Style"
701
+ msgstr ""
702
+
703
+ #: views/customizer/control/positioning/border/left.php:41
704
+ msgid "Left Width"
705
+ msgstr ""
706
+
707
+ #: views/customizer/control/positioning/border/left.php:53
708
+ msgid "Left Color"
709
+ msgstr ""
710
+
711
+ #: views/customizer/control/positioning/border/right.php:28
712
+ msgid "Right Style"
713
+ msgstr ""
714
+
715
+ #: views/customizer/control/positioning/border/right.php:41
716
+ msgid "Right Width"
717
+ msgstr ""
718
+
719
+ #: views/customizer/control/positioning/border/right.php:53
720
+ msgid "Right Color"
721
+ msgstr ""
722
+
723
+ #: views/customizer/control/positioning/border/start.php:19
724
+ msgid "Border"
725
+ msgstr ""
726
+
727
+ #: views/customizer/control/positioning/border/start.php:22
728
+ msgid "Select Border to Control"
729
+ msgstr ""
730
+
731
+ #: views/customizer/control/positioning/border/start.php:24
732
+ #: views/customizer/control/positioning/margin/top.php:23
733
+ #: views/customizer/control/positioning/padding/top.php:23
734
+ msgid "Top"
735
+ msgstr ""
736
+
737
+ #: views/customizer/control/positioning/border/start.php:25
738
+ #: views/customizer/control/positioning/margin/bottom.php:23
739
+ #: views/customizer/control/positioning/padding/bottom.php:23
740
+ msgid "Bottom"
741
+ msgstr ""
742
+
743
+ #: views/customizer/control/positioning/border/start.php:26
744
+ #: views/customizer/control/positioning/margin/left.php:23
745
+ #: views/customizer/control/positioning/padding/left.php:23
746
+ msgid "Left"
747
+ msgstr ""
748
+
749
+ #: views/customizer/control/positioning/border/start.php:27
750
+ #: views/customizer/control/positioning/margin/right.php:23
751
+ #: views/customizer/control/positioning/padding/right.php:23
752
+ msgid "Right"
753
+ msgstr ""
754
+
755
+ #: views/customizer/control/positioning/border/top.php:28
756
+ msgid "Top Style"
757
+ msgstr ""
758
+
759
+ #: views/customizer/control/positioning/border/top.php:41
760
+ msgid "Top Width"
761
+ msgstr ""
762
+
763
+ #: views/customizer/control/positioning/border/top.php:53
764
+ msgid "Top Color"
765
+ msgstr ""
766
+
767
+ #: views/customizer/control/positioning/display.php:23
768
+ #: views/customizer/control/positioning/display.php:26
769
+ msgid "Display"
770
+ msgstr ""
771
+
772
+ #: views/customizer/control/positioning/margin/start.php:19
773
+ msgid "Margin"
774
+ msgstr ""
775
+
776
+ #: views/customizer/control/positioning/padding/start.php:19
777
+ msgid "Padding"
778
+ msgstr ""
779
+
780
+ #: views/customizer/control/styles/font-family.php:31
781
+ msgid "Font Family"
782
+ msgstr ""
783
+
784
+ #: views/customizer/control/styles/font-weight.php:23
785
+ msgid "Font Weight/Style"
786
+ msgstr ""
787
+
788
+ #: views/customizer/control/styles/subsets.php:22
789
+ msgid "Script/Subset"
790
+ msgstr ""
791
+
792
+ #: views/customizer/control/styles/text-decoration.php:21
793
+ msgid "Text Decoration"
794
+ msgstr ""
795
+
796
+ #: views/customizer/control/styles/text-transform.php:21
797
+ msgid "Text Transform"
798
+ msgstr ""
languages/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
licence.txt ADDED
File without changes
readme.txt ADDED
@@ -0,0 +1,202 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Easy Google Fonts ===
2
+ Contributors: sunny_johal, amit_kayasth
3
+ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=28M8NWPHVQNYU
4
+ Tags: WordPress Google Fonts Plugin, Google Webfonts, Google Fonts WordPress, Typography, Webfonts, WordPress Webfonts, Fonts, WordPress Fonts, Theme Fonts, Theme Fonts Plugin
5
+ Requires at least: 5.5.3
6
+ Tested up to: 5.5.3
7
+ Stable tag: 1.4.4
8
+ License: GPLv2 or later
9
+ License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
+
11
+ Adds google fonts to any theme without coding and integrates with the WordPress Customizer automatically for a realtime live preview.
12
+
13
+ == Description ==
14
+ > **Our new WordPress theme is almost ready!** Want to know when we launch? Awesome! [Visit our website](http://www.titaniumthemes.com) and enter your details and we will e-mail you as soon as we are ready :)
15
+
16
+ For a quick video demo please view the [vimeo screencast](https://vimeo.com/77878709).
17
+
18
+ [Follow us on twitter!](https://twitter.com/titaniumthemes)
19
+
20
+ If you have found this plugin useful please [donate here](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=28M8NWPHVQNYU)
21
+
22
+ A simple and easy way to add custom google fonts to any WordPress theme without coding. This plugin integrates with the WordPress Customizer so you can preview google fonts on your site in realtime. It's compatible with any theme.
23
+
24
+ It also allows you to create custom theme specific font controls in the admin settings area to control particular css selectors. Once created, these custom font controls are instantly available in the customizer no coding required!
25
+
26
+ = What does this plugin do? =
27
+
28
+ * This plugin allows you to **take full control of your theme's typography** in any WordPress theme (no coding required).
29
+ * It allows you to **choose from over 600+ google fonts** and font variants to insert into your website without coding.
30
+ * Allows you to **preview font changes on your website in realtime** using the WordPress Customizer.
31
+ * **Create Unlimited Custom Font Controls:** Create custom font controls in the admin area that are instantly available in the Customizer preview.
32
+ * Allows you to preview what your theme will look like with the new google fonts before you save any changes.
33
+ * Allows you to **create your own font controls and rules** in the admin area (no coding required).
34
+ * Allows you to easily change the look of your website with the click of a button.
35
+ * **Automatically enqueues all stylesheets for your chosen google fonts**.
36
+ * Allows you to add google fonts to your theme without editing the themes main stylesheet which allows you to update your theme without losing your custom google fonts.
37
+
38
+
39
+ = Plugin Features =
40
+
41
+ * **Live Customizer Preview:** Preview google fonts without refreshing the page in real time right in the WordPress Customizer.
42
+ * **Over 600+ Google Fonts** to choose from as well as a list of default system fonts.
43
+ * Works with any WordPress Theme. No coding required.
44
+ * Automatic Background Updates: Updates the google fonts list with the latest fonts automatically once.
45
+ * Translation Ready: MO and PO files are included.
46
+ * Seamless WordPress Integration: Uses the WordPress customizer for the live preview and has a white label admin area that looks like it is a part of WordPress.
47
+ * Custom WordPress Customizer Control: One of a kind control only available with this plugin.
48
+
49
+ = Who is this Plugin ideal for? =
50
+ * Anyone who is looking for an easy way to use google fonts in their theme without coding.
51
+ * Theme Authors: you can use this plugin to add custom google webfonts to your theme.
52
+ * Great for use on client projects or for use on existing websites.
53
+ * People that are happy with their theme but want an easy way to change the typography.
54
+ * Anyone with basic knowledge of CSS Selectors (in order to add custom font rules).
55
+
56
+
57
+ = Developer Features =
58
+ **Please note:** We are currently working on producing in-depth documentation for theme developers which will be available shortly.
59
+
60
+ * **Cross Browser and Backwards Browser Compatible** (Tested in all major browsers).
61
+ * Already tested and works in WordPress 4.1.
62
+ * **Uses Action Hooks and Filters:** For advanced integration.
63
+ * **Seamless WordPress Integration:** Live preview is integrated into the WordPress Customizer and the settings page follows core WordPress design guidelines.
64
+ * Uses the WordPress **Options API** to store and retrieve options.
65
+ * **Highly Secure:** Checks user permissions, uses nonces and the WordPress Security API.
66
+ * Uses the Screen Options API and Ajax to allow you to easily show/hide metaboxes on the admin page.
67
+ * **Rock solid, Robust Code:** handcoded, tested and beautifully formatted in Sublime Text.
68
+ * **Uses WP Ajax** for an enhanced admin experience.
69
+ * Fully Commented Source Code.
70
+ * Strong Usability Testing.
71
+ * **Enhanced Performance:** Will only load a particular google font (using wp_enqueue_script()) once and uses the **Transients API** in the admin area.
72
+
73
+
74
+ == Installation ==
75
+
76
+ This section describes how to install the plugin and get it working.
77
+
78
+ e.g.
79
+
80
+ 1. From your WordPress Admin Dashboard go to: Plugins > Add New
81
+ 1. Search for "Easy Google Fonts"
82
+ 1. Locate the "Easy Google Fonts" plugin by Titanium Themes and click the Install Now button.
83
+ 1. Activate the plugin labeled "Easy Google Fonts".
84
+ 1. You're done!
85
+
86
+ == Screenshots ==
87
+
88
+ 1. Plugin Overview.
89
+ 2. Before and After.
90
+ 3. Live Customizer Font Control Preview - Font Styles Tab.
91
+ 4. Choose from over 600+ Google Fonts and preview them instantly without refreshing the page.
92
+ 5. Change font color in realtime.
93
+ 6. Create your own font controls for your theme.
94
+ 7. Manage any CSS Selector with your custom font controls.
95
+ 8. Your custom control is instantly available for real time preview in the customizer. No coding required!
96
+ 9. View and manage all of your custom controls in the admin area.
97
+
98
+ == Changelog ==
99
+ = 1.4.4 - WordPress 5.0 compatibility update =
100
+ * Updated webfonts.json with the latest google fonts.
101
+ * Last minor update before major rewrite.
102
+
103
+ = 1.4.3 - WordPress 4.8 compatibility update =
104
+ * Updated webfonts.json with the latest google fonts.
105
+ * Updated includes class-egf-frontend.php to only output styles if there is a selector.
106
+
107
+ = 1.4.2 - WordPress 4.7 compatibility update =
108
+ * Fixed issue where the font controls weren't saving in WordPress 4.7.
109
+ * Updated the font list.
110
+
111
+ = 1.4.1 - Urgent update =
112
+ * Fixed issue where the plugin wasn't taking effect for screen sizes under 700px
113
+
114
+ = 1.4.0 - Plugin update =
115
+ * Now automatically removes white spaces added to the api key on the settings page.
116
+ * Started rewriting part of the code for eventual media query support.
117
+
118
+ = 1.3.9 - Stylesheet Update =
119
+ * Updated the appearance in the customizer for the new changes in WordPress 3.4
120
+
121
+ = 1.3.7 - Important Update =
122
+ * Addressed potential security issue on the plugin admin page - Hardened security and escaped any attributes passed via the URL throughout the plugin.
123
+ * Now added support for arabic and telegu and devangari subsets.
124
+ * Updated JSON decode when parsing fonts for servers running an older version of PHP.
125
+
126
+ = 1.3.6 - Updated Stylesheet Enqueue =
127
+ * Addressed issue on certain servers where a 400 error was being returned when making a http request to google.
128
+
129
+ = 1.3.5 - Changed Stylesheet Enqueue =
130
+ * Removed esc_url_raw() as it was causing a 404 error when fetching the stylesheet from google.
131
+
132
+ = 1.3.4 - Customizer js API Update =
133
+ * Implemented font search to make it easier to browse google fonts (using the chosen js plugin).
134
+ * Implemented border controls.
135
+ * Implemented border radius controls.
136
+ * Completely rewritten the control javascript to utilise the new customizer js api (using backbone and underscore templates).
137
+ * Preview performance enhancement: Completely rewritten the preview javascript to utilise the new customizer js api.
138
+ * Performance update: Each font control now only registers one setting per control.
139
+ * Performance update: The functionality for each font control is lazy loaded to increase the customizer load speed.
140
+ * All settings for each font controls are handled by json objects (removed any hidden inputs and json2 library dependancy).
141
+
142
+ = 1.3.3 - WordPress 4.1+ Update =
143
+ * Added patch for WordPress 4.1
144
+ * The code is going to be rewritten in Backbone for future releases.
145
+
146
+ = 1.3.2 - Big Update =
147
+ * Now combining all of the font requests from google fonts in a single http request.
148
+ * Introducing Panels: A new customizer feature in WordPress 4.0 that makes it easier to manage alot of font controls. Our plugin creates a new panel called Typography.
149
+ * Google fonts are now separated into the following categories to make them easier to navigate: Serif, Sans Serif, Display, Handwriting, Monospace.
150
+ * Now the plugin keeps font state when user switches page in customizer.
151
+ * Now there is a separate section for default and custom font controls.
152
+ * Improved the help tab in the admin area to help people obtain a google api key.
153
+ * Synchronised Force Styles between the Manage Font Controls and the Edit Font Controls Screen
154
+ * Fixed issue with the font weights not showing up for the customizer control.
155
+ * The plugin now checks and handles occurances where theme developers have removed all default controls.
156
+
157
+ = 1.3.1 =
158
+ * Changed order of style outputs
159
+ * Futher UI Improvements
160
+
161
+ = 1.3 =
162
+ * Critical Update: Made the plugin WordPress 3.9 compatible
163
+ * Performance tuned the plugin
164
+ * Removed recursion during runtime.
165
+ * Updated local font list
166
+
167
+ = 1.2.5 =
168
+ * Performance enhancement for older browsers implemented. Safe to upgrade.
169
+
170
+ = 1.2 =
171
+ * Big Update: Complete Rewrite of Plugin
172
+ * New controls: Background Color, Margin, Padding and Display.
173
+ * Added Subset support.
174
+ * Introduced a large amount of actions and filters for theme developers.
175
+ * Big performance enhancement. The old version used to register 32 settings per control, this is now down to 3.
176
+ * Lightning fast customizer loading times, under 1 second.
177
+ * Rewrote the plugin into classes and views to make it more managable for future development.
178
+ * Rewrote the plugin into classes.
179
+ * MO/PO language files now included.
180
+
181
+ = 1.1.1=
182
+ * 3.8 Admin integration
183
+
184
+ = 1.1 =
185
+ * Full google fonts transient integration.
186
+
187
+ = 1.0 =
188
+ * First plugin release.
189
+
190
+ == Upgrade Notice ==
191
+ Nothing to see here...
192
+
193
+ == Frequently Asked Questions ==
194
+ For a quick video demo please view the [vimeo screencast](https://vimeo.com/77878709).
195
+
196
+ == Credits and Donation ==
197
+
198
+ * [Tag-it jQuery plugin](http://aehlke.github.io/tag-it/) by Alex Ehlke. (Used in the admin settings page)
199
+ * Chip Bennet's Oenology Theme. Alot of inspiration for best practices and WordPress Customizer integration taken from this theme.
200
+ * Otherwise, this plugin has been entirely written from scratch in Sublime Text by Titanium Themes with some code taken solely from WordPress core.
201
+
202
+ If you have found this plugin useful please [donate here](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=28M8NWPHVQNYU)
uninstall.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Uninstall Easy Google Fonts
4
+ *
5
+ * Used to uninstall this plugin and remove any options
6
+ * and transients from the database. Fired when the plugin
7
+ * is uninstalled. Will be implemented in future versions.
8
+ *
9
+ * @package Easy_Google_Fonts_Admin
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+
18
+ // If uninstall not called from WordPress, then exit
19
+ if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
20
+ exit;
21
+ }
views/admin-page/advanced-screen.php ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Advanced Controls Screen
4
+ *
5
+ * This file contains the closing the tags for the
6
+ * html settings page.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+ <h3 class="title"><?php _e( 'Google Fonts API Key', $this->plugin_slug ); ?></h3>
18
+ <p><?php _e( 'Please enter your google fonts api key in the box below and click the Save Google API Key button.', $this->plugin_slug ); ?></p>
19
+ <div class="manage-controls manage-google-key <?php echo $validity; ?>">
20
+ <form enctype="multipart/form-data" method="get" action="" id="" autocomplete="off">
21
+ <input id="egf-google-api-key" type="text" class="" value="<?php echo $api_key; ?>">
22
+ <p class="key-feedback howto">
23
+ <span class="valid-key"><?php _e( 'Your Google API Key is valid and automatic font updates are enabled.', $this->plugin_slug ); ?></span>
24
+ <span class="invalid-key"><?php _e( 'Please enter a valid Google API Key', $this->plugin_slug ); ?></span>
25
+ </p>
26
+ <?php
27
+ /**
28
+ * Create Font Control Nonce Fields for Security
29
+ *
30
+ * This ensures that the request to modify controls
31
+ * was an intentional request from the user. Used in
32
+ * the Ajax request for validation.
33
+ *
34
+ * @link http://codex.wordpress.org/Function_Reference/wp_nonce_field wp_nonce_field()
35
+ *
36
+ */
37
+ wp_nonce_field( 'tt_font_edit_control_instance', 'tt_font_edit_control_instance_nonce' );
38
+ wp_nonce_field( 'tt_font_delete_control_instance', 'tt_font_delete_control_instance_nonce' );
39
+ wp_nonce_field( 'tt_font_create_control_instance', 'tt_font_create_control_instance_nonce' );
40
+ ?>
41
+ </form>
42
+ </div><!-- /.manage-google-key -->
43
+ <?php
44
+ submit_button(
45
+ __( 'Save Google API Key', $this->plugin_slug ),
46
+ 'primary',
47
+ 'submit',
48
+ false,
49
+ array(
50
+ 'id' => 'egf_save_api_key',
51
+ 'data-redirect-url' => $this->advanced_url,
52
+ )
53
+ );
54
+ ?>
55
+ <div class="spinner spinner-left"></div>
56
+ <div class="clearfix"></div>
57
+
58
+ <div class="google-feedback">
59
+ <div class="valid-key">
60
+ <h3><?php _e( 'What happens after I enter a valid Google API key?', $this->plugin_slug ); ?></h3>
61
+ <p><?php _e( 'Your theme will update itself with the latest google fonts automatically.', $this->plugin_slug ); ?></p>
62
+ </div>
63
+ </div>
views/admin-page/create-screen.php ADDED
@@ -0,0 +1,125 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="edit-controls-wrap">
2
+ <form id="update-control" action="" method="post">
3
+ <div class="control-edit">
4
+
5
+ <!-- Header -->
6
+ <div id="edit-control-header">
7
+ <div class="major-publishing-actions">
8
+ <label for="menu-name" class="custom-control-label menu-name-label howto open-label">
9
+ <span><?php _e( 'Control Name', $this->plugin_slug ); ?></span>
10
+ <input autocomplete="off" type="text" value="<?php echo $control_name; ?>" title="<?php _e( 'Enter control name here', $this->plugin_slug ) ?>" class="custom-control-name regular-text menu-item-textbox input-with-default-title" id="custom-control-name" name="custom-control-name">
11
+ </label>
12
+ <div class="publishing-action">
13
+ <span class="spinner"></span>
14
+ <?php
15
+ /**
16
+ * Build Edit Redirect Link URL
17
+ *
18
+ * Generate the first part of the URL and store it
19
+ * in a data attribute. This URL will have the rest
20
+ * of the query variables appended to it via AJAX.
21
+ *
22
+ * @since 1.0
23
+ * @version 1.1.1
24
+ *
25
+ */
26
+ $edit_redirect_link = esc_url(
27
+ add_query_arg(
28
+ array(
29
+ 'page' => $this->plugin_slug,
30
+ 'action' => 'edit'
31
+ ),
32
+ admin_url( 'options-general.php' )
33
+ )
34
+ );
35
+
36
+ // Create submit button
37
+ submit_button(
38
+ __( 'Create Font Control', $this->plugin_slug ),
39
+ 'primary',
40
+ 'submit',
41
+ false,
42
+ array(
43
+ 'id' => 'create_control_header',
44
+ 'data-redirect-url' => $edit_redirect_link
45
+ )
46
+ );
47
+ ?>
48
+ </div><!-- /.major-publishing-action -->
49
+ <div class="clear"></div>
50
+ </div><!-- /.major-publishing-actions -->
51
+ </div>
52
+
53
+ <!-- Body -->
54
+ <div id="post-body">
55
+ <div id="post-body-content">
56
+ <p class="post-body-plain"><?php _e( 'Give your font control a name above, then click Create Font Control.', $this->plugin_slug ); ?></p>
57
+ </div><!-- /#post-body-content -->
58
+ </div><!-- /#post-body -->
59
+
60
+ <!-- Footer -->
61
+ <div id="edit-control-footer">
62
+ <div class="major-publishing-actions">
63
+ <span class="delete-action">
64
+ <?php $delete_link = $this->admin_url; ?>
65
+ <a data-redirect-url="<?php echo $delete_link; ?>" data-control-id="<?php echo $this->control_selected_id; ?>" id="delete-control" href="#" class="submitdelete deletion menu-delete"><?php _e( 'Delete Control', $this->plugin_slug ); ?></a>
66
+ </span><!-- END .delete-action -->
67
+ <div class="publishing-action">
68
+ <span class="spinner"></span>
69
+ <?php
70
+ /**
71
+ * Build Edit Redirect Link URL
72
+ *
73
+ * Generate the first part of the URL and store it
74
+ * in a data attribute. This URL will have the rest
75
+ * of the query variables appended to it via AJAX.
76
+ *
77
+ * @since 1.0
78
+ * @version 1.1.1
79
+ *
80
+ */
81
+ $edit_redirect_link = esc_url(
82
+ add_query_arg(
83
+ array(
84
+ 'page' => $this->plugin_slug,
85
+ 'action' => 'edit'
86
+ ),
87
+ admin_url( 'options-general.php' )
88
+ )
89
+ );
90
+
91
+ // Create submit button
92
+ submit_button(
93
+ __( 'Create Font Control', $this->plugin_slug ),
94
+ 'primary',
95
+ 'submit',
96
+ false,
97
+ array(
98
+ 'id' => 'create_control_header',
99
+ 'data-redirect-url' => $edit_redirect_link
100
+ )
101
+ );
102
+ ?>
103
+ </div><!-- END .publishing-action -->
104
+ <div class="clear"></div>
105
+ </div><!-- /.major-publishing-actions -->
106
+ </div><!-- /#post-body -->
107
+
108
+ </div><!-- /.control-edit -->
109
+ <?php
110
+ /**
111
+ * Create Font Control Nonce Fields for Security
112
+ *
113
+ * This ensures that the request to modify controls
114
+ * was an intentional request from the user. Used in
115
+ * the Ajax request for validation.
116
+ *
117
+ * @link http://codex.wordpress.org/Function_Reference/wp_nonce_field wp_nonce_field()
118
+ *
119
+ */
120
+ wp_nonce_field( 'tt_font_edit_control_instance', 'tt_font_edit_control_instance_nonce' );
121
+ wp_nonce_field( 'tt_font_delete_control_instance', 'tt_font_delete_control_instance_nonce' );
122
+ wp_nonce_field( 'tt_font_create_control_instance', 'tt_font_create_control_instance_nonce' );
123
+ ?>
124
+ </form>
125
+ </div><!-- /#edit-controls-wrap -->
views/admin-page/dialog-deleted.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Deleted Control Dialog Message
4
+ *
5
+ * Checks if a font control has just been deleted and
6
+ * outputs a feedback to the message if it has.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+ <?php if ( isset( $_GET['dialog'] ) ) : ?>
18
+ <?php if ( $_GET['dialog'] == 'deleted' ) : ?>
19
+ <?php $deleted_control_name = isset( $_GET['name'] ) ? esc_attr( $_GET['name'] ) : __( 'Font Control', $this->plugin_slug ); ?>
20
+ <div class="updated below-h2" id="delete_message">
21
+ <p><?php printf( __( '%1$s has been deleted.', $this->plugin_slug ), "<strong>{$deleted_control_name}</strong>" ) ?></p>
22
+ </div>
23
+ <?php endif; ?>
24
+ <?php endif; ?>
views/admin-page/dialog-updated.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Updated Control Message
4
+ *
5
+ * Message to display to the user if this
6
+ * font control has been updated.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+ <?php if ( isset( $_GET['dialog'] ) ) : ?>
18
+ <?php if ( 'updated' == $_GET['dialog'] ) : ?>
19
+ <?php $updated_control_name = isset( $_GET['name'] ) ? esc_attr( $_GET['name'] ) : __( 'Font Control', $this->plugin_slug ); ?>
20
+ <div class="updated below-h2" id="update_message">
21
+ <p>
22
+ <?php printf( __( '%1$s has been updated. Please visit the %2$s to manage this control.', $this->plugin_slug ), "<strong id='updated_control_name'>{$updated_control_name}</strong>", "<strong><a href='" . admin_url( 'customize.php' ) . "'>customizer</a></strong>" ); ?>
23
+ </p>
24
+ </div>
25
+ <?php endif; ?>
26
+ <?php endif; ?>
views/admin-page/edit-screen.php ADDED
@@ -0,0 +1,167 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div id="edit-controls-wrap">
2
+ <form id="update-control" action="" method="post">
3
+ <div class="control-edit">
4
+ <!-- Header -->
5
+ <div id="edit-control-header">
6
+ <div class="major-publishing-actions">
7
+ <label for="menu-name" class="custom-control-label menu-name-label howto open-label">
8
+ <span><?php _e( 'Control Name', $this->plugin_slug ); ?></span>
9
+ <input autocomplete="off" type="text" value="<?php echo $control_name; ?>" title="<?php _e( 'Enter control name here', $this->plugin_slug ) ?>" class="custom-control-name regular-text menu-item-textbox input-with-default-title" id="custom-control-name" name="custom-control-name">
10
+ </label>
11
+ <div class="publishing-action">
12
+ <span class="spinner"></span>
13
+ <?php
14
+ /**
15
+ * Build Save Redirect Link URL
16
+ *
17
+ * Generate the first part of the URL and store it
18
+ * in a data attribute. This URL will have the rest
19
+ * of the query variables appended to it via AJAX.
20
+ *
21
+ * @since 1.0
22
+ * @version 1.1.1
23
+ *
24
+ */
25
+ $save_redirect_link = esc_url(
26
+ add_query_arg(
27
+ array(
28
+ 'page' => $this->plugin_slug,
29
+ 'action' => 'edit',
30
+ 'dialog' => 'updated',
31
+ 'control' => $this->control_selected_id
32
+ ),
33
+ admin_url( 'options-general.php' )
34
+ )
35
+ );
36
+
37
+ submit_button(
38
+ __( 'Save Font Control', $this->plugin_slug ),
39
+ 'primary',
40
+ 'submit',
41
+ false,
42
+ array(
43
+ 'id' => 'save_control_header',
44
+ 'data-control-id' => $this->control_selected_id,
45
+ 'data-redirect-url' => $save_redirect_link
46
+ )
47
+ );
48
+ ?>
49
+ </div><!-- /.major-publishing-action -->
50
+ <div class="clear"></div>
51
+ </div><!-- /.major-publishing-actions -->
52
+ </div>
53
+
54
+ <!-- Body -->
55
+ <div id="post-body">
56
+ <div id="post-body-content">
57
+ <h3><?php _e( 'Add CSS Selectors', $this->plugin_slug ); ?></h3>
58
+ <div class="drag-instructions post-body-plain">
59
+ <p><?php _e( 'Type each CSS selector that you would like this font control to manage in the box below. Use the tab key to separate each selector.', $this->plugin_slug ); ?></p>
60
+ </div>
61
+ <div>
62
+ <ul id="tt-font-tags">
63
+ <?php $selectors = get_post_meta( $this->control_instance->ID, 'control_selectors', true ); ?>
64
+ <?php if ( $selectors ) : ?>
65
+ <?php foreach ( $selectors as $selector ) : ?>
66
+ <li><?php echo $selector; ?></li>
67
+ <?php endforeach; ?>
68
+ <?php endif; ?>
69
+ </ul>
70
+ </div>
71
+
72
+ <h3><?php _e( 'Force Styles Override (Optional)', $this->plugin_slug ); ?></h3>
73
+ <p><?php _e( "Please check the box below if you wish to override all of the styles for the selectors above that are forced in your theme's stylesheet.", $this->plugin_slug ); ?></p>
74
+ <?php $force_styles = get_post_meta( $this->control_instance->ID, 'force_styles', true ); ?>
75
+ <input autocomplete="off" id="control-force-styles" type="checkbox" <?php checked( $force_styles, true ); ?>>
76
+
77
+ </div><!-- /#post-body-content -->
78
+ </div><!-- /#post-body -->
79
+
80
+ <!-- Footer -->
81
+ <div id="edit-control-footer">
82
+ <div class="major-publishing-actions">
83
+ <?php
84
+ /**
85
+ * Build Delete Link URL
86
+ *
87
+ * Generate a unique edit URL for each custom
88
+ * font control.
89
+ *
90
+ */
91
+ $delete_link = '';
92
+ $delete_link = esc_url(
93
+ add_query_arg(
94
+ array(
95
+ 'page' => $this->plugin_slug,
96
+ 'action' => 'edit',
97
+ 'dialog' => 'deleted',
98
+ 'name' => str_replace ( ' ', '+', $control_name )
99
+ ),
100
+ admin_url( 'options-general.php' )
101
+ )
102
+ );
103
+ ?>
104
+ <span class="delete-action">
105
+ <a data-redirect-url="<?php echo $delete_link; ?>" data-control-id="<?php echo $this->control_selected_id; ?>" id="delete-control" href="#" class="submitdelete deletion menu-delete"><?php _e( 'Delete Control', $this->plugin_slug ); ?></a>
106
+ </span><!-- END .delete-action -->
107
+ <div class="publishing-action">
108
+ <span class="spinner"></span>
109
+ <?php
110
+ /**
111
+ * Build Save Redirect Link URL
112
+ *
113
+ * Generate the first part of the URL and store it
114
+ * in a data attribute. This URL will have the rest
115
+ * of the query variables appended to it via AJAX.
116
+ *
117
+ * @since 1.0
118
+ * @version 1.1.1
119
+ *
120
+ */
121
+ $save_redirect_link = esc_url(
122
+ add_query_arg(
123
+ array(
124
+ 'page' => $this->plugin_slug,
125
+ 'action' => 'edit',
126
+ 'dialog' => 'updated',
127
+ 'control' => $this->control_selected_id
128
+ ),
129
+ admin_url( 'options-general.php' )
130
+ )
131
+ );
132
+
133
+ submit_button(
134
+ __( 'Save Font Control', $this->plugin_slug ),
135
+ 'primary',
136
+ 'submit',
137
+ false,
138
+ array(
139
+ 'id' => 'save_control_header',
140
+ 'data-control-id' => $this->control_selected_id,
141
+ 'data-redirect-url' => $save_redirect_link
142
+ )
143
+ );
144
+ ?>
145
+ </div><!-- END .publishing-action -->
146
+ <div class="clear"></div>
147
+ </div><!-- /.major-publishing-actions -->
148
+ </div><!-- /#post-body -->
149
+
150
+ </div><!-- /.control-edit -->
151
+ <?php
152
+ /**
153
+ * Create Font Control Nonce Fields for Security
154
+ *
155
+ * This ensures that the request to modify controls
156
+ * was an intentional request from the user. Used in
157
+ * the Ajax request for validation.
158
+ *
159
+ * @link http://codex.wordpress.org/Function_Reference/wp_nonce_field wp_nonce_field()
160
+ *
161
+ */
162
+ wp_nonce_field( 'tt_font_edit_control_instance', 'tt_font_edit_control_instance_nonce' );
163
+ wp_nonce_field( 'tt_font_delete_control_instance', 'tt_font_delete_control_instance_nonce' );
164
+ wp_nonce_field( 'tt_font_create_control_instance', 'tt_font_create_control_instance_nonce' );
165
+ ?>
166
+ </form>
167
+ </div><!-- /#edit-controls-wrap -->
views/admin-page/form-manage-control.php ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Manage Control Form
4
+ *
5
+ * A form to allow the user to quickly select another
6
+ * form to edit.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+
18
+ <div class="manage-controls">
19
+ <form autocomplete="off" id="" action="" method="get" enctype="multipart/form-data">
20
+ <?php if ( $this->is_edit_screen() ) : ?>
21
+ <input type="hidden" name="page" value="<?php echo $this->plugin_slug; ?>">
22
+ <input name="action" type="hidden" value="edit">
23
+ <label class="selected-control" for="control"><?php _e( 'Select a font control to edit:', $this->plugin_slug ); ?></label>
24
+ <select autocomplete="off" name="control" id="control">
25
+ <?php foreach ( $this->custom_controls as $custom_control_id => $custom_control_name ) : ?>
26
+ <option value="<?php echo $custom_control_id; ?>" <?php if( $custom_control_id == $this->control_selected_id ) : ?>selected<?php endif; ?>><?php echo $custom_control_name; ?></option>
27
+ <?php endforeach; ?>
28
+ </select>
29
+ <?php submit_button( __( 'Select', $this->plugin_slug ), 'secondary', '', false ); ?>
30
+ <span class="add-new-control-action">
31
+ or <a href="<?php echo $this->create_url; ?>"><?php _e( 'create a new font control', $this->plugin_slug ); ?></a>
32
+ </span><!-- /add-new-control-action -->
33
+ <?php elseif ( $this->is_create_screen() ) : ?>
34
+ <label><?php _e( 'Create a new Font Control. ', $this->plugin_slug ); ?></label>
35
+ <?php endif; ?>
36
+ </form>
37
+ </div><!-- END .manage-controls -->
views/admin-page/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
views/admin-page/manage-screen.php ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Manage Screen
4
+ *
5
+ * This file contains the view for the Manage Font Controls
6
+ * Screen.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+ <form autocomplete="off" method="post" action="<?php echo esc_url( add_query_arg( array( 'screen' => 'edit_controls' ), $this->admin_url ) ); ?>">
18
+ <?php
19
+ /**
20
+ * Output New Font Control Dialog Message
21
+ *
22
+ * If there are no font control output a dialog message
23
+ * to prompt the user to create a new custom control.
24
+ *
25
+ */
26
+ if ( $this->no_controls ) : ?>
27
+ <div class="manage-controls no-controls">
28
+ <label><?php _e( 'Create a new font control for your theme:', $this->plugin_slug ); ?></label>
29
+ <?php submit_button( __( 'Create a New Font Control', $this->plugin_slug ), 'secondary', 'create_new_control', false, array( 'data-create-control-url' => $this->create_url ) ); ?>
30
+ </div><!-- /.no-controls -->
31
+ <?php
32
+ /**
33
+ * Output Custom Font Controls Table
34
+ *
35
+ * If there are existing font controls output a table that
36
+ * displays all custom font control instances.
37
+ *
38
+ */
39
+ else : ?>
40
+ <div class="manage-controls control-dialog">
41
+ <label class="manage-label"><?php _e( 'Manage your custom font controls here or:', $this->plugin_slug ); ?></label>
42
+ <label class="new-label"><?php _e( 'Create a new font control for your theme:', $this->plugin_slug ); ?></label>
43
+ <?php submit_button( __( 'Create a New Font Control', $this->plugin_slug ), 'secondary', 'create_new_control', false, array( 'data-create-control-url' => $this->create_url ) ); ?>
44
+ </div><!-- /.control-dialog -->
45
+
46
+ <table id="font-controls-table" class="widefat fixed" cellspacing="0">
47
+ <thead>
48
+ <tr>
49
+ <th class="manage-column column-controls "><?php _e( 'Font Control Name', $this->plugin_slug ); ?></th>
50
+ <th class="manage-column column-controls"><?php _e( 'CSS Selectors', $this->plugin_slug ) ?></th>
51
+ <th class="manage-column column-controls"><?php _e( 'Force Styles', $this->plugin_slug ) ?></th>
52
+ <th></th>
53
+ </tr>
54
+ </thead>
55
+ <tbody>
56
+ <?php $row_count = 0; ?>
57
+ <?php while ( $this->font_controls->have_posts() ) : $this->font_controls->the_post(); ?>
58
+ <?php
59
+ $row_class = ( $row_count % 2 == 0 ) ? 'alternate' : '';
60
+ $selectors = get_post_meta( get_the_ID(), 'control_selectors', true );
61
+ $selector_output = '';
62
+ $control_id = get_post_meta( get_the_ID(), 'control_id', true );
63
+ $force_styles = get_post_meta( get_the_ID(), 'force_styles', true );
64
+
65
+ $edit_link = esc_url(
66
+ add_query_arg(
67
+ array(
68
+ 'screen' => 'edit_controls',
69
+ 'action' => 'edit',
70
+ 'control' => $control_id
71
+ ),
72
+ $this->admin_url
73
+ )
74
+ );
75
+
76
+ if ( $selectors ) {
77
+ foreach ( $selectors as $selector ) {
78
+ $selector_output .= "{$selector}, ";
79
+ }
80
+ }
81
+ ?>
82
+ <tr class="<?php echo $row_class; ?>">
83
+ <td class="post-title page-title column-title">
84
+ <div>
85
+ <strong><a href="#" class="row-title"><?php the_title(); ?></a></strong>
86
+ </div>
87
+ <div class="row-actions">
88
+ <a data-control-reference="<?php echo $control_id; ?>" class="control-edit-link" href="<?php echo $edit_link; ?>"><?php _e( 'Edit', $this->plugin_slug ); ?></a> | <a data-control-reference="<?php echo $control_id; ?>" class="control-delete-link" href="#"><?php _e( 'Delete', $this->plugin_slug ); ?></a>
89
+ </div>
90
+ </td>
91
+ <td class=""><?php echo $selector_output; ?></td>
92
+ <td class=""><input autocomplete="off" data-control-reference="<?php echo $control_id; ?>" class="tt-force-styles" type="checkbox" <?php checked( $force_styles, true ); ?>></td>
93
+ <td><span class="spinner" style=""></span></td>
94
+ </tr>
95
+ <?php $row_count++; ?>
96
+ <?php endwhile; ?>
97
+ </tbody>
98
+ </table>
99
+ <?php
100
+ /**
101
+ * Create Delete All Controls Link
102
+ *
103
+ * Creates a button that will delete all custom
104
+ * controls created by the user.
105
+ */
106
+ ?>
107
+ <a href="#" id="delete_all_controls"><?php _e( 'Delete All Controls', $this->plugin_slug ); ?></a>
108
+ <?php endif; ?>
109
+ <?php
110
+ /**
111
+ * Create Font Control Nonce Fields for Security
112
+ *
113
+ * This ensures that the request to modify controls
114
+ * was an intentional request from the user. Used in
115
+ * the Ajax request for validation.
116
+ *
117
+ * @link http://codex.wordpress.org/Function_Reference/wp_nonce_field wp_nonce_field()
118
+ *
119
+ */
120
+ wp_nonce_field( 'tt_font_delete_control_instance', 'tt_font_delete_control_instance_nonce' );
121
+ wp_nonce_field( 'tt_font_edit_control_instance', 'tt_font_edit_control_instance_nonce' );
122
+ ?>
123
+ </form>
views/admin-page/page-end.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Theme Font Generator Admin Page Closing Container
4
+ *
5
+ * This file contains the closing the tags for the
6
+ * html settings page.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+ </div><!-- /.wrap -->
views/admin-page/page-start.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Theme Font Generator Admin Page Output
4
+ *
5
+ * This file is responsible for generating the admin
6
+ * page output for the google fonts settings page. It
7
+ * should only be included from within a function.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+
18
+ /**
19
+ * Check User Permissions and Theme Support
20
+ *
21
+ * Checks if the user has the required privileges. It will
22
+ * die if these conditions are not met.
23
+ *
24
+ * @link http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
25
+ * @link http://codex.wordpress.org/Function_Reference/current_theme_supports current_theme_supports()
26
+ * @link http://codex.wordpress.org/Function_Reference/wp_die wp_die()
27
+ *
28
+ * @since 1.0
29
+ * @version 1.0
30
+ *
31
+ */
32
+ if ( ! current_user_can('edit_theme_options') )
33
+ wp_die( __( 'Cheatin&#8217; uh?' ) );
34
+
35
+ ?>
36
+ <div class="wrap">
views/admin-page/tabs.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!-- Screen Navigation -->
2
+ <?php screen_icon(); ?>
3
+ <h2 class="nav-tab-wrapper">
4
+ <a href="<?php echo $this->admin_url; ?>" class="nav-tab <?php if ( $this->is_edit_screen() || $this->is_create_screen() ) { echo 'nav-tab-active'; } ?>">
5
+ <?php esc_html_e( 'Edit Font Controls', 'theme-translate' ); ?>
6
+ </a>
7
+ <a href="<?php echo $this->manage_url; ?>" class="nav-tab <?php if ( $this->is_manage_screen() ) { echo 'nav-tab-active'; } ?>">
8
+ <?php esc_html_e( 'Manage Font Controls', 'theme-translate' ); ?>
9
+ </a>
10
+ <a href="<?php echo $this->advanced_url; ?>" class="nav-tab <?php if ( $this->is_advanced_screen() ) { echo 'nav-tab-active'; } ?>">
11
+ <?php esc_html_e( 'Advanced', 'theme-translate' ); ?>
12
+ </a>
13
+ </h2>
views/customizer/control/appearance/background-color.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Background Color Control
4
+ *
5
+ * Outputs the new background color control from
6
+ * Automattic. This is used to control the background
7
+ * color of a particular font.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Get settings and defaults.
20
+ var egfBackgroundColor = typeof egfSettings.background_color !== "undefined" ? egfSettings.background_color : data.egf_defaults.background_color;
21
+ #>
22
+ <span class="customize-control-title"><?php _e( 'Background Color', 'easy-google-fonts' ); ?></span>
23
+ <div class="customize-control-content egf-background-color-container">
24
+ <input autocomplete="off" class="egf-color-picker-hex" data-default-color="{{ data.egf_defaults.background_color }}" value="{{ egfBackgroundColor }}" type="text" maxlength="7" placeholder="<?php esc_attr_e( 'Hex Value', 'easy-google-fonts' ); ?>" />
25
+ </div>
views/customizer/control/appearance/font-color.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Font Color Select Control
4
+ *
5
+ * Outputs the new font color control from Automattic.
6
+ * This is used to control the color of a particular
7
+ * font.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Get settings and defaults.
20
+ var egfFontColor = typeof egfSettings.font_color !== "undefined" ? egfSettings.font_color : data.egf_defaults.font_color;
21
+ #>
22
+ <span class="customize-control-title"><?php _e( 'Font Color', 'easy-google-fonts' ); ?></span>
23
+ <div class="customize-control-content egf-font-color-container">
24
+ <input autocomplete="off" class="egf-color-picker-hex" data-default-color="{{ data.egf_defaults.font_color }}" value="{{ egfFontColor }}" type="text" maxlength="7" placeholder="<?php esc_attr_e( 'Hex Value', 'easy-google-fonts' ); ?>"/>
25
+ </div>
views/customizer/control/appearance/font-size.php ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Font Size Slider Control
4
+ *
5
+ * Outputs the new font size slider control which is
6
+ * designed to be used with jQuery UI. This is used
7
+ * to control the font size of a particular font.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Get settings and defaults.
20
+ var egfFontSize = typeof egfSettings.font_size !== "undefined" ? egfSettings.font_size : data.egf_defaults.font_size;
21
+ #>
22
+ <div class="egf-font-slider-control egf-font-size-slider">
23
+ <span class="egf-slider-title"><?php _e( 'Font Size', 'easy-google-fonts' ); ?></span>
24
+
25
+ <div class="egf-font-slider-display">
26
+ <span>{{ egfFontSize.amount }}{{ egfFontSize.unit }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
27
+ </div>
28
+
29
+ <div class="egf-clear" ></div>
30
+
31
+ <!-- Slider -->
32
+ <div class="egf-slider" value="{{ egfFontSize.amount }}"></div>
33
+
34
+ <div class="egf-clear"></div>
35
+ </div>
views/customizer/control/appearance/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
views/customizer/control/appearance/letter-spacing.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Font Size Slider Control
4
+ *
5
+ * Outputs the new letter spacing slider control which is
6
+ * designed to be used with jQuery UI. This is used
7
+ * to control the letter spacing of a particular font.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Get settings and defaults.
20
+ var egfLetterSpacing = typeof egfSettings.letter_spacing !== "undefined" ? egfSettings.letter_spacing : data.egf_defaults.letter_spacing;
21
+ #>
22
+ <div class="egf-font-slider-control egf-letter-spacing-slider">
23
+ <span class="egf-slider-title"><?php _e( 'Letter Spacing', 'easy-google-fonts' ); ?></span>
24
+ <div class="egf-font-slider-display">
25
+ <span>{{ egfLetterSpacing.amount }}{{ egfLetterSpacing.unit }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
26
+ </div>
27
+ <div class="egf-clear" ></div>
28
+
29
+ <!-- Slider -->
30
+ <div class="egf-slider" value="{{ egfLetterSpacing.amount }}"></div>
31
+ <div class="egf-clear"></div>
32
+ </div>
views/customizer/control/appearance/line-height.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Font Size Slider Control
4
+ *
5
+ * Outputs the new font line height control which is
6
+ * designed to be used with jQuery UI. This is used
7
+ * to control the font size of a particular font.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Get settings and defaults.
20
+ var egfLineHeight = typeof egfSettings.line_height !== "undefined" ? egfSettings.line_height : data.egf_defaults.line_height;
21
+ #>
22
+ <div class="egf-font-slider-control egf-line-height-slider">
23
+ <span class="egf-slider-title"><?php _e( 'Line Height', 'easy-google-fonts' ); ?></span>
24
+ <div class="egf-font-slider-display">
25
+ <span>{{ egfLineHeight }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
26
+ </div>
27
+ <div class="egf-clear" ></div>
28
+
29
+ <!-- Slider -->
30
+ <div class="egf-slider" value="{{ egfLineHeight }}"></div>
31
+ <div class="egf-clear"></div>
32
+ </div>
views/customizer/control/control-end.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Font Control Container End
4
+ *
5
+ * End container markup that wraps the font control.
6
+ * See control-start.php for the opening container markup.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+ </div><!-- END .egf-font-control -->
views/customizer/control/control-start.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Font Control Container Start
4
+ *
5
+ * Start container markup that wraps the font control.
6
+ * See control-end.php for the closing contianer markup.
7
+ * The egfSettings js variable is used throughout the
8
+ * control templates.
9
+ *
10
+ * @package Easy_Google_Fonts
11
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
12
+ * @license GPL-2.0+
13
+ * @link http://wordpress.org/plugins/easy-google-fonts/
14
+ * @copyright Copyright (c) 2016, Titanium Themes
15
+ * @version 1.4.4
16
+ *
17
+ */
18
+ ?>
19
+ <div class="egf-font-control" data-font-control-id="{{ data.id }}">
20
+ <# var egfSettings = wp.customize.instance( data.settings["default"] ).get(); #>
views/customizer/control/control-tab-panes.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Font Control Tab Panes
4
+ *
5
+ * Ouputs the font control tab panes. Each panes contains
6
+ * a set of controls to manage the theme's typography.
7
+ * To edit a specific control look in the following folder:
8
+ * views\customizer\control.
9
+ *
10
+ * @package Easy_Google_Fonts
11
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
12
+ * @license GPL-2.0+
13
+ * @link http://wordpress.org/plugins/easy-google-fonts/
14
+ * @copyright Copyright (c) 2016, Titanium Themes
15
+ * @version 1.4.4
16
+ *
17
+ */
18
+ ?>
19
+ <?php foreach ( $this->tabs as $id => $tab ): ?>
20
+ <div class="egf-font-content <?php echo $id; ?> <?php if ( $tab['selected'] ) : ?>selected<?php endif; ?>" data-customize-tab-pane='<?php echo esc_attr( $id ); ?>'>
21
+ <?php call_user_func( $tab['callback'] ); ?>
22
+ </div>
23
+ <?php endforeach; ?>
views/customizer/control/control-tabs.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Font Control Tabs
4
+ *
5
+ * Ouputs the tabs used to navigate the settings
6
+ * for each font control.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+ <div class="egf-customizer-tabs">
18
+ <ul>
19
+ <?php foreach ( $this->tabs as $id => $tab ): ?>
20
+ <li data-customize-tab='<?php echo esc_attr( $id ); ?>' class="<?php if ( $tab['selected'] ) : ?>selected<?php endif; ?> " tabindex='0'>
21
+ <?php echo esc_html( $tab['label'] ); ?>
22
+ </li>
23
+ <?php endforeach; ?>
24
+ </ul>
25
+ <div class="egf-clear"></div>
26
+ </div>
views/customizer/control/control-title.php ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Font Control Title and Reset Button
4
+ *
5
+ * Font control title and reset button for
6
+ * the customizer control.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+ <div class="egf-font-control-title">
18
+ <span class="customize-control-title">{{ data.label }}</span>
19
+ <a class="egf-reset-font" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
20
+ <div class="egf-clear"></div>
21
+ </div>
22
+
23
+ <# if ( data.description ) { #>
24
+ <span class="description customize-control-description egf-control-description">{{ data.description }}</span>
25
+ <# } #>
views/customizer/control/control-toggle.php ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Font Control Toggle
4
+ *
5
+ * Markup for the toggle trigger in order to
6
+ * show/hide additional font properties.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+ <div tabindex="0" class="dropdown preview-thumbnail egf-font-toggle-trigger">
18
+ <div class="egf-trigger-content">
19
+ <div class="egf-trigger-label" style="display: block;"><?php _e( 'Edit Font', 'easy-google-fonts' ); ?></div>
20
+ </div>
21
+ <div class="egf-dropdown-arrow"></div>
22
+ </div>
23
+ <div class="egf-clear"></div>
views/customizer/control/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
views/customizer/control/positioning/border-radius/bottom.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Top Right Border Radius Control
4
+ *
5
+ * Outputs a jquery ui slider to allow the
6
+ * user to control the top right border-radius
7
+ * of an element.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Get settings and defaults.
20
+ var egfBorderRadiusTopRight = typeof egfSettings.border_radius_top_right !== "undefined" ? egfSettings.border_radius_top_right : data.egf_defaults.border_radius_top_right;
21
+ #>
22
+ <div class="egf-font-slider-control egf-border-radius-top-right-slider">
23
+ <span class="egf-slider-title"><?php _e( 'Top Right', 'easy-google-fonts' ); ?></span>
24
+ <div class="egf-font-slider-display">
25
+ <span>{{ egfBorderRadiusTopRight.amount }}{{ data.egf_defaults.border_radius_top_right.unit }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
26
+ </div>
27
+ <div class="egf-clear" ></div>
28
+
29
+ <!-- Slider -->
30
+ <div class="egf-slider" value="{{ egfBorderRadiusTopRight.amount }}"></div>
31
+ <div class="egf-clear"></div>
32
+ </div>
views/customizer/control/positioning/border-radius/end.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Closing Border Radius Control Markup
4
+ *
5
+ * Outputs the closing html markup for the
6
+ * border radius controls.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+ </div><!-- END .toggle-section-content -->
18
+ </div><!-- END .toggle-section-content -->
views/customizer/control/positioning/border-radius/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
views/customizer/control/positioning/border-radius/left.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Bottom Left Border Radius Control
4
+ *
5
+ * Outputs a jquery ui slider to allow the
6
+ * user to control the bottom left border-radius
7
+ * of an element.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Get settings and defaults.
20
+ var egfBorderRadiusBottomLeft = typeof egfSettings.border_radius_bottom_left !== "undefined" ? egfSettings.border_radius_bottom_left : data.egf_defaults.border_radius_bottom_left;
21
+ #>
22
+ <div class="egf-font-slider-control egf-border-radius-bottom-left-slider">
23
+ <span class="egf-slider-title"><?php _e( 'Bottom Left', 'easy-google-fonts' ); ?></span>
24
+ <div class="egf-font-slider-display">
25
+ <span>{{ egfBorderRadiusBottomLeft.amount }}{{ data.egf_defaults.border_radius_bottom_left.unit }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
26
+ </div>
27
+ <div class="egf-clear" ></div>
28
+
29
+ <!-- Slider -->
30
+ <div class="egf-slider" value="{{ egfBorderRadiusBottomLeft.amount }}"></div>
31
+ <div class="egf-clear"></div>
32
+ </div>
views/customizer/control/positioning/border-radius/right.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Bottom Right Border Radius Control
4
+ *
5
+ * Outputs a jquery ui slider to allow the
6
+ * user to control the bottom right
7
+ * border-radius of an element.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Get settings and defaults.
20
+ var egfBorderRadiusBottomRight = typeof egfSettings.border_radius_bottom_right !== "undefined" ? egfSettings.border_radius_bottom_right : data.egf_defaults.border_radius_bottom_right;
21
+ #>
22
+ <div class="egf-font-slider-control egf-border-radius-bottom-right-slider">
23
+ <span class="egf-slider-title"><?php _e( 'Bottom Right', 'easy-google-fonts' ); ?></span>
24
+ <div class="egf-font-slider-display">
25
+ <span>{{ egfBorderRadiusBottomRight.amount }}{{ data.egf_defaults.border_radius_bottom_right.unit }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
26
+ </div>
27
+ <div class="egf-clear" ></div>
28
+
29
+ <!-- Slider -->
30
+ <div class="egf-slider" value="{{ egfBorderRadiusBottomRight.amount }}"></div>
31
+ <div class="egf-clear"></div>
32
+ </div>
views/customizer/control/positioning/border-radius/start.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Opening Border Radius Control Markup
4
+ *
5
+ * Outputs the opening html markup for the
6
+ * border radius controls.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+ <div class="egf-font-toggle">
18
+ <div class="toggle-section-title">
19
+ <span class="customize-control-title inner-control-title"><?php _e( 'Border Radius', 'easy-google-fonts' ); ?></span>
20
+ </div>
21
+ <div class="toggle-section-content">
views/customizer/control/positioning/border-radius/top.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Bottom Right Border Radius Control
4
+ *
5
+ * Outputs a jquery ui slider to allow the
6
+ * user to control the bottom right
7
+ * border-radius of an element.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Get settings and defaults.
20
+ var egfBorderRadiusTopLeft = typeof egfSettings.border_radius_top_left !== "undefined" ? egfSettings.border_radius_top_left : data.egf_defaults.border_radius_top_left;
21
+ #>
22
+ <div class="egf-font-slider-control egf-border-radius-top-left-slider">
23
+ <span class="egf-slider-title"><?php _e( 'Top Left', 'easy-google-fonts' ); ?></span>
24
+ <div class="egf-font-slider-display">
25
+ <span>{{ egfBorderRadiusTopLeft.amount }}{{ data.egf_defaults.border_radius_top_left.unit }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
26
+ </div>
27
+ <div class="egf-clear" ></div>
28
+
29
+ <!-- Slider -->
30
+ <div class="egf-slider" value="{{ egfBorderRadiusTopLeft.amount }}"></div>
31
+ <div class="egf-clear"></div>
32
+ </div>
views/customizer/control/positioning/border/bottom.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Bottom Border Control
4
+ *
5
+ * Outputs a color picker, jquery ui slider
6
+ * and a <select> menu to allow the user to
7
+ * control the border-bottom css property
8
+ * of an element.
9
+ *
10
+ * @package Easy_Google_Fonts
11
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
12
+ * @license GPL-2.0+
13
+ * @link http://wordpress.org/plugins/easy-google-fonts/
14
+ * @copyright Copyright (c) 2016, Titanium Themes
15
+ * @version 1.4.4
16
+ *
17
+ */
18
+ ?>
19
+ <#
20
+ // Get settings and defaults.
21
+ var egfBorderBottomStyle = typeof egfSettings.border_bottom_style !== "undefined" ? egfSettings.border_bottom_style : data.egf_defaults.border_bottom_style;
22
+ var egfBorderBottomWidth = typeof egfSettings.border_bottom_width !== "undefined" ? egfSettings.border_bottom_width : data.egf_defaults.border_bottom_width;
23
+ var egfBorderBottomColor = typeof egfSettings.border_bottom_color !== "undefined" ? egfSettings.border_bottom_color : data.egf_defaults.border_bottom_color;
24
+ #>
25
+ <div class="egf-border-bottom-controls">
26
+
27
+ <!-- Border Style -->
28
+ <span class="customize-control-title"><?php _e( 'Bottom Style', 'easy-google-fonts' ); ?></span>
29
+ <select class="egf-border-style" autocomplete="off">
30
+ <option value="{{ data.egf_defaults.border_bottom_style }}">{{ egfTranslation.themeDefault }}</option>
31
+ <# _.each( data.egf_border_styles, function( value, key ) {
32
+ // Check if selected.
33
+ var selected = ( egfBorderBottomStyle === key ) ? 'selected="selected"' : "";
34
+ #>
35
+ <option value="{{ key }}" {{ selected }}>{{ value }}</option>
36
+ <# }); #>
37
+ </select>
38
+
39
+ <!-- Border Width -->
40
+ <div class="egf-font-slider-control egf-border-bottom-width-slider">
41
+ <span class="egf-slider-title"><?php _e( 'Bottom Width', 'easy-google-fonts' ); ?></span>
42
+ <div class="egf-font-slider-display">
43
+ <span>{{ egfBorderBottomWidth.amount }}{{ egfBorderBottomWidth.unit }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
44
+ </div>
45
+ <div class="egf-clear" ></div>
46
+
47
+ <!-- Slider -->
48
+ <div class="egf-slider" value="{{ egfBorderBottomWidth.amount }}"></div>
49
+ <div class="egf-clear"></div>
50
+ </div>
51
+
52
+ <!-- Border Color -->
53
+ <span class="customize-control-title"><?php _e( 'Bottom Color', 'easy-google-fonts' ); ?></span>
54
+ <div class="customize-control-content egf-border-bottom-color-container">
55
+ <input autocomplete="off" class="egf-color-picker-hex" data-default-color="{{ data.egf_defaults.border_bottom_color }}" value="{{ egfBorderBottomColor }}" type="text" maxlength="7" placeholder="<?php esc_attr_e( 'Hex Value', 'easy-google-fonts' ); ?>"/>
56
+ </div>
57
+ </div>
views/customizer/control/positioning/border/end.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Closing Border Control Markup
4
+ *
5
+ * Outputs the closing html markup for the
6
+ * border controls.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+ </div><!-- END .toggle-section-content -->
18
+ </div><!-- END .toggle-section-content -->
views/customizer/control/positioning/border/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
views/customizer/control/positioning/border/left.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Left Border Control
4
+ *
5
+ * Outputs a color picker, jquery ui slider
6
+ * and a <select> menu to allow the user to
7
+ * control the border-left css property
8
+ * of an element.
9
+ *
10
+ * @package Easy_Google_Fonts
11
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
12
+ * @license GPL-2.0+
13
+ * @link http://wordpress.org/plugins/easy-google-fonts/
14
+ * @copyright Copyright (c) 2016, Titanium Themes
15
+ * @version 1.4.4
16
+ *
17
+ */
18
+ ?>
19
+ <#
20
+ // Get settings and defaults.
21
+ var egfBorderLeftStyle = typeof egfSettings.border_left_style !== "undefined" ? egfSettings.border_left_style : data.egf_defaults.border_left_style;
22
+ var egfBorderLeftWidth = typeof egfSettings.border_left_width !== "undefined" ? egfSettings.border_left_width : data.egf_defaults.border_left_width;
23
+ var egfBorderLeftColor = typeof egfSettings.border_left_color !== "undefined" ? egfSettings.border_left_color : data.egf_defaults.border_left_color;
24
+ #>
25
+ <div class="egf-border-left-controls">
26
+
27
+ <!-- Border Style -->
28
+ <span class="customize-control-title"><?php _e( 'Left Style', 'easy-google-fonts' ); ?></span>
29
+ <select class="egf-border-style" autocomplete="off">
30
+ <option value="{{ data.egf_defaults.border_left_style }}">{{ egfTranslation.themeDefault }}</option>
31
+ <# _.each( data.egf_border_styles, function( value, key ) {
32
+ // Check if selected.
33
+ var selected = ( egfBorderLeftStyle === key ) ? 'selected="selected"' : "";
34
+ #>
35
+ <option value="{{ key }}" {{ selected }}>{{ value }}</option>
36
+ <# }); #>
37
+ </select>
38
+
39
+ <!-- Border Width -->
40
+ <div class="egf-font-slider-control egf-border-left-width-slider">
41
+ <span class="egf-slider-title"><?php _e( 'Left Width', 'easy-google-fonts' ); ?></span>
42
+ <div class="egf-font-slider-display">
43
+ <span>{{ egfBorderLeftWidth.amount }}{{ egfBorderLeftWidth.unit }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
44
+ </div>
45
+ <div class="egf-clear" ></div>
46
+
47
+ <!-- Slider -->
48
+ <div class="egf-slider" value="{{ egfBorderLeftWidth.amount }}"></div>
49
+ <div class="egf-clear"></div>
50
+ </div>
51
+
52
+ <!-- Border Color -->
53
+ <span class="customize-control-title"><?php _e( 'Left Color', 'easy-google-fonts' ); ?></span>
54
+ <div class="customize-control-content egf-border-left-color-container">
55
+ <input autocomplete="off" class="egf-color-picker-hex" data-default-color="{{ data.egf_defaults.border_left_color }}" value="{{ egfBorderLeftColor }}" type="text" maxlength="7" placeholder="<?php esc_attr_e( 'Hex Value', 'easy-google-fonts' ); ?>"/>
56
+ </div>
57
+ </div>
views/customizer/control/positioning/border/right.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Right Border Control
4
+ *
5
+ * Outputs a color picker, jquery ui slider
6
+ * and a <select> menu to allow the user to
7
+ * control the border-right css property
8
+ * of an element.
9
+ *
10
+ * @package Easy_Google_Fonts
11
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
12
+ * @license GPL-2.0+
13
+ * @link http://wordpress.org/plugins/easy-google-fonts/
14
+ * @copyright Copyright (c) 2016, Titanium Themes
15
+ * @version 1.4.4
16
+ *
17
+ */
18
+ ?>
19
+ <#
20
+ // Get settings and defaults.
21
+ var egfBorderRightStyle = typeof egfSettings.border_right_style !== "undefined" ? egfSettings.border_right_style : data.egf_defaults.border_right_style;
22
+ var egfBorderRightWidth = typeof egfSettings.border_right_width !== "undefined" ? egfSettings.border_right_width : data.egf_defaults.border_right_width;
23
+ var egfBorderRightColor = typeof egfSettings.border_right_color !== "undefined" ? egfSettings.border_right_color : data.egf_defaults.border_right_color;
24
+ #>
25
+ <div class="egf-border-right-controls">
26
+
27
+ <!-- Border Style -->
28
+ <span class="customize-control-title"><?php _e( 'Right Style', 'easy-google-fonts' ); ?></span>
29
+ <select class="egf-border-style" autocomplete="off">
30
+ <option value="{{ data.egf_defaults.border_right_style }}">{{ egfTranslation.themeDefault }}</option>
31
+ <# _.each( data.egf_border_styles, function( value, key ) {
32
+ // Check if selected.
33
+ var selected = ( egfBorderRightStyle === key ) ? 'selected="selected"' : "";
34
+ #>
35
+ <option value="{{ key }}" {{ selected }}>{{ value }}</option>
36
+ <# }); #>
37
+ </select>
38
+
39
+ <!-- Border Width -->
40
+ <div class="egf-font-slider-control egf-border-right-width-slider">
41
+ <span class="egf-slider-title"><?php _e( 'Right Width', 'easy-google-fonts' ); ?></span>
42
+ <div class="egf-font-slider-display">
43
+ <span>{{ egfBorderRightWidth.amount }}{{ egfBorderRightWidth.unit }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
44
+ </div>
45
+ <div class="egf-clear" ></div>
46
+
47
+ <!-- Slider -->
48
+ <div class="egf-slider" value="{{ egfBorderRightWidth.amount }}"></div>
49
+ <div class="egf-clear"></div>
50
+ </div>
51
+
52
+ <!-- Border Color -->
53
+ <span class="customize-control-title"><?php _e( 'Right Color', 'easy-google-fonts' ); ?></span>
54
+ <div class="customize-control-content egf-border-right-color-container">
55
+ <input autocomplete="off" class="egf-color-picker-hex" data-default-color="{{ data.egf_defaults.border_right_color }}" value="{{ egfBorderRightColor }}" type="text" maxlength="7" placeholder="<?php esc_attr_e( 'Hex Value', 'easy-google-fonts' ); ?>"/>
56
+ </div>
57
+ </div>
views/customizer/control/positioning/border/start.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Opening Border Control Markup
4
+ *
5
+ * Outputs the opening html markup for the
6
+ * border controls.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+ <div class="egf-font-toggle">
18
+ <div class="toggle-section-title">
19
+ <span class="customize-control-title inner-control-title"><?php _e( 'Border', 'easy-google-fonts' ); ?></span>
20
+ </div>
21
+ <div class="toggle-section-content">
22
+ <span class="customize-control-title"><?php _e( 'Select Border to Control', 'easy-google-fonts' ); ?></span>
23
+ <select class="egf-switch-border-control">
24
+ <option value="top"><?php _e( 'Top', 'easy-google-fonts' ); ?></option>
25
+ <option value="bottom"><?php _e( 'Bottom', 'easy-google-fonts' ); ?></option>
26
+ <option value="left"><?php _e( 'Left', 'easy-google-fonts' ); ?></option>
27
+ <option value="right"><?php _e( 'Right', 'easy-google-fonts' ); ?></option>
28
+ </select>
views/customizer/control/positioning/border/top.php ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Top Border Control
4
+ *
5
+ * Outputs a color picker, jquery ui slider
6
+ * and a <select> menu to allow the user to
7
+ * control the border-top css property
8
+ * of an element.
9
+ *
10
+ * @package Easy_Google_Fonts
11
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
12
+ * @license GPL-2.0+
13
+ * @link http://wordpress.org/plugins/easy-google-fonts/
14
+ * @copyright Copyright (c) 2016, Titanium Themes
15
+ * @version 1.4.4
16
+ *
17
+ */
18
+ ?>
19
+ <#
20
+ // Get settings and defaults.
21
+ var egfBorderTopStyle = typeof egfSettings.border_top_style !== "undefined" ? egfSettings.border_top_style : data.egf_defaults.border_top_style;
22
+ var egfBorderTopWidth = typeof egfSettings.border_top_width !== "undefined" ? egfSettings.border_top_width : data.egf_defaults.border_top_width;
23
+ var egfBorderTopColor = typeof egfSettings.border_top_color !== "undefined" ? egfSettings.border_top_color : data.egf_defaults.border_top_color;
24
+ #>
25
+ <div class="egf-border-top-controls selected">
26
+
27
+ <!-- Border Style -->
28
+ <span class="customize-control-title"><?php _e( 'Top Style', 'easy-google-fonts' ); ?></span>
29
+ <select class="egf-border-style" autocomplete="off">
30
+ <option value="{{ data.egf_defaults.border_top_style }}">{{ egfTranslation.themeDefault }}</option>
31
+ <# _.each( data.egf_border_styles, function( value, key ) {
32
+ // Check if selected.
33
+ var selected = ( egfBorderTopStyle === key ) ? 'selected="selected"' : "";
34
+ #>
35
+ <option value="{{ key }}" {{ selected }}>{{ value }}</option>
36
+ <# }); #>
37
+ </select>
38
+
39
+ <!-- Border Width -->
40
+ <div class="egf-font-slider-control egf-border-top-width-slider">
41
+ <span class="egf-slider-title"><?php _e( 'Top Width', 'easy-google-fonts' ); ?></span>
42
+ <div class="egf-font-slider-display">
43
+ <span>{{ egfBorderTopWidth.amount }}{{ egfBorderTopWidth.unit }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
44
+ </div>
45
+ <div class="egf-clear" ></div>
46
+
47
+ <!-- Slider -->
48
+ <div class="egf-slider" value="{{ egfBorderTopWidth.amount }}"></div>
49
+ <div class="egf-clear"></div>
50
+ </div>
51
+
52
+ <!-- Border Color -->
53
+ <span class="customize-control-title"><?php _e( 'Top Color', 'easy-google-fonts' ); ?></span>
54
+ <div class="customize-control-content egf-border-top-color-container">
55
+ <input autocomplete="off" class="egf-color-picker-hex" data-default-color="{{ data.egf_defaults.border_top_color }}" value="{{ egfBorderTopColor }}" type="text" maxlength="7" placeholder="<?php esc_attr_e( 'Hex Value', 'easy-google-fonts' ); ?>"/>
56
+ </div>
57
+ </div>
views/customizer/control/positioning/display.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Display Controls
4
+ *
5
+ * Outputs a select control in order to change the
6
+ * display properties of an element.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+ <#
18
+ // Get settings and defaults.
19
+ var egfDisplay = typeof egfSettings.display !== "undefined" ? egfSettings.display : data.egf_defaults.display;
20
+ #>
21
+ <div class="egf-font-toggle">
22
+ <div class="toggle-section-title">
23
+ <span class="customize-control-title inner-control-title"><?php _e( 'Display', 'easy-google-fonts' ); ?></span>
24
+ </div>
25
+ <div class="toggle-section-content">
26
+ <span class="customize-control-title"><?php _e( 'Display', 'easy-google-fonts' ); ?></span>
27
+ <select class="egf-font-display-element" autocomplete="off">
28
+ <option value="{{ data.egf_defaults.display }}">{{ egfTranslation.themeDefault }}</option>
29
+ <# _.each( data.egf_display, function( value, key ) {
30
+ var selected = ( egfDisplay === key ) ? 'selected="selected"' : "";
31
+ #>
32
+ <option value="{{ key }}" {{ selected }}>{{ value }}</option>
33
+ <# }); #>
34
+ </select>
35
+ </div>
36
+ </div>
views/customizer/control/positioning/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
views/customizer/control/positioning/margin/bottom.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Bottom Margin Control
4
+ *
5
+ * Outputs a jquery ui slider to allow the
6
+ * user to control the bottom margin of an
7
+ * element.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Get settings and defaults.
20
+ var egfMarginBottom = typeof egfSettings.margin_bottom !== "undefined" ? egfSettings.margin_bottom : data.egf_defaults.margin_bottom;
21
+ #>
22
+ <div class="egf-font-slider-control egf-margin-bottom-slider">
23
+ <span class="egf-slider-title"><?php _e( 'Bottom', 'easy-google-fonts' ); ?></span>
24
+ <div class="egf-font-slider-display">
25
+ <span>{{ egfMarginBottom.amount }}{{ egfMarginBottom.unit }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
26
+ </div>
27
+ <div class="egf-clear" ></div>
28
+
29
+ <!-- Slider -->
30
+ <div class="egf-slider" value="{{ egfMarginBottom.amount }}"></div>
31
+ <div class="egf-clear"></div>
32
+ </div>
views/customizer/control/positioning/margin/end.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Closing Margin Control Markup
4
+ *
5
+ * Outputs the closing html markup for the
6
+ * margin controls.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+ </div>
18
+ </div>
views/customizer/control/positioning/margin/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
views/customizer/control/positioning/margin/left.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Left Margin Control
4
+ *
5
+ * Outputs a jquery ui slider to allow the
6
+ * user to control the left margin of an
7
+ * element.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Get settings and defaults.
20
+ var egfMarginLeft = typeof egfSettings.margin_left !== "undefined" ? egfSettings.margin_left : data.egf_defaults.margin_left;
21
+ #>
22
+ <div class="egf-font-slider-control egf-margin-left-slider">
23
+ <span class="egf-slider-title"><?php _e( 'Left', 'easy-google-fonts' ); ?></span>
24
+ <div class="egf-font-slider-display">
25
+ <span>{{ egfMarginLeft.amount }}{{ egfMarginLeft.unit }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
26
+ </div>
27
+ <div class="egf-clear" ></div>
28
+
29
+ <!-- Slider -->
30
+ <div class="egf-slider" value="{{ egfMarginLeft.amount }}"></div>
31
+ <div class="egf-clear"></div>
32
+ </div>
views/customizer/control/positioning/margin/right.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Right Margin Control
4
+ *
5
+ * Outputs a jquery ui slider to allow the
6
+ * user to control the right margin of an
7
+ * element.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Get settings and defaults.
20
+ var egfMarginRight = typeof egfSettings.margin_right !== "undefined" ? egfSettings.margin_right : data.egf_defaults.margin_right;
21
+ #>
22
+ <div class="egf-font-slider-control egf-margin-right-slider">
23
+ <span class="egf-slider-title"><?php _e( 'Right', 'easy-google-fonts' ); ?></span>
24
+ <div class="egf-font-slider-display">
25
+ <span>{{ egfMarginRight.amount }}{{ egfMarginRight.unit }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
26
+ </div>
27
+ <div class="egf-clear" ></div>
28
+
29
+ <!-- Slider -->
30
+ <div class="egf-slider" value="{{ egfMarginRight.amount }}"></div>
31
+ <div class="egf-clear"></div>
32
+ </div>
views/customizer/control/positioning/margin/start.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Opening Margin Control Markup
4
+ *
5
+ * Outputs the opening html markup for the
6
+ * margin controls.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+ <div class="egf-font-toggle">
18
+ <div class="toggle-section-title">
19
+ <span class="customize-control-title inner-control-title"><?php _e( 'Margin', 'easy-google-fonts' ); ?></span>
20
+ </div>
21
+ <div class="toggle-section-content">
views/customizer/control/positioning/margin/top.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Top Margin Control
4
+ *
5
+ * Outputs a jquery ui slider to allow the
6
+ * user to control the top margin of an
7
+ * element.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Get settings and defaults.
20
+ var egfMarginTop = typeof egfSettings.margin_top !== "undefined" ? egfSettings.margin_top : data.egf_defaults.margin_top;
21
+ #>
22
+ <div class="egf-font-slider-control egf-margin-top-slider">
23
+ <span class="egf-slider-title"><?php _e( 'Top', 'easy-google-fonts' ); ?></span>
24
+ <div class="egf-font-slider-display">
25
+ <span>{{ egfMarginTop.amount }}{{ egfMarginTop.unit }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
26
+ </div>
27
+ <div class="egf-clear" ></div>
28
+
29
+ <!-- Slider -->
30
+ <div class="egf-slider" value="{{ egfMarginTop.amount }}"></div>
31
+ <div class="egf-clear"></div>
32
+ </div>
views/customizer/control/positioning/padding/bottom.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Bottom Padding Control
4
+ *
5
+ * Outputs a jquery ui slider to allow the
6
+ * user to control the bottom padding of an
7
+ * element.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Get settings and defaults.
20
+ var egfPaddingBottom = typeof egfSettings.padding_bottom !== "undefined" ? egfSettings.padding_bottom : data.egf_defaults.padding_bottom;
21
+ #>
22
+ <div class="egf-font-slider-control egf-padding-bottom-slider">
23
+ <span class="egf-slider-title"><?php _e( 'Bottom', 'easy-google-fonts' ); ?></span>
24
+ <div class="egf-font-slider-display">
25
+ <span>{{ egfPaddingBottom.amount }}{{ egfPaddingBottom.unit }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
26
+ </div>
27
+ <div class="egf-clear" ></div>
28
+
29
+ <!-- Slider -->
30
+ <div class="egf-slider" value="{{ egfPaddingBottom.amount }}"></div>
31
+ <div class="egf-clear"></div>
32
+ </div>
views/customizer/control/positioning/padding/end.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Closing Padding Control Markup
4
+ *
5
+ * Outputs the closing html markup for the
6
+ * padding controls.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+ </div>
18
+ </div>
views/customizer/control/positioning/padding/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
views/customizer/control/positioning/padding/left.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Left Padding Control
4
+ *
5
+ * Outputs a jquery ui slider to allow the
6
+ * user to control the left padding of an
7
+ * element.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Get settings and defaults.
20
+ var egfPaddingLeft = typeof egfSettings.padding_left !== "undefined" ? egfSettings.padding_left : data.egf_defaults.padding_left;
21
+ #>
22
+ <div class="egf-font-slider-control egf-padding-left-slider">
23
+ <span class="egf-slider-title"><?php _e( 'Left', 'easy-google-fonts' ); ?></span>
24
+ <div class="egf-font-slider-display">
25
+ <span>{{ egfPaddingLeft.amount }}{{ egfPaddingLeft.unit }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
26
+ </div>
27
+ <div class="egf-clear" ></div>
28
+
29
+ <!-- Slider -->
30
+ <div class="egf-slider" value="{{ egfPaddingLeft.amount }}"></div>
31
+ <div class="egf-clear"></div>
32
+ </div>
views/customizer/control/positioning/padding/right.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Right Padding Control
4
+ *
5
+ * Outputs a jquery ui slider to allow the
6
+ * user to control the right padding of an
7
+ * element.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Get settings and defaults.
20
+ var egfPaddingRight = typeof egfSettings.padding_right !== "undefined" ? egfSettings.padding_right : data.egf_defaults.padding_right;
21
+ #>
22
+ <div class="egf-font-slider-control egf-padding-right-slider">
23
+ <span class="egf-slider-title"><?php _e( 'Right', 'easy-google-fonts' ); ?></span>
24
+ <div class="egf-font-slider-display">
25
+ <span>{{ egfPaddingRight.amount }}{{ egfPaddingRight.unit }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
26
+ </div>
27
+ <div class="egf-clear" ></div>
28
+
29
+ <!-- Slider -->
30
+ <div class="egf-slider" value="{{ egfPaddingRight.amount }}"></div>
31
+ <div class="egf-clear"></div>
32
+ </div>
views/customizer/control/positioning/padding/start.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Opening Padding Control Markup
4
+ *
5
+ * Outputs the opening html markup for the
6
+ * padding controls.
7
+ *
8
+ * @package Easy_Google_Fonts
9
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
10
+ * @license GPL-2.0+
11
+ * @link http://wordpress.org/plugins/easy-google-fonts/
12
+ * @copyright Copyright (c) 2016, Titanium Themes
13
+ * @version 1.4.4
14
+ *
15
+ */
16
+ ?>
17
+ <div class="egf-font-toggle">
18
+ <div class="toggle-section-title">
19
+ <span class="customize-control-title inner-control-title"><?php _e( 'Padding', 'easy-google-fonts' ); ?></span>
20
+ </div>
21
+ <div class="toggle-section-content">
views/customizer/control/positioning/padding/top.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Top Margin Control
4
+ *
5
+ * Outputs a jquery ui slider to allow the
6
+ * user to control the top margin of an
7
+ * element.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Get settings and defaults.
20
+ var egfPaddingTop = typeof egfSettings.padding_top !== "undefined" ? egfSettings.padding_top : data.egf_defaults.padding_top;
21
+ #>
22
+ <div class="egf-font-slider-control egf-padding-top-slider">
23
+ <span class="egf-slider-title"><?php _e( 'Top', 'easy-google-fonts' ); ?></span>
24
+ <div class="egf-font-slider-display">
25
+ <span>{{ egfPaddingTop.amount }}{{ egfPaddingTop.unit }}</span> | <a class="egf-font-slider-reset" href="#"><?php _e( 'Reset', 'easy-google-fonts' ); ?></a>
26
+ </div>
27
+ <div class="egf-clear" ></div>
28
+
29
+ <!-- Slider -->
30
+ <div class="egf-slider" value="{{ egfPaddingTop.amount }}"></div>
31
+ <div class="egf-clear"></div>
32
+ </div>
views/customizer/control/properties-end.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Property Container End
4
+ *
5
+ * Closing container markup that wraps the font
6
+ * control properties. See properties-start.php
7
+ * for the opening container markup.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ </div><!-- END .egf-font-properties -->
views/customizer/control/properties-start.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Property Container Start
4
+ *
5
+ * Start container markup that wraps the font
6
+ * control properties. See properties-end.php
7
+ * for the closing contianer markup.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <div id="{{ data.id }}" class="egf-font-properties">
views/customizer/control/styles/font-family.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Font Family Select Control
4
+ *
5
+ * Outputs a select control containing all of the available
6
+ * fonts. Added support for different subsets of fonts in
7
+ * this version.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Organize fonts with selected subset.
20
+ var egfFontSubset = typeof egfSettings.subset !== "undefined" ? egfSettings.subset : data.egf_defaults.subset;
21
+ var egfFontFamilyId = typeof egfSettings.font_id !== "undefined" ? egfSettings.font_id : data.egf_defaults.font_id;
22
+ var egfFontsBySubset = [
23
+ { label: egfTranslation.standardFontLabel, fonts: egfGetFontsBySubset( egfFontSubset, egfAllFontsBySubset["standard"] ) },
24
+ { label: egfTranslation.serifFontLabel, fonts: egfGetFontsBySubset( egfFontSubset, egfAllFontsBySubset["serif"] ) },
25
+ { label: egfTranslation.sansSerifFontLabel, fonts: egfGetFontsBySubset( egfFontSubset, egfAllFontsBySubset["sansSerif"] ) },
26
+ { label: egfTranslation.displayFontLabel, fonts: egfGetFontsBySubset( egfFontSubset, egfAllFontsBySubset["display"] ) },
27
+ { label: egfTranslation.handwritingFontLabel, fonts: egfGetFontsBySubset( egfFontSubset, egfAllFontsBySubset["handwriting"] ) },
28
+ { label: egfTranslation.monospaceFontLabel, fonts: egfGetFontsBySubset( egfFontSubset, egfAllFontsBySubset["monospace"] ) }
29
+ ];
30
+ #>
31
+ <span class="customize-control-title"><?php _e( 'Font Family', 'easy-google-fonts' ); ?></span>
32
+ <select class="egf-font-family" autocomplete="off">
33
+ <option value="{{ data.egf_defaults.font_id }}">{{ egfTranslation.themeDefault }}</option>
34
+ <# _.each( egfFontsBySubset, function( font ) { #>
35
+ <# if ( ! _.isEmpty( font.fonts ) ) { #>
36
+ <optgroup label="{{ font.label }}">
37
+ <# _.each( font.fonts, function( font, id ) {
38
+ var selected = ( egfFontFamilyId === id ) ? 'selected="selected"' : "";
39
+ #>
40
+ <option value="{{ id }}" data-font-type="{{ font.font_type }}" {{ selected }}>{{ font.name }}</option>
41
+ <# }); #>
42
+ </optgroup>
43
+ <# } #>
44
+ <# }); #>
45
+ </select>
views/customizer/control/styles/font-weight.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Font Weight/Style Select Control
4
+ *
5
+ * Outputs a select control containing all of the available
6
+ * fonts weights and variants. Added support for different
7
+ * subsets of fonts in this version.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @link http://wordpress.org/plugins/easy-google-fonts/
13
+ * @copyright Copyright (c) 2016, Titanium Themes
14
+ * @version 1.4.4
15
+ *
16
+ */
17
+ ?>
18
+ <#
19
+ // Get settings and defaults.
20
+ var egfFontId = typeof egfSettings.font_id !== "undefined" ? egfSettings.font_id : data.egf_defaults.font_id;
21
+ var egfFontWeightStyle = typeof egfSettings.font_weight_style !== "undefined" ? egfSettings.font_weight_style : data.egf_defaults.font_weight_style;
22
+ #>
23
+ <span class="customize-control-title"><?php _e( 'Font Weight/Style', 'easy-google-fonts' ); ?></span>
24
+ <select class="egf-font-weight" autocomplete="off">
25
+ <# if ( '' === egfFontId ) { #>
26
+ <option value="{{ data.egf_defaults.font_weight_style }}">{{ egfTranslation.themeDefault }}</option>
27
+ <# } else { #>
28
+ <# if ( "undefined" !== typeof( egfAllFonts[ egfFontId ] ) ) { #>
29
+ <# _.each( egfAllFonts[ egfFontId ].font_weights, function( weight ) {
30
+ var selected = ( egfFontWeightStyle === weight ) ? 'selected="selected"' : "";
31
+ #>
32
+ <option value="{{ weight }}" {{ selected }}>{{ weight }}</option>
33
+ <# }); #>
34
+ <# } else { #>
35
+ <option value="{{ data.egf_defaults.font_weight_style }}">{{ egfTranslation.themeDefault }}</option>
36
+ <# } #>
37
+ <# } #>
38
+ </select>
views/customizer/control/styles/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden.
views/customizer/control/styles/subsets.php ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Font Subset Select Control
4
+ *
5
+ * Outputs a select control which allows the user to
6
+ * narrow down a list of available fonts based on the
7
+ * subset.
8
+ *
9
+ * @package Easy_Google_Fonts
10
+ * @author Sunny Johal - Titanium Themes <support@titaniumthemes.com>
11
+ * @license GPL-2.0+
12
+ * @li