Customify – A Theme Customizer Booster - Version 2.7.0

Version Description

  • Overall performance improvements, especially on the client-side (JavaScript).
  • Overall logic cleanup with a focus on consistency both on the server-side and client-side.
  • Standardized data throughout the server-side and client-side.
  • More consistent behavior in the Customizer, but also when editing posts or in the frontend.
  • Fixed inconsistencies in block editor and classic editor integration.
  • Styling fixes for the Customizer controls.
  • Behavior fixes and improvements for Customizer controls, with a big focus on font controls.
  • Fixed custom background control.
  • Improved web font handling.
  • Updated the Google Fonts list.
  • Enhanced configuration capabilities for font field type CSS selectors (ability to specify allowed CSS properties per selector).
  • Removed 'typography' field type with automatic conversion to the new 'font' field type.
  • Minor fixes for the Style Manager behavior.
  • Tested with the latest WordPress version (v5.4).
  • Increased minimum required PHP version to 5.4.
Download this release

Release Info

Developer pixelgrade
Plugin Icon Customify – A Theme Customizer Booster
Version 2.7.0
Comparing to
See all releases

Code changes from version 2.6.0 to 2.7.0

Files changed (50) hide show
  1. css/customizer-rtl.css +1 -1
  2. css/customizer.css +1 -1
  3. customify.php +4 -4
  4. features/class-Font_Selector.php +0 -681
  5. features/customizer/class-Pix_Customize_Control.php +0 -3
  6. features/customizer/controls/class-Pix_Customize_Ace_Editor_Control.php +3 -4
  7. features/customizer/controls/class-Pix_Customize_Background_Control.php +68 -62
  8. features/customizer/controls/class-Pix_Customize_Button_Control.php +2 -5
  9. features/customizer/controls/class-Pix_Customize_CSS_Editor_Control.php +1 -2
  10. features/customizer/controls/class-Pix_Customize_Color_Control.php +0 -3
  11. features/customizer/controls/class-Pix_Customize_Font_Control.php +267 -610
  12. features/customizer/controls/class-Pix_Customize_HTML_Control.php +1 -4
  13. features/customizer/controls/class-Pix_Customize_Preset_Control.php +3 -13
  14. features/customizer/controls/class-Pix_Customize_Radio_HTML_Control.php +0 -2
  15. features/customizer/controls/class-Pix_Customize_Radio_Image_Control.php +0 -3
  16. features/customizer/controls/class-Pix_Customize_SM_palette_filter_control.php +12 -28
  17. features/customizer/controls/class-Pix_Customize_SM_radio_control.php +1 -3
  18. features/customizer/controls/class-Pix_Customize_SM_switch_control.php +0 -2
  19. features/customizer/controls/class-Pix_Customize_Select2_Control.php +1 -4
  20. features/customizer/controls/class-Pix_Customize_Text_Control.php +1 -9
  21. features/customizer/controls/class-Pix_Customize_Textarea_Control.php +1 -5
  22. features/customizer/controls/class-Pix_Customize_Typography_Control.php +0 -451
  23. features/customizer/controls/index.php +2 -0
  24. features/customizer/controls/resources/google.fonts.json +0 -1
  25. features/customizer/controls/resources/google.fonts.php +0 -8
  26. features/customizer/index.php +2 -0
  27. features/index.php +1 -2
  28. includes/admin-settings/core/callbacks/cache/invalidate_cache.php +5 -0
  29. includes/admin-settings/index.php +2 -0
  30. includes/admin-settings/views/form-partials/fields/multicheckbox.php +1 -1
  31. includes/admin-settings/views/form-partials/fields/reset_theme_mod.php +2 -35
  32. includes/{class-customify-gutenberg.php → class-customify-block-editor.php} +75 -58
  33. includes/class-customify-classic-editor.php +250 -0
  34. includes/class-customify-cloud-fonts.php +218 -0
  35. includes/class-customify-color-palettes.php +142 -35
  36. includes/class-customify-customizer.php +157 -570
  37. includes/class-customify-font-palettes.php +95 -123
  38. includes/class-customify-fonts-global.php +1719 -0
  39. includes/class-customify-settings.php +38 -14
  40. includes/class-customify-style-manager.php +44 -4
  41. includes/class-customify-theme-configs.php +1 -1
  42. includes/class-pixcustomify.php +49 -17
  43. includes/extras.php +2 -3
  44. includes/index.php +1 -2
  45. includes/integrations/index.php +2 -0
  46. includes/integrations/pixelgrade-care.php +1 -1
  47. includes/lib/class-customify-array.php +0 -1
  48. includes/lib/class-customify-design-assets.php +4 -6
  49. includes/lib/index.php +1 -2
  50. includes/resources/google.fonts.php +3 -0
css/customizer-rtl.css CHANGED
@@ -1 +1 @@
1
- .wp-full-overlay-sidebar *,.wp-full-overlay-sidebar :after,.wp-full-overlay-sidebar :before{-webkit-box-sizing:border-box;box-sizing:border-box}.iris-picker,.iris-picker *{-webkit-box-sizing:content-box;box-sizing:content-box}#customize-save-button-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin-top:6px}.customize-controls-close{width:45px;height:45px;padding:0;border-top:0;color:#98c6dd;background:#fff;border-color:#dfe8ef}.customize-controls-close:focus,.customize-controls-close:hover{background:#f7fbff}.customize-controls-close:before{top:0}#customize-controls #customize-theme-controls .customize-info,#customize-controls #customize-theme-controls .customize-section-title{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}#customize-controls #customize-theme-controls .customize-info>.customize-control-notifications-container,#customize-controls #customize-theme-controls .customize-section-title>.customize-control-notifications-container{-ms-flex-preferred-size:100%;flex-basis:100%}#customize-controls #customize-theme-controls .customize-info>.accordion-section-title,#customize-controls #customize-theme-controls .customize-section-title>h3{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin-right:0;color:#2a3b44}#customize-controls #customize-theme-controls .customize-panel-back,#customize-controls #customize-theme-controls .customize-section-back{position:relative;width:45px;height:auto;padding:0;color:#98c6dd;border-color:#dfe8ef;border-right:0}#customize-controls #customize-theme-controls .customize-panel-back:focus,#customize-controls #customize-theme-controls .customize-panel-back:hover,#customize-controls #customize-theme-controls .customize-section-back:focus,#customize-controls #customize-theme-controls .customize-section-back:hover{background:#f7fbff}#customize-controls #customize-theme-controls .customize-panel-back:before,#customize-controls #customize-theme-controls .customize-section-back:before{position:absolute;top:50%;right:50%;-webkit-transform:translate(40%,-50%);transform:translate(40%,-50%);line-height:1}.customize-controls-preview-toggle{background-color:#fff;border-color:#dfe8ef}.in-sub-panel .wp-full-overlay-sidebar .wp-full-overlay-header{padding-right:45px}.wp-full-overlay-sidebar .wp-full-overlay-header{height:46px}.wp-full-overlay-footer .devices button{float:right;border-radius:0}#customize-controls .customize-section-title h3,#customize-controls h3.customize-section-title{padding:10px 20px 11px 20px;color:#416b7e;background:#fff}#customize-controls .accordion-section-title{font-size:14px;line-height:21px;padding:10px 20px 11px 40px;color:#416b7e;background:#fff}#customize-controls .accordion-section-title:before{line-height:inherit}#customize-controls h3.accordion-section-title{font-weight:400}#customize-theme-controls .accordion-section>.accordion-section-title{border:0 solid #dfe8ef}#customize-theme-controls .accordion-section:last-of-type>.accordion-section-title{border-bottom:1px solid #dfe8ef}#customize-theme-controls .accordion-section:not(.panel-meta)>.accordion-section-title{border-top:1px solid #dfe8ef}#customize-theme-controls .accordion-section:not(.panel-meta):hover>.accordion-section-title,#customize-theme-controls .accordion-section:not(.panel-meta)>.accordion-section-title:focus{background:#f7fbff}#customize-controls .customize-section-title>.customize-control-notifications-container,#customize-controls .panel-meta>.customize-control-notifications-container{border-color:#dfe8ef}#customize-controls #customize-theme-controls .accordion-section[id*=accordion-section-pro__section]>.accordion-section-title,#customize-controls #customize-theme-controls .accordion-section[id*=theme_options_panel]>.accordion-section-title{border-bottom-width:1px;margin-bottom:10px}#customize-controls #accordion-panel-style_manager_panel .accordion-section-title,#customize-controls #accordion-panel-theme_options_panel .accordion-section-title,#customize-controls #accordion-section-title_tagline .accordion-section-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}#customize-controls #accordion-panel-style_manager_panel .accordion-section-title:before,#customize-controls #accordion-panel-theme_options_panel .accordion-section-title:before,#customize-controls #accordion-section-title_tagline .accordion-section-title:before{font-family:dashicons;font-size:17px;-webkit-font-smoothing:antialiased}#customize-controls #accordion-panel-style_manager_panel .accordion-section-title:before,#customize-controls #accordion-panel-theme_options_panel .accordion-section-title:before,#customize-controls #accordion-section-title_tagline .accordion-section-title:before{color:#b8daeb;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}#customize-controls #accordion-section-title_tagline>.accordion-section-title:before{content:"\f110";color:#85c4ea}#customize-controls #accordion-section-title_tagline>.accordion-section-title img{display:none!important}#customize-controls #accordion-panel-style_manager_panel>.accordion-section-title:before{content:"\f155";font-size:18px;color:#f8bc30}#customize-controls #accordion-panel-theme_options_panel>.accordion-section-title:before{content:"\f538"}.customize-control{margin-bottom:0}.customize-control+.customize-control{margin-top:20px}.control-section:not(.control-section-themes) .customize-control{width:100%;min-height:0;padding:0}.customize-control input[type=color],.customize-control input[type=date],.customize-control input[type=datetime-local],.customize-control input[type=datetime],.customize-control input[type=email],.customize-control input[type=month],.customize-control input[type=number],.customize-control input[type=password],.customize-control input[type=search],.customize-control input[type=tel],.customize-control input[type=text]:not(#_customize-input-wpcom_custom_css_content_width_control):not(.wp-color-picker),.customize-control input[type=time],.customize-control input[type=url],.customize-control input[type=week]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;height:44px}.customize-control input[type=color]:focus,.customize-control input[type=date]:focus,.customize-control input[type=datetime-local]:focus,.customize-control input[type=datetime]:focus,.customize-control input[type=email]:focus,.customize-control input[type=month]:focus,.customize-control input[type=number]:focus,.customize-control input[type=password]:focus,.customize-control input[type=search]:focus,.customize-control input[type=tel]:focus,.customize-control input[type=text]:not(#_customize-input-wpcom_custom_css_content_width_control):not(.wp-color-picker):focus,.customize-control input[type=time]:focus,.customize-control input[type=url]:focus,.customize-control input[type=week]:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.customize-control textarea{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0}.customize-control textarea:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.customize-control select{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;-moz-appearance:none;-webkit-appearance:none}.customize-control select:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.customize-control select:not([multiple]){padding-left:44px;height:44px;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iIzk4QzZERSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);background-repeat:no-repeat;background-position:left 16px top 16px}.customize-control select::-ms-expand{display:none}.customize-control input[type=range]{position:relative;height:22px;overflow:hidden;outline:0;background:100% 0;-webkit-appearance:none;-moz-appearange:none}.customize-control input[type=range]::-webkit-slider-runnable-track{width:100%;height:6px;background:#b8daeb;border-radius:999em}.customize-control input[type=range]::-moz-range-track{width:100%;height:6px;background:#b8daeb;border-radius:999em}.customize-control input[type=range]::-webkit-slider-thumb{position:relative;z-index:3;-webkit-box-sizing:border-box;box-sizing:border-box;width:22px;height:22px;margin-top:-8px;border:2px solid #dfe8ef;border-radius:4px;background:#fff;cursor:move;cursor:-webkit-grab;cursor:grab;-webkit-appearance:none}.customize-control input[type=range]::-moz-range-thumb{position:relative;z-index:3;box-sizing:border-box;width:22px;height:22px;margin-top:-8px;border:2px solid #dfe8ef;border-radius:4px;background:#fff;cursor:move;cursor:grab;-moz-appearance:none}.customize-control input[type=range]:active::-webkit-slider-thumb{cursor:-webkit-grabbing;cursor:grabbing}.customize-control input[type=range]:active::-moz-range-thumb{cursor:grabbing}.customize-control-checkbox .customize-inside-control-row,.customize-control-radio .customize-inside-control-row{margin-right:0}.customize-control-checkbox input[type=checkbox],.customize-control-radio input[type=radio]{display:none}.customize-control-checkbox input[type=checkbox]+label,.customize-control-radio input[type=radio]+label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.customize-control-checkbox input[type=checkbox]+label:before,.customize-control-radio input[type=radio]+label:before{content:"";display:block;width:22px;height:22px;-webkit-box-flex:0;-ms-flex:0 0 22px;flex:0 0 22px;margin-left:10px;border:2px solid #dfe8ef;background:#fff center no-repeat}.customize-control-checkbox input[type=checkbox]:focus+label:before,.customize-control-radio input[type=radio]:focus+label:before{border-color:#48a9d7}.customize-control-checkbox input[type=checkbox]:checked+label:before,.customize-control-radio input[type=radio]:checked+label:before{border-color:#48a9d7;background-color:#48a9d7;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTJweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxMiA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImNoZWNrIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjUgOSAxMiAyIDEwIDAgNSA1IDIgMiAtMS43NTkzMjk4M2UtMTUgNCI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=)}.customize-control-checkbox:not(#customize-control-jetpack_css_mode_control)>.customize-inside-control-row :first-child:nth-last-child(n+5),.customize-control-checkbox:not(#customize-control-jetpack_css_mode_control)>:first-child:nth-last-child(n+5)~.customize-inside-control-row,.customize-control-radio>.customize-inside-control-row :first-child:nth-last-child(n+5),.customize-control-radio>:first-child:nth-last-child(n+5)~.customize-inside-control-row{width:calc(50% - 10px);float:right}.customize-control-checkbox:not(#customize-control-jetpack_css_mode_control)>.customize-inside-control-row :first-child:nth-last-child(n+5):after,.customize-control-checkbox:not(#customize-control-jetpack_css_mode_control)>:first-child:nth-last-child(n+5)~.customize-inside-control-row:after,.customize-control-radio>.customize-inside-control-row :first-child:nth-last-child(n+5):after,.customize-control-radio>:first-child:nth-last-child(n+5)~.customize-inside-control-row:after{content:" ";display:table;clear:both}.customize-control-checkbox input[type=checkbox]+label:before{border-radius:4px}.customize-control-radio input[type=radio]+label:before{border-radius:50%}.customize-control-radio#customize-control-changeset_status .customize-inside-control-row{margin-top:0;text-indent:0}#customize-theme-controls .customize-control-title{margin-bottom:10px}#customize-theme-controls li.customize-control-title{margin-bottom:0}#customize-theme-controls li.customize-control-title+.customize-control-checkbox,#customize-theme-controls li.customize-control-title+.customize-control-radio{margin-top:0}#customize-theme-controls .customize-control-description{margin-bottom:10px;font-style:normal;opacity:.75;clear:both}#customize-theme-controls .customize-control-textarea .customize-control-description{margin-top:initial}#customize-theme-controls .control-section.open{border-bottom:0;min-height:100%}[data-balloon]{position:relative}[data-balloon]::before{opacity:0;pointer-events:none;-webkit-transition:all .18s ease-out;transition:all .18s ease-out;background:rgba(17,17,17,.9);border-radius:4px;color:#fff;content:attr(data-balloon);font-size:12px;padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[data-balloon]::after{background:no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="36px" height="12px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(0)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');background-size:100% auto;width:18px;height:6px;opacity:0;pointer-events:none;-webkit-transition:all .18s ease-out;transition:all .18s ease-out;content:'';position:absolute;z-index:10}[data-balloon]:hover::after,[data-balloon]:hover::before{opacity:1;pointer-events:auto}[data-balloon][data-balloon-pos=up]::before{bottom:100%;right:50%;margin-bottom:11px;-webkit-transform:translate3d(50%,10px,0);transform:translate3d(50%,10px,0);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up]::after{bottom:100%;right:50%;margin-bottom:5px;-webkit-transform:translate3d(50%,10px,0);transform:translate3d(50%,10px,0);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up]:hover::before{-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}[data-balloon][data-balloon-pos=up]:hover::after{-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}[data-balloon][data-balloon-pos=down]::before{right:50%;margin-top:11px;top:100%;-webkit-transform:translate3d(50%,-10px,0);transform:translate3d(50%,-10px,0)}[data-balloon][data-balloon-pos=down]::after{background:no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="36px" height="12px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(180 18 6)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');background-size:100% auto;width:18px;height:6px;right:50%;margin-top:5px;top:100%;-webkit-transform:translate3d(50%,-10px,0);transform:translate3d(50%,-10px,0)}[data-balloon][data-balloon-pos=down]:hover::before{-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}[data-balloon][data-balloon-pos=down]:hover::after{-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}[data-balloon][data-balloon-pos=left]::before{margin-left:11px;left:100%;top:50%;-webkit-transform:translate3d(-10px,-50%,0);transform:translate3d(-10px,-50%,0)}[data-balloon][data-balloon-pos=left]::after{background:no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12px" height="36px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(-90 18 18)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');background-size:100% auto;width:6px;height:18px;margin-left:5px;left:100%;top:50%;-webkit-transform:translate3d(-10px,-50%,0);transform:translate3d(-10px,-50%,0)}[data-balloon][data-balloon-pos=left]:hover::before{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}[data-balloon][data-balloon-pos=left]:hover::after{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}[data-balloon][data-balloon-pos=right]::before{right:100%;margin-right:11px;top:50%;-webkit-transform:translate3d(10px,-50%,0);transform:translate3d(10px,-50%,0)}[data-balloon][data-balloon-pos=right]::after{background:no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12px" height="36px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(90 6 6)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');background-size:100% auto;width:6px;height:18px;right:100%;margin-right:5px;top:50%;-webkit-transform:translate3d(10px,-50%,0);transform:translate3d(10px,-50%,0)}[data-balloon][data-balloon-pos=right]:hover::before{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}[data-balloon][data-balloon-pos=right]:hover::after{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}[data-balloon][data-balloon-length=small]::before{white-space:normal;width:80px}[data-balloon][data-balloon-length=medium]::before{white-space:normal;width:150px}[data-balloon][data-balloon-length=large]::before{white-space:normal;width:260px}[data-balloon][data-balloon-length=xlarge]::before{white-space:normal;width:380px}@media screen and (max-width:768px){[data-balloon][data-balloon-length=xlarge]::before{white-space:normal;width:90vw}}[data-balloon][data-balloon-length=fit]::before{white-space:normal;width:100%}body.modal-open{overflow:hidden}body.modal-open #style-manager-user-feedback-modal .modal{overflow-x:hidden;overflow-y:auto;visibility:visible;opacity:1;-webkit-transform:translate(0,0);transform:translate(0,0)}#style-manager-user-feedback-modal{height:100%}#style-manager-user-feedback-modal .modal{position:relative;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;top:0;left:0;bottom:0;right:0;z-index:1050;opacity:0;visibility:hidden;overflow:hidden;outline:0;-webkit-transition:all .3s ease;transition:all .3s ease;-webkit-transform:translate(0,-10%);transform:translate(0,-10%);font-family:'Galano Grotesque Alt',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:400;font-size:16px;line-height:1.7}#style-manager-user-feedback-modal .modal-dialog{position:relative;width:auto;margin:10px;text-align:right}#style-manager-user-feedback-modal .modal-content{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background-color:#fff;background-clip:padding-box;border:none;border-radius:4px;-webkit-box-shadow:0 4px 4px 0 rgba(42,54,52,.1),0 8px 8px 0 rgba(42,54,52,.1),0 16px 16px 0 rgba(42,54,52,.1),0 16px 32px 0 rgba(42,54,52,.1),0 32px 64px 0 rgba(42,54,52,.1),0 64px 128px 0 rgba(42,54,52,.1);box-shadow:0 4px 4px 0 rgba(42,54,52,.1),0 8px 8px 0 rgba(42,54,52,.1),0 16px 16px 0 rgba(42,54,52,.1),0 16px 32px 0 rgba(42,54,52,.1),0 32px 64px 0 rgba(42,54,52,.1),0 64px 128px 0 rgba(42,54,52,.1);outline:0}#style-manager-user-feedback-modal .modal-content p{color:#000}#style-manager-user-feedback-modal .modal-content p a{font-weight:500;color:#9660c6;border-bottom:1px solid #9660c6}#style-manager-user-feedback-modal .modal-content>form{margin-bottom:20px}#style-manager-user-feedback-modal .modal-backdrop{position:fixed;top:0;left:0;bottom:0;right:0;z-index:1040;background-color:#000;opacity:0;visibility:hidden;-webkit-transition:all .3s ease;transition:all .3s ease}.modal-open #style-manager-user-feedback-modal .modal-backdrop{opacity:.8;visibility:visible}#style-manager-user-feedback-modal .modal-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:30px 48px 10px 48px}#style-manager-user-feedback-modal .modal-header .close.button{top:-10px}#style-manager-user-feedback-modal .modal-header .close.icon{opacity:.5}#style-manager-user-feedback-modal .modal-header .close:hover{opacity:1}#style-manager-user-feedback-modal .modal-title{margin-bottom:10px;line-height:1.5}#style-manager-user-feedback-modal .modal-title.modal-title--small{font-weight:500}#style-manager-user-feedback-modal .modal-body{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:30px 30px 0 30px}#style-manager-user-feedback-modal .modal-body.full{padding:0}#style-manager-user-feedback-modal .modal-body.full .box{padding-top:0;padding-bottom:0;margin-top:0}#style-manager-user-feedback-modal .modal-body.full+.modal-footer.full .box{padding-top:18px}#style-manager-user-feedback-modal .modal-footer{padding:30px;text-align:center}#style-manager-user-feedback-modal .modal-footer .box .button:last-child{margin-bottom:0}#style-manager-user-feedback-modal .modal-footer.full{padding:0}#style-manager-user-feedback-modal .modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}#style-manager-user-feedback-modal .modal-state{display:none}#style-manager-user-feedback-modal .modal-state:checked+.modal{opacity:1;visibility:visible}#style-manager-user-feedback-modal .modal-state:checked+.modal .modal__inner{top:0}@media (min-width:576px){#style-manager-user-feedback-modal .modal-dialog{max-width:655px;margin:30px auto}#style-manager-user-feedback-modal .modal-sm{max-width:300px}}@media (min-width:576px){#style-manager-user-feedback-modal .modal-lg{max-width:800px}}#style-manager-user-feedback .modal-body .box{position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:20px 0;padding:16px 52px;border-radius:4px}#style-manager-user-feedback .modal-body .box>*{width:100%}#style-manager-user-feedback .modal-body p{font-size:16px;margin-bottom:20px}#style-manager-user-feedback .modal-body textarea{width:100%;margin:0;padding:11px 18px;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:none;box-shadow:none;font-family:'Galano Grotesque Alt',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:26px;color:#473850}#style-manager-user-feedback .modal-title{margin-top:0;margin-bottom:34px;font-family:'Galano Classic',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:600;font-size:28px;line-height:1.4;text-align:center}#style-manager-user-feedback .button{text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;position:relative;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(0,0,.58,1);transition-timing-function:cubic-bezier(0,0,.58,1);-webkit-transition-property:background,background-color,color,-webkit-transform,-webkit-box-shadow;transition-property:background,background-color,color,-webkit-transform,-webkit-box-shadow;transition-property:transform,background,background-color,color,box-shadow;transition-property:transform,background,background-color,color,box-shadow,-webkit-transform,-webkit-box-shadow;display:inline-block;padding:15px 50px;border-radius:2px;font-family:"Galano Classic",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:23px;font-weight:600;text-align:center;background-color:#9660c6;color:#fff;border-radius:4px;-webkit-box-shadow:none;box-shadow:none;height:auto;width:100%;margin-top:20px}#style-manager-user-feedback .button:hover{background-color:#9660c6;color:#fff;-webkit-transform:scale(1.05) translateY(-3px);transform:scale(1.05) translateY(-3px);-webkit-box-shadow:0 10px 20px -10px rgba(0,0,0,.7);box-shadow:0 10px 20px -10px rgba(0,0,0,.7)}#style-manager-user-feedback .second-step{margin-top:18px}#style-manager-user-feedback .error-step,#style-manager-user-feedback .thanks-step{text-align:center}#style-manager-user-feedback .error-step .modal-title,#style-manager-user-feedback .thanks-step .modal-title{margin-bottom:0}#style-manager-user-feedback .error-step p:last-child,#style-manager-user-feedback .thanks-step p:last-child{margin-bottom:10px}.scorecard{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly;color:#9660c6;font-family:"Galano Classic",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:18px;font-weight:600;text-align:center}.scorecard>label{font-size:20px}.scorecard>label span{display:block;width:46px;border:2px solid #9660c6;line-height:46px;border-radius:100%;background:#fff;-webkit-transition:all .25s ease;transition:all .25s ease}.scorecard>label input[type=radio]{display:none}.scorecard>label input[type=radio]:checked~span,.scorecard>label span:hover{background:#9660c6;color:#fff}.select2-container{-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:block;height:28px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-right:8px;padding-left:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-left:8px;padding-right:20px}.select2-container .select2-selection--multiple{-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-right:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:right}.select2-container .select2-search--inline .select2-search__field{-webkit-box-sizing:border-box;box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;position:absolute;right:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{right:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-right-radius:0;border-top-left-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;right:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:left;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;left:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;right:50%;margin-right:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:right}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{right:1px;left:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{-webkit-box-sizing:border-box;box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:left;font-weight:700;margin-top:5px;margin-left:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:right;margin-left:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-left:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:left}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-right:5px;margin-left:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-right:2px;margin-left:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid #000 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-right-radius:0;border-top-left-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-right-radius:0;border-bottom-left-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:100% 0;border:none;outline:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-right:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-right:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-right:-1em;padding-right:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-right:-2em;padding-right:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-right:-3em;padding-right:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-right:-4em;padding-right:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-right:-5em;padding-right:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #dfe8ef;border-radius:4px;outline:0;background-image:-webkit-gradient(linear,right top,right bottom,color-stop(50%,#fff),to(#eee));background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--single:focus{border:1px solid #48a9d7}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:left;font-weight:700;margin-left:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-right:1px solid #dfe8ef;border-top-left-radius:4px;border-bottom-left-radius:4px;height:26px;position:absolute;top:1px;left:1px;width:20px;background-image:-webkit-gradient(linear,right top,right bottom,color-stop(50%,#eee),to(#ccc));background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;right:50%;margin-right:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:right}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-left:1px solid #dfe8ef;border-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px;right:1px;left:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #48a9d7}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:100% 0;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-right-radius:0;border-top-left-radius:0;background-image:-webkit-gradient(linear,right top,right bottom,from(#fff),color-stop(50%,#eee));background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,right top,right bottom,color-stop(50%,#eee),to(#fff));background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #dfe8ef;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #48a9d7}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #dfe8ef;border-radius:4px;cursor:default;float:right;margin-left:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-left:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:left;margin-right:5px;margin-left:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-right:2px;margin-left:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #48a9d7}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-right-radius:0;border-top-left-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #dfe8ef;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;-webkit-box-shadow:none;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#48a9d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#48a9d7}.select2-container{color:#416b7e;z-index:999999}.select2-search .select2-search__field[class]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;height:44px}.select2-search .select2-search__field[class]:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.select2-results__option,.select2-search__field[class][class]{padding-right:14px;padding-left:14px}#customize-theme-controls .select2-container{width:100%!important}#customize-theme-controls .select2-selection--single{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;padding-left:44px;height:44px;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iIzk4QzZERSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);background-repeat:no-repeat;background-position:left 16px top 16px}#customize-theme-controls .select2-selection--single:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}#customize-theme-controls .select2-selection--multiple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0}#customize-theme-controls .select2-selection--multiple:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}#customize-theme-controls .select2-selection__rendered{color:inherit;padding-right:0;padding-left:0}#customize-theme-controls .select2-selection--single .select2-selection__rendered{padding-right:0;padding-left:0}#customize-theme-controls .select2-selection__choice{padding:3px 7px;margin-left:6px;margin-top:0}#customize-theme-controls .select2-search__field{min-width:100%;height:29px;margin-top:0;border-width:0}#customize-theme-controls .select2-container--open .select2-selection--single,#customize-theme-controls .select2-selection--single:hover{border-color:#48a9d7;background-color:#85c4ea;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);color:#fff}#customize-theme-controls .select2-container--open .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}#customize-theme-controls .select2-selection__arrow{display:none}.select2-results__group[class]{padding:8px 14px;border-width:1px 0;border-style:solid;border-color:#dfe8ef;background:#f7fbff}.select2-results__group[class]+.select2-results__options{margin-top:6px}.select2-results__option{margin-bottom:0}.select2-results__option+.select2-results__option{margin-top:6px}.select2-results__option[aria-selected=true]{color:inherit!important;background:100% 0!important;opacity:.3;pointer-events:none}@-webkit-keyframes shake{0%,100%,87.5%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}12.5%{-webkit-transform:translate3d(-1%,0,0);transform:translate3d(-1%,0,0)}25%{-webkit-transform:translate3d(2%,0,0);transform:translate3d(2%,0,0)}37.5%{-webkit-transform:translate3d(-3%,0,0);transform:translate3d(-3%,0,0)}50%{-webkit-transform:translate3d(3%,0,0);transform:translate3d(3%,0,0)}62.5%{-webkit-transform:translate3d(-2%,0,0);transform:translate3d(-2%,0,0)}75%{-webkit-transform:translate3d(1%,0,0);transform:translate3d(1%,0,0)}}@keyframes shake{0%,100%,87.5%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}12.5%{-webkit-transform:translate3d(-1%,0,0);transform:translate3d(-1%,0,0)}25%{-webkit-transform:translate3d(2%,0,0);transform:translate3d(2%,0,0)}37.5%{-webkit-transform:translate3d(-3%,0,0);transform:translate3d(-3%,0,0)}50%{-webkit-transform:translate3d(3%,0,0);transform:translate3d(3%,0,0)}62.5%{-webkit-transform:translate3d(-2%,0,0);transform:translate3d(-2%,0,0)}75%{-webkit-transform:translate3d(1%,0,0);transform:translate3d(1%,0,0)}}.input-error{border-color:#9e362f!important}.input-shake{-webkit-animation:shake .5s both;animation:shake .5s both}@media (print),(prefers-reduced-motion:reduce){.input-shake{-webkit-animation:none;animation:none}}@-webkit-keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.button-controls:after{content:" ";display:table;clear:both}.wp-core-ui .button-primary,.wp-core-ui .button-secondary,.wp-core-ui .button:not(.theme-details):not(.collapse-sidebar):not(.wp-color-result){width:auto;padding-right:15px;padding-left:15px;border:0;border-radius:4px;font-weight:400;text-shadow:none;color:#f7fbff;background:#aed2e5;-webkit-box-shadow:0 2px 0 0 #8dbed7;box-shadow:0 2px 0 0 #8dbed7}.wp-core-ui .button-primary:hover,.wp-core-ui .button-secondary:hover,.wp-core-ui .button:not(.theme-details):not(.collapse-sidebar):not(.wp-color-result):hover{color:#fff;text-shadow:none;background:#98c6dd;-webkit-box-shadow:0 2px 0 0 #74a7c2;box-shadow:0 2px 0 0 #74a7c2}.wp-core-ui #customize-header-actions .button-primary{background:#73c5ee;-webkit-box-shadow:0 2px 0 0 #57abd5;box-shadow:0 2px 0 0 #57abd5}.wp-core-ui #customize-header-actions .button-primary:hover{background:#58b0dd;-webkit-box-shadow:0 2px 0 0 #3f8aaf;box-shadow:0 2px 0 0 #3f8aaf}.wp-core-ui #customize-header-actions .button-primary.has-next-sibling{border-left:1px solid #57abd5}.wp-core-ui #customize-header-actions .button-primary:disabled{color:#fff!important;background:#aed2e5!important;opacity:.7;-webkit-box-shadow:0 2px 0 0 #8db5ca!important;box-shadow:0 2px 0 0 #8db5ca!important}.wp-core-ui #customize-header-actions .button-primary:disabled.has-next-sibling{border-left:none}.wp-core-ui #customize-controls .customize-control-reset{padding-top:20px;padding-bottom:20px}.wp-core-ui #customize-controls .control-panel>.customize-control-reset{border-top:1px solid #dfe8ef;padding-right:20px;padding-left:20px}.wp-core-ui #customize-controls [class].customize-control-reset .button,.wp-core-ui #customize-controls [id=customize-control-reset_customify] .button{width:100%;padding:10px 20px;display:block;margin-bottom:2px}#accordion-section-live_css_edit_section .customize-section-title{margin-top:-13px;border-bottom:1px solid #dfe8ef}#accordion-section-live_css_edit_section #css_editor{top:70px;border-top:10px solid #fff;overflow:visible}#accordion-section-live_css_edit_section #css_editor:before{content:"";width:48px;height:10px;display:block;background:#dfe8ef;top:-10px;position:absolute;z-index:10000000;right:0}#accordion-section-live_css_edit_section .ace_scroller{padding-right:10px}.wp-full-overlay.editor_opened{margin-right:500px}.wp-full-overlay.editor_opened #customize-controls{width:500px}.wp-full-overlay.editor_opened.collapsed #customize-controls{width:300px}#customify_import_demo_data_button{width:70%;text-align:center;padding:10px;display:inline-block;height:auto;margin:0 15% 10% 15%}.import_step_note{margin:5px;width:100%;display:inline-block}.import_step_note:before{content:"\1F449"}.import_step_note.success:before{content:"\1F44D"}.import_step_note.failed:before{content:"\274C"}.customize-control-media .current,.customize-control-site_icon .current,li#customize-control-site_logo .current{margin-bottom:10px;min-height:44px;background:#f7fbff;border:2px solid #dfe8ef;border-radius:4px}.customize-control-media .current .container,.customize-control-media .current span,.customize-control-site_icon .current .container,.customize-control-site_icon .current span,li#customize-control-site_logo .current .container,li#customize-control-site_logo .current span{border:none}.customize-control-media .current span,.customize-control-media .inner,.customize-control-site_icon .current span,.customize-control-site_icon .inner,li#customize-control-site_logo .current span,li#customize-control-site_logo .inner{font-size:13px;color:#98c6dd}.customize-control-media .inner,.customize-control-site_icon .inner,li#customize-control-site_logo .inner{line-height:1.4}.customize-control-media .thumbnail-image,.customize-control-site_icon .thumbnail-image,li#customize-control-site_logo .thumbnail-image{padding:14px;text-align:center}.customize-control-media .thumbnail-image img,.customize-control-site_icon .thumbnail-image img,li#customize-control-site_logo .thumbnail-image img{width:auto}.customize-control-media .actions,.customize-control-site_icon .actions,li#customize-control-site_logo .actions{margin-bottom:0}.section-navigation-wrapper{position:relative;height:43px;margin:-15px -12px 0 -12px;margin-left:-20px;margin-right:-20px}.section-navigation{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;border-top:1px solid #dfe8ef}.section-navigation a{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;display:block;padding:12px 0;color:#2a3b44;background-color:#fff;text-align:center;text-decoration:none;-webkit-transition:background-color .15s ease-in-out;transition:background-color .15s ease-in-out}.section-navigation a:not(:last-child){border-left:1px solid #dfe8ef}.section-navigation a:focus{position:relative}#customize-controls .customize-info.is-sticky.is-sticky,#customize-controls .customize-section-title.is-sticky.is-sticky{top:40px}#customize-controls .customize-info.is-in-view.is-in-view,#customize-controls .customize-section-title.is-in-view.is-in-view{-webkit-box-shadow:none;box-shadow:none}#customize-controls .customize-section-description-container.section-meta.has-nav{margin-bottom:0}#customize-controls .customize-section-description-container.section-meta.has-nav+.screen-reader-text+.customize-control-html .separator.section{margin-top:-20px}#customize-controls .customize-section-description-container.section-meta.has-nav+.screen-reader-text+.customize-control-html .separator.section:before{border-top:0}#customize-theme-controls .separator.label{display:block;font-size:14px;line-height:24px;font-weight:500}#customize-theme-controls .separator.large{margin-top:10px;font-size:16px;color:#2a3b44}#customize-theme-controls .separator.section:before,#customize-theme-controls .separator.sub-section:before{content:"";position:absolute;top:0;bottom:0;right:-20px;left:-20px;z-index:-1;border-width:1px 0;border-style:solid;border-color:#dfe8ef;background-color:#fff}#customize-theme-controls .separator.section+.customize-control-description,#customize-theme-controls .separator.sub-section+.customize-control-description{margin-top:20px}#customize-theme-controls .separator.section{position:relative;padding:14px 0;margin-bottom:0;background:100% 0;border:none}#customize-theme-controls .separator.section:before{border-width:1px 0}#customize-theme-controls .separator.sub-section{position:relative;padding:12px 0}#customize-theme-controls .separator.sub-section:before{border-width:1px 0;background-color:#fff}#customize-theme-controls .widget-content .accordion-container{margin-right:-10px;margin-left:-10px;margin-top:20px;margin-bottom:10px}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-content{position:relative;right:0;max-height:0;padding-top:0;padding-bottom:0;overflow:hidden;-webkit-transition:all .4s ease;transition:all .4s ease;color:#416b7e}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-content p:first-child{margin-top:0}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-content p:last-child{margin-bottom:0}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-title{color:#2a3b44}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-title:after{content:"\f142";-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}#customize-theme-controls .widget-content .accordion-container .accordion-section.open{border-bottom:none}#customize-theme-controls .widget-content .accordion-container .accordion-section.open .accordion-section-content{max-height:100%;padding-top:17px;padding-bottom:17px}#customize-theme-controls .widget-content .accordion-container .accordion-section.open .accordion-section-title{border-bottom:1px solid}#customize-theme-controls .widget-content .accordion-container .accordion-section.open .accordion-section-title:after{-webkit-transform:rotate(0);transform:rotate(0)}#customize-theme-controls .widget-content .accordion-container label.customize-control-title{cursor:default}.widget .widget-content>p input[type=checkbox],.widget .widget-content>p input[type=radio]{margin-bottom:3px;margin-top:3px}.widget .widget-content small{margin-top:5px;display:block}#available-widgets [class*=categories-image-grid] .widget .widget-title:before,#available-widgets [class*=featured-posts] .widget .widget-title:before,#available-widgets [class*=pixelgrade] .widget .widget-title:before{content:"\f538";color:#9660c6}#available-widgets [class*=pixelgrade-featured-posts-slideshow] .widget .widget-title:before{content:"\f233"}#available-widgets [class*=pixelgrade-featured-posts-carousel] .widget .widget-title:before{content:"\f169"}#available-widgets [class*=featured-posts-grid] .widget .widget-title:before{content:"\f180"}#available-widgets [class*=featured-posts-list] .widget .widget-title:before{content:"\f164"}#available-widgets [class*=categories-image-grid] .widget .widget-title:before{content:"\f163"}#available-widgets [class*=pixelgrade-promo-box] .widget .widget-title:before{content:"\f488"}.wp-customizer .widget-conditional .condition-control:after{content:" ";display:table;clear:both}.wp-customizer .widget-conditional .selection{padding-left:50px;padding-right:28px;padding-bottom:19px;margin-right:0;margin-left:0;margin-bottom:10px;border-bottom:1px solid #dfe8ef}.wp-customizer .widget-conditional .condition:last-child .selection{border:0}.wp-customizer .widget-conditional select{max-width:100%;width:170px}.wp-customizer .widget-conditional .condition-top select{width:130px}.customize-control-color{display:block}.customize-control-color .customize-control-title{float:right}.customize-control-color .wp-picker-container{position:relative;float:left;top:-3px}.customize-control-color .wp-picker-container .wp-picker-holder{position:relative}.customize-control-color .wp-picker-container .wp-color-result,.customize-control-color .wp-picker-container .wp-color-result.button{top:0;height:30px;width:40px;margin:0;padding:0;border-radius:4px;background:#2ecc71;border:2px solid #b8daeb;-webkit-box-shadow:none;box-shadow:none}.customize-control-color .wp-picker-container .wp-color-result .wp-color-result-text,.customize-control-color .wp-picker-container .wp-color-result.button .wp-color-result-text,.customize-control-color .wp-picker-container .wp-color-result.button:after,.customize-control-color .wp-picker-container .wp-color-result:after{display:none}.customize-control-color .wp-picker-container .iris-picker{position:absolute;top:40px;left:0;z-index:1000;width:275px!important;border-top:none;border-color:#dfe8ef;border-radius:0 0 3px 3px;border:none;background:#fff}.customize-control-color .wp-picker-container .iris-picker .iris-square{width:215px!important;height:173px!important;margin-left:0}.customize-control-color .wp-picker-container .iris-picker .iris-strip{float:left;-webkit-box-shadow:rgba(0,0,0,.4) 0 1px 1px inset;box-shadow:rgba(0,0,0,.4) 0 1px 1px inset}.customize-control-color .wp-picker-container .iris-picker .iris-strip .ui-slider-handle{border-color:#aaa!important;opacity:1;-webkit-box-shadow:none;box-shadow:none}.customize-control-color .wp-picker-container .iris-picker .iris-palette{width:24px!important;height:24px!important;border-radius:50px;-webkit-box-shadow:rgba(0,0,0,.4) 0 1px 1px inset;box-shadow:rgba(0,0,0,.4) 0 1px 1px inset}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap{position:absolute;top:35px;left:0;z-index:1000;width:275px;padding:9px 12px;border:none;border-radius:3px 3px 0 0;background:#fff}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap:after{content:"";position:absolute;bottom:100%;left:12px;width:0;height:0;border:9px solid transparent;border-top:0;border-bottom-color:#fff;border-collapse:separate}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap input.wp-color-picker{float:right;width:100px;font-size:13px;text-align:right;margin:0;padding:6px 12px;height:auto}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap input.button{float:left;padding:4px 12px;height:30px}.customize-control-custom_background .hide{display:none}.customize-control-custom_background .upload_button_div{margin:10px 0}.customize-control-custom_background .upload_button_div>*{margin-left:10px}.customize-control-custom_background .preview_screenshot{text-align:center;margin:10px 0}.customize-control-custom_background .preview_screenshot img{border:2px solid #ccc}.font-options__wrapper{position:relative}.font-options__wrapper:after{content:"";position:absolute;top:90%;right:0;left:0;z-index:0;display:block;height:30px}.customize-control-font:last-child{margin-bottom:150px}.font-options__head{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;padding-left:44px;height:44px;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iIzk4QzZERSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);background-repeat:no-repeat;background-position:left 16px top 16px;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;text-overflow:ellipsis;white-space:nowrap;-webkit-appearance:none}.font-options__head:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.font-options__checkbox:checked~.font-options__head,.font-options__head:hover{border-color:#48a9d7;background-color:#85c4ea;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);color:#fff}.font-options__checkbox:not(:checked)~.font-options__head:not(:hover) .font-options__font-title{color:#98c6dd}.font-options__font-title{font-size:12px;line-height:20px;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.font-options__option[class]{margin-bottom:0}.font-options__option+.font-options__option{margin-top:12px}.font-options__option label{display:block;margin-bottom:6px}input.font-options__checkbox{display:none}.font-options__options-list{position:absolute;top:100%;right:-12px;left:-12px;z-index:2;display:block;padding:10px 10px 14px;margin-top:5px;border:1px solid #b8daeb;border-radius:4px;-webkit-box-shadow:0 5px 10px 0 rgba(0,0,0,.125);box-shadow:0 5px 10px 0 rgba(0,0,0,.125);background-color:#fff}.font-options__options-list:after,.font-options__options-list:before{content:"";position:absolute;bottom:100%;left:25px;border:10px solid transparent}.font-options__options-list:before{z-index:100;border-bottom-color:#b8daeb;border-width:11px}.font-options__options-list:after{z-index:101;border-bottom-color:#f7fbff;margin-left:1px}.font-options__options-list label{font-size:13px}.font-options__checkbox:not(:checked)~.font-options__options-list{display:none}.default-preset-button{background-color:#f5f6f6;float:left;padding:1px 8px;border-radius:4px;border:1px solid #cbcbcb;margin-left:4px;font-family:"Open Sans",sans-serif}.js-customify-preset.radio_buttons .customify_radio_button{border:none;display:inline-block;padding:2px;margin:3px;position:relative;overflow:hidden;height:auto}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]{opacity:0;width:100%;height:100%;position:absolute;z-index:9999}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]:checked+label{background-color:#ebebeb}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]:checked+label:before{content:'>';color:inherit}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]:checked+label:after{content:'<';color:inherit}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]:checked:before{opacity:0}.js-customify-preset.radio_buttons .customify_radio_button label{position:relative;z-index:999;border-right:4px solid}.js-customify-preset .awesome_preset{position:relative;display:inline-block;width:45%;margin-top:5px;margin-bottom:25px;text-align:center;color:#fff;-webkit-transition:all .2s;transition:all .2s}.js-customify-preset .awesome_preset:hover{opacity:.9}.js-customify-preset .awesome_preset:before{content:'';position:absolute;top:1px;right:1px;left:1px;bottom:1px;z-index:5;border:1px solid #fff;border-radius:4px;background:100% 0;opacity:.5}.js-customify-preset .awesome_preset .preset-wrap .preset-color{height:128px;border-radius:4px 4px 0 0;padding:17px 0 27px}.js-customify-preset .awesome_preset .preset-wrap .preset-color .first-font{display:inline-block;width:100%;font-size:55px;line-height:1}.js-customify-preset .awesome_preset .preset-wrap .preset-color .secondary-font{display:inline-block;width:100%;font-size:20px;line-height:1;margin-top:8px}.js-customify-preset .awesome_preset .preset-wrap .preset-name{position:relative;font-size:11px;text-transform:uppercase;border-radius:0 0 4px 4px;padding:1px}.js-customify-preset .awesome_preset .preset-wrap .preset-name:before{content:'';position:absolute;border-color:inherit;border:10px solid;border-right-color:transparent;border-left-color:transparent;border-top:transparent;top:-10px;border-bottom-color:inherit;right:40%}.js-customify-preset .awesome_preset:nth-child(odd){margin-left:7%}.js-customify-preset .awesome_preset input[type=radio]{height:100%;width:100%;position:absolute;border:0;-webkit-box-shadow:none;box-shadow:none;color:#006505;background-color:transparent;border-radius:0;margin:0;display:inline-block;top:0;right:0;z-index:10}.js-customify-preset .awesome_preset input[type=radio]:checked{background:100% 0}.js-customify-preset .awesome_preset input[type=radio]:checked:before{position:absolute;height:25px;width:25px;top:-13px;left:-14px;background:#fff;z-index:1}.js-customify-preset .awesome_preset input[type=radio]:checked:after{content:'';position:absolute;width:26px;height:26px;border-radius:50%;top:-5px;left:-5px;z-index:10;background:#73c5ee url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjEzcHgiIGhlaWdodD0iOXB4IiB2aWV3Qm94PSIwIDAgMTMgOSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJDdXN0b21pZnktQ29weSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIxLjAwMDAwMCwgLTQwOC4wMDAwMDApIiBmaWxsPSIjRkZGRkZGIj4KICAgICAgICAgICAgPGcgaWQ9IkhlYWRlciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIxLjAwMDAwMCwgNDcuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0iQ29udGVudCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAuMDAwMDAwLCA3NS4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iRmllbGQtLS1DaGVja2JveC1Db3B5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNy4wMDAwMDAsIDI0OS4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IkNoZWNrYm94IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwgMzAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAuMDM4NDk1LDE2IEwxNy4xMTYxMzc1LDguOTIxNDg3NiBMMTUuMTk0NjQ5OCw3IEwxMC4wMzg0OTUsMTIuMTU1MDY3NCBMNi45MjE0ODc2LDkuMDM4OTI5OTcgTDUsMTAuOTYwNDE3NiBMMTAuMDM4NDk1LDE2IFoiIGlkPSJQYWdlLTEiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+) no-repeat;background-position:center center}.customify_radio_html{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin-top:-10px;margin-right:-10px}.customify_radio_html label{display:block;padding-top:10px;padding-right:10px;-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%}.customify_radio_html label>input+div{border-color:#dfe8ef;height:100%}.customify_radio_html label:hover{background-color:rgba(255,255,255,.2)}.customify_radio_html input{display:none}.customify_radio_html input+div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border:2px solid transparent;border-radius:.5em;padding:20px}.customify_radio_html input:checked+div{border-color:#5ab9e8}.customify_radio_image{display:inline-block}.customify_radio_image label{display:block;float:right;margin-left:10px;position:relative}.customify_radio_image label input[type=radio]{position:absolute;top:0;bottom:0;right:0;left:0;width:100%;height:100%;visibility:hidden}.customify_radio_image label input[type=radio] img{cursor:pointer;border:2px solid transparent}.customify_radio_image label input[type=radio]:checked+img{border:3px solid #73c5ee}.customize-control-range:after{content:" ";display:table;clear:both}.customize-control-range input[type=range]{float:right;width:calc(100% - 70px);margin:3px 0 0}.customize-control-range input[type=number]{width:50px;height:auto;float:left;padding:2px 3px 3px 2px;font-size:13px;text-align:center}.customize-control-range input[type=number]::-webkit-inner-spin-button,.customize-control-range input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.customize-control-typography select{margin-bottom:10px}.customize-control-typography .description{margin-top:-3px}.customize-control-typography ul li{width:100%;margin:0}.sm-palette-filter .sm-color-palette__colors{width:auto;height:auto;padding:10px 10px;border-radius:999em}.sm-palette-filter .sm-color-palette__picker:after{-webkit-box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2);box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2)}.sm-palette-filter>label{position:relative;display:block;margin:0 0 10px}.sm-palette-filter>label:hover .filter-label{opacity:1}.sm-palette-filter>input{display:none}.sm-palette-filter .filter-label{position:absolute;top:0;right:0;z-index:10;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.sm-palette-filter .filter-label span{position:relative;z-index:20}.sm-palette-filter .filter-label:after{content:"";display:block;position:absolute;top:0;right:0;z-index:10;width:100%;height:100%;background-color:#fff;-webkit-box-shadow:#dfe8ef 0 0 0 1px;box-shadow:#dfe8ef 0 0 0 1px;border-radius:999em}.sm-palette-filter>input:checked+label .filter-label:after{background-color:#f7fbff;-webkit-box-shadow:none;box-shadow:none}.sm-palette-filter>input:checked+label .sm-color-palette__colors{background-color:#f7fbff;-webkit-box-shadow:#48a9d7 0 0 0 2px;box-shadow:#48a9d7 0 0 0 2px}.customize-control-sm_palette_filter .customize-control-title{display:none}.customize-control-radio[class][id=customize-control-sm_palette_filter_control]>.customize-inside-control-row:not(:only-of-type){display:block;width:auto}.sm-radio-group{position:relative;border-radius:999em;overflow:hidden;height:2.428em;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;color:#416b7e;font-size:14px;-webkit-font-smoothing:antialiased;font-weight:600;line-height:1.142em}.sm-radio-group>*{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0}.sm-radio-group:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;border:.142em solid #48a9d7;border-radius:999em;pointer-events:none}.sm-radio-group input[type=radio]{display:none}.sm-radio-group input[type=radio]:checked+label{background-color:#48a9d7;color:#fff}.sm-radio-group input[type=radio]:checked+label:before{content:"";display:inline-block;color:inherit;position:relative;top:.285em;margin-left:.45em;height:.8em;width:.55em;border-left:2px solid;border-bottom:2px solid;-webkit-transform:translateY(-50%) rotate(-45deg);transform:translateY(-50%) rotate(-45deg)}.sm-radio-group label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;cursor:pointer;-webkit-transition:all .25s ease;transition:all .25s ease;color:inherit}.sm-radio-group label:hover{color:#416b7e}.sm-radio-group label:nth-of-type(2){border-right:2px solid #48a9d7;border-left:2px solid #48a9d7}[id=customize-control-sm_coloration_level_control] .sm-radio-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}[id=customize-control-sm_coloration_level_control] .sm-radio-group>*{-webkit-box-flex:0;-ms-flex:0 0 33.33%;flex:0 0 33.33%}[id=customize-control-sm_coloration_level_control] .sm-radio-group input[type=radio]:last-of-type:checked+label{background:-webkit-gradient(linear,right top,left top,from(#3daae0),to(#d557be));background:linear-gradient(-90deg,#3daae0 0,#d557be 100%)}[id=customize-control-sm_coloration_level_control] .sm-radio-group input[type=radio]:nth-of-type(1):checked~label:last-of-type,[id=customize-control-sm_coloration_level_control] .sm-radio-group input[type=radio]:nth-of-type(2):checked~label:last-of-type{margin-left:-33.33%}[id=customize-control-sm_coloration_level_control] .sm-radio-group label:nth-of-type(1){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}[id=customize-control-sm_coloration_level_control] .sm-radio-group label:nth-of-type(2){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3;border-right:2px solid #48a9d7;border-left:2px solid #48a9d7}[id=customize-control-sm_coloration_level_control] .sm-radio-group label:nth-of-type(3){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}[id=customize-control-sm_coloration_level_control] .sm-radio-group label:nth-of-type(4){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;border-right:2px solid #48a9d7}[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize li.customize-control-sm_switch{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding-top:42px;padding-bottom:42px}[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize li.customize-control-sm_switch .customize-control-title{display:inline-block}.sm-switch{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;overflow:hidden;position:relative;height:2.428em;max-width:5.5em;border-radius:999em;color:#fff;font-size:14px;-webkit-font-smoothing:antialiased;font-weight:600;line-height:1.142em;z-index:10}.sm-switch input[type=radio]{display:none}.sm-switch input[type=radio]+label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%}.sm-switch input[type=radio]+label,.sm-switch input[type=radio]+label:after{-webkit-transition:all .2s ease-out;transition:all .2s ease-out}.sm-switch input[type=radio]:checked+label{pointer-events:none}.sm-switch input[type=radio]:nth-of-type(1)+label{padding-right:1.214em}.sm-switch input[type=radio]:nth-of-type(1)+label:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background-color:#48a9d7;z-index:-1}.sm-switch input[type=radio]:nth-of-type(1):not(:checked)+label{-webkit-transform:translateX(100%) translateX(-2.125em);transform:translateX(100%) translateX(-2.125em)}.sm-switch input[type=radio]:nth-of-type(1):not(:checked)+label:after{background:#ccc;-webkit-transform:translateX(-100%) translateX(2.125em);transform:translateX(-100%) translateX(2.125em)}.sm-switch input[type=radio]:nth-of-type(1):not(:checked)+label~label{-webkit-transform:translateX(100%);transform:translateX(100%)}.sm-switch input[type=radio]:nth-of-type(1):checked+label~label{-webkit-transform:translateX(2.4em);transform:translateX(2.4em)}.sm-switch input[type=radio]:nth-of-type(1):checked+label~label:before{-webkit-transform:translateX(100%) translateX(-2.125em);transform:translateX(100%) translateX(-2.125em)}.sm-switch input[type=radio]:nth-of-type(2)+label{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;padding-left:1em}.sm-switch input[type=radio]:nth-of-type(2)+label:before{content:"";position:absolute;top:0;left:0;bottom:0;right:0}.sm-switch input[type=radio]:nth-of-type(2)+label:after{content:"";display:block;height:2.142em;width:2.142em;margin-left:auto;margin-right:.125em;border-radius:50%;background-color:#fff;-webkit-box-shadow:-1px 2px 2px 0 rgba(23,21,21,.15);box-shadow:-1px 2px 2px 0 rgba(23,21,21,.15);pointer-events:none}.sm-tabs{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 16px;text-align:center;border-bottom:1px solid #dfe8ef}.sm-tabs__item{position:relative;padding:12px 0;margin-bottom:-1px;-ms-flex-preferred-size:31%;flex-basis:31%;font-size:14px;color:#416b7e;opacity:.7;cursor:pointer;-webkit-transition:color .2s ease;transition:color .2s ease}.sm-tabs__item:after{content:"";position:absolute;bottom:0;right:0;width:100%;height:3px;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transition:all .2s ease;transition:all .2s ease}.sm-tabs__item:not(.sm-tabs__item--active):not(:hover):after{-webkit-transform:scaleY(0);transform:scaleY(0)}.sm-tabs__item:not(.sm-tabs__item--active):hover:after{background-color:#b8daeb}.sm-tabs__item--active{color:#2a3b44}.sm-tabs__item--active:after{background-color:#48a9d7}.customize-control-color-palette .customize-inside-control-row{position:relative;display:block;width:100%!important;height:64px;margin-right:0!important;overflow:hidden;text-indent:0!important;background-size:cover;background-position:50% 50%;border-radius:5px}.customize-control-color-palette .customize-inside-control-row+.customize-inside-control-row{margin-top:15px}.customize-control-color-palette .customize-inside-control-row:before{content:'';position:absolute;top:0;bottom:0;right:0;left:0;z-index:10;pointer-events:none;-webkit-box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2);box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2)}.customize-control-color-palette .customize-inside-control-row:hover:before{-webkit-box-shadow:inset 0 0 3px 0 rgba(0,0,0,.4);box-shadow:inset 0 0 3px 0 rgba(0,0,0,.4)}.customize-control-color-palette .customize-inside-control-row:hover .palette__item{-webkit-transform:translateY(0);transform:translateY(0)}.customize-control-color-palette .customize-inside-control-row:hover label{right:10px}.customize-control-color-palette .customize-inside-control-row input{opacity:0}.customize-control-color-palette .customize-inside-control-row input:checked+label .preview__letter--checked{display:inline-block;vertical-align:middle}.customize-control-color-palette .customize-inside-control-row input:checked+label .preview__letter{display:none}.customize-control-color-palette .customize-inside-control-row label{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;z-index:2;width:100%;height:100%;top:0;right:0;padding:0 10px;margin-top:0!important;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:all .3s ease;transition:all .3s ease}.customize-control-color-palette .customize-inside-control-row .palette{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;top:0;right:0;z-index:1;width:100%;height:100%;-webkit-transition:all .2s ease;transition:all .2s ease}.customize-control-color-palette .customize-inside-control-row .palette__item{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:all .3s ease;transition:all .3s ease}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(1){-webkit-transition-delay:0s;transition-delay:0s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(2){-webkit-transition-delay:.05s;transition-delay:.05s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(3){-webkit-transition-delay:.1s;transition-delay:.1s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(4){-webkit-transition-delay:.15s;transition-delay:.15s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(5){-webkit-transition-delay:.2s;transition-delay:.2s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(6){-webkit-transition-delay:.25s;transition-delay:.25s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(7){-webkit-transition-delay:.3s;transition-delay:.3s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(8){-webkit-transition-delay:.35s;transition-delay:.35s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(9){-webkit-transition-delay:.4s;transition-delay:.4s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(10){-webkit-transition-delay:.45s;transition-delay:.45s}.customize-control-color-palette .customize-inside-control-row .preview__letter,.customize-control-color-palette .customize-inside-control-row .preview__letter--checked{display:inline-block;padding:3px;border-radius:2px;color:#fff;margin-left:5px;min-height:26px;min-width:26px;text-align:center;background-position:center center;background-repeat:no-repeat;background-size:15px 15px;font-style:normal;vertical-align:baseline}.customize-control-color-palette .customize-inside-control-row .preview__letter--checked{display:none}[id*=sm_current_color_palette_control] .customize-inside-control-row .palette__item[class]{-webkit-transform:none;transform:none}[id*=sm_current_color_palette_control] .variation-control{display:-webkit-box;display:-ms-flexbox;display:flex}.label{margin-left:auto}.label__inner{color:#000;background:#f5f6f1;padding:7px 7px 7px 12px;z-index:2;border-radius:3px;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.15);box-shadow:0 2px 5px rgba(0,0,0,.15)}#customize-theme-controls [id*=sm_current_color_palette_control]{display:block;width:auto}#customize-theme-controls [id*=sm_current_color_palette_control] .color-palette-container{background:#fff}#customize-theme-controls [id*=sm_current_color_palette_control] .color-palette-container .description{margin-bottom:15px}#customize-theme-controls [id*=sm_current_color_palette_control] .description.c-color-palette__notification{padding-top:19px;margin-bottom:0;font-size:inherit;font-weight:700}.c-color-palette__fields{position:relative}.c-color-palette .iris-picker{position:absolute;top:100%;right:0;z-index:100;margin-top:1em;border:0;-webkit-box-shadow:#000 0 3px 12px -4px;box-shadow:#000 0 3px 12px -4px}.c-color-palette .iris-picker .iris-square-handle{border-color:transparent;right:-6px;top:-6px}.c-color-palette .iris-picker .iris-square-handle:after{position:absolute;bottom:0;left:0;right:0;top:0;border:2px solid #dfe8ef}.c-color-palette .iris-picker .iris-square-value{-webkit-box-shadow:none!important;box-shadow:none!important}input.c-color-palette__input[class]{margin-top:1em}#customize-control-sm_toggle_advanced_settings_control{margin-bottom:0;opacity:0}#customize-control-sm_toggle_advanced_settings_control button{width:100%}.customize-control-color .wp-picker-container .iris-picker .iris-palette-container{display:-webkit-box;display:-ms-flexbox;display:flex;width:215px}.customize-control-color .wp-picker-container .iris-picker .iris-palette{width:auto!important;height:auto!important;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;float:none}.customize-control-color .wp-picker-container .iris-picker .iris-palette:after{content:"";display:block;padding-top:100%}.c-color-palette{padding:30px 20px 18px}[id=customize-control-sm_current_color_palette_control][id]{margin-bottom:0}[id=customize-control-sm_current_color_palette_control][id]~.customize-control{background-color:#fff;margin-top:0;padding:24px 20px 0}#customize-control-sm_dark_color_primary_slider_control,#customize-control-sm_dark_color_secondary_slider_control,#customize-control-sm_dark_color_tertiary_slider_control{display:none!important}[id=sub-accordion-section-sm_color_palettes_section]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:20px 0 0!important;overflow:hidden}[id=sub-accordion-section-sm_color_palettes_section] #customize-control-sm_color_palette_control{-ms-flex-negative:0;flex-shrink:0;overflow-y:scroll;margin-bottom:0;padding-top:20px}[id=sub-accordion-section-sm_color_palettes_section]>*{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0 20px}[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_current_color_palette_control]~*{display:none!important}[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_customize_description_after_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_customize_description_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_filters_description_after_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_filters_description_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_palettes_description_after_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_palettes_description_control] span{margin:0}[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_filters_description_after_control][id].customize-control{padding-top:20px}[id=sub-accordion-section-sm_color_palettes_section].sm-view-palettes [id=customize-control-sm_color_palette_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-palettes [id=customize-control-sm_palettes_description_after_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-palettes [id=customize-control-sm_palettes_description_control]{display:block!important}[id=sub-accordion-section-sm_color_palettes_section].sm-view-filters [id=customize-control-sm_filters_description_after_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-filters [id=customize-control-sm_filters_description_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-filters [id=customize-control-sm_palette_filter_control]{display:block!important}[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_color_diversity_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_coloration_level_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_customize_description_after_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_customize_description_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_dark_mode_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_shuffle_colors_control]{display:block!important}[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_spacing_bottom_control][id]{display:block!important;min-height:24px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}[id=customize-control-sm_color_palette_control] .customize-control-description,[id=customize-control-sm_color_palette_control] .customize-control-title{display:none}.color[class*=sm_color][class*="_connected"],.color[class*=sm_dark][class*="_connected"],.color[class*=sm_light][class*="_connected"]{display:none}.c-color-palette__colors{position:relative}.c-color-palette canvas,.c-color-palette svg{max-width:100%;height:auto}.c-color-palette__fields{position:absolute;top:100%;right:0;left:0;z-index:100}[id=sub-accordion-section-sm_color_palettes_section]>.customize-section-description-container{margin-bottom:0}#customize-theme-controls .control-panel-content:not(.control-panel-nav_menus) .control-section:nth-child(2),#customize-theme-controls .control-panel-nav_menus .control-section-nav_menu,#customize-theme-controls .control-section-nav_menu_locations .accordion-section-title{border-top:0}.sm-color-palette__colors{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:3em}.sm-color-palette__color{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;overflow:hidden;-webkit-transition:flex-grow .3s cubic-bezier(.18,.89,.32,1.28),-webkit-box-flex .3s cubic-bezier(.18,.89,.32,1.28);transition:flex-grow .3s cubic-bezier(.18,.89,.32,1.28),-webkit-box-flex .3s cubic-bezier(.18,.89,.32,1.28);transition:flex-grow .3s cubic-bezier(.18,.89,.32,1.28);transition:flex-grow .3s cubic-bezier(.18,.89,.32,1.28),-webkit-box-flex .3s cubic-bezier(.18,.89,.32,1.28),-ms-flex-positive .3s cubic-bezier(.18,.89,.32,1.28)}.sm-color-palette__color.hidden{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-webkit-transition:flex-grow .3s cubic-bezier(.6,-1,.74,.05),-webkit-box-flex .3s cubic-bezier(.6,-1,.74,.05);transition:flex-grow .3s cubic-bezier(.6,-1,.74,.05),-webkit-box-flex .3s cubic-bezier(.6,-1,.74,.05);transition:flex-grow .3s cubic-bezier(.6,-1,.74,.05);transition:flex-grow .3s cubic-bezier(.6,-1,.74,.05),-webkit-box-flex .3s cubic-bezier(.6,-1,.74,.05),-ms-flex-positive .3s cubic-bezier(.6,-1,.74,.05)}.sm-color-palette__disc{position:absolute;top:0;left:0;bottom:0;right:0;z-index:15;display:block;overflow:hidden;pointer-events:none;-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.sm-color-palette__disc:after{content:"";-webkit-filter:blur(6px) saturate(.7) brightness(1.1);filter:blur(6px) saturate(.7) brightness(1.1);display:block;width:200%;height:200%;padding-top:100%;position:absolute;top:-50%;right:-50%;-webkit-transform:scale(1);transform:scale(1);background-image:linear-gradient(-330deg,transparent 50%,#ff8100 0),linear-gradient(-300deg,transparent 50%,#ff5800 0),linear-gradient(-270deg,transparent 50%,#c92323 0),linear-gradient(-240deg,transparent 50%,#cc42a2 0),linear-gradient(-210deg,transparent 50%,#9f49ac 0),linear-gradient(-180deg,transparent 50%,#306cd3 0),linear-gradient(-150deg,transparent 50%,#179067 0),linear-gradient(-120deg,transparent 50%,#0eb5d6 0),linear-gradient(-90deg,transparent 50%,#50b517 0),linear-gradient(-60deg,transparent 50%,#ede604 0),linear-gradient(-30deg,transparent 50%,#fc0 0),linear-gradient(0deg,transparent 50%,#feac00 0);background-clip:content-box,content-box,content-box,content-box,content-box,content-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box}.sm-color-palette__color:not(.altered) .sm-color-palette__disc{opacity:0}.sm-color-palette__picker{position:relative;top:0;right:50%;width:80%;max-width:3em;margin-top:auto;margin-bottom:auto;border-radius:50%;overflow:hidden;-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0);-webkit-transition:opacity .3s ease-in-out,border-color .3s ease-in-out;transition:opacity .3s ease-in-out,border-color .3s ease-in-out;cursor:pointer}.sm-color-palette__picker>i{display:block;position:absolute;top:0;left:0;bottom:0;right:0;-webkit-box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2);box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2);border-radius:50%;pointer-events:none;z-index:20}.sm-color-palette__picker:after,.sm-color-palette__picker:before{content:"";display:block;background:currentColor;border-radius:50%}.sm-color-palette__picker:before{padding-top:100%}.sm-color-palette__picker:after{position:absolute;top:0;right:0;width:100%;height:100%}.sm-color-palette__color.hidden .sm-color-palette__picker{opacity:0;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.sm-color-palette__color.inactive .sm-color-palette__picker{opacity:.2}.sm-color-palette__color.inactive .sm-color-palette__picker:hover{opacity:1}.sm-color-palette__color.js-no-picker .sm-color-palette__picker{cursor:not-allowed}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title{border-bottom:1px solid #dfe8ef}#customize-controls #accordion-section-sm_color_palettes_section+#accordion-section-sm_font_palettes_section>.accordion-section-title{margin-top:5px;border-top-width:1px}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title,#customize-controls #accordion-section-sm_font_palettes_section>.accordion-section-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title:before,#customize-controls #accordion-section-sm_font_palettes_section>.accordion-section-title:before{font-family:dashicons;font-size:17px;-webkit-font-smoothing:antialiased}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title:before,#customize-controls #accordion-section-sm_font_palettes_section>.accordion-section-title:before{width:2em;height:2em;margin-left:15px;padding-right:.1em;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;background-color:#85c4ea;color:#f7fbff;border-radius:50%}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title:before{content:"\f100"}#customize-controls #accordion-section-sm_font_palettes_section>.accordion-section-title:before{content:"\f122"}.customize-control-font-palette .customize-inside-control-row{position:relative;padding-top:52%;margin-right:0;overflow:hidden;background-color:#fff;background-size:contain;background-position:left center;border-radius:4px}.customize-control-font-palette .customize-inside-control-row+.customize-inside-control-row{margin-top:15px}.customize-control-font-palette .customize-inside-control-row input{display:none}.customize-control-font-palette .customize-inside-control-row input+label{position:absolute;top:0;left:0;bottom:0;right:0;border:2px solid #dfe8ef;border-radius:inherit}.customize-control-font-palette .customize-inside-control-row:hover input+label{border-color:#b8daeb}.customize-control-font-palette .customize-inside-control-row input:checked+label{border-color:#48a9d7}#customize-control-sm_font_palette_control~.customize-control{display:none!important}#customize-controls{background:#f7fbff;border-color:#dfe8ef}#customize-controls .customize-info{border-color:#dfe8ef}#customize-footer-actions,#customize-header-actions{background:#fff;border-color:#dfe8ef}#customize-controls .customize-info .customize-panel-description,#customize-controls .customize-info .customize-section-description,#customize-controls .no-widget-areas-rendered-notice,#customize-outer-theme-controls .customize-info .customize-section-description{padding:20px;border-color:#dfe8ef;background:#fff;color:#2a3b44}#customize-theme-controls .customize-pane-child.accordion-section-content{padding:20px}.customize-section-title{margin:-20px;margin-bottom:0;border-color:#dfe8ef}.wp-full-overlay-sidebar-content .accordion-section-content{overflow:visible}#customize-theme-controls .theme *{-webkit-box-sizing:content-box;box-sizing:content-box}#customize-theme-controls #accordion-section-add_menu{border-bottom:none}#customize-theme-controls #accordion-section-add_menu .add-menu-toggle{float:none}.customify_ace_editor{display:block;min-height:200px;border:1px solid #dfe8ef}.ui-tooltip{z-index:999999}
1
+ .wp-full-overlay-sidebar *,.wp-full-overlay-sidebar :after,.wp-full-overlay-sidebar :before{-webkit-box-sizing:border-box;box-sizing:border-box}.iris-picker,.iris-picker *{-webkit-box-sizing:content-box;box-sizing:content-box}#customize-save-button-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin-top:6px}.customize-controls-close{width:45px;height:45px;padding:0;border-top:0;color:#98c6dd;background:#fff;border-color:#dfe8ef}.customize-controls-close:focus,.customize-controls-close:hover{background:#f7fbff}.customize-controls-close:before{top:0}#customize-controls #customize-theme-controls .customize-info,#customize-controls #customize-theme-controls .customize-section-title{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}#customize-controls #customize-theme-controls .customize-info>.customize-control-notifications-container,#customize-controls #customize-theme-controls .customize-section-title>.customize-control-notifications-container{-ms-flex-preferred-size:100%;flex-basis:100%}#customize-controls #customize-theme-controls .customize-info>.accordion-section-title,#customize-controls #customize-theme-controls .customize-section-title>h3{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin-right:0;color:#2a3b44}#customize-controls #customize-theme-controls .customize-panel-back,#customize-controls #customize-theme-controls .customize-section-back{position:relative;width:45px;height:auto;padding:0;color:#98c6dd;border-color:#dfe8ef;border-right:0}#customize-controls #customize-theme-controls .customize-panel-back:focus,#customize-controls #customize-theme-controls .customize-panel-back:hover,#customize-controls #customize-theme-controls .customize-section-back:focus,#customize-controls #customize-theme-controls .customize-section-back:hover{background:#f7fbff}#customize-controls #customize-theme-controls .customize-panel-back:before,#customize-controls #customize-theme-controls .customize-section-back:before{position:absolute;top:50%;right:50%;-webkit-transform:translate(40%,-50%);transform:translate(40%,-50%);line-height:1}.customize-controls-preview-toggle{background-color:#fff;border-color:#dfe8ef}.in-sub-panel .wp-full-overlay-sidebar .wp-full-overlay-header{padding-right:45px}.wp-full-overlay-sidebar .wp-full-overlay-header{height:46px}.wp-full-overlay-footer .devices button{float:right;border-radius:0}#customize-controls .customize-section-title h3,#customize-controls h3.customize-section-title{padding:10px 20px 11px 20px;color:#416b7e;background:#fff}#customize-controls .accordion-section-title{font-size:14px;line-height:21px;padding:10px 20px 11px 40px;color:#416b7e;background:#fff}#customize-controls h3.accordion-section-title{font-weight:400}#customize-theme-controls .accordion-section>.accordion-section-title{border:0 solid #dfe8ef}#customize-theme-controls .accordion-section:last-of-type>.accordion-section-title{border-bottom:1px solid #dfe8ef}#customize-theme-controls .accordion-section:not(.panel-meta)>.accordion-section-title{border-top:1px solid #dfe8ef}#customize-theme-controls .accordion-section:not(.panel-meta):hover>.accordion-section-title,#customize-theme-controls .accordion-section:not(.panel-meta)>.accordion-section-title:focus{background:#f7fbff}#customize-controls .customize-section-title>.customize-control-notifications-container,#customize-controls .panel-meta>.customize-control-notifications-container{border-color:#dfe8ef}#customize-controls #customize-theme-controls .accordion-section[id*=accordion-section-pro__section]>.accordion-section-title,#customize-controls #customize-theme-controls .accordion-section[id*=theme_options_panel]>.accordion-section-title{border-bottom-width:1px;margin-bottom:10px}#customize-controls #accordion-panel-style_manager_panel .accordion-section-title,#customize-controls #accordion-panel-theme_options_panel .accordion-section-title,#customize-controls #accordion-section-title_tagline .accordion-section-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}#customize-controls #accordion-panel-style_manager_panel .accordion-section-title:before,#customize-controls #accordion-panel-theme_options_panel .accordion-section-title:before,#customize-controls #accordion-section-title_tagline .accordion-section-title:before{font-family:dashicons;font-size:17px;-webkit-font-smoothing:antialiased}#customize-controls #accordion-panel-style_manager_panel .accordion-section-title:before,#customize-controls #accordion-panel-theme_options_panel .accordion-section-title:before,#customize-controls #accordion-section-title_tagline .accordion-section-title:before{color:#b8daeb;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}#customize-controls #accordion-section-title_tagline>.accordion-section-title:before{content:"\f110";color:#85c4ea}#customize-controls #accordion-section-title_tagline>.accordion-section-title img{display:none!important}#customize-controls #accordion-panel-style_manager_panel>.accordion-section-title:before{content:"\f155";font-size:18px;color:#f8bc30}#customize-controls #accordion-panel-theme_options_panel>.accordion-section-title:before{content:"\f538"}.customize-control{margin-bottom:0}.customize-control+.customize-control{margin-top:20px}.control-section:not(.control-section-themes) .customize-control{width:100%;min-height:0;padding:0}.customize-control input[type=color],.customize-control input[type=date],.customize-control input[type=datetime-local],.customize-control input[type=datetime],.customize-control input[type=email],.customize-control input[type=month],.customize-control input[type=number],.customize-control input[type=password],.customize-control input[type=search],.customize-control input[type=tel],.customize-control input[type=text]:not(#_customize-input-wpcom_custom_css_content_width_control):not(.wp-color-picker),.customize-control input[type=time],.customize-control input[type=url],.customize-control input[type=week]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;height:44px}.customize-control input[type=color]:focus,.customize-control input[type=date]:focus,.customize-control input[type=datetime-local]:focus,.customize-control input[type=datetime]:focus,.customize-control input[type=email]:focus,.customize-control input[type=month]:focus,.customize-control input[type=number]:focus,.customize-control input[type=password]:focus,.customize-control input[type=search]:focus,.customize-control input[type=tel]:focus,.customize-control input[type=text]:not(#_customize-input-wpcom_custom_css_content_width_control):not(.wp-color-picker):focus,.customize-control input[type=time]:focus,.customize-control input[type=url]:focus,.customize-control input[type=week]:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.customize-control textarea{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0}.customize-control textarea:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.customize-control select,.customize-control.customize-control-select select{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;max-width:100%;-moz-appearance:none;-webkit-appearance:none}.customize-control select:focus,.customize-control.customize-control-select select:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.customize-control select:not([multiple]),.customize-control.customize-control-select select:not([multiple]){padding-left:44px;height:44px;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iIzk4QzZERSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);background-repeat:no-repeat;background-position:left 16px top 16px}.customize-control select::-ms-expand,.customize-control.customize-control-select select::-ms-expand{display:none}.customize-control input[type=range]{position:relative;height:22px;overflow:hidden;outline:0;background:100% 0;-webkit-appearance:none;-moz-appearange:none}.customize-control input[type=range]::-webkit-slider-runnable-track{width:100%;height:6px;background:#b8daeb;border-radius:999em}.customize-control input[type=range]::-moz-range-track{width:100%;height:6px;background:#b8daeb;border-radius:999em}.customize-control input[type=range]::-webkit-slider-thumb{position:relative;z-index:3;-webkit-box-sizing:border-box;box-sizing:border-box;width:22px;height:22px;margin-top:-8px;border:2px solid #dfe8ef;border-radius:4px;background:#fff;cursor:move;cursor:-webkit-grab;cursor:grab;-webkit-appearance:none}.customize-control input[type=range]::-moz-range-thumb{position:relative;z-index:3;box-sizing:border-box;width:22px;height:22px;margin-top:-8px;border:2px solid #dfe8ef;border-radius:4px;background:#fff;cursor:move;cursor:grab;-moz-appearance:none}.customize-control input[type=range]:active::-webkit-slider-thumb{cursor:-webkit-grabbing;cursor:grabbing}.customize-control input[type=range]:active::-moz-range-thumb{cursor:grabbing}.customize-control-checkbox .customize-inside-control-row,.customize-control-radio .customize-inside-control-row{margin-right:0}.customize-control-checkbox input[type=checkbox],.customize-control-radio input[type=radio]{display:none}.customize-control-checkbox input[type=checkbox]+label,.customize-control-radio input[type=radio]+label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.customize-control-checkbox input[type=checkbox]+label:before,.customize-control-radio input[type=radio]+label:before{content:"";display:block;width:22px;height:22px;-webkit-box-flex:0;-ms-flex:0 0 22px;flex:0 0 22px;margin-left:10px;border:2px solid #dfe8ef;background:#fff center no-repeat}.customize-control-checkbox input[type=checkbox]:focus+label:before,.customize-control-radio input[type=radio]:focus+label:before{border-color:#48a9d7}.customize-control-checkbox input[type=checkbox]:checked+label:before,.customize-control-radio input[type=radio]:checked+label:before{border-color:#48a9d7;background-color:#48a9d7;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTJweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxMiA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImNoZWNrIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjUgOSAxMiAyIDEwIDAgNSA1IDIgMiAtMS43NTkzMjk4M2UtMTUgNCI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=)}.customize-control-checkbox:not(#customize-control-jetpack_css_mode_control)>.customize-inside-control-row :first-child:nth-last-child(n+5),.customize-control-checkbox:not(#customize-control-jetpack_css_mode_control)>:first-child:nth-last-child(n+5)~.customize-inside-control-row,.customize-control-radio>.customize-inside-control-row :first-child:nth-last-child(n+5),.customize-control-radio>:first-child:nth-last-child(n+5)~.customize-inside-control-row{width:calc(50% - 10px);float:right}.customize-control-checkbox:not(#customize-control-jetpack_css_mode_control)>.customize-inside-control-row :first-child:nth-last-child(n+5):after,.customize-control-checkbox:not(#customize-control-jetpack_css_mode_control)>:first-child:nth-last-child(n+5)~.customize-inside-control-row:after,.customize-control-radio>.customize-inside-control-row :first-child:nth-last-child(n+5):after,.customize-control-radio>:first-child:nth-last-child(n+5)~.customize-inside-control-row:after{content:" ";display:table;clear:both}.customize-control-checkbox input[type=checkbox]+label:before{border-radius:4px}.customize-control-radio input[type=radio]+label:before{border-radius:50%}.customize-control-radio#customize-control-changeset_status .customize-inside-control-row{margin-top:0;text-indent:0}#customize-theme-controls .customize-control-title{margin-bottom:10px}#customize-theme-controls li.customize-control-title{margin-bottom:0}#customize-theme-controls li.customize-control-title+.customize-control-checkbox,#customize-theme-controls li.customize-control-title+.customize-control-radio{margin-top:0}#customize-theme-controls .customize-control-description{margin-bottom:10px;font-style:normal;opacity:.75;clear:both}#customize-theme-controls .customize-control-textarea .customize-control-description{margin-top:initial}#customize-theme-controls .control-section.open{border-bottom:0;min-height:100%}[data-balloon]{position:relative}[data-balloon]::before{opacity:0;pointer-events:none;-webkit-transition:all .18s ease-out;transition:all .18s ease-out;background:rgba(17,17,17,.9);border-radius:4px;color:#fff;content:attr(data-balloon);font-size:12px;padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[data-balloon]::after{background:no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="36px" height="12px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(0)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');background-size:100% auto;width:18px;height:6px;opacity:0;pointer-events:none;-webkit-transition:all .18s ease-out;transition:all .18s ease-out;content:'';position:absolute;z-index:10}[data-balloon]:hover::after,[data-balloon]:hover::before{opacity:1;pointer-events:auto}[data-balloon][data-balloon-pos=up]::before{bottom:100%;right:50%;margin-bottom:11px;-webkit-transform:translate3d(50%,10px,0);transform:translate3d(50%,10px,0);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up]::after{bottom:100%;right:50%;margin-bottom:5px;-webkit-transform:translate3d(50%,10px,0);transform:translate3d(50%,10px,0);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up]:hover::before{-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}[data-balloon][data-balloon-pos=up]:hover::after{-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}[data-balloon][data-balloon-pos=down]::before{right:50%;margin-top:11px;top:100%;-webkit-transform:translate3d(50%,-10px,0);transform:translate3d(50%,-10px,0)}[data-balloon][data-balloon-pos=down]::after{background:no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="36px" height="12px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(180 18 6)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');background-size:100% auto;width:18px;height:6px;right:50%;margin-top:5px;top:100%;-webkit-transform:translate3d(50%,-10px,0);transform:translate3d(50%,-10px,0)}[data-balloon][data-balloon-pos=down]:hover::before{-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}[data-balloon][data-balloon-pos=down]:hover::after{-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}[data-balloon][data-balloon-pos=left]::before{margin-left:11px;left:100%;top:50%;-webkit-transform:translate3d(-10px,-50%,0);transform:translate3d(-10px,-50%,0)}[data-balloon][data-balloon-pos=left]::after{background:no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12px" height="36px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(-90 18 18)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');background-size:100% auto;width:6px;height:18px;margin-left:5px;left:100%;top:50%;-webkit-transform:translate3d(-10px,-50%,0);transform:translate3d(-10px,-50%,0)}[data-balloon][data-balloon-pos=left]:hover::before{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}[data-balloon][data-balloon-pos=left]:hover::after{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}[data-balloon][data-balloon-pos=right]::before{right:100%;margin-right:11px;top:50%;-webkit-transform:translate3d(10px,-50%,0);transform:translate3d(10px,-50%,0)}[data-balloon][data-balloon-pos=right]::after{background:no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12px" height="36px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(90 6 6)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');background-size:100% auto;width:6px;height:18px;right:100%;margin-right:5px;top:50%;-webkit-transform:translate3d(10px,-50%,0);transform:translate3d(10px,-50%,0)}[data-balloon][data-balloon-pos=right]:hover::before{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}[data-balloon][data-balloon-pos=right]:hover::after{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}[data-balloon][data-balloon-length=small]::before{white-space:normal;width:80px}[data-balloon][data-balloon-length=medium]::before{white-space:normal;width:150px}[data-balloon][data-balloon-length=large]::before{white-space:normal;width:260px}[data-balloon][data-balloon-length=xlarge]::before{white-space:normal;width:380px}@media screen and (max-width:768px){[data-balloon][data-balloon-length=xlarge]::before{white-space:normal;width:90vw}}[data-balloon][data-balloon-length=fit]::before{white-space:normal;width:100%}body.modal-open{overflow:hidden}body.feedback-modal-open #style-manager-user-feedback-modal .modal{overflow-x:hidden;overflow-y:auto;visibility:visible;opacity:1;-webkit-transform:translate(0,0);transform:translate(0,0)}#style-manager-user-feedback-modal{height:100%}#style-manager-user-feedback-modal .modal{position:relative;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;top:0;left:0;bottom:0;right:0;z-index:1050;opacity:0;visibility:hidden;overflow:hidden;outline:0;-webkit-transition:all .3s ease;transition:all .3s ease;-webkit-transform:translate(0,-10%);transform:translate(0,-10%);font-family:'Galano Grotesque Alt',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:400;font-size:16px;line-height:1.7}#style-manager-user-feedback-modal .modal-dialog{position:relative;width:auto;margin:10px;text-align:right}#style-manager-user-feedback-modal .modal-content{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background-color:#fff;background-clip:padding-box;border:none;border-radius:4px;-webkit-box-shadow:0 4px 4px 0 rgba(42,54,52,.1),0 8px 8px 0 rgba(42,54,52,.1),0 16px 16px 0 rgba(42,54,52,.1),0 16px 32px 0 rgba(42,54,52,.1),0 32px 64px 0 rgba(42,54,52,.1),0 64px 128px 0 rgba(42,54,52,.1);box-shadow:0 4px 4px 0 rgba(42,54,52,.1),0 8px 8px 0 rgba(42,54,52,.1),0 16px 16px 0 rgba(42,54,52,.1),0 16px 32px 0 rgba(42,54,52,.1),0 32px 64px 0 rgba(42,54,52,.1),0 64px 128px 0 rgba(42,54,52,.1);outline:0}#style-manager-user-feedback-modal .modal-content p{color:#000}#style-manager-user-feedback-modal .modal-content p a{font-weight:500;color:#9660c6;border-bottom:1px solid #9660c6}#style-manager-user-feedback-modal .modal-content>form{margin-bottom:20px}#style-manager-user-feedback-modal .modal-backdrop{position:fixed;top:0;left:0;bottom:0;right:0;z-index:1040;background-color:#000;opacity:0;visibility:hidden;-webkit-transition:all .3s ease;transition:all .3s ease}.feedback-modal-open #style-manager-user-feedback-modal .modal-backdrop{opacity:.8;visibility:visible}#style-manager-user-feedback-modal .modal-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:30px 48px 10px 48px}#style-manager-user-feedback-modal .modal-header .close.button{top:-10px}#style-manager-user-feedback-modal .modal-header .close.icon{opacity:.5}#style-manager-user-feedback-modal .modal-header .close:hover{opacity:1}#style-manager-user-feedback-modal .modal-title{margin-bottom:10px;line-height:1.5}#style-manager-user-feedback-modal .modal-title.modal-title--small{font-weight:500}#style-manager-user-feedback-modal .modal-body{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:30px 30px 0 30px}#style-manager-user-feedback-modal .modal-body.full{padding:0}#style-manager-user-feedback-modal .modal-body.full .box{padding-top:0;padding-bottom:0;margin-top:0}#style-manager-user-feedback-modal .modal-body.full+.modal-footer.full .box{padding-top:18px}#style-manager-user-feedback-modal .modal-footer{padding:30px;text-align:center}#style-manager-user-feedback-modal .modal-footer .box .button:last-child{margin-bottom:0}#style-manager-user-feedback-modal .modal-footer.full{padding:0}#style-manager-user-feedback-modal .modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}#style-manager-user-feedback-modal .modal-state{display:none}#style-manager-user-feedback-modal .modal-state:checked+.modal{opacity:1;visibility:visible}#style-manager-user-feedback-modal .modal-state:checked+.modal .modal__inner{top:0}@media (min-width:576px){#style-manager-user-feedback-modal .modal-dialog{max-width:655px;margin:30px auto}#style-manager-user-feedback-modal .modal-sm{max-width:300px}}@media (min-width:576px){#style-manager-user-feedback-modal .modal-lg{max-width:800px}}#style-manager-user-feedback .modal-body .box{position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:20px 0;padding:16px 52px;border-radius:4px}#style-manager-user-feedback .modal-body .box>*{width:100%}#style-manager-user-feedback .modal-body p{font-size:16px;margin-bottom:20px}#style-manager-user-feedback .modal-body textarea{width:100%;margin:0;padding:11px 18px;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:none;box-shadow:none;font-family:'Galano Grotesque Alt',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:26px;color:#473850}#style-manager-user-feedback .modal-title{margin-top:0;margin-bottom:34px;font-family:'Galano Classic',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:600;font-size:28px;line-height:1.4;text-align:center}#style-manager-user-feedback .button{text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;position:relative;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(0,0,.58,1);transition-timing-function:cubic-bezier(0,0,.58,1);-webkit-transition-property:background,background-color,color,-webkit-transform,-webkit-box-shadow;transition-property:background,background-color,color,-webkit-transform,-webkit-box-shadow;transition-property:transform,background,background-color,color,box-shadow;transition-property:transform,background,background-color,color,box-shadow,-webkit-transform,-webkit-box-shadow;display:inline-block;padding:15px 50px;font-family:"Galano Classic",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:23px;font-weight:600;text-align:center;background-color:#9660c6;color:#fff;border-radius:4px;-webkit-box-shadow:none;box-shadow:none;height:auto;width:100%;margin-top:20px}#style-manager-user-feedback .button:hover{background-color:#9660c6;color:#fff;-webkit-transform:scale(1.05) translateY(-3px);transform:scale(1.05) translateY(-3px);-webkit-box-shadow:0 10px 20px -10px rgba(0,0,0,.7);box-shadow:0 10px 20px -10px rgba(0,0,0,.7)}#style-manager-user-feedback .second-step{margin-top:18px}#style-manager-user-feedback .error-step,#style-manager-user-feedback .thanks-step{text-align:center}#style-manager-user-feedback .error-step .modal-title,#style-manager-user-feedback .thanks-step .modal-title{margin-bottom:0}#style-manager-user-feedback .error-step p:last-child,#style-manager-user-feedback .thanks-step p:last-child{margin-bottom:10px}.scorecard{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly;color:#9660c6;font-family:"Galano Classic",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:18px;font-weight:600;text-align:center}.scorecard>label{font-size:20px}.scorecard>label span{display:block;width:46px;border:2px solid #9660c6;line-height:46px;border-radius:100%;background:#fff;-webkit-transition:all .25s ease;transition:all .25s ease}.scorecard>label input[type=radio]{display:none}.scorecard>label input[type=radio]:checked~span,.scorecard>label span:hover{background:#9660c6;color:#fff}.select2-container{-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:block;height:28px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-right:8px;padding-left:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-left:8px;padding-right:20px}.select2-container .select2-selection--multiple{-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-right:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:right}.select2-container .select2-search--inline .select2-search__field{-webkit-box-sizing:border-box;box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;position:absolute;right:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{right:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-right-radius:0;border-top-left-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;right:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:left;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;left:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;right:50%;margin-right:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:right}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{right:1px;left:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{-webkit-box-sizing:border-box;box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:left;font-weight:700;margin-top:5px;margin-left:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:right;margin-left:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-left:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:left}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-right:5px;margin-left:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-right:2px;margin-left:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid #000 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-right-radius:0;border-top-left-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-right-radius:0;border-bottom-left-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:100% 0;border:none;outline:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-right:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-right:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-right:-1em;padding-right:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-right:-2em;padding-right:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-right:-3em;padding-right:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-right:-4em;padding-right:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-right:-5em;padding-right:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #dfe8ef;border-radius:4px;outline:0;background-image:-webkit-gradient(linear,right top,right bottom,color-stop(50%,#fff),to(#eee));background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--single:focus{border:1px solid #48a9d7}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:left;font-weight:700;margin-left:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-right:1px solid #dfe8ef;border-top-left-radius:4px;border-bottom-left-radius:4px;height:26px;position:absolute;top:1px;left:1px;width:20px;background-image:-webkit-gradient(linear,right top,right bottom,color-stop(50%,#eee),to(#ccc));background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;right:50%;margin-right:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:right}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-left:1px solid #dfe8ef;border-radius:0;border-top-right-radius:4px;border-bottom-right-radius:4px;right:1px;left:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #48a9d7}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:100% 0;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-right-radius:0;border-top-left-radius:0;background-image:-webkit-gradient(linear,right top,right bottom,from(#fff),color-stop(50%,#eee));background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,right top,right bottom,color-stop(50%,#eee),to(#fff));background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #dfe8ef;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #48a9d7}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #dfe8ef;border-radius:4px;cursor:default;float:right;margin-left:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-left:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:left;margin-right:5px;margin-left:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-right:2px;margin-left:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #48a9d7}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-right-radius:0;border-top-left-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #dfe8ef;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;-webkit-box-shadow:none;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#48a9d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#48a9d7}.select2-container{color:#416b7e;z-index:999999}.select2-container .select2-search--dropdown{padding:6px}.select2-container .select2-search--dropdown .select2-search__field[class]{height:40px;padding:10px 8px}.select2-container input::-webkit-input-placeholder{font-size:14px;color:#999;opacity:1;line-height:1.5}.select2-container input:-moz-placeholder{font-size:14px;color:#999;opacity:1;line-height:1.5}.select2-container input::-moz-placeholder{font-size:14px;color:#999;opacity:1;line-height:1.5}.select2-container input:-ms-input-placeholder{font-size:14px;color:#999;opacity:1;line-height:1.5}.select2-search .select2-search__field[class]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;height:44px}.select2-search .select2-search__field[class]:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.select2-results__option{padding-right:14px;padding-left:14px}#customize-theme-controls .select2-container{width:100%!important}#customize-theme-controls .select2-container.select2-container--focus .select2-selection--multiple{border-color:#48a9d7}#customize-theme-controls .select2-selection--single{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;padding-left:44px;height:44px;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iIzk4QzZERSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);background-repeat:no-repeat;background-position:left 16px top 16px}#customize-theme-controls .select2-selection--single:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}#customize-theme-controls .select2-selection--multiple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;padding:8px 8px 2px}#customize-theme-controls .select2-selection--multiple:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}#customize-theme-controls .select2-selection__rendered{color:inherit;padding-right:0;padding-left:0}#customize-theme-controls .select2-selection--single .select2-selection__rendered{padding-right:0;padding-left:0}#customize-theme-controls .select2-selection__choice{padding:2px 7px 1px;margin-left:6px;margin-top:0}#customize-theme-controls .select2-search__field{min-width:100%;height:29px;margin-top:0;border-width:0}#customize-theme-controls .select2-search--inline .select2-search__field{height:27px;padding:7px 0;min-height:auto}#customize-theme-controls .select2-selection--single:hover{border-color:#48a9d7;background-color:#85c4ea;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);color:#fff}#customize-theme-controls .select2-container--open .select2-selection--single{border-color:#48a9d7;background-color:#85c4ea;background-image:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjkiIHdpZHRoPSIxNSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtLTEtMWg1ODJ2NDAyaC01ODJ6IiBmaWxsPSJub25lIi8+PHBhdGggZD0ibTEzLjQ4MTIgMCAxLjUxODggMS41MTQtNy41IDcuNDg2LTcuNS03LjQ4NiAxLjUxODgtMS41MTQgNS45ODEyIDUuOTY3MnoiIGZpbGw9IiNmZmYiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDAgMCAtMSAxNSA5KSIvPjwvc3ZnPg==);color:#fff;background-position:left 17px top 16px}#customize-theme-controls .select2-container--open .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}#customize-theme-controls .select2-selection__arrow{display:none}.select2-results__group[class]{padding:8px 14px;border-width:1px 0;border-style:solid;border-color:#dfe8ef;background:#f7fbff}.select2-results__group[class]+.select2-results__options{margin-top:6px}.select2-results__option{margin-bottom:0}.select2-results__option+.select2-results__option{margin-top:6px}.select2-results__option[aria-selected=true]{color:inherit!important;background:100% 0!important;opacity:.3;pointer-events:none}@-webkit-keyframes shake{0%,100%,87.5%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}12.5%{-webkit-transform:translate3d(-1%,0,0);transform:translate3d(-1%,0,0)}25%{-webkit-transform:translate3d(2%,0,0);transform:translate3d(2%,0,0)}37.5%{-webkit-transform:translate3d(-3%,0,0);transform:translate3d(-3%,0,0)}50%{-webkit-transform:translate3d(3%,0,0);transform:translate3d(3%,0,0)}62.5%{-webkit-transform:translate3d(-2%,0,0);transform:translate3d(-2%,0,0)}75%{-webkit-transform:translate3d(1%,0,0);transform:translate3d(1%,0,0)}}@keyframes shake{0%,100%,87.5%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}12.5%{-webkit-transform:translate3d(-1%,0,0);transform:translate3d(-1%,0,0)}25%{-webkit-transform:translate3d(2%,0,0);transform:translate3d(2%,0,0)}37.5%{-webkit-transform:translate3d(-3%,0,0);transform:translate3d(-3%,0,0)}50%{-webkit-transform:translate3d(3%,0,0);transform:translate3d(3%,0,0)}62.5%{-webkit-transform:translate3d(-2%,0,0);transform:translate3d(-2%,0,0)}75%{-webkit-transform:translate3d(1%,0,0);transform:translate3d(1%,0,0)}}.input-error{border-color:#9e362f!important}.input-shake{-webkit-animation:shake .5s both;animation:shake .5s both}@media (print),(prefers-reduced-motion:reduce){.input-shake{-webkit-animation:none;animation:none}}@-webkit-keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.button-controls:after{content:" ";display:table;clear:both}.wp-core-ui .button-primary,.wp-core-ui .button-secondary,.wp-core-ui .button:not(.theme-details):not(.collapse-sidebar):not(.wp-color-result){width:auto;padding-right:15px;padding-left:15px;border:0;border-radius:4px;font-weight:400;text-shadow:none;color:#f7fbff;background:#aed2e5;-webkit-box-shadow:0 2px 0 0 #8dbed7;box-shadow:0 2px 0 0 #8dbed7}.wp-core-ui .button-primary:hover,.wp-core-ui .button-secondary:hover,.wp-core-ui .button:not(.theme-details):not(.collapse-sidebar):not(.wp-color-result):hover{color:#fff;text-shadow:none;background:#98c6dd;-webkit-box-shadow:0 2px 0 0 #74a7c2;box-shadow:0 2px 0 0 #74a7c2}.wp-core-ui #customize-header-actions .button-primary{background:#73c5ee;-webkit-box-shadow:0 2px 0 0 #57abd5;box-shadow:0 2px 0 0 #57abd5}.wp-core-ui #customize-header-actions .button-primary:hover{background:#58b0dd;-webkit-box-shadow:0 2px 0 0 #3f8aaf;box-shadow:0 2px 0 0 #3f8aaf}.wp-core-ui #customize-header-actions .button-primary.has-next-sibling{border-left:1px solid #57abd5}.wp-core-ui #customize-header-actions .button-primary:disabled{color:#fff!important;background:#aed2e5!important;opacity:.7;-webkit-box-shadow:0 2px 0 0 #8db5ca!important;box-shadow:0 2px 0 0 #8db5ca!important}.wp-core-ui #customize-header-actions .button-primary:disabled.has-next-sibling{border-left:none}.wp-core-ui #customize-controls .customize-control-reset{padding-top:20px;padding-bottom:20px}.wp-core-ui #customize-controls .control-panel>.customize-control-reset{border-top:1px solid #dfe8ef;padding-right:20px;padding-left:20px}.wp-core-ui #customize-controls [class].customize-control-reset .button,.wp-core-ui #customize-controls [id=customize-control-reset_customify] .button{width:100%;padding:10px 20px;display:block;margin-bottom:2px}#accordion-section-live_css_edit_section .customize-section-title{margin-top:-13px;border-bottom:1px solid #dfe8ef}#accordion-section-live_css_edit_section #css_editor{top:70px;border-top:10px solid #fff;overflow:visible}#accordion-section-live_css_edit_section #css_editor:before{content:"";width:48px;height:10px;display:block;background:#dfe8ef;top:-10px;position:absolute;z-index:10000000;right:0}#accordion-section-live_css_edit_section .ace_scroller{padding-right:10px}.wp-full-overlay.editor_opened{margin-right:500px}.wp-full-overlay.editor_opened #customize-controls{width:500px}.wp-full-overlay.editor_opened.collapsed #customize-controls{width:300px}#customify_import_demo_data_button{width:70%;text-align:center;padding:10px;display:inline-block;height:auto;margin:0 15% 10% 15%}.import_step_note{margin:5px;width:100%;display:inline-block}.import_step_note:before{content:"\1F449"}.import_step_note.success:before{content:"\1F44D"}.import_step_note.failed:before{content:"\274C"}.customize-control-media .current,.customize-control-site_icon .current,li#customize-control-site_logo .current{margin-bottom:10px;min-height:44px;background:#f7fbff;border:2px solid #dfe8ef;border-radius:4px}.customize-control-media .current .container,.customize-control-media .current span,.customize-control-site_icon .current .container,.customize-control-site_icon .current span,li#customize-control-site_logo .current .container,li#customize-control-site_logo .current span{border:none}.customize-control-media .current span,.customize-control-media .inner,.customize-control-site_icon .current span,.customize-control-site_icon .inner,li#customize-control-site_logo .current span,li#customize-control-site_logo .inner{font-size:13px;color:#98c6dd}.customize-control-media .inner,.customize-control-site_icon .inner,li#customize-control-site_logo .inner{line-height:1.4}.customize-control-media .thumbnail-image,.customize-control-site_icon .thumbnail-image,li#customize-control-site_logo .thumbnail-image{padding:14px;text-align:center}.customize-control-media .thumbnail-image img,.customize-control-site_icon .thumbnail-image img,li#customize-control-site_logo .thumbnail-image img{width:auto}.customize-control-media .actions,.customize-control-site_icon .actions,li#customize-control-site_logo .actions{margin-bottom:0}.section-navigation-wrapper{position:relative;height:43px;margin:-15px -12px 0 -12px;margin-left:-20px;margin-right:-20px}.section-navigation{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;border-top:1px solid #dfe8ef}.section-navigation a{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;display:block;padding:12px 0;color:#2a3b44;background-color:#fff;text-align:center;text-decoration:none;-webkit-transition:background-color .15s ease-in-out;transition:background-color .15s ease-in-out}.section-navigation a:not(:last-child){border-left:1px solid #dfe8ef}.section-navigation a:focus{position:relative}#customize-controls .customize-info.is-sticky.is-sticky,#customize-controls .customize-section-title.is-sticky.is-sticky{top:40px}#customize-controls .customize-info.is-in-view.is-in-view,#customize-controls .customize-section-title.is-in-view.is-in-view{-webkit-box-shadow:none;box-shadow:none}#customize-controls .customize-section-description-container.section-meta.has-nav{margin-bottom:0}#customize-controls .customize-section-description-container.section-meta.has-nav+.screen-reader-text+.customize-control-html .separator.section{margin-top:-20px}#customize-controls .customize-section-description-container.section-meta.has-nav+.screen-reader-text+.customize-control-html .separator.section:before{border-top:0}#customize-theme-controls .separator.label{display:block;font-size:14px;line-height:24px;font-weight:500}#customize-theme-controls .separator.large{margin-top:10px;font-size:16px;color:#2a3b44}#customize-theme-controls .separator.section:before,#customize-theme-controls .separator.sub-section:before{content:"";position:absolute;top:0;bottom:0;right:-20px;left:-20px;z-index:-1;border-width:1px 0;border-style:solid;border-color:#dfe8ef;background-color:#fff}#customize-theme-controls .separator.section+.customize-control-description,#customize-theme-controls .separator.sub-section+.customize-control-description{margin-top:20px}#customize-theme-controls .separator.section{position:relative;padding:14px 0;margin-bottom:0;background:100% 0;border:none}#customize-theme-controls .separator.section:before{border-width:1px 0}#customize-theme-controls .separator.sub-section{position:relative;padding:12px 0}#customize-theme-controls .separator.sub-section:before{border-width:1px 0;background-color:#fff}#customize-theme-controls .widget-content .accordion-container{margin-right:-10px;margin-left:-10px;margin-top:20px;margin-bottom:10px}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-content{position:relative;right:0;max-height:0;padding-top:0;padding-bottom:0;overflow:hidden;-webkit-transition:all .4s ease;transition:all .4s ease;color:#416b7e}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-content p:first-child{margin-top:0}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-content p:last-child{margin-bottom:0}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-title{color:#2a3b44}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-title:after{content:"\f142";-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}#customize-theme-controls .widget-content .accordion-container .accordion-section.open{border-bottom:none}#customize-theme-controls .widget-content .accordion-container .accordion-section.open .accordion-section-content{max-height:100%;padding-top:17px;padding-bottom:17px}#customize-theme-controls .widget-content .accordion-container .accordion-section.open .accordion-section-title{border-bottom:1px solid}#customize-theme-controls .widget-content .accordion-container .accordion-section.open .accordion-section-title:after{-webkit-transform:rotate(0);transform:rotate(0)}#customize-theme-controls .widget-content .accordion-container label.customize-control-title{cursor:default}.widget .widget-content>p input[type=checkbox],.widget .widget-content>p input[type=radio]{margin-bottom:3px;margin-top:3px}.widget .widget-content small{margin-top:5px;display:block}#available-widgets [class*=categories-image-grid] .widget .widget-title:before,#available-widgets [class*=featured-posts] .widget .widget-title:before,#available-widgets [class*=pixelgrade] .widget .widget-title:before{content:"\f538";color:#9660c6}#available-widgets [class*=pixelgrade-featured-posts-slideshow] .widget .widget-title:before{content:"\f233"}#available-widgets [class*=pixelgrade-featured-posts-carousel] .widget .widget-title:before{content:"\f169"}#available-widgets [class*=featured-posts-grid] .widget .widget-title:before{content:"\f180"}#available-widgets [class*=featured-posts-list] .widget .widget-title:before{content:"\f164"}#available-widgets [class*=categories-image-grid] .widget .widget-title:before{content:"\f163"}#available-widgets [class*=pixelgrade-promo-box] .widget .widget-title:before{content:"\f488"}.wp-customizer .widget-conditional .condition-control:after{content:" ";display:table;clear:both}.wp-customizer .widget-conditional .selection{padding-left:50px;padding-right:28px;padding-bottom:19px;margin-right:0;margin-left:0;margin-bottom:10px;border-bottom:1px solid #dfe8ef}.wp-customizer .widget-conditional .condition:last-child .selection{border:0}.wp-customizer .widget-conditional select{max-width:100%;width:170px}.wp-customizer .widget-conditional .condition-top select{width:130px}.customize-control-color{display:block}.customize-control-color .customize-control-title{float:right}.customize-control-color .wp-picker-container{position:relative;float:left;top:-3px}.customize-control-color .wp-picker-container .wp-picker-holder{position:relative}.customize-control-color .wp-picker-container .wp-color-result,.customize-control-color .wp-picker-container .wp-color-result.button{top:0;height:30px;width:40px;margin:0;padding:0;border-radius:4px;background:#2ecc71;border:2px solid #b8daeb;-webkit-box-shadow:none;box-shadow:none}.customize-control-color .wp-picker-container .wp-color-result.button.wp-picker-open,.customize-control-color .wp-picker-container .wp-color-result.wp-picker-open{border-color:#48a9d7}.customize-control-color .wp-picker-container .wp-color-result .wp-color-result-text,.customize-control-color .wp-picker-container .wp-color-result.button .wp-color-result-text,.customize-control-color .wp-picker-container .wp-color-result.button:after,.customize-control-color .wp-picker-container .wp-color-result:after{display:none}.customize-control-color .wp-picker-container .iris-picker{position:absolute;top:42px;left:0;z-index:1000;width:275px!important;border-radius:0 0 3px 3px;border:1px solid #dfe8ef;border-top:none;background:#fff;-webkit-box-shadow:0 7px 8px 0 rgba(0,0,0,.1);box-shadow:0 7px 8px 0 rgba(0,0,0,.1)}.customize-control-color .wp-picker-container .iris-picker .iris-square{width:215px!important;height:173px!important;margin-left:0}.customize-control-color .wp-picker-container .iris-picker .iris-strip{float:left;-webkit-box-shadow:rgba(0,0,0,.4) 0 1px 1px inset;box-shadow:rgba(0,0,0,.4) 0 1px 1px inset}.customize-control-color .wp-picker-container .iris-picker .iris-strip .ui-slider-handle{border-color:#aaa!important;opacity:1;-webkit-box-shadow:none;box-shadow:none}.customize-control-color .wp-picker-container .iris-picker .iris-palette{width:24px!important;height:24px!important;border-radius:50px;-webkit-box-shadow:rgba(0,0,0,.4) 0 1px 1px inset;box-shadow:rgba(0,0,0,.4) 0 1px 1px inset}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap{position:absolute;top:35px;left:0;z-index:1000;width:277px;padding:9px 12px;border:1px solid #dfe8ef;border-bottom:none;border-radius:3px 3px 0 0;-webkit-box-shadow:0 7px 8px 0 rgba(0,0,0,.1);box-shadow:0 7px 8px 0 rgba(0,0,0,.1);background:#fff}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap:after,.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap:before{content:"";position:absolute;bottom:100%;left:12px;width:0;height:0;border:9px solid transparent}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap:before{z-index:100;border-bottom-color:#b8daeb;border-width:10px}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap:after{z-index:101;border-bottom-color:#fff;margin-left:1px}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap input.wp-color-picker{float:right;width:100px;font-size:13px;text-align:right;margin:0;padding:0 12px;height:auto;font-family:Courier,monospace}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap input.button{float:left;padding:2px 12px;height:30px}.customize-control-custom_background .hide{display:none}.customize-control-custom_background .upload_button_div{margin:10px 0}.customize-control-custom_background .upload_button_div>*{margin-left:10px}.customize-control-custom_background .preview_screenshot{text-align:center;margin:10px 0}.customize-control-custom_background .preview_screenshot img{border:2px solid #ccc}.font-options__wrapper{position:relative}.font-options__wrapper:after{content:"";position:absolute;top:90%;right:0;left:0;z-index:0;display:block;height:30px}.customize-control-font:last-child{margin-bottom:150px}.font-options__head{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;padding-left:44px;height:44px;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iIzk4QzZERSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);background-repeat:no-repeat;background-position:left 16px top 16px;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;text-overflow:ellipsis;white-space:nowrap;-webkit-appearance:none}.font-options__head:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.font-options__head:hover{border-color:#48a9d7;background-color:#85c4ea;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);color:#fff}.font-options__checkbox:checked~.font-options__head{border-color:#48a9d7;background-color:#85c4ea;background-image:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjkiIHdpZHRoPSIxNSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtLTEtMWg1ODJ2NDAyaC01ODJ6IiBmaWxsPSJub25lIi8+PHBhdGggZD0ibTEzLjQ4MTIgMCAxLjUxODggMS41MTQtNy41IDcuNDg2LTcuNS03LjQ4NiAxLjUxODgtMS41MTQgNS45ODEyIDUuOTY3MnoiIGZpbGw9IiNmZmYiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDAgMCAtMSAxNSA5KSIvPjwvc3ZnPg==);color:#fff}.font-options__checkbox:not(:checked)~.font-options__head:not(:hover) .font-options__font-title{color:#98c6dd}.font-options__font-title{font-size:12px;line-height:20px;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.font-options__option[class]{margin-bottom:0}.font-options__option+.font-options__option{margin-top:12px}.font-options__option label{display:block;margin-bottom:6px}input.font-options__checkbox{display:none}.font-options__options-list{position:absolute;top:100%;right:-12px;left:-12px;z-index:10;display:block;padding:10px 10px 14px;margin-top:5px;border:1px solid #b8daeb;border-radius:4px;-webkit-box-shadow:0 5px 10px 0 rgba(0,0,0,.125);box-shadow:0 5px 10px 0 rgba(0,0,0,.125);background-color:#fff}.font-options__options-list:after,.font-options__options-list:before{content:"";position:absolute;bottom:100%;left:26px;border:10px solid transparent}.font-options__options-list:before{z-index:100;border-bottom-color:#b8daeb;border-width:11px}.font-options__options-list:after{z-index:101;border-bottom-color:#f7fbff;margin-left:1px}.font-options__options-list label{font-size:13px}.font-options__checkbox:not(:checked)~.font-options__options-list{display:none}.default-preset-button{background-color:#f5f6f6;float:left;padding:1px 8px;border-radius:4px;border:1px solid #cbcbcb;margin-left:4px;font-family:"Open Sans",sans-serif}.js-customify-preset.radio_buttons .customify_radio_button{border:none;display:inline-block;padding:2px;margin:3px;position:relative;overflow:hidden;height:auto}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]{opacity:0;width:100%;height:100%;position:absolute;z-index:9999}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]:checked+label{background-color:#ebebeb}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]:checked+label:before{content:'>';color:inherit}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]:checked+label:after{content:'<';color:inherit}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]:checked:before{opacity:0}.js-customify-preset.radio_buttons .customify_radio_button label{position:relative;z-index:999;border-right:4px solid}.js-customify-preset .awesome_preset{position:relative;display:inline-block;width:45%;margin-top:5px;margin-bottom:25px;text-align:center;color:#fff;-webkit-transition:all .2s;transition:all .2s}.js-customify-preset .awesome_preset:hover{opacity:.9}.js-customify-preset .awesome_preset:before{content:'';position:absolute;top:1px;right:1px;left:1px;bottom:1px;z-index:5;border:1px solid #fff;border-radius:4px;background:100% 0;opacity:.5}.js-customify-preset .awesome_preset .preset-wrap .preset-color{height:128px;border-radius:4px 4px 0 0;padding:17px 0 27px}.js-customify-preset .awesome_preset .preset-wrap .preset-color .first-font{display:inline-block;width:100%;font-size:55px;line-height:1}.js-customify-preset .awesome_preset .preset-wrap .preset-color .secondary-font{display:inline-block;width:100%;font-size:20px;line-height:1;margin-top:8px}.js-customify-preset .awesome_preset .preset-wrap .preset-name{position:relative;font-size:11px;text-transform:uppercase;border-radius:0 0 4px 4px;padding:1px}.js-customify-preset .awesome_preset .preset-wrap .preset-name:before{content:'';position:absolute;border-color:inherit;border:10px solid;border-right-color:transparent;border-left-color:transparent;border-top:transparent;top:-10px;border-bottom-color:inherit;right:40%}.js-customify-preset .awesome_preset:nth-child(odd){margin-left:7%}.js-customify-preset .awesome_preset input[type=radio]{height:100%;width:100%;position:absolute;border:0;-webkit-box-shadow:none;box-shadow:none;color:#006505;background-color:transparent;border-radius:0;margin:0;display:inline-block;top:0;right:0;z-index:10}.js-customify-preset .awesome_preset input[type=radio]:checked{background:100% 0}.js-customify-preset .awesome_preset input[type=radio]:checked:before{position:absolute;height:25px;width:25px;top:-13px;left:-14px;background:#fff;z-index:1}.js-customify-preset .awesome_preset input[type=radio]:checked:after{content:'';position:absolute;width:26px;height:26px;border-radius:50%;top:-5px;left:-5px;z-index:10;background:#73c5ee url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjEzcHgiIGhlaWdodD0iOXB4IiB2aWV3Qm94PSIwIDAgMTMgOSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJDdXN0b21pZnktQ29weSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIxLjAwMDAwMCwgLTQwOC4wMDAwMDApIiBmaWxsPSIjRkZGRkZGIj4KICAgICAgICAgICAgPGcgaWQ9IkhlYWRlciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIxLjAwMDAwMCwgNDcuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0iQ29udGVudCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAuMDAwMDAwLCA3NS4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iRmllbGQtLS1DaGVja2JveC1Db3B5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNy4wMDAwMDAsIDI0OS4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IkNoZWNrYm94IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwgMzAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAuMDM4NDk1LDE2IEwxNy4xMTYxMzc1LDguOTIxNDg3NiBMMTUuMTk0NjQ5OCw3IEwxMC4wMzg0OTUsMTIuMTU1MDY3NCBMNi45MjE0ODc2LDkuMDM4OTI5OTcgTDUsMTAuOTYwNDE3NiBMMTAuMDM4NDk1LDE2IFoiIGlkPSJQYWdlLTEiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+) no-repeat;background-position:center center}.customify_radio_html{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin-top:-10px;margin-right:-10px}.customify_radio_html label{display:block;padding-top:10px;padding-right:10px;-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%}.customify_radio_html label>input+div{border-color:#dfe8ef;height:100%}.customify_radio_html label:hover{background-color:rgba(255,255,255,.2)}.customify_radio_html input{display:none}.customify_radio_html input+div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border:2px solid transparent;border-radius:.5em;padding:20px}.customify_radio_html input:checked+div{border-color:#5ab9e8}.customify_radio_image{display:inline-block}.customify_radio_image label{display:block;float:right;margin-left:10px;position:relative}.customify_radio_image label input[type=radio]{position:absolute;top:0;bottom:0;right:0;left:0;width:100%;height:100%;visibility:hidden}.customify_radio_image label input[type=radio] img{cursor:pointer;border:2px solid transparent}.customify_radio_image label input[type=radio]:checked+img{border:3px solid #73c5ee}.customize-control-range:after{content:" ";display:table;clear:both}.customize-control-range input[type=range]{float:right;width:calc(100% - 70px);margin:3px 0 0}.customize-control-range input[type=number]{width:50px;height:auto;float:left;padding:2px 3px;font-size:13px;text-align:center}.customize-control-range input[type=number]::-webkit-inner-spin-button,.customize-control-range input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sm-palette-filter .sm-color-palette__colors{width:auto;height:auto;padding:10px 10px;border-radius:999em}.sm-palette-filter .sm-color-palette__picker:after{-webkit-box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2);box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2)}.sm-palette-filter>label{position:relative;display:block;margin:0 0 10px}.sm-palette-filter>label:hover .filter-label{opacity:1}.sm-palette-filter>input{display:none}.sm-palette-filter .filter-label{position:absolute;top:0;right:0;z-index:10;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.sm-palette-filter .filter-label span{position:relative;z-index:20}.sm-palette-filter .filter-label:after{content:"";display:block;position:absolute;top:0;right:0;z-index:10;width:100%;height:100%;background-color:#fff;-webkit-box-shadow:#dfe8ef 0 0 0 1px;box-shadow:#dfe8ef 0 0 0 1px;border-radius:999em}.sm-palette-filter>input:checked+label .filter-label:after{background-color:#f7fbff;-webkit-box-shadow:none;box-shadow:none}.sm-palette-filter>input:checked+label .sm-color-palette__colors{background-color:#f7fbff;-webkit-box-shadow:#48a9d7 0 0 0 2px;box-shadow:#48a9d7 0 0 0 2px}.customize-control-sm_palette_filter .customize-control-title{display:none}.customize-control-radio[class][id=customize-control-sm_palette_filter_control]>.customize-inside-control-row:not(:only-of-type){display:block;width:auto}.sm-radio-group{position:relative;border-radius:999em;overflow:hidden;height:2.428em;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;color:#416b7e;font-size:14px;-webkit-font-smoothing:antialiased;font-weight:600;line-height:1.142em}.sm-radio-group>*{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0}.sm-radio-group:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;border:.142em solid #48a9d7;border-radius:999em;pointer-events:none}.sm-radio-group input[type=radio]{display:none}.sm-radio-group input[type=radio]:checked+label{background-color:#48a9d7;color:#fff}.sm-radio-group input[type=radio]:checked+label:before{content:"";display:inline-block;color:inherit;position:relative;top:.285em;margin-left:.45em;height:.8em;width:.55em;border-left:2px solid;border-bottom:2px solid;-webkit-transform:translateY(-50%) rotate(-45deg);transform:translateY(-50%) rotate(-45deg)}.sm-radio-group label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;cursor:pointer;-webkit-transition:all .25s ease;transition:all .25s ease;color:inherit}.sm-radio-group label:hover{color:#416b7e}.sm-radio-group label:nth-of-type(2){border-right:2px solid #48a9d7;border-left:2px solid #48a9d7}[id=customize-control-sm_coloration_level_control] .sm-radio-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}[id=customize-control-sm_coloration_level_control] .sm-radio-group>*{-webkit-box-flex:0;-ms-flex:0 0 33.33%;flex:0 0 33.33%}[id=customize-control-sm_coloration_level_control] .sm-radio-group input[type=radio]:last-of-type:checked+label{background:-webkit-gradient(linear,right top,left top,from(#3daae0),to(#d557be));background:linear-gradient(-90deg,#3daae0 0,#d557be 100%)}[id=customize-control-sm_coloration_level_control] .sm-radio-group input[type=radio]:nth-of-type(1):checked~label:last-of-type,[id=customize-control-sm_coloration_level_control] .sm-radio-group input[type=radio]:nth-of-type(2):checked~label:last-of-type{margin-left:-33.33%}[id=customize-control-sm_coloration_level_control] .sm-radio-group label:nth-of-type(1){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}[id=customize-control-sm_coloration_level_control] .sm-radio-group label:nth-of-type(2){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3;border-right:2px solid #48a9d7;border-left:2px solid #48a9d7}[id=customize-control-sm_coloration_level_control] .sm-radio-group label:nth-of-type(3){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}[id=customize-control-sm_coloration_level_control] .sm-radio-group label:nth-of-type(4){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;border-right:2px solid #48a9d7}[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize li.customize-control-sm_switch{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding-top:42px;padding-bottom:42px}[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize li.customize-control-sm_switch .customize-control-title{display:inline-block}.sm-switch{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;overflow:hidden;position:relative;height:2.428em;max-width:5.5em;border-radius:999em;color:#fff;font-size:14px;-webkit-font-smoothing:antialiased;font-weight:600;line-height:1.142em;z-index:10}.sm-switch input[type=radio]{display:none}.sm-switch input[type=radio]+label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%}.sm-switch input[type=radio]+label,.sm-switch input[type=radio]+label:after{-webkit-transition:all .2s ease-out;transition:all .2s ease-out}.sm-switch input[type=radio]:checked+label{pointer-events:none}.sm-switch input[type=radio]:nth-of-type(1)+label{padding-right:1.214em}.sm-switch input[type=radio]:nth-of-type(1)+label:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background-color:#48a9d7;z-index:-1}.sm-switch input[type=radio]:nth-of-type(1):not(:checked)+label{-webkit-transform:translateX(100%) translateX(-2.125em);transform:translateX(100%) translateX(-2.125em)}.sm-switch input[type=radio]:nth-of-type(1):not(:checked)+label:after{background:#ccc;-webkit-transform:translateX(-100%) translateX(2.125em);transform:translateX(-100%) translateX(2.125em)}.sm-switch input[type=radio]:nth-of-type(1):not(:checked)+label~label{-webkit-transform:translateX(100%);transform:translateX(100%)}.sm-switch input[type=radio]:nth-of-type(1):checked+label~label{-webkit-transform:translateX(2.4em);transform:translateX(2.4em)}.sm-switch input[type=radio]:nth-of-type(1):checked+label~label:before{-webkit-transform:translateX(100%) translateX(-2.125em);transform:translateX(100%) translateX(-2.125em)}.sm-switch input[type=radio]:nth-of-type(2)+label{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;padding-left:1em}.sm-switch input[type=radio]:nth-of-type(2)+label:before{content:"";position:absolute;top:0;left:0;bottom:0;right:0}.sm-switch input[type=radio]:nth-of-type(2)+label:after{content:"";display:block;height:2.142em;width:2.142em;margin-left:auto;margin-right:.125em;border-radius:50%;background-color:#fff;-webkit-box-shadow:-1px 2px 2px 0 rgba(23,21,21,.15);box-shadow:-1px 2px 2px 0 rgba(23,21,21,.15);pointer-events:none}.sm-tabs{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 16px;text-align:center;border-bottom:1px solid #dfe8ef}.sm-tabs__item{position:relative;padding:12px 0;margin-bottom:-1px;-ms-flex-preferred-size:31%;flex-basis:31%;font-size:14px;color:#416b7e;opacity:.7;cursor:pointer;-webkit-transition:color .2s ease;transition:color .2s ease}.sm-tabs__item:after{content:"";position:absolute;bottom:0;right:0;width:100%;height:3px;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transition:all .2s ease;transition:all .2s ease}.sm-tabs__item:not(.sm-tabs__item--active):not(:hover):after{-webkit-transform:scaleY(0);transform:scaleY(0)}.sm-tabs__item:not(.sm-tabs__item--active):hover:after{background-color:#b8daeb}.sm-tabs__item--active{color:#2a3b44}.sm-tabs__item--active:after{background-color:#48a9d7}.customize-control-color-palette .customize-inside-control-row{position:relative;display:block;width:100%!important;height:64px;margin-right:0!important;overflow:hidden;text-indent:0!important;background-size:cover;background-position:50% 50%;border-radius:5px}.customize-control-color-palette .customize-inside-control-row+.customize-inside-control-row{margin-top:15px}.customize-control-color-palette .customize-inside-control-row:before{content:'';position:absolute;top:0;bottom:0;right:0;left:0;z-index:10;pointer-events:none;-webkit-box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2);box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2)}.customize-control-color-palette .customize-inside-control-row:hover:before{-webkit-box-shadow:inset 0 0 3px 0 rgba(0,0,0,.4);box-shadow:inset 0 0 3px 0 rgba(0,0,0,.4)}.customize-control-color-palette .customize-inside-control-row:hover .palette__item{-webkit-transform:translateY(0);transform:translateY(0)}.customize-control-color-palette .customize-inside-control-row:hover label{right:10px}.customize-control-color-palette .customize-inside-control-row input{opacity:0}.customize-control-color-palette .customize-inside-control-row input:checked+label .preview__letter--checked{display:inline-block;vertical-align:middle}.customize-control-color-palette .customize-inside-control-row input:checked+label .preview__letter{display:none}.customize-control-color-palette .customize-inside-control-row label{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;z-index:2;width:100%;height:100%;top:0;right:0;padding:0 10px;margin-top:0!important;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:all .3s ease;transition:all .3s ease}.customize-control-color-palette .customize-inside-control-row .palette{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;top:0;right:0;z-index:1;width:100%;height:100%;-webkit-transition:all .2s ease;transition:all .2s ease}.customize-control-color-palette .customize-inside-control-row .palette__item{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:all .3s ease;transition:all .3s ease}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(1){-webkit-transition-delay:0s;transition-delay:0s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(2){-webkit-transition-delay:.05s;transition-delay:.05s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(3){-webkit-transition-delay:.1s;transition-delay:.1s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(4){-webkit-transition-delay:.15s;transition-delay:.15s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(5){-webkit-transition-delay:.2s;transition-delay:.2s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(6){-webkit-transition-delay:.25s;transition-delay:.25s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(7){-webkit-transition-delay:.3s;transition-delay:.3s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(8){-webkit-transition-delay:.35s;transition-delay:.35s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(9){-webkit-transition-delay:.4s;transition-delay:.4s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(10){-webkit-transition-delay:.45s;transition-delay:.45s}.customize-control-color-palette .customize-inside-control-row .preview__letter,.customize-control-color-palette .customize-inside-control-row .preview__letter--checked{display:inline-block;padding:3px;border-radius:2px;color:#fff;margin-left:5px;min-height:26px;min-width:26px;text-align:center;background-position:center center;background-repeat:no-repeat;background-size:15px 15px;font-style:normal;vertical-align:baseline}.customize-control-color-palette .customize-inside-control-row .preview__letter--checked{display:none}[id*=sm_current_color_palette_control] .customize-inside-control-row .palette__item[class]{-webkit-transform:none;transform:none}[id*=sm_current_color_palette_control] .variation-control{display:-webkit-box;display:-ms-flexbox;display:flex}.label{margin-left:auto}.label__inner{color:#000;background:#f5f6f1;padding:7px 7px 7px 12px;z-index:2;border-radius:3px;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.15);box-shadow:0 2px 5px rgba(0,0,0,.15)}#customize-theme-controls [id*=sm_current_color_palette_control]{display:block;width:auto}#customize-theme-controls [id*=sm_current_color_palette_control] .color-palette-container{background:#fff}#customize-theme-controls [id*=sm_current_color_palette_control] .color-palette-container .description{margin-bottom:15px}#customize-theme-controls [id*=sm_current_color_palette_control] .description.c-color-palette__notification{padding-top:19px;margin-bottom:0;font-size:inherit;font-weight:700}.c-color-palette__fields{position:relative}.c-color-palette .iris-picker{position:absolute;top:100%;right:0;z-index:100;margin-top:1em;border:0;-webkit-box-shadow:#000 0 3px 12px -4px;box-shadow:#000 0 3px 12px -4px}.c-color-palette .iris-picker .iris-square-handle{border-color:transparent;right:-6px;top:-6px}.c-color-palette .iris-picker .iris-square-handle:after{position:absolute;bottom:0;left:0;right:0;top:0;border:2px solid #dfe8ef}.c-color-palette .iris-picker .iris-square-value{-webkit-box-shadow:none!important;box-shadow:none!important}input.c-color-palette__input[class]{margin-top:1em}#customize-control-sm_toggle_advanced_settings_control{margin-bottom:0;opacity:0}#customize-control-sm_toggle_advanced_settings_control button{width:100%}.customize-control-color .wp-picker-container .iris-picker .iris-palette-container{display:-webkit-box;display:-ms-flexbox;display:flex;width:215px}.customize-control-color .wp-picker-container .iris-picker .iris-palette{width:auto!important;height:auto!important;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;float:none}.customize-control-color .wp-picker-container .iris-picker .iris-palette:after{content:"";display:block;padding-top:100%}.c-color-palette{padding:30px 20px 18px}[id=customize-control-sm_current_color_palette_control][id]{margin-bottom:0}[id=customize-control-sm_current_color_palette_control][id]~.customize-control{background-color:#fff;margin-top:0;padding:24px 20px 0}#customize-control-sm_dark_color_primary_slider_control,#customize-control-sm_dark_color_secondary_slider_control,#customize-control-sm_dark_color_tertiary_slider_control{display:none!important}[id=sub-accordion-section-sm_color_palettes_section]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:20px 0 0!important;overflow:hidden}[id=sub-accordion-section-sm_color_palettes_section] #customize-control-sm_color_palette_control{-ms-flex-negative:0;flex-shrink:0;overflow-y:scroll;margin-bottom:0;padding-top:20px}[id=sub-accordion-section-sm_color_palettes_section]>*{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0 20px}[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_current_color_palette_control]~*{display:none!important}[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_customize_description_after_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_customize_description_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_filters_description_after_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_filters_description_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_palettes_description_after_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_palettes_description_control] span{margin:0}[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_filters_description_after_control][id].customize-control{padding-top:20px}[id=sub-accordion-section-sm_color_palettes_section].sm-view-palettes [id=customize-control-sm_color_palette_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-palettes [id=customize-control-sm_palettes_description_after_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-palettes [id=customize-control-sm_palettes_description_control]{display:block!important}[id=sub-accordion-section-sm_color_palettes_section].sm-view-filters [id=customize-control-sm_filters_description_after_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-filters [id=customize-control-sm_filters_description_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-filters [id=customize-control-sm_palette_filter_control]{display:block!important}[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_color_diversity_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_coloration_level_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_customize_description_after_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_customize_description_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_dark_mode_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_shuffle_colors_control]{display:block!important}[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_spacing_bottom_control][id]{display:block!important;min-height:24px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}[id=customize-control-sm_color_palette_control] .customize-control-description,[id=customize-control-sm_color_palette_control] .customize-control-title{display:none}.color[class*=sm_color][class*="_connected"],.color[class*=sm_dark][class*="_connected"],.color[class*=sm_light][class*="_connected"]{display:none}.c-color-palette__colors{position:relative}.c-color-palette canvas,.c-color-palette svg{max-width:100%;height:auto}.c-color-palette__fields{position:absolute;top:100%;right:0;left:0;z-index:100}[id=sub-accordion-section-sm_color_palettes_section]>.customize-section-description-container{margin-bottom:0}#customize-theme-controls .control-panel-content:not(.control-panel-nav_menus) .control-section:nth-child(2),#customize-theme-controls .control-panel-nav_menus .control-section-nav_menu,#customize-theme-controls .control-section-nav_menu_locations .accordion-section-title{border-top:0}.sm-color-palette__colors{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:3em}.sm-color-palette__color{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;overflow:hidden;-webkit-transition:flex-grow .3s cubic-bezier(.18,.89,.32,1.28),-webkit-box-flex .3s cubic-bezier(.18,.89,.32,1.28);transition:flex-grow .3s cubic-bezier(.18,.89,.32,1.28),-webkit-box-flex .3s cubic-bezier(.18,.89,.32,1.28);transition:flex-grow .3s cubic-bezier(.18,.89,.32,1.28);transition:flex-grow .3s cubic-bezier(.18,.89,.32,1.28),-webkit-box-flex .3s cubic-bezier(.18,.89,.32,1.28),-ms-flex-positive .3s cubic-bezier(.18,.89,.32,1.28)}.sm-color-palette__color.hidden{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-webkit-transition:flex-grow .3s cubic-bezier(.6,-1,.74,.05),-webkit-box-flex .3s cubic-bezier(.6,-1,.74,.05);transition:flex-grow .3s cubic-bezier(.6,-1,.74,.05),-webkit-box-flex .3s cubic-bezier(.6,-1,.74,.05);transition:flex-grow .3s cubic-bezier(.6,-1,.74,.05);transition:flex-grow .3s cubic-bezier(.6,-1,.74,.05),-webkit-box-flex .3s cubic-bezier(.6,-1,.74,.05),-ms-flex-positive .3s cubic-bezier(.6,-1,.74,.05)}.sm-color-palette__disc{position:absolute;top:0;left:0;bottom:0;right:0;z-index:15;display:block;overflow:hidden;pointer-events:none;-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.sm-color-palette__disc:after{content:"";-webkit-filter:blur(6px) saturate(.7) brightness(1.1);filter:blur(6px) saturate(.7) brightness(1.1);display:block;width:200%;height:200%;padding-top:100%;position:absolute;top:-50%;right:-50%;-webkit-transform:scale(1);transform:scale(1);background-image:linear-gradient(-330deg,transparent 50%,#ff8100 0),linear-gradient(-300deg,transparent 50%,#ff5800 0),linear-gradient(-270deg,transparent 50%,#c92323 0),linear-gradient(-240deg,transparent 50%,#cc42a2 0),linear-gradient(-210deg,transparent 50%,#9f49ac 0),linear-gradient(-180deg,transparent 50%,#306cd3 0),linear-gradient(-150deg,transparent 50%,#179067 0),linear-gradient(-120deg,transparent 50%,#0eb5d6 0),linear-gradient(-90deg,transparent 50%,#50b517 0),linear-gradient(-60deg,transparent 50%,#ede604 0),linear-gradient(-30deg,transparent 50%,#fc0 0),linear-gradient(0deg,transparent 50%,#feac00 0);background-clip:content-box,content-box,content-box,content-box,content-box,content-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box}.sm-color-palette__color:not(.altered) .sm-color-palette__disc{opacity:0}.sm-color-palette__picker{position:relative;top:0;right:50%;width:80%;max-width:3em;margin-top:auto;margin-bottom:auto;border-radius:50%;overflow:hidden;-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0);-webkit-transition:opacity .3s ease-in-out,border-color .3s ease-in-out;transition:opacity .3s ease-in-out,border-color .3s ease-in-out;cursor:pointer}.sm-color-palette__picker>i{display:block;position:absolute;top:0;left:0;bottom:0;right:0;-webkit-box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2);box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2);border-radius:50%;pointer-events:none;z-index:20}.sm-color-palette__picker:after,.sm-color-palette__picker:before{content:"";display:block;background:currentColor;border-radius:50%}.sm-color-palette__picker:before{padding-top:100%}.sm-color-palette__picker:after{position:absolute;top:0;right:0;width:100%;height:100%}.sm-color-palette__color.hidden .sm-color-palette__picker{opacity:0;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.sm-color-palette__color.inactive .sm-color-palette__picker{opacity:.2}.sm-color-palette__color.inactive .sm-color-palette__picker:hover{opacity:1}.sm-color-palette__color.js-no-picker .sm-color-palette__picker{cursor:not-allowed}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title{border-bottom:1px solid #dfe8ef}#customize-controls #accordion-section-sm_color_palettes_section+#accordion-section-sm_font_palettes_section>.accordion-section-title{margin-top:5px;border-top-width:1px}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title,#customize-controls #accordion-section-sm_font_palettes_section>.accordion-section-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title:before,#customize-controls #accordion-section-sm_font_palettes_section>.accordion-section-title:before{font-family:dashicons;font-size:17px;-webkit-font-smoothing:antialiased}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title:before,#customize-controls #accordion-section-sm_font_palettes_section>.accordion-section-title:before{width:2em;height:2em;margin-left:15px;padding-right:.1em;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;background-color:#85c4ea;color:#f7fbff;border-radius:50%}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title:before{content:"\f100"}#customize-controls #accordion-section-sm_font_palettes_section>.accordion-section-title:before{content:"\f122"}.customize-control-font-palette .customize-inside-control-row{position:relative;padding-top:52%;margin-right:0;overflow:hidden;background-color:#fff;background-size:contain;background-repeat:no-repeat;background-position:left center;border-radius:4px}.customize-control-font-palette .customize-inside-control-row+.customize-inside-control-row{margin-top:15px}.customize-control-font-palette .customize-inside-control-row input{display:none}.customize-control-font-palette .customize-inside-control-row input+label{position:absolute;top:0;left:0;bottom:0;right:0;border:2px solid #dfe8ef;border-radius:inherit}.customize-control-font-palette .customize-inside-control-row:hover input+label{border-color:#b8daeb}.customize-control-font-palette .customize-inside-control-row input:checked+label{border-color:#48a9d7}#customize-control-sm_font_palette_control~.customize-control{display:none!important}#customize-controls{background:#f7fbff;border-color:#dfe8ef}#customize-controls .customize-info{border-color:#dfe8ef}#customize-footer-actions,#customize-header-actions{background:#fff;border-color:#dfe8ef}#customize-controls .customize-info .customize-panel-description,#customize-controls .customize-info .customize-section-description,#customize-controls .no-widget-areas-rendered-notice,#customize-outer-theme-controls .customize-info .customize-section-description{padding:20px;border-color:#dfe8ef;background:#fff;color:#2a3b44}#customize-theme-controls .customize-pane-child.accordion-section-content{padding:20px}.customize-section-title{margin:-20px;margin-bottom:0;border-color:#dfe8ef}.wp-full-overlay-sidebar-content .accordion-section-content{overflow:visible}#customize-theme-controls .theme *{-webkit-box-sizing:content-box;box-sizing:content-box}#customize-theme-controls #accordion-section-add_menu{border-bottom:none}#customize-theme-controls #accordion-section-add_menu .add-menu-toggle{float:none}.customify_ace_editor{display:block;min-height:200px;border:1px solid #dfe8ef}.ui-tooltip{z-index:999999}
css/customizer.css CHANGED
@@ -1 +1 @@
1
- .wp-full-overlay-sidebar *,.wp-full-overlay-sidebar :after,.wp-full-overlay-sidebar :before{-webkit-box-sizing:border-box;box-sizing:border-box}.iris-picker,.iris-picker *{-webkit-box-sizing:content-box;box-sizing:content-box}#customize-save-button-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin-top:6px}.customize-controls-close{width:45px;height:45px;padding:0;border-top:0;color:#98c6dd;background:#fff;border-color:#dfe8ef}.customize-controls-close:focus,.customize-controls-close:hover{background:#f7fbff}.customize-controls-close:before{top:0}#customize-controls #customize-theme-controls .customize-info,#customize-controls #customize-theme-controls .customize-section-title{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}#customize-controls #customize-theme-controls .customize-info>.customize-control-notifications-container,#customize-controls #customize-theme-controls .customize-section-title>.customize-control-notifications-container{-ms-flex-preferred-size:100%;flex-basis:100%}#customize-controls #customize-theme-controls .customize-info>.accordion-section-title,#customize-controls #customize-theme-controls .customize-section-title>h3{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin-left:0;color:#2a3b44}#customize-controls #customize-theme-controls .customize-panel-back,#customize-controls #customize-theme-controls .customize-section-back{position:relative;width:45px;height:auto;padding:0;color:#98c6dd;border-color:#dfe8ef;border-left:0}#customize-controls #customize-theme-controls .customize-panel-back:focus,#customize-controls #customize-theme-controls .customize-panel-back:hover,#customize-controls #customize-theme-controls .customize-section-back:focus,#customize-controls #customize-theme-controls .customize-section-back:hover{background:#f7fbff}#customize-controls #customize-theme-controls .customize-panel-back:before,#customize-controls #customize-theme-controls .customize-section-back:before{position:absolute;top:50%;left:50%;-webkit-transform:translate(-40%,-50%);transform:translate(-40%,-50%);line-height:1}.customize-controls-preview-toggle{background-color:#fff;border-color:#dfe8ef}.in-sub-panel .wp-full-overlay-sidebar .wp-full-overlay-header{padding-left:45px}.wp-full-overlay-sidebar .wp-full-overlay-header{height:46px}.wp-full-overlay-footer .devices button{float:left;border-radius:0}#customize-controls .customize-section-title h3,#customize-controls h3.customize-section-title{padding:10px 20px 11px 20px;color:#416b7e;background:#fff}#customize-controls .accordion-section-title{font-size:14px;line-height:21px;padding:10px 40px 11px 20px;color:#416b7e;background:#fff}#customize-controls .accordion-section-title:before{line-height:inherit}#customize-controls h3.accordion-section-title{font-weight:400}#customize-theme-controls .accordion-section>.accordion-section-title{border:0 solid #dfe8ef}#customize-theme-controls .accordion-section:last-of-type>.accordion-section-title{border-bottom:1px solid #dfe8ef}#customize-theme-controls .accordion-section:not(.panel-meta)>.accordion-section-title{border-top:1px solid #dfe8ef}#customize-theme-controls .accordion-section:not(.panel-meta):hover>.accordion-section-title,#customize-theme-controls .accordion-section:not(.panel-meta)>.accordion-section-title:focus{background:#f7fbff}#customize-controls .customize-section-title>.customize-control-notifications-container,#customize-controls .panel-meta>.customize-control-notifications-container{border-color:#dfe8ef}#customize-controls #customize-theme-controls .accordion-section[id*=accordion-section-pro__section]>.accordion-section-title,#customize-controls #customize-theme-controls .accordion-section[id*=theme_options_panel]>.accordion-section-title{border-bottom-width:1px;margin-bottom:10px}#customize-controls #accordion-panel-style_manager_panel .accordion-section-title,#customize-controls #accordion-panel-theme_options_panel .accordion-section-title,#customize-controls #accordion-section-title_tagline .accordion-section-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}#customize-controls #accordion-panel-style_manager_panel .accordion-section-title:before,#customize-controls #accordion-panel-theme_options_panel .accordion-section-title:before,#customize-controls #accordion-section-title_tagline .accordion-section-title:before{font-family:dashicons;font-size:17px;-webkit-font-smoothing:antialiased}#customize-controls #accordion-panel-style_manager_panel .accordion-section-title:before,#customize-controls #accordion-panel-theme_options_panel .accordion-section-title:before,#customize-controls #accordion-section-title_tagline .accordion-section-title:before{color:#b8daeb;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}#customize-controls #accordion-section-title_tagline>.accordion-section-title:before{content:"\f110";color:#85c4ea}#customize-controls #accordion-section-title_tagline>.accordion-section-title img{display:none!important}#customize-controls #accordion-panel-style_manager_panel>.accordion-section-title:before{content:"\f155";font-size:18px;color:#f8bc30}#customize-controls #accordion-panel-theme_options_panel>.accordion-section-title:before{content:"\f538"}.customize-control{margin-bottom:0}.customize-control+.customize-control{margin-top:20px}.control-section:not(.control-section-themes) .customize-control{width:100%;min-height:0;padding:0}.customize-control input[type=color],.customize-control input[type=date],.customize-control input[type=datetime-local],.customize-control input[type=datetime],.customize-control input[type=email],.customize-control input[type=month],.customize-control input[type=number],.customize-control input[type=password],.customize-control input[type=search],.customize-control input[type=tel],.customize-control input[type=text]:not(#_customize-input-wpcom_custom_css_content_width_control):not(.wp-color-picker),.customize-control input[type=time],.customize-control input[type=url],.customize-control input[type=week]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;height:44px}.customize-control input[type=color]:focus,.customize-control input[type=date]:focus,.customize-control input[type=datetime-local]:focus,.customize-control input[type=datetime]:focus,.customize-control input[type=email]:focus,.customize-control input[type=month]:focus,.customize-control input[type=number]:focus,.customize-control input[type=password]:focus,.customize-control input[type=search]:focus,.customize-control input[type=tel]:focus,.customize-control input[type=text]:not(#_customize-input-wpcom_custom_css_content_width_control):not(.wp-color-picker):focus,.customize-control input[type=time]:focus,.customize-control input[type=url]:focus,.customize-control input[type=week]:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.customize-control textarea{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0}.customize-control textarea:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.customize-control select{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;-moz-appearance:none;-webkit-appearance:none}.customize-control select:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.customize-control select:not([multiple]){padding-right:44px;height:44px;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iIzk4QzZERSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);background-repeat:no-repeat;background-position:right 16px top 16px}.customize-control select::-ms-expand{display:none}.customize-control input[type=range]{position:relative;height:22px;overflow:hidden;outline:0;background:0 0;-webkit-appearance:none;-moz-appearange:none}.customize-control input[type=range]::-webkit-slider-runnable-track{width:100%;height:6px;background:#b8daeb;border-radius:999em}.customize-control input[type=range]::-moz-range-track{width:100%;height:6px;background:#b8daeb;border-radius:999em}.customize-control input[type=range]::-webkit-slider-thumb{position:relative;z-index:3;-webkit-box-sizing:border-box;box-sizing:border-box;width:22px;height:22px;margin-top:-8px;border:2px solid #dfe8ef;border-radius:4px;background:#fff;cursor:move;cursor:-webkit-grab;cursor:grab;-webkit-appearance:none}.customize-control input[type=range]::-moz-range-thumb{position:relative;z-index:3;box-sizing:border-box;width:22px;height:22px;margin-top:-8px;border:2px solid #dfe8ef;border-radius:4px;background:#fff;cursor:move;cursor:grab;-moz-appearance:none}.customize-control input[type=range]:active::-webkit-slider-thumb{cursor:-webkit-grabbing;cursor:grabbing}.customize-control input[type=range]:active::-moz-range-thumb{cursor:grabbing}.customize-control-checkbox .customize-inside-control-row,.customize-control-radio .customize-inside-control-row{margin-left:0}.customize-control-checkbox input[type=checkbox],.customize-control-radio input[type=radio]{display:none}.customize-control-checkbox input[type=checkbox]+label,.customize-control-radio input[type=radio]+label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.customize-control-checkbox input[type=checkbox]+label:before,.customize-control-radio input[type=radio]+label:before{content:"";display:block;width:22px;height:22px;-webkit-box-flex:0;-ms-flex:0 0 22px;flex:0 0 22px;margin-right:10px;border:2px solid #dfe8ef;background:#fff center no-repeat}.customize-control-checkbox input[type=checkbox]:focus+label:before,.customize-control-radio input[type=radio]:focus+label:before{border-color:#48a9d7}.customize-control-checkbox input[type=checkbox]:checked+label:before,.customize-control-radio input[type=radio]:checked+label:before{border-color:#48a9d7;background-color:#48a9d7;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTJweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxMiA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImNoZWNrIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjUgOSAxMiAyIDEwIDAgNSA1IDIgMiAtMS43NTkzMjk4M2UtMTUgNCI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=)}.customize-control-checkbox:not(#customize-control-jetpack_css_mode_control)>.customize-inside-control-row :first-child:nth-last-child(n+5),.customize-control-checkbox:not(#customize-control-jetpack_css_mode_control)>:first-child:nth-last-child(n+5)~.customize-inside-control-row,.customize-control-radio>.customize-inside-control-row :first-child:nth-last-child(n+5),.customize-control-radio>:first-child:nth-last-child(n+5)~.customize-inside-control-row{width:calc(50% - 10px);float:left}.customize-control-checkbox:not(#customize-control-jetpack_css_mode_control)>.customize-inside-control-row :first-child:nth-last-child(n+5):after,.customize-control-checkbox:not(#customize-control-jetpack_css_mode_control)>:first-child:nth-last-child(n+5)~.customize-inside-control-row:after,.customize-control-radio>.customize-inside-control-row :first-child:nth-last-child(n+5):after,.customize-control-radio>:first-child:nth-last-child(n+5)~.customize-inside-control-row:after{content:" ";display:table;clear:both}.customize-control-checkbox input[type=checkbox]+label:before{border-radius:4px}.customize-control-radio input[type=radio]+label:before{border-radius:50%}.customize-control-radio#customize-control-changeset_status .customize-inside-control-row{margin-top:0;text-indent:0}#customize-theme-controls .customize-control-title{margin-bottom:10px}#customize-theme-controls li.customize-control-title{margin-bottom:0}#customize-theme-controls li.customize-control-title+.customize-control-checkbox,#customize-theme-controls li.customize-control-title+.customize-control-radio{margin-top:0}#customize-theme-controls .customize-control-description{margin-bottom:10px;font-style:normal;opacity:.75;clear:both}#customize-theme-controls .customize-control-textarea .customize-control-description{margin-top:initial}#customize-theme-controls .control-section.open{border-bottom:0;min-height:100%}[data-balloon]{position:relative}[data-balloon]::before{opacity:0;pointer-events:none;-webkit-transition:all .18s ease-out;transition:all .18s ease-out;background:rgba(17,17,17,.9);border-radius:4px;color:#fff;content:attr(data-balloon);font-size:12px;padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[data-balloon]::after{background:no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="36px" height="12px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(0)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');background-size:100% auto;width:18px;height:6px;opacity:0;pointer-events:none;-webkit-transition:all .18s ease-out;transition:all .18s ease-out;content:'';position:absolute;z-index:10}[data-balloon]:hover::after,[data-balloon]:hover::before{opacity:1;pointer-events:auto}[data-balloon][data-balloon-pos=up]::before{bottom:100%;left:50%;margin-bottom:11px;-webkit-transform:translate3d(-50%,10px,0);transform:translate3d(-50%,10px,0);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up]::after{bottom:100%;left:50%;margin-bottom:5px;-webkit-transform:translate3d(-50%,10px,0);transform:translate3d(-50%,10px,0);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up]:hover::before{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}[data-balloon][data-balloon-pos=up]:hover::after{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}[data-balloon][data-balloon-pos=down]::before{left:50%;margin-top:11px;top:100%;-webkit-transform:translate3d(-50%,-10px,0);transform:translate3d(-50%,-10px,0)}[data-balloon][data-balloon-pos=down]::after{background:no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="36px" height="12px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(180 18 6)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');background-size:100% auto;width:18px;height:6px;left:50%;margin-top:5px;top:100%;-webkit-transform:translate3d(-50%,-10px,0);transform:translate3d(-50%,-10px,0)}[data-balloon][data-balloon-pos=down]:hover::before{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}[data-balloon][data-balloon-pos=down]:hover::after{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}[data-balloon][data-balloon-pos=left]::before{margin-right:11px;right:100%;top:50%;-webkit-transform:translate3d(10px,-50%,0);transform:translate3d(10px,-50%,0)}[data-balloon][data-balloon-pos=left]::after{background:no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12px" height="36px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(-90 18 18)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');background-size:100% auto;width:6px;height:18px;margin-right:5px;right:100%;top:50%;-webkit-transform:translate3d(10px,-50%,0);transform:translate3d(10px,-50%,0)}[data-balloon][data-balloon-pos=left]:hover::before{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}[data-balloon][data-balloon-pos=left]:hover::after{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}[data-balloon][data-balloon-pos=right]::before{left:100%;margin-left:11px;top:50%;-webkit-transform:translate3d(-10px,-50%,0);transform:translate3d(-10px,-50%,0)}[data-balloon][data-balloon-pos=right]::after{background:no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12px" height="36px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(90 6 6)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');background-size:100% auto;width:6px;height:18px;left:100%;margin-left:5px;top:50%;-webkit-transform:translate3d(-10px,-50%,0);transform:translate3d(-10px,-50%,0)}[data-balloon][data-balloon-pos=right]:hover::before{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}[data-balloon][data-balloon-pos=right]:hover::after{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}[data-balloon][data-balloon-length=small]::before{white-space:normal;width:80px}[data-balloon][data-balloon-length=medium]::before{white-space:normal;width:150px}[data-balloon][data-balloon-length=large]::before{white-space:normal;width:260px}[data-balloon][data-balloon-length=xlarge]::before{white-space:normal;width:380px}@media screen and (max-width:768px){[data-balloon][data-balloon-length=xlarge]::before{white-space:normal;width:90vw}}[data-balloon][data-balloon-length=fit]::before{white-space:normal;width:100%}body.modal-open{overflow:hidden}body.modal-open #style-manager-user-feedback-modal .modal{overflow-x:hidden;overflow-y:auto;visibility:visible;opacity:1;-webkit-transform:translate(0,0);transform:translate(0,0)}#style-manager-user-feedback-modal{height:100%}#style-manager-user-feedback-modal .modal{position:relative;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;top:0;right:0;bottom:0;left:0;z-index:1050;opacity:0;visibility:hidden;overflow:hidden;outline:0;-webkit-transition:all .3s ease;transition:all .3s ease;-webkit-transform:translate(0,-10%);transform:translate(0,-10%);font-family:'Galano Grotesque Alt',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:400;font-size:16px;line-height:1.7}#style-manager-user-feedback-modal .modal-dialog{position:relative;width:auto;margin:10px;text-align:left}#style-manager-user-feedback-modal .modal-content{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background-color:#fff;background-clip:padding-box;border:none;border-radius:4px;-webkit-box-shadow:0 4px 4px 0 rgba(42,54,52,.1),0 8px 8px 0 rgba(42,54,52,.1),0 16px 16px 0 rgba(42,54,52,.1),0 16px 32px 0 rgba(42,54,52,.1),0 32px 64px 0 rgba(42,54,52,.1),0 64px 128px 0 rgba(42,54,52,.1);box-shadow:0 4px 4px 0 rgba(42,54,52,.1),0 8px 8px 0 rgba(42,54,52,.1),0 16px 16px 0 rgba(42,54,52,.1),0 16px 32px 0 rgba(42,54,52,.1),0 32px 64px 0 rgba(42,54,52,.1),0 64px 128px 0 rgba(42,54,52,.1);outline:0}#style-manager-user-feedback-modal .modal-content p{color:#000}#style-manager-user-feedback-modal .modal-content p a{font-weight:500;color:#9660c6;border-bottom:1px solid #9660c6}#style-manager-user-feedback-modal .modal-content>form{margin-bottom:20px}#style-manager-user-feedback-modal .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000;opacity:0;visibility:hidden;-webkit-transition:all .3s ease;transition:all .3s ease}.modal-open #style-manager-user-feedback-modal .modal-backdrop{opacity:.8;visibility:visible}#style-manager-user-feedback-modal .modal-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:30px 48px 10px 48px}#style-manager-user-feedback-modal .modal-header .close.button{top:-10px}#style-manager-user-feedback-modal .modal-header .close.icon{opacity:.5}#style-manager-user-feedback-modal .modal-header .close:hover{opacity:1}#style-manager-user-feedback-modal .modal-title{margin-bottom:10px;line-height:1.5}#style-manager-user-feedback-modal .modal-title.modal-title--small{font-weight:500}#style-manager-user-feedback-modal .modal-body{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:30px 30px 0 30px}#style-manager-user-feedback-modal .modal-body.full{padding:0}#style-manager-user-feedback-modal .modal-body.full .box{padding-top:0;padding-bottom:0;margin-top:0}#style-manager-user-feedback-modal .modal-body.full+.modal-footer.full .box{padding-top:18px}#style-manager-user-feedback-modal .modal-footer{padding:30px;text-align:center}#style-manager-user-feedback-modal .modal-footer .box .button:last-child{margin-bottom:0}#style-manager-user-feedback-modal .modal-footer.full{padding:0}#style-manager-user-feedback-modal .modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}#style-manager-user-feedback-modal .modal-state{display:none}#style-manager-user-feedback-modal .modal-state:checked+.modal{opacity:1;visibility:visible}#style-manager-user-feedback-modal .modal-state:checked+.modal .modal__inner{top:0}@media (min-width:576px){#style-manager-user-feedback-modal .modal-dialog{max-width:655px;margin:30px auto}#style-manager-user-feedback-modal .modal-sm{max-width:300px}}@media (min-width:576px){#style-manager-user-feedback-modal .modal-lg{max-width:800px}}#style-manager-user-feedback .modal-body .box{position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:20px 0;padding:16px 52px;border-radius:4px}#style-manager-user-feedback .modal-body .box>*{width:100%}#style-manager-user-feedback .modal-body p{font-size:16px;margin-bottom:20px}#style-manager-user-feedback .modal-body textarea{width:100%;margin:0;padding:11px 18px;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:none;box-shadow:none;font-family:'Galano Grotesque Alt',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:26px;color:#473850}#style-manager-user-feedback .modal-title{margin-top:0;margin-bottom:34px;font-family:'Galano Classic',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:600;font-size:28px;line-height:1.4;text-align:center}#style-manager-user-feedback .button{text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;position:relative;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(0,0,.58,1);transition-timing-function:cubic-bezier(0,0,.58,1);-webkit-transition-property:background,background-color,color,-webkit-transform,-webkit-box-shadow;transition-property:background,background-color,color,-webkit-transform,-webkit-box-shadow;transition-property:transform,background,background-color,color,box-shadow;transition-property:transform,background,background-color,color,box-shadow,-webkit-transform,-webkit-box-shadow;display:inline-block;padding:15px 50px;border-radius:2px;font-family:"Galano Classic",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:23px;font-weight:600;text-align:center;background-color:#9660c6;color:#fff;border-radius:4px;-webkit-box-shadow:none;box-shadow:none;height:auto;width:100%;margin-top:20px}#style-manager-user-feedback .button:hover{background-color:#9660c6;color:#fff;-webkit-transform:scale(1.05) translateY(-3px);transform:scale(1.05) translateY(-3px);-webkit-box-shadow:0 10px 20px -10px rgba(0,0,0,.7);box-shadow:0 10px 20px -10px rgba(0,0,0,.7)}#style-manager-user-feedback .second-step{margin-top:18px}#style-manager-user-feedback .error-step,#style-manager-user-feedback .thanks-step{text-align:center}#style-manager-user-feedback .error-step .modal-title,#style-manager-user-feedback .thanks-step .modal-title{margin-bottom:0}#style-manager-user-feedback .error-step p:last-child,#style-manager-user-feedback .thanks-step p:last-child{margin-bottom:10px}.scorecard{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly;color:#9660c6;font-family:"Galano Classic",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:18px;font-weight:600;text-align:center}.scorecard>label{font-size:20px}.scorecard>label span{display:block;width:46px;border:2px solid #9660c6;line-height:46px;border-radius:100%;background:#fff;-webkit-transition:all .25s ease;transition:all .25s ease}.scorecard>label input[type=radio]{display:none}.scorecard>label input[type=radio]:checked~span,.scorecard>label span:hover{background:#9660c6;color:#fff}.select2-container{-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:block;height:28px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{-webkit-box-sizing:border-box;box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{-webkit-box-sizing:border-box;box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid #000 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #dfe8ef;border-radius:4px;outline:0;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),to(#eee));background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--single:focus{border:1px solid #48a9d7}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #dfe8ef;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#eee),to(#ccc));background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #dfe8ef;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #48a9d7}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:0 0;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),color-stop(50%,#eee));background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#eee),to(#fff));background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #dfe8ef;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #48a9d7}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #dfe8ef;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #48a9d7}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #dfe8ef;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;-webkit-box-shadow:none;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#48a9d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#48a9d7}.select2-container{color:#416b7e;z-index:999999}.select2-search .select2-search__field[class]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;height:44px}.select2-search .select2-search__field[class]:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.select2-results__option,.select2-search__field[class][class]{padding-left:14px;padding-right:14px}#customize-theme-controls .select2-container{width:100%!important}#customize-theme-controls .select2-selection--single{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;padding-right:44px;height:44px;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iIzk4QzZERSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);background-repeat:no-repeat;background-position:right 16px top 16px}#customize-theme-controls .select2-selection--single:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}#customize-theme-controls .select2-selection--multiple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0}#customize-theme-controls .select2-selection--multiple:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}#customize-theme-controls .select2-selection__rendered{color:inherit;padding-left:0;padding-right:0}#customize-theme-controls .select2-selection--single .select2-selection__rendered{padding-left:0;padding-right:0}#customize-theme-controls .select2-selection__choice{padding:3px 7px;margin-right:6px;margin-top:0}#customize-theme-controls .select2-search__field{min-width:100%;height:29px;margin-top:0;border-width:0}#customize-theme-controls .select2-container--open .select2-selection--single,#customize-theme-controls .select2-selection--single:hover{border-color:#48a9d7;background-color:#85c4ea;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);color:#fff}#customize-theme-controls .select2-container--open .select2-selection--single{border-bottom-right-radius:0;border-bottom-left-radius:0}#customize-theme-controls .select2-selection__arrow{display:none}.select2-results__group[class]{padding:8px 14px;border-width:1px 0;border-style:solid;border-color:#dfe8ef;background:#f7fbff}.select2-results__group[class]+.select2-results__options{margin-top:6px}.select2-results__option{margin-bottom:0}.select2-results__option+.select2-results__option{margin-top:6px}.select2-results__option[aria-selected=true]{color:inherit!important;background:0 0!important;opacity:.3;pointer-events:none}@-webkit-keyframes shake{0%,100%,87.5%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}12.5%{-webkit-transform:translate3d(1%,0,0);transform:translate3d(1%,0,0)}25%{-webkit-transform:translate3d(-2%,0,0);transform:translate3d(-2%,0,0)}37.5%{-webkit-transform:translate3d(3%,0,0);transform:translate3d(3%,0,0)}50%{-webkit-transform:translate3d(-3%,0,0);transform:translate3d(-3%,0,0)}62.5%{-webkit-transform:translate3d(2%,0,0);transform:translate3d(2%,0,0)}75%{-webkit-transform:translate3d(-1%,0,0);transform:translate3d(-1%,0,0)}}@keyframes shake{0%,100%,87.5%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}12.5%{-webkit-transform:translate3d(1%,0,0);transform:translate3d(1%,0,0)}25%{-webkit-transform:translate3d(-2%,0,0);transform:translate3d(-2%,0,0)}37.5%{-webkit-transform:translate3d(3%,0,0);transform:translate3d(3%,0,0)}50%{-webkit-transform:translate3d(-3%,0,0);transform:translate3d(-3%,0,0)}62.5%{-webkit-transform:translate3d(2%,0,0);transform:translate3d(2%,0,0)}75%{-webkit-transform:translate3d(-1%,0,0);transform:translate3d(-1%,0,0)}}.input-error{border-color:#9e362f!important}.input-shake{-webkit-animation:shake .5s both;animation:shake .5s both}@media (print),(prefers-reduced-motion:reduce){.input-shake{-webkit-animation:none;animation:none}}@-webkit-keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.button-controls:after{content:" ";display:table;clear:both}.wp-core-ui .button-primary,.wp-core-ui .button-secondary,.wp-core-ui .button:not(.theme-details):not(.collapse-sidebar):not(.wp-color-result){width:auto;padding-left:15px;padding-right:15px;border:0;border-radius:4px;font-weight:400;text-shadow:none;color:#f7fbff;background:#aed2e5;-webkit-box-shadow:0 2px 0 0 #8dbed7;box-shadow:0 2px 0 0 #8dbed7}.wp-core-ui .button-primary:hover,.wp-core-ui .button-secondary:hover,.wp-core-ui .button:not(.theme-details):not(.collapse-sidebar):not(.wp-color-result):hover{color:#fff;text-shadow:none;background:#98c6dd;-webkit-box-shadow:0 2px 0 0 #74a7c2;box-shadow:0 2px 0 0 #74a7c2}.wp-core-ui #customize-header-actions .button-primary{background:#73c5ee;-webkit-box-shadow:0 2px 0 0 #57abd5;box-shadow:0 2px 0 0 #57abd5}.wp-core-ui #customize-header-actions .button-primary:hover{background:#58b0dd;-webkit-box-shadow:0 2px 0 0 #3f8aaf;box-shadow:0 2px 0 0 #3f8aaf}.wp-core-ui #customize-header-actions .button-primary.has-next-sibling{border-right:1px solid #57abd5}.wp-core-ui #customize-header-actions .button-primary:disabled{color:#fff!important;background:#aed2e5!important;opacity:.7;-webkit-box-shadow:0 2px 0 0 #8db5ca!important;box-shadow:0 2px 0 0 #8db5ca!important}.wp-core-ui #customize-header-actions .button-primary:disabled.has-next-sibling{border-right:none}.wp-core-ui #customize-controls .customize-control-reset{padding-top:20px;padding-bottom:20px}.wp-core-ui #customize-controls .control-panel>.customize-control-reset{border-top:1px solid #dfe8ef;padding-left:20px;padding-right:20px}.wp-core-ui #customize-controls [class].customize-control-reset .button,.wp-core-ui #customize-controls [id=customize-control-reset_customify] .button{width:100%;padding:10px 20px;display:block;margin-bottom:2px}#accordion-section-live_css_edit_section .customize-section-title{margin-top:-13px;border-bottom:1px solid #dfe8ef}#accordion-section-live_css_edit_section #css_editor{top:70px;border-top:10px solid #fff;overflow:visible}#accordion-section-live_css_edit_section #css_editor:before{content:"";width:48px;height:10px;display:block;background:#dfe8ef;top:-10px;position:absolute;z-index:10000000;left:0}#accordion-section-live_css_edit_section .ace_scroller{padding-left:10px}.wp-full-overlay.editor_opened{margin-left:500px}.wp-full-overlay.editor_opened #customize-controls{width:500px}.wp-full-overlay.editor_opened.collapsed #customize-controls{width:300px}#customify_import_demo_data_button{width:70%;text-align:center;padding:10px;display:inline-block;height:auto;margin:0 15% 10% 15%}.import_step_note{margin:5px;width:100%;display:inline-block}.import_step_note:before{content:"\1F449"}.import_step_note.success:before{content:"\1F44D"}.import_step_note.failed:before{content:"\274C"}.customize-control-media .current,.customize-control-site_icon .current,li#customize-control-site_logo .current{margin-bottom:10px;min-height:44px;background:#f7fbff;border:2px solid #dfe8ef;border-radius:4px}.customize-control-media .current .container,.customize-control-media .current span,.customize-control-site_icon .current .container,.customize-control-site_icon .current span,li#customize-control-site_logo .current .container,li#customize-control-site_logo .current span{border:none}.customize-control-media .current span,.customize-control-media .inner,.customize-control-site_icon .current span,.customize-control-site_icon .inner,li#customize-control-site_logo .current span,li#customize-control-site_logo .inner{font-size:13px;color:#98c6dd}.customize-control-media .inner,.customize-control-site_icon .inner,li#customize-control-site_logo .inner{line-height:1.4}.customize-control-media .thumbnail-image,.customize-control-site_icon .thumbnail-image,li#customize-control-site_logo .thumbnail-image{padding:14px;text-align:center}.customize-control-media .thumbnail-image img,.customize-control-site_icon .thumbnail-image img,li#customize-control-site_logo .thumbnail-image img{width:auto}.customize-control-media .actions,.customize-control-site_icon .actions,li#customize-control-site_logo .actions{margin-bottom:0}.section-navigation-wrapper{position:relative;height:43px;margin:-15px -12px 0 -12px;margin-right:-20px;margin-left:-20px}.section-navigation{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;border-top:1px solid #dfe8ef}.section-navigation a{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;display:block;padding:12px 0;color:#2a3b44;background-color:#fff;text-align:center;text-decoration:none;-webkit-transition:background-color .15s ease-in-out;transition:background-color .15s ease-in-out}.section-navigation a:not(:last-child){border-right:1px solid #dfe8ef}.section-navigation a:focus{position:relative}#customize-controls .customize-info.is-sticky.is-sticky,#customize-controls .customize-section-title.is-sticky.is-sticky{top:40px}#customize-controls .customize-info.is-in-view.is-in-view,#customize-controls .customize-section-title.is-in-view.is-in-view{-webkit-box-shadow:none;box-shadow:none}#customize-controls .customize-section-description-container.section-meta.has-nav{margin-bottom:0}#customize-controls .customize-section-description-container.section-meta.has-nav+.screen-reader-text+.customize-control-html .separator.section{margin-top:-20px}#customize-controls .customize-section-description-container.section-meta.has-nav+.screen-reader-text+.customize-control-html .separator.section:before{border-top:0}#customize-theme-controls .separator.label{display:block;font-size:14px;line-height:24px;font-weight:500}#customize-theme-controls .separator.large{margin-top:10px;font-size:16px;color:#2a3b44}#customize-theme-controls .separator.section:before,#customize-theme-controls .separator.sub-section:before{content:"";position:absolute;top:0;bottom:0;left:-20px;right:-20px;z-index:-1;border-width:1px 0;border-style:solid;border-color:#dfe8ef;background-color:#fff}#customize-theme-controls .separator.section+.customize-control-description,#customize-theme-controls .separator.sub-section+.customize-control-description{margin-top:20px}#customize-theme-controls .separator.section{position:relative;padding:14px 0;margin-bottom:0;background:0 0;border:none}#customize-theme-controls .separator.section:before{border-width:1px 0}#customize-theme-controls .separator.sub-section{position:relative;padding:12px 0}#customize-theme-controls .separator.sub-section:before{border-width:1px 0;background-color:#fff}#customize-theme-controls .widget-content .accordion-container{margin-left:-10px;margin-right:-10px;margin-top:20px;margin-bottom:10px}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-content{position:relative;left:0;max-height:0;padding-top:0;padding-bottom:0;overflow:hidden;-webkit-transition:all .4s ease;transition:all .4s ease;color:#416b7e}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-content p:first-child{margin-top:0}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-content p:last-child{margin-bottom:0}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-title{color:#2a3b44}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-title:after{content:"\f142";-webkit-transform:rotate(180deg);transform:rotate(180deg)}#customize-theme-controls .widget-content .accordion-container .accordion-section.open{border-bottom:none}#customize-theme-controls .widget-content .accordion-container .accordion-section.open .accordion-section-content{max-height:100%;padding-top:17px;padding-bottom:17px}#customize-theme-controls .widget-content .accordion-container .accordion-section.open .accordion-section-title{border-bottom:1px solid}#customize-theme-controls .widget-content .accordion-container .accordion-section.open .accordion-section-title:after{-webkit-transform:rotate(0);transform:rotate(0)}#customize-theme-controls .widget-content .accordion-container label.customize-control-title{cursor:default}.widget .widget-content>p input[type=checkbox],.widget .widget-content>p input[type=radio]{margin-bottom:3px;margin-top:3px}.widget .widget-content small{margin-top:5px;display:block}#available-widgets [class*=categories-image-grid] .widget .widget-title:before,#available-widgets [class*=featured-posts] .widget .widget-title:before,#available-widgets [class*=pixelgrade] .widget .widget-title:before{content:"\f538";color:#9660c6}#available-widgets [class*=pixelgrade-featured-posts-slideshow] .widget .widget-title:before{content:"\f233"}#available-widgets [class*=pixelgrade-featured-posts-carousel] .widget .widget-title:before{content:"\f169"}#available-widgets [class*=featured-posts-grid] .widget .widget-title:before{content:"\f180"}#available-widgets [class*=featured-posts-list] .widget .widget-title:before{content:"\f164"}#available-widgets [class*=categories-image-grid] .widget .widget-title:before{content:"\f163"}#available-widgets [class*=pixelgrade-promo-box] .widget .widget-title:before{content:"\f488"}.wp-customizer .widget-conditional .condition-control:after{content:" ";display:table;clear:both}.wp-customizer .widget-conditional .selection{padding-right:50px;padding-left:28px;padding-bottom:19px;margin-left:0;margin-right:0;margin-bottom:10px;border-bottom:1px solid #dfe8ef}.wp-customizer .widget-conditional .condition:last-child .selection{border:0}.wp-customizer .widget-conditional select{max-width:100%;width:170px}.wp-customizer .widget-conditional .condition-top select{width:130px}.customize-control-color{display:block}.customize-control-color .customize-control-title{float:left}.customize-control-color .wp-picker-container{position:relative;float:right;top:-3px}.customize-control-color .wp-picker-container .wp-picker-holder{position:relative}.customize-control-color .wp-picker-container .wp-color-result,.customize-control-color .wp-picker-container .wp-color-result.button{top:0;height:30px;width:40px;margin:0;padding:0;border-radius:4px;background:#2ecc71;border:2px solid #b8daeb;-webkit-box-shadow:none;box-shadow:none}.customize-control-color .wp-picker-container .wp-color-result .wp-color-result-text,.customize-control-color .wp-picker-container .wp-color-result.button .wp-color-result-text,.customize-control-color .wp-picker-container .wp-color-result.button:after,.customize-control-color .wp-picker-container .wp-color-result:after{display:none}.customize-control-color .wp-picker-container .iris-picker{position:absolute;top:40px;right:0;z-index:1000;width:275px!important;border-top:none;border-color:#dfe8ef;border-radius:0 0 3px 3px;border:none;background:#fff}.customize-control-color .wp-picker-container .iris-picker .iris-square{width:215px!important;height:173px!important;margin-right:0}.customize-control-color .wp-picker-container .iris-picker .iris-strip{float:right;-webkit-box-shadow:rgba(0,0,0,.4) 0 1px 1px inset;box-shadow:rgba(0,0,0,.4) 0 1px 1px inset}.customize-control-color .wp-picker-container .iris-picker .iris-strip .ui-slider-handle{border-color:#aaa!important;opacity:1;-webkit-box-shadow:none;box-shadow:none}.customize-control-color .wp-picker-container .iris-picker .iris-palette{width:24px!important;height:24px!important;border-radius:50px;-webkit-box-shadow:rgba(0,0,0,.4) 0 1px 1px inset;box-shadow:rgba(0,0,0,.4) 0 1px 1px inset}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap{position:absolute;top:35px;right:0;z-index:1000;width:275px;padding:9px 12px;border:none;border-radius:3px 3px 0 0;background:#fff}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap:after{content:"";position:absolute;bottom:100%;right:12px;width:0;height:0;border:9px solid transparent;border-top:0;border-bottom-color:#fff;border-collapse:separate}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap input.wp-color-picker{float:left;width:100px;font-size:13px;text-align:left;margin:0;padding:6px 12px;height:auto}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap input.button{float:right;padding:4px 12px;height:30px}.customize-control-custom_background .hide{display:none}.customize-control-custom_background .upload_button_div{margin:10px 0}.customize-control-custom_background .upload_button_div>*{margin-right:10px}.customize-control-custom_background .preview_screenshot{text-align:center;margin:10px 0}.customize-control-custom_background .preview_screenshot img{border:2px solid #ccc}.font-options__wrapper{position:relative}.font-options__wrapper:after{content:"";position:absolute;top:90%;left:0;right:0;z-index:0;display:block;height:30px}.customize-control-font:last-child{margin-bottom:150px}.font-options__head{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;padding-right:44px;height:44px;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iIzk4QzZERSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);background-repeat:no-repeat;background-position:right 16px top 16px;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;text-overflow:ellipsis;white-space:nowrap;-webkit-appearance:none}.font-options__head:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.font-options__checkbox:checked~.font-options__head,.font-options__head:hover{border-color:#48a9d7;background-color:#85c4ea;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);color:#fff}.font-options__checkbox:not(:checked)~.font-options__head:not(:hover) .font-options__font-title{color:#98c6dd}.font-options__font-title{font-size:12px;line-height:20px;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.font-options__option[class]{margin-bottom:0}.font-options__option+.font-options__option{margin-top:12px}.font-options__option label{display:block;margin-bottom:6px}input.font-options__checkbox{display:none}.font-options__options-list{position:absolute;top:100%;left:-12px;right:-12px;z-index:2;display:block;padding:10px 10px 14px;margin-top:5px;border:1px solid #b8daeb;border-radius:4px;-webkit-box-shadow:0 5px 10px 0 rgba(0,0,0,.125);box-shadow:0 5px 10px 0 rgba(0,0,0,.125);background-color:#fff}.font-options__options-list:after,.font-options__options-list:before{content:"";position:absolute;bottom:100%;right:25px;border:10px solid transparent}.font-options__options-list:before{z-index:100;border-bottom-color:#b8daeb;border-width:11px}.font-options__options-list:after{z-index:101;border-bottom-color:#f7fbff;margin-right:1px}.font-options__options-list label{font-size:13px}.font-options__checkbox:not(:checked)~.font-options__options-list{display:none}.default-preset-button{background-color:#f5f6f6;float:right;padding:1px 8px;border-radius:4px;border:1px solid #cbcbcb;margin-right:4px;font-family:"Open Sans",sans-serif}.js-customify-preset.radio_buttons .customify_radio_button{border:none;display:inline-block;padding:2px;margin:3px;position:relative;overflow:hidden;height:auto}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]{opacity:0;width:100%;height:100%;position:absolute;z-index:9999}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]:checked+label{background-color:#ebebeb}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]:checked+label:before{content:'>';color:inherit}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]:checked+label:after{content:'<';color:inherit}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]:checked:before{opacity:0}.js-customify-preset.radio_buttons .customify_radio_button label{position:relative;z-index:999;border-left:4px solid}.js-customify-preset .awesome_preset{position:relative;display:inline-block;width:45%;margin-top:5px;margin-bottom:25px;text-align:center;color:#fff;-webkit-transition:all .2s;transition:all .2s}.js-customify-preset .awesome_preset:hover{opacity:.9}.js-customify-preset .awesome_preset:before{content:'';position:absolute;top:1px;left:1px;right:1px;bottom:1px;z-index:5;border:1px solid #fff;border-radius:4px;background:0 0;opacity:.5}.js-customify-preset .awesome_preset .preset-wrap .preset-color{height:128px;border-radius:4px 4px 0 0;padding:17px 0 27px}.js-customify-preset .awesome_preset .preset-wrap .preset-color .first-font{display:inline-block;width:100%;font-size:55px;line-height:1}.js-customify-preset .awesome_preset .preset-wrap .preset-color .secondary-font{display:inline-block;width:100%;font-size:20px;line-height:1;margin-top:8px}.js-customify-preset .awesome_preset .preset-wrap .preset-name{position:relative;font-size:11px;text-transform:uppercase;border-radius:0 0 4px 4px;padding:1px}.js-customify-preset .awesome_preset .preset-wrap .preset-name:before{content:'';position:absolute;border-color:inherit;border:10px solid;border-left-color:transparent;border-right-color:transparent;border-top:transparent;top:-10px;border-bottom-color:inherit;left:40%}.js-customify-preset .awesome_preset:nth-child(odd){margin-right:7%}.js-customify-preset .awesome_preset input[type=radio]{height:100%;width:100%;position:absolute;border:0;-webkit-box-shadow:none;box-shadow:none;color:#006505;background-color:transparent;border-radius:0;margin:0;display:inline-block;top:0;left:0;z-index:10}.js-customify-preset .awesome_preset input[type=radio]:checked{background:0 0}.js-customify-preset .awesome_preset input[type=radio]:checked:before{position:absolute;height:25px;width:25px;top:-13px;right:-14px;background:#fff;z-index:1}.js-customify-preset .awesome_preset input[type=radio]:checked:after{content:'';position:absolute;width:26px;height:26px;border-radius:50%;top:-5px;right:-5px;z-index:10;background:#73c5ee url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjEzcHgiIGhlaWdodD0iOXB4IiB2aWV3Qm94PSIwIDAgMTMgOSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJDdXN0b21pZnktQ29weSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIxLjAwMDAwMCwgLTQwOC4wMDAwMDApIiBmaWxsPSIjRkZGRkZGIj4KICAgICAgICAgICAgPGcgaWQ9IkhlYWRlciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIxLjAwMDAwMCwgNDcuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0iQ29udGVudCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAuMDAwMDAwLCA3NS4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iRmllbGQtLS1DaGVja2JveC1Db3B5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNy4wMDAwMDAsIDI0OS4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IkNoZWNrYm94IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwgMzAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAuMDM4NDk1LDE2IEwxNy4xMTYxMzc1LDguOTIxNDg3NiBMMTUuMTk0NjQ5OCw3IEwxMC4wMzg0OTUsMTIuMTU1MDY3NCBMNi45MjE0ODc2LDkuMDM4OTI5OTcgTDUsMTAuOTYwNDE3NiBMMTAuMDM4NDk1LDE2IFoiIGlkPSJQYWdlLTEiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+) no-repeat;background-position:center center}.customify_radio_html{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin-top:-10px;margin-left:-10px}.customify_radio_html label{display:block;padding-top:10px;padding-left:10px;-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%}.customify_radio_html label>input+div{border-color:#dfe8ef;height:100%}.customify_radio_html label:hover{background-color:rgba(255,255,255,.2)}.customify_radio_html input{display:none}.customify_radio_html input+div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border:2px solid transparent;border-radius:.5em;padding:20px}.customify_radio_html input:checked+div{border-color:#5ab9e8}.customify_radio_image{display:inline-block}.customify_radio_image label{display:block;float:left;margin-right:10px;position:relative}.customify_radio_image label input[type=radio]{position:absolute;top:0;bottom:0;left:0;right:0;width:100%;height:100%;visibility:hidden}.customify_radio_image label input[type=radio] img{cursor:pointer;border:2px solid transparent}.customify_radio_image label input[type=radio]:checked+img{border:3px solid #73c5ee}.customize-control-range:after{content:" ";display:table;clear:both}.customize-control-range input[type=range]{float:left;width:calc(100% - 70px);margin:3px 0 0}.customize-control-range input[type=number]{width:50px;height:auto;float:right;padding:2px 2px 3px 3px;font-size:13px;text-align:center}.customize-control-range input[type=number]::-webkit-inner-spin-button,.customize-control-range input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.customize-control-typography select{margin-bottom:10px}.customize-control-typography .description{margin-top:-3px}.customize-control-typography ul li{width:100%;margin:0}.sm-palette-filter .sm-color-palette__colors{width:auto;height:auto;padding:10px 10px;border-radius:999em}.sm-palette-filter .sm-color-palette__picker:after{-webkit-box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2);box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2)}.sm-palette-filter>label{position:relative;display:block;margin:0 0 10px}.sm-palette-filter>label:hover .filter-label{opacity:1}.sm-palette-filter>input{display:none}.sm-palette-filter .filter-label{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.sm-palette-filter .filter-label span{position:relative;z-index:20}.sm-palette-filter .filter-label:after{content:"";display:block;position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background-color:#fff;-webkit-box-shadow:#dfe8ef 0 0 0 1px;box-shadow:#dfe8ef 0 0 0 1px;border-radius:999em}.sm-palette-filter>input:checked+label .filter-label:after{background-color:#f7fbff;-webkit-box-shadow:none;box-shadow:none}.sm-palette-filter>input:checked+label .sm-color-palette__colors{background-color:#f7fbff;-webkit-box-shadow:#48a9d7 0 0 0 2px;box-shadow:#48a9d7 0 0 0 2px}.customize-control-sm_palette_filter .customize-control-title{display:none}.customize-control-radio[class][id=customize-control-sm_palette_filter_control]>.customize-inside-control-row:not(:only-of-type){display:block;width:auto}.sm-radio-group{position:relative;border-radius:999em;overflow:hidden;height:2.428em;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;color:#416b7e;font-size:14px;-webkit-font-smoothing:antialiased;font-weight:600;line-height:1.142em}.sm-radio-group>*{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0}.sm-radio-group:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:.142em solid #48a9d7;border-radius:999em;pointer-events:none}.sm-radio-group input[type=radio]{display:none}.sm-radio-group input[type=radio]:checked+label{background-color:#48a9d7;color:#fff}.sm-radio-group input[type=radio]:checked+label:before{content:"";display:inline-block;color:inherit;position:relative;top:.285em;margin-right:.45em;height:.8em;width:.55em;border-right:2px solid;border-bottom:2px solid;-webkit-transform:translateY(-50%) rotate(45deg);transform:translateY(-50%) rotate(45deg)}.sm-radio-group label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;cursor:pointer;-webkit-transition:all .25s ease;transition:all .25s ease;color:inherit}.sm-radio-group label:hover{color:#416b7e}.sm-radio-group label:nth-of-type(2){border-left:2px solid #48a9d7;border-right:2px solid #48a9d7}[id=customize-control-sm_coloration_level_control] .sm-radio-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}[id=customize-control-sm_coloration_level_control] .sm-radio-group>*{-webkit-box-flex:0;-ms-flex:0 0 33.33%;flex:0 0 33.33%}[id=customize-control-sm_coloration_level_control] .sm-radio-group input[type=radio]:last-of-type:checked+label{background:-webkit-gradient(linear,left top,right top,from(#3daae0),to(#d557be));background:linear-gradient(90deg,#3daae0 0,#d557be 100%)}[id=customize-control-sm_coloration_level_control] .sm-radio-group input[type=radio]:nth-of-type(1):checked~label:last-of-type,[id=customize-control-sm_coloration_level_control] .sm-radio-group input[type=radio]:nth-of-type(2):checked~label:last-of-type{margin-right:-33.33%}[id=customize-control-sm_coloration_level_control] .sm-radio-group label:nth-of-type(1){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}[id=customize-control-sm_coloration_level_control] .sm-radio-group label:nth-of-type(2){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3;border-left:2px solid #48a9d7;border-right:2px solid #48a9d7}[id=customize-control-sm_coloration_level_control] .sm-radio-group label:nth-of-type(3){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}[id=customize-control-sm_coloration_level_control] .sm-radio-group label:nth-of-type(4){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;border-left:2px solid #48a9d7}[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize li.customize-control-sm_switch{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding-top:42px;padding-bottom:42px}[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize li.customize-control-sm_switch .customize-control-title{display:inline-block}.sm-switch{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;overflow:hidden;position:relative;height:2.428em;max-width:5.5em;border-radius:999em;color:#fff;font-size:14px;-webkit-font-smoothing:antialiased;font-weight:600;line-height:1.142em;z-index:10}.sm-switch input[type=radio]{display:none}.sm-switch input[type=radio]+label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%}.sm-switch input[type=radio]+label,.sm-switch input[type=radio]+label:after{-webkit-transition:all .2s ease-out;transition:all .2s ease-out}.sm-switch input[type=radio]:checked+label{pointer-events:none}.sm-switch input[type=radio]:nth-of-type(1)+label{padding-left:1.214em}.sm-switch input[type=radio]:nth-of-type(1)+label:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#48a9d7;z-index:-1}.sm-switch input[type=radio]:nth-of-type(1):not(:checked)+label{-webkit-transform:translateX(-100%) translateX(2.125em);transform:translateX(-100%) translateX(2.125em)}.sm-switch input[type=radio]:nth-of-type(1):not(:checked)+label:after{background:#ccc;-webkit-transform:translateX(100%) translateX(-2.125em);transform:translateX(100%) translateX(-2.125em)}.sm-switch input[type=radio]:nth-of-type(1):not(:checked)+label~label{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sm-switch input[type=radio]:nth-of-type(1):checked+label~label{-webkit-transform:translateX(-2.4em);transform:translateX(-2.4em)}.sm-switch input[type=radio]:nth-of-type(1):checked+label~label:before{-webkit-transform:translateX(-100%) translateX(2.125em);transform:translateX(-100%) translateX(2.125em)}.sm-switch input[type=radio]:nth-of-type(2)+label{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;padding-right:1em}.sm-switch input[type=radio]:nth-of-type(2)+label:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.sm-switch input[type=radio]:nth-of-type(2)+label:after{content:"";display:block;height:2.142em;width:2.142em;margin-right:auto;margin-left:.125em;border-radius:50%;background-color:#fff;-webkit-box-shadow:1px 2px 2px 0 rgba(23,21,21,.15);box-shadow:1px 2px 2px 0 rgba(23,21,21,.15);pointer-events:none}.sm-tabs{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 16px;text-align:center;border-bottom:1px solid #dfe8ef}.sm-tabs__item{position:relative;padding:12px 0;margin-bottom:-1px;-ms-flex-preferred-size:31%;flex-basis:31%;font-size:14px;color:#416b7e;opacity:.7;cursor:pointer;-webkit-transition:color .2s ease;transition:color .2s ease}.sm-tabs__item:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transition:all .2s ease;transition:all .2s ease}.sm-tabs__item:not(.sm-tabs__item--active):not(:hover):after{-webkit-transform:scaleY(0);transform:scaleY(0)}.sm-tabs__item:not(.sm-tabs__item--active):hover:after{background-color:#b8daeb}.sm-tabs__item--active{color:#2a3b44}.sm-tabs__item--active:after{background-color:#48a9d7}.customize-control-color-palette .customize-inside-control-row{position:relative;display:block;width:100%!important;height:64px;margin-left:0!important;overflow:hidden;text-indent:0!important;background-size:cover;background-position:50% 50%;border-radius:5px}.customize-control-color-palette .customize-inside-control-row+.customize-inside-control-row{margin-top:15px}.customize-control-color-palette .customize-inside-control-row:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:10;pointer-events:none;-webkit-box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2);box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2)}.customize-control-color-palette .customize-inside-control-row:hover:before{-webkit-box-shadow:inset 0 0 3px 0 rgba(0,0,0,.4);box-shadow:inset 0 0 3px 0 rgba(0,0,0,.4)}.customize-control-color-palette .customize-inside-control-row:hover .palette__item{-webkit-transform:translateY(0);transform:translateY(0)}.customize-control-color-palette .customize-inside-control-row:hover label{left:10px}.customize-control-color-palette .customize-inside-control-row input{opacity:0}.customize-control-color-palette .customize-inside-control-row input:checked+label .preview__letter--checked{display:inline-block;vertical-align:middle}.customize-control-color-palette .customize-inside-control-row input:checked+label .preview__letter{display:none}.customize-control-color-palette .customize-inside-control-row label{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;z-index:2;width:100%;height:100%;top:0;left:0;padding:0 10px;margin-top:0!important;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:all .3s ease;transition:all .3s ease}.customize-control-color-palette .customize-inside-control-row .palette{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;top:0;left:0;z-index:1;width:100%;height:100%;-webkit-transition:all .2s ease;transition:all .2s ease}.customize-control-color-palette .customize-inside-control-row .palette__item{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:all .3s ease;transition:all .3s ease}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(1){-webkit-transition-delay:0s;transition-delay:0s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(2){-webkit-transition-delay:.05s;transition-delay:.05s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(3){-webkit-transition-delay:.1s;transition-delay:.1s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(4){-webkit-transition-delay:.15s;transition-delay:.15s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(5){-webkit-transition-delay:.2s;transition-delay:.2s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(6){-webkit-transition-delay:.25s;transition-delay:.25s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(7){-webkit-transition-delay:.3s;transition-delay:.3s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(8){-webkit-transition-delay:.35s;transition-delay:.35s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(9){-webkit-transition-delay:.4s;transition-delay:.4s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(10){-webkit-transition-delay:.45s;transition-delay:.45s}.customize-control-color-palette .customize-inside-control-row .preview__letter,.customize-control-color-palette .customize-inside-control-row .preview__letter--checked{display:inline-block;padding:3px;border-radius:2px;color:#fff;margin-right:5px;min-height:26px;min-width:26px;text-align:center;background-position:center center;background-repeat:no-repeat;background-size:15px 15px;font-style:normal;vertical-align:baseline}.customize-control-color-palette .customize-inside-control-row .preview__letter--checked{display:none}[id*=sm_current_color_palette_control] .customize-inside-control-row .palette__item[class]{-webkit-transform:none;transform:none}[id*=sm_current_color_palette_control] .variation-control{display:-webkit-box;display:-ms-flexbox;display:flex}.label{margin-right:auto}.label__inner{color:#000;background:#f5f6f1;padding:7px 12px 7px 7px;z-index:2;border-radius:3px;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.15);box-shadow:0 2px 5px rgba(0,0,0,.15)}#customize-theme-controls [id*=sm_current_color_palette_control]{display:block;width:auto}#customize-theme-controls [id*=sm_current_color_palette_control] .color-palette-container{background:#fff}#customize-theme-controls [id*=sm_current_color_palette_control] .color-palette-container .description{margin-bottom:15px}#customize-theme-controls [id*=sm_current_color_palette_control] .description.c-color-palette__notification{padding-top:19px;margin-bottom:0;font-size:inherit;font-weight:700}.c-color-palette__fields{position:relative}.c-color-palette .iris-picker{position:absolute;top:100%;left:0;z-index:100;margin-top:1em;border:0;-webkit-box-shadow:#000 0 3px 12px -4px;box-shadow:#000 0 3px 12px -4px}.c-color-palette .iris-picker .iris-square-handle{border-color:transparent;left:-6px;top:-6px}.c-color-palette .iris-picker .iris-square-handle:after{position:absolute;bottom:0;right:0;left:0;top:0;border:2px solid #dfe8ef}.c-color-palette .iris-picker .iris-square-value{-webkit-box-shadow:none!important;box-shadow:none!important}input.c-color-palette__input[class]{margin-top:1em}#customize-control-sm_toggle_advanced_settings_control{margin-bottom:0;opacity:0}#customize-control-sm_toggle_advanced_settings_control button{width:100%}.customize-control-color .wp-picker-container .iris-picker .iris-palette-container{display:-webkit-box;display:-ms-flexbox;display:flex;width:215px}.customize-control-color .wp-picker-container .iris-picker .iris-palette{width:auto!important;height:auto!important;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;float:none}.customize-control-color .wp-picker-container .iris-picker .iris-palette:after{content:"";display:block;padding-top:100%}.c-color-palette{padding:30px 20px 18px}[id=customize-control-sm_current_color_palette_control][id]{margin-bottom:0}[id=customize-control-sm_current_color_palette_control][id]~.customize-control{background-color:#fff;margin-top:0;padding:24px 20px 0}#customize-control-sm_dark_color_primary_slider_control,#customize-control-sm_dark_color_secondary_slider_control,#customize-control-sm_dark_color_tertiary_slider_control{display:none!important}[id=sub-accordion-section-sm_color_palettes_section]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:20px 0 0!important;overflow:hidden}[id=sub-accordion-section-sm_color_palettes_section] #customize-control-sm_color_palette_control{-ms-flex-negative:0;flex-shrink:0;overflow-y:scroll;margin-bottom:0;padding-top:20px}[id=sub-accordion-section-sm_color_palettes_section]>*{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0 20px}[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_current_color_palette_control]~*{display:none!important}[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_customize_description_after_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_customize_description_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_filters_description_after_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_filters_description_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_palettes_description_after_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_palettes_description_control] span{margin:0}[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_filters_description_after_control][id].customize-control{padding-top:20px}[id=sub-accordion-section-sm_color_palettes_section].sm-view-palettes [id=customize-control-sm_color_palette_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-palettes [id=customize-control-sm_palettes_description_after_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-palettes [id=customize-control-sm_palettes_description_control]{display:block!important}[id=sub-accordion-section-sm_color_palettes_section].sm-view-filters [id=customize-control-sm_filters_description_after_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-filters [id=customize-control-sm_filters_description_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-filters [id=customize-control-sm_palette_filter_control]{display:block!important}[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_color_diversity_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_coloration_level_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_customize_description_after_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_customize_description_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_dark_mode_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_shuffle_colors_control]{display:block!important}[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_spacing_bottom_control][id]{display:block!important;min-height:24px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}[id=customize-control-sm_color_palette_control] .customize-control-description,[id=customize-control-sm_color_palette_control] .customize-control-title{display:none}.color[class*=sm_color][class*="_connected"],.color[class*=sm_dark][class*="_connected"],.color[class*=sm_light][class*="_connected"]{display:none}.c-color-palette__colors{position:relative}.c-color-palette canvas,.c-color-palette svg{max-width:100%;height:auto}.c-color-palette__fields{position:absolute;top:100%;left:0;right:0;z-index:100}[id=sub-accordion-section-sm_color_palettes_section]>.customize-section-description-container{margin-bottom:0}#customize-theme-controls .control-panel-content:not(.control-panel-nav_menus) .control-section:nth-child(2),#customize-theme-controls .control-panel-nav_menus .control-section-nav_menu,#customize-theme-controls .control-section-nav_menu_locations .accordion-section-title{border-top:0}.sm-color-palette__colors{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:3em}.sm-color-palette__color{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;overflow:hidden;-webkit-transition:flex-grow .3s cubic-bezier(.18,.89,.32,1.28),-webkit-box-flex .3s cubic-bezier(.18,.89,.32,1.28);transition:flex-grow .3s cubic-bezier(.18,.89,.32,1.28),-webkit-box-flex .3s cubic-bezier(.18,.89,.32,1.28);transition:flex-grow .3s cubic-bezier(.18,.89,.32,1.28);transition:flex-grow .3s cubic-bezier(.18,.89,.32,1.28),-webkit-box-flex .3s cubic-bezier(.18,.89,.32,1.28),-ms-flex-positive .3s cubic-bezier(.18,.89,.32,1.28)}.sm-color-palette__color.hidden{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-webkit-transition:flex-grow .3s cubic-bezier(.6,-1,.74,.05),-webkit-box-flex .3s cubic-bezier(.6,-1,.74,.05);transition:flex-grow .3s cubic-bezier(.6,-1,.74,.05),-webkit-box-flex .3s cubic-bezier(.6,-1,.74,.05);transition:flex-grow .3s cubic-bezier(.6,-1,.74,.05);transition:flex-grow .3s cubic-bezier(.6,-1,.74,.05),-webkit-box-flex .3s cubic-bezier(.6,-1,.74,.05),-ms-flex-positive .3s cubic-bezier(.6,-1,.74,.05)}.sm-color-palette__disc{position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;display:block;overflow:hidden;pointer-events:none;-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.sm-color-palette__disc:after{content:"";-webkit-filter:blur(6px) saturate(.7) brightness(1.1);filter:blur(6px) saturate(.7) brightness(1.1);display:block;width:200%;height:200%;padding-top:100%;position:absolute;top:-50%;left:-50%;-webkit-transform:scale(1);transform:scale(1);background-image:linear-gradient(330deg,transparent 50%,#ff8100 0),linear-gradient(300deg,transparent 50%,#ff5800 0),linear-gradient(270deg,transparent 50%,#c92323 0),linear-gradient(240deg,transparent 50%,#cc42a2 0),linear-gradient(210deg,transparent 50%,#9f49ac 0),linear-gradient(180deg,transparent 50%,#306cd3 0),linear-gradient(150deg,transparent 50%,#179067 0),linear-gradient(120deg,transparent 50%,#0eb5d6 0),linear-gradient(90deg,transparent 50%,#50b517 0),linear-gradient(60deg,transparent 50%,#ede604 0),linear-gradient(30deg,transparent 50%,#fc0 0),linear-gradient(0deg,transparent 50%,#feac00 0);background-clip:content-box,content-box,content-box,content-box,content-box,content-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box}.sm-color-palette__color:not(.altered) .sm-color-palette__disc{opacity:0}.sm-color-palette__picker{position:relative;top:0;left:50%;width:80%;max-width:3em;margin-top:auto;margin-bottom:auto;border-radius:50%;overflow:hidden;-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0);-webkit-transition:opacity .3s ease-in-out,border-color .3s ease-in-out;transition:opacity .3s ease-in-out,border-color .3s ease-in-out;cursor:pointer}.sm-color-palette__picker>i{display:block;position:absolute;top:0;right:0;bottom:0;left:0;-webkit-box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2);box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2);border-radius:50%;pointer-events:none;z-index:20}.sm-color-palette__picker:after,.sm-color-palette__picker:before{content:"";display:block;background:currentColor;border-radius:50%}.sm-color-palette__picker:before{padding-top:100%}.sm-color-palette__picker:after{position:absolute;top:0;left:0;width:100%;height:100%}.sm-color-palette__color.hidden .sm-color-palette__picker{opacity:0;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.sm-color-palette__color.inactive .sm-color-palette__picker{opacity:.2}.sm-color-palette__color.inactive .sm-color-palette__picker:hover{opacity:1}.sm-color-palette__color.js-no-picker .sm-color-palette__picker{cursor:not-allowed}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title{border-bottom:1px solid #dfe8ef}#customize-controls #accordion-section-sm_color_palettes_section+#accordion-section-sm_font_palettes_section>.accordion-section-title{margin-top:5px;border-top-width:1px}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title,#customize-controls #accordion-section-sm_font_palettes_section>.accordion-section-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title:before,#customize-controls #accordion-section-sm_font_palettes_section>.accordion-section-title:before{font-family:dashicons;font-size:17px;-webkit-font-smoothing:antialiased}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title:before,#customize-controls #accordion-section-sm_font_palettes_section>.accordion-section-title:before{width:2em;height:2em;margin-right:15px;padding-left:.1em;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;background-color:#85c4ea;color:#f7fbff;border-radius:50%}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title:before{content:"\f100"}#customize-controls #accordion-section-sm_font_palettes_section>.accordion-section-title:before{content:"\f122"}.customize-control-font-palette .customize-inside-control-row{position:relative;padding-top:52%;margin-left:0;overflow:hidden;background-color:#fff;background-size:contain;background-position:right center;border-radius:4px}.customize-control-font-palette .customize-inside-control-row+.customize-inside-control-row{margin-top:15px}.customize-control-font-palette .customize-inside-control-row input{display:none}.customize-control-font-palette .customize-inside-control-row input+label{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid #dfe8ef;border-radius:inherit}.customize-control-font-palette .customize-inside-control-row:hover input+label{border-color:#b8daeb}.customize-control-font-palette .customize-inside-control-row input:checked+label{border-color:#48a9d7}#customize-control-sm_font_palette_control~.customize-control{display:none!important}#customize-controls{background:#f7fbff;border-color:#dfe8ef}#customize-controls .customize-info{border-color:#dfe8ef}#customize-footer-actions,#customize-header-actions{background:#fff;border-color:#dfe8ef}#customize-controls .customize-info .customize-panel-description,#customize-controls .customize-info .customize-section-description,#customize-controls .no-widget-areas-rendered-notice,#customize-outer-theme-controls .customize-info .customize-section-description{padding:20px;border-color:#dfe8ef;background:#fff;color:#2a3b44}#customize-theme-controls .customize-pane-child.accordion-section-content{padding:20px}.customize-section-title{margin:-20px;margin-bottom:0;border-color:#dfe8ef}.wp-full-overlay-sidebar-content .accordion-section-content{overflow:visible}#customize-theme-controls .theme *{-webkit-box-sizing:content-box;box-sizing:content-box}#customize-theme-controls #accordion-section-add_menu{border-bottom:none}#customize-theme-controls #accordion-section-add_menu .add-menu-toggle{float:none}.customify_ace_editor{display:block;min-height:200px;border:1px solid #dfe8ef}.ui-tooltip{z-index:999999}
1
+ .wp-full-overlay-sidebar *,.wp-full-overlay-sidebar :after,.wp-full-overlay-sidebar :before{-webkit-box-sizing:border-box;box-sizing:border-box}.iris-picker,.iris-picker *{-webkit-box-sizing:content-box;box-sizing:content-box}#customize-save-button-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin-top:6px}.customize-controls-close{width:45px;height:45px;padding:0;border-top:0;color:#98c6dd;background:#fff;border-color:#dfe8ef}.customize-controls-close:focus,.customize-controls-close:hover{background:#f7fbff}.customize-controls-close:before{top:0}#customize-controls #customize-theme-controls .customize-info,#customize-controls #customize-theme-controls .customize-section-title{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}#customize-controls #customize-theme-controls .customize-info>.customize-control-notifications-container,#customize-controls #customize-theme-controls .customize-section-title>.customize-control-notifications-container{-ms-flex-preferred-size:100%;flex-basis:100%}#customize-controls #customize-theme-controls .customize-info>.accordion-section-title,#customize-controls #customize-theme-controls .customize-section-title>h3{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;margin-left:0;color:#2a3b44}#customize-controls #customize-theme-controls .customize-panel-back,#customize-controls #customize-theme-controls .customize-section-back{position:relative;width:45px;height:auto;padding:0;color:#98c6dd;border-color:#dfe8ef;border-left:0}#customize-controls #customize-theme-controls .customize-panel-back:focus,#customize-controls #customize-theme-controls .customize-panel-back:hover,#customize-controls #customize-theme-controls .customize-section-back:focus,#customize-controls #customize-theme-controls .customize-section-back:hover{background:#f7fbff}#customize-controls #customize-theme-controls .customize-panel-back:before,#customize-controls #customize-theme-controls .customize-section-back:before{position:absolute;top:50%;left:50%;-webkit-transform:translate(-40%,-50%);transform:translate(-40%,-50%);line-height:1}.customize-controls-preview-toggle{background-color:#fff;border-color:#dfe8ef}.in-sub-panel .wp-full-overlay-sidebar .wp-full-overlay-header{padding-left:45px}.wp-full-overlay-sidebar .wp-full-overlay-header{height:46px}.wp-full-overlay-footer .devices button{float:left;border-radius:0}#customize-controls .customize-section-title h3,#customize-controls h3.customize-section-title{padding:10px 20px 11px 20px;color:#416b7e;background:#fff}#customize-controls .accordion-section-title{font-size:14px;line-height:21px;padding:10px 40px 11px 20px;color:#416b7e;background:#fff}#customize-controls h3.accordion-section-title{font-weight:400}#customize-theme-controls .accordion-section>.accordion-section-title{border:0 solid #dfe8ef}#customize-theme-controls .accordion-section:last-of-type>.accordion-section-title{border-bottom:1px solid #dfe8ef}#customize-theme-controls .accordion-section:not(.panel-meta)>.accordion-section-title{border-top:1px solid #dfe8ef}#customize-theme-controls .accordion-section:not(.panel-meta):hover>.accordion-section-title,#customize-theme-controls .accordion-section:not(.panel-meta)>.accordion-section-title:focus{background:#f7fbff}#customize-controls .customize-section-title>.customize-control-notifications-container,#customize-controls .panel-meta>.customize-control-notifications-container{border-color:#dfe8ef}#customize-controls #customize-theme-controls .accordion-section[id*=accordion-section-pro__section]>.accordion-section-title,#customize-controls #customize-theme-controls .accordion-section[id*=theme_options_panel]>.accordion-section-title{border-bottom-width:1px;margin-bottom:10px}#customize-controls #accordion-panel-style_manager_panel .accordion-section-title,#customize-controls #accordion-panel-theme_options_panel .accordion-section-title,#customize-controls #accordion-section-title_tagline .accordion-section-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}#customize-controls #accordion-panel-style_manager_panel .accordion-section-title:before,#customize-controls #accordion-panel-theme_options_panel .accordion-section-title:before,#customize-controls #accordion-section-title_tagline .accordion-section-title:before{font-family:dashicons;font-size:17px;-webkit-font-smoothing:antialiased}#customize-controls #accordion-panel-style_manager_panel .accordion-section-title:before,#customize-controls #accordion-panel-theme_options_panel .accordion-section-title:before,#customize-controls #accordion-section-title_tagline .accordion-section-title:before{color:#b8daeb;-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}#customize-controls #accordion-section-title_tagline>.accordion-section-title:before{content:"\f110";color:#85c4ea}#customize-controls #accordion-section-title_tagline>.accordion-section-title img{display:none!important}#customize-controls #accordion-panel-style_manager_panel>.accordion-section-title:before{content:"\f155";font-size:18px;color:#f8bc30}#customize-controls #accordion-panel-theme_options_panel>.accordion-section-title:before{content:"\f538"}.customize-control{margin-bottom:0}.customize-control+.customize-control{margin-top:20px}.control-section:not(.control-section-themes) .customize-control{width:100%;min-height:0;padding:0}.customize-control input[type=color],.customize-control input[type=date],.customize-control input[type=datetime-local],.customize-control input[type=datetime],.customize-control input[type=email],.customize-control input[type=month],.customize-control input[type=number],.customize-control input[type=password],.customize-control input[type=search],.customize-control input[type=tel],.customize-control input[type=text]:not(#_customize-input-wpcom_custom_css_content_width_control):not(.wp-color-picker),.customize-control input[type=time],.customize-control input[type=url],.customize-control input[type=week]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;height:44px}.customize-control input[type=color]:focus,.customize-control input[type=date]:focus,.customize-control input[type=datetime-local]:focus,.customize-control input[type=datetime]:focus,.customize-control input[type=email]:focus,.customize-control input[type=month]:focus,.customize-control input[type=number]:focus,.customize-control input[type=password]:focus,.customize-control input[type=search]:focus,.customize-control input[type=tel]:focus,.customize-control input[type=text]:not(#_customize-input-wpcom_custom_css_content_width_control):not(.wp-color-picker):focus,.customize-control input[type=time]:focus,.customize-control input[type=url]:focus,.customize-control input[type=week]:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.customize-control textarea{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0}.customize-control textarea:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.customize-control select,.customize-control.customize-control-select select{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;max-width:100%;-moz-appearance:none;-webkit-appearance:none}.customize-control select:focus,.customize-control.customize-control-select select:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.customize-control select:not([multiple]),.customize-control.customize-control-select select:not([multiple]){padding-right:44px;height:44px;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iIzk4QzZERSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);background-repeat:no-repeat;background-position:right 16px top 16px}.customize-control select::-ms-expand,.customize-control.customize-control-select select::-ms-expand{display:none}.customize-control input[type=range]{position:relative;height:22px;overflow:hidden;outline:0;background:0 0;-webkit-appearance:none;-moz-appearange:none}.customize-control input[type=range]::-webkit-slider-runnable-track{width:100%;height:6px;background:#b8daeb;border-radius:999em}.customize-control input[type=range]::-moz-range-track{width:100%;height:6px;background:#b8daeb;border-radius:999em}.customize-control input[type=range]::-webkit-slider-thumb{position:relative;z-index:3;-webkit-box-sizing:border-box;box-sizing:border-box;width:22px;height:22px;margin-top:-8px;border:2px solid #dfe8ef;border-radius:4px;background:#fff;cursor:move;cursor:-webkit-grab;cursor:grab;-webkit-appearance:none}.customize-control input[type=range]::-moz-range-thumb{position:relative;z-index:3;box-sizing:border-box;width:22px;height:22px;margin-top:-8px;border:2px solid #dfe8ef;border-radius:4px;background:#fff;cursor:move;cursor:grab;-moz-appearance:none}.customize-control input[type=range]:active::-webkit-slider-thumb{cursor:-webkit-grabbing;cursor:grabbing}.customize-control input[type=range]:active::-moz-range-thumb{cursor:grabbing}.customize-control-checkbox .customize-inside-control-row,.customize-control-radio .customize-inside-control-row{margin-left:0}.customize-control-checkbox input[type=checkbox],.customize-control-radio input[type=radio]{display:none}.customize-control-checkbox input[type=checkbox]+label,.customize-control-radio input[type=radio]+label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.customize-control-checkbox input[type=checkbox]+label:before,.customize-control-radio input[type=radio]+label:before{content:"";display:block;width:22px;height:22px;-webkit-box-flex:0;-ms-flex:0 0 22px;flex:0 0 22px;margin-right:10px;border:2px solid #dfe8ef;background:#fff center no-repeat}.customize-control-checkbox input[type=checkbox]:focus+label:before,.customize-control-radio input[type=radio]:focus+label:before{border-color:#48a9d7}.customize-control-checkbox input[type=checkbox]:checked+label:before,.customize-control-radio input[type=radio]:checked+label:before{border-color:#48a9d7;background-color:#48a9d7;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTJweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxMiA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImNoZWNrIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjUgOSAxMiAyIDEwIDAgNSA1IDIgMiAtMS43NTkzMjk4M2UtMTUgNCI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=)}.customize-control-checkbox:not(#customize-control-jetpack_css_mode_control)>.customize-inside-control-row :first-child:nth-last-child(n+5),.customize-control-checkbox:not(#customize-control-jetpack_css_mode_control)>:first-child:nth-last-child(n+5)~.customize-inside-control-row,.customize-control-radio>.customize-inside-control-row :first-child:nth-last-child(n+5),.customize-control-radio>:first-child:nth-last-child(n+5)~.customize-inside-control-row{width:calc(50% - 10px);float:left}.customize-control-checkbox:not(#customize-control-jetpack_css_mode_control)>.customize-inside-control-row :first-child:nth-last-child(n+5):after,.customize-control-checkbox:not(#customize-control-jetpack_css_mode_control)>:first-child:nth-last-child(n+5)~.customize-inside-control-row:after,.customize-control-radio>.customize-inside-control-row :first-child:nth-last-child(n+5):after,.customize-control-radio>:first-child:nth-last-child(n+5)~.customize-inside-control-row:after{content:" ";display:table;clear:both}.customize-control-checkbox input[type=checkbox]+label:before{border-radius:4px}.customize-control-radio input[type=radio]+label:before{border-radius:50%}.customize-control-radio#customize-control-changeset_status .customize-inside-control-row{margin-top:0;text-indent:0}#customize-theme-controls .customize-control-title{margin-bottom:10px}#customize-theme-controls li.customize-control-title{margin-bottom:0}#customize-theme-controls li.customize-control-title+.customize-control-checkbox,#customize-theme-controls li.customize-control-title+.customize-control-radio{margin-top:0}#customize-theme-controls .customize-control-description{margin-bottom:10px;font-style:normal;opacity:.75;clear:both}#customize-theme-controls .customize-control-textarea .customize-control-description{margin-top:initial}#customize-theme-controls .control-section.open{border-bottom:0;min-height:100%}[data-balloon]{position:relative}[data-balloon]::before{opacity:0;pointer-events:none;-webkit-transition:all .18s ease-out;transition:all .18s ease-out;background:rgba(17,17,17,.9);border-radius:4px;color:#fff;content:attr(data-balloon);font-size:12px;padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[data-balloon]::after{background:no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="36px" height="12px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(0)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');background-size:100% auto;width:18px;height:6px;opacity:0;pointer-events:none;-webkit-transition:all .18s ease-out;transition:all .18s ease-out;content:'';position:absolute;z-index:10}[data-balloon]:hover::after,[data-balloon]:hover::before{opacity:1;pointer-events:auto}[data-balloon][data-balloon-pos=up]::before{bottom:100%;left:50%;margin-bottom:11px;-webkit-transform:translate3d(-50%,10px,0);transform:translate3d(-50%,10px,0);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up]::after{bottom:100%;left:50%;margin-bottom:5px;-webkit-transform:translate3d(-50%,10px,0);transform:translate3d(-50%,10px,0);-webkit-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos=up]:hover::before{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}[data-balloon][data-balloon-pos=up]:hover::after{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}[data-balloon][data-balloon-pos=down]::before{left:50%;margin-top:11px;top:100%;-webkit-transform:translate3d(-50%,-10px,0);transform:translate3d(-50%,-10px,0)}[data-balloon][data-balloon-pos=down]::after{background:no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="36px" height="12px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(180 18 6)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');background-size:100% auto;width:18px;height:6px;left:50%;margin-top:5px;top:100%;-webkit-transform:translate3d(-50%,-10px,0);transform:translate3d(-50%,-10px,0)}[data-balloon][data-balloon-pos=down]:hover::before{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}[data-balloon][data-balloon-pos=down]:hover::after{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}[data-balloon][data-balloon-pos=left]::before{margin-right:11px;right:100%;top:50%;-webkit-transform:translate3d(10px,-50%,0);transform:translate3d(10px,-50%,0)}[data-balloon][data-balloon-pos=left]::after{background:no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12px" height="36px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(-90 18 18)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');background-size:100% auto;width:6px;height:18px;margin-right:5px;right:100%;top:50%;-webkit-transform:translate3d(10px,-50%,0);transform:translate3d(10px,-50%,0)}[data-balloon][data-balloon-pos=left]:hover::before{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}[data-balloon][data-balloon-pos=left]:hover::after{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}[data-balloon][data-balloon-pos=right]::before{left:100%;margin-left:11px;top:50%;-webkit-transform:translate3d(-10px,-50%,0);transform:translate3d(-10px,-50%,0)}[data-balloon][data-balloon-pos=right]::after{background:no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12px" height="36px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(90 6 6)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');background-size:100% auto;width:6px;height:18px;left:100%;margin-left:5px;top:50%;-webkit-transform:translate3d(-10px,-50%,0);transform:translate3d(-10px,-50%,0)}[data-balloon][data-balloon-pos=right]:hover::before{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}[data-balloon][data-balloon-pos=right]:hover::after{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}[data-balloon][data-balloon-length=small]::before{white-space:normal;width:80px}[data-balloon][data-balloon-length=medium]::before{white-space:normal;width:150px}[data-balloon][data-balloon-length=large]::before{white-space:normal;width:260px}[data-balloon][data-balloon-length=xlarge]::before{white-space:normal;width:380px}@media screen and (max-width:768px){[data-balloon][data-balloon-length=xlarge]::before{white-space:normal;width:90vw}}[data-balloon][data-balloon-length=fit]::before{white-space:normal;width:100%}body.modal-open{overflow:hidden}body.feedback-modal-open #style-manager-user-feedback-modal .modal{overflow-x:hidden;overflow-y:auto;visibility:visible;opacity:1;-webkit-transform:translate(0,0);transform:translate(0,0)}#style-manager-user-feedback-modal{height:100%}#style-manager-user-feedback-modal .modal{position:relative;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;top:0;right:0;bottom:0;left:0;z-index:1050;opacity:0;visibility:hidden;overflow:hidden;outline:0;-webkit-transition:all .3s ease;transition:all .3s ease;-webkit-transform:translate(0,-10%);transform:translate(0,-10%);font-family:'Galano Grotesque Alt',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:400;font-size:16px;line-height:1.7}#style-manager-user-feedback-modal .modal-dialog{position:relative;width:auto;margin:10px;text-align:left}#style-manager-user-feedback-modal .modal-content{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;background-color:#fff;background-clip:padding-box;border:none;border-radius:4px;-webkit-box-shadow:0 4px 4px 0 rgba(42,54,52,.1),0 8px 8px 0 rgba(42,54,52,.1),0 16px 16px 0 rgba(42,54,52,.1),0 16px 32px 0 rgba(42,54,52,.1),0 32px 64px 0 rgba(42,54,52,.1),0 64px 128px 0 rgba(42,54,52,.1);box-shadow:0 4px 4px 0 rgba(42,54,52,.1),0 8px 8px 0 rgba(42,54,52,.1),0 16px 16px 0 rgba(42,54,52,.1),0 16px 32px 0 rgba(42,54,52,.1),0 32px 64px 0 rgba(42,54,52,.1),0 64px 128px 0 rgba(42,54,52,.1);outline:0}#style-manager-user-feedback-modal .modal-content p{color:#000}#style-manager-user-feedback-modal .modal-content p a{font-weight:500;color:#9660c6;border-bottom:1px solid #9660c6}#style-manager-user-feedback-modal .modal-content>form{margin-bottom:20px}#style-manager-user-feedback-modal .modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000;opacity:0;visibility:hidden;-webkit-transition:all .3s ease;transition:all .3s ease}.feedback-modal-open #style-manager-user-feedback-modal .modal-backdrop{opacity:.8;visibility:visible}#style-manager-user-feedback-modal .modal-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:30px 48px 10px 48px}#style-manager-user-feedback-modal .modal-header .close.button{top:-10px}#style-manager-user-feedback-modal .modal-header .close.icon{opacity:.5}#style-manager-user-feedback-modal .modal-header .close:hover{opacity:1}#style-manager-user-feedback-modal .modal-title{margin-bottom:10px;line-height:1.5}#style-manager-user-feedback-modal .modal-title.modal-title--small{font-weight:500}#style-manager-user-feedback-modal .modal-body{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:30px 30px 0 30px}#style-manager-user-feedback-modal .modal-body.full{padding:0}#style-manager-user-feedback-modal .modal-body.full .box{padding-top:0;padding-bottom:0;margin-top:0}#style-manager-user-feedback-modal .modal-body.full+.modal-footer.full .box{padding-top:18px}#style-manager-user-feedback-modal .modal-footer{padding:30px;text-align:center}#style-manager-user-feedback-modal .modal-footer .box .button:last-child{margin-bottom:0}#style-manager-user-feedback-modal .modal-footer.full{padding:0}#style-manager-user-feedback-modal .modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}#style-manager-user-feedback-modal .modal-state{display:none}#style-manager-user-feedback-modal .modal-state:checked+.modal{opacity:1;visibility:visible}#style-manager-user-feedback-modal .modal-state:checked+.modal .modal__inner{top:0}@media (min-width:576px){#style-manager-user-feedback-modal .modal-dialog{max-width:655px;margin:30px auto}#style-manager-user-feedback-modal .modal-sm{max-width:300px}}@media (min-width:576px){#style-manager-user-feedback-modal .modal-lg{max-width:800px}}#style-manager-user-feedback .modal-body .box{position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:20px 0;padding:16px 52px;border-radius:4px}#style-manager-user-feedback .modal-body .box>*{width:100%}#style-manager-user-feedback .modal-body p{font-size:16px;margin-bottom:20px}#style-manager-user-feedback .modal-body textarea{width:100%;margin:0;padding:11px 18px;border:1px solid #ddd;border-radius:4px;-webkit-box-shadow:none;box-shadow:none;font-family:'Galano Grotesque Alt',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:26px;color:#473850}#style-manager-user-feedback .modal-title{margin-top:0;margin-bottom:34px;font-family:'Galano Classic',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:600;font-size:28px;line-height:1.4;text-align:center}#style-manager-user-feedback .button{text-decoration:none;cursor:pointer;-webkit-font-smoothing:antialiased;position:relative;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(0,0,.58,1);transition-timing-function:cubic-bezier(0,0,.58,1);-webkit-transition-property:background,background-color,color,-webkit-transform,-webkit-box-shadow;transition-property:background,background-color,color,-webkit-transform,-webkit-box-shadow;transition-property:transform,background,background-color,color,box-shadow;transition-property:transform,background,background-color,color,box-shadow,-webkit-transform,-webkit-box-shadow;display:inline-block;padding:15px 50px;font-family:"Galano Classic",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:23px;font-weight:600;text-align:center;background-color:#9660c6;color:#fff;border-radius:4px;-webkit-box-shadow:none;box-shadow:none;height:auto;width:100%;margin-top:20px}#style-manager-user-feedback .button:hover{background-color:#9660c6;color:#fff;-webkit-transform:scale(1.05) translateY(-3px);transform:scale(1.05) translateY(-3px);-webkit-box-shadow:0 10px 20px -10px rgba(0,0,0,.7);box-shadow:0 10px 20px -10px rgba(0,0,0,.7)}#style-manager-user-feedback .second-step{margin-top:18px}#style-manager-user-feedback .error-step,#style-manager-user-feedback .thanks-step{text-align:center}#style-manager-user-feedback .error-step .modal-title,#style-manager-user-feedback .thanks-step .modal-title{margin-bottom:0}#style-manager-user-feedback .error-step p:last-child,#style-manager-user-feedback .thanks-step p:last-child{margin-bottom:10px}.scorecard{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-box-pack:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly;color:#9660c6;font-family:"Galano Classic",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:18px;font-weight:600;text-align:center}.scorecard>label{font-size:20px}.scorecard>label span{display:block;width:46px;border:2px solid #9660c6;line-height:46px;border-radius:100%;background:#fff;-webkit-transition:all .25s ease;transition:all .25s ease}.scorecard>label input[type=radio]{display:none}.scorecard>label input[type=radio]:checked~span,.scorecard>label span:hover{background:#9660c6;color:#fff}.select2-container{-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:block;height:28px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{-webkit-box-sizing:border-box;box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{-webkit-box-sizing:border-box;box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid #000 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:0 0;border:none;outline:0;-webkit-box-shadow:none;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #dfe8ef;border-radius:4px;outline:0;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),to(#eee));background-image:linear-gradient(to bottom,#fff 50%,#eee 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--single:focus{border:1px solid #48a9d7}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #dfe8ef;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#eee),to(#ccc));background-image:linear-gradient(to bottom,#eee 50%,#ccc 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #dfe8ef;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #48a9d7}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:0 0;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),color-stop(50%,#eee));background-image:linear-gradient(to bottom,#fff 0,#eee 50%);background-repeat:repeat-x}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#eee),to(#fff));background-image:linear-gradient(to bottom,#eee 50%,#fff 100%);background-repeat:repeat-x}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #dfe8ef;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #48a9d7}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #dfe8ef;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #48a9d7}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #dfe8ef;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;-webkit-box-shadow:none;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#48a9d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#48a9d7}.select2-container{color:#416b7e;z-index:999999}.select2-container .select2-search--dropdown{padding:6px}.select2-container .select2-search--dropdown .select2-search__field[class]{height:40px;padding:10px 8px}.select2-container input::-webkit-input-placeholder{font-size:14px;color:#999;opacity:1;line-height:1.5}.select2-container input:-moz-placeholder{font-size:14px;color:#999;opacity:1;line-height:1.5}.select2-container input::-moz-placeholder{font-size:14px;color:#999;opacity:1;line-height:1.5}.select2-container input:-ms-input-placeholder{font-size:14px;color:#999;opacity:1;line-height:1.5}.select2-search .select2-search__field[class]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;height:44px}.select2-search .select2-search__field[class]:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.select2-results__option{padding-left:14px;padding-right:14px}#customize-theme-controls .select2-container{width:100%!important}#customize-theme-controls .select2-container.select2-container--focus .select2-selection--multiple{border-color:#48a9d7}#customize-theme-controls .select2-selection--single{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;padding-right:44px;height:44px;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iIzk4QzZERSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);background-repeat:no-repeat;background-position:right 16px top 16px}#customize-theme-controls .select2-selection--single:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}#customize-theme-controls .select2-selection--multiple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;padding:8px 8px 2px}#customize-theme-controls .select2-selection--multiple:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}#customize-theme-controls .select2-selection__rendered{color:inherit;padding-left:0;padding-right:0}#customize-theme-controls .select2-selection--single .select2-selection__rendered{padding-left:0;padding-right:0}#customize-theme-controls .select2-selection__choice{padding:2px 7px 1px;margin-right:6px;margin-top:0}#customize-theme-controls .select2-search__field{min-width:100%;height:29px;margin-top:0;border-width:0}#customize-theme-controls .select2-search--inline .select2-search__field{height:27px;padding:7px 0;min-height:auto}#customize-theme-controls .select2-selection--single:hover{border-color:#48a9d7;background-color:#85c4ea;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);color:#fff}#customize-theme-controls .select2-container--open .select2-selection--single{border-color:#48a9d7;background-color:#85c4ea;background-image:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjkiIHdpZHRoPSIxNSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtLTEtMWg1ODJ2NDAyaC01ODJ6IiBmaWxsPSJub25lIi8+PHBhdGggZD0ibTEzLjQ4MTIgMCAxLjUxODggMS41MTQtNy41IDcuNDg2LTcuNS03LjQ4NiAxLjUxODgtMS41MTQgNS45ODEyIDUuOTY3MnoiIGZpbGw9IiNmZmYiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDAgMCAtMSAxNSA5KSIvPjwvc3ZnPg==);color:#fff;background-position:right 17px top 16px}#customize-theme-controls .select2-container--open .select2-selection--single{border-bottom-right-radius:0;border-bottom-left-radius:0}#customize-theme-controls .select2-selection__arrow{display:none}.select2-results__group[class]{padding:8px 14px;border-width:1px 0;border-style:solid;border-color:#dfe8ef;background:#f7fbff}.select2-results__group[class]+.select2-results__options{margin-top:6px}.select2-results__option{margin-bottom:0}.select2-results__option+.select2-results__option{margin-top:6px}.select2-results__option[aria-selected=true]{color:inherit!important;background:0 0!important;opacity:.3;pointer-events:none}@-webkit-keyframes shake{0%,100%,87.5%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}12.5%{-webkit-transform:translate3d(1%,0,0);transform:translate3d(1%,0,0)}25%{-webkit-transform:translate3d(-2%,0,0);transform:translate3d(-2%,0,0)}37.5%{-webkit-transform:translate3d(3%,0,0);transform:translate3d(3%,0,0)}50%{-webkit-transform:translate3d(-3%,0,0);transform:translate3d(-3%,0,0)}62.5%{-webkit-transform:translate3d(2%,0,0);transform:translate3d(2%,0,0)}75%{-webkit-transform:translate3d(-1%,0,0);transform:translate3d(-1%,0,0)}}@keyframes shake{0%,100%,87.5%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}12.5%{-webkit-transform:translate3d(1%,0,0);transform:translate3d(1%,0,0)}25%{-webkit-transform:translate3d(-2%,0,0);transform:translate3d(-2%,0,0)}37.5%{-webkit-transform:translate3d(3%,0,0);transform:translate3d(3%,0,0)}50%{-webkit-transform:translate3d(-3%,0,0);transform:translate3d(-3%,0,0)}62.5%{-webkit-transform:translate3d(2%,0,0);transform:translate3d(2%,0,0)}75%{-webkit-transform:translate3d(-1%,0,0);transform:translate3d(-1%,0,0)}}.input-error{border-color:#9e362f!important}.input-shake{-webkit-animation:shake .5s both;animation:shake .5s both}@media (print),(prefers-reduced-motion:reduce){.input-shake{-webkit-animation:none;animation:none}}@-webkit-keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.button-controls:after{content:" ";display:table;clear:both}.wp-core-ui .button-primary,.wp-core-ui .button-secondary,.wp-core-ui .button:not(.theme-details):not(.collapse-sidebar):not(.wp-color-result){width:auto;padding-left:15px;padding-right:15px;border:0;border-radius:4px;font-weight:400;text-shadow:none;color:#f7fbff;background:#aed2e5;-webkit-box-shadow:0 2px 0 0 #8dbed7;box-shadow:0 2px 0 0 #8dbed7}.wp-core-ui .button-primary:hover,.wp-core-ui .button-secondary:hover,.wp-core-ui .button:not(.theme-details):not(.collapse-sidebar):not(.wp-color-result):hover{color:#fff;text-shadow:none;background:#98c6dd;-webkit-box-shadow:0 2px 0 0 #74a7c2;box-shadow:0 2px 0 0 #74a7c2}.wp-core-ui #customize-header-actions .button-primary{background:#73c5ee;-webkit-box-shadow:0 2px 0 0 #57abd5;box-shadow:0 2px 0 0 #57abd5}.wp-core-ui #customize-header-actions .button-primary:hover{background:#58b0dd;-webkit-box-shadow:0 2px 0 0 #3f8aaf;box-shadow:0 2px 0 0 #3f8aaf}.wp-core-ui #customize-header-actions .button-primary.has-next-sibling{border-right:1px solid #57abd5}.wp-core-ui #customize-header-actions .button-primary:disabled{color:#fff!important;background:#aed2e5!important;opacity:.7;-webkit-box-shadow:0 2px 0 0 #8db5ca!important;box-shadow:0 2px 0 0 #8db5ca!important}.wp-core-ui #customize-header-actions .button-primary:disabled.has-next-sibling{border-right:none}.wp-core-ui #customize-controls .customize-control-reset{padding-top:20px;padding-bottom:20px}.wp-core-ui #customize-controls .control-panel>.customize-control-reset{border-top:1px solid #dfe8ef;padding-left:20px;padding-right:20px}.wp-core-ui #customize-controls [class].customize-control-reset .button,.wp-core-ui #customize-controls [id=customize-control-reset_customify] .button{width:100%;padding:10px 20px;display:block;margin-bottom:2px}#accordion-section-live_css_edit_section .customize-section-title{margin-top:-13px;border-bottom:1px solid #dfe8ef}#accordion-section-live_css_edit_section #css_editor{top:70px;border-top:10px solid #fff;overflow:visible}#accordion-section-live_css_edit_section #css_editor:before{content:"";width:48px;height:10px;display:block;background:#dfe8ef;top:-10px;position:absolute;z-index:10000000;left:0}#accordion-section-live_css_edit_section .ace_scroller{padding-left:10px}.wp-full-overlay.editor_opened{margin-left:500px}.wp-full-overlay.editor_opened #customize-controls{width:500px}.wp-full-overlay.editor_opened.collapsed #customize-controls{width:300px}#customify_import_demo_data_button{width:70%;text-align:center;padding:10px;display:inline-block;height:auto;margin:0 15% 10% 15%}.import_step_note{margin:5px;width:100%;display:inline-block}.import_step_note:before{content:"\1F449"}.import_step_note.success:before{content:"\1F44D"}.import_step_note.failed:before{content:"\274C"}.customize-control-media .current,.customize-control-site_icon .current,li#customize-control-site_logo .current{margin-bottom:10px;min-height:44px;background:#f7fbff;border:2px solid #dfe8ef;border-radius:4px}.customize-control-media .current .container,.customize-control-media .current span,.customize-control-site_icon .current .container,.customize-control-site_icon .current span,li#customize-control-site_logo .current .container,li#customize-control-site_logo .current span{border:none}.customize-control-media .current span,.customize-control-media .inner,.customize-control-site_icon .current span,.customize-control-site_icon .inner,li#customize-control-site_logo .current span,li#customize-control-site_logo .inner{font-size:13px;color:#98c6dd}.customize-control-media .inner,.customize-control-site_icon .inner,li#customize-control-site_logo .inner{line-height:1.4}.customize-control-media .thumbnail-image,.customize-control-site_icon .thumbnail-image,li#customize-control-site_logo .thumbnail-image{padding:14px;text-align:center}.customize-control-media .thumbnail-image img,.customize-control-site_icon .thumbnail-image img,li#customize-control-site_logo .thumbnail-image img{width:auto}.customize-control-media .actions,.customize-control-site_icon .actions,li#customize-control-site_logo .actions{margin-bottom:0}.section-navigation-wrapper{position:relative;height:43px;margin:-15px -12px 0 -12px;margin-right:-20px;margin-left:-20px}.section-navigation{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;border-top:1px solid #dfe8ef}.section-navigation a{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;display:block;padding:12px 0;color:#2a3b44;background-color:#fff;text-align:center;text-decoration:none;-webkit-transition:background-color .15s ease-in-out;transition:background-color .15s ease-in-out}.section-navigation a:not(:last-child){border-right:1px solid #dfe8ef}.section-navigation a:focus{position:relative}#customize-controls .customize-info.is-sticky.is-sticky,#customize-controls .customize-section-title.is-sticky.is-sticky{top:40px}#customize-controls .customize-info.is-in-view.is-in-view,#customize-controls .customize-section-title.is-in-view.is-in-view{-webkit-box-shadow:none;box-shadow:none}#customize-controls .customize-section-description-container.section-meta.has-nav{margin-bottom:0}#customize-controls .customize-section-description-container.section-meta.has-nav+.screen-reader-text+.customize-control-html .separator.section{margin-top:-20px}#customize-controls .customize-section-description-container.section-meta.has-nav+.screen-reader-text+.customize-control-html .separator.section:before{border-top:0}#customize-theme-controls .separator.label{display:block;font-size:14px;line-height:24px;font-weight:500}#customize-theme-controls .separator.large{margin-top:10px;font-size:16px;color:#2a3b44}#customize-theme-controls .separator.section:before,#customize-theme-controls .separator.sub-section:before{content:"";position:absolute;top:0;bottom:0;left:-20px;right:-20px;z-index:-1;border-width:1px 0;border-style:solid;border-color:#dfe8ef;background-color:#fff}#customize-theme-controls .separator.section+.customize-control-description,#customize-theme-controls .separator.sub-section+.customize-control-description{margin-top:20px}#customize-theme-controls .separator.section{position:relative;padding:14px 0;margin-bottom:0;background:0 0;border:none}#customize-theme-controls .separator.section:before{border-width:1px 0}#customize-theme-controls .separator.sub-section{position:relative;padding:12px 0}#customize-theme-controls .separator.sub-section:before{border-width:1px 0;background-color:#fff}#customize-theme-controls .widget-content .accordion-container{margin-left:-10px;margin-right:-10px;margin-top:20px;margin-bottom:10px}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-content{position:relative;left:0;max-height:0;padding-top:0;padding-bottom:0;overflow:hidden;-webkit-transition:all .4s ease;transition:all .4s ease;color:#416b7e}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-content p:first-child{margin-top:0}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-content p:last-child{margin-bottom:0}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-title{color:#2a3b44}#customize-theme-controls .widget-content .accordion-container .accordion-section .accordion-section-title:after{content:"\f142";-webkit-transform:rotate(180deg);transform:rotate(180deg)}#customize-theme-controls .widget-content .accordion-container .accordion-section.open{border-bottom:none}#customize-theme-controls .widget-content .accordion-container .accordion-section.open .accordion-section-content{max-height:100%;padding-top:17px;padding-bottom:17px}#customize-theme-controls .widget-content .accordion-container .accordion-section.open .accordion-section-title{border-bottom:1px solid}#customize-theme-controls .widget-content .accordion-container .accordion-section.open .accordion-section-title:after{-webkit-transform:rotate(0);transform:rotate(0)}#customize-theme-controls .widget-content .accordion-container label.customize-control-title{cursor:default}.widget .widget-content>p input[type=checkbox],.widget .widget-content>p input[type=radio]{margin-bottom:3px;margin-top:3px}.widget .widget-content small{margin-top:5px;display:block}#available-widgets [class*=categories-image-grid] .widget .widget-title:before,#available-widgets [class*=featured-posts] .widget .widget-title:before,#available-widgets [class*=pixelgrade] .widget .widget-title:before{content:"\f538";color:#9660c6}#available-widgets [class*=pixelgrade-featured-posts-slideshow] .widget .widget-title:before{content:"\f233"}#available-widgets [class*=pixelgrade-featured-posts-carousel] .widget .widget-title:before{content:"\f169"}#available-widgets [class*=featured-posts-grid] .widget .widget-title:before{content:"\f180"}#available-widgets [class*=featured-posts-list] .widget .widget-title:before{content:"\f164"}#available-widgets [class*=categories-image-grid] .widget .widget-title:before{content:"\f163"}#available-widgets [class*=pixelgrade-promo-box] .widget .widget-title:before{content:"\f488"}.wp-customizer .widget-conditional .condition-control:after{content:" ";display:table;clear:both}.wp-customizer .widget-conditional .selection{padding-right:50px;padding-left:28px;padding-bottom:19px;margin-left:0;margin-right:0;margin-bottom:10px;border-bottom:1px solid #dfe8ef}.wp-customizer .widget-conditional .condition:last-child .selection{border:0}.wp-customizer .widget-conditional select{max-width:100%;width:170px}.wp-customizer .widget-conditional .condition-top select{width:130px}.customize-control-color{display:block}.customize-control-color .customize-control-title{float:left}.customize-control-color .wp-picker-container{position:relative;float:right;top:-3px}.customize-control-color .wp-picker-container .wp-picker-holder{position:relative}.customize-control-color .wp-picker-container .wp-color-result,.customize-control-color .wp-picker-container .wp-color-result.button{top:0;height:30px;width:40px;margin:0;padding:0;border-radius:4px;background:#2ecc71;border:2px solid #b8daeb;-webkit-box-shadow:none;box-shadow:none}.customize-control-color .wp-picker-container .wp-color-result.button.wp-picker-open,.customize-control-color .wp-picker-container .wp-color-result.wp-picker-open{border-color:#48a9d7}.customize-control-color .wp-picker-container .wp-color-result .wp-color-result-text,.customize-control-color .wp-picker-container .wp-color-result.button .wp-color-result-text,.customize-control-color .wp-picker-container .wp-color-result.button:after,.customize-control-color .wp-picker-container .wp-color-result:after{display:none}.customize-control-color .wp-picker-container .iris-picker{position:absolute;top:42px;right:0;z-index:1000;width:275px!important;border-radius:0 0 3px 3px;border:1px solid #dfe8ef;border-top:none;background:#fff;-webkit-box-shadow:0 7px 8px 0 rgba(0,0,0,.1);box-shadow:0 7px 8px 0 rgba(0,0,0,.1)}.customize-control-color .wp-picker-container .iris-picker .iris-square{width:215px!important;height:173px!important;margin-right:0}.customize-control-color .wp-picker-container .iris-picker .iris-strip{float:right;-webkit-box-shadow:rgba(0,0,0,.4) 0 1px 1px inset;box-shadow:rgba(0,0,0,.4) 0 1px 1px inset}.customize-control-color .wp-picker-container .iris-picker .iris-strip .ui-slider-handle{border-color:#aaa!important;opacity:1;-webkit-box-shadow:none;box-shadow:none}.customize-control-color .wp-picker-container .iris-picker .iris-palette{width:24px!important;height:24px!important;border-radius:50px;-webkit-box-shadow:rgba(0,0,0,.4) 0 1px 1px inset;box-shadow:rgba(0,0,0,.4) 0 1px 1px inset}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap{position:absolute;top:35px;right:0;z-index:1000;width:277px;padding:9px 12px;border:1px solid #dfe8ef;border-bottom:none;border-radius:3px 3px 0 0;-webkit-box-shadow:0 7px 8px 0 rgba(0,0,0,.1);box-shadow:0 7px 8px 0 rgba(0,0,0,.1);background:#fff}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap:after,.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap:before{content:"";position:absolute;bottom:100%;right:12px;width:0;height:0;border:9px solid transparent}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap:before{z-index:100;border-bottom-color:#b8daeb;border-width:10px}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap:after{z-index:101;border-bottom-color:#fff;margin-right:1px}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap input.wp-color-picker{float:left;width:100px;font-size:13px;text-align:left;margin:0;padding:0 12px;height:auto;font-family:Courier,monospace}.customize-control-color .wp-picker-container .wp-picker-open+.wp-picker-input-wrap input.button{float:right;padding:2px 12px;height:30px}.customize-control-custom_background .hide{display:none}.customize-control-custom_background .upload_button_div{margin:10px 0}.customize-control-custom_background .upload_button_div>*{margin-right:10px}.customize-control-custom_background .preview_screenshot{text-align:center;margin:10px 0}.customize-control-custom_background .preview_screenshot img{border:2px solid #ccc}.font-options__wrapper{position:relative}.font-options__wrapper:after{content:"";position:absolute;top:90%;left:0;right:0;z-index:0;display:block;height:30px}.customize-control-font:last-child{margin-bottom:150px}.font-options__head{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:10px 14px;margin:0;border:2px solid #dfe8ef;border-radius:4px;background:#fff;color:#416b7e;font-size:14px;font-weight:500;line-height:1.5;-webkit-transition:all .2s ease-out;transition:all .2s ease-out;-webkit-transition-property:color,background-color,border-color;transition-property:color,background-color,border-color;outline:0;padding-right:44px;height:44px;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iIzk4QzZERSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);background-repeat:no-repeat;background-position:right 16px top 16px;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;text-overflow:ellipsis;white-space:nowrap;-webkit-appearance:none}.font-options__head:focus{border-color:#48a9d7;-webkit-box-shadow:none;box-shadow:none}.font-options__head:hover{border-color:#48a9d7;background-color:#85c4ea;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTVweCIgaGVpZ2h0PSI5cHgiIHZpZXdCb3g9IjAgMCAxNSA5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPGcgaWQ9ImFycm93IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cG9seWdvbiBpZD0iYXJyb3ctc2hhcGUiIHBvaW50cz0iMTMuNDgxMiAwIDE1IDEuNTE0IDcuNSA5IDAgMS41MTQgMS41MTg4IDAgNy41IDUuOTY3MiI+PC9wb2x5Z29uPgogICAgPC9nPgo8L3N2Zz4=);color:#fff}.font-options__checkbox:checked~.font-options__head{border-color:#48a9d7;background-color:#85c4ea;background-image:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjkiIHdpZHRoPSIxNSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtLTEtMWg1ODJ2NDAyaC01ODJ6IiBmaWxsPSJub25lIi8+PHBhdGggZD0ibTEzLjQ4MTIgMCAxLjUxODggMS41MTQtNy41IDcuNDg2LTcuNS03LjQ4NiAxLjUxODgtMS41MTQgNS45ODEyIDUuOTY3MnoiIGZpbGw9IiNmZmYiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDAgMCAtMSAxNSA5KSIvPjwvc3ZnPg==);color:#fff}.font-options__checkbox:not(:checked)~.font-options__head:not(:hover) .font-options__font-title{color:#98c6dd}.font-options__font-title{font-size:12px;line-height:20px;font-weight:300;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.font-options__option[class]{margin-bottom:0}.font-options__option+.font-options__option{margin-top:12px}.font-options__option label{display:block;margin-bottom:6px}input.font-options__checkbox{display:none}.font-options__options-list{position:absolute;top:100%;left:-12px;right:-12px;z-index:10;display:block;padding:10px 10px 14px;margin-top:5px;border:1px solid #b8daeb;border-radius:4px;-webkit-box-shadow:0 5px 10px 0 rgba(0,0,0,.125);box-shadow:0 5px 10px 0 rgba(0,0,0,.125);background-color:#fff}.font-options__options-list:after,.font-options__options-list:before{content:"";position:absolute;bottom:100%;right:26px;border:10px solid transparent}.font-options__options-list:before{z-index:100;border-bottom-color:#b8daeb;border-width:11px}.font-options__options-list:after{z-index:101;border-bottom-color:#f7fbff;margin-right:1px}.font-options__options-list label{font-size:13px}.font-options__checkbox:not(:checked)~.font-options__options-list{display:none}.default-preset-button{background-color:#f5f6f6;float:right;padding:1px 8px;border-radius:4px;border:1px solid #cbcbcb;margin-right:4px;font-family:"Open Sans",sans-serif}.js-customify-preset.radio_buttons .customify_radio_button{border:none;display:inline-block;padding:2px;margin:3px;position:relative;overflow:hidden;height:auto}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]{opacity:0;width:100%;height:100%;position:absolute;z-index:9999}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]:checked+label{background-color:#ebebeb}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]:checked+label:before{content:'>';color:inherit}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]:checked+label:after{content:'<';color:inherit}.js-customify-preset.radio_buttons .customify_radio_button input[type=radio]:checked:before{opacity:0}.js-customify-preset.radio_buttons .customify_radio_button label{position:relative;z-index:999;border-left:4px solid}.js-customify-preset .awesome_preset{position:relative;display:inline-block;width:45%;margin-top:5px;margin-bottom:25px;text-align:center;color:#fff;-webkit-transition:all .2s;transition:all .2s}.js-customify-preset .awesome_preset:hover{opacity:.9}.js-customify-preset .awesome_preset:before{content:'';position:absolute;top:1px;left:1px;right:1px;bottom:1px;z-index:5;border:1px solid #fff;border-radius:4px;background:0 0;opacity:.5}.js-customify-preset .awesome_preset .preset-wrap .preset-color{height:128px;border-radius:4px 4px 0 0;padding:17px 0 27px}.js-customify-preset .awesome_preset .preset-wrap .preset-color .first-font{display:inline-block;width:100%;font-size:55px;line-height:1}.js-customify-preset .awesome_preset .preset-wrap .preset-color .secondary-font{display:inline-block;width:100%;font-size:20px;line-height:1;margin-top:8px}.js-customify-preset .awesome_preset .preset-wrap .preset-name{position:relative;font-size:11px;text-transform:uppercase;border-radius:0 0 4px 4px;padding:1px}.js-customify-preset .awesome_preset .preset-wrap .preset-name:before{content:'';position:absolute;border-color:inherit;border:10px solid;border-left-color:transparent;border-right-color:transparent;border-top:transparent;top:-10px;border-bottom-color:inherit;left:40%}.js-customify-preset .awesome_preset:nth-child(odd){margin-right:7%}.js-customify-preset .awesome_preset input[type=radio]{height:100%;width:100%;position:absolute;border:0;-webkit-box-shadow:none;box-shadow:none;color:#006505;background-color:transparent;border-radius:0;margin:0;display:inline-block;top:0;left:0;z-index:10}.js-customify-preset .awesome_preset input[type=radio]:checked{background:0 0}.js-customify-preset .awesome_preset input[type=radio]:checked:before{position:absolute;height:25px;width:25px;top:-13px;right:-14px;background:#fff;z-index:1}.js-customify-preset .awesome_preset input[type=radio]:checked:after{content:'';position:absolute;width:26px;height:26px;border-radius:50%;top:-5px;right:-5px;z-index:10;background:#73c5ee url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjEzcHgiIGhlaWdodD0iOXB4IiB2aWV3Qm94PSIwIDAgMTMgOSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJDdXN0b21pZnktQ29weSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIxLjAwMDAwMCwgLTQwOC4wMDAwMDApIiBmaWxsPSIjRkZGRkZGIj4KICAgICAgICAgICAgPGcgaWQ9IkhlYWRlciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIxLjAwMDAwMCwgNDcuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0iQ29udGVudCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAuMDAwMDAwLCA3NS4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iRmllbGQtLS1DaGVja2JveC1Db3B5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNy4wMDAwMDAsIDI0OS4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9IkNoZWNrYm94IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwMDAwMCwgMzAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAuMDM4NDk1LDE2IEwxNy4xMTYxMzc1LDguOTIxNDg3NiBMMTUuMTk0NjQ5OCw3IEwxMC4wMzg0OTUsMTIuMTU1MDY3NCBMNi45MjE0ODc2LDkuMDM4OTI5OTcgTDUsMTAuOTYwNDE3NiBMMTAuMDM4NDk1LDE2IFoiIGlkPSJQYWdlLTEiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+) no-repeat;background-position:center center}.customify_radio_html{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin-top:-10px;margin-left:-10px}.customify_radio_html label{display:block;padding-top:10px;padding-left:10px;-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%}.customify_radio_html label>input+div{border-color:#dfe8ef;height:100%}.customify_radio_html label:hover{background-color:rgba(255,255,255,.2)}.customify_radio_html input{display:none}.customify_radio_html input+div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border:2px solid transparent;border-radius:.5em;padding:20px}.customify_radio_html input:checked+div{border-color:#5ab9e8}.customify_radio_image{display:inline-block}.customify_radio_image label{display:block;float:left;margin-right:10px;position:relative}.customify_radio_image label input[type=radio]{position:absolute;top:0;bottom:0;left:0;right:0;width:100%;height:100%;visibility:hidden}.customify_radio_image label input[type=radio] img{cursor:pointer;border:2px solid transparent}.customify_radio_image label input[type=radio]:checked+img{border:3px solid #73c5ee}.customize-control-range:after{content:" ";display:table;clear:both}.customize-control-range input[type=range]{float:left;width:calc(100% - 70px);margin:3px 0 0}.customize-control-range input[type=number]{width:50px;height:auto;float:right;padding:2px 3px;font-size:13px;text-align:center}.customize-control-range input[type=number]::-webkit-inner-spin-button,.customize-control-range input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sm-palette-filter .sm-color-palette__colors{width:auto;height:auto;padding:10px 10px;border-radius:999em}.sm-palette-filter .sm-color-palette__picker:after{-webkit-box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2);box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2)}.sm-palette-filter>label{position:relative;display:block;margin:0 0 10px}.sm-palette-filter>label:hover .filter-label{opacity:1}.sm-palette-filter>input{display:none}.sm-palette-filter .filter-label{position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.sm-palette-filter .filter-label span{position:relative;z-index:20}.sm-palette-filter .filter-label:after{content:"";display:block;position:absolute;top:0;left:0;z-index:10;width:100%;height:100%;background-color:#fff;-webkit-box-shadow:#dfe8ef 0 0 0 1px;box-shadow:#dfe8ef 0 0 0 1px;border-radius:999em}.sm-palette-filter>input:checked+label .filter-label:after{background-color:#f7fbff;-webkit-box-shadow:none;box-shadow:none}.sm-palette-filter>input:checked+label .sm-color-palette__colors{background-color:#f7fbff;-webkit-box-shadow:#48a9d7 0 0 0 2px;box-shadow:#48a9d7 0 0 0 2px}.customize-control-sm_palette_filter .customize-control-title{display:none}.customize-control-radio[class][id=customize-control-sm_palette_filter_control]>.customize-inside-control-row:not(:only-of-type){display:block;width:auto}.sm-radio-group{position:relative;border-radius:999em;overflow:hidden;height:2.428em;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;color:#416b7e;font-size:14px;-webkit-font-smoothing:antialiased;font-weight:600;line-height:1.142em}.sm-radio-group>*{-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0}.sm-radio-group:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:.142em solid #48a9d7;border-radius:999em;pointer-events:none}.sm-radio-group input[type=radio]{display:none}.sm-radio-group input[type=radio]:checked+label{background-color:#48a9d7;color:#fff}.sm-radio-group input[type=radio]:checked+label:before{content:"";display:inline-block;color:inherit;position:relative;top:.285em;margin-right:.45em;height:.8em;width:.55em;border-right:2px solid;border-bottom:2px solid;-webkit-transform:translateY(-50%) rotate(45deg);transform:translateY(-50%) rotate(45deg)}.sm-radio-group label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:relative;cursor:pointer;-webkit-transition:all .25s ease;transition:all .25s ease;color:inherit}.sm-radio-group label:hover{color:#416b7e}.sm-radio-group label:nth-of-type(2){border-left:2px solid #48a9d7;border-right:2px solid #48a9d7}[id=customize-control-sm_coloration_level_control] .sm-radio-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}[id=customize-control-sm_coloration_level_control] .sm-radio-group>*{-webkit-box-flex:0;-ms-flex:0 0 33.33%;flex:0 0 33.33%}[id=customize-control-sm_coloration_level_control] .sm-radio-group input[type=radio]:last-of-type:checked+label{background:-webkit-gradient(linear,left top,right top,from(#3daae0),to(#d557be));background:linear-gradient(90deg,#3daae0 0,#d557be 100%)}[id=customize-control-sm_coloration_level_control] .sm-radio-group input[type=radio]:nth-of-type(1):checked~label:last-of-type,[id=customize-control-sm_coloration_level_control] .sm-radio-group input[type=radio]:nth-of-type(2):checked~label:last-of-type{margin-right:-33.33%}[id=customize-control-sm_coloration_level_control] .sm-radio-group label:nth-of-type(1){-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}[id=customize-control-sm_coloration_level_control] .sm-radio-group label:nth-of-type(2){-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3;border-left:2px solid #48a9d7;border-right:2px solid #48a9d7}[id=customize-control-sm_coloration_level_control] .sm-radio-group label:nth-of-type(3){-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}[id=customize-control-sm_coloration_level_control] .sm-radio-group label:nth-of-type(4){-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1;border-left:2px solid #48a9d7}[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize li.customize-control-sm_switch{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding-top:42px;padding-bottom:42px}[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize li.customize-control-sm_switch .customize-control-title{display:inline-block}.sm-switch{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;overflow:hidden;position:relative;height:2.428em;max-width:5.5em;border-radius:999em;color:#fff;font-size:14px;-webkit-font-smoothing:antialiased;font-weight:600;line-height:1.142em;z-index:10}.sm-switch input[type=radio]{display:none}.sm-switch input[type=radio]+label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%}.sm-switch input[type=radio]+label,.sm-switch input[type=radio]+label:after{-webkit-transition:all .2s ease-out;transition:all .2s ease-out}.sm-switch input[type=radio]:checked+label{pointer-events:none}.sm-switch input[type=radio]:nth-of-type(1)+label{padding-left:1.214em}.sm-switch input[type=radio]:nth-of-type(1)+label:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#48a9d7;z-index:-1}.sm-switch input[type=radio]:nth-of-type(1):not(:checked)+label{-webkit-transform:translateX(-100%) translateX(2.125em);transform:translateX(-100%) translateX(2.125em)}.sm-switch input[type=radio]:nth-of-type(1):not(:checked)+label:after{background:#ccc;-webkit-transform:translateX(100%) translateX(-2.125em);transform:translateX(100%) translateX(-2.125em)}.sm-switch input[type=radio]:nth-of-type(1):not(:checked)+label~label{-webkit-transform:translateX(-100%);transform:translateX(-100%)}.sm-switch input[type=radio]:nth-of-type(1):checked+label~label{-webkit-transform:translateX(-2.4em);transform:translateX(-2.4em)}.sm-switch input[type=radio]:nth-of-type(1):checked+label~label:before{-webkit-transform:translateX(-100%) translateX(2.125em);transform:translateX(-100%) translateX(2.125em)}.sm-switch input[type=radio]:nth-of-type(2)+label{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse;padding-right:1em}.sm-switch input[type=radio]:nth-of-type(2)+label:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.sm-switch input[type=radio]:nth-of-type(2)+label:after{content:"";display:block;height:2.142em;width:2.142em;margin-right:auto;margin-left:.125em;border-radius:50%;background-color:#fff;-webkit-box-shadow:1px 2px 2px 0 rgba(23,21,21,.15);box-shadow:1px 2px 2px 0 rgba(23,21,21,.15);pointer-events:none}.sm-tabs{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 16px;text-align:center;border-bottom:1px solid #dfe8ef}.sm-tabs__item{position:relative;padding:12px 0;margin-bottom:-1px;-ms-flex-preferred-size:31%;flex-basis:31%;font-size:14px;color:#416b7e;opacity:.7;cursor:pointer;-webkit-transition:color .2s ease;transition:color .2s ease}.sm-tabs__item:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;-webkit-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transition:all .2s ease;transition:all .2s ease}.sm-tabs__item:not(.sm-tabs__item--active):not(:hover):after{-webkit-transform:scaleY(0);transform:scaleY(0)}.sm-tabs__item:not(.sm-tabs__item--active):hover:after{background-color:#b8daeb}.sm-tabs__item--active{color:#2a3b44}.sm-tabs__item--active:after{background-color:#48a9d7}.customize-control-color-palette .customize-inside-control-row{position:relative;display:block;width:100%!important;height:64px;margin-left:0!important;overflow:hidden;text-indent:0!important;background-size:cover;background-position:50% 50%;border-radius:5px}.customize-control-color-palette .customize-inside-control-row+.customize-inside-control-row{margin-top:15px}.customize-control-color-palette .customize-inside-control-row:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:10;pointer-events:none;-webkit-box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2);box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2)}.customize-control-color-palette .customize-inside-control-row:hover:before{-webkit-box-shadow:inset 0 0 3px 0 rgba(0,0,0,.4);box-shadow:inset 0 0 3px 0 rgba(0,0,0,.4)}.customize-control-color-palette .customize-inside-control-row:hover .palette__item{-webkit-transform:translateY(0);transform:translateY(0)}.customize-control-color-palette .customize-inside-control-row:hover label{left:10px}.customize-control-color-palette .customize-inside-control-row input{opacity:0}.customize-control-color-palette .customize-inside-control-row input:checked+label .preview__letter--checked{display:inline-block;vertical-align:middle}.customize-control-color-palette .customize-inside-control-row input:checked+label .preview__letter{display:none}.customize-control-color-palette .customize-inside-control-row label{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;z-index:2;width:100%;height:100%;top:0;left:0;padding:0 10px;margin-top:0!important;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:all .3s ease;transition:all .3s ease}.customize-control-color-palette .customize-inside-control-row .palette{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;top:0;left:0;z-index:1;width:100%;height:100%;-webkit-transition:all .2s ease;transition:all .2s ease}.customize-control-color-palette .customize-inside-control-row .palette__item{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-transition:all .3s ease;transition:all .3s ease}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(1){-webkit-transition-delay:0s;transition-delay:0s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(2){-webkit-transition-delay:.05s;transition-delay:.05s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(3){-webkit-transition-delay:.1s;transition-delay:.1s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(4){-webkit-transition-delay:.15s;transition-delay:.15s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(5){-webkit-transition-delay:.2s;transition-delay:.2s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(6){-webkit-transition-delay:.25s;transition-delay:.25s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(7){-webkit-transition-delay:.3s;transition-delay:.3s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(8){-webkit-transition-delay:.35s;transition-delay:.35s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(9){-webkit-transition-delay:.4s;transition-delay:.4s}.customize-control-color-palette .customize-inside-control-row .palette__item:nth-child(10){-webkit-transition-delay:.45s;transition-delay:.45s}.customize-control-color-palette .customize-inside-control-row .preview__letter,.customize-control-color-palette .customize-inside-control-row .preview__letter--checked{display:inline-block;padding:3px;border-radius:2px;color:#fff;margin-right:5px;min-height:26px;min-width:26px;text-align:center;background-position:center center;background-repeat:no-repeat;background-size:15px 15px;font-style:normal;vertical-align:baseline}.customize-control-color-palette .customize-inside-control-row .preview__letter--checked{display:none}[id*=sm_current_color_palette_control] .customize-inside-control-row .palette__item[class]{-webkit-transform:none;transform:none}[id*=sm_current_color_palette_control] .variation-control{display:-webkit-box;display:-ms-flexbox;display:flex}.label{margin-right:auto}.label__inner{color:#000;background:#f5f6f1;padding:7px 12px 7px 7px;z-index:2;border-radius:3px;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.15);box-shadow:0 2px 5px rgba(0,0,0,.15)}#customize-theme-controls [id*=sm_current_color_palette_control]{display:block;width:auto}#customize-theme-controls [id*=sm_current_color_palette_control] .color-palette-container{background:#fff}#customize-theme-controls [id*=sm_current_color_palette_control] .color-palette-container .description{margin-bottom:15px}#customize-theme-controls [id*=sm_current_color_palette_control] .description.c-color-palette__notification{padding-top:19px;margin-bottom:0;font-size:inherit;font-weight:700}.c-color-palette__fields{position:relative}.c-color-palette .iris-picker{position:absolute;top:100%;left:0;z-index:100;margin-top:1em;border:0;-webkit-box-shadow:#000 0 3px 12px -4px;box-shadow:#000 0 3px 12px -4px}.c-color-palette .iris-picker .iris-square-handle{border-color:transparent;left:-6px;top:-6px}.c-color-palette .iris-picker .iris-square-handle:after{position:absolute;bottom:0;right:0;left:0;top:0;border:2px solid #dfe8ef}.c-color-palette .iris-picker .iris-square-value{-webkit-box-shadow:none!important;box-shadow:none!important}input.c-color-palette__input[class]{margin-top:1em}#customize-control-sm_toggle_advanced_settings_control{margin-bottom:0;opacity:0}#customize-control-sm_toggle_advanced_settings_control button{width:100%}.customize-control-color .wp-picker-container .iris-picker .iris-palette-container{display:-webkit-box;display:-ms-flexbox;display:flex;width:215px}.customize-control-color .wp-picker-container .iris-picker .iris-palette{width:auto!important;height:auto!important;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;float:none}.customize-control-color .wp-picker-container .iris-picker .iris-palette:after{content:"";display:block;padding-top:100%}.c-color-palette{padding:30px 20px 18px}[id=customize-control-sm_current_color_palette_control][id]{margin-bottom:0}[id=customize-control-sm_current_color_palette_control][id]~.customize-control{background-color:#fff;margin-top:0;padding:24px 20px 0}#customize-control-sm_dark_color_primary_slider_control,#customize-control-sm_dark_color_secondary_slider_control,#customize-control-sm_dark_color_tertiary_slider_control{display:none!important}[id=sub-accordion-section-sm_color_palettes_section]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:20px 0 0!important;overflow:hidden}[id=sub-accordion-section-sm_color_palettes_section] #customize-control-sm_color_palette_control{-ms-flex-negative:0;flex-shrink:0;overflow-y:scroll;margin-bottom:0;padding-top:20px}[id=sub-accordion-section-sm_color_palettes_section]>*{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;padding:0 20px}[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_current_color_palette_control]~*{display:none!important}[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_customize_description_after_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_customize_description_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_filters_description_after_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_filters_description_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_palettes_description_after_control] span,[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_palettes_description_control] span{margin:0}[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_filters_description_after_control][id].customize-control{padding-top:20px}[id=sub-accordion-section-sm_color_palettes_section].sm-view-palettes [id=customize-control-sm_color_palette_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-palettes [id=customize-control-sm_palettes_description_after_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-palettes [id=customize-control-sm_palettes_description_control]{display:block!important}[id=sub-accordion-section-sm_color_palettes_section].sm-view-filters [id=customize-control-sm_filters_description_after_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-filters [id=customize-control-sm_filters_description_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-filters [id=customize-control-sm_palette_filter_control]{display:block!important}[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_color_diversity_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_coloration_level_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_customize_description_after_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_customize_description_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_dark_mode_control],[id=sub-accordion-section-sm_color_palettes_section].sm-view-customize [id=customize-control-sm_shuffle_colors_control]{display:block!important}[id=sub-accordion-section-sm_color_palettes_section] [id=customize-control-sm_spacing_bottom_control][id]{display:block!important;min-height:24px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}[id=customize-control-sm_color_palette_control] .customize-control-description,[id=customize-control-sm_color_palette_control] .customize-control-title{display:none}.color[class*=sm_color][class*="_connected"],.color[class*=sm_dark][class*="_connected"],.color[class*=sm_light][class*="_connected"]{display:none}.c-color-palette__colors{position:relative}.c-color-palette canvas,.c-color-palette svg{max-width:100%;height:auto}.c-color-palette__fields{position:absolute;top:100%;left:0;right:0;z-index:100}[id=sub-accordion-section-sm_color_palettes_section]>.customize-section-description-container{margin-bottom:0}#customize-theme-controls .control-panel-content:not(.control-panel-nav_menus) .control-section:nth-child(2),#customize-theme-controls .control-panel-nav_menus .control-section-nav_menu,#customize-theme-controls .control-section-nav_menu_locations .accordion-section-title{border-top:0}.sm-color-palette__colors{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:3em}.sm-color-palette__color{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1 1 0px;flex:1 1 0;overflow:hidden;-webkit-transition:flex-grow .3s cubic-bezier(.18,.89,.32,1.28),-webkit-box-flex .3s cubic-bezier(.18,.89,.32,1.28);transition:flex-grow .3s cubic-bezier(.18,.89,.32,1.28),-webkit-box-flex .3s cubic-bezier(.18,.89,.32,1.28);transition:flex-grow .3s cubic-bezier(.18,.89,.32,1.28);transition:flex-grow .3s cubic-bezier(.18,.89,.32,1.28),-webkit-box-flex .3s cubic-bezier(.18,.89,.32,1.28),-ms-flex-positive .3s cubic-bezier(.18,.89,.32,1.28)}.sm-color-palette__color.hidden{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-webkit-transition:flex-grow .3s cubic-bezier(.6,-1,.74,.05),-webkit-box-flex .3s cubic-bezier(.6,-1,.74,.05);transition:flex-grow .3s cubic-bezier(.6,-1,.74,.05),-webkit-box-flex .3s cubic-bezier(.6,-1,.74,.05);transition:flex-grow .3s cubic-bezier(.6,-1,.74,.05);transition:flex-grow .3s cubic-bezier(.6,-1,.74,.05),-webkit-box-flex .3s cubic-bezier(.6,-1,.74,.05),-ms-flex-positive .3s cubic-bezier(.6,-1,.74,.05)}.sm-color-palette__disc{position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;display:block;overflow:hidden;pointer-events:none;-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.sm-color-palette__disc:after{content:"";-webkit-filter:blur(6px) saturate(.7) brightness(1.1);filter:blur(6px) saturate(.7) brightness(1.1);display:block;width:200%;height:200%;padding-top:100%;position:absolute;top:-50%;left:-50%;-webkit-transform:scale(1);transform:scale(1);background-image:linear-gradient(330deg,transparent 50%,#ff8100 0),linear-gradient(300deg,transparent 50%,#ff5800 0),linear-gradient(270deg,transparent 50%,#c92323 0),linear-gradient(240deg,transparent 50%,#cc42a2 0),linear-gradient(210deg,transparent 50%,#9f49ac 0),linear-gradient(180deg,transparent 50%,#306cd3 0),linear-gradient(150deg,transparent 50%,#179067 0),linear-gradient(120deg,transparent 50%,#0eb5d6 0),linear-gradient(90deg,transparent 50%,#50b517 0),linear-gradient(60deg,transparent 50%,#ede604 0),linear-gradient(30deg,transparent 50%,#fc0 0),linear-gradient(0deg,transparent 50%,#feac00 0);background-clip:content-box,content-box,content-box,content-box,content-box,content-box,padding-box,padding-box,padding-box,padding-box,padding-box,padding-box}.sm-color-palette__color:not(.altered) .sm-color-palette__disc{opacity:0}.sm-color-palette__picker{position:relative;top:0;left:50%;width:80%;max-width:3em;margin-top:auto;margin-bottom:auto;border-radius:50%;overflow:hidden;-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0);-webkit-transition:opacity .3s ease-in-out,border-color .3s ease-in-out;transition:opacity .3s ease-in-out,border-color .3s ease-in-out;cursor:pointer}.sm-color-palette__picker>i{display:block;position:absolute;top:0;right:0;bottom:0;left:0;-webkit-box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2);box-shadow:inset 0 0 3px 0 rgba(0,0,0,.2);border-radius:50%;pointer-events:none;z-index:20}.sm-color-palette__picker:after,.sm-color-palette__picker:before{content:"";display:block;background:currentColor;border-radius:50%}.sm-color-palette__picker:before{padding-top:100%}.sm-color-palette__picker:after{position:absolute;top:0;left:0;width:100%;height:100%}.sm-color-palette__color.hidden .sm-color-palette__picker{opacity:0;-webkit-transition:opacity .2s ease-out;transition:opacity .2s ease-out}.sm-color-palette__color.inactive .sm-color-palette__picker{opacity:.2}.sm-color-palette__color.inactive .sm-color-palette__picker:hover{opacity:1}.sm-color-palette__color.js-no-picker .sm-color-palette__picker{cursor:not-allowed}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title{border-bottom:1px solid #dfe8ef}#customize-controls #accordion-section-sm_color_palettes_section+#accordion-section-sm_font_palettes_section>.accordion-section-title{margin-top:5px;border-top-width:1px}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title,#customize-controls #accordion-section-sm_font_palettes_section>.accordion-section-title{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title:before,#customize-controls #accordion-section-sm_font_palettes_section>.accordion-section-title:before{font-family:dashicons;font-size:17px;-webkit-font-smoothing:antialiased}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title:before,#customize-controls #accordion-section-sm_font_palettes_section>.accordion-section-title:before{width:2em;height:2em;margin-right:15px;padding-left:.1em;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;text-align:center;background-color:#85c4ea;color:#f7fbff;border-radius:50%}#customize-controls #accordion-section-sm_color_palettes_section>.accordion-section-title:before{content:"\f100"}#customize-controls #accordion-section-sm_font_palettes_section>.accordion-section-title:before{content:"\f122"}.customize-control-font-palette .customize-inside-control-row{position:relative;padding-top:52%;margin-left:0;overflow:hidden;background-color:#fff;background-size:contain;background-repeat:no-repeat;background-position:right center;border-radius:4px}.customize-control-font-palette .customize-inside-control-row+.customize-inside-control-row{margin-top:15px}.customize-control-font-palette .customize-inside-control-row input{display:none}.customize-control-font-palette .customize-inside-control-row input+label{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid #dfe8ef;border-radius:inherit}.customize-control-font-palette .customize-inside-control-row:hover input+label{border-color:#b8daeb}.customize-control-font-palette .customize-inside-control-row input:checked+label{border-color:#48a9d7}#customize-control-sm_font_palette_control~.customize-control{display:none!important}#customize-controls{background:#f7fbff;border-color:#dfe8ef}#customize-controls .customize-info{border-color:#dfe8ef}#customize-footer-actions,#customize-header-actions{background:#fff;border-color:#dfe8ef}#customize-controls .customize-info .customize-panel-description,#customize-controls .customize-info .customize-section-description,#customize-controls .no-widget-areas-rendered-notice,#customize-outer-theme-controls .customize-info .customize-section-description{padding:20px;border-color:#dfe8ef;background:#fff;color:#2a3b44}#customize-theme-controls .customize-pane-child.accordion-section-content{padding:20px}.customize-section-title{margin:-20px;margin-bottom:0;border-color:#dfe8ef}.wp-full-overlay-sidebar-content .accordion-section-content{overflow:visible}#customize-theme-controls .theme *{-webkit-box-sizing:content-box;box-sizing:content-box}#customize-theme-controls #accordion-section-add_menu{border-bottom:none}#customize-theme-controls #accordion-section-add_menu .add-menu-toggle{float:none}.customify_ace_editor{display:block;min-height:200px;border:1px solid #dfe8ef}.ui-tooltip{z-index:999999}
customify.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Customify
4
  * Plugin URI: https://wordpress.org/plugins/customify/
5
  * Description: A Theme Customizer Booster to easily and consistently customize Fonts, Colors, and other options for your site.
6
- * Version: 2.6.0
7
  * Author: Pixelgrade
8
  * Author URI: https://pixelgrade.com
9
  * Author Email: contact@pixelgrade.com
@@ -12,8 +12,8 @@
12
  * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
13
  * Domain Path: /languages/
14
  * Requires at least: 4.9.9
15
- * Tested up to: 5.3.2
16
- * Requires PHP: 5.3.0
17
  */
18
 
19
  // If this file is called directly, abort.
@@ -33,7 +33,7 @@ require_once 'includes/extras.php';
33
  function PixCustomifyPlugin() {
34
  require_once plugin_dir_path( __FILE__ ) . 'includes/class-pixcustomify.php';
35
 
36
- return PixCustomifyPlugin::instance( __FILE__, '2.6.0' );
37
  }
38
 
39
  // Now get the party started.
3
  * Plugin Name: Customify
4
  * Plugin URI: https://wordpress.org/plugins/customify/
5
  * Description: A Theme Customizer Booster to easily and consistently customize Fonts, Colors, and other options for your site.
6
+ * Version: 2.7.0
7
  * Author: Pixelgrade
8
  * Author URI: https://pixelgrade.com
9
  * Author Email: contact@pixelgrade.com
12
  * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
13
  * Domain Path: /languages/
14
  * Requires at least: 4.9.9
15
+ * Tested up to: 5.4.0
16
+ * Requires PHP: 5.4.0
17
  */
18
 
19
  // If this file is called directly, abort.
33
  function PixCustomifyPlugin() {
34
  require_once plugin_dir_path( __FILE__ ) . 'includes/class-pixcustomify.php';
35
 
36
+ return PixCustomifyPlugin::instance( __FILE__, '2.7.0' );
37
  }
38
 
39
  // Now get the party started.
features/class-Font_Selector.php DELETED
@@ -1,681 +0,0 @@
1
- <?php
2
-
3
- class Customify_Font_Selector {
4
-
5
- /**
6
- * Instance of this class.
7
- * @since 1.0.0
8
- * @var object
9
- */
10
- protected static $_instance = null;
11
-
12
- protected static $typo_settings = null;
13
- protected static $options_list = null;
14
- protected $theme_fonts = null;
15
- protected $customify_CSS_output = array();
16
-
17
-
18
- function __construct() {
19
- $this->theme_fonts = apply_filters( 'customify_theme_fonts', array() );
20
-
21
- $load_location = PixCustomifyPlugin()->settings->get_plugin_setting( 'style_resources_location', 'wp_head' );
22
- add_action( $load_location, array( $this, 'output_webfont_script' ), 99 );
23
- add_action( $load_location, array( $this, 'output_fonts_dynamic_style' ), 100 );
24
- add_action( 'customify_font_family_before_options', array( $this, 'add_customify_theme_fonts' ), 11, 1 );
25
-
26
- if ( PixCustomifyPlugin()->settings->get_plugin_setting( 'enable_editor_style', true ) ) {
27
- add_action( 'admin_head', array( $this, 'script_to_add_customizer_settings_into_wp_editor' ) );
28
- }
29
-
30
- }
31
-
32
- function script_to_add_customizer_settings_into_wp_editor() {
33
-
34
- ob_start();
35
- $this->output_fonts_dynamic_style();
36
-
37
- $custom_css = ob_get_clean();
38
-
39
- ob_start(); ?>
40
- (function ($) {
41
- $(window).load(function () {
42
- /**
43
- * @param iframe_id the id of the frame you want to append the style
44
- * @param style_element the style element you want to append
45
- */
46
- var append_script_to_iframe = function (ifrm_id, scriptEl) {
47
- var myIframe = document.getElementById(ifrm_id);
48
-
49
- var script = myIframe.contentWindow.document.createElement("script");
50
- script.type = "text/javascript";
51
- script.innerHTML = scriptEl.innerHTML;
52
-
53
- myIframe.contentWindow.document.head.appendChild(script);
54
- };
55
-
56
- var append_style_to_iframe = function (ifrm_id, styleElment) {
57
- var ifrm = window.frames[ifrm_id];
58
- if ( typeof ifrm === "undefined" ) {
59
- return;
60
- }
61
- ifrm = ( ifrm.contentDocument || ifrm.document );
62
- var head = ifrm.getElementsByTagName('head')[0];
63
-
64
- if (typeof styleElment !== "undefined") {
65
- head.appendChild(styleElment);
66
- }
67
- };
68
-
69
- var xmlString = <?php echo json_encode( str_replace( "\n", "", $custom_css ) ); ?>,
70
- parser = new DOMParser(),
71
- doc = parser.parseFromString(xmlString, "text/html");
72
-
73
- if (typeof window.frames['content_ifr'] !== 'undefined') {
74
-
75
- $.each(doc.head.childNodes, function (key, el) {
76
- if (typeof el !== "undefined" && typeof el.tagName !== "undefined") {
77
-
78
- switch (el.tagName) {
79
- case 'STYLE' :
80
- append_style_to_iframe('content_ifr', el);
81
- break;
82
- case 'SCRIPT' :
83
- append_script_to_iframe('content_ifr', el);
84
- break;
85
- default:
86
- break;
87
- }
88
- }
89
- });
90
- }
91
- });
92
- })(jQuery);
93
- <?php
94
- $script = ob_get_clean();
95
- wp_add_inline_script( 'editor', $script );
96
- }
97
-
98
- public function get_theme_fonts() {
99
- return $this->theme_fonts;
100
- }
101
-
102
- function add_customify_theme_fonts( $active_font_family ) {
103
- //first get all the published custom fonts
104
- if ( empty( $this->theme_fonts ) ) {
105
- return;
106
- }
107
-
108
- echo '<optgroup label="' . esc_html__( 'Theme Fonts', 'customify' ) . '">';
109
- foreach ( $this->theme_fonts as $font ) {
110
- if ( ! empty( $font ) ) {
111
- //display the select option's HTML
112
- Pix_Customize_Font_Control::output_font_option( $font, $active_font_family, 'theme_font' );
113
- }
114
- }
115
- echo "</optgroup>";
116
- }
117
-
118
- function maybe_decode_value( $value ) {
119
-
120
- $to_return = PixCustomifyPlugin::decodeURIComponent( $value );
121
- if ( is_string( $value ) ) {
122
- $to_return = json_decode( wp_unslash( $to_return ), true );
123
- }
124
-
125
- return $to_return;
126
- }
127
-
128
- protected function get_fonts_args() {
129
-
130
- $args = array(
131
- 'google_families' => array(),
132
- 'local_families' => array(),
133
- 'local_srcs' => array(),
134
- );
135
-
136
- /** @var PixCustomifyPlugin $local_plugin */
137
- $local_plugin = PixCustomifyPlugin();
138
-
139
- self::$options_list = $local_plugin->get_options_details();
140
-
141
- $local_plugin->customizer->get_typography_fields( self::$options_list, 'type', 'font', self::$typo_settings );
142
-
143
- if ( empty( self::$typo_settings ) ) {
144
- return $args;
145
- }
146
-
147
- foreach ( self::$typo_settings as $id => $font ) {
148
- if ( isset ( $font['value'] ) ) {
149
-
150
- $load_all_weights = false;
151
- if ( isset( $font['load_all_weights'] ) && $font['load_all_weights'] == 'true' ) {
152
- $load_all_weights = true;
153
- }
154
-
155
- $value = $this->maybe_decode_value( $font['value'] );
156
-
157
- $value = $this->validate_font_values( $value );
158
-
159
- // in case the value is still null, try default value (mostly for google fonts)
160
- if ( ! is_array( $value ) || $value === null ) {
161
- $value = $local_plugin->customizer->get_font_defaults_value( str_replace( '"', '', $font['value'] ) );
162
- }
163
-
164
- //bail if by this time we don't have a value of some sort
165
- if ( empty( $value ) ) {
166
- continue;
167
- }
168
-
169
- // Handle special logic for when the $value array is not an associative array
170
- if ( ! $local_plugin->is_assoc( $value ) ) {
171
- $value = $local_plugin->customizer->standardize_non_associative_font_default( $value );
172
- }
173
-
174
- // If we have reached this far and we don't have a type, we will assume it's a google font.
175
- if ( ! isset( $value['type'] ) ) {
176
- $value['type'] = 'google';
177
- }
178
-
179
- if ( ! isset( $value['font_family'] ) ) {
180
- continue;
181
- }
182
-
183
- if ( isset( $this->theme_fonts[ $value['font_family'] ] ) ) {
184
-
185
- // $value['type'] = 'theme_font';
186
- // $args['local_srcs'] .= $this->theme_fonts[ $value['font_family'] ]['src'] . ',';
187
- // $value['variants'] = $this->theme_fonts[ $value['font_family'] ]['variants'];
188
-
189
- if ( false === array_search( $value['font_family'], $args['local_families'] ) ) {
190
- $args['local_families'][] = "'" . $value['font_family'] . "'";
191
- }
192
-
193
- if ( false === array_search( $this->theme_fonts[ $value['font_family'] ]['src'], $args['local_srcs'] ) ) {
194
- $args['local_srcs'][] = "'" . $this->theme_fonts[ $value['font_family'] ]['src'] . "'";
195
- }
196
- } elseif ( isset( $value['font_family'] ) && isset( $value['type'] ) && $value['type'] === 'google' ) {
197
- $family = "'" . $value['font_family'];
198
-
199
- if ( $load_all_weights && ! empty( $value['variants'] ) && is_array( $value['variants'] ) ) {
200
- $family .= ":" . implode( ',', $value['variants'] );
201
- } elseif ( ! empty( $value['selected_variants'] ) ) {
202
- if ( is_array( $value['selected_variants'] ) ) {
203
- $family .= ":" . implode( ',', $value['selected_variants'] );
204
- } elseif ( is_string( $value['selected_variants'] ) || is_numeric( $value['selected_variants'] ) ) {
205
- $family .= ":" . $value['selected_variants'];
206
- }
207
- } elseif ( ! empty( $value['variants'] ) ) {
208
- if ( is_array( $value['variants'] ) ) {
209
- $family .= ":" . implode( ',', $value['variants'] );
210
- } else {
211
- $family .= ":" . $value['variants'];
212
- }
213
- }
214
-
215
- if ( ! empty( $value['selected_subsets'] ) ) {
216
- if ( is_array( $value['selected_subsets'] ) ) {
217
- $family .= ":" . implode( ',', $value['selected_subsets'] );
218
- } else {
219
- $family .= ":" . $value['selected_subsets'];
220
- }
221
- } elseif ( ! empty( $value['subsets'] ) ) {
222
- if ( is_array( $value['subsets'] ) ) {
223
- $family .= ":" . implode( ',', $value['subsets'] );
224
- } else {
225
- $family .= ":" . $value['subsets'];
226
- }
227
- }
228
-
229
- $family .= "'";
230
-
231
- $args['google_families'][] = $family;
232
- }
233
- }
234
- }
235
-
236
- $args = array(
237
- 'google_families' => array_unique( $args['google_families'] ),
238
- 'local_families' => array_unique( $args['local_families'] ),
239
- 'local_srcs' => array_unique( $args['local_srcs'] ),
240
- );
241
-
242
- return $args;
243
- }
244
-
245
- function output_fonts_dynamic_style() {
246
-
247
- /** @var PixCustomifyPlugin $local_plugin */
248
- $local_plugin = PixCustomifyPlugin();
249
-
250
- self::$options_list = $local_plugin->get_options_details();
251
- $local_plugin->customizer->get_typography_fields( self::$options_list, 'type', 'font', self::$typo_settings );
252
-
253
- if ( empty( self::$typo_settings ) ) {
254
- return;
255
- }
256
-
257
- $output = '';
258
-
259
- foreach ( self::$typo_settings as $key => $font ) {
260
- $font_output = $this->get_font_style( $font );
261
- if ( empty( $font_output ) ) {
262
- continue;
263
- }
264
-
265
- $output .= $font_output . "\n";
266
-
267
- // If we are in a Customizer context we will output CSS rules grouped so we can target them.
268
- // In the frontend we want a whole bulk.
269
- if ( isset( $GLOBALS['wp_customize'] ) ) { ?>
270
- <style id="customify_font_output_for_<?php echo sanitize_html_class( $key ); ?>">
271
- <?php echo $font_output; ?>
272
- </style><?php
273
- }
274
- }
275
-
276
- // in customizer the CSS is printed per option, in front-end we need to print them in bulk
277
- if ( ! isset( $GLOBALS['wp_customize'] ) ) { ?>
278
- <style id="customify_fonts_output">
279
- <?php echo $output; ?>
280
- </style><?php
281
- }
282
- }
283
-
284
- function get_fonts_dynamic_style() {
285
-
286
- $output = '';
287
-
288
- /** @var PixCustomifyPlugin $local_plugin */
289
- $local_plugin = PixCustomifyPlugin();
290
-
291
- self::$options_list = $local_plugin->get_options_details();
292
- $local_plugin->customizer->get_typography_fields( self::$options_list, 'type', 'font', self::$typo_settings );
293
-
294
- if ( empty( self::$typo_settings ) ) {
295
- return $output;
296
- }
297
-
298
- foreach ( self::$typo_settings as $key => $font ) {
299
-
300
- $font_output = $this->get_font_style( $font );
301
- if ( empty( $font_output ) ) {
302
- continue;
303
- }
304
-
305
- $output .= $font_output . "\n";
306
- }
307
-
308
- return $output;
309
- }
310
-
311
- function get_font_style( $font ) {
312
-
313
- if ( ! isset( $font['selector'] ) ) {
314
- return '';
315
- }
316
-
317
- $font['selector'] = apply_filters( 'customify_font_css_selector', $font['selector'], $font );
318
- if ( empty( $font['selector'] ) || empty( $font['value'] ) ) {
319
- return '';
320
- }
321
-
322
- $properties_prefix = '';
323
- if ( ! empty ( $font['properties_prefix'] ) ) {
324
- $properties_prefix = $font['properties_prefix'];
325
- }
326
-
327
- /** @var PixCustomifyPlugin $local_plugin */
328
- $local_plugin = PixCustomifyPlugin();
329
-
330
- $value = $this->maybe_decode_value( $font['value'] );
331
-
332
- if ( $value === null ) {
333
- $value = $local_plugin->customizer->get_font_defaults_value( $font['value'] );
334
- }
335
-
336
- // shim the old case when the default was only the font name
337
- if ( is_string( $value ) && ! empty( $value ) ) {
338
- $value = array( 'font_family' => $value );
339
- }
340
-
341
- // Handle special logic for when the $value array is not an associative array
342
- if ( ! $local_plugin->is_assoc( $value ) ) {
343
- $value = $local_plugin->customizer->standardize_non_associative_font_default( $value );
344
- }
345
-
346
- $value = $this->validate_font_values( $value );
347
- // some sanitizing
348
- $load_all_weights = false;
349
- if ( isset( $font['load_all_weights'] ) && $font['load_all_weights'] == 'true' ) {
350
- $load_all_weights = true;
351
- }
352
- $selected_variant = '';
353
- if ( ! empty( $value['selected_variants'] ) ) {
354
- if ( is_array( $value['selected_variants'] ) ) {
355
- $selected_variant = $value['selected_variants'][0];
356
- } else {
357
- $selected_variant = $value['selected_variants'];
358
- }
359
- }
360
-
361
- ob_start();
362
-
363
- if ( isset( $font['callback'] ) && function_exists( $font['callback'] ) ) {
364
- $output = call_user_func( $font['callback'], $value, $font );
365
- echo $output;
366
- } elseif ( isset( $font['selector'] ) ) {
367
- echo $font['selector'] . " {" . "\n";
368
-
369
- // First handle the case where we have the font-family in the selected variant (usually this means a custom font from our Fonto plugin)
370
- if ( ! empty( $selected_variant ) && is_array( $selected_variant ) && ! empty( $selected_variant['font-family'] ) ) {
371
- //the variant's font-family
372
- $this->display_property( 'font-family', $selected_variant['font-family'], '', $properties_prefix );
373
-
374
- if ( ! $load_all_weights ) {
375
- // if this is a custom font (like from our plugin Fonto) with individual styles & weights - i.e. the font-family says it all
376
- // we need to "force" the font-weight and font-style
377
- if ( ! empty( $value['type'] ) && 'custom_individual' == $value['type'] ) {
378
- $selected_variant['font-weight'] = '400 !important';
379
- $selected_variant['font-style'] = 'normal !important';
380
- }
381
-
382
- $italic_font = false;
383
-
384
- // output the font weight, if available
385
- if ( ! empty( $selected_variant['font-weight'] ) ) {
386
- echo ": " . $selected_variant['font-weight'] . ";\n";
387
- $italic_font = $this->display_weight_property( $selected_variant['font-weight'], $properties_prefix );
388
- }
389
-
390
- // output the font style, if available and if it wasn't displayed already
391
- if ( ! $italic_font && ! empty( $selected_variant['font-style'] ) ) {
392
- $this->display_property( 'font-style', $selected_variant['font-style'], '', $properties_prefix );
393
- }
394
- }
395
-
396
- } elseif ( isset( $value['font_family'] ) ) {
397
- // the selected font family
398
- $this->display_property( 'font-family', $value['font_family'], '', $properties_prefix );
399
-
400
- if ( ! empty( $selected_variant ) && ! $load_all_weights ) {
401
- $weight_and_style = strtolower( $selected_variant );
402
- $italic_font = false;
403
-
404
- //determine if this is an italic font (the $weight_and_style is usually like '400' or '400italic' )
405
- if ( ! empty( $weight_and_style ) ) {
406
- //a little bit of sanity check - in case it's not a number
407
- if( $weight_and_style === 'regular' ) {
408
- $weight_and_style = 'normal';
409
- }
410
- $italic_font = $this->display_weight_property( $weight_and_style, $properties_prefix );
411
- }
412
-
413
- // output the font style, if available
414
- if ( ! $italic_font && ! empty( $selected_variant['font-style'] ) ) {
415
- $this->display_property( 'font-style', $selected_variant['font-style'], '', $properties_prefix );
416
- }
417
- }
418
- } else if ( isset( $value['font-family'] ) ) {
419
- $this->display_property( 'font-family', $value['font-family'], '', $properties_prefix );
420
- }
421
-
422
- if ( ! empty( $value['font_weight'] ) ) {
423
- $this->display_weight_property( $value['font_weight'], $properties_prefix );
424
- }
425
-
426
- if ( ! empty( $value['font_size'] ) ) {
427
- // If the value already contains a unit, go with that.
428
- // We also handle receiving the value in a standardized format ( array with 'value' and 'unit').
429
- $font_size = $value['font_size'];
430
- $unit = '';
431
- if ( is_numeric( $value['font_size'] ) ) {
432
- $unit = $this->get_field_unit( $font, 'font-size' );
433
- } elseif ( is_array( $value['font_size'] ) ) {
434
- if ( isset( $value['font_size']['unit'] ) ) {
435
- $unit = $value['font_size']['unit'];
436
- }
437
-
438
- if ( isset( $value['font_size']['value'] ) ) {
439
- $font_size = $value['font_size']['value'];
440
- }
441
- }
442
-
443
- if ( isset( $value['font_size']['unit'] ) && $value['font_size']['unit'] == 'em' && $value['font_size']['value'] >= 9 ) {
444
- $value['font_size']['unit'] = 'px';
445
- }
446
-
447
- $this->display_property( 'font-size', $font_size, $unit, $properties_prefix );
448
- }
449
-
450
- if ( isset( $value['line_height'] ) ) {
451
- // If the value already contains a unit, go with that.
452
- // We also handle receiving the value in a standardized format ( array with 'value' and 'unit').
453
- $line_height = $value['line_height'];
454
- $unit = '';
455
- if ( is_numeric( $value['line_height'] ) ) {
456
- $unit = $this->get_field_unit( $font, 'line-height' );
457
- } elseif ( is_array( $value['line_height'] ) ) {
458
- if ( isset( $value['line_height']['unit'] ) ) {
459
- $unit = $value['line_height']['unit'];
460
- }
461
-
462
- if ( isset( $value['line_height']['value'] ) ) {
463
- $line_height = $value['line_height']['value'];
464
- }
465
- }
466
-
467
- $this->display_property( 'line-height', $line_height, $unit, $properties_prefix );
468
- }
469
-
470
- if ( isset( $value['letter_spacing'] ) ) {
471
- // If the value already contains a unit, go with that.
472
- // We also handle receiving the value in a standardized format ( array with 'value' and 'unit').
473
- $letter_spacing = $value['letter_spacing'];
474
- $unit = '';
475
- if ( is_numeric( $value['letter_spacing'] ) ) {
476
- $unit = $this->get_field_unit( $font, 'letter-spacing' );
477
- } elseif ( is_array( $value['letter_spacing'] ) ) {
478
- if ( isset( $value['letter_spacing']['unit'] ) ) {
479
- $unit = $value['letter_spacing']['unit'];
480
- }
481
-
482
- if ( isset( $value['letter_spacing']['value'] ) ) {
483
- $letter_spacing = $value['letter_spacing']['value'];
484
- }
485
- }
486
-
487
- $this->display_property( 'letter-spacing', $letter_spacing, $unit, $properties_prefix );
488
- }
489
-
490
- if ( ! empty( $value['text_align'] ) ) {
491
- $this->display_property( 'text-align', $value['text_align'], '', $properties_prefix );
492
- }
493
-
494
- if ( ! empty( $value['text_transform'] ) ) {
495
- $this->display_property( 'text-transform', $value['text_transform'], '', $properties_prefix );
496
- }
497
-
498
- if ( ! empty( $value['text_decoration'] ) ) {
499
- $this->display_property( 'text-decoration', $value['text_decoration'], '', $properties_prefix );
500
- }
501
- echo "}\n";
502
- }
503
-
504
- $CSS = ob_get_clean();
505
-
506
- return $CSS;
507
- }
508
-
509
- function output_webfont_script() {
510
- $script = $this->get_fonts_dynamic_script();
511
- if ( ! empty( $script ) ) { ?>
512
- <script type="text/javascript">
513
- <?php echo $script; ?>
514
- </script>
515
- <?php }
516
- }
517
-
518
- function get_fonts_dynamic_script() {
519
- $args = $this->get_fonts_args();
520
-
521
- if ( ( empty ( $args['local_families'] ) && empty ( $args['google_families'] ) )
522
- || ! PixCustomifyPlugin()->settings->get_plugin_setting( 'typography', '1' )
523
- || ! PixCustomifyPlugin()->settings->get_plugin_setting( 'typography_google_fonts', 1 ) ) {
524
- return '';
525
- }
526
-
527
- ob_start(); ?>
528
- function customify_font_loader() {
529
- var webfontargs = {
530
- classes: true,
531
- events: true,
532
- loading: function() {
533
- jQuery( window ).trigger( 'wf-loading' );
534
- },
535
- active: function() {
536
- jQuery( window ).trigger( 'wf-active' );
537
- },
538
- inactive: function() {
539
- jQuery( window ).trigger( 'wf-inactive' );
540
- },
541
- };
542
- <?php if ( ! empty( $args['google_families'] ) ) { ?>
543
- webfontargs.google = {
544
- families: [<?php echo join( ',', $args['google_families'] ); ?>]
545
- };
546
- <?php }
547
- if ( ! empty( $args['local_families'] ) && ! empty( $args['local_srcs'] ) ) { ?>
548
- webfontargs.custom = {
549
- families: [<?php echo join( ',', $args['local_families'] ); ?>],
550
- urls: [<?php echo join( ',', $args['local_srcs'] ) ?>]
551
- };
552
- <?php } ?>
553
- WebFont.load(webfontargs);
554
- };
555
-
556
- if (typeof WebFont !== 'undefined') {
557
- customify_font_loader();
558
- } else {
559
- var tk = document.createElement('script');
560
- tk.src = '//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
561
- tk.type = 'text/javascript';
562
-
563
- tk.onload = tk.onreadystatechange = function () {
564
- customify_font_loader();
565
- };
566
-
567
- var s = document.getElementsByTagName('script')[0];
568
- s.parentNode.insertBefore(tk, s);
569
- }
570
- <?php
571
- $output = ob_get_clean();
572
-
573
- return apply_filters( 'customify_fonts_webfont_script', $output );
574
- }
575
-
576
- function get_field_unit( $font, $field ) {
577
-
578
- if ( empty( $font ) || empty( $font['fields'] ) || empty( $font['fields'][ $field ] ) ) {
579
-
580
- if ( 'line-height' == $field ){
581
- return '';
582
- }
583
-
584
- return 'px';
585
- }
586
-
587
- if ( isset( $font['fields'][ $field ]['unit'] ) ) {
588
- return $font['fields'][ $field ]['unit'];
589
- }
590
-
591
- if ( isset( $font['fields'][ $field ][3] ) ) {
592
- return $font['fields'][ $field ][3];
593
- }
594
-
595
- return 'px';
596
- }
597
-
598
- function validate_font_values( $values ) {
599
-
600
- if ( empty( $values ) ) {
601
- return array();
602
- }
603
-
604
- foreach ( $values as $key => $value ) {
605
-
606
- if ( strpos( $key, '-' ) !== false ) {
607
- $new_key = str_replace( '-', '_', $key );
608
-
609
- $values[ $new_key ] = $value;
610
-
611
- unset( $values[ $key ] );
612
- }
613
- }
614
-
615
- return $values;
616
- }
617
-
618
- function display_selector( $selector ) {
619
-
620
- }
621
-
622
- function display_property( $property, $value, $unit = '', $prefix = '' ) {
623
- echo $prefix . $property . ": " . $value . $unit . ";\n";
624
- }
625
-
626
- // well weight sometimes comes from google as 600italic which in CSS syntax should come in two separate properties
627
- function display_weight_property( $value, $prefix = '' ) {
628
- $has_style = false;
629
-
630
- if ( strpos( $value, 'italic' ) !== false ) {
631
-
632
- $value = str_replace( 'italic', '', $value );
633
- echo $prefix . 'font-weight' . ": " . $value . ";\n";
634
- echo $prefix . 'font-style' . ": italic;\n";
635
- $has_style = true;
636
- } else {
637
- echo $prefix . 'font-weight' . ": " . $value . ";\n";
638
- }
639
-
640
-
641
- return $has_style;
642
- }
643
-
644
- /**
645
- * Main Customify_Font_Selector Instance
646
- *
647
- * Ensures only one instance of Customify_Font_Selector is loaded or can be loaded.
648
- *
649
- * @since 1.0.0
650
- * @static
651
- *
652
- * @return Customify_Font_Selector Main Customify_Font_Selector instance
653
- */
654
- public static function instance() {
655
-
656
- if ( is_null( self::$_instance ) ) {
657
- self::$_instance = new self();
658
- }
659
- return self::$_instance;
660
- } // End instance ()
661
-
662
- /**
663
- * Cloning is forbidden.
664
- *
665
- * @since 1.0.0
666
- */
667
- public function __clone() {
668
-
669
- _doing_it_wrong( __FUNCTION__,esc_html__( 'You should not do that!', 'customify' ), '' );
670
- }
671
-
672
- /**
673
- * Unserializing instances of this class is forbidden.
674
- *
675
- * @since 1.0.0
676
- */
677
- public function __wakeup() {
678
-
679
- _doing_it_wrong( __FUNCTION__, esc_html__( 'You should not do that!', 'customify' ), '' );
680
- }
681
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
features/customizer/class-Pix_Customize_Control.php CHANGED
@@ -9,11 +9,8 @@ class Pix_Customize_Control extends WP_Customize_Control {
9
 
10
  /**
11
  * Renders the control wrapper and calls $this->render_content() for the internals.
12
- *
13
- * @since 3.4.0
14
  */
15
  protected function render() {
16
- $group = '';
17
  $id = 'customize-control-' . str_replace( '[', '-', str_replace( ']', '', $this->id ) );
18
  $class = 'pix_customizer_setting customize-control customize-control-' . $this->type;
19
 
9
 
10
  /**
11
  * Renders the control wrapper and calls $this->render_content() for the internals.
 
 
12
  */
13
  protected function render() {
 
14
  $id = 'customize-control-' . str_replace( '[', '-', str_replace( ']', '', $this->id ) );
15
  $class = 'pix_customizer_setting customize-control customize-control-' . $this->type;
16
 
features/customizer/controls/class-Pix_Customize_Ace_Editor_Control.php CHANGED
@@ -9,12 +9,11 @@ class Pix_Customize_Ace_Editor_Control extends Pix_Customize_Control {
9
 
10
  public $editor_type = 'editor_type';
11
 
12
-
13
  public function render_content() { ?>
14
  <label>
15
- <?php if ( ! empty( $this->label ) ) : ?>
16
  <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
17
- <?php endif; ?>
18
  <textarea <?php $this->link(); ?> id="<?php echo sanitize_html_class( $this->id ) ?>_textarea" class="customify_ace_editor_text"><?php echo esc_textarea( $this->value() ); ?></textarea>
19
  <div class="customify_ace_editor" id="<?php echo sanitize_html_class( $this->id ); ?>" data-editor_type="<?php echo $this->editor_type; ?>"></div>
20
  <?php if ( ! empty( $this->description ) ) : ?>
@@ -26,6 +25,6 @@ class Pix_Customize_Ace_Editor_Control extends Pix_Customize_Control {
26
  }
27
 
28
  public function enqueue() {
29
- wp_enqueue_script( 'customify-ace-editor', plugins_url( '/js/ace/ace.js', PixCustomifyPlugin()->get_file() ), array( 'jquery' ), false, true );
30
  }
31
  }
9
 
10
  public $editor_type = 'editor_type';
11
 
 
12
  public function render_content() { ?>
13
  <label>
14
+ <?php if ( ! empty( $this->label ) ) { ?>
15
  <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
16
+ <?php } ?>
17
  <textarea <?php $this->link(); ?> id="<?php echo sanitize_html_class( $this->id ) ?>_textarea" class="customify_ace_editor_text"><?php echo esc_textarea( $this->value() ); ?></textarea>
18
  <div class="customify_ace_editor" id="<?php echo sanitize_html_class( $this->id ); ?>" data-editor_type="<?php echo $this->editor_type; ?>"></div>
19
  <?php if ( ! empty( $this->description ) ) : ?>
25
  }
26
 
27
  public function enqueue() {
28
+ wp_enqueue_script( PixCustomifyPlugin()->get_slug() . '-ace-editor', plugins_url( '/js/vendor/ace/ace.js', PixCustomifyPlugin()->get_file() ), array( 'jquery' ), false, true );
29
  }
30
  }
features/customizer/controls/class-Pix_Customize_Background_Control.php CHANGED
@@ -2,7 +2,6 @@
2
 
3
  /**
4
  * Class Pix_Customize_Background_Control
5
- * A simple Color Control
6
  */
7
  class Pix_Customize_Background_Control extends Pix_Customize_Control {
8
  public $type = 'custom_background';
@@ -31,8 +30,6 @@ class Pix_Customize_Background_Control extends Pix_Customize_Control {
31
 
32
  /**
33
  * Render the control's content.
34
- *
35
- * @since 3.4.0
36
  */
37
  public function render_content() {
38
 
@@ -42,32 +39,6 @@ class Pix_Customize_Background_Control extends Pix_Customize_Control {
42
 
43
  if ( $this->field['background-image'] === true ) {
44
 
45
- // NO defaults for now
46
- // if ( empty( $this->value ) && ! empty( $this->field['default'] ) ) { // If there are standard values and value is empty
47
- // if ( is_array( $this->field['default'] ) ) {
48
- // if ( ! empty( $this->field['default']['media']['id'] ) ) {
49
- // $this->value['media']['id'] = $this->field['default']['media']['id'];
50
- // } else if ( ! empty( $this->field['default']['id'] ) ) {
51
- // $this->value['media']['id'] = $this->field['default']['id'];
52
- // }
53
- //
54
- // if ( ! empty( $this->field['default']['url'] ) ) {
55
- // $this->value['background-image'] = $this->field['default']['url'];
56
- // } else if ( ! empty( $this->field['default']['media']['url'] ) ) {
57
- // $this->value['background-image'] = $this->field['default']['media']['url'];
58
- // } else if ( ! empty( $this->field['default']['background-image'] ) ) {
59
- // $this->value['background-image'] = $this->field['default']['background-image'];
60
- // }
61
- //
62
- // } else {
63
- // if ( is_numeric( $this->field['default'] ) ) { // Check if it's an attachment ID
64
- // $this->value['media']['id'] = $this->field['default'];
65
- // } else { // Must be a URL
66
- // $this->value['background-image'] = $this->field['default'];
67
- // }
68
- // }
69
- // }
70
-
71
  if ( empty( $this->value['background-image'] ) && ! empty( $this->value['media']['id'] ) ) {
72
  $img = wp_get_attachment_image_src( $this->value['media']['id'], 'full' );
73
  $this->value['background-image'] = $img[0];
@@ -86,6 +57,10 @@ class Pix_Customize_Background_Control extends Pix_Customize_Control {
86
  $this->value['media'] = $media_array;
87
  }
88
 
 
 
 
 
89
  $hide = 'hide ';
90
 
91
  if ( ( isset( $this->field['preview_media'] ) && $this->field['preview_media'] === false ) ) {
@@ -98,18 +73,36 @@ class Pix_Customize_Background_Control extends Pix_Customize_Control {
98
 
99
  $placeholder = isset( $this->field['placeholder'] ) ? $this->field['placeholder'] : __( 'No media selected', 'customify' );
100
 
101
-
102
- if ( ! isset( $this->value['background-image'] ) ) {
103
- $this->value['background-image'] = '';
104
- }
105
-
106
- echo '<input placeholder="' . esc_attr( $placeholder ) . '" type="text" class="customify_background_input background-image ' . $hide . 'upload ' . $this->field['class'] . '" name="' . $this->label . '[background-image]" id="' . $this->manager->options_key . '[' . $this->id . '][background-image]" value="' . $this->value['background-image'] . '" data-select_name="background-image" data-customize-setting-link="' . esc_attr( $this->setting->id ) . '[background-image]"/>';
107
- echo '<input type="hidden" class="upload-id ' . esc_attr( $this->field['class'] ) . '" name="' . esc_attr( $this->manager->options_key ) . '[media][id]" id="' . $this->manager->options_key . '[' . $this->id . '][media][id]" value="' . esc_attr( $this->value['media']['id'] ) . '" />';
108
- echo '<input type="hidden" class="upload-height" name="' . esc_attr( $this->manager->options_key ) . '[media][height]" id="' . esc_attr( $this->manager->options_key ) . '[' . $this->id . '][media][height]" value="' . esc_attr( $this->value['media']['height'] ) . '" />';
109
- echo '<input type="hidden" class="upload-width" name="' . esc_attr( $this->manager->options_key ) . '[media][width]" id="' . esc_attr( $this->manager->options_key ) . '[' . $this->id . '][media][width]" value="' . esc_attr( $this->value['media']['width'] ) . '" />';
110
- echo '<input type="hidden" class="upload-thumbnail" name="' . esc_attr( $this->manager->options_key ) . '[media][thumbnail]" id="' . esc_attr( $this->manager->options_key ) . '[media][thumbnail]" value="' . esc_attr( $this->value['media']['thumbnail'] ) . '" />';
111
-
112
- //Preview
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
113
  $hide = '';
114
 
115
  if ( ( isset( $this->field['preview_media'] ) && $this->field['preview_media'] === false ) || empty( $this->value['background-image'] ) ) {
@@ -118,7 +111,7 @@ class Pix_Customize_Background_Control extends Pix_Customize_Control {
118
 
119
  if ( empty( $this->value['media']['thumbnail'] ) && ! empty( $this->value['background-image'] ) ) { // Just in case
120
  if ( ! empty( $this->value['media']['id'] ) ) {
121
- $image = wp_get_attachment_image_src( $this->value['media']['id'], array( 150 ) );
122
  $this->value['media']['thumbnail'] = $image[0];
123
  } else {
124
  $this->value['media']['thumbnail'] = $this->value['background-image'];
@@ -160,8 +153,12 @@ class Pix_Customize_Background_Control extends Pix_Customize_Control {
160
  $this->value['background-repeat'] = '';
161
  }
162
 
163
- echo '<select id="' . $this->id . '-repeat-select" name="' . $this->setting->id . '[background-repeat]" class="customify_background_select ' . $this->field['class'] . ' ' . $hide . '" data-select_name="background-repeat" data-customize-setting-link="' . esc_attr( $this->setting->id ) . '[background-repeat]">';
164
- echo '<option></option>';
 
 
 
 
165
  foreach ( $array as $k => $v ) {
166
  echo '<option value="' . $k . '"' . selected( $this->value['background-repeat'], $k, false ) . '>' . $v . '</option>';
167
  }
@@ -180,9 +177,12 @@ class Pix_Customize_Background_Control extends Pix_Customize_Control {
180
  $this->value['background-clip'] = '';
181
  }
182
 
183
- echo '<select id="' . $this->id . '-repeat-select" name="' . $this->setting->id . '[background-clip]" class="customify_background_select ' . $this->field['class'] . ' ' . $hide . '" data-select_name="background-clip" data-customize-setting-link="' . esc_attr( $this->setting->id ) . '[background-clip]">';
184
- echo '<option></option>';
185
-
 
 
 
186
  foreach ( $array as $k => $v ) {
187
  echo '<option value="' . $k . '"' . selected( $this->value['background-clip'], $k, false ) . '>' . $v . '</option>';
188
  }
@@ -201,9 +201,12 @@ class Pix_Customize_Background_Control extends Pix_Customize_Control {
201
  $this->value['background-origin'] = '';
202
  }
203
 
204
- echo '<select id="' . $this->id . '-repeat-select" name="' . $this->setting->id . '[background-origin]" class="customify_background_select ' . $this->field['class'] . ' ' . $hide . '" data-select_name="background-origin" data-customize-setting-link="' . esc_attr( $this->setting->id ) . '[background-origin]">';
205
- echo '<option></option>';
206
-
 
 
 
207
  foreach ( $array as $k => $v ) {
208
  echo '<option value="' . $k . '"' . selected( $this->value['background-origin'], $k, false ) . '>' . $v . '</option>';
209
  }
@@ -221,9 +224,12 @@ class Pix_Customize_Background_Control extends Pix_Customize_Control {
221
  $this->value['background-size'] = '';
222
  }
223
 
224
- echo '<select id="' . $this->id . '-repeat-select" name="' . esc_attr( $this->label ) . '[background-size]" class="customify_background_select ' . $this->field['class'] . ' ' . $hide . '" data-select_name="background-size" data-customize-setting-link="' . esc_attr( $this->setting->id ) . '[background-size]">';
225
- echo '<option></option>';
226
-
 
 
 
227
  foreach ( $array as $k => $v ) {
228
  echo '<option value="' . $k . '"' . selected( $this->value['background-size'], $k, false ) . '>' . $v . '</option>';
229
  }
@@ -241,8 +247,8 @@ class Pix_Customize_Background_Control extends Pix_Customize_Control {
241
  $this->value['background-attachment'] = '';
242
  }
243
 
244
- echo '<select id="' . $this->id . '-attachment-select" name="' . $this->setting->id . '[background-attachment]" class="customify_background_select ' . $this->field['class'] . ' ' . $hide . '" data-select_name="background-attachment" data-customize-setting-link="' . esc_attr( $this->setting->id ) . '[background-attachment]">';
245
- echo '<option></option>';
246
  foreach ( $array as $k => $v ) {
247
  echo '<option value="' . $k . '"' . selected( $this->value['background-attachment'], $k, false ) . '>' . $v . '</option>';
248
  }
@@ -266,17 +272,17 @@ class Pix_Customize_Background_Control extends Pix_Customize_Control {
266
  $this->value['background-position'] = '';
267
  }
268
 
269
- echo '<select id="' . $this->id . '-position-select" name="' . $this->setting->id . '[background-position]" class="customify_background_select ' . $this->field['class'] . ' ' . $hide . '" data-select_name="background-position" data-customize-setting-link="' . esc_attr( $this->setting->id ) . '[background-position]">';
270
- echo '<option></option>';
271
-
 
 
 
 
272
  foreach ( $array as $k => $v ) {
273
  echo '<option value="' . $k . '"' . selected( $this->value['background-position'], $k, false ) . '>' . $v . '</option>';
274
  }
275
  echo '</select>';
276
  }
277
  }
278
-
279
- static function css_output() {
280
-
281
- }
282
  }
2
 
3
  /**
4
  * Class Pix_Customize_Background_Control
 
5
  */
6
  class Pix_Customize_Background_Control extends Pix_Customize_Control {
7
  public $type = 'custom_background';
30
 
31
  /**
32
  * Render the control's content.
 
 
33
  */
34
  public function render_content() {
35
 
39
 
40
  if ( $this->field['background-image'] === true ) {
41
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  if ( empty( $this->value['background-image'] ) && ! empty( $this->value['media']['id'] ) ) {
43
  $img = wp_get_attachment_image_src( $this->value['media']['id'], 'full' );
44
  $this->value['background-image'] = $img[0];
57
  $this->value['media'] = $media_array;
58
  }
59
 
60
+ if ( ! isset( $this->value['background-image'] ) ) {
61
+ $this->value['background-image'] = '';
62
+ }
63
+
64
  $hide = 'hide ';
65
 
66
  if ( ( isset( $this->field['preview_media'] ) && $this->field['preview_media'] === false ) ) {
73
 
74
  $placeholder = isset( $this->field['placeholder'] ) ? $this->field['placeholder'] : __( 'No media selected', 'customify' );
75
 
76
+ echo '<input type="text"
77
+ class="customify_background_input background-image ' . $hide . 'upload ' . $this->field['class'] . '"
78
+ name="' . esc_attr( $this->setting->id ) . '[background-image]"
79
+ id="_customize-input-' . esc_attr( $this->setting->id ) . '[background-image]"
80
+ value="' . $this->value['background-image'] . '"
81
+ data-select_name="background-image"
82
+ data-customize-setting-link="' . esc_attr( $this->setting->id ) . '[background-image]"
83
+ placeholder="' . esc_attr( $placeholder ) . '"/>';
84
+ echo '<input type="hidden"
85
+ class="upload-id background-media"
86
+ name="' . esc_attr( $this->setting->id ) . '[media][id]"
87
+ id="_customize-input-' . esc_attr( $this->setting->id ) . '[media][id]"
88
+ value="' . esc_attr( $this->value['media']['id'] ) . '" />';
89
+ echo '<input type="hidden"
90
+ class="upload-height background-media"
91
+ name="' . esc_attr( $this->setting->id ) . '[media][height]"
92
+ id="_customize-input-' . esc_attr( $this->setting->id ) . '[media][height]"
93
+ value="' . esc_attr( $this->value['media']['height'] ) . '" />';
94
+ echo '<input type="hidden"
95
+ class="upload-width background-media"
96
+ name="' . esc_attr( $this->setting->id ) . '[media][width]"
97
+ id="_customize-input-' . esc_attr( $this->setting->id ) . '[media][width]"
98
+ value="' . esc_attr( $this->value['media']['width'] ) . '" />';
99
+ echo '<input type="hidden"
100
+ class="upload-thumbnail background-media"
101
+ name="' . esc_attr( $this->setting->id ) . '[media][thumbnail]"
102
+ id="_customize-input-' . esc_attr( $this->setting->id ) . '[media][thumbnail]"
103
+ value="' . esc_attr( $this->value['media']['thumbnail'] ) . '" />';
104
+
105
+ // Preview
106
  $hide = '';
107
 
108
  if ( ( isset( $this->field['preview_media'] ) && $this->field['preview_media'] === false ) || empty( $this->value['background-image'] ) ) {
111
 
112
  if ( empty( $this->value['media']['thumbnail'] ) && ! empty( $this->value['background-image'] ) ) { // Just in case
113
  if ( ! empty( $this->value['media']['id'] ) ) {
114
+ $image = wp_get_attachment_image_src( $this->value['media']['id'] );
115
  $this->value['media']['thumbnail'] = $image[0];
116
  } else {
117
  $this->value['media']['thumbnail'] = $this->value['background-image'];
153
  $this->value['background-repeat'] = '';
154
  }
155
 
156
+ echo '<select id="' . $this->id . '-repeat-select"
157
+ name="_customize-input-' . esc_attr( $this->setting->id ) . '[background-repeat]"
158
+ class="customify_background_select ' . $this->field['class'] . ' ' . $hide . '"
159
+ data-select_name="background-repeat"
160
+ data-customize-setting-link="' . esc_attr( $this->setting->id ) . '[background-repeat]">';
161
+ echo '<option disabled ' . selected( $this->value['background-repeat'], '', false ) . '>' . esc_html__( 'Background repeat..', 'customify' ) . '</option>';
162
  foreach ( $array as $k => $v ) {
163
  echo '<option value="' . $k . '"' . selected( $this->value['background-repeat'], $k, false ) . '>' . $v . '</option>';
164
  }
177
  $this->value['background-clip'] = '';
178
  }
179
 
180
+ echo '<select id="' . $this->id . '-clip-select"
181
+ name="_customize-input-' . esc_attr( $this->setting->id ) . '[background-clip]"
182
+ class="customify_background_select ' . $this->field['class'] . ' ' . $hide . '"
183
+ data-select_name="background-clip"
184
+ data-customize-setting-link="' . esc_attr( $this->setting->id ) . '[background-clip]">';
185
+ echo '<option disabled ' . selected( $this->value['background-clip'], '', false ) . '>' . esc_html__( 'Background clip..', 'customify' ) . '</option>';
186
  foreach ( $array as $k => $v ) {
187
  echo '<option value="' . $k . '"' . selected( $this->value['background-clip'], $k, false ) . '>' . $v . '</option>';
188
  }
201
  $this->value['background-origin'] = '';
202
  }
203
 
204
+ echo '<select id="' . $this->id . '-origin-select"
205
+ name="_customize-input-' . esc_attr( $this->setting->id ) . '[background-origin]"
206
+ class="customify_background_select ' . $this->field['class'] . ' ' . $hide . '"
207
+ data-select_name="background-origin"
208
+ data-customize-setting-link="' . esc_attr( $this->setting->id ) . '[background-origin]">';
209
+ echo '<option disabled ' . selected( $this->value['background-origin'], '', false ) . '>' . esc_html__( 'Background origin..', 'customify' ) . '</option>';
210
  foreach ( $array as $k => $v ) {
211
  echo '<option value="' . $k . '"' . selected( $this->value['background-origin'], $k, false ) . '>' . $v . '</option>';
212
  }
224
  $this->value['background-size'] = '';
225
  }
226
 
227
+ echo '<select id="' . $this->id . '-size-select"
228
+ name="_customize-input-' . esc_attr( $this->setting->id ) . '[background-size]"
229
+ class="customify_background_select ' . $this->field['class'] . ' ' . $hide . '"
230
+ data-select_name="background-size"
231
+ data-customize-setting-link="' . esc_attr( $this->setting->id ) . '[background-size]">';
232
+ echo '<option disabled ' . selected( $this->value['background-size'], '', false ) . '>' . esc_html__( 'Background size..', 'customify' ) . '</option>';
233
  foreach ( $array as $k => $v ) {
234
  echo '<option value="' . $k . '"' . selected( $this->value['background-size'], $k, false ) . '>' . $v . '</option>';
235
  }
247
  $this->value['background-attachment'] = '';
248
  }
249
 
250
+ echo '<select id="' . $this->id . '-attachment-select" name="_customize-input-' . esc_attr( $this->setting->id ) . '[background-attachment]" class="customify_background_select ' . $this->field['class'] . ' ' . $hide . '" data-select_name="background-attachment" data-customize-setting-link="' . esc_attr( $this->setting->id ) . '[background-attachment]">';
251
+ echo '<option disabled ' . selected( $this->value['background-attachment'], '', false ) . '>' . esc_html__( 'Background attachment..', 'customify' ) . '</option>';
252
  foreach ( $array as $k => $v ) {
253
  echo '<option value="' . $k . '"' . selected( $this->value['background-attachment'], $k, false ) . '>' . $v . '</option>';
254
  }
272
  $this->value['background-position'] = '';
273
  }
274
 
275
+ echo '<select id="' . $this->id . '-position-select"
276
+ name="_customize-input-' . esc_attr( $this->setting->id ) . '[background-position]"
277
+ class="customify_background_select ' . $this->field['class'] . ' ' . $hide . '"
278
+ placeholder="Background position?"
279
+ data-select_name="background-position"
280
+ data-customize-setting-link="' . esc_attr( $this->setting->id ) . '[background-position]">';
281
+ echo '<option disabled ' . selected( $this->value['background-position'], '', false ) . '>' . esc_html__( 'Background position..', 'customify' ) . '</option>';
282
  foreach ( $array as $k => $v ) {
283
  echo '<option value="' . $k . '"' . selected( $this->value['background-position'], $k, false ) . '>' . $v . '</option>';
284
  }
285
  echo '</select>';
286
  }
287
  }
 
 
 
 
288
  }
features/customizer/controls/class-Pix_Customize_Button_Control.php CHANGED
@@ -1,8 +1,7 @@
1
  <?php
2
 
3
  /**
4
- * Class Pix_Customize_Color_Control
5
- * A simple Color Control
6
  */
7
  class Pix_Customize_Button_Control extends Pix_Customize_Control {
8
  public $type = 'button';
@@ -10,12 +9,10 @@ class Pix_Customize_Button_Control extends Pix_Customize_Control {
10
 
11
  /**
12
  * Render the control's content.
13
- *
14
- * @since 3.4.0
15
  */
16
  public function render_content() { ?>
17
  <button type="button" class="customify_button button" <?php $this->input_attrs(); ?> data-action="<?php echo esc_html( $this->action ); ?>" ><?php echo esc_html( $this->label ); ?></button>
18
  <?php
19
 
20
  }
21
- }
1
  <?php
2
 
3
  /**
4
+ * Class Pix_Customize_Button_Control
 
5
  */
6
  class Pix_Customize_Button_Control extends Pix_Customize_Control {
7
  public $type = 'button';
9
 
10
  /**
11
  * Render the control's content.
 
 
12
  */
13
  public function render_content() { ?>
14
  <button type="button" class="customify_button button" <?php $this->input_attrs(); ?> data-action="<?php echo esc_html( $this->action ); ?>" ><?php echo esc_html( $this->label ); ?></button>
15
  <?php
16
 
17
  }
18
+ }
features/customizer/controls/class-Pix_Customize_CSS_Editor_Control.php CHANGED
@@ -5,7 +5,6 @@ class Pix_Customize_CSS_Editor_Control extends Pix_Customize_Control {
5
 
6
  /**
7
  * Render the control's content.
8
- * @since 3.4.0
9
  */
10
  public function render_content() { ?>
11
  <style type="text/css" media="screen">
@@ -24,4 +23,4 @@ class Pix_Customize_CSS_Editor_Control extends Pix_Customize_Control {
24
  <textarea <?php $this->link(); ?> id="css_editor_textarea"><?php echo esc_textarea( $this->value() ); ?></textarea>
25
  <div id="css_editor"></div>
26
  <?php }
27
- }
5
 
6
  /**
7
  * Render the control's content.
 
8
  */
9
  public function render_content() { ?>
10
  <style type="text/css" media="screen">
23
  <textarea <?php $this->link(); ?> id="css_editor_textarea"><?php echo esc_textarea( $this->value() ); ?></textarea>
24
  <div id="css_editor"></div>
25
  <?php }
26
+ }
features/customizer/controls/class-Pix_Customize_Color_Control.php CHANGED
@@ -2,15 +2,12 @@
2
 
3
  /**
4
  * Class Pix_Customize_Color_Control
5
- * A simple Color Control
6
  */
7
  class Pix_Customize_Color_Control extends Pix_Customize_Control {
8
  public $type = 'color';
9
 
10
  /**
11
  * Render the control's content.
12
- *
13
- * @since 3.4.0
14
  */
15
  public function render_content() { ?>
16
  <label>
2
 
3
  /**
4
  * Class Pix_Customize_Color_Control
 
5
  */
6
  class Pix_Customize_Color_Control extends Pix_Customize_Control {
7
  public $type = 'color';
8
 
9
  /**
10
  * Render the control's content.
 
 
11
  */
12
  public function render_content() { ?>
13
  <label>
features/customizer/controls/class-Pix_Customize_Font_Control.php CHANGED
@@ -2,26 +2,52 @@
2
 
3
  /**
4
  * Class Pix_Customize_Font_Control
5
- * A complex Typography Control
 
6
  */
7
  class Pix_Customize_Font_Control extends Pix_Customize_Control {
 
 
 
 
 
 
8
  public $type = 'font';
9
- public $backup = null;
10
- public $font_weight = true;
11
- public $subsets = true;
12
- public $load_all_weights = false;
 
 
13
  public $recommended = array();
14
- public $current_value;
15
- public $default;
16
- public $fields;
17
 
18
- private $CSSID;
 
 
 
 
 
19
 
20
- protected static $google_fonts = null;
 
 
 
 
 
21
 
22
- private static $std_fonts = null;
 
 
 
 
 
23
 
24
- protected static $font_control_instance_count = 0;
 
 
 
 
 
25
 
26
  /**
27
  * Constructor.
@@ -30,7 +56,6 @@ class Pix_Customize_Font_Control extends Pix_Customize_Control {
30
  *
31
  * If $args['settings'] is not defined, use the $id as the setting ID.
32
  *
33
- * @since 3.4.0
34
  *
35
  * @param WP_Customize_Manager $manager
36
  * @param string $id
@@ -41,156 +66,137 @@ class Pix_Customize_Font_Control extends Pix_Customize_Control {
41
 
42
  parent::__construct( $manager, $id, $args );
43
 
44
- self::$std_fonts = apply_filters( 'customify_filter_standard_fonts_list', array(
45
- "Arial, Helvetica, sans-serif" => "Arial, Helvetica, sans-serif",
46
- "'Arial Black', Gadget, sans-serif" => "'Arial Black', Gadget, sans-serif",
47
- "'Bookman Old Style', serif" => "'Bookman Old Style', serif",
48
- "'Comic Sans MS', cursive" => "'Comic Sans MS', cursive",
49
- "Courier, monospace" => "Courier, monospace",
50
- "Garamond, serif" => "Garamond, serif",
51
- "Georgia, serif" => "Georgia, serif",
52
- "Impact, Charcoal, sans-serif" => "Impact, Charcoal, sans-serif",
53
- "'Lucida Console', Monaco, monospace" => "'Lucida Console', Monaco, monospace",
54
- "'Lucida Sans Unicode', 'Lucida Grande', sans-serif" => "'Lucida Sans Unicode', 'Lucida Grande', sans-serif",
55
- "'MS Sans Serif', Geneva, sans-serif" => "'MS Sans Serif', Geneva, sans-serif",
56
- "'MS Serif', 'New York', sans-serif" => "'MS Serif', 'New York', sans-serif",
57
- "'Palatino Linotype', 'Book Antiqua', Palatino, serif" => "'Palatino Linotype', 'Book Antiqua', Palatino, serif",
58
- "Tahoma,Geneva, sans-serif" => "Tahoma, Geneva, sans-serif",
59
- "'Times New Roman', Times,serif" => "'Times New Roman', Times, serif",
60
- "'Trebuchet MS', Helvetica, sans-serif" => "'Trebuchet MS', Helvetica, sans-serif",
61
- "Verdana, Geneva, sans-serif" => "Verdana, Geneva, sans-serif",
62
- ) );
63
-
64
  $this->CSSID = $this->get_CSS_ID();
65
- $this->maybe_load_google_fonts();
66
-
67
- self::$font_control_instance_count += 1;
68
 
69
  $this->add_hooks();
70
 
71
- // This is intentionally commented as it is only used in development to refresh the Google Fonts list
72
- // $this->generate_google_fonts_json();
73
-
74
  // Since 4.7 all the customizer data is saved in a post type named changeset.
75
  // This is how we get it.
76
  if ( method_exists( $wp_customize, 'changeset_data' ) ) {
77
  $changeset_data = $wp_customize->changeset_data();
78
 
79
  if ( isset( $changeset_data[$this->setting->id] ) ) {
80
- $this->current_value = $changeset_data[$this->setting->id]['value'];
81
  return;
82
  }
83
  }
84
 
85
- $this->current_value = $this->value();
86
  }
87
 
88
  protected function add_hooks() {
89
- // We will only add the google fonts select options only once as they will be reused for all controls.
90
- if ( self::$font_control_instance_count === 1 ) {
91
- add_action( 'customize_controls_print_footer_scripts', array(
92
- $this,
93
- 'customize_pane_settings_google_fonts_options'
94
- ), 10000 );
95
  }
 
 
 
96
  }
97
 
98
  /**
99
- * Render the control's content.
 
 
 
100
  *
101
- * @since 3.4.0
102
  */
103
- public function render_content() {
104
-
105
- $current_value = $this->current_value;
106
 
107
- //maybe we need to decode it
108
- $current_value = PixCustomifyPlugin::decodeURIComponent( $current_value );
109
 
110
- if ( empty( $current_value ) ) {
111
- $current_value = $this->get_default_values();
 
 
112
  }
113
 
114
- // if this value was an array, make sure it is ok
115
- if ( is_array( $current_value ) ) {
116
- if ( isset( $current_value['font-family'] ) ) {
117
- $current_value['font_family'] = $current_value['font-family'];
118
- unset( $current_value['font-family'] );
 
 
 
 
 
 
 
 
119
  }
120
- } else {
121
- //if we've got a string then it is clear we need to decode it
122
- $current_value = json_decode( $current_value, true );
123
  }
124
 
125
- $current_value = $this->validate_font_values( $current_value );
 
 
 
 
 
 
 
 
 
 
 
 
126
 
127
- //make sure it is an object from here going forward
128
  $current_value = (object) $current_value;
129
 
130
- $active_font_family = '';
131
  if ( isset( $current_value->font_family ) ) {
132
- $active_font_family = $current_value->font_family;
133
  }
134
 
135
- $select_data = 'data-active_font_family="' . esc_attr( $active_font_family ) . '"';
136
- if ( isset( $current_value->load_all_weights ) ) {
137
- $this->load_all_weights = $current_value->font_load_all_weights;
 
138
 
139
- $select_data .= ' data-load_all_weights="true"';
140
- } ?>
141
  <div class="font-options__wrapper">
142
 
143
- <input type="checkbox" class="font-options__checkbox js-font-option-toggle"
144
- id="tooltip_toogle_<?php echo esc_attr( $this->CSSID ); ?>">
145
 
146
  <?php
147
  $this->display_value_holder( $current_value );
148
- $this->display_field_title( $active_font_family, esc_attr( $this->CSSID ) ); ?>
149
 
150
  <ul class="font-options__options-list">
151
  <li class="font-options__option customize-control">
152
- <select id="select_font_font_family_<?php echo esc_attr( $this->CSSID ); ?>" class="customify_font_family"<?php echo $select_data; ?> data-field="font_family">
153
- <?php
154
- // Allow others to add options here
155
- do_action( 'customify_font_family_before_options', $active_font_family, $current_value );
156
-
157
- $this->display_recommended_options_group( $active_font_family, $current_value );
158
 
159
- $this->display_standard_options_group( $active_font_family, $current_value );
 
 
160
 
161
- do_action( 'customify_font_family_before_google_fonts_options' );
162
 
163
- if ( PixCustomifyPlugin()->settings->get_plugin_setting( 'typography_google_fonts' ) ) {
 
164
 
165
- echo '<optgroup class="google-fonts-opts-placeholder" label="' . esc_attr__( 'Google fonts', 'customify' ) . '"></optgroup>';
166
- } ?>
167
  </select>
168
  </li>
169
  <?php
170
- $this->display_font_weight_field( $current_value );
171
-
172
- $this->display_font_subset_field( $current_value );
173
-
174
- $this->display_font_size_field( $current_value );
175
-
176
- $this->display_line_height_field( $current_value );
177
-
178
- $this->display_letter_spacing_field( $current_value );
179
 
180
- $this->display_text_align_field( $current_value );
181
 
182
- $this->display_text_transform_field( $current_value );
 
 
183
 
184
- $this->display_text_decoration_field( $current_value ); ?>
 
 
 
185
  </ul>
186
  </div>
187
- <script>
188
- // Update the font name in the font field label
189
- jQuery( '#select_font_font_family_<?php echo esc_attr( $this->CSSID ); ?>' ).change( function(){
190
- var newValue = jQuery( '#select_font_font_family_<?php echo esc_attr( $this->CSSID ); ?>' ).val();
191
- jQuery( '#font_name_<?php echo esc_attr( $this->CSSID ); ?>' ).html( newValue );
192
- });
193
- </script>
194
 
195
  <?php if ( ! empty( $this->description ) ) : ?>
196
  <span class="description customize-control-description"><?php echo $this->description; ?></span>
@@ -199,365 +205,179 @@ class Pix_Customize_Font_Control extends Pix_Customize_Control {
199
  ?>
200
  <?php }
201
 
202
- public function get_google_fonts_opts_html() {
203
- $html = '';
204
- if ( ! PixCustomifyPlugin()->settings->get_plugin_setting( 'typography_google_fonts' ) ) {
205
- return $html;
206
- }
207
-
208
- ob_start();
209
- if ( PixCustomifyPlugin()->settings->get_plugin_setting( 'typography_group_google_fonts' ) ) {
210
-
211
- $grouped_google_fonts = array();
212
- foreach ( self::$google_fonts as $key => $font ) {
213
- if ( isset( $font['category'] ) ) {
214
- $grouped_google_fonts[ $font['category'] ][] = $font;
215
- }
216
- }
217
-
218
- foreach ( $grouped_google_fonts as $group_name => $group ) {
219
- echo '<optgroup label="' . esc_attr__( 'Google fonts', 'customify' ) . ' ' . $group_name . '">';
220
- foreach ( $group as $key => $font ) {
221
- self::output_font_option( $font );
222
- }
223
- echo "</optgroup>";
224
- }
225
-
226
- } else {
227
- echo '<optgroup label="' . esc_attr__( 'Google fonts', 'customify' ) . '">';
228
- foreach ( self::$google_fonts as $key => $font ) {
229
- self::output_font_option( $font );
230
- }
231
- echo "</optgroup>";
232
- }
233
-
234
- $html = ob_get_clean();
235
-
236
- return $html;
237
- }
238
-
239
- public function customize_pane_settings_google_fonts_options() {
240
- if ( ! PixCustomifyPlugin()->settings->get_plugin_setting( 'typography_google_fonts' ) ) {
241
- return;
242
- }
243
-
244
- ?>
245
- <script type="text/javascript">
246
- if ( 'undefined' === typeof _wpCustomizeSettings.settings ) {
247
- _wpCustomizeSettings.settings = {};
248
- }
249
-
250
- <?php
251
- echo "(function ( sAdditional ){\n";
252
-
253
- printf(
254
- "sAdditional['google_fonts_opts'] = %s;\n",
255
- wp_json_encode( $this->get_google_fonts_opts_html() )
256
- );
257
- echo "})( _wpCustomizeSettings );\n";
258
- ?>
259
- </script>
260
- <?php
261
- }
262
-
263
  /**
264
- * This input will hold the values of this typography field
 
 
 
 
265
  */
266
- function display_value_holder( $current_value ) { ?>
267
  <input class="customify_font_values" id="<?php echo esc_attr( $this->CSSID ); ?>"
268
  type="hidden" <?php $this->link(); ?>
269
- value="<?php echo esc_attr( PixCustomifyPlugin::encodeURIComponent( json_encode( $current_value ) ) ); ?>"
270
- data-default="<?php echo esc_attr( PixCustomifyPlugin::encodeURIComponent( json_encode( $current_value ) ) ); ?>"/>
271
  <?php }
272
 
273
- function display_field_title( $font_family, $font_name_id ) { ?>
 
 
 
 
 
 
274
  <label class="font-options__head select" for="tooltip_toogle_<?php echo esc_attr( $this->CSSID ); ?>">
275
  <?php if ( ! empty( $this->label ) ) : ?>
276
  <span class="font-options__option-title"><?php echo esc_html( $this->label ); ?></span>
277
  <?php endif; ?>
278
- <span class="font-options__font-title" id="font_name_<?php echo $font_name_id; ?>"><?php echo $font_family; ?></span>
279
  </label>
280
  <?php }
281
 
282
- function display_recommended_options_group( $font_family, $current_value ) {
283
- // Allow others to add options here
284
- do_action( 'customify_font_family_before_recommended_fonts_options', $font_family, $current_value );
285
-
286
- if ( ! empty( $this->recommended ) ) {
287
-
288
- echo '<optgroup label="' . esc_attr__( 'Recommended', 'customify' ) . '">';
289
-
290
- foreach ( $this->recommended as $key => $font ) {
291
- $font_type = 'std';
292
- if ( isset( self::$google_fonts[ $key ] ) ) {
293
- $font = self::$google_fonts[ $key ];
294
- $font_type = 'google';
295
- } else {
296
- $font = $key;
297
- }
298
-
299
- self::output_font_option( $font, $font_family, $font_type );
300
- }
301
- echo "</optgroup>";
302
- }
303
- }
304
-
305
- function display_standard_options_group( $font_family, $current_value ) {
306
- // Allow others to add options here
307
- do_action( 'customify_font_family_before_standard_fonts_options', $font_family, $current_value );
308
-
309
- if ( PixCustomifyPlugin()->settings->get_plugin_setting( 'typography_standard_fonts' ) ) {
310
-
311
- echo '<optgroup label="' . esc_attr__( 'Standard fonts', 'customify' ) . '">';
312
- foreach ( self::$std_fonts as $key => $font ) {
313
- self::output_font_option( $font, $font_family, 'std' );
314
- }
315
- echo "</optgroup>";
316
  }
317
 
318
- // Allow others to add options here
319
- do_action( 'customify_font_family_after_standard_fonts_options' );
320
- }
321
-
322
- function display_font_weight_field( $current_value ) {
323
- $display = 'none';
324
- if ( ! $this->load_all_weights && $this->font_weight ) {
325
  $display = 'inline-block';
326
  }
327
 
328
- $selected = array();
329
- if ( isset( $current_value->selected_variants ) ) {
330
- $selected = $current_value->selected_variants;
331
-
332
- if ( is_array( $selected ) ) {
333
- $selected = $selected[0];
334
- }
335
  }
336
  ?>
337
  <li class="customify_weights_wrapper customize-control font-options__option" style="display: <?php echo $display; ?>;">
338
- <label><?php esc_html_e( 'Font Weight', 'customify' ); ?></label>
339
- <?php
340
- $data_default = ! empty( $selected ) ? 'data-default="' . $selected . '"' : '';
341
- $data_disabled = isset( $this->fields['font-weight'] ) && false === $this->fields['font-weight'] ? 'data-disabled' : '';
342
- ?>
343
- <select class="customify_font_weight" data-field="selected_variants" <?php echo $data_default . ' ' . $data_disabled ?>>
344
  <?php
345
- if ( isset( $current_value->variants ) && ! empty( $current_value->variants ) && is_object( $current_value->variants ) ) {
346
- foreach ( $current_value->variants as $weight ) {
 
 
 
 
 
 
 
347
  $attrs = '';
348
- if ( in_array( $weight, (array) $selected ) ) {
 
349
  $attrs = ' selected="selected"';
350
  }
351
 
352
- echo '<option value="' . esc_attr( $weight ) . '" ' . $attrs . '> ' . $weight . '</option>';
353
  }
354
- } else if ( ! empty( $current_value->variants ) && is_string( $current_value->variants ) ) {
355
- echo '<option value="' . esc_attr( $current_value->variants ) . '" selected="selected"> ' . $current_value->variants . '</option>';
356
  } ?>
357
  </select>
358
  </li>
359
  <?php
360
  }
361
 
362
- function display_font_subset_field( $current_value ) {
363
- $display = 'none';
364
- if ( $this->subsets && ! empty( $current_value->subsets ) ) {
 
 
 
 
 
 
365
  $display = 'inline-block';
366
  } ?>
367
  <li class="customify_subsets_wrapper customize-control font-options__option" style="display: <?php echo $display; ?>;">
368
  <label><?php esc_html_e( 'Languages', 'customify' ); ?></label>
369
- <select multiple class="customify_font_subsets" data-field="selected_subsets" <?php echo ( isset( $this->fields['subsets'] ) && false === $this->fields['subsets'] ) ? 'data-disabled' : ''; ?>>
370
  <?php
371
  $selected = array();
372
  if ( isset( $current_value->selected_subsets ) ) {
373
- $selected = $current_value->selected_subsets;
374
  }
375
 
376
- if ( isset( $current_value->subsets ) && ! empty( $current_value->subsets ) && is_object( $current_value->variants ) ) {
377
- foreach ( $current_value->subsets as $key => $subset ) {
378
-
379
  if ( $subset === 'latin' ) {
380
  continue;
381
  }
382
 
383
  $attrs = '';
384
- if ( in_array( $subset, (array) $selected ) ) {
385
  $attrs .= ' selected="selected"';
386
  }
387
 
388
- echo '<option value="' . esc_attr( $subset ) . '"' . $attrs . '> ' . $subset . '</option>';
389
  }
390
- } ?>
391
  </select>
392
  </li>
393
 
394
  <?php
395
  }
396
 
397
- function display_font_size_field( $current_value ) {
398
- if ( ! empty( $this->fields['font-size'] ) ) {
399
- $fs_val = empty( $current_value->font_size ) ? 0 : $current_value->font_size;
400
- // If the current val also contains the unit, we need to take that into account.
401
- if ( ! is_numeric( $fs_val ) ) {
402
- if ( is_string( $fs_val ) ) {
403
- // We will get everything in front that is a valid part of a number (float including).
404
- preg_match( "/^([\d.\-+]+)/i", $fs_val, $match );
405
-
406
- if ( ! empty( $match ) && isset( $match[0] ) ) {
407
- if ( ! PixCustomifyPlugin()->is_assoc( $this->fields['font-size'] ) ) {
408
- $this->fields['font-size'][3] = substr( $fs_val, strlen( $match[0] ) );
409
- } else {
410
- $this->fields['font-size']['unit'] = substr( $fs_val, strlen( $match[0] ) );
411
- }
412
- $fs_val = $match[0];
413
- }
414
- } elseif ( is_array( $fs_val ) ) {
415
- if ( isset( $fs_val['unit']) ) {
416
- if ( ! PixCustomifyPlugin()->is_assoc( $this->fields['font-size'] ) ) {
417
- $this->fields['font-size'][3] = $fs_val['unit'];
418
- } else {
419
- $this->fields['font-size']['unit'] = $fs_val['unit'];
420
- }
421
- }
422
-
423
- $fs_val = $fs_val['value'];
424
- }
425
- }
426
- ?>
427
- <li class="customify_font_size_wrapper customize-control customize-control-range font-options__option">
428
- <label><?php esc_html_e( 'Font Size', 'customify' ); ?></label>
429
- <input type="range"
430
- data-field="font_size" <?php $this->input_field_atts( $this->fields['font-size'] ) ?>
431
- value="<?php echo $fs_val; ?>">
432
- </li>
433
- <?php }
434
- }
435
 
436
- function display_line_height_field( $current_value ) {
437
- if ( ! empty( $this->fields['line-height'] ) ) {
438
- $lh_val = isset( $current_value->line_height ) ? $current_value->line_height : 0 ;
439
- // If the current val also contains the unit, we need to take that into account.
440
- if ( ! is_numeric( $lh_val ) ) {
441
- if ( is_string( $lh_val ) ) {
442
- // We will get everything in front that is a valid part of a number (float including).
443
- preg_match( "/^([\d.\-+]+)/i", $lh_val, $match );
444
-
445
- if ( ! empty( $match ) && isset( $match[0] ) ) {
446
- if ( ! PixCustomifyPlugin()->is_assoc( $this->fields['line-height'] ) ) {
447
- $this->fields['line-height'][3] = substr( $lh_val, strlen( $match[0] ) );
448
- } else {
449
- $this->fields['line-height']['unit'] = substr( $lh_val, strlen( $match[0] ) );
450
- }
451
- $lh_val = $match[0];
452
- }
453
- } elseif ( is_array( $lh_val ) ) {
454
- if ( isset( $lh_val['unit']) ) {
455
- if ( ! PixCustomifyPlugin()->is_assoc( $this->fields['line-height'] ) ) {
456
- $this->fields['line-height'][3] = $lh_val['unit'];
457
- } else {
458
- $this->fields['line-height']['unit'] = $lh_val['unit'];
459
- }
460
- }
461
 
462
- $lh_val = $lh_val['value'];
463
- }
464
- }
465
- ?>
466
- <li class="customify_line_height_wrapper customize-control customize-control-range font-options__option">
467
- <label><?php esc_html_e( 'Line height', 'customify' ); ?></label>
468
- <input type="range"
469
- data-field="line_height" <?php $this->input_field_atts( $this->fields['line-height'] ); ?>
470
- value="<?php echo esc_attr( $lh_val ); ?>">
471
- </li>
472
- <?php }
 
 
473
  }
474
 
475
- function display_letter_spacing_field( $current_value ) {
476
-
477
- if ( ! empty( $this->fields['letter-spacing'] ) ) {
478
- $ls_val = isset( $current_value->letter_spacing ) ? $current_value->letter_spacing : 0;
479
- // If the current val also contains the unit, we need to take that into account.
480
- if ( ! is_numeric( $ls_val ) ) {
481
- if ( is_string( $ls_val ) ) {
482
- // We will get everything in front that is a valid part of a number (float including).
483
- preg_match( "/^([\d.\-+]+)/i", $ls_val, $match );
484
-
485
- if ( ! empty( $match ) && isset( $match[0] ) ) {
486
- if ( ! PixCustomifyPlugin()->is_assoc( $this->fields['letter-spacing'] ) ) {
487
- $this->fields['letter-spacing'][3] = substr( $ls_val, strlen( $match[0] ) );
488
- } else {
489
- $this->fields['letter-spacing']['unit'] = substr( $ls_val, strlen( $match[0] ) );
490
- }
491
- $ls_val = $match[0];
492
- }
493
- } elseif ( is_array( $ls_val ) ) {
494
- if ( isset( $ls_val['unit']) ) {
495
- if ( ! PixCustomifyPlugin()->is_assoc( $this->fields['letter-spacing'] ) ) {
496
- $this->fields['letter-spacing'][3] = $ls_val['unit'];
497
- } else {
498
- $this->fields['letter-spacing']['unit'] = $ls_val['unit'];
499
- }
500
- }
501
-
502
- $ls_val = $ls_val['value'];
503
- }
504
- }
505
- ?>
506
- <li class="customify_letter_spacing_wrapper customize-control customize-control-range font-options__option">
507
- <label><?php esc_html_e( 'Letter Spacing', 'customify' ); ?></label>
508
- <input type="range"
509
- data-field="letter_spacing" <?php $this->input_field_atts( $this->fields['letter-spacing'] ) ?>
510
- value="<?php echo esc_attr( $ls_val ); ?>">
511
- </li>
512
- <?php }
513
- }
514
 
515
- function display_text_align_field( $current_value ) {
516
- if ( ! empty( $this->fields['text-align'] ) && $this->fields['text-align'] ) {
517
- $ta_val = isset( $current_value->text_align ) ? $current_value->text_align : 'initial'; ?>
518
- <li class="customify_text_align_wrapper customize-control font-options__option">
519
- <label><?php esc_html_e( 'Text Align', 'customify' ); ?></label>
520
- <select data-field="text_align">
521
- <option <?php $this->display_option_value( 'initial', $ta_val ); ?>><?php esc_html_e( 'Initial', 'customify' ); ?></option>
522
- <option <?php $this->display_option_value( 'center', $ta_val ); ?>><?php esc_html_e( 'Center', 'customify' ); ?></option>
523
- <option <?php $this->display_option_value( 'left', $ta_val ); ?>><?php esc_html_e( 'Left', 'customify' ); ?></option>
524
- <option <?php $this->display_option_value( 'right', $ta_val ); ?>><?php esc_html_e( 'Right', 'customify' ); ?></option>
525
- </select>
526
- </li>
527
- <?php }
528
  }
529
 
530
- function display_text_transform_field( $current_value ) {
531
- if ( ! empty( $this->fields['text-transform'] ) && $this->fields['text-transform'] ) {
532
- $tt_val = isset( $current_value->text_transform ) ? $current_value->text_transform : 'none'; ?>
533
- <li class="customify_text_transform_wrapper customize-control font-options__option">
534
- <label><?php esc_html_e( 'Text Transform', 'customify' ); ?></label>
535
- <select data-field="text_transform">
536
- <option <?php $this->display_option_value( 'none', $tt_val ); ?>><?php esc_html_e( 'None', 'customify' ); ?></option>
537
- <option <?php $this->display_option_value( 'capitalize', $tt_val ); ?>><?php esc_html_e( 'Capitalize', 'customify' ); ?></option>
538
- <option <?php $this->display_option_value( 'uppercase', $tt_val ); ?>><?php esc_html_e( 'Uppercase', 'customify' ); ?></option>
539
- <option <?php $this->display_option_value( 'lowercase', $tt_val ); ?>><?php esc_html_e( 'Lowercase', 'customify' ); ?></option>
540
- </select>
541
- </li>
542
- <?php }
543
- }
544
 
545
- function display_text_decoration_field( $current_value ) {
546
- if ( ! empty( $this->fields['text-decoration'] ) && $this->fields['text-decoration'] ) {
547
- $td_val = isset( $current_value->text_decoration ) ? $current_value->text_decoration : 'none';?>
548
- <li class="customify_text_decoration_wrapper customize-control font-options__option">
549
- <label><?php esc_html_e( 'Text Decoration', 'customify' ); ?></label>
550
- <select data-field="text_decoration">
551
- <option <?php $this->display_option_value( 'none', $td_val ); ?>><?php esc_html_e( 'None', 'customify' ); ?></option>
552
- <option <?php $this->display_option_value( 'underline', $td_val ); ?>><?php esc_html_e( 'Underline', 'customify' ); ?></option>
553
- <option <?php $this->display_option_value( 'overline', $td_val ); ?>><?php esc_html_e( 'Overline', 'customify' ); ?></option>
554
- <option <?php $this->display_option_value( 'line-through', $td_val ); ?>><?php esc_html_e( 'Line Through', 'customify' ); ?></option>
555
- </select>
556
- </li>
557
- <?php }
558
  }
559
 
560
- function display_option_value( $value, $current_value ) {
561
 
562
  $return = 'value="' . esc_attr( $value ) . '"';
563
 
@@ -571,271 +391,108 @@ class Pix_Customize_Font_Control extends Pix_Customize_Control {
571
  /**
572
  * This method displays an <option> tag from the given params
573
  *
574
- * @param string|array $font
575
  * @param string|false $active_font_family Optional. The active font family to add the selected attribute to the appropriate opt.
576
  * False to not mark any opt as selected.
577
- * @param string $type Optional.
578
  */
579
- public static function output_font_option( $font, $active_font_family = false, $type = 'google' ) {
580
- echo self::get_font_option_markup( $font, $active_font_family, $type );
581
  }
582
 
583
  /**
584
  * This method returns an <option> tag from the given params
585
  *
586
- * @param string|array $font
587
  * @param string|false $active_font_family Optional. The active font family to add the selected attribute to the appropriate opt.
588
  * False to not mark any opt as selected.
589
- * @param string $type Optional.
590
  * @return string
591
  */
592
- public static function get_font_option_markup( $font, $active_font_family = false, $type = 'google' ) {
593
-
594
  $html = '';
595
- $font_family = false;
596
 
597
- if ( empty( $type ) ) {
598
- $type = 'std';
 
599
  }
600
- $data_attrs = ' data-type="' . esc_attr( $type ) . '"';
601
-
602
- // We will handle Google Fonts separately
603
- if ( $type === 'google' ) {
604
- $font_family = $font['family'];
605
 
606
- // Handle the font variants markup, if available
607
- if ( isset( $font['variants'] ) && ! empty( $font['variants'] ) ) {
608
- $data_attrs .= ' data-variants="' . esc_attr( PixCustomifyPlugin::encodeURIComponent( json_encode( (object) $font['variants'] ) ) ) . '"';
609
- }
610
-
611
- if ( isset( $font['subsets'] ) && ! empty( $font['subsets'] ) ) {
612
- $data_attrs .= ' data-subsets="' . esc_attr( PixCustomifyPlugin::encodeURIComponent( json_encode( (object) $font['subsets'] ) ) ) . '"';
613
- }
614
-
615
-
616
- } elseif ( $type === 'theme_font' ) {
617
- $font_family = $font['family'];
618
-
619
- // Handle the font variants markup, if available
620
- if ( isset( $font['variants'] ) && ! empty( $font['variants'] ) ) {
621
- $data_attrs .= ' data-variants="' . esc_attr( PixCustomifyPlugin::encodeURIComponent( json_encode( (object) $font['variants'] ) ) ) . '"';
622
- }
623
-
624
- $data_attrs .= ' data-src="' . esc_attr( $font['src'] ) . '"';
625
- } else {
626
- // Handle the font variants markup, if available
627
- if ( is_array( $font ) && ! empty( $font['variants'] ) ) {
628
- $data_attrs .= ' data-variants="' . esc_attr( PixCustomifyPlugin::encodeURIComponent( json_encode( (object) $font['variants'] ) ) ) . '"';
629
- }
630
-
631
- // By default, we assume we only get a font family string
632
- $font_family = $font;
633
- // when we get an array we expect to get a font_family entry
634
- if ( is_array( $font ) && isset( $font['font_family'] ) ) {
635
- $font_family = $font['font_family'];
636
- }
637
- }
638
 
639
- // Now determine if we have a "pretty" display for this font family
640
  $font_family_display = $font_family;
641
- if ( is_array( $font ) && isset( $font['font_family_display'] ) ) {
642
- $font_family_display = $font['font_family_display'];
643
- }
644
-
645
- // Bail if we don't have a font family value.
646
- if ( empty( $font_family ) ) {
647
- return apply_filters( 'customify_filter_font_option_markup_no_family', $html, $font, $active_font_family, $type );
648
  }
649
 
650
- // Determine if the font is selected
651
  $selected = ( false !== $active_font_family && $active_font_family === $font_family ) ? ' selected="selected" ' : '';
652
 
653
- // Determine the option class
654
- $option_class = ( false !== strpos( $type, '_font' ) ) ? $type : $type . '_font';
655
 
656
- $html .= '<option class="' . esc_attr( $option_class ) . '" value="' . esc_attr( $font_family ) . '" ' . $selected . $data_attrs . '>' . $font_family_display . '</option>';
657
 
658
- return apply_filters( 'customify_filter_font_option_markup', $html, $font, $active_font_family, $type );
659
  }
660
 
661
  /** ==== Helpers ==== */
662
 
663
- /**
664
- * Load the google fonts list from the local file, if not already loaded.
665
- *
666
- * @return bool|mixed|null
667
- */
668
- protected function maybe_load_google_fonts() {
669
-
670
- if ( empty( self::$google_fonts ) ) {
671
- $fonts_path = plugin_dir_path( __FILE__ ) . 'resources/google.fonts.php';
672
-
673
- if ( file_exists( $fonts_path ) ) {
674
- self::$google_fonts = apply_filters( 'customify_filter_google_fonts_list', require( $fonts_path ) );
675
- }
676
- }
677
-
678
- if ( ! empty( self::$google_fonts ) ) {
679
- return self::$google_fonts;
680
- }
681
-
682
- return false;
683
- }
684
-
685
- /**
686
- * This method is used only to update the google fonts json file
687
- * Even if it sounds weird you need to go to https://www.googleapis.com/webfonts/v1/webfonts?key=AIzaSyB7Yj842mK5ogSiDa3eRrZUIPTzgiGopls
688
- * copy all the content and put it into google.fonts.php
689
- * call this
690
- * the result needs to be put back into google.fonts.php
691
- * remove this call
692
- * before rage about file_get_content + json file think about the security avoided with this simple call
693
- */
694
- protected function generate_google_fonts_json() {
695
- $new_array = array();
696
- foreach ( self::$google_fonts as $key => $font ) {
697
- // unset unused data
698
- unset( $font['kind'] );
699
- unset( $font['version'] );
700
- unset( $font['lastModified'] );
701
- unset( $font['files'] );
702
- $new_array[ $font['family'] ] = $font;
703
- }
704
-
705
- file_put_contents( plugin_dir_path( __FILE__ ) . 'resources/google.fonts.json', json_encode( $new_array ) );
706
- }
707
 
708
- function get_default_values() {
709
-
710
- $to_return = array();
711
 
712
  if ( isset( $this->default ) && is_array( $this->default ) ) {
713
 
714
  // Handle special logic for when the $value array is not an associative array.
715
- if ( ! PixCustomifyPlugin()->is_assoc( $this->default ) ) {
716
-
717
- // Let's determine some type of font.
718
- if ( ! isset( $this->default[2] ) || ( isset( $this->default[2] ) && 'google' == $this->default[2] ) ) {
719
- if ( isset( self::$google_fonts[ $this->default[0] ] ) ) {
720
- $to_return = self::$google_fonts[ $this->default[0] ];
721
- $to_return['font_family'] = $this->default[0];
722
- $to_return['type'] = 'google';
723
- }
724
- } else {
725
- $to_return['type'] = $this->default[2];
726
- }
727
 
728
  // The first entry is the font-family.
729
  if ( isset( $this->default[0] ) ) {
730
- $to_return['font_family'] = $this->default[0];
731
  }
732
 
733
- // In case we don't have an associative array.
734
- // The second entry is the variants.
735
  if ( isset( $this->default[1] ) ) {
736
- $to_return['selected_variants'] = $this->default[1];
737
  }
738
  } else {
739
-
740
- if ( isset( $this->default['font_family'] ) ) {
741
- $to_return['font-family'] = $this->default['font_family'];
742
- }
743
-
744
- if ( isset( $this->default['font-family'] ) ) {
745
- $to_return['font-family'] = $this->default['font-family'];
746
- }
747
-
748
- if ( isset( $this->default['font-size'] ) ) {
749
- $to_return['font-size'] = $this->default['font-size'];
750
- }
751
-
752
- if ( isset( $this->default['line-height'] ) ) {
753
- $to_return['line-height'] = $this->default['line-height'];
754
- }
755
-
756
- if ( isset( $this->default['letter-spacing'] ) ) {
757
- $to_return['letter-spacing'] = $this->default['letter-spacing'];
758
- }
759
-
760
- if ( isset( $this->default['text-transform'] ) ) {
761
- $to_return['text-transform'] = $this->default['text-transform'];
762
- }
763
-
764
- if ( isset( $this->default['text-align'] ) ) {
765
- $to_return['text-align'] = $this->default['text-align'];
766
- }
767
-
768
- if ( isset( $this->default['text-decoration'] ) ) {
769
- $to_return['text_decoration'] = $this->default['text-decoration'];
770
- }
771
  }
772
  }
773
 
774
- // Rare case when there is a standard font we need to get the custom variants if there are some.
775
- if ( ! isset( $to_return['variants'] ) && isset( $to_return['font_family'] ) && isset( self::$std_fonts[ $to_return['font_family'] ] ) && isset( self::$std_fonts[ $to_return['font_family'] ]['variants'] ) ) {
776
- $to_return['variants'] = self::$std_fonts[ $to_return['font_family'] ]['variants'];
777
- }
778
-
779
- return $to_return;
780
  }
781
 
782
- function validate_font_values( $values ) {
783
-
784
- if ( empty( $values ) ) {
785
- return array();
786
- }
787
-
788
- foreach ( $values as $key => $value ) {
789
-
790
- if ( strpos( $key, '-' ) !== false ) {
791
- $new_key = str_replace( '-', '_', $key );
792
-
793
- if ( $new_key === 'font_weight' ) {
794
- $values[ 'selected_variants' ] = $value;
795
- unset( $values[ 'font_weight' ] );
796
- } else {
797
- $values[ $new_key ] = $value;
798
- unset( $values[ $key ] );
799
- }
800
- }
801
- }
802
-
803
- return $values;
804
  }
805
 
806
- private function get_CSS_ID( $id = null ) {
807
-
808
- if ( empty( $id ) ) {
809
- $id = $this->id;
810
- }
811
-
812
- $id = str_replace( '[', '_', $id );
813
- $id = str_replace( ']', '_', $id );
814
-
815
- return $id;
816
  }
817
 
 
 
818
  /**
819
- * Render the custom attributes for the control's input element.
 
 
820
  *
821
- * @since 4.0.0
822
- * @access public
 
 
 
823
  */
824
- public function input_field_atts( $atts ) {
825
-
826
- if ( ! PixCustomifyPlugin()->is_assoc( $atts ) ) {
827
- $defaults = array(
828
- 'min',
829
- 'max',
830
- 'step',
831
- 'unit',
832
- );
833
-
834
- $atts = array_combine( $defaults, array_values( $atts ) );
835
- }
836
-
837
- foreach ( $atts as $attr => $value ) {
838
- echo $attr . '="' . esc_attr( $value ) . '" ';
839
  }
 
840
  }
841
  }
2
 
3
  /**
4
  * Class Pix_Customize_Font_Control
5
+ *
6
+ * A complex typography control.
7
  */
8
  class Pix_Customize_Font_Control extends Pix_Customize_Control {
9
+
10
+ /**
11
+ * The field type.
12
+ *
13
+ * @var string
14
+ */
15
  public $type = 'font';
16
+
17
+ /**
18
+ * The list of recommended fonts to show at the top of the list.
19
+ *
20
+ * @var array
21
+ */
22
  public $recommended = array();
 
 
 
23
 
24
+ /**
25
+ * The list of sub-fields.
26
+ *
27
+ * @var array
28
+ */
29
+ public $fields;
30
 
31
+ /**
32
+ * The default value for each sub-field.
33
+ *
34
+ * @var array
35
+ */
36
+ public $default;
37
 
38
+ /**
39
+ * The current field value.
40
+ *
41
+ * @var mixed
42
+ */
43
+ public $current_value;
44
 
45
+ /**
46
+ * The unique CSS ID value to be used throughout this control.
47
+ *
48
+ * @var string
49
+ */
50
+ protected $CSSID;
51
 
52
  /**
53
  * Constructor.
56
  *
57
  * If $args['settings'] is not defined, use the $id as the setting ID.
58
  *
 
59
  *
60
  * @param WP_Customize_Manager $manager
61
  * @param string $id
66
 
67
  parent::__construct( $manager, $id, $args );
68
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
  $this->CSSID = $this->get_CSS_ID();
 
 
 
70
 
71
  $this->add_hooks();
72
 
 
 
 
73
  // Since 4.7 all the customizer data is saved in a post type named changeset.
74
  // This is how we get it.
75
  if ( method_exists( $wp_customize, 'changeset_data' ) ) {
76
  $changeset_data = $wp_customize->changeset_data();
77
 
78
  if ( isset( $changeset_data[$this->setting->id] ) ) {
79
+ $this->current_value = $this->standardizeSettingValue( $changeset_data[$this->setting->id]['value'] );
80
  return;
81
  }
82
  }
83
 
84
+ $this->current_value = $this->standardizeSettingValue( $this->value() );
85
  }
86
 
87
  protected function add_hooks() {
88
+ if ( ! empty( $this->recommended ) ) {
89
+ add_action( 'customify_font_family_select_options', array( $this, 'output_recommended_options_group' ), 10, 3 );
 
 
 
 
90
  }
91
+
92
+ // Standardize the setting value at a low level so it is consistent everywhere (including in JS).
93
+ add_filter( "customize_sanitize_js_{$this->setting->id}", array( $this, 'standardizeSettingValue'), 100, 1 );
94
  }
95
 
96
  /**
97
+ * Given a font value, standardize it (unencoded).
98
+ *
99
+ * @param mixed $value
100
+ * @param WP_Customize_Setting $setting
101
  *
102
+ * @return string
103
  */
104
+ public function standardizeSettingValue( $value ) {
105
+ $value = Customify_Fonts_Global::maybeDecodeValue( $value );
106
+ $value = Customify_Fonts_Global::standardizeFontValue( $value );
107
 
108
+ return $value;
109
+ }
110
 
111
+ public function output_recommended_options_group( $active_font_family, $current_value, $field_id ) {
112
+ // We only want each instance to output it's recommended options group.
113
+ if ( $this->id !== $field_id ) {
114
+ return;
115
  }
116
 
117
+ $this->display_recommended_options_group( $active_font_family, $current_value );
118
+ }
119
+
120
+ protected function display_recommended_options_group( $active_font_family, $current_value ) {
121
+ // Allow others to add options here
122
+ do_action( 'customify_font_family_before_recommended_fonts_options', $active_font_family, $current_value );
123
+
124
+ if ( ! empty( $this->recommended ) ) {
125
+
126
+ echo '<optgroup label="' . esc_attr__( 'Recommended', 'customify' ) . '">';
127
+
128
+ foreach ( $this->recommended as $font_family ) {
129
+ self::output_font_family_option( $font_family, $active_font_family );
130
  }
131
+ echo "</optgroup>";
 
 
132
  }
133
 
134
+ // Allow others to add options here
135
+ do_action( 'customify_font_family_after_recommended_fonts_options', $active_font_family, $current_value );
136
+ }
137
+
138
+ /**
139
+ * Render the control's content.
140
+ */
141
+ public function render_content() {
142
+ // The self::value() will consider the defined default value and return that if that is the case.
143
+ $current_value = $this->current_value;
144
+ if ( empty( $current_value ) ) {
145
+ $current_value = $this->get_default_values();
146
+ }
147
 
148
+ // Make sure it is an object from here going forward.
149
  $current_value = (object) $current_value;
150
 
151
+ $current_font_family = '';
152
  if ( isset( $current_value->font_family ) ) {
153
+ $current_font_family = $current_value->font_family;
154
  }
155
 
156
+ $current_font_details = array();
157
+ if ( ! empty( $current_font_family ) ) {
158
+ $current_font_details = Customify_Fonts_Global::instance()->getFontDetails( $current_font_family );
159
+ }
160
 
161
+ $select_data = 'data-active_font_family="' . esc_attr( $current_font_family ) . '"'; ?>
 
162
  <div class="font-options__wrapper">
163
 
164
+ <input type="checkbox" class="font-options__checkbox js-font-option-toggle" id="tooltip_toogle_<?php echo esc_attr( $this->CSSID ); ?>">
 
165
 
166
  <?php
167
  $this->display_value_holder( $current_value );
168
+ $this->display_field_title( $current_font_family, $current_font_details ); ?>
169
 
170
  <ul class="font-options__options-list">
171
  <li class="font-options__option customize-control">
172
+ <select id="select_font_font_family_<?php echo esc_attr( $this->CSSID ); ?>" class="customify_font_family"<?php echo $select_data; ?> data-value_entry="font_family">
 
 
 
 
 
173
 
174
+ <?php
175
+ // Allow others to add options here. This is mostly for backwards compatibility purposes.
176
+ do_action( 'customify_font_family_before_options', $current_font_family, $current_value, $this->id );
177
 
178
+ do_action( 'customify_font_family_select_options', $current_font_family, $current_value, $this->id );
179
 
180
+ // Allow others to add options here. This is mostly for backwards compatibility purposes.
181
+ do_action( 'customify_font_family_after_options', $current_font_family, $current_value, $this->id ); ?>
182
 
 
 
183
  </select>
184
  </li>
185
  <?php
186
+ $this->display_font_variant_field( $current_value, $current_font_details );
 
 
 
 
 
 
 
 
187
 
188
+ $this->display_font_subsets_field( $current_value, $current_font_details );
189
 
190
+ $this->display_range_field( 'font-size', $current_value, 'font_size', esc_html__( 'Font Size', 'customify' ) );
191
+ $this->display_range_field( 'line-height', $current_value, 'line_height', esc_html__( 'Line height', 'customify' ) );
192
+ $this->display_range_field( 'letter-spacing', $current_value, 'letter_spacing', esc_html__( 'Letter Spacing', 'customify' ) );
193
 
194
+ $this->display_select_field( 'text-align', $current_value, 'text_align', esc_html__( 'Text Align', 'customify' ) );
195
+ $this->display_select_field( 'text-transform', $current_value, 'text_transform', esc_html__( 'Text Transform', 'customify' ) );
196
+ $this->display_select_field( 'text-decoration', $current_value, 'text_decoration', esc_html__( 'Text Decoration', 'customify' ) );
197
+ ?>
198
  </ul>
199
  </div>
 
 
 
 
 
 
 
200
 
201
  <?php if ( ! empty( $this->description ) ) : ?>
202
  <span class="description customize-control-description"><?php echo $this->description; ?></span>
205
  ?>
206
  <?php }
207
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
208
  /**
209
+ * This input will hold the value of this font field
210
+ *
211
+ * @todo Right now we are only using this field for getting the setting ID (via it's link). No value holder :)
212
+ *
213
+ * @param $current_value
214
  */
215
+ protected function display_value_holder( $current_value ) { ?>
216
  <input class="customify_font_values" id="<?php echo esc_attr( $this->CSSID ); ?>"
217
  type="hidden" <?php $this->link(); ?>
218
+ value="<?php // The value will be set by the Customizer core logic from the _wpCustomizeSettings.settings data. ?>"
219
+ />
220
  <?php }
221
 
222
+ protected function display_field_title( $font_family, $current_font_details ) {
223
+ // Determine if we have a "pretty" display for this font family
224
+ $font_family_display = $font_family;
225
+ if ( ! empty( $current_font_details['family_display'] ) ) {
226
+ $font_family_display = $current_font_details['family_display'];
227
+ }
228
+ ?>
229
  <label class="font-options__head select" for="tooltip_toogle_<?php echo esc_attr( $this->CSSID ); ?>">
230
  <?php if ( ! empty( $this->label ) ) : ?>
231
  <span class="font-options__option-title"><?php echo esc_html( $this->label ); ?></span>
232
  <?php endif; ?>
233
+ <span class="font-options__font-title" id="font_name_<?php echo esc_attr( $this->CSSID ); ?>"><?php echo $font_family_display; ?></span>
234
  </label>
235
  <?php }
236
 
237
+ protected function display_font_variant_field( $current_value, $current_font_details ) {
238
+ // If the `font-weight` field entry is falsy, this means we don't want to use the field.
239
+ if ( empty( $this->fields['font-weight'] ) ) {
240
+ return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
241
  }
242
 
243
+ // Display is for the initial state. Depending on the selected fonts, the JS logic will show or hide it.
244
+ $display = 'none';
245
+ if ( ! empty( $current_font_details['variants'] ) && $current_font_details['variants'] !== ['regular'] ) {
 
 
 
 
246
  $display = 'inline-block';
247
  }
248
 
249
+ $selected = false;
250
+ if ( isset( $current_value->font_variant ) ) {
251
+ $selected = $current_value->font_variant;
 
 
 
 
252
  }
253
  ?>
254
  <li class="customify_weights_wrapper customize-control font-options__option" style="display: <?php echo $display; ?>;">
255
+ <label><?php esc_html_e( 'Font Variant', 'customify' ); ?></label>
256
+ <select class="customify_font_weight" data-value_entry="font_variant" <?php echo ( 'none' === $display ) ? 'data-disabled="true"' : ''?>>
 
 
 
 
257
  <?php
258
+ if ( ! empty( $current_font_details['variants'] ) ) {
259
+ if ( is_string( $current_font_details['variants'] ) ) {
260
+ $current_font_details['variants'] = array( $current_font_details['variants'] );
261
+ }
262
+
263
+ // Output an option with an empty value. Selecting this will NOT force a certain variant in the output.
264
+ echo '<option value="">Auto</option>';
265
+
266
+ foreach ( $current_font_details['variants'] as $variant ) {
267
  $attrs = '';
268
+ // We must make sure that they are converted to strings to avoid dubious conversions like 300italic == 300.
269
+ if ( (string) $variant === (string) $selected ) {
270
  $attrs = ' selected="selected"';
271
  }
272
 
273
+ echo '<option value="' . esc_attr( $variant ) . '" ' . $attrs . '> ' . $variant . '</option>';
274
  }
 
 
275
  } ?>
276
  </select>
277
  </li>
278
  <?php
279
  }
280
 
281
+ protected function display_font_subsets_field( $current_value, $current_font_details ) {
282
+ // If the `subsets` field entry is falsy, this means we don't want to use the field.
283
+ if ( empty( $this->fields['subsets'] ) ) {
284
+ return;
285
+ }
286
+
287
+ // Display is for the initial state. Depending on the selected fonts, the JS logic will show or hide it.
288
+ $display = 'none';
289
+ if ( ! empty( $current_font_details['subsets'] ) && $current_font_details['subsets'] !== ['latin'] ) {
290
  $display = 'inline-block';
291
  } ?>
292
  <li class="customify_subsets_wrapper customize-control font-options__option" style="display: <?php echo $display; ?>;">
293
  <label><?php esc_html_e( 'Languages', 'customify' ); ?></label>
294
+ <select multiple class="customify_font_subsets" data-value_entry="selected_subsets" <?php echo ( 'none' === $display ) ? 'data-disabled="true"' : ''?>>
295
  <?php
296
  $selected = array();
297
  if ( isset( $current_value->selected_subsets ) ) {
298
+ $selected = (array) $current_value->selected_subsets;
299
  }
300
 
301
+ if ( ! empty( $current_font_details['subsets'] ) ) {
302
+ foreach ( $current_font_details['subsets'] as $key => $subset ) {
303
+ // The latin subset is always loaded so there is no need to have it as an option.
304
  if ( $subset === 'latin' ) {
305
  continue;
306
  }
307
 
308
  $attrs = '';
309
+ if ( in_array( $subset, $selected ) ) {
310
  $attrs .= ' selected="selected"';
311
  }
312
 
313
+ echo '<option value="' . esc_attr( $subset ) . '" ' . $attrs . '> ' . $subset . '</option>';
314
  }
315
+ }?>
316
  </select>
317
  </li>
318
 
319
  <?php
320
  }
321
 
322
+ protected function display_range_field( $field, $currentFontValue, $valueEntry, $label ) {
323
+ // If the field entry is falsy, this means we don't want to use the field.
324
+ if ( empty( $this->fields[ $field ] ) ) {
325
+ return;
326
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
327
 
328
+ $value = empty( $currentFontValue->$valueEntry ) ? 0 : $currentFontValue->$valueEntry;
329
+ // Standardize the value.
330
+ $value = Customify_Fonts_Global::standardizeNumericalValue( $value, $field, array( 'fields' => $this->fields ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
331
 
332
+ // We will remember the unit of the value, in case some other system pushed down a value (with an unit)
333
+ // that is different from the field config unit. This way we can retain the unit of the value until
334
+ // the user interacts with the control.
335
+ ?>
336
+ <li class="customify_<?php echo $valueEntry ?>_wrapper customize-control customize-control-range font-options__option">
337
+ <label><?php echo $label ?></label>
338
+ <input type="range"
339
+ data-value_entry="<?php echo esc_attr( $valueEntry ) ?>"
340
+ <?php $this->range_field_attributes( $this->fields[ $field ] ) ?>
341
+ value="<?php echo esc_attr( $value['value'] ); ?>"
342
+ data-value_unit="<?php echo esc_attr( $value['unit'] ); ?>">
343
+ </li>
344
+ <?php
345
  }
346
 
347
+ /**
348
+ * Output the custom attributes for a range sub-field.
349
+ *
350
+ * @param array $attributes
351
+ */
352
+ protected function range_field_attributes( $attributes ) {
353
+ $attributes = Customify_Fonts_Global::standardizeRangeFieldAttributes( $attributes );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
354
 
355
+ foreach ( $attributes as $attr => $value ) {
356
+ echo $attr . '="' . esc_attr( $value ) . '" ';
357
+ }
 
 
 
 
 
 
 
 
 
 
358
  }
359
 
360
+ protected function display_select_field( $field, $currentFontValue, $valueEntry, $label ) {
361
+ // If the field entry is falsy, this means we don't want to use the field.
362
+ if ( empty( $this->fields[ $field ] ) ) {
363
+ return;
364
+ }
 
 
 
 
 
 
 
 
 
365
 
366
+ $valid_values = Customify_Fonts_Global::instance()->get_valid_subfield_values( $valueEntry, false );
367
+ $value = isset( $currentFontValue->$valueEntry ) && ( empty( $valid_values ) || in_array( $currentFontValue->$valueEntry, $valid_values ) ) ? $currentFontValue->$valueEntry : reset( $valid_values ); ?>
368
+ <li class="customify_<?php echo $valueEntry ?>_wrapper customize-control font-options__option">
369
+ <label><?php echo $label ?></label>
370
+ <select data-value_entry="<?php echo esc_attr( $valueEntry ) ?>">
371
+ <?php
372
+ foreach ( Customify_Fonts_Global::instance()->get_valid_subfield_values( $valueEntry, true ) as $option_value => $option_label ) { ?>
373
+ <option <?php $this->display_option_value( $option_value, $value ); ?>><?php echo $option_label; ?></option>
374
+ <?php } ?>
375
+ </select>
376
+ </li>
377
+ <?php
 
378
  }
379
 
380
+ protected function display_option_value( $value, $current_value ) {
381
 
382
  $return = 'value="' . esc_attr( $value ) . '"';
383
 
391
  /**
392
  * This method displays an <option> tag from the given params
393
  *
394
+ * @param string|array $font_family
395
  * @param string|false $active_font_family Optional. The active font family to add the selected attribute to the appropriate opt.
396
  * False to not mark any opt as selected.
 
397
  */
398
+ public static function output_font_family_option( $font_family, $active_font_family = false ) {
399
+ echo self::get_font_family_option_markup( $font_family, $active_font_family );
400
  }
401
 
402
  /**
403
  * This method returns an <option> tag from the given params
404
  *
405
+ * @param string|array $font_family
406
  * @param string|false $active_font_family Optional. The active font family to add the selected attribute to the appropriate opt.
407
  * False to not mark any opt as selected.
 
408
  * @return string
409
  */
410
+ public static function get_font_family_option_markup( $font_family, $active_font_family = false ) {
 
411
  $html = '';
 
412
 
413
+ // Bail if we don't have a font family value.
414
+ if ( empty( $font_family ) ) {
415
+ return apply_filters( 'customify_filter_font_option_markup_no_family', $html, $active_font_family );
416
  }
 
 
 
 
 
417
 
418
+ $font_type = Customify_Fonts_Global::instance()->determineFontType( $font_family );
419
+ $font_details = Customify_Fonts_Global::instance()->getFontDetails( $font_family, $font_type );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
420
 
421
+ // Now determine if we have a "pretty" display for this font family.
422
  $font_family_display = $font_family;
423
+ if ( is_array( $font_details ) && ! empty( $font_details['family_display'] ) ) {
424
+ $font_family_display = $font_details['family_display'];
 
 
 
 
 
425
  }
426
 
427
+ // Determine if the font is selected.
428
  $selected = ( false !== $active_font_family && $active_font_family === $font_family ) ? ' selected="selected" ' : '';
429
 
430
+ // Determine the option class.
431
+ $option_class = ( false !== strpos( $font_type, '_font' ) ) ? $font_type : $font_type . '_font';
432
 
433
+ $html .= '<option class="' . esc_attr( $option_class ) . '" value="' . esc_attr( $font_family ) . '" ' . $selected . '>' . $font_family_display . '</option>';
434
 
435
+ return apply_filters( 'customify_filter_font_option_markup', $html, $font_family, $active_font_family, $font_type );
436
  }
437
 
438
  /** ==== Helpers ==== */
439
 
440
+ protected function get_default_values() {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
441
 
442
+ $defaults = array();
 
 
443
 
444
  if ( isset( $this->default ) && is_array( $this->default ) ) {
445
 
446
  // Handle special logic for when the $value array is not an associative array.
447
+ if ( ! $this->isAssocArray( $this->default ) ) {
 
 
 
 
 
 
 
 
 
 
 
448
 
449
  // The first entry is the font-family.
450
  if ( isset( $this->default[0] ) ) {
451
+ $defaults['font_family'] = $this->default[0];
452
  }
453
 
454
+ // The second entry is the variant.
 
455
  if ( isset( $this->default[1] ) ) {
456
+ $defaults['font_variant'] = $this->default[1];
457
  }
458
  } else {
459
+ $defaults = $this->default;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
460
  }
461
  }
462
 
463
+ return Customify_Fonts_Global::standardizeFontValue( $defaults );
 
 
 
 
 
464
  }
465
 
466
+ protected function get_CSS_ID() {
467
+ return str_replace( array( '[', ']' ), '_', $this->id );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
468
  }
469
 
470
+ protected function isAssocArray( $array ) {
471
+ return ( $array !== array_values( $array ) );
 
 
 
 
 
 
 
 
472
  }
473
 
474
+ /** ==== LEGACY ==== */
475
+
476
  /**
477
+ * Legacy: This method displays an <option> tag from the given params
478
+ *
479
+ * @deprecated Use Pix_Customize_Font_Control::output_font_family_option() instead.
480
  *
481
+ * @param string|array $font
482
+ * @param string|false $active_font_family Optional. The active font family to add the selected attribute to the appropriate opt.
483
+ * False to not mark any opt as selected.
484
+ * @param array $font_settings
485
+ * @param string $type Optional.
486
  */
487
+ public static function output_font_option( $font, $active_font_family = false, $font_settings = array(), $type = 'google_font' ) {
488
+ $font_family = $font;
489
+ if ( is_array( $font_family ) ) {
490
+ if ( ! empty( $font_family['family'] ) ) {
491
+ $font_family = $font_family['family'];
492
+ } else {
493
+ return;
494
+ }
 
 
 
 
 
 
 
495
  }
496
+ echo self::get_font_family_option_markup( $font_family, $active_font_family );
497
  }
498
  }
features/customizer/controls/class-Pix_Customize_HTML_Control.php CHANGED
@@ -2,7 +2,6 @@
2
 
3
  /**
4
  * Class Pix_Customize_HTML_Control
5
- * A simple HTML Control
6
  */
7
  class Pix_Customize_HTML_Control extends Pix_Customize_Control {
8
  public $type = 'html';
@@ -11,12 +10,10 @@ class Pix_Customize_HTML_Control extends Pix_Customize_Control {
11
 
12
  /**
13
  * Render the control's content.
14
- *
15
- * @since 3.4.0
16
  */
17
  public function render_content() {
18
  if ( ! empty( $this->html ) ) {
19
  echo ( $this->html );
20
  }
21
  }
22
- }
2
 
3
  /**
4
  * Class Pix_Customize_HTML_Control
 
5
  */
6
  class Pix_Customize_HTML_Control extends Pix_Customize_Control {
7
  public $type = 'html';
10
 
11
  /**
12
  * Render the control's content.
 
 
13
  */
14
  public function render_content() {
15
  if ( ! empty( $this->html ) ) {
16
  echo ( $this->html );
17
  }
18
  }
19
+ }
features/customizer/controls/class-Pix_Customize_Preset_Control.php CHANGED
@@ -2,7 +2,6 @@
2
 
3
  /**
4
  * Class Pix_Customize_Preset_Control
5
- * A simple Select2 Control
6
  */
7
  class Pix_Customize_Preset_Control extends Pix_Customize_Control {
8
  public $type = 'preset';
@@ -11,8 +10,6 @@ class Pix_Customize_Preset_Control extends Pix_Customize_Control {
11
 
12
  /**
13
  * Render the control's content.
14
- *
15
- * @since 3.4.0
16
  */
17
  public function render_content() {
18
 
@@ -191,9 +188,7 @@ class Pix_Customize_Preset_Control extends Pix_Customize_Control {
191
  $options = $this->convertChoiceOptionsIdsToSettingIds( $choice_config['options'] );
192
  $data = ' data-options=\'' . json_encode( $options ) . '\'';
193
 
194
- $customizer_config = PixCustomifyPlugin()->get_customizer_config();
195
-
196
- ?>
197
 
198
  <span class="customize-inside-control-row <?php echo ( (string) $this->value() === (string) $choice_value ? 'current-color-palette' : '' );?>" style="background-image: url( <?php echo esc_url( $choice_config['preview']['background_image_url'] ); ?> );">
199
  <input <?php $this->link(); echo 'name="' . $this->setting->id . '" id="' . esc_attr( $choice_value ) . '-color-palette" type="radio" value="' . esc_attr( $choice_value ) . '" ' . selected( $this->value(), $choice_value, false ) . $data .' />'; ?>
@@ -259,17 +254,12 @@ class Pix_Customize_Preset_Control extends Pix_Customize_Control {
259
  }
260
  $fonts = $this->convertChoiceOptionsIdsToSettingIds( $choice_config['fonts_logic'] );
261
  $data .= ' data-fonts_logic=\'' . json_encode( $fonts ) . '\'';
262
-
263
- $customizer_config = PixCustomifyPlugin()->get_customizer_config();
264
-
265
  ?>
266
 
267
  <span class="customize-inside-control-row <?php echo ( (string) $this->value() === (string) $choice_value ? 'current-font-palette' : '' );?>" style="background-image: url( <?php echo esc_url( $choice_config['preview']['background_image_url'] ); ?> );">
268
- <input <?php $this->link(); echo 'name="' . $this->setting->id . '" id="' . esc_attr( $choice_value ) . '-font-palette" type="radio" value="' . esc_attr( $choice_value ) . '" ' . selected( $this->value(), $choice_value, false ) . $data .' />'; ?>
269
  <label for="<?php echo esc_attr( $choice_value ) . '-font-palette'; ?>">
270
- <span class="screen-reader-text">
271
- <?php echo esc_html( $label ); ?>
272
- </span>
273
  </label>
274
  </span>
275
  <?php } ?>
2
 
3
  /**
4
  * Class Pix_Customize_Preset_Control
 
5
  */
6
  class Pix_Customize_Preset_Control extends Pix_Customize_Control {
7
  public $type = 'preset';
10
 
11
  /**
12
  * Render the control's content.
 
 
13
  */
14
  public function render_content() {
15
 
188
  $options = $this->convertChoiceOptionsIdsToSettingIds( $choice_config['options'] );
189
  $data = ' data-options=\'' . json_encode( $options ) . '\'';
190
 
191
+ $customizer_config = PixCustomifyPlugin()->get_customizer_config(); ?>
 
 
192
 
193
  <span class="customize-inside-control-row <?php echo ( (string) $this->value() === (string) $choice_value ? 'current-color-palette' : '' );?>" style="background-image: url( <?php echo esc_url( $choice_config['preview']['background_image_url'] ); ?> );">
194
  <input <?php $this->link(); echo 'name="' . $this->setting->id . '" id="' . esc_attr( $choice_value ) . '-color-palette" type="radio" value="' . esc_attr( $choice_value ) . '" ' . selected( $this->value(), $choice_value, false ) . $data .' />'; ?>
254
  }
255
  $fonts = $this->convertChoiceOptionsIdsToSettingIds( $choice_config['fonts_logic'] );
256
  $data .= ' data-fonts_logic=\'' . json_encode( $fonts ) . '\'';
 
 
 
257
  ?>
258
 
259
  <span class="customize-inside-control-row <?php echo ( (string) $this->value() === (string) $choice_value ? 'current-font-palette' : '' );?>" style="background-image: url( <?php echo esc_url( $choice_config['preview']['background_image_url'] ); ?> );">
260
+ <input <?php $this->link(); echo 'name="' . esc_attr( $this->setting->id ) . '" id="' . esc_attr( $choice_value ) . '-font-palette" type="radio" value="' . esc_attr( $choice_value ) . '" ' . selected( $this->value(), $choice_value, false ) . $data .' />'; ?>
261
  <label for="<?php echo esc_attr( $choice_value ) . '-font-palette'; ?>">
262
+ <span class="screen-reader-text"><?php echo esc_html( $label ); ?></span>
 
 
263
  </label>
264
  </span>
265
  <?php } ?>
features/customizer/controls/class-Pix_Customize_Radio_HTML_Control.php CHANGED
@@ -9,8 +9,6 @@ class Pix_Customize_Radio_HTML_Control extends Pix_Customize_Control {
9
 
10
  /**
11
  * Render the control's content.
12
- *
13
- * @since 3.4.0
14
  */
15
  public function render_content() { ?>
16
 
9
 
10
  /**
11
  * Render the control's content.
 
 
12
  */
13
  public function render_content() { ?>
14
 
features/customizer/controls/class-Pix_Customize_Radio_Image_Control.php CHANGED
@@ -2,7 +2,6 @@
2
 
3
  /**
4
  * Class Pix_Customize_Radio_Image_Control
5
- * A simple Select2 Control
6
  */
7
  class Pix_Customize_Radio_Image_Control extends Pix_Customize_Control {
8
  public $type = 'radio_image';
@@ -11,8 +10,6 @@ class Pix_Customize_Radio_Image_Control extends Pix_Customize_Control {
11
 
12
  /**
13
  * Render the control's content.
14
- *
15
- * @since 3.4.0
16
  */
17
  public function render_content() {
18
 
2
 
3
  /**
4
  * Class Pix_Customize_Radio_Image_Control
 
5
  */
6
  class Pix_Customize_Radio_Image_Control extends Pix_Customize_Control {
7
  public $type = 'radio_image';
10
 
11
  /**
12
  * Render the control's content.
 
 
13
  */
14
  public function render_content() {
15
 
features/customizer/controls/class-Pix_Customize_SM_palette_filter_control.php CHANGED
@@ -7,8 +7,6 @@ class Pix_Customize_SM_palette_filter_Control extends Pix_Customize_Control {
7
 
8
  /**
9
  * Render the control's content.
10
- *
11
- * @since 3.4.0
12
  */
13
  public function render_content() {
14
  $input_id = '_customize-input-' . $this->id;
@@ -20,7 +18,10 @@ class Pix_Customize_SM_palette_filter_Control extends Pix_Customize_Control {
20
  <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
21
  <?php } ?>
22
  <div class="sm-palette-filter">
23
- <?php foreach ( $this->choices as $value => $label ) { ?>
 
 
 
24
  <input
25
  type="radio"
26
  value="<?php echo esc_attr( $value ) ?>"
@@ -35,35 +36,18 @@ class Pix_Customize_SM_palette_filter_Control extends Pix_Customize_Control {
35
  <span><?php echo esc_html( $label ); ?></span>
36
  </div>
37
 
38
- <?php
39
- $master_color_controls_ids = array(
40
- "sm_color_primary",
41
- "sm_color_secondary",
42
- "sm_color_tertiary",
43
- "sm_dark_primary",
44
- "sm_dark_secondary",
45
- "sm_dark_tertiary",
46
- "sm_light_primary",
47
- "sm_light_secondary",
48
- "sm_light_tertiary"
49
- );
50
-
51
- $current_palette = '<div class="sm-color-palette__colors">';
52
- foreach ( $master_color_controls_ids as $setting_id ) {
53
- $current_palette .=
54
- '<div class="sm-color-palette__color ' . $setting_id . '" data-setting="' . $setting_id . '">' . "\n" .
55
- '<div class="sm-color-palette__picker"></div>' . "\n" .
56
- '</div>' . "\n";
57
- }
58
- $current_palette .= '</div>';
59
-
60
- echo $current_palette;
61
- ?>
62
  </label>
63
  <?php } ?>
64
  </div>
65
 
66
- <?php
67
  do_action( 'customify_after_sm_palette_filter_control', $this );
68
  }
69
  }
7
 
8
  /**
9
  * Render the control's content.
 
 
10
  */
11
  public function render_content() {
12
  $input_id = '_customize-input-' . $this->id;
18
  <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
19
  <?php } ?>
20
  <div class="sm-palette-filter">
21
+ <?php
22
+ $master_color_controls_ids = Customify_Color_Palettes::instance()->get_all_master_color_controls_ids();
23
+
24
+ foreach ( $this->choices as $value => $label ) { ?>
25
  <input
26
  type="radio"
27
  value="<?php echo esc_attr( $value ) ?>"
36
  <span><?php echo esc_html( $label ); ?></span>
37
  </div>
38
 
39
+ <div class="sm-color-palette__colors">
40
+ <?php foreach ( $master_color_controls_ids as $setting_id ) { ?>
41
+ <div class="sm-color-palette__color <?php echo esc_attr( $setting_id ) ?>" data-setting="<?php echo esc_attr( $setting_id ) ?>">
42
+ <div class="sm-color-palette__picker"></div>
43
+ </div>
44
+ <?php } ?>
45
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  </label>
47
  <?php } ?>
48
  </div>
49
 
50
+ <?php
51
  do_action( 'customify_after_sm_palette_filter_control', $this );
52
  }
53
  }
features/customizer/controls/class-Pix_Customize_SM_radio_control.php CHANGED
@@ -7,8 +7,6 @@ class Pix_Customize_SM_radio_Control extends Pix_Customize_Control {
7
 
8
  /**
9
  * Render the control's content.
10
- *
11
- * @since 3.4.0
12
  */
13
  public function render_content() {
14
  $input_id = '_customize-input-' . $this->id;
@@ -34,7 +32,7 @@ class Pix_Customize_SM_radio_Control extends Pix_Customize_Control {
34
  <?php } ?>
35
  </div>
36
 
37
- <?php
38
  do_action( 'customify_after_sm_radio_control', $this );
39
  }
40
  }
7
 
8
  /**
9
  * Render the control's content.
 
 
10
  */
11
  public function render_content() {
12
  $input_id = '_customize-input-' . $this->id;
32
  <?php } ?>
33
  </div>
34
 
35
+ <?php
36
  do_action( 'customify_after_sm_radio_control', $this );
37
  }
38
  }
features/customizer/controls/class-Pix_Customize_SM_switch_control.php CHANGED
@@ -7,8 +7,6 @@ class Pix_Customize_SM_switch_Control extends Pix_Customize_Control {
7
 
8
  /**
9
  * Render the control's content.
10
- *
11
- * @since 3.4.0
12
  */
13
  public function render_content() {
14
  $input_id = '_customize-input-' . $this->id;
7
 
8
  /**
9
  * Render the control's content.
 
 
10
  */
11
  public function render_content() {
12
  $input_id = '_customize-input-' . $this->id;
features/customizer/controls/class-Pix_Customize_Select2_Control.php CHANGED
@@ -2,15 +2,12 @@
2
 
3
  /**
4
  * Class Pix_Customize_Select2_Control
5
- * A simple Select2 Control
6
  */
7
  class Pix_Customize_Select2_Control extends Pix_Customize_Control {
8
  public $type = 'select2';
9
 
10
  /**
11
  * Render the control's content.
12
- *
13
- * @since 3.4.0
14
  */
15
  public function render_content() {
16
  ?>
@@ -25,7 +22,7 @@ class Pix_Customize_Select2_Control extends Pix_Customize_Control {
25
  echo '<option value="' . esc_attr( $value ) . '"' . selected( $this->value(), $value, false ) . '>' . $label . '</option>';
26
  ?>
27
  </select>
28
-
29
  <?php if ( ! empty( $this->description ) ) : ?>
30
  <span class="description customize-control-description"><?php echo $this->description; ?></span>
31
  <?php endif; ?>
2
 
3
  /**
4
  * Class Pix_Customize_Select2_Control
 
5
  */
6
  class Pix_Customize_Select2_Control extends Pix_Customize_Control {
7
  public $type = 'select2';
8
 
9
  /**
10
  * Render the control's content.
 
 
11
  */
12
  public function render_content() {
13
  ?>
22
  echo '<option value="' . esc_attr( $value ) . '"' . selected( $this->value(), $value, false ) . '>' . $label . '</option>';
23
  ?>
24
  </select>
25
+
26
  <?php if ( ! empty( $this->description ) ) : ?>
27
  <span class="description customize-control-description"><?php echo $this->description; ?></span>
28
  <?php endif; ?>
features/customizer/controls/class-Pix_Customize_Text_Control.php CHANGED
@@ -1,7 +1,6 @@
1
  <?php
2
  /**
3
  * Class Pix_Customize_Text_Control
4
- * A simple Text Control
5
  */
6
  class Pix_Customize_Text_Control extends Pix_Customize_Control {
7
  public $type = 'text';
@@ -9,15 +8,8 @@ class Pix_Customize_Text_Control extends Pix_Customize_Control {
9
 
10
  /**
11
  * Render the control's content.
12
- *
13
- * @since 3.4.0
14
  */
15
- public function render_content() {
16
- // here we need an array of classes which should be affected by the live preview
17
- // if ( ! empty( $this->live ) && is_array( $this->live ) ) {
18
- // $this->input_attrs['data-live_preview_classes'] = implode( ',', $this->live );
19
- // $this->input_attrs['class'] = 'customify_text_live_preview';
20
- // } ?>
21
  <label>
22
  <?php if ( ! empty( $this->label ) ) : ?>
23
  <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
1
  <?php
2
  /**
3
  * Class Pix_Customize_Text_Control
 
4
  */
5
  class Pix_Customize_Text_Control extends Pix_Customize_Control {
6
  public $type = 'text';
8
 
9
  /**
10
  * Render the control's content.
 
 
11
  */
12
+ public function render_content() { ?>
 
 
 
 
 
13
  <label>
14
  <?php if ( ! empty( $this->label ) ) : ?>
15
  <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
features/customizer/controls/class-Pix_Customize_Textarea_Control.php CHANGED
@@ -2,7 +2,6 @@
2
 
3
  /**
4
  * Class Pix_Customize_Textarea_Control
5
- * A simple Text Control
6
  */
7
  class Pix_Customize_Textarea_Control extends Pix_Customize_Control {
8
  public $type = 'textarea';
@@ -10,16 +9,13 @@ class Pix_Customize_Textarea_Control extends Pix_Customize_Control {
10
 
11
  /**
12
  * Render the control's content.
13
- *
14
- * @since 3.4.0
15
  */
16
  public function render_content() { ?>
17
-
18
  <label>
19
  <?php if ( ! empty( $this->label ) ) : ?>
20
  <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
21
  <?php endif; ?>
22
- <textarea id="<?php echo $this->id; ?>" rows="5" <?php $this->link(); ?>><?php echo esc_textarea( $this->value() ); ?></textarea>
23
  <?php if ( ! empty( $this->description ) ) : ?>
24
  <span class="description customize-control-description"><?php echo $this->description; ?></span>
25
  <?php endif; ?>
2
 
3
  /**
4
  * Class Pix_Customize_Textarea_Control
 
5
  */
6
  class Pix_Customize_Textarea_Control extends Pix_Customize_Control {
7
  public $type = 'textarea';
9
 
10
  /**
11
  * Render the control's content.
 
 
12
  */
13
  public function render_content() { ?>
 
14
  <label>
15
  <?php if ( ! empty( $this->label ) ) : ?>
16
  <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
17
  <?php endif; ?>
18
+ <textarea id="<?php echo esc_attr( $this->id ); ?>" rows="5" <?php $this->link(); ?>><?php echo esc_textarea( $this->value() ); ?></textarea>
19
  <?php if ( ! empty( $this->description ) ) : ?>
20
  <span class="description customize-control-description"><?php echo $this->description; ?></span>
21
  <?php endif; ?>
features/customizer/controls/class-Pix_Customize_Typography_Control.php DELETED
@@ -1,451 +0,0 @@
1
- <?php
2
-
3
- /**
4
- * Class Pix_Customize_Typography_Control
5
- * A complex Typography Control
6
- */
7
- class Pix_Customize_Typography_Control extends Pix_Customize_Control {
8
- public $type = 'typography';
9
- public $backup = null;
10
- public $font_weight = true;
11
- public $subsets = true;
12
- public $load_all_weights = false;
13
- public $recommended = array();
14
- public $typekit_fonts = array();
15
- public $current_value;
16
- public $default;
17
-
18
- protected static $google_fonts = null;
19
-
20
- private static $std_fonts = null;
21
-
22
- /**
23
- * Constructor.
24
- *
25
- * Supplied $args override class property defaults.
26
- *
27
- * If $args['settings'] is not defined, use the $id as the setting ID.
28
- *
29
- * @since 3.4.0
30
- *
31
- * @param WP_Customize_Manager $manager
32
- * @param string $id
33
- * @param array $args
34
- */
35
- public function __construct( $manager, $id, $args = array() ) {
36
-
37
- self::$std_fonts = apply_filters( 'customify_filter_standard_fonts_list', array(
38
- "Arial, Helvetica, sans-serif" => "Arial, Helvetica, sans-serif",
39
- "'Arial Black', Gadget, sans-serif" => "'Arial Black', Gadget, sans-serif",
40
- "'Bookman Old Style', serif" => "'Bookman Old Style', serif",
41
- "'Comic Sans MS', cursive" => "'Comic Sans MS', cursive",
42
- "Courier, monospace" => "Courier, monospace",
43
- "Garamond, serif" => "Garamond, serif",
44
- "Georgia, serif" => "Georgia, serif",
45
- "Impact, Charcoal, sans-serif" => "Impact, Charcoal, sans-serif",
46
- "'Lucida Console', Monaco, monospace" => "'Lucida Console', Monaco, monospace",
47
- "'Lucida Sans Unicode', 'Lucida Grande', sans-serif" => "'Lucida Sans Unicode', 'Lucida Grande', sans-serif",
48
- "'MS Sans Serif', Geneva, sans-serif" => "'MS Sans Serif', Geneva, sans-serif",
49
- "'MS Serif', 'New York', sans-serif" => "'MS Serif', 'New York', sans-serif",
50
- "'Palatino Linotype', 'Book Antiqua', Palatino, serif" => "'Palatino Linotype', 'Book Antiqua', Palatino, serif",
51
- "Tahoma,Geneva, sans-serif" => "Tahoma, Geneva, sans-serif",
52
- "'Times New Roman', Times,serif" => "'Times New Roman', Times, serif",
53
- "'Trebuchet MS', Helvetica, sans-serif" => "'Trebuchet MS', Helvetica, sans-serif",
54
- "Verdana, Geneva, sans-serif" => "Verdana, Geneva, sans-serif",
55
- ) );
56
-
57
- $keys = array_keys( get_object_vars( $this ) );
58
- foreach ( $keys as $key ) {
59
- if ( isset( $args[ $key ] ) ) {
60
- $this->$key = $args[ $key ];
61
- }
62
- }
63
-
64
- $this->manager = $manager;
65
- $this->id = $id;
66
- if ( empty( $this->active_callback ) ) {
67
- $this->active_callback = array( $this, 'active_callback' );
68
- }
69
- self::$instance_count += 1;
70
- $this->instance_number = self::$instance_count;
71
-
72
- // Process settings.
73
- if ( empty( $this->settings ) ) {
74
- $this->settings = $id;
75
- }
76
-
77
- $settings = array();
78
- if ( is_array( $this->settings ) ) {
79
- foreach ( $this->settings as $key => $setting ) {
80
- $settings[ $key ] = $this->manager->get_setting( $setting );
81
- }
82
- } else {
83
- $this->setting = $this->manager->get_setting( $this->settings );
84
- $settings['default'] = $this->setting;
85
- }
86
-
87
- $this->settings = $settings;
88
-
89
- $this->load_google_fonts();
90
-
91
- $this->typekit_fonts = apply_filters('customify_filter_typekit_fonts_list', get_option( 'typekit_fonts' ) );
92
-
93
-
94
- $this->current_value = $this->value();
95
- // $this->generate_google_fonts_json();
96
- }
97
-
98
- /**
99
- * Render the control's content.
100
- *
101
- * @since 3.4.0
102
- */
103
- public function render_content() {
104
- $current_value = $this->value();
105
- //maybe we need to decode it
106
- $current_value = PixCustomifyPlugin::decodeURIComponent( $current_value );
107
-
108
- if ( empty( $current_value ) || ( is_array( $current_value ) && ( ! isset( $current_value['font_family'] ) || ! isset( $current_value['font-family'] ) ) ) ) {
109
- $current_value = $this->get_default_values();
110
- }
111
- // if this value was an array, make sure it is ok
112
- if ( is_array( $current_value ) ) {
113
- if ( isset( $current_value['font-family'] ) ) {
114
- $current_value['font_family'] = $current_value['font-family'];
115
- unset( $current_value['font-family'] );
116
- }
117
- } else {
118
- //if we've got a string then it is clear we need to decode it
119
- $current_value = json_decode( $current_value );
120
- }
121
-
122
- //make sure it is an object from here going forward
123
- $current_value = (object) $current_value;
124
-
125
- $font_family = '';
126
- if ( isset( $current_value->font_family ) ) {
127
- $font_family = $current_value->font_family;
128
- }
129
-
130
- if ( isset( $current_value->load_all_weights ) ) {
131
- $this->load_all_weights = $current_value->font_load_all_weights;
132
- } ?>
133
- <label class="customify_typography">
134
- <?php if ( ! empty( $this->label ) ) : ?>
135
- <span class="customize-control-title"><?php echo esc_html( $this->label ); ?></span>
136
- <?php endif;
137
-
138
- $this_id = str_replace( '[', '_', $this->id );
139
- $this_id = str_replace( ']', '_', $this_id );
140
- $select_data = '';
141
- if ( $this->load_all_weights ) {
142
- $select_data .= ' data-load_all_weights="true"';
143
- }
144
-
145
- /**
146
- * This input will hold the values of this typography field
147
- */ ?>
148
- <input class="customify_typography_values"
149
- id="<?php echo esc_attr( $this_id ); ?>"
150
- type="hidden" <?php $this->link(); ?>
151
- value="<?php echo esc_attr( PixCustomifyPlugin::encodeURIComponent( json_encode( $current_value ) ) ); ?>"
152
- data-default="<?php echo esc_attr( PixCustomifyPlugin::encodeURIComponent( json_encode( $current_value ) ) ); ?>"
153
- />
154
- <select class="customify_typography_font_family"<?php echo $select_data; ?>>
155
-
156
- <?php
157
- // Allow others to add options here
158
- do_action( 'customify_typography_font_family_before_options', $font_family, $current_value ); ?>
159
-
160
- <?php
161
- if ( ! empty( $this->typekit_fonts ) ) {
162
- echo '<optgroup label="' . esc_attr__( 'Typekit', 'customify' ) . '">';
163
- foreach ( $this->typekit_fonts as $key => $font ) {
164
- self::output_font_option( $font['css_names'][0], $font_family, $font, 'typekit' );
165
- }
166
- echo "</optgroup>";
167
- }
168
-
169
- // Allow others to add options here
170
- do_action( 'customify_typography_font_family_before_recommended_fonts_options', $font_family, $current_value );
171
-
172
- if ( ! empty( $this->recommended ) ) {
173
-
174
- echo '<optgroup label="' . esc_attr__( 'Recommended', 'customify' ) . '">';
175
-
176
- foreach ( $this->recommended as $key => $font ) {
177
- $font_type = 'std';
178
- if ( isset( self::$google_fonts[ $key ] ) ) {
179
- $font = self::$google_fonts[ $key ];
180
- $font_type = 'google';
181
- } elseif( isset( $this->typekit_fonts[ $key ] ) ) {
182
- $font_type = 'typekit';
183
- $font = $key;
184
- } else {
185
- $font = $key;
186
- }
187
-
188
- self::output_font_option( $key, $font_family, $font, $font_type );
189
- }
190
- echo "</optgroup>";
191
- }
192
-
193
- // Allow others to add options here
194
- do_action( 'customify_typography_font_family_before_standard_fonts_options', $font_family, $current_value );
195
-
196
- if ( PixCustomifyPlugin()->settings->get_plugin_setting( 'typography_standard_fonts' ) ) {
197
-
198
- echo '<optgroup label="' . esc_attr__( 'Standard fonts', 'customify' ) . '">';
199
- foreach ( self::$std_fonts as $key => $font ) {
200
- self::output_font_option( $key, $font_family, $font, 'std' );
201
- }
202
- echo "</optgroup>";
203
- }
204
-
205
- // Allow others to add options here
206
- do_action( 'customify_typography_font_family_before_google_fonts_options' );
207
-
208
- if ( PixCustomifyPlugin()->settings->get_plugin_setting( 'typography_google_fonts' ) ) {
209
-
210
- if ( PixCustomifyPlugin()->settings->get_plugin_setting( 'typography_group_google_fonts' ) ) {
211
-
212
- $grouped_google_fonts = array();
213
- foreach ( self::$google_fonts as $key => $font ) {
214
- if ( isset( $font['category'] ) ) {
215
- $grouped_google_fonts[ $font['category'] ][] = $font;
216
- }
217
- }
218
-
219
- foreach ( $grouped_google_fonts as $group_name => $group ) {
220
- echo '<optgroup label="' . esc_attr__( 'Google fonts', 'customify' ) . ' ' . $group_name . '">';
221
- foreach ( $group as $key => $font ) {
222
- self::output_font_option( $key, $font_family, $font );
223
- }
224
- echo "</optgroup>";
225
- }
226
-
227
- } else {
228
- echo '<optgroup label="' . esc_attr__( 'Google fonts', 'customify' ) . '">';
229
- foreach ( self::$google_fonts as $key => $font ) {
230
- self::output_font_option( $key, $font_family, $font );
231
- }
232
- echo "</optgroup>";
233
- }
234
- } ?>
235
- </select>
236
- </label>
237
- <ul class="options">
238
- <?php
239
- $display = 'none';
240
-
241
- if ( ! $this->load_all_weights && $this->font_weight ) {
242
- $display = 'inline-block';
243
- } ?>
244
- <li class="customify_weights_wrapper" style="display: <?php echo $display; ?>">
245
- <select class="customify_typography_font_weight">
246
- <?php
247
- $selected = array();
248
- if ( isset( $current_value->selected_variants ) ) {
249
- $selected = (array) $current_value->selected_variants;
250
- }
251
-
252
- if ( isset( $current_value->variants ) && ! empty( $current_value->variants ) && is_array( $current_value->variants ) ) {
253
- foreach ( $current_value->variants as $weight ) {
254
- $attrs = '';
255
- if ( in_array( $weight, $selected ) ) {
256
- $attrs = ' selected="selected"';
257
- }
258
-
259
- echo '<option value="' . esc_attr( $weight ) . '" ' . $attrs . '> ' . $weight . '</option>';
260
- }
261
- } ?>
262
- </select>
263
- </li>
264
- <?php
265
- $display = 'none';
266
- if ( $this->subsets && ! empty( $current_value->subsets ) ) {
267
- $display = 'inline-block';
268
- }?>
269
- <li class="customify_subsets_wrapper" style="display: <?php echo $display; ?>">
270
- <select multiple class="customify_typography_font_subsets">
271
- <?php
272
- $selected = array();
273
- if ( isset( $current_value->selected_subsets ) ) {
274
- $selected = $current_value->selected_subsets;
275
- }
276
-
277
- if ( isset( $current_value->subsets ) && ! empty( $current_value->subsets ) && is_array( $current_value->variants ) ) {
278
- foreach ( $current_value->subsets as $key => $subset ) {
279
- $attrs = '';
280
- if ( in_array( $subset, (array) $selected ) ) {
281
- $attrs .= ' selected="selected"';
282
- }
283
-
284
- echo '<option value="' . esc_attr( $subset ) . '" ' . $attrs . '> ' . $subset . '</option>';
285
- }
286
- } ?>
287
- </select>
288
- </li>
289
- <?php ?>
290
- </ul>
291
- <?php if ( ! empty( $this->description ) ) : ?>
292
- <span class="description customize-control-description"><?php echo $this->description; ?></span>
293
- <?php endif; ?>
294
- <?php }
295
-
296
- /**
297
- * This method displays an <option> tag from the given params
298
- *
299
- * @param string $key
300
- * @param string $active_font_family
301
- * @param string|array $font
302
- * @param string string $type
303
- */
304
- public static function output_font_option( $key, $active_font_family, $font, $type = 'google' ) {
305
- //initialize data attributes
306
- $data = '';
307
-
308
- $data .= ' data-type="' . esc_attr( $type ) . '"';
309
-
310
- //we will handle Google Fonts separately
311
- if ( $type === 'google' ) {
312
- // Handle the font variants markup, if available
313
- if ( isset( $font['variants'] ) && ! empty( $font['variants'] ) ) {
314
- $data .= ' data-variants="' . PixCustomifyPlugin::encodeURIComponent( json_encode( (object) $font['variants'] ) ) . '"';
315
- }
316
-
317
- if ( isset( $font['subsets'] ) && ! empty( $font['subsets'] ) ) {
318
- $data .= ' data-subsets="' . PixCustomifyPlugin::encodeURIComponent( json_encode( (object) $font['subsets'] ) ) . '"';
319
- }
320
-
321
- //determine if it's selected
322
- $selected = ( $active_font_family === $font['family'] ) ? ' selected="selected" ' : '';
323
-
324
- //output the markup
325
- echo '<option value="' . $font['family'] . '"' . $selected . $data . '>' . $font['family'] . '</option>';
326
- } elseif ( $type === 'typekit' ) {
327
- //we will handle TypeKit Fonts separately
328
- $selected = ( $active_font_family === $key ) ? ' selected="selected" ' : '';
329
-
330
- echo '<option class="typekit_font" value="' . $key . '" ' . $selected . $data . '>' . $font['name'] . '</option>';
331
- } else {
332
- // Handle the font variants markup, if available
333
- if ( is_array( $font ) && isset( $font['variants'] ) && ! empty( $font['variants'] ) ) {
334
- $data .= ' data-variants="' . PixCustomifyPlugin::encodeURIComponent( json_encode( (object) $font['variants'] ) ) . '"';
335
- }
336
-
337
- // by default, we assume we only get a font family string
338
- $font_family = $font;
339
- // when we get an array we expect to get a font_family entry
340
- if ( is_array( $font ) && isset( $font['font_family'] ) ) {
341
- $font_family = $font['font_family'];
342
- }
343
-
344
- //determine if it's selected
345
- $selected = ( $active_font_family === $font_family ) ? ' selected="selected" ' : '';
346
-
347
- //now determine if we have a "pretty" display for this font family
348
- $font_family_display = $font_family;
349
- if ( is_array( $font ) && isset( $font['font_family_display'] ) ) {
350
- $font_family_display = $font['font_family_display'];
351
- }
352
-
353
- //determine the option class
354
- if ( empty( $type ) ) {
355
- $type = 'std';
356
- }
357
- $option_class = $type . '_font';
358
-
359
- //output the markup
360
- echo '<option class="' . esc_attr( $option_class ) . '" value="' . esc_attr( $font_family ) . '" ' . $selected . $data . '>' . $font_family_display . '</option>';
361
- }
362
- }
363
-
364
- /**
365
- * Load the google fonts list from the local file
366
- * @return bool|mixed|null
367
- */
368
- protected function load_google_fonts() {
369
-
370
- $fonts_path = plugin_dir_path( __FILE__ ) . 'resources/google.fonts.php';
371
-
372
- if ( file_exists( $fonts_path ) ) {
373
- self::$google_fonts = require( $fonts_path );
374
- }
375
-
376
- if ( ! empty( self::$google_fonts ) ) {
377
- return apply_filters( 'customify_filter_google_fonts_list', self::$google_fonts );
378
- }
379
-
380
- return false;
381
- }
382
-
383
- /**
384
- * This method is used only to update the google fonts json file
385
- */
386
- protected function generate_google_fonts_json() {
387
-
388
- $fonts_path = plugin_dir_path( __FILE__ ) . 'resources/google.fonts.php';
389
-
390
- $new_array = array();
391
- foreach ( self::$google_fonts as $key => $font ) {
392
- // unset unused data
393
- unset( $font['kind'] );
394
- unset( $font['version'] );
395
- unset( $font['lastModified'] );
396
- unset( $font['files'] );
397
- $new_array[ $font['family'] ] = $font;
398
- }
399
-
400
- file_put_contents( plugin_dir_path( __FILE__ ) . 'resources/google.fonts.json', json_encode( $new_array ) );
401
- }
402
-
403
- function get_default_values( ) {
404
-
405
- $to_return = array();
406
- if (isset( $this->default ) && is_array( $this->default ) ) {
407
-
408
- //Handle special logic for when the $value array is not an associative array
409
- if ( ! PixCustomifyPlugin()->is_assoc( $this->default ) ) {
410
-
411
- //Let's determine some type of font
412
- if ( ! isset( $this->default[2] ) || ( isset( $this->default[2] ) && 'google' == $this->default[2] ) ) {
413
- if ( isset( self::$google_fonts[ $this->default[0] ] ) ) {
414
- $to_return = self::$google_fonts[ $this->default[0] ];
415
- $to_return['font_family'] = $this->default[0];
416
- $to_return['type'] = 'google';
417
- }
418
- } else {
419
- $to_return['type'] = $this->default[2];
420
- }
421
-
422
- //The first entry is the font-family
423
- if ( isset( $this->default[0] ) ) {
424
- $to_return['font_family'] = $this->default[0];
425
- }
426
-
427
- //In case we don't have an associative array
428
- //The second entry is the variants
429
- if ( isset( $this->default[1] ) ) {
430
- $to_return['selected_variants'] = $this->default[1];
431
- }
432
- } else {
433
-
434
- if ( isset( $this->default['font_family'] ) ) {
435
- $to_return['font_family'] = $this->default['font_family'];
436
- }
437
-
438
- if ( isset( $this->default['selected_variants'] ) ) {
439
- $to_return['selected_variants'] = $this->default['selected_variants'];
440
- }
441
- }
442
- }
443
-
444
- // rare case when there is a standard font we need to get the custom variants if there are some
445
- if ( ! isset( $to_return['variants'] ) && isset( $to_return['font_family'] ) && isset( self::$std_fonts[ $to_return['font_family'] ] ) && isset( self::$std_fonts[ $to_return['font_family'] ]['variants'] ) ) {
446
- $to_return['variants'] = self::$std_fonts[ $to_return['font_family'] ]['variants'];
447
- }
448
-
449
- return $to_return;
450
- }
451
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
features/customizer/controls/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden
features/customizer/controls/resources/google.fonts.json DELETED
@@ -1 +0,0 @@
1
- {"ABeeZee":{"family":"ABeeZee","category":"sans-serif","variants":["regular","italic"],"subsets":["latin"]},"Abel":{"family":"Abel","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Abhaya Libre":{"family":"Abhaya Libre","category":"serif","variants":["regular","500","600","700","800"],"subsets":["latin-ext","latin","sinhala"]},"Abril Fatface":{"family":"Abril Fatface","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Aclonica":{"family":"Aclonica","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Acme":{"family":"Acme","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Actor":{"family":"Actor","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Adamina":{"family":"Adamina","category":"serif","variants":["regular"],"subsets":["latin"]},"Advent Pro":{"family":"Advent Pro","category":"sans-serif","variants":["100","200","300","regular","500","600","700"],"subsets":["latin-ext","greek","latin"]},"Aguafina Script":{"family":"Aguafina Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Akronim":{"family":"Akronim","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Aladin":{"family":"Aladin","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Aldrich":{"family":"Aldrich","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Alef":{"family":"Alef","category":"sans-serif","variants":["regular","700"],"subsets":["hebrew","latin"]},"Alegreya":{"family":"Alegreya","category":"serif","variants":["regular","italic","500","500italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Alegreya SC":{"family":"Alegreya SC","category":"serif","variants":["regular","italic","500","500italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Alegreya Sans":{"family":"Alegreya Sans","category":"sans-serif","variants":["100","100italic","300","300italic","regular","italic","500","500italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Alegreya Sans SC":{"family":"Alegreya Sans SC","category":"sans-serif","variants":["100","100italic","300","300italic","regular","italic","500","500italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Aleo":{"family":"Aleo","category":"serif","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Alex Brush":{"family":"Alex Brush","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Alfa Slab One":{"family":"Alfa Slab One","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Alice":{"family":"Alice","category":"serif","variants":["regular"],"subsets":["cyrillic","cyrillic-ext","latin"]},"Alike":{"family":"Alike","category":"serif","variants":["regular"],"subsets":["latin"]},"Alike Angular":{"family":"Alike Angular","category":"serif","variants":["regular"],"subsets":["latin"]},"Allan":{"family":"Allan","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Allerta":{"family":"Allerta","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Allerta Stencil":{"family":"Allerta Stencil","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Allura":{"family":"Allura","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Almarai":{"family":"Almarai","category":"sans-serif","variants":["300","regular","700","800"],"subsets":["arabic"]},"Almendra":{"family":"Almendra","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Almendra Display":{"family":"Almendra Display","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Almendra SC":{"family":"Almendra SC","category":"serif","variants":["regular"],"subsets":["latin"]},"Amarante":{"family":"Amarante","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Amaranth":{"family":"Amaranth","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Amatic SC":{"family":"Amatic SC","category":"handwriting","variants":["regular","700"],"subsets":["cyrillic","vietnamese","hebrew","latin-ext","latin"]},"Amethysta":{"family":"Amethysta","category":"serif","variants":["regular"],"subsets":["latin"]},"Amiko":{"family":"Amiko","category":"sans-serif","variants":["regular","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Amiri":{"family":"Amiri","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["arabic","latin-ext","latin"]},"Amita":{"family":"Amita","category":"handwriting","variants":["regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Anaheim":{"family":"Anaheim","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Andada":{"family":"Andada","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Andika":{"family":"Andika","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Angkor":{"family":"Angkor","category":"display","variants":["regular"],"subsets":["khmer"]},"Annie Use Your Telescope":{"family":"Annie Use Your Telescope","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Anonymous Pro":{"family":"Anonymous Pro","category":"monospace","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","latin-ext","greek","latin"]},"Antic":{"family":"Antic","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Antic Didone":{"family":"Antic Didone","category":"serif","variants":["regular"],"subsets":["latin"]},"Antic Slab":{"family":"Antic Slab","category":"serif","variants":["regular"],"subsets":["latin"]},"Anton":{"family":"Anton","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Arapey":{"family":"Arapey","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"Arbutus":{"family":"Arbutus","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Arbutus Slab":{"family":"Arbutus Slab","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Architects Daughter":{"family":"Architects Daughter","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Archivo":{"family":"Archivo","category":"sans-serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Archivo Black":{"family":"Archivo Black","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Archivo Narrow":{"family":"Archivo Narrow","category":"sans-serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Aref Ruqaa":{"family":"Aref Ruqaa","category":"serif","variants":["regular","700"],"subsets":["arabic","latin"]},"Arima Madurai":{"family":"Arima Madurai","category":"display","variants":["100","200","300","regular","500","700","800","900"],"subsets":["vietnamese","tamil","latin-ext","latin"]},"Arimo":{"family":"Arimo","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","greek-ext","hebrew","latin-ext","cyrillic-ext","greek","latin"]},"Arizonia":{"family":"Arizonia","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Armata":{"family":"Armata","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Arsenal":{"family":"Arsenal","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Artifika":{"family":"Artifika","category":"serif","variants":["regular"],"subsets":["latin"]},"Arvo":{"family":"Arvo","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Arya":{"family":"Arya","category":"sans-serif","variants":["regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Asap":{"family":"Asap","category":"sans-serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Asap Condensed":{"family":"Asap Condensed","category":"sans-serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Asar":{"family":"Asar","category":"serif","variants":["regular"],"subsets":["devanagari","latin-ext","latin"]},"Asset":{"family":"Asset","category":"display","variants":["regular"],"subsets":["latin"]},"Assistant":{"family":"Assistant","category":"sans-serif","variants":["200","300","regular","600","700","800"],"subsets":["hebrew","latin"]},"Astloch":{"family":"Astloch","category":"display","variants":["regular","700"],"subsets":["latin"]},"Asul":{"family":"Asul","category":"sans-serif","variants":["regular","700"],"subsets":["latin"]},"Athiti":{"family":"Athiti","category":"sans-serif","variants":["200","300","regular","500","600","700"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Atma":{"family":"Atma","category":"display","variants":["300","regular","500","600","700"],"subsets":["bengali","latin-ext","latin"]},"Atomic Age":{"family":"Atomic Age","category":"display","variants":["regular"],"subsets":["latin"]},"Aubrey":{"family":"Aubrey","category":"display","variants":["regular"],"subsets":["latin"]},"Audiowide":{"family":"Audiowide","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Autour One":{"family":"Autour One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Average":{"family":"Average","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Average Sans":{"family":"Average Sans","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Averia Gruesa Libre":{"family":"Averia Gruesa Libre","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Averia Libre":{"family":"Averia Libre","category":"display","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["latin"]},"Averia Sans Libre":{"family":"Averia Sans Libre","category":"display","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["latin"]},"Averia Serif Libre":{"family":"Averia Serif Libre","category":"display","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["latin"]},"B612":{"family":"B612","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"B612 Mono":{"family":"B612 Mono","category":"monospace","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Bad Script":{"family":"Bad Script","category":"handwriting","variants":["regular"],"subsets":["cyrillic","latin"]},"Bahiana":{"family":"Bahiana","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Bahianita":{"family":"Bahianita","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Bai Jamjuree":{"family":"Bai Jamjuree","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Baloo":{"family":"Baloo","category":"display","variants":["regular"],"subsets":["vietnamese","devanagari","latin-ext","latin"]},"Baloo Bhai":{"family":"Baloo Bhai","category":"display","variants":["regular"],"subsets":["vietnamese","gujarati","latin-ext","latin"]},"Baloo Bhaijaan":{"family":"Baloo Bhaijaan","category":"display","variants":["regular"],"subsets":["vietnamese","arabic","latin-ext","latin"]},"Baloo Bhaina":{"family":"Baloo Bhaina","category":"display","variants":["regular"],"subsets":["vietnamese","oriya","latin-ext","latin"]},"Baloo Chettan":{"family":"Baloo Chettan","category":"display","variants":["regular"],"subsets":["vietnamese","malayalam","latin-ext","latin"]},"Baloo Da":{"family":"Baloo Da","category":"display","variants":["regular"],"subsets":["vietnamese","bengali","latin-ext","latin"]},"Baloo Paaji":{"family":"Baloo Paaji","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin","gurmukhi"]},"Baloo Tamma":{"family":"Baloo Tamma","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","kannada","latin"]},"Baloo Tammudu":{"family":"Baloo Tammudu","category":"display","variants":["regular"],"subsets":["vietnamese","telugu","latin-ext","latin"]},"Baloo Thambi":{"family":"Baloo Thambi","category":"display","variants":["regular"],"subsets":["vietnamese","tamil","latin-ext","latin"]},"Balthazar":{"family":"Balthazar","category":"serif","variants":["regular"],"subsets":["latin"]},"Bangers":{"family":"Bangers","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Barlow":{"family":"Barlow","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Barlow Condensed":{"family":"Barlow Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Barlow Semi Condensed":{"family":"Barlow Semi Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Barriecito":{"family":"Barriecito","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Barrio":{"family":"Barrio","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Basic":{"family":"Basic","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Battambang":{"family":"Battambang","category":"display","variants":["regular","700"],"subsets":["khmer"]},"Baumans":{"family":"Baumans","category":"display","variants":["regular"],"subsets":["latin"]},"Bayon":{"family":"Bayon","category":"display","variants":["regular"],"subsets":["khmer"]},"Be Vietnam":{"family":"Be Vietnam","category":"sans-serif","variants":["100","100italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["vietnamese","latin-ext","latin"]},"Belgrano":{"family":"Belgrano","category":"serif","variants":["regular"],"subsets":["latin"]},"Bellefair":{"family":"Bellefair","category":"serif","variants":["regular"],"subsets":["hebrew","latin-ext","latin"]},"Belleza":{"family":"Belleza","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"BenchNine":{"family":"BenchNine","category":"sans-serif","variants":["300","regular","700"],"subsets":["latin-ext","latin"]},"Bentham":{"family":"Bentham","category":"serif","variants":["regular"],"subsets":["latin"]},"Berkshire Swash":{"family":"Berkshire Swash","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Beth Ellen":{"family":"Beth Ellen","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Bevan":{"family":"Bevan","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Big Shoulders Display":{"family":"Big Shoulders Display","category":"display","variants":["100","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Big Shoulders Text":{"family":"Big Shoulders Text","category":"display","variants":["100","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Bigelow Rules":{"family":"Bigelow Rules","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Bigshot One":{"family":"Bigshot One","category":"display","variants":["regular"],"subsets":["latin"]},"Bilbo":{"family":"Bilbo","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Bilbo Swash Caps":{"family":"Bilbo Swash Caps","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"BioRhyme":{"family":"BioRhyme","category":"serif","variants":["200","300","regular","700","800"],"subsets":["latin-ext","latin"]},"BioRhyme Expanded":{"family":"BioRhyme Expanded","category":"serif","variants":["200","300","regular","700","800"],"subsets":["latin-ext","latin"]},"Biryani":{"family":"Biryani","category":"sans-serif","variants":["200","300","regular","600","700","800","900"],"subsets":["devanagari","latin-ext","latin"]},"Bitter":{"family":"Bitter","category":"serif","variants":["regular","italic","700"],"subsets":["latin-ext","latin"]},"Black And White Picture":{"family":"Black And White Picture","category":"sans-serif","variants":["regular"],"subsets":["korean","latin"]},"Black Han Sans":{"family":"Black Han Sans","category":"sans-serif","variants":["regular"],"subsets":["korean","latin"]},"Black Ops One":{"family":"Black Ops One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Blinker":{"family":"Blinker","category":"sans-serif","variants":["100","200","300","regular","600","700","800","900"],"subsets":["latin-ext","latin"]},"Bokor":{"family":"Bokor","category":"display","variants":["regular"],"subsets":["khmer"]},"Bonbon":{"family":"Bonbon","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Boogaloo":{"family":"Boogaloo","category":"display","variants":["regular"],"subsets":["latin"]},"Bowlby One":{"family":"Bowlby One","category":"display","variants":["regular"],"subsets":["latin"]},"Bowlby One SC":{"family":"Bowlby One SC","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Brawler":{"family":"Brawler","category":"serif","variants":["regular"],"subsets":["latin"]},"Bree Serif":{"family":"Bree Serif","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Bubblegum Sans":{"family":"Bubblegum Sans","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Bubbler One":{"family":"Bubbler One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Buda":{"family":"Buda","category":"display","variants":["300"],"subsets":["latin"]},"Buenard":{"family":"Buenard","category":"serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Bungee":{"family":"Bungee","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Bungee Hairline":{"family":"Bungee Hairline","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Bungee Inline":{"family":"Bungee Inline","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Bungee Outline":{"family":"Bungee Outline","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Bungee Shade":{"family":"Bungee Shade","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Butcherman":{"family":"Butcherman","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Butterfly Kids":{"family":"Butterfly Kids","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Cabin":{"family":"Cabin","category":"sans-serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Cabin Condensed":{"family":"Cabin Condensed","category":"sans-serif","variants":["regular","500","600","700"],"subsets":["vietnamese","latin-ext","latin"]},"Cabin Sketch":{"family":"Cabin Sketch","category":"display","variants":["regular","700"],"subsets":["latin"]},"Caesar Dressing":{"family":"Caesar Dressing","category":"display","variants":["regular"],"subsets":["latin"]},"Cagliostro":{"family":"Cagliostro","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Cairo":{"family":"Cairo","category":"sans-serif","variants":["200","300","regular","600","700","900"],"subsets":["arabic","latin-ext","latin"]},"Calligraffitti":{"family":"Calligraffitti","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Cambay":{"family":"Cambay","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["devanagari","latin-ext","latin"]},"Cambo":{"family":"Cambo","category":"serif","variants":["regular"],"subsets":["latin"]},"Candal":{"family":"Candal","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Cantarell":{"family":"Cantarell","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Cantata One":{"family":"Cantata One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Cantora One":{"family":"Cantora One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Capriola":{"family":"Capriola","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Cardo":{"family":"Cardo","category":"serif","variants":["regular","italic","700"],"subsets":["greek-ext","latin-ext","greek","latin"]},"Carme":{"family":"Carme","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Carrois Gothic":{"family":"Carrois Gothic","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Carrois Gothic SC":{"family":"Carrois Gothic SC","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Carter One":{"family":"Carter One","category":"display","variants":["regular"],"subsets":["latin"]},"Catamaran":{"family":"Catamaran","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["tamil","latin-ext","latin"]},"Caudex":{"family":"Caudex","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["greek-ext","latin-ext","greek","latin"]},"Caveat":{"family":"Caveat","category":"handwriting","variants":["regular","700"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"Caveat Brush":{"family":"Caveat Brush","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Cedarville Cursive":{"family":"Cedarville Cursive","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Ceviche One":{"family":"Ceviche One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Chakra Petch":{"family":"Chakra Petch","category":"sans-serif","variants":["300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Changa":{"family":"Changa","category":"sans-serif","variants":["200","300","regular","500","600","700","800"],"subsets":["arabic","latin-ext","latin"]},"Changa One":{"family":"Changa One","category":"display","variants":["regular","italic"],"subsets":["latin"]},"Chango":{"family":"Chango","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Charm":{"family":"Charm","category":"handwriting","variants":["regular","700"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Charmonman":{"family":"Charmonman","category":"handwriting","variants":["regular","700"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Chathura":{"family":"Chathura","category":"sans-serif","variants":["100","300","regular","700","800"],"subsets":["telugu","latin"]},"Chau Philomene One":{"family":"Chau Philomene One","category":"sans-serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Chela One":{"family":"Chela One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Chelsea Market":{"family":"Chelsea Market","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Chenla":{"family":"Chenla","category":"display","variants":["regular"],"subsets":["khmer"]},"Cherry Cream Soda":{"family":"Cherry Cream Soda","category":"display","variants":["regular"],"subsets":["latin"]},"Cherry Swash":{"family":"Cherry Swash","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Chewy":{"family":"Chewy","category":"display","variants":["regular"],"subsets":["latin"]},"Chicle":{"family":"Chicle","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Chilanka":{"family":"Chilanka","category":"handwriting","variants":["regular"],"subsets":["malayalam","latin"]},"Chivo":{"family":"Chivo","category":"sans-serif","variants":["300","300italic","regular","italic","700","700italic","900","900italic"],"subsets":["latin-ext","latin"]},"Chonburi":{"family":"Chonburi","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Cinzel":{"family":"Cinzel","category":"serif","variants":["regular","700","900"],"subsets":["latin-ext","latin"]},"Cinzel Decorative":{"family":"Cinzel Decorative","category":"display","variants":["regular","700","900"],"subsets":["latin"]},"Clicker Script":{"family":"Clicker Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Coda":{"family":"Coda","category":"display","variants":["regular","800"],"subsets":["latin-ext","latin"]},"Coda Caption":{"family":"Coda Caption","category":"sans-serif","variants":["800"],"subsets":["latin-ext","latin"]},"Codystar":{"family":"Codystar","category":"display","variants":["300","regular"],"subsets":["latin-ext","latin"]},"Coiny":{"family":"Coiny","category":"display","variants":["regular"],"subsets":["vietnamese","tamil","latin-ext","latin"]},"Combo":{"family":"Combo","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Comfortaa":{"family":"Comfortaa","category":"display","variants":["300","regular","500","600","700"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","greek","latin"]},"Coming Soon":{"family":"Coming Soon","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Concert One":{"family":"Concert One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Condiment":{"family":"Condiment","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Content":{"family":"Content","category":"display","variants":["regular","700"],"subsets":["khmer"]},"Contrail One":{"family":"Contrail One","category":"display","variants":["regular"],"subsets":["latin"]},"Convergence":{"family":"Convergence","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Cookie":{"family":"Cookie","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Copse":{"family":"Copse","category":"serif","variants":["regular"],"subsets":["latin"]},"Corben":{"family":"Corben","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Cormorant":{"family":"Cormorant","category":"serif","variants":["300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Cormorant Garamond":{"family":"Cormorant Garamond","category":"serif","variants":["300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Cormorant Infant":{"family":"Cormorant Infant","category":"serif","variants":["300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Cormorant SC":{"family":"Cormorant SC","category":"serif","variants":["300","regular","500","600","700"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Cormorant Unicase":{"family":"Cormorant Unicase","category":"serif","variants":["300","regular","500","600","700"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Cormorant Upright":{"family":"Cormorant Upright","category":"serif","variants":["300","regular","500","600","700"],"subsets":["vietnamese","latin-ext","latin"]},"Courgette":{"family":"Courgette","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Cousine":{"family":"Cousine","category":"monospace","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","greek-ext","hebrew","latin-ext","cyrillic-ext","greek","latin"]},"Coustard":{"family":"Coustard","category":"serif","variants":["regular","900"],"subsets":["latin"]},"Covered By Your Grace":{"family":"Covered By Your Grace","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Crafty Girls":{"family":"Crafty Girls","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Creepster":{"family":"Creepster","category":"display","variants":["regular"],"subsets":["latin"]},"Crete Round":{"family":"Crete Round","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Crimson Pro":{"family":"Crimson Pro","category":"serif","variants":["200","300","regular","500","600","700","800","900","200italic","300italic","italic","500italic","600italic","700italic","800italic","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Crimson Text":{"family":"Crimson Text","category":"serif","variants":["regular","italic","600","600italic","700","700italic"],"subsets":["latin"]},"Croissant One":{"family":"Croissant One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Crushed":{"family":"Crushed","category":"display","variants":["regular"],"subsets":["latin"]},"Cuprum":{"family":"Cuprum","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Cute Font":{"family":"Cute Font","category":"display","variants":["regular"],"subsets":["korean","latin"]},"Cutive":{"family":"Cutive","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Cutive Mono":{"family":"Cutive Mono","category":"monospace","variants":["regular"],"subsets":["latin-ext","latin"]},"DM Sans":{"family":"DM Sans","category":"sans-serif","variants":["regular","italic","500","500italic","700","700italic"],"subsets":["latin-ext","latin"]},"DM Serif Display":{"family":"DM Serif Display","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"DM Serif Text":{"family":"DM Serif Text","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Damion":{"family":"Damion","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Dancing Script":{"family":"Dancing Script","category":"handwriting","variants":["regular","700"],"subsets":["vietnamese","latin-ext","latin"]},"Dangrek":{"family":"Dangrek","category":"display","variants":["regular"],"subsets":["khmer"]},"Darker Grotesque":{"family":"Darker Grotesque","category":"sans-serif","variants":["300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"David Libre":{"family":"David Libre","category":"serif","variants":["regular","500","700"],"subsets":["vietnamese","hebrew","latin-ext","latin"]},"Dawning of a New Day":{"family":"Dawning of a New Day","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Days One":{"family":"Days One","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Dekko":{"family":"Dekko","category":"handwriting","variants":["regular"],"subsets":["devanagari","latin-ext","latin"]},"Delius":{"family":"Delius","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Delius Swash Caps":{"family":"Delius Swash Caps","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Delius Unicase":{"family":"Delius Unicase","category":"handwriting","variants":["regular","700"],"subsets":["latin"]},"Della Respira":{"family":"Della Respira","category":"serif","variants":["regular"],"subsets":["latin"]},"Denk One":{"family":"Denk One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Devonshire":{"family":"Devonshire","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Dhurjati":{"family":"Dhurjati","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Didact Gothic":{"family":"Didact Gothic","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Diplomata":{"family":"Diplomata","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Diplomata SC":{"family":"Diplomata SC","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Do Hyeon":{"family":"Do Hyeon","category":"sans-serif","variants":["regular"],"subsets":["korean","latin"]},"Dokdo":{"family":"Dokdo","category":"handwriting","variants":["regular"],"subsets":["korean","latin"]},"Domine":{"family":"Domine","category":"serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Donegal One":{"family":"Donegal One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Doppio One":{"family":"Doppio One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Dorsa":{"family":"Dorsa","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Dosis":{"family":"Dosis","category":"sans-serif","variants":["200","300","regular","500","600","700","800"],"subsets":["vietnamese","latin-ext","latin"]},"Dr Sugiyama":{"family":"Dr Sugiyama","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Duru Sans":{"family":"Duru Sans","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Dynalight":{"family":"Dynalight","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"EB Garamond":{"family":"EB Garamond","category":"serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Eagle Lake":{"family":"Eagle Lake","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"East Sea Dokdo":{"family":"East Sea Dokdo","category":"handwriting","variants":["regular"],"subsets":["korean","latin"]},"Eater":{"family":"Eater","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Economica":{"family":"Economica","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Eczar":{"family":"Eczar","category":"serif","variants":["regular","500","600","700","800"],"subsets":["devanagari","latin-ext","latin"]},"El Messiri":{"family":"El Messiri","category":"sans-serif","variants":["regular","500","600","700"],"subsets":["cyrillic","arabic","latin"]},"Electrolize":{"family":"Electrolize","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Elsie":{"family":"Elsie","category":"display","variants":["regular","900"],"subsets":["latin-ext","latin"]},"Elsie Swash Caps":{"family":"Elsie Swash Caps","category":"display","variants":["regular","900"],"subsets":["latin-ext","latin"]},"Emblema One":{"family":"Emblema One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Emilys Candy":{"family":"Emilys Candy","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Encode Sans":{"family":"Encode Sans","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Encode Sans Condensed":{"family":"Encode Sans Condensed","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Encode Sans Expanded":{"family":"Encode Sans Expanded","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Encode Sans Semi Condensed":{"family":"Encode Sans Semi Condensed","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Encode Sans Semi Expanded":{"family":"Encode Sans Semi Expanded","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Engagement":{"family":"Engagement","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Englebert":{"family":"Englebert","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Enriqueta":{"family":"Enriqueta","category":"serif","variants":["regular","500","600","700"],"subsets":["latin-ext","latin"]},"Erica One":{"family":"Erica One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Esteban":{"family":"Esteban","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Euphoria Script":{"family":"Euphoria Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Ewert":{"family":"Ewert","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Exo":{"family":"Exo","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Exo 2":{"family":"Exo 2","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Expletus Sans":{"family":"Expletus Sans","category":"display","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin"]},"Fahkwang":{"family":"Fahkwang","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Fanwood Text":{"family":"Fanwood Text","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"Farro":{"family":"Farro","category":"sans-serif","variants":["300","regular","500","700"],"subsets":["latin-ext","latin"]},"Farsan":{"family":"Farsan","category":"display","variants":["regular"],"subsets":["vietnamese","gujarati","latin-ext","latin"]},"Fascinate":{"family":"Fascinate","category":"display","variants":["regular"],"subsets":["latin"]},"Fascinate Inline":{"family":"Fascinate Inline","category":"display","variants":["regular"],"subsets":["latin"]},"Faster One":{"family":"Faster One","category":"display","variants":["regular"],"subsets":["latin"]},"Fasthand":{"family":"Fasthand","category":"serif","variants":["regular"],"subsets":["khmer"]},"Fauna One":{"family":"Fauna One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Faustina":{"family":"Faustina","category":"serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Federant":{"family":"Federant","category":"display","variants":["regular"],"subsets":["latin"]},"Federo":{"family":"Federo","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Felipa":{"family":"Felipa","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Fenix":{"family":"Fenix","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Finger Paint":{"family":"Finger Paint","category":"display","variants":["regular"],"subsets":["latin"]},"Fira Code":{"family":"Fira Code","category":"monospace","variants":["300","regular","500","600","700"],"subsets":["cyrillic","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Fira Mono":{"family":"Fira Mono","category":"monospace","variants":["regular","500","700"],"subsets":["cyrillic","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Fira Sans":{"family":"Fira Sans","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Fira Sans Condensed":{"family":"Fira Sans Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Fira Sans Extra Condensed":{"family":"Fira Sans Extra Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Fjalla One":{"family":"Fjalla One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Fjord One":{"family":"Fjord One","category":"serif","variants":["regular"],"subsets":["latin"]},"Flamenco":{"family":"Flamenco","category":"display","variants":["300","regular"],"subsets":["latin"]},"Flavors":{"family":"Flavors","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Fondamento":{"family":"Fondamento","category":"handwriting","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Fontdiner Swanky":{"family":"Fontdiner Swanky","category":"display","variants":["regular"],"subsets":["latin"]},"Forum":{"family":"Forum","category":"display","variants":["regular"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"Francois One":{"family":"Francois One","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Frank Ruhl Libre":{"family":"Frank Ruhl Libre","category":"serif","variants":["300","regular","500","700","900"],"subsets":["hebrew","latin-ext","latin"]},"Freckle Face":{"family":"Freckle Face","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Fredericka the Great":{"family":"Fredericka the Great","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Fredoka One":{"family":"Fredoka One","category":"display","variants":["regular"],"subsets":["latin"]},"Freehand":{"family":"Freehand","category":"display","variants":["regular"],"subsets":["khmer"]},"Fresca":{"family":"Fresca","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Frijole":{"family":"Frijole","category":"display","variants":["regular"],"subsets":["latin"]},"Fruktur":{"family":"Fruktur","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Fugaz One":{"family":"Fugaz One","category":"display","variants":["regular"],"subsets":["latin"]},"GFS Didot":{"family":"GFS Didot","category":"serif","variants":["regular"],"subsets":["greek"]},"GFS Neohellenic":{"family":"GFS Neohellenic","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["greek"]},"Gabriela":{"family":"Gabriela","category":"serif","variants":["regular"],"subsets":["cyrillic","cyrillic-ext","latin"]},"Gaegu":{"family":"Gaegu","category":"handwriting","variants":["300","regular","700"],"subsets":["korean","latin"]},"Gafata":{"family":"Gafata","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Galada":{"family":"Galada","category":"display","variants":["regular"],"subsets":["bengali","latin"]},"Galdeano":{"family":"Galdeano","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Galindo":{"family":"Galindo","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Gamja Flower":{"family":"Gamja Flower","category":"handwriting","variants":["regular"],"subsets":["korean","latin"]},"Gayathri":{"family":"Gayathri","category":"sans-serif","variants":["100","regular","700"],"subsets":["malayalam","latin"]},"Gentium Basic":{"family":"Gentium Basic","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Gentium Book Basic":{"family":"Gentium Book Basic","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Geo":{"family":"Geo","category":"sans-serif","variants":["regular","italic"],"subsets":["latin"]},"Geostar":{"family":"Geostar","category":"display","variants":["regular"],"subsets":["latin"]},"Geostar Fill":{"family":"Geostar Fill","category":"display","variants":["regular"],"subsets":["latin"]},"Germania One":{"family":"Germania One","category":"display","variants":["regular"],"subsets":["latin"]},"Gidugu":{"family":"Gidugu","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Gilda Display":{"family":"Gilda Display","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Give You Glory":{"family":"Give You Glory","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Glass Antiqua":{"family":"Glass Antiqua","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Glegoo":{"family":"Glegoo","category":"serif","variants":["regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Gloria Hallelujah":{"family":"Gloria Hallelujah","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Goblin One":{"family":"Goblin One","category":"display","variants":["regular"],"subsets":["latin"]},"Gochi Hand":{"family":"Gochi Hand","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Gorditas":{"family":"Gorditas","category":"display","variants":["regular","700"],"subsets":["latin"]},"Gothic A1":{"family":"Gothic A1","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["korean","latin"]},"Goudy Bookletter 1911":{"family":"Goudy Bookletter 1911","category":"serif","variants":["regular"],"subsets":["latin"]},"Graduate":{"family":"Graduate","category":"display","variants":["regular"],"subsets":["latin"]},"Grand Hotel":{"family":"Grand Hotel","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Gravitas One":{"family":"Gravitas One","category":"display","variants":["regular"],"subsets":["latin"]},"Great Vibes":{"family":"Great Vibes","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Grenze":{"family":"Grenze","category":"serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Griffy":{"family":"Griffy","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Gruppo":{"family":"Gruppo","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Gudea":{"family":"Gudea","category":"sans-serif","variants":["regular","italic","700"],"subsets":["latin-ext","latin"]},"Gugi":{"family":"Gugi","category":"display","variants":["regular"],"subsets":["korean","latin"]},"Gurajada":{"family":"Gurajada","category":"serif","variants":["regular"],"subsets":["telugu","latin"]},"Habibi":{"family":"Habibi","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Halant":{"family":"Halant","category":"serif","variants":["300","regular","500","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Hammersmith One":{"family":"Hammersmith One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Hanalei":{"family":"Hanalei","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Hanalei Fill":{"family":"Hanalei Fill","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Handlee":{"family":"Handlee","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Hanuman":{"family":"Hanuman","category":"serif","variants":["regular","700"],"subsets":["khmer"]},"Happy Monkey":{"family":"Happy Monkey","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Harmattan":{"family":"Harmattan","category":"sans-serif","variants":["regular"],"subsets":["arabic","latin"]},"Headland One":{"family":"Headland One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Heebo":{"family":"Heebo","category":"sans-serif","variants":["100","300","regular","500","700","800","900"],"subsets":["hebrew","latin"]},"Henny Penny":{"family":"Henny Penny","category":"display","variants":["regular"],"subsets":["latin"]},"Hepta Slab":{"family":"Hepta Slab","category":"serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Herr Von Muellerhoff":{"family":"Herr Von Muellerhoff","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Hi Melody":{"family":"Hi Melody","category":"handwriting","variants":["regular"],"subsets":["korean","latin"]},"Hind":{"family":"Hind","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Hind Guntur":{"family":"Hind Guntur","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["telugu","latin-ext","latin"]},"Hind Madurai":{"family":"Hind Madurai","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["tamil","latin-ext","latin"]},"Hind Siliguri":{"family":"Hind Siliguri","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["bengali","latin-ext","latin"]},"Hind Vadodara":{"family":"Hind Vadodara","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["gujarati","latin-ext","latin"]},"Holtwood One SC":{"family":"Holtwood One SC","category":"serif","variants":["regular"],"subsets":["latin"]},"Homemade Apple":{"family":"Homemade Apple","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Homenaje":{"family":"Homenaje","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"IBM Plex Mono":{"family":"IBM Plex Mono","category":"monospace","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"IBM Plex Sans":{"family":"IBM Plex Sans","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","greek","latin"]},"IBM Plex Sans Condensed":{"family":"IBM Plex Sans Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"IBM Plex Serif":{"family":"IBM Plex Serif","category":"serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"IM Fell DW Pica":{"family":"IM Fell DW Pica","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"IM Fell DW Pica SC":{"family":"IM Fell DW Pica SC","category":"serif","variants":["regular"],"subsets":["latin"]},"IM Fell Double Pica":{"family":"IM Fell Double Pica","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"IM Fell Double Pica SC":{"family":"IM Fell Double Pica SC","category":"serif","variants":["regular"],"subsets":["latin"]},"IM Fell English":{"family":"IM Fell English","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"IM Fell English SC":{"family":"IM Fell English SC","category":"serif","variants":["regular"],"subsets":["latin"]},"IM Fell French Canon":{"family":"IM Fell French Canon","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"IM Fell French Canon SC":{"family":"IM Fell French Canon SC","category":"serif","variants":["regular"],"subsets":["latin"]},"IM Fell Great Primer":{"family":"IM Fell Great Primer","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"IM Fell Great Primer SC":{"family":"IM Fell Great Primer SC","category":"serif","variants":["regular"],"subsets":["latin"]},"Iceberg":{"family":"Iceberg","category":"display","variants":["regular"],"subsets":["latin"]},"Iceland":{"family":"Iceland","category":"display","variants":["regular"],"subsets":["latin"]},"Imprima":{"family":"Imprima","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Inconsolata":{"family":"Inconsolata","category":"monospace","variants":["regular","700"],"subsets":["vietnamese","latin-ext","latin"]},"Inder":{"family":"Inder","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Indie Flower":{"family":"Indie Flower","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Inika":{"family":"Inika","category":"serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Inknut Antiqua":{"family":"Inknut Antiqua","category":"serif","variants":["300","regular","500","600","700","800","900"],"subsets":["devanagari","latin-ext","latin"]},"Irish Grover":{"family":"Irish Grover","category":"display","variants":["regular"],"subsets":["latin"]},"Istok Web":{"family":"Istok Web","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"Italiana":{"family":"Italiana","category":"serif","variants":["regular"],"subsets":["latin"]},"Italianno":{"family":"Italianno","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Itim":{"family":"Itim","category":"handwriting","variants":["regular"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Jacques Francois":{"family":"Jacques Francois","category":"serif","variants":["regular"],"subsets":["latin"]},"Jacques Francois Shadow":{"family":"Jacques Francois Shadow","category":"display","variants":["regular"],"subsets":["latin"]},"Jaldi":{"family":"Jaldi","category":"sans-serif","variants":["regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Jim Nightshade":{"family":"Jim Nightshade","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Jockey One":{"family":"Jockey One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Jolly Lodger":{"family":"Jolly Lodger","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Jomhuria":{"family":"Jomhuria","category":"display","variants":["regular"],"subsets":["arabic","latin-ext","latin"]},"Jomolhari":{"family":"Jomolhari","category":"serif","variants":["regular"],"subsets":["tibetan","latin"]},"Josefin Sans":{"family":"Josefin Sans","category":"sans-serif","variants":["100","100italic","300","300italic","regular","italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Josefin Slab":{"family":"Josefin Slab","category":"serif","variants":["100","100italic","300","300italic","regular","italic","600","600italic","700","700italic"],"subsets":["latin"]},"Joti One":{"family":"Joti One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Jua":{"family":"Jua","category":"sans-serif","variants":["regular"],"subsets":["korean","latin"]},"Judson":{"family":"Judson","category":"serif","variants":["regular","italic","700"],"subsets":["vietnamese","latin-ext","latin"]},"Julee":{"family":"Julee","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Julius Sans One":{"family":"Julius Sans One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Junge":{"family":"Junge","category":"serif","variants":["regular"],"subsets":["latin"]},"Jura":{"family":"Jura","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Just Another Hand":{"family":"Just Another Hand","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Just Me Again Down Here":{"family":"Just Me Again Down Here","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"K2D":{"family":"K2D","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Kadwa":{"family":"Kadwa","category":"serif","variants":["regular","700"],"subsets":["devanagari","latin"]},"Kalam":{"family":"Kalam","category":"handwriting","variants":["300","regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Kameron":{"family":"Kameron","category":"serif","variants":["regular","700"],"subsets":["latin"]},"Kanit":{"family":"Kanit","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Kantumruy":{"family":"Kantumruy","category":"sans-serif","variants":["300","regular","700"],"subsets":["khmer"]},"Karla":{"family":"Karla","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Karma":{"family":"Karma","category":"serif","variants":["300","regular","500","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Katibeh":{"family":"Katibeh","category":"display","variants":["regular"],"subsets":["arabic","latin-ext","latin"]},"Kaushan Script":{"family":"Kaushan Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Kavivanar":{"family":"Kavivanar","category":"handwriting","variants":["regular"],"subsets":["tamil","latin-ext","latin"]},"Kavoon":{"family":"Kavoon","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Kdam Thmor":{"family":"Kdam Thmor","category":"display","variants":["regular"],"subsets":["khmer"]},"Keania One":{"family":"Keania One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Kelly Slab":{"family":"Kelly Slab","category":"display","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Kenia":{"family":"Kenia","category":"display","variants":["regular"],"subsets":["latin"]},"Khand":{"family":"Khand","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Khmer":{"family":"Khmer","category":"display","variants":["regular"],"subsets":["khmer"]},"Khula":{"family":"Khula","category":"sans-serif","variants":["300","regular","600","700","800"],"subsets":["devanagari","latin-ext","latin"]},"Kirang Haerang":{"family":"Kirang Haerang","category":"display","variants":["regular"],"subsets":["korean","latin"]},"Kite One":{"family":"Kite One","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Knewave":{"family":"Knewave","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"KoHo":{"family":"KoHo","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Kodchasan":{"family":"Kodchasan","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Kosugi":{"family":"Kosugi","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","latin","japanese"]},"Kosugi Maru":{"family":"Kosugi Maru","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","latin","japanese"]},"Kotta One":{"family":"Kotta One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Koulen":{"family":"Koulen","category":"display","variants":["regular"],"subsets":["khmer"]},"Kranky":{"family":"Kranky","category":"display","variants":["regular"],"subsets":["latin"]},"Kreon":{"family":"Kreon","category":"serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin"]},"Kristi":{"family":"Kristi","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Krona One":{"family":"Krona One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Krub":{"family":"Krub","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Kumar One":{"family":"Kumar One","category":"display","variants":["regular"],"subsets":["gujarati","latin-ext","latin"]},"Kumar One Outline":{"family":"Kumar One Outline","category":"display","variants":["regular"],"subsets":["gujarati","latin-ext","latin"]},"Kurale":{"family":"Kurale","category":"serif","variants":["regular"],"subsets":["cyrillic","devanagari","latin-ext","cyrillic-ext","latin"]},"La Belle Aurore":{"family":"La Belle Aurore","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Lacquer":{"family":"Lacquer","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Laila":{"family":"Laila","category":"serif","variants":["300","regular","500","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Lakki Reddy":{"family":"Lakki Reddy","category":"handwriting","variants":["regular"],"subsets":["telugu","latin"]},"Lalezar":{"family":"Lalezar","category":"display","variants":["regular"],"subsets":["vietnamese","arabic","latin-ext","latin"]},"Lancelot":{"family":"Lancelot","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Lateef":{"family":"Lateef","category":"handwriting","variants":["regular"],"subsets":["arabic","latin"]},"Lato":{"family":"Lato","category":"sans-serif","variants":["100","100italic","300","300italic","regular","italic","700","700italic","900","900italic"],"subsets":["latin-ext","latin"]},"League Script":{"family":"League Script","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Leckerli One":{"family":"Leckerli One","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Ledger":{"family":"Ledger","category":"serif","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Lekton":{"family":"Lekton","category":"sans-serif","variants":["regular","italic","700"],"subsets":["latin-ext","latin"]},"Lemon":{"family":"Lemon","category":"display","variants":["regular"],"subsets":["latin"]},"Lemonada":{"family":"Lemonada","category":"display","variants":["300","regular","600","700"],"subsets":["vietnamese","arabic","latin-ext","latin"]},"Lexend Deca":{"family":"Lexend Deca","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Lexend Exa":{"family":"Lexend Exa","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Lexend Giga":{"family":"Lexend Giga","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Lexend Mega":{"family":"Lexend Mega","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Lexend Peta":{"family":"Lexend Peta","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Lexend Tera":{"family":"Lexend Tera","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Lexend Zetta":{"family":"Lexend Zetta","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Libre Barcode 128":{"family":"Libre Barcode 128","category":"display","variants":["regular"],"subsets":["latin"]},"Libre Barcode 128 Text":{"family":"Libre Barcode 128 Text","category":"display","variants":["regular"],"subsets":["latin"]},"Libre Barcode 39":{"family":"Libre Barcode 39","category":"display","variants":["regular"],"subsets":["latin"]},"Libre Barcode 39 Extended":{"family":"Libre Barcode 39 Extended","category":"display","variants":["regular"],"subsets":["latin"]},"Libre Barcode 39 Extended Text":{"family":"Libre Barcode 39 Extended Text","category":"display","variants":["regular"],"subsets":["latin"]},"Libre Barcode 39 Text":{"family":"Libre Barcode 39 Text","category":"display","variants":["regular"],"subsets":["latin"]},"Libre Baskerville":{"family":"Libre Baskerville","category":"serif","variants":["regular","italic","700"],"subsets":["latin-ext","latin"]},"Libre Caslon Display":{"family":"Libre Caslon Display","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Libre Caslon Text":{"family":"Libre Caslon Text","category":"serif","variants":["regular","italic","700"],"subsets":["latin-ext","latin"]},"Libre Franklin":{"family":"Libre Franklin","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin"]},"Life Savers":{"family":"Life Savers","category":"display","variants":["regular","700","800"],"subsets":["latin-ext","latin"]},"Lilita One":{"family":"Lilita One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Lily Script One":{"family":"Lily Script One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Limelight":{"family":"Limelight","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Linden Hill":{"family":"Linden Hill","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"Literata":{"family":"Literata","category":"serif","variants":["regular","500","600","700","italic","500italic","600italic","700italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","greek","latin"]},"Liu Jian Mao Cao":{"family":"Liu Jian Mao Cao","category":"handwriting","variants":["regular"],"subsets":["chinese-simplified","latin"]},"Livvic":{"family":"Livvic","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","900","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Lobster":{"family":"Lobster","category":"display","variants":["regular"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Lobster Two":{"family":"Lobster Two","category":"display","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Londrina Outline":{"family":"Londrina Outline","category":"display","variants":["regular"],"subsets":["latin"]},"Londrina Shadow":{"family":"Londrina Shadow","category":"display","variants":["regular"],"subsets":["latin"]},"Londrina Sketch":{"family":"Londrina Sketch","category":"display","variants":["regular"],"subsets":["latin"]},"Londrina Solid":{"family":"Londrina Solid","category":"display","variants":["100","300","regular","900"],"subsets":["latin"]},"Long Cang":{"family":"Long Cang","category":"handwriting","variants":["regular"],"subsets":["chinese-simplified","latin"]},"Lora":{"family":"Lora","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Love Ya Like A Sister":{"family":"Love Ya Like A Sister","category":"display","variants":["regular"],"subsets":["latin"]},"Loved by the King":{"family":"Loved by the King","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Lovers Quarrel":{"family":"Lovers Quarrel","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Luckiest Guy":{"family":"Luckiest Guy","category":"display","variants":["regular"],"subsets":["latin"]},"Lusitana":{"family":"Lusitana","category":"serif","variants":["regular","700"],"subsets":["latin"]},"Lustria":{"family":"Lustria","category":"serif","variants":["regular"],"subsets":["latin"]},"M PLUS 1p":{"family":"M PLUS 1p","category":"sans-serif","variants":["100","300","regular","500","700","800","900"],"subsets":["cyrillic","vietnamese","greek-ext","hebrew","latin-ext","cyrillic-ext","greek","latin","japanese"]},"M PLUS Rounded 1c":{"family":"M PLUS Rounded 1c","category":"sans-serif","variants":["100","300","regular","500","700","800","900"],"subsets":["cyrillic","vietnamese","greek-ext","hebrew","latin-ext","cyrillic-ext","greek","latin","japanese"]},"Ma Shan Zheng":{"family":"Ma Shan Zheng","category":"handwriting","variants":["regular"],"subsets":["chinese-simplified","latin"]},"Macondo":{"family":"Macondo","category":"display","variants":["regular"],"subsets":["latin"]},"Macondo Swash Caps":{"family":"Macondo Swash Caps","category":"display","variants":["regular"],"subsets":["latin"]},"Mada":{"family":"Mada","category":"sans-serif","variants":["200","300","regular","500","600","700","900"],"subsets":["arabic","latin"]},"Magra":{"family":"Magra","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Maiden Orange":{"family":"Maiden Orange","category":"display","variants":["regular"],"subsets":["latin"]},"Maitree":{"family":"Maitree","category":"serif","variants":["200","300","regular","500","600","700"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Major Mono Display":{"family":"Major Mono Display","category":"monospace","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Mako":{"family":"Mako","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Mali":{"family":"Mali","category":"handwriting","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Mallanna":{"family":"Mallanna","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Mandali":{"family":"Mandali","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Manjari":{"family":"Manjari","category":"sans-serif","variants":["100","regular","700"],"subsets":["malayalam","latin"]},"Mansalva":{"family":"Mansalva","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Manuale":{"family":"Manuale","category":"serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Marcellus":{"family":"Marcellus","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Marcellus SC":{"family":"Marcellus SC","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Marck Script":{"family":"Marck Script","category":"handwriting","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Margarine":{"family":"Margarine","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Markazi Text":{"family":"Markazi Text","category":"serif","variants":["regular","500","600","700"],"subsets":["vietnamese","arabic","latin-ext","latin"]},"Marko One":{"family":"Marko One","category":"serif","variants":["regular"],"subsets":["latin"]},"Marmelad":{"family":"Marmelad","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Martel":{"family":"Martel","category":"serif","variants":["200","300","regular","600","700","800","900"],"subsets":["devanagari","latin-ext","latin"]},"Martel Sans":{"family":"Martel Sans","category":"sans-serif","variants":["200","300","regular","600","700","800","900"],"subsets":["devanagari","latin-ext","latin"]},"Marvel":{"family":"Marvel","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Mate":{"family":"Mate","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"Mate SC":{"family":"Mate SC","category":"serif","variants":["regular"],"subsets":["latin"]},"Maven Pro":{"family":"Maven Pro","category":"sans-serif","variants":["regular","500","700","900"],"subsets":["vietnamese","latin-ext","latin"]},"McLaren":{"family":"McLaren","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Meddon":{"family":"Meddon","category":"handwriting","variants":["regular"],"subsets":["latin"]},"MedievalSharp":{"family":"MedievalSharp","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Medula One":{"family":"Medula One","category":"display","variants":["regular"],"subsets":["latin"]},"Meera Inimai":{"family":"Meera Inimai","category":"sans-serif","variants":["regular"],"subsets":["tamil","latin"]},"Megrim":{"family":"Megrim","category":"display","variants":["regular"],"subsets":["latin"]},"Meie Script":{"family":"Meie Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Merienda":{"family":"Merienda","category":"handwriting","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Merienda One":{"family":"Merienda One","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Merriweather":{"family":"Merriweather","category":"serif","variants":["300","300italic","regular","italic","700","700italic","900","900italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Merriweather Sans":{"family":"Merriweather Sans","category":"sans-serif","variants":["300","300italic","regular","italic","700","700italic","800","800italic"],"subsets":["latin-ext","latin"]},"Metal":{"family":"Metal","category":"display","variants":["regular"],"subsets":["khmer"]},"Metal Mania":{"family":"Metal Mania","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Metamorphous":{"family":"Metamorphous","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Metrophobic":{"family":"Metrophobic","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Michroma":{"family":"Michroma","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Milonga":{"family":"Milonga","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Miltonian":{"family":"Miltonian","category":"display","variants":["regular"],"subsets":["latin"]},"Miltonian Tattoo":{"family":"Miltonian Tattoo","category":"display","variants":["regular"],"subsets":["latin"]},"Mina":{"family":"Mina","category":"sans-serif","variants":["regular","700"],"subsets":["bengali","latin-ext","latin"]},"Miniver":{"family":"Miniver","category":"display","variants":["regular"],"subsets":["latin"]},"Miriam Libre":{"family":"Miriam Libre","category":"sans-serif","variants":["regular","700"],"subsets":["hebrew","latin-ext","latin"]},"Mirza":{"family":"Mirza","category":"display","variants":["regular","500","600","700"],"subsets":["arabic","latin-ext","latin"]},"Miss Fajardose":{"family":"Miss Fajardose","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Mitr":{"family":"Mitr","category":"sans-serif","variants":["200","300","regular","500","600","700"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Modak":{"family":"Modak","category":"display","variants":["regular"],"subsets":["devanagari","latin-ext","latin"]},"Modern Antiqua":{"family":"Modern Antiqua","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Mogra":{"family":"Mogra","category":"display","variants":["regular"],"subsets":["gujarati","latin-ext","latin"]},"Molengo":{"family":"Molengo","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Molle":{"family":"Molle","category":"handwriting","variants":["italic"],"subsets":["latin-ext","latin"]},"Monda":{"family":"Monda","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Monofett":{"family":"Monofett","category":"display","variants":["regular"],"subsets":["latin"]},"Monoton":{"family":"Monoton","category":"display","variants":["regular"],"subsets":["latin"]},"Monsieur La Doulaise":{"family":"Monsieur La Doulaise","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Montaga":{"family":"Montaga","category":"serif","variants":["regular"],"subsets":["latin"]},"Montez":{"family":"Montez","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Montserrat":{"family":"Montserrat","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Montserrat Alternates":{"family":"Montserrat Alternates","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Montserrat Subrayada":{"family":"Montserrat Subrayada","category":"sans-serif","variants":["regular","700"],"subsets":["latin"]},"Moul":{"family":"Moul","category":"display","variants":["regular"],"subsets":["khmer"]},"Moulpali":{"family":"Moulpali","category":"display","variants":["regular"],"subsets":["khmer"]},"Mountains of Christmas":{"family":"Mountains of Christmas","category":"display","variants":["regular","700"],"subsets":["latin"]},"Mouse Memoirs":{"family":"Mouse Memoirs","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Mr Bedfort":{"family":"Mr Bedfort","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Mr Dafoe":{"family":"Mr Dafoe","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Mr De Haviland":{"family":"Mr De Haviland","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Mrs Saint Delafield":{"family":"Mrs Saint Delafield","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Mrs Sheppards":{"family":"Mrs Sheppards","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Mukta":{"family":"Mukta","category":"sans-serif","variants":["200","300","regular","500","600","700","800"],"subsets":["devanagari","latin-ext","latin"]},"Mukta Mahee":{"family":"Mukta Mahee","category":"sans-serif","variants":["200","300","regular","500","600","700","800"],"subsets":["latin-ext","latin","gurmukhi"]},"Mukta Malar":{"family":"Mukta Malar","category":"sans-serif","variants":["200","300","regular","500","600","700","800"],"subsets":["tamil","latin-ext","latin"]},"Mukta Vaani":{"family":"Mukta Vaani","category":"sans-serif","variants":["200","300","regular","500","600","700","800"],"subsets":["gujarati","latin-ext","latin"]},"Muli":{"family":"Muli","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Mystery Quest":{"family":"Mystery Quest","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"NTR":{"family":"NTR","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Nanum Brush Script":{"family":"Nanum Brush Script","category":"handwriting","variants":["regular"],"subsets":["korean","latin"]},"Nanum Gothic":{"family":"Nanum Gothic","category":"sans-serif","variants":["regular","700","800"],"subsets":["korean","latin"]},"Nanum Gothic Coding":{"family":"Nanum Gothic Coding","category":"monospace","variants":["regular","700"],"subsets":["korean","latin"]},"Nanum Myeongjo":{"family":"Nanum Myeongjo","category":"serif","variants":["regular","700","800"],"subsets":["korean","latin"]},"Nanum Pen Script":{"family":"Nanum Pen Script","category":"handwriting","variants":["regular"],"subsets":["korean","latin"]},"Neucha":{"family":"Neucha","category":"handwriting","variants":["regular"],"subsets":["cyrillic","latin"]},"Neuton":{"family":"Neuton","category":"serif","variants":["200","300","regular","italic","700","800"],"subsets":["latin-ext","latin"]},"New Rocker":{"family":"New Rocker","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"News Cycle":{"family":"News Cycle","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Niconne":{"family":"Niconne","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Niramit":{"family":"Niramit","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Nixie One":{"family":"Nixie One","category":"display","variants":["regular"],"subsets":["latin"]},"Nobile":{"family":"Nobile","category":"sans-serif","variants":["regular","italic","500","500italic","700","700italic"],"subsets":["latin-ext","latin"]},"Nokora":{"family":"Nokora","category":"serif","variants":["regular","700"],"subsets":["khmer"]},"Norican":{"family":"Norican","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Nosifer":{"family":"Nosifer","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Notable":{"family":"Notable","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Nothing You Could Do":{"family":"Nothing You Could Do","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Noticia Text":{"family":"Noticia Text","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Noto Sans":{"family":"Noto Sans","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","greek-ext","devanagari","latin-ext","cyrillic-ext","greek","latin"]},"Noto Sans HK":{"family":"Noto Sans HK","category":"sans-serif","variants":["100","300","regular","500","700","900"],"subsets":["chinese-hongkong","latin"]},"Noto Sans JP":{"family":"Noto Sans JP","category":"sans-serif","variants":["100","300","regular","500","700","900"],"subsets":["latin","japanese"]},"Noto Sans KR":{"family":"Noto Sans KR","category":"sans-serif","variants":["100","300","regular","500","700","900"],"subsets":["korean","latin"]},"Noto Sans SC":{"family":"Noto Sans SC","category":"sans-serif","variants":["100","300","regular","500","700","900"],"subsets":["cyrillic","vietnamese","chinese-simplified","latin"]},"Noto Sans TC":{"family":"Noto Sans TC","category":"sans-serif","variants":["100","300","regular","500","700","900"],"subsets":["chinese-traditional","latin"]},"Noto Serif":{"family":"Noto Serif","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Noto Serif JP":{"family":"Noto Serif JP","category":"serif","variants":["200","300","regular","500","600","700","900"],"subsets":["latin","japanese"]},"Noto Serif KR":{"family":"Noto Serif KR","category":"serif","variants":["200","300","regular","500","600","700","900"],"subsets":["korean","latin"]},"Noto Serif SC":{"family":"Noto Serif SC","category":"serif","variants":["200","300","regular","500","600","700","900"],"subsets":["cyrillic","vietnamese","chinese-simplified","latin"]},"Noto Serif TC":{"family":"Noto Serif TC","category":"serif","variants":["200","300","regular","500","600","700","900"],"subsets":["cyrillic","vietnamese","chinese-traditional","latin"]},"Nova Cut":{"family":"Nova Cut","category":"display","variants":["regular"],"subsets":["latin"]},"Nova Flat":{"family":"Nova Flat","category":"display","variants":["regular"],"subsets":["latin"]},"Nova Mono":{"family":"Nova Mono","category":"monospace","variants":["regular"],"subsets":["greek","latin"]},"Nova Oval":{"family":"Nova Oval","category":"display","variants":["regular"],"subsets":["latin"]},"Nova Round":{"family":"Nova Round","category":"display","variants":["regular"],"subsets":["latin"]},"Nova Script":{"family":"Nova Script","category":"display","variants":["regular"],"subsets":["latin"]},"Nova Slim":{"family":"Nova Slim","category":"display","variants":["regular"],"subsets":["latin"]},"Nova Square":{"family":"Nova Square","category":"display","variants":["regular"],"subsets":["latin"]},"Numans":{"family":"Numans","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Nunito":{"family":"Nunito","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Nunito Sans":{"family":"Nunito Sans","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Odor Mean Chey":{"family":"Odor Mean Chey","category":"display","variants":["regular"],"subsets":["khmer"]},"Offside":{"family":"Offside","category":"display","variants":["regular"],"subsets":["latin"]},"Old Standard TT":{"family":"Old Standard TT","category":"serif","variants":["regular","italic","700"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Oldenburg":{"family":"Oldenburg","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Oleo Script":{"family":"Oleo Script","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Oleo Script Swash Caps":{"family":"Oleo Script Swash Caps","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Open Sans":{"family":"Open Sans","category":"sans-serif","variants":["300","300italic","regular","italic","600","600italic","700","700italic","800","800italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Open Sans Condensed":{"family":"Open Sans Condensed","category":"sans-serif","variants":["300","300italic","700"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Oranienbaum":{"family":"Oranienbaum","category":"serif","variants":["regular"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"Orbitron":{"family":"Orbitron","category":"sans-serif","variants":["regular","500","700","900"],"subsets":["latin"]},"Oregano":{"family":"Oregano","category":"display","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Orienta":{"family":"Orienta","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Original Surfer":{"family":"Original Surfer","category":"display","variants":["regular"],"subsets":["latin"]},"Oswald":{"family":"Oswald","category":"sans-serif","variants":["200","300","regular","500","600","700"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Over the Rainbow":{"family":"Over the Rainbow","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Overlock":{"family":"Overlock","category":"display","variants":["regular","italic","700","700italic","900","900italic"],"subsets":["latin-ext","latin"]},"Overlock SC":{"family":"Overlock SC","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Overpass":{"family":"Overpass","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin"]},"Overpass Mono":{"family":"Overpass Mono","category":"monospace","variants":["300","regular","600","700"],"subsets":["latin-ext","latin"]},"Ovo":{"family":"Ovo","category":"serif","variants":["regular"],"subsets":["latin"]},"Oxygen":{"family":"Oxygen","category":"sans-serif","variants":["300","regular","700"],"subsets":["latin-ext","latin"]},"Oxygen Mono":{"family":"Oxygen Mono","category":"monospace","variants":["regular"],"subsets":["latin-ext","latin"]},"PT Mono":{"family":"PT Mono","category":"monospace","variants":["regular"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"PT Sans":{"family":"PT Sans","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"PT Sans Caption":{"family":"PT Sans Caption","category":"sans-serif","variants":["regular","700"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"PT Sans Narrow":{"family":"PT Sans Narrow","category":"sans-serif","variants":["regular","700"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"PT Serif":{"family":"PT Serif","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"PT Serif Caption":{"family":"PT Serif Caption","category":"serif","variants":["regular","italic"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"Pacifico":{"family":"Pacifico","category":"handwriting","variants":["regular"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Padauk":{"family":"Padauk","category":"sans-serif","variants":["regular","700"],"subsets":["myanmar","latin"]},"Palanquin":{"family":"Palanquin","category":"sans-serif","variants":["100","200","300","regular","500","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Palanquin Dark":{"family":"Palanquin Dark","category":"sans-serif","variants":["regular","500","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Pangolin":{"family":"Pangolin","category":"handwriting","variants":["regular"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Paprika":{"family":"Paprika","category":"display","variants":["regular"],"subsets":["latin"]},"Parisienne":{"family":"Parisienne","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Passero One":{"family":"Passero One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Passion One":{"family":"Passion One","category":"display","variants":["regular","700","900"],"subsets":["latin-ext","latin"]},"Pathway Gothic One":{"family":"Pathway Gothic One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Patrick Hand":{"family":"Patrick Hand","category":"handwriting","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Patrick Hand SC":{"family":"Patrick Hand SC","category":"handwriting","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Pattaya":{"family":"Pattaya","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","vietnamese","latin-ext","thai","latin"]},"Patua One":{"family":"Patua One","category":"display","variants":["regular"],"subsets":["latin"]},"Pavanam":{"family":"Pavanam","category":"sans-serif","variants":["regular"],"subsets":["tamil","latin-ext","latin"]},"Paytone One":{"family":"Paytone One","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Peddana":{"family":"Peddana","category":"serif","variants":["regular"],"subsets":["telugu","latin"]},"Peralta":{"family":"Peralta","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Permanent Marker":{"family":"Permanent Marker","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Petit Formal Script":{"family":"Petit Formal Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Petrona":{"family":"Petrona","category":"serif","variants":["regular"],"subsets":["latin"]},"Philosopher":{"family":"Philosopher","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","cyrillic-ext","latin"]},"Piedra":{"family":"Piedra","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Pinyon Script":{"family":"Pinyon Script","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Pirata One":{"family":"Pirata One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Plaster":{"family":"Plaster","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Play":{"family":"Play","category":"sans-serif","variants":["regular","700"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","greek","latin"]},"Playball":{"family":"Playball","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Playfair Display":{"family":"Playfair Display","category":"serif","variants":["regular","italic","700","700italic","900","900italic"],"subsets":["cyrillic","vietnamese","latin-ext","latin"]},"Playfair Display SC":{"family":"Playfair Display SC","category":"serif","variants":["regular","italic","700","700italic","900","900italic"],"subsets":["cyrillic","vietnamese","latin-ext","latin"]},"Podkova":{"family":"Podkova","category":"serif","variants":["regular","500","600","700","800"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Poiret One":{"family":"Poiret One","category":"display","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Poller One":{"family":"Poller One","category":"display","variants":["regular"],"subsets":["latin"]},"Poly":{"family":"Poly","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"Pompiere":{"family":"Pompiere","category":"display","variants":["regular"],"subsets":["latin"]},"Pontano Sans":{"family":"Pontano Sans","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Poor Story":{"family":"Poor Story","category":"display","variants":["regular"],"subsets":["korean","latin"]},"Poppins":{"family":"Poppins","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["devanagari","latin-ext","latin"]},"Port Lligat Sans":{"family":"Port Lligat Sans","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Port Lligat Slab":{"family":"Port Lligat Slab","category":"serif","variants":["regular"],"subsets":["latin"]},"Pragati Narrow":{"family":"Pragati Narrow","category":"sans-serif","variants":["regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Prata":{"family":"Prata","category":"serif","variants":["regular"],"subsets":["cyrillic","vietnamese","cyrillic-ext","latin"]},"Preahvihear":{"family":"Preahvihear","category":"display","variants":["regular"],"subsets":["khmer"]},"Press Start 2P":{"family":"Press Start 2P","category":"display","variants":["regular"],"subsets":["cyrillic","latin-ext","cyrillic-ext","greek","latin"]},"Pridi":{"family":"Pridi","category":"serif","variants":["200","300","regular","500","600","700"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Princess Sofia":{"family":"Princess Sofia","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Prociono":{"family":"Prociono","category":"serif","variants":["regular"],"subsets":["latin"]},"Prompt":{"family":"Prompt","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Prosto One":{"family":"Prosto One","category":"display","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Proza Libre":{"family":"Proza Libre","category":"sans-serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["latin-ext","latin"]},"Puritan":{"family":"Puritan","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Purple Purse":{"family":"Purple Purse","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Quando":{"family":"Quando","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Quantico":{"family":"Quantico","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Quattrocento":{"family":"Quattrocento","category":"serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Quattrocento Sans":{"family":"Quattrocento Sans","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Questrial":{"family":"Questrial","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Quicksand":{"family":"Quicksand","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["vietnamese","latin-ext","latin"]},"Quintessential":{"family":"Quintessential","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Qwigley":{"family":"Qwigley","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Racing Sans One":{"family":"Racing Sans One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Radley":{"family":"Radley","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Rajdhani":{"family":"Rajdhani","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Rakkas":{"family":"Rakkas","category":"display","variants":["regular"],"subsets":["arabic","latin-ext","latin"]},"Raleway":{"family":"Raleway","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin"]},"Raleway Dots":{"family":"Raleway Dots","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Ramabhadra":{"family":"Ramabhadra","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Ramaraja":{"family":"Ramaraja","category":"serif","variants":["regular"],"subsets":["telugu","latin"]},"Rambla":{"family":"Rambla","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Rammetto One":{"family":"Rammetto One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Ranchers":{"family":"Ranchers","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Rancho":{"family":"Rancho","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Ranga":{"family":"Ranga","category":"display","variants":["regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Rasa":{"family":"Rasa","category":"serif","variants":["300","regular","500","600","700"],"subsets":["gujarati","latin-ext","latin"]},"Rationale":{"family":"Rationale","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Ravi Prakash":{"family":"Ravi Prakash","category":"display","variants":["regular"],"subsets":["telugu","latin"]},"Red Hat Display":{"family":"Red Hat Display","category":"sans-serif","variants":["regular","italic","500","500italic","700","700italic","900","900italic"],"subsets":["latin-ext","latin"]},"Red Hat Text":{"family":"Red Hat Text","category":"sans-serif","variants":["regular","italic","500","500italic","700","700italic"],"subsets":["latin-ext","latin"]},"Redressed":{"family":"Redressed","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Reem Kufi":{"family":"Reem Kufi","category":"sans-serif","variants":["regular"],"subsets":["arabic","latin"]},"Reenie Beanie":{"family":"Reenie Beanie","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Revalia":{"family":"Revalia","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Rhodium Libre":{"family":"Rhodium Libre","category":"serif","variants":["regular"],"subsets":["devanagari","latin-ext","latin"]},"Ribeye":{"family":"Ribeye","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Ribeye Marrow":{"family":"Ribeye Marrow","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Righteous":{"family":"Righteous","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Risque":{"family":"Risque","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Roboto":{"family":"Roboto","category":"sans-serif","variants":["100","100italic","300","300italic","regular","italic","500","500italic","700","700italic","900","900italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Roboto Condensed":{"family":"Roboto Condensed","category":"sans-serif","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Roboto Mono":{"family":"Roboto Mono","category":"monospace","variants":["100","100italic","300","300italic","regular","italic","500","500italic","700","700italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Roboto Slab":{"family":"Roboto Slab","category":"serif","variants":["100","300","regular","700"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Rochester":{"family":"Rochester","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Rock Salt":{"family":"Rock Salt","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Rokkitt":{"family":"Rokkitt","category":"serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Romanesco":{"family":"Romanesco","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Ropa Sans":{"family":"Ropa Sans","category":"sans-serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Rosario":{"family":"Rosario","category":"sans-serif","variants":["300","regular","500","600","700","300italic","italic","500italic","600italic","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Rosarivo":{"family":"Rosarivo","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Rouge Script":{"family":"Rouge Script","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Rozha One":{"family":"Rozha One","category":"serif","variants":["regular"],"subsets":["devanagari","latin-ext","latin"]},"Rubik":{"family":"Rubik","category":"sans-serif","variants":["300","300italic","regular","italic","500","500italic","700","700italic","900","900italic"],"subsets":["cyrillic","hebrew","latin-ext","latin"]},"Rubik Mono One":{"family":"Rubik Mono One","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Ruda":{"family":"Ruda","category":"sans-serif","variants":["regular","700","900"],"subsets":["latin-ext","latin"]},"Rufina":{"family":"Rufina","category":"serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Ruge Boogie":{"family":"Ruge Boogie","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Ruluko":{"family":"Ruluko","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Rum Raisin":{"family":"Rum Raisin","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Ruslan Display":{"family":"Ruslan Display","category":"display","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Russo One":{"family":"Russo One","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Ruthie":{"family":"Ruthie","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Rye":{"family":"Rye","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Sacramento":{"family":"Sacramento","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Sahitya":{"family":"Sahitya","category":"serif","variants":["regular","700"],"subsets":["devanagari","latin"]},"Sail":{"family":"Sail","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Saira":{"family":"Saira","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Saira Condensed":{"family":"Saira Condensed","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Saira Extra Condensed":{"family":"Saira Extra Condensed","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Saira Semi Condensed":{"family":"Saira Semi Condensed","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Saira Stencil One":{"family":"Saira Stencil One","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Salsa":{"family":"Salsa","category":"display","variants":["regular"],"subsets":["latin"]},"Sanchez":{"family":"Sanchez","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Sancreek":{"family":"Sancreek","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Sansita":{"family":"Sansita","category":"sans-serif","variants":["regular","italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin"]},"Sarabun":{"family":"Sarabun","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Sarala":{"family":"Sarala","category":"sans-serif","variants":["regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Sarina":{"family":"Sarina","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Sarpanch":{"family":"Sarpanch","category":"sans-serif","variants":["regular","500","600","700","800","900"],"subsets":["devanagari","latin-ext","latin"]},"Satisfy":{"family":"Satisfy","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Sawarabi Gothic":{"family":"Sawarabi Gothic","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","vietnamese","latin-ext","latin","japanese"]},"Sawarabi Mincho":{"family":"Sawarabi Mincho","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","japanese"]},"Scada":{"family":"Scada","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"Scheherazade":{"family":"Scheherazade","category":"serif","variants":["regular","700"],"subsets":["arabic","latin"]},"Schoolbell":{"family":"Schoolbell","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Scope One":{"family":"Scope One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Seaweed Script":{"family":"Seaweed Script","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Secular One":{"family":"Secular One","category":"sans-serif","variants":["regular"],"subsets":["hebrew","latin-ext","latin"]},"Sedgwick Ave":{"family":"Sedgwick Ave","category":"handwriting","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Sedgwick Ave Display":{"family":"Sedgwick Ave Display","category":"handwriting","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Sevillana":{"family":"Sevillana","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Seymour One":{"family":"Seymour One","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Shadows Into Light":{"family":"Shadows Into Light","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Shadows Into Light Two":{"family":"Shadows Into Light Two","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Shanti":{"family":"Shanti","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Share":{"family":"Share","category":"display","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Share Tech":{"family":"Share Tech","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Share Tech Mono":{"family":"Share Tech Mono","category":"monospace","variants":["regular"],"subsets":["latin"]},"Shojumaru":{"family":"Shojumaru","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Short Stack":{"family":"Short Stack","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Shrikhand":{"family":"Shrikhand","category":"display","variants":["regular"],"subsets":["gujarati","latin-ext","latin"]},"Siemreap":{"family":"Siemreap","category":"display","variants":["regular"],"subsets":["khmer"]},"Sigmar One":{"family":"Sigmar One","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Signika":{"family":"Signika","category":"sans-serif","variants":["300","regular","600","700"],"subsets":["latin-ext","latin"]},"Signika Negative":{"family":"Signika Negative","category":"sans-serif","variants":["300","regular","600","700"],"subsets":["latin-ext","latin"]},"Simonetta":{"family":"Simonetta","category":"display","variants":["regular","italic","900","900italic"],"subsets":["latin-ext","latin"]},"Single Day":{"family":"Single Day","category":"display","variants":["regular"],"subsets":["korean"]},"Sintony":{"family":"Sintony","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Sirin Stencil":{"family":"Sirin Stencil","category":"display","variants":["regular"],"subsets":["latin"]},"Six Caps":{"family":"Six Caps","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Skranji":{"family":"Skranji","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Slabo 13px":{"family":"Slabo 13px","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Slabo 27px":{"family":"Slabo 27px","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Slackey":{"family":"Slackey","category":"display","variants":["regular"],"subsets":["latin"]},"Smokum":{"family":"Smokum","category":"display","variants":["regular"],"subsets":["latin"]},"Smythe":{"family":"Smythe","category":"display","variants":["regular"],"subsets":["latin"]},"Sniglet":{"family":"Sniglet","category":"display","variants":["regular","800"],"subsets":["latin-ext","latin"]},"Snippet":{"family":"Snippet","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Snowburst One":{"family":"Snowburst One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Sofadi One":{"family":"Sofadi One","category":"display","variants":["regular"],"subsets":["latin"]},"Sofia":{"family":"Sofia","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Song Myung":{"family":"Song Myung","category":"serif","variants":["regular"],"subsets":["korean","latin"]},"Sonsie One":{"family":"Sonsie One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Sorts Mill Goudy":{"family":"Sorts Mill Goudy","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Source Code Pro":{"family":"Source Code Pro","category":"monospace","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","900","900italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","greek","latin"]},"Source Sans Pro":{"family":"Source Sans Pro","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","600","600italic","700","700italic","900","900italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Source Serif Pro":{"family":"Source Serif Pro","category":"serif","variants":["regular","600","700"],"subsets":["latin-ext","latin"]},"Space Mono":{"family":"Space Mono","category":"monospace","variants":["regular","italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Special Elite":{"family":"Special Elite","category":"display","variants":["regular"],"subsets":["latin"]},"Spectral":{"family":"Spectral","category":"serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["cyrillic","vietnamese","latin-ext","latin"]},"Spectral SC":{"family":"Spectral SC","category":"serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["cyrillic","vietnamese","latin-ext","latin"]},"Spicy Rice":{"family":"Spicy Rice","category":"display","variants":["regular"],"subsets":["latin"]},"Spinnaker":{"family":"Spinnaker","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Spirax":{"family":"Spirax","category":"display","variants":["regular"],"subsets":["latin"]},"Squada One":{"family":"Squada One","category":"display","variants":["regular"],"subsets":["latin"]},"Sree Krushnadevaraya":{"family":"Sree Krushnadevaraya","category":"serif","variants":["regular"],"subsets":["telugu","latin"]},"Sriracha":{"family":"Sriracha","category":"handwriting","variants":["regular"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Srisakdi":{"family":"Srisakdi","category":"display","variants":["regular","700"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Staatliches":{"family":"Staatliches","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Stalemate":{"family":"Stalemate","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Stalinist One":{"family":"Stalinist One","category":"display","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Stardos Stencil":{"family":"Stardos Stencil","category":"display","variants":["regular","700"],"subsets":["latin"]},"Stint Ultra Condensed":{"family":"Stint Ultra Condensed","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Stint Ultra Expanded":{"family":"Stint Ultra Expanded","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Stoke":{"family":"Stoke","category":"serif","variants":["300","regular"],"subsets":["latin-ext","latin"]},"Strait":{"family":"Strait","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Stylish":{"family":"Stylish","category":"sans-serif","variants":["regular"],"subsets":["korean","latin"]},"Sue Ellen Francisco":{"family":"Sue Ellen Francisco","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Suez One":{"family":"Suez One","category":"serif","variants":["regular"],"subsets":["hebrew","latin-ext","latin"]},"Sumana":{"family":"Sumana","category":"serif","variants":["regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Sunflower":{"family":"Sunflower","category":"sans-serif","variants":["300","500","700"],"subsets":["korean","latin"]},"Sunshiney":{"family":"Sunshiney","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Supermercado One":{"family":"Supermercado One","category":"display","variants":["regular"],"subsets":["latin"]},"Sura":{"family":"Sura","category":"serif","variants":["regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Suranna":{"family":"Suranna","category":"serif","variants":["regular"],"subsets":["telugu","latin"]},"Suravaram":{"family":"Suravaram","category":"serif","variants":["regular"],"subsets":["telugu","latin"]},"Suwannaphum":{"family":"Suwannaphum","category":"display","variants":["regular"],"subsets":["khmer"]},"Swanky and Moo Moo":{"family":"Swanky and Moo Moo","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Syncopate":{"family":"Syncopate","category":"sans-serif","variants":["regular","700"],"subsets":["latin"]},"Tajawal":{"family":"Tajawal","category":"sans-serif","variants":["200","300","regular","500","700","800","900"],"subsets":["arabic","latin"]},"Tangerine":{"family":"Tangerine","category":"handwriting","variants":["regular","700"],"subsets":["latin"]},"Taprom":{"family":"Taprom","category":"display","variants":["regular"],"subsets":["khmer"]},"Tauri":{"family":"Tauri","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Taviraj":{"family":"Taviraj","category":"serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Teko":{"family":"Teko","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Telex":{"family":"Telex","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Tenali Ramakrishna":{"family":"Tenali Ramakrishna","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Tenor Sans":{"family":"Tenor Sans","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Text Me One":{"family":"Text Me One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Thasadith":{"family":"Thasadith","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"The Girl Next Door":{"family":"The Girl Next Door","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Tienne":{"family":"Tienne","category":"serif","variants":["regular","700","900"],"subsets":["latin"]},"Tillana":{"family":"Tillana","category":"handwriting","variants":["regular","500","600","700","800"],"subsets":["devanagari","latin-ext","latin"]},"Timmana":{"family":"Timmana","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Tinos":{"family":"Tinos","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","greek-ext","hebrew","latin-ext","cyrillic-ext","greek","latin"]},"Titan One":{"family":"Titan One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Titillium Web":{"family":"Titillium Web","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","600","600italic","700","700italic","900"],"subsets":["latin-ext","latin"]},"Trade Winds":{"family":"Trade Winds","category":"display","variants":["regular"],"subsets":["latin"]},"Trirong":{"family":"Trirong","category":"serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Trocchi":{"family":"Trocchi","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Trochut":{"family":"Trochut","category":"display","variants":["regular","italic","700"],"subsets":["latin"]},"Trykker":{"family":"Trykker","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Tulpen One":{"family":"Tulpen One","category":"display","variants":["regular"],"subsets":["latin"]},"Turret Road":{"family":"Turret Road","category":"display","variants":["200","300","regular","500","700","800"],"subsets":["latin-ext","latin"]},"Ubuntu":{"family":"Ubuntu","category":"sans-serif","variants":["300","300italic","regular","italic","500","500italic","700","700italic"],"subsets":["cyrillic","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Ubuntu Condensed":{"family":"Ubuntu Condensed","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Ubuntu Mono":{"family":"Ubuntu Mono","category":"monospace","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Ultra":{"family":"Ultra","category":"serif","variants":["regular"],"subsets":["latin"]},"Uncial Antiqua":{"family":"Uncial Antiqua","category":"display","variants":["regular"],"subsets":["latin"]},"Underdog":{"family":"Underdog","category":"display","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Unica One":{"family":"Unica One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"UnifrakturCook":{"family":"UnifrakturCook","category":"display","variants":["700"],"subsets":["latin"]},"UnifrakturMaguntia":{"family":"UnifrakturMaguntia","category":"display","variants":["regular"],"subsets":["latin"]},"Unkempt":{"family":"Unkempt","category":"display","variants":["regular","700"],"subsets":["latin"]},"Unlock":{"family":"Unlock","category":"display","variants":["regular"],"subsets":["latin"]},"Unna":{"family":"Unna","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"VT323":{"family":"VT323","category":"monospace","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Vampiro One":{"family":"Vampiro One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Varela":{"family":"Varela","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Varela Round":{"family":"Varela Round","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","hebrew","latin-ext","latin"]},"Vast Shadow":{"family":"Vast Shadow","category":"display","variants":["regular"],"subsets":["latin"]},"Vesper Libre":{"family":"Vesper Libre","category":"serif","variants":["regular","500","700","900"],"subsets":["devanagari","latin-ext","latin"]},"Vibes":{"family":"Vibes","category":"display","variants":["regular"],"subsets":["arabic","latin"]},"Vibur":{"family":"Vibur","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Vidaloka":{"family":"Vidaloka","category":"serif","variants":["regular"],"subsets":["latin"]},"Viga":{"family":"Viga","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Voces":{"family":"Voces","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Volkhov":{"family":"Volkhov","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Vollkorn":{"family":"Vollkorn","category":"serif","variants":["regular","italic","600","600italic","700","700italic","900","900italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","greek","latin"]},"Vollkorn SC":{"family":"Vollkorn SC","category":"serif","variants":["regular","600","700","900"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Voltaire":{"family":"Voltaire","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Waiting for the Sunrise":{"family":"Waiting for the Sunrise","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Wallpoet":{"family":"Wallpoet","category":"display","variants":["regular"],"subsets":["latin"]},"Walter Turncoat":{"family":"Walter Turncoat","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Warnes":{"family":"Warnes","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Wellfleet":{"family":"Wellfleet","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Wendy One":{"family":"Wendy One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Wire One":{"family":"Wire One","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Work Sans":{"family":"Work Sans","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin"]},"Yanone Kaffeesatz":{"family":"Yanone Kaffeesatz","category":"sans-serif","variants":["200","300","regular","700"],"subsets":["cyrillic","vietnamese","latin-ext","latin"]},"Yantramanav":{"family":"Yantramanav","category":"sans-serif","variants":["100","300","regular","500","700","900"],"subsets":["devanagari","latin-ext","latin"]},"Yatra One":{"family":"Yatra One","category":"display","variants":["regular"],"subsets":["devanagari","latin-ext","latin"]},"Yellowtail":{"family":"Yellowtail","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Yeon Sung":{"family":"Yeon Sung","category":"display","variants":["regular"],"subsets":["korean","latin"]},"Yeseva One":{"family":"Yeseva One","category":"display","variants":["regular"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Yesteryear":{"family":"Yesteryear","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Yrsa":{"family":"Yrsa","category":"serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin"]},"ZCOOL KuaiLe":{"family":"ZCOOL KuaiLe","category":"display","variants":["regular"],"subsets":["chinese-simplified","latin"]},"ZCOOL QingKe HuangYou":{"family":"ZCOOL QingKe HuangYou","category":"display","variants":["regular"],"subsets":["chinese-simplified","latin"]},"ZCOOL XiaoWei":{"family":"ZCOOL XiaoWei","category":"serif","variants":["regular"],"subsets":["chinese-simplified","latin"]},"Zeyada":{"family":"Zeyada","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Zhi Mang Xing":{"family":"Zhi Mang Xing","category":"handwriting","variants":["regular"],"subsets":["chinese-simplified","latin"]},"Zilla Slab":{"family":"Zilla Slab","category":"serif","variants":["300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","latin"]},"Zilla Slab Highlight":{"family":"Zilla Slab Highlight","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]}}
 
features/customizer/controls/resources/google.fonts.php DELETED
@@ -1,8 +0,0 @@
1
- <?php
2
- // This is list is copied from google.fonts.json that is generated by calling the Pix_Customize_Font_Control::generate_google_fonts_json()
3
- $google_fonts = json_decode( '{"ABeeZee":{"family":"ABeeZee","category":"sans-serif","variants":["regular","italic"],"subsets":["latin"]},"Abel":{"family":"Abel","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Abhaya Libre":{"family":"Abhaya Libre","category":"serif","variants":["regular","500","600","700","800"],"subsets":["latin-ext","latin","sinhala"]},"Abril Fatface":{"family":"Abril Fatface","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Aclonica":{"family":"Aclonica","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Acme":{"family":"Acme","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Actor":{"family":"Actor","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Adamina":{"family":"Adamina","category":"serif","variants":["regular"],"subsets":["latin"]},"Advent Pro":{"family":"Advent Pro","category":"sans-serif","variants":["100","200","300","regular","500","600","700"],"subsets":["latin-ext","greek","latin"]},"Aguafina Script":{"family":"Aguafina Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Akronim":{"family":"Akronim","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Aladin":{"family":"Aladin","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Aldrich":{"family":"Aldrich","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Alef":{"family":"Alef","category":"sans-serif","variants":["regular","700"],"subsets":["hebrew","latin"]},"Alegreya":{"family":"Alegreya","category":"serif","variants":["regular","italic","500","500italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Alegreya SC":{"family":"Alegreya SC","category":"serif","variants":["regular","italic","500","500italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Alegreya Sans":{"family":"Alegreya Sans","category":"sans-serif","variants":["100","100italic","300","300italic","regular","italic","500","500italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Alegreya Sans SC":{"family":"Alegreya Sans SC","category":"sans-serif","variants":["100","100italic","300","300italic","regular","italic","500","500italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Aleo":{"family":"Aleo","category":"serif","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Alex Brush":{"family":"Alex Brush","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Alfa Slab One":{"family":"Alfa Slab One","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Alice":{"family":"Alice","category":"serif","variants":["regular"],"subsets":["cyrillic","cyrillic-ext","latin"]},"Alike":{"family":"Alike","category":"serif","variants":["regular"],"subsets":["latin"]},"Alike Angular":{"family":"Alike Angular","category":"serif","variants":["regular"],"subsets":["latin"]},"Allan":{"family":"Allan","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Allerta":{"family":"Allerta","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Allerta Stencil":{"family":"Allerta Stencil","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Allura":{"family":"Allura","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Almarai":{"family":"Almarai","category":"sans-serif","variants":["300","regular","700","800"],"subsets":["arabic"]},"Almendra":{"family":"Almendra","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Almendra Display":{"family":"Almendra Display","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Almendra SC":{"family":"Almendra SC","category":"serif","variants":["regular"],"subsets":["latin"]},"Amarante":{"family":"Amarante","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Amaranth":{"family":"Amaranth","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Amatic SC":{"family":"Amatic SC","category":"handwriting","variants":["regular","700"],"subsets":["cyrillic","vietnamese","hebrew","latin-ext","latin"]},"Amethysta":{"family":"Amethysta","category":"serif","variants":["regular"],"subsets":["latin"]},"Amiko":{"family":"Amiko","category":"sans-serif","variants":["regular","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Amiri":{"family":"Amiri","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["arabic","latin-ext","latin"]},"Amita":{"family":"Amita","category":"handwriting","variants":["regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Anaheim":{"family":"Anaheim","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Andada":{"family":"Andada","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Andika":{"family":"Andika","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Angkor":{"family":"Angkor","category":"display","variants":["regular"],"subsets":["khmer"]},"Annie Use Your Telescope":{"family":"Annie Use Your Telescope","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Anonymous Pro":{"family":"Anonymous Pro","category":"monospace","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","latin-ext","greek","latin"]},"Antic":{"family":"Antic","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Antic Didone":{"family":"Antic Didone","category":"serif","variants":["regular"],"subsets":["latin"]},"Antic Slab":{"family":"Antic Slab","category":"serif","variants":["regular"],"subsets":["latin"]},"Anton":{"family":"Anton","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Arapey":{"family":"Arapey","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"Arbutus":{"family":"Arbutus","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Arbutus Slab":{"family":"Arbutus Slab","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Architects Daughter":{"family":"Architects Daughter","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Archivo":{"family":"Archivo","category":"sans-serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Archivo Black":{"family":"Archivo Black","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Archivo Narrow":{"family":"Archivo Narrow","category":"sans-serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Aref Ruqaa":{"family":"Aref Ruqaa","category":"serif","variants":["regular","700"],"subsets":["arabic","latin"]},"Arima Madurai":{"family":"Arima Madurai","category":"display","variants":["100","200","300","regular","500","700","800","900"],"subsets":["vietnamese","tamil","latin-ext","latin"]},"Arimo":{"family":"Arimo","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","greek-ext","hebrew","latin-ext","cyrillic-ext","greek","latin"]},"Arizonia":{"family":"Arizonia","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Armata":{"family":"Armata","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Arsenal":{"family":"Arsenal","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Artifika":{"family":"Artifika","category":"serif","variants":["regular"],"subsets":["latin"]},"Arvo":{"family":"Arvo","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Arya":{"family":"Arya","category":"sans-serif","variants":["regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Asap":{"family":"Asap","category":"sans-serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Asap Condensed":{"family":"Asap Condensed","category":"sans-serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Asar":{"family":"Asar","category":"serif","variants":["regular"],"subsets":["devanagari","latin-ext","latin"]},"Asset":{"family":"Asset","category":"display","variants":["regular"],"subsets":["latin"]},"Assistant":{"family":"Assistant","category":"sans-serif","variants":["200","300","regular","600","700","800"],"subsets":["hebrew","latin"]},"Astloch":{"family":"Astloch","category":"display","variants":["regular","700"],"subsets":["latin"]},"Asul":{"family":"Asul","category":"sans-serif","variants":["regular","700"],"subsets":["latin"]},"Athiti":{"family":"Athiti","category":"sans-serif","variants":["200","300","regular","500","600","700"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Atma":{"family":"Atma","category":"display","variants":["300","regular","500","600","700"],"subsets":["bengali","latin-ext","latin"]},"Atomic Age":{"family":"Atomic Age","category":"display","variants":["regular"],"subsets":["latin"]},"Aubrey":{"family":"Aubrey","category":"display","variants":["regular"],"subsets":["latin"]},"Audiowide":{"family":"Audiowide","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Autour One":{"family":"Autour One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Average":{"family":"Average","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Average Sans":{"family":"Average Sans","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Averia Gruesa Libre":{"family":"Averia Gruesa Libre","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Averia Libre":{"family":"Averia Libre","category":"display","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["latin"]},"Averia Sans Libre":{"family":"Averia Sans Libre","category":"display","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["latin"]},"Averia Serif Libre":{"family":"Averia Serif Libre","category":"display","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["latin"]},"B612":{"family":"B612","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"B612 Mono":{"family":"B612 Mono","category":"monospace","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Bad Script":{"family":"Bad Script","category":"handwriting","variants":["regular"],"subsets":["cyrillic","latin"]},"Bahiana":{"family":"Bahiana","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Bahianita":{"family":"Bahianita","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Bai Jamjuree":{"family":"Bai Jamjuree","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Baloo":{"family":"Baloo","category":"display","variants":["regular"],"subsets":["vietnamese","devanagari","latin-ext","latin"]},"Baloo Bhai":{"family":"Baloo Bhai","category":"display","variants":["regular"],"subsets":["vietnamese","gujarati","latin-ext","latin"]},"Baloo Bhaijaan":{"family":"Baloo Bhaijaan","category":"display","variants":["regular"],"subsets":["vietnamese","arabic","latin-ext","latin"]},"Baloo Bhaina":{"family":"Baloo Bhaina","category":"display","variants":["regular"],"subsets":["vietnamese","oriya","latin-ext","latin"]},"Baloo Chettan":{"family":"Baloo Chettan","category":"display","variants":["regular"],"subsets":["vietnamese","malayalam","latin-ext","latin"]},"Baloo Da":{"family":"Baloo Da","category":"display","variants":["regular"],"subsets":["vietnamese","bengali","latin-ext","latin"]},"Baloo Paaji":{"family":"Baloo Paaji","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin","gurmukhi"]},"Baloo Tamma":{"family":"Baloo Tamma","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","kannada","latin"]},"Baloo Tammudu":{"family":"Baloo Tammudu","category":"display","variants":["regular"],"subsets":["vietnamese","telugu","latin-ext","latin"]},"Baloo Thambi":{"family":"Baloo Thambi","category":"display","variants":["regular"],"subsets":["vietnamese","tamil","latin-ext","latin"]},"Balthazar":{"family":"Balthazar","category":"serif","variants":["regular"],"subsets":["latin"]},"Bangers":{"family":"Bangers","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Barlow":{"family":"Barlow","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Barlow Condensed":{"family":"Barlow Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Barlow Semi Condensed":{"family":"Barlow Semi Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Barriecito":{"family":"Barriecito","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Barrio":{"family":"Barrio","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Basic":{"family":"Basic","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Battambang":{"family":"Battambang","category":"display","variants":["regular","700"],"subsets":["khmer"]},"Baumans":{"family":"Baumans","category":"display","variants":["regular"],"subsets":["latin"]},"Bayon":{"family":"Bayon","category":"display","variants":["regular"],"subsets":["khmer"]},"Be Vietnam":{"family":"Be Vietnam","category":"sans-serif","variants":["100","100italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["vietnamese","latin-ext","latin"]},"Belgrano":{"family":"Belgrano","category":"serif","variants":["regular"],"subsets":["latin"]},"Bellefair":{"family":"Bellefair","category":"serif","variants":["regular"],"subsets":["hebrew","latin-ext","latin"]},"Belleza":{"family":"Belleza","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"BenchNine":{"family":"BenchNine","category":"sans-serif","variants":["300","regular","700"],"subsets":["latin-ext","latin"]},"Bentham":{"family":"Bentham","category":"serif","variants":["regular"],"subsets":["latin"]},"Berkshire Swash":{"family":"Berkshire Swash","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Beth Ellen":{"family":"Beth Ellen","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Bevan":{"family":"Bevan","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Big Shoulders Display":{"family":"Big Shoulders Display","category":"display","variants":["100","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Big Shoulders Text":{"family":"Big Shoulders Text","category":"display","variants":["100","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Bigelow Rules":{"family":"Bigelow Rules","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Bigshot One":{"family":"Bigshot One","category":"display","variants":["regular"],"subsets":["latin"]},"Bilbo":{"family":"Bilbo","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Bilbo Swash Caps":{"family":"Bilbo Swash Caps","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"BioRhyme":{"family":"BioRhyme","category":"serif","variants":["200","300","regular","700","800"],"subsets":["latin-ext","latin"]},"BioRhyme Expanded":{"family":"BioRhyme Expanded","category":"serif","variants":["200","300","regular","700","800"],"subsets":["latin-ext","latin"]},"Biryani":{"family":"Biryani","category":"sans-serif","variants":["200","300","regular","600","700","800","900"],"subsets":["devanagari","latin-ext","latin"]},"Bitter":{"family":"Bitter","category":"serif","variants":["regular","italic","700"],"subsets":["latin-ext","latin"]},"Black And White Picture":{"family":"Black And White Picture","category":"sans-serif","variants":["regular"],"subsets":["korean","latin"]},"Black Han Sans":{"family":"Black Han Sans","category":"sans-serif","variants":["regular"],"subsets":["korean","latin"]},"Black Ops One":{"family":"Black Ops One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Blinker":{"family":"Blinker","category":"sans-serif","variants":["100","200","300","regular","600","700","800","900"],"subsets":["latin-ext","latin"]},"Bokor":{"family":"Bokor","category":"display","variants":["regular"],"subsets":["khmer"]},"Bonbon":{"family":"Bonbon","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Boogaloo":{"family":"Boogaloo","category":"display","variants":["regular"],"subsets":["latin"]},"Bowlby One":{"family":"Bowlby One","category":"display","variants":["regular"],"subsets":["latin"]},"Bowlby One SC":{"family":"Bowlby One SC","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Brawler":{"family":"Brawler","category":"serif","variants":["regular"],"subsets":["latin"]},"Bree Serif":{"family":"Bree Serif","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Bubblegum Sans":{"family":"Bubblegum Sans","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Bubbler One":{"family":"Bubbler One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Buda":{"family":"Buda","category":"display","variants":["300"],"subsets":["latin"]},"Buenard":{"family":"Buenard","category":"serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Bungee":{"family":"Bungee","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Bungee Hairline":{"family":"Bungee Hairline","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Bungee Inline":{"family":"Bungee Inline","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Bungee Outline":{"family":"Bungee Outline","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Bungee Shade":{"family":"Bungee Shade","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Butcherman":{"family":"Butcherman","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Butterfly Kids":{"family":"Butterfly Kids","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Cabin":{"family":"Cabin","category":"sans-serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Cabin Condensed":{"family":"Cabin Condensed","category":"sans-serif","variants":["regular","500","600","700"],"subsets":["vietnamese","latin-ext","latin"]},"Cabin Sketch":{"family":"Cabin Sketch","category":"display","variants":["regular","700"],"subsets":["latin"]},"Caesar Dressing":{"family":"Caesar Dressing","category":"display","variants":["regular"],"subsets":["latin"]},"Cagliostro":{"family":"Cagliostro","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Cairo":{"family":"Cairo","category":"sans-serif","variants":["200","300","regular","600","700","900"],"subsets":["arabic","latin-ext","latin"]},"Calligraffitti":{"family":"Calligraffitti","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Cambay":{"family":"Cambay","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["devanagari","latin-ext","latin"]},"Cambo":{"family":"Cambo","category":"serif","variants":["regular"],"subsets":["latin"]},"Candal":{"family":"Candal","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Cantarell":{"family":"Cantarell","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Cantata One":{"family":"Cantata One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Cantora One":{"family":"Cantora One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Capriola":{"family":"Capriola","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Cardo":{"family":"Cardo","category":"serif","variants":["regular","italic","700"],"subsets":["greek-ext","latin-ext","greek","latin"]},"Carme":{"family":"Carme","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Carrois Gothic":{"family":"Carrois Gothic","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Carrois Gothic SC":{"family":"Carrois Gothic SC","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Carter One":{"family":"Carter One","category":"display","variants":["regular"],"subsets":["latin"]},"Catamaran":{"family":"Catamaran","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["tamil","latin-ext","latin"]},"Caudex":{"family":"Caudex","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["greek-ext","latin-ext","greek","latin"]},"Caveat":{"family":"Caveat","category":"handwriting","variants":["regular","700"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"Caveat Brush":{"family":"Caveat Brush","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Cedarville Cursive":{"family":"Cedarville Cursive","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Ceviche One":{"family":"Ceviche One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Chakra Petch":{"family":"Chakra Petch","category":"sans-serif","variants":["300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Changa":{"family":"Changa","category":"sans-serif","variants":["200","300","regular","500","600","700","800"],"subsets":["arabic","latin-ext","latin"]},"Changa One":{"family":"Changa One","category":"display","variants":["regular","italic"],"subsets":["latin"]},"Chango":{"family":"Chango","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Charm":{"family":"Charm","category":"handwriting","variants":["regular","700"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Charmonman":{"family":"Charmonman","category":"handwriting","variants":["regular","700"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Chathura":{"family":"Chathura","category":"sans-serif","variants":["100","300","regular","700","800"],"subsets":["telugu","latin"]},"Chau Philomene One":{"family":"Chau Philomene One","category":"sans-serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Chela One":{"family":"Chela One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Chelsea Market":{"family":"Chelsea Market","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Chenla":{"family":"Chenla","category":"display","variants":["regular"],"subsets":["khmer"]},"Cherry Cream Soda":{"family":"Cherry Cream Soda","category":"display","variants":["regular"],"subsets":["latin"]},"Cherry Swash":{"family":"Cherry Swash","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Chewy":{"family":"Chewy","category":"display","variants":["regular"],"subsets":["latin"]},"Chicle":{"family":"Chicle","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Chilanka":{"family":"Chilanka","category":"handwriting","variants":["regular"],"subsets":["malayalam","latin"]},"Chivo":{"family":"Chivo","category":"sans-serif","variants":["300","300italic","regular","italic","700","700italic","900","900italic"],"subsets":["latin-ext","latin"]},"Chonburi":{"family":"Chonburi","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Cinzel":{"family":"Cinzel","category":"serif","variants":["regular","700","900"],"subsets":["latin-ext","latin"]},"Cinzel Decorative":{"family":"Cinzel Decorative","category":"display","variants":["regular","700","900"],"subsets":["latin"]},"Clicker Script":{"family":"Clicker Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Coda":{"family":"Coda","category":"display","variants":["regular","800"],"subsets":["latin-ext","latin"]},"Coda Caption":{"family":"Coda Caption","category":"sans-serif","variants":["800"],"subsets":["latin-ext","latin"]},"Codystar":{"family":"Codystar","category":"display","variants":["300","regular"],"subsets":["latin-ext","latin"]},"Coiny":{"family":"Coiny","category":"display","variants":["regular"],"subsets":["vietnamese","tamil","latin-ext","latin"]},"Combo":{"family":"Combo","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Comfortaa":{"family":"Comfortaa","category":"display","variants":["300","regular","500","600","700"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","greek","latin"]},"Coming Soon":{"family":"Coming Soon","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Concert One":{"family":"Concert One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Condiment":{"family":"Condiment","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Content":{"family":"Content","category":"display","variants":["regular","700"],"subsets":["khmer"]},"Contrail One":{"family":"Contrail One","category":"display","variants":["regular"],"subsets":["latin"]},"Convergence":{"family":"Convergence","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Cookie":{"family":"Cookie","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Copse":{"family":"Copse","category":"serif","variants":["regular"],"subsets":["latin"]},"Corben":{"family":"Corben","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Cormorant":{"family":"Cormorant","category":"serif","variants":["300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Cormorant Garamond":{"family":"Cormorant Garamond","category":"serif","variants":["300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Cormorant Infant":{"family":"Cormorant Infant","category":"serif","variants":["300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Cormorant SC":{"family":"Cormorant SC","category":"serif","variants":["300","regular","500","600","700"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Cormorant Unicase":{"family":"Cormorant Unicase","category":"serif","variants":["300","regular","500","600","700"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Cormorant Upright":{"family":"Cormorant Upright","category":"serif","variants":["300","regular","500","600","700"],"subsets":["vietnamese","latin-ext","latin"]},"Courgette":{"family":"Courgette","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Cousine":{"family":"Cousine","category":"monospace","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","greek-ext","hebrew","latin-ext","cyrillic-ext","greek","latin"]},"Coustard":{"family":"Coustard","category":"serif","variants":["regular","900"],"subsets":["latin"]},"Covered By Your Grace":{"family":"Covered By Your Grace","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Crafty Girls":{"family":"Crafty Girls","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Creepster":{"family":"Creepster","category":"display","variants":["regular"],"subsets":["latin"]},"Crete Round":{"family":"Crete Round","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Crimson Pro":{"family":"Crimson Pro","category":"serif","variants":["200","300","regular","500","600","700","800","900","200italic","300italic","italic","500italic","600italic","700italic","800italic","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Crimson Text":{"family":"Crimson Text","category":"serif","variants":["regular","italic","600","600italic","700","700italic"],"subsets":["latin"]},"Croissant One":{"family":"Croissant One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Crushed":{"family":"Crushed","category":"display","variants":["regular"],"subsets":["latin"]},"Cuprum":{"family":"Cuprum","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Cute Font":{"family":"Cute Font","category":"display","variants":["regular"],"subsets":["korean","latin"]},"Cutive":{"family":"Cutive","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Cutive Mono":{"family":"Cutive Mono","category":"monospace","variants":["regular"],"subsets":["latin-ext","latin"]},"DM Sans":{"family":"DM Sans","category":"sans-serif","variants":["regular","italic","500","500italic","700","700italic"],"subsets":["latin-ext","latin"]},"DM Serif Display":{"family":"DM Serif Display","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"DM Serif Text":{"family":"DM Serif Text","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Damion":{"family":"Damion","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Dancing Script":{"family":"Dancing Script","category":"handwriting","variants":["regular","700"],"subsets":["vietnamese","latin-ext","latin"]},"Dangrek":{"family":"Dangrek","category":"display","variants":["regular"],"subsets":["khmer"]},"Darker Grotesque":{"family":"Darker Grotesque","category":"sans-serif","variants":["300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"David Libre":{"family":"David Libre","category":"serif","variants":["regular","500","700"],"subsets":["vietnamese","hebrew","latin-ext","latin"]},"Dawning of a New Day":{"family":"Dawning of a New Day","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Days One":{"family":"Days One","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Dekko":{"family":"Dekko","category":"handwriting","variants":["regular"],"subsets":["devanagari","latin-ext","latin"]},"Delius":{"family":"Delius","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Delius Swash Caps":{"family":"Delius Swash Caps","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Delius Unicase":{"family":"Delius Unicase","category":"handwriting","variants":["regular","700"],"subsets":["latin"]},"Della Respira":{"family":"Della Respira","category":"serif","variants":["regular"],"subsets":["latin"]},"Denk One":{"family":"Denk One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Devonshire":{"family":"Devonshire","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Dhurjati":{"family":"Dhurjati","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Didact Gothic":{"family":"Didact Gothic","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Diplomata":{"family":"Diplomata","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Diplomata SC":{"family":"Diplomata SC","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Do Hyeon":{"family":"Do Hyeon","category":"sans-serif","variants":["regular"],"subsets":["korean","latin"]},"Dokdo":{"family":"Dokdo","category":"handwriting","variants":["regular"],"subsets":["korean","latin"]},"Domine":{"family":"Domine","category":"serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Donegal One":{"family":"Donegal One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Doppio One":{"family":"Doppio One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Dorsa":{"family":"Dorsa","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Dosis":{"family":"Dosis","category":"sans-serif","variants":["200","300","regular","500","600","700","800"],"subsets":["vietnamese","latin-ext","latin"]},"Dr Sugiyama":{"family":"Dr Sugiyama","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Duru Sans":{"family":"Duru Sans","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Dynalight":{"family":"Dynalight","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"EB Garamond":{"family":"EB Garamond","category":"serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Eagle Lake":{"family":"Eagle Lake","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"East Sea Dokdo":{"family":"East Sea Dokdo","category":"handwriting","variants":["regular"],"subsets":["korean","latin"]},"Eater":{"family":"Eater","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Economica":{"family":"Economica","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Eczar":{"family":"Eczar","category":"serif","variants":["regular","500","600","700","800"],"subsets":["devanagari","latin-ext","latin"]},"El Messiri":{"family":"El Messiri","category":"sans-serif","variants":["regular","500","600","700"],"subsets":["cyrillic","arabic","latin"]},"Electrolize":{"family":"Electrolize","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Elsie":{"family":"Elsie","category":"display","variants":["regular","900"],"subsets":["latin-ext","latin"]},"Elsie Swash Caps":{"family":"Elsie Swash Caps","category":"display","variants":["regular","900"],"subsets":["latin-ext","latin"]},"Emblema One":{"family":"Emblema One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Emilys Candy":{"family":"Emilys Candy","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Encode Sans":{"family":"Encode Sans","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Encode Sans Condensed":{"family":"Encode Sans Condensed","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Encode Sans Expanded":{"family":"Encode Sans Expanded","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Encode Sans Semi Condensed":{"family":"Encode Sans Semi Condensed","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Encode Sans Semi Expanded":{"family":"Encode Sans Semi Expanded","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Engagement":{"family":"Engagement","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Englebert":{"family":"Englebert","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Enriqueta":{"family":"Enriqueta","category":"serif","variants":["regular","500","600","700"],"subsets":["latin-ext","latin"]},"Erica One":{"family":"Erica One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Esteban":{"family":"Esteban","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Euphoria Script":{"family":"Euphoria Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Ewert":{"family":"Ewert","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Exo":{"family":"Exo","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Exo 2":{"family":"Exo 2","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Expletus Sans":{"family":"Expletus Sans","category":"display","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin"]},"Fahkwang":{"family":"Fahkwang","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Fanwood Text":{"family":"Fanwood Text","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"Farro":{"family":"Farro","category":"sans-serif","variants":["300","regular","500","700"],"subsets":["latin-ext","latin"]},"Farsan":{"family":"Farsan","category":"display","variants":["regular"],"subsets":["vietnamese","gujarati","latin-ext","latin"]},"Fascinate":{"family":"Fascinate","category":"display","variants":["regular"],"subsets":["latin"]},"Fascinate Inline":{"family":"Fascinate Inline","category":"display","variants":["regular"],"subsets":["latin"]},"Faster One":{"family":"Faster One","category":"display","variants":["regular"],"subsets":["latin"]},"Fasthand":{"family":"Fasthand","category":"serif","variants":["regular"],"subsets":["khmer"]},"Fauna One":{"family":"Fauna One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Faustina":{"family":"Faustina","category":"serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Federant":{"family":"Federant","category":"display","variants":["regular"],"subsets":["latin"]},"Federo":{"family":"Federo","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Felipa":{"family":"Felipa","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Fenix":{"family":"Fenix","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Finger Paint":{"family":"Finger Paint","category":"display","variants":["regular"],"subsets":["latin"]},"Fira Code":{"family":"Fira Code","category":"monospace","variants":["300","regular","500","600","700"],"subsets":["cyrillic","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Fira Mono":{"family":"Fira Mono","category":"monospace","variants":["regular","500","700"],"subsets":["cyrillic","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Fira Sans":{"family":"Fira Sans","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Fira Sans Condensed":{"family":"Fira Sans Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Fira Sans Extra Condensed":{"family":"Fira Sans Extra Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Fjalla One":{"family":"Fjalla One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Fjord One":{"family":"Fjord One","category":"serif","variants":["regular"],"subsets":["latin"]},"Flamenco":{"family":"Flamenco","category":"display","variants":["300","regular"],"subsets":["latin"]},"Flavors":{"family":"Flavors","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Fondamento":{"family":"Fondamento","category":"handwriting","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Fontdiner Swanky":{"family":"Fontdiner Swanky","category":"display","variants":["regular"],"subsets":["latin"]},"Forum":{"family":"Forum","category":"display","variants":["regular"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"Francois One":{"family":"Francois One","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Frank Ruhl Libre":{"family":"Frank Ruhl Libre","category":"serif","variants":["300","regular","500","700","900"],"subsets":["hebrew","latin-ext","latin"]},"Freckle Face":{"family":"Freckle Face","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Fredericka the Great":{"family":"Fredericka the Great","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Fredoka One":{"family":"Fredoka One","category":"display","variants":["regular"],"subsets":["latin"]},"Freehand":{"family":"Freehand","category":"display","variants":["regular"],"subsets":["khmer"]},"Fresca":{"family":"Fresca","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Frijole":{"family":"Frijole","category":"display","variants":["regular"],"subsets":["latin"]},"Fruktur":{"family":"Fruktur","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Fugaz One":{"family":"Fugaz One","category":"display","variants":["regular"],"subsets":["latin"]},"GFS Didot":{"family":"GFS Didot","category":"serif","variants":["regular"],"subsets":["greek"]},"GFS Neohellenic":{"family":"GFS Neohellenic","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["greek"]},"Gabriela":{"family":"Gabriela","category":"serif","variants":["regular"],"subsets":["cyrillic","cyrillic-ext","latin"]},"Gaegu":{"family":"Gaegu","category":"handwriting","variants":["300","regular","700"],"subsets":["korean","latin"]},"Gafata":{"family":"Gafata","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Galada":{"family":"Galada","category":"display","variants":["regular"],"subsets":["bengali","latin"]},"Galdeano":{"family":"Galdeano","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Galindo":{"family":"Galindo","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Gamja Flower":{"family":"Gamja Flower","category":"handwriting","variants":["regular"],"subsets":["korean","latin"]},"Gayathri":{"family":"Gayathri","category":"sans-serif","variants":["100","regular","700"],"subsets":["malayalam","latin"]},"Gentium Basic":{"family":"Gentium Basic","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Gentium Book Basic":{"family":"Gentium Book Basic","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Geo":{"family":"Geo","category":"sans-serif","variants":["regular","italic"],"subsets":["latin"]},"Geostar":{"family":"Geostar","category":"display","variants":["regular"],"subsets":["latin"]},"Geostar Fill":{"family":"Geostar Fill","category":"display","variants":["regular"],"subsets":["latin"]},"Germania One":{"family":"Germania One","category":"display","variants":["regular"],"subsets":["latin"]},"Gidugu":{"family":"Gidugu","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Gilda Display":{"family":"Gilda Display","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Give You Glory":{"family":"Give You Glory","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Glass Antiqua":{"family":"Glass Antiqua","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Glegoo":{"family":"Glegoo","category":"serif","variants":["regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Gloria Hallelujah":{"family":"Gloria Hallelujah","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Goblin One":{"family":"Goblin One","category":"display","variants":["regular"],"subsets":["latin"]},"Gochi Hand":{"family":"Gochi Hand","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Gorditas":{"family":"Gorditas","category":"display","variants":["regular","700"],"subsets":["latin"]},"Gothic A1":{"family":"Gothic A1","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["korean","latin"]},"Goudy Bookletter 1911":{"family":"Goudy Bookletter 1911","category":"serif","variants":["regular"],"subsets":["latin"]},"Graduate":{"family":"Graduate","category":"display","variants":["regular"],"subsets":["latin"]},"Grand Hotel":{"family":"Grand Hotel","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Gravitas One":{"family":"Gravitas One","category":"display","variants":["regular"],"subsets":["latin"]},"Great Vibes":{"family":"Great Vibes","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Grenze":{"family":"Grenze","category":"serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Griffy":{"family":"Griffy","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Gruppo":{"family":"Gruppo","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Gudea":{"family":"Gudea","category":"sans-serif","variants":["regular","italic","700"],"subsets":["latin-ext","latin"]},"Gugi":{"family":"Gugi","category":"display","variants":["regular"],"subsets":["korean","latin"]},"Gurajada":{"family":"Gurajada","category":"serif","variants":["regular"],"subsets":["telugu","latin"]},"Habibi":{"family":"Habibi","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Halant":{"family":"Halant","category":"serif","variants":["300","regular","500","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Hammersmith One":{"family":"Hammersmith One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Hanalei":{"family":"Hanalei","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Hanalei Fill":{"family":"Hanalei Fill","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Handlee":{"family":"Handlee","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Hanuman":{"family":"Hanuman","category":"serif","variants":["regular","700"],"subsets":["khmer"]},"Happy Monkey":{"family":"Happy Monkey","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Harmattan":{"family":"Harmattan","category":"sans-serif","variants":["regular"],"subsets":["arabic","latin"]},"Headland One":{"family":"Headland One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Heebo":{"family":"Heebo","category":"sans-serif","variants":["100","300","regular","500","700","800","900"],"subsets":["hebrew","latin"]},"Henny Penny":{"family":"Henny Penny","category":"display","variants":["regular"],"subsets":["latin"]},"Hepta Slab":{"family":"Hepta Slab","category":"serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Herr Von Muellerhoff":{"family":"Herr Von Muellerhoff","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Hi Melody":{"family":"Hi Melody","category":"handwriting","variants":["regular"],"subsets":["korean","latin"]},"Hind":{"family":"Hind","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Hind Guntur":{"family":"Hind Guntur","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["telugu","latin-ext","latin"]},"Hind Madurai":{"family":"Hind Madurai","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["tamil","latin-ext","latin"]},"Hind Siliguri":{"family":"Hind Siliguri","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["bengali","latin-ext","latin"]},"Hind Vadodara":{"family":"Hind Vadodara","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["gujarati","latin-ext","latin"]},"Holtwood One SC":{"family":"Holtwood One SC","category":"serif","variants":["regular"],"subsets":["latin"]},"Homemade Apple":{"family":"Homemade Apple","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Homenaje":{"family":"Homenaje","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"IBM Plex Mono":{"family":"IBM Plex Mono","category":"monospace","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"IBM Plex Sans":{"family":"IBM Plex Sans","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","greek","latin"]},"IBM Plex Sans Condensed":{"family":"IBM Plex Sans Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"IBM Plex Serif":{"family":"IBM Plex Serif","category":"serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"IM Fell DW Pica":{"family":"IM Fell DW Pica","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"IM Fell DW Pica SC":{"family":"IM Fell DW Pica SC","category":"serif","variants":["regular"],"subsets":["latin"]},"IM Fell Double Pica":{"family":"IM Fell Double Pica","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"IM Fell Double Pica SC":{"family":"IM Fell Double Pica SC","category":"serif","variants":["regular"],"subsets":["latin"]},"IM Fell English":{"family":"IM Fell English","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"IM Fell English SC":{"family":"IM Fell English SC","category":"serif","variants":["regular"],"subsets":["latin"]},"IM Fell French Canon":{"family":"IM Fell French Canon","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"IM Fell French Canon SC":{"family":"IM Fell French Canon SC","category":"serif","variants":["regular"],"subsets":["latin"]},"IM Fell Great Primer":{"family":"IM Fell Great Primer","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"IM Fell Great Primer SC":{"family":"IM Fell Great Primer SC","category":"serif","variants":["regular"],"subsets":["latin"]},"Iceberg":{"family":"Iceberg","category":"display","variants":["regular"],"subsets":["latin"]},"Iceland":{"family":"Iceland","category":"display","variants":["regular"],"subsets":["latin"]},"Imprima":{"family":"Imprima","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Inconsolata":{"family":"Inconsolata","category":"monospace","variants":["regular","700"],"subsets":["vietnamese","latin-ext","latin"]},"Inder":{"family":"Inder","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Indie Flower":{"family":"Indie Flower","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Inika":{"family":"Inika","category":"serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Inknut Antiqua":{"family":"Inknut Antiqua","category":"serif","variants":["300","regular","500","600","700","800","900"],"subsets":["devanagari","latin-ext","latin"]},"Irish Grover":{"family":"Irish Grover","category":"display","variants":["regular"],"subsets":["latin"]},"Istok Web":{"family":"Istok Web","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"Italiana":{"family":"Italiana","category":"serif","variants":["regular"],"subsets":["latin"]},"Italianno":{"family":"Italianno","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Itim":{"family":"Itim","category":"handwriting","variants":["regular"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Jacques Francois":{"family":"Jacques Francois","category":"serif","variants":["regular"],"subsets":["latin"]},"Jacques Francois Shadow":{"family":"Jacques Francois Shadow","category":"display","variants":["regular"],"subsets":["latin"]},"Jaldi":{"family":"Jaldi","category":"sans-serif","variants":["regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Jim Nightshade":{"family":"Jim Nightshade","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Jockey One":{"family":"Jockey One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Jolly Lodger":{"family":"Jolly Lodger","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Jomhuria":{"family":"Jomhuria","category":"display","variants":["regular"],"subsets":["arabic","latin-ext","latin"]},"Jomolhari":{"family":"Jomolhari","category":"serif","variants":["regular"],"subsets":["tibetan","latin"]},"Josefin Sans":{"family":"Josefin Sans","category":"sans-serif","variants":["100","100italic","300","300italic","regular","italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Josefin Slab":{"family":"Josefin Slab","category":"serif","variants":["100","100italic","300","300italic","regular","italic","600","600italic","700","700italic"],"subsets":["latin"]},"Joti One":{"family":"Joti One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Jua":{"family":"Jua","category":"sans-serif","variants":["regular"],"subsets":["korean","latin"]},"Judson":{"family":"Judson","category":"serif","variants":["regular","italic","700"],"subsets":["vietnamese","latin-ext","latin"]},"Julee":{"family":"Julee","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Julius Sans One":{"family":"Julius Sans One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Junge":{"family":"Junge","category":"serif","variants":["regular"],"subsets":["latin"]},"Jura":{"family":"Jura","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Just Another Hand":{"family":"Just Another Hand","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Just Me Again Down Here":{"family":"Just Me Again Down Here","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"K2D":{"family":"K2D","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Kadwa":{"family":"Kadwa","category":"serif","variants":["regular","700"],"subsets":["devanagari","latin"]},"Kalam":{"family":"Kalam","category":"handwriting","variants":["300","regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Kameron":{"family":"Kameron","category":"serif","variants":["regular","700"],"subsets":["latin"]},"Kanit":{"family":"Kanit","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Kantumruy":{"family":"Kantumruy","category":"sans-serif","variants":["300","regular","700"],"subsets":["khmer"]},"Karla":{"family":"Karla","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Karma":{"family":"Karma","category":"serif","variants":["300","regular","500","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Katibeh":{"family":"Katibeh","category":"display","variants":["regular"],"subsets":["arabic","latin-ext","latin"]},"Kaushan Script":{"family":"Kaushan Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Kavivanar":{"family":"Kavivanar","category":"handwriting","variants":["regular"],"subsets":["tamil","latin-ext","latin"]},"Kavoon":{"family":"Kavoon","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Kdam Thmor":{"family":"Kdam Thmor","category":"display","variants":["regular"],"subsets":["khmer"]},"Keania One":{"family":"Keania One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Kelly Slab":{"family":"Kelly Slab","category":"display","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Kenia":{"family":"Kenia","category":"display","variants":["regular"],"subsets":["latin"]},"Khand":{"family":"Khand","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Khmer":{"family":"Khmer","category":"display","variants":["regular"],"subsets":["khmer"]},"Khula":{"family":"Khula","category":"sans-serif","variants":["300","regular","600","700","800"],"subsets":["devanagari","latin-ext","latin"]},"Kirang Haerang":{"family":"Kirang Haerang","category":"display","variants":["regular"],"subsets":["korean","latin"]},"Kite One":{"family":"Kite One","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Knewave":{"family":"Knewave","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"KoHo":{"family":"KoHo","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Kodchasan":{"family":"Kodchasan","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Kosugi":{"family":"Kosugi","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","latin","japanese"]},"Kosugi Maru":{"family":"Kosugi Maru","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","latin","japanese"]},"Kotta One":{"family":"Kotta One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Koulen":{"family":"Koulen","category":"display","variants":["regular"],"subsets":["khmer"]},"Kranky":{"family":"Kranky","category":"display","variants":["regular"],"subsets":["latin"]},"Kreon":{"family":"Kreon","category":"serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin"]},"Kristi":{"family":"Kristi","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Krona One":{"family":"Krona One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Krub":{"family":"Krub","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Kumar One":{"family":"Kumar One","category":"display","variants":["regular"],"subsets":["gujarati","latin-ext","latin"]},"Kumar One Outline":{"family":"Kumar One Outline","category":"display","variants":["regular"],"subsets":["gujarati","latin-ext","latin"]},"Kurale":{"family":"Kurale","category":"serif","variants":["regular"],"subsets":["cyrillic","devanagari","latin-ext","cyrillic-ext","latin"]},"La Belle Aurore":{"family":"La Belle Aurore","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Lacquer":{"family":"Lacquer","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Laila":{"family":"Laila","category":"serif","variants":["300","regular","500","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Lakki Reddy":{"family":"Lakki Reddy","category":"handwriting","variants":["regular"],"subsets":["telugu","latin"]},"Lalezar":{"family":"Lalezar","category":"display","variants":["regular"],"subsets":["vietnamese","arabic","latin-ext","latin"]},"Lancelot":{"family":"Lancelot","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Lateef":{"family":"Lateef","category":"handwriting","variants":["regular"],"subsets":["arabic","latin"]},"Lato":{"family":"Lato","category":"sans-serif","variants":["100","100italic","300","300italic","regular","italic","700","700italic","900","900italic"],"subsets":["latin-ext","latin"]},"League Script":{"family":"League Script","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Leckerli One":{"family":"Leckerli One","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Ledger":{"family":"Ledger","category":"serif","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Lekton":{"family":"Lekton","category":"sans-serif","variants":["regular","italic","700"],"subsets":["latin-ext","latin"]},"Lemon":{"family":"Lemon","category":"display","variants":["regular"],"subsets":["latin"]},"Lemonada":{"family":"Lemonada","category":"display","variants":["300","regular","600","700"],"subsets":["vietnamese","arabic","latin-ext","latin"]},"Lexend Deca":{"family":"Lexend Deca","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Lexend Exa":{"family":"Lexend Exa","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Lexend Giga":{"family":"Lexend Giga","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Lexend Mega":{"family":"Lexend Mega","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Lexend Peta":{"family":"Lexend Peta","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Lexend Tera":{"family":"Lexend Tera","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Lexend Zetta":{"family":"Lexend Zetta","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Libre Barcode 128":{"family":"Libre Barcode 128","category":"display","variants":["regular"],"subsets":["latin"]},"Libre Barcode 128 Text":{"family":"Libre Barcode 128 Text","category":"display","variants":["regular"],"subsets":["latin"]},"Libre Barcode 39":{"family":"Libre Barcode 39","category":"display","variants":["regular"],"subsets":["latin"]},"Libre Barcode 39 Extended":{"family":"Libre Barcode 39 Extended","category":"display","variants":["regular"],"subsets":["latin"]},"Libre Barcode 39 Extended Text":{"family":"Libre Barcode 39 Extended Text","category":"display","variants":["regular"],"subsets":["latin"]},"Libre Barcode 39 Text":{"family":"Libre Barcode 39 Text","category":"display","variants":["regular"],"subsets":["latin"]},"Libre Baskerville":{"family":"Libre Baskerville","category":"serif","variants":["regular","italic","700"],"subsets":["latin-ext","latin"]},"Libre Caslon Display":{"family":"Libre Caslon Display","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Libre Caslon Text":{"family":"Libre Caslon Text","category":"serif","variants":["regular","italic","700"],"subsets":["latin-ext","latin"]},"Libre Franklin":{"family":"Libre Franklin","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin"]},"Life Savers":{"family":"Life Savers","category":"display","variants":["regular","700","800"],"subsets":["latin-ext","latin"]},"Lilita One":{"family":"Lilita One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Lily Script One":{"family":"Lily Script One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Limelight":{"family":"Limelight","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Linden Hill":{"family":"Linden Hill","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"Literata":{"family":"Literata","category":"serif","variants":["regular","500","600","700","italic","500italic","600italic","700italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","greek","latin"]},"Liu Jian Mao Cao":{"family":"Liu Jian Mao Cao","category":"handwriting","variants":["regular"],"subsets":["chinese-simplified","latin"]},"Livvic":{"family":"Livvic","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","900","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Lobster":{"family":"Lobster","category":"display","variants":["regular"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Lobster Two":{"family":"Lobster Two","category":"display","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Londrina Outline":{"family":"Londrina Outline","category":"display","variants":["regular"],"subsets":["latin"]},"Londrina Shadow":{"family":"Londrina Shadow","category":"display","variants":["regular"],"subsets":["latin"]},"Londrina Sketch":{"family":"Londrina Sketch","category":"display","variants":["regular"],"subsets":["latin"]},"Londrina Solid":{"family":"Londrina Solid","category":"display","variants":["100","300","regular","900"],"subsets":["latin"]},"Long Cang":{"family":"Long Cang","category":"handwriting","variants":["regular"],"subsets":["chinese-simplified","latin"]},"Lora":{"family":"Lora","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Love Ya Like A Sister":{"family":"Love Ya Like A Sister","category":"display","variants":["regular"],"subsets":["latin"]},"Loved by the King":{"family":"Loved by the King","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Lovers Quarrel":{"family":"Lovers Quarrel","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Luckiest Guy":{"family":"Luckiest Guy","category":"display","variants":["regular"],"subsets":["latin"]},"Lusitana":{"family":"Lusitana","category":"serif","variants":["regular","700"],"subsets":["latin"]},"Lustria":{"family":"Lustria","category":"serif","variants":["regular"],"subsets":["latin"]},"M PLUS 1p":{"family":"M PLUS 1p","category":"sans-serif","variants":["100","300","regular","500","700","800","900"],"subsets":["cyrillic","vietnamese","greek-ext","hebrew","latin-ext","cyrillic-ext","greek","latin","japanese"]},"M PLUS Rounded 1c":{"family":"M PLUS Rounded 1c","category":"sans-serif","variants":["100","300","regular","500","700","800","900"],"subsets":["cyrillic","vietnamese","greek-ext","hebrew","latin-ext","cyrillic-ext","greek","latin","japanese"]},"Ma Shan Zheng":{"family":"Ma Shan Zheng","category":"handwriting","variants":["regular"],"subsets":["chinese-simplified","latin"]},"Macondo":{"family":"Macondo","category":"display","variants":["regular"],"subsets":["latin"]},"Macondo Swash Caps":{"family":"Macondo Swash Caps","category":"display","variants":["regular"],"subsets":["latin"]},"Mada":{"family":"Mada","category":"sans-serif","variants":["200","300","regular","500","600","700","900"],"subsets":["arabic","latin"]},"Magra":{"family":"Magra","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Maiden Orange":{"family":"Maiden Orange","category":"display","variants":["regular"],"subsets":["latin"]},"Maitree":{"family":"Maitree","category":"serif","variants":["200","300","regular","500","600","700"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Major Mono Display":{"family":"Major Mono Display","category":"monospace","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Mako":{"family":"Mako","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Mali":{"family":"Mali","category":"handwriting","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Mallanna":{"family":"Mallanna","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Mandali":{"family":"Mandali","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Manjari":{"family":"Manjari","category":"sans-serif","variants":["100","regular","700"],"subsets":["malayalam","latin"]},"Mansalva":{"family":"Mansalva","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Manuale":{"family":"Manuale","category":"serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Marcellus":{"family":"Marcellus","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Marcellus SC":{"family":"Marcellus SC","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Marck Script":{"family":"Marck Script","category":"handwriting","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Margarine":{"family":"Margarine","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Markazi Text":{"family":"Markazi Text","category":"serif","variants":["regular","500","600","700"],"subsets":["vietnamese","arabic","latin-ext","latin"]},"Marko One":{"family":"Marko One","category":"serif","variants":["regular"],"subsets":["latin"]},"Marmelad":{"family":"Marmelad","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Martel":{"family":"Martel","category":"serif","variants":["200","300","regular","600","700","800","900"],"subsets":["devanagari","latin-ext","latin"]},"Martel Sans":{"family":"Martel Sans","category":"sans-serif","variants":["200","300","regular","600","700","800","900"],"subsets":["devanagari","latin-ext","latin"]},"Marvel":{"family":"Marvel","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Mate":{"family":"Mate","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"Mate SC":{"family":"Mate SC","category":"serif","variants":["regular"],"subsets":["latin"]},"Maven Pro":{"family":"Maven Pro","category":"sans-serif","variants":["regular","500","700","900"],"subsets":["vietnamese","latin-ext","latin"]},"McLaren":{"family":"McLaren","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Meddon":{"family":"Meddon","category":"handwriting","variants":["regular"],"subsets":["latin"]},"MedievalSharp":{"family":"MedievalSharp","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Medula One":{"family":"Medula One","category":"display","variants":["regular"],"subsets":["latin"]},"Meera Inimai":{"family":"Meera Inimai","category":"sans-serif","variants":["regular"],"subsets":["tamil","latin"]},"Megrim":{"family":"Megrim","category":"display","variants":["regular"],"subsets":["latin"]},"Meie Script":{"family":"Meie Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Merienda":{"family":"Merienda","category":"handwriting","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Merienda One":{"family":"Merienda One","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Merriweather":{"family":"Merriweather","category":"serif","variants":["300","300italic","regular","italic","700","700italic","900","900italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Merriweather Sans":{"family":"Merriweather Sans","category":"sans-serif","variants":["300","300italic","regular","italic","700","700italic","800","800italic"],"subsets":["latin-ext","latin"]},"Metal":{"family":"Metal","category":"display","variants":["regular"],"subsets":["khmer"]},"Metal Mania":{"family":"Metal Mania","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Metamorphous":{"family":"Metamorphous","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Metrophobic":{"family":"Metrophobic","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Michroma":{"family":"Michroma","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Milonga":{"family":"Milonga","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Miltonian":{"family":"Miltonian","category":"display","variants":["regular"],"subsets":["latin"]},"Miltonian Tattoo":{"family":"Miltonian Tattoo","category":"display","variants":["regular"],"subsets":["latin"]},"Mina":{"family":"Mina","category":"sans-serif","variants":["regular","700"],"subsets":["bengali","latin-ext","latin"]},"Miniver":{"family":"Miniver","category":"display","variants":["regular"],"subsets":["latin"]},"Miriam Libre":{"family":"Miriam Libre","category":"sans-serif","variants":["regular","700"],"subsets":["hebrew","latin-ext","latin"]},"Mirza":{"family":"Mirza","category":"display","variants":["regular","500","600","700"],"subsets":["arabic","latin-ext","latin"]},"Miss Fajardose":{"family":"Miss Fajardose","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Mitr":{"family":"Mitr","category":"sans-serif","variants":["200","300","regular","500","600","700"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Modak":{"family":"Modak","category":"display","variants":["regular"],"subsets":["devanagari","latin-ext","latin"]},"Modern Antiqua":{"family":"Modern Antiqua","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Mogra":{"family":"Mogra","category":"display","variants":["regular"],"subsets":["gujarati","latin-ext","latin"]},"Molengo":{"family":"Molengo","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Molle":{"family":"Molle","category":"handwriting","variants":["italic"],"subsets":["latin-ext","latin"]},"Monda":{"family":"Monda","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Monofett":{"family":"Monofett","category":"display","variants":["regular"],"subsets":["latin"]},"Monoton":{"family":"Monoton","category":"display","variants":["regular"],"subsets":["latin"]},"Monsieur La Doulaise":{"family":"Monsieur La Doulaise","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Montaga":{"family":"Montaga","category":"serif","variants":["regular"],"subsets":["latin"]},"Montez":{"family":"Montez","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Montserrat":{"family":"Montserrat","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Montserrat Alternates":{"family":"Montserrat Alternates","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Montserrat Subrayada":{"family":"Montserrat Subrayada","category":"sans-serif","variants":["regular","700"],"subsets":["latin"]},"Moul":{"family":"Moul","category":"display","variants":["regular"],"subsets":["khmer"]},"Moulpali":{"family":"Moulpali","category":"display","variants":["regular"],"subsets":["khmer"]},"Mountains of Christmas":{"family":"Mountains of Christmas","category":"display","variants":["regular","700"],"subsets":["latin"]},"Mouse Memoirs":{"family":"Mouse Memoirs","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Mr Bedfort":{"family":"Mr Bedfort","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Mr Dafoe":{"family":"Mr Dafoe","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Mr De Haviland":{"family":"Mr De Haviland","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Mrs Saint Delafield":{"family":"Mrs Saint Delafield","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Mrs Sheppards":{"family":"Mrs Sheppards","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Mukta":{"family":"Mukta","category":"sans-serif","variants":["200","300","regular","500","600","700","800"],"subsets":["devanagari","latin-ext","latin"]},"Mukta Mahee":{"family":"Mukta Mahee","category":"sans-serif","variants":["200","300","regular","500","600","700","800"],"subsets":["latin-ext","latin","gurmukhi"]},"Mukta Malar":{"family":"Mukta Malar","category":"sans-serif","variants":["200","300","regular","500","600","700","800"],"subsets":["tamil","latin-ext","latin"]},"Mukta Vaani":{"family":"Mukta Vaani","category":"sans-serif","variants":["200","300","regular","500","600","700","800"],"subsets":["gujarati","latin-ext","latin"]},"Muli":{"family":"Muli","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Mystery Quest":{"family":"Mystery Quest","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"NTR":{"family":"NTR","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Nanum Brush Script":{"family":"Nanum Brush Script","category":"handwriting","variants":["regular"],"subsets":["korean","latin"]},"Nanum Gothic":{"family":"Nanum Gothic","category":"sans-serif","variants":["regular","700","800"],"subsets":["korean","latin"]},"Nanum Gothic Coding":{"family":"Nanum Gothic Coding","category":"monospace","variants":["regular","700"],"subsets":["korean","latin"]},"Nanum Myeongjo":{"family":"Nanum Myeongjo","category":"serif","variants":["regular","700","800"],"subsets":["korean","latin"]},"Nanum Pen Script":{"family":"Nanum Pen Script","category":"handwriting","variants":["regular"],"subsets":["korean","latin"]},"Neucha":{"family":"Neucha","category":"handwriting","variants":["regular"],"subsets":["cyrillic","latin"]},"Neuton":{"family":"Neuton","category":"serif","variants":["200","300","regular","italic","700","800"],"subsets":["latin-ext","latin"]},"New Rocker":{"family":"New Rocker","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"News Cycle":{"family":"News Cycle","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Niconne":{"family":"Niconne","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Niramit":{"family":"Niramit","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Nixie One":{"family":"Nixie One","category":"display","variants":["regular"],"subsets":["latin"]},"Nobile":{"family":"Nobile","category":"sans-serif","variants":["regular","italic","500","500italic","700","700italic"],"subsets":["latin-ext","latin"]},"Nokora":{"family":"Nokora","category":"serif","variants":["regular","700"],"subsets":["khmer"]},"Norican":{"family":"Norican","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Nosifer":{"family":"Nosifer","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Notable":{"family":"Notable","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Nothing You Could Do":{"family":"Nothing You Could Do","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Noticia Text":{"family":"Noticia Text","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Noto Sans":{"family":"Noto Sans","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","greek-ext","devanagari","latin-ext","cyrillic-ext","greek","latin"]},"Noto Sans HK":{"family":"Noto Sans HK","category":"sans-serif","variants":["100","300","regular","500","700","900"],"subsets":["chinese-hongkong","latin"]},"Noto Sans JP":{"family":"Noto Sans JP","category":"sans-serif","variants":["100","300","regular","500","700","900"],"subsets":["latin","japanese"]},"Noto Sans KR":{"family":"Noto Sans KR","category":"sans-serif","variants":["100","300","regular","500","700","900"],"subsets":["korean","latin"]},"Noto Sans SC":{"family":"Noto Sans SC","category":"sans-serif","variants":["100","300","regular","500","700","900"],"subsets":["cyrillic","vietnamese","chinese-simplified","latin"]},"Noto Sans TC":{"family":"Noto Sans TC","category":"sans-serif","variants":["100","300","regular","500","700","900"],"subsets":["chinese-traditional","latin"]},"Noto Serif":{"family":"Noto Serif","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Noto Serif JP":{"family":"Noto Serif JP","category":"serif","variants":["200","300","regular","500","600","700","900"],"subsets":["latin","japanese"]},"Noto Serif KR":{"family":"Noto Serif KR","category":"serif","variants":["200","300","regular","500","600","700","900"],"subsets":["korean","latin"]},"Noto Serif SC":{"family":"Noto Serif SC","category":"serif","variants":["200","300","regular","500","600","700","900"],"subsets":["cyrillic","vietnamese","chinese-simplified","latin"]},"Noto Serif TC":{"family":"Noto Serif TC","category":"serif","variants":["200","300","regular","500","600","700","900"],"subsets":["cyrillic","vietnamese","chinese-traditional","latin"]},"Nova Cut":{"family":"Nova Cut","category":"display","variants":["regular"],"subsets":["latin"]},"Nova Flat":{"family":"Nova Flat","category":"display","variants":["regular"],"subsets":["latin"]},"Nova Mono":{"family":"Nova Mono","category":"monospace","variants":["regular"],"subsets":["greek","latin"]},"Nova Oval":{"family":"Nova Oval","category":"display","variants":["regular"],"subsets":["latin"]},"Nova Round":{"family":"Nova Round","category":"display","variants":["regular"],"subsets":["latin"]},"Nova Script":{"family":"Nova Script","category":"display","variants":["regular"],"subsets":["latin"]},"Nova Slim":{"family":"Nova Slim","category":"display","variants":["regular"],"subsets":["latin"]},"Nova Square":{"family":"Nova Square","category":"display","variants":["regular"],"subsets":["latin"]},"Numans":{"family":"Numans","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Nunito":{"family":"Nunito","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Nunito Sans":{"family":"Nunito Sans","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","latin"]},"Odor Mean Chey":{"family":"Odor Mean Chey","category":"display","variants":["regular"],"subsets":["khmer"]},"Offside":{"family":"Offside","category":"display","variants":["regular"],"subsets":["latin"]},"Old Standard TT":{"family":"Old Standard TT","category":"serif","variants":["regular","italic","700"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Oldenburg":{"family":"Oldenburg","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Oleo Script":{"family":"Oleo Script","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Oleo Script Swash Caps":{"family":"Oleo Script Swash Caps","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Open Sans":{"family":"Open Sans","category":"sans-serif","variants":["300","300italic","regular","italic","600","600italic","700","700italic","800","800italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Open Sans Condensed":{"family":"Open Sans Condensed","category":"sans-serif","variants":["300","300italic","700"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Oranienbaum":{"family":"Oranienbaum","category":"serif","variants":["regular"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"Orbitron":{"family":"Orbitron","category":"sans-serif","variants":["regular","500","700","900"],"subsets":["latin"]},"Oregano":{"family":"Oregano","category":"display","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Orienta":{"family":"Orienta","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Original Surfer":{"family":"Original Surfer","category":"display","variants":["regular"],"subsets":["latin"]},"Oswald":{"family":"Oswald","category":"sans-serif","variants":["200","300","regular","500","600","700"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Over the Rainbow":{"family":"Over the Rainbow","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Overlock":{"family":"Overlock","category":"display","variants":["regular","italic","700","700italic","900","900italic"],"subsets":["latin-ext","latin"]},"Overlock SC":{"family":"Overlock SC","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Overpass":{"family":"Overpass","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin"]},"Overpass Mono":{"family":"Overpass Mono","category":"monospace","variants":["300","regular","600","700"],"subsets":["latin-ext","latin"]},"Ovo":{"family":"Ovo","category":"serif","variants":["regular"],"subsets":["latin"]},"Oxygen":{"family":"Oxygen","category":"sans-serif","variants":["300","regular","700"],"subsets":["latin-ext","latin"]},"Oxygen Mono":{"family":"Oxygen Mono","category":"monospace","variants":["regular"],"subsets":["latin-ext","latin"]},"PT Mono":{"family":"PT Mono","category":"monospace","variants":["regular"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"PT Sans":{"family":"PT Sans","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"PT Sans Caption":{"family":"PT Sans Caption","category":"sans-serif","variants":["regular","700"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"PT Sans Narrow":{"family":"PT Sans Narrow","category":"sans-serif","variants":["regular","700"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"PT Serif":{"family":"PT Serif","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"PT Serif Caption":{"family":"PT Serif Caption","category":"serif","variants":["regular","italic"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"Pacifico":{"family":"Pacifico","category":"handwriting","variants":["regular"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Padauk":{"family":"Padauk","category":"sans-serif","variants":["regular","700"],"subsets":["myanmar","latin"]},"Palanquin":{"family":"Palanquin","category":"sans-serif","variants":["100","200","300","regular","500","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Palanquin Dark":{"family":"Palanquin Dark","category":"sans-serif","variants":["regular","500","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Pangolin":{"family":"Pangolin","category":"handwriting","variants":["regular"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Paprika":{"family":"Paprika","category":"display","variants":["regular"],"subsets":["latin"]},"Parisienne":{"family":"Parisienne","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Passero One":{"family":"Passero One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Passion One":{"family":"Passion One","category":"display","variants":["regular","700","900"],"subsets":["latin-ext","latin"]},"Pathway Gothic One":{"family":"Pathway Gothic One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Patrick Hand":{"family":"Patrick Hand","category":"handwriting","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Patrick Hand SC":{"family":"Patrick Hand SC","category":"handwriting","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Pattaya":{"family":"Pattaya","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","vietnamese","latin-ext","thai","latin"]},"Patua One":{"family":"Patua One","category":"display","variants":["regular"],"subsets":["latin"]},"Pavanam":{"family":"Pavanam","category":"sans-serif","variants":["regular"],"subsets":["tamil","latin-ext","latin"]},"Paytone One":{"family":"Paytone One","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Peddana":{"family":"Peddana","category":"serif","variants":["regular"],"subsets":["telugu","latin"]},"Peralta":{"family":"Peralta","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Permanent Marker":{"family":"Permanent Marker","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Petit Formal Script":{"family":"Petit Formal Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Petrona":{"family":"Petrona","category":"serif","variants":["regular"],"subsets":["latin"]},"Philosopher":{"family":"Philosopher","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","cyrillic-ext","latin"]},"Piedra":{"family":"Piedra","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Pinyon Script":{"family":"Pinyon Script","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Pirata One":{"family":"Pirata One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Plaster":{"family":"Plaster","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Play":{"family":"Play","category":"sans-serif","variants":["regular","700"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","greek","latin"]},"Playball":{"family":"Playball","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Playfair Display":{"family":"Playfair Display","category":"serif","variants":["regular","italic","700","700italic","900","900italic"],"subsets":["cyrillic","vietnamese","latin-ext","latin"]},"Playfair Display SC":{"family":"Playfair Display SC","category":"serif","variants":["regular","italic","700","700italic","900","900italic"],"subsets":["cyrillic","vietnamese","latin-ext","latin"]},"Podkova":{"family":"Podkova","category":"serif","variants":["regular","500","600","700","800"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Poiret One":{"family":"Poiret One","category":"display","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Poller One":{"family":"Poller One","category":"display","variants":["regular"],"subsets":["latin"]},"Poly":{"family":"Poly","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"Pompiere":{"family":"Pompiere","category":"display","variants":["regular"],"subsets":["latin"]},"Pontano Sans":{"family":"Pontano Sans","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Poor Story":{"family":"Poor Story","category":"display","variants":["regular"],"subsets":["korean","latin"]},"Poppins":{"family":"Poppins","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["devanagari","latin-ext","latin"]},"Port Lligat Sans":{"family":"Port Lligat Sans","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Port Lligat Slab":{"family":"Port Lligat Slab","category":"serif","variants":["regular"],"subsets":["latin"]},"Pragati Narrow":{"family":"Pragati Narrow","category":"sans-serif","variants":["regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Prata":{"family":"Prata","category":"serif","variants":["regular"],"subsets":["cyrillic","vietnamese","cyrillic-ext","latin"]},"Preahvihear":{"family":"Preahvihear","category":"display","variants":["regular"],"subsets":["khmer"]},"Press Start 2P":{"family":"Press Start 2P","category":"display","variants":["regular"],"subsets":["cyrillic","latin-ext","cyrillic-ext","greek","latin"]},"Pridi":{"family":"Pridi","category":"serif","variants":["200","300","regular","500","600","700"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Princess Sofia":{"family":"Princess Sofia","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Prociono":{"family":"Prociono","category":"serif","variants":["regular"],"subsets":["latin"]},"Prompt":{"family":"Prompt","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Prosto One":{"family":"Prosto One","category":"display","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Proza Libre":{"family":"Proza Libre","category":"sans-serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["latin-ext","latin"]},"Puritan":{"family":"Puritan","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Purple Purse":{"family":"Purple Purse","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Quando":{"family":"Quando","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Quantico":{"family":"Quantico","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Quattrocento":{"family":"Quattrocento","category":"serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Quattrocento Sans":{"family":"Quattrocento Sans","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Questrial":{"family":"Questrial","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Quicksand":{"family":"Quicksand","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["vietnamese","latin-ext","latin"]},"Quintessential":{"family":"Quintessential","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Qwigley":{"family":"Qwigley","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Racing Sans One":{"family":"Racing Sans One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Radley":{"family":"Radley","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Rajdhani":{"family":"Rajdhani","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Rakkas":{"family":"Rakkas","category":"display","variants":["regular"],"subsets":["arabic","latin-ext","latin"]},"Raleway":{"family":"Raleway","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin"]},"Raleway Dots":{"family":"Raleway Dots","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Ramabhadra":{"family":"Ramabhadra","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Ramaraja":{"family":"Ramaraja","category":"serif","variants":["regular"],"subsets":["telugu","latin"]},"Rambla":{"family":"Rambla","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Rammetto One":{"family":"Rammetto One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Ranchers":{"family":"Ranchers","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Rancho":{"family":"Rancho","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Ranga":{"family":"Ranga","category":"display","variants":["regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Rasa":{"family":"Rasa","category":"serif","variants":["300","regular","500","600","700"],"subsets":["gujarati","latin-ext","latin"]},"Rationale":{"family":"Rationale","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Ravi Prakash":{"family":"Ravi Prakash","category":"display","variants":["regular"],"subsets":["telugu","latin"]},"Red Hat Display":{"family":"Red Hat Display","category":"sans-serif","variants":["regular","italic","500","500italic","700","700italic","900","900italic"],"subsets":["latin-ext","latin"]},"Red Hat Text":{"family":"Red Hat Text","category":"sans-serif","variants":["regular","italic","500","500italic","700","700italic"],"subsets":["latin-ext","latin"]},"Redressed":{"family":"Redressed","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Reem Kufi":{"family":"Reem Kufi","category":"sans-serif","variants":["regular"],"subsets":["arabic","latin"]},"Reenie Beanie":{"family":"Reenie Beanie","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Revalia":{"family":"Revalia","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Rhodium Libre":{"family":"Rhodium Libre","category":"serif","variants":["regular"],"subsets":["devanagari","latin-ext","latin"]},"Ribeye":{"family":"Ribeye","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Ribeye Marrow":{"family":"Ribeye Marrow","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Righteous":{"family":"Righteous","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Risque":{"family":"Risque","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Roboto":{"family":"Roboto","category":"sans-serif","variants":["100","100italic","300","300italic","regular","italic","500","500italic","700","700italic","900","900italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Roboto Condensed":{"family":"Roboto Condensed","category":"sans-serif","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Roboto Mono":{"family":"Roboto Mono","category":"monospace","variants":["100","100italic","300","300italic","regular","italic","500","500italic","700","700italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Roboto Slab":{"family":"Roboto Slab","category":"serif","variants":["100","300","regular","700"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Rochester":{"family":"Rochester","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Rock Salt":{"family":"Rock Salt","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Rokkitt":{"family":"Rokkitt","category":"serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Romanesco":{"family":"Romanesco","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Ropa Sans":{"family":"Ropa Sans","category":"sans-serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Rosario":{"family":"Rosario","category":"sans-serif","variants":["300","regular","500","600","700","300italic","italic","500italic","600italic","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Rosarivo":{"family":"Rosarivo","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Rouge Script":{"family":"Rouge Script","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Rozha One":{"family":"Rozha One","category":"serif","variants":["regular"],"subsets":["devanagari","latin-ext","latin"]},"Rubik":{"family":"Rubik","category":"sans-serif","variants":["300","300italic","regular","italic","500","500italic","700","700italic","900","900italic"],"subsets":["cyrillic","hebrew","latin-ext","latin"]},"Rubik Mono One":{"family":"Rubik Mono One","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Ruda":{"family":"Ruda","category":"sans-serif","variants":["regular","700","900"],"subsets":["latin-ext","latin"]},"Rufina":{"family":"Rufina","category":"serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Ruge Boogie":{"family":"Ruge Boogie","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Ruluko":{"family":"Ruluko","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Rum Raisin":{"family":"Rum Raisin","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Ruslan Display":{"family":"Ruslan Display","category":"display","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Russo One":{"family":"Russo One","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Ruthie":{"family":"Ruthie","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Rye":{"family":"Rye","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Sacramento":{"family":"Sacramento","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Sahitya":{"family":"Sahitya","category":"serif","variants":["regular","700"],"subsets":["devanagari","latin"]},"Sail":{"family":"Sail","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Saira":{"family":"Saira","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Saira Condensed":{"family":"Saira Condensed","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Saira Extra Condensed":{"family":"Saira Extra Condensed","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Saira Semi Condensed":{"family":"Saira Semi Condensed","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["vietnamese","latin-ext","latin"]},"Saira Stencil One":{"family":"Saira Stencil One","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Salsa":{"family":"Salsa","category":"display","variants":["regular"],"subsets":["latin"]},"Sanchez":{"family":"Sanchez","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Sancreek":{"family":"Sancreek","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Sansita":{"family":"Sansita","category":"sans-serif","variants":["regular","italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin"]},"Sarabun":{"family":"Sarabun","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Sarala":{"family":"Sarala","category":"sans-serif","variants":["regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Sarina":{"family":"Sarina","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Sarpanch":{"family":"Sarpanch","category":"sans-serif","variants":["regular","500","600","700","800","900"],"subsets":["devanagari","latin-ext","latin"]},"Satisfy":{"family":"Satisfy","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Sawarabi Gothic":{"family":"Sawarabi Gothic","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","vietnamese","latin-ext","latin","japanese"]},"Sawarabi Mincho":{"family":"Sawarabi Mincho","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","japanese"]},"Scada":{"family":"Scada","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","latin-ext","cyrillic-ext","latin"]},"Scheherazade":{"family":"Scheherazade","category":"serif","variants":["regular","700"],"subsets":["arabic","latin"]},"Schoolbell":{"family":"Schoolbell","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Scope One":{"family":"Scope One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Seaweed Script":{"family":"Seaweed Script","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Secular One":{"family":"Secular One","category":"sans-serif","variants":["regular"],"subsets":["hebrew","latin-ext","latin"]},"Sedgwick Ave":{"family":"Sedgwick Ave","category":"handwriting","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Sedgwick Ave Display":{"family":"Sedgwick Ave Display","category":"handwriting","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Sevillana":{"family":"Sevillana","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Seymour One":{"family":"Seymour One","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Shadows Into Light":{"family":"Shadows Into Light","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Shadows Into Light Two":{"family":"Shadows Into Light Two","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Shanti":{"family":"Shanti","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Share":{"family":"Share","category":"display","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Share Tech":{"family":"Share Tech","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Share Tech Mono":{"family":"Share Tech Mono","category":"monospace","variants":["regular"],"subsets":["latin"]},"Shojumaru":{"family":"Shojumaru","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Short Stack":{"family":"Short Stack","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Shrikhand":{"family":"Shrikhand","category":"display","variants":["regular"],"subsets":["gujarati","latin-ext","latin"]},"Siemreap":{"family":"Siemreap","category":"display","variants":["regular"],"subsets":["khmer"]},"Sigmar One":{"family":"Sigmar One","category":"display","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Signika":{"family":"Signika","category":"sans-serif","variants":["300","regular","600","700"],"subsets":["latin-ext","latin"]},"Signika Negative":{"family":"Signika Negative","category":"sans-serif","variants":["300","regular","600","700"],"subsets":["latin-ext","latin"]},"Simonetta":{"family":"Simonetta","category":"display","variants":["regular","italic","900","900italic"],"subsets":["latin-ext","latin"]},"Single Day":{"family":"Single Day","category":"display","variants":["regular"],"subsets":["korean"]},"Sintony":{"family":"Sintony","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Sirin Stencil":{"family":"Sirin Stencil","category":"display","variants":["regular"],"subsets":["latin"]},"Six Caps":{"family":"Six Caps","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Skranji":{"family":"Skranji","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Slabo 13px":{"family":"Slabo 13px","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Slabo 27px":{"family":"Slabo 27px","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Slackey":{"family":"Slackey","category":"display","variants":["regular"],"subsets":["latin"]},"Smokum":{"family":"Smokum","category":"display","variants":["regular"],"subsets":["latin"]},"Smythe":{"family":"Smythe","category":"display","variants":["regular"],"subsets":["latin"]},"Sniglet":{"family":"Sniglet","category":"display","variants":["regular","800"],"subsets":["latin-ext","latin"]},"Snippet":{"family":"Snippet","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Snowburst One":{"family":"Snowburst One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Sofadi One":{"family":"Sofadi One","category":"display","variants":["regular"],"subsets":["latin"]},"Sofia":{"family":"Sofia","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Song Myung":{"family":"Song Myung","category":"serif","variants":["regular"],"subsets":["korean","latin"]},"Sonsie One":{"family":"Sonsie One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Sorts Mill Goudy":{"family":"Sorts Mill Goudy","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Source Code Pro":{"family":"Source Code Pro","category":"monospace","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","900","900italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","greek","latin"]},"Source Sans Pro":{"family":"Source Sans Pro","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","600","600italic","700","700italic","900","900italic"],"subsets":["cyrillic","vietnamese","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Source Serif Pro":{"family":"Source Serif Pro","category":"serif","variants":["regular","600","700"],"subsets":["latin-ext","latin"]},"Space Mono":{"family":"Space Mono","category":"monospace","variants":["regular","italic","700","700italic"],"subsets":["vietnamese","latin-ext","latin"]},"Special Elite":{"family":"Special Elite","category":"display","variants":["regular"],"subsets":["latin"]},"Spectral":{"family":"Spectral","category":"serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["cyrillic","vietnamese","latin-ext","latin"]},"Spectral SC":{"family":"Spectral SC","category":"serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["cyrillic","vietnamese","latin-ext","latin"]},"Spicy Rice":{"family":"Spicy Rice","category":"display","variants":["regular"],"subsets":["latin"]},"Spinnaker":{"family":"Spinnaker","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Spirax":{"family":"Spirax","category":"display","variants":["regular"],"subsets":["latin"]},"Squada One":{"family":"Squada One","category":"display","variants":["regular"],"subsets":["latin"]},"Sree Krushnadevaraya":{"family":"Sree Krushnadevaraya","category":"serif","variants":["regular"],"subsets":["telugu","latin"]},"Sriracha":{"family":"Sriracha","category":"handwriting","variants":["regular"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Srisakdi":{"family":"Srisakdi","category":"display","variants":["regular","700"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Staatliches":{"family":"Staatliches","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Stalemate":{"family":"Stalemate","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Stalinist One":{"family":"Stalinist One","category":"display","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Stardos Stencil":{"family":"Stardos Stencil","category":"display","variants":["regular","700"],"subsets":["latin"]},"Stint Ultra Condensed":{"family":"Stint Ultra Condensed","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Stint Ultra Expanded":{"family":"Stint Ultra Expanded","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Stoke":{"family":"Stoke","category":"serif","variants":["300","regular"],"subsets":["latin-ext","latin"]},"Strait":{"family":"Strait","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Stylish":{"family":"Stylish","category":"sans-serif","variants":["regular"],"subsets":["korean","latin"]},"Sue Ellen Francisco":{"family":"Sue Ellen Francisco","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Suez One":{"family":"Suez One","category":"serif","variants":["regular"],"subsets":["hebrew","latin-ext","latin"]},"Sumana":{"family":"Sumana","category":"serif","variants":["regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Sunflower":{"family":"Sunflower","category":"sans-serif","variants":["300","500","700"],"subsets":["korean","latin"]},"Sunshiney":{"family":"Sunshiney","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Supermercado One":{"family":"Supermercado One","category":"display","variants":["regular"],"subsets":["latin"]},"Sura":{"family":"Sura","category":"serif","variants":["regular","700"],"subsets":["devanagari","latin-ext","latin"]},"Suranna":{"family":"Suranna","category":"serif","variants":["regular"],"subsets":["telugu","latin"]},"Suravaram":{"family":"Suravaram","category":"serif","variants":["regular"],"subsets":["telugu","latin"]},"Suwannaphum":{"family":"Suwannaphum","category":"display","variants":["regular"],"subsets":["khmer"]},"Swanky and Moo Moo":{"family":"Swanky and Moo Moo","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Syncopate":{"family":"Syncopate","category":"sans-serif","variants":["regular","700"],"subsets":["latin"]},"Tajawal":{"family":"Tajawal","category":"sans-serif","variants":["200","300","regular","500","700","800","900"],"subsets":["arabic","latin"]},"Tangerine":{"family":"Tangerine","category":"handwriting","variants":["regular","700"],"subsets":["latin"]},"Taprom":{"family":"Taprom","category":"display","variants":["regular"],"subsets":["khmer"]},"Tauri":{"family":"Tauri","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Taviraj":{"family":"Taviraj","category":"serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Teko":{"family":"Teko","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["devanagari","latin-ext","latin"]},"Telex":{"family":"Telex","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Tenali Ramakrishna":{"family":"Tenali Ramakrishna","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Tenor Sans":{"family":"Tenor Sans","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Text Me One":{"family":"Text Me One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Thasadith":{"family":"Thasadith","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"The Girl Next Door":{"family":"The Girl Next Door","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Tienne":{"family":"Tienne","category":"serif","variants":["regular","700","900"],"subsets":["latin"]},"Tillana":{"family":"Tillana","category":"handwriting","variants":["regular","500","600","700","800"],"subsets":["devanagari","latin-ext","latin"]},"Timmana":{"family":"Timmana","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Tinos":{"family":"Tinos","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","vietnamese","greek-ext","hebrew","latin-ext","cyrillic-ext","greek","latin"]},"Titan One":{"family":"Titan One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Titillium Web":{"family":"Titillium Web","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","600","600italic","700","700italic","900"],"subsets":["latin-ext","latin"]},"Trade Winds":{"family":"Trade Winds","category":"display","variants":["regular"],"subsets":["latin"]},"Trirong":{"family":"Trirong","category":"serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["vietnamese","latin-ext","thai","latin"]},"Trocchi":{"family":"Trocchi","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Trochut":{"family":"Trochut","category":"display","variants":["regular","italic","700"],"subsets":["latin"]},"Trykker":{"family":"Trykker","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Tulpen One":{"family":"Tulpen One","category":"display","variants":["regular"],"subsets":["latin"]},"Turret Road":{"family":"Turret Road","category":"display","variants":["200","300","regular","500","700","800"],"subsets":["latin-ext","latin"]},"Ubuntu":{"family":"Ubuntu","category":"sans-serif","variants":["300","300italic","regular","italic","500","500italic","700","700italic"],"subsets":["cyrillic","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Ubuntu Condensed":{"family":"Ubuntu Condensed","category":"sans-serif","variants":["regular"],"subsets":["cyrillic","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Ubuntu Mono":{"family":"Ubuntu Mono","category":"monospace","variants":["regular","italic","700","700italic"],"subsets":["cyrillic","greek-ext","latin-ext","cyrillic-ext","greek","latin"]},"Ultra":{"family":"Ultra","category":"serif","variants":["regular"],"subsets":["latin"]},"Uncial Antiqua":{"family":"Uncial Antiqua","category":"display","variants":["regular"],"subsets":["latin"]},"Underdog":{"family":"Underdog","category":"display","variants":["regular"],"subsets":["cyrillic","latin-ext","latin"]},"Unica One":{"family":"Unica One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"UnifrakturCook":{"family":"UnifrakturCook","category":"display","variants":["700"],"subsets":["latin"]},"UnifrakturMaguntia":{"family":"UnifrakturMaguntia","category":"display","variants":["regular"],"subsets":["latin"]},"Unkempt":{"family":"Unkempt","category":"display","variants":["regular","700"],"subsets":["latin"]},"Unlock":{"family":"Unlock","category":"display","variants":["regular"],"subsets":["latin"]},"Unna":{"family":"Unna","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"VT323":{"family":"VT323","category":"monospace","variants":["regular"],"subsets":["vietnamese","latin-ext","latin"]},"Vampiro One":{"family":"Vampiro One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Varela":{"family":"Varela","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Varela Round":{"family":"Varela Round","category":"sans-serif","variants":["regular"],"subsets":["vietnamese","hebrew","latin-ext","latin"]},"Vast Shadow":{"family":"Vast Shadow","category":"display","variants":["regular"],"subsets":["latin"]},"Vesper Libre":{"family":"Vesper Libre","category":"serif","variants":["regular","500","700","900"],"subsets":["devanagari","latin-ext","latin"]},"Vibes":{"family":"Vibes","category":"display","variants":["regular"],"subsets":["arabic","latin"]},"Vibur":{"family":"Vibur","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Vidaloka":{"family":"Vidaloka","category":"serif","variants":["regular"],"subsets":["latin"]},"Viga":{"family":"Viga","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Voces":{"family":"Voces","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Volkhov":{"family":"Volkhov","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Vollkorn":{"family":"Vollkorn","category":"serif","variants":["regular","italic","600","600italic","700","700italic","900","900italic"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","greek","latin"]},"Vollkorn SC":{"family":"Vollkorn SC","category":"serif","variants":["regular","600","700","900"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Voltaire":{"family":"Voltaire","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Waiting for the Sunrise":{"family":"Waiting for the Sunrise","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Wallpoet":{"family":"Wallpoet","category":"display","variants":["regular"],"subsets":["latin"]},"Walter Turncoat":{"family":"Walter Turncoat","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Warnes":{"family":"Warnes","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Wellfleet":{"family":"Wellfleet","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Wendy One":{"family":"Wendy One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Wire One":{"family":"Wire One","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Work Sans":{"family":"Work Sans","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin"]},"Yanone Kaffeesatz":{"family":"Yanone Kaffeesatz","category":"sans-serif","variants":["200","300","regular","700"],"subsets":["cyrillic","vietnamese","latin-ext","latin"]},"Yantramanav":{"family":"Yantramanav","category":"sans-serif","variants":["100","300","regular","500","700","900"],"subsets":["devanagari","latin-ext","latin"]},"Yatra One":{"family":"Yatra One","category":"display","variants":["regular"],"subsets":["devanagari","latin-ext","latin"]},"Yellowtail":{"family":"Yellowtail","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Yeon Sung":{"family":"Yeon Sung","category":"display","variants":["regular"],"subsets":["korean","latin"]},"Yeseva One":{"family":"Yeseva One","category":"display","variants":["regular"],"subsets":["cyrillic","vietnamese","latin-ext","cyrillic-ext","latin"]},"Yesteryear":{"family":"Yesteryear","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Yrsa":{"family":"Yrsa","category":"serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin"]},"ZCOOL KuaiLe":{"family":"ZCOOL KuaiLe","category":"display","variants":["regular"],"subsets":["chinese-simplified","latin"]},"ZCOOL QingKe HuangYou":{"family":"ZCOOL QingKe HuangYou","category":"display","variants":["regular"],"subsets":["chinese-simplified","latin"]},"ZCOOL XiaoWei":{"family":"ZCOOL XiaoWei","category":"serif","variants":["regular"],"subsets":["chinese-simplified","latin"]},"Zeyada":{"family":"Zeyada","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Zhi Mang Xing":{"family":"Zhi Mang Xing","category":"handwriting","variants":["regular"],"subsets":["chinese-simplified","latin"]},"Zilla Slab":{"family":"Zilla Slab","category":"serif","variants":["300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","latin"]},"Zilla Slab Highlight":{"family":"Zilla Slab Highlight","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]}}', true );
4
-
5
- if ( ! empty( $google_fonts['items'] ) ) {
6
- return $google_fonts['items'];
7
- }
8
- return $google_fonts;
 
 
 
 
 
 
 
 
features/customizer/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden
features/index.php CHANGED
@@ -1,3 +1,2 @@
1
- <?php
2
  // Silence is golden
3
- // Golden is deprecated
1
+ <?php
2
  // Silence is golden
 
includes/admin-settings/core/callbacks/cache/invalidate_cache.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php defined('ABSPATH') or die;
2
+
3
+ function pixcustomify_cache_invalidate_cache() {
4
+ PixCustomifyPlugin()->invalidate_all_caches();
5
+ }
includes/admin-settings/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden
includes/admin-settings/views/form-partials/fields/multicheckbox.php CHANGED
@@ -30,7 +30,7 @@ $attrs = array(
30
  } ?>
31
  <fieldset class="multicheckbox_option">
32
  <input <?php echo $field->htmlattributes( $attrs ) ?>>
33
- <label id="<?php echo $value ?>"><?php echo $label ?></label>
34
  </fieldset>
35
  <?php } ?>
36
  </div>
30
  } ?>
31
  <fieldset class="multicheckbox_option">
32
  <input <?php echo $field->htmlattributes( $attrs ) ?>>
33
+ <label id="<?php echo esc_attr( $value ) ?>"><?php echo $label ?></label>
34
  </fieldset>
35
  <?php } ?>
36
  </div>
includes/admin-settings/views/form-partials/fields/reset_theme_mod.php CHANGED
@@ -25,40 +25,7 @@ $attrs = array(
25
  'type' => 'checkbox',
26
  ); ?>
27
  <div class="reset_customify_theme_mod">
28
- <div class="button" id="reset_theme_mods"><?php esc_html_e( 'Reset Theme Mods', 'customify' ); ?></div>
29
- <script>
30
- (function ($) {
31
- $(document).ready(function () {
32
- $('#reset_theme_mods').on('click', function () {
33
- var confirm = window.confirm('Are you sure?');
34
-
35
- if ( ! confirm ) {
36
- return false;
37
- }
38
-
39
- $.ajax({
40
- url: customify_settings.wp_rest.root + 'customify/v1/delete_theme_mod',
41
- method: 'POST',
42
- beforeSend: function (xhr) {
43
- xhr.setRequestHeader('X-WP-Nonce', customify_settings.wp_rest.nonce);
44
- },
45
- data: {
46
- 'customify_settings_nonce': customify_settings.wp_rest.customify_settings_nonce
47
- }
48
- }).done(function (response) {
49
- if ( response.success ) {
50
- alert( 'Success: ' + response.data );
51
- } else {
52
- alert( 'No luck: ' + response.data );
53
- }
54
- }).error(function (e) {
55
- console.log(e);
56
- });
57
- });
58
- });
59
-
60
- })(jQuery)
61
- </script>
62
  </div>
63
  <br>
64
- <div class="field-desc"><?php esc_html_e('Resets all the Customizer settings introduced by the plugin. It will NOT reset core Customizer settings or plugin settings.'); ?></div>
25
  'type' => 'checkbox',
26
  ); ?>
27
  <div class="reset_customify_theme_mod">
28
+ <div class="button" id="reset_theme_mods"><?php esc_html_e( 'Reset Customizer Settings', 'customify' ); ?></div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  </div>
30
  <br>
31
+ <div class="field-desc"><?php esc_html_e('Resets all the Customizer settings introduced by this plugin. It will NOT reset core Customizer settings or plugin settings.'); ?></div>
includes/{class-customify-gutenberg.php → class-customify-block-editor.php} RENAMED
@@ -11,13 +11,13 @@ if ( ! defined( 'ABSPATH' ) ) {
11
  exit; // Exit if accessed directly
12
  }
13
 
14
- if ( ! class_exists( 'Customify_Gutenberg' ) ) {
15
 
16
- class Customify_Gutenberg {
17
 
18
  /**
19
  * Holds the only instance of this class.
20
- * @var null|Customify_Gutenberg
21
  * @access protected
22
  * @since 2.2.0
23
  */
@@ -119,10 +119,11 @@ if ( ! class_exists( 'Customify_Gutenberg' ) ) {
119
  */
120
  public function add_hooks() {
121
 
122
- add_action( 'enqueue_block_editor_assets', array( $this, 'dynamic_styles' ), 999 );
 
123
 
124
  // Styles on the front end.
125
- add_action( 'wp_enqueue_scripts', array( $this, 'frontend_styles' ), 999 );
126
 
127
  add_action( 'admin_init', array( $this, 'editor_color_palettes' ), 20 );
128
  }
@@ -136,11 +137,18 @@ if ( ! class_exists( 'Customify_Gutenberg' ) ) {
136
  */
137
  public function is_supported() {
138
  $gutenberg = false;
139
- if ( has_filter( 'replace_editor', 'gutenberg_init' ) ) {
 
 
140
  // Gutenberg is installed and activated.
141
  $gutenberg = true;
142
  }
143
 
 
 
 
 
 
144
  return apply_filters( 'customify_gutenberg_is_supported', $gutenberg );
145
  }
146
 
@@ -152,8 +160,8 @@ if ( ! class_exists( 'Customify_Gutenberg' ) ) {
152
 
153
  // We need to look into the registered theme stylesheets and get the one most likely to be used for Gutenberg.
154
  // Thus we can attach inline styles to it.
155
- $theme_dir_uri = get_stylesheet_directory_uri();
156
- $theme_slug = get_stylesheet();
157
 
158
  $handle = 'wp-edit-post'; // this is better than nothing as it is the main editor style.
159
  $reversed = array_reverse( $wp_styles->registered );
@@ -183,10 +191,10 @@ if ( ! class_exists( 'Customify_Gutenberg' ) ) {
183
 
184
  // We need to look into the registered theme stylesheets and get the one most likely to be used for Gutenberg.
185
  // Thus we can attach inline styles to it.
186
- $style_css_uri = get_stylesheet_uri();
187
- $theme_slug = get_stylesheet();
188
 
189
- $handle = 'wp-edit-post'; // this is better than nothing as it is the main editor style.
190
  $reversed = array_reverse( $wp_styles->registered );
191
  /** @var _WP_Dependency $style */
192
  foreach ( $reversed as $style ) {
@@ -208,47 +216,54 @@ if ( ! class_exists( 'Customify_Gutenberg' ) ) {
208
  }
209
 
210
  /**
211
- * Output Customify's dynamic styles in the Gutenberg context.
212
  *
213
  * @since 2.2.0
214
  */
215
- public function dynamic_styles() {
216
- $enqueue_parent_handle = $this->get_editor_style_handle();
 
 
217
 
218
- if ( PixCustomifyPlugin()->settings->get_plugin_setting( 'enable_editor_style', true ) ) {
219
- add_filter( 'customify_typography_css_selector', array(
220
- $this,
221
- 'gutenbergify_font_css_selectors'
222
- ), 10, 2 );
223
- wp_add_inline_script( 'wp-editor', PixCustomifyPlugin()->customizer->get_typography_dynamic_script() );
224
- wp_add_inline_style( $enqueue_parent_handle, PixCustomifyPlugin()->customizer->get_typography_dynamic_style() );
225
- remove_filter( 'customify_typography_css_selector', array(
226
- $this,
227
- 'gutenbergify_font_css_selectors'
228
- ), 10 );
229
-
230
- add_filter( 'customify_font_css_selector', array( $this, 'gutenbergify_font_css_selectors' ), 10, 2 );
231
- require_once( PixCustomifyPlugin()->get_base_path() . 'features/class-Font_Selector.php' );
232
- wp_add_inline_script( 'wp-editor', Customify_Font_Selector::instance()->get_fonts_dynamic_script() );
233
- wp_add_inline_style( $enqueue_parent_handle, Customify_Font_Selector::instance()->get_fonts_dynamic_style() );
234
- remove_filter( 'customify_font_css_selector', array( $this, 'gutenbergify_font_css_selectors' ), 10 );
235
-
236
- add_filter( 'customify_css_selector', array( $this, 'gutenbergify_css_selectors' ), 10, 2 );
237
- wp_add_inline_style( $enqueue_parent_handle, PixCustomifyPlugin()->customizer->get_dynamic_style() );
238
- remove_filter( 'customify_css_selector', array( $this, 'gutenbergify_css_selectors' ), 10 );
239
-
240
- // Add color palettes classes.
241
- wp_add_inline_style( $enqueue_parent_handle, $this->editor_color_palettes_css_classes() );
242
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
243
  }
244
 
245
  public function frontend_styles() {
246
- $enqueue_parent_handle = $this->get_editor_style_handle();
 
 
 
247
 
248
  // Add color palettes classes.
249
  wp_add_inline_style( $enqueue_parent_handle, $this->editor_color_palettes_css_classes() );
250
  }
251
 
 
 
 
 
 
 
252
  public function gutenbergify_css_selectors( $selectors, $css_property ) {
253
 
254
  // Treat the selector(s) as an array.
@@ -305,16 +320,15 @@ if ( ! class_exists( 'Customify_Gutenberg' ) ) {
305
  return implode( ', ', $new_selectors );
306
  }
307
 
 
 
 
 
 
308
  public function gutenbergify_font_css_selectors( $selectors ) {
309
 
310
- // Treat the selector(s) as an array.
311
- $selectors = $this->maybeExplodeSelectors( $selectors );
312
-
313
  $new_selectors = array();
314
- foreach ( $selectors as $selector ) {
315
- // Clean up
316
- $selector = trim( $selector );
317
-
318
  // If the selector matches the excluded, skip it.
319
  if ( $this->preg_match_any( self::$excluded_selectors_regex, $selector ) ) {
320
  continue;
@@ -322,33 +336,37 @@ if ( ! class_exists( 'Customify_Gutenberg' ) ) {
322
 
323
  // If the selector is already Gutenbergy, we will not do anything to it
324
  if ( preg_match( self::$gutenbergy_selector_regex, $selector ) ) {
325
- $new_selectors[] = $selector;
326
  continue;
327
  }
328
 
329
  // We will let :root selectors be
330
  if ( ':root' === $selector ) {
331
- $new_selectors[] = $selector;
332
  continue;
333
  }
334
 
335
  // For root html elements, we will not prefix them, but replace them with the block and title namespace.
336
  if ( preg_match( self::$root_regex, $selector ) ) {
337
- $new_selectors[] = preg_replace( '/^(html body|body|html|)/', self::$block_namespace_selector, $selector );
338
- $new_selectors[] = preg_replace( '/^(html body|body|html)/', self::$title_namespace_selector, $selector );
 
 
339
  continue;
340
  }
341
 
342
  // If we encounter selectors that seem that they could target the post title,
343
  // we will add selectors for the Gutenberg title also.
344
  if ( preg_match( self::$title_regex, $selector ) ) {
345
- $new_selectors[] = preg_replace( self::$title_regex, self::$title_input_namespace_selector, $selector );
 
346
  }
347
 
348
- $new_selectors[] = self::$block_namespace_selector . ' ' . $selector;
 
349
  }
350
 
351
- return implode( ', ', $new_selectors );
352
  }
353
 
354
  /**
@@ -492,11 +510,11 @@ if ( ! class_exists( 'Customify_Gutenberg' ) ) {
492
  }
493
 
494
  /**
495
- * Main Customify_Gutenberg Instance
496
  *
497
- * Ensures only one instance of Customify_Gutenberg is loaded or can be loaded.
498
  *
499
- * @return Customify_Gutenberg Main Customify_Gutenberg instance
500
  * @since 2.2.0
501
  * @static
502
  *
@@ -508,7 +526,7 @@ if ( ! class_exists( 'Customify_Gutenberg' ) ) {
508
  }
509
 
510
  return self::$_instance;
511
- } // End instance ()
512
 
513
  /**
514
  * Cloning is forbidden.
@@ -530,5 +548,4 @@ if ( ! class_exists( 'Customify_Gutenberg' ) ) {
530
  _doing_it_wrong( __FUNCTION__, esc_html__( 'You should not do that!', 'customify' ), null );
531
  }
532
  }
533
-
534
  }
11
  exit; // Exit if accessed directly
12
  }
13
 
14
+ if ( ! class_exists( 'Customify_Block_Editor' ) ) {
15
 
16
+ class Customify_Block_Editor {
17
 
18
  /**
19
  * Holds the only instance of this class.
20
+ * @var null|Customify_Block_Editor
21
  * @access protected
22
  * @since 2.2.0
23
  */
119
  */
120
  public function add_hooks() {
121
 
122
+ // Styles and scripts when editing.
123
+ add_action( 'enqueue_block_editor_assets', array( $this, 'dynamic_styles_scripts' ), 999 );
124
 
125
  // Styles on the front end.
126
+ add_action( 'enqueue_block_assets', array( $this, 'frontend_styles' ), 999 );
127
 
128
  add_action( 'admin_init', array( $this, 'editor_color_palettes' ), 20 );
129
  }
137
  */
138
  public function is_supported() {
139
  $gutenberg = false;
140
+
141
+ // Determine if the block editor is active for the frontend.
142
+ if ( has_action( 'enqueue_block_assets' ) ) {
143
  // Gutenberg is installed and activated.
144
  $gutenberg = true;
145
  }
146
 
147
+ // Determine if the block editor is being used in the WP admin.
148
+ if ( is_admin() && get_current_screen()->is_block_editor() ) {
149
+ $gutenberg = true;
150
+ }
151
+
152
  return apply_filters( 'customify_gutenberg_is_supported', $gutenberg );
153
  }
154
 
160
 
161
  // We need to look into the registered theme stylesheets and get the one most likely to be used for Gutenberg.
162
  // Thus we can attach inline styles to it.
163
+ $theme_dir_uri = get_template_directory_uri();
164
+ $theme_slug = get_template();
165
 
166
  $handle = 'wp-edit-post'; // this is better than nothing as it is the main editor style.
167
  $reversed = array_reverse( $wp_styles->registered );
191
 
192
  // We need to look into the registered theme stylesheets and get the one most likely to be used for Gutenberg.
193
  // Thus we can attach inline styles to it.
194
+ $style_css_uri = get_template_directory_uri() . '/style.css';
195
+ $theme_slug = get_template();
196
 
197
+ $handle = 'wp-block-library'; // this is better than nothing as it is the main editor frontend style.
198
  $reversed = array_reverse( $wp_styles->registered );
199
  /** @var _WP_Dependency $style */
200
  foreach ( $reversed as $style ) {
216
  }
217
 
218
  /**
219
+ * Output Customify's dynamic styles and scripts in the Gutenberg context.
220
  *
221
  * @since 2.2.0
222
  */
223
+ public function dynamic_styles_scripts() {
224
+ if ( ! PixCustomifyPlugin()->settings->get_plugin_setting( 'enable_editor_style', true ) ) {
225
+ return;
226
+ }
227
 
228
+ require_once( PixCustomifyPlugin()->get_base_path() . 'includes/class-customify-fonts-global.php' );
229
+
230
+ $enqueue_parent_handle = $this->get_editor_style_handle();
231
+ if ( empty( $enqueue_parent_handle ) ) {
232
+ return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
233
  }
234
+
235
+ wp_register_script( PixCustomifyPlugin()->get_slug() . '-web-font-loader',
236
+ plugins_url( 'js/vendor/webfontloader-1-6-28.js', PixCustomifyPlugin()->get_file() ), array('wp-editor'), null );
237
+
238
+ add_filter( 'customify_font_css_selector', array( $this, 'gutenbergify_font_css_selectors' ), 10, 2 );
239
+ Customify_Fonts_Global::instance()->enqueue_frontend_scripts();
240
+ wp_add_inline_style( $enqueue_parent_handle, Customify_Fonts_Global::instance()->get_fonts_dynamic_style() );
241
+ remove_filter( 'customify_font_css_selector', array( $this, 'gutenbergify_font_css_selectors' ), 10 );
242
+
243
+ add_filter( 'customify_css_selector', array( $this, 'gutenbergify_css_selectors' ), 10, 2 );
244
+ wp_add_inline_style( $enqueue_parent_handle, PixCustomifyPlugin()->customizer->get_dynamic_style() );
245
+ remove_filter( 'customify_css_selector', array( $this, 'gutenbergify_css_selectors' ), 10 );
246
+
247
+ // Add color palettes classes.
248
+ wp_add_inline_style( $enqueue_parent_handle, $this->editor_color_palettes_css_classes() );
249
  }
250
 
251
  public function frontend_styles() {
252
+ $enqueue_parent_handle = $this->get_frontend_style_handle();
253
+ if ( empty( $enqueue_parent_handle ) ) {
254
+ return;
255
+ }
256
 
257
  // Add color palettes classes.
258
  wp_add_inline_style( $enqueue_parent_handle, $this->editor_color_palettes_css_classes() );
259
  }
260
 
261
+ /**
262
+ * @param string $selectors
263
+ * @param array $css_property
264
+ *
265
+ * @return string
266
+ */
267
  public function gutenbergify_css_selectors( $selectors, $css_property ) {
268
 
269
  // Treat the selector(s) as an array.
320
  return implode( ', ', $new_selectors );
321
  }
322
 
323
+ /**
324
+ * @param array $selectors An array of standardized, cleaned selectors where the key is the selector and the value is possible details array.
325
+ *
326
+ * @return array
327
+ */
328
  public function gutenbergify_font_css_selectors( $selectors ) {
329
 
 
 
 
330
  $new_selectors = array();
331
+ foreach ( $selectors as $selector => $selector_details ) {
 
 
 
332
  // If the selector matches the excluded, skip it.
333
  if ( $this->preg_match_any( self::$excluded_selectors_regex, $selector ) ) {
334
  continue;
336
 
337
  // If the selector is already Gutenbergy, we will not do anything to it
338
  if ( preg_match( self::$gutenbergy_selector_regex, $selector ) ) {
339
+ $new_selectors[ $selector ] = $selector_details;
340
  continue;
341
  }
342
 
343
  // We will let :root selectors be
344
  if ( ':root' === $selector ) {
345
+ $new_selectors[ $selector ] = $selector_details;
346
  continue;
347
  }
348
 
349
  // For root html elements, we will not prefix them, but replace them with the block and title namespace.
350
  if ( preg_match( self::$root_regex, $selector ) ) {
351
+ $new_selector = preg_replace( '/^(html body|body|html|)/', self::$block_namespace_selector, $selector );
352
+ $new_selectors[ $new_selector ] = $selector_details;
353
+ $new_selector = preg_replace( '/^(html body|body|html)/', self::$title_namespace_selector, $selector );
354
+ $new_selectors[ $new_selector ] = $selector_details;
355
  continue;
356
  }
357
 
358
  // If we encounter selectors that seem that they could target the post title,
359
  // we will add selectors for the Gutenberg title also.
360
  if ( preg_match( self::$title_regex, $selector ) ) {
361
+ $new_selector = preg_replace( self::$title_regex, self::$title_input_namespace_selector, $selector );
362
+ $new_selectors[ $new_selector ] = $selector_details;
363
  }
364
 
365
+ $selector = self::$block_namespace_selector . ' ' . $selector;
366
+ $new_selectors[ $selector ] = $selector_details;
367
  }
368
 
369
+ return $new_selectors;
370
  }
371
 
372
  /**
510
  }
511
 
512
  /**
513
+ * Main Customify_Block_Editor Instance
514
  *
515
+ * Ensures only one instance of Customify_Block_Editor is loaded or can be loaded.
516
  *
517
+ * @return Customify_Block_Editor Main Customify_Block_Editor instance
518
  * @since 2.2.0
519
  * @static
520
  *
526
  }
527
 
528
  return self::$_instance;
529
+ }
530
 
531
  /**
532
  * Cloning is forbidden.
548
  _doing_it_wrong( __FUNCTION__, esc_html__( 'You should not do that!', 'customify' ), null );
549
  }
550
  }
 
551
  }
includes/class-customify-classic-editor.php ADDED
@@ -0,0 +1,250 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This is the class that handles the overall logic for integration with the classic editor (TinyMCE).
4
+ *
5
+ * @see https://pixelgrade.com
6
+ * @author Pixelgrade
7
+ * @since 2.7.0
8
+ */
9
+
10
+ if ( ! defined( 'ABSPATH' ) ) {
11
+ exit; // Exit if accessed directly
12
+ }
13
+
14
+ if ( ! class_exists( 'Customify_Classic_Editor' ) ) {
15
+
16
+ class Customify_Classic_Editor {
17
+
18
+ /**
19
+ * Holds the only instance of this class.
20
+ * @var null|Customify_Classic_Editor
21
+ * @access protected
22
+ * @since 2.7.0
23
+ */
24
+ protected static $_instance = null;
25
+
26
+ /**
27
+ * Constructor.
28
+ *
29
+ * @since 2.7.0
30
+ */
31
+ protected function __construct() {
32
+ // We will initialize the logic after the plugin has finished with it's configuration (at priority 15).
33
+ add_action( 'init', array( $this, 'init' ), 15 );
34
+ }
35
+
36
+ /**
37
+ * Initialize this module.
38
+ *
39
+ * @since 2.7.0
40
+ */
41
+ public function init() {
42
+
43
+ // Hook up.
44
+ $this->add_hooks();
45
+ }
46
+
47
+ /**
48
+ * Initiate our hooks
49
+ *
50
+ * @since 2.7.0
51
+ */
52
+ public function add_hooks() {
53
+
54
+ add_action( 'admin_enqueue_scripts', array( $this, 'script_to_add_customizer_settings_into_wp_editor' ), 10, 1 );
55
+ }
56
+
57
+ /**
58
+ * Add our customizer styling edits into the wp_editor
59
+ */
60
+ function script_to_add_customizer_settings_into_wp_editor() {
61
+ // Bail if setting unchecked, if using the block editor,
62
+ // or we are not on an admin page that might have editors (something related to posts, at the moment).
63
+ if ( ! PixCustomifyPlugin()->settings->get_plugin_setting( 'enable_editor_style', true )
64
+ || get_current_screen()->is_block_editor()
65
+ || ! in_array( get_current_screen()->base, ['post'] ) ) {
66
+ return;
67
+ }
68
+
69
+ $script = $this->get_fonts_editor_dynamic_script();
70
+ if ( ! empty( $script ) ) {
71
+ // Make sure the the script is enqueued in the footer. We want all the DOM to be loaded and need jQuery.
72
+ wp_deregister_script( PixCustomifyPlugin()->get_slug() . '-web-font-loader' );
73
+ wp_register_script( PixCustomifyPlugin()->get_slug() . '-web-font-loader',
74
+ plugins_url( 'js/vendor/webfontloader-1-6-28.js', PixCustomifyPlugin()->get_file() ), array('jquery'), null, true );
75
+ wp_enqueue_script( PixCustomifyPlugin()->get_slug() . '-web-font-loader' );
76
+ wp_add_inline_script( PixCustomifyPlugin()->get_slug() . '-web-font-loader', $script );
77
+ }
78
+
79
+ ob_start();
80
+
81
+ PixCustomify_Customizer::instance()->output_dynamic_style();
82
+ Customify_Fonts_Global::instance()->output_fonts_dynamic_style();
83
+
84
+ $custom_output = ob_get_clean();
85
+
86
+ ob_start(); ?>
87
+ (function ($) {
88
+ $(window).on('load',function () {
89
+ /**
90
+ * @param iframe_id the id of the frame you want to append the style
91
+ * @param style_element the style element you want to append - boooom
92
+ */
93
+ const append_script_to_iframe = function (ifrm_id, scriptEl) {
94
+ var myIframe = document.getElementById(ifrm_id);
95
+
96
+ var script = myIframe.contentWindow.document.createElement("script");
97
+ script.type = "text/javascript";
98
+ if (scriptEl.getAttribute("src")) { script.src = scriptEl.getAttribute("src"); }
99
+ script.innerHTML = scriptEl.innerHTML;
100
+
101
+ myIframe.contentWindow.document.head.appendChild(script);
102
+ };
103
+
104
+ const append_style_to_iframe = function (ifrm_id, styleElement) {
105
+ var ifrm = window.frames[ifrm_id];
106
+ if ( typeof ifrm === "undefined" ) {
107
+ return;
108
+ }
109
+ ifrm = ( ifrm.contentDocument || ifrm.contentDocument || ifrm.document );
110
+ var head = ifrm.getElementsByTagName('head')[0];
111
+
112
+ if (typeof styleElement !== "undefined") {
113
+ head.appendChild(styleElement);
114
+ }
115
+ };
116
+
117
+ const xmlString = <?php echo json_encode( str_replace( "\n", "", $custom_output ) ); ?>,
118
+ parser = new DOMParser();
119
+
120
+ $('.mce-edit-area iframe').each(function(idx, iframe) {
121
+ if (typeof iframe.id !== 'undefined' ) {
122
+ const doc = parser.parseFromString(xmlString, "text/html");
123
+ $.each(doc.head.childNodes, function (key, el) {
124
+ if (typeof el !== "undefined" && typeof el.tagName !== "undefined") {
125
+
126
+ switch (el.tagName) {
127
+ case 'STYLE' :
128
+ append_style_to_iframe(iframe.id, el);
129
+ break;
130
+ case 'SCRIPT' :
131
+ append_script_to_iframe(iframe.id, el);
132
+ break;
133
+ default:
134
+ break;
135
+ }
136
+ }
137
+ });
138
+ }
139
+ })
140
+ });
141
+ })(jQuery);
142
+ <?php
143
+ $script = ob_get_clean();
144
+ wp_add_inline_script( 'editor', $script );
145
+
146
+ }
147
+
148
+ protected function get_fonts_editor_dynamic_script() {
149
+ // If typography has been deactivated from the settings, bail.
150
+ if ( ! PixCustomifyPlugin()->settings->get_plugin_setting( 'typography', '1' ) ) {
151
+ return '';
152
+ }
153
+
154
+ $args = Customify_Fonts_Global::instance()->get_font_families_details_for_webfontloader();
155
+
156
+ if ( empty ( $args['custom_families'] ) && empty ( $args['google_families'] ) ) {
157
+ return '';
158
+ }
159
+
160
+ ob_start(); ?>
161
+ (function ($) { $(window).on('load',function () {
162
+ const customifyIframeFontLoader = function(context) {
163
+ const webfontargs = {
164
+ classes: true,
165
+ events: true,
166
+ loading: function() {
167
+ $( window ).trigger( 'wf-loading' );
168
+ },
169
+ active: function() {
170
+ $( window ).trigger( 'wf-active' );
171
+ },
172
+ inactive: function() {
173
+ $( window ).trigger( 'wf-inactive' );
174
+ },
175
+ context: context
176
+ };
177
+ <?php if ( ! empty( $args['google_families'] ) ) { ?>
178
+ webfontargs.google = {
179
+ families: [<?php echo join( ',', $args['google_families'] ); ?>]
180
+ };
181
+ <?php }
182
+ $custom_families = array();
183
+ $custom_urls = array();
184
+
185
+ if ( ! empty( $args['custom_families'] ) && ! empty( $args['custom_srcs'] ) ) {
186
+ $custom_families += $args['custom_families'];
187
+ $custom_urls += $args['custom_srcs'];
188
+ }
189
+
190
+ if ( ! empty( $custom_families ) && ! empty( $custom_urls ) ) { ?>
191
+ webfontargs.custom = {
192
+ families: [<?php echo join( ',', $custom_families ); ?>],
193
+ urls: [<?php echo join( ',', $custom_urls ) ?>]
194
+ };
195
+ <?php } ?>
196
+ WebFont.load(webfontargs);
197
+ };
198
+ if (typeof WebFont !== 'undefined') {
199
+ $('.mce-edit-area iframe').each(function(idx, el) {
200
+ if (typeof el.id !== 'undefined' ) {
201
+ customifyIframeFontLoader(frames[el.id].contentWindow)
202
+ }
203
+ })
204
+ }
205
+ }); })(jQuery);<?php
206
+ $output = ob_get_clean();
207
+
208
+ return apply_filters( 'customify_fonts_editor_webfont_script', $output );
209
+ }
210
+
211
+ /**
212
+ * Main Customify_Classic_Editor Instance
213
+ *
214
+ * Ensures only one instance of Customify_Classic_Editor is loaded or can be loaded.
215
+ *
216
+ * @return Customify_Classic_Editor Main Customify_Classic_Editor instance
217
+ * @since 2.7.0
218
+ * @static
219
+ *
220
+ */
221
+ public static function instance() {
222
+
223
+ if ( is_null( self::$_instance ) ) {
224
+ self::$_instance = new self();
225
+ }
226
+
227
+ return self::$_instance;
228
+ }
229
+
230
+ /**
231
+ * Cloning is forbidden.
232
+ *
233
+ * @since 2.7.0
234
+ */
235
+ public function __clone() {
236
+
237
+ _doing_it_wrong( __FUNCTION__, esc_html__( 'You should not do that!', 'customify' ), null );
238
+ }
239
+
240
+ /**
241
+ * Unserializing instances of this class is forbidden.
242
+ *
243
+ * @since 2.7.0
244
+ */
245
+ public function __wakeup() {
246
+
247
+ _doing_it_wrong( __FUNCTION__, esc_html__( 'You should not do that!', 'customify' ), null );
248
+ }
249
+ }
250
+ }
includes/class-customify-cloud-fonts.php ADDED
@@ -0,0 +1,218 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * This is the class that handles the logic for Cloud Fonts.
4
+ *
5
+ * @see https://pixelgrade.com
6
+ * @author Pixelgrade
7
+ * @since 2.7.0
8
+ */
9
+
10
+ if ( ! defined( 'ABSPATH' ) ) {
11
+ exit; // Exit if accessed directly
12
+ }
13
+
14
+ if ( ! class_exists( 'Customify_Cloud_Fonts' ) ) :
15
+
16
+ class Customify_Cloud_Fonts {
17
+
18
+ /**
19
+ * Holds the only instance of this class.
20
+ * @var null|Customify_Cloud_Fonts
21
+ * @access protected
22
+ * @since 2.7.0
23
+ */
24
+ protected static $_instance = null;
25
+
26
+ /**
27
+ * Constructor.
28
+ *
29
+ * @since 2.7.0
30
+ */
31
+ protected function __construct() {
32
+ $this->init();
33
+ }
34
+
35
+ /**
36
+ * Initialize this module.
37
+ *
38
+ * @since 2.7.0
39
+ */
40
+ public function init() {
41
+ // Hook up.
42
+ $this->add_hooks();
43
+ }
44
+
45
+ /**
46
+ * Initiate our hooks
47
+ *
48
+ * @since 2.7.0
49
+ */
50
+ public function add_hooks() {
51
+ /*
52
+ * Handle the cloud fonts preprocessing.
53
+ */
54
+ add_filter( 'customify_get_cloud_fonts', array( $this, 'preprocess_config' ), 5, 1 );
55
+
56
+ /*
57
+ * Add the cloud fonts to the Font Selector
58
+ */
59
+ add_filter( 'customify_cloud_fonts', array( $this, 'add_fonts_to_font_selector' ), 10, 1 );
60
+ }
61
+
62
+ public function add_fonts_to_font_selector( $fonts ) {
63
+ if ( empty( $fonts ) ) {
64
+ $fonts = array();
65
+ }
66
+
67
+ if ( ! $this->is_supported() ) {
68
+ return $fonts;
69
+ }
70
+
71
+ $fonts = array_merge( $fonts, $this->get_fonts() );
72
+
73
+ return $fonts;
74
+ }
75
+
76
+ /**
77
+ * Preprocess the cloud fonts configuration.
78
+ *
79
+ * Convert the cloud font list to a format suitable for Customify.
80
+ *
81
+ * @since 2.7.0
82
+ *
83
+ * @param array $config
84
+ *
85
+ * @return array
86
+ */
87
+ public function preprocess_config( $config ) {
88
+ if ( empty( $config ) ) {
89
+ return $config;
90
+ }
91
+
92
+ $new_config = array();
93
+ foreach ( $config as $font_id => $font_config ) {
94
+ if ( empty( $font_config['font_family'] ) || empty( $font_config['stylesheet'] ) ) {
95
+ continue;
96
+ }
97
+
98
+
99
+ $new_config[ $font_config['font_family'] ] = $this->preprocess_font_config( $font_config );
100
+ }
101
+
102
+ return $new_config;
103
+ }
104
+
105
+ /**
106
+ * Preprocess a cloud font config before using it.
107
+ *
108
+ * @since 2.7.0
109
+ *
110
+ * @param array $font_config
111
+ *
112
+ * @return array
113
+ */
114
+ private function preprocess_font_config( $font_config ) {
115
+ if ( empty( $font_config ) ) {
116
+ return $font_config;
117
+ }
118
+
119
+ // We need to convert the received data structure to the one expected by Customify.
120
+ return array(
121
+ 'family' => $font_config['font_family'],
122
+ 'src' => $font_config['stylesheet'],
123
+ 'variants' => empty( $font_config['variants'] ) ? array() : $font_config['variants'],
124
+ );
125
+ }
126
+
127
+ /**
128
+ * Get the cloud fonts configuration.
129
+ *
130
+ * @since 2.7.0
131
+ *
132
+ * @param bool $skip_cache Optional. Whether to use the cached config or fetch a new one.
133
+ *
134
+ * @return array
135
+ */
136
+ public function get_fonts( $skip_cache = false ) {
137
+ // Make sure that the Design Assets class is loaded.
138
+ require_once 'lib/class-customify-design-assets.php';
139
+
140
+ // Get the design assets data.
141
+ $design_assets = Customify_Design_Assets::instance()->get( $skip_cache );
142
+ if ( false === $design_assets || empty( $design_assets['cloud_fonts'] ) ) {
143
+ $config = $this->get_default_config();
144
+ } else {
145
+ $config = $design_assets['cloud_fonts'];
146
+ }
147
+
148
+ return apply_filters( 'customify_get_cloud_fonts', $config );
149
+ }
150
+
151
+ /**
152
+ * Get the default (hard-coded) cloud fonts configuration.
153
+ *
154
+ * This is only a fallback config in case we can't communicate with the cloud, the first time.
155
+ *
156
+ * @since 2.7.0
157
+ *
158
+ * @return array
159
+ */
160
+ protected function get_default_config() {
161
+ $default_config = array(
162
+ );
163
+
164
+ return apply_filters( 'customify_style_manager_default_cloud_fonts', $default_config );
165
+ }
166
+
167
+ /**
168
+ * Determine if Cloud Fonts are supported.
169
+ *
170
+ * @since 2.7.0
171
+ *
172
+ * @return bool
173
+ */
174
+ public function is_supported() {
175
+ // For now we will only use the fact that Style Manager is supported.
176
+ return apply_filters( 'style_manager_cloud_fonts_are_supported', Customify_Style_Manager::instance()->is_supported() );
177
+ }
178
+
179
+ /**
180
+ * Main Customify_Cloud_Fonts Instance
181
+ *
182
+ * Ensures only one instance of Customify_Cloud_Fonts is loaded or can be loaded.
183
+ *
184
+ * @since 2.7.0
185
+ * @static
186
+ *
187
+ * @return Customify_Cloud_Fonts Main Customify_Cloud_Fonts instance
188
+ */
189
+ public static function instance() {
190
+
191
+ if ( is_null( self::$_instance ) ) {
192
+ self::$_instance = new self();
193
+ }
194
+ return self::$_instance;
195
+ }
196
+
197
+ /**
198
+ * Cloning is forbidden.
199
+ *
200
+ * @since 2.7.0
201
+ */
202
+ public function __clone() {
203
+
204
+ _doing_it_wrong( __FUNCTION__,esc_html__( 'You should not do that!', 'customify' ), null );
205
+ }
206
+
207
+ /**
208
+ * Unserializing instances of this class is forbidden.
209
+ *
210
+ * @since 2.7.0
211
+ */
212
+ public function __wakeup() {
213
+
214
+ _doing_it_wrong( __FUNCTION__, esc_html__( 'You should not do that!', 'customify' ), null );
215
+ }
216
+ }
217
+
218
+ endif;
includes/class-customify-color-palettes.php CHANGED
@@ -71,6 +71,9 @@ class Customify_Color_Palettes {
71
  */
72
  add_filter( 'customify_style_manager_get_site_data', array( $this, 'add_palettes_to_site_data' ), 10, 1 );
73
 
 
 
 
74
  /**
75
  * Reset various Color Palettes options on theme switch to ensure consistency.
76
  */
@@ -81,9 +84,11 @@ class Customify_Color_Palettes {
81
  * Register Customizer admin scripts
82
  */
83
  public function register_admin_customizer_scripts() {
84
- wp_register_script( PixCustomifyPlugin()->get_slug() . '-swap-values', plugins_url( 'js/customizer/swap-values.js', PixCustomifyPlugin()->get_file() ), array( 'jquery' ), PixCustomifyPlugin()->get_version() );
85
- wp_register_script( PixCustomifyPlugin()->get_slug() . '-color-palettes-variations', plugins_url( 'js/customizer/color-palettes-variations.js', PixCustomifyPlugin()->get_file() ), array( 'jquery' ), PixCustomifyPlugin()->get_version() );
86
- wp_register_script( PixCustomifyPlugin()->get_slug() . '-color-palettes', plugins_url( 'js/customizer/color-palettes.js', PixCustomifyPlugin()->get_file() ), array( 'jquery', PixCustomifyPlugin()->get_slug() . '-color-palettes-variations', PixCustomifyPlugin()->get_slug() . '-swap-values' ), PixCustomifyPlugin()->get_version() );
 
 
87
  }
88
 
89
  /**
@@ -1000,11 +1005,11 @@ class Customify_Color_Palettes {
1000
  /**
1001
  * Get all the defined Style Manager master color field ids.
1002
  *
1003
- * @param array $options_details
1004
  *
1005
  * @return array
1006
- *@since 1.7.4
1007
  *
 
1008
  */
1009
  public function get_all_master_color_controls_ids( $options_details = null ) {
1010
  $control_ids = array();
@@ -1026,36 +1031,6 @@ class Customify_Color_Palettes {
1026
  return $control_ids;
1027
  }
1028
 
1029
- /**
1030
- * Get all the defined Style Manager final (master) color field ids.
1031
- *
1032
- * @param array $options_details
1033
- *
1034
- * @return array
1035
- */
1036
- public function get_all_final_master_color_controls_ids( $options_details = null ) {
1037
- $control_ids = array();
1038
-
1039
- if ( empty( $options_details ) ) {
1040
- $options_details = PixCustomifyPlugin()->get_options_configs(true);
1041
- }
1042
-
1043
- if ( empty( $options_details ) ) {
1044
- return $control_ids;
1045
- }
1046
-
1047
- foreach ( $options_details as $option_id => $option_details ) {
1048
- if ( ! empty( $option_details['type'] )
1049
- && 'hidden' === $option_details['type']
1050
- && 0 === strpos( $option_id, 'sm_' )
1051
- && '_final' === substr( $option_id, - strlen( '_final' ) ) ) {
1052
- $control_ids[] = $option_id;
1053
- }
1054
- }
1055
-
1056
- return $control_ids;
1057
- }
1058
-
1059
  /**
1060
  * Add color palettes usage data to the site data sent to the cloud.
1061
  *
@@ -1080,6 +1055,138 @@ class Customify_Color_Palettes {
1080
  return $site_data;
1081
  }
1082
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1083
  /**
1084
  * Main Customify_Color_Palettes Instance
1085
  *
71
  */
72
  add_filter( 'customify_style_manager_get_site_data', array( $this, 'add_palettes_to_site_data' ), 10, 1 );
73
 
74
+ // Add configuration data to be passed to JS.
75
+ add_filter( 'customify_localized_js_settings', array( $this, 'add_to_localized_data' ), 10, 1 );
76
+
77
  /**
78
  * Reset various Color Palettes options on theme switch to ensure consistency.
79
  */
84
  * Register Customizer admin scripts
85
  */
86
  public function register_admin_customizer_scripts() {
87
+ $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
88
+
89
+ wp_register_script( PixCustomifyPlugin()->get_slug() . '-color-palettes',
90
+ plugins_url( 'js/customizer/color-palettes' . $suffix . '.js', PixCustomifyPlugin()->get_file() ),
91
+ array( 'jquery', ), PixCustomifyPlugin()->get_version() );
92
  }
93
 
94
  /**
1005
  /**
1006
  * Get all the defined Style Manager master color field ids.
1007
  *
1008
+ * @param array $options_details Optional.
1009
  *
1010
  * @return array
 
1011
  *
1012
+ * @since 1.7.4
1013
  */
1014
  public function get_all_master_color_controls_ids( $options_details = null ) {
1015
  $control_ids = array();
1031
  return $control_ids;
1032
  }
1033
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1034
  /**
1035
  * Add color palettes usage data to the site data sent to the cloud.
1036
  *
1055
  return $site_data;
1056
  }
1057
 
1058
+ /**
1059
+ * Add configuration data to be available to JS.
1060
+ *
1061
+ * @since 2.7.0
1062
+ *
1063
+ * @param array $localized
1064
+ *
1065
+ * @return array
1066
+ */
1067
+ public function add_to_localized_data( $localized ) {
1068
+ if ( empty( $localized['colorPalettes'] ) ) {
1069
+ $localized['colorPalettes'] = array();
1070
+ }
1071
+
1072
+ $localized['colorPalettes']['masterSettingIds'] = $this->get_all_master_color_controls_ids();
1073
+
1074
+ $localized['colorPalettes']['variations'] = [
1075
+ 'color_diversity_low' => [
1076
+ 'sm_color_primary' => [ 'sm_color_primary', 'sm_color_secondary', 'sm_color_tertiary' ],
1077
+ 'sm_color_secondary' => [],
1078
+ 'sm_color_tertiary' => [],
1079
+ ],
1080
+ 'color_diversity_medium' => [
1081
+ 'sm_color_primary' => [ 'sm_color_primary', 'sm_color_secondary' ],
1082
+ 'sm_color_secondary' => [ 'sm_color_tertiary' ],
1083
+ 'sm_color_tertiary' => [],
1084
+ ],
1085
+ 'color_diversity_high' => [
1086
+ 'sm_color_primary' => [ 'sm_color_primary' ],
1087
+ 'sm_color_secondary' => [ 'sm_color_secondary' ],
1088
+ 'sm_color_tertiary' => [ 'sm_color_tertiary' ],
1089
+ ],
1090
+ 'shuffle_remix' => [
1091
+ 'sm_color_primary' => [ 'sm_color_secondary' ],
1092
+ 'sm_color_secondary' => [ 'sm_color_tertiary' ],
1093
+ 'sm_color_tertiary' => [ 'sm_color_primary' ],
1094
+ ],
1095
+ 'shuffle_mixed' => [
1096
+ 'sm_color_primary' => [ 'sm_color_tertiary' ],
1097
+ 'sm_color_secondary' => [ 'sm_color_primary' ],
1098
+ 'sm_color_tertiary' => [ 'sm_color_secondary' ],
1099
+ ],
1100
+ 'light' => [
1101
+ 'sm_color_primary' => [ 'sm_color_primary' ],
1102
+ 'sm_color_secondary' => [ 'sm_color_secondary' ],
1103
+ 'sm_color_tertiary' => [ 'sm_color_tertiary' ],
1104
+ 'sm_dark_primary' => [ 'sm_dark_primary' ],
1105
+ 'sm_dark_secondary' => [ 'sm_dark_secondary' ],
1106
+ 'sm_dark_tertiary' => [ 'sm_dark_tertiary' ],
1107
+ 'sm_light_primary' => [ 'sm_light_primary' ],
1108
+ 'sm_light_secondary' => [ 'sm_light_secondary' ],
1109
+ 'sm_light_tertiary' => [ 'sm_light_tertiary' ],
1110
+ ],
1111
+ 'dark' => [
1112
+ 'sm_dark_primary' => [ 'sm_light_primary' ],
1113
+ 'sm_dark_secondary' => [ 'sm_light_secondary' ],
1114
+ 'sm_dark_tertiary' => [ 'sm_light_tertiary' ],
1115
+ 'sm_light_primary' => [ 'sm_dark_primary' ],
1116
+ 'sm_light_secondary' => [ 'sm_dark_secondary' ],
1117
+ 'sm_light_tertiary' => [ 'sm_dark_tertiary' ],
1118
+ ],
1119
+ 'colorful2' => [
1120
+ 'sm_color_primary' => [ 'sm_light_primary' ],
1121
+ 'sm_color_secondary' => [ 'sm_light_secondary' ],
1122
+ 'sm_color_tertiary' => [ 'sm_light_tertiary' ],
1123
+ 'sm_dark_primary' => [],
1124
+ 'sm_dark_secondary' => [],
1125
+ 'sm_dark_tertiary' => [],
1126
+ 'sm_light_primary' => [ 'sm_color_primary', 'sm_dark_primary' ],
1127
+ 'sm_light_secondary' => [ 'sm_color_secondary', 'sm_dark_secondary' ],
1128
+ 'sm_light_tertiary' => [ 'sm_color_tertiary', 'sm_dark_tertiary' ],
1129
+ ],
1130
+ 'colorful3' => [
1131
+ 'sm_color_primary' => [ 'sm_light_primary' ],
1132
+ 'sm_color_secondary' => [ 'sm_light_secondary' ],
1133
+ 'sm_color_tertiary' => [ 'sm_light_tertiary' ],
1134
+ 'sm_dark_primary' => [ 'sm_color_primary', 'sm_color_secondary', 'sm_color_tertiary' ],
1135
+ 'sm_dark_secondary' => [],
1136
+ 'sm_dark_tertiary' => [],
1137
+ 'sm_light_primary' => [ 'sm_dark_primary', 'sm_dark_secondary', 'sm_dark_tertiary' ],
1138
+ 'sm_light_secondary' => [],
1139
+ 'sm_light_tertiary' => [],
1140
+ ],
1141
+ 'colorful' => [
1142
+ 'sm_color_primary' => [ 'sm_color_secondary' ],
1143
+ 'sm_color_secondary' => [ 'sm_color_tertiary' ],
1144
+ 'sm_color_tertiary' => [ 'sm_color_primary' ],
1145
+ 'sm_dark_primary' => [ 'sm_dark_primary' ],
1146
+ 'sm_dark_secondary' => [ 'sm_dark_secondary' ],
1147
+ 'sm_dark_tertiary' => [ 'sm_dark_tertiary' ],
1148
+ 'sm_light_primary' => [ 'sm_light_primary' ],
1149
+ 'sm_light_secondary' => [ 'sm_light_secondary' ],
1150
+ 'sm_light_tertiary' => [ 'sm_light_tertiary' ],
1151
+ ],
1152
+ 'dark_alt' => [
1153
+ 'sm_color_primary' => [ 'sm_light_primary' ],
1154
+ 'sm_color_secondary' => [ 'sm_light_secondary' ],
1155
+ 'sm_color_tertiary' => [ 'sm_light_tertiary' ],
1156
+ 'sm_dark_primary' => [ 'sm_color_primary' ],
1157
+ 'sm_dark_secondary' => [ 'sm_color_secondary' ],
1158
+ 'sm_dark_tertiary' => [ 'sm_color_tertiary' ],
1159
+ 'sm_light_primary' => [ 'sm_dark_primary' ],
1160
+ 'sm_light_secondary' => [ 'sm_dark_secondary' ],
1161
+ 'sm_light_tertiary' => [ 'sm_dark_tertiary' ],
1162
+ ],
1163
+ 'colorful_alt' => [
1164
+ 'sm_color_primary' => [ 'sm_dark_primary' ],
1165
+ 'sm_color_secondary' => [ 'sm_dark_secondary' ],
1166
+ 'sm_color_tertiary' => [ 'sm_dark_tertiary' ],
1167
+ 'sm_dark_primary' => [ 'sm_light_primary' ],
1168
+ 'sm_dark_secondary' => [ 'sm_light_secondary' ],
1169
+ 'sm_dark_tertiary' => [ 'sm_light_tertiary' ],
1170
+ 'sm_light_primary' => [ 'sm_color_primary' ],
1171
+ 'sm_light_secondary' => [ 'sm_color_secondary' ],
1172
+ 'sm_light_tertiary' => [ 'sm_color_tertiary' ],
1173
+ ],
1174
+ 'light_alt' => [
1175
+ 'sm_color_primary' => [ 'sm_dark_primary' ],
1176
+ 'sm_color_secondary' => [ 'sm_dark_secondary' ],
1177
+ 'sm_color_tertiary' => [ 'sm_dark_tertiary' ],
1178
+ 'sm_dark_primary' => [ 'sm_color_primary' ],
1179
+ 'sm_dark_secondary' => [ 'sm_color_secondary' ],
1180
+ 'sm_dark_tertiary' => [ 'sm_color_tertiary' ],
1181
+ 'sm_light_primary' => [ 'sm_light_primary' ],
1182
+ 'sm_light_secondary' => [ 'sm_light_secondary' ],
1183
+ 'sm_light_tertiary' => [ 'sm_light_tertiary' ],
1184
+ ],
1185
+ ];
1186
+
1187
+ return $localized;
1188
+ }
1189
+
1190
  /**
1191
  * Main Customify_Color_Palettes Instance
1192
  *
includes/class-customify-customizer.php CHANGED
@@ -25,12 +25,6 @@ if ( ! class_exists( 'PixCustomify_Customizer' ) ) :
25
 
26
  protected $localized = array();
27
 
28
- protected $typo_settings;
29
-
30
- protected $google_fonts = null;
31
-
32
- protected $theme_fonts = null;
33
-
34
  protected $media_queries = array();
35
 
36
  // these properties will get 'px' as a default unit
@@ -87,15 +81,24 @@ if ( ! class_exists( 'PixCustomify_Customizer' ) ) :
87
  * @since 2.4.0
88
  */
89
  public function init() {
90
-
91
- $this->localized['options_name'] = PixCustomifyPlugin()->get_options_key();
92
-
93
- require_once( PixCustomifyPlugin()->get_base_path() . 'features/class-Font_Selector.php' );
94
- $this->localized['theme_fonts'] = $this->theme_fonts = Customify_Font_Selector::instance()->get_theme_fonts();
95
-
96
- $this->localized['ajax_url'] = admin_url( 'admin-ajax.php' );
97
- $this->localized['style_manager_user_feedback_nonce'] = wp_create_nonce( 'customify_style_manager_user_feedback' );
98
- $this->localized['style_manager_user_feedback_provided'] = get_option( 'style_manager_user_feedback_provided', false );
 
 
 
 
 
 
 
 
 
99
 
100
  // Hook up.
101
  $this->add_hooks();
@@ -126,18 +129,12 @@ if ( ! class_exists( 'PixCustomify_Customizer' ) ) :
126
  $load_location = PixCustomifyPlugin()->settings->get_plugin_setting( 'style_resources_location', 'wp_head' );
127
 
128
  add_action( $load_location, array( $this, 'output_dynamic_style' ), 99 );
129
- add_action( 'wp_head', array( $this, 'output_typography_dynamic_script' ), 10 );
130
- add_action( 'wp_head', array( $this, 'output_typography_dynamic_style' ), 10 );
131
 
132
  add_action( 'customize_register', array( $this, 'remove_default_sections' ), 11 );
133
  add_action( 'customize_register', array( $this, 'process_customizer_config' ), 12 );
134
  // Maybe the theme has instructed us to do things like removing sections or controls.
135
  add_action( 'customize_register', array( $this, 'maybe_process_config_extras' ), 13 );
136
 
137
- if ( PixCustomifyPlugin()->settings->get_plugin_setting( 'enable_editor_style', true ) ) {
138
- add_action( 'admin_enqueue_scripts', array( $this, 'script_to_add_customizer_settings_into_wp_editor' ), 10, 1 );
139
- }
140
-
141
  /*
142
  * Development related
143
  */
@@ -169,22 +166,28 @@ if ( ! class_exists( 'PixCustomify_Customizer' ) ) :
169
  * Register Customizer admin scripts
170
  */
171
  function register_admin_customizer_scripts() {
172
-
173
- wp_register_script( 'customify_select2', plugins_url( 'js/select2.min.js', PixCustomifyPlugin()->get_file() ), array( 'jquery' ), PixCustomifyPlugin()->get_version() );
174
- wp_register_script( 'jquery-react', plugins_url( 'js/jquery-react.js', PixCustomifyPlugin()->get_file() ), array( 'jquery' ), PixCustomifyPlugin()->get_version() );
175
-
176
- wp_register_script( 'customify-scale', plugins_url( 'js/customizer/scale-iframe.js', PixCustomifyPlugin()->get_file() ), array( 'jquery' ), PixCustomifyPlugin()->get_version() );
177
- wp_register_script( 'customify-fontselectfields', plugins_url( 'js/customizer/font-select-fields.js', PixCustomifyPlugin()->get_file() ), array( 'jquery' ), PixCustomifyPlugin()->get_version() );
178
-
179
- wp_register_script( PixCustomifyPlugin()->get_slug() . '-customizer-scripts', plugins_url( 'js/customizer.js', PixCustomifyPlugin()->get_file() ), array(
180
- 'jquery',
181
- 'customify_select2',
182
- 'underscore',
183
- 'customize-controls',
184
- 'customify-fontselectfields',
185
-
186
- 'customify-scale',
187
- ), PixCustomifyPlugin()->get_version() );
 
 
 
 
 
 
188
  }
189
 
190
  /**
@@ -194,29 +197,41 @@ if ( ! class_exists( 'PixCustomify_Customizer' ) ) :
194
  wp_enqueue_script( 'jquery-react' );
195
  wp_enqueue_script( PixCustomifyPlugin()->get_slug() . '-customizer-scripts' );
196
 
197
- wp_localize_script( PixCustomifyPlugin()->get_slug() . '-customizer-scripts', 'customify_settings', apply_filters( 'customify_localized_js_settings', $this->localized ) );
 
 
 
198
  }
199
 
200
  /** Register Customizer scripts loaded only on previewer page */
201
  function customizer_live_preview_register_scripts() {
202
- wp_register_script( PixCustomifyPlugin()->get_slug() . 'CSSOM', plugins_url( 'js/CSSOM.js', PixCustomifyPlugin()->get_file() ), array( 'jquery' ), PixCustomifyPlugin()->get_version(), true );
203
- wp_register_script( PixCustomifyPlugin()->get_slug() . 'cssUpdate', plugins_url( 'js/jquery.cssUpdate.js', PixCustomifyPlugin()->get_file() ), array( 'jquery' ), PixCustomifyPlugin()->get_version(), true );
204
- wp_register_script( PixCustomifyPlugin()->get_slug() . '-previewer-scripts', plugins_url( 'js/customizer_preview.js', PixCustomifyPlugin()->get_file() ), array(
205
- 'jquery',
206
- 'customize-preview',
207
- PixCustomifyPlugin()->get_slug() . 'CSSOM',
208
- PixCustomifyPlugin()->get_slug() . 'cssUpdate'
209
- ), PixCustomifyPlugin()->get_version(), true );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
210
  }
211
 
212
  /** Enqueue Customizer scripts loaded only on previewer page */
213
  function customizer_live_preview_enqueue_scripts() {
214
  wp_enqueue_script( PixCustomifyPlugin()->get_slug() . '-previewer-scripts' );
215
-
216
- // when a live preview field is in action we need to know which props need 'px' as defaults
217
- $this->localized['px_dependent_css_props'] = self::$pixel_dependent_css_properties;
218
-
219
- wp_localize_script( PixCustomifyPlugin()->get_slug() . '-previewer-scripts', 'customify_settings', $this->localized );
220
  }
221
 
222
  /**
@@ -371,347 +386,6 @@ if ( ! class_exists( 'PixCustomify_Customizer' ) ) :
371
  return apply_filters( 'customify_dynamic_style', $custom_css );
372
  }
373
 
374
- protected function load_google_fonts() {
375
- $fonts_path = PixCustomifyPlugin()->get_base_path() . 'features/customizer/controls/resources/google.fonts.php';
376
-
377
- if ( file_exists( $fonts_path ) ) {
378
- $this->google_fonts = require( $fonts_path );
379
- }
380
-
381
- if ( ! empty( $this->google_fonts ) ) {
382
- return $this->google_fonts;
383
- }
384
-
385
- return false;
386
- }
387
-
388
- function output_typography_dynamic_style() {
389
- $style = $this->get_typography_dynamic_style();
390
-
391
- if ( ! empty( $style ) ) { ?>
392
- <style id="customify_typography_output_style">
393
- <?php echo $style; ?>
394
- </style>
395
- <?php }
396
- }
397
-
398
- function get_typography_dynamic_style() {
399
- $output = '';
400
-
401
- $this->get_typography_fields( PixCustomifyPlugin()->get_options_details( true ), 'type', 'typography', $this->typo_settings );
402
-
403
- if ( empty( $this->typo_settings ) ) {
404
- return $output;
405
- }
406
-
407
- ob_start();
408
- foreach ( $this->typo_settings as $font ) {
409
- $selector = apply_filters( 'customify_typography_css_selector', $font['selector'], $font );
410
-
411
- $load_all_weights = false;
412
- if ( isset( $font['load_all_weights'] ) && $font['load_all_weights'] == 'true' ) {
413
- $load_all_weights = true;
414
- }
415
-
416
- if ( isset( $selector ) && isset( $font['value'] ) && ! empty( $font['value'] ) ) {
417
- // Make sure that the value is in the proper format
418
- $value = PixCustomifyPlugin::decodeURIComponent( $font['value'] );
419
- if ( is_string( $value ) ) {
420
- $value = json_decode( $value, true );
421
- }
422
-
423
- // In case the value is null (most probably because the json_decode failed),
424
- // try the default value (mostly for google fonts)
425
- if ( $value === null ) {
426
- $value = $this->get_font_defaults_value( $font['value'] );
427
- }
428
-
429
- // Shim the old case when the default was only the font name
430
- if ( ! empty( $value ) && is_string( $value ) ) {
431
- $value = array( 'font_family' => $value );
432
- }
433
-
434
- // Handle special logic for when the $value array is not an associative array
435
- if ( ! PixCustomifyPlugin()->is_assoc( $value ) ) {
436
- $value = $this->standardize_non_associative_font_default( $value );
437
- }
438
-
439
- // Bail if empty or we don't have an array
440
- if ( empty( $value ) || ! is_array( $value ) ) {
441
- continue;
442
- }
443
-
444
- $selected_variant = '';
445
- if ( ! empty( $value['selected_variants'] ) ) {
446
- if ( is_array( $value['selected_variants'] ) ) {
447
- $selected_variant = $value['selected_variants'][0];
448
- } else {
449
- $selected_variant = $value['selected_variants'];
450
- }
451
- }
452
-
453
- // First handle the case where we have the font-family in the selected variant (usually this means a custom font from our Fonto plugin)
454
- if ( ! empty( $selected_variant ) && is_array( $selected_variant ) && ! empty( $selected_variant['font-family'] ) ) {
455
- // The variant's font-family
456
- echo $selector . " {\nfont-family: " . $selected_variant['font-family'] . ";\n";
457
-
458
- if ( ! $load_all_weights ) {
459
- // If this is a custom font (like from our plugin Fonto) with individual styles & weights - i.e. the font-family says it all
460
- // we need to "force" the font-weight and font-style
461
- if ( ! empty( $value['type'] ) && 'custom_individual' == $value['type'] ) {
462
- $selected_variant['font-weight'] = '400 !important';
463
- $selected_variant['font-style'] = 'normal !important';
464
- }
465
-
466
- // Output the font weight, if available
467
- if ( ! empty( $selected_variant['font-weight'] ) ) {
468
- echo "font-weight: " . $selected_variant['font-weight'] . ";\n";
469
- }
470
-
471
- // Output the font style, if available
472
- if ( ! empty( $selected_variant['font-style'] ) ) {
473
- echo "font-style: " . $selected_variant['font-style'] . ";\n";
474
- }
475
- }
476
-
477
- echo "}\n";
478
- } elseif ( isset( $value['font_family'] ) ) {
479
- // The selected font family
480
- echo $selector . " {\n font-family: " . $value['font_family'] . ";\n";
481
-
482
- if ( ! empty( $selected_variant ) && ! $load_all_weights ) {
483
- $weight_and_style = strtolower( $selected_variant );
484
-
485
- $italic_font = false;
486
-
487
- //determine if this is an italic font (the $weight_and_style is usually like '400' or '400italic' )
488
- if ( strpos( $weight_and_style, 'italic' ) !== false ) {
489
- $weight_and_style = str_replace( 'italic', '', $weight_and_style);
490
- $italic_font = true;
491
- }
492
-
493
- if ( ! empty( $weight_and_style ) ) {
494
- //a little bit of sanity check - in case it's not a number
495
- if( $weight_and_style === 'regular' ) {
496
- $weight_and_style = 'normal';
497
- }
498
- echo "font-weight: " . $weight_and_style . ";\n";
499
- }
500
-
501
- if ( $italic_font ) {
502
- echo "font-style: italic;\n";
503
- }
504
- }
505
-
506
- echo "}\n";
507
- }
508
- }
509
- }
510
-
511
- $output = ob_get_clean();
512
-
513
- return $output;
514
- }
515
-
516
- function output_typography_dynamic_script() {
517
-
518
- $script = $this->get_typography_dynamic_script();
519
- if ( ! empty ( $script ) ) { ?>
520
- <script type="text/javascript">
521
- <?php echo $script; ?>
522
- </script>
523
- <?php }
524
- }
525
-
526
- function get_typography_dynamic_script() {
527
- $output = '';
528
-
529
- $this->get_typography_fields( PixCustomifyPlugin()->get_options_details( true ), 'type', 'typography', $this->typo_settings );
530
-
531
- if ( empty( $this->typo_settings ) ) {
532
- return $output;
533
- }
534
-
535
- $families = '';
536
-
537
- foreach ( $this->typo_settings as $id => $font ) {
538
- if ( isset ( $font['value'] ) ) {
539
-
540
- $load_all_weights = false;
541
- if ( isset( $font['load_all_weights'] ) && $font['load_all_weights'] == 'true' ) {
542
- $load_all_weights = true;
543
- }
544
-
545
- // shim the time when this was an array
546
- // @todo Is this really needed? Or does it make sense?
547
- if ( is_array( $font['value'] ) ) {
548
- $font['value'] = stripslashes_deep( $font['value'] );
549
- $font['value'] = json_encode( $font['value'] );
550
- }
551
-
552
- $value = wp_unslash( PixCustomifyPlugin::decodeURIComponent( $font['value'] ) );
553
- if ( is_string( $value ) ) {
554
- $value = json_decode( $value, true );
555
- }
556
-
557
- // In case the value is still null, try default value (mostly for google fonts)
558
- if ( $value === null || ! is_array( $value ) ) {
559
- $value = $this->get_font_defaults_value( str_replace( '"', '', $font['value'] ) );
560
- }
561
-
562
- // Bail if by this time we don't have a value of some sort
563
- if ( empty( $value ) ) {
564
- continue;
565
- }
566
-
567
- // Handle special logic for when the $value array is not an associative array
568
- if ( ! PixCustomifyPlugin()->is_assoc( $value ) ) {
569
- $value = $this->standardize_non_associative_font_default( $value );
570
- }
571
-
572
- // Bail if empty or we don't have an array
573
- if ( empty( $value ) || ! is_array( $value ) ) {
574
- continue;
575
- }
576
-
577
- if ( isset( $value['font_family'] ) && isset( $value['type'] ) && $value['type'] == 'google' ) {
578
- $families .= "'" . $value['font_family'];
579
-
580
- if ( $load_all_weights && is_array( $value['variants'] ) ) {
581
- $families .= ":" . implode( ',', $value['variants'] );
582
- } elseif ( isset( $value['selected_variants'] ) && ! empty( $value['selected_variants'] ) ) {
583
- if ( is_array( $value['selected_variants'] ) ) {
584
- $families .= ":" . implode( ',', $value['selected_variants'] );
585
- } elseif ( is_string( $value['selected_variants'] ) || is_numeric( $value['selected_variants'] ) ) {
586
- $families .= ":" . $value['selected_variants'];
587
- }
588
- } elseif ( isset( $value['variants'] ) && ! empty( $value['variants'] ) ) {
589
- if ( is_array( $value['variants'] ) ) {
590
- $families .= ":" . implode( ',', $value['variants'] );
591
- } else {
592
- $families .= ":" . $value['variants'];
593
- }
594
- }
595
-
596
- if ( isset( $value['selected_subsets'] ) && ! empty( $value['selected_subsets'] ) ) {
597
- if ( is_array( $value['selected_subsets'] ) ) {
598
- $families .= ":" . implode( ',', $value['selected_subsets'] );
599
- } else {
600
- $families .= ":" . $value['selected_subsets'];
601
- }
602
- } elseif ( isset( $value['subsets'] ) && ! empty( $value['subsets'] ) ) {
603
- if ( is_array( $value['subsets'] ) ) {
604
- $families .= ":" . implode( ',', $value['subsets'] );
605
- } else {
606
- $families .= ":" . $value['subsets'];
607
- }
608
- }
609
-
610
- $families .= '\',';
611
- }
612
- }
613
- }
614
-
615
- if ( ! empty ( $families ) && PixCustomifyPlugin()->settings->get_plugin_setting( 'typography', '1' )
616
- && PixCustomifyPlugin()->settings->get_plugin_setting( 'typography_google_fonts', 1 ) ) {
617
- ob_start();
618
- ?>
619
- if (typeof WebFont !== 'undefined') {<?php // if there is a WebFont object, use it ?>
620
- WebFont.load({
621
- google: {families: [<?php echo( rtrim( $families, ',' ) ); ?>]},
622
- classes: false,
623
- events: false
624
- });
625
- } else {<?php // basically when we don't have the WebFont object we create the google script dynamically ?>
626
-
627
- var tk = document.createElement('script');
628
- tk.src = '//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
629
- tk.type = 'text/javascript';
630
-
631
- tk.onload = tk.onreadystatechange = function () {
632
- WebFont.load({
633
- google: {families: [<?php echo( rtrim( $families, ',' ) ); ?>]},
634
- classes: false,
635
- events: false
636
- });
637
- };
638
-
639
- var s = document.getElementsByTagName('script')[0];
640
- s.parentNode.insertBefore(tk, s);
641
- }<?php
642
- $output = ob_get_clean();
643
- }
644
-
645
- return $output;
646
- }
647
-
648
- /**
649
- * Handle special logic for when the $value array is not an associative array
650
- * Return a new associative array with proper keys
651
- */
652
- public function standardize_non_associative_font_default( $value ) {
653
- // If the value provided is not array, simply return it
654
- if ( ! is_array( $value ) ) {
655
- return $value;
656
- }
657
-
658
- $new_value = array();
659
-
660
- // Let's determine some type of font
661
- if ( ! isset( $value[2] ) || 'google' == $value[2] ) {
662
- $new_value = $this->get_font_defaults_value( $value[0] );
663
- } else {
664
- $new_value['type'] = $value[2];
665
- }
666
-
667
- if ( null == $new_value ) {
668
- $new_value = array();
669
- }
670
-
671
- // The first entry is the font-family
672
- if ( isset( $value[0] ) ) {
673
- $new_value['font_family'] = $value[0];
674
- }
675
-
676
- // In case we don't have an associative array
677
- // The second entry is the variants
678
- if ( isset( $value[1] ) ) {
679
- $new_value['selected_variants'] = $value[1];
680
- }
681
-
682
- return $new_value;
683
- }
684
-
685
- /**
686
- *
687
- * @param $font_name
688
- *
689
- * @return null
690
- */
691
- public function get_font_defaults_value( $font_name ) {
692
-
693
- if ( empty( $this->google_fonts ) ) {
694
- $this->load_google_fonts();
695
- }
696
-
697
- if ( isset( $this->google_fonts[ $font_name ] ) ) {
698
- $value = $this->google_fonts[ $font_name ];
699
- $value['font_family'] = $font_name;
700
- $value['type'] = 'google';
701
-
702
- return $value;
703
- } elseif ( isset( $this->theme_fonts[ $font_name ] ) ) {
704
- $value['type'] = 'theme_font';
705
- $value['src'] = $this->theme_fonts[ $font_name ]['src'];
706
- $value['variants'] = $this->theme_fonts[ $font_name ]['variants'];
707
- $value['font_family'] = $this->theme_fonts[ $font_name ]['family'];
708
-
709
- return $value;
710
- }
711
-
712
- return null;
713
- }
714
-
715
  /**
716
  * Turn css options into a valid CSS output
717
  *
@@ -746,25 +420,17 @@ if ( ! class_exists( 'PixCustomify_Customizer' ) ) :
746
  }
747
 
748
  protected function process_css_property( $css_property, $value ) {
749
- $unit = '';
750
-
751
- if ( isset( $css_property['unit'] ) ) {
752
- $unit = $css_property['unit'];
753
- }
754
-
755
- // if the unit isn't specified but the property should have a unit force 'px' as it
756
- if ( empty( $unit ) && in_array( $css_property['property'], self::$pixel_dependent_css_properties ) ) {
757
  $unit = 'px';
758
  }
759
 
760
- // lose the tons of tabs
761
- $css_property['selector'] = trim( preg_replace( '/\t+/', '', $css_property['selector'] ) );
762
-
763
- $css_property['selector'] = apply_filters( 'customify_css_selector', $css_property['selector'], $css_property );
764
-
765
  if ( empty( $css_property['selector'] ) ) {
766
  return '';
767
  }
 
768
  $property_output = $css_property['selector'] . ' { ' . $css_property['property'] . ': ' . $value . $unit . "; }" . "\n";
769
 
770
  // Handle the value filter callback.
@@ -871,78 +537,6 @@ if ( ! class_exists( 'PixCustomify_Customizer' ) ) :
871
  return $output;
872
  }
873
 
874
- /**
875
- * add our customizer styling edits into the wp_editor
876
- */
877
- function script_to_add_customizer_settings_into_wp_editor() {
878
-
879
- ob_start();
880
- $this->output_typography_dynamic_script();
881
- $this->output_typography_dynamic_style();
882
- $this->output_dynamic_style();
883
-
884
- $custom_css = ob_get_clean();
885
-
886
- ob_start(); ?>
887
- (function ($) {
888
- $(window).load(function () {
889
- /**
890
- * @param iframe_id the id of the frame you want to append the style
891
- * @param style_element the style element you want to append - boooom
892
- */
893
- var append_script_to_iframe = function (ifrm_id, scriptEl) {
894
- var myIframe = document.getElementById(ifrm_id);
895
-
896
- var script = myIframe.contentWindow.document.createElement("script");
897
- script.type = "text/javascript";
898
- script.innerHTML = scriptEl.innerHTML;
899
-
900
- myIframe.contentWindow.document.head.appendChild(script);
901
- };
902
-
903
- var append_style_to_iframe = function (ifrm_id, styleElement) {
904
- var ifrm = window.frames[ifrm_id];
905
- if ( typeof ifrm === "undefined" ) {
906
- return;
907
- }
908
- ifrm = ( ifrm.contentDocument || ifrm.contentDocument || ifrm.document );
909
- var head = ifrm.getElementsByTagName('head')[0];
910
-
911
- if (typeof styleElement !== "undefined") {
912
- head.appendChild(styleElement);
913
- }
914
- };
915
-
916
- var xmlString = <?php echo json_encode( str_replace( "\n", "", $custom_css ) ); ?>,
917
- parser = new DOMParser(),
918
- doc = parser.parseFromString(xmlString, "text/html");
919
-
920
- if (typeof window.frames['content_ifr'] !== 'undefined') {
921
-
922
- $.each(doc.head.childNodes, function (key, el) {
923
- if (typeof el !== "undefined" && typeof el.tagName !== "undefined") {
924
-
925
- switch (el.tagName) {
926
- case 'STYLE' :
927
- append_style_to_iframe('content_ifr', el);
928
- break;
929
- case 'SCRIPT' :
930
- append_script_to_iframe('content_ifr', el);
931
- break;
932
- default:
933
- break;
934
- }
935
- }
936
- });
937
- }
938
- });
939
- })(jQuery);
940
- <?php
941
- $script = ob_get_clean();
942
- wp_add_inline_script( 'editor', $script );
943
-
944
- }
945
-
946
  protected function load_customizer_controls() {
947
 
948
  // First require the base customizer extend class.
@@ -1139,10 +733,14 @@ if ( ! class_exists( 'PixCustomify_Customizer' ) ) :
1139
 
1140
  // Add the option config to the localized array so we can pass the info to JS.
1141
  // @todo Maybe we should ensure that the connected_fields configs passed here follow the same format and logic as the ones in ::customize_pane_settings_additional_data() thus maybe having the data in the same place.
1142
- $this->localized['settings'][ $setting_id ] = $option_config;
 
 
 
 
1143
 
1144
  // Generate a safe option ID (not the final setting ID) to us in HTML attributes like ID or class
1145
- $this->localized['settings'][ $setting_id ]['html_safe_option_id'] = sanitize_html_class( $option_id );
1146
 
1147
  $this->register_field( $section_id, $setting_id, $option_config, $wp_customize );
1148
  }
@@ -1186,6 +784,9 @@ if ( ! class_exists( 'PixCustomify_Customizer' ) ) :
1186
 
1187
  if ( isset( $field_config['default'] ) ) {
1188
  $setting_args['default'] = $field_config['default'];
 
 
 
1189
  }
1190
 
1191
  if ( ! empty( $field_config['capability'] ) ) {
@@ -1199,20 +800,10 @@ if ( ! class_exists( 'PixCustomify_Customizer' ) ) :
1199
  $setting_args['type'] = 'option';
1200
  }
1201
 
1202
- // if we arrive here this means we have a custom field control
1203
- switch ( $field_config['type'] ) {
1204
-
1205
- case 'checkbox':
1206
-
1207
- $setting_args['sanitize_callback'] = array( $this, 'setting_sanitize_checkbox' );
1208
- break;
1209
-
1210
- default:
1211
- break;
1212
- }
1213
-
1214
  if ( ! empty( $field_config['sanitize_callback'] ) && is_callable( $field_config['sanitize_callback'] ) ) {
1215
  $setting_args['sanitize_callback'] = $field_config['sanitize_callback'];
 
 
1216
  }
1217
 
1218
  // Add the setting
@@ -1276,7 +867,7 @@ if ( ! class_exists( 'PixCustomify_Customizer' ) ) :
1276
  $wp_customize->add_control( $setting_id . '_control', $control_args );
1277
  }
1278
 
1279
- // If we arrive here this means we have a custom field control.
1280
  switch ( $field_config['type'] ) {
1281
 
1282
  case 'text':
@@ -1360,81 +951,37 @@ if ( ! class_exists( 'PixCustomify_Customizer' ) ) :
1360
  $control_class_name = 'WP_Customize_Cropped_Image_Control';
1361
  break;
1362
 
1363
- // Custom types
1364
- case 'typography' :
1365
- $use_typography = PixCustomifyPlugin()->settings->get_plugin_setting( 'typography', '1' );
1366
-
1367
- if ( $use_typography === false ) {
1368
- $add_control = false;
1369
- break;
1370
- }
1371
-
1372
- $control_class_name = 'Pix_Customize_Typography_Control';
1373
-
1374
- if ( isset( $field_config['backup'] ) ) {
1375
- $control_args['backup'] = $field_config['backup'];
1376
- }
1377
-
1378
- if ( isset( $field_config['font_weight'] ) ) {
1379
- $control_args['font_weight'] = $field_config['font_weight'];
1380
- }
1381
-
1382
- if ( isset( $field_config['subsets'] ) ) {
1383
- $control_args['subsets'] = $field_config['subsets'];
1384
- }
1385
-
1386
- if ( isset( $field_config['recommended'] ) ) {
1387
- $control_args['recommended'] = array_flip( $field_config['recommended'] );
1388
- }
1389
-
1390
- if ( isset( $field_config['load_all_weights'] ) ) {
1391
- $control_args['load_all_weights'] = $field_config['load_all_weights'];
1392
- }
1393
-
1394
- if ( isset( $field_config['default'] ) ) {
1395
- $control_args['default'] = $field_config['default'];
1396
- }
1397
-
1398
- break;
1399
-
1400
  case 'font' :
1401
- $use_typography = PixCustomifyPlugin()->settings->get_plugin_setting( 'typography', '1' );
1402
 
1403
- if ( $use_typography === false ) {
 
1404
  $add_control = false;
1405
  break;
1406
  }
1407
 
1408
  $control_class_name = 'Pix_Customize_Font_Control';
1409
 
1410
- if ( isset( $field_config['backup'] ) ) {
1411
- $control_args['backup'] = $field_config['backup'];
1412
- }
1413
-
1414
- if ( isset( $field_config['font_weight'] ) ) {
1415
- $control_args['font_weight'] = $field_config['font_weight'];
1416
- }
1417
-
1418
- if ( isset( $field_config['subsets'] ) ) {
1419
- $control_args['subsets'] = $field_config['subsets'];
1420
- }
1421
-
1422
  if ( isset( $field_config['recommended'] ) ) {
1423
- $control_args['recommended'] = array_flip( $field_config['recommended'] );
1424
  }
1425
 
1426
- if ( isset( $field_config['load_all_weights'] ) ) {
1427
- $control_args['load_all_weights'] = $field_config['load_all_weights'];
1428
  }
1429
 
 
 
 
1430
  if ( isset( $field_config['default'] ) ) {
1431
  $control_args['default'] = $field_config['default'];
1432
  }
1433
 
 
1434
  if ( isset( $field_config['fields'] ) ) {
1435
  $control_args['fields'] = $field_config['fields'];
 
 
1436
  }
1437
- $control_args['live'] = true;
1438
 
1439
  break;
1440
 
@@ -1678,28 +1225,6 @@ if ( ! class_exists( 'PixCustomify_Customizer' ) ) :
1678
  <?php
1679
  }
1680
 
1681
- public function get_typography_fields( $fields_config, $key, $value, &$results, $input_key = 0 ) {
1682
- if ( ! is_array( $fields_config ) ) {
1683
- return;
1684
- }
1685
-
1686
- if ( isset( $fields_config[ $key ] ) && $fields_config[ $key ] == $value ) {
1687
- $results[ $input_key ] = $fields_config;
1688
-
1689
- $default = null;
1690
-
1691
- if ( isset( $fields_config['default'] ) && is_array( $fields_config['default'] ) ) {
1692
- $default = json_encode( $fields_config['default'] );
1693
- }
1694
-
1695
- $results[ $input_key ]['value'] = PixCustomifyPlugin()->get_option( $input_key, $default );
1696
- }
1697
-
1698
- foreach ( $fields_config as $i => $subarray ) {
1699
- $this->get_typography_fields( $subarray, $key, $value, $results, $i );
1700
- }
1701
- }
1702
-
1703
  /**
1704
  * Maybe process certain "commands" from the config.
1705
  *
@@ -1872,9 +1397,71 @@ if ( ! class_exists( 'PixCustomify_Customizer' ) ) :
1872
  }
1873
  }
1874
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1875
  /**
1876
- * Sanitize functions
 
 
 
 
 
 
 
 
 
 
 
1877
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1878
 
1879
  /**
1880
  * Sanitize the checkbox.
25
 
26
  protected $localized = array();
27
 
 
 
 
 
 
 
28
  protected $media_queries = array();
29
 
30
  // these properties will get 'px' as a default unit
81
  * @since 2.4.0
82
  */
83
  public function init() {
84
+ // Others will be able to add data here via the 'customify_localized_js_settings' filter.
85
+ // This is a just-in-time filter, triggered as late as possible.
86
+ $this->localized = array(
87
+ 'config' => array(
88
+ 'options_name' => PixCustomifyPlugin()->get_options_key(),
89
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
90
+ 'webfontloader_url' => plugins_url( 'js/vendor/webfontloader-1-6-28.js', PixCustomifyPlugin()->get_file() ),
91
+ 'px_dependent_css_props' => self::$pixel_dependent_css_properties,
92
+ ),
93
+ // For localizing strings.
94
+ 'l10n' => array(
95
+ 'panelResetButton' => esc_html__( 'Panel\'s defaults', 'customify' ),
96
+ 'sectionResetButton' => esc_html__( 'Reset All Options for This Section', 'customify' ),
97
+ 'resetGlobalConfirmMessage' => wp_kses_post( __( 'Do you really want to reset to defaults all the fields? Watch out, this will reset all your Customify options and will save them!', 'customify' ) ),
98
+ 'resetPanelConfirmMessage' => wp_kses_post( __( 'Do you really want to reset the settings in this panel?', 'customify' ) ),
99
+ 'resetSectionConfirmMessage' => wp_kses_post( __( 'Do you really want to reset the settings in this section?', 'customify' ) ),
100
+ )
101
+ );
102
 
103
  // Hook up.
104
  $this->add_hooks();
129
  $load_location = PixCustomifyPlugin()->settings->get_plugin_setting( 'style_resources_location', 'wp_head' );
130
 
131
  add_action( $load_location, array( $this, 'output_dynamic_style' ), 99 );
 
 
132
 
133
  add_action( 'customize_register', array( $this, 'remove_default_sections' ), 11 );
134
  add_action( 'customize_register', array( $this, 'process_customizer_config' ), 12 );
135
  // Maybe the theme has instructed us to do things like removing sections or controls.
136
  add_action( 'customize_register', array( $this, 'maybe_process_config_extras' ), 13 );
137
 
 
 
 
 
138
  /*
139
  * Development related
140
  */
166
  * Register Customizer admin scripts
167
  */
168
  function register_admin_customizer_scripts() {
169
+ $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
170
+
171
+ wp_register_script( PixCustomifyPlugin()->get_slug() . '-select2',
172
+ plugins_url( 'js/vendor/select2' . $suffix . '.js', PixCustomifyPlugin()->get_file() ),
173
+ array( 'jquery' ), PixCustomifyPlugin()->get_version() );
174
+ wp_register_script( 'jquery-react',
175
+ plugins_url( 'js/vendor/jquery-react' . $suffix . '.js', PixCustomifyPlugin()->get_file() ),
176
+ array( 'jquery' ), PixCustomifyPlugin()->get_version() );
177
+ wp_register_script( PixCustomifyPlugin()->get_slug() . '-fontfields',
178
+ plugins_url( 'js/customizer/font-fields' . $suffix . '.js', PixCustomifyPlugin()->get_file() ),
179
+ array( 'jquery', 'underscore' ), PixCustomifyPlugin()->get_version() );
180
+
181
+ wp_register_script( PixCustomifyPlugin()->get_slug() . '-customizer-scripts',
182
+ plugins_url( 'js/customizer' . $suffix . '.js', PixCustomifyPlugin()->get_file() ),
183
+ array(
184
+ 'jquery',
185
+ PixCustomifyPlugin()->get_slug() . '-select2',
186
+ 'underscore',
187
+ 'customize-controls',
188
+ PixCustomifyPlugin()->get_slug() . '-fontfields',
189
+ ),
190
+ PixCustomifyPlugin()->get_version() );
191
  }
192
 
193
  /**
197
  wp_enqueue_script( 'jquery-react' );
198
  wp_enqueue_script( PixCustomifyPlugin()->get_slug() . '-customizer-scripts' );
199
 
200
+ wp_add_inline_script( PixCustomifyPlugin()->get_slug() . '-customizer-scripts',
201
+ self::getlocalizeToWindowScript( 'customify',
202
+ apply_filters( 'customify_localized_js_settings', $this->localized )
203
+ ), 'before' );
204
  }
205
 
206
  /** Register Customizer scripts loaded only on previewer page */
207
  function customizer_live_preview_register_scripts() {
208
+ $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
209
+
210
+ wp_register_script( PixCustomifyPlugin()->get_slug() . '-CSSOM',
211
+ plugins_url( 'js/vendor/CSSOM' . $suffix . '.js', PixCustomifyPlugin()->get_file() ),
212
+ array(),
213
+ PixCustomifyPlugin()->get_version(), true );
214
+
215
+ wp_register_script( PixCustomifyPlugin()->get_slug() . '-cssUpdate',
216
+ plugins_url( 'js/jquery.cssUpdate' . $suffix . '.js', PixCustomifyPlugin()->get_file() ),
217
+ array( 'jquery' ),
218
+ PixCustomifyPlugin()->get_version(), true );
219
+
220
+ wp_register_script( PixCustomifyPlugin()->get_slug() . '-previewer-scripts',
221
+ plugins_url( 'js/customizer_preview' . $suffix . '.js', PixCustomifyPlugin()->get_file() ),
222
+ array(
223
+ 'jquery',
224
+ 'customize-preview',
225
+ 'underscore',
226
+ PixCustomifyPlugin()->get_slug() . '-CSSOM',
227
+ PixCustomifyPlugin()->get_slug() . '-cssUpdate'
228
+ ),
229
+ PixCustomifyPlugin()->get_version(), true );
230
  }
231
 
232
  /** Enqueue Customizer scripts loaded only on previewer page */
233
  function customizer_live_preview_enqueue_scripts() {
234
  wp_enqueue_script( PixCustomifyPlugin()->get_slug() . '-previewer-scripts' );
 
 
 
 
 
235
  }
236
 
237
  /**
386
  return apply_filters( 'customify_dynamic_style', $custom_css );
387
  }
388
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
389
  /**
390
  * Turn css options into a valid CSS output
391
  *
420
  }
421
 
422
  protected function process_css_property( $css_property, $value ) {
423
+ $unit = isset( $css_property['unit'] ) ? $css_property['unit'] : '';
424
+ // If the unit is empty (string, not boolean false) but the property should have a unit force 'px' as it
425
+ if ( '' === $unit && in_array( $css_property['property'], self::$pixel_dependent_css_properties ) ) {
 
 
 
 
 
426
  $unit = 'px';
427
  }
428
 
429
+ $css_property['selector'] = apply_filters( 'customify_css_selector', $this->cleanup_whitespace_css( $css_property['selector'] ), $css_property );
 
 
 
 
430
  if ( empty( $css_property['selector'] ) ) {
431
  return '';
432
  }
433
+
434
  $property_output = $css_property['selector'] . ' { ' . $css_property['property'] . ': ' . $value . $unit . "; }" . "\n";
435
 
436
  // Handle the value filter callback.
537
  return $output;
538
  }
539
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
540
  protected function load_customizer_controls() {
541
 
542
  // First require the base customizer extend class.
733
 
734
  // Add the option config to the localized array so we can pass the info to JS.
735
  // @todo Maybe we should ensure that the connected_fields configs passed here follow the same format and logic as the ones in ::customize_pane_settings_additional_data() thus maybe having the data in the same place.
736
+
737
+ // Filter some settings that have purely visual purpose.
738
+ if ( ! empty( $option_config['type'] ) && ! in_array( $option_config['type'], array( 'html', 'button' ) ) ) {
739
+ $this->localized['config']['settings'][ $setting_id ] = $option_config;
740
+ }
741
 
742
  // Generate a safe option ID (not the final setting ID) to us in HTML attributes like ID or class
743
+ $this->localized['config']['settings'][ $setting_id ]['html_safe_option_id'] = sanitize_html_class( $option_id );
744
 
745
  $this->register_field( $section_id, $setting_id, $option_config, $wp_customize );
746
  }
784
 
785
  if ( isset( $field_config['default'] ) ) {
786
  $setting_args['default'] = $field_config['default'];
787
+ if ( is_array( $setting_args['default'] ) ) {
788
+ $setting_args['default'] = (object) $setting_args['default'];
789
+ }
790
  }
791
 
792
  if ( ! empty( $field_config['capability'] ) ) {
800
  $setting_args['type'] = 'option';
801
  }
802
 
 
 
 
 
 
 
 
 
 
 
 
 
803
  if ( ! empty( $field_config['sanitize_callback'] ) && is_callable( $field_config['sanitize_callback'] ) ) {
804
  $setting_args['sanitize_callback'] = $field_config['sanitize_callback'];
805
+ } elseif ( 'checkbox' === $field_config['type'] ) {
806
+ $setting_args['sanitize_callback'] = array( $this, 'setting_sanitize_checkbox' );
807
  }
808
 
809
  // Add the setting
867
  $wp_customize->add_control( $setting_id . '_control', $control_args );
868
  }
869
 
870
+ // If we arrive here this means we have a custom field control (with a corresponding class in features/customizer/controls).
871
  switch ( $field_config['type'] ) {
872
 
873
  case 'text':
951
  $control_class_name = 'WP_Customize_Cropped_Image_Control';
952
  break;
953
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
954
  case 'font' :
 
955
 
956
+ // Only add the control if typography is turned on in the plugin settings.
957
+ if ( ! PixCustomifyPlugin()->settings->get_plugin_setting( 'typography', '1' ) ) {
958
  $add_control = false;
959
  break;
960
  }
961
 
962
  $control_class_name = 'Pix_Customize_Font_Control';
963
 
 
 
 
 
 
 
 
 
 
 
 
 
964
  if ( isset( $field_config['recommended'] ) ) {
965
+ $control_args['recommended'] = $field_config['recommended'];
966
  }
967
 
968
+ if ( isset( $field_config['live'] ) ) {
969
+ $control_args['live'] = $field_config['live'];
970
  }
971
 
972
+ // This is used only as an extreme failsafe.
973
+ // Normally, when there is no value, the WP Settings system will fallback on the default given for the setting.
974
+ // See above when registering the setting corresponding to this control.
975
  if ( isset( $field_config['default'] ) ) {
976
  $control_args['default'] = $field_config['default'];
977
  }
978
 
979
+ // We should always receive a subfields configuration.
980
  if ( isset( $field_config['fields'] ) ) {
981
  $control_args['fields'] = $field_config['fields'];
982
+ } else {
983
+ $control_args['fields'] = array();
984
  }
 
985
 
986
  break;
987
 
1225
  <?php
1226
  }
1227
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1228
  /**
1229
  * Maybe process certain "commands" from the config.
1230
  *
1397
  }
1398
  }
1399
 
1400
+ /* HELPERS */
1401
+
1402
+ /**
1403
+ * Cleanup stuff like tab characters.
1404
+ *
1405
+ * @param string $string
1406
+ *
1407
+ * @return string
1408
+ */
1409
+ function cleanup_whitespace_css( $string ) {
1410
+ $string = normalize_whitespace( $string );
1411
+
1412
+ return $string;
1413
+ }
1414
+
1415
+ public function get_fields_by_key( $fields_config, $key, $value, &$results, $input_key = 0 ) {
1416
+ if ( ! is_array( $fields_config ) ) {
1417
+ return;
1418
+ }
1419
+
1420
+ if ( isset( $fields_config[ $key ] ) && $fields_config[ $key ] == $value ) {
1421
+ $results[ $input_key ] = $fields_config;
1422
+
1423
+ $default = null;
1424
+ if ( isset( $fields_config['default'] ) ) {
1425
+ $default = $fields_config['default'];
1426
+ }
1427
+
1428
+ $results[ $input_key ]['value'] = PixCustomifyPlugin()->get_option( $input_key, $default );
1429
+ }
1430
+
1431
+ foreach ( $fields_config as $i => $subarray ) {
1432
+ $this->get_fields_by_key( $subarray, $key, $value, $results, $i );
1433
+ }
1434
+ }
1435
+
1436
  /**
1437
+ * Return a script for flexibly localizing data to a window property.
1438
+ *
1439
+ * Unlike wp_localize_script() that simply creates a variable and assigns it the value,
1440
+ * thus overwriting anything that may have been in that variable, we will output a script that
1441
+ * will test if the variable exists and only overwrite the first level nodes, not everything.
1442
+ *
1443
+ * @since 2.7.0
1444
+ *
1445
+ * @param string $object_name Name of the variable that will contain the data.
1446
+ * @param array $l10n Array of data to localize.
1447
+ *
1448
+ * @return bool True on success, false on failure.
1449
  */
1450
+ public static function getlocalizeToWindowScript( $object_name, $l10n ) {
1451
+ $script = "window.$object_name = window.$object_name || parent.$object_name || {};\n";
1452
+
1453
+ foreach ( (array) $l10n as $key => $value ) {
1454
+ if ( is_scalar( $value ) ) {
1455
+ $value = html_entity_decode( (string) $value, ENT_QUOTES, 'UTF-8' );
1456
+ }
1457
+
1458
+ $script .= "$object_name.$key = " . wp_json_encode( $value ) . ";\n";
1459
+ }
1460
+
1461
+ return $script;
1462
+ }
1463
+
1464
+ /* SANITIZATION HELPERS */
1465
 
1466
  /**
1467
  * Sanitize the checkbox.
includes/class-customify-font-palettes.php CHANGED
@@ -76,18 +76,28 @@ class Customify_Font_Palettes {
76
  * Add font palettes usage to site data.
77
  */
78
  add_filter( 'customify_style_manager_get_site_data', array( $this, 'add_palettes_to_site_data' ), 10, 1 );
 
 
 
79
  }
80
 
81
  /**
82
  * Register Customizer admin scripts
83
  */
84
  public function register_admin_customizer_scripts() {
85
- wp_register_script( PixCustomifyPlugin()->get_slug() . '-regression', plugins_url( 'js/vendor/regression.js', PixCustomifyPlugin()->get_file() ), array(), PixCustomifyPlugin()->get_version() );
86
- wp_register_script( PixCustomifyPlugin()->get_slug() . '-font-palettes', plugins_url( 'js/customizer/font-palettes.js', PixCustomifyPlugin()->get_file() ), array(
87
- PixCustomifyPlugin()->get_slug() . '-regression',
88
- 'jquery',
89
- PixCustomifyPlugin()->get_slug() . '-fontselectfields',
90
- ), PixCustomifyPlugin()->get_version() );
 
 
 
 
 
 
 
91
  }
92
 
93
  /**
@@ -176,17 +186,13 @@ class Customify_Font_Palettes {
176
  continue;
177
  }
178
 
179
- if ( empty( $font_logic['type'] ) ) {
180
- // Default to 'google'
181
- $fonts_logic_config[ $font_setting_id ]['type'] = 'google';
182
- }
183
-
184
  // Process the font_styles_intervals and make sure that they are in the right order and not overlapping.
185
  if ( ! empty( $font_logic['font_styles_intervals'] ) && is_array( $font_logic['font_styles_intervals'] ) ) {
186
- $font_styles = array( array_shift( $font_logic['font_styles_intervals'] ) );
187
- // Make sure that the interval has a start
188
- if ( ! isset( $font_styles[0]['start'] ) ) {
189
- $font_styles[0]['start'] = 0;
 
190
  }
191
 
192
  foreach ( $font_logic['font_styles_intervals'] as $font_styles_interval ) {
@@ -195,30 +201,30 @@ class Customify_Font_Palettes {
195
  $font_styles_interval['start'] = 0;
196
  }
197
  // Go through the current font_styles and determine the place where this interval should fit in.
198
- for ( $i = 0; $i < count( $font_styles ); $i++ ) {
199
  // Determine if the new interval overlaps with this existing one.
200
- if ( ! isset( $font_styles[$i]['end'] ) ) {
201
  // Since this interval is without end, there is nothing after it.
202
  // We need to adjust the old interval end.
203
- if ( $font_styles[ $i ]['start'] < $font_styles_interval['start'] ) {
204
- $font_styles[ $i ]['end'] = $font_styles_interval['start'];
205
  } else {
206
  if ( ! isset( $font_styles_interval['end'] ) ) {
207
  // We need to delete the old interval altogether.
208
- unset($font_styles[ $i ]);
209
  $i--;
210
  continue;
211
  } else {
212
  // Adjust the old interval and insert in front of it.
213
- $font_styles[ $i ]['end'] = $font_styles_interval['end'];
214
- $font_styles = array_slice( $font_styles, 0, $i ) + array( $font_styles_interval );
215
  break;
216
  }
217
  }
218
  } else {
219
- if ( $font_styles[ $i ]['end'] > $font_styles_interval['start'] ) {
220
  // We need to shrink this interval and make room for the new interval.
221
- $font_styles[ $i ]['end'] = $font_styles_interval['start'];
222
  } else {
223
  // There is not overlap. Move to the next one.
224
  continue;
@@ -226,25 +232,25 @@ class Customify_Font_Palettes {
226
 
227
  if ( ! isset( $font_styles_interval['end'] ) ) {
228
  // Everything after the existing interval is gone and the new one takes precedence.
229
- array_splice( $font_styles, $i + 1, count( $font_styles ), array( $font_styles_interval ) );
230
  break;
231
  } else {
232
  // Now go forward and see where the end of the new interval fits in.
233
- for ( $j = $i + 1; $j < count( $font_styles ); $j ++ ) {
234
- if ( $font_styles[ $j ]['start'] < $font_styles_interval['end'] ) {
235
  // We have an overlapping after-interval.
236
- if ( ! isset( $font_styles[ $j ]['end'] ) ) {
237
  // Since this interval is without end, there is nothing after it.
238
- $font_styles[ $j ]['start'] = $font_styles_interval['end'];
239
  break;
240
- } elseif ( $font_styles[ $j ]['end'] <= $font_styles_interval['end'] ) {
241
  // We need to delete this interval since it is completely overwritten by the new one.
242
- unset( $font_styles[ $j ] );
243
  $j --;
244
  continue;
245
  } else {
246
  // The new interval partially overlaps with the old one. Adjust.
247
- $font_styles[ $j ]['end'] = $font_styles_interval['end'];
248
  break;
249
  }
250
  } else {
@@ -254,40 +260,45 @@ class Customify_Font_Palettes {
254
  }
255
 
256
  // Insert the new interval.
257
- array_splice( $font_styles, $j, 0, array( $font_styles_interval ) );
258
  break;
259
  }
260
  }
261
  }
262
 
263
  // If we have reached the end of the list, we will insert it at the end.
264
- if ( $i === count( $font_styles ) ) {
265
- array_push( $font_styles, $font_styles_interval );
266
  }
267
  }
268
 
269
  // We need to do a last pass and ensure no breaks in the intervals. We need them to be continuous.
270
  // We will extend intervals to their next (right-hand) neighbour to achieve continuity.
271
- if ( count( $font_styles ) > 1 ) {
272
  // The first interval should start at zero, just in case.
273
- $font_styles[0]['start'] = 0;
274
- for( $i = 1; $i < count( $font_styles ); $i++ ) {
275
  // Extend the previous interval, just in case.
276
- $font_styles[ $i-1 ]['end'] = $font_styles[ $i ]['start'];
277
  }
278
  }
279
 
280
  // The last interval should not have an end.
281
- unset( $font_styles[ count( $font_styles )-1 ]['end'] );
282
 
283
  // Finally, go through each font style and standardize it.
284
- foreach( $font_styles as $key => $value ) {
285
  if ( isset( $value['letter_spacing'] ) ) {
286
- $font_styles[ $key ]['letter_spacing'] = $this->maybe_standardize_value( $value['letter_spacing'] );
 
 
 
 
 
287
  }
288
  }
289
 
290
- $fonts_logic_config[ $font_setting_id ]['font_styles'] = $font_styles;
291
  }
292
  }
293
 
@@ -614,28 +625,13 @@ class Customify_Font_Palettes {
614
  // If we didn't get a font_size we will try and grab the default value for the connected field.
615
  if ( ! isset( $value['font_size'] ) ) {
616
  if ( isset( $option_config['default']['font-size'] ) ) {
617
- $value['font_size'] = array( 'value' => $option_config['default']['font-size'] );
618
  } else {
619
  $value['font_size'] = false;
620
  }
621
  }
622
-
623
- // Handle the case when the received font_size value is a number with a unit - split them.
624
- $value['font_size'] = $this->maybe_standardize_value( $value['font_size'] );
625
-
626
- // If we don't have an unit, maybe we can make an educated guess.
627
- // If the value is bellow 9, then probably we are talking about ems, else pxs.
628
- if ( ! empty( $value['font_size']['value'] ) && ! isset( $value['font_size']['unit'] ) ) {
629
- if ( isset( $option_config['fields']['font-size']['unit'] ) ) {
630
- $value['font_size']['unit'] = $option_config['fields']['font-size']['unit'];
631
- } else {
632
- if ( $value['font_size']['value'] < 9 ) {
633
- $value['font_size']['unit'] = 'em';
634
- } else {
635
- $value['font_size']['unit'] = 'px';
636
- }
637
- }
638
- }
639
 
640
  $connected_fields_config[ $key ] = $value;
641
  }
@@ -647,51 +643,6 @@ class Customify_Font_Palettes {
647
  return $config;
648
  }
649
 
650
- /**
651
- * Standardize a numerical value for a font CSS property.
652
- *
653
- * The standard format is an associative array with the following entries:
654
- * - 'value': holds the actual numerical value (int or float)
655
- * - 'unit : optional; it holds the unit that should be used for the value
656
- *
657
- * @param mixed $value
658
- *
659
- * @return array|bool
660
- */
661
- private function maybe_standardize_value( $value ) {
662
- $new_value = false;
663
-
664
- if ( false === $value ) {
665
- return $new_value;
666
- }
667
-
668
- if ( is_array( $value ) ) {
669
- $new_value = $value;
670
- }
671
-
672
- if ( is_string( $value ) ) {
673
- if ( is_numeric( $value ) ) {
674
- $new_value = array( 'value' => (float) $value );
675
- } else {
676
- // We will get everything in front that is a valid part of a number (float including).
677
- preg_match("/^([\d.\-+]+)/i", $value, $match);
678
-
679
- if ( ! empty( $match ) && isset( $match[0] ) ) {
680
- $new_value = array(
681
- 'value' => (float) $match[0],
682
- 'unit' => substr( $value, strlen( $match[0] ) ),
683
- );
684
- }
685
- }
686
- }
687
-
688
- if ( is_numeric( $value ) ) {
689
- $new_value = array( 'value' => $value );
690
- }
691
-
692
- return $new_value;
693
- }
694
-
695
  /**
696
  * Get the Customify configuration of a certain option.
697
  *
@@ -766,8 +717,6 @@ class Customify_Font_Palettes {
766
  'fonts_logic' => array(
767
  // Primary is used for main headings [Display, H1, H2, H3]
768
  'sm_font_primary' => array(
769
- // Define the font type ('google' or 'theme_font'). By default it's 'google'.
770
- 'type' => 'google',
771
  // Font loaded when a palette is selected
772
  'font_family' => 'Montserrat',
773
  // Load all these fonts weights.
@@ -868,8 +817,6 @@ class Customify_Font_Palettes {
868
  'fonts_logic' => array(
869
  // Primary is used for main headings [Display, H1, H2, H3]
870
  'sm_font_primary' => array(
871
- // Define the font type ('google' or 'theme_font'). By default it's 'google'.
872
- 'type' => 'google',
873
  // Font loaded when a palette is selected
874
  'font_family' => 'Lora',
875
  // Load all these fonts weights.
@@ -977,8 +924,6 @@ class Customify_Font_Palettes {
977
  'fonts_logic' => array(
978
  // Primary is used for main headings [Display, H1, H2, H3]
979
  'sm_font_primary' => array(
980
- // Define the font type ('google' or 'theme_font'). By default it's 'google'.
981
- 'type' => 'google',
982
  // Font loaded when a palette is selected
983
  'font_family' => 'Oswald',
984
  // Load all these fonts weights.
@@ -1106,8 +1051,6 @@ class Customify_Font_Palettes {
1106
  'fonts_logic' => array(
1107
  // Primary is used for main headings [Display, H1, H2, H3]
1108
  'sm_font_primary' => array(
1109
- // Define the font type ('google' or 'theme_font'). By default it's 'google'.
1110
- 'type' => 'google',
1111
  // Font loaded when a palette is selected
1112
  'font_family' => 'Playfair Display',
1113
  // Load all these fonts weights.
@@ -1259,24 +1202,28 @@ class Customify_Font_Palettes {
1259
  *
1260
  * @since 1.7.4
1261
  *
1262
- * @param array $options
1263
  *
1264
  * @return array
1265
  */
1266
- public function get_all_master_font_controls_ids( $options ) {
1267
- $master_font_controls = array();
1268
 
1269
- if ( empty( $options ) ) {
1270
- return $master_font_controls;
1271
  }
1272
 
1273
- foreach ( $options as $option_id => $option_settings ) {
1274
- if ( ! empty( $option_settings['type'] ) && 'font' === $option_settings['type'] ) {
1275
- $master_font_controls[] = $option_id;
 
 
 
 
1276
  }
1277
  }
1278
 
1279
- return $master_font_controls;
1280
  }
1281
 
1282
  /**
@@ -1303,6 +1250,31 @@ class Customify_Font_Palettes {
1303
  return $site_data;
1304
  }
1305
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1306
  /**
1307
  * Main Customify_Font_Palettes Instance
1308
  *
76
  * Add font palettes usage to site data.
77
  */
78
  add_filter( 'customify_style_manager_get_site_data', array( $this, 'add_palettes_to_site_data' ), 10, 1 );
79
+
80
+ // Add data to be passed to JS.
81
+ add_filter( 'customify_localized_js_settings', array( $this, 'add_to_localized_data' ), 10, 1 );
82
  }
83
 
84
  /**
85
  * Register Customizer admin scripts
86
  */
87
  public function register_admin_customizer_scripts() {
88
+ $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
89
+
90
+ wp_register_script( PixCustomifyPlugin()->get_slug() . '-regression',
91
+ plugins_url( 'js/vendor/regression' . $suffix . '.js', PixCustomifyPlugin()->get_file() ),
92
+ array(), PixCustomifyPlugin()->get_version() );
93
+ wp_register_script( PixCustomifyPlugin()->get_slug() . '-font-palettes',
94
+ plugins_url( 'js/customizer/font-palettes' . $suffix . '.js', PixCustomifyPlugin()->get_file() ),
95
+ array(
96
+ PixCustomifyPlugin()->get_slug() . '-regression',
97
+ 'jquery',
98
+ PixCustomifyPlugin()->get_slug() . '-fontfields',
99
+ ),
100
+ PixCustomifyPlugin()->get_version() );
101
  }
102
 
103
  /**
186
  continue;
187
  }
188
 
 
 
 
 
 
189
  // Process the font_styles_intervals and make sure that they are in the right order and not overlapping.
190
  if ( ! empty( $font_logic['font_styles_intervals'] ) && is_array( $font_logic['font_styles_intervals'] ) ) {
191
+ // Initialize the list with the first one found.
192
+ $font_styles_intervals = array( array_shift( $font_logic['font_styles_intervals'] ) );
193
+ // Make sure that this interval has a start
194
+ if ( ! isset( $font_styles_intervals[0]['start'] ) ) {
195
+ $font_styles_intervals[0]['start'] = 0;
196
  }
197
 
198
  foreach ( $font_logic['font_styles_intervals'] as $font_styles_interval ) {
201
  $font_styles_interval['start'] = 0;
202
  }
203
  // Go through the current font_styles and determine the place where this interval should fit in.
204
+ for ( $i = 0; $i < count( $font_styles_intervals ); $i++ ) {
205
  // Determine if the new interval overlaps with this existing one.
206
+ if ( ! isset( $font_styles_intervals[$i]['end'] ) ) {
207
  // Since this interval is without end, there is nothing after it.
208
  // We need to adjust the old interval end.
209
+ if ( $font_styles_intervals[ $i ]['start'] < $font_styles_interval['start'] ) {
210
+ $font_styles_intervals[ $i ]['end'] = $font_styles_interval['start'];
211
  } else {
212
  if ( ! isset( $font_styles_interval['end'] ) ) {
213
  // We need to delete the old interval altogether.
214
+ unset($font_styles_intervals[ $i ]);
215
  $i--;
216
  continue;
217
  } else {
218
  // Adjust the old interval and insert in front of it.
219
+ $font_styles_intervals[ $i ]['end'] = $font_styles_interval['end'];
220
+ $font_styles_intervals = array_slice( $font_styles_intervals, 0, $i ) + array( $font_styles_interval );
221
  break;
222
  }
223
  }
224
  } else {
225
+ if ( $font_styles_intervals[ $i ]['end'] > $font_styles_interval['start'] ) {
226
  // We need to shrink this interval and make room for the new interval.
227
+ $font_styles_intervals[ $i ]['end'] = $font_styles_interval['start'];
228
  } else {
229
  // There is not overlap. Move to the next one.
230
  continue;
232
 
233
  if ( ! isset( $font_styles_interval['end'] ) ) {
234
  // Everything after the existing interval is gone and the new one takes precedence.
235
+ array_splice( $font_styles_intervals, $i + 1, count( $font_styles_intervals ), array( $font_styles_interval ) );
236
  break;
237
  } else {
238
  // Now go forward and see where the end of the new interval fits in.
239
+ for ( $j = $i + 1; $j < count( $font_styles_intervals ); $j ++ ) {
240
+ if ( $font_styles_intervals[ $j ]['start'] < $font_styles_interval['end'] ) {
241
  // We have an overlapping after-interval.
242
+ if ( ! isset( $font_styles_intervals[ $j ]['end'] ) ) {
243
  // Since this interval is without end, there is nothing after it.
244
+ $font_styles_intervals[ $j ]['start'] = $font_styles_interval['end'];
245
  break;
246
+ } elseif ( $font_styles_intervals[ $j ]['end'] <= $font_styles_interval['end'] ) {
247
  // We need to delete this interval since it is completely overwritten by the new one.
248
+ unset( $font_styles_intervals[ $j ] );
249
  $j --;
250
  continue;
251
  } else {
252
  // The new interval partially overlaps with the old one. Adjust.
253
+ $font_styles_intervals[ $j ]['end'] = $font_styles_interval['end'];
254
  break;
255
  }
256
  } else {
260
  }
261
 
262
  // Insert the new interval.
263
+ array_splice( $font_styles_intervals, $j, 0, array( $font_styles_interval ) );
264
  break;
265
  }
266
  }
267
  }
268
 
269
  // If we have reached the end of the list, we will insert it at the end.
270
+ if ( $i === count( $font_styles_intervals ) ) {
271
+ array_push( $font_styles_intervals, $font_styles_interval );
272
  }
273
  }
274
 
275
  // We need to do a last pass and ensure no breaks in the intervals. We need them to be continuous.
276
  // We will extend intervals to their next (right-hand) neighbour to achieve continuity.
277
+ if ( count( $font_styles_intervals ) > 1 ) {
278
  // The first interval should start at zero, just in case.
279
+ $font_styles_intervals[0]['start'] = 0;
280
+ for( $i = 1; $i < count( $font_styles_intervals ); $i++ ) {
281
  // Extend the previous interval, just in case.
282
+ $font_styles_intervals[ $i-1 ]['end'] = $font_styles_intervals[ $i ]['start'];
283
  }
284
  }
285
 
286
  // The last interval should not have an end.
287
+ unset( $font_styles_intervals[ count( $font_styles_intervals )-1 ]['end'] );
288
 
289
  // Finally, go through each font style and standardize it.
290
+ foreach( $font_styles_intervals as $key => $value ) {
291
  if ( isset( $value['letter_spacing'] ) ) {
292
+ // We have some special values for letter-spacing that need to taken care of.
293
+ if ( 'normal' === $value['letter_spacing'] ) {
294
+ $value['letter_spacing'] = 0;
295
+ }
296
+
297
+ $font_styles_intervals[ $key ]['letter_spacing'] = Customify_Fonts_Global::standardizeNumericalValue( $value['letter_spacing'] );
298
  }
299
  }
300
 
301
+ $fonts_logic_config[ $font_setting_id ]['font_styles_intervals'] = $font_styles_intervals;
302
  }
303
  }
304
 
625
  // If we didn't get a font_size we will try and grab the default value for the connected field.
626
  if ( ! isset( $value['font_size'] ) ) {
627
  if ( isset( $option_config['default']['font-size'] ) ) {
628
+ $value['font_size'] = $option_config['default']['font-size'];
629
  } else {
630
  $value['font_size'] = false;
631
  }
632
  }
633
+ // Finally, standardize it.
634
+ $value['font_size'] = Customify_Fonts_Global::standardizeNumericalValue( $value['font_size'], 'font-size', $option_config );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
635
 
636
  $connected_fields_config[ $key ] = $value;
637
  }
643
  return $config;
644
  }
645
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
646
  /**
647
  * Get the Customify configuration of a certain option.
648
  *
717
  'fonts_logic' => array(
718
  // Primary is used for main headings [Display, H1, H2, H3]
719
  'sm_font_primary' => array(
 
 
720
  // Font loaded when a palette is selected
721
  'font_family' => 'Montserrat',
722
  // Load all these fonts weights.
817
  'fonts_logic' => array(
818
  // Primary is used for main headings [Display, H1, H2, H3]
819
  'sm_font_primary' => array(
 
 
820
  // Font loaded when a palette is selected
821
  'font_family' => 'Lora',
822
  // Load all these fonts weights.
924
  'fonts_logic' => array(
925
  // Primary is used for main headings [Display, H1, H2, H3]
926
  'sm_font_primary' => array(
 
 
927
  // Font loaded when a palette is selected
928
  'font_family' => 'Oswald',
929
  // Load all these fonts weights.
1051
  'fonts_logic' => array(
1052
  // Primary is used for main headings [Display, H1, H2, H3]
1053
  'sm_font_primary' => array(
 
 
1054
  // Font loaded when a palette is selected
1055
  'font_family' => 'Playfair Display',
1056
  // Load all these fonts weights.
1202
  *
1203
  * @since 1.7.4
1204
  *
1205
+ * @param array $options_details Optional.
1206
  *
1207
  * @return array
1208
  */
1209
+ public function get_all_master_font_controls_ids( $options_details = null ) {
1210
+ $control_ids = array();
1211
 
1212
+ if ( empty( $options_details ) ) {
1213
+ $options_details = PixCustomifyPlugin()->get_options_configs(true);
1214
  }
1215
 
1216
+ if ( empty( $options_details ) ) {
1217
+ return $control_ids;
1218
+ }
1219
+
1220
+ foreach ( $options_details as $option_id => $option_details ) {
1221
+ if ( ! empty( $option_details['type'] ) && 'font' === $option_details['type'] && 0 === strpos( $option_id, 'sm_' ) ) {
1222
+ $control_ids[] = $option_id;
1223
  }
1224
  }
1225
 
1226
+ return $control_ids;
1227
  }
1228
 
1229
  /**
1250
  return $site_data;
1251
  }
1252
 
1253
+ /**
1254
+ * Add data to be available to JS.
1255
+ *
1256
+ * @since 2.7.0
1257
+ *
1258
+ * @param array $localized
1259
+ *
1260
+ * @return array
1261
+ */
1262
+ public function add_to_localized_data( $localized ) {
1263
+ if ( empty( $localized['fontPalettes'] ) ) {
1264
+ $localized['fontPalettes'] = array();
1265
+ }
1266
+
1267
+ $localized['fontPalettes']['masterSettingIds'] = $this->get_all_master_font_controls_ids();
1268
+
1269
+ $localized['fontPalettes']['variations'] = [
1270
+ 'light' => [],
1271
+ 'regular' => [],
1272
+ 'big' => [],
1273
+ ];
1274
+
1275
+ return $localized;
1276
+ }
1277
+
1278
  /**
1279
  * Main Customify_Font_Palettes Instance
1280
  *
includes/class-customify-fonts-global.php ADDED
@@ -0,0 +1,1719 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Customify_Fonts_Global {
4
+
5
+ /**
6
+ * Instance of this class.
7
+ * @since 2.7.0
8
+ * @var object
9
+ */
10
+ protected static $_instance = null;
11
+
12
+ /**
13
+ * The standard fonts list.
14
+ * @since 2.7.0
15
+ * @var array
16
+ */
17
+ protected $std_fonts = array();
18
+
19
+ /**
20
+ * The Google fonts list.
21
+ * @since 2.7.0
22
+ * @var array
23
+ */
24
+ protected $google_fonts = array();
25
+
26
+ /**
27
+ * The theme defined fonts list.
28
+ * @since 2.7.0
29
+ * @var array
30
+ */
31
+ protected $theme_fonts = array();
32
+
33
+ /**
34
+ * The cloud fonts list.
35
+ * @since 2.7.0
36
+ * @var array
37
+ */
38
+ protected $cloud_fonts = array();
39
+
40
+ /**
41
+ * The precision to use when dealing with float values.
42
+ * @since 2.7.0
43
+ * @var int
44
+ */
45
+ public static $floatPrecision = 2;
46
+
47
+ /**
48
+ * The font subfields that behave as ranges.
49
+ * @since 2.7.0
50
+ * @var array
51
+ */
52
+ public static $rangeFields = [
53
+ 'font-size',
54
+ 'line-height',
55
+ 'letter-spacing',
56
+ ];
57
+
58
+ /**
59
+ * Constructor.
60
+ *
61
+ * @since 2.7.0
62
+ */
63
+ protected function __construct() {
64
+ /*
65
+ * Standardize the customify_config for field types we can handle.
66
+ */
67
+ add_filter( 'customify_final_config', array( $this, 'standardize_global_customify_config' ), 99999, 1 );
68
+
69
+ // We will initialize the logic after the plugin has finished with it's configuration (at priority 15).
70
+ add_action( 'init', array( $this, 'init' ), 20 );
71
+ }
72
+
73
+ /**
74
+ * Initialize this module.
75
+ *
76
+ * @since 2.7.0
77
+ */
78
+ public function init() {
79
+
80
+ /*
81
+ * Gather all fonts, by type.
82
+ */
83
+
84
+ if ( PixCustomifyPlugin()->settings->get_plugin_setting( 'typography_cloud_fonts', 1 ) ) {
85
+ $this->cloud_fonts = apply_filters( 'customify_cloud_fonts', array() );
86
+ // Add the fonts to selects of the Customizer controls.
87
+ add_action( 'customify_font_family_select_options', array( $this, 'output_cloud_fonts_select_options_group' ), 20, 2 );
88
+ }
89
+
90
+ $this->theme_fonts = apply_filters( 'customify_theme_fonts', array() );
91
+ // Add the fonts to selects of the Customizer controls.
92
+ add_action( 'customify_font_family_select_options', array( $this, 'output_theme_fonts_select_options_group' ), 30, 2 );
93
+
94
+ if ( PixCustomifyPlugin()->settings->get_plugin_setting( 'typography_standard_fonts', 1 ) ) {
95
+ $this->std_fonts = apply_filters( 'customify_standard_fonts_list', array(
96
+ "Arial, Helvetica, sans-serif" => "Arial, Helvetica, sans-serif",
97
+ "'Arial Black', Gadget, sans-serif" => "'Arial Black', Gadget, sans-serif",
98
+ "'Bookman Old Style', serif" => "'Bookman Old Style', serif",
99
+ "'Comic Sans MS', cursive" => "'Comic Sans MS', cursive",
100
+ "Courier, monospace" => "Courier, monospace",
101
+ "Garamond, serif" => "Garamond, serif",
102
+ "Georgia, serif" => "Georgia, serif",
103
+ "Impact, Charcoal, sans-serif" => "Impact, Charcoal, sans-serif",
104
+ "'Lucida Console', Monaco, monospace" => "'Lucida Console', Monaco, monospace",
105
+ "'Lucida Sans Unicode', 'Lucida Grande', sans-serif" => "'Lucida Sans Unicode', 'Lucida Grande', sans-serif",
106
+ "'MS Sans Serif', Geneva, sans-serif" => "'MS Sans Serif', Geneva, sans-serif",
107
+ "'MS Serif', 'New York', sans-serif" => "'MS Serif', 'New York', sans-serif",
108
+ "'Palatino Linotype', 'Book Antiqua', Palatino, serif" => "'Palatino Linotype', 'Book Antiqua', Palatino, serif",
109
+ "Tahoma, Geneva, sans-serif" => "Tahoma, Geneva, sans-serif",
110
+ "'Times New Roman', Times,serif" => "'Times New Roman', Times, serif",
111
+ "'Trebuchet MS', Helvetica, sans-serif" => "'Trebuchet MS', Helvetica, sans-serif",
112
+ "Verdana, Geneva, sans-serif" => "Verdana, Geneva, sans-serif",
113
+ ) );
114
+
115
+ // Add the fonts to selects of the Customizer controls.
116
+ add_action( 'customify_font_family_select_options', array( $this, 'output_standard_fonts_select_options_group' ), 40, 2 );
117
+ }
118
+
119
+ if ( PixCustomifyPlugin()->settings->get_plugin_setting( 'typography_google_fonts', 1 ) ) {
120
+ $this->maybe_load_google_fonts();
121
+
122
+ // Add the fonts to selects of the Customizer controls.
123
+ // For Google fonts we will first output just an empty option group, and the rest of the options in a JS variable.
124
+ // This way we don't hammer the DOM too much.
125
+ add_action( 'customify_font_family_select_options', array( $this, 'output_google_fonts_select_options_group' ), 50, 2 );
126
+ add_action( 'customize_controls_print_footer_scripts', array( $this, 'customize_pane_settings_google_fonts_options' ), 10000 );
127
+ }
128
+
129
+ /*
130
+ * Output the frontend fonts specific scripts and styles.
131
+ */
132
+ $load_location = PixCustomifyPlugin()->settings->get_plugin_setting( 'style_resources_location', 'wp_head' );
133
+ // Add a preconnect links as early as possible for faster external fonts loading.
134
+ add_action('wp_head', array( $this, 'add_preconnect_links' ), 0);
135
+ wp_register_script( PixCustomifyPlugin()->get_slug() . '-web-font-loader',
136
+ plugins_url( 'js/vendor/webfontloader-1-6-28.js', PixCustomifyPlugin()->get_file() ), array(), null, ( 'wp_head' === $load_location ) ? false : true );
137
+ add_action('wp_enqueue_scripts', array( $this, 'enqueue_frontend_scripts' ) );
138
+ add_action( $load_location, array( $this, 'output_fonts_dynamic_style' ), 100 );
139
+
140
+ // Add data to be passed to JS.
141
+ add_filter( 'customify_localized_js_settings', array( $this, 'add_to_localized_data' ), 10, 1 );
142
+ }
143
+
144
+ /**
145
+ * Go deep and identify all the fields we are interested in and standardize their entries.
146
+ *
147
+ * @param array $config
148
+ *
149
+ * @return array
150
+ */
151
+ public function standardize_global_customify_config( $config ) {
152
+ // We will go recursively and search for fonts fields.
153
+ $this->standardize_font_fields_config( $config );
154
+
155
+ return $config;
156
+ }
157
+
158
+ public function standardize_font_fields_config( &$item, $key = false ) {
159
+ // We are after fields configs, so not interested in entries that are not arrays.
160
+ if ( ! is_array( $item ) ) {
161
+ return;
162
+ }
163
+
164
+ // If we have a `typography` field configuration, we have work to do!!!
165
+ // We will transform it into a equivalent font field (in behavior). Ha!
166
+ // We will not duplicate the logic applied for font fields below.
167
+ if ( isset( $item['type'] ) && 'typography' === $item['type'] ) {
168
+ // Change the field type.
169
+ // Now there is no going back :)
170
+ $item['type'] = 'font';
171
+
172
+ // If $item['load_all_weights'] is truthy then that means we don't need a font-weight subfield.
173
+ if ( ! empty( $item['load_all_weights'] ) ) {
174
+ if ( empty( $item['fields'] ) ) {
175
+ $item['fields'] = array();
176
+ }
177
+ $item['fields']['font-weight'] = false;
178
+ unset( $item['load_all_weights'] );
179
+ }
180
+
181
+ // The `variants` entry (consisting of a list of variants) really has no place at a field level.
182
+ // This is information related to each (selected) font.
183
+ if ( isset( $item['variants'] ) ) {
184
+ unset( $item['variants'] );
185
+ }
186
+ }
187
+
188
+ // If we have a `font` field configuration, we have work to do.
189
+ if ( isset( $item['type'] ) && 'font' === $item['type'] ) {
190
+ // We want to standardize the default value, if present.
191
+ if ( ! empty( $item['default'] ) ) {
192
+ $item['default'] = self::standardizeFontValue( $item['default'] );
193
+ }
194
+
195
+ // We want to standardize the selector(s), if present.
196
+ if ( ! empty( $item['selector'] ) ) {
197
+ $item['selector'] = self::standardizeFontSelector( $item['selector'] );
198
+ }
199
+
200
+ // Standardize the subfields config.
201
+ if ( empty( $item['fields'] ) ) {
202
+ $item['fields'] = array();
203
+ }
204
+
205
+ // Some legacy configs specify a couple of fields outside the `fields` entry. We must cleanup.
206
+ if ( isset( $item['font_weight'] ) ) {
207
+ $item['fields']['font-weight'] = $item['font_weight'];
208
+ unset( $item['font_weight'] );
209
+ }
210
+ if ( isset( $item['subsets'] ) ) {
211
+ $item['fields']['subsets'] = $item['subsets'];
212
+ unset( $item['subsets'] );
213
+ }
214
+
215
+ // All subfields entries should use dashes not underscores in their keys.
216
+ foreach ( $item['fields'] as $field_type => $value ) {
217
+ if ( strpos( $field_type, '_' ) !== false ) {
218
+ $new_field_type = str_replace( '_', '-', $field_type );
219
+ $item['fields'][ $new_field_type ] = $value;
220
+ unset( $item['fields'][ $field_type ] );
221
+ }
222
+ }
223
+
224
+ $subfieldsConfig = apply_filters( 'customify_default_font_subfields_config', array(
225
+ 'font-family' => true,
226
+ 'font-weight' => true, // This is actually the font-variant (weight and maybe style)
227
+ 'subsets' => true,
228
+ 'font-size' => false,
229
+ 'line-height' => false,
230
+ 'letter-spacing' => false,
231
+ 'text-align' => false,
232
+ 'text-transform' => false,
233
+ 'text-decoration' => false,
234
+ ), $item, $key );
235
+
236
+ // If we have received a fields configuration, merge it with the default.
237
+ $subfieldsConfig = wp_parse_args( $item['fields'], $subfieldsConfig );
238
+
239
+ // Standardize the fields that are ranges.
240
+ foreach ( self::$rangeFields as $rangeField ) {
241
+ if ( isset( $subfieldsConfig[ $rangeField ] ) && false !== $subfieldsConfig[ $rangeField ] ) {
242
+ $subfieldsConfig[ $rangeField ] = self::standardizeRangeFieldAttributes( $subfieldsConfig[ $rangeField ] );
243
+ }
244
+ }
245
+
246
+ $item['fields'] = $subfieldsConfig;
247
+
248
+ // We have no reason to go recursively further when we have come across a `font` field configuration.
249
+ return;
250
+ }
251
+
252
+ foreach ( $item as $key => $subitem ) {
253
+ // We can't use $subitem since that is a copy, and we need to reference the original.
254
+ $this->standardize_font_fields_config( $item[ $key ], $key );
255
+ }
256
+ }
257
+
258
+ public function get_valid_subfield_values( $subfield, $labels = false ) {
259
+ $valid_values = apply_filters( 'customify_fonts_valid_subfield_values', array(
260
+ 'text_align' => array(
261
+ 'initial' => esc_html__( 'Initial', 'customify' ),
262
+ 'center' => esc_html__( 'Center', 'customify' ),
263
+ 'left' => esc_html__( 'Left', 'customify' ),
264
+ 'right' => esc_html__( 'Right', 'customify' ),
265
+ ),
266
+ 'text_transform' => array(
267
+ 'none' => esc_html__( 'None', 'customify' ),
268
+ 'capitalize' => esc_html__( 'Capitalize', 'customify' ),
269
+ 'uppercase' => esc_html__( 'Uppercase', 'customify' ),
270
+ 'lowercase' => esc_html__( 'Lowercase', 'customify' ),
271
+ ),
272
+ 'text_decoration' => array(
273
+ 'none' => esc_html__( 'None', 'customify' ),
274
+ 'underline' => esc_html__( 'Underline', 'customify' ),
275
+ 'overline' => esc_html__( 'Overline', 'customify' ),
276
+ 'line-through' => esc_html__( 'Line Through', 'customify' ),
277
+ ),
278
+ ) );
279
+
280
+ if ( ! empty( $valid_values[ $subfield ] ) ) {
281
+ // Return only the keys if we've been instructed to do so.
282
+ if ( false === $labels && self::isAssocArray( $valid_values[ $subfield ] ) ) {
283
+ return array_keys( $valid_values[ $subfield ] );
284
+ }
285
+
286
+ return $valid_values[ $subfield ];
287
+ }
288
+
289
+ return array();
290
+ }
291
+
292
+ public function get_std_fonts() {
293
+ if ( empty( $this->std_fonts ) ) {
294
+ return array();
295
+ }
296
+
297
+ return $this->std_fonts;
298
+ }
299
+
300
+ public function get_google_fonts() {
301
+ if ( empty( $this->google_fonts ) ) {
302
+ return array();
303
+ }
304
+
305
+ return $this->google_fonts;
306
+ }
307
+
308
+ public function get_theme_fonts() {
309
+ if ( empty( $this->theme_fonts ) ) {
310
+ return array();
311
+ }
312
+
313
+ return $this->theme_fonts;
314
+ }
315
+
316
+ public function get_cloud_fonts() {
317
+ if ( empty( $this->cloud_fonts ) ) {
318
+ return array();
319
+ }
320
+
321
+ return $this->cloud_fonts;
322
+ }
323
+
324
+ public function getFontDetails( $font_family, $font_type = false ) {
325
+ if ( empty( $font_type ) ) {
326
+ // We will determine the font type based on font family.
327
+ $font_type = $this->determineFontType( $font_family );
328
+ }
329
+
330
+ switch ( $font_type ) {
331
+ case 'theme_font':
332
+ return $this->theme_fonts[ $font_family ];
333
+ break;
334
+ case 'cloud_font':
335
+ return $this->cloud_fonts[ $font_family ];
336
+ break;
337
+ case 'google_font':
338
+ return $this->google_fonts[ $font_family ];
339
+ break;
340
+ case 'std_font':
341
+ if ( isset( $this->std_fonts[ $font_family ] ) ) {
342
+ return $this->std_fonts[ $font_family ];
343
+ }
344
+ break;
345
+ default:
346
+ return false;
347
+ break;
348
+ }
349
+
350
+ return false;
351
+ }
352
+
353
+ function output_cloud_fonts_select_options_group( $active_font_family, $current_value ) {
354
+ // Allow others to add options here
355
+ do_action( 'customify_font_family_before_cloud_fonts_options', $active_font_family, $current_value );
356
+
357
+ if ( ! empty( $this->cloud_fonts ) ) {
358
+ echo '<optgroup label="' . esc_html__( 'Cloud Fonts', 'customify' ) . '">';
359
+ foreach ( $this->get_cloud_fonts() as $font ) {
360
+ if ( ! empty( $font['family'] ) ) {
361
+ // Display the select option's HTML.
362
+ Pix_Customize_Font_Control::output_font_family_option( $font['family'], $active_font_family );
363
+ }
364
+ }
365
+ echo "</optgroup>";
366
+ }
367
+
368
+ // Allow others to add options here
369
+ do_action( 'customify_font_family_after_cloud_fonts_options', $active_font_family, $current_value );
370
+ }
371
+
372
+ function output_theme_fonts_select_options_group( $active_font_family, $current_value ) {
373
+ // Allow others to add options here
374
+ do_action( 'customify_font_family_before_theme_fonts_options', $active_font_family, $current_value );
375
+
376
+ if ( ! empty( $this->theme_fonts ) ) {
377
+ echo '<optgroup label="' . esc_html__( 'Theme Fonts', 'customify' ) . '">';
378
+ foreach ( $this->get_theme_fonts() as $font ) {
379
+ if ( ! empty( $font['family'] ) ) {
380
+ // Display the select option's HTML.
381
+ Pix_Customize_Font_Control::output_font_family_option( $font['family'], $active_font_family );
382
+ }
383
+ }
384
+ echo "</optgroup>";
385
+ }
386
+
387
+ // Allow others to add options here
388
+ do_action( 'customify_font_family_after_theme_fonts_options', $active_font_family, $current_value );
389
+ }
390
+
391
+ function output_standard_fonts_select_options_group( $active_font_family, $current_value ) {
392
+ // Allow others to add options here
393
+ do_action( 'customify_font_family_before_standard_fonts_options', $active_font_family, $current_value );
394
+
395
+ if ( ! empty( $this->std_fonts ) ) {
396
+
397
+ echo '<optgroup label="' . esc_attr__( 'Standard fonts', 'customify' ) . '">';
398
+ foreach ( $this->get_std_fonts() as $font_family ) {
399
+ Pix_Customize_Font_Control::output_font_family_option( $font_family, $active_font_family );
400
+ }
401
+ echo "</optgroup>";
402
+ }
403
+
404
+ // Allow others to add options here
405
+ do_action( 'customify_font_family_after_standard_fonts_options', $active_font_family, $current_value );
406
+ }
407
+
408
+ function output_google_fonts_select_options_group( $active_font_family, $current_value ) {
409
+ // Allow others to add options here
410
+ do_action( 'customify_font_family_before_google_fonts_options', $active_font_family, $current_value );
411
+
412
+ if ( ! empty( $this->google_fonts ) ) {
413
+ // The actual options in this optiongroup will be injected via JS from the output of
414
+ // see@ Customify_Fonts_Global::customize_pane_settings_google_fonts_options()
415
+ echo '<optgroup class="google-fonts-opts-placeholder" label="' . esc_attr__( 'Google fonts', 'customify' ) . '"></optgroup>';
416
+ }
417
+
418
+ // Allow others to add options here
419
+ do_action( 'customify_font_family_after_google_fonts_options', $active_font_family, $current_value );
420
+ }
421
+
422
+ public function customize_pane_settings_google_fonts_options() {
423
+ if ( empty( $this->google_fonts ) ) {
424
+ return;
425
+ }
426
+
427
+ ?>
428
+ <script type="text/javascript">
429
+ if ( 'undefined' === typeof _wpCustomizeSettings.settings ) {
430
+ _wpCustomizeSettings.settings = {};
431
+ }
432
+
433
+ <?php
434
+ echo "(function ( sAdditional ){\n";
435
+
436
+ printf(
437
+ "sAdditional['google_fonts_opts'] = %s;\n",
438
+ wp_json_encode( $this->get_google_fonts_select_options() )
439
+ );
440
+ echo "})( _wpCustomizeSettings );\n";
441
+ ?>
442
+ </script>
443
+ <?php
444
+ }
445
+
446
+ protected function get_google_fonts_select_options() {
447
+
448
+ if ( ! PixCustomifyPlugin()->settings->get_plugin_setting( 'typography_google_fonts' ) || empty( $this->google_fonts ) ) {
449
+ return '';
450
+ }
451
+
452
+ ob_start();
453
+ if ( PixCustomifyPlugin()->settings->get_plugin_setting( 'typography_group_google_fonts' ) ) {
454
+
455
+ $grouped_google_fonts = array();
456
+ foreach ( $this->get_google_fonts() as $font_details ) {
457
+ if ( isset( $font_details['category'] ) ) {
458
+ $grouped_google_fonts[ $font_details['category'] ][] = $font_details;
459
+ } else {
460
+ $grouped_google_fonts['uncategorized'][] = $font_details;
461
+ }
462
+ }
463
+
464
+ foreach ( $grouped_google_fonts as $group_name => $group_fonts ) {
465
+ /* translators: %s: The font category name */
466
+ echo '<optgroup label="' . sprintf( esc_attr__( 'Google fonts %s', 'customify' ), $group_name ) . '">';
467
+ foreach ( $group_fonts as $font_details ) {
468
+ Pix_Customize_Font_Control::output_font_family_option( $font_details['family'] );
469
+ }
470
+ echo "</optgroup>";
471
+ }
472
+
473
+ } else {
474
+ echo '<optgroup label="' . esc_attr__( 'Google fonts', 'customify' ) . '">';
475
+ foreach ( $this->get_google_fonts() as $font_details ) {
476
+ Pix_Customize_Font_Control::output_font_family_option( $font_details['family'] );
477
+ }
478
+ echo "</optgroup>";
479
+ }
480
+
481
+ return ob_get_clean();
482
+ }
483
+
484
+ /**
485
+ * Gather all the font families that need to be loaded via Web Font Loader.
486
+ *
487
+ * @return array
488
+ */
489
+ public function get_font_families_details_for_webfontloader() {
490
+
491
+ $args = array(
492
+ 'google_families' => array(),
493
+ 'custom_families' => array(),
494
+ 'custom_srcs' => array(),
495
+ );
496
+
497
+ /** @var PixCustomifyPlugin $local_plugin */
498
+ $local_plugin = PixCustomifyPlugin();
499
+
500
+ $font_fields = array();
501
+ $local_plugin->customizer->get_fields_by_key( $local_plugin->get_options_details(), 'type', 'font', $font_fields );
502
+
503
+ if ( empty( $font_fields ) ) {
504
+ return $args;
505
+ }
506
+
507
+ // These are fields that should have no frontend impact.
508
+ $excluded_fields = array(
509
+ 'sm_font_palette',
510
+ 'sm_font_palette_variation',
511
+ 'sm_font_primary',
512
+ 'sm_font_secondary',
513
+ 'sm_font_body',
514
+ 'sm_font_accent',
515
+ 'sm_swap_fonts',
516
+ 'sm_swap_primary_secondary_fonts',
517
+ );
518
+
519
+ foreach ( $font_fields as $id => $font ) {
520
+ // Bail if this is an excluded field.
521
+ if ( in_array( $id, $excluded_fields ) ) {
522
+ continue;
523
+ }
524
+
525
+ // Bail without a value.
526
+ if ( empty( $font['value'] ) ) {
527
+ continue;
528
+ }
529
+
530
+ $value = $this->standardizeFontValue( self::maybeDecodeValue( $font['value'] ) );
531
+
532
+ // In case the value is empty, try a default value if the $font['value'] is actually the font family.
533
+ if ( empty( $value ) && is_string( $font['value'] ) ) {
534
+ $value = $this->get_font_defaults_value( str_replace( '"', '', $font['value'] ) );
535
+ }
536
+
537
+ // Bail if we don't have a value or the value isn't an array
538
+ if ( empty( $value ) || ! is_array( $value ) ) {
539
+ continue;
540
+ }
541
+
542
+ // We can't do anything without a font family.
543
+ if ( empty( $value['font_family'] ) ) {
544
+ continue;
545
+ }
546
+ $font_family = $value['font_family'];
547
+
548
+ $font_type = $this->determineFontType( $value['font_family'] );
549
+ // If this is a standard font, we have nothing to do.
550
+ if ( 'std_font' === $font_type ) {
551
+ continue;
552
+ }
553
+
554
+ $font_details = $this->getFontDetails( $value['font_family'], $font_type );
555
+
556
+ if ( 'google_font' !== $font_type ) {
557
+ if ( ! empty( $value['font_variant'] ) ) {
558
+ $font_family .= ":" . join( ',', self::convertFontVariantsToFvds( $value['font_variant'] ) );
559
+ } elseif ( ! empty( $font_details['variants'] ) ) {
560
+ $font_family .= ':' . join( ',', self::convertFontVariantsToFvds( $font_details['variants'] ) );
561
+ }
562
+ $args['custom_families'][] = "'" . $font_family . "'";
563
+ if ( ! empty( $font_details['src'] ) ) {
564
+ $args['custom_srcs'][] = "'" . $font_details['src'] . "'";
565
+ }
566
+ continue;
567
+ }
568
+
569
+ // This is a Google font.
570
+ // We load just the selected variants, if available, or all variants.
571
+ if ( ! empty( $value['font_variant'] ) ) {
572
+ $font_family .= ":" . self::maybeImplodeList( $value['font_variant'] );
573
+ } elseif ( ! empty( $font_details['variants'] ) ) {
574
+ $font_family .= ":" . self::maybeImplodeList( $font_details['variants'] );
575
+ }
576
+
577
+ // We only load selected subsets. The latin subset is automatically loaded.
578
+ if ( ! empty( $value['selected_subsets'] ) ) {
579
+ $font_family .= ":" . self::maybeImplodeList( $value['selected_subsets'] );
580
+ }
581
+
582
+ $args['google_families'][] = "'" . $font_family . "'";
583
+ }
584
+
585
+ $args = array(
586
+ 'google_families' => array_unique( $args['google_families'] ),
587
+ 'custom_families' => array_unique( $args['custom_families'] ),
588
+ 'custom_srcs' => array_unique( $args['custom_srcs'] ),
589
+ );
590
+
591
+ return $args;
592
+ }
593
+
594
+ /**
595
+ *
596
+ * @param string $font_family
597
+ *
598
+ * @return array
599
+ */
600
+ public function get_font_defaults_value( $font_family ) {
601
+ if ( empty( $font_family ) ) {
602
+ return array();
603
+ }
604
+
605
+ return array(
606
+ 'type' => $this->determineFontType( $font_family ),
607
+ 'font_family' => $font_family
608
+ );
609
+ }
610
+
611
+ function output_fonts_dynamic_style() {
612
+
613
+ /** @var PixCustomifyPlugin $local_plugin */
614
+ $local_plugin = PixCustomifyPlugin();
615
+
616
+ $font_fields = array();
617
+ $local_plugin->customizer->get_fields_by_key( $local_plugin->get_options_details(), 'type', 'font', $font_fields );
618
+
619
+ if ( empty( $font_fields ) ) {
620
+ return;
621
+ }
622
+
623
+ $output = '';
624
+
625
+ foreach ( $font_fields as $key => $font ) {
626
+ $font_output = $this->get_font_style( $font );
627
+ // If no output do not print anything, except if we are in the Customizer preview.
628
+ // In the Customizer preview we need the empty <style> since we target it by id.
629
+ if ( empty( $font_output ) && ! is_customize_preview() ) {
630
+ continue;
631
+ }
632
+
633
+ $output .= $font_output . "\n";
634
+
635
+ // If we are in a Customizer context we will output CSS rules grouped so we can target them individually.
636
+ if ( is_customize_preview() ) { ?>
637
+ <style id="customify_font_output_for_<?php echo sanitize_html_class( $key ); ?>">
638
+ <?php echo $font_output; ?>
639
+ </style>
640
+ <?php
641
+ }
642
+ }
643
+
644
+ // In the front-end we need to print CSS rules in bulk.
645
+ if ( ! empty( $output ) && ! is_customize_preview() ) { ?>
646
+ <style id="customify_fonts_output">
647
+ <?php echo $output; ?>
648
+ </style>
649
+ <?php
650
+ }
651
+ }
652
+
653
+ function get_fonts_dynamic_style() {
654
+
655
+ $output = '';
656
+
657
+ /** @var PixCustomifyPlugin $local_plugin */
658
+ $local_plugin = PixCustomifyPlugin();
659
+
660
+ $font_fields = array();
661
+ $local_plugin->customizer->get_fields_by_key( $local_plugin->get_options_details(), 'type', 'font', $font_fields );
662
+
663
+ if ( empty( $font_fields ) ) {
664
+ return $output;
665
+ }
666
+
667
+ foreach ( $font_fields as $key => $font ) {
668
+
669
+ $font_output = $this->get_font_style( $font );
670
+ if ( empty( $font_output ) ) {
671
+ continue;
672
+ }
673
+
674
+ $output .= $font_output . "\n";
675
+ }
676
+
677
+ return $output;
678
+ }
679
+
680
+ /**
681
+ * Get the CSS rules for a given font (with `selector` and `value` sub-entries at least).
682
+ *
683
+ * @param array $fontConfig
684
+ *
685
+ * @return string The CSS rules.
686
+ */
687
+ protected function get_font_style( $fontConfig ) {
688
+
689
+ if ( ! isset( $fontConfig['selector'] ) || ! isset( $fontConfig['value'] ) ) {
690
+ return '';
691
+ }
692
+
693
+ $value = $this->standardizeFontValue( self::maybeDecodeValue( $fontConfig['value'] ) );
694
+
695
+ // In case the value is empty, try a default value if the $font['value'] is actually the font family.
696
+ if ( empty( $value ) && is_string( $fontConfig['value'] ) ) {
697
+ $value = $this->get_font_defaults_value( str_replace( '"', '', $fontConfig['value'] ) );
698
+ }
699
+
700
+ $cssValue = $this->getCSSValue( $value, $fontConfig );
701
+ // Make sure we are dealing with a selector as a list of individual selector,
702
+ // maybe some of them having special details like supported properties.
703
+ $cssSelectors = apply_filters( 'customify_font_css_selector', self::standardizeFontSelector( $fontConfig['selector'] ), $fontConfig );
704
+
705
+ // In case we receive a callback, its output will be the final result.
706
+ if ( isset( $fontConfig['callback'] ) && is_callable( $fontConfig['callback'] ) ) {
707
+ // The callbacks expect a string selector right now, not a standardized list.
708
+ // @todo Maybe migrate all callbacks to the new standardized data and remove all this.
709
+ $plainSelectors = [];
710
+ foreach ( $cssSelectors as $selector => $details ) {
711
+ $plainSelectors[] = $selector;
712
+ }
713
+ $fontConfig['selector'] = join( ', ', $plainSelectors );
714
+
715
+ // Also, "kill" all fields unit since we pass final CSS values.
716
+ // Except font-size that can be used in Typeline calculations,
717
+ // and letter-spacing that always enforces em if given an empty unit (we will leave it's unit in the field config).
718
+ if ( ! empty( $cssValue['font-size'] ) ) {
719
+ $font_size = self::standardizeNumericalValue( $value['font_size'], 'font-size', $fontConfig );
720
+ $cssValue['font-size'] = $font_size['value'];
721
+ }
722
+ if ( ! empty( $cssValue['letter-spacing'] ) ) {
723
+ $letter_spacing = self::standardizeNumericalValue( $value['letter_spacing'], 'letter-spacing', $fontConfig );
724
+ $cssValue['letter-spacing'] = $letter_spacing['value'];
725
+ }
726
+ foreach ( $fontConfig['fields'] as $fieldKey => $fieldValue ) {
727
+ if ( isset( $fieldValue['unit'] ) && $fieldKey !== 'font-size' && $fieldKey !== 'letter-spacing' ) {
728
+ $fontConfig['fields'][ $fieldKey ]['unit'] = false;
729
+ }
730
+ }
731
+
732
+ // font-variant
733
+
734
+ // Callbacks want the value keys with underscores, not dashes.
735
+ // We will provide them in both versions for a smoother transition.
736
+ foreach ( $cssValue as $property => $propertyValue ) {
737
+ $new_key = $property;
738
+ if ( strpos( $new_key, '-' ) !== false ) {
739
+ $new_key = str_replace( '-', '_', $new_key );
740
+ $cssValue[ $new_key ] = $propertyValue;
741
+ }
742
+ }
743
+
744
+ return call_user_func( $fontConfig['callback'], $cssValue, $fontConfig );
745
+ }
746
+
747
+ if ( empty( $cssSelectors ) ) {
748
+ return '';
749
+ }
750
+
751
+ $propertiesPrefix = '';
752
+ if ( ! empty ( $fontConfig['properties_prefix'] ) ) {
753
+ $propertiesPrefix = $fontConfig['properties_prefix'];
754
+ }
755
+
756
+ // The general CSS allowed properties.
757
+ $subFieldsCSSAllowedProperties = $this->extractAllowedCSSPropertiesFromFontFields( $fontConfig['fields'] );
758
+
759
+ // Since we might have simple CSS selectors and complex ones (with special details),
760
+ // for cleanliness we will group the simple ones under a single CSS rule,
761
+ // and output individual CSS rules for complex ones.
762
+ // Right now, for complex CSS selectors we are only interested in the `properties` sub-entry.
763
+ $simple_css_selectors = [];
764
+ $complex_css_selectors = [];
765
+ foreach ( $cssSelectors as $selector => $details ) {
766
+ if ( empty( $details['properties'] ) ) {
767
+ // This is a simple selector.
768
+ $simple_css_selectors[] = $selector;
769
+ } else {
770
+ $complex_css_selectors[ $selector ] = $details;
771
+ }
772
+ }
773
+
774
+ $output = '';
775
+
776
+ if ( ! empty( $simple_css_selectors ) ) {
777
+ $output .= "\n" . join(', ', $simple_css_selectors ) . " {" . "\n";
778
+ $output .= $this->getCSSProperties( $cssValue, $subFieldsCSSAllowedProperties, $propertiesPrefix );
779
+ $output .= "}\n";
780
+ }
781
+
782
+ if ( ! empty( $complex_css_selectors ) ) {
783
+ foreach ( $complex_css_selectors as $selector => $details ) {
784
+ $output .= "\n" . $selector . " {" . "\n";
785
+ $output .= $this->getCSSProperties( $cssValue, $details['properties'], $propertiesPrefix );
786
+ $output .= "}\n";
787
+ }
788
+ }
789
+
790
+ return $output;
791
+ }
792
+
793
+ protected function getCSSValue( $value, $font ) {
794
+ $cssValue = [];
795
+
796
+ if ( ! empty( $value['font_family'] ) && ! self::isFalsy( $value['font_family'] ) ) {
797
+ $cssValue['font-family'] = $value['font_family'];
798
+ }
799
+
800
+ // If this is a custom font (like from our plugin Fonto) with individual styles & weights - i.e. the font-family says it all
801
+ // We need to "force" the font-weight and font-style
802
+ if ( ! empty( $value['type'] ) && 'custom_individual' == $value['type'] ) {
803
+ $cssValue['font_weight'] = '400 !important';
804
+ $cssValue['font_style'] = 'normal !important';
805
+ }
806
+
807
+ // Handle the case where we have the font_family in the font_variant (usually this means a custom font from our Fonto plugin)
808
+ if ( ! empty( $value['font_variant'] ) && is_array( $value['font_variant'] ) ) {
809
+ // Standardize as value
810
+ $complexVariant = self::standardizeFontValue( $value['font_variant'] );
811
+ // Merge with the received value.
812
+ $value = array_merge( $value, $complexVariant );
813
+ // empty the font_variant going forward.
814
+ unset( $value['font_variant'] );
815
+ }
816
+
817
+ // Split the font_variant into font_weight and font_style, it that is the case.
818
+ if ( ! empty( $value['font_variant'] ) && ! self::isFalsy( $value['font_variant'] ) ) {
819
+ $font_variant = strtolower( $value['font_variant'] );
820
+ // A little bit of sanity check.
821
+ if ( $font_variant === 'regular' ) {
822
+ $font_variant = 'normal';
823
+ }
824
+
825
+ if ( strpos( $font_variant, 'italic' ) !== false ) {
826
+ $font_variant = str_replace( 'italic', '', $font_variant );
827
+ $cssValue['font_style'] = 'italic';
828
+ } elseif ( strpos( $font_variant, 'oblique' ) !== false ) {
829
+ $font_variant = str_replace( 'oblique', '', $font_variant );
830
+ $cssValue['font_style'] = 'oblique';
831
+ }
832
+
833
+ // If we have a remainder like '400', use it as font weight.
834
+ if ( ! empty( $font_variant ) ) {
835
+ $cssValue['font_weight'] = $font_variant;
836
+ }
837
+ }
838
+
839
+ if ( ! empty( $value['font_size'] ) && ! self::isFalsy( $value['font_size'] ) ) {
840
+ $font_size = self::standardizeNumericalValue( $value['font_size'], 'font-size', $font );
841
+ if ( false !== $font_size['value'] ) {
842
+ $cssValue['font-size'] = $font_size['value'];
843
+
844
+ // If we use ems or rems, and the value is larger than 9, then something must be wrong; we will use pixels.
845
+ if ( $font_size['value'] >= 9 && in_array( $font_size['unit'], array( 'em', 'rem' ) ) ) {
846
+ $font_size['unit'] = 'px';
847
+ }
848
+
849
+ $cssValue['font-size'] .= $font_size['unit'];
850
+ }
851
+ }
852
+
853
+ if ( ! empty( $value['letter_spacing'] ) && ! self::isFalsy( $value['letter_spacing'] ) ) {
854
+ $letter_spacing = self::standardizeNumericalValue( $value['letter_spacing'], 'letter-spacing', $font );
855
+
856
+ if ( false !== $letter_spacing['value'] ) {
857
+ $cssValue['letter-spacing'] = $letter_spacing['value'] . $letter_spacing['unit'];
858
+ }
859
+ }
860
+
861
+ if ( ! empty( $value['line_height'] ) && ! self::isFalsy( $value['line_height'] ) ) {
862
+ $line_height = self::standardizeNumericalValue( $value['line_height'], 'line-height', $font );
863
+
864
+ if ( false !== $line_height['value'] ) {
865
+ $cssValue['line-height'] = $line_height['value'] . $line_height['unit'];
866
+ }
867
+ }
868
+
869
+ if ( ! empty( $value['text_align'] ) && ! self::isFalsy( $value['text_align'] ) ) {
870
+ $cssValue['text-align'] = $value['text_align'];
871
+ }
872
+
873
+ if ( ! empty( $value['text_transform'] ) && ! self::isFalsy( $value['text_transform'] ) ) {
874
+ $cssValue['text-transform'] = $value['text_transform'];
875
+ }
876
+
877
+ if ( ! empty( $value['text_decoration'] ) && ! self::isFalsy( $value['text_decoration'] ) ) {
878
+ $cssValue['text-decoration'] = $value['text_decoration'];
879
+ }
880
+
881
+ return $cssValue;
882
+ }
883
+
884
+ protected function getCSSProperties( $cssValue, $allowedProperties = false, $propertiesPrefix = '') {
885
+ $output = '';
886
+
887
+ if ( empty( $cssValue ) ) {
888
+ return $output;
889
+ }
890
+
891
+ foreach ( $cssValue as $property => $propertyValue ) {
892
+ // We don't want to output empty CSS rules.
893
+ if ( self::isFalsy( $propertyValue ) ) {
894
+ continue;
895
+ }
896
+
897
+ // If the property is not allowed, skip it.
898
+ if ( ! $this->isCSSPropertyAllowed( $property, $allowedProperties ) ) {
899
+ continue;
900
+ }
901
+
902
+ $output .= $propertiesPrefix . $property . ": " . $propertyValue . ";\n";
903
+ }
904
+
905
+ return $output;
906
+ }
907
+
908
+ public static function isFalsy( $value ) {
909
+ return in_array( $value, [ '', 'false', false, ], true );
910
+ }
911
+
912
+ public function enqueue_frontend_scripts() {
913
+ $script = $this->get_fonts_dynamic_script();
914
+ if ( ! empty( $script ) ) {
915
+ wp_enqueue_script( PixCustomifyPlugin()->get_slug() . '-web-font-loader' );
916
+ wp_add_inline_script( PixCustomifyPlugin()->get_slug() . '-web-font-loader', $script );
917
+ } elseif ( is_customize_preview() ) {
918
+ // If we are in the Customizer preview, we still need the Web Font Loader.
919
+ wp_enqueue_script( PixCustomifyPlugin()->get_slug() . '-web-font-loader' );
920
+ }
921
+ }
922
+
923
+ function get_fonts_dynamic_script() {
924
+ // If typography has been deactivated from the settings, bail.
925
+ if ( ! PixCustomifyPlugin()->settings->get_plugin_setting( 'typography', '1' ) ) {
926
+ return '';
927
+ }
928
+
929
+ $args = $this->get_font_families_details_for_webfontloader();
930
+
931
+ if ( empty ( $args['custom_families'] ) && empty ( $args['google_families'] ) ) {
932
+ return '';
933
+ }
934
+
935
+ ob_start(); ?>
936
+ const customifyFontLoader = function() {
937
+ const webfontargs = {
938
+ classes: true,
939
+ events: true,
940
+ loading: function() {
941
+ jQuery( window ).trigger( 'wf-loading' );
942
+ },
943
+ active: function() {
944
+ jQuery( window ).trigger( 'wf-active' );
945
+ },
946
+ inactive: function() {
947
+ jQuery( window ).trigger( 'wf-inactive' );
948
+ }
949
+ };
950
+ <?php if ( ! empty( $args['google_families'] ) ) { ?>
951
+ webfontargs.google = {
952
+ families: [<?php echo join( ',', $args['google_families'] ); ?>]
953
+ };
954
+ <?php }
955
+ $custom_families = array();
956
+ $custom_urls = array();
957
+
958
+ if ( ! empty( $args['custom_families'] ) && ! empty( $args['custom_srcs'] ) ) {
959
+ $custom_families += $args['custom_families'];
960
+ $custom_urls += $args['custom_srcs'];
961
+ }
962
+
963
+ if ( ! empty( $custom_families ) && ! empty( $custom_urls ) ) { ?>
964
+ webfontargs.custom = {
965
+ families: [<?php echo join( ',', $custom_families ); ?>],
966
+ urls: [<?php echo join( ',', $custom_urls ) ?>]
967
+ };
968
+ <?php } ?>
969
+ WebFont.load(webfontargs);
970
+ };
971
+ if (typeof WebFont !== 'undefined') {
972
+ customifyFontLoader();
973
+ }<?php
974
+ $output = ob_get_clean();
975
+
976
+ return apply_filters( 'customify_fonts_webfont_script', $output );
977
+ }
978
+
979
+ /**
980
+ * Output preconnect links to speed up fonts download and avoid FOUT as much as possible.
981
+ */
982
+ public function add_preconnect_links() {
983
+ // If typography has been deactivated from the settings, bail.
984
+ if ( ! PixCustomifyPlugin()->settings->get_plugin_setting( 'typography', '1' )
985
+ || ! PixCustomifyPlugin()->settings->get_plugin_setting( 'typography_google_fonts', 1 ) ) {
986
+ return;
987
+ }
988
+
989
+ $args = $this->get_font_families_details_for_webfontloader();
990
+ // If we are not using external fonts, bail.
991
+ if ( empty ( $args['custom_families'] ) && empty ( $args['google_families'] ) ) {
992
+ return;
993
+ }
994
+
995
+ // If we are using Google fonts, add the known origins.
996
+ // Google uses two different origins, one for the CSS and another for the actual fonts.
997
+ if ( ! empty ( $args['google_families'] ) ) {
998
+ echo '<link href="https://fonts.googleapis.com" rel="preconnect" crossorigin>';
999
+ echo '<link href="https://fonts.gstatic.com" rel="preconnect" crossorigin>';
1000
+ }
1001
+
1002
+ // Now deal with custom external fonts.
1003
+ if ( ! empty( $args['custom_srcs'] ) ) {
1004
+ // Get the site's origin (without the protocol) so we can exclude it.
1005
+ $own_origin = self::extractOriginFromUrl( get_bloginfo( 'url' ) );
1006
+ // Remove the protocol
1007
+ $own_origin = preg_replace( '#((http|https|ftp|ftps)?\:?)#i', '', $own_origin );
1008
+
1009
+ $external_origins = array();
1010
+ foreach ( $args['custom_srcs'] as $src ) {
1011
+ $origin = self::extractOriginFromUrl( $src );
1012
+ if ( ! empty( $origin ) && false === strpos( $origin, $own_origin ) ) {
1013
+ $external_origins[] = $origin;
1014
+ }
1015
+ }
1016
+
1017
+ $external_origins = array_unique( $external_origins );
1018
+ if ( ! empty( $external_origins ) ) {
1019
+ foreach ( $external_origins as $external_origin ) {
1020
+ echo '<link href="' . esc_url( $external_origin ) . '" rel="preconnect" crossorigin>';
1021
+ }
1022
+ }
1023
+ }
1024
+ }
1025
+
1026
+ /**
1027
+ * Add data to be available in JS.
1028
+ *
1029
+ * @since 2.7.0
1030
+ *
1031
+ * @param $localized
1032
+ *
1033
+ * @return mixed
1034
+ */
1035
+ public function add_to_localized_data( $localized ) {
1036
+ if ( empty( $localized['fonts'] ) ) {
1037
+ $localized['fonts'] = array();
1038
+ }
1039
+
1040
+ $localized['fonts']['floatPrecision'] =self::$floatPrecision;
1041
+
1042
+ $localized['fonts']['theme_fonts'] = $this->get_theme_fonts();
1043
+ $localized['fonts']['cloud_fonts'] = $this->get_cloud_fonts();
1044
+ $localized['fonts']['google_fonts'] = $this->get_google_fonts();
1045
+ $localized['fonts']['std_fonts'] = $this->get_std_fonts();
1046
+
1047
+ if ( empty( $localized['l10n'] ) ) {
1048
+ $localized['l10n'] = array();
1049
+ }
1050
+ $localized['l10n']['fonts'] = array(
1051
+ 'familyPlaceholderText' => esc_html__( 'Select a font family', 'customify' ),
1052
+ 'variantAutoText' => esc_html__( 'Auto', 'customify' ),
1053
+ 'subsetPlaceholderText' => esc_html__( 'More subsets', 'customify' ),
1054
+ );
1055
+
1056
+ return $localized;
1057
+ }
1058
+
1059
+ /**
1060
+ * Load the google fonts list from the local file, if not already loaded.
1061
+ *
1062
+ * @return array
1063
+ */
1064
+ protected function maybe_load_google_fonts() {
1065
+
1066
+ if ( empty( $this->google_fonts ) ) {
1067
+ $fonts_path = PixCustomifyPlugin()->get_base_path() . 'includes/resources/google.fonts.php';
1068
+
1069
+ if ( file_exists( $fonts_path ) ) {
1070
+ $this->google_fonts = apply_filters( 'customify_filter_google_fonts_list', require( $fonts_path ) );
1071
+ }
1072
+ }
1073
+
1074
+ if ( ! empty( $this->google_fonts ) ) {
1075
+ return $this->google_fonts;
1076
+ }
1077
+
1078
+ return array();
1079
+ }
1080
+
1081
+ /** HELPERS */
1082
+
1083
+ /**
1084
+ * Cleanup stuff like tab characters.
1085
+ *
1086
+ * @param string $string
1087
+ *
1088
+ * @return string
1089
+ */
1090
+ public static function cleanupWhitespace( $string ) {
1091
+
1092
+ return normalize_whitespace( $string );
1093
+ }
1094
+
1095
+ /**
1096
+ * Determine if a given array is associative.
1097
+ *
1098
+ * @param $array
1099
+ *
1100
+ * @return bool
1101
+ */
1102
+ public static function isAssocArray( $array ) {
1103
+ if ( ! is_array( $array ) ) {
1104
+ return false;
1105
+ }
1106
+
1107
+ return ( $array !== array_values( $array ) );
1108
+ }
1109
+
1110
+ /**
1111
+ * Given an URL, attempt to extract the origin (protocol + domain).
1112
+ *
1113
+ * @param string $url
1114
+ *
1115
+ * @return false|string False if the given string is not a proper URL, the origin otherwise.
1116
+ */
1117
+ public static function extractOriginFromUrl( $url ) {
1118
+ if ( empty( $url ) ) {
1119
+ return false;
1120
+ }
1121
+
1122
+ $regex = '#((?:http|https|ftp|ftps)?\:?\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,})(\/\S*)?#i';
1123
+ preg_match( $regex, $url, $matches );
1124
+
1125
+ if ( empty( $matches[1] ) ) {
1126
+ return false;
1127
+ }
1128
+
1129
+ return $matches[1];
1130
+ }
1131
+
1132
+ /**
1133
+ * Given a string, treat it as a (comma separated by default) list and return the array with the items
1134
+ *
1135
+ * @param mixed $str
1136
+ * @param string $delimiter Optional. The delimiter to user.
1137
+ *
1138
+ * @return array
1139
+ */
1140
+ public static function maybeExplodeList( $str, $delimiter = ',' ) {
1141
+ // If by any chance we are given an array, just return it
1142
+ if ( is_array( $str ) ) {
1143
+ return $str;
1144
+ }
1145
+
1146
+ // Anything else we coerce to a string
1147
+ if ( ! is_string( $str ) ) {
1148
+ $str = (string) $str;
1149
+ }
1150
+
1151
+ // Make sure we trim it
1152
+ $str = trim( $str );
1153
+
1154
+ // Bail on empty string
1155
+ if ( empty( $str ) ) {
1156
+ return array();
1157
+ }
1158
+
1159
+ // Return the whole string as an element if the delimiter is missing
1160
+ if ( false === strpos( $str, $delimiter ) ) {
1161
+ return array( $str );
1162
+ }
1163
+
1164
+ // Explode it and return it
1165
+ return explode( $delimiter, $str );
1166
+ }
1167
+
1168
+ /**
1169
+ * Given a value, attempt to implode it.
1170
+ *
1171
+ * @param mixed $value
1172
+ * @param string $delimiter Optional. The delimiter to user.
1173
+ *
1174
+ * @return string
1175
+ */
1176
+ public static function maybeImplodeList( $value, $delimiter = ',' ) {
1177
+ // If by any chance we are given a string, just return it
1178
+ if ( is_string( $value ) ) {
1179
+ return $value;
1180
+ }
1181
+
1182
+ if ( is_array( $value ) ) {
1183
+ return implode( $delimiter, $value );
1184
+ }
1185
+
1186
+ // For anything else (like objects) we return an empty string.
1187
+ return '';
1188
+ }
1189
+
1190
+ /**
1191
+ * Given a selector standardize it to a list.
1192
+ *
1193
+ * @param mixed $selector
1194
+ *
1195
+ * @return array
1196
+ */
1197
+ protected function standardizeFontSelector( $selector ) {
1198
+ $selector_list = [];
1199
+
1200
+ // Attempt to split it by coma.
1201
+ $list = self::maybeExplodeList( $selector );
1202
+
1203
+ // Make sure that we have an associative array with the key being the individual selector
1204
+ foreach ( $list as $key => $value ) {
1205
+ if ( is_numeric( $key ) && is_string( $value ) ) {
1206
+ // This means a simple string selector.
1207
+ $value = self::cleanupWhitespace( $value );
1208
+ $selector_list[ $value ] = [];
1209
+ continue;
1210
+ }
1211
+
1212
+ // Treat the rest a having the selector in the key and a set of details in the value.
1213
+ $key = self::cleanupWhitespace( (string) $key );
1214
+ $selector_list[ $key ] = $value;
1215
+ }
1216
+
1217
+ return $selector_list;
1218
+ }
1219
+
1220
+ /**
1221
+ * Massage an array containing the value (values for subfields) of a `font` field type, into one consistent structure.
1222
+ *
1223
+ * Handle legacy entries.
1224
+ *
1225
+ * @param array $value
1226
+ *
1227
+ * @return array
1228
+ */
1229
+ public static function standardizeFontValue( $value ) {
1230
+ if ( empty( $value ) ) {
1231
+ return array();
1232
+ }
1233
+
1234
+ // If we are given a string, we will consider it a font-family definition
1235
+ if ( is_string( $value ) ) {
1236
+ $value = array( $value );
1237
+ }
1238
+
1239
+ // The value may be a stdClass object.
1240
+ if ( is_object( $value ) ) {
1241
+ // This is a sure way to get multi-dimensional objects as array (converts deep).
1242
+ $value = json_decode(json_encode( $value ), true);
1243
+ }
1244
+
1245
+ // If by this time we don't have an array, return an empty value.
1246
+ if ( ! is_array( $value ) ) {
1247
+ return array();
1248
+ }
1249
+
1250
+ // Handle special logic for when the $values array is not an associative array.
1251
+ if ( ! self::isAssocArray( $value ) ) {
1252
+ $value = self::standardizeNonAssociativeFontValues( $value );
1253
+ }
1254
+
1255
+ foreach ( $value as $entry => $entryValue ) {
1256
+ $newEntry = $entry;
1257
+ // First, all entries keys should use underscore not dash.
1258
+ if ( strpos( $newEntry, '-' ) !== false ) {
1259
+ $newEntry = str_replace( '-', '_', $newEntry );
1260
+ $value[ $newEntry ] = $entryValue;
1261
+ unset( $value[ $entry ] );
1262
+ }
1263
+
1264
+ if ( 'font_family' === $newEntry ) {
1265
+ // The font family may be a comma separated list like "Roboto, sans"
1266
+ // We will keep only the first item.
1267
+ if ( false !== strpos( $entryValue, ',' ) ) {
1268
+ $entryValue = trim( substr( $entryValue, 0, strpos( $entryValue, ',' ) ) );
1269
+ }
1270
+
1271
+ // Make sure that the font family is free from " or '
1272
+ $entryValue = trim( $entryValue, "\"\'" );
1273
+
1274
+ $value[ $newEntry ] = $entryValue;
1275
+ }
1276
+
1277
+ // Standardize numerical fields.
1278
+ if ( in_array( $newEntry, ['font_size', 'line_height', 'letter_spacing'] ) ) {
1279
+ $value[ $newEntry ] = self::standardizeNumericalValue( $entryValue );
1280
+ }
1281
+ }
1282
+
1283
+ // We no longer use the `selected_variants` key, but the proper one: `font_variant`.
1284
+ if ( isset( $value['selected_variants'] ) && ! isset( $value['font_variant'] ) ) {
1285
+ $value['font_variant'] = $value['selected_variants'];
1286
+ unset( $value['selected_variants'] );
1287
+ }
1288
+
1289
+ // Make sure that we have a single value in font_variant.
1290
+ if ( ! empty( $value['font_variant'] ) && is_array( $value['font_variant'] ) && ! self::isAssocArray( $value['font_variant'] ) ) {
1291
+ $value['font_variant'] = reset( $value['font_variant'] );
1292
+ }
1293
+
1294
+ // We no longer hold variants and subsets in the value.
1295
+ if ( isset( $value['variants'] ) ) {
1296
+ unset( $value['variants'] );
1297
+ }
1298
+ if ( isset( $value['subsets'] ) ) {
1299
+ unset( $value['subsets'] );
1300
+ }
1301
+
1302
+ return $value;
1303
+ }
1304
+
1305
+ /**
1306
+ * Handle special logic for when the $value array is not an associative array.
1307
+ *
1308
+ * @param mixed $value
1309
+ * @return array Return a new associative array with proper keys
1310
+ */
1311
+ public static function standardizeNonAssociativeFontValues( $value ) {
1312
+ // If the value provided is not array or is already an associative array, simply return it
1313
+ if ( ! is_array( $value ) || self::isAssocArray( $value ) ) {
1314
+ return $value;
1315
+ }
1316
+
1317
+ $new_value = array();
1318
+
1319
+ // The first entry is the font-family
1320
+ if ( isset( $value[0] ) ) {
1321
+ $new_value['font_family'] = $value[0];
1322
+ }
1323
+
1324
+ // The second entry is the variant.
1325
+ if ( isset( $value[1] ) ) {
1326
+ $new_value['font_variant'] = $value[1];
1327
+ }
1328
+
1329
+ return $new_value;
1330
+ }
1331
+
1332
+ /**
1333
+ * Given a value we will standardize it to an array with 'value' and 'unit'.
1334
+ *
1335
+ * @param mixed $value
1336
+ * @param string|false $field Optional. The subfield name (e.g. `font-size`).
1337
+ * @param array|false $font Optional. The entire font field config.
1338
+ *
1339
+ * @return array
1340
+ */
1341
+ public static function standardizeNumericalValue( $value, $field = false, $font = false ) {
1342
+ $standard_value = array(
1343
+ 'value' => false,
1344
+ 'unit' => false,
1345
+ );
1346
+
1347
+ if ( self::isFalsy( $value ) ) {
1348
+ return $standard_value;
1349
+ }
1350
+
1351
+ if ( is_numeric( $value ) ) {
1352
+ $standard_value['value'] = $value;
1353
+ // Deduce the unit.
1354
+ $standard_value['unit'] = self::getSubFieldUnit( $field, $font );
1355
+ } elseif ( is_array( $value ) ) {
1356
+ // The value may be an associative array or a numerical keyed one.
1357
+ if ( isset( $value['value'] ) ) {
1358
+ $standard_value['value'] = $value['value'];
1359
+ } elseif ( isset( $value[0] ) ) {
1360
+ $standard_value['value'] = $value[0];
1361
+ }
1362
+
1363
+ if ( isset( $value['unit'] ) ) {
1364
+ $standard_value['unit'] = $value['unit'];
1365
+ } elseif ( isset( $value[1] ) ) {
1366
+ $standard_value['unit'] = $value[1];
1367
+ }
1368
+ } elseif ( is_string( $value ) ) {
1369
+ // We will get everything in front that is a valid part of a number (float including).
1370
+ preg_match( "/^([\d.\-+]+)/i", $value, $match );
1371
+
1372
+ if ( ! empty( $match ) && isset( $match[0] ) ) {
1373
+ $standard_value['value'] = $match[0];
1374
+ $standard_value['unit'] = substr( $value, strlen( $match[0] ) );
1375
+ } else {
1376
+ // If we could not extract anything useful we will trust the developer and leave it like that.
1377
+ $standard_value['value'] = $value;
1378
+ }
1379
+ }
1380
+
1381
+ // Make sure that the value number is rounded to 2 decimals.
1382
+ if ( is_numeric( $standard_value['value'] ) ) {
1383
+ $standard_value['value'] = round( $standard_value['value'], self::$floatPrecision );
1384
+ }
1385
+
1386
+ // Make sure that we convert all falsy unit values to the boolean false.
1387
+ if ( self::isFalsy( $standard_value['unit'] ) ) {
1388
+ $standard_value['unit'] = false;
1389
+ }
1390
+
1391
+ return $standard_value;
1392
+ }
1393
+
1394
+ public static function standardizeRangeFieldAttributes( $attributes ) {
1395
+ if ( false === $attributes ) {
1396
+ return $attributes;
1397
+ }
1398
+
1399
+ if ( ! is_array( $attributes ) ) {
1400
+ return array(
1401
+ 'min' => '',
1402
+ 'max' => '',
1403
+ 'step' => '',
1404
+ 'unit' => '',
1405
+ );
1406
+ }
1407
+
1408
+ // Make sure that if we have a numerical indexed array, we will convert it to an associative one.
1409
+ if ( ! self::isAssocArray( $attributes ) ) {
1410
+ $defaults = array(
1411
+ 'min',
1412
+ 'max',
1413
+ 'step',
1414
+ 'unit',
1415
+ );
1416
+
1417
+ $attributes = array_combine( $defaults, array_values( $attributes ) );
1418
+ }
1419
+
1420
+ return $attributes;
1421
+ }
1422
+
1423
+ /**
1424
+ * Given a property and a list of allowed properties, determine if it is allowed.
1425
+ *
1426
+ * @param string $property
1427
+ * @param false|array $allowedProperties
1428
+ *
1429
+ * @return bool
1430
+ */
1431
+ protected function isCSSPropertyAllowed( $property, $allowedProperties = false ) {
1432
+ // Empty properties are not allowed.
1433
+ if ( empty( $property ) ) {
1434
+ return false;
1435
+ }
1436
+
1437
+ // Everything is allowed if nothing is specified.
1438
+ if ( ! is_array( $allowedProperties ) ) {
1439
+ return true;
1440
+ }
1441
+
1442
+ // If we have received an array, it may come in two flavors:
1443
+ // - non-associative: meaning that if a property is part of the list, it is allowed
1444
+ // - associative: with the key as the property and a value; if the value is not empty() then it is allowed.
1445
+ // Standardize the $allowed to a "property" => true or false format.
1446
+ $stdAllowedProperties = [];
1447
+ foreach ( $allowedProperties as $key => $value ) {
1448
+ // This means a simple string.
1449
+ if ( is_numeric( $key ) && is_string( $value ) ) {
1450
+ $stdAllowedProperties[ $value ] = true;
1451
+ continue;
1452
+ }
1453
+
1454
+ $stdAllowedProperties[ $key ] = empty( $value ) ? false : true;
1455
+ }
1456
+
1457
+ if ( empty( $stdAllowedProperties ) ) {
1458
+ return true;
1459
+ }
1460
+
1461
+ return ! empty( $stdAllowedProperties[ $property ] );
1462
+ }
1463
+
1464
+ /**
1465
+ * Given a font subfields configuration determine a list of allowed properties.
1466
+ *
1467
+ * The returned list is in the format: `css-property-name`: true|false.
1468
+ *
1469
+ * @param array $subfields
1470
+ *
1471
+ * @return array
1472
+ */
1473
+ public static function extractAllowedCSSPropertiesFromFontFields( $subfields ) {
1474
+ // Nothing is allowed by default.
1475
+ $allowedProperties = array(
1476
+ 'font-family' => false,
1477
+ 'font-weight' => false,
1478
+ 'font-style' => false,
1479
+ 'font-size' => false,
1480
+ 'line-height' => false,
1481
+ 'letter-spacing' => false,
1482
+ 'text-align' => false,
1483
+ 'text-transform' => false,
1484
+ 'text-decoration' => false,
1485
+ );
1486
+
1487
+ if ( empty( $subfields ) || ! is_array( $subfields ) ) {
1488
+ return $allowedProperties;
1489
+ }
1490
+
1491
+ // We will match the subfield keys with the CSS properties, but only those that properties that are above.
1492
+ // Maybe at some point some more complex matching would be needed here.
1493
+ foreach ( $subfields as $key => $value ) {
1494
+ if ( isset( $allowedProperties[ $key ] ) ) {
1495
+ // Convert values to boolean.
1496
+ $allowedProperties[ $key ] = ! empty( $value );
1497
+
1498
+ // For font-weight we want font-style to go the same way,
1499
+ // since these two are generated from the same subfield: font-weight (actually holding the font variant value).
1500
+ if ( 'font-weight' === $key ) {
1501
+ $allowedProperties[ 'font-style' ] = $allowedProperties[ $key ];
1502
+ }
1503
+ }
1504
+ }
1505
+
1506
+ return $allowedProperties;
1507
+ }
1508
+
1509
+ /**
1510
+ * @param string $field
1511
+ * @param array $font
1512
+ *
1513
+ * @return bool|string
1514
+ */
1515
+ public static function getSubFieldUnit( $field, $font ) {
1516
+ if ( false === $field || false === $font ) {
1517
+ return false;
1518
+ }
1519
+
1520
+ // If the field has no definition.
1521
+ if ( empty( $font['fields'][ $field ] ) ) {
1522
+ // These fields don't have an unit, by default.
1523
+ if ( in_array( $field, ['font-family', 'font-weight', 'font-style', 'line-height', 'text-align', 'text-transform', 'text-decoration'] ) ){
1524
+ return false;
1525
+ }
1526
+
1527
+ // The rest of the subfields have pixels as default units.
1528
+ return 'px';
1529
+ }
1530
+
1531
+ if ( isset( $font['fields'][ $field ]['unit'] ) ) {
1532
+ // Make sure that we convert all falsy unit values to the boolean false.
1533
+ return self::isFalsy( $font['fields'][ $field ]['unit'] ) ? false : $font['fields'][ $field ]['unit'];
1534
+ }
1535
+
1536
+ if ( isset( $font['fields'][ $field ][3] ) ) {
1537
+ // Make sure that we convert all falsy unit values to the boolean false.
1538
+ return self::isFalsy( $font['fields'][ $field ][3] ) ? false : $font['fields'][ $field ][3];
1539
+ }
1540
+
1541
+ return 'px';
1542
+ }
1543
+
1544
+ /**
1545
+ * Determine a font type based on its font family.
1546
+ *
1547
+ * We will follow a stack in the following order: theme fonts, cloud fonts, Google fonts, standard fonts.
1548
+ *
1549
+ * @param string $fontFamily
1550
+ *
1551
+ * @return string The font type: google, theme_font, cloud_font, or std_font.
1552
+ */
1553
+ public function determineFontType( $fontFamily ) {
1554
+ // The default is a standard font (aka no special loading or processing).
1555
+ $fontType = 'std_font';
1556
+
1557
+ if ( ! empty( $this->theme_fonts[ $fontFamily ] ) ) {
1558
+ $fontType = 'theme_font';
1559
+ } elseif ( ! empty( $this->cloud_fonts[ $fontFamily ] ) ) {
1560
+ $fontType = 'cloud_font';
1561
+ } else if ( ! empty( $this->google_fonts[ $fontFamily ] ) ) {
1562
+ $fontType = 'google_font';
1563
+ }
1564
+
1565
+ return $fontType;
1566
+ }
1567
+
1568
+ /**
1569
+ * Will convert an array of CSS like variants into their FVD equivalents. Web Font Loader expects this format.
1570
+ * @link https://github.com/typekit/fvd
1571
+ *
1572
+ * @param array $variants
1573
+ * @return array
1574
+ */
1575
+ public static function convertFontVariantsToFvds( $variants ) {
1576
+ $fvds = array();
1577
+ if ( ! is_array( $variants ) || empty( $variants ) ) {
1578
+ return $fvds;
1579
+ }
1580
+
1581
+ foreach ( $variants as $variant ) {
1582
+ // Make sure that we are working with strings.
1583
+ $variant = (string) $variant;
1584
+
1585
+ // This is the default font style.
1586
+ $font_style = 'n'; // normal
1587
+ if ( false !== strrpos( $variant, 'italic' ) ) {
1588
+ $font_style = 'i';
1589
+ $variant = str_replace( 'italic', '', $variant );
1590
+ } elseif ( false !== strrpos( $variant, 'oblique' ) ) {
1591
+ $font_style = 'o';
1592
+ $variant = str_replace( 'oblique', '', $variant );
1593
+ }
1594
+
1595
+ // The equivalence:
1596
+ //
1597
+ // 1: 100
1598
+ // 2: 200
1599
+ // 3: 300
1600
+ // 4: 400 (default, also recognized as 'normal')
1601
+ // 5: 500
1602
+ // 6: 600
1603
+ // 7: 700 (also recognized as 'bold')
1604
+ // 8: 800
1605
+ // 9: 900
1606
+
1607
+ switch ( $variant ) {
1608
+ case '100':
1609
+ $font_weight = 1;
1610
+ break;
1611
+ case '200':
1612
+ $font_weight = 2;
1613
+ break;
1614
+ case '300':
1615
+ $font_weight = 3;
1616
+ break;
1617
+ case '500':
1618
+ $font_weight = 5;
1619
+ break;
1620
+ case '600':
1621
+ $font_weight = 6;
1622
+ break;
1623
+ case '700':
1624
+ case 'bold':
1625
+ $font_weight = 7;
1626
+ break;
1627
+ case '800':
1628
+ $font_weight = 8;
1629
+ break;
1630
+ case '900':
1631
+ $font_weight = 9;
1632
+ break;
1633
+ default:
1634
+ $font_weight = 4;
1635
+ break;
1636
+ }
1637
+
1638
+ $fvds[] = $font_style . '' . $font_weight;
1639
+ }
1640
+
1641
+ return $fvds;
1642
+ }
1643
+
1644
+ /**
1645
+ * Attempt to JSON decode the provided value.
1646
+ *
1647
+ * @param mixed $value
1648
+ *
1649
+ * @return mixed|string
1650
+ */
1651
+ public static function maybeDecodeValue( $value ) {
1652
+ // If the value is already an array, nothing to do.
1653
+ if ( is_array( $value ) ) {
1654
+ return $value;
1655
+ }
1656
+
1657
+ if ( is_string( $value ) ) {
1658
+ $value = PixCustomifyPlugin::decodeURIComponent( $value );
1659
+ $value = wp_unslash( $value );
1660
+ $value = json_decode( $value, true );
1661
+ }
1662
+
1663
+ return $value;
1664
+ }
1665
+
1666
+ /**
1667
+ * Attempt to JSON encode the provided value.
1668
+ *
1669
+ * @param mixed $value
1670
+ *
1671
+ * @return mixed|string
1672
+ */
1673
+ public static function maybeEncodeValue( $value ) {
1674
+ // If the value is already a string, nothing to do.
1675
+ if ( is_string( $value ) ) {
1676
+ return $value;
1677
+ }
1678
+
1679
+ if ( is_array( $value ) || is_object( $value ) ) {
1680
+ $value = PixCustomifyPlugin::encodeURIComponent( json_encode( $value ) );
1681
+ }
1682
+
1683
+ return $value;
1684
+ }
1685
+
1686
+ /**
1687
+ * Main Customify_Fonts_Global Instance
1688
+ *
1689
+ * Ensures only one instance of Customify_Fonts_Global is loaded or can be loaded.
1690
+ *
1691
+ * @since 2.7.0
1692
+ * @static
1693
+ *
1694
+ * @return Customify_Fonts_Global Main Customify_Fonts_Global instance
1695
+ */
1696
+ public static function instance() {
1697
+
1698
+ if ( is_null( self::$_instance ) ) {
1699
+ self::$_instance = new self();
1700
+ }
1701
+ return self::$_instance;
1702
+ } // End instance ()
1703
+
1704
+ /**
1705
+ * Cloning is forbidden.
1706
+ */
1707
+ public function __clone() {
1708
+
1709
+ _doing_it_wrong( __FUNCTION__,esc_html__( 'You should not do that!', 'customify' ), '' );
1710
+ }
1711
+
1712
+ /**
1713
+ * Unserializing instances of this class is forbidden.
1714
+ */
1715
+ public function __wakeup() {
1716
+
1717
+ _doing_it_wrong( __FUNCTION__, esc_html__( 'You should not do that!', 'customify' ), '' );
1718
+ }
1719
+ }
includes/class-customify-settings.php CHANGED
@@ -25,8 +25,6 @@ class Customify_Settings {
25
  */
26
  protected $plugin_screen_hook_suffix = null;
27
 
28
- public $display_admin_menu = false;
29
-
30
  public $plugin_settings;
31
 
32
  /**
@@ -123,15 +121,25 @@ class Customify_Settings {
123
 
124
  $screen = get_current_screen();
125
  if ( $screen->id == $this->plugin_screen_hook_suffix ) {
126
- wp_enqueue_script( $this->slug . '-admin-script', plugins_url( 'js/admin.js', $this->file ), array( 'jquery' ), $this->version );
127
- wp_localize_script( $this->slug . '-admin-script', 'customify_settings', array(
128
- 'ajax_url' => admin_url( 'admin-ajax.php' ),
129
- 'wp_rest' => array(
130
- 'root' => esc_url_raw( rest_url() ),
131
- 'nonce' => wp_create_nonce( 'wp_rest' ),
132
- 'customify_settings_nonce' => wp_create_nonce( 'customify_settings_nonce' )
133
- ),
134
- ) );
 
 
 
 
 
 
 
 
 
 
135
  }
136
 
137
  wp_localize_script( $this->slug . '-customizer-scripts', 'WP_API_Settings', array(
@@ -168,6 +176,8 @@ class Customify_Settings {
168
 
169
  remove_theme_mod( $key );
170
 
 
 
171
  wp_send_json_success('Deleted ' . $key . ' theme mod!');
172
  }
173
 
@@ -296,15 +306,15 @@ class Customify_Settings {
296
  'options' => array(
297
  'typography_standard_fonts' => array(
298
  'name' => 'typography_standard_fonts',
299
- 'label' => esc_html__( 'Use Standard fonts:', 'customify' ),
300
- 'desc' => esc_html__( 'Would you like them?', 'customify' ),
301
  'default' => true,
302
  'type' => 'switch',
303
  ),
304
  'typography_google_fonts' => array(
305
  'name' => 'typography_google_fonts',
306
  'label' => esc_html__( 'Use Google fonts:', 'customify' ),
307
- 'desc' => esc_html__( 'Would you like them?', 'customify' ),
308
  'default' => true,
309
  'type' => 'switch',
310
  'show_group' => 'typography_google_fonts_group',
@@ -322,6 +332,14 @@ class Customify_Settings {
322
  ),
323
  ),
324
  ),
 
 
 
 
 
 
 
 
325
  ),
326
  ),
327
  ),
@@ -338,12 +356,18 @@ class Customify_Settings {
338
  ),
339
  ),
340
  ),
 
 
 
341
  'processor' => array(
342
  // callback signature: (array $input, customifyProcessor $processor)
343
  'preupdate' => array(
344
  // callbacks to run before update process
345
  // cleanup and validation has been performed on data
346
  ),
 
 
 
347
  ),
348
  'cleanup' => array(
349
  'switch' => array( 'switch_not_available' ),
25
  */
26
  protected $plugin_screen_hook_suffix = null;
27
 
 
 
28
  public $plugin_settings;
29
 
30
  /**
121
 
122
  $screen = get_current_screen();
123
  if ( $screen->id == $this->plugin_screen_hook_suffix ) {
124
+ $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
125
+
126
+ wp_enqueue_script( $this->slug . '-settings-page-script',
127
+ plugins_url( 'js/settings-page' . $suffix . '.js', $this->file ),
128
+ array( 'jquery' ), $this->version );
129
+
130
+ wp_add_inline_script( $this->slug . '-settings-page-script',
131
+ PixCustomify_Customizer::getlocalizeToWindowScript( 'customify',
132
+ array(
133
+ 'config' => array(
134
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
135
+ 'wp_rest' => array(
136
+ 'root' => esc_url_raw( rest_url() ),
137
+ 'nonce' => wp_create_nonce( 'wp_rest' ),
138
+ 'customify_settings_nonce' => wp_create_nonce( 'customify_settings_nonce' )
139
+ ),
140
+ )
141
+ )
142
+ ) );
143
  }
144
 
145
  wp_localize_script( $this->slug . '-customizer-scripts', 'WP_API_Settings', array(
176
 
177
  remove_theme_mod( $key );
178
 
179
+ PixCustomifyPlugin()->invalidate_all_caches();
180
+
181
  wp_send_json_success('Deleted ' . $key . ' theme mod!');
182
  }
183
 
306
  'options' => array(
307
  'typography_standard_fonts' => array(
308
  'name' => 'typography_standard_fonts',
309
+ 'label' => esc_html__( 'Use Standard fonts', 'customify' ),
310
+ 'desc' => esc_html__( 'Would you like to use system fonts?', 'customify' ),
311
  'default' => true,
312
  'type' => 'switch',
313
  ),
314
  'typography_google_fonts' => array(
315
  'name' => 'typography_google_fonts',
316
  'label' => esc_html__( 'Use Google fonts:', 'customify' ),
317
+ 'desc' => esc_html__( 'Would you like to use Google fonts?', 'customify' ),
318
  'default' => true,
319
  'type' => 'switch',
320
  'show_group' => 'typography_google_fonts_group',
332
  ),
333
  ),
334
  ),
335
+ 'typography_cloud_fonts' => array(
336
+ 'name' => 'typography_cloud_fonts',
337
+ 'label' => esc_html__( 'Use Cloud fonts', 'customify' ),
338
+ 'desc' => esc_html__( 'Would you to use Cloud fonts?', 'customify' ),
339
+ 'default' => true,
340
+ 'type' => 'switch',
341
+ 'display_option' => true,
342
+ ),
343
  ),
344
  ),
345
  ),
356
  ),
357
  ),
358
  ),
359
+ 'callbacks' => array(
360
+ 'invalidate_caches' => 'pixcustomify_cache_invalidate_cache',
361
+ ),
362
  'processor' => array(
363
  // callback signature: (array $input, customifyProcessor $processor)
364
  'preupdate' => array(
365
  // callbacks to run before update process
366
  // cleanup and validation has been performed on data
367
  ),
368
+ 'postupdate' => array(
369
+ 'invalidate_caches'
370
+ ),
371
  ),
372
  'cleanup' => array(
373
  'switch' => array( 'switch_not_available' ),
includes/class-customify-style-manager.php CHANGED
@@ -55,6 +55,14 @@ if ( ! class_exists( 'Customify_Style_Manager' ) ) {
55
  */
56
  protected $font_palettes = null;
57
 
 
 
 
 
 
 
 
 
58
  /**
59
  * The Cloud API object.
60
  * @var null|Customify_Cloud_Api
@@ -103,6 +111,12 @@ if ( ! class_exists( 'Customify_Style_Manager' ) ) {
103
  require_once 'class-customify-font-palettes.php';
104
  $this->font_palettes = Customify_Font_Palettes::instance();
105
 
 
 
 
 
 
 
106
  /**
107
  * Initialize the Cloud API logic.
108
  */
@@ -156,6 +170,8 @@ if ( ! class_exists( 'Customify_Style_Manager' ) ) {
156
  add_action( 'customize_controls_print_footer_scripts', array( $this, 'output_user_feedback_modal' ) );
157
  add_action( 'wp_ajax_customify_style_manager_user_feedback', array( $this, 'user_feedback_callback' ) );
158
 
 
 
159
  /*
160
  * Scripts enqueued in the Customizer.
161
  */
@@ -167,7 +183,11 @@ if ( ! class_exists( 'Customify_Style_Manager' ) ) {
167
  * Register Customizer admin scripts.
168
  */
169
  function register_admin_customizer_scripts() {
170
- wp_register_script( PixCustomifyPlugin()->get_slug() . '-style-manager', plugins_url( 'js/customizer/style-manager.js', PixCustomifyPlugin()->get_file() ), array( 'jquery' ), PixCustomifyPlugin()->get_version() );
 
 
 
 
171
  }
172
 
173
  /**
@@ -675,6 +695,28 @@ if ( ! class_exists( 'Customify_Style_Manager' ) ) {
675
  $wp_customize->remove_panel( 'themes' );
676
  }
677
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
678
  /**
679
  * Output the user feedback modal markup, if we need to.
680
  *
@@ -706,8 +748,7 @@ if ( ! class_exists( 'Customify_Style_Manager' ) ) {
706
  <div class="modal-body full">
707
  <div class="box box--large">
708
  <div class="first-step">
709
- <h2 class="modal-title">How would you rate your experience in finding
710
- the right colors for your site?</h2>
711
  <div class="scorecard">
712
  <span>Poor</span>
713
  <label>
@@ -905,5 +946,4 @@ if ( ! class_exists( 'Customify_Style_Manager' ) ) {
905
  _doing_it_wrong( __FUNCTION__, esc_html__( 'You should not do that!', 'customify' ), null );
906
  }
907
  }
908
-
909
  }
55
  */
56
  protected $font_palettes = null;
57
 
58
+ /**
59
+ * The cloud fonts object.
60
+ * @var null|Customify_Cloud_Fonts
61
+ * @access public
62
+ * @since 2.7.0
63
+ */
64
+ protected $cloud_fonts = null;
65
+
66
  /**
67
  * The Cloud API object.
68
  * @var null|Customify_Cloud_Api
111
  require_once 'class-customify-font-palettes.php';
112
  $this->font_palettes = Customify_Font_Palettes::instance();
113
 
114
+ /**
115
+ * Initialize the Cloud Fonts logic.
116
+ */
117
+ require_once 'class-customify-cloud-fonts.php';
118
+ $this->cloud_fonts = Customify_Cloud_Fonts::instance();
119
+
120
  /**
121
  * Initialize the Cloud API logic.
122
  */
170
  add_action( 'customize_controls_print_footer_scripts', array( $this, 'output_user_feedback_modal' ) );
171
  add_action( 'wp_ajax_customify_style_manager_user_feedback', array( $this, 'user_feedback_callback' ) );
172
 
173
+ add_filter( 'customify_localized_js_settings', array( $this, 'add_to_localized_data' ), 10, 1 );
174
+
175
  /*
176
  * Scripts enqueued in the Customizer.
177
  */
183
  * Register Customizer admin scripts.
184
  */
185
  function register_admin_customizer_scripts() {
186
+ $suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
187
+
188
+ wp_register_script( PixCustomifyPlugin()->get_slug() . '-style-manager',
189
+ plugins_url( 'js/customizer/style-manager' . $suffix . '.js', PixCustomifyPlugin()->get_file() ),
190
+ array( 'jquery' ), PixCustomifyPlugin()->get_version() );
191
  }
192
 
193
  /**
695
  $wp_customize->remove_panel( 'themes' );
696
  }
697
 
698
+ /**
699
+ * Add data to be available in JS.
700
+ *
701
+ * @since 2.7.0
702
+ *
703
+ * @param $localized
704
+ *
705
+ * @return mixed
706
+ */
707
+ public function add_to_localized_data( $localized ) {
708
+ if ( empty( $localized['styleManager'] ) ) {
709
+ $localized['styleManager'] = array();
710
+ }
711
+
712
+ $localized['styleManager']['userFeedback'] = array(
713
+ 'nonce' => wp_create_nonce( 'customify_style_manager_user_feedback' ),
714
+ 'provided' => get_option( 'style_manager_user_feedback_provided', false ),
715
+ );
716
+
717
+ return $localized;
718
+ }
719
+
720
  /**
721
  * Output the user feedback modal markup, if we need to.
722
  *
748
  <div class="modal-body full">
749
  <div class="box box--large">
750
  <div class="first-step">
751
+ <h2 class="modal-title">How would you rate your experience in finding the right colors for your site?</h2>
 
752
  <div class="scorecard">
753
  <span>Poor</span>
754
  <label>
946
  _doing_it_wrong( __FUNCTION__, esc_html__( 'You should not do that!', 'customify' ), null );
947
  }
948
  }
 
949
  }
includes/class-customify-theme-configs.php CHANGED
@@ -355,7 +355,7 @@ if ( ! class_exists( 'Customify_Theme_Configs' ) ) {
355
  }
356
 
357
  return self::$_instance;
358
- } // End instance ()
359
 
360
  /**
361
  * Cloning is forbidden.
355
  }
356
 
357
  return self::$_instance;
358
+ }
359
 
360
  /**
361
  * Cloning is forbidden.
includes/class-pixcustomify.php CHANGED
@@ -5,11 +5,11 @@
5
  * @author Pixelgrade <contact@pixelgrade.com>
6
  * @license GPL-2.0+
7
  * @link https://pixelgrade.com
8
- * @copyright 2014-2018 Pixelgrade
9
  */
10
 
11
  /**
12
- * Plugin class.
13
  * @package PixCustomify
14
  * @author Pixelgrade <contact@pixelgrade.com>
15
  */
@@ -61,6 +61,14 @@ class PixCustomifyPlugin {
61
  */
62
  public $customizer = null;
63
 
 
 
 
 
 
 
 
 
64
  /**
65
  * Style Manager class object.
66
  * @var Customify_Style_Manager
@@ -70,12 +78,20 @@ class PixCustomifyPlugin {
70
  public $style_manager = null;
71
 
72
  /**
73
- * Gutenberg class object.
74
- * @var Customify_Gutenberg
75
  * @access public
76
- * @since 2.2.0
77
  */
78
- public $gutenberg = null;
 
 
 
 
 
 
 
 
79
 
80
  protected $options_minimal_details = array();
81
  protected $options_details = array();
@@ -90,12 +106,12 @@ class PixCustomifyPlugin {
90
  * @access private
91
  * @since 1.5.0
92
  */
93
- private $minimalRequiredPhpVersion = '5.3';
94
 
95
  protected function __construct( $file, $version = '1.0.0' ) {
96
- //the main plugin file (the one that loads all this)
97
  $this->file = $file;
98
- //the current plugin version
99
  $this->_version = $version;
100
 
101
  if ( $this->php_version_check() ) {
@@ -128,16 +144,28 @@ class PixCustomifyPlugin {
128
  $this->customizer = PixCustomify_Customizer::instance();
129
  }
130
 
 
 
 
 
 
 
131
  /* Initialize the Style Manager logic. */
132
  require_once( $this->get_base_path() . 'includes/class-customify-style-manager.php' );
133
  if ( is_null( $this->style_manager ) ) {
134
  $this->style_manager = Customify_Style_Manager::instance();
135
  }
136
 
137
- /* Initialize the Gutenberg logic. */
138
- require_once( $this->get_base_path() . 'includes/class-customify-gutenberg.php' );
139
- if ( is_null( $this->gutenberg ) ) {
140
- $this->gutenberg = Customify_Gutenberg::instance();
 
 
 
 
 
 
141
  }
142
 
143
  // Register all the needed hooks
@@ -339,7 +367,6 @@ class PixCustomifyPlugin {
339
  'css',
340
  'output',
341
  'value',
342
- 'load_all_weights',
343
  'selector',
344
  'callback',
345
  'active_callback',
@@ -873,12 +900,16 @@ class PixCustomifyPlugin {
873
  /**
874
  * Does the same thing the JS decodeURIComponent() does
875
  *
876
- * @param string $str
877
  *
878
- * @return string
879
  */
880
  public static function decodeURIComponent( $str ) {
881
- // If we get an array we just let it be
 
 
 
 
882
  if ( is_string( $str ) ) {
883
  $revert = array( '!' => '%21', '*' => '%2A', "'" => '%27', '(' => '%28', ')' => '%29' );
884
  $str = rawurldecode( strtr( $str, $revert ) );
@@ -918,6 +949,7 @@ class PixCustomifyPlugin {
918
  'typography_standard_fonts' => true,
919
  'typography_google_fonts' => true,
920
  'typography_group_google_fonts' => true,
 
921
  'disable_default_sections' => array(),
922
  'disable_customify_sections' => array(),
923
  'enable_reset_buttons' => false,
5
  * @author Pixelgrade <contact@pixelgrade.com>
6
  * @license GPL-2.0+
7
  * @link https://pixelgrade.com
8
+ * @copyright 2014-2020 Pixelgrade
9
  */
10
 
11
  /**
12
+ * Main plugin class.
13
  * @package PixCustomify
14
  * @author Pixelgrade <contact@pixelgrade.com>
15
  */
61
  */
62
  public $customizer = null;
63
 
64
+ /**
65
+ * Fonts class object to handle fonts global logic.
66
+ * @var Customify_Fonts_Global
67
+ * @access public
68
+ * @since 2.7.0
69
+ */
70
+ public $fonts_global = null;
71
+
72
  /**
73
  * Style Manager class object.
74
  * @var Customify_Style_Manager
78
  public $style_manager = null;
79
 
80
  /**
81
+ * Block Editor class object.
82
+ * @var Customify_Block_Editor
83
  * @access public
84
+ * @since 2.7.0
85
  */
86
+ public $block_editor = null;
87
+
88
+ /**
89
+ * Classic Editor class object.
90
+ * @var Customify_Classic_Editor
91
+ * @access public
92
+ * @since 2.7.0
93
+ */
94
+ public $classic_editor = null;
95
 
96
  protected $options_minimal_details = array();
97
  protected $options_details = array();
106
  * @access private
107
  * @since 1.5.0
108
  */
109
+ private $minimalRequiredPhpVersion = '5.4';
110
 
111
  protected function __construct( $file, $version = '1.0.0' ) {
112
+ // The main plugin file (the one that loads all this).
113
  $this->file = $file;
114
+ // The current plugin version.
115
  $this->_version = $version;
116
 
117
  if ( $this->php_version_check() ) {
144
  $this->customizer = PixCustomify_Customizer::instance();
145
  }
146
 
147
+ /* Initialize the Fonts logic. */
148
+ require_once( $this->get_base_path() . 'includes/class-customify-fonts-global.php' );
149
+ if ( is_null( $this->fonts_global ) ) {
150
+ $this->fonts_global = Customify_Fonts_Global::instance();
151
+ }
152
+
153
  /* Initialize the Style Manager logic. */
154
  require_once( $this->get_base_path() . 'includes/class-customify-style-manager.php' );
155
  if ( is_null( $this->style_manager ) ) {
156
  $this->style_manager = Customify_Style_Manager::instance();
157
  }
158
 
159
+ /* Initialize the Block Editor integration logic. */
160
+ require_once( $this->get_base_path() . 'includes/class-customify-block-editor.php' );
161
+ if ( is_null( $this->block_editor ) ) {
162
+ $this->block_editor = Customify_Block_Editor::instance();
163
+ }
164
+
165
+ /* Initialize the Classic Editor integration logic. */
166
+ require_once( $this->get_base_path() . 'includes/class-customify-classic-editor.php' );
167
+ if ( is_null( $this->classic_editor ) ) {
168
+ $this->classic_editor = Customify_Classic_Editor::instance();
169
  }
170
 
171
  // Register all the needed hooks
367
  'css',
368
  'output',
369
  'value',
 
370
  'selector',
371
  'callback',
372
  'active_callback',
900
  /**
901
  * Does the same thing the JS decodeURIComponent() does
902
  *
903
+ * @param mixed $str
904
  *
905
+ * @return mixed
906
  */
907
  public static function decodeURIComponent( $str ) {
908
+ // Nothing to do if we receive an array.
909
+ if ( is_array( $str ) ) {
910
+ return $str;
911
+ }
912
+
913
  if ( is_string( $str ) ) {
914
  $revert = array( '!' => '%21', '*' => '%2A', "'" => '%27', '(' => '%28', ')' => '%29' );
915
  $str = rawurldecode( strtr( $str, $revert ) );
949
  'typography_standard_fonts' => true,
950
  'typography_google_fonts' => true,
951
  'typography_group_google_fonts' => true,
952
+ 'typography_cloud_fonts' => true,
953
  'disable_default_sections' => array(),
954
  'disable_customify_sections' => array(),
955
  'enable_reset_buttons' => false,
includes/extras.php CHANGED
@@ -202,7 +202,7 @@ if ( ! function_exists('add_customify_base_options') ) {
202
  'title' => esc_html__( 'Fonts', 'customify' ),
203
  'options' => array(
204
  'headings_font' => array(
205
- 'type' => 'typography',
206
  'label' => esc_html__( 'Headings', 'customify' ),
207
  'default' => 'Playfair Display',
208
  'selector' => '.site-title a, h1, h2, h3, h4, h5, h6,
@@ -233,11 +233,10 @@ if ( ! function_exists('add_customify_base_options') ) {
233
  )
234
  ),
235
  'body_font' => array(
236
- 'type' => 'typography',
237
  'label' => esc_html__( 'Body Text', 'customify' ),
238
  'default' => 'Lato',
239
  'selector' => 'html body',
240
- 'load_all_weights' => true,
241
  'recommended' => array(
242
  'Lato',
243
  'Open Sans',
202
  'title' => esc_html__( 'Fonts', 'customify' ),
203
  'options' => array(
204
  'headings_font' => array(
205
+ 'type' => 'font',
206
  'label' => esc_html__( 'Headings', 'customify' ),
207
  'default' => 'Playfair Display',
208
  'selector' => '.site-title a, h1, h2, h3, h4, h5, h6,
233
  )
234
  ),
235
  'body_font' => array(
236
+ 'type' => 'font',
237
  'label' => esc_html__( 'Body Text', 'customify' ),
238
  'default' => 'Lato',
239
  'selector' => 'html body',
 
240
  'recommended' => array(
241
  'Lato',
242
  'Open Sans',
includes/index.php CHANGED
@@ -1,3 +1,2 @@
1
- <?php
2
  // Silence is golden
3
- // Golden is deprecated
1
+ <?php
2
  // Silence is golden
 
includes/integrations/index.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+ // Silence is golden
includes/integrations/pixelgrade-care.php CHANGED
@@ -11,6 +11,6 @@ if ( ! defined( 'ABSPATH' ) ) {
11
  exit; // Exit if accessed directly
12
  }
13
 
14
- // We want to invalidate caches whenever the Pixelgrade Care license is updated since it may unlock new features
15
  // and so unlock new Customify options.
16
  add_filter( 'pre_set_theme_mod_pixcare_license', array( PixCustomifyPlugin(), 'filter_invalidate_all_caches' ), 10, 1 );
11
  exit; // Exit if accessed directly
12
  }
13
 
14
+ // We want to invalidate caches whenever the Pixelgrade Care license is updated since it may unlock new features,
15
  // and so unlock new Customify options.
16
  add_filter( 'pre_set_theme_mod_pixcare_license', array( PixCustomifyPlugin(), 'filter_invalidate_all_caches' ), 10, 1 );
includes/lib/class-customify-array.php CHANGED
@@ -332,5 +332,4 @@ if ( ! class_exists( 'Customify_Array' ) ) {
332
  return array_pop( $args );
333
  }
334
  }
335
-
336
  }
332
  return array_pop( $args );
333
  }
334
  }
 
335
  }
includes/lib/class-customify-design-assets.php CHANGED
@@ -130,11 +130,9 @@ class Customify_Design_Assets {
130
 
131
  $data = $fetched_data;
132
 
133
- if ( true !== $skip_cache ) {
134
- // Cache the data in an option for 6 hours
135
- update_option( self::get_cache_key(), $data, true );
136
- update_option( self::get_cache_key() . '_timestamp', time() + 6 * HOUR_IN_SECONDS, true );
137
- }
138
  }
139
 
140
  return apply_filters( 'customify_style_manager_maybe_fetch_design_assets', $data );
@@ -225,7 +223,7 @@ class Customify_Design_Assets {
225
  }
226
 
227
  return self::$_instance;
228
- } // End instance ()
229
 
230
  /**
231
  * Cloning is forbidden.
130
 
131
  $data = $fetched_data;
132
 
133
+ // Cache the data in an option for 6 hours
134
+ update_option( self::get_cache_key(), $data, true );
135
+ update_option( self::get_cache_key() . '_timestamp', time() + 6 * HOUR_IN_SECONDS, true );
 
 
136
  }
137
 
138
  return apply_filters( 'customify_style_manager_maybe_fetch_design_assets', $data );
223
  }
224
 
225
  return self::$_instance;
226
+ }
227
 
228
  /**
229
  * Cloning is forbidden.
includes/lib/index.php CHANGED
@@ -1,3 +1,2 @@
1
- <?php
2
  // Silence is golden
3
- // Golden is deprecated
1
+ <?php
2
  // Silence is golden
 
includes/resources/google.fonts.php ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ <?php
2
+ // Returns an associative array with fonts.
3
+ return json_decode( '{"ABeeZee":{"family":"ABeeZee","category":"sans-serif","variants":["regular","italic"],"subsets":["latin"]},"Abel":{"family":"Abel","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Abhaya Libre":{"family":"Abhaya Libre","category":"serif","variants":["regular","500","600","700","800"],"subsets":["latin-ext","sinhala","latin"]},"Abril Fatface":{"family":"Abril Fatface","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Aclonica":{"family":"Aclonica","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Acme":{"family":"Acme","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Actor":{"family":"Actor","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Adamina":{"family":"Adamina","category":"serif","variants":["regular"],"subsets":["latin"]},"Advent Pro":{"family":"Advent Pro","category":"sans-serif","variants":["100","200","300","regular","500","600","700"],"subsets":["latin-ext","latin","greek"]},"Aguafina Script":{"family":"Aguafina Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Akronim":{"family":"Akronim","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Aladin":{"family":"Aladin","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Alata":{"family":"Alata","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Alatsi":{"family":"Alatsi","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Aldrich":{"family":"Aldrich","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Alef":{"family":"Alef","category":"sans-serif","variants":["regular","700"],"subsets":["latin","hebrew"]},"Alegreya":{"family":"Alegreya","category":"serif","variants":["regular","italic","500","500italic","700","700italic","800","800italic","900","900italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Alegreya SC":{"family":"Alegreya SC","category":"serif","variants":["regular","italic","500","500italic","700","700italic","800","800italic","900","900italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Alegreya Sans":{"family":"Alegreya Sans","category":"sans-serif","variants":["100","100italic","300","300italic","regular","italic","500","500italic","700","700italic","800","800italic","900","900italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Alegreya Sans SC":{"family":"Alegreya Sans SC","category":"sans-serif","variants":["100","100italic","300","300italic","regular","italic","500","500italic","700","700italic","800","800italic","900","900italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Aleo":{"family":"Aleo","category":"serif","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Alex Brush":{"family":"Alex Brush","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Alfa Slab One":{"family":"Alfa Slab One","category":"display","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Alice":{"family":"Alice","category":"serif","variants":["regular"],"subsets":["cyrillic-ext","latin","cyrillic"]},"Alike":{"family":"Alike","category":"serif","variants":["regular"],"subsets":["latin"]},"Alike Angular":{"family":"Alike Angular","category":"serif","variants":["regular"],"subsets":["latin"]},"Allan":{"family":"Allan","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Allerta":{"family":"Allerta","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Allerta Stencil":{"family":"Allerta Stencil","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Allura":{"family":"Allura","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Almarai":{"family":"Almarai","category":"sans-serif","variants":["300","regular","700","800"],"subsets":["arabic"]},"Almendra":{"family":"Almendra","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Almendra Display":{"family":"Almendra Display","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Almendra SC":{"family":"Almendra SC","category":"serif","variants":["regular"],"subsets":["latin"]},"Amarante":{"family":"Amarante","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Amaranth":{"family":"Amaranth","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Amatic SC":{"family":"Amatic SC","category":"handwriting","variants":["regular","700"],"subsets":["latin-ext","latin","hebrew","vietnamese","cyrillic"]},"Amethysta":{"family":"Amethysta","category":"serif","variants":["regular"],"subsets":["latin"]},"Amiko":{"family":"Amiko","category":"sans-serif","variants":["regular","600","700"],"subsets":["latin-ext","latin","devanagari"]},"Amiri":{"family":"Amiri","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin","arabic"]},"Amita":{"family":"Amita","category":"handwriting","variants":["regular","700"],"subsets":["latin-ext","latin","devanagari"]},"Anaheim":{"family":"Anaheim","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Andada":{"family":"Andada","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Andika":{"family":"Andika","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Angkor":{"family":"Angkor","category":"display","variants":["regular"],"subsets":["khmer"]},"Annie Use Your Telescope":{"family":"Annie Use Your Telescope","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Anonymous Pro":{"family":"Anonymous Pro","category":"monospace","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin","greek","cyrillic"]},"Antic":{"family":"Antic","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Antic Didone":{"family":"Antic Didone","category":"serif","variants":["regular"],"subsets":["latin"]},"Antic Slab":{"family":"Antic Slab","category":"serif","variants":["regular"],"subsets":["latin"]},"Anton":{"family":"Anton","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Arapey":{"family":"Arapey","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"Arbutus":{"family":"Arbutus","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Arbutus Slab":{"family":"Arbutus Slab","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Architects Daughter":{"family":"Architects Daughter","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Archivo":{"family":"Archivo","category":"sans-serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","latin","vietnamese"]},"Archivo Black":{"family":"Archivo Black","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Archivo Narrow":{"family":"Archivo Narrow","category":"sans-serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","latin","vietnamese"]},"Aref Ruqaa":{"family":"Aref Ruqaa","category":"serif","variants":["regular","700"],"subsets":["latin","arabic"]},"Arima Madurai":{"family":"Arima Madurai","category":"display","variants":["100","200","300","regular","500","700","800","900"],"subsets":["latin-ext","latin","tamil","vietnamese"]},"Arimo":{"family":"Arimo","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","hebrew","vietnamese","cyrillic"]},"Arizonia":{"family":"Arizonia","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Armata":{"family":"Armata","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Arsenal":{"family":"Arsenal","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Artifika":{"family":"Artifika","category":"serif","variants":["regular"],"subsets":["latin"]},"Arvo":{"family":"Arvo","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Arya":{"family":"Arya","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","latin","devanagari"]},"Asap":{"family":"Asap","category":"sans-serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","latin","vietnamese"]},"Asap Condensed":{"family":"Asap Condensed","category":"sans-serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","latin","vietnamese"]},"Asar":{"family":"Asar","category":"serif","variants":["regular"],"subsets":["latin-ext","latin","devanagari"]},"Asset":{"family":"Asset","category":"display","variants":["regular"],"subsets":["latin"]},"Assistant":{"family":"Assistant","category":"sans-serif","variants":["200","300","regular","600","700","800"],"subsets":["latin","hebrew"]},"Astloch":{"family":"Astloch","category":"display","variants":["regular","700"],"subsets":["latin"]},"Asul":{"family":"Asul","category":"sans-serif","variants":["regular","700"],"subsets":["latin"]},"Athiti":{"family":"Athiti","category":"sans-serif","variants":["200","300","regular","500","600","700"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Atma":{"family":"Atma","category":"display","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin","bengali"]},"Atomic Age":{"family":"Atomic Age","category":"display","variants":["regular"],"subsets":["latin"]},"Aubrey":{"family":"Aubrey","category":"display","variants":["regular"],"subsets":["latin"]},"Audiowide":{"family":"Audiowide","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Autour One":{"family":"Autour One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Average":{"family":"Average","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Average Sans":{"family":"Average Sans","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Averia Gruesa Libre":{"family":"Averia Gruesa Libre","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Averia Libre":{"family":"Averia Libre","category":"display","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["latin"]},"Averia Sans Libre":{"family":"Averia Sans Libre","category":"display","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["latin"]},"Averia Serif Libre":{"family":"Averia Serif Libre","category":"display","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["latin"]},"B612":{"family":"B612","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"B612 Mono":{"family":"B612 Mono","category":"monospace","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Bad Script":{"family":"Bad Script","category":"handwriting","variants":["regular"],"subsets":["latin","cyrillic"]},"Bahiana":{"family":"Bahiana","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Bahianita":{"family":"Bahianita","category":"display","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Bai Jamjuree":{"family":"Bai Jamjuree","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Baloo 2":{"family":"Baloo 2","category":"display","variants":["regular","500","600","700","800"],"subsets":["latin-ext","latin","devanagari","vietnamese"]},"Baloo Bhai 2":{"family":"Baloo Bhai 2","category":"display","variants":["regular","500","600","700","800"],"subsets":["latin-ext","latin","vietnamese","gujarati"]},"Baloo Bhaina 2":{"family":"Baloo Bhaina 2","category":"display","variants":["regular","500","600","700","800"],"subsets":["latin-ext","latin","oriya","vietnamese"]},"Baloo Chettan 2":{"family":"Baloo Chettan 2","category":"display","variants":["regular","500","600","700","800"],"subsets":["latin-ext","latin","vietnamese","malayalam"]},"Baloo Da 2":{"family":"Baloo Da 2","category":"display","variants":["regular","500","600","700","800"],"subsets":["latin-ext","latin","bengali","vietnamese"]},"Baloo Paaji 2":{"family":"Baloo Paaji 2","category":"display","variants":["regular","500","600","700","800"],"subsets":["latin-ext","latin","gurmukhi","vietnamese"]},"Baloo Tamma 2":{"family":"Baloo Tamma 2","category":"display","variants":["regular","500","600","700","800"],"subsets":["latin-ext","latin","kannada","vietnamese"]},"Baloo Tammudu 2":{"family":"Baloo Tammudu 2","category":"display","variants":["regular","500","600","700","800"],"subsets":["latin-ext","telugu","latin","vietnamese"]},"Baloo Thambi 2":{"family":"Baloo Thambi 2","category":"display","variants":["regular","500","600","700","800"],"subsets":["latin-ext","latin","tamil","vietnamese"]},"Balthazar":{"family":"Balthazar","category":"serif","variants":["regular"],"subsets":["latin"]},"Bangers":{"family":"Bangers","category":"display","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Barlow":{"family":"Barlow","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin","vietnamese"]},"Barlow Condensed":{"family":"Barlow Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin","vietnamese"]},"Barlow Semi Condensed":{"family":"Barlow Semi Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin","vietnamese"]},"Barriecito":{"family":"Barriecito","category":"display","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Barrio":{"family":"Barrio","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Basic":{"family":"Basic","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Baskervville":{"family":"Baskervville","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Battambang":{"family":"Battambang","category":"display","variants":["regular","700"],"subsets":["khmer"]},"Baumans":{"family":"Baumans","category":"display","variants":["regular"],"subsets":["latin"]},"Bayon":{"family":"Bayon","category":"display","variants":["regular"],"subsets":["khmer"]},"Be Vietnam":{"family":"Be Vietnam","category":"sans-serif","variants":["100","100italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["latin-ext","latin","vietnamese"]},"Bebas Neue":{"family":"Bebas Neue","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Belgrano":{"family":"Belgrano","category":"serif","variants":["regular"],"subsets":["latin"]},"Bellefair":{"family":"Bellefair","category":"serif","variants":["regular"],"subsets":["latin-ext","latin","hebrew"]},"Belleza":{"family":"Belleza","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Bellota":{"family":"Bellota","category":"display","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["latin-ext","latin","vietnamese","cyrillic"]},"Bellota Text":{"family":"Bellota Text","category":"display","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["latin-ext","latin","vietnamese","cyrillic"]},"BenchNine":{"family":"BenchNine","category":"sans-serif","variants":["300","regular","700"],"subsets":["latin-ext","latin"]},"Bentham":{"family":"Bentham","category":"serif","variants":["regular"],"subsets":["latin"]},"Berkshire Swash":{"family":"Berkshire Swash","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Beth Ellen":{"family":"Beth Ellen","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Bevan":{"family":"Bevan","category":"display","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Big Shoulders Display":{"family":"Big Shoulders Display","category":"display","variants":["100","300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin","vietnamese"]},"Big Shoulders Text":{"family":"Big Shoulders Text","category":"display","variants":["100","300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin","vietnamese"]},"Bigelow Rules":{"family":"Bigelow Rules","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Bigshot One":{"family":"Bigshot One","category":"display","variants":["regular"],"subsets":["latin"]},"Bilbo":{"family":"Bilbo","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Bilbo Swash Caps":{"family":"Bilbo Swash Caps","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"BioRhyme":{"family":"BioRhyme","category":"serif","variants":["200","300","regular","700","800"],"subsets":["latin-ext","latin"]},"BioRhyme Expanded":{"family":"BioRhyme Expanded","category":"serif","variants":["200","300","regular","700","800"],"subsets":["latin-ext","latin"]},"Biryani":{"family":"Biryani","category":"sans-serif","variants":["200","300","regular","600","700","800","900"],"subsets":["latin-ext","latin","devanagari"]},"Bitter":{"family":"Bitter","category":"serif","variants":["regular","italic","700"],"subsets":["latin-ext","latin"]},"Black And White Picture":{"family":"Black And White Picture","category":"sans-serif","variants":["regular"],"subsets":["latin","korean"]},"Black Han Sans":{"family":"Black Han Sans","category":"sans-serif","variants":["regular"],"subsets":["latin","korean"]},"Black Ops One":{"family":"Black Ops One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Blinker":{"family":"Blinker","category":"sans-serif","variants":["100","200","300","regular","600","700","800","900"],"subsets":["latin-ext","latin"]},"Bokor":{"family":"Bokor","category":"display","variants":["regular"],"subsets":["khmer"]},"Bonbon":{"family":"Bonbon","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Boogaloo":{"family":"Boogaloo","category":"display","variants":["regular"],"subsets":["latin"]},"Bowlby One":{"family":"Bowlby One","category":"display","variants":["regular"],"subsets":["latin"]},"Bowlby One SC":{"family":"Bowlby One SC","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Brawler":{"family":"Brawler","category":"serif","variants":["regular"],"subsets":["latin"]},"Bree Serif":{"family":"Bree Serif","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Bubblegum Sans":{"family":"Bubblegum Sans","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Bubbler One":{"family":"Bubbler One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Buda":{"family":"Buda","category":"display","variants":["300"],"subsets":["latin"]},"Buenard":{"family":"Buenard","category":"serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Bungee":{"family":"Bungee","category":"display","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Bungee Hairline":{"family":"Bungee Hairline","category":"display","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Bungee Inline":{"family":"Bungee Inline","category":"display","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Bungee Outline":{"family":"Bungee Outline","category":"display","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Bungee Shade":{"family":"Bungee Shade","category":"display","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Butcherman":{"family":"Butcherman","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Butterfly Kids":{"family":"Butterfly Kids","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Cabin":{"family":"Cabin","category":"sans-serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","latin","vietnamese"]},"Cabin Condensed":{"family":"Cabin Condensed","category":"sans-serif","variants":["regular","500","600","700"],"subsets":["latin-ext","latin","vietnamese"]},"Cabin Sketch":{"family":"Cabin Sketch","category":"display","variants":["regular","700"],"subsets":["latin"]},"Caesar Dressing":{"family":"Caesar Dressing","category":"display","variants":["regular"],"subsets":["latin"]},"Cagliostro":{"family":"Cagliostro","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Cairo":{"family":"Cairo","category":"sans-serif","variants":["200","300","regular","600","700","900"],"subsets":["latin-ext","latin","arabic"]},"Caladea":{"family":"Caladea","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Calistoga":{"family":"Calistoga","category":"display","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Calligraffitti":{"family":"Calligraffitti","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Cambay":{"family":"Cambay","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin","devanagari"]},"Cambo":{"family":"Cambo","category":"serif","variants":["regular"],"subsets":["latin"]},"Candal":{"family":"Candal","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Cantarell":{"family":"Cantarell","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Cantata One":{"family":"Cantata One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Cantora One":{"family":"Cantora One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Capriola":{"family":"Capriola","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Cardo":{"family":"Cardo","category":"serif","variants":["regular","italic","700"],"subsets":["greek-ext","latin-ext","latin","greek"]},"Carme":{"family":"Carme","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Carrois Gothic":{"family":"Carrois Gothic","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Carrois Gothic SC":{"family":"Carrois Gothic SC","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Carter One":{"family":"Carter One","category":"display","variants":["regular"],"subsets":["latin"]},"Catamaran":{"family":"Catamaran","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin","tamil"]},"Caudex":{"family":"Caudex","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["greek-ext","latin-ext","latin","greek"]},"Caveat":{"family":"Caveat","category":"handwriting","variants":["regular","700"],"subsets":["latin-ext","cyrillic-ext","latin","cyrillic"]},"Caveat Brush":{"family":"Caveat Brush","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Cedarville Cursive":{"family":"Cedarville Cursive","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Ceviche One":{"family":"Ceviche One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Chakra Petch":{"family":"Chakra Petch","category":"sans-serif","variants":["300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Changa":{"family":"Changa","category":"sans-serif","variants":["200","300","regular","500","600","700","800"],"subsets":["latin-ext","latin","arabic"]},"Changa One":{"family":"Changa One","category":"display","variants":["regular","italic"],"subsets":["latin"]},"Chango":{"family":"Chango","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Charm":{"family":"Charm","category":"handwriting","variants":["regular","700"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Charmonman":{"family":"Charmonman","category":"handwriting","variants":["regular","700"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Chathura":{"family":"Chathura","category":"sans-serif","variants":["100","300","regular","700","800"],"subsets":["telugu","latin"]},"Chau Philomene One":{"family":"Chau Philomene One","category":"sans-serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Chela One":{"family":"Chela One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Chelsea Market":{"family":"Chelsea Market","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Chenla":{"family":"Chenla","category":"display","variants":["regular"],"subsets":["khmer"]},"Cherry Cream Soda":{"family":"Cherry Cream Soda","category":"display","variants":["regular"],"subsets":["latin"]},"Cherry Swash":{"family":"Cherry Swash","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Chewy":{"family":"Chewy","category":"display","variants":["regular"],"subsets":["latin"]},"Chicle":{"family":"Chicle","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Chilanka":{"family":"Chilanka","category":"handwriting","variants":["regular"],"subsets":["latin","malayalam"]},"Chivo":{"family":"Chivo","category":"sans-serif","variants":["300","300italic","regular","italic","700","700italic","900","900italic"],"subsets":["latin-ext","latin"]},"Chonburi":{"family":"Chonburi","category":"display","variants":["regular"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Cinzel":{"family":"Cinzel","category":"serif","variants":["regular","700","900"],"subsets":["latin-ext","latin"]},"Cinzel Decorative":{"family":"Cinzel Decorative","category":"display","variants":["regular","700","900"],"subsets":["latin"]},"Clicker Script":{"family":"Clicker Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Coda":{"family":"Coda","category":"display","variants":["regular","800"],"subsets":["latin-ext","latin"]},"Coda Caption":{"family":"Coda Caption","category":"sans-serif","variants":["800"],"subsets":["latin-ext","latin"]},"Codystar":{"family":"Codystar","category":"display","variants":["300","regular"],"subsets":["latin-ext","latin"]},"Coiny":{"family":"Coiny","category":"display","variants":["regular"],"subsets":["latin-ext","latin","tamil","vietnamese"]},"Combo":{"family":"Combo","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Comfortaa":{"family":"Comfortaa","category":"display","variants":["300","regular","500","600","700"],"subsets":["latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Comic Neue":{"family":"Comic Neue","category":"handwriting","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["latin"]},"Coming Soon":{"family":"Coming Soon","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Concert One":{"family":"Concert One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Condiment":{"family":"Condiment","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Content":{"family":"Content","category":"display","variants":["regular","700"],"subsets":["khmer"]},"Contrail One":{"family":"Contrail One","category":"display","variants":["regular"],"subsets":["latin"]},"Convergence":{"family":"Convergence","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Cookie":{"family":"Cookie","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Copse":{"family":"Copse","category":"serif","variants":["regular"],"subsets":["latin"]},"Corben":{"family":"Corben","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Cormorant":{"family":"Cormorant","category":"serif","variants":["300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Cormorant Garamond":{"family":"Cormorant Garamond","category":"serif","variants":["300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Cormorant Infant":{"family":"Cormorant Infant","category":"serif","variants":["300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Cormorant SC":{"family":"Cormorant SC","category":"serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Cormorant Unicase":{"family":"Cormorant Unicase","category":"serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Cormorant Upright":{"family":"Cormorant Upright","category":"serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin","vietnamese"]},"Courgette":{"family":"Courgette","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Courier Prime":{"family":"Courier Prime","category":"monospace","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Cousine":{"family":"Cousine","category":"monospace","variants":["regular","italic","700","700italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","hebrew","vietnamese","cyrillic"]},"Coustard":{"family":"Coustard","category":"serif","variants":["regular","900"],"subsets":["latin"]},"Covered By Your Grace":{"family":"Covered By Your Grace","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Crafty Girls":{"family":"Crafty Girls","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Creepster":{"family":"Creepster","category":"display","variants":["regular"],"subsets":["latin"]},"Crete Round":{"family":"Crete Round","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Crimson Pro":{"family":"Crimson Pro","category":"serif","variants":["200","300","regular","500","600","700","800","900","200italic","300italic","italic","500italic","600italic","700italic","800italic","900italic"],"subsets":["latin-ext","latin","vietnamese"]},"Crimson Text":{"family":"Crimson Text","category":"serif","variants":["regular","italic","600","600italic","700","700italic"],"subsets":["latin"]},"Croissant One":{"family":"Croissant One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Crushed":{"family":"Crushed","category":"display","variants":["regular"],"subsets":["latin"]},"Cuprum":{"family":"Cuprum","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Cute Font":{"family":"Cute Font","category":"display","variants":["regular"],"subsets":["latin","korean"]},"Cutive":{"family":"Cutive","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Cutive Mono":{"family":"Cutive Mono","category":"monospace","variants":["regular"],"subsets":["latin-ext","latin"]},"DM Sans":{"family":"DM Sans","category":"sans-serif","variants":["regular","italic","500","500italic","700","700italic"],"subsets":["latin-ext","latin"]},"DM Serif Display":{"family":"DM Serif Display","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"DM Serif Text":{"family":"DM Serif Text","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Damion":{"family":"Damion","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Dancing Script":{"family":"Dancing Script","category":"handwriting","variants":["regular","500","600","700"],"subsets":["latin-ext","latin","vietnamese"]},"Dangrek":{"family":"Dangrek","category":"display","variants":["regular"],"subsets":["khmer"]},"Darker Grotesque":{"family":"Darker Grotesque","category":"sans-serif","variants":["300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin","vietnamese"]},"David Libre":{"family":"David Libre","category":"serif","variants":["regular","500","700"],"subsets":["latin-ext","latin","hebrew","vietnamese"]},"Dawning of a New Day":{"family":"Dawning of a New Day","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Days One":{"family":"Days One","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Dekko":{"family":"Dekko","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin","devanagari"]},"Delius":{"family":"Delius","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Delius Swash Caps":{"family":"Delius Swash Caps","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Delius Unicase":{"family":"Delius Unicase","category":"handwriting","variants":["regular","700"],"subsets":["latin"]},"Della Respira":{"family":"Della Respira","category":"serif","variants":["regular"],"subsets":["latin"]},"Denk One":{"family":"Denk One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Devonshire":{"family":"Devonshire","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Dhurjati":{"family":"Dhurjati","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Didact Gothic":{"family":"Didact Gothic","category":"sans-serif","variants":["regular"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","cyrillic"]},"Diplomata":{"family":"Diplomata","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Diplomata SC":{"family":"Diplomata SC","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Do Hyeon":{"family":"Do Hyeon","category":"sans-serif","variants":["regular"],"subsets":["latin","korean"]},"Dokdo":{"family":"Dokdo","category":"handwriting","variants":["regular"],"subsets":["latin","korean"]},"Domine":{"family":"Domine","category":"serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Donegal One":{"family":"Donegal One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Doppio One":{"family":"Doppio One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Dorsa":{"family":"Dorsa","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Dosis":{"family":"Dosis","category":"sans-serif","variants":["200","300","regular","500","600","700","800"],"subsets":["latin-ext","latin","vietnamese"]},"Dr Sugiyama":{"family":"Dr Sugiyama","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Duru Sans":{"family":"Duru Sans","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Dynalight":{"family":"Dynalight","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"EB Garamond":{"family":"EB Garamond","category":"serif","variants":["regular","500","600","700","800","italic","500italic","600italic","700italic","800italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Eagle Lake":{"family":"Eagle Lake","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"East Sea Dokdo":{"family":"East Sea Dokdo","category":"handwriting","variants":["regular"],"subsets":["latin","korean"]},"Eater":{"family":"Eater","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Economica":{"family":"Economica","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Eczar":{"family":"Eczar","category":"serif","variants":["regular","500","600","700","800"],"subsets":["latin-ext","latin","devanagari"]},"El Messiri":{"family":"El Messiri","category":"sans-serif","variants":["regular","500","600","700"],"subsets":["latin","cyrillic","arabic"]},"Electrolize":{"family":"Electrolize","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Elsie":{"family":"Elsie","category":"display","variants":["regular","900"],"subsets":["latin-ext","latin"]},"Elsie Swash Caps":{"family":"Elsie Swash Caps","category":"display","variants":["regular","900"],"subsets":["latin-ext","latin"]},"Emblema One":{"family":"Emblema One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Emilys Candy":{"family":"Emilys Candy","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Encode Sans":{"family":"Encode Sans","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin","vietnamese"]},"Encode Sans Condensed":{"family":"Encode Sans Condensed","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin","vietnamese"]},"Encode Sans Expanded":{"family":"Encode Sans Expanded","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin","vietnamese"]},"Encode Sans Semi Condensed":{"family":"Encode Sans Semi Condensed","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin","vietnamese"]},"Encode Sans Semi Expanded":{"family":"Encode Sans Semi Expanded","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin","vietnamese"]},"Engagement":{"family":"Engagement","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Englebert":{"family":"Englebert","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Enriqueta":{"family":"Enriqueta","category":"serif","variants":["regular","500","600","700"],"subsets":["latin-ext","latin"]},"Erica One":{"family":"Erica One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Esteban":{"family":"Esteban","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Euphoria Script":{"family":"Euphoria Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Ewert":{"family":"Ewert","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Exo":{"family":"Exo","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin","vietnamese"]},"Exo 2":{"family":"Exo 2","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900","100italic","200italic","300italic","italic","500italic","600italic","700italic","800italic","900italic"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Expletus Sans":{"family":"Expletus Sans","category":"display","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin"]},"Fahkwang":{"family":"Fahkwang","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Fanwood Text":{"family":"Fanwood Text","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"Farro":{"family":"Farro","category":"sans-serif","variants":["300","regular","500","700"],"subsets":["latin-ext","latin"]},"Farsan":{"family":"Farsan","category":"display","variants":["regular"],"subsets":["latin-ext","latin","vietnamese","gujarati"]},"Fascinate":{"family":"Fascinate","category":"display","variants":["regular"],"subsets":["latin"]},"Fascinate Inline":{"family":"Fascinate Inline","category":"display","variants":["regular"],"subsets":["latin"]},"Faster One":{"family":"Faster One","category":"display","variants":["regular"],"subsets":["latin"]},"Fasthand":{"family":"Fasthand","category":"serif","variants":["regular"],"subsets":["khmer"]},"Fauna One":{"family":"Fauna One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Faustina":{"family":"Faustina","category":"serif","variants":["regular","500","600","700","italic","500italic","600italic","700italic"],"subsets":["latin-ext","latin","vietnamese"]},"Federant":{"family":"Federant","category":"display","variants":["regular"],"subsets":["latin"]},"Federo":{"family":"Federo","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Felipa":{"family":"Felipa","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Fenix":{"family":"Fenix","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Finger Paint":{"family":"Finger Paint","category":"display","variants":["regular"],"subsets":["latin"]},"Fira Code":{"family":"Fira Code","category":"monospace","variants":["300","regular","500","600","700"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","cyrillic"]},"Fira Mono":{"family":"Fira Mono","category":"monospace","variants":["regular","500","700"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","cyrillic"]},"Fira Sans":{"family":"Fira Sans","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Fira Sans Condensed":{"family":"Fira Sans Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Fira Sans Extra Condensed":{"family":"Fira Sans Extra Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Fjalla One":{"family":"Fjalla One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Fjord One":{"family":"Fjord One","category":"serif","variants":["regular"],"subsets":["latin"]},"Flamenco":{"family":"Flamenco","category":"display","variants":["300","regular"],"subsets":["latin"]},"Flavors":{"family":"Flavors","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Fondamento":{"family":"Fondamento","category":"handwriting","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Fontdiner Swanky":{"family":"Fontdiner Swanky","category":"display","variants":["regular"],"subsets":["latin"]},"Forum":{"family":"Forum","category":"display","variants":["regular"],"subsets":["latin-ext","cyrillic-ext","latin","cyrillic"]},"Francois One":{"family":"Francois One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Frank Ruhl Libre":{"family":"Frank Ruhl Libre","category":"serif","variants":["300","regular","500","700","900"],"subsets":["latin-ext","latin","hebrew"]},"Freckle Face":{"family":"Freckle Face","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Fredericka the Great":{"family":"Fredericka the Great","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Fredoka One":{"family":"Fredoka One","category":"display","variants":["regular"],"subsets":["latin"]},"Freehand":{"family":"Freehand","category":"display","variants":["regular"],"subsets":["khmer"]},"Fresca":{"family":"Fresca","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Frijole":{"family":"Frijole","category":"display","variants":["regular"],"subsets":["latin"]},"Fruktur":{"family":"Fruktur","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Fugaz One":{"family":"Fugaz One","category":"display","variants":["regular"],"subsets":["latin"]},"GFS Didot":{"family":"GFS Didot","category":"serif","variants":["regular"],"subsets":["greek"]},"GFS Neohellenic":{"family":"GFS Neohellenic","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["greek"]},"Gabriela":{"family":"Gabriela","category":"serif","variants":["regular"],"subsets":["cyrillic-ext","latin","cyrillic"]},"Gaegu":{"family":"Gaegu","category":"handwriting","variants":["300","regular","700"],"subsets":["latin","korean"]},"Gafata":{"family":"Gafata","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Galada":{"family":"Galada","category":"display","variants":["regular"],"subsets":["latin","bengali"]},"Galdeano":{"family":"Galdeano","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Galindo":{"family":"Galindo","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Gamja Flower":{"family":"Gamja Flower","category":"handwriting","variants":["regular"],"subsets":["latin","korean"]},"Gayathri":{"family":"Gayathri","category":"sans-serif","variants":["100","regular","700"],"subsets":["latin","malayalam"]},"Gelasio":{"family":"Gelasio","category":"serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","latin","vietnamese"]},"Gentium Basic":{"family":"Gentium Basic","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Gentium Book Basic":{"family":"Gentium Book Basic","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Geo":{"family":"Geo","category":"sans-serif","variants":["regular","italic"],"subsets":["latin"]},"Geostar":{"family":"Geostar","category":"display","variants":["regular"],"subsets":["latin"]},"Geostar Fill":{"family":"Geostar Fill","category":"display","variants":["regular"],"subsets":["latin"]},"Germania One":{"family":"Germania One","category":"display","variants":["regular"],"subsets":["latin"]},"Gidugu":{"family":"Gidugu","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Gilda Display":{"family":"Gilda Display","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Girassol":{"family":"Girassol","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Give You Glory":{"family":"Give You Glory","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Glass Antiqua":{"family":"Glass Antiqua","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Glegoo":{"family":"Glegoo","category":"serif","variants":["regular","700"],"subsets":["latin-ext","latin","devanagari"]},"Gloria Hallelujah":{"family":"Gloria Hallelujah","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Goblin One":{"family":"Goblin One","category":"display","variants":["regular"],"subsets":["latin"]},"Gochi Hand":{"family":"Gochi Hand","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Gorditas":{"family":"Gorditas","category":"display","variants":["regular","700"],"subsets":["latin"]},"Gothic A1":{"family":"Gothic A1","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["latin","korean"]},"Gotu":{"family":"Gotu","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","devanagari","vietnamese"]},"Goudy Bookletter 1911":{"family":"Goudy Bookletter 1911","category":"serif","variants":["regular"],"subsets":["latin"]},"Graduate":{"family":"Graduate","category":"display","variants":["regular"],"subsets":["latin"]},"Grand Hotel":{"family":"Grand Hotel","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Gravitas One":{"family":"Gravitas One","category":"display","variants":["regular"],"subsets":["latin"]},"Great Vibes":{"family":"Great Vibes","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Grenze":{"family":"Grenze","category":"serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin","vietnamese"]},"Griffy":{"family":"Griffy","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Gruppo":{"family":"Gruppo","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Gudea":{"family":"Gudea","category":"sans-serif","variants":["regular","italic","700"],"subsets":["latin-ext","latin"]},"Gugi":{"family":"Gugi","category":"display","variants":["regular"],"subsets":["latin","korean"]},"Gupter":{"family":"Gupter","category":"serif","variants":["regular","500","700"],"subsets":["latin"]},"Gurajada":{"family":"Gurajada","category":"serif","variants":["regular"],"subsets":["telugu","latin"]},"Habibi":{"family":"Habibi","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Halant":{"family":"Halant","category":"serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin","devanagari"]},"Hammersmith One":{"family":"Hammersmith One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Hanalei":{"family":"Hanalei","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Hanalei Fill":{"family":"Hanalei Fill","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Handlee":{"family":"Handlee","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Hanuman":{"family":"Hanuman","category":"serif","variants":["regular","700"],"subsets":["khmer"]},"Happy Monkey":{"family":"Happy Monkey","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Harmattan":{"family":"Harmattan","category":"sans-serif","variants":["regular"],"subsets":["latin","arabic"]},"Headland One":{"family":"Headland One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Heebo":{"family":"Heebo","category":"sans-serif","variants":["100","300","regular","500","700","800","900"],"subsets":["latin","hebrew"]},"Henny Penny":{"family":"Henny Penny","category":"display","variants":["regular"],"subsets":["latin"]},"Hepta Slab":{"family":"Hepta Slab","category":"serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin","vietnamese"]},"Herr Von Muellerhoff":{"family":"Herr Von Muellerhoff","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Hi Melody":{"family":"Hi Melody","category":"handwriting","variants":["regular"],"subsets":["latin","korean"]},"Hind":{"family":"Hind","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin","devanagari"]},"Hind Guntur":{"family":"Hind Guntur","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","telugu","latin"]},"Hind Madurai":{"family":"Hind Madurai","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin","tamil"]},"Hind Siliguri":{"family":"Hind Siliguri","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin","bengali"]},"Hind Vadodara":{"family":"Hind Vadodara","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin","gujarati"]},"Holtwood One SC":{"family":"Holtwood One SC","category":"serif","variants":["regular"],"subsets":["latin"]},"Homemade Apple":{"family":"Homemade Apple","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Homenaje":{"family":"Homenaje","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"IBM Plex Mono":{"family":"IBM Plex Mono","category":"monospace","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"IBM Plex Sans":{"family":"IBM Plex Sans","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"IBM Plex Sans Condensed":{"family":"IBM Plex Sans Condensed","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","latin","vietnamese"]},"IBM Plex Serif":{"family":"IBM Plex Serif","category":"serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"IM Fell DW Pica":{"family":"IM Fell DW Pica","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"IM Fell DW Pica SC":{"family":"IM Fell DW Pica SC","category":"serif","variants":["regular"],"subsets":["latin"]},"IM Fell Double Pica":{"family":"IM Fell Double Pica","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"IM Fell Double Pica SC":{"family":"IM Fell Double Pica SC","category":"serif","variants":["regular"],"subsets":["latin"]},"IM Fell English":{"family":"IM Fell English","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"IM Fell English SC":{"family":"IM Fell English SC","category":"serif","variants":["regular"],"subsets":["latin"]},"IM Fell French Canon":{"family":"IM Fell French Canon","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"IM Fell French Canon SC":{"family":"IM Fell French Canon SC","category":"serif","variants":["regular"],"subsets":["latin"]},"IM Fell Great Primer":{"family":"IM Fell Great Primer","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"IM Fell Great Primer SC":{"family":"IM Fell Great Primer SC","category":"serif","variants":["regular"],"subsets":["latin"]},"Ibarra Real Nova":{"family":"Ibarra Real Nova","category":"serif","variants":["regular","italic","600","600italic","700","700italic"],"subsets":["latin-ext","latin"]},"Iceberg":{"family":"Iceberg","category":"display","variants":["regular"],"subsets":["latin"]},"Iceland":{"family":"Iceland","category":"display","variants":["regular"],"subsets":["latin"]},"Imprima":{"family":"Imprima","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Inconsolata":{"family":"Inconsolata","category":"monospace","variants":["regular","700"],"subsets":["latin-ext","latin","vietnamese"]},"Inder":{"family":"Inder","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Indie Flower":{"family":"Indie Flower","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Inika":{"family":"Inika","category":"serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Inknut Antiqua":{"family":"Inknut Antiqua","category":"serif","variants":["300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin","devanagari"]},"Inria Sans":{"family":"Inria Sans","category":"sans-serif","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Inria Serif":{"family":"Inria Serif","category":"serif","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Inter":{"family":"Inter","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Irish Grover":{"family":"Irish Grover","category":"display","variants":["regular"],"subsets":["latin"]},"Istok Web":{"family":"Istok Web","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","cyrillic-ext","latin","cyrillic"]},"Italiana":{"family":"Italiana","category":"serif","variants":["regular"],"subsets":["latin"]},"Italianno":{"family":"Italianno","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Itim":{"family":"Itim","category":"handwriting","variants":["regular"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Jacques Francois":{"family":"Jacques Francois","category":"serif","variants":["regular"],"subsets":["latin"]},"Jacques Francois Shadow":{"family":"Jacques Francois Shadow","category":"display","variants":["regular"],"subsets":["latin"]},"Jaldi":{"family":"Jaldi","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","latin","devanagari"]},"Jim Nightshade":{"family":"Jim Nightshade","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Jockey One":{"family":"Jockey One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Jolly Lodger":{"family":"Jolly Lodger","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Jomhuria":{"family":"Jomhuria","category":"display","variants":["regular"],"subsets":["latin-ext","latin","arabic"]},"Jomolhari":{"family":"Jomolhari","category":"serif","variants":["regular"],"subsets":["tibetan","latin"]},"Josefin Sans":{"family":"Josefin Sans","category":"sans-serif","variants":["100","200","300","regular","500","600","700","100italic","200italic","300italic","italic","500italic","600italic","700italic"],"subsets":["latin-ext","latin","vietnamese"]},"Josefin Slab":{"family":"Josefin Slab","category":"serif","variants":["100","100italic","300","300italic","regular","italic","600","600italic","700","700italic"],"subsets":["latin"]},"Joti One":{"family":"Joti One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Jua":{"family":"Jua","category":"sans-serif","variants":["regular"],"subsets":["latin","korean"]},"Judson":{"family":"Judson","category":"serif","variants":["regular","italic","700"],"subsets":["latin-ext","latin","vietnamese"]},"Julee":{"family":"Julee","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Julius Sans One":{"family":"Julius Sans One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Junge":{"family":"Junge","category":"serif","variants":["regular"],"subsets":["latin"]},"Jura":{"family":"Jura","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Just Another Hand":{"family":"Just Another Hand","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Just Me Again Down Here":{"family":"Just Me Again Down Here","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"K2D":{"family":"K2D","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Kadwa":{"family":"Kadwa","category":"serif","variants":["regular","700"],"subsets":["latin","devanagari"]},"Kalam":{"family":"Kalam","category":"handwriting","variants":["300","regular","700"],"subsets":["latin-ext","latin","devanagari"]},"Kameron":{"family":"Kameron","category":"serif","variants":["regular","700"],"subsets":["latin"]},"Kanit":{"family":"Kanit","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Kantumruy":{"family":"Kantumruy","category":"sans-serif","variants":["300","regular","700"],"subsets":["khmer"]},"Karla":{"family":"Karla","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Karma":{"family":"Karma","category":"serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin","devanagari"]},"Katibeh":{"family":"Katibeh","category":"display","variants":["regular"],"subsets":["latin-ext","latin","arabic"]},"Kaushan Script":{"family":"Kaushan Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Kavivanar":{"family":"Kavivanar","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin","tamil"]},"Kavoon":{"family":"Kavoon","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Kdam Thmor":{"family":"Kdam Thmor","category":"display","variants":["regular"],"subsets":["khmer"]},"Keania One":{"family":"Keania One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Kelly Slab":{"family":"Kelly Slab","category":"display","variants":["regular"],"subsets":["latin-ext","latin","cyrillic"]},"Kenia":{"family":"Kenia","category":"display","variants":["regular"],"subsets":["latin"]},"Khand":{"family":"Khand","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin","devanagari"]},"Khmer":{"family":"Khmer","category":"display","variants":["regular"],"subsets":["khmer"]},"Khula":{"family":"Khula","category":"sans-serif","variants":["300","regular","600","700","800"],"subsets":["latin-ext","latin","devanagari"]},"Kirang Haerang":{"family":"Kirang Haerang","category":"display","variants":["regular"],"subsets":["latin","korean"]},"Kite One":{"family":"Kite One","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Knewave":{"family":"Knewave","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"KoHo":{"family":"KoHo","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Kodchasan":{"family":"Kodchasan","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Kosugi":{"family":"Kosugi","category":"sans-serif","variants":["regular"],"subsets":["japanese","latin","cyrillic"]},"Kosugi Maru":{"family":"Kosugi Maru","category":"sans-serif","variants":["regular"],"subsets":["japanese","latin","cyrillic"]},"Kotta One":{"family":"Kotta One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Koulen":{"family":"Koulen","category":"display","variants":["regular"],"subsets":["khmer"]},"Kranky":{"family":"Kranky","category":"display","variants":["regular"],"subsets":["latin"]},"Kreon":{"family":"Kreon","category":"serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin"]},"Kristi":{"family":"Kristi","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Krona One":{"family":"Krona One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Krub":{"family":"Krub","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Kulim Park":{"family":"Kulim Park","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","600","600italic","700","700italic"],"subsets":["latin-ext","latin"]},"Kumar One":{"family":"Kumar One","category":"display","variants":["regular"],"subsets":["latin-ext","latin","gujarati"]},"Kumar One Outline":{"family":"Kumar One Outline","category":"display","variants":["regular"],"subsets":["latin-ext","latin","gujarati"]},"Kurale":{"family":"Kurale","category":"serif","variants":["regular"],"subsets":["latin-ext","cyrillic-ext","latin","devanagari","cyrillic"]},"La Belle Aurore":{"family":"La Belle Aurore","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Lacquer":{"family":"Lacquer","category":"display","variants":["regular"],"subsets":["latin"]},"Laila":{"family":"Laila","category":"serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin","devanagari"]},"Lakki Reddy":{"family":"Lakki Reddy","category":"handwriting","variants":["regular"],"subsets":["telugu","latin"]},"Lalezar":{"family":"Lalezar","category":"display","variants":["regular"],"subsets":["latin-ext","latin","vietnamese","arabic"]},"Lancelot":{"family":"Lancelot","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Lateef":{"family":"Lateef","category":"handwriting","variants":["regular"],"subsets":["latin","arabic"]},"Lato":{"family":"Lato","category":"sans-serif","variants":["100","100italic","300","300italic","regular","italic","700","700italic","900","900italic"],"subsets":["latin-ext","latin"]},"League Script":{"family":"League Script","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Leckerli One":{"family":"Leckerli One","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Ledger":{"family":"Ledger","category":"serif","variants":["regular"],"subsets":["latin-ext","latin","cyrillic"]},"Lekton":{"family":"Lekton","category":"sans-serif","variants":["regular","italic","700"],"subsets":["latin-ext","latin"]},"Lemon":{"family":"Lemon","category":"display","variants":["regular"],"subsets":["latin"]},"Lemonada":{"family":"Lemonada","category":"display","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin","vietnamese","arabic"]},"Lexend Deca":{"family":"Lexend Deca","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Lexend Exa":{"family":"Lexend Exa","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Lexend Giga":{"family":"Lexend Giga","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Lexend Mega":{"family":"Lexend Mega","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Lexend Peta":{"family":"Lexend Peta","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Lexend Tera":{"family":"Lexend Tera","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Lexend Zetta":{"family":"Lexend Zetta","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Libre Barcode 128":{"family":"Libre Barcode 128","category":"display","variants":["regular"],"subsets":["latin"]},"Libre Barcode 128 Text":{"family":"Libre Barcode 128 Text","category":"display","variants":["regular"],"subsets":["latin"]},"Libre Barcode 39":{"family":"Libre Barcode 39","category":"display","variants":["regular"],"subsets":["latin"]},"Libre Barcode 39 Extended":{"family":"Libre Barcode 39 Extended","category":"display","variants":["regular"],"subsets":["latin"]},"Libre Barcode 39 Extended Text":{"family":"Libre Barcode 39 Extended Text","category":"display","variants":["regular"],"subsets":["latin"]},"Libre Barcode 39 Text":{"family":"Libre Barcode 39 Text","category":"display","variants":["regular"],"subsets":["latin"]},"Libre Baskerville":{"family":"Libre Baskerville","category":"serif","variants":["regular","italic","700"],"subsets":["latin-ext","latin"]},"Libre Caslon Display":{"family":"Libre Caslon Display","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Libre Caslon Text":{"family":"Libre Caslon Text","category":"serif","variants":["regular","italic","700"],"subsets":["latin-ext","latin"]},"Libre Franklin":{"family":"Libre Franklin","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin"]},"Life Savers":{"family":"Life Savers","category":"display","variants":["regular","700","800"],"subsets":["latin-ext","latin"]},"Lilita One":{"family":"Lilita One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Lily Script One":{"family":"Lily Script One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Limelight":{"family":"Limelight","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Linden Hill":{"family":"Linden Hill","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"Literata":{"family":"Literata","category":"serif","variants":["regular","500","600","700","italic","500italic","600italic","700italic"],"subsets":["greek-ext","latin-ext","latin","greek","vietnamese","cyrillic"]},"Liu Jian Mao Cao":{"family":"Liu Jian Mao Cao","category":"handwriting","variants":["regular"],"subsets":["latin","chinese-simplified"]},"Livvic":{"family":"Livvic","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","900","900italic"],"subsets":["latin-ext","latin","vietnamese"]},"Lobster":{"family":"Lobster","category":"display","variants":["regular"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Lobster Two":{"family":"Lobster Two","category":"display","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Londrina Outline":{"family":"Londrina Outline","category":"display","variants":["regular"],"subsets":["latin"]},"Londrina Shadow":{"family":"Londrina Shadow","category":"display","variants":["regular"],"subsets":["latin"]},"Londrina Sketch":{"family":"Londrina Sketch","category":"display","variants":["regular"],"subsets":["latin"]},"Londrina Solid":{"family":"Londrina Solid","category":"display","variants":["100","300","regular","900"],"subsets":["latin"]},"Long Cang":{"family":"Long Cang","category":"handwriting","variants":["regular"],"subsets":["latin","chinese-simplified"]},"Lora":{"family":"Lora","category":"serif","variants":["regular","500","600","700","italic","500italic","600italic","700italic"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Love Ya Like A Sister":{"family":"Love Ya Like A Sister","category":"display","variants":["regular"],"subsets":["latin"]},"Loved by the King":{"family":"Loved by the King","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Lovers Quarrel":{"family":"Lovers Quarrel","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Luckiest Guy":{"family":"Luckiest Guy","category":"display","variants":["regular"],"subsets":["latin"]},"Lusitana":{"family":"Lusitana","category":"serif","variants":["regular","700"],"subsets":["latin"]},"Lustria":{"family":"Lustria","category":"serif","variants":["regular"],"subsets":["latin"]},"M PLUS 1p":{"family":"M PLUS 1p","category":"sans-serif","variants":["100","300","regular","500","700","800","900"],"subsets":["greek-ext","latin-ext","japanese","cyrillic-ext","latin","greek","hebrew","vietnamese","cyrillic"]},"M PLUS Rounded 1c":{"family":"M PLUS Rounded 1c","category":"sans-serif","variants":["100","300","regular","500","700","800","900"],"subsets":["greek-ext","latin-ext","japanese","cyrillic-ext","latin","greek","hebrew","vietnamese","cyrillic"]},"Ma Shan Zheng":{"family":"Ma Shan Zheng","category":"handwriting","variants":["regular"],"subsets":["latin","chinese-simplified"]},"Macondo":{"family":"Macondo","category":"display","variants":["regular"],"subsets":["latin"]},"Macondo Swash Caps":{"family":"Macondo Swash Caps","category":"display","variants":["regular"],"subsets":["latin"]},"Mada":{"family":"Mada","category":"sans-serif","variants":["200","300","regular","500","600","700","900"],"subsets":["latin","arabic"]},"Magra":{"family":"Magra","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Maiden Orange":{"family":"Maiden Orange","category":"display","variants":["regular"],"subsets":["latin"]},"Maitree":{"family":"Maitree","category":"serif","variants":["200","300","regular","500","600","700"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Major Mono Display":{"family":"Major Mono Display","category":"monospace","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Mako":{"family":"Mako","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Mali":{"family":"Mali","category":"handwriting","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Mallanna":{"family":"Mallanna","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Mandali":{"family":"Mandali","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Manjari":{"family":"Manjari","category":"sans-serif","variants":["100","regular","700"],"subsets":["latin","malayalam"]},"Mansalva":{"family":"Mansalva","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Manuale":{"family":"Manuale","category":"serif","variants":["regular","500","600","700","italic","500italic","600italic","700italic"],"subsets":["latin-ext","latin","vietnamese"]},"Marcellus":{"family":"Marcellus","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Marcellus SC":{"family":"Marcellus SC","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Marck Script":{"family":"Marck Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin","cyrillic"]},"Margarine":{"family":"Margarine","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Markazi Text":{"family":"Markazi Text","category":"serif","variants":["regular","500","600","700"],"subsets":["latin-ext","latin","vietnamese","arabic"]},"Marko One":{"family":"Marko One","category":"serif","variants":["regular"],"subsets":["latin"]},"Marmelad":{"family":"Marmelad","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","cyrillic"]},"Martel":{"family":"Martel","category":"serif","variants":["200","300","regular","600","700","800","900"],"subsets":["latin-ext","latin","devanagari"]},"Martel Sans":{"family":"Martel Sans","category":"sans-serif","variants":["200","300","regular","600","700","800","900"],"subsets":["latin-ext","latin","devanagari"]},"Marvel":{"family":"Marvel","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Mate":{"family":"Mate","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"Mate SC":{"family":"Mate SC","category":"serif","variants":["regular"],"subsets":["latin"]},"Maven Pro":{"family":"Maven Pro","category":"sans-serif","variants":["regular","500","600","700","800","900"],"subsets":["latin-ext","latin","vietnamese"]},"McLaren":{"family":"McLaren","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Meddon":{"family":"Meddon","category":"handwriting","variants":["regular"],"subsets":["latin"]},"MedievalSharp":{"family":"MedievalSharp","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Medula One":{"family":"Medula One","category":"display","variants":["regular"],"subsets":["latin"]},"Meera Inimai":{"family":"Meera Inimai","category":"sans-serif","variants":["regular"],"subsets":["latin","tamil"]},"Megrim":{"family":"Megrim","category":"display","variants":["regular"],"subsets":["latin"]},"Meie Script":{"family":"Meie Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Merienda":{"family":"Merienda","category":"handwriting","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Merienda One":{"family":"Merienda One","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Merriweather":{"family":"Merriweather","category":"serif","variants":["300","300italic","regular","italic","700","700italic","900","900italic"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Merriweather Sans":{"family":"Merriweather Sans","category":"sans-serif","variants":["300","300italic","regular","italic","700","700italic","800","800italic"],"subsets":["latin-ext","latin"]},"Metal":{"family":"Metal","category":"display","variants":["regular"],"subsets":["khmer"]},"Metal Mania":{"family":"Metal Mania","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Metamorphous":{"family":"Metamorphous","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Metrophobic":{"family":"Metrophobic","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Michroma":{"family":"Michroma","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Milonga":{"family":"Milonga","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Miltonian":{"family":"Miltonian","category":"display","variants":["regular"],"subsets":["latin"]},"Miltonian Tattoo":{"family":"Miltonian Tattoo","category":"display","variants":["regular"],"subsets":["latin"]},"Mina":{"family":"Mina","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","latin","bengali"]},"Miniver":{"family":"Miniver","category":"display","variants":["regular"],"subsets":["latin"]},"Miriam Libre":{"family":"Miriam Libre","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","latin","hebrew"]},"Mirza":{"family":"Mirza","category":"display","variants":["regular","500","600","700"],"subsets":["latin-ext","latin","arabic"]},"Miss Fajardose":{"family":"Miss Fajardose","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Mitr":{"family":"Mitr","category":"sans-serif","variants":["200","300","regular","500","600","700"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Modak":{"family":"Modak","category":"display","variants":["regular"],"subsets":["latin-ext","latin","devanagari"]},"Modern Antiqua":{"family":"Modern Antiqua","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Mogra":{"family":"Mogra","category":"display","variants":["regular"],"subsets":["latin-ext","latin","gujarati"]},"Molengo":{"family":"Molengo","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Molle":{"family":"Molle","category":"handwriting","variants":["italic"],"subsets":["latin-ext","latin"]},"Monda":{"family":"Monda","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Monofett":{"family":"Monofett","category":"display","variants":["regular"],"subsets":["latin"]},"Monoton":{"family":"Monoton","category":"display","variants":["regular"],"subsets":["latin"]},"Monsieur La Doulaise":{"family":"Monsieur La Doulaise","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Montaga":{"family":"Montaga","category":"serif","variants":["regular"],"subsets":["latin"]},"Montez":{"family":"Montez","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Montserrat":{"family":"Montserrat","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Montserrat Alternates":{"family":"Montserrat Alternates","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Montserrat Subrayada":{"family":"Montserrat Subrayada","category":"sans-serif","variants":["regular","700"],"subsets":["latin"]},"Moul":{"family":"Moul","category":"display","variants":["regular"],"subsets":["khmer"]},"Moulpali":{"family":"Moulpali","category":"display","variants":["regular"],"subsets":["khmer"]},"Mountains of Christmas":{"family":"Mountains of Christmas","category":"display","variants":["regular","700"],"subsets":["latin"]},"Mouse Memoirs":{"family":"Mouse Memoirs","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Mr Bedfort":{"family":"Mr Bedfort","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Mr Dafoe":{"family":"Mr Dafoe","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Mr De Haviland":{"family":"Mr De Haviland","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Mrs Saint Delafield":{"family":"Mrs Saint Delafield","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Mrs Sheppards":{"family":"Mrs Sheppards","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Mukta":{"family":"Mukta","category":"sans-serif","variants":["200","300","regular","500","600","700","800"],"subsets":["latin-ext","latin","devanagari"]},"Mukta Mahee":{"family":"Mukta Mahee","category":"sans-serif","variants":["200","300","regular","500","600","700","800"],"subsets":["latin-ext","latin","gurmukhi"]},"Mukta Malar":{"family":"Mukta Malar","category":"sans-serif","variants":["200","300","regular","500","600","700","800"],"subsets":["latin-ext","latin","tamil"]},"Mukta Vaani":{"family":"Mukta Vaani","category":"sans-serif","variants":["200","300","regular","500","600","700","800"],"subsets":["latin-ext","latin","gujarati"]},"Muli":{"family":"Muli","category":"sans-serif","variants":["200","300","regular","500","600","700","800","900","200italic","300italic","italic","500italic","600italic","700italic","800italic","900italic"],"subsets":["latin-ext","latin","vietnamese"]},"Mystery Quest":{"family":"Mystery Quest","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"NTR":{"family":"NTR","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Nanum Brush Script":{"family":"Nanum Brush Script","category":"handwriting","variants":["regular"],"subsets":["latin","korean"]},"Nanum Gothic":{"family":"Nanum Gothic","category":"sans-serif","variants":["regular","700","800"],"subsets":["latin","korean"]},"Nanum Gothic Coding":{"family":"Nanum Gothic Coding","category":"monospace","variants":["regular","700"],"subsets":["latin","korean"]},"Nanum Myeongjo":{"family":"Nanum Myeongjo","category":"serif","variants":["regular","700","800"],"subsets":["latin","korean"]},"Nanum Pen Script":{"family":"Nanum Pen Script","category":"handwriting","variants":["regular"],"subsets":["latin","korean"]},"Neucha":{"family":"Neucha","category":"handwriting","variants":["regular"],"subsets":["latin","cyrillic"]},"Neuton":{"family":"Neuton","category":"serif","variants":["200","300","regular","italic","700","800"],"subsets":["latin-ext","latin"]},"New Rocker":{"family":"New Rocker","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"News Cycle":{"family":"News Cycle","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Niconne":{"family":"Niconne","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Niramit":{"family":"Niramit","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Nixie One":{"family":"Nixie One","category":"display","variants":["regular"],"subsets":["latin"]},"Nobile":{"family":"Nobile","category":"sans-serif","variants":["regular","italic","500","500italic","700","700italic"],"subsets":["latin-ext","latin"]},"Nokora":{"family":"Nokora","category":"serif","variants":["regular","700"],"subsets":["khmer"]},"Norican":{"family":"Norican","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Nosifer":{"family":"Nosifer","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Notable":{"family":"Notable","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Nothing You Could Do":{"family":"Nothing You Could Do","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Noticia Text":{"family":"Noticia Text","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin","vietnamese"]},"Noto Sans":{"family":"Noto Sans","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","devanagari","vietnamese","cyrillic"]},"Noto Sans HK":{"family":"Noto Sans HK","category":"sans-serif","variants":["100","300","regular","500","700","900"],"subsets":["latin","chinese-hongkong"]},"Noto Sans JP":{"family":"Noto Sans JP","category":"sans-serif","variants":["100","300","regular","500","700","900"],"subsets":["japanese","latin"]},"Noto Sans KR":{"family":"Noto Sans KR","category":"sans-serif","variants":["100","300","regular","500","700","900"],"subsets":["latin","korean"]},"Noto Sans SC":{"family":"Noto Sans SC","category":"sans-serif","variants":["100","300","regular","500","700","900"],"subsets":["latin","chinese-simplified"]},"Noto Sans TC":{"family":"Noto Sans TC","category":"sans-serif","variants":["100","300","regular","500","700","900"],"subsets":["latin","chinese-traditional"]},"Noto Serif":{"family":"Noto Serif","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Noto Serif JP":{"family":"Noto Serif JP","category":"serif","variants":["200","300","regular","500","600","700","900"],"subsets":["japanese","latin"]},"Noto Serif KR":{"family":"Noto Serif KR","category":"serif","variants":["200","300","regular","500","600","700","900"],"subsets":["latin","korean"]},"Noto Serif SC":{"family":"Noto Serif SC","category":"serif","variants":["200","300","regular","500","600","700","900"],"subsets":["latin","chinese-simplified"]},"Noto Serif TC":{"family":"Noto Serif TC","category":"serif","variants":["200","300","regular","500","600","700","900"],"subsets":["latin","chinese-traditional"]},"Nova Cut":{"family":"Nova Cut","category":"display","variants":["regular"],"subsets":["latin"]},"Nova Flat":{"family":"Nova Flat","category":"display","variants":["regular"],"subsets":["latin"]},"Nova Mono":{"family":"Nova Mono","category":"monospace","variants":["regular"],"subsets":["latin","greek"]},"Nova Oval":{"family":"Nova Oval","category":"display","variants":["regular"],"subsets":["latin"]},"Nova Round":{"family":"Nova Round","category":"display","variants":["regular"],"subsets":["latin"]},"Nova Script":{"family":"Nova Script","category":"display","variants":["regular"],"subsets":["latin"]},"Nova Slim":{"family":"Nova Slim","category":"display","variants":["regular"],"subsets":["latin"]},"Nova Square":{"family":"Nova Square","category":"display","variants":["regular"],"subsets":["latin"]},"Numans":{"family":"Numans","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Nunito":{"family":"Nunito","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Nunito Sans":{"family":"Nunito Sans","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin","vietnamese"]},"Odibee Sans":{"family":"Odibee Sans","category":"display","variants":["regular"],"subsets":["latin"]},"Odor Mean Chey":{"family":"Odor Mean Chey","category":"display","variants":["regular"],"subsets":["khmer"]},"Offside":{"family":"Offside","category":"display","variants":["regular"],"subsets":["latin"]},"Old Standard TT":{"family":"Old Standard TT","category":"serif","variants":["regular","italic","700"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Oldenburg":{"family":"Oldenburg","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Oleo Script":{"family":"Oleo Script","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Oleo Script Swash Caps":{"family":"Oleo Script Swash Caps","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Open Sans":{"family":"Open Sans","category":"sans-serif","variants":["300","300italic","regular","italic","600","600italic","700","700italic","800","800italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Open Sans Condensed":{"family":"Open Sans Condensed","category":"sans-serif","variants":["300","300italic","700"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Oranienbaum":{"family":"Oranienbaum","category":"serif","variants":["regular"],"subsets":["latin-ext","cyrillic-ext","latin","cyrillic"]},"Orbitron":{"family":"Orbitron","category":"sans-serif","variants":["regular","500","600","700","800","900"],"subsets":["latin"]},"Oregano":{"family":"Oregano","category":"display","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Orienta":{"family":"Orienta","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Original Surfer":{"family":"Original Surfer","category":"display","variants":["regular"],"subsets":["latin"]},"Oswald":{"family":"Oswald","category":"sans-serif","variants":["200","300","regular","500","600","700"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Over the Rainbow":{"family":"Over the Rainbow","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Overlock":{"family":"Overlock","category":"display","variants":["regular","italic","700","700italic","900","900italic"],"subsets":["latin-ext","latin"]},"Overlock SC":{"family":"Overlock SC","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Overpass":{"family":"Overpass","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin"]},"Overpass Mono":{"family":"Overpass Mono","category":"monospace","variants":["300","regular","600","700"],"subsets":["latin-ext","latin"]},"Ovo":{"family":"Ovo","category":"serif","variants":["regular"],"subsets":["latin"]},"Oxanium":{"family":"Oxanium","category":"display","variants":["200","300","regular","500","600","700","800"],"subsets":["latin-ext","latin"]},"Oxygen":{"family":"Oxygen","category":"sans-serif","variants":["300","regular","700"],"subsets":["latin-ext","latin"]},"Oxygen Mono":{"family":"Oxygen Mono","category":"monospace","variants":["regular"],"subsets":["latin-ext","latin"]},"PT Mono":{"family":"PT Mono","category":"monospace","variants":["regular"],"subsets":["latin-ext","cyrillic-ext","latin","cyrillic"]},"PT Sans":{"family":"PT Sans","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","cyrillic-ext","latin","cyrillic"]},"PT Sans Caption":{"family":"PT Sans Caption","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","cyrillic-ext","latin","cyrillic"]},"PT Sans Narrow":{"family":"PT Sans Narrow","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","cyrillic-ext","latin","cyrillic"]},"PT Serif":{"family":"PT Serif","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","cyrillic-ext","latin","cyrillic"]},"PT Serif Caption":{"family":"PT Serif Caption","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","cyrillic-ext","latin","cyrillic"]},"Pacifico":{"family":"Pacifico","category":"handwriting","variants":["regular"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Padauk":{"family":"Padauk","category":"sans-serif","variants":["regular","700"],"subsets":["latin","myanmar"]},"Palanquin":{"family":"Palanquin","category":"sans-serif","variants":["100","200","300","regular","500","600","700"],"subsets":["latin-ext","latin","devanagari"]},"Palanquin Dark":{"family":"Palanquin Dark","category":"sans-serif","variants":["regular","500","600","700"],"subsets":["latin-ext","latin","devanagari"]},"Pangolin":{"family":"Pangolin","category":"handwriting","variants":["regular"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Paprika":{"family":"Paprika","category":"display","variants":["regular"],"subsets":["latin"]},"Parisienne":{"family":"Parisienne","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Passero One":{"family":"Passero One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Passion One":{"family":"Passion One","category":"display","variants":["regular","700","900"],"subsets":["latin-ext","latin"]},"Pathway Gothic One":{"family":"Pathway Gothic One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Patrick Hand":{"family":"Patrick Hand","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Patrick Hand SC":{"family":"Patrick Hand SC","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Pattaya":{"family":"Pattaya","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","thai","latin","vietnamese","cyrillic"]},"Patua One":{"family":"Patua One","category":"display","variants":["regular"],"subsets":["latin"]},"Pavanam":{"family":"Pavanam","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","tamil"]},"Paytone One":{"family":"Paytone One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Peddana":{"family":"Peddana","category":"serif","variants":["regular"],"subsets":["telugu","latin"]},"Peralta":{"family":"Peralta","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Permanent Marker":{"family":"Permanent Marker","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Petit Formal Script":{"family":"Petit Formal Script","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Petrona":{"family":"Petrona","category":"serif","variants":["regular"],"subsets":["latin"]},"Philosopher":{"family":"Philosopher","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["cyrillic-ext","latin","vietnamese","cyrillic"]},"Piedra":{"family":"Piedra","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Pinyon Script":{"family":"Pinyon Script","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Pirata One":{"family":"Pirata One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Plaster":{"family":"Plaster","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Play":{"family":"Play","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Playball":{"family":"Playball","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Playfair Display":{"family":"Playfair Display","category":"serif","variants":["regular","500","600","700","800","900","italic","500italic","600italic","700italic","800italic","900italic"],"subsets":["latin-ext","latin","vietnamese","cyrillic"]},"Playfair Display SC":{"family":"Playfair Display SC","category":"serif","variants":["regular","italic","700","700italic","900","900italic"],"subsets":["latin-ext","latin","vietnamese","cyrillic"]},"Podkova":{"family":"Podkova","category":"serif","variants":["regular","500","600","700","800"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Poiret One":{"family":"Poiret One","category":"display","variants":["regular"],"subsets":["latin-ext","latin","cyrillic"]},"Poller One":{"family":"Poller One","category":"display","variants":["regular"],"subsets":["latin"]},"Poly":{"family":"Poly","category":"serif","variants":["regular","italic"],"subsets":["latin"]},"Pompiere":{"family":"Pompiere","category":"display","variants":["regular"],"subsets":["latin"]},"Pontano Sans":{"family":"Pontano Sans","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Poor Story":{"family":"Poor Story","category":"display","variants":["regular"],"subsets":["latin","korean"]},"Poppins":{"family":"Poppins","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin","devanagari"]},"Port Lligat Sans":{"family":"Port Lligat Sans","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Port Lligat Slab":{"family":"Port Lligat Slab","category":"serif","variants":["regular"],"subsets":["latin"]},"Pragati Narrow":{"family":"Pragati Narrow","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","latin","devanagari"]},"Prata":{"family":"Prata","category":"serif","variants":["regular"],"subsets":["cyrillic-ext","latin","vietnamese","cyrillic"]},"Preahvihear":{"family":"Preahvihear","category":"display","variants":["regular"],"subsets":["khmer"]},"Press Start 2P":{"family":"Press Start 2P","category":"display","variants":["regular"],"subsets":["latin-ext","cyrillic-ext","latin","greek","cyrillic"]},"Pridi":{"family":"Pridi","category":"serif","variants":["200","300","regular","500","600","700"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Princess Sofia":{"family":"Princess Sofia","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Prociono":{"family":"Prociono","category":"serif","variants":["regular"],"subsets":["latin"]},"Prompt":{"family":"Prompt","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Prosto One":{"family":"Prosto One","category":"display","variants":["regular"],"subsets":["latin-ext","latin","cyrillic"]},"Proza Libre":{"family":"Proza Libre","category":"sans-serif","variants":["regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["latin-ext","latin"]},"Public Sans":{"family":"Public Sans","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900","100italic","200italic","300italic","italic","500italic","600italic","700italic","800italic","900italic"],"subsets":["latin-ext","latin"]},"Puritan":{"family":"Puritan","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Purple Purse":{"family":"Purple Purse","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Quando":{"family":"Quando","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Quantico":{"family":"Quantico","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Quattrocento":{"family":"Quattrocento","category":"serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Quattrocento Sans":{"family":"Quattrocento Sans","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Questrial":{"family":"Questrial","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Quicksand":{"family":"Quicksand","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin","vietnamese"]},"Quintessential":{"family":"Quintessential","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Qwigley":{"family":"Qwigley","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Racing Sans One":{"family":"Racing Sans One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Radley":{"family":"Radley","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Rajdhani":{"family":"Rajdhani","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin","devanagari"]},"Rakkas":{"family":"Rakkas","category":"display","variants":["regular"],"subsets":["latin-ext","latin","arabic"]},"Raleway":{"family":"Raleway","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin"]},"Raleway Dots":{"family":"Raleway Dots","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Ramabhadra":{"family":"Ramabhadra","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Ramaraja":{"family":"Ramaraja","category":"serif","variants":["regular"],"subsets":["telugu","latin"]},"Rambla":{"family":"Rambla","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Rammetto One":{"family":"Rammetto One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Ranchers":{"family":"Ranchers","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Rancho":{"family":"Rancho","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Ranga":{"family":"Ranga","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin","devanagari"]},"Rasa":{"family":"Rasa","category":"serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin","gujarati"]},"Rationale":{"family":"Rationale","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Ravi Prakash":{"family":"Ravi Prakash","category":"display","variants":["regular"],"subsets":["telugu","latin"]},"Red Hat Display":{"family":"Red Hat Display","category":"sans-serif","variants":["regular","italic","500","500italic","700","700italic","900","900italic"],"subsets":["latin-ext","latin"]},"Red Hat Text":{"family":"Red Hat Text","category":"sans-serif","variants":["regular","italic","500","500italic","700","700italic"],"subsets":["latin-ext","latin"]},"Redressed":{"family":"Redressed","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Reem Kufi":{"family":"Reem Kufi","category":"sans-serif","variants":["regular"],"subsets":["latin","arabic"]},"Reenie Beanie":{"family":"Reenie Beanie","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Revalia":{"family":"Revalia","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Rhodium Libre":{"family":"Rhodium Libre","category":"serif","variants":["regular"],"subsets":["latin-ext","latin","devanagari"]},"Ribeye":{"family":"Ribeye","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Ribeye Marrow":{"family":"Ribeye Marrow","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Righteous":{"family":"Righteous","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Risque":{"family":"Risque","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Roboto":{"family":"Roboto","category":"sans-serif","variants":["100","100italic","300","300italic","regular","italic","500","500italic","700","700italic","900","900italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Roboto Condensed":{"family":"Roboto Condensed","category":"sans-serif","variants":["300","300italic","regular","italic","700","700italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Roboto Mono":{"family":"Roboto Mono","category":"monospace","variants":["100","100italic","300","300italic","regular","italic","500","500italic","700","700italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Roboto Slab":{"family":"Roboto Slab","category":"serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Rochester":{"family":"Rochester","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Rock Salt":{"family":"Rock Salt","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Rokkitt":{"family":"Rokkitt","category":"serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin","vietnamese"]},"Romanesco":{"family":"Romanesco","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Ropa Sans":{"family":"Ropa Sans","category":"sans-serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Rosario":{"family":"Rosario","category":"sans-serif","variants":["300","regular","500","600","700","300italic","italic","500italic","600italic","700italic"],"subsets":["latin-ext","latin","vietnamese"]},"Rosarivo":{"family":"Rosarivo","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Rouge Script":{"family":"Rouge Script","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Rozha One":{"family":"Rozha One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin","devanagari"]},"Rubik":{"family":"Rubik","category":"sans-serif","variants":["300","300italic","regular","italic","500","500italic","700","700italic","900","900italic"],"subsets":["latin-ext","latin","hebrew","cyrillic"]},"Rubik Mono One":{"family":"Rubik Mono One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","cyrillic"]},"Ruda":{"family":"Ruda","category":"sans-serif","variants":["regular","500","600","700","800","900"],"subsets":["latin-ext","latin","vietnamese","cyrillic"]},"Rufina":{"family":"Rufina","category":"serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Ruge Boogie":{"family":"Ruge Boogie","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Ruluko":{"family":"Ruluko","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Rum Raisin":{"family":"Rum Raisin","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Ruslan Display":{"family":"Ruslan Display","category":"display","variants":["regular"],"subsets":["latin-ext","latin","cyrillic"]},"Russo One":{"family":"Russo One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","cyrillic"]},"Ruthie":{"family":"Ruthie","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Rye":{"family":"Rye","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Sacramento":{"family":"Sacramento","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Sahitya":{"family":"Sahitya","category":"serif","variants":["regular","700"],"subsets":["latin","devanagari"]},"Sail":{"family":"Sail","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Saira":{"family":"Saira","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin","vietnamese"]},"Saira Condensed":{"family":"Saira Condensed","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin","vietnamese"]},"Saira Extra Condensed":{"family":"Saira Extra Condensed","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin","vietnamese"]},"Saira Semi Condensed":{"family":"Saira Semi Condensed","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin","vietnamese"]},"Saira Stencil One":{"family":"Saira Stencil One","category":"display","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Salsa":{"family":"Salsa","category":"display","variants":["regular"],"subsets":["latin"]},"Sanchez":{"family":"Sanchez","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Sancreek":{"family":"Sancreek","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Sansita":{"family":"Sansita","category":"sans-serif","variants":["regular","italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin"]},"Sarabun":{"family":"Sarabun","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Sarala":{"family":"Sarala","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","latin","devanagari"]},"Sarina":{"family":"Sarina","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Sarpanch":{"family":"Sarpanch","category":"sans-serif","variants":["regular","500","600","700","800","900"],"subsets":["latin-ext","latin","devanagari"]},"Satisfy":{"family":"Satisfy","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Sawarabi Gothic":{"family":"Sawarabi Gothic","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","japanese","latin","vietnamese","cyrillic"]},"Sawarabi Mincho":{"family":"Sawarabi Mincho","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","japanese","latin"]},"Scada":{"family":"Scada","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","cyrillic-ext","latin","cyrillic"]},"Scheherazade":{"family":"Scheherazade","category":"serif","variants":["regular","700"],"subsets":["latin","arabic"]},"Schoolbell":{"family":"Schoolbell","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Scope One":{"family":"Scope One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Seaweed Script":{"family":"Seaweed Script","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Secular One":{"family":"Secular One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","hebrew"]},"Sedgwick Ave":{"family":"Sedgwick Ave","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Sedgwick Ave Display":{"family":"Sedgwick Ave Display","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Sen":{"family":"Sen","category":"sans-serif","variants":["regular","700","800"],"subsets":["latin-ext","latin"]},"Sevillana":{"family":"Sevillana","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Seymour One":{"family":"Seymour One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","cyrillic"]},"Shadows Into Light":{"family":"Shadows Into Light","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Shadows Into Light Two":{"family":"Shadows Into Light Two","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Shanti":{"family":"Shanti","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Share":{"family":"Share","category":"display","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"Share Tech":{"family":"Share Tech","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Share Tech Mono":{"family":"Share Tech Mono","category":"monospace","variants":["regular"],"subsets":["latin"]},"Shojumaru":{"family":"Shojumaru","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Short Stack":{"family":"Short Stack","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Shrikhand":{"family":"Shrikhand","category":"display","variants":["regular"],"subsets":["latin-ext","latin","gujarati"]},"Siemreap":{"family":"Siemreap","category":"display","variants":["regular"],"subsets":["khmer"]},"Sigmar One":{"family":"Sigmar One","category":"display","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Signika":{"family":"Signika","category":"sans-serif","variants":["300","regular","600","700"],"subsets":["latin-ext","latin"]},"Signika Negative":{"family":"Signika Negative","category":"sans-serif","variants":["300","regular","600","700"],"subsets":["latin-ext","latin"]},"Simonetta":{"family":"Simonetta","category":"display","variants":["regular","italic","900","900italic"],"subsets":["latin-ext","latin"]},"Single Day":{"family":"Single Day","category":"display","variants":["regular"],"subsets":["korean"]},"Sintony":{"family":"Sintony","category":"sans-serif","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Sirin Stencil":{"family":"Sirin Stencil","category":"display","variants":["regular"],"subsets":["latin"]},"Six Caps":{"family":"Six Caps","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Skranji":{"family":"Skranji","category":"display","variants":["regular","700"],"subsets":["latin-ext","latin"]},"Slabo 13px":{"family":"Slabo 13px","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Slabo 27px":{"family":"Slabo 27px","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Slackey":{"family":"Slackey","category":"display","variants":["regular"],"subsets":["latin"]},"Smokum":{"family":"Smokum","category":"display","variants":["regular"],"subsets":["latin"]},"Smythe":{"family":"Smythe","category":"display","variants":["regular"],"subsets":["latin"]},"Sniglet":{"family":"Sniglet","category":"display","variants":["regular","800"],"subsets":["latin-ext","latin"]},"Snippet":{"family":"Snippet","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Snowburst One":{"family":"Snowburst One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Sofadi One":{"family":"Sofadi One","category":"display","variants":["regular"],"subsets":["latin"]},"Sofia":{"family":"Sofia","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Solway":{"family":"Solway","category":"serif","variants":["300","regular","500","700","800"],"subsets":["latin"]},"Song Myung":{"family":"Song Myung","category":"serif","variants":["regular"],"subsets":["latin","korean"]},"Sonsie One":{"family":"Sonsie One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Sorts Mill Goudy":{"family":"Sorts Mill Goudy","category":"serif","variants":["regular","italic"],"subsets":["latin-ext","latin"]},"Source Code Pro":{"family":"Source Code Pro","category":"monospace","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","900","900italic"],"subsets":["latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Source Sans Pro":{"family":"Source Sans Pro","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","600","600italic","700","700italic","900","900italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Source Serif Pro":{"family":"Source Serif Pro","category":"serif","variants":["regular","600","700"],"subsets":["latin-ext","latin"]},"Space Mono":{"family":"Space Mono","category":"monospace","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin","vietnamese"]},"Spartan":{"family":"Spartan","category":"sans-serif","variants":["100","200","300","regular","500","600","700","800","900"],"subsets":["latin-ext","latin"]},"Special Elite":{"family":"Special Elite","category":"display","variants":["regular"],"subsets":["latin"]},"Spectral":{"family":"Spectral","category":"serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["latin-ext","latin","vietnamese","cyrillic"]},"Spectral SC":{"family":"Spectral SC","category":"serif","variants":["200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic"],"subsets":["latin-ext","latin","vietnamese","cyrillic"]},"Spicy Rice":{"family":"Spicy Rice","category":"display","variants":["regular"],"subsets":["latin"]},"Spinnaker":{"family":"Spinnaker","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Spirax":{"family":"Spirax","category":"display","variants":["regular"],"subsets":["latin"]},"Squada One":{"family":"Squada One","category":"display","variants":["regular"],"subsets":["latin"]},"Sree Krushnadevaraya":{"family":"Sree Krushnadevaraya","category":"serif","variants":["regular"],"subsets":["telugu","latin"]},"Sriracha":{"family":"Sriracha","category":"handwriting","variants":["regular"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Srisakdi":{"family":"Srisakdi","category":"display","variants":["regular","700"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Staatliches":{"family":"Staatliches","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Stalemate":{"family":"Stalemate","category":"handwriting","variants":["regular"],"subsets":["latin-ext","latin"]},"Stalinist One":{"family":"Stalinist One","category":"display","variants":["regular"],"subsets":["latin-ext","latin","cyrillic"]},"Stardos Stencil":{"family":"Stardos Stencil","category":"display","variants":["regular","700"],"subsets":["latin"]},"Stint Ultra Condensed":{"family":"Stint Ultra Condensed","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Stint Ultra Expanded":{"family":"Stint Ultra Expanded","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Stoke":{"family":"Stoke","category":"serif","variants":["300","regular"],"subsets":["latin-ext","latin"]},"Strait":{"family":"Strait","category":"sans-serif","variants":["regular"],"subsets":["latin"]},"Stylish":{"family":"Stylish","category":"sans-serif","variants":["regular"],"subsets":["latin","korean"]},"Sue Ellen Francisco":{"family":"Sue Ellen Francisco","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Suez One":{"family":"Suez One","category":"serif","variants":["regular"],"subsets":["latin-ext","latin","hebrew"]},"Sulphur Point":{"family":"Sulphur Point","category":"sans-serif","variants":["300","regular","700"],"subsets":["latin-ext","latin"]},"Sumana":{"family":"Sumana","category":"serif","variants":["regular","700"],"subsets":["latin-ext","latin","devanagari"]},"Sunflower":{"family":"Sunflower","category":"sans-serif","variants":["300","500","700"],"subsets":["latin","korean"]},"Sunshiney":{"family":"Sunshiney","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Supermercado One":{"family":"Supermercado One","category":"display","variants":["regular"],"subsets":["latin"]},"Sura":{"family":"Sura","category":"serif","variants":["regular","700"],"subsets":["latin-ext","latin","devanagari"]},"Suranna":{"family":"Suranna","category":"serif","variants":["regular"],"subsets":["telugu","latin"]},"Suravaram":{"family":"Suravaram","category":"serif","variants":["regular"],"subsets":["telugu","latin"]},"Suwannaphum":{"family":"Suwannaphum","category":"display","variants":["regular"],"subsets":["khmer"]},"Swanky and Moo Moo":{"family":"Swanky and Moo Moo","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Syncopate":{"family":"Syncopate","category":"sans-serif","variants":["regular","700"],"subsets":["latin"]},"Tajawal":{"family":"Tajawal","category":"sans-serif","variants":["200","300","regular","500","700","800","900"],"subsets":["latin","arabic"]},"Tangerine":{"family":"Tangerine","category":"handwriting","variants":["regular","700"],"subsets":["latin"]},"Taprom":{"family":"Taprom","category":"display","variants":["regular"],"subsets":["khmer"]},"Tauri":{"family":"Tauri","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Taviraj":{"family":"Taviraj","category":"serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Teko":{"family":"Teko","category":"sans-serif","variants":["300","regular","500","600","700"],"subsets":["latin-ext","latin","devanagari"]},"Telex":{"family":"Telex","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Tenali Ramakrishna":{"family":"Tenali Ramakrishna","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Tenor Sans":{"family":"Tenor Sans","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","cyrillic"]},"Text Me One":{"family":"Text Me One","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Thasadith":{"family":"Thasadith","category":"sans-serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","thai","latin","vietnamese"]},"The Girl Next Door":{"family":"The Girl Next Door","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Tienne":{"family":"Tienne","category":"serif","variants":["regular","700","900"],"subsets":["latin"]},"Tillana":{"family":"Tillana","category":"handwriting","variants":["regular","500","600","700","800"],"subsets":["latin-ext","latin","devanagari"]},"Timmana":{"family":"Timmana","category":"sans-serif","variants":["regular"],"subsets":["telugu","latin"]},"Tinos":{"family":"Tinos","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","hebrew","vietnamese","cyrillic"]},"Titan One":{"family":"Titan One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Titillium Web":{"family":"Titillium Web","category":"sans-serif","variants":["200","200italic","300","300italic","regular","italic","600","600italic","700","700italic","900"],"subsets":["latin-ext","latin"]},"Tomorrow":{"family":"Tomorrow","category":"sans-serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","latin"]},"Trade Winds":{"family":"Trade Winds","category":"display","variants":["regular"],"subsets":["latin"]},"Trirong":{"family":"Trirong","category":"serif","variants":["100","100italic","200","200italic","300","300italic","regular","italic","500","500italic","600","600italic","700","700italic","800","800italic","900","900italic"],"subsets":["latin-ext","thai","latin","vietnamese"]},"Trocchi":{"family":"Trocchi","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Trochut":{"family":"Trochut","category":"display","variants":["regular","italic","700"],"subsets":["latin"]},"Trykker":{"family":"Trykker","category":"serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Tulpen One":{"family":"Tulpen One","category":"display","variants":["regular"],"subsets":["latin"]},"Turret Road":{"family":"Turret Road","category":"display","variants":["200","300","regular","500","700","800"],"subsets":["latin-ext","latin"]},"Ubuntu":{"family":"Ubuntu","category":"sans-serif","variants":["300","300italic","regular","italic","500","500italic","700","700italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","cyrillic"]},"Ubuntu Condensed":{"family":"Ubuntu Condensed","category":"sans-serif","variants":["regular"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","cyrillic"]},"Ubuntu Mono":{"family":"Ubuntu Mono","category":"monospace","variants":["regular","italic","700","700italic"],"subsets":["greek-ext","latin-ext","cyrillic-ext","latin","greek","cyrillic"]},"Ultra":{"family":"Ultra","category":"serif","variants":["regular"],"subsets":["latin"]},"Uncial Antiqua":{"family":"Uncial Antiqua","category":"display","variants":["regular"],"subsets":["latin"]},"Underdog":{"family":"Underdog","category":"display","variants":["regular"],"subsets":["latin-ext","latin","cyrillic"]},"Unica One":{"family":"Unica One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"UnifrakturCook":{"family":"UnifrakturCook","category":"display","variants":["700"],"subsets":["latin"]},"UnifrakturMaguntia":{"family":"UnifrakturMaguntia","category":"display","variants":["regular"],"subsets":["latin"]},"Unkempt":{"family":"Unkempt","category":"display","variants":["regular","700"],"subsets":["latin"]},"Unlock":{"family":"Unlock","category":"display","variants":["regular"],"subsets":["latin"]},"Unna":{"family":"Unna","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin-ext","latin"]},"VT323":{"family":"VT323","category":"monospace","variants":["regular"],"subsets":["latin-ext","latin","vietnamese"]},"Vampiro One":{"family":"Vampiro One","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Varela":{"family":"Varela","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Varela Round":{"family":"Varela Round","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin","hebrew","vietnamese"]},"Vast Shadow":{"family":"Vast Shadow","category":"display","variants":["regular"],"subsets":["latin"]},"Vesper Libre":{"family":"Vesper Libre","category":"serif","variants":["regular","500","700","900"],"subsets":["latin-ext","latin","devanagari"]},"Viaoda Libre":{"family":"Viaoda Libre","category":"display","variants":["regular"],"subsets":["latin-ext","cyrillic-ext","latin","vietnamese","cyrillic"]},"Vibes":{"family":"Vibes","category":"display","variants":["regular"],"subsets":["latin","arabic"]},"Vibur":{"family":"Vibur","category":"handwriting","variants":["regular"],"subsets":["latin"]},"Vidaloka":{"family":"Vidaloka","category":"serif","variants":["regular"],"subsets":["latin"]},"Viga":{"family":"Viga","category":"sans-serif","variants":["regular"],"subsets":["latin-ext","latin"]},"Voces":{"family":"Voces","category":"display","variants":["regular"],"subsets":["latin-ext","latin"]},"Volkhov":{"family":"Volkhov","category":"serif","variants":["regular","italic","700","700italic"],"subsets":["latin"]},"Vollkorn":{"family":"Vollkorn","category":"serif","variants":["regular","italic","600","600italic","700","700italic","900","900italic"],"subsets":["latin-ext","cyrillic-ext","latin","greek","vietnamese","cyrillic"]},"Vollkorn SC":{"family":"Vollkorn SC","category":"serif","variants":