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 | 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
- css/customizer-rtl.css +1 -1
- css/customizer.css +1 -1
- customify.php +4 -4
- features/class-Font_Selector.php +0 -681
- features/customizer/class-Pix_Customize_Control.php +0 -3
- features/customizer/controls/class-Pix_Customize_Ace_Editor_Control.php +3 -4
- features/customizer/controls/class-Pix_Customize_Background_Control.php +68 -62
- features/customizer/controls/class-Pix_Customize_Button_Control.php +2 -5
- features/customizer/controls/class-Pix_Customize_CSS_Editor_Control.php +1 -2
- features/customizer/controls/class-Pix_Customize_Color_Control.php +0 -3
- features/customizer/controls/class-Pix_Customize_Font_Control.php +267 -610
- features/customizer/controls/class-Pix_Customize_HTML_Control.php +1 -4
- features/customizer/controls/class-Pix_Customize_Preset_Control.php +3 -13
- features/customizer/controls/class-Pix_Customize_Radio_HTML_Control.php +0 -2
- features/customizer/controls/class-Pix_Customize_Radio_Image_Control.php +0 -3
- features/customizer/controls/class-Pix_Customize_SM_palette_filter_control.php +12 -28
- features/customizer/controls/class-Pix_Customize_SM_radio_control.php +1 -3
- features/customizer/controls/class-Pix_Customize_SM_switch_control.php +0 -2
- features/customizer/controls/class-Pix_Customize_Select2_Control.php +1 -4
- features/customizer/controls/class-Pix_Customize_Text_Control.php +1 -9
- features/customizer/controls/class-Pix_Customize_Textarea_Control.php +1 -5
- features/customizer/controls/class-Pix_Customize_Typography_Control.php +0 -451
- features/customizer/controls/index.php +2 -0
- features/customizer/controls/resources/google.fonts.json +0 -1
- features/customizer/controls/resources/google.fonts.php +0 -8
- features/customizer/index.php +2 -0
- features/index.php +1 -2
- includes/admin-settings/core/callbacks/cache/invalidate_cache.php +5 -0
- includes/admin-settings/index.php +2 -0
- includes/admin-settings/views/form-partials/fields/multicheckbox.php +1 -1
- includes/admin-settings/views/form-partials/fields/reset_theme_mod.php +2 -35
- includes/{class-customify-gutenberg.php → class-customify-block-editor.php} +75 -58
- includes/class-customify-classic-editor.php +250 -0
- includes/class-customify-cloud-fonts.php +218 -0
- includes/class-customify-color-palettes.php +142 -35
- includes/class-customify-customizer.php +157 -570
- includes/class-customify-font-palettes.php +95 -123
- includes/class-customify-fonts-global.php +1719 -0
- includes/class-customify-settings.php +38 -14
- includes/class-customify-style-manager.php +44 -4
- includes/class-customify-theme-configs.php +1 -1
- includes/class-pixcustomify.php +49 -17
- includes/extras.php +2 -3
- includes/index.php +1 -2
- includes/integrations/index.php +2 -0
- includes/integrations/pixelgrade-care.php +1 -1
- includes/lib/class-customify-array.php +0 -1
- includes/lib/class-customify-design-assets.php +4 -6
- includes/lib/index.php +1 -2
- 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.
|
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.
|
16 |
-
* Requires PHP: 5.
|
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.
|
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
|
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( '
|
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 |
-
|
103 |
-
$this->
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
echo '<input type="hidden"
|
110 |
-
|
111 |
-
|
112 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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']
|
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"
|
164 |
-
|
|
|
|
|
|
|
|
|
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 . '-
|
184 |
-
|
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 . '-
|
205 |
-
|
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 . '-
|
225 |
-
|
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
|
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"
|
270 |
-
|
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
|
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 |
-
*
|
|
|
6 |
*/
|
7 |
class Pix_Customize_Font_Control extends Pix_Customize_Control {
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
public $type = 'font';
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
|
|
|
|
13 |
public $recommended = array();
|
14 |
-
public $current_value;
|
15 |
-
public $default;
|
16 |
-
public $fields;
|
17 |
|
18 |
-
|
|
|
|
|
|
|
|
|
|
|
19 |
|
20 |
-
|
|
|
|
|
|
|
|
|
|
|
21 |
|
22 |
-
|
|
|
|
|
|
|
|
|
|
|
23 |
|
24 |
-
|
|
|
|
|
|
|
|
|
|
|
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 |
-
|
90 |
-
|
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 |
-
*
|
|
|
|
|
|
|
100 |
*
|
101 |
-
* @
|
102 |
*/
|
103 |
-
public function
|
104 |
-
|
105 |
-
$
|
106 |
|
107 |
-
|
108 |
-
|
109 |
|
110 |
-
|
111 |
-
|
|
|
|
|
112 |
}
|
113 |
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
}
|
120 |
-
|
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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
|
127 |
-
//
|
128 |
$current_value = (object) $current_value;
|
129 |
|
130 |
-
$
|
131 |
if ( isset( $current_value->font_family ) ) {
|
132 |
-
$
|
133 |
}
|
134 |
|
135 |
-
$
|
136 |
-
if (
|
137 |
-
$
|
|
|
138 |
|
139 |
-
|
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( $
|
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-
|
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 |
-
|
|
|
|
|
160 |
|
161 |
-
do_action( '
|
162 |
|
163 |
-
|
|
|
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->
|
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->
|
181 |
|
182 |
-
$this->
|
|
|
|
|
183 |
|
184 |
-
$this->
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
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
|
270 |
-
|
271 |
<?php }
|
272 |
|
273 |
-
function display_field_title( $font_family, $
|
|
|
|
|
|
|
|
|
|
|
|
|
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 $
|
279 |
</label>
|
280 |
<?php }
|
281 |
|
282 |
-
function
|
283 |
-
//
|
284 |
-
|
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 |
-
//
|
319 |
-
|
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 =
|
329 |
-
if ( isset( $current_value->
|
330 |
-
$selected = $current_value->
|
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
|
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 (
|
346 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
347 |
$attrs = '';
|
348 |
-
|
|
|
349 |
$attrs = ' selected="selected"';
|
350 |
}
|
351 |
|
352 |
-
echo '<option value="' . esc_attr( $
|
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
|
363 |
-
|
364 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
|
|
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-
|
370 |
<?php
|
371 |
$selected = array();
|
372 |
if ( isset( $current_value->selected_subsets ) ) {
|
373 |
-
$selected = $current_value->selected_subsets;
|
374 |
}
|
375 |
|
376 |
-
if (
|
377 |
-
foreach ( $
|
378 |
-
|
379 |
if ( $subset === 'latin' ) {
|
380 |
continue;
|
381 |
}
|
382 |
|
383 |
$attrs = '';
|
384 |
-
if ( in_array( $subset,
|
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
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
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 |
-
|
437 |
-
|
438 |
-
|
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 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
|
|
|
|
473 |
}
|
474 |
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
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 |
-
|
516 |
-
|
517 |
-
|
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
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
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 |
-
|
546 |
-
|
547 |
-
|
548 |
-
<
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
<option <?php $this->display_option_value(
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
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 $
|
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
|
580 |
-
echo self::
|
581 |
}
|
582 |
|
583 |
/**
|
584 |
* This method returns an <option> tag from the given params
|
585 |
*
|
586 |
-
* @param string|array $
|
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
|
593 |
-
|
594 |
$html = '';
|
595 |
-
$font_family = false;
|
596 |
|
597 |
-
if
|
598 |
-
|
|
|
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 |
-
|
607 |
-
|
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( $
|
642 |
-
$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( $
|
655 |
|
656 |
-
$html .= '<option class="' . esc_attr( $option_class ) . '" value="' . esc_attr( $font_family ) . '" ' . $selected .
|
657 |
|
658 |
-
return apply_filters( 'customify_filter_font_option_markup', $html, $
|
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 |
-
|
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 ( !
|
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 |
-
$
|
731 |
}
|
732 |
|
733 |
-
//
|
734 |
-
// The second entry is the variants.
|
735 |
if ( isset( $this->default[1] ) ) {
|
736 |
-
$
|
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 |
-
|
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
|
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 |
-
|
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 |
-
*
|
|
|
|
|
820 |
*
|
821 |
-
* @
|
822 |
-
* @
|
|
|
|
|
|
|
823 |
*/
|
824 |
-
public function
|
825 |
-
|
826 |
-
if (
|
827 |
-
$
|
828 |
-
'
|
829 |
-
|
830 |
-
|
831 |
-
|
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
|
|
|
|
|
|
|
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 |
-
|
39 |
-
$master_color_controls_ids
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
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 |
-
|
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 |
-
|
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
|
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
|
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( '
|
15 |
|
16 |
-
class
|
17 |
|
18 |
/**
|
19 |
* Holds the only instance of this class.
|
20 |
-
* @var null|
|
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 |
-
|
|
|
123 |
|
124 |
// Styles on the front end.
|
125 |
-
add_action( '
|
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 |
-
|
|
|
|
|
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 =
|
156 |
-
$theme_slug =
|
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 =
|
187 |
-
$theme_slug =
|
188 |
|
189 |
-
$handle = 'wp-
|
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
|
216 |
-
|
|
|
|
|
217 |
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
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->
|
|
|
|
|
|
|
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[] = $
|
326 |
continue;
|
327 |
}
|
328 |
|
329 |
// We will let :root selectors be
|
330 |
if ( ':root' === $selector ) {
|
331 |
-
$new_selectors[] = $
|
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 |
-
$
|
338 |
-
$new_selectors[] =
|
|
|
|
|
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 |
-
$
|
|
|
346 |
}
|
347 |
|
348 |
-
$
|
|
|
349 |
}
|
350 |
|
351 |
-
return
|
352 |
}
|
353 |
|
354 |
/**
|
@@ -492,11 +510,11 @@ if ( ! class_exists( 'Customify_Gutenberg' ) ) {
|
|
492 |
}
|
493 |
|
494 |
/**
|
495 |
-
* Main
|
496 |
*
|
497 |
-
* Ensures only one instance of
|
498 |
*
|
499 |
-
* @return
|
500 |
* @since 2.2.0
|
501 |
* @static
|
502 |
*
|
@@ -508,7 +526,7 @@ if ( ! class_exists( 'Customify_Gutenberg' ) ) {
|
|
508 |
}
|
509 |
|
510 |
return self::$_instance;
|
511 |
-
}
|
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 |
-
|
85 |
-
|
86 |
-
wp_register_script( PixCustomifyPlugin()->get_slug() . '-color-palettes',
|
|
|
|
|
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 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
-
|
174 |
-
wp_register_script(
|
175 |
-
|
176 |
-
|
177 |
-
wp_register_script( '
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
'
|
182 |
-
'underscore',
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
-
|
|
|
|
|
|
|
198 |
}
|
199 |
|
200 |
/** Register Customizer scripts loaded only on previewer page */
|
201 |
function customizer_live_preview_register_scripts() {
|
202 |
-
|
203 |
-
|
204 |
-
wp_register_script( PixCustomifyPlugin()->get_slug() . '-
|
205 |
-
'
|
206 |
-
|
207 |
-
PixCustomifyPlugin()->
|
208 |
-
|
209 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 (
|
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 |
-
|
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 |
-
|
|
|
|
|
|
|
|
|
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
|
|
|
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'] =
|
1424 |
}
|
1425 |
|
1426 |
-
if ( isset( $field_config['
|
1427 |
-
$control_args['
|
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 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
-
|
86 |
-
|
87 |
-
|
88 |
-
'
|
89 |
-
PixCustomifyPlugin()->
|
90 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
|
|
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( $
|
199 |
// Determine if the new interval overlaps with this existing one.
|
200 |
-
if ( ! isset( $
|
201 |
// Since this interval is without end, there is nothing after it.
|
202 |
// We need to adjust the old interval end.
|
203 |
-
if ( $
|
204 |
-
$
|
205 |
} else {
|
206 |
if ( ! isset( $font_styles_interval['end'] ) ) {
|
207 |
// We need to delete the old interval altogether.
|
208 |
-
unset($
|
209 |
$i--;
|
210 |
continue;
|
211 |
} else {
|
212 |
// Adjust the old interval and insert in front of it.
|
213 |
-
$
|
214 |
-
$
|
215 |
break;
|
216 |
}
|
217 |
}
|
218 |
} else {
|
219 |
-
if ( $
|
220 |
// We need to shrink this interval and make room for the new interval.
|
221 |
-
$
|
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( $
|
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( $
|
234 |
-
if ( $
|
235 |
// We have an overlapping after-interval.
|
236 |
-
if ( ! isset( $
|
237 |
// Since this interval is without end, there is nothing after it.
|
238 |
-
$
|
239 |
break;
|
240 |
-
} elseif ( $
|
241 |
// We need to delete this interval since it is completely overwritten by the new one.
|
242 |
-
unset( $
|
243 |
$j --;
|
244 |
continue;
|
245 |
} else {
|
246 |
// The new interval partially overlaps with the old one. Adjust.
|
247 |
-
$
|
248 |
break;
|
249 |
}
|
250 |
} else {
|
@@ -254,40 +260,45 @@ class Customify_Font_Palettes {
|
|
254 |
}
|
255 |
|
256 |
// Insert the new interval.
|
257 |
-
array_splice( $
|
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( $
|
265 |
-
array_push( $
|
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( $
|
272 |
// The first interval should start at zero, just in case.
|
273 |
-
$
|
274 |
-
for( $i = 1; $i < count( $
|
275 |
// Extend the previous interval, just in case.
|
276 |
-
$
|
277 |
}
|
278 |
}
|
279 |
|
280 |
// The last interval should not have an end.
|
281 |
-
unset( $
|
282 |
|
283 |
// Finally, go through each font style and standardize it.
|
284 |
-
foreach( $
|
285 |
if ( isset( $value['letter_spacing'] ) ) {
|
286 |
-
|
|
|
|
|
|
|
|
|
|
|
287 |
}
|
288 |
}
|
289 |
|
290 |
-
$fonts_logic_config[ $font_setting_id ]['
|
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'] =
|
618 |
} else {
|
619 |
$value['font_size'] = false;
|
620 |
}
|
621 |
}
|
622 |
-
|
623 |
-
|
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 $
|
1263 |
*
|
1264 |
* @return array
|
1265 |
*/
|
1266 |
-
public function get_all_master_font_controls_ids( $
|
1267 |
-
$
|
1268 |
|
1269 |
-
if ( empty( $
|
1270 |
-
|
1271 |
}
|
1272 |
|
1273 |
-
|
1274 |
-
|
1275 |
-
|
|
|
|
|
|
|
|
|
1276 |
}
|
1277 |
}
|
1278 |
|
1279 |
-
return $
|
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 |
-
|
127 |
-
|
128 |
-
|
129 |
-
'
|
130 |
-
|
131 |
-
|
132 |
-
|
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
|
300 |
-
'desc' => esc_html__( 'Would you like
|
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
|
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 |
-
|
|
|
|
|
|
|
|
|
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 |
-
}
|
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-
|
9 |
*/
|
10 |
|
11 |
/**
|
12 |
-
*
|
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 |
-
*
|
74 |
-
* @var
|
75 |
* @access public
|
76 |
-
* @since 2.
|
77 |
*/
|
78 |
-
public $
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
94 |
|
95 |
protected function __construct( $file, $version = '1.0.0' ) {
|
96 |
-
//
|
97 |
$this->file = $file;
|
98 |
-
//
|
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
|
138 |
-
require_once( $this->get_base_path() . 'includes/class-customify-
|
139 |
-
if ( is_null( $this->
|
140 |
-
$this->
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
877 |
*
|
878 |
-
* @return
|
879 |
*/
|
880 |
public static function decodeURIComponent( $str ) {
|
881 |
-
//
|
|
|
|
|
|
|
|
|
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' => '
|
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' => '
|
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 |
-
|
134 |
-
|
135 |
-
|
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 |
-
}
|
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":
|